gitlab.com/CoiaPrant/sqlite3@v1.19.1/internal/testfixture/testfixture_windows_arm64.go (about)

     1  // Code generated by 'ccgo -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_SERIES_CONSTRAINT_VERIFY=1 -DSQLITE_SERVER=1 -DTCLSH_INIT_PROC=sqlite3TestInit -D_HAVE_SQLITE_CONFIG_H -I/usr/include/tcl8.6 -export-defines "" -export-fields F -ignore-unsupported-alignment -trace-translation-units -volatile=sqlite3_io_error_pending,sqlite3_open_file_count,sqlite3_pager_readdb_count,sqlite3_pager_writedb_count,sqlite3_pager_writej_count,sqlite3_search_count,sqlite3_sort_count,saved_cnt -lgitlab.com/CoiaPrant/sqlite3/libtest -lmodernc.org/tcl/lib -lmodernc.org/z/lib -o internal/testfixture/testfixture_windows_amd64.go -Itestdata/sqlite-src-3390300/ext/async -Itestdata/sqlite-src-3390300/ext/fts3 -Itestdata/sqlite-src-3390300/ext/icu -Itestdata/sqlite-src-3390300/ext/rtree -Itestdata/sqlite-src-3390300/ext/session -Itestdata/sqlite-src-3390300/ext/userauth -Itestdata/sqlite-src-3390300/src -Itestdata/sqlite-amalgamation-3390300 -Itestdata/sqlite-src-3390300 -full-path-comments testdata/sqlite-src-3390300/ext/expert/sqlite3expert.c testdata/sqlite-src-3390300/ext/expert/test_expert.c testdata/sqlite-src-3390300/ext/fts3/fts3_term.c testdata/sqlite-src-3390300/ext/fts3/fts3_test.c testdata/sqlite-src-3390300/ext/fts5/fts5_tcl.c testdata/sqlite-src-3390300/ext/fts5/fts5_test_mi.c testdata/sqlite-src-3390300/ext/fts5/fts5_test_tok.c testdata/sqlite-src-3390300/ext/misc/appendvfs.c testdata/sqlite-src-3390300/ext/misc/amatch.c testdata/sqlite-src-3390300/ext/misc/carray.c testdata/sqlite-src-3390300/ext/misc/cksumvfs.c testdata/sqlite-src-3390300/ext/misc/closure.c testdata/sqlite-src-3390300/ext/misc/csv.c testdata/sqlite-src-3390300/ext/misc/decimal.c testdata/sqlite-src-3390300/ext/misc/eval.c testdata/sqlite-src-3390300/ext/misc/explain.c testdata/sqlite-src-3390300/ext/misc/fileio.c testdata/sqlite-src-3390300/ext/misc/fuzzer.c testdata/sqlite-src-3390300/ext/misc/ieee754.c testdata/sqlite-src-3390300/ext/misc/mmapwarm.c testdata/sqlite-src-3390300/ext/misc/nextchar.c testdata/sqlite-src-3390300/ext/misc/normalize.c testdata/sqlite-src-3390300/ext/misc/percentile.c testdata/sqlite-src-3390300/ext/misc/prefixes.c testdata/sqlite-src-3390300/ext/misc/qpvtab.c testdata/sqlite-src-3390300/ext/misc/regexp.c testdata/sqlite-src-3390300/ext/misc/remember.c testdata/sqlite-src-3390300/ext/misc/series.c testdata/sqlite-src-3390300/ext/misc/spellfix.c testdata/sqlite-src-3390300/ext/misc/totype.c testdata/sqlite-src-3390300/ext/misc/unionvtab.c testdata/sqlite-src-3390300/ext/misc/wholenumber.c testdata/sqlite-src-3390300/ext/rbu/test_rbu.c testdata/sqlite-src-3390300/ext/rtree/test_rtreedoc.c testdata/sqlite-src-3390300/ext/session/test_session.c testdata/sqlite-src-3390300/ext/userauth/userauth.c testdata/sqlite-src-3390300/src/tclsqlite.c testdata/sqlite-src-3390300/src/test1.c testdata/sqlite-src-3390300/src/test2.c testdata/sqlite-src-3390300/src/test3.c testdata/sqlite-src-3390300/src/test4.c testdata/sqlite-src-3390300/src/test5.c testdata/sqlite-src-3390300/src/test6.c testdata/sqlite-src-3390300/src/test7.c testdata/sqlite-src-3390300/src/test8.c testdata/sqlite-src-3390300/src/test9.c testdata/sqlite-src-3390300/src/test_async.c testdata/sqlite-src-3390300/src/test_autoext.c testdata/sqlite-src-3390300/src/test_backup.c testdata/sqlite-src-3390300/src/test_bestindex.c testdata/sqlite-src-3390300/src/test_blob.c testdata/sqlite-src-3390300/src/test_btree.c testdata/sqlite-src-3390300/src/test_config.c testdata/sqlite-src-3390300/src/test_delete.c testdata/sqlite-src-3390300/src/test_demovfs.c testdata/sqlite-src-3390300/src/test_devsym.c testdata/sqlite-src-3390300/src/test_fs.c testdata/sqlite-src-3390300/src/test_func.c testdata/sqlite-src-3390300/src/test_hexio.c testdata/sqlite-src-3390300/src/test_init.c testdata/sqlite-src-3390300/src/test_intarray.c testdata/sqlite-src-3390300/src/test_journal.c testdata/sqlite-src-3390300/src/test_malloc.c testdata/sqlite-src-3390300/src/test_md5.c testdata/sqlite-src-3390300/src/test_multiplex.c testdata/sqlite-src-3390300/src/test_mutex.c testdata/sqlite-src-3390300/src/test_onefile.c testdata/sqlite-src-3390300/src/test_osinst.c testdata/sqlite-src-3390300/src/test_pcache.c testdata/sqlite-src-3390300/src/test_quota.c testdata/sqlite-src-3390300/src/test_rtree.c testdata/sqlite-src-3390300/src/test_schema.c testdata/sqlite-src-3390300/src/test_server.c testdata/sqlite-src-3390300/src/test_superlock.c testdata/sqlite-src-3390300/src/test_syscall.c testdata/sqlite-src-3390300/src/test_tclsh.c testdata/sqlite-src-3390300/src/test_tclvar.c testdata/sqlite-src-3390300/src/test_thread.c testdata/sqlite-src-3390300/src/test_vdbecov.c testdata/sqlite-src-3390300/src/test_vfs.c testdata/sqlite-src-3390300/src/test_windirent.c testdata/sqlite-src-3390300/src/test_window.c testdata/sqlite-src-3390300/src/test_wsd.c -DNDEBUG -DHAVE_USLEEP -DLONGDOUBLE_TYPE=double -DSQLITE_CKSUMVFS_STATIC -DSQLITE_CORE -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_PAGE_SIZE=1024 -DSQLITE_ENABLE_BYTECODE_VTAB -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_DESERIALIZE -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_GEOPOLY -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_MEMORY_MANAGEMENT -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_PREUPDATE_HOOK -DSQLITE_ENABLE_RBU -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_SNAPSHOT -DSQLITE_ENABLE_STAT4 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_ENABLE_UNLOCK_NOTIFY -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MUTEX_APPDEF=1 -DSQLITE_MUTEX_NOOP -DSQLITE_SOUNDEX -DSQLITE_TEMP_STORE=1 -DSQLITE_TEST -DSQLITE_THREADSAFE=1 -DSQLITE_OS_WIN=1 -D_MSC_VER=1900', DO NOT EDIT.
     2  
     3  package main
     4  
     5  import (
     6  	"math"
     7  	"reflect"
     8  	"sync/atomic"
     9  	"unsafe"
    10  
    11  	"modernc.org/libc"
    12  	"modernc.org/libc/sys/types"
    13  	"gitlab.com/CoiaPrant/sqlite3/libtest"
    14  	"modernc.org/tcl/lib"
    15  )
    16  
    17  var _ = math.Pi
    18  var _ reflect.Kind
    19  var _ atomic.Value
    20  var _ unsafe.Pointer
    21  var _ *libc.TLS
    22  var _ types.Size_t
    23  
    24  func main() { libc.Start(main1) }
    25  
    26  const (
    27  	BUFSIZ                                                                         = 512
    28  	EOF                                                                            = -1
    29  	EXPERT_CONFIG_SAMPLE                                                           = 1
    30  	EXPERT_REPORT_CANDIDATES                                                       = 4
    31  	EXPERT_REPORT_INDEXES                                                          = 2
    32  	EXPERT_REPORT_PLAN                                                             = 3
    33  	EXPERT_REPORT_SQL                                                              = 1
    34  	FILENAME_MAX                                                                   = 260
    35  	FOPEN_MAX                                                                      = 20
    36  	FTS5_TOKENIZE_AUX                                                              = 0x0008
    37  	FTS5_TOKENIZE_DOCUMENT                                                         = 0x0004
    38  	FTS5_TOKENIZE_PREFIX                                                           = 0x0002
    39  	FTS5_TOKENIZE_QUERY                                                            = 0x0001
    40  	FTS5_TOKEN_COLOCATED                                                           = 0x0001
    41  	FULLY_WITHIN                                                                   = 2
    42  	HAVE_USLEEP                                                                    = 1
    43  	IDX_HASH_SIZE                                                                  = 1023
    44  	MINGW_DDK_H                                                                    = 0
    45  	MINGW_HAS_DDK_H                                                                = 1
    46  	MINGW_HAS_SECURE_API                                                           = 1
    47  	MINGW_SDK_INIT                                                                 = 0
    48  	NDEBUG                                                                         = 1
    49  	NONAMELESSSTRUCT                                                               = 1
    50  	NONAMELESSUNION                                                                = 1
    51  	NOT_WITHIN                                                                     = 0
    52  	PARTLY_WITHIN                                                                  = 1
    53  	SEEK_CUR                                                                       = 1
    54  	SEEK_END                                                                       = 2
    55  	SEEK_SET                                                                       = 0
    56  	SQLITE3_H                                                                      = 0
    57  	SQLITE3_TEXT                                                                   = 3
    58  	SQLITEEXPERT_H                                                                 = 1
    59  	SQLITE_ABORT                                                                   = 4
    60  	SQLITE_ABORT_ROLLBACK                                                          = 516
    61  	SQLITE_ACCESS_EXISTS                                                           = 0
    62  	SQLITE_ACCESS_READ                                                             = 2
    63  	SQLITE_ACCESS_READWRITE                                                        = 1
    64  	SQLITE_ALTER_TABLE                                                             = 26
    65  	SQLITE_ANALYZE                                                                 = 28
    66  	SQLITE_ANY                                                                     = 5
    67  	SQLITE_API                                                                     = 0
    68  	SQLITE_APICALL                                                                 = 0
    69  	SQLITE_ATTACH                                                                  = 24
    70  	SQLITE_AUTH                                                                    = 23
    71  	SQLITE_AUTH_USER                                                               = 279
    72  	SQLITE_BLOB                                                                    = 4
    73  	SQLITE_BUSY                                                                    = 5
    74  	SQLITE_BUSY_RECOVERY                                                           = 261
    75  	SQLITE_BUSY_SNAPSHOT                                                           = 517
    76  	SQLITE_BUSY_TIMEOUT                                                            = 773
    77  	SQLITE_CALLBACK                                                                = 0
    78  	SQLITE_CANTOPEN                                                                = 14
    79  	SQLITE_CANTOPEN_CONVPATH                                                       = 1038
    80  	SQLITE_CANTOPEN_DIRTYWAL                                                       = 1294
    81  	SQLITE_CANTOPEN_FULLPATH                                                       = 782
    82  	SQLITE_CANTOPEN_ISDIR                                                          = 526
    83  	SQLITE_CANTOPEN_NOTEMPDIR                                                      = 270
    84  	SQLITE_CANTOPEN_SYMLINK                                                        = 1550
    85  	SQLITE_CDECL                                                                   = 0
    86  	SQLITE_CHANGESETAPPLY_INVERT                                                   = 0x0002
    87  	SQLITE_CHANGESETAPPLY_NOSAVEPOINT                                              = 0x0001
    88  	SQLITE_CHANGESETSTART_INVERT                                                   = 0x0002
    89  	SQLITE_CHANGESET_ABORT                                                         = 2
    90  	SQLITE_CHANGESET_CONFLICT                                                      = 3
    91  	SQLITE_CHANGESET_CONSTRAINT                                                    = 4
    92  	SQLITE_CHANGESET_DATA                                                          = 1
    93  	SQLITE_CHANGESET_FOREIGN_KEY                                                   = 5
    94  	SQLITE_CHANGESET_NOTFOUND                                                      = 2
    95  	SQLITE_CHANGESET_OMIT                                                          = 0
    96  	SQLITE_CHANGESET_REPLACE                                                       = 1
    97  	SQLITE_CHECKPOINT_FULL                                                         = 1
    98  	SQLITE_CHECKPOINT_PASSIVE                                                      = 0
    99  	SQLITE_CHECKPOINT_RESTART                                                      = 2
   100  	SQLITE_CHECKPOINT_TRUNCATE                                                     = 3
   101  	SQLITE_CKSUMVFS_STATIC                                                         = 1
   102  	SQLITE_CONFIG_COVERING_INDEX_SCAN                                              = 20
   103  	SQLITE_CONFIG_GETMALLOC                                                        = 5
   104  	SQLITE_CONFIG_GETMUTEX                                                         = 11
   105  	SQLITE_CONFIG_GETPCACHE                                                        = 15
   106  	SQLITE_CONFIG_GETPCACHE2                                                       = 19
   107  	SQLITE_CONFIG_HEAP                                                             = 8
   108  	SQLITE_CONFIG_LOG                                                              = 16
   109  	SQLITE_CONFIG_LOOKASIDE                                                        = 13
   110  	SQLITE_CONFIG_MALLOC                                                           = 4
   111  	SQLITE_CONFIG_MEMDB_MAXSIZE                                                    = 29
   112  	SQLITE_CONFIG_MEMSTATUS                                                        = 9
   113  	SQLITE_CONFIG_MMAP_SIZE                                                        = 22
   114  	SQLITE_CONFIG_MULTITHREAD                                                      = 2
   115  	SQLITE_CONFIG_MUTEX                                                            = 10
   116  	SQLITE_CONFIG_PAGECACHE                                                        = 7
   117  	SQLITE_CONFIG_PCACHE                                                           = 14
   118  	SQLITE_CONFIG_PCACHE2                                                          = 18
   119  	SQLITE_CONFIG_PCACHE_HDRSZ                                                     = 24
   120  	SQLITE_CONFIG_PMASZ                                                            = 25
   121  	SQLITE_CONFIG_SCRATCH                                                          = 6
   122  	SQLITE_CONFIG_SERIALIZED                                                       = 3
   123  	SQLITE_CONFIG_SINGLETHREAD                                                     = 1
   124  	SQLITE_CONFIG_SMALL_MALLOC                                                     = 27
   125  	SQLITE_CONFIG_SORTERREF_SIZE                                                   = 28
   126  	SQLITE_CONFIG_SQLLOG                                                           = 21
   127  	SQLITE_CONFIG_STMTJRNL_SPILL                                                   = 26
   128  	SQLITE_CONFIG_URI                                                              = 17
   129  	SQLITE_CONFIG_WIN32_HEAPSIZE                                                   = 23
   130  	SQLITE_CONSTRAINT                                                              = 19
   131  	SQLITE_CONSTRAINT_CHECK                                                        = 275
   132  	SQLITE_CONSTRAINT_COMMITHOOK                                                   = 531
   133  	SQLITE_CONSTRAINT_DATATYPE                                                     = 3091
   134  	SQLITE_CONSTRAINT_FOREIGNKEY                                                   = 787
   135  	SQLITE_CONSTRAINT_FUNCTION                                                     = 1043
   136  	SQLITE_CONSTRAINT_NOTNULL                                                      = 1299
   137  	SQLITE_CONSTRAINT_PINNED                                                       = 2835
   138  	SQLITE_CONSTRAINT_PRIMARYKEY                                                   = 1555
   139  	SQLITE_CONSTRAINT_ROWID                                                        = 2579
   140  	SQLITE_CONSTRAINT_TRIGGER                                                      = 1811
   141  	SQLITE_CONSTRAINT_UNIQUE                                                       = 2067
   142  	SQLITE_CONSTRAINT_VTAB                                                         = 2323
   143  	SQLITE_COPY                                                                    = 0
   144  	SQLITE_CORE                                                                    = 1
   145  	SQLITE_CORRUPT                                                                 = 11
   146  	SQLITE_CORRUPT_INDEX                                                           = 779
   147  	SQLITE_CORRUPT_SEQUENCE                                                        = 523
   148  	SQLITE_CORRUPT_VTAB                                                            = 267
   149  	SQLITE_CREATE_INDEX                                                            = 1
   150  	SQLITE_CREATE_TABLE                                                            = 2
   151  	SQLITE_CREATE_TEMP_INDEX                                                       = 3
   152  	SQLITE_CREATE_TEMP_TABLE                                                       = 4
   153  	SQLITE_CREATE_TEMP_TRIGGER                                                     = 5
   154  	SQLITE_CREATE_TEMP_VIEW                                                        = 6
   155  	SQLITE_CREATE_TRIGGER                                                          = 7
   156  	SQLITE_CREATE_VIEW                                                             = 8
   157  	SQLITE_CREATE_VTABLE                                                           = 29
   158  	SQLITE_DBCONFIG_DEFENSIVE                                                      = 1010
   159  	SQLITE_DBCONFIG_DQS_DDL                                                        = 1014
   160  	SQLITE_DBCONFIG_DQS_DML                                                        = 1013
   161  	SQLITE_DBCONFIG_ENABLE_FKEY                                                    = 1002
   162  	SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER                                          = 1004
   163  	SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION                                          = 1005
   164  	SQLITE_DBCONFIG_ENABLE_QPSG                                                    = 1007
   165  	SQLITE_DBCONFIG_ENABLE_TRIGGER                                                 = 1003
   166  	SQLITE_DBCONFIG_ENABLE_VIEW                                                    = 1015
   167  	SQLITE_DBCONFIG_LEGACY_ALTER_TABLE                                             = 1012
   168  	SQLITE_DBCONFIG_LEGACY_FILE_FORMAT                                             = 1016
   169  	SQLITE_DBCONFIG_LOOKASIDE                                                      = 1001
   170  	SQLITE_DBCONFIG_MAINDBNAME                                                     = 1000
   171  	SQLITE_DBCONFIG_MAX                                                            = 1017
   172  	SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE                                               = 1006
   173  	SQLITE_DBCONFIG_RESET_DATABASE                                                 = 1009
   174  	SQLITE_DBCONFIG_TRIGGER_EQP                                                    = 1008
   175  	SQLITE_DBCONFIG_TRUSTED_SCHEMA                                                 = 1017
   176  	SQLITE_DBCONFIG_WRITABLE_SCHEMA                                                = 1011
   177  	SQLITE_DBSTATUS_CACHE_HIT                                                      = 7
   178  	SQLITE_DBSTATUS_CACHE_MISS                                                     = 8
   179  	SQLITE_DBSTATUS_CACHE_SPILL                                                    = 12
   180  	SQLITE_DBSTATUS_CACHE_USED                                                     = 1
   181  	SQLITE_DBSTATUS_CACHE_USED_SHARED                                              = 11
   182  	SQLITE_DBSTATUS_CACHE_WRITE                                                    = 9
   183  	SQLITE_DBSTATUS_DEFERRED_FKS                                                   = 10
   184  	SQLITE_DBSTATUS_LOOKASIDE_HIT                                                  = 4
   185  	SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL                                            = 6
   186  	SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE                                            = 5
   187  	SQLITE_DBSTATUS_LOOKASIDE_USED                                                 = 0
   188  	SQLITE_DBSTATUS_MAX                                                            = 12
   189  	SQLITE_DBSTATUS_SCHEMA_USED                                                    = 2
   190  	SQLITE_DBSTATUS_STMT_USED                                                      = 3
   191  	SQLITE_DEFAULT_MEMSTATUS                                                       = 0
   192  	SQLITE_DEFAULT_PAGE_SIZE                                                       = 1024
   193  	SQLITE_DELETE                                                                  = 9
   194  	SQLITE_DENY                                                                    = 1
   195  	SQLITE_DEPRECATED                                                              = 0
   196  	SQLITE_DESERIALIZE_FREEONCLOSE                                                 = 1
   197  	SQLITE_DESERIALIZE_READONLY                                                    = 4
   198  	SQLITE_DESERIALIZE_RESIZEABLE                                                  = 2
   199  	SQLITE_DETACH                                                                  = 25
   200  	SQLITE_DETERMINISTIC                                                           = 0x000000800
   201  	SQLITE_DIRECTONLY                                                              = 0x000080000
   202  	SQLITE_DONE                                                                    = 101
   203  	SQLITE_DROP_INDEX                                                              = 10
   204  	SQLITE_DROP_TABLE                                                              = 11
   205  	SQLITE_DROP_TEMP_INDEX                                                         = 12
   206  	SQLITE_DROP_TEMP_TABLE                                                         = 13
   207  	SQLITE_DROP_TEMP_TRIGGER                                                       = 14
   208  	SQLITE_DROP_TEMP_VIEW                                                          = 15
   209  	SQLITE_DROP_TRIGGER                                                            = 16
   210  	SQLITE_DROP_VIEW                                                               = 17
   211  	SQLITE_DROP_VTABLE                                                             = 30
   212  	SQLITE_EMPTY                                                                   = 16
   213  	SQLITE_ENABLE_BYTECODE_VTAB                                                    = 1
   214  	SQLITE_ENABLE_COLUMN_METADATA                                                  = 1
   215  	SQLITE_ENABLE_DBPAGE_VTAB                                                      = 1
   216  	SQLITE_ENABLE_DBSTAT_VTAB                                                      = 1
   217  	SQLITE_ENABLE_DESERIALIZE                                                      = 1
   218  	SQLITE_ENABLE_EXPLAIN_COMMENTS                                                 = 1
   219  	SQLITE_ENABLE_FTS5                                                             = 1
   220  	SQLITE_ENABLE_GEOPOLY                                                          = 1
   221  	SQLITE_ENABLE_MATH_FUNCTIONS                                                   = 1
   222  	SQLITE_ENABLE_MEMORY_MANAGEMENT                                                = 1
   223  	SQLITE_ENABLE_OFFSET_SQL_FUNC                                                  = 1
   224  	SQLITE_ENABLE_PREUPDATE_HOOK                                                   = 1
   225  	SQLITE_ENABLE_RBU                                                              = 1
   226  	SQLITE_ENABLE_RTREE                                                            = 1
   227  	SQLITE_ENABLE_SESSION                                                          = 1
   228  	SQLITE_ENABLE_SNAPSHOT                                                         = 1
   229  	SQLITE_ENABLE_STAT4                                                            = 1
   230  	SQLITE_ENABLE_STMTVTAB                                                         = 1
   231  	SQLITE_ENABLE_UNLOCK_NOTIFY                                                    = 1
   232  	SQLITE_ERROR                                                                   = 1
   233  	SQLITE_ERROR_MISSING_COLLSEQ                                                   = 257
   234  	SQLITE_ERROR_RETRY                                                             = 513
   235  	SQLITE_ERROR_SNAPSHOT                                                          = 769
   236  	SQLITE_EXPERIMENTAL                                                            = 0
   237  	SQLITE_FAIL                                                                    = 3
   238  	SQLITE_FCNTL_BEGIN_ATOMIC_WRITE                                                = 31
   239  	SQLITE_FCNTL_BUSYHANDLER                                                       = 15
   240  	SQLITE_FCNTL_CHUNK_SIZE                                                        = 6
   241  	SQLITE_FCNTL_CKPT_DONE                                                         = 37
   242  	SQLITE_FCNTL_CKPT_START                                                        = 39
   243  	SQLITE_FCNTL_CKSM_FILE                                                         = 41
   244  	SQLITE_FCNTL_COMMIT_ATOMIC_WRITE                                               = 32
   245  	SQLITE_FCNTL_COMMIT_PHASETWO                                                   = 22
   246  	SQLITE_FCNTL_DATA_VERSION                                                      = 35
   247  	SQLITE_FCNTL_EXTERNAL_READER                                                   = 40
   248  	SQLITE_FCNTL_FILE_POINTER                                                      = 7
   249  	SQLITE_FCNTL_GET_LOCKPROXYFILE                                                 = 2
   250  	SQLITE_FCNTL_HAS_MOVED                                                         = 20
   251  	SQLITE_FCNTL_JOURNAL_POINTER                                                   = 28
   252  	SQLITE_FCNTL_LAST_ERRNO                                                        = 4
   253  	SQLITE_FCNTL_LOCKSTATE                                                         = 1
   254  	SQLITE_FCNTL_LOCK_TIMEOUT                                                      = 34
   255  	SQLITE_FCNTL_MMAP_SIZE                                                         = 18
   256  	SQLITE_FCNTL_OVERWRITE                                                         = 11
   257  	SQLITE_FCNTL_PDB                                                               = 30
   258  	SQLITE_FCNTL_PERSIST_WAL                                                       = 10
   259  	SQLITE_FCNTL_POWERSAFE_OVERWRITE                                               = 13
   260  	SQLITE_FCNTL_PRAGMA                                                            = 14
   261  	SQLITE_FCNTL_RBU                                                               = 26
   262  	SQLITE_FCNTL_RESERVE_BYTES                                                     = 38
   263  	SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE                                             = 33
   264  	SQLITE_FCNTL_SET_LOCKPROXYFILE                                                 = 3
   265  	SQLITE_FCNTL_SIZE_HINT                                                         = 5
   266  	SQLITE_FCNTL_SIZE_LIMIT                                                        = 36
   267  	SQLITE_FCNTL_SYNC                                                              = 21
   268  	SQLITE_FCNTL_SYNC_OMITTED                                                      = 8
   269  	SQLITE_FCNTL_TEMPFILENAME                                                      = 16
   270  	SQLITE_FCNTL_TRACE                                                             = 19
   271  	SQLITE_FCNTL_VFSNAME                                                           = 12
   272  	SQLITE_FCNTL_VFS_POINTER                                                       = 27
   273  	SQLITE_FCNTL_WAL_BLOCK                                                         = 24
   274  	SQLITE_FCNTL_WIN32_AV_RETRY                                                    = 9
   275  	SQLITE_FCNTL_WIN32_GET_HANDLE                                                  = 29
   276  	SQLITE_FCNTL_WIN32_SET_HANDLE                                                  = 23
   277  	SQLITE_FCNTL_ZIPVFS                                                            = 25
   278  	SQLITE_FLOAT                                                                   = 2
   279  	SQLITE_FORMAT                                                                  = 24
   280  	SQLITE_FULL                                                                    = 13
   281  	SQLITE_FUNCTION                                                                = 31
   282  	SQLITE_GET_LOCKPROXYFILE                                                       = 2
   283  	SQLITE_IGNORE                                                                  = 2
   284  	SQLITE_INDEX_CONSTRAINT_EQ                                                     = 2
   285  	SQLITE_INDEX_CONSTRAINT_FUNCTION                                               = 150
   286  	SQLITE_INDEX_CONSTRAINT_GE                                                     = 32
   287  	SQLITE_INDEX_CONSTRAINT_GLOB                                                   = 66
   288  	SQLITE_INDEX_CONSTRAINT_GT                                                     = 4
   289  	SQLITE_INDEX_CONSTRAINT_IS                                                     = 72
   290  	SQLITE_INDEX_CONSTRAINT_ISNOT                                                  = 69
   291  	SQLITE_INDEX_CONSTRAINT_ISNOTNULL                                              = 70
   292  	SQLITE_INDEX_CONSTRAINT_ISNULL                                                 = 71
   293  	SQLITE_INDEX_CONSTRAINT_LE                                                     = 8
   294  	SQLITE_INDEX_CONSTRAINT_LIKE                                                   = 65
   295  	SQLITE_INDEX_CONSTRAINT_LIMIT                                                  = 73
   296  	SQLITE_INDEX_CONSTRAINT_LT                                                     = 16
   297  	SQLITE_INDEX_CONSTRAINT_MATCH                                                  = 64
   298  	SQLITE_INDEX_CONSTRAINT_NE                                                     = 68
   299  	SQLITE_INDEX_CONSTRAINT_OFFSET                                                 = 74
   300  	SQLITE_INDEX_CONSTRAINT_REGEXP                                                 = 67
   301  	SQLITE_INDEX_SCAN_UNIQUE                                                       = 1
   302  	SQLITE_INNOCUOUS                                                               = 0x000200000
   303  	SQLITE_INSERT                                                                  = 18
   304  	SQLITE_INTEGER                                                                 = 1
   305  	SQLITE_INTERNAL                                                                = 2
   306  	SQLITE_INTERRUPT                                                               = 9
   307  	SQLITE_IOCAP_ATOMIC                                                            = 0x00000001
   308  	SQLITE_IOCAP_ATOMIC16K                                                         = 0x00000040
   309  	SQLITE_IOCAP_ATOMIC1K                                                          = 0x00000004
   310  	SQLITE_IOCAP_ATOMIC2K                                                          = 0x00000008
   311  	SQLITE_IOCAP_ATOMIC32K                                                         = 0x00000080
   312  	SQLITE_IOCAP_ATOMIC4K                                                          = 0x00000010
   313  	SQLITE_IOCAP_ATOMIC512                                                         = 0x00000002
   314  	SQLITE_IOCAP_ATOMIC64K                                                         = 0x00000100
   315  	SQLITE_IOCAP_ATOMIC8K                                                          = 0x00000020
   316  	SQLITE_IOCAP_BATCH_ATOMIC                                                      = 0x00004000
   317  	SQLITE_IOCAP_IMMUTABLE                                                         = 0x00002000
   318  	SQLITE_IOCAP_POWERSAFE_OVERWRITE                                               = 0x00001000
   319  	SQLITE_IOCAP_SAFE_APPEND                                                       = 0x00000200
   320  	SQLITE_IOCAP_SEQUENTIAL                                                        = 0x00000400
   321  	SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN                                             = 0x00000800
   322  	SQLITE_IOERR                                                                   = 10
   323  	SQLITE_IOERR_ACCESS                                                            = 3338
   324  	SQLITE_IOERR_AUTH                                                              = 7178
   325  	SQLITE_IOERR_BEGIN_ATOMIC                                                      = 7434
   326  	SQLITE_IOERR_BLOCKED                                                           = 2826
   327  	SQLITE_IOERR_CHECKRESERVEDLOCK                                                 = 3594
   328  	SQLITE_IOERR_CLOSE                                                             = 4106
   329  	SQLITE_IOERR_COMMIT_ATOMIC                                                     = 7690
   330  	SQLITE_IOERR_CONVPATH                                                          = 6666
   331  	SQLITE_IOERR_CORRUPTFS                                                         = 8458
   332  	SQLITE_IOERR_DATA                                                              = 8202
   333  	SQLITE_IOERR_DELETE                                                            = 2570
   334  	SQLITE_IOERR_DELETE_NOENT                                                      = 5898
   335  	SQLITE_IOERR_DIR_CLOSE                                                         = 4362
   336  	SQLITE_IOERR_DIR_FSYNC                                                         = 1290
   337  	SQLITE_IOERR_FSTAT                                                             = 1802
   338  	SQLITE_IOERR_FSYNC                                                             = 1034
   339  	SQLITE_IOERR_GETTEMPPATH                                                       = 6410
   340  	SQLITE_IOERR_LOCK                                                              = 3850
   341  	SQLITE_IOERR_MMAP                                                              = 6154
   342  	SQLITE_IOERR_NOMEM                                                             = 3082
   343  	SQLITE_IOERR_RDLOCK                                                            = 2314
   344  	SQLITE_IOERR_READ                                                              = 266
   345  	SQLITE_IOERR_ROLLBACK_ATOMIC                                                   = 7946
   346  	SQLITE_IOERR_SEEK                                                              = 5642
   347  	SQLITE_IOERR_SHMLOCK                                                           = 5130
   348  	SQLITE_IOERR_SHMMAP                                                            = 5386
   349  	SQLITE_IOERR_SHMOPEN                                                           = 4618
   350  	SQLITE_IOERR_SHMSIZE                                                           = 4874
   351  	SQLITE_IOERR_SHORT_READ                                                        = 522
   352  	SQLITE_IOERR_TRUNCATE                                                          = 1546
   353  	SQLITE_IOERR_UNLOCK                                                            = 2058
   354  	SQLITE_IOERR_VNODE                                                             = 6922
   355  	SQLITE_IOERR_WRITE                                                             = 778
   356  	SQLITE_LAST_ERRNO                                                              = 4
   357  	SQLITE_LIKE_DOESNT_MATCH_BLOBS                                                 = 1
   358  	SQLITE_LIMIT_ATTACHED                                                          = 7
   359  	SQLITE_LIMIT_COLUMN                                                            = 2
   360  	SQLITE_LIMIT_COMPOUND_SELECT                                                   = 4
   361  	SQLITE_LIMIT_EXPR_DEPTH                                                        = 3
   362  	SQLITE_LIMIT_FUNCTION_ARG                                                      = 6
   363  	SQLITE_LIMIT_LENGTH                                                            = 0
   364  	SQLITE_LIMIT_LIKE_PATTERN_LENGTH                                               = 8
   365  	SQLITE_LIMIT_SQL_LENGTH                                                        = 1
   366  	SQLITE_LIMIT_TRIGGER_DEPTH                                                     = 10
   367  	SQLITE_LIMIT_VARIABLE_NUMBER                                                   = 9
   368  	SQLITE_LIMIT_VDBE_OP                                                           = 5
   369  	SQLITE_LIMIT_WORKER_THREADS                                                    = 11
   370  	SQLITE_LOCKED                                                                  = 6
   371  	SQLITE_LOCKED_SHAREDCACHE                                                      = 262
   372  	SQLITE_LOCKED_VTAB                                                             = 518
   373  	SQLITE_LOCK_EXCLUSIVE                                                          = 4
   374  	SQLITE_LOCK_NONE                                                               = 0
   375  	SQLITE_LOCK_PENDING                                                            = 3
   376  	SQLITE_LOCK_RESERVED                                                           = 2
   377  	SQLITE_LOCK_SHARED                                                             = 1
   378  	SQLITE_MISMATCH                                                                = 20
   379  	SQLITE_MISUSE                                                                  = 21
   380  	SQLITE_MUTEX_APPDEF                                                            = 1
   381  	SQLITE_MUTEX_FAST                                                              = 0
   382  	SQLITE_MUTEX_NOOP                                                              = 1
   383  	SQLITE_MUTEX_RECURSIVE                                                         = 1
   384  	SQLITE_MUTEX_STATIC_APP1                                                       = 8
   385  	SQLITE_MUTEX_STATIC_APP2                                                       = 9
   386  	SQLITE_MUTEX_STATIC_APP3                                                       = 10
   387  	SQLITE_MUTEX_STATIC_LRU                                                        = 6
   388  	SQLITE_MUTEX_STATIC_LRU2                                                       = 7
   389  	SQLITE_MUTEX_STATIC_MAIN                                                       = 2
   390  	SQLITE_MUTEX_STATIC_MASTER                                                     = 2
   391  	SQLITE_MUTEX_STATIC_MEM                                                        = 3
   392  	SQLITE_MUTEX_STATIC_MEM2                                                       = 4
   393  	SQLITE_MUTEX_STATIC_OPEN                                                       = 4
   394  	SQLITE_MUTEX_STATIC_PMEM                                                       = 7
   395  	SQLITE_MUTEX_STATIC_PRNG                                                       = 5
   396  	SQLITE_MUTEX_STATIC_VFS1                                                       = 11
   397  	SQLITE_MUTEX_STATIC_VFS2                                                       = 12
   398  	SQLITE_MUTEX_STATIC_VFS3                                                       = 13
   399  	SQLITE_NOLFS                                                                   = 22
   400  	SQLITE_NOMEM                                                                   = 7
   401  	SQLITE_NOTADB                                                                  = 26
   402  	SQLITE_NOTFOUND                                                                = 12
   403  	SQLITE_NOTICE                                                                  = 27
   404  	SQLITE_NOTICE_RECOVER_ROLLBACK                                                 = 539
   405  	SQLITE_NOTICE_RECOVER_WAL                                                      = 283
   406  	SQLITE_NULL                                                                    = 5
   407  	SQLITE_OK                                                                      = 0
   408  	SQLITE_OK_LOAD_PERMANENTLY                                                     = 256
   409  	SQLITE_OK_SYMLINK                                                              = 512
   410  	SQLITE_OMIT_LOAD_EXTENSION                                                     = 1
   411  	SQLITE_OPEN_AUTOPROXY                                                          = 0x00000020
   412  	SQLITE_OPEN_CREATE                                                             = 0x00000004
   413  	SQLITE_OPEN_DELETEONCLOSE                                                      = 0x00000008
   414  	SQLITE_OPEN_EXCLUSIVE                                                          = 0x00000010
   415  	SQLITE_OPEN_EXRESCODE                                                          = 0x02000000
   416  	SQLITE_OPEN_FULLMUTEX                                                          = 0x00010000
   417  	SQLITE_OPEN_MAIN_DB                                                            = 0x00000100
   418  	SQLITE_OPEN_MAIN_JOURNAL                                                       = 0x00000800
   419  	SQLITE_OPEN_MASTER_JOURNAL                                                     = 0x00004000
   420  	SQLITE_OPEN_MEMORY                                                             = 0x00000080
   421  	SQLITE_OPEN_NOFOLLOW                                                           = 0x01000000
   422  	SQLITE_OPEN_NOMUTEX                                                            = 0x00008000
   423  	SQLITE_OPEN_PRIVATECACHE                                                       = 0x00040000
   424  	SQLITE_OPEN_READONLY                                                           = 0x00000001
   425  	SQLITE_OPEN_READWRITE                                                          = 0x00000002
   426  	SQLITE_OPEN_SHAREDCACHE                                                        = 0x00020000
   427  	SQLITE_OPEN_SUBJOURNAL                                                         = 0x00002000
   428  	SQLITE_OPEN_SUPER_JOURNAL                                                      = 0x00004000
   429  	SQLITE_OPEN_TEMP_DB                                                            = 0x00000200
   430  	SQLITE_OPEN_TEMP_JOURNAL                                                       = 0x00001000
   431  	SQLITE_OPEN_TRANSIENT_DB                                                       = 0x00000400
   432  	SQLITE_OPEN_URI                                                                = 0x00000040
   433  	SQLITE_OPEN_WAL                                                                = 0x00080000
   434  	SQLITE_OS_WIN                                                                  = 1
   435  	SQLITE_PERM                                                                    = 3
   436  	SQLITE_PRAGMA                                                                  = 19
   437  	SQLITE_PREPARE_NORMALIZE                                                       = 0x02
   438  	SQLITE_PREPARE_NO_VTAB                                                         = 0x04
   439  	SQLITE_PREPARE_PERSISTENT                                                      = 0x01
   440  	SQLITE_PROTOCOL                                                                = 15
   441  	SQLITE_RANGE                                                                   = 25
   442  	SQLITE_READ                                                                    = 20
   443  	SQLITE_READONLY                                                                = 8
   444  	SQLITE_READONLY_CANTINIT                                                       = 1288
   445  	SQLITE_READONLY_CANTLOCK                                                       = 520
   446  	SQLITE_READONLY_DBMOVED                                                        = 1032
   447  	SQLITE_READONLY_DIRECTORY                                                      = 1544
   448  	SQLITE_READONLY_RECOVERY                                                       = 264
   449  	SQLITE_READONLY_ROLLBACK                                                       = 776
   450  	SQLITE_RECURSIVE                                                               = 33
   451  	SQLITE_REINDEX                                                                 = 27
   452  	SQLITE_REPLACE                                                                 = 5
   453  	SQLITE_ROLLBACK                                                                = 1
   454  	SQLITE_ROW                                                                     = 100
   455  	SQLITE_SAVEPOINT                                                               = 32
   456  	SQLITE_SCANSTAT_EST                                                            = 2
   457  	SQLITE_SCANSTAT_EXPLAIN                                                        = 4
   458  	SQLITE_SCANSTAT_NAME                                                           = 3
   459  	SQLITE_SCANSTAT_NLOOP                                                          = 0
   460  	SQLITE_SCANSTAT_NVISIT                                                         = 1
   461  	SQLITE_SCANSTAT_SELECTID                                                       = 5
   462  	SQLITE_SCHEMA                                                                  = 17
   463  	SQLITE_SELECT                                                                  = 21
   464  	SQLITE_SERIALIZE_NOCOPY                                                        = 0x001
   465  	SQLITE_SERIES_CONSTRAINT_VERIFY                                                = 1
   466  	SQLITE_SERVER                                                                  = 1
   467  	SQLITE_SESSION_CONFIG_STRMSIZE                                                 = 1
   468  	SQLITE_SESSION_OBJCONFIG_SIZE                                                  = 1
   469  	SQLITE_SET_LOCKPROXYFILE                                                       = 3
   470  	SQLITE_SHM_EXCLUSIVE                                                           = 8
   471  	SQLITE_SHM_LOCK                                                                = 2
   472  	SQLITE_SHM_NLOCK                                                               = 8
   473  	SQLITE_SHM_SHARED                                                              = 4
   474  	SQLITE_SHM_UNLOCK                                                              = 1
   475  	SQLITE_SOUNDEX                                                                 = 1
   476  	SQLITE_SOURCE_ID                                                               = "2022-09-05 11:02:23 4635f4a69c8c2a8df242b384a992aea71224e39a2ccab42d8c0b0602f1e826e8"
   477  	SQLITE_STATUS_MALLOC_COUNT                                                     = 9
   478  	SQLITE_STATUS_MALLOC_SIZE                                                      = 5
   479  	SQLITE_STATUS_MEMORY_USED                                                      = 0
   480  	SQLITE_STATUS_PAGECACHE_OVERFLOW                                               = 2
   481  	SQLITE_STATUS_PAGECACHE_SIZE                                                   = 7
   482  	SQLITE_STATUS_PAGECACHE_USED                                                   = 1
   483  	SQLITE_STATUS_PARSER_STACK                                                     = 6
   484  	SQLITE_STATUS_SCRATCH_OVERFLOW                                                 = 4
   485  	SQLITE_STATUS_SCRATCH_SIZE                                                     = 8
   486  	SQLITE_STATUS_SCRATCH_USED                                                     = 3
   487  	SQLITE_STDCALL                                                                 = 0
   488  	SQLITE_STMTSTATUS_AUTOINDEX                                                    = 3
   489  	SQLITE_STMTSTATUS_FILTER_HIT                                                   = 8
   490  	SQLITE_STMTSTATUS_FILTER_MISS                                                  = 7
   491  	SQLITE_STMTSTATUS_FULLSCAN_STEP                                                = 1
   492  	SQLITE_STMTSTATUS_MEMUSED                                                      = 99
   493  	SQLITE_STMTSTATUS_REPREPARE                                                    = 5
   494  	SQLITE_STMTSTATUS_RUN                                                          = 6
   495  	SQLITE_STMTSTATUS_SORT                                                         = 2
   496  	SQLITE_STMTSTATUS_VM_STEP                                                      = 4
   497  	SQLITE_SUBTYPE                                                                 = 0x000100000
   498  	SQLITE_SYNC_DATAONLY                                                           = 0x00010
   499  	SQLITE_SYNC_FULL                                                               = 0x00003
   500  	SQLITE_SYNC_NORMAL                                                             = 0x00002
   501  	SQLITE_SYSAPI                                                                  = 0
   502  	SQLITE_TEMP_STORE                                                              = 1
   503  	SQLITE_TEST                                                                    = 1
   504  	SQLITE_TESTCTRL_ALWAYS                                                         = 13
   505  	SQLITE_TESTCTRL_ASSERT                                                         = 12
   506  	SQLITE_TESTCTRL_BENIGN_MALLOC_HOOKS                                            = 10
   507  	SQLITE_TESTCTRL_BITVEC_TEST                                                    = 8
   508  	SQLITE_TESTCTRL_BYTEORDER                                                      = 22
   509  	SQLITE_TESTCTRL_EXPLAIN_STMT                                                   = 19
   510  	SQLITE_TESTCTRL_EXTRA_SCHEMA_CHECKS                                            = 29
   511  	SQLITE_TESTCTRL_FAULT_INSTALL                                                  = 9
   512  	SQLITE_TESTCTRL_FIRST                                                          = 5
   513  	SQLITE_TESTCTRL_IMPOSTER                                                       = 25
   514  	SQLITE_TESTCTRL_INTERNAL_FUNCTIONS                                             = 17
   515  	SQLITE_TESTCTRL_ISINIT                                                         = 23
   516  	SQLITE_TESTCTRL_ISKEYWORD                                                      = 16
   517  	SQLITE_TESTCTRL_LAST                                                           = 33
   518  	SQLITE_TESTCTRL_LOCALTIME_FAULT                                                = 18
   519  	SQLITE_TESTCTRL_LOGEST                                                         = 33
   520  	SQLITE_TESTCTRL_NEVER_CORRUPT                                                  = 20
   521  	SQLITE_TESTCTRL_ONCE_RESET_THRESHOLD                                           = 19
   522  	SQLITE_TESTCTRL_OPTIMIZATIONS                                                  = 15
   523  	SQLITE_TESTCTRL_PARSER_COVERAGE                                                = 26
   524  	SQLITE_TESTCTRL_PENDING_BYTE                                                   = 11
   525  	SQLITE_TESTCTRL_PRNG_RESET                                                     = 7
   526  	SQLITE_TESTCTRL_PRNG_RESTORE                                                   = 6
   527  	SQLITE_TESTCTRL_PRNG_SAVE                                                      = 5
   528  	SQLITE_TESTCTRL_PRNG_SEED                                                      = 28
   529  	SQLITE_TESTCTRL_RESERVE                                                        = 14
   530  	SQLITE_TESTCTRL_RESULT_INTREAL                                                 = 27
   531  	SQLITE_TESTCTRL_SCRATCHMALLOC                                                  = 17
   532  	SQLITE_TESTCTRL_SEEK_COUNT                                                     = 30
   533  	SQLITE_TESTCTRL_SORTER_MMAP                                                    = 24
   534  	SQLITE_TESTCTRL_TRACEFLAGS                                                     = 31
   535  	SQLITE_TESTCTRL_TUNE                                                           = 32
   536  	SQLITE_TESTCTRL_VDBE_COVERAGE                                                  = 21
   537  	SQLITE_TEXT                                                                    = 3
   538  	SQLITE_THREADSAFE                                                              = 1
   539  	SQLITE_TOOBIG                                                                  = 18
   540  	SQLITE_TRACE_CLOSE                                                             = 0x08
   541  	SQLITE_TRACE_PROFILE                                                           = 0x02
   542  	SQLITE_TRACE_ROW                                                               = 0x04
   543  	SQLITE_TRACE_STMT                                                              = 0x01
   544  	SQLITE_TRANSACTION                                                             = 22
   545  	SQLITE_TXN_NONE                                                                = 0
   546  	SQLITE_TXN_READ                                                                = 1
   547  	SQLITE_TXN_WRITE                                                               = 2
   548  	SQLITE_UPDATE                                                                  = 23
   549  	SQLITE_UTF16                                                                   = 4
   550  	SQLITE_UTF16BE                                                                 = 3
   551  	SQLITE_UTF16LE                                                                 = 2
   552  	SQLITE_UTF16_ALIGNED                                                           = 8
   553  	SQLITE_UTF8                                                                    = 1
   554  	SQLITE_VERSION                                                                 = "3.39.3"
   555  	SQLITE_VERSION_NUMBER                                                          = 3039003
   556  	SQLITE_VTAB_CONSTRAINT_SUPPORT                                                 = 1
   557  	SQLITE_VTAB_DIRECTONLY                                                         = 3
   558  	SQLITE_VTAB_INNOCUOUS                                                          = 2
   559  	SQLITE_WARNING                                                                 = 28
   560  	SQLITE_WARNING_AUTOINDEX                                                       = 284
   561  	SQLITE_WIN32_DATA_DIRECTORY_TYPE                                               = 1
   562  	SQLITE_WIN32_TEMP_DIRECTORY_TYPE                                               = 2
   563  	STDERR_FILENO                                                                  = 2
   564  	STDIN_FILENO                                                                   = 0
   565  	STDOUT_FILENO                                                                  = 1
   566  	SYS_OPEN                                                                       = 20
   567  	TMP_MAX                                                                        = 32767
   568  	TMP_MAX_S                                                                      = 32767
   569  	UNALIGNED                                                                      = 0
   570  	UNIQUE_TABLE_NAME                                                              = "t592690916721053953805701627921227776"
   571  	USE___UUIDOF                                                                   = 1
   572  	WIN32                                                                          = 1
   573  	WIN64                                                                          = 1
   574  	WINNT                                                                          = 1
   575  	X_AGLOBAL                                                                      = 0
   576  	X_ANONYMOUS_STRUCT                                                             = 0
   577  	X_ANONYMOUS_UNION                                                              = 0
   578  	X_ANSI_STDARG_H_                                                               = 0
   579  	X_ARGMAX                                                                       = 100
   580  	X_CONST_RETURN                                                                 = 0
   581  	X_CRTNOALIAS                                                                   = 0
   582  	X_CRTRESTRICT                                                                  = 0
   583  	X_CRT_ALTERNATIVE_IMPORTED                                                     = 0
   584  	X_CRT_DIRECTORY_DEFINED                                                        = 0
   585  	X_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS                                            = 4
   586  	X_CRT_INTERNAL_LOCAL_SCANF_OPTIONS                                             = 2
   587  	X_CRT_INTERNAL_PRINTF_LEGACY_MSVCRT_COMPATIBILITY                              = 0x0008
   588  	X_CRT_INTERNAL_PRINTF_LEGACY_THREE_DIGIT_EXPONENTS                             = 0x0010
   589  	X_CRT_INTERNAL_PRINTF_LEGACY_VSPRINTF_NULL_TERMINATION                         = 0x0001
   590  	X_CRT_INTERNAL_PRINTF_LEGACY_WIDE_SPECIFIERS                                   = 0x0004
   591  	X_CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR                               = 0x0002
   592  	X_CRT_INTERNAL_SCANF_LEGACY_MSVCRT_COMPATIBILITY                               = 0x0004
   593  	X_CRT_INTERNAL_SCANF_LEGACY_WIDE_SPECIFIERS                                    = 0x0002
   594  	X_CRT_INTERNAL_SCANF_SECURECRT                                                 = 0x0001
   595  	X_CRT_MANAGED_HEAP_DEPRECATE                                                   = 0
   596  	X_CRT_MEMORY_DEFINED                                                           = 0
   597  	X_CRT_PACKING                                                                  = 8
   598  	X_CRT_PERROR_DEFINED                                                           = 0
   599  	X_CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES                                         = 0
   600  	X_CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES_MEMORY                                  = 0
   601  	X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES                                       = 0
   602  	X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT                                 = 0
   603  	X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_MEMORY                                = 0
   604  	X_CRT_TERMINATE_DEFINED                                                        = 0
   605  	X_CRT_USE_WINAPI_FAMILY_DESKTOP_APP                                            = 0
   606  	X_CRT_WPERROR_DEFINED                                                          = 0
   607  	X_DLL                                                                          = 0
   608  	X_ERRCODE_DEFINED                                                              = 0
   609  	X_FILE_DEFINED                                                                 = 0
   610  	X_FILE_OFFSET_BITS                                                             = 64
   611  	X_FILE_OFFSET_BITS_SET_FSEEKO                                                  = 0
   612  	X_FILE_OFFSET_BITS_SET_FTELLO                                                  = 0
   613  	X_FILE_OFFSET_BITS_SET_OFFT                                                    = 0
   614  	X_FPOS_T_DEFINED                                                               = 0
   615  	X_FTS5_H                                                                       = 0
   616  	X_HAVE_SQLITE_CONFIG_H                                                         = 1
   617  	X_INC_CORECRT                                                                  = 0
   618  	X_INC_CRTDEFS                                                                  = 0
   619  	X_INC_CRTDEFS_MACRO                                                            = 0
   620  	X_INC_MINGW_SECAPI                                                             = 0
   621  	X_INC_STDARG                                                                   = 0
   622  	X_INC_STDIO                                                                    = 0
   623  	X_INC_STDIO_S                                                                  = 0
   624  	X_INC_STRING                                                                   = 0
   625  	X_INC_STRING_S                                                                 = 0
   626  	X_INC_SWPRINTF_INL                                                             = 0
   627  	X_INC_VADEFS                                                                   = 0
   628  	X_INC__MINGW_H                                                                 = 0
   629  	X_INT128_DEFINED                                                               = 0
   630  	X_INTEGRAL_MAX_BITS                                                            = 64
   631  	X_INTPTR_T_DEFINED                                                             = 0
   632  	X_IOB_ENTRIES                                                                  = 20
   633  	X_IOEOF                                                                        = 0x0010
   634  	X_IOERR                                                                        = 0x0020
   635  	X_IOFBF                                                                        = 0x0000
   636  	X_IOLBF                                                                        = 0x0040
   637  	X_IOMYBUF                                                                      = 0x0008
   638  	X_IONBF                                                                        = 0x0004
   639  	X_IOREAD                                                                       = 0x0001
   640  	X_IORW                                                                         = 0x0080
   641  	X_IOSTRG                                                                       = 0x0040
   642  	X_IOWRT                                                                        = 0x0002
   643  	X_MSC_VER                                                                      = 1900
   644  	X_MT                                                                           = 0
   645  	X_M_AMD64                                                                      = 100
   646  	X_M_X64                                                                        = 100
   647  	X_NFILE                                                                        = 512
   648  	X_NLSCMPERROR                                                                  = 2147483647
   649  	X_NLSCMP_DEFINED                                                               = 0
   650  	X_NSTREAM_                                                                     = 512
   651  	X_OFF64_T_DEFINED                                                              = 0
   652  	X_OFF_T_                                                                       = 0
   653  	X_OFF_T_DEFINED                                                                = 0
   654  	X_OLD_P_OVERLAY                                                                = 2
   655  	X_PGLOBAL                                                                      = 0
   656  	X_PTRDIFF_T_                                                                   = 0
   657  	X_PTRDIFF_T_DEFINED                                                            = 0
   658  	X_P_DETACH                                                                     = 4
   659  	X_P_NOWAIT                                                                     = 1
   660  	X_P_NOWAITO                                                                    = 3
   661  	X_P_OVERLAY                                                                    = 2
   662  	X_P_WAIT                                                                       = 0
   663  	X_P_tmpdir                                                                     = "\\"
   664  	X_RSIZE_T_DEFINED                                                              = 0
   665  	X_SECURECRT_FILL_BUFFER_PATTERN                                                = 0xFD
   666  	X_SIZE_T_DEFINED                                                               = 0
   667  	X_SPAWNV_DEFINED                                                               = 0
   668  	X_SQLITE3RTREE_H_                                                              = 0
   669  	X_SSIZE_T_DEFINED                                                              = 0
   670  	X_STDARG_H                                                                     = 0
   671  	X_STDIO_CONFIG_DEFINED                                                         = 0
   672  	X_STDIO_DEFINED                                                                = 0
   673  	X_STDIO_S_DEFINED                                                              = 0
   674  	X_STDSTREAM_DEFINED                                                            = 0
   675  	X_SYS_OPEN                                                                     = 20
   676  	X_TAGLC_ID_DEFINED                                                             = 0
   677  	X_THREADLOCALEINFO                                                             = 0
   678  	X_TIME32_T_DEFINED                                                             = 0
   679  	X_TIME64_T_DEFINED                                                             = 0
   680  	X_TIME_T_DEFINED                                                               = 0
   681  	X_TWO_DIGIT_EXPONENT                                                           = 0x1
   682  	X_UINTPTR_T_DEFINED                                                            = 0
   683  	X_VA_LIST                                                                      = 0
   684  	X_VA_LIST_                                                                     = 0
   685  	X_VA_LIST_DEFINED                                                              = 0
   686  	X_VA_LIST_T_H                                                                  = 0
   687  	X_W64                                                                          = 0
   688  	X_WAIT_CHILD                                                                   = 0
   689  	X_WAIT_GRANDCHILD                                                              = 1
   690  	X_WCHAR_T_DEFINED                                                              = 0
   691  	X_WCTYPE_T_DEFINED                                                             = 0
   692  	X_WConst_return                                                                = 0
   693  	X_WIN32                                                                        = 1
   694  	X_WIN32_WINNT                                                                  = 0x502
   695  	X_WIN64                                                                        = 1
   696  	X_WINT_T                                                                       = 0
   697  	X_WSPAWN_DEFINED                                                               = 0
   698  	X_WSTDIO_DEFINED                                                               = 0
   699  	X_WSTDIO_S_DEFINED                                                             = 0
   700  	X_WSTRING_DEFINED                                                              = 0
   701  	X_WSTRING_S_DEFINED                                                            = 0
   702  	HAVE_DECLSPEC                                                                  = 1
   703  	INLINE                                                                         = 0
   704  	MP_DIGIT_DECLARED                                                              = 0
   705  	MP_INT_DECLARED                                                                = 0
   706  	NUM_STATIC_TOKENS                                                              = 20
   707  	SQLITE_TCLAPI                                                                  = 0
   708  	TCL_ALLOW_INLINE_COMPILATION                                                   = 0x20000
   709  	TCL_ALL_EVENTS                                                                 = -3
   710  	TCL_ALPHA_RELEASE                                                              = 0
   711  	TCL_APPEND_VALUE                                                               = 4
   712  	TCL_ARGV_CONSTANT                                                              = 15
   713  	TCL_ARGV_END                                                                   = 23
   714  	TCL_ARGV_FLOAT                                                                 = 19
   715  	TCL_ARGV_FUNC                                                                  = 20
   716  	TCL_ARGV_GENFUNC                                                               = 21
   717  	TCL_ARGV_HELP                                                                  = 22
   718  	TCL_ARGV_INT                                                                   = 16
   719  	TCL_ARGV_REST                                                                  = 18
   720  	TCL_ARGV_STRING                                                                = 17
   721  	TCL_BETA_RELEASE                                                               = 1
   722  	TCL_BREAK                                                                      = 3
   723  	TCL_CANCEL_UNWIND                                                              = 0x100000
   724  	TCL_CHANNEL_THREAD_INSERT                                                      = 0
   725  	TCL_CHANNEL_THREAD_REMOVE                                                      = 1
   726  	TCL_CLOSE_READ                                                                 = 2
   727  	TCL_CLOSE_WRITE                                                                = 4
   728  	TCL_CONTINUE                                                                   = 4
   729  	TCL_CONVERT_MULTIBYTE                                                          = -1
   730  	TCL_CONVERT_NOSPACE                                                            = -4
   731  	TCL_CONVERT_SYNTAX                                                             = -2
   732  	TCL_CONVERT_UNKNOWN                                                            = -3
   733  	TCL_CREATE_HARD_LINK                                                           = 0x02
   734  	TCL_CREATE_SYMBOLIC_LINK                                                       = 0x01
   735  	TCL_CUSTOM_PTR_KEYS                                                            = -1
   736  	TCL_CUSTOM_TYPE_KEYS                                                           = -2
   737  	TCL_DONT_QUOTE_HASH                                                            = 8
   738  	TCL_DONT_USE_BRACES                                                            = 1
   739  	TCL_DONT_WAIT                                                                  = 2
   740  	TCL_DOUBLE_SPACE                                                               = 27
   741  	TCL_DSTRING_STATIC_SIZE                                                        = 200
   742  	TCL_ENCODING_CHAR_LIMIT                                                        = 0x10
   743  	TCL_ENCODING_END                                                               = 0x02
   744  	TCL_ENCODING_NO_TERMINATE                                                      = 0x08
   745  	TCL_ENCODING_START                                                             = 0x01
   746  	TCL_ENCODING_STOPONERROR                                                       = 0x04
   747  	TCL_ENFORCE_MODE                                                               = 16
   748  	TCL_ENSEMBLE_PREFIX                                                            = 0x02
   749  	TCL_ERROR                                                                      = 1
   750  	TCL_EVAL_DIRECT                                                                = 0x040000
   751  	TCL_EVAL_GLOBAL                                                                = 0x020000
   752  	TCL_EVAL_INVOKE                                                                = 0x080000
   753  	TCL_EVAL_NOERR                                                                 = 0x200000
   754  	TCL_EXACT                                                                      = 1
   755  	TCL_EXCEPTION                                                                  = 8
   756  	TCL_FILE_EVENTS                                                                = 8
   757  	TCL_FINAL_RELEASE                                                              = 2
   758  	TCL_GLOBAL_ONLY                                                                = 1
   759  	TCL_GLOB_PERM_HIDDEN                                                           = 2
   760  	TCL_GLOB_PERM_R                                                                = 4
   761  	TCL_GLOB_PERM_RONLY                                                            = 1
   762  	TCL_GLOB_PERM_W                                                                = 8
   763  	TCL_GLOB_PERM_X                                                                = 16
   764  	TCL_GLOB_TYPE_BLOCK                                                            = 1
   765  	TCL_GLOB_TYPE_CHAR                                                             = 2
   766  	TCL_GLOB_TYPE_DIR                                                              = 4
   767  	TCL_GLOB_TYPE_FILE                                                             = 16
   768  	TCL_GLOB_TYPE_LINK                                                             = 32
   769  	TCL_GLOB_TYPE_MOUNT                                                            = 128
   770  	TCL_GLOB_TYPE_PIPE                                                             = 8
   771  	TCL_GLOB_TYPE_SOCK                                                             = 64
   772  	TCL_HASH_KEY_RANDOMIZE_HASH                                                    = 0x1
   773  	TCL_HASH_KEY_STORE_HASH                                                        = 1
   774  	TCL_HASH_KEY_SYSTEM_HASH                                                       = 0x2
   775  	TCL_HASH_KEY_TYPE_VERSION                                                      = 1
   776  	TCL_IDLE_EVENTS                                                                = 32
   777  	TCL_INTEGER_SPACE                                                              = 24
   778  	TCL_INTERP_DESTROYED                                                           = 0x100
   779  	TCL_LEAVE_ERR_MSG                                                              = 0x200
   780  	TCL_LIMIT_COMMANDS                                                             = 0x01
   781  	TCL_LIMIT_TIME                                                                 = 0x02
   782  	TCL_LINK_BOOLEAN                                                               = 3
   783  	TCL_LINK_CHAR                                                                  = 6
   784  	TCL_LINK_DOUBLE                                                                = 2
   785  	TCL_LINK_FLOAT                                                                 = 13
   786  	TCL_LINK_INT                                                                   = 1
   787  	TCL_LINK_LONG                                                                  = 11
   788  	TCL_LINK_READ_ONLY                                                             = 0x80
   789  	TCL_LINK_SHORT                                                                 = 8
   790  	TCL_LINK_STRING                                                                = 4
   791  	TCL_LINK_UCHAR                                                                 = 7
   792  	TCL_LINK_UINT                                                                  = 10
   793  	TCL_LINK_ULONG                                                                 = 12
   794  	TCL_LINK_USHORT                                                                = 9
   795  	TCL_LINK_WIDE_INT                                                              = 5
   796  	TCL_LINK_WIDE_UINT                                                             = 14
   797  	TCL_LIST_ELEMENT                                                               = 8
   798  	TCL_LL_MODIFIER                                                                = "ll"
   799  	TCL_LOAD_GLOBAL                                                                = 1
   800  	TCL_LOAD_LAZY                                                                  = 2
   801  	TCL_MAJOR_VERSION                                                              = 8
   802  	TCL_MATCH_NOCASE                                                               = 1
   803  	TCL_MAX_PREC                                                                   = 17
   804  	TCL_MINOR_VERSION                                                              = 6
   805  	TCL_MODE_BLOCKING                                                              = 0
   806  	TCL_MODE_NONBLOCKING                                                           = 1
   807  	TCL_NAMESPACE_ONLY                                                             = 2
   808  	TCL_NORETURN1                                                                  = 0
   809  	TCL_NO_EVAL                                                                    = 0x010000
   810  	TCL_OK                                                                         = 0
   811  	TCL_ONE_WORD_KEYS                                                              = 1
   812  	TCL_PARSE_BAD_NUMBER                                                           = 9
   813  	TCL_PARSE_BRACE_EXTRA                                                          = 2
   814  	TCL_PARSE_MISSING_BRACE                                                        = 3
   815  	TCL_PARSE_MISSING_BRACKET                                                      = 4
   816  	TCL_PARSE_MISSING_PAREN                                                        = 5
   817  	TCL_PARSE_MISSING_QUOTE                                                        = 6
   818  	TCL_PARSE_MISSING_VAR_BRACE                                                    = 7
   819  	TCL_PARSE_PART1                                                                = 0x400
   820  	TCL_PARSE_QUOTE_EXTRA                                                          = 1
   821  	TCL_PARSE_SUCCESS                                                              = 0
   822  	TCL_PARSE_SYNTAX                                                               = 8
   823  	TCL_PATCH_LEVEL                                                                = "8.6.11"
   824  	TCL_READABLE                                                                   = 2
   825  	TCL_REG_ADVANCED                                                               = 000003
   826  	TCL_REG_ADVF                                                                   = 000002
   827  	TCL_REG_BASIC                                                                  = 000000
   828  	TCL_REG_CANMATCH                                                               = 001000
   829  	TCL_REG_EXPANDED                                                               = 000040
   830  	TCL_REG_EXTENDED                                                               = 000001
   831  	TCL_REG_NEWLINE                                                                = 000300
   832  	TCL_REG_NLANCH                                                                 = 000200
   833  	TCL_REG_NLSTOP                                                                 = 000100
   834  	TCL_REG_NOCASE                                                                 = 000010
   835  	TCL_REG_NOSUB                                                                  = 000020
   836  	TCL_REG_NOTBOL                                                                 = 0001
   837  	TCL_REG_NOTEOL                                                                 = 0002
   838  	TCL_REG_QUOTE                                                                  = 000004
   839  	TCL_RELEASE_LEVEL                                                              = 2
   840  	TCL_RELEASE_SERIAL                                                             = 11
   841  	TCL_RESULT_SIZE                                                                = 200
   842  	TCL_RETURN                                                                     = 2
   843  	TCL_SERVICE_ALL                                                                = 1
   844  	TCL_SERVICE_NONE                                                               = 0
   845  	TCL_SMALL_HASH_TABLE                                                           = 4
   846  	TCL_STDERR                                                                     = 8
   847  	TCL_STDIN                                                                      = 2
   848  	TCL_STDOUT                                                                     = 4
   849  	TCL_STRING_KEYS                                                                = 0
   850  	TCL_SUBST_ALL                                                                  = 007
   851  	TCL_SUBST_BACKSLASHES                                                          = 004
   852  	TCL_SUBST_COMMANDS                                                             = 001
   853  	TCL_SUBST_VARIABLES                                                            = 002
   854  	TCL_THREAD_JOINABLE                                                            = 1
   855  	TCL_THREAD_NOFLAGS                                                             = 0
   856  	TCL_THREAD_STACK_DEFAULT                                                       = 0
   857  	TCL_TIMER_EVENTS                                                               = 16
   858  	TCL_TOKEN_BS                                                                   = 8
   859  	TCL_TOKEN_COMMAND                                                              = 16
   860  	TCL_TOKEN_EXPAND_WORD                                                          = 256
   861  	TCL_TOKEN_OPERATOR                                                             = 128
   862  	TCL_TOKEN_SIMPLE_WORD                                                          = 2
   863  	TCL_TOKEN_SUB_EXPR                                                             = 64
   864  	TCL_TOKEN_TEXT                                                                 = 4
   865  	TCL_TOKEN_VARIABLE                                                             = 32
   866  	TCL_TOKEN_WORD                                                                 = 1
   867  	TCL_TRACE_ARRAY                                                                = 0x800
   868  	TCL_TRACE_DELETE                                                               = 0x4000
   869  	TCL_TRACE_DESTROYED                                                            = 0x80
   870  	TCL_TRACE_OLD_STYLE                                                            = 0x1000
   871  	TCL_TRACE_READS                                                                = 0x10
   872  	TCL_TRACE_RENAME                                                               = 0x2000
   873  	TCL_TRACE_RESULT_DYNAMIC                                                       = 0x8000
   874  	TCL_TRACE_RESULT_OBJECT                                                        = 0x10000
   875  	TCL_TRACE_UNSETS                                                               = 0x40
   876  	TCL_TRACE_WRITES                                                               = 0x20
   877  	TCL_UNLOAD_DETACH_FROM_INTERPRETER                                             = 1
   878  	TCL_UNLOAD_DETACH_FROM_PROCESS                                                 = 2
   879  	TCL_UTF_MAX                                                                    = 3
   880  	TCL_VERSION                                                                    = "8.6"
   881  	TCL_WINDOW_EVENTS                                                              = 4
   882  	TCL_WRITABLE                                                                   = 4
   883  	TCL_ZLIB_COMPRESS_BEST                                                         = 9
   884  	TCL_ZLIB_COMPRESS_DEFAULT                                                      = -1
   885  	TCL_ZLIB_COMPRESS_FAST                                                         = 1
   886  	TCL_ZLIB_COMPRESS_NONE                                                         = 0
   887  	TCL_ZLIB_FINALIZE                                                              = 4
   888  	TCL_ZLIB_FLUSH                                                                 = 2
   889  	TCL_ZLIB_FORMAT_AUTO                                                           = 8
   890  	TCL_ZLIB_FORMAT_GZIP                                                           = 4
   891  	TCL_ZLIB_FORMAT_RAW                                                            = 1
   892  	TCL_ZLIB_FORMAT_ZLIB                                                           = 2
   893  	TCL_ZLIB_FULLFLUSH                                                             = 3
   894  	TCL_ZLIB_NO_FLUSH                                                              = 0
   895  	TCL_ZLIB_STREAM_DEFLATE                                                        = 16
   896  	TCL_ZLIB_STREAM_INFLATE                                                        = 32
   897  	X_CLIENTDATA                                                                   = 0
   898  	X_TCHAR_DEFINED                                                                = 0
   899  	X_TCL                                                                          = 0
   900  	X_TCLDECLS                                                                     = 0
   901  	X_TCLPLATDECLS                                                                 = 0
   902  	X_FTSINT_H                                                                     = 0
   903  	FTS3_TOK_SCHEMA                                                                = "CREATE TABLE x(input HIDDEN, token, start, end, position)"
   904  	APND_MARK_FOS_SZ                                                               = 8
   905  	APND_MARK_PREFIX                                                               = "Start-Of-SQLite3-"
   906  	APND_MARK_PREFIX_SZ                                                            = 17
   907  	APND_MARK_SIZE                                                                 = 25
   908  	APND_MAX_SIZE                                                                  = 1073741824
   909  	APND_ROUNDUP                                                                   = 4096
   910  	SQLITE3EXT_H                                                                   = 0
   911  	SQLITE_EXTENSION_INIT1                                                         = 0
   912  	SQLITE_EXTENSION_INIT3                                                         = 0
   913  	AMATCH_COL_COMMAND                                                             = 3
   914  	AMATCH_COL_DISTANCE                                                            = 1
   915  	AMATCH_COL_LANGUAGE                                                            = 2
   916  	AMATCH_COL_NWORD                                                               = 4
   917  	AMATCH_COL_WORD                                                                = 0
   918  	AMATCH_MX_COST                                                                 = 1000
   919  	AMATCH_MX_LANGID                                                               = 2147483647
   920  	AMATCH_MX_LENGTH                                                               = 50
   921  	CHAR_BIT                                                                       = 8
   922  	CHAR_MAX                                                                       = 127
   923  	CHAR_MIN                                                                       = -128
   924  	EXIT_FAILURE                                                                   = 1
   925  	EXIT_SUCCESS                                                                   = 0
   926  	INT_MAX                                                                        = 2147483647
   927  	INT_MIN                                                                        = -2147483648
   928  	LLONG_MAX                                                                      = 9223372036854775807
   929  	LLONG_MIN                                                                      = -9223372036854775808
   930  	LONG_LONG_MAX                                                                  = 9223372036854775807
   931  	LONG_LONG_MIN                                                                  = -9223372036854775808
   932  	LONG_MAX                                                                       = 2147483647
   933  	LONG_MIN                                                                       = -2147483648
   934  	MB_LEN_MAX                                                                     = 5
   935  	PATH_MAX                                                                       = 260
   936  	RAND_MAX                                                                       = 0x7fff
   937  	SCHAR_MAX                                                                      = 127
   938  	SCHAR_MIN                                                                      = -128
   939  	SHRT_MAX                                                                       = 32767
   940  	SHRT_MIN                                                                       = -32768
   941  	SIZE_MAX                                                                       = 18446744073709551615
   942  	SSIZE_MAX                                                                      = 9223372036854775807
   943  	UCHAR_MAX                                                                      = 255
   944  	UINT_MAX                                                                       = 4294967295
   945  	ULLONG_MAX                                                                     = 18446744073709551615
   946  	ULONG_LONG_MAX                                                                 = 18446744073709551615
   947  	ULONG_MAX                                                                      = 4294967295
   948  	USHRT_MAX                                                                      = 65535
   949  	X_ALLOCA_S_HEAP_MARKER                                                         = 0xDDDD
   950  	X_ALLOCA_S_MARKER_SIZE                                                         = 16
   951  	X_ALLOCA_S_STACK_MARKER                                                        = 0xCCCC
   952  	X_ALLOCA_S_THRESHOLD                                                           = 1024
   953  	X_ALPHA                                                                        = 259
   954  	X_BLANK                                                                        = 0x40
   955  	X_CALL_REPORTFAULT                                                             = 0x2
   956  	X_CONTROL                                                                      = 0x20
   957  	X_CRT_ABS_DEFINED                                                              = 0
   958  	X_CRT_ALGO_DEFINED                                                             = 0
   959  	X_CRT_ALLOCATION_DEFINED                                                       = 0
   960  	X_CRT_ATOF_DEFINED                                                             = 0
   961  	X_CRT_CTYPEDATA_DEFINED                                                        = 0
   962  	X_CRT_DOUBLE_DEC                                                               = 0
   963  	X_CRT_ERRNO_DEFINED                                                            = 0
   964  	X_CRT_SWAB_DEFINED                                                             = 0
   965  	X_CRT_SYSTEM_DEFINED                                                           = 0
   966  	X_CRT_WCTYPEDATA_DEFINED                                                       = 0
   967  	X_CRT_WSYSTEM_DEFINED                                                          = 0
   968  	X_CTYPE_DEFINED                                                                = 0
   969  	X_CVTBUFSIZE                                                                   = 349
   970  	X_DIGIT                                                                        = 0x4
   971  	X_DIV_T_DEFINED                                                                = 0
   972  	X_FREEA_INLINE                                                                 = 0
   973  	X_FREEENTRY                                                                    = 0
   974  	X_GCC_LIMITS_H_                                                                = 0
   975  	X_HEAPBADBEGIN                                                                 = -3
   976  	X_HEAPBADNODE                                                                  = -4
   977  	X_HEAPBADPTR                                                                   = -6
   978  	X_HEAPEMPTY                                                                    = -1
   979  	X_HEAPEND                                                                      = -5
   980  	X_HEAPINFO_DEFINED                                                             = 0
   981  	X_HEAPOK                                                                       = -2
   982  	X_HEAP_MAXREQ                                                                  = 0xFFFFFFFFFFFFFFE0
   983  	X_HEX                                                                          = 0x80
   984  	X_I16_MAX                                                                      = 32767
   985  	X_I16_MIN                                                                      = -32768
   986  	X_I32_MAX                                                                      = 2147483647
   987  	X_I32_MIN                                                                      = -2147483648
   988  	X_I64_MAX                                                                      = 9223372036854775807
   989  	X_I64_MIN                                                                      = -9223372036854775808
   990  	X_I8_MAX                                                                       = 127
   991  	X_I8_MIN                                                                       = -128
   992  	X_INC_CORECRT_WSTDLIB                                                          = 0
   993  	X_INC_CTYPE                                                                    = 0
   994  	X_INC_LIMITS                                                                   = 0
   995  	X_INC_STDLIB                                                                   = 0
   996  	X_INC_STDLIB_S                                                                 = 0
   997  	X_LEADBYTE                                                                     = 0x8000
   998  	X_LIMITS_H___                                                                  = 0
   999  	X_LOWER                                                                        = 0x2
  1000  	X_MALLOC_H_                                                                    = 0
  1001  	X_MAX_DIR                                                                      = 256
  1002  	X_MAX_DRIVE                                                                    = 3
  1003  	X_MAX_ENV                                                                      = 32767
  1004  	X_MAX_EXT                                                                      = 256
  1005  	X_MAX_FNAME                                                                    = 256
  1006  	X_MAX_PATH                                                                     = 260
  1007  	X_MAX_WAIT_MALLOC_CRT                                                          = 60000
  1008  	X_MM_MALLOC_H_INCLUDED                                                         = 0
  1009  	X_ONEXIT_T_DEFINED                                                             = 0
  1010  	X_OUT_TO_DEFAULT                                                               = 0
  1011  	X_OUT_TO_MSGBOX                                                                = 2
  1012  	X_OUT_TO_STDERR                                                                = 1
  1013  	X_PUNCT                                                                        = 0x10
  1014  	X_QSORT_S_DEFINED                                                              = 0
  1015  	X_REPORT_ERRMODE                                                               = 3
  1016  	X_SPACE                                                                        = 0x8
  1017  	X_UI16_MAX                                                                     = 0xffff
  1018  	X_UI32_MAX                                                                     = 0xffffffff
  1019  	X_UI64_MAX                                                                     = 0xffffffffffffffff
  1020  	X_UI8_MAX                                                                      = 0xff
  1021  	X_UPPER                                                                        = 0x1
  1022  	X_USEDENTRY                                                                    = 1
  1023  	X_WCTYPE_DEFINED                                                               = 0
  1024  	X_WCTYPE_INLINE_DEFINED                                                        = 0
  1025  	X_WRITE_ABORT_MSG                                                              = 0x1
  1026  	X_WSTDLIBP_DEFINED                                                             = 0
  1027  	X_WSTDLIB_DEFINED                                                              = 0
  1028  	CARRAY_COLUMN_COUNT                                                            = 2
  1029  	CARRAY_COLUMN_CTYPE                                                            = 3
  1030  	CARRAY_COLUMN_POINTER                                                          = 1
  1031  	CARRAY_COLUMN_VALUE                                                            = 0
  1032  	CARRAY_DOUBLE                                                                  = 2
  1033  	CARRAY_INT32                                                                   = 0
  1034  	CARRAY_INT64                                                                   = 1
  1035  	CARRAY_TEXT                                                                    = 3
  1036  	CLOSURE_COL_DEPTH                                                              = 1
  1037  	CLOSURE_COL_ID                                                                 = 0
  1038  	CLOSURE_COL_IDCOLUMN                                                           = 4
  1039  	CLOSURE_COL_PARENTCOLUMN                                                       = 5
  1040  	CLOSURE_COL_ROOT                                                               = 2
  1041  	CLOSURE_COL_TABLENAME                                                          = 3
  1042  	CSVTEST_FIDX                                                                   = 0x0001
  1043  	CSV_INBUFSZ                                                                    = 1024
  1044  	CSV_MXERR                                                                      = 200
  1045  	EXPLN_COLUMN_ADDR                                                              = 0
  1046  	EXPLN_COLUMN_COMMENT                                                           = 7
  1047  	EXPLN_COLUMN_OPCODE                                                            = 1
  1048  	EXPLN_COLUMN_P1                                                                = 2
  1049  	EXPLN_COLUMN_P2                                                                = 3
  1050  	EXPLN_COLUMN_P3                                                                = 4
  1051  	EXPLN_COLUMN_P4                                                                = 5
  1052  	EXPLN_COLUMN_P5                                                                = 6
  1053  	EXPLN_COLUMN_SQL                                                               = 8
  1054  	ABE_BOTTOM                                                                     = 3
  1055  	ABE_LEFT                                                                       = 0
  1056  	ABE_RIGHT                                                                      = 2
  1057  	ABE_TOP                                                                        = 1
  1058  	ABM_ACTIVATE                                                                   = 0x00000006
  1059  	ABM_GETAUTOHIDEBAR                                                             = 0x00000007
  1060  	ABM_GETSTATE                                                                   = 0x00000004
  1061  	ABM_GETTASKBARPOS                                                              = 0x00000005
  1062  	ABM_NEW                                                                        = 0x00000000
  1063  	ABM_QUERYPOS                                                                   = 0x00000002
  1064  	ABM_REMOVE                                                                     = 0x00000001
  1065  	ABM_SETAUTOHIDEBAR                                                             = 0x00000008
  1066  	ABM_SETPOS                                                                     = 0x00000003
  1067  	ABM_SETSTATE                                                                   = 0x0000000a
  1068  	ABM_WINDOWPOSCHANGED                                                           = 0x0000009
  1069  	ABN_FULLSCREENAPP                                                              = 0x0000002
  1070  	ABN_POSCHANGED                                                                 = 0x0000001
  1071  	ABN_STATECHANGE                                                                = 0x0000000
  1072  	ABN_WINDOWARRANGE                                                              = 0x0000003
  1073  	ABORTDOC                                                                       = 2
  1074  	ABOVE_NORMAL_PRIORITY_CLASS                                                    = 0x8000
  1075  	ABSOLUTE                                                                       = 1
  1076  	ABS_ALWAYSONTOP                                                                = 0x0000002
  1077  	ABS_AUTOHIDE                                                                   = 0x0000001
  1078  	ACCESS_ALLOWED_ACE_TYPE                                                        = 0
  1079  	ACCESS_ALLOWED_CALLBACK_ACE_TYPE                                               = 9
  1080  	ACCESS_ALLOWED_CALLBACK_OBJECT_ACE_TYPE                                        = 11
  1081  	ACCESS_ALLOWED_COMPOUND_ACE_TYPE                                               = 4
  1082  	ACCESS_ALLOWED_OBJECT_ACE_TYPE                                                 = 5
  1083  	ACCESS_DENIED_ACE_TYPE                                                         = 1
  1084  	ACCESS_DENIED_CALLBACK_ACE_TYPE                                                = 10
  1085  	ACCESS_DENIED_CALLBACK_OBJECT_ACE_TYPE                                         = 12
  1086  	ACCESS_DENIED_OBJECT_ACE_TYPE                                                  = 6
  1087  	ACCESS_DS_OBJECT_TYPE_NAME_A                                                   = "Directory Service Object"
  1088  	ACCESS_DS_SOURCE_A                                                             = "DS"
  1089  	ACCESS_FILTERKEYS                                                              = 0x0002
  1090  	ACCESS_MAX_LEVEL                                                               = 4
  1091  	ACCESS_MAX_MS_ACE_TYPE                                                         = 8
  1092  	ACCESS_MAX_MS_OBJECT_ACE_TYPE                                                  = 8
  1093  	ACCESS_MAX_MS_V2_ACE_TYPE                                                      = 3
  1094  	ACCESS_MAX_MS_V3_ACE_TYPE                                                      = 4
  1095  	ACCESS_MAX_MS_V4_ACE_TYPE                                                      = 8
  1096  	ACCESS_MAX_MS_V5_ACE_TYPE                                                      = 19
  1097  	ACCESS_MIN_MS_ACE_TYPE                                                         = 0
  1098  	ACCESS_MIN_MS_OBJECT_ACE_TYPE                                                  = 5
  1099  	ACCESS_MOUSEKEYS                                                               = 0x0003
  1100  	ACCESS_OBJECT_GUID                                                             = 0
  1101  	ACCESS_PROPERTY_GUID                                                           = 2
  1102  	ACCESS_PROPERTY_SET_GUID                                                       = 1
  1103  	ACCESS_REASON_DATA_MASK                                                        = 0x0000ffff
  1104  	ACCESS_REASON_EXDATA_MASK                                                      = 0x7f000000
  1105  	ACCESS_REASON_STAGING_MASK                                                     = 0x80000000
  1106  	ACCESS_REASON_TYPE_MASK                                                        = 0x00ff0000
  1107  	ACCESS_STICKYKEYS                                                              = 0x0001
  1108  	ACCESS_SYSTEM_SECURITY                                                         = 16777216
  1109  	ACE_INHERITED_OBJECT_TYPE_PRESENT                                              = 0x2
  1110  	ACE_OBJECT_TYPE_PRESENT                                                        = 0x1
  1111  	ACL_REVISION                                                                   = 2
  1112  	ACL_REVISION1                                                                  = 1
  1113  	ACL_REVISION2                                                                  = 2
  1114  	ACL_REVISION3                                                                  = 3
  1115  	ACL_REVISION4                                                                  = 4
  1116  	ACL_REVISION_DS                                                                = 4
  1117  	ACPI_PPM_HARDWARE_ALL                                                          = 0xfe
  1118  	ACPI_PPM_SOFTWARE_ALL                                                          = 0xfc
  1119  	ACPI_PPM_SOFTWARE_ANY                                                          = 0xfd
  1120  	ACTCTX_FLAG_APPLICATION_NAME_VALID                                             = 32
  1121  	ACTCTX_FLAG_ASSEMBLY_DIRECTORY_VALID                                           = 4
  1122  	ACTCTX_FLAG_HMODULE_VALID                                                      = 128
  1123  	ACTCTX_FLAG_LANGID_VALID                                                       = 2
  1124  	ACTCTX_FLAG_PROCESSOR_ARCHITECTURE_VALID                                       = 1
  1125  	ACTCTX_FLAG_RESOURCE_NAME_VALID                                                = 8
  1126  	ACTCTX_FLAG_SET_PROCESS_DEFAULT                                                = 16
  1127  	ACTCTX_FLAG_SOURCE_IS_ASSEMBLYREF                                              = 64
  1128  	ACTIVATION_CONTEXT_BASIC_INFORMATION_DEFINED                                   = 1
  1129  	ACTIVATION_CONTEXT_PATH_TYPE_ASSEMBLYREF                                       = 4
  1130  	ACTIVATION_CONTEXT_PATH_TYPE_NONE                                              = 1
  1131  	ACTIVATION_CONTEXT_PATH_TYPE_URL                                               = 3
  1132  	ACTIVATION_CONTEXT_PATH_TYPE_WIN32_FILE                                        = 2
  1133  	ACTIVATION_CONTEXT_SECTION_APPLICATION_SETTINGS                                = 10
  1134  	ACTIVATION_CONTEXT_SECTION_ASSEMBLY_INFORMATION                                = 1
  1135  	ACTIVATION_CONTEXT_SECTION_CLR_SURROGATES                                      = 9
  1136  	ACTIVATION_CONTEXT_SECTION_COMPATIBILITY_INFO                                  = 11
  1137  	ACTIVATION_CONTEXT_SECTION_COM_INTERFACE_REDIRECTION                           = 5
  1138  	ACTIVATION_CONTEXT_SECTION_COM_PROGID_REDIRECTION                              = 7
  1139  	ACTIVATION_CONTEXT_SECTION_COM_SERVER_REDIRECTION                              = 4
  1140  	ACTIVATION_CONTEXT_SECTION_COM_TYPE_LIBRARY_REDIRECTION                        = 6
  1141  	ACTIVATION_CONTEXT_SECTION_DLL_REDIRECTION                                     = 2
  1142  	ACTIVATION_CONTEXT_SECTION_GLOBAL_OBJECT_RENAME_TABLE                          = 8
  1143  	ACTIVATION_CONTEXT_SECTION_WINDOW_CLASS_REDIRECTION                            = 3
  1144  	ACTIVEOBJECT_STRONG                                                            = 0x0
  1145  	ACTIVEOBJECT_WEAK                                                              = 0x1
  1146  	AC_LINE_BACKUP_POWER                                                           = 0x02
  1147  	AC_LINE_OFFLINE                                                                = 0x00
  1148  	AC_LINE_ONLINE                                                                 = 0x01
  1149  	AC_LINE_UNKNOWN                                                                = 0xff
  1150  	AC_SRC_ALPHA                                                                   = 0x01
  1151  	AC_SRC_OVER                                                                    = 0x00
  1152  	ADDRESS_TAG_BIT                                                                = 0x40000000000
  1153  	AD_CLOCKWISE                                                                   = 2
  1154  	AD_COUNTERCLOCKWISE                                                            = 1
  1155  	AF_APPLETALK                                                                   = 16
  1156  	AF_BAN                                                                         = 21
  1157  	AF_CCITT                                                                       = 10
  1158  	AF_CHAOS                                                                       = 5
  1159  	AF_DATAKIT                                                                     = 9
  1160  	AF_DECnet                                                                      = 12
  1161  	AF_DLI                                                                         = 13
  1162  	AF_ECMA                                                                        = 8
  1163  	AF_FIREFOX                                                                     = 19
  1164  	AF_HYLINK                                                                      = 15
  1165  	AF_IMPLINK                                                                     = 3
  1166  	AF_INET                                                                        = 2
  1167  	AF_IPX                                                                         = 6
  1168  	AF_ISO                                                                         = 7
  1169  	AF_LAT                                                                         = 14
  1170  	AF_MAX                                                                         = 22
  1171  	AF_NETBIOS                                                                     = 17
  1172  	AF_NS                                                                          = 6
  1173  	AF_OSI                                                                         = 7
  1174  	AF_PUP                                                                         = 4
  1175  	AF_SNA                                                                         = 11
  1176  	AF_UNIX                                                                        = 1
  1177  	AF_UNKNOWN1                                                                    = 20
  1178  	AF_UNSPEC                                                                      = 0
  1179  	AF_VOICEVIEW                                                                   = 18
  1180  	ALERT_SYSTEM_CRITICAL                                                          = 5
  1181  	ALERT_SYSTEM_ERROR                                                             = 3
  1182  	ALERT_SYSTEM_INFORMATIONAL                                                     = 1
  1183  	ALERT_SYSTEM_QUERY                                                             = 4
  1184  	ALERT_SYSTEM_WARNING                                                           = 2
  1185  	ALGIDDEF                                                                       = 0
  1186  	ALG_CLASS_ALL                                                                  = 57344
  1187  	ALG_CLASS_ANY                                                                  = 0
  1188  	ALG_CLASS_DATA_ENCRYPT                                                         = 24576
  1189  	ALG_CLASS_HASH                                                                 = 32768
  1190  	ALG_CLASS_KEY_EXCHANGE                                                         = 40960
  1191  	ALG_CLASS_MSG_ENCRYPT                                                          = 16384
  1192  	ALG_CLASS_SIGNATURE                                                            = 8192
  1193  	ALG_SID_3DES                                                                   = 3
  1194  	ALG_SID_3DES_112                                                               = 9
  1195  	ALG_SID_AES                                                                    = 17
  1196  	ALG_SID_AES_128                                                                = 14
  1197  	ALG_SID_AES_192                                                                = 15
  1198  	ALG_SID_AES_256                                                                = 16
  1199  	ALG_SID_AGREED_KEY_ANY                                                         = 3
  1200  	ALG_SID_ANY                                                                    = 0
  1201  	ALG_SID_CAST                                                                   = 6
  1202  	ALG_SID_CYLINK_MEK                                                             = 12
  1203  	ALG_SID_DES                                                                    = 1
  1204  	ALG_SID_DESX                                                                   = 4
  1205  	ALG_SID_DH_EPHEM                                                               = 2
  1206  	ALG_SID_DH_SANDF                                                               = 1
  1207  	ALG_SID_DSS_ANY                                                                = 0
  1208  	ALG_SID_DSS_DMS                                                                = 2
  1209  	ALG_SID_DSS_PKCS                                                               = 1
  1210  	ALG_SID_EXAMPLE                                                                = 80
  1211  	ALG_SID_HASH_REPLACE_OWF                                                       = 11
  1212  	ALG_SID_HMAC                                                                   = 9
  1213  	ALG_SID_IDEA                                                                   = 5
  1214  	ALG_SID_KEA                                                                    = 4
  1215  	ALG_SID_MAC                                                                    = 5
  1216  	ALG_SID_MD2                                                                    = 1
  1217  	ALG_SID_MD4                                                                    = 2
  1218  	ALG_SID_MD5                                                                    = 3
  1219  	ALG_SID_PCT1_MASTER                                                            = 4
  1220  	ALG_SID_RC2                                                                    = 2
  1221  	ALG_SID_RC4                                                                    = 1
  1222  	ALG_SID_RC5                                                                    = 13
  1223  	ALG_SID_RIPEMD                                                                 = 6
  1224  	ALG_SID_RIPEMD160                                                              = 7
  1225  	ALG_SID_RSA_ANY                                                                = 0
  1226  	ALG_SID_RSA_ENTRUST                                                            = 3
  1227  	ALG_SID_RSA_MSATWORK                                                           = 2
  1228  	ALG_SID_RSA_PGP                                                                = 4
  1229  	ALG_SID_RSA_PKCS                                                               = 1
  1230  	ALG_SID_SAFERSK128                                                             = 8
  1231  	ALG_SID_SAFERSK64                                                              = 7
  1232  	ALG_SID_SCHANNEL_ENC_KEY                                                       = 7
  1233  	ALG_SID_SCHANNEL_MAC_KEY                                                       = 3
  1234  	ALG_SID_SCHANNEL_MASTER_HASH                                                   = 2
  1235  	ALG_SID_SEAL                                                                   = 2
  1236  	ALG_SID_SHA                                                                    = 4
  1237  	ALG_SID_SHA1                                                                   = 4
  1238  	ALG_SID_SHA_256                                                                = 12
  1239  	ALG_SID_SHA_384                                                                = 13
  1240  	ALG_SID_SHA_512                                                                = 14
  1241  	ALG_SID_SKIPJACK                                                               = 10
  1242  	ALG_SID_SSL2_MASTER                                                            = 5
  1243  	ALG_SID_SSL3SHAMD5                                                             = 8
  1244  	ALG_SID_SSL3_MASTER                                                            = 1
  1245  	ALG_SID_TEK                                                                    = 11
  1246  	ALG_SID_TLS1PRF                                                                = 10
  1247  	ALG_SID_TLS1_MASTER                                                            = 6
  1248  	ALG_TYPE_ANY                                                                   = 0
  1249  	ALG_TYPE_BLOCK                                                                 = 1536
  1250  	ALG_TYPE_DH                                                                    = 2560
  1251  	ALG_TYPE_DSS                                                                   = 512
  1252  	ALG_TYPE_RSA                                                                   = 1024
  1253  	ALG_TYPE_SECURECHANNEL                                                         = 3072
  1254  	ALG_TYPE_STREAM                                                                = 2048
  1255  	ALIGNMENT_MACHINE                                                              = 0
  1256  	ALTERNATE                                                                      = 1
  1257  	ALTNUMPAD_BIT                                                                  = 0x4000000
  1258  	ANSI_CHARSET                                                                   = 0
  1259  	ANSI_FIXED_FONT                                                                = 11
  1260  	ANSI_VAR_FONT                                                                  = 12
  1261  	ANTIALIASED_QUALITY                                                            = 4
  1262  	ANYSIZE_ARRAY                                                                  = 1
  1263  	APD_COPY_ALL_FILES                                                             = 0x00000004
  1264  	APD_COPY_FROM_DIRECTORY                                                        = 0x00000010
  1265  	APD_COPY_NEW_FILES                                                             = 0x00000008
  1266  	APD_STRICT_DOWNGRADE                                                           = 0x00000002
  1267  	APD_STRICT_UPGRADE                                                             = 0x00000001
  1268  	APIENTRY                                                                       = 0
  1269  	APIPRIVATE                                                                     = 0
  1270  	API_SET_EXTENSION_NAME_A                                                       = "EXT-"
  1271  	API_SET_LOAD_SCHEMA_ORDINAL                                                    = 1
  1272  	API_SET_LOOKUP_ORDINAL                                                         = 2
  1273  	API_SET_PREFIX_NAME_A                                                          = "API-"
  1274  	API_SET_RELEASE_SCHEMA_ORDINAL                                                 = 3
  1275  	API_SET_SCHEMA_VERSION                                                         = 2
  1276  	API_SET_SECTION_NAME                                                           = ".apiset"
  1277  	APPCLASS_MASK                                                                  = 15
  1278  	APPCLASS_MONITOR                                                               = 1
  1279  	APPCLASS_STANDARD                                                              = 0
  1280  	APPCMD_CLIENTONLY                                                              = 16
  1281  	APPCMD_FILTERINITS                                                             = 32
  1282  	APPCMD_MASK                                                                    = 4080
  1283  	APPCOMMAND_BASS_BOOST                                                          = 20
  1284  	APPCOMMAND_BASS_DOWN                                                           = 19
  1285  	APPCOMMAND_BASS_UP                                                             = 21
  1286  	APPCOMMAND_BROWSER_BACKWARD                                                    = 1
  1287  	APPCOMMAND_BROWSER_FAVORITES                                                   = 6
  1288  	APPCOMMAND_BROWSER_FORWARD                                                     = 2
  1289  	APPCOMMAND_BROWSER_HOME                                                        = 7
  1290  	APPCOMMAND_BROWSER_REFRESH                                                     = 3
  1291  	APPCOMMAND_BROWSER_SEARCH                                                      = 5
  1292  	APPCOMMAND_BROWSER_STOP                                                        = 4
  1293  	APPCOMMAND_CLOSE                                                               = 31
  1294  	APPCOMMAND_COPY                                                                = 36
  1295  	APPCOMMAND_CORRECTION_LIST                                                     = 45
  1296  	APPCOMMAND_CUT                                                                 = 37
  1297  	APPCOMMAND_DICTATE_OR_COMMAND_CONTROL_TOGGLE                                   = 43
  1298  	APPCOMMAND_FIND                                                                = 28
  1299  	APPCOMMAND_FORWARD_MAIL                                                        = 40
  1300  	APPCOMMAND_HELP                                                                = 27
  1301  	APPCOMMAND_LAUNCH_APP1                                                         = 17
  1302  	APPCOMMAND_LAUNCH_APP2                                                         = 18
  1303  	APPCOMMAND_LAUNCH_MAIL                                                         = 15
  1304  	APPCOMMAND_LAUNCH_MEDIA_SELECT                                                 = 16
  1305  	APPCOMMAND_MEDIA_CHANNEL_DOWN                                                  = 52
  1306  	APPCOMMAND_MEDIA_CHANNEL_UP                                                    = 51
  1307  	APPCOMMAND_MEDIA_FAST_FORWARD                                                  = 49
  1308  	APPCOMMAND_MEDIA_NEXTTRACK                                                     = 11
  1309  	APPCOMMAND_MEDIA_PAUSE                                                         = 47
  1310  	APPCOMMAND_MEDIA_PLAY                                                          = 46
  1311  	APPCOMMAND_MEDIA_PLAY_PAUSE                                                    = 14
  1312  	APPCOMMAND_MEDIA_PREVIOUSTRACK                                                 = 12
  1313  	APPCOMMAND_MEDIA_RECORD                                                        = 48
  1314  	APPCOMMAND_MEDIA_REWIND                                                        = 50
  1315  	APPCOMMAND_MEDIA_STOP                                                          = 13
  1316  	APPCOMMAND_MICROPHONE_VOLUME_DOWN                                              = 25
  1317  	APPCOMMAND_MICROPHONE_VOLUME_MUTE                                              = 24
  1318  	APPCOMMAND_MICROPHONE_VOLUME_UP                                                = 26
  1319  	APPCOMMAND_MIC_ON_OFF_TOGGLE                                                   = 44
  1320  	APPCOMMAND_NEW                                                                 = 29
  1321  	APPCOMMAND_OPEN                                                                = 30
  1322  	APPCOMMAND_PASTE                                                               = 38
  1323  	APPCOMMAND_PRINT                                                               = 33
  1324  	APPCOMMAND_REDO                                                                = 35
  1325  	APPCOMMAND_REPLY_TO_MAIL                                                       = 39
  1326  	APPCOMMAND_SAVE                                                                = 32
  1327  	APPCOMMAND_SEND_MAIL                                                           = 41
  1328  	APPCOMMAND_SPELL_CHECK                                                         = 42
  1329  	APPCOMMAND_TREBLE_DOWN                                                         = 22
  1330  	APPCOMMAND_TREBLE_UP                                                           = 23
  1331  	APPCOMMAND_UNDO                                                                = 34
  1332  	APPCOMMAND_VOLUME_DOWN                                                         = 9
  1333  	APPCOMMAND_VOLUME_MUTE                                                         = 8
  1334  	APPCOMMAND_VOLUME_UP                                                           = 10
  1335  	APPIDREGFLAGS_ACTIVATE_IUSERVER_INDESKTOP                                      = 0x1
  1336  	APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY                                 = 0x4
  1337  	APPIDREGFLAGS_IUSERVER_ACTIVATE_IN_CLIENT_SESSION_ONLY                         = 0x20
  1338  	APPIDREGFLAGS_IUSERVER_SELF_SID_IN_LAUNCH_PERMISSION                           = 0x10
  1339  	APPIDREGFLAGS_IUSERVER_UNMODIFIED_LOGON_TOKEN                                  = 0x8
  1340  	APPIDREGFLAGS_RESERVED1                                                        = 0x40
  1341  	APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND                                = 0x2
  1342  	APPLICATION_ERROR_MASK                                                         = 0x20000000
  1343  	APPLICATION_VERIFIER_ACCESS_VIOLATION                                          = 0x0002
  1344  	APPLICATION_VERIFIER_BAD_HEAP_HANDLE                                           = 0x0005
  1345  	APPLICATION_VERIFIER_COM_API_IN_DLLMAIN                                        = 0x0401
  1346  	APPLICATION_VERIFIER_COM_CF_SUCCESS_WITH_NULL                                  = 0x040A
  1347  	APPLICATION_VERIFIER_COM_ERROR                                                 = 0x0400
  1348  	APPLICATION_VERIFIER_COM_GCO_SUCCESS_WITH_NULL                                 = 0x040B
  1349  	APPLICATION_VERIFIER_COM_HOLDING_LOCKS_ON_CALL                                 = 0x0410
  1350  	APPLICATION_VERIFIER_COM_NULL_DACL                                             = 0x0406
  1351  	APPLICATION_VERIFIER_COM_OBJECT_IN_FREED_MEMORY                                = 0x040C
  1352  	APPLICATION_VERIFIER_COM_OBJECT_IN_UNLOADED_DLL                                = 0x040D
  1353  	APPLICATION_VERIFIER_COM_SMUGGLED_PROXY                                        = 0x0409
  1354  	APPLICATION_VERIFIER_COM_SMUGGLED_WRAPPER                                      = 0x0408
  1355  	APPLICATION_VERIFIER_COM_UNBALANCED_COINIT                                     = 0x0403
  1356  	APPLICATION_VERIFIER_COM_UNBALANCED_OLEINIT                                    = 0x0404
  1357  	APPLICATION_VERIFIER_COM_UNBALANCED_SWC                                        = 0x0405
  1358  	APPLICATION_VERIFIER_COM_UNHANDLED_EXCEPTION                                   = 0x0402
  1359  	APPLICATION_VERIFIER_COM_UNSAFE_IMPERSONATION                                  = 0x0407
  1360  	APPLICATION_VERIFIER_COM_VTBL_IN_FREED_MEMORY                                  = 0x040E
  1361  	APPLICATION_VERIFIER_COM_VTBL_IN_UNLOADED_DLL                                  = 0x040F
  1362  	APPLICATION_VERIFIER_CONTINUABLE_BREAK                                         = 0x10000000
  1363  	APPLICATION_VERIFIER_CORRUPTED_FREED_HEAP_BLOCK                                = 0x000E
  1364  	APPLICATION_VERIFIER_CORRUPTED_HEAP_BLOCK                                      = 0x0008
  1365  	APPLICATION_VERIFIER_CORRUPTED_HEAP_BLOCK_END_STAMP                            = 0x0011
  1366  	APPLICATION_VERIFIER_CORRUPTED_HEAP_BLOCK_EXCEPTION_RAISED_FOR_HEADER          = 0x000B
  1367  	APPLICATION_VERIFIER_CORRUPTED_HEAP_BLOCK_EXCEPTION_RAISED_FOR_PROBING         = 0x000C
  1368  	APPLICATION_VERIFIER_CORRUPTED_HEAP_BLOCK_HEADER                               = 0x000D
  1369  	APPLICATION_VERIFIER_CORRUPTED_HEAP_BLOCK_PREFIX                               = 0x0012
  1370  	APPLICATION_VERIFIER_CORRUPTED_HEAP_BLOCK_START_STAMP                          = 0x0010
  1371  	APPLICATION_VERIFIER_CORRUPTED_HEAP_BLOCK_SUFFIX                               = 0x000F
  1372  	APPLICATION_VERIFIER_CORRUPTED_HEAP_LIST                                       = 0x0014
  1373  	APPLICATION_VERIFIER_DESTROY_PROCESS_HEAP                                      = 0x0009
  1374  	APPLICATION_VERIFIER_DOUBLE_FREE                                               = 0x0007
  1375  	APPLICATION_VERIFIER_EXIT_THREAD_OWNS_LOCK                                     = 0x0200
  1376  	APPLICATION_VERIFIER_EXTREME_SIZE_REQUEST                                      = 0x0004
  1377  	APPLICATION_VERIFIER_FIRST_CHANCE_ACCESS_VIOLATION                             = 0x0013
  1378  	APPLICATION_VERIFIER_INCORRECT_WAIT_CALL                                       = 0x0302
  1379  	APPLICATION_VERIFIER_INTERNAL_ERROR                                            = 0x80000000
  1380  	APPLICATION_VERIFIER_INTERNAL_WARNING                                          = 0x40000000
  1381  	APPLICATION_VERIFIER_INVALID_ALLOCMEM                                          = 0x0601
  1382  	APPLICATION_VERIFIER_INVALID_EXIT_PROCESS_CALL                                 = 0x0102
  1383  	APPLICATION_VERIFIER_INVALID_FREEMEM                                           = 0x0600
  1384  	APPLICATION_VERIFIER_INVALID_HANDLE                                            = 0x0300
  1385  	APPLICATION_VERIFIER_INVALID_MAPVIEW                                           = 0x0602
  1386  	APPLICATION_VERIFIER_INVALID_TLS_VALUE                                         = 0x0301
  1387  	APPLICATION_VERIFIER_LOCK_ALREADY_INITIALIZED                                  = 0x0211
  1388  	APPLICATION_VERIFIER_LOCK_CORRUPTED                                            = 0x0205
  1389  	APPLICATION_VERIFIER_LOCK_DOUBLE_INITIALIZE                                    = 0x0203
  1390  	APPLICATION_VERIFIER_LOCK_INVALID_LOCK_COUNT                                   = 0x0208
  1391  	APPLICATION_VERIFIER_LOCK_INVALID_OWNER                                        = 0x0206
  1392  	APPLICATION_VERIFIER_LOCK_INVALID_RECURSION_COUNT                              = 0x0207
  1393  	APPLICATION_VERIFIER_LOCK_IN_FREED_HEAP                                        = 0x0202
  1394  	APPLICATION_VERIFIER_LOCK_IN_FREED_MEMORY                                      = 0x0204
  1395  	APPLICATION_VERIFIER_LOCK_IN_FREED_VMEM                                        = 0x0212
  1396  	APPLICATION_VERIFIER_LOCK_IN_UNLOADED_DLL                                      = 0x0201
  1397  	APPLICATION_VERIFIER_LOCK_IN_UNMAPPED_MEM                                      = 0x0213
  1398  	APPLICATION_VERIFIER_LOCK_NOT_INITIALIZED                                      = 0x0210
  1399  	APPLICATION_VERIFIER_LOCK_OVER_RELEASED                                        = 0x0209
  1400  	APPLICATION_VERIFIER_NO_BREAK                                                  = 0x20000000
  1401  	APPLICATION_VERIFIER_NULL_HANDLE                                               = 0x0303
  1402  	APPLICATION_VERIFIER_PROBE_FREE_MEM                                            = 0x0604
  1403  	APPLICATION_VERIFIER_PROBE_GUARD_PAGE                                          = 0x0605
  1404  	APPLICATION_VERIFIER_PROBE_INVALID_ADDRESS                                     = 0x0603
  1405  	APPLICATION_VERIFIER_PROBE_INVALID_START_OR_SIZE                               = 0x0607
  1406  	APPLICATION_VERIFIER_PROBE_NULL                                                = 0x0606
  1407  	APPLICATION_VERIFIER_RPC_ERROR                                                 = 0x0500
  1408  	APPLICATION_VERIFIER_SIZE_HEAP_UNEXPECTED_EXCEPTION                            = 0x0618
  1409  	APPLICATION_VERIFIER_STACK_OVERFLOW                                            = 0x0101
  1410  	APPLICATION_VERIFIER_SWITCHED_HEAP_HANDLE                                      = 0x0006
  1411  	APPLICATION_VERIFIER_TERMINATE_THREAD_CALL                                     = 0x0100
  1412  	APPLICATION_VERIFIER_THREAD_NOT_LOCK_OWNER                                     = 0x0214
  1413  	APPLICATION_VERIFIER_UNEXPECTED_EXCEPTION                                      = 0x000A
  1414  	APPLICATION_VERIFIER_UNKNOWN_ERROR                                             = 0x0001
  1415  	APPLICATION_VERIFIER_UNSYNCHRONIZED_ACCESS                                     = 0x0003
  1416  	APPLICATION_VERIFIER_WAIT_IN_DLLMAIN                                           = 0x0304
  1417  	APPMODEL_ERROR_NO_APPLICATION                                                  = 15703
  1418  	APPMODEL_ERROR_NO_PACKAGE                                                      = 15700
  1419  	APPMODEL_ERROR_PACKAGE_IDENTITY_CORRUPT                                        = 15702
  1420  	APPMODEL_ERROR_PACKAGE_RUNTIME_CORRUPT                                         = 15701
  1421  	APP_LOCAL_DEVICE_ID_SIZE                                                       = 32
  1422  	ARABIC_CHARSET                                                                 = 178
  1423  	ARW_BOTTOMLEFT                                                                 = 0
  1424  	ARW_BOTTOMRIGHT                                                                = 1
  1425  	ARW_DOWN                                                                       = 4
  1426  	ARW_HIDE                                                                       = 8
  1427  	ARW_LEFT                                                                       = 0
  1428  	ARW_RIGHT                                                                      = 0
  1429  	ARW_STARTMASK                                                                  = 3
  1430  	ARW_STARTRIGHT                                                                 = 1
  1431  	ARW_STARTTOP                                                                   = 2
  1432  	ARW_TOPLEFT                                                                    = 2
  1433  	ARW_TOPRIGHT                                                                   = 3
  1434  	ARW_UP                                                                         = 4
  1435  	ASPECTX                                                                        = 40
  1436  	ASPECTXY                                                                       = 44
  1437  	ASPECTY                                                                        = 42
  1438  	ASPECT_FILTERING                                                               = 0x0001
  1439  	ASSERT_ALTERNATE                                                               = 0x9
  1440  	ASSERT_PRIMARY                                                                 = 0x8
  1441  	ASYNCH                                                                         = 0x80
  1442  	ASYNC_MODE_COMPATIBILITY                                                       = 1
  1443  	ASYNC_MODE_DEFAULT                                                             = 0
  1444  	ATAPI_ID_CMD                                                                   = 0xA1
  1445  	ATF_ONOFFFEEDBACK                                                              = 0x00000002
  1446  	ATF_TIMEOUTON                                                                  = 0x00000001
  1447  	ATOM_FLAG_GLOBAL                                                               = 0x2
  1448  	ATTRIBUTE_SECURITY_INFORMATION                                                 = 32
  1449  	ATTR_CONVERTED                                                                 = 0x02
  1450  	ATTR_FIXEDCONVERTED                                                            = 0x05
  1451  	ATTR_INPUT                                                                     = 0x00
  1452  	ATTR_INPUT_ERROR                                                               = 0x04
  1453  	ATTR_TARGET_CONVERTED                                                          = 0x01
  1454  	ATTR_TARGET_NOTCONVERTED                                                       = 0x03
  1455  	AT_KEYEXCHANGE                                                                 = 1
  1456  	AT_SIGNATURE                                                                   = 2
  1457  	AUDIT_ALLOW_NO_PRIVILEGE                                                       = 0x1
  1458  	AUTHTYPE_CLIENT                                                                = 1
  1459  	AUTHTYPE_SERVER                                                                = 2
  1460  	AUXCAPS_AUXIN                                                                  = 2
  1461  	AUXCAPS_CDAUDIO                                                                = 1
  1462  	AUXCAPS_LRVOLUME                                                               = 0x0002
  1463  	AUXCAPS_VOLUME                                                                 = 0x0001
  1464  	AW_ACTIVATE                                                                    = 0x00020000
  1465  	AW_BLEND                                                                       = 0x00080000
  1466  	AW_CENTER                                                                      = 0x00000010
  1467  	AW_HIDE                                                                        = 0x00010000
  1468  	AW_HOR_NEGATIVE                                                                = 0x00000002
  1469  	AW_HOR_POSITIVE                                                                = 0x00000001
  1470  	AW_SLIDE                                                                       = 0x00040000
  1471  	AW_VER_NEGATIVE                                                                = 0x00000008
  1472  	AW_VER_POSITIVE                                                                = 0x00000004
  1473  	BACKGROUND_BLUE                                                                = 0x10
  1474  	BACKGROUND_GREEN                                                               = 0x20
  1475  	BACKGROUND_INTENSITY                                                           = 0x80
  1476  	BACKGROUND_RED                                                                 = 0x40
  1477  	BACKUP_ALTERNATE_DATA                                                          = 0x00000004
  1478  	BACKUP_DATA                                                                    = 0x00000001
  1479  	BACKUP_EA_DATA                                                                 = 0x00000002
  1480  	BACKUP_INVALID                                                                 = 0x00000000
  1481  	BACKUP_LINK                                                                    = 0x00000005
  1482  	BACKUP_OBJECT_ID                                                               = 0x00000007
  1483  	BACKUP_PROPERTY_DATA                                                           = 0x00000006
  1484  	BACKUP_REPARSE_DATA                                                            = 0x00000008
  1485  	BACKUP_SECURITY_DATA                                                           = 0x00000003
  1486  	BACKUP_SECURITY_INFORMATION                                                    = 65536
  1487  	BACKUP_SPARSE_BLOCK                                                            = 0x00000009
  1488  	BACKUP_TXFS_DATA                                                               = 0x0000000a
  1489  	BALTIC_CHARSET                                                                 = 186
  1490  	BANDINFO                                                                       = 24
  1491  	BASETYPES                                                                      = 0
  1492  	BASE_SEARCH_PATH_DISABLE_SAFE_SEARCHMODE                                       = 0x10000
  1493  	BASE_SEARCH_PATH_ENABLE_SAFE_SEARCHMODE                                        = 0x1
  1494  	BASE_SEARCH_PATH_INVALID_FLAGS                                                 = -98306
  1495  	BASE_SEARCH_PATH_PERMANENT                                                     = 0x8000
  1496  	BASIC_CONSTRAINTS_CERT_CHAIN_POLICY_CA_FLAG                                    = 0x80000000
  1497  	BASIC_CONSTRAINTS_CERT_CHAIN_POLICY_END_ENTITY_FLAG                            = 0x40000000
  1498  	BATTERY_DISCHARGE_FLAGS_ENABLE                                                 = 0x80000000
  1499  	BATTERY_DISCHARGE_FLAGS_EVENTCODE_MASK                                         = 0x00000007
  1500  	BATTERY_FLAG_CHARGING                                                          = 0x08
  1501  	BATTERY_FLAG_CRITICAL                                                          = 0x04
  1502  	BATTERY_FLAG_HIGH                                                              = 0x01
  1503  	BATTERY_FLAG_LOW                                                               = 0x02
  1504  	BATTERY_FLAG_NO_BATTERY                                                        = 0x80
  1505  	BATTERY_FLAG_UNKNOWN                                                           = 0xff
  1506  	BATTERY_LIFE_UNKNOWN                                                           = 0xffffffff
  1507  	BATTERY_PERCENTAGE_UNKNOWN                                                     = 0xff
  1508  	BCRYPTBUFFER_VERSION                                                           = 0
  1509  	BCRYPT_ALG_HANDLE_HMAC_FLAG                                                    = 0x00000008
  1510  	BCRYPT_ASYMMETRIC_ENCRYPTION_INTERFACE                                         = 0x00000003
  1511  	BCRYPT_ASYMMETRIC_ENCRYPTION_OPERATION                                         = 0x00000004
  1512  	BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO_VERSION                                  = 1
  1513  	BCRYPT_AUTH_MODE_CHAIN_CALLS_FLAG                                              = 0x00000001
  1514  	BCRYPT_AUTH_MODE_IN_PROGRESS_FLAG                                              = 0x00000002
  1515  	BCRYPT_BLOCK_PADDING                                                           = 0x00000001
  1516  	BCRYPT_BUFFERS_LOCKED_FLAG                                                     = 0x00000040
  1517  	BCRYPT_CAPI_AES_FLAG                                                           = 0x00000010
  1518  	BCRYPT_CIPHER_INTERFACE                                                        = 0x00000001
  1519  	BCRYPT_CIPHER_OPERATION                                                        = 0x00000001
  1520  	BCRYPT_DH_PARAMETERS_MAGIC                                                     = 0x4d504844
  1521  	BCRYPT_DH_PRIVATE_MAGIC                                                        = 0x56504844
  1522  	BCRYPT_DH_PUBLIC_MAGIC                                                         = 0x42504844
  1523  	BCRYPT_DSA_PARAMETERS_MAGIC                                                    = 0x4d505344
  1524  	BCRYPT_DSA_PARAMETERS_MAGIC_V2                                                 = 0x324d5044
  1525  	BCRYPT_DSA_PRIVATE_MAGIC                                                       = 0x56505344
  1526  	BCRYPT_DSA_PRIVATE_MAGIC_V2                                                    = 0x32565044
  1527  	BCRYPT_DSA_PUBLIC_MAGIC                                                        = 0x42505344
  1528  	BCRYPT_DSA_PUBLIC_MAGIC_V2                                                     = 0x32425044
  1529  	BCRYPT_ECDH_PRIVATE_P256_MAGIC                                                 = 0x324b4345
  1530  	BCRYPT_ECDH_PRIVATE_P384_MAGIC                                                 = 0x344b4345
  1531  	BCRYPT_ECDH_PRIVATE_P521_MAGIC                                                 = 0x364b4345
  1532  	BCRYPT_ECDH_PUBLIC_P256_MAGIC                                                  = 0x314b4345
  1533  	BCRYPT_ECDH_PUBLIC_P384_MAGIC                                                  = 0x334b4345
  1534  	BCRYPT_ECDH_PUBLIC_P521_MAGIC                                                  = 0x354b4345
  1535  	BCRYPT_ECDSA_PRIVATE_P256_MAGIC                                                = 0x32534345
  1536  	BCRYPT_ECDSA_PRIVATE_P384_MAGIC                                                = 0x34534345
  1537  	BCRYPT_ECDSA_PRIVATE_P521_MAGIC                                                = 0x36534345
  1538  	BCRYPT_ECDSA_PUBLIC_P256_MAGIC                                                 = 0x31534345
  1539  	BCRYPT_ECDSA_PUBLIC_P384_MAGIC                                                 = 0x33534345
  1540  	BCRYPT_ECDSA_PUBLIC_P521_MAGIC                                                 = 0x35534345
  1541  	BCRYPT_HASH_INTERFACE                                                          = 0x00000002
  1542  	BCRYPT_HASH_OPERATION                                                          = 0x00000002
  1543  	BCRYPT_HASH_REUSABLE_FLAG                                                      = 0x00000020
  1544  	BCRYPT_KEY_DATA_BLOB_MAGIC                                                     = 0x4d42444b
  1545  	BCRYPT_KEY_DATA_BLOB_VERSION1                                                  = 0x1
  1546  	BCRYPT_KEY_DERIVATION_INTERFACE                                                = 0x00000007
  1547  	BCRYPT_KEY_DERIVATION_OPERATION                                                = 0x00000040
  1548  	BCRYPT_NO_KEY_VALIDATION                                                       = 0x00000008
  1549  	BCRYPT_OBJECT_ALIGNMENT                                                        = 16
  1550  	BCRYPT_PAD_NONE                                                                = 0x00000001
  1551  	BCRYPT_PAD_OAEP                                                                = 0x00000004
  1552  	BCRYPT_PAD_PKCS1                                                               = 0x00000002
  1553  	BCRYPT_PAD_PSS                                                                 = 0x00000008
  1554  	BCRYPT_PRIVATE_KEY_FLAG                                                        = 0x00000002
  1555  	BCRYPT_PROV_DISPATCH                                                           = 0x00000001
  1556  	BCRYPT_PUBLIC_KEY_FLAG                                                         = 0x00000001
  1557  	BCRYPT_RNG_INTERFACE                                                           = 0x00000006
  1558  	BCRYPT_RNG_OPERATION                                                           = 0x00000020
  1559  	BCRYPT_RNG_USE_ENTROPY_IN_BUFFER                                               = 0x00000001
  1560  	BCRYPT_RSAFULLPRIVATE_MAGIC                                                    = 0x33415352
  1561  	BCRYPT_RSAPRIVATE_MAGIC                                                        = 0x32415352
  1562  	BCRYPT_RSAPUBLIC_MAGIC                                                         = 0x31415352
  1563  	BCRYPT_SECRET_AGREEMENT_INTERFACE                                              = 0x00000004
  1564  	BCRYPT_SECRET_AGREEMENT_OPERATION                                              = 0x00000008
  1565  	BCRYPT_SIGNATURE_INTERFACE                                                     = 0x00000005
  1566  	BCRYPT_SIGNATURE_OPERATION                                                     = 0x00000010
  1567  	BCRYPT_STRUCT_ALIGNMENT                                                        = 0
  1568  	BCRYPT_SUPPORTED_PAD_OAEP                                                      = 0x00000008
  1569  	BCRYPT_SUPPORTED_PAD_PKCS1_ENC                                                 = 0x00000002
  1570  	BCRYPT_SUPPORTED_PAD_PKCS1_SIG                                                 = 0x00000004
  1571  	BCRYPT_SUPPORTED_PAD_PSS                                                       = 0x00000010
  1572  	BCRYPT_SUPPORTED_PAD_ROUTER                                                    = 0x00000001
  1573  	BCRYPT_USE_SYSTEM_PREFERRED_RNG                                                = 0x00000002
  1574  	BDR_INNER                                                                      = 12
  1575  	BDR_OUTER                                                                      = 3
  1576  	BDR_RAISED                                                                     = 5
  1577  	BDR_RAISEDINNER                                                                = 0x0004
  1578  	BDR_RAISEDOUTER                                                                = 0x0001
  1579  	BDR_SUNKEN                                                                     = 10
  1580  	BDR_SUNKENINNER                                                                = 0x0008
  1581  	BDR_SUNKENOUTER                                                                = 0x0002
  1582  	BEGIN_INTERFACE                                                                = 0
  1583  	BEGIN_PATH                                                                     = 4096
  1584  	BELOW_NORMAL_PRIORITY_CLASS                                                    = 0x4000
  1585  	BF_ADJUST                                                                      = 0x2000
  1586  	BF_BOTTOM                                                                      = 0x0008
  1587  	BF_BOTTOMLEFT                                                                  = 9
  1588  	BF_BOTTOMRIGHT                                                                 = 12
  1589  	BF_DIAGONAL                                                                    = 0x0010
  1590  	BF_DIAGONAL_ENDBOTTOMLEFT                                                      = 25
  1591  	BF_DIAGONAL_ENDBOTTOMRIGHT                                                     = 28
  1592  	BF_DIAGONAL_ENDTOPLEFT                                                         = 19
  1593  	BF_DIAGONAL_ENDTOPRIGHT                                                        = 22
  1594  	BF_FLAT                                                                        = 0x4000
  1595  	BF_LEFT                                                                        = 0x0001
  1596  	BF_MIDDLE                                                                      = 0x0800
  1597  	BF_MONO                                                                        = 0x8000
  1598  	BF_RECT                                                                        = 15
  1599  	BF_RIGHT                                                                       = 0x0004
  1600  	BF_SOFT                                                                        = 0x1000
  1601  	BF_TOP                                                                         = 0x0002
  1602  	BF_TOPLEFT                                                                     = 3
  1603  	BF_TOPRIGHT                                                                    = 6
  1604  	BIDI_ACCESS_ADMINISTRATOR                                                      = 0x1
  1605  	BIDI_ACCESS_USER                                                               = 0x2
  1606  	BITSPIXEL                                                                      = 12
  1607  	BI_BITFIELDS                                                                   = 3
  1608  	BI_JPEG                                                                        = 4
  1609  	BI_PNG                                                                         = 5
  1610  	BI_RGB                                                                         = 0
  1611  	BI_RLE4                                                                        = 2
  1612  	BI_RLE8                                                                        = 1
  1613  	BKMODE_LAST                                                                    = 2
  1614  	BLACKONWHITE                                                                   = 1
  1615  	BLACK_BRUSH                                                                    = 4
  1616  	BLACK_PEN                                                                      = 7
  1617  	BLTALIGNMENT                                                                   = 119
  1618  	BM_CLICK                                                                       = 0x00F5
  1619  	BM_GETCHECK                                                                    = 0x00F0
  1620  	BM_GETIMAGE                                                                    = 0x00F6
  1621  	BM_GETSTATE                                                                    = 0x00F2
  1622  	BM_SETCHECK                                                                    = 0x00F1
  1623  	BM_SETIMAGE                                                                    = 0x00F7
  1624  	BM_SETSTATE                                                                    = 0x00F3
  1625  	BM_SETSTYLE                                                                    = 0x00F4
  1626  	BN_CLICKED                                                                     = 0
  1627  	BN_DBLCLK                                                                      = 5
  1628  	BN_DISABLE                                                                     = 4
  1629  	BN_DOUBLECLICKED                                                               = 5
  1630  	BN_HILITE                                                                      = 2
  1631  	BN_KILLFOCUS                                                                   = 7
  1632  	BN_PAINT                                                                       = 1
  1633  	BN_PUSHED                                                                      = 2
  1634  	BN_SETFOCUS                                                                    = 6
  1635  	BN_UNHILITE                                                                    = 3
  1636  	BN_UNPUSHED                                                                    = 3
  1637  	BOLD_FONTTYPE                                                                  = 0x100
  1638  	BROADCAST_QUERY_DENY                                                           = 0x424D5144
  1639  	BSF_ALLOWSFW                                                                   = 0x00000080
  1640  	BSF_FLUSHDISK                                                                  = 0x00000004
  1641  	BSF_FORCEIFHUNG                                                                = 0x00000020
  1642  	BSF_IGNORECURRENTTASK                                                          = 0x00000002
  1643  	BSF_LUID                                                                       = 0x00000400
  1644  	BSF_NOHANG                                                                     = 0x00000008
  1645  	BSF_NOTIMEOUTIFNOTHUNG                                                         = 0x00000040
  1646  	BSF_POSTMESSAGE                                                                = 0x00000010
  1647  	BSF_QUERY                                                                      = 0x00000001
  1648  	BSF_RETURNHDESK                                                                = 0x00000200
  1649  	BSF_SENDNOTIFYMESSAGE                                                          = 0x00000100
  1650  	BSM_ALLCOMPONENTS                                                              = 0x00000000
  1651  	BSM_ALLDESKTOPS                                                                = 0x00000010
  1652  	BSM_APPLICATIONS                                                               = 0x00000008
  1653  	BSM_INSTALLABLEDRIVERS                                                         = 0x00000004
  1654  	BSM_NETDRIVER                                                                  = 0x00000002
  1655  	BSM_VXDS                                                                       = 0x00000001
  1656  	BST_CHECKED                                                                    = 0x0001
  1657  	BST_FOCUS                                                                      = 0x0008
  1658  	BST_INDETERMINATE                                                              = 0x0002
  1659  	BST_PUSHED                                                                     = 0x0004
  1660  	BST_UNCHECKED                                                                  = 0x0000
  1661  	BS_3STATE                                                                      = 5
  1662  	BS_AUTO3STATE                                                                  = 6
  1663  	BS_AUTOCHECKBOX                                                                = 3
  1664  	BS_AUTORADIOBUTTON                                                             = 9
  1665  	BS_BITMAP                                                                      = 128
  1666  	BS_BOTTOM                                                                      = 2048
  1667  	BS_CENTER                                                                      = 768
  1668  	BS_CHECKBOX                                                                    = 2
  1669  	BS_DEFPUSHBUTTON                                                               = 1
  1670  	BS_DIBPATTERN                                                                  = 5
  1671  	BS_DIBPATTERN8X8                                                               = 8
  1672  	BS_DIBPATTERNPT                                                                = 6
  1673  	BS_FLAT                                                                        = 32768
  1674  	BS_GROUPBOX                                                                    = 7
  1675  	BS_HATCHED                                                                     = 2
  1676  	BS_HOLLOW                                                                      = 1
  1677  	BS_ICON                                                                        = 64
  1678  	BS_INDEXED                                                                     = 4
  1679  	BS_LEFT                                                                        = 256
  1680  	BS_LEFTTEXT                                                                    = 32
  1681  	BS_MONOPATTERN                                                                 = 9
  1682  	BS_MULTILINE                                                                   = 8192
  1683  	BS_NOTIFY                                                                      = 16384
  1684  	BS_NULL                                                                        = 1
  1685  	BS_OWNERDRAW                                                                   = 11
  1686  	BS_PATTERN                                                                     = 3
  1687  	BS_PATTERN8X8                                                                  = 7
  1688  	BS_PUSHBOX                                                                     = 10
  1689  	BS_PUSHBUTTON                                                                  = 0
  1690  	BS_PUSHLIKE                                                                    = 4096
  1691  	BS_RADIOBUTTON                                                                 = 4
  1692  	BS_RIGHT                                                                       = 512
  1693  	BS_RIGHTBUTTON                                                                 = 32
  1694  	BS_SOLID                                                                       = 0
  1695  	BS_TEXT                                                                        = 0
  1696  	BS_TOP                                                                         = 1024
  1697  	BS_TYPEMASK                                                                    = 15
  1698  	BS_USERBUTTON                                                                  = 8
  1699  	BS_VCENTER                                                                     = 3072
  1700  	C1_ALPHA                                                                       = 0x0100
  1701  	C1_BLANK                                                                       = 0x0040
  1702  	C1_CNTRL                                                                       = 0x0020
  1703  	C1_DEFINED                                                                     = 0x0200
  1704  	C1_DIGIT                                                                       = 0x0004
  1705  	C1_LOWER                                                                       = 0x0002
  1706  	C1_PUNCT                                                                       = 0x0010
  1707  	C1_SPACE                                                                       = 0x0008
  1708  	C1_UPPER                                                                       = 0x0001
  1709  	C1_XDIGIT                                                                      = 0x0080
  1710  	C2_ARABICNUMBER                                                                = 0x0006
  1711  	C2_BLOCKSEPARATOR                                                              = 0x0008
  1712  	C2_COMMONSEPARATOR                                                             = 0x0007
  1713  	C2_EUROPENUMBER                                                                = 0x0003
  1714  	C2_EUROPESEPARATOR                                                             = 0x0004
  1715  	C2_EUROPETERMINATOR                                                            = 0x0005
  1716  	C2_LEFTTORIGHT                                                                 = 0x0001
  1717  	C2_NOTAPPLICABLE                                                               = 0x0000
  1718  	C2_OTHERNEUTRAL                                                                = 0x000b
  1719  	C2_RIGHTTOLEFT                                                                 = 0x0002
  1720  	C2_SEGMENTSEPARATOR                                                            = 0x0009
  1721  	C2_WHITESPACE                                                                  = 0x000a
  1722  	C3_ALPHA                                                                       = 0x8000
  1723  	C3_DIACRITIC                                                                   = 0x0002
  1724  	C3_FULLWIDTH                                                                   = 0x0080
  1725  	C3_HALFWIDTH                                                                   = 0x0040
  1726  	C3_HIGHSURROGATE                                                               = 0x0800
  1727  	C3_HIRAGANA                                                                    = 0x0020
  1728  	C3_IDEOGRAPH                                                                   = 0x0100
  1729  	C3_KASHIDA                                                                     = 0x0200
  1730  	C3_KATAKANA                                                                    = 0x0010
  1731  	C3_LEXICAL                                                                     = 0x0400
  1732  	C3_LOWSURROGATE                                                                = 0x1000
  1733  	C3_NONSPACING                                                                  = 0x0001
  1734  	C3_NOTAPPLICABLE                                                               = 0x0000
  1735  	C3_SYMBOL                                                                      = 0x0008
  1736  	C3_VOWELMARK                                                                   = 0x0004
  1737  	CACHE_E_FIRST                                                                  = 2147746160
  1738  	CACHE_E_LAST                                                                   = 2147746175
  1739  	CACHE_FULLY_ASSOCIATIVE                                                        = 0xFF
  1740  	CACHE_S_FIRST                                                                  = 262512
  1741  	CACHE_S_LAST                                                                   = 262527
  1742  	CADV_LATEACK                                                                   = 0xFFFF
  1743  	CALERT_SYSTEM                                                                  = 6
  1744  	CALG_3DES                                                                      = 26115
  1745  	CALG_3DES_112                                                                  = 26121
  1746  	CALG_AES                                                                       = 26129
  1747  	CALG_AES_128                                                                   = 26126
  1748  	CALG_AES_192                                                                   = 26127
  1749  	CALG_AES_256                                                                   = 26128
  1750  	CALG_AGREEDKEY_ANY                                                             = 43523
  1751  	CALG_CYLINK_MEK                                                                = 26124
  1752  	CALG_DES                                                                       = 26113
  1753  	CALG_DESX                                                                      = 26116
  1754  	CALG_DH_EPHEM                                                                  = 43522
  1755  	CALG_DH_SF                                                                     = 43521
  1756  	CALG_DSS_SIGN                                                                  = 8704
  1757  	CALG_HASH_REPLACE_OWF                                                          = 32779
  1758  	CALG_HMAC                                                                      = 32777
  1759  	CALG_HUGHES_MD5                                                                = 40963
  1760  	CALG_KEA_KEYX                                                                  = 43524
  1761  	CALG_MAC                                                                       = 32773
  1762  	CALG_MD2                                                                       = 32769
  1763  	CALG_MD4                                                                       = 32770
  1764  	CALG_MD5                                                                       = 32771
  1765  	CALG_NO_SIGN                                                                   = 8192
  1766  	CALG_OID_INFO_CNG_ONLY                                                         = 0xffffffff
  1767  	CALG_OID_INFO_PARAMETERS                                                       = 0xfffffffe
  1768  	CALG_PCT1_MASTER                                                               = 19460
  1769  	CALG_RC2                                                                       = 26114
  1770  	CALG_RC4                                                                       = 26625
  1771  	CALG_RC5                                                                       = 26125
  1772  	CALG_RSA_KEYX                                                                  = 41984
  1773  	CALG_RSA_SIGN                                                                  = 9216
  1774  	CALG_SCHANNEL_ENC_KEY                                                          = 19463
  1775  	CALG_SCHANNEL_MAC_KEY                                                          = 19459
  1776  	CALG_SCHANNEL_MASTER_HASH                                                      = 19458
  1777  	CALG_SEAL                                                                      = 26626
  1778  	CALG_SHA                                                                       = 32772
  1779  	CALG_SHA1                                                                      = 32772
  1780  	CALG_SHA_256                                                                   = 32780
  1781  	CALG_SHA_384                                                                   = 32781
  1782  	CALG_SHA_512                                                                   = 32782
  1783  	CALG_SKIPJACK                                                                  = 26122
  1784  	CALG_SSL2_MASTER                                                               = 19461
  1785  	CALG_SSL3_MASTER                                                               = 19457
  1786  	CALG_SSL3_SHAMD5                                                               = 32776
  1787  	CALG_TEK                                                                       = 26123
  1788  	CALG_TLS1PRF                                                                   = 32778
  1789  	CALG_TLS1_MASTER                                                               = 19462
  1790  	CALLBACK                                                                       = 0
  1791  	CALLBACK_CHUNK_FINISHED                                                        = 0x0
  1792  	CALLBACK_EVENT                                                                 = 327680
  1793  	CALLBACK_FUNCTION                                                              = 196608
  1794  	CALLBACK_NULL                                                                  = 0
  1795  	CALLBACK_STREAM_SWITCH                                                         = 0x1
  1796  	CALLBACK_TASK                                                                  = 131072
  1797  	CALLBACK_THREAD                                                                = 131072
  1798  	CALLBACK_TYPEMASK                                                              = 458752
  1799  	CALLBACK_WINDOW                                                                = 65536
  1800  	CALL_PENDING                                                                   = 0x02
  1801  	CAL_GREGORIAN                                                                  = 1
  1802  	CAL_GREGORIAN_ARABIC                                                           = 10
  1803  	CAL_GREGORIAN_ME_FRENCH                                                        = 9
  1804  	CAL_GREGORIAN_US                                                               = 2
  1805  	CAL_GREGORIAN_XLIT_ENGLISH                                                     = 11
  1806  	CAL_GREGORIAN_XLIT_FRENCH                                                      = 12
  1807  	CAL_HEBREW                                                                     = 8
  1808  	CAL_HIJRI                                                                      = 6
  1809  	CAL_ICALINTVALUE                                                               = 0x00000001
  1810  	CAL_ITWODIGITYEARMAX                                                           = 0x00000030
  1811  	CAL_IYEAROFFSETRANGE                                                           = 0x00000003
  1812  	CAL_JAPAN                                                                      = 3
  1813  	CAL_KOREA                                                                      = 5
  1814  	CAL_NOUSEROVERRIDE                                                             = 2147483648
  1815  	CAL_RETURN_NUMBER                                                              = 536870912
  1816  	CAL_SABBREVDAYNAME1                                                            = 0x0000000e
  1817  	CAL_SABBREVDAYNAME2                                                            = 0x0000000f
  1818  	CAL_SABBREVDAYNAME3                                                            = 0x00000010
  1819  	CAL_SABBREVDAYNAME4                                                            = 0x00000011
  1820  	CAL_SABBREVDAYNAME5                                                            = 0x00000012
  1821  	CAL_SABBREVDAYNAME6                                                            = 0x00000013
  1822  	CAL_SABBREVDAYNAME7                                                            = 0x00000014
  1823  	CAL_SABBREVMONTHNAME1                                                          = 0x00000022
  1824  	CAL_SABBREVMONTHNAME10                                                         = 0x0000002b
  1825  	CAL_SABBREVMONTHNAME11                                                         = 0x0000002c
  1826  	CAL_SABBREVMONTHNAME12                                                         = 0x0000002d
  1827  	CAL_SABBREVMONTHNAME13                                                         = 0x0000002e
  1828  	CAL_SABBREVMONTHNAME2                                                          = 0x00000023
  1829  	CAL_SABBREVMONTHNAME3                                                          = 0x00000024
  1830  	CAL_SABBREVMONTHNAME4                                                          = 0x00000025
  1831  	CAL_SABBREVMONTHNAME5                                                          = 0x00000026
  1832  	CAL_SABBREVMONTHNAME6                                                          = 0x00000027
  1833  	CAL_SABBREVMONTHNAME7                                                          = 0x00000028
  1834  	CAL_SABBREVMONTHNAME8                                                          = 0x00000029
  1835  	CAL_SABBREVMONTHNAME9                                                          = 0x0000002a
  1836  	CAL_SCALNAME                                                                   = 0x00000002
  1837  	CAL_SDAYNAME1                                                                  = 0x00000007
  1838  	CAL_SDAYNAME2                                                                  = 0x00000008
  1839  	CAL_SDAYNAME3                                                                  = 0x00000009
  1840  	CAL_SDAYNAME4                                                                  = 0x0000000a
  1841  	CAL_SDAYNAME5                                                                  = 0x0000000b
  1842  	CAL_SDAYNAME6                                                                  = 0x0000000c
  1843  	CAL_SDAYNAME7                                                                  = 0x0000000d
  1844  	CAL_SERASTRING                                                                 = 0x00000004
  1845  	CAL_SLONGDATE                                                                  = 0x00000006
  1846  	CAL_SMONTHNAME1                                                                = 0x00000015
  1847  	CAL_SMONTHNAME10                                                               = 0x0000001e
  1848  	CAL_SMONTHNAME11                                                               = 0x0000001f
  1849  	CAL_SMONTHNAME12                                                               = 0x00000020
  1850  	CAL_SMONTHNAME13                                                               = 0x00000021
  1851  	CAL_SMONTHNAME2                                                                = 0x00000016
  1852  	CAL_SMONTHNAME3                                                                = 0x00000017
  1853  	CAL_SMONTHNAME4                                                                = 0x00000018
  1854  	CAL_SMONTHNAME5                                                                = 0x00000019
  1855  	CAL_SMONTHNAME6                                                                = 0x0000001a
  1856  	CAL_SMONTHNAME7                                                                = 0x0000001b
  1857  	CAL_SMONTHNAME8                                                                = 0x0000001c
  1858  	CAL_SMONTHNAME9                                                                = 0x0000001d
  1859  	CAL_SSHORTDATE                                                                 = 0x00000005
  1860  	CAL_SYEARMONTH                                                                 = 0x0000002f
  1861  	CAL_TAIWAN                                                                     = 4
  1862  	CAL_THAI                                                                       = 7
  1863  	CAL_UMALQURA                                                                   = 23
  1864  	CAL_USE_CP_ACP                                                                 = 1073741824
  1865  	CAPSLOCK_ON                                                                    = 0x80
  1866  	CAP_ATAPI_ID_CMD                                                               = 2
  1867  	CAP_ATA_ID_CMD                                                                 = 1
  1868  	CAP_SMART_CMD                                                                  = 4
  1869  	CAT_E_FIRST                                                                    = 2147746144
  1870  	CAT_E_LAST                                                                     = 2147746145
  1871  	CA_LOG_FILTER                                                                  = 0x0002
  1872  	CA_NEGATIVE                                                                    = 0x0001
  1873  	CBF_FAIL_ADVISES                                                               = 0x00004000
  1874  	CBF_FAIL_ALLSVRXACTIONS                                                        = 0x0003f000
  1875  	CBF_FAIL_CONNECTIONS                                                           = 0x00002000
  1876  	CBF_FAIL_EXECUTES                                                              = 0x00008000
  1877  	CBF_FAIL_POKES                                                                 = 0x00010000
  1878  	CBF_FAIL_REQUESTS                                                              = 0x00020000
  1879  	CBF_FAIL_SELFCONNECTIONS                                                       = 0x00001000
  1880  	CBF_SKIP_ALLNOTIFICATIONS                                                      = 0x003c0000
  1881  	CBF_SKIP_CONNECT_CONFIRMS                                                      = 0x00040000
  1882  	CBF_SKIP_DISCONNECTS                                                           = 0x00200000
  1883  	CBF_SKIP_REGISTRATIONS                                                         = 0x00080000
  1884  	CBF_SKIP_UNREGISTRATIONS                                                       = 0x00100000
  1885  	CBM_INIT                                                                       = 4
  1886  	CBN_CLOSEUP                                                                    = 8
  1887  	CBN_DBLCLK                                                                     = 2
  1888  	CBN_DROPDOWN                                                                   = 7
  1889  	CBN_EDITCHANGE                                                                 = 5
  1890  	CBN_EDITUPDATE                                                                 = 6
  1891  	CBN_ERRSPACE                                                                   = -1
  1892  	CBN_KILLFOCUS                                                                  = 4
  1893  	CBN_SELCHANGE                                                                  = 1
  1894  	CBN_SELENDCANCEL                                                               = 10
  1895  	CBN_SELENDOK                                                                   = 9
  1896  	CBN_SETFOCUS                                                                   = 3
  1897  	CBR_110                                                                        = 110
  1898  	CBR_115200                                                                     = 115200
  1899  	CBR_1200                                                                       = 1200
  1900  	CBR_128000                                                                     = 128000
  1901  	CBR_14400                                                                      = 14400
  1902  	CBR_19200                                                                      = 19200
  1903  	CBR_2400                                                                       = 2400
  1904  	CBR_256000                                                                     = 256000
  1905  	CBR_300                                                                        = 300
  1906  	CBR_38400                                                                      = 38400
  1907  	CBR_4800                                                                       = 4800
  1908  	CBR_56000                                                                      = 56000
  1909  	CBR_57600                                                                      = 57600
  1910  	CBR_600                                                                        = 600
  1911  	CBR_9600                                                                       = 9600
  1912  	CBS_AUTOHSCROLL                                                                = 64
  1913  	CBS_DISABLENOSCROLL                                                            = 2048
  1914  	CBS_DROPDOWN                                                                   = 2
  1915  	CBS_DROPDOWNLIST                                                               = 3
  1916  	CBS_HASSTRINGS                                                                 = 512
  1917  	CBS_LOWERCASE                                                                  = 16384
  1918  	CBS_NOINTEGRALHEIGHT                                                           = 1024
  1919  	CBS_OEMCONVERT                                                                 = 128
  1920  	CBS_OWNERDRAWFIXED                                                             = 16
  1921  	CBS_OWNERDRAWVARIABLE                                                          = 32
  1922  	CBS_SIMPLE                                                                     = 1
  1923  	CBS_SORT                                                                       = 256
  1924  	CBS_UPPERCASE                                                                  = 8192
  1925  	CB_ADDSTRING                                                                   = 0x0143
  1926  	CB_DELETESTRING                                                                = 0x0144
  1927  	CB_DIR                                                                         = 0x0145
  1928  	CB_ERR                                                                         = -1
  1929  	CB_ERRSPACE                                                                    = -2
  1930  	CB_FINDSTRING                                                                  = 0x014C
  1931  	CB_FINDSTRINGEXACT                                                             = 0x0158
  1932  	CB_GETCOMBOBOXINFO                                                             = 0x0164
  1933  	CB_GETCOUNT                                                                    = 0x0146
  1934  	CB_GETCURSEL                                                                   = 0x0147
  1935  	CB_GETDROPPEDCONTROLRECT                                                       = 0x0152
  1936  	CB_GETDROPPEDSTATE                                                             = 0x0157
  1937  	CB_GETDROPPEDWIDTH                                                             = 0x015f
  1938  	CB_GETEDITSEL                                                                  = 0x0140
  1939  	CB_GETEXTENDEDUI                                                               = 0x0156
  1940  	CB_GETHORIZONTALEXTENT                                                         = 0x015d
  1941  	CB_GETITEMDATA                                                                 = 0x0150
  1942  	CB_GETITEMHEIGHT                                                               = 0x0154
  1943  	CB_GETLBTEXT                                                                   = 0x0148
  1944  	CB_GETLBTEXTLEN                                                                = 0x0149
  1945  	CB_GETLOCALE                                                                   = 0x015A
  1946  	CB_GETTOPINDEX                                                                 = 0x015b
  1947  	CB_INITSTORAGE                                                                 = 0x0161
  1948  	CB_INSERTSTRING                                                                = 0x014A
  1949  	CB_LIMITTEXT                                                                   = 0x0141
  1950  	CB_MSGMAX                                                                      = 0x0165
  1951  	CB_OKAY                                                                        = 0
  1952  	CB_RESETCONTENT                                                                = 0x014B
  1953  	CB_SELECTSTRING                                                                = 0x014D
  1954  	CB_SETCURSEL                                                                   = 0x014E
  1955  	CB_SETDROPPEDWIDTH                                                             = 0x0160
  1956  	CB_SETEDITSEL                                                                  = 0x0142
  1957  	CB_SETEXTENDEDUI                                                               = 0x0155
  1958  	CB_SETHORIZONTALEXTENT                                                         = 0x015e
  1959  	CB_SETITEMDATA                                                                 = 0x0151
  1960  	CB_SETITEMHEIGHT                                                               = 0x0153
  1961  	CB_SETLOCALE                                                                   = 0x0159
  1962  	CB_SETTOPINDEX                                                                 = 0x015c
  1963  	CB_SHOWDROPDOWN                                                                = 0x014F
  1964  	CCERR_CHOOSECOLORCODES                                                         = 0x5000
  1965  	CCHDEVICENAME                                                                  = 32
  1966  	CCHFORMNAME                                                                    = 32
  1967  	CCHILDREN_SCROLLBAR                                                            = 5
  1968  	CCHILDREN_TITLEBAR                                                             = 5
  1969  	CCH_MAX_PROPSTG_NAME                                                           = 31
  1970  	CC_ANYCOLOR                                                                    = 0x100
  1971  	CC_CHORD                                                                       = 4
  1972  	CC_CIRCLES                                                                     = 1
  1973  	CC_ELLIPSES                                                                    = 8
  1974  	CC_ENABLEHOOK                                                                  = 0x10
  1975  	CC_ENABLETEMPLATE                                                              = 0x20
  1976  	CC_ENABLETEMPLATEHANDLE                                                        = 0x40
  1977  	CC_FULLOPEN                                                                    = 0x2
  1978  	CC_INTERIORS                                                                   = 128
  1979  	CC_NONE                                                                        = 0
  1980  	CC_PIE                                                                         = 2
  1981  	CC_PREVENTFULLOPEN                                                             = 0x4
  1982  	CC_RGBINIT                                                                     = 0x1
  1983  	CC_ROUNDRECT                                                                   = 256
  1984  	CC_SHOWHELP                                                                    = 0x8
  1985  	CC_SOLIDCOLOR                                                                  = 0x80
  1986  	CC_STYLED                                                                      = 32
  1987  	CC_WIDE                                                                        = 16
  1988  	CC_WIDESTYLED                                                                  = 64
  1989  	CDECL                                                                          = 0
  1990  	CDERR_DIALOGFAILURE                                                            = 0xFFFF
  1991  	CDERR_FINDRESFAILURE                                                           = 0x0006
  1992  	CDERR_GENERALCODES                                                             = 0x0000
  1993  	CDERR_INITIALIZATION                                                           = 0x0002
  1994  	CDERR_LOADRESFAILURE                                                           = 0x0007
  1995  	CDERR_LOADSTRFAILURE                                                           = 0x0005
  1996  	CDERR_LOCKRESFAILURE                                                           = 0x0008
  1997  	CDERR_MEMALLOCFAILURE                                                          = 0x0009
  1998  	CDERR_MEMLOCKFAILURE                                                           = 0x000A
  1999  	CDERR_NOHINSTANCE                                                              = 0x0004
  2000  	CDERR_NOHOOK                                                                   = 0x000B
  2001  	CDERR_NOTEMPLATE                                                               = 0x0003
  2002  	CDERR_REGISTERMSGFAIL                                                          = 0x000C
  2003  	CDERR_STRUCTSIZE                                                               = 0x0001
  2004  	CDM_FIRST                                                                      = 1124
  2005  	CDM_GETFILEPATH                                                                = 1125
  2006  	CDM_GETFOLDERIDLIST                                                            = 1127
  2007  	CDM_GETFOLDERPATH                                                              = 1126
  2008  	CDM_GETSPEC                                                                    = 1124
  2009  	CDM_HIDECONTROL                                                                = 1129
  2010  	CDM_LAST                                                                       = 1224
  2011  	CDM_SETCONTROLTEXT                                                             = 1128
  2012  	CDM_SETDEFEXT                                                                  = 1130
  2013  	CDN_FILEOK                                                                     = 18446744073709551010
  2014  	CDN_FIRST                                                                      = 18446744073709551015
  2015  	CDN_FOLDERCHANGE                                                               = 18446744073709551013
  2016  	CDN_HELP                                                                       = 18446744073709551011
  2017  	CDN_INCLUDEITEM                                                                = 18446744073709551008
  2018  	CDN_INITDONE                                                                   = 18446744073709551015
  2019  	CDN_LAST                                                                       = 18446744073709550917
  2020  	CDN_SELCHANGE                                                                  = 18446744073709551014
  2021  	CDN_SHAREVIOLATION                                                             = 18446744073709551012
  2022  	CDN_TYPECHANGE                                                                 = 18446744073709551009
  2023  	CDS_FULLSCREEN                                                                 = 0x00000004
  2024  	CDS_GLOBAL                                                                     = 0x00000008
  2025  	CDS_NORESET                                                                    = 0x10000000
  2026  	CDS_RESET                                                                      = 0x40000000
  2027  	CDS_RESET_EX                                                                   = 0x20000000
  2028  	CDS_SET_PRIMARY                                                                = 0x00000010
  2029  	CDS_TEST                                                                       = 0x00000002
  2030  	CDS_UPDATEREGISTRY                                                             = 0x00000001
  2031  	CDS_VIDEOPARAMETERS                                                            = 0x00000020
  2032  	CD_LBSELADD                                                                    = 2
  2033  	CD_LBSELCHANGE                                                                 = 0
  2034  	CD_LBSELNOITEMS                                                                = -1
  2035  	CD_LBSELSUB                                                                    = 1
  2036  	CERT_ACCESS_STATE_GP_SYSTEM_STORE_FLAG                                         = 0x8
  2037  	CERT_ACCESS_STATE_LM_SYSTEM_STORE_FLAG                                         = 0x4
  2038  	CERT_ACCESS_STATE_PROP_ID                                                      = 14
  2039  	CERT_ACCESS_STATE_SHARED_USER_FLAG                                             = 0x10
  2040  	CERT_ACCESS_STATE_SYSTEM_STORE_FLAG                                            = 0x2
  2041  	CERT_ACCESS_STATE_WRITE_PERSIST_FLAG                                           = 0x1
  2042  	CERT_AIA_URL_RETRIEVED_PROP_ID                                                 = 67
  2043  	CERT_ALT_NAME_DIRECTORY_NAME                                                   = 5
  2044  	CERT_ALT_NAME_DNS_NAME                                                         = 3
  2045  	CERT_ALT_NAME_EDI_PARTY_NAME                                                   = 6
  2046  	CERT_ALT_NAME_ENTRY_ERR_INDEX_MASK                                             = 0xff
  2047  	CERT_ALT_NAME_ENTRY_ERR_INDEX_SHIFT                                            = 16
  2048  	CERT_ALT_NAME_IP_ADDRESS                                                       = 8
  2049  	CERT_ALT_NAME_OTHER_NAME                                                       = 1
  2050  	CERT_ALT_NAME_REGISTERED_ID                                                    = 9
  2051  	CERT_ALT_NAME_RFC822_NAME                                                      = 2
  2052  	CERT_ALT_NAME_URL                                                              = 7
  2053  	CERT_ALT_NAME_VALUE_ERR_INDEX_MASK                                             = 0x0000ffff
  2054  	CERT_ALT_NAME_VALUE_ERR_INDEX_SHIFT                                            = 0
  2055  	CERT_ALT_NAME_X400_ADDRESS                                                     = 4
  2056  	CERT_ARCHIVED_KEY_HASH_PROP_ID                                                 = 65
  2057  	CERT_ARCHIVED_PROP_ID                                                          = 19
  2058  	CERT_AUTHORITY_INFO_ACCESS_PROP_ID                                             = 68
  2059  	CERT_AUTH_ROOT_AUTO_UPDATE_DISABLE_PARTIAL_CHAIN_LOGGING_FLAG                  = 0x2
  2060  	CERT_AUTH_ROOT_AUTO_UPDATE_DISABLE_UNTRUSTED_ROOT_LOGGING_FLAG                 = 0x1
  2061  	CERT_AUTH_ROOT_CTL_FILENAME_A                                                  = "authroot.stl"
  2062  	CERT_AUTH_ROOT_SHA256_HASH_PROP_ID                                             = 98
  2063  	CERT_AUTO_ENROLL_PROP_ID                                                       = 21
  2064  	CERT_AUTO_ENROLL_RETRY_PROP_ID                                                 = 66
  2065  	CERT_AUTO_UPDATE_DISABLE_RANDOM_QUERY_STRING_FLAG                              = 0x4
  2066  	CERT_BACKED_UP_PROP_ID                                                         = 69
  2067  	CERT_BIOMETRIC_OID_DATA_CHOICE                                                 = 2
  2068  	CERT_BIOMETRIC_PICTURE_TYPE                                                    = 0
  2069  	CERT_BIOMETRIC_PREDEFINED_DATA_CHOICE                                          = 1
  2070  	CERT_BIOMETRIC_SIGNATURE_TYPE                                                  = 1
  2071  	CERT_BUNDLE_CERTIFICATE                                                        = 0
  2072  	CERT_BUNDLE_CRL                                                                = 1
  2073  	CERT_CASE_INSENSITIVE_IS_RDN_ATTRS_FLAG                                        = 0x2
  2074  	CERT_CA_DISABLE_CRL_PROP_ID                                                    = 82
  2075  	CERT_CA_OCSP_AUTHORITY_INFO_ACCESS_PROP_ID                                     = 81
  2076  	CERT_CA_SUBJECT_FLAG                                                           = 0x80
  2077  	CERT_CEP_PROP_ID                                                               = 87
  2078  	CERT_CHAIN_AUTO_CURRENT_USER                                                   = 1
  2079  	CERT_CHAIN_AUTO_FLUSH_DISABLE_FLAG                                             = 0x00000001
  2080  	CERT_CHAIN_AUTO_FLUSH_FIRST_DELTA_SECONDS_DEFAULT                              = 300
  2081  	CERT_CHAIN_AUTO_FLUSH_NEXT_DELTA_SECONDS_DEFAULT                               = 1800
  2082  	CERT_CHAIN_AUTO_HPKP_RULE_INFO                                                 = 8
  2083  	CERT_CHAIN_AUTO_IMPERSONATED                                                   = 3
  2084  	CERT_CHAIN_AUTO_LOCAL_MACHINE                                                  = 2
  2085  	CERT_CHAIN_AUTO_LOG_CREATE_FLAG                                                = 0x00000002
  2086  	CERT_CHAIN_AUTO_LOG_FLAGS                                                      = 14
  2087  	CERT_CHAIN_AUTO_LOG_FLUSH_FLAG                                                 = 0x00000008
  2088  	CERT_CHAIN_AUTO_LOG_FREE_FLAG                                                  = 0x00000004
  2089  	CERT_CHAIN_AUTO_NETWORK_INFO                                                   = 6
  2090  	CERT_CHAIN_AUTO_PINRULE_INFO                                                   = 5
  2091  	CERT_CHAIN_AUTO_PROCESS_INFO                                                   = 4
  2092  	CERT_CHAIN_AUTO_SERIAL_LOCAL_MACHINE                                           = 7
  2093  	CERT_CHAIN_CACHE_END_CERT                                                      = 0x1
  2094  	CERT_CHAIN_CACHE_ONLY_URL_RETRIEVAL                                            = 0x4
  2095  	CERT_CHAIN_CRL_VALIDITY_EXT_PERIOD_HOURS_DEFAULT                               = 12
  2096  	CERT_CHAIN_CROSS_CERT_DOWNLOAD_INTERVAL_HOURS_DEFAULT                          = 168
  2097  	CERT_CHAIN_DISABLE_AIA                                                         = 0x2000
  2098  	CERT_CHAIN_DISABLE_ALL_EKU_WEAK_FLAG                                           = 0x00010000
  2099  	CERT_CHAIN_DISABLE_AUTH_ROOT_AUTO_UPDATE                                       = 0x100
  2100  	CERT_CHAIN_DISABLE_CODE_SIGNING_WEAK_FLAG                                      = 0x00400000
  2101  	CERT_CHAIN_DISABLE_FILE_HASH_WEAK_FLAG                                         = 0x00001000
  2102  	CERT_CHAIN_DISABLE_FILE_HASH_WEAK_FLAGS                                        = 12288
  2103  	CERT_CHAIN_DISABLE_MD2_MD4                                                     = 0x1000
  2104  	CERT_CHAIN_DISABLE_MOTW_CODE_SIGNING_WEAK_FLAG                                 = 0x00800000
  2105  	CERT_CHAIN_DISABLE_MOTW_FILE_HASH_WEAK_FLAG                                    = 0x00002000
  2106  	CERT_CHAIN_DISABLE_MOTW_TIMESTAMP_HASH_WEAK_FLAG                               = 0x00008000
  2107  	CERT_CHAIN_DISABLE_MOTW_TIMESTAMP_WEAK_FLAG                                    = 0x08000000
  2108  	CERT_CHAIN_DISABLE_MY_PEER_TRUST                                               = 0x800
  2109  	CERT_CHAIN_DISABLE_OPT_IN_SERVER_AUTH_WEAK_FLAG                                = 0x00040000
  2110  	CERT_CHAIN_DISABLE_PASS1_QUALITY_FILTERING                                     = 0x40
  2111  	CERT_CHAIN_DISABLE_SERVER_AUTH_WEAK_FLAG                                       = 0x00100000
  2112  	CERT_CHAIN_DISABLE_TIMESTAMP_HASH_WEAK_FLAG                                    = 0x00004000
  2113  	CERT_CHAIN_DISABLE_TIMESTAMP_HASH_WEAK_FLAGS                                   = 49152
  2114  	CERT_CHAIN_DISABLE_TIMESTAMP_WEAK_FLAG                                         = 0x04000000
  2115  	CERT_CHAIN_DISABLE_WEAK_FLAGS                                                  = 215285760
  2116  	CERT_CHAIN_ENABLE_ALL_EKU_HYGIENE_FLAG                                         = 0x00020000
  2117  	CERT_CHAIN_ENABLE_CACHE_AUTO_UPDATE                                            = 0x10
  2118  	CERT_CHAIN_ENABLE_CODE_SIGNING_HYGIENE_FLAG                                    = 0x01000000
  2119  	CERT_CHAIN_ENABLE_HYGIENE_FLAGS                                                = 857866240
  2120  	CERT_CHAIN_ENABLE_MD2_MD4_FLAG                                                 = 0x1
  2121  	CERT_CHAIN_ENABLE_MOTW_CODE_SIGNING_HYGIENE_FLAG                               = 0x02000000
  2122  	CERT_CHAIN_ENABLE_MOTW_TIMESTAMP_HYGIENE_FLAG                                  = 0x20000000
  2123  	CERT_CHAIN_ENABLE_ONLY_WEAK_LOGGING_FLAG                                       = 0x8
  2124  	CERT_CHAIN_ENABLE_PEER_TRUST                                                   = 0x400
  2125  	CERT_CHAIN_ENABLE_SERVER_AUTH_HYGIENE_FLAG                                     = 0x00200000
  2126  	CERT_CHAIN_ENABLE_SHARE_STORE                                                  = 0x20
  2127  	CERT_CHAIN_ENABLE_TIMESTAMP_HYGIENE_FLAG                                       = 0x10000000
  2128  	CERT_CHAIN_ENABLE_WEAK_LOGGING_FLAG                                            = 0x4
  2129  	CERT_CHAIN_ENABLE_WEAK_RSA_ROOT_FLAG                                           = 0x2
  2130  	CERT_CHAIN_ENABLE_WEAK_SETTINGS_FLAG                                           = 0x80000000
  2131  	CERT_CHAIN_FIND_BY_ISSUER                                                      = 1
  2132  	CERT_CHAIN_FIND_BY_ISSUER_CACHE_ONLY_FLAG                                      = 0x8000
  2133  	CERT_CHAIN_FIND_BY_ISSUER_CACHE_ONLY_URL_FLAG                                  = 0x4
  2134  	CERT_CHAIN_FIND_BY_ISSUER_COMPARE_KEY_FLAG                                     = 0x1
  2135  	CERT_CHAIN_FIND_BY_ISSUER_COMPLEX_CHAIN_FLAG                                   = 0x2
  2136  	CERT_CHAIN_FIND_BY_ISSUER_LOCAL_MACHINE_FLAG                                   = 0x8
  2137  	CERT_CHAIN_FIND_BY_ISSUER_NO_KEY_FLAG                                          = 0x4000
  2138  	CERT_CHAIN_HAS_MOTW                                                            = 0x4000
  2139  	CERT_CHAIN_MAX_AIA_URL_COUNT_IN_CERT_DEFAULT                                   = 5
  2140  	CERT_CHAIN_MAX_AIA_URL_RETRIEVAL_BYTE_COUNT_DEFAULT                            = 100000
  2141  	CERT_CHAIN_MAX_AIA_URL_RETRIEVAL_CERT_COUNT_DEFAULT                            = 10
  2142  	CERT_CHAIN_MAX_AIA_URL_RETRIEVAL_COUNT_PER_CHAIN_DEFAULT                       = 3
  2143  	CERT_CHAIN_MAX_SSL_TIME_UPDATED_EVENT_COUNT_DEFAULT                            = 5
  2144  	CERT_CHAIN_MAX_SSL_TIME_UPDATED_EVENT_COUNT_DISABLE                            = 0xFFFFFFFF
  2145  	CERT_CHAIN_MAX_URL_RETRIEVAL_BYTE_COUNT_DEFAULT                                = 104857600
  2146  	CERT_CHAIN_MIN_PUB_KEY_BIT_LENGTH_DISABLE                                      = 0xFFFFFFFF
  2147  	CERT_CHAIN_MIN_RSA_PUB_KEY_BIT_LENGTH_DEFAULT                                  = 1023
  2148  	CERT_CHAIN_MIN_RSA_PUB_KEY_BIT_LENGTH_DISABLE                                  = 0xffffffff
  2149  	CERT_CHAIN_MOTW_IGNORE_AFTER_TIME_WEAK_FLAG                                    = 0x40000000
  2150  	CERT_CHAIN_MOTW_WEAK_FLAGS                                                     = 1786773504
  2151  	CERT_CHAIN_OCSP_VALIDITY_SECONDS_DEFAULT                                       = 43200
  2152  	CERT_CHAIN_ONLY_ADDITIONAL_AND_AUTH_ROOT                                       = 0x8000
  2153  	CERT_CHAIN_OPTION_DISABLE_AIA_URL_RETRIEVAL                                    = 0x2
  2154  	CERT_CHAIN_OPTION_ENABLE_SIA_URL_RETRIEVAL                                     = 0x4
  2155  	CERT_CHAIN_OPT_IN_WEAK_FLAGS                                                   = 262144
  2156  	CERT_CHAIN_OPT_IN_WEAK_SIGNATURE                                               = 0x10000
  2157  	CERT_CHAIN_POLICY_ALLOW_TESTROOT_FLAG                                          = 0x8000
  2158  	CERT_CHAIN_POLICY_ALLOW_UNKNOWN_CA_FLAG                                        = 0x10
  2159  	CERT_CHAIN_POLICY_IGNORE_ALL_NOT_TIME_VALID_FLAGS                              = 7
  2160  	CERT_CHAIN_POLICY_IGNORE_ALL_REV_UNKNOWN_FLAGS                                 = 3840
  2161  	CERT_CHAIN_POLICY_IGNORE_CA_REV_UNKNOWN_FLAG                                   = 0x400
  2162  	CERT_CHAIN_POLICY_IGNORE_CTL_NOT_TIME_VALID_FLAG                               = 0x2
  2163  	CERT_CHAIN_POLICY_IGNORE_CTL_SIGNER_REV_UNKNOWN_FLAG                           = 0x200
  2164  	CERT_CHAIN_POLICY_IGNORE_END_REV_UNKNOWN_FLAG                                  = 0x100
  2165  	CERT_CHAIN_POLICY_IGNORE_INVALID_BASIC_CONSTRAINTS_FLAG                        = 0x8
  2166  	CERT_CHAIN_POLICY_IGNORE_INVALID_NAME_FLAG                                     = 0x40
  2167  	CERT_CHAIN_POLICY_IGNORE_INVALID_POLICY_FLAG                                   = 0x80
  2168  	CERT_CHAIN_POLICY_IGNORE_NOT_SUPPORTED_CRITICAL_EXT_FLAG                       = 0x2000
  2169  	CERT_CHAIN_POLICY_IGNORE_NOT_TIME_NESTED_FLAG                                  = 0x4
  2170  	CERT_CHAIN_POLICY_IGNORE_NOT_TIME_VALID_FLAG                                   = 0x1
  2171  	CERT_CHAIN_POLICY_IGNORE_PEER_TRUST_FLAG                                       = 0x1000
  2172  	CERT_CHAIN_POLICY_IGNORE_ROOT_REV_UNKNOWN_FLAG                                 = 0x800
  2173  	CERT_CHAIN_POLICY_IGNORE_WRONG_USAGE_FLAG                                      = 0x20
  2174  	CERT_CHAIN_POLICY_SSL_F12_ERROR_LEVEL                                          = 2
  2175  	CERT_CHAIN_POLICY_SSL_F12_NONE_CATEGORY                                        = 0
  2176  	CERT_CHAIN_POLICY_SSL_F12_ROOT_PROGRAM_CATEGORY                                = 2
  2177  	CERT_CHAIN_POLICY_SSL_F12_SUCCESS_LEVEL                                        = 0
  2178  	CERT_CHAIN_POLICY_SSL_F12_WARNING_LEVEL                                        = 1
  2179  	CERT_CHAIN_POLICY_SSL_F12_WEAK_CRYPTO_CATEGORY                                 = 1
  2180  	CERT_CHAIN_POLICY_SSL_KEY_PIN_MISMATCH_ERROR                                   = -2
  2181  	CERT_CHAIN_POLICY_SSL_KEY_PIN_MISMATCH_WARNING                                 = 2
  2182  	CERT_CHAIN_POLICY_SSL_KEY_PIN_MITM_ERROR                                       = -1
  2183  	CERT_CHAIN_POLICY_SSL_KEY_PIN_MITM_WARNING                                     = 1
  2184  	CERT_CHAIN_POLICY_SSL_KEY_PIN_SUCCESS                                          = 0
  2185  	CERT_CHAIN_POLICY_TRUST_TESTROOT_FLAG                                          = 0x4000
  2186  	CERT_CHAIN_RETURN_LOWER_QUALITY_CONTEXTS                                       = 0x80
  2187  	CERT_CHAIN_REVOCATION_ACCUMULATIVE_TIMEOUT                                     = 0x8000000
  2188  	CERT_CHAIN_REVOCATION_CHECK_CACHE_ONLY                                         = 0x80000000
  2189  	CERT_CHAIN_REVOCATION_CHECK_CHAIN                                              = 0x20000000
  2190  	CERT_CHAIN_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT                                 = 0x40000000
  2191  	CERT_CHAIN_REVOCATION_CHECK_END_CERT                                           = 0x10000000
  2192  	CERT_CHAIN_REVOCATION_CHECK_OCSP_CERT                                          = 0x4000000
  2193  	CERT_CHAIN_REV_ACCUMULATIVE_URL_RETRIEVAL_TIMEOUT_MILLISECONDS_DEFAULT         = 20000
  2194  	CERT_CHAIN_STRONG_SIGN_DISABLE_END_CHECK_FLAG                                  = 0x1
  2195  	CERT_CHAIN_THREAD_STORE_SYNC                                                   = 0x2
  2196  	CERT_CHAIN_TIMESTAMP_TIME                                                      = 0x200
  2197  	CERT_CHAIN_URL_RETRIEVAL_TIMEOUT_MILLISECONDS_DEFAULT                          = 15000
  2198  	CERT_CHAIN_USE_LOCAL_MACHINE_STORE                                             = 0x8
  2199  	CERT_CHAIN_WEAK_RSA_PUB_KEY_TIME_DEFAULT                                       = 0x01ca8a755c6e0000
  2200  	CERT_CLOSE_STORE_CHECK_FLAG                                                    = 0x2
  2201  	CERT_CLOSE_STORE_FORCE_FLAG                                                    = 0x1
  2202  	CERT_CLR_DELETE_KEY_PROP_ID                                                    = 125
  2203  	CERT_COMPARE_ANY                                                               = 0
  2204  	CERT_COMPARE_ATTR                                                              = 3
  2205  	CERT_COMPARE_CERT_ID                                                           = 16
  2206  	CERT_COMPARE_CROSS_CERT_DIST_POINTS                                            = 17
  2207  	CERT_COMPARE_CTL_USAGE                                                         = 10
  2208  	CERT_COMPARE_ENHKEY_USAGE                                                      = 10
  2209  	CERT_COMPARE_EXISTING                                                          = 13
  2210  	CERT_COMPARE_HASH                                                              = 1
  2211  	CERT_COMPARE_HASH_STR                                                          = 20
  2212  	CERT_COMPARE_HAS_PRIVATE_KEY                                                   = 21
  2213  	CERT_COMPARE_ISSUER_OF                                                         = 12
  2214  	CERT_COMPARE_KEY_IDENTIFIER                                                    = 15
  2215  	CERT_COMPARE_KEY_SPEC                                                          = 9
  2216  	CERT_COMPARE_MASK                                                              = 0xffff
  2217  	CERT_COMPARE_MD5_HASH                                                          = 4
  2218  	CERT_COMPARE_NAME                                                              = 2
  2219  	CERT_COMPARE_NAME_STR_A                                                        = 7
  2220  	CERT_COMPARE_NAME_STR_W                                                        = 8
  2221  	CERT_COMPARE_PROPERTY                                                          = 5
  2222  	CERT_COMPARE_PUBKEY_MD5_HASH                                                   = 18
  2223  	CERT_COMPARE_PUBLIC_KEY                                                        = 6
  2224  	CERT_COMPARE_SHA1_HASH                                                         = 1
  2225  	CERT_COMPARE_SHIFT                                                             = 16
  2226  	CERT_COMPARE_SIGNATURE_HASH                                                    = 14
  2227  	CERT_COMPARE_SUBJECT_CERT                                                      = 11
  2228  	CERT_COMPARE_SUBJECT_INFO_ACCESS                                               = 19
  2229  	CERT_CONTEXT_REVOCATION_TYPE                                                   = 1
  2230  	CERT_CREATE_CONTEXT_NOCOPY_FLAG                                                = 0x1
  2231  	CERT_CREATE_CONTEXT_NO_ENTRY_FLAG                                              = 0x8
  2232  	CERT_CREATE_CONTEXT_NO_HCRYPTMSG_FLAG                                          = 0x4
  2233  	CERT_CREATE_CONTEXT_SORTED_FLAG                                                = 0x2
  2234  	CERT_CREATE_SELFSIGN_NO_KEY_INFO                                               = 2
  2235  	CERT_CREATE_SELFSIGN_NO_SIGN                                                   = 1
  2236  	CERT_CRL_SIGN_KEY_USAGE                                                        = 0x02
  2237  	CERT_CROSS_CERT_DIST_POINTS_PROP_ID                                            = 23
  2238  	CERT_CTL_USAGE_PROP_ID                                                         = 9
  2239  	CERT_DATA_ENCIPHERMENT_KEY_USAGE                                               = 0x10
  2240  	CERT_DATE_STAMP_PROP_ID                                                        = 27
  2241  	CERT_DECIPHER_ONLY_KEY_USAGE                                                   = 0x80
  2242  	CERT_DESCRIPTION_PROP_ID                                                       = 13
  2243  	CERT_DIGITAL_SIGNATURE_KEY_USAGE                                               = 0x80
  2244  	CERT_DISALLOWED_CERT_CTL_FILENAME_A                                            = "disallowedcert.stl"
  2245  	CERT_DISALLOWED_ENHKEY_USAGE_PROP_ID                                           = 122
  2246  	CERT_DISALLOWED_FILETIME_PROP_ID                                               = 104
  2247  	CERT_DSS_R_LEN                                                                 = 20
  2248  	CERT_DSS_SIGNATURE_LEN                                                         = 40
  2249  	CERT_DSS_S_LEN                                                                 = 20
  2250  	CERT_EFS_PROP_ID                                                               = 17
  2251  	CERT_ENCIPHER_ONLY_KEY_USAGE                                                   = 0x01
  2252  	CERT_ENCODING_TYPE_MASK                                                        = 0x0000ffff
  2253  	CERT_END_ENTITY_SUBJECT_FLAG                                                   = 0x40
  2254  	CERT_ENHKEY_USAGE_PROP_ID                                                      = 9
  2255  	CERT_ENROLLMENT_PROP_ID                                                        = 26
  2256  	CERT_EXCLUDED_SUBTREE_BIT                                                      = 2147483648
  2257  	CERT_EXTENDED_ERROR_INFO_PROP_ID                                               = 30
  2258  	CERT_FILE_STORE_COMMIT_ENABLE_FLAG                                             = 0x10000
  2259  	CERT_FIND_ANY                                                                  = 0
  2260  	CERT_FIND_CERT_ID                                                              = 1048576
  2261  	CERT_FIND_CROSS_CERT_DIST_POINTS                                               = 1114112
  2262  	CERT_FIND_CTL_USAGE                                                            = 655360
  2263  	CERT_FIND_ENHKEY_USAGE                                                         = 655360
  2264  	CERT_FIND_EXISTING                                                             = 851968
  2265  	CERT_FIND_EXT_ONLY_CTL_USAGE_FLAG                                              = 2
  2266  	CERT_FIND_EXT_ONLY_ENHKEY_USAGE_FLAG                                           = 0x2
  2267  	CERT_FIND_HASH                                                                 = 65536
  2268  	CERT_FIND_HASH_STR                                                             = 1310720
  2269  	CERT_FIND_HAS_PRIVATE_KEY                                                      = 1376256
  2270  	CERT_FIND_ISSUER_ATTR                                                          = 196612
  2271  	CERT_FIND_ISSUER_NAME                                                          = 131076
  2272  	CERT_FIND_ISSUER_OF                                                            = 786432
  2273  	CERT_FIND_ISSUER_STR                                                           = 524292
  2274  	CERT_FIND_ISSUER_STR_A                                                         = 458756
  2275  	CERT_FIND_ISSUER_STR_W                                                         = 524292
  2276  	CERT_FIND_KEY_IDENTIFIER                                                       = 983040
  2277  	CERT_FIND_KEY_SPEC                                                             = 589824
  2278  	CERT_FIND_MD5_HASH                                                             = 262144
  2279  	CERT_FIND_NO_CTL_USAGE_FLAG                                                    = 8
  2280  	CERT_FIND_NO_ENHKEY_USAGE_FLAG                                                 = 0x8
  2281  	CERT_FIND_OPTIONAL_CTL_USAGE_FLAG                                              = 1
  2282  	CERT_FIND_OPTIONAL_ENHKEY_USAGE_FLAG                                           = 0x1
  2283  	CERT_FIND_OR_CTL_USAGE_FLAG                                                    = 16
  2284  	CERT_FIND_OR_ENHKEY_USAGE_FLAG                                                 = 0x10
  2285  	CERT_FIND_PROPERTY                                                             = 327680
  2286  	CERT_FIND_PROP_ONLY_CTL_USAGE_FLAG                                             = 4
  2287  	CERT_FIND_PROP_ONLY_ENHKEY_USAGE_FLAG                                          = 0x4
  2288  	CERT_FIND_PUBKEY_MD5_HASH                                                      = 1179648
  2289  	CERT_FIND_PUBLIC_KEY                                                           = 393216
  2290  	CERT_FIND_SHA1_HASH                                                            = 65536
  2291  	CERT_FIND_SIGNATURE_HASH                                                       = 917504
  2292  	CERT_FIND_SUBJECT_ATTR                                                         = 196615
  2293  	CERT_FIND_SUBJECT_CERT                                                         = 720896
  2294  	CERT_FIND_SUBJECT_INFO_ACCESS                                                  = 1245184
  2295  	CERT_FIND_SUBJECT_NAME                                                         = 131079
  2296  	CERT_FIND_SUBJECT_STR                                                          = 524295
  2297  	CERT_FIND_SUBJECT_STR_A                                                        = 458759
  2298  	CERT_FIND_SUBJECT_STR_W                                                        = 524295
  2299  	CERT_FIND_VALID_CTL_USAGE_FLAG                                                 = 32
  2300  	CERT_FIND_VALID_ENHKEY_USAGE_FLAG                                              = 0x20
  2301  	CERT_FIRST_RESERVED_PROP_ID                                                    = 107
  2302  	CERT_FIRST_USER_PROP_ID                                                        = 0x8000
  2303  	CERT_FORTEZZA_DATA_PROP_ID                                                     = 18
  2304  	CERT_FRIENDLY_NAME_PROP_ID                                                     = 11
  2305  	CERT_HASH_PROP_ID                                                              = 3
  2306  	CERT_HCRYPTPROV_OR_NCRYPT_KEY_HANDLE_PROP_ID                                   = 79
  2307  	CERT_HCRYPTPROV_TRANSFER_PROP_ID                                               = 100
  2308  	CERT_ID_ISSUER_SERIAL_NUMBER                                                   = 1
  2309  	CERT_ID_KEY_IDENTIFIER                                                         = 2
  2310  	CERT_ID_SHA1_HASH                                                              = 3
  2311  	CERT_IE30_RESERVED_PROP_ID                                                     = 7
  2312  	CERT_INFO_EXTENSION_FLAG                                                       = 11
  2313  	CERT_INFO_ISSUER_FLAG                                                          = 4
  2314  	CERT_INFO_ISSUER_UNIQUE_ID_FLAG                                                = 9
  2315  	CERT_INFO_NOT_AFTER_FLAG                                                       = 6
  2316  	CERT_INFO_NOT_BEFORE_FLAG                                                      = 5
  2317  	CERT_INFO_SERIAL_NUMBER_FLAG                                                   = 2
  2318  	CERT_INFO_SIGNATURE_ALGORITHM_FLAG                                             = 3
  2319  	CERT_INFO_SUBJECT_FLAG                                                         = 7
  2320  	CERT_INFO_SUBJECT_PUBLIC_KEY_INFO_FLAG                                         = 8
  2321  	CERT_INFO_SUBJECT_UNIQUE_ID_FLAG                                               = 10
  2322  	CERT_INFO_VERSION_FLAG                                                         = 1
  2323  	CERT_ISOLATED_KEY_PROP_ID                                                      = 118
  2324  	CERT_ISSUER_CHAIN_PUB_KEY_CNG_ALG_BIT_LENGTH_PROP_ID                           = 96
  2325  	CERT_ISSUER_CHAIN_SIGN_HASH_CNG_ALG_PROP_ID                                    = 95
  2326  	CERT_ISSUER_PUBLIC_KEY_MD5_HASH_PROP_ID                                        = 24
  2327  	CERT_ISSUER_PUB_KEY_BIT_LENGTH_PROP_ID                                         = 94
  2328  	CERT_ISSUER_SERIAL_NUMBER_MD5_HASH_PROP_ID                                     = 28
  2329  	CERT_KEYGEN_REQUEST_V1                                                         = 0
  2330  	CERT_KEY_AGREEMENT_KEY_USAGE                                                   = 0x08
  2331  	CERT_KEY_CERT_SIGN_KEY_USAGE                                                   = 0x04
  2332  	CERT_KEY_CLASSIFICATION_PROP_ID                                                = 120
  2333  	CERT_KEY_CONTEXT_PROP_ID                                                       = 5
  2334  	CERT_KEY_ENCIPHERMENT_KEY_USAGE                                                = 0x20
  2335  	CERT_KEY_IDENTIFIER_PROP_ID                                                    = 20
  2336  	CERT_KEY_PROV_HANDLE_PROP_ID                                                   = 1
  2337  	CERT_KEY_PROV_INFO_PROP_ID                                                     = 2
  2338  	CERT_KEY_REPAIR_ATTEMPTED_PROP_ID                                              = 103
  2339  	CERT_KEY_SPEC_PROP_ID                                                          = 6
  2340  	CERT_LAST_RESERVED_PROP_ID                                                     = 0x00007fff
  2341  	CERT_LAST_USER_PROP_ID                                                         = 0x0000ffff
  2342  	CERT_LDAP_STORE_AREC_EXCLUSIVE_FLAG                                            = 0x20000
  2343  	CERT_LDAP_STORE_OPENED_FLAG                                                    = 0x40000
  2344  	CERT_LDAP_STORE_SIGN_FLAG                                                      = 0x10000
  2345  	CERT_LDAP_STORE_UNBIND_FLAG                                                    = 0x80000
  2346  	CERT_LOGOTYPE_BITS_IMAGE_RESOLUTION_CHOICE                                     = 1
  2347  	CERT_LOGOTYPE_COLOR_IMAGE_INFO_CHOICE                                          = 2
  2348  	CERT_LOGOTYPE_DIRECT_INFO_CHOICE                                               = 1
  2349  	CERT_LOGOTYPE_GRAY_SCALE_IMAGE_INFO_CHOICE                                     = 1
  2350  	CERT_LOGOTYPE_INDIRECT_INFO_CHOICE                                             = 2
  2351  	CERT_LOGOTYPE_NO_IMAGE_RESOLUTION_CHOICE                                       = 0
  2352  	CERT_LOGOTYPE_TABLE_SIZE_IMAGE_RESOLUTION_CHOICE                               = 2
  2353  	CERT_MAX_ASN_ENCODED_DSS_SIGNATURE_LEN                                         = 48
  2354  	CERT_MD5_HASH_PROP_ID                                                          = 4
  2355  	CERT_NAME_ATTR_TYPE                                                            = 3
  2356  	CERT_NAME_DISABLE_IE4_UTF8_FLAG                                                = 0x10000
  2357  	CERT_NAME_DNS_TYPE                                                             = 6
  2358  	CERT_NAME_EMAIL_TYPE                                                           = 1
  2359  	CERT_NAME_FRIENDLY_DISPLAY_TYPE                                                = 5
  2360  	CERT_NAME_ISSUER_FLAG                                                          = 0x1
  2361  	CERT_NAME_RDN_TYPE                                                             = 2
  2362  	CERT_NAME_SEARCH_ALL_NAMES_FLAG                                                = 0x2
  2363  	CERT_NAME_SIMPLE_DISPLAY_TYPE                                                  = 4
  2364  	CERT_NAME_STR_COMMA_FLAG                                                       = 0x4000000
  2365  	CERT_NAME_STR_CRLF_FLAG                                                        = 0x8000000
  2366  	CERT_NAME_STR_DISABLE_IE4_UTF8_FLAG                                            = 0x10000
  2367  	CERT_NAME_STR_DISABLE_UTF8_DIR_STR_FLAG                                        = 0x100000
  2368  	CERT_NAME_STR_ENABLE_PUNYCODE_FLAG                                             = 0x200000
  2369  	CERT_NAME_STR_ENABLE_T61_UNICODE_FLAG                                          = 0x20000
  2370  	CERT_NAME_STR_ENABLE_UTF8_UNICODE_FLAG                                         = 0x40000
  2371  	CERT_NAME_STR_FORCE_UTF8_DIR_STR_FLAG                                          = 0x80000
  2372  	CERT_NAME_STR_FORWARD_FLAG                                                     = 0x1000000
  2373  	CERT_NAME_STR_NO_PLUS_FLAG                                                     = 0x20000000
  2374  	CERT_NAME_STR_NO_QUOTING_FLAG                                                  = 0x10000000
  2375  	CERT_NAME_STR_REVERSE_FLAG                                                     = 0x2000000
  2376  	CERT_NAME_STR_SEMICOLON_FLAG                                                   = 0x40000000
  2377  	CERT_NAME_UPN_TYPE                                                             = 8
  2378  	CERT_NAME_URL_TYPE                                                             = 7
  2379  	CERT_NCRYPT_KEY_HANDLE_PROP_ID                                                 = 78
  2380  	CERT_NCRYPT_KEY_HANDLE_TRANSFER_PROP_ID                                        = 99
  2381  	CERT_NCRYPT_KEY_SPEC                                                           = 0xffffffff
  2382  	CERT_NEW_KEY_PROP_ID                                                           = 74
  2383  	CERT_NEXT_UPDATE_LOCATION_PROP_ID                                              = 10
  2384  	CERT_NONCOMPLIANT_ROOT_URL_PROP_ID                                             = 123
  2385  	CERT_NON_REPUDIATION_KEY_USAGE                                                 = 0x40
  2386  	CERT_NOT_BEFORE_ENHKEY_USAGE_PROP_ID                                           = 127
  2387  	CERT_NOT_BEFORE_FILETIME_PROP_ID                                               = 126
  2388  	CERT_NO_AUTO_EXPIRE_CHECK_PROP_ID                                              = 77
  2389  	CERT_NO_EXPIRE_NOTIFICATION_PROP_ID                                            = 97
  2390  	CERT_OCSP_CACHE_PREFIX_PROP_ID                                                 = 75
  2391  	CERT_OCSP_MUST_STAPLE_PROP_ID                                                  = 121
  2392  	CERT_OCSP_RESPONSE_PROP_ID                                                     = 70
  2393  	CERT_OFFLINE_CRL_SIGN_KEY_USAGE                                                = 0x02
  2394  	CERT_OID_NAME_STR                                                              = 2
  2395  	CERT_PHYSICAL_STORE_ADD_ENABLE_FLAG                                            = 0x1
  2396  	CERT_PHYSICAL_STORE_INSERT_COMPUTER_NAME_ENABLE_FLAG                           = 0x8
  2397  	CERT_PHYSICAL_STORE_OPEN_DISABLE_FLAG                                          = 0x2
  2398  	CERT_PHYSICAL_STORE_PREDEFINED_ENUM_FLAG                                       = 0x1
  2399  	CERT_PHYSICAL_STORE_REMOTE_OPEN_DISABLE_FLAG                                   = 0x4
  2400  	CERT_PIN_RULES_CTL_FILENAME_A                                                  = "pinrules.stl"
  2401  	CERT_PIN_SHA256_HASH_PROP_ID                                                   = 124
  2402  	CERT_PROT_ROOT_DISABLE_CURRENT_USER_FLAG                                       = 0x1
  2403  	CERT_PROT_ROOT_DISABLE_LM_AUTH_FLAG                                            = 0x8
  2404  	CERT_PROT_ROOT_DISABLE_NOT_DEFINED_NAME_CONSTRAINT_FLAG                        = 0x20
  2405  	CERT_PROT_ROOT_DISABLE_NT_AUTH_REQUIRED_FLAG                                   = 0x10
  2406  	CERT_PROT_ROOT_DISABLE_PEER_TRUST                                              = 0x10000
  2407  	CERT_PROT_ROOT_INHIBIT_ADD_AT_INIT_FLAG                                        = 0x2
  2408  	CERT_PROT_ROOT_INHIBIT_PURGE_LM_FLAG                                           = 0x4
  2409  	CERT_PROT_ROOT_ONLY_LM_GPT_FLAG                                                = 0x8
  2410  	CERT_PROT_ROOT_PEER_USAGES_VALUE_NAME_A                                        = "PeerUsages"
  2411  	CERT_PUBKEY_ALG_PARA_PROP_ID                                                   = 22
  2412  	CERT_PUBKEY_HASH_RESERVED_PROP_ID                                              = 8
  2413  	CERT_PUB_KEY_CNG_ALG_BIT_LENGTH_PROP_ID                                        = 93
  2414  	CERT_PVK_FILE_PROP_ID                                                          = 12
  2415  	CERT_QUERY_CONTENT_CERT                                                        = 1
  2416  	CERT_QUERY_CONTENT_CERT_PAIR                                                   = 13
  2417  	CERT_QUERY_CONTENT_CRL                                                         = 3
  2418  	CERT_QUERY_CONTENT_CTL                                                         = 2
  2419  	CERT_QUERY_CONTENT_FLAG_ALL                                                    = 16382
  2420  	CERT_QUERY_CONTENT_FLAG_ALL_ISSUER_CERT                                        = 818
  2421  	CERT_QUERY_CONTENT_FLAG_CERT                                                   = 2
  2422  	CERT_QUERY_CONTENT_FLAG_CERT_PAIR                                              = 8192
  2423  	CERT_QUERY_CONTENT_FLAG_CRL                                                    = 8
  2424  	CERT_QUERY_CONTENT_FLAG_CTL                                                    = 4
  2425  	CERT_QUERY_CONTENT_FLAG_PFX                                                    = 4096
  2426  	CERT_QUERY_CONTENT_FLAG_PFX_AND_LOAD                                           = 16384
  2427  	CERT_QUERY_CONTENT_FLAG_PKCS10                                                 = 2048
  2428  	CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED                                           = 256
  2429  	CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED_EMBED                                     = 1024
  2430  	CERT_QUERY_CONTENT_FLAG_PKCS7_UNSIGNED                                         = 512
  2431  	CERT_QUERY_CONTENT_FLAG_SERIALIZED_CERT                                        = 32
  2432  	CERT_QUERY_CONTENT_FLAG_SERIALIZED_CRL                                         = 128
  2433  	CERT_QUERY_CONTENT_FLAG_SERIALIZED_CTL                                         = 64
  2434  	CERT_QUERY_CONTENT_FLAG_SERIALIZED_STORE                                       = 16
  2435  	CERT_QUERY_CONTENT_PFX                                                         = 12
  2436  	CERT_QUERY_CONTENT_PFX_AND_LOAD                                                = 14
  2437  	CERT_QUERY_CONTENT_PKCS10                                                      = 11
  2438  	CERT_QUERY_CONTENT_PKCS7_SIGNED                                                = 8
  2439  	CERT_QUERY_CONTENT_PKCS7_SIGNED_EMBED                                          = 10
  2440  	CERT_QUERY_CONTENT_PKCS7_UNSIGNED                                              = 9
  2441  	CERT_QUERY_CONTENT_SERIALIZED_CERT                                             = 5
  2442  	CERT_QUERY_CONTENT_SERIALIZED_CRL                                              = 7
  2443  	CERT_QUERY_CONTENT_SERIALIZED_CTL                                              = 6
  2444  	CERT_QUERY_CONTENT_SERIALIZED_STORE                                            = 4
  2445  	CERT_QUERY_FORMAT_ASN_ASCII_HEX_ENCODED                                        = 3
  2446  	CERT_QUERY_FORMAT_BASE64_ENCODED                                               = 2
  2447  	CERT_QUERY_FORMAT_BINARY                                                       = 1
  2448  	CERT_QUERY_FORMAT_FLAG_ALL                                                     = 14
  2449  	CERT_QUERY_FORMAT_FLAG_ASN_ASCII_HEX_ENCODED                                   = 8
  2450  	CERT_QUERY_FORMAT_FLAG_BASE64_ENCODED                                          = 4
  2451  	CERT_QUERY_FORMAT_FLAG_BINARY                                                  = 2
  2452  	CERT_QUERY_OBJECT_BLOB                                                         = 0x2
  2453  	CERT_QUERY_OBJECT_FILE                                                         = 0x1
  2454  	CERT_RDN_ANY_TYPE                                                              = 0
  2455  	CERT_RDN_BMP_STRING                                                            = 12
  2456  	CERT_RDN_DISABLE_CHECK_TYPE_FLAG                                               = 0x40000000
  2457  	CERT_RDN_DISABLE_IE4_UTF8_FLAG                                                 = 0x1000000
  2458  	CERT_RDN_ENABLE_PUNYCODE_FLAG                                                  = 0x2000000
  2459  	CERT_RDN_ENABLE_T61_UNICODE_FLAG                                               = 0x80000000
  2460  	CERT_RDN_ENABLE_UTF8_UNICODE_FLAG                                              = 0x20000000
  2461  	CERT_RDN_ENCODED_BLOB                                                          = 1
  2462  	CERT_RDN_FLAGS_MASK                                                            = 0xff000000
  2463  	CERT_RDN_FORCE_UTF8_UNICODE_FLAG                                               = 0x10000000
  2464  	CERT_RDN_GENERAL_STRING                                                        = 10
  2465  	CERT_RDN_GRAPHIC_STRING                                                        = 8
  2466  	CERT_RDN_IA5_STRING                                                            = 7
  2467  	CERT_RDN_INT4_STRING                                                           = 11
  2468  	CERT_RDN_ISO646_STRING                                                         = 9
  2469  	CERT_RDN_NUMERIC_STRING                                                        = 3
  2470  	CERT_RDN_OCTET_STRING                                                          = 2
  2471  	CERT_RDN_PRINTABLE_STRING                                                      = 4
  2472  	CERT_RDN_T61_STRING                                                            = 5
  2473  	CERT_RDN_TELETEX_STRING                                                        = 5
  2474  	CERT_RDN_TYPE_MASK                                                             = 0x000000ff
  2475  	CERT_RDN_UNICODE_STRING                                                        = 12
  2476  	CERT_RDN_UNIVERSAL_STRING                                                      = 11
  2477  	CERT_RDN_UTF8_STRING                                                           = 13
  2478  	CERT_RDN_VIDEOTEX_STRING                                                       = 6
  2479  	CERT_RDN_VISIBLE_STRING                                                        = 9
  2480  	CERT_REGISTRY_STORE_CLIENT_GPT_FLAG                                            = 0x80000000
  2481  	CERT_REGISTRY_STORE_EXTERNAL_FLAG                                              = 0x100000
  2482  	CERT_REGISTRY_STORE_LM_GPT_FLAG                                                = 0x1000000
  2483  	CERT_REGISTRY_STORE_MY_IE_DIRTY_FLAG                                           = 0x80000
  2484  	CERT_REGISTRY_STORE_REMOTE_FLAG                                                = 0x10000
  2485  	CERT_REGISTRY_STORE_ROAMING_FLAG                                               = 0x40000
  2486  	CERT_REGISTRY_STORE_SERIALIZED_FLAG                                            = 0x20000
  2487  	CERT_RENEWAL_PROP_ID                                                           = 64
  2488  	CERT_REQUEST_ORIGINATOR_PROP_ID                                                = 71
  2489  	CERT_REQUEST_V1                                                                = 0
  2490  	CERT_ROOT_PROGRAM_CERT_POLICIES_PROP_ID                                        = 83
  2491  	CERT_ROOT_PROGRAM_CHAIN_POLICIES_PROP_ID                                       = 105
  2492  	CERT_ROOT_PROGRAM_FLAG_ADDRESS                                                 = 0x08
  2493  	CERT_ROOT_PROGRAM_FLAG_LSC                                                     = 0x40
  2494  	CERT_ROOT_PROGRAM_FLAG_ORG                                                     = 0x80
  2495  	CERT_ROOT_PROGRAM_FLAG_OU                                                      = 0x10
  2496  	CERT_ROOT_PROGRAM_FLAG_SUBJECT_LOGO                                            = 0x20
  2497  	CERT_ROOT_PROGRAM_NAME_CONSTRAINTS_PROP_ID                                     = 84
  2498  	CERT_SCARD_PIN_ID_PROP_ID                                                      = 90
  2499  	CERT_SCARD_PIN_INFO_PROP_ID                                                    = 91
  2500  	CERT_SCEP_CA_CERT_PROP_ID                                                      = 111
  2501  	CERT_SCEP_ENCRYPT_HASH_CNG_ALG_PROP_ID                                         = 114
  2502  	CERT_SCEP_FLAGS_PROP_ID                                                        = 115
  2503  	CERT_SCEP_GUID_PROP_ID                                                         = 116
  2504  	CERT_SCEP_NONCE_PROP_ID                                                        = 113
  2505  	CERT_SCEP_RA_ENCRYPTION_CERT_PROP_ID                                           = 110
  2506  	CERT_SCEP_RA_SIGNATURE_CERT_PROP_ID                                            = 109
  2507  	CERT_SCEP_SERVER_CERTS_PROP_ID                                                 = 108
  2508  	CERT_SCEP_SIGNER_CERT_PROP_ID                                                  = 112
  2509  	CERT_SEND_AS_TRUSTED_ISSUER_PROP_ID                                            = 102
  2510  	CERT_SERIALIZABLE_KEY_CONTEXT_PROP_ID                                          = 117
  2511  	CERT_SERIAL_CHAIN_PROP_ID                                                      = 119
  2512  	CERT_SET_KEY_CONTEXT_PROP_ID                                                   = 0x1
  2513  	CERT_SET_KEY_PROV_HANDLE_PROP_ID                                               = 0x1
  2514  	CERT_SET_PROPERTY_IGNORE_PERSIST_ERROR_FLAG                                    = 0x80000000
  2515  	CERT_SET_PROPERTY_INHIBIT_PERSIST_FLAG                                         = 0x40000000
  2516  	CERT_SHA1_HASH_PROP_ID                                                         = 3
  2517  	CERT_SHA256_HASH_PROP_ID                                                       = 107
  2518  	CERT_SIGNATURE_HASH_PROP_ID                                                    = 15
  2519  	CERT_SIGN_HASH_CNG_ALG_PROP_ID                                                 = 89
  2520  	CERT_SIMPLE_NAME_STR                                                           = 1
  2521  	CERT_SMART_CARD_DATA_PROP_ID                                                   = 16
  2522  	CERT_SMART_CARD_READER_NON_REMOVABLE_PROP_ID                                   = 106
  2523  	CERT_SMART_CARD_READER_PROP_ID                                                 = 101
  2524  	CERT_SMART_CARD_ROOT_INFO_PROP_ID                                              = 76
  2525  	CERT_SOURCE_LOCATION_PROP_ID                                                   = 72
  2526  	CERT_SOURCE_URL_PROP_ID                                                        = 73
  2527  	CERT_SRV_OCSP_RESP_MAX_BEFORE_NEXT_UPDATE_SECONDS_DEFAULT                      = 14400
  2528  	CERT_SRV_OCSP_RESP_MAX_SYNC_CERT_FILE_SECONDS_DEFAULT                          = 3600
  2529  	CERT_SRV_OCSP_RESP_MIN_AFTER_NEXT_UPDATE_SECONDS_DEFAULT                       = 60
  2530  	CERT_SRV_OCSP_RESP_MIN_BEFORE_NEXT_UPDATE_SECONDS_DEFAULT                      = 120
  2531  	CERT_SRV_OCSP_RESP_MIN_SYNC_CERT_FILE_SECONDS_DEFAULT                          = 5
  2532  	CERT_SRV_OCSP_RESP_MIN_VALIDITY_SECONDS_DEFAULT                                = 600
  2533  	CERT_SRV_OCSP_RESP_URL_RETRIEVAL_TIMEOUT_MILLISECONDS_DEFAULT                  = 15000
  2534  	CERT_STORE_ADD_ALWAYS                                                          = 4
  2535  	CERT_STORE_ADD_NEW                                                             = 1
  2536  	CERT_STORE_ADD_NEWER                                                           = 6
  2537  	CERT_STORE_ADD_NEWER_INHERIT_PROPERTIES                                        = 7
  2538  	CERT_STORE_ADD_REPLACE_EXISTING                                                = 3
  2539  	CERT_STORE_ADD_REPLACE_EXISTING_INHERIT_PROPERTIES                             = 5
  2540  	CERT_STORE_ADD_USE_EXISTING                                                    = 2
  2541  	CERT_STORE_ALL_CONTEXT_FLAG                                                    = 18446744073709551615
  2542  	CERT_STORE_BACKUP_RESTORE_FLAG                                                 = 0x800
  2543  	CERT_STORE_BASE_CRL_FLAG                                                       = 0x100
  2544  	CERT_STORE_CERTIFICATE_CONTEXT                                                 = 1
  2545  	CERT_STORE_CERTIFICATE_CONTEXT_FLAG                                            = 2
  2546  	CERT_STORE_CREATE_NEW_FLAG                                                     = 0x2000
  2547  	CERT_STORE_CRL_CONTEXT                                                         = 2
  2548  	CERT_STORE_CRL_CONTEXT_FLAG                                                    = 4
  2549  	CERT_STORE_CTL_CONTEXT                                                         = 3
  2550  	CERT_STORE_CTL_CONTEXT_FLAG                                                    = 8
  2551  	CERT_STORE_CTRL_AUTO_RESYNC                                                    = 4
  2552  	CERT_STORE_CTRL_CANCEL_NOTIFY                                                  = 5
  2553  	CERT_STORE_CTRL_COMMIT                                                         = 3
  2554  	CERT_STORE_CTRL_COMMIT_CLEAR_FLAG                                              = 0x2
  2555  	CERT_STORE_CTRL_COMMIT_FORCE_FLAG                                              = 0x1
  2556  	CERT_STORE_CTRL_INHIBIT_DUPLICATE_HANDLE_FLAG                                  = 0x1
  2557  	CERT_STORE_CTRL_NOTIFY_CHANGE                                                  = 2
  2558  	CERT_STORE_CTRL_RESYNC                                                         = 1
  2559  	CERT_STORE_DEFER_CLOSE_UNTIL_LAST_FREE_FLAG                                    = 0x4
  2560  	CERT_STORE_DELETE_FLAG                                                         = 0x10
  2561  	CERT_STORE_DELTA_CRL_FLAG                                                      = 0x200
  2562  	CERT_STORE_ENUM_ARCHIVED_FLAG                                                  = 0x200
  2563  	CERT_STORE_LOCALIZED_NAME_PROP_ID                                              = 0x1000
  2564  	CERT_STORE_MANIFOLD_FLAG                                                       = 0x100
  2565  	CERT_STORE_MAXIMUM_ALLOWED_FLAG                                                = 0x1000
  2566  	CERT_STORE_NO_CRL_FLAG                                                         = 0x10000
  2567  	CERT_STORE_NO_CRYPT_RELEASE_FLAG                                               = 0x1
  2568  	CERT_STORE_NO_ISSUER_FLAG                                                      = 0x20000
  2569  	CERT_STORE_OPEN_EXISTING_FLAG                                                  = 0x4000
  2570  	CERT_STORE_PROV_CLOSE_FUNC                                                     = 0
  2571  	CERT_STORE_PROV_CONTROL_FUNC                                                   = 13
  2572  	CERT_STORE_PROV_DELETED_FLAG                                                   = 0x2
  2573  	CERT_STORE_PROV_DELETE_CERT_FUNC                                               = 3
  2574  	CERT_STORE_PROV_DELETE_CRL_FUNC                                                = 7
  2575  	CERT_STORE_PROV_DELETE_CTL_FUNC                                                = 11
  2576  	CERT_STORE_PROV_EXTERNAL_FLAG                                                  = 0x1
  2577  	CERT_STORE_PROV_FIND_CERT_FUNC                                                 = 14
  2578  	CERT_STORE_PROV_FIND_CRL_FUNC                                                  = 17
  2579  	CERT_STORE_PROV_FIND_CTL_FUNC                                                  = 20
  2580  	CERT_STORE_PROV_FREE_FIND_CERT_FUNC                                            = 15
  2581  	CERT_STORE_PROV_FREE_FIND_CRL_FUNC                                             = 18
  2582  	CERT_STORE_PROV_FREE_FIND_CTL_FUNC                                             = 21
  2583  	CERT_STORE_PROV_GET_CERT_PROPERTY_FUNC                                         = 16
  2584  	CERT_STORE_PROV_GET_CRL_PROPERTY_FUNC                                          = 19
  2585  	CERT_STORE_PROV_GET_CTL_PROPERTY_FUNC                                          = 22
  2586  	CERT_STORE_PROV_GP_SYSTEM_STORE_FLAG                                           = 0x20
  2587  	CERT_STORE_PROV_LM_SYSTEM_STORE_FLAG                                           = 0x10
  2588  	CERT_STORE_PROV_NO_PERSIST_FLAG                                                = 0x4
  2589  	CERT_STORE_PROV_READ_CERT_FUNC                                                 = 1
  2590  	CERT_STORE_PROV_READ_CRL_FUNC                                                  = 5
  2591  	CERT_STORE_PROV_READ_CTL_FUNC                                                  = 9
  2592  	CERT_STORE_PROV_SET_CERT_PROPERTY_FUNC                                         = 4
  2593  	CERT_STORE_PROV_SET_CRL_PROPERTY_FUNC                                          = 8
  2594  	CERT_STORE_PROV_SET_CTL_PROPERTY_FUNC                                          = 12
  2595  	CERT_STORE_PROV_SHARED_USER_FLAG                                               = 0x40
  2596  	CERT_STORE_PROV_SYSTEM_STORE_FLAG                                              = 0x8
  2597  	CERT_STORE_PROV_WRITE_ADD_FLAG                                                 = 0x1
  2598  	CERT_STORE_PROV_WRITE_CERT_FUNC                                                = 2
  2599  	CERT_STORE_PROV_WRITE_CRL_FUNC                                                 = 6
  2600  	CERT_STORE_PROV_WRITE_CTL_FUNC                                                 = 10
  2601  	CERT_STORE_READONLY_FLAG                                                       = 0x8000
  2602  	CERT_STORE_REVOCATION_FLAG                                                     = 0x4
  2603  	CERT_STORE_SAVE_AS_PKCS12                                                      = 3
  2604  	CERT_STORE_SAVE_AS_PKCS7                                                       = 2
  2605  	CERT_STORE_SAVE_AS_STORE                                                       = 1
  2606  	CERT_STORE_SAVE_TO_FILE                                                        = 1
  2607  	CERT_STORE_SAVE_TO_FILENAME                                                    = 4
  2608  	CERT_STORE_SAVE_TO_FILENAME_A                                                  = 3
  2609  	CERT_STORE_SAVE_TO_FILENAME_W                                                  = 4
  2610  	CERT_STORE_SAVE_TO_MEMORY                                                      = 2
  2611  	CERT_STORE_SET_LOCALIZED_NAME_FLAG                                             = 0x2
  2612  	CERT_STORE_SHARE_CONTEXT_FLAG                                                  = 0x80
  2613  	CERT_STORE_SHARE_STORE_FLAG                                                    = 0x40
  2614  	CERT_STORE_SIGNATURE_FLAG                                                      = 0x1
  2615  	CERT_STORE_TIME_VALIDITY_FLAG                                                  = 0x2
  2616  	CERT_STORE_UNSAFE_PHYSICAL_FLAG                                                = 0x20
  2617  	CERT_STORE_UPDATE_KEYID_FLAG                                                   = 0x400
  2618  	CERT_STRONG_SIGN_ENABLE_CRL_CHECK                                              = 0x1
  2619  	CERT_STRONG_SIGN_ENABLE_OCSP_CHECK                                             = 0x2
  2620  	CERT_STRONG_SIGN_OID_INFO_CHOICE                                               = 2
  2621  	CERT_STRONG_SIGN_SERIALIZED_INFO_CHOICE                                        = 1
  2622  	CERT_SUBJECT_DISABLE_CRL_PROP_ID                                               = 86
  2623  	CERT_SUBJECT_INFO_ACCESS_PROP_ID                                               = 80
  2624  	CERT_SUBJECT_NAME_MD5_HASH_PROP_ID                                             = 29
  2625  	CERT_SUBJECT_OCSP_AUTHORITY_INFO_ACCESS_PROP_ID                                = 85
  2626  	CERT_SUBJECT_PUBLIC_KEY_MD5_HASH_PROP_ID                                       = 25
  2627  	CERT_SUBJECT_PUB_KEY_BIT_LENGTH_PROP_ID                                        = 92
  2628  	CERT_SYSTEM_STORE_CURRENT_SERVICE                                              = 262144
  2629  	CERT_SYSTEM_STORE_CURRENT_SERVICE_ID                                           = 4
  2630  	CERT_SYSTEM_STORE_CURRENT_USER                                                 = 65536
  2631  	CERT_SYSTEM_STORE_CURRENT_USER_GROUP_POLICY                                    = 458752
  2632  	CERT_SYSTEM_STORE_CURRENT_USER_GROUP_POLICY_ID                                 = 7
  2633  	CERT_SYSTEM_STORE_CURRENT_USER_ID                                              = 1
  2634  	CERT_SYSTEM_STORE_DEFER_READ_FLAG                                              = 0x20000000
  2635  	CERT_SYSTEM_STORE_LOCAL_MACHINE                                                = 131072
  2636  	CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE                                     = 589824
  2637  	CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE_ID                                  = 9
  2638  	CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY                                   = 524288
  2639  	CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY_ID                                = 8
  2640  	CERT_SYSTEM_STORE_LOCAL_MACHINE_ID                                             = 2
  2641  	CERT_SYSTEM_STORE_LOCAL_MACHINE_WCOS                                           = 655360
  2642  	CERT_SYSTEM_STORE_LOCAL_MACHINE_WCOS_ID                                        = 10
  2643  	CERT_SYSTEM_STORE_LOCATION_MASK                                                = 0x00ff0000
  2644  	CERT_SYSTEM_STORE_LOCATION_SHIFT                                               = 16
  2645  	CERT_SYSTEM_STORE_MASK                                                         = 0xffff0000
  2646  	CERT_SYSTEM_STORE_RELOCATE_FLAG                                                = 0x80000000
  2647  	CERT_SYSTEM_STORE_SERVICES                                                     = 327680
  2648  	CERT_SYSTEM_STORE_SERVICES_ID                                                  = 5
  2649  	CERT_SYSTEM_STORE_UNPROTECTED_FLAG                                             = 0x40000000
  2650  	CERT_SYSTEM_STORE_USERS                                                        = 393216
  2651  	CERT_SYSTEM_STORE_USERS_ID                                                     = 6
  2652  	CERT_TRUST_AUTO_UPDATE_CA_REVOCATION                                           = 0x10
  2653  	CERT_TRUST_AUTO_UPDATE_END_REVOCATION                                          = 0x20
  2654  	CERT_TRUST_CTL_IS_NOT_SIGNATURE_VALID                                          = 0x40000
  2655  	CERT_TRUST_CTL_IS_NOT_TIME_VALID                                               = 0x20000
  2656  	CERT_TRUST_CTL_IS_NOT_VALID_FOR_USAGE                                          = 0x80000
  2657  	CERT_TRUST_HAS_CRL_VALIDITY_EXTENDED                                           = 0x1000
  2658  	CERT_TRUST_HAS_EXACT_MATCH_ISSUER                                              = 0x1
  2659  	CERT_TRUST_HAS_EXCLUDED_NAME_CONSTRAINT                                        = 0x8000
  2660  	CERT_TRUST_HAS_ISSUANCE_CHAIN_POLICY                                           = 0x200
  2661  	CERT_TRUST_HAS_KEY_MATCH_ISSUER                                                = 0x2
  2662  	CERT_TRUST_HAS_NAME_MATCH_ISSUER                                               = 0x4
  2663  	CERT_TRUST_HAS_NOT_DEFINED_NAME_CONSTRAINT                                     = 0x2000
  2664  	CERT_TRUST_HAS_NOT_PERMITTED_NAME_CONSTRAINT                                   = 0x4000
  2665  	CERT_TRUST_HAS_NOT_SUPPORTED_CRITICAL_EXT                                      = 0x8000000
  2666  	CERT_TRUST_HAS_NOT_SUPPORTED_NAME_CONSTRAINT                                   = 0x1000
  2667  	CERT_TRUST_HAS_PREFERRED_ISSUER                                                = 0x100
  2668  	CERT_TRUST_HAS_VALID_NAME_CONSTRAINTS                                          = 0x400
  2669  	CERT_TRUST_HAS_WEAK_SIGNATURE                                                  = 0x100000
  2670  	CERT_TRUST_INVALID_BASIC_CONSTRAINTS                                           = 0x400
  2671  	CERT_TRUST_INVALID_EXTENSION                                                   = 0x100
  2672  	CERT_TRUST_INVALID_NAME_CONSTRAINTS                                            = 0x800
  2673  	CERT_TRUST_INVALID_POLICY_CONSTRAINTS                                          = 0x200
  2674  	CERT_TRUST_IS_COMPLEX_CHAIN                                                    = 0x00010000
  2675  	CERT_TRUST_IS_CYCLIC                                                           = 0x80
  2676  	CERT_TRUST_IS_EXPLICIT_DISTRUST                                                = 0x4000000
  2677  	CERT_TRUST_IS_FROM_EXCLUSIVE_TRUST_STORE                                       = 0x2000
  2678  	CERT_TRUST_IS_KEY_ROLLOVER                                                     = 0x00000080
  2679  	CERT_TRUST_IS_NOT_SIGNATURE_VALID                                              = 0x8
  2680  	CERT_TRUST_IS_NOT_TIME_NESTED                                                  = 0x2
  2681  	CERT_TRUST_IS_NOT_TIME_VALID                                                   = 0x1
  2682  	CERT_TRUST_IS_NOT_VALID_FOR_USAGE                                              = 0x10
  2683  	CERT_TRUST_IS_OFFLINE_REVOCATION                                               = 0x1000000
  2684  	CERT_TRUST_IS_PARTIAL_CHAIN                                                    = 0x10000
  2685  	CERT_TRUST_IS_PEER_TRUSTED                                                     = 0x800
  2686  	CERT_TRUST_IS_REVOKED                                                          = 0x4
  2687  	CERT_TRUST_IS_SELF_SIGNED                                                      = 0x8
  2688  	CERT_TRUST_IS_UNTRUSTED_ROOT                                                   = 0x20
  2689  	CERT_TRUST_NO_ERROR                                                            = 0x0
  2690  	CERT_TRUST_NO_ISSUANCE_CHAIN_POLICY                                            = 0x2000000
  2691  	CERT_TRUST_NO_OCSP_FAILOVER_TO_CRL                                             = 0x40
  2692  	CERT_TRUST_NO_TIME_CHECK                                                       = 0x02000000
  2693  	CERT_TRUST_PUB_ALLOW_END_USER_TRUST                                            = 0x0
  2694  	CERT_TRUST_PUB_ALLOW_ENTERPRISE_ADMIN_TRUST                                    = 0x2
  2695  	CERT_TRUST_PUB_ALLOW_MACHINE_ADMIN_TRUST                                       = 0x1
  2696  	CERT_TRUST_PUB_ALLOW_TRUST_MASK                                                = 0x3
  2697  	CERT_TRUST_PUB_CHECK_PUBLISHER_REV_FLAG                                        = 0x100
  2698  	CERT_TRUST_PUB_CHECK_TIMESTAMP_REV_FLAG                                        = 0x200
  2699  	CERT_TRUST_REVOCATION_STATUS_UNKNOWN                                           = 0x40
  2700  	CERT_TRUST_SSL_HANDSHAKE_OCSP                                                  = 0x00040000
  2701  	CERT_TRUST_SSL_RECONNECT_OCSP                                                  = 0x00100000
  2702  	CERT_TRUST_SSL_TIME_VALID                                                      = 0x01000000
  2703  	CERT_TRUST_SSL_TIME_VALID_OCSP                                                 = 0x00080000
  2704  	CERT_UNICODE_ATTR_ERR_INDEX_MASK                                               = 0x3f
  2705  	CERT_UNICODE_ATTR_ERR_INDEX_SHIFT                                              = 16
  2706  	CERT_UNICODE_IS_RDN_ATTRS_FLAG                                                 = 0x1
  2707  	CERT_UNICODE_RDN_ERR_INDEX_MASK                                                = 0x3ff
  2708  	CERT_UNICODE_RDN_ERR_INDEX_SHIFT                                               = 22
  2709  	CERT_UNICODE_VALUE_ERR_INDEX_MASK                                              = 0xffff
  2710  	CERT_UNICODE_VALUE_ERR_INDEX_SHIFT                                             = 0
  2711  	CERT_V1                                                                        = 0
  2712  	CERT_V2                                                                        = 1
  2713  	CERT_V3                                                                        = 2
  2714  	CERT_VERIFY_ALLOW_MORE_USAGE_FLAG                                              = 0x8
  2715  	CERT_VERIFY_CACHE_ONLY_BASED_REVOCATION                                        = 0x2
  2716  	CERT_VERIFY_INHIBIT_CTL_UPDATE_FLAG                                            = 0x1
  2717  	CERT_VERIFY_NO_TIME_CHECK_FLAG                                                 = 0x4
  2718  	CERT_VERIFY_REV_ACCUMULATIVE_TIMEOUT_FLAG                                      = 0x4
  2719  	CERT_VERIFY_REV_CHAIN_FLAG                                                     = 0x1
  2720  	CERT_VERIFY_REV_NO_OCSP_FAILOVER_TO_CRL_FLAG                                   = 0x10
  2721  	CERT_VERIFY_REV_SERVER_OCSP_FLAG                                               = 0x8
  2722  	CERT_VERIFY_TRUSTED_SIGNERS_FLAG                                               = 0x2
  2723  	CERT_VERIFY_UPDATED_CTL_FLAG                                                   = 0x1
  2724  	CERT_X500_NAME_STR                                                             = 3
  2725  	CERT_XML_NAME_STR                                                              = 4
  2726  	CE_BREAK                                                                       = 0x10
  2727  	CE_DNS                                                                         = 0x800
  2728  	CE_FRAME                                                                       = 0x8
  2729  	CE_IOE                                                                         = 0x400
  2730  	CE_MODE                                                                        = 0x8000
  2731  	CE_OOP                                                                         = 0x1000
  2732  	CE_OVERRUN                                                                     = 0x2
  2733  	CE_PTO                                                                         = 0x200
  2734  	CE_RXOVER                                                                      = 0x1
  2735  	CE_RXPARITY                                                                    = 0x4
  2736  	CE_TXFULL                                                                      = 0x100
  2737  	CFERR_CHOOSEFONTCODES                                                          = 0x2000
  2738  	CFERR_MAXLESSTHANMIN                                                           = 0x2002
  2739  	CFERR_NOFONTS                                                                  = 0x2001
  2740  	CFG_CALL_TARGET_CONVERT_EXPORT_SUPPRESSED_TO_VALID                             = 0x04
  2741  	CFG_CALL_TARGET_PROCESSED                                                      = 0x02
  2742  	CFG_CALL_TARGET_VALID                                                          = 0x01
  2743  	CFSEPCHAR                                                                      = 43
  2744  	CFS_CANDIDATEPOS                                                               = 0x0040
  2745  	CFS_DEFAULT                                                                    = 0x0000
  2746  	CFS_EXCLUDE                                                                    = 0x0080
  2747  	CFS_FORCE_POSITION                                                             = 0x0020
  2748  	CFS_POINT                                                                      = 0x0002
  2749  	CFS_RECT                                                                       = 0x0001
  2750  	CF_ANSIONLY                                                                    = 1024
  2751  	CF_APPLY                                                                       = 512
  2752  	CF_BITMAP                                                                      = 2
  2753  	CF_BOTH                                                                        = 3
  2754  	CF_DIB                                                                         = 8
  2755  	CF_DIBV5                                                                       = 17
  2756  	CF_DIF                                                                         = 5
  2757  	CF_DSPBITMAP                                                                   = 0x0082
  2758  	CF_DSPENHMETAFILE                                                              = 0x008E
  2759  	CF_DSPMETAFILEPICT                                                             = 0x0083
  2760  	CF_DSPTEXT                                                                     = 0x0081
  2761  	CF_EFFECTS                                                                     = 256
  2762  	CF_ENABLEHOOK                                                                  = 8
  2763  	CF_ENABLETEMPLATE                                                              = 16
  2764  	CF_ENABLETEMPLATEHANDLE                                                        = 32
  2765  	CF_ENHMETAFILE                                                                 = 14
  2766  	CF_FIXEDPITCHONLY                                                              = 16384
  2767  	CF_FORCEFONTEXIST                                                              = 65536
  2768  	CF_GDIOBJFIRST                                                                 = 0x0300
  2769  	CF_GDIOBJLAST                                                                  = 0x03FF
  2770  	CF_HDROP                                                                       = 15
  2771  	CF_INITTOLOGFONTSTRUCT                                                         = 64
  2772  	CF_LIMITSIZE                                                                   = 8192
  2773  	CF_LOCALE                                                                      = 16
  2774  	CF_MAX                                                                         = 18
  2775  	CF_METAFILEPICT                                                                = 3
  2776  	CF_NOFACESEL                                                                   = 524288
  2777  	CF_NOOEMFONTS                                                                  = 2048
  2778  	CF_NOSCRIPTSEL                                                                 = 8388608
  2779  	CF_NOSIMULATIONS                                                               = 4096
  2780  	CF_NOSIZESEL                                                                   = 2097152
  2781  	CF_NOSTYLESEL                                                                  = 1048576
  2782  	CF_NOVECTORFONTS                                                               = 2048
  2783  	CF_NOVERTFONTS                                                                 = 16777216
  2784  	CF_NULL                                                                        = 0
  2785  	CF_OEMTEXT                                                                     = 7
  2786  	CF_OWNERDISPLAY                                                                = 0x0080
  2787  	CF_PALETTE                                                                     = 9
  2788  	CF_PENDATA                                                                     = 10
  2789  	CF_PRINTERFONTS                                                                = 0x2
  2790  	CF_PRIVATEFIRST                                                                = 0x0200
  2791  	CF_PRIVATELAST                                                                 = 0x02FF
  2792  	CF_RIFF                                                                        = 11
  2793  	CF_SCALABLEONLY                                                                = 131072
  2794  	CF_SCREENFONTS                                                                 = 0x1
  2795  	CF_SCRIPTSONLY                                                                 = 1024
  2796  	CF_SELECTSCRIPT                                                                = 4194304
  2797  	CF_SHOWHELP                                                                    = 4
  2798  	CF_SYLK                                                                        = 4
  2799  	CF_TEXT                                                                        = 1
  2800  	CF_TIFF                                                                        = 6
  2801  	CF_TTONLY                                                                      = 262144
  2802  	CF_UNICODETEXT                                                                 = 13
  2803  	CF_USESTYLE                                                                    = 128
  2804  	CF_WAVE                                                                        = 12
  2805  	CF_WYSIWYG                                                                     = 32768
  2806  	CHANGER_BAR_CODE_SCANNER_INSTALLED                                             = 0x00000001
  2807  	CHANGER_CARTRIDGE_MAGAZINE                                                     = 0x00000100
  2808  	CHANGER_CLEANER_ACCESS_NOT_VALID                                               = 0x00040000
  2809  	CHANGER_CLEANER_AUTODISMOUNT                                                   = 0x80000004
  2810  	CHANGER_CLEANER_OPS_NOT_SUPPORTED                                              = 0x80000040
  2811  	CHANGER_CLEANER_SLOT                                                           = 0x00000040
  2812  	CHANGER_CLOSE_IEPORT                                                           = 0x00000004
  2813  	CHANGER_DEVICE_REINITIALIZE_CAPABLE                                            = 0x08000000
  2814  	CHANGER_DRIVE_CLEANING_REQUIRED                                                = 0x00010000
  2815  	CHANGER_DRIVE_EMPTY_ON_DOOR_ACCESS                                             = 0x20000000
  2816  	CHANGER_EXCHANGE_MEDIA                                                         = 0x00000020
  2817  	CHANGER_IEPORT_USER_CONTROL_CLOSE                                              = 0x80000100
  2818  	CHANGER_IEPORT_USER_CONTROL_OPEN                                               = 0x80000080
  2819  	CHANGER_INIT_ELEM_STAT_WITH_RANGE                                              = 0x00000002
  2820  	CHANGER_KEYPAD_ENABLE_DISABLE                                                  = 0x10000000
  2821  	CHANGER_LOCK_UNLOCK                                                            = 0x00000080
  2822  	CHANGER_MEDIUM_FLIP                                                            = 0x00000200
  2823  	CHANGER_MOVE_EXTENDS_IEPORT                                                    = 0x80000200
  2824  	CHANGER_MOVE_RETRACTS_IEPORT                                                   = 0x80000400
  2825  	CHANGER_OPEN_IEPORT                                                            = 0x00000008
  2826  	CHANGER_POSITION_TO_ELEMENT                                                    = 0x00000400
  2827  	CHANGER_PREDISMOUNT_ALIGN_TO_DRIVE                                             = 0x80000002
  2828  	CHANGER_PREDISMOUNT_ALIGN_TO_SLOT                                              = 0x80000001
  2829  	CHANGER_PREDISMOUNT_EJECT_REQUIRED                                             = 0x00020000
  2830  	CHANGER_PREMOUNT_EJECT_REQUIRED                                                = 0x00080000
  2831  	CHANGER_REPORT_IEPORT_STATE                                                    = 0x00000800
  2832  	CHANGER_RESERVED_BIT                                                           = 0x80000000
  2833  	CHANGER_RTN_MEDIA_TO_ORIGINAL_ADDR                                             = 0x80000020
  2834  	CHANGER_SERIAL_NUMBER_VALID                                                    = 0x04000000
  2835  	CHANGER_SLOTS_USE_TRAYS                                                        = 0x80000010
  2836  	CHANGER_STATUS_NON_VOLATILE                                                    = 0x00000010
  2837  	CHANGER_STORAGE_DRIVE                                                          = 0x00001000
  2838  	CHANGER_STORAGE_IEPORT                                                         = 0x00002000
  2839  	CHANGER_STORAGE_SLOT                                                           = 0x00004000
  2840  	CHANGER_STORAGE_TRANSPORT                                                      = 0x00008000
  2841  	CHANGER_TO_DRIVE                                                               = 0x08
  2842  	CHANGER_TO_IEPORT                                                              = 0x04
  2843  	CHANGER_TO_SLOT                                                                = 0x02
  2844  	CHANGER_TO_TRANSPORT                                                           = 0x01
  2845  	CHANGER_TRUE_EXCHANGE_CAPABLE                                                  = 0x80000008
  2846  	CHANGER_VOLUME_ASSERT                                                          = 0x00400000
  2847  	CHANGER_VOLUME_IDENTIFICATION                                                  = 0x00100000
  2848  	CHANGER_VOLUME_REPLACE                                                         = 0x00800000
  2849  	CHANGER_VOLUME_SEARCH                                                          = 0x00200000
  2850  	CHANGER_VOLUME_UNDEFINE                                                        = 0x01000000
  2851  	CHECKJPEGFORMAT                                                                = 4119
  2852  	CHECKPNGFORMAT                                                                 = 4120
  2853  	CHILDID_SELF                                                                   = 0
  2854  	CHINESEBIG5_CHARSET                                                            = 136
  2855  	CLAIM_SECURITY_ATTRIBUTES_INFORMATION_VERSION                                  = 1
  2856  	CLAIM_SECURITY_ATTRIBUTES_INFORMATION_VERSION_V1                               = 1
  2857  	CLAIM_SECURITY_ATTRIBUTE_CUSTOM_FLAGS                                          = 0xffff0000
  2858  	CLAIM_SECURITY_ATTRIBUTE_DISABLED                                              = 0x0010
  2859  	CLAIM_SECURITY_ATTRIBUTE_DISABLED_BY_DEFAULT                                   = 0x0008
  2860  	CLAIM_SECURITY_ATTRIBUTE_MANDATORY                                             = 0x0020
  2861  	CLAIM_SECURITY_ATTRIBUTE_NON_INHERITABLE                                       = 0x0001
  2862  	CLAIM_SECURITY_ATTRIBUTE_TYPE_BOOLEAN                                          = 0x06
  2863  	CLAIM_SECURITY_ATTRIBUTE_TYPE_FQBN                                             = 0x04
  2864  	CLAIM_SECURITY_ATTRIBUTE_TYPE_INT64                                            = 0x01
  2865  	CLAIM_SECURITY_ATTRIBUTE_TYPE_INVALID                                          = 0x00
  2866  	CLAIM_SECURITY_ATTRIBUTE_TYPE_OCTET_STRING                                     = 0x10
  2867  	CLAIM_SECURITY_ATTRIBUTE_TYPE_SID                                              = 0x05
  2868  	CLAIM_SECURITY_ATTRIBUTE_TYPE_STRING                                           = 0x03
  2869  	CLAIM_SECURITY_ATTRIBUTE_TYPE_UINT64                                           = 0x02
  2870  	CLAIM_SECURITY_ATTRIBUTE_USE_FOR_DENY_ONLY                                     = 0x0004
  2871  	CLAIM_SECURITY_ATTRIBUTE_VALID_FLAGS                                           = 63
  2872  	CLAIM_SECURITY_ATTRIBUTE_VALUE_CASE_SENSITIVE                                  = 0x0002
  2873  	CLASSFACTORY_E_FIRST                                                           = 2147746064
  2874  	CLASSFACTORY_E_LAST                                                            = 2147746079
  2875  	CLASSFACTORY_S_FIRST                                                           = 262416
  2876  	CLASSFACTORY_S_LAST                                                            = 262431
  2877  	CLEARTYPE_NATURAL_QUALITY                                                      = 6
  2878  	CLEARTYPE_QUALITY                                                              = 5
  2879  	CLIENTSITE_E_FIRST                                                             = 2147746192
  2880  	CLIENTSITE_E_LAST                                                              = 2147746207
  2881  	CLIENTSITE_S_FIRST                                                             = 262544
  2882  	CLIENTSITE_S_LAST                                                              = 262559
  2883  	CLIPBRD_E_FIRST                                                                = 2147746256
  2884  	CLIPBRD_E_LAST                                                                 = 2147746271
  2885  	CLIPBRD_S_FIRST                                                                = 262608
  2886  	CLIPBRD_S_LAST                                                                 = 262623
  2887  	CLIPCAPS                                                                       = 36
  2888  	CLIP_CHARACTER_PRECIS                                                          = 1
  2889  	CLIP_DEFAULT_PRECIS                                                            = 0
  2890  	CLIP_EMBEDDED                                                                  = 128
  2891  	CLIP_LH_ANGLES                                                                 = 16
  2892  	CLIP_MASK                                                                      = 0xf
  2893  	CLIP_STROKE_PRECIS                                                             = 2
  2894  	CLIP_TO_PATH                                                                   = 4097
  2895  	CLIP_TT_ALWAYS                                                                 = 32
  2896  	CLK_TCK                                                                        = 1000
  2897  	CLOCKS_PER_SEC                                                                 = 1000
  2898  	CLOCK_MONOTONIC                                                                = 1
  2899  	CLOCK_PROCESS_CPUTIME_ID                                                       = 2
  2900  	CLOCK_REALTIME                                                                 = 0
  2901  	CLOCK_THREAD_CPUTIME_ID                                                        = 3
  2902  	CLOSECHANNEL                                                                   = 4112
  2903  	CLRBREAK                                                                       = 9
  2904  	CLRDTR                                                                         = 6
  2905  	CLRRTS                                                                         = 4
  2906  	CLR_INVALID                                                                    = 0xFFFFFFFF
  2907  	CLSID_DEFINED                                                                  = 0
  2908  	CMC_FAIL_BAD_ALG                                                               = 0
  2909  	CMC_FAIL_BAD_CERT_ID                                                           = 4
  2910  	CMC_FAIL_BAD_IDENTITY                                                          = 7
  2911  	CMC_FAIL_BAD_MESSAGE_CHECK                                                     = 1
  2912  	CMC_FAIL_BAD_REQUEST                                                           = 2
  2913  	CMC_FAIL_BAD_TIME                                                              = 3
  2914  	CMC_FAIL_INTERNAL_CA_ERROR                                                     = 11
  2915  	CMC_FAIL_MUST_ARCHIVE_KEYS                                                     = 6
  2916  	CMC_FAIL_NO_KEY_REUSE                                                          = 10
  2917  	CMC_FAIL_POP_FAILED                                                            = 9
  2918  	CMC_FAIL_POP_REQUIRED                                                          = 8
  2919  	CMC_FAIL_TRY_LATER                                                             = 12
  2920  	CMC_FAIL_UNSUPORTED_EXT                                                        = 5
  2921  	CMC_OTHER_INFO_FAIL_CHOICE                                                     = 1
  2922  	CMC_OTHER_INFO_NO_CHOICE                                                       = 0
  2923  	CMC_OTHER_INFO_PEND_CHOICE                                                     = 2
  2924  	CMC_STATUS_CONFIRM_REQUIRED                                                    = 5
  2925  	CMC_STATUS_FAILED                                                              = 2
  2926  	CMC_STATUS_NO_SUPPORT                                                          = 4
  2927  	CMC_STATUS_PENDING                                                             = 3
  2928  	CMC_STATUS_SUCCESS                                                             = 0
  2929  	CMC_TAGGED_CERT_REQUEST_CHOICE                                                 = 1
  2930  	CMSG_ALL_FLAGS                                                                 = 18446744073709551615
  2931  	CMSG_ATTR_CERT_COUNT_PARAM                                                     = 31
  2932  	CMSG_ATTR_CERT_PARAM                                                           = 32
  2933  	CMSG_AUTHENTICATED_ATTRIBUTES_FLAG                                             = 0x8
  2934  	CMSG_BARE_CONTENT_FLAG                                                         = 0x1
  2935  	CMSG_BARE_CONTENT_PARAM                                                        = 3
  2936  	CMSG_CERT_COUNT_PARAM                                                          = 11
  2937  	CMSG_CERT_PARAM                                                                = 12
  2938  	CMSG_CMS_ENCAPSULATED_CONTENT_FLAG                                             = 0x40
  2939  	CMSG_CMS_ENCAPSULATED_CTL_FLAG                                                 = 0x8000
  2940  	CMSG_CMS_RECIPIENT_COUNT_PARAM                                                 = 33
  2941  	CMSG_CMS_RECIPIENT_ENCRYPTED_KEY_INDEX_PARAM                                   = 35
  2942  	CMSG_CMS_RECIPIENT_INDEX_PARAM                                                 = 34
  2943  	CMSG_CMS_RECIPIENT_INFO_PARAM                                                  = 36
  2944  	CMSG_CMS_SIGNER_INFO_PARAM                                                     = 39
  2945  	CMSG_COMPUTED_HASH_PARAM                                                       = 22
  2946  	CMSG_CONTENTS_OCTETS_FLAG                                                      = 0x10
  2947  	CMSG_CONTENT_ENCRYPT_FREE_OBJID_FLAG                                           = 0x2
  2948  	CMSG_CONTENT_ENCRYPT_FREE_PARA_FLAG                                            = 0x1
  2949  	CMSG_CONTENT_ENCRYPT_PAD_ENCODED_LEN_FLAG                                      = 0x1
  2950  	CMSG_CONTENT_ENCRYPT_RELEASE_CONTEXT_FLAG                                      = 0x8000
  2951  	CMSG_CONTENT_PARAM                                                             = 2
  2952  	CMSG_CRL_COUNT_PARAM                                                           = 13
  2953  	CMSG_CRL_PARAM                                                                 = 14
  2954  	CMSG_CRYPT_RELEASE_CONTEXT_FLAG                                                = 0x8000
  2955  	CMSG_CTRL_ADD_ATTR_CERT                                                        = 14
  2956  	CMSG_CTRL_ADD_CERT                                                             = 10
  2957  	CMSG_CTRL_ADD_CMS_SIGNER_INFO                                                  = 20
  2958  	CMSG_CTRL_ADD_CRL                                                              = 12
  2959  	CMSG_CTRL_ADD_SIGNER                                                           = 6
  2960  	CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR                                               = 8
  2961  	CMSG_CTRL_DECRYPT                                                              = 2
  2962  	CMSG_CTRL_DEL_ATTR_CERT                                                        = 15
  2963  	CMSG_CTRL_DEL_CERT                                                             = 11
  2964  	CMSG_CTRL_DEL_CRL                                                              = 13
  2965  	CMSG_CTRL_DEL_SIGNER                                                           = 7
  2966  	CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR                                               = 9
  2967  	CMSG_CTRL_ENABLE_STRONG_SIGNATURE                                              = 21
  2968  	CMSG_CTRL_KEY_AGREE_DECRYPT                                                    = 17
  2969  	CMSG_CTRL_KEY_TRANS_DECRYPT                                                    = 16
  2970  	CMSG_CTRL_MAIL_LIST_DECRYPT                                                    = 18
  2971  	CMSG_CTRL_VERIFY_HASH                                                          = 5
  2972  	CMSG_CTRL_VERIFY_SIGNATURE                                                     = 1
  2973  	CMSG_CTRL_VERIFY_SIGNATURE_EX                                                  = 19
  2974  	CMSG_DATA                                                                      = 1
  2975  	CMSG_DATA_FLAG                                                                 = 2
  2976  	CMSG_DETACHED_FLAG                                                             = 0x4
  2977  	CMSG_ENCODED_MESSAGE                                                           = 29
  2978  	CMSG_ENCODED_SIGNER                                                            = 28
  2979  	CMSG_ENCODE_HASHED_SUBJECT_IDENTIFIER_FLAG                                     = 0x2
  2980  	CMSG_ENCODE_SORTED_CTL_FLAG                                                    = 0x1
  2981  	CMSG_ENCODING_TYPE_MASK                                                        = 0xffff0000
  2982  	CMSG_ENCRYPTED                                                                 = 6
  2983  	CMSG_ENCRYPTED_DIGEST                                                          = 27
  2984  	CMSG_ENCRYPTED_FLAG                                                            = 64
  2985  	CMSG_ENCRYPT_PARAM                                                             = 26
  2986  	CMSG_ENVELOPED                                                                 = 3
  2987  	CMSG_ENVELOPED_DATA_CMS_VERSION                                                = 2
  2988  	CMSG_ENVELOPED_DATA_PKCS_1_5_VERSION                                           = 0
  2989  	CMSG_ENVELOPED_DATA_V0                                                         = 0
  2990  	CMSG_ENVELOPED_DATA_V2                                                         = 2
  2991  	CMSG_ENVELOPED_FLAG                                                            = 8
  2992  	CMSG_ENVELOPED_RECIPIENT_V0                                                    = 0
  2993  	CMSG_ENVELOPED_RECIPIENT_V2                                                    = 2
  2994  	CMSG_ENVELOPED_RECIPIENT_V3                                                    = 3
  2995  	CMSG_ENVELOPED_RECIPIENT_V4                                                    = 4
  2996  	CMSG_ENVELOPE_ALGORITHM_PARAM                                                  = 15
  2997  	CMSG_HASHED                                                                    = 5
  2998  	CMSG_HASHED_DATA_CMS_VERSION                                                   = 2
  2999  	CMSG_HASHED_DATA_PKCS_1_5_VERSION                                              = 0
  3000  	CMSG_HASHED_DATA_V0                                                            = 0
  3001  	CMSG_HASHED_DATA_V2                                                            = 2
  3002  	CMSG_HASHED_FLAG                                                               = 32
  3003  	CMSG_HASH_ALGORITHM_PARAM                                                      = 20
  3004  	CMSG_HASH_DATA_PARAM                                                           = 21
  3005  	CMSG_INDEFINITE_LENGTH                                                         = 4294967295
  3006  	CMSG_INNER_CONTENT_TYPE_PARAM                                                  = 4
  3007  	CMSG_KEY_AGREE_ENCRYPT_FREE_MATERIAL_FLAG                                      = 0x2
  3008  	CMSG_KEY_AGREE_ENCRYPT_FREE_OBJID_FLAG                                         = 0x20
  3009  	CMSG_KEY_AGREE_ENCRYPT_FREE_PARA_FLAG                                          = 0x1
  3010  	CMSG_KEY_AGREE_ENCRYPT_FREE_PUBKEY_ALG_FLAG                                    = 0x4
  3011  	CMSG_KEY_AGREE_ENCRYPT_FREE_PUBKEY_BITS_FLAG                                   = 0x10
  3012  	CMSG_KEY_AGREE_ENCRYPT_FREE_PUBKEY_PARA_FLAG                                   = 0x8
  3013  	CMSG_KEY_AGREE_EPHEMERAL_KEY_CHOICE                                            = 1
  3014  	CMSG_KEY_AGREE_ORIGINATOR_CERT                                                 = 1
  3015  	CMSG_KEY_AGREE_ORIGINATOR_PUBLIC_KEY                                           = 2
  3016  	CMSG_KEY_AGREE_RECIPIENT                                                       = 2
  3017  	CMSG_KEY_AGREE_STATIC_KEY_CHOICE                                               = 2
  3018  	CMSG_KEY_AGREE_VERSION                                                         = 3
  3019  	CMSG_KEY_TRANS_CMS_VERSION                                                     = 2
  3020  	CMSG_KEY_TRANS_ENCRYPT_FREE_OBJID_FLAG                                         = 0x2
  3021  	CMSG_KEY_TRANS_ENCRYPT_FREE_PARA_FLAG                                          = 0x1
  3022  	CMSG_KEY_TRANS_PKCS_1_5_VERSION                                                = 0
  3023  	CMSG_KEY_TRANS_RECIPIENT                                                       = 1
  3024  	CMSG_LENGTH_ONLY_FLAG                                                          = 0x2
  3025  	CMSG_MAIL_LIST_ENCRYPT_FREE_OBJID_FLAG                                         = 0x2
  3026  	CMSG_MAIL_LIST_ENCRYPT_FREE_PARA_FLAG                                          = 0x1
  3027  	CMSG_MAIL_LIST_HANDLE_KEY_CHOICE                                               = 1
  3028  	CMSG_MAIL_LIST_RECIPIENT                                                       = 3
  3029  	CMSG_MAIL_LIST_VERSION                                                         = 4
  3030  	CMSG_MAX_LENGTH_FLAG                                                           = 0x20
  3031  	CMSG_OID_CNG_EXPORT_KEY_AGREE_FUNC                                             = "CryptMsgDllCNGExportKeyAgree"
  3032  	CMSG_OID_CNG_EXPORT_KEY_TRANS_FUNC                                             = "CryptMsgDllCNGExportKeyTrans"
  3033  	CMSG_OID_CNG_GEN_CONTENT_ENCRYPT_KEY_FUNC                                      = "CryptMsgDllCNGGenContentEncryptKey"
  3034  	CMSG_OID_CNG_IMPORT_CONTENT_ENCRYPT_KEY_FUNC                                   = "CryptMsgDllCNGImportContentEncryptKey"
  3035  	CMSG_OID_CNG_IMPORT_KEY_AGREE_FUNC                                             = "CryptMsgDllCNGImportKeyAgree"
  3036  	CMSG_OID_CNG_IMPORT_KEY_TRANS_FUNC                                             = "CryptMsgDllCNGImportKeyTrans"
  3037  	CMSG_OID_EXPORT_ENCRYPT_KEY_FUNC                                               = "CryptMsgDllExportEncryptKey"
  3038  	CMSG_OID_EXPORT_KEY_AGREE_FUNC                                                 = "CryptMsgDllExportKeyAgree"
  3039  	CMSG_OID_EXPORT_KEY_TRANS_FUNC                                                 = "CryptMsgDllExportKeyTrans"
  3040  	CMSG_OID_EXPORT_MAIL_LIST_FUNC                                                 = "CryptMsgDllExportMailList"
  3041  	CMSG_OID_GEN_CONTENT_ENCRYPT_KEY_FUNC                                          = "CryptMsgDllGenContentEncryptKey"
  3042  	CMSG_OID_GEN_ENCRYPT_KEY_FUNC                                                  = "CryptMsgDllGenEncryptKey"
  3043  	CMSG_OID_IMPORT_ENCRYPT_KEY_FUNC                                               = "CryptMsgDllImportEncryptKey"
  3044  	CMSG_OID_IMPORT_KEY_AGREE_FUNC                                                 = "CryptMsgDllImportKeyAgree"
  3045  	CMSG_OID_IMPORT_KEY_TRANS_FUNC                                                 = "CryptMsgDllImportKeyTrans"
  3046  	CMSG_OID_IMPORT_MAIL_LIST_FUNC                                                 = "CryptMsgDllImportMailList"
  3047  	CMSG_RC4_NO_SALT_FLAG                                                          = 0x40000000
  3048  	CMSG_RECIPIENT_COUNT_PARAM                                                     = 17
  3049  	CMSG_RECIPIENT_INDEX_PARAM                                                     = 18
  3050  	CMSG_RECIPIENT_INFO_PARAM                                                      = 19
  3051  	CMSG_SIGNED                                                                    = 2
  3052  	CMSG_SIGNED_AND_ENVELOPED                                                      = 4
  3053  	CMSG_SIGNED_AND_ENVELOPED_FLAG                                                 = 16
  3054  	CMSG_SIGNED_DATA_CMS_VERSION                                                   = 3
  3055  	CMSG_SIGNED_DATA_NO_SIGN_FLAG                                                  = 0x80
  3056  	CMSG_SIGNED_DATA_PKCS_1_5_VERSION                                              = 1
  3057  	CMSG_SIGNED_DATA_V1                                                            = 1
  3058  	CMSG_SIGNED_DATA_V3                                                            = 3
  3059  	CMSG_SIGNED_FLAG                                                               = 4
  3060  	CMSG_SIGNER_AUTH_ATTR_PARAM                                                    = 9
  3061  	CMSG_SIGNER_CERT_ID_PARAM                                                      = 38
  3062  	CMSG_SIGNER_CERT_INFO_PARAM                                                    = 7
  3063  	CMSG_SIGNER_COUNT_PARAM                                                        = 5
  3064  	CMSG_SIGNER_HASH_ALGORITHM_PARAM                                               = 8
  3065  	CMSG_SIGNER_INFO_CMS_VERSION                                                   = 3
  3066  	CMSG_SIGNER_INFO_PARAM                                                         = 6
  3067  	CMSG_SIGNER_INFO_PKCS_1_5_VERSION                                              = 1
  3068  	CMSG_SIGNER_INFO_V1                                                            = 1
  3069  	CMSG_SIGNER_INFO_V3                                                            = 3
  3070  	CMSG_SIGNER_ONLY_FLAG                                                          = 0x2
  3071  	CMSG_SIGNER_UNAUTH_ATTR_PARAM                                                  = 10
  3072  	CMSG_SP3_COMPATIBLE_ENCRYPT_FLAG                                               = 0x80000000
  3073  	CMSG_TRUSTED_SIGNER_FLAG                                                       = 0x1
  3074  	CMSG_TYPE_PARAM                                                                = 1
  3075  	CMSG_UNPROTECTED_ATTR_PARAM                                                    = 37
  3076  	CMSG_USE_SIGNER_INDEX_FLAG                                                     = 0x4
  3077  	CMSG_VERIFY_COUNTER_SIGN_ENABLE_STRONG_FLAG                                    = 0x1
  3078  	CMSG_VERIFY_SIGNER_CERT                                                        = 2
  3079  	CMSG_VERIFY_SIGNER_CHAIN                                                       = 3
  3080  	CMSG_VERIFY_SIGNER_NULL                                                        = 4
  3081  	CMSG_VERIFY_SIGNER_PUBKEY                                                      = 1
  3082  	CMSG_VERSION_PARAM                                                             = 30
  3083  	CM_CMYK_COLOR                                                                  = 0x00000004
  3084  	CM_DEVICE_ICM                                                                  = 0x00000001
  3085  	CM_GAMMA_RAMP                                                                  = 0x00000002
  3086  	CM_IN_GAMUT                                                                    = 0
  3087  	CM_NONE                                                                        = 0x00000000
  3088  	CM_OUT_OF_GAMUT                                                                = 255
  3089  	CM_SERVICE_MEASURED_BOOT_LOAD                                                  = 0x00000020
  3090  	CM_SERVICE_NETWORK_BOOT_LOAD                                                   = 0x00000001
  3091  	CM_SERVICE_SD_DISK_BOOT_LOAD                                                   = 0x00000008
  3092  	CM_SERVICE_USB3_DISK_BOOT_LOAD                                                 = 0x00000010
  3093  	CM_SERVICE_USB_DISK_BOOT_LOAD                                                  = 0x00000004
  3094  	CM_SERVICE_VALID_PROMOTION_MASK                                                = 255
  3095  	CM_SERVICE_VERIFIER_BOOT_LOAD                                                  = 0x00000040
  3096  	CM_SERVICE_VIRTUAL_DISK_BOOT_LOAD                                              = 0x00000002
  3097  	CM_SERVICE_WINPE_BOOT_LOAD                                                     = 0x00000080
  3098  	COLORMATCHTOTARGET_EMBEDED                                                     = 0x00000001
  3099  	COLORMGMTCAPS                                                                  = 121
  3100  	COLORMGMTDLGORD                                                                = 1551
  3101  	COLOROKSTRINGA                                                                 = "commdlg_ColorOK"
  3102  	COLORONCOLOR                                                                   = 3
  3103  	COLORRES                                                                       = 108
  3104  	COLOR_3DDKSHADOW                                                               = 21
  3105  	COLOR_3DFACE                                                                   = 15
  3106  	COLOR_3DHIGHLIGHT                                                              = 20
  3107  	COLOR_3DHILIGHT                                                                = 20
  3108  	COLOR_3DLIGHT                                                                  = 22
  3109  	COLOR_3DSHADOW                                                                 = 16
  3110  	COLOR_ACTIVEBORDER                                                             = 10
  3111  	COLOR_ACTIVECAPTION                                                            = 2
  3112  	COLOR_APPWORKSPACE                                                             = 12
  3113  	COLOR_BACKGROUND                                                               = 1
  3114  	COLOR_BTNFACE                                                                  = 15
  3115  	COLOR_BTNHIGHLIGHT                                                             = 20
  3116  	COLOR_BTNHILIGHT                                                               = 20
  3117  	COLOR_BTNSHADOW                                                                = 16
  3118  	COLOR_BTNTEXT                                                                  = 18
  3119  	COLOR_CAPTIONTEXT                                                              = 9
  3120  	COLOR_DESKTOP                                                                  = 1
  3121  	COLOR_GRADIENTACTIVECAPTION                                                    = 27
  3122  	COLOR_GRADIENTINACTIVECAPTION                                                  = 28
  3123  	COLOR_GRAYTEXT                                                                 = 17
  3124  	COLOR_HIGHLIGHT                                                                = 13
  3125  	COLOR_HIGHLIGHTTEXT                                                            = 14
  3126  	COLOR_HOTLIGHT                                                                 = 26
  3127  	COLOR_INACTIVEBORDER                                                           = 11
  3128  	COLOR_INACTIVECAPTION                                                          = 3
  3129  	COLOR_INACTIVECAPTIONTEXT                                                      = 19
  3130  	COLOR_INFOBK                                                                   = 24
  3131  	COLOR_INFOTEXT                                                                 = 23
  3132  	COLOR_MENU                                                                     = 4
  3133  	COLOR_MENUBAR                                                                  = 30
  3134  	COLOR_MENUHILIGHT                                                              = 29
  3135  	COLOR_MENUTEXT                                                                 = 7
  3136  	COLOR_SCROLLBAR                                                                = 0
  3137  	COLOR_WINDOW                                                                   = 5
  3138  	COLOR_WINDOWFRAME                                                              = 6
  3139  	COLOR_WINDOWTEXT                                                               = 8
  3140  	COMMON_LVB_GRID_HORIZONTAL                                                     = 0x400
  3141  	COMMON_LVB_GRID_LVERTICAL                                                      = 0x800
  3142  	COMMON_LVB_GRID_RVERTICAL                                                      = 0x1000
  3143  	COMMON_LVB_LEADING_BYTE                                                        = 0x100
  3144  	COMMON_LVB_REVERSE_VIDEO                                                       = 0x4000
  3145  	COMMON_LVB_SBCSDBCS                                                            = 0x300
  3146  	COMMON_LVB_TRAILING_BYTE                                                       = 0x200
  3147  	COMMON_LVB_UNDERSCORE                                                          = 0x8000
  3148  	COMPLEXREGION                                                                  = 3
  3149  	COMPRESSION_ENGINE_HIBER                                                       = 512
  3150  	COMPRESSION_ENGINE_MAXIMUM                                                     = 256
  3151  	COMPRESSION_ENGINE_STANDARD                                                    = 0
  3152  	COMPRESSION_FORMAT_DEFAULT                                                     = 1
  3153  	COMPRESSION_FORMAT_LZNT1                                                       = 2
  3154  	COMPRESSION_FORMAT_NONE                                                        = 0
  3155  	COMPRESSION_FORMAT_SPARSE                                                      = 16384
  3156  	COMPRESSION_FORMAT_XPRESS                                                      = 3
  3157  	COMPRESSION_FORMAT_XPRESS_HUFF                                                 = 4
  3158  	COM_RIGHTS_ACTIVATE_LOCAL                                                      = 8
  3159  	COM_RIGHTS_ACTIVATE_REMOTE                                                     = 16
  3160  	COM_RIGHTS_EXECUTE                                                             = 1
  3161  	COM_RIGHTS_EXECUTE_LOCAL                                                       = 2
  3162  	COM_RIGHTS_EXECUTE_REMOTE                                                      = 4
  3163  	CONCURRENCYSAL_HXX                                                             = 0
  3164  	CONDITION_VARIABLE_LOCKMODE_SHARED                                             = 1
  3165  	CONFIRMSAFETYACTION_LOADOBJECT                                                 = 0x1
  3166  	CONNDLG_CONN_POINT                                                             = 0x00000002
  3167  	CONNDLG_HIDE_BOX                                                               = 0x00000008
  3168  	CONNDLG_NOT_PERSIST                                                            = 0x00000020
  3169  	CONNDLG_PERSIST                                                                = 0x00000010
  3170  	CONNDLG_RO_PATH                                                                = 0x00000001
  3171  	CONNDLG_USE_MRU                                                                = 0x00000004
  3172  	CONNECT_CMD_SAVECRED                                                           = 0x00001000
  3173  	CONNECT_COMMANDLINE                                                            = 0x00000800
  3174  	CONNECT_CURRENT_MEDIA                                                          = 0x00000200
  3175  	CONNECT_DEFERRED                                                               = 0x00000400
  3176  	CONNECT_INTERACTIVE                                                            = 0x00000008
  3177  	CONNECT_LOCALDRIVE                                                             = 0x00000100
  3178  	CONNECT_NEED_DRIVE                                                             = 0x00000020
  3179  	CONNECT_PROMPT                                                                 = 0x00000010
  3180  	CONNECT_REDIRECT                                                               = 0x00000080
  3181  	CONNECT_REFCOUNT                                                               = 0x00000040
  3182  	CONNECT_RESERVED                                                               = 0xFF000000
  3183  	CONNECT_TEMPORARY                                                              = 0x00000004
  3184  	CONNECT_UPDATE_PROFILE                                                         = 0x00000001
  3185  	CONNECT_UPDATE_RECENT                                                          = 0x00000002
  3186  	CONSOLE_APPLICATION_16BIT                                                      = 0x0000
  3187  	CONSOLE_CARET_SELECTION                                                        = 0x0001
  3188  	CONSOLE_CARET_VISIBLE                                                          = 0x0002
  3189  	CONSOLE_FULLSCREEN                                                             = 1
  3190  	CONSOLE_FULLSCREEN_HARDWARE                                                    = 2
  3191  	CONSOLE_FULLSCREEN_MODE                                                        = 1
  3192  	CONSOLE_MOUSE_DOWN                                                             = 0x8
  3193  	CONSOLE_MOUSE_SELECTION                                                        = 0x4
  3194  	CONSOLE_NO_SELECTION                                                           = 0x0
  3195  	CONSOLE_SELECTION_IN_PROGRESS                                                  = 0x1
  3196  	CONSOLE_SELECTION_NOT_EMPTY                                                    = 0x2
  3197  	CONSOLE_TEXTMODE_BUFFER                                                        = 1
  3198  	CONSOLE_WINDOWED_MODE                                                          = 2
  3199  	CONST_VTBL                                                                     = 0
  3200  	CONTAINER_INHERIT_ACE                                                          = 2
  3201  	CONTEXT_ALL                                                                    = 1048607
  3202  	CONTEXT_AMD64                                                                  = 0x100000
  3203  	CONTEXT_CONTROL                                                                = 1048577
  3204  	CONTEXT_DEBUG_REGISTERS                                                        = 1048592
  3205  	CONTEXT_EXCEPTION_ACTIVE                                                       = 0x8000000
  3206  	CONTEXT_EXCEPTION_REPORTING                                                    = 0x80000000
  3207  	CONTEXT_EXCEPTION_REQUEST                                                      = 0x40000000
  3208  	CONTEXT_E_FIRST                                                                = 2147803136
  3209  	CONTEXT_E_LAST                                                                 = 2147803183
  3210  	CONTEXT_FLOATING_POINT                                                         = 1048584
  3211  	CONTEXT_FULL                                                                   = 1048587
  3212  	CONTEXT_INTEGER                                                                = 1048578
  3213  	CONTEXT_OID_CREATE_OBJECT_CONTEXT_FUNC                                         = "ContextDllCreateObjectContext"
  3214  	CONTEXT_SEGMENTS                                                               = 1048580
  3215  	CONTEXT_SERVICE_ACTIVE                                                         = 0x10000000
  3216  	CONTEXT_S_FIRST                                                                = 319488
  3217  	CONTEXT_S_LAST                                                                 = 319535
  3218  	CONVERT10_E_FIRST                                                              = 2147746240
  3219  	CONVERT10_E_LAST                                                               = 2147746255
  3220  	CONVERT10_S_FIRST                                                              = 262592
  3221  	CONVERT10_S_LAST                                                               = 262607
  3222  	COPYFILE_SIS_FLAGS                                                             = 0x0003
  3223  	COPYFILE_SIS_LINK                                                              = 0x0001
  3224  	COPYFILE_SIS_REPLACE                                                           = 0x0002
  3225  	COPY_FILE_ALLOW_DECRYPTED_DESTINATION                                          = 0x8
  3226  	COPY_FILE_FAIL_IF_EXISTS                                                       = 0x1
  3227  	COPY_FILE_OPEN_SOURCE_FOR_WRITE                                                = 0x4
  3228  	COPY_FILE_RESTARTABLE                                                          = 0x2
  3229  	CORE_PARKING_POLICY_CHANGE_IDEAL                                               = 0
  3230  	CORE_PARKING_POLICY_CHANGE_MAX                                                 = 3
  3231  	CORE_PARKING_POLICY_CHANGE_MULTISTEP                                           = 3
  3232  	CORE_PARKING_POLICY_CHANGE_ROCKET                                              = 2
  3233  	CORE_PARKING_POLICY_CHANGE_SINGLE                                              = 1
  3234  	CO_E_FIRST                                                                     = 2147746288
  3235  	CO_E_LAST                                                                      = 2147746303
  3236  	CO_S_FIRST                                                                     = 262640
  3237  	CO_S_LAST                                                                      = 262655
  3238  	CPS_CANCEL                                                                     = 0x0004
  3239  	CPS_COMPLETE                                                                   = 0x0001
  3240  	CPS_CONVERT                                                                    = 0x0002
  3241  	CPS_REVERT                                                                     = 0x0003
  3242  	CP_ACP                                                                         = 0
  3243  	CP_INSTALLED                                                                   = 0x00000001
  3244  	CP_MACCP                                                                       = 2
  3245  	CP_NONE                                                                        = 0
  3246  	CP_OEMCP                                                                       = 1
  3247  	CP_RECTANGLE                                                                   = 1
  3248  	CP_REGION                                                                      = 2
  3249  	CP_SUPPORTED                                                                   = 0x00000002
  3250  	CP_SYMBOL                                                                      = 42
  3251  	CP_THREAD_ACP                                                                  = 3
  3252  	CP_UTF7                                                                        = 65000
  3253  	CP_UTF8                                                                        = 65001
  3254  	CP_WINANSI                                                                     = 1004
  3255  	CP_WINNEUTRAL                                                                  = 1004
  3256  	CP_WINUNICODE                                                                  = 1200
  3257  	CREATECOLORSPACE_EMBEDED                                                       = 0x00000001
  3258  	CREATE_ALWAYS                                                                  = 2
  3259  	CREATE_BOUNDARY_DESCRIPTOR_ADD_APPCONTAINER_SID                                = 0x1
  3260  	CREATE_BREAKAWAY_FROM_JOB                                                      = 0x1000000
  3261  	CREATE_DEFAULT_ERROR_MODE                                                      = 0x4000000
  3262  	CREATE_FORCEDOS                                                                = 0x2000
  3263  	CREATE_FOR_DIR                                                                 = 2
  3264  	CREATE_FOR_IMPORT                                                              = 1
  3265  	CREATE_IGNORE_SYSTEM_DEFAULT                                                   = 0x80000000
  3266  	CREATE_NEW                                                                     = 1
  3267  	CREATE_NEW_CONSOLE                                                             = 0x10
  3268  	CREATE_NEW_PROCESS_GROUP                                                       = 0x200
  3269  	CREATE_NO_WINDOW                                                               = 0x8000000
  3270  	CREATE_PRESERVE_CODE_AUTHZ_LEVEL                                               = 0x2000000
  3271  	CREATE_PROCESS_DEBUG_EVENT                                                     = 3
  3272  	CREATE_PROTECTED_PROCESS                                                       = 0x40000
  3273  	CREATE_SEPARATE_WOW_VDM                                                        = 0x800
  3274  	CREATE_SHARED_WOW_VDM                                                          = 0x1000
  3275  	CREATE_SUSPENDED                                                               = 0x4
  3276  	CREATE_THREAD_DEBUG_EVENT                                                      = 2
  3277  	CREATE_UNICODE_ENVIRONMENT                                                     = 0x400
  3278  	CRITICAL_SECTION_NO_DEBUG_INFO                                                 = 16777216
  3279  	CRL_DIST_POINT_ERR_CRL_ISSUER_BIT                                              = 2147483648
  3280  	CRL_DIST_POINT_ERR_INDEX_MASK                                                  = 0x7f
  3281  	CRL_DIST_POINT_ERR_INDEX_SHIFT                                                 = 24
  3282  	CRL_DIST_POINT_FULL_NAME                                                       = 1
  3283  	CRL_DIST_POINT_ISSUER_RDN_NAME                                                 = 2
  3284  	CRL_DIST_POINT_NO_NAME                                                         = 0
  3285  	CRL_FIND_ANY                                                                   = 0
  3286  	CRL_FIND_EXISTING                                                              = 2
  3287  	CRL_FIND_ISSUED_BY                                                             = 1
  3288  	CRL_FIND_ISSUED_BY_AKI_FLAG                                                    = 0x1
  3289  	CRL_FIND_ISSUED_BY_BASE_FLAG                                                   = 0x8
  3290  	CRL_FIND_ISSUED_BY_DELTA_FLAG                                                  = 0x4
  3291  	CRL_FIND_ISSUED_BY_SIGNATURE_FLAG                                              = 0x2
  3292  	CRL_FIND_ISSUED_FOR                                                            = 3
  3293  	CRL_FIND_ISSUED_FOR_SET_STRONG_PROPERTIES_FLAG                                 = 0x10
  3294  	CRL_REASON_AA_COMPROMISE                                                       = 10
  3295  	CRL_REASON_AA_COMPROMISE_FLAG                                                  = 0x80
  3296  	CRL_REASON_AFFILIATION_CHANGED                                                 = 3
  3297  	CRL_REASON_AFFILIATION_CHANGED_FLAG                                            = 0x10
  3298  	CRL_REASON_CA_COMPROMISE                                                       = 2
  3299  	CRL_REASON_CA_COMPROMISE_FLAG                                                  = 0x20
  3300  	CRL_REASON_CERTIFICATE_HOLD                                                    = 6
  3301  	CRL_REASON_CERTIFICATE_HOLD_FLAG                                               = 0x02
  3302  	CRL_REASON_CESSATION_OF_OPERATION                                              = 5
  3303  	CRL_REASON_CESSATION_OF_OPERATION_FLAG                                         = 0x04
  3304  	CRL_REASON_KEY_COMPROMISE                                                      = 1
  3305  	CRL_REASON_KEY_COMPROMISE_FLAG                                                 = 0x40
  3306  	CRL_REASON_PRIVILEGE_WITHDRAWN                                                 = 9
  3307  	CRL_REASON_PRIVILEGE_WITHDRAWN_FLAG                                            = 0x01
  3308  	CRL_REASON_REMOVE_FROM_CRL                                                     = 8
  3309  	CRL_REASON_SUPERSEDED                                                          = 4
  3310  	CRL_REASON_SUPERSEDED_FLAG                                                     = 0x08
  3311  	CRL_REASON_UNSPECIFIED                                                         = 0
  3312  	CRL_REASON_UNUSED_FLAG                                                         = 0x80
  3313  	CRL_V1                                                                         = 0
  3314  	CRL_V2                                                                         = 1
  3315  	CRM_PROTOCOL_DYNAMIC_MARSHAL_INFO                                              = 0x00000002
  3316  	CRM_PROTOCOL_EXPLICIT_MARSHAL_ONLY                                             = 0x00000001
  3317  	CRM_PROTOCOL_MAXIMUM_OPTION                                                    = 0x00000003
  3318  	CROSS_CERT_DIST_POINT_ERR_INDEX_MASK                                           = 0xff
  3319  	CROSS_CERT_DIST_POINT_ERR_INDEX_SHIFT                                          = 24
  3320  	CRYPTNET_CACHED_OCSP_SWITCH_TO_CRL_COUNT_DEFAULT                               = 50
  3321  	CRYPTNET_CRL_BEFORE_OCSP_ENABLE                                                = 0xffffffff
  3322  	CRYPTNET_CRL_PRE_FETCH_MAX_AGE_SECONDS_DEFAULT                                 = 7200
  3323  	CRYPTNET_CRL_PRE_FETCH_MAX_AGE_SECONDS_MIN                                     = 300
  3324  	CRYPTNET_CRL_PRE_FETCH_MIN_AFTER_NEXT_UPDATE_SECONDS_DEFAULT                   = 300
  3325  	CRYPTNET_CRL_PRE_FETCH_MIN_BEFORE_NEXT_UPDATE_SECONDS_DEFAULT                  = 300
  3326  	CRYPTNET_CRL_PRE_FETCH_PUBLISH_BEFORE_NEXT_UPDATE_SECONDS_DEFAULT              = 3600
  3327  	CRYPTNET_CRL_PRE_FETCH_PUBLISH_RANDOM_INTERVAL_SECONDS_DEFAULT                 = 300
  3328  	CRYPTNET_CRL_PRE_FETCH_TIMEOUT_SECONDS_DEFAULT                                 = 300
  3329  	CRYPTNET_MAX_CACHED_OCSP_PER_CRL_COUNT_DEFAULT                                 = 500
  3330  	CRYPTNET_OCSP_AFTER_CRL_DISABLE                                                = 0xffffffff
  3331  	CRYPTNET_PRE_FETCH_AFTER_CURRENT_TIME_PRE_FETCH_PERIOD_SECONDS_DEFAULT         = 1800
  3332  	CRYPTNET_PRE_FETCH_AFTER_PUBLISH_PRE_FETCH_DIVISOR_DEFAULT                     = 10
  3333  	CRYPTNET_PRE_FETCH_BEFORE_NEXT_UPDATE_PRE_FETCH_DIVISOR_DEFAULT                = 20
  3334  	CRYPTNET_PRE_FETCH_MAX_AFTER_NEXT_UPDATE_PRE_FETCH_PERIOD_SECONDS_DEFAULT      = 14400
  3335  	CRYPTNET_PRE_FETCH_MAX_MAX_AGE_SECONDS_DEFAULT                                 = 1209600
  3336  	CRYPTNET_PRE_FETCH_MIN_AFTER_NEXT_UPDATE_PRE_FETCH_PERIOD_SECONDS_DEFAULT      = 1800
  3337  	CRYPTNET_PRE_FETCH_MIN_BEFORE_NEXT_UPDATE_PRE_FETCH_PERIOD_SECONDS_DEFAULT     = 3600
  3338  	CRYPTNET_PRE_FETCH_MIN_MAX_AGE_SECONDS_DEFAULT                                 = 3600
  3339  	CRYPTNET_PRE_FETCH_MIN_OCSP_VALIDITY_PERIOD_SECONDS_DEFAULT                    = 1209600
  3340  	CRYPTNET_PRE_FETCH_RETRIEVAL_TIMEOUT_SECONDS_DEFAULT                           = 300
  3341  	CRYPTNET_PRE_FETCH_SCAN_AFTER_TRIGGER_DELAY_SECONDS_DEFAULT                    = 30
  3342  	CRYPTNET_PRE_FETCH_TRIGGER_DISABLE                                             = 0xffffffff
  3343  	CRYPTNET_PRE_FETCH_TRIGGER_PERIOD_SECONDS_DEFAULT                              = 600
  3344  	CRYPTNET_PRE_FETCH_VALIDITY_PERIOD_AFTER_NEXT_UPDATE_PRE_FETCH_DIVISOR_DEFAULT = 10
  3345  	CRYPTNET_URL_CACHE_DEFAULT_FLUSH                                               = 0
  3346  	CRYPTNET_URL_CACHE_DEFAULT_FLUSH_EXEMPT_SECONDS_DEFAULT                        = 2419200
  3347  	CRYPTNET_URL_CACHE_DISABLE_FLUSH                                               = 0xffffffff
  3348  	CRYPTNET_URL_CACHE_PRE_FETCH_AUTOROOT_CAB                                      = 5
  3349  	CRYPTNET_URL_CACHE_PRE_FETCH_BLOB                                              = 1
  3350  	CRYPTNET_URL_CACHE_PRE_FETCH_CRL                                               = 2
  3351  	CRYPTNET_URL_CACHE_PRE_FETCH_DISALLOWED_CERT_CAB                               = 6
  3352  	CRYPTNET_URL_CACHE_PRE_FETCH_NONE                                              = 0
  3353  	CRYPTNET_URL_CACHE_PRE_FETCH_OCSP                                              = 3
  3354  	CRYPTNET_URL_CACHE_PRE_FETCH_PIN_RULES_CAB                                     = 7
  3355  	CRYPTNET_URL_CACHE_RESPONSE_HTTP                                               = 1
  3356  	CRYPTNET_URL_CACHE_RESPONSE_NONE                                               = 0
  3357  	CRYPTNET_URL_CACHE_RESPONSE_VALIDATED                                          = 0x8000
  3358  	CRYPTO_BLOBS_DEFINED                                                           = 0
  3359  	CRYPTPROTECTMEMORY_BLOCK_SIZE                                                  = 16
  3360  	CRYPTPROTECTMEMORY_CROSS_PROCESS                                               = 0x1
  3361  	CRYPTPROTECTMEMORY_SAME_LOGON                                                  = 0x2
  3362  	CRYPTPROTECTMEMORY_SAME_PROCESS                                                = 0x0
  3363  	CRYPTPROTECT_AUDIT                                                             = 0x10
  3364  	CRYPTPROTECT_CRED_REGENERATE                                                   = 0x80
  3365  	CRYPTPROTECT_CRED_SYNC                                                         = 0x8
  3366  	CRYPTPROTECT_FIRST_RESERVED_FLAGVAL                                            = 0x0fffffff
  3367  	CRYPTPROTECT_LAST_RESERVED_FLAGVAL                                             = 0xffffffff
  3368  	CRYPTPROTECT_LOCAL_MACHINE                                                     = 0x4
  3369  	CRYPTPROTECT_NO_RECOVERY                                                       = 0x20
  3370  	CRYPTPROTECT_PROMPT_ON_PROTECT                                                 = 0x2
  3371  	CRYPTPROTECT_PROMPT_ON_UNPROTECT                                               = 0x1
  3372  	CRYPTPROTECT_PROMPT_REQUIRE_STRONG                                             = 0x10
  3373  	CRYPTPROTECT_PROMPT_RESERVED                                                   = 0x04
  3374  	CRYPTPROTECT_PROMPT_STRONG                                                     = 0x08
  3375  	CRYPTPROTECT_UI_FORBIDDEN                                                      = 0x1
  3376  	CRYPTPROTECT_VERIFY_PROTECTION                                                 = 0x40
  3377  	CRYPT_ACCUMULATIVE_TIMEOUT                                                     = 0x800
  3378  	CRYPT_ACQUIRE_ALLOW_NCRYPT_KEY_FLAG                                            = 0x10000
  3379  	CRYPT_ACQUIRE_CACHE_FLAG                                                       = 0x1
  3380  	CRYPT_ACQUIRE_COMPARE_KEY_FLAG                                                 = 0x4
  3381  	CRYPT_ACQUIRE_NCRYPT_KEY_FLAGS_MASK                                            = 0x70000
  3382  	CRYPT_ACQUIRE_NO_HEALING                                                       = 0x8
  3383  	CRYPT_ACQUIRE_ONLY_NCRYPT_KEY_FLAG                                             = 0x40000
  3384  	CRYPT_ACQUIRE_PREFER_NCRYPT_KEY_FLAG                                           = 0x20000
  3385  	CRYPT_ACQUIRE_SILENT_FLAG                                                      = 0x40
  3386  	CRYPT_ACQUIRE_USE_PROV_INFO_FLAG                                               = 0x2
  3387  	CRYPT_ACQUIRE_WINDOW_HANDLE_FLAG                                               = 0x80
  3388  	CRYPT_AIA_RETRIEVAL                                                            = 0x80000
  3389  	CRYPT_ALL_FUNCTIONS                                                            = 1
  3390  	CRYPT_ALL_PROVIDERS                                                            = 2
  3391  	CRYPT_ANY                                                                      = 4
  3392  	CRYPT_ARCHIVABLE                                                               = 0x4000
  3393  	CRYPT_ARCHIVE                                                                  = 0x100
  3394  	CRYPT_ASN_ENCODING                                                             = 0x1
  3395  	CRYPT_ASYNC_RETRIEVAL                                                          = 0x10
  3396  	CRYPT_BLOB_VER3                                                                = 0x80
  3397  	CRYPT_CACHE_ONLY_RETRIEVAL                                                     = 0x2
  3398  	CRYPT_CHECK_FRESHNESS_TIME_VALIDITY                                            = 0x400
  3399  	CRYPT_CREATE_IV                                                                = 0x200
  3400  	CRYPT_CREATE_NEW_FLUSH_ENTRY                                                   = 0x10000000
  3401  	CRYPT_CREATE_SALT                                                              = 0x4
  3402  	CRYPT_DATA_KEY                                                                 = 0x800
  3403  	CRYPT_DECODE_ALLOC_FLAG                                                        = 0x8000
  3404  	CRYPT_DECODE_ENABLE_IA5CONVERSION_FLAG                                         = 100663296
  3405  	CRYPT_DECODE_ENABLE_PUNYCODE_FLAG                                              = 0x2000000
  3406  	CRYPT_DECODE_ENABLE_UTF8PERCENT_FLAG                                           = 0x4000000
  3407  	CRYPT_DECODE_NOCOPY_FLAG                                                       = 0x1
  3408  	CRYPT_DECODE_NO_SIGNATURE_BYTE_REVERSAL_FLAG                                   = 0x8
  3409  	CRYPT_DECODE_SHARE_OID_STRING_FLAG                                             = 0x4
  3410  	CRYPT_DECODE_TO_BE_SIGNED_FLAG                                                 = 0x2
  3411  	CRYPT_DECRYPT                                                                  = 0x2
  3412  	CRYPT_DECRYPT_RSA_NO_PADDING_CHECK                                             = 0x20
  3413  	CRYPT_DEFAULT_CONTEXT_AUTO_RELEASE_FLAG                                        = 0x1
  3414  	CRYPT_DEFAULT_CONTEXT_CERT_SIGN_OID                                            = 1
  3415  	CRYPT_DEFAULT_CONTEXT_MULTI_CERT_SIGN_OID                                      = 2
  3416  	CRYPT_DEFAULT_CONTEXT_PROCESS_FLAG                                             = 0x2
  3417  	CRYPT_DEFAULT_OID                                                              = "DEFAULT"
  3418  	CRYPT_DELETEKEYSET                                                             = 0x10
  3419  	CRYPT_DELETE_DEFAULT                                                           = 0x4
  3420  	CRYPT_DELETE_KEYSET                                                            = 16
  3421  	CRYPT_DESTROYKEY                                                               = 0x4
  3422  	CRYPT_DOMAIN                                                                   = 2
  3423  	CRYPT_DONT_CACHE_RESULT                                                        = 0x8
  3424  	CRYPT_DONT_CHECK_TIME_VALIDITY                                                 = 0x200
  3425  	CRYPT_DONT_VERIFY_SIGNATURE                                                    = 0x100
  3426  	CRYPT_ECC_CMS_SHARED_INFO_SUPPPUBINFO_BYTE_LENGTH                              = 4
  3427  	CRYPT_ECC_PRIVATE_KEY_INFO_v1                                                  = 1
  3428  	CRYPT_ENABLE_FILE_RETRIEVAL                                                    = 0x08000000
  3429  	CRYPT_ENABLE_SSL_REVOCATION_RETRIEVAL                                          = 0x800000
  3430  	CRYPT_ENCODE_ALLOC_FLAG                                                        = 0x8000
  3431  	CRYPT_ENCODE_DECODE_NONE                                                       = 0
  3432  	CRYPT_ENCODE_ENABLE_IA5CONVERSION_FLAG                                         = 393216
  3433  	CRYPT_ENCODE_ENABLE_PUNYCODE_FLAG                                              = 0x20000
  3434  	CRYPT_ENCODE_ENABLE_UTF8PERCENT_FLAG                                           = 0x40000
  3435  	CRYPT_ENCODE_NO_SIGNATURE_BYTE_REVERSAL_FLAG                                   = 0x8
  3436  	CRYPT_ENCRYPT                                                                  = 0x1
  3437  	CRYPT_ENCRYPT_ALG_OID_GROUP_ID                                                 = 2
  3438  	CRYPT_ENHKEY_USAGE_OID_GROUP_ID                                                = 7
  3439  	CRYPT_EXCLUSIVE                                                                = 1
  3440  	CRYPT_EXPORT                                                                   = 0x4
  3441  	CRYPT_EXPORTABLE                                                               = 0x1
  3442  	CRYPT_EXPORT_KEY                                                               = 0x40
  3443  	CRYPT_EXT_OR_ATTR_OID_GROUP_ID                                                 = 6
  3444  	CRYPT_FAILED                                                                   = 0
  3445  	CRYPT_FASTSGC                                                                  = 0x2
  3446  	CRYPT_FIND_MACHINE_KEYSET_FLAG                                                 = 0x2
  3447  	CRYPT_FIND_SILENT_KEYSET_FLAG                                                  = 0x40
  3448  	CRYPT_FIND_USER_KEYSET_FLAG                                                    = 0x1
  3449  	CRYPT_FIRST                                                                    = 1
  3450  	CRYPT_FIRST_ALG_OID_GROUP_ID                                                   = 1
  3451  	CRYPT_FLAG_IPSEC                                                               = 0x10
  3452  	CRYPT_FLAG_PCT1                                                                = 0x1
  3453  	CRYPT_FLAG_SIGNING                                                             = 0x20
  3454  	CRYPT_FLAG_SSL2                                                                = 0x2
  3455  	CRYPT_FLAG_SSL3                                                                = 0x4
  3456  	CRYPT_FLAG_TLS1                                                                = 0x8
  3457  	CRYPT_FORMAT_COMMA                                                             = 0x1000
  3458  	CRYPT_FORMAT_CRLF                                                              = 512
  3459  	CRYPT_FORMAT_OID                                                               = 0x4
  3460  	CRYPT_FORMAT_RDN_CRLF                                                          = 0x200
  3461  	CRYPT_FORMAT_RDN_REVERSE                                                       = 0x800
  3462  	CRYPT_FORMAT_RDN_SEMICOLON                                                     = 0x100
  3463  	CRYPT_FORMAT_RDN_UNQUOTE                                                       = 0x400
  3464  	CRYPT_FORMAT_SEMICOLON                                                         = 256
  3465  	CRYPT_FORMAT_SIMPLE                                                            = 0x1
  3466  	CRYPT_FORMAT_STR_MULTI_LINE                                                    = 0x1
  3467  	CRYPT_FORMAT_STR_NO_HEX                                                        = 0x10
  3468  	CRYPT_FORMAT_X509                                                              = 0x2
  3469  	CRYPT_GET_INSTALLED_OID_FUNC_FLAG                                              = 0x1
  3470  	CRYPT_GET_URL_FROM_AUTH_ATTRIBUTE                                              = 0x8
  3471  	CRYPT_GET_URL_FROM_EXTENSION                                                   = 0x2
  3472  	CRYPT_GET_URL_FROM_PROPERTY                                                    = 0x1
  3473  	CRYPT_GET_URL_FROM_UNAUTH_ATTRIBUTE                                            = 0x4
  3474  	CRYPT_HASH_ALG_OID_GROUP_ID                                                    = 1
  3475  	CRYPT_HTTP_POST_RETRIEVAL                                                      = 0x100000
  3476  	CRYPT_IMPL_HARDWARE                                                            = 1
  3477  	CRYPT_IMPL_MIXED                                                               = 3
  3478  	CRYPT_IMPL_REMOVABLE                                                           = 8
  3479  	CRYPT_IMPL_SOFTWARE                                                            = 2
  3480  	CRYPT_IMPL_UNKNOWN                                                             = 4
  3481  	CRYPT_IMPORT_KEY                                                               = 0x80
  3482  	CRYPT_INITIATOR                                                                = 0x40
  3483  	CRYPT_INSTALL_OID_FUNC_BEFORE_FLAG                                             = 1
  3484  	CRYPT_INSTALL_OID_INFO_BEFORE_FLAG                                             = 1
  3485  	CRYPT_IPSEC_HMAC_KEY                                                           = 0x100
  3486  	CRYPT_KDF_OID_GROUP_ID                                                         = 10
  3487  	CRYPT_KEEP_TIME_VALID                                                          = 0x80
  3488  	CRYPT_KEK                                                                      = 0x400
  3489  	CRYPT_KEYID_ALLOC_FLAG                                                         = 0x8000
  3490  	CRYPT_KEYID_DELETE_FLAG                                                        = 0x10
  3491  	CRYPT_KEYID_MACHINE_FLAG                                                       = 0x20
  3492  	CRYPT_KEYID_SET_NEW_FLAG                                                       = 0x2000
  3493  	CRYPT_KM                                                                       = 2
  3494  	CRYPT_LAST_ALG_OID_GROUP_ID                                                    = 4
  3495  	CRYPT_LAST_OID_GROUP_ID                                                        = 10
  3496  	CRYPT_LDAP_AREC_EXCLUSIVE_RETRIEVAL                                            = 0x40000
  3497  	CRYPT_LDAP_INSERT_ENTRY_ATTRIBUTE                                              = 0x8000
  3498  	CRYPT_LDAP_SCOPE_BASE_ONLY_RETRIEVAL                                           = 0x2000
  3499  	CRYPT_LDAP_SIGN_RETRIEVAL                                                      = 0x10000
  3500  	CRYPT_LITTLE_ENDIAN                                                            = 0x1
  3501  	CRYPT_LOCAL                                                                    = 1
  3502  	CRYPT_LOCALIZED_NAME_ENCODING_TYPE                                             = 0
  3503  	CRYPT_LOCALIZED_NAME_OID                                                       = "LocalizedNames"
  3504  	CRYPT_MAC                                                                      = 0x20
  3505  	CRYPT_MACHINE_DEFAULT                                                          = 0x1
  3506  	CRYPT_MACHINE_KEYSET                                                           = 0x20
  3507  	CRYPT_MATCH_ANY_ENCODING_TYPE                                                  = 0xffffffff
  3508  	CRYPT_MESSAGE_BARE_CONTENT_OUT_FLAG                                            = 0x1
  3509  	CRYPT_MESSAGE_ENCAPSULATED_CONTENT_OUT_FLAG                                    = 0x2
  3510  	CRYPT_MESSAGE_KEYID_RECIPIENT_FLAG                                             = 0x4
  3511  	CRYPT_MESSAGE_KEYID_SIGNER_FLAG                                                = 0x4
  3512  	CRYPT_MESSAGE_SILENT_KEYSET_FLAG                                               = 0x40
  3513  	CRYPT_MIN_DEPENDENCIES                                                         = 1
  3514  	CRYPT_MM                                                                       = 3
  3515  	CRYPT_MODE_CBC                                                                 = 1
  3516  	CRYPT_MODE_CBCI                                                                = 6
  3517  	CRYPT_MODE_CBCOFM                                                              = 9
  3518  	CRYPT_MODE_CBCOFMI                                                             = 10
  3519  	CRYPT_MODE_CFB                                                                 = 4
  3520  	CRYPT_MODE_CFBP                                                                = 7
  3521  	CRYPT_MODE_CTS                                                                 = 5
  3522  	CRYPT_MODE_ECB                                                                 = 2
  3523  	CRYPT_MODE_OFB                                                                 = 3
  3524  	CRYPT_MODE_OFBP                                                                = 8
  3525  	CRYPT_NDR_ENCODING                                                             = 0x2
  3526  	CRYPT_NEWKEYSET                                                                = 0x8
  3527  	CRYPT_NEXT                                                                     = 2
  3528  	CRYPT_NOHASHOID                                                                = 0x1
  3529  	CRYPT_NOT_MODIFIED_RETRIEVAL                                                   = 0x400000
  3530  	CRYPT_NO_AUTH_RETRIEVAL                                                        = 0x20000
  3531  	CRYPT_NO_OCSP_FAILOVER_TO_CRL_RETRIEVAL                                        = 0x2000000
  3532  	CRYPT_NO_SALT                                                                  = 0x10
  3533  	CRYPT_OAEP                                                                     = 0x40
  3534  	CRYPT_OCSP_ONLY_RETRIEVAL                                                      = 0x1000000
  3535  	CRYPT_OFFLINE_CHECK_RETRIEVAL                                                  = 0x4000
  3536  	CRYPT_OID_CREATE_COM_OBJECT_FUNC                                               = "CryptDllCreateCOMObject"
  3537  	CRYPT_OID_DECODE_OBJECT_EX_FUNC                                                = "CryptDllDecodeObjectEx"
  3538  	CRYPT_OID_DECODE_OBJECT_FUNC                                                   = "CryptDllDecodeObject"
  3539  	CRYPT_OID_DISABLE_SEARCH_DS_FLAG                                               = 0x80000000
  3540  	CRYPT_OID_ENCODE_OBJECT_EX_FUNC                                                = "CryptDllEncodeObjectEx"
  3541  	CRYPT_OID_ENCODE_OBJECT_FUNC                                                   = "CryptDllEncodeObject"
  3542  	CRYPT_OID_ENUM_PHYSICAL_STORE_FUNC                                             = "CertDllEnumPhysicalStore"
  3543  	CRYPT_OID_ENUM_SYSTEM_STORE_FUNC                                               = "CertDllEnumSystemStore"
  3544  	CRYPT_OID_EXPORT_PRIVATE_KEY_INFO_FUNC                                         = "CryptDllExportPrivateKeyInfoEx"
  3545  	CRYPT_OID_EXPORT_PUBLIC_KEY_INFO_EX2_FUNC                                      = "CryptDllExportPublicKeyInfoEx2"
  3546  	CRYPT_OID_EXPORT_PUBLIC_KEY_INFO_FUNC                                          = "CryptDllExportPublicKeyInfoEx"
  3547  	CRYPT_OID_EXTRACT_ENCODED_SIGNATURE_PARAMETERS_FUNC                            = "CryptDllExtractEncodedSignatureParameters"
  3548  	CRYPT_OID_FIND_LOCALIZED_NAME_FUNC                                             = "CryptDllFindLocalizedName"
  3549  	CRYPT_OID_FIND_OID_INFO_FUNC                                                   = "CryptDllFindOIDInfo"
  3550  	CRYPT_OID_FORMAT_OBJECT_FUNC                                                   = "CryptDllFormatObject"
  3551  	CRYPT_OID_IMPORT_PRIVATE_KEY_INFO_FUNC                                         = "CryptDllImportPrivateKeyInfoEx"
  3552  	CRYPT_OID_IMPORT_PUBLIC_KEY_INFO_FUNC                                          = "CryptDllImportPublicKeyInfoEx"
  3553  	CRYPT_OID_INFO_ALGID_KEY                                                       = 3
  3554  	CRYPT_OID_INFO_CNG_ALGID_KEY                                                   = 5
  3555  	CRYPT_OID_INFO_CNG_SIGN_KEY                                                    = 6
  3556  	CRYPT_OID_INFO_NAME_KEY                                                        = 2
  3557  	CRYPT_OID_INFO_OID_GROUP_BIT_LEN_MASK                                          = 0x0fff0000
  3558  	CRYPT_OID_INFO_OID_GROUP_BIT_LEN_SHIFT                                         = 16
  3559  	CRYPT_OID_INFO_OID_KEY                                                         = 1
  3560  	CRYPT_OID_INFO_OID_KEY_FLAGS_MASK                                              = 0xffff0000
  3561  	CRYPT_OID_INFO_PUBKEY_ENCRYPT_KEY_FLAG                                         = 0x40000000
  3562  	CRYPT_OID_INFO_PUBKEY_SIGN_KEY_FLAG                                            = 0x80000000
  3563  	CRYPT_OID_INFO_SIGN_KEY                                                        = 4
  3564  	CRYPT_OID_INHIBIT_SIGNATURE_FORMAT_FLAG                                        = 0x1
  3565  	CRYPT_OID_NO_NULL_ALGORITHM_PARA_FLAG                                          = 0x4
  3566  	CRYPT_OID_OPEN_STORE_PROV_FUNC                                                 = "CertDllOpenStoreProv"
  3567  	CRYPT_OID_OPEN_SYSTEM_STORE_PROV_FUNC                                          = "CertDllOpenSystemStoreProv"
  3568  	CRYPT_OID_PUBKEY_ENCRYPT_ONLY_FLAG                                             = 0x40000000
  3569  	CRYPT_OID_PUBKEY_SIGN_ONLY_FLAG                                                = 0x80000000
  3570  	CRYPT_OID_REGISTER_PHYSICAL_STORE_FUNC                                         = "CertDllRegisterPhysicalStore"
  3571  	CRYPT_OID_REGISTER_SYSTEM_STORE_FUNC                                           = "CertDllRegisterSystemStore"
  3572  	CRYPT_OID_REGPATH                                                              = "Software\\Microsoft\\Cryptography\\OID"
  3573  	CRYPT_OID_REG_ENCODING_TYPE_PREFIX                                             = "EncodingType "
  3574  	CRYPT_OID_REG_FUNC_NAME_VALUE_NAME_A                                           = "FuncName"
  3575  	CRYPT_OID_SIGN_AND_ENCODE_HASH_FUNC                                            = "CryptDllSignAndEncodeHash"
  3576  	CRYPT_OID_UNREGISTER_PHYSICAL_STORE_FUNC                                       = "CertDllUnregisterPhysicalStore"
  3577  	CRYPT_OID_UNREGISTER_SYSTEM_STORE_FUNC                                         = "CertDllUnregisterSystemStore"
  3578  	CRYPT_OID_USE_CURVE_NAME_FOR_ENCODE_FLAG                                       = 0x20000000
  3579  	CRYPT_OID_USE_CURVE_PARAMETERS_FOR_ENCODE_FLAG                                 = 0x10000000
  3580  	CRYPT_OID_USE_PUBKEY_PARA_FOR_PKCS7_FLAG                                       = 0x2
  3581  	CRYPT_OID_VERIFY_CERTIFICATE_CHAIN_POLICY_FUNC                                 = "CertDllVerifyCertificateChainPolicy"
  3582  	CRYPT_OID_VERIFY_CTL_USAGE_FUNC                                                = "CertDllVerifyCTLUsage"
  3583  	CRYPT_OID_VERIFY_ENCODED_SIGNATURE_FUNC                                        = "CryptDllVerifyEncodedSignature"
  3584  	CRYPT_OID_VERIFY_REVOCATION_FUNC                                               = "CertDllVerifyRevocation"
  3585  	CRYPT_ONLINE                                                                   = 0x80
  3586  	CRYPT_OVERRIDE                                                                 = 65536
  3587  	CRYPT_OVERWRITE                                                                = 1
  3588  	CRYPT_OWF_REPL_LM_HASH                                                         = 0x1
  3589  	CRYPT_POLICY_OID_GROUP_ID                                                      = 8
  3590  	CRYPT_PREGEN                                                                   = 0x40
  3591  	CRYPT_PRIORITY_BOTTOM                                                          = 4294967295
  3592  	CRYPT_PRIORITY_TOP                                                             = 0
  3593  	CRYPT_PROCESS_ISOLATE                                                          = 65536
  3594  	CRYPT_PROXY_CACHE_RETRIEVAL                                                    = 0x200000
  3595  	CRYPT_PSTORE                                                                   = 0x2
  3596  	CRYPT_PUBKEY_ALG_OID_GROUP_ID                                                  = 3
  3597  	CRYPT_RANDOM_QUERY_STRING_RETRIEVAL                                            = 0x4000000
  3598  	CRYPT_RC2_128BIT_VERSION                                                       = 58
  3599  	CRYPT_RC2_40BIT_VERSION                                                        = 160
  3600  	CRYPT_RC2_56BIT_VERSION                                                        = 52
  3601  	CRYPT_RC2_64BIT_VERSION                                                        = 120
  3602  	CRYPT_RDN_ATTR_OID_GROUP_ID                                                    = 5
  3603  	CRYPT_READ                                                                     = 0x8
  3604  	CRYPT_RECIPIENT                                                                = 0x10
  3605  	CRYPT_REGISTER_FIRST_INDEX                                                     = 0
  3606  	CRYPT_REGISTER_LAST_INDEX                                                      = 0xffffffff
  3607  	CRYPT_RETRIEVE_MAX_ERROR_CONTENT_LENGTH                                        = 0x1000
  3608  	CRYPT_RETRIEVE_MULTIPLE_OBJECTS                                                = 0x1
  3609  	CRYPT_SECRETDIGEST                                                             = 0x1
  3610  	CRYPT_SEC_DESCR                                                                = 0x1
  3611  	CRYPT_SERVER                                                                   = 0x400
  3612  	CRYPT_SF                                                                       = 0x100
  3613  	CRYPT_SGC                                                                      = 0x1
  3614  	CRYPT_SGCKEY                                                                   = 0x2000
  3615  	CRYPT_SGC_ENUM                                                                 = 4
  3616  	CRYPT_SIGN_ALG_OID_GROUP_ID                                                    = 4
  3617  	CRYPT_SILENT                                                                   = 0x40
  3618  	CRYPT_SORTED_CTL_ENCODE_HASHED_SUBJECT_IDENTIFIER_FLAG                         = 0x10000
  3619  	CRYPT_SSL2_FALLBACK                                                            = 0x2
  3620  	CRYPT_STICKY_CACHE_RETRIEVAL                                                   = 0x1000
  3621  	CRYPT_STRING_ANY                                                               = 0x00000007
  3622  	CRYPT_STRING_BASE64                                                            = 0x1
  3623  	CRYPT_STRING_BASE64HEADER                                                      = 0x0
  3624  	CRYPT_STRING_BASE64REQUESTHEADER                                               = 0x00000003
  3625  	CRYPT_STRING_BASE64URI                                                         = 0x0000000d
  3626  	CRYPT_STRING_BASE64X509CRLHEADER                                               = 0x00000009
  3627  	CRYPT_STRING_BASE64_ANY                                                        = 0x00000006
  3628  	CRYPT_STRING_BINARY                                                            = 0x2
  3629  	CRYPT_STRING_ENCODEMASK                                                        = 0x000000ff
  3630  	CRYPT_STRING_HASHDATA                                                          = 0x10000000
  3631  	CRYPT_STRING_HEX                                                               = 0x4
  3632  	CRYPT_STRING_HEXADDR                                                           = 0x0000000a
  3633  	CRYPT_STRING_HEXASCII                                                          = 0x00000005
  3634  	CRYPT_STRING_HEXASCIIADDR                                                      = 0x0000000b
  3635  	CRYPT_STRING_HEXRAW                                                            = 0x0000000c
  3636  	CRYPT_STRING_HEX_ANY                                                           = 0x8
  3637  	CRYPT_STRING_NOCR                                                              = 0x80000000
  3638  	CRYPT_STRING_NOCRLF                                                            = 0x40000000
  3639  	CRYPT_STRING_PERCENTESCAPE                                                     = 0x08000000
  3640  	CRYPT_STRING_RESERVED100                                                       = 0x00000100
  3641  	CRYPT_STRING_RESERVED200                                                       = 0x00000200
  3642  	CRYPT_STRING_STRICT                                                            = 0x20000000
  3643  	CRYPT_SUCCEED                                                                  = 1
  3644  	CRYPT_TEMPLATE_OID_GROUP_ID                                                    = 9
  3645  	CRYPT_TYPE2_FORMAT                                                             = 0x2
  3646  	CRYPT_UI_PROMPT                                                                = 0x4
  3647  	CRYPT_UM                                                                       = 1
  3648  	CRYPT_UNICODE_NAME_DECODE_DISABLE_IE4_UTF8_FLAG                                = 16777216
  3649  	CRYPT_UNICODE_NAME_ENCODE_DISABLE_CHECK_TYPE_FLAG                              = 1073741824
  3650  	CRYPT_UNICODE_NAME_ENCODE_ENABLE_T61_UNICODE_FLAG                              = 2147483648
  3651  	CRYPT_UNICODE_NAME_ENCODE_ENABLE_UTF8_UNICODE_FLAG                             = 536870912
  3652  	CRYPT_UNICODE_NAME_ENCODE_FORCE_UTF8_UNICODE_FLAG                              = 268435456
  3653  	CRYPT_UPDATE_KEY                                                               = 0x8
  3654  	CRYPT_USERDATA                                                                 = 1
  3655  	CRYPT_USER_DEFAULT                                                             = 0x2
  3656  	CRYPT_USER_KEYSET                                                              = 0x1000
  3657  	CRYPT_USER_PROTECTED                                                           = 0x2
  3658  	CRYPT_USER_PROTECTED_STRONG                                                    = 0x100000
  3659  	CRYPT_VERIFYCONTEXT                                                            = 0xf0000000
  3660  	CRYPT_VERIFY_CERT_SIGN_DISABLE_MD2_MD4_FLAG                                    = 0x1
  3661  	CRYPT_VERIFY_CERT_SIGN_ISSUER_CERT                                             = 2
  3662  	CRYPT_VERIFY_CERT_SIGN_ISSUER_CHAIN                                            = 3
  3663  	CRYPT_VERIFY_CERT_SIGN_ISSUER_NULL                                             = 4
  3664  	CRYPT_VERIFY_CERT_SIGN_ISSUER_PUBKEY                                           = 1
  3665  	CRYPT_VERIFY_CERT_SIGN_RETURN_STRONG_PROPERTIES_FLAG                           = 0x4
  3666  	CRYPT_VERIFY_CERT_SIGN_SET_STRONG_PROPERTIES_FLAG                              = 0x2
  3667  	CRYPT_VERIFY_CERT_SIGN_SUBJECT_BLOB                                            = 1
  3668  	CRYPT_VERIFY_CERT_SIGN_SUBJECT_CERT                                            = 2
  3669  	CRYPT_VERIFY_CERT_SIGN_SUBJECT_CRL                                             = 3
  3670  	CRYPT_VERIFY_CERT_SIGN_SUBJECT_OCSP_BASIC_SIGNED_RESPONSE                      = 4
  3671  	CRYPT_VERIFY_CONTEXT_SIGNATURE                                                 = 0x20
  3672  	CRYPT_VERIFY_DATA_HASH                                                         = 0x40
  3673  	CRYPT_VOLATILE                                                                 = 0x1000
  3674  	CRYPT_WIRE_ONLY_RETRIEVAL                                                      = 0x4
  3675  	CRYPT_WRITE                                                                    = 0x10
  3676  	CRYPT_X931_FORMAT                                                              = 0x4
  3677  	CRYPT_X942_COUNTER_BYTE_LENGTH                                                 = 4
  3678  	CRYPT_X942_KEY_LENGTH_BYTE_LENGTH                                              = 4
  3679  	CRYPT_X942_PUB_INFO_BYTE_LENGTH                                                = 64
  3680  	CRYPT_Y_ONLY                                                                   = 0x1
  3681  	CSOUND_SYSTEM                                                                  = 16
  3682  	CSTR_EQUAL                                                                     = 2
  3683  	CSTR_GREATER_THAN                                                              = 3
  3684  	CSTR_LESS_THAN                                                                 = 1
  3685  	CS_BYTEALIGNCLIENT                                                             = 0x1000
  3686  	CS_BYTEALIGNWINDOW                                                             = 0x2000
  3687  	CS_CLASSDC                                                                     = 0x0040
  3688  	CS_DBLCLKS                                                                     = 0x0008
  3689  	CS_DELETE_TRANSFORM                                                            = 3
  3690  	CS_DISABLE                                                                     = 2
  3691  	CS_DROPSHADOW                                                                  = 0x00020000
  3692  	CS_ENABLE                                                                      = 1
  3693  	CS_E_FIRST                                                                     = 2147746148
  3694  	CS_E_LAST                                                                      = 2147746159
  3695  	CS_GLOBALCLASS                                                                 = 0x4000
  3696  	CS_HREDRAW                                                                     = 0x0002
  3697  	CS_IME                                                                         = 0x00010000
  3698  	CS_INSERTCHAR                                                                  = 0x2000
  3699  	CS_NOCLOSE                                                                     = 0x0200
  3700  	CS_NOMOVECARET                                                                 = 0x4000
  3701  	CS_OWNDC                                                                       = 0x0020
  3702  	CS_PARENTDC                                                                    = 0x0080
  3703  	CS_SAVEBITS                                                                    = 0x0800
  3704  	CS_VREDRAW                                                                     = 0x0001
  3705  	CTLCOLOR_BTN                                                                   = 3
  3706  	CTLCOLOR_DLG                                                                   = 4
  3707  	CTLCOLOR_EDIT                                                                  = 1
  3708  	CTLCOLOR_LISTBOX                                                               = 2
  3709  	CTLCOLOR_MAX                                                                   = 7
  3710  	CTLCOLOR_MSGBOX                                                                = 0
  3711  	CTLCOLOR_SCROLLBAR                                                             = 5
  3712  	CTLCOLOR_STATIC                                                                = 6
  3713  	CTL_ANY_SUBJECT_TYPE                                                           = 1
  3714  	CTL_CERT_SUBJECT_TYPE                                                          = 2
  3715  	CTL_ENTRY_FROM_PROP_CHAIN_FLAG                                                 = 0x1
  3716  	CTL_FIND_ANY                                                                   = 0
  3717  	CTL_FIND_EXISTING                                                              = 5
  3718  	CTL_FIND_MD5_HASH                                                              = 2
  3719  	CTL_FIND_NO_LIST_ID_CBDATA                                                     = 0xffffffff
  3720  	CTL_FIND_SAME_USAGE_FLAG                                                       = 0x1
  3721  	CTL_FIND_SHA1_HASH                                                             = 1
  3722  	CTL_FIND_SUBJECT                                                               = 4
  3723  	CTL_FIND_USAGE                                                                 = 3
  3724  	CTL_V1                                                                         = 0
  3725  	CTRL_BREAK_EVENT                                                               = 1
  3726  	CTRL_CLOSE_EVENT                                                               = 2
  3727  	CTRL_C_EVENT                                                                   = 0
  3728  	CTRL_LOGOFF_EVENT                                                              = 5
  3729  	CTRL_SHUTDOWN_EVENT                                                            = 6
  3730  	CTRY_ALBANIA                                                                   = 355
  3731  	CTRY_ALGERIA                                                                   = 213
  3732  	CTRY_ARGENTINA                                                                 = 54
  3733  	CTRY_ARMENIA                                                                   = 374
  3734  	CTRY_AUSTRALIA                                                                 = 61
  3735  	CTRY_AUSTRIA                                                                   = 43
  3736  	CTRY_AZERBAIJAN                                                                = 994
  3737  	CTRY_BAHRAIN                                                                   = 973
  3738  	CTRY_BELARUS                                                                   = 375
  3739  	CTRY_BELGIUM                                                                   = 32
  3740  	CTRY_BELIZE                                                                    = 501
  3741  	CTRY_BOLIVIA                                                                   = 591
  3742  	CTRY_BRAZIL                                                                    = 55
  3743  	CTRY_BRUNEI_DARUSSALAM                                                         = 673
  3744  	CTRY_BULGARIA                                                                  = 359
  3745  	CTRY_CANADA                                                                    = 2
  3746  	CTRY_CARIBBEAN                                                                 = 1
  3747  	CTRY_CHILE                                                                     = 56
  3748  	CTRY_COLOMBIA                                                                  = 57
  3749  	CTRY_COSTA_RICA                                                                = 506
  3750  	CTRY_CROATIA                                                                   = 385
  3751  	CTRY_CZECH                                                                     = 420
  3752  	CTRY_DEFAULT                                                                   = 0
  3753  	CTRY_DENMARK                                                                   = 45
  3754  	CTRY_DOMINICAN_REPUBLIC                                                        = 1
  3755  	CTRY_ECUADOR                                                                   = 593
  3756  	CTRY_EGYPT                                                                     = 20
  3757  	CTRY_EL_SALVADOR                                                               = 503
  3758  	CTRY_ESTONIA                                                                   = 372
  3759  	CTRY_FAEROE_ISLANDS                                                            = 298
  3760  	CTRY_FINLAND                                                                   = 358
  3761  	CTRY_FRANCE                                                                    = 33
  3762  	CTRY_GEORGIA                                                                   = 995
  3763  	CTRY_GERMANY                                                                   = 49
  3764  	CTRY_GREECE                                                                    = 30
  3765  	CTRY_GUATEMALA                                                                 = 502
  3766  	CTRY_HONDURAS                                                                  = 504
  3767  	CTRY_HONG_KONG                                                                 = 852
  3768  	CTRY_HUNGARY                                                                   = 36
  3769  	CTRY_ICELAND                                                                   = 354
  3770  	CTRY_INDIA                                                                     = 91
  3771  	CTRY_INDONESIA                                                                 = 62
  3772  	CTRY_IRAN                                                                      = 981
  3773  	CTRY_IRAQ                                                                      = 964
  3774  	CTRY_IRELAND                                                                   = 353
  3775  	CTRY_ISRAEL                                                                    = 972
  3776  	CTRY_ITALY                                                                     = 39
  3777  	CTRY_JAMAICA                                                                   = 1
  3778  	CTRY_JAPAN                                                                     = 81
  3779  	CTRY_JORDAN                                                                    = 962
  3780  	CTRY_KAZAKSTAN                                                                 = 7
  3781  	CTRY_KENYA                                                                     = 254
  3782  	CTRY_KUWAIT                                                                    = 965
  3783  	CTRY_KYRGYZSTAN                                                                = 996
  3784  	CTRY_LATVIA                                                                    = 371
  3785  	CTRY_LEBANON                                                                   = 961
  3786  	CTRY_LIBYA                                                                     = 218
  3787  	CTRY_LIECHTENSTEIN                                                             = 41
  3788  	CTRY_LITHUANIA                                                                 = 370
  3789  	CTRY_LUXEMBOURG                                                                = 352
  3790  	CTRY_MACAU                                                                     = 853
  3791  	CTRY_MACEDONIA                                                                 = 389
  3792  	CTRY_MALAYSIA                                                                  = 60
  3793  	CTRY_MALDIVES                                                                  = 960
  3794  	CTRY_MEXICO                                                                    = 52
  3795  	CTRY_MONACO                                                                    = 33
  3796  	CTRY_MONGOLIA                                                                  = 976
  3797  	CTRY_MOROCCO                                                                   = 212
  3798  	CTRY_NETHERLANDS                                                               = 31
  3799  	CTRY_NEW_ZEALAND                                                               = 64
  3800  	CTRY_NICARAGUA                                                                 = 505
  3801  	CTRY_NORWAY                                                                    = 47
  3802  	CTRY_OMAN                                                                      = 968
  3803  	CTRY_PAKISTAN                                                                  = 92
  3804  	CTRY_PANAMA                                                                    = 507
  3805  	CTRY_PARAGUAY                                                                  = 595
  3806  	CTRY_PERU                                                                      = 51
  3807  	CTRY_PHILIPPINES                                                               = 63
  3808  	CTRY_POLAND                                                                    = 48
  3809  	CTRY_PORTUGAL                                                                  = 351
  3810  	CTRY_PRCHINA                                                                   = 86
  3811  	CTRY_PUERTO_RICO                                                               = 1
  3812  	CTRY_QATAR                                                                     = 974
  3813  	CTRY_ROMANIA                                                                   = 40
  3814  	CTRY_RUSSIA                                                                    = 7
  3815  	CTRY_SAUDI_ARABIA                                                              = 966
  3816  	CTRY_SERBIA                                                                    = 381
  3817  	CTRY_SINGAPORE                                                                 = 65
  3818  	CTRY_SLOVAK                                                                    = 421
  3819  	CTRY_SLOVENIA                                                                  = 386
  3820  	CTRY_SOUTH_AFRICA                                                              = 27
  3821  	CTRY_SOUTH_KOREA                                                               = 82
  3822  	CTRY_SPAIN                                                                     = 34
  3823  	CTRY_SWEDEN                                                                    = 46
  3824  	CTRY_SWITZERLAND                                                               = 41
  3825  	CTRY_SYRIA                                                                     = 963
  3826  	CTRY_TAIWAN                                                                    = 886
  3827  	CTRY_TATARSTAN                                                                 = 7
  3828  	CTRY_THAILAND                                                                  = 66
  3829  	CTRY_TRINIDAD_Y_TOBAGO                                                         = 1
  3830  	CTRY_TUNISIA                                                                   = 216
  3831  	CTRY_TURKEY                                                                    = 90
  3832  	CTRY_UAE                                                                       = 971
  3833  	CTRY_UKRAINE                                                                   = 380
  3834  	CTRY_UNITED_KINGDOM                                                            = 44
  3835  	CTRY_UNITED_STATES                                                             = 1
  3836  	CTRY_URUGUAY                                                                   = 598
  3837  	CTRY_UZBEKISTAN                                                                = 7
  3838  	CTRY_VENEZUELA                                                                 = 58
  3839  	CTRY_VIET_NAM                                                                  = 84
  3840  	CTRY_YEMEN                                                                     = 967
  3841  	CTRY_ZIMBABWE                                                                  = 263
  3842  	CT_CTYPE1                                                                      = 0x00000001
  3843  	CT_CTYPE2                                                                      = 0x00000002
  3844  	CT_CTYPE3                                                                      = 0x00000004
  3845  	CURRENT_IMPORT_REDIRECTION_VERSION                                             = 1
  3846  	CURSOR_SHOWING                                                                 = 0x00000001
  3847  	CURVECAPS                                                                      = 28
  3848  	CUR_BLOB_VERSION                                                               = 2
  3849  	CWCSTORAGENAME                                                                 = 32
  3850  	CWF_CREATE_ONLY                                                                = 0x00000001
  3851  	CWMO_MAX_HANDLES                                                               = 56
  3852  	CWP_ALL                                                                        = 0x0000
  3853  	CWP_SKIPDISABLED                                                               = 0x0002
  3854  	CWP_SKIPINVISIBLE                                                              = 0x0001
  3855  	CWP_SKIPTRANSPARENT                                                            = 0x0004
  3856  	DACL_SECURITY_INFORMATION                                                      = 4
  3857  	DATA_E_FIRST                                                                   = 2147746096
  3858  	DATA_E_LAST                                                                    = 2147746111
  3859  	DATA_S_FIRST                                                                   = 262448
  3860  	DATA_S_LAST                                                                    = 262463
  3861  	DATE_LONGDATE                                                                  = 0x00000002
  3862  	DATE_LTRREADING                                                                = 0x00000010
  3863  	DATE_RTLREADING                                                                = 0x00000020
  3864  	DATE_SHORTDATE                                                                 = 0x00000001
  3865  	DATE_USE_ALT_CALENDAR                                                          = 0x00000004
  3866  	DATE_YEARMONTH                                                                 = 0x00000008
  3867  	DCBA_FACEDOWNCENTER                                                            = 0x0101
  3868  	DCBA_FACEDOWNLEFT                                                              = 0x0102
  3869  	DCBA_FACEDOWNNONE                                                              = 0x0100
  3870  	DCBA_FACEDOWNRIGHT                                                             = 0x0103
  3871  	DCBA_FACEUPCENTER                                                              = 0x0001
  3872  	DCBA_FACEUPLEFT                                                                = 0x0002
  3873  	DCBA_FACEUPNONE                                                                = 0x0000
  3874  	DCBA_FACEUPRIGHT                                                               = 0x0003
  3875  	DCB_ACCUMULATE                                                                 = 0x0002
  3876  	DCB_DIRTY                                                                      = 2
  3877  	DCB_DISABLE                                                                    = 0x0008
  3878  	DCB_ENABLE                                                                     = 0x0004
  3879  	DCB_RESET                                                                      = 0x0001
  3880  	DCB_SET                                                                        = 3
  3881  	DCE_C_ERROR_STRING_LEN                                                         = 256
  3882  	DCOMSCM_ACTIVATION_DISALLOW_UNSECURE_CALL                                      = 0x2
  3883  	DCOMSCM_ACTIVATION_USE_ALL_AUTHNSERVICES                                       = 0x1
  3884  	DCOMSCM_PING_DISALLOW_UNSECURE_CALL                                            = 0x20
  3885  	DCOMSCM_PING_USE_MID_AUTHNSERVICE                                              = 0x10
  3886  	DCOMSCM_RESOLVE_DISALLOW_UNSECURE_CALL                                         = 0x8
  3887  	DCOMSCM_RESOLVE_USE_ALL_AUTHNSERVICES                                          = 0x4
  3888  	DCTT_BITMAP                                                                    = 1
  3889  	DCTT_DOWNLOAD                                                                  = 2
  3890  	DCTT_DOWNLOAD_OUTLINE                                                          = 8
  3891  	DCTT_SUBDEV                                                                    = 4
  3892  	DCX_CACHE                                                                      = 2
  3893  	DCX_CLIPCHILDREN                                                               = 8
  3894  	DCX_CLIPSIBLINGS                                                               = 16
  3895  	DCX_EXCLUDERGN                                                                 = 64
  3896  	DCX_EXCLUDEUPDATE                                                              = 256
  3897  	DCX_INTERSECTRGN                                                               = 128
  3898  	DCX_INTERSECTUPDATE                                                            = 512
  3899  	DCX_LOCKWINDOWUPDATE                                                           = 1024
  3900  	DCX_NORESETATTRS                                                               = 4
  3901  	DCX_PARENTCLIP                                                                 = 32
  3902  	DCX_VALIDATE                                                                   = 2097152
  3903  	DCX_WINDOW                                                                     = 1
  3904  	DC_ACTIVE                                                                      = 0x0001
  3905  	DC_BINADJUST                                                                   = 19
  3906  	DC_BINNAMES                                                                    = 12
  3907  	DC_BINS                                                                        = 6
  3908  	DC_BRUSH                                                                       = 18
  3909  	DC_BUTTONS                                                                     = 0x1000
  3910  	DC_COLLATE                                                                     = 22
  3911  	DC_COLORDEVICE                                                                 = 32
  3912  	DC_COPIES                                                                      = 18
  3913  	DC_DATATYPE_PRODUCED                                                           = 21
  3914  	DC_DRIVER                                                                      = 11
  3915  	DC_DUPLEX                                                                      = 7
  3916  	DC_EMF_COMPLIANT                                                               = 20
  3917  	DC_ENUMRESOLUTIONS                                                             = 13
  3918  	DC_EXTRA                                                                       = 9
  3919  	DC_FIELDS                                                                      = 1
  3920  	DC_FILEDEPENDENCIES                                                            = 14
  3921  	DC_GRADIENT                                                                    = 0x0020
  3922  	DC_HASDEFID                                                                    = 0x534B
  3923  	DC_ICON                                                                        = 0x0004
  3924  	DC_INBUTTON                                                                    = 0x0010
  3925  	DC_MANUFACTURER                                                                = 23
  3926  	DC_MAXEXTENT                                                                   = 5
  3927  	DC_MEDIAREADY                                                                  = 29
  3928  	DC_MEDIATYPENAMES                                                              = 34
  3929  	DC_MEDIATYPES                                                                  = 35
  3930  	DC_MINEXTENT                                                                   = 4
  3931  	DC_MODEL                                                                       = 24
  3932  	DC_NUP                                                                         = 33
  3933  	DC_ORIENTATION                                                                 = 17
  3934  	DC_PAPERNAMES                                                                  = 16
  3935  	DC_PAPERS                                                                      = 2
  3936  	DC_PAPERSIZE                                                                   = 3
  3937  	DC_PEN                                                                         = 19
  3938  	DC_PERSONALITY                                                                 = 25
  3939  	DC_PRINTERMEM                                                                  = 28
  3940  	DC_PRINTRATE                                                                   = 26
  3941  	DC_PRINTRATEPPM                                                                = 31
  3942  	DC_PRINTRATEUNIT                                                               = 27
  3943  	DC_SIZE                                                                        = 8
  3944  	DC_SMALLCAP                                                                    = 0x0002
  3945  	DC_STAPLE                                                                      = 30
  3946  	DC_TEXT                                                                        = 0x0008
  3947  	DC_TRUETYPE                                                                    = 15
  3948  	DC_VERSION                                                                     = 10
  3949  	DDD_EXACT_MATCH_ON_REMOVE                                                      = 0x00000004
  3950  	DDD_LUID_BROADCAST_DRIVE                                                       = 0x00000010
  3951  	DDD_NO_BROADCAST_SYSTEM                                                        = 0x00000008
  3952  	DDD_RAW_TARGET_PATH                                                            = 0x00000001
  3953  	DDD_REMOVE_DEFINITION                                                          = 0x00000002
  3954  	DDE_FACK                                                                       = 0x8000
  3955  	DDE_FACKREQ                                                                    = 0x8000
  3956  	DDE_FACKRESERVED                                                               = -49408
  3957  	DDE_FADVRESERVED                                                               = -49153
  3958  	DDE_FAPPSTATUS                                                                 = 0x00ff
  3959  	DDE_FBUSY                                                                      = 0x4000
  3960  	DDE_FDATRESERVED                                                               = -45057
  3961  	DDE_FDEFERUPD                                                                  = 0x4000
  3962  	DDE_FNOTPROCESSED                                                              = 0x0000
  3963  	DDE_FPOKRESERVED                                                               = -8193
  3964  	DDE_FRELEASE                                                                   = 0x2000
  3965  	DDE_FREQUESTED                                                                 = 0x1000
  3966  	DDL_ARCHIVE                                                                    = 0x0020
  3967  	DDL_DIRECTORY                                                                  = 0x0010
  3968  	DDL_DRIVES                                                                     = 0x4000
  3969  	DDL_EXCLUSIVE                                                                  = 0x8000
  3970  	DDL_HIDDEN                                                                     = 0x0002
  3971  	DDL_POSTMSGS                                                                   = 0x2000
  3972  	DDL_READONLY                                                                   = 0x0001
  3973  	DDL_READWRITE                                                                  = 0x0000
  3974  	DDL_SYSTEM                                                                     = 0x0004
  3975  	DD_DEFDRAGDELAY                                                                = 200
  3976  	DD_DEFDRAGMINDIST                                                              = 2
  3977  	DD_DEFSCROLLDELAY                                                              = 50
  3978  	DD_DEFSCROLLINSET                                                              = 11
  3979  	DD_DEFSCROLLINTERVAL                                                           = 50
  3980  	DEACTIVATE_ACTCTX_FLAG_FORCE_EARLY_DEACTIVATION                                = 1
  3981  	DEBUG_ONLY_THIS_PROCESS                                                        = 0x2
  3982  	DEBUG_PROCESS                                                                  = 0x1
  3983  	DECLSPEC_ADDRSAFE                                                              = 0
  3984  	DECLSPEC_DEPRECATED_DDK                                                        = 0
  3985  	DECLSPEC_NOVTABLE                                                              = 0
  3986  	DEFAULT_CHARSET                                                                = 1
  3987  	DEFAULT_GUI_FONT                                                               = 17
  3988  	DEFAULT_PALETTE                                                                = 15
  3989  	DEFAULT_PITCH                                                                  = 0
  3990  	DEFAULT_QUALITY                                                                = 0
  3991  	DEFAULT_UNREACHABLE                                                            = 0
  3992  	DEFINDE_LPTYPEINFO                                                             = 0
  3993  	DEFINED_DISPID_MEMBERID                                                        = 0
  3994  	DEFINED_LPCREATETYPELIB                                                        = 0
  3995  	DEFINED_LPDISPATCH                                                             = 0
  3996  	DEFINED_LPTYPECOMP                                                             = 0
  3997  	DEFINED_LPTYPELIB                                                              = 0
  3998  	DEFINED_LPUINT                                                                 = 0
  3999  	DEFINE_LPCREATETYPEINFO                                                        = 0
  4000  	DEF_PRIORITY                                                                   = 1
  4001  	DELETE                                                                         = 65536
  4002  	DEPRECATE_SUPPORTED                                                            = 0
  4003  	DEREGISTERED                                                                   = 0x05
  4004  	DESKTOPHORZRES                                                                 = 118
  4005  	DESKTOPVERTRES                                                                 = 117
  4006  	DESKTOP_CREATEMENU                                                             = 4
  4007  	DESKTOP_CREATEWINDOW                                                           = 2
  4008  	DESKTOP_ENUMERATE                                                              = 64
  4009  	DESKTOP_HOOKCONTROL                                                            = 8
  4010  	DESKTOP_JOURNALPLAYBACK                                                        = 32
  4011  	DESKTOP_JOURNALRECORD                                                          = 16
  4012  	DESKTOP_READOBJECTS                                                            = 1
  4013  	DESKTOP_SWITCHDESKTOP                                                          = 256
  4014  	DESKTOP_WRITEOBJECTS                                                           = 128
  4015  	DETACHED_PROCESS                                                               = 0x8
  4016  	DEVICEDATA                                                                     = 19
  4017  	DEVICE_DEFAULT_FONT                                                            = 14
  4018  	DEVICE_FONTTYPE                                                                = 0x002
  4019  	DEVICE_NOTIFY_ALL_INTERFACE_CLASSES                                            = 0x00000004
  4020  	DEVICE_NOTIFY_SERVICE_HANDLE                                                   = 0x00000001
  4021  	DEVICE_NOTIFY_WINDOW_HANDLE                                                    = 0x00000000
  4022  	DFCS_ADJUSTRECT                                                                = 0x2000
  4023  	DFCS_BUTTON3STATE                                                              = 0x0008
  4024  	DFCS_BUTTONCHECK                                                               = 0x0000
  4025  	DFCS_BUTTONPUSH                                                                = 0x0010
  4026  	DFCS_BUTTONRADIO                                                               = 0x0004
  4027  	DFCS_BUTTONRADIOIMAGE                                                          = 0x0001
  4028  	DFCS_BUTTONRADIOMASK                                                           = 0x0002
  4029  	DFCS_CAPTIONCLOSE                                                              = 0x0000
  4030  	DFCS_CAPTIONHELP                                                               = 0x0004
  4031  	DFCS_CAPTIONMAX                                                                = 0x0002
  4032  	DFCS_CAPTIONMIN                                                                = 0x0001
  4033  	DFCS_CAPTIONRESTORE                                                            = 0x0003
  4034  	DFCS_CHECKED                                                                   = 0x0400
  4035  	DFCS_FLAT                                                                      = 0x4000
  4036  	DFCS_HOT                                                                       = 0x1000
  4037  	DFCS_INACTIVE                                                                  = 0x0100
  4038  	DFCS_MENUARROW                                                                 = 0x0000
  4039  	DFCS_MENUARROWRIGHT                                                            = 0x0004
  4040  	DFCS_MENUBULLET                                                                = 0x0002
  4041  	DFCS_MENUCHECK                                                                 = 0x0001
  4042  	DFCS_MONO                                                                      = 0x8000
  4043  	DFCS_PUSHED                                                                    = 0x0200
  4044  	DFCS_SCROLLCOMBOBOX                                                            = 0x0005
  4045  	DFCS_SCROLLDOWN                                                                = 0x0001
  4046  	DFCS_SCROLLLEFT                                                                = 0x0002
  4047  	DFCS_SCROLLRIGHT                                                               = 0x0003
  4048  	DFCS_SCROLLSIZEGRIP                                                            = 0x0008
  4049  	DFCS_SCROLLSIZEGRIPRIGHT                                                       = 0x0010
  4050  	DFCS_SCROLLUP                                                                  = 0x0000
  4051  	DFCS_TRANSPARENT                                                               = 0x0800
  4052  	DFC_BUTTON                                                                     = 4
  4053  	DFC_CAPTION                                                                    = 1
  4054  	DFC_MENU                                                                       = 2
  4055  	DFC_POPUPMENU                                                                  = 5
  4056  	DFC_SCROLL                                                                     = 3
  4057  	DF_ALLOWOTHERACCOUNTHOOK                                                       = 1
  4058  	DIAGNOSTIC_REASON_DETAILED_STRING                                              = 0x00000002
  4059  	DIAGNOSTIC_REASON_INVALID_FLAGS                                                = -2147483652
  4060  	DIAGNOSTIC_REASON_NOT_SPECIFIED                                                = 0x80000000
  4061  	DIAGNOSTIC_REASON_SIMPLE_STRING                                                = 0x00000001
  4062  	DIAGNOSTIC_REASON_VERSION                                                      = 0
  4063  	DIALOPTION_BILLING                                                             = 0x00000040
  4064  	DIALOPTION_DIALTONE                                                            = 0x00000100
  4065  	DIALOPTION_QUIET                                                               = 0x00000080
  4066  	DIB_PAL_COLORS                                                                 = 1
  4067  	DIB_RGB_COLORS                                                                 = 0
  4068  	DIFFERENCE                                                                     = 11
  4069  	DIRENT_DEFINED                                                                 = 0
  4070  	DIR_DEFINED                                                                    = 0
  4071  	DISABLE_MAX_PRIVILEGE                                                          = 0x1
  4072  	DISABLE_NEWLINE_AUTO_RETURN                                                    = 0x8
  4073  	DISABLE_SMART                                                                  = 0xD9
  4074  	DISCHARGE_POLICY_CRITICAL                                                      = 0
  4075  	DISCHARGE_POLICY_LOW                                                           = 1
  4076  	DISC_NO_FORCE                                                                  = 0x00000040
  4077  	DISC_UPDATE_PROFILE                                                            = 0x00000001
  4078  	DISK_BINNING                                                                   = 3
  4079  	DISK_LOGGING_DUMP                                                              = 2
  4080  	DISK_LOGGING_START                                                             = 0
  4081  	DISK_LOGGING_STOP                                                              = 1
  4082  	DISPATCH_METHOD                                                                = 0x1
  4083  	DISPATCH_PROPERTYGET                                                           = 0x2
  4084  	DISPATCH_PROPERTYPUT                                                           = 0x4
  4085  	DISPATCH_PROPERTYPUTREF                                                        = 0x8
  4086  	DISPID_COLLECT                                                                 = -8
  4087  	DISPID_CONSTRUCTOR                                                             = -6
  4088  	DISPID_DESTRUCTOR                                                              = -7
  4089  	DISPID_EVALUATE                                                                = -5
  4090  	DISPID_NEWENUM                                                                 = -4
  4091  	DISPID_PROPERTYPUT                                                             = -3
  4092  	DISPID_UNKNOWN                                                                 = -1
  4093  	DISPID_VALUE                                                                   = 0
  4094  	DISPLAY_DEVICE_ACTIVE                                                          = 0x00000001
  4095  	DISPLAY_DEVICE_ATTACHED                                                        = 0x00000002
  4096  	DISPLAY_DEVICE_ATTACHED_TO_DESKTOP                                             = 0x00000001
  4097  	DISPLAY_DEVICE_DISCONNECT                                                      = 0x02000000
  4098  	DISPLAY_DEVICE_MIRRORING_DRIVER                                                = 0x00000008
  4099  	DISPLAY_DEVICE_MODESPRUNED                                                     = 0x08000000
  4100  	DISPLAY_DEVICE_MULTI_DRIVER                                                    = 0x00000002
  4101  	DISPLAY_DEVICE_PRIMARY_DEVICE                                                  = 0x00000004
  4102  	DISPLAY_DEVICE_RDPUDD                                                          = 0x01000000
  4103  	DISPLAY_DEVICE_REMOTE                                                          = 0x04000000
  4104  	DISPLAY_DEVICE_REMOVABLE                                                       = 0x00000020
  4105  	DISPLAY_DEVICE_TS_COMPATIBLE                                                   = 0x00200000
  4106  	DISPLAY_DEVICE_VGA_COMPATIBLE                                                  = 0x00000010
  4107  	DISP_CHANGE_BADDUALVIEW                                                        = -6
  4108  	DISP_CHANGE_BADFLAGS                                                           = -4
  4109  	DISP_CHANGE_BADMODE                                                            = -2
  4110  	DISP_CHANGE_BADPARAM                                                           = -5
  4111  	DISP_CHANGE_FAILED                                                             = -1
  4112  	DISP_CHANGE_NOTUPDATED                                                         = -3
  4113  	DISP_CHANGE_RESTART                                                            = 1
  4114  	DISP_CHANGE_SUCCESSFUL                                                         = 0
  4115  	DI_APPBANDING                                                                  = 0x00000001
  4116  	DI_CHANNEL                                                                     = 1
  4117  	DI_COMPAT                                                                      = 0x0004
  4118  	DI_DEFAULTSIZE                                                                 = 0x0008
  4119  	DI_IMAGE                                                                       = 0x0002
  4120  	DI_MASK                                                                        = 0x0001
  4121  	DI_MEMORYMAP_WRITE                                                             = 0x00000001
  4122  	DI_NOMIRROR                                                                    = 0x0010
  4123  	DI_NORMAL                                                                      = 0x0003
  4124  	DI_READ_SPOOL_JOB                                                              = 3
  4125  	DI_ROPS_READ_DESTINATION                                                       = 0x00000002
  4126  	DKGRAY_BRUSH                                                                   = 3
  4127  	DLGC_BUTTON                                                                    = 0x2000
  4128  	DLGC_DEFPUSHBUTTON                                                             = 0x0010
  4129  	DLGC_HASSETSEL                                                                 = 0x0008
  4130  	DLGC_RADIOBUTTON                                                               = 0x0040
  4131  	DLGC_STATIC                                                                    = 0x0100
  4132  	DLGC_UNDEFPUSHBUTTON                                                           = 0x0020
  4133  	DLGC_WANTALLKEYS                                                               = 0x0004
  4134  	DLGC_WANTARROWS                                                                = 0x0001
  4135  	DLGC_WANTCHARS                                                                 = 0x0080
  4136  	DLGC_WANTMESSAGE                                                               = 0x0004
  4137  	DLGC_WANTTAB                                                                   = 0x0002
  4138  	DLGWINDOWEXTRA                                                                 = 30
  4139  	DLL_PROCESS_ATTACH                                                             = 1
  4140  	DLL_PROCESS_DETACH                                                             = 0
  4141  	DLL_PROCESS_VERIFIER                                                           = 4
  4142  	DLL_THREAD_ATTACH                                                              = 2
  4143  	DLL_THREAD_DETACH                                                              = 3
  4144  	DMBIN_AUTO                                                                     = 7
  4145  	DMBIN_CASSETTE                                                                 = 14
  4146  	DMBIN_ENVELOPE                                                                 = 5
  4147  	DMBIN_ENVMANUAL                                                                = 6
  4148  	DMBIN_FIRST                                                                    = 1
  4149  	DMBIN_FORMSOURCE                                                               = 15
  4150  	DMBIN_LARGECAPACITY                                                            = 11
  4151  	DMBIN_LARGEFMT                                                                 = 10
  4152  	DMBIN_LAST                                                                     = 15
  4153  	DMBIN_LOWER                                                                    = 2
  4154  	DMBIN_MANUAL                                                                   = 4
  4155  	DMBIN_MIDDLE                                                                   = 3
  4156  	DMBIN_ONLYONE                                                                  = 1
  4157  	DMBIN_SMALLFMT                                                                 = 9
  4158  	DMBIN_TRACTOR                                                                  = 8
  4159  	DMBIN_UPPER                                                                    = 1
  4160  	DMBIN_USER                                                                     = 256
  4161  	DMCOLLATE_FALSE                                                                = 0
  4162  	DMCOLLATE_TRUE                                                                 = 1
  4163  	DMCOLOR_COLOR                                                                  = 2
  4164  	DMCOLOR_MONOCHROME                                                             = 1
  4165  	DMDFO_CENTER                                                                   = 2
  4166  	DMDFO_DEFAULT                                                                  = 0
  4167  	DMDFO_STRETCH                                                                  = 1
  4168  	DMDISPLAYFLAGS_TEXTMODE                                                        = 0x00000004
  4169  	DMDITHER_COARSE                                                                = 2
  4170  	DMDITHER_ERRORDIFFUSION                                                        = 5
  4171  	DMDITHER_FINE                                                                  = 3
  4172  	DMDITHER_GRAYSCALE                                                             = 10
  4173  	DMDITHER_LINEART                                                               = 4
  4174  	DMDITHER_NONE                                                                  = 1
  4175  	DMDITHER_RESERVED6                                                             = 6
  4176  	DMDITHER_RESERVED7                                                             = 7
  4177  	DMDITHER_RESERVED8                                                             = 8
  4178  	DMDITHER_RESERVED9                                                             = 9
  4179  	DMDITHER_USER                                                                  = 256
  4180  	DMDO_180                                                                       = 2
  4181  	DMDO_270                                                                       = 3
  4182  	DMDO_90                                                                        = 1
  4183  	DMDO_DEFAULT                                                                   = 0
  4184  	DMDUP_HORIZONTAL                                                               = 3
  4185  	DMDUP_SIMPLEX                                                                  = 1
  4186  	DMDUP_VERTICAL                                                                 = 2
  4187  	DMICMMETHOD_DEVICE                                                             = 4
  4188  	DMICMMETHOD_DRIVER                                                             = 3
  4189  	DMICMMETHOD_NONE                                                               = 1
  4190  	DMICMMETHOD_SYSTEM                                                             = 2
  4191  	DMICMMETHOD_USER                                                               = 256
  4192  	DMICM_ABS_COLORIMETRIC                                                         = 4
  4193  	DMICM_COLORIMETRIC                                                             = 3
  4194  	DMICM_CONTRAST                                                                 = 2
  4195  	DMICM_SATURATE                                                                 = 1
  4196  	DMICM_USER                                                                     = 256
  4197  	DMLERR_ADVACKTIMEOUT                                                           = 0x4000
  4198  	DMLERR_BUSY                                                                    = 0x4001
  4199  	DMLERR_DATAACKTIMEOUT                                                          = 0x4002
  4200  	DMLERR_DLL_NOT_INITIALIZED                                                     = 0x4003
  4201  	DMLERR_DLL_USAGE                                                               = 0x4004
  4202  	DMLERR_EXECACKTIMEOUT                                                          = 0x4005
  4203  	DMLERR_FIRST                                                                   = 0x4000
  4204  	DMLERR_INVALIDPARAMETER                                                        = 0x4006
  4205  	DMLERR_LAST                                                                    = 0x4011
  4206  	DMLERR_LOW_MEMORY                                                              = 0x4007
  4207  	DMLERR_MEMORY_ERROR                                                            = 0x4008
  4208  	DMLERR_NOTPROCESSED                                                            = 0x4009
  4209  	DMLERR_NO_CONV_ESTABLISHED                                                     = 0x400a
  4210  	DMLERR_NO_ERROR                                                                = 0
  4211  	DMLERR_POKEACKTIMEOUT                                                          = 0x400b
  4212  	DMLERR_POSTMSG_FAILED                                                          = 0x400c
  4213  	DMLERR_REENTRANCY                                                              = 0x400d
  4214  	DMLERR_SERVER_DIED                                                             = 0x400e
  4215  	DMLERR_SYS_ERROR                                                               = 0x400f
  4216  	DMLERR_UNADVACKTIMEOUT                                                         = 0x4010
  4217  	DMLERR_UNFOUND_QUEUE_ID                                                        = 0x4011
  4218  	DMMEDIA_GLOSSY                                                                 = 3
  4219  	DMMEDIA_STANDARD                                                               = 1
  4220  	DMMEDIA_TRANSPARENCY                                                           = 2
  4221  	DMMEDIA_USER                                                                   = 256
  4222  	DMNUP_ONEUP                                                                    = 2
  4223  	DMNUP_SYSTEM                                                                   = 1
  4224  	DMORIENT_LANDSCAPE                                                             = 2
  4225  	DMORIENT_PORTRAIT                                                              = 1
  4226  	DMPAPER_10X11                                                                  = 45
  4227  	DMPAPER_10X14                                                                  = 16
  4228  	DMPAPER_11X17                                                                  = 17
  4229  	DMPAPER_12X11                                                                  = 90
  4230  	DMPAPER_15X11                                                                  = 46
  4231  	DMPAPER_9X11                                                                   = 44
  4232  	DMPAPER_A2                                                                     = 66
  4233  	DMPAPER_A3                                                                     = 8
  4234  	DMPAPER_A3_EXTRA                                                               = 63
  4235  	DMPAPER_A3_EXTRA_TRANSVERSE                                                    = 68
  4236  	DMPAPER_A3_ROTATED                                                             = 76
  4237  	DMPAPER_A3_TRANSVERSE                                                          = 67
  4238  	DMPAPER_A4                                                                     = 9
  4239  	DMPAPER_A4SMALL                                                                = 10
  4240  	DMPAPER_A4_EXTRA                                                               = 53
  4241  	DMPAPER_A4_PLUS                                                                = 60
  4242  	DMPAPER_A4_ROTATED                                                             = 77
  4243  	DMPAPER_A4_TRANSVERSE                                                          = 55
  4244  	DMPAPER_A5                                                                     = 11
  4245  	DMPAPER_A5_EXTRA                                                               = 64
  4246  	DMPAPER_A5_ROTATED                                                             = 78
  4247  	DMPAPER_A5_TRANSVERSE                                                          = 61
  4248  	DMPAPER_A6                                                                     = 70
  4249  	DMPAPER_A6_ROTATED                                                             = 83
  4250  	DMPAPER_A_PLUS                                                                 = 57
  4251  	DMPAPER_B4                                                                     = 12
  4252  	DMPAPER_B4_JIS_ROTATED                                                         = 79
  4253  	DMPAPER_B5                                                                     = 13
  4254  	DMPAPER_B5_EXTRA                                                               = 65
  4255  	DMPAPER_B5_JIS_ROTATED                                                         = 80
  4256  	DMPAPER_B5_TRANSVERSE                                                          = 62
  4257  	DMPAPER_B6_JIS                                                                 = 88
  4258  	DMPAPER_B6_JIS_ROTATED                                                         = 89
  4259  	DMPAPER_B_PLUS                                                                 = 58
  4260  	DMPAPER_CSHEET                                                                 = 24
  4261  	DMPAPER_DBL_JAPANESE_POSTCARD                                                  = 69
  4262  	DMPAPER_DBL_JAPANESE_POSTCARD_ROTATED                                          = 82
  4263  	DMPAPER_DSHEET                                                                 = 25
  4264  	DMPAPER_ENV_10                                                                 = 20
  4265  	DMPAPER_ENV_11                                                                 = 21
  4266  	DMPAPER_ENV_12                                                                 = 22
  4267  	DMPAPER_ENV_14                                                                 = 23
  4268  	DMPAPER_ENV_9                                                                  = 19
  4269  	DMPAPER_ENV_B4                                                                 = 33
  4270  	DMPAPER_ENV_B5                                                                 = 34
  4271  	DMPAPER_ENV_B6                                                                 = 35
  4272  	DMPAPER_ENV_C3                                                                 = 29
  4273  	DMPAPER_ENV_C4                                                                 = 30
  4274  	DMPAPER_ENV_C5                                                                 = 28
  4275  	DMPAPER_ENV_C6                                                                 = 31
  4276  	DMPAPER_ENV_C65                                                                = 32
  4277  	DMPAPER_ENV_DL                                                                 = 27
  4278  	DMPAPER_ENV_INVITE                                                             = 47
  4279  	DMPAPER_ENV_ITALY                                                              = 36
  4280  	DMPAPER_ENV_MONARCH                                                            = 37
  4281  	DMPAPER_ENV_PERSONAL                                                           = 38
  4282  	DMPAPER_ESHEET                                                                 = 26
  4283  	DMPAPER_EXECUTIVE                                                              = 7
  4284  	DMPAPER_FANFOLD_LGL_GERMAN                                                     = 41
  4285  	DMPAPER_FANFOLD_STD_GERMAN                                                     = 40
  4286  	DMPAPER_FANFOLD_US                                                             = 39
  4287  	DMPAPER_FIRST                                                                  = 1
  4288  	DMPAPER_FOLIO                                                                  = 14
  4289  	DMPAPER_ISO_B4                                                                 = 42
  4290  	DMPAPER_JAPANESE_POSTCARD                                                      = 43
  4291  	DMPAPER_JAPANESE_POSTCARD_ROTATED                                              = 81
  4292  	DMPAPER_JENV_CHOU3                                                             = 73
  4293  	DMPAPER_JENV_CHOU3_ROTATED                                                     = 86
  4294  	DMPAPER_JENV_CHOU4                                                             = 74
  4295  	DMPAPER_JENV_CHOU4_ROTATED                                                     = 87
  4296  	DMPAPER_JENV_KAKU2                                                             = 71
  4297  	DMPAPER_JENV_KAKU2_ROTATED                                                     = 84
  4298  	DMPAPER_JENV_KAKU3                                                             = 72
  4299  	DMPAPER_JENV_KAKU3_ROTATED                                                     = 85
  4300  	DMPAPER_JENV_YOU4                                                              = 91
  4301  	DMPAPER_JENV_YOU4_ROTATED                                                      = 92
  4302  	DMPAPER_LAST                                                                   = 118
  4303  	DMPAPER_LEDGER                                                                 = 4
  4304  	DMPAPER_LEGAL                                                                  = 5
  4305  	DMPAPER_LEGAL_EXTRA                                                            = 51
  4306  	DMPAPER_LETTER                                                                 = 1
  4307  	DMPAPER_LETTERSMALL                                                            = 2
  4308  	DMPAPER_LETTER_EXTRA                                                           = 50
  4309  	DMPAPER_LETTER_EXTRA_TRANSVERSE                                                = 56
  4310  	DMPAPER_LETTER_PLUS                                                            = 59
  4311  	DMPAPER_LETTER_ROTATED                                                         = 75
  4312  	DMPAPER_LETTER_TRANSVERSE                                                      = 54
  4313  	DMPAPER_NOTE                                                                   = 18
  4314  	DMPAPER_P16K                                                                   = 93
  4315  	DMPAPER_P16K_ROTATED                                                           = 106
  4316  	DMPAPER_P32K                                                                   = 94
  4317  	DMPAPER_P32KBIG                                                                = 95
  4318  	DMPAPER_P32KBIG_ROTATED                                                        = 108
  4319  	DMPAPER_P32K_ROTATED                                                           = 107
  4320  	DMPAPER_PENV_1                                                                 = 96
  4321  	DMPAPER_PENV_10                                                                = 105
  4322  	DMPAPER_PENV_10_ROTATED                                                        = 118
  4323  	DMPAPER_PENV_1_ROTATED                                                         = 109
  4324  	DMPAPER_PENV_2                                                                 = 97
  4325  	DMPAPER_PENV_2_ROTATED                                                         = 110
  4326  	DMPAPER_PENV_3                                                                 = 98
  4327  	DMPAPER_PENV_3_ROTATED                                                         = 111
  4328  	DMPAPER_PENV_4                                                                 = 99
  4329  	DMPAPER_PENV_4_ROTATED                                                         = 112
  4330  	DMPAPER_PENV_5                                                                 = 100
  4331  	DMPAPER_PENV_5_ROTATED                                                         = 113
  4332  	DMPAPER_PENV_6                                                                 = 101
  4333  	DMPAPER_PENV_6_ROTATED                                                         = 114
  4334  	DMPAPER_PENV_7                                                                 = 102
  4335  	DMPAPER_PENV_7_ROTATED                                                         = 115
  4336  	DMPAPER_PENV_8                                                                 = 103
  4337  	DMPAPER_PENV_8_ROTATED                                                         = 116
  4338  	DMPAPER_PENV_9                                                                 = 104
  4339  	DMPAPER_PENV_9_ROTATED                                                         = 117
  4340  	DMPAPER_QUARTO                                                                 = 15
  4341  	DMPAPER_RESERVED_48                                                            = 48
  4342  	DMPAPER_RESERVED_49                                                            = 49
  4343  	DMPAPER_STATEMENT                                                              = 6
  4344  	DMPAPER_TABLOID                                                                = 3
  4345  	DMPAPER_TABLOID_EXTRA                                                          = 52
  4346  	DMPAPER_USER                                                                   = 256
  4347  	DMRES_DRAFT                                                                    = -1
  4348  	DMRES_HIGH                                                                     = -4
  4349  	DMRES_LOW                                                                      = -2
  4350  	DMRES_MEDIUM                                                                   = -3
  4351  	DMTT_BITMAP                                                                    = 1
  4352  	DMTT_DOWNLOAD                                                                  = 2
  4353  	DMTT_DOWNLOAD_OUTLINE                                                          = 4
  4354  	DMTT_SUBDEV                                                                    = 3
  4355  	DM_BITSPERPEL                                                                  = 262144
  4356  	DM_COLLATE                                                                     = 32768
  4357  	DM_COLOR                                                                       = 2048
  4358  	DM_COPIES                                                                      = 256
  4359  	DM_COPY                                                                        = 2
  4360  	DM_DEFAULTSOURCE                                                               = 512
  4361  	DM_DISPLAYFIXEDOUTPUT                                                          = 536870912
  4362  	DM_DISPLAYFLAGS                                                                = 2097152
  4363  	DM_DISPLAYFREQUENCY                                                            = 4194304
  4364  	DM_DISPLAYORIENTATION                                                          = 128
  4365  	DM_DITHERTYPE                                                                  = 67108864
  4366  	DM_DUPLEX                                                                      = 4096
  4367  	DM_FORMNAME                                                                    = 65536
  4368  	DM_GETDEFID                                                                    = 1024
  4369  	DM_ICMINTENT                                                                   = 16777216
  4370  	DM_ICMMETHOD                                                                   = 8388608
  4371  	DM_INTERLACED                                                                  = 0x00000002
  4372  	DM_IN_BUFFER                                                                   = 8
  4373  	DM_IN_PROMPT                                                                   = 4
  4374  	DM_LOGPIXELS                                                                   = 131072
  4375  	DM_MEDIATYPE                                                                   = 33554432
  4376  	DM_MODIFY                                                                      = 8
  4377  	DM_NUP                                                                         = 64
  4378  	DM_ORIENTATION                                                                 = 1
  4379  	DM_OUT_BUFFER                                                                  = 2
  4380  	DM_OUT_DEFAULT                                                                 = 1
  4381  	DM_PANNINGHEIGHT                                                               = 268435456
  4382  	DM_PANNINGWIDTH                                                                = 134217728
  4383  	DM_PAPERLENGTH                                                                 = 4
  4384  	DM_PAPERSIZE                                                                   = 2
  4385  	DM_PAPERWIDTH                                                                  = 8
  4386  	DM_PELSHEIGHT                                                                  = 1048576
  4387  	DM_PELSWIDTH                                                                   = 524288
  4388  	DM_POSITION                                                                    = 32
  4389  	DM_PRINTQUALITY                                                                = 1024
  4390  	DM_PROMPT                                                                      = 4
  4391  	DM_REPOSITION                                                                  = 1026
  4392  	DM_SCALE                                                                       = 16
  4393  	DM_SETDEFID                                                                    = 1025
  4394  	DM_SPECVERSION                                                                 = 0x0401
  4395  	DM_TTOPTION                                                                    = 16384
  4396  	DM_UPDATE                                                                      = 1
  4397  	DM_YRESOLUTION                                                                 = 8192
  4398  	DNS_ERROR_AUTOZONE_ALREADY_EXISTS                                              = 9610
  4399  	DNS_ERROR_AXFR                                                                 = 9752
  4400  	DNS_ERROR_BAD_PACKET                                                           = 9502
  4401  	DNS_ERROR_CANNOT_FIND_ROOT_HINTS                                               = 9564
  4402  	DNS_ERROR_CNAME_COLLISION                                                      = 9709
  4403  	DNS_ERROR_CNAME_LOOP                                                           = 9707
  4404  	DNS_ERROR_DATABASE_BASE                                                        = 9700
  4405  	DNS_ERROR_DATAFILE_BASE                                                        = 9650
  4406  	DNS_ERROR_DATAFILE_OPEN_FAILURE                                                = 9653
  4407  	DNS_ERROR_DATAFILE_PARSING                                                     = 9655
  4408  	DNS_ERROR_DP_ALREADY_ENLISTED                                                  = 9904
  4409  	DNS_ERROR_DP_ALREADY_EXISTS                                                    = 9902
  4410  	DNS_ERROR_DP_BASE                                                              = 9900
  4411  	DNS_ERROR_DP_DOES_NOT_EXIST                                                    = 9901
  4412  	DNS_ERROR_DP_FSMO_ERROR                                                        = 9906
  4413  	DNS_ERROR_DP_NOT_AVAILABLE                                                     = 9905
  4414  	DNS_ERROR_DP_NOT_ENLISTED                                                      = 9903
  4415  	DNS_ERROR_DS_UNAVAILABLE                                                       = 9717
  4416  	DNS_ERROR_DS_ZONE_ALREADY_EXISTS                                               = 9718
  4417  	DNS_ERROR_FILE_WRITEBACK_FAILED                                                = 9654
  4418  	DNS_ERROR_FORWARDER_ALREADY_EXISTS                                             = 9619
  4419  	DNS_ERROR_GENERAL_API_BASE                                                     = 9550
  4420  	DNS_ERROR_INCONSISTENT_ROOT_HINTS                                              = 9565
  4421  	DNS_ERROR_INVALID_DATA                                                         = 13
  4422  	DNS_ERROR_INVALID_DATAFILE_NAME                                                = 9652
  4423  	DNS_ERROR_INVALID_IP_ADDRESS                                                   = 9552
  4424  	DNS_ERROR_INVALID_NAME                                                         = 123
  4425  	DNS_ERROR_INVALID_NAME_CHAR                                                    = 9560
  4426  	DNS_ERROR_INVALID_PROPERTY                                                     = 9553
  4427  	DNS_ERROR_INVALID_TYPE                                                         = 9551
  4428  	DNS_ERROR_INVALID_ZONE_OPERATION                                               = 9603
  4429  	DNS_ERROR_INVALID_ZONE_TYPE                                                    = 9611
  4430  	DNS_ERROR_MASK                                                                 = 0x00002328
  4431  	DNS_ERROR_NAME_DOES_NOT_EXIST                                                  = 9714
  4432  	DNS_ERROR_NAME_NOT_IN_ZONE                                                     = 9706
  4433  	DNS_ERROR_NBSTAT_INIT_FAILED                                                   = 9617
  4434  	DNS_ERROR_NEED_SECONDARY_ADDRESSES                                             = 9614
  4435  	DNS_ERROR_NEED_WINS_SERVERS                                                    = 9616
  4436  	DNS_ERROR_NODE_CREATION_FAILED                                                 = 9703
  4437  	DNS_ERROR_NODE_IS_CNAME                                                        = 9708
  4438  	DNS_ERROR_NON_RFC_NAME                                                         = 9556
  4439  	DNS_ERROR_NOT_ALLOWED_ON_ROOT_SERVER                                           = 9562
  4440  	DNS_ERROR_NOT_ALLOWED_UNDER_DELEGATION                                         = 9563
  4441  	DNS_ERROR_NOT_UNIQUE                                                           = 9555
  4442  	DNS_ERROR_NO_BOOTFILE_IF_DS_ZONE                                               = 9719
  4443  	DNS_ERROR_NO_CREATE_CACHE_DATA                                                 = 9713
  4444  	DNS_ERROR_NO_DNS_SERVERS                                                       = 9852
  4445  	DNS_ERROR_NO_MEMORY                                                            = 14
  4446  	DNS_ERROR_NO_PACKET                                                            = 9503
  4447  	DNS_ERROR_NO_TCPIP                                                             = 9851
  4448  	DNS_ERROR_NO_ZONE_INFO                                                         = 9602
  4449  	DNS_ERROR_NUMERIC_NAME                                                         = 9561
  4450  	DNS_ERROR_OPERATION_BASE                                                       = 9750
  4451  	DNS_ERROR_PACKET_FMT_BASE                                                      = 9500
  4452  	DNS_ERROR_PRIMARY_REQUIRES_DATAFILE                                            = 9651
  4453  	DNS_ERROR_RCODE                                                                = 9504
  4454  	DNS_ERROR_RCODE_BADKEY                                                         = 9017
  4455  	DNS_ERROR_RCODE_BADSIG                                                         = 9016
  4456  	DNS_ERROR_RCODE_BADTIME                                                        = 9018
  4457  	DNS_ERROR_RCODE_FORMAT_ERROR                                                   = 9001
  4458  	DNS_ERROR_RCODE_LAST                                                           = 9018
  4459  	DNS_ERROR_RCODE_NAME_ERROR                                                     = 9003
  4460  	DNS_ERROR_RCODE_NOTAUTH                                                        = 9009
  4461  	DNS_ERROR_RCODE_NOTZONE                                                        = 9010
  4462  	DNS_ERROR_RCODE_NOT_IMPLEMENTED                                                = 9004
  4463  	DNS_ERROR_RCODE_NO_ERROR                                                       = 0
  4464  	DNS_ERROR_RCODE_NXRRSET                                                        = 9008
  4465  	DNS_ERROR_RCODE_REFUSED                                                        = 9005
  4466  	DNS_ERROR_RCODE_SERVER_FAILURE                                                 = 9002
  4467  	DNS_ERROR_RCODE_YXDOMAIN                                                       = 9006
  4468  	DNS_ERROR_RCODE_YXRRSET                                                        = 9007
  4469  	DNS_ERROR_RECORD_ALREADY_EXISTS                                                = 9711
  4470  	DNS_ERROR_RECORD_DOES_NOT_EXIST                                                = 9701
  4471  	DNS_ERROR_RECORD_FORMAT                                                        = 9702
  4472  	DNS_ERROR_RECORD_ONLY_AT_ZONE_ROOT                                             = 9710
  4473  	DNS_ERROR_RECORD_TIMED_OUT                                                     = 9705
  4474  	DNS_ERROR_RESPONSE_CODES_BASE                                                  = 9000
  4475  	DNS_ERROR_SECONDARY_DATA                                                       = 9712
  4476  	DNS_ERROR_SECONDARY_REQUIRES_MASTER_IP                                         = 9612
  4477  	DNS_ERROR_SECURE_BASE                                                          = 9800
  4478  	DNS_ERROR_SETUP_BASE                                                           = 9850
  4479  	DNS_ERROR_SOA_DELETE_INVALID                                                   = 9618
  4480  	DNS_ERROR_TRY_AGAIN_LATER                                                      = 9554
  4481  	DNS_ERROR_UNKNOWN_RECORD_TYPE                                                  = 9704
  4482  	DNS_ERROR_UNSECURE_PACKET                                                      = 9505
  4483  	DNS_ERROR_WINS_INIT_FAILED                                                     = 9615
  4484  	DNS_ERROR_ZONE_ALREADY_EXISTS                                                  = 9609
  4485  	DNS_ERROR_ZONE_BASE                                                            = 9600
  4486  	DNS_ERROR_ZONE_CONFIGURATION_ERROR                                             = 9604
  4487  	DNS_ERROR_ZONE_CREATION_FAILED                                                 = 9608
  4488  	DNS_ERROR_ZONE_DOES_NOT_EXIST                                                  = 9601
  4489  	DNS_ERROR_ZONE_HAS_NO_NS_RECORDS                                               = 9606
  4490  	DNS_ERROR_ZONE_HAS_NO_SOA_RECORD                                               = 9605
  4491  	DNS_ERROR_ZONE_IS_SHUTDOWN                                                     = 9621
  4492  	DNS_ERROR_ZONE_LOCKED                                                          = 9607
  4493  	DNS_ERROR_ZONE_NOT_SECONDARY                                                   = 9613
  4494  	DNS_ERROR_ZONE_REQUIRES_MASTER_IP                                              = 9620
  4495  	DNS_FILTEROFF                                                                  = 0x0008
  4496  	DNS_FILTERON                                                                   = 0x0004
  4497  	DNS_INFO_ADDED_LOCAL_WINS                                                      = 9753
  4498  	DNS_INFO_AXFR_COMPLETE                                                         = 9751
  4499  	DNS_INFO_NO_RECORDS                                                            = 9501
  4500  	DNS_REGISTER                                                                   = 0x0001
  4501  	DNS_STATUS_CONTINUE_NEEDED                                                     = 9801
  4502  	DNS_STATUS_DOTTED_NAME                                                         = 9558
  4503  	DNS_STATUS_FQDN                                                                = 9557
  4504  	DNS_STATUS_PACKET_UNSECURE                                                     = 9505
  4505  	DNS_STATUS_SINGLE_PART_NAME                                                    = 9559
  4506  	DNS_UNREGISTER                                                                 = 0x0002
  4507  	DNS_WARNING_DOMAIN_UNDELETED                                                   = 9716
  4508  	DNS_WARNING_PTR_CREATE_FAILED                                                  = 9715
  4509  	DN_DEFAULTPRN                                                                  = 0x1
  4510  	DOCKINFO_DOCKED                                                                = 2
  4511  	DOCKINFO_UNDOCKED                                                              = 1
  4512  	DOCKINFO_USER_DOCKED                                                           = 6
  4513  	DOCKINFO_USER_SUPPLIED                                                         = 4
  4514  	DOCKINFO_USER_UNDOCKED                                                         = 5
  4515  	DOF_DIRECTORY                                                                  = 0x8003
  4516  	DOF_DOCUMENT                                                                   = 0x8002
  4517  	DOF_EXECUTABLE                                                                 = 0x8001
  4518  	DOF_MULTIPLE                                                                   = 0x8004
  4519  	DOF_PROGMAN                                                                    = 0x0001
  4520  	DOF_SHELLDATA                                                                  = 0x0002
  4521  	DOMAIN_ALIAS_RID_ACCESS_CONTROL_ASSISTANCE_OPS                                 = 579
  4522  	DOMAIN_ALIAS_RID_ACCOUNT_OPS                                                   = 548
  4523  	DOMAIN_ALIAS_RID_ADMINS                                                        = 544
  4524  	DOMAIN_ALIAS_RID_AUTHORIZATIONACCESS                                           = 560
  4525  	DOMAIN_ALIAS_RID_BACKUP_OPS                                                    = 551
  4526  	DOMAIN_ALIAS_RID_CACHEABLE_PRINCIPALS_GROUP                                    = 571
  4527  	DOMAIN_ALIAS_RID_CERTSVC_DCOM_ACCESS_GROUP                                     = 574
  4528  	DOMAIN_ALIAS_RID_CRYPTO_OPERATORS                                              = 569
  4529  	DOMAIN_ALIAS_RID_DCOM_USERS                                                    = 562
  4530  	DOMAIN_ALIAS_RID_EVENT_LOG_READERS_GROUP                                       = 573
  4531  	DOMAIN_ALIAS_RID_GUESTS                                                        = 546
  4532  	DOMAIN_ALIAS_RID_HYPER_V_ADMINS                                                = 578
  4533  	DOMAIN_ALIAS_RID_INCOMING_FOREST_TRUST_BUILDERS                                = 557
  4534  	DOMAIN_ALIAS_RID_IUSERS                                                        = 568
  4535  	DOMAIN_ALIAS_RID_LOGGING_USERS                                                 = 559
  4536  	DOMAIN_ALIAS_RID_MONITORING_USERS                                              = 558
  4537  	DOMAIN_ALIAS_RID_NETWORK_CONFIGURATION_OPS                                     = 556
  4538  	DOMAIN_ALIAS_RID_NON_CACHEABLE_PRINCIPALS_GROUP                                = 572
  4539  	DOMAIN_ALIAS_RID_POWER_USERS                                                   = 547
  4540  	DOMAIN_ALIAS_RID_PREW2KCOMPACCESS                                              = 554
  4541  	DOMAIN_ALIAS_RID_PRINT_OPS                                                     = 550
  4542  	DOMAIN_ALIAS_RID_RAS_SERVERS                                                   = 553
  4543  	DOMAIN_ALIAS_RID_RDS_ENDPOINT_SERVERS                                          = 576
  4544  	DOMAIN_ALIAS_RID_RDS_MANAGEMENT_SERVERS                                        = 577
  4545  	DOMAIN_ALIAS_RID_RDS_REMOTE_ACCESS_SERVERS                                     = 575
  4546  	DOMAIN_ALIAS_RID_REMOTE_DESKTOP_USERS                                          = 555
  4547  	DOMAIN_ALIAS_RID_REMOTE_MANAGEMENT_USERS                                       = 580
  4548  	DOMAIN_ALIAS_RID_REPLICATOR                                                    = 552
  4549  	DOMAIN_ALIAS_RID_SYSTEM_OPS                                                    = 549
  4550  	DOMAIN_ALIAS_RID_TS_LICENSE_SERVERS                                            = 561
  4551  	DOMAIN_ALIAS_RID_USERS                                                         = 545
  4552  	DOMAIN_GROUP_RID_ADMINS                                                        = 512
  4553  	DOMAIN_GROUP_RID_AUTHORIZATION_DATA_CONTAINS_CLAIMS                            = 497
  4554  	DOMAIN_GROUP_RID_AUTHORIZATION_DATA_IS_COMPOUNDED                              = 496
  4555  	DOMAIN_GROUP_RID_CERT_ADMINS                                                   = 517
  4556  	DOMAIN_GROUP_RID_CLONEABLE_CONTROLLERS                                         = 522
  4557  	DOMAIN_GROUP_RID_COMPUTERS                                                     = 515
  4558  	DOMAIN_GROUP_RID_CONTROLLERS                                                   = 516
  4559  	DOMAIN_GROUP_RID_ENTERPRISE_ADMINS                                             = 519
  4560  	DOMAIN_GROUP_RID_ENTERPRISE_READONLY_DOMAIN_CONTROLLERS                        = 498
  4561  	DOMAIN_GROUP_RID_GUESTS                                                        = 514
  4562  	DOMAIN_GROUP_RID_POLICY_ADMINS                                                 = 520
  4563  	DOMAIN_GROUP_RID_READONLY_CONTROLLERS                                          = 521
  4564  	DOMAIN_GROUP_RID_SCHEMA_ADMINS                                                 = 518
  4565  	DOMAIN_GROUP_RID_USERS                                                         = 513
  4566  	DOMAIN_USER_RID_ADMIN                                                          = 500
  4567  	DOMAIN_USER_RID_GUEST                                                          = 501
  4568  	DOMAIN_USER_RID_KRBTGT                                                         = 502
  4569  	DOMAIN_USER_RID_MAX                                                            = 999
  4570  	DONT_RESOLVE_DLL_REFERENCES                                                    = 0x1
  4571  	DOUBLE_CLICK                                                                   = 0x2
  4572  	DOWNLOADFACE                                                                   = 514
  4573  	DOWNLOADHEADER                                                                 = 4111
  4574  	DO_DROPFILE                                                                    = 1162627398
  4575  	DO_PRINTFILE                                                                   = 1414419024
  4576  	DPD_DELETE_ALL_FILES                                                           = 0x00000004
  4577  	DPD_DELETE_SPECIFIC_VERSION                                                    = 0x00000002
  4578  	DPD_DELETE_UNUSED_FILES                                                        = 0x00000001
  4579  	DRAFTMODE                                                                      = 7
  4580  	DRAFT_QUALITY                                                                  = 1
  4581  	DRAGDROP_E_FIRST                                                               = 2147746048
  4582  	DRAGDROP_E_LAST                                                                = 2147746063
  4583  	DRAGDROP_S_FIRST                                                               = 262400
  4584  	DRAGDROP_S_LAST                                                                = 262415
  4585  	DRAWPATTERNRECT                                                                = 25
  4586  	DRIVERSPECS_H                                                                  = 0
  4587  	DRIVERVERSION                                                                  = 0
  4588  	DRIVER_KERNELMODE                                                              = 0x00000001
  4589  	DRIVER_USERMODE                                                                = 0x00000002
  4590  	DRIVE_CDROM                                                                    = 5
  4591  	DRIVE_FIXED                                                                    = 3
  4592  	DRIVE_NO_ROOT_DIR                                                              = 1
  4593  	DRIVE_RAMDISK                                                                  = 6
  4594  	DRIVE_REMOTE                                                                   = 4
  4595  	DRIVE_REMOVABLE                                                                = 2
  4596  	DRIVE_UNKNOWN                                                                  = 0
  4597  	DROPEFFECT_COPY                                                                = 1
  4598  	DROPEFFECT_LINK                                                                = 4
  4599  	DROPEFFECT_MOVE                                                                = 2
  4600  	DROPEFFECT_NONE                                                                = 0
  4601  	DROPEFFECT_SCROLL                                                              = 2147483648
  4602  	DRVCNF_CANCEL                                                                  = 0x0000
  4603  	DRVCNF_OK                                                                      = 0x0001
  4604  	DRVCNF_RESTART                                                                 = 0x0002
  4605  	DRV_CANCEL                                                                     = 0
  4606  	DRV_CLOSE                                                                      = 0x0004
  4607  	DRV_CONFIGURE                                                                  = 0x0007
  4608  	DRV_DISABLE                                                                    = 0x0005
  4609  	DRV_ENABLE                                                                     = 0x0002
  4610  	DRV_EXITSESSION                                                                = 0x000B
  4611  	DRV_FREE                                                                       = 0x0006
  4612  	DRV_INSTALL                                                                    = 0x0009
  4613  	DRV_LOAD                                                                       = 0x0001
  4614  	DRV_MCI_FIRST                                                                  = 2048
  4615  	DRV_MCI_LAST                                                                   = 6143
  4616  	DRV_OK                                                                         = 1
  4617  	DRV_OPEN                                                                       = 0x0003
  4618  	DRV_POWER                                                                      = 0x000F
  4619  	DRV_QUERYCONFIGURE                                                             = 0x0008
  4620  	DRV_REMOVE                                                                     = 0x000A
  4621  	DRV_RESERVED                                                                   = 0x0800
  4622  	DRV_RESTART                                                                    = 2
  4623  	DRV_USER                                                                       = 0x4000
  4624  	DSPRINT_PENDING                                                                = 0x80000000
  4625  	DSPRINT_PUBLISH                                                                = 0x00000001
  4626  	DSPRINT_REPUBLISH                                                              = 0x00000008
  4627  	DSPRINT_UNPUBLISH                                                              = 0x00000004
  4628  	DSPRINT_UPDATE                                                                 = 0x00000002
  4629  	DSS_DISABLED                                                                   = 0x0020
  4630  	DSS_HIDEPREFIX                                                                 = 0x0200
  4631  	DSS_MONO                                                                       = 0x0080
  4632  	DSS_NORMAL                                                                     = 0x0000
  4633  	DSS_PREFIXONLY                                                                 = 0x0400
  4634  	DSS_RIGHT                                                                      = 0x8000
  4635  	DSS_UNION                                                                      = 0x0010
  4636  	DST_BITMAP                                                                     = 0x0004
  4637  	DST_COMPLEX                                                                    = 0x0000
  4638  	DST_ICON                                                                       = 0x0003
  4639  	DST_PREFIXTEXT                                                                 = 0x0002
  4640  	DST_TEXT                                                                       = 0x0001
  4641  	DS_3DLOOK                                                                      = 4
  4642  	DS_ABSALIGN                                                                    = 1
  4643  	DS_CENTER                                                                      = 2048
  4644  	DS_CENTERMOUSE                                                                 = 4096
  4645  	DS_CONTEXTHELP                                                                 = 8192
  4646  	DS_CONTROL                                                                     = 1024
  4647  	DS_FIXEDSYS                                                                    = 8
  4648  	DS_LOCALEDIT                                                                   = 32
  4649  	DS_MODALFRAME                                                                  = 128
  4650  	DS_NOFAILCREATE                                                                = 16
  4651  	DS_NOIDLEMSG                                                                   = 256
  4652  	DS_SETFONT                                                                     = 64
  4653  	DS_SETFOREGROUND                                                               = 512
  4654  	DS_SHELLFONT                                                                   = 72
  4655  	DS_SYSMODAL                                                                    = 2
  4656  	DS_S_SUCCESS                                                                   = 0
  4657  	DTR_CONTROL_DISABLE                                                            = 0x0
  4658  	DTR_CONTROL_ENABLE                                                             = 0x1
  4659  	DTR_CONTROL_HANDSHAKE                                                          = 0x2
  4660  	DT_BOTTOM                                                                      = 0x00000008
  4661  	DT_CALCRECT                                                                    = 0x00000400
  4662  	DT_CENTER                                                                      = 0x00000001
  4663  	DT_CHARSTREAM                                                                  = 4
  4664  	DT_DISPFILE                                                                    = 6
  4665  	DT_EDITCONTROL                                                                 = 0x00002000
  4666  	DT_END_ELLIPSIS                                                                = 0x00008000
  4667  	DT_EXPANDTABS                                                                  = 0x00000040
  4668  	DT_EXTERNALLEADING                                                             = 0x00000200
  4669  	DT_HIDEPREFIX                                                                  = 0x00100000
  4670  	DT_INTERNAL                                                                    = 0x00001000
  4671  	DT_LEFT                                                                        = 0x00000000
  4672  	DT_METAFILE                                                                    = 5
  4673  	DT_MODIFYSTRING                                                                = 0x00010000
  4674  	DT_NOCLIP                                                                      = 0x00000100
  4675  	DT_NOFULLWIDTHCHARBREAK                                                        = 0x00080000
  4676  	DT_NOPREFIX                                                                    = 0x00000800
  4677  	DT_PATH_ELLIPSIS                                                               = 0x00004000
  4678  	DT_PLOTTER                                                                     = 0
  4679  	DT_PREFIXONLY                                                                  = 0x00200000
  4680  	DT_RASCAMERA                                                                   = 3
  4681  	DT_RASDISPLAY                                                                  = 1
  4682  	DT_RASPRINTER                                                                  = 2
  4683  	DT_RIGHT                                                                       = 0x00000002
  4684  	DT_RTLREADING                                                                  = 0x00020000
  4685  	DT_SINGLELINE                                                                  = 0x00000020
  4686  	DT_TABSTOP                                                                     = 0x00000080
  4687  	DT_TOP                                                                         = 0x00000000
  4688  	DT_VCENTER                                                                     = 0x00000004
  4689  	DT_WORDBREAK                                                                   = 0x00000010
  4690  	DT_WORD_ELLIPSIS                                                               = 0x00040000
  4691  	DUPLICATE                                                                      = 0x06
  4692  	DUPLICATE_CLOSE_SOURCE                                                         = 0x00000001
  4693  	DUPLICATE_DEREG                                                                = 0x07
  4694  	DUPLICATE_SAME_ACCESS                                                          = 0x00000002
  4695  	DWLP_MSGRESULT                                                                 = 0
  4696  	E2BIG                                                                          = 7
  4697  	EACCES                                                                         = 13
  4698  	EADDRINUSE                                                                     = 100
  4699  	EADDRNOTAVAIL                                                                  = 101
  4700  	EAFNOSUPPORT                                                                   = 102
  4701  	EAGAIN                                                                         = 11
  4702  	EALREADY                                                                       = 103
  4703  	EASTEUROPE_CHARSET                                                             = 238
  4704  	EBADF                                                                          = 9
  4705  	EBADMSG                                                                        = 104
  4706  	EBUSY                                                                          = 16
  4707  	ECANCELED                                                                      = 105
  4708  	ECHILD                                                                         = 10
  4709  	ECONNABORTED                                                                   = 106
  4710  	ECONNREFUSED                                                                   = 107
  4711  	ECONNRESET                                                                     = 108
  4712  	EC_DISABLE                                                                     = 8
  4713  	EC_ENABLEALL                                                                   = 0
  4714  	EC_ENABLEONE                                                                   = 128
  4715  	EC_LEFTMARGIN                                                                  = 0x0001
  4716  	EC_QUERYWAITING                                                                = 2
  4717  	EC_RIGHTMARGIN                                                                 = 0x0002
  4718  	EC_USEFONTINFO                                                                 = 0xffff
  4719  	EDD_GET_DEVICE_INTERFACE_NAME                                                  = 0x00000001
  4720  	EDEADLK                                                                        = 36
  4721  	EDEADLOCK                                                                      = 36
  4722  	EDESTADDRREQ                                                                   = 109
  4723  	EDGE_BUMP                                                                      = 9
  4724  	EDGE_ETCHED                                                                    = 6
  4725  	EDGE_RAISED                                                                    = 5
  4726  	EDGE_SUNKEN                                                                    = 10
  4727  	EDOM                                                                           = 33
  4728  	EDS_RAWMODE                                                                    = 0x00000002
  4729  	EDS_ROTATEDMODE                                                                = 0x00000004
  4730  	EEInfoGCCOM                                                                    = 11
  4731  	EEInfoGCFRS                                                                    = 12
  4732  	EEInfoNextRecordsMissing                                                       = 2
  4733  	EEInfoPreviousRecordsMissing                                                   = 1
  4734  	EEInfoUseFileTime                                                              = 4
  4735  	EEXIST                                                                         = 17
  4736  	EFAULT                                                                         = 14
  4737  	EFBIG                                                                          = 27
  4738  	EFSRPC_SECURE_ONLY                                                             = 8
  4739  	EFS_USE_RECOVERY_KEYS                                                          = 1
  4740  	EHOSTUNREACH                                                                   = 110
  4741  	EIDRM                                                                          = 111
  4742  	EILSEQ                                                                         = 42
  4743  	EIMES_CANCELCOMPSTRINFOCUS                                                     = 0x0002
  4744  	EIMES_COMPLETECOMPSTRKILLFOCUS                                                 = 0x0004
  4745  	EIMES_GETCOMPSTRATONCE                                                         = 0x0001
  4746  	EINPROGRESS                                                                    = 112
  4747  	EINTR                                                                          = 4
  4748  	EINVAL                                                                         = 22
  4749  	EIO                                                                            = 5
  4750  	EISCONN                                                                        = 113
  4751  	EISDIR                                                                         = 21
  4752  	ELEMENT_STATUS_ACCESS                                                          = 0x00000008
  4753  	ELEMENT_STATUS_AVOLTAG                                                         = 0x20000000
  4754  	ELEMENT_STATUS_EXCEPT                                                          = 0x00000004
  4755  	ELEMENT_STATUS_EXENAB                                                          = 0x00000010
  4756  	ELEMENT_STATUS_FULL                                                            = 0x00000001
  4757  	ELEMENT_STATUS_ID_VALID                                                        = 0x00002000
  4758  	ELEMENT_STATUS_IMPEXP                                                          = 0x00000002
  4759  	ELEMENT_STATUS_INENAB                                                          = 0x00000020
  4760  	ELEMENT_STATUS_INVERT                                                          = 0x00400000
  4761  	ELEMENT_STATUS_LUN_VALID                                                       = 0x00001000
  4762  	ELEMENT_STATUS_NOT_BUS                                                         = 0x00008000
  4763  	ELEMENT_STATUS_PRODUCT_DATA                                                    = 0x00000040
  4764  	ELEMENT_STATUS_PVOLTAG                                                         = 0x10000000
  4765  	ELEMENT_STATUS_SVALID                                                          = 0x00800000
  4766  	ELF_CULTURE_LATIN                                                              = 0
  4767  	ELF_VENDOR_SIZE                                                                = 4
  4768  	ELF_VERSION                                                                    = 0
  4769  	ELOOP                                                                          = 114
  4770  	EMARCH_ENC_I17_IC_INST_WORD_POS_X                                              = 12
  4771  	EMARCH_ENC_I17_IC_INST_WORD_X                                                  = 3
  4772  	EMARCH_ENC_I17_IC_SIZE_X                                                       = 1
  4773  	EMARCH_ENC_I17_IC_VAL_POS_X                                                    = 21
  4774  	EMARCH_ENC_I17_IMM41a_INST_WORD_POS_X                                          = 14
  4775  	EMARCH_ENC_I17_IMM41a_INST_WORD_X                                              = 1
  4776  	EMARCH_ENC_I17_IMM41a_SIZE_X                                                   = 10
  4777  	EMARCH_ENC_I17_IMM41a_VAL_POS_X                                                = 22
  4778  	EMARCH_ENC_I17_IMM41b_INST_WORD_POS_X                                          = 24
  4779  	EMARCH_ENC_I17_IMM41b_INST_WORD_X                                              = 1
  4780  	EMARCH_ENC_I17_IMM41b_SIZE_X                                                   = 8
  4781  	EMARCH_ENC_I17_IMM41b_VAL_POS_X                                                = 32
  4782  	EMARCH_ENC_I17_IMM41c_INST_WORD_POS_X                                          = 0
  4783  	EMARCH_ENC_I17_IMM41c_INST_WORD_X                                              = 2
  4784  	EMARCH_ENC_I17_IMM41c_SIZE_X                                                   = 23
  4785  	EMARCH_ENC_I17_IMM41c_VAL_POS_X                                                = 40
  4786  	EMARCH_ENC_I17_IMM5C_INST_WORD_POS_X                                           = 13
  4787  	EMARCH_ENC_I17_IMM5C_INST_WORD_X                                               = 3
  4788  	EMARCH_ENC_I17_IMM5C_SIZE_X                                                    = 5
  4789  	EMARCH_ENC_I17_IMM5C_VAL_POS_X                                                 = 16
  4790  	EMARCH_ENC_I17_IMM7B_INST_WORD_POS_X                                           = 4
  4791  	EMARCH_ENC_I17_IMM7B_INST_WORD_X                                               = 3
  4792  	EMARCH_ENC_I17_IMM7B_SIZE_X                                                    = 7
  4793  	EMARCH_ENC_I17_IMM7B_VAL_POS_X                                                 = 0
  4794  	EMARCH_ENC_I17_IMM9D_INST_WORD_POS_X                                           = 18
  4795  	EMARCH_ENC_I17_IMM9D_INST_WORD_X                                               = 3
  4796  	EMARCH_ENC_I17_IMM9D_SIZE_X                                                    = 9
  4797  	EMARCH_ENC_I17_IMM9D_VAL_POS_X                                                 = 7
  4798  	EMARCH_ENC_I17_SIGN_INST_WORD_POS_X                                            = 27
  4799  	EMARCH_ENC_I17_SIGN_INST_WORD_X                                                = 3
  4800  	EMARCH_ENC_I17_SIGN_SIZE_X                                                     = 1
  4801  	EMARCH_ENC_I17_SIGN_VAL_POS_X                                                  = 63
  4802  	EMBDHLP_CREATENOW                                                              = 0
  4803  	EMBDHLP_DELAYCREATE                                                            = 65536
  4804  	EMBDHLP_INPROC_HANDLER                                                         = 0
  4805  	EMBDHLP_INPROC_SERVER                                                          = 1
  4806  	EMFILE                                                                         = 24
  4807  	EMLINK                                                                         = 31
  4808  	EMR_ABORTPATH                                                                  = 68
  4809  	EMR_ALPHABLEND                                                                 = 114
  4810  	EMR_ANGLEARC                                                                   = 41
  4811  	EMR_ARC                                                                        = 45
  4812  	EMR_ARCTO                                                                      = 55
  4813  	EMR_BEGINPATH                                                                  = 59
  4814  	EMR_BITBLT                                                                     = 76
  4815  	EMR_CHORD                                                                      = 46
  4816  	EMR_CLOSEFIGURE                                                                = 61
  4817  	EMR_COLORCORRECTPALETTE                                                        = 111
  4818  	EMR_COLORMATCHTOTARGETW                                                        = 121
  4819  	EMR_CREATEBRUSHINDIRECT                                                        = 39
  4820  	EMR_CREATECOLORSPACE                                                           = 99
  4821  	EMR_CREATECOLORSPACEW                                                          = 122
  4822  	EMR_CREATEDIBPATTERNBRUSHPT                                                    = 94
  4823  	EMR_CREATEMONOBRUSH                                                            = 93
  4824  	EMR_CREATEPALETTE                                                              = 49
  4825  	EMR_CREATEPEN                                                                  = 38
  4826  	EMR_DELETECOLORSPACE                                                           = 101
  4827  	EMR_DELETEOBJECT                                                               = 40
  4828  	EMR_ELLIPSE                                                                    = 42
  4829  	EMR_ENDPATH                                                                    = 60
  4830  	EMR_EOF                                                                        = 14
  4831  	EMR_EXCLUDECLIPRECT                                                            = 29
  4832  	EMR_EXTCREATEFONTINDIRECTW                                                     = 82
  4833  	EMR_EXTCREATEPEN                                                               = 95
  4834  	EMR_EXTFLOODFILL                                                               = 53
  4835  	EMR_EXTSELECTCLIPRGN                                                           = 75
  4836  	EMR_EXTTEXTOUTA                                                                = 83
  4837  	EMR_EXTTEXTOUTW                                                                = 84
  4838  	EMR_FILLPATH                                                                   = 62
  4839  	EMR_FILLRGN                                                                    = 71
  4840  	EMR_FLATTENPATH                                                                = 65
  4841  	EMR_FRAMERGN                                                                   = 72
  4842  	EMR_GDICOMMENT                                                                 = 70
  4843  	EMR_GLSBOUNDEDRECORD                                                           = 103
  4844  	EMR_GLSRECORD                                                                  = 102
  4845  	EMR_GRADIENTFILL                                                               = 118
  4846  	EMR_HEADER                                                                     = 1
  4847  	EMR_INTERSECTCLIPRECT                                                          = 30
  4848  	EMR_INVERTRGN                                                                  = 73
  4849  	EMR_LINETO                                                                     = 54
  4850  	EMR_MASKBLT                                                                    = 78
  4851  	EMR_MAX                                                                        = 122
  4852  	EMR_MIN                                                                        = 1
  4853  	EMR_MODIFYWORLDTRANSFORM                                                       = 36
  4854  	EMR_MOVETOEX                                                                   = 27
  4855  	EMR_OFFSETCLIPRGN                                                              = 26
  4856  	EMR_PAINTRGN                                                                   = 74
  4857  	EMR_PIE                                                                        = 47
  4858  	EMR_PIXELFORMAT                                                                = 104
  4859  	EMR_PLGBLT                                                                     = 79
  4860  	EMR_POLYBEZIER                                                                 = 2
  4861  	EMR_POLYBEZIER16                                                               = 85
  4862  	EMR_POLYBEZIERTO                                                               = 5
  4863  	EMR_POLYBEZIERTO16                                                             = 88
  4864  	EMR_POLYDRAW                                                                   = 56
  4865  	EMR_POLYDRAW16                                                                 = 92
  4866  	EMR_POLYGON                                                                    = 3
  4867  	EMR_POLYGON16                                                                  = 86
  4868  	EMR_POLYLINE                                                                   = 4
  4869  	EMR_POLYLINE16                                                                 = 87
  4870  	EMR_POLYLINETO                                                                 = 6
  4871  	EMR_POLYLINETO16                                                               = 89
  4872  	EMR_POLYPOLYGON                                                                = 8
  4873  	EMR_POLYPOLYGON16                                                              = 91
  4874  	EMR_POLYPOLYLINE                                                               = 7
  4875  	EMR_POLYPOLYLINE16                                                             = 90
  4876  	EMR_POLYTEXTOUTA                                                               = 96
  4877  	EMR_POLYTEXTOUTW                                                               = 97
  4878  	EMR_REALIZEPALETTE                                                             = 52
  4879  	EMR_RECTANGLE                                                                  = 43
  4880  	EMR_RESERVED_105                                                               = 105
  4881  	EMR_RESERVED_106                                                               = 106
  4882  	EMR_RESERVED_107                                                               = 107
  4883  	EMR_RESERVED_108                                                               = 108
  4884  	EMR_RESERVED_109                                                               = 109
  4885  	EMR_RESERVED_110                                                               = 110
  4886  	EMR_RESERVED_117                                                               = 117
  4887  	EMR_RESERVED_119                                                               = 119
  4888  	EMR_RESERVED_120                                                               = 120
  4889  	EMR_RESIZEPALETTE                                                              = 51
  4890  	EMR_RESTOREDC                                                                  = 34
  4891  	EMR_ROUNDRECT                                                                  = 44
  4892  	EMR_SAVEDC                                                                     = 33
  4893  	EMR_SCALEVIEWPORTEXTEX                                                         = 31
  4894  	EMR_SCALEWINDOWEXTEX                                                           = 32
  4895  	EMR_SELECTCLIPPATH                                                             = 67
  4896  	EMR_SELECTOBJECT                                                               = 37
  4897  	EMR_SELECTPALETTE                                                              = 48
  4898  	EMR_SETARCDIRECTION                                                            = 57
  4899  	EMR_SETBKCOLOR                                                                 = 25
  4900  	EMR_SETBKMODE                                                                  = 18
  4901  	EMR_SETBRUSHORGEX                                                              = 13
  4902  	EMR_SETCOLORADJUSTMENT                                                         = 23
  4903  	EMR_SETCOLORSPACE                                                              = 100
  4904  	EMR_SETDIBITSTODEVICE                                                          = 80
  4905  	EMR_SETICMMODE                                                                 = 98
  4906  	EMR_SETICMPROFILEA                                                             = 112
  4907  	EMR_SETICMPROFILEW                                                             = 113
  4908  	EMR_SETLAYOUT                                                                  = 115
  4909  	EMR_SETMAPMODE                                                                 = 17
  4910  	EMR_SETMAPPERFLAGS                                                             = 16
  4911  	EMR_SETMETARGN                                                                 = 28
  4912  	EMR_SETMITERLIMIT                                                              = 58
  4913  	EMR_SETPALETTEENTRIES                                                          = 50
  4914  	EMR_SETPIXELV                                                                  = 15
  4915  	EMR_SETPOLYFILLMODE                                                            = 19
  4916  	EMR_SETROP2                                                                    = 20
  4917  	EMR_SETSTRETCHBLTMODE                                                          = 21
  4918  	EMR_SETTEXTALIGN                                                               = 22
  4919  	EMR_SETTEXTCOLOR                                                               = 24
  4920  	EMR_SETVIEWPORTEXTEX                                                           = 11
  4921  	EMR_SETVIEWPORTORGEX                                                           = 12
  4922  	EMR_SETWINDOWEXTEX                                                             = 9
  4923  	EMR_SETWINDOWORGEX                                                             = 10
  4924  	EMR_SETWORLDTRANSFORM                                                          = 35
  4925  	EMR_STRETCHBLT                                                                 = 77
  4926  	EMR_STRETCHDIBITS                                                              = 81
  4927  	EMR_STROKEANDFILLPATH                                                          = 63
  4928  	EMR_STROKEPATH                                                                 = 64
  4929  	EMR_TRANSPARENTBLT                                                             = 116
  4930  	EMR_WIDENPATH                                                                  = 66
  4931  	EMSGSIZE                                                                       = 115
  4932  	EMSIS_COMPOSITIONSTRING                                                        = 0x0001
  4933  	EM_CANUNDO                                                                     = 0x00C6
  4934  	EM_CHARFROMPOS                                                                 = 0x00D7
  4935  	EM_EMPTYUNDOBUFFER                                                             = 0x00CD
  4936  	EM_FMTLINES                                                                    = 0x00C8
  4937  	EM_GETFIRSTVISIBLELINE                                                         = 0x00CE
  4938  	EM_GETHANDLE                                                                   = 0x00BD
  4939  	EM_GETIMESTATUS                                                                = 0x00D9
  4940  	EM_GETLIMITTEXT                                                                = 0x00D5
  4941  	EM_GETLINE                                                                     = 0x00C4
  4942  	EM_GETLINECOUNT                                                                = 0x00BA
  4943  	EM_GETMARGINS                                                                  = 0x00D4
  4944  	EM_GETMODIFY                                                                   = 0x00B8
  4945  	EM_GETPASSWORDCHAR                                                             = 0x00D2
  4946  	EM_GETRECT                                                                     = 0x00B2
  4947  	EM_GETSEL                                                                      = 0x00B0
  4948  	EM_GETTHUMB                                                                    = 0x00BE
  4949  	EM_GETWORDBREAKPROC                                                            = 0x00D1
  4950  	EM_LIMITTEXT                                                                   = 0x00C5
  4951  	EM_LINEFROMCHAR                                                                = 0x00C9
  4952  	EM_LINEINDEX                                                                   = 0x00BB
  4953  	EM_LINELENGTH                                                                  = 0x00C1
  4954  	EM_LINESCROLL                                                                  = 0x00B6
  4955  	EM_POSFROMCHAR                                                                 = 0x00D6
  4956  	EM_REPLACESEL                                                                  = 0x00C2
  4957  	EM_SCROLL                                                                      = 0x00B5
  4958  	EM_SCROLLCARET                                                                 = 0x00B7
  4959  	EM_SETHANDLE                                                                   = 0x00BC
  4960  	EM_SETIMESTATUS                                                                = 0x00D8
  4961  	EM_SETLIMITTEXT                                                                = 197
  4962  	EM_SETMARGINS                                                                  = 0x00D3
  4963  	EM_SETMODIFY                                                                   = 0x00B9
  4964  	EM_SETPASSWORDCHAR                                                             = 0x00CC
  4965  	EM_SETREADONLY                                                                 = 0x00CF
  4966  	EM_SETRECT                                                                     = 0x00B3
  4967  	EM_SETRECTNP                                                                   = 0x00B4
  4968  	EM_SETSEL                                                                      = 0x00B1
  4969  	EM_SETTABSTOPS                                                                 = 0x00CB
  4970  	EM_SETWORDBREAKPROC                                                            = 0x00D0
  4971  	EM_UNDO                                                                        = 0x00C7
  4972  	ENABLEDUPLEX                                                                   = 28
  4973  	ENABLEPAIRKERNING                                                              = 769
  4974  	ENABLERELATIVEWIDTHS                                                           = 768
  4975  	ENABLE_AUTO_POSITION                                                           = 0x100
  4976  	ENABLE_DISABLE_AUTOSAVE                                                        = 0xD2
  4977  	ENABLE_DISABLE_AUTO_OFFLINE                                                    = 0xDB
  4978  	ENABLE_ECHO_INPUT                                                              = 0x4
  4979  	ENABLE_EXTENDED_FLAGS                                                          = 0x80
  4980  	ENABLE_INSERT_MODE                                                             = 0x20
  4981  	ENABLE_LINE_INPUT                                                              = 0x2
  4982  	ENABLE_LVB_GRID_WORLDWIDE                                                      = 0x10
  4983  	ENABLE_MOUSE_INPUT                                                             = 0x10
  4984  	ENABLE_PROCESSED_INPUT                                                         = 0x1
  4985  	ENABLE_PROCESSED_OUTPUT                                                        = 0x1
  4986  	ENABLE_QUICK_EDIT_MODE                                                         = 0x40
  4987  	ENABLE_SMART                                                                   = 0xD8
  4988  	ENABLE_VIRTUAL_TERMINAL_INPUT                                                  = 0x200
  4989  	ENABLE_VIRTUAL_TERMINAL_PROCESSING                                             = 0x4
  4990  	ENABLE_WINDOW_INPUT                                                            = 0x8
  4991  	ENABLE_WRAP_AT_EOL_OUTPUT                                                      = 0x2
  4992  	ENAMETOOLONG                                                                   = 38
  4993  	ENCAPSULATED_POSTSCRIPT                                                        = 4116
  4994  	ENCRYPTION_FORMAT_DEFAULT                                                      = 1
  4995  	ENDDOC                                                                         = 11
  4996  	ENDSESSION_CLOSEAPP                                                            = 0x00000001
  4997  	ENDSESSION_CRITICAL                                                            = 0x40000000
  4998  	ENDSESSION_LOGOFF                                                              = 0x80000000
  4999  	END_INTERFACE                                                                  = 0
  5000  	END_PATH                                                                       = 4098
  5001  	ENETDOWN                                                                       = 116
  5002  	ENETRESET                                                                      = 117
  5003  	ENETUNREACH                                                                    = 118
  5004  	ENFILE                                                                         = 23
  5005  	ENHANCED_KEY                                                                   = 0x100
  5006  	ENHMETA_SIGNATURE                                                              = 0x464D4520
  5007  	ENHMETA_STOCK_OBJECT                                                           = 0x80000000
  5008  	ENLISTMENT_ALL_ACCESS                                                          = 983071
  5009  	ENLISTMENT_GENERIC_EXECUTE                                                     = 131100
  5010  	ENLISTMENT_GENERIC_READ                                                        = 131073
  5011  	ENLISTMENT_GENERIC_WRITE                                                       = 131102
  5012  	ENLISTMENT_MAXIMUM_OPTION                                                      = 0x00000001
  5013  	ENLISTMENT_QUERY_INFORMATION                                                   = 1
  5014  	ENLISTMENT_RECOVER                                                             = 4
  5015  	ENLISTMENT_SET_INFORMATION                                                     = 2
  5016  	ENLISTMENT_SUBORDINATE_RIGHTS                                                  = 8
  5017  	ENLISTMENT_SUPERIOR                                                            = 0x00000001
  5018  	ENLISTMENT_SUPERIOR_RIGHTS                                                     = 0x10
  5019  	ENOBUFS                                                                        = 119
  5020  	ENODATA                                                                        = 120
  5021  	ENODEV                                                                         = 19
  5022  	ENOENT                                                                         = 2
  5023  	ENOEXEC                                                                        = 8
  5024  	ENOFILE                                                                        = 2
  5025  	ENOLCK                                                                         = 39
  5026  	ENOLINK                                                                        = 121
  5027  	ENOMEM                                                                         = 12
  5028  	ENOMSG                                                                         = 122
  5029  	ENOPROTOOPT                                                                    = 123
  5030  	ENOSPC                                                                         = 28
  5031  	ENOSR                                                                          = 124
  5032  	ENOSTR                                                                         = 125
  5033  	ENOSYS                                                                         = 40
  5034  	ENOTCONN                                                                       = 126
  5035  	ENOTDIR                                                                        = 20
  5036  	ENOTEMPTY                                                                      = 41
  5037  	ENOTRECOVERABLE                                                                = 127
  5038  	ENOTSOCK                                                                       = 128
  5039  	ENOTSUP                                                                        = 129
  5040  	ENOTTY                                                                         = 25
  5041  	ENUMPAPERBINS                                                                  = 31
  5042  	ENUMPAPERMETRICS                                                               = 34
  5043  	ENUM_ALL_CALENDARS                                                             = 0xffffffff
  5044  	ENUM_E_FIRST                                                                   = 2147746224
  5045  	ENUM_E_LAST                                                                    = 2147746239
  5046  	ENUM_S_FIRST                                                                   = 262576
  5047  	ENUM_S_LAST                                                                    = 262591
  5048  	ENXIO                                                                          = 6
  5049  	EN_ALIGN_LTR_EC                                                                = 0x0700
  5050  	EN_ALIGN_RTL_EC                                                                = 0x0701
  5051  	EN_CHANGE                                                                      = 0x0300
  5052  	EN_ERRSPACE                                                                    = 0x0500
  5053  	EN_HSCROLL                                                                     = 0x0601
  5054  	EN_KILLFOCUS                                                                   = 0x0200
  5055  	EN_MAXTEXT                                                                     = 0x0501
  5056  	EN_SETFOCUS                                                                    = 0x0100
  5057  	EN_UPDATE                                                                      = 0x0400
  5058  	EN_VSCROLL                                                                     = 0x0602
  5059  	EOPNOTSUPP                                                                     = 130
  5060  	EOVERFLOW                                                                      = 132
  5061  	EOWNERDEAD                                                                     = 133
  5062  	EPERM                                                                          = 1
  5063  	EPIPE                                                                          = 32
  5064  	EPROTO                                                                         = 134
  5065  	EPROTONOSUPPORT                                                                = 135
  5066  	EPROTOTYPE                                                                     = 136
  5067  	EPSPRINTING                                                                    = 33
  5068  	EPS_SIGNATURE                                                                  = 0x46535045
  5069  	EPT_S_CANT_CREATE                                                              = 1899
  5070  	EPT_S_CANT_PERFORM_OP                                                          = 1752
  5071  	EPT_S_INVALID_ENTRY                                                            = 1751
  5072  	EPT_S_NOT_REGISTERED                                                           = 1753
  5073  	ERANGE                                                                         = 34
  5074  	EROFS                                                                          = 30
  5075  	ERROR                                                                          = 0
  5076  	ERROR_ABANDONED_WAIT_0                                                         = 735
  5077  	ERROR_ABANDONED_WAIT_63                                                        = 736
  5078  	ERROR_ACCESS_DENIED                                                            = 5
  5079  	ERROR_ACCESS_DISABLED_BY_POLICY                                                = 1260
  5080  	ERROR_ACCESS_DISABLED_WEBBLADE                                                 = 1277
  5081  	ERROR_ACCESS_DISABLED_WEBBLADE_TAMPER                                          = 1278
  5082  	ERROR_ACCOUNT_DISABLED                                                         = 1331
  5083  	ERROR_ACCOUNT_EXPIRED                                                          = 1793
  5084  	ERROR_ACCOUNT_LOCKED_OUT                                                       = 1909
  5085  	ERROR_ACCOUNT_RESTRICTION                                                      = 1327
  5086  	ERROR_ACTIVATION_COUNT_EXCEEDED                                                = 7059
  5087  	ERROR_ACTIVE_CONNECTIONS                                                       = 2402
  5088  	ERROR_ADAP_HDW_ERR                                                             = 57
  5089  	ERROR_ADDRESS_ALREADY_ASSOCIATED                                               = 1227
  5090  	ERROR_ADDRESS_NOT_ASSOCIATED                                                   = 1228
  5091  	ERROR_ADVANCED_INSTALLER_FAILED                                                = 14099
  5092  	ERROR_ALERTED                                                                  = 739
  5093  	ERROR_ALIAS_EXISTS                                                             = 1379
  5094  	ERROR_ALLOTTED_SPACE_EXCEEDED                                                  = 1344
  5095  	ERROR_ALL_NODES_NOT_AVAILABLE                                                  = 5037
  5096  	ERROR_ALL_USER_TRUST_QUOTA_EXCEEDED                                            = 1933
  5097  	ERROR_ALREADY_ASSIGNED                                                         = 85
  5098  	ERROR_ALREADY_EXISTS                                                           = 183
  5099  	ERROR_ALREADY_FIBER                                                            = 1280
  5100  	ERROR_ALREADY_INITIALIZED                                                      = 1247
  5101  	ERROR_ALREADY_REGISTERED                                                       = 1242
  5102  	ERROR_ALREADY_RUNNING_LKG                                                      = 1074
  5103  	ERROR_ALREADY_THREAD                                                           = 1281
  5104  	ERROR_ALREADY_WAITING                                                          = 1904
  5105  	ERROR_AMBIGUOUS_SYSTEM_DEVICE                                                  = 15250
  5106  	ERROR_API_UNAVAILABLE                                                          = 15841
  5107  	ERROR_APPHELP_BLOCK                                                            = 1259
  5108  	ERROR_APPX_INTEGRITY_FAILURE_CLR_NGEN                                          = 15624
  5109  	ERROR_APP_WRONG_OS                                                             = 1151
  5110  	ERROR_ARENA_TRASHED                                                            = 7
  5111  	ERROR_ARITHMETIC_OVERFLOW                                                      = 534
  5112  	ERROR_ATOMIC_LOCKS_NOT_SUPPORTED                                               = 174
  5113  	ERROR_AUTHENTICATION_FIREWALL_FAILED                                           = 1935
  5114  	ERROR_AUTHIP_FAILURE                                                           = 1469
  5115  	ERROR_AUTODATASEG_EXCEEDS_64k                                                  = 199
  5116  	ERROR_BADDB                                                                    = 1009
  5117  	ERROR_BADKEY                                                                   = 1010
  5118  	ERROR_BAD_ARGUMENTS                                                            = 160
  5119  	ERROR_BAD_COMMAND                                                              = 22
  5120  	ERROR_BAD_CONFIGURATION                                                        = 1610
  5121  	ERROR_BAD_DESCRIPTOR_FORMAT                                                    = 1361
  5122  	ERROR_BAD_DEVICE                                                               = 1200
  5123  	ERROR_BAD_DEV_TYPE                                                             = 66
  5124  	ERROR_BAD_DRIVER                                                               = 2001
  5125  	ERROR_BAD_DRIVER_LEVEL                                                         = 119
  5126  	ERROR_BAD_ENVIRONMENT                                                          = 10
  5127  	ERROR_BAD_EXE_FORMAT                                                           = 193
  5128  	ERROR_BAD_FILE_TYPE                                                            = 222
  5129  	ERROR_BAD_FORMAT                                                               = 11
  5130  	ERROR_BAD_IMPERSONATION_LEVEL                                                  = 1346
  5131  	ERROR_BAD_INHERITANCE_ACL                                                      = 1340
  5132  	ERROR_BAD_LENGTH                                                               = 24
  5133  	ERROR_BAD_LOGON_SESSION_STATE                                                  = 1365
  5134  	ERROR_BAD_NETPATH                                                              = 53
  5135  	ERROR_BAD_NET_NAME                                                             = 67
  5136  	ERROR_BAD_NET_RESP                                                             = 58
  5137  	ERROR_BAD_PATHNAME                                                             = 161
  5138  	ERROR_BAD_PIPE                                                                 = 230
  5139  	ERROR_BAD_PROFILE                                                              = 1206
  5140  	ERROR_BAD_PROVIDER                                                             = 1204
  5141  	ERROR_BAD_QUERY_SYNTAX                                                         = 1615
  5142  	ERROR_BAD_RECOVERY_POLICY                                                      = 6012
  5143  	ERROR_BAD_REM_ADAP                                                             = 60
  5144  	ERROR_BAD_THREADID_ADDR                                                        = 159
  5145  	ERROR_BAD_TOKEN_TYPE                                                           = 1349
  5146  	ERROR_BAD_UNIT                                                                 = 20
  5147  	ERROR_BAD_USERNAME                                                             = 2202
  5148  	ERROR_BAD_USER_PROFILE                                                         = 1253
  5149  	ERROR_BAD_VALIDATION_CLASS                                                     = 1348
  5150  	ERROR_BEGINNING_OF_MEDIA                                                       = 1102
  5151  	ERROR_BIDI_DEVICE_OFFLINE                                                      = 13004
  5152  	ERROR_BIDI_ERROR_BASE                                                          = 13000
  5153  	ERROR_BIDI_NOT_SUPPORTED                                                       = 50
  5154  	ERROR_BIDI_SCHEMA_NOT_SUPPORTED                                                = 13005
  5155  	ERROR_BIDI_SCHEMA_READ_ONLY                                                    = 13002
  5156  	ERROR_BIDI_SERVER_OFFLINE                                                      = 13003
  5157  	ERROR_BIDI_STATUS_OK                                                           = 0
  5158  	ERROR_BIDI_STATUS_WARNING                                                      = 13001
  5159  	ERROR_BOOT_ALREADY_ACCEPTED                                                    = 1076
  5160  	ERROR_BROKEN_PIPE                                                              = 109
  5161  	ERROR_BUFFER_OVERFLOW                                                          = 111
  5162  	ERROR_BUSY                                                                     = 170
  5163  	ERROR_BUSY_DRIVE                                                               = 142
  5164  	ERROR_BUS_RESET                                                                = 1111
  5165  	ERROR_CALLBACK_SUPPLIED_INVALID_DATA                                           = 1273
  5166  	ERROR_CALL_NOT_IMPLEMENTED                                                     = 120
  5167  	ERROR_CANCELLED                                                                = 1223
  5168  	ERROR_CANCEL_VIOLATION                                                         = 173
  5169  	ERROR_CANNOT_COPY                                                              = 266
  5170  	ERROR_CANNOT_DETECT_DRIVER_FAILURE                                             = 1080
  5171  	ERROR_CANNOT_DETECT_PROCESS_ABORT                                              = 1081
  5172  	ERROR_CANNOT_FIND_WND_CLASS                                                    = 1407
  5173  	ERROR_CANNOT_IMPERSONATE                                                       = 1368
  5174  	ERROR_CANNOT_MAKE                                                              = 82
  5175  	ERROR_CANNOT_OPEN_PROFILE                                                      = 1205
  5176  	ERROR_CANNOT_SWITCH_RUNLEVEL                                                   = 15400
  5177  	ERROR_CANTOPEN                                                                 = 1011
  5178  	ERROR_CANTREAD                                                                 = 1012
  5179  	ERROR_CANTWRITE                                                                = 1013
  5180  	ERROR_CANT_ACCESS_DOMAIN_INFO                                                  = 1351
  5181  	ERROR_CANT_ACCESS_FILE                                                         = 1920
  5182  	ERROR_CANT_DELETE_LAST_ITEM                                                    = 4335
  5183  	ERROR_CANT_DISABLE_MANDATORY                                                   = 1310
  5184  	ERROR_CANT_EVICT_ACTIVE_NODE                                                   = 5009
  5185  	ERROR_CANT_OPEN_ANONYMOUS                                                      = 1347
  5186  	ERROR_CANT_RESOLVE_FILENAME                                                    = 1921
  5187  	ERROR_CAN_NOT_COMPLETE                                                         = 1003
  5188  	ERROR_CAN_NOT_DEL_LOCAL_WINS                                                   = 4001
  5189  	ERROR_CHECKOUT_REQUIRED                                                        = 221
  5190  	ERROR_CHILD_MUST_BE_VOLATILE                                                   = 1021
  5191  	ERROR_CHILD_NOT_COMPLETE                                                       = 129
  5192  	ERROR_CHILD_WINDOW_MENU                                                        = 1436
  5193  	ERROR_CIRCULAR_DEPENDENCY                                                      = 1059
  5194  	ERROR_CLASS_ALREADY_EXISTS                                                     = 1410
  5195  	ERROR_CLASS_DOES_NOT_EXIST                                                     = 1411
  5196  	ERROR_CLASS_HAS_WINDOWS                                                        = 1412
  5197  	ERROR_CLEANER_CARTRIDGE_INSTALLED                                              = 4340
  5198  	ERROR_CLEANER_CARTRIDGE_SPENT                                                  = 4333
  5199  	ERROR_CLEANER_SLOT_NOT_SET                                                     = 4332
  5200  	ERROR_CLEANER_SLOT_SET                                                         = 4331
  5201  	ERROR_CLIPBOARD_NOT_OPEN                                                       = 1418
  5202  	ERROR_CLIPPING_NOT_SUPPORTED                                                   = 2005
  5203  	ERROR_CLUSCFG_ALREADY_COMMITTED                                                = 5901
  5204  	ERROR_CLUSCFG_ROLLBACK_FAILED                                                  = 5902
  5205  	ERROR_CLUSCFG_SYSTEM_DISK_DRIVE_LETTER_CONFLICT                                = 5903
  5206  	ERROR_CLUSTERLOG_CHKPOINT_NOT_FOUND                                            = 5032
  5207  	ERROR_CLUSTERLOG_CORRUPT                                                       = 5029
  5208  	ERROR_CLUSTERLOG_EXCEEDS_MAXSIZE                                               = 5031
  5209  	ERROR_CLUSTERLOG_NOT_ENOUGH_SPACE                                              = 5033
  5210  	ERROR_CLUSTERLOG_RECORD_EXCEEDS_MAXSIZE                                        = 5030
  5211  	ERROR_CLUSTER_CANT_CREATE_DUP_CLUSTER_NAME                                     = 5900
  5212  	ERROR_CLUSTER_DATABASE_SEQMISMATCH                                             = 5083
  5213  	ERROR_CLUSTER_EVICT_WITHOUT_CLEANUP                                            = 5896
  5214  	ERROR_CLUSTER_GUM_NOT_LOCKER                                                   = 5085
  5215  	ERROR_CLUSTER_INCOMPATIBLE_VERSIONS                                            = 5075
  5216  	ERROR_CLUSTER_INSTANCE_ID_MISMATCH                                             = 5893
  5217  	ERROR_CLUSTER_INVALID_NETWORK                                                  = 5054
  5218  	ERROR_CLUSTER_INVALID_NETWORK_PROVIDER                                         = 5049
  5219  	ERROR_CLUSTER_INVALID_NODE                                                     = 5039
  5220  	ERROR_CLUSTER_INVALID_REQUEST                                                  = 5048
  5221  	ERROR_CLUSTER_IPADDR_IN_USE                                                    = 5057
  5222  	ERROR_CLUSTER_JOIN_ABORTED                                                     = 5074
  5223  	ERROR_CLUSTER_JOIN_IN_PROGRESS                                                 = 5041
  5224  	ERROR_CLUSTER_JOIN_NOT_IN_PROGRESS                                             = 5053
  5225  	ERROR_CLUSTER_LAST_INTERNAL_NETWORK                                            = 5066
  5226  	ERROR_CLUSTER_LOCAL_NODE_NOT_FOUND                                             = 5043
  5227  	ERROR_CLUSTER_MAXNUM_OF_RESOURCES_EXCEEDED                                     = 5076
  5228  	ERROR_CLUSTER_MEMBERSHIP_HALT                                                  = 5892
  5229  	ERROR_CLUSTER_MEMBERSHIP_INVALID_STATE                                         = 5890
  5230  	ERROR_CLUSTER_MISMATCHED_COMPUTER_ACCT_NAME                                    = 5905
  5231  	ERROR_CLUSTER_NETINTERFACE_EXISTS                                              = 5046
  5232  	ERROR_CLUSTER_NETINTERFACE_NOT_FOUND                                           = 5047
  5233  	ERROR_CLUSTER_NETWORK_ALREADY_OFFLINE                                          = 5064
  5234  	ERROR_CLUSTER_NETWORK_ALREADY_ONLINE                                           = 5063
  5235  	ERROR_CLUSTER_NETWORK_EXISTS                                                   = 5044
  5236  	ERROR_CLUSTER_NETWORK_HAS_DEPENDENTS                                           = 5067
  5237  	ERROR_CLUSTER_NETWORK_NOT_FOUND                                                = 5045
  5238  	ERROR_CLUSTER_NETWORK_NOT_FOUND_FOR_IP                                         = 5894
  5239  	ERROR_CLUSTER_NETWORK_NOT_INTERNAL                                             = 5060
  5240  	ERROR_CLUSTER_NODE_ALREADY_DOWN                                                = 5062
  5241  	ERROR_CLUSTER_NODE_ALREADY_HAS_DFS_ROOT                                        = 5088
  5242  	ERROR_CLUSTER_NODE_ALREADY_MEMBER                                              = 5065
  5243  	ERROR_CLUSTER_NODE_ALREADY_UP                                                  = 5061
  5244  	ERROR_CLUSTER_NODE_DOWN                                                        = 5050
  5245  	ERROR_CLUSTER_NODE_EXISTS                                                      = 5040
  5246  	ERROR_CLUSTER_NODE_NOT_FOUND                                                   = 5042
  5247  	ERROR_CLUSTER_NODE_NOT_MEMBER                                                  = 5052
  5248  	ERROR_CLUSTER_NODE_NOT_PAUSED                                                  = 5058
  5249  	ERROR_CLUSTER_NODE_NOT_READY                                                   = 5072
  5250  	ERROR_CLUSTER_NODE_PAUSED                                                      = 5070
  5251  	ERROR_CLUSTER_NODE_SHUTTING_DOWN                                               = 5073
  5252  	ERROR_CLUSTER_NODE_UNREACHABLE                                                 = 5051
  5253  	ERROR_CLUSTER_NODE_UP                                                          = 5056
  5254  	ERROR_CLUSTER_NO_RPC_PACKAGES_REGISTERED                                       = 5081
  5255  	ERROR_CLUSTER_NO_SECURITY_CONTEXT                                              = 5059
  5256  	ERROR_CLUSTER_OLD_VERSION                                                      = 5904
  5257  	ERROR_CLUSTER_OWNER_NOT_IN_PREFLIST                                            = 5082
  5258  	ERROR_CLUSTER_PARAMETER_MISMATCH                                               = 5897
  5259  	ERROR_CLUSTER_PROPERTY_DATA_TYPE_MISMATCH                                      = 5895
  5260  	ERROR_CLUSTER_QUORUMLOG_NOT_FOUND                                              = 5891
  5261  	ERROR_CLUSTER_RESNAME_NOT_FOUND                                                = 5080
  5262  	ERROR_CLUSTER_RESOURCE_TYPE_NOT_FOUND                                          = 5078
  5263  	ERROR_CLUSTER_RESTYPE_NOT_SUPPORTED                                            = 5079
  5264  	ERROR_CLUSTER_SHUTTING_DOWN                                                    = 5022
  5265  	ERROR_CLUSTER_SYSTEM_CONFIG_CHANGED                                            = 5077
  5266  	ERROR_CLUSTER_WRONG_OS_VERSION                                                 = 5899
  5267  	ERROR_COLORSPACE_MISMATCH                                                      = 2021
  5268  	ERROR_COMMITMENT_LIMIT                                                         = 1455
  5269  	ERROR_COM_TASK_STOP_PENDING                                                    = 15501
  5270  	ERROR_CONNECTED_OTHER_PASSWORD                                                 = 2108
  5271  	ERROR_CONNECTED_OTHER_PASSWORD_DEFAULT                                         = 2109
  5272  	ERROR_CONNECTION_ABORTED                                                       = 1236
  5273  	ERROR_CONNECTION_ACTIVE                                                        = 1230
  5274  	ERROR_CONNECTION_COUNT_LIMIT                                                   = 1238
  5275  	ERROR_CONNECTION_INVALID                                                       = 1229
  5276  	ERROR_CONNECTION_REFUSED                                                       = 1225
  5277  	ERROR_CONNECTION_UNAVAIL                                                       = 1201
  5278  	ERROR_CONTEXT_EXPIRED                                                          = 1931
  5279  	ERROR_CONTINUE                                                                 = 1246
  5280  	ERROR_CONTROLLING_IEPORT                                                       = 4329
  5281  	ERROR_CONTROL_ID_NOT_FOUND                                                     = 1421
  5282  	ERROR_CORE_RESOURCE                                                            = 5026
  5283  	ERROR_COUNTER_TIMEOUT                                                          = 1121
  5284  	ERROR_CRC                                                                      = 23
  5285  	ERROR_CREATE_FAILED                                                            = 1631
  5286  	ERROR_CSCSHARE_OFFLINE                                                         = 1262
  5287  	ERROR_CTX_BAD_VIDEO_MODE                                                       = 7025
  5288  	ERROR_CTX_CANNOT_MAKE_EVENTLOG_ENTRY                                           = 7005
  5289  	ERROR_CTX_CLIENT_LICENSE_IN_USE                                                = 7052
  5290  	ERROR_CTX_CLIENT_LICENSE_NOT_SET                                               = 7053
  5291  	ERROR_CTX_CLIENT_QUERY_TIMEOUT                                                 = 7040
  5292  	ERROR_CTX_CLOSE_PENDING                                                        = 7007
  5293  	ERROR_CTX_CONSOLE_CONNECT                                                      = 7042
  5294  	ERROR_CTX_CONSOLE_DISCONNECT                                                   = 7041
  5295  	ERROR_CTX_GRAPHICS_INVALID                                                     = 7035
  5296  	ERROR_CTX_INVALID_MODEMNAME                                                    = 7010
  5297  	ERROR_CTX_INVALID_PD                                                           = 7002
  5298  	ERROR_CTX_INVALID_WD                                                           = 7049
  5299  	ERROR_CTX_LICENSE_CLIENT_INVALID                                               = 7055
  5300  	ERROR_CTX_LICENSE_EXPIRED                                                      = 7056
  5301  	ERROR_CTX_LICENSE_NOT_AVAILABLE                                                = 7054
  5302  	ERROR_CTX_LOGON_DISABLED                                                       = 7037
  5303  	ERROR_CTX_MODEM_INF_NOT_FOUND                                                  = 7009
  5304  	ERROR_CTX_MODEM_RESPONSE_BUSY                                                  = 7015
  5305  	ERROR_CTX_MODEM_RESPONSE_ERROR                                                 = 7011
  5306  	ERROR_CTX_MODEM_RESPONSE_NO_CARRIER                                            = 7013
  5307  	ERROR_CTX_MODEM_RESPONSE_NO_DIALTONE                                           = 7014
  5308  	ERROR_CTX_MODEM_RESPONSE_TIMEOUT                                               = 7012
  5309  	ERROR_CTX_MODEM_RESPONSE_VOICE                                                 = 7016
  5310  	ERROR_CTX_NOT_CONSOLE                                                          = 7038
  5311  	ERROR_CTX_NO_OUTBUF                                                            = 7008
  5312  	ERROR_CTX_PD_NOT_FOUND                                                         = 7003
  5313  	ERROR_CTX_SERVICE_NAME_COLLISION                                               = 7006
  5314  	ERROR_CTX_SHADOW_DENIED                                                        = 7044
  5315  	ERROR_CTX_SHADOW_DISABLED                                                      = 7051
  5316  	ERROR_CTX_SHADOW_ENDED_BY_MODE_CHANGE                                          = 7058
  5317  	ERROR_CTX_SHADOW_INVALID                                                       = 7050
  5318  	ERROR_CTX_SHADOW_NOT_RUNNING                                                   = 7057
  5319  	ERROR_CTX_TD_ERROR                                                             = 7017
  5320  	ERROR_CTX_WD_NOT_FOUND                                                         = 7004
  5321  	ERROR_CTX_WINSTATION_ACCESS_DENIED                                             = 7045
  5322  	ERROR_CTX_WINSTATION_ALREADY_EXISTS                                            = 7023
  5323  	ERROR_CTX_WINSTATION_BUSY                                                      = 7024
  5324  	ERROR_CTX_WINSTATION_NAME_INVALID                                              = 7001
  5325  	ERROR_CTX_WINSTATION_NOT_FOUND                                                 = 7022
  5326  	ERROR_CURRENT_DIRECTORY                                                        = 16
  5327  	ERROR_CURRENT_DOMAIN_NOT_ALLOWED                                               = 1399
  5328  	ERROR_DATABASE_BACKUP_CORRUPT                                                  = 5087
  5329  	ERROR_DATABASE_DOES_NOT_EXIST                                                  = 1065
  5330  	ERROR_DATABASE_FAILURE                                                         = 4313
  5331  	ERROR_DATABASE_FULL                                                            = 4314
  5332  	ERROR_DATATYPE_MISMATCH                                                        = 1629
  5333  	ERROR_DC_NOT_FOUND                                                             = 1425
  5334  	ERROR_DDE_FAIL                                                                 = 1156
  5335  	ERROR_DEBUGGER_INACTIVE                                                        = 1284
  5336  	ERROR_DECRYPTION_FAILED                                                        = 6001
  5337  	ERROR_DELAY_LOAD_FAILED                                                        = 1285
  5338  	ERROR_DELETE_PENDING                                                           = 303
  5339  	ERROR_DELETING_EXISTING_APPLICATIONDATA_STORE_FAILED                           = 15621
  5340  	ERROR_DELETING_ICM_XFORM                                                       = 2019
  5341  	ERROR_DEPENDENCY_ALREADY_EXISTS                                                = 5003
  5342  	ERROR_DEPENDENCY_NOT_ALLOWED                                                   = 5069
  5343  	ERROR_DEPENDENCY_NOT_FOUND                                                     = 5002
  5344  	ERROR_DEPENDENT_RESOURCE_EXISTS                                                = 5001
  5345  	ERROR_DEPENDENT_SERVICES_RUNNING                                               = 1051
  5346  	ERROR_DEPLOYMENT_BLOCKED_BY_POLICY                                             = 15617
  5347  	ERROR_DESTINATION_ELEMENT_FULL                                                 = 1161
  5348  	ERROR_DESTROY_OBJECT_OF_OTHER_THREAD                                           = 1435
  5349  	ERROR_DEVICE_ALREADY_REMEMBERED                                                = 1202
  5350  	ERROR_DEVICE_DOOR_OPEN                                                         = 1166
  5351  	ERROR_DEVICE_IN_USE                                                            = 2404
  5352  	ERROR_DEVICE_NOT_AVAILABLE                                                     = 4319
  5353  	ERROR_DEVICE_NOT_CONNECTED                                                     = 1167
  5354  	ERROR_DEVICE_NOT_PARTITIONED                                                   = 1107
  5355  	ERROR_DEVICE_REINITIALIZATION_NEEDED                                           = 1164
  5356  	ERROR_DEVICE_REMOVED                                                           = 1617
  5357  	ERROR_DEVICE_REQUIRES_CLEANING                                                 = 1165
  5358  	ERROR_DEV_NOT_EXIST                                                            = 55
  5359  	ERROR_DHCP_ADDRESS_CONFLICT                                                    = 4100
  5360  	ERROR_DIFFERENT_SERVICE_ACCOUNT                                                = 1079
  5361  	ERROR_DIRECTORY                                                                = 267
  5362  	ERROR_DIRECT_ACCESS_HANDLE                                                     = 130
  5363  	ERROR_DIR_EFS_DISALLOWED                                                       = 6010
  5364  	ERROR_DIR_NOT_EMPTY                                                            = 145
  5365  	ERROR_DIR_NOT_ROOT                                                             = 144
  5366  	ERROR_DISCARDED                                                                = 157
  5367  	ERROR_DISK_CHANGE                                                              = 107
  5368  	ERROR_DISK_CORRUPT                                                             = 1393
  5369  	ERROR_DISK_FULL                                                                = 112
  5370  	ERROR_DISK_OPERATION_FAILED                                                    = 1127
  5371  	ERROR_DISK_RECALIBRATE_FAILED                                                  = 1126
  5372  	ERROR_DISK_RESET_FAILED                                                        = 1128
  5373  	ERROR_DISK_TOO_FRAGMENTED                                                      = 302
  5374  	ERROR_DLL_INIT_FAILED                                                          = 1114
  5375  	ERROR_DLL_NOT_FOUND                                                            = 1157
  5376  	ERROR_DOMAIN_CONTROLLER_EXISTS                                                 = 1250
  5377  	ERROR_DOMAIN_CONTROLLER_NOT_FOUND                                              = 1908
  5378  	ERROR_DOMAIN_EXISTS                                                            = 1356
  5379  	ERROR_DOMAIN_LIMIT_EXCEEDED                                                    = 1357
  5380  	ERROR_DOMAIN_TRUST_INCONSISTENT                                                = 1810
  5381  	ERROR_DOWNGRADE_DETECTED                                                       = 1265
  5382  	ERROR_DRIVER_BLOCKED                                                           = 1275
  5383  	ERROR_DRIVE_LOCKED                                                             = 108
  5384  	ERROR_DRIVE_MEDIA_MISMATCH                                                     = 4303
  5385  	ERROR_DRIVE_NOT_INSTALLED                                                      = 0x00000008
  5386  	ERROR_DS_ADD_REPLICA_INHIBITED                                                 = 8302
  5387  	ERROR_DS_ADMIN_LIMIT_EXCEEDED                                                  = 8228
  5388  	ERROR_DS_AFFECTS_MULTIPLE_DSAS                                                 = 8249
  5389  	ERROR_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER                                         = 8578
  5390  	ERROR_DS_ALIASED_OBJ_MISSING                                                   = 8334
  5391  	ERROR_DS_ALIAS_DEREF_PROBLEM                                                   = 8244
  5392  	ERROR_DS_ALIAS_POINTS_TO_ALIAS                                                 = 8336
  5393  	ERROR_DS_ALIAS_PROBLEM                                                         = 8241
  5394  	ERROR_DS_ATTRIBUTE_OR_VALUE_EXISTS                                             = 8205
  5395  	ERROR_DS_ATTRIBUTE_OWNED_BY_SAM                                                = 8346
  5396  	ERROR_DS_ATTRIBUTE_TYPE_UNDEFINED                                              = 8204
  5397  	ERROR_DS_ATT_ALREADY_EXISTS                                                    = 8318
  5398  	ERROR_DS_ATT_IS_NOT_ON_OBJ                                                     = 8310
  5399  	ERROR_DS_ATT_NOT_DEF_FOR_CLASS                                                 = 8317
  5400  	ERROR_DS_ATT_NOT_DEF_IN_SCHEMA                                                 = 8303
  5401  	ERROR_DS_ATT_SCHEMA_REQ_ID                                                     = 8399
  5402  	ERROR_DS_ATT_SCHEMA_REQ_SYNTAX                                                 = 8416
  5403  	ERROR_DS_ATT_VAL_ALREADY_EXISTS                                                = 8323
  5404  	ERROR_DS_AUTHORIZATION_FAILED                                                  = 8599
  5405  	ERROR_DS_AUTH_METHOD_NOT_SUPPORTED                                             = 8231
  5406  	ERROR_DS_AUTH_UNKNOWN                                                          = 8234
  5407  	ERROR_DS_AUX_CLS_TEST_FAIL                                                     = 8389
  5408  	ERROR_DS_BACKLINK_WITHOUT_LINK                                                 = 8482
  5409  	ERROR_DS_BAD_ATT_SCHEMA_SYNTAX                                                 = 8400
  5410  	ERROR_DS_BAD_HIERARCHY_FILE                                                    = 8425
  5411  	ERROR_DS_BAD_INSTANCE_TYPE                                                     = 8313
  5412  	ERROR_DS_BAD_NAME_SYNTAX                                                       = 8335
  5413  	ERROR_DS_BAD_RDN_ATT_ID_SYNTAX                                                 = 8392
  5414  	ERROR_DS_BUILD_HIERARCHY_TABLE_FAILED                                          = 8426
  5415  	ERROR_DS_BUSY                                                                  = 8206
  5416  	ERROR_DS_CANT_ACCESS_REMOTE_PART_OF_AD                                         = 8585
  5417  	ERROR_DS_CANT_ADD_ATT_VALUES                                                   = 8320
  5418  	ERROR_DS_CANT_ADD_SYSTEM_ONLY                                                  = 8358
  5419  	ERROR_DS_CANT_ADD_TO_GC                                                        = 8550
  5420  	ERROR_DS_CANT_CACHE_ATT                                                        = 8401
  5421  	ERROR_DS_CANT_CACHE_CLASS                                                      = 8402
  5422  	ERROR_DS_CANT_CREATE_IN_NONDOMAIN_NC                                           = 8553
  5423  	ERROR_DS_CANT_CREATE_UNDER_SCHEMA                                              = 8510
  5424  	ERROR_DS_CANT_DELETE                                                           = 8398
  5425  	ERROR_DS_CANT_DELETE_DSA_OBJ                                                   = 8340
  5426  	ERROR_DS_CANT_DEL_MASTER_CROSSREF                                              = 8375
  5427  	ERROR_DS_CANT_DEMOTE_WITH_WRITEABLE_NC                                         = 8604
  5428  	ERROR_DS_CANT_DEREF_ALIAS                                                      = 8337
  5429  	ERROR_DS_CANT_DERIVE_SPN_FOR_DELETED_DOMAIN                                    = 8603
  5430  	ERROR_DS_CANT_DERIVE_SPN_WITHOUT_SERVER_REF                                    = 8589
  5431  	ERROR_DS_CANT_FIND_DC_FOR_SRC_DOMAIN                                           = 8537
  5432  	ERROR_DS_CANT_FIND_DSA_OBJ                                                     = 8419
  5433  	ERROR_DS_CANT_FIND_EXPECTED_NC                                                 = 8420
  5434  	ERROR_DS_CANT_FIND_NC_IN_CACHE                                                 = 8421
  5435  	ERROR_DS_CANT_MIX_MASTER_AND_REPS                                              = 8331
  5436  	ERROR_DS_CANT_MOD_OBJ_CLASS                                                    = 8215
  5437  	ERROR_DS_CANT_MOD_PRIMARYGROUPID                                               = 8506
  5438  	ERROR_DS_CANT_MOD_SYSTEM_ONLY                                                  = 8369
  5439  	ERROR_DS_CANT_MOVE_ACCOUNT_GROUP                                               = 8498
  5440  	ERROR_DS_CANT_MOVE_APP_BASIC_GROUP                                             = 8608
  5441  	ERROR_DS_CANT_MOVE_APP_QUERY_GROUP                                             = 8609
  5442  	ERROR_DS_CANT_MOVE_DELETED_OBJECT                                              = 8489
  5443  	ERROR_DS_CANT_MOVE_RESOURCE_GROUP                                              = 8499
  5444  	ERROR_DS_CANT_ON_NON_LEAF                                                      = 8213
  5445  	ERROR_DS_CANT_ON_RDN                                                           = 8214
  5446  	ERROR_DS_CANT_REMOVE_ATT_CACHE                                                 = 8403
  5447  	ERROR_DS_CANT_REMOVE_CLASS_CACHE                                               = 8404
  5448  	ERROR_DS_CANT_REM_MISSING_ATT                                                  = 8324
  5449  	ERROR_DS_CANT_REM_MISSING_ATT_VAL                                              = 8325
  5450  	ERROR_DS_CANT_REPLACE_HIDDEN_REC                                               = 8424
  5451  	ERROR_DS_CANT_RETRIEVE_ATTS                                                    = 8481
  5452  	ERROR_DS_CANT_RETRIEVE_CHILD                                                   = 8422
  5453  	ERROR_DS_CANT_RETRIEVE_DN                                                      = 8405
  5454  	ERROR_DS_CANT_RETRIEVE_INSTANCE                                                = 8407
  5455  	ERROR_DS_CANT_RETRIEVE_SD                                                      = 8526
  5456  	ERROR_DS_CANT_START                                                            = 8531
  5457  	ERROR_DS_CANT_TREE_DELETE_CRITICAL_OBJ                                         = 8560
  5458  	ERROR_DS_CANT_WITH_ACCT_GROUP_MEMBERSHPS                                       = 8493
  5459  	ERROR_DS_CHILDREN_EXIST                                                        = 8332
  5460  	ERROR_DS_CLASS_MUST_BE_CONCRETE                                                = 8359
  5461  	ERROR_DS_CLASS_NOT_DSA                                                         = 8343
  5462  	ERROR_DS_CLIENT_LOOP                                                           = 8259
  5463  	ERROR_DS_CODE_INCONSISTENCY                                                    = 8408
  5464  	ERROR_DS_COMPARE_FALSE                                                         = 8229
  5465  	ERROR_DS_COMPARE_TRUE                                                          = 8230
  5466  	ERROR_DS_CONFIDENTIALITY_REQUIRED                                              = 8237
  5467  	ERROR_DS_CONFIG_PARAM_MISSING                                                  = 8427
  5468  	ERROR_DS_CONSTRAINT_VIOLATION                                                  = 8239
  5469  	ERROR_DS_CONSTRUCTED_ATT_MOD                                                   = 8475
  5470  	ERROR_DS_CONTROL_NOT_FOUND                                                     = 8258
  5471  	ERROR_DS_COULDNT_CONTACT_FSMO                                                  = 8367
  5472  	ERROR_DS_COULDNT_IDENTIFY_OBJECTS_FOR_TREE_DELETE                              = 8503
  5473  	ERROR_DS_COULDNT_LOCK_TREE_FOR_DELETE                                          = 8502
  5474  	ERROR_DS_COULDNT_UPDATE_SPNS                                                   = 8525
  5475  	ERROR_DS_COUNTING_AB_INDICES_FAILED                                            = 8428
  5476  	ERROR_DS_CROSS_DOMAIN_CLEANUP_REQD                                             = 8491
  5477  	ERROR_DS_CROSS_DOM_MOVE_ERROR                                                  = 8216
  5478  	ERROR_DS_CROSS_NC_DN_RENAME                                                    = 8368
  5479  	ERROR_DS_CROSS_REF_BUSY                                                        = 8602
  5480  	ERROR_DS_CROSS_REF_EXISTS                                                      = 8374
  5481  	ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE                                             = 8495
  5482  	ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE_V2                                          = 8586
  5483  	ERROR_DS_DATABASE_ERROR                                                        = 8409
  5484  	ERROR_DS_DECODING_ERROR                                                        = 8253
  5485  	ERROR_DS_DESTINATION_AUDITING_NOT_ENABLED                                      = 8536
  5486  	ERROR_DS_DESTINATION_DOMAIN_NOT_IN_FOREST                                      = 8535
  5487  	ERROR_DS_DIFFERENT_REPL_EPOCHS                                                 = 8593
  5488  	ERROR_DS_DISALLOWED_IN_SYSTEM_CONTAINER                                        = 8615
  5489  	ERROR_DS_DNS_LOOKUP_FAILURE                                                    = 8524
  5490  	ERROR_DS_DOMAIN_RENAME_IN_PROGRESS                                             = 8612
  5491  	ERROR_DS_DOMAIN_VERSION_TOO_HIGH                                               = 8564
  5492  	ERROR_DS_DOMAIN_VERSION_TOO_LOW                                                = 8566
  5493  	ERROR_DS_DRA_ABANDON_SYNC                                                      = 8462
  5494  	ERROR_DS_DRA_ACCESS_DENIED                                                     = 8453
  5495  	ERROR_DS_DRA_BAD_DN                                                            = 8439
  5496  	ERROR_DS_DRA_BAD_INSTANCE_TYPE                                                 = 8445
  5497  	ERROR_DS_DRA_BAD_NC                                                            = 8440
  5498  	ERROR_DS_DRA_BUSY                                                              = 8438
  5499  	ERROR_DS_DRA_CONNECTION_FAILED                                                 = 8444
  5500  	ERROR_DS_DRA_DB_ERROR                                                          = 8451
  5501  	ERROR_DS_DRA_DN_EXISTS                                                         = 8441
  5502  	ERROR_DS_DRA_EARLIER_SCHEMA_CONFLICT                                           = 8544
  5503  	ERROR_DS_DRA_EXTN_CONNECTION_FAILED                                            = 8466
  5504  	ERROR_DS_DRA_GENERIC                                                           = 8436
  5505  	ERROR_DS_DRA_INCOMPATIBLE_PARTIAL_SET                                          = 8464
  5506  	ERROR_DS_DRA_INCONSISTENT_DIT                                                  = 8443
  5507  	ERROR_DS_DRA_INTERNAL_ERROR                                                    = 8442
  5508  	ERROR_DS_DRA_INVALID_PARAMETER                                                 = 8437
  5509  	ERROR_DS_DRA_MAIL_PROBLEM                                                      = 8447
  5510  	ERROR_DS_DRA_MISSING_PARENT                                                    = 8460
  5511  	ERROR_DS_DRA_NAME_COLLISION                                                    = 8458
  5512  	ERROR_DS_DRA_NOT_SUPPORTED                                                     = 8454
  5513  	ERROR_DS_DRA_NO_REPLICA                                                        = 8452
  5514  	ERROR_DS_DRA_OBJ_IS_REP_SOURCE                                                 = 8450
  5515  	ERROR_DS_DRA_OBJ_NC_MISMATCH                                                   = 8545
  5516  	ERROR_DS_DRA_OUT_OF_MEM                                                        = 8446
  5517  	ERROR_DS_DRA_OUT_SCHEDULE_WINDOW                                               = 8617
  5518  	ERROR_DS_DRA_PREEMPTED                                                         = 8461
  5519  	ERROR_DS_DRA_REF_ALREADY_EXISTS                                                = 8448
  5520  	ERROR_DS_DRA_REF_NOT_FOUND                                                     = 8449
  5521  	ERROR_DS_DRA_REPL_PENDING                                                      = 8477
  5522  	ERROR_DS_DRA_RPC_CANCELLED                                                     = 8455
  5523  	ERROR_DS_DRA_SCHEMA_CONFLICT                                                   = 8543
  5524  	ERROR_DS_DRA_SCHEMA_INFO_SHIP                                                  = 8542
  5525  	ERROR_DS_DRA_SCHEMA_MISMATCH                                                   = 8418
  5526  	ERROR_DS_DRA_SHUTDOWN                                                          = 8463
  5527  	ERROR_DS_DRA_SINK_DISABLED                                                     = 8457
  5528  	ERROR_DS_DRA_SOURCE_DISABLED                                                   = 8456
  5529  	ERROR_DS_DRA_SOURCE_IS_PARTIAL_REPLICA                                         = 8465
  5530  	ERROR_DS_DRA_SOURCE_REINSTALLED                                                = 8459
  5531  	ERROR_DS_DRS_EXTENSIONS_CHANGED                                                = 8594
  5532  	ERROR_DS_DSA_MUST_BE_INT_MASTER                                                = 8342
  5533  	ERROR_DS_DST_DOMAIN_NOT_NATIVE                                                 = 8496
  5534  	ERROR_DS_DST_NC_MISMATCH                                                       = 8486
  5535  	ERROR_DS_DS_REQUIRED                                                           = 8478
  5536  	ERROR_DS_DUPLICATE_ID_FOUND                                                    = 8605
  5537  	ERROR_DS_DUP_LDAP_DISPLAY_NAME                                                 = 8382
  5538  	ERROR_DS_DUP_LINK_ID                                                           = 8468
  5539  	ERROR_DS_DUP_MAPI_ID                                                           = 8380
  5540  	ERROR_DS_DUP_MSDS_INTID                                                        = 8597
  5541  	ERROR_DS_DUP_OID                                                               = 8379
  5542  	ERROR_DS_DUP_RDN                                                               = 8378
  5543  	ERROR_DS_DUP_SCHEMA_ID_GUID                                                    = 8381
  5544  	ERROR_DS_ENCODING_ERROR                                                        = 8252
  5545  	ERROR_DS_EPOCH_MISMATCH                                                        = 8483
  5546  	ERROR_DS_EXISTING_AD_CHILD_NC                                                  = 8613
  5547  	ERROR_DS_EXISTS_IN_AUX_CLS                                                     = 8393
  5548  	ERROR_DS_EXISTS_IN_MAY_HAVE                                                    = 8386
  5549  	ERROR_DS_EXISTS_IN_MUST_HAVE                                                   = 8385
  5550  	ERROR_DS_EXISTS_IN_POSS_SUP                                                    = 8395
  5551  	ERROR_DS_EXISTS_IN_RDNATTID                                                    = 8598
  5552  	ERROR_DS_EXISTS_IN_SUB_CLS                                                     = 8394
  5553  	ERROR_DS_FILTER_UNKNOWN                                                        = 8254
  5554  	ERROR_DS_FILTER_USES_CONTRUCTED_ATTRS                                          = 8555
  5555  	ERROR_DS_FOREST_VERSION_TOO_HIGH                                               = 8563
  5556  	ERROR_DS_FOREST_VERSION_TOO_LOW                                                = 8565
  5557  	ERROR_DS_GCVERIFY_ERROR                                                        = 8417
  5558  	ERROR_DS_GC_NOT_AVAILABLE                                                      = 8217
  5559  	ERROR_DS_GC_REQUIRED                                                           = 8547
  5560  	ERROR_DS_GENERIC_ERROR                                                         = 8341
  5561  	ERROR_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER                                   = 8519
  5562  	ERROR_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER                                         = 8516
  5563  	ERROR_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER                                     = 8517
  5564  	ERROR_DS_GOVERNSID_MISSING                                                     = 8410
  5565  	ERROR_DS_GROUP_CONVERSION_ERROR                                                = 8607
  5566  	ERROR_DS_HAVE_PRIMARY_MEMBERS                                                  = 8521
  5567  	ERROR_DS_HIERARCHY_TABLE_MALLOC_FAILED                                         = 8429
  5568  	ERROR_DS_ILLEGAL_BASE_SCHEMA_MOD                                               = 8507
  5569  	ERROR_DS_ILLEGAL_MOD_OPERATION                                                 = 8311
  5570  	ERROR_DS_ILLEGAL_SUPERIOR                                                      = 8345
  5571  	ERROR_DS_ILLEGAL_XDOM_MOVE_OPERATION                                           = 8492
  5572  	ERROR_DS_INAPPROPRIATE_AUTH                                                    = 8233
  5573  	ERROR_DS_INAPPROPRIATE_MATCHING                                                = 8238
  5574  	ERROR_DS_INCOMPATIBLE_CONTROLS_USED                                            = 8574
  5575  	ERROR_DS_INCOMPATIBLE_VERSION                                                  = 8567
  5576  	ERROR_DS_INCORRECT_ROLE_OWNER                                                  = 8210
  5577  	ERROR_DS_INIT_FAILURE                                                          = 8532
  5578  	ERROR_DS_INIT_FAILURE_CONSOLE                                                  = 8561
  5579  	ERROR_DS_INSTALL_NO_SCH_VERSION_IN_INIFILE                                     = 8512
  5580  	ERROR_DS_INSTALL_NO_SRC_SCH_VERSION                                            = 8511
  5581  	ERROR_DS_INSTALL_SCHEMA_MISMATCH                                               = 8467
  5582  	ERROR_DS_INSUFFICIENT_ATTR_TO_CREATE_OBJECT                                    = 8606
  5583  	ERROR_DS_INSUFF_ACCESS_RIGHTS                                                  = 8344
  5584  	ERROR_DS_INTERNAL_FAILURE                                                      = 8430
  5585  	ERROR_DS_INVALID_ATTRIBUTE_SYNTAX                                              = 8203
  5586  	ERROR_DS_INVALID_DMD                                                           = 8360
  5587  	ERROR_DS_INVALID_DN_SYNTAX                                                     = 8242
  5588  	ERROR_DS_INVALID_GROUP_TYPE                                                    = 8513
  5589  	ERROR_DS_INVALID_LDAP_DISPLAY_NAME                                             = 8479
  5590  	ERROR_DS_INVALID_NAME_FOR_SPN                                                  = 8554
  5591  	ERROR_DS_INVALID_ROLE_OWNER                                                    = 8366
  5592  	ERROR_DS_INVALID_SCRIPT                                                        = 8600
  5593  	ERROR_DS_INVALID_SEARCH_FLAG                                                   = 8500
  5594  	ERROR_DS_IS_LEAF                                                               = 8243
  5595  	ERROR_DS_KEY_NOT_UNIQUE                                                        = 8527
  5596  	ERROR_DS_LDAP_SEND_QUEUE_FULL                                                  = 8616
  5597  	ERROR_DS_LINK_ID_NOT_AVAILABLE                                                 = 8577
  5598  	ERROR_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER                              = 8520
  5599  	ERROR_DS_LOCAL_ERROR                                                           = 8251
  5600  	ERROR_DS_LOCAL_MEMBER_OF_LOCAL_ONLY                                            = 8548
  5601  	ERROR_DS_LOOP_DETECT                                                           = 8246
  5602  	ERROR_DS_LOW_DSA_VERSION                                                       = 8568
  5603  	ERROR_DS_MACHINE_ACCOUNT_CREATED_PRENT4                                        = 8572
  5604  	ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED                                        = 8557
  5605  	ERROR_DS_MASTERDSA_REQUIRED                                                    = 8314
  5606  	ERROR_DS_MAX_OBJ_SIZE_EXCEEDED                                                 = 8304
  5607  	ERROR_DS_MEMBERSHIP_EVALUATED_LOCALLY                                          = 8201
  5608  	ERROR_DS_MISSING_EXPECTED_ATT                                                  = 8411
  5609  	ERROR_DS_MISSING_FSMO_SETTINGS                                                 = 8434
  5610  	ERROR_DS_MISSING_INFRASTRUCTURE_CONTAINER                                      = 8497
  5611  	ERROR_DS_MISSING_REQUIRED_ATT                                                  = 8316
  5612  	ERROR_DS_MISSING_SUPREF                                                        = 8406
  5613  	ERROR_DS_MODIFYDN_DISALLOWED_BY_FLAG                                           = 8581
  5614  	ERROR_DS_MODIFYDN_DISALLOWED_BY_INSTANCE_TYPE                                  = 8579
  5615  	ERROR_DS_MODIFYDN_WRONG_GRANDPARENT                                            = 8582
  5616  	ERROR_DS_MUST_BE_RUN_ON_DST_DC                                                 = 8558
  5617  	ERROR_DS_NAME_ERROR_DOMAIN_ONLY                                                = 8473
  5618  	ERROR_DS_NAME_ERROR_NOT_FOUND                                                  = 8470
  5619  	ERROR_DS_NAME_ERROR_NOT_UNIQUE                                                 = 8471
  5620  	ERROR_DS_NAME_ERROR_NO_MAPPING                                                 = 8472
  5621  	ERROR_DS_NAME_ERROR_NO_SYNTACTICAL_MAPPING                                     = 8474
  5622  	ERROR_DS_NAME_ERROR_RESOLVING                                                  = 8469
  5623  	ERROR_DS_NAME_ERROR_TRUST_REFERRAL                                             = 8583
  5624  	ERROR_DS_NAME_NOT_UNIQUE                                                       = 8571
  5625  	ERROR_DS_NAME_REFERENCE_INVALID                                                = 8373
  5626  	ERROR_DS_NAME_TOO_LONG                                                         = 8348
  5627  	ERROR_DS_NAME_TOO_MANY_PARTS                                                   = 8347
  5628  	ERROR_DS_NAME_TYPE_UNKNOWN                                                     = 8351
  5629  	ERROR_DS_NAME_UNPARSEABLE                                                      = 8350
  5630  	ERROR_DS_NAME_VALUE_TOO_LONG                                                   = 8349
  5631  	ERROR_DS_NAMING_MASTER_GC                                                      = 8523
  5632  	ERROR_DS_NAMING_VIOLATION                                                      = 8247
  5633  	ERROR_DS_NCNAME_MISSING_CR_REF                                                 = 8412
  5634  	ERROR_DS_NCNAME_MUST_BE_NC                                                     = 8357
  5635  	ERROR_DS_NC_MUST_HAVE_NC_PARENT                                                = 8494
  5636  	ERROR_DS_NC_STILL_HAS_DSAS                                                     = 8546
  5637  	ERROR_DS_NONEXISTENT_MAY_HAVE                                                  = 8387
  5638  	ERROR_DS_NONEXISTENT_MUST_HAVE                                                 = 8388
  5639  	ERROR_DS_NONEXISTENT_POSS_SUP                                                  = 8390
  5640  	ERROR_DS_NONSAFE_SCHEMA_CHANGE                                                 = 8508
  5641  	ERROR_DS_NON_BASE_SEARCH                                                       = 8480
  5642  	ERROR_DS_NOTIFY_FILTER_TOO_COMPLEX                                             = 8377
  5643  	ERROR_DS_NOT_AN_OBJECT                                                         = 8352
  5644  	ERROR_DS_NOT_AUTHORITIVE_FOR_DST_NC                                            = 8487
  5645  	ERROR_DS_NOT_CLOSEST                                                           = 8588
  5646  	ERROR_DS_NOT_INSTALLED                                                         = 8200
  5647  	ERROR_DS_NOT_ON_BACKLINK                                                       = 8362
  5648  	ERROR_DS_NOT_SUPPORTED                                                         = 8256
  5649  	ERROR_DS_NOT_SUPPORTED_SORT_ORDER                                              = 8570
  5650  	ERROR_DS_NO_ATTRIBUTE_OR_VALUE                                                 = 8202
  5651  	ERROR_DS_NO_BEHAVIOR_VERSION_IN_MIXEDDOMAIN                                    = 8569
  5652  	ERROR_DS_NO_CHAINED_EVAL                                                       = 8328
  5653  	ERROR_DS_NO_CHAINING                                                           = 8327
  5654  	ERROR_DS_NO_CHECKPOINT_WITH_PDC                                                = 8551
  5655  	ERROR_DS_NO_CROSSREF_FOR_NC                                                    = 8363
  5656  	ERROR_DS_NO_DELETED_NAME                                                       = 8355
  5657  	ERROR_DS_NO_FPO_IN_UNIVERSAL_GROUPS                                            = 8549
  5658  	ERROR_DS_NO_MORE_RIDS                                                          = 8209
  5659  	ERROR_DS_NO_MSDS_INTID                                                         = 8596
  5660  	ERROR_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN                                    = 8514
  5661  	ERROR_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN                                     = 8515
  5662  	ERROR_DS_NO_OBJECT_MOVE_IN_SCHEMA_NC                                           = 8580
  5663  	ERROR_DS_NO_PARENT_OBJECT                                                      = 8329
  5664  	ERROR_DS_NO_PKT_PRIVACY_ON_CONNECTION                                          = 8533
  5665  	ERROR_DS_NO_RDN_DEFINED_IN_SCHEMA                                              = 8306
  5666  	ERROR_DS_NO_REF_DOMAIN                                                         = 8575
  5667  	ERROR_DS_NO_REQUESTED_ATTS_FOUND                                               = 8308
  5668  	ERROR_DS_NO_RESULTS_RETURNED                                                   = 8257
  5669  	ERROR_DS_NO_RIDS_ALLOCATED                                                     = 8208
  5670  	ERROR_DS_NO_SUCH_OBJECT                                                        = 8240
  5671  	ERROR_DS_NO_TREE_DELETE_ABOVE_NC                                               = 8501
  5672  	ERROR_DS_NTDSCRIPT_PROCESS_ERROR                                               = 8592
  5673  	ERROR_DS_NTDSCRIPT_SYNTAX_ERROR                                                = 8591
  5674  	ERROR_DS_OBJECT_BEING_REMOVED                                                  = 8339
  5675  	ERROR_DS_OBJECT_CLASS_REQUIRED                                                 = 8315
  5676  	ERROR_DS_OBJECT_RESULTS_TOO_LARGE                                              = 8248
  5677  	ERROR_DS_OBJ_CLASS_NOT_DEFINED                                                 = 8371
  5678  	ERROR_DS_OBJ_CLASS_NOT_SUBCLASS                                                = 8372
  5679  	ERROR_DS_OBJ_CLASS_VIOLATION                                                   = 8212
  5680  	ERROR_DS_OBJ_GUID_EXISTS                                                       = 8361
  5681  	ERROR_DS_OBJ_NOT_FOUND                                                         = 8333
  5682  	ERROR_DS_OBJ_STRING_NAME_EXISTS                                                = 8305
  5683  	ERROR_DS_OBJ_TOO_LARGE                                                         = 8312
  5684  	ERROR_DS_OFFSET_RANGE_ERROR                                                    = 8262
  5685  	ERROR_DS_OPERATIONS_ERROR                                                      = 8224
  5686  	ERROR_DS_OUT_OF_SCOPE                                                          = 8338
  5687  	ERROR_DS_OUT_OF_VERSION_STORE                                                  = 8573
  5688  	ERROR_DS_PARAM_ERROR                                                           = 8255
  5689  	ERROR_DS_PARENT_IS_AN_ALIAS                                                    = 8330
  5690  	ERROR_DS_PDC_OPERATION_IN_PROGRESS                                             = 8490
  5691  	ERROR_DS_PROTOCOL_ERROR                                                        = 8225
  5692  	ERROR_DS_RANGE_CONSTRAINT                                                      = 8322
  5693  	ERROR_DS_RDN_DOESNT_MATCH_SCHEMA                                               = 8307
  5694  	ERROR_DS_RECALCSCHEMA_FAILED                                                   = 8396
  5695  	ERROR_DS_REFERRAL                                                              = 8235
  5696  	ERROR_DS_REFERRAL_LIMIT_EXCEEDED                                               = 8260
  5697  	ERROR_DS_REFUSING_FSMO_ROLES                                                   = 8433
  5698  	ERROR_DS_REMOTE_CROSSREF_OP_FAILED                                             = 8601
  5699  	ERROR_DS_REPLICATOR_ONLY                                                       = 8370
  5700  	ERROR_DS_REPLICA_SET_CHANGE_NOT_ALLOWED_ON_DISABLED_CR                         = 8595
  5701  	ERROR_DS_REPL_LIFETIME_EXCEEDED                                                = 8614
  5702  	ERROR_DS_RESERVED_LINK_ID                                                      = 8576
  5703  	ERROR_DS_RIDMGR_INIT_ERROR                                                     = 8211
  5704  	ERROR_DS_ROLE_NOT_VERIFIED                                                     = 8610
  5705  	ERROR_DS_ROOT_CANT_BE_SUBREF                                                   = 8326
  5706  	ERROR_DS_ROOT_MUST_BE_NC                                                       = 8301
  5707  	ERROR_DS_ROOT_REQUIRES_CLASS_TOP                                               = 8432
  5708  	ERROR_DS_SAM_INIT_FAILURE                                                      = 8504
  5709  	ERROR_DS_SAM_INIT_FAILURE_CONSOLE                                              = 8562
  5710  	ERROR_DS_SAM_NEED_BOOTKEY_FLOPPY                                               = 8530
  5711  	ERROR_DS_SAM_NEED_BOOTKEY_PASSWORD                                             = 8529
  5712  	ERROR_DS_SCHEMA_ALLOC_FAILED                                                   = 8415
  5713  	ERROR_DS_SCHEMA_NOT_LOADED                                                     = 8414
  5714  	ERROR_DS_SCHEMA_UPDATE_DISALLOWED                                              = 8509
  5715  	ERROR_DS_SECURITY_CHECKING_ERROR                                               = 8413
  5716  	ERROR_DS_SECURITY_ILLEGAL_MODIFY                                               = 8423
  5717  	ERROR_DS_SEC_DESC_INVALID                                                      = 8354
  5718  	ERROR_DS_SEC_DESC_TOO_SHORT                                                    = 8353
  5719  	ERROR_DS_SEMANTIC_ATT_TEST                                                     = 8383
  5720  	ERROR_DS_SENSITIVE_GROUP_VIOLATION                                             = 8505
  5721  	ERROR_DS_SERVER_DOWN                                                           = 8250
  5722  	ERROR_DS_SHUTTING_DOWN                                                         = 8364
  5723  	ERROR_DS_SINGLE_USER_MODE_FAILED                                               = 8590
  5724  	ERROR_DS_SINGLE_VALUE_CONSTRAINT                                               = 8321
  5725  	ERROR_DS_SIZELIMIT_EXCEEDED                                                    = 8227
  5726  	ERROR_DS_SORT_CONTROL_MISSING                                                  = 8261
  5727  	ERROR_DS_SOURCE_AUDITING_NOT_ENABLED                                           = 8552
  5728  	ERROR_DS_SOURCE_DOMAIN_IN_FOREST                                               = 8534
  5729  	ERROR_DS_SRC_AND_DST_NC_IDENTICAL                                              = 8485
  5730  	ERROR_DS_SRC_AND_DST_OBJECT_CLASS_MISMATCH                                     = 8540
  5731  	ERROR_DS_SRC_DC_MUST_BE_SP4_OR_GREATER                                         = 8559
  5732  	ERROR_DS_SRC_GUID_MISMATCH                                                     = 8488
  5733  	ERROR_DS_SRC_NAME_MISMATCH                                                     = 8484
  5734  	ERROR_DS_SRC_OBJ_NOT_GROUP_OR_USER                                             = 8538
  5735  	ERROR_DS_SRC_SID_EXISTS_IN_FOREST                                              = 8539
  5736  	ERROR_DS_STRING_SD_CONVERSION_FAILED                                           = 8522
  5737  	ERROR_DS_STRONG_AUTH_REQUIRED                                                  = 8232
  5738  	ERROR_DS_SUBREF_MUST_HAVE_PARENT                                               = 8356
  5739  	ERROR_DS_SUBTREE_NOTIFY_NOT_NC_HEAD                                            = 8376
  5740  	ERROR_DS_SUB_CLS_TEST_FAIL                                                     = 8391
  5741  	ERROR_DS_SYNTAX_MISMATCH                                                       = 8384
  5742  	ERROR_DS_THREAD_LIMIT_EXCEEDED                                                 = 8587
  5743  	ERROR_DS_TIMELIMIT_EXCEEDED                                                    = 8226
  5744  	ERROR_DS_TREE_DELETE_NOT_FINISHED                                              = 8397
  5745  	ERROR_DS_UNABLE_TO_SURRENDER_ROLES                                             = 8435
  5746  	ERROR_DS_UNAVAILABLE                                                           = 8207
  5747  	ERROR_DS_UNAVAILABLE_CRIT_EXTENSION                                            = 8236
  5748  	ERROR_DS_UNICODEPWD_NOT_IN_QUOTES                                              = 8556
  5749  	ERROR_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER                                      = 8518
  5750  	ERROR_DS_UNKNOWN_ERROR                                                         = 8431
  5751  	ERROR_DS_UNKNOWN_OPERATION                                                     = 8365
  5752  	ERROR_DS_UNWILLING_TO_PERFORM                                                  = 8245
  5753  	ERROR_DS_USER_BUFFER_TO_SMALL                                                  = 8309
  5754  	ERROR_DS_WKO_CONTAINER_CANNOT_BE_SPECIAL                                       = 8611
  5755  	ERROR_DS_WRONG_LINKED_ATT_SYNTAX                                               = 8528
  5756  	ERROR_DS_WRONG_OM_OBJ_CLASS                                                    = 8476
  5757  	ERROR_DUPLICATE_SERVICE_NAME                                                   = 1078
  5758  	ERROR_DUPLICATE_TAG                                                            = 2014
  5759  	ERROR_DUP_DOMAINNAME                                                           = 1221
  5760  	ERROR_DUP_NAME                                                                 = 52
  5761  	ERROR_DYNLINK_FROM_INVALID_RING                                                = 196
  5762  	ERROR_EAS_DIDNT_FIT                                                            = 275
  5763  	ERROR_EAS_NOT_SUPPORTED                                                        = 282
  5764  	ERROR_EA_ACCESS_DENIED                                                         = 994
  5765  	ERROR_EA_FILE_CORRUPT                                                          = 276
  5766  	ERROR_EA_LIST_INCONSISTENT                                                     = 255
  5767  	ERROR_EA_TABLE_FULL                                                            = 277
  5768  	ERROR_EC_CIRCULAR_FORWARDING                                                   = 15082
  5769  	ERROR_EC_CREDSTORE_FULL                                                        = 15083
  5770  	ERROR_EC_CRED_NOT_FOUND                                                        = 15084
  5771  	ERROR_EC_LOG_DISABLED                                                          = 15081
  5772  	ERROR_EC_NO_ACTIVE_CHANNEL                                                     = 15085
  5773  	ERROR_EC_SUBSCRIPTION_CANNOT_ACTIVATE                                          = 15080
  5774  	ERROR_EFS_ALG_BLOB_TOO_BIG                                                     = 6013
  5775  	ERROR_EFS_DISABLED                                                             = 6015
  5776  	ERROR_EFS_SERVER_NOT_TRUSTED                                                   = 6011
  5777  	ERROR_EFS_VERSION_NOT_SUPPORT                                                  = 6016
  5778  	ERROR_EMPTY                                                                    = 4306
  5779  	ERROR_ENCRYPTION_FAILED                                                        = 6000
  5780  	ERROR_END_OF_MEDIA                                                             = 1100
  5781  	ERROR_ENVVAR_NOT_FOUND                                                         = 203
  5782  	ERROR_EOM_OVERFLOW                                                             = 1129
  5783  	ERROR_EVENTLOG_CANT_START                                                      = 1501
  5784  	ERROR_EVENTLOG_FILE_CHANGED                                                    = 1503
  5785  	ERROR_EVENTLOG_FILE_CORRUPT                                                    = 1500
  5786  	ERROR_EVT_CANNOT_OPEN_CHANNEL_OF_QUERY                                         = 15036
  5787  	ERROR_EVT_CHANNEL_CANNOT_ACTIVATE                                              = 15025
  5788  	ERROR_EVT_CHANNEL_NOT_FOUND                                                    = 15007
  5789  	ERROR_EVT_CONFIGURATION_ERROR                                                  = 15010
  5790  	ERROR_EVT_EVENT_DEFINITION_NOT_FOUND                                           = 15032
  5791  	ERROR_EVT_EVENT_TEMPLATE_NOT_FOUND                                             = 15003
  5792  	ERROR_EVT_FILTER_ALREADYSCOPED                                                 = 15014
  5793  	ERROR_EVT_FILTER_INVARG                                                        = 15016
  5794  	ERROR_EVT_FILTER_INVTEST                                                       = 15017
  5795  	ERROR_EVT_FILTER_INVTYPE                                                       = 15018
  5796  	ERROR_EVT_FILTER_NOTELTSET                                                     = 15015
  5797  	ERROR_EVT_FILTER_OUT_OF_RANGE                                                  = 15038
  5798  	ERROR_EVT_FILTER_PARSEERR                                                      = 15019
  5799  	ERROR_EVT_FILTER_TOO_COMPLEX                                                   = 15026
  5800  	ERROR_EVT_FILTER_UNEXPECTEDTOKEN                                               = 15021
  5801  	ERROR_EVT_FILTER_UNSUPPORTEDOP                                                 = 15020
  5802  	ERROR_EVT_INVALID_CHANNEL_PATH                                                 = 15000
  5803  	ERROR_EVT_INVALID_CHANNEL_PROPERTY_VALUE                                       = 15023
  5804  	ERROR_EVT_INVALID_EVENT_DATA                                                   = 15005
  5805  	ERROR_EVT_INVALID_OPERATION_OVER_ENABLED_DIRECT_CHANNEL                        = 15022
  5806  	ERROR_EVT_INVALID_PUBLISHER_NAME                                               = 15004
  5807  	ERROR_EVT_INVALID_PUBLISHER_PROPERTY_VALUE                                     = 15024
  5808  	ERROR_EVT_INVALID_QUERY                                                        = 15001
  5809  	ERROR_EVT_MALFORMED_XML_TEXT                                                   = 15008
  5810  	ERROR_EVT_MAX_INSERTS_REACHED                                                  = 15031
  5811  	ERROR_EVT_MESSAGE_ID_NOT_FOUND                                                 = 15028
  5812  	ERROR_EVT_MESSAGE_LOCALE_NOT_FOUND                                             = 15033
  5813  	ERROR_EVT_MESSAGE_NOT_FOUND                                                    = 15027
  5814  	ERROR_EVT_NON_VALIDATING_MSXML                                                 = 15013
  5815  	ERROR_EVT_PUBLISHER_DISABLED                                                   = 15037
  5816  	ERROR_EVT_PUBLISHER_METADATA_NOT_FOUND                                         = 15002
  5817  	ERROR_EVT_QUERY_RESULT_INVALID_POSITION                                        = 15012
  5818  	ERROR_EVT_QUERY_RESULT_STALE                                                   = 15011
  5819  	ERROR_EVT_SUBSCRIPTION_TO_DIRECT_CHANNEL                                       = 15009
  5820  	ERROR_EVT_UNRESOLVED_PARAMETER_INSERT                                          = 15030
  5821  	ERROR_EVT_UNRESOLVED_VALUE_INSERT                                              = 15029
  5822  	ERROR_EVT_VERSION_TOO_NEW                                                      = 15035
  5823  	ERROR_EVT_VERSION_TOO_OLD                                                      = 15034
  5824  	ERROR_EXCEPTION_IN_SERVICE                                                     = 1064
  5825  	ERROR_EXCL_SEM_ALREADY_OWNED                                                   = 101
  5826  	ERROR_EXE_CANNOT_MODIFY_SIGNED_BINARY                                          = 217
  5827  	ERROR_EXE_CANNOT_MODIFY_STRONG_SIGNED_BINARY                                   = 218
  5828  	ERROR_EXE_MACHINE_TYPE_MISMATCH                                                = 216
  5829  	ERROR_EXE_MARKED_INVALID                                                       = 192
  5830  	ERROR_EXTENDED_ERROR                                                           = 1208
  5831  	ERROR_FAILED_SERVICE_CONTROLLER_CONNECT                                        = 1063
  5832  	ERROR_FAIL_I24                                                                 = 83
  5833  	ERROR_FILEMARK_DETECTED                                                        = 1101
  5834  	ERROR_FILENAME_EXCED_RANGE                                                     = 206
  5835  	ERROR_FILE_CHECKED_OUT                                                         = 220
  5836  	ERROR_FILE_CORRUPT                                                             = 1392
  5837  	ERROR_FILE_ENCRYPTED                                                           = 6002
  5838  	ERROR_FILE_EXISTS                                                              = 80
  5839  	ERROR_FILE_INVALID                                                             = 1006
  5840  	ERROR_FILE_NOT_ENCRYPTED                                                       = 6007
  5841  	ERROR_FILE_NOT_FOUND                                                           = 2
  5842  	ERROR_FILE_OFFLINE                                                             = 4350
  5843  	ERROR_FILE_READ_ONLY                                                           = 6009
  5844  	ERROR_FILE_TOO_LARGE                                                           = 223
  5845  	ERROR_FLOPPY_BAD_REGISTERS                                                     = 1125
  5846  	ERROR_FLOPPY_ID_MARK_NOT_FOUND                                                 = 1122
  5847  	ERROR_FLOPPY_UNKNOWN_ERROR                                                     = 1124
  5848  	ERROR_FLOPPY_WRONG_CYLINDER                                                    = 1123
  5849  	ERROR_FORMS_AUTH_REQUIRED                                                      = 224
  5850  	ERROR_FULLSCREEN_MODE                                                          = 1007
  5851  	ERROR_FULL_BACKUP                                                              = 4004
  5852  	ERROR_FUNCTION_FAILED                                                          = 1627
  5853  	ERROR_FUNCTION_NOT_CALLED                                                      = 1626
  5854  	ERROR_GENERIC_COMMAND_FAILED                                                   = 14109
  5855  	ERROR_GENERIC_NOT_MAPPED                                                       = 1360
  5856  	ERROR_GEN_FAILURE                                                              = 31
  5857  	ERROR_GLOBAL_ONLY_HOOK                                                         = 1429
  5858  	ERROR_GPIO_CLIENT_INFORMATION_INVALID                                          = 15322
  5859  	ERROR_GPIO_INCOMPATIBLE_CONNECT_MODE                                           = 15326
  5860  	ERROR_GPIO_INTERRUPT_ALREADY_UNMASKED                                          = 15327
  5861  	ERROR_GPIO_INVALID_REGISTRATION_PACKET                                         = 15324
  5862  	ERROR_GPIO_OPERATION_DENIED                                                    = 15325
  5863  	ERROR_GPIO_VERSION_NOT_SUPPORTED                                               = 15323
  5864  	ERROR_GRACEFUL_DISCONNECT                                                      = 1226
  5865  	ERROR_GROUP_EXISTS                                                             = 1318
  5866  	ERROR_GROUP_NOT_AVAILABLE                                                      = 5012
  5867  	ERROR_GROUP_NOT_FOUND                                                          = 5013
  5868  	ERROR_GROUP_NOT_ONLINE                                                         = 5014
  5869  	ERROR_HANDLE_DISK_FULL                                                         = 39
  5870  	ERROR_HANDLE_EOF                                                               = 38
  5871  	ERROR_HASH_NOT_PRESENT                                                         = 15301
  5872  	ERROR_HASH_NOT_SUPPORTED                                                       = 15300
  5873  	ERROR_HOOK_NEEDS_HMOD                                                          = 1428
  5874  	ERROR_HOOK_NOT_INSTALLED                                                       = 1431
  5875  	ERROR_HOOK_TYPE_NOT_ALLOWED                                                    = 1458
  5876  	ERROR_HOST_DOWN                                                                = 1256
  5877  	ERROR_HOST_NODE_NOT_AVAILABLE                                                  = 5005
  5878  	ERROR_HOST_NODE_NOT_GROUP_OWNER                                                = 5016
  5879  	ERROR_HOST_NODE_NOT_RESOURCE_OWNER                                             = 5015
  5880  	ERROR_HOST_UNREACHABLE                                                         = 1232
  5881  	ERROR_HOTKEY_ALREADY_REGISTERED                                                = 1409
  5882  	ERROR_HOTKEY_NOT_REGISTERED                                                    = 1419
  5883  	ERROR_HWNDS_HAVE_DIFF_PARENT                                                   = 1441
  5884  	ERROR_ICM_NOT_ENABLED                                                          = 2018
  5885  	ERROR_IEPORT_FULL                                                              = 4341
  5886  	ERROR_ILLEGAL_ELEMENT_ADDRESS                                                  = 1162
  5887  	ERROR_ILL_FORMED_PASSWORD                                                      = 1324
  5888  	ERROR_INCORRECT_ADDRESS                                                        = 1241
  5889  	ERROR_INCORRECT_SIZE                                                           = 1462
  5890  	ERROR_INC_BACKUP                                                               = 4003
  5891  	ERROR_INDEX_ABSENT                                                             = 1611
  5892  	ERROR_INDIGENOUS_TYPE                                                          = 4338
  5893  	ERROR_INFLOOP_IN_RELOC_CHAIN                                                   = 202
  5894  	ERROR_INIT_STATUS_NEEDED                                                       = 0x00000011
  5895  	ERROR_INSTALL_ALREADY_RUNNING                                                  = 1618
  5896  	ERROR_INSTALL_CANCEL                                                           = 15608
  5897  	ERROR_INSTALL_DEREGISTRATION_FAILURE                                           = 15607
  5898  	ERROR_INSTALL_FAILED                                                           = 15609
  5899  	ERROR_INSTALL_FAILURE                                                          = 1603
  5900  	ERROR_INSTALL_FIREWALL_SERVICE_NOT_RUNNING                                     = 15626
  5901  	ERROR_INSTALL_INVALID_PACKAGE                                                  = 15602
  5902  	ERROR_INSTALL_LANGUAGE_UNSUPPORTED                                             = 1623
  5903  	ERROR_INSTALL_LOG_FAILURE                                                      = 1622
  5904  	ERROR_INSTALL_NETWORK_FAILURE                                                  = 15605
  5905  	ERROR_INSTALL_NOTUSED                                                          = 1634
  5906  	ERROR_INSTALL_OPEN_PACKAGE_FAILED                                              = 15600
  5907  	ERROR_INSTALL_OUT_OF_DISK_SPACE                                                = 15604
  5908  	ERROR_INSTALL_PACKAGE_DOWNGRADE                                                = 15622
  5909  	ERROR_INSTALL_PACKAGE_INVALID                                                  = 1620
  5910  	ERROR_INSTALL_PACKAGE_NOT_FOUND                                                = 15601
  5911  	ERROR_INSTALL_PACKAGE_OPEN_FAILED                                              = 1619
  5912  	ERROR_INSTALL_PACKAGE_REJECTED                                                 = 1625
  5913  	ERROR_INSTALL_PACKAGE_VERSION                                                  = 1613
  5914  	ERROR_INSTALL_PLATFORM_UNSUPPORTED                                             = 1633
  5915  	ERROR_INSTALL_POLICY_FAILURE                                                   = 15615
  5916  	ERROR_INSTALL_PREREQUISITE_FAILED                                              = 15613
  5917  	ERROR_INSTALL_REGISTRATION_FAILURE                                             = 15606
  5918  	ERROR_INSTALL_REMOTE_DISALLOWED                                                = 1640
  5919  	ERROR_INSTALL_REMOTE_PROHIBITED                                                = 1645
  5920  	ERROR_INSTALL_RESOLVE_DEPENDENCY_FAILED                                        = 15603
  5921  	ERROR_INSTALL_SERVICE_FAILURE                                                  = 1601
  5922  	ERROR_INSTALL_SOURCE_ABSENT                                                    = 1612
  5923  	ERROR_INSTALL_SUSPEND                                                          = 1604
  5924  	ERROR_INSTALL_TEMP_UNWRITABLE                                                  = 1632
  5925  	ERROR_INSTALL_TRANSFORM_FAILURE                                                = 1624
  5926  	ERROR_INSTALL_TRANSFORM_REJECTED                                               = 1644
  5927  	ERROR_INSTALL_UI_FAILURE                                                       = 1621
  5928  	ERROR_INSTALL_USEREXIT                                                         = 1602
  5929  	ERROR_INSUFFICIENT_BUFFER                                                      = 122
  5930  	ERROR_INTERNAL_DB_CORRUPTION                                                   = 1358
  5931  	ERROR_INTERNAL_DB_ERROR                                                        = 1383
  5932  	ERROR_INTERNAL_ERROR                                                           = 1359
  5933  	ERROR_INVALID_ACCEL_HANDLE                                                     = 1403
  5934  	ERROR_INVALID_ACCESS                                                           = 12
  5935  	ERROR_INVALID_ACCOUNT_NAME                                                     = 1315
  5936  	ERROR_INVALID_ACL                                                              = 1336
  5937  	ERROR_INVALID_ADDRESS                                                          = 487
  5938  	ERROR_INVALID_AT_INTERRUPT_TIME                                                = 104
  5939  	ERROR_INVALID_BLOCK                                                            = 9
  5940  	ERROR_INVALID_BLOCK_LENGTH                                                     = 1106
  5941  	ERROR_INVALID_CATEGORY                                                         = 117
  5942  	ERROR_INVALID_CLEANER                                                          = 4310
  5943  	ERROR_INVALID_CMM                                                              = 2010
  5944  	ERROR_INVALID_COLORINDEX                                                       = 2022
  5945  	ERROR_INVALID_COLORSPACE                                                       = 2017
  5946  	ERROR_INVALID_COMBOBOX_MESSAGE                                                 = 1422
  5947  	ERROR_INVALID_COMMAND_LINE                                                     = 1639
  5948  	ERROR_INVALID_COMPUTERNAME                                                     = 1210
  5949  	ERROR_INVALID_CURSOR_HANDLE                                                    = 1402
  5950  	ERROR_INVALID_DATA                                                             = 13
  5951  	ERROR_INVALID_DATATYPE                                                         = 1804
  5952  	ERROR_INVALID_DLL                                                              = 1154
  5953  	ERROR_INVALID_DOMAINNAME                                                       = 1212
  5954  	ERROR_INVALID_DOMAIN_ROLE                                                      = 1354
  5955  	ERROR_INVALID_DOMAIN_STATE                                                     = 1353
  5956  	ERROR_INVALID_DRIVE                                                            = 15
  5957  	ERROR_INVALID_DRIVE_OBJECT                                                     = 4321
  5958  	ERROR_INVALID_DWP_HANDLE                                                       = 1405
  5959  	ERROR_INVALID_EA_HANDLE                                                        = 278
  5960  	ERROR_INVALID_EA_NAME                                                          = 254
  5961  	ERROR_INVALID_EDIT_HEIGHT                                                      = 1424
  5962  	ERROR_INVALID_ENVIRONMENT                                                      = 1805
  5963  	ERROR_INVALID_EVENTNAME                                                        = 1211
  5964  	ERROR_INVALID_EVENT_COUNT                                                      = 151
  5965  	ERROR_INVALID_EXE_SIGNATURE                                                    = 191
  5966  	ERROR_INVALID_FIELD                                                            = 1616
  5967  	ERROR_INVALID_FILTER_PROC                                                      = 1427
  5968  	ERROR_INVALID_FLAGS                                                            = 1004
  5969  	ERROR_INVALID_FLAG_NUMBER                                                      = 186
  5970  	ERROR_INVALID_FORM_NAME                                                        = 1902
  5971  	ERROR_INVALID_FORM_SIZE                                                        = 1903
  5972  	ERROR_INVALID_FUNCTION                                                         = 1
  5973  	ERROR_INVALID_GROUPNAME                                                        = 1209
  5974  	ERROR_INVALID_GROUP_ATTRIBUTES                                                 = 1345
  5975  	ERROR_INVALID_GW_COMMAND                                                       = 1443
  5976  	ERROR_INVALID_HANDLE                                                           = 6
  5977  	ERROR_INVALID_HANDLE_STATE                                                     = 1609
  5978  	ERROR_INVALID_HOOK_FILTER                                                      = 1426
  5979  	ERROR_INVALID_HOOK_HANDLE                                                      = 1404
  5980  	ERROR_INVALID_ICON_HANDLE                                                      = 1414
  5981  	ERROR_INVALID_ID_AUTHORITY                                                     = 1343
  5982  	ERROR_INVALID_IMPORT_OF_NON_DLL                                                = 1276
  5983  	ERROR_INVALID_INDEX                                                            = 1413
  5984  	ERROR_INVALID_KEYBOARD_HANDLE                                                  = 1457
  5985  	ERROR_INVALID_LB_MESSAGE                                                       = 1432
  5986  	ERROR_INVALID_LEVEL                                                            = 124
  5987  	ERROR_INVALID_LIBRARY                                                          = 4301
  5988  	ERROR_INVALID_LIST_FORMAT                                                      = 153
  5989  	ERROR_INVALID_LOGON_HOURS                                                      = 1328
  5990  	ERROR_INVALID_LOGON_TYPE                                                       = 1367
  5991  	ERROR_INVALID_MEDIA                                                            = 4300
  5992  	ERROR_INVALID_MEDIA_POOL                                                       = 4302
  5993  	ERROR_INVALID_MEMBER                                                           = 1388
  5994  	ERROR_INVALID_MENU_HANDLE                                                      = 1401
  5995  	ERROR_INVALID_MESSAGE                                                          = 1002
  5996  	ERROR_INVALID_MESSAGEDEST                                                      = 1218
  5997  	ERROR_INVALID_MESSAGENAME                                                      = 1217
  5998  	ERROR_INVALID_MINALLOCSIZE                                                     = 195
  5999  	ERROR_INVALID_MODULETYPE                                                       = 190
  6000  	ERROR_INVALID_MONITOR_HANDLE                                                   = 1461
  6001  	ERROR_INVALID_MSGBOX_STYLE                                                     = 1438
  6002  	ERROR_INVALID_NAME                                                             = 123
  6003  	ERROR_INVALID_NETNAME                                                          = 1214
  6004  	ERROR_INVALID_OPERATION                                                        = 4317
  6005  	ERROR_INVALID_OPERATION_ON_QUORUM                                              = 5068
  6006  	ERROR_INVALID_OPLOCK_PROTOCOL                                                  = 301
  6007  	ERROR_INVALID_ORDINAL                                                          = 182
  6008  	ERROR_INVALID_OWNER                                                            = 1307
  6009  	ERROR_INVALID_PARAMETER                                                        = 87
  6010  	ERROR_INVALID_PASSWORD                                                         = 86
  6011  	ERROR_INVALID_PASSWORDNAME                                                     = 1216
  6012  	ERROR_INVALID_PIXEL_FORMAT                                                     = 2000
  6013  	ERROR_INVALID_PRIMARY_GROUP                                                    = 1308
  6014  	ERROR_INVALID_PRINTER_COMMAND                                                  = 1803
  6015  	ERROR_INVALID_PRINTER_NAME                                                     = 1801
  6016  	ERROR_INVALID_PRINTER_STATE                                                    = 1906
  6017  	ERROR_INVALID_PRINT_MONITOR                                                    = 3007
  6018  	ERROR_INVALID_PRIORITY                                                         = 1800
  6019  	ERROR_INVALID_PROFILE                                                          = 2011
  6020  	ERROR_INVALID_REPARSE_DATA                                                     = 4392
  6021  	ERROR_INVALID_RUNLEVEL_SETTING                                                 = 15401
  6022  	ERROR_INVALID_SCROLLBAR_RANGE                                                  = 1448
  6023  	ERROR_INVALID_SECURITY_DESCR                                                   = 1338
  6024  	ERROR_INVALID_SEGDPL                                                           = 198
  6025  	ERROR_INVALID_SEGMENT_NUMBER                                                   = 180
  6026  	ERROR_INVALID_SEPARATOR_FILE                                                   = 1799
  6027  	ERROR_INVALID_SERVER_STATE                                                     = 1352
  6028  	ERROR_INVALID_SERVICENAME                                                      = 1213
  6029  	ERROR_INVALID_SERVICE_ACCOUNT                                                  = 1057
  6030  	ERROR_INVALID_SERVICE_CONTROL                                                  = 1052
  6031  	ERROR_INVALID_SERVICE_LOCK                                                     = 1071
  6032  	ERROR_INVALID_SHARENAME                                                        = 1215
  6033  	ERROR_INVALID_SHOWWIN_COMMAND                                                  = 1449
  6034  	ERROR_INVALID_SID                                                              = 1337
  6035  	ERROR_INVALID_SIGNAL_NUMBER                                                    = 209
  6036  	ERROR_INVALID_SPI_VALUE                                                        = 1439
  6037  	ERROR_INVALID_STACKSEG                                                         = 189
  6038  	ERROR_INVALID_STAGED_SIGNATURE                                                 = 15620
  6039  	ERROR_INVALID_STARTING_CODESEG                                                 = 188
  6040  	ERROR_INVALID_STATE                                                            = 5023
  6041  	ERROR_INVALID_SUB_AUTHORITY                                                    = 1335
  6042  	ERROR_INVALID_TABLE                                                            = 1628
  6043  	ERROR_INVALID_TARGET_HANDLE                                                    = 114
  6044  	ERROR_INVALID_THREAD_ID                                                        = 1444
  6045  	ERROR_INVALID_TIME                                                             = 1901
  6046  	ERROR_INVALID_TOKEN                                                            = 315
  6047  	ERROR_INVALID_TRANSFORM                                                        = 2020
  6048  	ERROR_INVALID_USER_BUFFER                                                      = 1784
  6049  	ERROR_INVALID_VERIFY_SWITCH                                                    = 118
  6050  	ERROR_INVALID_WINDOW_HANDLE                                                    = 1400
  6051  	ERROR_INVALID_WINDOW_STYLE                                                     = 2002
  6052  	ERROR_INVALID_WORKSTATION                                                      = 1329
  6053  	ERROR_IOPL_NOT_ENABLED                                                         = 197
  6054  	ERROR_IO_DEVICE                                                                = 1117
  6055  	ERROR_IO_INCOMPLETE                                                            = 996
  6056  	ERROR_IO_PENDING                                                               = 997
  6057  	ERROR_IPSEC_AUTH_FIREWALL_DROP                                                 = 13917
  6058  	ERROR_IPSEC_BAD_SPI                                                            = 13910
  6059  	ERROR_IPSEC_CLEAR_TEXT_DROP                                                    = 13916
  6060  	ERROR_IPSEC_DEFAULT_MM_AUTH_NOT_FOUND                                          = 13014
  6061  	ERROR_IPSEC_DEFAULT_MM_POLICY_NOT_FOUND                                        = 13013
  6062  	ERROR_IPSEC_DEFAULT_QM_POLICY_NOT_FOUND                                        = 13015
  6063  	ERROR_IPSEC_DOSP_BLOCK                                                         = 13925
  6064  	ERROR_IPSEC_DOSP_INVALID_PACKET                                                = 13927
  6065  	ERROR_IPSEC_DOSP_KEYMOD_NOT_ALLOWED                                            = 13930
  6066  	ERROR_IPSEC_DOSP_MAX_ENTRIES                                                   = 13929
  6067  	ERROR_IPSEC_DOSP_MAX_PER_IP_RATELIMIT_QUEUES                                   = 13932
  6068  	ERROR_IPSEC_DOSP_NOT_INSTALLED                                                 = 13931
  6069  	ERROR_IPSEC_DOSP_RECEIVED_MULTICAST                                            = 13926
  6070  	ERROR_IPSEC_DOSP_STATE_LOOKUP_FAILED                                           = 13928
  6071  	ERROR_IPSEC_IKE_ADD_UPDATE_KEY_FAILED                                          = 13860
  6072  	ERROR_IPSEC_IKE_ATTRIB_FAIL                                                    = 13802
  6073  	ERROR_IPSEC_IKE_AUTHORIZATION_FAILURE                                          = 13905
  6074  	ERROR_IPSEC_IKE_AUTHORIZATION_FAILURE_WITH_OPTIONAL_RETRY                      = 13907
  6075  	ERROR_IPSEC_IKE_AUTH_FAIL                                                      = 13801
  6076  	ERROR_IPSEC_IKE_BENIGN_REINIT                                                  = 13878
  6077  	ERROR_IPSEC_IKE_CERT_CHAIN_POLICY_MISMATCH                                     = 13887
  6078  	ERROR_IPSEC_IKE_CGA_AUTH_FAILED                                                = 13892
  6079  	ERROR_IPSEC_IKE_COEXISTENCE_SUPPRESS                                           = 13902
  6080  	ERROR_IPSEC_IKE_CRL_FAILED                                                     = 13817
  6081  	ERROR_IPSEC_IKE_DECRYPT                                                        = 13867
  6082  	ERROR_IPSEC_IKE_DH_FAIL                                                        = 13822
  6083  	ERROR_IPSEC_IKE_DH_FAILURE                                                     = 13864
  6084  	ERROR_IPSEC_IKE_DOS_COOKIE_SENT                                                = 13890
  6085  	ERROR_IPSEC_IKE_DROP_NO_RESPONSE                                               = 13813
  6086  	ERROR_IPSEC_IKE_ENCRYPT                                                        = 13866
  6087  	ERROR_IPSEC_IKE_ERROR                                                          = 13816
  6088  	ERROR_IPSEC_IKE_FAILQUERYSSP                                                   = 13854
  6089  	ERROR_IPSEC_IKE_FAILSSPINIT                                                    = 13853
  6090  	ERROR_IPSEC_IKE_GENERAL_PROCESSING_ERROR                                       = 13804
  6091  	ERROR_IPSEC_IKE_GETSPIFAIL                                                     = 13857
  6092  	ERROR_IPSEC_IKE_INNER_IP_ASSIGNMENT_FAILURE                                    = 13899
  6093  	ERROR_IPSEC_IKE_INVALID_AUTH_ALG                                               = 13874
  6094  	ERROR_IPSEC_IKE_INVALID_AUTH_PAYLOAD                                           = 13889
  6095  	ERROR_IPSEC_IKE_INVALID_CERT_KEYLEN                                            = 13881
  6096  	ERROR_IPSEC_IKE_INVALID_CERT_TYPE                                              = 13819
  6097  	ERROR_IPSEC_IKE_INVALID_COOKIE                                                 = 13846
  6098  	ERROR_IPSEC_IKE_INVALID_ENCRYPT_ALG                                            = 13873
  6099  	ERROR_IPSEC_IKE_INVALID_FILTER                                                 = 13858
  6100  	ERROR_IPSEC_IKE_INVALID_GROUP                                                  = 13865
  6101  	ERROR_IPSEC_IKE_INVALID_HASH                                                   = 13870
  6102  	ERROR_IPSEC_IKE_INVALID_HASH_ALG                                               = 13871
  6103  	ERROR_IPSEC_IKE_INVALID_HASH_SIZE                                              = 13872
  6104  	ERROR_IPSEC_IKE_INVALID_HEADER                                                 = 13824
  6105  	ERROR_IPSEC_IKE_INVALID_KEY_USAGE                                              = 13818
  6106  	ERROR_IPSEC_IKE_INVALID_MM_FOR_QM                                              = 13894
  6107  	ERROR_IPSEC_IKE_INVALID_PAYLOAD                                                = 13843
  6108  	ERROR_IPSEC_IKE_INVALID_POLICY                                                 = 13861
  6109  	ERROR_IPSEC_IKE_INVALID_RESPONDER_LIFETIME_NOTIFY                              = 13879
  6110  	ERROR_IPSEC_IKE_INVALID_SIG                                                    = 13875
  6111  	ERROR_IPSEC_IKE_INVALID_SIGNATURE                                              = 13826
  6112  	ERROR_IPSEC_IKE_INVALID_SITUATION                                              = 13863
  6113  	ERROR_IPSEC_IKE_KERBEROS_ERROR                                                 = 13827
  6114  	ERROR_IPSEC_IKE_KILL_DUMMY_NAP_TUNNEL                                          = 13898
  6115  	ERROR_IPSEC_IKE_LOAD_FAILED                                                    = 13876
  6116  	ERROR_IPSEC_IKE_LOAD_SOFT_SA                                                   = 13844
  6117  	ERROR_IPSEC_IKE_MM_ACQUIRE_DROP                                                = 13809
  6118  	ERROR_IPSEC_IKE_MM_DELAY_DROP                                                  = 13814
  6119  	ERROR_IPSEC_IKE_MM_EXPIRED                                                     = 13885
  6120  	ERROR_IPSEC_IKE_MM_LIMIT                                                       = 13882
  6121  	ERROR_IPSEC_IKE_NEGOTIATION_DISABLED                                           = 13883
  6122  	ERROR_IPSEC_IKE_NEGOTIATION_PENDING                                            = 13803
  6123  	ERROR_IPSEC_IKE_NEG_STATUS_BEGIN                                               = 13800
  6124  	ERROR_IPSEC_IKE_NEG_STATUS_END                                                 = 13897
  6125  	ERROR_IPSEC_IKE_NEG_STATUS_EXTENDED_END                                        = 13909
  6126  	ERROR_IPSEC_IKE_NOTCBPRIV                                                      = 13851
  6127  	ERROR_IPSEC_IKE_NO_CERT                                                        = 13806
  6128  	ERROR_IPSEC_IKE_NO_MM_POLICY                                                   = 13850
  6129  	ERROR_IPSEC_IKE_NO_PEER_CERT                                                   = 13847
  6130  	ERROR_IPSEC_IKE_NO_POLICY                                                      = 13825
  6131  	ERROR_IPSEC_IKE_NO_PRIVATE_KEY                                                 = 13820
  6132  	ERROR_IPSEC_IKE_NO_PUBLIC_KEY                                                  = 13828
  6133  	ERROR_IPSEC_IKE_OUT_OF_MEMORY                                                  = 13859
  6134  	ERROR_IPSEC_IKE_PEER_CRL_FAILED                                                = 13848
  6135  	ERROR_IPSEC_IKE_PEER_DOESNT_SUPPORT_MOBIKE                                     = 13904
  6136  	ERROR_IPSEC_IKE_PEER_MM_ASSUMED_INVALID                                        = 13886
  6137  	ERROR_IPSEC_IKE_POLICY_CHANGE                                                  = 13849
  6138  	ERROR_IPSEC_IKE_POLICY_MATCH                                                   = 13868
  6139  	ERROR_IPSEC_IKE_PROCESS_ERR                                                    = 13829
  6140  	ERROR_IPSEC_IKE_PROCESS_ERR_CERT                                               = 13835
  6141  	ERROR_IPSEC_IKE_PROCESS_ERR_CERT_REQ                                           = 13836
  6142  	ERROR_IPSEC_IKE_PROCESS_ERR_DELETE                                             = 13841
  6143  	ERROR_IPSEC_IKE_PROCESS_ERR_HASH                                               = 13837
  6144  	ERROR_IPSEC_IKE_PROCESS_ERR_ID                                                 = 13834
  6145  	ERROR_IPSEC_IKE_PROCESS_ERR_KE                                                 = 13833
  6146  	ERROR_IPSEC_IKE_PROCESS_ERR_NATOA                                              = 13893
  6147  	ERROR_IPSEC_IKE_PROCESS_ERR_NONCE                                              = 13839
  6148  	ERROR_IPSEC_IKE_PROCESS_ERR_NOTIFY                                             = 13840
  6149  	ERROR_IPSEC_IKE_PROCESS_ERR_PROP                                               = 13831
  6150  	ERROR_IPSEC_IKE_PROCESS_ERR_SA                                                 = 13830
  6151  	ERROR_IPSEC_IKE_PROCESS_ERR_SIG                                                = 13838
  6152  	ERROR_IPSEC_IKE_PROCESS_ERR_TRANS                                              = 13832
  6153  	ERROR_IPSEC_IKE_PROCESS_ERR_VENDOR                                             = 13842
  6154  	ERROR_IPSEC_IKE_QM_ACQUIRE_DROP                                                = 13810
  6155  	ERROR_IPSEC_IKE_QM_DELAY_DROP                                                  = 13815
  6156  	ERROR_IPSEC_IKE_QM_EXPIRED                                                     = 13895
  6157  	ERROR_IPSEC_IKE_QM_LIMIT                                                       = 13884
  6158  	ERROR_IPSEC_IKE_QUEUE_DROP_MM                                                  = 13811
  6159  	ERROR_IPSEC_IKE_QUEUE_DROP_NO_MM                                               = 13812
  6160  	ERROR_IPSEC_IKE_RATELIMIT_DROP                                                 = 13903
  6161  	ERROR_IPSEC_IKE_REQUIRE_CP_PAYLOAD_MISSING                                     = 13900
  6162  	ERROR_IPSEC_IKE_RPC_DELETE                                                     = 13877
  6163  	ERROR_IPSEC_IKE_SA_DELETED                                                     = 13807
  6164  	ERROR_IPSEC_IKE_SA_REAPED                                                      = 13808
  6165  	ERROR_IPSEC_IKE_SECLOADFAIL                                                    = 13852
  6166  	ERROR_IPSEC_IKE_SHUTTING_DOWN                                                  = 13891
  6167  	ERROR_IPSEC_IKE_SOFT_SA_TORN_DOWN                                              = 13845
  6168  	ERROR_IPSEC_IKE_SRVACQFAIL                                                     = 13855
  6169  	ERROR_IPSEC_IKE_SRVQUERYCRED                                                   = 13856
  6170  	ERROR_IPSEC_IKE_STRONG_CRED_AUTHORIZATION_AND_CERTMAP_FAILURE                  = 13908
  6171  	ERROR_IPSEC_IKE_STRONG_CRED_AUTHORIZATION_FAILURE                              = 13906
  6172  	ERROR_IPSEC_IKE_TIMED_OUT                                                      = 13805
  6173  	ERROR_IPSEC_IKE_TOO_MANY_FILTERS                                               = 13896
  6174  	ERROR_IPSEC_IKE_UNEXPECTED_MESSAGE_ID                                          = 13888
  6175  	ERROR_IPSEC_IKE_UNKNOWN_DOI                                                    = 13862
  6176  	ERROR_IPSEC_IKE_UNSUPPORTED_ID                                                 = 13869
  6177  	ERROR_IPSEC_INTEGRITY_CHECK_FAILED                                             = 13915
  6178  	ERROR_IPSEC_INVALID_PACKET                                                     = 13914
  6179  	ERROR_IPSEC_KEY_MODULE_IMPERSONATION_NEGOTIATION_PENDING                       = 13901
  6180  	ERROR_IPSEC_MM_AUTH_EXISTS                                                     = 13010
  6181  	ERROR_IPSEC_MM_AUTH_IN_USE                                                     = 13012
  6182  	ERROR_IPSEC_MM_AUTH_NOT_FOUND                                                  = 13011
  6183  	ERROR_IPSEC_MM_AUTH_PENDING_DELETION                                           = 13022
  6184  	ERROR_IPSEC_MM_FILTER_EXISTS                                                   = 13006
  6185  	ERROR_IPSEC_MM_FILTER_NOT_FOUND                                                = 13007
  6186  	ERROR_IPSEC_MM_FILTER_PENDING_DELETION                                         = 13018
  6187  	ERROR_IPSEC_MM_POLICY_EXISTS                                                   = 13003
  6188  	ERROR_IPSEC_MM_POLICY_IN_USE                                                   = 13005
  6189  	ERROR_IPSEC_MM_POLICY_NOT_FOUND                                                = 13004
  6190  	ERROR_IPSEC_MM_POLICY_PENDING_DELETION                                         = 13021
  6191  	ERROR_IPSEC_QM_POLICY_EXISTS                                                   = 13000
  6192  	ERROR_IPSEC_QM_POLICY_IN_USE                                                   = 13002
  6193  	ERROR_IPSEC_QM_POLICY_NOT_FOUND                                                = 13001
  6194  	ERROR_IPSEC_QM_POLICY_PENDING_DELETION                                         = 13023
  6195  	ERROR_IPSEC_REPLAY_CHECK_FAILED                                                = 13913
  6196  	ERROR_IPSEC_SA_LIFETIME_EXPIRED                                                = 13911
  6197  	ERROR_IPSEC_THROTTLE_DROP                                                      = 13918
  6198  	ERROR_IPSEC_TRANSPORT_FILTER_EXISTS                                            = 13008
  6199  	ERROR_IPSEC_TRANSPORT_FILTER_NOT_FOUND                                         = 13009
  6200  	ERROR_IPSEC_TRANSPORT_FILTER_PENDING_DELETION                                  = 13019
  6201  	ERROR_IPSEC_TUNNEL_FILTER_EXISTS                                               = 13016
  6202  	ERROR_IPSEC_TUNNEL_FILTER_NOT_FOUND                                            = 13017
  6203  	ERROR_IPSEC_TUNNEL_FILTER_PENDING_DELETION                                     = 13020
  6204  	ERROR_IPSEC_WRONG_SA                                                           = 13912
  6205  	ERROR_IRQ_BUSY                                                                 = 1119
  6206  	ERROR_IS_JOINED                                                                = 134
  6207  	ERROR_IS_JOIN_PATH                                                             = 147
  6208  	ERROR_IS_JOIN_TARGET                                                           = 133
  6209  	ERROR_IS_SUBSTED                                                               = 135
  6210  	ERROR_IS_SUBST_PATH                                                            = 146
  6211  	ERROR_IS_SUBST_TARGET                                                          = 149
  6212  	ERROR_ITERATED_DATA_EXCEEDS_64k                                                = 194
  6213  	ERROR_JOIN_TO_JOIN                                                             = 138
  6214  	ERROR_JOIN_TO_SUBST                                                            = 140
  6215  	ERROR_JOURNAL_DELETE_IN_PROGRESS                                               = 1178
  6216  	ERROR_JOURNAL_ENTRY_DELETED                                                    = 1181
  6217  	ERROR_JOURNAL_HOOK_SET                                                         = 1430
  6218  	ERROR_JOURNAL_NOT_ACTIVE                                                       = 1179
  6219  	ERROR_KERNEL_APC                                                               = 738
  6220  	ERROR_KEY_DELETED                                                              = 1018
  6221  	ERROR_KEY_HAS_CHILDREN                                                         = 1020
  6222  	ERROR_KM_DRIVER_BLOCKED                                                        = 1930
  6223  	ERROR_LABEL_QUESTIONABLE                                                       = 0x00000002
  6224  	ERROR_LABEL_TOO_LONG                                                           = 154
  6225  	ERROR_LABEL_UNREADABLE                                                         = 0x00000001
  6226  	ERROR_LAST_ADMIN                                                               = 1322
  6227  	ERROR_LB_WITHOUT_TABSTOPS                                                      = 1434
  6228  	ERROR_LIBRARY_FULL                                                             = 4322
  6229  	ERROR_LIBRARY_OFFLINE                                                          = 4305
  6230  	ERROR_LICENSE_QUOTA_EXCEEDED                                                   = 1395
  6231  	ERROR_LISTBOX_ID_NOT_FOUND                                                     = 1416
  6232  	ERROR_LM_CROSS_ENCRYPTION_REQUIRED                                             = 1390
  6233  	ERROR_LOCAL_USER_SESSION_KEY                                                   = 1303
  6234  	ERROR_LOCKED                                                                   = 212
  6235  	ERROR_LOCK_FAILED                                                              = 167
  6236  	ERROR_LOCK_VIOLATION                                                           = 33
  6237  	ERROR_LOGIN_TIME_RESTRICTION                                                   = 1239
  6238  	ERROR_LOGIN_WKSTA_RESTRICTION                                                  = 1240
  6239  	ERROR_LOGON_FAILURE                                                            = 1326
  6240  	ERROR_LOGON_NOT_GRANTED                                                        = 1380
  6241  	ERROR_LOGON_SESSION_COLLISION                                                  = 1366
  6242  	ERROR_LOGON_SESSION_EXISTS                                                     = 1363
  6243  	ERROR_LOGON_TYPE_NOT_GRANTED                                                   = 1385
  6244  	ERROR_LOG_FILE_FULL                                                            = 1502
  6245  	ERROR_LUIDS_EXHAUSTED                                                          = 1334
  6246  	ERROR_MACHINE_LOCKED                                                           = 1271
  6247  	ERROR_MAGAZINE_NOT_PRESENT                                                     = 1163
  6248  	ERROR_MALFORMED_SUBSTITUTION_STRING                                            = 14094
  6249  	ERROR_MAPPED_ALIGNMENT                                                         = 1132
  6250  	ERROR_MAX_THRDS_REACHED                                                        = 164
  6251  	ERROR_MCA_INTERNAL_ERROR                                                       = 15205
  6252  	ERROR_MCA_INVALID_CAPABILITIES_STRING                                          = 15200
  6253  	ERROR_MCA_INVALID_TECHNOLOGY_TYPE_RETURNED                                     = 15206
  6254  	ERROR_MCA_INVALID_VCP_VERSION                                                  = 15201
  6255  	ERROR_MCA_MCCS_VERSION_MISMATCH                                                = 15203
  6256  	ERROR_MCA_MONITOR_VIOLATES_MCCS_SPECIFICATION                                  = 15202
  6257  	ERROR_MCA_UNSUPPORTED_COLOR_TEMPERATURE                                        = 15207
  6258  	ERROR_MCA_UNSUPPORTED_MCCS_VERSION                                             = 15204
  6259  	ERROR_MEDIA_CHANGED                                                            = 1110
  6260  	ERROR_MEDIA_INCOMPATIBLE                                                       = 4315
  6261  	ERROR_MEDIA_NOT_AVAILABLE                                                      = 4318
  6262  	ERROR_MEDIA_OFFLINE                                                            = 4304
  6263  	ERROR_MEDIA_UNAVAILABLE                                                        = 4308
  6264  	ERROR_MEDIUM_NOT_ACCESSIBLE                                                    = 4323
  6265  	ERROR_MEMBERS_PRIMARY_GROUP                                                    = 1374
  6266  	ERROR_MEMBER_IN_ALIAS                                                          = 1378
  6267  	ERROR_MEMBER_IN_GROUP                                                          = 1320
  6268  	ERROR_MEMBER_NOT_IN_ALIAS                                                      = 1377
  6269  	ERROR_MEMBER_NOT_IN_GROUP                                                      = 1321
  6270  	ERROR_MENU_ITEM_NOT_FOUND                                                      = 1456
  6271  	ERROR_MESSAGE_EXCEEDS_MAX_SIZE                                                 = 4336
  6272  	ERROR_MESSAGE_SYNC_ONLY                                                        = 1159
  6273  	ERROR_METAFILE_NOT_SUPPORTED                                                   = 2003
  6274  	ERROR_META_EXPANSION_TOO_LONG                                                  = 208
  6275  	ERROR_MOD_NOT_FOUND                                                            = 126
  6276  	ERROR_MORE_DATA                                                                = 234
  6277  	ERROR_MORE_WRITES                                                              = 1120
  6278  	ERROR_MRM_AUTOMERGE_ENABLED                                                    = 15139
  6279  	ERROR_MRM_DUPLICATE_ENTRY                                                      = 15119
  6280  	ERROR_MRM_DUPLICATE_MAP_NAME                                                   = 15118
  6281  	ERROR_MRM_FILEPATH_TOO_LONG                                                    = 15121
  6282  	ERROR_MRM_INDETERMINATE_QUALIFIER_VALUE                                        = 15138
  6283  	ERROR_MRM_INVALID_FILE_TYPE                                                    = 15112
  6284  	ERROR_MRM_INVALID_PRICONFIG                                                    = 15111
  6285  	ERROR_MRM_INVALID_PRI_FILE                                                     = 15126
  6286  	ERROR_MRM_INVALID_QUALIFIER_OPERATOR                                           = 15137
  6287  	ERROR_MRM_INVALID_QUALIFIER_VALUE                                              = 15114
  6288  	ERROR_MRM_INVALID_RESOURCE_IDENTIFIER                                          = 15120
  6289  	ERROR_MRM_MAP_NOT_FOUND                                                        = 15135
  6290  	ERROR_MRM_NAMED_RESOURCE_NOT_FOUND                                             = 15127
  6291  	ERROR_MRM_NO_CANDIDATE                                                         = 15115
  6292  	ERROR_MRM_NO_MATCH_OR_DEFAULT_CANDIDATE                                        = 15116
  6293  	ERROR_MRM_RESOURCE_TYPE_MISMATCH                                               = 15117
  6294  	ERROR_MRM_RUNTIME_NO_DEFAULT_OR_NEUTRAL_RESOURCE                               = 15110
  6295  	ERROR_MRM_TOO_MANY_RESOURCES                                                   = 15140
  6296  	ERROR_MRM_UNKNOWN_QUALIFIER                                                    = 15113
  6297  	ERROR_MRM_UNSUPPORTED_DIRECTORY_TYPE                                           = 15122
  6298  	ERROR_MRM_UNSUPPORTED_PROFILE_TYPE                                             = 15136
  6299  	ERROR_MR_MID_NOT_FOUND                                                         = 317
  6300  	ERROR_MUI_FILE_NOT_FOUND                                                       = 15100
  6301  	ERROR_MUI_FILE_NOT_LOADED                                                      = 15105
  6302  	ERROR_MUI_INTLSETTINGS_INVALID_LOCALE_NAME                                     = 15108
  6303  	ERROR_MUI_INTLSETTINGS_UILANG_NOT_INSTALLED                                    = 15107
  6304  	ERROR_MUI_INVALID_FILE                                                         = 15101
  6305  	ERROR_MUI_INVALID_LOCALE_NAME                                                  = 15103
  6306  	ERROR_MUI_INVALID_RC_CONFIG                                                    = 15102
  6307  	ERROR_MUI_INVALID_ULTIMATEFALLBACK_NAME                                        = 15104
  6308  	ERROR_MUTUAL_AUTH_FAILED                                                       = 1397
  6309  	ERROR_NEEDS_REMEDIATION                                                        = 15612
  6310  	ERROR_NEGATIVE_SEEK                                                            = 131
  6311  	ERROR_NESTING_NOT_ALLOWED                                                      = 215
  6312  	ERROR_NETLOGON_NOT_STARTED                                                     = 1792
  6313  	ERROR_NETNAME_DELETED                                                          = 64
  6314  	ERROR_NETWORK_ACCESS_DENIED                                                    = 65
  6315  	ERROR_NETWORK_BUSY                                                             = 54
  6316  	ERROR_NETWORK_NOT_AVAILABLE                                                    = 5035
  6317  	ERROR_NETWORK_UNREACHABLE                                                      = 1231
  6318  	ERROR_NET_WRITE_FAULT                                                          = 88
  6319  	ERROR_NOACCESS                                                                 = 998
  6320  	ERROR_NODE_CANNOT_BE_CLUSTERED                                                 = 5898
  6321  	ERROR_NODE_CANT_HOST_RESOURCE                                                  = 5071
  6322  	ERROR_NODE_NOT_AVAILABLE                                                       = 5036
  6323  	ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT                                        = 1807
  6324  	ERROR_NOLOGON_SERVER_TRUST_ACCOUNT                                             = 1809
  6325  	ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT                                        = 1808
  6326  	ERROR_NONE_MAPPED                                                              = 1332
  6327  	ERROR_NONPAGED_SYSTEM_RESOURCES                                                = 1451
  6328  	ERROR_NON_ACCOUNT_SID                                                          = 1257
  6329  	ERROR_NON_DOMAIN_SID                                                           = 1258
  6330  	ERROR_NON_MDICHILD_WINDOW                                                      = 1445
  6331  	ERROR_NOTIFY_ENUM_DIR                                                          = 1022
  6332  	ERROR_NOT_ALL_ASSIGNED                                                         = 1300
  6333  	ERROR_NOT_AUTHENTICATED                                                        = 1244
  6334  	ERROR_NOT_A_REPARSE_POINT                                                      = 4390
  6335  	ERROR_NOT_CHILD_WINDOW                                                         = 1442
  6336  	ERROR_NOT_CONNECTED                                                            = 2250
  6337  	ERROR_NOT_CONTAINER                                                            = 1207
  6338  	ERROR_NOT_DOS_DISK                                                             = 26
  6339  	ERROR_NOT_EMPTY                                                                = 4307
  6340  	ERROR_NOT_ENOUGH_MEMORY                                                        = 8
  6341  	ERROR_NOT_ENOUGH_QUOTA                                                         = 1816
  6342  	ERROR_NOT_ENOUGH_SERVER_MEMORY                                                 = 1130
  6343  	ERROR_NOT_EXPORT_FORMAT                                                        = 6008
  6344  	ERROR_NOT_FOUND                                                                = 1168
  6345  	ERROR_NOT_GUI_PROCESS                                                          = 1471
  6346  	ERROR_NOT_JOINED                                                               = 136
  6347  	ERROR_NOT_LOCKED                                                               = 158
  6348  	ERROR_NOT_LOGGED_ON                                                            = 1245
  6349  	ERROR_NOT_LOGON_PROCESS                                                        = 1362
  6350  	ERROR_NOT_OWNER                                                                = 288
  6351  	ERROR_NOT_QUORUM_CAPABLE                                                       = 5021
  6352  	ERROR_NOT_QUORUM_CLASS                                                         = 5025
  6353  	ERROR_NOT_READY                                                                = 21
  6354  	ERROR_NOT_REGISTRY_FILE                                                        = 1017
  6355  	ERROR_NOT_SAFEBOOT_SERVICE                                                     = 1084
  6356  	ERROR_NOT_SAME_DEVICE                                                          = 17
  6357  	ERROR_NOT_SUBSTED                                                              = 137
  6358  	ERROR_NOT_SUPPORTED                                                            = 50
  6359  	ERROR_NOT_SUPPORTED_ON_SBS                                                     = 1254
  6360  	ERROR_NOT_SUPPORTED_ON_STANDARD_SERVER                                         = 8584
  6361  	ERROR_NO_ASSOCIATION                                                           = 1155
  6362  	ERROR_NO_BROWSER_SERVERS_FOUND                                                 = 6118
  6363  	ERROR_NO_DATA                                                                  = 232
  6364  	ERROR_NO_DATA_DETECTED                                                         = 1104
  6365  	ERROR_NO_EFS                                                                   = 6004
  6366  	ERROR_NO_IMPERSONATION_TOKEN                                                   = 1309
  6367  	ERROR_NO_INHERITANCE                                                           = 1391
  6368  	ERROR_NO_LOGON_SERVERS                                                         = 1311
  6369  	ERROR_NO_LOG_SPACE                                                             = 1019
  6370  	ERROR_NO_MATCH                                                                 = 1169
  6371  	ERROR_NO_MEDIA_IN_DRIVE                                                        = 1112
  6372  	ERROR_NO_MORE_DEVICES                                                          = 1248
  6373  	ERROR_NO_MORE_FILES                                                            = 18
  6374  	ERROR_NO_MORE_ITEMS                                                            = 259
  6375  	ERROR_NO_MORE_SEARCH_HANDLES                                                   = 113
  6376  	ERROR_NO_MORE_USER_HANDLES                                                     = 1158
  6377  	ERROR_NO_NETWORK                                                               = 1222
  6378  	ERROR_NO_NET_OR_BAD_PATH                                                       = 1203
  6379  	ERROR_NO_NVRAM_RESOURCES                                                       = 1470
  6380  	ERROR_NO_PROC_SLOTS                                                            = 89
  6381  	ERROR_NO_PROMOTION_ACTIVE                                                      = 8222
  6382  	ERROR_NO_QUOTAS_FOR_ACCOUNT                                                    = 1302
  6383  	ERROR_NO_RECOVERY_POLICY                                                       = 6003
  6384  	ERROR_NO_RECOVERY_PROGRAM                                                      = 1082
  6385  	ERROR_NO_SCROLLBARS                                                            = 1447
  6386  	ERROR_NO_SECURITY_ON_OBJECT                                                    = 1350
  6387  	ERROR_NO_SHUTDOWN_IN_PROGRESS                                                  = 1116
  6388  	ERROR_NO_SIGNAL_SENT                                                           = 205
  6389  	ERROR_NO_SITENAME                                                              = 1919
  6390  	ERROR_NO_SPOOL_SPACE                                                           = 62
  6391  	ERROR_NO_SUCH_ALIAS                                                            = 1376
  6392  	ERROR_NO_SUCH_DOMAIN                                                           = 1355
  6393  	ERROR_NO_SUCH_GROUP                                                            = 1319
  6394  	ERROR_NO_SUCH_LOGON_SESSION                                                    = 1312
  6395  	ERROR_NO_SUCH_MEMBER                                                           = 1387
  6396  	ERROR_NO_SUCH_PACKAGE                                                          = 1364
  6397  	ERROR_NO_SUCH_PRIVILEGE                                                        = 1313
  6398  	ERROR_NO_SUCH_SITE                                                             = 1249
  6399  	ERROR_NO_SUCH_USER                                                             = 1317
  6400  	ERROR_NO_SUPPORTING_DRIVES                                                     = 4339
  6401  	ERROR_NO_SYSTEM_MENU                                                           = 1437
  6402  	ERROR_NO_SYSTEM_RESOURCES                                                      = 1450
  6403  	ERROR_NO_TOKEN                                                                 = 1008
  6404  	ERROR_NO_TRACKING_SERVICE                                                      = 1172
  6405  	ERROR_NO_TRUST_LSA_SECRET                                                      = 1786
  6406  	ERROR_NO_TRUST_SAM_ACCOUNT                                                     = 1787
  6407  	ERROR_NO_UNICODE_TRANSLATION                                                   = 1113
  6408  	ERROR_NO_USER_KEYS                                                             = 6006
  6409  	ERROR_NO_USER_SESSION_KEY                                                      = 1394
  6410  	ERROR_NO_VOLUME_ID                                                             = 1173
  6411  	ERROR_NO_VOLUME_LABEL                                                          = 125
  6412  	ERROR_NO_WILDCARD_CHARACTERS                                                   = 1417
  6413  	ERROR_NT_CROSS_ENCRYPTION_REQUIRED                                             = 1386
  6414  	ERROR_NULL_LM_PASSWORD                                                         = 1304
  6415  	ERROR_OBJECT_ALREADY_EXISTS                                                    = 5010
  6416  	ERROR_OBJECT_IN_LIST                                                           = 5011
  6417  	ERROR_OBJECT_NOT_FOUND                                                         = 4312
  6418  	ERROR_OLD_WIN_VERSION                                                          = 1150
  6419  	ERROR_ONLY_IF_CONNECTED                                                        = 1251
  6420  	ERROR_OPEN_FAILED                                                              = 110
  6421  	ERROR_OPEN_FILES                                                               = 2401
  6422  	ERROR_OPERATION_ABORTED                                                        = 995
  6423  	ERROR_OPLOCK_NOT_GRANTED                                                       = 300
  6424  	ERROR_OUTOFMEMORY                                                              = 14
  6425  	ERROR_OUT_OF_PAPER                                                             = 28
  6426  	ERROR_OUT_OF_STRUCTURES                                                        = 84
  6427  	ERROR_OVERRIDE_NOCHANGES                                                       = 1252
  6428  	ERROR_PACKAGES_IN_USE                                                          = 15618
  6429  	ERROR_PACKAGE_ALREADY_EXISTS                                                   = 15611
  6430  	ERROR_PACKAGE_REPOSITORY_CORRUPTED                                             = 15614
  6431  	ERROR_PACKAGE_UPDATING                                                         = 15616
  6432  	ERROR_PAGED_SYSTEM_RESOURCES                                                   = 1452
  6433  	ERROR_PAGEFILE_QUOTA                                                           = 1454
  6434  	ERROR_PARAMETER_QUOTA_EXCEEDED                                                 = 1283
  6435  	ERROR_PARTIAL_COPY                                                             = 299
  6436  	ERROR_PARTITION_FAILURE                                                        = 1105
  6437  	ERROR_PASSWORD_EXPIRED                                                         = 1330
  6438  	ERROR_PASSWORD_MUST_CHANGE                                                     = 1907
  6439  	ERROR_PASSWORD_RESTRICTION                                                     = 1325
  6440  	ERROR_PATCH_PACKAGE_INVALID                                                    = 1636
  6441  	ERROR_PATCH_PACKAGE_OPEN_FAILED                                                = 1635
  6442  	ERROR_PATCH_PACKAGE_REJECTED                                                   = 1643
  6443  	ERROR_PATCH_PACKAGE_UNSUPPORTED                                                = 1637
  6444  	ERROR_PATCH_TARGET_NOT_FOUND                                                   = 1642
  6445  	ERROR_PATH_BUSY                                                                = 148
  6446  	ERROR_PATH_NOT_FOUND                                                           = 3
  6447  	ERROR_PER_USER_TRUST_QUOTA_EXCEEDED                                            = 1932
  6448  	ERROR_PIPE_BUSY                                                                = 231
  6449  	ERROR_PIPE_CONNECTED                                                           = 535
  6450  	ERROR_PIPE_LISTENING                                                           = 536
  6451  	ERROR_PIPE_LOCAL                                                               = 229
  6452  	ERROR_PIPE_NOT_CONNECTED                                                       = 233
  6453  	ERROR_PKINIT_FAILURE                                                           = 1263
  6454  	ERROR_POINT_NOT_FOUND                                                          = 1171
  6455  	ERROR_POLICY_OBJECT_NOT_FOUND                                                  = 8219
  6456  	ERROR_POLICY_ONLY_IN_DS                                                        = 8220
  6457  	ERROR_POPUP_ALREADY_ACTIVE                                                     = 1446
  6458  	ERROR_PORT_UNREACHABLE                                                         = 1234
  6459  	ERROR_POSSIBLE_DEADLOCK                                                        = 1131
  6460  	ERROR_POTENTIAL_FILE_FOUND                                                     = 1180
  6461  	ERROR_PRINTER_ALREADY_EXISTS                                                   = 1802
  6462  	ERROR_PRINTER_DELETED                                                          = 1905
  6463  	ERROR_PRINTER_DRIVER_ALREADY_INSTALLED                                         = 1795
  6464  	ERROR_PRINTER_DRIVER_BLOCKED                                                   = 3014
  6465  	ERROR_PRINTER_DRIVER_IN_USE                                                    = 3001
  6466  	ERROR_PRINTER_DRIVER_WARNED                                                    = 3013
  6467  	ERROR_PRINTER_HAS_JOBS_QUEUED                                                  = 3009
  6468  	ERROR_PRINTER_NOT_FOUND                                                        = 3012
  6469  	ERROR_PRINTQ_FULL                                                              = 61
  6470  	ERROR_PRINT_CANCELLED                                                          = 63
  6471  	ERROR_PRINT_MONITOR_ALREADY_INSTALLED                                          = 3006
  6472  	ERROR_PRINT_MONITOR_IN_USE                                                     = 3008
  6473  	ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED                                        = 3005
  6474  	ERROR_PRIVATE_DIALOG_INDEX                                                     = 1415
  6475  	ERROR_PRIVILEGE_NOT_HELD                                                       = 1314
  6476  	ERROR_PROCESS_ABORTED                                                          = 1067
  6477  	ERROR_PROC_NOT_FOUND                                                           = 127
  6478  	ERROR_PRODUCT_UNINSTALLED                                                      = 1614
  6479  	ERROR_PRODUCT_VERSION                                                          = 1638
  6480  	ERROR_PROFILE_NOT_ASSOCIATED_WITH_DEVICE                                       = 2015
  6481  	ERROR_PROFILE_NOT_FOUND                                                        = 2016
  6482  	ERROR_PROMOTION_ACTIVE                                                         = 8221
  6483  	ERROR_PROTOCOL_UNREACHABLE                                                     = 1233
  6484  	ERROR_QUORUMLOG_OPEN_FAILED                                                    = 5028
  6485  	ERROR_QUORUM_DISK_NOT_FOUND                                                    = 5086
  6486  	ERROR_QUORUM_OWNER_ALIVE                                                       = 5034
  6487  	ERROR_QUORUM_RESOURCE                                                          = 5020
  6488  	ERROR_QUORUM_RESOURCE_ONLINE_FAILED                                            = 5027
  6489  	ERROR_READ_FAULT                                                               = 30
  6490  	ERROR_RECOVERY_FAILURE                                                         = 1279
  6491  	ERROR_RECOVERY_FILE_CORRUPT                                                    = 15619
  6492  	ERROR_REC_NON_EXISTENT                                                         = 4005
  6493  	ERROR_REDIRECTOR_HAS_OPEN_HANDLES                                              = 1794
  6494  	ERROR_REDIR_PAUSED                                                             = 72
  6495  	ERROR_REGISTRY_CORRUPT                                                         = 1015
  6496  	ERROR_REGISTRY_IO_FAILED                                                       = 1016
  6497  	ERROR_REGISTRY_RECOVERED                                                       = 1014
  6498  	ERROR_REG_NAT_CONSUMPTION                                                      = 1261
  6499  	ERROR_RELOC_CHAIN_XEEDS_SEGLIM                                                 = 201
  6500  	ERROR_REMOTE_PRINT_CONNECTIONS_BLOCKED                                         = 1936
  6501  	ERROR_REMOTE_SESSION_LIMIT_EXCEEDED                                            = 1220
  6502  	ERROR_REMOTE_STORAGE_MEDIA_ERROR                                               = 4352
  6503  	ERROR_REMOTE_STORAGE_NOT_ACTIVE                                                = 4351
  6504  	ERROR_REMOVE_FAILED                                                            = 15610
  6505  	ERROR_REM_NOT_LIST                                                             = 51
  6506  	ERROR_REPARSE_ATTRIBUTE_CONFLICT                                               = 4391
  6507  	ERROR_REPARSE_TAG_INVALID                                                      = 4393
  6508  	ERROR_REPARSE_TAG_MISMATCH                                                     = 4394
  6509  	ERROR_REQUEST_ABORTED                                                          = 1235
  6510  	ERROR_REQUEST_REFUSED                                                          = 4320
  6511  	ERROR_REQUIRES_INTERACTIVE_WINDOWSTATION                                       = 1459
  6512  	ERROR_REQ_NOT_ACCEP                                                            = 71
  6513  	ERROR_RESILIENCY_FILE_CORRUPT                                                  = 15625
  6514  	ERROR_RESMON_CREATE_FAILED                                                     = 5017
  6515  	ERROR_RESMON_INVALID_STATE                                                     = 5084
  6516  	ERROR_RESMON_ONLINE_FAILED                                                     = 5018
  6517  	ERROR_RESOURCE_DATA_NOT_FOUND                                                  = 1812
  6518  	ERROR_RESOURCE_DISABLED                                                        = 4309
  6519  	ERROR_RESOURCE_ENUM_USER_STOP                                                  = 15106
  6520  	ERROR_RESOURCE_FAILED                                                          = 5038
  6521  	ERROR_RESOURCE_LANG_NOT_FOUND                                                  = 1815
  6522  	ERROR_RESOURCE_NAME_NOT_FOUND                                                  = 1814
  6523  	ERROR_RESOURCE_NOT_AVAILABLE                                                   = 5006
  6524  	ERROR_RESOURCE_NOT_FOUND                                                       = 5007
  6525  	ERROR_RESOURCE_NOT_ONLINE                                                      = 5004
  6526  	ERROR_RESOURCE_NOT_PRESENT                                                     = 4316
  6527  	ERROR_RESOURCE_ONLINE                                                          = 5019
  6528  	ERROR_RESOURCE_PROPERTIES_STORED                                               = 5024
  6529  	ERROR_RESOURCE_PROPERTY_UNCHANGEABLE                                           = 5089
  6530  	ERROR_RESOURCE_TYPE_NOT_FOUND                                                  = 1813
  6531  	ERROR_RESTART_APPLICATION                                                      = 1467
  6532  	ERROR_RETRY                                                                    = 1237
  6533  	ERROR_REVISION_MISMATCH                                                        = 1306
  6534  	ERROR_RING2SEG_MUST_BE_MOVABLE                                                 = 200
  6535  	ERROR_RING2_STACK_IN_USE                                                       = 207
  6536  	ERROR_RMODE_APP                                                                = 1153
  6537  	ERROR_RPL_NOT_ALLOWED                                                          = 4006
  6538  	ERROR_RUNLEVEL_SWITCH_AGENT_TIMEOUT                                            = 15403
  6539  	ERROR_RUNLEVEL_SWITCH_IN_PROGRESS                                              = 15404
  6540  	ERROR_RUNLEVEL_SWITCH_TIMEOUT                                                  = 15402
  6541  	ERROR_RXACT_COMMIT_FAILURE                                                     = 1370
  6542  	ERROR_RXACT_INVALID_STATE                                                      = 1369
  6543  	ERROR_SAME_DRIVE                                                               = 143
  6544  	ERROR_SAM_INIT_FAILURE                                                         = 8541
  6545  	ERROR_SCOPE_NOT_FOUND                                                          = 318
  6546  	ERROR_SCREEN_ALREADY_LOCKED                                                    = 1440
  6547  	ERROR_SECONDARY_IC_PROVIDER_NOT_REGISTERED                                     = 15321
  6548  	ERROR_SECRET_TOO_LONG                                                          = 1382
  6549  	ERROR_SECTOR_NOT_FOUND                                                         = 27
  6550  	ERROR_SEEK                                                                     = 25
  6551  	ERROR_SEEK_ON_DEVICE                                                           = 132
  6552  	ERROR_SEM_IS_SET                                                               = 102
  6553  	ERROR_SEM_NOT_FOUND                                                            = 187
  6554  	ERROR_SEM_OWNER_DIED                                                           = 105
  6555  	ERROR_SEM_TIMEOUT                                                              = 121
  6556  	ERROR_SEM_USER_LIMIT                                                           = 106
  6557  	ERROR_SERIAL_NO_DEVICE                                                         = 1118
  6558  	ERROR_SERVER_DISABLED                                                          = 1341
  6559  	ERROR_SERVER_HAS_OPEN_HANDLES                                                  = 1811
  6560  	ERROR_SERVER_NOT_DISABLED                                                      = 1342
  6561  	ERROR_SERVER_SHUTDOWN_IN_PROGRESS                                              = 1255
  6562  	ERROR_SERVICES_FAILED_AUTOSTART                                                = 15405
  6563  	ERROR_SERVICE_ALREADY_RUNNING                                                  = 1056
  6564  	ERROR_SERVICE_CANNOT_ACCEPT_CTRL                                               = 1061
  6565  	ERROR_SERVICE_DATABASE_LOCKED                                                  = 1055
  6566  	ERROR_SERVICE_DEPENDENCY_DELETED                                               = 1075
  6567  	ERROR_SERVICE_DEPENDENCY_FAIL                                                  = 1068
  6568  	ERROR_SERVICE_DISABLED                                                         = 1058
  6569  	ERROR_SERVICE_DOES_NOT_EXIST                                                   = 1060
  6570  	ERROR_SERVICE_EXISTS                                                           = 1073
  6571  	ERROR_SERVICE_LOGON_FAILED                                                     = 1069
  6572  	ERROR_SERVICE_MARKED_FOR_DELETE                                                = 1072
  6573  	ERROR_SERVICE_NEVER_STARTED                                                    = 1077
  6574  	ERROR_SERVICE_NOT_ACTIVE                                                       = 1062
  6575  	ERROR_SERVICE_NOT_FOUND                                                        = 1243
  6576  	ERROR_SERVICE_NOT_IN_EXE                                                       = 1083
  6577  	ERROR_SERVICE_NO_THREAD                                                        = 1054
  6578  	ERROR_SERVICE_REQUEST_TIMEOUT                                                  = 1053
  6579  	ERROR_SERVICE_SPECIFIC_ERROR                                                   = 1066
  6580  	ERROR_SERVICE_START_HANG                                                       = 1070
  6581  	ERROR_SESSION_CREDENTIAL_CONFLICT                                              = 1219
  6582  	ERROR_SETCOUNT_ON_BAD_LB                                                       = 1433
  6583  	ERROR_SETMARK_DETECTED                                                         = 1103
  6584  	ERROR_SET_NOT_FOUND                                                            = 1170
  6585  	ERROR_SET_POWER_STATE_FAILED                                                   = 1141
  6586  	ERROR_SET_POWER_STATE_VETOED                                                   = 1140
  6587  	ERROR_SEVERITY_ERROR                                                           = 0xC0000000
  6588  	ERROR_SEVERITY_INFORMATIONAL                                                   = 0x40000000
  6589  	ERROR_SEVERITY_SUCCESS                                                         = 0x00000000
  6590  	ERROR_SEVERITY_WARNING                                                         = 0x80000000
  6591  	ERROR_SHARED_POLICY                                                            = 8218
  6592  	ERROR_SHARING_BUFFER_EXCEEDED                                                  = 36
  6593  	ERROR_SHARING_PAUSED                                                           = 70
  6594  	ERROR_SHARING_VIOLATION                                                        = 32
  6595  	ERROR_SHUTDOWN_CLUSTER                                                         = 5008
  6596  	ERROR_SHUTDOWN_IN_PROGRESS                                                     = 1115
  6597  	ERROR_SIGNAL_PENDING                                                           = 162
  6598  	ERROR_SIGNAL_REFUSED                                                           = 156
  6599  	ERROR_SINGLE_INSTANCE_APP                                                      = 1152
  6600  	ERROR_SLOT_NOT_PRESENT                                                         = 0x00000004
  6601  	ERROR_SMARTCARD_SUBSYSTEM_FAILURE                                              = 1264
  6602  	ERROR_SMI_PRIMITIVE_INSTALLER_FAILED                                           = 14108
  6603  	ERROR_SOME_NOT_MAPPED                                                          = 1301
  6604  	ERROR_SOURCE_ELEMENT_EMPTY                                                     = 1160
  6605  	ERROR_SPECIAL_ACCOUNT                                                          = 1371
  6606  	ERROR_SPECIAL_GROUP                                                            = 1372
  6607  	ERROR_SPECIAL_USER                                                             = 1373
  6608  	ERROR_SPL_NO_ADDJOB                                                            = 3004
  6609  	ERROR_SPL_NO_STARTDOC                                                          = 3003
  6610  	ERROR_SPOOL_FILE_NOT_FOUND                                                     = 3002
  6611  	ERROR_STACK_BUFFER_OVERRUN                                                     = 1282
  6612  	ERROR_STACK_OVERFLOW                                                           = 1001
  6613  	ERROR_STATE_COMPOSITE_SETTING_VALUE_SIZE_LIMIT_EXCEEDED                        = 15815
  6614  	ERROR_STATE_CONTAINER_NAME_SIZE_LIMIT_EXCEEDED                                 = 15818
  6615  	ERROR_STATE_CREATE_CONTAINER_FAILED                                            = 15805
  6616  	ERROR_STATE_DELETE_CONTAINER_FAILED                                            = 15806
  6617  	ERROR_STATE_DELETE_SETTING_FAILED                                              = 15809
  6618  	ERROR_STATE_ENUMERATE_CONTAINER_FAILED                                         = 15813
  6619  	ERROR_STATE_ENUMERATE_SETTINGS_FAILED                                          = 15814
  6620  	ERROR_STATE_GET_VERSION_FAILED                                                 = 15801
  6621  	ERROR_STATE_LOAD_STORE_FAILED                                                  = 15800
  6622  	ERROR_STATE_OPEN_CONTAINER_FAILED                                              = 15804
  6623  	ERROR_STATE_QUERY_SETTING_FAILED                                               = 15810
  6624  	ERROR_STATE_READ_COMPOSITE_SETTING_FAILED                                      = 15811
  6625  	ERROR_STATE_READ_SETTING_FAILED                                                = 15807
  6626  	ERROR_STATE_SETTING_NAME_SIZE_LIMIT_EXCEEDED                                   = 15817
  6627  	ERROR_STATE_SETTING_VALUE_SIZE_LIMIT_EXCEEDED                                  = 15816
  6628  	ERROR_STATE_SET_VERSION_FAILED                                                 = 15802
  6629  	ERROR_STATE_STRUCTURED_RESET_FAILED                                            = 15803
  6630  	ERROR_STATE_WRITE_COMPOSITE_SETTING_FAILED                                     = 15812
  6631  	ERROR_STATE_WRITE_SETTING_FAILED                                               = 15808
  6632  	ERROR_STATIC_INIT                                                              = 4002
  6633  	ERROR_SUBST_TO_JOIN                                                            = 141
  6634  	ERROR_SUBST_TO_SUBST                                                           = 139
  6635  	ERROR_SUCCESS                                                                  = 0
  6636  	ERROR_SUCCESS_REBOOT_INITIATED                                                 = 1641
  6637  	ERROR_SUCCESS_REBOOT_REQUIRED                                                  = 3010
  6638  	ERROR_SUCCESS_RESTART_REQUIRED                                                 = 3011
  6639  	ERROR_SWAPERROR                                                                = 999
  6640  	ERROR_SXS_ACTIVATION_CONTEXT_DISABLED                                          = 14006
  6641  	ERROR_SXS_ASSEMBLY_IS_NOT_A_DEPLOYMENT                                         = 14103
  6642  	ERROR_SXS_ASSEMBLY_MISSING                                                     = 14081
  6643  	ERROR_SXS_ASSEMBLY_NOT_FOUND                                                   = 14003
  6644  	ERROR_SXS_ASSEMBLY_NOT_LOCKED                                                  = 14097
  6645  	ERROR_SXS_CANT_GEN_ACTCTX                                                      = 14001
  6646  	ERROR_SXS_COMPONENT_STORE_CORRUPT                                              = 14098
  6647  	ERROR_SXS_CORRUPTION                                                           = 14083
  6648  	ERROR_SXS_CORRUPT_ACTIVATION_STACK                                             = 14082
  6649  	ERROR_SXS_DUPLICATE_ASSEMBLY_NAME                                              = 14027
  6650  	ERROR_SXS_DUPLICATE_CLSID                                                      = 14023
  6651  	ERROR_SXS_DUPLICATE_DLL_NAME                                                   = 14021
  6652  	ERROR_SXS_DUPLICATE_IID                                                        = 14024
  6653  	ERROR_SXS_DUPLICATE_PROGID                                                     = 14026
  6654  	ERROR_SXS_DUPLICATE_TLBID                                                      = 14025
  6655  	ERROR_SXS_DUPLICATE_WINDOWCLASS_NAME                                           = 14022
  6656  	ERROR_SXS_EARLY_DEACTIVATION                                                   = 14084
  6657  	ERROR_SXS_FILE_HASH_MISMATCH                                                   = 14028
  6658  	ERROR_SXS_FILE_HASH_MISSING                                                    = 14110
  6659  	ERROR_SXS_FILE_NOT_PART_OF_ASSEMBLY                                            = 14104
  6660  	ERROR_SXS_IDENTITIES_DIFFERENT                                                 = 14102
  6661  	ERROR_SXS_IDENTITY_DUPLICATE_ATTRIBUTE                                         = 14092
  6662  	ERROR_SXS_IDENTITY_PARSE_ERROR                                                 = 14093
  6663  	ERROR_SXS_INCORRECT_PUBLIC_KEY_TOKEN                                           = 14095
  6664  	ERROR_SXS_INVALID_ACTCTXDATA_FORMAT                                            = 14002
  6665  	ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE                                  = 14017
  6666  	ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE_NAME                             = 14080
  6667  	ERROR_SXS_INVALID_DEACTIVATION                                                 = 14085
  6668  	ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME                                      = 14091
  6669  	ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE                                     = 14090
  6670  	ERROR_SXS_INVALID_XML_NAMESPACE_URI                                            = 14014
  6671  	ERROR_SXS_KEY_NOT_FOUND                                                        = 14007
  6672  	ERROR_SXS_LEAF_MANIFEST_DEPENDENCY_NOT_INSTALLED                               = 14016
  6673  	ERROR_SXS_MANIFEST_FORMAT_ERROR                                                = 14004
  6674  	ERROR_SXS_MANIFEST_IDENTITY_SAME_BUT_CONTENTS_DIFFERENT                        = 14101
  6675  	ERROR_SXS_MANIFEST_INVALID_REQUIRED_DEFAULT_NAMESPACE                          = 14019
  6676  	ERROR_SXS_MANIFEST_MISSING_REQUIRED_DEFAULT_NAMESPACE                          = 14018
  6677  	ERROR_SXS_MANIFEST_PARSE_ERROR                                                 = 14005
  6678  	ERROR_SXS_MANIFEST_TOO_BIG                                                     = 14105
  6679  	ERROR_SXS_MISSING_ASSEMBLY_IDENTITY_ATTRIBUTE                                  = 14079
  6680  	ERROR_SXS_MULTIPLE_DEACTIVATION                                                = 14086
  6681  	ERROR_SXS_POLICY_PARSE_ERROR                                                   = 14029
  6682  	ERROR_SXS_PRIVATE_MANIFEST_CROSS_PATH_WITH_REPARSE_POINT                       = 14020
  6683  	ERROR_SXS_PROCESS_DEFAULT_ALREADY_SET                                          = 14011
  6684  	ERROR_SXS_PROCESS_TERMINATION_REQUESTED                                        = 14087
  6685  	ERROR_SXS_PROTECTION_CATALOG_FILE_MISSING                                      = 14078
  6686  	ERROR_SXS_PROTECTION_CATALOG_NOT_VALID                                         = 14076
  6687  	ERROR_SXS_PROTECTION_PUBLIC_KEY_TOO_SHORT                                      = 14075
  6688  	ERROR_SXS_PROTECTION_RECOVERY_FAILED                                           = 14074
  6689  	ERROR_SXS_RELEASE_ACTIVATION_CONTEXT                                           = 14088
  6690  	ERROR_SXS_ROOT_MANIFEST_DEPENDENCY_NOT_INSTALLED                               = 14015
  6691  	ERROR_SXS_SECTION_NOT_FOUND                                                    = 14000
  6692  	ERROR_SXS_SETTING_NOT_REGISTERED                                               = 14106
  6693  	ERROR_SXS_SYSTEM_DEFAULT_ACTIVATION_CONTEXT_EMPTY                              = 14089
  6694  	ERROR_SXS_THREAD_QUERIES_DISABLED                                              = 14010
  6695  	ERROR_SXS_TRANSACTION_CLOSURE_INCOMPLETE                                       = 14107
  6696  	ERROR_SXS_UNKNOWN_ENCODING                                                     = 14013
  6697  	ERROR_SXS_UNKNOWN_ENCODING_GROUP                                               = 14012
  6698  	ERROR_SXS_UNTRANSLATABLE_HRESULT                                               = 14077
  6699  	ERROR_SXS_VERSION_CONFLICT                                                     = 14008
  6700  	ERROR_SXS_WRONG_SECTION_TYPE                                                   = 14009
  6701  	ERROR_SXS_XML_E_BADCHARDATA                                                    = 14036
  6702  	ERROR_SXS_XML_E_BADCHARINSTRING                                                = 14034
  6703  	ERROR_SXS_XML_E_BADNAMECHAR                                                    = 14033
  6704  	ERROR_SXS_XML_E_BADPEREFINSUBSET                                               = 14059
  6705  	ERROR_SXS_XML_E_BADSTARTNAMECHAR                                               = 14032
  6706  	ERROR_SXS_XML_E_BADXMLCASE                                                     = 14069
  6707  	ERROR_SXS_XML_E_BADXMLDECL                                                     = 14056
  6708  	ERROR_SXS_XML_E_COMMENTSYNTAX                                                  = 14031
  6709  	ERROR_SXS_XML_E_DUPLICATEATTRIBUTE                                             = 14053
  6710  	ERROR_SXS_XML_E_EXPECTINGCLOSEQUOTE                                            = 14045
  6711  	ERROR_SXS_XML_E_EXPECTINGTAGEND                                                = 14038
  6712  	ERROR_SXS_XML_E_INCOMPLETE_ENCODING                                            = 14043
  6713  	ERROR_SXS_XML_E_INTERNALERROR                                                  = 14041
  6714  	ERROR_SXS_XML_E_INVALIDATROOTLEVEL                                             = 14055
  6715  	ERROR_SXS_XML_E_INVALIDENCODING                                                = 14067
  6716  	ERROR_SXS_XML_E_INVALIDSWITCH                                                  = 14068
  6717  	ERROR_SXS_XML_E_INVALID_DECIMAL                                                = 14047
  6718  	ERROR_SXS_XML_E_INVALID_HEXIDECIMAL                                            = 14048
  6719  	ERROR_SXS_XML_E_INVALID_STANDALONE                                             = 14070
  6720  	ERROR_SXS_XML_E_INVALID_UNICODE                                                = 14049
  6721  	ERROR_SXS_XML_E_INVALID_VERSION                                                = 14072
  6722  	ERROR_SXS_XML_E_MISSINGEQUALS                                                  = 14073
  6723  	ERROR_SXS_XML_E_MISSINGQUOTE                                                   = 14030
  6724  	ERROR_SXS_XML_E_MISSINGROOT                                                    = 14057
  6725  	ERROR_SXS_XML_E_MISSINGSEMICOLON                                               = 14039
  6726  	ERROR_SXS_XML_E_MISSINGWHITESPACE                                              = 14037
  6727  	ERROR_SXS_XML_E_MISSING_PAREN                                                  = 14044
  6728  	ERROR_SXS_XML_E_MULTIPLEROOTS                                                  = 14054
  6729  	ERROR_SXS_XML_E_MULTIPLE_COLONS                                                = 14046
  6730  	ERROR_SXS_XML_E_RESERVEDNAMESPACE                                              = 14066
  6731  	ERROR_SXS_XML_E_UNBALANCEDPAREN                                                = 14040
  6732  	ERROR_SXS_XML_E_UNCLOSEDCDATA                                                  = 14065
  6733  	ERROR_SXS_XML_E_UNCLOSEDCOMMENT                                                = 14063
  6734  	ERROR_SXS_XML_E_UNCLOSEDDECL                                                   = 14064
  6735  	ERROR_SXS_XML_E_UNCLOSEDENDTAG                                                 = 14061
  6736  	ERROR_SXS_XML_E_UNCLOSEDSTARTTAG                                               = 14060
  6737  	ERROR_SXS_XML_E_UNCLOSEDSTRING                                                 = 14062
  6738  	ERROR_SXS_XML_E_UNCLOSEDTAG                                                    = 14052
  6739  	ERROR_SXS_XML_E_UNEXPECTEDENDTAG                                               = 14051
  6740  	ERROR_SXS_XML_E_UNEXPECTEDEOF                                                  = 14058
  6741  	ERROR_SXS_XML_E_UNEXPECTED_STANDALONE                                          = 14071
  6742  	ERROR_SXS_XML_E_UNEXPECTED_WHITESPACE                                          = 14042
  6743  	ERROR_SXS_XML_E_WHITESPACEORQUESTIONMARK                                       = 14050
  6744  	ERROR_SXS_XML_E_XMLDECLSYNTAX                                                  = 14035
  6745  	ERROR_SYMLINK_CLASS_DISABLED                                                   = 1463
  6746  	ERROR_SYMLINK_NOT_SUPPORTED                                                    = 1464
  6747  	ERROR_SYNC_FOREGROUND_REFRESH_REQUIRED                                         = 1274
  6748  	ERROR_SYSTEM_DEVICE_NOT_FOUND                                                  = 15299
  6749  	ERROR_SYSTEM_NEEDS_REMEDIATION                                                 = 15623
  6750  	ERROR_SYSTEM_TRACE                                                             = 150
  6751  	ERROR_TAG_NOT_FOUND                                                            = 2012
  6752  	ERROR_TAG_NOT_PRESENT                                                          = 2013
  6753  	ERROR_THREAD_1_INACTIVE                                                        = 210
  6754  	ERROR_TIMEOUT                                                                  = 1460
  6755  	ERROR_TIME_SKEW                                                                = 1398
  6756  	ERROR_TLW_WITH_WSCHILD                                                         = 1406
  6757  	ERROR_TOKEN_ALREADY_IN_USE                                                     = 1375
  6758  	ERROR_TOO_MANY_CMDS                                                            = 56
  6759  	ERROR_TOO_MANY_CONTEXT_IDS                                                     = 1384
  6760  	ERROR_TOO_MANY_LINKS                                                           = 1142
  6761  	ERROR_TOO_MANY_LUIDS_REQUESTED                                                 = 1333
  6762  	ERROR_TOO_MANY_MODULES                                                         = 214
  6763  	ERROR_TOO_MANY_MUXWAITERS                                                      = 152
  6764  	ERROR_TOO_MANY_NAMES                                                           = 68
  6765  	ERROR_TOO_MANY_OPEN_FILES                                                      = 4
  6766  	ERROR_TOO_MANY_POSTS                                                           = 298
  6767  	ERROR_TOO_MANY_SECRETS                                                         = 1381
  6768  	ERROR_TOO_MANY_SEMAPHORES                                                      = 100
  6769  	ERROR_TOO_MANY_SEM_REQUESTS                                                    = 103
  6770  	ERROR_TOO_MANY_SESS                                                            = 69
  6771  	ERROR_TOO_MANY_SIDS                                                            = 1389
  6772  	ERROR_TOO_MANY_TCBS                                                            = 155
  6773  	ERROR_TRANSFORM_NOT_SUPPORTED                                                  = 2004
  6774  	ERROR_TRANSPORT_FULL                                                           = 4328
  6775  	ERROR_TRAY_MALFUNCTION                                                         = 0x00000010
  6776  	ERROR_TRUSTED_DOMAIN_FAILURE                                                   = 1788
  6777  	ERROR_TRUSTED_RELATIONSHIP_FAILURE                                             = 1789
  6778  	ERROR_TRUST_FAILURE                                                            = 1790
  6779  	ERROR_UNABLE_TO_CLEAN                                                          = 4311
  6780  	ERROR_UNABLE_TO_EJECT_MOUNTED_MEDIA                                            = 4330
  6781  	ERROR_UNABLE_TO_INVENTORY_DRIVE                                                = 4325
  6782  	ERROR_UNABLE_TO_INVENTORY_SLOT                                                 = 4326
  6783  	ERROR_UNABLE_TO_INVENTORY_TRANSPORT                                            = 4327
  6784  	ERROR_UNABLE_TO_LOAD_MEDIUM                                                    = 4324
  6785  	ERROR_UNABLE_TO_LOCK_MEDIA                                                     = 1108
  6786  	ERROR_UNABLE_TO_MOVE_REPLACEMENT                                               = 1176
  6787  	ERROR_UNABLE_TO_MOVE_REPLACEMENT_2                                             = 1177
  6788  	ERROR_UNABLE_TO_REMOVE_REPLACED                                                = 1175
  6789  	ERROR_UNABLE_TO_UNLOAD_MEDIA                                                   = 1109
  6790  	ERROR_UNEXPECTED_OMID                                                          = 4334
  6791  	ERROR_UNEXP_NET_ERR                                                            = 59
  6792  	ERROR_UNHANDLED_ERROR                                                          = 0xFFFFFFFF
  6793  	ERROR_UNIDENTIFIED_ERROR                                                       = 1287
  6794  	ERROR_UNKNOWN_COMPONENT                                                        = 1607
  6795  	ERROR_UNKNOWN_FEATURE                                                          = 1606
  6796  	ERROR_UNKNOWN_PORT                                                             = 1796
  6797  	ERROR_UNKNOWN_PRINTER_DRIVER                                                   = 1797
  6798  	ERROR_UNKNOWN_PRINTPROCESSOR                                                   = 1798
  6799  	ERROR_UNKNOWN_PRINT_MONITOR                                                    = 3000
  6800  	ERROR_UNKNOWN_PRODUCT                                                          = 1605
  6801  	ERROR_UNKNOWN_PROPERTY                                                         = 1608
  6802  	ERROR_UNKNOWN_REVISION                                                         = 1305
  6803  	ERROR_UNMAPPED_SUBSTITUTION_STRING                                             = 14096
  6804  	ERROR_UNRECOGNIZED_MEDIA                                                       = 1785
  6805  	ERROR_UNRECOGNIZED_VOLUME                                                      = 1005
  6806  	ERROR_UNSUPPORTED_TYPE                                                         = 1630
  6807  	ERROR_USER_APC                                                                 = 737
  6808  	ERROR_USER_DELETE_TRUST_QUOTA_EXCEEDED                                         = 1934
  6809  	ERROR_USER_EXISTS                                                              = 1316
  6810  	ERROR_USER_MAPPED_FILE                                                         = 1224
  6811  	ERROR_VC_DISCONNECTED                                                          = 240
  6812  	ERROR_VDM_DISALLOWED                                                           = 1286
  6813  	ERROR_VOLUME_CONTAINS_SYS_FILES                                                = 4337
  6814  	ERROR_VOLUME_NOT_SIS_ENABLED                                                   = 4500
  6815  	ERROR_VOLUME_NOT_SUPPORT_EFS                                                   = 6014
  6816  	ERROR_WAIT_1                                                                   = 731
  6817  	ERROR_WAIT_2                                                                   = 732
  6818  	ERROR_WAIT_3                                                                   = 733
  6819  	ERROR_WAIT_63                                                                  = 734
  6820  	ERROR_WAIT_NO_CHILDREN                                                         = 128
  6821  	ERROR_WAKE_SYSTEM                                                              = 730
  6822  	ERROR_WINDOW_NOT_COMBOBOX                                                      = 1423
  6823  	ERROR_WINDOW_NOT_DIALOG                                                        = 1420
  6824  	ERROR_WINDOW_OF_OTHER_THREAD                                                   = 1408
  6825  	ERROR_WINS_INTERNAL                                                            = 4000
  6826  	ERROR_WMI_ALREADY_DISABLED                                                     = 4212
  6827  	ERROR_WMI_ALREADY_ENABLED                                                      = 4206
  6828  	ERROR_WMI_DP_FAILED                                                            = 4209
  6829  	ERROR_WMI_DP_NOT_FOUND                                                         = 4204
  6830  	ERROR_WMI_GUID_DISCONNECTED                                                    = 4207
  6831  	ERROR_WMI_GUID_NOT_FOUND                                                       = 4200
  6832  	ERROR_WMI_INSTANCE_NOT_FOUND                                                   = 4201
  6833  	ERROR_WMI_INVALID_MOF                                                          = 4210
  6834  	ERROR_WMI_INVALID_REGINFO                                                      = 4211
  6835  	ERROR_WMI_ITEMID_NOT_FOUND                                                     = 4202
  6836  	ERROR_WMI_READ_ONLY                                                            = 4213
  6837  	ERROR_WMI_SERVER_UNAVAILABLE                                                   = 4208
  6838  	ERROR_WMI_SET_FAILURE                                                          = 4214
  6839  	ERROR_WMI_TRY_AGAIN                                                            = 4203
  6840  	ERROR_WMI_UNRESOLVED_INSTANCE_REF                                              = 4205
  6841  	ERROR_WORKING_SET_QUOTA                                                        = 1453
  6842  	ERROR_WRITE_FAULT                                                              = 29
  6843  	ERROR_WRITE_PROTECT                                                            = 19
  6844  	ERROR_WRONG_COMPARTMENT                                                        = 1468
  6845  	ERROR_WRONG_DISK                                                               = 34
  6846  	ERROR_WRONG_EFS                                                                = 6005
  6847  	ERROR_WRONG_PASSWORD                                                           = 1323
  6848  	ERROR_WRONG_TARGET_NAME                                                        = 1396
  6849  	ERROR_XMLDSIG_ERROR                                                            = 1466
  6850  	ERROR_XML_ENCODING_MISMATCH                                                    = 14100
  6851  	ERROR_XML_PARSE_ERROR                                                          = 1465
  6852  	ESB_DISABLE_BOTH                                                               = 0x0003
  6853  	ESB_DISABLE_DOWN                                                               = 0x0002
  6854  	ESB_DISABLE_LEFT                                                               = 0x0001
  6855  	ESB_DISABLE_LTUP                                                               = 1
  6856  	ESB_DISABLE_RIGHT                                                              = 0x0002
  6857  	ESB_DISABLE_RTDN                                                               = 2
  6858  	ESB_DISABLE_UP                                                                 = 0x0001
  6859  	ESB_ENABLE_BOTH                                                                = 0x0000
  6860  	ESPIPE                                                                         = 29
  6861  	ESRCH                                                                          = 3
  6862  	ES_AUTOHSCROLL                                                                 = 128
  6863  	ES_AUTOVSCROLL                                                                 = 64
  6864  	ES_CENTER                                                                      = 1
  6865  	ES_LEFT                                                                        = 0
  6866  	ES_LOWERCASE                                                                   = 16
  6867  	ES_MULTILINE                                                                   = 4
  6868  	ES_NOHIDESEL                                                                   = 256
  6869  	ES_NUMBER                                                                      = 8192
  6870  	ES_OEMCONVERT                                                                  = 1024
  6871  	ES_PASSWORD                                                                    = 32
  6872  	ES_READONLY                                                                    = 2048
  6873  	ES_RIGHT                                                                       = 2
  6874  	ES_UPPERCASE                                                                   = 8
  6875  	ES_WANTRETURN                                                                  = 4096
  6876  	ETIME                                                                          = 137
  6877  	ETIMEDOUT                                                                      = 138
  6878  	ETO_CLIPPED                                                                    = 0x0004
  6879  	ETO_GLYPH_INDEX                                                                = 0x0010
  6880  	ETO_IGNORELANGUAGE                                                             = 0x1000
  6881  	ETO_NUMERICSLATIN                                                              = 0x0800
  6882  	ETO_NUMERICSLOCAL                                                              = 0x0400
  6883  	ETO_OPAQUE                                                                     = 0x0002
  6884  	ETO_PDY                                                                        = 0x2000
  6885  	ETO_RTLREADING                                                                 = 0x0080
  6886  	ETXTBSY                                                                        = 139
  6887  	EVENPARITY                                                                     = 2
  6888  	EVENTLOG_AUDIT_FAILURE                                                         = 0x0010
  6889  	EVENTLOG_AUDIT_SUCCESS                                                         = 0x0008
  6890  	EVENTLOG_BACKWARDS_READ                                                        = 0x0008
  6891  	EVENTLOG_END_ALL_PAIRED_EVENTS                                                 = 0x0004
  6892  	EVENTLOG_END_PAIRED_EVENT                                                      = 0x0002
  6893  	EVENTLOG_ERROR_TYPE                                                            = 0x0001
  6894  	EVENTLOG_FORWARDS_READ                                                         = 0x0004
  6895  	EVENTLOG_FULL_INFO                                                             = 0
  6896  	EVENTLOG_INFORMATION_TYPE                                                      = 0x0004
  6897  	EVENTLOG_PAIRED_EVENT_ACTIVE                                                   = 0x0008
  6898  	EVENTLOG_PAIRED_EVENT_INACTIVE                                                 = 0x0010
  6899  	EVENTLOG_SEEK_READ                                                             = 0x0002
  6900  	EVENTLOG_SEQUENTIAL_READ                                                       = 0x0001
  6901  	EVENTLOG_START_PAIRED_EVENT                                                    = 0x0001
  6902  	EVENTLOG_SUCCESS                                                               = 0x0000
  6903  	EVENTLOG_WARNING_TYPE                                                          = 0x0002
  6904  	EVENT_ALL_ACCESS                                                               = 2031619
  6905  	EVENT_CONSOLE_CARET                                                            = 0x4001
  6906  	EVENT_CONSOLE_END_APPLICATION                                                  = 0x4007
  6907  	EVENT_CONSOLE_LAYOUT                                                           = 0x4005
  6908  	EVENT_CONSOLE_START_APPLICATION                                                = 0x4006
  6909  	EVENT_CONSOLE_UPDATE_REGION                                                    = 0x4002
  6910  	EVENT_CONSOLE_UPDATE_SCROLL                                                    = 0x4004
  6911  	EVENT_CONSOLE_UPDATE_SIMPLE                                                    = 0x4003
  6912  	EVENT_E_FIRST                                                                  = 2147746304
  6913  	EVENT_E_LAST                                                                   = 2147746335
  6914  	EVENT_MAX                                                                      = 0x7FFFFFFF
  6915  	EVENT_MIN                                                                      = 0x00000001
  6916  	EVENT_MODIFY_STATE                                                             = 0x0002
  6917  	EVENT_OBJECT_ACCELERATORCHANGE                                                 = 0x8012
  6918  	EVENT_OBJECT_CREATE                                                            = 0x8000
  6919  	EVENT_OBJECT_DEFACTIONCHANGE                                                   = 0x8011
  6920  	EVENT_OBJECT_DESCRIPTIONCHANGE                                                 = 0x800D
  6921  	EVENT_OBJECT_DESTROY                                                           = 0x8001
  6922  	EVENT_OBJECT_FOCUS                                                             = 0x8005
  6923  	EVENT_OBJECT_HELPCHANGE                                                        = 0x8010
  6924  	EVENT_OBJECT_HIDE                                                              = 0x8003
  6925  	EVENT_OBJECT_LOCATIONCHANGE                                                    = 0x800B
  6926  	EVENT_OBJECT_NAMECHANGE                                                        = 0x800C
  6927  	EVENT_OBJECT_PARENTCHANGE                                                      = 0x800F
  6928  	EVENT_OBJECT_REORDER                                                           = 0x8004
  6929  	EVENT_OBJECT_SELECTION                                                         = 0x8006
  6930  	EVENT_OBJECT_SELECTIONADD                                                      = 0x8007
  6931  	EVENT_OBJECT_SELECTIONREMOVE                                                   = 0x8008
  6932  	EVENT_OBJECT_SELECTIONWITHIN                                                   = 0x8009
  6933  	EVENT_OBJECT_SHOW                                                              = 0x8002
  6934  	EVENT_OBJECT_STATECHANGE                                                       = 0x800A
  6935  	EVENT_OBJECT_VALUECHANGE                                                       = 0x800E
  6936  	EVENT_SYSTEM_ALERT                                                             = 0x0002
  6937  	EVENT_SYSTEM_CAPTUREEND                                                        = 0x0009
  6938  	EVENT_SYSTEM_CAPTURESTART                                                      = 0x0008
  6939  	EVENT_SYSTEM_CONTEXTHELPEND                                                    = 0x000D
  6940  	EVENT_SYSTEM_CONTEXTHELPSTART                                                  = 0x000C
  6941  	EVENT_SYSTEM_DIALOGEND                                                         = 0x0011
  6942  	EVENT_SYSTEM_DIALOGSTART                                                       = 0x0010
  6943  	EVENT_SYSTEM_DRAGDROPEND                                                       = 0x000F
  6944  	EVENT_SYSTEM_DRAGDROPSTART                                                     = 0x000E
  6945  	EVENT_SYSTEM_FOREGROUND                                                        = 0x0003
  6946  	EVENT_SYSTEM_MENUEND                                                           = 0x0005
  6947  	EVENT_SYSTEM_MENUPOPUPEND                                                      = 0x0007
  6948  	EVENT_SYSTEM_MENUPOPUPSTART                                                    = 0x0006
  6949  	EVENT_SYSTEM_MENUSTART                                                         = 0x0004
  6950  	EVENT_SYSTEM_MINIMIZEEND                                                       = 0x0017
  6951  	EVENT_SYSTEM_MINIMIZESTART                                                     = 0x0016
  6952  	EVENT_SYSTEM_MOVESIZEEND                                                       = 0x000B
  6953  	EVENT_SYSTEM_MOVESIZESTART                                                     = 0x000A
  6954  	EVENT_SYSTEM_SCROLLINGEND                                                      = 0x0013
  6955  	EVENT_SYSTEM_SCROLLINGSTART                                                    = 0x0012
  6956  	EVENT_SYSTEM_SOUND                                                             = 0x0001
  6957  	EVENT_SYSTEM_SWITCHEND                                                         = 0x0015
  6958  	EVENT_SYSTEM_SWITCHSTART                                                       = 0x0014
  6959  	EVENT_S_FIRST                                                                  = 262656
  6960  	EVENT_S_LAST                                                                   = 262687
  6961  	EV_BREAK                                                                       = 0x40
  6962  	EV_CTS                                                                         = 0x8
  6963  	EV_DSR                                                                         = 0x10
  6964  	EV_ERR                                                                         = 0x80
  6965  	EV_EVENT1                                                                      = 0x800
  6966  	EV_EVENT2                                                                      = 0x1000
  6967  	EV_PERR                                                                        = 0x200
  6968  	EV_RING                                                                        = 0x100
  6969  	EV_RLSD                                                                        = 0x20
  6970  	EV_RX80FULL                                                                    = 0x400
  6971  	EV_RXCHAR                                                                      = 0x1
  6972  	EV_RXFLAG                                                                      = 0x2
  6973  	EV_TXEMPTY                                                                     = 0x4
  6974  	EWOULDBLOCK                                                                    = 140
  6975  	EWX_ARSO                                                                       = 0x04000000
  6976  	EWX_BOOTOPTIONS                                                                = 0x01000000
  6977  	EWX_CHECK_SAFE_FOR_SERVER                                                      = 0x08000000
  6978  	EWX_FORCE                                                                      = 0x00000004
  6979  	EWX_FORCEIFHUNG                                                                = 0x00000010
  6980  	EWX_HYBRID_SHUTDOWN                                                            = 0x00400000
  6981  	EWX_LOGOFF                                                                     = 0x00000000
  6982  	EWX_POWEROFF                                                                   = 0x00000008
  6983  	EWX_QUICKRESOLVE                                                               = 0x00000020
  6984  	EWX_REBOOT                                                                     = 0x00000002
  6985  	EWX_SHUTDOWN                                                                   = 0x00000001
  6986  	EXCEPTION_COLLIDED_UNWIND                                                      = 0x40
  6987  	EXCEPTION_CONTINUE_EXECUTION                                                   = -1
  6988  	EXCEPTION_CONTINUE_SEARCH                                                      = 0
  6989  	EXCEPTION_DEBUG_EVENT                                                          = 1
  6990  	EXCEPTION_EXECUTE_FAULT                                                        = 8
  6991  	EXCEPTION_EXECUTE_HANDLER                                                      = 1
  6992  	EXCEPTION_EXIT_UNWIND                                                          = 0x4
  6993  	EXCEPTION_MAXIMUM_PARAMETERS                                                   = 15
  6994  	EXCEPTION_NESTED_CALL                                                          = 0x10
  6995  	EXCEPTION_NONCONTINUABLE                                                       = 0x1
  6996  	EXCEPTION_READ_FAULT                                                           = 0
  6997  	EXCEPTION_STACK_INVALID                                                        = 0x8
  6998  	EXCEPTION_TARGET_UNWIND                                                        = 0x20
  6999  	EXCEPTION_UNWIND                                                               = 0x66
  7000  	EXCEPTION_UNWINDING                                                            = 0x2
  7001  	EXCEPTION_WRITE_FAULT                                                          = 1
  7002  	EXDEV                                                                          = 18
  7003  	EXECUTE_OFFLINE_DIAGS                                                          = 0xD4
  7004  	EXIT_PROCESS_DEBUG_EVENT                                                       = 5
  7005  	EXIT_THREAD_DEBUG_EVENT                                                        = 4
  7006  	EXPAND_LOCAL_DRIVES                                                            = 0
  7007  	EXPENTRY                                                                       = 0
  7008  	EXPORT_PRIVATE_KEYS                                                            = 0x4
  7009  	EXPO_OFFLOAD_FUNC_NAME                                                         = "OffloadModExpo"
  7010  	EXPO_OFFLOAD_REG_VALUE                                                         = "ExpoOffload"
  7011  	EXTENDED_STARTUPINFO_PRESENT                                                   = 0x80000
  7012  	EXTEND_IEPORT                                                                  = 2
  7013  	EXTTEXTOUT                                                                     = 512
  7014  	EXT_DEVICE_CAPS                                                                = 4099
  7015  	ExceptionCollidedUnwind                                                        = 3
  7016  	ExceptionContinueExecution                                                     = 0
  7017  	ExceptionContinueSearch                                                        = 1
  7018  	ExceptionExecuteHandler                                                        = 4
  7019  	ExceptionNestedException                                                       = 2
  7020  	FACILITY_AAF                                                                   = 18
  7021  	FACILITY_ACS                                                                   = 20
  7022  	FACILITY_AUDCLNT                                                               = 2185
  7023  	FACILITY_BACKGROUNDCOPY                                                        = 32
  7024  	FACILITY_CERT                                                                  = 11
  7025  	FACILITY_COMPLUS                                                               = 17
  7026  	FACILITY_CONFIGURATION                                                         = 33
  7027  	FACILITY_CONTROL                                                               = 10
  7028  	FACILITY_DIRECTORYSERVICE                                                      = 37
  7029  	FACILITY_DISPATCH                                                              = 2
  7030  	FACILITY_DPLAY                                                                 = 21
  7031  	FACILITY_HTTP                                                                  = 25
  7032  	FACILITY_INTERNET                                                              = 12
  7033  	FACILITY_ITF                                                                   = 4
  7034  	FACILITY_MEDIASERVER                                                           = 13
  7035  	FACILITY_METADIRECTORY                                                         = 35
  7036  	FACILITY_MSMQ                                                                  = 14
  7037  	FACILITY_NT_BIT                                                                = 0x10000000
  7038  	FACILITY_NULL                                                                  = 0
  7039  	FACILITY_RPC                                                                   = 1
  7040  	FACILITY_SCARD                                                                 = 16
  7041  	FACILITY_SECURITY                                                              = 9
  7042  	FACILITY_SETUPAPI                                                              = 15
  7043  	FACILITY_SSPI                                                                  = 9
  7044  	FACILITY_STATE_MANAGEMENT                                                      = 34
  7045  	FACILITY_STORAGE                                                               = 3
  7046  	FACILITY_SXS                                                                   = 23
  7047  	FACILITY_UMI                                                                   = 22
  7048  	FACILITY_URT                                                                   = 19
  7049  	FACILITY_USERMODE_FILTER_MANAGER                                               = 0x1f
  7050  	FACILITY_WIN32                                                                 = 7
  7051  	FACILITY_WINDOWS                                                               = 8
  7052  	FACILITY_WINDOWSUPDATE                                                         = 36
  7053  	FACILITY_WINDOWS_CE                                                            = 24
  7054  	FADF_AUTO                                                                      = 1
  7055  	FADF_BSTR                                                                      = 256
  7056  	FADF_DISPATCH                                                                  = 1024
  7057  	FADF_EMBEDDED                                                                  = 4
  7058  	FADF_FIXEDSIZE                                                                 = 16
  7059  	FADF_HAVEIID                                                                   = 64
  7060  	FADF_HAVEVARTYPE                                                               = 128
  7061  	FADF_RECORD                                                                    = 32
  7062  	FADF_RESERVED                                                                  = 61448
  7063  	FADF_STATIC                                                                    = 2
  7064  	FADF_UNKNOWN                                                                   = 512
  7065  	FADF_VARIANT                                                                   = 2048
  7066  	FAILED_ACCESS_ACE_FLAG                                                         = 128
  7067  	FAIL_FAST_GENERATE_EXCEPTION_ADDRESS                                           = 0x1
  7068  	FAIL_FAST_NO_HARD_ERROR_DLG                                                    = 0x2
  7069  	FALSE                                                                          = 0
  7070  	FALT                                                                           = 0x10
  7071  	FAPPCOMMAND_KEY                                                                = 0
  7072  	FAPPCOMMAND_MASK                                                               = 0xF000
  7073  	FAPPCOMMAND_MOUSE                                                              = 0x8000
  7074  	FAPPCOMMAND_OEM                                                                = 0x1000
  7075  	FAR                                                                            = 0
  7076  	FARSTRUCT                                                                      = 0
  7077  	FASTCALL                                                                       = 0
  7078  	FAST_FAIL_CORRUPT_LIST_ENTRY                                                   = 3
  7079  	FAST_FAIL_FATAL_APP_EXIT                                                       = 7
  7080  	FAST_FAIL_GS_COOKIE_INIT                                                       = 6
  7081  	FAST_FAIL_INCORRECT_STACK                                                      = 4
  7082  	FAST_FAIL_INVALID_ARG                                                          = 5
  7083  	FAST_FAIL_INVALID_FAST_FAIL_CODE                                               = 0xffffffff
  7084  	FAST_FAIL_LEGACY_GS_VIOLATION                                                  = 0
  7085  	FAST_FAIL_RANGE_CHECK_FAILURE                                                  = 8
  7086  	FAST_FAIL_STACK_COOKIE_CHECK_FAILURE                                           = 2
  7087  	FAST_FAIL_UNSAFE_REGISTRY_ACCESS                                               = 9
  7088  	FAST_FAIL_VTGUARD_CHECK_FAILURE                                                = 1
  7089  	FCONTROL                                                                       = 0x08
  7090  	FD_ACCEPT                                                                      = 0x08
  7091  	FD_CLOSE                                                                       = 0x20
  7092  	FD_CONNECT                                                                     = 0x10
  7093  	FD_OOB                                                                         = 0x04
  7094  	FD_READ                                                                        = 0x01
  7095  	FD_SETSIZE                                                                     = 64
  7096  	FD_WRITE                                                                       = 0x02
  7097  	FEATURESETTING_CUSTPAPER                                                       = 3
  7098  	FEATURESETTING_MIRROR                                                          = 4
  7099  	FEATURESETTING_NEGATIVE                                                        = 5
  7100  	FEATURESETTING_NUP                                                             = 0
  7101  	FEATURESETTING_OUTPUT                                                          = 1
  7102  	FEATURESETTING_PRIVATE_BEGIN                                                   = 0x1000
  7103  	FEATURESETTING_PRIVATE_END                                                     = 0x1FFF
  7104  	FEATURESETTING_PROTOCOL                                                        = 6
  7105  	FEATURESETTING_PSLEVEL                                                         = 2
  7106  	FE_FONTSMOOTHINGCLEARTYPE                                                      = 0x0002
  7107  	FE_FONTSMOOTHINGDOCKING                                                        = 0x8000
  7108  	FE_FONTSMOOTHINGORIENTATIONBGR                                                 = 0x0000
  7109  	FE_FONTSMOOTHINGORIENTATIONRGB                                                 = 0x0001
  7110  	FE_FONTSMOOTHINGSTANDARD                                                       = 0x0001
  7111  	FF_DECORATIVE                                                                  = 80
  7112  	FF_DONTCARE                                                                    = 0
  7113  	FF_MODERN                                                                      = 48
  7114  	FF_ROMAN                                                                       = 16
  7115  	FF_SCRIPT                                                                      = 64
  7116  	FF_SWISS                                                                       = 32
  7117  	FIBER_FLAG_FLOAT_SWITCH                                                        = 0x1
  7118  	FIEF_FLAG_FORCE_JITUI                                                          = 0x1
  7119  	FIEF_FLAG_PEEK                                                                 = 0x2
  7120  	FIEF_FLAG_SKIP_INSTALLED_VERSION_CHECK                                         = 0x4
  7121  	FILEOKSTRINGA                                                                  = "commdlg_FileNameOK"
  7122  	FILEOPENORD                                                                    = 1536
  7123  	FILESYSTEM_STATISTICS_TYPE_FAT                                                 = 2
  7124  	FILESYSTEM_STATISTICS_TYPE_NTFS                                                = 1
  7125  	FILE_ACTION_ADDED                                                              = 0x00000001
  7126  	FILE_ACTION_MODIFIED                                                           = 0x00000003
  7127  	FILE_ACTION_REMOVED                                                            = 0x00000002
  7128  	FILE_ACTION_RENAMED_NEW_NAME                                                   = 0x00000005
  7129  	FILE_ACTION_RENAMED_OLD_NAME                                                   = 0x00000004
  7130  	FILE_ADD_FILE                                                                  = 2
  7131  	FILE_ADD_SUBDIRECTORY                                                          = 4
  7132  	FILE_ALL_ACCESS                                                                = 2032127
  7133  	FILE_ANY_ACCESS                                                                = 0
  7134  	FILE_APPEND_DATA                                                               = 4
  7135  	FILE_ATTRIBUTE_ARCHIVE                                                         = 0x00000020
  7136  	FILE_ATTRIBUTE_COMPRESSED                                                      = 0x00000800
  7137  	FILE_ATTRIBUTE_DEVICE                                                          = 0x00000040
  7138  	FILE_ATTRIBUTE_DIRECTORY                                                       = 0x00000010
  7139  	FILE_ATTRIBUTE_ENCRYPTED                                                       = 0x00004000
  7140  	FILE_ATTRIBUTE_HIDDEN                                                          = 0x00000002
  7141  	FILE_ATTRIBUTE_NORMAL                                                          = 0x00000080
  7142  	FILE_ATTRIBUTE_NOT_CONTENT_INDEXED                                             = 0x00002000
  7143  	FILE_ATTRIBUTE_OFFLINE                                                         = 0x00001000
  7144  	FILE_ATTRIBUTE_READONLY                                                        = 0x00000001
  7145  	FILE_ATTRIBUTE_REPARSE_POINT                                                   = 0x00000400
  7146  	FILE_ATTRIBUTE_SPARSE_FILE                                                     = 0x00000200
  7147  	FILE_ATTRIBUTE_SYSTEM                                                          = 0x00000004
  7148  	FILE_ATTRIBUTE_TEMPORARY                                                       = 0x00000100
  7149  	FILE_ATTRIBUTE_VIRTUAL                                                         = 0x00010000
  7150  	FILE_BEGIN                                                                     = 0
  7151  	FILE_CACHE_FLAGS_DEFINED                                                       = 0
  7152  	FILE_CACHE_MAX_HARD_DISABLE                                                    = 0x00000002
  7153  	FILE_CACHE_MAX_HARD_ENABLE                                                     = 0x00000001
  7154  	FILE_CACHE_MIN_HARD_DISABLE                                                    = 0x00000008
  7155  	FILE_CACHE_MIN_HARD_ENABLE                                                     = 0x00000004
  7156  	FILE_CASE_PRESERVED_NAMES                                                      = 0x00000002
  7157  	FILE_CASE_SENSITIVE_SEARCH                                                     = 0x00000001
  7158  	FILE_CLEAR_ENCRYPTION                                                          = 0x00000002
  7159  	FILE_COMPLETE_IF_OPLOCKED                                                      = 0x00000100
  7160  	FILE_CREATE                                                                    = 0x00000002
  7161  	FILE_CREATE_PIPE_INSTANCE                                                      = 4
  7162  	FILE_CREATE_TREE_CONNECTION                                                    = 0x00000080
  7163  	FILE_CURRENT                                                                   = 1
  7164  	FILE_DELETE_CHILD                                                              = 64
  7165  	FILE_DELETE_ON_CLOSE                                                           = 0x00001000
  7166  	FILE_DEVICE_8042_PORT                                                          = 0x00000027
  7167  	FILE_DEVICE_ACPI                                                               = 0x00000032
  7168  	FILE_DEVICE_BATTERY                                                            = 0x00000029
  7169  	FILE_DEVICE_BEEP                                                               = 0x00000001
  7170  	FILE_DEVICE_BIOMETRIC                                                          = 0x00000044
  7171  	FILE_DEVICE_BLUETOOTH                                                          = 0x00000041
  7172  	FILE_DEVICE_BUS_EXTENDER                                                       = 0x0000002a
  7173  	FILE_DEVICE_CD_ROM                                                             = 0x00000002
  7174  	FILE_DEVICE_CD_ROM_FILE_SYSTEM                                                 = 0x00000003
  7175  	FILE_DEVICE_CHANGER                                                            = 0x00000030
  7176  	FILE_DEVICE_CONSOLE                                                            = 0x00000050
  7177  	FILE_DEVICE_CONTROLLER                                                         = 0x00000004
  7178  	FILE_DEVICE_CRYPT_PROVIDER                                                     = 0x0000003F
  7179  	FILE_DEVICE_DATALINK                                                           = 0x00000005
  7180  	FILE_DEVICE_DEVAPI                                                             = 0x00000047
  7181  	FILE_DEVICE_DFS                                                                = 0x00000006
  7182  	FILE_DEVICE_DFS_FILE_SYSTEM                                                    = 0x00000035
  7183  	FILE_DEVICE_DFS_VOLUME                                                         = 0x00000036
  7184  	FILE_DEVICE_DISK                                                               = 0x00000007
  7185  	FILE_DEVICE_DISK_FILE_SYSTEM                                                   = 0x00000008
  7186  	FILE_DEVICE_DVD                                                                = 0x00000033
  7187  	FILE_DEVICE_EHSTOR                                                             = 0x00000046
  7188  	FILE_DEVICE_FILE_SYSTEM                                                        = 0x00000009
  7189  	FILE_DEVICE_FIPS                                                               = 0x0000003A
  7190  	FILE_DEVICE_FULLSCREEN_VIDEO                                                   = 0x00000034
  7191  	FILE_DEVICE_GPIO                                                               = 0x00000048
  7192  	FILE_DEVICE_HOLOGRAPHIC                                                        = 0x0000005b
  7193  	FILE_DEVICE_INFINIBAND                                                         = 0x0000003B
  7194  	FILE_DEVICE_INPORT_PORT                                                        = 0x0000000a
  7195  	FILE_DEVICE_KEYBOARD                                                           = 0x0000000b
  7196  	FILE_DEVICE_KS                                                                 = 0x0000002f
  7197  	FILE_DEVICE_KSEC                                                               = 0x00000039
  7198  	FILE_DEVICE_MAILSLOT                                                           = 0x0000000c
  7199  	FILE_DEVICE_MASS_STORAGE                                                       = 0x0000002d
  7200  	FILE_DEVICE_MIDI_IN                                                            = 0x0000000d
  7201  	FILE_DEVICE_MIDI_OUT                                                           = 0x0000000e
  7202  	FILE_DEVICE_MODEM                                                              = 0x0000002b
  7203  	FILE_DEVICE_MOUSE                                                              = 0x0000000f
  7204  	FILE_DEVICE_MT_COMPOSITE                                                       = 0x00000042
  7205  	FILE_DEVICE_MT_TRANSPORT                                                       = 0x00000043
  7206  	FILE_DEVICE_MULTI_UNC_PROVIDER                                                 = 0x00000010
  7207  	FILE_DEVICE_NAMED_PIPE                                                         = 0x00000011
  7208  	FILE_DEVICE_NETWORK                                                            = 0x00000012
  7209  	FILE_DEVICE_NETWORK_BROWSER                                                    = 0x00000013
  7210  	FILE_DEVICE_NETWORK_FILE_SYSTEM                                                = 0x00000014
  7211  	FILE_DEVICE_NETWORK_REDIRECTOR                                                 = 0x00000028
  7212  	FILE_DEVICE_NFP                                                                = 0x00000051
  7213  	FILE_DEVICE_NULL                                                               = 0x00000015
  7214  	FILE_DEVICE_NVDIMM                                                             = 0x0000005a
  7215  	FILE_DEVICE_PARALLEL_PORT                                                      = 0x00000016
  7216  	FILE_DEVICE_PERSISTENT_MEMORY                                                  = 0x00000059
  7217  	FILE_DEVICE_PHYSICAL_NETCARD                                                   = 0x00000017
  7218  	FILE_DEVICE_PMI                                                                = 0x00000045
  7219  	FILE_DEVICE_POINT_OF_SERVICE                                                   = 0x00000054
  7220  	FILE_DEVICE_PRINTER                                                            = 0x00000018
  7221  	FILE_DEVICE_SCANNER                                                            = 0x00000019
  7222  	FILE_DEVICE_SCREEN                                                             = 0x0000001c
  7223  	FILE_DEVICE_SDFXHCI                                                            = 0x0000005c
  7224  	FILE_DEVICE_SERENUM                                                            = 0x00000037
  7225  	FILE_DEVICE_SERIAL_MOUSE_PORT                                                  = 0x0000001a
  7226  	FILE_DEVICE_SERIAL_PORT                                                        = 0x0000001b
  7227  	FILE_DEVICE_SMARTCARD                                                          = 0x00000031
  7228  	FILE_DEVICE_SMB                                                                = 0x0000002e
  7229  	FILE_DEVICE_SOUND                                                              = 0x0000001d
  7230  	FILE_DEVICE_STORAGE_REPLICATION                                                = 0x00000055
  7231  	FILE_DEVICE_STREAMS                                                            = 0x0000001e
  7232  	FILE_DEVICE_SYSENV                                                             = 0x00000052
  7233  	FILE_DEVICE_TAPE                                                               = 0x0000001f
  7234  	FILE_DEVICE_TAPE_FILE_SYSTEM                                                   = 0x00000020
  7235  	FILE_DEVICE_TERMSRV                                                            = 0x00000038
  7236  	FILE_DEVICE_TRANSPORT                                                          = 0x00000021
  7237  	FILE_DEVICE_TRUST_ENV                                                          = 0x00000056
  7238  	FILE_DEVICE_UCM                                                                = 0x00000057
  7239  	FILE_DEVICE_UCMTCPCI                                                           = 0x00000058
  7240  	FILE_DEVICE_UCMUCSI                                                            = 0x0000005d
  7241  	FILE_DEVICE_UNKNOWN                                                            = 0x00000022
  7242  	FILE_DEVICE_USBEX                                                              = 0x00000049
  7243  	FILE_DEVICE_VDM                                                                = 0x0000002c
  7244  	FILE_DEVICE_VIDEO                                                              = 0x00000023
  7245  	FILE_DEVICE_VIRTUAL_BLOCK                                                      = 0x00000053
  7246  	FILE_DEVICE_VIRTUAL_DISK                                                       = 0x00000024
  7247  	FILE_DEVICE_VMBUS                                                              = 0x0000003E
  7248  	FILE_DEVICE_WAVE_IN                                                            = 0x00000025
  7249  	FILE_DEVICE_WAVE_OUT                                                           = 0x00000026
  7250  	FILE_DEVICE_WPD                                                                = 0x00000040
  7251  	FILE_DIRECTORY_FILE                                                            = 0x00000001
  7252  	FILE_DIR_DISALLOWED                                                            = 9
  7253  	FILE_ENCRYPTABLE                                                               = 0
  7254  	FILE_END                                                                       = 2
  7255  	FILE_EXECUTE                                                                   = 32
  7256  	FILE_FILE_COMPRESSION                                                          = 0x00000010
  7257  	FILE_FLAG_BACKUP_SEMANTICS                                                     = 0x2000000
  7258  	FILE_FLAG_DELETE_ON_CLOSE                                                      = 0x4000000
  7259  	FILE_FLAG_FIRST_PIPE_INSTANCE                                                  = 0x80000
  7260  	FILE_FLAG_NO_BUFFERING                                                         = 0x20000000
  7261  	FILE_FLAG_OPEN_NO_RECALL                                                       = 0x100000
  7262  	FILE_FLAG_OPEN_REPARSE_POINT                                                   = 0x200000
  7263  	FILE_FLAG_OVERLAPPED                                                           = 0x40000000
  7264  	FILE_FLAG_POSIX_SEMANTICS                                                      = 0x1000000
  7265  	FILE_FLAG_RANDOM_ACCESS                                                        = 0x10000000
  7266  	FILE_FLAG_SEQUENTIAL_SCAN                                                      = 0x8000000
  7267  	FILE_FLAG_SESSION_AWARE                                                        = 0x800000
  7268  	FILE_FLAG_WRITE_THROUGH                                                        = 0x80000000
  7269  	FILE_GENERIC_EXECUTE                                                           = 1179808
  7270  	FILE_GENERIC_READ                                                              = 1179785
  7271  	FILE_GENERIC_WRITE                                                             = 1179926
  7272  	FILE_IS_ENCRYPTED                                                              = 1
  7273  	FILE_LIST_DIRECTORY                                                            = 1
  7274  	FILE_MAP_ALL_ACCESS                                                            = 983071
  7275  	FILE_MAP_COPY                                                                  = 0x1
  7276  	FILE_MAP_EXECUTE                                                               = 32
  7277  	FILE_MAP_LARGE_PAGES                                                           = 0x20000000
  7278  	FILE_MAP_READ                                                                  = 4
  7279  	FILE_MAP_RESERVE                                                               = 0x80000000
  7280  	FILE_MAP_TARGETS_INVALID                                                       = 0x40000000
  7281  	FILE_MAP_WRITE                                                                 = 2
  7282  	FILE_MAXIMUM_DISPOSITION                                                       = 0x00000005
  7283  	FILE_NAMED_STREAMS                                                             = 0x00040000
  7284  	FILE_NAME_NORMALIZED                                                           = 0x0
  7285  	FILE_NAME_OPENED                                                               = 0x8
  7286  	FILE_NON_DIRECTORY_FILE                                                        = 0x00000040
  7287  	FILE_NOTIFY_CHANGE_ATTRIBUTES                                                  = 0x00000004
  7288  	FILE_NOTIFY_CHANGE_CREATION                                                    = 0x00000040
  7289  	FILE_NOTIFY_CHANGE_DIR_NAME                                                    = 0x00000002
  7290  	FILE_NOTIFY_CHANGE_FILE_NAME                                                   = 0x00000001
  7291  	FILE_NOTIFY_CHANGE_LAST_ACCESS                                                 = 0x00000020
  7292  	FILE_NOTIFY_CHANGE_LAST_WRITE                                                  = 0x00000010
  7293  	FILE_NOTIFY_CHANGE_SECURITY                                                    = 0x00000100
  7294  	FILE_NOTIFY_CHANGE_SIZE                                                        = 0x00000008
  7295  	FILE_NO_COMPRESSION                                                            = 0x00008000
  7296  	FILE_NO_EA_KNOWLEDGE                                                           = 0x00000200
  7297  	FILE_NO_INTERMEDIATE_BUFFERING                                                 = 0x00000008
  7298  	FILE_OPEN                                                                      = 0x00000001
  7299  	FILE_OPEN_BY_FILE_ID                                                           = 0x00002000
  7300  	FILE_OPEN_FOR_BACKUP_INTENT                                                    = 0x00004000
  7301  	FILE_OPEN_FOR_FREE_SPACE_QUERY                                                 = 0x00800000
  7302  	FILE_OPEN_IF                                                                   = 0x00000003
  7303  	FILE_OPEN_NO_RECALL                                                            = 0x00400000
  7304  	FILE_OPEN_REMOTE_INSTANCE                                                      = 0x00000400
  7305  	FILE_OPEN_REPARSE_POINT                                                        = 0x00200000
  7306  	FILE_OVERWRITE                                                                 = 0x00000004
  7307  	FILE_OVERWRITE_IF                                                              = 0x00000005
  7308  	FILE_PERSISTENT_ACLS                                                           = 0x00000008
  7309  	FILE_PREFETCH_TYPE_FOR_CREATE                                                  = 0x1
  7310  	FILE_RANDOM_ACCESS                                                             = 0x00000800
  7311  	FILE_READ_ACCESS                                                               = 1
  7312  	FILE_READ_ATTRIBUTES                                                           = 128
  7313  	FILE_READ_DATA                                                                 = 1
  7314  	FILE_READ_EA                                                                   = 8
  7315  	FILE_READ_ONLY                                                                 = 8
  7316  	FILE_READ_ONLY_VOLUME                                                          = 0x00080000
  7317  	FILE_RESERVE_OPFILTER                                                          = 0x00100000
  7318  	FILE_ROOT_DIR                                                                  = 3
  7319  	FILE_SEQUENTIAL_ONLY                                                           = 0x00000004
  7320  	FILE_SEQUENTIAL_WRITE_ONCE                                                     = 0x00100000
  7321  	FILE_SET_ENCRYPTION                                                            = 0x00000001
  7322  	FILE_SHARE_DELETE                                                              = 0x00000004
  7323  	FILE_SHARE_READ                                                                = 0x00000001
  7324  	FILE_SHARE_VALID_FLAGS                                                         = 0x00000007
  7325  	FILE_SHARE_WRITE                                                               = 0x00000002
  7326  	FILE_SPECIAL_ACCESS                                                            = 0
  7327  	FILE_SUPERSEDE                                                                 = 0x00000000
  7328  	FILE_SUPPORTS_ENCRYPTION                                                       = 0x00020000
  7329  	FILE_SUPPORTS_EXTENDED_ATTRIBUTES                                              = 0x00800000
  7330  	FILE_SUPPORTS_HARD_LINKS                                                       = 0x00400000
  7331  	FILE_SUPPORTS_INTEGRITY_STREAMS                                                = 0x04000000
  7332  	FILE_SUPPORTS_OBJECT_IDS                                                       = 0x00010000
  7333  	FILE_SUPPORTS_OPEN_BY_FILE_ID                                                  = 0x01000000
  7334  	FILE_SUPPORTS_REMOTE_STORAGE                                                   = 0x00000100
  7335  	FILE_SUPPORTS_REPARSE_POINTS                                                   = 0x00000080
  7336  	FILE_SUPPORTS_SPARSE_FILES                                                     = 0x00000040
  7337  	FILE_SUPPORTS_TRANSACTIONS                                                     = 0x00200000
  7338  	FILE_SUPPORTS_USN_JOURNAL                                                      = 0x02000000
  7339  	FILE_SYNCHRONOUS_IO_ALERT                                                      = 0x00000010
  7340  	FILE_SYNCHRONOUS_IO_NONALERT                                                   = 0x00000020
  7341  	FILE_SYSTEM_ATTR                                                               = 2
  7342  	FILE_SYSTEM_DIR                                                                = 4
  7343  	FILE_SYSTEM_NOT_SUPPORT                                                        = 6
  7344  	FILE_TRAVERSE                                                                  = 32
  7345  	FILE_TYPE_CHAR                                                                 = 0x2
  7346  	FILE_TYPE_DISK                                                                 = 0x1
  7347  	FILE_TYPE_PIPE                                                                 = 0x3
  7348  	FILE_TYPE_REMOTE                                                               = 0x8000
  7349  	FILE_TYPE_UNKNOWN                                                              = 0x0
  7350  	FILE_UNICODE_ON_DISK                                                           = 0x00000004
  7351  	FILE_UNKNOWN                                                                   = 5
  7352  	FILE_USER_DISALLOWED                                                           = 7
  7353  	FILE_VER_GET_LOCALISED                                                         = 0x01
  7354  	FILE_VER_GET_NEUTRAL                                                           = 0x02
  7355  	FILE_VER_GET_PREFETCHED                                                        = 0x04
  7356  	FILE_VOLUME_IS_COMPRESSED                                                      = 0x00008000
  7357  	FILE_VOLUME_QUOTAS                                                             = 0x00000020
  7358  	FILE_WRITE_ACCESS                                                              = 2
  7359  	FILE_WRITE_ATTRIBUTES                                                          = 256
  7360  	FILE_WRITE_DATA                                                                = 2
  7361  	FILE_WRITE_EA                                                                  = 16
  7362  	FILE_WRITE_THROUGH                                                             = 0x00000002
  7363  	FINDDLGORD                                                                     = 1540
  7364  	FINDMSGSTRINGA                                                                 = "commdlg_FindReplace"
  7365  	FIND_ACTCTX_SECTION_KEY_RETURN_ASSEMBLY_METADATA                               = 4
  7366  	FIND_ACTCTX_SECTION_KEY_RETURN_FLAGS                                           = 2
  7367  	FIND_ACTCTX_SECTION_KEY_RETURN_HACTCTX                                         = 1
  7368  	FIND_ENDSWITH                                                                  = 0x00200000
  7369  	FIND_FIRST_EX_CASE_SENSITIVE                                                   = 0x00000001
  7370  	FIND_FIRST_EX_LARGE_FETCH                                                      = 0x00000002
  7371  	FIND_FROMEND                                                                   = 0x00800000
  7372  	FIND_FROMSTART                                                                 = 0x00400000
  7373  	FIND_RESOURCE_DIRECTORY_LANGUAGES                                              = 1024
  7374  	FIND_RESOURCE_DIRECTORY_NAMES                                                  = 512
  7375  	FIND_RESOURCE_DIRECTORY_TYPES                                                  = 256
  7376  	FIND_STARTSWITH                                                                = 0x00100000
  7377  	FIRMWARE_PTR                                                                   = 0
  7378  	FIXED_PITCH                                                                    = 1
  7379  	FKF_AVAILABLE                                                                  = 0x00000002
  7380  	FKF_CLICKON                                                                    = 0x00000040
  7381  	FKF_CONFIRMHOTKEY                                                              = 0x00000008
  7382  	FKF_FILTERKEYSON                                                               = 0x00000001
  7383  	FKF_HOTKEYACTIVE                                                               = 0x00000004
  7384  	FKF_HOTKEYSOUND                                                                = 0x00000010
  7385  	FKF_INDICATOR                                                                  = 0x00000020
  7386  	FLASHW_ALL                                                                     = 3
  7387  	FLASHW_CAPTION                                                                 = 0x00000001
  7388  	FLASHW_STOP                                                                    = 0
  7389  	FLASHW_TIMER                                                                   = 0x00000004
  7390  	FLASHW_TIMERNOFG                                                               = 0x0000000c
  7391  	FLASHW_TRAY                                                                    = 0x00000002
  7392  	FLI_GLYPHS                                                                     = 262144
  7393  	FLI_MASK                                                                       = 0x103B
  7394  	FLOODFILLBORDER                                                                = 0
  7395  	FLOODFILLSURFACE                                                               = 1
  7396  	FLS_MAXIMUM_AVAILABLE                                                          = 128
  7397  	FLUSHOUTPUT                                                                    = 6
  7398  	FMFD_DEFAULT                                                                   = 0x0
  7399  	FMFD_RESPECTTEXTPLAIN                                                          = 0x10
  7400  	FMFD_RETURNUPDATEDIMGMIMES                                                     = 0x20
  7401  	FMFD_SERVERMIME                                                                = 0x8
  7402  	FMFD_URLASFILENAME                                                             = 0x1
  7403  	FNERR_BUFFERTOOSMALL                                                           = 0x3003
  7404  	FNERR_FILENAMECODES                                                            = 0x3000
  7405  	FNERR_INVALIDFILENAME                                                          = 0x3002
  7406  	FNERR_SUBCLASSFAILURE                                                          = 0x3001
  7407  	FNOINVERT                                                                      = 0x02
  7408  	FOCUS_EVENT                                                                    = 0x10
  7409  	FOF_ALLOWUNDO                                                                  = 0x40
  7410  	FOF_CONFIRMMOUSE                                                               = 0x2
  7411  	FOF_FILESONLY                                                                  = 0x80
  7412  	FOF_MULTIDESTFILES                                                             = 0x1
  7413  	FOF_NOCONFIRMATION                                                             = 0x10
  7414  	FOF_NOCONFIRMMKDIR                                                             = 0x200
  7415  	FOF_NOCOPYSECURITYATTRIBS                                                      = 0x800
  7416  	FOF_NOERRORUI                                                                  = 0x400
  7417  	FOF_NORECURSEREPARSE                                                           = 0x8000
  7418  	FOF_NORECURSION                                                                = 0x1000
  7419  	FOF_NO_CONNECTED_ELEMENTS                                                      = 0x2000
  7420  	FOF_NO_UI                                                                      = 1556
  7421  	FOF_RENAMEONCOLLISION                                                          = 0x8
  7422  	FOF_SILENT                                                                     = 0x4
  7423  	FOF_SIMPLEPROGRESS                                                             = 0x100
  7424  	FOF_WANTMAPPINGHANDLE                                                          = 0x20
  7425  	FOF_WANTNUKEWARNING                                                            = 0x4000
  7426  	FONTDLGORD                                                                     = 1542
  7427  	FONTMAPPER_MAX                                                                 = 10
  7428  	FOREGROUND_BLUE                                                                = 0x1
  7429  	FOREGROUND_GREEN                                                               = 0x2
  7430  	FOREGROUND_INTENSITY                                                           = 0x8
  7431  	FOREGROUND_RED                                                                 = 0x4
  7432  	FOREST_USER_RID_MAX                                                            = 499
  7433  	FORMATDLGORD30                                                                 = 1544
  7434  	FORMATDLGORD31                                                                 = 1543
  7435  	FORMAT_MESSAGE_ALLOCATE_BUFFER                                                 = 0x00000100
  7436  	FORMAT_MESSAGE_ARGUMENT_ARRAY                                                  = 0x00002000
  7437  	FORMAT_MESSAGE_FROM_HMODULE                                                    = 0x00000800
  7438  	FORMAT_MESSAGE_FROM_STRING                                                     = 0x00000400
  7439  	FORMAT_MESSAGE_FROM_SYSTEM                                                     = 0x00001000
  7440  	FORMAT_MESSAGE_IGNORE_INSERTS                                                  = 0x00000200
  7441  	FORMAT_MESSAGE_MAX_WIDTH_MASK                                                  = 0x000000ff
  7442  	FORM_BUILTIN                                                                   = 0x00000001
  7443  	FORM_PRINTER                                                                   = 0x00000002
  7444  	FORM_USER                                                                      = 0x00000000
  7445  	FO_COPY                                                                        = 0x2
  7446  	FO_DELETE                                                                      = 0x3
  7447  	FO_MOVE                                                                        = 0x1
  7448  	FO_RENAME                                                                      = 0x4
  7449  	FRAME_FPO                                                                      = 0
  7450  	FRAME_NONFPO                                                                   = 3
  7451  	FRAME_TRAP                                                                     = 1
  7452  	FRAME_TSS                                                                      = 2
  7453  	FRERR_BUFFERLENGTHZERO                                                         = 0x4001
  7454  	FRERR_FINDREPLACECODES                                                         = 0x4000
  7455  	FROM_LEFT_1ST_BUTTON_PRESSED                                                   = 0x1
  7456  	FROM_LEFT_2ND_BUTTON_PRESSED                                                   = 0x4
  7457  	FROM_LEFT_3RD_BUTTON_PRESSED                                                   = 0x8
  7458  	FROM_LEFT_4TH_BUTTON_PRESSED                                                   = 0x10
  7459  	FRS_ERR_AUTHENTICATION                                                         = 8008
  7460  	FRS_ERR_CHILD_TO_PARENT_COMM                                                   = 8011
  7461  	FRS_ERR_INSUFFICIENT_PRIV                                                      = 8007
  7462  	FRS_ERR_INTERNAL                                                               = 8005
  7463  	FRS_ERR_INTERNAL_API                                                           = 8004
  7464  	FRS_ERR_INVALID_API_SEQUENCE                                                   = 8001
  7465  	FRS_ERR_INVALID_SERVICE_PARAMETER                                              = 8017
  7466  	FRS_ERR_PARENT_AUTHENTICATION                                                  = 8010
  7467  	FRS_ERR_PARENT_INSUFFICIENT_PRIV                                               = 8009
  7468  	FRS_ERR_PARENT_TO_CHILD_COMM                                                   = 8012
  7469  	FRS_ERR_SERVICE_COMM                                                           = 8006
  7470  	FRS_ERR_STARTING_SERVICE                                                       = 8002
  7471  	FRS_ERR_STOPPING_SERVICE                                                       = 8003
  7472  	FRS_ERR_SYSVOL_DEMOTE                                                          = 8016
  7473  	FRS_ERR_SYSVOL_IS_BUSY                                                         = 8015
  7474  	FRS_ERR_SYSVOL_POPULATE                                                        = 8013
  7475  	FRS_ERR_SYSVOL_POPULATE_TIMEOUT                                                = 8014
  7476  	FR_DIALOGTERM                                                                  = 0x40
  7477  	FR_DOWN                                                                        = 0x1
  7478  	FR_ENABLEHOOK                                                                  = 0x100
  7479  	FR_ENABLETEMPLATE                                                              = 0x200
  7480  	FR_ENABLETEMPLATEHANDLE                                                        = 0x2000
  7481  	FR_FINDNEXT                                                                    = 0x8
  7482  	FR_HIDEMATCHCASE                                                               = 0x8000
  7483  	FR_HIDEUPDOWN                                                                  = 0x4000
  7484  	FR_HIDEWHOLEWORD                                                               = 0x10000
  7485  	FR_MATCHALEFHAMZA                                                              = 0x80000000
  7486  	FR_MATCHCASE                                                                   = 0x4
  7487  	FR_MATCHDIAC                                                                   = 0x20000000
  7488  	FR_MATCHKASHIDA                                                                = 0x40000000
  7489  	FR_NOMATCHCASE                                                                 = 0x800
  7490  	FR_NOT_ENUM                                                                    = 0x20
  7491  	FR_NOUPDOWN                                                                    = 0x400
  7492  	FR_NOWHOLEWORD                                                                 = 0x1000
  7493  	FR_PRIVATE                                                                     = 0x10
  7494  	FR_RAW                                                                         = 0x20000
  7495  	FR_REPLACE                                                                     = 0x10
  7496  	FR_REPLACEALL                                                                  = 0x20
  7497  	FR_SHOWHELP                                                                    = 0x80
  7498  	FR_WHOLEWORD                                                                   = 0x2
  7499  	FSCTL_ALLOW_EXTENDED_DASD_IO                                                   = 589955
  7500  	FSCTL_CREATE_OR_GET_OBJECT_ID                                                  = 590016
  7501  	FSCTL_CREATE_USN_JOURNAL                                                       = 590055
  7502  	FSCTL_DELETE_OBJECT_ID                                                         = 589984
  7503  	FSCTL_DELETE_REPARSE_POINT                                                     = 589996
  7504  	FSCTL_DELETE_USN_JOURNAL                                                       = 590072
  7505  	FSCTL_DISMOUNT_VOLUME                                                          = 589856
  7506  	FSCTL_ENCRYPTION_FSCTL_IO                                                      = 590043
  7507  	FSCTL_ENUM_USN_DATA                                                            = 590003
  7508  	FSCTL_EXTEND_VOLUME                                                            = 590064
  7509  	FSCTL_FILESYSTEM_GET_STATISTICS                                                = 589920
  7510  	FSCTL_FILE_PREFETCH                                                            = 590112
  7511  	FSCTL_FIND_FILES_BY_SID                                                        = 589967
  7512  	FSCTL_GET_COMPRESSION                                                          = 589884
  7513  	FSCTL_GET_NTFS_FILE_RECORD                                                     = 589928
  7514  	FSCTL_GET_NTFS_VOLUME_DATA                                                     = 589924
  7515  	FSCTL_GET_OBJECT_ID                                                            = 589980
  7516  	FSCTL_GET_REPARSE_POINT                                                        = 589992
  7517  	FSCTL_GET_RETRIEVAL_POINTERS                                                   = 589939
  7518  	FSCTL_GET_VOLUME_BITMAP                                                        = 589935
  7519  	FSCTL_HSM_DATA                                                                 = 639251
  7520  	FSCTL_HSM_MSG                                                                  = 639240
  7521  	FSCTL_INVALIDATE_VOLUMES                                                       = 589908
  7522  	FSCTL_IS_PATHNAME_VALID                                                        = 589868
  7523  	FSCTL_IS_VOLUME_DIRTY                                                          = 589944
  7524  	FSCTL_IS_VOLUME_MOUNTED                                                        = 589864
  7525  	FSCTL_LOCK_VOLUME                                                              = 589848
  7526  	FSCTL_MARK_AS_SYSTEM_HIVE                                                      = 589903
  7527  	FSCTL_MARK_HANDLE                                                              = 590076
  7528  	FSCTL_MARK_VOLUME_DIRTY                                                        = 589872
  7529  	FSCTL_MOVE_FILE                                                                = 589940
  7530  	FSCTL_OPBATCH_ACK_CLOSE_PENDING                                                = 589840
  7531  	FSCTL_OPLOCK_BREAK_ACKNOWLEDGE                                                 = 589836
  7532  	FSCTL_OPLOCK_BREAK_ACK_NO_2                                                    = 589904
  7533  	FSCTL_OPLOCK_BREAK_NOTIFY                                                      = 589844
  7534  	FSCTL_QUERY_ALLOCATED_RANGES                                                   = 606415
  7535  	FSCTL_QUERY_FAT_BPB                                                            = 589912
  7536  	FSCTL_QUERY_RETRIEVAL_POINTERS                                                 = 589883
  7537  	FSCTL_QUERY_USN_JOURNAL                                                        = 590068
  7538  	FSCTL_READ_FILE_USN_DATA                                                       = 590059
  7539  	FSCTL_READ_FROM_PLEX                                                           = 606494
  7540  	FSCTL_READ_RAW_ENCRYPTED                                                       = 590051
  7541  	FSCTL_READ_USN_JOURNAL                                                         = 590011
  7542  	FSCTL_RECALL_FILE                                                              = 590103
  7543  	FSCTL_REQUEST_BATCH_OPLOCK                                                     = 589832
  7544  	FSCTL_REQUEST_FILTER_OPLOCK                                                    = 589916
  7545  	FSCTL_REQUEST_OPLOCK_LEVEL_1                                                   = 589824
  7546  	FSCTL_REQUEST_OPLOCK_LEVEL_2                                                   = 589828
  7547  	FSCTL_SECURITY_ID_CHECK                                                        = 606391
  7548  	FSCTL_SET_COMPRESSION                                                          = 639040
  7549  	FSCTL_SET_ENCRYPTION                                                           = 590039
  7550  	FSCTL_SET_OBJECT_ID                                                            = 589976
  7551  	FSCTL_SET_OBJECT_ID_EXTENDED                                                   = 590012
  7552  	FSCTL_SET_REPARSE_POINT                                                        = 589988
  7553  	FSCTL_SET_SPARSE                                                               = 590020
  7554  	FSCTL_SET_ZERO_DATA                                                            = 622792
  7555  	FSCTL_SIS_COPYFILE                                                             = 590080
  7556  	FSCTL_SIS_LINK_FILES                                                           = 639236
  7557  	FSCTL_UNLOCK_VOLUME                                                            = 589852
  7558  	FSCTL_WRITE_RAW_ENCRYPTED                                                      = 590047
  7559  	FSCTL_WRITE_USN_CLOSE_RECORD                                                   = 590063
  7560  	FSDIR_COLUMN_DATA                                                              = 3
  7561  	FSDIR_COLUMN_DIR                                                               = 5
  7562  	FSDIR_COLUMN_MODE                                                              = 1
  7563  	FSDIR_COLUMN_MTIME                                                             = 2
  7564  	FSDIR_COLUMN_NAME                                                              = 0
  7565  	FSDIR_COLUMN_PATH                                                              = 4
  7566  	FSDIR_SCHEMA                                                                   = "(name,mode,mtime,data,path HIDDEN,dir HIDDEN)"
  7567  	FSHIFT                                                                         = 0x04
  7568  	FS_ARABIC                                                                      = 64
  7569  	FS_BALTIC                                                                      = 128
  7570  	FS_CASE_IS_PRESERVED                                                           = 2
  7571  	FS_CASE_SENSITIVE                                                              = 1
  7572  	FS_CHINESESIMP                                                                 = 262144
  7573  	FS_CHINESETRAD                                                                 = 1048576
  7574  	FS_CYRILLIC                                                                    = 4
  7575  	FS_FILE_COMPRESSION                                                            = 16
  7576  	FS_FILE_ENCRYPTION                                                             = 131072
  7577  	FS_GREEK                                                                       = 8
  7578  	FS_HEBREW                                                                      = 32
  7579  	FS_JISJAPAN                                                                    = 131072
  7580  	FS_JOHAB                                                                       = 2097152
  7581  	FS_LATIN1                                                                      = 1
  7582  	FS_LATIN2                                                                      = 2
  7583  	FS_PERSISTENT_ACLS                                                             = 8
  7584  	FS_SYMBOL                                                                      = 2147483648
  7585  	FS_THAI                                                                        = 65536
  7586  	FS_TURKISH                                                                     = 16
  7587  	FS_UNICODE_STORED_ON_DISK                                                      = 4
  7588  	FS_VIETNAMESE                                                                  = 256
  7589  	FS_VOL_IS_COMPRESSED                                                           = 32768
  7590  	FS_WANSUNG                                                                     = 524288
  7591  	FVIRTKEY                                                                       = 1
  7592  	FW_BLACK                                                                       = 900
  7593  	FW_BOLD                                                                        = 700
  7594  	FW_DEMIBOLD                                                                    = 600
  7595  	FW_DONTCARE                                                                    = 0
  7596  	FW_EXTRABOLD                                                                   = 800
  7597  	FW_EXTRALIGHT                                                                  = 200
  7598  	FW_HEAVY                                                                       = 900
  7599  	FW_LIGHT                                                                       = 300
  7600  	FW_MEDIUM                                                                      = 500
  7601  	FW_NORMAL                                                                      = 400
  7602  	FW_REGULAR                                                                     = 400
  7603  	FW_SEMIBOLD                                                                    = 600
  7604  	FW_THIN                                                                        = 100
  7605  	FW_ULTRABOLD                                                                   = 800
  7606  	FW_ULTRALIGHT                                                                  = 200
  7607  	F_OK                                                                           = 0
  7608  	GA_PARENT                                                                      = 1
  7609  	GA_ROOT                                                                        = 2
  7610  	GA_ROOTOWNER                                                                   = 3
  7611  	GB2312_CHARSET                                                                 = 134
  7612  	GCLP_HBRBACKGROUND                                                             = -10
  7613  	GCLP_HCURSOR                                                                   = -12
  7614  	GCLP_HICON                                                                     = -14
  7615  	GCLP_HICONSM                                                                   = -34
  7616  	GCLP_HMODULE                                                                   = -16
  7617  	GCLP_MENUNAME                                                                  = -8
  7618  	GCLP_WNDPROC                                                                   = -24
  7619  	GCL_CBCLSEXTRA                                                                 = -20
  7620  	GCL_CBWNDEXTRA                                                                 = -18
  7621  	GCL_CONVERSION                                                                 = 0x0001
  7622  	GCL_REVERSECONVERSION                                                          = 0x0002
  7623  	GCL_REVERSE_LENGTH                                                             = 0x0003
  7624  	GCL_STYLE                                                                      = -26
  7625  	GCPCLASS_ARABIC                                                                = 2
  7626  	GCPCLASS_HEBREW                                                                = 2
  7627  	GCPCLASS_LATIN                                                                 = 1
  7628  	GCPCLASS_LATINNUMBER                                                           = 5
  7629  	GCPCLASS_LATINNUMERICSEPARATOR                                                 = 7
  7630  	GCPCLASS_LATINNUMERICTERMINATOR                                                = 6
  7631  	GCPCLASS_LOCALNUMBER                                                           = 4
  7632  	GCPCLASS_NEUTRAL                                                               = 3
  7633  	GCPCLASS_NUMERICSEPARATOR                                                      = 8
  7634  	GCPCLASS_POSTBOUNDLTR                                                          = 0x20
  7635  	GCPCLASS_POSTBOUNDRTL                                                          = 0x10
  7636  	GCPCLASS_PREBOUNDLTR                                                           = 0x80
  7637  	GCPCLASS_PREBOUNDRTL                                                           = 0x40
  7638  	GCPGLYPH_LINKAFTER                                                             = 0x4000
  7639  	GCPGLYPH_LINKBEFORE                                                            = 0x8000
  7640  	GCP_CLASSIN                                                                    = 524288
  7641  	GCP_DBCS                                                                       = 0x0001
  7642  	GCP_DIACRITIC                                                                  = 0x0100
  7643  	GCP_DISPLAYZWG                                                                 = 4194304
  7644  	GCP_ERROR                                                                      = 0x8000
  7645  	GCP_GLYPHSHAPE                                                                 = 0x0010
  7646  	GCP_JUSTIFY                                                                    = 65536
  7647  	GCP_JUSTIFYIN                                                                  = 2097152
  7648  	GCP_KASHIDA                                                                    = 0x0400
  7649  	GCP_LIGATE                                                                     = 0x0020
  7650  	GCP_MAXEXTENT                                                                  = 1048576
  7651  	GCP_NEUTRALOVERRIDE                                                            = 33554432
  7652  	GCP_NUMERICOVERRIDE                                                            = 16777216
  7653  	GCP_NUMERICSLATIN                                                              = 67108864
  7654  	GCP_NUMERICSLOCAL                                                              = 134217728
  7655  	GCP_REORDER                                                                    = 0x0002
  7656  	GCP_SYMSWAPOFF                                                                 = 8388608
  7657  	GCP_USEKERNING                                                                 = 0x0008
  7658  	GCS_COMPATTR                                                                   = 0x0010
  7659  	GCS_COMPCLAUSE                                                                 = 0x0020
  7660  	GCS_COMPREADATTR                                                               = 0x0002
  7661  	GCS_COMPREADCLAUSE                                                             = 0x0004
  7662  	GCS_COMPREADSTR                                                                = 0x0001
  7663  	GCS_COMPSTR                                                                    = 0x0008
  7664  	GCS_CURSORPOS                                                                  = 0x0080
  7665  	GCS_DELTASTART                                                                 = 0x0100
  7666  	GCS_RESULTCLAUSE                                                               = 0x1000
  7667  	GCS_RESULTREADCLAUSE                                                           = 0x0400
  7668  	GCS_RESULTREADSTR                                                              = 0x0200
  7669  	GCS_RESULTSTR                                                                  = 0x0800
  7670  	GCW_ATOM                                                                       = -32
  7671  	GDICOMMENT_BEGINGROUP                                                          = 0x00000002
  7672  	GDICOMMENT_ENDGROUP                                                            = 0x00000003
  7673  	GDICOMMENT_IDENTIFIER                                                          = 0x43494447
  7674  	GDICOMMENT_MULTIFORMATS                                                        = 0x40000004
  7675  	GDICOMMENT_UNICODE_END                                                         = 0x00000080
  7676  	GDICOMMENT_UNICODE_STRING                                                      = 0x00000040
  7677  	GDICOMMENT_WINDOWS_METAFILE                                                    = 0x80000001
  7678  	GDIPLUS_TS_QUERYVER                                                            = 4122
  7679  	GDIPLUS_TS_RECORD                                                              = 4123
  7680  	GDI_ERROR                                                                      = 4294967295
  7681  	GDI_OBJ_LAST                                                                   = 14
  7682  	GENERIC_ALL                                                                    = 268435456
  7683  	GENERIC_EXECUTE                                                                = 536870912
  7684  	GENERIC_READ                                                                   = 2147483648
  7685  	GENERIC_WRITE                                                                  = 1073741824
  7686  	GEOID_NOT_AVAILABLE                                                            = -1
  7687  	GETCOLORTABLE                                                                  = 5
  7688  	GETDEVICEUNITS                                                                 = 42
  7689  	GETEXTENDEDTEXTMETRICS                                                         = 256
  7690  	GETEXTENTTABLE                                                                 = 257
  7691  	GETFACENAME                                                                    = 513
  7692  	GETPAIRKERNTABLE                                                               = 258
  7693  	GETPENWIDTH                                                                    = 16
  7694  	GETPHYSPAGESIZE                                                                = 12
  7695  	GETPRINTINGOFFSET                                                              = 13
  7696  	GETSCALINGFACTOR                                                               = 14
  7697  	GETSETPAPERBINS                                                                = 29
  7698  	GETSETPAPERMETRICS                                                             = 35
  7699  	GETSETPRINTORIENT                                                              = 30
  7700  	GETSETSCREENPARAMS                                                             = 3072
  7701  	GETTECHNOLGY                                                                   = 20
  7702  	GETTECHNOLOGY                                                                  = 20
  7703  	GETTRACKKERNTABLE                                                              = 259
  7704  	GETVECTORBRUSHSIZE                                                             = 27
  7705  	GETVECTORPENSIZE                                                               = 26
  7706  	GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS                                         = 4
  7707  	GET_MODULE_HANDLE_EX_FLAG_PIN                                                  = 1
  7708  	GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT                                   = 2
  7709  	GET_PS_FEATURESETTING                                                          = 4121
  7710  	GET_SYSTEM_WOW64_DIRECTORY_NAME_A_A                                            = "GetSystemWow64DirectoryA"
  7711  	GET_SYSTEM_WOW64_DIRECTORY_NAME_W_A                                            = "GetSystemWow64DirectoryW"
  7712  	GET_TAPE_DRIVE_INFORMATION                                                     = 1
  7713  	GET_TAPE_MEDIA_INFORMATION                                                     = 0
  7714  	GGI_MARK_NONEXISTING_GLYPHS                                                    = 0x0001
  7715  	GGL_INDEX                                                                      = 0x00000002
  7716  	GGL_LEVEL                                                                      = 0x00000001
  7717  	GGL_PRIVATE                                                                    = 0x00000004
  7718  	GGL_STRING                                                                     = 0x00000003
  7719  	GGO_BEZIER                                                                     = 3
  7720  	GGO_BITMAP                                                                     = 1
  7721  	GGO_GLYPH_INDEX                                                                = 0x0080
  7722  	GGO_GRAY2_BITMAP                                                               = 4
  7723  	GGO_GRAY4_BITMAP                                                               = 5
  7724  	GGO_GRAY8_BITMAP                                                               = 6
  7725  	GGO_METRICS                                                                    = 0
  7726  	GGO_NATIVE                                                                     = 2
  7727  	GGO_UNHINTED                                                                   = 0x0100
  7728  	GHND                                                                           = 66
  7729  	GIDC_ARRIVAL                                                                   = 1
  7730  	GIDC_REMOVAL                                                                   = 2
  7731  	GL_ID_CANNOTSAVE                                                               = 0x00000011
  7732  	GL_ID_CHOOSECANDIDATE                                                          = 0x00000028
  7733  	GL_ID_INPUTCODE                                                                = 0x00000026
  7734  	GL_ID_INPUTRADICAL                                                             = 0x00000025
  7735  	GL_ID_INPUTREADING                                                             = 0x00000024
  7736  	GL_ID_INPUTSYMBOL                                                              = 0x00000027
  7737  	GL_ID_NOCONVERT                                                                = 0x00000020
  7738  	GL_ID_NODICTIONARY                                                             = 0x00000010
  7739  	GL_ID_NOMODULE                                                                 = 0x00000001
  7740  	GL_ID_PRIVATE_FIRST                                                            = 0x00008000
  7741  	GL_ID_PRIVATE_LAST                                                             = 0x0000FFFF
  7742  	GL_ID_READINGCONFLICT                                                          = 0x00000023
  7743  	GL_ID_REVERSECONVERSION                                                        = 0x00000029
  7744  	GL_ID_TOOMANYSTROKE                                                            = 0x00000022
  7745  	GL_ID_TYPINGERROR                                                              = 0x00000021
  7746  	GL_ID_UNKNOWN                                                                  = 0x00000000
  7747  	GL_LEVEL_ERROR                                                                 = 0x00000002
  7748  	GL_LEVEL_FATAL                                                                 = 0x00000001
  7749  	GL_LEVEL_INFORMATION                                                           = 0x00000004
  7750  	GL_LEVEL_NOGUIDELINE                                                           = 0x00000000
  7751  	GL_LEVEL_WARNING                                                               = 0x00000003
  7752  	GMDI_GOINTOPOPUPS                                                              = 2
  7753  	GMDI_USEDISABLED                                                               = 1
  7754  	GMEM_DDESHARE                                                                  = 0x2000
  7755  	GMEM_DISCARDABLE                                                               = 0x100
  7756  	GMEM_DISCARDED                                                                 = 0x4000
  7757  	GMEM_FIXED                                                                     = 0x0
  7758  	GMEM_INVALID_HANDLE                                                            = 0x8000
  7759  	GMEM_LOCKCOUNT                                                                 = 0x00ff
  7760  	GMEM_LOWER                                                                     = 4096
  7761  	GMEM_MODIFY                                                                    = 0x80
  7762  	GMEM_MOVEABLE                                                                  = 0x2
  7763  	GMEM_NOCOMPACT                                                                 = 0x10
  7764  	GMEM_NODISCARD                                                                 = 0x20
  7765  	GMEM_NOTIFY                                                                    = 0x4000
  7766  	GMEM_NOT_BANKED                                                                = 0x1000
  7767  	GMEM_SHARE                                                                     = 0x2000
  7768  	GMEM_VALID_FLAGS                                                               = 0x7f72
  7769  	GMEM_ZEROINIT                                                                  = 0x40
  7770  	GMMP_USE_DISPLAY_POINTS                                                        = 1
  7771  	GMMP_USE_HIGH_RESOLUTION_POINTS                                                = 2
  7772  	GM_ADVANCED                                                                    = 2
  7773  	GM_COMPATIBLE                                                                  = 1
  7774  	GM_LAST                                                                        = 2
  7775  	GPTR                                                                           = 64
  7776  	GPT_ATTRIBUTE_PLATFORM_REQUIRED                                                = 1
  7777  	GPT_BASIC_DATA_ATTRIBUTE_HIDDEN                                                = 4611686018427387904
  7778  	GPT_BASIC_DATA_ATTRIBUTE_NO_DRIVE_LETTER                                       = 9223372036854775808
  7779  	GPT_BASIC_DATA_ATTRIBUTE_READ_ONLY                                             = 1152921504606846976
  7780  	GPT_BASIC_DATA_ATTRIBUTE_SHADOW_COPY                                           = 2305843009213693952
  7781  	GRADIENT_FILL_OP_FLAG                                                          = 0x000000ff
  7782  	GRADIENT_FILL_RECT_H                                                           = 0x00000000
  7783  	GRADIENT_FILL_RECT_V                                                           = 0x00000001
  7784  	GRADIENT_FILL_TRIANGLE                                                         = 0x00000002
  7785  	GRAY_BRUSH                                                                     = 2
  7786  	GREEK_CHARSET                                                                  = 161
  7787  	GROUP_NAME                                                                     = 0x80
  7788  	GROUP_SECURITY_INFORMATION                                                     = 2
  7789  	GR_GDIOBJECTS                                                                  = 0
  7790  	GR_USEROBJECTS                                                                 = 1
  7791  	GS_8BIT_INDICES                                                                = 0x00000001
  7792  	GUID_DEFINED                                                                   = 0
  7793  	GUI_16BITTASK                                                                  = 0x00000000
  7794  	GUI_CARETBLINKING                                                              = 0x00000001
  7795  	GUI_INMENUMODE                                                                 = 0x00000004
  7796  	GUI_INMOVESIZE                                                                 = 0x00000002
  7797  	GUI_POPUPMENUMODE                                                              = 0x00000010
  7798  	GUI_SYSTEMMENUMODE                                                             = 0x00000008
  7799  	GWLP_HINSTANCE                                                                 = -6
  7800  	GWLP_HWNDPARENT                                                                = -8
  7801  	GWLP_ID                                                                        = -12
  7802  	GWLP_USERDATA                                                                  = -21
  7803  	GWLP_WNDPROC                                                                   = -4
  7804  	GWL_EXSTYLE                                                                    = -20
  7805  	GWL_ID                                                                         = -12
  7806  	GWL_STYLE                                                                      = -16
  7807  	GW_CHILD                                                                       = 5
  7808  	GW_ENABLEDPOPUP                                                                = 6
  7809  	GW_HWNDFIRST                                                                   = 0
  7810  	GW_HWNDLAST                                                                    = 1
  7811  	GW_HWNDNEXT                                                                    = 2
  7812  	GW_HWNDPREV                                                                    = 3
  7813  	GW_MAX                                                                         = 6
  7814  	GW_OWNER                                                                       = 4
  7815  	HALFTONE                                                                       = 4
  7816  	HANDLE_FLAG_INHERIT                                                            = 0x1
  7817  	HANDLE_FLAG_PROTECT_FROM_CLOSE                                                 = 0x2
  7818  	HANGEUL_CHARSET                                                                = 129
  7819  	HANGUL_CHARSET                                                                 = 129
  7820  	HANGUP_COMPLETE                                                                = 0x05
  7821  	HANGUP_PENDING                                                                 = 0x04
  7822  	HCBT_ACTIVATE                                                                  = 5
  7823  	HCBT_CLICKSKIPPED                                                              = 6
  7824  	HCBT_CREATEWND                                                                 = 3
  7825  	HCBT_DESTROYWND                                                                = 4
  7826  	HCBT_KEYSKIPPED                                                                = 7
  7827  	HCBT_MINMAX                                                                    = 1
  7828  	HCBT_MOVESIZE                                                                  = 0
  7829  	HCBT_QS                                                                        = 2
  7830  	HCBT_SETFOCUS                                                                  = 9
  7831  	HCBT_SYSCOMMAND                                                                = 8
  7832  	HCF_AVAILABLE                                                                  = 0x00000002
  7833  	HCF_CONFIRMHOTKEY                                                              = 0x00000008
  7834  	HCF_DEFAULTDESKTOP                                                             = 0x00000200
  7835  	HCF_HIGHCONTRASTON                                                             = 0x00000001
  7836  	HCF_HOTKEYACTIVE                                                               = 0x00000004
  7837  	HCF_HOTKEYAVAILABLE                                                            = 0x00000040
  7838  	HCF_HOTKEYSOUND                                                                = 0x00000010
  7839  	HCF_INDICATOR                                                                  = 0x00000020
  7840  	HCF_LOGONDESKTOP                                                               = 0x00000100
  7841  	HCF_OPTION_NOTHEMECHANGE                                                       = 0x00001000
  7842  	HCRYPTPROV_DEFINED                                                             = 0
  7843  	HC_ACTION                                                                      = 0
  7844  	HC_GETNEXT                                                                     = 1
  7845  	HC_NOREM                                                                       = 3
  7846  	HC_NOREMOVE                                                                    = 3
  7847  	HC_SKIP                                                                        = 2
  7848  	HC_SYSMODALOFF                                                                 = 5
  7849  	HC_SYSMODALON                                                                  = 4
  7850  	HDATA_APPOWNED                                                                 = 0x0001
  7851  	HEAP_CREATE_ALIGN_16                                                           = 0x00010000
  7852  	HEAP_CREATE_ENABLE_EXECUTE                                                     = 0x00040000
  7853  	HEAP_CREATE_ENABLE_TRACING                                                     = 0x00020000
  7854  	HEAP_DISABLE_COALESCE_ON_FREE                                                  = 0x00000080
  7855  	HEAP_FREE_CHECKING_ENABLED                                                     = 0x00000040
  7856  	HEAP_GENERATE_EXCEPTIONS                                                       = 0x00000004
  7857  	HEAP_GROWABLE                                                                  = 0x00000002
  7858  	HEAP_MAXIMUM_TAG                                                               = 0x0FFF
  7859  	HEAP_NO_SERIALIZE                                                              = 0x00000001
  7860  	HEAP_PSEUDO_TAG_FLAG                                                           = 0x8000
  7861  	HEAP_REALLOC_IN_PLACE_ONLY                                                     = 0x00000010
  7862  	HEAP_TAG_SHIFT                                                                 = 18
  7863  	HEAP_TAIL_CHECKING_ENABLED                                                     = 0x00000020
  7864  	HEAP_ZERO_MEMORY                                                               = 0x00000008
  7865  	HEBREW_CHARSET                                                                 = 177
  7866  	HELPINFO_MENUITEM                                                              = 0x0002
  7867  	HELPINFO_WINDOW                                                                = 0x0001
  7868  	HELPMSGSTRINGA                                                                 = "commdlg_help"
  7869  	HELP_COMMAND                                                                   = 0x0102
  7870  	HELP_CONTENTS                                                                  = 0x0003
  7871  	HELP_CONTEXT                                                                   = 0x0001
  7872  	HELP_CONTEXTMENU                                                               = 0x000a
  7873  	HELP_CONTEXTPOPUP                                                              = 0x0008
  7874  	HELP_FINDER                                                                    = 0x000b
  7875  	HELP_FORCEFILE                                                                 = 0x0009
  7876  	HELP_HELPONHELP                                                                = 0x0004
  7877  	HELP_INDEX                                                                     = 0x0003
  7878  	HELP_KEY                                                                       = 0x0101
  7879  	HELP_MULTIKEY                                                                  = 0x0201
  7880  	HELP_PARTIALKEY                                                                = 0x0105
  7881  	HELP_QUIT                                                                      = 0x0002
  7882  	HELP_SETCONTENTS                                                               = 0x0005
  7883  	HELP_SETINDEX                                                                  = 0x0005
  7884  	HELP_SETPOPUP_POS                                                              = 0x000d
  7885  	HELP_SETWINPOS                                                                 = 0x0203
  7886  	HELP_TCARD                                                                     = 0x8000
  7887  	HELP_TCARD_DATA                                                                = 0x0010
  7888  	HELP_TCARD_OTHER_CALLER                                                        = 0x0011
  7889  	HELP_WM_HELP                                                                   = 0x000c
  7890  	HIDE_WINDOW                                                                    = 0
  7891  	HIGH_PRIORITY_CLASS                                                            = 0x80
  7892  	HIGH_SURROGATE_END                                                             = 0xdbff
  7893  	HIGH_SURROGATE_START                                                           = 0xd800
  7894  	HINSTANCE_ERROR                                                                = 32
  7895  	HISTORY_NO_DUP_FLAG                                                            = 0x1
  7896  	HIST_NO_OF_BUCKETS                                                             = 24
  7897  	HKL_NEXT                                                                       = 1
  7898  	HKL_PREV                                                                       = 0
  7899  	HMONITOR_DECLARED                                                              = 1
  7900  	HOLLOW_BRUSH                                                                   = 5
  7901  	HORZRES                                                                        = 8
  7902  	HORZSIZE                                                                       = 4
  7903  	HOST_NOT_FOUND                                                                 = 11001
  7904  	HOVER_DEFAULT                                                                  = 0xFFFFFFFF
  7905  	HP_ALGID                                                                       = 0x1
  7906  	HP_HASHSIZE                                                                    = 0x4
  7907  	HP_HASHVAL                                                                     = 0x2
  7908  	HP_HMAC_INFO                                                                   = 0x5
  7909  	HP_TLS1PRF_LABEL                                                               = 0x6
  7910  	HP_TLS1PRF_SEED                                                                = 0x7
  7911  	HSHELL_ACCESSIBILITYSTATE                                                      = 11
  7912  	HSHELL_ACTIVATESHELLWINDOW                                                     = 3
  7913  	HSHELL_APPCOMMAND                                                              = 12
  7914  	HSHELL_ENDTASK                                                                 = 10
  7915  	HSHELL_FLASH                                                                   = 32774
  7916  	HSHELL_GETMINRECT                                                              = 5
  7917  	HSHELL_HIGHBIT                                                                 = 0x8000
  7918  	HSHELL_LANGUAGE                                                                = 8
  7919  	HSHELL_REDRAW                                                                  = 6
  7920  	HSHELL_RUDEAPPACTIVATED                                                        = 32772
  7921  	HSHELL_SYSMENU                                                                 = 9
  7922  	HSHELL_TASKMAN                                                                 = 7
  7923  	HSHELL_WINDOWACTIVATED                                                         = 4
  7924  	HSHELL_WINDOWCREATED                                                           = 1
  7925  	HSHELL_WINDOWDESTROYED                                                         = 2
  7926  	HSHELL_WINDOWREPLACED                                                          = 13
  7927  	HSHELL_WINDOWREPLACING                                                         = 14
  7928  	HS_API_MAX                                                                     = 12
  7929  	HS_BDIAGONAL                                                                   = 3
  7930  	HS_CROSS                                                                       = 4
  7931  	HS_DIAGCROSS                                                                   = 5
  7932  	HS_FDIAGONAL                                                                   = 2
  7933  	HS_HORIZONTAL                                                                  = 0
  7934  	HS_VERTICAL                                                                    = 1
  7935  	HTBORDER                                                                       = 18
  7936  	HTBOTTOM                                                                       = 15
  7937  	HTBOTTOMLEFT                                                                   = 16
  7938  	HTBOTTOMRIGHT                                                                  = 17
  7939  	HTCAPTION                                                                      = 2
  7940  	HTCLIENT                                                                       = 1
  7941  	HTCLOSE                                                                        = 20
  7942  	HTERROR                                                                        = -2
  7943  	HTGROWBOX                                                                      = 4
  7944  	HTHELP                                                                         = 21
  7945  	HTHSCROLL                                                                      = 6
  7946  	HTLEFT                                                                         = 10
  7947  	HTMAXBUTTON                                                                    = 9
  7948  	HTMENU                                                                         = 5
  7949  	HTMINBUTTON                                                                    = 8
  7950  	HTNOWHERE                                                                      = 0
  7951  	HTOBJECT                                                                       = 19
  7952  	HTREDUCE                                                                       = 8
  7953  	HTRIGHT                                                                        = 11
  7954  	HTSIZE                                                                         = 4
  7955  	HTSIZEFIRST                                                                    = 10
  7956  	HTSIZELAST                                                                     = 17
  7957  	HTSYSMENU                                                                      = 3
  7958  	HTTOP                                                                          = 12
  7959  	HTTOPLEFT                                                                      = 13
  7960  	HTTOPRIGHT                                                                     = 14
  7961  	HTTRANSPARENT                                                                  = -1
  7962  	HTVSCROLL                                                                      = 7
  7963  	HTZOOM                                                                         = 9
  7964  	HUGEP                                                                          = 0
  7965  	HW_PROFILE_GUIDLEN                                                             = 39
  7966  	IACE_CHILDREN                                                                  = 0x0001
  7967  	IACE_DEFAULT                                                                   = 0x0010
  7968  	IACE_IGNORENOCONTEXT                                                           = 0x0020
  7969  	ICM_ADDPROFILE                                                                 = 1
  7970  	ICM_DELETEPROFILE                                                              = 2
  7971  	ICM_DONE_OUTSIDEDC                                                             = 4
  7972  	ICM_OFF                                                                        = 1
  7973  	ICM_ON                                                                         = 2
  7974  	ICM_QUERY                                                                      = 3
  7975  	ICM_QUERYMATCH                                                                 = 7
  7976  	ICM_QUERYPROFILE                                                               = 3
  7977  	ICM_REGISTERICMATCHER                                                          = 5
  7978  	ICM_SETDEFAULTPROFILE                                                          = 4
  7979  	ICM_UNREGISTERICMATCHER                                                        = 6
  7980  	ICON_BIG                                                                       = 1
  7981  	ICON_SMALL                                                                     = 0
  7982  	ICON_SMALL2                                                                    = 2
  7983  	IDABORT                                                                        = 3
  7984  	IDANI_CAPTION                                                                  = 3
  7985  	IDANI_OPEN                                                                     = 1
  7986  	IDCANCEL                                                                       = 2
  7987  	IDCLOSE                                                                        = 8
  7988  	IDCONTINUE                                                                     = 11
  7989  	IDENTIFY_BUFFER_SIZE                                                           = 512
  7990  	IDHELP                                                                         = 9
  7991  	IDHOT_SNAPDESKTOP                                                              = -2
  7992  	IDHOT_SNAPWINDOW                                                               = -1
  7993  	IDH_CANCEL                                                                     = 28444
  7994  	IDH_GENERIC_HELP_BUTTON                                                        = 28442
  7995  	IDH_HELP                                                                       = 28445
  7996  	IDH_MISSING_CONTEXT                                                            = 28441
  7997  	IDH_NO_HELP                                                                    = 28440
  7998  	IDH_OK                                                                         = 28443
  7999  	IDIGNORE                                                                       = 5
  8000  	IDLE_PRIORITY_CLASS                                                            = 0x40
  8001  	IDLFLAG_FIN                                                                    = 1
  8002  	IDLFLAG_FLCID                                                                  = 4
  8003  	IDLFLAG_FOUT                                                                   = 2
  8004  	IDLFLAG_FRETVAL                                                                = 8
  8005  	IDLFLAG_NONE                                                                   = 0
  8006  	IDNO                                                                           = 7
  8007  	IDOK                                                                           = 1
  8008  	IDRETRY                                                                        = 4
  8009  	IDTIMEOUT                                                                      = 32000
  8010  	IDTRYAGAIN                                                                     = 10
  8011  	IDYES                                                                          = 6
  8012  	ID_CMD                                                                         = 0xEC
  8013  	ID_DEFAULTINST                                                                 = -2
  8014  	ID_PSREBOOTSYSTEM                                                              = 3
  8015  	ID_PSRESTARTWINDOWS                                                            = 0x2
  8016  	IE_BADID                                                                       = -1
  8017  	IE_BAUDRATE                                                                    = -12
  8018  	IE_BYTESIZE                                                                    = -11
  8019  	IE_DEFAULT                                                                     = -5
  8020  	IE_HARDWARE                                                                    = -10
  8021  	IE_MEMORY                                                                      = -4
  8022  	IE_NOPEN                                                                       = -3
  8023  	IE_OPEN                                                                        = -2
  8024  	IFID_DEFINED                                                                   = 0
  8025  	IGIMIF_RIGHTMENU                                                               = 0x0001
  8026  	IGIMII_CMODE                                                                   = 0x0001
  8027  	IGIMII_CONFIGURE                                                               = 0x0004
  8028  	IGIMII_HELP                                                                    = 0x0010
  8029  	IGIMII_INPUTTOOLS                                                              = 0x0040
  8030  	IGIMII_OTHER                                                                   = 0x0020
  8031  	IGIMII_SMODE                                                                   = 0x0002
  8032  	IGIMII_TOOLS                                                                   = 0x0008
  8033  	IGNORE                                                                         = 0
  8034  	IGP_CONVERSION                                                                 = 0x00000008
  8035  	IGP_PROPERTY                                                                   = 0x00000004
  8036  	IGP_SELECT                                                                     = 0x00000018
  8037  	IGP_SENTENCE                                                                   = 0x0000000c
  8038  	IGP_SETCOMPSTR                                                                 = 0x00000014
  8039  	IGP_UI                                                                         = 0x00000010
  8040  	ILLUMINANT_A                                                                   = 1
  8041  	ILLUMINANT_B                                                                   = 2
  8042  	ILLUMINANT_C                                                                   = 3
  8043  	ILLUMINANT_D50                                                                 = 4
  8044  	ILLUMINANT_D55                                                                 = 5
  8045  	ILLUMINANT_D65                                                                 = 6
  8046  	ILLUMINANT_D75                                                                 = 7
  8047  	ILLUMINANT_DAYLIGHT                                                            = 3
  8048  	ILLUMINANT_DEVICE_DEFAULT                                                      = 0
  8049  	ILLUMINANT_F2                                                                  = 8
  8050  	ILLUMINANT_FLUORESCENT                                                         = 8
  8051  	ILLUMINANT_MAX_INDEX                                                           = 8
  8052  	ILLUMINANT_NTSC                                                                = 3
  8053  	ILLUMINANT_TUNGSTEN                                                            = 1
  8054  	IMAGE_ARCHIVE_END                                                              = "`\n"
  8055  	IMAGE_ARCHIVE_LINKER_MEMBER                                                    = "/               "
  8056  	IMAGE_ARCHIVE_LONGNAMES_MEMBER                                                 = "//              "
  8057  	IMAGE_ARCHIVE_PAD                                                              = "\n"
  8058  	IMAGE_ARCHIVE_START                                                            = "!<arch>\n"
  8059  	IMAGE_ARCHIVE_START_SIZE                                                       = 8
  8060  	IMAGE_BITMAP                                                                   = 0
  8061  	IMAGE_COMDAT_SELECT_ANY                                                        = 2
  8062  	IMAGE_COMDAT_SELECT_ASSOCIATIVE                                                = 5
  8063  	IMAGE_COMDAT_SELECT_EXACT_MATCH                                                = 4
  8064  	IMAGE_COMDAT_SELECT_LARGEST                                                    = 6
  8065  	IMAGE_COMDAT_SELECT_NEWEST                                                     = 7
  8066  	IMAGE_COMDAT_SELECT_NODUPLICATES                                               = 1
  8067  	IMAGE_COMDAT_SELECT_SAME_SIZE                                                  = 3
  8068  	IMAGE_CURSOR                                                                   = 2
  8069  	IMAGE_DEBUG_MISC_EXENAME                                                       = 1
  8070  	IMAGE_DEBUG_TYPE_BORLAND                                                       = 9
  8071  	IMAGE_DEBUG_TYPE_CLSID                                                         = 11
  8072  	IMAGE_DEBUG_TYPE_CODEVIEW                                                      = 2
  8073  	IMAGE_DEBUG_TYPE_COFF                                                          = 1
  8074  	IMAGE_DEBUG_TYPE_EXCEPTION                                                     = 5
  8075  	IMAGE_DEBUG_TYPE_FIXUP                                                         = 6
  8076  	IMAGE_DEBUG_TYPE_FPO                                                           = 3
  8077  	IMAGE_DEBUG_TYPE_MISC                                                          = 4
  8078  	IMAGE_DEBUG_TYPE_OMAP_FROM_SRC                                                 = 8
  8079  	IMAGE_DEBUG_TYPE_OMAP_TO_SRC                                                   = 7
  8080  	IMAGE_DEBUG_TYPE_RESERVED10                                                    = 10
  8081  	IMAGE_DEBUG_TYPE_UNKNOWN                                                       = 0
  8082  	IMAGE_DIRECTORY_ENTRY_ARCHITECTURE                                             = 7
  8083  	IMAGE_DIRECTORY_ENTRY_BASERELOC                                                = 5
  8084  	IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT                                             = 11
  8085  	IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR                                           = 14
  8086  	IMAGE_DIRECTORY_ENTRY_DEBUG                                                    = 6
  8087  	IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT                                             = 13
  8088  	IMAGE_DIRECTORY_ENTRY_EXCEPTION                                                = 3
  8089  	IMAGE_DIRECTORY_ENTRY_EXPORT                                                   = 0
  8090  	IMAGE_DIRECTORY_ENTRY_GLOBALPTR                                                = 8
  8091  	IMAGE_DIRECTORY_ENTRY_IAT                                                      = 12
  8092  	IMAGE_DIRECTORY_ENTRY_IMPORT                                                   = 1
  8093  	IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG                                              = 10
  8094  	IMAGE_DIRECTORY_ENTRY_RESOURCE                                                 = 2
  8095  	IMAGE_DIRECTORY_ENTRY_SECURITY                                                 = 4
  8096  	IMAGE_DIRECTORY_ENTRY_TLS                                                      = 9
  8097  	IMAGE_DLLCHARACTERISTICS_APPCONTAINER                                          = 0x1000
  8098  	IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE                                          = 0x0040
  8099  	IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY                                       = 0x0080
  8100  	IMAGE_DLLCHARACTERISTICS_GUARD_CF                                              = 0x4000
  8101  	IMAGE_DLLCHARACTERISTICS_HIGH_ENTROPY_VA                                       = 0x0020
  8102  	IMAGE_DLLCHARACTERISTICS_NO_BIND                                               = 0x0800
  8103  	IMAGE_DLLCHARACTERISTICS_NO_ISOLATION                                          = 0x0200
  8104  	IMAGE_DLLCHARACTERISTICS_NO_SEH                                                = 0x0400
  8105  	IMAGE_DLLCHARACTERISTICS_NX_COMPAT                                             = 0x0100
  8106  	IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE                                 = 0x8000
  8107  	IMAGE_DLLCHARACTERISTICS_WDM_DRIVER                                            = 0x2000
  8108  	IMAGE_DOS_SIGNATURE                                                            = 0x5A4D
  8109  	IMAGE_ENHMETAFILE                                                              = 3
  8110  	IMAGE_FILE_32BIT_MACHINE                                                       = 0x0100
  8111  	IMAGE_FILE_AGGRESIVE_WS_TRIM                                                   = 0x0010
  8112  	IMAGE_FILE_BYTES_REVERSED_HI                                                   = 0x8000
  8113  	IMAGE_FILE_BYTES_REVERSED_LO                                                   = 0x0080
  8114  	IMAGE_FILE_DEBUG_STRIPPED                                                      = 0x0200
  8115  	IMAGE_FILE_DLL                                                                 = 0x2000
  8116  	IMAGE_FILE_EXECUTABLE_IMAGE                                                    = 0x0002
  8117  	IMAGE_FILE_LARGE_ADDRESS_AWARE                                                 = 0x0020
  8118  	IMAGE_FILE_LINE_NUMS_STRIPPED                                                  = 0x0004
  8119  	IMAGE_FILE_LOCAL_SYMS_STRIPPED                                                 = 0x0008
  8120  	IMAGE_FILE_MACHINE_ALPHA                                                       = 0x0184
  8121  	IMAGE_FILE_MACHINE_ALPHA64                                                     = 0x0284
  8122  	IMAGE_FILE_MACHINE_AM33                                                        = 0x01d3
  8123  	IMAGE_FILE_MACHINE_AMD64                                                       = 0x8664
  8124  	IMAGE_FILE_MACHINE_ARM                                                         = 0x01c0
  8125  	IMAGE_FILE_MACHINE_ARM64                                                       = 0xaa64
  8126  	IMAGE_FILE_MACHINE_ARMNT                                                       = 0x01c4
  8127  	IMAGE_FILE_MACHINE_ARMV7                                                       = 0x01c4
  8128  	IMAGE_FILE_MACHINE_AXP64                                                       = 644
  8129  	IMAGE_FILE_MACHINE_CEE                                                         = 0xc0ee
  8130  	IMAGE_FILE_MACHINE_CEF                                                         = 0x0CEF
  8131  	IMAGE_FILE_MACHINE_EBC                                                         = 0x0EBC
  8132  	IMAGE_FILE_MACHINE_I386                                                        = 0x014c
  8133  	IMAGE_FILE_MACHINE_IA64                                                        = 0x0200
  8134  	IMAGE_FILE_MACHINE_M32R                                                        = 0x9041
  8135  	IMAGE_FILE_MACHINE_MIPS16                                                      = 0x0266
  8136  	IMAGE_FILE_MACHINE_MIPSFPU                                                     = 0x0366
  8137  	IMAGE_FILE_MACHINE_MIPSFPU16                                                   = 0x0466
  8138  	IMAGE_FILE_MACHINE_POWERPC                                                     = 0x01F0
  8139  	IMAGE_FILE_MACHINE_POWERPCFP                                                   = 0x01f1
  8140  	IMAGE_FILE_MACHINE_R10000                                                      = 0x0168
  8141  	IMAGE_FILE_MACHINE_R3000                                                       = 0x0162
  8142  	IMAGE_FILE_MACHINE_R4000                                                       = 0x0166
  8143  	IMAGE_FILE_MACHINE_SH3                                                         = 0x01a2
  8144  	IMAGE_FILE_MACHINE_SH3DSP                                                      = 0x01a3
  8145  	IMAGE_FILE_MACHINE_SH3E                                                        = 0x01a4
  8146  	IMAGE_FILE_MACHINE_SH4                                                         = 0x01a6
  8147  	IMAGE_FILE_MACHINE_SH5                                                         = 0x01a8
  8148  	IMAGE_FILE_MACHINE_THUMB                                                       = 0x01c2
  8149  	IMAGE_FILE_MACHINE_TRICORE                                                     = 0x0520
  8150  	IMAGE_FILE_MACHINE_UNKNOWN                                                     = 0
  8151  	IMAGE_FILE_MACHINE_WCEMIPSV2                                                   = 0x0169
  8152  	IMAGE_FILE_NET_RUN_FROM_SWAP                                                   = 0x0800
  8153  	IMAGE_FILE_RELOCS_STRIPPED                                                     = 0x0001
  8154  	IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP                                             = 0x0400
  8155  	IMAGE_FILE_SYSTEM                                                              = 0x1000
  8156  	IMAGE_FILE_UP_SYSTEM_ONLY                                                      = 0x4000
  8157  	IMAGE_ICON                                                                     = 1
  8158  	IMAGE_NT_OPTIONAL_HDR32_MAGIC                                                  = 0x10b
  8159  	IMAGE_NT_OPTIONAL_HDR64_MAGIC                                                  = 0x20b
  8160  	IMAGE_NT_OPTIONAL_HDR_MAGIC                                                    = 523
  8161  	IMAGE_NT_SIGNATURE                                                             = 0x00004550
  8162  	IMAGE_NUMBEROF_DIRECTORY_ENTRIES                                               = 16
  8163  	IMAGE_ORDINAL_FLAG                                                             = 9223372036854775808
  8164  	IMAGE_ORDINAL_FLAG32                                                           = 0x80000000
  8165  	IMAGE_ORDINAL_FLAG64                                                           = 0x8000000000000000
  8166  	IMAGE_OS2_SIGNATURE                                                            = 0x454E
  8167  	IMAGE_OS2_SIGNATURE_LE                                                         = 0x454C
  8168  	IMAGE_REL_ALPHA_ABSOLUTE                                                       = 0x0000
  8169  	IMAGE_REL_ALPHA_BRADDR                                                         = 0x0007
  8170  	IMAGE_REL_ALPHA_GPDISP                                                         = 0x0006
  8171  	IMAGE_REL_ALPHA_GPREL32                                                        = 0x0003
  8172  	IMAGE_REL_ALPHA_GPRELHI                                                        = 0x0017
  8173  	IMAGE_REL_ALPHA_GPRELLO                                                        = 0x0016
  8174  	IMAGE_REL_ALPHA_HINT                                                           = 0x0008
  8175  	IMAGE_REL_ALPHA_INLINE_REFLONG                                                 = 0x0009
  8176  	IMAGE_REL_ALPHA_LITERAL                                                        = 0x0004
  8177  	IMAGE_REL_ALPHA_LITUSE                                                         = 0x0005
  8178  	IMAGE_REL_ALPHA_MATCH                                                          = 0x000D
  8179  	IMAGE_REL_ALPHA_PAIR                                                           = 0x000C
  8180  	IMAGE_REL_ALPHA_REFHI                                                          = 0x000A
  8181  	IMAGE_REL_ALPHA_REFLO                                                          = 0x000B
  8182  	IMAGE_REL_ALPHA_REFLONG                                                        = 0x0001
  8183  	IMAGE_REL_ALPHA_REFLONGNB                                                      = 0x0010
  8184  	IMAGE_REL_ALPHA_REFQ1                                                          = 0x0015
  8185  	IMAGE_REL_ALPHA_REFQ2                                                          = 0x0014
  8186  	IMAGE_REL_ALPHA_REFQ3                                                          = 0x0013
  8187  	IMAGE_REL_ALPHA_REFQUAD                                                        = 0x0002
  8188  	IMAGE_REL_ALPHA_SECREL                                                         = 0x000F
  8189  	IMAGE_REL_ALPHA_SECRELHI                                                       = 0x0012
  8190  	IMAGE_REL_ALPHA_SECRELLO                                                       = 0x0011
  8191  	IMAGE_REL_ALPHA_SECTION                                                        = 0x000E
  8192  	IMAGE_REL_AMD64_ABSOLUTE                                                       = 0x0000
  8193  	IMAGE_REL_AMD64_ADDR32                                                         = 0x0002
  8194  	IMAGE_REL_AMD64_ADDR32NB                                                       = 0x0003
  8195  	IMAGE_REL_AMD64_ADDR64                                                         = 0x0001
  8196  	IMAGE_REL_AMD64_PAIR                                                           = 0x000F
  8197  	IMAGE_REL_AMD64_REL32                                                          = 0x0004
  8198  	IMAGE_REL_AMD64_REL32_1                                                        = 0x0005
  8199  	IMAGE_REL_AMD64_REL32_2                                                        = 0x0006
  8200  	IMAGE_REL_AMD64_REL32_3                                                        = 0x0007
  8201  	IMAGE_REL_AMD64_REL32_4                                                        = 0x0008
  8202  	IMAGE_REL_AMD64_REL32_5                                                        = 0x0009
  8203  	IMAGE_REL_AMD64_SECREL                                                         = 0x000B
  8204  	IMAGE_REL_AMD64_SECREL7                                                        = 0x000C
  8205  	IMAGE_REL_AMD64_SECTION                                                        = 0x000A
  8206  	IMAGE_REL_AMD64_SREL32                                                         = 0x000E
  8207  	IMAGE_REL_AMD64_SSPAN32                                                        = 0x0010
  8208  	IMAGE_REL_AMD64_TOKEN                                                          = 0x000D
  8209  	IMAGE_REL_AM_ABSOLUTE                                                          = 0x0000
  8210  	IMAGE_REL_AM_ADDR32                                                            = 0x0001
  8211  	IMAGE_REL_AM_ADDR32NB                                                          = 0x0002
  8212  	IMAGE_REL_AM_CALL32                                                            = 0x0003
  8213  	IMAGE_REL_AM_FUNCINFO                                                          = 0x0004
  8214  	IMAGE_REL_AM_REL32_1                                                           = 0x0005
  8215  	IMAGE_REL_AM_REL32_2                                                           = 0x0006
  8216  	IMAGE_REL_AM_SECREL                                                            = 0x0007
  8217  	IMAGE_REL_AM_SECTION                                                           = 0x0008
  8218  	IMAGE_REL_AM_TOKEN                                                             = 0x0009
  8219  	IMAGE_REL_ARM_ABSOLUTE                                                         = 0x0000
  8220  	IMAGE_REL_ARM_ADDR32                                                           = 0x0001
  8221  	IMAGE_REL_ARM_ADDR32NB                                                         = 0x0002
  8222  	IMAGE_REL_ARM_BLX11                                                            = 0x0009
  8223  	IMAGE_REL_ARM_BLX23T                                                           = 0x0015
  8224  	IMAGE_REL_ARM_BLX24                                                            = 0x0008
  8225  	IMAGE_REL_ARM_BRANCH11                                                         = 0x0004
  8226  	IMAGE_REL_ARM_BRANCH20T                                                        = 0x0012
  8227  	IMAGE_REL_ARM_BRANCH24                                                         = 0x0003
  8228  	IMAGE_REL_ARM_BRANCH24T                                                        = 0x0014
  8229  	IMAGE_REL_ARM_GPREL12                                                          = 0x0006
  8230  	IMAGE_REL_ARM_GPREL7                                                           = 0x0007
  8231  	IMAGE_REL_ARM_MOV32                                                            = 0x0010
  8232  	IMAGE_REL_ARM_MOV32A                                                           = 0x0010
  8233  	IMAGE_REL_ARM_MOV32T                                                           = 0x0011
  8234  	IMAGE_REL_ARM_SECREL                                                           = 0x000F
  8235  	IMAGE_REL_ARM_SECTION                                                          = 0x000E
  8236  	IMAGE_REL_ARM_TOKEN                                                            = 0x0005
  8237  	IMAGE_REL_BASED_ABSOLUTE                                                       = 0
  8238  	IMAGE_REL_BASED_ARM_MOV32                                                      = 5
  8239  	IMAGE_REL_BASED_DIR64                                                          = 10
  8240  	IMAGE_REL_BASED_HIGH                                                           = 1
  8241  	IMAGE_REL_BASED_HIGHADJ                                                        = 4
  8242  	IMAGE_REL_BASED_HIGHLOW                                                        = 3
  8243  	IMAGE_REL_BASED_IA64_IMM64                                                     = 9
  8244  	IMAGE_REL_BASED_LOW                                                            = 2
  8245  	IMAGE_REL_BASED_MIPS_JMPADDR                                                   = 5
  8246  	IMAGE_REL_BASED_MIPS_JMPADDR16                                                 = 9
  8247  	IMAGE_REL_BASED_THUMB_MOV32                                                    = 7
  8248  	IMAGE_REL_CEE_ABSOLUTE                                                         = 0x0000
  8249  	IMAGE_REL_CEE_ADDR32                                                           = 0x0001
  8250  	IMAGE_REL_CEE_ADDR32NB                                                         = 0x0003
  8251  	IMAGE_REL_CEE_ADDR64                                                           = 0x0002
  8252  	IMAGE_REL_CEE_SECREL                                                           = 0x0005
  8253  	IMAGE_REL_CEE_SECTION                                                          = 0x0004
  8254  	IMAGE_REL_CEE_TOKEN                                                            = 0x0006
  8255  	IMAGE_REL_CEF_ABSOLUTE                                                         = 0x0000
  8256  	IMAGE_REL_CEF_ADDR32                                                           = 0x0001
  8257  	IMAGE_REL_CEF_ADDR32NB                                                         = 0x0003
  8258  	IMAGE_REL_CEF_ADDR64                                                           = 0x0002
  8259  	IMAGE_REL_CEF_SECREL                                                           = 0x0005
  8260  	IMAGE_REL_CEF_SECTION                                                          = 0x0004
  8261  	IMAGE_REL_CEF_TOKEN                                                            = 0x0006
  8262  	IMAGE_REL_EBC_ABSOLUTE                                                         = 0x0000
  8263  	IMAGE_REL_EBC_ADDR32NB                                                         = 0x0001
  8264  	IMAGE_REL_EBC_REL32                                                            = 0x0002
  8265  	IMAGE_REL_EBC_SECREL                                                           = 0x0004
  8266  	IMAGE_REL_EBC_SECTION                                                          = 0x0003
  8267  	IMAGE_REL_I386_ABSOLUTE                                                        = 0x0000
  8268  	IMAGE_REL_I386_DIR16                                                           = 0x0001
  8269  	IMAGE_REL_I386_DIR32                                                           = 0x0006
  8270  	IMAGE_REL_I386_DIR32NB                                                         = 0x0007
  8271  	IMAGE_REL_I386_REL16                                                           = 0x0002
  8272  	IMAGE_REL_I386_REL32                                                           = 0x0014
  8273  	IMAGE_REL_I386_SECREL                                                          = 0x000B
  8274  	IMAGE_REL_I386_SECREL7                                                         = 0x000D
  8275  	IMAGE_REL_I386_SECTION                                                         = 0x000A
  8276  	IMAGE_REL_I386_SEG12                                                           = 0x0009
  8277  	IMAGE_REL_I386_TOKEN                                                           = 0x000C
  8278  	IMAGE_REL_IA64_ABSOLUTE                                                        = 0x0000
  8279  	IMAGE_REL_IA64_ADDEND                                                          = 0x001F
  8280  	IMAGE_REL_IA64_DIR32                                                           = 0x0004
  8281  	IMAGE_REL_IA64_DIR32NB                                                         = 0x0010
  8282  	IMAGE_REL_IA64_DIR64                                                           = 0x0005
  8283  	IMAGE_REL_IA64_GPREL22                                                         = 0x0009
  8284  	IMAGE_REL_IA64_GPREL32                                                         = 0x001C
  8285  	IMAGE_REL_IA64_IMM14                                                           = 0x0001
  8286  	IMAGE_REL_IA64_IMM22                                                           = 0x0002
  8287  	IMAGE_REL_IA64_IMM64                                                           = 0x0003
  8288  	IMAGE_REL_IA64_IMMGPREL64                                                      = 0x001A
  8289  	IMAGE_REL_IA64_LTOFF22                                                         = 0x000A
  8290  	IMAGE_REL_IA64_PCREL21B                                                        = 0x0006
  8291  	IMAGE_REL_IA64_PCREL21F                                                        = 0x0008
  8292  	IMAGE_REL_IA64_PCREL21M                                                        = 0x0007
  8293  	IMAGE_REL_IA64_PCREL60B                                                        = 0x0016
  8294  	IMAGE_REL_IA64_PCREL60F                                                        = 0x0017
  8295  	IMAGE_REL_IA64_PCREL60I                                                        = 0x0018
  8296  	IMAGE_REL_IA64_PCREL60M                                                        = 0x0019
  8297  	IMAGE_REL_IA64_PCREL60X                                                        = 0x0015
  8298  	IMAGE_REL_IA64_SECREL22                                                        = 0x000C
  8299  	IMAGE_REL_IA64_SECREL32                                                        = 0x000E
  8300  	IMAGE_REL_IA64_SECREL64I                                                       = 0x000D
  8301  	IMAGE_REL_IA64_SECTION                                                         = 0x000B
  8302  	IMAGE_REL_IA64_SREL14                                                          = 0x0011
  8303  	IMAGE_REL_IA64_SREL22                                                          = 0x0012
  8304  	IMAGE_REL_IA64_SREL32                                                          = 0x0013
  8305  	IMAGE_REL_IA64_TOKEN                                                           = 0x001B
  8306  	IMAGE_REL_IA64_UREL32                                                          = 0x0014
  8307  	IMAGE_REL_M32R_ABSOLUTE                                                        = 0x0000
  8308  	IMAGE_REL_M32R_ADDR24                                                          = 0x0003
  8309  	IMAGE_REL_M32R_ADDR32                                                          = 0x0001
  8310  	IMAGE_REL_M32R_ADDR32NB                                                        = 0x0002
  8311  	IMAGE_REL_M32R_GPREL16                                                         = 0x0004
  8312  	IMAGE_REL_M32R_PAIR                                                            = 0x000B
  8313  	IMAGE_REL_M32R_PCREL16                                                         = 0x0006
  8314  	IMAGE_REL_M32R_PCREL24                                                         = 0x0005
  8315  	IMAGE_REL_M32R_PCREL8                                                          = 0x0007
  8316  	IMAGE_REL_M32R_REFHALF                                                         = 0x0008
  8317  	IMAGE_REL_M32R_REFHI                                                           = 0x0009
  8318  	IMAGE_REL_M32R_REFLO                                                           = 0x000A
  8319  	IMAGE_REL_M32R_SECREL32                                                        = 0x000D
  8320  	IMAGE_REL_M32R_SECTION                                                         = 0x000C
  8321  	IMAGE_REL_M32R_TOKEN                                                           = 0x000E
  8322  	IMAGE_REL_MIPS_ABSOLUTE                                                        = 0x0000
  8323  	IMAGE_REL_MIPS_GPREL                                                           = 0x0006
  8324  	IMAGE_REL_MIPS_JMPADDR                                                         = 0x0003
  8325  	IMAGE_REL_MIPS_JMPADDR16                                                       = 0x0010
  8326  	IMAGE_REL_MIPS_LITERAL                                                         = 0x0007
  8327  	IMAGE_REL_MIPS_PAIR                                                            = 0x0025
  8328  	IMAGE_REL_MIPS_REFHALF                                                         = 0x0001
  8329  	IMAGE_REL_MIPS_REFHI                                                           = 0x0004
  8330  	IMAGE_REL_MIPS_REFLO                                                           = 0x0005
  8331  	IMAGE_REL_MIPS_REFWORD                                                         = 0x0002
  8332  	IMAGE_REL_MIPS_REFWORDNB                                                       = 0x0022
  8333  	IMAGE_REL_MIPS_SECREL                                                          = 0x000B
  8334  	IMAGE_REL_MIPS_SECRELHI                                                        = 0x000D
  8335  	IMAGE_REL_MIPS_SECRELLO                                                        = 0x000C
  8336  	IMAGE_REL_MIPS_SECTION                                                         = 0x000A
  8337  	IMAGE_REL_MIPS_TOKEN                                                           = 0x000E
  8338  	IMAGE_REL_PPC_ABSOLUTE                                                         = 0x0000
  8339  	IMAGE_REL_PPC_ADDR14                                                           = 0x0005
  8340  	IMAGE_REL_PPC_ADDR16                                                           = 0x0004
  8341  	IMAGE_REL_PPC_ADDR24                                                           = 0x0003
  8342  	IMAGE_REL_PPC_ADDR32                                                           = 0x0002
  8343  	IMAGE_REL_PPC_ADDR32NB                                                         = 0x000A
  8344  	IMAGE_REL_PPC_ADDR64                                                           = 0x0001
  8345  	IMAGE_REL_PPC_BRNTAKEN                                                         = 0x0400
  8346  	IMAGE_REL_PPC_BRTAKEN                                                          = 0x0200
  8347  	IMAGE_REL_PPC_GPREL                                                            = 0x0015
  8348  	IMAGE_REL_PPC_IFGLUE                                                           = 0x000D
  8349  	IMAGE_REL_PPC_IMGLUE                                                           = 0x000E
  8350  	IMAGE_REL_PPC_NEG                                                              = 0x0100
  8351  	IMAGE_REL_PPC_PAIR                                                             = 0x0012
  8352  	IMAGE_REL_PPC_REFHI                                                            = 0x0010
  8353  	IMAGE_REL_PPC_REFLO                                                            = 0x0011
  8354  	IMAGE_REL_PPC_REL14                                                            = 0x0007
  8355  	IMAGE_REL_PPC_REL24                                                            = 0x0006
  8356  	IMAGE_REL_PPC_SECREL                                                           = 0x000B
  8357  	IMAGE_REL_PPC_SECREL16                                                         = 0x000F
  8358  	IMAGE_REL_PPC_SECRELHI                                                         = 0x0014
  8359  	IMAGE_REL_PPC_SECRELLO                                                         = 0x0013
  8360  	IMAGE_REL_PPC_SECTION                                                          = 0x000C
  8361  	IMAGE_REL_PPC_TOCDEFN                                                          = 0x0800
  8362  	IMAGE_REL_PPC_TOCREL14                                                         = 0x0009
  8363  	IMAGE_REL_PPC_TOCREL16                                                         = 0x0008
  8364  	IMAGE_REL_PPC_TOKEN                                                            = 0x0016
  8365  	IMAGE_REL_PPC_TYPEMASK                                                         = 0x00FF
  8366  	IMAGE_REL_SH3_ABSOLUTE                                                         = 0x0000
  8367  	IMAGE_REL_SH3_DIRECT16                                                         = 0x0001
  8368  	IMAGE_REL_SH3_DIRECT32                                                         = 0x0002
  8369  	IMAGE_REL_SH3_DIRECT32_NB                                                      = 0x0010
  8370  	IMAGE_REL_SH3_DIRECT4                                                          = 0x0006
  8371  	IMAGE_REL_SH3_DIRECT4_LONG                                                     = 0x0008
  8372  	IMAGE_REL_SH3_DIRECT4_WORD                                                     = 0x0007
  8373  	IMAGE_REL_SH3_DIRECT8                                                          = 0x0003
  8374  	IMAGE_REL_SH3_DIRECT8_LONG                                                     = 0x0005
  8375  	IMAGE_REL_SH3_DIRECT8_WORD                                                     = 0x0004
  8376  	IMAGE_REL_SH3_GPREL4_LONG                                                      = 0x0011
  8377  	IMAGE_REL_SH3_PCREL12_WORD                                                     = 0x000B
  8378  	IMAGE_REL_SH3_PCREL8_LONG                                                      = 0x000A
  8379  	IMAGE_REL_SH3_PCREL8_WORD                                                      = 0x0009
  8380  	IMAGE_REL_SH3_SECREL                                                           = 0x000F
  8381  	IMAGE_REL_SH3_SECTION                                                          = 0x000E
  8382  	IMAGE_REL_SH3_SIZEOF_SECTION                                                   = 0x000D
  8383  	IMAGE_REL_SH3_STARTOF_SECTION                                                  = 0x000C
  8384  	IMAGE_REL_SH3_TOKEN                                                            = 0x0012
  8385  	IMAGE_REL_SHM_PAIR                                                             = 0x0018
  8386  	IMAGE_REL_SHM_PCRELPT                                                          = 0x0013
  8387  	IMAGE_REL_SHM_REFHALF                                                          = 0x0015
  8388  	IMAGE_REL_SHM_REFLO                                                            = 0x0014
  8389  	IMAGE_REL_SHM_RELHALF                                                          = 0x0017
  8390  	IMAGE_REL_SHM_RELLO                                                            = 0x0016
  8391  	IMAGE_REL_SH_NOMODE                                                            = 0x8000
  8392  	IMAGE_REL_THUMB_BLX23                                                          = 0x0015
  8393  	IMAGE_REL_THUMB_BRANCH20                                                       = 0x0012
  8394  	IMAGE_REL_THUMB_BRANCH24                                                       = 0x0014
  8395  	IMAGE_REL_THUMB_MOV32                                                          = 0x0011
  8396  	IMAGE_RESOURCE_DATA_IS_DIRECTORY                                               = 0x80000000
  8397  	IMAGE_RESOURCE_NAME_IS_STRING                                                  = 0x80000000
  8398  	IMAGE_ROM_OPTIONAL_HDR_MAGIC                                                   = 0x107
  8399  	IMAGE_SCN_ALIGN_1024BYTES                                                      = 0x00B00000
  8400  	IMAGE_SCN_ALIGN_128BYTES                                                       = 0x00800000
  8401  	IMAGE_SCN_ALIGN_16BYTES                                                        = 0x00500000
  8402  	IMAGE_SCN_ALIGN_1BYTES                                                         = 0x00100000
  8403  	IMAGE_SCN_ALIGN_2048BYTES                                                      = 0x00C00000
  8404  	IMAGE_SCN_ALIGN_256BYTES                                                       = 0x00900000
  8405  	IMAGE_SCN_ALIGN_2BYTES                                                         = 0x00200000
  8406  	IMAGE_SCN_ALIGN_32BYTES                                                        = 0x00600000
  8407  	IMAGE_SCN_ALIGN_4096BYTES                                                      = 0x00D00000
  8408  	IMAGE_SCN_ALIGN_4BYTES                                                         = 0x00300000
  8409  	IMAGE_SCN_ALIGN_512BYTES                                                       = 0x00A00000
  8410  	IMAGE_SCN_ALIGN_64BYTES                                                        = 0x00700000
  8411  	IMAGE_SCN_ALIGN_8192BYTES                                                      = 0x00E00000
  8412  	IMAGE_SCN_ALIGN_8BYTES                                                         = 0x00400000
  8413  	IMAGE_SCN_ALIGN_MASK                                                           = 0x00F00000
  8414  	IMAGE_SCN_CNT_CODE                                                             = 0x00000020
  8415  	IMAGE_SCN_CNT_INITIALIZED_DATA                                                 = 0x00000040
  8416  	IMAGE_SCN_CNT_UNINITIALIZED_DATA                                               = 0x00000080
  8417  	IMAGE_SCN_GPREL                                                                = 0x00008000
  8418  	IMAGE_SCN_LNK_COMDAT                                                           = 0x00001000
  8419  	IMAGE_SCN_LNK_INFO                                                             = 0x00000200
  8420  	IMAGE_SCN_LNK_NRELOC_OVFL                                                      = 0x01000000
  8421  	IMAGE_SCN_LNK_OTHER                                                            = 0x00000100
  8422  	IMAGE_SCN_LNK_REMOVE                                                           = 0x00000800
  8423  	IMAGE_SCN_MEM_16BIT                                                            = 0x00020000
  8424  	IMAGE_SCN_MEM_DISCARDABLE                                                      = 0x02000000
  8425  	IMAGE_SCN_MEM_EXECUTE                                                          = 0x20000000
  8426  	IMAGE_SCN_MEM_FARDATA                                                          = 0x00008000
  8427  	IMAGE_SCN_MEM_LOCKED                                                           = 0x00040000
  8428  	IMAGE_SCN_MEM_NOT_CACHED                                                       = 0x04000000
  8429  	IMAGE_SCN_MEM_NOT_PAGED                                                        = 0x08000000
  8430  	IMAGE_SCN_MEM_PRELOAD                                                          = 0x00080000
  8431  	IMAGE_SCN_MEM_PURGEABLE                                                        = 0x00020000
  8432  	IMAGE_SCN_MEM_READ                                                             = 0x40000000
  8433  	IMAGE_SCN_MEM_SHARED                                                           = 0x10000000
  8434  	IMAGE_SCN_MEM_WRITE                                                            = 0x80000000
  8435  	IMAGE_SCN_NO_DEFER_SPEC_EXC                                                    = 0x00004000
  8436  	IMAGE_SCN_SCALE_INDEX                                                          = 0x00000001
  8437  	IMAGE_SCN_TYPE_NO_PAD                                                          = 0x00000008
  8438  	IMAGE_SEPARATE_DEBUG_FLAGS_MASK                                                = 0x8000
  8439  	IMAGE_SEPARATE_DEBUG_MISMATCH                                                  = 0x8000
  8440  	IMAGE_SEPARATE_DEBUG_SIGNATURE                                                 = 0x4944
  8441  	IMAGE_SIZEOF_ARCHIVE_MEMBER_HDR                                                = 60
  8442  	IMAGE_SIZEOF_AUX_SYMBOL                                                        = 18
  8443  	IMAGE_SIZEOF_BASE_RELOCATION                                                   = 8
  8444  	IMAGE_SIZEOF_FILE_HEADER                                                       = 20
  8445  	IMAGE_SIZEOF_LINENUMBER                                                        = 6
  8446  	IMAGE_SIZEOF_NT_OPTIONAL32_HEADER                                              = 224
  8447  	IMAGE_SIZEOF_NT_OPTIONAL64_HEADER                                              = 240
  8448  	IMAGE_SIZEOF_NT_OPTIONAL_HEADER                                                = 240
  8449  	IMAGE_SIZEOF_RELOCATION                                                        = 10
  8450  	IMAGE_SIZEOF_ROM_OPTIONAL_HEADER                                               = 56
  8451  	IMAGE_SIZEOF_SECTION_HEADER                                                    = 40
  8452  	IMAGE_SIZEOF_SHORT_NAME                                                        = 8
  8453  	IMAGE_SIZEOF_STD_OPTIONAL_HEADER                                               = 28
  8454  	IMAGE_SIZEOF_SYMBOL                                                            = 18
  8455  	IMAGE_SUBSYSTEM_EFI_APPLICATION                                                = 10
  8456  	IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER                                        = 11
  8457  	IMAGE_SUBSYSTEM_EFI_ROM                                                        = 13
  8458  	IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER                                             = 12
  8459  	IMAGE_SUBSYSTEM_NATIVE                                                         = 1
  8460  	IMAGE_SUBSYSTEM_NATIVE_WINDOWS                                                 = 8
  8461  	IMAGE_SUBSYSTEM_OS2_CUI                                                        = 5
  8462  	IMAGE_SUBSYSTEM_POSIX_CUI                                                      = 7
  8463  	IMAGE_SUBSYSTEM_UNKNOWN                                                        = 0
  8464  	IMAGE_SUBSYSTEM_WINDOWS_BOOT_APPLICATION                                       = 16
  8465  	IMAGE_SUBSYSTEM_WINDOWS_CE_GUI                                                 = 9
  8466  	IMAGE_SUBSYSTEM_WINDOWS_CUI                                                    = 3
  8467  	IMAGE_SUBSYSTEM_WINDOWS_GUI                                                    = 2
  8468  	IMAGE_SUBSYSTEM_XBOX                                                           = 14
  8469  	IMAGE_SYM_CLASS_ARGUMENT                                                       = 0x0009
  8470  	IMAGE_SYM_CLASS_AUTOMATIC                                                      = 0x0001
  8471  	IMAGE_SYM_CLASS_BIT_FIELD                                                      = 0x0012
  8472  	IMAGE_SYM_CLASS_BLOCK                                                          = 0x0064
  8473  	IMAGE_SYM_CLASS_CLR_TOKEN                                                      = 0x006B
  8474  	IMAGE_SYM_CLASS_END_OF_STRUCT                                                  = 0x0066
  8475  	IMAGE_SYM_CLASS_ENUM_TAG                                                       = 0x000F
  8476  	IMAGE_SYM_CLASS_EXTERNAL                                                       = 0x0002
  8477  	IMAGE_SYM_CLASS_EXTERNAL_DEF                                                   = 0x0005
  8478  	IMAGE_SYM_CLASS_FAR_EXTERNAL                                                   = 0x0044
  8479  	IMAGE_SYM_CLASS_FILE                                                           = 0x0067
  8480  	IMAGE_SYM_CLASS_FUNCTION                                                       = 0x0065
  8481  	IMAGE_SYM_CLASS_LABEL                                                          = 0x0006
  8482  	IMAGE_SYM_CLASS_MEMBER_OF_ENUM                                                 = 0x0010
  8483  	IMAGE_SYM_CLASS_MEMBER_OF_STRUCT                                               = 0x0008
  8484  	IMAGE_SYM_CLASS_MEMBER_OF_UNION                                                = 0x000B
  8485  	IMAGE_SYM_CLASS_NULL                                                           = 0x0000
  8486  	IMAGE_SYM_CLASS_REGISTER                                                       = 0x0004
  8487  	IMAGE_SYM_CLASS_REGISTER_PARAM                                                 = 0x0011
  8488  	IMAGE_SYM_CLASS_SECTION                                                        = 0x0068
  8489  	IMAGE_SYM_CLASS_STATIC                                                         = 0x0003
  8490  	IMAGE_SYM_CLASS_STRUCT_TAG                                                     = 0x000A
  8491  	IMAGE_SYM_CLASS_TYPE_DEFINITION                                                = 0x000D
  8492  	IMAGE_SYM_CLASS_UNDEFINED_LABEL                                                = 0x0007
  8493  	IMAGE_SYM_CLASS_UNDEFINED_STATIC                                               = 0x000E
  8494  	IMAGE_SYM_CLASS_UNION_TAG                                                      = 0x000C
  8495  	IMAGE_SYM_CLASS_WEAK_EXTERNAL                                                  = 0x0069
  8496  	IMAGE_SYM_DTYPE_ARRAY                                                          = 3
  8497  	IMAGE_SYM_DTYPE_FUNCTION                                                       = 2
  8498  	IMAGE_SYM_DTYPE_NULL                                                           = 0
  8499  	IMAGE_SYM_DTYPE_POINTER                                                        = 1
  8500  	IMAGE_SYM_SECTION_MAX                                                          = 0xFEFF
  8501  	IMAGE_SYM_SECTION_MAX_EX                                                       = 2147483647
  8502  	IMAGE_SYM_TYPE_BYTE                                                            = 0x000C
  8503  	IMAGE_SYM_TYPE_CHAR                                                            = 0x0002
  8504  	IMAGE_SYM_TYPE_DOUBLE                                                          = 0x0007
  8505  	IMAGE_SYM_TYPE_DWORD                                                           = 0x000F
  8506  	IMAGE_SYM_TYPE_ENUM                                                            = 0x000A
  8507  	IMAGE_SYM_TYPE_FLOAT                                                           = 0x0006
  8508  	IMAGE_SYM_TYPE_INT                                                             = 0x0004
  8509  	IMAGE_SYM_TYPE_LONG                                                            = 0x0005
  8510  	IMAGE_SYM_TYPE_MOE                                                             = 0x000B
  8511  	IMAGE_SYM_TYPE_NULL                                                            = 0x0000
  8512  	IMAGE_SYM_TYPE_PCODE                                                           = 0x8000
  8513  	IMAGE_SYM_TYPE_SHORT                                                           = 0x0003
  8514  	IMAGE_SYM_TYPE_STRUCT                                                          = 0x0008
  8515  	IMAGE_SYM_TYPE_UINT                                                            = 0x000E
  8516  	IMAGE_SYM_TYPE_UNION                                                           = 0x0009
  8517  	IMAGE_SYM_TYPE_VOID                                                            = 0x0001
  8518  	IMAGE_SYM_TYPE_WORD                                                            = 0x000D
  8519  	IMAGE_VXD_SIGNATURE                                                            = 0x454C
  8520  	IMAGE_WEAK_EXTERN_SEARCH_ALIAS                                                 = 3
  8521  	IMAGE_WEAK_EXTERN_SEARCH_LIBRARY                                               = 2
  8522  	IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY                                             = 1
  8523  	IMC_CLOSESTATUSWINDOW                                                          = 0x0021
  8524  	IMC_GETCANDIDATEPOS                                                            = 0x0007
  8525  	IMC_GETCOMPOSITIONFONT                                                         = 0x0009
  8526  	IMC_GETCOMPOSITIONWINDOW                                                       = 0x000B
  8527  	IMC_GETSTATUSWINDOWPOS                                                         = 0x000F
  8528  	IMC_OPENSTATUSWINDOW                                                           = 0x0022
  8529  	IMC_SETCANDIDATEPOS                                                            = 0x0008
  8530  	IMC_SETCOMPOSITIONFONT                                                         = 0x000A
  8531  	IMC_SETCOMPOSITIONWINDOW                                                       = 0x000C
  8532  	IMC_SETSTATUSWINDOWPOS                                                         = 0x0010
  8533  	IMEMENUITEM_STRING_SIZE                                                        = 80
  8534  	IMEVER_0310                                                                    = 0x0003000A
  8535  	IMEVER_0400                                                                    = 0x00040000
  8536  	IME_CAND_CODE                                                                  = 0x0002
  8537  	IME_CAND_MEANING                                                               = 0x0003
  8538  	IME_CAND_RADICAL                                                               = 0x0004
  8539  	IME_CAND_READ                                                                  = 0x0001
  8540  	IME_CAND_STROKE                                                                = 0x0005
  8541  	IME_CAND_UNKNOWN                                                               = 0x0000
  8542  	IME_CHOTKEY_IME_NONIME_TOGGLE                                                  = 0x10
  8543  	IME_CHOTKEY_SHAPE_TOGGLE                                                       = 0x11
  8544  	IME_CHOTKEY_SYMBOL_TOGGLE                                                      = 0x12
  8545  	IME_CMODE_ALPHANUMERIC                                                         = 0x0000
  8546  	IME_CMODE_CHARCODE                                                             = 0x0020
  8547  	IME_CMODE_CHINESE                                                              = 1
  8548  	IME_CMODE_EUDC                                                                 = 0x0200
  8549  	IME_CMODE_FIXED                                                                = 0x0800
  8550  	IME_CMODE_FULLSHAPE                                                            = 0x0008
  8551  	IME_CMODE_HANGEUL                                                              = 1
  8552  	IME_CMODE_HANGUL                                                               = 1
  8553  	IME_CMODE_HANJACONVERT                                                         = 0x0040
  8554  	IME_CMODE_JAPANESE                                                             = 1
  8555  	IME_CMODE_KATAKANA                                                             = 0x0002
  8556  	IME_CMODE_LANGUAGE                                                             = 0x0003
  8557  	IME_CMODE_NATIVE                                                               = 0x0001
  8558  	IME_CMODE_NOCONVERSION                                                         = 0x0100
  8559  	IME_CMODE_RESERVED                                                             = 0xF0000000
  8560  	IME_CMODE_ROMAN                                                                = 0x0010
  8561  	IME_CMODE_SOFTKBD                                                              = 0x0080
  8562  	IME_CMODE_SYMBOL                                                               = 0x0400
  8563  	IME_CONFIG_GENERAL                                                             = 1
  8564  	IME_CONFIG_REGISTERWORD                                                        = 2
  8565  	IME_CONFIG_SELECTDICTIONARY                                                    = 3
  8566  	IME_ESC_AUTOMATA                                                               = 0x1009
  8567  	IME_ESC_GETHELPFILENAME                                                        = 0x100b
  8568  	IME_ESC_GET_EUDC_DICTIONARY                                                    = 0x1003
  8569  	IME_ESC_HANJA_MODE                                                             = 0x1008
  8570  	IME_ESC_IME_NAME                                                               = 0x1006
  8571  	IME_ESC_MAX_KEY                                                                = 0x1005
  8572  	IME_ESC_PRIVATE_FIRST                                                          = 0x0800
  8573  	IME_ESC_PRIVATE_HOTKEY                                                         = 0x100a
  8574  	IME_ESC_PRIVATE_LAST                                                           = 0x0FFF
  8575  	IME_ESC_QUERY_SUPPORT                                                          = 0x0003
  8576  	IME_ESC_RESERVED_FIRST                                                         = 0x0004
  8577  	IME_ESC_RESERVED_LAST                                                          = 0x07FF
  8578  	IME_ESC_SEQUENCE_TO_INTERNAL                                                   = 0x1001
  8579  	IME_ESC_SET_EUDC_DICTIONARY                                                    = 0x1004
  8580  	IME_ESC_SYNC_HOTKEY                                                            = 0x1007
  8581  	IME_HOTKEY_DSWITCH_FIRST                                                       = 0x100
  8582  	IME_HOTKEY_DSWITCH_LAST                                                        = 0x11F
  8583  	IME_HOTKEY_PRIVATE_FIRST                                                       = 0x200
  8584  	IME_HOTKEY_PRIVATE_LAST                                                        = 0x21F
  8585  	IME_ITHOTKEY_PREVIOUS_COMPOSITION                                              = 0x201
  8586  	IME_ITHOTKEY_RECONVERTSTRING                                                   = 0x203
  8587  	IME_ITHOTKEY_RESEND_RESULTSTR                                                  = 0x200
  8588  	IME_ITHOTKEY_UISTYLE_TOGGLE                                                    = 0x202
  8589  	IME_JHOTKEY_CLOSE_OPEN                                                         = 0x30
  8590  	IME_KHOTKEY_ENGLISH                                                            = 0x52
  8591  	IME_KHOTKEY_HANJACONVERT                                                       = 0x51
  8592  	IME_KHOTKEY_SHAPE_TOGGLE                                                       = 0x50
  8593  	IME_PROP_AT_CARET                                                              = 0x00010000
  8594  	IME_PROP_CANDLIST_START_FROM_1                                                 = 0x00040000
  8595  	IME_PROP_COMPLETE_ON_UNSELECT                                                  = 0x00100000
  8596  	IME_PROP_SPECIAL_UI                                                            = 0x00020000
  8597  	IME_PROP_UNICODE                                                               = 0x00080000
  8598  	IME_REGWORD_STYLE_EUDC                                                         = 0x00000001
  8599  	IME_REGWORD_STYLE_USER_FIRST                                                   = 0x80000000
  8600  	IME_REGWORD_STYLE_USER_LAST                                                    = 0xFFFFFFFF
  8601  	IME_SMODE_AUTOMATIC                                                            = 0x0004
  8602  	IME_SMODE_CONVERSATION                                                         = 0x0010
  8603  	IME_SMODE_NONE                                                                 = 0x0000
  8604  	IME_SMODE_PHRASEPREDICT                                                        = 0x0008
  8605  	IME_SMODE_PLAURALCLAUSE                                                        = 0x0001
  8606  	IME_SMODE_RESERVED                                                             = 0x0000F000
  8607  	IME_SMODE_SINGLECONVERT                                                        = 0x0002
  8608  	IME_THOTKEY_IME_NONIME_TOGGLE                                                  = 0x70
  8609  	IME_THOTKEY_SHAPE_TOGGLE                                                       = 0x71
  8610  	IME_THOTKEY_SYMBOL_TOGGLE                                                      = 0x72
  8611  	IMFS_CHECKED                                                                   = 8
  8612  	IMFS_DEFAULT                                                                   = 4096
  8613  	IMFS_DISABLED                                                                  = 3
  8614  	IMFS_ENABLED                                                                   = 0
  8615  	IMFS_GRAYED                                                                    = 3
  8616  	IMFS_HILITE                                                                    = 128
  8617  	IMFS_UNCHECKED                                                                 = 0
  8618  	IMFS_UNHILITE                                                                  = 0
  8619  	IMFT_RADIOCHECK                                                                = 0x00001
  8620  	IMFT_SEPARATOR                                                                 = 0x00002
  8621  	IMFT_SUBMENU                                                                   = 0x00004
  8622  	IMM_ERROR_GENERAL                                                              = -2
  8623  	IMM_ERROR_NODATA                                                               = -1
  8624  	IMN_CHANGECANDIDATE                                                            = 0x0003
  8625  	IMN_CLOSECANDIDATE                                                             = 0x0004
  8626  	IMN_CLOSESTATUSWINDOW                                                          = 0x0001
  8627  	IMN_GUIDELINE                                                                  = 0x000D
  8628  	IMN_OPENCANDIDATE                                                              = 0x0005
  8629  	IMN_OPENSTATUSWINDOW                                                           = 0x0002
  8630  	IMN_PRIVATE                                                                    = 0x000E
  8631  	IMN_SETCANDIDATEPOS                                                            = 0x0009
  8632  	IMN_SETCOMPOSITIONFONT                                                         = 0x000A
  8633  	IMN_SETCOMPOSITIONWINDOW                                                       = 0x000B
  8634  	IMN_SETCONVERSIONMODE                                                          = 0x0006
  8635  	IMN_SETOPENSTATUS                                                              = 0x0008
  8636  	IMN_SETSENTENCEMODE                                                            = 0x0007
  8637  	IMN_SETSTATUSWINDOWPOS                                                         = 0x000C
  8638  	IMPLINK_HIGHEXPER                                                              = 158
  8639  	IMPLINK_IP                                                                     = 155
  8640  	IMPLINK_LOWEXPER                                                               = 156
  8641  	IMPLTYPEFLAG_FDEFAULT                                                          = 1
  8642  	IMPLTYPEFLAG_FDEFAULTVTABLE                                                    = 8
  8643  	IMPLTYPEFLAG_FRESTRICTED                                                       = 4
  8644  	IMPLTYPEFLAG_FSOURCE                                                           = 2
  8645  	IMPORT_OBJECT_HDR_SIG2                                                         = 0xffff
  8646  	IMR_CANDIDATEWINDOW                                                            = 0x0002
  8647  	IMR_COMPOSITIONFONT                                                            = 0x0003
  8648  	IMR_COMPOSITIONWINDOW                                                          = 0x0001
  8649  	IMR_CONFIRMRECONVERTSTRING                                                     = 0x0005
  8650  	IMR_DOCUMENTFEED                                                               = 0x0007
  8651  	IMR_QUERYCHARPOSITION                                                          = 0x0006
  8652  	IMR_RECONVERTSTRING                                                            = 0x0004
  8653  	IN                                                                             = 0
  8654  	INADDR_LOOPBACK                                                                = 0x7f000001
  8655  	INADDR_NONE                                                                    = 0xffffffff
  8656  	INDEXID_CONTAINER                                                              = 0
  8657  	INDEXID_OBJECT                                                                 = 0
  8658  	INFINITE                                                                       = 0xffffffff
  8659  	INHERITED_ACE                                                                  = 16
  8660  	INHERIT_CALLER_PRIORITY                                                        = 0x20000
  8661  	INHERIT_ONLY_ACE                                                               = 8
  8662  	INHERIT_PARENT_AFFINITY                                                        = 0x10000
  8663  	INITIAL_FPCSR                                                                  = 0x027f
  8664  	INITIAL_MXCSR                                                                  = 0x1f80
  8665  	INIT_ONCE_ASYNC                                                                = 2
  8666  	INIT_ONCE_CHECK_ONLY                                                           = 1
  8667  	INIT_ONCE_CTX_RESERVED_BITS                                                    = 2
  8668  	INIT_ONCE_INIT_FAILED                                                          = 4
  8669  	INO_T_DEFINED                                                                  = 0
  8670  	INPLACE_E_FIRST                                                                = 2147746208
  8671  	INPLACE_E_LAST                                                                 = 2147746223
  8672  	INPLACE_S_FIRST                                                                = 262560
  8673  	INPLACE_S_LAST                                                                 = 262575
  8674  	INPUTLANGCHANGE_BACKWARD                                                       = 0x0004
  8675  	INPUTLANGCHANGE_FORWARD                                                        = 0x0002
  8676  	INPUTLANGCHANGE_SYSCHARSET                                                     = 0x0001
  8677  	INPUT_HARDWARE                                                                 = 2
  8678  	INPUT_KEYBOARD                                                                 = 1
  8679  	INPUT_MOUSE                                                                    = 0
  8680  	INTERNATIONAL_USAGE                                                            = 0x1
  8681  	INVALID_OS_COUNT                                                               = 65535
  8682  	IN_CLASSA_HOST                                                                 = 0x00ffffff
  8683  	IN_CLASSA_MAX                                                                  = 128
  8684  	IN_CLASSA_NET                                                                  = 0xff000000
  8685  	IN_CLASSA_NSHIFT                                                               = 24
  8686  	IN_CLASSB_HOST                                                                 = 0x0000ffff
  8687  	IN_CLASSB_MAX                                                                  = 65536
  8688  	IN_CLASSB_NET                                                                  = 0xffff0000
  8689  	IN_CLASSB_NSHIFT                                                               = 16
  8690  	IN_CLASSC_HOST                                                                 = 0x000000ff
  8691  	IN_CLASSC_NET                                                                  = 0xffffff00
  8692  	IN_CLASSC_NSHIFT                                                               = 8
  8693  	IOCPARM_MASK                                                                   = 0x7f
  8694  	IOCTL_CHANGER_BASE                                                             = 48
  8695  	IOCTL_CHANGER_EXCHANGE_MEDIUM                                                  = 3162144
  8696  	IOCTL_CHANGER_GET_ELEMENT_STATUS                                               = 3194900
  8697  	IOCTL_CHANGER_GET_PARAMETERS                                                   = 3162112
  8698  	IOCTL_CHANGER_GET_PRODUCT_DATA                                                 = 3162120
  8699  	IOCTL_CHANGER_GET_STATUS                                                       = 3162116
  8700  	IOCTL_CHANGER_INITIALIZE_ELEMENT_STATUS                                        = 3162136
  8701  	IOCTL_CHANGER_MOVE_MEDIUM                                                      = 3162148
  8702  	IOCTL_CHANGER_QUERY_VOLUME_TAGS                                                = 3194924
  8703  	IOCTL_CHANGER_REINITIALIZE_TRANSPORT                                           = 3162152
  8704  	IOCTL_CHANGER_SET_ACCESS                                                       = 3194896
  8705  	IOCTL_CHANGER_SET_POSITION                                                     = 3162140
  8706  	IOCTL_DISK_BASE                                                                = 7
  8707  	IOCTL_DISK_CHECK_VERIFY                                                        = 477184
  8708  	IOCTL_DISK_CONTROLLER_NUMBER                                                   = 458820
  8709  	IOCTL_DISK_CREATE_DISK                                                         = 507992
  8710  	IOCTL_DISK_DELETE_DRIVE_LAYOUT                                                 = 508160
  8711  	IOCTL_DISK_EJECT_MEDIA                                                         = 477192
  8712  	IOCTL_DISK_FIND_NEW_DEVICES                                                    = 477208
  8713  	IOCTL_DISK_FORMAT_DRIVE                                                        = 508876
  8714  	IOCTL_DISK_FORMAT_TRACKS                                                       = 507928
  8715  	IOCTL_DISK_FORMAT_TRACKS_EX                                                    = 507948
  8716  	IOCTL_DISK_GET_CACHE_INFORMATION                                               = 475348
  8717  	IOCTL_DISK_GET_DRIVE_GEOMETRY                                                  = 458752
  8718  	IOCTL_DISK_GET_DRIVE_GEOMETRY_EX                                               = 458912
  8719  	IOCTL_DISK_GET_DRIVE_LAYOUT                                                    = 475148
  8720  	IOCTL_DISK_GET_DRIVE_LAYOUT_EX                                                 = 458832
  8721  	IOCTL_DISK_GET_LENGTH_INFO                                                     = 475228
  8722  	IOCTL_DISK_GET_MEDIA_TYPES                                                     = 461824
  8723  	IOCTL_DISK_GET_PARTITION_INFO                                                  = 475140
  8724  	IOCTL_DISK_GET_PARTITION_INFO_EX                                               = 458824
  8725  	IOCTL_DISK_GROW_PARTITION                                                      = 508112
  8726  	IOCTL_DISK_HISTOGRAM_DATA                                                      = 458804
  8727  	IOCTL_DISK_HISTOGRAM_RESET                                                     = 458808
  8728  	IOCTL_DISK_HISTOGRAM_STRUCTURE                                                 = 458800
  8729  	IOCTL_DISK_IS_WRITABLE                                                         = 458788
  8730  	IOCTL_DISK_LOAD_MEDIA                                                          = 477196
  8731  	IOCTL_DISK_LOGGING                                                             = 458792
  8732  	IOCTL_DISK_MEDIA_REMOVAL                                                       = 477188
  8733  	IOCTL_DISK_PERFORMANCE                                                         = 458784
  8734  	IOCTL_DISK_PERFORMANCE_OFF                                                     = 458848
  8735  	IOCTL_DISK_REASSIGN_BLOCKS                                                     = 507932
  8736  	IOCTL_DISK_REASSIGN_BLOCKS_EX                                                  = 508068
  8737  	IOCTL_DISK_RELEASE                                                             = 477204
  8738  	IOCTL_DISK_REQUEST_DATA                                                        = 458816
  8739  	IOCTL_DISK_REQUEST_STRUCTURE                                                   = 458812
  8740  	IOCTL_DISK_RESERVE                                                             = 477200
  8741  	IOCTL_DISK_RESET_SNAPSHOT_INFO                                                 = 508432
  8742  	IOCTL_DISK_SENSE_DEVICE                                                        = 459744
  8743  	IOCTL_DISK_SET_CACHE_INFORMATION                                               = 508120
  8744  	IOCTL_DISK_SET_DRIVE_LAYOUT                                                    = 507920
  8745  	IOCTL_DISK_SET_DRIVE_LAYOUT_EX                                                 = 507988
  8746  	IOCTL_DISK_SET_PARTITION_INFO                                                  = 507912
  8747  	IOCTL_DISK_SET_PARTITION_INFO_EX                                               = 507980
  8748  	IOCTL_DISK_UPDATE_DRIVE_SIZE                                                   = 508104
  8749  	IOCTL_DISK_UPDATE_PROPERTIES                                                   = 459072
  8750  	IOCTL_DISK_VERIFY                                                              = 458772
  8751  	IOCTL_SERENUM_EXPOSE_HARDWARE                                                  = 3604992
  8752  	IOCTL_SERENUM_GET_PORT_NAME                                                    = 3605004
  8753  	IOCTL_SERENUM_PORT_DESC                                                        = 3605000
  8754  	IOCTL_SERENUM_REMOVE_HARDWARE                                                  = 3604996
  8755  	IOCTL_SERIAL_LSRMST_INSERT                                                     = 1769596
  8756  	IOCTL_SMARTCARD_CONFISCATE                                                     = 3211280
  8757  	IOCTL_SMARTCARD_EJECT                                                          = 3211288
  8758  	IOCTL_SMARTCARD_GET_ATTRIBUTE                                                  = 3211272
  8759  	IOCTL_SMARTCARD_GET_LAST_ERROR                                                 = 3211324
  8760  	IOCTL_SMARTCARD_GET_PERF_CNTR                                                  = 3211328
  8761  	IOCTL_SMARTCARD_GET_STATE                                                      = 3211320
  8762  	IOCTL_SMARTCARD_IS_ABSENT                                                      = 3211308
  8763  	IOCTL_SMARTCARD_IS_PRESENT                                                     = 3211304
  8764  	IOCTL_SMARTCARD_POWER                                                          = 3211268
  8765  	IOCTL_SMARTCARD_SET_ATTRIBUTE                                                  = 3211276
  8766  	IOCTL_SMARTCARD_SET_PROTOCOL                                                   = 3211312
  8767  	IOCTL_SMARTCARD_SWALLOW                                                        = 3211292
  8768  	IOCTL_SMARTCARD_TRANSMIT                                                       = 3211284
  8769  	IOCTL_STORAGE_BASE                                                             = 45
  8770  	IOCTL_STORAGE_BREAK_RESERVATION                                                = 2969620
  8771  	IOCTL_STORAGE_CHECK_VERIFY                                                     = 2967552
  8772  	IOCTL_STORAGE_CHECK_VERIFY2                                                    = 2951168
  8773  	IOCTL_STORAGE_EJECTION_CONTROL                                                 = 2951488
  8774  	IOCTL_STORAGE_EJECT_MEDIA                                                      = 2967560
  8775  	IOCTL_STORAGE_FIND_NEW_DEVICES                                                 = 2967576
  8776  	IOCTL_STORAGE_GET_DEVICE_NUMBER                                                = 2953344
  8777  	IOCTL_STORAGE_GET_HOTPLUG_INFO                                                 = 2952212
  8778  	IOCTL_STORAGE_GET_MEDIA_SERIAL_NUMBER                                          = 2952208
  8779  	IOCTL_STORAGE_GET_MEDIA_TYPES                                                  = 2952192
  8780  	IOCTL_STORAGE_GET_MEDIA_TYPES_EX                                               = 2952196
  8781  	IOCTL_STORAGE_LOAD_MEDIA                                                       = 2967564
  8782  	IOCTL_STORAGE_LOAD_MEDIA2                                                      = 2951180
  8783  	IOCTL_STORAGE_MCN_CONTROL                                                      = 2951492
  8784  	IOCTL_STORAGE_MEDIA_REMOVAL                                                    = 2967556
  8785  	IOCTL_STORAGE_PREDICT_FAILURE                                                  = 2953472
  8786  	IOCTL_STORAGE_QUERY_PROPERTY                                                   = 2954240
  8787  	IOCTL_STORAGE_READ_CAPACITY                                                    = 2969920
  8788  	IOCTL_STORAGE_RELEASE                                                          = 2967572
  8789  	IOCTL_STORAGE_RESERVE                                                          = 2967568
  8790  	IOCTL_STORAGE_RESET_BUS                                                        = 2969600
  8791  	IOCTL_STORAGE_RESET_DEVICE                                                     = 2969604
  8792  	IOCTL_STORAGE_SET_HOTPLUG_INFO                                                 = 3001368
  8793  	IOC_IN                                                                         = 0x80000000
  8794  	IOC_INOUT                                                                      = 3221225472
  8795  	IOC_OUT                                                                        = 0x40000000
  8796  	IOC_VOID                                                                       = 0x20000000
  8797  	IO_COMPLETION_ALL_ACCESS                                                       = 2031619
  8798  	IO_COMPLETION_MODIFY_STATE                                                     = 0x0002
  8799  	IO_REPARSE_TAG_AF_UNIX                                                         = 2147483683
  8800  	IO_REPARSE_TAG_APPEXECLINK                                                     = 2147483675
  8801  	IO_REPARSE_TAG_CLOUD                                                           = 2415919130
  8802  	IO_REPARSE_TAG_CLOUD_1                                                         = 2415923226
  8803  	IO_REPARSE_TAG_CLOUD_2                                                         = 2415927322
  8804  	IO_REPARSE_TAG_CLOUD_3                                                         = 2415931418
  8805  	IO_REPARSE_TAG_CLOUD_4                                                         = 2415935514
  8806  	IO_REPARSE_TAG_CLOUD_5                                                         = 2415939610
  8807  	IO_REPARSE_TAG_CLOUD_6                                                         = 2415943706
  8808  	IO_REPARSE_TAG_CLOUD_7                                                         = 2415947802
  8809  	IO_REPARSE_TAG_CLOUD_8                                                         = 2415951898
  8810  	IO_REPARSE_TAG_CLOUD_9                                                         = 2415955994
  8811  	IO_REPARSE_TAG_CLOUD_A                                                         = 2415960090
  8812  	IO_REPARSE_TAG_CLOUD_B                                                         = 2415964186
  8813  	IO_REPARSE_TAG_CLOUD_C                                                         = 2415968282
  8814  	IO_REPARSE_TAG_CLOUD_D                                                         = 2415972378
  8815  	IO_REPARSE_TAG_CLOUD_E                                                         = 2415976474
  8816  	IO_REPARSE_TAG_CLOUD_F                                                         = 2415980570
  8817  	IO_REPARSE_TAG_CLOUD_MASK                                                      = 61440
  8818  	IO_REPARSE_TAG_CSV                                                             = 2147483657
  8819  	IO_REPARSE_TAG_DEDUP                                                           = 2147483667
  8820  	IO_REPARSE_TAG_DFS                                                             = 2147483658
  8821  	IO_REPARSE_TAG_DFSR                                                            = 2147483666
  8822  	IO_REPARSE_TAG_DRIVE_EXTENDER                                                  = 2147483653
  8823  	IO_REPARSE_TAG_FILE_PLACEHOLDER                                                = 2147483669
  8824  	IO_REPARSE_TAG_FILTER_MANAGER                                                  = 2147483659
  8825  	IO_REPARSE_TAG_GLOBAL_REPARSE                                                  = 2684354585
  8826  	IO_REPARSE_TAG_HSM                                                             = 3221225476
  8827  	IO_REPARSE_TAG_HSM2                                                            = 2147483654
  8828  	IO_REPARSE_TAG_IIS_CACHE                                                       = 2684354576
  8829  	IO_REPARSE_TAG_MOUNT_POINT                                                     = 2684354563
  8830  	IO_REPARSE_TAG_NFS                                                             = 2147483668
  8831  	IO_REPARSE_TAG_ONEDRIVE                                                        = 2147483681
  8832  	IO_REPARSE_TAG_PROJFS                                                          = 2415919132
  8833  	IO_REPARSE_TAG_PROJFS_TOMBSTONE                                                = 2684354594
  8834  	IO_REPARSE_TAG_RESERVED_ONE                                                    = 1
  8835  	IO_REPARSE_TAG_RESERVED_RANGE                                                  = 1
  8836  	IO_REPARSE_TAG_RESERVED_ZERO                                                   = 0
  8837  	IO_REPARSE_TAG_SIS                                                             = 2147483655
  8838  	IO_REPARSE_TAG_STORAGE_SYNC                                                    = 2147483678
  8839  	IO_REPARSE_TAG_SYMLINK                                                         = 2684354572
  8840  	IO_REPARSE_TAG_UNHANDLED                                                       = 2147483680
  8841  	IO_REPARSE_TAG_WCI                                                             = 2147483672
  8842  	IO_REPARSE_TAG_WCI_1                                                           = 2415923224
  8843  	IO_REPARSE_TAG_WCI_TOMBSTONE                                                   = 2684354591
  8844  	IO_REPARSE_TAG_WIM                                                             = 2147483656
  8845  	IO_REPARSE_TAG_WOF                                                             = 2147483671
  8846  	IPPORT_BIFFUDP                                                                 = 512
  8847  	IPPORT_CMDSERVER                                                               = 514
  8848  	IPPORT_DAYTIME                                                                 = 13
  8849  	IPPORT_DISCARD                                                                 = 9
  8850  	IPPORT_ECHO                                                                    = 7
  8851  	IPPORT_EFSSERVER                                                               = 520
  8852  	IPPORT_EXECSERVER                                                              = 512
  8853  	IPPORT_FINGER                                                                  = 79
  8854  	IPPORT_FTP                                                                     = 21
  8855  	IPPORT_LOGINSERVER                                                             = 513
  8856  	IPPORT_MTP                                                                     = 57
  8857  	IPPORT_NAMESERVER                                                              = 42
  8858  	IPPORT_NETSTAT                                                                 = 15
  8859  	IPPORT_RESERVED                                                                = 1024
  8860  	IPPORT_RJE                                                                     = 77
  8861  	IPPORT_ROUTESERVER                                                             = 520
  8862  	IPPORT_SMTP                                                                    = 25
  8863  	IPPORT_SUPDUP                                                                  = 95
  8864  	IPPORT_SYSTAT                                                                  = 11
  8865  	IPPORT_TELNET                                                                  = 23
  8866  	IPPORT_TFTP                                                                    = 69
  8867  	IPPORT_TIMESERVER                                                              = 37
  8868  	IPPORT_TTYLINK                                                                 = 87
  8869  	IPPORT_WHOIS                                                                   = 43
  8870  	IPPORT_WHOSERVER                                                               = 513
  8871  	IPPROTO_GGP                                                                    = 3
  8872  	IPPROTO_ICMP                                                                   = 1
  8873  	IPPROTO_IDP                                                                    = 22
  8874  	IPPROTO_IGMP                                                                   = 2
  8875  	IPPROTO_IP                                                                     = 0
  8876  	IPPROTO_MAX                                                                    = 256
  8877  	IPPROTO_ND                                                                     = 77
  8878  	IPPROTO_PUP                                                                    = 12
  8879  	IPPROTO_RAW                                                                    = 255
  8880  	IPPROTO_TCP                                                                    = 6
  8881  	IPPROTO_UDP                                                                    = 17
  8882  	IP_ADD_MEMBERSHIP                                                              = 5
  8883  	IP_DEFAULT_MULTICAST_LOOP                                                      = 1
  8884  	IP_DEFAULT_MULTICAST_TTL                                                       = 1
  8885  	IP_DONTFRAGMENT                                                                = 9
  8886  	IP_DROP_MEMBERSHIP                                                             = 6
  8887  	IP_MAX_MEMBERSHIPS                                                             = 20
  8888  	IP_MULTICAST_IF                                                                = 2
  8889  	IP_MULTICAST_LOOP                                                              = 4
  8890  	IP_MULTICAST_TTL                                                               = 3
  8891  	IP_OPTIONS                                                                     = 1
  8892  	IP_TOS                                                                         = 8
  8893  	IP_TTL                                                                         = 7
  8894  	ISC_SHOWUIALL                                                                  = 0xC000000F
  8895  	ISC_SHOWUIALLCANDIDATEWINDOW                                                   = 0x0000000F
  8896  	ISC_SHOWUICANDIDATEWINDOW                                                      = 0x00000001
  8897  	ISC_SHOWUICOMPOSITIONWINDOW                                                    = 0x80000000
  8898  	ISC_SHOWUIGUIDELINE                                                            = 0x40000000
  8899  	ISMEX_CALLBACK                                                                 = 0x00000004
  8900  	ISMEX_NOSEND                                                                   = 0x00000000
  8901  	ISMEX_NOTIFY                                                                   = 0x00000002
  8902  	ISMEX_REPLIED                                                                  = 0x00000008
  8903  	ISMEX_SEND                                                                     = 0x00000001
  8904  	IS_TEXT_UNICODE_ASCII16                                                        = 0x0001
  8905  	IS_TEXT_UNICODE_CONTROLS                                                       = 0x0004
  8906  	IS_TEXT_UNICODE_DBCS_LEADBYTE                                                  = 0x0400
  8907  	IS_TEXT_UNICODE_ILLEGAL_CHARS                                                  = 0x0100
  8908  	IS_TEXT_UNICODE_NOT_ASCII_MASK                                                 = 0xF000
  8909  	IS_TEXT_UNICODE_NOT_UNICODE_MASK                                               = 0x0F00
  8910  	IS_TEXT_UNICODE_NULL_BYTES                                                     = 0x1000
  8911  	IS_TEXT_UNICODE_ODD_LENGTH                                                     = 0x0200
  8912  	IS_TEXT_UNICODE_REVERSE_ASCII16                                                = 0x0010
  8913  	IS_TEXT_UNICODE_REVERSE_CONTROLS                                               = 0x0040
  8914  	IS_TEXT_UNICODE_REVERSE_MASK                                                   = 0x00F0
  8915  	IS_TEXT_UNICODE_REVERSE_SIGNATURE                                              = 0x0080
  8916  	IS_TEXT_UNICODE_REVERSE_STATISTICS                                             = 0x0020
  8917  	IS_TEXT_UNICODE_SIGNATURE                                                      = 0x0008
  8918  	IS_TEXT_UNICODE_STATISTICS                                                     = 0x0002
  8919  	IS_TEXT_UNICODE_UNICODE_MASK                                                   = 0x000F
  8920  	ITALIC_FONTTYPE                                                                = 0x200
  8921  	JOB_ACCESS_ADMINISTER                                                          = 0x00000010
  8922  	JOB_ACCESS_READ                                                                = 0x00000020
  8923  	JOB_ALL_ACCESS                                                                 = 983088
  8924  	JOB_CONTROL_CANCEL                                                             = 3
  8925  	JOB_CONTROL_DELETE                                                             = 5
  8926  	JOB_CONTROL_LAST_PAGE_EJECTED                                                  = 7
  8927  	JOB_CONTROL_PAUSE                                                              = 1
  8928  	JOB_CONTROL_RESTART                                                            = 4
  8929  	JOB_CONTROL_RESUME                                                             = 2
  8930  	JOB_CONTROL_SENT_TO_PRINTER                                                    = 6
  8931  	JOB_EXECUTE                                                                    = 131088
  8932  	JOB_NOTIFY_FIELD_BYTES_PRINTED                                                 = 0x17
  8933  	JOB_NOTIFY_FIELD_DATATYPE                                                      = 0x05
  8934  	JOB_NOTIFY_FIELD_DEVMODE                                                       = 0x09
  8935  	JOB_NOTIFY_FIELD_DOCUMENT                                                      = 0x0D
  8936  	JOB_NOTIFY_FIELD_DRIVER_NAME                                                   = 0x08
  8937  	JOB_NOTIFY_FIELD_MACHINE_NAME                                                  = 0x01
  8938  	JOB_NOTIFY_FIELD_NOTIFY_NAME                                                   = 0x04
  8939  	JOB_NOTIFY_FIELD_PAGES_PRINTED                                                 = 0x15
  8940  	JOB_NOTIFY_FIELD_PARAMETERS                                                    = 0x07
  8941  	JOB_NOTIFY_FIELD_PORT_NAME                                                     = 0x02
  8942  	JOB_NOTIFY_FIELD_POSITION                                                      = 0x0F
  8943  	JOB_NOTIFY_FIELD_PRINTER_NAME                                                  = 0x00
  8944  	JOB_NOTIFY_FIELD_PRINT_PROCESSOR                                               = 0x06
  8945  	JOB_NOTIFY_FIELD_PRIORITY                                                      = 0x0E
  8946  	JOB_NOTIFY_FIELD_SECURITY_DESCRIPTOR                                           = 0x0C
  8947  	JOB_NOTIFY_FIELD_START_TIME                                                    = 0x11
  8948  	JOB_NOTIFY_FIELD_STATUS                                                        = 0x0A
  8949  	JOB_NOTIFY_FIELD_STATUS_STRING                                                 = 0x0B
  8950  	JOB_NOTIFY_FIELD_SUBMITTED                                                     = 0x10
  8951  	JOB_NOTIFY_FIELD_TIME                                                          = 0x13
  8952  	JOB_NOTIFY_FIELD_TOTAL_BYTES                                                   = 0x16
  8953  	JOB_NOTIFY_FIELD_TOTAL_PAGES                                                   = 0x14
  8954  	JOB_NOTIFY_FIELD_UNTIL_TIME                                                    = 0x12
  8955  	JOB_NOTIFY_FIELD_USER_NAME                                                     = 0x03
  8956  	JOB_NOTIFY_TYPE                                                                = 0x01
  8957  	JOB_OBJECT_ALL_ACCESS                                                          = 2031647
  8958  	JOB_OBJECT_ASSIGN_PROCESS                                                      = 1
  8959  	JOB_OBJECT_BASIC_LIMIT_VALID_FLAGS                                             = 0x000000ff
  8960  	JOB_OBJECT_CPU_RATE_CONTROL_ENABLE                                             = 0x1
  8961  	JOB_OBJECT_CPU_RATE_CONTROL_HARD_CAP                                           = 0x4
  8962  	JOB_OBJECT_CPU_RATE_CONTROL_NOTIFY                                             = 0x8
  8963  	JOB_OBJECT_CPU_RATE_CONTROL_VALID_FLAGS                                        = 0xf
  8964  	JOB_OBJECT_CPU_RATE_CONTROL_WEIGHT_BASED                                       = 0x2
  8965  	JOB_OBJECT_EXTENDED_LIMIT_VALID_FLAGS                                          = 0x00007fff
  8966  	JOB_OBJECT_LIMIT_ACTIVE_PROCESS                                                = 0x00000008
  8967  	JOB_OBJECT_LIMIT_AFFINITY                                                      = 0x00000010
  8968  	JOB_OBJECT_LIMIT_BREAKAWAY_OK                                                  = 0x00000800
  8969  	JOB_OBJECT_LIMIT_DIE_ON_UNHANDLED_EXCEPTION                                    = 0x00000400
  8970  	JOB_OBJECT_LIMIT_JOB_MEMORY                                                    = 0x00000200
  8971  	JOB_OBJECT_LIMIT_JOB_READ_BYTES                                                = 0x00010000
  8972  	JOB_OBJECT_LIMIT_JOB_TIME                                                      = 0x00000004
  8973  	JOB_OBJECT_LIMIT_JOB_WRITE_BYTES                                               = 0x00020000
  8974  	JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE                                             = 0x00002000
  8975  	JOB_OBJECT_LIMIT_PRESERVE_JOB_TIME                                             = 0x00000040
  8976  	JOB_OBJECT_LIMIT_PRIORITY_CLASS                                                = 0x00000020
  8977  	JOB_OBJECT_LIMIT_PROCESS_MEMORY                                                = 0x00000100
  8978  	JOB_OBJECT_LIMIT_PROCESS_TIME                                                  = 0x00000002
  8979  	JOB_OBJECT_LIMIT_RATE_CONTROL                                                  = 0x00040000
  8980  	JOB_OBJECT_LIMIT_RESERVED3                                                     = 0x00008000
  8981  	JOB_OBJECT_LIMIT_RESERVED4                                                     = 0x00010000
  8982  	JOB_OBJECT_LIMIT_RESERVED5                                                     = 0x00020000
  8983  	JOB_OBJECT_LIMIT_RESERVED6                                                     = 0x00040000
  8984  	JOB_OBJECT_LIMIT_SCHEDULING_CLASS                                              = 0x00000080
  8985  	JOB_OBJECT_LIMIT_SILENT_BREAKAWAY_OK                                           = 0x00001000
  8986  	JOB_OBJECT_LIMIT_SUBSET_AFFINITY                                               = 0x00004000
  8987  	JOB_OBJECT_LIMIT_VALID_FLAGS                                                   = 0x0007ffff
  8988  	JOB_OBJECT_LIMIT_WORKINGSET                                                    = 0x00000001
  8989  	JOB_OBJECT_MSG_ABNORMAL_EXIT_PROCESS                                           = 8
  8990  	JOB_OBJECT_MSG_ACTIVE_PROCESS_LIMIT                                            = 3
  8991  	JOB_OBJECT_MSG_ACTIVE_PROCESS_ZERO                                             = 4
  8992  	JOB_OBJECT_MSG_END_OF_JOB_TIME                                                 = 1
  8993  	JOB_OBJECT_MSG_END_OF_PROCESS_TIME                                             = 2
  8994  	JOB_OBJECT_MSG_EXIT_PROCESS                                                    = 7
  8995  	JOB_OBJECT_MSG_JOB_CYCLE_TIME_LIMIT                                            = 12
  8996  	JOB_OBJECT_MSG_JOB_MEMORY_LIMIT                                                = 10
  8997  	JOB_OBJECT_MSG_MAXIMUM                                                         = 12
  8998  	JOB_OBJECT_MSG_MINIMUM                                                         = 1
  8999  	JOB_OBJECT_MSG_NEW_PROCESS                                                     = 6
  9000  	JOB_OBJECT_MSG_NOTIFICATION_LIMIT                                              = 11
  9001  	JOB_OBJECT_MSG_PROCESS_MEMORY_LIMIT                                            = 9
  9002  	JOB_OBJECT_NOTIFICATION_LIMIT_VALID_FLAGS                                      = 0x00070204
  9003  	JOB_OBJECT_POST_AT_END_OF_JOB                                                  = 1
  9004  	JOB_OBJECT_QUERY                                                               = 4
  9005  	JOB_OBJECT_RESERVED_LIMIT_VALID_FLAGS                                          = 0x0007ffff
  9006  	JOB_OBJECT_SECURITY_FILTER_TOKENS                                              = 0x00000008
  9007  	JOB_OBJECT_SECURITY_NO_ADMIN                                                   = 0x00000001
  9008  	JOB_OBJECT_SECURITY_ONLY_TOKEN                                                 = 0x00000004
  9009  	JOB_OBJECT_SECURITY_RESTRICTED_TOKEN                                           = 0x00000002
  9010  	JOB_OBJECT_SECURITY_VALID_FLAGS                                                = 0x0000000f
  9011  	JOB_OBJECT_SET_ATTRIBUTES                                                      = 2
  9012  	JOB_OBJECT_SET_SECURITY_ATTRIBUTES                                             = 16
  9013  	JOB_OBJECT_TERMINATE                                                           = 8
  9014  	JOB_OBJECT_TERMINATE_AT_END_OF_JOB                                             = 0
  9015  	JOB_OBJECT_UILIMIT_ALL                                                         = 0x000000FF
  9016  	JOB_OBJECT_UILIMIT_DESKTOP                                                     = 0x00000040
  9017  	JOB_OBJECT_UILIMIT_DISPLAYSETTINGS                                             = 0x00000010
  9018  	JOB_OBJECT_UILIMIT_EXITWINDOWS                                                 = 0x00000080
  9019  	JOB_OBJECT_UILIMIT_GLOBALATOMS                                                 = 0x00000020
  9020  	JOB_OBJECT_UILIMIT_HANDLES                                                     = 0x00000001
  9021  	JOB_OBJECT_UILIMIT_NONE                                                        = 0x00000000
  9022  	JOB_OBJECT_UILIMIT_READCLIPBOARD                                               = 0x00000002
  9023  	JOB_OBJECT_UILIMIT_SYSTEMPARAMETERS                                            = 0x00000008
  9024  	JOB_OBJECT_UILIMIT_WRITECLIPBOARD                                              = 0x00000004
  9025  	JOB_OBJECT_UI_VALID_FLAGS                                                      = 0x000000FF
  9026  	JOB_POSITION_UNSPECIFIED                                                       = 0
  9027  	JOB_READ                                                                       = 131104
  9028  	JOB_STATUS_BLOCKED_DEVQ                                                        = 0x00000200
  9029  	JOB_STATUS_COMPLETE                                                            = 0x00001000
  9030  	JOB_STATUS_DELETED                                                             = 0x00000100
  9031  	JOB_STATUS_DELETING                                                            = 0x00000004
  9032  	JOB_STATUS_ERROR                                                               = 0x00000002
  9033  	JOB_STATUS_OFFLINE                                                             = 0x00000020
  9034  	JOB_STATUS_PAPEROUT                                                            = 0x00000040
  9035  	JOB_STATUS_PAUSED                                                              = 0x00000001
  9036  	JOB_STATUS_PRINTED                                                             = 0x00000080
  9037  	JOB_STATUS_PRINTING                                                            = 0x00000010
  9038  	JOB_STATUS_RESTART                                                             = 0x00000800
  9039  	JOB_STATUS_SPOOLING                                                            = 0x00000008
  9040  	JOB_STATUS_USER_INTERVENTION                                                   = 0x00000400
  9041  	JOB_WRITE                                                                      = 131088
  9042  	JOHAB_CHARSET                                                                  = 130
  9043  	JOYCAPS_HASPOV                                                                 = 0x0010
  9044  	JOYCAPS_HASR                                                                   = 0x0002
  9045  	JOYCAPS_HASU                                                                   = 0x0004
  9046  	JOYCAPS_HASV                                                                   = 0x0008
  9047  	JOYCAPS_HASZ                                                                   = 0x0001
  9048  	JOYCAPS_POV4DIR                                                                = 0x0020
  9049  	JOYCAPS_POVCTS                                                                 = 0x0040
  9050  	JOYERR_BASE                                                                    = 160
  9051  	JOYERR_NOCANDO                                                                 = 166
  9052  	JOYERR_NOERROR                                                                 = 0
  9053  	JOYERR_PARMS                                                                   = 165
  9054  	JOYERR_UNPLUGGED                                                               = 167
  9055  	JOYSTICKID1                                                                    = 0
  9056  	JOYSTICKID2                                                                    = 1
  9057  	JOY_BUTTON1                                                                    = 0x0001
  9058  	JOY_BUTTON10                                                                   = 512
  9059  	JOY_BUTTON11                                                                   = 1024
  9060  	JOY_BUTTON12                                                                   = 2048
  9061  	JOY_BUTTON13                                                                   = 4096
  9062  	JOY_BUTTON14                                                                   = 8192
  9063  	JOY_BUTTON15                                                                   = 16384
  9064  	JOY_BUTTON16                                                                   = 32768
  9065  	JOY_BUTTON17                                                                   = 65536
  9066  	JOY_BUTTON18                                                                   = 131072
  9067  	JOY_BUTTON19                                                                   = 262144
  9068  	JOY_BUTTON1CHG                                                                 = 0x0100
  9069  	JOY_BUTTON2                                                                    = 0x0002
  9070  	JOY_BUTTON20                                                                   = 524288
  9071  	JOY_BUTTON21                                                                   = 1048576
  9072  	JOY_BUTTON22                                                                   = 2097152
  9073  	JOY_BUTTON23                                                                   = 4194304
  9074  	JOY_BUTTON24                                                                   = 8388608
  9075  	JOY_BUTTON25                                                                   = 16777216
  9076  	JOY_BUTTON26                                                                   = 33554432
  9077  	JOY_BUTTON27                                                                   = 67108864
  9078  	JOY_BUTTON28                                                                   = 134217728
  9079  	JOY_BUTTON29                                                                   = 268435456
  9080  	JOY_BUTTON2CHG                                                                 = 0x0200
  9081  	JOY_BUTTON3                                                                    = 0x0004
  9082  	JOY_BUTTON30                                                                   = 536870912
  9083  	JOY_BUTTON31                                                                   = 1073741824
  9084  	JOY_BUTTON32                                                                   = 2147483648
  9085  	JOY_BUTTON3CHG                                                                 = 0x0400
  9086  	JOY_BUTTON4                                                                    = 0x0008
  9087  	JOY_BUTTON4CHG                                                                 = 0x0800
  9088  	JOY_BUTTON5                                                                    = 16
  9089  	JOY_BUTTON6                                                                    = 32
  9090  	JOY_BUTTON7                                                                    = 64
  9091  	JOY_BUTTON8                                                                    = 128
  9092  	JOY_BUTTON9                                                                    = 256
  9093  	JOY_CAL_READ3                                                                  = 262144
  9094  	JOY_CAL_READ4                                                                  = 524288
  9095  	JOY_CAL_READ5                                                                  = 4194304
  9096  	JOY_CAL_READ6                                                                  = 8388608
  9097  	JOY_CAL_READALWAYS                                                             = 65536
  9098  	JOY_CAL_READRONLY                                                              = 33554432
  9099  	JOY_CAL_READUONLY                                                              = 67108864
  9100  	JOY_CAL_READVONLY                                                              = 134217728
  9101  	JOY_CAL_READXONLY                                                              = 1048576
  9102  	JOY_CAL_READXYONLY                                                             = 131072
  9103  	JOY_CAL_READYONLY                                                              = 2097152
  9104  	JOY_CAL_READZONLY                                                              = 16777216
  9105  	JOY_POVBACKWARD                                                                = 18000
  9106  	JOY_POVFORWARD                                                                 = 0
  9107  	JOY_POVLEFT                                                                    = 27000
  9108  	JOY_POVRIGHT                                                                   = 9000
  9109  	JOY_RETURNALL                                                                  = 255
  9110  	JOY_RETURNBUTTONS                                                              = 128
  9111  	JOY_RETURNCENTERED                                                             = 1024
  9112  	JOY_RETURNPOV                                                                  = 64
  9113  	JOY_RETURNPOVCTS                                                               = 512
  9114  	JOY_RETURNR                                                                    = 8
  9115  	JOY_RETURNRAWDATA                                                              = 256
  9116  	JOY_RETURNU                                                                    = 16
  9117  	JOY_RETURNV                                                                    = 32
  9118  	JOY_RETURNX                                                                    = 1
  9119  	JOY_RETURNY                                                                    = 2
  9120  	JOY_RETURNZ                                                                    = 4
  9121  	JOY_USEDEADZONE                                                                = 2048
  9122  	KDF_ALGORITHMID                                                                = 0x8
  9123  	KDF_CONTEXT                                                                    = 0xe
  9124  	KDF_GENERIC_PARAMETER                                                          = 0x11
  9125  	KDF_HASH_ALGORITHM                                                             = 0x0
  9126  	KDF_HMAC_KEY                                                                   = 0x3
  9127  	KDF_ITERATION_COUNT                                                            = 0x10
  9128  	KDF_KEYBITLENGTH                                                               = 0x12
  9129  	KDF_LABEL                                                                      = 0xd
  9130  	KDF_PARTYUINFO                                                                 = 0x9
  9131  	KDF_PARTYVINFO                                                                 = 0xa
  9132  	KDF_SALT                                                                       = 0xf
  9133  	KDF_SECRET_APPEND                                                              = 0x2
  9134  	KDF_SECRET_HANDLE                                                              = 0x6
  9135  	KDF_SECRET_PREPEND                                                             = 0x1
  9136  	KDF_SUPPPRIVINFO                                                               = 0xc
  9137  	KDF_SUPPPUBINFO                                                                = 0xb
  9138  	KDF_TLS_PRF_LABEL                                                              = 0x4
  9139  	KDF_TLS_PRF_PROTOCOL                                                           = 0x7
  9140  	KDF_TLS_PRF_SEED                                                               = 0x5
  9141  	KDF_USE_SECRET_AS_HMAC_KEY_FLAG                                                = 1
  9142  	KEYBOARD_OVERRUN_MAKE_CODE                                                     = 0xFF
  9143  	KEYEVENTF_EXTENDEDKEY                                                          = 0x0001
  9144  	KEYEVENTF_KEYUP                                                                = 0x0002
  9145  	KEYEVENTF_SCANCODE                                                             = 0x0008
  9146  	KEYEVENTF_UNICODE                                                              = 0x0004
  9147  	KEYSTATEBLOB                                                                   = 0xc
  9148  	KEY_ALL_ACCESS                                                                 = 983103
  9149  	KEY_CREATE_LINK                                                                = 32
  9150  	KEY_CREATE_SUB_KEY                                                             = 4
  9151  	KEY_ENUMERATE_SUB_KEYS                                                         = 8
  9152  	KEY_EVENT                                                                      = 0x1
  9153  	KEY_EXECUTE                                                                    = 131097
  9154  	KEY_LENGTH_MASK                                                                = 0xffff0000
  9155  	KEY_NOTIFY                                                                     = 16
  9156  	KEY_QUERY_VALUE                                                                = 1
  9157  	KEY_READ                                                                       = 131097
  9158  	KEY_SET_VALUE                                                                  = 2
  9159  	KEY_WOW64_32KEY                                                                = 512
  9160  	KEY_WOW64_64KEY                                                                = 256
  9161  	KEY_WOW64_RES                                                                  = 768
  9162  	KEY_WRITE                                                                      = 131078
  9163  	KF_ALTDOWN                                                                     = 0x2000
  9164  	KF_DLGMODE                                                                     = 0x0800
  9165  	KF_EXTENDED                                                                    = 0x0100
  9166  	KF_MENUMODE                                                                    = 0x1000
  9167  	KF_REPEAT                                                                      = 0x4000
  9168  	KF_UP                                                                          = 0x8000
  9169  	KLF_ACTIVATE                                                                   = 0x00000001
  9170  	KLF_NOTELLSHELL                                                                = 0x00000080
  9171  	KLF_REORDER                                                                    = 0x00000008
  9172  	KLF_REPLACELANG                                                                = 0x00000010
  9173  	KLF_RESET                                                                      = 0x40000000
  9174  	KLF_SETFORPROCESS                                                              = 0x00000100
  9175  	KLF_SHIFTLOCK                                                                  = 0x00010000
  9176  	KLF_SUBSTITUTE_OK                                                              = 0x00000002
  9177  	KL_NAMELENGTH                                                                  = 9
  9178  	KP_ADMIN_PIN                                                                   = 31
  9179  	KP_ALGID                                                                       = 7
  9180  	KP_BLOCKLEN                                                                    = 8
  9181  	KP_CERTIFICATE                                                                 = 26
  9182  	KP_CLEAR_KEY                                                                   = 27
  9183  	KP_CLIENT_RANDOM                                                               = 21
  9184  	KP_CMS_DH_KEY_INFO                                                             = 38
  9185  	KP_CMS_KEY_INFO                                                                = 37
  9186  	KP_EFFECTIVE_KEYLEN                                                            = 19
  9187  	KP_G                                                                           = 12
  9188  	KP_GET_USE_COUNT                                                               = 42
  9189  	KP_HIGHEST_VERSION                                                             = 41
  9190  	KP_INFO                                                                        = 18
  9191  	KP_IV                                                                          = 1
  9192  	KP_KEYEXCHANGE_PIN                                                             = 32
  9193  	KP_KEYLEN                                                                      = 9
  9194  	KP_KEYVAL                                                                      = 30
  9195  	KP_MODE                                                                        = 4
  9196  	KP_MODE_BITS                                                                   = 5
  9197  	KP_OAEP_PARAMS                                                                 = 36
  9198  	KP_P                                                                           = 11
  9199  	KP_PADDING                                                                     = 3
  9200  	KP_PERMISSIONS                                                                 = 6
  9201  	KP_PIN_ID                                                                      = 43
  9202  	KP_PIN_INFO                                                                    = 44
  9203  	KP_PRECOMP_MD5                                                                 = 24
  9204  	KP_PRECOMP_SHA                                                                 = 25
  9205  	KP_PREHASH                                                                     = 34
  9206  	KP_PUB_EX_LEN                                                                  = 28
  9207  	KP_PUB_EX_VAL                                                                  = 29
  9208  	KP_PUB_PARAMS                                                                  = 39
  9209  	KP_Q                                                                           = 13
  9210  	KP_RA                                                                          = 16
  9211  	KP_RB                                                                          = 17
  9212  	KP_ROUNDS                                                                      = 35
  9213  	KP_RP                                                                          = 23
  9214  	KP_SALT                                                                        = 2
  9215  	KP_SALT_EX                                                                     = 10
  9216  	KP_SCHANNEL_ALG                                                                = 20
  9217  	KP_SERVER_RANDOM                                                               = 22
  9218  	KP_SIGNATURE_PIN                                                               = 33
  9219  	KP_VERIFY_PARAMS                                                               = 40
  9220  	KP_X                                                                           = 14
  9221  	KP_Y                                                                           = 15
  9222  	KTM_MARSHAL_BLOB_VERSION_MAJOR                                                 = 1
  9223  	KTM_MARSHAL_BLOB_VERSION_MINOR                                                 = 1
  9224  	LABEL_SECURITY_INFORMATION                                                     = 16
  9225  	LANG_AFRIKAANS                                                                 = 0x36
  9226  	LANG_ALBANIAN                                                                  = 0x1c
  9227  	LANG_ALSATIAN                                                                  = 0x84
  9228  	LANG_AMHARIC                                                                   = 0x5e
  9229  	LANG_ARABIC                                                                    = 0x01
  9230  	LANG_ARMENIAN                                                                  = 0x2b
  9231  	LANG_ASSAMESE                                                                  = 0x4d
  9232  	LANG_AZERBAIJANI                                                               = 0x2c
  9233  	LANG_AZERI                                                                     = 0x2c
  9234  	LANG_BANGLA                                                                    = 0x45
  9235  	LANG_BASHKIR                                                                   = 0x6d
  9236  	LANG_BASQUE                                                                    = 0x2d
  9237  	LANG_BELARUSIAN                                                                = 0x23
  9238  	LANG_BENGALI                                                                   = 0x45
  9239  	LANG_BOSNIAN                                                                   = 0x1a
  9240  	LANG_BOSNIAN_NEUTRAL                                                           = 0x781a
  9241  	LANG_BRETON                                                                    = 0x7e
  9242  	LANG_BULGARIAN                                                                 = 0x02
  9243  	LANG_CATALAN                                                                   = 0x03
  9244  	LANG_CENTRAL_KURDISH                                                           = 0x92
  9245  	LANG_CHEROKEE                                                                  = 0x5c
  9246  	LANG_CHINESE                                                                   = 0x04
  9247  	LANG_CHINESE_SIMPLIFIED                                                        = 0x04
  9248  	LANG_CHINESE_TRADITIONAL                                                       = 0x7c04
  9249  	LANG_CORSICAN                                                                  = 0x83
  9250  	LANG_CROATIAN                                                                  = 0x1a
  9251  	LANG_CZECH                                                                     = 0x05
  9252  	LANG_DANISH                                                                    = 0x06
  9253  	LANG_DARI                                                                      = 0x8c
  9254  	LANG_DIVEHI                                                                    = 0x65
  9255  	LANG_DUTCH                                                                     = 0x13
  9256  	LANG_ENGLISH                                                                   = 0x09
  9257  	LANG_ESTONIAN                                                                  = 0x25
  9258  	LANG_FAEROESE                                                                  = 0x38
  9259  	LANG_FARSI                                                                     = 0x29
  9260  	LANG_FILIPINO                                                                  = 0x64
  9261  	LANG_FINNISH                                                                   = 0x0b
  9262  	LANG_FRENCH                                                                    = 0x0c
  9263  	LANG_FRISIAN                                                                   = 0x62
  9264  	LANG_FULAH                                                                     = 0x67
  9265  	LANG_GALICIAN                                                                  = 0x56
  9266  	LANG_GEORGIAN                                                                  = 0x37
  9267  	LANG_GERMAN                                                                    = 0x07
  9268  	LANG_GREEK                                                                     = 0x08
  9269  	LANG_GREENLANDIC                                                               = 0x6f
  9270  	LANG_GUJARATI                                                                  = 0x47
  9271  	LANG_HAUSA                                                                     = 0x68
  9272  	LANG_HEBREW                                                                    = 0x0d
  9273  	LANG_HINDI                                                                     = 0x39
  9274  	LANG_HUNGARIAN                                                                 = 0x0e
  9275  	LANG_ICELANDIC                                                                 = 0x0f
  9276  	LANG_IGBO                                                                      = 0x70
  9277  	LANG_INDONESIAN                                                                = 0x21
  9278  	LANG_INUKTITUT                                                                 = 0x5d
  9279  	LANG_INVARIANT                                                                 = 0x7f
  9280  	LANG_IRISH                                                                     = 0x3c
  9281  	LANG_ITALIAN                                                                   = 0x10
  9282  	LANG_JAPANESE                                                                  = 0x11
  9283  	LANG_KANNADA                                                                   = 0x4b
  9284  	LANG_KASHMIRI                                                                  = 0x60
  9285  	LANG_KAZAK                                                                     = 0x3f
  9286  	LANG_KHMER                                                                     = 0x53
  9287  	LANG_KICHE                                                                     = 0x86
  9288  	LANG_KINYARWANDA                                                               = 0x87
  9289  	LANG_KONKANI                                                                   = 0x57
  9290  	LANG_KOREAN                                                                    = 0x12
  9291  	LANG_KYRGYZ                                                                    = 0x40
  9292  	LANG_LAO                                                                       = 0x54
  9293  	LANG_LATVIAN                                                                   = 0x26
  9294  	LANG_LITHUANIAN                                                                = 0x27
  9295  	LANG_LOWER_SORBIAN                                                             = 0x2e
  9296  	LANG_LUXEMBOURGISH                                                             = 0x6e
  9297  	LANG_MACEDONIAN                                                                = 0x2f
  9298  	LANG_MALAY                                                                     = 0x3e
  9299  	LANG_MALAYALAM                                                                 = 0x4c
  9300  	LANG_MALTESE                                                                   = 0x3a
  9301  	LANG_MANIPURI                                                                  = 0x58
  9302  	LANG_MAORI                                                                     = 0x81
  9303  	LANG_MAPUDUNGUN                                                                = 0x7a
  9304  	LANG_MARATHI                                                                   = 0x4e
  9305  	LANG_MOHAWK                                                                    = 0x7c
  9306  	LANG_MONGOLIAN                                                                 = 0x50
  9307  	LANG_NEPALI                                                                    = 0x61
  9308  	LANG_NEUTRAL                                                                   = 0x00
  9309  	LANG_NORWEGIAN                                                                 = 0x14
  9310  	LANG_OCCITAN                                                                   = 0x82
  9311  	LANG_ODIA                                                                      = 0x48
  9312  	LANG_ORIYA                                                                     = 0x48
  9313  	LANG_PASHTO                                                                    = 0x63
  9314  	LANG_PERSIAN                                                                   = 0x29
  9315  	LANG_POLISH                                                                    = 0x15
  9316  	LANG_PORTUGUESE                                                                = 0x16
  9317  	LANG_PULAR                                                                     = 0x67
  9318  	LANG_PUNJABI                                                                   = 0x46
  9319  	LANG_QUECHUA                                                                   = 0x6b
  9320  	LANG_ROMANIAN                                                                  = 0x18
  9321  	LANG_ROMANSH                                                                   = 0x17
  9322  	LANG_RUSSIAN                                                                   = 0x19
  9323  	LANG_SAKHA                                                                     = 0x85
  9324  	LANG_SAMI                                                                      = 0x3b
  9325  	LANG_SANSKRIT                                                                  = 0x4f
  9326  	LANG_SCOTTISH_GAELIC                                                           = 0x91
  9327  	LANG_SERBIAN                                                                   = 0x1a
  9328  	LANG_SERBIAN_NEUTRAL                                                           = 0x7c1a
  9329  	LANG_SINDHI                                                                    = 0x59
  9330  	LANG_SINHALESE                                                                 = 0x5b
  9331  	LANG_SLOVAK                                                                    = 0x1b
  9332  	LANG_SLOVENIAN                                                                 = 0x24
  9333  	LANG_SOTHO                                                                     = 0x6c
  9334  	LANG_SPANISH                                                                   = 0x0a
  9335  	LANG_SWAHILI                                                                   = 0x41
  9336  	LANG_SWEDISH                                                                   = 0x1d
  9337  	LANG_SYRIAC                                                                    = 0x5a
  9338  	LANG_TAJIK                                                                     = 0x28
  9339  	LANG_TAMAZIGHT                                                                 = 0x5f
  9340  	LANG_TAMIL                                                                     = 0x49
  9341  	LANG_TATAR                                                                     = 0x44
  9342  	LANG_TELUGU                                                                    = 0x4a
  9343  	LANG_THAI                                                                      = 0x1e
  9344  	LANG_TIBETAN                                                                   = 0x51
  9345  	LANG_TIGRIGNA                                                                  = 0x73
  9346  	LANG_TIGRINYA                                                                  = 0x73
  9347  	LANG_TSWANA                                                                    = 0x32
  9348  	LANG_TURKISH                                                                   = 0x1f
  9349  	LANG_TURKMEN                                                                   = 0x42
  9350  	LANG_UIGHUR                                                                    = 0x80
  9351  	LANG_UKRAINIAN                                                                 = 0x22
  9352  	LANG_UPPER_SORBIAN                                                             = 0x2e
  9353  	LANG_URDU                                                                      = 0x20
  9354  	LANG_UZBEK                                                                     = 0x43
  9355  	LANG_VALENCIAN                                                                 = 0x03
  9356  	LANG_VIETNAMESE                                                                = 0x2a
  9357  	LANG_WELSH                                                                     = 0x52
  9358  	LANG_WOLOF                                                                     = 0x88
  9359  	LANG_XHOSA                                                                     = 0x34
  9360  	LANG_YAKUT                                                                     = 0x85
  9361  	LANG_YI                                                                        = 0x78
  9362  	LANG_YORUBA                                                                    = 0x6a
  9363  	LANG_ZULU                                                                      = 0x35
  9364  	LAYOUT_BITMAPORIENTATIONPRESERVED                                              = 0x00000008
  9365  	LAYOUT_BTT                                                                     = 0x00000002
  9366  	LAYOUT_ORIENTATIONMASK                                                         = 7
  9367  	LAYOUT_RTL                                                                     = 0x00000001
  9368  	LAYOUT_VBH                                                                     = 0x00000004
  9369  	LBN_DBLCLK                                                                     = 2
  9370  	LBN_ERRSPACE                                                                   = -2
  9371  	LBN_KILLFOCUS                                                                  = 5
  9372  	LBN_SELCANCEL                                                                  = 3
  9373  	LBN_SELCHANGE                                                                  = 1
  9374  	LBN_SETFOCUS                                                                   = 4
  9375  	LBSELCHSTRINGA                                                                 = "commdlg_LBSelChangedNotify"
  9376  	LBS_COMBOBOX                                                                   = 32768
  9377  	LBS_DISABLENOSCROLL                                                            = 4096
  9378  	LBS_EXTENDEDSEL                                                                = 2048
  9379  	LBS_HASSTRINGS                                                                 = 64
  9380  	LBS_MULTICOLUMN                                                                = 512
  9381  	LBS_MULTIPLESEL                                                                = 8
  9382  	LBS_NODATA                                                                     = 8192
  9383  	LBS_NOINTEGRALHEIGHT                                                           = 256
  9384  	LBS_NOREDRAW                                                                   = 4
  9385  	LBS_NOSEL                                                                      = 16384
  9386  	LBS_NOTIFY                                                                     = 1
  9387  	LBS_OWNERDRAWFIXED                                                             = 16
  9388  	LBS_OWNERDRAWVARIABLE                                                          = 32
  9389  	LBS_SORT                                                                       = 2
  9390  	LBS_STANDARD                                                                   = 10485763
  9391  	LBS_USETABSTOPS                                                                = 128
  9392  	LBS_WANTKEYBOARDINPUT                                                          = 1024
  9393  	LB_ADDFILE                                                                     = 0x0196
  9394  	LB_ADDSTRING                                                                   = 0x0180
  9395  	LB_CTLCODE                                                                     = 0
  9396  	LB_DELETESTRING                                                                = 0x0182
  9397  	LB_DIR                                                                         = 0x018D
  9398  	LB_ERR                                                                         = -1
  9399  	LB_ERRSPACE                                                                    = -2
  9400  	LB_FINDSTRING                                                                  = 0x018F
  9401  	LB_FINDSTRINGEXACT                                                             = 0x01A2
  9402  	LB_GETANCHORINDEX                                                              = 0x019D
  9403  	LB_GETCARETINDEX                                                               = 0x019F
  9404  	LB_GETCOUNT                                                                    = 0x018B
  9405  	LB_GETCURSEL                                                                   = 0x0188
  9406  	LB_GETHORIZONTALEXTENT                                                         = 0x0193
  9407  	LB_GETITEMDATA                                                                 = 0x0199
  9408  	LB_GETITEMHEIGHT                                                               = 0x01A1
  9409  	LB_GETITEMRECT                                                                 = 0x0198
  9410  	LB_GETLISTBOXINFO                                                              = 0x01B2
  9411  	LB_GETLOCALE                                                                   = 0x01A6
  9412  	LB_GETSEL                                                                      = 0x0187
  9413  	LB_GETSELCOUNT                                                                 = 0x0190
  9414  	LB_GETSELITEMS                                                                 = 0x0191
  9415  	LB_GETTEXT                                                                     = 0x0189
  9416  	LB_GETTEXTLEN                                                                  = 0x018A
  9417  	LB_GETTOPINDEX                                                                 = 0x018E
  9418  	LB_INITSTORAGE                                                                 = 0x01A8
  9419  	LB_INSERTSTRING                                                                = 0x0181
  9420  	LB_ITEMFROMPOINT                                                               = 0x01A9
  9421  	LB_MSGMAX                                                                      = 0x01B3
  9422  	LB_OKAY                                                                        = 0
  9423  	LB_RESETCONTENT                                                                = 0x0184
  9424  	LB_SELECTSTRING                                                                = 0x018C
  9425  	LB_SELITEMRANGE                                                                = 0x019B
  9426  	LB_SELITEMRANGEEX                                                              = 0x0183
  9427  	LB_SETANCHORINDEX                                                              = 0x019C
  9428  	LB_SETCARETINDEX                                                               = 0x019E
  9429  	LB_SETCOLUMNWIDTH                                                              = 0x0195
  9430  	LB_SETCOUNT                                                                    = 0x01A7
  9431  	LB_SETCURSEL                                                                   = 0x0186
  9432  	LB_SETHORIZONTALEXTENT                                                         = 0x0194
  9433  	LB_SETITEMDATA                                                                 = 0x019A
  9434  	LB_SETITEMHEIGHT                                                               = 0x01A0
  9435  	LB_SETLOCALE                                                                   = 0x01A5
  9436  	LB_SETSEL                                                                      = 0x0185
  9437  	LB_SETTABSTOPS                                                                 = 0x0192
  9438  	LB_SETTOPINDEX                                                                 = 0x0197
  9439  	LCID_ALTERNATE_SORTS                                                           = 0x00000004
  9440  	LCID_INSTALLED                                                                 = 0x00000001
  9441  	LCID_SUPPORTED                                                                 = 0x00000002
  9442  	LCMAP_BYTEREV                                                                  = 0x00000800
  9443  	LCMAP_FULLWIDTH                                                                = 0x00800000
  9444  	LCMAP_HALFWIDTH                                                                = 0x00400000
  9445  	LCMAP_HIRAGANA                                                                 = 0x00100000
  9446  	LCMAP_KATAKANA                                                                 = 0x00200000
  9447  	LCMAP_LINGUISTIC_CASING                                                        = 0x01000000
  9448  	LCMAP_LOWERCASE                                                                = 0x00000100
  9449  	LCMAP_SIMPLIFIED_CHINESE                                                       = 0x02000000
  9450  	LCMAP_SORTKEY                                                                  = 0x00000400
  9451  	LCMAP_TRADITIONAL_CHINESE                                                      = 0x04000000
  9452  	LCMAP_UPPERCASE                                                                = 0x00000200
  9453  	LCS_CALIBRATED_RGB                                                             = 0
  9454  	LCS_GM_ABS_COLORIMETRIC                                                        = 8
  9455  	LCS_GM_BUSINESS                                                                = 1
  9456  	LCS_GM_GRAPHICS                                                                = 2
  9457  	LCS_GM_IMAGES                                                                  = 4
  9458  	LCS_SIGNATURE                                                                  = 80
  9459  	LCS_WINDOWS_COLOR_SPACE                                                        = 87
  9460  	LCS_sRGB                                                                       = 115
  9461  	LC_INTERIORS                                                                   = 128
  9462  	LC_MARKER                                                                      = 4
  9463  	LC_NONE                                                                        = 0
  9464  	LC_POLYLINE                                                                    = 2
  9465  	LC_POLYMARKER                                                                  = 8
  9466  	LC_STYLED                                                                      = 32
  9467  	LC_WIDE                                                                        = 16
  9468  	LC_WIDESTYLED                                                                  = 64
  9469  	LEFT_ALT_PRESSED                                                               = 0x2
  9470  	LEFT_CTRL_PRESSED                                                              = 0x8
  9471  	LF_FACESIZE                                                                    = 32
  9472  	LF_FULLFACESIZE                                                                = 64
  9473  	LGRPID_ARABIC                                                                  = 0x000d
  9474  	LGRPID_ARMENIAN                                                                = 0x0011
  9475  	LGRPID_BALTIC                                                                  = 0x0003
  9476  	LGRPID_CENTRAL_EUROPE                                                          = 0x0002
  9477  	LGRPID_CYRILLIC                                                                = 0x0005
  9478  	LGRPID_GEORGIAN                                                                = 0x0010
  9479  	LGRPID_GREEK                                                                   = 0x0004
  9480  	LGRPID_HEBREW                                                                  = 0x000c
  9481  	LGRPID_INDIC                                                                   = 0x000f
  9482  	LGRPID_INSTALLED                                                               = 0x00000001
  9483  	LGRPID_JAPANESE                                                                = 0x0007
  9484  	LGRPID_KOREAN                                                                  = 0x0008
  9485  	LGRPID_SIMPLIFIED_CHINESE                                                      = 0x000a
  9486  	LGRPID_SUPPORTED                                                               = 0x00000002
  9487  	LGRPID_THAI                                                                    = 0x000b
  9488  	LGRPID_TRADITIONAL_CHINESE                                                     = 0x0009
  9489  	LGRPID_TURKIC                                                                  = 0x0006
  9490  	LGRPID_TURKISH                                                                 = 0x0006
  9491  	LGRPID_VIETNAMESE                                                              = 0x000e
  9492  	LGRPID_WESTERN_EUROPE                                                          = 0x0001
  9493  	LHND                                                                           = 66
  9494  	LINECAPS                                                                       = 30
  9495  	LINGUISTIC_IGNORECASE                                                          = 0x00000010
  9496  	LINGUISTIC_IGNOREDIACRITIC                                                     = 0x00000020
  9497  	LISTEN_OUTSTANDING                                                             = 0x01
  9498  	LLKHF_ALTDOWN                                                                  = 32
  9499  	LLKHF_EXTENDED                                                                 = 1
  9500  	LLKHF_INJECTED                                                                 = 0x00000010
  9501  	LLKHF_LOWER_IL_INJECTED                                                        = 0x00000002
  9502  	LLKHF_UP                                                                       = 128
  9503  	LLMHF_INJECTED                                                                 = 0x00000001
  9504  	LLMHF_LOWER_IL_INJECTED                                                        = 0x00000002
  9505  	LMEM_DISCARDABLE                                                               = 0xf00
  9506  	LMEM_DISCARDED                                                                 = 0x4000
  9507  	LMEM_FIXED                                                                     = 0x0
  9508  	LMEM_INVALID_HANDLE                                                            = 0x8000
  9509  	LMEM_LOCKCOUNT                                                                 = 0xff
  9510  	LMEM_MODIFY                                                                    = 0x80
  9511  	LMEM_MOVEABLE                                                                  = 0x2
  9512  	LMEM_NOCOMPACT                                                                 = 0x10
  9513  	LMEM_NODISCARD                                                                 = 0x20
  9514  	LMEM_VALID_FLAGS                                                               = 0xf72
  9515  	LMEM_ZEROINIT                                                                  = 0x40
  9516  	LOAD_DLL_DEBUG_EVENT                                                           = 6
  9517  	LOAD_IGNORE_CODE_AUTHZ_LEVEL                                                   = 0x10
  9518  	LOAD_LIBRARY_AS_DATAFILE                                                       = 0x2
  9519  	LOAD_LIBRARY_AS_DATAFILE_EXCLUSIVE                                             = 0x40
  9520  	LOAD_LIBRARY_AS_IMAGE_RESOURCE                                                 = 0x20
  9521  	LOAD_LIBRARY_REQUIRE_SIGNED_TARGET                                             = 0x80
  9522  	LOAD_LIBRARY_SEARCH_APPLICATION_DIR                                            = 0x200
  9523  	LOAD_LIBRARY_SEARCH_DEFAULT_DIRS                                               = 0x1000
  9524  	LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR                                               = 0x100
  9525  	LOAD_LIBRARY_SEARCH_SYSTEM32                                                   = 0x800
  9526  	LOAD_LIBRARY_SEARCH_SYSTEM32_NO_FORWARDER                                      = 2048
  9527  	LOAD_LIBRARY_SEARCH_USER_DIRS                                                  = 0x400
  9528  	LOAD_TLB_AS_32BIT                                                              = 0x20
  9529  	LOAD_TLB_AS_64BIT                                                              = 0x40
  9530  	LOAD_WITH_ALTERED_SEARCH_PATH                                                  = 0x8
  9531  	LOCALE_FONTSIGNATURE                                                           = 0x00000058
  9532  	LOCALE_ICALENDARTYPE                                                           = 0x00001009
  9533  	LOCALE_ICENTURY                                                                = 0x00000024
  9534  	LOCALE_ICOUNTRY                                                                = 0x00000005
  9535  	LOCALE_ICURRDIGITS                                                             = 0x00000019
  9536  	LOCALE_ICURRENCY                                                               = 0x0000001b
  9537  	LOCALE_IDATE                                                                   = 0x00000021
  9538  	LOCALE_IDAYLZERO                                                               = 0x00000026
  9539  	LOCALE_IDEFAULTANSICODEPAGE                                                    = 0x00001004
  9540  	LOCALE_IDEFAULTCODEPAGE                                                        = 0x0000000b
  9541  	LOCALE_IDEFAULTCOUNTRY                                                         = 0x0000000a
  9542  	LOCALE_IDEFAULTEBCDICCODEPAGE                                                  = 0x00001012
  9543  	LOCALE_IDEFAULTLANGUAGE                                                        = 0x00000009
  9544  	LOCALE_IDEFAULTMACCODEPAGE                                                     = 0x00001011
  9545  	LOCALE_IDIGITS                                                                 = 0x00000011
  9546  	LOCALE_IDIGITSUBSTITUTION                                                      = 0x00001014
  9547  	LOCALE_IFIRSTDAYOFWEEK                                                         = 0x0000100c
  9548  	LOCALE_IFIRSTWEEKOFYEAR                                                        = 0x0000100d
  9549  	LOCALE_IGEOID                                                                  = 0x0000005b
  9550  	LOCALE_IINTLCURRDIGITS                                                         = 0x0000001a
  9551  	LOCALE_ILANGUAGE                                                               = 0x00000001
  9552  	LOCALE_ILDATE                                                                  = 0x00000022
  9553  	LOCALE_ILZERO                                                                  = 0x00000012
  9554  	LOCALE_IMEASURE                                                                = 0x0000000d
  9555  	LOCALE_IMONLZERO                                                               = 0x00000027
  9556  	LOCALE_INEGCURR                                                                = 0x0000001c
  9557  	LOCALE_INEGNUMBER                                                              = 0x00001010
  9558  	LOCALE_INEGSEPBYSPACE                                                          = 0x00000057
  9559  	LOCALE_INEGSIGNPOSN                                                            = 0x00000053
  9560  	LOCALE_INEGSYMPRECEDES                                                         = 0x00000056
  9561  	LOCALE_IOPTIONALCALENDAR                                                       = 0x0000100b
  9562  	LOCALE_IPAPERSIZE                                                              = 0x0000100a
  9563  	LOCALE_IPOSSEPBYSPACE                                                          = 0x00000055
  9564  	LOCALE_IPOSSIGNPOSN                                                            = 0x00000052
  9565  	LOCALE_IPOSSYMPRECEDES                                                         = 0x00000054
  9566  	LOCALE_ITIME                                                                   = 0x00000023
  9567  	LOCALE_ITIMEMARKPOSN                                                           = 0x00001005
  9568  	LOCALE_ITLZERO                                                                 = 0x00000025
  9569  	LOCALE_NAME_MAX_LENGTH                                                         = 85
  9570  	LOCALE_NOUSEROVERRIDE                                                          = 0x80000000
  9571  	LOCALE_RETURN_NUMBER                                                           = 0x20000000
  9572  	LOCALE_S1159                                                                   = 0x00000028
  9573  	LOCALE_S2359                                                                   = 0x00000029
  9574  	LOCALE_SABBREVCTRYNAME                                                         = 0x00000007
  9575  	LOCALE_SABBREVDAYNAME1                                                         = 0x00000031
  9576  	LOCALE_SABBREVDAYNAME2                                                         = 0x00000032
  9577  	LOCALE_SABBREVDAYNAME3                                                         = 0x00000033
  9578  	LOCALE_SABBREVDAYNAME4                                                         = 0x00000034
  9579  	LOCALE_SABBREVDAYNAME5                                                         = 0x00000035
  9580  	LOCALE_SABBREVDAYNAME6                                                         = 0x00000036
  9581  	LOCALE_SABBREVDAYNAME7                                                         = 0x00000037
  9582  	LOCALE_SABBREVLANGNAME                                                         = 0x00000003
  9583  	LOCALE_SABBREVMONTHNAME1                                                       = 0x00000044
  9584  	LOCALE_SABBREVMONTHNAME10                                                      = 0x0000004d
  9585  	LOCALE_SABBREVMONTHNAME11                                                      = 0x0000004e
  9586  	LOCALE_SABBREVMONTHNAME12                                                      = 0x0000004f
  9587  	LOCALE_SABBREVMONTHNAME13                                                      = 0x0000100f
  9588  	LOCALE_SABBREVMONTHNAME2                                                       = 0x00000045
  9589  	LOCALE_SABBREVMONTHNAME3                                                       = 0x00000046
  9590  	LOCALE_SABBREVMONTHNAME4                                                       = 0x00000047
  9591  	LOCALE_SABBREVMONTHNAME5                                                       = 0x00000048
  9592  	LOCALE_SABBREVMONTHNAME6                                                       = 0x00000049
  9593  	LOCALE_SABBREVMONTHNAME7                                                       = 0x0000004a
  9594  	LOCALE_SABBREVMONTHNAME8                                                       = 0x0000004b
  9595  	LOCALE_SABBREVMONTHNAME9                                                       = 0x0000004c
  9596  	LOCALE_SCOUNTRY                                                                = 0x00000006
  9597  	LOCALE_SCURRENCY                                                               = 0x00000014
  9598  	LOCALE_SDATE                                                                   = 0x0000001d
  9599  	LOCALE_SDAYNAME1                                                               = 0x0000002a
  9600  	LOCALE_SDAYNAME2                                                               = 0x0000002b
  9601  	LOCALE_SDAYNAME3                                                               = 0x0000002c
  9602  	LOCALE_SDAYNAME4                                                               = 0x0000002d
  9603  	LOCALE_SDAYNAME5                                                               = 0x0000002e
  9604  	LOCALE_SDAYNAME6                                                               = 0x0000002f
  9605  	LOCALE_SDAYNAME7                                                               = 0x00000030
  9606  	LOCALE_SDECIMAL                                                                = 0x0000000e
  9607  	LOCALE_SENGCOUNTRY                                                             = 0x00001002
  9608  	LOCALE_SENGCURRNAME                                                            = 0x00001007
  9609  	LOCALE_SENGLANGUAGE                                                            = 0x00001001
  9610  	LOCALE_SENGLISHCOUNTRYNAME                                                     = 0x00001002
  9611  	LOCALE_SENGLISHLANGUAGENAME                                                    = 0x00001001
  9612  	LOCALE_SGROUPING                                                               = 0x00000010
  9613  	LOCALE_SINTLSYMBOL                                                             = 0x00000015
  9614  	LOCALE_SISO3166CTRYNAME                                                        = 0x0000005a
  9615  	LOCALE_SISO639LANGNAME                                                         = 0x00000059
  9616  	LOCALE_SLANGUAGE                                                               = 0x00000002
  9617  	LOCALE_SLIST                                                                   = 0x0000000c
  9618  	LOCALE_SLOCALIZEDCOUNTRYNAME                                                   = 0x00000006
  9619  	LOCALE_SLOCALIZEDDISPLAYNAME                                                   = 0x00000002
  9620  	LOCALE_SLONGDATE                                                               = 0x00000020
  9621  	LOCALE_SMONDECIMALSEP                                                          = 0x00000016
  9622  	LOCALE_SMONGROUPING                                                            = 0x00000018
  9623  	LOCALE_SMONTHNAME1                                                             = 0x00000038
  9624  	LOCALE_SMONTHNAME10                                                            = 0x00000041
  9625  	LOCALE_SMONTHNAME11                                                            = 0x00000042
  9626  	LOCALE_SMONTHNAME12                                                            = 0x00000043
  9627  	LOCALE_SMONTHNAME13                                                            = 0x0000100e
  9628  	LOCALE_SMONTHNAME2                                                             = 0x00000039
  9629  	LOCALE_SMONTHNAME3                                                             = 0x0000003a
  9630  	LOCALE_SMONTHNAME4                                                             = 0x0000003b
  9631  	LOCALE_SMONTHNAME5                                                             = 0x0000003c
  9632  	LOCALE_SMONTHNAME6                                                             = 0x0000003d
  9633  	LOCALE_SMONTHNAME7                                                             = 0x0000003e
  9634  	LOCALE_SMONTHNAME8                                                             = 0x0000003f
  9635  	LOCALE_SMONTHNAME9                                                             = 0x00000040
  9636  	LOCALE_SMONTHOUSANDSEP                                                         = 0x00000017
  9637  	LOCALE_SNATIVECOUNTRYNAME                                                      = 0x00000008
  9638  	LOCALE_SNATIVECTRYNAME                                                         = 0x00000008
  9639  	LOCALE_SNATIVECURRNAME                                                         = 0x00001008
  9640  	LOCALE_SNATIVEDIGITS                                                           = 0x00000013
  9641  	LOCALE_SNATIVELANGNAME                                                         = 0x00000004
  9642  	LOCALE_SNATIVELANGUAGENAME                                                     = 0x00000004
  9643  	LOCALE_SNEGATIVESIGN                                                           = 0x00000051
  9644  	LOCALE_SPOSITIVESIGN                                                           = 0x00000050
  9645  	LOCALE_SSHORTDATE                                                              = 0x0000001f
  9646  	LOCALE_SSORTNAME                                                               = 0x00001013
  9647  	LOCALE_STHOUSAND                                                               = 0x0000000f
  9648  	LOCALE_STIME                                                                   = 0x0000001e
  9649  	LOCALE_STIMEFORMAT                                                             = 0x00001003
  9650  	LOCALE_SYEARMONTH                                                              = 0x00001006
  9651  	LOCALE_USE_CP_ACP                                                              = 0x40000000
  9652  	LOCALE_USE_NLS                                                                 = 0x10000000
  9653  	LOCKFILE_EXCLUSIVE_LOCK                                                        = 0x2
  9654  	LOCKFILE_FAIL_IMMEDIATELY                                                      = 0x1
  9655  	LOCK_ELEMENT                                                                   = 0
  9656  	LOCK_UNLOCK_DOOR                                                               = 0x02
  9657  	LOCK_UNLOCK_IEPORT                                                             = 0x01
  9658  	LOCK_UNLOCK_KEYPAD                                                             = 0x04
  9659  	LOGON32_LOGON_BATCH                                                            = 4
  9660  	LOGON32_LOGON_INTERACTIVE                                                      = 2
  9661  	LOGON32_LOGON_NETWORK                                                          = 3
  9662  	LOGON32_LOGON_NETWORK_CLEARTEXT                                                = 8
  9663  	LOGON32_LOGON_NEW_CREDENTIALS                                                  = 9
  9664  	LOGON32_LOGON_SERVICE                                                          = 5
  9665  	LOGON32_LOGON_UNLOCK                                                           = 7
  9666  	LOGON32_PROVIDER_DEFAULT                                                       = 0
  9667  	LOGON32_PROVIDER_WINNT35                                                       = 1
  9668  	LOGON32_PROVIDER_WINNT40                                                       = 2
  9669  	LOGON32_PROVIDER_WINNT50                                                       = 3
  9670  	LOGON_NETCREDENTIALS_ONLY                                                      = 0x00000002
  9671  	LOGON_WITH_PROFILE                                                             = 0x00000001
  9672  	LOGON_ZERO_PASSWORD_BUFFER                                                     = 0x80000000
  9673  	LOGPIXELSX                                                                     = 88
  9674  	LOGPIXELSY                                                                     = 90
  9675  	LOW_SURROGATE_END                                                              = 0xdfff
  9676  	LOW_SURROGATE_START                                                            = 0xdc00
  9677  	LPD_DOUBLEBUFFER                                                               = 0x00000001
  9678  	LPD_SHARE_ACCUM                                                                = 0x00000100
  9679  	LPD_SHARE_DEPTH                                                                = 0x00000040
  9680  	LPD_SHARE_STENCIL                                                              = 0x00000080
  9681  	LPD_STEREO                                                                     = 0x00000002
  9682  	LPD_SUPPORT_GDI                                                                = 0x00000010
  9683  	LPD_SUPPORT_OPENGL                                                             = 0x00000020
  9684  	LPD_SWAP_COPY                                                                  = 0x00000400
  9685  	LPD_SWAP_EXCHANGE                                                              = 0x00000200
  9686  	LPD_TRANSPARENT                                                                = 0x00001000
  9687  	LPD_TYPE_COLORINDEX                                                            = 1
  9688  	LPD_TYPE_RGBA                                                                  = 0
  9689  	LPTR                                                                           = 64
  9690  	LPTx                                                                           = 0x80
  9691  	LR_COLOR                                                                       = 0x0002
  9692  	LR_COPYDELETEORG                                                               = 0x0008
  9693  	LR_COPYFROMRESOURCE                                                            = 0x4000
  9694  	LR_COPYRETURNORG                                                               = 0x0004
  9695  	LR_CREATEDIBSECTION                                                            = 0x2000
  9696  	LR_DEFAULTCOLOR                                                                = 0x0000
  9697  	LR_DEFAULTSIZE                                                                 = 0x0040
  9698  	LR_LOADFROMFILE                                                                = 0x0010
  9699  	LR_LOADMAP3DCOLORS                                                             = 0x1000
  9700  	LR_LOADTRANSPARENT                                                             = 0x0020
  9701  	LR_MONOCHROME                                                                  = 0x0001
  9702  	LR_SHARED                                                                      = 0x8000
  9703  	LR_VGACOLOR                                                                    = 0x0080
  9704  	LSFW_LOCK                                                                      = 1
  9705  	LSFW_UNLOCK                                                                    = 2
  9706  	LTGRAY_BRUSH                                                                   = 1
  9707  	LTP_PC_SMT                                                                     = 0x1
  9708  	LUA_TOKEN                                                                      = 0x4
  9709  	LWA_ALPHA                                                                      = 0x00000002
  9710  	LWA_COLORKEY                                                                   = 0x00000001
  9711  	LZERROR_BADINHANDLE                                                            = -1
  9712  	LZERROR_BADOUTHANDLE                                                           = -2
  9713  	LZERROR_BADVALUE                                                               = -7
  9714  	LZERROR_GLOBALLOC                                                              = -5
  9715  	LZERROR_GLOBLOCK                                                               = -6
  9716  	LZERROR_READ                                                                   = -3
  9717  	LZERROR_UNKNOWNALG                                                             = -8
  9718  	LZERROR_WRITE                                                                  = -4
  9719  	MAC_CHARSET                                                                    = 77
  9720  	MAPVK_VK_TO_CHAR                                                               = 2
  9721  	MAPVK_VK_TO_VSC                                                                = 0
  9722  	MAPVK_VSC_TO_VK                                                                = 1
  9723  	MAPVK_VSC_TO_VK_EX                                                             = 3
  9724  	MAP_COMPOSITE                                                                  = 0x00000040
  9725  	MAP_EXPAND_LIGATURES                                                           = 0x00002000
  9726  	MAP_FOLDCZONE                                                                  = 0x00000010
  9727  	MAP_FOLDDIGITS                                                                 = 0x00000080
  9728  	MAP_PRECOMPOSED                                                                = 0x00000020
  9729  	MARKPARITY                                                                     = 3
  9730  	MARK_HANDLE_NOT_REALTIME                                                       = 64
  9731  	MARK_HANDLE_NOT_TXF_SYSTEM_LOG                                                 = 8
  9732  	MARK_HANDLE_PROTECT_CLUSTERS                                                   = 1
  9733  	MARK_HANDLE_REALTIME                                                           = 32
  9734  	MARK_HANDLE_TXF_SYSTEM_LOG                                                     = 4
  9735  	MARSHALINTERFACE_MIN                                                           = 500
  9736  	MARSHAL_E_FIRST                                                                = 2147746080
  9737  	MARSHAL_E_LAST                                                                 = 2147746095
  9738  	MARSHAL_S_FIRST                                                                = 262432
  9739  	MARSHAL_S_LAST                                                                 = 262447
  9740  	MASK_TO_RESET_TLB_BITS                                                         = -97
  9741  	MAXBYTE                                                                        = 0xff
  9742  	MAXCHAR                                                                        = 0x7f
  9743  	MAXDWORD                                                                       = 0xffffffff
  9744  	MAXERRORLENGTH                                                                 = 256
  9745  	MAXGETHOSTSTRUCT                                                               = 1024
  9746  	MAXIMUM_ALLOWED                                                                = 33554432
  9747  	MAXIMUM_ATTR_STRING_LENGTH                                                     = 32
  9748  	MAXIMUM_ENCRYPTION_VALUE                                                       = 0x00000004
  9749  	MAXIMUM_PROCESSORS                                                             = 64
  9750  	MAXIMUM_PROC_PER_GROUP                                                         = 64
  9751  	MAXIMUM_REPARSE_DATA_BUFFER_SIZE                                               = 16384
  9752  	MAXIMUM_SMARTCARD_READERS                                                      = 10
  9753  	MAXIMUM_SUSPEND_COUNT                                                          = 127
  9754  	MAXIMUM_WAIT_OBJECTS                                                           = 64
  9755  	MAXIMUM_XSTATE_FEATURES                                                        = 64
  9756  	MAXINTATOM                                                                     = 0xc000
  9757  	MAXLOGICALLOGNAMESIZE                                                          = 256
  9758  	MAXLONG                                                                        = 0x7fffffff
  9759  	MAXLONGLONG                                                                    = 9223372036854775807
  9760  	MAXPNAMELEN                                                                    = 32
  9761  	MAXPROPPAGES                                                                   = 100
  9762  	MAXSHORT                                                                       = 0x7fff
  9763  	MAXSTRETCHBLTMODE                                                              = 4
  9764  	MAXUIDLEN                                                                      = 64
  9765  	MAXWORD                                                                        = 0xffff
  9766  	MAX_ACL_REVISION                                                               = 4
  9767  	MAX_COMPUTERNAME_LENGTH                                                        = 15
  9768  	MAX_DEFAULTCHAR                                                                = 2
  9769  	MAX_HW_COUNTERS                                                                = 16
  9770  	MAX_JOYSTICKOEMVXDNAME                                                         = 260
  9771  	MAX_LANA                                                                       = 254
  9772  	MAX_LEADBYTES                                                                  = 12
  9773  	MAX_MONITORS                                                                   = 4
  9774  	MAX_NUM_REASONS                                                                = 256
  9775  	MAX_PATH                                                                       = 260
  9776  	MAX_PERF_OBJECTS_IN_QUERY_FUNCTION                                             = 64
  9777  	MAX_PRIORITY                                                                   = 99
  9778  	MAX_PROFILE_LEN                                                                = 80
  9779  	MAX_REASON_BUGID_LEN                                                           = 32
  9780  	MAX_REASON_COMMENT_LEN                                                         = 512
  9781  	MAX_REASON_DESC_LEN                                                            = 256
  9782  	MAX_REASON_NAME_LEN                                                            = 64
  9783  	MAX_RESOURCEMANAGER_DESCRIPTION_LENGTH                                         = 64
  9784  	MAX_SHUTDOWN_TIMEOUT                                                           = 315360000
  9785  	MAX_SID_SIZE                                                                   = 256
  9786  	MAX_SIZE_SECURITY_ID                                                           = 512
  9787  	MAX_STR_BLOCKREASON                                                            = 256
  9788  	MAX_SUPPORTED_OS_NUM                                                           = 4
  9789  	MAX_TRANSACTION_DESCRIPTION_LENGTH                                             = 64
  9790  	MAX_VOLUME_ID_SIZE                                                             = 36
  9791  	MAX_VOLUME_TEMPLATE_SIZE                                                       = 40
  9792  	MA_ACTIVATE                                                                    = 1
  9793  	MA_ACTIVATEANDEAT                                                              = 2
  9794  	MA_NOACTIVATE                                                                  = 3
  9795  	MA_NOACTIVATEANDEAT                                                            = 4
  9796  	MB_ABORTRETRYIGNORE                                                            = 2
  9797  	MB_APPLMODAL                                                                   = 0
  9798  	MB_CANCELTRYCONTINUE                                                           = 6
  9799  	MB_COMPOSITE                                                                   = 0x00000002
  9800  	MB_DEFAULT_DESKTOP_ONLY                                                        = 131072
  9801  	MB_DEFBUTTON1                                                                  = 0
  9802  	MB_DEFBUTTON2                                                                  = 256
  9803  	MB_DEFBUTTON3                                                                  = 512
  9804  	MB_DEFBUTTON4                                                                  = 768
  9805  	MB_DEFMASK                                                                     = 3840
  9806  	MB_ERR_INVALID_CHARS                                                           = 0x00000008
  9807  	MB_HELP                                                                        = 16384
  9808  	MB_ICONASTERISK                                                                = 64
  9809  	MB_ICONERROR                                                                   = 16
  9810  	MB_ICONEXCLAMATION                                                             = 48
  9811  	MB_ICONHAND                                                                    = 16
  9812  	MB_ICONINFORMATION                                                             = 64
  9813  	MB_ICONMASK                                                                    = 240
  9814  	MB_ICONQUESTION                                                                = 32
  9815  	MB_ICONSTOP                                                                    = 16
  9816  	MB_ICONWARNING                                                                 = 48
  9817  	MB_MISCMASK                                                                    = 49152
  9818  	MB_MODEMASK                                                                    = 12288
  9819  	MB_NOFOCUS                                                                     = 32768
  9820  	MB_OK                                                                          = 0
  9821  	MB_OKCANCEL                                                                    = 1
  9822  	MB_PRECOMPOSED                                                                 = 0x00000001
  9823  	MB_RETRYCANCEL                                                                 = 5
  9824  	MB_RIGHT                                                                       = 524288
  9825  	MB_RTLREADING                                                                  = 1048576
  9826  	MB_SERVICE_NOTIFICATION                                                        = 2097152
  9827  	MB_SERVICE_NOTIFICATION_NT3X                                                   = 262144
  9828  	MB_SETFOREGROUND                                                               = 65536
  9829  	MB_SYSTEMMODAL                                                                 = 4096
  9830  	MB_TASKMODAL                                                                   = 8192
  9831  	MB_TOPMOST                                                                     = 262144
  9832  	MB_TYPEMASK                                                                    = 15
  9833  	MB_USEGLYPHCHARS                                                               = 0x00000004
  9834  	MB_USERICON                                                                    = 128
  9835  	MB_YESNO                                                                       = 4
  9836  	MB_YESNOCANCEL                                                                 = 3
  9837  	MCIERR_BAD_CONSTANT                                                            = 290
  9838  	MCIERR_BAD_INTEGER                                                             = 270
  9839  	MCIERR_BAD_TIME_FORMAT                                                         = 293
  9840  	MCIERR_BASE                                                                    = 256
  9841  	MCIERR_CANNOT_LOAD_DRIVER                                                      = 266
  9842  	MCIERR_CANNOT_USE_ALL                                                          = 279
  9843  	MCIERR_CREATEWINDOW                                                            = 347
  9844  	MCIERR_CUSTOM_DRIVER_BASE                                                      = 512
  9845  	MCIERR_DEVICE_LENGTH                                                           = 310
  9846  	MCIERR_DEVICE_LOCKED                                                           = 288
  9847  	MCIERR_DEVICE_NOT_INSTALLED                                                    = 306
  9848  	MCIERR_DEVICE_NOT_READY                                                        = 276
  9849  	MCIERR_DEVICE_OPEN                                                             = 265
  9850  	MCIERR_DEVICE_ORD_LENGTH                                                       = 311
  9851  	MCIERR_DEVICE_TYPE_REQUIRED                                                    = 287
  9852  	MCIERR_DRIVER                                                                  = 278
  9853  	MCIERR_DRIVER_INTERNAL                                                         = 272
  9854  	MCIERR_DUPLICATE_ALIAS                                                         = 289
  9855  	MCIERR_DUPLICATE_FLAGS                                                         = 295
  9856  	MCIERR_EXTENSION_NOT_FOUND                                                     = 281
  9857  	MCIERR_EXTRA_CHARACTERS                                                        = 305
  9858  	MCIERR_FILENAME_REQUIRED                                                       = 304
  9859  	MCIERR_FILE_NOT_FOUND                                                          = 275
  9860  	MCIERR_FILE_NOT_SAVED                                                          = 286
  9861  	MCIERR_FILE_READ                                                               = 348
  9862  	MCIERR_FILE_WRITE                                                              = 349
  9863  	MCIERR_FLAGS_NOT_COMPATIBLE                                                    = 284
  9864  	MCIERR_GET_CD                                                                  = 307
  9865  	MCIERR_HARDWARE                                                                = 262
  9866  	MCIERR_ILLEGAL_FOR_AUTO_OPEN                                                   = 303
  9867  	MCIERR_INTERNAL                                                                = 277
  9868  	MCIERR_INVALID_DEVICE_ID                                                       = 257
  9869  	MCIERR_INVALID_DEVICE_NAME                                                     = 263
  9870  	MCIERR_INVALID_FILE                                                            = 296
  9871  	MCIERR_MISSING_COMMAND_STRING                                                  = 267
  9872  	MCIERR_MISSING_DEVICE_NAME                                                     = 292
  9873  	MCIERR_MISSING_PARAMETER                                                       = 273
  9874  	MCIERR_MISSING_STRING_ARGUMENT                                                 = 269
  9875  	MCIERR_MULTIPLE                                                                = 280
  9876  	MCIERR_MUST_USE_SHAREABLE                                                      = 291
  9877  	MCIERR_NEW_REQUIRES_ALIAS                                                      = 299
  9878  	MCIERR_NONAPPLICABLE_FUNCTION                                                  = 302
  9879  	MCIERR_NOTIFY_ON_AUTO_OPEN                                                     = 300
  9880  	MCIERR_NO_CLOSING_QUOTE                                                        = 294
  9881  	MCIERR_NO_ELEMENT_ALLOWED                                                      = 301
  9882  	MCIERR_NO_IDENTITY                                                             = 350
  9883  	MCIERR_NO_INTEGER                                                              = 312
  9884  	MCIERR_NO_WINDOW                                                               = 346
  9885  	MCIERR_NULL_PARAMETER_BLOCK                                                    = 297
  9886  	MCIERR_OUTOFRANGE                                                              = 282
  9887  	MCIERR_OUT_OF_MEMORY                                                           = 264
  9888  	MCIERR_PARAM_OVERFLOW                                                          = 268
  9889  	MCIERR_PARSER_INTERNAL                                                         = 271
  9890  	MCIERR_SEQ_DIV_INCOMPATIBLE                                                    = 336
  9891  	MCIERR_SEQ_NOMIDIPRESENT                                                       = 343
  9892  	MCIERR_SEQ_PORTUNSPECIFIED                                                     = 342
  9893  	MCIERR_SEQ_PORT_INUSE                                                          = 337
  9894  	MCIERR_SEQ_PORT_MAPNODEVICE                                                    = 339
  9895  	MCIERR_SEQ_PORT_MISCERROR                                                      = 340
  9896  	MCIERR_SEQ_PORT_NONEXISTENT                                                    = 338
  9897  	MCIERR_SEQ_TIMER                                                               = 341
  9898  	MCIERR_SET_CD                                                                  = 308
  9899  	MCIERR_SET_DRIVE                                                               = 309
  9900  	MCIERR_UNNAMED_RESOURCE                                                        = 298
  9901  	MCIERR_UNRECOGNIZED_COMMAND                                                    = 261
  9902  	MCIERR_UNRECOGNIZED_KEYWORD                                                    = 259
  9903  	MCIERR_UNSUPPORTED_FUNCTION                                                    = 274
  9904  	MCIERR_WAVE_INPUTSINUSE                                                        = 322
  9905  	MCIERR_WAVE_INPUTSUNSUITABLE                                                   = 328
  9906  	MCIERR_WAVE_INPUTUNSPECIFIED                                                   = 325
  9907  	MCIERR_WAVE_OUTPUTSINUSE                                                       = 320
  9908  	MCIERR_WAVE_OUTPUTSUNSUITABLE                                                  = 326
  9909  	MCIERR_WAVE_OUTPUTUNSPECIFIED                                                  = 324
  9910  	MCIERR_WAVE_SETINPUTINUSE                                                      = 323
  9911  	MCIERR_WAVE_SETINPUTUNSUITABLE                                                 = 329
  9912  	MCIERR_WAVE_SETOUTPUTINUSE                                                     = 321
  9913  	MCIERR_WAVE_SETOUTPUTUNSUITABLE                                                = 327
  9914  	MCI_ANIM_GETDEVCAPS_CAN_REVERSE                                                = 16385
  9915  	MCI_ANIM_GETDEVCAPS_CAN_STRETCH                                                = 16391
  9916  	MCI_ANIM_GETDEVCAPS_FAST_RATE                                                  = 16386
  9917  	MCI_ANIM_GETDEVCAPS_MAX_WINDOWS                                                = 16392
  9918  	MCI_ANIM_GETDEVCAPS_NORMAL_RATE                                                = 16388
  9919  	MCI_ANIM_GETDEVCAPS_PALETTES                                                   = 16390
  9920  	MCI_ANIM_GETDEVCAPS_SLOW_RATE                                                  = 16387
  9921  	MCI_ANIM_INFO_TEXT                                                             = 65536
  9922  	MCI_ANIM_OPEN_NOSTATIC                                                         = 262144
  9923  	MCI_ANIM_OPEN_PARENT                                                           = 131072
  9924  	MCI_ANIM_OPEN_WS                                                               = 65536
  9925  	MCI_ANIM_PLAY_FAST                                                             = 262144
  9926  	MCI_ANIM_PLAY_REVERSE                                                          = 131072
  9927  	MCI_ANIM_PLAY_SCAN                                                             = 1048576
  9928  	MCI_ANIM_PLAY_SLOW                                                             = 524288
  9929  	MCI_ANIM_PLAY_SPEED                                                            = 65536
  9930  	MCI_ANIM_PUT_DESTINATION                                                       = 262144
  9931  	MCI_ANIM_PUT_SOURCE                                                            = 131072
  9932  	MCI_ANIM_REALIZE_BKGD                                                          = 131072
  9933  	MCI_ANIM_REALIZE_NORM                                                          = 65536
  9934  	MCI_ANIM_RECT                                                                  = 65536
  9935  	MCI_ANIM_STATUS_FORWARD                                                        = 16386
  9936  	MCI_ANIM_STATUS_HPAL                                                           = 16388
  9937  	MCI_ANIM_STATUS_HWND                                                           = 16387
  9938  	MCI_ANIM_STATUS_SPEED                                                          = 16385
  9939  	MCI_ANIM_STATUS_STRETCH                                                        = 16389
  9940  	MCI_ANIM_STEP_FRAMES                                                           = 131072
  9941  	MCI_ANIM_STEP_REVERSE                                                          = 65536
  9942  	MCI_ANIM_UPDATE_HDC                                                            = 131072
  9943  	MCI_ANIM_WHERE_DESTINATION                                                     = 262144
  9944  	MCI_ANIM_WHERE_SOURCE                                                          = 131072
  9945  	MCI_ANIM_WINDOW_DEFAULT                                                        = 0
  9946  	MCI_ANIM_WINDOW_DISABLE_STRETCH                                                = 2097152
  9947  	MCI_ANIM_WINDOW_ENABLE_STRETCH                                                 = 1048576
  9948  	MCI_ANIM_WINDOW_HWND                                                           = 65536
  9949  	MCI_ANIM_WINDOW_STATE                                                          = 262144
  9950  	MCI_ANIM_WINDOW_TEXT                                                           = 524288
  9951  	MCI_BREAK                                                                      = 0x0811
  9952  	MCI_BREAK_HWND                                                                 = 512
  9953  	MCI_BREAK_KEY                                                                  = 256
  9954  	MCI_BREAK_OFF                                                                  = 1024
  9955  	MCI_CDA_STATUS_TYPE_TRACK                                                      = 16385
  9956  	MCI_CDA_TRACK_AUDIO                                                            = 1088
  9957  	MCI_CDA_TRACK_OTHER                                                            = 1089
  9958  	MCI_CD_OFFSET                                                                  = 1088
  9959  	MCI_CLOSE                                                                      = 0x0804
  9960  	MCI_COPY                                                                       = 0x0852
  9961  	MCI_CUE                                                                        = 0x0830
  9962  	MCI_CUT                                                                        = 0x0851
  9963  	MCI_DELETE                                                                     = 0x0856
  9964  	MCI_DEVTYPE_ANIMATION                                                          = 519
  9965  	MCI_DEVTYPE_CD_AUDIO                                                           = 516
  9966  	MCI_DEVTYPE_DAT                                                                = 517
  9967  	MCI_DEVTYPE_DIGITAL_VIDEO                                                      = 520
  9968  	MCI_DEVTYPE_FIRST                                                              = 513
  9969  	MCI_DEVTYPE_FIRST_USER                                                         = 0x1000
  9970  	MCI_DEVTYPE_LAST                                                               = 523
  9971  	MCI_DEVTYPE_OTHER                                                              = 521
  9972  	MCI_DEVTYPE_OVERLAY                                                            = 515
  9973  	MCI_DEVTYPE_SCANNER                                                            = 518
  9974  	MCI_DEVTYPE_SEQUENCER                                                          = 523
  9975  	MCI_DEVTYPE_VCR                                                                = 513
  9976  	MCI_DEVTYPE_VIDEODISC                                                          = 514
  9977  	MCI_DEVTYPE_WAVEFORM_AUDIO                                                     = 522
  9978  	MCI_ESCAPE                                                                     = 0x0805
  9979  	MCI_FIRST                                                                      = 2048
  9980  	MCI_FORMAT_BYTES                                                               = 8
  9981  	MCI_FORMAT_FRAMES                                                              = 3
  9982  	MCI_FORMAT_HMS                                                                 = 1
  9983  	MCI_FORMAT_MILLISECONDS                                                        = 0
  9984  	MCI_FORMAT_MSF                                                                 = 2
  9985  	MCI_FORMAT_SAMPLES                                                             = 9
  9986  	MCI_FORMAT_SMPTE_24                                                            = 4
  9987  	MCI_FORMAT_SMPTE_25                                                            = 5
  9988  	MCI_FORMAT_SMPTE_30                                                            = 6
  9989  	MCI_FORMAT_SMPTE_30DROP                                                        = 7
  9990  	MCI_FORMAT_TMSF                                                                = 10
  9991  	MCI_FREEZE                                                                     = 0x0844
  9992  	MCI_FROM                                                                       = 4
  9993  	MCI_GETDEVCAPS                                                                 = 0x080B
  9994  	MCI_GETDEVCAPS_CAN_EJECT                                                       = 7
  9995  	MCI_GETDEVCAPS_CAN_PLAY                                                        = 8
  9996  	MCI_GETDEVCAPS_CAN_RECORD                                                      = 1
  9997  	MCI_GETDEVCAPS_CAN_SAVE                                                        = 9
  9998  	MCI_GETDEVCAPS_COMPOUND_DEVICE                                                 = 6
  9999  	MCI_GETDEVCAPS_DEVICE_TYPE                                                     = 4
 10000  	MCI_GETDEVCAPS_HAS_AUDIO                                                       = 2
 10001  	MCI_GETDEVCAPS_HAS_VIDEO                                                       = 3
 10002  	MCI_GETDEVCAPS_ITEM                                                            = 256
 10003  	MCI_GETDEVCAPS_USES_FILES                                                      = 5
 10004  	MCI_INFO                                                                       = 0x080A
 10005  	MCI_INFO_COPYRIGHT                                                             = 8192
 10006  	MCI_INFO_FILE                                                                  = 512
 10007  	MCI_INFO_MEDIA_IDENTITY                                                        = 2048
 10008  	MCI_INFO_MEDIA_UPC                                                             = 1024
 10009  	MCI_INFO_NAME                                                                  = 4096
 10010  	MCI_INFO_PRODUCT                                                               = 256
 10011  	MCI_LAST                                                                       = 0x0FFF
 10012  	MCI_LOAD                                                                       = 0x0850
 10013  	MCI_LOAD_FILE                                                                  = 256
 10014  	MCI_MODE_NOT_READY                                                             = 524
 10015  	MCI_MODE_OPEN                                                                  = 530
 10016  	MCI_MODE_PAUSE                                                                 = 529
 10017  	MCI_MODE_PLAY                                                                  = 526
 10018  	MCI_MODE_RECORD                                                                = 527
 10019  	MCI_MODE_SEEK                                                                  = 528
 10020  	MCI_MODE_STOP                                                                  = 525
 10021  	MCI_NOTIFY                                                                     = 1
 10022  	MCI_NOTIFY_ABORTED                                                             = 0x0004
 10023  	MCI_NOTIFY_FAILURE                                                             = 0x0008
 10024  	MCI_NOTIFY_SUCCESSFUL                                                          = 0x0001
 10025  	MCI_NOTIFY_SUPERSEDED                                                          = 0x0002
 10026  	MCI_OPEN                                                                       = 0x0803
 10027  	MCI_OPEN_ALIAS                                                                 = 1024
 10028  	MCI_OPEN_ELEMENT                                                               = 512
 10029  	MCI_OPEN_ELEMENT_ID                                                            = 2048
 10030  	MCI_OPEN_SHAREABLE                                                             = 256
 10031  	MCI_OPEN_TYPE                                                                  = 8192
 10032  	MCI_OPEN_TYPE_ID                                                               = 4096
 10033  	MCI_OVLY_GETDEVCAPS_CAN_FREEZE                                                 = 16386
 10034  	MCI_OVLY_GETDEVCAPS_CAN_STRETCH                                                = 16385
 10035  	MCI_OVLY_GETDEVCAPS_MAX_WINDOWS                                                = 16387
 10036  	MCI_OVLY_INFO_TEXT                                                             = 65536
 10037  	MCI_OVLY_OPEN_PARENT                                                           = 131072
 10038  	MCI_OVLY_OPEN_WS                                                               = 65536
 10039  	MCI_OVLY_PUT_DESTINATION                                                       = 262144
 10040  	MCI_OVLY_PUT_FRAME                                                             = 524288
 10041  	MCI_OVLY_PUT_SOURCE                                                            = 131072
 10042  	MCI_OVLY_PUT_VIDEO                                                             = 1048576
 10043  	MCI_OVLY_RECT                                                                  = 65536
 10044  	MCI_OVLY_STATUS_HWND                                                           = 16385
 10045  	MCI_OVLY_STATUS_STRETCH                                                        = 16386
 10046  	MCI_OVLY_WHERE_DESTINATION                                                     = 262144
 10047  	MCI_OVLY_WHERE_FRAME                                                           = 524288
 10048  	MCI_OVLY_WHERE_SOURCE                                                          = 131072
 10049  	MCI_OVLY_WHERE_VIDEO                                                           = 1048576
 10050  	MCI_OVLY_WINDOW_DEFAULT                                                        = 0
 10051  	MCI_OVLY_WINDOW_DISABLE_STRETCH                                                = 2097152
 10052  	MCI_OVLY_WINDOW_ENABLE_STRETCH                                                 = 1048576
 10053  	MCI_OVLY_WINDOW_HWND                                                           = 65536
 10054  	MCI_OVLY_WINDOW_STATE                                                          = 262144
 10055  	MCI_OVLY_WINDOW_TEXT                                                           = 524288
 10056  	MCI_PASTE                                                                      = 0x0853
 10057  	MCI_PAUSE                                                                      = 0x0809
 10058  	MCI_PLAY                                                                       = 0x0806
 10059  	MCI_PUT                                                                        = 0x0842
 10060  	MCI_REALIZE                                                                    = 0x0840
 10061  	MCI_RECORD                                                                     = 0x080F
 10062  	MCI_RECORD_INSERT                                                              = 256
 10063  	MCI_RECORD_OVERWRITE                                                           = 512
 10064  	MCI_RESUME                                                                     = 0x0855
 10065  	MCI_SAVE                                                                       = 0x0813
 10066  	MCI_SAVE_FILE                                                                  = 256
 10067  	MCI_SEEK                                                                       = 0x0807
 10068  	MCI_SEEK_TO_END                                                                = 512
 10069  	MCI_SEEK_TO_START                                                              = 256
 10070  	MCI_SEQ_DIV_PPQN                                                               = 1216
 10071  	MCI_SEQ_DIV_SMPTE_24                                                           = 1217
 10072  	MCI_SEQ_DIV_SMPTE_25                                                           = 1218
 10073  	MCI_SEQ_DIV_SMPTE_30                                                           = 1220
 10074  	MCI_SEQ_DIV_SMPTE_30DROP                                                       = 1219
 10075  	MCI_SEQ_FILE                                                                   = 0x4002
 10076  	MCI_SEQ_FORMAT_SONGPTR                                                         = 0x4001
 10077  	MCI_SEQ_MAPPER                                                                 = 65535
 10078  	MCI_SEQ_MIDI                                                                   = 0x4003
 10079  	MCI_SEQ_NONE                                                                   = 65533
 10080  	MCI_SEQ_OFFSET                                                                 = 1216
 10081  	MCI_SEQ_SET_MASTER                                                             = 524288
 10082  	MCI_SEQ_SET_OFFSET                                                             = 16777216
 10083  	MCI_SEQ_SET_PORT                                                               = 131072
 10084  	MCI_SEQ_SET_SLAVE                                                              = 262144
 10085  	MCI_SEQ_SET_TEMPO                                                              = 65536
 10086  	MCI_SEQ_SMPTE                                                                  = 0x4004
 10087  	MCI_SEQ_STATUS_COPYRIGHT                                                       = 16396
 10088  	MCI_SEQ_STATUS_DIVTYPE                                                         = 16394
 10089  	MCI_SEQ_STATUS_MASTER                                                          = 16392
 10090  	MCI_SEQ_STATUS_NAME                                                            = 16395
 10091  	MCI_SEQ_STATUS_OFFSET                                                          = 16393
 10092  	MCI_SEQ_STATUS_PORT                                                            = 16387
 10093  	MCI_SEQ_STATUS_SLAVE                                                           = 16391
 10094  	MCI_SEQ_STATUS_TEMPO                                                           = 16386
 10095  	MCI_SET                                                                        = 0x080D
 10096  	MCI_SET_AUDIO                                                                  = 2048
 10097  	MCI_SET_AUDIO_ALL                                                              = 0
 10098  	MCI_SET_AUDIO_LEFT                                                             = 1
 10099  	MCI_SET_AUDIO_RIGHT                                                            = 2
 10100  	MCI_SET_DOOR_CLOSED                                                            = 512
 10101  	MCI_SET_DOOR_OPEN                                                              = 256
 10102  	MCI_SET_OFF                                                                    = 16384
 10103  	MCI_SET_ON                                                                     = 8192
 10104  	MCI_SET_TIME_FORMAT                                                            = 1024
 10105  	MCI_SET_VIDEO                                                                  = 4096
 10106  	MCI_SPIN                                                                       = 0x080C
 10107  	MCI_STATUS                                                                     = 0x0814
 10108  	MCI_STATUS_CURRENT_TRACK                                                       = 8
 10109  	MCI_STATUS_ITEM                                                                = 256
 10110  	MCI_STATUS_LENGTH                                                              = 1
 10111  	MCI_STATUS_MEDIA_PRESENT                                                       = 5
 10112  	MCI_STATUS_MODE                                                                = 4
 10113  	MCI_STATUS_NUMBER_OF_TRACKS                                                    = 3
 10114  	MCI_STATUS_POSITION                                                            = 2
 10115  	MCI_STATUS_READY                                                               = 7
 10116  	MCI_STATUS_START                                                               = 512
 10117  	MCI_STATUS_TIME_FORMAT                                                         = 6
 10118  	MCI_STEP                                                                       = 0x080E
 10119  	MCI_STOP                                                                       = 0x0808
 10120  	MCI_STRING_OFFSET                                                              = 512
 10121  	MCI_SYSINFO                                                                    = 0x0810
 10122  	MCI_SYSINFO_INSTALLNAME                                                        = 2048
 10123  	MCI_SYSINFO_NAME                                                               = 1024
 10124  	MCI_SYSINFO_OPEN                                                               = 512
 10125  	MCI_SYSINFO_QUANTITY                                                           = 256
 10126  	MCI_TO                                                                         = 8
 10127  	MCI_TRACK                                                                      = 16
 10128  	MCI_UNFREEZE                                                                   = 0x0845
 10129  	MCI_UPDATE                                                                     = 0x0854
 10130  	MCI_USER_MESSAGES                                                              = 3072
 10131  	MCI_VD_ESCAPE_STRING                                                           = 256
 10132  	MCI_VD_FORMAT_TRACK                                                            = 0x4001
 10133  	MCI_VD_GETDEVCAPS_CAN_REVERSE                                                  = 16386
 10134  	MCI_VD_GETDEVCAPS_CAV                                                          = 131072
 10135  	MCI_VD_GETDEVCAPS_CLV                                                          = 65536
 10136  	MCI_VD_GETDEVCAPS_FAST_RATE                                                    = 16387
 10137  	MCI_VD_GETDEVCAPS_NORMAL_RATE                                                  = 16389
 10138  	MCI_VD_GETDEVCAPS_SLOW_RATE                                                    = 16388
 10139  	MCI_VD_MEDIA_CAV                                                               = 1027
 10140  	MCI_VD_MEDIA_CLV                                                               = 1026
 10141  	MCI_VD_MEDIA_OTHER                                                             = 1028
 10142  	MCI_VD_MODE_PARK                                                               = 1025
 10143  	MCI_VD_OFFSET                                                                  = 1024
 10144  	MCI_VD_PLAY_FAST                                                               = 131072
 10145  	MCI_VD_PLAY_REVERSE                                                            = 65536
 10146  	MCI_VD_PLAY_SCAN                                                               = 524288
 10147  	MCI_VD_PLAY_SLOW                                                               = 1048576
 10148  	MCI_VD_PLAY_SPEED                                                              = 262144
 10149  	MCI_VD_SEEK_REVERSE                                                            = 65536
 10150  	MCI_VD_SPIN_DOWN                                                               = 131072
 10151  	MCI_VD_SPIN_UP                                                                 = 65536
 10152  	MCI_VD_STATUS_DISC_SIZE                                                        = 16390
 10153  	MCI_VD_STATUS_FORWARD                                                          = 16387
 10154  	MCI_VD_STATUS_MEDIA_TYPE                                                       = 16388
 10155  	MCI_VD_STATUS_SIDE                                                             = 16389
 10156  	MCI_VD_STATUS_SPEED                                                            = 16386
 10157  	MCI_VD_STEP_FRAMES                                                             = 65536
 10158  	MCI_VD_STEP_REVERSE                                                            = 131072
 10159  	MCI_WAIT                                                                       = 2
 10160  	MCI_WAVE_GETDEVCAPS_INPUTS                                                     = 16385
 10161  	MCI_WAVE_GETDEVCAPS_OUTPUTS                                                    = 16386
 10162  	MCI_WAVE_INPUT                                                                 = 4194304
 10163  	MCI_WAVE_MAPPER                                                                = 1153
 10164  	MCI_WAVE_OFFSET                                                                = 1152
 10165  	MCI_WAVE_OPEN_BUFFER                                                           = 65536
 10166  	MCI_WAVE_OUTPUT                                                                = 8388608
 10167  	MCI_WAVE_PCM                                                                   = 1152
 10168  	MCI_WAVE_SET_ANYINPUT                                                          = 67108864
 10169  	MCI_WAVE_SET_ANYOUTPUT                                                         = 134217728
 10170  	MCI_WAVE_SET_AVGBYTESPERSEC                                                    = 524288
 10171  	MCI_WAVE_SET_BITSPERSAMPLE                                                     = 2097152
 10172  	MCI_WAVE_SET_BLOCKALIGN                                                        = 1048576
 10173  	MCI_WAVE_SET_CHANNELS                                                          = 131072
 10174  	MCI_WAVE_SET_FORMATTAG                                                         = 65536
 10175  	MCI_WAVE_SET_SAMPLESPERSEC                                                     = 262144
 10176  	MCI_WAVE_STATUS_AVGBYTESPERSEC                                                 = 16388
 10177  	MCI_WAVE_STATUS_BITSPERSAMPLE                                                  = 16390
 10178  	MCI_WAVE_STATUS_BLOCKALIGN                                                     = 16389
 10179  	MCI_WAVE_STATUS_CHANNELS                                                       = 16386
 10180  	MCI_WAVE_STATUS_FORMATTAG                                                      = 16385
 10181  	MCI_WAVE_STATUS_LEVEL                                                          = 16391
 10182  	MCI_WAVE_STATUS_SAMPLESPERSEC                                                  = 16387
 10183  	MCI_WHERE                                                                      = 0x0843
 10184  	MCI_WINDOW                                                                     = 0x0841
 10185  	MDIS_ALLCHILDSTYLES                                                            = 0x0001
 10186  	MDITILE_HORIZONTAL                                                             = 0x0001
 10187  	MDITILE_SKIPDISABLED                                                           = 0x0002
 10188  	MDITILE_VERTICAL                                                               = 0x0000
 10189  	MDITILE_ZORDER                                                                 = 0x0004
 10190  	MDMSPKRFLAG_CALLSETUP                                                          = 0x00000008
 10191  	MDMSPKRFLAG_DIAL                                                               = 0x00000002
 10192  	MDMSPKRFLAG_OFF                                                                = 0x00000001
 10193  	MDMSPKRFLAG_ON                                                                 = 0x00000004
 10194  	MDMSPKR_CALLSETUP                                                              = 0x00000003
 10195  	MDMSPKR_DIAL                                                                   = 0x00000001
 10196  	MDMSPKR_OFF                                                                    = 0x00000000
 10197  	MDMSPKR_ON                                                                     = 0x00000002
 10198  	MDMVOLFLAG_HIGH                                                                = 0x00000004
 10199  	MDMVOLFLAG_LOW                                                                 = 0x00000001
 10200  	MDMVOLFLAG_MEDIUM                                                              = 0x00000002
 10201  	MDMVOL_HIGH                                                                    = 0x00000002
 10202  	MDMVOL_LOW                                                                     = 0x00000000
 10203  	MDMVOL_MEDIUM                                                                  = 0x00000001
 10204  	MDM_ANALOG_RLP_OFF                                                             = 0x1
 10205  	MDM_ANALOG_RLP_ON                                                              = 0x0
 10206  	MDM_ANALOG_V34                                                                 = 0x2
 10207  	MDM_AUTO_ML_2                                                                  = 0x2
 10208  	MDM_AUTO_ML_DEFAULT                                                            = 0x0
 10209  	MDM_AUTO_ML_NONE                                                               = 0x1
 10210  	MDM_AUTO_SPEED_DEFAULT                                                         = 0x0
 10211  	MDM_BEARERMODE_ANALOG                                                          = 0x0
 10212  	MDM_BEARERMODE_GSM                                                             = 0x2
 10213  	MDM_BEARERMODE_ISDN                                                            = 0x1
 10214  	MDM_BLIND_DIAL                                                                 = 0x00000200
 10215  	MDM_CCITT_OVERRIDE                                                             = 0x00000040
 10216  	MDM_CELLULAR                                                                   = 0x00000008
 10217  	MDM_COMPRESSION                                                                = 0x00000001
 10218  	MDM_DIAGNOSTICS                                                                = 0x00000800
 10219  	MDM_ERROR_CONTROL                                                              = 0x00000002
 10220  	MDM_FLOWCONTROL_HARD                                                           = 0x00000010
 10221  	MDM_FLOWCONTROL_SOFT                                                           = 0x00000020
 10222  	MDM_FORCED_EC                                                                  = 0x00000004
 10223  	MDM_HDLCPPP_AUTH_CHAP                                                          = 0x3
 10224  	MDM_HDLCPPP_AUTH_DEFAULT                                                       = 0x0
 10225  	MDM_HDLCPPP_AUTH_MSCHAP                                                        = 0x4
 10226  	MDM_HDLCPPP_AUTH_NONE                                                          = 0x1
 10227  	MDM_HDLCPPP_AUTH_PAP                                                           = 0x2
 10228  	MDM_HDLCPPP_ML_2                                                               = 0x2
 10229  	MDM_HDLCPPP_ML_DEFAULT                                                         = 0x0
 10230  	MDM_HDLCPPP_ML_NONE                                                            = 0x1
 10231  	MDM_HDLCPPP_SPEED_56K                                                          = 0x2
 10232  	MDM_HDLCPPP_SPEED_64K                                                          = 0x1
 10233  	MDM_HDLCPPP_SPEED_DEFAULT                                                      = 0x0
 10234  	MDM_MASK_AUTO_ML                                                               = 192
 10235  	MDM_MASK_AUTO_SPEED                                                            = 0x7
 10236  	MDM_MASK_BEARERMODE                                                            = 0x0000f000
 10237  	MDM_MASK_EXTENDEDINFO                                                          = 268431360
 10238  	MDM_MASK_HDLCPPP_AUTH                                                          = 56
 10239  	MDM_MASK_HDLCPPP_ML                                                            = 192
 10240  	MDM_MASK_HDLCPPP_SPEED                                                         = 0x7
 10241  	MDM_MASK_PROTOCOLDATA                                                          = 0x0ff00000
 10242  	MDM_MASK_PROTOCOLID                                                            = 0x000f0000
 10243  	MDM_MASK_PROTOCOLINFO                                                          = 268369920
 10244  	MDM_MASK_V110_SPEED                                                            = 0xf
 10245  	MDM_MASK_V120_ML                                                               = 192
 10246  	MDM_MASK_V120_SPEED                                                            = 0x7
 10247  	MDM_MASK_X75_DATA                                                              = 0x7
 10248  	MDM_PIAFS_INCOMING                                                             = 0
 10249  	MDM_PIAFS_OUTGOING                                                             = 1
 10250  	MDM_PROTOCOLID_ANALOG                                                          = 0x7
 10251  	MDM_PROTOCOLID_AUTO                                                            = 0x6
 10252  	MDM_PROTOCOLID_DEFAULT                                                         = 0x0
 10253  	MDM_PROTOCOLID_GPRS                                                            = 0x8
 10254  	MDM_PROTOCOLID_HDLCPPP                                                         = 0x1
 10255  	MDM_PROTOCOLID_PIAFS                                                           = 0x9
 10256  	MDM_PROTOCOLID_V110                                                            = 0x4
 10257  	MDM_PROTOCOLID_V120                                                            = 0x5
 10258  	MDM_PROTOCOLID_V128                                                            = 0x2
 10259  	MDM_PROTOCOLID_X75                                                             = 0x3
 10260  	MDM_PROTOCOL_ANALOG_NRLP                                                       = 1507328
 10261  	MDM_PROTOCOL_ANALOG_RLP                                                        = 458752
 10262  	MDM_PROTOCOL_ANALOG_V34                                                        = 2555904
 10263  	MDM_PROTOCOL_AUTO_1CH                                                          = 67502080
 10264  	MDM_PROTOCOL_AUTO_2CH                                                          = 134610944
 10265  	MDM_PROTOCOL_GPRS                                                              = 524288
 10266  	MDM_PROTOCOL_HDLCPPP_112K                                                      = 136380416
 10267  	MDM_PROTOCOL_HDLCPPP_112K_CHAP                                                 = 161546240
 10268  	MDM_PROTOCOL_HDLCPPP_112K_MSCHAP                                               = 169934848
 10269  	MDM_PROTOCOL_HDLCPPP_112K_PAP                                                  = 153157632
 10270  	MDM_PROTOCOL_HDLCPPP_128K                                                      = 135331840
 10271  	MDM_PROTOCOL_HDLCPPP_128K_CHAP                                                 = 160497664
 10272  	MDM_PROTOCOL_HDLCPPP_128K_MSCHAP                                               = 168886272
 10273  	MDM_PROTOCOL_HDLCPPP_128K_PAP                                                  = 152109056
 10274  	MDM_PROTOCOL_HDLCPPP_56K                                                       = 2162688
 10275  	MDM_PROTOCOL_HDLCPPP_64K                                                       = 1114112
 10276  	MDM_PROTOCOL_PIAFS_INCOMING                                                    = 589824
 10277  	MDM_PROTOCOL_PIAFS_OUTGOING                                                    = 1638400
 10278  	MDM_PROTOCOL_V110_12DOT0K                                                      = 5505024
 10279  	MDM_PROTOCOL_V110_14DOT4K                                                      = 6553600
 10280  	MDM_PROTOCOL_V110_19DOT2K                                                      = 7602176
 10281  	MDM_PROTOCOL_V110_1DOT2K                                                       = 1310720
 10282  	MDM_PROTOCOL_V110_28DOT8K                                                      = 8650752
 10283  	MDM_PROTOCOL_V110_2DOT4K                                                       = 2359296
 10284  	MDM_PROTOCOL_V110_38DOT4K                                                      = 9699328
 10285  	MDM_PROTOCOL_V110_4DOT8K                                                       = 3407872
 10286  	MDM_PROTOCOL_V110_57DOT6K                                                      = 10747904
 10287  	MDM_PROTOCOL_V110_9DOT6K                                                       = 4456448
 10288  	MDM_PROTOCOL_V120_112K                                                         = 136642560
 10289  	MDM_PROTOCOL_V120_128K                                                         = 135593984
 10290  	MDM_PROTOCOL_V120_56K                                                          = 69533696
 10291  	MDM_PROTOCOL_V120_64K                                                          = 68485120
 10292  	MDM_PROTOCOL_X75_128K                                                          = 2293760
 10293  	MDM_PROTOCOL_X75_64K                                                           = 1245184
 10294  	MDM_PROTOCOL_X75_BTX                                                           = 4390912
 10295  	MDM_PROTOCOL_X75_T_70                                                          = 3342336
 10296  	MDM_SHIFT_AUTO_ML                                                              = 0x6
 10297  	MDM_SHIFT_AUTO_SPEED                                                           = 0x0
 10298  	MDM_SHIFT_BEARERMODE                                                           = 12
 10299  	MDM_SHIFT_EXTENDEDINFO                                                         = 12
 10300  	MDM_SHIFT_HDLCPPP_AUTH                                                         = 0x3
 10301  	MDM_SHIFT_HDLCPPP_ML                                                           = 0x6
 10302  	MDM_SHIFT_HDLCPPP_SPEED                                                        = 0x0
 10303  	MDM_SHIFT_PROTOCOLDATA                                                         = 20
 10304  	MDM_SHIFT_PROTOCOLID                                                           = 16
 10305  	MDM_SHIFT_PROTOCOLINFO                                                         = 16
 10306  	MDM_SHIFT_V110_SPEED                                                           = 0x0
 10307  	MDM_SHIFT_V120_ML                                                              = 0x6
 10308  	MDM_SHIFT_V120_SPEED                                                           = 0x0
 10309  	MDM_SHIFT_X75_DATA                                                             = 0x0
 10310  	MDM_SPEED_ADJUST                                                               = 0x00000080
 10311  	MDM_TONE_DIAL                                                                  = 0x00000100
 10312  	MDM_V110_SPEED_12DOT0K                                                         = 0x5
 10313  	MDM_V110_SPEED_14DOT4K                                                         = 0x6
 10314  	MDM_V110_SPEED_19DOT2K                                                         = 0x7
 10315  	MDM_V110_SPEED_1DOT2K                                                          = 0x1
 10316  	MDM_V110_SPEED_28DOT8K                                                         = 0x8
 10317  	MDM_V110_SPEED_2DOT4K                                                          = 0x2
 10318  	MDM_V110_SPEED_38DOT4K                                                         = 0x9
 10319  	MDM_V110_SPEED_4DOT8K                                                          = 0x3
 10320  	MDM_V110_SPEED_57DOT6K                                                         = 0xA
 10321  	MDM_V110_SPEED_9DOT6K                                                          = 0x4
 10322  	MDM_V110_SPEED_DEFAULT                                                         = 0x0
 10323  	MDM_V120_ML_2                                                                  = 0x2
 10324  	MDM_V120_ML_DEFAULT                                                            = 0x0
 10325  	MDM_V120_ML_NONE                                                               = 0x1
 10326  	MDM_V120_SPEED_56K                                                             = 0x2
 10327  	MDM_V120_SPEED_64K                                                             = 0x1
 10328  	MDM_V120_SPEED_DEFAULT                                                         = 0x0
 10329  	MDM_V23_OVERRIDE                                                               = 0x00000400
 10330  	MDM_X75_DATA_128K                                                              = 0x2
 10331  	MDM_X75_DATA_64K                                                               = 0x1
 10332  	MDM_X75_DATA_BTX                                                               = 0x4
 10333  	MDM_X75_DATA_DEFAULT                                                           = 0x0
 10334  	MDM_X75_DATA_T_70                                                              = 0x3
 10335  	MEDIA_CURRENTLY_MOUNTED                                                        = 0x80000000
 10336  	MEDIA_ERASEABLE                                                                = 0x00000001
 10337  	MEDIA_READ_ONLY                                                                = 0x00000004
 10338  	MEDIA_READ_WRITE                                                               = 0x00000008
 10339  	MEDIA_WRITE_ONCE                                                               = 0x00000002
 10340  	MEDIA_WRITE_PROTECTED                                                          = 0x00000100
 10341  	MEMBERID_NIL                                                                   = -1
 10342  	MEMORY_ALLOCATION_ALIGNMENT                                                    = 16
 10343  	MEMORY_PRIORITY_BELOW_NORMAL                                                   = 4
 10344  	MEMORY_PRIORITY_LOW                                                            = 2
 10345  	MEMORY_PRIORITY_MEDIUM                                                         = 3
 10346  	MEMORY_PRIORITY_NORMAL                                                         = 5
 10347  	MEMORY_PRIORITY_VERY_LOW                                                       = 1
 10348  	MEM_4MB_PAGES                                                                  = 0x80000000
 10349  	MEM_64K_PAGES                                                                  = 541065216
 10350  	MEM_COMMIT                                                                     = 0x1000
 10351  	MEM_DECOMMIT                                                                   = 0x4000
 10352  	MEM_DIFFERENT_IMAGE_BASE_OK                                                    = 0x800000
 10353  	MEM_EXTENDED_PARAMETER_GRAPHICS                                                = 0x01
 10354  	MEM_EXTENDED_PARAMETER_NONPAGED                                                = 0x02
 10355  	MEM_EXTENDED_PARAMETER_NONPAGED_HUGE                                           = 0x10
 10356  	MEM_EXTENDED_PARAMETER_NONPAGED_LARGE                                          = 0x08
 10357  	MEM_EXTENDED_PARAMETER_TYPE_BITS                                               = 8
 10358  	MEM_EXTENDED_PARAMETER_ZERO_PAGES_OPTIONAL                                     = 0x04
 10359  	MEM_FREE                                                                       = 0x10000
 10360  	MEM_IMAGE                                                                      = 16777216
 10361  	MEM_LARGE_PAGES                                                                = 0x20000000
 10362  	MEM_MAPPED                                                                     = 0x40000
 10363  	MEM_PHYSICAL                                                                   = 0x400000
 10364  	MEM_PRIVATE                                                                    = 0x20000
 10365  	MEM_RELEASE                                                                    = 0x8000
 10366  	MEM_RESERVE                                                                    = 0x2000
 10367  	MEM_RESET                                                                      = 0x80000
 10368  	MEM_RESET_UNDO                                                                 = 0x1000000
 10369  	MEM_ROTATE                                                                     = 0x800000
 10370  	MEM_TOP_DOWN                                                                   = 0x100000
 10371  	MEM_UNMAP_WITH_TRANSIENT_BOOST                                                 = 0x01
 10372  	MEM_WRITE_WATCH                                                                = 0x200000
 10373  	MENU_EVENT                                                                     = 0x8
 10374  	MESSAGE_RESOURCE_UNICODE                                                       = 0x0001
 10375  	METAFILE_DRIVER                                                                = 2049
 10376  	META_ANIMATEPALETTE                                                            = 0x0436
 10377  	META_ARC                                                                       = 0x0817
 10378  	META_BITBLT                                                                    = 0x0922
 10379  	META_CHORD                                                                     = 0x0830
 10380  	META_CREATEBRUSHINDIRECT                                                       = 0x02FC
 10381  	META_CREATEFONTINDIRECT                                                        = 0x02FB
 10382  	META_CREATEPALETTE                                                             = 0x00f7
 10383  	META_CREATEPATTERNBRUSH                                                        = 0x01F9
 10384  	META_CREATEPENINDIRECT                                                         = 0x02FA
 10385  	META_CREATEREGION                                                              = 0x06FF
 10386  	META_DELETEOBJECT                                                              = 0x01f0
 10387  	META_DIBBITBLT                                                                 = 0x0940
 10388  	META_DIBCREATEPATTERNBRUSH                                                     = 0x0142
 10389  	META_DIBSTRETCHBLT                                                             = 0x0b41
 10390  	META_ELLIPSE                                                                   = 0x0418
 10391  	META_ESCAPE                                                                    = 0x0626
 10392  	META_EXCLUDECLIPRECT                                                           = 0x0415
 10393  	META_EXTFLOODFILL                                                              = 0x0548
 10394  	META_EXTTEXTOUT                                                                = 0x0a32
 10395  	META_FILLREGION                                                                = 0x0228
 10396  	META_FLOODFILL                                                                 = 0x0419
 10397  	META_FRAMEREGION                                                               = 0x0429
 10398  	META_INTERSECTCLIPRECT                                                         = 0x0416
 10399  	META_INVERTREGION                                                              = 0x012A
 10400  	META_LINETO                                                                    = 0x0213
 10401  	META_MOVETO                                                                    = 0x0214
 10402  	META_OFFSETCLIPRGN                                                             = 0x0220
 10403  	META_OFFSETVIEWPORTORG                                                         = 0x0211
 10404  	META_OFFSETWINDOWORG                                                           = 0x020F
 10405  	META_PAINTREGION                                                               = 0x012B
 10406  	META_PATBLT                                                                    = 0x061D
 10407  	META_PIE                                                                       = 0x081A
 10408  	META_POLYGON                                                                   = 0x0324
 10409  	META_POLYLINE                                                                  = 0x0325
 10410  	META_POLYPOLYGON                                                               = 0x0538
 10411  	META_REALIZEPALETTE                                                            = 0x0035
 10412  	META_RECTANGLE                                                                 = 0x041B
 10413  	META_RESIZEPALETTE                                                             = 0x0139
 10414  	META_RESTOREDC                                                                 = 0x0127
 10415  	META_ROUNDRECT                                                                 = 0x061C
 10416  	META_SAVEDC                                                                    = 0x001E
 10417  	META_SCALEVIEWPORTEXT                                                          = 0x0412
 10418  	META_SCALEWINDOWEXT                                                            = 0x0410
 10419  	META_SELECTCLIPREGION                                                          = 0x012C
 10420  	META_SELECTOBJECT                                                              = 0x012D
 10421  	META_SELECTPALETTE                                                             = 0x0234
 10422  	META_SETBKCOLOR                                                                = 0x0201
 10423  	META_SETBKMODE                                                                 = 0x0102
 10424  	META_SETDIBTODEV                                                               = 0x0d33
 10425  	META_SETLAYOUT                                                                 = 0x0149
 10426  	META_SETMAPMODE                                                                = 0x0103
 10427  	META_SETMAPPERFLAGS                                                            = 0x0231
 10428  	META_SETPALENTRIES                                                             = 0x0037
 10429  	META_SETPIXEL                                                                  = 0x041F
 10430  	META_SETPOLYFILLMODE                                                           = 0x0106
 10431  	META_SETRELABS                                                                 = 0x0105
 10432  	META_SETROP2                                                                   = 0x0104
 10433  	META_SETSTRETCHBLTMODE                                                         = 0x0107
 10434  	META_SETTEXTALIGN                                                              = 0x012E
 10435  	META_SETTEXTCHAREXTRA                                                          = 0x0108
 10436  	META_SETTEXTCOLOR                                                              = 0x0209
 10437  	META_SETTEXTJUSTIFICATION                                                      = 0x020A
 10438  	META_SETVIEWPORTEXT                                                            = 0x020E
 10439  	META_SETVIEWPORTORG                                                            = 0x020D
 10440  	META_SETWINDOWEXT                                                              = 0x020C
 10441  	META_SETWINDOWORG                                                              = 0x020B
 10442  	META_STRETCHBLT                                                                = 0x0B23
 10443  	META_STRETCHDIB                                                                = 0x0f43
 10444  	META_TEXTOUT                                                                   = 0x0521
 10445  	METHOD_BUFFERED                                                                = 0
 10446  	METHOD_DIRECT_FROM_HARDWARE                                                    = 2
 10447  	METHOD_DIRECT_TO_HARDWARE                                                      = 1
 10448  	METHOD_IN_DIRECT                                                               = 1
 10449  	METHOD_NEITHER                                                                 = 3
 10450  	METHOD_OUT_DIRECT                                                              = 2
 10451  	METRICS_USEDEFAULT                                                             = -1
 10452  	MEVT_F_CALLBACK                                                                = 1073741824
 10453  	MEVT_F_LONG                                                                    = 2147483648
 10454  	MEVT_F_SHORT                                                                   = 0
 10455  	MFCOMMENT                                                                      = 15
 10456  	MFS_CHECKED                                                                    = 8
 10457  	MFS_DEFAULT                                                                    = 4096
 10458  	MFS_DISABLED                                                                   = 3
 10459  	MFS_ENABLED                                                                    = 0
 10460  	MFS_GRAYED                                                                     = 3
 10461  	MFS_HILITE                                                                     = 128
 10462  	MFS_UNCHECKED                                                                  = 0
 10463  	MFS_UNHILITE                                                                   = 0
 10464  	MFT_BITMAP                                                                     = 4
 10465  	MFT_MENUBARBREAK                                                               = 32
 10466  	MFT_MENUBREAK                                                                  = 64
 10467  	MFT_OWNERDRAW                                                                  = 256
 10468  	MFT_RADIOCHECK                                                                 = 512
 10469  	MFT_RIGHTJUSTIFY                                                               = 16384
 10470  	MFT_RIGHTORDER                                                                 = 8192
 10471  	MFT_SEPARATOR                                                                  = 2048
 10472  	MFT_STRING                                                                     = 0
 10473  	MF_APPEND                                                                      = 256
 10474  	MF_BITMAP                                                                      = 4
 10475  	MF_BYCOMMAND                                                                   = 0
 10476  	MF_BYPOSITION                                                                  = 1024
 10477  	MF_CALLBACKS                                                                   = 0x08000000
 10478  	MF_CHANGE                                                                      = 128
 10479  	MF_CHECKED                                                                     = 8
 10480  	MF_CONV                                                                        = 0x40000000
 10481  	MF_DEFAULT                                                                     = 4096
 10482  	MF_DELETE                                                                      = 512
 10483  	MF_DISABLED                                                                    = 2
 10484  	MF_ENABLED                                                                     = 0
 10485  	MF_END                                                                         = 128
 10486  	MF_ERRORS                                                                      = 0x10000000
 10487  	MF_GRAYED                                                                      = 1
 10488  	MF_HELP                                                                        = 16384
 10489  	MF_HILITE                                                                      = 128
 10490  	MF_HSZ_INFO                                                                    = 0x01000000
 10491  	MF_INSERT                                                                      = 0
 10492  	MF_LINKS                                                                       = 0x20000000
 10493  	MF_MASK                                                                        = 0xFF000000
 10494  	MF_MENUBARBREAK                                                                = 32
 10495  	MF_MENUBREAK                                                                   = 64
 10496  	MF_MOUSESELECT                                                                 = 32768
 10497  	MF_OWNERDRAW                                                                   = 256
 10498  	MF_POPUP                                                                       = 16
 10499  	MF_POSTMSGS                                                                    = 0x04000000
 10500  	MF_REMOVE                                                                      = 4096
 10501  	MF_RIGHTJUSTIFY                                                                = 16384
 10502  	MF_SENDMSGS                                                                    = 0x02000000
 10503  	MF_SEPARATOR                                                                   = 2048
 10504  	MF_STRING                                                                      = 0
 10505  	MF_SYSMENU                                                                     = 8192
 10506  	MF_UNCHECKED                                                                   = 0
 10507  	MF_UNHILITE                                                                    = 0
 10508  	MF_USECHECKBITMAPS                                                             = 512
 10509  	MHDR_DONE                                                                      = 0x00000001
 10510  	MHDR_INQUEUE                                                                   = 0x00000004
 10511  	MHDR_ISSTRM                                                                    = 0x00000008
 10512  	MHDR_PREPARED                                                                  = 0x00000002
 10513  	MH_CLEANUP                                                                     = 4
 10514  	MH_CREATE                                                                      = 1
 10515  	MH_DELETE                                                                      = 3
 10516  	MH_KEEP                                                                        = 2
 10517  	MICROSOFT_ROOT_CERT_CHAIN_POLICY_CHECK_APPLICATION_ROOT_FLAG                   = 0x00020000
 10518  	MICROSOFT_ROOT_CERT_CHAIN_POLICY_DISABLE_FLIGHT_ROOT_FLAG                      = 0x00040000
 10519  	MICROSOFT_ROOT_CERT_CHAIN_POLICY_ENABLE_TEST_ROOT_FLAG                         = 0x00010000
 10520  	MICROSOFT_WINBASE_H_DEFINE_INTERLOCKED_CPLUSPLUS_OVERLOADS                     = 0
 10521  	MICROSOFT_WINDOWS_WINBASE_H_DEFINE_INTERLOCKED_CPLUSPLUS_OVERLOADS             = 1
 10522  	MICROSOFT_WINDOWS_WINBASE_INTERLOCKED_CPLUSPLUS_H_INCLUDED                     = 0
 10523  	MIDICAPS_CACHE                                                                 = 0x0004
 10524  	MIDICAPS_LRVOLUME                                                              = 0x0002
 10525  	MIDICAPS_STREAM                                                                = 0x0008
 10526  	MIDICAPS_VOLUME                                                                = 0x0001
 10527  	MIDIERR_BADOPENMODE                                                            = 70
 10528  	MIDIERR_BASE                                                                   = 64
 10529  	MIDIERR_DONT_CONTINUE                                                          = 71
 10530  	MIDIERR_INVALIDSETUP                                                           = 69
 10531  	MIDIERR_LASTERROR                                                              = 71
 10532  	MIDIERR_NODEVICE                                                               = 68
 10533  	MIDIERR_NOMAP                                                                  = 66
 10534  	MIDIERR_NOTREADY                                                               = 67
 10535  	MIDIERR_STILLPLAYING                                                           = 65
 10536  	MIDIERR_UNPREPARED                                                             = 64
 10537  	MIDIPATCHSIZE                                                                  = 128
 10538  	MIDIPROP_GET                                                                   = 1073741824
 10539  	MIDIPROP_SET                                                                   = 2147483648
 10540  	MIDIPROP_TEMPO                                                                 = 2
 10541  	MIDIPROP_TIMEDIV                                                               = 1
 10542  	MIDISTRM_ERROR                                                                 = -2
 10543  	MIDI_CACHE_ALL                                                                 = 1
 10544  	MIDI_CACHE_BESTFIT                                                             = 2
 10545  	MIDI_CACHE_QUERY                                                               = 3
 10546  	MIDI_IO_STATUS                                                                 = 32
 10547  	MIDI_UNCACHE                                                                   = 4
 10548  	MIIM_BITMAP                                                                    = 0x00000080
 10549  	MIIM_CHECKMARKS                                                                = 0x00000008
 10550  	MIIM_DATA                                                                      = 0x00000020
 10551  	MIIM_FTYPE                                                                     = 0x00000100
 10552  	MIIM_ID                                                                        = 0x00000002
 10553  	MIIM_STATE                                                                     = 0x00000001
 10554  	MIIM_STRING                                                                    = 0x00000040
 10555  	MIIM_SUBMENU                                                                   = 0x00000004
 10556  	MIIM_TYPE                                                                      = 0x00000010
 10557  	MIM_APPLYTOSUBMENUS                                                            = 0x80000000
 10558  	MIM_BACKGROUND                                                                 = 0x00000002
 10559  	MIM_CLOSE                                                                      = 962
 10560  	MIM_DATA                                                                       = 963
 10561  	MIM_ERROR                                                                      = 965
 10562  	MIM_HELPID                                                                     = 0x00000004
 10563  	MIM_LONGDATA                                                                   = 964
 10564  	MIM_LONGERROR                                                                  = 966
 10565  	MIM_MAXHEIGHT                                                                  = 0x00000001
 10566  	MIM_MENUDATA                                                                   = 0x00000008
 10567  	MIM_MOREDATA                                                                   = 972
 10568  	MIM_OPEN                                                                       = 961
 10569  	MIM_STYLE                                                                      = 0x00000010
 10570  	MINCHAR                                                                        = 0x80
 10571  	MINLONG                                                                        = 0x80000000
 10572  	MINSHORT                                                                       = 0x8000
 10573  	MIN_ACL_REVISION                                                               = 2
 10574  	MIN_PRIORITY                                                                   = 1
 10575  	MIXERCONTROL_CONTROLF_DISABLED                                                 = 2147483648
 10576  	MIXERCONTROL_CONTROLF_MULTIPLE                                                 = 2
 10577  	MIXERCONTROL_CONTROLF_UNIFORM                                                  = 1
 10578  	MIXERCONTROL_CONTROLTYPE_BASS                                                  = 1342373890
 10579  	MIXERCONTROL_CONTROLTYPE_BASS_BOOST                                            = 536945271
 10580  	MIXERCONTROL_CONTROLTYPE_BOOLEAN                                               = 536936448
 10581  	MIXERCONTROL_CONTROLTYPE_BOOLEANMETER                                          = 268500992
 10582  	MIXERCONTROL_CONTROLTYPE_BUTTON                                                = 553713664
 10583  	MIXERCONTROL_CONTROLTYPE_CUSTOM                                                = 0
 10584  	MIXERCONTROL_CONTROLTYPE_DECIBELS                                              = 805568512
 10585  	MIXERCONTROL_CONTROLTYPE_EQUALIZER                                             = 1342373892
 10586  	MIXERCONTROL_CONTROLTYPE_FADER                                                 = 1342373888
 10587  	MIXERCONTROL_CONTROLTYPE_LOUDNESS                                              = 536936452
 10588  	MIXERCONTROL_CONTROLTYPE_MICROTIME                                             = 1610809344
 10589  	MIXERCONTROL_CONTROLTYPE_MILLITIME                                             = 1627586560
 10590  	MIXERCONTROL_CONTROLTYPE_MIXER                                                 = 1895890945
 10591  	MIXERCONTROL_CONTROLTYPE_MONO                                                  = 536936451
 10592  	MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT                                        = 1895890944
 10593  	MIXERCONTROL_CONTROLTYPE_MUTE                                                  = 536936450
 10594  	MIXERCONTROL_CONTROLTYPE_MUX                                                   = 1879113729
 10595  	MIXERCONTROL_CONTROLTYPE_ONOFF                                                 = 536936449
 10596  	MIXERCONTROL_CONTROLTYPE_PAN                                                   = 1073872897
 10597  	MIXERCONTROL_CONTROLTYPE_PEAKMETER                                             = 268566529
 10598  	MIXERCONTROL_CONTROLTYPE_PERCENT                                               = 805634048
 10599  	MIXERCONTROL_CONTROLTYPE_QSOUNDPAN                                             = 1073872898
 10600  	MIXERCONTROL_CONTROLTYPE_SIGNED                                                = 805437440
 10601  	MIXERCONTROL_CONTROLTYPE_SIGNEDMETER                                           = 268566528
 10602  	MIXERCONTROL_CONTROLTYPE_SINGLESELECT                                          = 1879113728
 10603  	MIXERCONTROL_CONTROLTYPE_SLIDER                                                = 1073872896
 10604  	MIXERCONTROL_CONTROLTYPE_STEREOENH                                             = 536936453
 10605  	MIXERCONTROL_CONTROLTYPE_TREBLE                                                = 1342373891
 10606  	MIXERCONTROL_CONTROLTYPE_UNSIGNED                                              = 805502976
 10607  	MIXERCONTROL_CONTROLTYPE_UNSIGNEDMETER                                         = 268632064
 10608  	MIXERCONTROL_CONTROLTYPE_VOLUME                                                = 1342373889
 10609  	MIXERCONTROL_CT_CLASS_CUSTOM                                                   = 0
 10610  	MIXERCONTROL_CT_CLASS_FADER                                                    = 1342177280
 10611  	MIXERCONTROL_CT_CLASS_LIST                                                     = 1879048192
 10612  	MIXERCONTROL_CT_CLASS_MASK                                                     = 4026531840
 10613  	MIXERCONTROL_CT_CLASS_METER                                                    = 268435456
 10614  	MIXERCONTROL_CT_CLASS_NUMBER                                                   = 805306368
 10615  	MIXERCONTROL_CT_CLASS_SLIDER                                                   = 1073741824
 10616  	MIXERCONTROL_CT_CLASS_SWITCH                                                   = 536870912
 10617  	MIXERCONTROL_CT_CLASS_TIME                                                     = 1610612736
 10618  	MIXERCONTROL_CT_SC_LIST_MULTIPLE                                               = 16777216
 10619  	MIXERCONTROL_CT_SC_LIST_SINGLE                                                 = 0
 10620  	MIXERCONTROL_CT_SC_METER_POLLED                                                = 0
 10621  	MIXERCONTROL_CT_SC_SWITCH_BOOLEAN                                              = 0
 10622  	MIXERCONTROL_CT_SC_SWITCH_BUTTON                                               = 16777216
 10623  	MIXERCONTROL_CT_SC_TIME_MICROSECS                                              = 0
 10624  	MIXERCONTROL_CT_SC_TIME_MILLISECS                                              = 16777216
 10625  	MIXERCONTROL_CT_SUBCLASS_MASK                                                  = 251658240
 10626  	MIXERCONTROL_CT_UNITS_BOOLEAN                                                  = 65536
 10627  	MIXERCONTROL_CT_UNITS_CUSTOM                                                   = 0
 10628  	MIXERCONTROL_CT_UNITS_DECIBELS                                                 = 262144
 10629  	MIXERCONTROL_CT_UNITS_MASK                                                     = 16711680
 10630  	MIXERCONTROL_CT_UNITS_PERCENT                                                  = 327680
 10631  	MIXERCONTROL_CT_UNITS_SIGNED                                                   = 131072
 10632  	MIXERCONTROL_CT_UNITS_UNSIGNED                                                 = 196608
 10633  	MIXERLINE_COMPONENTTYPE_DST_DIGITAL                                            = 1
 10634  	MIXERLINE_COMPONENTTYPE_DST_FIRST                                              = 0
 10635  	MIXERLINE_COMPONENTTYPE_DST_HEADPHONES                                         = 5
 10636  	MIXERLINE_COMPONENTTYPE_DST_LAST                                               = 8
 10637  	MIXERLINE_COMPONENTTYPE_DST_LINE                                               = 2
 10638  	MIXERLINE_COMPONENTTYPE_DST_MONITOR                                            = 3
 10639  	MIXERLINE_COMPONENTTYPE_DST_SPEAKERS                                           = 4
 10640  	MIXERLINE_COMPONENTTYPE_DST_TELEPHONE                                          = 6
 10641  	MIXERLINE_COMPONENTTYPE_DST_UNDEFINED                                          = 0
 10642  	MIXERLINE_COMPONENTTYPE_DST_VOICEIN                                            = 8
 10643  	MIXERLINE_COMPONENTTYPE_DST_WAVEIN                                             = 7
 10644  	MIXERLINE_COMPONENTTYPE_SRC_ANALOG                                             = 4106
 10645  	MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY                                          = 4105
 10646  	MIXERLINE_COMPONENTTYPE_SRC_COMPACTDISC                                        = 4101
 10647  	MIXERLINE_COMPONENTTYPE_SRC_DIGITAL                                            = 4097
 10648  	MIXERLINE_COMPONENTTYPE_SRC_FIRST                                              = 4096
 10649  	MIXERLINE_COMPONENTTYPE_SRC_LAST                                               = 4106
 10650  	MIXERLINE_COMPONENTTYPE_SRC_LINE                                               = 4098
 10651  	MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE                                         = 4099
 10652  	MIXERLINE_COMPONENTTYPE_SRC_PCSPEAKER                                          = 4103
 10653  	MIXERLINE_COMPONENTTYPE_SRC_SYNTHESIZER                                        = 4100
 10654  	MIXERLINE_COMPONENTTYPE_SRC_TELEPHONE                                          = 4102
 10655  	MIXERLINE_COMPONENTTYPE_SRC_UNDEFINED                                          = 4096
 10656  	MIXERLINE_COMPONENTTYPE_SRC_WAVEOUT                                            = 4104
 10657  	MIXERLINE_LINEF_ACTIVE                                                         = 1
 10658  	MIXERLINE_LINEF_DISCONNECTED                                                   = 32768
 10659  	MIXERLINE_LINEF_SOURCE                                                         = 2147483648
 10660  	MIXERLINE_TARGETTYPE_AUX                                                       = 5
 10661  	MIXERLINE_TARGETTYPE_MIDIIN                                                    = 4
 10662  	MIXERLINE_TARGETTYPE_MIDIOUT                                                   = 3
 10663  	MIXERLINE_TARGETTYPE_UNDEFINED                                                 = 0
 10664  	MIXERLINE_TARGETTYPE_WAVEIN                                                    = 2
 10665  	MIXERLINE_TARGETTYPE_WAVEOUT                                                   = 1
 10666  	MIXERR_BASE                                                                    = 1024
 10667  	MIXERR_INVALCONTROL                                                            = 1025
 10668  	MIXERR_INVALLINE                                                               = 1024
 10669  	MIXERR_INVALVALUE                                                              = 1026
 10670  	MIXERR_LASTERROR                                                               = 1026
 10671  	MIXER_GETCONTROLDETAILSF_LISTTEXT                                              = 1
 10672  	MIXER_GETCONTROLDETAILSF_QUERYMASK                                             = 15
 10673  	MIXER_GETCONTROLDETAILSF_VALUE                                                 = 0
 10674  	MIXER_GETLINECONTROLSF_ALL                                                     = 0
 10675  	MIXER_GETLINECONTROLSF_ONEBYID                                                 = 1
 10676  	MIXER_GETLINECONTROLSF_ONEBYTYPE                                               = 2
 10677  	MIXER_GETLINECONTROLSF_QUERYMASK                                               = 15
 10678  	MIXER_GETLINEINFOF_COMPONENTTYPE                                               = 3
 10679  	MIXER_GETLINEINFOF_DESTINATION                                                 = 0
 10680  	MIXER_GETLINEINFOF_LINEID                                                      = 2
 10681  	MIXER_GETLINEINFOF_QUERYMASK                                                   = 15
 10682  	MIXER_GETLINEINFOF_SOURCE                                                      = 1
 10683  	MIXER_GETLINEINFOF_TARGETTYPE                                                  = 4
 10684  	MIXER_LONG_NAME_CHARS                                                          = 64
 10685  	MIXER_OBJECTF_AUX                                                              = 1342177280
 10686  	MIXER_OBJECTF_HANDLE                                                           = 2147483648
 10687  	MIXER_OBJECTF_HMIDIIN                                                          = 3221225472
 10688  	MIXER_OBJECTF_HMIDIOUT                                                         = 2952790016
 10689  	MIXER_OBJECTF_HMIXER                                                           = 2147483648
 10690  	MIXER_OBJECTF_HWAVEIN                                                          = 2684354560
 10691  	MIXER_OBJECTF_HWAVEOUT                                                         = 2415919104
 10692  	MIXER_OBJECTF_MIDIIN                                                           = 1073741824
 10693  	MIXER_OBJECTF_MIDIOUT                                                          = 805306368
 10694  	MIXER_OBJECTF_MIXER                                                            = 0
 10695  	MIXER_OBJECTF_WAVEIN                                                           = 536870912
 10696  	MIXER_OBJECTF_WAVEOUT                                                          = 268435456
 10697  	MIXER_SETCONTROLDETAILSF_CUSTOM                                                = 1
 10698  	MIXER_SETCONTROLDETAILSF_QUERYMASK                                             = 15
 10699  	MIXER_SETCONTROLDETAILSF_VALUE                                                 = 0
 10700  	MIXER_SHORT_NAME_CHARS                                                         = 16
 10701  	MKF_AVAILABLE                                                                  = 0x00000002
 10702  	MKF_CONFIRMHOTKEY                                                              = 0x00000008
 10703  	MKF_HOTKEYACTIVE                                                               = 0x00000004
 10704  	MKF_HOTKEYSOUND                                                                = 0x00000010
 10705  	MKF_INDICATOR                                                                  = 0x00000020
 10706  	MKF_LEFTBUTTONDOWN                                                             = 0x01000000
 10707  	MKF_LEFTBUTTONSEL                                                              = 0x10000000
 10708  	MKF_MODIFIERS                                                                  = 0x00000040
 10709  	MKF_MOUSEKEYSON                                                                = 0x00000001
 10710  	MKF_MOUSEMODE                                                                  = 0x80000000
 10711  	MKF_REPLACENUMBERS                                                             = 0x00000080
 10712  	MKF_RIGHTBUTTONDOWN                                                            = 0x02000000
 10713  	MKF_RIGHTBUTTONSEL                                                             = 0x20000000
 10714  	MKSYS_URLMONIKER                                                               = 6
 10715  	MK_ALT                                                                         = 32
 10716  	MK_CONTROL                                                                     = 0x0008
 10717  	MK_E_FIRST                                                                     = 2147746272
 10718  	MK_E_LAST                                                                      = 2147746287
 10719  	MK_LBUTTON                                                                     = 0x0001
 10720  	MK_MBUTTON                                                                     = 0x0010
 10721  	MK_RBUTTON                                                                     = 0x0002
 10722  	MK_SHIFT                                                                       = 0x0004
 10723  	MK_S_FIRST                                                                     = 262624
 10724  	MK_S_LAST                                                                      = 262639
 10725  	MK_XBUTTON1                                                                    = 0x0020
 10726  	MK_XBUTTON2                                                                    = 0x0040
 10727  	MMIOERR_ACCESSDENIED                                                           = 268
 10728  	MMIOERR_BASE                                                                   = 256
 10729  	MMIOERR_CANNOTCLOSE                                                            = 260
 10730  	MMIOERR_CANNOTEXPAND                                                           = 264
 10731  	MMIOERR_CANNOTOPEN                                                             = 259
 10732  	MMIOERR_CANNOTREAD                                                             = 261
 10733  	MMIOERR_CANNOTSEEK                                                             = 263
 10734  	MMIOERR_CANNOTWRITE                                                            = 262
 10735  	MMIOERR_CHUNKNOTFOUND                                                          = 265
 10736  	MMIOERR_FILENOTFOUND                                                           = 257
 10737  	MMIOERR_INVALIDFILE                                                            = 272
 10738  	MMIOERR_NETWORKERROR                                                           = 270
 10739  	MMIOERR_OUTOFMEMORY                                                            = 258
 10740  	MMIOERR_PATHNOTFOUND                                                           = 267
 10741  	MMIOERR_SHARINGVIOLATION                                                       = 269
 10742  	MMIOERR_TOOMANYOPENFILES                                                       = 271
 10743  	MMIOERR_UNBUFFERED                                                             = 266
 10744  	MMIOM_CLOSE                                                                    = 4
 10745  	MMIOM_OPEN                                                                     = 3
 10746  	MMIOM_READ                                                                     = 0
 10747  	MMIOM_RENAME                                                                   = 6
 10748  	MMIOM_SEEK                                                                     = 2
 10749  	MMIOM_USER                                                                     = 0x8000
 10750  	MMIOM_WRITE                                                                    = 1
 10751  	MMIOM_WRITEFLUSH                                                               = 5
 10752  	MMIO_ALLOCBUF                                                                  = 0x00010000
 10753  	MMIO_COMPAT                                                                    = 0x00000000
 10754  	MMIO_CREATE                                                                    = 0x00001000
 10755  	MMIO_CREATELIST                                                                = 0x0040
 10756  	MMIO_CREATERIFF                                                                = 0x0020
 10757  	MMIO_DEFAULTBUFFER                                                             = 8192
 10758  	MMIO_DELETE                                                                    = 0x00000200
 10759  	MMIO_DENYNONE                                                                  = 0x00000040
 10760  	MMIO_DENYREAD                                                                  = 0x00000030
 10761  	MMIO_DENYWRITE                                                                 = 0x00000020
 10762  	MMIO_DIRTY                                                                     = 0x10000000
 10763  	MMIO_EMPTYBUF                                                                  = 0x0010
 10764  	MMIO_EXCLUSIVE                                                                 = 0x00000010
 10765  	MMIO_EXIST                                                                     = 0x00004000
 10766  	MMIO_FHOPEN                                                                    = 0x0010
 10767  	MMIO_FINDCHUNK                                                                 = 0x0010
 10768  	MMIO_FINDLIST                                                                  = 0x0040
 10769  	MMIO_FINDPROC                                                                  = 0x00040000
 10770  	MMIO_FINDRIFF                                                                  = 0x0020
 10771  	MMIO_GETTEMP                                                                   = 0x00020000
 10772  	MMIO_GLOBALPROC                                                                = 0x10000000
 10773  	MMIO_INSTALLPROC                                                               = 0x00010000
 10774  	MMIO_PARSE                                                                     = 0x00000100
 10775  	MMIO_READ                                                                      = 0x00000000
 10776  	MMIO_READWRITE                                                                 = 0x00000002
 10777  	MMIO_REMOVEPROC                                                                = 0x00020000
 10778  	MMIO_RWMODE                                                                    = 0x00000003
 10779  	MMIO_SHAREMODE                                                                 = 0x00000070
 10780  	MMIO_TOUPPER                                                                   = 0x0010
 10781  	MMIO_UNICODEPROC                                                               = 0x01000000
 10782  	MMIO_WRITE                                                                     = 0x00000001
 10783  	MMSYSERR_ALLOCATED                                                             = 4
 10784  	MMSYSERR_BADDB                                                                 = 14
 10785  	MMSYSERR_BADDEVICEID                                                           = 2
 10786  	MMSYSERR_BADERRNUM                                                             = 9
 10787  	MMSYSERR_BASE                                                                  = 0
 10788  	MMSYSERR_DELETEERROR                                                           = 18
 10789  	MMSYSERR_ERROR                                                                 = 1
 10790  	MMSYSERR_HANDLEBUSY                                                            = 12
 10791  	MMSYSERR_INVALFLAG                                                             = 10
 10792  	MMSYSERR_INVALHANDLE                                                           = 5
 10793  	MMSYSERR_INVALIDALIAS                                                          = 13
 10794  	MMSYSERR_INVALPARAM                                                            = 11
 10795  	MMSYSERR_KEYNOTFOUND                                                           = 15
 10796  	MMSYSERR_LASTERROR                                                             = 21
 10797  	MMSYSERR_MOREDATA                                                              = 21
 10798  	MMSYSERR_NODRIVER                                                              = 6
 10799  	MMSYSERR_NODRIVERCB                                                            = 20
 10800  	MMSYSERR_NOERROR                                                               = 0
 10801  	MMSYSERR_NOMEM                                                                 = 7
 10802  	MMSYSERR_NOTENABLED                                                            = 3
 10803  	MMSYSERR_NOTSUPPORTED                                                          = 8
 10804  	MMSYSERR_READERROR                                                             = 16
 10805  	MMSYSERR_VALNOTFOUND                                                           = 19
 10806  	MMSYSERR_WRITEERROR                                                            = 17
 10807  	MM_ANISOTROPIC                                                                 = 8
 10808  	MM_DRVM_CLOSE                                                                  = 0x3D1
 10809  	MM_DRVM_DATA                                                                   = 0x3D2
 10810  	MM_DRVM_ERROR                                                                  = 0x3D3
 10811  	MM_DRVM_OPEN                                                                   = 0x3D0
 10812  	MM_HIENGLISH                                                                   = 5
 10813  	MM_HIMETRIC                                                                    = 3
 10814  	MM_ISOTROPIC                                                                   = 7
 10815  	MM_JOY1BUTTONDOWN                                                              = 0x3B5
 10816  	MM_JOY1BUTTONUP                                                                = 0x3B7
 10817  	MM_JOY1MOVE                                                                    = 0x3A0
 10818  	MM_JOY1ZMOVE                                                                   = 0x3A2
 10819  	MM_JOY2BUTTONDOWN                                                              = 0x3B6
 10820  	MM_JOY2BUTTONUP                                                                = 0x3B8
 10821  	MM_JOY2MOVE                                                                    = 0x3A1
 10822  	MM_JOY2ZMOVE                                                                   = 0x3A3
 10823  	MM_LOENGLISH                                                                   = 4
 10824  	MM_LOMETRIC                                                                    = 2
 10825  	MM_MAX                                                                         = 8
 10826  	MM_MAX_AXES_NAMELEN                                                            = 16
 10827  	MM_MAX_FIXEDSCALE                                                              = 6
 10828  	MM_MAX_NUMAXES                                                                 = 16
 10829  	MM_MCINOTIFY                                                                   = 0x3B9
 10830  	MM_MCISIGNAL                                                                   = 0x3CB
 10831  	MM_MIM_CLOSE                                                                   = 0x3C2
 10832  	MM_MIM_DATA                                                                    = 0x3C3
 10833  	MM_MIM_ERROR                                                                   = 0x3C5
 10834  	MM_MIM_LONGDATA                                                                = 0x3C4
 10835  	MM_MIM_LONGERROR                                                               = 0x3C6
 10836  	MM_MIM_MOREDATA                                                                = 0x3CC
 10837  	MM_MIM_OPEN                                                                    = 0x3C1
 10838  	MM_MIN                                                                         = 1
 10839  	MM_MIXM_CONTROL_CHANGE                                                         = 0x3D1
 10840  	MM_MIXM_LINE_CHANGE                                                            = 0x3D0
 10841  	MM_MOM_CLOSE                                                                   = 0x3C8
 10842  	MM_MOM_DONE                                                                    = 0x3C9
 10843  	MM_MOM_OPEN                                                                    = 0x3C7
 10844  	MM_MOM_POSITIONCB                                                              = 0x3CA
 10845  	MM_STREAM_CLOSE                                                                = 0x3D5
 10846  	MM_STREAM_DONE                                                                 = 0x3D6
 10847  	MM_STREAM_ERROR                                                                = 0x3D7
 10848  	MM_STREAM_OPEN                                                                 = 0x3D4
 10849  	MM_TEXT                                                                        = 1
 10850  	MM_TWIPS                                                                       = 6
 10851  	MM_WIM_CLOSE                                                                   = 0x3BF
 10852  	MM_WIM_DATA                                                                    = 0x3C0
 10853  	MM_WIM_OPEN                                                                    = 0x3BE
 10854  	MM_WOM_CLOSE                                                                   = 0x3BC
 10855  	MM_WOM_DONE                                                                    = 0x3BD
 10856  	MM_WOM_OPEN                                                                    = 0x3BB
 10857  	MNC_CLOSE                                                                      = 1
 10858  	MNC_EXECUTE                                                                    = 2
 10859  	MNC_IGNORE                                                                     = 0
 10860  	MNC_SELECT                                                                     = 3
 10861  	MND_CONTINUE                                                                   = 0
 10862  	MND_ENDMENU                                                                    = 1
 10863  	MNGOF_BOTTOMGAP                                                                = 0x00000002
 10864  	MNGOF_TOPGAP                                                                   = 0x00000001
 10865  	MNGO_NOERROR                                                                   = 0x00000001
 10866  	MNGO_NOINTERFACE                                                               = 0x00000000
 10867  	MNS_AUTODISMISS                                                                = 0x10000000
 10868  	MNS_CHECKORBMP                                                                 = 0x04000000
 10869  	MNS_DRAGDROP                                                                   = 0x20000000
 10870  	MNS_MODELESS                                                                   = 0x40000000
 10871  	MNS_NOCHECK                                                                    = 0x80000000
 10872  	MNS_NOTIFYBYPOS                                                                = 0x08000000
 10873  	MN_GETHMENU                                                                    = 0x01E1
 10874  	MODE_T_DEFINED                                                                 = 0
 10875  	MOD_ALT                                                                        = 0x0001
 10876  	MOD_CONTROL                                                                    = 0x0002
 10877  	MOD_FMSYNTH                                                                    = 4
 10878  	MOD_IGNORE_ALL_MODIFIER                                                        = 0x0400
 10879  	MOD_LEFT                                                                       = 0x8000
 10880  	MOD_MAPPER                                                                     = 5
 10881  	MOD_MIDIPORT                                                                   = 1
 10882  	MOD_ON_KEYUP                                                                   = 0x0800
 10883  	MOD_RIGHT                                                                      = 0x4000
 10884  	MOD_SHIFT                                                                      = 0x0004
 10885  	MOD_SQSYNTH                                                                    = 3
 10886  	MOD_SWSYNTH                                                                    = 7
 10887  	MOD_SYNTH                                                                      = 2
 10888  	MOD_WAVETABLE                                                                  = 6
 10889  	MOD_WIN                                                                        = 0x0008
 10890  	MOM_CLOSE                                                                      = 968
 10891  	MOM_DONE                                                                       = 969
 10892  	MOM_OPEN                                                                       = 967
 10893  	MOM_POSITIONCB                                                                 = 970
 10894  	MONITORINFOF_PRIMARY                                                           = 0x00000001
 10895  	MONITOR_DEFAULTTONEAREST                                                       = 0x00000002
 10896  	MONITOR_DEFAULTTONULL                                                          = 0x00000000
 10897  	MONITOR_DEFAULTTOPRIMARY                                                       = 0x00000001
 10898  	MONO_FONT                                                                      = 8
 10899  	MOUSEEVENTF_ABSOLUTE                                                           = 0x8000
 10900  	MOUSEEVENTF_LEFTDOWN                                                           = 0x0002
 10901  	MOUSEEVENTF_LEFTUP                                                             = 0x0004
 10902  	MOUSEEVENTF_MIDDLEDOWN                                                         = 0x0020
 10903  	MOUSEEVENTF_MIDDLEUP                                                           = 0x0040
 10904  	MOUSEEVENTF_MOVE                                                               = 0x0001
 10905  	MOUSEEVENTF_RIGHTDOWN                                                          = 0x0008
 10906  	MOUSEEVENTF_RIGHTUP                                                            = 0x0010
 10907  	MOUSEEVENTF_VIRTUALDESK                                                        = 0x4000
 10908  	MOUSEEVENTF_WHEEL                                                              = 0x0800
 10909  	MOUSEEVENTF_XDOWN                                                              = 0x0080
 10910  	MOUSEEVENTF_XUP                                                                = 0x0100
 10911  	MOUSETRAILS                                                                    = 39
 10912  	MOUSE_ATTRIBUTES_CHANGED                                                       = 0x04
 10913  	MOUSE_EVENT                                                                    = 0x2
 10914  	MOUSE_MOVED                                                                    = 0x1
 10915  	MOUSE_MOVE_ABSOLUTE                                                            = 1
 10916  	MOUSE_MOVE_RELATIVE                                                            = 0
 10917  	MOUSE_VIRTUAL_DESKTOP                                                          = 0x02
 10918  	MOUSE_WHEELED                                                                  = 0x4
 10919  	MOVEFILE_COPY_ALLOWED                                                          = 0x00000002
 10920  	MOVEFILE_CREATE_HARDLINK                                                       = 0x00000010
 10921  	MOVEFILE_DELAY_UNTIL_REBOOT                                                    = 0x00000004
 10922  	MOVEFILE_FAIL_IF_NOT_TRACKABLE                                                 = 0x00000020
 10923  	MOVEFILE_REPLACE_EXISTING                                                      = 0x00000001
 10924  	MOVEFILE_WRITE_THROUGH                                                         = 0x00000008
 10925  	MSGF_DDEMGR                                                                    = 0x8001
 10926  	MSGF_DIALOGBOX                                                                 = 0
 10927  	MSGF_MAX                                                                       = 8
 10928  	MSGF_MENU                                                                      = 2
 10929  	MSGF_MESSAGEBOX                                                                = 1
 10930  	MSGF_NEXTWINDOW                                                                = 6
 10931  	MSGF_SCROLLBAR                                                                 = 5
 10932  	MSGF_USER                                                                      = 4096
 10933  	MSG_DONTROUTE                                                                  = 0x4
 10934  	MSG_MAXIOVLEN                                                                  = 16
 10935  	MSG_OOB                                                                        = 0x1
 10936  	MSG_PARTIAL                                                                    = 0x8000
 10937  	MSG_PEEK                                                                       = 0x2
 10938  	MS_DEF_DH_SCHANNEL_PROV_A                                                      = "Microsoft DH SChannel Cryptographic Provider"
 10939  	MS_DEF_DSS_DH_PROV_A                                                           = "Microsoft Base DSS and Diffie-Hellman Cryptographic Provider"
 10940  	MS_DEF_DSS_PROV_A                                                              = "Microsoft Base DSS Cryptographic Provider"
 10941  	MS_DEF_PROV_A                                                                  = "Microsoft Base Cryptographic Provider v1.0"
 10942  	MS_DEF_RSA_SCHANNEL_PROV_A                                                     = "Microsoft RSA SChannel Cryptographic Provider"
 10943  	MS_DEF_RSA_SIG_PROV_A                                                          = "Microsoft RSA Signature Cryptographic Provider"
 10944  	MS_ENHANCED_PROV_A                                                             = "Microsoft Enhanced Cryptographic Provider v1.0"
 10945  	MS_ENH_DSS_DH_PROV_A                                                           = "Microsoft Enhanced DSS and Diffie-Hellman Cryptographic Provider"
 10946  	MS_ENH_RSA_AES_PROV_A                                                          = "Microsoft Enhanced RSA and AES Cryptographic Provider"
 10947  	MS_ENH_RSA_AES_PROV_XP_A                                                       = "Microsoft Enhanced RSA and AES Cryptographic Provider (Prototype)"
 10948  	MS_NBF                                                                         = "MNBF"
 10949  	MS_PPM_SOFTWARE_ALL                                                            = 0x1
 10950  	MS_SCARD_PROV_A                                                                = "Microsoft Base Smart Card Crypto Provider"
 10951  	MS_STRONG_PROV_A                                                               = "Microsoft Strong Cryptographic Provider"
 10952  	MULTIFILEOPENORD                                                               = 1537
 10953  	MUTANT_ALL_ACCESS                                                              = 2031617
 10954  	MUTANT_QUERY_STATE                                                             = 0x0001
 10955  	MUTEX_ALL_ACCESS                                                               = 2031617
 10956  	MUTEX_MODIFY_STATE                                                             = 1
 10957  	MUTZ_ACCEPT_WILDCARD_SCHEME                                                    = 0x80
 10958  	MUTZ_DONT_UNESCAPE                                                             = 0x800
 10959  	MUTZ_DONT_USE_CACHE                                                            = 0x1000
 10960  	MUTZ_ENFORCERESTRICTED                                                         = 0x100
 10961  	MUTZ_FORCE_INTRANET_FLAGS                                                      = 0x2000
 10962  	MUTZ_IGNORE_ZONE_MAPPINGS                                                      = 0x4000
 10963  	MUTZ_ISFILE                                                                    = 0x2
 10964  	MUTZ_NOSAVEDFILECHECK                                                          = 0x1
 10965  	MUTZ_REQUIRESAVEDFILECHECK                                                     = 0x400
 10966  	MUTZ_RESERVED                                                                  = 0x200
 10967  	MWMO_ALERTABLE                                                                 = 0x0002
 10968  	MWMO_INPUTAVAILABLE                                                            = 0x0004
 10969  	MWMO_WAITALL                                                                   = 0x0001
 10970  	MWT_IDENTITY                                                                   = 1
 10971  	MWT_LEFTMULTIPLY                                                               = 2
 10972  	MWT_MAX                                                                        = 3
 10973  	MWT_MIN                                                                        = 1
 10974  	MWT_RIGHTMULTIPLY                                                              = 3
 10975  	MaxNumberOfEEInfoParams                                                        = 4
 10976  	NAME_FLAGS_MASK                                                                = 0x87
 10977  	NAME_MAX                                                                       = 260
 10978  	NCBACTION                                                                      = 0x77
 10979  	NCBADDGRNAME                                                                   = 0x36
 10980  	NCBADDNAME                                                                     = 0x30
 10981  	NCBASTAT                                                                       = 0x33
 10982  	NCBCALL                                                                        = 0x10
 10983  	NCBCANCEL                                                                      = 0x35
 10984  	NCBCHAINSEND                                                                   = 0x17
 10985  	NCBCHAINSENDNA                                                                 = 0x72
 10986  	NCBDELNAME                                                                     = 0x31
 10987  	NCBDGRECV                                                                      = 0x21
 10988  	NCBDGRECVBC                                                                    = 0x23
 10989  	NCBDGSEND                                                                      = 0x20
 10990  	NCBDGSENDBC                                                                    = 0x22
 10991  	NCBENUM                                                                        = 0x37
 10992  	NCBFINDNAME                                                                    = 0x78
 10993  	NCBHANGUP                                                                      = 0x12
 10994  	NCBLANSTALERT                                                                  = 0x73
 10995  	NCBLISTEN                                                                      = 0x11
 10996  	NCBNAMSZ                                                                       = 16
 10997  	NCBRECV                                                                        = 0x15
 10998  	NCBRECVANY                                                                     = 0x16
 10999  	NCBRESET                                                                       = 0x32
 11000  	NCBSEND                                                                        = 0x14
 11001  	NCBSENDNA                                                                      = 0x71
 11002  	NCBSSTAT                                                                       = 0x34
 11003  	NCBTRACE                                                                       = 0x79
 11004  	NCBUNLINK                                                                      = 0x70
 11005  	NCB_INCLUDED                                                                   = 0
 11006  	NCRYPTBUFFER_CERT_BLOB                                                         = 47
 11007  	NCRYPTBUFFER_DATA                                                              = 1
 11008  	NCRYPTBUFFER_EMPTY                                                             = 0
 11009  	NCRYPTBUFFER_PKCS_ALG_ID                                                       = 43
 11010  	NCRYPTBUFFER_PKCS_ALG_OID                                                      = 41
 11011  	NCRYPTBUFFER_PKCS_ALG_PARAM                                                    = 42
 11012  	NCRYPTBUFFER_PKCS_ATTRS                                                        = 44
 11013  	NCRYPTBUFFER_PKCS_KEY_NAME                                                     = 45
 11014  	NCRYPTBUFFER_PKCS_OID                                                          = 40
 11015  	NCRYPTBUFFER_PKCS_SECRET                                                       = 46
 11016  	NCRYPTBUFFER_PROTECTION_DESCRIPTOR_STRING                                      = 3
 11017  	NCRYPTBUFFER_PROTECTION_FLAGS                                                  = 4
 11018  	NCRYPTBUFFER_SSL_CLEAR_KEY                                                     = 23
 11019  	NCRYPTBUFFER_SSL_CLIENT_RANDOM                                                 = 20
 11020  	NCRYPTBUFFER_SSL_HIGHEST_VERSION                                               = 22
 11021  	NCRYPTBUFFER_SSL_KEY_ARG_DATA                                                  = 24
 11022  	NCRYPTBUFFER_SSL_SERVER_RANDOM                                                 = 21
 11023  	NCRYPTBUFFER_VERSION                                                           = 0
 11024  	NCRYPT_ALLOW_ALL_USAGES                                                        = 0x00ffffff
 11025  	NCRYPT_ALLOW_ARCHIVING_FLAG                                                    = 0x00000004
 11026  	NCRYPT_ALLOW_DECRYPT_FLAG                                                      = 0x1
 11027  	NCRYPT_ALLOW_EXPORT_FLAG                                                       = 0x1
 11028  	NCRYPT_ALLOW_KEY_AGREEMENT_FLAG                                                = 0x00000004
 11029  	NCRYPT_ALLOW_PLAINTEXT_ARCHIVING_FLAG                                          = 0x00000008
 11030  	NCRYPT_ALLOW_PLAINTEXT_EXPORT_FLAG                                             = 0x2
 11031  	NCRYPT_ALLOW_SIGNING_FLAG                                                      = 0x2
 11032  	NCRYPT_ASYMMETRIC_ENCRYPTION_INTERFACE                                         = 3
 11033  	NCRYPT_ASYMMETRIC_ENCRYPTION_OPERATION                                         = 4
 11034  	NCRYPT_CIPHER_INTERFACE                                                        = 1
 11035  	NCRYPT_CIPHER_OPERATION                                                        = 1
 11036  	NCRYPT_DO_NOT_FINALIZE_FLAG                                                    = 0x400
 11037  	NCRYPT_EXPORT_LEGACY_FLAG                                                      = 0x00000800
 11038  	NCRYPT_HASH_INTERFACE                                                          = 2
 11039  	NCRYPT_HASH_OPERATION                                                          = 2
 11040  	NCRYPT_IMPL_HARDWARE_FLAG                                                      = 0x1
 11041  	NCRYPT_IMPL_HARDWARE_RNG_FLAG                                                  = 0x00000010
 11042  	NCRYPT_IMPL_REMOVABLE_FLAG                                                     = 0x00000008
 11043  	NCRYPT_IMPL_SOFTWARE_FLAG                                                      = 0x2
 11044  	NCRYPT_KEY_STORAGE_INTERFACE                                                   = 0x00010001
 11045  	NCRYPT_MACHINE_KEY_FLAG                                                        = 0x20
 11046  	NCRYPT_MAX_ALG_ID_LENGTH                                                       = 512
 11047  	NCRYPT_MAX_KEY_NAME_LENGTH                                                     = 512
 11048  	NCRYPT_MAX_PROPERTY_DATA                                                       = 0x100000
 11049  	NCRYPT_MAX_PROPERTY_NAME                                                       = 64
 11050  	NCRYPT_NO_KEY_VALIDATION                                                       = 8
 11051  	NCRYPT_NO_PADDING_FLAG                                                         = 0x1
 11052  	NCRYPT_OVERWRITE_KEY_FLAG                                                      = 0x80
 11053  	NCRYPT_PAD_OAEP_FLAG                                                           = 0x4
 11054  	NCRYPT_PAD_PKCS1_FLAG                                                          = 0x2
 11055  	NCRYPT_PAD_PSS_FLAG                                                            = 0x8
 11056  	NCRYPT_PERSIST_FLAG                                                            = 0x80000000
 11057  	NCRYPT_PERSIST_ONLY_FLAG                                                       = 0x40000000
 11058  	NCRYPT_REGISTER_NOTIFY_FLAG                                                    = 0x1
 11059  	NCRYPT_RNG_OPERATION                                                           = 32
 11060  	NCRYPT_SCHANNEL_INTERFACE                                                      = 0x00010002
 11061  	NCRYPT_SCHANNEL_SIGNATURE_INTERFACE                                            = 0x00010003
 11062  	NCRYPT_SECRET_AGREEMENT_INTERFACE                                              = 4
 11063  	NCRYPT_SECRET_AGREEMENT_OPERATION                                              = 8
 11064  	NCRYPT_SIGNATURE_INTERFACE                                                     = 5
 11065  	NCRYPT_SIGNATURE_OPERATION                                                     = 16
 11066  	NCRYPT_SILENT_FLAG                                                             = 0x40
 11067  	NCRYPT_UI_FORCE_HIGH_PROTECTION_FLAG                                           = 0x2
 11068  	NCRYPT_UI_PROTECT_KEY_FLAG                                                     = 0x1
 11069  	NCRYPT_UNREGISTER_NOTIFY_FLAG                                                  = 0x2
 11070  	NCRYPT_WRITE_KEY_TO_LEGACY_STORE_FLAG                                          = 0x200
 11071  	NDR_ASCII_CHAR                                                                 = 0
 11072  	NDR_BIG_ENDIAN                                                                 = 0
 11073  	NDR_CHAR_REP_MASK                                                              = 15
 11074  	NDR_EBCDIC_CHAR                                                                = 1
 11075  	NDR_FLOAT_REP_MASK                                                             = 65280
 11076  	NDR_IBM_FLOAT                                                                  = 768
 11077  	NDR_IEEE_FLOAT                                                                 = 0
 11078  	NDR_INT_REP_MASK                                                               = 240
 11079  	NDR_LITTLE_ENDIAN                                                              = 16
 11080  	NDR_LOCAL_DATA_REPRESENTATION                                                  = 16
 11081  	NDR_LOCAL_ENDIAN                                                               = 16
 11082  	NDR_VAX_FLOAT                                                                  = 256
 11083  	NEAR                                                                           = 0
 11084  	NETINFO_DISKRED                                                                = 0x00000004
 11085  	NETINFO_DLL16                                                                  = 0x00000001
 11086  	NETINFO_PRINTERRED                                                             = 0x00000008
 11087  	NETPROPERTY_PERSISTENT                                                         = 1
 11088  	NETSCAPE_SIGN_CA_CERT_TYPE                                                     = 0x01
 11089  	NETSCAPE_SIGN_CERT_TYPE                                                        = 0x10
 11090  	NETSCAPE_SMIME_CA_CERT_TYPE                                                    = 0x02
 11091  	NETSCAPE_SMIME_CERT_TYPE                                                       = 0x20
 11092  	NETSCAPE_SSL_CA_CERT_TYPE                                                      = 0x04
 11093  	NETSCAPE_SSL_CLIENT_AUTH_CERT_TYPE                                             = 0x80
 11094  	NETSCAPE_SSL_SERVER_AUTH_CERT_TYPE                                             = 0x40
 11095  	NEWFILEOPENORD                                                                 = 1547
 11096  	NEWFILEOPENV2ORD                                                               = 1552
 11097  	NEWFRAME                                                                       = 1
 11098  	NEWTRANSPARENT                                                                 = 3
 11099  	NEXTBAND                                                                       = 3
 11100  	NFR_ANSI                                                                       = 1
 11101  	NFR_UNICODE                                                                    = 2
 11102  	NF_QUERY                                                                       = 3
 11103  	NF_REQUERY                                                                     = 4
 11104  	NIF_GUID                                                                       = 0x00000020
 11105  	NIF_ICON                                                                       = 0x00000002
 11106  	NIF_INFO                                                                       = 0x00000010
 11107  	NIF_MESSAGE                                                                    = 0x00000001
 11108  	NIF_STATE                                                                      = 0x00000008
 11109  	NIF_TIP                                                                        = 0x00000004
 11110  	NIIF_ERROR                                                                     = 0x00000003
 11111  	NIIF_ICON_MASK                                                                 = 0x0000000f
 11112  	NIIF_INFO                                                                      = 0x00000001
 11113  	NIIF_NONE                                                                      = 0x00000000
 11114  	NIIF_NOSOUND                                                                   = 0x00000010
 11115  	NIIF_USER                                                                      = 0x00000004
 11116  	NIIF_WARNING                                                                   = 0x00000002
 11117  	NIM_ADD                                                                        = 0x00000000
 11118  	NIM_DELETE                                                                     = 0x00000002
 11119  	NIM_MODIFY                                                                     = 0x00000001
 11120  	NIM_SETFOCUS                                                                   = 0x00000003
 11121  	NIM_SETVERSION                                                                 = 0x00000004
 11122  	NINF_KEY                                                                       = 0x1
 11123  	NIN_BALLOONHIDE                                                                = 1027
 11124  	NIN_BALLOONSHOW                                                                = 1026
 11125  	NIN_BALLOONTIMEOUT                                                             = 1028
 11126  	NIN_BALLOONUSERCLICK                                                           = 1029
 11127  	NIN_KEYSELECT                                                                  = 1025
 11128  	NIN_SELECT                                                                     = 1024
 11129  	NIS_HIDDEN                                                                     = 0x00000001
 11130  	NIS_SHAREDICON                                                                 = 0x00000002
 11131  	NI_CHANGECANDIDATELIST                                                         = 0x0013
 11132  	NI_CLOSECANDIDATE                                                              = 0x0011
 11133  	NI_COMPOSITIONSTR                                                              = 0x0015
 11134  	NI_FINALIZECONVERSIONRESULT                                                    = 0x0014
 11135  	NI_IMEMENUSELECTED                                                             = 0x0018
 11136  	NI_OPENCANDIDATE                                                               = 0x0010
 11137  	NI_SELECTCANDIDATESTR                                                          = 0x0012
 11138  	NI_SETCANDIDATE_PAGESIZE                                                       = 0x0017
 11139  	NI_SETCANDIDATE_PAGESTART                                                      = 0x0016
 11140  	NLS_ALPHANUMERIC                                                               = 0x0
 11141  	NLS_DBCSCHAR                                                                   = 0x10000
 11142  	NLS_HIRAGANA                                                                   = 0x40000
 11143  	NLS_IME_CONVERSION                                                             = 0x800000
 11144  	NLS_IME_DISABLE                                                                = 0x20000000
 11145  	NLS_KATAKANA                                                                   = 0x20000
 11146  	NLS_ROMAN                                                                      = 0x400000
 11147  	NLS_VALID_LOCALE_MASK                                                          = 0x000fffff
 11148  	NMPWAIT_NOWAIT                                                                 = 0x1
 11149  	NMPWAIT_USE_DEFAULT_WAIT                                                       = 0x0
 11150  	NMPWAIT_WAIT_FOREVER                                                           = 0xffffffff
 11151  	NOERROR                                                                        = 0
 11152  	NONANTIALIASED_QUALITY                                                         = 3
 11153  	NONZEROLHND                                                                    = 2
 11154  	NONZEROLPTR                                                                    = 0
 11155  	NON_PAGED_DEBUG_SIGNATURE                                                      = 0x494E
 11156  	NOPARITY                                                                       = 0
 11157  	NORMAL_PRINT                                                                   = 0x00000000
 11158  	NORMAL_PRIORITY_CLASS                                                          = 0x20
 11159  	NORM_IGNORECASE                                                                = 0x00000001
 11160  	NORM_IGNOREKANATYPE                                                            = 0x00010000
 11161  	NORM_IGNORENONSPACE                                                            = 0x00000002
 11162  	NORM_IGNORESYMBOLS                                                             = 0x00000004
 11163  	NORM_IGNOREWIDTH                                                               = 0x00020000
 11164  	NORM_LINGUISTIC_CASING                                                         = 0x08000000
 11165  	NOTIFYICON_VERSION                                                             = 3
 11166  	NO_ADDRESS                                                                     = 11004
 11167  	NO_DATA                                                                        = 11004
 11168  	NO_ERROR                                                                       = 0
 11169  	NO_PRIORITY                                                                    = 0
 11170  	NO_PROPAGATE_INHERIT_ACE                                                       = 4
 11171  	NO_RECOVERY                                                                    = 11003
 11172  	NRC_ACTSES                                                                     = 0x0f
 11173  	NRC_BADDR                                                                      = 0x07
 11174  	NRC_BRIDGE                                                                     = 0x23
 11175  	NRC_BUFLEN                                                                     = 0x01
 11176  	NRC_CANCEL                                                                     = 0x26
 11177  	NRC_CANOCCR                                                                    = 0x24
 11178  	NRC_CMDCAN                                                                     = 0x0b
 11179  	NRC_CMDTMO                                                                     = 0x05
 11180  	NRC_DUPENV                                                                     = 0x30
 11181  	NRC_DUPNAME                                                                    = 0x0d
 11182  	NRC_ENVNOTDEF                                                                  = 0x34
 11183  	NRC_GOODRET                                                                    = 0x00
 11184  	NRC_IFBUSY                                                                     = 0x21
 11185  	NRC_ILLCMD                                                                     = 0x03
 11186  	NRC_ILLNN                                                                      = 0x13
 11187  	NRC_INCOMP                                                                     = 0x06
 11188  	NRC_INUSE                                                                      = 0x16
 11189  	NRC_INVADDRESS                                                                 = 0x39
 11190  	NRC_INVDDID                                                                    = 0x3B
 11191  	NRC_LOCKFAIL                                                                   = 0x3C
 11192  	NRC_LOCTFUL                                                                    = 0x11
 11193  	NRC_MAXAPPS                                                                    = 0x36
 11194  	NRC_NAMCONF                                                                    = 0x19
 11195  	NRC_NAMERR                                                                     = 0x17
 11196  	NRC_NAMTFUL                                                                    = 0x0e
 11197  	NRC_NOCALL                                                                     = 0x14
 11198  	NRC_NORES                                                                      = 0x09
 11199  	NRC_NORESOURCES                                                                = 0x38
 11200  	NRC_NOSAPS                                                                     = 0x37
 11201  	NRC_NOWILD                                                                     = 0x15
 11202  	NRC_OPENERR                                                                    = 0x3f
 11203  	NRC_OSRESNOTAV                                                                 = 0x35
 11204  	NRC_PENDING                                                                    = 0xff
 11205  	NRC_REMTFUL                                                                    = 0x12
 11206  	NRC_SABORT                                                                     = 0x18
 11207  	NRC_SCLOSED                                                                    = 0x0a
 11208  	NRC_SNUMOUT                                                                    = 0x08
 11209  	NRC_SYSTEM                                                                     = 0x40
 11210  	NRC_TOOMANY                                                                    = 0x22
 11211  	NT351_INTERFACE_SIZE                                                           = 0x40
 11212  	NTAPI                                                                          = 0
 11213  	NTAPI_INLINE                                                                   = 0
 11214  	NTDDI_LONGHORN                                                                 = 100663296
 11215  	NTDDI_VERSION                                                                  = 84017152
 11216  	NTDDI_VISTA                                                                    = 100663296
 11217  	NTDDI_VISTASP1                                                                 = 100663552
 11218  	NTDDI_VISTASP2                                                                 = 100663808
 11219  	NTDDI_VISTASP3                                                                 = 100664064
 11220  	NTDDI_VISTASP4                                                                 = 100664320
 11221  	NTDDI_WIN10                                                                    = 0x0A000000
 11222  	NTDDI_WIN10_19H1                                                               = 0x0A000007
 11223  	NTDDI_WIN10_FE                                                                 = 0x0A00000A
 11224  	NTDDI_WIN10_MN                                                                 = 0x0A000009
 11225  	NTDDI_WIN10_RS1                                                                = 0x0A000002
 11226  	NTDDI_WIN10_RS2                                                                = 0x0A000003
 11227  	NTDDI_WIN10_RS3                                                                = 0x0A000004
 11228  	NTDDI_WIN10_RS4                                                                = 0x0A000005
 11229  	NTDDI_WIN10_RS5                                                                = 0x0A000006
 11230  	NTDDI_WIN10_TH2                                                                = 0x0A000001
 11231  	NTDDI_WIN10_VB                                                                 = 0x0A000008
 11232  	NTDDI_WIN2K                                                                    = 0x05000000
 11233  	NTDDI_WIN2KSP1                                                                 = 0x05000100
 11234  	NTDDI_WIN2KSP2                                                                 = 0x05000200
 11235  	NTDDI_WIN2KSP3                                                                 = 0x05000300
 11236  	NTDDI_WIN2KSP4                                                                 = 0x05000400
 11237  	NTDDI_WIN6                                                                     = 0x06000000
 11238  	NTDDI_WIN6SP1                                                                  = 0x06000100
 11239  	NTDDI_WIN6SP2                                                                  = 0x06000200
 11240  	NTDDI_WIN6SP3                                                                  = 0x06000300
 11241  	NTDDI_WIN6SP4                                                                  = 0x06000400
 11242  	NTDDI_WIN7                                                                     = 0x06010000
 11243  	NTDDI_WIN8                                                                     = 0x06020000
 11244  	NTDDI_WINBLUE                                                                  = 0x06030000
 11245  	NTDDI_WINTHRESHOLD                                                             = 0x0A000000
 11246  	NTDDI_WINXP                                                                    = 0x05010000
 11247  	NTDDI_WINXPSP1                                                                 = 0x05010100
 11248  	NTDDI_WINXPSP2                                                                 = 0x05010200
 11249  	NTDDI_WINXPSP3                                                                 = 0x05010300
 11250  	NTDDI_WINXPSP4                                                                 = 0x05010400
 11251  	NTDDI_WS03                                                                     = 0x05020000
 11252  	NTDDI_WS03SP1                                                                  = 0x05020100
 11253  	NTDDI_WS03SP2                                                                  = 0x05020200
 11254  	NTDDI_WS03SP3                                                                  = 0x05020300
 11255  	NTDDI_WS03SP4                                                                  = 0x05020400
 11256  	NTDDI_WS08                                                                     = 100663552
 11257  	NTDDI_WS08SP2                                                                  = 100663808
 11258  	NTDDI_WS08SP3                                                                  = 100664064
 11259  	NTDDI_WS08SP4                                                                  = 100664320
 11260  	NTE_OP_OK                                                                      = 0
 11261  	NTM_BOLD                                                                       = 32
 11262  	NTM_DSIG                                                                       = 0x00200000
 11263  	NTM_ITALIC                                                                     = 1
 11264  	NTM_MULTIPLEMASTER                                                             = 0x00080000
 11265  	NTM_NONNEGATIVE_AC                                                             = 0x00010000
 11266  	NTM_PS_OPENTYPE                                                                = 0x00020000
 11267  	NTM_REGULAR                                                                    = 64
 11268  	NTM_TT_OPENTYPE                                                                = 0x00040000
 11269  	NTM_TYPE1                                                                      = 0x00100000
 11270  	NULLREGION                                                                     = 1
 11271  	NULL_BRUSH                                                                     = 5
 11272  	NULL_PEN                                                                       = 8
 11273  	NUMBRUSHES                                                                     = 16
 11274  	NUMCOLORS                                                                      = 24
 11275  	NUMFONTS                                                                       = 22
 11276  	NUMLOCK_ON                                                                     = 0x20
 11277  	NUMMARKERS                                                                     = 20
 11278  	NUMPENS                                                                        = 18
 11279  	NUMPRS_CURRENCY                                                                = 0x0400
 11280  	NUMPRS_DECIMAL                                                                 = 0x0100
 11281  	NUMPRS_EXPONENT                                                                = 0x0800
 11282  	NUMPRS_HEX_OCT                                                                 = 0x0040
 11283  	NUMPRS_INEXACT                                                                 = 0x20000
 11284  	NUMPRS_LEADING_MINUS                                                           = 0x0010
 11285  	NUMPRS_LEADING_PLUS                                                            = 0x0004
 11286  	NUMPRS_LEADING_WHITE                                                           = 0x0001
 11287  	NUMPRS_NEG                                                                     = 0x10000
 11288  	NUMPRS_PARENS                                                                  = 0x0080
 11289  	NUMPRS_STD                                                                     = 0x1FFF
 11290  	NUMPRS_THOUSANDS                                                               = 0x0200
 11291  	NUMPRS_TRAILING_MINUS                                                          = 0x0020
 11292  	NUMPRS_TRAILING_PLUS                                                           = 0x0008
 11293  	NUMPRS_TRAILING_WHITE                                                          = 0x0002
 11294  	NUMPRS_USE_ALL                                                                 = 0x1000
 11295  	NUMRESERVED                                                                    = 106
 11296  	NUM_DISCHARGE_POLICIES                                                         = 4
 11297  	N_BTMASK                                                                       = 0x000F
 11298  	N_BTSHFT                                                                       = 4
 11299  	N_TMASK                                                                        = 0x0030
 11300  	N_TMASK1                                                                       = 0x00C0
 11301  	N_TMASK2                                                                       = 0x00F0
 11302  	N_TSHIFT                                                                       = 2
 11303  	OBJECT_INHERIT_ACE                                                             = 1
 11304  	OBJ_BITMAP                                                                     = 7
 11305  	OBJ_BRUSH                                                                      = 2
 11306  	OBJ_COLORSPACE                                                                 = 14
 11307  	OBJ_DC                                                                         = 3
 11308  	OBJ_ENHMETADC                                                                  = 12
 11309  	OBJ_ENHMETAFILE                                                                = 13
 11310  	OBJ_EXTPEN                                                                     = 11
 11311  	OBJ_FONT                                                                       = 6
 11312  	OBJ_MEMDC                                                                      = 10
 11313  	OBJ_METADC                                                                     = 4
 11314  	OBJ_METAFILE                                                                   = 9
 11315  	OBJ_PAL                                                                        = 5
 11316  	OBJ_PEN                                                                        = 1
 11317  	OBJ_REGION                                                                     = 8
 11318  	OBSOLETE_DISK_GET_WRITE_CACHE_STATE                                            = 475356
 11319  	OBSOLETE_IOCTL_STORAGE_RESET_BUS                                               = 3002368
 11320  	OBSOLETE_IOCTL_STORAGE_RESET_DEVICE                                            = 3002372
 11321  	OCSP_BASIC_BY_KEY_RESPONDER_ID                                                 = 2
 11322  	OCSP_BASIC_BY_NAME_RESPONDER_ID                                                = 1
 11323  	OCSP_BASIC_GOOD_CERT_STATUS                                                    = 0
 11324  	OCSP_BASIC_RESPONSE_V1                                                         = 0
 11325  	OCSP_BASIC_REVOKED_CERT_STATUS                                                 = 1
 11326  	OCSP_BASIC_UNKNOWN_CERT_STATUS                                                 = 2
 11327  	OCSP_INTERNAL_ERROR_RESPONSE                                                   = 2
 11328  	OCSP_MALFORMED_REQUEST_RESPONSE                                                = 1
 11329  	OCSP_REQUEST_V1                                                                = 0
 11330  	OCSP_SIG_REQUIRED_RESPONSE                                                     = 5
 11331  	OCSP_SUCCESSFUL_RESPONSE                                                       = 0
 11332  	OCSP_TRY_LATER_RESPONSE                                                        = 3
 11333  	OCSP_UNAUTHORIZED_RESPONSE                                                     = 6
 11334  	ODA_DRAWENTIRE                                                                 = 0x0001
 11335  	ODA_FOCUS                                                                      = 0x0004
 11336  	ODA_SELECT                                                                     = 0x0002
 11337  	ODDPARITY                                                                      = 1
 11338  	ODS_CHECKED                                                                    = 0x0008
 11339  	ODS_COMBOBOXEDIT                                                               = 0x1000
 11340  	ODS_DEFAULT                                                                    = 0x0020
 11341  	ODS_DISABLED                                                                   = 0x0004
 11342  	ODS_FOCUS                                                                      = 0x0010
 11343  	ODS_GRAYED                                                                     = 0x0002
 11344  	ODS_HOTLIGHT                                                                   = 0x0040
 11345  	ODS_INACTIVE                                                                   = 0x0080
 11346  	ODS_NOACCEL                                                                    = 0x0100
 11347  	ODS_NOFOCUSRECT                                                                = 0x0200
 11348  	ODS_SELECTED                                                                   = 0x0001
 11349  	ODT_BUTTON                                                                     = 4
 11350  	ODT_COMBOBOX                                                                   = 3
 11351  	ODT_LISTBOX                                                                    = 2
 11352  	ODT_MENU                                                                       = 1
 11353  	ODT_STATIC                                                                     = 5
 11354  	OEM_CHARSET                                                                    = 255
 11355  	OEM_FIXED_FONT                                                                 = 10
 11356  	OFFLINE_STATUS_INCOMPLETE                                                      = 0x0004
 11357  	OFFLINE_STATUS_LOCAL                                                           = 0x0001
 11358  	OFFLINE_STATUS_REMOTE                                                          = 0x0002
 11359  	OFN_ALLOWMULTISELECT                                                           = 0x200
 11360  	OFN_CREATEPROMPT                                                               = 0x2000
 11361  	OFN_DONTADDTORECENT                                                            = 0x2000000
 11362  	OFN_ENABLEHOOK                                                                 = 0x20
 11363  	OFN_ENABLEINCLUDENOTIFY                                                        = 0x400000
 11364  	OFN_ENABLESIZING                                                               = 0x800000
 11365  	OFN_ENABLETEMPLATE                                                             = 0x40
 11366  	OFN_ENABLETEMPLATEHANDLE                                                       = 0x80
 11367  	OFN_EXPLORER                                                                   = 0x80000
 11368  	OFN_EXTENSIONDIFFERENT                                                         = 0x400
 11369  	OFN_EX_NOPLACESBAR                                                             = 0x1
 11370  	OFN_FILEMUSTEXIST                                                              = 0x1000
 11371  	OFN_FORCESHOWHIDDEN                                                            = 0x10000000
 11372  	OFN_HIDEREADONLY                                                               = 0x4
 11373  	OFN_LONGNAMES                                                                  = 0x200000
 11374  	OFN_NOCHANGEDIR                                                                = 0x8
 11375  	OFN_NODEREFERENCELINKS                                                         = 0x100000
 11376  	OFN_NOLONGNAMES                                                                = 0x40000
 11377  	OFN_NONETWORKBUTTON                                                            = 0x20000
 11378  	OFN_NOREADONLYRETURN                                                           = 0x8000
 11379  	OFN_NOTESTFILECREATE                                                           = 0x10000
 11380  	OFN_NOVALIDATE                                                                 = 0x100
 11381  	OFN_OVERWRITEPROMPT                                                            = 0x2
 11382  	OFN_PATHMUSTEXIST                                                              = 0x800
 11383  	OFN_READONLY                                                                   = 0x1
 11384  	OFN_SHAREAWARE                                                                 = 0x4000
 11385  	OFN_SHAREFALLTHROUGH                                                           = 2
 11386  	OFN_SHARENOWARN                                                                = 1
 11387  	OFN_SHAREWARN                                                                  = 0
 11388  	OFN_SHOWHELP                                                                   = 0x10
 11389  	OFS_MAXPATHNAME                                                                = 128
 11390  	OF_CANCEL                                                                      = 0x800
 11391  	OF_CREATE                                                                      = 0x1000
 11392  	OF_DELETE                                                                      = 0x200
 11393  	OF_EXIST                                                                       = 0x4000
 11394  	OF_PARSE                                                                       = 0x100
 11395  	OF_PROMPT                                                                      = 0x2000
 11396  	OF_READ                                                                        = 0x0
 11397  	OF_READWRITE                                                                   = 0x2
 11398  	OF_REOPEN                                                                      = 0x8000
 11399  	OF_SHARE_COMPAT                                                                = 0x0
 11400  	OF_SHARE_DENY_NONE                                                             = 0x40
 11401  	OF_SHARE_DENY_READ                                                             = 0x30
 11402  	OF_SHARE_DENY_WRITE                                                            = 0x20
 11403  	OF_SHARE_EXCLUSIVE                                                             = 0x10
 11404  	OF_VERIFY                                                                      = 0x400
 11405  	OF_WRITE                                                                       = 0x1
 11406  	OLECREATE_LEAVERUNNING                                                         = 0x1
 11407  	OLEIVERB_DISCARDUNDOSTATE                                                      = -6
 11408  	OLEIVERB_HIDE                                                                  = -3
 11409  	OLEIVERB_INPLACEACTIVATE                                                       = -5
 11410  	OLEIVERB_OPEN                                                                  = -2
 11411  	OLEIVERB_PRIMARY                                                               = 0
 11412  	OLEIVERB_SHOW                                                                  = -1
 11413  	OLEIVERB_UIACTIVATE                                                            = -4
 11414  	OLEOBJ_E_FIRST                                                                 = 2147746176
 11415  	OLEOBJ_E_LAST                                                                  = 2147746191
 11416  	OLEOBJ_S_FIRST                                                                 = 262528
 11417  	OLEOBJ_S_LAST                                                                  = 262543
 11418  	ONE5STOPBITS                                                                   = 1
 11419  	ONESTOPBIT                                                                     = 0
 11420  	OPAQUE                                                                         = 2
 11421  	OPAQUEKEYBLOB                                                                  = 0x9
 11422  	OPENCHANNEL                                                                    = 4110
 11423  	OPEN_ALWAYS                                                                    = 4
 11424  	OPEN_EXISTING                                                                  = 3
 11425  	OPTIONAL                                                                       = 0
 11426  	ORD_LANGDRIVER                                                                 = 1
 11427  	OR_INVALID_OID                                                                 = 1911
 11428  	OR_INVALID_OXID                                                                = 1910
 11429  	OR_INVALID_SET                                                                 = 1912
 11430  	OSVERSION_MASK                                                                 = 0xFFFF0000
 11431  	OUT                                                                            = 0
 11432  	OUTPUT_DEBUG_STRING_EVENT                                                      = 8
 11433  	OUT_CHARACTER_PRECIS                                                           = 2
 11434  	OUT_DEFAULT_PRECIS                                                             = 0
 11435  	OUT_DEVICE_PRECIS                                                              = 5
 11436  	OUT_OF_PROCESS_FUNCTION_TABLE_CALLBACK_EXPORT_NAME                             = "OutOfProcessFunctionTableCallback"
 11437  	OUT_OUTLINE_PRECIS                                                             = 8
 11438  	OUT_PS_ONLY_PRECIS                                                             = 10
 11439  	OUT_RASTER_PRECIS                                                              = 6
 11440  	OUT_SCREEN_OUTLINE_PRECIS                                                      = 9
 11441  	OUT_STRING_PRECIS                                                              = 1
 11442  	OUT_STROKE_PRECIS                                                              = 3
 11443  	OUT_TT_ONLY_PRECIS                                                             = 7
 11444  	OUT_TT_PRECIS                                                                  = 4
 11445  	OVERWRITE_HIDDEN                                                               = 4
 11446  	OWNER_SECURITY_INFORMATION                                                     = 1
 11447  	O_ACCMODE                                                                      = 3
 11448  	O_APPEND                                                                       = 8
 11449  	O_BINARY                                                                       = 32768
 11450  	O_CREAT                                                                        = 256
 11451  	O_EXCL                                                                         = 1024
 11452  	O_NOINHERIT                                                                    = 128
 11453  	O_RANDOM                                                                       = 16
 11454  	O_RAW                                                                          = 32768
 11455  	O_RDONLY                                                                       = 0
 11456  	O_RDWR                                                                         = 2
 11457  	O_SEQUENTIAL                                                                   = 32
 11458  	O_TEMPORARY                                                                    = 64
 11459  	O_TEXT                                                                         = 16384
 11460  	O_TRUNC                                                                        = 512
 11461  	O_WRONLY                                                                       = 1
 11462  	PAGESETUPDLGORD                                                                = 1546
 11463  	PAGESETUPDLGORDMOTIF                                                           = 1550
 11464  	PAGE_ENCLAVE_DECOMMIT                                                          = 0x10000000
 11465  	PAGE_ENCLAVE_THREAD_CONTROL                                                    = 0x80000000
 11466  	PAGE_ENCLAVE_UNVALIDATED                                                       = 0x20000000
 11467  	PAGE_EXECUTE                                                                   = 0x10
 11468  	PAGE_EXECUTE_READ                                                              = 0x20
 11469  	PAGE_EXECUTE_READWRITE                                                         = 0x40
 11470  	PAGE_EXECUTE_WRITECOPY                                                         = 0x80
 11471  	PAGE_GRAPHICS_COHERENT                                                         = 0x20000
 11472  	PAGE_GRAPHICS_EXECUTE                                                          = 0x4000
 11473  	PAGE_GRAPHICS_EXECUTE_READ                                                     = 0x8000
 11474  	PAGE_GRAPHICS_EXECUTE_READWRITE                                                = 0x10000
 11475  	PAGE_GRAPHICS_NOACCESS                                                         = 0x0800
 11476  	PAGE_GRAPHICS_READONLY                                                         = 0x1000
 11477  	PAGE_GRAPHICS_READWRITE                                                        = 0x2000
 11478  	PAGE_GUARD                                                                     = 0x100
 11479  	PAGE_NOACCESS                                                                  = 0x01
 11480  	PAGE_NOCACHE                                                                   = 0x200
 11481  	PAGE_READONLY                                                                  = 0x02
 11482  	PAGE_READWRITE                                                                 = 0x04
 11483  	PAGE_REVERT_TO_FILE_MAP                                                        = 0x80000000
 11484  	PAGE_TARGETS_INVALID                                                           = 0x40000000
 11485  	PAGE_TARGETS_NO_UPDATE                                                         = 0x40000000
 11486  	PAGE_WRITECOMBINE                                                              = 0x400
 11487  	PAGE_WRITECOPY                                                                 = 0x08
 11488  	PANOSE_COUNT                                                                   = 10
 11489  	PAN_ANY                                                                        = 0
 11490  	PAN_ARMSTYLE_INDEX                                                             = 6
 11491  	PAN_BENT_ARMS_DOUBLE_SERIF                                                     = 11
 11492  	PAN_BENT_ARMS_HORZ                                                             = 7
 11493  	PAN_BENT_ARMS_SINGLE_SERIF                                                     = 10
 11494  	PAN_BENT_ARMS_VERT                                                             = 9
 11495  	PAN_BENT_ARMS_WEDGE                                                            = 8
 11496  	PAN_CONTRAST_HIGH                                                              = 8
 11497  	PAN_CONTRAST_INDEX                                                             = 4
 11498  	PAN_CONTRAST_LOW                                                               = 4
 11499  	PAN_CONTRAST_MEDIUM                                                            = 6
 11500  	PAN_CONTRAST_MEDIUM_HIGH                                                       = 7
 11501  	PAN_CONTRAST_MEDIUM_LOW                                                        = 5
 11502  	PAN_CONTRAST_NONE                                                              = 2
 11503  	PAN_CONTRAST_VERY_HIGH                                                         = 9
 11504  	PAN_CONTRAST_VERY_LOW                                                          = 3
 11505  	PAN_CULTURE_LATIN                                                              = 0
 11506  	PAN_FAMILYTYPE_INDEX                                                           = 0
 11507  	PAN_FAMILY_DECORATIVE                                                          = 4
 11508  	PAN_FAMILY_PICTORIAL                                                           = 5
 11509  	PAN_FAMILY_SCRIPT                                                              = 3
 11510  	PAN_FAMILY_TEXT_DISPLAY                                                        = 2
 11511  	PAN_LETTERFORM_INDEX                                                           = 7
 11512  	PAN_LETT_NORMAL_BOXED                                                          = 4
 11513  	PAN_LETT_NORMAL_CONTACT                                                        = 2
 11514  	PAN_LETT_NORMAL_FLATTENED                                                      = 5
 11515  	PAN_LETT_NORMAL_OFF_CENTER                                                     = 7
 11516  	PAN_LETT_NORMAL_ROUNDED                                                        = 6
 11517  	PAN_LETT_NORMAL_SQUARE                                                         = 8
 11518  	PAN_LETT_NORMAL_WEIGHTED                                                       = 3
 11519  	PAN_LETT_OBLIQUE_BOXED                                                         = 11
 11520  	PAN_LETT_OBLIQUE_CONTACT                                                       = 9
 11521  	PAN_LETT_OBLIQUE_FLATTENED                                                     = 12
 11522  	PAN_LETT_OBLIQUE_OFF_CENTER                                                    = 14
 11523  	PAN_LETT_OBLIQUE_ROUNDED                                                       = 13
 11524  	PAN_LETT_OBLIQUE_SQUARE                                                        = 15
 11525  	PAN_LETT_OBLIQUE_WEIGHTED                                                      = 10
 11526  	PAN_MIDLINE_CONSTANT_POINTED                                                   = 9
 11527  	PAN_MIDLINE_CONSTANT_SERIFED                                                   = 10
 11528  	PAN_MIDLINE_CONSTANT_TRIMMED                                                   = 8
 11529  	PAN_MIDLINE_HIGH_POINTED                                                       = 6
 11530  	PAN_MIDLINE_HIGH_SERIFED                                                       = 7
 11531  	PAN_MIDLINE_HIGH_TRIMMED                                                       = 5
 11532  	PAN_MIDLINE_INDEX                                                              = 8
 11533  	PAN_MIDLINE_LOW_POINTED                                                        = 12
 11534  	PAN_MIDLINE_LOW_SERIFED                                                        = 13
 11535  	PAN_MIDLINE_LOW_TRIMMED                                                        = 11
 11536  	PAN_MIDLINE_STANDARD_POINTED                                                   = 3
 11537  	PAN_MIDLINE_STANDARD_SERIFED                                                   = 4
 11538  	PAN_MIDLINE_STANDARD_TRIMMED                                                   = 2
 11539  	PAN_NO_FIT                                                                     = 1
 11540  	PAN_PROPORTION_INDEX                                                           = 3
 11541  	PAN_PROP_CONDENSED                                                             = 6
 11542  	PAN_PROP_EVEN_WIDTH                                                            = 4
 11543  	PAN_PROP_EXPANDED                                                              = 5
 11544  	PAN_PROP_MODERN                                                                = 3
 11545  	PAN_PROP_MONOSPACED                                                            = 9
 11546  	PAN_PROP_OLD_STYLE                                                             = 2
 11547  	PAN_PROP_VERY_CONDENSED                                                        = 8
 11548  	PAN_PROP_VERY_EXPANDED                                                         = 7
 11549  	PAN_SERIFSTYLE_INDEX                                                           = 1
 11550  	PAN_SERIF_BONE                                                                 = 8
 11551  	PAN_SERIF_COVE                                                                 = 2
 11552  	PAN_SERIF_EXAGGERATED                                                          = 9
 11553  	PAN_SERIF_FLARED                                                               = 14
 11554  	PAN_SERIF_NORMAL_SANS                                                          = 11
 11555  	PAN_SERIF_OBTUSE_COVE                                                          = 3
 11556  	PAN_SERIF_OBTUSE_SANS                                                          = 12
 11557  	PAN_SERIF_OBTUSE_SQUARE_COVE                                                   = 5
 11558  	PAN_SERIF_PERP_SANS                                                            = 13
 11559  	PAN_SERIF_ROUNDED                                                              = 15
 11560  	PAN_SERIF_SQUARE                                                               = 6
 11561  	PAN_SERIF_SQUARE_COVE                                                          = 4
 11562  	PAN_SERIF_THIN                                                                 = 7
 11563  	PAN_SERIF_TRIANGLE                                                             = 10
 11564  	PAN_STRAIGHT_ARMS_DOUBLE_SERIF                                                 = 6
 11565  	PAN_STRAIGHT_ARMS_HORZ                                                         = 2
 11566  	PAN_STRAIGHT_ARMS_SINGLE_SERIF                                                 = 5
 11567  	PAN_STRAIGHT_ARMS_VERT                                                         = 4
 11568  	PAN_STRAIGHT_ARMS_WEDGE                                                        = 3
 11569  	PAN_STROKEVARIATION_INDEX                                                      = 5
 11570  	PAN_STROKE_GRADUAL_DIAG                                                        = 2
 11571  	PAN_STROKE_GRADUAL_HORZ                                                        = 5
 11572  	PAN_STROKE_GRADUAL_TRAN                                                        = 3
 11573  	PAN_STROKE_GRADUAL_VERT                                                        = 4
 11574  	PAN_STROKE_INSTANT_VERT                                                        = 8
 11575  	PAN_STROKE_RAPID_HORZ                                                          = 7
 11576  	PAN_STROKE_RAPID_VERT                                                          = 6
 11577  	PAN_WEIGHT_BLACK                                                               = 10
 11578  	PAN_WEIGHT_BOLD                                                                = 8
 11579  	PAN_WEIGHT_BOOK                                                                = 5
 11580  	PAN_WEIGHT_DEMI                                                                = 7
 11581  	PAN_WEIGHT_HEAVY                                                               = 9
 11582  	PAN_WEIGHT_INDEX                                                               = 2
 11583  	PAN_WEIGHT_LIGHT                                                               = 3
 11584  	PAN_WEIGHT_MEDIUM                                                              = 6
 11585  	PAN_WEIGHT_NORD                                                                = 11
 11586  	PAN_WEIGHT_THIN                                                                = 4
 11587  	PAN_WEIGHT_VERY_LIGHT                                                          = 2
 11588  	PAN_XHEIGHT_CONSTANT_LARGE                                                     = 4
 11589  	PAN_XHEIGHT_CONSTANT_SMALL                                                     = 2
 11590  	PAN_XHEIGHT_CONSTANT_STD                                                       = 3
 11591  	PAN_XHEIGHT_DUCKING_LARGE                                                      = 7
 11592  	PAN_XHEIGHT_DUCKING_SMALL                                                      = 5
 11593  	PAN_XHEIGHT_DUCKING_STD                                                        = 6
 11594  	PAN_XHEIGHT_INDEX                                                              = 9
 11595  	PARAMFLAG_FHASCUSTDATA                                                         = 64
 11596  	PARAMFLAG_FHASDEFAULT                                                          = 32
 11597  	PARAMFLAG_FIN                                                                  = 1
 11598  	PARAMFLAG_FLCID                                                                = 4
 11599  	PARAMFLAG_FOPT                                                                 = 16
 11600  	PARAMFLAG_FOUT                                                                 = 2
 11601  	PARAMFLAG_FRETVAL                                                              = 8
 11602  	PARAMFLAG_NONE                                                                 = 0
 11603  	PARTITION_ENTRY_UNUSED                                                         = 0x00
 11604  	PARTITION_EXTENDED                                                             = 0x05
 11605  	PARTITION_FAT32                                                                = 0x0B
 11606  	PARTITION_FAT32_XINT13                                                         = 0x0C
 11607  	PARTITION_FAT_12                                                               = 0x01
 11608  	PARTITION_FAT_16                                                               = 0x04
 11609  	PARTITION_HUGE                                                                 = 0x06
 11610  	PARTITION_IFS                                                                  = 0x07
 11611  	PARTITION_LDM                                                                  = 0x42
 11612  	PARTITION_NTFT                                                                 = 0x80
 11613  	PARTITION_OS2BOOTMGR                                                           = 0x0A
 11614  	PARTITION_PREP                                                                 = 0x41
 11615  	PARTITION_UNIX                                                                 = 0x63
 11616  	PARTITION_XENIX_1                                                              = 0x02
 11617  	PARTITION_XENIX_2                                                              = 0x03
 11618  	PARTITION_XINT13                                                               = 0x0E
 11619  	PARTITION_XINT13_EXTENDED                                                      = 0x0F
 11620  	PASCAL                                                                         = 0
 11621  	PASSTHROUGH                                                                    = 19
 11622  	PBTF_APMRESUMEFROMFAILURE                                                      = 0x00000001
 11623  	PBT_APMBATTERYLOW                                                              = 0x0009
 11624  	PBT_APMOEMEVENT                                                                = 0x000B
 11625  	PBT_APMPOWERSTATUSCHANGE                                                       = 0x000A
 11626  	PBT_APMQUERYSTANDBY                                                            = 0x0001
 11627  	PBT_APMQUERYSTANDBYFAILED                                                      = 0x0003
 11628  	PBT_APMQUERYSUSPEND                                                            = 0x0000
 11629  	PBT_APMQUERYSUSPENDFAILED                                                      = 0x0002
 11630  	PBT_APMRESUMEAUTOMATIC                                                         = 0x0012
 11631  	PBT_APMRESUMECRITICAL                                                          = 0x0006
 11632  	PBT_APMRESUMESTANDBY                                                           = 0x0008
 11633  	PBT_APMRESUMESUSPEND                                                           = 0x0007
 11634  	PBT_APMSTANDBY                                                                 = 0x0005
 11635  	PBT_APMSUSPEND                                                                 = 0x0004
 11636  	PBT_POWERSETTINGCHANGE                                                         = 32787
 11637  	PCLEANUI                                                                       = 2214592512
 11638  	PC_EXPLICIT                                                                    = 0x02
 11639  	PC_INTERIORS                                                                   = 128
 11640  	PC_NOCOLLAPSE                                                                  = 0x04
 11641  	PC_NONE                                                                        = 0
 11642  	PC_PATHS                                                                       = 512
 11643  	PC_POLYGON                                                                     = 1
 11644  	PC_POLYPOLYGON                                                                 = 256
 11645  	PC_RECTANGLE                                                                   = 2
 11646  	PC_RESERVED                                                                    = 0x01
 11647  	PC_SCANLINE                                                                    = 8
 11648  	PC_STYLED                                                                      = 32
 11649  	PC_TRAPEZOID                                                                   = 4
 11650  	PC_WIDE                                                                        = 16
 11651  	PC_WIDESTYLED                                                                  = 64
 11652  	PC_WINDPOLYGON                                                                 = 4
 11653  	PDCAP_D0_SUPPORTED                                                             = 0x00000001
 11654  	PDCAP_D1_SUPPORTED                                                             = 0x00000002
 11655  	PDCAP_D2_SUPPORTED                                                             = 0x00000004
 11656  	PDCAP_D3_SUPPORTED                                                             = 0x00000008
 11657  	PDCAP_WAKE_FROM_D0_SUPPORTED                                                   = 0x00000010
 11658  	PDCAP_WAKE_FROM_D1_SUPPORTED                                                   = 0x00000020
 11659  	PDCAP_WAKE_FROM_D2_SUPPORTED                                                   = 0x00000040
 11660  	PDCAP_WAKE_FROM_D3_SUPPORTED                                                   = 0x00000080
 11661  	PDCAP_WARM_EJECT_SUPPORTED                                                     = 0x00000100
 11662  	PDERR_CREATEICFAILURE                                                          = 0x100A
 11663  	PDERR_DEFAULTDIFFERENT                                                         = 0x100C
 11664  	PDERR_DNDMMISMATCH                                                             = 0x1009
 11665  	PDERR_GETDEVMODEFAIL                                                           = 0x1005
 11666  	PDERR_INITFAILURE                                                              = 0x1006
 11667  	PDERR_LOADDRVFAILURE                                                           = 0x1004
 11668  	PDERR_NODEFAULTPRN                                                             = 0x1008
 11669  	PDERR_NODEVICES                                                                = 0x1007
 11670  	PDERR_PARSEFAILURE                                                             = 0x1002
 11671  	PDERR_PRINTERCODES                                                             = 0x1000
 11672  	PDERR_PRINTERNOTFOUND                                                          = 0x100B
 11673  	PDERR_RETDEFFAILURE                                                            = 0x1003
 11674  	PDERR_SETUPFAILURE                                                             = 0x1001
 11675  	PDEVICESIZE                                                                    = 26
 11676  	PDIRTYUI                                                                       = 2281701376
 11677  	PD_ALLPAGES                                                                    = 0x0
 11678  	PD_COLLATE                                                                     = 0x10
 11679  	PD_CURRENTPAGE                                                                 = 0x400000
 11680  	PD_DISABLEPRINTTOFILE                                                          = 0x80000
 11681  	PD_ENABLEPRINTHOOK                                                             = 0x1000
 11682  	PD_ENABLEPRINTTEMPLATE                                                         = 0x4000
 11683  	PD_ENABLEPRINTTEMPLATEHANDLE                                                   = 0x10000
 11684  	PD_ENABLESETUPHOOK                                                             = 0x2000
 11685  	PD_ENABLESETUPTEMPLATE                                                         = 0x8000
 11686  	PD_ENABLESETUPTEMPLATEHANDLE                                                   = 0x20000
 11687  	PD_EXCLUSIONFLAGS                                                              = 0x1000000
 11688  	PD_EXCL_COPIESANDCOLLATE                                                       = 33024
 11689  	PD_HIDEPRINTTOFILE                                                             = 0x100000
 11690  	PD_NOCURRENTPAGE                                                               = 0x800000
 11691  	PD_NONETWORKBUTTON                                                             = 0x200000
 11692  	PD_NOPAGENUMS                                                                  = 0x8
 11693  	PD_NOSELECTION                                                                 = 0x4
 11694  	PD_NOWARNING                                                                   = 0x80
 11695  	PD_PAGENUMS                                                                    = 0x2
 11696  	PD_PRINTSETUP                                                                  = 0x40
 11697  	PD_PRINTTOFILE                                                                 = 0x20
 11698  	PD_RESULT_APPLY                                                                = 2
 11699  	PD_RESULT_CANCEL                                                               = 0
 11700  	PD_RESULT_PRINT                                                                = 1
 11701  	PD_RETURNDC                                                                    = 0x100
 11702  	PD_RETURNDEFAULT                                                               = 0x400
 11703  	PD_RETURNIC                                                                    = 0x200
 11704  	PD_SELECTION                                                                   = 0x1
 11705  	PD_SHOWHELP                                                                    = 0x800
 11706  	PD_USEDEVMODECOPIES                                                            = 0x40000
 11707  	PD_USEDEVMODECOPIESANDCOLLATE                                                  = 0x40000
 11708  	PD_USELARGETEMPLATE                                                            = 0x10000000
 11709  	PERFORMANCE_DATA_VERSION                                                       = 1
 11710  	PERFSTATE_POLICY_CHANGE_IDEAL                                                  = 0
 11711  	PERFSTATE_POLICY_CHANGE_MAX                                                    = 2
 11712  	PERFSTATE_POLICY_CHANGE_ROCKET                                                 = 2
 11713  	PERFSTATE_POLICY_CHANGE_SINGLE                                                 = 1
 11714  	PERF_100NSEC_MULTI_TIMER                                                       = 575735040
 11715  	PERF_100NSEC_MULTI_TIMER_INV                                                   = 592512256
 11716  	PERF_100NSEC_TIMER                                                             = 542180608
 11717  	PERF_100NSEC_TIMER_INV                                                         = 558957824
 11718  	PERF_AVERAGE_BASE                                                              = 1073939458
 11719  	PERF_AVERAGE_BULK                                                              = 1073874176
 11720  	PERF_AVERAGE_TIMER                                                             = 805438464
 11721  	PERF_COUNTER_100NS_QUEUELEN_TYPE                                               = 5571840
 11722  	PERF_COUNTER_BASE                                                              = 0x00030000
 11723  	PERF_COUNTER_BULK_COUNT                                                        = 272696576
 11724  	PERF_COUNTER_COUNTER                                                           = 272696320
 11725  	PERF_COUNTER_DELTA                                                             = 4195328
 11726  	PERF_COUNTER_ELAPSED                                                           = 0x00040000
 11727  	PERF_COUNTER_FRACTION                                                          = 0x00020000
 11728  	PERF_COUNTER_HISTOGRAM                                                         = 0x00060000
 11729  	PERF_COUNTER_HISTOGRAM_TYPE                                                    = 0x80000000
 11730  	PERF_COUNTER_LARGE_DELTA                                                       = 4195584
 11731  	PERF_COUNTER_LARGE_QUEUELEN_TYPE                                               = 4523264
 11732  	PERF_COUNTER_LARGE_RAWCOUNT                                                    = 65792
 11733  	PERF_COUNTER_LARGE_RAWCOUNT_HEX                                                = 256
 11734  	PERF_COUNTER_MULTI_BASE                                                        = 1107494144
 11735  	PERF_COUNTER_MULTI_TIMER                                                       = 574686464
 11736  	PERF_COUNTER_MULTI_TIMER_INV                                                   = 591463680
 11737  	PERF_COUNTER_NODATA                                                            = 1073742336
 11738  	PERF_COUNTER_OBJ_TIME_QUEUELEN_TYPE                                            = 6620416
 11739  	PERF_COUNTER_PRECISION                                                         = 0x00070000
 11740  	PERF_COUNTER_QUEUELEN                                                          = 0x00050000
 11741  	PERF_COUNTER_QUEUELEN_TYPE                                                     = 4523008
 11742  	PERF_COUNTER_RATE                                                              = 0x00010000
 11743  	PERF_COUNTER_RAWCOUNT                                                          = 65536
 11744  	PERF_COUNTER_RAWCOUNT_HEX                                                      = 0
 11745  	PERF_COUNTER_TEXT                                                              = 2816
 11746  	PERF_COUNTER_TIMER                                                             = 541132032
 11747  	PERF_COUNTER_TIMER_INV                                                         = 557909248
 11748  	PERF_COUNTER_VALUE                                                             = 0x00000000
 11749  	PERF_DATA_REVISION                                                             = 1
 11750  	PERF_DATA_VERSION                                                              = 1
 11751  	PERF_DELTA_BASE                                                                = 0x00800000
 11752  	PERF_DELTA_COUNTER                                                             = 0x00400000
 11753  	PERF_DETAIL_ADVANCED                                                           = 200
 11754  	PERF_DETAIL_EXPERT                                                             = 300
 11755  	PERF_DETAIL_NOVICE                                                             = 100
 11756  	PERF_DETAIL_WIZARD                                                             = 400
 11757  	PERF_DISPLAY_NOSHOW                                                            = 0x40000000
 11758  	PERF_DISPLAY_NO_SUFFIX                                                         = 0x00000000
 11759  	PERF_DISPLAY_PERCENT                                                           = 0x20000000
 11760  	PERF_DISPLAY_PER_SEC                                                           = 0x10000000
 11761  	PERF_DISPLAY_SECONDS                                                           = 0x30000000
 11762  	PERF_ELAPSED_TIME                                                              = 807666944
 11763  	PERF_INVERSE_COUNTER                                                           = 0x01000000
 11764  	PERF_LARGE_RAW_BASE                                                            = 1073939712
 11765  	PERF_LARGE_RAW_FRACTION                                                        = 537003264
 11766  	PERF_MULTI_COUNTER                                                             = 0x02000000
 11767  	PERF_NO_INSTANCES                                                              = -1
 11768  	PERF_NO_UNIQUE_ID                                                              = -1
 11769  	PERF_NUMBER_DECIMAL                                                            = 0x00010000
 11770  	PERF_NUMBER_DEC_1000                                                           = 0x00020000
 11771  	PERF_NUMBER_HEX                                                                = 0x00000000
 11772  	PERF_OBJECT_TIMER                                                              = 0x00200000
 11773  	PERF_OBJ_TIME_TIMER                                                            = 543229184
 11774  	PERF_PRECISION_100NS_TIMER                                                     = 542573824
 11775  	PERF_PRECISION_OBJECT_TIMER                                                    = 543622400
 11776  	PERF_PRECISION_SYSTEM_TIMER                                                    = 541525248
 11777  	PERF_PRECISION_TIMESTAMP                                                       = 1073939712
 11778  	PERF_RAW_BASE                                                                  = 1073939459
 11779  	PERF_RAW_FRACTION                                                              = 537003008
 11780  	PERF_SAMPLE_BASE                                                               = 1073939457
 11781  	PERF_SAMPLE_COUNTER                                                            = 4260864
 11782  	PERF_SAMPLE_FRACTION                                                           = 549585920
 11783  	PERF_SIZE_DWORD                                                                = 0x00000000
 11784  	PERF_SIZE_LARGE                                                                = 0x00000100
 11785  	PERF_SIZE_VARIABLE_LEN                                                         = 0x00000300
 11786  	PERF_SIZE_ZERO                                                                 = 0x00000200
 11787  	PERF_TEXT_ASCII                                                                = 0x00010000
 11788  	PERF_TEXT_UNICODE                                                              = 0x00000000
 11789  	PERF_TIMER_100NS                                                               = 0x00100000
 11790  	PERF_TIMER_TICK                                                                = 0x00000000
 11791  	PERF_TYPE_COUNTER                                                              = 0x00000400
 11792  	PERF_TYPE_NUMBER                                                               = 0x00000000
 11793  	PERF_TYPE_TEXT                                                                 = 0x00000800
 11794  	PERF_TYPE_ZERO                                                                 = 0x00000C00
 11795  	PFD_DEPTH_DONTCARE                                                             = 0x20000000
 11796  	PFD_DIRECT3D_ACCELERATED                                                       = 0x00004000
 11797  	PFD_DOUBLEBUFFER                                                               = 0x00000001
 11798  	PFD_DOUBLEBUFFER_DONTCARE                                                      = 0x40000000
 11799  	PFD_DRAW_TO_BITMAP                                                             = 0x00000008
 11800  	PFD_DRAW_TO_WINDOW                                                             = 0x00000004
 11801  	PFD_GENERIC_ACCELERATED                                                        = 0x00001000
 11802  	PFD_GENERIC_FORMAT                                                             = 0x00000040
 11803  	PFD_MAIN_PLANE                                                                 = 0
 11804  	PFD_NEED_PALETTE                                                               = 0x00000080
 11805  	PFD_NEED_SYSTEM_PALETTE                                                        = 0x00000100
 11806  	PFD_OVERLAY_PLANE                                                              = 1
 11807  	PFD_STEREO                                                                     = 0x00000002
 11808  	PFD_STEREO_DONTCARE                                                            = 0x80000000
 11809  	PFD_SUPPORT_COMPOSITION                                                        = 0x00008000
 11810  	PFD_SUPPORT_DIRECTDRAW                                                         = 0x00002000
 11811  	PFD_SUPPORT_GDI                                                                = 0x00000010
 11812  	PFD_SUPPORT_OPENGL                                                             = 0x00000020
 11813  	PFD_SWAP_COPY                                                                  = 0x00000400
 11814  	PFD_SWAP_EXCHANGE                                                              = 0x00000200
 11815  	PFD_SWAP_LAYER_BUFFERS                                                         = 0x00000800
 11816  	PFD_TYPE_COLORINDEX                                                            = 1
 11817  	PFD_TYPE_RGBA                                                                  = 0
 11818  	PFD_UNDERLAY_PLANE                                                             = -1
 11819  	PF_3DNOW_INSTRUCTIONS_AVAILABLE                                                = 7
 11820  	PF_ALPHA_BYTE_INSTRUCTIONS                                                     = 5
 11821  	PF_APPLETALK                                                                   = 16
 11822  	PF_ARM_64BIT_LOADSTORE_ATOMIC                                                  = 25
 11823  	PF_ARM_DIVIDE_INSTRUCTION_AVAILABLE                                            = 24
 11824  	PF_ARM_EXTERNAL_CACHE_AVAILABLE                                                = 26
 11825  	PF_ARM_FMAC_INSTRUCTIONS_AVAILABLE                                             = 27
 11826  	PF_ARM_NEON_INSTRUCTIONS_AVAILABLE                                             = 19
 11827  	PF_ARM_V8_CRC32_INSTRUCTIONS_AVAILABLE                                         = 31
 11828  	PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE                                        = 30
 11829  	PF_ARM_V8_INSTRUCTIONS_AVAILABLE                                               = 29
 11830  	PF_ARM_VFP_32_REGISTERS_AVAILABLE                                              = 18
 11831  	PF_BAN                                                                         = 21
 11832  	PF_CCITT                                                                       = 10
 11833  	PF_CHANNELS_ENABLED                                                            = 16
 11834  	PF_CHAOS                                                                       = 5
 11835  	PF_COMPARE64_EXCHANGE128                                                       = 15
 11836  	PF_COMPARE_EXCHANGE128                                                         = 14
 11837  	PF_COMPARE_EXCHANGE_DOUBLE                                                     = 2
 11838  	PF_DATAKIT                                                                     = 9
 11839  	PF_DECnet                                                                      = 12
 11840  	PF_DLI                                                                         = 13
 11841  	PF_ECMA                                                                        = 8
 11842  	PF_FASTFAIL_AVAILABLE                                                          = 23
 11843  	PF_FIREFOX                                                                     = 19
 11844  	PF_FLOATING_POINT_EMULATED                                                     = 1
 11845  	PF_FLOATING_POINT_PRECISION_ERRATA                                             = 0
 11846  	PF_HYLINK                                                                      = 15
 11847  	PF_IMPLINK                                                                     = 3
 11848  	PF_INET                                                                        = 2
 11849  	PF_IPX                                                                         = 6
 11850  	PF_ISO                                                                         = 7
 11851  	PF_LAT                                                                         = 14
 11852  	PF_MAX                                                                         = 22
 11853  	PF_MMX_INSTRUCTIONS_AVAILABLE                                                  = 3
 11854  	PF_NS                                                                          = 6
 11855  	PF_NX_ENABLED                                                                  = 12
 11856  	PF_OSI                                                                         = 7
 11857  	PF_PAE_ENABLED                                                                 = 9
 11858  	PF_PPC_MOVEMEM_64BIT_OK                                                        = 4
 11859  	PF_PUP                                                                         = 4
 11860  	PF_RDPID_INSTRUCTION_AVAILABLE                                                 = 33
 11861  	PF_RDRAND_INSTRUCTION_AVAILABLE                                                = 28
 11862  	PF_RDTSCP_INSTRUCTION_AVAILABLE                                                = 32
 11863  	PF_RDTSC_INSTRUCTION_AVAILABLE                                                 = 8
 11864  	PF_RDWRFSGSBASE_AVAILABLE                                                      = 22
 11865  	PF_SECOND_LEVEL_ADDRESS_TRANSLATION                                            = 20
 11866  	PF_SNA                                                                         = 11
 11867  	PF_SSE3_INSTRUCTIONS_AVAILABLE                                                 = 13
 11868  	PF_SSE_DAZ_MODE_AVAILABLE                                                      = 11
 11869  	PF_UNIX                                                                        = 1
 11870  	PF_UNKNOWN1                                                                    = 20
 11871  	PF_UNSPEC                                                                      = 0
 11872  	PF_VIRT_FIRMWARE_ENABLED                                                       = 21
 11873  	PF_VOICEVIEW                                                                   = 18
 11874  	PF_XMMI64_INSTRUCTIONS_AVAILABLE                                               = 10
 11875  	PF_XMMI_INSTRUCTIONS_AVAILABLE                                                 = 6
 11876  	PF_XSAVE_ENABLED                                                               = 17
 11877  	PHYSICALHEIGHT                                                                 = 111
 11878  	PHYSICALOFFSETX                                                                = 112
 11879  	PHYSICALOFFSETY                                                                = 113
 11880  	PHYSICALWIDTH                                                                  = 110
 11881  	PIDDI_THUMBNAIL                                                                = 2
 11882  	PIDDSI_BYTECOUNT                                                               = 0x00000004
 11883  	PIDDSI_CATEGORY                                                                = 0x00000002
 11884  	PIDDSI_COMPANY                                                                 = 0x0000000F
 11885  	PIDDSI_DOCPARTS                                                                = 0x0000000D
 11886  	PIDDSI_HEADINGPAIR                                                             = 0x0000000C
 11887  	PIDDSI_HIDDENCOUNT                                                             = 0x00000009
 11888  	PIDDSI_LINECOUNT                                                               = 0x00000005
 11889  	PIDDSI_LINKSDIRTY                                                              = 0x00000010
 11890  	PIDDSI_MANAGER                                                                 = 0x0000000E
 11891  	PIDDSI_MMCLIPCOUNT                                                             = 0x0000000A
 11892  	PIDDSI_NOTECOUNT                                                               = 0x00000008
 11893  	PIDDSI_PARCOUNT                                                                = 0x00000006
 11894  	PIDDSI_PRESFORMAT                                                              = 0x00000003
 11895  	PIDDSI_SCALE                                                                   = 0x0000000B
 11896  	PIDDSI_SLIDECOUNT                                                              = 0x00000007
 11897  	PIDMSI_COPYRIGHT                                                               = 11
 11898  	PIDMSI_EDITOR                                                                  = 2
 11899  	PIDMSI_OWNER                                                                   = 8
 11900  	PIDMSI_PRODUCTION                                                              = 10
 11901  	PIDMSI_PROJECT                                                                 = 6
 11902  	PIDMSI_RATING                                                                  = 9
 11903  	PIDMSI_SEQUENCE_NO                                                             = 5
 11904  	PIDMSI_SOURCE                                                                  = 4
 11905  	PIDMSI_STATUS                                                                  = 7
 11906  	PIDMSI_SUPPLIER                                                                = 3
 11907  	PIDSI_APPNAME                                                                  = 18
 11908  	PIDSI_AUTHOR                                                                   = 4
 11909  	PIDSI_CHARCOUNT                                                                = 16
 11910  	PIDSI_COMMENTS                                                                 = 6
 11911  	PIDSI_CREATE_DTM                                                               = 12
 11912  	PIDSI_DOC_SECURITY                                                             = 19
 11913  	PIDSI_EDITTIME                                                                 = 10
 11914  	PIDSI_KEYWORDS                                                                 = 5
 11915  	PIDSI_LASTAUTHOR                                                               = 8
 11916  	PIDSI_LASTPRINTED                                                              = 11
 11917  	PIDSI_LASTSAVE_DTM                                                             = 13
 11918  	PIDSI_PAGECOUNT                                                                = 14
 11919  	PIDSI_REVNUMBER                                                                = 9
 11920  	PIDSI_SUBJECT                                                                  = 3
 11921  	PIDSI_TEMPLATE                                                                 = 7
 11922  	PIDSI_THUMBNAIL                                                                = 17
 11923  	PIDSI_TITLE                                                                    = 2
 11924  	PIDSI_WORDCOUNT                                                                = 15
 11925  	PID_BEHAVIOR                                                                   = 2147483651
 11926  	PID_CODEPAGE                                                                   = 1
 11927  	PID_DICTIONARY                                                                 = 0
 11928  	PID_FIRST_NAME_DEFAULT                                                         = 4095
 11929  	PID_FIRST_USABLE                                                               = 2
 11930  	PID_ILLEGAL                                                                    = 4294967295
 11931  	PID_LOCALE                                                                     = 2147483648
 11932  	PID_MAX_READONLY                                                               = 3221225471
 11933  	PID_MIN_READONLY                                                               = 2147483648
 11934  	PID_MODIFY_TIME                                                                = 2147483649
 11935  	PID_SECURITY                                                                   = 2147483650
 11936  	PIPE_ACCEPT_REMOTE_CLIENTS                                                     = 0x0
 11937  	PIPE_ACCESS_DUPLEX                                                             = 0x3
 11938  	PIPE_ACCESS_INBOUND                                                            = 0x1
 11939  	PIPE_ACCESS_OUTBOUND                                                           = 0x2
 11940  	PIPE_CLIENT_END                                                                = 0x0
 11941  	PIPE_NOWAIT                                                                    = 0x1
 11942  	PIPE_READMODE_BYTE                                                             = 0x0
 11943  	PIPE_READMODE_MESSAGE                                                          = 0x2
 11944  	PIPE_REJECT_REMOTE_CLIENTS                                                     = 0x8
 11945  	PIPE_SERVER_END                                                                = 0x1
 11946  	PIPE_TYPE_BYTE                                                                 = 0x0
 11947  	PIPE_TYPE_MESSAGE                                                              = 0x4
 11948  	PIPE_UNLIMITED_INSTANCES                                                       = 255
 11949  	PIPE_WAIT                                                                      = 0x0
 11950  	PKCS12_ALLOW_OVERWRITE_KEY                                                     = 0x4000
 11951  	PKCS12_ALWAYS_CNG_KSP                                                          = 0x200
 11952  	PKCS12_DISABLE_ENCRYPT_CERTIFICATES                                            = 0x0100
 11953  	PKCS12_ENCRYPT_CERTIFICATES                                                    = 0x0200
 11954  	PKCS12_EXPORT_ECC_CURVE_OID                                                    = 0x2000
 11955  	PKCS12_EXPORT_ECC_CURVE_PARAMETERS                                             = 0x1000
 11956  	PKCS12_EXPORT_PBES2_PARAMS                                                     = 0x0080
 11957  	PKCS12_EXPORT_RESERVED_MASK                                                    = 0xffff0000
 11958  	PKCS12_EXPORT_SILENT                                                           = 0x40
 11959  	PKCS12_IMPORT_RESERVED_MASK                                                    = 0xffff0000
 11960  	PKCS12_IMPORT_SILENT                                                           = 0x40
 11961  	PKCS12_INCLUDE_EXTENDED_PROPERTIES                                             = 0x10
 11962  	PKCS12_NO_PERSIST_KEY                                                          = 0x8000
 11963  	PKCS12_OBJECT_LOCATOR_ALL_IMPORT_FLAGS                                         = 33360
 11964  	PKCS12_ONLY_CERTIFICATES                                                       = 0x00000400
 11965  	PKCS12_ONLY_CERTIFICATES_PROVIDER_TYPE                                         = 0
 11966  	PKCS12_ONLY_NOT_ENCRYPTED_CERTIFICATES                                         = 0x00000800
 11967  	PKCS12_PBKDF2_ID_HMAC_SHA1                                                     = "1.2.840.113549.2.7"
 11968  	PKCS12_PBKDF2_ID_HMAC_SHA256                                                   = "1.2.840.113549.2.9"
 11969  	PKCS12_PBKDF2_ID_HMAC_SHA384                                                   = "1.2.840.113549.2.10"
 11970  	PKCS12_PBKDF2_ID_HMAC_SHA512                                                   = "1.2.840.113549.2.11"
 11971  	PKCS12_PREFER_CNG_KSP                                                          = 0x100
 11972  	PKCS12_PROTECT_TO_DOMAIN_SIDS                                                  = 0x20
 11973  	PKCS12_VIRTUAL_ISOLATION_KEY                                                   = 0x00010000
 11974  	PKCS5_PADDING                                                                  = 1
 11975  	PKCS_7_ASN_ENCODING                                                            = 0x10000
 11976  	PKCS_7_NDR_ENCODING                                                            = 0x20000
 11977  	PKCS_RSA_SSA_PSS_TRAILER_FIELD_BC                                              = 1
 11978  	PLAINTEXTKEYBLOB                                                               = 0x8
 11979  	PLANES                                                                         = 14
 11980  	PMB_ACTIVE                                                                     = 0x00000001
 11981  	PM_NOREMOVE                                                                    = 0x0000
 11982  	PM_NOYIELD                                                                     = 0x0002
 11983  	PM_QS_INPUT                                                                    = 67567616
 11984  	PM_QS_PAINT                                                                    = 2097152
 11985  	PM_QS_POSTMESSAGE                                                              = 9961472
 11986  	PM_QS_SENDMESSAGE                                                              = 4194304
 11987  	PM_REMOVE                                                                      = 0x0001
 11988  	POINTER_32                                                                     = 0
 11989  	POINTER_64                                                                     = 0
 11990  	POINTER_SIGNED                                                                 = 0
 11991  	POINTER_UNSIGNED                                                               = 0
 11992  	POLICY_AUDIT_SUBCATEGORY_COUNT                                                 = 56
 11993  	POLICY_SHOWREASONUI_ALWAYS                                                     = 1
 11994  	POLICY_SHOWREASONUI_NEVER                                                      = 0
 11995  	POLICY_SHOWREASONUI_SERVERONLY                                                 = 3
 11996  	POLICY_SHOWREASONUI_WORKSTATIONONLY                                            = 2
 11997  	POLYFILL_LAST                                                                  = 2
 11998  	POLYGONALCAPS                                                                  = 32
 11999  	PORT_STATUS_DOOR_OPEN                                                          = 7
 12000  	PORT_STATUS_NO_TONER                                                           = 6
 12001  	PORT_STATUS_OFFLINE                                                            = 1
 12002  	PORT_STATUS_OUTPUT_BIN_FULL                                                    = 4
 12003  	PORT_STATUS_OUT_OF_MEMORY                                                      = 9
 12004  	PORT_STATUS_PAPER_JAM                                                          = 2
 12005  	PORT_STATUS_PAPER_OUT                                                          = 3
 12006  	PORT_STATUS_PAPER_PROBLEM                                                      = 5
 12007  	PORT_STATUS_POWER_SAVE                                                         = 12
 12008  	PORT_STATUS_TONER_LOW                                                          = 10
 12009  	PORT_STATUS_TYPE_ERROR                                                         = 1
 12010  	PORT_STATUS_TYPE_INFO                                                          = 3
 12011  	PORT_STATUS_TYPE_WARNING                                                       = 2
 12012  	PORT_STATUS_USER_INTERVENTION                                                  = 8
 12013  	PORT_STATUS_WARMING_UP                                                         = 11
 12014  	PORT_TYPE_NET_ATTACHED                                                         = 0x0008
 12015  	PORT_TYPE_READ                                                                 = 0x0002
 12016  	PORT_TYPE_REDIRECTED                                                           = 0x0004
 12017  	PORT_TYPE_WRITE                                                                = 0x0001
 12018  	POSTSCRIPT_DATA                                                                = 37
 12019  	POSTSCRIPT_IDENTIFY                                                            = 4117
 12020  	POSTSCRIPT_IGNORE                                                              = 38
 12021  	POSTSCRIPT_INJECTION                                                           = 4118
 12022  	POSTSCRIPT_PASSTHROUGH                                                         = 4115
 12023  	POWERBUTTON_ACTION_INDEX_HIBERNATE                                             = 2
 12024  	POWERBUTTON_ACTION_INDEX_NOTHING                                               = 0
 12025  	POWERBUTTON_ACTION_INDEX_SHUTDOWN                                              = 3
 12026  	POWERBUTTON_ACTION_INDEX_SLEEP                                                 = 1
 12027  	POWERBUTTON_ACTION_VALUE_HIBERNATE                                             = 3
 12028  	POWERBUTTON_ACTION_VALUE_NOTHING                                               = 0
 12029  	POWERBUTTON_ACTION_VALUE_SHUTDOWN                                              = 6
 12030  	POWERBUTTON_ACTION_VALUE_SLEEP                                                 = 2
 12031  	POWER_ACTION_CRITICAL                                                          = 0x80000000
 12032  	POWER_ACTION_DISABLE_WAKES                                                     = 0x40000000
 12033  	POWER_ACTION_HIBERBOOT                                                         = 0x00000008
 12034  	POWER_ACTION_LIGHTEST_FIRST                                                    = 0x10000000
 12035  	POWER_ACTION_LOCK_CONSOLE                                                      = 0x20000000
 12036  	POWER_ACTION_OVERRIDE_APPS                                                     = 0x00000004
 12037  	POWER_ACTION_PSEUDO_TRANSITION                                                 = 0x08000000
 12038  	POWER_ACTION_QUERY_ALLOWED                                                     = 0x00000001
 12039  	POWER_ACTION_UI_ALLOWED                                                        = 0x00000002
 12040  	POWER_DEVICE_IDLE_POLICY_CONSERVATIVE                                          = 1
 12041  	POWER_DEVICE_IDLE_POLICY_PERFORMANCE                                           = 0
 12042  	POWER_FORCE_TRIGGER_RESET                                                      = 0x80000000
 12043  	POWER_LEVEL_USER_NOTIFY_EXEC                                                   = 0x00000004
 12044  	POWER_LEVEL_USER_NOTIFY_SOUND                                                  = 0x00000002
 12045  	POWER_LEVEL_USER_NOTIFY_TEXT                                                   = 0x00000001
 12046  	POWER_PLATFORM_ROLE_V1                                                         = 1
 12047  	POWER_PLATFORM_ROLE_V2                                                         = 2
 12048  	POWER_PLATFORM_ROLE_VERSION                                                    = 1
 12049  	POWER_REQUEST_CONTEXT_DETAILED_STRING                                          = 0x00000002
 12050  	POWER_REQUEST_CONTEXT_SIMPLE_STRING                                            = 0x00000001
 12051  	POWER_REQUEST_CONTEXT_VERSION                                                  = 0
 12052  	POWER_SETTING_VALUE_VERSION                                                    = 1
 12053  	POWER_SYSTEM_MAXIMUM                                                           = 7
 12054  	POWER_USER_NOTIFY_BUTTON                                                       = 0x00000008
 12055  	POWER_USER_NOTIFY_FORCED_SHUTDOWN                                              = 0x00000020
 12056  	POWER_USER_NOTIFY_SHUTDOWN                                                     = 0x00000010
 12057  	PO_DELETE                                                                      = 0x0013
 12058  	PO_PORTCHANGE                                                                  = 0x0020
 12059  	PO_RENAME                                                                      = 0x0014
 12060  	PO_REN_PORT                                                                    = 0x0034
 12061  	PO_THROTTLE_ADAPTIVE                                                           = 3
 12062  	PO_THROTTLE_CONSTANT                                                           = 1
 12063  	PO_THROTTLE_DEGRADE                                                            = 2
 12064  	PO_THROTTLE_MAXIMUM                                                            = 4
 12065  	PO_THROTTLE_NONE                                                               = 0
 12066  	PPM_FIRMWARE_ACPI1C2                                                           = 0x1
 12067  	PPM_FIRMWARE_ACPI1C3                                                           = 0x2
 12068  	PPM_FIRMWARE_ACPI1TSTATES                                                      = 0x4
 12069  	PPM_FIRMWARE_CPC                                                               = 0x40000
 12070  	PPM_FIRMWARE_CSD                                                               = 0x10
 12071  	PPM_FIRMWARE_CST                                                               = 0x8
 12072  	PPM_FIRMWARE_OSC                                                               = 0x10000
 12073  	PPM_FIRMWARE_PCCH                                                              = 0x4000
 12074  	PPM_FIRMWARE_PCCP                                                              = 0x8000
 12075  	PPM_FIRMWARE_PCT                                                               = 0x20
 12076  	PPM_FIRMWARE_PDC                                                               = 0x20000
 12077  	PPM_FIRMWARE_PPC                                                               = 0x100
 12078  	PPM_FIRMWARE_PSD                                                               = 0x200
 12079  	PPM_FIRMWARE_PSS                                                               = 0x40
 12080  	PPM_FIRMWARE_PTC                                                               = 0x400
 12081  	PPM_FIRMWARE_TPC                                                               = 0x1000
 12082  	PPM_FIRMWARE_TSD                                                               = 0x2000
 12083  	PPM_FIRMWARE_TSS                                                               = 0x800
 12084  	PPM_FIRMWARE_XPSS                                                              = 0x80
 12085  	PPM_IDLE_IMPLEMENTATION_CSTATES                                                = 0x1
 12086  	PPM_IDLE_IMPLEMENTATION_NONE                                                   = 0x0
 12087  	PPM_IDLE_IMPLEMENTATION_PEP                                                    = 0x2
 12088  	PPM_PERFORMANCE_IMPLEMENTATION_CPPC                                            = 3
 12089  	PPM_PERFORMANCE_IMPLEMENTATION_NONE                                            = 0
 12090  	PPM_PERFORMANCE_IMPLEMENTATION_PCCV1                                           = 2
 12091  	PPM_PERFORMANCE_IMPLEMENTATION_PEP                                             = 4
 12092  	PPM_PERFORMANCE_IMPLEMENTATION_PSTATES                                         = 1
 12093  	PP_ADMIN_PIN                                                                   = 31
 12094  	PP_APPLI_CERT                                                                  = 18
 12095  	PP_CERTCHAIN                                                                   = 9
 12096  	PP_CHANGE_PASSWORD                                                             = 7
 12097  	PP_CLIENT_HWND                                                                 = 1
 12098  	PP_CONTAINER                                                                   = 6
 12099  	PP_CONTEXT_INFO                                                                = 11
 12100  	PP_CRYPT_COUNT_KEY_USE                                                         = 41
 12101  	PP_DELETEKEY                                                                   = 24
 12102  	PP_DISPLAYERRORS                                                               = 0x01
 12103  	PP_ENUMALGS                                                                    = 1
 12104  	PP_ENUMALGS_EX                                                                 = 22
 12105  	PP_ENUMCONTAINERS                                                              = 2
 12106  	PP_ENUMELECTROOTS                                                              = 26
 12107  	PP_ENUMEX_SIGNING_PROT                                                         = 40
 12108  	PP_ENUMMANDROOTS                                                               = 25
 12109  	PP_IMPTYPE                                                                     = 3
 12110  	PP_KEYEXCHANGE_ALG                                                             = 14
 12111  	PP_KEYEXCHANGE_KEYSIZE                                                         = 12
 12112  	PP_KEYEXCHANGE_PIN                                                             = 32
 12113  	PP_KEYSET_SEC_DESCR                                                            = 8
 12114  	PP_KEYSET_TYPE                                                                 = 27
 12115  	PP_KEYSPEC                                                                     = 39
 12116  	PP_KEYSTORAGE                                                                  = 17
 12117  	PP_KEYX_KEYSIZE_INC                                                            = 35
 12118  	PP_KEY_TYPE_SUBTYPE                                                            = 10
 12119  	PP_NAME                                                                        = 4
 12120  	PP_PROVTYPE                                                                    = 16
 12121  	PP_SESSION_KEYSIZE                                                             = 20
 12122  	PP_SGC_INFO                                                                    = 37
 12123  	PP_SIGNATURE_ALG                                                               = 15
 12124  	PP_SIGNATURE_KEYSIZE                                                           = 13
 12125  	PP_SIGNATURE_PIN                                                               = 33
 12126  	PP_SIG_KEYSIZE_INC                                                             = 34
 12127  	PP_SYM_KEYSIZE                                                                 = 19
 12128  	PP_UI_PROMPT                                                                   = 21
 12129  	PP_UNIQUE_CONTAINER                                                            = 36
 12130  	PP_USE_HARDWARE_RNG                                                            = 38
 12131  	PP_VERSION                                                                     = 5
 12132  	PRAGMA_DEPRECATED_DDK                                                          = 0
 12133  	PRF_CHECKVISIBLE                                                               = 1
 12134  	PRF_CHILDREN                                                                   = 16
 12135  	PRF_CLIENT                                                                     = 4
 12136  	PRF_ERASEBKGND                                                                 = 8
 12137  	PRF_NONCLIENT                                                                  = 2
 12138  	PRF_OWNED                                                                      = 32
 12139  	PRINTACTION_DOCUMENTDEFAULTS                                                   = 6
 12140  	PRINTACTION_NETINSTALL                                                         = 2
 12141  	PRINTACTION_NETINSTALLLINK                                                     = 3
 12142  	PRINTACTION_OPEN                                                               = 0
 12143  	PRINTACTION_OPENNETPRN                                                         = 5
 12144  	PRINTACTION_PROPERTIES                                                         = 1
 12145  	PRINTACTION_SERVERPROPERTIES                                                   = 7
 12146  	PRINTACTION_TESTPAGE                                                           = 4
 12147  	PRINTDLGEXORD                                                                  = 1549
 12148  	PRINTDLGORD                                                                    = 1538
 12149  	PRINTER_ACCESS_ADMINISTER                                                      = 0x00000004
 12150  	PRINTER_ACCESS_USE                                                             = 0x00000008
 12151  	PRINTER_ALL_ACCESS                                                             = 983052
 12152  	PRINTER_ATTRIBUTE_DEFAULT                                                      = 0x00000004
 12153  	PRINTER_ATTRIBUTE_DIRECT                                                       = 0x00000002
 12154  	PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST                                            = 0x00000200
 12155  	PRINTER_ATTRIBUTE_ENABLE_BIDI                                                  = 0x00000800
 12156  	PRINTER_ATTRIBUTE_ENABLE_DEVQ                                                  = 0x00000080
 12157  	PRINTER_ATTRIBUTE_FAX                                                          = 0x00004000
 12158  	PRINTER_ATTRIBUTE_HIDDEN                                                       = 0x00000020
 12159  	PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS                                              = 0x00000100
 12160  	PRINTER_ATTRIBUTE_LOCAL                                                        = 0x00000040
 12161  	PRINTER_ATTRIBUTE_NETWORK                                                      = 0x00000010
 12162  	PRINTER_ATTRIBUTE_PUBLISHED                                                    = 0x00002000
 12163  	PRINTER_ATTRIBUTE_QUEUED                                                       = 0x00000001
 12164  	PRINTER_ATTRIBUTE_RAW_ONLY                                                     = 0x00001000
 12165  	PRINTER_ATTRIBUTE_SHARED                                                       = 0x00000008
 12166  	PRINTER_ATTRIBUTE_TS                                                           = 0x00008000
 12167  	PRINTER_ATTRIBUTE_WORK_OFFLINE                                                 = 0x00000400
 12168  	PRINTER_CHANGE_ADD_FORM                                                        = 0x00010000
 12169  	PRINTER_CHANGE_ADD_JOB                                                         = 0x00000100
 12170  	PRINTER_CHANGE_ADD_PORT                                                        = 0x00100000
 12171  	PRINTER_CHANGE_ADD_PRINTER                                                     = 0x00000001
 12172  	PRINTER_CHANGE_ADD_PRINTER_DRIVER                                              = 0x10000000
 12173  	PRINTER_CHANGE_ADD_PRINT_PROCESSOR                                             = 0x01000000
 12174  	PRINTER_CHANGE_ALL                                                             = 0x7777FFFF
 12175  	PRINTER_CHANGE_CONFIGURE_PORT                                                  = 0x00200000
 12176  	PRINTER_CHANGE_DELETE_FORM                                                     = 0x00040000
 12177  	PRINTER_CHANGE_DELETE_JOB                                                      = 0x00000400
 12178  	PRINTER_CHANGE_DELETE_PORT                                                     = 0x00400000
 12179  	PRINTER_CHANGE_DELETE_PRINTER                                                  = 0x00000004
 12180  	PRINTER_CHANGE_DELETE_PRINTER_DRIVER                                           = 0x40000000
 12181  	PRINTER_CHANGE_DELETE_PRINT_PROCESSOR                                          = 0x04000000
 12182  	PRINTER_CHANGE_FAILED_CONNECTION_PRINTER                                       = 0x00000008
 12183  	PRINTER_CHANGE_FORM                                                            = 0x00070000
 12184  	PRINTER_CHANGE_JOB                                                             = 0x0000FF00
 12185  	PRINTER_CHANGE_PORT                                                            = 0x00700000
 12186  	PRINTER_CHANGE_PRINTER                                                         = 0x000000FF
 12187  	PRINTER_CHANGE_PRINTER_DRIVER                                                  = 0x70000000
 12188  	PRINTER_CHANGE_PRINT_PROCESSOR                                                 = 0x07000000
 12189  	PRINTER_CHANGE_SET_FORM                                                        = 0x00020000
 12190  	PRINTER_CHANGE_SET_JOB                                                         = 0x00000200
 12191  	PRINTER_CHANGE_SET_PRINTER                                                     = 0x00000002
 12192  	PRINTER_CHANGE_SET_PRINTER_DRIVER                                              = 0x20000000
 12193  	PRINTER_CHANGE_TIMEOUT                                                         = 0x80000000
 12194  	PRINTER_CHANGE_WRITE_JOB                                                       = 0x00000800
 12195  	PRINTER_CONTROL_PAUSE                                                          = 1
 12196  	PRINTER_CONTROL_PURGE                                                          = 3
 12197  	PRINTER_CONTROL_RESUME                                                         = 2
 12198  	PRINTER_CONTROL_SET_STATUS                                                     = 4
 12199  	PRINTER_ENUM_CONNECTIONS                                                       = 0x00000004
 12200  	PRINTER_ENUM_CONTAINER                                                         = 0x00008000
 12201  	PRINTER_ENUM_DEFAULT                                                           = 0x00000001
 12202  	PRINTER_ENUM_EXPAND                                                            = 0x00004000
 12203  	PRINTER_ENUM_FAVORITE                                                          = 0x00000004
 12204  	PRINTER_ENUM_HIDE                                                              = 0x01000000
 12205  	PRINTER_ENUM_ICON1                                                             = 0x00010000
 12206  	PRINTER_ENUM_ICON2                                                             = 0x00020000
 12207  	PRINTER_ENUM_ICON3                                                             = 0x00040000
 12208  	PRINTER_ENUM_ICON4                                                             = 0x00080000
 12209  	PRINTER_ENUM_ICON5                                                             = 0x00100000
 12210  	PRINTER_ENUM_ICON6                                                             = 0x00200000
 12211  	PRINTER_ENUM_ICON7                                                             = 0x00400000
 12212  	PRINTER_ENUM_ICON8                                                             = 0x00800000
 12213  	PRINTER_ENUM_ICONMASK                                                          = 0x00ff0000
 12214  	PRINTER_ENUM_LOCAL                                                             = 0x00000002
 12215  	PRINTER_ENUM_NAME                                                              = 0x00000008
 12216  	PRINTER_ENUM_NETWORK                                                           = 0x00000040
 12217  	PRINTER_ENUM_REMOTE                                                            = 0x00000010
 12218  	PRINTER_ENUM_SHARED                                                            = 0x00000020
 12219  	PRINTER_ERROR_INFORMATION                                                      = 0x80000000
 12220  	PRINTER_ERROR_JAM                                                              = 0x00000002
 12221  	PRINTER_ERROR_OUTOFPAPER                                                       = 0x00000001
 12222  	PRINTER_ERROR_OUTOFTONER                                                       = 0x00000004
 12223  	PRINTER_ERROR_SEVERE                                                           = 0x20000000
 12224  	PRINTER_ERROR_WARNING                                                          = 0x40000000
 12225  	PRINTER_EXECUTE                                                                = 131080
 12226  	PRINTER_FONTTYPE                                                               = 0x4000
 12227  	PRINTER_NOTIFY_FIELD_ATTRIBUTES                                                = 0x0D
 12228  	PRINTER_NOTIFY_FIELD_AVERAGE_PPM                                               = 0x15
 12229  	PRINTER_NOTIFY_FIELD_BYTES_PRINTED                                             = 0x19
 12230  	PRINTER_NOTIFY_FIELD_CJOBS                                                     = 0x14
 12231  	PRINTER_NOTIFY_FIELD_COMMENT                                                   = 0x05
 12232  	PRINTER_NOTIFY_FIELD_DATATYPE                                                  = 0x0B
 12233  	PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY                                          = 0x0F
 12234  	PRINTER_NOTIFY_FIELD_DEVMODE                                                   = 0x07
 12235  	PRINTER_NOTIFY_FIELD_DRIVER_NAME                                               = 0x04
 12236  	PRINTER_NOTIFY_FIELD_LOCATION                                                  = 0x06
 12237  	PRINTER_NOTIFY_FIELD_OBJECT_GUID                                               = 0x1A
 12238  	PRINTER_NOTIFY_FIELD_PAGES_PRINTED                                             = 0x17
 12239  	PRINTER_NOTIFY_FIELD_PARAMETERS                                                = 0x0A
 12240  	PRINTER_NOTIFY_FIELD_PORT_NAME                                                 = 0x03
 12241  	PRINTER_NOTIFY_FIELD_PRINTER_NAME                                              = 0x01
 12242  	PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR                                           = 0x09
 12243  	PRINTER_NOTIFY_FIELD_PRIORITY                                                  = 0x0E
 12244  	PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTOR                                       = 0x0C
 12245  	PRINTER_NOTIFY_FIELD_SEPFILE                                                   = 0x08
 12246  	PRINTER_NOTIFY_FIELD_SERVER_NAME                                               = 0x00
 12247  	PRINTER_NOTIFY_FIELD_SHARE_NAME                                                = 0x02
 12248  	PRINTER_NOTIFY_FIELD_START_TIME                                                = 0x10
 12249  	PRINTER_NOTIFY_FIELD_STATUS                                                    = 0x12
 12250  	PRINTER_NOTIFY_FIELD_STATUS_STRING                                             = 0x13
 12251  	PRINTER_NOTIFY_FIELD_TOTAL_BYTES                                               = 0x18
 12252  	PRINTER_NOTIFY_FIELD_TOTAL_PAGES                                               = 0x16
 12253  	PRINTER_NOTIFY_FIELD_UNTIL_TIME                                                = 0x11
 12254  	PRINTER_NOTIFY_INFO_DISCARDED                                                  = 0x01
 12255  	PRINTER_NOTIFY_OPTIONS_REFRESH                                                 = 0x01
 12256  	PRINTER_NOTIFY_TYPE                                                            = 0x00
 12257  	PRINTER_READ                                                                   = 131080
 12258  	PRINTER_STATUS_BUSY                                                            = 0x00000200
 12259  	PRINTER_STATUS_DOOR_OPEN                                                       = 0x00400000
 12260  	PRINTER_STATUS_ERROR                                                           = 0x00000002
 12261  	PRINTER_STATUS_INITIALIZING                                                    = 0x00008000
 12262  	PRINTER_STATUS_IO_ACTIVE                                                       = 0x00000100
 12263  	PRINTER_STATUS_MANUAL_FEED                                                     = 0x00000020
 12264  	PRINTER_STATUS_NOT_AVAILABLE                                                   = 0x00001000
 12265  	PRINTER_STATUS_NO_TONER                                                        = 0x00040000
 12266  	PRINTER_STATUS_OFFLINE                                                         = 0x00000080
 12267  	PRINTER_STATUS_OUTPUT_BIN_FULL                                                 = 0x00000800
 12268  	PRINTER_STATUS_OUT_OF_MEMORY                                                   = 0x00200000
 12269  	PRINTER_STATUS_PAGE_PUNT                                                       = 0x00080000
 12270  	PRINTER_STATUS_PAPER_JAM                                                       = 0x00000008
 12271  	PRINTER_STATUS_PAPER_OUT                                                       = 0x00000010
 12272  	PRINTER_STATUS_PAPER_PROBLEM                                                   = 0x00000040
 12273  	PRINTER_STATUS_PAUSED                                                          = 0x00000001
 12274  	PRINTER_STATUS_PENDING_DELETION                                                = 0x00000004
 12275  	PRINTER_STATUS_POWER_SAVE                                                      = 0x01000000
 12276  	PRINTER_STATUS_PRINTING                                                        = 0x00000400
 12277  	PRINTER_STATUS_PROCESSING                                                      = 0x00004000
 12278  	PRINTER_STATUS_SERVER_UNKNOWN                                                  = 0x00800000
 12279  	PRINTER_STATUS_TONER_LOW                                                       = 0x00020000
 12280  	PRINTER_STATUS_USER_INTERVENTION                                               = 0x00100000
 12281  	PRINTER_STATUS_WAITING                                                         = 0x00002000
 12282  	PRINTER_STATUS_WARMING_UP                                                      = 0x00010000
 12283  	PRINTER_WRITE                                                                  = 131080
 12284  	PRINTRATEUNIT_CPS                                                              = 2
 12285  	PRINTRATEUNIT_IPM                                                              = 4
 12286  	PRINTRATEUNIT_LPM                                                              = 3
 12287  	PRINTRATEUNIT_PPM                                                              = 1
 12288  	PRIVATEKEYBLOB                                                                 = 0x7
 12289  	PRIVATE_NAMESPACE_FLAG_DESTROY                                                 = 0x1
 12290  	PRIVILEGE_SET_ALL_NECESSARY                                                    = 1
 12291  	PRNSETUPDLGORD                                                                 = 1539
 12292  	PROCESSOR_ALPHA_21064                                                          = 21064
 12293  	PROCESSOR_AMD_X8664                                                            = 8664
 12294  	PROCESSOR_ARCHITECTURE_ALPHA                                                   = 2
 12295  	PROCESSOR_ARCHITECTURE_ALPHA64                                                 = 7
 12296  	PROCESSOR_ARCHITECTURE_AMD64                                                   = 9
 12297  	PROCESSOR_ARCHITECTURE_ARM                                                     = 5
 12298  	PROCESSOR_ARCHITECTURE_ARM32_ON_WIN64                                          = 13
 12299  	PROCESSOR_ARCHITECTURE_ARM64                                                   = 12
 12300  	PROCESSOR_ARCHITECTURE_IA32_ON_ARM64                                           = 14
 12301  	PROCESSOR_ARCHITECTURE_IA32_ON_WIN64                                           = 10
 12302  	PROCESSOR_ARCHITECTURE_IA64                                                    = 6
 12303  	PROCESSOR_ARCHITECTURE_INTEL                                                   = 0
 12304  	PROCESSOR_ARCHITECTURE_MIPS                                                    = 1
 12305  	PROCESSOR_ARCHITECTURE_MSIL                                                    = 8
 12306  	PROCESSOR_ARCHITECTURE_NEUTRAL                                                 = 11
 12307  	PROCESSOR_ARCHITECTURE_PPC                                                     = 3
 12308  	PROCESSOR_ARCHITECTURE_SHX                                                     = 4
 12309  	PROCESSOR_ARCHITECTURE_UNKNOWN                                                 = 0xffff
 12310  	PROCESSOR_ARM720                                                               = 1824
 12311  	PROCESSOR_ARM820                                                               = 2080
 12312  	PROCESSOR_ARM920                                                               = 2336
 12313  	PROCESSOR_ARM_7TDMI                                                            = 70001
 12314  	PROCESSOR_HITACHI_SH3                                                          = 10003
 12315  	PROCESSOR_HITACHI_SH3E                                                         = 10004
 12316  	PROCESSOR_HITACHI_SH4                                                          = 10005
 12317  	PROCESSOR_IDLESTATE_POLICY_COUNT                                               = 0x3
 12318  	PROCESSOR_INTEL_386                                                            = 386
 12319  	PROCESSOR_INTEL_486                                                            = 486
 12320  	PROCESSOR_INTEL_IA64                                                           = 2200
 12321  	PROCESSOR_INTEL_PENTIUM                                                        = 586
 12322  	PROCESSOR_MIPS_R4000                                                           = 4000
 12323  	PROCESSOR_MOTOROLA_821                                                         = 821
 12324  	PROCESSOR_OPTIL                                                                = 0x494f
 12325  	PROCESSOR_PERF_BOOST_MODE_AGGRESSIVE                                           = 2
 12326  	PROCESSOR_PERF_BOOST_MODE_DISABLED                                             = 0
 12327  	PROCESSOR_PERF_BOOST_MODE_EFFICIENT_AGGRESSIVE                                 = 4
 12328  	PROCESSOR_PERF_BOOST_MODE_EFFICIENT_ENABLED                                    = 3
 12329  	PROCESSOR_PERF_BOOST_MODE_ENABLED                                              = 1
 12330  	PROCESSOR_PERF_BOOST_MODE_MAX                                                  = 4
 12331  	PROCESSOR_PERF_BOOST_POLICY_DISABLED                                           = 0
 12332  	PROCESSOR_PERF_BOOST_POLICY_MAX                                                = 100
 12333  	PROCESSOR_PPC_601                                                              = 601
 12334  	PROCESSOR_PPC_603                                                              = 603
 12335  	PROCESSOR_PPC_604                                                              = 604
 12336  	PROCESSOR_PPC_620                                                              = 620
 12337  	PROCESSOR_SHx_SH3                                                              = 103
 12338  	PROCESSOR_SHx_SH4                                                              = 104
 12339  	PROCESSOR_STRONGARM                                                            = 2577
 12340  	PROCESS_ALL_ACCESS                                                             = 2035711
 12341  	PROCESS_CREATE_PROCESS                                                         = 128
 12342  	PROCESS_CREATE_THREAD                                                          = 2
 12343  	PROCESS_DUP_HANDLE                                                             = 64
 12344  	PROCESS_HEAP_ENTRY_BUSY                                                        = 0x4
 12345  	PROCESS_HEAP_ENTRY_DDESHARE                                                    = 0x20
 12346  	PROCESS_HEAP_ENTRY_MOVEABLE                                                    = 0x10
 12347  	PROCESS_HEAP_REGION                                                            = 0x1
 12348  	PROCESS_HEAP_SEG_ALLOC                                                         = 0x8
 12349  	PROCESS_HEAP_UNCOMMITTED_RANGE                                                 = 0x2
 12350  	PROCESS_MODE_BACKGROUND_BEGIN                                                  = 0x100000
 12351  	PROCESS_MODE_BACKGROUND_END                                                    = 0x200000
 12352  	PROCESS_QUERY_INFORMATION                                                      = 1024
 12353  	PROCESS_QUERY_LIMITED_INFORMATION                                              = 4096
 12354  	PROCESS_SET_INFORMATION                                                        = 512
 12355  	PROCESS_SET_QUOTA                                                              = 256
 12356  	PROCESS_SET_SESSIONID                                                          = 4
 12357  	PROCESS_SUSPEND_RESUME                                                         = 2048
 12358  	PROCESS_TERMINATE                                                              = 1
 12359  	PROCESS_VM_OPERATION                                                           = 8
 12360  	PROCESS_VM_READ                                                                = 16
 12361  	PROCESS_VM_WRITE                                                               = 32
 12362  	PROC_IDLE_BUCKET_COUNT                                                         = 6
 12363  	PROC_IDLE_BUCKET_COUNT_EX                                                      = 16
 12364  	PRODUCT_ARM64_SERVER                                                           = 0x78
 12365  	PRODUCT_BUSINESS                                                               = 0x6
 12366  	PRODUCT_BUSINESS_N                                                             = 0x10
 12367  	PRODUCT_CLOUD_HOST_INFRASTRUCTURE_SERVER                                       = 0x7C
 12368  	PRODUCT_CLOUD_STORAGE_SERVER                                                   = 0x6E
 12369  	PRODUCT_CLUSTER_SERVER                                                         = 0x12
 12370  	PRODUCT_CLUSTER_SERVER_V                                                       = 0x40
 12371  	PRODUCT_CONNECTED_CAR                                                          = 0x75
 12372  	PRODUCT_CORE                                                                   = 0x65
 12373  	PRODUCT_CORE_ARM                                                               = 0x61
 12374  	PRODUCT_CORE_CONNECTED                                                         = 0x6F
 12375  	PRODUCT_CORE_CONNECTED_COUNTRYSPECIFIC                                         = 0x74
 12376  	PRODUCT_CORE_CONNECTED_N                                                       = 0x71
 12377  	PRODUCT_CORE_CONNECTED_SINGLELANGUAGE                                          = 0x73
 12378  	PRODUCT_CORE_COUNTRYSPECIFIC                                                   = 0x63
 12379  	PRODUCT_CORE_LANGUAGESPECIFIC                                                  = 0x64
 12380  	PRODUCT_CORE_N                                                                 = 0x62
 12381  	PRODUCT_CORE_SINGLELANGUAGE                                                    = 0x64
 12382  	PRODUCT_DATACENTER_EVALUATION_SERVER                                           = 0x50
 12383  	PRODUCT_DATACENTER_SERVER                                                      = 0x8
 12384  	PRODUCT_DATACENTER_SERVER_CORE                                                 = 0xc
 12385  	PRODUCT_DATACENTER_SERVER_CORE_V                                               = 0x27
 12386  	PRODUCT_DATACENTER_SERVER_V                                                    = 0x25
 12387  	PRODUCT_EDUCATION                                                              = 0x79
 12388  	PRODUCT_EDUCATION_N                                                            = 0x7a
 12389  	PRODUCT_EMBEDDED                                                               = 0x41
 12390  	PRODUCT_EMBEDDED_A                                                             = 0x58
 12391  	PRODUCT_EMBEDDED_AUTOMOTIVE                                                    = 0x55
 12392  	PRODUCT_EMBEDDED_E                                                             = 0x5A
 12393  	PRODUCT_EMBEDDED_EVAL                                                          = 0x6B
 12394  	PRODUCT_EMBEDDED_E_EVAL                                                        = 0x6C
 12395  	PRODUCT_EMBEDDED_INDUSTRY                                                      = 0x59
 12396  	PRODUCT_EMBEDDED_INDUSTRY_A                                                    = 0x56
 12397  	PRODUCT_EMBEDDED_INDUSTRY_A_E                                                  = 0x5C
 12398  	PRODUCT_EMBEDDED_INDUSTRY_E                                                    = 0x5B
 12399  	PRODUCT_EMBEDDED_INDUSTRY_EVAL                                                 = 0x69
 12400  	PRODUCT_EMBEDDED_INDUSTRY_E_EVAL                                               = 0x6A
 12401  	PRODUCT_ENTERPRISE                                                             = 0x4
 12402  	PRODUCT_ENTERPRISE_E                                                           = 0x46
 12403  	PRODUCT_ENTERPRISE_EVALUATION                                                  = 0x48
 12404  	PRODUCT_ENTERPRISE_N                                                           = 0x1b
 12405  	PRODUCT_ENTERPRISE_N_EVALUATION                                                = 0x54
 12406  	PRODUCT_ENTERPRISE_S                                                           = 0x7D
 12407  	PRODUCT_ENTERPRISE_SERVER                                                      = 0xa
 12408  	PRODUCT_ENTERPRISE_SERVER_CORE                                                 = 0xe
 12409  	PRODUCT_ENTERPRISE_SERVER_CORE_V                                               = 0x29
 12410  	PRODUCT_ENTERPRISE_SERVER_IA64                                                 = 0xf
 12411  	PRODUCT_ENTERPRISE_SERVER_V                                                    = 0x26
 12412  	PRODUCT_ENTERPRISE_S_EVALUATION                                                = 0x81
 12413  	PRODUCT_ENTERPRISE_S_N                                                         = 0x7E
 12414  	PRODUCT_ENTERPRISE_S_N_EVALUATION                                              = 0x82
 12415  	PRODUCT_ESSENTIALBUSINESS_SERVER_ADDL                                          = 0x3C
 12416  	PRODUCT_ESSENTIALBUSINESS_SERVER_ADDLSVC                                       = 0x3E
 12417  	PRODUCT_ESSENTIALBUSINESS_SERVER_MGMT                                          = 0x3B
 12418  	PRODUCT_ESSENTIALBUSINESS_SERVER_MGMTSVC                                       = 0x3D
 12419  	PRODUCT_HOME_BASIC                                                             = 0x2
 12420  	PRODUCT_HOME_BASIC_E                                                           = 0x43
 12421  	PRODUCT_HOME_BASIC_N                                                           = 0x5
 12422  	PRODUCT_HOME_PREMIUM                                                           = 0x3
 12423  	PRODUCT_HOME_PREMIUM_E                                                         = 0x44
 12424  	PRODUCT_HOME_PREMIUM_N                                                         = 0x1a
 12425  	PRODUCT_HOME_PREMIUM_SERVER                                                    = 0x22
 12426  	PRODUCT_HOME_SERVER                                                            = 0x13
 12427  	PRODUCT_HYPERV                                                                 = 0x2a
 12428  	PRODUCT_ID_LENGTH                                                              = 16
 12429  	PRODUCT_INDUSTRY_HANDHELD                                                      = 0x76
 12430  	PRODUCT_IOTUAP                                                                 = 0x7B
 12431  	PRODUCT_MEDIUMBUSINESS_SERVER_MANAGEMENT                                       = 0x1e
 12432  	PRODUCT_MEDIUMBUSINESS_SERVER_MESSAGING                                        = 0x20
 12433  	PRODUCT_MEDIUMBUSINESS_SERVER_SECURITY                                         = 0x1f
 12434  	PRODUCT_MOBILE_CORE                                                            = 0x68
 12435  	PRODUCT_MOBILE_ENTERPRISE                                                      = 0x85
 12436  	PRODUCT_MULTIPOINT_PREMIUM_SERVER                                              = 0x4D
 12437  	PRODUCT_MULTIPOINT_STANDARD_SERVER                                             = 0x4C
 12438  	PRODUCT_NANO_SERVER                                                            = 0x6D
 12439  	PRODUCT_PPI_PRO                                                                = 0x77
 12440  	PRODUCT_PROFESSIONAL                                                           = 0x30
 12441  	PRODUCT_PROFESSIONAL_E                                                         = 0x45
 12442  	PRODUCT_PROFESSIONAL_EMBEDDED                                                  = 0x3A
 12443  	PRODUCT_PROFESSIONAL_N                                                         = 0x31
 12444  	PRODUCT_PROFESSIONAL_S                                                         = 0x7F
 12445  	PRODUCT_PROFESSIONAL_STUDENT                                                   = 0x70
 12446  	PRODUCT_PROFESSIONAL_STUDENT_N                                                 = 0x72
 12447  	PRODUCT_PROFESSIONAL_S_N                                                       = 0x80
 12448  	PRODUCT_PROFESSIONAL_WMC                                                       = 0x67
 12449  	PRODUCT_SB_SOLUTION_SERVER                                                     = 0x32
 12450  	PRODUCT_SB_SOLUTION_SERVER_EM                                                  = 0x36
 12451  	PRODUCT_SERVER_FOR_SB_SOLUTIONS                                                = 0x33
 12452  	PRODUCT_SERVER_FOR_SB_SOLUTIONS_EM                                             = 0x37
 12453  	PRODUCT_SERVER_FOR_SMALLBUSINESS                                               = 0x18
 12454  	PRODUCT_SERVER_FOR_SMALLBUSINESS_V                                             = 0x23
 12455  	PRODUCT_SERVER_FOUNDATION                                                      = 0x21
 12456  	PRODUCT_SERVER_V                                                               = 0x25
 12457  	PRODUCT_SMALLBUSINESS_SERVER                                                   = 0x9
 12458  	PRODUCT_SMALLBUSINESS_SERVER_PREMIUM                                           = 0x19
 12459  	PRODUCT_SMALLBUSINESS_SERVER_PREMIUM_CORE                                      = 0x3f
 12460  	PRODUCT_SOLUTION_EMBEDDEDSERVER                                                = 0x38
 12461  	PRODUCT_SOLUTION_EMBEDDEDSERVER_CORE                                           = 0x39
 12462  	PRODUCT_STANDARD_EVALUATION_SERVER                                             = 0x4F
 12463  	PRODUCT_STANDARD_SERVER                                                        = 0x7
 12464  	PRODUCT_STANDARD_SERVER_CORE                                                   = 0xd
 12465  	PRODUCT_STANDARD_SERVER_CORE_V                                                 = 0x28
 12466  	PRODUCT_STANDARD_SERVER_SOLUTIONS                                              = 0x34
 12467  	PRODUCT_STANDARD_SERVER_SOLUTIONS_CORE                                         = 0x35
 12468  	PRODUCT_STANDARD_SERVER_V                                                      = 0x24
 12469  	PRODUCT_STARTER                                                                = 0xb
 12470  	PRODUCT_STARTER_E                                                              = 0x42
 12471  	PRODUCT_STARTER_N                                                              = 0x2f
 12472  	PRODUCT_STORAGE_ENTERPRISE_SERVER                                              = 0x17
 12473  	PRODUCT_STORAGE_ENTERPRISE_SERVER_CORE                                         = 0x2e
 12474  	PRODUCT_STORAGE_EXPRESS_SERVER                                                 = 0x14
 12475  	PRODUCT_STORAGE_EXPRESS_SERVER_CORE                                            = 0x2b
 12476  	PRODUCT_STORAGE_STANDARD_EVALUATION_SERVER                                     = 0x60
 12477  	PRODUCT_STORAGE_STANDARD_SERVER                                                = 0x15
 12478  	PRODUCT_STORAGE_STANDARD_SERVER_CORE                                           = 0x2c
 12479  	PRODUCT_STORAGE_WORKGROUP_EVALUATION_SERVER                                    = 0x5F
 12480  	PRODUCT_STORAGE_WORKGROUP_SERVER                                               = 0x16
 12481  	PRODUCT_STORAGE_WORKGROUP_SERVER_CORE                                          = 0x2d
 12482  	PRODUCT_THINPC                                                                 = 0x57
 12483  	PRODUCT_ULTIMATE                                                               = 0x1
 12484  	PRODUCT_ULTIMATE_E                                                             = 0x47
 12485  	PRODUCT_ULTIMATE_N                                                             = 0x1c
 12486  	PRODUCT_UNDEFINED                                                              = 0x0
 12487  	PRODUCT_UNLICENSED                                                             = 0xabcdabcd
 12488  	PRODUCT_WEB_SERVER                                                             = 0x11
 12489  	PRODUCT_WEB_SERVER_CORE                                                        = 0x1d
 12490  	PROFILE_EMBEDDED                                                               = 77
 12491  	PROFILE_KERNEL                                                                 = 0x20000000
 12492  	PROFILE_LINKED                                                                 = 76
 12493  	PROFILE_SERVER                                                                 = 0x40000000
 12494  	PROFILE_USER                                                                   = 0x10000000
 12495  	PROGRESS_CANCEL                                                                = 1
 12496  	PROGRESS_CONTINUE                                                              = 0
 12497  	PROGRESS_QUIET                                                                 = 3
 12498  	PROGRESS_STOP                                                                  = 2
 12499  	PROOF_QUALITY                                                                  = 2
 12500  	PROPERTYKEY_DEFINED                                                            = 0
 12501  	PROPSETFLAG_ANSI                                                               = 2
 12502  	PROPSETFLAG_CASE_SENSITIVE                                                     = 8
 12503  	PROPSETFLAG_DEFAULT                                                            = 0
 12504  	PROPSETFLAG_NONSIMPLE                                                          = 1
 12505  	PROPSETFLAG_UNBUFFERED                                                         = 4
 12506  	PROPSETHDR_OSVERSION_UNKNOWN                                                   = 0xffffffff
 12507  	PROPSET_BEHAVIOR_CASE_SENSITIVE                                                = 1
 12508  	PROP_LG_CXDLG                                                                  = 252
 12509  	PROP_LG_CYDLG                                                                  = 218
 12510  	PROP_MED_CXDLG                                                                 = 227
 12511  	PROP_MED_CYDLG                                                                 = 215
 12512  	PROP_SM_CXDLG                                                                  = 212
 12513  	PROP_SM_CYDLG                                                                  = 188
 12514  	PROTECTED_DACL_SECURITY_INFORMATION                                            = 2147483648
 12515  	PROTECTED_SACL_SECURITY_INFORMATION                                            = 1073741824
 12516  	PROTOCOLFLAG_NO_PICS_CHECK                                                     = 0x1
 12517  	PROVIDER_KEEPS_VALUE_LENGTH                                                    = 0x1
 12518  	PROV_DH_SCHANNEL                                                               = 18
 12519  	PROV_DSS                                                                       = 3
 12520  	PROV_DSS_DH                                                                    = 13
 12521  	PROV_EC_ECDSA_FULL                                                             = 16
 12522  	PROV_EC_ECDSA_SIG                                                              = 14
 12523  	PROV_EC_ECNRA_FULL                                                             = 17
 12524  	PROV_EC_ECNRA_SIG                                                              = 15
 12525  	PROV_FORTEZZA                                                                  = 4
 12526  	PROV_INTEL_SEC                                                                 = 22
 12527  	PROV_MS_EXCHANGE                                                               = 5
 12528  	PROV_REPLACE_OWF                                                               = 23
 12529  	PROV_RNG                                                                       = 21
 12530  	PROV_RSA_AES                                                                   = 24
 12531  	PROV_RSA_FULL                                                                  = 1
 12532  	PROV_RSA_SCHANNEL                                                              = 12
 12533  	PROV_RSA_SIG                                                                   = 2
 12534  	PROV_SPYRUS_LYNKS                                                              = 20
 12535  	PROV_SSL                                                                       = 6
 12536  	PROV_STT_ACQ                                                                   = 8
 12537  	PROV_STT_BRND                                                                  = 9
 12538  	PROV_STT_ISS                                                                   = 11
 12539  	PROV_STT_MER                                                                   = 7
 12540  	PROV_STT_ROOT                                                                  = 10
 12541  	PRSPEC_INVALID                                                                 = 4294967295
 12542  	PRSPEC_LPWSTR                                                                  = 0
 12543  	PRSPEC_PROPID                                                                  = 1
 12544  	PR_JOBSTATUS                                                                   = 0x0000
 12545  	PSBTN_APPLYNOW                                                                 = 4
 12546  	PSBTN_BACK                                                                     = 0
 12547  	PSBTN_CANCEL                                                                   = 5
 12548  	PSBTN_FINISH                                                                   = 2
 12549  	PSBTN_HELP                                                                     = 6
 12550  	PSBTN_MAX                                                                      = 6
 12551  	PSBTN_NEXT                                                                     = 1
 12552  	PSBTN_OK                                                                       = 3
 12553  	PSCB_BUTTONPRESSED                                                             = 3
 12554  	PSCB_INITIALIZED                                                               = 1
 12555  	PSCB_PRECREATE                                                                 = 2
 12556  	PSD_DEFAULTMINMARGINS                                                          = 0x0
 12557  	PSD_DISABLEMARGINS                                                             = 0x10
 12558  	PSD_DISABLEORIENTATION                                                         = 0x100
 12559  	PSD_DISABLEPAGEPAINTING                                                        = 0x80000
 12560  	PSD_DISABLEPAPER                                                               = 0x200
 12561  	PSD_DISABLEPRINTER                                                             = 0x20
 12562  	PSD_ENABLEPAGEPAINTHOOK                                                        = 0x40000
 12563  	PSD_ENABLEPAGESETUPHOOK                                                        = 0x2000
 12564  	PSD_ENABLEPAGESETUPTEMPLATE                                                    = 0x8000
 12565  	PSD_ENABLEPAGESETUPTEMPLATEHANDLE                                              = 0x20000
 12566  	PSD_INHUNDREDTHSOFMILLIMETERS                                                  = 0x8
 12567  	PSD_INTHOUSANDTHSOFINCHES                                                      = 0x4
 12568  	PSD_INWININIINTLMEASURE                                                        = 0x0
 12569  	PSD_MARGINS                                                                    = 0x2
 12570  	PSD_MINMARGINS                                                                 = 0x1
 12571  	PSD_NONETWORKBUTTON                                                            = 0x200000
 12572  	PSD_NOWARNING                                                                  = 0x80
 12573  	PSD_RETURNDEFAULT                                                              = 0x400
 12574  	PSD_SHOWHELP                                                                   = 0x800
 12575  	PSH_DEFAULT                                                                    = 0x00000000
 12576  	PSH_HASHELP                                                                    = 0x00000200
 12577  	PSH_HEADER                                                                     = 0x00080000
 12578  	PSH_MODELESS                                                                   = 0x00000400
 12579  	PSH_NOAPPLYNOW                                                                 = 0x00000080
 12580  	PSH_NOCONTEXTHELP                                                              = 0x02000000
 12581  	PSH_PROPSHEETPAGE                                                              = 0x00000008
 12582  	PSH_PROPTITLE                                                                  = 0x00000001
 12583  	PSH_RTLREADING                                                                 = 0x00000800
 12584  	PSH_STRETCHWATERMARK                                                           = 0x00040000
 12585  	PSH_USECALLBACK                                                                = 0x00000100
 12586  	PSH_USEHBMHEADER                                                               = 0x00100000
 12587  	PSH_USEHBMWATERMARK                                                            = 0x00010000
 12588  	PSH_USEHICON                                                                   = 0x00000002
 12589  	PSH_USEHPLWATERMARK                                                            = 0x00020000
 12590  	PSH_USEICONID                                                                  = 0x00000004
 12591  	PSH_USEPAGELANG                                                                = 0x00200000
 12592  	PSH_USEPSTARTPAGE                                                              = 0x00000040
 12593  	PSH_WATERMARK                                                                  = 0x00008000
 12594  	PSH_WIZARD                                                                     = 0x00000020
 12595  	PSH_WIZARD97                                                                   = 0x01000000
 12596  	PSH_WIZARDCONTEXTHELP                                                          = 0x00001000
 12597  	PSH_WIZARDHASFINISH                                                            = 0x00000010
 12598  	PSH_WIZARD_LITE                                                                = 0x00400000
 12599  	PSIDENT_GDICENTRIC                                                             = 0
 12600  	PSIDENT_PSCENTRIC                                                              = 1
 12601  	PSINJECT_BEGINDEFAULTS                                                         = 12
 12602  	PSINJECT_BEGINPAGESETUP                                                        = 101
 12603  	PSINJECT_BEGINPROLOG                                                           = 14
 12604  	PSINJECT_BEGINSETUP                                                            = 16
 12605  	PSINJECT_BEGINSTREAM                                                           = 1
 12606  	PSINJECT_BOUNDINGBOX                                                           = 9
 12607  	PSINJECT_COMMENTS                                                              = 11
 12608  	PSINJECT_DLFONT                                                                = 0xdddddddd
 12609  	PSINJECT_DOCNEEDEDRES                                                          = 5
 12610  	PSINJECT_DOCSUPPLIEDRES                                                        = 6
 12611  	PSINJECT_DOCUMENTPROCESSCOLORS                                                 = 10
 12612  	PSINJECT_DOCUMENTPROCESSCOLORSATEND                                            = 21
 12613  	PSINJECT_ENDDEFAULTS                                                           = 13
 12614  	PSINJECT_ENDPAGECOMMENTS                                                       = 107
 12615  	PSINJECT_ENDPAGESETUP                                                          = 102
 12616  	PSINJECT_ENDPROLOG                                                             = 15
 12617  	PSINJECT_ENDSETUP                                                              = 17
 12618  	PSINJECT_ENDSTREAM                                                             = 20
 12619  	PSINJECT_EOF                                                                   = 19
 12620  	PSINJECT_ORIENTATION                                                           = 8
 12621  	PSINJECT_PAGEBBOX                                                              = 106
 12622  	PSINJECT_PAGENUMBER                                                            = 100
 12623  	PSINJECT_PAGEORDER                                                             = 7
 12624  	PSINJECT_PAGES                                                                 = 4
 12625  	PSINJECT_PAGESATEND                                                            = 3
 12626  	PSINJECT_PAGETRAILER                                                           = 103
 12627  	PSINJECT_PLATECOLOR                                                            = 104
 12628  	PSINJECT_PSADOBE                                                               = 2
 12629  	PSINJECT_SHOWPAGE                                                              = 105
 12630  	PSINJECT_TRAILER                                                               = 18
 12631  	PSINJECT_VMRESTORE                                                             = 201
 12632  	PSINJECT_VMSAVE                                                                = 200
 12633  	PSM_ADDPAGE                                                                    = 1127
 12634  	PSM_APPLY                                                                      = 1134
 12635  	PSM_CANCELTOCLOSE                                                              = 1131
 12636  	PSM_CHANGED                                                                    = 1128
 12637  	PSM_GETCURRENTPAGEHWND                                                         = 1142
 12638  	PSM_GETRESULT                                                                  = 1159
 12639  	PSM_GETTABCONTROL                                                              = 1140
 12640  	PSM_HWNDTOINDEX                                                                = 1153
 12641  	PSM_IDTOINDEX                                                                  = 1157
 12642  	PSM_INDEXTOHWND                                                                = 1154
 12643  	PSM_INDEXTOID                                                                  = 1158
 12644  	PSM_INDEXTOPAGE                                                                = 1156
 12645  	PSM_INSERTPAGE                                                                 = 1143
 12646  	PSM_ISDIALOGMESSAGE                                                            = 1141
 12647  	PSM_PAGETOINDEX                                                                = 1155
 12648  	PSM_PRESSBUTTON                                                                = 1137
 12649  	PSM_QUERYSIBLINGS                                                              = 1132
 12650  	PSM_REBOOTSYSTEM                                                               = 1130
 12651  	PSM_RECALCPAGESIZES                                                            = 1160
 12652  	PSM_REMOVEPAGE                                                                 = 1126
 12653  	PSM_RESTARTWINDOWS                                                             = 1129
 12654  	PSM_SETCURSEL                                                                  = 1125
 12655  	PSM_SETCURSELID                                                                = 1138
 12656  	PSM_SETFINISHTEXT                                                              = 1139
 12657  	PSM_SETFINISHTEXTA                                                             = 1139
 12658  	PSM_SETFINISHTEXTW                                                             = 1145
 12659  	PSM_SETHEADERSUBTITLE                                                          = 1151
 12660  	PSM_SETHEADERSUBTITLEA                                                         = 1151
 12661  	PSM_SETHEADERSUBTITLEW                                                         = 1152
 12662  	PSM_SETHEADERTITLE                                                             = 1149
 12663  	PSM_SETHEADERTITLEA                                                            = 1149
 12664  	PSM_SETHEADERTITLEW                                                            = 1150
 12665  	PSM_SETTITLE                                                                   = 1135
 12666  	PSM_SETTITLEA                                                                  = 1135
 12667  	PSM_SETTITLEW                                                                  = 1144
 12668  	PSM_SETWIZBUTTONS                                                              = 1136
 12669  	PSM_UNCHANGED                                                                  = 1133
 12670  	PSNRET_INVALID                                                                 = 1
 12671  	PSNRET_INVALID_NOCHANGEPAGE                                                    = 2
 12672  	PSNRET_MESSAGEHANDLED                                                          = 3
 12673  	PSNRET_NOERROR                                                                 = 0
 12674  	PSN_APPLY                                                                      = 18446744073709551414
 12675  	PSN_FIRST                                                                      = 18446744073709551416
 12676  	PSN_GETOBJECT                                                                  = 18446744073709551406
 12677  	PSN_HELP                                                                       = 18446744073709551411
 12678  	PSN_KILLACTIVE                                                                 = 18446744073709551415
 12679  	PSN_LAST                                                                       = 18446744073709551317
 12680  	PSN_QUERYCANCEL                                                                = 18446744073709551407
 12681  	PSN_QUERYINITIALFOCUS                                                          = 18446744073709551403
 12682  	PSN_RESET                                                                      = 18446744073709551413
 12683  	PSN_SETACTIVE                                                                  = 18446744073709551416
 12684  	PSN_TRANSLATEACCELERATOR                                                       = 18446744073709551404
 12685  	PSN_WIZBACK                                                                    = 18446744073709551410
 12686  	PSN_WIZFINISH                                                                  = 18446744073709551408
 12687  	PSN_WIZNEXT                                                                    = 18446744073709551409
 12688  	PSPCB_ADDREF                                                                   = 0
 12689  	PSPCB_CREATE                                                                   = 2
 12690  	PSPCB_RELEASE                                                                  = 1
 12691  	PSPROTOCOL_ASCII                                                               = 0
 12692  	PSPROTOCOL_BCP                                                                 = 1
 12693  	PSPROTOCOL_BINARY                                                              = 3
 12694  	PSPROTOCOL_TBCP                                                                = 2
 12695  	PSP_DEFAULT                                                                    = 0x00000000
 12696  	PSP_DLGINDIRECT                                                                = 0x00000001
 12697  	PSP_HASHELP                                                                    = 0x00000020
 12698  	PSP_HIDEHEADER                                                                 = 0x00000800
 12699  	PSP_PREMATURE                                                                  = 0x00000400
 12700  	PSP_RTLREADING                                                                 = 0x00000010
 12701  	PSP_USECALLBACK                                                                = 0x00000080
 12702  	PSP_USEFUSIONCONTEXT                                                           = 0x00004000
 12703  	PSP_USEHEADERSUBTITLE                                                          = 0x00002000
 12704  	PSP_USEHEADERTITLE                                                             = 0x00001000
 12705  	PSP_USEHICON                                                                   = 0x00000002
 12706  	PSP_USEICONID                                                                  = 0x00000004
 12707  	PSP_USEREFPARENT                                                               = 0x00000040
 12708  	PSP_USETITLE                                                                   = 0x00000008
 12709  	PSWIZB_BACK                                                                    = 0x00000001
 12710  	PSWIZB_DISABLEDFINISH                                                          = 0x00000008
 12711  	PSWIZB_FINISH                                                                  = 0x00000004
 12712  	PSWIZB_NEXT                                                                    = 0x00000002
 12713  	PS_ALTERNATE                                                                   = 8
 12714  	PS_COSMETIC                                                                    = 0x00000000
 12715  	PS_DASH                                                                        = 1
 12716  	PS_DASHDOT                                                                     = 3
 12717  	PS_DASHDOTDOT                                                                  = 4
 12718  	PS_DOT                                                                         = 2
 12719  	PS_ENDCAP_FLAT                                                                 = 0x00000200
 12720  	PS_ENDCAP_MASK                                                                 = 0x00000F00
 12721  	PS_ENDCAP_ROUND                                                                = 0x00000000
 12722  	PS_ENDCAP_SQUARE                                                               = 0x00000100
 12723  	PS_GEOMETRIC                                                                   = 0x00010000
 12724  	PS_INSIDEFRAME                                                                 = 6
 12725  	PS_JOIN_BEVEL                                                                  = 0x00001000
 12726  	PS_JOIN_MASK                                                                   = 0x0000F000
 12727  	PS_JOIN_MITER                                                                  = 0x00002000
 12728  	PS_JOIN_ROUND                                                                  = 0x00000000
 12729  	PS_NULL                                                                        = 5
 12730  	PS_OPENTYPE_FONTTYPE                                                           = 0x10000
 12731  	PS_SOLID                                                                       = 0
 12732  	PS_STYLE_MASK                                                                  = 0x0000000F
 12733  	PS_TYPE_MASK                                                                   = 0x000F0000
 12734  	PS_USERSTYLE                                                                   = 7
 12735  	PT_BEZIERTO                                                                    = 0x04
 12736  	PT_CLOSEFIGURE                                                                 = 0x01
 12737  	PT_LINETO                                                                      = 0x02
 12738  	PT_MOVETO                                                                      = 0x06
 12739  	PUBLICKEYBLOB                                                                  = 0x6
 12740  	PUBLICKEYBLOBEX                                                                = 0xa
 12741  	PURE                                                                           = 0
 12742  	PURGE_RXABORT                                                                  = 0x2
 12743  	PURGE_RXCLEAR                                                                  = 0x8
 12744  	PURGE_TXABORT                                                                  = 0x1
 12745  	PURGE_TXCLEAR                                                                  = 0x4
 12746  	PWR_CRITICALRESUME                                                             = 3
 12747  	PWR_FAIL                                                                       = -1
 12748  	PWR_OK                                                                         = 1
 12749  	PWR_SUSPENDREQUEST                                                             = 1
 12750  	PWR_SUSPENDRESUME                                                              = 2
 12751  	PW_CLIENTONLY                                                                  = 0x00000001
 12752  	QDI_DIBTOSCREEN                                                                = 4
 12753  	QDI_GETDIBITS                                                                  = 2
 12754  	QDI_SETDIBITS                                                                  = 1
 12755  	QDI_STRETCHDIB                                                                 = 8
 12756  	QID_SYNC                                                                       = 0xFFFFFFFF
 12757  	QS_ALLEVENTS                                                                   = 1215
 12758  	QS_ALLINPUT                                                                    = 1279
 12759  	QS_ALLPOSTMESSAGE                                                              = 0x0100
 12760  	QS_HOTKEY                                                                      = 0x0080
 12761  	QS_INPUT                                                                       = 1031
 12762  	QS_KEY                                                                         = 0x0001
 12763  	QS_MOUSE                                                                       = 6
 12764  	QS_MOUSEBUTTON                                                                 = 0x0004
 12765  	QS_MOUSEMOVE                                                                   = 0x0002
 12766  	QS_PAINT                                                                       = 0x0020
 12767  	QS_POSTMESSAGE                                                                 = 0x0008
 12768  	QS_RAWINPUT                                                                    = 0x0400
 12769  	QS_SENDMESSAGE                                                                 = 0x0040
 12770  	QS_TIMER                                                                       = 0x0010
 12771  	QUERYDIBSUPPORT                                                                = 3073
 12772  	QUERYESCSUPPORT                                                                = 8
 12773  	QUERYROPSUPPORT                                                                = 40
 12774  	QUERY_ACTCTX_FLAG_ACTCTX_IS_ADDRESS                                            = 16
 12775  	QUERY_ACTCTX_FLAG_ACTCTX_IS_HMODULE                                            = 8
 12776  	QUERY_ACTCTX_FLAG_NO_ADDREF                                                    = 2147483648
 12777  	QUERY_ACTCTX_FLAG_USE_ACTIVE_ACTCTX                                            = 4
 12778  	QUOTA_LIMITS_HARDWS_MAX_DISABLE                                                = 0x00000008
 12779  	QUOTA_LIMITS_HARDWS_MAX_ENABLE                                                 = 0x00000004
 12780  	QUOTA_LIMITS_HARDWS_MIN_DISABLE                                                = 0x00000002
 12781  	QUOTA_LIMITS_HARDWS_MIN_ENABLE                                                 = 0x00000001
 12782  	QUOTA_LIMITS_USE_DEFAULT_LIMITS                                                = 0x00000010
 12783  	R2_BLACK                                                                       = 1
 12784  	R2_COPYPEN                                                                     = 13
 12785  	R2_LAST                                                                        = 16
 12786  	R2_MASKNOTPEN                                                                  = 3
 12787  	R2_MASKPEN                                                                     = 9
 12788  	R2_MASKPENNOT                                                                  = 5
 12789  	R2_MERGENOTPEN                                                                 = 12
 12790  	R2_MERGEPEN                                                                    = 15
 12791  	R2_MERGEPENNOT                                                                 = 14
 12792  	R2_NOP                                                                         = 11
 12793  	R2_NOT                                                                         = 6
 12794  	R2_NOTCOPYPEN                                                                  = 4
 12795  	R2_NOTMASKPEN                                                                  = 8
 12796  	R2_NOTMERGEPEN                                                                 = 2
 12797  	R2_NOTXORPEN                                                                   = 10
 12798  	R2_WHITE                                                                       = 16
 12799  	R2_XORPEN                                                                      = 7
 12800  	RANDOM_PADDING                                                                 = 2
 12801  	RASTERCAPS                                                                     = 38
 12802  	RASTER_FONTTYPE                                                                = 0x0001
 12803  	RC_BANDING                                                                     = 2
 12804  	RC_BIGFONT                                                                     = 0x0400
 12805  	RC_BITBLT                                                                      = 1
 12806  	RC_BITMAP64                                                                    = 8
 12807  	RC_DEVBITS                                                                     = 0x8000
 12808  	RC_DIBTODEV                                                                    = 0x0200
 12809  	RC_DI_BITMAP                                                                   = 0x0080
 12810  	RC_FLOODFILL                                                                   = 0x1000
 12811  	RC_GDI20_OUTPUT                                                                = 0x0010
 12812  	RC_GDI20_STATE                                                                 = 0x0020
 12813  	RC_NONE                                                                        = 0
 12814  	RC_OP_DX_OUTPUT                                                                = 0x4000
 12815  	RC_PALETTE                                                                     = 0x0100
 12816  	RC_SAVEBITMAP                                                                  = 0x0040
 12817  	RC_SCALING                                                                     = 4
 12818  	RC_STRETCHBLT                                                                  = 0x0800
 12819  	RC_STRETCHDIB                                                                  = 0x2000
 12820  	RDH_RECTANGLES                                                                 = 1
 12821  	RDW_ALLCHILDREN                                                                = 0x0080
 12822  	RDW_ERASE                                                                      = 0x0004
 12823  	RDW_ERASENOW                                                                   = 0x0200
 12824  	RDW_FRAME                                                                      = 0x0400
 12825  	RDW_INTERNALPAINT                                                              = 0x0002
 12826  	RDW_INVALIDATE                                                                 = 0x0001
 12827  	RDW_NOCHILDREN                                                                 = 0x0040
 12828  	RDW_NOERASE                                                                    = 0x0020
 12829  	RDW_NOFRAME                                                                    = 0x0800
 12830  	RDW_NOINTERNALPAINT                                                            = 0x0010
 12831  	RDW_UPDATENOW                                                                  = 0x0100
 12832  	RDW_VALIDATE                                                                   = 0x0008
 12833  	READ_ATTRIBUTES                                                                = 0xD0
 12834  	READ_ATTRIBUTE_BUFFER_SIZE                                                     = 512
 12835  	READ_COMPRESSION_INFO_VALID                                                    = 0x00000020
 12836  	READ_CONTROL                                                                   = 131072
 12837  	READ_THREAD_PROFILING_FLAG_DISPATCHING                                         = 0x00000001
 12838  	READ_THREAD_PROFILING_FLAG_HARDWARE_COUNTERS                                   = 0x00000002
 12839  	READ_THRESHOLDS                                                                = 0xD1
 12840  	READ_THRESHOLD_BUFFER_SIZE                                                     = 512
 12841  	REALTIME_PRIORITY_CLASS                                                        = 0x100
 12842  	REASON_HWINSTALL                                                               = 65538
 12843  	REASON_LEGACY_API                                                              = 2147942400
 12844  	REASON_OTHER                                                                   = 0
 12845  	REASON_PLANNED_FLAG                                                            = 2147483648
 12846  	REASON_SERVICEHANG                                                             = 196613
 12847  	REASON_SWHWRECONF                                                              = 196612
 12848  	REASON_SWINSTALL                                                               = 196610
 12849  	REASON_UNKNOWN                                                                 = 255
 12850  	REASON_UNSTABLE                                                                = 327686
 12851  	RECOVERED_READS_VALID                                                          = 0x00000004
 12852  	RECOVERED_WRITES_VALID                                                         = 0x00000001
 12853  	RECOVERY_DEFAULT_PING_INTERVAL                                                 = 5000
 12854  	RECOVERY_MAX_PING_INTERVAL                                                     = 300000
 12855  	REGDB_E_FIRST                                                                  = 2147746128
 12856  	REGDB_E_LAST                                                                   = 2147746143
 12857  	REGDB_S_FIRST                                                                  = 262480
 12858  	REGDB_S_LAST                                                                   = 262495
 12859  	REGISTERED                                                                     = 0x04
 12860  	REGISTERING                                                                    = 0x00
 12861  	REGULAR_FONTTYPE                                                               = 0x400
 12862  	REG_APP_HIVE                                                                   = 16
 12863  	REG_BINARY                                                                     = 3
 12864  	REG_BOOT_HIVE                                                                  = 1024
 12865  	REG_CREATED_NEW_KEY                                                            = 1
 12866  	REG_DWORD                                                                      = 4
 12867  	REG_DWORD_BIG_ENDIAN                                                           = 5
 12868  	REG_DWORD_LITTLE_ENDIAN                                                        = 4
 12869  	REG_EXPAND_SZ                                                                  = 2
 12870  	REG_FORCE_RESTORE                                                              = 8
 12871  	REG_FORCE_UNLOAD                                                               = 1
 12872  	REG_FULL_RESOURCE_DESCRIPTOR                                                   = 9
 12873  	REG_HIVE_EXACT_FILE_GROWTH                                                     = 128
 12874  	REG_HIVE_NO_RM                                                                 = 256
 12875  	REG_HIVE_SINGLE_LOG                                                            = 512
 12876  	REG_LATEST_FORMAT                                                              = 2
 12877  	REG_LEGAL_CHANGE_FILTER                                                        = 268435471
 12878  	REG_LEGAL_OPTION                                                               = 15
 12879  	REG_LINK                                                                       = 6
 12880  	REG_MUI_STRING_TRUNCATE                                                        = 0x00000001
 12881  	REG_MULTI_SZ                                                                   = 7
 12882  	REG_NONE                                                                       = 0
 12883  	REG_NOTIFY_CHANGE_ATTRIBUTES                                                   = 2
 12884  	REG_NOTIFY_CHANGE_LAST_SET                                                     = 4
 12885  	REG_NOTIFY_CHANGE_NAME                                                         = 1
 12886  	REG_NOTIFY_CHANGE_SECURITY                                                     = 8
 12887  	REG_NOTIFY_THREAD_AGNOSTIC                                                     = 268435456
 12888  	REG_NO_COMPRESSION                                                             = 4
 12889  	REG_NO_LAZY_FLUSH                                                              = 4
 12890  	REG_OPENED_EXISTING_KEY                                                        = 2
 12891  	REG_OPTION_BACKUP_RESTORE                                                      = 4
 12892  	REG_OPTION_CREATE_LINK                                                         = 2
 12893  	REG_OPTION_NON_VOLATILE                                                        = 0
 12894  	REG_OPTION_OPEN_LINK                                                           = 8
 12895  	REG_OPTION_RESERVED                                                            = 0
 12896  	REG_OPTION_VOLATILE                                                            = 1
 12897  	REG_PROCESS_APPKEY                                                             = 0x00000001
 12898  	REG_PROCESS_PRIVATE                                                            = 32
 12899  	REG_QWORD                                                                      = 11
 12900  	REG_QWORD_LITTLE_ENDIAN                                                        = 11
 12901  	REG_REFRESH_HIVE                                                               = 2
 12902  	REG_RESOURCE_LIST                                                              = 8
 12903  	REG_RESOURCE_REQUIREMENTS_LIST                                                 = 10
 12904  	REG_SECURE_CONNECTION                                                          = 1
 12905  	REG_STANDARD_FORMAT                                                            = 1
 12906  	REG_START_JOURNAL                                                              = 64
 12907  	REG_SZ                                                                         = 1
 12908  	REG_WHOLE_HIVE_VOLATILE                                                        = 1
 12909  	RELATIVE                                                                       = 2
 12910  	REMOTE_NAME_INFO_LEVEL                                                         = 0x00000002
 12911  	REPLACEDLGORD                                                                  = 1541
 12912  	REPLACEFILE_IGNORE_MERGE_ERRORS                                                = 0x2
 12913  	REPLACEFILE_WRITE_THROUGH                                                      = 0x1
 12914  	REPLACE_ALTERNATE                                                              = 0xB
 12915  	REPLACE_PRIMARY                                                                = 0xA
 12916  	REPORT_NOT_ABLE_TO_EXPORT_PRIVATE_KEY                                          = 0x2
 12917  	REPORT_NO_PRIVATE_KEY                                                          = 0x1
 12918  	RESETDEV                                                                       = 7
 12919  	RESOURCEDISPLAYTYPE_DIRECTORY                                                  = 0x00000009
 12920  	RESOURCEDISPLAYTYPE_DOMAIN                                                     = 0x00000001
 12921  	RESOURCEDISPLAYTYPE_FILE                                                       = 0x00000004
 12922  	RESOURCEDISPLAYTYPE_GENERIC                                                    = 0x00000000
 12923  	RESOURCEDISPLAYTYPE_GROUP                                                      = 0x00000005
 12924  	RESOURCEDISPLAYTYPE_NDSCONTAINER                                               = 0x0000000b
 12925  	RESOURCEDISPLAYTYPE_NETWORK                                                    = 0x00000006
 12926  	RESOURCEDISPLAYTYPE_ROOT                                                       = 0x00000007
 12927  	RESOURCEDISPLAYTYPE_SERVER                                                     = 0x00000002
 12928  	RESOURCEDISPLAYTYPE_SHARE                                                      = 0x00000003
 12929  	RESOURCEDISPLAYTYPE_SHAREADMIN                                                 = 0x00000008
 12930  	RESOURCEDISPLAYTYPE_TREE                                                       = 0x0000000a
 12931  	RESOURCEMANAGER_ALL_ACCESS                                                     = 2031743
 12932  	RESOURCEMANAGER_COMPLETE_PROPAGATION                                           = 64
 12933  	RESOURCEMANAGER_ENLIST                                                         = 8
 12934  	RESOURCEMANAGER_GENERIC_EXECUTE                                                = 1179740
 12935  	RESOURCEMANAGER_GENERIC_READ                                                   = 1179649
 12936  	RESOURCEMANAGER_GENERIC_WRITE                                                  = 1179774
 12937  	RESOURCEMANAGER_GET_NOTIFICATION                                               = 16
 12938  	RESOURCEMANAGER_QUERY_INFORMATION                                              = 1
 12939  	RESOURCEMANAGER_RECOVER                                                        = 4
 12940  	RESOURCEMANAGER_REGISTER_PROTOCOL                                              = 32
 12941  	RESOURCEMANAGER_SET_INFORMATION                                                = 2
 12942  	RESOURCETYPE_ANY                                                               = 0x00000000
 12943  	RESOURCETYPE_DISK                                                              = 0x00000001
 12944  	RESOURCETYPE_PRINT                                                             = 0x00000002
 12945  	RESOURCETYPE_RESERVED                                                          = 0x00000008
 12946  	RESOURCETYPE_UNKNOWN                                                           = 0xFFFFFFFF
 12947  	RESOURCEUSAGE_ALL                                                              = 19
 12948  	RESOURCEUSAGE_ATTACHED                                                         = 0x00000010
 12949  	RESOURCEUSAGE_CONNECTABLE                                                      = 0x00000001
 12950  	RESOURCEUSAGE_CONTAINER                                                        = 0x00000002
 12951  	RESOURCEUSAGE_NOLOCALDEVICE                                                    = 0x00000004
 12952  	RESOURCEUSAGE_RESERVED                                                         = 0x80000000
 12953  	RESOURCEUSAGE_SIBLING                                                          = 0x00000008
 12954  	RESOURCE_CONNECTED                                                             = 0x00000001
 12955  	RESOURCE_CONTEXT                                                               = 0x00000005
 12956  	RESOURCE_ENUM_LN                                                               = 1
 12957  	RESOURCE_ENUM_MODULE_EXACT                                                     = 16
 12958  	RESOURCE_ENUM_MUI                                                              = 2
 12959  	RESOURCE_ENUM_MUI_SYSTEM                                                       = 4
 12960  	RESOURCE_ENUM_VALIDATE                                                         = 8
 12961  	RESOURCE_GLOBALNET                                                             = 0x00000002
 12962  	RESOURCE_MANAGER_COMMUNICATION                                                 = 0x00000002
 12963  	RESOURCE_MANAGER_MAXIMUM_OPTION                                                = 0x00000003
 12964  	RESOURCE_MANAGER_VOLATILE                                                      = 0x00000001
 12965  	RESOURCE_RECENT                                                                = 0x00000004
 12966  	RESOURCE_REMEMBERED                                                            = 0x00000003
 12967  	RESTART_MAX_CMD_LINE                                                           = 1024
 12968  	RESTART_NO_CRASH                                                               = 1
 12969  	RESTART_NO_HANG                                                                = 2
 12970  	RESTART_NO_PATCH                                                               = 4
 12971  	RESTART_NO_REBOOT                                                              = 8
 12972  	RESTORE_CTM                                                                    = 4100
 12973  	RESTRICTED_POINTER                                                             = 0
 12974  	RES_CURSOR                                                                     = 2
 12975  	RES_ICON                                                                       = 1
 12976  	RETRACT_IEPORT                                                                 = 3
 12977  	RETURN_SMART_STATUS                                                            = 0xDA
 12978  	REVERSE_PRINT                                                                  = 0x00000001
 12979  	REVISION_LENGTH                                                                = 4
 12980  	RGN_AND                                                                        = 1
 12981  	RGN_COPY                                                                       = 5
 12982  	RGN_DIFF                                                                       = 4
 12983  	RGN_ERROR                                                                      = 0
 12984  	RGN_MAX                                                                        = 5
 12985  	RGN_MIN                                                                        = 1
 12986  	RGN_OR                                                                         = 2
 12987  	RGN_XOR                                                                        = 3
 12988  	RIDEV_APPKEYS                                                                  = 0x00000400
 12989  	RIDEV_CAPTUREMOUSE                                                             = 0x00000200
 12990  	RIDEV_DEVNOTIFY                                                                = 0x00002000
 12991  	RIDEV_EXCLUDE                                                                  = 0x00000010
 12992  	RIDEV_EXINPUTSINK                                                              = 0x00001000
 12993  	RIDEV_EXMODEMASK                                                               = 0x000000F0
 12994  	RIDEV_INPUTSINK                                                                = 0x00000100
 12995  	RIDEV_NOHOTKEYS                                                                = 0x00000200
 12996  	RIDEV_NOLEGACY                                                                 = 0x00000030
 12997  	RIDEV_PAGEONLY                                                                 = 0x00000020
 12998  	RIDEV_REMOVE                                                                   = 0x00000001
 12999  	RIDI_DEVICEINFO                                                                = 0x2000000b
 13000  	RIDI_DEVICENAME                                                                = 0x20000007
 13001  	RIDI_PREPARSEDDATA                                                             = 0x20000005
 13002  	RID_HEADER                                                                     = 0x10000005
 13003  	RID_INPUT                                                                      = 0x10000003
 13004  	RIGHTMOST_BUTTON_PRESSED                                                       = 0x2
 13005  	RIGHT_ALT_PRESSED                                                              = 0x1
 13006  	RIGHT_CTRL_PRESSED                                                             = 0x4
 13007  	RIM_INPUT                                                                      = 0
 13008  	RIM_INPUTSINK                                                                  = 1
 13009  	RIM_TYPEHID                                                                    = 2
 13010  	RIM_TYPEKEYBOARD                                                               = 1
 13011  	RIM_TYPEMAX                                                                    = 2
 13012  	RIM_TYPEMOUSE                                                                  = 0
 13013  	RIP_EVENT                                                                      = 9
 13014  	RI_KEY_BREAK                                                                   = 1
 13015  	RI_KEY_E0                                                                      = 2
 13016  	RI_KEY_E1                                                                      = 4
 13017  	RI_KEY_MAKE                                                                    = 0
 13018  	RI_KEY_TERMSRV_SET_LED                                                         = 8
 13019  	RI_KEY_TERMSRV_SHADOW                                                          = 0x10
 13020  	RI_MOUSE_BUTTON_1_DOWN                                                         = 1
 13021  	RI_MOUSE_BUTTON_1_UP                                                           = 2
 13022  	RI_MOUSE_BUTTON_2_DOWN                                                         = 4
 13023  	RI_MOUSE_BUTTON_2_UP                                                           = 8
 13024  	RI_MOUSE_BUTTON_3_DOWN                                                         = 16
 13025  	RI_MOUSE_BUTTON_3_UP                                                           = 32
 13026  	RI_MOUSE_BUTTON_4_DOWN                                                         = 0x0040
 13027  	RI_MOUSE_BUTTON_4_UP                                                           = 0x0080
 13028  	RI_MOUSE_BUTTON_5_DOWN                                                         = 0x0100
 13029  	RI_MOUSE_BUTTON_5_UP                                                           = 0x0200
 13030  	RI_MOUSE_LEFT_BUTTON_DOWN                                                      = 0x0001
 13031  	RI_MOUSE_LEFT_BUTTON_UP                                                        = 0x0002
 13032  	RI_MOUSE_MIDDLE_BUTTON_DOWN                                                    = 0x0010
 13033  	RI_MOUSE_MIDDLE_BUTTON_UP                                                      = 0x0020
 13034  	RI_MOUSE_RIGHT_BUTTON_DOWN                                                     = 0x0004
 13035  	RI_MOUSE_RIGHT_BUTTON_UP                                                       = 0x0008
 13036  	RI_MOUSE_WHEEL                                                                 = 0x0400
 13037  	ROTFLAGS_ALLOWANYCLIENT                                                        = 0x2
 13038  	ROTFLAGS_REGISTRATIONKEEPSALIVE                                                = 0x1
 13039  	ROTREGFLAGS_ALLOWANYCLIENT                                                     = 0x1
 13040  	ROT_COMPARE_MAX                                                                = 2048
 13041  	RPCFLG_ASYNCHRONOUS                                                            = 1073741824
 13042  	RPCFLG_AUTO_COMPLETE                                                           = 134217728
 13043  	RPCFLG_HAS_CALLBACK                                                            = 67108864
 13044  	RPCFLG_HAS_MULTI_SYNTAXES                                                      = 33554432
 13045  	RPCFLG_INPUT_SYNCHRONOUS                                                       = 536870912
 13046  	RPCFLG_LOCAL_CALL                                                              = 268435456
 13047  	RPCFLG_MESSAGE                                                                 = 16777216
 13048  	RPCFLG_NON_NDR                                                                 = 2147483648
 13049  	RPC_BUFFER_ASYNC                                                               = 0x00008000
 13050  	RPC_BUFFER_COMPLETE                                                            = 0x00001000
 13051  	RPC_BUFFER_EXTRA                                                               = 0x00004000
 13052  	RPC_BUFFER_NONOTIFY                                                            = 0x00010000
 13053  	RPC_BUFFER_PARTIAL                                                             = 0x00002000
 13054  	RPC_CALL_ATTRIBUTES_VERSION                                                    = 1
 13055  	RPC_CONTEXT_HANDLE_DEFAULT_FLAGS                                               = 0
 13056  	RPC_CONTEXT_HANDLE_DONT_SERIALIZE                                              = 536870912
 13057  	RPC_CONTEXT_HANDLE_FLAGS                                                       = 805306368
 13058  	RPC_CONTEXT_HANDLE_SERIALIZE                                                   = 268435456
 13059  	RPC_C_AUTHN_DCE_PRIVATE                                                        = 1
 13060  	RPC_C_AUTHN_DCE_PUBLIC                                                         = 2
 13061  	RPC_C_AUTHN_DEC_PUBLIC                                                         = 4
 13062  	RPC_C_AUTHN_DEFAULT                                                            = 4294967295
 13063  	RPC_C_AUTHN_DIGEST                                                             = 21
 13064  	RPC_C_AUTHN_DPA                                                                = 17
 13065  	RPC_C_AUTHN_GSS_KERBEROS                                                       = 16
 13066  	RPC_C_AUTHN_GSS_NEGOTIATE                                                      = 9
 13067  	RPC_C_AUTHN_GSS_SCHANNEL                                                       = 14
 13068  	RPC_C_AUTHN_INFO_TYPE_HTTP                                                     = 1
 13069  	RPC_C_AUTHN_LEVEL_CALL                                                         = 3
 13070  	RPC_C_AUTHN_LEVEL_CONNECT                                                      = 2
 13071  	RPC_C_AUTHN_LEVEL_DEFAULT                                                      = 0
 13072  	RPC_C_AUTHN_LEVEL_NONE                                                         = 1
 13073  	RPC_C_AUTHN_LEVEL_PKT                                                          = 4
 13074  	RPC_C_AUTHN_LEVEL_PKT_INTEGRITY                                                = 5
 13075  	RPC_C_AUTHN_LEVEL_PKT_PRIVACY                                                  = 6
 13076  	RPC_C_AUTHN_MQ                                                                 = 100
 13077  	RPC_C_AUTHN_MSN                                                                = 18
 13078  	RPC_C_AUTHN_NONE                                                               = 0
 13079  	RPC_C_AUTHN_WINNT                                                              = 10
 13080  	RPC_C_AUTHZ_DCE                                                                = 2
 13081  	RPC_C_AUTHZ_DEFAULT                                                            = 0xffffffff
 13082  	RPC_C_AUTHZ_NAME                                                               = 1
 13083  	RPC_C_AUTHZ_NONE                                                               = 0
 13084  	RPC_C_BINDING_DEFAULT_TIMEOUT                                                  = 5
 13085  	RPC_C_BINDING_INFINITE_TIMEOUT                                                 = 10
 13086  	RPC_C_BINDING_MAX_TIMEOUT                                                      = 9
 13087  	RPC_C_BINDING_MIN_TIMEOUT                                                      = 0
 13088  	RPC_C_BIND_TO_ALL_NICS                                                         = 1
 13089  	RPC_C_CANCEL_INFINITE_TIMEOUT                                                  = -1
 13090  	RPC_C_DONT_FAIL                                                                = 0x4
 13091  	RPC_C_EP_ALL_ELTS                                                              = 0
 13092  	RPC_C_EP_MATCH_BY_BOTH                                                         = 3
 13093  	RPC_C_EP_MATCH_BY_IF                                                           = 1
 13094  	RPC_C_EP_MATCH_BY_OBJ                                                          = 2
 13095  	RPC_C_FULL_CERT_CHAIN                                                          = 0x0001
 13096  	RPC_C_HTTP_AUTHN_SCHEME_BASIC                                                  = 0x00000001
 13097  	RPC_C_HTTP_AUTHN_SCHEME_CERT                                                   = 0x00010000
 13098  	RPC_C_HTTP_AUTHN_SCHEME_DIGEST                                                 = 0x00000008
 13099  	RPC_C_HTTP_AUTHN_SCHEME_NEGOTIATE                                              = 0x00000010
 13100  	RPC_C_HTTP_AUTHN_SCHEME_NTLM                                                   = 0x00000002
 13101  	RPC_C_HTTP_AUTHN_SCHEME_PASSPORT                                               = 0x00000004
 13102  	RPC_C_HTTP_AUTHN_TARGET_PROXY                                                  = 2
 13103  	RPC_C_HTTP_AUTHN_TARGET_SERVER                                                 = 1
 13104  	RPC_C_HTTP_FLAG_IGNORE_CERT_CN_INVALID                                         = 8
 13105  	RPC_C_HTTP_FLAG_USE_FIRST_AUTH_SCHEME                                          = 2
 13106  	RPC_C_HTTP_FLAG_USE_SSL                                                        = 1
 13107  	RPC_C_IMP_LEVEL_ANONYMOUS                                                      = 1
 13108  	RPC_C_IMP_LEVEL_DEFAULT                                                        = 0
 13109  	RPC_C_IMP_LEVEL_DELEGATE                                                       = 4
 13110  	RPC_C_IMP_LEVEL_IDENTIFY                                                       = 2
 13111  	RPC_C_IMP_LEVEL_IMPERSONATE                                                    = 3
 13112  	RPC_C_INFINITE_TIMEOUT                                                         = 4294967295
 13113  	RPC_C_LISTEN_MAX_CALLS_DEFAULT                                                 = 1234
 13114  	RPC_C_MGMT_INQ_IF_IDS                                                          = 0
 13115  	RPC_C_MGMT_INQ_PRINC_NAME                                                      = 1
 13116  	RPC_C_MGMT_INQ_STATS                                                           = 2
 13117  	RPC_C_MGMT_IS_SERVER_LISTEN                                                    = 3
 13118  	RPC_C_MGMT_STOP_SERVER_LISTEN                                                  = 4
 13119  	RPC_C_MQ_AUTHN_LEVEL_NONE                                                      = 0x0000
 13120  	RPC_C_MQ_AUTHN_LEVEL_PKT_INTEGRITY                                             = 0x0008
 13121  	RPC_C_MQ_AUTHN_LEVEL_PKT_PRIVACY                                               = 0x0010
 13122  	RPC_C_MQ_CLEAR_ON_OPEN                                                         = 0x0002
 13123  	RPC_C_MQ_EXPRESS                                                               = 0
 13124  	RPC_C_MQ_JOURNAL_ALWAYS                                                        = 2
 13125  	RPC_C_MQ_JOURNAL_DEADLETTER                                                    = 1
 13126  	RPC_C_MQ_JOURNAL_NONE                                                          = 0
 13127  	RPC_C_MQ_PERMANENT                                                             = 0x0001
 13128  	RPC_C_MQ_RECOVERABLE                                                           = 1
 13129  	RPC_C_MQ_TEMPORARY                                                             = 0x0000
 13130  	RPC_C_MQ_USE_EXISTING_SECURITY                                                 = 0x0004
 13131  	RPC_C_NOTIFY_ON_SEND_COMPLETE                                                  = 0x1
 13132  	RPC_C_NS_DEFAULT_EXP_AGE                                                       = -1
 13133  	RPC_C_NS_SYNTAX_DCE                                                            = 3
 13134  	RPC_C_NS_SYNTAX_DEFAULT                                                        = 0
 13135  	RPC_C_OPT_BINDING_NONCAUSAL                                                    = 9
 13136  	RPC_C_OPT_CALL_TIMEOUT                                                         = 12
 13137  	RPC_C_OPT_DONT_LINGER                                                          = 13
 13138  	RPC_C_OPT_MAX_OPTIONS                                                          = 14
 13139  	RPC_C_OPT_MQ_ACKNOWLEDGE                                                       = 4
 13140  	RPC_C_OPT_MQ_AUTHN_LEVEL                                                       = 6
 13141  	RPC_C_OPT_MQ_AUTHN_SERVICE                                                     = 5
 13142  	RPC_C_OPT_MQ_DELIVERY                                                          = 1
 13143  	RPC_C_OPT_MQ_JOURNAL                                                           = 3
 13144  	RPC_C_OPT_MQ_PRIORITY                                                          = 2
 13145  	RPC_C_OPT_MQ_TIME_TO_BE_RECEIVED                                               = 8
 13146  	RPC_C_OPT_MQ_TIME_TO_REACH_QUEUE                                               = 7
 13147  	RPC_C_OPT_SECURITY_CALLBACK                                                    = 10
 13148  	RPC_C_OPT_UNIQUE_BINDING                                                       = 11
 13149  	RPC_C_PARM_BUFFER_LENGTH                                                       = 2
 13150  	RPC_C_PARM_MAX_PACKET_LENGTH                                                   = 1
 13151  	RPC_C_PROFILE_ALL_ELT                                                          = 1
 13152  	RPC_C_PROFILE_ALL_ELTS                                                         = 1
 13153  	RPC_C_PROFILE_DEFAULT_ELT                                                      = 0
 13154  	RPC_C_PROFILE_MATCH_BY_BOTH                                                    = 4
 13155  	RPC_C_PROFILE_MATCH_BY_IF                                                      = 2
 13156  	RPC_C_PROFILE_MATCH_BY_MBR                                                     = 3
 13157  	RPC_C_PROTECT_LEVEL_CALL                                                       = 3
 13158  	RPC_C_PROTECT_LEVEL_CONNECT                                                    = 2
 13159  	RPC_C_PROTECT_LEVEL_DEFAULT                                                    = 0
 13160  	RPC_C_PROTECT_LEVEL_NONE                                                       = 1
 13161  	RPC_C_PROTECT_LEVEL_PKT                                                        = 4
 13162  	RPC_C_PROTECT_LEVEL_PKT_INTEGRITY                                              = 5
 13163  	RPC_C_PROTECT_LEVEL_PKT_PRIVACY                                                = 6
 13164  	RPC_C_PROTSEQ_MAX_REQS_DEFAULT                                                 = 10
 13165  	RPC_C_QOS_CAPABILITIES_ANY_AUTHORITY                                           = 0x4
 13166  	RPC_C_QOS_CAPABILITIES_DEFAULT                                                 = 0x0
 13167  	RPC_C_QOS_CAPABILITIES_IGNORE_DELEGATE_FAILURE                                 = 0x8
 13168  	RPC_C_QOS_CAPABILITIES_LOCAL_MA_HINT                                           = 0x10
 13169  	RPC_C_QOS_CAPABILITIES_MAKE_FULLSIC                                            = 0x2
 13170  	RPC_C_QOS_CAPABILITIES_MUTUAL_AUTH                                             = 0x1
 13171  	RPC_C_QOS_IDENTITY_DYNAMIC                                                     = 1
 13172  	RPC_C_QOS_IDENTITY_STATIC                                                      = 0
 13173  	RPC_C_SECURITY_QOS_VERSION                                                     = 1
 13174  	RPC_C_SECURITY_QOS_VERSION_1                                                   = 1
 13175  	RPC_C_SECURITY_QOS_VERSION_2                                                   = 2
 13176  	RPC_C_SECURITY_QOS_VERSION_3                                                   = 3
 13177  	RPC_C_STATS_CALLS_IN                                                           = 0
 13178  	RPC_C_STATS_CALLS_OUT                                                          = 1
 13179  	RPC_C_STATS_PKTS_IN                                                            = 2
 13180  	RPC_C_STATS_PKTS_OUT                                                           = 3
 13181  	RPC_C_USE_INTERNET_PORT                                                        = 0x1
 13182  	RPC_C_USE_INTRANET_PORT                                                        = 0x2
 13183  	RPC_C_VERS_ALL                                                                 = 1
 13184  	RPC_C_VERS_COMPATIBLE                                                          = 2
 13185  	RPC_C_VERS_EXACT                                                               = 3
 13186  	RPC_C_VERS_MAJOR_ONLY                                                          = 4
 13187  	RPC_C_VERS_UPTO                                                                = 5
 13188  	RPC_EEINFO_VERSION                                                             = 1
 13189  	RPC_ENTRY                                                                      = 0
 13190  	RPC_FLAGS_VALID_BIT                                                            = 0x00008000
 13191  	RPC_IF_ALLOW_CALLBACKS_WITH_NO_AUTH                                            = 0x0010
 13192  	RPC_IF_ALLOW_LOCAL_ONLY                                                        = 0x0020
 13193  	RPC_IF_ALLOW_SECURE_ONLY                                                       = 0x0008
 13194  	RPC_IF_ALLOW_UNKNOWN_AUTHORITY                                                 = 0x0004
 13195  	RPC_IF_AUTOLISTEN                                                              = 0x0001
 13196  	RPC_IF_OLE                                                                     = 0x0002
 13197  	RPC_IF_SEC_NO_CACHE                                                            = 0x0040
 13198  	RPC_INTERFACE_HAS_PIPES                                                        = 0x0001
 13199  	RPC_NCA_FLAGS_BROADCAST                                                        = 0x00000002
 13200  	RPC_NCA_FLAGS_DEFAULT                                                          = 0x00000000
 13201  	RPC_NCA_FLAGS_IDEMPOTENT                                                       = 0x00000001
 13202  	RPC_NCA_FLAGS_MAYBE                                                            = 0x00000004
 13203  	RPC_PROXY_CONNECTION_TYPE_IN_PROXY                                             = 0
 13204  	RPC_PROXY_CONNECTION_TYPE_OUT_PROXY                                            = 1
 13205  	RPC_P_ADDR_FORMAT_TCP_IPV4                                                     = 1
 13206  	RPC_P_ADDR_FORMAT_TCP_IPV6                                                     = 2
 13207  	RPC_QUERY_CLIENT_PRINCIPAL_NAME                                                = 4
 13208  	RPC_QUERY_SERVER_PRINCIPAL_NAME                                                = 2
 13209  	RPC_S_ACCESS_DENIED                                                            = 5
 13210  	RPC_S_ADDRESS_ERROR                                                            = 1768
 13211  	RPC_S_ALREADY_LISTENING                                                        = 1713
 13212  	RPC_S_ALREADY_REGISTERED                                                       = 1711
 13213  	RPC_S_ASYNC_CALL_PENDING                                                       = 997
 13214  	RPC_S_BINDING_HAS_NO_AUTH                                                      = 1746
 13215  	RPC_S_BINDING_INCOMPLETE                                                       = 1819
 13216  	RPC_S_BUFFER_TOO_SMALL                                                         = 122
 13217  	RPC_S_CALL_CANCELLED                                                           = 1818
 13218  	RPC_S_CALL_FAILED                                                              = 1726
 13219  	RPC_S_CALL_FAILED_DNE                                                          = 1727
 13220  	RPC_S_CALL_IN_PROGRESS                                                         = 1791
 13221  	RPC_S_CANNOT_SUPPORT                                                           = 1764
 13222  	RPC_S_CANT_CREATE_ENDPOINT                                                     = 1720
 13223  	RPC_S_COMM_FAILURE                                                             = 1820
 13224  	RPC_S_DUPLICATE_ENDPOINT                                                       = 1740
 13225  	RPC_S_ENTRY_ALREADY_EXISTS                                                     = 1760
 13226  	RPC_S_ENTRY_NOT_FOUND                                                          = 1761
 13227  	RPC_S_ENTRY_TYPE_MISMATCH                                                      = 1922
 13228  	RPC_S_FP_DIV_ZERO                                                              = 1769
 13229  	RPC_S_FP_OVERFLOW                                                              = 1771
 13230  	RPC_S_FP_UNDERFLOW                                                             = 1770
 13231  	RPC_S_GROUP_MEMBER_NOT_FOUND                                                   = 1898
 13232  	RPC_S_GRP_ELT_NOT_ADDED                                                        = 1928
 13233  	RPC_S_GRP_ELT_NOT_REMOVED                                                      = 1929
 13234  	RPC_S_INCOMPLETE_NAME                                                          = 1755
 13235  	RPC_S_INTERFACE_NOT_EXPORTED                                                   = 1924
 13236  	RPC_S_INTERFACE_NOT_FOUND                                                      = 1759
 13237  	RPC_S_INTERNAL_ERROR                                                           = 1766
 13238  	RPC_S_INVALID_ARG                                                              = 87
 13239  	RPC_S_INVALID_ASYNC_CALL                                                       = 1915
 13240  	RPC_S_INVALID_ASYNC_HANDLE                                                     = 1914
 13241  	RPC_S_INVALID_AUTH_IDENTITY                                                    = 1749
 13242  	RPC_S_INVALID_BINDING                                                          = 1702
 13243  	RPC_S_INVALID_BOUND                                                            = 1734
 13244  	RPC_S_INVALID_ENDPOINT_FORMAT                                                  = 1706
 13245  	RPC_S_INVALID_LEVEL                                                            = 87
 13246  	RPC_S_INVALID_NAF_ID                                                           = 1763
 13247  	RPC_S_INVALID_NAME_SYNTAX                                                      = 1736
 13248  	RPC_S_INVALID_NETWORK_OPTIONS                                                  = 1724
 13249  	RPC_S_INVALID_NET_ADDR                                                         = 1707
 13250  	RPC_S_INVALID_OBJECT                                                           = 1900
 13251  	RPC_S_INVALID_RPC_PROTSEQ                                                      = 1704
 13252  	RPC_S_INVALID_SECURITY_DESC                                                    = 1338
 13253  	RPC_S_INVALID_STRING_BINDING                                                   = 1700
 13254  	RPC_S_INVALID_STRING_UUID                                                      = 1705
 13255  	RPC_S_INVALID_TAG                                                              = 1733
 13256  	RPC_S_INVALID_TIMEOUT                                                          = 1709
 13257  	RPC_S_INVALID_VERS_OPTION                                                      = 1756
 13258  	RPC_S_MAX_CALLS_TOO_SMALL                                                      = 1742
 13259  	RPC_S_NAME_SERVICE_UNAVAILABLE                                                 = 1762
 13260  	RPC_S_NOTHING_TO_EXPORT                                                        = 1754
 13261  	RPC_S_NOT_ALL_OBJS_EXPORTED                                                    = 1923
 13262  	RPC_S_NOT_ALL_OBJS_UNEXPORTED                                                  = 1758
 13263  	RPC_S_NOT_CANCELLED                                                            = 1826
 13264  	RPC_S_NOT_LISTENING                                                            = 1715
 13265  	RPC_S_NOT_RPC_ERROR                                                            = 1823
 13266  	RPC_S_NO_BINDINGS                                                              = 1718
 13267  	RPC_S_NO_CALL_ACTIVE                                                           = 1725
 13268  	RPC_S_NO_CONTEXT_AVAILABLE                                                     = 1765
 13269  	RPC_S_NO_ENDPOINT_FOUND                                                        = 1708
 13270  	RPC_S_NO_ENTRY_NAME                                                            = 1735
 13271  	RPC_S_NO_INTERFACES                                                            = 1817
 13272  	RPC_S_NO_MORE_BINDINGS                                                         = 1806
 13273  	RPC_S_NO_MORE_MEMBERS                                                          = 1757
 13274  	RPC_S_NO_PRINC_NAME                                                            = 1822
 13275  	RPC_S_NO_PROTSEQS                                                              = 1719
 13276  	RPC_S_NO_PROTSEQS_REGISTERED                                                   = 1714
 13277  	RPC_S_OBJECT_NOT_FOUND                                                         = 1710
 13278  	RPC_S_OK                                                                       = 0
 13279  	RPC_S_OUT_OF_MEMORY                                                            = 14
 13280  	RPC_S_OUT_OF_RESOURCES                                                         = 1721
 13281  	RPC_S_OUT_OF_THREADS                                                           = 164
 13282  	RPC_S_PRF_ELT_NOT_ADDED                                                        = 1926
 13283  	RPC_S_PRF_ELT_NOT_REMOVED                                                      = 1927
 13284  	RPC_S_PROCNUM_OUT_OF_RANGE                                                     = 1745
 13285  	RPC_S_PROFILE_NOT_ADDED                                                        = 1925
 13286  	RPC_S_PROTOCOL_ERROR                                                           = 1728
 13287  	RPC_S_PROTSEQ_NOT_FOUND                                                        = 1744
 13288  	RPC_S_PROTSEQ_NOT_SUPPORTED                                                    = 1703
 13289  	RPC_S_SEC_PKG_ERROR                                                            = 1825
 13290  	RPC_S_SEND_INCOMPLETE                                                          = 1913
 13291  	RPC_S_SERVER_OUT_OF_MEMORY                                                     = 1130
 13292  	RPC_S_SERVER_TOO_BUSY                                                          = 1723
 13293  	RPC_S_SERVER_UNAVAILABLE                                                       = 1722
 13294  	RPC_S_STRING_TOO_LONG                                                          = 1743
 13295  	RPC_S_TIMEOUT                                                                  = 1460
 13296  	RPC_S_TYPE_ALREADY_REGISTERED                                                  = 1712
 13297  	RPC_S_UNKNOWN_AUTHN_LEVEL                                                      = 1748
 13298  	RPC_S_UNKNOWN_AUTHN_SERVICE                                                    = 1747
 13299  	RPC_S_UNKNOWN_AUTHN_TYPE                                                       = 1741
 13300  	RPC_S_UNKNOWN_AUTHZ_SERVICE                                                    = 1750
 13301  	RPC_S_UNKNOWN_IF                                                               = 1717
 13302  	RPC_S_UNKNOWN_MGR_TYPE                                                         = 1716
 13303  	RPC_S_UNKNOWN_PRINCIPAL                                                        = 1332
 13304  	RPC_S_UNSUPPORTED_AUTHN_LEVEL                                                  = 1821
 13305  	RPC_S_UNSUPPORTED_NAME_SYNTAX                                                  = 1737
 13306  	RPC_S_UNSUPPORTED_TRANS_SYN                                                    = 1730
 13307  	RPC_S_UNSUPPORTED_TYPE                                                         = 1732
 13308  	RPC_S_UUID_LOCAL_ONLY                                                          = 1824
 13309  	RPC_S_UUID_NO_ADDRESS                                                          = 1739
 13310  	RPC_S_WRONG_KIND_OF_BINDING                                                    = 1701
 13311  	RPC_S_ZERO_DIVIDE                                                              = 1767
 13312  	RPC_UNICODE_SUPPORTED                                                          = 0
 13313  	RPC_X_BAD_STUB_DATA                                                            = 1783
 13314  	RPC_X_BYTE_COUNT_TOO_SMALL                                                     = 1782
 13315  	RPC_X_ENUM_VALUE_OUT_OF_RANGE                                                  = 1781
 13316  	RPC_X_ENUM_VALUE_TOO_LARGE                                                     = 1781
 13317  	RPC_X_INVALID_BOUND                                                            = 1734
 13318  	RPC_X_INVALID_BUFFER                                                           = 1784
 13319  	RPC_X_INVALID_ES_ACTION                                                        = 1827
 13320  	RPC_X_INVALID_PIPE_OBJECT                                                      = 1830
 13321  	RPC_X_INVALID_PIPE_OPERATION                                                   = 1831
 13322  	RPC_X_INVALID_TAG                                                              = 1733
 13323  	RPC_X_NO_MEMORY                                                                = 14
 13324  	RPC_X_NO_MORE_ENTRIES                                                          = 1772
 13325  	RPC_X_NULL_REF_POINTER                                                         = 1780
 13326  	RPC_X_PIPE_APP_MEMORY                                                          = 14
 13327  	RPC_X_PIPE_CLOSED                                                              = 1916
 13328  	RPC_X_PIPE_DISCIPLINE_ERROR                                                    = 1917
 13329  	RPC_X_PIPE_EMPTY                                                               = 1918
 13330  	RPC_X_SS_CANNOT_GET_CALL_HANDLE                                                = 1779
 13331  	RPC_X_SS_CHAR_TRANS_OPEN_FAIL                                                  = 1773
 13332  	RPC_X_SS_CHAR_TRANS_SHORT_FILE                                                 = 1774
 13333  	RPC_X_SS_CONTEXT_DAMAGED                                                       = 1777
 13334  	RPC_X_SS_CONTEXT_MISMATCH                                                      = 6
 13335  	RPC_X_SS_HANDLES_MISMATCH                                                      = 1778
 13336  	RPC_X_SS_IN_NULL_CONTEXT                                                       = 1775
 13337  	RPC_X_WRONG_ES_VERSION                                                         = 1828
 13338  	RPC_X_WRONG_PIPE_ORDER                                                         = 1831
 13339  	RPC_X_WRONG_PIPE_VERSION                                                       = 1832
 13340  	RPC_X_WRONG_STUB_VERSION                                                       = 1829
 13341  	RP_INIFILE                                                                     = 0x02
 13342  	RP_LOGON                                                                       = 0x01
 13343  	RRF_NOEXPAND                                                                   = 0x10000000
 13344  	RRF_RT_ANY                                                                     = 0x0000ffff
 13345  	RRF_RT_DWORD                                                                   = 24
 13346  	RRF_RT_QWORD                                                                   = 72
 13347  	RRF_RT_REG_BINARY                                                              = 0x00000008
 13348  	RRF_RT_REG_DWORD                                                               = 0x00000010
 13349  	RRF_RT_REG_EXPAND_SZ                                                           = 0x00000004
 13350  	RRF_RT_REG_MULTI_SZ                                                            = 0x00000020
 13351  	RRF_RT_REG_NONE                                                                = 0x00000001
 13352  	RRF_RT_REG_QWORD                                                               = 0x00000040
 13353  	RRF_RT_REG_SZ                                                                  = 0x00000002
 13354  	RRF_ZEROONFAILURE                                                              = 0x20000000
 13355  	RSA1024BIT_KEY                                                                 = 0x4000000
 13356  	RTL_CONDITION_VARIABLE_LOCKMODE_SHARED                                         = 0x1
 13357  	RTL_CRITICAL_SECTION_ALL_FLAG_BITS                                             = 0xff000000
 13358  	RTL_CRITICAL_SECTION_DEBUG_FLAG_STATIC_INIT                                    = 0x00000001
 13359  	RTL_CRITICAL_SECTION_FLAG_DYNAMIC_SPIN                                         = 0x02000000
 13360  	RTL_CRITICAL_SECTION_FLAG_FORCE_DEBUG_INFO                                     = 0x10000000
 13361  	RTL_CRITICAL_SECTION_FLAG_NO_DEBUG_INFO                                        = 0x01000000
 13362  	RTL_CRITICAL_SECTION_FLAG_RESERVED                                             = 3758096384
 13363  	RTL_CRITICAL_SECTION_FLAG_RESOURCE_TYPE                                        = 0x08000000
 13364  	RTL_CRITICAL_SECTION_FLAG_STATIC_INIT                                          = 0x04000000
 13365  	RTL_CRITSECT_TYPE                                                              = 0
 13366  	RTL_RESOURCE_TYPE                                                              = 1
 13367  	RTL_RUN_ONCE_ASYNC                                                             = 2
 13368  	RTL_RUN_ONCE_CHECK_ONLY                                                        = 1
 13369  	RTL_RUN_ONCE_CTX_RESERVED_BITS                                                 = 2
 13370  	RTL_RUN_ONCE_INIT_FAILED                                                       = 4
 13371  	RTL_UMS_VERSION                                                                = 256
 13372  	RTL_VRF_FLG_APPCOMPAT_CHECKS                                                   = 0x00000010
 13373  	RTL_VRF_FLG_COM_CHECKS                                                         = 0x00000100
 13374  	RTL_VRF_FLG_DANGEROUS_APIS                                                     = 0x00000200
 13375  	RTL_VRF_FLG_DEADLOCK_CHECKS                                                    = 0x00000800
 13376  	RTL_VRF_FLG_DIRTY_STACKS                                                       = 0x00000040
 13377  	RTL_VRF_FLG_ENABLED_SYSTEM_WIDE                                                = 0x00020000
 13378  	RTL_VRF_FLG_ENABLE_LOGGING                                                     = 0x00004000
 13379  	RTL_VRF_FLG_FAST_FILL_HEAP                                                     = 0x00008000
 13380  	RTL_VRF_FLG_FIRST_CHANCE_EXCEPTION_CHECKS                                      = 0x00001000
 13381  	RTL_VRF_FLG_FULL_PAGE_HEAP                                                     = 0x00000001
 13382  	RTL_VRF_FLG_HANDLE_CHECKS                                                      = 0x00000004
 13383  	RTL_VRF_FLG_LOCK_CHECKS                                                        = 0x00040000
 13384  	RTL_VRF_FLG_MISCELLANEOUS_CHECKS                                               = 0x00020000
 13385  	RTL_VRF_FLG_RACE_CHECKS                                                        = 0x00000400
 13386  	RTL_VRF_FLG_RESERVED_DONOTUSE                                                  = 0x00000002
 13387  	RTL_VRF_FLG_RPC_CHECKS                                                         = 0x00000080
 13388  	RTL_VRF_FLG_STACK_CHECKS                                                       = 0x00000008
 13389  	RTL_VRF_FLG_TLS_CHECKS                                                         = 0x00000020
 13390  	RTL_VRF_FLG_VIRTUAL_MEM_CHECKS                                                 = 0x00002000
 13391  	RTL_VRF_FLG_VIRTUAL_SPACE_TRACKING                                             = 0x00010000
 13392  	RTS_CONTROL_DISABLE                                                            = 0x0
 13393  	RTS_CONTROL_ENABLE                                                             = 0x1
 13394  	RTS_CONTROL_HANDSHAKE                                                          = 0x2
 13395  	RTS_CONTROL_TOGGLE                                                             = 0x3
 13396  	RUNDLGORD                                                                      = 1545
 13397  	RUNTIME_FUNCTION_INDIRECT                                                      = 0x1
 13398  	RUSSIAN_CHARSET                                                                = 204
 13399  	R_OK                                                                           = 4
 13400  	SACL_SECURITY_INFORMATION                                                      = 8
 13401  	SAL_HXX                                                                        = 0
 13402  	SAL__callback                                                                  = 0
 13403  	SAL__checkReturn                                                               = 0
 13404  	SAL__deref                                                                     = 0
 13405  	SAL__deref_in                                                                  = 0
 13406  	SAL__deref_in_opt                                                              = 0
 13407  	SAL__deref_inout                                                               = 0
 13408  	SAL__deref_inout_nz                                                            = 0
 13409  	SAL__deref_inout_nz_opt                                                        = 0
 13410  	SAL__deref_inout_opt                                                           = 0
 13411  	SAL__deref_inout_z                                                             = 0
 13412  	SAL__deref_inout_z_opt                                                         = 0
 13413  	SAL__deref_opt_in                                                              = 0
 13414  	SAL__deref_opt_in_opt                                                          = 0
 13415  	SAL__deref_opt_inout                                                           = 0
 13416  	SAL__deref_opt_inout_nz                                                        = 0
 13417  	SAL__deref_opt_inout_nz_opt                                                    = 0
 13418  	SAL__deref_opt_inout_opt                                                       = 0
 13419  	SAL__deref_opt_inout_z                                                         = 0
 13420  	SAL__deref_opt_inout_z_opt                                                     = 0
 13421  	SAL__deref_opt_out                                                             = 0
 13422  	SAL__deref_opt_out_nz_opt                                                      = 0
 13423  	SAL__deref_opt_out_opt                                                         = 0
 13424  	SAL__deref_opt_out_z                                                           = 0
 13425  	SAL__deref_opt_out_z_opt                                                       = 0
 13426  	SAL__deref_out                                                                 = 0
 13427  	SAL__deref_out_nz                                                              = 0
 13428  	SAL__deref_out_nz_opt                                                          = 0
 13429  	SAL__deref_out_opt                                                             = 0
 13430  	SAL__deref_out_z                                                               = 0
 13431  	SAL__deref_out_z_opt                                                           = 0
 13432  	SAL__exceptthat                                                                = 0
 13433  	SAL__execeptthat                                                               = 0
 13434  	SAL__format_string                                                             = 0
 13435  	SAL__in                                                                        = 0
 13436  	SAL__in_nz                                                                     = 0
 13437  	SAL__in_nz_opt                                                                 = 0
 13438  	SAL__in_opt                                                                    = 0
 13439  	SAL__in_z                                                                      = 0
 13440  	SAL__in_z_opt                                                                  = 0
 13441  	SAL__inner_callback                                                            = 0
 13442  	SAL__inner_checkReturn                                                         = 0
 13443  	SAL__inner_fallthrough                                                         = 0
 13444  	SAL__inner_fallthrough_dec                                                     = 0
 13445  	SAL__inner_override                                                            = 0
 13446  	SAL__inout                                                                     = 0
 13447  	SAL__inout_nz                                                                  = 0
 13448  	SAL__inout_nz_opt                                                              = 0
 13449  	SAL__inout_opt                                                                 = 0
 13450  	SAL__inout_z                                                                   = 0
 13451  	SAL__inout_z_opt                                                               = 0
 13452  	SAL__maybenull                                                                 = 0
 13453  	SAL__maybereadonly                                                             = 0
 13454  	SAL__maybevalid                                                                = 0
 13455  	SAL__notnull                                                                   = 0
 13456  	SAL__notreadonly                                                               = 0
 13457  	SAL__notvalid                                                                  = 0
 13458  	SAL__null                                                                      = 0
 13459  	SAL__nullnullterminated                                                        = 0
 13460  	SAL__nullterminated                                                            = 0
 13461  	SAL__out                                                                       = 0
 13462  	SAL__out_nz                                                                    = 0
 13463  	SAL__out_nz_opt                                                                = 0
 13464  	SAL__out_opt                                                                   = 0
 13465  	SAL__out_z                                                                     = 0
 13466  	SAL__out_z_opt                                                                 = 0
 13467  	SAL__override                                                                  = 0
 13468  	SAL__post                                                                      = 0
 13469  	SAL__pre                                                                       = 0
 13470  	SAL__readonly                                                                  = 0
 13471  	SAL__reserved                                                                  = 0
 13472  	SAL__valid                                                                     = 0
 13473  	SANDBOX_INERT                                                                  = 0x2
 13474  	SAVE_ATTRIBUTE_VALUES                                                          = 0xD3
 13475  	SAVE_CTM                                                                       = 4101
 13476  	SBM_ENABLE_ARROWS                                                              = 0x00E4
 13477  	SBM_GETPOS                                                                     = 0x00E1
 13478  	SBM_GETRANGE                                                                   = 0x00E3
 13479  	SBM_GETSCROLLBARINFO                                                           = 0x00EB
 13480  	SBM_GETSCROLLINFO                                                              = 0x00EA
 13481  	SBM_SETPOS                                                                     = 0x00E0
 13482  	SBM_SETRANGE                                                                   = 0x00E2
 13483  	SBM_SETRANGEREDRAW                                                             = 0x00E6
 13484  	SBM_SETSCROLLINFO                                                              = 0x00E9
 13485  	SBS_BOTTOMALIGN                                                                = 4
 13486  	SBS_HORZ                                                                       = 0
 13487  	SBS_LEFTALIGN                                                                  = 2
 13488  	SBS_RIGHTALIGN                                                                 = 4
 13489  	SBS_SIZEBOX                                                                    = 8
 13490  	SBS_SIZEBOXBOTTOMRIGHTALIGN                                                    = 4
 13491  	SBS_SIZEBOXTOPLEFTALIGN                                                        = 2
 13492  	SBS_SIZEGRIP                                                                   = 16
 13493  	SBS_TOPALIGN                                                                   = 2
 13494  	SBS_VERT                                                                       = 1
 13495  	SB_BOTH                                                                        = 3
 13496  	SB_BOTTOM                                                                      = 7
 13497  	SB_CONST_ALPHA                                                                 = 0x00000001
 13498  	SB_CTL                                                                         = 2
 13499  	SB_ENDSCROLL                                                                   = 8
 13500  	SB_GRAD_RECT                                                                   = 0x00000010
 13501  	SB_GRAD_TRI                                                                    = 0x00000020
 13502  	SB_HORZ                                                                        = 0
 13503  	SB_LEFT                                                                        = 6
 13504  	SB_LINEDOWN                                                                    = 1
 13505  	SB_LINELEFT                                                                    = 0
 13506  	SB_LINERIGHT                                                                   = 1
 13507  	SB_LINEUP                                                                      = 0
 13508  	SB_NONE                                                                        = 0x00000000
 13509  	SB_PAGEDOWN                                                                    = 3
 13510  	SB_PAGELEFT                                                                    = 2
 13511  	SB_PAGERIGHT                                                                   = 3
 13512  	SB_PAGEUP                                                                      = 2
 13513  	SB_PIXEL_ALPHA                                                                 = 0x00000002
 13514  	SB_PREMULT_ALPHA                                                               = 0x00000004
 13515  	SB_RIGHT                                                                       = 7
 13516  	SB_THUMBPOSITION                                                               = 4
 13517  	SB_THUMBTRACK                                                                  = 5
 13518  	SB_TOP                                                                         = 6
 13519  	SB_VERT                                                                        = 1
 13520  	SCALINGFACTORX                                                                 = 114
 13521  	SCALINGFACTORY                                                                 = 115
 13522  	SCARD_ABSENT                                                                   = 1
 13523  	SCARD_ATR_LENGTH                                                               = 33
 13524  	SCARD_CLASS_COMMUNICATIONS                                                     = 2
 13525  	SCARD_CLASS_ICC_STATE                                                          = 9
 13526  	SCARD_CLASS_IFD_PROTOCOL                                                       = 8
 13527  	SCARD_CLASS_MECHANICAL                                                         = 6
 13528  	SCARD_CLASS_PERF                                                               = 0x7ffe
 13529  	SCARD_CLASS_POWER_MGMT                                                         = 4
 13530  	SCARD_CLASS_PROTOCOL                                                           = 3
 13531  	SCARD_CLASS_SECURITY                                                           = 5
 13532  	SCARD_CLASS_SYSTEM                                                             = 0x7fff
 13533  	SCARD_CLASS_VENDOR_DEFINED                                                     = 7
 13534  	SCARD_CLASS_VENDOR_INFO                                                        = 1
 13535  	SCARD_COLD_RESET                                                               = 1
 13536  	SCARD_EJECT_CARD                                                               = 3
 13537  	SCARD_LEAVE_CARD                                                               = 0
 13538  	SCARD_NEGOTIABLE                                                               = 5
 13539  	SCARD_POWERED                                                                  = 4
 13540  	SCARD_POWER_DOWN                                                               = 0
 13541  	SCARD_PRESENT                                                                  = 2
 13542  	SCARD_PROTOCOL_DEFAULT                                                         = 0x80000000
 13543  	SCARD_PROTOCOL_OPTIMAL                                                         = 0x00000000
 13544  	SCARD_PROTOCOL_RAW                                                             = 0x00010000
 13545  	SCARD_PROTOCOL_T0                                                              = 0x00000001
 13546  	SCARD_PROTOCOL_T1                                                              = 0x00000002
 13547  	SCARD_PROTOCOL_Tx                                                              = 3
 13548  	SCARD_PROTOCOL_UNDEFINED                                                       = 0x00000000
 13549  	SCARD_PROVIDER_CSP                                                             = 2
 13550  	SCARD_PROVIDER_PRIMARY                                                         = 1
 13551  	SCARD_READER_CONFISCATES                                                       = 0x00000004
 13552  	SCARD_READER_EJECTS                                                            = 0x00000002
 13553  	SCARD_READER_SWALLOWS                                                          = 0x00000001
 13554  	SCARD_READER_TYPE_IDE                                                          = 0x10
 13555  	SCARD_READER_TYPE_KEYBOARD                                                     = 0x04
 13556  	SCARD_READER_TYPE_PARALELL                                                     = 0x02
 13557  	SCARD_READER_TYPE_PCMCIA                                                       = 0x40
 13558  	SCARD_READER_TYPE_SCSI                                                         = 0x08
 13559  	SCARD_READER_TYPE_SERIAL                                                       = 0x01
 13560  	SCARD_READER_TYPE_USB                                                          = 0x20
 13561  	SCARD_READER_TYPE_VENDOR                                                       = 0xF0
 13562  	SCARD_RESET_CARD                                                               = 1
 13563  	SCARD_SCOPE_SYSTEM                                                             = 2
 13564  	SCARD_SCOPE_TERMINAL                                                           = 1
 13565  	SCARD_SCOPE_USER                                                               = 0
 13566  	SCARD_SHARE_DIRECT                                                             = 3
 13567  	SCARD_SHARE_EXCLUSIVE                                                          = 1
 13568  	SCARD_SHARE_SHARED                                                             = 2
 13569  	SCARD_SPECIFIC                                                                 = 6
 13570  	SCARD_STATE_ATRMATCH                                                           = 0x00000040
 13571  	SCARD_STATE_CHANGED                                                            = 0x00000002
 13572  	SCARD_STATE_EMPTY                                                              = 0x00000010
 13573  	SCARD_STATE_EXCLUSIVE                                                          = 0x00000080
 13574  	SCARD_STATE_IGNORE                                                             = 0x00000001
 13575  	SCARD_STATE_INUSE                                                              = 0x00000100
 13576  	SCARD_STATE_MUTE                                                               = 0x00000200
 13577  	SCARD_STATE_PRESENT                                                            = 0x00000020
 13578  	SCARD_STATE_UNAVAILABLE                                                        = 0x00000008
 13579  	SCARD_STATE_UNAWARE                                                            = 0x00000000
 13580  	SCARD_STATE_UNKNOWN                                                            = 0x00000004
 13581  	SCARD_STATE_UNPOWERED                                                          = 0x00000400
 13582  	SCARD_SWALLOWED                                                                = 3
 13583  	SCARD_S_SUCCESS                                                                = 0
 13584  	SCARD_T0_CMD_LENGTH                                                            = 5
 13585  	SCARD_T0_HEADER_LENGTH                                                         = 7
 13586  	SCARD_T1_EPILOGUE_LENGTH                                                       = 2
 13587  	SCARD_T1_MAX_IFS                                                               = 254
 13588  	SCARD_T1_PROLOGUE_LENGTH                                                       = 3
 13589  	SCARD_UNKNOWN                                                                  = 0
 13590  	SCARD_UNPOWER_CARD                                                             = 2
 13591  	SCARD_WARM_RESET                                                               = 2
 13592  	SCERR_NOCARDNAME                                                               = 0x4000
 13593  	SCERR_NOGUIDS                                                                  = 0x8000
 13594  	SCHANNEL_ENC_KEY                                                               = 0x1
 13595  	SCHANNEL_MAC_KEY                                                               = 0x0
 13596  	SCHED_E_SERVICE_NOT_LOCALSYSTEM                                                = 6200
 13597  	SCHEME_OID_RETRIEVE_ENCODED_OBJECTW_FUNC                                       = "SchemeDllRetrieveEncodedObjectW"
 13598  	SCHEME_OID_RETRIEVE_ENCODED_OBJECT_FUNC                                        = "SchemeDllRetrieveEncodedObject"
 13599  	SCOPE_SECURITY_INFORMATION                                                     = 64
 13600  	SCREEN_FONTTYPE                                                                = 0x2000
 13601  	SCROLLLOCK_ON                                                                  = 0x40
 13602  	SCS_32BIT_BINARY                                                               = 0
 13603  	SCS_64BIT_BINARY                                                               = 6
 13604  	SCS_CAP_COMPSTR                                                                = 0x00000001
 13605  	SCS_CAP_MAKEREAD                                                               = 0x00000002
 13606  	SCS_CAP_SETRECONVERTSTRING                                                     = 0x00000004
 13607  	SCS_CHANGEATTR                                                                 = 18
 13608  	SCS_CHANGECLAUSE                                                               = 36
 13609  	SCS_DOS_BINARY                                                                 = 1
 13610  	SCS_OS216_BINARY                                                               = 5
 13611  	SCS_PIF_BINARY                                                                 = 3
 13612  	SCS_POSIX_BINARY                                                               = 4
 13613  	SCS_QUERYRECONVERTSTRING                                                       = 0x00020000
 13614  	SCS_SETRECONVERTSTRING                                                         = 0x00010000
 13615  	SCS_SETSTR                                                                     = 9
 13616  	SCS_THIS_PLATFORM_BINARY                                                       = 6
 13617  	SCS_WOW_BINARY                                                                 = 2
 13618  	SC_ARRANGE                                                                     = 0xF110
 13619  	SC_CLOSE                                                                       = 0xF060
 13620  	SC_CONTEXTHELP                                                                 = 0xF180
 13621  	SC_DEFAULT                                                                     = 0xF160
 13622  	SC_DLG_FORCE_UI                                                                = 0x04
 13623  	SC_DLG_MINIMAL_UI                                                              = 0x01
 13624  	SC_DLG_NO_UI                                                                   = 0x02
 13625  	SC_GROUP_IDENTIFIER                                                            = 43
 13626  	SC_GROUP_IDENTIFIERA                                                           = 43
 13627  	SC_GROUP_IDENTIFIERW                                                           = 43
 13628  	SC_HOTKEY                                                                      = 0xF150
 13629  	SC_HSCROLL                                                                     = 0xF080
 13630  	SC_ICON                                                                        = 61472
 13631  	SC_KEYMENU                                                                     = 0xF100
 13632  	SC_MANAGER_ALL_ACCESS                                                          = 983103
 13633  	SC_MANAGER_CONNECT                                                             = 0x0001
 13634  	SC_MANAGER_CREATE_SERVICE                                                      = 0x0002
 13635  	SC_MANAGER_ENUMERATE_SERVICE                                                   = 0x0004
 13636  	SC_MANAGER_LOCK                                                                = 0x0008
 13637  	SC_MANAGER_MODIFY_BOOT_CONFIG                                                  = 0x0020
 13638  	SC_MANAGER_QUERY_LOCK_STATUS                                                   = 0x0010
 13639  	SC_MAXIMIZE                                                                    = 0xF030
 13640  	SC_MINIMIZE                                                                    = 0xF020
 13641  	SC_MONITORPOWER                                                                = 0xF170
 13642  	SC_MOUSEMENU                                                                   = 0xF090
 13643  	SC_MOVE                                                                        = 0xF010
 13644  	SC_NEXTWINDOW                                                                  = 0xF040
 13645  	SC_PREVWINDOW                                                                  = 0xF050
 13646  	SC_RESTORE                                                                     = 0xF120
 13647  	SC_SCREENSAVE                                                                  = 0xF140
 13648  	SC_SEPARATOR                                                                   = 0xF00F
 13649  	SC_SIZE                                                                        = 0xF000
 13650  	SC_TASKLIST                                                                    = 0xF130
 13651  	SC_VSCROLL                                                                     = 0xF070
 13652  	SC_ZOOM                                                                        = 61488
 13653  	SEARCH_ALL                                                                     = 0x0
 13654  	SEARCH_ALL_NO_SEQ                                                              = 0x4
 13655  	SEARCH_ALTERNATE                                                               = 0x2
 13656  	SEARCH_ALT_NO_SEQ                                                              = 0x6
 13657  	SEARCH_PRIMARY                                                                 = 0x1
 13658  	SEARCH_PRI_NO_SEQ                                                              = 0x5
 13659  	SECTION_ALL_ACCESS                                                             = 983071
 13660  	SECTION_EXTEND_SIZE                                                            = 0x0010
 13661  	SECTION_MAP_EXECUTE                                                            = 0x0008
 13662  	SECTION_MAP_EXECUTE_EXPLICIT                                                   = 0x0020
 13663  	SECTION_MAP_READ                                                               = 0x0004
 13664  	SECTION_MAP_WRITE                                                              = 0x0002
 13665  	SECTION_QUERY                                                                  = 0x0001
 13666  	SECURITY_ANONYMOUS_LOGON_RID                                                   = 7
 13667  	SECURITY_APPPOOL_ID_BASE_RID                                                   = 82
 13668  	SECURITY_APPPOOL_ID_RID_COUNT                                                  = 6
 13669  	SECURITY_APP_PACKAGE_BASE_RID                                                  = 2
 13670  	SECURITY_APP_PACKAGE_RID_COUNT                                                 = 8
 13671  	SECURITY_AUTHENTICATED_USER_RID                                                = 11
 13672  	SECURITY_AUTHENTICATION_AUTHORITY_ASSERTED_RID                                 = 1
 13673  	SECURITY_AUTHENTICATION_AUTHORITY_RID_COUNT                                    = 1
 13674  	SECURITY_AUTHENTICATION_SERVICE_ASSERTED_RID                                   = 2
 13675  	SECURITY_BATCH_RID                                                             = 3
 13676  	SECURITY_BUILTIN_APP_PACKAGE_RID_COUNT                                         = 2
 13677  	SECURITY_BUILTIN_CAPABILITY_RID_COUNT                                          = 2
 13678  	SECURITY_BUILTIN_DOMAIN_RID                                                    = 32
 13679  	SECURITY_BUILTIN_PACKAGE_ANY_PACKAGE                                           = 1
 13680  	SECURITY_BUILTIN_PACKAGE_ANY_RESTRICTED_PACKAGE                                = 2
 13681  	SECURITY_CAPABILITY_APPOINTMENTS                                               = 11
 13682  	SECURITY_CAPABILITY_BASE_RID                                                   = 3
 13683  	SECURITY_CAPABILITY_CONTACTS                                                   = 12
 13684  	SECURITY_CAPABILITY_DOCUMENTS_LIBRARY                                          = 7
 13685  	SECURITY_CAPABILITY_ENTERPRISE_AUTHENTICATION                                  = 8
 13686  	SECURITY_CAPABILITY_INTERNET_CLIENT                                            = 1
 13687  	SECURITY_CAPABILITY_INTERNET_CLIENT_SERVER                                     = 2
 13688  	SECURITY_CAPABILITY_INTERNET_EXPLORER                                          = 4096
 13689  	SECURITY_CAPABILITY_MUSIC_LIBRARY                                              = 6
 13690  	SECURITY_CAPABILITY_PICTURES_LIBRARY                                           = 4
 13691  	SECURITY_CAPABILITY_PRIVATE_NETWORK_CLIENT_SERVER                              = 3
 13692  	SECURITY_CAPABILITY_REMOVABLE_STORAGE                                          = 10
 13693  	SECURITY_CAPABILITY_RID_COUNT                                                  = 5
 13694  	SECURITY_CAPABILITY_SHARED_USER_CERTIFICATES                                   = 9
 13695  	SECURITY_CAPABILITY_VIDEOS_LIBRARY                                             = 5
 13696  	SECURITY_CLOUD_INFRASTRUCTURE_SERVICES_ID_BASE_RID                             = 85
 13697  	SECURITY_CLOUD_INFRASTRUCTURE_SERVICES_ID_RID_COUNT                            = 6
 13698  	SECURITY_COM_ID_BASE_RID                                                       = 89
 13699  	SECURITY_CONTEXT_TRACKING                                                      = 0x40000
 13700  	SECURITY_CREATOR_GROUP_RID                                                     = 1
 13701  	SECURITY_CREATOR_GROUP_SERVER_RID                                              = 3
 13702  	SECURITY_CREATOR_OWNER_RID                                                     = 0
 13703  	SECURITY_CREATOR_OWNER_RIGHTS_RID                                              = 4
 13704  	SECURITY_CREATOR_OWNER_SERVER_RID                                              = 2
 13705  	SECURITY_CRED_TYPE_BASE_RID                                                    = 65
 13706  	SECURITY_CRED_TYPE_RID_COUNT                                                   = 2
 13707  	SECURITY_CRED_TYPE_THIS_ORG_CERT_RID                                           = 1
 13708  	SECURITY_DASHOST_ID_BASE_RID                                                   = 92
 13709  	SECURITY_DASHOST_ID_RID_COUNT                                                  = 6
 13710  	SECURITY_DESCRIPTOR_REVISION                                                   = 1
 13711  	SECURITY_DESCRIPTOR_REVISION1                                                  = 1
 13712  	SECURITY_DIALUP_RID                                                            = 1
 13713  	SECURITY_DYNAMIC_TRACKING                                                      = 1
 13714  	SECURITY_EFFECTIVE_ONLY                                                        = 0x80000
 13715  	SECURITY_ENTERPRISE_CONTROLLERS_RID                                            = 9
 13716  	SECURITY_ENTERPRISE_READONLY_CONTROLLERS_RID                                   = 22
 13717  	SECURITY_INTERACTIVE_RID                                                       = 4
 13718  	SECURITY_IUSER_RID                                                             = 17
 13719  	SECURITY_LOCAL_LOGON_RID                                                       = 1
 13720  	SECURITY_LOCAL_RID                                                             = 0
 13721  	SECURITY_LOCAL_SERVICE_RID                                                     = 19
 13722  	SECURITY_LOCAL_SYSTEM_RID                                                      = 18
 13723  	SECURITY_LOGON_IDS_RID                                                         = 5
 13724  	SECURITY_LOGON_IDS_RID_COUNT                                                   = 3
 13725  	SECURITY_MANDATORY_HIGH_RID                                                    = 12288
 13726  	SECURITY_MANDATORY_LOW_RID                                                     = 4096
 13727  	SECURITY_MANDATORY_MAXIMUM_USER_RID                                            = 16384
 13728  	SECURITY_MANDATORY_MEDIUM_RID                                                  = 8192
 13729  	SECURITY_MANDATORY_PROTECTED_PROCESS_RID                                       = 20480
 13730  	SECURITY_MANDATORY_SYSTEM_RID                                                  = 16384
 13731  	SECURITY_MANDATORY_UNTRUSTED_RID                                               = 0
 13732  	SECURITY_MAX_ALWAYS_FILTERED                                                   = 999
 13733  	SECURITY_MAX_BASE_RID                                                          = 111
 13734  	SECURITY_MIN_BASE_RID                                                          = 80
 13735  	SECURITY_MIN_NEVER_FILTERED                                                    = 1000
 13736  	SECURITY_NETWORK_RID                                                           = 2
 13737  	SECURITY_NETWORK_SERVICE_RID                                                   = 20
 13738  	SECURITY_NFS_ID_BASE_RID                                                       = 88
 13739  	SECURITY_NT_NON_UNIQUE                                                         = 21
 13740  	SECURITY_NT_NON_UNIQUE_SUB_AUTH_COUNT                                          = 3
 13741  	SECURITY_NULL_RID                                                              = 0
 13742  	SECURITY_OTHER_ORGANIZATION_RID                                                = 1000
 13743  	SECURITY_PACKAGE_BASE_RID                                                      = 64
 13744  	SECURITY_PACKAGE_DIGEST_RID                                                    = 21
 13745  	SECURITY_PACKAGE_NTLM_RID                                                      = 10
 13746  	SECURITY_PACKAGE_RID_COUNT                                                     = 2
 13747  	SECURITY_PACKAGE_SCHANNEL_RID                                                  = 14
 13748  	SECURITY_PRINCIPAL_SELF_RID                                                    = 10
 13749  	SECURITY_PROXY_RID                                                             = 8
 13750  	SECURITY_RDV_GFX_BASE_RID                                                      = 91
 13751  	SECURITY_REMOTE_LOGON_RID                                                      = 14
 13752  	SECURITY_RESERVED_ID_BASE_RID                                                  = 81
 13753  	SECURITY_RESTRICTED_CODE_RID                                                   = 12
 13754  	SECURITY_SERVER_LOGON_RID                                                      = 9
 13755  	SECURITY_SERVICE_ID_BASE_RID                                                   = 80
 13756  	SECURITY_SERVICE_ID_RID_COUNT                                                  = 6
 13757  	SECURITY_SERVICE_RID                                                           = 6
 13758  	SECURITY_SQOS_PRESENT                                                          = 0x100000
 13759  	SECURITY_STATIC_TRACKING                                                       = 0
 13760  	SECURITY_TASK_ID_BASE_RID                                                      = 87
 13761  	SECURITY_TERMINAL_SERVER_RID                                                   = 13
 13762  	SECURITY_THIS_ORGANIZATION_RID                                                 = 15
 13763  	SECURITY_TRUSTED_INSTALLER_RID1                                                = 956008885
 13764  	SECURITY_TRUSTED_INSTALLER_RID2                                                = 3418522649
 13765  	SECURITY_TRUSTED_INSTALLER_RID3                                                = 1831038044
 13766  	SECURITY_TRUSTED_INSTALLER_RID4                                                = 1853292631
 13767  	SECURITY_TRUSTED_INSTALLER_RID5                                                = 2271478464
 13768  	SECURITY_USERMODEDRIVERHOST_ID_BASE_RID                                        = 84
 13769  	SECURITY_USERMODEDRIVERHOST_ID_RID_COUNT                                       = 6
 13770  	SECURITY_VALID_SQOS_FLAGS                                                      = 0x1f0000
 13771  	SECURITY_VIRTUALACCOUNT_ID_RID_COUNT                                           = 6
 13772  	SECURITY_VIRTUALSERVER_ID_BASE_RID                                             = 83
 13773  	SECURITY_VIRTUALSERVER_ID_RID_COUNT                                            = 6
 13774  	SECURITY_WINDOWSMOBILE_ID_BASE_RID                                             = 112
 13775  	SECURITY_WINDOW_MANAGER_BASE_RID                                               = 90
 13776  	SECURITY_WMIHOST_ID_BASE_RID                                                   = 86
 13777  	SECURITY_WMIHOST_ID_RID_COUNT                                                  = 6
 13778  	SECURITY_WORLD_RID                                                             = 0
 13779  	SECURITY_WRITE_RESTRICTED_CODE_RID                                             = 33
 13780  	SEC_64K_PAGES                                                                  = 0x80000
 13781  	SEC_COMMIT                                                                     = 0x8000000
 13782  	SEC_FILE                                                                       = 0x800000
 13783  	SEC_IMAGE                                                                      = 0x1000000
 13784  	SEC_IMAGE_NO_EXECUTE                                                           = 285212672
 13785  	SEC_LARGE_PAGES                                                                = 0x80000000
 13786  	SEC_NOCACHE                                                                    = 0x10000000
 13787  	SEC_PARTITION_OWNER_HANDLE                                                     = 0x40000
 13788  	SEC_PROTECTED_IMAGE                                                            = 0x2000000
 13789  	SEC_RESERVE                                                                    = 0x4000000
 13790  	SEC_WINNT_AUTH_IDENTITY_ANSI                                                   = 0x1
 13791  	SEC_WINNT_AUTH_IDENTITY_UNICODE                                                = 0x2
 13792  	SEC_WRITECOMBINE                                                               = 0x40000000
 13793  	SEE_MASK_ASYNCOK                                                               = 0x100000
 13794  	SEE_MASK_CLASSKEY                                                              = 0x3
 13795  	SEE_MASK_CLASSNAME                                                             = 0x1
 13796  	SEE_MASK_CONNECTNETDRV                                                         = 0x80
 13797  	SEE_MASK_DEFAULT                                                               = 0x0
 13798  	SEE_MASK_DOENVSUBST                                                            = 0x200
 13799  	SEE_MASK_FLAG_DDEWAIT                                                          = 256
 13800  	SEE_MASK_FLAG_LOG_USAGE                                                        = 0x4000000
 13801  	SEE_MASK_FLAG_NO_UI                                                            = 0x400
 13802  	SEE_MASK_HMONITOR                                                              = 0x200000
 13803  	SEE_MASK_HOTKEY                                                                = 0x20
 13804  	SEE_MASK_ICON                                                                  = 0x10
 13805  	SEE_MASK_IDLIST                                                                = 0x4
 13806  	SEE_MASK_INVOKEIDLIST                                                          = 0xc
 13807  	SEE_MASK_NOASYNC                                                               = 0x100
 13808  	SEE_MASK_NOCLOSEPROCESS                                                        = 0x40
 13809  	SEE_MASK_NOQUERYCLASSSTORE                                                     = 0x1000000
 13810  	SEE_MASK_NOZONECHECKS                                                          = 0x800000
 13811  	SEE_MASK_NO_CONSOLE                                                            = 0x8000
 13812  	SEE_MASK_UNICODE                                                               = 0x4000
 13813  	SEE_MASK_WAITFORINPUTIDLE                                                      = 0x2000000
 13814  	SEF_AVOID_OWNER_CHECK                                                          = 0x10
 13815  	SEF_AVOID_OWNER_RESTRICTION                                                    = 0x1000
 13816  	SEF_AVOID_PRIVILEGE_CHECK                                                      = 0x08
 13817  	SEF_DACL_AUTO_INHERIT                                                          = 0x01
 13818  	SEF_DEFAULT_DESCRIPTOR_FOR_OBJECT                                              = 0x04
 13819  	SEF_DEFAULT_GROUP_FROM_PARENT                                                  = 0x40
 13820  	SEF_DEFAULT_OWNER_FROM_PARENT                                                  = 0x20
 13821  	SEF_MACL_NO_EXECUTE_UP                                                         = 0x400
 13822  	SEF_MACL_NO_READ_UP                                                            = 0x200
 13823  	SEF_MACL_NO_WRITE_UP                                                           = 0x100
 13824  	SEF_MACL_VALID_FLAGS                                                           = 1792
 13825  	SEF_SACL_AUTO_INHERIT                                                          = 0x02
 13826  	SELECTDIB                                                                      = 41
 13827  	SELECTPAPERSOURCE                                                              = 18
 13828  	SELECT_CAP_CONVERSION                                                          = 0x00000001
 13829  	SELECT_CAP_SENTENCE                                                            = 0x00000002
 13830  	SEMAPHORE_ALL_ACCESS                                                           = 2031619
 13831  	SEMAPHORE_MODIFY_STATE                                                         = 0x0002
 13832  	SEM_FAILCRITICALERRORS                                                         = 0x0001
 13833  	SEM_NOALIGNMENTFAULTEXCEPT                                                     = 0x0004
 13834  	SEM_NOGPFAULTERRORBOX                                                          = 0x0002
 13835  	SEM_NOOPENFILEERRORBOX                                                         = 0x8000
 13836  	SENTINEL_Reason                                                                = 0
 13837  	SERIAL_NUMBER_LENGTH                                                           = 32
 13838  	SERKF_AVAILABLE                                                                = 0x00000002
 13839  	SERKF_INDICATOR                                                                = 0x00000004
 13840  	SERKF_SERIALKEYSON                                                             = 0x00000001
 13841  	SERVER_ACCESS_ADMINISTER                                                       = 0x00000001
 13842  	SERVER_ACCESS_ENUMERATE                                                        = 0x00000002
 13843  	SERVER_ALL_ACCESS                                                              = 983043
 13844  	SERVER_EXECUTE                                                                 = 131074
 13845  	SERVER_READ                                                                    = 131074
 13846  	SERVER_WRITE                                                                   = 131075
 13847  	SERVICES_ACTIVE_DATABASEA                                                      = "ServicesActive"
 13848  	SERVICES_FAILED_DATABASEA                                                      = "ServicesFailed"
 13849  	SERVICE_ACCEPT_HARDWAREPROFILECHANGE                                           = 0x00000020
 13850  	SERVICE_ACCEPT_NETBINDCHANGE                                                   = 0x00000010
 13851  	SERVICE_ACCEPT_PARAMCHANGE                                                     = 0x00000008
 13852  	SERVICE_ACCEPT_PAUSE_CONTINUE                                                  = 0x00000002
 13853  	SERVICE_ACCEPT_POWEREVENT                                                      = 0x00000040
 13854  	SERVICE_ACCEPT_SESSIONCHANGE                                                   = 0x00000080
 13855  	SERVICE_ACCEPT_SHUTDOWN                                                        = 0x00000004
 13856  	SERVICE_ACCEPT_STOP                                                            = 0x00000001
 13857  	SERVICE_ACTIVE                                                                 = 0x00000001
 13858  	SERVICE_ADAPTER                                                                = 0x00000004
 13859  	SERVICE_ALL_ACCESS                                                             = 983551
 13860  	SERVICE_AUTO_START                                                             = 0x00000002
 13861  	SERVICE_BOOT_START                                                             = 0x00000000
 13862  	SERVICE_CHANGE_CONFIG                                                          = 0x0002
 13863  	SERVICE_CONFIG_DESCRIPTION                                                     = 1
 13864  	SERVICE_CONFIG_FAILURE_ACTIONS                                                 = 2
 13865  	SERVICE_CONTINUE_PENDING                                                       = 0x00000005
 13866  	SERVICE_CONTROL_CONTINUE                                                       = 0x00000003
 13867  	SERVICE_CONTROL_DEVICEEVENT                                                    = 0x0000000B
 13868  	SERVICE_CONTROL_HARDWAREPROFILECHANGE                                          = 0x0000000C
 13869  	SERVICE_CONTROL_INTERROGATE                                                    = 0x00000004
 13870  	SERVICE_CONTROL_NETBINDADD                                                     = 0x00000007
 13871  	SERVICE_CONTROL_NETBINDDISABLE                                                 = 0x0000000A
 13872  	SERVICE_CONTROL_NETBINDENABLE                                                  = 0x00000009
 13873  	SERVICE_CONTROL_NETBINDREMOVE                                                  = 0x00000008
 13874  	SERVICE_CONTROL_PARAMCHANGE                                                    = 0x00000006
 13875  	SERVICE_CONTROL_PAUSE                                                          = 0x00000002
 13876  	SERVICE_CONTROL_POWEREVENT                                                     = 0x0000000D
 13877  	SERVICE_CONTROL_SESSIONCHANGE                                                  = 0x0000000E
 13878  	SERVICE_CONTROL_SHUTDOWN                                                       = 0x00000005
 13879  	SERVICE_CONTROL_STOP                                                           = 0x00000001
 13880  	SERVICE_DEMAND_START                                                           = 0x00000003
 13881  	SERVICE_DISABLED                                                               = 0x00000004
 13882  	SERVICE_DRIVER                                                                 = 11
 13883  	SERVICE_ENUMERATE_DEPENDENTS                                                   = 0x0008
 13884  	SERVICE_ERROR_CRITICAL                                                         = 0x00000003
 13885  	SERVICE_ERROR_IGNORE                                                           = 0x00000000
 13886  	SERVICE_ERROR_NORMAL                                                           = 0x00000001
 13887  	SERVICE_ERROR_SEVERE                                                           = 0x00000002
 13888  	SERVICE_FILE_SYSTEM_DRIVER                                                     = 0x00000002
 13889  	SERVICE_INACTIVE                                                               = 0x00000002
 13890  	SERVICE_INTERACTIVE_PROCESS                                                    = 0x00000100
 13891  	SERVICE_INTERROGATE                                                            = 0x0080
 13892  	SERVICE_KERNEL_DRIVER                                                          = 0x00000001
 13893  	SERVICE_NO_CHANGE                                                              = 0xffffffff
 13894  	SERVICE_PAUSED                                                                 = 0x00000007
 13895  	SERVICE_PAUSE_CONTINUE                                                         = 0x0040
 13896  	SERVICE_PAUSE_PENDING                                                          = 0x00000006
 13897  	SERVICE_QUERY_CONFIG                                                           = 0x0001
 13898  	SERVICE_QUERY_STATUS                                                           = 0x0004
 13899  	SERVICE_RECOGNIZER_DRIVER                                                      = 0x00000008
 13900  	SERVICE_RUNNING                                                                = 0x00000004
 13901  	SERVICE_RUNS_IN_SYSTEM_PROCESS                                                 = 0x00000001
 13902  	SERVICE_START                                                                  = 0x0010
 13903  	SERVICE_START_PENDING                                                          = 0x00000002
 13904  	SERVICE_STATE_ALL                                                              = 3
 13905  	SERVICE_STOP                                                                   = 0x0020
 13906  	SERVICE_STOPPED                                                                = 0x00000001
 13907  	SERVICE_STOP_PENDING                                                           = 0x00000003
 13908  	SERVICE_SYSTEM_START                                                           = 0x00000001
 13909  	SERVICE_TYPE_ALL                                                               = 319
 13910  	SERVICE_USER_DEFINED_CONTROL                                                   = 0x0100
 13911  	SERVICE_WIN32                                                                  = 48
 13912  	SERVICE_WIN32_OWN_PROCESS                                                      = 0x00000010
 13913  	SERVICE_WIN32_SHARE_PROCESS                                                    = 0x00000020
 13914  	SESSION_ABORTED                                                                = 0x06
 13915  	SESSION_ALL_ACCESS                                                             = 983043
 13916  	SESSION_ESTABLISHED                                                            = 0x03
 13917  	SESSION_MODIFY_ACCESS                                                          = 0x2
 13918  	SESSION_QUERY_ACCESS                                                           = 0x1
 13919  	SETABORTPROC                                                                   = 9
 13920  	SETALLJUSTVALUES                                                               = 771
 13921  	SETBREAK                                                                       = 8
 13922  	SETCHARSET                                                                     = 772
 13923  	SETCOLORTABLE                                                                  = 4
 13924  	SETCOPYCOUNT                                                                   = 17
 13925  	SETDIBSCALING                                                                  = 32
 13926  	SETDTR                                                                         = 5
 13927  	SETICMPROFILE_EMBEDED                                                          = 0x00000001
 13928  	SETKERNTRACK                                                                   = 770
 13929  	SETLINECAP                                                                     = 21
 13930  	SETLINEJOIN                                                                    = 22
 13931  	SETMITERLIMIT                                                                  = 23
 13932  	SETRGBSTRINGA                                                                  = "commdlg_SetRGBColor"
 13933  	SETRTS                                                                         = 3
 13934  	SETXOFF                                                                        = 1
 13935  	SETXON                                                                         = 2
 13936  	SET_ARC_DIRECTION                                                              = 4102
 13937  	SET_BACKGROUND_COLOR                                                           = 4103
 13938  	SET_BOUNDS                                                                     = 4109
 13939  	SET_CLIP_BOX                                                                   = 4108
 13940  	SET_MIRROR_MODE                                                                = 4110
 13941  	SET_POLY_MODE                                                                  = 4104
 13942  	SET_SCREEN_ANGLE                                                               = 4105
 13943  	SET_SPREAD                                                                     = 4106
 13944  	SET_TAPE_DRIVE_INFORMATION                                                     = 1
 13945  	SET_TAPE_MEDIA_INFORMATION                                                     = 0
 13946  	SEVERITY_ERROR                                                                 = 1
 13947  	SEVERITY_SUCCESS                                                               = 0
 13948  	SE_DACL_AUTO_INHERITED                                                         = 1024
 13949  	SE_DACL_AUTO_INHERIT_REQ                                                       = 256
 13950  	SE_DACL_DEFAULTED                                                              = 8
 13951  	SE_DACL_PRESENT                                                                = 4
 13952  	SE_DACL_PROTECTED                                                              = 4096
 13953  	SE_ERR_ACCESSDENIED                                                            = 5
 13954  	SE_ERR_ASSOCINCOMPLETE                                                         = 27
 13955  	SE_ERR_DDEBUSY                                                                 = 30
 13956  	SE_ERR_DDEFAIL                                                                 = 29
 13957  	SE_ERR_DDETIMEOUT                                                              = 28
 13958  	SE_ERR_DLLNOTFOUND                                                             = 32
 13959  	SE_ERR_FNF                                                                     = 2
 13960  	SE_ERR_NOASSOC                                                                 = 31
 13961  	SE_ERR_OOM                                                                     = 8
 13962  	SE_ERR_PNF                                                                     = 3
 13963  	SE_ERR_SHARE                                                                   = 26
 13964  	SE_GROUP_DEFAULTED                                                             = 2
 13965  	SE_GROUP_ENABLED                                                               = 4
 13966  	SE_GROUP_ENABLED_BY_DEFAULT                                                    = 2
 13967  	SE_GROUP_INTEGRITY                                                             = 32
 13968  	SE_GROUP_INTEGRITY_ENABLED                                                     = 64
 13969  	SE_GROUP_LOGON_ID                                                              = 3221225472
 13970  	SE_GROUP_MANDATORY                                                             = 1
 13971  	SE_GROUP_OWNER                                                                 = 8
 13972  	SE_GROUP_RESOURCE                                                              = 536870912
 13973  	SE_GROUP_USE_FOR_DENY_ONLY                                                     = 16
 13974  	SE_GROUP_VALID_ATTRIBUTES                                                      = 3758096511
 13975  	SE_LEARNING_MODE_FLAG_PERMISSIVE                                               = 0x00000001
 13976  	SE_OWNER_DEFAULTED                                                             = 1
 13977  	SE_PRIVILEGE_ENABLED                                                           = 2
 13978  	SE_PRIVILEGE_ENABLED_BY_DEFAULT                                                = 1
 13979  	SE_PRIVILEGE_REMOVED                                                           = 4
 13980  	SE_PRIVILEGE_USED_FOR_ACCESS                                                   = 2147483648
 13981  	SE_PRIVILEGE_VALID_ATTRIBUTES                                                  = 2147483655
 13982  	SE_RM_CONTROL_VALID                                                            = 16384
 13983  	SE_SACL_AUTO_INHERITED                                                         = 2048
 13984  	SE_SACL_AUTO_INHERIT_REQ                                                       = 512
 13985  	SE_SACL_DEFAULTED                                                              = 32
 13986  	SE_SACL_PRESENT                                                                = 16
 13987  	SE_SACL_PROTECTED                                                              = 8192
 13988  	SE_SECURITY_DESCRIPTOR_FLAG_NO_LABEL_ACE                                       = 0x00000002
 13989  	SE_SECURITY_DESCRIPTOR_FLAG_NO_OWNER_ACE                                       = 0x00000001
 13990  	SE_SECURITY_DESCRIPTOR_VALID_FLAGS                                             = 0x00000003
 13991  	SE_SELF_RELATIVE                                                               = 32768
 13992  	SHADEBLENDCAPS                                                                 = 120
 13993  	SHAREVISTRINGA                                                                 = "commdlg_ShareViolation"
 13994  	SHERB_NOCONFIRMATION                                                           = 0x00000001
 13995  	SHERB_NOPROGRESSUI                                                             = 0x00000002
 13996  	SHERB_NOSOUND                                                                  = 0x00000004
 13997  	SHFILEINFO_DEFINED                                                             = 0
 13998  	SHGFI_ADDOVERLAYS                                                              = 0x000000020
 13999  	SHGFI_ATTRIBUTES                                                               = 0x000000800
 14000  	SHGFI_ATTR_SPECIFIED                                                           = 0x000020000
 14001  	SHGFI_DISPLAYNAME                                                              = 0x000000200
 14002  	SHGFI_EXETYPE                                                                  = 0x000002000
 14003  	SHGFI_ICON                                                                     = 0x000000100
 14004  	SHGFI_ICONLOCATION                                                             = 0x000001000
 14005  	SHGFI_LARGEICON                                                                = 0x000000000
 14006  	SHGFI_LINKOVERLAY                                                              = 0x000008000
 14007  	SHGFI_OPENICON                                                                 = 0x000000002
 14008  	SHGFI_OVERLAYINDEX                                                             = 0x000000040
 14009  	SHGFI_PIDL                                                                     = 0x000000008
 14010  	SHGFI_SELECTED                                                                 = 0x000010000
 14011  	SHGFI_SHELLICONSIZE                                                            = 0x000000004
 14012  	SHGFI_SMALLICON                                                                = 0x000000001
 14013  	SHGFI_SYSICONINDEX                                                             = 0x000004000
 14014  	SHGFI_TYPENAME                                                                 = 0x000000400
 14015  	SHGFI_USEFILEATTRIBUTES                                                        = 0x000000010
 14016  	SHGNLI_NOLNK                                                                   = 0x000000008
 14017  	SHGNLI_NOLOCNAME                                                               = 0x000000010
 14018  	SHGNLI_NOUNIQUE                                                                = 0x000000004
 14019  	SHGNLI_PIDL                                                                    = 0x000000001
 14020  	SHGNLI_PREFIXNAME                                                              = 0x000000002
 14021  	SHIFTJIS_CHARSET                                                               = 128
 14022  	SHIFT_PRESSED                                                                  = 0x10
 14023  	SHIL_EXTRALARGE                                                                = 2
 14024  	SHIL_LARGE                                                                     = 0
 14025  	SHIL_LAST                                                                      = 3
 14026  	SHIL_SMALL                                                                     = 1
 14027  	SHIL_SYSSMALL                                                                  = 3
 14028  	SHOW_FULLSCREEN                                                                = 3
 14029  	SHOW_ICONWINDOW                                                                = 2
 14030  	SHOW_OPENNOACTIVATE                                                            = 4
 14031  	SHOW_OPENWINDOW                                                                = 1
 14032  	SHTDN_REASON_FLAG_CLEAN_UI                                                     = 0x04000000
 14033  	SHTDN_REASON_FLAG_COMMENT_REQUIRED                                             = 0x01000000
 14034  	SHTDN_REASON_FLAG_DIRTY_PROBLEM_ID_REQUIRED                                    = 0x02000000
 14035  	SHTDN_REASON_FLAG_DIRTY_UI                                                     = 0x08000000
 14036  	SHTDN_REASON_FLAG_PLANNED                                                      = 0x80000000
 14037  	SHTDN_REASON_FLAG_USER_DEFINED                                                 = 0x40000000
 14038  	SHTDN_REASON_LEGACY_API                                                        = 2147942400
 14039  	SHTDN_REASON_MAJOR_APPLICATION                                                 = 0x00040000
 14040  	SHTDN_REASON_MAJOR_HARDWARE                                                    = 0x00010000
 14041  	SHTDN_REASON_MAJOR_LEGACY_API                                                  = 0x00070000
 14042  	SHTDN_REASON_MAJOR_NONE                                                        = 0x00000000
 14043  	SHTDN_REASON_MAJOR_OPERATINGSYSTEM                                             = 0x00020000
 14044  	SHTDN_REASON_MAJOR_OTHER                                                       = 0x00000000
 14045  	SHTDN_REASON_MAJOR_POWER                                                       = 0x00060000
 14046  	SHTDN_REASON_MAJOR_SOFTWARE                                                    = 0x00030000
 14047  	SHTDN_REASON_MAJOR_SYSTEM                                                      = 0x00050000
 14048  	SHTDN_REASON_MINOR_BLUESCREEN                                                  = 0x0000000F
 14049  	SHTDN_REASON_MINOR_CORDUNPLUGGED                                               = 0x0000000b
 14050  	SHTDN_REASON_MINOR_DC_DEMOTION                                                 = 0x00000022
 14051  	SHTDN_REASON_MINOR_DC_PROMOTION                                                = 0x00000021
 14052  	SHTDN_REASON_MINOR_DISK                                                        = 0x00000007
 14053  	SHTDN_REASON_MINOR_ENVIRONMENT                                                 = 0x0000000c
 14054  	SHTDN_REASON_MINOR_HARDWARE_DRIVER                                             = 0x0000000d
 14055  	SHTDN_REASON_MINOR_HOTFIX                                                      = 0x00000011
 14056  	SHTDN_REASON_MINOR_HOTFIX_UNINSTALL                                            = 0x00000017
 14057  	SHTDN_REASON_MINOR_HUNG                                                        = 0x00000005
 14058  	SHTDN_REASON_MINOR_INSTALLATION                                                = 0x00000002
 14059  	SHTDN_REASON_MINOR_MAINTENANCE                                                 = 0x00000001
 14060  	SHTDN_REASON_MINOR_MMC                                                         = 0x00000019
 14061  	SHTDN_REASON_MINOR_NETWORKCARD                                                 = 0x00000009
 14062  	SHTDN_REASON_MINOR_NETWORK_CONNECTIVITY                                        = 0x00000014
 14063  	SHTDN_REASON_MINOR_NONE                                                        = 0x000000ff
 14064  	SHTDN_REASON_MINOR_OTHER                                                       = 0x00000000
 14065  	SHTDN_REASON_MINOR_OTHERDRIVER                                                 = 0x0000000e
 14066  	SHTDN_REASON_MINOR_POWER_SUPPLY                                                = 0x0000000a
 14067  	SHTDN_REASON_MINOR_PROCESSOR                                                   = 0x00000008
 14068  	SHTDN_REASON_MINOR_RECONFIG                                                    = 0x00000004
 14069  	SHTDN_REASON_MINOR_SECURITY                                                    = 0x00000013
 14070  	SHTDN_REASON_MINOR_SECURITYFIX                                                 = 0x00000012
 14071  	SHTDN_REASON_MINOR_SECURITYFIX_UNINSTALL                                       = 0x00000018
 14072  	SHTDN_REASON_MINOR_SERVICEPACK                                                 = 0x00000010
 14073  	SHTDN_REASON_MINOR_SERVICEPACK_UNINSTALL                                       = 0x00000016
 14074  	SHTDN_REASON_MINOR_SYSTEMRESTORE                                               = 0x0000001a
 14075  	SHTDN_REASON_MINOR_TERMSRV                                                     = 0x00000020
 14076  	SHTDN_REASON_MINOR_UNSTABLE                                                    = 0x00000006
 14077  	SHTDN_REASON_MINOR_UPGRADE                                                     = 0x00000003
 14078  	SHTDN_REASON_MINOR_WMI                                                         = 0x00000015
 14079  	SHTDN_REASON_UNKNOWN                                                           = 255
 14080  	SHTDN_REASON_VALID_BIT_MASK                                                    = 0xc0ffffff
 14081  	SHUTDOWN_NORETRY                                                               = 0x1
 14082  	SHUTDOWN_TYPE_LEN                                                              = 32
 14083  	SID_DEFINED                                                                    = 0
 14084  	SID_HASH_SIZE                                                                  = 32
 14085  	SID_IDENTIFIER_AUTHORITY_DEFINED                                               = 0
 14086  	SID_MAX_SUB_AUTHORITIES                                                        = 15
 14087  	SID_RECOMMENDED_SUB_AUTHORITIES                                                = 1
 14088  	SID_REVISION                                                                   = 1
 14089  	SIF_ALL                                                                        = 23
 14090  	SIF_DISABLENOSCROLL                                                            = 0x0008
 14091  	SIF_PAGE                                                                       = 0x0002
 14092  	SIF_POS                                                                        = 0x0004
 14093  	SIF_RANGE                                                                      = 0x0001
 14094  	SIF_TRACKPOS                                                                   = 0x0010
 14095  	SIMPLEBLOB                                                                     = 0x1
 14096  	SIMPLEREGION                                                                   = 2
 14097  	SIMULATED_FONTTYPE                                                             = 0x8000
 14098  	SITE_PIN_RULES_ALL_SUBDOMAINS_FLAG                                             = 0x1
 14099  	SIZEFULLSCREEN                                                                 = 2
 14100  	SIZEICONIC                                                                     = 1
 14101  	SIZENORMAL                                                                     = 0
 14102  	SIZEOF_RFPO_DATA                                                               = 16
 14103  	SIZEPALETTE                                                                    = 104
 14104  	SIZEZOOMHIDE                                                                   = 4
 14105  	SIZEZOOMSHOW                                                                   = 3
 14106  	SIZE_MAXHIDE                                                                   = 4
 14107  	SIZE_MAXIMIZED                                                                 = 2
 14108  	SIZE_MAXSHOW                                                                   = 3
 14109  	SIZE_MINIMIZED                                                                 = 1
 14110  	SIZE_RESTORED                                                                  = 0
 14111  	SKF_AUDIBLEFEEDBACK                                                            = 0x00000040
 14112  	SKF_AVAILABLE                                                                  = 0x00000002
 14113  	SKF_CONFIRMHOTKEY                                                              = 0x00000008
 14114  	SKF_HOTKEYACTIVE                                                               = 0x00000004
 14115  	SKF_HOTKEYSOUND                                                                = 0x00000010
 14116  	SKF_INDICATOR                                                                  = 0x00000020
 14117  	SKF_LALTLATCHED                                                                = 0x10000000
 14118  	SKF_LALTLOCKED                                                                 = 0x00100000
 14119  	SKF_LCTLLATCHED                                                                = 0x04000000
 14120  	SKF_LCTLLOCKED                                                                 = 0x00040000
 14121  	SKF_LSHIFTLATCHED                                                              = 0x01000000
 14122  	SKF_LSHIFTLOCKED                                                               = 0x00010000
 14123  	SKF_LWINLATCHED                                                                = 0x40000000
 14124  	SKF_LWINLOCKED                                                                 = 0x00400000
 14125  	SKF_RALTLATCHED                                                                = 0x20000000
 14126  	SKF_RALTLOCKED                                                                 = 0x00200000
 14127  	SKF_RCTLLATCHED                                                                = 0x08000000
 14128  	SKF_RCTLLOCKED                                                                 = 0x00080000
 14129  	SKF_RSHIFTLATCHED                                                              = 0x02000000
 14130  	SKF_RSHIFTLOCKED                                                               = 0x00020000
 14131  	SKF_RWINLATCHED                                                                = 0x80000000
 14132  	SKF_RWINLOCKED                                                                 = 0x00800000
 14133  	SKF_STICKYKEYSON                                                               = 0x00000001
 14134  	SKF_TRISTATE                                                                   = 0x00000080
 14135  	SKF_TWOKEYSOFF                                                                 = 0x00000100
 14136  	SLE_ERROR                                                                      = 0x00000001
 14137  	SLE_MINORERROR                                                                 = 0x00000002
 14138  	SLE_WARNING                                                                    = 0x00000003
 14139  	SMART_ABORT_OFFLINE_SELFTEST                                                   = 127
 14140  	SMART_CMD                                                                      = 0xB0
 14141  	SMART_CYL_HI                                                                   = 0xC2
 14142  	SMART_CYL_LOW                                                                  = 0x4F
 14143  	SMART_ERROR_NO_MEM                                                             = 7
 14144  	SMART_EXTENDED_SELFTEST_CAPTIVE                                                = 130
 14145  	SMART_EXTENDED_SELFTEST_OFFLINE                                                = 2
 14146  	SMART_GET_VERSION                                                              = 475264
 14147  	SMART_IDE_ERROR                                                                = 1
 14148  	SMART_INVALID_BUFFER                                                           = 4
 14149  	SMART_INVALID_COMMAND                                                          = 3
 14150  	SMART_INVALID_DRIVE                                                            = 5
 14151  	SMART_INVALID_FLAG                                                             = 2
 14152  	SMART_INVALID_IOCTL                                                            = 6
 14153  	SMART_INVALID_REGISTER                                                         = 8
 14154  	SMART_LOG_SECTOR_SIZE                                                          = 512
 14155  	SMART_NOT_SUPPORTED                                                            = 9
 14156  	SMART_NO_ERROR                                                                 = 0
 14157  	SMART_NO_IDE_DEVICE                                                            = 10
 14158  	SMART_OFFLINE_ROUTINE_OFFLINE                                                  = 0
 14159  	SMART_RCV_DRIVE_DATA                                                           = 508040
 14160  	SMART_READ_LOG                                                                 = 0xD5
 14161  	SMART_SEND_DRIVE_COMMAND                                                       = 508036
 14162  	SMART_SHORT_SELFTEST_CAPTIVE                                                   = 129
 14163  	SMART_SHORT_SELFTEST_OFFLINE                                                   = 1
 14164  	SMART_WRITE_LOG                                                                = 0xd6
 14165  	SMTO_ABORTIFHUNG                                                               = 0x0002
 14166  	SMTO_BLOCK                                                                     = 0x0001
 14167  	SMTO_NORMAL                                                                    = 0x0000
 14168  	SMTO_NOTIMEOUTIFNOTHUNG                                                        = 0x0008
 14169  	SM_ARRANGE                                                                     = 56
 14170  	SM_CARETBLINKINGENABLED                                                        = 0x2002
 14171  	SM_CLEANBOOT                                                                   = 67
 14172  	SM_CMETRICS                                                                    = 97
 14173  	SM_CMONITORS                                                                   = 80
 14174  	SM_CMOUSEBUTTONS                                                               = 43
 14175  	SM_CXBORDER                                                                    = 5
 14176  	SM_CXCURSOR                                                                    = 13
 14177  	SM_CXDLGFRAME                                                                  = 7
 14178  	SM_CXDOUBLECLK                                                                 = 36
 14179  	SM_CXDRAG                                                                      = 68
 14180  	SM_CXEDGE                                                                      = 45
 14181  	SM_CXFIXEDFRAME                                                                = 7
 14182  	SM_CXFOCUSBORDER                                                               = 83
 14183  	SM_CXFRAME                                                                     = 32
 14184  	SM_CXFULLSCREEN                                                                = 16
 14185  	SM_CXHSCROLL                                                                   = 21
 14186  	SM_CXHTHUMB                                                                    = 10
 14187  	SM_CXICON                                                                      = 11
 14188  	SM_CXICONSPACING                                                               = 38
 14189  	SM_CXMAXIMIZED                                                                 = 61
 14190  	SM_CXMAXTRACK                                                                  = 59
 14191  	SM_CXMENUCHECK                                                                 = 71
 14192  	SM_CXMENUSIZE                                                                  = 54
 14193  	SM_CXMIN                                                                       = 28
 14194  	SM_CXMINIMIZED                                                                 = 57
 14195  	SM_CXMINSPACING                                                                = 47
 14196  	SM_CXMINTRACK                                                                  = 34
 14197  	SM_CXSCREEN                                                                    = 0
 14198  	SM_CXSIZE                                                                      = 30
 14199  	SM_CXSIZEFRAME                                                                 = 32
 14200  	SM_CXSMICON                                                                    = 49
 14201  	SM_CXSMSIZE                                                                    = 52
 14202  	SM_CXVIRTUALSCREEN                                                             = 78
 14203  	SM_CXVSCROLL                                                                   = 2
 14204  	SM_CYBORDER                                                                    = 6
 14205  	SM_CYCAPTION                                                                   = 4
 14206  	SM_CYCURSOR                                                                    = 14
 14207  	SM_CYDLGFRAME                                                                  = 8
 14208  	SM_CYDOUBLECLK                                                                 = 37
 14209  	SM_CYDRAG                                                                      = 69
 14210  	SM_CYEDGE                                                                      = 46
 14211  	SM_CYFIXEDFRAME                                                                = 8
 14212  	SM_CYFOCUSBORDER                                                               = 84
 14213  	SM_CYFRAME                                                                     = 33
 14214  	SM_CYFULLSCREEN                                                                = 17
 14215  	SM_CYHSCROLL                                                                   = 3
 14216  	SM_CYICON                                                                      = 12
 14217  	SM_CYICONSPACING                                                               = 39
 14218  	SM_CYKANJIWINDOW                                                               = 18
 14219  	SM_CYMAXIMIZED                                                                 = 62
 14220  	SM_CYMAXTRACK                                                                  = 60
 14221  	SM_CYMENU                                                                      = 15
 14222  	SM_CYMENUCHECK                                                                 = 72
 14223  	SM_CYMENUSIZE                                                                  = 55
 14224  	SM_CYMIN                                                                       = 29
 14225  	SM_CYMINIMIZED                                                                 = 58
 14226  	SM_CYMINSPACING                                                                = 48
 14227  	SM_CYMINTRACK                                                                  = 35
 14228  	SM_CYSCREEN                                                                    = 1
 14229  	SM_CYSIZE                                                                      = 31
 14230  	SM_CYSIZEFRAME                                                                 = 33
 14231  	SM_CYSMCAPTION                                                                 = 51
 14232  	SM_CYSMICON                                                                    = 50
 14233  	SM_CYSMSIZE                                                                    = 53
 14234  	SM_CYVIRTUALSCREEN                                                             = 79
 14235  	SM_CYVSCROLL                                                                   = 20
 14236  	SM_CYVTHUMB                                                                    = 9
 14237  	SM_DBCSENABLED                                                                 = 42
 14238  	SM_DEBUG                                                                       = 22
 14239  	SM_IMMENABLED                                                                  = 82
 14240  	SM_MEDIACENTER                                                                 = 87
 14241  	SM_MENUDROPALIGNMENT                                                           = 40
 14242  	SM_MIDEASTENABLED                                                              = 74
 14243  	SM_MOUSEPRESENT                                                                = 19
 14244  	SM_MOUSEWHEELPRESENT                                                           = 75
 14245  	SM_NETWORK                                                                     = 63
 14246  	SM_PENWINDOWS                                                                  = 41
 14247  	SM_REMOTECONTROL                                                               = 0x2001
 14248  	SM_REMOTESESSION                                                               = 0x1000
 14249  	SM_RESERVED1                                                                   = 24
 14250  	SM_RESERVED2                                                                   = 25
 14251  	SM_RESERVED3                                                                   = 26
 14252  	SM_RESERVED4                                                                   = 27
 14253  	SM_SAMEDISPLAYFORMAT                                                           = 81
 14254  	SM_SECURE                                                                      = 44
 14255  	SM_SERVERR2                                                                    = 89
 14256  	SM_SHOWSOUNDS                                                                  = 70
 14257  	SM_SHUTTINGDOWN                                                                = 0x2000
 14258  	SM_SLOWMACHINE                                                                 = 73
 14259  	SM_STARTER                                                                     = 88
 14260  	SM_SWAPBUTTON                                                                  = 23
 14261  	SM_TABLETPC                                                                    = 86
 14262  	SM_XVIRTUALSCREEN                                                              = 76
 14263  	SM_YVIRTUALSCREEN                                                              = 77
 14264  	SNAPSHOT_POLICY_ALWAYS                                                         = 1
 14265  	SNAPSHOT_POLICY_NEVER                                                          = 0
 14266  	SNAPSHOT_POLICY_UNPLANNED                                                      = 2
 14267  	SND_ALIAS                                                                      = 65536
 14268  	SND_ALIAS_ID                                                                   = 1114112
 14269  	SND_ALIAS_START                                                                = 0
 14270  	SND_APPLICATION                                                                = 0x0080
 14271  	SND_ASYNC                                                                      = 0x0001
 14272  	SND_FILENAME                                                                   = 131072
 14273  	SND_LOOP                                                                       = 0x0008
 14274  	SND_MEMORY                                                                     = 0x0004
 14275  	SND_NODEFAULT                                                                  = 0x0002
 14276  	SND_NOSTOP                                                                     = 0x0010
 14277  	SND_NOWAIT                                                                     = 8192
 14278  	SND_PURGE                                                                      = 0x0040
 14279  	SND_RESOURCE                                                                   = 262148
 14280  	SND_SYNC                                                                       = 0x0000
 14281  	SOCKET_ERROR                                                                   = -1
 14282  	SOCK_DGRAM                                                                     = 2
 14283  	SOCK_RAW                                                                       = 3
 14284  	SOCK_RDM                                                                       = 4
 14285  	SOCK_SEQPACKET                                                                 = 5
 14286  	SOCK_STREAM                                                                    = 1
 14287  	SOFTDIST_ADSTATE_AVAILABLE                                                     = 0x1
 14288  	SOFTDIST_ADSTATE_DOWNLOADED                                                    = 0x2
 14289  	SOFTDIST_ADSTATE_INSTALLED                                                     = 0x3
 14290  	SOFTDIST_ADSTATE_NONE                                                          = 0x0
 14291  	SOFTDIST_FLAG_DELETE_SUBSCRIPTION                                              = 0x8
 14292  	SOFTDIST_FLAG_USAGE_AUTOINSTALL                                                = 0x4
 14293  	SOFTDIST_FLAG_USAGE_EMAIL                                                      = 0x1
 14294  	SOFTDIST_FLAG_USAGE_PRECACHE                                                   = 0x2
 14295  	SOFTKEYBOARD_TYPE_C1                                                           = 0x0002
 14296  	SOFTKEYBOARD_TYPE_T1                                                           = 0x0001
 14297  	SOL_SOCKET                                                                     = 0xffff
 14298  	SOMAXCONN                                                                      = 5
 14299  	SORTED_CTL_EXT_COUNT_OFFSET                                                    = 4
 14300  	SORTED_CTL_EXT_FLAGS_OFFSET                                                    = 0
 14301  	SORTED_CTL_EXT_HASHED_SUBJECT_IDENTIFIER_FLAG                                  = 0x1
 14302  	SORTED_CTL_EXT_HASH_BUCKET_OFFSET                                              = 12
 14303  	SORTED_CTL_EXT_MAX_COLLISION_OFFSET                                            = 8
 14304  	SORT_CHINESE_BIG5                                                              = 0x0
 14305  	SORT_CHINESE_BOPOMOFO                                                          = 0x3
 14306  	SORT_CHINESE_PRC                                                               = 0x2
 14307  	SORT_CHINESE_PRCP                                                              = 0x0
 14308  	SORT_CHINESE_RADICALSTROKE                                                     = 0x4
 14309  	SORT_CHINESE_UNICODE                                                           = 0x1
 14310  	SORT_DEFAULT                                                                   = 0x0
 14311  	SORT_GEORGIAN_MODERN                                                           = 0x1
 14312  	SORT_GEORGIAN_TRADITIONAL                                                      = 0x0
 14313  	SORT_GERMAN_PHONE_BOOK                                                         = 0x1
 14314  	SORT_HUNGARIAN_DEFAULT                                                         = 0x0
 14315  	SORT_HUNGARIAN_TECHNICAL                                                       = 0x1
 14316  	SORT_INVARIANT_MATH                                                            = 0x1
 14317  	SORT_JAPANESE_RADICALSTROKE                                                    = 0x4
 14318  	SORT_JAPANESE_UNICODE                                                          = 0x1
 14319  	SORT_JAPANESE_XJIS                                                             = 0x0
 14320  	SORT_KOREAN_KSC                                                                = 0x0
 14321  	SORT_KOREAN_UNICODE                                                            = 0x1
 14322  	SORT_STRINGSORT                                                                = 0x00001000
 14323  	SOUND_SYSTEM_APPEND                                                            = 14
 14324  	SOUND_SYSTEM_APPSTART                                                          = 12
 14325  	SOUND_SYSTEM_BEEP                                                              = 3
 14326  	SOUND_SYSTEM_ERROR                                                             = 4
 14327  	SOUND_SYSTEM_FAULT                                                             = 13
 14328  	SOUND_SYSTEM_INFORMATION                                                       = 7
 14329  	SOUND_SYSTEM_MAXIMIZE                                                          = 8
 14330  	SOUND_SYSTEM_MENUCOMMAND                                                       = 15
 14331  	SOUND_SYSTEM_MENUPOPUP                                                         = 16
 14332  	SOUND_SYSTEM_MINIMIZE                                                          = 9
 14333  	SOUND_SYSTEM_QUESTION                                                          = 5
 14334  	SOUND_SYSTEM_RESTOREDOWN                                                       = 11
 14335  	SOUND_SYSTEM_RESTOREUP                                                         = 10
 14336  	SOUND_SYSTEM_SHUTDOWN                                                          = 2
 14337  	SOUND_SYSTEM_STARTUP                                                           = 1
 14338  	SOUND_SYSTEM_WARNING                                                           = 6
 14339  	SO_ACCEPTCONN                                                                  = 0x0002
 14340  	SO_BROADCAST                                                                   = 0x0020
 14341  	SO_CONNDATA                                                                    = 0x7000
 14342  	SO_CONNDATALEN                                                                 = 0x7004
 14343  	SO_CONNECT_TIME                                                                = 0x700C
 14344  	SO_CONNOPT                                                                     = 0x7001
 14345  	SO_CONNOPTLEN                                                                  = 0x7005
 14346  	SO_DEBUG                                                                       = 0x0001
 14347  	SO_DISCDATA                                                                    = 0x7002
 14348  	SO_DISCDATALEN                                                                 = 0x7006
 14349  	SO_DISCOPT                                                                     = 0x7003
 14350  	SO_DISCOPTLEN                                                                  = 0x7007
 14351  	SO_DONTROUTE                                                                   = 0x0010
 14352  	SO_ERROR                                                                       = 0x1007
 14353  	SO_KEEPALIVE                                                                   = 0x0008
 14354  	SO_LINGER                                                                      = 0x0080
 14355  	SO_MAXDG                                                                       = 0x7009
 14356  	SO_MAXPATHDG                                                                   = 0x700A
 14357  	SO_OOBINLINE                                                                   = 0x0100
 14358  	SO_OPENTYPE                                                                    = 0x7008
 14359  	SO_RCVBUF                                                                      = 0x1002
 14360  	SO_RCVLOWAT                                                                    = 0x1004
 14361  	SO_RCVTIMEO                                                                    = 0x1006
 14362  	SO_REUSEADDR                                                                   = 0x0004
 14363  	SO_SNDBUF                                                                      = 0x1001
 14364  	SO_SNDLOWAT                                                                    = 0x1003
 14365  	SO_SNDTIMEO                                                                    = 0x1005
 14366  	SO_SYNCHRONOUS_ALERT                                                           = 0x10
 14367  	SO_SYNCHRONOUS_NONALERT                                                        = 0x20
 14368  	SO_TYPE                                                                        = 0x1008
 14369  	SO_UPDATE_ACCEPT_CONTEXT                                                       = 0x700B
 14370  	SO_USELOOPBACK                                                                 = 0x0040
 14371  	SPACEPARITY                                                                    = 4
 14372  	SPCLPASSTHROUGH2                                                               = 4568
 14373  	SPECIFIC_RIGHTS_ALL                                                            = 65535
 14374  	SPECSTRINGS_H                                                                  = 0
 14375  	SPIF_SENDCHANGE                                                                = 2
 14376  	SPIF_SENDWININICHANGE                                                          = 0x0002
 14377  	SPIF_UPDATEINIFILE                                                             = 0x0001
 14378  	SPI_GETACCESSTIMEOUT                                                           = 0x003C
 14379  	SPI_GETACTIVEWINDOWTRACKING                                                    = 0x1000
 14380  	SPI_GETACTIVEWNDTRKTIMEOUT                                                     = 0x2002
 14381  	SPI_GETACTIVEWNDTRKZORDER                                                      = 0x100C
 14382  	SPI_GETANIMATION                                                               = 0x0048
 14383  	SPI_GETBEEP                                                                    = 0x0001
 14384  	SPI_GETBLOCKSENDINPUTRESETS                                                    = 0x1026
 14385  	SPI_GETBORDER                                                                  = 0x0005
 14386  	SPI_GETCARETWIDTH                                                              = 0x2006
 14387  	SPI_GETCOMBOBOXANIMATION                                                       = 0x1004
 14388  	SPI_GETCURSORSHADOW                                                            = 0x101A
 14389  	SPI_GETDEFAULTINPUTLANG                                                        = 0x0059
 14390  	SPI_GETDESKWALLPAPER                                                           = 0x0073
 14391  	SPI_GETDRAGFULLWINDOWS                                                         = 0x0026
 14392  	SPI_GETDROPSHADOW                                                              = 0x1024
 14393  	SPI_GETFASTTASKSWITCH                                                          = 0x0023
 14394  	SPI_GETFILTERKEYS                                                              = 0x0032
 14395  	SPI_GETFLATMENU                                                                = 0x1022
 14396  	SPI_GETFOCUSBORDERHEIGHT                                                       = 0x2010
 14397  	SPI_GETFOCUSBORDERWIDTH                                                        = 0x200E
 14398  	SPI_GETFONTSMOOTHING                                                           = 0x004A
 14399  	SPI_GETFONTSMOOTHINGCONTRAST                                                   = 0x200C
 14400  	SPI_GETFONTSMOOTHINGORIENTATION                                                = 0x2012
 14401  	SPI_GETFONTSMOOTHINGTYPE                                                       = 0x200A
 14402  	SPI_GETFOREGROUNDFLASHCOUNT                                                    = 0x2004
 14403  	SPI_GETFOREGROUNDLOCKTIMEOUT                                                   = 0x2000
 14404  	SPI_GETGRADIENTCAPTIONS                                                        = 0x1008
 14405  	SPI_GETGRIDGRANULARITY                                                         = 0x0012
 14406  	SPI_GETHIGHCONTRAST                                                            = 0x0042
 14407  	SPI_GETHOTTRACKING                                                             = 0x100E
 14408  	SPI_GETICONMETRICS                                                             = 0x002D
 14409  	SPI_GETICONTITLELOGFONT                                                        = 0x001F
 14410  	SPI_GETICONTITLEWRAP                                                           = 0x0019
 14411  	SPI_GETKEYBOARDCUES                                                            = 0x100A
 14412  	SPI_GETKEYBOARDDELAY                                                           = 0x0016
 14413  	SPI_GETKEYBOARDPREF                                                            = 0x0044
 14414  	SPI_GETKEYBOARDSPEED                                                           = 0x000A
 14415  	SPI_GETLISTBOXSMOOTHSCROLLING                                                  = 0x1006
 14416  	SPI_GETLOWPOWERACTIVE                                                          = 0x0053
 14417  	SPI_GETLOWPOWERTIMEOUT                                                         = 0x004F
 14418  	SPI_GETMENUANIMATION                                                           = 0x1002
 14419  	SPI_GETMENUDROPALIGNMENT                                                       = 0x001B
 14420  	SPI_GETMENUFADE                                                                = 0x1012
 14421  	SPI_GETMENUSHOWDELAY                                                           = 0x006A
 14422  	SPI_GETMENUUNDERLINES                                                          = 4106
 14423  	SPI_GETMINIMIZEDMETRICS                                                        = 0x002B
 14424  	SPI_GETMOUSE                                                                   = 0x0003
 14425  	SPI_GETMOUSECLICKLOCK                                                          = 0x101E
 14426  	SPI_GETMOUSECLICKLOCKTIME                                                      = 0x2008
 14427  	SPI_GETMOUSEHOVERHEIGHT                                                        = 0x0064
 14428  	SPI_GETMOUSEHOVERTIME                                                          = 0x0066
 14429  	SPI_GETMOUSEHOVERWIDTH                                                         = 0x0062
 14430  	SPI_GETMOUSEKEYS                                                               = 0x0036
 14431  	SPI_GETMOUSESONAR                                                              = 0x101C
 14432  	SPI_GETMOUSESPEED                                                              = 0x0070
 14433  	SPI_GETMOUSETRAILS                                                             = 0x005E
 14434  	SPI_GETMOUSEVANISH                                                             = 0x1020
 14435  	SPI_GETNONCLIENTMETRICS                                                        = 0x0029
 14436  	SPI_GETPOWEROFFACTIVE                                                          = 0x0054
 14437  	SPI_GETPOWEROFFTIMEOUT                                                         = 0x0050
 14438  	SPI_GETSCREENREADER                                                            = 0x0046
 14439  	SPI_GETSCREENSAVEACTIVE                                                        = 0x0010
 14440  	SPI_GETSCREENSAVERRUNNING                                                      = 0x0072
 14441  	SPI_GETSCREENSAVETIMEOUT                                                       = 0x000E
 14442  	SPI_GETSELECTIONFADE                                                           = 0x1014
 14443  	SPI_GETSERIALKEYS                                                              = 0x003E
 14444  	SPI_GETSHOWIMEUI                                                               = 0x006E
 14445  	SPI_GETSHOWSOUNDS                                                              = 0x0038
 14446  	SPI_GETSNAPTODEFBUTTON                                                         = 0x005F
 14447  	SPI_GETSOUNDSENTRY                                                             = 0x0040
 14448  	SPI_GETSTICKYKEYS                                                              = 0x003A
 14449  	SPI_GETTOGGLEKEYS                                                              = 0x0034
 14450  	SPI_GETTOOLTIPANIMATION                                                        = 0x1016
 14451  	SPI_GETTOOLTIPFADE                                                             = 0x1018
 14452  	SPI_GETUIEFFECTS                                                               = 0x103E
 14453  	SPI_GETWHEELSCROLLLINES                                                        = 0x0068
 14454  	SPI_GETWINDOWSEXTENSION                                                        = 0x005C
 14455  	SPI_GETWORKAREA                                                                = 0x0030
 14456  	SPI_ICONHORIZONTALSPACING                                                      = 0x000D
 14457  	SPI_ICONVERTICALSPACING                                                        = 0x0018
 14458  	SPI_LANGDRIVER                                                                 = 0x000C
 14459  	SPI_SCREENSAVERRUNNING                                                         = 97
 14460  	SPI_SETACCESSTIMEOUT                                                           = 0x003D
 14461  	SPI_SETACTIVEWINDOWTRACKING                                                    = 0x1001
 14462  	SPI_SETACTIVEWNDTRKTIMEOUT                                                     = 0x2003
 14463  	SPI_SETACTIVEWNDTRKZORDER                                                      = 0x100D
 14464  	SPI_SETANIMATION                                                               = 0x0049
 14465  	SPI_SETBEEP                                                                    = 0x0002
 14466  	SPI_SETBLOCKSENDINPUTRESETS                                                    = 0x1027
 14467  	SPI_SETBORDER                                                                  = 0x0006
 14468  	SPI_SETCARETWIDTH                                                              = 0x2007
 14469  	SPI_SETCOMBOBOXANIMATION                                                       = 0x1005
 14470  	SPI_SETCURSORS                                                                 = 0x0057
 14471  	SPI_SETCURSORSHADOW                                                            = 0x101B
 14472  	SPI_SETDEFAULTINPUTLANG                                                        = 0x005A
 14473  	SPI_SETDESKPATTERN                                                             = 0x0015
 14474  	SPI_SETDESKWALLPAPER                                                           = 0x0014
 14475  	SPI_SETDOUBLECLICKTIME                                                         = 0x0020
 14476  	SPI_SETDOUBLECLKHEIGHT                                                         = 0x001E
 14477  	SPI_SETDOUBLECLKWIDTH                                                          = 0x001D
 14478  	SPI_SETDRAGFULLWINDOWS                                                         = 0x0025
 14479  	SPI_SETDRAGHEIGHT                                                              = 0x004D
 14480  	SPI_SETDRAGWIDTH                                                               = 0x004C
 14481  	SPI_SETDROPSHADOW                                                              = 0x1025
 14482  	SPI_SETFASTTASKSWITCH                                                          = 0x0024
 14483  	SPI_SETFILTERKEYS                                                              = 0x0033
 14484  	SPI_SETFLATMENU                                                                = 0x1023
 14485  	SPI_SETFOCUSBORDERHEIGHT                                                       = 0x2011
 14486  	SPI_SETFOCUSBORDERWIDTH                                                        = 0x200F
 14487  	SPI_SETFONTSMOOTHING                                                           = 0x004B
 14488  	SPI_SETFONTSMOOTHINGCONTRAST                                                   = 0x200D
 14489  	SPI_SETFONTSMOOTHINGORIENTATION                                                = 0x2013
 14490  	SPI_SETFONTSMOOTHINGTYPE                                                       = 0x200B
 14491  	SPI_SETFOREGROUNDFLASHCOUNT                                                    = 0x2005
 14492  	SPI_SETFOREGROUNDLOCKTIMEOUT                                                   = 0x2001
 14493  	SPI_SETGRADIENTCAPTIONS                                                        = 0x1009
 14494  	SPI_SETGRIDGRANULARITY                                                         = 0x0013
 14495  	SPI_SETHANDHELD                                                                = 0x004E
 14496  	SPI_SETHIGHCONTRAST                                                            = 0x0043
 14497  	SPI_SETHOTTRACKING                                                             = 0x100F
 14498  	SPI_SETICONMETRICS                                                             = 0x002E
 14499  	SPI_SETICONS                                                                   = 0x0058
 14500  	SPI_SETICONTITLELOGFONT                                                        = 0x0022
 14501  	SPI_SETICONTITLEWRAP                                                           = 0x001A
 14502  	SPI_SETKEYBOARDCUES                                                            = 0x100B
 14503  	SPI_SETKEYBOARDDELAY                                                           = 0x0017
 14504  	SPI_SETKEYBOARDPREF                                                            = 0x0045
 14505  	SPI_SETKEYBOARDSPEED                                                           = 0x000B
 14506  	SPI_SETLANGTOGGLE                                                              = 0x005B
 14507  	SPI_SETLISTBOXSMOOTHSCROLLING                                                  = 0x1007
 14508  	SPI_SETLOWPOWERACTIVE                                                          = 0x0055
 14509  	SPI_SETLOWPOWERTIMEOUT                                                         = 0x0051
 14510  	SPI_SETMENUANIMATION                                                           = 0x1003
 14511  	SPI_SETMENUDROPALIGNMENT                                                       = 0x001C
 14512  	SPI_SETMENUFADE                                                                = 0x1013
 14513  	SPI_SETMENUSHOWDELAY                                                           = 0x006B
 14514  	SPI_SETMENUUNDERLINES                                                          = 4107
 14515  	SPI_SETMINIMIZEDMETRICS                                                        = 0x002C
 14516  	SPI_SETMOUSE                                                                   = 0x0004
 14517  	SPI_SETMOUSEBUTTONSWAP                                                         = 0x0021
 14518  	SPI_SETMOUSECLICKLOCK                                                          = 0x101F
 14519  	SPI_SETMOUSECLICKLOCKTIME                                                      = 0x2009
 14520  	SPI_SETMOUSEHOVERHEIGHT                                                        = 0x0065
 14521  	SPI_SETMOUSEHOVERTIME                                                          = 0x0067
 14522  	SPI_SETMOUSEHOVERWIDTH                                                         = 0x0063
 14523  	SPI_SETMOUSEKEYS                                                               = 0x0037
 14524  	SPI_SETMOUSESONAR                                                              = 0x101D
 14525  	SPI_SETMOUSESPEED                                                              = 0x0071
 14526  	SPI_SETMOUSETRAILS                                                             = 0x005D
 14527  	SPI_SETMOUSEVANISH                                                             = 0x1021
 14528  	SPI_SETNONCLIENTMETRICS                                                        = 0x002A
 14529  	SPI_SETPENWINDOWS                                                              = 0x0031
 14530  	SPI_SETPOWEROFFACTIVE                                                          = 0x0056
 14531  	SPI_SETPOWEROFFTIMEOUT                                                         = 0x0052
 14532  	SPI_SETSCREENREADER                                                            = 0x0047
 14533  	SPI_SETSCREENSAVEACTIVE                                                        = 0x0011
 14534  	SPI_SETSCREENSAVERRUNNING                                                      = 0x0061
 14535  	SPI_SETSCREENSAVETIMEOUT                                                       = 0x000F
 14536  	SPI_SETSELECTIONFADE                                                           = 0x1015
 14537  	SPI_SETSERIALKEYS                                                              = 0x003F
 14538  	SPI_SETSHOWIMEUI                                                               = 0x006F
 14539  	SPI_SETSHOWSOUNDS                                                              = 0x0039
 14540  	SPI_SETSNAPTODEFBUTTON                                                         = 0x0060
 14541  	SPI_SETSOUNDSENTRY                                                             = 0x0041
 14542  	SPI_SETSTICKYKEYS                                                              = 0x003B
 14543  	SPI_SETTOGGLEKEYS                                                              = 0x0035
 14544  	SPI_SETTOOLTIPANIMATION                                                        = 0x1017
 14545  	SPI_SETTOOLTIPFADE                                                             = 0x1019
 14546  	SPI_SETUIEFFECTS                                                               = 0x103F
 14547  	SPI_SETWHEELSCROLLLINES                                                        = 0x0069
 14548  	SPI_SETWORKAREA                                                                = 0x002F
 14549  	SPOINTER_32                                                                    = 0
 14550  	SPOOL_FILE_PERSISTENT                                                          = 0x00000001
 14551  	SPOOL_FILE_TEMPORARY                                                           = 0x00000002
 14552  	SPVERSION_MASK                                                                 = 0x0000FF00
 14553  	SP_APPABORT                                                                    = -2
 14554  	SP_ERROR                                                                       = -1
 14555  	SP_NOTREPORTED                                                                 = 0x4000
 14556  	SP_OUTOFDISK                                                                   = -4
 14557  	SP_OUTOFMEMORY                                                                 = -5
 14558  	SP_USERABORT                                                                   = -3
 14559  	SQLITE_WINDIRENT_H                                                             = 0
 14560  	SSF_AVAILABLE                                                                  = 0x00000002
 14561  	SSF_INDICATOR                                                                  = 0x00000004
 14562  	SSF_SOUNDSENTRYON                                                              = 0x00000001
 14563  	SSGF_DISPLAY                                                                   = 3
 14564  	SSGF_NONE                                                                      = 0
 14565  	SSL_F12_ERROR_TEXT_LENGTH                                                      = 256
 14566  	SSL_HPKP_HEADER_COUNT                                                          = 2
 14567  	SSL_HPKP_PKP_HEADER_INDEX                                                      = 0
 14568  	SSL_HPKP_PKP_RO_HEADER_INDEX                                                   = 1
 14569  	SSL_KEY_PIN_ERROR_TEXT_LENGTH                                                  = 512
 14570  	SSTF_BORDER                                                                    = 2
 14571  	SSTF_CHARS                                                                     = 1
 14572  	SSTF_DISPLAY                                                                   = 3
 14573  	SSTF_NONE                                                                      = 0
 14574  	SSWF_CUSTOM                                                                    = 4
 14575  	SSWF_DISPLAY                                                                   = 3
 14576  	SSWF_NONE                                                                      = 0
 14577  	SSWF_TITLE                                                                     = 1
 14578  	SSWF_WINDOW                                                                    = 2
 14579  	SS_BITMAP                                                                      = 14
 14580  	SS_BLACKFRAME                                                                  = 7
 14581  	SS_BLACKRECT                                                                   = 4
 14582  	SS_CENTER                                                                      = 1
 14583  	SS_CENTERIMAGE                                                                 = 512
 14584  	SS_EDITCONTROL                                                                 = 8192
 14585  	SS_ELLIPSISMASK                                                                = 49152
 14586  	SS_ENDELLIPSIS                                                                 = 16384
 14587  	SS_ENHMETAFILE                                                                 = 15
 14588  	SS_ETCHEDFRAME                                                                 = 18
 14589  	SS_ETCHEDHORZ                                                                  = 16
 14590  	SS_ETCHEDVERT                                                                  = 17
 14591  	SS_GRAYFRAME                                                                   = 8
 14592  	SS_GRAYRECT                                                                    = 5
 14593  	SS_ICON                                                                        = 3
 14594  	SS_LEFT                                                                        = 0
 14595  	SS_LEFTNOWORDWRAP                                                              = 12
 14596  	SS_NOPREFIX                                                                    = 128
 14597  	SS_NOTIFY                                                                      = 256
 14598  	SS_OWNERDRAW                                                                   = 13
 14599  	SS_PATHELLIPSIS                                                                = 32768
 14600  	SS_REALSIZECONTROL                                                             = 64
 14601  	SS_REALSIZEIMAGE                                                               = 2048
 14602  	SS_RIGHT                                                                       = 2
 14603  	SS_RIGHTJUST                                                                   = 1024
 14604  	SS_SIMPLE                                                                      = 11
 14605  	SS_SUNKEN                                                                      = 4096
 14606  	SS_TYPEMASK                                                                    = 31
 14607  	SS_USERITEM                                                                    = 10
 14608  	SS_WHITEFRAME                                                                  = 9
 14609  	SS_WHITERECT                                                                   = 6
 14610  	SS_WORDELLIPSIS                                                                = 49152
 14611  	STACK_SIZE_PARAM_IS_A_RESERVATION                                              = 0x10000
 14612  	STAMP_AXESLIST                                                                 = 134245473
 14613  	STAMP_CFF2                                                                     = 134248035
 14614  	STAMP_DESIGNVECTOR                                                             = 134248036
 14615  	STAMP_TRUETYPE_VARIATION                                                       = 134248052
 14616  	STANDARD_RIGHTS_ALL                                                            = 2031616
 14617  	STANDARD_RIGHTS_EXECUTE                                                        = 131072
 14618  	STANDARD_RIGHTS_READ                                                           = 131072
 14619  	STANDARD_RIGHTS_REQUIRED                                                       = 983040
 14620  	STANDARD_RIGHTS_WRITE                                                          = 131072
 14621  	STARTDOC                                                                       = 10
 14622  	STARTF_FORCEOFFFEEDBACK                                                        = 0x00000080
 14623  	STARTF_FORCEONFEEDBACK                                                         = 0x00000040
 14624  	STARTF_PREVENTPINNING                                                          = 0x00002000
 14625  	STARTF_RUNFULLSCREEN                                                           = 0x00000020
 14626  	STARTF_TITLEISAPPID                                                            = 0x00001000
 14627  	STARTF_TITLEISLINKNAME                                                         = 0x00000800
 14628  	STARTF_USECOUNTCHARS                                                           = 0x00000008
 14629  	STARTF_USEFILLATTRIBUTE                                                        = 0x00000010
 14630  	STARTF_USEHOTKEY                                                               = 0x00000200
 14631  	STARTF_USEPOSITION                                                             = 0x00000004
 14632  	STARTF_USESHOWWINDOW                                                           = 0x00000001
 14633  	STARTF_USESIZE                                                                 = 0x00000002
 14634  	STARTF_USESTDHANDLES                                                           = 0x00000100
 14635  	START_PAGE_GENERAL                                                             = 0xffffffff
 14636  	STATE_SYSTEM_ALERT_HIGH                                                        = 0x10000000
 14637  	STATE_SYSTEM_ALERT_LOW                                                         = 0x04000000
 14638  	STATE_SYSTEM_ALERT_MEDIUM                                                      = 0x08000000
 14639  	STATE_SYSTEM_ANIMATED                                                          = 0x00004000
 14640  	STATE_SYSTEM_BUSY                                                              = 0x00000800
 14641  	STATE_SYSTEM_CHECKED                                                           = 0x00000010
 14642  	STATE_SYSTEM_COLLAPSED                                                         = 0x00000400
 14643  	STATE_SYSTEM_DEFAULT                                                           = 0x00000100
 14644  	STATE_SYSTEM_EXPANDED                                                          = 0x00000200
 14645  	STATE_SYSTEM_EXTSELECTABLE                                                     = 0x02000000
 14646  	STATE_SYSTEM_FLOATING                                                          = 0x00001000
 14647  	STATE_SYSTEM_FOCUSABLE                                                         = 0x00100000
 14648  	STATE_SYSTEM_FOCUSED                                                           = 0x00000004
 14649  	STATE_SYSTEM_HOTTRACKED                                                        = 0x00000080
 14650  	STATE_SYSTEM_INDETERMINATE                                                     = 32
 14651  	STATE_SYSTEM_INVISIBLE                                                         = 0x00008000
 14652  	STATE_SYSTEM_LINKED                                                            = 0x00400000
 14653  	STATE_SYSTEM_MARQUEED                                                          = 0x00002000
 14654  	STATE_SYSTEM_MIXED                                                             = 0x00000020
 14655  	STATE_SYSTEM_MOVEABLE                                                          = 0x00040000
 14656  	STATE_SYSTEM_MULTISELECTABLE                                                   = 0x01000000
 14657  	STATE_SYSTEM_OFFSCREEN                                                         = 0x00010000
 14658  	STATE_SYSTEM_PRESSED                                                           = 0x00000008
 14659  	STATE_SYSTEM_PROTECTED                                                         = 0x20000000
 14660  	STATE_SYSTEM_READONLY                                                          = 0x00000040
 14661  	STATE_SYSTEM_SELECTABLE                                                        = 0x00200000
 14662  	STATE_SYSTEM_SELECTED                                                          = 0x00000002
 14663  	STATE_SYSTEM_SELFVOICING                                                       = 0x00080000
 14664  	STATE_SYSTEM_SIZEABLE                                                          = 0x00020000
 14665  	STATE_SYSTEM_TRAVERSED                                                         = 0x00800000
 14666  	STATE_SYSTEM_UNAVAILABLE                                                       = 0x00000001
 14667  	STATE_SYSTEM_VALID                                                             = 0x3FFFFFFF
 14668  	STDAPICALLTYPE                                                                 = 0
 14669  	STDMETHODCALLTYPE                                                              = 0
 14670  	STDOLE2_LCID                                                                   = 0x0000
 14671  	STDOLE2_MAJORVERNUM                                                            = 0x2
 14672  	STDOLE2_MINORVERNUM                                                            = 0x0
 14673  	STDOLE_LCID                                                                    = 0x0000
 14674  	STDOLE_MAJORVERNUM                                                             = 0x1
 14675  	STDOLE_MINORVERNUM                                                             = 0x0
 14676  	STGFMT_ANY                                                                     = 4
 14677  	STGFMT_DOCFILE                                                                 = 5
 14678  	STGFMT_DOCUMENT                                                                = 0
 14679  	STGFMT_FILE                                                                    = 3
 14680  	STGFMT_NATIVE                                                                  = 1
 14681  	STGFMT_STORAGE                                                                 = 0
 14682  	STGM_CONVERT                                                                   = 131072
 14683  	STGM_CREATE                                                                    = 4096
 14684  	STGM_DELETEONRELEASE                                                           = 67108864
 14685  	STGM_DIRECT                                                                    = 0
 14686  	STGM_DIRECT_SWMR                                                               = 4194304
 14687  	STGM_FAILIFTHERE                                                               = 0
 14688  	STGM_NOSCRATCH                                                                 = 1048576
 14689  	STGM_NOSNAPSHOT                                                                = 2097152
 14690  	STGM_PRIORITY                                                                  = 262144
 14691  	STGM_READ                                                                      = 0
 14692  	STGM_READWRITE                                                                 = 2
 14693  	STGM_SHARE_DENY_NONE                                                           = 64
 14694  	STGM_SHARE_DENY_READ                                                           = 48
 14695  	STGM_SHARE_DENY_WRITE                                                          = 32
 14696  	STGM_SHARE_EXCLUSIVE                                                           = 16
 14697  	STGM_SIMPLE                                                                    = 134217728
 14698  	STGM_TRANSACTED                                                                = 65536
 14699  	STGM_WRITE                                                                     = 1
 14700  	STGOPTIONS_VERSION                                                             = 2
 14701  	STGTY_REPEAT                                                                   = 256
 14702  	STG_LAYOUT_INTERLEAVED                                                         = 1
 14703  	STG_LAYOUT_SEQUENTIAL                                                          = 0
 14704  	STG_TOEND                                                                      = 4294967295
 14705  	STM_GETICON                                                                    = 0x0171
 14706  	STM_GETIMAGE                                                                   = 0x0173
 14707  	STM_MSGMAX                                                                     = 0x0174
 14708  	STM_SETICON                                                                    = 0x0170
 14709  	STM_SETIMAGE                                                                   = 0x0172
 14710  	STN_CLICKED                                                                    = 0
 14711  	STN_DBLCLK                                                                     = 1
 14712  	STN_DISABLE                                                                    = 3
 14713  	STN_ENABLE                                                                     = 2
 14714  	STOCK_LAST                                                                     = 19
 14715  	STREAM_CLEAR_ENCRYPTION                                                        = 0x00000004
 14716  	STREAM_CONTAINS_PROPERTIES                                                     = 0x00000004
 14717  	STREAM_CONTAINS_SECURITY                                                       = 0x00000002
 14718  	STREAM_MODIFIED_WHEN_READ                                                      = 0x00000001
 14719  	STREAM_NORMAL_ATTRIBUTE                                                        = 0x00000000
 14720  	STREAM_SET_ENCRYPTION                                                          = 0x00000003
 14721  	STREAM_SPARSE_ATTRIBUTE                                                        = 0x00000008
 14722  	STRETCHBLT                                                                     = 2048
 14723  	STRETCH_ANDSCANS                                                               = 1
 14724  	STRETCH_DELETESCANS                                                            = 3
 14725  	STRETCH_HALFTONE                                                               = 4
 14726  	STRETCH_ORSCANS                                                                = 2
 14727  	STRICT                                                                         = 1
 14728  	STRUNCATE                                                                      = 80
 14729  	STYLE_DESCRIPTION_SIZE                                                         = 32
 14730  	ST_ADVISE                                                                      = 0x0002
 14731  	ST_BLOCKED                                                                     = 0x0008
 14732  	ST_BLOCKNEXT                                                                   = 0x0080
 14733  	ST_CLIENT                                                                      = 0x0010
 14734  	ST_CONNECTED                                                                   = 0x0001
 14735  	ST_INLIST                                                                      = 0x0040
 14736  	ST_ISLOCAL                                                                     = 0x0004
 14737  	ST_ISSELF                                                                      = 0x0100
 14738  	ST_TERMINATED                                                                  = 0x0020
 14739  	SUBLANG_AFRIKAANS_SOUTH_AFRICA                                                 = 0x01
 14740  	SUBLANG_ALBANIAN_ALBANIA                                                       = 0x01
 14741  	SUBLANG_ALSATIAN_FRANCE                                                        = 0x01
 14742  	SUBLANG_AMHARIC_ETHIOPIA                                                       = 0x01
 14743  	SUBLANG_ARABIC_ALGERIA                                                         = 0x05
 14744  	SUBLANG_ARABIC_BAHRAIN                                                         = 0x0f
 14745  	SUBLANG_ARABIC_EGYPT                                                           = 0x03
 14746  	SUBLANG_ARABIC_IRAQ                                                            = 0x02
 14747  	SUBLANG_ARABIC_JORDAN                                                          = 0x0b
 14748  	SUBLANG_ARABIC_KUWAIT                                                          = 0x0d
 14749  	SUBLANG_ARABIC_LEBANON                                                         = 0x0c
 14750  	SUBLANG_ARABIC_LIBYA                                                           = 0x04
 14751  	SUBLANG_ARABIC_MOROCCO                                                         = 0x06
 14752  	SUBLANG_ARABIC_OMAN                                                            = 0x08
 14753  	SUBLANG_ARABIC_QATAR                                                           = 0x10
 14754  	SUBLANG_ARABIC_SAUDI_ARABIA                                                    = 0x01
 14755  	SUBLANG_ARABIC_SYRIA                                                           = 0x0a
 14756  	SUBLANG_ARABIC_TUNISIA                                                         = 0x07
 14757  	SUBLANG_ARABIC_UAE                                                             = 0x0e
 14758  	SUBLANG_ARABIC_YEMEN                                                           = 0x09
 14759  	SUBLANG_ARMENIAN_ARMENIA                                                       = 0x01
 14760  	SUBLANG_ASSAMESE_INDIA                                                         = 0x01
 14761  	SUBLANG_AZERBAIJANI_AZERBAIJAN_CYRILLIC                                        = 0x02
 14762  	SUBLANG_AZERBAIJANI_AZERBAIJAN_LATIN                                           = 0x01
 14763  	SUBLANG_AZERI_CYRILLIC                                                         = 0x02
 14764  	SUBLANG_AZERI_LATIN                                                            = 0x01
 14765  	SUBLANG_BANGLA_BANGLADESH                                                      = 0x02
 14766  	SUBLANG_BANGLA_INDIA                                                           = 0x01
 14767  	SUBLANG_BASHKIR_RUSSIA                                                         = 0x01
 14768  	SUBLANG_BASQUE_BASQUE                                                          = 0x01
 14769  	SUBLANG_BELARUSIAN_BELARUS                                                     = 0x01
 14770  	SUBLANG_BENGALI_BANGLADESH                                                     = 0x02
 14771  	SUBLANG_BENGALI_INDIA                                                          = 0x01
 14772  	SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC                                    = 0x08
 14773  	SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN                                       = 0x05
 14774  	SUBLANG_BRETON_FRANCE                                                          = 0x01
 14775  	SUBLANG_BULGARIAN_BULGARIA                                                     = 0x01
 14776  	SUBLANG_CATALAN_CATALAN                                                        = 0x01
 14777  	SUBLANG_CENTRAL_KURDISH_IRAQ                                                   = 0x01
 14778  	SUBLANG_CHEROKEE_CHEROKEE                                                      = 0x01
 14779  	SUBLANG_CHINESE_HONGKONG                                                       = 0x03
 14780  	SUBLANG_CHINESE_MACAU                                                          = 0x05
 14781  	SUBLANG_CHINESE_SIMPLIFIED                                                     = 0x02
 14782  	SUBLANG_CHINESE_SINGAPORE                                                      = 0x04
 14783  	SUBLANG_CHINESE_TRADITIONAL                                                    = 0x01
 14784  	SUBLANG_CORSICAN_FRANCE                                                        = 0x01
 14785  	SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN                                      = 0x04
 14786  	SUBLANG_CROATIAN_CROATIA                                                       = 0x01
 14787  	SUBLANG_CUSTOM_DEFAULT                                                         = 0x03
 14788  	SUBLANG_CUSTOM_UNSPECIFIED                                                     = 0x04
 14789  	SUBLANG_CZECH_CZECH_REPUBLIC                                                   = 0x01
 14790  	SUBLANG_DANISH_DENMARK                                                         = 0x01
 14791  	SUBLANG_DARI_AFGHANISTAN                                                       = 0x01
 14792  	SUBLANG_DEFAULT                                                                = 0x01
 14793  	SUBLANG_DIVEHI_MALDIVES                                                        = 0x01
 14794  	SUBLANG_DUTCH                                                                  = 0x01
 14795  	SUBLANG_DUTCH_BELGIAN                                                          = 0x02
 14796  	SUBLANG_ENGLISH_AUS                                                            = 0x03
 14797  	SUBLANG_ENGLISH_BELIZE                                                         = 0x0a
 14798  	SUBLANG_ENGLISH_CAN                                                            = 0x04
 14799  	SUBLANG_ENGLISH_CARIBBEAN                                                      = 0x09
 14800  	SUBLANG_ENGLISH_EIRE                                                           = 0x06
 14801  	SUBLANG_ENGLISH_INDIA                                                          = 0x10
 14802  	SUBLANG_ENGLISH_IRELAND                                                        = 0x06
 14803  	SUBLANG_ENGLISH_JAMAICA                                                        = 0x08
 14804  	SUBLANG_ENGLISH_MALAYSIA                                                       = 0x11
 14805  	SUBLANG_ENGLISH_NZ                                                             = 0x05
 14806  	SUBLANG_ENGLISH_PHILIPPINES                                                    = 0x0d
 14807  	SUBLANG_ENGLISH_SINGAPORE                                                      = 0x12
 14808  	SUBLANG_ENGLISH_SOUTH_AFRICA                                                   = 0x07
 14809  	SUBLANG_ENGLISH_TRINIDAD                                                       = 0x0b
 14810  	SUBLANG_ENGLISH_UK                                                             = 0x02
 14811  	SUBLANG_ENGLISH_US                                                             = 0x01
 14812  	SUBLANG_ENGLISH_ZIMBABWE                                                       = 0x0c
 14813  	SUBLANG_ESTONIAN_ESTONIA                                                       = 0x01
 14814  	SUBLANG_FAEROESE_FAROE_ISLANDS                                                 = 0x01
 14815  	SUBLANG_FILIPINO_PHILIPPINES                                                   = 0x01
 14816  	SUBLANG_FINNISH_FINLAND                                                        = 0x01
 14817  	SUBLANG_FRENCH                                                                 = 0x01
 14818  	SUBLANG_FRENCH_BELGIAN                                                         = 0x02
 14819  	SUBLANG_FRENCH_CANADIAN                                                        = 0x03
 14820  	SUBLANG_FRENCH_LUXEMBOURG                                                      = 0x05
 14821  	SUBLANG_FRENCH_MONACO                                                          = 0x06
 14822  	SUBLANG_FRENCH_SWISS                                                           = 0x04
 14823  	SUBLANG_FRISIAN_NETHERLANDS                                                    = 0x01
 14824  	SUBLANG_FULAH_SENEGAL                                                          = 0x02
 14825  	SUBLANG_GALICIAN_GALICIAN                                                      = 0x01
 14826  	SUBLANG_GEORGIAN_GEORGIA                                                       = 0x01
 14827  	SUBLANG_GERMAN                                                                 = 0x01
 14828  	SUBLANG_GERMAN_AUSTRIAN                                                        = 0x03
 14829  	SUBLANG_GERMAN_LIECHTENSTEIN                                                   = 0x05
 14830  	SUBLANG_GERMAN_LUXEMBOURG                                                      = 0x04
 14831  	SUBLANG_GERMAN_SWISS                                                           = 0x02
 14832  	SUBLANG_GREEK_GREECE                                                           = 0x01
 14833  	SUBLANG_GREENLANDIC_GREENLAND                                                  = 0x01
 14834  	SUBLANG_GUJARATI_INDIA                                                         = 0x01
 14835  	SUBLANG_HAUSA_NIGERIA                                                          = 1
 14836  	SUBLANG_HAUSA_NIGERIA_LATIN                                                    = 0x01
 14837  	SUBLANG_HAWAIIAN_US                                                            = 0x01
 14838  	SUBLANG_HEBREW_ISRAEL                                                          = 0x01
 14839  	SUBLANG_HINDI_INDIA                                                            = 0x01
 14840  	SUBLANG_HUNGARIAN_HUNGARY                                                      = 0x01
 14841  	SUBLANG_ICELANDIC_ICELAND                                                      = 0x01
 14842  	SUBLANG_IGBO_NIGERIA                                                           = 0x01
 14843  	SUBLANG_INDONESIAN_INDONESIA                                                   = 0x01
 14844  	SUBLANG_INUKTITUT_CANADA                                                       = 0x01
 14845  	SUBLANG_INUKTITUT_CANADA_LATIN                                                 = 0x02
 14846  	SUBLANG_IRISH_IRELAND                                                          = 0x02
 14847  	SUBLANG_ITALIAN                                                                = 0x01
 14848  	SUBLANG_ITALIAN_SWISS                                                          = 0x02
 14849  	SUBLANG_JAPANESE_JAPAN                                                         = 0x01
 14850  	SUBLANG_KANNADA_INDIA                                                          = 0x01
 14851  	SUBLANG_KASHMIRI_INDIA                                                         = 0x02
 14852  	SUBLANG_KASHMIRI_SASIA                                                         = 0x02
 14853  	SUBLANG_KAZAK_KAZAKHSTAN                                                       = 0x01
 14854  	SUBLANG_KHMER_CAMBODIA                                                         = 0x01
 14855  	SUBLANG_KICHE_GUATEMALA                                                        = 0x01
 14856  	SUBLANG_KINYARWANDA_RWANDA                                                     = 0x01
 14857  	SUBLANG_KONKANI_INDIA                                                          = 0x01
 14858  	SUBLANG_KOREAN                                                                 = 0x01
 14859  	SUBLANG_KYRGYZ_KYRGYZSTAN                                                      = 0x01
 14860  	SUBLANG_LAO_LAO                                                                = 0x01
 14861  	SUBLANG_LAO_LAO_PDR                                                            = 1
 14862  	SUBLANG_LATVIAN_LATVIA                                                         = 0x01
 14863  	SUBLANG_LITHUANIAN                                                             = 0x01
 14864  	SUBLANG_LOWER_SORBIAN_GERMANY                                                  = 0x02
 14865  	SUBLANG_LUXEMBOURGISH_LUXEMBOURG                                               = 0x01
 14866  	SUBLANG_MACEDONIAN_MACEDONIA                                                   = 0x01
 14867  	SUBLANG_MALAYALAM_INDIA                                                        = 0x01
 14868  	SUBLANG_MALAY_BRUNEI_DARUSSALAM                                                = 0x02
 14869  	SUBLANG_MALAY_MALAYSIA                                                         = 0x01
 14870  	SUBLANG_MALTESE_MALTA                                                          = 0x01
 14871  	SUBLANG_MAORI_NEW_ZEALAND                                                      = 0x01
 14872  	SUBLANG_MAPUDUNGUN_CHILE                                                       = 0x01
 14873  	SUBLANG_MARATHI_INDIA                                                          = 0x01
 14874  	SUBLANG_MOHAWK_MOHAWK                                                          = 0x01
 14875  	SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA                                            = 0x01
 14876  	SUBLANG_MONGOLIAN_PRC                                                          = 0x02
 14877  	SUBLANG_NEPALI_INDIA                                                           = 0x02
 14878  	SUBLANG_NEPALI_NEPAL                                                           = 0x01
 14879  	SUBLANG_NEUTRAL                                                                = 0x00
 14880  	SUBLANG_NORWEGIAN_BOKMAL                                                       = 0x01
 14881  	SUBLANG_NORWEGIAN_NYNORSK                                                      = 0x02
 14882  	SUBLANG_OCCITAN_FRANCE                                                         = 0x01
 14883  	SUBLANG_ORIYA_INDIA                                                            = 0x01
 14884  	SUBLANG_PASHTO_AFGHANISTAN                                                     = 0x01
 14885  	SUBLANG_PERSIAN_IRAN                                                           = 0x01
 14886  	SUBLANG_POLISH_POLAND                                                          = 0x01
 14887  	SUBLANG_PORTUGUESE                                                             = 0x02
 14888  	SUBLANG_PORTUGUESE_BRAZILIAN                                                   = 0x01
 14889  	SUBLANG_PULAR_SENEGAL                                                          = 0x02
 14890  	SUBLANG_PUNJABI_INDIA                                                          = 0x01
 14891  	SUBLANG_PUNJABI_PAKISTAN                                                       = 0x02
 14892  	SUBLANG_QUECHUA_BOLIVIA                                                        = 0x01
 14893  	SUBLANG_QUECHUA_ECUADOR                                                        = 0x02
 14894  	SUBLANG_QUECHUA_PERU                                                           = 0x03
 14895  	SUBLANG_ROMANIAN_ROMANIA                                                       = 0x01
 14896  	SUBLANG_ROMANSH_SWITZERLAND                                                    = 0x01
 14897  	SUBLANG_RUSSIAN_RUSSIA                                                         = 0x01
 14898  	SUBLANG_SAKHA_RUSSIA                                                           = 0x01
 14899  	SUBLANG_SAMI_INARI_FINLAND                                                     = 0x09
 14900  	SUBLANG_SAMI_LULE_NORWAY                                                       = 0x04
 14901  	SUBLANG_SAMI_LULE_SWEDEN                                                       = 0x05
 14902  	SUBLANG_SAMI_NORTHERN_FINLAND                                                  = 0x03
 14903  	SUBLANG_SAMI_NORTHERN_NORWAY                                                   = 0x01
 14904  	SUBLANG_SAMI_NORTHERN_SWEDEN                                                   = 0x02
 14905  	SUBLANG_SAMI_SKOLT_FINLAND                                                     = 0x08
 14906  	SUBLANG_SAMI_SOUTHERN_NORWAY                                                   = 0x06
 14907  	SUBLANG_SAMI_SOUTHERN_SWEDEN                                                   = 0x07
 14908  	SUBLANG_SANSKRIT_INDIA                                                         = 0x01
 14909  	SUBLANG_SCOTTISH_GAELIC                                                        = 0x01
 14910  	SUBLANG_SERBIAN_BOSNIA_HERZEGOVINA_CYRILLIC                                    = 0x07
 14911  	SUBLANG_SERBIAN_BOSNIA_HERZEGOVINA_LATIN                                       = 0x06
 14912  	SUBLANG_SERBIAN_CYRILLIC                                                       = 0x03
 14913  	SUBLANG_SERBIAN_LATIN                                                          = 0x02
 14914  	SUBLANG_SERBIAN_MONTENEGRO_CYRILLIC                                            = 0x0c
 14915  	SUBLANG_SERBIAN_MONTENEGRO_LATIN                                               = 0x0b
 14916  	SUBLANG_SERBIAN_SERBIA_CYRILLIC                                                = 0x0a
 14917  	SUBLANG_SERBIAN_SERBIA_LATIN                                                   = 0x09
 14918  	SUBLANG_SINDHI_AFGHANISTAN                                                     = 0x02
 14919  	SUBLANG_SINDHI_INDIA                                                           = 0x01
 14920  	SUBLANG_SINDHI_PAKISTAN                                                        = 0x02
 14921  	SUBLANG_SINHALESE_SRI_LANKA                                                    = 0x01
 14922  	SUBLANG_SLOVAK_SLOVAKIA                                                        = 0x01
 14923  	SUBLANG_SLOVENIAN_SLOVENIA                                                     = 0x01
 14924  	SUBLANG_SOTHO_NORTHERN_SOUTH_AFRICA                                            = 0x01
 14925  	SUBLANG_SPANISH                                                                = 0x01
 14926  	SUBLANG_SPANISH_ARGENTINA                                                      = 0x0b
 14927  	SUBLANG_SPANISH_BOLIVIA                                                        = 0x10
 14928  	SUBLANG_SPANISH_CHILE                                                          = 0x0d
 14929  	SUBLANG_SPANISH_COLOMBIA                                                       = 0x09
 14930  	SUBLANG_SPANISH_COSTA_RICA                                                     = 0x05
 14931  	SUBLANG_SPANISH_DOMINICAN_REPUBLIC                                             = 0x07
 14932  	SUBLANG_SPANISH_ECUADOR                                                        = 0x0c
 14933  	SUBLANG_SPANISH_EL_SALVADOR                                                    = 0x11
 14934  	SUBLANG_SPANISH_GUATEMALA                                                      = 0x04
 14935  	SUBLANG_SPANISH_HONDURAS                                                       = 0x12
 14936  	SUBLANG_SPANISH_MEXICAN                                                        = 0x02
 14937  	SUBLANG_SPANISH_MODERN                                                         = 0x03
 14938  	SUBLANG_SPANISH_NICARAGUA                                                      = 0x13
 14939  	SUBLANG_SPANISH_PANAMA                                                         = 0x06
 14940  	SUBLANG_SPANISH_PARAGUAY                                                       = 0x0f
 14941  	SUBLANG_SPANISH_PERU                                                           = 0x0a
 14942  	SUBLANG_SPANISH_PUERTO_RICO                                                    = 0x14
 14943  	SUBLANG_SPANISH_URUGUAY                                                        = 0x0e
 14944  	SUBLANG_SPANISH_US                                                             = 0x15
 14945  	SUBLANG_SPANISH_VENEZUELA                                                      = 0x08
 14946  	SUBLANG_SWAHILI_KENYA                                                          = 0x01
 14947  	SUBLANG_SWEDISH                                                                = 0x01
 14948  	SUBLANG_SWEDISH_FINLAND                                                        = 0x02
 14949  	SUBLANG_SYRIAC                                                                 = 0x01
 14950  	SUBLANG_SYRIAC_SYRIA                                                           = 1
 14951  	SUBLANG_SYS_DEFAULT                                                            = 0x02
 14952  	SUBLANG_TAJIK_TAJIKISTAN                                                       = 0x01
 14953  	SUBLANG_TAMAZIGHT_ALGERIA_LATIN                                                = 0x02
 14954  	SUBLANG_TAMAZIGHT_MOROCCO_TIFINAGH                                             = 0x04
 14955  	SUBLANG_TAMIL_INDIA                                                            = 0x01
 14956  	SUBLANG_TAMIL_SRI_LANKA                                                        = 0x02
 14957  	SUBLANG_TATAR_RUSSIA                                                           = 0x01
 14958  	SUBLANG_TELUGU_INDIA                                                           = 0x01
 14959  	SUBLANG_THAI_THAILAND                                                          = 0x01
 14960  	SUBLANG_TIBETAN_BHUTAN                                                         = 0x02
 14961  	SUBLANG_TIBETAN_PRC                                                            = 0x01
 14962  	SUBLANG_TIGRIGNA_ERITREA                                                       = 0x02
 14963  	SUBLANG_TIGRINYA_ERITREA                                                       = 0x02
 14964  	SUBLANG_TIGRINYA_ETHIOPIA                                                      = 0x01
 14965  	SUBLANG_TSWANA_BOTSWANA                                                        = 0x02
 14966  	SUBLANG_TSWANA_SOUTH_AFRICA                                                    = 0x01
 14967  	SUBLANG_TURKISH_TURKEY                                                         = 0x01
 14968  	SUBLANG_TURKMEN_TURKMENISTAN                                                   = 0x01
 14969  	SUBLANG_UIGHUR_PRC                                                             = 0x01
 14970  	SUBLANG_UI_CUSTOM_DEFAULT                                                      = 0x05
 14971  	SUBLANG_UKRAINIAN_UKRAINE                                                      = 0x01
 14972  	SUBLANG_UPPER_SORBIAN_GERMANY                                                  = 0x01
 14973  	SUBLANG_URDU_INDIA                                                             = 0x02
 14974  	SUBLANG_URDU_PAKISTAN                                                          = 0x01
 14975  	SUBLANG_UZBEK_CYRILLIC                                                         = 0x02
 14976  	SUBLANG_UZBEK_LATIN                                                            = 0x01
 14977  	SUBLANG_VALENCIAN_VALENCIA                                                     = 0x02
 14978  	SUBLANG_VIETNAMESE_VIETNAM                                                     = 0x01
 14979  	SUBLANG_WELSH_UNITED_KINGDOM                                                   = 0x01
 14980  	SUBLANG_WOLOF_SENEGAL                                                          = 0x01
 14981  	SUBLANG_XHOSA_SOUTH_AFRICA                                                     = 0x01
 14982  	SUBLANG_YAKUT_RUSSIA                                                           = 0x01
 14983  	SUBLANG_YI_PRC                                                                 = 0x01
 14984  	SUBLANG_YORUBA_NIGERIA                                                         = 0x01
 14985  	SUBLANG_ZULU_SOUTH_AFRICA                                                      = 0x01
 14986  	SUBVERSION_MASK                                                                = 0x000000FF
 14987  	SUCCESSFUL_ACCESS_ACE_FLAG                                                     = 64
 14988  	SUPPORT_LANG_NUMBER                                                            = 32
 14989  	SWP_ASYNCWINDOWPOS                                                             = 0x4000
 14990  	SWP_DEFERERASE                                                                 = 0x2000
 14991  	SWP_DRAWFRAME                                                                  = 32
 14992  	SWP_FRAMECHANGED                                                               = 0x0020
 14993  	SWP_HIDEWINDOW                                                                 = 0x0080
 14994  	SWP_NOACTIVATE                                                                 = 0x0010
 14995  	SWP_NOCOPYBITS                                                                 = 0x0100
 14996  	SWP_NOMOVE                                                                     = 0x0002
 14997  	SWP_NOOWNERZORDER                                                              = 0x0200
 14998  	SWP_NOREDRAW                                                                   = 0x0008
 14999  	SWP_NOREPOSITION                                                               = 512
 15000  	SWP_NOSENDCHANGING                                                             = 0x0400
 15001  	SWP_NOSIZE                                                                     = 0x0001
 15002  	SWP_NOZORDER                                                                   = 0x0004
 15003  	SWP_SHOWWINDOW                                                                 = 0x0040
 15004  	SW_ERASE                                                                       = 0x0004
 15005  	SW_FORCEMINIMIZE                                                               = 11
 15006  	SW_HIDE                                                                        = 0
 15007  	SW_INVALIDATE                                                                  = 0x0002
 15008  	SW_MAX                                                                         = 11
 15009  	SW_MAXIMIZE                                                                    = 3
 15010  	SW_MINIMIZE                                                                    = 6
 15011  	SW_NORMAL                                                                      = 1
 15012  	SW_OTHERUNZOOM                                                                 = 4
 15013  	SW_OTHERZOOM                                                                   = 2
 15014  	SW_PARENTCLOSING                                                               = 1
 15015  	SW_PARENTOPENING                                                               = 3
 15016  	SW_RESTORE                                                                     = 9
 15017  	SW_SCROLLCHILDREN                                                              = 0x0001
 15018  	SW_SHOW                                                                        = 5
 15019  	SW_SHOWDEFAULT                                                                 = 10
 15020  	SW_SHOWMAXIMIZED                                                               = 3
 15021  	SW_SHOWMINIMIZED                                                               = 2
 15022  	SW_SHOWMINNOACTIVE                                                             = 7
 15023  	SW_SHOWNA                                                                      = 8
 15024  	SW_SHOWNOACTIVATE                                                              = 4
 15025  	SW_SHOWNORMAL                                                                  = 1
 15026  	SW_SMOOTHSCROLL                                                                = 0x0010
 15027  	SYMBOL_CHARSET                                                                 = 2
 15028  	SYMLINK_FLAG_RELATIVE                                                          = 1
 15029  	SYMMETRICWRAPKEYBLOB                                                           = 0xb
 15030  	SYNCHRONIZATION_BARRIER_FLAGS_BLOCK_ONLY                                       = 0x02
 15031  	SYNCHRONIZATION_BARRIER_FLAGS_NO_DELETE                                        = 0x04
 15032  	SYNCHRONIZATION_BARRIER_FLAGS_SPIN_ONLY                                        = 0x01
 15033  	SYNCHRONIZE                                                                    = 1048576
 15034  	SYSPAL_ERROR                                                                   = 0
 15035  	SYSPAL_NOSTATIC                                                                = 2
 15036  	SYSPAL_NOSTATIC256                                                             = 3
 15037  	SYSPAL_STATIC                                                                  = 1
 15038  	SYSRGN                                                                         = 4
 15039  	SYSTEM_ALARM_ACE_TYPE                                                          = 3
 15040  	SYSTEM_ALARM_CALLBACK_ACE_TYPE                                                 = 14
 15041  	SYSTEM_ALARM_CALLBACK_OBJECT_ACE_TYPE                                          = 16
 15042  	SYSTEM_ALARM_OBJECT_ACE_TYPE                                                   = 8
 15043  	SYSTEM_AUDIT_ACE_TYPE                                                          = 2
 15044  	SYSTEM_AUDIT_CALLBACK_ACE_TYPE                                                 = 13
 15045  	SYSTEM_AUDIT_CALLBACK_OBJECT_ACE_TYPE                                          = 15
 15046  	SYSTEM_AUDIT_OBJECT_ACE_TYPE                                                   = 7
 15047  	SYSTEM_CACHE_ALIGNMENT_SIZE                                                    = 64
 15048  	SYSTEM_FIXED_FONT                                                              = 16
 15049  	SYSTEM_FONT                                                                    = 13
 15050  	SYSTEM_MANDATORY_LABEL_ACE_TYPE                                                = 17
 15051  	SYSTEM_MANDATORY_LABEL_NO_EXECUTE_UP                                           = 0x4
 15052  	SYSTEM_MANDATORY_LABEL_NO_READ_UP                                              = 0x2
 15053  	SYSTEM_MANDATORY_LABEL_NO_WRITE_UP                                             = 0x1
 15054  	SYSTEM_MANDATORY_LABEL_VALID_MASK                                              = 7
 15055  	SYSTEM_RESOURCE_ATTRIBUTE_ACE_TYPE                                             = 18
 15056  	SYSTEM_SCOPED_POLICY_ID_ACE_TYPE                                               = 19
 15057  	S_ALLTHRESHOLD                                                                 = 2
 15058  	S_IEXEC                                                                        = 64
 15059  	S_IFBLK                                                                        = 12288
 15060  	S_IFCHR                                                                        = 8192
 15061  	S_IFDIR                                                                        = 16384
 15062  	S_IFIFO                                                                        = 4096
 15063  	S_IFMT                                                                         = 61440
 15064  	S_IFREG                                                                        = 32768
 15065  	S_IREAD                                                                        = 256
 15066  	S_IRGRP                                                                        = 32
 15067  	S_IROTH                                                                        = 4
 15068  	S_IRUSR                                                                        = 256
 15069  	S_IRWXG                                                                        = 56
 15070  	S_IRWXO                                                                        = 7
 15071  	S_IRWXU                                                                        = 448
 15072  	S_IWGRP                                                                        = 16
 15073  	S_IWOTH                                                                        = 2
 15074  	S_IWRITE                                                                       = 128
 15075  	S_IWUSR                                                                        = 128
 15076  	S_IXGRP                                                                        = 8
 15077  	S_IXOTH                                                                        = 1
 15078  	S_IXUSR                                                                        = 64
 15079  	S_LEGATO                                                                       = 1
 15080  	S_NORMAL                                                                       = 0
 15081  	S_PERIOD1024                                                                   = 1
 15082  	S_PERIOD2048                                                                   = 2
 15083  	S_PERIOD512                                                                    = 0
 15084  	S_PERIODVOICE                                                                  = 3
 15085  	S_QUEUEEMPTY                                                                   = 0
 15086  	S_SERBDNT                                                                      = -5
 15087  	S_SERDCC                                                                       = -7
 15088  	S_SERDDR                                                                       = -14
 15089  	S_SERDFQ                                                                       = -13
 15090  	S_SERDLN                                                                       = -6
 15091  	S_SERDMD                                                                       = -10
 15092  	S_SERDPT                                                                       = -12
 15093  	S_SERDSH                                                                       = -11
 15094  	S_SERDSR                                                                       = -15
 15095  	S_SERDST                                                                       = -16
 15096  	S_SERDTP                                                                       = -8
 15097  	S_SERDVL                                                                       = -9
 15098  	S_SERDVNA                                                                      = -1
 15099  	S_SERMACT                                                                      = -3
 15100  	S_SEROFM                                                                       = -2
 15101  	S_SERQFUL                                                                      = -4
 15102  	S_STACCATO                                                                     = 2
 15103  	S_THRESHOLD                                                                    = 1
 15104  	S_WHITE1024                                                                    = 5
 15105  	S_WHITE2048                                                                    = 6
 15106  	S_WHITE512                                                                     = 4
 15107  	S_WHITEVOICE                                                                   = 7
 15108  	TAPE_ABSOLUTE_BLOCK                                                            = 1
 15109  	TAPE_ABSOLUTE_POSITION                                                         = 0
 15110  	TAPE_CHECK_FOR_DRIVE_PROBLEM                                                   = 2
 15111  	TAPE_DRIVE_ABSOLUTE_BLK                                                        = 0x80001000
 15112  	TAPE_DRIVE_ABS_BLK_IMMED                                                       = 0x80002000
 15113  	TAPE_DRIVE_CLEAN_REQUESTS                                                      = 0x02000000
 15114  	TAPE_DRIVE_COMPRESSION                                                         = 0x00020000
 15115  	TAPE_DRIVE_ECC                                                                 = 0x00010000
 15116  	TAPE_DRIVE_EJECT_MEDIA                                                         = 0x01000000
 15117  	TAPE_DRIVE_END_OF_DATA                                                         = 0x80010000
 15118  	TAPE_DRIVE_EOT_WZ_SIZE                                                         = 0x00002000
 15119  	TAPE_DRIVE_ERASE_BOP_ONLY                                                      = 0x00000040
 15120  	TAPE_DRIVE_ERASE_IMMEDIATE                                                     = 0x00000080
 15121  	TAPE_DRIVE_ERASE_LONG                                                          = 0x00000020
 15122  	TAPE_DRIVE_ERASE_SHORT                                                         = 0x00000010
 15123  	TAPE_DRIVE_FILEMARKS                                                           = 0x80040000
 15124  	TAPE_DRIVE_FIXED                                                               = 0x00000001
 15125  	TAPE_DRIVE_FIXED_BLOCK                                                         = 0x00000400
 15126  	TAPE_DRIVE_FORMAT                                                              = 0xA0000000
 15127  	TAPE_DRIVE_FORMAT_IMMEDIATE                                                    = 0xC0000000
 15128  	TAPE_DRIVE_GET_ABSOLUTE_BLK                                                    = 0x00100000
 15129  	TAPE_DRIVE_GET_LOGICAL_BLK                                                     = 0x00200000
 15130  	TAPE_DRIVE_HIGH_FEATURES                                                       = 0x80000000
 15131  	TAPE_DRIVE_INITIATOR                                                           = 0x00000004
 15132  	TAPE_DRIVE_LOAD_UNLD_IMMED                                                     = 0x80000020
 15133  	TAPE_DRIVE_LOAD_UNLOAD                                                         = 0x80000001
 15134  	TAPE_DRIVE_LOCK_UNLK_IMMED                                                     = 0x80000080
 15135  	TAPE_DRIVE_LOCK_UNLOCK                                                         = 0x80000004
 15136  	TAPE_DRIVE_LOGICAL_BLK                                                         = 0x80004000
 15137  	TAPE_DRIVE_LOG_BLK_IMMED                                                       = 0x80008000
 15138  	TAPE_DRIVE_PADDING                                                             = 0x00040000
 15139  	TAPE_DRIVE_RELATIVE_BLKS                                                       = 0x80020000
 15140  	TAPE_DRIVE_REPORT_SMKS                                                         = 0x00080000
 15141  	TAPE_DRIVE_RESERVED_BIT                                                        = 0x80000000
 15142  	TAPE_DRIVE_REVERSE_POSITION                                                    = 0x80400000
 15143  	TAPE_DRIVE_REWIND_IMMEDIATE                                                    = 0x80000008
 15144  	TAPE_DRIVE_SELECT                                                              = 0x00000002
 15145  	TAPE_DRIVE_SEQUENTIAL_FMKS                                                     = 0x80080000
 15146  	TAPE_DRIVE_SEQUENTIAL_SMKS                                                     = 0x80200000
 15147  	TAPE_DRIVE_SETMARKS                                                            = 0x80100000
 15148  	TAPE_DRIVE_SET_BLOCK_SIZE                                                      = 0x80000010
 15149  	TAPE_DRIVE_SET_CMP_BOP_ONLY                                                    = 0x04000000
 15150  	TAPE_DRIVE_SET_COMPRESSION                                                     = 0x80000200
 15151  	TAPE_DRIVE_SET_ECC                                                             = 0x80000100
 15152  	TAPE_DRIVE_SET_EOT_WZ_SIZE                                                     = 0x00400000
 15153  	TAPE_DRIVE_SET_PADDING                                                         = 0x80000400
 15154  	TAPE_DRIVE_SET_REPORT_SMKS                                                     = 0x80000800
 15155  	TAPE_DRIVE_SPACE_IMMEDIATE                                                     = 0x80800000
 15156  	TAPE_DRIVE_TAPE_CAPACITY                                                       = 0x00000100
 15157  	TAPE_DRIVE_TAPE_REMAINING                                                      = 0x00000200
 15158  	TAPE_DRIVE_TENSION                                                             = 0x80000002
 15159  	TAPE_DRIVE_TENSION_IMMED                                                       = 0x80000040
 15160  	TAPE_DRIVE_VARIABLE_BLOCK                                                      = 0x00000800
 15161  	TAPE_DRIVE_WRITE_FILEMARKS                                                     = 0x82000000
 15162  	TAPE_DRIVE_WRITE_LONG_FMKS                                                     = 0x88000000
 15163  	TAPE_DRIVE_WRITE_MARK_IMMED                                                    = 0x90000000
 15164  	TAPE_DRIVE_WRITE_PROTECT                                                       = 0x00001000
 15165  	TAPE_DRIVE_WRITE_SETMARKS                                                      = 0x81000000
 15166  	TAPE_DRIVE_WRITE_SHORT_FMKS                                                    = 0x84000000
 15167  	TAPE_ERASE_LONG                                                                = 1
 15168  	TAPE_ERASE_SHORT                                                               = 0
 15169  	TAPE_FILEMARKS                                                                 = 1
 15170  	TAPE_FIXED_PARTITIONS                                                          = 0
 15171  	TAPE_FORMAT                                                                    = 5
 15172  	TAPE_INITIATOR_PARTITIONS                                                      = 2
 15173  	TAPE_LOAD                                                                      = 0
 15174  	TAPE_LOCK                                                                      = 3
 15175  	TAPE_LOGICAL_BLOCK                                                             = 2
 15176  	TAPE_LOGICAL_POSITION                                                          = 1
 15177  	TAPE_LONG_FILEMARKS                                                            = 3
 15178  	TAPE_PSEUDO_LOGICAL_BLOCK                                                      = 3
 15179  	TAPE_PSEUDO_LOGICAL_POSITION                                                   = 2
 15180  	TAPE_QUERY_DEVICE_ERROR_DATA                                                   = 4
 15181  	TAPE_QUERY_DRIVE_PARAMETERS                                                    = 0
 15182  	TAPE_QUERY_IO_ERROR_DATA                                                       = 3
 15183  	TAPE_QUERY_MEDIA_CAPACITY                                                      = 1
 15184  	TAPE_RESET_STATISTICS                                                          = 2
 15185  	TAPE_RETURN_ENV_INFO                                                           = 1
 15186  	TAPE_RETURN_STATISTICS                                                         = 0
 15187  	TAPE_REWIND                                                                    = 0
 15188  	TAPE_SELECT_PARTITIONS                                                         = 1
 15189  	TAPE_SETMARKS                                                                  = 0
 15190  	TAPE_SHORT_FILEMARKS                                                           = 2
 15191  	TAPE_SPACE_END_OF_DATA                                                         = 4
 15192  	TAPE_SPACE_FILEMARKS                                                           = 6
 15193  	TAPE_SPACE_RELATIVE_BLOCKS                                                     = 5
 15194  	TAPE_SPACE_SEQUENTIAL_FMKS                                                     = 7
 15195  	TAPE_SPACE_SEQUENTIAL_SMKS                                                     = 9
 15196  	TAPE_SPACE_SETMARKS                                                            = 8
 15197  	TAPE_TENSION                                                                   = 2
 15198  	TAPE_UNLOAD                                                                    = 1
 15199  	TAPE_UNLOCK                                                                    = 4
 15200  	TARGET_IS_NT351_OR_WIN95_OR_LATER                                              = 1
 15201  	TARGET_IS_NT40_OR_LATER                                                        = 1
 15202  	TARGET_IS_NT50_OR_LATER                                                        = 1
 15203  	TARGET_IS_NT51_OR_LATER                                                        = 1
 15204  	TARGET_IS_NT60_OR_LATER                                                        = 0
 15205  	TARGET_IS_NT61_OR_LATER                                                        = 0
 15206  	TA_BASELINE                                                                    = 24
 15207  	TA_BOTTOM                                                                      = 8
 15208  	TA_CENTER                                                                      = 6
 15209  	TA_LEFT                                                                        = 0
 15210  	TA_MASK                                                                        = 287
 15211  	TA_NOUPDATECP                                                                  = 0
 15212  	TA_RIGHT                                                                       = 2
 15213  	TA_RTLREADING                                                                  = 256
 15214  	TA_TOP                                                                         = 0
 15215  	TA_UPDATECP                                                                    = 1
 15216  	TCI_SRCCHARSET                                                                 = 1
 15217  	TCI_SRCCODEPAGE                                                                = 2
 15218  	TCI_SRCFONTSIG                                                                 = 3
 15219  	TCI_SRCLOCALE                                                                  = 0x1000
 15220  	TCP_BSDURGENT                                                                  = 0x7000
 15221  	TCP_NODELAY                                                                    = 0x0001
 15222  	TC_CP_STROKE                                                                   = 0x00000004
 15223  	TC_CR_90                                                                       = 0x00000008
 15224  	TC_CR_ANY                                                                      = 0x00000010
 15225  	TC_EA_DOUBLE                                                                   = 0x00000200
 15226  	TC_GP_TRAP                                                                     = 2
 15227  	TC_HARDERR                                                                     = 1
 15228  	TC_IA_ABLE                                                                     = 0x00000400
 15229  	TC_NORMAL                                                                      = 0
 15230  	TC_OP_CHARACTER                                                                = 0x00000001
 15231  	TC_OP_STROKE                                                                   = 0x00000002
 15232  	TC_RA_ABLE                                                                     = 0x00002000
 15233  	TC_RESERVED                                                                    = 0x00008000
 15234  	TC_SA_CONTIN                                                                   = 0x00000100
 15235  	TC_SA_DOUBLE                                                                   = 0x00000040
 15236  	TC_SA_INTEGER                                                                  = 0x00000080
 15237  	TC_SCROLLBLT                                                                   = 0x00010000
 15238  	TC_SF_X_YINDEP                                                                 = 0x00000020
 15239  	TC_SIGNAL                                                                      = 3
 15240  	TC_SO_ABLE                                                                     = 0x00001000
 15241  	TC_UA_ABLE                                                                     = 0x00000800
 15242  	TC_VA_ABLE                                                                     = 0x00004000
 15243  	TECHNOLOGY                                                                     = 2
 15244  	TEXTCAPS                                                                       = 34
 15245  	TF_DISCONNECT                                                                  = 0x01
 15246  	TF_REUSE_SOCKET                                                                = 0x02
 15247  	TF_WRITE_BEHIND                                                                = 0x04
 15248  	THAI_CHARSET                                                                   = 222
 15249  	THREAD_ALL_ACCESS                                                              = 2032639
 15250  	THREAD_BASE_PRIORITY_IDLE                                                      = -15
 15251  	THREAD_BASE_PRIORITY_LOWRT                                                     = 15
 15252  	THREAD_BASE_PRIORITY_MAX                                                       = 2
 15253  	THREAD_BASE_PRIORITY_MIN                                                       = -2
 15254  	THREAD_DIRECT_IMPERSONATION                                                    = 512
 15255  	THREAD_GET_CONTEXT                                                             = 8
 15256  	THREAD_IMPERSONATE                                                             = 256
 15257  	THREAD_MODE_BACKGROUND_BEGIN                                                   = 0x00010000
 15258  	THREAD_MODE_BACKGROUND_END                                                     = 0x00020000
 15259  	THREAD_PRIORITY_ABOVE_NORMAL                                                   = 1
 15260  	THREAD_PRIORITY_BELOW_NORMAL                                                   = -1
 15261  	THREAD_PRIORITY_ERROR_RETURN                                                   = 2147483647
 15262  	THREAD_PRIORITY_HIGHEST                                                        = 2
 15263  	THREAD_PRIORITY_IDLE                                                           = -15
 15264  	THREAD_PRIORITY_LOWEST                                                         = -2
 15265  	THREAD_PRIORITY_NORMAL                                                         = 0
 15266  	THREAD_PRIORITY_TIME_CRITICAL                                                  = 15
 15267  	THREAD_PROFILING_FLAG_DISPATCH                                                 = 0x1
 15268  	THREAD_QUERY_INFORMATION                                                       = 64
 15269  	THREAD_QUERY_LIMITED_INFORMATION                                               = 2048
 15270  	THREAD_SET_CONTEXT                                                             = 16
 15271  	THREAD_SET_INFORMATION                                                         = 32
 15272  	THREAD_SET_LIMITED_INFORMATION                                                 = 1024
 15273  	THREAD_SET_THREAD_TOKEN                                                        = 128
 15274  	THREAD_SUSPEND_RESUME                                                          = 2
 15275  	THREAD_TERMINATE                                                               = 1
 15276  	TIMEOUT_ASYNC                                                                  = 0xFFFFFFFF
 15277  	TIMERR_BASE                                                                    = 96
 15278  	TIMERR_NOCANDO                                                                 = 97
 15279  	TIMERR_NOERROR                                                                 = 0
 15280  	TIMERR_STRUCT                                                                  = 129
 15281  	TIMER_ABSTIME                                                                  = 1
 15282  	TIMER_ALL_ACCESS                                                               = 2031619
 15283  	TIMER_MODIFY_STATE                                                             = 0x0002
 15284  	TIMER_QUERY_STATE                                                              = 0x0001
 15285  	TIME_BYTES                                                                     = 0x0004
 15286  	TIME_CALLBACK_EVENT_PULSE                                                      = 0x0020
 15287  	TIME_CALLBACK_EVENT_SET                                                        = 0x0010
 15288  	TIME_CALLBACK_FUNCTION                                                         = 0x0000
 15289  	TIME_FORCE24HOURFORMAT                                                         = 0x00000008
 15290  	TIME_KILL_SYNCHRONOUS                                                          = 0x0100
 15291  	TIME_MIDI                                                                      = 0x0010
 15292  	TIME_MS                                                                        = 0x0001
 15293  	TIME_NOMINUTESORSECONDS                                                        = 0x00000001
 15294  	TIME_NOSECONDS                                                                 = 0x00000002
 15295  	TIME_NOTIMEMARKER                                                              = 0x00000004
 15296  	TIME_ONESHOT                                                                   = 0x0000
 15297  	TIME_PERIODIC                                                                  = 0x0001
 15298  	TIME_SAMPLES                                                                   = 0x0002
 15299  	TIME_SMPTE                                                                     = 0x0008
 15300  	TIME_TICKS                                                                     = 0x0020
 15301  	TIME_VALID_OID_FLUSH_OBJECT_FUNC                                               = "TimeValidDllFlushObject"
 15302  	TIME_VALID_OID_GET_OBJECT_FUNC                                                 = "TimeValidDllGetObject"
 15303  	TIME_ZONE_ID_DAYLIGHT                                                          = 2
 15304  	TIME_ZONE_ID_STANDARD                                                          = 1
 15305  	TIME_ZONE_ID_UNKNOWN                                                           = 0
 15306  	TKF_AVAILABLE                                                                  = 0x00000002
 15307  	TKF_CONFIRMHOTKEY                                                              = 0x00000008
 15308  	TKF_HOTKEYACTIVE                                                               = 0x00000004
 15309  	TKF_HOTKEYSOUND                                                                = 0x00000010
 15310  	TKF_INDICATOR                                                                  = 0x00000020
 15311  	TKF_TOGGLEKEYSON                                                               = 0x00000001
 15312  	TLS_MINIMUM_AVAILABLE                                                          = 64
 15313  	TME_CANCEL                                                                     = 0x80000000
 15314  	TME_HOVER                                                                      = 0x00000001
 15315  	TME_LEAVE                                                                      = 0x00000002
 15316  	TME_NONCLIENT                                                                  = 0x00000010
 15317  	TME_QUERY                                                                      = 0x40000000
 15318  	TMPF_DEVICE                                                                    = 0x08
 15319  	TMPF_FIXED_PITCH                                                               = 0x01
 15320  	TMPF_TRUETYPE                                                                  = 0x04
 15321  	TMPF_VECTOR                                                                    = 0x02
 15322  	TOKEN_ADJUST_DEFAULT                                                           = 128
 15323  	TOKEN_ADJUST_GROUPS                                                            = 64
 15324  	TOKEN_ADJUST_PRIVILEGES                                                        = 32
 15325  	TOKEN_ADJUST_SESSIONID                                                         = 256
 15326  	TOKEN_ALL_ACCESS                                                               = 983551
 15327  	TOKEN_ALL_ACCESS_P                                                             = 983295
 15328  	TOKEN_ASSIGN_PRIMARY                                                           = 1
 15329  	TOKEN_DUPLICATE                                                                = 2
 15330  	TOKEN_EXECUTE                                                                  = 131072
 15331  	TOKEN_IMPERSONATE                                                              = 4
 15332  	TOKEN_MANDATORY_POLICY_NEW_PROCESS_MIN                                         = 0x2
 15333  	TOKEN_MANDATORY_POLICY_NO_WRITE_UP                                             = 0x1
 15334  	TOKEN_MANDATORY_POLICY_OFF                                                     = 0x0
 15335  	TOKEN_MANDATORY_POLICY_VALID_MASK                                              = 3
 15336  	TOKEN_QUERY                                                                    = 8
 15337  	TOKEN_QUERY_SOURCE                                                             = 16
 15338  	TOKEN_READ                                                                     = 131080
 15339  	TOKEN_SOURCE_LENGTH                                                            = 8
 15340  	TOKEN_WRITE                                                                    = 131296
 15341  	TPM_BOTTOMALIGN                                                                = 32
 15342  	TPM_CENTERALIGN                                                                = 4
 15343  	TPM_HORIZONTAL                                                                 = 0
 15344  	TPM_HORNEGANIMATION                                                            = 2048
 15345  	TPM_HORPOSANIMATION                                                            = 1024
 15346  	TPM_LAYOUTRTL                                                                  = 32768
 15347  	TPM_LEFTALIGN                                                                  = 0
 15348  	TPM_LEFTBUTTON                                                                 = 0
 15349  	TPM_NOANIMATION                                                                = 16384
 15350  	TPM_NONOTIFY                                                                   = 128
 15351  	TPM_RECURSE                                                                    = 1
 15352  	TPM_RETURNCMD                                                                  = 256
 15353  	TPM_RIGHTALIGN                                                                 = 8
 15354  	TPM_RIGHTBUTTON                                                                = 2
 15355  	TPM_TOPALIGN                                                                   = 0
 15356  	TPM_VCENTERALIGN                                                               = 16
 15357  	TPM_VERNEGANIMATION                                                            = 8192
 15358  	TPM_VERPOSANIMATION                                                            = 4096
 15359  	TPM_VERTICAL                                                                   = 64
 15360  	TRANSACTIONMANAGER_ALL_ACCESS                                                  = 983103
 15361  	TRANSACTIONMANAGER_BIND_TRANSACTION                                            = 0x00020
 15362  	TRANSACTIONMANAGER_CREATE_RM                                                   = 0x00010
 15363  	TRANSACTIONMANAGER_GENERIC_EXECUTE                                             = 131072
 15364  	TRANSACTIONMANAGER_GENERIC_READ                                                = 131073
 15365  	TRANSACTIONMANAGER_GENERIC_WRITE                                               = 131102
 15366  	TRANSACTIONMANAGER_QUERY_INFORMATION                                           = 0x00001
 15367  	TRANSACTIONMANAGER_RECOVER                                                     = 0x00004
 15368  	TRANSACTIONMANAGER_RENAME                                                      = 0x00008
 15369  	TRANSACTIONMANAGER_SET_INFORMATION                                             = 0x00002
 15370  	TRANSACTION_ALL_ACCESS                                                         = 2031679
 15371  	TRANSACTION_COMMIT                                                             = 8
 15372  	TRANSACTION_DO_NOT_PROMOTE                                                     = 0x00000001
 15373  	TRANSACTION_ENLIST                                                             = 4
 15374  	TRANSACTION_GENERIC_EXECUTE                                                    = 1179672
 15375  	TRANSACTION_GENERIC_READ                                                       = 1179649
 15376  	TRANSACTION_GENERIC_WRITE                                                      = 1179710
 15377  	TRANSACTION_MANAGER_COMMIT_DEFAULT                                             = 0x00000000
 15378  	TRANSACTION_MANAGER_COMMIT_LOWEST                                              = 0x00000008
 15379  	TRANSACTION_MANAGER_COMMIT_SYSTEM_HIVES                                        = 0x00000004
 15380  	TRANSACTION_MANAGER_COMMIT_SYSTEM_VOLUME                                       = 0x00000002
 15381  	TRANSACTION_MANAGER_CORRUPT_FOR_PROGRESS                                       = 0x00000020
 15382  	TRANSACTION_MANAGER_CORRUPT_FOR_RECOVERY                                       = 0x00000010
 15383  	TRANSACTION_MANAGER_MAXIMUM_OPTION                                             = 0x0000003f
 15384  	TRANSACTION_MANAGER_VOLATILE                                                   = 0x00000001
 15385  	TRANSACTION_MAXIMUM_OPTION                                                     = 0x00000001
 15386  	TRANSACTION_NOTIFICATION_TM_ONLINE_FLAG_IS_CLUSTERED                           = 0x1
 15387  	TRANSACTION_NOTIFY_COMMIT                                                      = 0x00000004
 15388  	TRANSACTION_NOTIFY_COMMIT_COMPLETE                                             = 0x00000040
 15389  	TRANSACTION_NOTIFY_COMMIT_FINALIZE                                             = 0x40000000
 15390  	TRANSACTION_NOTIFY_COMMIT_REQUEST                                              = 0x04000000
 15391  	TRANSACTION_NOTIFY_DELEGATE_COMMIT                                             = 0x00000400
 15392  	TRANSACTION_NOTIFY_ENLIST_MASK                                                 = 0x00040000
 15393  	TRANSACTION_NOTIFY_ENLIST_PREPREPARE                                           = 0x00001000
 15394  	TRANSACTION_NOTIFY_INDOUBT                                                     = 0x00004000
 15395  	TRANSACTION_NOTIFY_LAST_RECOVER                                                = 0x00002000
 15396  	TRANSACTION_NOTIFY_MARSHAL                                                     = 0x00020000
 15397  	TRANSACTION_NOTIFY_MASK                                                        = 0x3fffffff
 15398  	TRANSACTION_NOTIFY_PREPARE                                                     = 0x00000002
 15399  	TRANSACTION_NOTIFY_PREPARE_COMPLETE                                            = 0x00000020
 15400  	TRANSACTION_NOTIFY_PREPREPARE                                                  = 0x00000001
 15401  	TRANSACTION_NOTIFY_PREPREPARE_COMPLETE                                         = 0x00000010
 15402  	TRANSACTION_NOTIFY_PROMOTE                                                     = 0x08000000
 15403  	TRANSACTION_NOTIFY_PROMOTE_NEW                                                 = 0x10000000
 15404  	TRANSACTION_NOTIFY_PROPAGATE_PULL                                              = 0x00008000
 15405  	TRANSACTION_NOTIFY_PROPAGATE_PUSH                                              = 0x00010000
 15406  	TRANSACTION_NOTIFY_RECOVER                                                     = 0x00000100
 15407  	TRANSACTION_NOTIFY_RECOVER_QUERY                                               = 0x00000800
 15408  	TRANSACTION_NOTIFY_REQUEST_OUTCOME                                             = 0x20000000
 15409  	TRANSACTION_NOTIFY_RM_DISCONNECTED                                             = 0x01000000
 15410  	TRANSACTION_NOTIFY_ROLLBACK                                                    = 0x00000008
 15411  	TRANSACTION_NOTIFY_ROLLBACK_COMPLETE                                           = 0x00000080
 15412  	TRANSACTION_NOTIFY_SINGLE_PHASE_COMMIT                                         = 0x00000200
 15413  	TRANSACTION_NOTIFY_TM_ONLINE                                                   = 0x02000000
 15414  	TRANSACTION_PROPAGATE                                                          = 32
 15415  	TRANSACTION_QUERY_INFORMATION                                                  = 1
 15416  	TRANSACTION_RESOURCE_MANAGER_RIGHTS                                            = 1179703
 15417  	TRANSACTION_RIGHT_RESERVED1                                                    = 64
 15418  	TRANSACTION_ROLLBACK                                                           = 16
 15419  	TRANSACTION_SET_INFORMATION                                                    = 2
 15420  	TRANSFORM_CTM                                                                  = 4107
 15421  	TRANSPARENT                                                                    = 1
 15422  	TRANSPORT_TYPE_CN                                                              = 0x01
 15423  	TRANSPORT_TYPE_DG                                                              = 0x02
 15424  	TRANSPORT_TYPE_LPC                                                             = 0x04
 15425  	TRANSPORT_TYPE_WMSG                                                            = 0x08
 15426  	TRUE                                                                           = 1
 15427  	TRUETYPE_FONTTYPE                                                              = 0x004
 15428  	TRUNCATE_EXISTING                                                              = 5
 15429  	TRY_AGAIN                                                                      = 11002
 15430  	TT_AVAILABLE                                                                   = 0x0001
 15431  	TT_ENABLED                                                                     = 0x0002
 15432  	TT_OPENTYPE_FONTTYPE                                                           = 0x20000
 15433  	TT_POLYGON_TYPE                                                                = 24
 15434  	TT_PRIM_CSPLINE                                                                = 3
 15435  	TT_PRIM_LINE                                                                   = 1
 15436  	TT_PRIM_QSPLINE                                                                = 2
 15437  	TURKISH_CHARSET                                                                = 162
 15438  	TWOSTOPBITS                                                                    = 2
 15439  	TYPE1_FONTTYPE                                                                 = 0x40000
 15440  	UAS_EXACTLEGACY                                                                = 0x1000
 15441  	UCLEANUI                                                                       = 67108864
 15442  	UDIRTYUI                                                                       = 134217728
 15443  	UISF_ACTIVE                                                                    = 0x4
 15444  	UISF_HIDEACCEL                                                                 = 0x2
 15445  	UISF_HIDEFOCUS                                                                 = 0x1
 15446  	UIS_CLEAR                                                                      = 2
 15447  	UIS_INITIALIZE                                                                 = 3
 15448  	UIS_SET                                                                        = 1
 15449  	UI_CAP_2700                                                                    = 0x00000001
 15450  	UI_CAP_ROT90                                                                   = 0x00000002
 15451  	UI_CAP_ROTANY                                                                  = 0x00000004
 15452  	ULW_ALPHA                                                                      = 0x00000002
 15453  	ULW_COLORKEY                                                                   = 0x00000001
 15454  	ULW_EX_NORESIZE                                                                = 0x00000008
 15455  	ULW_OPAQUE                                                                     = 0x00000004
 15456  	UNALIGNED64                                                                    = 0
 15457  	UNDEFINE_ALTERNATE                                                             = 0xD
 15458  	UNDEFINE_PRIMARY                                                               = 0xC
 15459  	UNICODE_NOCHAR                                                                 = 0xFFFF
 15460  	UNICODE_STRING_MAX_CHARS                                                       = 32767
 15461  	UNIQUE_NAME                                                                    = 0x00
 15462  	UNIVERSAL_NAME_INFO_LEVEL                                                      = 0x00000001
 15463  	UNLOAD_DLL_DEBUG_EVENT                                                         = 7
 15464  	UNLOCK_ELEMENT                                                                 = 1
 15465  	UNPROTECTED_DACL_SECURITY_INFORMATION                                          = 536870912
 15466  	UNPROTECTED_SACL_SECURITY_INFORMATION                                          = 268435456
 15467  	UNRECOVERED_READS_VALID                                                        = 0x00000008
 15468  	UNRECOVERED_WRITES_VALID                                                       = 0x00000002
 15469  	UNWIND_HISTORY_TABLE_GLOBAL                                                    = 1
 15470  	UNWIND_HISTORY_TABLE_LOCAL                                                     = 2
 15471  	UNWIND_HISTORY_TABLE_NONE                                                      = 0
 15472  	UNWIND_HISTORY_TABLE_SIZE                                                      = 12
 15473  	UNW_FLAG_CHAININFO                                                             = 0x4
 15474  	UNW_FLAG_EHANDLER                                                              = 0x1
 15475  	UNW_FLAG_NHANDLER                                                              = 0x0
 15476  	UNW_FLAG_UHANDLER                                                              = 0x2
 15477  	UOI_FLAGS                                                                      = 1
 15478  	UOI_NAME                                                                       = 2
 15479  	UOI_TIMERPROC_EXCEPTION_SUPPRESSION                                            = 7
 15480  	UOI_TYPE                                                                       = 3
 15481  	UOI_USER_SID                                                                   = 4
 15482  	UPDFCACHE_IFBLANK                                                              = 16
 15483  	UPDFCACHE_IFBLANKORONSAVECACHE                                                 = 18
 15484  	UPDFCACHE_NODATACACHE                                                          = 1
 15485  	UPDFCACHE_NORMALCACHE                                                          = 8
 15486  	UPDFCACHE_ONLYIFBLANK                                                          = 2147483648
 15487  	UPDFCACHE_ONSAVECACHE                                                          = 2
 15488  	UPDFCACHE_ONSTOPCACHE                                                          = 4
 15489  	UPOINTER_32                                                                    = 0
 15490  	URLACTION_ACTIVEX_CONFIRM_NOOBJECTSAFETY                                       = 0x1204
 15491  	URLACTION_ACTIVEX_CURR_MAX                                                     = 0x120B
 15492  	URLACTION_ACTIVEX_DYNSRC_VIDEO_AND_ANIMATION                                   = 0x120A
 15493  	URLACTION_ACTIVEX_MAX                                                          = 0x13ff
 15494  	URLACTION_ACTIVEX_MIN                                                          = 0x1200
 15495  	URLACTION_ACTIVEX_NO_WEBOC_SCRIPT                                              = 0x1206
 15496  	URLACTION_ACTIVEX_OVERRIDE_DATA_SAFETY                                         = 0x1202
 15497  	URLACTION_ACTIVEX_OVERRIDE_DOMAINLIST                                          = 0x120B
 15498  	URLACTION_ACTIVEX_OVERRIDE_OBJECT_SAFETY                                       = 0x1201
 15499  	URLACTION_ACTIVEX_OVERRIDE_OPTIN                                               = 0x1208
 15500  	URLACTION_ACTIVEX_OVERRIDE_REPURPOSEDETECTION                                  = 0x1207
 15501  	URLACTION_ACTIVEX_OVERRIDE_SCRIPT_SAFETY                                       = 0x1203
 15502  	URLACTION_ACTIVEX_RUN                                                          = 0x1200
 15503  	URLACTION_ACTIVEX_SCRIPTLET_RUN                                                = 0x1209
 15504  	URLACTION_ACTIVEX_TREATASUNTRUSTED                                             = 0x1205
 15505  	URLACTION_ALLOW_ACTIVEX_FILTERING                                              = 0x2702
 15506  	URLACTION_ALLOW_AUDIO_VIDEO                                                    = 0x2701
 15507  	URLACTION_ALLOW_AUDIO_VIDEO_PLUGINS                                            = 0x2704
 15508  	URLACTION_ALLOW_CROSSDOMAIN_APPCACHE_MANIFEST                                  = 0x270A
 15509  	URLACTION_ALLOW_CROSSDOMAIN_DROP_ACROSS_WINDOWS                                = 0x2709
 15510  	URLACTION_ALLOW_CROSSDOMAIN_DROP_WITHIN_WINDOW                                 = 0x2708
 15511  	URLACTION_ALLOW_RENDER_LEGACY_DXTFILTERS                                       = 0x270B
 15512  	URLACTION_ALLOW_STRUCTURED_STORAGE_SNIFFING                                    = 0x2703
 15513  	URLACTION_ALLOW_XDOMAIN_SUBFRAME_RESIZE                                        = 0x1408
 15514  	URLACTION_ALLOW_ZONE_ELEVATION_OPT_OUT_ADDITION                                = 0x2706
 15515  	URLACTION_ALLOW_ZONE_ELEVATION_VIA_OPT_OUT                                     = 0x2705
 15516  	URLACTION_AUTHENTICATE_CLIENT                                                  = 0x1A01
 15517  	URLACTION_CHANNEL_SOFTDIST_MAX                                                 = 0x1Eff
 15518  	URLACTION_CHANNEL_SOFTDIST_MIN                                                 = 0x1E00
 15519  	URLACTION_CHANNEL_SOFTDIST_PERMISSIONS                                         = 0x1E05
 15520  	URLACTION_CLIENT_CERT_PROMPT                                                   = 0x1A04
 15521  	URLACTION_COOKIES                                                              = 0x1A02
 15522  	URLACTION_COOKIES_ENABLED                                                      = 0x1A10
 15523  	URLACTION_COOKIES_SESSION                                                      = 0x1A03
 15524  	URLACTION_COOKIES_SESSION_THIRD_PARTY                                          = 0x1A06
 15525  	URLACTION_COOKIES_THIRD_PARTY                                                  = 0x1A05
 15526  	URLACTION_CREDENTIALS_USE                                                      = 0x1A00
 15527  	URLACTION_CROSS_DOMAIN_DATA                                                    = 0x1406
 15528  	URLACTION_DOWNLOAD_CURR_MAX                                                    = 0x1004
 15529  	URLACTION_DOWNLOAD_MAX                                                         = 0x11FF
 15530  	URLACTION_DOWNLOAD_MIN                                                         = 0x1000
 15531  	URLACTION_DOWNLOAD_SIGNED_ACTIVEX                                              = 0x1001
 15532  	URLACTION_DOWNLOAD_UNSIGNED_ACTIVEX                                            = 0x1004
 15533  	URLACTION_HTML_ALLOW_CROSS_DOMAIN_CANVAS                                       = 0x160D
 15534  	URLACTION_HTML_ALLOW_CROSS_DOMAIN_TEXTTRACK                                    = 0x1610
 15535  	URLACTION_HTML_ALLOW_CROSS_DOMAIN_WEBWORKER                                    = 0x160F
 15536  	URLACTION_HTML_ALLOW_INDEXEDDB                                                 = 0x1611
 15537  	URLACTION_HTML_ALLOW_INJECTED_DYNAMIC_HTML                                     = 0x160B
 15538  	URLACTION_HTML_ALLOW_WINDOW_CLOSE                                              = 0x160E
 15539  	URLACTION_HTML_FONT_DOWNLOAD                                                   = 0x1604
 15540  	URLACTION_HTML_INCLUDE_FILE_PATH                                               = 0x160A
 15541  	URLACTION_HTML_JAVA_RUN                                                        = 0x1605
 15542  	URLACTION_HTML_MAX                                                             = 0x17ff
 15543  	URLACTION_HTML_META_REFRESH                                                    = 0x1608
 15544  	URLACTION_HTML_MIN                                                             = 0x1600
 15545  	URLACTION_HTML_MIXED_CONTENT                                                   = 0x1609
 15546  	URLACTION_HTML_REQUIRE_UTF8_DOCUMENT_CODEPAGE                                  = 0x160C
 15547  	URLACTION_HTML_SUBFRAME_NAVIGATE                                               = 0x1607
 15548  	URLACTION_HTML_SUBMIT_FORMS                                                    = 0x1601
 15549  	URLACTION_HTML_SUBMIT_FORMS_FROM                                               = 0x1602
 15550  	URLACTION_HTML_SUBMIT_FORMS_TO                                                 = 0x1603
 15551  	URLACTION_HTML_USERDATA_SAVE                                                   = 0x1606
 15552  	URLACTION_INFODELIVERY_CURR_MAX                                                = 0x1D06
 15553  	URLACTION_INFODELIVERY_MAX                                                     = 0x1Dff
 15554  	URLACTION_INFODELIVERY_MIN                                                     = 0x1D00
 15555  	URLACTION_INFODELIVERY_NO_ADDING_CHANNELS                                      = 0x1D00
 15556  	URLACTION_INFODELIVERY_NO_ADDING_SUBSCRIPTIONS                                 = 0x1D03
 15557  	URLACTION_INFODELIVERY_NO_CHANNEL_LOGGING                                      = 0x1D06
 15558  	URLACTION_INFODELIVERY_NO_EDITING_CHANNELS                                     = 0x1D01
 15559  	URLACTION_INFODELIVERY_NO_EDITING_SUBSCRIPTIONS                                = 0x1D04
 15560  	URLACTION_INFODELIVERY_NO_REMOVING_CHANNELS                                    = 0x1D02
 15561  	URLACTION_INFODELIVERY_NO_REMOVING_SUBSCRIPTIONS                               = 0x1D05
 15562  	URLACTION_JAVA_CURR_MAX                                                        = 0x1C00
 15563  	URLACTION_JAVA_MAX                                                             = 0x1Cff
 15564  	URLACTION_JAVA_MIN                                                             = 0x1C00
 15565  	URLACTION_JAVA_PERMISSIONS                                                     = 0x1C00
 15566  	URLACTION_MIN                                                                  = 0x1000
 15567  	URLACTION_NETWORK_CURR_MAX                                                     = 0x1A10
 15568  	URLACTION_NETWORK_MAX                                                          = 0x1Bff
 15569  	URLACTION_NETWORK_MIN                                                          = 0x1A00
 15570  	URLACTION_PLUGGABLE_PROTOCOL_XHR                                               = 0x140B
 15571  	URLACTION_SCRIPT_CURR_MAX                                                      = 0x140B
 15572  	URLACTION_SCRIPT_JAVA_USE                                                      = 0x1402
 15573  	URLACTION_SCRIPT_MAX                                                           = 0x15ff
 15574  	URLACTION_SCRIPT_MIN                                                           = 0x1400
 15575  	URLACTION_SCRIPT_NAVIGATE                                                      = 0x140A
 15576  	URLACTION_SCRIPT_OVERRIDE_SAFETY                                               = 0x1401
 15577  	URLACTION_SCRIPT_PASTE                                                         = 0x1407
 15578  	URLACTION_SCRIPT_RUN                                                           = 0x1400
 15579  	URLACTION_SCRIPT_SAFE_ACTIVEX                                                  = 0x1405
 15580  	URLACTION_SCRIPT_XSSFILTER                                                     = 0x1409
 15581  	URLACTION_SHELL_CURR_MAX                                                       = 0x1811
 15582  	URLACTION_SHELL_FILE_DOWNLOAD                                                  = 0x1803
 15583  	URLACTION_SHELL_INSTALL_DTITEMS                                                = 0x1800
 15584  	URLACTION_SHELL_MAX                                                            = 0x19ff
 15585  	URLACTION_SHELL_MIN                                                            = 0x1800
 15586  	URLACTION_SHELL_MOVE_OR_COPY                                                   = 0x1802
 15587  	URLACTION_SHELL_SHELLEXECUTE                                                   = 0x1806
 15588  	URLACTION_SHELL_VERB                                                           = 0x1804
 15589  	URLACTION_SHELL_WEBVIEW_VERB                                                   = 0x1805
 15590  	URLMON_OPTION_URL_ENCODING                                                     = 0x10000004
 15591  	URLMON_OPTION_USERAGENT                                                        = 0x10000001
 15592  	URLMON_OPTION_USERAGENT_REFRESH                                                = 0x10000002
 15593  	URLOSTRM_GETNEWESTVERSION                                                      = 0x3
 15594  	URLOSTRM_USECACHEDCOPY                                                         = 0x2
 15595  	URLOSTRM_USECACHEDCOPY_ONLY                                                    = 0x1
 15596  	URLPOLICY_ACTIVEX_CHECK_LIST                                                   = 0x10000
 15597  	URLPOLICY_ALLOW                                                                = 0x0
 15598  	URLPOLICY_AUTHENTICATE_CHALLENGE_RESPONSE                                      = 0x10000
 15599  	URLPOLICY_AUTHENTICATE_CLEARTEXT_OK                                            = 0x0
 15600  	URLPOLICY_AUTHENTICATE_MUTUAL_ONLY                                             = 0x30000
 15601  	URLPOLICY_CHANNEL_SOFTDIST_AUTOINSTALL                                         = 0x30000
 15602  	URLPOLICY_CHANNEL_SOFTDIST_PRECACHE                                            = 0x20000
 15603  	URLPOLICY_CHANNEL_SOFTDIST_PROHIBIT                                            = 0x10000
 15604  	URLPOLICY_CREDENTIALS_ANONYMOUS_ONLY                                           = 0x30000
 15605  	URLPOLICY_CREDENTIALS_CONDITIONAL_PROMPT                                       = 0x20000
 15606  	URLPOLICY_CREDENTIALS_MUST_PROMPT_USER                                         = 0x10000
 15607  	URLPOLICY_CREDENTIALS_SILENT_LOGON_OK                                          = 0x0
 15608  	URLPOLICY_DISALLOW                                                             = 0x3
 15609  	URLPOLICY_DONTCHECKDLGBOX                                                      = 0x100
 15610  	URLPOLICY_JAVA_CUSTOM                                                          = 0x800000
 15611  	URLPOLICY_JAVA_HIGH                                                            = 0x10000
 15612  	URLPOLICY_JAVA_LOW                                                             = 0x30000
 15613  	URLPOLICY_JAVA_MEDIUM                                                          = 0x20000
 15614  	URLPOLICY_JAVA_PROHIBIT                                                        = 0x0
 15615  	URLPOLICY_LOG_ON_ALLOW                                                         = 0x40
 15616  	URLPOLICY_LOG_ON_DISALLOW                                                      = 0x80
 15617  	URLPOLICY_MASK_PERMISSIONS                                                     = 0x0f
 15618  	URLPOLICY_NOTIFY_ON_ALLOW                                                      = 0x10
 15619  	URLPOLICY_NOTIFY_ON_DISALLOW                                                   = 0x20
 15620  	URLPOLICY_QUERY                                                                = 0x1
 15621  	URLZONE_ESC_FLAG                                                               = 0x100
 15622  	URL_MK_LEGACY                                                                  = 0
 15623  	URL_MK_NO_CANONICALIZE                                                         = 2
 15624  	URL_MK_UNIFORM                                                                 = 1
 15625  	URL_OID_GET_OBJECT_URL_FUNC                                                    = "UrlDllGetObjectUrl"
 15626  	USAGE_MATCH_TYPE_AND                                                           = 0x0
 15627  	USAGE_MATCH_TYPE_OR                                                            = 0x1
 15628  	USER_CALL_IS_ASYNC                                                             = 0x0100
 15629  	USER_CALL_NEW_CORRELATION_DESC                                                 = 0x0200
 15630  	USER_MARSHAL_CB_SIGNATURE                                                      = 85
 15631  	USER_MARSHAL_FC_BYTE                                                           = 1
 15632  	USER_MARSHAL_FC_CHAR                                                           = 2
 15633  	USER_MARSHAL_FC_DOUBLE                                                         = 12
 15634  	USER_MARSHAL_FC_FLOAT                                                          = 10
 15635  	USER_MARSHAL_FC_HYPER                                                          = 11
 15636  	USER_MARSHAL_FC_LONG                                                           = 8
 15637  	USER_MARSHAL_FC_SHORT                                                          = 6
 15638  	USER_MARSHAL_FC_SMALL                                                          = 3
 15639  	USER_MARSHAL_FC_ULONG                                                          = 9
 15640  	USER_MARSHAL_FC_USHORT                                                         = 7
 15641  	USER_MARSHAL_FC_USMALL                                                         = 4
 15642  	USER_MARSHAL_FC_WCHAR                                                          = 5
 15643  	USER_TIMER_MAXIMUM                                                             = 0x7FFFFFFF
 15644  	USER_TIMER_MINIMUM                                                             = 0x0000000A
 15645  	USN_DELETE_FLAG_DELETE                                                         = 1
 15646  	USN_DELETE_FLAG_NOTIFY                                                         = 2
 15647  	USN_DELETE_VALID_FLAGS                                                         = 3
 15648  	USN_PAGE_SIZE                                                                  = 4096
 15649  	USN_REASON_BASIC_INFO_CHANGE                                                   = 32768
 15650  	USN_REASON_CLOSE                                                               = 2147483648
 15651  	USN_REASON_COMPRESSION_CHANGE                                                  = 131072
 15652  	USN_REASON_DATA_EXTEND                                                         = 2
 15653  	USN_REASON_DATA_OVERWRITE                                                      = 1
 15654  	USN_REASON_DATA_TRUNCATION                                                     = 4
 15655  	USN_REASON_EA_CHANGE                                                           = 1024
 15656  	USN_REASON_ENCRYPTION_CHANGE                                                   = 262144
 15657  	USN_REASON_FILE_CREATE                                                         = 256
 15658  	USN_REASON_FILE_DELETE                                                         = 512
 15659  	USN_REASON_HARD_LINK_CHANGE                                                    = 65536
 15660  	USN_REASON_INDEXABLE_CHANGE                                                    = 16384
 15661  	USN_REASON_NAMED_DATA_EXTEND                                                   = 32
 15662  	USN_REASON_NAMED_DATA_OVERWRITE                                                = 16
 15663  	USN_REASON_NAMED_DATA_TRUNCATION                                               = 64
 15664  	USN_REASON_OBJECT_ID_CHANGE                                                    = 524288
 15665  	USN_REASON_RENAME_NEW_NAME                                                     = 8192
 15666  	USN_REASON_RENAME_OLD_NAME                                                     = 4096
 15667  	USN_REASON_REPARSE_POINT_CHANGE                                                = 1048576
 15668  	USN_REASON_SECURITY_CHANGE                                                     = 2048
 15669  	USN_REASON_STREAM_CHANGE                                                       = 2097152
 15670  	USN_SOURCE_AUXILIARY_DATA                                                      = 2
 15671  	USN_SOURCE_DATA_MANAGEMENT                                                     = 1
 15672  	USN_SOURCE_REPLICATION_MANAGEMENT                                              = 4
 15673  	UUID_DEFINED                                                                   = 0
 15674  	VALID_INHERIT_FLAGS                                                            = 31
 15675  	VALID_NTFT                                                                     = 0xC0
 15676  	VARCMP_EQ                                                                      = 1
 15677  	VARCMP_GT                                                                      = 2
 15678  	VARCMP_LT                                                                      = 0
 15679  	VARCMP_NULL                                                                    = 3
 15680  	VARIABLE_PITCH                                                                 = 2
 15681  	VARIANT_ALPHABOOL                                                              = 0x02
 15682  	VARIANT_CALENDAR_GREGORIAN                                                     = 0x40
 15683  	VARIANT_CALENDAR_HIJRI                                                         = 0x08
 15684  	VARIANT_CALENDAR_THAI                                                          = 0x20
 15685  	VARIANT_LOCALBOOL                                                              = 0x10
 15686  	VARIANT_NOUSEROVERRIDE                                                         = 0x04
 15687  	VARIANT_NOVALUEPROP                                                            = 0x01
 15688  	VARIANT_USE_NLS                                                                = 0x80
 15689  	VENDOR_ID_LENGTH                                                               = 8
 15690  	VERTRES                                                                        = 10
 15691  	VERTSIZE                                                                       = 6
 15692  	VER_AND                                                                        = 6
 15693  	VER_BUILDNUMBER                                                                = 0x0000004
 15694  	VER_CONDITION_MASK                                                             = 7
 15695  	VER_EQUAL                                                                      = 1
 15696  	VER_GREATER                                                                    = 2
 15697  	VER_GREATER_EQUAL                                                              = 3
 15698  	VER_H                                                                          = 0
 15699  	VER_LESS                                                                       = 4
 15700  	VER_LESS_EQUAL                                                                 = 5
 15701  	VER_MAJORVERSION                                                               = 0x0000002
 15702  	VER_MINORVERSION                                                               = 0x0000001
 15703  	VER_NT_DOMAIN_CONTROLLER                                                       = 0x0000002
 15704  	VER_NT_SERVER                                                                  = 0x0000003
 15705  	VER_NT_WORKSTATION                                                             = 0x0000001
 15706  	VER_NUM_BITS_PER_CONDITION_MASK                                                = 3
 15707  	VER_OR                                                                         = 7
 15708  	VER_PLATFORMID                                                                 = 0x0000008
 15709  	VER_PLATFORM_WIN32_NT                                                          = 2
 15710  	VER_PLATFORM_WIN32_WINDOWS                                                     = 1
 15711  	VER_PLATFORM_WIN32s                                                            = 0
 15712  	VER_PRODUCT_TYPE                                                               = 0x0000080
 15713  	VER_SERVER_NT                                                                  = 0x80000000
 15714  	VER_SERVICEPACKMAJOR                                                           = 0x0000020
 15715  	VER_SERVICEPACKMINOR                                                           = 0x0000010
 15716  	VER_SUITENAME                                                                  = 0x0000040
 15717  	VER_SUITE_BACKOFFICE                                                           = 0x00000004
 15718  	VER_SUITE_BLADE                                                                = 0x00000400
 15719  	VER_SUITE_COMMUNICATIONS                                                       = 0x00000008
 15720  	VER_SUITE_COMPUTE_SERVER                                                       = 0x00004000
 15721  	VER_SUITE_DATACENTER                                                           = 0x00000080
 15722  	VER_SUITE_EMBEDDEDNT                                                           = 0x00000040
 15723  	VER_SUITE_EMBEDDED_RESTRICTED                                                  = 0x00000800
 15724  	VER_SUITE_ENTERPRISE                                                           = 0x00000002
 15725  	VER_SUITE_PERSONAL                                                             = 0x00000200
 15726  	VER_SUITE_SECURITY_APPLIANCE                                                   = 0x00001000
 15727  	VER_SUITE_SINGLEUSERTS                                                         = 0x00000100
 15728  	VER_SUITE_SMALLBUSINESS                                                        = 0x00000001
 15729  	VER_SUITE_SMALLBUSINESS_RESTRICTED                                             = 0x00000020
 15730  	VER_SUITE_STORAGE_SERVER                                                       = 0x00002000
 15731  	VER_SUITE_TERMINAL                                                             = 0x00000010
 15732  	VER_SUITE_WH_SERVER                                                            = 0x00008000
 15733  	VER_WORKSTATION_NT                                                             = 0x40000000
 15734  	VFFF_ISSHAREDFILE                                                              = 0x0001
 15735  	VFF_BUFFTOOSMALL                                                               = 0x0004
 15736  	VFF_CURNEDEST                                                                  = 0x0001
 15737  	VFF_FILEINUSE                                                                  = 0x0002
 15738  	VFT2_DRV_COMM                                                                  = 10
 15739  	VFT2_DRV_DISPLAY                                                               = 4
 15740  	VFT2_DRV_INPUTMETHOD                                                           = 11
 15741  	VFT2_DRV_INSTALLABLE                                                           = 8
 15742  	VFT2_DRV_KEYBOARD                                                              = 2
 15743  	VFT2_DRV_LANGUAGE                                                              = 3
 15744  	VFT2_DRV_MOUSE                                                                 = 5
 15745  	VFT2_DRV_NETWORK                                                               = 6
 15746  	VFT2_DRV_PRINTER                                                               = 1
 15747  	VFT2_DRV_SOUND                                                                 = 9
 15748  	VFT2_DRV_SYSTEM                                                                = 7
 15749  	VFT2_DRV_VERSIONED_PRINTER                                                     = 12
 15750  	VFT2_FONT_RASTER                                                               = 1
 15751  	VFT2_FONT_TRUETYPE                                                             = 3
 15752  	VFT2_FONT_VECTOR                                                               = 2
 15753  	VFT2_UNKNOWN                                                                   = 0
 15754  	VFT_APP                                                                        = 1
 15755  	VFT_DLL                                                                        = 2
 15756  	VFT_DRV                                                                        = 3
 15757  	VFT_FONT                                                                       = 4
 15758  	VFT_STATIC_LIB                                                                 = 7
 15759  	VFT_UNKNOWN                                                                    = 0
 15760  	VFT_VXD                                                                        = 5
 15761  	VIETNAMESE_CHARSET                                                             = 163
 15762  	VIEW_E_FIRST                                                                   = 2147746112
 15763  	VIEW_E_LAST                                                                    = 2147746127
 15764  	VIEW_S_FIRST                                                                   = 262464
 15765  	VIEW_S_LAST                                                                    = 262479
 15766  	VIFF_DONTDELETEOLD                                                             = 0x0002
 15767  	VIFF_FORCEINSTALL                                                              = 0x0001
 15768  	VIF_ACCESSVIOLATION                                                            = 512
 15769  	VIF_BUFFTOOSMALL                                                               = 262144
 15770  	VIF_CANNOTCREATE                                                               = 2048
 15771  	VIF_CANNOTDELETE                                                               = 4096
 15772  	VIF_CANNOTDELETECUR                                                            = 16384
 15773  	VIF_CANNOTLOADCABINET                                                          = 1048576
 15774  	VIF_CANNOTLOADLZ32                                                             = 524288
 15775  	VIF_CANNOTREADDST                                                              = 131072
 15776  	VIF_CANNOTREADSRC                                                              = 65536
 15777  	VIF_CANNOTRENAME                                                               = 8192
 15778  	VIF_DIFFCODEPG                                                                 = 16
 15779  	VIF_DIFFLANG                                                                   = 8
 15780  	VIF_DIFFTYPE                                                                   = 32
 15781  	VIF_FILEINUSE                                                                  = 128
 15782  	VIF_MISMATCH                                                                   = 2
 15783  	VIF_OUTOFMEMORY                                                                = 32768
 15784  	VIF_OUTOFSPACE                                                                 = 256
 15785  	VIF_SHARINGVIOLATION                                                           = 1024
 15786  	VIF_SRCOLD                                                                     = 4
 15787  	VIF_TEMPFILE                                                                   = 1
 15788  	VIF_WRITEPROT                                                                  = 64
 15789  	VK_ACCEPT                                                                      = 0x1E
 15790  	VK_ADD                                                                         = 0x6B
 15791  	VK_APPS                                                                        = 0x5D
 15792  	VK_ATTN                                                                        = 0xF6
 15793  	VK_BACK                                                                        = 0x08
 15794  	VK_BROWSER_BACK                                                                = 0xA6
 15795  	VK_BROWSER_FAVORITES                                                           = 0xAB
 15796  	VK_BROWSER_FORWARD                                                             = 0xA7
 15797  	VK_BROWSER_HOME                                                                = 0xAC
 15798  	VK_BROWSER_REFRESH                                                             = 0xA8
 15799  	VK_BROWSER_SEARCH                                                              = 0xAA
 15800  	VK_BROWSER_STOP                                                                = 0xA9
 15801  	VK_CANCEL                                                                      = 0x03
 15802  	VK_CAPITAL                                                                     = 0x14
 15803  	VK_CLEAR                                                                       = 0x0C
 15804  	VK_CONTROL                                                                     = 0x11
 15805  	VK_CONVERT                                                                     = 0x1C
 15806  	VK_CRSEL                                                                       = 0xF7
 15807  	VK_DECIMAL                                                                     = 0x6E
 15808  	VK_DELETE                                                                      = 0x2E
 15809  	VK_DIVIDE                                                                      = 0x6F
 15810  	VK_DOWN                                                                        = 0x28
 15811  	VK_END                                                                         = 0x23
 15812  	VK_EREOF                                                                       = 0xF9
 15813  	VK_ESCAPE                                                                      = 0x1B
 15814  	VK_EXECUTE                                                                     = 0x2B
 15815  	VK_EXSEL                                                                       = 0xF8
 15816  	VK_F1                                                                          = 0x70
 15817  	VK_F10                                                                         = 0x79
 15818  	VK_F11                                                                         = 0x7A
 15819  	VK_F12                                                                         = 0x7B
 15820  	VK_F13                                                                         = 0x7C
 15821  	VK_F14                                                                         = 0x7D
 15822  	VK_F15                                                                         = 0x7E
 15823  	VK_F16                                                                         = 0x7F
 15824  	VK_F17                                                                         = 0x80
 15825  	VK_F18                                                                         = 0x81
 15826  	VK_F19                                                                         = 0x82
 15827  	VK_F2                                                                          = 0x71
 15828  	VK_F20                                                                         = 0x83
 15829  	VK_F21                                                                         = 0x84
 15830  	VK_F22                                                                         = 0x85
 15831  	VK_F23                                                                         = 0x86
 15832  	VK_F24                                                                         = 0x87
 15833  	VK_F3                                                                          = 0x72
 15834  	VK_F4                                                                          = 0x73
 15835  	VK_F5                                                                          = 0x74
 15836  	VK_F6                                                                          = 0x75
 15837  	VK_F7                                                                          = 0x76
 15838  	VK_F8                                                                          = 0x77
 15839  	VK_F9                                                                          = 0x78
 15840  	VK_FINAL                                                                       = 0x18
 15841  	VK_HANGEUL                                                                     = 0x15
 15842  	VK_HANGUL                                                                      = 0x15
 15843  	VK_HANJA                                                                       = 0x19
 15844  	VK_HELP                                                                        = 0x2F
 15845  	VK_HOME                                                                        = 0x24
 15846  	VK_ICO_00                                                                      = 0xE4
 15847  	VK_ICO_CLEAR                                                                   = 0xE6
 15848  	VK_ICO_HELP                                                                    = 0xE3
 15849  	VK_IME_OFF                                                                     = 0x1A
 15850  	VK_IME_ON                                                                      = 0x16
 15851  	VK_INSERT                                                                      = 0x2D
 15852  	VK_JUNJA                                                                       = 0x17
 15853  	VK_KANA                                                                        = 0x15
 15854  	VK_KANJI                                                                       = 0x19
 15855  	VK_LAUNCH_APP1                                                                 = 0xB6
 15856  	VK_LAUNCH_APP2                                                                 = 0xB7
 15857  	VK_LAUNCH_MAIL                                                                 = 0xB4
 15858  	VK_LAUNCH_MEDIA_SELECT                                                         = 0xB5
 15859  	VK_LBUTTON                                                                     = 0x01
 15860  	VK_LCONTROL                                                                    = 0xA2
 15861  	VK_LEFT                                                                        = 0x25
 15862  	VK_LMENU                                                                       = 0xA4
 15863  	VK_LSHIFT                                                                      = 0xA0
 15864  	VK_LWIN                                                                        = 0x5B
 15865  	VK_MBUTTON                                                                     = 0x04
 15866  	VK_MEDIA_NEXT_TRACK                                                            = 0xB0
 15867  	VK_MEDIA_PLAY_PAUSE                                                            = 0xB3
 15868  	VK_MEDIA_PREV_TRACK                                                            = 0xB1
 15869  	VK_MEDIA_STOP                                                                  = 0xB2
 15870  	VK_MENU                                                                        = 0x12
 15871  	VK_MODECHANGE                                                                  = 0x1F
 15872  	VK_MULTIPLY                                                                    = 0x6A
 15873  	VK_NEXT                                                                        = 0x22
 15874  	VK_NONAME                                                                      = 0xFC
 15875  	VK_NONCONVERT                                                                  = 0x1D
 15876  	VK_NUMLOCK                                                                     = 0x90
 15877  	VK_NUMPAD0                                                                     = 0x60
 15878  	VK_NUMPAD1                                                                     = 0x61
 15879  	VK_NUMPAD2                                                                     = 0x62
 15880  	VK_NUMPAD3                                                                     = 0x63
 15881  	VK_NUMPAD4                                                                     = 0x64
 15882  	VK_NUMPAD5                                                                     = 0x65
 15883  	VK_NUMPAD6                                                                     = 0x66
 15884  	VK_NUMPAD7                                                                     = 0x67
 15885  	VK_NUMPAD8                                                                     = 0x68
 15886  	VK_NUMPAD9                                                                     = 0x69
 15887  	VK_OEM_1                                                                       = 0xBA
 15888  	VK_OEM_102                                                                     = 0xE2
 15889  	VK_OEM_2                                                                       = 0xBF
 15890  	VK_OEM_3                                                                       = 0xC0
 15891  	VK_OEM_4                                                                       = 0xDB
 15892  	VK_OEM_5                                                                       = 0xDC
 15893  	VK_OEM_6                                                                       = 0xDD
 15894  	VK_OEM_7                                                                       = 0xDE
 15895  	VK_OEM_8                                                                       = 0xDF
 15896  	VK_OEM_ATTN                                                                    = 0xF0
 15897  	VK_OEM_AUTO                                                                    = 0xF3
 15898  	VK_OEM_AX                                                                      = 0xE1
 15899  	VK_OEM_BACKTAB                                                                 = 0xF5
 15900  	VK_OEM_CLEAR                                                                   = 0xFE
 15901  	VK_OEM_COMMA                                                                   = 0xBC
 15902  	VK_OEM_COPY                                                                    = 0xF2
 15903  	VK_OEM_CUSEL                                                                   = 0xEF
 15904  	VK_OEM_ENLW                                                                    = 0xF4
 15905  	VK_OEM_FINISH                                                                  = 0xF1
 15906  	VK_OEM_FJ_JISHO                                                                = 0x92
 15907  	VK_OEM_FJ_LOYA                                                                 = 0x95
 15908  	VK_OEM_FJ_MASSHOU                                                              = 0x93
 15909  	VK_OEM_FJ_ROYA                                                                 = 0x96
 15910  	VK_OEM_FJ_TOUROKU                                                              = 0x94
 15911  	VK_OEM_JUMP                                                                    = 0xEA
 15912  	VK_OEM_MINUS                                                                   = 0xBD
 15913  	VK_OEM_NEC_EQUAL                                                               = 0x92
 15914  	VK_OEM_PA1                                                                     = 0xEB
 15915  	VK_OEM_PA2                                                                     = 0xEC
 15916  	VK_OEM_PA3                                                                     = 0xED
 15917  	VK_OEM_PERIOD                                                                  = 0xBE
 15918  	VK_OEM_PLUS                                                                    = 0xBB
 15919  	VK_OEM_RESET                                                                   = 0xE9
 15920  	VK_OEM_WSCTRL                                                                  = 0xEE
 15921  	VK_PA1                                                                         = 0xFD
 15922  	VK_PACKET                                                                      = 0xE7
 15923  	VK_PAUSE                                                                       = 0x13
 15924  	VK_PLAY                                                                        = 0xFA
 15925  	VK_PRINT                                                                       = 0x2A
 15926  	VK_PRIOR                                                                       = 0x21
 15927  	VK_PROCESSKEY                                                                  = 0xE5
 15928  	VK_RBUTTON                                                                     = 0x02
 15929  	VK_RCONTROL                                                                    = 0xA3
 15930  	VK_RETURN                                                                      = 0x0D
 15931  	VK_RIGHT                                                                       = 0x27
 15932  	VK_RMENU                                                                       = 0xA5
 15933  	VK_RSHIFT                                                                      = 0xA1
 15934  	VK_RWIN                                                                        = 0x5C
 15935  	VK_SCROLL                                                                      = 0x91
 15936  	VK_SELECT                                                                      = 0x29
 15937  	VK_SEPARATOR                                                                   = 0x6C
 15938  	VK_SHIFT                                                                       = 0x10
 15939  	VK_SLEEP                                                                       = 0x5F
 15940  	VK_SNAPSHOT                                                                    = 0x2C
 15941  	VK_SPACE                                                                       = 0x20
 15942  	VK_SUBTRACT                                                                    = 0x6D
 15943  	VK_TAB                                                                         = 0x09
 15944  	VK_UP                                                                          = 0x26
 15945  	VK_VOLUME_DOWN                                                                 = 0xAE
 15946  	VK_VOLUME_MUTE                                                                 = 0xAD
 15947  	VK_VOLUME_UP                                                                   = 0xAF
 15948  	VK_XBUTTON1                                                                    = 0x05
 15949  	VK_XBUTTON2                                                                    = 0x06
 15950  	VK_ZOOM                                                                        = 0xFB
 15951  	VOLUME_IS_DIRTY                                                                = 1
 15952  	VOLUME_NAME_DOS                                                                = 0x0
 15953  	VOLUME_NAME_GUID                                                               = 0x1
 15954  	VOLUME_NAME_NONE                                                               = 0x4
 15955  	VOLUME_NAME_NT                                                                 = 0x2
 15956  	VOLUME_UPGRADE_SCHEDULED                                                       = 2
 15957  	VOS_DOS                                                                        = 65536
 15958  	VOS_DOS_WINDOWS16                                                              = 65537
 15959  	VOS_DOS_WINDOWS32                                                              = 65540
 15960  	VOS_NT                                                                         = 262144
 15961  	VOS_NT_WINDOWS32                                                               = 262148
 15962  	VOS_OS216                                                                      = 131072
 15963  	VOS_OS216_PM16                                                                 = 131074
 15964  	VOS_OS232                                                                      = 196608
 15965  	VOS_OS232_PM32                                                                 = 196611
 15966  	VOS_UNKNOWN                                                                    = 0
 15967  	VOS_WINCE                                                                      = 327680
 15968  	VOS__BASE                                                                      = 0
 15969  	VOS__PM16                                                                      = 2
 15970  	VOS__PM32                                                                      = 3
 15971  	VOS__WINDOWS16                                                                 = 1
 15972  	VOS__WINDOWS32                                                                 = 4
 15973  	VP_COMMAND_GET                                                                 = 0x0001
 15974  	VP_COMMAND_SET                                                                 = 0x0002
 15975  	VP_CP_CMD_ACTIVATE                                                             = 0x0001
 15976  	VP_CP_CMD_CHANGE                                                               = 0x0004
 15977  	VP_CP_CMD_DEACTIVATE                                                           = 0x0002
 15978  	VP_CP_TYPE_APS_TRIGGER                                                         = 0x0001
 15979  	VP_CP_TYPE_MACROVISION                                                         = 0x0002
 15980  	VP_FLAGS_BRIGHTNESS                                                            = 0x0040
 15981  	VP_FLAGS_CONTRAST                                                              = 0x0080
 15982  	VP_FLAGS_COPYPROTECT                                                           = 0x0100
 15983  	VP_FLAGS_FLICKER                                                               = 0x0004
 15984  	VP_FLAGS_MAX_UNSCALED                                                          = 0x0010
 15985  	VP_FLAGS_OVERSCAN                                                              = 0x0008
 15986  	VP_FLAGS_POSITION                                                              = 0x0020
 15987  	VP_FLAGS_TV_MODE                                                               = 0x0001
 15988  	VP_FLAGS_TV_STANDARD                                                           = 0x0002
 15989  	VP_MODE_TV_PLAYBACK                                                            = 0x0002
 15990  	VP_MODE_WIN_GRAPHICS                                                           = 0x0001
 15991  	VP_TV_STANDARD_NTSC_433                                                        = 0x00010000
 15992  	VP_TV_STANDARD_NTSC_M                                                          = 0x0001
 15993  	VP_TV_STANDARD_NTSC_M_J                                                        = 0x0002
 15994  	VP_TV_STANDARD_PAL_60                                                          = 0x00040000
 15995  	VP_TV_STANDARD_PAL_B                                                           = 0x0004
 15996  	VP_TV_STANDARD_PAL_D                                                           = 0x0008
 15997  	VP_TV_STANDARD_PAL_G                                                           = 0x00020000
 15998  	VP_TV_STANDARD_PAL_H                                                           = 0x0010
 15999  	VP_TV_STANDARD_PAL_I                                                           = 0x0020
 16000  	VP_TV_STANDARD_PAL_M                                                           = 0x0040
 16001  	VP_TV_STANDARD_PAL_N                                                           = 0x0080
 16002  	VP_TV_STANDARD_SECAM_B                                                         = 0x0100
 16003  	VP_TV_STANDARD_SECAM_D                                                         = 0x0200
 16004  	VP_TV_STANDARD_SECAM_G                                                         = 0x0400
 16005  	VP_TV_STANDARD_SECAM_H                                                         = 0x0800
 16006  	VP_TV_STANDARD_SECAM_K                                                         = 0x1000
 16007  	VP_TV_STANDARD_SECAM_K1                                                        = 0x2000
 16008  	VP_TV_STANDARD_SECAM_L                                                         = 0x4000
 16009  	VP_TV_STANDARD_SECAM_L1                                                        = 0x00080000
 16010  	VP_TV_STANDARD_WIN_VGA                                                         = 0x8000
 16011  	VREFRESH                                                                       = 116
 16012  	VS_FFI_FILEFLAGSMASK                                                           = 63
 16013  	VS_FFI_SIGNATURE                                                               = 4277077181
 16014  	VS_FFI_STRUCVERSION                                                            = 65536
 16015  	VS_FF_DEBUG                                                                    = 1
 16016  	VS_FF_INFOINFERRED                                                             = 16
 16017  	VS_FF_PATCHED                                                                  = 4
 16018  	VS_FF_PRERELEASE                                                               = 2
 16019  	VS_FF_PRIVATEBUILD                                                             = 8
 16020  	VS_FF_SPECIALBUILD                                                             = 32
 16021  	VS_USER_DEFINED                                                                = 100
 16022  	VS_VERSION_INFO                                                                = 1
 16023  	VTA_BASELINE                                                                   = 24
 16024  	VTA_BOTTOM                                                                     = 2
 16025  	VTA_CENTER                                                                     = 6
 16026  	VTA_LEFT                                                                       = 8
 16027  	VTA_RIGHT                                                                      = 0
 16028  	VTA_TOP                                                                        = 0
 16029  	VTDATEGRE_MAX                                                                  = 2958465
 16030  	VTDATEGRE_MIN                                                                  = -657434
 16031  	WAIT_TIMEOUT                                                                   = 258
 16032  	WARNING_IPSEC_MM_POLICY_PRUNED                                                 = 13024
 16033  	WARNING_IPSEC_QM_POLICY_PRUNED                                                 = 13025
 16034  	WAVECAPS_LRVOLUME                                                              = 0x0008
 16035  	WAVECAPS_PITCH                                                                 = 0x0001
 16036  	WAVECAPS_PLAYBACKRATE                                                          = 0x0002
 16037  	WAVECAPS_SAMPLEACCURATE                                                        = 0x0020
 16038  	WAVECAPS_SYNC                                                                  = 0x0010
 16039  	WAVECAPS_VOLUME                                                                = 0x0004
 16040  	WAVERR_BADFORMAT                                                               = 32
 16041  	WAVERR_BASE                                                                    = 32
 16042  	WAVERR_LASTERROR                                                               = 35
 16043  	WAVERR_STILLPLAYING                                                            = 33
 16044  	WAVERR_SYNC                                                                    = 35
 16045  	WAVERR_UNPREPARED                                                              = 34
 16046  	WAVE_ALLOWSYNC                                                                 = 0x0002
 16047  	WAVE_FORMAT_1M08                                                               = 0x00000001
 16048  	WAVE_FORMAT_1M16                                                               = 0x00000004
 16049  	WAVE_FORMAT_1S08                                                               = 0x00000002
 16050  	WAVE_FORMAT_1S16                                                               = 0x00000008
 16051  	WAVE_FORMAT_2M08                                                               = 0x00000010
 16052  	WAVE_FORMAT_2M16                                                               = 0x00000040
 16053  	WAVE_FORMAT_2S08                                                               = 0x00000020
 16054  	WAVE_FORMAT_2S16                                                               = 0x00000080
 16055  	WAVE_FORMAT_44M08                                                              = 0x00000100
 16056  	WAVE_FORMAT_44M16                                                              = 0x00000400
 16057  	WAVE_FORMAT_44S08                                                              = 0x00000200
 16058  	WAVE_FORMAT_44S16                                                              = 0x00000800
 16059  	WAVE_FORMAT_48M08                                                              = 0x00001000
 16060  	WAVE_FORMAT_48M16                                                              = 0x00004000
 16061  	WAVE_FORMAT_48S08                                                              = 0x00002000
 16062  	WAVE_FORMAT_48S16                                                              = 0x00008000
 16063  	WAVE_FORMAT_4M08                                                               = 0x00000100
 16064  	WAVE_FORMAT_4M16                                                               = 0x00000400
 16065  	WAVE_FORMAT_4S08                                                               = 0x00000200
 16066  	WAVE_FORMAT_4S16                                                               = 0x00000800
 16067  	WAVE_FORMAT_96M08                                                              = 0x00010000
 16068  	WAVE_FORMAT_96M16                                                              = 0x00040000
 16069  	WAVE_FORMAT_96S08                                                              = 0x00020000
 16070  	WAVE_FORMAT_96S16                                                              = 0x00080000
 16071  	WAVE_FORMAT_DIRECT                                                             = 0x0008
 16072  	WAVE_FORMAT_DIRECT_QUERY                                                       = 9
 16073  	WAVE_FORMAT_PCM                                                                = 1
 16074  	WAVE_FORMAT_QUERY                                                              = 0x0001
 16075  	WAVE_INVALIDFORMAT                                                             = 0x00000000
 16076  	WAVE_MAPPED                                                                    = 0x0004
 16077  	WA_ACTIVE                                                                      = 1
 16078  	WA_CLICKACTIVE                                                                 = 2
 16079  	WA_INACTIVE                                                                    = 0
 16080  	WB_ISDELIMITER                                                                 = 2
 16081  	WB_LEFT                                                                        = 0
 16082  	WB_RIGHT                                                                       = 1
 16083  	WC_COMPOSITECHECK                                                              = 0x00000200
 16084  	WC_DEFAULTCHAR                                                                 = 0x00000040
 16085  	WC_DISCARDNS                                                                   = 0x00000010
 16086  	WC_NO_BEST_FIT_CHARS                                                           = 0x00000400
 16087  	WC_SEPCHARS                                                                    = 0x00000020
 16088  	WDK_NTDDI_VERSION                                                              = 167772170
 16089  	WDT_INPROC64_CALL                                                              = 1349805143
 16090  	WDT_INPROC_CALL                                                                = 1215587415
 16091  	WDT_REMOTE_CALL                                                                = 1383359575
 16092  	WGL_FONT_LINES                                                                 = 0
 16093  	WGL_FONT_POLYGONS                                                              = 1
 16094  	WGL_SWAPMULTIPLE_MAX                                                           = 16
 16095  	WGL_SWAP_MAIN_PLANE                                                            = 0x00000001
 16096  	WGL_SWAP_OVERLAY1                                                              = 0x00000002
 16097  	WGL_SWAP_OVERLAY10                                                             = 0x00000400
 16098  	WGL_SWAP_OVERLAY11                                                             = 0x00000800
 16099  	WGL_SWAP_OVERLAY12                                                             = 0x00001000
 16100  	WGL_SWAP_OVERLAY13                                                             = 0x00002000
 16101  	WGL_SWAP_OVERLAY14                                                             = 0x00004000
 16102  	WGL_SWAP_OVERLAY15                                                             = 0x00008000
 16103  	WGL_SWAP_OVERLAY2                                                              = 0x00000004
 16104  	WGL_SWAP_OVERLAY3                                                              = 0x00000008
 16105  	WGL_SWAP_OVERLAY4                                                              = 0x00000010
 16106  	WGL_SWAP_OVERLAY5                                                              = 0x00000020
 16107  	WGL_SWAP_OVERLAY6                                                              = 0x00000040
 16108  	WGL_SWAP_OVERLAY7                                                              = 0x00000080
 16109  	WGL_SWAP_OVERLAY8                                                              = 0x00000100
 16110  	WGL_SWAP_OVERLAY9                                                              = 0x00000200
 16111  	WGL_SWAP_UNDERLAY1                                                             = 0x00010000
 16112  	WGL_SWAP_UNDERLAY10                                                            = 0x02000000
 16113  	WGL_SWAP_UNDERLAY11                                                            = 0x04000000
 16114  	WGL_SWAP_UNDERLAY12                                                            = 0x08000000
 16115  	WGL_SWAP_UNDERLAY13                                                            = 0x10000000
 16116  	WGL_SWAP_UNDERLAY14                                                            = 0x20000000
 16117  	WGL_SWAP_UNDERLAY15                                                            = 0x40000000
 16118  	WGL_SWAP_UNDERLAY2                                                             = 0x00020000
 16119  	WGL_SWAP_UNDERLAY3                                                             = 0x00040000
 16120  	WGL_SWAP_UNDERLAY4                                                             = 0x00080000
 16121  	WGL_SWAP_UNDERLAY5                                                             = 0x00100000
 16122  	WGL_SWAP_UNDERLAY6                                                             = 0x00200000
 16123  	WGL_SWAP_UNDERLAY7                                                             = 0x00400000
 16124  	WGL_SWAP_UNDERLAY8                                                             = 0x00800000
 16125  	WGL_SWAP_UNDERLAY9                                                             = 0x01000000
 16126  	WHDR_BEGINLOOP                                                                 = 0x00000004
 16127  	WHDR_DONE                                                                      = 0x00000001
 16128  	WHDR_ENDLOOP                                                                   = 0x00000008
 16129  	WHDR_INQUEUE                                                                   = 0x00000010
 16130  	WHDR_PREPARED                                                                  = 0x00000002
 16131  	WHEEL_DELTA                                                                    = 120
 16132  	WHEEL_PAGESCROLL                                                               = 4294967295
 16133  	WHITEONBLACK                                                                   = 2
 16134  	WHITE_BRUSH                                                                    = 0
 16135  	WHITE_PEN                                                                      = 6
 16136  	WH_CALLWNDPROC                                                                 = 4
 16137  	WH_CALLWNDPROCRET                                                              = 12
 16138  	WH_CBT                                                                         = 5
 16139  	WH_DEBUG                                                                       = 9
 16140  	WH_FOREGROUNDIDLE                                                              = 11
 16141  	WH_GETMESSAGE                                                                  = 3
 16142  	WH_HARDWARE                                                                    = 8
 16143  	WH_JOURNALPLAYBACK                                                             = 1
 16144  	WH_JOURNALRECORD                                                               = 0
 16145  	WH_KEYBOARD                                                                    = 2
 16146  	WH_KEYBOARD_LL                                                                 = 13
 16147  	WH_MAX                                                                         = 14
 16148  	WH_MAXHOOK                                                                     = 14
 16149  	WH_MIN                                                                         = -1
 16150  	WH_MINHOOK                                                                     = -1
 16151  	WH_MOUSE                                                                       = 7
 16152  	WH_MOUSE_LL                                                                    = 14
 16153  	WH_MSGFILTER                                                                   = -1
 16154  	WH_SHELL                                                                       = 10
 16155  	WH_SYSMSGFILTER                                                                = 6
 16156  	WIM_CLOSE                                                                      = 959
 16157  	WIM_DATA                                                                       = 960
 16158  	WIM_OPEN                                                                       = 958
 16159  	WIN32_LEAN_AND_MEAN                                                            = 0
 16160  	WINAPI                                                                         = 0
 16161  	WINAPI_FAMILY                                                                  = 3
 16162  	WINAPI_FAMILY_APP                                                              = 2
 16163  	WINAPI_FAMILY_DESKTOP_APP                                                      = 3
 16164  	WINAPI_INLINE                                                                  = 0
 16165  	WINAPI_PARTITION_APP                                                           = 0x2
 16166  	WINAPI_PARTITION_DESKTOP                                                       = 0x1
 16167  	WINCRYPT_DWORD_CPP_ONLY                                                        = 0
 16168  	WINDING                                                                        = 2
 16169  	WINDOW_BUFFER_SIZE_EVENT                                                       = 0x4
 16170  	WINEVENT_INCONTEXT                                                             = 0x0004
 16171  	WINEVENT_OUTOFCONTEXT                                                          = 0x0000
 16172  	WINEVENT_SKIPOWNPROCESS                                                        = 0x0002
 16173  	WINEVENT_SKIPOWNTHREAD                                                         = 0x0001
 16174  	WININETINFO_OPTION_LOCK_HANDLE                                                 = 65534
 16175  	WINPERF_LOG_DEBUG                                                              = 2
 16176  	WINPERF_LOG_NONE                                                               = 0
 16177  	WINPERF_LOG_USER                                                               = 1
 16178  	WINPERF_LOG_VERBOSE                                                            = 3
 16179  	WINPTHREAD_API                                                                 = 0
 16180  	WINSCARDAPI                                                                    = 0
 16181  	WINSTA_ACCESSCLIPBOARD                                                         = 4
 16182  	WINSTA_ACCESSGLOBALATOMS                                                       = 32
 16183  	WINSTA_ALL_ACCESS                                                              = 895
 16184  	WINSTA_CREATEDESKTOP                                                           = 8
 16185  	WINSTA_ENUMDESKTOPS                                                            = 1
 16186  	WINSTA_ENUMERATE                                                               = 256
 16187  	WINSTA_EXITWINDOWS                                                             = 64
 16188  	WINSTA_READATTRIBUTES                                                          = 2
 16189  	WINSTA_READSCREEN                                                              = 512
 16190  	WINSTA_WRITEATTRIBUTES                                                         = 16
 16191  	WINVER                                                                         = 1282
 16192  	WIN_PTHREADS_TIME_H                                                            = 0
 16193  	WIZ_BODYCX                                                                     = 184
 16194  	WIZ_BODYX                                                                      = 92
 16195  	WIZ_CXBMP                                                                      = 80
 16196  	WIZ_CXDLG                                                                      = 276
 16197  	WIZ_CYDLG                                                                      = 140
 16198  	WMSZ_BOTTOM                                                                    = 6
 16199  	WMSZ_BOTTOMLEFT                                                                = 7
 16200  	WMSZ_BOTTOMRIGHT                                                               = 8
 16201  	WMSZ_LEFT                                                                      = 1
 16202  	WMSZ_RIGHT                                                                     = 2
 16203  	WMSZ_TOP                                                                       = 3
 16204  	WMSZ_TOPLEFT                                                                   = 4
 16205  	WMSZ_TOPRIGHT                                                                  = 5
 16206  	WM_ACTIVATE                                                                    = 0x0006
 16207  	WM_ACTIVATEAPP                                                                 = 0x001C
 16208  	WM_AFXFIRST                                                                    = 0x0360
 16209  	WM_AFXLAST                                                                     = 0x037F
 16210  	WM_APP                                                                         = 0x8000
 16211  	WM_APPCOMMAND                                                                  = 0x0319
 16212  	WM_ASKCBFORMATNAME                                                             = 0x030C
 16213  	WM_CANCELJOURNAL                                                               = 0x004B
 16214  	WM_CANCELMODE                                                                  = 0x001F
 16215  	WM_CAPTURECHANGED                                                              = 0x0215
 16216  	WM_CHANGECBCHAIN                                                               = 0x030D
 16217  	WM_CHANGEUISTATE                                                               = 0x0127
 16218  	WM_CHAR                                                                        = 0x0102
 16219  	WM_CHARTOITEM                                                                  = 0x002F
 16220  	WM_CHILDACTIVATE                                                               = 0x0022
 16221  	WM_CHOOSEFONT_GETLOGFONT                                                       = 1025
 16222  	WM_CHOOSEFONT_SETFLAGS                                                         = 1126
 16223  	WM_CHOOSEFONT_SETLOGFONT                                                       = 1125
 16224  	WM_CLEAR                                                                       = 0x0303
 16225  	WM_CLIPBOARDUPDATE                                                             = 0x031d
 16226  	WM_CLOSE                                                                       = 0x0010
 16227  	WM_COMMAND                                                                     = 0x0111
 16228  	WM_COMMNOTIFY                                                                  = 0x0044
 16229  	WM_COMPACTING                                                                  = 0x0041
 16230  	WM_COMPAREITEM                                                                 = 0x0039
 16231  	WM_CONTEXTMENU                                                                 = 0x007B
 16232  	WM_COPY                                                                        = 0x0301
 16233  	WM_COPYDATA                                                                    = 0x004A
 16234  	WM_CREATE                                                                      = 0x0001
 16235  	WM_CTLCOLORBTN                                                                 = 0x0135
 16236  	WM_CTLCOLORDLG                                                                 = 0x0136
 16237  	WM_CTLCOLOREDIT                                                                = 0x0133
 16238  	WM_CTLCOLORLISTBOX                                                             = 0x0134
 16239  	WM_CTLCOLORMSGBOX                                                              = 0x0132
 16240  	WM_CTLCOLORSCROLLBAR                                                           = 0x0137
 16241  	WM_CTLCOLORSTATIC                                                              = 0x0138
 16242  	WM_CUT                                                                         = 0x0300
 16243  	WM_DDE_ACK                                                                     = 996
 16244  	WM_DDE_ADVISE                                                                  = 994
 16245  	WM_DDE_DATA                                                                    = 997
 16246  	WM_DDE_EXECUTE                                                                 = 1000
 16247  	WM_DDE_FIRST                                                                   = 0x03E0
 16248  	WM_DDE_INITIATE                                                                = 992
 16249  	WM_DDE_LAST                                                                    = 1000
 16250  	WM_DDE_POKE                                                                    = 999
 16251  	WM_DDE_REQUEST                                                                 = 998
 16252  	WM_DDE_TERMINATE                                                               = 993
 16253  	WM_DDE_UNADVISE                                                                = 995
 16254  	WM_DEADCHAR                                                                    = 0x0103
 16255  	WM_DELETEITEM                                                                  = 0x002D
 16256  	WM_DESTROY                                                                     = 0x0002
 16257  	WM_DESTROYCLIPBOARD                                                            = 0x0307
 16258  	WM_DEVICECHANGE                                                                = 0x0219
 16259  	WM_DEVMODECHANGE                                                               = 0x001B
 16260  	WM_DISPLAYCHANGE                                                               = 0x007E
 16261  	WM_DRAWCLIPBOARD                                                               = 0x0308
 16262  	WM_DRAWITEM                                                                    = 0x002B
 16263  	WM_DROPFILES                                                                   = 0x0233
 16264  	WM_ENABLE                                                                      = 0x000A
 16265  	WM_ENDSESSION                                                                  = 0x0016
 16266  	WM_ENTERIDLE                                                                   = 0x0121
 16267  	WM_ENTERMENULOOP                                                               = 0x0211
 16268  	WM_ENTERSIZEMOVE                                                               = 0x0231
 16269  	WM_ERASEBKGND                                                                  = 0x0014
 16270  	WM_EXITMENULOOP                                                                = 0x0212
 16271  	WM_EXITSIZEMOVE                                                                = 0x0232
 16272  	WM_FONTCHANGE                                                                  = 0x001D
 16273  	WM_GETDLGCODE                                                                  = 0x0087
 16274  	WM_GETFONT                                                                     = 0x0031
 16275  	WM_GETHOTKEY                                                                   = 0x0033
 16276  	WM_GETICON                                                                     = 0x007F
 16277  	WM_GETMINMAXINFO                                                               = 0x0024
 16278  	WM_GETOBJECT                                                                   = 0x003D
 16279  	WM_GETTEXT                                                                     = 0x000D
 16280  	WM_GETTEXTLENGTH                                                               = 0x000E
 16281  	WM_HANDHELDFIRST                                                               = 0x0358
 16282  	WM_HANDHELDLAST                                                                = 0x035F
 16283  	WM_HELP                                                                        = 0x0053
 16284  	WM_HOTKEY                                                                      = 0x0312
 16285  	WM_HSCROLL                                                                     = 0x0114
 16286  	WM_HSCROLLCLIPBOARD                                                            = 0x030E
 16287  	WM_ICONERASEBKGND                                                              = 0x0027
 16288  	WM_IME_CHAR                                                                    = 0x0286
 16289  	WM_IME_COMPOSITION                                                             = 0x010F
 16290  	WM_IME_COMPOSITIONFULL                                                         = 0x0284
 16291  	WM_IME_CONTROL                                                                 = 0x0283
 16292  	WM_IME_ENDCOMPOSITION                                                          = 0x010E
 16293  	WM_IME_KEYDOWN                                                                 = 0x0290
 16294  	WM_IME_KEYLAST                                                                 = 0x010F
 16295  	WM_IME_KEYUP                                                                   = 0x0291
 16296  	WM_IME_NOTIFY                                                                  = 0x0282
 16297  	WM_IME_REQUEST                                                                 = 0x0288
 16298  	WM_IME_SELECT                                                                  = 0x0285
 16299  	WM_IME_SETCONTEXT                                                              = 0x0281
 16300  	WM_IME_STARTCOMPOSITION                                                        = 0x010D
 16301  	WM_INITDIALOG                                                                  = 0x0110
 16302  	WM_INITMENU                                                                    = 0x0116
 16303  	WM_INITMENUPOPUP                                                               = 0x0117
 16304  	WM_INPUT                                                                       = 0x00FF
 16305  	WM_INPUTLANGCHANGE                                                             = 0x0051
 16306  	WM_INPUTLANGCHANGEREQUEST                                                      = 0x0050
 16307  	WM_INPUT_DEVICE_CHANGE                                                         = 0x00fe
 16308  	WM_KEYDOWN                                                                     = 0x0100
 16309  	WM_KEYFIRST                                                                    = 0x0100
 16310  	WM_KEYLAST                                                                     = 0x0109
 16311  	WM_KEYUP                                                                       = 0x0101
 16312  	WM_KILLFOCUS                                                                   = 0x0008
 16313  	WM_LBUTTONDBLCLK                                                               = 0x0203
 16314  	WM_LBUTTONDOWN                                                                 = 0x0201
 16315  	WM_LBUTTONUP                                                                   = 0x0202
 16316  	WM_MBUTTONDBLCLK                                                               = 0x0209
 16317  	WM_MBUTTONDOWN                                                                 = 0x0207
 16318  	WM_MBUTTONUP                                                                   = 0x0208
 16319  	WM_MDIACTIVATE                                                                 = 0x0222
 16320  	WM_MDICASCADE                                                                  = 0x0227
 16321  	WM_MDICREATE                                                                   = 0x0220
 16322  	WM_MDIDESTROY                                                                  = 0x0221
 16323  	WM_MDIGETACTIVE                                                                = 0x0229
 16324  	WM_MDIICONARRANGE                                                              = 0x0228
 16325  	WM_MDIMAXIMIZE                                                                 = 0x0225
 16326  	WM_MDINEXT                                                                     = 0x0224
 16327  	WM_MDIREFRESHMENU                                                              = 0x0234
 16328  	WM_MDIRESTORE                                                                  = 0x0223
 16329  	WM_MDISETMENU                                                                  = 0x0230
 16330  	WM_MDITILE                                                                     = 0x0226
 16331  	WM_MEASUREITEM                                                                 = 0x002C
 16332  	WM_MENUCHAR                                                                    = 0x0120
 16333  	WM_MENUCOMMAND                                                                 = 0x0126
 16334  	WM_MENUDRAG                                                                    = 0x0123
 16335  	WM_MENUGETOBJECT                                                               = 0x0124
 16336  	WM_MENURBUTTONUP                                                               = 0x0122
 16337  	WM_MENUSELECT                                                                  = 0x011F
 16338  	WM_MOUSEACTIVATE                                                               = 0x0021
 16339  	WM_MOUSEFIRST                                                                  = 0x0200
 16340  	WM_MOUSEHOVER                                                                  = 0x02A1
 16341  	WM_MOUSELAST                                                                   = 0x020d
 16342  	WM_MOUSELEAVE                                                                  = 0x02A3
 16343  	WM_MOUSEMOVE                                                                   = 0x0200
 16344  	WM_MOUSEWHEEL                                                                  = 0x020A
 16345  	WM_MOVE                                                                        = 0x0003
 16346  	WM_MOVING                                                                      = 0x0216
 16347  	WM_NCACTIVATE                                                                  = 0x0086
 16348  	WM_NCCALCSIZE                                                                  = 0x0083
 16349  	WM_NCCREATE                                                                    = 0x0081
 16350  	WM_NCDESTROY                                                                   = 0x0082
 16351  	WM_NCHITTEST                                                                   = 0x0084
 16352  	WM_NCLBUTTONDBLCLK                                                             = 0x00A3
 16353  	WM_NCLBUTTONDOWN                                                               = 0x00A1
 16354  	WM_NCLBUTTONUP                                                                 = 0x00A2
 16355  	WM_NCMBUTTONDBLCLK                                                             = 0x00A9
 16356  	WM_NCMBUTTONDOWN                                                               = 0x00A7
 16357  	WM_NCMBUTTONUP                                                                 = 0x00A8
 16358  	WM_NCMOUSEHOVER                                                                = 0x02A0
 16359  	WM_NCMOUSELEAVE                                                                = 0x02A2
 16360  	WM_NCMOUSEMOVE                                                                 = 0x00A0
 16361  	WM_NCPAINT                                                                     = 0x0085
 16362  	WM_NCRBUTTONDBLCLK                                                             = 0x00A6
 16363  	WM_NCRBUTTONDOWN                                                               = 0x00A4
 16364  	WM_NCRBUTTONUP                                                                 = 0x00A5
 16365  	WM_NCXBUTTONDBLCLK                                                             = 0x00AD
 16366  	WM_NCXBUTTONDOWN                                                               = 0x00AB
 16367  	WM_NCXBUTTONUP                                                                 = 0x00AC
 16368  	WM_NEXTDLGCTL                                                                  = 0x0028
 16369  	WM_NEXTMENU                                                                    = 0x0213
 16370  	WM_NOTIFY                                                                      = 0x004E
 16371  	WM_NOTIFYFORMAT                                                                = 0x0055
 16372  	WM_NULL                                                                        = 0x0000
 16373  	WM_PAINT                                                                       = 0x000F
 16374  	WM_PAINTCLIPBOARD                                                              = 0x0309
 16375  	WM_PAINTICON                                                                   = 0x0026
 16376  	WM_PALETTECHANGED                                                              = 0x0311
 16377  	WM_PALETTEISCHANGING                                                           = 0x0310
 16378  	WM_PARENTNOTIFY                                                                = 0x0210
 16379  	WM_PASTE                                                                       = 0x0302
 16380  	WM_PENWINFIRST                                                                 = 0x0380
 16381  	WM_PENWINLAST                                                                  = 0x038F
 16382  	WM_POWER                                                                       = 0x0048
 16383  	WM_POWERBROADCAST                                                              = 0x0218
 16384  	WM_PRINT                                                                       = 0x0317
 16385  	WM_PRINTCLIENT                                                                 = 0x0318
 16386  	WM_PSD_ENVSTAMPRECT                                                            = 1029
 16387  	WM_PSD_FULLPAGERECT                                                            = 1025
 16388  	WM_PSD_GREEKTEXTRECT                                                           = 1028
 16389  	WM_PSD_MARGINRECT                                                              = 1027
 16390  	WM_PSD_MINMARGINRECT                                                           = 1026
 16391  	WM_PSD_PAGESETUPDLG                                                            = 1024
 16392  	WM_PSD_YAFULLPAGERECT                                                          = 1030
 16393  	WM_QUERYDRAGICON                                                               = 0x0037
 16394  	WM_QUERYENDSESSION                                                             = 0x0011
 16395  	WM_QUERYNEWPALETTE                                                             = 0x030F
 16396  	WM_QUERYOPEN                                                                   = 0x0013
 16397  	WM_QUERYUISTATE                                                                = 0x0129
 16398  	WM_QUEUESYNC                                                                   = 0x0023
 16399  	WM_QUIT                                                                        = 0x0012
 16400  	WM_RBUTTONDBLCLK                                                               = 0x0206
 16401  	WM_RBUTTONDOWN                                                                 = 0x0204
 16402  	WM_RBUTTONUP                                                                   = 0x0205
 16403  	WM_RENDERALLFORMATS                                                            = 0x0306
 16404  	WM_RENDERFORMAT                                                                = 0x0305
 16405  	WM_SETCURSOR                                                                   = 0x0020
 16406  	WM_SETFOCUS                                                                    = 0x0007
 16407  	WM_SETFONT                                                                     = 0x0030
 16408  	WM_SETHOTKEY                                                                   = 0x0032
 16409  	WM_SETICON                                                                     = 0x0080
 16410  	WM_SETREDRAW                                                                   = 0x000B
 16411  	WM_SETTEXT                                                                     = 0x000C
 16412  	WM_SETTINGCHANGE                                                               = 26
 16413  	WM_SHOWWINDOW                                                                  = 0x0018
 16414  	WM_SIZE                                                                        = 0x0005
 16415  	WM_SIZECLIPBOARD                                                               = 0x030B
 16416  	WM_SIZING                                                                      = 0x0214
 16417  	WM_SPOOLERSTATUS                                                               = 0x002A
 16418  	WM_STYLECHANGED                                                                = 0x007D
 16419  	WM_STYLECHANGING                                                               = 0x007C
 16420  	WM_SYNCPAINT                                                                   = 0x0088
 16421  	WM_SYSCHAR                                                                     = 0x0106
 16422  	WM_SYSCOLORCHANGE                                                              = 0x0015
 16423  	WM_SYSCOMMAND                                                                  = 0x0112
 16424  	WM_SYSDEADCHAR                                                                 = 0x0107
 16425  	WM_SYSKEYDOWN                                                                  = 0x0104
 16426  	WM_SYSKEYUP                                                                    = 0x0105
 16427  	WM_TABLET_FIRST                                                                = 0x02c0
 16428  	WM_TABLET_LAST                                                                 = 0x02df
 16429  	WM_TCARD                                                                       = 0x0052
 16430  	WM_THEMECHANGED                                                                = 0x031A
 16431  	WM_TIMECHANGE                                                                  = 0x001E
 16432  	WM_TIMER                                                                       = 0x0113
 16433  	WM_UNDO                                                                        = 0x0304
 16434  	WM_UNICHAR                                                                     = 0x0109
 16435  	WM_UNINITMENUPOPUP                                                             = 0x0125
 16436  	WM_UPDATEUISTATE                                                               = 0x0128
 16437  	WM_USER                                                                        = 0x0400
 16438  	WM_USERCHANGED                                                                 = 0x0054
 16439  	WM_VKEYTOITEM                                                                  = 0x002E
 16440  	WM_VSCROLL                                                                     = 0x0115
 16441  	WM_VSCROLLCLIPBOARD                                                            = 0x030A
 16442  	WM_WINDOWPOSCHANGED                                                            = 0x0047
 16443  	WM_WINDOWPOSCHANGING                                                           = 0x0046
 16444  	WM_WININICHANGE                                                                = 0x001A
 16445  	WM_WTSSESSION_CHANGE                                                           = 0x02B1
 16446  	WM_XBUTTONDBLCLK                                                               = 0x020D
 16447  	WM_XBUTTONDOWN                                                                 = 0x020B
 16448  	WM_XBUTTONUP                                                                   = 0x020C
 16449  	WNCON_DYNAMIC                                                                  = 0x00000008
 16450  	WNCON_FORNETCARD                                                               = 0x00000001
 16451  	WNCON_NOTROUTED                                                                = 0x00000002
 16452  	WNCON_SLOWLINK                                                                 = 0x00000004
 16453  	WNFMT_ABBREVIATED                                                              = 0x02
 16454  	WNFMT_CONNECTION                                                               = 0x20
 16455  	WNFMT_INENUM                                                                   = 0x10
 16456  	WNFMT_MULTILINE                                                                = 0x01
 16457  	WNNC_CRED_MANAGER                                                              = 0xffff0000
 16458  	WNNC_NET_10NET                                                                 = 0x00050000
 16459  	WNNC_NET_3IN1                                                                  = 0x00270000
 16460  	WNNC_NET_9TILES                                                                = 0x00090000
 16461  	WNNC_NET_APPLETALK                                                             = 0x00130000
 16462  	WNNC_NET_AS400                                                                 = 0x000b0000
 16463  	WNNC_NET_AVID                                                                  = 0x001a0000
 16464  	WNNC_NET_AVID1                                                                 = 0x003a0000
 16465  	WNNC_NET_BMC                                                                   = 0x00180000
 16466  	WNNC_NET_BWNFS                                                                 = 0x00100000
 16467  	WNNC_NET_CLEARCASE                                                             = 0x00160000
 16468  	WNNC_NET_COGENT                                                                = 0x00110000
 16469  	WNNC_NET_CSC                                                                   = 0x00260000
 16470  	WNNC_NET_DAV                                                                   = 0x002e0000
 16471  	WNNC_NET_DCE                                                                   = 0x00190000
 16472  	WNNC_NET_DECORB                                                                = 0x00200000
 16473  	WNNC_NET_DFS                                                                   = 0x003b0000
 16474  	WNNC_NET_DISTINCT                                                              = 0x00230000
 16475  	WNNC_NET_DOCUSPACE                                                             = 0x001b0000
 16476  	WNNC_NET_DRIVEONWEB                                                            = 0x003e0000
 16477  	WNNC_NET_EXIFS                                                                 = 0x002d0000
 16478  	WNNC_NET_EXTENDNET                                                             = 0x00290000
 16479  	WNNC_NET_FARALLON                                                              = 0x00120000
 16480  	WNNC_NET_FJ_REDIR                                                              = 0x00220000
 16481  	WNNC_NET_FOXBAT                                                                = 0x002b0000
 16482  	WNNC_NET_FRONTIER                                                              = 0x00170000
 16483  	WNNC_NET_FTP_NFS                                                               = 0x000c0000
 16484  	WNNC_NET_GOOGLE                                                                = 0x00430000
 16485  	WNNC_NET_HOB_NFS                                                               = 0x00320000
 16486  	WNNC_NET_IBMAL                                                                 = 0x00340000
 16487  	WNNC_NET_INTERGRAPH                                                            = 0x00140000
 16488  	WNNC_NET_KNOWARE                                                               = 0x002f0000
 16489  	WNNC_NET_KWNP                                                                  = 0x003c0000
 16490  	WNNC_NET_LANMAN                                                                = 131072
 16491  	WNNC_NET_LANSTEP                                                               = 0x00080000
 16492  	WNNC_NET_LANTASTIC                                                             = 0x000a0000
 16493  	WNNC_NET_LIFENET                                                               = 0x000e0000
 16494  	WNNC_NET_LOCK                                                                  = 0x00350000
 16495  	WNNC_NET_LOCUS                                                                 = 0x00060000
 16496  	WNNC_NET_MANGOSOFT                                                             = 0x001c0000
 16497  	WNNC_NET_MASFAX                                                                = 0x00310000
 16498  	WNNC_NET_MFILES                                                                = 0x00410000
 16499  	WNNC_NET_MSNET                                                                 = 0x00010000
 16500  	WNNC_NET_MS_NFS                                                                = 0x00420000
 16501  	WNNC_NET_NDFS                                                                  = 0x00440000
 16502  	WNNC_NET_NETWARE                                                               = 0x00030000
 16503  	WNNC_NET_OBJECT_DIRE                                                           = 0x00300000
 16504  	WNNC_NET_OPENAFS                                                               = 0x00390000
 16505  	WNNC_NET_PATHWORKS                                                             = 0x000d0000
 16506  	WNNC_NET_POWERLAN                                                              = 0x000f0000
 16507  	WNNC_NET_PROTSTOR                                                              = 0x00210000
 16508  	WNNC_NET_QUINCY                                                                = 0x00380000
 16509  	WNNC_NET_RDR2SAMPLE                                                            = 0x00250000
 16510  	WNNC_NET_RIVERFRONT1                                                           = 0x001e0000
 16511  	WNNC_NET_RIVERFRONT2                                                           = 0x001f0000
 16512  	WNNC_NET_RSFX                                                                  = 0x00400000
 16513  	WNNC_NET_SERNET                                                                = 0x001d0000
 16514  	WNNC_NET_SHIVA                                                                 = 0x00330000
 16515  	WNNC_NET_SMB                                                                   = 0x00020000
 16516  	WNNC_NET_SRT                                                                   = 0x00370000
 16517  	WNNC_NET_STAC                                                                  = 0x002a0000
 16518  	WNNC_NET_SUN_PC_NFS                                                            = 0x00070000
 16519  	WNNC_NET_SYMFONET                                                              = 0x00150000
 16520  	WNNC_NET_TERMSRV                                                               = 0x00360000
 16521  	WNNC_NET_TWINS                                                                 = 0x00240000
 16522  	WNNC_NET_VINES                                                                 = 0x00040000
 16523  	WNNC_NET_VMWARE                                                                = 0x003f0000
 16524  	WNNC_NET_YAHOO                                                                 = 0x002c0000
 16525  	WNNC_NET_ZENWORKS                                                              = 0x003d0000
 16526  	WN_ACCESS_DENIED                                                               = 5
 16527  	WN_ALREADY_CONNECTED                                                           = 85
 16528  	WN_BAD_DEV_TYPE                                                                = 66
 16529  	WN_BAD_HANDLE                                                                  = 6
 16530  	WN_BAD_LEVEL                                                                   = 124
 16531  	WN_BAD_LOCALNAME                                                               = 1200
 16532  	WN_BAD_NETNAME                                                                 = 67
 16533  	WN_BAD_PASSWORD                                                                = 86
 16534  	WN_BAD_POINTER                                                                 = 487
 16535  	WN_BAD_PROFILE                                                                 = 1206
 16536  	WN_BAD_PROVIDER                                                                = 1204
 16537  	WN_BAD_USER                                                                    = 2202
 16538  	WN_BAD_VALUE                                                                   = 87
 16539  	WN_CANCEL                                                                      = 1223
 16540  	WN_CANNOT_OPEN_PROFILE                                                         = 1205
 16541  	WN_CONNECTED_OTHER_PASSWORD                                                    = 2108
 16542  	WN_CONNECTED_OTHER_PASSWORD_DEFAULT                                            = 2109
 16543  	WN_CONNECTION_CLOSED                                                           = 1201
 16544  	WN_DEVICE_ALREADY_REMEMBERED                                                   = 1202
 16545  	WN_DEVICE_ERROR                                                                = 31
 16546  	WN_DEVICE_IN_USE                                                               = 2404
 16547  	WN_EXTENDED_ERROR                                                              = 1208
 16548  	WN_FUNCTION_BUSY                                                               = 170
 16549  	WN_MORE_DATA                                                                   = 234
 16550  	WN_NET_ERROR                                                                   = 59
 16551  	WN_NOT_AUTHENTICATED                                                           = 1244
 16552  	WN_NOT_CONNECTED                                                               = 2250
 16553  	WN_NOT_CONTAINER                                                               = 1207
 16554  	WN_NOT_INITIALIZING                                                            = 1247
 16555  	WN_NOT_LOGGED_ON                                                               = 1245
 16556  	WN_NOT_SUPPORTED                                                               = 50
 16557  	WN_NOT_VALIDATED                                                               = 1311
 16558  	WN_NO_ERROR                                                                    = 0
 16559  	WN_NO_MORE_DEVICES                                                             = 1248
 16560  	WN_NO_MORE_ENTRIES                                                             = 259
 16561  	WN_NO_NETWORK                                                                  = 1222
 16562  	WN_NO_NET_OR_BAD_PATH                                                          = 1203
 16563  	WN_OPEN_FILES                                                                  = 2401
 16564  	WN_OUT_OF_MEMORY                                                               = 8
 16565  	WN_RETRY                                                                       = 1237
 16566  	WN_SUCCESS                                                                     = 0
 16567  	WN_WINDOWS_ERROR                                                               = 59
 16568  	WOM_CLOSE                                                                      = 956
 16569  	WOM_DONE                                                                       = 957
 16570  	WOM_OPEN                                                                       = 955
 16571  	WOW64_CONTEXT_ALL                                                              = 65599
 16572  	WOW64_CONTEXT_CONTROL                                                          = 65537
 16573  	WOW64_CONTEXT_DEBUG_REGISTERS                                                  = 65552
 16574  	WOW64_CONTEXT_EXCEPTION_ACTIVE                                                 = 0x08000000
 16575  	WOW64_CONTEXT_EXCEPTION_REPORTING                                              = 0x80000000
 16576  	WOW64_CONTEXT_EXCEPTION_REQUEST                                                = 0x40000000
 16577  	WOW64_CONTEXT_EXTENDED_REGISTERS                                               = 65568
 16578  	WOW64_CONTEXT_FLOATING_POINT                                                   = 65544
 16579  	WOW64_CONTEXT_FULL                                                             = 65543
 16580  	WOW64_CONTEXT_INTEGER                                                          = 65538
 16581  	WOW64_CONTEXT_SEGMENTS                                                         = 65540
 16582  	WOW64_CONTEXT_SERVICE_ACTIVE                                                   = 0x10000000
 16583  	WOW64_CONTEXT_XSTATE                                                           = 65600
 16584  	WOW64_CONTEXT_i386                                                             = 0x00010000
 16585  	WOW64_CONTEXT_i486                                                             = 0x00010000
 16586  	WOW64_MAXIMUM_SUPPORTED_EXTENSION                                              = 512
 16587  	WOW64_SIZE_OF_80387_REGISTERS                                                  = 80
 16588  	WPF_ASYNCWINDOWPLACEMENT                                                       = 0x0004
 16589  	WPF_RESTORETOMAXIMIZED                                                         = 0x0002
 16590  	WPF_SETMINPOSITION                                                             = 0x0001
 16591  	WRITE_COMPRESSION_INFO_VALID                                                   = 0x00000010
 16592  	WRITE_DAC                                                                      = 262144
 16593  	WRITE_OWNER                                                                    = 524288
 16594  	WRITE_RESTRICTED                                                               = 0x8
 16595  	WRITE_WATCH_FLAG_RESET                                                         = 0x01
 16596  	WSABASEERR                                                                     = 10000
 16597  	WSADESCRIPTION_LEN                                                             = 256
 16598  	WSAEACCES                                                                      = 10013
 16599  	WSAEADDRINUSE                                                                  = 10048
 16600  	WSAEADDRNOTAVAIL                                                               = 10049
 16601  	WSAEAFNOSUPPORT                                                                = 10047
 16602  	WSAEALREADY                                                                    = 10037
 16603  	WSAEBADF                                                                       = 10009
 16604  	WSAECANCELLED                                                                  = 10103
 16605  	WSAECONNABORTED                                                                = 10053
 16606  	WSAECONNREFUSED                                                                = 10061
 16607  	WSAECONNRESET                                                                  = 10054
 16608  	WSAEDESTADDRREQ                                                                = 10039
 16609  	WSAEDISCON                                                                     = 10101
 16610  	WSAEDQUOT                                                                      = 10069
 16611  	WSAEFAULT                                                                      = 10014
 16612  	WSAEHOSTDOWN                                                                   = 10064
 16613  	WSAEHOSTUNREACH                                                                = 10065
 16614  	WSAEINPROGRESS                                                                 = 10036
 16615  	WSAEINTR                                                                       = 10004
 16616  	WSAEINVAL                                                                      = 10022
 16617  	WSAEINVALIDPROCTABLE                                                           = 10104
 16618  	WSAEINVALIDPROVIDER                                                            = 10105
 16619  	WSAEISCONN                                                                     = 10056
 16620  	WSAELOOP                                                                       = 10062
 16621  	WSAEMFILE                                                                      = 10024
 16622  	WSAEMSGSIZE                                                                    = 10040
 16623  	WSAENAMETOOLONG                                                                = 10063
 16624  	WSAENETDOWN                                                                    = 10050
 16625  	WSAENETRESET                                                                   = 10052
 16626  	WSAENETUNREACH                                                                 = 10051
 16627  	WSAENOBUFS                                                                     = 10055
 16628  	WSAENOMORE                                                                     = 10102
 16629  	WSAENOPROTOOPT                                                                 = 10042
 16630  	WSAENOTCONN                                                                    = 10057
 16631  	WSAENOTEMPTY                                                                   = 10066
 16632  	WSAENOTSOCK                                                                    = 10038
 16633  	WSAEOPNOTSUPP                                                                  = 10045
 16634  	WSAEPFNOSUPPORT                                                                = 10046
 16635  	WSAEPROCLIM                                                                    = 10067
 16636  	WSAEPROTONOSUPPORT                                                             = 10043
 16637  	WSAEPROTOTYPE                                                                  = 10041
 16638  	WSAEPROVIDERFAILEDINIT                                                         = 10106
 16639  	WSAEREFUSED                                                                    = 10112
 16640  	WSAEREMOTE                                                                     = 10071
 16641  	WSAESHUTDOWN                                                                   = 10058
 16642  	WSAESOCKTNOSUPPORT                                                             = 10044
 16643  	WSAESTALE                                                                      = 10070
 16644  	WSAETIMEDOUT                                                                   = 10060
 16645  	WSAETOOMANYREFS                                                                = 10059
 16646  	WSAEUSERS                                                                      = 10068
 16647  	WSAEWOULDBLOCK                                                                 = 10035
 16648  	WSAHOST_NOT_FOUND                                                              = 11001
 16649  	WSANOTINITIALISED                                                              = 10093
 16650  	WSANO_ADDRESS                                                                  = 11004
 16651  	WSANO_DATA                                                                     = 11004
 16652  	WSANO_RECOVERY                                                                 = 11003
 16653  	WSASERVICE_NOT_FOUND                                                           = 10108
 16654  	WSASYSCALLFAILURE                                                              = 10107
 16655  	WSASYSNOTREADY                                                                 = 10091
 16656  	WSASYS_STATUS_LEN                                                              = 128
 16657  	WSATRY_AGAIN                                                                   = 11002
 16658  	WSATYPE_NOT_FOUND                                                              = 10109
 16659  	WSAVERNOTSUPPORTED                                                             = 10092
 16660  	WSA_E_CANCELLED                                                                = 10111
 16661  	WSA_E_NO_MORE                                                                  = 10110
 16662  	WSA_QOS_ADMISSION_FAILURE                                                      = 11010
 16663  	WSA_QOS_BAD_OBJECT                                                             = 11013
 16664  	WSA_QOS_BAD_STYLE                                                              = 11012
 16665  	WSA_QOS_EFILTERCOUNT                                                           = 11021
 16666  	WSA_QOS_EFILTERSTYLE                                                           = 11019
 16667  	WSA_QOS_EFILTERTYPE                                                            = 11020
 16668  	WSA_QOS_EFLOWCOUNT                                                             = 11023
 16669  	WSA_QOS_EFLOWDESC                                                              = 11026
 16670  	WSA_QOS_EFLOWSPEC                                                              = 11017
 16671  	WSA_QOS_EOBJLENGTH                                                             = 11022
 16672  	WSA_QOS_EPOLICYOBJ                                                             = 11025
 16673  	WSA_QOS_EPROVSPECBUF                                                           = 11018
 16674  	WSA_QOS_EPSFILTERSPEC                                                          = 11028
 16675  	WSA_QOS_EPSFLOWSPEC                                                            = 11027
 16676  	WSA_QOS_ESDMODEOBJ                                                             = 11029
 16677  	WSA_QOS_ESERVICETYPE                                                           = 11016
 16678  	WSA_QOS_ESHAPERATEOBJ                                                          = 11030
 16679  	WSA_QOS_EUNKNOWNPSOBJ                                                          = 11024
 16680  	WSA_QOS_EUNKOWNPSOBJ                                                           = 11024
 16681  	WSA_QOS_GENERIC_ERROR                                                          = 11015
 16682  	WSA_QOS_NO_RECEIVERS                                                           = 11008
 16683  	WSA_QOS_NO_SENDERS                                                             = 11007
 16684  	WSA_QOS_POLICY_FAILURE                                                         = 11011
 16685  	WSA_QOS_RECEIVERS                                                              = 11005
 16686  	WSA_QOS_REQUEST_CONFIRMED                                                      = 11009
 16687  	WSA_QOS_RESERVED_PETYPE                                                        = 11031
 16688  	WSA_QOS_SENDERS                                                                = 11006
 16689  	WSA_QOS_TRAFFIC_CTRL_ERROR                                                     = 11014
 16690  	WSF_VISIBLE                                                                    = 1
 16691  	WS_ACTIVECAPTION                                                               = 0x0001
 16692  	WS_BORDER                                                                      = 8388608
 16693  	WS_CAPTION                                                                     = 12582912
 16694  	WS_CHILD                                                                       = 1073741824
 16695  	WS_CHILDWINDOW                                                                 = 1073741824
 16696  	WS_CLIPCHILDREN                                                                = 33554432
 16697  	WS_CLIPSIBLINGS                                                                = 67108864
 16698  	WS_DISABLED                                                                    = 134217728
 16699  	WS_DLGFRAME                                                                    = 4194304
 16700  	WS_EX_ACCEPTFILES                                                              = 16
 16701  	WS_EX_APPWINDOW                                                                = 262144
 16702  	WS_EX_CLIENTEDGE                                                               = 512
 16703  	WS_EX_COMPOSITED                                                               = 33554432
 16704  	WS_EX_CONTEXTHELP                                                              = 1024
 16705  	WS_EX_CONTROLPARENT                                                            = 65536
 16706  	WS_EX_DLGMODALFRAME                                                            = 1
 16707  	WS_EX_LAYERED                                                                  = 0x00080000
 16708  	WS_EX_LAYOUTRTL                                                                = 4194304
 16709  	WS_EX_LEFT                                                                     = 0
 16710  	WS_EX_LEFTSCROLLBAR                                                            = 16384
 16711  	WS_EX_LTRREADING                                                               = 0
 16712  	WS_EX_MDICHILD                                                                 = 64
 16713  	WS_EX_NOACTIVATE                                                               = 134217728
 16714  	WS_EX_NOINHERITLAYOUT                                                          = 1048576
 16715  	WS_EX_NOPARENTNOTIFY                                                           = 4
 16716  	WS_EX_OVERLAPPEDWINDOW                                                         = 768
 16717  	WS_EX_PALETTEWINDOW                                                            = 392
 16718  	WS_EX_RIGHT                                                                    = 4096
 16719  	WS_EX_RIGHTSCROLLBAR                                                           = 0
 16720  	WS_EX_RTLREADING                                                               = 8192
 16721  	WS_EX_STATICEDGE                                                               = 131072
 16722  	WS_EX_TOOLWINDOW                                                               = 128
 16723  	WS_EX_TOPMOST                                                                  = 8
 16724  	WS_EX_TRANSPARENT                                                              = 32
 16725  	WS_EX_WINDOWEDGE                                                               = 256
 16726  	WS_GROUP                                                                       = 131072
 16727  	WS_HSCROLL                                                                     = 1048576
 16728  	WS_ICONIC                                                                      = 536870912
 16729  	WS_MAXIMIZE                                                                    = 16777216
 16730  	WS_MAXIMIZEBOX                                                                 = 65536
 16731  	WS_MINIMIZE                                                                    = 536870912
 16732  	WS_MINIMIZEBOX                                                                 = 131072
 16733  	WS_OVERLAPPED                                                                  = 0
 16734  	WS_OVERLAPPEDWINDOW                                                            = 13565952
 16735  	WS_POPUP                                                                       = 2147483648
 16736  	WS_POPUPWINDOW                                                                 = 2156396544
 16737  	WS_SIZEBOX                                                                     = 262144
 16738  	WS_SYSMENU                                                                     = 524288
 16739  	WS_TABSTOP                                                                     = 65536
 16740  	WS_THICKFRAME                                                                  = 262144
 16741  	WS_TILED                                                                       = 0
 16742  	WS_TILEDWINDOW                                                                 = 13565952
 16743  	WS_VISIBLE                                                                     = 268435456
 16744  	WS_VSCROLL                                                                     = 2097152
 16745  	WTS_CONSOLE_CONNECT                                                            = 0x1
 16746  	WTS_CONSOLE_DISCONNECT                                                         = 0x2
 16747  	WTS_REMOTE_CONNECT                                                             = 0x3
 16748  	WTS_REMOTE_DISCONNECT                                                          = 0x4
 16749  	WTS_SESSION_CREATE                                                             = 0xa
 16750  	WTS_SESSION_LOCK                                                               = 0x7
 16751  	WTS_SESSION_LOGOFF                                                             = 0x6
 16752  	WTS_SESSION_LOGON                                                              = 0x5
 16753  	WTS_SESSION_REMOTE_CONTROL                                                     = 0x9
 16754  	WTS_SESSION_TERMINATE                                                          = 0xb
 16755  	WTS_SESSION_UNLOCK                                                             = 0x8
 16756  	WT_EXECUTEDEFAULT                                                              = 0x00000000
 16757  	WT_EXECUTEDELETEWAIT                                                           = 0x00000008
 16758  	WT_EXECUTEINIOTHREAD                                                           = 0x00000001
 16759  	WT_EXECUTEINLONGTHREAD                                                         = 0x00000010
 16760  	WT_EXECUTEINPERSISTENTIOTHREAD                                                 = 0x00000040
 16761  	WT_EXECUTEINPERSISTENTTHREAD                                                   = 0x00000080
 16762  	WT_EXECUTEINTIMERTHREAD                                                        = 0x00000020
 16763  	WT_EXECUTEINUITHREAD                                                           = 0x00000002
 16764  	WT_EXECUTEINWAITTHREAD                                                         = 0x00000004
 16765  	WT_EXECUTELONGFUNCTION                                                         = 0x00000010
 16766  	WT_EXECUTEONLYONCE                                                             = 0x00000008
 16767  	WT_TRANSFER_IMPERSONATION                                                      = 0x00000100
 16768  	WVR_ALIGNBOTTOM                                                                = 0x0040
 16769  	WVR_ALIGNLEFT                                                                  = 0x0020
 16770  	WVR_ALIGNRIGHT                                                                 = 0x0080
 16771  	WVR_ALIGNTOP                                                                   = 0x0010
 16772  	WVR_HREDRAW                                                                    = 0x0100
 16773  	WVR_REDRAW                                                                     = 768
 16774  	WVR_VALIDRECTS                                                                 = 0x0400
 16775  	WVR_VREDRAW                                                                    = 0x0200
 16776  	W_OK                                                                           = 2
 16777  	X3_BTYPE_QP_INST_VAL_POS_X                                                     = 0
 16778  	X3_BTYPE_QP_INST_WORD_POS_X                                                    = 23
 16779  	X3_BTYPE_QP_INST_WORD_X                                                        = 2
 16780  	X3_BTYPE_QP_SIZE_X                                                             = 9
 16781  	X3_D_WH_INST_WORD_POS_X                                                        = 24
 16782  	X3_D_WH_INST_WORD_X                                                            = 3
 16783  	X3_D_WH_SIGN_VAL_POS_X                                                         = 0
 16784  	X3_D_WH_SIZE_X                                                                 = 3
 16785  	X3_EMPTY_INST_VAL_POS_X                                                        = 0
 16786  	X3_EMPTY_INST_WORD_POS_X                                                       = 14
 16787  	X3_EMPTY_INST_WORD_X                                                           = 1
 16788  	X3_EMPTY_SIZE_X                                                                = 2
 16789  	X3_IMM20_INST_WORD_POS_X                                                       = 4
 16790  	X3_IMM20_INST_WORD_X                                                           = 3
 16791  	X3_IMM20_SIGN_VAL_POS_X                                                        = 0
 16792  	X3_IMM20_SIZE_X                                                                = 20
 16793  	X3_IMM39_1_INST_WORD_POS_X                                                     = 0
 16794  	X3_IMM39_1_INST_WORD_X                                                         = 2
 16795  	X3_IMM39_1_SIGN_VAL_POS_X                                                      = 36
 16796  	X3_IMM39_1_SIZE_X                                                              = 23
 16797  	X3_IMM39_2_INST_WORD_POS_X                                                     = 16
 16798  	X3_IMM39_2_INST_WORD_X                                                         = 1
 16799  	X3_IMM39_2_SIGN_VAL_POS_X                                                      = 20
 16800  	X3_IMM39_2_SIZE_X                                                              = 16
 16801  	X3_I_INST_WORD_POS_X                                                           = 27
 16802  	X3_I_INST_WORD_X                                                               = 3
 16803  	X3_I_SIGN_VAL_POS_X                                                            = 59
 16804  	X3_I_SIZE_X                                                                    = 1
 16805  	X3_OPCODE_INST_WORD_POS_X                                                      = 28
 16806  	X3_OPCODE_INST_WORD_X                                                          = 3
 16807  	X3_OPCODE_SIGN_VAL_POS_X                                                       = 0
 16808  	X3_OPCODE_SIZE_X                                                               = 4
 16809  	X3_P_INST_WORD_POS_X                                                           = 0
 16810  	X3_P_INST_WORD_X                                                               = 3
 16811  	X3_P_SIGN_VAL_POS_X                                                            = 0
 16812  	X3_P_SIZE_X                                                                    = 4
 16813  	X3_TMPLT_INST_WORD_POS_X                                                       = 0
 16814  	X3_TMPLT_INST_WORD_X                                                           = 0
 16815  	X3_TMPLT_SIGN_VAL_POS_X                                                        = 0
 16816  	X3_TMPLT_SIZE_X                                                                = 4
 16817  	X509_ASN_ENCODING                                                              = 0x1
 16818  	X509_NDR_ENCODING                                                              = 0x2
 16819  	XACT_E_FIRST                                                                   = 0x8004D000
 16820  	XACT_E_LAST                                                                    = 0x8004D029
 16821  	XACT_S_FIRST                                                                   = 0x0004D000
 16822  	XACT_S_LAST                                                                    = 0x0004D010
 16823  	XBUTTON1                                                                       = 0x0001
 16824  	XBUTTON2                                                                       = 0x0002
 16825  	XCLASS_BOOL                                                                    = 0x1000
 16826  	XCLASS_DATA                                                                    = 0x2000
 16827  	XCLASS_FLAGS                                                                   = 0x4000
 16828  	XCLASS_MASK                                                                    = 0xFC00
 16829  	XCLASS_NOTIFICATION                                                            = 0x8000
 16830  	XSTATE_AVX                                                                     = 2
 16831  	XSTATE_GSSE                                                                    = 2
 16832  	XSTATE_LEGACY_FLOATING_POINT                                                   = 0
 16833  	XSTATE_LEGACY_SSE                                                              = 1
 16834  	XSTATE_MASK_AVX                                                                = 4
 16835  	XSTATE_MASK_GSSE                                                               = 4
 16836  	XSTATE_MASK_LEGACY                                                             = 3
 16837  	XSTATE_MASK_LEGACY_FLOATING_POINT                                              = 1
 16838  	XSTATE_MASK_LEGACY_SSE                                                         = 2
 16839  	XST_ADVACKRCVD                                                                 = 13
 16840  	XST_ADVDATAACKRCVD                                                             = 16
 16841  	XST_ADVDATASENT                                                                = 15
 16842  	XST_ADVSENT                                                                    = 11
 16843  	XST_CONNECTED                                                                  = 2
 16844  	XST_DATARCVD                                                                   = 6
 16845  	XST_EXECACKRCVD                                                                = 10
 16846  	XST_EXECSENT                                                                   = 9
 16847  	XST_INCOMPLETE                                                                 = 1
 16848  	XST_INIT1                                                                      = 3
 16849  	XST_INIT2                                                                      = 4
 16850  	XST_NULL                                                                       = 0
 16851  	XST_POKEACKRCVD                                                                = 8
 16852  	XST_POKESENT                                                                   = 7
 16853  	XST_REQSENT                                                                    = 5
 16854  	XST_UNADVACKRCVD                                                               = 14
 16855  	XST_UNADVSENT                                                                  = 12
 16856  	XTYPF_ACKREQ                                                                   = 0x0008
 16857  	XTYPF_NOBLOCK                                                                  = 0x0002
 16858  	XTYPF_NODATA                                                                   = 0x0004
 16859  	XTYP_ADVDATA                                                                   = 16400
 16860  	XTYP_ADVREQ                                                                    = 8226
 16861  	XTYP_ADVSTART                                                                  = 4144
 16862  	XTYP_ADVSTOP                                                                   = 32832
 16863  	XTYP_CONNECT                                                                   = 4194
 16864  	XTYP_CONNECT_CONFIRM                                                           = 32882
 16865  	XTYP_DISCONNECT                                                                = 32962
 16866  	XTYP_ERROR                                                                     = 32770
 16867  	XTYP_EXECUTE                                                                   = 16464
 16868  	XTYP_MASK                                                                      = 0x00F0
 16869  	XTYP_MONITOR                                                                   = 33010
 16870  	XTYP_POKE                                                                      = 16528
 16871  	XTYP_REGISTER                                                                  = 32930
 16872  	XTYP_REQUEST                                                                   = 8368
 16873  	XTYP_SHIFT                                                                     = 4
 16874  	XTYP_UNREGISTER                                                                = 32978
 16875  	XTYP_WILDCONNECT                                                               = 8418
 16876  	XTYP_XACT_COMPLETE                                                             = 32896
 16877  	X_OK                                                                           = 1
 16878  	ZERO_PADDING                                                                   = 3
 16879  	X_ADXINTRIN_H_INCLUDED                                                         = 0
 16880  	X_AMD64_                                                                       = 0
 16881  	X_AMMINTRIN_H_INCLUDED                                                         = 0
 16882  	X_APIAPPCONTAINER_                                                             = 0
 16883  	X_APISECUREBASE_                                                               = 0
 16884  	X_APISETCCONV_                                                                 = 0
 16885  	X_APISETDEBUG_                                                                 = 0
 16886  	X_APISETFILE_                                                                  = 0
 16887  	X_APISETHANDLE_                                                                = 0
 16888  	X_APISETLIBLOADER_                                                             = 0
 16889  	X_APISETNAMESPACE_                                                             = 0
 16890  	X_APISETREALTIME_                                                              = 0
 16891  	X_APISETSTRING_                                                                = 0
 16892  	X_APISETUTIL_                                                                  = 0
 16893  	X_API_SET_H_                                                                   = 0
 16894  	X_APPIDREGFLAGS_DEFINED                                                        = 0
 16895  	X_AUTH_IDENTITY_DEFINED                                                        = 0
 16896  	X_AVX2INTRIN_H_INCLUDED                                                        = 0
 16897  	X_AVX5124FMAPSINTRIN_H_INCLUDED                                                = 0
 16898  	X_AVX5124VNNIWINTRIN_H_INCLUDED                                                = 0
 16899  	X_AVX512BF16INTRIN_H_INCLUDED                                                  = 0
 16900  	X_AVX512BF16VLINTRIN_H_INCLUDED                                                = 0
 16901  	X_AVX512BITALGINTRIN_H_INCLUDED                                                = 0
 16902  	X_AVX512BWINTRIN_H_INCLUDED                                                    = 0
 16903  	X_AVX512CDINTRIN_H_INCLUDED                                                    = 0
 16904  	X_AVX512DQINTRIN_H_INCLUDED                                                    = 0
 16905  	X_AVX512ERINTRIN_H_INCLUDED                                                    = 0
 16906  	X_AVX512FINTRIN_H_INCLUDED                                                     = 0
 16907  	X_AVX512IFMAINTRIN_H_INCLUDED                                                  = 0
 16908  	X_AVX512IFMAVLINTRIN_H_INCLUDED                                                = 0
 16909  	X_AVX512PFINTRIN_H_INCLUDED                                                    = 0
 16910  	X_AVX512VBMI2VLINTRIN_H_INCLUDED                                               = 0
 16911  	X_AVX512VBMIINTRIN_H_INCLUDED                                                  = 0
 16912  	X_AVX512VBMIVLINTRIN_H_INCLUDED                                                = 0
 16913  	X_AVX512VLBWINTRIN_H_INCLUDED                                                  = 0
 16914  	X_AVX512VLDQINTRIN_H_INCLUDED                                                  = 0
 16915  	X_AVX512VLINTRIN_H_INCLUDED                                                    = 0
 16916  	X_AVX512VNNIVLINTRIN_H_INCLUDED                                                = 0
 16917  	X_AVX512VP2INTERSECTINTRIN_H_INCLUDED                                          = 0
 16918  	X_AVX512VP2INTERSECTVLINTRIN_H_INCLUDED                                        = 0
 16919  	X_AVX512VPOPCNTDQINTRIN_H_INCLUDED                                             = 0
 16920  	X_AVX512VPOPCNTDQVLINTRIN_H_INCLUDED                                           = 0
 16921  	X_AVXINTRIN_H_INCLUDED                                                         = 0
 16922  	X_A_ARCH                                                                       = 0x20
 16923  	X_A_HIDDEN                                                                     = 0x02
 16924  	X_A_NORMAL                                                                     = 0x00
 16925  	X_A_RDONLY                                                                     = 0x01
 16926  	X_A_SUBDIR                                                                     = 0x10
 16927  	X_A_SYSTEM                                                                     = 0x04
 16928  	X_BASETSD_H_                                                                   = 0
 16929  	X_BEM_H_                                                                       = 0
 16930  	X_BLOB_DEFINED                                                                 = 0
 16931  	X_BMI2INTRIN_H_INCLUDED                                                        = 0
 16932  	X_BMIINTRIN_H_INCLUDED                                                         = 0
 16933  	X_BOOLEAN_                                                                     = 0
 16934  	X_BSDTYPES_DEFINED                                                             = 0
 16935  	X_Benign_race_begin_                                                           = 0
 16936  	X_Benign_race_end_                                                             = 0
 16937  	X_CETINTRIN_H_INCLUDED                                                         = 0
 16938  	X_CLDEMOTE_H_INCLUDED                                                          = 0
 16939  	X_CLFLUSHOPTINTRIN_H_INCLUDED                                                  = 0
 16940  	X_CLOCK_T_DEFINED                                                              = 0
 16941  	X_CLWBINTRIN_H_INCLUDED                                                        = 0
 16942  	X_CLZEROINTRIN_H_INCLUDED                                                      = 0
 16943  	X_CMP_EQ_OQ                                                                    = 0x00
 16944  	X_CMP_EQ_OS                                                                    = 0x10
 16945  	X_CMP_EQ_UQ                                                                    = 0x08
 16946  	X_CMP_EQ_US                                                                    = 0x18
 16947  	X_CMP_FALSE_OQ                                                                 = 0x0b
 16948  	X_CMP_FALSE_OS                                                                 = 0x1b
 16949  	X_CMP_GE_OQ                                                                    = 0x1d
 16950  	X_CMP_GE_OS                                                                    = 0x0d
 16951  	X_CMP_GT_OQ                                                                    = 0x1e
 16952  	X_CMP_GT_OS                                                                    = 0x0e
 16953  	X_CMP_LE_OQ                                                                    = 0x12
 16954  	X_CMP_LE_OS                                                                    = 0x02
 16955  	X_CMP_LT_OQ                                                                    = 0x11
 16956  	X_CMP_LT_OS                                                                    = 0x01
 16957  	X_CMP_NEQ_OQ                                                                   = 0x0c
 16958  	X_CMP_NEQ_OS                                                                   = 0x1c
 16959  	X_CMP_NEQ_UQ                                                                   = 0x04
 16960  	X_CMP_NEQ_US                                                                   = 0x14
 16961  	X_CMP_NGE_UQ                                                                   = 0x19
 16962  	X_CMP_NGE_US                                                                   = 0x09
 16963  	X_CMP_NGT_UQ                                                                   = 0x1a
 16964  	X_CMP_NGT_US                                                                   = 0x0a
 16965  	X_CMP_NLE_UQ                                                                   = 0x16
 16966  	X_CMP_NLE_US                                                                   = 0x06
 16967  	X_CMP_NLT_UQ                                                                   = 0x15
 16968  	X_CMP_NLT_US                                                                   = 0x05
 16969  	X_CMP_ORD_Q                                                                    = 0x07
 16970  	X_CMP_ORD_S                                                                    = 0x17
 16971  	X_CMP_TRUE_UQ                                                                  = 0x0f
 16972  	X_CMP_TRUE_US                                                                  = 0x1f
 16973  	X_CMP_UNORD_Q                                                                  = 0x03
 16974  	X_CMP_UNORD_S                                                                  = 0x13
 16975  	X_COMBASEAPI_H_                                                                = 0
 16976  	X_COM_Outptr_                                                                  = 0
 16977  	X_COM_Outptr_opt_                                                              = 0
 16978  	X_COM_Outptr_opt_result_maybenull_                                             = 0
 16979  	X_COM_Outptr_result_maybenull_                                                 = 0
 16980  	X_CRT_SECURE_NO_DEPRECATE                                                      = 0
 16981  	X_CY_DEFINED                                                                   = 0
 16982  	X_Const_                                                                       = 0
 16983  	X_DATETIMEAPI_H_                                                               = 0
 16984  	X_DCOMSCM_REMOTECALL_FLAGS_DEFINED                                             = 0
 16985  	X_DDEHEADER_INCLUDED_                                                          = 0
 16986  	X_DEF_WINBOOL_                                                                 = 0
 16987  	X_DEVIOCTL_                                                                    = 0
 16988  	X_DEV_T_DEFINED                                                                = 0
 16989  	X_DISKFREE_T_DEFINED                                                           = 0
 16990  	X_DLGSH_INCLUDED_                                                              = 0
 16991  	X_DPI_AWARENESS_CONTEXTS_                                                      = 0
 16992  	X_DWORDLONG_                                                                   = 0
 16993  	X_EMMINTRIN_H_INCLUDED                                                         = 0
 16994  	X_ENQCMDINTRIN_H_INCLUDED                                                      = 0
 16995  	X_ERRHANDLING_H_                                                               = 0
 16996  	X_ERROR_STATUS_T_DEFINED                                                       = 0
 16997  	X_F16CINTRIN_H_INCLUDED                                                        = 0
 16998  	X_FD_SET_WINSOCK_DEFINED                                                       = 0
 16999  	X_FIBERS_H_                                                                    = 0
 17000  	X_FILESYSTEMFSCTL_                                                             = 0
 17001  	X_FILETIME_                                                                    = 0
 17002  	X_FILE_OFFSET_BITS_SET_LSEEK                                                   = 0
 17003  	X_FINDDATA_T_DEFINED                                                           = 0
 17004  	X_FLT_WINERROR_                                                                = 0
 17005  	X_FMA4INTRIN_H_INCLUDED                                                        = 0
 17006  	X_FMAINTRIN_H_INCLUDED                                                         = 0
 17007  	X_FORCENAMELESSUNION                                                           = 1
 17008  	X_FSIZE_T_DEFINED                                                              = 0
 17009  	X_FXSRINTRIN_H_INCLUDED                                                        = 0
 17010  	X_Field_z_                                                                     = 0
 17011  	X_GETDISKFREE_DEFINED                                                          = 0
 17012  	X_GFNIINTRIN_H_INCLUDED                                                        = 0
 17013  	X_GUIDDEF_H_                                                                   = 0
 17014  	X_HEAPAPI_H_                                                                   = 0
 17015  	X_HITLOGGING_DEFINED                                                           = 0
 17016  	X_HPOWERNOTIFY_DEF_                                                            = 0
 17017  	X_HRESULT_DEFINED                                                              = 0
 17018  	X_HYPER_DEFINED                                                                = 0
 17019  	X_IMMINTRIN_H_INCLUDED                                                         = 0
 17020  	X_IMM_                                                                         = 0
 17021  	X_IMM_SDK_DEFINED_                                                             = 0
 17022  	X_INC_CDERR                                                                    = 0
 17023  	X_INC_COMMDLG                                                                  = 0
 17024  	X_INC_CRT_UNICODE_MACROS                                                       = 2
 17025  	X_INC_DDEMLH                                                                   = 0
 17026  	X_INC_DIRECT                                                                   = 0
 17027  	X_INC_ERRNO                                                                    = 0
 17028  	X_INC_EXCPT                                                                    = 0
 17029  	X_INC_FCNTL                                                                    = 0
 17030  	X_INC_MMSYSTEM                                                                 = 0
 17031  	X_INC_SDKDDKVER                                                                = 0
 17032  	X_INC_SHELLAPI                                                                 = 0
 17033  	X_INC_STAT                                                                     = 0
 17034  	X_INC_TYPES                                                                    = 0
 17035  	X_INC_VIRTDISK                                                                 = 0
 17036  	X_INC_WINAPIFAMILY                                                             = 0
 17037  	X_INC_WINDOWS                                                                  = 0
 17038  	X_INC_WTIME_INL                                                                = 0
 17039  	X_INC_WTIME_S_INL                                                              = 0
 17040  	X_INO_T_DEFINED                                                                = 0
 17041  	X_INTERLOCKAPI_H_                                                              = 0
 17042  	X_INTRIN_MAC_                                                                  = 0
 17043  	X_IO_APISET_H_                                                                 = 0
 17044  	X_IO_H_                                                                        = 0
 17045  	X_IRQL_requires_same_                                                          = 0
 17046  	X_IRQL_restores_                                                               = 0
 17047  	X_IRQL_saves_                                                                  = 0
 17048  	X_In_                                                                          = 0
 17049  	X_In_opt_                                                                      = 0
 17050  	X_In_opt_z_                                                                    = 0
 17051  	X_In_z_                                                                        = 0
 17052  	X_Inout_                                                                       = 0
 17053  	X_Inout_opt_                                                                   = 0
 17054  	X_Inout_opt_z_                                                                 = 0
 17055  	X_Inout_z_                                                                     = 0
 17056  	X_Interlocked_                                                                 = 0
 17057  	X_JOBAPISET_H_                                                                 = 0
 17058  	X_KTMTYPES_                                                                    = 0
 17059  	X_LANGID_DEFINED                                                               = 0
 17060  	X_LARGE_INTEGER_DEFINED                                                        = 0
 17061  	X_LCID_DEFINED                                                                 = 0
 17062  	X_LDT_ENTRY_DEFINED                                                            = 0
 17063  	X_LIST_ENTRY_DEFINED                                                           = 0
 17064  	X_LOGPALETTE_DEFINED                                                           = 0
 17065  	X_LPAUTHENTICATIONEX_DEFINED                                                   = 0
 17066  	X_LPAUTHENTICATION_DEFINED                                                     = 0
 17067  	X_LPBINDCALLBACKREDIRECT_DEFINED                                               = 0
 17068  	X_LPBINDHOST_DEFINED                                                           = 0
 17069  	X_LPBINDING_DEFINED                                                            = 0
 17070  	X_LPBINDPROTOCOL_DEFINED                                                       = 0
 17071  	X_LPBINDSTATUSCALLBACKEX_DEFINED                                               = 0
 17072  	X_LPBINDSTATUSCALLBACK_DEFINED                                                 = 0
 17073  	X_LPBLOB_DEFINED                                                               = 0
 17074  	X_LPCATALOGFILEINFO_DEFINED                                                    = 0
 17075  	X_LPCBYTE_DEFINED                                                              = 0
 17076  	X_LPCODEINSTALL_DEFINED                                                        = 0
 17077  	X_LPCVOID_DEFINED                                                              = 0
 17078  	X_LPDATAFILTER_DEFINED                                                         = 0
 17079  	X_LPENCODINGFILTERFACTORY_DEFINED                                              = 0
 17080  	X_LPGETBINDHANDLE_DEFINED                                                      = 0
 17081  	X_LPHTTPNEGOTIATE2_DEFINED                                                     = 0
 17082  	X_LPHTTPNEGOTIATE3_DEFINED                                                     = 0
 17083  	X_LPHTTPNEGOTIATE_DEFINED                                                      = 0
 17084  	X_LPHTTPSECURITY_DEFINED                                                       = 0
 17085  	X_LPIINTERNET                                                                  = 0
 17086  	X_LPIINTERNETBINDINFO                                                          = 0
 17087  	X_LPIINTERNETBINDINFOEX                                                        = 0
 17088  	X_LPIINTERNETPRIORITY_DEFINED                                                  = 0
 17089  	X_LPIINTERNETPROTOCOLINFO_DEFINED                                              = 0
 17090  	X_LPIINTERNETPROTOCOLROOT_DEFINED                                              = 0
 17091  	X_LPIINTERNETPROTOCOLSINKSTACKABLE_DEFINED                                     = 0
 17092  	X_LPIINTERNETPROTOCOLSINK_DEFINED                                              = 0
 17093  	X_LPIINTERNETPROTOCOL_DEFINED                                                  = 0
 17094  	X_LPIINTERNETSESSION_DEFINED                                                   = 0
 17095  	X_LPIINTERNETTHREADSWITCH_DEFINED                                              = 0
 17096  	X_LPINTERNETHOSTSECURITYMANANGER_DEFINED                                       = 0
 17097  	X_LPINTERNETSECURITYMANANGER_DEFINED                                           = 0
 17098  	X_LPINTERNETSECURITYMGRSITE_DEFINED                                            = 0
 17099  	X_LPINTERNETZONEMANAGER_DEFINED                                                = 0
 17100  	X_LPIWRAPPEDPROTOCOL_DEFINED                                                   = 0
 17101  	X_LPMONIKERPROP_DEFINED                                                        = 0
 17102  	X_LPPERSISTMONIKER_DEFINED                                                     = 0
 17103  	X_LPSOFTDISTEXT_DEFINED                                                        = 0
 17104  	X_LPWINDOWFORBINDINGUI_DEFINED                                                 = 0
 17105  	X_LPWININETFILESTREAM_DEFINED                                                  = 0
 17106  	X_LPWININETHTTPINFO_DEFINED                                                    = 0
 17107  	X_LPWININETHTTPTIMEOUTS_DEFINED                                                = 0
 17108  	X_LPWININETINFO_DEFINED                                                        = 0
 17109  	X_LWPINTRIN_H_INCLUDED                                                         = 0
 17110  	X_LZCNTINTRIN_H_INCLUDED                                                       = 0
 17111  	X_LZEXPAND_                                                                    = 0
 17112  	X_Literal_                                                                     = 0
 17113  	X_MCIDEVICEID_                                                                 = 0
 17114  	X_MCIERROR_                                                                    = 0
 17115  	X_MCX_H_                                                                       = 0
 17116  	X_MEMORYAPI_H_                                                                 = 0
 17117  	X_MINGW_IP_MREQ1_H                                                             = 0
 17118  	X_MINGW_IP_TYPES_H                                                             = 0
 17119  	X_MINWINBASE_                                                                  = 0
 17120  	X_MINWINDEF_                                                                   = 0
 17121  	X_MM3DNOW_H_INCLUDED                                                           = 0
 17122  	X_MMINTRIN_H_INCLUDED                                                          = 0
 17123  	X_MMRESULT_                                                                    = 0
 17124  	X_MM_CMPINT_EQ                                                                 = 0x0
 17125  	X_MM_CMPINT_GE                                                                 = 0x5
 17126  	X_MM_CMPINT_GT                                                                 = 0x6
 17127  	X_MM_CMPINT_LE                                                                 = 0x2
 17128  	X_MM_CMPINT_LT                                                                 = 0x1
 17129  	X_MM_CMPINT_NE                                                                 = 0x4
 17130  	X_MM_CMPINT_NLE                                                                = 0x6
 17131  	X_MM_CMPINT_NLT                                                                = 0x5
 17132  	X_MM_CMPINT_UNUSED                                                             = 0x3
 17133  	X_MM_DENORMALS_ZERO_MASK                                                       = 0x0040
 17134  	X_MM_DENORMALS_ZERO_OFF                                                        = 0x0000
 17135  	X_MM_DENORMALS_ZERO_ON                                                         = 0x0040
 17136  	X_MM_EXCEPT_DENORM                                                             = 0x0002
 17137  	X_MM_EXCEPT_DIV_ZERO                                                           = 0x0004
 17138  	X_MM_EXCEPT_INEXACT                                                            = 0x0020
 17139  	X_MM_EXCEPT_INVALID                                                            = 0x0001
 17140  	X_MM_EXCEPT_MASK                                                               = 0x003f
 17141  	X_MM_EXCEPT_OVERFLOW                                                           = 0x0008
 17142  	X_MM_EXCEPT_UNDERFLOW                                                          = 0x0010
 17143  	X_MM_FLUSH_ZERO_MASK                                                           = 0x8000
 17144  	X_MM_FLUSH_ZERO_OFF                                                            = 0x0000
 17145  	X_MM_FLUSH_ZERO_ON                                                             = 0x8000
 17146  	X_MM_FROUND_CEIL                                                               = 2
 17147  	X_MM_FROUND_CUR_DIRECTION                                                      = 0x04
 17148  	X_MM_FROUND_FLOOR                                                              = 1
 17149  	X_MM_FROUND_NEARBYINT                                                          = 12
 17150  	X_MM_FROUND_NINT                                                               = 0
 17151  	X_MM_FROUND_NO_EXC                                                             = 0x08
 17152  	X_MM_FROUND_RAISE_EXC                                                          = 0x00
 17153  	X_MM_FROUND_RINT                                                               = 4
 17154  	X_MM_FROUND_TO_NEAREST_INT                                                     = 0x00
 17155  	X_MM_FROUND_TO_NEG_INF                                                         = 0x01
 17156  	X_MM_FROUND_TO_POS_INF                                                         = 0x02
 17157  	X_MM_FROUND_TO_ZERO                                                            = 0x03
 17158  	X_MM_FROUND_TRUNC                                                              = 3
 17159  	X_MM_MASK_DENORM                                                               = 0x0100
 17160  	X_MM_MASK_DIV_ZERO                                                             = 0x0200
 17161  	X_MM_MASK_INEXACT                                                              = 0x1000
 17162  	X_MM_MASK_INVALID                                                              = 0x0080
 17163  	X_MM_MASK_MASK                                                                 = 0x1f80
 17164  	X_MM_MASK_OVERFLOW                                                             = 0x0400
 17165  	X_MM_MASK_UNDERFLOW                                                            = 0x0800
 17166  	X_MM_ROUND_DOWN                                                                = 0x2000
 17167  	X_MM_ROUND_MASK                                                                = 0x6000
 17168  	X_MM_ROUND_NEAREST                                                             = 0x0000
 17169  	X_MM_ROUND_TOWARD_ZERO                                                         = 0x6000
 17170  	X_MM_ROUND_UP                                                                  = 0x4000
 17171  	X_MODE_T_                                                                      = 0
 17172  	X_MOVDIRINTRIN_H_INCLUDED                                                      = 0
 17173  	X_MWAITXINTRIN_H_INCLUDED                                                      = 0
 17174  	X_Maybe_raises_SEH_exception_                                                  = 0
 17175  	X_Must_inspect_result_                                                         = 0
 17176  	X_NAMEDPIPE_H_                                                                 = 0
 17177  	X_NTDDDISK_H_                                                                  = 0
 17178  	X_NTDDSCRD_H2_                                                                 = 0
 17179  	X_NTDDSTOR_H_                                                                  = 0
 17180  	X_NTDDTAPE_WINNT_                                                              = 0
 17181  	X_NTSTATUS_PSDK                                                                = 0
 17182  	X_NTTMAPI_                                                                     = 0
 17183  	X_NT_TIB_DEFINED                                                               = 0
 17184  	X_No_competing_thread_                                                         = 0
 17185  	X_No_competing_thread_begin_                                                   = 0
 17186  	X_No_competing_thread_end_                                                     = 0
 17187  	X_Notliteral_                                                                  = 0
 17188  	X_NullNull_terminated_                                                         = 0
 17189  	X_Null_terminated_                                                             = 0
 17190  	X_OBJBASE_H_                                                                   = 0
 17191  	X_OBJIDLBASE_                                                                  = 0
 17192  	X_OLE2_H_                                                                      = 0
 17193  	X_OLEAUTO_H_                                                                   = 0
 17194  	X_O_ACCMODE                                                                    = 3
 17195  	X_O_APPEND                                                                     = 0x0008
 17196  	X_O_BINARY                                                                     = 0x8000
 17197  	X_O_CREAT                                                                      = 0x0100
 17198  	X_O_EXCL                                                                       = 0x0400
 17199  	X_O_NOINHERIT                                                                  = 0x0080
 17200  	X_O_RANDOM                                                                     = 0x0010
 17201  	X_O_RAW                                                                        = 32768
 17202  	X_O_RDONLY                                                                     = 0x0000
 17203  	X_O_RDWR                                                                       = 0x0002
 17204  	X_O_SEQUENTIAL                                                                 = 0x0020
 17205  	X_O_SHORT_LIVED                                                                = 0x1000
 17206  	X_O_TEMPORARY                                                                  = 0x0040
 17207  	X_O_TEXT                                                                       = 0x4000
 17208  	X_O_TRUNC                                                                      = 0x0200
 17209  	X_O_U16TEXT                                                                    = 0x20000
 17210  	X_O_U8TEXT                                                                     = 0x40000
 17211  	X_O_WRONLY                                                                     = 0x0001
 17212  	X_O_WTEXT                                                                      = 0x10000
 17213  	X_Out_                                                                         = 0
 17214  	X_Out_opt_                                                                     = 0
 17215  	X_Outptr_                                                                      = 0
 17216  	X_Outptr_opt_                                                                  = 0
 17217  	X_Outptr_opt_result_maybenull_                                                 = 0
 17218  	X_Outptr_opt_result_maybenull_z_                                               = 0
 17219  	X_Outptr_opt_result_nullonfailure_                                             = 0
 17220  	X_Outptr_opt_result_z_                                                         = 0
 17221  	X_Outptr_result_maybenull_                                                     = 0
 17222  	X_Outptr_result_maybenull_z_                                                   = 0
 17223  	X_Outptr_result_nullonfailure_                                                 = 0
 17224  	X_Outptr_result_z_                                                             = 0
 17225  	X_Outref_                                                                      = 0
 17226  	X_Outref_result_maybenull_                                                     = 0
 17227  	X_Outref_result_nullonfailure_                                                 = 0
 17228  	X_PALETTEENTRY_DEFINED                                                         = 0
 17229  	X_PCONFIGINTRIN_H_INCLUDED                                                     = 0
 17230  	X_PID_T_                                                                       = 0
 17231  	X_PKUINTRIN_H_INCLUDED                                                         = 0
 17232  	X_PMMINTRIN_H_INCLUDED                                                         = 0
 17233  	X_POPCNTINTRIN_H_INCLUDED                                                      = 0
 17234  	X_POSIX_CPUTIME                                                                = 200809
 17235  	X_POSIX_MONOTONIC_CLOCK                                                        = 200809
 17236  	X_POSIX_THREAD_CPUTIME                                                         = 200809
 17237  	X_POSIX_TIMERS                                                                 = 200809
 17238  	X_PRFCHWINTRIN_H_INCLUDED                                                      = 0
 17239  	X_PROCESSENV_                                                                  = 0
 17240  	X_PROCESSTHREADSAPI_H_                                                         = 0
 17241  	X_PROCESSTOPOLOGYAPI_H_                                                        = 0
 17242  	X_PROFILEAPI_H_                                                                = 0
 17243  	X_PROPVARIANTINIT_DEFINED_                                                     = 0
 17244  	X_PROVIDER_STRUCTS_DEFINED                                                     = 0
 17245  	X_PRSHT_H_                                                                     = 0
 17246  	X_Points_to_data_                                                              = 0
 17247  	X_Post_                                                                        = 0
 17248  	X_Post_equals_last_error_                                                      = 0
 17249  	X_Pre_notnull_                                                                 = 0
 17250  	X_Printf_format_string_                                                        = 0
 17251  	X_RDSEEDINTRIN_H_INCLUDED                                                      = 0
 17252  	X_REFCLSID_DEFINED                                                             = 0
 17253  	X_REFFMTID_DEFINED                                                             = 0
 17254  	X_REFGUID_DEFINED                                                              = 0
 17255  	X_REFIID_DEFINED                                                               = 0
 17256  	X_REFPROPVARIANT_DEFINED                                                       = 0
 17257  	X_REFVARIANT_DEFINED                                                           = 0
 17258  	X_ROTFLAGS_DEFINED                                                             = 0
 17259  	X_ROTREGFLAGS_DEFINED                                                          = 0
 17260  	X_ROT_COMPARE_MAX_DEFINED                                                      = 0
 17261  	X_RTL_RUN_ONCE_DEF                                                             = 1
 17262  	X_RTMINTRIN_H_INCLUDED                                                         = 0
 17263  	X_Raises_SEH_exception_                                                        = 0
 17264  	X_Requires_no_locks_held_                                                      = 0
 17265  	X_Reserved_                                                                    = 0
 17266  	X_Result_nullonfailure_                                                        = 0
 17267  	X_Result_zeroonfailure_                                                        = 0
 17268  	X_Ret_maybenull_                                                               = 0
 17269  	X_Ret_maybenull_z_                                                             = 0
 17270  	X_Ret_notnull_                                                                 = 0
 17271  	X_Ret_null_                                                                    = 0
 17272  	X_Ret_valid_                                                                   = 0
 17273  	X_Ret_z_                                                                       = 0
 17274  	X_SECURECRT_ERRCODE_VALUES_DEFINED                                             = 0
 17275  	X_SERIALIZEDPROPERTYVALUE_DEFINED_                                             = 0
 17276  	X_SGXINTRIN_H_INCLUDED                                                         = 0
 17277  	X_SHAINTRIN_H_INCLUDED                                                         = 0
 17278  	X_SIDD_BIT_MASK                                                                = 0x00
 17279  	X_SIDD_CMP_EQUAL_ANY                                                           = 0x00
 17280  	X_SIDD_CMP_EQUAL_EACH                                                          = 0x08
 17281  	X_SIDD_CMP_EQUAL_ORDERED                                                       = 0x0c
 17282  	X_SIDD_CMP_RANGES                                                              = 0x04
 17283  	X_SIDD_LEAST_SIGNIFICANT                                                       = 0x00
 17284  	X_SIDD_MASKED_NEGATIVE_POLARITY                                                = 0x30
 17285  	X_SIDD_MASKED_POSITIVE_POLARITY                                                = 0x20
 17286  	X_SIDD_MOST_SIGNIFICANT                                                        = 0x40
 17287  	X_SIDD_NEGATIVE_POLARITY                                                       = 0x10
 17288  	X_SIDD_POSITIVE_POLARITY                                                       = 0x00
 17289  	X_SIDD_SBYTE_OPS                                                               = 0x02
 17290  	X_SIDD_SWORD_OPS                                                               = 0x03
 17291  	X_SIDD_UBYTE_OPS                                                               = 0x00
 17292  	X_SIDD_UNIT_MASK                                                               = 0x40
 17293  	X_SIDD_UWORD_OPS                                                               = 0x01
 17294  	X_SIGSET_T_                                                                    = 0
 17295  	X_SLIST_HEADER_                                                                = 0
 17296  	X_SMMINTRIN_H_INCLUDED                                                         = 0
 17297  	X_STAT_DEFINED                                                                 = 0
 17298  	X_STRALIGN_USE_SECURE_CRT                                                      = 0
 17299  	X_SYNCHAPI_H_                                                                  = 0
 17300  	X_SYSINFOAPI_H_                                                                = 0
 17301  	X_SYSTEMTIME_                                                                  = 0
 17302  	X_SYSTEMTOPOLOGY_H_                                                            = 0
 17303  	X_SYS_GUID_OPERATORS_                                                          = 0
 17304  	X_SYS_GUID_OPERATOR_EQ_                                                        = 0
 17305  	X_S_IEXEC                                                                      = 0x0040
 17306  	X_S_IFBLK                                                                      = 0x3000
 17307  	X_S_IFCHR                                                                      = 0x2000
 17308  	X_S_IFDIR                                                                      = 0x4000
 17309  	X_S_IFIFO                                                                      = 0x1000
 17310  	X_S_IFMT                                                                       = 0xF000
 17311  	X_S_IFREG                                                                      = 0x8000
 17312  	X_S_IREAD                                                                      = 0x0100
 17313  	X_S_IRUSR                                                                      = 256
 17314  	X_S_IRWXU                                                                      = 448
 17315  	X_S_IWRITE                                                                     = 0x0080
 17316  	X_S_IWUSR                                                                      = 128
 17317  	X_S_IXUSR                                                                      = 64
 17318  	X_Scanf_format_string_                                                         = 0
 17319  	X_Scanf_s_format_string_                                                       = 0
 17320  	X_Strict_type_match_                                                           = 0
 17321  	X_TBMINTRIN_H_INCLUDED                                                         = 0
 17322  	X_TEXTMETRIC_DEFINED                                                           = 0
 17323  	X_THREADPOOLAPISET_H_                                                          = 0
 17324  	X_THREADPOOLLEGACYAPISET_H_                                                    = 0
 17325  	X_TIMEB_DEFINED                                                                = 0
 17326  	X_TIMEB_H_                                                                     = 0
 17327  	X_TIMEB_H_S                                                                    = 0
 17328  	X_TIMESPEC_DEFINED                                                             = 0
 17329  	X_TIMEVAL_DEFINED                                                              = 0
 17330  	X_TIMEZONEAPI_H_                                                               = 0
 17331  	X_TIMEZONE_DEFINED                                                             = 0
 17332  	X_TIME_H_                                                                      = 0
 17333  	X_TMMINTRIN_H_INCLUDED                                                         = 0
 17334  	X_TM_DEFINED                                                                   = 0
 17335  	X_ULONGLONG_                                                                   = 0
 17336  	X_Use_decl_annotations_                                                        = 0
 17337  	X_VPCLMULQDQINTRIN_H_INCLUDED                                                  = 0
 17338  	X_WAITPKG_H_INCLUDED                                                           = 0
 17339  	X_WAVEFORMATEX_                                                                = 0
 17340  	X_WBNOINVDINTRIN_H_INCLUDED                                                    = 0
 17341  	X_WDIRECT_DEFINED                                                              = 0
 17342  	X_WFINDDATA_T_DEFINED                                                          = 0
 17343  	X_WIN32_IE                                                                     = 1538
 17344  	X_WIN32_IE_IE100                                                               = 0x0a00
 17345  	X_WIN32_IE_IE110                                                               = 0x0A00
 17346  	X_WIN32_IE_IE20                                                                = 0x0200
 17347  	X_WIN32_IE_IE30                                                                = 0x0300
 17348  	X_WIN32_IE_IE302                                                               = 0x0302
 17349  	X_WIN32_IE_IE40                                                                = 0x0400
 17350  	X_WIN32_IE_IE401                                                               = 0x0401
 17351  	X_WIN32_IE_IE50                                                                = 0x0500
 17352  	X_WIN32_IE_IE501                                                               = 0x0501
 17353  	X_WIN32_IE_IE55                                                                = 0x0550
 17354  	X_WIN32_IE_IE60                                                                = 0x0600
 17355  	X_WIN32_IE_IE60SP1                                                             = 0x0601
 17356  	X_WIN32_IE_IE60SP2                                                             = 0x0603
 17357  	X_WIN32_IE_IE70                                                                = 0x0700
 17358  	X_WIN32_IE_IE80                                                                = 0x0800
 17359  	X_WIN32_IE_IE90                                                                = 0x0900
 17360  	X_WIN32_IE_LONGHORN                                                            = 1792
 17361  	X_WIN32_IE_NT4                                                                 = 512
 17362  	X_WIN32_IE_NT4SP1                                                              = 512
 17363  	X_WIN32_IE_NT4SP2                                                              = 512
 17364  	X_WIN32_IE_NT4SP3                                                              = 770
 17365  	X_WIN32_IE_NT4SP4                                                              = 1025
 17366  	X_WIN32_IE_NT4SP5                                                              = 1025
 17367  	X_WIN32_IE_NT4SP6                                                              = 1280
 17368  	X_WIN32_IE_WIN10                                                               = 2560
 17369  	X_WIN32_IE_WIN2K                                                               = 1281
 17370  	X_WIN32_IE_WIN2KSP1                                                            = 1281
 17371  	X_WIN32_IE_WIN2KSP2                                                            = 1281
 17372  	X_WIN32_IE_WIN2KSP3                                                            = 1281
 17373  	X_WIN32_IE_WIN2KSP4                                                            = 1281
 17374  	X_WIN32_IE_WIN6                                                                = 1792
 17375  	X_WIN32_IE_WIN7                                                                = 2048
 17376  	X_WIN32_IE_WIN8                                                                = 2560
 17377  	X_WIN32_IE_WIN98                                                               = 1025
 17378  	X_WIN32_IE_WIN98SE                                                             = 1280
 17379  	X_WIN32_IE_WINBLUE                                                             = 2560
 17380  	X_WIN32_IE_WINME                                                               = 1360
 17381  	X_WIN32_IE_WINTHRESHOLD                                                        = 2560
 17382  	X_WIN32_IE_WS03                                                                = 0x0602
 17383  	X_WIN32_IE_WS03SP1                                                             = 1539
 17384  	X_WIN32_IE_XP                                                                  = 1536
 17385  	X_WIN32_IE_XPSP1                                                               = 1537
 17386  	X_WIN32_IE_XPSP2                                                               = 1539
 17387  	X_WIN32_WINNT_LONGHORN                                                         = 0x0600
 17388  	X_WIN32_WINNT_NT4                                                              = 0x0400
 17389  	X_WIN32_WINNT_VISTA                                                            = 0x0600
 17390  	X_WIN32_WINNT_WIN10                                                            = 0x0A00
 17391  	X_WIN32_WINNT_WIN2K                                                            = 0x0500
 17392  	X_WIN32_WINNT_WIN6                                                             = 0x0600
 17393  	X_WIN32_WINNT_WIN7                                                             = 0x0601
 17394  	X_WIN32_WINNT_WIN8                                                             = 0x0602
 17395  	X_WIN32_WINNT_WINBLUE                                                          = 0x0603
 17396  	X_WIN32_WINNT_WINTHRESHOLD                                                     = 0x0A00
 17397  	X_WIN32_WINNT_WINXP                                                            = 0x0501
 17398  	X_WIN32_WINNT_WS03                                                             = 0x0502
 17399  	X_WIN32_WINNT_WS08                                                             = 0x0600
 17400  	X_WINBASE_                                                                     = 0
 17401  	X_WINCON_                                                                      = 0
 17402  	X_WINDEF_                                                                      = 0
 17403  	X_WINDOWS_                                                                     = 0
 17404  	X_WINERROR_                                                                    = 0
 17405  	X_WINGDI_                                                                      = 0
 17406  	X_WINIOCTL_                                                                    = 0
 17407  	X_WINNETWK_                                                                    = 0
 17408  	X_WINNLS_                                                                      = 0
 17409  	X_WINNT_                                                                       = 0
 17410  	X_WINPERF_                                                                     = 0
 17411  	X_WINREG_                                                                      = 0
 17412  	X_WINSCARD_H_                                                                  = 0
 17413  	X_WINSOCKAPI_                                                                  = 0
 17414  	X_WINSPOOL_                                                                    = 0
 17415  	X_WINSVC_                                                                      = 0
 17416  	X_WINUSER_                                                                     = 0
 17417  	X_WIO_DEFINED                                                                  = 0
 17418  	X_WMMINTRIN_H_INCLUDED                                                         = 0
 17419  	X_WNNC_                                                                        = 0
 17420  	X_WOW64APISET_H_                                                               = 0
 17421  	X_WSTAT_DEFINED                                                                = 0
 17422  	X_WTIME_DEFINED                                                                = 0
 17423  	X_X86INTRIN_H_INCLUDED                                                         = 0
 17424  	X_XABORT_CAPACITY                                                              = 8
 17425  	X_XABORT_CONFLICT                                                              = 4
 17426  	X_XABORT_DEBUG                                                                 = 16
 17427  	X_XABORT_EXPLICIT                                                              = 1
 17428  	X_XABORT_NESTED                                                                = 32
 17429  	X_XABORT_RETRY                                                                 = 2
 17430  	X_XBEGIN_STARTED                                                               = 18446744073709551615
 17431  	X_XFORM_                                                                       = 0
 17432  	X_XHRPLUGGABLEPROTOCOL_DEFINED                                                 = 0
 17433  	X_XMMINTRIN_H_INCLUDED                                                         = 0
 17434  	X_XOPMMINTRIN_H_INCLUDED                                                       = 0
 17435  	X_XSAVECINTRIN_H_INCLUDED                                                      = 0
 17436  	X_XSAVEINTRIN_H_INCLUDED                                                       = 0
 17437  	X_XSAVEOPTINTRIN_H_INCLUDED                                                    = 0
 17438  	X_XSAVESINTRIN_H_INCLUDED                                                      = 0
 17439  	X_XTESTINTRIN_H_INCLUDED                                                       = 0
 17440  	X_huge                                                                         = 0
 17441  	X_loadds                                                                       = 0
 17442  	X_tagBLOB_DEFINED                                                              = 0
 17443  	X_tagBSTRBLOB_DEFINED                                                          = 0
 17444  	X_tagCY_DEFINED                                                                = 0
 17445  	CPRIV_KEY_CACHE_MAX_ITEMS_DEFAULT                                              = 20
 17446  	CPRIV_KEY_CACHE_PURGE_INTERVAL_SECONDS_DEFAULT                                 = 86400
 17447  	CbNDRContext                                                                   = 20
 17448  	Cdecl                                                                          = 0
 17449  	Chx1                                                                           = 0x0410
 17450  	Chx10                                                                          = 0x0419
 17451  	Chx11                                                                          = 0x041a
 17452  	Chx12                                                                          = 0x041b
 17453  	Chx13                                                                          = 0x041c
 17454  	Chx14                                                                          = 0x041d
 17455  	Chx15                                                                          = 0x041e
 17456  	Chx16                                                                          = 0x041f
 17457  	Chx2                                                                           = 0x0411
 17458  	Chx3                                                                           = 0x0412
 17459  	Chx4                                                                           = 0x0413
 17460  	Chx5                                                                           = 0x0414
 17461  	Chx6                                                                           = 0x0415
 17462  	Chx7                                                                           = 0x0416
 17463  	Chx8                                                                           = 0x0417
 17464  	Chx9                                                                           = 0x0418
 17465  	Cmb1                                                                           = 0x0470
 17466  	Cmb10                                                                          = 0x0479
 17467  	Cmb11                                                                          = 0x047a
 17468  	Cmb12                                                                          = 0x047b
 17469  	Cmb13                                                                          = 0x047c
 17470  	Cmb14                                                                          = 0x047d
 17471  	Cmb15                                                                          = 0x047e
 17472  	Cmb16                                                                          = 0x047f
 17473  	Cmb2                                                                           = 0x0471
 17474  	Cmb3                                                                           = 0x0472
 17475  	Cmb4                                                                           = 0x0473
 17476  	Cmb5                                                                           = 0x0474
 17477  	Cmb6                                                                           = 0x0475
 17478  	Cmb7                                                                           = 0x0476
 17479  	Cmb8                                                                           = 0x0477
 17480  	Cmb9                                                                           = 0x0478
 17481  	Ctl1                                                                           = 0x04A0
 17482  	CtlFirst                                                                       = 0x0400
 17483  	CtlLast                                                                        = 0x04ff
 17484  	DwFORCE_KEY_PROTECTION_DISABLED                                                = 0x0
 17485  	DwFORCE_KEY_PROTECTION_HIGH                                                    = 0x2
 17486  	DwFORCE_KEY_PROTECTION_USER_SELECT                                             = 0x1
 17487  	Edt1                                                                           = 0x0480
 17488  	Edt10                                                                          = 0x0489
 17489  	Edt11                                                                          = 0x048a
 17490  	Edt12                                                                          = 0x048b
 17491  	Edt13                                                                          = 0x048c
 17492  	Edt14                                                                          = 0x048d
 17493  	Edt15                                                                          = 0x048e
 17494  	Edt16                                                                          = 0x048f
 17495  	Edt2                                                                           = 0x0481
 17496  	Edt3                                                                           = 0x0482
 17497  	Edt4                                                                           = 0x0483
 17498  	Edt5                                                                           = 0x0484
 17499  	Edt6                                                                           = 0x0485
 17500  	Edt7                                                                           = 0x0486
 17501  	Edt8                                                                           = 0x0487
 17502  	Edt9                                                                           = 0x0488
 17503  	Far                                                                            = 0
 17504  	Frm1                                                                           = 0x0434
 17505  	Frm2                                                                           = 0x0435
 17506  	Frm3                                                                           = 0x0436
 17507  	Frm4                                                                           = 0x0437
 17508  	Grp1                                                                           = 0x0430
 17509  	Grp2                                                                           = 0x0431
 17510  	Grp3                                                                           = 0x0432
 17511  	Grp4                                                                           = 0x0433
 17512  	Ico1                                                                           = 0x043c
 17513  	Ico2                                                                           = 0x043d
 17514  	Ico3                                                                           = 0x043e
 17515  	Ico4                                                                           = 0x043f
 17516  	Lst1                                                                           = 0x0460
 17517  	Lst10                                                                          = 0x0469
 17518  	Lst11                                                                          = 0x046a
 17519  	Lst12                                                                          = 0x046b
 17520  	Lst13                                                                          = 0x046c
 17521  	Lst14                                                                          = 0x046d
 17522  	Lst15                                                                          = 0x046e
 17523  	Lst16                                                                          = 0x046f
 17524  	Lst2                                                                           = 0x0461
 17525  	Lst3                                                                           = 0x0462
 17526  	Lst4                                                                           = 0x0463
 17527  	Lst5                                                                           = 0x0464
 17528  	Lst6                                                                           = 0x0465
 17529  	Lst7                                                                           = 0x0466
 17530  	Lst8                                                                           = 0x0467
 17531  	Lst9                                                                           = 0x0468
 17532  	Near                                                                           = 0
 17533  	Pascal                                                                         = 0
 17534  	Psh1                                                                           = 0x0400
 17535  	Psh10                                                                          = 0x0409
 17536  	Psh11                                                                          = 0x040a
 17537  	Psh12                                                                          = 0x040b
 17538  	Psh13                                                                          = 0x040c
 17539  	Psh14                                                                          = 0x040d
 17540  	Psh15                                                                          = 0x040e
 17541  	Psh16                                                                          = 0x040f
 17542  	Psh2                                                                           = 0x0401
 17543  	Psh3                                                                           = 0x0402
 17544  	Psh4                                                                           = 0x0403
 17545  	Psh5                                                                           = 0x0404
 17546  	Psh6                                                                           = 0x0405
 17547  	Psh7                                                                           = 0x0406
 17548  	Psh8                                                                           = 0x0407
 17549  	Psh9                                                                           = 0x0408
 17550  	PshHelp                                                                        = 1038
 17551  	Rad1                                                                           = 0x0420
 17552  	Rad10                                                                          = 0x0429
 17553  	Rad11                                                                          = 0x042a
 17554  	Rad12                                                                          = 0x042b
 17555  	Rad13                                                                          = 0x042c
 17556  	Rad14                                                                          = 0x042d
 17557  	Rad15                                                                          = 0x042e
 17558  	Rad16                                                                          = 0x042f
 17559  	Rad2                                                                           = 0x0421
 17560  	Rad3                                                                           = 0x0422
 17561  	Rad4                                                                           = 0x0423
 17562  	Rad5                                                                           = 0x0424
 17563  	Rad6                                                                           = 0x0425
 17564  	Rad7                                                                           = 0x0426
 17565  	Rad8                                                                           = 0x0427
 17566  	Rad9                                                                           = 0x0428
 17567  	Rct1                                                                           = 0x0438
 17568  	Rct2                                                                           = 0x0439
 17569  	Rct3                                                                           = 0x043a
 17570  	Rct4                                                                           = 0x043b
 17571  	Scr1                                                                           = 0x0490
 17572  	Scr2                                                                           = 0x0491
 17573  	Scr3                                                                           = 0x0492
 17574  	Scr4                                                                           = 0x0493
 17575  	Scr5                                                                           = 0x0494
 17576  	Scr6                                                                           = 0x0495
 17577  	Scr7                                                                           = 0x0496
 17578  	Scr8                                                                           = 0x0497
 17579  	Stc1                                                                           = 0x0440
 17580  	Stc10                                                                          = 0x0449
 17581  	Stc11                                                                          = 0x044a
 17582  	Stc12                                                                          = 0x044b
 17583  	Stc13                                                                          = 0x044c
 17584  	Stc14                                                                          = 0x044d
 17585  	Stc15                                                                          = 0x044e
 17586  	Stc16                                                                          = 0x044f
 17587  	Stc17                                                                          = 0x0450
 17588  	Stc18                                                                          = 0x0451
 17589  	Stc19                                                                          = 0x0452
 17590  	Stc2                                                                           = 0x0441
 17591  	Stc20                                                                          = 0x0453
 17592  	Stc21                                                                          = 0x0454
 17593  	Stc22                                                                          = 0x0455
 17594  	Stc23                                                                          = 0x0456
 17595  	Stc24                                                                          = 0x0457
 17596  	Stc25                                                                          = 0x0458
 17597  	Stc26                                                                          = 0x0459
 17598  	Stc27                                                                          = 0x045a
 17599  	Stc28                                                                          = 0x045b
 17600  	Stc29                                                                          = 0x045c
 17601  	Stc3                                                                           = 0x0442
 17602  	Stc30                                                                          = 0x045d
 17603  	Stc31                                                                          = 0x045e
 17604  	Stc32                                                                          = 0x045f
 17605  	Stc4                                                                           = 0x0443
 17606  	Stc5                                                                           = 0x0444
 17607  	Stc6                                                                           = 0x0445
 17608  	Stc7                                                                           = 0x0446
 17609  	Stc8                                                                           = 0x0447
 17610  	Stc9                                                                           = 0x0448
 17611  	SzFORCE_KEY_PROTECTION                                                         = "ForceKeyProtection"
 17612  	SzKEY_CACHE_ENABLED                                                            = "CachePrivateKeys"
 17613  	SzKEY_CACHE_SECONDS                                                            = "PrivateKeyLifetimeSeconds"
 17614  	SzKEY_CRYPTOAPI_PRIVATE_KEY_OPTIONS                                            = "Software\\Policies\\Microsoft\\Cryptography"
 17615  	SzOIDVerisign_FailInfo                                                         = "2.16.840.1.113733.1.9.4"
 17616  	SzOIDVerisign_MessageType                                                      = "2.16.840.1.113733.1.9.2"
 17617  	SzOIDVerisign_PkiStatus                                                        = "2.16.840.1.113733.1.9.3"
 17618  	SzOIDVerisign_RecipientNonce                                                   = "2.16.840.1.113733.1.9.6"
 17619  	SzOIDVerisign_SenderNonce                                                      = "2.16.840.1.113733.1.9.5"
 17620  	SzOIDVerisign_TransactionID                                                    = "2.16.840.1.113733.1.9.7"
 17621  	SzOID_ANSI_X942                                                                = "1.2.840.10046"
 17622  	SzOID_ANSI_X942_DH                                                             = "1.2.840.10046.2.1"
 17623  	SzOID_ANY_APPLICATION_POLICY                                                   = "1.3.6.1.4.1.311.10.12.1"
 17624  	SzOID_ANY_CERT_POLICY                                                          = "2.5.29.32.0"
 17625  	SzOID_ANY_ENHANCED_KEY_USAGE                                                   = "2.5.29.37.0"
 17626  	SzOID_APPLICATION_CERT_POLICIES                                                = "1.3.6.1.4.1.311.21.10"
 17627  	SzOID_APPLICATION_POLICY_CONSTRAINTS                                           = "1.3.6.1.4.1.311.21.12"
 17628  	SzOID_APPLICATION_POLICY_MAPPINGS                                              = "1.3.6.1.4.1.311.21.11"
 17629  	SzOID_ARCHIVED_KEY_ATTR                                                        = "1.3.6.1.4.1.311.21.13"
 17630  	SzOID_ARCHIVED_KEY_CERT_HASH                                                   = "1.3.6.1.4.1.311.21.16"
 17631  	SzOID_ATTEST_WHQL_CRYPTO                                                       = "1.3.6.1.4.1.311.10.3.5.1"
 17632  	SzOID_ATTR_PLATFORM_SPECIFICATION                                              = "2.23.133.2.17"
 17633  	SzOID_ATTR_SUPPORTED_ALGORITHMS                                                = "2.5.4.52"
 17634  	SzOID_ATTR_TPM_SECURITY_ASSERTIONS                                             = "2.23.133.2.18"
 17635  	SzOID_ATTR_TPM_SPECIFICATION                                                   = "2.23.133.2.16"
 17636  	SzOID_AUTHORITY_INFO_ACCESS                                                    = "1.3.6.1.5.5.7.1.1"
 17637  	SzOID_AUTHORITY_KEY_IDENTIFIER                                                 = "2.5.29.1"
 17638  	SzOID_AUTHORITY_KEY_IDENTIFIER2                                                = "2.5.29.35"
 17639  	SzOID_AUTHORITY_REVOCATION_LIST                                                = "2.5.4.38"
 17640  	SzOID_AUTO_ENROLL_CTL_USAGE                                                    = "1.3.6.1.4.1.311.20.1"
 17641  	SzOID_BACKGROUND_OTHER_LOGOTYPE                                                = "1.3.6.1.5.5.7.20.2"
 17642  	SzOID_BASIC_CONSTRAINTS                                                        = "2.5.29.10"
 17643  	SzOID_BASIC_CONSTRAINTS2                                                       = "2.5.29.19"
 17644  	SzOID_BIOMETRIC_EXT                                                            = "1.3.6.1.5.5.7.1.2"
 17645  	SzOID_BIOMETRIC_SIGNING                                                        = "1.3.6.1.4.1.311.10.3.41"
 17646  	SzOID_BUSINESS_CATEGORY                                                        = "2.5.4.15"
 17647  	SzOID_CA_CERTIFICATE                                                           = "2.5.4.37"
 17648  	SzOID_CERTIFICATE_REVOCATION_LIST                                              = "2.5.4.39"
 17649  	SzOID_CERTIFICATE_TEMPLATE                                                     = "1.3.6.1.4.1.311.21.7"
 17650  	SzOID_CERTSRV_CA_VERSION                                                       = "1.3.6.1.4.1.311.21.1"
 17651  	SzOID_CERTSRV_CROSSCA_VERSION                                                  = "1.3.6.1.4.1.311.21.22"
 17652  	SzOID_CERTSRV_PREVIOUS_CERT_HASH                                               = "1.3.6.1.4.1.311.21.2"
 17653  	SzOID_CERT_DISALLOWED_FILETIME_PROP_ID                                         = "1.3.6.1.4.1.311.10.11.104"
 17654  	SzOID_CERT_EXTENSIONS                                                          = "1.3.6.1.4.1.311.2.1.14"
 17655  	SzOID_CERT_ISSUER_SERIAL_NUMBER_MD5_HASH_PROP_ID                               = "1.3.6.1.4.1.311.10.11.28"
 17656  	SzOID_CERT_KEY_IDENTIFIER_PROP_ID                                              = "1.3.6.1.4.1.311.10.11.20"
 17657  	SzOID_CERT_MANIFOLD                                                            = "1.3.6.1.4.1.311.20.3"
 17658  	SzOID_CERT_MD5_HASH_PROP_ID                                                    = "1.3.6.1.4.1.311.10.11.4"
 17659  	SzOID_CERT_POLICIES                                                            = "2.5.29.32"
 17660  	SzOID_CERT_POLICIES_95                                                         = "2.5.29.3"
 17661  	SzOID_CERT_POLICIES_95_QUALIFIER1                                              = "2.16.840.1.113733.1.7.1.1"
 17662  	SzOID_CERT_PROP_ID_PREFIX                                                      = "1.3.6.1.4.1.311.10.11."
 17663  	SzOID_CERT_SIGNATURE_HASH_PROP_ID                                              = "1.3.6.1.4.1.311.10.11.15"
 17664  	SzOID_CERT_STRONG_KEY_OS_1                                                     = "1.3.6.1.4.1.311.72.2.1"
 17665  	SzOID_CERT_STRONG_KEY_OS_PREFIX                                                = "1.3.6.1.4.1.311.72.2."
 17666  	SzOID_CERT_STRONG_SIGN_OS_1                                                    = "1.3.6.1.4.1.311.72.1.1"
 17667  	SzOID_CERT_STRONG_SIGN_OS_PREFIX                                               = "1.3.6.1.4.1.311.72.1."
 17668  	SzOID_CERT_SUBJECT_NAME_MD5_HASH_PROP_ID                                       = "1.3.6.1.4.1.311.10.11.29"
 17669  	SzOID_CMC                                                                      = "1.3.6.1.5.5.7.7"
 17670  	SzOID_CMC_ADD_ATTRIBUTES                                                       = "1.3.6.1.4.1.311.10.10.1"
 17671  	SzOID_CMC_ADD_EXTENSIONS                                                       = "1.3.6.1.5.5.7.7.8"
 17672  	SzOID_CMC_DATA_RETURN                                                          = "1.3.6.1.5.5.7.7.4"
 17673  	SzOID_CMC_DECRYPTED_POP                                                        = "1.3.6.1.5.5.7.7.10"
 17674  	SzOID_CMC_ENCRYPTED_POP                                                        = "1.3.6.1.5.5.7.7.9"
 17675  	SzOID_CMC_GET_CERT                                                             = "1.3.6.1.5.5.7.7.15"
 17676  	SzOID_CMC_GET_CRL                                                              = "1.3.6.1.5.5.7.7.16"
 17677  	SzOID_CMC_IDENTIFICATION                                                       = "1.3.6.1.5.5.7.7.2"
 17678  	SzOID_CMC_IDENTITY_PROOF                                                       = "1.3.6.1.5.5.7.7.3"
 17679  	SzOID_CMC_ID_CONFIRM_CERT_ACCEPTANCE                                           = "1.3.6.1.5.5.7.7.24"
 17680  	SzOID_CMC_ID_POP_LINK_RANDOM                                                   = "1.3.6.1.5.5.7.7.22"
 17681  	SzOID_CMC_ID_POP_LINK_WITNESS                                                  = "1.3.6.1.5.5.7.7.23"
 17682  	SzOID_CMC_LRA_POP_WITNESS                                                      = "1.3.6.1.5.5.7.7.11"
 17683  	SzOID_CMC_QUERY_PENDING                                                        = "1.3.6.1.5.5.7.7.21"
 17684  	SzOID_CMC_RECIPIENT_NONCE                                                      = "1.3.6.1.5.5.7.7.7"
 17685  	SzOID_CMC_REG_INFO                                                             = "1.3.6.1.5.5.7.7.18"
 17686  	SzOID_CMC_RESPONSE_INFO                                                        = "1.3.6.1.5.5.7.7.19"
 17687  	SzOID_CMC_REVOKE_REQUEST                                                       = "1.3.6.1.5.5.7.7.17"
 17688  	SzOID_CMC_SENDER_NONCE                                                         = "1.3.6.1.5.5.7.7.6"
 17689  	SzOID_CMC_STATUS_INFO                                                          = "1.3.6.1.5.5.7.7.1"
 17690  	SzOID_CMC_TRANSACTION_ID                                                       = "1.3.6.1.5.5.7.7.5"
 17691  	SzOID_CN_ECDSA_SHA256                                                          = "1.2.156.11235.1.1.1"
 17692  	SzOID_COMMON_NAME                                                              = "2.5.4.3"
 17693  	SzOID_COUNTRY_NAME                                                             = "2.5.4.6"
 17694  	SzOID_CRL_DIST_POINTS                                                          = "2.5.29.31"
 17695  	SzOID_CRL_NEXT_PUBLISH                                                         = "1.3.6.1.4.1.311.21.4"
 17696  	SzOID_CRL_NUMBER                                                               = "2.5.29.20"
 17697  	SzOID_CRL_REASON_CODE                                                          = "2.5.29.21"
 17698  	SzOID_CRL_SELF_CDP                                                             = "1.3.6.1.4.1.311.21.14"
 17699  	SzOID_CRL_VIRTUAL_BASE                                                         = "1.3.6.1.4.1.311.21.3"
 17700  	SzOID_CROSS_CERTIFICATE_PAIR                                                   = "2.5.4.40"
 17701  	SzOID_CROSS_CERT_DIST_POINTS                                                   = "1.3.6.1.4.1.311.10.9.1"
 17702  	SzOID_CTL                                                                      = "1.3.6.1.4.1.311.10.1"
 17703  	SzOID_CT_CERT_SCTLIST                                                          = "1.3.6.1.4.1.11129.2.4.2"
 17704  	SzOID_CT_PKI_DATA                                                              = "1.3.6.1.5.5.7.12.2"
 17705  	SzOID_CT_PKI_RESPONSE                                                          = "1.3.6.1.5.5.7.12.3"
 17706  	SzOID_DELTA_CRL_INDICATOR                                                      = "2.5.29.27"
 17707  	SzOID_DESCRIPTION                                                              = "2.5.4.13"
 17708  	SzOID_DESTINATION_INDICATOR                                                    = "2.5.4.27"
 17709  	SzOID_DEVICE_SERIAL_NUMBER                                                     = "2.5.4.5"
 17710  	SzOID_DH_SINGLE_PASS_STDDH_SHA1_KDF                                            = "1.3.133.16.840.63.0.2"
 17711  	SzOID_DH_SINGLE_PASS_STDDH_SHA256_KDF                                          = "1.3.132.1.11.1"
 17712  	SzOID_DH_SINGLE_PASS_STDDH_SHA384_KDF                                          = "1.3.132.1.11.2"
 17713  	SzOID_DISALLOWED_LIST                                                          = "1.3.6.1.4.1.311.10.3.30"
 17714  	SzOID_DN_QUALIFIER                                                             = "2.5.4.46"
 17715  	SzOID_DOMAIN_COMPONENT                                                         = "0.9.2342.19200300.100.1.25"
 17716  	SzOID_DRM                                                                      = "1.3.6.1.4.1.311.10.5.1"
 17717  	SzOID_DRM_INDIVIDUALIZATION                                                    = "1.3.6.1.4.1.311.10.5.2"
 17718  	SzOID_DS                                                                       = "2.5"
 17719  	SzOID_DSALG                                                                    = "2.5.8"
 17720  	SzOID_DSALG_CRPT                                                               = "2.5.8.1"
 17721  	SzOID_DSALG_HASH                                                               = "2.5.8.2"
 17722  	SzOID_DSALG_RSA                                                                = "2.5.8.1.1"
 17723  	SzOID_DSALG_SIGN                                                               = "2.5.8.3"
 17724  	SzOID_DS_EMAIL_REPLICATION                                                     = "1.3.6.1.4.1.311.21.19"
 17725  	SzOID_DYNAMIC_CODE_GEN_SIGNER                                                  = "1.3.6.1.4.1.311.76.5.1"
 17726  	SzOID_ECC_CURVE_BRAINPOOLP160R1                                                = "1.3.36.3.3.2.8.1.1.1"
 17727  	SzOID_ECC_CURVE_BRAINPOOLP160T1                                                = "1.3.36.3.3.2.8.1.1.2"
 17728  	SzOID_ECC_CURVE_BRAINPOOLP192R1                                                = "1.3.36.3.3.2.8.1.1.3"
 17729  	SzOID_ECC_CURVE_BRAINPOOLP192T1                                                = "1.3.36.3.3.2.8.1.1.4"
 17730  	SzOID_ECC_CURVE_BRAINPOOLP224R1                                                = "1.3.36.3.3.2.8.1.1.5"
 17731  	SzOID_ECC_CURVE_BRAINPOOLP224T1                                                = "1.3.36.3.3.2.8.1.1.6"
 17732  	SzOID_ECC_CURVE_BRAINPOOLP256R1                                                = "1.3.36.3.3.2.8.1.1.7"
 17733  	SzOID_ECC_CURVE_BRAINPOOLP256T1                                                = "1.3.36.3.3.2.8.1.1.8"
 17734  	SzOID_ECC_CURVE_BRAINPOOLP320R1                                                = "1.3.36.3.3.2.8.1.1.9"
 17735  	SzOID_ECC_CURVE_BRAINPOOLP320T1                                                = "1.3.36.3.3.2.8.1.1.10"
 17736  	SzOID_ECC_CURVE_BRAINPOOLP384R1                                                = "1.3.36.3.3.2.8.1.1.11"
 17737  	SzOID_ECC_CURVE_BRAINPOOLP384T1                                                = "1.3.36.3.3.2.8.1.1.12"
 17738  	SzOID_ECC_CURVE_BRAINPOOLP512R1                                                = "1.3.36.3.3.2.8.1.1.13"
 17739  	SzOID_ECC_CURVE_BRAINPOOLP512T1                                                = "1.3.36.3.3.2.8.1.1.14"
 17740  	SzOID_ECC_CURVE_EC192WAPI                                                      = "1.2.156.11235.1.1.2.1"
 17741  	SzOID_ECC_CURVE_NISTP192                                                       = "1.2.840.10045.3.1.1"
 17742  	SzOID_ECC_CURVE_NISTP224                                                       = "1.3.132.0.33"
 17743  	SzOID_ECC_CURVE_P256                                                           = "1.2.840.10045.3.1.7"
 17744  	SzOID_ECC_CURVE_P384                                                           = "1.3.132.0.34"
 17745  	SzOID_ECC_CURVE_P521                                                           = "1.3.132.0.35"
 17746  	SzOID_ECC_CURVE_SECP160K1                                                      = "1.3.132.0.9"
 17747  	SzOID_ECC_CURVE_SECP160R1                                                      = "1.3.132.0.8"
 17748  	SzOID_ECC_CURVE_SECP160R2                                                      = "1.3.132.0.30"
 17749  	SzOID_ECC_CURVE_SECP192K1                                                      = "1.3.132.0.31"
 17750  	SzOID_ECC_CURVE_SECP224K1                                                      = "1.3.132.0.32"
 17751  	SzOID_ECC_CURVE_SECP256K1                                                      = "1.3.132.0.10"
 17752  	SzOID_ECC_CURVE_WTLS9                                                          = "2.23.43.1.4.9"
 17753  	SzOID_ECC_CURVE_X962P192V1                                                     = "1.2.840.10045.3.1.1"
 17754  	SzOID_ECC_CURVE_X962P192V2                                                     = "1.2.840.10045.3.1.2"
 17755  	SzOID_ECC_CURVE_X962P192V3                                                     = "1.2.840.10045.3.1.3"
 17756  	SzOID_ECC_CURVE_X962P239V1                                                     = "1.2.840.10045.3.1.4"
 17757  	SzOID_ECC_CURVE_X962P239V2                                                     = "1.2.840.10045.3.1.5"
 17758  	SzOID_ECC_CURVE_X962P239V3                                                     = "1.2.840.10045.3.1.6"
 17759  	SzOID_ECC_PUBLIC_KEY                                                           = "1.2.840.10045.2.1"
 17760  	SzOID_ECDSA_SHA1                                                               = "1.2.840.10045.4.1"
 17761  	SzOID_ECDSA_SHA256                                                             = "1.2.840.10045.4.3.2"
 17762  	SzOID_ECDSA_SHA384                                                             = "1.2.840.10045.4.3.3"
 17763  	SzOID_ECDSA_SHA512                                                             = "1.2.840.10045.4.3.4"
 17764  	SzOID_ECDSA_SPECIFIED                                                          = "1.2.840.10045.4.3"
 17765  	SzOID_EFS_RECOVERY                                                             = "1.3.6.1.4.1.311.10.3.4.1"
 17766  	SzOID_EMBEDDED_NT_CRYPTO                                                       = "1.3.6.1.4.1.311.10.3.8"
 17767  	SzOID_ENCLAVE_SIGNING                                                          = "1.3.6.1.4.1.311.10.3.42"
 17768  	SzOID_ENCRYPTED_KEY_HASH                                                       = "1.3.6.1.4.1.311.21.21"
 17769  	SzOID_ENHANCED_KEY_USAGE                                                       = "2.5.29.37"
 17770  	SzOID_ENROLLMENT_AGENT                                                         = "1.3.6.1.4.1.311.20.2.1"
 17771  	SzOID_ENROLLMENT_CSP_PROVIDER                                                  = "1.3.6.1.4.1.311.13.2.2"
 17772  	SzOID_ENROLLMENT_NAME_VALUE_PAIR                                               = "1.3.6.1.4.1.311.13.2.1"
 17773  	SzOID_ENROLL_AIK_INFO                                                          = "1.3.6.1.4.1.311.21.39"
 17774  	SzOID_ENROLL_ATTESTATION_CHALLENGE                                             = "1.3.6.1.4.1.311.21.28"
 17775  	SzOID_ENROLL_ATTESTATION_STATEMENT                                             = "1.3.6.1.4.1.311.21.24"
 17776  	SzOID_ENROLL_CAXCHGCERT_HASH                                                   = "1.3.6.1.4.1.311.21.27"
 17777  	SzOID_ENROLL_CERTTYPE_EXTENSION                                                = "1.3.6.1.4.1.311.20.2"
 17778  	SzOID_ENROLL_EKPUB_CHALLENGE                                                   = "1.3.6.1.4.1.311.21.26"
 17779  	SzOID_ENROLL_EKVERIFYCERT                                                      = "1.3.6.1.4.1.311.21.31"
 17780  	SzOID_ENROLL_EKVERIFYCREDS                                                     = "1.3.6.1.4.1.311.21.32"
 17781  	SzOID_ENROLL_EKVERIFYKEY                                                       = "1.3.6.1.4.1.311.21.30"
 17782  	SzOID_ENROLL_EK_CA_KEYID                                                       = "1.3.6.1.4.1.311.21.43"
 17783  	SzOID_ENROLL_EK_INFO                                                           = "1.3.6.1.4.1.311.21.23"
 17784  	SzOID_ENROLL_ENCRYPTION_ALGORITHM                                              = "1.3.6.1.4.1.311.21.29"
 17785  	SzOID_ENROLL_KEY_AFFINITY                                                      = "1.3.6.1.4.1.311.21.41"
 17786  	SzOID_ENROLL_KSP_NAME                                                          = "1.3.6.1.4.1.311.21.25"
 17787  	SzOID_ENROLL_SCEP_CHALLENGE_ANSWER                                             = "1.3.6.1.4.1.311.21.35"
 17788  	SzOID_ENROLL_SCEP_CLIENT_REQUEST                                               = "1.3.6.1.4.1.311.21.37"
 17789  	SzOID_ENROLL_SCEP_ERROR                                                        = "1.3.6.1.4.1.311.21.33"
 17790  	SzOID_ENROLL_SCEP_SERVER_MESSAGE                                               = "1.3.6.1.4.1.311.21.38"
 17791  	SzOID_ENROLL_SCEP_SERVER_SECRET                                                = "1.3.6.1.4.1.311.21.40"
 17792  	SzOID_ENROLL_SCEP_SERVER_STATE                                                 = "1.3.6.1.4.1.311.21.34"
 17793  	SzOID_ENROLL_SCEP_SIGNER_HASH                                                  = "1.3.6.1.4.1.311.21.42"
 17794  	SzOID_ENTERPRISE_OID_ROOT                                                      = "1.3.6.1.4.1.311.21.8"
 17795  	SzOID_EV_RDN_COUNTRY                                                           = "1.3.6.1.4.1.311.60.2.1.3"
 17796  	SzOID_EV_RDN_LOCALE                                                            = "1.3.6.1.4.1.311.60.2.1.1"
 17797  	SzOID_EV_RDN_STATE_OR_PROVINCE                                                 = "1.3.6.1.4.1.311.60.2.1.2"
 17798  	SzOID_EV_WHQL_CRYPTO                                                           = "1.3.6.1.4.1.311.10.3.39"
 17799  	SzOID_FACSIMILE_TELEPHONE_NUMBER                                               = "2.5.4.23"
 17800  	SzOID_FRESHEST_CRL                                                             = "2.5.29.46"
 17801  	SzOID_GIVEN_NAME                                                               = "2.5.4.42"
 17802  	SzOID_HPKP_DOMAIN_NAME_CTL                                                     = "1.3.6.1.4.1.311.10.3.60"
 17803  	SzOID_HPKP_HEADER_VALUE_CTL                                                    = "1.3.6.1.4.1.311.10.3.61"
 17804  	SzOID_INFOSEC                                                                  = "2.16.840.1.101.2.1"
 17805  	SzOID_INFOSEC_SuiteAConfidentiality                                            = "2.16.840.1.101.2.1.1.14"
 17806  	SzOID_INFOSEC_SuiteAIntegrity                                                  = "2.16.840.1.101.2.1.1.15"
 17807  	SzOID_INFOSEC_SuiteAKMandSig                                                   = "2.16.840.1.101.2.1.1.18"
 17808  	SzOID_INFOSEC_SuiteAKeyManagement                                              = "2.16.840.1.101.2.1.1.17"
 17809  	SzOID_INFOSEC_SuiteASignature                                                  = "2.16.840.1.101.2.1.1.13"
 17810  	SzOID_INFOSEC_SuiteATokenProtection                                            = "2.16.840.1.101.2.1.1.16"
 17811  	SzOID_INFOSEC_mosaicConfidentiality                                            = "2.16.840.1.101.2.1.1.4"
 17812  	SzOID_INFOSEC_mosaicIntegrity                                                  = "2.16.840.1.101.2.1.1.6"
 17813  	SzOID_INFOSEC_mosaicKMandSig                                                   = "2.16.840.1.101.2.1.1.12"
 17814  	SzOID_INFOSEC_mosaicKMandUpdSig                                                = "2.16.840.1.101.2.1.1.20"
 17815  	SzOID_INFOSEC_mosaicKeyManagement                                              = "2.16.840.1.101.2.1.1.10"
 17816  	SzOID_INFOSEC_mosaicSignature                                                  = "2.16.840.1.101.2.1.1.2"
 17817  	SzOID_INFOSEC_mosaicTokenProtection                                            = "2.16.840.1.101.2.1.1.8"
 17818  	SzOID_INFOSEC_mosaicUpdatedInteg                                               = "2.16.840.1.101.2.1.1.21"
 17819  	SzOID_INFOSEC_mosaicUpdatedSig                                                 = "2.16.840.1.101.2.1.1.19"
 17820  	SzOID_INFOSEC_sdnsConfidentiality                                              = "2.16.840.1.101.2.1.1.3"
 17821  	SzOID_INFOSEC_sdnsIntegrity                                                    = "2.16.840.1.101.2.1.1.5"
 17822  	SzOID_INFOSEC_sdnsKMandSig                                                     = "2.16.840.1.101.2.1.1.11"
 17823  	SzOID_INFOSEC_sdnsKeyManagement                                                = "2.16.840.1.101.2.1.1.9"
 17824  	SzOID_INFOSEC_sdnsSignature                                                    = "2.16.840.1.101.2.1.1.1"
 17825  	SzOID_INFOSEC_sdnsTokenProtection                                              = "2.16.840.1.101.2.1.1.7"
 17826  	SzOID_INHIBIT_ANY_POLICY                                                       = "2.5.29.54"
 17827  	SzOID_INITIALS                                                                 = "2.5.4.43"
 17828  	SzOID_INTERNATIONALIZED_EMAIL_ADDRESS                                          = "1.3.6.1.4.1.311.20.2.4"
 17829  	SzOID_INTERNATIONAL_ISDN_NUMBER                                                = "2.5.4.25"
 17830  	SzOID_IPSEC_KP_IKE_INTERMEDIATE                                                = "1.3.6.1.5.5.8.2.2"
 17831  	SzOID_ISSUED_CERT_HASH                                                         = "1.3.6.1.4.1.311.21.17"
 17832  	SzOID_ISSUER_ALT_NAME                                                          = "2.5.29.8"
 17833  	SzOID_ISSUER_ALT_NAME2                                                         = "2.5.29.18"
 17834  	SzOID_ISSUING_DIST_POINT                                                       = "2.5.29.28"
 17835  	SzOID_IUM_SIGNING                                                              = "1.3.6.1.4.1.311.10.3.37"
 17836  	SzOID_KEYID_RDN                                                                = "1.3.6.1.4.1.311.10.7.1"
 17837  	SzOID_KEY_ATTRIBUTES                                                           = "2.5.29.2"
 17838  	SzOID_KEY_USAGE                                                                = "2.5.29.15"
 17839  	SzOID_KEY_USAGE_RESTRICTION                                                    = "2.5.29.4"
 17840  	SzOID_KP_CA_EXCHANGE                                                           = "1.3.6.1.4.1.311.21.5"
 17841  	SzOID_KP_CSP_SIGNATURE                                                         = "1.3.6.1.4.1.311.10.3.16"
 17842  	SzOID_KP_CTL_USAGE_SIGNING                                                     = "1.3.6.1.4.1.311.10.3.1"
 17843  	SzOID_KP_DOCUMENT_SIGNING                                                      = "1.3.6.1.4.1.311.10.3.12"
 17844  	SzOID_KP_EFS                                                                   = "1.3.6.1.4.1.311.10.3.4"
 17845  	SzOID_KP_FLIGHT_SIGNING                                                        = "1.3.6.1.4.1.311.10.3.27"
 17846  	SzOID_KP_KERNEL_MODE_CODE_SIGNING                                              = "1.3.6.1.4.1.311.61.1.1"
 17847  	SzOID_KP_KERNEL_MODE_HAL_EXTENSION_SIGNING                                     = "1.3.6.1.4.1.311.61.5.1"
 17848  	SzOID_KP_KERNEL_MODE_TRUSTED_BOOT_SIGNING                                      = "1.3.6.1.4.1.311.61.4.1"
 17849  	SzOID_KP_KEY_RECOVERY                                                          = "1.3.6.1.4.1.311.10.3.11"
 17850  	SzOID_KP_KEY_RECOVERY_AGENT                                                    = "1.3.6.1.4.1.311.21.6"
 17851  	SzOID_KP_LIFETIME_SIGNING                                                      = "1.3.6.1.4.1.311.10.3.13"
 17852  	SzOID_KP_MOBILE_DEVICE_SOFTWARE                                                = "1.3.6.1.4.1.311.10.3.14"
 17853  	SzOID_KP_QUALIFIED_SUBORDINATION                                               = "1.3.6.1.4.1.311.10.3.10"
 17854  	SzOID_KP_SMARTCARD_LOGON                                                       = "1.3.6.1.4.1.311.20.2.2"
 17855  	SzOID_KP_SMART_DISPLAY                                                         = "1.3.6.1.4.1.311.10.3.15"
 17856  	SzOID_KP_TIME_STAMP_SIGNING                                                    = "1.3.6.1.4.1.311.10.3.2"
 17857  	SzOID_KP_TPM_AIK_CERTIFICATE                                                   = "2.23.133.8.3"
 17858  	SzOID_KP_TPM_EK_CERTIFICATE                                                    = "2.23.133.8.1"
 17859  	SzOID_KP_TPM_PLATFORM_CERTIFICATE                                              = "2.23.133.8.2"
 17860  	SzOID_LEGACY_POLICY_MAPPINGS                                                   = "2.5.29.5"
 17861  	SzOID_LICENSES                                                                 = "1.3.6.1.4.1.311.10.6.1"
 17862  	SzOID_LICENSE_SERVER                                                           = "1.3.6.1.4.1.311.10.6.2"
 17863  	SzOID_LOCALITY_NAME                                                            = "2.5.4.7"
 17864  	SzOID_LOCAL_MACHINE_KEYSET                                                     = "1.3.6.1.4.1.311.17.2"
 17865  	SzOID_LOGOTYPE_EXT                                                             = "1.3.6.1.5.5.7.1.12"
 17866  	SzOID_LOYALTY_OTHER_LOGOTYPE                                                   = "1.3.6.1.5.5.7.20.1"
 17867  	SzOID_MEMBER                                                                   = "2.5.4.31"
 17868  	SzOID_MICROSOFT_PUBLISHER_SIGNER                                               = "1.3.6.1.4.1.311.76.8.1"
 17869  	SzOID_NAME_CONSTRAINTS                                                         = "2.5.29.30"
 17870  	SzOID_NETSCAPE                                                                 = "2.16.840.1.113730"
 17871  	SzOID_NETSCAPE_BASE_URL                                                        = "2.16.840.1.113730.1.2"
 17872  	SzOID_NETSCAPE_CA_POLICY_URL                                                   = "2.16.840.1.113730.1.8"
 17873  	SzOID_NETSCAPE_CA_REVOCATION_URL                                               = "2.16.840.1.113730.1.4"
 17874  	SzOID_NETSCAPE_CERT_EXTENSION                                                  = "2.16.840.1.113730.1"
 17875  	SzOID_NETSCAPE_CERT_RENEWAL_URL                                                = "2.16.840.1.113730.1.7"
 17876  	SzOID_NETSCAPE_CERT_SEQUENCE                                                   = "2.16.840.1.113730.2.5"
 17877  	SzOID_NETSCAPE_CERT_TYPE                                                       = "2.16.840.1.113730.1.1"
 17878  	SzOID_NETSCAPE_COMMENT                                                         = "2.16.840.1.113730.1.13"
 17879  	SzOID_NETSCAPE_DATA_TYPE                                                       = "2.16.840.1.113730.2"
 17880  	SzOID_NETSCAPE_REVOCATION_URL                                                  = "2.16.840.1.113730.1.3"
 17881  	SzOID_NETSCAPE_SSL_SERVER_NAME                                                 = "2.16.840.1.113730.1.12"
 17882  	SzOID_NEXT_UPDATE_LOCATION                                                     = "1.3.6.1.4.1.311.10.2"
 17883  	SzOID_NIST_AES128_CBC                                                          = "2.16.840.1.101.3.4.1.2"
 17884  	SzOID_NIST_AES128_WRAP                                                         = "2.16.840.1.101.3.4.1.5"
 17885  	SzOID_NIST_AES192_CBC                                                          = "2.16.840.1.101.3.4.1.22"
 17886  	SzOID_NIST_AES192_WRAP                                                         = "2.16.840.1.101.3.4.1.25"
 17887  	SzOID_NIST_AES256_CBC                                                          = "2.16.840.1.101.3.4.1.42"
 17888  	SzOID_NIST_AES256_WRAP                                                         = "2.16.840.1.101.3.4.1.45"
 17889  	SzOID_NIST_sha256                                                              = "2.16.840.1.101.3.4.2.1"
 17890  	SzOID_NIST_sha384                                                              = "2.16.840.1.101.3.4.2.2"
 17891  	SzOID_NIST_sha512                                                              = "2.16.840.1.101.3.4.2.3"
 17892  	SzOID_NT5_CRYPTO                                                               = "1.3.6.1.4.1.311.10.3.6"
 17893  	SzOID_NTDS_REPLICATION                                                         = "1.3.6.1.4.1.311.25.1"
 17894  	SzOID_NT_PRINCIPAL_NAME                                                        = "1.3.6.1.4.1.311.20.2.3"
 17895  	SzOID_OEM_WHQL_CRYPTO                                                          = "1.3.6.1.4.1.311.10.3.7"
 17896  	SzOID_OIW                                                                      = "1.3.14"
 17897  	SzOID_OIWDIR                                                                   = "1.3.14.7.2"
 17898  	SzOID_OIWDIR_CRPT                                                              = "1.3.14.7.2.1"
 17899  	SzOID_OIWDIR_HASH                                                              = "1.3.14.7.2.2"
 17900  	SzOID_OIWDIR_SIGN                                                              = "1.3.14.7.2.3"
 17901  	SzOID_OIWDIR_md2                                                               = "1.3.14.7.2.2.1"
 17902  	SzOID_OIWDIR_md2RSA                                                            = "1.3.14.7.2.3.1"
 17903  	SzOID_OIWSEC                                                                   = "1.3.14.3.2"
 17904  	SzOID_OIWSEC_desCBC                                                            = "1.3.14.3.2.7"
 17905  	SzOID_OIWSEC_desCFB                                                            = "1.3.14.3.2.9"
 17906  	SzOID_OIWSEC_desECB                                                            = "1.3.14.3.2.6"
 17907  	SzOID_OIWSEC_desEDE                                                            = "1.3.14.3.2.17"
 17908  	SzOID_OIWSEC_desMAC                                                            = "1.3.14.3.2.10"
 17909  	SzOID_OIWSEC_desOFB                                                            = "1.3.14.3.2.8"
 17910  	SzOID_OIWSEC_dhCommMod                                                         = "1.3.14.3.2.16"
 17911  	SzOID_OIWSEC_dsa                                                               = "1.3.14.3.2.12"
 17912  	SzOID_OIWSEC_dsaComm                                                           = "1.3.14.3.2.20"
 17913  	SzOID_OIWSEC_dsaCommSHA                                                        = "1.3.14.3.2.21"
 17914  	SzOID_OIWSEC_dsaCommSHA1                                                       = "1.3.14.3.2.28"
 17915  	SzOID_OIWSEC_dsaSHA1                                                           = "1.3.14.3.2.27"
 17916  	SzOID_OIWSEC_keyHashSeal                                                       = "1.3.14.3.2.23"
 17917  	SzOID_OIWSEC_md2RSASign                                                        = "1.3.14.3.2.24"
 17918  	SzOID_OIWSEC_md4RSA                                                            = "1.3.14.3.2.2"
 17919  	SzOID_OIWSEC_md4RSA2                                                           = "1.3.14.3.2.4"
 17920  	SzOID_OIWSEC_md5RSA                                                            = "1.3.14.3.2.3"
 17921  	SzOID_OIWSEC_md5RSASign                                                        = "1.3.14.3.2.25"
 17922  	SzOID_OIWSEC_mdc2                                                              = "1.3.14.3.2.19"
 17923  	SzOID_OIWSEC_mdc2RSA                                                           = "1.3.14.3.2.14"
 17924  	SzOID_OIWSEC_rsaSign                                                           = "1.3.14.3.2.11"
 17925  	SzOID_OIWSEC_rsaXchg                                                           = "1.3.14.3.2.22"
 17926  	SzOID_OIWSEC_sha                                                               = "1.3.14.3.2.18"
 17927  	SzOID_OIWSEC_sha1                                                              = "1.3.14.3.2.26"
 17928  	SzOID_OIWSEC_sha1RSASign                                                       = "1.3.14.3.2.29"
 17929  	SzOID_OIWSEC_shaDSA                                                            = "1.3.14.3.2.13"
 17930  	SzOID_OIWSEC_shaRSA                                                            = "1.3.14.3.2.15"
 17931  	SzOID_ORGANIZATIONAL_UNIT_NAME                                                 = "2.5.4.11"
 17932  	SzOID_ORGANIZATION_NAME                                                        = "2.5.4.10"
 17933  	SzOID_OS_VERSION                                                               = "1.3.6.1.4.1.311.13.2.3"
 17934  	SzOID_OWNER                                                                    = "2.5.4.32"
 17935  	SzOID_PHYSICAL_DELIVERY_OFFICE_NAME                                            = "2.5.4.19"
 17936  	SzOID_PIN_RULES_CTL                                                            = "1.3.6.1.4.1.311.10.3.32"
 17937  	SzOID_PIN_RULES_DOMAIN_NAME                                                    = "1.3.6.1.4.1.311.10.3.34"
 17938  	SzOID_PIN_RULES_EXT                                                            = "1.3.6.1.4.1.311.10.3.33"
 17939  	SzOID_PIN_RULES_LOG_END_DATE_EXT                                               = "1.3.6.1.4.1.311.10.3.35"
 17940  	SzOID_PIN_RULES_SIGNER                                                         = "1.3.6.1.4.1.311.10.3.31"
 17941  	SzOID_PKCS                                                                     = "1.2.840.113549.1"
 17942  	SzOID_PKCS_1                                                                   = "1.2.840.113549.1.1"
 17943  	SzOID_PKCS_10                                                                  = "1.2.840.113549.1.10"
 17944  	SzOID_PKCS_12                                                                  = "1.2.840.113549.1.12"
 17945  	SzOID_PKCS_12_EXTENDED_ATTRIBUTES                                              = "1.3.6.1.4.1.311.17.3"
 17946  	SzOID_PKCS_12_FRIENDLY_NAME_ATTR                                               = "1.2.840.113549.1.9.20"
 17947  	SzOID_PKCS_12_KEY_PROVIDER_NAME_ATTR                                           = "1.3.6.1.4.1.311.17.1"
 17948  	SzOID_PKCS_12_LOCAL_KEY_ID                                                     = "1.2.840.113549.1.9.21"
 17949  	SzOID_PKCS_12_PROTECTED_PASSWORD_SECRET_BAG_TYPE_ID                            = "1.3.6.1.4.1.311.17.4"
 17950  	SzOID_PKCS_12_PbeIds                                                           = "1.2.840.113549.1.12.1"
 17951  	SzOID_PKCS_12_pbeWithSHA1And128BitRC2                                          = "1.2.840.113549.1.12.1.5"
 17952  	SzOID_PKCS_12_pbeWithSHA1And128BitRC4                                          = "1.2.840.113549.1.12.1.1"
 17953  	SzOID_PKCS_12_pbeWithSHA1And2KeyTripleDES                                      = "1.2.840.113549.1.12.1.4"
 17954  	SzOID_PKCS_12_pbeWithSHA1And3KeyTripleDES                                      = "1.2.840.113549.1.12.1.3"
 17955  	SzOID_PKCS_12_pbeWithSHA1And40BitRC2                                           = "1.2.840.113549.1.12.1.6"
 17956  	SzOID_PKCS_12_pbeWithSHA1And40BitRC4                                           = "1.2.840.113549.1.12.1.2"
 17957  	SzOID_PKCS_2                                                                   = "1.2.840.113549.1.2"
 17958  	SzOID_PKCS_3                                                                   = "1.2.840.113549.1.3"
 17959  	SzOID_PKCS_4                                                                   = "1.2.840.113549.1.4"
 17960  	SzOID_PKCS_5                                                                   = "1.2.840.113549.1.5"
 17961  	SzOID_PKCS_5_PBES2                                                             = "1.2.840.113549.1.5.13"
 17962  	SzOID_PKCS_5_PBKDF2                                                            = "1.2.840.113549.1.5.12"
 17963  	SzOID_PKCS_6                                                                   = "1.2.840.113549.1.6"
 17964  	SzOID_PKCS_7                                                                   = "1.2.840.113549.1.7"
 17965  	SzOID_PKCS_7_DATA                                                              = "1.2.840.113549.1.7.1"
 17966  	SzOID_PKCS_7_DIGESTED                                                          = "1.2.840.113549.1.7.5"
 17967  	SzOID_PKCS_7_ENCRYPTED                                                         = "1.2.840.113549.1.7.6"
 17968  	SzOID_PKCS_7_ENVELOPED                                                         = "1.2.840.113549.1.7.3"
 17969  	SzOID_PKCS_7_SIGNED                                                            = "1.2.840.113549.1.7.2"
 17970  	SzOID_PKCS_7_SIGNEDANDENVELOPED                                                = "1.2.840.113549.1.7.4"
 17971  	SzOID_PKCS_8                                                                   = "1.2.840.113549.1.8"
 17972  	SzOID_PKCS_9                                                                   = "1.2.840.113549.1.9"
 17973  	SzOID_PKCS_9_CONTENT_TYPE                                                      = "1.2.840.113549.1.9.3"
 17974  	SzOID_PKCS_9_MESSAGE_DIGEST                                                    = "1.2.840.113549.1.9.4"
 17975  	SzOID_PKINIT_KP_KDC                                                            = "1.3.6.1.5.2.3.5"
 17976  	SzOID_PKIX                                                                     = "1.3.6.1.5.5.7"
 17977  	SzOID_PKIX_ACC_DESCR                                                           = "1.3.6.1.5.5.7.48"
 17978  	SzOID_PKIX_CA_ISSUERS                                                          = "1.3.6.1.5.5.7.48.2"
 17979  	SzOID_PKIX_CA_REPOSITORY                                                       = "1.3.6.1.5.5.7.48.5"
 17980  	SzOID_PKIX_KP                                                                  = "1.3.6.1.5.5.7.3"
 17981  	SzOID_PKIX_KP_CLIENT_AUTH                                                      = "1.3.6.1.5.5.7.3.2"
 17982  	SzOID_PKIX_KP_CODE_SIGNING                                                     = "1.3.6.1.5.5.7.3.3"
 17983  	SzOID_PKIX_KP_EMAIL_PROTECTION                                                 = "1.3.6.1.5.5.7.3.4"
 17984  	SzOID_PKIX_KP_IPSEC_END_SYSTEM                                                 = "1.3.6.1.5.5.7.3.5"
 17985  	SzOID_PKIX_KP_IPSEC_TUNNEL                                                     = "1.3.6.1.5.5.7.3.6"
 17986  	SzOID_PKIX_KP_IPSEC_USER                                                       = "1.3.6.1.5.5.7.3.7"
 17987  	SzOID_PKIX_KP_OCSP_SIGNING                                                     = "1.3.6.1.5.5.7.3.9"
 17988  	SzOID_PKIX_KP_SERVER_AUTH                                                      = "1.3.6.1.5.5.7.3.1"
 17989  	SzOID_PKIX_KP_TIMESTAMP_SIGNING                                                = "1.3.6.1.5.5.7.3.8"
 17990  	SzOID_PKIX_NO_SIGNATURE                                                        = "1.3.6.1.5.5.7.6.2"
 17991  	SzOID_PKIX_OCSP                                                                = "1.3.6.1.5.5.7.48.1"
 17992  	SzOID_PKIX_OCSP_BASIC_SIGNED_RESPONSE                                          = "1.3.6.1.5.5.7.48.1.1"
 17993  	SzOID_PKIX_OCSP_NOCHECK                                                        = "1.3.6.1.5.5.7.48.1.5"
 17994  	SzOID_PKIX_OCSP_NONCE                                                          = "1.3.6.1.5.5.7.48.1.2"
 17995  	SzOID_PKIX_PE                                                                  = "1.3.6.1.5.5.7.1"
 17996  	SzOID_PKIX_POLICY_QUALIFIER_CPS                                                = "1.3.6.1.5.5.7.2.1"
 17997  	SzOID_PKIX_POLICY_QUALIFIER_USERNOTICE                                         = "1.3.6.1.5.5.7.2.2"
 17998  	SzOID_PKIX_TIME_STAMPING                                                       = "1.3.6.1.5.5.7.48.3"
 17999  	SzOID_PLATFORM_MANIFEST_BINARY_ID                                              = "1.3.6.1.4.1.311.10.3.28"
 18000  	SzOID_POLICY_CONSTRAINTS                                                       = "2.5.29.36"
 18001  	SzOID_POLICY_MAPPINGS                                                          = "2.5.29.33"
 18002  	SzOID_POSTAL_ADDRESS                                                           = "2.5.4.16"
 18003  	SzOID_POSTAL_CODE                                                              = "2.5.4.17"
 18004  	SzOID_POST_OFFICE_BOX                                                          = "2.5.4.18"
 18005  	SzOID_PREFERRED_DELIVERY_METHOD                                                = "2.5.4.28"
 18006  	SzOID_PRESENTATION_ADDRESS                                                     = "2.5.4.29"
 18007  	SzOID_PRIVATEKEY_USAGE_PERIOD                                                  = "2.5.29.16"
 18008  	SzOID_PRODUCT_UPDATE                                                           = "1.3.6.1.4.1.311.31.1"
 18009  	SzOID_PROTECTED_PROCESS_LIGHT_SIGNER                                           = "1.3.6.1.4.1.311.10.3.22"
 18010  	SzOID_PROTECTED_PROCESS_SIGNER                                                 = "1.3.6.1.4.1.311.10.3.24"
 18011  	SzOID_QC_EU_COMPLIANCE                                                         = "0.4.0.1862.1.1"
 18012  	SzOID_QC_SSCD                                                                  = "0.4.0.1862.1.4"
 18013  	SzOID_QC_STATEMENTS_EXT                                                        = "1.3.6.1.5.5.7.1.3"
 18014  	SzOID_RDN_DUMMY_SIGNER                                                         = "1.3.6.1.4.1.311.21.9"
 18015  	SzOID_RDN_TCG_PLATFORM_MANUFACTURER                                            = "2.23.133.2.4"
 18016  	SzOID_RDN_TCG_PLATFORM_MODEL                                                   = "2.23.133.2.5"
 18017  	SzOID_RDN_TCG_PLATFORM_VERSION                                                 = "2.23.133.2.6"
 18018  	SzOID_RDN_TPM_MANUFACTURER                                                     = "2.23.133.2.1"
 18019  	SzOID_RDN_TPM_MODEL                                                            = "2.23.133.2.2"
 18020  	SzOID_RDN_TPM_VERSION                                                          = "2.23.133.2.3"
 18021  	SzOID_REASON_CODE_HOLD                                                         = "2.5.29.23"
 18022  	SzOID_REGISTERED_ADDRESS                                                       = "2.5.4.26"
 18023  	SzOID_REMOVE_CERTIFICATE                                                       = "1.3.6.1.4.1.311.10.8.1"
 18024  	SzOID_RENEWAL_CERTIFICATE                                                      = "1.3.6.1.4.1.311.13.1"
 18025  	SzOID_REQUEST_CLIENT_INFO                                                      = "1.3.6.1.4.1.311.21.20"
 18026  	SzOID_REQUIRE_CERT_CHAIN_POLICY                                                = "1.3.6.1.4.1.311.21.15"
 18027  	SzOID_REVOKED_LIST_SIGNER                                                      = "1.3.6.1.4.1.311.10.3.19"
 18028  	SzOID_RFC3161_counterSign                                                      = "1.3.6.1.4.1.311.3.3.1"
 18029  	SzOID_ROLE_OCCUPANT                                                            = "2.5.4.33"
 18030  	SzOID_ROOT_LIST_SIGNER                                                         = "1.3.6.1.4.1.311.10.3.9"
 18031  	SzOID_ROOT_PROGRAM_AUTO_UPDATE_CA_REVOCATION                                   = "1.3.6.1.4.1.311.60.3.1"
 18032  	SzOID_ROOT_PROGRAM_AUTO_UPDATE_END_REVOCATION                                  = "1.3.6.1.4.1.311.60.3.2"
 18033  	SzOID_ROOT_PROGRAM_FLAGS                                                       = "1.3.6.1.4.1.311.60.1.1"
 18034  	SzOID_ROOT_PROGRAM_NO_OCSP_FAILOVER_TO_CRL                                     = "1.3.6.1.4.1.311.60.3.3"
 18035  	SzOID_RSA                                                                      = "1.2.840.113549"
 18036  	SzOID_RSAES_OAEP                                                               = "1.2.840.113549.1.1.7"
 18037  	SzOID_RSA_DES_EDE3_CBC                                                         = "1.2.840.113549.3.7"
 18038  	SzOID_RSA_DH                                                                   = "1.2.840.113549.1.3.1"
 18039  	SzOID_RSA_ENCRYPT                                                              = "1.2.840.113549.3"
 18040  	SzOID_RSA_HASH                                                                 = "1.2.840.113549.2"
 18041  	SzOID_RSA_MD2                                                                  = "1.2.840.113549.2.2"
 18042  	SzOID_RSA_MD2RSA                                                               = "1.2.840.113549.1.1.2"
 18043  	SzOID_RSA_MD4                                                                  = "1.2.840.113549.2.4"
 18044  	SzOID_RSA_MD4RSA                                                               = "1.2.840.113549.1.1.3"
 18045  	SzOID_RSA_MD5                                                                  = "1.2.840.113549.2.5"
 18046  	SzOID_RSA_MD5RSA                                                               = "1.2.840.113549.1.1.4"
 18047  	SzOID_RSA_MGF1                                                                 = "1.2.840.113549.1.1.8"
 18048  	SzOID_RSA_PSPECIFIED                                                           = "1.2.840.113549.1.1.9"
 18049  	SzOID_RSA_RC2CBC                                                               = "1.2.840.113549.3.2"
 18050  	SzOID_RSA_RC4                                                                  = "1.2.840.113549.3.4"
 18051  	SzOID_RSA_RC5_CBCPad                                                           = "1.2.840.113549.3.9"
 18052  	SzOID_RSA_RSA                                                                  = "1.2.840.113549.1.1.1"
 18053  	SzOID_RSA_SETOAEP_RSA                                                          = "1.2.840.113549.1.1.6"
 18054  	SzOID_RSA_SHA1RSA                                                              = "1.2.840.113549.1.1.5"
 18055  	SzOID_RSA_SHA256RSA                                                            = "1.2.840.113549.1.1.11"
 18056  	SzOID_RSA_SHA384RSA                                                            = "1.2.840.113549.1.1.12"
 18057  	SzOID_RSA_SHA512RSA                                                            = "1.2.840.113549.1.1.13"
 18058  	SzOID_RSA_SMIMECapabilities                                                    = "1.2.840.113549.1.9.15"
 18059  	SzOID_RSA_SMIMEalg                                                             = "1.2.840.113549.1.9.16.3"
 18060  	SzOID_RSA_SMIMEalgCMS3DESwrap                                                  = "1.2.840.113549.1.9.16.3.6"
 18061  	SzOID_RSA_SMIMEalgCMSRC2wrap                                                   = "1.2.840.113549.1.9.16.3.7"
 18062  	SzOID_RSA_SMIMEalgESDH                                                         = "1.2.840.113549.1.9.16.3.5"
 18063  	SzOID_RSA_SSA_PSS                                                              = "1.2.840.113549.1.1.10"
 18064  	SzOID_RSA_certExtensions                                                       = "1.2.840.113549.1.9.14"
 18065  	SzOID_RSA_challengePwd                                                         = "1.2.840.113549.1.9.7"
 18066  	SzOID_RSA_contentType                                                          = "1.2.840.113549.1.9.3"
 18067  	SzOID_RSA_counterSign                                                          = "1.2.840.113549.1.9.6"
 18068  	SzOID_RSA_data                                                                 = "1.2.840.113549.1.7.1"
 18069  	SzOID_RSA_digestedData                                                         = "1.2.840.113549.1.7.5"
 18070  	SzOID_RSA_emailAddr                                                            = "1.2.840.113549.1.9.1"
 18071  	SzOID_RSA_encryptedData                                                        = "1.2.840.113549.1.7.6"
 18072  	SzOID_RSA_envelopedData                                                        = "1.2.840.113549.1.7.3"
 18073  	SzOID_RSA_extCertAttrs                                                         = "1.2.840.113549.1.9.9"
 18074  	SzOID_RSA_hashedData                                                           = "1.2.840.113549.1.7.5"
 18075  	SzOID_RSA_messageDigest                                                        = "1.2.840.113549.1.9.4"
 18076  	SzOID_RSA_preferSignedData                                                     = "1.2.840.113549.1.9.15.1"
 18077  	SzOID_RSA_signEnvData                                                          = "1.2.840.113549.1.7.4"
 18078  	SzOID_RSA_signedData                                                           = "1.2.840.113549.1.7.2"
 18079  	SzOID_RSA_signingTime                                                          = "1.2.840.113549.1.9.5"
 18080  	SzOID_RSA_unstructAddr                                                         = "1.2.840.113549.1.9.8"
 18081  	SzOID_RSA_unstructName                                                         = "1.2.840.113549.1.9.2"
 18082  	SzOID_SEARCH_GUIDE                                                             = "2.5.4.14"
 18083  	SzOID_SEE_ALSO                                                                 = "2.5.4.34"
 18084  	SzOID_SERIALIZED                                                               = "1.3.6.1.4.1.311.10.3.3.1"
 18085  	SzOID_SERVER_GATED_CRYPTO                                                      = "1.3.6.1.4.1.311.10.3.3"
 18086  	SzOID_SGC_NETSCAPE                                                             = "2.16.840.1.113730.4.1"
 18087  	SzOID_SITE_PIN_RULES_FLAGS_ATTR                                                = "1.3.6.1.4.1.311.10.4.3"
 18088  	SzOID_SITE_PIN_RULES_INDEX_ATTR                                                = "1.3.6.1.4.1.311.10.4.2"
 18089  	SzOID_SORTED_CTL                                                               = "1.3.6.1.4.1.311.10.1.1"
 18090  	SzOID_STATE_OR_PROVINCE_NAME                                                   = "2.5.4.8"
 18091  	SzOID_STREET_ADDRESS                                                           = "2.5.4.9"
 18092  	SzOID_SUBJECT_ALT_NAME                                                         = "2.5.29.7"
 18093  	SzOID_SUBJECT_ALT_NAME2                                                        = "2.5.29.17"
 18094  	SzOID_SUBJECT_DIR_ATTRS                                                        = "2.5.29.9"
 18095  	SzOID_SUBJECT_INFO_ACCESS                                                      = "1.3.6.1.5.5.7.1.11"
 18096  	SzOID_SUBJECT_KEY_IDENTIFIER                                                   = "2.5.29.14"
 18097  	SzOID_SUPPORTED_APPLICATION_CONTEXT                                            = "2.5.4.30"
 18098  	SzOID_SUR_NAME                                                                 = "2.5.4.4"
 18099  	SzOID_SYNC_ROOT_CTL_EXT                                                        = "1.3.6.1.4.1.311.10.3.50"
 18100  	SzOID_TELEPHONE_NUMBER                                                         = "2.5.4.20"
 18101  	SzOID_TELETEXT_TERMINAL_IDENTIFIER                                             = "2.5.4.22"
 18102  	SzOID_TELEX_NUMBER                                                             = "2.5.4.21"
 18103  	SzOID_TIMESTAMP_TOKEN                                                          = "1.2.840.113549.1.9.16.1.4"
 18104  	SzOID_TITLE                                                                    = "2.5.4.12"
 18105  	SzOID_TLS_FEATURES_EXT                                                         = "1.3.6.1.5.5.7.1.24"
 18106  	SzOID_USER_CERTIFICATE                                                         = "2.5.4.36"
 18107  	SzOID_USER_PASSWORD                                                            = "2.5.4.35"
 18108  	SzOID_VERISIGN_BITSTRING_6_13                                                  = "2.16.840.1.113733.1.6.13"
 18109  	SzOID_VERISIGN_ISS_STRONG_CRYPTO                                               = "2.16.840.1.113733.1.8.1"
 18110  	SzOID_VERISIGN_ONSITE_JURISDICTION_HASH                                        = "2.16.840.1.113733.1.6.11"
 18111  	SzOID_VERISIGN_PRIVATE_6_9                                                     = "2.16.840.1.113733.1.6.9"
 18112  	SzOID_WHQL_CRYPTO                                                              = "1.3.6.1.4.1.311.10.3.5"
 18113  	SzOID_WINDOWS_KITS_SIGNER                                                      = "1.3.6.1.4.1.311.10.3.20"
 18114  	SzOID_WINDOWS_RT_SIGNER                                                        = "1.3.6.1.4.1.311.10.3.21"
 18115  	SzOID_WINDOWS_SOFTWARE_EXTENSION_SIGNER                                        = "1.3.6.1.4.1.311.10.3.26"
 18116  	SzOID_WINDOWS_STORE_SIGNER                                                     = "1.3.6.1.4.1.311.76.3.1"
 18117  	SzOID_WINDOWS_TCB_SIGNER                                                       = "1.3.6.1.4.1.311.10.3.23"
 18118  	SzOID_WINDOWS_THIRD_PARTY_COMPONENT_SIGNER                                     = "1.3.6.1.4.1.311.10.3.25"
 18119  	SzOID_X21_ADDRESS                                                              = "2.5.4.24"
 18120  	SzOID_X957                                                                     = "1.2.840.10040"
 18121  	SzOID_X957_DSA                                                                 = "1.2.840.10040.4.1"
 18122  	SzOID_X957_SHA1DSA                                                             = "1.2.840.10040.4.3"
 18123  	SzOID_YESNO_TRUST_ATTR                                                         = "1.3.6.1.4.1.311.10.4.1"
 18124  	SzPRIV_KEY_CACHE_MAX_ITEMS                                                     = "PrivKeyCacheMaxItems"
 18125  	SzPRIV_KEY_CACHE_PURGE_INTERVAL_SECONDS                                        = "PrivKeyCachePurgeIntervalSeconds"
 18126  	Sz_CERT_STORE_PROV_COLLECTION                                                  = "Collection"
 18127  	Sz_CERT_STORE_PROV_FILENAME_W                                                  = "File"
 18128  	Sz_CERT_STORE_PROV_LDAP_W                                                      = "Ldap"
 18129  	Sz_CERT_STORE_PROV_MEMORY                                                      = "Memory"
 18130  	Sz_CERT_STORE_PROV_PHYSICAL_W                                                  = "Physical"
 18131  	Sz_CERT_STORE_PROV_PKCS12                                                      = "PKCS12"
 18132  	Sz_CERT_STORE_PROV_PKCS7                                                       = "PKCS7"
 18133  	Sz_CERT_STORE_PROV_SERIALIZED                                                  = "Serialized"
 18134  	Sz_CERT_STORE_PROV_SMART_CARD_W                                                = "SmartCard"
 18135  	Sz_CERT_STORE_PROV_SYSTEM_REGISTRY_W                                           = "SystemRegistry"
 18136  	Sz_CERT_STORE_PROV_SYSTEM_W                                                    = "System"
 18137  	Tag_inner_PROPVARIANT                                                          = 0
 18138  	FUZZER_HASH                                                                    = 4001
 18139  	FUZZER_MX_COST                                                                 = 1000
 18140  	FUZZER_MX_LENGTH                                                               = 50
 18141  	FUZZER_MX_OUTPUT_LENGTH                                                        = 100
 18142  	FUZZER_MX_RULEID                                                               = 2147483647
 18143  	FUZZER_NQUEUE                                                                  = 20
 18144  	CC_AND                                                                         = 24
 18145  	CC_BANG                                                                        = 15
 18146  	CC_COMMA                                                                       = 23
 18147  	CC_DIGIT                                                                       = 3
 18148  	CC_DOLLAR                                                                      = 4
 18149  	CC_DOT                                                                         = 26
 18150  	CC_EQ                                                                          = 14
 18151  	CC_GT                                                                          = 13
 18152  	CC_ID                                                                          = 2
 18153  	CC_ILLEGAL                                                                     = 27
 18154  	CC_KYWD                                                                        = 1
 18155  	CC_LP                                                                          = 17
 18156  	CC_LT                                                                          = 12
 18157  	CC_MINUS                                                                       = 11
 18158  	CC_PERCENT                                                                     = 22
 18159  	CC_PIPE                                                                        = 10
 18160  	CC_PLUS                                                                        = 20
 18161  	CC_QUOTE                                                                       = 8
 18162  	CC_QUOTE2                                                                      = 9
 18163  	CC_RP                                                                          = 18
 18164  	CC_SEMI                                                                        = 19
 18165  	CC_SLASH                                                                       = 16
 18166  	CC_SPACE                                                                       = 7
 18167  	CC_STAR                                                                        = 21
 18168  	CC_TILDA                                                                       = 25
 18169  	CC_VARALPHA                                                                    = 5
 18170  	CC_VARNUM                                                                      = 6
 18171  	CC_X                                                                           = 0
 18172  	TK_BITAND                                                                      = 3
 18173  	TK_BITNOT                                                                      = 3
 18174  	TK_BITOR                                                                       = 3
 18175  	TK_BLOB                                                                        = 2
 18176  	TK_COMMA                                                                       = 3
 18177  	TK_CONCAT                                                                      = 3
 18178  	TK_DOT                                                                         = 3
 18179  	TK_EQ                                                                          = 3
 18180  	TK_ERROR                                                                       = 4
 18181  	TK_FLOAT                                                                       = 2
 18182  	TK_GE                                                                          = 3
 18183  	TK_GT                                                                          = 3
 18184  	TK_ID                                                                          = 1
 18185  	TK_ILLEGAL                                                                     = 4
 18186  	TK_INTEGER                                                                     = 2
 18187  	TK_LE                                                                          = 3
 18188  	TK_LITERAL                                                                     = 2
 18189  	TK_LP                                                                          = 3
 18190  	TK_LSHIFT                                                                      = 3
 18191  	TK_LT                                                                          = 3
 18192  	TK_MINUS                                                                       = 3
 18193  	TK_NAME                                                                        = 1
 18194  	TK_NE                                                                          = 3
 18195  	TK_PLUS                                                                        = 3
 18196  	TK_PUNCT                                                                       = 3
 18197  	TK_REM                                                                         = 3
 18198  	TK_RP                                                                          = 3
 18199  	TK_RSHIFT                                                                      = 3
 18200  	TK_SEMI                                                                        = 3
 18201  	TK_SLASH                                                                       = 3
 18202  	TK_SPACE                                                                       = 0
 18203  	TK_STAR                                                                        = 3
 18204  	TK_STRING                                                                      = 2
 18205  	TK_VARIABLE                                                                    = 2
 18206  	Deliberate_fall_through                                                        = 0
 18207  	QPVTAB_A                                                                       = 6
 18208  	QPVTAB_B                                                                       = 7
 18209  	QPVTAB_C                                                                       = 8
 18210  	QPVTAB_CN                                                                      = 2
 18211  	QPVTAB_D                                                                       = 9
 18212  	QPVTAB_E                                                                       = 10
 18213  	QPVTAB_FLAGS                                                                   = 11
 18214  	QPVTAB_IX                                                                      = 1
 18215  	QPVTAB_NONE                                                                    = 12
 18216  	QPVTAB_OP                                                                      = 3
 18217  	QPVTAB_RHS                                                                     = 5
 18218  	QPVTAB_UX                                                                      = 4
 18219  	QPVTAB_VN                                                                      = 0
 18220  	RE_EOF                                                                         = 0
 18221  	RE_OP_ACCEPT                                                                   = 6
 18222  	RE_OP_ANY                                                                      = 2
 18223  	RE_OP_ANYSTAR                                                                  = 3
 18224  	RE_OP_BOUNDARY                                                                 = 17
 18225  	RE_OP_CC_EXC                                                                   = 8
 18226  	RE_OP_CC_INC                                                                   = 7
 18227  	RE_OP_CC_RANGE                                                                 = 10
 18228  	RE_OP_CC_VALUE                                                                 = 9
 18229  	RE_OP_DIGIT                                                                    = 13
 18230  	RE_OP_FORK                                                                     = 4
 18231  	RE_OP_GOTO                                                                     = 5
 18232  	RE_OP_MATCH                                                                    = 1
 18233  	RE_OP_NOTDIGIT                                                                 = 14
 18234  	RE_OP_NOTSPACE                                                                 = 16
 18235  	RE_OP_NOTWORD                                                                  = 12
 18236  	RE_OP_SPACE                                                                    = 15
 18237  	RE_OP_WORD                                                                     = 11
 18238  	SERIES_COLUMN_START                                                            = 1
 18239  	SERIES_COLUMN_STEP                                                             = 3
 18240  	SERIES_COLUMN_STOP                                                             = 2
 18241  	SERIES_COLUMN_VALUE                                                            = 0
 18242  	CCLASS_B                                                                       = 2
 18243  	CCLASS_C                                                                       = 3
 18244  	CCLASS_D                                                                       = 4
 18245  	CCLASS_DIGIT                                                                   = 10
 18246  	CCLASS_H                                                                       = 5
 18247  	CCLASS_L                                                                       = 6
 18248  	CCLASS_M                                                                       = 8
 18249  	CCLASS_OTHER                                                                   = 12
 18250  	CCLASS_R                                                                       = 7
 18251  	CCLASS_SILENT                                                                  = 0
 18252  	CCLASS_SPACE                                                                   = 11
 18253  	CCLASS_VOWEL                                                                   = 1
 18254  	CCLASS_Y                                                                       = 9
 18255  	FINAL_INS_COST_DIV                                                             = 4
 18256  	SCRIPT_ARABIC                                                                  = 0x0010
 18257  	SCRIPT_CYRILLIC                                                                = 0x0002
 18258  	SCRIPT_GREEK                                                                   = 0x0004
 18259  	SCRIPT_HEBREW                                                                  = 0x0008
 18260  	SCRIPT_LATIN                                                                   = 0x0001
 18261  	SPELLFIX_COL_COMMAND                                                           = 11
 18262  	SPELLFIX_COL_DISTANCE                                                          = 2
 18263  	SPELLFIX_COL_LANGID                                                            = 3
 18264  	SPELLFIX_COL_MATCHLEN                                                          = 5
 18265  	SPELLFIX_COL_PHONEHASH                                                         = 6
 18266  	SPELLFIX_COL_RANK                                                              = 1
 18267  	SPELLFIX_COL_SCOPE                                                             = 8
 18268  	SPELLFIX_COL_SCORE                                                             = 4
 18269  	SPELLFIX_COL_SOUNDSLIKE                                                        = 10
 18270  	SPELLFIX_COL_SRCHCNT                                                           = 9
 18271  	SPELLFIX_COL_TOP                                                               = 7
 18272  	SPELLFIX_COL_WORD                                                              = 0
 18273  	SPELLFIX_IDXNUM_DIST                                                           = 48
 18274  	SPELLFIX_IDXNUM_DISTLE                                                         = 0x20
 18275  	SPELLFIX_IDXNUM_DISTLT                                                         = 0x10
 18276  	SPELLFIX_IDXNUM_LANGID                                                         = 0x02
 18277  	SPELLFIX_IDXNUM_MATCH                                                          = 0x01
 18278  	SPELLFIX_IDXNUM_ROWID                                                          = 0x40
 18279  	SPELLFIX_IDXNUM_SCOPE                                                          = 0x08
 18280  	SPELLFIX_IDXNUM_TOP                                                            = 0x04
 18281  	SPELLFIX_MX_HASH                                                               = 32
 18282  	SPELLFIX_MX_RUN                                                                = 1
 18283  	SQLITE_SPELLFIX_STACKALLOC_SZ                                                  = 1024
 18284  	TOTYPE_BIGENDIAN                                                               = 0
 18285  	TOTYPE_LITTLEENDIAN                                                            = 1
 18286  	SWARMVTAB_MAX_OPEN                                                             = 9
 18287  	SQLITE_RBU_STATE_CHECKPOINT                                                    = 3
 18288  	SQLITE_RBU_STATE_DONE                                                          = 4
 18289  	SQLITE_RBU_STATE_ERROR                                                         = 5
 18290  	SQLITE_RBU_STATE_MOVE                                                          = 2
 18291  	SQLITE_RBU_STATE_OAL                                                           = 1
 18292  	X_SQLITE3RBU_H                                                                 = 0
 18293  	BTREE_APPEND                                                                   = 0x08
 18294  	BTREE_APPLICATION_ID                                                           = 8
 18295  	BTREE_AUTOVACUUM_FULL                                                          = 1
 18296  	BTREE_AUTOVACUUM_INCR                                                          = 2
 18297  	BTREE_AUTOVACUUM_NONE                                                          = 0
 18298  	BTREE_AUXDELETE                                                                = 0x04
 18299  	BTREE_BLOBKEY                                                                  = 2
 18300  	BTREE_BULKLOAD                                                                 = 0x00000001
 18301  	BTREE_DATA_VERSION                                                             = 15
 18302  	BTREE_DEFAULT_CACHE_SIZE                                                       = 3
 18303  	BTREE_FILE_FORMAT                                                              = 2
 18304  	BTREE_FORDELETE                                                                = 0x00000008
 18305  	BTREE_FREE_PAGE_COUNT                                                          = 0
 18306  	BTREE_HINT_RANGE                                                               = 0
 18307  	BTREE_INCR_VACUUM                                                              = 7
 18308  	BTREE_INTKEY                                                                   = 1
 18309  	BTREE_LARGEST_ROOT_PAGE                                                        = 4
 18310  	BTREE_MEMORY                                                                   = 2
 18311  	BTREE_OMIT_JOURNAL                                                             = 1
 18312  	BTREE_PREFORMAT                                                                = 0x80
 18313  	BTREE_SAVEPOSITION                                                             = 0x02
 18314  	BTREE_SCHEMA_VERSION                                                           = 1
 18315  	BTREE_SEEK_EQ                                                                  = 0x00000002
 18316  	BTREE_SINGLE                                                                   = 4
 18317  	BTREE_TEXT_ENCODING                                                            = 5
 18318  	BTREE_UNORDERED                                                                = 8
 18319  	BTREE_USER_VERSION                                                             = 6
 18320  	BTREE_WRCSR                                                                    = 0x00000004
 18321  	COLFLAG_BUSY                                                                   = 0x0100
 18322  	COLFLAG_GENERATED                                                              = 0x0060
 18323  	COLFLAG_HASCOLL                                                                = 0x0200
 18324  	COLFLAG_HASTYPE                                                                = 0x0004
 18325  	COLFLAG_HIDDEN                                                                 = 0x0002
 18326  	COLFLAG_NOEXPAND                                                               = 0x0400
 18327  	COLFLAG_NOINSERT                                                               = 0x0062
 18328  	COLFLAG_NOTAVAIL                                                               = 0x0080
 18329  	COLFLAG_PRIMKEY                                                                = 0x0001
 18330  	COLFLAG_SORTERREF                                                              = 0x0010
 18331  	COLFLAG_STORED                                                                 = 0x0040
 18332  	COLFLAG_UNIQUE                                                                 = 0x0008
 18333  	COLFLAG_VIRTUAL                                                                = 0x0020
 18334  	COLNAME_COLUMN                                                                 = 4
 18335  	COLNAME_DATABASE                                                               = 2
 18336  	COLNAME_DECLTYPE                                                               = 1
 18337  	COLNAME_N                                                                      = 5
 18338  	COLNAME_NAME                                                                   = 0
 18339  	COLNAME_TABLE                                                                  = 3
 18340  	COLTYPE_ANY                                                                    = 1
 18341  	COLTYPE_BLOB                                                                   = 2
 18342  	COLTYPE_CUSTOM                                                                 = 0
 18343  	COLTYPE_INT                                                                    = 3
 18344  	COLTYPE_INTEGER                                                                = 4
 18345  	COLTYPE_REAL                                                                   = 5
 18346  	COLTYPE_TEXT                                                                   = 6
 18347  	DBFLAG_EncodingFixed                                                           = 0x0040
 18348  	DBFLAG_InternalFunc                                                            = 0x0020
 18349  	DBFLAG_PreferBuiltin                                                           = 0x0002
 18350  	DBFLAG_SchemaChange                                                            = 0x0001
 18351  	DBFLAG_SchemaKnownOk                                                           = 0x0010
 18352  	DBFLAG_Vacuum                                                                  = 0x0004
 18353  	DBFLAG_VacuumInto                                                              = 0x0008
 18354  	DB_ResetWanted                                                                 = 0x0008
 18355  	DB_SchemaLoaded                                                                = 0x0001
 18356  	DB_UnresetViews                                                                = 0x0002
 18357  	ENAME_NAME                                                                     = 0
 18358  	ENAME_SPAN                                                                     = 1
 18359  	ENAME_TAB                                                                      = 2
 18360  	EP_Agg                                                                         = 0x000010
 18361  	EP_CanBeNull                                                                   = 0x200000
 18362  	EP_Collate                                                                     = 0x000200
 18363  	EP_Commuted                                                                    = 0x000400
 18364  	EP_ConstFunc                                                                   = 0x100000
 18365  	EP_DblQuoted                                                                   = 0x000080
 18366  	EP_Distinct                                                                    = 0x000004
 18367  	EP_FixedCol                                                                    = 0x000020
 18368  	EP_FromDDL                                                                     = 0x40000000
 18369  	EP_HasFunc                                                                     = 0x000008
 18370  	EP_IfNullRow                                                                   = 0x040000
 18371  	EP_Immutable                                                                   = 0x02
 18372  	EP_InfixFunc                                                                   = 0x000100
 18373  	EP_InnerON                                                                     = 0x000002
 18374  	EP_IntValue                                                                    = 0x000800
 18375  	EP_IsFalse                                                                     = 0x20000000
 18376  	EP_IsTrue                                                                      = 0x10000000
 18377  	EP_Leaf                                                                        = 0x800000
 18378  	EP_MemToken                                                                    = 0x020000
 18379  	EP_NoReduce                                                                    = 0x01
 18380  	EP_OuterON                                                                     = 0x000001
 18381  	EP_Propagate                                                                   = 4194824
 18382  	EP_Quoted                                                                      = 0x4000000
 18383  	EP_Reduced                                                                     = 0x004000
 18384  	EP_Skip                                                                        = 0x002000
 18385  	EP_Static                                                                      = 0x8000000
 18386  	EP_Subquery                                                                    = 0x400000
 18387  	EP_Subrtn                                                                      = 0x2000000
 18388  	EP_TokenOnly                                                                   = 0x010000
 18389  	EP_Unlikely                                                                    = 0x080000
 18390  	EP_VarSelect                                                                   = 0x000040
 18391  	EP_Win                                                                         = 0x008000
 18392  	EP_WinFunc                                                                     = 0x1000000
 18393  	EP_xIsSelect                                                                   = 0x001000
 18394  	EU4_EXPR                                                                       = 2
 18395  	EU4_IDX                                                                        = 1
 18396  	EU4_NONE                                                                       = 0
 18397  	EXCLUSIVE_LOCK                                                                 = 4
 18398  	EXPRDUP_REDUCE                                                                 = 0x0001
 18399  	GCC_VERSION                                                                    = 10000000
 18400  	HAVE_FCHOWN                                                                    = 1
 18401  	HAVE_INT16_T                                                                   = 1
 18402  	HAVE_INT32_T                                                                   = 1
 18403  	HAVE_INT64_T                                                                   = 1
 18404  	HAVE_INT8_T                                                                    = 1
 18405  	HAVE_INTPTR_T                                                                  = 1
 18406  	HAVE_INTTYPES_H                                                                = 1
 18407  	HAVE_ISNAN                                                                     = 1
 18408  	HAVE_LSTAT                                                                     = 1
 18409  	HAVE_MALLOC_H                                                                  = 1
 18410  	HAVE_MEMORY_H                                                                  = 1
 18411  	HAVE_READLINK                                                                  = 1
 18412  	HAVE_STDINT_H                                                                  = 1
 18413  	HAVE_STDLIB_H                                                                  = 1
 18414  	HAVE_STRINGS_H                                                                 = 1
 18415  	HAVE_STRING_H                                                                  = 1
 18416  	HAVE_SYS_STAT_H                                                                = 1
 18417  	HAVE_SYS_TYPES_H                                                               = 1
 18418  	HAVE_UINT16_T                                                                  = 1
 18419  	HAVE_UINT32_T                                                                  = 1
 18420  	HAVE_UINT64_T                                                                  = 1
 18421  	HAVE_UINT8_T                                                                   = 1
 18422  	HAVE_UINTPTR_T                                                                 = 1
 18423  	HAVE_UNISTD_H                                                                  = 1
 18424  	HAVE_UTIME                                                                     = 1
 18425  	INITFLAG_AlterAdd                                                              = 0x0003
 18426  	INITFLAG_AlterDrop                                                             = 0x0002
 18427  	INITFLAG_AlterMask                                                             = 0x0003
 18428  	INITFLAG_AlterRename                                                           = 0x0001
 18429  	INLINEFUNC_affinity                                                            = 4
 18430  	INLINEFUNC_coalesce                                                            = 0
 18431  	INLINEFUNC_expr_compare                                                        = 3
 18432  	INLINEFUNC_expr_implies_expr                                                   = 2
 18433  	INLINEFUNC_iif                                                                 = 5
 18434  	INLINEFUNC_implies_nonnull_row                                                 = 1
 18435  	INLINEFUNC_sqlite_offset                                                       = 6
 18436  	INLINEFUNC_unlikely                                                            = 99
 18437  	INT16_MAX                                                                      = 32767
 18438  	INT16_MIN                                                                      = -32768
 18439  	INT32_MAX                                                                      = 2147483647
 18440  	INT32_MIN                                                                      = -2147483648
 18441  	INT64_MAX                                                                      = 9223372036854775807
 18442  	INT64_MIN                                                                      = -9223372036854775808
 18443  	INT8_MAX                                                                       = 127
 18444  	INT8_MIN                                                                       = -128
 18445  	INTMAX_MAX                                                                     = 9223372036854775807
 18446  	INTMAX_MIN                                                                     = -9223372036854775808
 18447  	INTPTR_MAX                                                                     = 9223372036854775807
 18448  	INTPTR_MIN                                                                     = -9223372036854775808
 18449  	INT_FAST16_MAX                                                                 = 32767
 18450  	INT_FAST16_MIN                                                                 = -32768
 18451  	INT_FAST32_MAX                                                                 = 2147483647
 18452  	INT_FAST32_MIN                                                                 = -2147483648
 18453  	INT_FAST64_MAX                                                                 = 9223372036854775807
 18454  	INT_FAST64_MIN                                                                 = -9223372036854775808
 18455  	INT_FAST8_MAX                                                                  = 127
 18456  	INT_FAST8_MIN                                                                  = -128
 18457  	INT_LEAST16_MAX                                                                = 32767
 18458  	INT_LEAST16_MIN                                                                = -32768
 18459  	INT_LEAST32_MAX                                                                = 2147483647
 18460  	INT_LEAST32_MIN                                                                = -2147483648
 18461  	INT_LEAST64_MAX                                                                = 9223372036854775807
 18462  	INT_LEAST64_MIN                                                                = -9223372036854775808
 18463  	INT_LEAST8_MAX                                                                 = 127
 18464  	INT_LEAST8_MIN                                                                 = -128
 18465  	IN_INDEX_EPH                                                                   = 2
 18466  	IN_INDEX_INDEX_ASC                                                             = 3
 18467  	IN_INDEX_INDEX_DESC                                                            = 4
 18468  	IN_INDEX_LOOP                                                                  = 0x0004
 18469  	IN_INDEX_MEMBERSHIP                                                            = 0x0002
 18470  	IN_INDEX_NOOP                                                                  = 5
 18471  	IN_INDEX_NOOP_OK                                                               = 0x0001
 18472  	IN_INDEX_ROWID                                                                 = 1
 18473  	JT_CROSS                                                                       = 0x02
 18474  	JT_ERROR                                                                       = 0x80
 18475  	JT_INNER                                                                       = 0x01
 18476  	JT_LEFT                                                                        = 0x08
 18477  	JT_LTORJ                                                                       = 0x40
 18478  	JT_NATURAL                                                                     = 0x04
 18479  	JT_OUTER                                                                       = 0x20
 18480  	JT_RIGHT                                                                       = 0x10
 18481  	KEYINFO_ORDER_BIGNULL                                                          = 0x02
 18482  	KEYINFO_ORDER_DESC                                                             = 0x01
 18483  	LEGACY_SCHEMA_TABLE                                                            = "sqlite_master"
 18484  	LEGACY_TEMP_SCHEMA_TABLE                                                       = "sqlite_temp_master"
 18485  	LOCATE_NOERR                                                                   = 0x02
 18486  	LOCATE_VIEW                                                                    = 0x01
 18487  	LOOKASIDE_SMALL                                                                = 128
 18488  	LT_OBJDIR                                                                      = ".libs/"
 18489  	M10d_Any                                                                       = 1
 18490  	M10d_No                                                                        = 2
 18491  	M10d_Yes                                                                       = 0
 18492  	MEMTYPE_HEAP                                                                   = 0x01
 18493  	MEMTYPE_LOOKASIDE                                                              = 0x02
 18494  	MEMTYPE_PCACHE                                                                 = 0x04
 18495  	MSVC_VERSION                                                                   = 1900
 18496  	NC_AllowAgg                                                                    = 0x000001
 18497  	NC_AllowWin                                                                    = 0x004000
 18498  	NC_Complex                                                                     = 0x002000
 18499  	NC_FromDDL                                                                     = 0x040000
 18500  	NC_GenCol                                                                      = 0x000008
 18501  	NC_HasAgg                                                                      = 0x000010
 18502  	NC_HasWin                                                                      = 0x008000
 18503  	NC_IdxExpr                                                                     = 0x000020
 18504  	NC_InAggFunc                                                                   = 0x020000
 18505  	NC_IsCheck                                                                     = 0x000004
 18506  	NC_IsDDL                                                                       = 0x010000
 18507  	NC_MinMaxAgg                                                                   = 0x001000
 18508  	NC_NoSelect                                                                    = 0x080000
 18509  	NC_OrderAgg                                                                    = 0x8000000
 18510  	NC_PartIdx                                                                     = 0x000002
 18511  	NC_SelfRef                                                                     = 0x00002e
 18512  	NC_UAggInfo                                                                    = 0x000100
 18513  	NC_UBaseReg                                                                    = 0x000400
 18514  	NC_UEList                                                                      = 0x000080
 18515  	NC_UUpsert                                                                     = 0x000200
 18516  	NC_VarSelect                                                                   = 0x000040
 18517  	NO_LOCK                                                                        = 0
 18518  	OE_Abort                                                                       = 2
 18519  	OE_Cascade                                                                     = 10
 18520  	OE_Default                                                                     = 11
 18521  	OE_Fail                                                                        = 3
 18522  	OE_Ignore                                                                      = 4
 18523  	OE_None                                                                        = 0
 18524  	OE_Replace                                                                     = 5
 18525  	OE_Restrict                                                                    = 7
 18526  	OE_Rollback                                                                    = 1
 18527  	OE_SetDflt                                                                     = 9
 18528  	OE_SetNull                                                                     = 8
 18529  	OE_Update                                                                      = 6
 18530  	OMIT_TEMPDB                                                                    = 0
 18531  	ONEPASS_MULTI                                                                  = 2
 18532  	ONEPASS_OFF                                                                    = 0
 18533  	ONEPASS_SINGLE                                                                 = 1
 18534  	OPFLAG_APPEND                                                                  = 0x08
 18535  	OPFLAG_AUXDELETE                                                               = 0x04
 18536  	OPFLAG_BULKCSR                                                                 = 0x01
 18537  	OPFLAG_EPHEM                                                                   = 0x01
 18538  	OPFLAG_FORDELETE                                                               = 0x08
 18539  	OPFLAG_ISNOOP                                                                  = 0x40
 18540  	OPFLAG_ISUPDATE                                                                = 0x04
 18541  	OPFLAG_LASTROWID                                                               = 0x20
 18542  	OPFLAG_LENGTHARG                                                               = 0x40
 18543  	OPFLAG_NCHANGE                                                                 = 0x01
 18544  	OPFLAG_NOCHNG                                                                  = 0x01
 18545  	OPFLAG_NOCHNG_MAGIC                                                            = 0x6d
 18546  	OPFLAG_P2ISREG                                                                 = 0x10
 18547  	OPFLAG_PERMUTE                                                                 = 0x01
 18548  	OPFLAG_PREFORMAT                                                               = 0x80
 18549  	OPFLAG_SAVEPOSITION                                                            = 0x02
 18550  	OPFLAG_SEEKEQ                                                                  = 0x02
 18551  	OPFLAG_TYPEOFARG                                                               = 0x80
 18552  	OPFLAG_USESEEKRESULT                                                           = 0x10
 18553  	OPFLG_IN1                                                                      = 0x02
 18554  	OPFLG_IN2                                                                      = 0x04
 18555  	OPFLG_IN3                                                                      = 0x08
 18556  	OPFLG_JUMP                                                                     = 0x01
 18557  	OPFLG_OUT2                                                                     = 0x10
 18558  	OPFLG_OUT3                                                                     = 0x20
 18559  	OP_Abortable                                                                   = 186
 18560  	OP_Add                                                                         = 106
 18561  	OP_AddImm                                                                      = 86
 18562  	OP_Affinity                                                                    = 96
 18563  	OP_AggFinal                                                                    = 165
 18564  	OP_AggInverse                                                                  = 161
 18565  	OP_AggStep                                                                     = 162
 18566  	OP_AggStep1                                                                    = 163
 18567  	OP_AggValue                                                                    = 164
 18568  	OP_And                                                                         = 44
 18569  	OP_AutoCommit                                                                  = 1
 18570  	OP_BeginSubrtn                                                                 = 74
 18571  	OP_BitAnd                                                                      = 102
 18572  	OP_BitNot                                                                      = 114
 18573  	OP_BitOr                                                                       = 103
 18574  	OP_Blob                                                                        = 77
 18575  	OP_Cast                                                                        = 88
 18576  	OP_Checkpoint                                                                  = 3
 18577  	OP_Clear                                                                       = 145
 18578  	OP_Close                                                                       = 122
 18579  	OP_ClrSubtype                                                                  = 179
 18580  	OP_CollSeq                                                                     = 85
 18581  	OP_Column                                                                      = 94
 18582  	OP_ColumnsUsed                                                                 = 123
 18583  	OP_Compare                                                                     = 90
 18584  	OP_Concat                                                                      = 111
 18585  	OP_Copy                                                                        = 80
 18586  	OP_Count                                                                       = 98
 18587  	OP_CreateBtree                                                                 = 147
 18588  	OP_CursorHint                                                                  = 182
 18589  	OP_CursorLock                                                                  = 167
 18590  	OP_CursorUnlock                                                                = 168
 18591  	OP_DecrJumpZero                                                                = 60
 18592  	OP_DeferredSeek                                                                = 141
 18593  	OP_Delete                                                                      = 130
 18594  	OP_Destroy                                                                     = 144
 18595  	OP_Divide                                                                      = 109
 18596  	OP_DropIndex                                                                   = 152
 18597  	OP_DropTable                                                                   = 151
 18598  	OP_DropTrigger                                                                 = 154
 18599  	OP_ElseEq                                                                      = 58
 18600  	OP_EndCoroutine                                                                = 68
 18601  	OP_Eq                                                                          = 53
 18602  	OP_Expire                                                                      = 166
 18603  	OP_Explain                                                                     = 185
 18604  	OP_Filter                                                                      = 63
 18605  	OP_FilterAdd                                                                   = 180
 18606  	OP_FinishSeek                                                                  = 143
 18607  	OP_FkCheck                                                                     = 83
 18608  	OP_FkCounter                                                                   = 158
 18609  	OP_FkIfZero                                                                    = 48
 18610  	OP_Found                                                                       = 28
 18611  	OP_Function                                                                    = 66
 18612  	OP_Ge                                                                          = 57
 18613  	OP_Gosub                                                                       = 9
 18614  	OP_Goto                                                                        = 8
 18615  	OP_Gt                                                                          = 54
 18616  	OP_Halt                                                                        = 70
 18617  	OP_HaltIfNull                                                                  = 69
 18618  	OP_IdxDelete                                                                   = 140
 18619  	OP_IdxGE                                                                       = 42
 18620  	OP_IdxGT                                                                       = 40
 18621  	OP_IdxInsert                                                                   = 138
 18622  	OP_IdxLE                                                                       = 39
 18623  	OP_IdxLT                                                                       = 41
 18624  	OP_IdxRowid                                                                    = 142
 18625  	OP_If                                                                          = 15
 18626  	OP_IfNoHope                                                                    = 25
 18627  	OP_IfNot                                                                       = 16
 18628  	OP_IfNotOpen                                                                   = 24
 18629  	OP_IfNotZero                                                                   = 59
 18630  	OP_IfNullRow                                                                   = 18
 18631  	OP_IfPos                                                                       = 49
 18632  	OP_IfSmaller                                                                   = 32
 18633  	OP_IncrVacuum                                                                  = 61
 18634  	OP_Init                                                                        = 64
 18635  	OP_InitCoroutine                                                               = 10
 18636  	OP_Insert                                                                      = 128
 18637  	OP_Int64                                                                       = 72
 18638  	OP_IntCopy                                                                     = 82
 18639  	OP_Integer                                                                     = 71
 18640  	OP_IntegrityCk                                                                 = 155
 18641  	OP_IsNull                                                                      = 50
 18642  	OP_IsNullOrType                                                                = 17
 18643  	OP_IsTrue                                                                      = 91
 18644  	OP_JournalMode                                                                 = 4
 18645  	OP_Jump                                                                        = 13
 18646  	OP_Last                                                                        = 31
 18647  	OP_Le                                                                          = 55
 18648  	OP_LoadAnalysis                                                                = 150
 18649  	OP_Lt                                                                          = 56
 18650  	OP_MakeRecord                                                                  = 97
 18651  	OP_MaxPgcnt                                                                    = 178
 18652  	OP_MemMax                                                                      = 159
 18653  	OP_Move                                                                        = 79
 18654  	OP_Multiply                                                                    = 108
 18655  	OP_MustBeInt                                                                   = 12
 18656  	OP_Ne                                                                          = 52
 18657  	OP_NewRowid                                                                    = 127
 18658  	OP_Next                                                                        = 38
 18659  	OP_NoConflict                                                                  = 26
 18660  	OP_Noop                                                                        = 184
 18661  	OP_Not                                                                         = 19
 18662  	OP_NotExists                                                                   = 30
 18663  	OP_NotFound                                                                    = 27
 18664  	OP_NotNull                                                                     = 51
 18665  	OP_Null                                                                        = 75
 18666  	OP_NullRow                                                                     = 136
 18667  	OP_Offset                                                                      = 93
 18668  	OP_OffsetLimit                                                                 = 160
 18669  	OP_Once                                                                        = 14
 18670  	OP_OpenAutoindex                                                               = 116
 18671  	OP_OpenDup                                                                     = 115
 18672  	OP_OpenEphemeral                                                               = 118
 18673  	OP_OpenPseudo                                                                  = 121
 18674  	OP_OpenRead                                                                    = 112
 18675  	OP_OpenWrite                                                                   = 113
 18676  	OP_Or                                                                          = 43
 18677  	OP_Pagecount                                                                   = 177
 18678  	OP_Param                                                                       = 157
 18679  	OP_ParseSchema                                                                 = 149
 18680  	OP_Permutation                                                                 = 89
 18681  	OP_Prev                                                                        = 37
 18682  	OP_Program                                                                     = 47
 18683  	OP_PureFunc                                                                    = 65
 18684  	OP_ReadCookie                                                                  = 99
 18685  	OP_Real                                                                        = 153
 18686  	OP_RealAffinity                                                                = 87
 18687  	OP_ReleaseReg                                                                  = 183
 18688  	OP_Remainder                                                                   = 110
 18689  	OP_ReopenIdx                                                                   = 101
 18690  	OP_ResetCount                                                                  = 131
 18691  	OP_ResetSorter                                                                 = 146
 18692  	OP_ResultRow                                                                   = 84
 18693  	OP_Return                                                                      = 67
 18694  	OP_Rewind                                                                      = 35
 18695  	OP_RowCell                                                                     = 129
 18696  	OP_RowData                                                                     = 134
 18697  	OP_RowSetAdd                                                                   = 156
 18698  	OP_RowSetRead                                                                  = 45
 18699  	OP_RowSetTest                                                                  = 46
 18700  	OP_Rowid                                                                       = 135
 18701  	OP_SCopy                                                                       = 81
 18702  	OP_Savepoint                                                                   = 0
 18703  	OP_SeekEnd                                                                     = 137
 18704  	OP_SeekGE                                                                      = 22
 18705  	OP_SeekGT                                                                      = 23
 18706  	OP_SeekHit                                                                     = 125
 18707  	OP_SeekLE                                                                      = 21
 18708  	OP_SeekLT                                                                      = 20
 18709  	OP_SeekRowid                                                                   = 29
 18710  	OP_SeekScan                                                                    = 124
 18711  	OP_Sequence                                                                    = 126
 18712  	OP_SequenceTest                                                                = 120
 18713  	OP_SetCookie                                                                   = 100
 18714  	OP_ShiftLeft                                                                   = 104
 18715  	OP_ShiftRight                                                                  = 105
 18716  	OP_SoftNull                                                                    = 76
 18717  	OP_Sort                                                                        = 34
 18718  	OP_SorterCompare                                                               = 132
 18719  	OP_SorterData                                                                  = 133
 18720  	OP_SorterInsert                                                                = 139
 18721  	OP_SorterNext                                                                  = 36
 18722  	OP_SorterOpen                                                                  = 119
 18723  	OP_SorterSort                                                                  = 33
 18724  	OP_SqlExec                                                                     = 148
 18725  	OP_String                                                                      = 73
 18726  	OP_String8                                                                     = 117
 18727  	OP_Subtract                                                                    = 107
 18728  	OP_TableLock                                                                   = 169
 18729  	OP_Trace                                                                       = 181
 18730  	OP_Transaction                                                                 = 2
 18731  	OP_TypeCheck                                                                   = 95
 18732  	OP_VBegin                                                                      = 170
 18733  	OP_VColumn                                                                     = 175
 18734  	OP_VCreate                                                                     = 171
 18735  	OP_VDestroy                                                                    = 172
 18736  	OP_VFilter                                                                     = 6
 18737  	OP_VInitIn                                                                     = 174
 18738  	OP_VNext                                                                       = 62
 18739  	OP_VOpen                                                                       = 173
 18740  	OP_VRename                                                                     = 176
 18741  	OP_VUpdate                                                                     = 7
 18742  	OP_Vacuum                                                                      = 5
 18743  	OP_Variable                                                                    = 78
 18744  	OP_Yield                                                                       = 11
 18745  	OP_ZeroOrNull                                                                  = 92
 18746  	OS_VXWORKS                                                                     = 0
 18747  	P4_COLLSEQ                                                                     = -2
 18748  	P4_DYNAMIC                                                                     = -6
 18749  	P4_EXPR                                                                        = -9
 18750  	P4_FREE_IF_LE                                                                  = -6
 18751  	P4_FUNCCTX                                                                     = -15
 18752  	P4_FUNCDEF                                                                     = -7
 18753  	P4_INT32                                                                       = -3
 18754  	P4_INT64                                                                       = -13
 18755  	P4_INTARRAY                                                                    = -14
 18756  	P4_KEYINFO                                                                     = -8
 18757  	P4_MEM                                                                         = -10
 18758  	P4_NOTUSED                                                                     = 0
 18759  	P4_REAL                                                                        = -12
 18760  	P4_STATIC                                                                      = -1
 18761  	P4_SUBPROGRAM                                                                  = -4
 18762  	P4_TABLE                                                                       = -5
 18763  	P4_TRANSIENT                                                                   = 0
 18764  	P4_VTAB                                                                        = -11
 18765  	P5_ConstraintCheck                                                             = 3
 18766  	P5_ConstraintFK                                                                = 4
 18767  	P5_ConstraintNotNull                                                           = 1
 18768  	P5_ConstraintUnique                                                            = 2
 18769  	PACKAGE_BUGREPORT                                                              = ""
 18770  	PACKAGE_NAME                                                                   = "sqlite"
 18771  	PACKAGE_STRING                                                                 = "sqlite 3.39.3"
 18772  	PACKAGE_TARNAME                                                                = "sqlite"
 18773  	PACKAGE_VERSION                                                                = "3.39.3"
 18774  	PAGER_CACHESPILL                                                               = 0x20
 18775  	PAGER_CKPT_FULLFSYNC                                                           = 0x10
 18776  	PAGER_FLAGS_MASK                                                               = 0x38
 18777  	PAGER_FULLFSYNC                                                                = 0x08
 18778  	PAGER_GET_NOCONTENT                                                            = 0x01
 18779  	PAGER_GET_READONLY                                                             = 0x02
 18780  	PAGER_JOURNALMODE_DELETE                                                       = 0
 18781  	PAGER_JOURNALMODE_MEMORY                                                       = 4
 18782  	PAGER_JOURNALMODE_OFF                                                          = 2
 18783  	PAGER_JOURNALMODE_PERSIST                                                      = 1
 18784  	PAGER_JOURNALMODE_QUERY                                                        = -1
 18785  	PAGER_JOURNALMODE_TRUNCATE                                                     = 3
 18786  	PAGER_JOURNALMODE_WAL                                                          = 5
 18787  	PAGER_LOCKINGMODE_EXCLUSIVE                                                    = 1
 18788  	PAGER_LOCKINGMODE_NORMAL                                                       = 0
 18789  	PAGER_LOCKINGMODE_QUERY                                                        = -1
 18790  	PAGER_MEMORY                                                                   = 0x0002
 18791  	PAGER_OMIT_JOURNAL                                                             = 0x0001
 18792  	PAGER_SYNCHRONOUS_EXTRA                                                        = 0x04
 18793  	PAGER_SYNCHRONOUS_FULL                                                         = 0x03
 18794  	PAGER_SYNCHRONOUS_MASK                                                         = 0x07
 18795  	PAGER_SYNCHRONOUS_NORMAL                                                       = 0x02
 18796  	PAGER_SYNCHRONOUS_OFF                                                          = 0x01
 18797  	PARSE_MODE_DECLARE_VTAB                                                        = 1
 18798  	PARSE_MODE_NORMAL                                                              = 0
 18799  	PARSE_MODE_RENAME                                                              = 2
 18800  	PARSE_MODE_UNMAP                                                               = 3
 18801  	PENDING_LOCK                                                                   = 3
 18802  	PGHDR_CLEAN                                                                    = 0x001
 18803  	PGHDR_DIRTY                                                                    = 0x002
 18804  	PGHDR_DONT_WRITE                                                               = 0x010
 18805  	PGHDR_MMAP                                                                     = 0x020
 18806  	PGHDR_NEED_SYNC                                                                = 0x008
 18807  	PGHDR_WAL_APPEND                                                               = 0x040
 18808  	PGHDR_WRITEABLE                                                                = 0x004
 18809  	PREFERRED_SCHEMA_TABLE                                                         = "sqlite_schema"
 18810  	PREFERRED_TEMP_SCHEMA_TABLE                                                    = "sqlite_temp_schema"
 18811  	PRIX16                                                                         = "X"
 18812  	PRIX32                                                                         = "X"
 18813  	PRIX64                                                                         = "llX"
 18814  	PRIX8                                                                          = "X"
 18815  	PRIXFAST16                                                                     = "X"
 18816  	PRIXFAST32                                                                     = "X"
 18817  	PRIXFAST8                                                                      = "X"
 18818  	PRIXLEAST16                                                                    = "X"
 18819  	PRIXLEAST32                                                                    = "X"
 18820  	PRIXLEAST8                                                                     = "X"
 18821  	PRId16                                                                         = "d"
 18822  	PRId32                                                                         = "d"
 18823  	PRId64                                                                         = "lld"
 18824  	PRId8                                                                          = "d"
 18825  	PRIdFAST16                                                                     = "d"
 18826  	PRIdFAST32                                                                     = "d"
 18827  	PRIdFAST8                                                                      = "d"
 18828  	PRIdLEAST16                                                                    = "d"
 18829  	PRIdLEAST32                                                                    = "d"
 18830  	PRIdLEAST8                                                                     = "d"
 18831  	PRIi16                                                                         = "i"
 18832  	PRIi32                                                                         = "i"
 18833  	PRIi64                                                                         = "lli"
 18834  	PRIi8                                                                          = "i"
 18835  	PRIiFAST16                                                                     = "i"
 18836  	PRIiFAST32                                                                     = "i"
 18837  	PRIiFAST8                                                                      = "i"
 18838  	PRIiLEAST16                                                                    = "i"
 18839  	PRIiLEAST32                                                                    = "i"
 18840  	PRIiLEAST8                                                                     = "i"
 18841  	PRIo16                                                                         = "o"
 18842  	PRIo32                                                                         = "o"
 18843  	PRIo64                                                                         = "llo"
 18844  	PRIo8                                                                          = "o"
 18845  	PRIoFAST16                                                                     = "o"
 18846  	PRIoFAST32                                                                     = "o"
 18847  	PRIoFAST8                                                                      = "o"
 18848  	PRIoLEAST16                                                                    = "o"
 18849  	PRIoLEAST32                                                                    = "o"
 18850  	PRIoLEAST8                                                                     = "o"
 18851  	PRIu16                                                                         = "u"
 18852  	PRIu32                                                                         = "u"
 18853  	PRIu64                                                                         = "llu"
 18854  	PRIu8                                                                          = "u"
 18855  	PRIuFAST16                                                                     = "u"
 18856  	PRIuFAST32                                                                     = "u"
 18857  	PRIuFAST8                                                                      = "u"
 18858  	PRIuLEAST16                                                                    = "u"
 18859  	PRIuLEAST32                                                                    = "u"
 18860  	PRIuLEAST8                                                                     = "u"
 18861  	PRIx16                                                                         = "x"
 18862  	PRIx32                                                                         = "x"
 18863  	PRIx64                                                                         = "llx"
 18864  	PRIx8                                                                          = "x"
 18865  	PRIxFAST16                                                                     = "x"
 18866  	PRIxFAST32                                                                     = "x"
 18867  	PRIxFAST8                                                                      = "x"
 18868  	PRIxLEAST16                                                                    = "x"
 18869  	PRIxLEAST32                                                                    = "x"
 18870  	PRIxLEAST8                                                                     = "x"
 18871  	PTRDIFF_MAX                                                                    = 9223372036854775807
 18872  	PTRDIFF_MIN                                                                    = -9223372036854775808
 18873  	RESERVED_LOCK                                                                  = 2
 18874  	SAVEPOINT_BEGIN                                                                = 0
 18875  	SAVEPOINT_RELEASE                                                              = 1
 18876  	SAVEPOINT_ROLLBACK                                                             = 2
 18877  	SCHEMA_ROOT                                                                    = 1
 18878  	SCNd16                                                                         = "hd"
 18879  	SCNd32                                                                         = "d"
 18880  	SCNd8                                                                          = "hhd"
 18881  	SCNdFAST16                                                                     = "hd"
 18882  	SCNdFAST32                                                                     = "d"
 18883  	SCNdFAST8                                                                      = "hhd"
 18884  	SCNdLEAST16                                                                    = "hd"
 18885  	SCNdLEAST32                                                                    = "d"
 18886  	SCNdLEAST8                                                                     = "hhd"
 18887  	SCNi16                                                                         = "hi"
 18888  	SCNi32                                                                         = "i"
 18889  	SCNi8                                                                          = "hhi"
 18890  	SCNiFAST16                                                                     = "hi"
 18891  	SCNiFAST32                                                                     = "i"
 18892  	SCNiFAST8                                                                      = "hhi"
 18893  	SCNiLEAST16                                                                    = "hi"
 18894  	SCNiLEAST32                                                                    = "i"
 18895  	SCNiLEAST8                                                                     = "hhi"
 18896  	SCNo16                                                                         = "ho"
 18897  	SCNo32                                                                         = "o"
 18898  	SCNo8                                                                          = "hho"
 18899  	SCNoFAST16                                                                     = "ho"
 18900  	SCNoFAST32                                                                     = "o"
 18901  	SCNoFAST8                                                                      = "hho"
 18902  	SCNoLEAST16                                                                    = "ho"
 18903  	SCNoLEAST32                                                                    = "o"
 18904  	SCNoLEAST8                                                                     = "hho"
 18905  	SCNu16                                                                         = "hu"
 18906  	SCNu32                                                                         = "u"
 18907  	SCNu8                                                                          = "hhu"
 18908  	SCNuFAST16                                                                     = "hu"
 18909  	SCNuFAST32                                                                     = "u"
 18910  	SCNuFAST8                                                                      = "hhu"
 18911  	SCNuLEAST16                                                                    = "hu"
 18912  	SCNuLEAST32                                                                    = "u"
 18913  	SCNuLEAST8                                                                     = "hhu"
 18914  	SCNx16                                                                         = "hx"
 18915  	SCNx32                                                                         = "x"
 18916  	SCNx8                                                                          = "hhx"
 18917  	SCNxFAST16                                                                     = "hx"
 18918  	SCNxFAST32                                                                     = "x"
 18919  	SCNxFAST8                                                                      = "hhx"
 18920  	SCNxLEAST16                                                                    = "hx"
 18921  	SCNxLEAST32                                                                    = "x"
 18922  	SCNxLEAST8                                                                     = "hhx"
 18923  	SF_Aggregate                                                                   = 0x0000008
 18924  	SF_All                                                                         = 0x0000002
 18925  	SF_ComplexResult                                                               = 0x0040000
 18926  	SF_Compound                                                                    = 0x0000100
 18927  	SF_Converted                                                                   = 0x0010000
 18928  	SF_CopyCte                                                                     = 0x4000000
 18929  	SF_Distinct                                                                    = 0x0000001
 18930  	SF_Expanded                                                                    = 0x0000040
 18931  	SF_FixedLimit                                                                  = 0x0004000
 18932  	SF_HasAgg                                                                      = 0x0000010
 18933  	SF_HasTypeInfo                                                                 = 0x0000080
 18934  	SF_IncludeHidden                                                               = 0x0020000
 18935  	SF_MaybeConvert                                                                = 0x0008000
 18936  	SF_MinMaxAgg                                                                   = 0x0001000
 18937  	SF_MultiPart                                                                   = 0x2000000
 18938  	SF_MultiValue                                                                  = 0x0000400
 18939  	SF_NestedFrom                                                                  = 0x0000800
 18940  	SF_NoopOrderBy                                                                 = 0x0400000
 18941  	SF_OrderByReqd                                                                 = 0x8000000
 18942  	SF_PushDown                                                                    = 0x1000000
 18943  	SF_Recursive                                                                   = 0x0002000
 18944  	SF_Resolved                                                                    = 0x0000004
 18945  	SF_UFSrcCheck                                                                  = 0x0800000
 18946  	SF_UsesEphemeral                                                               = 0x0000020
 18947  	SF_Values                                                                      = 0x0000200
 18948  	SF_View                                                                        = 0x0200000
 18949  	SF_WhereBegin                                                                  = 0x0080000
 18950  	SF_WinRewrite                                                                  = 0x0100000
 18951  	SHARED_LOCK                                                                    = 1
 18952  	SHARED_SIZE                                                                    = 510
 18953  	SIG_ATOMIC_MAX                                                                 = 2147483647
 18954  	SIG_ATOMIC_MIN                                                                 = -2147483648
 18955  	SQLITECONFIG_H                                                                 = 1
 18956  	SQLITEINT_H                                                                    = 0
 18957  	SQLITE_AFF_BLOB                                                                = 0x41
 18958  	SQLITE_AFF_INTEGER                                                             = 0x44
 18959  	SQLITE_AFF_MASK                                                                = 0x47
 18960  	SQLITE_AFF_NONE                                                                = 0x40
 18961  	SQLITE_AFF_NUMERIC                                                             = 0x43
 18962  	SQLITE_AFF_REAL                                                                = 0x45
 18963  	SQLITE_AFF_TEXT                                                                = 0x42
 18964  	SQLITE_ASCII                                                                   = 1
 18965  	SQLITE_ATOMIC_INTRINSICS                                                       = 1
 18966  	SQLITE_AllOpts                                                                 = 0xffffffff
 18967  	SQLITE_AutoIndex                                                               = 0x00008000
 18968  	SQLITE_BIGENDIAN                                                               = 0
 18969  	SQLITE_BTREE_H                                                                 = 0
 18970  	SQLITE_BYTEORDER                                                               = 1234
 18971  	SQLITE_BalancedMerge                                                           = 0x00200000
 18972  	SQLITE_BloomFilter                                                             = 0x00080000
 18973  	SQLITE_BloomPulldown                                                           = 0x00100000
 18974  	SQLITE_CacheSpill                                                              = 0x00000020
 18975  	SQLITE_CellSizeCk                                                              = 0x00200000
 18976  	SQLITE_CkptFullFSync                                                           = 0x00000010
 18977  	SQLITE_CountOfView                                                             = 0x00000200
 18978  	SQLITE_CoverIdxScan                                                            = 0x00000020
 18979  	SQLITE_CursorHints                                                             = 0x00000400
 18980  	SQLITE_DEFAULT_AUTOVACUUM                                                      = 0
 18981  	SQLITE_DEFAULT_CACHE_SIZE                                                      = -2000
 18982  	SQLITE_DEFAULT_FILE_FORMAT                                                     = 4
 18983  	SQLITE_DEFAULT_JOURNAL_SIZE_LIMIT                                              = -1
 18984  	SQLITE_DEFAULT_MMAP_SIZE                                                       = 0
 18985  	SQLITE_DEFAULT_PCACHE_INITSZ                                                   = 20
 18986  	SQLITE_DEFAULT_RECURSIVE_TRIGGERS                                              = 0
 18987  	SQLITE_DEFAULT_SECTOR_SIZE                                                     = 4096
 18988  	SQLITE_DEFAULT_SORTERREF_SIZE                                                  = 0x7fffffff
 18989  	SQLITE_DEFAULT_SYNCHRONOUS                                                     = 2
 18990  	SQLITE_DEFAULT_WAL_AUTOCHECKPOINT                                              = 1000
 18991  	SQLITE_DEFAULT_WAL_SYNCHRONOUS                                                 = 2
 18992  	SQLITE_DEFAULT_WORKER_THREADS                                                  = 0
 18993  	SQLITE_Defensive                                                               = 0x10000000
 18994  	SQLITE_DeferFKs                                                                = 0x00080000
 18995  	SQLITE_DistinctOpt                                                             = 0x00000010
 18996  	SQLITE_DqsDDL                                                                  = 0x20000000
 18997  	SQLITE_DqsDML                                                                  = 0x40000000
 18998  	SQLITE_ECEL_DUP                                                                = 0x01
 18999  	SQLITE_ECEL_FACTOR                                                             = 0x02
 19000  	SQLITE_ECEL_OMITREF                                                            = 0x08
 19001  	SQLITE_ECEL_REF                                                                = 0x04
 19002  	SQLITE_EnableQPSG                                                              = 0x00800000
 19003  	SQLITE_EnableTrigger                                                           = 0x00040000
 19004  	SQLITE_EnableView                                                              = 0x80000000
 19005  	SQLITE_FAULTINJECTOR_COUNT                                                     = 1
 19006  	SQLITE_FAULTINJECTOR_MALLOC                                                    = 0
 19007  	SQLITE_FCNTL_DB_UNCHANGED                                                      = 0xca093fa0
 19008  	SQLITE_FUNC_ANYORDER                                                           = 0x08000000
 19009  	SQLITE_FUNC_BUILTIN                                                            = 0x00800000
 19010  	SQLITE_FUNC_CASE                                                               = 0x0008
 19011  	SQLITE_FUNC_CONSTANT                                                           = 0x0800
 19012  	SQLITE_FUNC_COUNT                                                              = 0x0100
 19013  	SQLITE_FUNC_DIRECT                                                             = 0x00080000
 19014  	SQLITE_FUNC_ENCMASK                                                            = 0x0003
 19015  	SQLITE_FUNC_EPHEM                                                              = 0x0010
 19016  	SQLITE_FUNC_HASH_SZ                                                            = 23
 19017  	SQLITE_FUNC_INLINE                                                             = 0x00400000
 19018  	SQLITE_FUNC_INTERNAL                                                           = 0x00040000
 19019  	SQLITE_FUNC_LENGTH                                                             = 0x0040
 19020  	SQLITE_FUNC_LIKE                                                               = 0x0004
 19021  	SQLITE_FUNC_MINMAX                                                             = 0x1000
 19022  	SQLITE_FUNC_NEEDCOLL                                                           = 0x0020
 19023  	SQLITE_FUNC_SLOCHNG                                                            = 0x2000
 19024  	SQLITE_FUNC_SUBTYPE                                                            = 0x00100000
 19025  	SQLITE_FUNC_TEST                                                               = 0x4000
 19026  	SQLITE_FUNC_TYPEOF                                                             = 0x0080
 19027  	SQLITE_FUNC_UNLIKELY                                                           = 0x0400
 19028  	SQLITE_FUNC_UNSAFE                                                             = 0x00200000
 19029  	SQLITE_FUNC_WINDOW                                                             = 0x00010000
 19030  	SQLITE_FactorOutConst                                                          = 0x00000008
 19031  	SQLITE_FlttnUnionAll                                                           = 0x00800000
 19032  	SQLITE_ForeignKeys                                                             = 0x00004000
 19033  	SQLITE_Fts3Tokenizer                                                           = 0x00400000
 19034  	SQLITE_FullColNames                                                            = 0x00000004
 19035  	SQLITE_FullFSync                                                               = 0x00000008
 19036  	SQLITE_GroupByOrder                                                            = 0x00000004
 19037  	SQLITE_HASH_H                                                                  = 0
 19038  	SQLITE_HAVE_C99_MATH_FUNCS                                                     = 1
 19039  	SQLITE_HAVE_OS_TRACE                                                           = 0
 19040  	SQLITE_IDXTYPE_APPDEF                                                          = 0
 19041  	SQLITE_IDXTYPE_IPK                                                             = 3
 19042  	SQLITE_IDXTYPE_PRIMARYKEY                                                      = 2
 19043  	SQLITE_IDXTYPE_UNIQUE                                                          = 1
 19044  	SQLITE_IOERR_NOMEM_BKPT                                                        = 3082
 19045  	SQLITE_IgnoreChecks                                                            = 0x00000200
 19046  	SQLITE_JUMPIFNULL                                                              = 0x10
 19047  	SQLITE_LITTLEENDIAN                                                            = 1
 19048  	SQLITE_LegacyAlter                                                             = 0x04000000
 19049  	SQLITE_LegacyFileFmt                                                           = 0x00000002
 19050  	SQLITE_LoadExtFunc                                                             = 0x00020000
 19051  	SQLITE_LoadExtension                                                           = 0x00010000
 19052  	SQLITE_MALLOC_SOFT_LIMIT                                                       = 1024
 19053  	SQLITE_MAX_ATTACHED                                                            = 10
 19054  	SQLITE_MAX_COLUMN                                                              = 2000
 19055  	SQLITE_MAX_COMPOUND_SELECT                                                     = 500
 19056  	SQLITE_MAX_DB                                                                  = 12
 19057  	SQLITE_MAX_DEFAULT_PAGE_SIZE                                                   = 8192
 19058  	SQLITE_MAX_EXPR_DEPTH                                                          = 1000
 19059  	SQLITE_MAX_FILE_FORMAT                                                         = 4
 19060  	SQLITE_MAX_FUNCTION_ARG                                                        = 127
 19061  	SQLITE_MAX_LENGTH                                                              = 1000000000
 19062  	SQLITE_MAX_LIKE_PATTERN_LENGTH                                                 = 50000
 19063  	SQLITE_MAX_MMAP_SIZE                                                           = 0x7fff0000
 19064  	SQLITE_MAX_PAGE_COUNT                                                          = 1073741823
 19065  	SQLITE_MAX_PAGE_SIZE                                                           = 65536
 19066  	SQLITE_MAX_PATHLEN                                                             = 260
 19067  	SQLITE_MAX_SQL_LENGTH                                                          = 1000000000
 19068  	SQLITE_MAX_SYMLINK                                                             = 200
 19069  	SQLITE_MAX_TRIGGER_DEPTH                                                       = 1000
 19070  	SQLITE_MAX_VARIABLE_NUMBER                                                     = 32766
 19071  	SQLITE_MAX_VDBE_OP                                                             = 250000000
 19072  	SQLITE_MAX_WORKER_THREADS                                                      = 8
 19073  	SQLITE_MSVC_H                                                                  = 0
 19074  	SQLITE_MUTEX_STATIC_TEMPDIR                                                    = 11
 19075  	SQLITE_MX_JUMP_OPCODE                                                          = 64
 19076  	SQLITE_MinMaxOpt                                                               = 0x00010000
 19077  	SQLITE_NEED_ERR_NAME                                                           = 0
 19078  	SQLITE_NOMEM_BKPT                                                              = 7
 19079  	SQLITE_NOTNULL                                                                 = 0x90
 19080  	SQLITE_NTUNE                                                                   = 6
 19081  	SQLITE_NULLEQ                                                                  = 0x80
 19082  	SQLITE_N_BTREE_META                                                            = 16
 19083  	SQLITE_N_LIMIT                                                                 = 12
 19084  	SQLITE_N_STDTYPE                                                               = 6
 19085  	SQLITE_NoCkptOnClose                                                           = 0x00000800
 19086  	SQLITE_NoSchemaError                                                           = 0x08000000
 19087  	SQLITE_NullCallback                                                            = 0x00000100
 19088  	SQLITE_OS_OTHER                                                                = 0
 19089  	SQLITE_OS_SETUP_H                                                              = 0
 19090  	SQLITE_OS_UNIX                                                                 = 0
 19091  	SQLITE_OmitNoopJoin                                                            = 0x00000100
 19092  	SQLITE_OmitOrderBy                                                             = 0x00040000
 19093  	SQLITE_OrderByIdxJoin                                                          = 0x00000040
 19094  	SQLITE_PAGER_H                                                                 = 0
 19095  	SQLITE_POWERSAFE_OVERWRITE                                                     = 1
 19096  	SQLITE_PREPARE_MASK                                                            = 0x0f
 19097  	SQLITE_PREPARE_SAVESQL                                                         = 0x80
 19098  	SQLITE_PRINTF_INTERNAL                                                         = 0x01
 19099  	SQLITE_PRINTF_MALLOCED                                                         = 0x04
 19100  	SQLITE_PRINTF_SQLFUNC                                                          = 0x02
 19101  	SQLITE_PTRSIZE                                                                 = 8
 19102  	SQLITE_PropagateConst                                                          = 0x00008000
 19103  	SQLITE_PushDown                                                                = 0x00001000
 19104  	SQLITE_QueryFlattener                                                          = 0x00000001
 19105  	SQLITE_QueryOnly                                                               = 0x00100000
 19106  	SQLITE_ReadUncommit                                                            = 0x00000400
 19107  	SQLITE_RecTriggers                                                             = 0x00002000
 19108  	SQLITE_ReleaseReg                                                              = 0x00400000
 19109  	SQLITE_ResetDatabase                                                           = 0x02000000
 19110  	SQLITE_ReverseOrder                                                            = 0x00001000
 19111  	SQLITE_SO_ASC                                                                  = 0
 19112  	SQLITE_SO_DESC                                                                 = 1
 19113  	SQLITE_SO_UNDEFINED                                                            = -1
 19114  	SQLITE_STATE_BUSY                                                              = 0x6d
 19115  	SQLITE_STATE_CLOSED                                                            = 0xce
 19116  	SQLITE_STATE_ERROR                                                             = 0xd5
 19117  	SQLITE_STATE_OPEN                                                              = 0x76
 19118  	SQLITE_STATE_SICK                                                              = 0xba
 19119  	SQLITE_STATE_ZOMBIE                                                            = 0xa7
 19120  	SQLITE_SYSTEM_MALLOC                                                           = 1
 19121  	SQLITE_SeekScan                                                                = 0x00020000
 19122  	SQLITE_ShortColNames                                                           = 0x00000040
 19123  	SQLITE_SimplifyJoin                                                            = 0x00002000
 19124  	SQLITE_SkipScan                                                                = 0x00004000
 19125  	SQLITE_Stat4                                                                   = 0x00000800
 19126  	SQLITE_TEMP_FILE_PREFIX                                                        = "etilqs_"
 19127  	SQLITE_TOKEN_KEYWORD                                                           = 0x2
 19128  	SQLITE_TOKEN_QUOTED                                                            = 0x1
 19129  	SQLITE_TRACE_LEGACY                                                            = 0x40
 19130  	SQLITE_TRACE_NONLEGACY_MASK                                                    = 0x0f
 19131  	SQLITE_TRACE_XPROFILE                                                          = 0x80
 19132  	SQLITE_Transitive                                                              = 0x00000080
 19133  	SQLITE_TriggerEQP                                                              = 0x01000000
 19134  	SQLITE_TrustedSchema                                                           = 0x00000080
 19135  	SQLITE_UTF16NATIVE                                                             = 2
 19136  	SQLITE_VDBE_H                                                                  = 0
 19137  	SQLITE_VTABRISK_High                                                           = 2
 19138  	SQLITE_VTABRISK_Low                                                            = 0
 19139  	SQLITE_VTABRISK_Normal                                                         = 1
 19140  	SQLITE_WSD                                                                     = 0
 19141  	SQLITE_WindowFunc                                                              = 0x00000002
 19142  	SQLITE_WriteSchema                                                             = 0x00000001
 19143  	SRT_Coroutine                                                                  = 13
 19144  	SRT_Discard                                                                    = 4
 19145  	SRT_DistFifo                                                                   = 5
 19146  	SRT_DistQueue                                                                  = 6
 19147  	SRT_EphemTab                                                                   = 12
 19148  	SRT_Except                                                                     = 2
 19149  	SRT_Exists                                                                     = 3
 19150  	SRT_Fifo                                                                       = 8
 19151  	SRT_Mem                                                                        = 10
 19152  	SRT_Output                                                                     = 9
 19153  	SRT_Queue                                                                      = 7
 19154  	SRT_Set                                                                        = 11
 19155  	SRT_Table                                                                      = 14
 19156  	SRT_Union                                                                      = 1
 19157  	SRT_Upfrom                                                                     = 15
 19158  	STDC_HEADERS                                                                   = 1
 19159  	TABTYP_NORM                                                                    = 0
 19160  	TABTYP_VIEW                                                                    = 2
 19161  	TABTYP_VTAB                                                                    = 1
 19162  	TF_Autoincrement                                                               = 0x00000008
 19163  	TF_Ephemeral                                                                   = 0x00004000
 19164  	TF_Eponymous                                                                   = 0x00008000
 19165  	TF_HasGenerated                                                                = 0x00000060
 19166  	TF_HasHidden                                                                   = 0x00000002
 19167  	TF_HasNotNull                                                                  = 0x00000800
 19168  	TF_HasPrimaryKey                                                               = 0x00000004
 19169  	TF_HasStat1                                                                    = 0x00000010
 19170  	TF_HasStat4                                                                    = 0x00002000
 19171  	TF_HasStored                                                                   = 0x00000040
 19172  	TF_HasVirtual                                                                  = 0x00000020
 19173  	TF_NoVisibleRowid                                                              = 0x00000200
 19174  	TF_OOOHidden                                                                   = 0x00000400
 19175  	TF_Readonly                                                                    = 0x00000001
 19176  	TF_Shadow                                                                      = 0x00001000
 19177  	TF_StatsUsed                                                                   = 0x00000100
 19178  	TF_Strict                                                                      = 0x00010000
 19179  	TF_WithoutRowid                                                                = 0x00000080
 19180  	TK_ABORT                                                                       = 27
 19181  	TK_ACTION                                                                      = 28
 19182  	TK_ADD                                                                         = 163
 19183  	TK_AFTER                                                                       = 29
 19184  	TK_AGG_COLUMN                                                                  = 169
 19185  	TK_AGG_FUNCTION                                                                = 168
 19186  	TK_ALL                                                                         = 135
 19187  	TK_ALTER                                                                       = 162
 19188  	TK_ALWAYS                                                                      = 96
 19189  	TK_ANALYZE                                                                     = 30
 19190  	TK_AND                                                                         = 44
 19191  	TK_ANY                                                                         = 101
 19192  	TK_AS                                                                          = 24
 19193  	TK_ASC                                                                         = 31
 19194  	TK_ASTERISK                                                                    = 180
 19195  	TK_ATTACH                                                                      = 32
 19196  	TK_AUTOINCR                                                                    = 126
 19197  	TK_BEFORE                                                                      = 33
 19198  	TK_BEGIN                                                                       = 5
 19199  	TK_BETWEEN                                                                     = 48
 19200  	TK_BY                                                                          = 34
 19201  	TK_CASCADE                                                                     = 35
 19202  	TK_CASE                                                                        = 157
 19203  	TK_CAST                                                                        = 36
 19204  	TK_CHECK                                                                       = 124
 19205  	TK_COLLATE                                                                     = 113
 19206  	TK_COLUMN                                                                      = 167
 19207  	TK_COLUMNKW                                                                    = 60
 19208  	TK_COMMIT                                                                      = 10
 19209  	TK_CONFLICT                                                                    = 37
 19210  	TK_CONSTRAINT                                                                  = 119
 19211  	TK_CREATE                                                                      = 17
 19212  	TK_CTIME_KW                                                                    = 100
 19213  	TK_CURRENT                                                                     = 85
 19214  	TK_DATABASE                                                                    = 38
 19215  	TK_DEFAULT                                                                     = 120
 19216  	TK_DEFERRABLE                                                                  = 131
 19217  	TK_DEFERRED                                                                    = 7
 19218  	TK_DELETE                                                                      = 128
 19219  	TK_DESC                                                                        = 39
 19220  	TK_DETACH                                                                      = 40
 19221  	TK_DISTINCT                                                                    = 140
 19222  	TK_DO                                                                          = 61
 19223  	TK_DROP                                                                        = 133
 19224  	TK_EACH                                                                        = 41
 19225  	TK_ELSE                                                                        = 160
 19226  	TK_END                                                                         = 11
 19227  	TK_ESCAPE                                                                      = 58
 19228  	TK_EXCEPT                                                                      = 136
 19229  	TK_EXCLUDE                                                                     = 91
 19230  	TK_EXCLUSIVE                                                                   = 9
 19231  	TK_EXISTS                                                                      = 20
 19232  	TK_EXPLAIN                                                                     = 2
 19233  	TK_FAIL                                                                        = 42
 19234  	TK_FILTER                                                                      = 166
 19235  	TK_FIRST                                                                       = 83
 19236  	TK_FOLLOWING                                                                   = 86
 19237  	TK_FOR                                                                         = 62
 19238  	TK_FOREIGN                                                                     = 132
 19239  	TK_FROM                                                                        = 142
 19240  	TK_FUNCTION                                                                    = 172
 19241  	TK_GENERATED                                                                   = 95
 19242  	TK_GROUP                                                                       = 146
 19243  	TK_GROUPS                                                                      = 92
 19244  	TK_HAVING                                                                      = 147
 19245  	TK_IF                                                                          = 18
 19246  	TK_IF_NULL_ROW                                                                 = 179
 19247  	TK_IGNORE                                                                      = 63
 19248  	TK_IMMEDIATE                                                                   = 8
 19249  	TK_IN                                                                          = 49
 19250  	TK_INDEX                                                                       = 161
 19251  	TK_INDEXED                                                                     = 116
 19252  	TK_INITIALLY                                                                   = 64
 19253  	TK_INSERT                                                                      = 127
 19254  	TK_INSTEAD                                                                     = 65
 19255  	TK_INTERSECT                                                                   = 137
 19256  	TK_INTO                                                                        = 151
 19257  	TK_IS                                                                          = 45
 19258  	TK_ISNOT                                                                       = 171
 19259  	TK_ISNULL                                                                      = 50
 19260  	TK_JOIN                                                                        = 143
 19261  	TK_JOIN_KW                                                                     = 118
 19262  	TK_KEY                                                                         = 67
 19263  	TK_LAST                                                                        = 84
 19264  	TK_LIKE_KW                                                                     = 47
 19265  	TK_LIMIT                                                                       = 148
 19266  	TK_MATCH                                                                       = 46
 19267  	TK_MATERIALIZED                                                                = 97
 19268  	TK_NO                                                                          = 66
 19269  	TK_NOT                                                                         = 19
 19270  	TK_NOTHING                                                                     = 152
 19271  	TK_NOTNULL                                                                     = 51
 19272  	TK_NULL                                                                        = 121
 19273  	TK_NULLS                                                                       = 82
 19274  	TK_OF                                                                          = 68
 19275  	TK_OFFSET                                                                      = 69
 19276  	TK_ON                                                                          = 115
 19277  	TK_OR                                                                          = 43
 19278  	TK_ORDER                                                                       = 145
 19279  	TK_OTHERS                                                                      = 93
 19280  	TK_OVER                                                                        = 165
 19281  	TK_PARTITION                                                                   = 87
 19282  	TK_PLAN                                                                        = 4
 19283  	TK_PRAGMA                                                                      = 70
 19284  	TK_PRECEDING                                                                   = 88
 19285  	TK_PRIMARY                                                                     = 122
 19286  	TK_PTR                                                                         = 112
 19287  	TK_QUERY                                                                       = 3
 19288  	TK_RAISE                                                                       = 71
 19289  	TK_RANGE                                                                       = 89
 19290  	TK_RECURSIVE                                                                   = 72
 19291  	TK_REFERENCES                                                                  = 125
 19292  	TK_REGISTER                                                                    = 176
 19293  	TK_REINDEX                                                                     = 98
 19294  	TK_RELEASE                                                                     = 14
 19295  	TK_RENAME                                                                      = 99
 19296  	TK_REPLACE                                                                     = 73
 19297  	TK_RESTRICT                                                                    = 74
 19298  	TK_RETURNING                                                                   = 150
 19299  	TK_ROLLBACK                                                                    = 12
 19300  	TK_ROW                                                                         = 75
 19301  	TK_ROWS                                                                        = 76
 19302  	TK_SAVEPOINT                                                                   = 13
 19303  	TK_SELECT                                                                      = 138
 19304  	TK_SELECT_COLUMN                                                               = 178
 19305  	TK_SET                                                                         = 130
 19306  	TK_SPAN                                                                        = 181
 19307  	TK_TABLE                                                                       = 16
 19308  	TK_TEMP                                                                        = 21
 19309  	TK_THEN                                                                        = 159
 19310  	TK_TIES                                                                        = 94
 19311  	TK_TO                                                                          = 15
 19312  	TK_TRANSACTION                                                                 = 6
 19313  	TK_TRIGGER                                                                     = 77
 19314  	TK_TRUEFALSE                                                                   = 170
 19315  	TK_TRUTH                                                                       = 175
 19316  	TK_UMINUS                                                                      = 173
 19317  	TK_UNBOUNDED                                                                   = 90
 19318  	TK_UNION                                                                       = 134
 19319  	TK_UNIQUE                                                                      = 123
 19320  	TK_UPDATE                                                                      = 129
 19321  	TK_UPLUS                                                                       = 174
 19322  	TK_USING                                                                       = 144
 19323  	TK_VACUUM                                                                      = 78
 19324  	TK_VALUES                                                                      = 139
 19325  	TK_VECTOR                                                                      = 177
 19326  	TK_VIEW                                                                        = 79
 19327  	TK_VIRTUAL                                                                     = 80
 19328  	TK_WHEN                                                                        = 158
 19329  	TK_WHERE                                                                       = 149
 19330  	TK_WINDOW                                                                      = 164
 19331  	TK_WITH                                                                        = 81
 19332  	TK_WITHOUT                                                                     = 26
 19333  	TREETRACE_ENABLED                                                              = 0
 19334  	TRIGGER_AFTER                                                                  = 2
 19335  	TRIGGER_BEFORE                                                                 = 1
 19336  	UINT16_MAX                                                                     = 65535
 19337  	UINT32_MAX                                                                     = 0xffffffff
 19338  	UINT64_MAX                                                                     = 0xffffffffffffffff
 19339  	UINT8_MAX                                                                      = 255
 19340  	UINTMAX_MAX                                                                    = 18446744073709551615
 19341  	UINTPTR_MAX                                                                    = 18446744073709551615
 19342  	UINT_FAST16_MAX                                                                = 65535
 19343  	UINT_FAST32_MAX                                                                = 4294967295
 19344  	UINT_FAST64_MAX                                                                = 18446744073709551615
 19345  	UINT_FAST8_MAX                                                                 = 255
 19346  	UINT_LEAST16_MAX                                                               = 65535
 19347  	UINT_LEAST32_MAX                                                               = 4294967295
 19348  	UINT_LEAST64_MAX                                                               = 18446744073709551615
 19349  	UINT_LEAST8_MAX                                                                = 255
 19350  	WCHAR_MAX                                                                      = 0xffff
 19351  	WCHAR_MIN                                                                      = 0
 19352  	WHERE_AGG_DISTINCT                                                             = 0x0400
 19353  	WHERE_DISTINCTBY                                                               = 0x0080
 19354  	WHERE_DISTINCT_NOOP                                                            = 0
 19355  	WHERE_DISTINCT_ORDERED                                                         = 2
 19356  	WHERE_DISTINCT_UNIQUE                                                          = 1
 19357  	WHERE_DISTINCT_UNORDERED                                                       = 3
 19358  	WHERE_DUPLICATES_OK                                                            = 0x0010
 19359  	WHERE_GROUPBY                                                                  = 0x0040
 19360  	WHERE_ONEPASS_DESIRED                                                          = 0x0004
 19361  	WHERE_ONEPASS_MULTIROW                                                         = 0x0008
 19362  	WHERE_ORDERBY_LIMIT                                                            = 0x0800
 19363  	WHERE_ORDERBY_MAX                                                              = 0x0002
 19364  	WHERE_ORDERBY_MIN                                                              = 0x0001
 19365  	WHERE_ORDERBY_NORMAL                                                           = 0x0000
 19366  	WHERE_OR_SUBCLAUSE                                                             = 0x0020
 19367  	WHERE_RIGHT_JOIN                                                               = 0x1000
 19368  	WHERE_SORTBYGROUP                                                              = 0x0200
 19369  	WHERE_USE_LIMIT                                                                = 0x4000
 19370  	WHERE_WANT_DISTINCT                                                            = 0x0100
 19371  	WINT_MAX                                                                       = 0xffff
 19372  	WINT_MIN                                                                       = 0
 19373  	WRC_Abort                                                                      = 2
 19374  	WRC_Continue                                                                   = 0
 19375  	WRC_Prune                                                                      = 1
 19376  	XN_EXPR                                                                        = -2
 19377  	XN_ROWID                                                                       = -1
 19378  	X_ANSI_STDDEF_H                                                                = 0
 19379  	X_GCC_MAX_ALIGN_T                                                              = 0
 19380  	X_GCC_WRAP_STDINT_H                                                            = 0
 19381  	X_GNU_SOURCE                                                                   = 0
 19382  	X_INC_SETJMP                                                                   = 0
 19383  	X_INC_STDDEF                                                                   = 0
 19384  	X_INTTYPES_H_                                                                  = 0
 19385  	X_JBLEN                                                                        = 16
 19386  	X_JMP_BUF_DEFINED                                                              = 0
 19387  	X_LARGEFILE_SOURCE                                                             = 1
 19388  	X_LARGE_FILE                                                                   = 1
 19389  	X_SQLITE_OS_H_                                                                 = 0
 19390  	X_STDDEF_H                                                                     = 0
 19391  	X_STDDEF_H_                                                                    = 0
 19392  	X_STDINT_H                                                                     = 0
 19393  	X_XOPEN_SOURCE                                                                 = 600
 19394  	SESSION_STREAM_TCL_VAR                                                         = "sqlite3session_streams"
 19395  	MAX_PREPARED_STMTS                                                             = 100
 19396  	NUM_PREPARED_STMTS                                                             = 10
 19397  	SQLITE_EVAL_WITHOUTNULLS                                                       = 0x00001
 19398  	SQLITE_TCL_NRE                                                                 = 1
 19399  	TCLSH                                                                          = 1
 19400  	CACHE_STALE                                                                    = 0
 19401  	CURTYPE_BTREE                                                                  = 0
 19402  	CURTYPE_PSEUDO                                                                 = 3
 19403  	CURTYPE_SORTER                                                                 = 1
 19404  	CURTYPE_VTAB                                                                   = 2
 19405  	MEM_AffMask                                                                    = 0x003f
 19406  	MEM_Agg                                                                        = 0x8000
 19407  	MEM_Blob                                                                       = 0x0010
 19408  	MEM_Cleared                                                                    = 0x0100
 19409  	MEM_Dyn                                                                        = 0x1000
 19410  	MEM_Ephem                                                                      = 0x4000
 19411  	MEM_FromBind                                                                   = 0x0040
 19412  	MEM_Int                                                                        = 0x0004
 19413  	MEM_IntReal                                                                    = 0x0020
 19414  	MEM_Null                                                                       = 0x0001
 19415  	MEM_Real                                                                       = 0x0008
 19416  	MEM_Static                                                                     = 0x2000
 19417  	MEM_Str                                                                        = 0x0002
 19418  	MEM_Subtype                                                                    = 0x0800
 19419  	MEM_Term                                                                       = 0x0200
 19420  	MEM_TypeMask                                                                   = 0x0dbf
 19421  	MEM_Undefined                                                                  = 0x0000
 19422  	MEM_Zero                                                                       = 0x0400
 19423  	OLD_P_OVERLAY                                                                  = 2
 19424  	P_DETACH                                                                       = 4
 19425  	P_NOWAIT                                                                       = 1
 19426  	P_NOWAITO                                                                      = 3
 19427  	P_OVERLAY                                                                      = 2
 19428  	P_WAIT                                                                         = 0
 19429  	SQLITE_ENABLE_LOCKING_STYLE                                                    = 0
 19430  	SQLITE_FRAME_MAGIC                                                             = 0x879fb71e
 19431  	SQLITE_MAX_SCHEMA_RETRY                                                        = 50
 19432  	SQLITE_OS_WINCE                                                                = 0
 19433  	SQLITE_OS_WINNT                                                                = 1
 19434  	SQLITE_OS_WINRT                                                                = 0
 19435  	SQLITE_OS_WIN_H                                                                = 0
 19436  	SQLITE_OS_WIN_THREADS                                                          = 1
 19437  	SQLITE_VDBEINT_H                                                               = 0
 19438  	VDBE_DISPLAY_P4                                                                = 1
 19439  	VDBE_HALT_STATE                                                                = 3
 19440  	VDBE_INIT_STATE                                                                = 0
 19441  	VDBE_READY_STATE                                                               = 1
 19442  	VDBE_RUN_STATE                                                                 = 2
 19443  	WAIT_CHILD                                                                     = 0
 19444  	WAIT_GRANDCHILD                                                                = 1
 19445  	X_CRT_GETPID_DEFINED                                                           = 0
 19446  	X_INC_CORECRT_STARTUP                                                          = 0
 19447  	X_INC_PROCESS                                                                  = 0
 19448  	X_WEXEC_DEFINED                                                                = 0
 19449  	BTCF_AtLast                                                                    = 0x08
 19450  	BTCF_Incrblob                                                                  = 0x10
 19451  	BTCF_Multiple                                                                  = 0x20
 19452  	BTCF_Pinned                                                                    = 0x40
 19453  	BTCF_ValidNKey                                                                 = 0x02
 19454  	BTCF_ValidOvfl                                                                 = 0x04
 19455  	BTCF_WriteFlag                                                                 = 0x01
 19456  	BTCURSOR_MAX_DEPTH                                                             = 20
 19457  	BTS_EXCLUSIVE                                                                  = 0x0040
 19458  	BTS_FAST_SECURE                                                                = 0x000c
 19459  	BTS_INITIALLY_EMPTY                                                            = 0x0010
 19460  	BTS_NO_WAL                                                                     = 0x0020
 19461  	BTS_OVERWRITE                                                                  = 0x0008
 19462  	BTS_PAGESIZE_FIXED                                                             = 0x0002
 19463  	BTS_PENDING                                                                    = 0x0080
 19464  	BTS_READ_ONLY                                                                  = 0x0001
 19465  	BTS_SECURE_DELETE                                                              = 0x0004
 19466  	CURSOR_FAULT                                                                   = 4
 19467  	CURSOR_INVALID                                                                 = 1
 19468  	CURSOR_REQUIRESEEK                                                             = 3
 19469  	CURSOR_SKIPNEXT                                                                = 2
 19470  	CURSOR_VALID                                                                   = 0
 19471  	PTF_INTKEY                                                                     = 0x01
 19472  	PTF_LEAF                                                                       = 0x08
 19473  	PTF_LEAFDATA                                                                   = 0x04
 19474  	PTF_ZERODATA                                                                   = 0x02
 19475  	PTRMAP_BTREE                                                                   = 5
 19476  	PTRMAP_FREEPAGE                                                                = 2
 19477  	PTRMAP_OVERFLOW1                                                               = 3
 19478  	PTRMAP_OVERFLOW2                                                               = 4
 19479  	PTRMAP_ROOTPAGE                                                                = 1
 19480  	READ_LOCK                                                                      = 1
 19481  	SQLITE_FILE_HEADER                                                             = "SQLite format 3"
 19482  	TRANS_NONE                                                                     = 0
 19483  	TRANS_READ                                                                     = 1
 19484  	TRANS_WRITE                                                                    = 2
 19485  	WRITE_LOCK                                                                     = 2
 19486  	TCL_THREADS                                                                    = 0
 19487  	MX_CHUNK_NUMBER                                                                = 299
 19488  	SQLITE_MULTIPLEX_JOURNAL_8_3_OFFSET                                            = 400
 19489  	SQLITE_MULTIPLEX_WAL_8_3_OFFSET                                                = 700
 19490  	DEVSYM_MAX_PATHNAME                                                            = 512
 19491  	DEVSYM_VFS_NAME                                                                = "devsym"
 19492  	WRITECRASH_NAME                                                                = "writecrash"
 19493  	SQLITE_INTARRAY_H                                                              = 0
 19494  	JT_MAX_PATHNAME                                                                = 512
 19495  	JT_VFS_NAME                                                                    = "jt"
 19496  	MALLOC_LOG_FRAMES                                                              = 10
 19497  	DEFAULT_SECTOR_SIZE                                                            = 0x1000
 19498  	MAX_PAGE_SIZE                                                                  = 0x10000
 19499  	MULTIPLEX_CTRL_ENABLE                                                          = 214014
 19500  	MULTIPLEX_CTRL_SET_CHUNK_SIZE                                                  = 214015
 19501  	MULTIPLEX_CTRL_SET_MAX_CHUNKS                                                  = 214016
 19502  	SQLITE_MULTIPLEX_CHUNK_SIZE                                                    = 2147418112
 19503  	SQLITE_MULTIPLEX_MAX_CHUNKS                                                    = 12
 19504  	SQLITE_MULTIPLEX_VFS_NAME                                                      = "multiplex"
 19505  	SQLITE_TEST_MULTIPLEX_H                                                        = 0
 19506  	MAX_MUTEXES                                                                    = 14
 19507  	STATIC_MUTEXES                                                                 = 12
 19508  	BLOBSIZE                                                                       = 10485760
 19509  	BLOCKSIZE                                                                      = 512
 19510  	DATABASE_FILE                                                                  = 1
 19511  	FS_VFS_NAME                                                                    = "fs"
 19512  	JOURNAL_FILE                                                                   = 2
 19513  	INST_MAX_PATHNAME                                                              = 512
 19514  	OS_ACCESS                                                                      = 1
 19515  	OS_ANNOTATE                                                                    = 28
 19516  	OS_CHECKRESERVEDLOCK                                                           = 2
 19517  	OS_CLOSE                                                                       = 3
 19518  	OS_CURRENTTIME                                                                 = 4
 19519  	OS_DELETE                                                                      = 5
 19520  	OS_DEVCHAR                                                                     = 6
 19521  	OS_FILECONTROL                                                                 = 7
 19522  	OS_FILESIZE                                                                    = 8
 19523  	OS_FULLPATHNAME                                                                = 9
 19524  	OS_LOCK                                                                        = 11
 19525  	OS_NUMEVENTS                                                                   = 29
 19526  	OS_OPEN                                                                        = 12
 19527  	OS_RANDOMNESS                                                                  = 13
 19528  	OS_READ                                                                        = 14
 19529  	OS_SECTORSIZE                                                                  = 15
 19530  	OS_SHMBARRIER                                                                  = 26
 19531  	OS_SHMLOCK                                                                     = 25
 19532  	OS_SHMMAP                                                                      = 23
 19533  	OS_SHMUNMAP                                                                    = 22
 19534  	OS_SLEEP                                                                       = 16
 19535  	OS_SYNC                                                                        = 17
 19536  	OS_TRUNCATE                                                                    = 18
 19537  	OS_UNLOCK                                                                      = 19
 19538  	OS_WRITE                                                                       = 20
 19539  	VFSLOG_BUFFERSIZE                                                              = 8192
 19540  	TESTPCACHE_CLEAR                                                               = 0xd42670d4
 19541  	TESTPCACHE_NPAGE                                                               = 217
 19542  	TESTPCACHE_RESERVE                                                             = 17
 19543  	TESTPCACHE_VALID                                                               = 0x364585fd
 19544  	TCLVAR_NAME_EQ                                                                 = 101
 19545  	TCLVAR_NAME_MATCH                                                              = 109
 19546  	TCLVAR_VALUE_GLOB                                                              = 103
 19547  	TCLVAR_VALUE_LIKE                                                              = 108
 19548  	TCLVAR_VALUE_REGEXP                                                            = 114
 19549  	FAULT_INJECT_NONE                                                              = 0
 19550  	FAULT_INJECT_PERSISTENT                                                        = 2
 19551  	FAULT_INJECT_TRANSIENT                                                         = 1
 19552  	TESTVFS_ACCESS_MASK                                                            = 0x00004000
 19553  	TESTVFS_ALL_MASK                                                               = 0x001FFFFF
 19554  	TESTVFS_CKLOCK_MASK                                                            = 0x00080000
 19555  	TESTVFS_CLOSE_MASK                                                             = 0x00000800
 19556  	TESTVFS_DELETE_MASK                                                            = 0x00000400
 19557  	TESTVFS_FCNTL_MASK                                                             = 0x00100000
 19558  	TESTVFS_FULLPATHNAME_MASK                                                      = 0x00008000
 19559  	TESTVFS_LOCK_MASK                                                              = 0x00040000
 19560  	TESTVFS_MAX_ARGS                                                               = 12
 19561  	TESTVFS_MAX_PAGES                                                              = 1024
 19562  	TESTVFS_OPEN_MASK                                                              = 0x00000100
 19563  	TESTVFS_READ_MASK                                                              = 0x00010000
 19564  	TESTVFS_SHMBARRIER_MASK                                                        = 0x00000040
 19565  	TESTVFS_SHMCLOSE_MASK                                                          = 0x00000080
 19566  	TESTVFS_SHMLOCK_MASK                                                           = 0x00000010
 19567  	TESTVFS_SHMMAP_MASK                                                            = 0x00000020
 19568  	TESTVFS_SHMOPEN_MASK                                                           = 0x00000001
 19569  	TESTVFS_SYNC_MASK                                                              = 0x00000200
 19570  	TESTVFS_TRUNCATE_MASK                                                          = 0x00002000
 19571  	TESTVFS_UNLOCK_MASK                                                            = 0x00020000
 19572  	TESTVFS_WRITE_MASK                                                             = 0x00001000
 19573  )
 19574  
 19575  const (
 19576  	TCL_QUEUE_TAIL = 0
 19577  	TCL_QUEUE_HEAD = 1
 19578  	TCL_QUEUE_MARK = 2
 19579  )
 19580  
 19581  const (
 19582  	TCL_PATH_ABSOLUTE        = 0
 19583  	TCL_PATH_RELATIVE        = 1
 19584  	TCL_PATH_VOLUME_RELATIVE = 2
 19585  )
 19586  
 19587  const (
 19588  	TCL_INT      = 0
 19589  	TCL_DOUBLE   = 1
 19590  	TCL_EITHER   = 2
 19591  	TCL_WIDE_INT = 3
 19592  )
 19593  
 19594  const (
 19595  	_MM_PERM_AAAA = 0
 19596  	_MM_PERM_AAAB = 1
 19597  	_MM_PERM_AAAC = 2
 19598  	_MM_PERM_AAAD = 3
 19599  	_MM_PERM_AABA = 4
 19600  	_MM_PERM_AABB = 5
 19601  	_MM_PERM_AABC = 6
 19602  	_MM_PERM_AABD = 7
 19603  	_MM_PERM_AACA = 8
 19604  	_MM_PERM_AACB = 9
 19605  	_MM_PERM_AACC = 10
 19606  	_MM_PERM_AACD = 11
 19607  	_MM_PERM_AADA = 12
 19608  	_MM_PERM_AADB = 13
 19609  	_MM_PERM_AADC = 14
 19610  	_MM_PERM_AADD = 15
 19611  	_MM_PERM_ABAA = 16
 19612  	_MM_PERM_ABAB = 17
 19613  	_MM_PERM_ABAC = 18
 19614  	_MM_PERM_ABAD = 19
 19615  	_MM_PERM_ABBA = 20
 19616  	_MM_PERM_ABBB = 21
 19617  	_MM_PERM_ABBC = 22
 19618  	_MM_PERM_ABBD = 23
 19619  	_MM_PERM_ABCA = 24
 19620  	_MM_PERM_ABCB = 25
 19621  	_MM_PERM_ABCC = 26
 19622  	_MM_PERM_ABCD = 27
 19623  	_MM_PERM_ABDA = 28
 19624  	_MM_PERM_ABDB = 29
 19625  	_MM_PERM_ABDC = 30
 19626  	_MM_PERM_ABDD = 31
 19627  	_MM_PERM_ACAA = 32
 19628  	_MM_PERM_ACAB = 33
 19629  	_MM_PERM_ACAC = 34
 19630  	_MM_PERM_ACAD = 35
 19631  	_MM_PERM_ACBA = 36
 19632  	_MM_PERM_ACBB = 37
 19633  	_MM_PERM_ACBC = 38
 19634  	_MM_PERM_ACBD = 39
 19635  	_MM_PERM_ACCA = 40
 19636  	_MM_PERM_ACCB = 41
 19637  	_MM_PERM_ACCC = 42
 19638  	_MM_PERM_ACCD = 43
 19639  	_MM_PERM_ACDA = 44
 19640  	_MM_PERM_ACDB = 45
 19641  	_MM_PERM_ACDC = 46
 19642  	_MM_PERM_ACDD = 47
 19643  	_MM_PERM_ADAA = 48
 19644  	_MM_PERM_ADAB = 49
 19645  	_MM_PERM_ADAC = 50
 19646  	_MM_PERM_ADAD = 51
 19647  	_MM_PERM_ADBA = 52
 19648  	_MM_PERM_ADBB = 53
 19649  	_MM_PERM_ADBC = 54
 19650  	_MM_PERM_ADBD = 55
 19651  	_MM_PERM_ADCA = 56
 19652  	_MM_PERM_ADCB = 57
 19653  	_MM_PERM_ADCC = 58
 19654  	_MM_PERM_ADCD = 59
 19655  	_MM_PERM_ADDA = 60
 19656  	_MM_PERM_ADDB = 61
 19657  	_MM_PERM_ADDC = 62
 19658  	_MM_PERM_ADDD = 63
 19659  	_MM_PERM_BAAA = 64
 19660  	_MM_PERM_BAAB = 65
 19661  	_MM_PERM_BAAC = 66
 19662  	_MM_PERM_BAAD = 67
 19663  	_MM_PERM_BABA = 68
 19664  	_MM_PERM_BABB = 69
 19665  	_MM_PERM_BABC = 70
 19666  	_MM_PERM_BABD = 71
 19667  	_MM_PERM_BACA = 72
 19668  	_MM_PERM_BACB = 73
 19669  	_MM_PERM_BACC = 74
 19670  	_MM_PERM_BACD = 75
 19671  	_MM_PERM_BADA = 76
 19672  	_MM_PERM_BADB = 77
 19673  	_MM_PERM_BADC = 78
 19674  	_MM_PERM_BADD = 79
 19675  	_MM_PERM_BBAA = 80
 19676  	_MM_PERM_BBAB = 81
 19677  	_MM_PERM_BBAC = 82
 19678  	_MM_PERM_BBAD = 83
 19679  	_MM_PERM_BBBA = 84
 19680  	_MM_PERM_BBBB = 85
 19681  	_MM_PERM_BBBC = 86
 19682  	_MM_PERM_BBBD = 87
 19683  	_MM_PERM_BBCA = 88
 19684  	_MM_PERM_BBCB = 89
 19685  	_MM_PERM_BBCC = 90
 19686  	_MM_PERM_BBCD = 91
 19687  	_MM_PERM_BBDA = 92
 19688  	_MM_PERM_BBDB = 93
 19689  	_MM_PERM_BBDC = 94
 19690  	_MM_PERM_BBDD = 95
 19691  	_MM_PERM_BCAA = 96
 19692  	_MM_PERM_BCAB = 97
 19693  	_MM_PERM_BCAC = 98
 19694  	_MM_PERM_BCAD = 99
 19695  	_MM_PERM_BCBA = 100
 19696  	_MM_PERM_BCBB = 101
 19697  	_MM_PERM_BCBC = 102
 19698  	_MM_PERM_BCBD = 103
 19699  	_MM_PERM_BCCA = 104
 19700  	_MM_PERM_BCCB = 105
 19701  	_MM_PERM_BCCC = 106
 19702  	_MM_PERM_BCCD = 107
 19703  	_MM_PERM_BCDA = 108
 19704  	_MM_PERM_BCDB = 109
 19705  	_MM_PERM_BCDC = 110
 19706  	_MM_PERM_BCDD = 111
 19707  	_MM_PERM_BDAA = 112
 19708  	_MM_PERM_BDAB = 113
 19709  	_MM_PERM_BDAC = 114
 19710  	_MM_PERM_BDAD = 115
 19711  	_MM_PERM_BDBA = 116
 19712  	_MM_PERM_BDBB = 117
 19713  	_MM_PERM_BDBC = 118
 19714  	_MM_PERM_BDBD = 119
 19715  	_MM_PERM_BDCA = 120
 19716  	_MM_PERM_BDCB = 121
 19717  	_MM_PERM_BDCC = 122
 19718  	_MM_PERM_BDCD = 123
 19719  	_MM_PERM_BDDA = 124
 19720  	_MM_PERM_BDDB = 125
 19721  	_MM_PERM_BDDC = 126
 19722  	_MM_PERM_BDDD = 127
 19723  	_MM_PERM_CAAA = 128
 19724  	_MM_PERM_CAAB = 129
 19725  	_MM_PERM_CAAC = 130
 19726  	_MM_PERM_CAAD = 131
 19727  	_MM_PERM_CABA = 132
 19728  	_MM_PERM_CABB = 133
 19729  	_MM_PERM_CABC = 134
 19730  	_MM_PERM_CABD = 135
 19731  	_MM_PERM_CACA = 136
 19732  	_MM_PERM_CACB = 137
 19733  	_MM_PERM_CACC = 138
 19734  	_MM_PERM_CACD = 139
 19735  	_MM_PERM_CADA = 140
 19736  	_MM_PERM_CADB = 141
 19737  	_MM_PERM_CADC = 142
 19738  	_MM_PERM_CADD = 143
 19739  	_MM_PERM_CBAA = 144
 19740  	_MM_PERM_CBAB = 145
 19741  	_MM_PERM_CBAC = 146
 19742  	_MM_PERM_CBAD = 147
 19743  	_MM_PERM_CBBA = 148
 19744  	_MM_PERM_CBBB = 149
 19745  	_MM_PERM_CBBC = 150
 19746  	_MM_PERM_CBBD = 151
 19747  	_MM_PERM_CBCA = 152
 19748  	_MM_PERM_CBCB = 153
 19749  	_MM_PERM_CBCC = 154
 19750  	_MM_PERM_CBCD = 155
 19751  	_MM_PERM_CBDA = 156
 19752  	_MM_PERM_CBDB = 157
 19753  	_MM_PERM_CBDC = 158
 19754  	_MM_PERM_CBDD = 159
 19755  	_MM_PERM_CCAA = 160
 19756  	_MM_PERM_CCAB = 161
 19757  	_MM_PERM_CCAC = 162
 19758  	_MM_PERM_CCAD = 163
 19759  	_MM_PERM_CCBA = 164
 19760  	_MM_PERM_CCBB = 165
 19761  	_MM_PERM_CCBC = 166
 19762  	_MM_PERM_CCBD = 167
 19763  	_MM_PERM_CCCA = 168
 19764  	_MM_PERM_CCCB = 169
 19765  	_MM_PERM_CCCC = 170
 19766  	_MM_PERM_CCCD = 171
 19767  	_MM_PERM_CCDA = 172
 19768  	_MM_PERM_CCDB = 173
 19769  	_MM_PERM_CCDC = 174
 19770  	_MM_PERM_CCDD = 175
 19771  	_MM_PERM_CDAA = 176
 19772  	_MM_PERM_CDAB = 177
 19773  	_MM_PERM_CDAC = 178
 19774  	_MM_PERM_CDAD = 179
 19775  	_MM_PERM_CDBA = 180
 19776  	_MM_PERM_CDBB = 181
 19777  	_MM_PERM_CDBC = 182
 19778  	_MM_PERM_CDBD = 183
 19779  	_MM_PERM_CDCA = 184
 19780  	_MM_PERM_CDCB = 185
 19781  	_MM_PERM_CDCC = 186
 19782  	_MM_PERM_CDCD = 187
 19783  	_MM_PERM_CDDA = 188
 19784  	_MM_PERM_CDDB = 189
 19785  	_MM_PERM_CDDC = 190
 19786  	_MM_PERM_CDDD = 191
 19787  	_MM_PERM_DAAA = 192
 19788  	_MM_PERM_DAAB = 193
 19789  	_MM_PERM_DAAC = 194
 19790  	_MM_PERM_DAAD = 195
 19791  	_MM_PERM_DABA = 196
 19792  	_MM_PERM_DABB = 197
 19793  	_MM_PERM_DABC = 198
 19794  	_MM_PERM_DABD = 199
 19795  	_MM_PERM_DACA = 200
 19796  	_MM_PERM_DACB = 201
 19797  	_MM_PERM_DACC = 202
 19798  	_MM_PERM_DACD = 203
 19799  	_MM_PERM_DADA = 204
 19800  	_MM_PERM_DADB = 205
 19801  	_MM_PERM_DADC = 206
 19802  	_MM_PERM_DADD = 207
 19803  	_MM_PERM_DBAA = 208
 19804  	_MM_PERM_DBAB = 209
 19805  	_MM_PERM_DBAC = 210
 19806  	_MM_PERM_DBAD = 211
 19807  	_MM_PERM_DBBA = 212
 19808  	_MM_PERM_DBBB = 213
 19809  	_MM_PERM_DBBC = 214
 19810  	_MM_PERM_DBBD = 215
 19811  	_MM_PERM_DBCA = 216
 19812  	_MM_PERM_DBCB = 217
 19813  	_MM_PERM_DBCC = 218
 19814  	_MM_PERM_DBCD = 219
 19815  	_MM_PERM_DBDA = 220
 19816  	_MM_PERM_DBDB = 221
 19817  	_MM_PERM_DBDC = 222
 19818  	_MM_PERM_DBDD = 223
 19819  	_MM_PERM_DCAA = 224
 19820  	_MM_PERM_DCAB = 225
 19821  	_MM_PERM_DCAC = 226
 19822  	_MM_PERM_DCAD = 227
 19823  	_MM_PERM_DCBA = 228
 19824  	_MM_PERM_DCBB = 229
 19825  	_MM_PERM_DCBC = 230
 19826  	_MM_PERM_DCBD = 231
 19827  	_MM_PERM_DCCA = 232
 19828  	_MM_PERM_DCCB = 233
 19829  	_MM_PERM_DCCC = 234
 19830  	_MM_PERM_DCCD = 235
 19831  	_MM_PERM_DCDA = 236
 19832  	_MM_PERM_DCDB = 237
 19833  	_MM_PERM_DCDC = 238
 19834  	_MM_PERM_DCDD = 239
 19835  	_MM_PERM_DDAA = 240
 19836  	_MM_PERM_DDAB = 241
 19837  	_MM_PERM_DDAC = 242
 19838  	_MM_PERM_DDAD = 243
 19839  	_MM_PERM_DDBA = 244
 19840  	_MM_PERM_DDBB = 245
 19841  	_MM_PERM_DDBC = 246
 19842  	_MM_PERM_DDBD = 247
 19843  	_MM_PERM_DDCA = 248
 19844  	_MM_PERM_DDCB = 249
 19845  	_MM_PERM_DDCC = 250
 19846  	_MM_PERM_DDCD = 251
 19847  	_MM_PERM_DDDA = 252
 19848  	_MM_PERM_DDDB = 253
 19849  	_MM_PERM_DDDC = 254
 19850  	_MM_PERM_DDDD = 255
 19851  )
 19852  
 19853  const (
 19854  	_MM_MANT_NORM_1_2     = 0
 19855  	_MM_MANT_NORM_p5_2    = 1
 19856  	_MM_MANT_NORM_p5_1    = 2
 19857  	_MM_MANT_NORM_p75_1p5 = 3
 19858  )
 19859  
 19860  const (
 19861  	_MM_MANT_SIGN_src  = 0
 19862  	_MM_MANT_SIGN_zero = 1
 19863  	_MM_MANT_SIGN_nan  = 2
 19864  )
 19865  
 19866  const (
 19867  	_MM_HINT_ET0 = 7
 19868  	_MM_HINT_ET1 = 6
 19869  	_MM_HINT_T0  = 3
 19870  	_MM_HINT_T1  = 2
 19871  	_MM_HINT_T2  = 1
 19872  	_MM_HINT_NTA = 0
 19873  )
 19874  
 19875  const (
 19876  	DSA_HASH_ALGORITHM_SHA1   = 0
 19877  	DSA_HASH_ALGORITHM_SHA256 = 1
 19878  	DSA_HASH_ALGORITHM_SHA512 = 2
 19879  )
 19880  
 19881  const (
 19882  	DSA_FIPS186_2 = 0
 19883  	DSA_FIPS186_3 = 1
 19884  )
 19885  
 19886  const (
 19887  	REGCLS_SINGLEUSE      = 0
 19888  	REGCLS_MULTIPLEUSE    = 1
 19889  	REGCLS_MULTI_SEPARATE = 2
 19890  	REGCLS_SUSPENDED      = 4
 19891  	REGCLS_SURROGATE      = 8
 19892  )
 19893  
 19894  const (
 19895  	COINITBASE_MULTITHREADED = 0
 19896  )
 19897  
 19898  const (
 19899  	SMEXF_SERVER  = 1
 19900  	SMEXF_HANDLER = 2
 19901  )
 19902  
 19903  const (
 19904  	COWAIT_DEFAULT                  = 0
 19905  	COWAIT_WAITALL                  = 1
 19906  	COWAIT_ALERTABLE                = 2
 19907  	COWAIT_INPUTAVAILABLE           = 4
 19908  	COWAIT_DISPATCH_CALLS           = 8
 19909  	COWAIT_DISPATCH_WINDOW_MESSAGES = 16
 19910  )
 19911  
 19912  const (
 19913  	LowMemoryResourceNotification  = 0
 19914  	HighMemoryResourceNotification = 1
 19915  )
 19916  
 19917  const (
 19918  	FindExInfoStandard     = 0
 19919  	FindExInfoBasic        = 1
 19920  	FindExInfoMaxInfoLevel = 2
 19921  )
 19922  
 19923  const (
 19924  	FindExSearchNameMatch          = 0
 19925  	FindExSearchLimitToDirectories = 1
 19926  	FindExSearchLimitToDevices     = 2
 19927  	FindExSearchMaxSearchOp        = 3
 19928  )
 19929  
 19930  const (
 19931  	GetFileExInfoStandard = 0
 19932  	GetFileExMaxInfoLevel = 1
 19933  )
 19934  
 19935  const (
 19936  	NODE_INVALID                = 0
 19937  	NODE_ELEMENT                = 1
 19938  	NODE_ATTRIBUTE              = 2
 19939  	NODE_TEXT                   = 3
 19940  	NODE_CDATA_SECTION          = 4
 19941  	NODE_ENTITY_REFERENCE       = 5
 19942  	NODE_ENTITY                 = 6
 19943  	NODE_PROCESSING_INSTRUCTION = 7
 19944  	NODE_COMMENT                = 8
 19945  	NODE_DOCUMENT               = 9
 19946  	NODE_DOCUMENT_TYPE          = 10
 19947  	NODE_DOCUMENT_FRAGMENT      = 11
 19948  	NODE_NOTATION               = 12
 19949  )
 19950  
 19951  const (
 19952  	XMLELEMTYPE_ELEMENT  = 0
 19953  	XMLELEMTYPE_TEXT     = 1
 19954  	XMLELEMTYPE_COMMENT  = 2
 19955  	XMLELEMTYPE_DOCUMENT = 3
 19956  	XMLELEMTYPE_DTD      = 4
 19957  	XMLELEMTYPE_PI       = 5
 19958  	XMLELEMTYPE_OTHER    = 6
 19959  )
 19960  
 19961  const (
 19962  	DESCKIND_NONE           = 0
 19963  	DESCKIND_FUNCDESC       = 1
 19964  	DESCKIND_VARDESC        = 2
 19965  	DESCKIND_TYPECOMP       = 3
 19966  	DESCKIND_IMPLICITAPPOBJ = 4
 19967  	DESCKIND_MAX            = 5
 19968  )
 19969  
 19970  const (
 19971  	SYS_WIN16 = 0
 19972  	SYS_WIN32 = 1
 19973  	SYS_MAC   = 2
 19974  	SYS_WIN64 = 3
 19975  )
 19976  
 19977  const (
 19978  	LIBFLAG_FRESTRICTED   = 1
 19979  	LIBFLAG_FCONTROL      = 2
 19980  	LIBFLAG_FHIDDEN       = 4
 19981  	LIBFLAG_FHASDISKIMAGE = 8
 19982  )
 19983  
 19984  const (
 19985  	SF_ERROR    = 10
 19986  	SF_I1       = 16
 19987  	SF_I2       = 2
 19988  	SF_I4       = 3
 19989  	SF_I8       = 20
 19990  	SF_BSTR     = 8
 19991  	SF_UNKNOWN  = 13
 19992  	SF_DISPATCH = 9
 19993  	SF_VARIANT  = 12
 19994  	SF_RECORD   = 36
 19995  	SF_HAVEIID  = 32781
 19996  )
 19997  
 19998  const (
 19999  	CHANGEKIND_ADDMEMBER        = 0
 20000  	CHANGEKIND_DELETEMEMBER     = 1
 20001  	CHANGEKIND_SETNAMES         = 2
 20002  	CHANGEKIND_SETDOCUMENTATION = 3
 20003  	CHANGEKIND_GENERAL          = 4
 20004  	CHANGEKIND_INVALIDATE       = 5
 20005  	CHANGEKIND_CHANGEFAILED     = 6
 20006  	CHANGEKIND_MAX              = 7
 20007  )
 20008  const (
 20009  	TKIND_ENUM      = 0
 20010  	TKIND_RECORD    = 1
 20011  	TKIND_MODULE    = 2
 20012  	TKIND_INTERFACE = 3
 20013  	TKIND_DISPATCH  = 4
 20014  	TKIND_COCLASS   = 5
 20015  	TKIND_ALIAS     = 6
 20016  	TKIND_UNION     = 7
 20017  	TKIND_MAX       = 8
 20018  )
 20019  
 20020  const (
 20021  	CC_FASTCALL   = 0
 20022  	CC_CDECL      = 1
 20023  	CC_MSCPASCAL  = 2
 20024  	CC_PASCAL     = 2
 20025  	CC_MACPASCAL  = 3
 20026  	CC_STDCALL    = 4
 20027  	CC_FPFASTCALL = 5
 20028  	CC_SYSCALL    = 6
 20029  	CC_MPWCDECL   = 7
 20030  	CC_MPWPASCAL  = 8
 20031  	CC_MAX        = 9
 20032  )
 20033  
 20034  const (
 20035  	FUNC_VIRTUAL     = 0
 20036  	FUNC_PUREVIRTUAL = 1
 20037  	FUNC_NONVIRTUAL  = 2
 20038  	FUNC_STATIC      = 3
 20039  	FUNC_DISPATCH    = 4
 20040  )
 20041  
 20042  const (
 20043  	INVOKE_FUNC           = 1
 20044  	INVOKE_PROPERTYGET    = 2
 20045  	INVOKE_PROPERTYPUT    = 4
 20046  	INVOKE_PROPERTYPUTREF = 8
 20047  )
 20048  
 20049  const (
 20050  	VAR_PERINSTANCE = 0
 20051  	VAR_STATIC      = 1
 20052  	VAR_CONST       = 2
 20053  	VAR_DISPATCH    = 3
 20054  )
 20055  
 20056  const (
 20057  	TYPEFLAG_FAPPOBJECT     = 1
 20058  	TYPEFLAG_FCANCREATE     = 2
 20059  	TYPEFLAG_FLICENSED      = 4
 20060  	TYPEFLAG_FPREDECLID     = 8
 20061  	TYPEFLAG_FHIDDEN        = 16
 20062  	TYPEFLAG_FCONTROL       = 32
 20063  	TYPEFLAG_FDUAL          = 64
 20064  	TYPEFLAG_FNONEXTENSIBLE = 128
 20065  	TYPEFLAG_FOLEAUTOMATION = 256
 20066  	TYPEFLAG_FRESTRICTED    = 512
 20067  	TYPEFLAG_FAGGREGATABLE  = 1024
 20068  	TYPEFLAG_FREPLACEABLE   = 2048
 20069  	TYPEFLAG_FDISPATCHABLE  = 4096
 20070  	TYPEFLAG_FREVERSEBIND   = 8192
 20071  	TYPEFLAG_FPROXY         = 16384
 20072  )
 20073  
 20074  const (
 20075  	FUNCFLAG_FRESTRICTED       = 1
 20076  	FUNCFLAG_FSOURCE           = 2
 20077  	FUNCFLAG_FBINDABLE         = 4
 20078  	FUNCFLAG_FREQUESTEDIT      = 8
 20079  	FUNCFLAG_FDISPLAYBIND      = 16
 20080  	FUNCFLAG_FDEFAULTBIND      = 32
 20081  	FUNCFLAG_FHIDDEN           = 64
 20082  	FUNCFLAG_FUSESGETLASTERROR = 128
 20083  	FUNCFLAG_FDEFAULTCOLLELEM  = 256
 20084  	FUNCFLAG_FUIDEFAULT        = 512
 20085  	FUNCFLAG_FNONBROWSABLE     = 1024
 20086  	FUNCFLAG_FREPLACEABLE      = 2048
 20087  	FUNCFLAG_FIMMEDIATEBIND    = 4096
 20088  )
 20089  
 20090  const (
 20091  	VARFLAG_FREADONLY        = 1
 20092  	VARFLAG_FSOURCE          = 2
 20093  	VARFLAG_FBINDABLE        = 4
 20094  	VARFLAG_FREQUESTEDIT     = 8
 20095  	VARFLAG_FDISPLAYBIND     = 16
 20096  	VARFLAG_FDEFAULTBIND     = 32
 20097  	VARFLAG_FHIDDEN          = 64
 20098  	VARFLAG_FRESTRICTED      = 128
 20099  	VARFLAG_FDEFAULTCOLLELEM = 256
 20100  	VARFLAG_FUIDEFAULT       = 512
 20101  	VARFLAG_FNONBROWSABLE    = 1024
 20102  	VARFLAG_FREPLACEABLE     = 2048
 20103  	VARFLAG_FIMMEDIATEBIND   = 4096
 20104  )
 20105  
 20106  const (
 20107  	COINIT_APARTMENTTHREADED = 2
 20108  	COINIT_MULTITHREADED     = 0
 20109  	COINIT_DISABLE_OLE1DDE   = 4
 20110  	COINIT_SPEED_OVER_MEMORY = 8
 20111  )
 20112  
 20113  const (
 20114  	SD_LAUNCHPERMISSIONS  = 0
 20115  	SD_ACCESSPERMISSIONS  = 1
 20116  	SD_LAUNCHRESTRICTIONS = 2
 20117  	SD_ACCESSRESTRICTIONS = 3
 20118  )
 20119  const (
 20120  	ADVF_NODATA            = 1
 20121  	ADVF_PRIMEFIRST        = 2
 20122  	ADVF_ONLYONCE          = 4
 20123  	ADVF_DATAONSTOP        = 64
 20124  	ADVFCACHE_NOHANDLER    = 8
 20125  	ADVFCACHE_FORCEBUILTIN = 16
 20126  	ADVFCACHE_ONSAVE       = 32
 20127  )
 20128  const (
 20129  	TYMED_HGLOBAL  = 1
 20130  	TYMED_FILE     = 2
 20131  	TYMED_ISTREAM  = 4
 20132  	TYMED_ISTORAGE = 8
 20133  	TYMED_GDI      = 16
 20134  	TYMED_MFPICT   = 32
 20135  	TYMED_ENHMF    = 64
 20136  	TYMED_NULL     = 0
 20137  )
 20138  const (
 20139  	DATADIR_GET = 1
 20140  	DATADIR_SET = 2
 20141  )
 20142  const (
 20143  	CALLTYPE_TOPLEVEL             = 1
 20144  	CALLTYPE_NESTED               = 2
 20145  	CALLTYPE_ASYNC                = 3
 20146  	CALLTYPE_TOPLEVEL_CALLPENDING = 4
 20147  	CALLTYPE_ASYNC_CALLPENDING    = 5
 20148  )
 20149  const (
 20150  	SERVERCALL_ISHANDLED  = 0
 20151  	SERVERCALL_REJECTED   = 1
 20152  	SERVERCALL_RETRYLATER = 2
 20153  )
 20154  const (
 20155  	PENDINGTYPE_TOPLEVEL = 1
 20156  	PENDINGTYPE_NESTED   = 2
 20157  )
 20158  const (
 20159  	PENDINGMSG_CANCELCALL     = 0
 20160  	PENDINGMSG_WAITNOPROCESS  = 1
 20161  	PENDINGMSG_WAITDEFPROCESS = 2
 20162  )
 20163  
 20164  const (
 20165  	ServerApplication  = 0
 20166  	LibraryApplication = 1
 20167  )
 20168  const (
 20169  	IdleShutdown   = 0
 20170  	ForcedShutdown = 1
 20171  )
 20172  const (
 20173  	BIND_MAYBOTHERUSER     = 1
 20174  	BIND_JUSTTESTEXISTENCE = 2
 20175  )
 20176  const (
 20177  	MKSYS_NONE             = 0
 20178  	MKSYS_GENERICCOMPOSITE = 1
 20179  	MKSYS_FILEMONIKER      = 2
 20180  	MKSYS_ANTIMONIKER      = 3
 20181  	MKSYS_ITEMMONIKER      = 4
 20182  	MKSYS_POINTERMONIKER   = 5
 20183  	MKSYS_CLASSMONIKER     = 7
 20184  	MKSYS_OBJREFMONIKER    = 8
 20185  	MKSYS_SESSIONMONIKER   = 9
 20186  	MKSYS_LUAMONIKER       = 10
 20187  )
 20188  const (
 20189  	MKRREDUCE_ONE         = 196608
 20190  	MKRREDUCE_TOUSER      = 131072
 20191  	MKRREDUCE_THROUGHUSER = 65536
 20192  	MKRREDUCE_ALL         = 0
 20193  )
 20194  
 20195  const (
 20196  	EXTCONN_STRONG   = 1
 20197  	EXTCONN_WEAK     = 2
 20198  	EXTCONN_CALLABLE = 4
 20199  )
 20200  
 20201  const (
 20202  	STGTY_STORAGE   = 1
 20203  	STGTY_STREAM    = 2
 20204  	STGTY_LOCKBYTES = 3
 20205  	STGTY_PROPERTY  = 4
 20206  )
 20207  
 20208  const (
 20209  	STREAM_SEEK_SET = 0
 20210  	STREAM_SEEK_CUR = 1
 20211  	STREAM_SEEK_END = 2
 20212  )
 20213  
 20214  const (
 20215  	LOCK_WRITE     = 1
 20216  	LOCK_EXCLUSIVE = 2
 20217  	LOCK_ONLYONCE  = 4
 20218  )
 20219  
 20220  const (
 20221  	EOAC_NONE              = 0
 20222  	EOAC_MUTUAL_AUTH       = 1
 20223  	EOAC_STATIC_CLOAKING   = 32
 20224  	EOAC_DYNAMIC_CLOAKING  = 64
 20225  	EOAC_ANY_AUTHORITY     = 128
 20226  	EOAC_MAKE_FULLSIC      = 256
 20227  	EOAC_DEFAULT           = 2048
 20228  	EOAC_SECURE_REFS       = 2
 20229  	EOAC_ACCESS_CONTROL    = 4
 20230  	EOAC_APPID             = 8
 20231  	EOAC_DYNAMIC           = 16
 20232  	EOAC_REQUIRE_FULLSIC   = 512
 20233  	EOAC_AUTO_IMPERSONATE  = 1024
 20234  	EOAC_NO_CUSTOM_MARSHAL = 8192
 20235  	EOAC_DISABLE_AAA       = 4096
 20236  )
 20237  
 20238  const (
 20239  	COMBND_RPCTIMEOUT      = 1
 20240  	COMBND_SERVER_LOCALITY = 2
 20241  	COMBND_RESERVED1       = 4
 20242  )
 20243  
 20244  const (
 20245  	SERVER_LOCALITY_PROCESS_LOCAL = 0
 20246  	SERVER_LOCALITY_MACHINE_LOCAL = 1
 20247  	SERVER_LOCALITY_REMOTE        = 2
 20248  )
 20249  
 20250  const (
 20251  	COMGLB_EXCEPTION_HANDLING     = 1
 20252  	COMGLB_APPID                  = 2
 20253  	COMGLB_RPC_THREADPOOL_SETTING = 3
 20254  	COMGLB_RO_SETTINGS            = 4
 20255  	COMGLB_UNMARSHALING_POLICY    = 5
 20256  )
 20257  
 20258  const (
 20259  	COMGLB_EXCEPTION_HANDLE             = 0
 20260  	COMGLB_EXCEPTION_DONOT_HANDLE_FATAL = 1
 20261  	COMGLB_EXCEPTION_DONOT_HANDLE       = 1
 20262  	COMGLB_EXCEPTION_DONOT_HANDLE_ANY   = 2
 20263  )
 20264  
 20265  const (
 20266  	COMGLB_RPC_THREADPOOL_SETTING_DEFAULT_POOL = 0
 20267  	COMGLB_RPC_THREADPOOL_SETTING_PRIVATE_POOL = 1
 20268  )
 20269  
 20270  const (
 20271  	COMGLB_STA_MODALLOOP_REMOVE_TOUCH_MESSAGES                    = 1
 20272  	COMGLB_STA_MODALLOOP_SHARED_QUEUE_REMOVE_INPUT_MESSAGES       = 2
 20273  	COMGLB_STA_MODALLOOP_SHARED_QUEUE_DONOT_REMOVE_INPUT_MESSAGES = 4
 20274  	COMGLB_FAST_RUNDOWN                                           = 8
 20275  	COMGLB_RESERVED1                                              = 16
 20276  	COMGLB_RESERVED2                                              = 32
 20277  	COMGLB_RESERVED3                                              = 64
 20278  	COMGLB_STA_MODALLOOP_SHARED_QUEUE_REORDER_POINTER_MESSAGES    = 128
 20279  )
 20280  
 20281  const (
 20282  	COMGLB_UNMARSHALING_POLICY_NORMAL = 0
 20283  	COMGLB_UNMARSHALING_POLICY_STRONG = 1
 20284  	COMGLB_UNMARSHALING_POLICY_HYBRID = 2
 20285  )
 20286  
 20287  const (
 20288  	DCOM_NONE          = 0
 20289  	DCOM_CALL_COMPLETE = 1
 20290  	DCOM_CALL_CANCELED = 2
 20291  )
 20292  
 20293  const (
 20294  	APTTYPEQUALIFIER_NONE               = 0
 20295  	APTTYPEQUALIFIER_IMPLICIT_MTA       = 1
 20296  	APTTYPEQUALIFIER_NA_ON_MTA          = 2
 20297  	APTTYPEQUALIFIER_NA_ON_STA          = 3
 20298  	APTTYPEQUALIFIER_NA_ON_IMPLICIT_MTA = 4
 20299  	APTTYPEQUALIFIER_NA_ON_MAINSTA      = 5
 20300  	APTTYPEQUALIFIER_APPLICATION_STA    = 6
 20301  )
 20302  
 20303  const (
 20304  	APTTYPE_CURRENT = -1
 20305  	APTTYPE_STA     = 0
 20306  	APTTYPE_MTA     = 1
 20307  	APTTYPE_NA      = 2
 20308  	APTTYPE_MAINSTA = 3
 20309  )
 20310  
 20311  const (
 20312  	THDTYPE_BLOCKMESSAGES   = 0
 20313  	THDTYPE_PROCESSMESSAGES = 1
 20314  )
 20315  
 20316  const (
 20317  	CO_MARSHALING_SOURCE_IS_APP_CONTAINER = 0
 20318  )
 20319  
 20320  const (
 20321  	REGKIND_DEFAULT  = 0
 20322  	REGKIND_REGISTER = 1
 20323  	REGKIND_NONE     = 2
 20324  )
 20325  
 20326  const (
 20327  	OLEGETMONIKER_ONLYIFTHERE = 1
 20328  	OLEGETMONIKER_FORCEASSIGN = 2
 20329  	OLEGETMONIKER_UNASSIGN    = 3
 20330  	OLEGETMONIKER_TEMPFORUSER = 4
 20331  )
 20332  
 20333  const (
 20334  	OLEWHICHMK_CONTAINER = 1
 20335  	OLEWHICHMK_OBJREL    = 2
 20336  	OLEWHICHMK_OBJFULL   = 3
 20337  )
 20338  
 20339  const (
 20340  	USERCLASSTYPE_FULL    = 1
 20341  	USERCLASSTYPE_SHORT   = 2
 20342  	USERCLASSTYPE_APPNAME = 3
 20343  )
 20344  
 20345  const (
 20346  	OLEMISC_RECOMPOSEONRESIZE            = 1
 20347  	OLEMISC_ONLYICONIC                   = 2
 20348  	OLEMISC_INSERTNOTREPLACE             = 4
 20349  	OLEMISC_STATIC                       = 8
 20350  	OLEMISC_CANTLINKINSIDE               = 16
 20351  	OLEMISC_CANLINKBYOLE1                = 32
 20352  	OLEMISC_ISLINKOBJECT                 = 64
 20353  	OLEMISC_INSIDEOUT                    = 128
 20354  	OLEMISC_ACTIVATEWHENVISIBLE          = 256
 20355  	OLEMISC_RENDERINGISDEVICEINDEPENDENT = 512
 20356  	OLEMISC_INVISIBLEATRUNTIME           = 1024
 20357  	OLEMISC_ALWAYSRUN                    = 2048
 20358  	OLEMISC_ACTSLIKEBUTTON               = 4096
 20359  	OLEMISC_ACTSLIKELABEL                = 8192
 20360  	OLEMISC_NOUIACTIVATE                 = 16384
 20361  	OLEMISC_ALIGNABLE                    = 32768
 20362  	OLEMISC_SIMPLEFRAME                  = 65536
 20363  	OLEMISC_SETCLIENTSITEFIRST           = 131072
 20364  	OLEMISC_IMEMODE                      = 262144
 20365  	OLEMISC_IGNOREACTIVATEWHENVISIBLE    = 524288
 20366  	OLEMISC_WANTSTOMENUMERGE             = 1048576
 20367  	OLEMISC_SUPPORTSMULTILEVELUNDO       = 2097152
 20368  )
 20369  const (
 20370  	OLECLOSE_SAVEIFDIRTY = 0
 20371  	OLECLOSE_NOSAVE      = 1
 20372  	OLECLOSE_PROMPTSAVE  = 2
 20373  )
 20374  const (
 20375  	OLERENDER_NONE   = 0
 20376  	OLERENDER_DRAW   = 1
 20377  	OLERENDER_FORMAT = 2
 20378  	OLERENDER_ASIS   = 3
 20379  )
 20380  
 20381  const (
 20382  	OLEUPDATE_ALWAYS = 1
 20383  	OLEUPDATE_ONCALL = 3
 20384  )
 20385  
 20386  const (
 20387  	OLELINKBIND_EVENIFCLASSDIFF = 1
 20388  )
 20389  
 20390  const (
 20391  	BINDSPEED_INDEFINITE = 1
 20392  	BINDSPEED_MODERATE   = 2
 20393  	BINDSPEED_IMMEDIATE  = 3
 20394  )
 20395  
 20396  const (
 20397  	OLECONTF_EMBEDDINGS    = 1
 20398  	OLECONTF_LINKS         = 2
 20399  	OLECONTF_OTHERS        = 4
 20400  	OLECONTF_ONLYUSER      = 8
 20401  	OLECONTF_ONLYIFRUNNING = 16
 20402  )
 20403  
 20404  const (
 20405  	OLEVERBATTRIB_NEVERDIRTIES    = 1
 20406  	OLEVERBATTRIB_ONCONTAINERMENU = 2
 20407  )
 20408  
 20409  const (
 20410  	DISCARDCACHE_SAVEIFDIRTY = 0
 20411  	DISCARDCACHE_NOSAVE      = 1
 20412  )
 20413  
 20414  const (
 20415  	PIDMSI_STATUS_NORMAL     = 0
 20416  	PIDMSI_STATUS_NEW        = 1
 20417  	PIDMSI_STATUS_PRELIM     = 2
 20418  	PIDMSI_STATUS_DRAFT      = 3
 20419  	PIDMSI_STATUS_INPROGRESS = 4
 20420  	PIDMSI_STATUS_EDIT       = 5
 20421  	PIDMSI_STATUS_REVIEW     = 6
 20422  	PIDMSI_STATUS_PROOF      = 7
 20423  	PIDMSI_STATUS_FINAL      = 8
 20424  	PIDMSI_STATUS_OTHER      = 32767
 20425  )
 20426  
 20427  const (
 20428  	RpcNotificationTypeNone     = 0
 20429  	RpcNotificationTypeEvent    = 1
 20430  	RpcNotificationTypeApc      = 2
 20431  	RpcNotificationTypeIoc      = 3
 20432  	RpcNotificationTypeHwnd     = 4
 20433  	RpcNotificationTypeCallback = 5
 20434  )
 20435  
 20436  const (
 20437  	rctInvalid    = 0
 20438  	rctNormal     = 1
 20439  	rctTraining   = 2
 20440  	rctGuaranteed = 3
 20441  )
 20442  
 20443  const (
 20444  	rlafInvalid = 0
 20445  	rlafIPv4    = 1
 20446  	rlafIPv6    = 2
 20447  )
 20448  
 20449  const (
 20450  	RpcNotificationCallNone         = 0
 20451  	RpcNotificationClientDisconnect = 1
 20452  	RpcNotificationCallCancel       = 2
 20453  )
 20454  
 20455  const (
 20456  	rcclInvalid               = 0
 20457  	rcclLocal                 = 1
 20458  	rcclRemote                = 2
 20459  	rcclClientUnknownLocality = 3
 20460  )
 20461  
 20462  const (
 20463  	RpcCallComplete    = 0
 20464  	RpcSendComplete    = 1
 20465  	RpcReceiveComplete = 2
 20466  )
 20467  
 20468  const (
 20469  	eeptAnsiString    = 1
 20470  	eeptUnicodeString = 2
 20471  	eeptLongVal       = 3
 20472  	eeptShortVal      = 4
 20473  	eeptPointerVal    = 5
 20474  	eeptNone          = 6
 20475  	eeptBinary        = 7
 20476  )
 20477  
 20478  const (
 20479  	RPCHTTP_RS_REDIRECT  = 1
 20480  	RPCHTTP_RS_ACCESS_1  = 2
 20481  	RPCHTTP_RS_SESSION   = 3
 20482  	RPCHTTP_RS_ACCESS_2  = 4
 20483  	RPCHTTP_RS_INTERFACE = 5
 20484  )
 20485  
 20486  const (
 20487  	PROTOCOL_NOT_LOADED     = 1
 20488  	PROTOCOL_LOADED         = 2
 20489  	PROTOCOL_ADDRESS_CHANGE = 3
 20490  )
 20491  
 20492  const (
 20493  	USER_MARSHAL_CB_BUFFER_SIZE = 0
 20494  	USER_MARSHAL_CB_MARSHALL    = 1
 20495  	USER_MARSHAL_CB_UNMARSHALL  = 2
 20496  	USER_MARSHAL_CB_FREE        = 3
 20497  )
 20498  
 20499  const (
 20500  	IDL_CS_NO_CONVERT         = 0
 20501  	IDL_CS_IN_PLACE_CONVERT   = 1
 20502  	IDL_CS_NEW_BUFFER_CONVERT = 2
 20503  )
 20504  
 20505  const (
 20506  	XLAT_SERVER = 1
 20507  	XLAT_CLIENT = 2
 20508  )
 20509  
 20510  const (
 20511  	STUB_UNMARSHAL              = 0
 20512  	STUB_CALL_SERVER            = 1
 20513  	STUB_MARSHAL                = 2
 20514  	STUB_CALL_SERVER_NO_HRESULT = 3
 20515  )
 20516  
 20517  const (
 20518  	PROXY_CALCSIZE    = 0
 20519  	PROXY_GETBUFFER   = 1
 20520  	PROXY_MARSHAL     = 2
 20521  	PROXY_SENDRECEIVE = 3
 20522  	PROXY_UNMARSHAL   = 4
 20523  )
 20524  
 20525  const (
 20526  	ComputerNameNetBIOS                   = 0
 20527  	ComputerNameDnsHostname               = 1
 20528  	ComputerNameDnsDomain                 = 2
 20529  	ComputerNameDnsFullyQualified         = 3
 20530  	ComputerNamePhysicalNetBIOS           = 4
 20531  	ComputerNamePhysicalDnsHostname       = 5
 20532  	ComputerNamePhysicalDnsDomain         = 6
 20533  	ComputerNamePhysicalDnsFullyQualified = 7
 20534  	ComputerNameMax                       = 8
 20535  )
 20536  
 20537  const (
 20538  	BINDVERB_GET       = 0
 20539  	BINDVERB_POST      = 1
 20540  	BINDVERB_PUT       = 2
 20541  	BINDVERB_CUSTOM    = 3
 20542  	BINDVERB_RESERVED1 = 4
 20543  )
 20544  
 20545  const (
 20546  	BINDINFOF_URLENCODESTGMEDDATA = 1
 20547  	BINDINFOF_URLENCODEDEXTRAINFO = 2
 20548  )
 20549  
 20550  const (
 20551  	BINDF_ASYNCHRONOUS             = 1
 20552  	BINDF_ASYNCSTORAGE             = 2
 20553  	BINDF_NOPROGRESSIVERENDERING   = 4
 20554  	BINDF_OFFLINEOPERATION         = 8
 20555  	BINDF_GETNEWESTVERSION         = 16
 20556  	BINDF_NOWRITECACHE             = 32
 20557  	BINDF_NEEDFILE                 = 64
 20558  	BINDF_PULLDATA                 = 128
 20559  	BINDF_IGNORESECURITYPROBLEM    = 256
 20560  	BINDF_RESYNCHRONIZE            = 512
 20561  	BINDF_HYPERLINK                = 1024
 20562  	BINDF_NO_UI                    = 2048
 20563  	BINDF_SILENTOPERATION          = 4096
 20564  	BINDF_PRAGMA_NO_CACHE          = 8192
 20565  	BINDF_GETCLASSOBJECT           = 16384
 20566  	BINDF_RESERVED_1               = 32768
 20567  	BINDF_FREE_THREADED            = 65536
 20568  	BINDF_DIRECT_READ              = 131072
 20569  	BINDF_FORMS_SUBMIT             = 262144
 20570  	BINDF_GETFROMCACHE_IF_NET_FAIL = 524288
 20571  	BINDF_FROMURLMON               = 1048576
 20572  	BINDF_FWD_BACK                 = 2097152
 20573  	BINDF_PREFERDEFAULTHANDLER     = 4194304
 20574  	BINDF_ENFORCERESTRICTED        = 8388608
 20575  	BINDF_RESERVED_2               = 2147483648
 20576  	BINDF_RESERVED_3               = 16777216
 20577  	BINDF_RESERVED_4               = 33554432
 20578  	BINDF_RESERVED_5               = 67108864
 20579  	BINDF_RESERVED_6               = 134217728
 20580  	BINDF_RESERVED_7               = 1073741824
 20581  	BINDF_RESERVED_8               = 536870912
 20582  )
 20583  
 20584  const (
 20585  	URL_ENCODING_NONE         = 0
 20586  	URL_ENCODING_ENABLE_UTF8  = 268435456
 20587  	URL_ENCODING_DISABLE_UTF8 = 536870912
 20588  )
 20589  
 20590  const (
 20591  	BINDINFO_OPTIONS_WININETFLAG              = 65536
 20592  	BINDINFO_OPTIONS_ENABLE_UTF8              = 131072
 20593  	BINDINFO_OPTIONS_DISABLE_UTF8             = 262144
 20594  	BINDINFO_OPTIONS_USE_IE_ENCODING          = 524288
 20595  	BINDINFO_OPTIONS_BINDTOOBJECT             = 1048576
 20596  	BINDINFO_OPTIONS_SECURITYOPTOUT           = 2097152
 20597  	BINDINFO_OPTIONS_IGNOREMIMETEXTPLAIN      = 4194304
 20598  	BINDINFO_OPTIONS_USEBINDSTRINGCREDS       = 8388608
 20599  	BINDINFO_OPTIONS_IGNOREHTTPHTTPSREDIRECTS = 16777216
 20600  	BINDINFO_OPTIONS_IGNORE_SSLERRORS_ONCE    = 33554432
 20601  	BINDINFO_WPC_DOWNLOADBLOCKED              = 134217728
 20602  	BINDINFO_WPC_LOGGING_ENABLED              = 268435456
 20603  	BINDINFO_OPTIONS_ALLOWCONNECTDATA         = 536870912
 20604  	BINDINFO_OPTIONS_DISABLEAUTOREDIRECTS     = 1073741824
 20605  	BINDINFO_OPTIONS_SHDOCVW_NAVIGATE         = -2147483648
 20606  )
 20607  
 20608  const (
 20609  	BSCF_FIRSTDATANOTIFICATION        = 1
 20610  	BSCF_INTERMEDIATEDATANOTIFICATION = 2
 20611  	BSCF_LASTDATANOTIFICATION         = 4
 20612  	BSCF_DATAFULLYAVAILABLE           = 8
 20613  	BSCF_AVAILABLEDATASIZEUNKNOWN     = 16
 20614  	BSCF_SKIPDRAINDATAFORFILEURLS     = 32
 20615  	BSCF_64BITLENGTHDOWNLOAD          = 64
 20616  )
 20617  
 20618  const (
 20619  	BINDSTATUS_FINDINGRESOURCE            = 1
 20620  	BINDSTATUS_CONNECTING                 = 2
 20621  	BINDSTATUS_REDIRECTING                = 3
 20622  	BINDSTATUS_BEGINDOWNLOADDATA          = 4
 20623  	BINDSTATUS_DOWNLOADINGDATA            = 5
 20624  	BINDSTATUS_ENDDOWNLOADDATA            = 6
 20625  	BINDSTATUS_BEGINDOWNLOADCOMPONENTS    = 7
 20626  	BINDSTATUS_INSTALLINGCOMPONENTS       = 8
 20627  	BINDSTATUS_ENDDOWNLOADCOMPONENTS      = 9
 20628  	BINDSTATUS_USINGCACHEDCOPY            = 10
 20629  	BINDSTATUS_SENDINGREQUEST             = 11
 20630  	BINDSTATUS_CLASSIDAVAILABLE           = 12
 20631  	BINDSTATUS_MIMETYPEAVAILABLE          = 13
 20632  	BINDSTATUS_CACHEFILENAMEAVAILABLE     = 14
 20633  	BINDSTATUS_BEGINSYNCOPERATION         = 15
 20634  	BINDSTATUS_ENDSYNCOPERATION           = 16
 20635  	BINDSTATUS_BEGINUPLOADDATA            = 17
 20636  	BINDSTATUS_UPLOADINGDATA              = 18
 20637  	BINDSTATUS_ENDUPLOADDATA              = 19
 20638  	BINDSTATUS_PROTOCOLCLASSID            = 20
 20639  	BINDSTATUS_ENCODING                   = 21
 20640  	BINDSTATUS_VERIFIEDMIMETYPEAVAILABLE  = 22
 20641  	BINDSTATUS_CLASSINSTALLLOCATION       = 23
 20642  	BINDSTATUS_DECODING                   = 24
 20643  	BINDSTATUS_LOADINGMIMEHANDLER         = 25
 20644  	BINDSTATUS_CONTENTDISPOSITIONATTACH   = 26
 20645  	BINDSTATUS_FILTERREPORTMIMETYPE       = 27
 20646  	BINDSTATUS_CLSIDCANINSTANTIATE        = 28
 20647  	BINDSTATUS_IUNKNOWNAVAILABLE          = 29
 20648  	BINDSTATUS_DIRECTBIND                 = 30
 20649  	BINDSTATUS_RAWMIMETYPE                = 31
 20650  	BINDSTATUS_PROXYDETECTING             = 32
 20651  	BINDSTATUS_ACCEPTRANGES               = 33
 20652  	BINDSTATUS_COOKIE_SENT                = 34
 20653  	BINDSTATUS_COMPACT_POLICY_RECEIVED    = 35
 20654  	BINDSTATUS_COOKIE_SUPPRESSED          = 36
 20655  	BINDSTATUS_COOKIE_STATE_UNKNOWN       = 37
 20656  	BINDSTATUS_COOKIE_STATE_ACCEPT        = 38
 20657  	BINDSTATUS_COOKIE_STATE_REJECT        = 39
 20658  	BINDSTATUS_COOKIE_STATE_PROMPT        = 40
 20659  	BINDSTATUS_COOKIE_STATE_LEASH         = 41
 20660  	BINDSTATUS_COOKIE_STATE_DOWNGRADE     = 42
 20661  	BINDSTATUS_POLICY_HREF                = 43
 20662  	BINDSTATUS_P3P_HEADER                 = 44
 20663  	BINDSTATUS_SESSION_COOKIE_RECEIVED    = 45
 20664  	BINDSTATUS_PERSISTENT_COOKIE_RECEIVED = 46
 20665  	BINDSTATUS_SESSION_COOKIES_ALLOWED    = 47
 20666  	BINDSTATUS_CACHECONTROL               = 48
 20667  	BINDSTATUS_CONTENTDISPOSITIONFILENAME = 49
 20668  	BINDSTATUS_MIMETEXTPLAINMISMATCH      = 50
 20669  	BINDSTATUS_PUBLISHERAVAILABLE         = 51
 20670  	BINDSTATUS_DISPLAYNAMEAVAILABLE       = 52
 20671  	BINDSTATUS_SSLUX_NAVBLOCKED           = 53
 20672  	BINDSTATUS_SERVER_MIMETYPEAVAILABLE   = 54
 20673  	BINDSTATUS_SNIFFED_CLASSIDAVAILABLE   = 55
 20674  	BINDSTATUS_64BIT_PROGRESS             = 56
 20675  	BINDSTATUS_LAST                       = 56
 20676  	BINDSTATUS_RESERVED_0                 = 57
 20677  	BINDSTATUS_RESERVED_1                 = 58
 20678  	BINDSTATUS_RESERVED_2                 = 59
 20679  	BINDSTATUS_RESERVED_3                 = 60
 20680  	BINDSTATUS_RESERVED_4                 = 61
 20681  	BINDSTATUS_RESERVED_5                 = 62
 20682  	BINDSTATUS_RESERVED_6                 = 63
 20683  	BINDSTATUS_RESERVED_7                 = 64
 20684  	BINDSTATUS_RESERVED_8                 = 65
 20685  	BINDSTATUS_RESERVED_9                 = 66
 20686  	BINDSTATUS_LAST_PRIVATE               = 66
 20687  )
 20688  
 20689  const (
 20690  	BINDF2_DISABLEBASICOVERHTTP              = 1
 20691  	BINDF2_DISABLEAUTOCOOKIEHANDLING         = 2
 20692  	BINDF2_READ_DATA_GREATER_THAN_4GB        = 4
 20693  	BINDF2_DISABLE_HTTP_REDIRECT_XSECURITYID = 8
 20694  	BINDF2_SETDOWNLOADMODE                   = 32
 20695  	BINDF2_DISABLE_HTTP_REDIRECT_CACHING     = 64
 20696  	BINDF2_KEEP_CALLBACK_MODULE_LOADED       = 128
 20697  	BINDF2_ALLOW_PROXY_CRED_PROMPT           = 256
 20698  	BINDF2_RESERVED_F                        = 131072
 20699  	BINDF2_RESERVED_E                        = 262144
 20700  	BINDF2_RESERVED_D                        = 524288
 20701  	BINDF2_RESERVED_C                        = 1048576
 20702  	BINDF2_RESERVED_B                        = 2097152
 20703  	BINDF2_RESERVED_A                        = 4194304
 20704  	BINDF2_RESERVED_9                        = 8388608
 20705  	BINDF2_RESERVED_8                        = 16777216
 20706  	BINDF2_RESERVED_7                        = 33554432
 20707  	BINDF2_RESERVED_6                        = 67108864
 20708  	BINDF2_RESERVED_5                        = 134217728
 20709  	BINDF2_RESERVED_4                        = 268435456
 20710  	BINDF2_RESERVED_3                        = 536870912
 20711  	BINDF2_RESERVED_2                        = 1073741824
 20712  	BINDF2_RESERVED_1                        = 2147483648
 20713  )
 20714  
 20715  const (
 20716  	AUTHENTICATEF_PROXY = 1
 20717  	AUTHENTICATEF_BASIC = 2
 20718  	AUTHENTICATEF_HTTP  = 4
 20719  )
 20720  
 20721  const (
 20722  	CIP_DISK_FULL                            = 0
 20723  	CIP_ACCESS_DENIED                        = 1
 20724  	CIP_NEWER_VERSION_EXISTS                 = 2
 20725  	CIP_OLDER_VERSION_EXISTS                 = 3
 20726  	CIP_NAME_CONFLICT                        = 4
 20727  	CIP_TRUST_VERIFICATION_COMPONENT_MISSING = 5
 20728  	CIP_EXE_SELF_REGISTERATION_TIMEOUT       = 6
 20729  	CIP_UNSAFE_TO_ABORT                      = 7
 20730  	CIP_NEED_REBOOT                          = 8
 20731  	CIP_NEED_REBOOT_UI_PERMISSION            = 9
 20732  )
 20733  
 20734  const (
 20735  	BINDSTRING_HEADERS             = 1
 20736  	BINDSTRING_ACCEPT_MIMES        = 2
 20737  	BINDSTRING_EXTRA_URL           = 3
 20738  	BINDSTRING_LANGUAGE            = 4
 20739  	BINDSTRING_USERNAME            = 5
 20740  	BINDSTRING_PASSWORD            = 6
 20741  	BINDSTRING_UA_PIXELS           = 7
 20742  	BINDSTRING_UA_COLOR            = 8
 20743  	BINDSTRING_OS                  = 9
 20744  	BINDSTRING_USER_AGENT          = 10
 20745  	BINDSTRING_ACCEPT_ENCODINGS    = 11
 20746  	BINDSTRING_POST_COOKIE         = 12
 20747  	BINDSTRING_POST_DATA_MIME      = 13
 20748  	BINDSTRING_URL                 = 14
 20749  	BINDSTRING_IID                 = 15
 20750  	BINDSTRING_FLAG_BIND_TO_OBJECT = 16
 20751  	BINDSTRING_PTR_BIND_CONTEXT    = 17
 20752  	BINDSTRING_XDR_ORIGIN          = 18
 20753  	BINDSTRING_DOWNLOADPATH        = 19
 20754  	BINDSTRING_ROOTDOC_URL         = 20
 20755  	BINDSTRING_INITIAL_FILENAME    = 21
 20756  	BINDSTRING_PROXY_USERNAME      = 22
 20757  	BINDSTRING_PROXY_PASSWORD      = 23
 20758  )
 20759  
 20760  const (
 20761  	PI_PARSE_URL            = 1
 20762  	PI_FILTER_MODE          = 2
 20763  	PI_FORCE_ASYNC          = 4
 20764  	PI_USE_WORKERTHREAD     = 8
 20765  	PI_MIMEVERIFICATION     = 16
 20766  	PI_CLSIDLOOKUP          = 32
 20767  	PI_DATAPROGRESS         = 64
 20768  	PI_SYNCHRONOUS          = 128
 20769  	PI_APARTMENTTHREADED    = 256
 20770  	PI_CLASSINSTALL         = 512
 20771  	PI_PASSONBINDCTX        = 8192
 20772  	PI_NOMIMEHANDLER        = 32768
 20773  	PI_LOADAPPDIRECT        = 16384
 20774  	PD_FORCE_SWITCH         = 65536
 20775  	PI_PREFERDEFAULTHANDLER = 131072
 20776  )
 20777  
 20778  const (
 20779  	OIBDG_APARTMENTTHREADED = 256
 20780  	OIBDG_DATAONLY          = 4096
 20781  )
 20782  
 20783  const (
 20784  	PARSE_CANONICALIZE       = 1
 20785  	PARSE_FRIENDLY           = 2
 20786  	PARSE_SECURITY_URL       = 3
 20787  	PARSE_ROOTDOCUMENT       = 4
 20788  	PARSE_DOCUMENT           = 5
 20789  	PARSE_ANCHOR             = 6
 20790  	PARSE_ENCODE_IS_UNESCAPE = 7
 20791  	PARSE_DECODE_IS_ESCAPE   = 8
 20792  	PARSE_PATH_FROM_URL      = 9
 20793  	PARSE_URL_FROM_PATH      = 10
 20794  	PARSE_MIME               = 11
 20795  	PARSE_SERVER             = 12
 20796  	PARSE_SCHEMA             = 13
 20797  	PARSE_SITE               = 14
 20798  	PARSE_DOMAIN             = 15
 20799  	PARSE_LOCATION           = 16
 20800  	PARSE_SECURITY_DOMAIN    = 17
 20801  	PARSE_ESCAPE             = 18
 20802  	PARSE_UNESCAPE           = 19
 20803  )
 20804  
 20805  const (
 20806  	PSU_DEFAULT           = 1
 20807  	PSU_SECURITY_URL_ONLY = 2
 20808  )
 20809  
 20810  const (
 20811  	QUERY_EXPIRATION_DATE              = 1
 20812  	QUERY_TIME_OF_LAST_CHANGE          = 2
 20813  	QUERY_CONTENT_ENCODING             = 3
 20814  	QUERY_CONTENT_TYPE                 = 4
 20815  	QUERY_REFRESH                      = 5
 20816  	QUERY_RECOMBINE                    = 6
 20817  	QUERY_CAN_NAVIGATE                 = 7
 20818  	QUERY_USES_NETWORK                 = 8
 20819  	QUERY_IS_CACHED                    = 9
 20820  	QUERY_IS_INSTALLEDENTRY            = 10
 20821  	QUERY_IS_CACHED_OR_MAPPED          = 11
 20822  	QUERY_USES_CACHE                   = 12
 20823  	QUERY_IS_SECURE                    = 13
 20824  	QUERY_IS_SAFE                      = 14
 20825  	QUERY_USES_HISTORYFOLDER           = 15
 20826  	QUERY_IS_CACHED_AND_USABLE_OFFLINE = 16
 20827  )
 20828  
 20829  const (
 20830  	PUAF_DEFAULT                      = 0
 20831  	PUAF_NOUI                         = 1
 20832  	PUAF_ISFILE                       = 2
 20833  	PUAF_WARN_IF_DENIED               = 4
 20834  	PUAF_FORCEUI_FOREGROUND           = 8
 20835  	PUAF_CHECK_TIFS                   = 16
 20836  	PUAF_DONTCHECKBOXINDIALOG         = 32
 20837  	PUAF_TRUSTED                      = 64
 20838  	PUAF_ACCEPT_WILDCARD_SCHEME       = 128
 20839  	PUAF_ENFORCERESTRICTED            = 256
 20840  	PUAF_NOSAVEDFILECHECK             = 512
 20841  	PUAF_REQUIRESAVEDFILECHECK        = 1024
 20842  	PUAF_DONT_USE_CACHE               = 4096
 20843  	PUAF_RESERVED1                    = 8192
 20844  	PUAF_RESERVED2                    = 16384
 20845  	PUAF_LMZ_UNLOCKED                 = 65536
 20846  	PUAF_LMZ_LOCKED                   = 131072
 20847  	PUAF_DEFAULTZONEPOL               = 262144
 20848  	PUAF_NPL_USE_LOCKED_IF_RESTRICTED = 524288
 20849  	PUAF_NOUIIFLOCKED                 = 1048576
 20850  	PUAF_DRAGPROTOCOLCHECK            = 2097152
 20851  )
 20852  const (
 20853  	PUAFOUT_DEFAULT          = 0
 20854  	PUAFOUT_ISLOCKZONEPOLICY = 1
 20855  )
 20856  
 20857  const (
 20858  	SZM_CREATE = 0
 20859  	SZM_DELETE = 1
 20860  )
 20861  
 20862  const (
 20863  	URLZONE_INVALID        = -1
 20864  	URLZONE_PREDEFINED_MIN = 0
 20865  	URLZONE_LOCAL_MACHINE  = 0
 20866  	URLZONE_INTRANET       = 1
 20867  	URLZONE_TRUSTED        = 2
 20868  	URLZONE_INTERNET       = 3
 20869  	URLZONE_UNTRUSTED      = 4
 20870  	URLZONE_PREDEFINED_MAX = 999
 20871  	URLZONE_USER_MIN       = 1000
 20872  	URLZONE_USER_MAX       = 10000
 20873  )
 20874  
 20875  const (
 20876  	URLTEMPLATE_CUSTOM         = 0
 20877  	URLTEMPLATE_PREDEFINED_MIN = 65536
 20878  	URLTEMPLATE_LOW            = 65536
 20879  	URLTEMPLATE_MEDLOW         = 66816
 20880  	URLTEMPLATE_MEDIUM         = 69632
 20881  	URLTEMPLATE_MEDHIGH        = 70912
 20882  	URLTEMPLATE_HIGH           = 73728
 20883  	URLTEMPLATE_PREDEFINED_MAX = 131072
 20884  )
 20885  
 20886  const (
 20887  	MAX_ZONE_PATH        = 260
 20888  	MAX_ZONE_DESCRIPTION = 200
 20889  )
 20890  
 20891  const (
 20892  	ZAFLAGS_CUSTOM_EDIT              = 1
 20893  	ZAFLAGS_ADD_SITES                = 2
 20894  	ZAFLAGS_REQUIRE_VERIFICATION     = 4
 20895  	ZAFLAGS_INCLUDE_PROXY_OVERRIDE   = 8
 20896  	ZAFLAGS_INCLUDE_INTRANET_SITES   = 16
 20897  	ZAFLAGS_NO_UI                    = 32
 20898  	ZAFLAGS_SUPPORTS_VERIFICATION    = 64
 20899  	ZAFLAGS_UNC_AS_INTRANET          = 128
 20900  	ZAFLAGS_DETECT_INTRANET          = 256
 20901  	ZAFLAGS_USE_LOCKED_ZONES         = 65536
 20902  	ZAFLAGS_VERIFY_TEMPLATE_SETTINGS = 131072
 20903  	ZAFLAGS_NO_CACHE                 = 262144
 20904  )
 20905  
 20906  const (
 20907  	URLZONEREG_DEFAULT = 0
 20908  	URLZONEREG_HKLM    = 1
 20909  	URLZONEREG_HKCU    = 2
 20910  )
 20911  
 20912  const (
 20913  	BINDHANDLETYPES_APPCACHE   = 0
 20914  	BINDHANDLETYPES_DEPENDENCY = 1
 20915  	BINDHANDLETYPES_COUNT      = 2
 20916  )
 20917  
 20918  const (
 20919  	MIMETYPEPROP        = 0
 20920  	USE_SRC_URL         = 1
 20921  	CLASSIDPROP         = 2
 20922  	TRUSTEDDOWNLOADPROP = 3
 20923  	POPUPLEVELPROP      = 4
 20924  )
 20925  
 20926  const (
 20927  	ThreadMemoryPriority      = 0
 20928  	ThreadAbsoluteCpuPriority = 1
 20929  	ThreadInformationClassMax = 2
 20930  )
 20931  
 20932  const (
 20933  	DEPPolicyAlwaysOff  = 0
 20934  	DEPPolicyAlwaysOn   = 1
 20935  	DEPPolicyOptIn      = 2
 20936  	DEPPolicyOptOut     = 3
 20937  	DEPTotalPolicyCount = 4
 20938  )
 20939  
 20940  const (
 20941  	ProcessMemoryPriority      = 0
 20942  	ProcessInformationClassMax = 1
 20943  )
 20944  
 20945  const (
 20946  	FindStreamInfoStandard     = 0
 20947  	FindStreamInfoMaxInfoLevel = 1
 20948  )
 20949  
 20950  const (
 20951  	KeyTypeOther             = 0
 20952  	KeyTypeVirtualSmartCard  = 1
 20953  	KeyTypePhysicalSmartCard = 2
 20954  	KeyTypePassport          = 3
 20955  	KeyTypePassportRemote    = 4
 20956  	KeyTypePassportSmartCard = 5
 20957  	KeyTypeHardware          = 6
 20958  	KeyTypeSoftware          = 7
 20959  	KeyTypeSelfSigned        = 8
 20960  )
 20961  
 20962  const (
 20963  	DPI_AWARENESS_INVALID           = -1
 20964  	DPI_AWARENESS_UNAWARE           = 0
 20965  	DPI_AWARENESS_SYSTEM_AWARE      = 1
 20966  	DPI_AWARENESS_PER_MONITOR_AWARE = 2
 20967  )
 20968  
 20969  const (
 20970  	DPI_HOSTING_BEHAVIOR_INVALID = -1
 20971  	DPI_HOSTING_BEHAVIOR_DEFAULT = 0
 20972  	DPI_HOSTING_BEHAVIOR_MIXED   = 1
 20973  )
 20974  
 20975  const (
 20976  	DeviceProblemNone                 = 0
 20977  	DeviceProblemHardware             = 1
 20978  	DeviceProblemCHMError             = 2
 20979  	DeviceProblemDoorOpen             = 3
 20980  	DeviceProblemCalibrationError     = 4
 20981  	DeviceProblemTargetFailure        = 5
 20982  	DeviceProblemCHMMoveError         = 6
 20983  	DeviceProblemCHMZeroError         = 7
 20984  	DeviceProblemCartridgeInsertError = 8
 20985  	DeviceProblemPositionError        = 9
 20986  	DeviceProblemSensorError          = 10
 20987  	DeviceProblemCartridgeEjectError  = 11
 20988  	DeviceProblemGripperError         = 12
 20989  	DeviceProblemDriveError           = 13
 20990  )
 20991  
 20992  const (
 20993  	StorageDeviceProperty            = 0
 20994  	StorageAdapterProperty           = 1
 20995  	StorageDeviceIdProperty          = 2
 20996  	StorageDeviceUniqueIdProperty    = 3
 20997  	StorageDeviceWriteCacheProperty  = 4
 20998  	StorageMiniportProperty          = 5
 20999  	StorageAccessAlignmentProperty   = 6
 21000  	StorageDeviceSeekPenaltyProperty = 7
 21001  	StorageDeviceTrimProperty        = 8
 21002  )
 21003  
 21004  const (
 21005  	PropertyStandardQuery   = 0
 21006  	PropertyExistsQuery     = 1
 21007  	PropertyMaskQuery       = 2
 21008  	PropertyQueryMaxDefined = 3
 21009  )
 21010  
 21011  const (
 21012  	DDS_4mm            = 32
 21013  	MiniQic            = 33
 21014  	Travan             = 34
 21015  	QIC                = 35
 21016  	MP_8mm             = 36
 21017  	AME_8mm            = 37
 21018  	AIT1_8mm           = 38
 21019  	DLT                = 39
 21020  	NCTP               = 40
 21021  	IBM_3480           = 41
 21022  	IBM_3490E          = 42
 21023  	IBM_Magstar_3590   = 43
 21024  	IBM_Magstar_MP     = 44
 21025  	STK_DATA_D3        = 45
 21026  	SONY_DTF           = 46
 21027  	DV_6mm             = 47
 21028  	DMI                = 48
 21029  	SONY_D2            = 49
 21030  	CLEANER_CARTRIDGE  = 50
 21031  	CD_ROM             = 51
 21032  	CD_R               = 52
 21033  	CD_RW              = 53
 21034  	DVD_ROM            = 54
 21035  	DVD_R              = 55
 21036  	DVD_RW             = 56
 21037  	MO_3_RW            = 57
 21038  	MO_5_WO            = 58
 21039  	MO_5_RW            = 59
 21040  	MO_5_LIMDOW        = 60
 21041  	PC_5_WO            = 61
 21042  	PC_5_RW            = 62
 21043  	PD_5_RW            = 63
 21044  	ABL_5_WO           = 64
 21045  	PINNACLE_APEX_5_RW = 65
 21046  	SONY_12_WO         = 66
 21047  	PHILIPS_12_WO      = 67
 21048  	HITACHI_12_WO      = 68
 21049  	CYGNET_12_WO       = 69
 21050  	KODAK_14_WO        = 70
 21051  	MO_NFR_525         = 71
 21052  	NIKON_12_RW        = 72
 21053  	IOMEGA_ZIP         = 73
 21054  	IOMEGA_JAZ         = 74
 21055  	SYQUEST_EZ135      = 75
 21056  	SYQUEST_EZFLYER    = 76
 21057  	SYQUEST_SYJET      = 77
 21058  	AVATAR_F2          = 78
 21059  	MP2_8mm            = 79
 21060  	DST_S              = 80
 21061  	DST_M              = 81
 21062  	DST_L              = 82
 21063  	VXATape_1          = 83
 21064  	VXATape_2          = 84
 21065  	STK_9840           = 85
 21066  	LTO_Ultrium        = 86
 21067  	LTO_Accelis        = 87
 21068  	DVD_RAM            = 88
 21069  	AIT_8mm            = 89
 21070  	ADR_1              = 90
 21071  	ADR_2              = 91
 21072  	STK_9940           = 92
 21073  	SAIT               = 93
 21074  	VXATape            = 94
 21075  )
 21076  
 21077  const (
 21078  	BusTypeUnknown     = 0
 21079  	BusTypeScsi        = 1
 21080  	BusTypeAtapi       = 2
 21081  	BusTypeAta         = 3
 21082  	BusType1394        = 4
 21083  	BusTypeSsa         = 5
 21084  	BusTypeFibre       = 6
 21085  	BusTypeUsb         = 7
 21086  	BusTypeRAID        = 8
 21087  	BusTypeMax         = 9
 21088  	BusTypeMaxReserved = 127
 21089  )
 21090  
 21091  const (
 21092  	Unknown        = 0
 21093  	F5_1Pt2_512    = 1
 21094  	F3_1Pt44_512   = 2
 21095  	F3_2Pt88_512   = 3
 21096  	F3_20Pt8_512   = 4
 21097  	F3_720_512     = 5
 21098  	F5_360_512     = 6
 21099  	F5_320_512     = 7
 21100  	F5_320_1024    = 8
 21101  	F5_180_512     = 9
 21102  	F5_160_512     = 10
 21103  	RemovableMedia = 11
 21104  	FixedMedia     = 12
 21105  	F3_120M_512    = 13
 21106  	F3_640_512     = 14
 21107  	F5_640_512     = 15
 21108  	F5_720_512     = 16
 21109  	F3_1Pt2_512    = 17
 21110  	F3_1Pt23_1024  = 18
 21111  	F5_1Pt23_1024  = 19
 21112  	F3_128Mb_512   = 20
 21113  	F3_230Mb_512   = 21
 21114  	F8_256_128     = 22
 21115  	F3_200Mb_512   = 23
 21116  	F3_240M_512    = 24
 21117  	F3_32M_512     = 25
 21118  )
 21119  
 21120  const (
 21121  	PARTITION_STYLE_MBR = 0
 21122  	PARTITION_STYLE_GPT = 1
 21123  	PARTITION_STYLE_RAW = 2
 21124  )
 21125  
 21126  const (
 21127  	DetectNone    = 0
 21128  	DetectInt13   = 1
 21129  	DetectExInt13 = 2
 21130  )
 21131  
 21132  const (
 21133  	EqualPriority      = 0
 21134  	KeepPrefetchedData = 1
 21135  	KeepReadData       = 2
 21136  )
 21137  
 21138  const (
 21139  	RequestSize     = 0
 21140  	RequestLocation = 1
 21141  )
 21142  
 21143  const (
 21144  	AllElements       = 0
 21145  	ChangerTransport  = 1
 21146  	ChangerSlot       = 2
 21147  	ChangerIEPort     = 3
 21148  	ChangerDrive      = 4
 21149  	ChangerDoor       = 5
 21150  	ChangerKeypad     = 6
 21151  	ChangerMaxElement = 7
 21152  )
 21153  
 21154  const (
 21155  	COMPARE_STRING = 1
 21156  )
 21157  
 21158  const (
 21159  	GEO_NATION            = 1
 21160  	GEO_LATITUDE          = 2
 21161  	GEO_LONGITUDE         = 3
 21162  	GEO_ISO2              = 4
 21163  	GEO_ISO3              = 5
 21164  	GEO_RFC1766           = 6
 21165  	GEO_LCID              = 7
 21166  	GEO_FRIENDLYNAME      = 8
 21167  	GEO_OFFICIALNAME      = 9
 21168  	GEO_TIMEZONES         = 10
 21169  	GEO_OFFICIALLANGUAGES = 11
 21170  	GEO_ISO_UN_NUMBER     = 12
 21171  	GEO_PARENT            = 13
 21172  )
 21173  
 21174  const (
 21175  	GEOCLASS_NATION = 16
 21176  	GEOCLASS_REGION = 14
 21177  	GEOCLASS_ALL    = 0
 21178  )
 21179  
 21180  const (
 21181  	SidTypeUser           = 1
 21182  	SidTypeGroup          = 2
 21183  	SidTypeDomain         = 3
 21184  	SidTypeAlias          = 4
 21185  	SidTypeWellKnownGroup = 5
 21186  	SidTypeDeletedAccount = 6
 21187  	SidTypeInvalid        = 7
 21188  	SidTypeUnknown        = 8
 21189  	SidTypeComputer       = 9
 21190  	SidTypeLabel          = 10
 21191  	SidTypeLogonSession   = 11
 21192  )
 21193  
 21194  const (
 21195  	WinNullSid                                    = 0
 21196  	WinWorldSid                                   = 1
 21197  	WinLocalSid                                   = 2
 21198  	WinCreatorOwnerSid                            = 3
 21199  	WinCreatorGroupSid                            = 4
 21200  	WinCreatorOwnerServerSid                      = 5
 21201  	WinCreatorGroupServerSid                      = 6
 21202  	WinNtAuthoritySid                             = 7
 21203  	WinDialupSid                                  = 8
 21204  	WinNetworkSid                                 = 9
 21205  	WinBatchSid                                   = 10
 21206  	WinInteractiveSid                             = 11
 21207  	WinServiceSid                                 = 12
 21208  	WinAnonymousSid                               = 13
 21209  	WinProxySid                                   = 14
 21210  	WinEnterpriseControllersSid                   = 15
 21211  	WinSelfSid                                    = 16
 21212  	WinAuthenticatedUserSid                       = 17
 21213  	WinRestrictedCodeSid                          = 18
 21214  	WinTerminalServerSid                          = 19
 21215  	WinRemoteLogonIdSid                           = 20
 21216  	WinLogonIdsSid                                = 21
 21217  	WinLocalSystemSid                             = 22
 21218  	WinLocalServiceSid                            = 23
 21219  	WinNetworkServiceSid                          = 24
 21220  	WinBuiltinDomainSid                           = 25
 21221  	WinBuiltinAdministratorsSid                   = 26
 21222  	WinBuiltinUsersSid                            = 27
 21223  	WinBuiltinGuestsSid                           = 28
 21224  	WinBuiltinPowerUsersSid                       = 29
 21225  	WinBuiltinAccountOperatorsSid                 = 30
 21226  	WinBuiltinSystemOperatorsSid                  = 31
 21227  	WinBuiltinPrintOperatorsSid                   = 32
 21228  	WinBuiltinBackupOperatorsSid                  = 33
 21229  	WinBuiltinReplicatorSid                       = 34
 21230  	WinBuiltinPreWindows2000CompatibleAccessSid   = 35
 21231  	WinBuiltinRemoteDesktopUsersSid               = 36
 21232  	WinBuiltinNetworkConfigurationOperatorsSid    = 37
 21233  	WinAccountAdministratorSid                    = 38
 21234  	WinAccountGuestSid                            = 39
 21235  	WinAccountKrbtgtSid                           = 40
 21236  	WinAccountDomainAdminsSid                     = 41
 21237  	WinAccountDomainUsersSid                      = 42
 21238  	WinAccountDomainGuestsSid                     = 43
 21239  	WinAccountComputersSid                        = 44
 21240  	WinAccountControllersSid                      = 45
 21241  	WinAccountCertAdminsSid                       = 46
 21242  	WinAccountSchemaAdminsSid                     = 47
 21243  	WinAccountEnterpriseAdminsSid                 = 48
 21244  	WinAccountPolicyAdminsSid                     = 49
 21245  	WinAccountRasAndIasServersSid                 = 50
 21246  	WinNTLMAuthenticationSid                      = 51
 21247  	WinDigestAuthenticationSid                    = 52
 21248  	WinSChannelAuthenticationSid                  = 53
 21249  	WinThisOrganizationSid                        = 54
 21250  	WinOtherOrganizationSid                       = 55
 21251  	WinBuiltinIncomingForestTrustBuildersSid      = 56
 21252  	WinBuiltinPerfMonitoringUsersSid              = 57
 21253  	WinBuiltinPerfLoggingUsersSid                 = 58
 21254  	WinBuiltinAuthorizationAccessSid              = 59
 21255  	WinBuiltinTerminalServerLicenseServersSid     = 60
 21256  	WinBuiltinDCOMUsersSid                        = 61
 21257  	WinBuiltinIUsersSid                           = 62
 21258  	WinIUserSid                                   = 63
 21259  	WinBuiltinCryptoOperatorsSid                  = 64
 21260  	WinUntrustedLabelSid                          = 65
 21261  	WinLowLabelSid                                = 66
 21262  	WinMediumLabelSid                             = 67
 21263  	WinHighLabelSid                               = 68
 21264  	WinSystemLabelSid                             = 69
 21265  	WinWriteRestrictedCodeSid                     = 70
 21266  	WinCreatorOwnerRightsSid                      = 71
 21267  	WinCacheablePrincipalsGroupSid                = 72
 21268  	WinNonCacheablePrincipalsGroupSid             = 73
 21269  	WinEnterpriseReadonlyControllersSid           = 74
 21270  	WinAccountReadonlyControllersSid              = 75
 21271  	WinBuiltinEventLogReadersGroup                = 76
 21272  	WinNewEnterpriseReadonlyControllersSid        = 77
 21273  	WinBuiltinCertSvcDComAccessGroup              = 78
 21274  	WinMediumPlusLabelSid                         = 79
 21275  	WinLocalLogonSid                              = 80
 21276  	WinConsoleLogonSid                            = 81
 21277  	WinThisOrganizationCertificateSid             = 82
 21278  	WinApplicationPackageAuthoritySid             = 83
 21279  	WinBuiltinAnyPackageSid                       = 84
 21280  	WinCapabilityInternetClientSid                = 85
 21281  	WinCapabilityInternetClientServerSid          = 86
 21282  	WinCapabilityPrivateNetworkClientServerSid    = 87
 21283  	WinCapabilityPicturesLibrarySid               = 88
 21284  	WinCapabilityVideosLibrarySid                 = 89
 21285  	WinCapabilityMusicLibrarySid                  = 90
 21286  	WinCapabilityDocumentsLibrarySid              = 91
 21287  	WinCapabilitySharedUserCertificatesSid        = 92
 21288  	WinCapabilityEnterpriseAuthenticationSid      = 93
 21289  	WinCapabilityRemovableStorageSid              = 94
 21290  	WinBuiltinRDSRemoteAccessServersSid           = 95
 21291  	WinBuiltinRDSEndpointServersSid               = 96
 21292  	WinBuiltinRDSManagementServersSid             = 97
 21293  	WinUserModeDriversSid                         = 98
 21294  	WinBuiltinHyperVAdminsSid                     = 99
 21295  	WinAccountCloneableControllersSid             = 100
 21296  	WinBuiltinAccessControlAssistanceOperatorsSid = 101
 21297  	WinBuiltinRemoteManagementUsersSid            = 102
 21298  	WinAuthenticationAuthorityAssertedSid         = 103
 21299  	WinAuthenticationServiceAssertedSid           = 104
 21300  	WinLocalAccountSid                            = 105
 21301  	WinLocalAccountAndAdministratorSid            = 106
 21302  	WinAccountProtectedUsersSid                   = 107
 21303  	WinCapabilityAppointmentsSid                  = 108
 21304  	WinCapabilityContactsSid                      = 109
 21305  	WinAccountDefaultSystemManagedSid             = 110
 21306  	WinBuiltinDefaultSystemManagedGroupSid        = 111
 21307  	WinBuiltinStorageReplicaAdminsSid             = 112
 21308  	WinAccountKeyAdminsSid                        = 113
 21309  	WinAccountEnterpriseKeyAdminsSid              = 114
 21310  	WinAuthenticationKeyTrustSid                  = 115
 21311  	WinAuthenticationKeyPropertyMFASid            = 116
 21312  	WinAuthenticationKeyPropertyAttestationSid    = 117
 21313  )
 21314  
 21315  const (
 21316  	AclRevisionInformation = 1
 21317  	AclSizeInformation     = 2
 21318  )
 21319  
 21320  const (
 21321  	AuditEventObjectAccess           = 0
 21322  	AuditEventDirectoryServiceAccess = 1
 21323  )
 21324  
 21325  const (
 21326  	AccessReasonNone                     = 0
 21327  	AccessReasonAllowedAce               = 65536
 21328  	AccessReasonDeniedAce                = 131072
 21329  	AccessReasonAllowedParentAce         = 196608
 21330  	AccessReasonDeniedParentAce          = 262144
 21331  	AccessReasonNotGrantedByCape         = 327680
 21332  	AccessReasonNotGrantedByParentCape   = 393216
 21333  	AccessReasonNotGrantedToAppContainer = 458752
 21334  	AccessReasonMissingPrivilege         = 1048576
 21335  	AccessReasonFromPrivilege            = 2097152
 21336  	AccessReasonIntegrityLevel           = 3145728
 21337  	AccessReasonOwnership                = 4194304
 21338  	AccessReasonNullDacl                 = 5242880
 21339  	AccessReasonEmptyDacl                = 6291456
 21340  	AccessReasonNoSD                     = 7340032
 21341  	AccessReasonNoGrant                  = 8388608
 21342  )
 21343  
 21344  const (
 21345  	SecurityAnonymous      = 0
 21346  	SecurityIdentification = 1
 21347  	SecurityImpersonation  = 2
 21348  	SecurityDelegation     = 3
 21349  )
 21350  
 21351  const (
 21352  	TokenPrimary       = 1
 21353  	TokenImpersonation = 2
 21354  )
 21355  
 21356  const (
 21357  	TokenElevationTypeDefault = 1
 21358  	TokenElevationTypeFull    = 2
 21359  	TokenElevationTypeLimited = 3
 21360  )
 21361  
 21362  const (
 21363  	TokenUser                            = 1
 21364  	TokenGroups                          = 2
 21365  	TokenPrivileges                      = 3
 21366  	TokenOwner                           = 4
 21367  	TokenPrimaryGroup                    = 5
 21368  	TokenDefaultDacl                     = 6
 21369  	TokenSource                          = 7
 21370  	TokenType                            = 8
 21371  	TokenImpersonationLevel              = 9
 21372  	TokenStatistics                      = 10
 21373  	TokenRestrictedSids                  = 11
 21374  	TokenSessionId                       = 12
 21375  	TokenGroupsAndPrivileges             = 13
 21376  	TokenSessionReference                = 14
 21377  	TokenSandBoxInert                    = 15
 21378  	TokenAuditPolicy                     = 16
 21379  	TokenOrigin                          = 17
 21380  	TokenElevationType                   = 18
 21381  	TokenLinkedToken                     = 19
 21382  	TokenElevation                       = 20
 21383  	TokenHasRestrictions                 = 21
 21384  	TokenAccessInformation               = 22
 21385  	TokenVirtualizationAllowed           = 23
 21386  	TokenVirtualizationEnabled           = 24
 21387  	TokenIntegrityLevel                  = 25
 21388  	TokenUIAccess                        = 26
 21389  	TokenMandatoryPolicy                 = 27
 21390  	TokenLogonSid                        = 28
 21391  	TokenIsAppContainer                  = 29
 21392  	TokenCapabilities                    = 30
 21393  	TokenAppContainerSid                 = 31
 21394  	TokenAppContainerNumber              = 32
 21395  	TokenUserClaimAttributes             = 33
 21396  	TokenDeviceClaimAttributes           = 34
 21397  	TokenRestrictedUserClaimAttributes   = 35
 21398  	TokenRestrictedDeviceClaimAttributes = 36
 21399  	TokenDeviceGroups                    = 37
 21400  	TokenRestrictedDeviceGroups          = 38
 21401  	TokenSecurityAttributes              = 39
 21402  	TokenIsRestricted                    = 40
 21403  	MaxTokenInfoClass                    = 41
 21404  )
 21405  
 21406  const (
 21407  	MandatoryLevelUntrusted     = 0
 21408  	MandatoryLevelLow           = 1
 21409  	MandatoryLevelMedium        = 2
 21410  	MandatoryLevelHigh          = 3
 21411  	MandatoryLevelSystem        = 4
 21412  	MandatoryLevelSecureProcess = 5
 21413  	MandatoryLevelCount         = 6
 21414  )
 21415  
 21416  const (
 21417  	SeLearningModeInvalidType = 0
 21418  	SeLearningModeSettings    = 1
 21419  	SeLearningModeMax         = 2
 21420  )
 21421  
 21422  const (
 21423  	PMCCounter             = 0
 21424  	MaxHardwareCounterType = 1
 21425  )
 21426  
 21427  const (
 21428  	ProcessDEPPolicy                   = 0
 21429  	ProcessASLRPolicy                  = 1
 21430  	ProcessDynamicCodePolicy           = 2
 21431  	ProcessStrictHandleCheckPolicy     = 3
 21432  	ProcessSystemCallDisablePolicy     = 4
 21433  	ProcessMitigationOptionsMask       = 5
 21434  	ProcessExtensionPointDisablePolicy = 6
 21435  	ProcessControlFlowGuardPolicy      = 7
 21436  	ProcessSignaturePolicy             = 8
 21437  	ProcessFontDisablePolicy           = 9
 21438  	ProcessImageLoadPolicy             = 10
 21439  	MaxProcessMitigationPolicy         = 11
 21440  )
 21441  
 21442  const (
 21443  	ToleranceLow    = 1
 21444  	ToleranceMedium = 2
 21445  	ToleranceHigh   = 3
 21446  )
 21447  
 21448  const (
 21449  	ToleranceIntervalShort  = 1
 21450  	ToleranceIntervalMedium = 2
 21451  	ToleranceIntervalLong   = 3
 21452  )
 21453  
 21454  const (
 21455  	JobObjectBasicAccountingInformation         = 1
 21456  	JobObjectBasicLimitInformation              = 2
 21457  	JobObjectBasicProcessIdList                 = 3
 21458  	JobObjectBasicUIRestrictions                = 4
 21459  	JobObjectSecurityLimitInformation           = 5
 21460  	JobObjectEndOfJobTimeInformation            = 6
 21461  	JobObjectAssociateCompletionPortInformation = 7
 21462  	JobObjectBasicAndIoAccountingInformation    = 8
 21463  	JobObjectExtendedLimitInformation           = 9
 21464  	JobObjectJobSetInformation                  = 10
 21465  	JobObjectGroupInformation                   = 11
 21466  	JobObjectNotificationLimitInformation       = 12
 21467  	JobObjectLimitViolationInformation          = 13
 21468  	JobObjectGroupInformationEx                 = 14
 21469  	JobObjectCpuRateControlInformation          = 15
 21470  	JobObjectCompletionFilter                   = 16
 21471  	JobObjectCompletionCounter                  = 17
 21472  	JobObjectReserved1Information               = 18
 21473  	JobObjectReserved2Information               = 19
 21474  	JobObjectReserved3Information               = 20
 21475  	JobObjectReserved4Information               = 21
 21476  	JobObjectReserved5Information               = 22
 21477  	JobObjectReserved6Information               = 23
 21478  	JobObjectReserved7Information               = 24
 21479  	JobObjectReserved8Information               = 25
 21480  	MaxJobObjectInfoClass                       = 26
 21481  )
 21482  
 21483  const (
 21484  	FirmwareTypeUnknown = 0
 21485  	FirmwareTypeBios    = 1
 21486  	FirmwareTypeUefi    = 2
 21487  	FirmwareTypeMax     = 3
 21488  )
 21489  
 21490  const (
 21491  	RelationProcessorCore    = 0
 21492  	RelationNumaNode         = 1
 21493  	RelationCache            = 2
 21494  	RelationProcessorPackage = 3
 21495  	RelationGroup            = 4
 21496  	RelationAll              = 65535
 21497  )
 21498  
 21499  const (
 21500  	CacheUnified     = 0
 21501  	CacheInstruction = 1
 21502  	CacheData        = 2
 21503  	CacheTrace       = 3
 21504  )
 21505  
 21506  const (
 21507  	UNSPECIFIED_COMPARTMENT_ID = 0
 21508  	DEFAULT_COMPARTMENT_ID     = 1
 21509  )
 21510  
 21511  const (
 21512  	MemExtendedParameterInvalidType         = 0
 21513  	MemExtendedParameterAddressRequirements = 1
 21514  	MemExtendedParameterNumaNode            = 2
 21515  	MemExtendedParameterPartitionHandle     = 3
 21516  	MemExtendedParameterUserPhysicalHandle  = 4
 21517  	MemExtendedParameterAttributeFlags      = 5
 21518  	MemExtendedParameterMax                 = 6
 21519  )
 21520  
 21521  const (
 21522  	MemSectionExtendedParameterInvalidType       = 0
 21523  	MemSectionExtendedParameterUserPhysicalFlags = 1
 21524  	MemSectionExtendedParameterNumaNode          = 2
 21525  	MemSectionExtendedParameterMax               = 3
 21526  )
 21527  
 21528  const (
 21529  	PowerSystemUnspecified = 0
 21530  	PowerSystemWorking     = 1
 21531  	PowerSystemSleeping1   = 2
 21532  	PowerSystemSleeping2   = 3
 21533  	PowerSystemSleeping3   = 4
 21534  	PowerSystemHibernate   = 5
 21535  	PowerSystemShutdown    = 6
 21536  	PowerSystemMaximum     = 7
 21537  )
 21538  
 21539  const (
 21540  	PowerActionNone          = 0
 21541  	PowerActionReserved      = 1
 21542  	PowerActionSleep         = 2
 21543  	PowerActionHibernate     = 3
 21544  	PowerActionShutdown      = 4
 21545  	PowerActionShutdownReset = 5
 21546  	PowerActionShutdownOff   = 6
 21547  	PowerActionWarmEject     = 7
 21548  )
 21549  
 21550  const (
 21551  	PowerDeviceUnspecified = 0
 21552  	PowerDeviceD0          = 1
 21553  	PowerDeviceD1          = 2
 21554  	PowerDeviceD2          = 3
 21555  	PowerDeviceD3          = 4
 21556  	PowerDeviceMaximum     = 5
 21557  )
 21558  
 21559  const (
 21560  	PowerMonitorOff = 0
 21561  	PowerMonitorOn  = 1
 21562  	PowerMonitorDim = 2
 21563  )
 21564  
 21565  const (
 21566  	PowerUserPresent    = 0
 21567  	PowerUserNotPresent = 1
 21568  	PowerUserInactive   = 2
 21569  	PowerUserMaximum    = 3
 21570  	PowerUserInvalid    = 3
 21571  )
 21572  
 21573  const (
 21574  	LT_DONT_CARE      = 0
 21575  	LT_LOWEST_LATENCY = 1
 21576  )
 21577  
 21578  const (
 21579  	PowerRequestDisplayRequired   = 0
 21580  	PowerRequestSystemRequired    = 1
 21581  	PowerRequestAwayModeRequired  = 2
 21582  	PowerRequestExecutionRequired = 3
 21583  )
 21584  
 21585  const (
 21586  	SystemPowerPolicyAc                = 0
 21587  	SystemPowerPolicyDc                = 1
 21588  	VerifySystemPolicyAc               = 2
 21589  	VerifySystemPolicyDc               = 3
 21590  	SystemPowerCapabilities            = 4
 21591  	SystemBatteryState                 = 5
 21592  	SystemPowerStateHandler            = 6
 21593  	ProcessorStateHandler              = 7
 21594  	SystemPowerPolicyCurrent           = 8
 21595  	AdministratorPowerPolicy           = 9
 21596  	SystemReserveHiberFile             = 10
 21597  	ProcessorInformation               = 11
 21598  	SystemPowerInformation             = 12
 21599  	ProcessorStateHandler2             = 13
 21600  	LastWakeTime                       = 14
 21601  	LastSleepTime                      = 15
 21602  	SystemExecutionState               = 16
 21603  	SystemPowerStateNotifyHandler      = 17
 21604  	ProcessorPowerPolicyAc             = 18
 21605  	ProcessorPowerPolicyDc             = 19
 21606  	VerifyProcessorPowerPolicyAc       = 20
 21607  	VerifyProcessorPowerPolicyDc       = 21
 21608  	ProcessorPowerPolicyCurrent        = 22
 21609  	SystemPowerStateLogging            = 23
 21610  	SystemPowerLoggingEntry            = 24
 21611  	SetPowerSettingValue               = 25
 21612  	NotifyUserPowerSetting             = 26
 21613  	PowerInformationLevelUnused0       = 27
 21614  	SystemMonitorHiberBootPowerOff     = 28
 21615  	SystemVideoState                   = 29
 21616  	TraceApplicationPowerMessage       = 30
 21617  	TraceApplicationPowerMessageEnd    = 31
 21618  	ProcessorPerfStates                = 32
 21619  	ProcessorIdleStates                = 33
 21620  	ProcessorCap                       = 34
 21621  	SystemWakeSource                   = 35
 21622  	SystemHiberFileInformation         = 36
 21623  	TraceServicePowerMessage           = 37
 21624  	ProcessorLoad                      = 38
 21625  	PowerShutdownNotification          = 39
 21626  	MonitorCapabilities                = 40
 21627  	SessionPowerInit                   = 41
 21628  	SessionDisplayState                = 42
 21629  	PowerRequestCreate                 = 43
 21630  	PowerRequestAction                 = 44
 21631  	GetPowerRequestList                = 45
 21632  	ProcessorInformationEx             = 46
 21633  	NotifyUserModeLegacyPowerEvent     = 47
 21634  	GroupPark                          = 48
 21635  	ProcessorIdleDomains               = 49
 21636  	WakeTimerList                      = 50
 21637  	SystemHiberFileSize                = 51
 21638  	ProcessorIdleStatesHv              = 52
 21639  	ProcessorPerfStatesHv              = 53
 21640  	ProcessorPerfCapHv                 = 54
 21641  	ProcessorSetIdle                   = 55
 21642  	LogicalProcessorIdling             = 56
 21643  	UserPresence                       = 57
 21644  	PowerSettingNotificationName       = 58
 21645  	GetPowerSettingValue               = 59
 21646  	IdleResiliency                     = 60
 21647  	SessionRITState                    = 61
 21648  	SessionConnectNotification         = 62
 21649  	SessionPowerCleanup                = 63
 21650  	SessionLockState                   = 64
 21651  	SystemHiberbootState               = 65
 21652  	PlatformInformation                = 66
 21653  	PdcInvocation                      = 67
 21654  	MonitorInvocation                  = 68
 21655  	FirmwareTableInformationRegistered = 69
 21656  	SetShutdownSelectedTime            = 70
 21657  	SuspendResumeInvocation            = 71
 21658  	PlmPowerRequestCreate              = 72
 21659  	ScreenOff                          = 73
 21660  	CsDeviceNotification               = 74
 21661  	PlatformRole                       = 75
 21662  	LastResumePerformance              = 76
 21663  	DisplayBurst                       = 77
 21664  	ExitLatencySamplingPercentage      = 78
 21665  	ApplyLowPowerScenarioSettings      = 79
 21666  	PowerInformationLevelMaximum       = 80
 21667  )
 21668  
 21669  const (
 21670  	UserNotPresent = 0
 21671  	UserPresent    = 1
 21672  	UserUnknown    = 255
 21673  )
 21674  
 21675  const (
 21676  	MonitorRequestReasonUnknown                 = 0
 21677  	MonitorRequestReasonPowerButton             = 1
 21678  	MonitorRequestReasonRemoteConnection        = 2
 21679  	MonitorRequestReasonScMonitorpower          = 3
 21680  	MonitorRequestReasonUserInput               = 4
 21681  	MonitorRequestReasonAcDcDisplayBurst        = 5
 21682  	MonitorRequestReasonUserDisplayBurst        = 6
 21683  	MonitorRequestReasonPoSetSystemState        = 7
 21684  	MonitorRequestReasonSetThreadExecutionState = 8
 21685  	MonitorRequestReasonFullWake                = 9
 21686  	MonitorRequestReasonSessionUnlock           = 10
 21687  	MonitorRequestReasonScreenOffRequest        = 11
 21688  	MonitorRequestReasonIdleTimeout             = 12
 21689  	MonitorRequestReasonPolicyChange            = 13
 21690  	MonitorRequestReasonMax                     = 14
 21691  )
 21692  
 21693  const (
 21694  	PoAc               = 0
 21695  	PoDc               = 1
 21696  	PoHot              = 2
 21697  	PoConditionMaximum = 3
 21698  )
 21699  
 21700  const (
 21701  	PlatformRoleUnspecified       = 0
 21702  	PlatformRoleDesktop           = 1
 21703  	PlatformRoleMobile            = 2
 21704  	PlatformRoleWorkstation       = 3
 21705  	PlatformRoleEnterpriseServer  = 4
 21706  	PlatformRoleSOHOServer        = 5
 21707  	PlatformRoleAppliancePC       = 6
 21708  	PlatformRolePerformanceServer = 7
 21709  	PlatformRoleSlate             = 8
 21710  	PlatformRoleMaximum           = 9
 21711  )
 21712  
 21713  const (
 21714  	IMAGE_AUX_SYMBOL_TYPE_TOKEN_DEF = 1
 21715  )
 21716  
 21717  const (
 21718  	IMPORT_OBJECT_CODE  = 0
 21719  	IMPORT_OBJECT_DATA  = 1
 21720  	IMPORT_OBJECT_CONST = 2
 21721  )
 21722  
 21723  const (
 21724  	IMPORT_OBJECT_ORDINAL         = 0
 21725  	IMPORT_OBJECT_NAME            = 1
 21726  	IMPORT_OBJECT_NAME_NO_PREFIX  = 2
 21727  	IMPORT_OBJECT_NAME_UNDECORATE = 3
 21728  )
 21729  
 21730  const (
 21731  	COMIMAGE_FLAGS_ILONLY                = 1
 21732  	COMIMAGE_FLAGS_32BITREQUIRED         = 2
 21733  	COMIMAGE_FLAGS_IL_LIBRARY            = 4
 21734  	COMIMAGE_FLAGS_STRONGNAMESIGNED      = 8
 21735  	COMIMAGE_FLAGS_TRACKDEBUGDATA        = 65536
 21736  	COR_VERSION_MAJOR_V2                 = 2
 21737  	COR_VERSION_MAJOR                    = 2
 21738  	COR_VERSION_MINOR                    = 0
 21739  	COR_DELETED_NAME_LENGTH              = 8
 21740  	COR_VTABLEGAP_NAME_LENGTH            = 8
 21741  	NATIVE_TYPE_MAX_CB                   = 1
 21742  	COR_ILMETHOD_SECT_SMALL_MAX_DATASIZE = 255
 21743  	IMAGE_COR_MIH_METHODRVA              = 1
 21744  	IMAGE_COR_MIH_EHRVA                  = 2
 21745  	IMAGE_COR_MIH_BASICBLOCK             = 8
 21746  	COR_VTABLE_32BIT                     = 1
 21747  	COR_VTABLE_64BIT                     = 2
 21748  	COR_VTABLE_FROM_UNMANAGED            = 4
 21749  	COR_VTABLE_CALL_MOST_DERIVED         = 16
 21750  	IMAGE_COR_EATJ_THUNK_SIZE            = 32
 21751  	MAX_CLASS_NAME                       = 1024
 21752  	MAX_PACKAGE_NAME                     = 1024
 21753  )
 21754  
 21755  const (
 21756  	UmsThreadInvalidInfoClass = 0
 21757  	UmsThreadUserContext      = 1
 21758  	UmsThreadPriority         = 2
 21759  	UmsThreadAffinity         = 3
 21760  	UmsThreadTeb              = 4
 21761  	UmsThreadIsSuspended      = 5
 21762  	UmsThreadIsTerminated     = 6
 21763  	UmsThreadMaxInfoClass     = 7
 21764  )
 21765  
 21766  const (
 21767  	UmsSchedulerStartup       = 0
 21768  	UmsSchedulerThreadBlocked = 1
 21769  	UmsSchedulerThreadYield   = 2
 21770  )
 21771  
 21772  const (
 21773  	HeapCompatibilityInformation      = 0
 21774  	HeapEnableTerminationOnCorruption = 1
 21775  )
 21776  
 21777  const (
 21778  	ActivationContextBasicInformation                      = 1
 21779  	ActivationContextDetailedInformation                   = 2
 21780  	AssemblyDetailedInformationInActivationContext         = 3
 21781  	FileInformationInAssemblyOfAssemblyInActivationContext = 4
 21782  	RunlevelInformationInActivationContext                 = 5
 21783  	CompatibilityInformationInActivationContext            = 6
 21784  	ActivationContextManifestResourceName                  = 7
 21785  	MaxActivationContextInfoClass                          = 8
 21786  	AssemblyDetailedInformationInActivationContxt          = 3
 21787  	FileInformationInAssemblyOfAssemblyInActivationContxt  = 4
 21788  )
 21789  
 21790  const (
 21791  	ACTCTX_RUN_LEVEL_UNSPECIFIED       = 0
 21792  	ACTCTX_RUN_LEVEL_AS_INVOKER        = 1
 21793  	ACTCTX_RUN_LEVEL_HIGHEST_AVAILABLE = 2
 21794  	ACTCTX_RUN_LEVEL_REQUIRE_ADMIN     = 3
 21795  	ACTCTX_RUN_LEVEL_NUMBERS           = 4
 21796  )
 21797  
 21798  const (
 21799  	ACTCTX_COMPATIBILITY_ELEMENT_TYPE_UNKNOWN    = 0
 21800  	ACTCTX_COMPATIBILITY_ELEMENT_TYPE_OS         = 1
 21801  	ACTCTX_COMPATIBILITY_ELEMENT_TYPE_MITIGATION = 2
 21802  )
 21803  
 21804  const (
 21805  	DriverType               = 1
 21806  	FileSystemType           = 2
 21807  	Win32ServiceOwnProcess   = 16
 21808  	Win32ServiceShareProcess = 32
 21809  	AdapterType              = 4
 21810  	RecognizerType           = 8
 21811  )
 21812  
 21813  const (
 21814  	BootLoad    = 0
 21815  	SystemLoad  = 1
 21816  	AutoLoad    = 2
 21817  	DemandLoad  = 3
 21818  	DisableLoad = 4
 21819  )
 21820  
 21821  const (
 21822  	IgnoreError   = 0
 21823  	NormalError   = 1
 21824  	SevereError   = 2
 21825  	CriticalError = 3
 21826  )
 21827  
 21828  const (
 21829  	TapeDriveProblemNone         = 0
 21830  	TapeDriveReadWriteWarning    = 1
 21831  	TapeDriveReadWriteError      = 2
 21832  	TapeDriveReadWarning         = 3
 21833  	TapeDriveWriteWarning        = 4
 21834  	TapeDriveReadError           = 5
 21835  	TapeDriveWriteError          = 6
 21836  	TapeDriveHardwareError       = 7
 21837  	TapeDriveUnsupportedMedia    = 8
 21838  	TapeDriveScsiConnectionError = 9
 21839  	TapeDriveTimetoClean         = 10
 21840  	TapeDriveCleanDriveNow       = 11
 21841  	TapeDriveMediaLifeExpired    = 12
 21842  	TapeDriveSnappedTape         = 13
 21843  )
 21844  
 21845  const (
 21846  	TP_CALLBACK_PRIORITY_HIGH    = 0
 21847  	TP_CALLBACK_PRIORITY_NORMAL  = 1
 21848  	TP_CALLBACK_PRIORITY_LOW     = 2
 21849  	TP_CALLBACK_PRIORITY_INVALID = 3
 21850  	TP_CALLBACK_PRIORITY_COUNT   = 3
 21851  )
 21852  
 21853  const (
 21854  	TransactionOutcomeUndetermined = 1
 21855  	TransactionOutcomeCommitted    = 2
 21856  	TransactionOutcomeAborted      = 3
 21857  )
 21858  
 21859  const (
 21860  	TransactionStateNormal          = 1
 21861  	TransactionStateIndoubt         = 2
 21862  	TransactionStateCommittedNotify = 3
 21863  )
 21864  
 21865  const (
 21866  	TransactionBasicInformation              = 0
 21867  	TransactionPropertiesInformation         = 1
 21868  	TransactionEnlistmentInformation         = 2
 21869  	TransactionSuperiorEnlistmentInformation = 3
 21870  	TransactionBindInformation               = 4
 21871  	TransactionDTCPrivateInformation         = 5
 21872  )
 21873  
 21874  const (
 21875  	TransactionManagerBasicInformation             = 0
 21876  	TransactionManagerLogInformation               = 1
 21877  	TransactionManagerLogPathInformation           = 2
 21878  	TransactionManagerOnlineProbeInformation       = 3
 21879  	TransactionManagerRecoveryInformation          = 4
 21880  	TransactionManagerOldestTransactionInformation = 5
 21881  )
 21882  
 21883  const (
 21884  	ResourceManagerBasicInformation      = 0
 21885  	ResourceManagerCompletionInformation = 1
 21886  )
 21887  
 21888  const (
 21889  	EnlistmentBasicInformation    = 0
 21890  	EnlistmentRecoveryInformation = 1
 21891  	EnlistmentCrmInformation      = 2
 21892  )
 21893  
 21894  const (
 21895  	KTMOBJECT_TRANSACTION         = 0
 21896  	KTMOBJECT_TRANSACTION_MANAGER = 1
 21897  	KTMOBJECT_RESOURCE_MANAGER    = 2
 21898  	KTMOBJECT_ENLISTMENT          = 3
 21899  	KTMOBJECT_INVALID             = 4
 21900  )
 21901  
 21902  const (
 21903  	BIDI_NULL   = 0
 21904  	BIDI_INT    = 1
 21905  	BIDI_FLOAT  = 2
 21906  	BIDI_BOOL   = 3
 21907  	BIDI_STRING = 4
 21908  	BIDI_TEXT   = 5
 21909  	BIDI_ENUM   = 6
 21910  	BIDI_BLOB   = 7
 21911  )
 21912  
 21913  const (
 21914  	SC_ACTION_NONE        = 0
 21915  	SC_ACTION_RESTART     = 1
 21916  	SC_ACTION_REBOOT      = 2
 21917  	SC_ACTION_RUN_COMMAND = 3
 21918  )
 21919  
 21920  const (
 21921  	SC_STATUS_PROCESS_INFO = 0
 21922  )
 21923  
 21924  const (
 21925  	SC_ENUM_PROCESS_INFO = 0
 21926  )
 21927  
 21928  const (
 21929  	DCDC_DEFAULT             = 0
 21930  	DCDC_DISABLE_FONT_UPDATE = 1
 21931  	DCDC_DISABLE_RELAYOUT    = 2
 21932  )
 21933  
 21934  const (
 21935  	DDC_DEFAULT                  = 0
 21936  	DDC_DISABLE_ALL              = 1
 21937  	DDC_DISABLE_RESIZE           = 2
 21938  	DDC_DISABLE_CONTROL_RELAYOUT = 4
 21939  )
 21940  
 21941  const (
 21942  	DVASPECT_CONTENT   = 1
 21943  	DVASPECT_THUMBNAIL = 2
 21944  	DVASPECT_ICON      = 4
 21945  	DVASPECT_DOCPRINT  = 8
 21946  )
 21947  
 21948  const (
 21949  	STGC_DEFAULT                            = 0
 21950  	STGC_OVERWRITE                          = 1
 21951  	STGC_ONLYIFCURRENT                      = 2
 21952  	STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE = 4
 21953  	STGC_CONSOLIDATE                        = 8
 21954  )
 21955  
 21956  const (
 21957  	STGMOVE_MOVE        = 0
 21958  	STGMOVE_COPY        = 1
 21959  	STGMOVE_SHALLOWCOPY = 2
 21960  )
 21961  
 21962  const (
 21963  	STATFLAG_DEFAULT = 0
 21964  	STATFLAG_NONAME  = 1
 21965  	STATFLAG_NOOPEN  = 2
 21966  )
 21967  
 21968  const (
 21969  	VT_EMPTY            = 0
 21970  	VT_NULL             = 1
 21971  	VT_I2               = 2
 21972  	VT_I4               = 3
 21973  	VT_R4               = 4
 21974  	VT_R8               = 5
 21975  	VT_CY               = 6
 21976  	VT_DATE             = 7
 21977  	VT_BSTR             = 8
 21978  	VT_DISPATCH         = 9
 21979  	VT_ERROR            = 10
 21980  	VT_BOOL             = 11
 21981  	VT_VARIANT          = 12
 21982  	VT_UNKNOWN          = 13
 21983  	VT_DECIMAL          = 14
 21984  	VT_I1               = 16
 21985  	VT_UI1              = 17
 21986  	VT_UI2              = 18
 21987  	VT_UI4              = 19
 21988  	VT_I8               = 20
 21989  	VT_UI8              = 21
 21990  	VT_INT              = 22
 21991  	VT_UINT             = 23
 21992  	VT_VOID             = 24
 21993  	VT_HRESULT          = 25
 21994  	VT_PTR              = 26
 21995  	VT_SAFEARRAY        = 27
 21996  	VT_CARRAY           = 28
 21997  	VT_USERDEFINED      = 29
 21998  	VT_LPSTR            = 30
 21999  	VT_LPWSTR           = 31
 22000  	VT_RECORD           = 36
 22001  	VT_INT_PTR          = 37
 22002  	VT_UINT_PTR         = 38
 22003  	VT_FILETIME         = 64
 22004  	VT_BLOB             = 65
 22005  	VT_STREAM           = 66
 22006  	VT_STORAGE          = 67
 22007  	VT_STREAMED_OBJECT  = 68
 22008  	VT_STORED_OBJECT    = 69
 22009  	VT_BLOB_OBJECT      = 70
 22010  	VT_CF               = 71
 22011  	VT_CLSID            = 72
 22012  	VT_VERSIONED_STREAM = 73
 22013  	VT_BSTR_BLOB        = 4095
 22014  	VT_VECTOR           = 4096
 22015  	VT_ARRAY            = 8192
 22016  	VT_BYREF            = 16384
 22017  	VT_RESERVED         = 32768
 22018  	VT_ILLEGAL          = 65535
 22019  	VT_ILLEGALMASKED    = 4095
 22020  	VT_TYPEMASK         = 4095
 22021  )
 22022  
 22023  const (
 22024  	TYSPEC_CLSID       = 0
 22025  	TYSPEC_FILEEXT     = 1
 22026  	TYSPEC_MIMETYPE    = 2
 22027  	TYSPEC_FILENAME    = 3
 22028  	TYSPEC_PROGID      = 4
 22029  	TYSPEC_PACKAGENAME = 5
 22030  	TYSPEC_OBJECTID    = 6
 22031  )
 22032  
 22033  const (
 22034  	MEMCTX_TASK      = 1
 22035  	MEMCTX_SHARED    = 2
 22036  	MEMCTX_MACSYSTEM = 3
 22037  	MEMCTX_UNKNOWN   = -1
 22038  	MEMCTX_SAME      = -2
 22039  )
 22040  
 22041  const (
 22042  	CLSCTX_INPROC_SERVER          = 1
 22043  	CLSCTX_INPROC_HANDLER         = 2
 22044  	CLSCTX_LOCAL_SERVER           = 4
 22045  	CLSCTX_INPROC_SERVER16        = 8
 22046  	CLSCTX_REMOTE_SERVER          = 16
 22047  	CLSCTX_INPROC_HANDLER16       = 32
 22048  	CLSCTX_RESERVED1              = 64
 22049  	CLSCTX_RESERVED2              = 128
 22050  	CLSCTX_RESERVED3              = 256
 22051  	CLSCTX_RESERVED4              = 512
 22052  	CLSCTX_NO_CODE_DOWNLOAD       = 1024
 22053  	CLSCTX_RESERVED5              = 2048
 22054  	CLSCTX_NO_CUSTOM_MARSHAL      = 4096
 22055  	CLSCTX_ENABLE_CODE_DOWNLOAD   = 8192
 22056  	CLSCTX_NO_FAILURE_LOG         = 16384
 22057  	CLSCTX_DISABLE_AAA            = 32768
 22058  	CLSCTX_ENABLE_AAA             = 65536
 22059  	CLSCTX_FROM_DEFAULT_CONTEXT   = 131072
 22060  	CLSCTX_ACTIVATE_32_BIT_SERVER = 262144
 22061  	CLSCTX_ACTIVATE_64_BIT_SERVER = 524288
 22062  	CLSCTX_ENABLE_CLOAKING        = 1048576
 22063  	CLSCTX_APPCONTAINER           = 4194304
 22064  	CLSCTX_ACTIVATE_AAA_AS_IU     = 8388608
 22065  	CLSCTX_PS_DLL                 = -2147483648
 22066  )
 22067  
 22068  const (
 22069  	MSHLFLAGS_NORMAL      = 0
 22070  	MSHLFLAGS_TABLESTRONG = 1
 22071  	MSHLFLAGS_TABLEWEAK   = 2
 22072  	MSHLFLAGS_NOPING      = 4
 22073  	MSHLFLAGS_RESERVED1   = 8
 22074  	MSHLFLAGS_RESERVED2   = 16
 22075  	MSHLFLAGS_RESERVED3   = 32
 22076  	MSHLFLAGS_RESERVED4   = 64
 22077  )
 22078  
 22079  const (
 22080  	MSHCTX_LOCAL            = 0
 22081  	MSHCTX_NOSHAREDMEM      = 1
 22082  	MSHCTX_DIFFERENTMACHINE = 2
 22083  	MSHCTX_INPROC           = 3
 22084  	MSHCTX_CROSSCTX         = 4
 22085  )
 22086  
 22087  type ptrdiff_t = int64
 22088  
 22089  type size_t = uint64
 22090  
 22091  type wchar_t = uint16
 22092  
 22093  type va_list = uintptr
 22094  
 22095  type sqlite32 = struct {
 22096  	FpVfs                   uintptr
 22097  	FpVdbe                  uintptr
 22098  	FpDfltColl              uintptr
 22099  	Fmutex                  uintptr
 22100  	FaDb                    uintptr
 22101  	FnDb                    int32
 22102  	FmDbFlags               u32
 22103  	Fflags                  u64
 22104  	FlastRowid              i64
 22105  	FszMmap                 i64
 22106  	FnSchemaLock            u32
 22107  	FopenFlags              uint32
 22108  	FerrCode                int32
 22109  	FerrByteOffset          int32
 22110  	FerrMask                int32
 22111  	FiSysErrno              int32
 22112  	FdbOptFlags             u32
 22113  	Fenc                    u8
 22114  	FautoCommit             u8
 22115  	Ftemp_store             u8
 22116  	FmallocFailed           u8
 22117  	FbBenignMalloc          u8
 22118  	FdfltLockMode           u8
 22119  	FnextAutovac            int8
 22120  	FsuppressErr            u8
 22121  	FvtabOnConflict         u8
 22122  	FisTransactionSavepoint u8
 22123  	FmTrace                 u8
 22124  	FnoSharedCache          u8
 22125  	FnSqlExec               u8
 22126  	FeOpenState             u8
 22127  	F__ccgo_pad1            [2]byte
 22128  	FnextPagesize           int32
 22129  	FnChange                i64
 22130  	FnTotalChange           i64
 22131  	FaLimit                 [12]int32
 22132  	FnMaxSorterMmap         int32
 22133  	F__ccgo_pad2            [4]byte
 22134  	Finit                   struct {
 22135  		FnewTnum       Pgno
 22136  		FiDb           u8
 22137  		Fbusy          u8
 22138  		F__ccgo_pad1   [2]byte
 22139  		ForphanTrigger uint8
 22140  		F__ccgo_pad2   [7]byte
 22141  		FazInit        uintptr
 22142  	}
 22143  	FnVdbeActive        int32
 22144  	FnVdbeRead          int32
 22145  	FnVdbeWrite         int32
 22146  	FnVdbeExec          int32
 22147  	FnVDestroy          int32
 22148  	FnExtension         int32
 22149  	FaExtension         uintptr
 22150  	Ftrace              struct{ FxLegacy uintptr }
 22151  	FpTraceArg          uintptr
 22152  	FxProfile           uintptr
 22153  	FpProfileArg        uintptr
 22154  	FpCommitArg         uintptr
 22155  	FxCommitCallback    uintptr
 22156  	FpRollbackArg       uintptr
 22157  	FxRollbackCallback  uintptr
 22158  	FpUpdateArg         uintptr
 22159  	FxUpdateCallback    uintptr
 22160  	FpAutovacPagesArg   uintptr
 22161  	FxAutovacDestr      uintptr
 22162  	FxAutovacPages      uintptr
 22163  	FpParse             uintptr
 22164  	FpPreUpdateArg      uintptr
 22165  	FxPreUpdateCallback uintptr
 22166  	FpPreUpdate         uintptr
 22167  	FxWalCallback       uintptr
 22168  	FpWalArg            uintptr
 22169  	FxCollNeeded        uintptr
 22170  	FxCollNeeded16      uintptr
 22171  	FpCollNeededArg     uintptr
 22172  	FpErr               uintptr
 22173  	Fu1                 struct {
 22174  		F__ccgo_pad1   [0]uint64
 22175  		FisInterrupted int32
 22176  		F__ccgo_pad2   [4]byte
 22177  	}
 22178  	Flookaside           Lookaside
 22179  	FxAuth               sqlite3_xauth
 22180  	FpAuthArg            uintptr
 22181  	FxProgress           uintptr
 22182  	FpProgressArg        uintptr
 22183  	FnProgressOps        uint32
 22184  	FnVTrans             int32
 22185  	FaModule             Hash
 22186  	FpVtabCtx            uintptr
 22187  	FaVTrans             uintptr
 22188  	FpDisconnect         uintptr
 22189  	FaFunc               Hash
 22190  	FaCollSeq            Hash
 22191  	FbusyHandler         BusyHandler
 22192  	FaDbStatic           [2]Db
 22193  	FpSavepoint          uintptr
 22194  	FnAnalysisLimit      int32
 22195  	FbusyTimeout         int32
 22196  	FnSavepoint          int32
 22197  	FnStatement          int32
 22198  	FnDeferredCons       i64
 22199  	FnDeferredImmCons    i64
 22200  	FpnBytesFreed        uintptr
 22201  	FpBlockingConnection uintptr
 22202  	FpUnlockConnection   uintptr
 22203  	FpUnlockArg          uintptr
 22204  	FxUnlockNotify       uintptr
 22205  	FpNextBlocked        uintptr
 22206  }
 22207  
 22208  type sqlite_int64 = int64
 22209  type sqlite_uint64 = uint64
 22210  type sqlite3_int64 = sqlite_int64
 22211  type sqlite3_uint64 = sqlite_uint64
 22212  
 22213  type sqlite3_callback = uintptr
 22214  
 22215  type sqlite3_file1 = struct{ FpMethods uintptr }
 22216  
 22217  type sqlite3_file = sqlite3_file1
 22218  type sqlite3_io_methods1 = struct {
 22219  	FiVersion               int32
 22220  	F__ccgo_pad1            [4]byte
 22221  	FxClose                 uintptr
 22222  	FxRead                  uintptr
 22223  	FxWrite                 uintptr
 22224  	FxTruncate              uintptr
 22225  	FxSync                  uintptr
 22226  	FxFileSize              uintptr
 22227  	FxLock                  uintptr
 22228  	FxUnlock                uintptr
 22229  	FxCheckReservedLock     uintptr
 22230  	FxFileControl           uintptr
 22231  	FxSectorSize            uintptr
 22232  	FxDeviceCharacteristics uintptr
 22233  	FxShmMap                uintptr
 22234  	FxShmLock               uintptr
 22235  	FxShmBarrier            uintptr
 22236  	FxShmUnmap              uintptr
 22237  	FxFetch                 uintptr
 22238  	FxUnfetch               uintptr
 22239  }
 22240  
 22241  type sqlite3_io_methods = sqlite3_io_methods1
 22242  
 22243  type sqlite3_mutex1 = struct {
 22244  	FpReal       uintptr
 22245  	FeType       int32
 22246  	F__ccgo_pad1 [4]byte
 22247  }
 22248  
 22249  type sqlite3_api_routines1 = struct {
 22250  	Faggregate_context      uintptr
 22251  	Faggregate_count        uintptr
 22252  	Fbind_blob              uintptr
 22253  	Fbind_double            uintptr
 22254  	Fbind_int               uintptr
 22255  	Fbind_int64             uintptr
 22256  	Fbind_null              uintptr
 22257  	Fbind_parameter_count   uintptr
 22258  	Fbind_parameter_index   uintptr
 22259  	Fbind_parameter_name    uintptr
 22260  	Fbind_text              uintptr
 22261  	Fbind_text16            uintptr
 22262  	Fbind_value             uintptr
 22263  	Fbusy_handler           uintptr
 22264  	Fbusy_timeout           uintptr
 22265  	Fchanges                uintptr
 22266  	Fclose                  uintptr
 22267  	Fcollation_needed       uintptr
 22268  	Fcollation_needed16     uintptr
 22269  	Fcolumn_blob            uintptr
 22270  	Fcolumn_bytes           uintptr
 22271  	Fcolumn_bytes16         uintptr
 22272  	Fcolumn_count           uintptr
 22273  	Fcolumn_database_name   uintptr
 22274  	Fcolumn_database_name16 uintptr
 22275  	Fcolumn_decltype        uintptr
 22276  	Fcolumn_decltype16      uintptr
 22277  	Fcolumn_double          uintptr
 22278  	Fcolumn_int             uintptr
 22279  	Fcolumn_int64           uintptr
 22280  	Fcolumn_name            uintptr
 22281  	Fcolumn_name16          uintptr
 22282  	Fcolumn_origin_name     uintptr
 22283  	Fcolumn_origin_name16   uintptr
 22284  	Fcolumn_table_name      uintptr
 22285  	Fcolumn_table_name16    uintptr
 22286  	Fcolumn_text            uintptr
 22287  	Fcolumn_text16          uintptr
 22288  	Fcolumn_type            uintptr
 22289  	Fcolumn_value           uintptr
 22290  	Fcommit_hook            uintptr
 22291  	Fcomplete               uintptr
 22292  	Fcomplete16             uintptr
 22293  	Fcreate_collation       uintptr
 22294  	Fcreate_collation16     uintptr
 22295  	Fcreate_function        uintptr
 22296  	Fcreate_function16      uintptr
 22297  	Fcreate_module          uintptr
 22298  	Fdata_count             uintptr
 22299  	Fdb_handle              uintptr
 22300  	Fdeclare_vtab           uintptr
 22301  	Fenable_shared_cache    uintptr
 22302  	Ferrcode                uintptr
 22303  	Ferrmsg                 uintptr
 22304  	Ferrmsg16               uintptr
 22305  	Fexec                   uintptr
 22306  	Fexpired                uintptr
 22307  	Ffinalize               uintptr
 22308  	Ffree                   uintptr
 22309  	Ffree_table             uintptr
 22310  	Fget_autocommit         uintptr
 22311  	Fget_auxdata            uintptr
 22312  	Fget_table              uintptr
 22313  	Fglobal_recover         uintptr
 22314  	Finterruptx             uintptr
 22315  	Flast_insert_rowid      uintptr
 22316  	Flibversion             uintptr
 22317  	Flibversion_number      uintptr
 22318  	Fmalloc                 uintptr
 22319  	Fmprintf                uintptr
 22320  	Fopen                   uintptr
 22321  	Fopen16                 uintptr
 22322  	Fprepare                uintptr
 22323  	Fprepare16              uintptr
 22324  	Fprofile                uintptr
 22325  	Fprogress_handler       uintptr
 22326  	Frealloc                uintptr
 22327  	Freset                  uintptr
 22328  	Fresult_blob            uintptr
 22329  	Fresult_double          uintptr
 22330  	Fresult_error           uintptr
 22331  	Fresult_error16         uintptr
 22332  	Fresult_int             uintptr
 22333  	Fresult_int64           uintptr
 22334  	Fresult_null            uintptr
 22335  	Fresult_text            uintptr
 22336  	Fresult_text16          uintptr
 22337  	Fresult_text16be        uintptr
 22338  	Fresult_text16le        uintptr
 22339  	Fresult_value           uintptr
 22340  	Frollback_hook          uintptr
 22341  	Fset_authorizer         uintptr
 22342  	Fset_auxdata            uintptr
 22343  	Fxsnprintf              uintptr
 22344  	Fstep                   uintptr
 22345  	Ftable_column_metadata  uintptr
 22346  	Fthread_cleanup         uintptr
 22347  	Ftotal_changes          uintptr
 22348  	Ftrace                  uintptr
 22349  	Ftransfer_bindings      uintptr
 22350  	Fupdate_hook            uintptr
 22351  	Fuser_data              uintptr
 22352  	Fvalue_blob             uintptr
 22353  	Fvalue_bytes            uintptr
 22354  	Fvalue_bytes16          uintptr
 22355  	Fvalue_double           uintptr
 22356  	Fvalue_int              uintptr
 22357  	Fvalue_int64            uintptr
 22358  	Fvalue_numeric_type     uintptr
 22359  	Fvalue_text             uintptr
 22360  	Fvalue_text16           uintptr
 22361  	Fvalue_text16be         uintptr
 22362  	Fvalue_text16le         uintptr
 22363  	Fvalue_type             uintptr
 22364  	Fvmprintf               uintptr
 22365  	Foverload_function      uintptr
 22366  	Fprepare_v2             uintptr
 22367  	Fprepare16_v2           uintptr
 22368  	Fclear_bindings         uintptr
 22369  	Fcreate_module_v2       uintptr
 22370  	Fbind_zeroblob          uintptr
 22371  	Fblob_bytes             uintptr
 22372  	Fblob_close             uintptr
 22373  	Fblob_open              uintptr
 22374  	Fblob_read              uintptr
 22375  	Fblob_write             uintptr
 22376  	Fcreate_collation_v2    uintptr
 22377  	Ffile_control           uintptr
 22378  	Fmemory_highwater       uintptr
 22379  	Fmemory_used            uintptr
 22380  	Fmutex_alloc            uintptr
 22381  	Fmutex_enter            uintptr
 22382  	Fmutex_free             uintptr
 22383  	Fmutex_leave            uintptr
 22384  	Fmutex_try              uintptr
 22385  	Fopen_v2                uintptr
 22386  	Frelease_memory         uintptr
 22387  	Fresult_error_nomem     uintptr
 22388  	Fresult_error_toobig    uintptr
 22389  	Fsleep                  uintptr
 22390  	Fsoft_heap_limit        uintptr
 22391  	Fvfs_find               uintptr
 22392  	Fvfs_register           uintptr
 22393  	Fvfs_unregister         uintptr
 22394  	Fxthreadsafe            uintptr
 22395  	Fresult_zeroblob        uintptr
 22396  	Fresult_error_code      uintptr
 22397  	Ftest_control           uintptr
 22398  	Frandomness             uintptr
 22399  	Fcontext_db_handle      uintptr
 22400  	Fextended_result_codes  uintptr
 22401  	Flimit                  uintptr
 22402  	Fnext_stmt              uintptr
 22403  	Fsql                    uintptr
 22404  	Fstatus                 uintptr
 22405  	Fbackup_finish          uintptr
 22406  	Fbackup_init            uintptr
 22407  	Fbackup_pagecount       uintptr
 22408  	Fbackup_remaining       uintptr
 22409  	Fbackup_step            uintptr
 22410  	Fcompileoption_get      uintptr
 22411  	Fcompileoption_used     uintptr
 22412  	Fcreate_function_v2     uintptr
 22413  	Fdb_config              uintptr
 22414  	Fdb_mutex               uintptr
 22415  	Fdb_status              uintptr
 22416  	Fextended_errcode       uintptr
 22417  	Flog                    uintptr
 22418  	Fsoft_heap_limit64      uintptr
 22419  	Fsourceid               uintptr
 22420  	Fstmt_status            uintptr
 22421  	Fstrnicmp               uintptr
 22422  	Funlock_notify          uintptr
 22423  	Fwal_autocheckpoint     uintptr
 22424  	Fwal_checkpoint         uintptr
 22425  	Fwal_hook               uintptr
 22426  	Fblob_reopen            uintptr
 22427  	Fvtab_config            uintptr
 22428  	Fvtab_on_conflict       uintptr
 22429  	Fclose_v2               uintptr
 22430  	Fdb_filename            uintptr
 22431  	Fdb_readonly            uintptr
 22432  	Fdb_release_memory      uintptr
 22433  	Ferrstr                 uintptr
 22434  	Fstmt_busy              uintptr
 22435  	Fstmt_readonly          uintptr
 22436  	Fstricmp                uintptr
 22437  	Furi_boolean            uintptr
 22438  	Furi_int64              uintptr
 22439  	Furi_parameter          uintptr
 22440  	Fxvsnprintf             uintptr
 22441  	Fwal_checkpoint_v2      uintptr
 22442  	Fauto_extension         uintptr
 22443  	Fbind_blob64            uintptr
 22444  	Fbind_text64            uintptr
 22445  	Fcancel_auto_extension  uintptr
 22446  	Fload_extension         uintptr
 22447  	Fmalloc64               uintptr
 22448  	Fmsize                  uintptr
 22449  	Frealloc64              uintptr
 22450  	Freset_auto_extension   uintptr
 22451  	Fresult_blob64          uintptr
 22452  	Fresult_text64          uintptr
 22453  	Fstrglob                uintptr
 22454  	Fvalue_dup              uintptr
 22455  	Fvalue_free             uintptr
 22456  	Fresult_zeroblob64      uintptr
 22457  	Fbind_zeroblob64        uintptr
 22458  	Fvalue_subtype          uintptr
 22459  	Fresult_subtype         uintptr
 22460  	Fstatus64               uintptr
 22461  	Fstrlike                uintptr
 22462  	Fdb_cacheflush          uintptr
 22463  	Fsystem_errno           uintptr
 22464  	Ftrace_v2               uintptr
 22465  	Fexpanded_sql           uintptr
 22466  	Fset_last_insert_rowid  uintptr
 22467  	Fprepare_v3             uintptr
 22468  	Fprepare16_v3           uintptr
 22469  	Fbind_pointer           uintptr
 22470  	Fresult_pointer         uintptr
 22471  	Fvalue_pointer          uintptr
 22472  	Fvtab_nochange          uintptr
 22473  	Fvalue_nochange         uintptr
 22474  	Fvtab_collation         uintptr
 22475  	Fkeyword_count          uintptr
 22476  	Fkeyword_name           uintptr
 22477  	Fkeyword_check          uintptr
 22478  	Fstr_new                uintptr
 22479  	Fstr_finish             uintptr
 22480  	Fstr_appendf            uintptr
 22481  	Fstr_vappendf           uintptr
 22482  	Fstr_append             uintptr
 22483  	Fstr_appendall          uintptr
 22484  	Fstr_appendchar         uintptr
 22485  	Fstr_reset              uintptr
 22486  	Fstr_errcode            uintptr
 22487  	Fstr_length             uintptr
 22488  	Fstr_value              uintptr
 22489  	Fcreate_window_function uintptr
 22490  	Fnormalized_sql         uintptr
 22491  	Fstmt_isexplain         uintptr
 22492  	Fvalue_frombind         uintptr
 22493  	Fdrop_modules           uintptr
 22494  	Fhard_heap_limit64      uintptr
 22495  	Furi_key                uintptr
 22496  	Ffilename_database      uintptr
 22497  	Ffilename_journal       uintptr
 22498  	Ffilename_wal           uintptr
 22499  	Fcreate_filename        uintptr
 22500  	Ffree_filename          uintptr
 22501  	Fdatabase_file_object   uintptr
 22502  	Ftxn_state              uintptr
 22503  	Fchanges64              uintptr
 22504  	Ftotal_changes64        uintptr
 22505  	Fautovacuum_pages       uintptr
 22506  	Ferror_offset           uintptr
 22507  	Fvtab_rhs_value         uintptr
 22508  	Fvtab_distinct          uintptr
 22509  	Fvtab_in                uintptr
 22510  	Fvtab_in_first          uintptr
 22511  	Fvtab_in_next           uintptr
 22512  	Fdeserialize            uintptr
 22513  	Fserialize              uintptr
 22514  	Fdb_name                uintptr
 22515  }
 22516  
 22517  type sqlite3_vfs1 = struct {
 22518  	FiVersion          int32
 22519  	FszOsFile          int32
 22520  	FmxPathname        int32
 22521  	F__ccgo_pad1       [4]byte
 22522  	FpNext             uintptr
 22523  	FzName             uintptr
 22524  	FpAppData          uintptr
 22525  	FxOpen             uintptr
 22526  	FxDelete           uintptr
 22527  	FxAccess           uintptr
 22528  	FxFullPathname     uintptr
 22529  	FxDlOpen           uintptr
 22530  	FxDlError          uintptr
 22531  	FxDlSym            uintptr
 22532  	FxDlClose          uintptr
 22533  	FxRandomness       uintptr
 22534  	FxSleep            uintptr
 22535  	FxCurrentTime      uintptr
 22536  	FxGetLastError     uintptr
 22537  	FxCurrentTimeInt64 uintptr
 22538  	FxSetSystemCall    uintptr
 22539  	FxGetSystemCall    uintptr
 22540  	FxNextSystemCall   uintptr
 22541  }
 22542  
 22543  type sqlite3_vfs = sqlite3_vfs1
 22544  type sqlite3_syscall_ptr = uintptr
 22545  
 22546  type sqlite3_mem_methods1 = struct {
 22547  	FxMalloc   uintptr
 22548  	FxFree     uintptr
 22549  	FxRealloc  uintptr
 22550  	FxSize     uintptr
 22551  	FxRoundup  uintptr
 22552  	FxInit     uintptr
 22553  	FxShutdown uintptr
 22554  	FpAppData  uintptr
 22555  }
 22556  
 22557  type sqlite3_mem_methods = sqlite3_mem_methods1
 22558  
 22559  type sqlite3_value1 = struct {
 22560  	Fu        struct{ Fr float64 }
 22561  	Fz        uintptr
 22562  	Fn        int32
 22563  	Fflags    u16
 22564  	Fenc      u8
 22565  	FeSubtype u8
 22566  	Fdb       uintptr
 22567  	FszMalloc int32
 22568  	FuTemp    u32
 22569  	FzMalloc  uintptr
 22570  	FxDel     uintptr
 22571  }
 22572  
 22573  type sqlite3_context1 = struct {
 22574  	FpOut        uintptr
 22575  	FpFunc       uintptr
 22576  	FpMem        uintptr
 22577  	FpVdbe       uintptr
 22578  	FiOp         int32
 22579  	FisError     int32
 22580  	Fenc         u8
 22581  	FskipFlag    u8
 22582  	Fargc        u8
 22583  	F__ccgo_pad1 [5]byte
 22584  	Fargv        [1]uintptr
 22585  }
 22586  
 22587  type sqlite3_destructor_type = uintptr
 22588  
 22589  type sqlite3_vtab1 = struct {
 22590  	FpModule     uintptr
 22591  	FnRef        int32
 22592  	F__ccgo_pad1 [4]byte
 22593  	FzErrMsg     uintptr
 22594  }
 22595  
 22596  type sqlite3_vtab = sqlite3_vtab1
 22597  type sqlite3_index_info1 = struct {
 22598  	FnConstraint      int32
 22599  	F__ccgo_pad1      [4]byte
 22600  	FaConstraint      uintptr
 22601  	FnOrderBy         int32
 22602  	F__ccgo_pad2      [4]byte
 22603  	FaOrderBy         uintptr
 22604  	FaConstraintUsage uintptr
 22605  	FidxNum           int32
 22606  	F__ccgo_pad3      [4]byte
 22607  	FidxStr           uintptr
 22608  	FneedToFreeIdxStr int32
 22609  	ForderByConsumed  int32
 22610  	FestimatedCost    float64
 22611  	FestimatedRows    sqlite3_int64
 22612  	FidxFlags         int32
 22613  	F__ccgo_pad4      [4]byte
 22614  	FcolUsed          sqlite3_uint64
 22615  }
 22616  
 22617  type sqlite3_index_info = sqlite3_index_info1
 22618  type sqlite3_vtab_cursor1 = struct{ FpVtab uintptr }
 22619  
 22620  type sqlite3_vtab_cursor = sqlite3_vtab_cursor1
 22621  type sqlite3_module1 = struct {
 22622  	FiVersion      int32
 22623  	F__ccgo_pad1   [4]byte
 22624  	FxCreate       uintptr
 22625  	FxConnect      uintptr
 22626  	FxBestIndex    uintptr
 22627  	FxDisconnect   uintptr
 22628  	FxDestroy      uintptr
 22629  	FxOpen         uintptr
 22630  	FxClose        uintptr
 22631  	FxFilter       uintptr
 22632  	FxNext         uintptr
 22633  	FxEof          uintptr
 22634  	FxColumn       uintptr
 22635  	FxRowid        uintptr
 22636  	FxUpdate       uintptr
 22637  	FxBegin        uintptr
 22638  	FxSync         uintptr
 22639  	FxCommit       uintptr
 22640  	FxRollback     uintptr
 22641  	FxFindFunction uintptr
 22642  	FxRename       uintptr
 22643  	FxSavepoint    uintptr
 22644  	FxRelease      uintptr
 22645  	FxRollbackTo   uintptr
 22646  	FxShadowName   uintptr
 22647  }
 22648  
 22649  type sqlite3_module = sqlite3_module1
 22650  
 22651  type sqlite3_index_constraint = struct {
 22652  	FiColumn     int32
 22653  	Fop          uint8
 22654  	Fusable      uint8
 22655  	F__ccgo_pad1 [2]byte
 22656  	FiTermOffset int32
 22657  }
 22658  
 22659  type sqlite3_index_orderby = struct {
 22660  	FiColumn     int32
 22661  	Fdesc        uint8
 22662  	F__ccgo_pad1 [3]byte
 22663  }
 22664  
 22665  type sqlite3_index_constraint_usage = struct {
 22666  	FargvIndex   int32
 22667  	Fomit        uint8
 22668  	F__ccgo_pad1 [3]byte
 22669  }
 22670  
 22671  type sqlite3_mutex_methods1 = struct {
 22672  	FxMutexInit    uintptr
 22673  	FxMutexEnd     uintptr
 22674  	FxMutexAlloc   uintptr
 22675  	FxMutexFree    uintptr
 22676  	FxMutexEnter   uintptr
 22677  	FxMutexTry     uintptr
 22678  	FxMutexLeave   uintptr
 22679  	FxMutexHeld    uintptr
 22680  	FxMutexNotheld uintptr
 22681  }
 22682  
 22683  type sqlite3_mutex_methods = sqlite3_mutex_methods1
 22684  
 22685  type sqlite3_str1 = struct {
 22686  	Fdb          uintptr
 22687  	FzText       uintptr
 22688  	FnAlloc      u32
 22689  	FmxAlloc     u32
 22690  	FnChar       u32
 22691  	FaccError    u8
 22692  	FprintfFlags u8
 22693  	F__ccgo_pad1 [2]byte
 22694  }
 22695  
 22696  type sqlite3_pcache_page1 = struct {
 22697  	FpBuf   uintptr
 22698  	FpExtra uintptr
 22699  }
 22700  
 22701  type sqlite3_pcache_page = sqlite3_pcache_page1
 22702  
 22703  type sqlite3_pcache_methods21 = struct {
 22704  	FiVersion    int32
 22705  	F__ccgo_pad1 [4]byte
 22706  	FpArg        uintptr
 22707  	FxInit       uintptr
 22708  	FxShutdown   uintptr
 22709  	FxCreate     uintptr
 22710  	FxCachesize  uintptr
 22711  	FxPagecount  uintptr
 22712  	FxFetch      uintptr
 22713  	FxUnpin      uintptr
 22714  	FxRekey      uintptr
 22715  	FxTruncate   uintptr
 22716  	FxDestroy    uintptr
 22717  	FxShrink     uintptr
 22718  }
 22719  
 22720  type sqlite3_pcache_methods2 = sqlite3_pcache_methods21
 22721  
 22722  type sqlite3_pcache_methods1 = struct {
 22723  	FpArg       uintptr
 22724  	FxInit      uintptr
 22725  	FxShutdown  uintptr
 22726  	FxCreate    uintptr
 22727  	FxCachesize uintptr
 22728  	FxPagecount uintptr
 22729  	FxFetch     uintptr
 22730  	FxUnpin     uintptr
 22731  	FxRekey     uintptr
 22732  	FxTruncate  uintptr
 22733  	FxDestroy   uintptr
 22734  }
 22735  
 22736  type sqlite3_pcache_methods = sqlite3_pcache_methods1
 22737  
 22738  type sqlite3_snapshot1 = struct{ Fhidden [48]uint8 }
 22739  
 22740  type sqlite3_snapshot = sqlite3_snapshot1
 22741  
 22742  type sqlite3_rtree_geometry1 = struct {
 22743  	FpContext    uintptr
 22744  	FnParam      int32
 22745  	F__ccgo_pad1 [4]byte
 22746  	FaParam      uintptr
 22747  	FpUser       uintptr
 22748  	FxDelUser    uintptr
 22749  }
 22750  
 22751  type sqlite3_rtree_geometry = sqlite3_rtree_geometry1
 22752  type sqlite3_rtree_query_info1 = struct {
 22753  	FpContext      uintptr
 22754  	FnParam        int32
 22755  	F__ccgo_pad1   [4]byte
 22756  	FaParam        uintptr
 22757  	FpUser         uintptr
 22758  	FxDelUser      uintptr
 22759  	FaCoord        uintptr
 22760  	FanQueue       uintptr
 22761  	FnCoord        int32
 22762  	FiLevel        int32
 22763  	FmxLevel       int32
 22764  	F__ccgo_pad2   [4]byte
 22765  	FiRowid        sqlite3_int64
 22766  	FrParentScore  sqlite3_rtree_dbl
 22767  	FeParentWithin int32
 22768  	FeWithin       int32
 22769  	FrScore        sqlite3_rtree_dbl
 22770  	FapSqlParam    uintptr
 22771  }
 22772  
 22773  type sqlite3_rtree_query_info = sqlite3_rtree_query_info1
 22774  
 22775  type sqlite3_rtree_dbl = float64
 22776  
 22777  type Fts5ExtensionApi1 = struct {
 22778  	FiVersion           int32
 22779  	F__ccgo_pad1        [4]byte
 22780  	FxUserData          uintptr
 22781  	FxColumnCount       uintptr
 22782  	FxRowCount          uintptr
 22783  	FxColumnTotalSize   uintptr
 22784  	FxTokenize          uintptr
 22785  	FxPhraseCount       uintptr
 22786  	FxPhraseSize        uintptr
 22787  	FxInstCount         uintptr
 22788  	FxInst              uintptr
 22789  	FxRowid             uintptr
 22790  	FxColumnText        uintptr
 22791  	FxColumnSize        uintptr
 22792  	FxQueryPhrase       uintptr
 22793  	FxSetAuxdata        uintptr
 22794  	FxGetAuxdata        uintptr
 22795  	FxPhraseFirst       uintptr
 22796  	FxPhraseNext        uintptr
 22797  	FxPhraseFirstColumn uintptr
 22798  	FxPhraseNextColumn  uintptr
 22799  }
 22800  
 22801  type Fts5ExtensionApi = Fts5ExtensionApi1
 22802  type Fts5PhraseIter1 = struct {
 22803  	Fa uintptr
 22804  	Fb uintptr
 22805  }
 22806  
 22807  type Fts5PhraseIter = Fts5PhraseIter1
 22808  
 22809  type fts5_extension_function = uintptr
 22810  type fts5_tokenizer1 = struct {
 22811  	FxCreate   uintptr
 22812  	FxDelete   uintptr
 22813  	FxTokenize uintptr
 22814  }
 22815  
 22816  type fts5_tokenizer = fts5_tokenizer1
 22817  
 22818  type fts5_api1 = struct {
 22819  	FiVersion         int32
 22820  	F__ccgo_pad1      [4]byte
 22821  	FxCreateTokenizer uintptr
 22822  	FxFindTokenizer   uintptr
 22823  	FxCreateFunction  uintptr
 22824  }
 22825  
 22826  type fts5_api = fts5_api1
 22827  
 22828  type sqlite3expert1 = struct {
 22829  	FiSample     int32
 22830  	F__ccgo_pad1 [4]byte
 22831  	Fdb          uintptr
 22832  	Fdbm         uintptr
 22833  	Fdbv         uintptr
 22834  	FpTable      uintptr
 22835  	FpScan       uintptr
 22836  	FpWrite      uintptr
 22837  	FpStatement  uintptr
 22838  	FbRun        int32
 22839  	F__ccgo_pad2 [4]byte
 22840  	FpzErrmsg    uintptr
 22841  	Frc          int32
 22842  	F__ccgo_pad3 [4]byte
 22843  	FhIdx        IdxHash
 22844  	FzCandidates uintptr
 22845  }
 22846  
 22847  type sqlite3expert = sqlite3expert1
 22848  
 22849  type ssize_t = int64
 22850  
 22851  type rsize_t = size_t
 22852  
 22853  type intptr_t = int64
 22854  
 22855  type uintptr_t = uint64
 22856  
 22857  type wint_t = uint16
 22858  type wctype_t = uint16
 22859  
 22860  type errno_t = int32
 22861  
 22862  type time_t = int64
 22863  
 22864  type threadlocaleinfostruct = struct {
 22865  	Frefcount      int32
 22866  	Flc_codepage   uint32
 22867  	Flc_collate_cp uint32
 22868  	Flc_handle     [6]uint32
 22869  	Flc_id         [6]LC_ID
 22870  	Flc_category   [6]struct {
 22871  		Flocale    uintptr
 22872  		Fwlocale   uintptr
 22873  		Frefcount  uintptr
 22874  		Fwrefcount uintptr
 22875  	}
 22876  	Flc_clike            int32
 22877  	Fmb_cur_max          int32
 22878  	Flconv_intl_refcount uintptr
 22879  	Flconv_num_refcount  uintptr
 22880  	Flconv_mon_refcount  uintptr
 22881  	Flconv               uintptr
 22882  	Fctype1_refcount     uintptr
 22883  	Fctype1              uintptr
 22884  	Fpctype              uintptr
 22885  	Fpclmap              uintptr
 22886  	Fpcumap              uintptr
 22887  	Flc_time_curr        uintptr
 22888  }
 22889  
 22890  type pthreadlocinfo = uintptr
 22891  type pthreadmbcinfo = uintptr
 22892  
 22893  type localeinfo_struct = struct {
 22894  	Flocinfo pthreadlocinfo
 22895  	Fmbcinfo pthreadmbcinfo
 22896  }
 22897  
 22898  type _locale_tstruct = localeinfo_struct
 22899  type _locale_t = uintptr
 22900  
 22901  type tagLC_ID = struct {
 22902  	FwLanguage uint16
 22903  	FwCountry  uint16
 22904  	FwCodePage uint16
 22905  }
 22906  
 22907  type LC_ID = tagLC_ID
 22908  type LPLC_ID = uintptr
 22909  
 22910  type threadlocinfo = threadlocaleinfostruct
 22911  
 22912  type _iobuf = struct {
 22913  	F_ptr        uintptr
 22914  	F_cnt        int32
 22915  	F__ccgo_pad1 [4]byte
 22916  	F_base       uintptr
 22917  	F_flag       int32
 22918  	F_file       int32
 22919  	F_charbuf    int32
 22920  	F_bufsiz     int32
 22921  	F_tmpfname   uintptr
 22922  }
 22923  
 22924  type FILE = _iobuf
 22925  
 22926  type _off_t = int32
 22927  type off32_t = int32
 22928  
 22929  type _off64_t = int64
 22930  type off64_t = int64
 22931  
 22932  type off_t = off64_t
 22933  
 22934  type fpos_t = int64
 22935  
 22936  func sscanf(tls *libc.TLS, __source uintptr, __format uintptr, va uintptr) int32 {
 22937  	var __retval int32
 22938  	var __local_argv uintptr
 22939  	__local_argv = va
 22940  	__retval = libc.X__mingw_vsscanf(tls, __source, __format, __local_argv)
 22941  	_ = __local_argv
 22942  	return __retval
 22943  }
 22944  
 22945  func fprintf(tls *libc.TLS, __stream uintptr, __format uintptr, va uintptr) int32 {
 22946  	var __retval int32
 22947  	var __local_argv uintptr
 22948  	__local_argv = va
 22949  	__retval = libc.X__mingw_vfprintf(tls, __stream, __format, __local_argv)
 22950  	_ = __local_argv
 22951  	return __retval
 22952  }
 22953  
 22954  func printf(tls *libc.TLS, __format uintptr, va uintptr) int32 {
 22955  	var __retval int32
 22956  	var __local_argv uintptr
 22957  	__local_argv = va
 22958  	__retval = libc.X__mingw_vfprintf(tls, libc.X__acrt_iob_func(tls, uint32(1)), __format, __local_argv)
 22959  	_ = __local_argv
 22960  	return __retval
 22961  }
 22962  
 22963  func sprintf(tls *libc.TLS, __stream uintptr, __format uintptr, va uintptr) int32 {
 22964  	var __retval int32
 22965  	var __local_argv uintptr
 22966  	__local_argv = va
 22967  	__retval = libc.X__mingw_vsprintf(tls, __stream, __format, __local_argv)
 22968  	_ = __local_argv
 22969  	return __retval
 22970  }
 22971  
 22972  func vsnwprintf(tls *libc.TLS, __stream uintptr, __n size_t, __format uintptr, __local_argv uintptr) int32 {
 22973  	return libc.X__mingw_vsnwprintf(tls, __stream, __n, __format, __local_argv)
 22974  }
 22975  
 22976  func vswprintf(tls *libc.TLS, __stream uintptr, __count size_t, __format uintptr, __local_argv uintptr) int32 {
 22977  	return vsnwprintf(tls, __stream, __count, __format, __local_argv)
 22978  }
 22979  
 22980  type i64 = sqlite3_int64
 22981  type u64 = sqlite3_uint64
 22982  
 22983  type IdxColumn1 = struct {
 22984  	FzName       uintptr
 22985  	FzColl       uintptr
 22986  	FiPk         int32
 22987  	F__ccgo_pad1 [4]byte
 22988  }
 22989  
 22990  type IdxColumn = IdxColumn1
 22991  type IdxConstraint1 = struct {
 22992  	FzColl  uintptr
 22993  	FbRange int32
 22994  	FiCol   int32
 22995  	FbFlag  int32
 22996  	FbDesc  int32
 22997  	FpNext  uintptr
 22998  	FpLink  uintptr
 22999  }
 23000  
 23001  type IdxConstraint = IdxConstraint1
 23002  type IdxScan1 = struct {
 23003  	FpTab        uintptr
 23004  	FiDb         int32
 23005  	F__ccgo_pad1 [4]byte
 23006  	Fcovering    i64
 23007  	FpOrder      uintptr
 23008  	FpEq         uintptr
 23009  	FpRange      uintptr
 23010  	FpNextScan   uintptr
 23011  }
 23012  
 23013  type IdxScan = IdxScan1
 23014  type IdxStatement1 = struct {
 23015  	FiId         int32
 23016  	F__ccgo_pad1 [4]byte
 23017  	FzSql        uintptr
 23018  	FzIdx        uintptr
 23019  	FzEQP        uintptr
 23020  	FpNext       uintptr
 23021  }
 23022  
 23023  type IdxStatement = IdxStatement1
 23024  type IdxTable1 = struct {
 23025  	FnCol        int32
 23026  	F__ccgo_pad1 [4]byte
 23027  	FzName       uintptr
 23028  	FaCol        uintptr
 23029  	FpNext       uintptr
 23030  }
 23031  
 23032  type IdxTable = IdxTable1
 23033  type IdxWrite1 = struct {
 23034  	FpTab        uintptr
 23035  	FeOp         int32
 23036  	F__ccgo_pad1 [4]byte
 23037  	FpNext       uintptr
 23038  }
 23039  
 23040  type IdxWrite = IdxWrite1
 23041  
 23042  type IdxHashEntry1 = struct {
 23043  	FzKey      uintptr
 23044  	FzVal      uintptr
 23045  	FzVal2     uintptr
 23046  	FpHashNext uintptr
 23047  	FpNext     uintptr
 23048  }
 23049  
 23050  type IdxHashEntry = IdxHashEntry1
 23051  type IdxHash1 = struct {
 23052  	FpFirst uintptr
 23053  	FaHash  [1023]uintptr
 23054  }
 23055  
 23056  type IdxHash = IdxHash1
 23057  
 23058  func idxMalloc(tls *libc.TLS, pRc uintptr, nByte int32) uintptr {
 23059  	var pRet uintptr
 23060  
 23061  	pRet = sqlite3.Xsqlite3_malloc(tls, nByte)
 23062  	if pRet != 0 {
 23063  		libc.Xmemset(tls, pRet, 0, uint64(nByte))
 23064  	} else {
 23065  		*(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM
 23066  	}
 23067  	return pRet
 23068  }
 23069  
 23070  func idxHashInit(tls *libc.TLS, pHash uintptr) {
 23071  	libc.Xmemset(tls, pHash, 0, uint64(unsafe.Sizeof(IdxHash{})))
 23072  }
 23073  
 23074  func idxHashClear(tls *libc.TLS, pHash uintptr) {
 23075  	var i int32
 23076  	for i = 0; i < IDX_HASH_SIZE; i++ {
 23077  		var pEntry uintptr
 23078  		var pNext uintptr
 23079  		for pEntry = *(*uintptr)(unsafe.Pointer(pHash + 8 + uintptr(i)*8)); pEntry != 0; pEntry = pNext {
 23080  			pNext = (*IdxHashEntry)(unsafe.Pointer(pEntry)).FpHashNext
 23081  			sqlite3.Xsqlite3_free(tls, (*IdxHashEntry)(unsafe.Pointer(pEntry)).FzVal2)
 23082  			sqlite3.Xsqlite3_free(tls, pEntry)
 23083  		}
 23084  	}
 23085  	libc.Xmemset(tls, pHash, 0, uint64(unsafe.Sizeof(IdxHash{})))
 23086  }
 23087  
 23088  func idxHashString(tls *libc.TLS, z uintptr, n int32) int32 {
 23089  	var ret uint32 = uint32(0)
 23090  	var i int32
 23091  	for i = 0; i < n; i++ {
 23092  		ret = ret + (ret<<3 + uint32(uint8(*(*int8)(unsafe.Pointer(z + uintptr(i))))))
 23093  	}
 23094  	return int32(ret % uint32(IDX_HASH_SIZE))
 23095  }
 23096  
 23097  func idxHashAdd(tls *libc.TLS, pRc uintptr, pHash uintptr, zKey uintptr, zVal uintptr) int32 {
 23098  	var nKey int32 = int32(libc.Xstrlen(tls, zKey))
 23099  	var iHash int32 = idxHashString(tls, zKey, nKey)
 23100  	var nVal int32 = func() int32 {
 23101  		if zVal != 0 {
 23102  			return int32(libc.Xstrlen(tls, zVal))
 23103  		}
 23104  		return 0
 23105  	}()
 23106  	var pEntry uintptr
 23107  
 23108  	for pEntry = *(*uintptr)(unsafe.Pointer(pHash + 8 + uintptr(iHash)*8)); pEntry != 0; pEntry = (*IdxHashEntry)(unsafe.Pointer(pEntry)).FpHashNext {
 23109  		if int32(libc.Xstrlen(tls, (*IdxHashEntry)(unsafe.Pointer(pEntry)).FzKey)) == nKey && 0 == libc.Xmemcmp(tls, (*IdxHashEntry)(unsafe.Pointer(pEntry)).FzKey, zKey, uint64(nKey)) {
 23110  			return 1
 23111  		}
 23112  	}
 23113  	pEntry = idxMalloc(tls, pRc, int32(uint64(unsafe.Sizeof(IdxHashEntry{}))+uint64(nKey)+uint64(1)+uint64(nVal)+uint64(1)))
 23114  	if pEntry != 0 {
 23115  		(*IdxHashEntry)(unsafe.Pointer(pEntry)).FzKey = pEntry + 1*40
 23116  		libc.Xmemcpy(tls, (*IdxHashEntry)(unsafe.Pointer(pEntry)).FzKey, zKey, uint64(nKey))
 23117  		if zVal != 0 {
 23118  			(*IdxHashEntry)(unsafe.Pointer(pEntry)).FzVal = (*IdxHashEntry)(unsafe.Pointer(pEntry)).FzKey + uintptr(nKey+1)
 23119  			libc.Xmemcpy(tls, (*IdxHashEntry)(unsafe.Pointer(pEntry)).FzVal, zVal, uint64(nVal))
 23120  		}
 23121  		(*IdxHashEntry)(unsafe.Pointer(pEntry)).FpHashNext = *(*uintptr)(unsafe.Pointer(pHash + 8 + uintptr(iHash)*8))
 23122  		*(*uintptr)(unsafe.Pointer(pHash + 8 + uintptr(iHash)*8)) = pEntry
 23123  
 23124  		(*IdxHashEntry)(unsafe.Pointer(pEntry)).FpNext = (*IdxHash)(unsafe.Pointer(pHash)).FpFirst
 23125  		(*IdxHash)(unsafe.Pointer(pHash)).FpFirst = pEntry
 23126  	}
 23127  	return 0
 23128  }
 23129  
 23130  func idxHashFind(tls *libc.TLS, pHash uintptr, zKey uintptr, nKey int32) uintptr {
 23131  	var iHash int32
 23132  	var pEntry uintptr
 23133  	if nKey < 0 {
 23134  		nKey = int32(libc.Xstrlen(tls, zKey))
 23135  	}
 23136  	iHash = idxHashString(tls, zKey, nKey)
 23137  
 23138  	for pEntry = *(*uintptr)(unsafe.Pointer(pHash + 8 + uintptr(iHash)*8)); pEntry != 0; pEntry = (*IdxHashEntry)(unsafe.Pointer(pEntry)).FpHashNext {
 23139  		if int32(libc.Xstrlen(tls, (*IdxHashEntry)(unsafe.Pointer(pEntry)).FzKey)) == nKey && 0 == libc.Xmemcmp(tls, (*IdxHashEntry)(unsafe.Pointer(pEntry)).FzKey, zKey, uint64(nKey)) {
 23140  			return pEntry
 23141  		}
 23142  	}
 23143  	return uintptr(0)
 23144  }
 23145  
 23146  func idxHashSearch(tls *libc.TLS, pHash uintptr, zKey uintptr, nKey int32) uintptr {
 23147  	var pEntry uintptr = idxHashFind(tls, pHash, zKey, nKey)
 23148  	if pEntry != 0 {
 23149  		return (*IdxHashEntry)(unsafe.Pointer(pEntry)).FzVal
 23150  	}
 23151  	return uintptr(0)
 23152  }
 23153  
 23154  func idxNewConstraint(tls *libc.TLS, pRc uintptr, zColl uintptr) uintptr {
 23155  	var pNew uintptr
 23156  	var nColl int32 = int32(libc.Xstrlen(tls, zColl))
 23157  
 23158  	pNew = idxMalloc(tls, pRc, int32(uint64(unsafe.Sizeof(IdxConstraint{}))*uint64(nColl)+uint64(1)))
 23159  	if pNew != 0 {
 23160  		(*IdxConstraint)(unsafe.Pointer(pNew)).FzColl = pNew + 1*40
 23161  		libc.Xmemcpy(tls, (*IdxConstraint)(unsafe.Pointer(pNew)).FzColl, zColl, uint64(nColl+1))
 23162  	}
 23163  	return pNew
 23164  }
 23165  
 23166  func idxDatabaseError(tls *libc.TLS, db uintptr, pzErrmsg uintptr) {
 23167  	bp := tls.Alloc(8)
 23168  	defer tls.Free(8)
 23169  
 23170  	*(*uintptr)(unsafe.Pointer(pzErrmsg)) = sqlite3.Xsqlite3_mprintf(tls, ts, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, db)))
 23171  }
 23172  
 23173  func idxPrepareStmt(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg uintptr, zSql uintptr) int32 {
 23174  	var rc int32 = sqlite3.Xsqlite3_prepare_v2(tls, db, zSql, -1, ppStmt, uintptr(0))
 23175  	if rc != SQLITE_OK {
 23176  		*(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0)
 23177  		idxDatabaseError(tls, db, pzErrmsg)
 23178  	}
 23179  	return rc
 23180  }
 23181  
 23182  func idxPrintfPrepareStmt(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg uintptr, zFmt uintptr, va uintptr) int32 {
 23183  	var ap va_list
 23184  	_ = ap
 23185  	var rc int32
 23186  	var zSql uintptr
 23187  	ap = va
 23188  	zSql = sqlite3.Xsqlite3_vmprintf(tls, zFmt, ap)
 23189  	if zSql == uintptr(0) {
 23190  		rc = SQLITE_NOMEM
 23191  	} else {
 23192  		rc = idxPrepareStmt(tls, db, ppStmt, pzErrmsg, zSql)
 23193  		sqlite3.Xsqlite3_free(tls, zSql)
 23194  	}
 23195  	_ = ap
 23196  	return rc
 23197  }
 23198  
 23199  type ExpertVtab1 = struct {
 23200  	Fbase    sqlite3_vtab
 23201  	FpTab    uintptr
 23202  	FpExpert uintptr
 23203  }
 23204  
 23205  type ExpertVtab = ExpertVtab1
 23206  
 23207  type ExpertCsr1 = struct {
 23208  	Fbase  sqlite3_vtab_cursor
 23209  	FpData uintptr
 23210  }
 23211  
 23212  type ExpertCsr = ExpertCsr1
 23213  
 23214  func expertDequote(tls *libc.TLS, zIn uintptr) uintptr {
 23215  	var n int32 = int32(libc.Xstrlen(tls, zIn))
 23216  	var zRet uintptr = sqlite3.Xsqlite3_malloc(tls, n)
 23217  
 23218  	if zRet != 0 {
 23219  		var iOut int32 = 0
 23220  		var iIn int32 = 0
 23221  		for iIn = 1; iIn < n-1; iIn++ {
 23222  			if int32(*(*int8)(unsafe.Pointer(zIn + uintptr(iIn)))) == '\'' {
 23223  				iIn++
 23224  			}
 23225  			*(*int8)(unsafe.Pointer(zRet + uintptr(libc.PostIncInt32(&iOut, 1)))) = *(*int8)(unsafe.Pointer(zIn + uintptr(iIn)))
 23226  		}
 23227  		*(*int8)(unsafe.Pointer(zRet + uintptr(iOut))) = int8(0)
 23228  	}
 23229  
 23230  	return zRet
 23231  }
 23232  
 23233  func expertConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 {
 23234  	bp := tls.Alloc(4)
 23235  	defer tls.Free(4)
 23236  
 23237  	var pExpert uintptr = pAux
 23238  	var p uintptr = uintptr(0)
 23239  
 23240  	if argc != 4 {
 23241  		*(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+3, 0)
 23242  		*(*int32)(unsafe.Pointer(bp)) = SQLITE_ERROR
 23243  	} else {
 23244  		var zCreateTable uintptr = expertDequote(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)))
 23245  		if zCreateTable != 0 {
 23246  			*(*int32)(unsafe.Pointer(bp)) = sqlite3.Xsqlite3_declare_vtab(tls, db, zCreateTable)
 23247  			if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK {
 23248  				p = idxMalloc(tls, bp, int32(unsafe.Sizeof(ExpertVtab{})))
 23249  			}
 23250  			if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK {
 23251  				(*ExpertVtab)(unsafe.Pointer(p)).FpExpert = pExpert
 23252  				(*ExpertVtab)(unsafe.Pointer(p)).FpTab = (*sqlite3expert)(unsafe.Pointer(pExpert)).FpTable
 23253  
 23254  			}
 23255  			sqlite3.Xsqlite3_free(tls, zCreateTable)
 23256  		} else {
 23257  			*(*int32)(unsafe.Pointer(bp)) = SQLITE_NOMEM
 23258  		}
 23259  	}
 23260  
 23261  	*(*uintptr)(unsafe.Pointer(ppVtab)) = p
 23262  	return *(*int32)(unsafe.Pointer(bp))
 23263  }
 23264  
 23265  func expertDisconnect(tls *libc.TLS, pVtab uintptr) int32 {
 23266  	var p uintptr = pVtab
 23267  	sqlite3.Xsqlite3_free(tls, p)
 23268  	return SQLITE_OK
 23269  }
 23270  
 23271  func expertBestIndex(tls *libc.TLS, pVtab uintptr, pIdxInfo uintptr) int32 {
 23272  	bp := tls.Alloc(4)
 23273  	defer tls.Free(4)
 23274  
 23275  	var p uintptr = pVtab
 23276  	*(*int32)(unsafe.Pointer(bp)) = SQLITE_OK
 23277  	var n int32 = 0
 23278  	var pScan uintptr
 23279  	var opmask int32 = SQLITE_INDEX_CONSTRAINT_EQ | SQLITE_INDEX_CONSTRAINT_GT | SQLITE_INDEX_CONSTRAINT_LT | SQLITE_INDEX_CONSTRAINT_GE | SQLITE_INDEX_CONSTRAINT_LE
 23280  
 23281  	pScan = idxMalloc(tls, bp, int32(unsafe.Sizeof(IdxScan{})))
 23282  	if pScan != 0 {
 23283  		var i int32
 23284  
 23285  		(*IdxScan)(unsafe.Pointer(pScan)).FpTab = (*ExpertVtab)(unsafe.Pointer(p)).FpTab
 23286  		(*IdxScan)(unsafe.Pointer(pScan)).FpNextScan = (*sqlite3expert)(unsafe.Pointer((*ExpertVtab)(unsafe.Pointer(p)).FpExpert)).FpScan
 23287  		(*sqlite3expert)(unsafe.Pointer((*ExpertVtab)(unsafe.Pointer(p)).FpExpert)).FpScan = pScan
 23288  
 23289  		for i = 0; i < (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint; i++ {
 23290  			var pCons uintptr = (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraint + uintptr(i)*12
 23291  			if (*sqlite3_index_constraint)(unsafe.Pointer(pCons)).Fusable != 0 &&
 23292  				(*sqlite3_index_constraint)(unsafe.Pointer(pCons)).FiColumn >= 0 &&
 23293  				(*IdxColumn)(unsafe.Pointer((*IdxTable)(unsafe.Pointer((*ExpertVtab)(unsafe.Pointer(p)).FpTab)).FaCol+uintptr((*sqlite3_index_constraint)(unsafe.Pointer(pCons)).FiColumn)*24)).FiPk == 0 &&
 23294  				int32((*sqlite3_index_constraint)(unsafe.Pointer(pCons)).Fop)&opmask != 0 {
 23295  				var pNew uintptr
 23296  				var zColl uintptr = sqlite3.Xsqlite3_vtab_collation(tls, pIdxInfo, i)
 23297  				pNew = idxNewConstraint(tls, bp, zColl)
 23298  				if pNew != 0 {
 23299  					(*IdxConstraint)(unsafe.Pointer(pNew)).FiCol = (*sqlite3_index_constraint)(unsafe.Pointer(pCons)).FiColumn
 23300  					if int32((*sqlite3_index_constraint)(unsafe.Pointer(pCons)).Fop) == SQLITE_INDEX_CONSTRAINT_EQ {
 23301  						(*IdxConstraint)(unsafe.Pointer(pNew)).FpNext = (*IdxScan)(unsafe.Pointer(pScan)).FpEq
 23302  						(*IdxScan)(unsafe.Pointer(pScan)).FpEq = pNew
 23303  					} else {
 23304  						(*IdxConstraint)(unsafe.Pointer(pNew)).FbRange = 1
 23305  						(*IdxConstraint)(unsafe.Pointer(pNew)).FpNext = (*IdxScan)(unsafe.Pointer(pScan)).FpRange
 23306  						(*IdxScan)(unsafe.Pointer(pScan)).FpRange = pNew
 23307  					}
 23308  				}
 23309  				n++
 23310  				(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(i)*8)).FargvIndex = n
 23311  			}
 23312  		}
 23313  
 23314  		for i = (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnOrderBy - 1; i >= 0; i-- {
 23315  			var iCol int32 = (*sqlite3_index_orderby)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaOrderBy + uintptr(i)*8)).FiColumn
 23316  			if iCol >= 0 {
 23317  				var pNew uintptr = idxNewConstraint(tls, bp, (*IdxColumn)(unsafe.Pointer((*IdxTable)(unsafe.Pointer((*ExpertVtab)(unsafe.Pointer(p)).FpTab)).FaCol+uintptr(iCol)*24)).FzColl)
 23318  				if pNew != 0 {
 23319  					(*IdxConstraint)(unsafe.Pointer(pNew)).FiCol = iCol
 23320  					(*IdxConstraint)(unsafe.Pointer(pNew)).FbDesc = int32((*sqlite3_index_orderby)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaOrderBy + uintptr(i)*8)).Fdesc)
 23321  					(*IdxConstraint)(unsafe.Pointer(pNew)).FpNext = (*IdxScan)(unsafe.Pointer(pScan)).FpOrder
 23322  					(*IdxConstraint)(unsafe.Pointer(pNew)).FpLink = (*IdxScan)(unsafe.Pointer(pScan)).FpOrder
 23323  					(*IdxScan)(unsafe.Pointer(pScan)).FpOrder = pNew
 23324  					n++
 23325  				}
 23326  			}
 23327  		}
 23328  	}
 23329  
 23330  	(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 1000000.0 / float64(n+1)
 23331  	return *(*int32)(unsafe.Pointer(bp))
 23332  }
 23333  
 23334  func expertUpdate(tls *libc.TLS, pVtab uintptr, nData int32, azData uintptr, pRowid uintptr) int32 {
 23335  	_ = pVtab
 23336  	_ = nData
 23337  	_ = azData
 23338  	_ = pRowid
 23339  	return SQLITE_OK
 23340  }
 23341  
 23342  func expertOpen(tls *libc.TLS, pVTab uintptr, ppCursor uintptr) int32 {
 23343  	bp := tls.Alloc(4)
 23344  	defer tls.Free(4)
 23345  
 23346  	*(*int32)(unsafe.Pointer(bp)) = SQLITE_OK
 23347  	var pCsr uintptr
 23348  	_ = pVTab
 23349  	pCsr = idxMalloc(tls, bp, int32(unsafe.Sizeof(ExpertCsr{})))
 23350  	*(*uintptr)(unsafe.Pointer(ppCursor)) = pCsr
 23351  	return *(*int32)(unsafe.Pointer(bp))
 23352  }
 23353  
 23354  func expertClose(tls *libc.TLS, cur uintptr) int32 {
 23355  	var pCsr uintptr = cur
 23356  	sqlite3.Xsqlite3_finalize(tls, (*ExpertCsr)(unsafe.Pointer(pCsr)).FpData)
 23357  	sqlite3.Xsqlite3_free(tls, pCsr)
 23358  	return SQLITE_OK
 23359  }
 23360  
 23361  func expertEof(tls *libc.TLS, cur uintptr) int32 {
 23362  	var pCsr uintptr = cur
 23363  	return libc.Bool32((*ExpertCsr)(unsafe.Pointer(pCsr)).FpData == uintptr(0))
 23364  }
 23365  
 23366  func expertNext(tls *libc.TLS, cur uintptr) int32 {
 23367  	var pCsr uintptr = cur
 23368  	var rc int32 = SQLITE_OK
 23369  
 23370  	rc = sqlite3.Xsqlite3_step(tls, (*ExpertCsr)(unsafe.Pointer(pCsr)).FpData)
 23371  	if rc != SQLITE_ROW {
 23372  		rc = sqlite3.Xsqlite3_finalize(tls, (*ExpertCsr)(unsafe.Pointer(pCsr)).FpData)
 23373  		(*ExpertCsr)(unsafe.Pointer(pCsr)).FpData = uintptr(0)
 23374  	} else {
 23375  		rc = SQLITE_OK
 23376  	}
 23377  
 23378  	return rc
 23379  }
 23380  
 23381  func expertRowid(tls *libc.TLS, cur uintptr, pRowid uintptr) int32 {
 23382  	_ = cur
 23383  	*(*sqlite_int64)(unsafe.Pointer(pRowid)) = int64(0)
 23384  	return SQLITE_OK
 23385  }
 23386  
 23387  func expertColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 {
 23388  	var pCsr uintptr = cur
 23389  	var pVal uintptr
 23390  	pVal = sqlite3.Xsqlite3_column_value(tls, (*ExpertCsr)(unsafe.Pointer(pCsr)).FpData, i)
 23391  	if pVal != 0 {
 23392  		sqlite3.Xsqlite3_result_value(tls, ctx, pVal)
 23393  	}
 23394  	return SQLITE_OK
 23395  }
 23396  
 23397  func expertFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 {
 23398  	bp := tls.Alloc(8)
 23399  	defer tls.Free(8)
 23400  
 23401  	var pCsr uintptr = cur
 23402  	var pVtab uintptr = (*sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab
 23403  	var pExpert uintptr = (*ExpertVtab)(unsafe.Pointer(pVtab)).FpExpert
 23404  	var rc int32
 23405  
 23406  	_ = idxNum
 23407  	_ = idxStr
 23408  	_ = argc
 23409  	_ = argv
 23410  	rc = sqlite3.Xsqlite3_finalize(tls, (*ExpertCsr)(unsafe.Pointer(pCsr)).FpData)
 23411  	(*ExpertCsr)(unsafe.Pointer(pCsr)).FpData = uintptr(0)
 23412  	if rc == SQLITE_OK {
 23413  		rc = idxPrintfPrepareStmt(tls, (*sqlite3expert)(unsafe.Pointer(pExpert)).Fdb, pCsr+8, pVtab+16,
 23414  			ts+19, libc.VaList(bp, (*IdxTable)(unsafe.Pointer((*ExpertVtab)(unsafe.Pointer(pVtab)).FpTab)).FzName))
 23415  	}
 23416  
 23417  	if rc == SQLITE_OK {
 23418  		rc = expertNext(tls, cur)
 23419  	}
 23420  	return rc
 23421  }
 23422  
 23423  func idxRegisterVtab(tls *libc.TLS, p uintptr) int32 {
 23424  	return sqlite3.Xsqlite3_create_module(tls, (*sqlite3expert)(unsafe.Pointer(p)).Fdbv, ts+56, uintptr(unsafe.Pointer(&expertModule)), p)
 23425  }
 23426  
 23427  var expertModule = sqlite3_module{
 23428  	FiVersion:    2,
 23429  	FxCreate:     0,
 23430  	FxConnect:    0,
 23431  	FxBestIndex:  0,
 23432  	FxDisconnect: 0,
 23433  	FxDestroy:    0,
 23434  	FxOpen:       0,
 23435  	FxClose:      0,
 23436  	FxFilter:     0,
 23437  	FxNext:       0,
 23438  	FxEof:        0,
 23439  	FxColumn:     0,
 23440  	FxRowid:      0,
 23441  	FxUpdate:     0,
 23442  }
 23443  
 23444  func idxFinalize(tls *libc.TLS, pRc uintptr, pStmt uintptr) {
 23445  	var rc int32 = sqlite3.Xsqlite3_finalize(tls, pStmt)
 23446  	if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK {
 23447  		*(*int32)(unsafe.Pointer(pRc)) = rc
 23448  	}
 23449  }
 23450  
 23451  func idxGetTableInfo(tls *libc.TLS, db uintptr, zTab uintptr, ppOut uintptr, pzErrmsg uintptr) int32 {
 23452  	bp := tls.Alloc(40)
 23453  	defer tls.Free(40)
 23454  
 23455  	*(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0)
 23456  	var nCol int32 = 0
 23457  	var nTab int32
 23458  	var nByte int32
 23459  	var pNew uintptr = uintptr(0)
 23460  
 23461  	var rc2 int32
 23462  	var pCsr uintptr = uintptr(0)
 23463  	var nPk int32 = 0
 23464  
 23465  	*(*uintptr)(unsafe.Pointer(ppOut)) = uintptr(0)
 23466  	if zTab == uintptr(0) {
 23467  		return SQLITE_ERROR
 23468  	}
 23469  	nTab = int32(libc.Xstrlen(tls, zTab))
 23470  	nByte = int32(uint64(unsafe.Sizeof(IdxTable{})) + uint64(nTab) + uint64(1))
 23471  	*(*int32)(unsafe.Pointer(bp + 24)) = idxPrintfPrepareStmt(tls, db, bp+8, pzErrmsg, ts+63, libc.VaList(bp, zTab))
 23472  	for *(*int32)(unsafe.Pointer(bp + 24)) == SQLITE_OK && SQLITE_ROW == sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) {
 23473  		var zCol uintptr = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), 1)
 23474  		*(*uintptr)(unsafe.Pointer(bp + 16)) = uintptr(0)
 23475  		if zCol == uintptr(0) {
 23476  			*(*int32)(unsafe.Pointer(bp + 24)) = SQLITE_ERROR
 23477  			break
 23478  		}
 23479  		nByte = nByte + (1 + int32(libc.Xstrlen(tls, zCol)))
 23480  		*(*int32)(unsafe.Pointer(bp + 24)) = sqlite3.Xsqlite3_table_column_metadata(tls,
 23481  			db, ts+85, zTab, zCol, uintptr(0), bp+16, uintptr(0), uintptr(0), uintptr(0))
 23482  		if *(*uintptr)(unsafe.Pointer(bp + 16)) == uintptr(0) {
 23483  			*(*uintptr)(unsafe.Pointer(bp + 16)) = ts + 90
 23484  		}
 23485  		nByte = nByte + (1 + int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 16)))))
 23486  		nCol++
 23487  		nPk = nPk + libc.Bool32(sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), 5) > 0)
 23488  	}
 23489  	rc2 = sqlite3.Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
 23490  	if *(*int32)(unsafe.Pointer(bp + 24)) == SQLITE_OK {
 23491  		*(*int32)(unsafe.Pointer(bp + 24)) = rc2
 23492  	}
 23493  
 23494  	nByte = int32(uint64(nByte) + uint64(unsafe.Sizeof(IdxColumn{}))*uint64(nCol))
 23495  	if *(*int32)(unsafe.Pointer(bp + 24)) == SQLITE_OK {
 23496  		pNew = idxMalloc(tls, bp+24, nByte)
 23497  	}
 23498  	if *(*int32)(unsafe.Pointer(bp + 24)) == SQLITE_OK {
 23499  		(*IdxTable)(unsafe.Pointer(pNew)).FaCol = pNew + 1*32
 23500  		(*IdxTable)(unsafe.Pointer(pNew)).FnCol = nCol
 23501  		pCsr = (*IdxTable)(unsafe.Pointer(pNew)).FaCol + uintptr(nCol)*24
 23502  	}
 23503  
 23504  	nCol = 0
 23505  	for *(*int32)(unsafe.Pointer(bp + 24)) == SQLITE_OK && SQLITE_ROW == sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) {
 23506  		var zCol uintptr = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), 1)
 23507  		*(*uintptr)(unsafe.Pointer(bp + 32)) = uintptr(0)
 23508  		var nCopy int32
 23509  		if zCol == uintptr(0) {
 23510  			continue
 23511  		}
 23512  		nCopy = int32(libc.Xstrlen(tls, zCol)) + 1
 23513  		(*IdxColumn)(unsafe.Pointer((*IdxTable)(unsafe.Pointer(pNew)).FaCol + uintptr(nCol)*24)).FzName = pCsr
 23514  		(*IdxColumn)(unsafe.Pointer((*IdxTable)(unsafe.Pointer(pNew)).FaCol + uintptr(nCol)*24)).FiPk = libc.Bool32(sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), 5) == 1 && nPk == 1)
 23515  		libc.Xmemcpy(tls, pCsr, zCol, uint64(nCopy))
 23516  		pCsr += uintptr(nCopy)
 23517  
 23518  		*(*int32)(unsafe.Pointer(bp + 24)) = sqlite3.Xsqlite3_table_column_metadata(tls,
 23519  			db, ts+85, zTab, zCol, uintptr(0), bp+32, uintptr(0), uintptr(0), uintptr(0))
 23520  		if *(*int32)(unsafe.Pointer(bp + 24)) == SQLITE_OK {
 23521  			if *(*uintptr)(unsafe.Pointer(bp + 32)) == uintptr(0) {
 23522  				*(*uintptr)(unsafe.Pointer(bp + 32)) = ts + 90
 23523  			}
 23524  			nCopy = int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))) + 1
 23525  			(*IdxColumn)(unsafe.Pointer((*IdxTable)(unsafe.Pointer(pNew)).FaCol + uintptr(nCol)*24)).FzColl = pCsr
 23526  			libc.Xmemcpy(tls, pCsr, *(*uintptr)(unsafe.Pointer(bp + 32)), uint64(nCopy))
 23527  			pCsr += uintptr(nCopy)
 23528  		}
 23529  
 23530  		nCol++
 23531  	}
 23532  	idxFinalize(tls, bp+24, *(*uintptr)(unsafe.Pointer(bp + 8)))
 23533  
 23534  	if *(*int32)(unsafe.Pointer(bp + 24)) != SQLITE_OK {
 23535  		sqlite3.Xsqlite3_free(tls, pNew)
 23536  		pNew = uintptr(0)
 23537  	} else if pNew != uintptr(0) {
 23538  		(*IdxTable)(unsafe.Pointer(pNew)).FzName = pCsr
 23539  		if (*IdxTable)(unsafe.Pointer(pNew)).FzName != uintptr(0) {
 23540  			libc.Xmemcpy(tls, (*IdxTable)(unsafe.Pointer(pNew)).FzName, zTab, uint64(nTab+1))
 23541  		}
 23542  	}
 23543  
 23544  	*(*uintptr)(unsafe.Pointer(ppOut)) = pNew
 23545  	return *(*int32)(unsafe.Pointer(bp + 24))
 23546  }
 23547  
 23548  func idxAppendText(tls *libc.TLS, pRc uintptr, zIn uintptr, zFmt uintptr, va uintptr) uintptr {
 23549  	var ap va_list
 23550  	_ = ap
 23551  	var zAppend uintptr = uintptr(0)
 23552  	var zRet uintptr = uintptr(0)
 23553  	var nIn int32
 23554  	if zIn != 0 {
 23555  		nIn = int32(libc.Xstrlen(tls, zIn))
 23556  	} else {
 23557  		nIn = 0
 23558  	}
 23559  	var nAppend int32 = 0
 23560  	ap = va
 23561  	if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK {
 23562  		zAppend = sqlite3.Xsqlite3_vmprintf(tls, zFmt, ap)
 23563  		if zAppend != 0 {
 23564  			nAppend = int32(libc.Xstrlen(tls, zAppend))
 23565  			zRet = sqlite3.Xsqlite3_malloc(tls, nIn+nAppend+1)
 23566  		}
 23567  		if zAppend != 0 && zRet != 0 {
 23568  			if nIn != 0 {
 23569  				libc.Xmemcpy(tls, zRet, zIn, uint64(nIn))
 23570  			}
 23571  			libc.Xmemcpy(tls, zRet+uintptr(nIn), zAppend, uint64(nAppend+1))
 23572  		} else {
 23573  			sqlite3.Xsqlite3_free(tls, zRet)
 23574  			zRet = uintptr(0)
 23575  			*(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM
 23576  		}
 23577  		sqlite3.Xsqlite3_free(tls, zAppend)
 23578  		sqlite3.Xsqlite3_free(tls, zIn)
 23579  	}
 23580  	_ = ap
 23581  	return zRet
 23582  }
 23583  
 23584  func idxIdentifierRequiresQuotes(tls *libc.TLS, zId uintptr) int32 {
 23585  	var i int32
 23586  	for i = 0; *(*int8)(unsafe.Pointer(zId + uintptr(i))) != 0; i++ {
 23587  		if !(int32(*(*int8)(unsafe.Pointer(zId + uintptr(i)))) == '_') &&
 23588  			!(int32(*(*int8)(unsafe.Pointer(zId + uintptr(i)))) >= '0' && int32(*(*int8)(unsafe.Pointer(zId + uintptr(i)))) <= '9') &&
 23589  			!(int32(*(*int8)(unsafe.Pointer(zId + uintptr(i)))) >= 'a' && int32(*(*int8)(unsafe.Pointer(zId + uintptr(i)))) <= 'z') &&
 23590  			!(int32(*(*int8)(unsafe.Pointer(zId + uintptr(i)))) >= 'A' && int32(*(*int8)(unsafe.Pointer(zId + uintptr(i)))) <= 'Z') {
 23591  			return 1
 23592  		}
 23593  	}
 23594  	return 0
 23595  }
 23596  
 23597  func idxAppendColDefn(tls *libc.TLS, pRc uintptr, zIn uintptr, pTab uintptr, pCons uintptr) uintptr {
 23598  	bp := tls.Alloc(32)
 23599  	defer tls.Free(32)
 23600  
 23601  	var zRet uintptr = zIn
 23602  	var p uintptr = (*IdxTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*IdxConstraint)(unsafe.Pointer(pCons)).FiCol)*24
 23603  	if zRet != 0 {
 23604  		zRet = idxAppendText(tls, pRc, zRet, ts+97, 0)
 23605  	}
 23606  
 23607  	if idxIdentifierRequiresQuotes(tls, (*IdxColumn)(unsafe.Pointer(p)).FzName) != 0 {
 23608  		zRet = idxAppendText(tls, pRc, zRet, ts+100, libc.VaList(bp, (*IdxColumn)(unsafe.Pointer(p)).FzName))
 23609  	} else {
 23610  		zRet = idxAppendText(tls, pRc, zRet, ts, libc.VaList(bp+8, (*IdxColumn)(unsafe.Pointer(p)).FzName))
 23611  	}
 23612  
 23613  	if sqlite3.Xsqlite3_stricmp(tls, (*IdxColumn)(unsafe.Pointer(p)).FzColl, (*IdxConstraint)(unsafe.Pointer(pCons)).FzColl) != 0 {
 23614  		if idxIdentifierRequiresQuotes(tls, (*IdxConstraint)(unsafe.Pointer(pCons)).FzColl) != 0 {
 23615  			zRet = idxAppendText(tls, pRc, zRet, ts+103, libc.VaList(bp+16, (*IdxConstraint)(unsafe.Pointer(pCons)).FzColl))
 23616  		} else {
 23617  			zRet = idxAppendText(tls, pRc, zRet, ts+115, libc.VaList(bp+24, (*IdxConstraint)(unsafe.Pointer(pCons)).FzColl))
 23618  		}
 23619  	}
 23620  
 23621  	if (*IdxConstraint)(unsafe.Pointer(pCons)).FbDesc != 0 {
 23622  		zRet = idxAppendText(tls, pRc, zRet, ts+127, 0)
 23623  	}
 23624  	return zRet
 23625  }
 23626  
 23627  func idxFindCompatible(tls *libc.TLS, pRc uintptr, dbm uintptr, pScan uintptr, pEq uintptr, pTail uintptr) int32 {
 23628  	bp := tls.Alloc(36)
 23629  	defer tls.Free(36)
 23630  
 23631  	var zTbl uintptr = (*IdxTable)(unsafe.Pointer((*IdxScan)(unsafe.Pointer(pScan)).FpTab)).FzName
 23632  	*(*uintptr)(unsafe.Pointer(bp + 16)) = uintptr(0)
 23633  	var pIter uintptr
 23634  	var nEq int32 = 0
 23635  
 23636  	for pIter = pEq; pIter != 0; pIter = (*IdxConstraint)(unsafe.Pointer(pIter)).FpLink {
 23637  		nEq++
 23638  	}
 23639  
 23640  	*(*int32)(unsafe.Pointer(bp + 32)) = idxPrintfPrepareStmt(tls, dbm, bp+16, uintptr(0), ts+133, libc.VaList(bp, zTbl))
 23641  	for *(*int32)(unsafe.Pointer(bp + 32)) == SQLITE_OK && sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16))) == SQLITE_ROW {
 23642  		var bMatch int32 = 1
 23643  		var pT uintptr = pTail
 23644  		*(*uintptr)(unsafe.Pointer(bp + 24)) = uintptr(0)
 23645  		var zIdx uintptr = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 16)), 1)
 23646  		if zIdx == uintptr(0) {
 23647  			continue
 23648  		}
 23649  
 23650  		for pIter = pEq; pIter != 0; pIter = (*IdxConstraint)(unsafe.Pointer(pIter)).FpLink {
 23651  			(*IdxConstraint)(unsafe.Pointer(pIter)).FbFlag = 0
 23652  		}
 23653  
 23654  		*(*int32)(unsafe.Pointer(bp + 32)) = idxPrintfPrepareStmt(tls, dbm, bp+24, uintptr(0), ts+154, libc.VaList(bp+8, zIdx))
 23655  		for *(*int32)(unsafe.Pointer(bp + 32)) == SQLITE_OK && sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24))) == SQLITE_ROW {
 23656  			var iIdx int32 = sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), 0)
 23657  			var iCol int32 = sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), 1)
 23658  			var zColl uintptr = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), 4)
 23659  
 23660  			if iIdx < nEq {
 23661  				for pIter = pEq; pIter != 0; pIter = (*IdxConstraint)(unsafe.Pointer(pIter)).FpLink {
 23662  					if (*IdxConstraint)(unsafe.Pointer(pIter)).FbFlag != 0 {
 23663  						continue
 23664  					}
 23665  					if (*IdxConstraint)(unsafe.Pointer(pIter)).FiCol != iCol {
 23666  						continue
 23667  					}
 23668  					if sqlite3.Xsqlite3_stricmp(tls, (*IdxConstraint)(unsafe.Pointer(pIter)).FzColl, zColl) != 0 {
 23669  						continue
 23670  					}
 23671  					(*IdxConstraint)(unsafe.Pointer(pIter)).FbFlag = 1
 23672  					break
 23673  				}
 23674  				if pIter == uintptr(0) {
 23675  					bMatch = 0
 23676  					break
 23677  				}
 23678  			} else {
 23679  				if pT != 0 {
 23680  					if (*IdxConstraint)(unsafe.Pointer(pT)).FiCol != iCol || sqlite3.Xsqlite3_stricmp(tls, (*IdxConstraint)(unsafe.Pointer(pT)).FzColl, zColl) != 0 {
 23681  						bMatch = 0
 23682  						break
 23683  					}
 23684  					pT = (*IdxConstraint)(unsafe.Pointer(pT)).FpLink
 23685  				}
 23686  			}
 23687  		}
 23688  		idxFinalize(tls, bp+32, *(*uintptr)(unsafe.Pointer(bp + 24)))
 23689  
 23690  		if *(*int32)(unsafe.Pointer(bp + 32)) == SQLITE_OK && bMatch != 0 {
 23691  			sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 16)))
 23692  			return 1
 23693  		}
 23694  	}
 23695  	idxFinalize(tls, bp+32, *(*uintptr)(unsafe.Pointer(bp + 16)))
 23696  
 23697  	*(*int32)(unsafe.Pointer(pRc)) = *(*int32)(unsafe.Pointer(bp + 32))
 23698  	return 0
 23699  }
 23700  
 23701  func countNonzeros(tls *libc.TLS, pCount uintptr, nc int32, azResults uintptr, azColumns uintptr) int32 {
 23702  	_ = azColumns
 23703  	if nc > 0 && (int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(azResults))))) != '0' || int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(azResults)) + 1))) != 0) {
 23704  		*(*int32)(unsafe.Pointer(pCount)) += 1
 23705  	}
 23706  	return 0
 23707  }
 23708  
 23709  func idxCreateFromCons(tls *libc.TLS, p uintptr, pScan uintptr, pEq uintptr, pTail uintptr) int32 {
 23710  	bp := tls.Alloc(56)
 23711  	defer tls.Free(56)
 23712  
 23713  	var dbm uintptr = (*sqlite3expert)(unsafe.Pointer(p)).Fdbm
 23714  	*(*int32)(unsafe.Pointer(bp + 48)) = SQLITE_OK
 23715  	if (pEq != 0 || pTail != 0) && 0 == idxFindCompatible(tls, bp+48, dbm, pScan, pEq, pTail) {
 23716  		var pTab uintptr = (*IdxScan)(unsafe.Pointer(pScan)).FpTab
 23717  		var zCols uintptr = uintptr(0)
 23718  		var zIdx uintptr = uintptr(0)
 23719  		var pCons uintptr
 23720  		var h uint32 = uint32(0)
 23721  		var zFmt uintptr
 23722  
 23723  		for pCons = pEq; pCons != 0; pCons = (*IdxConstraint)(unsafe.Pointer(pCons)).FpLink {
 23724  			zCols = idxAppendColDefn(tls, bp+48, zCols, pTab, pCons)
 23725  		}
 23726  		for pCons = pTail; pCons != 0; pCons = (*IdxConstraint)(unsafe.Pointer(pCons)).FpLink {
 23727  			zCols = idxAppendColDefn(tls, bp+48, zCols, pTab, pCons)
 23728  		}
 23729  
 23730  		if *(*int32)(unsafe.Pointer(bp + 48)) == SQLITE_OK {
 23731  			var zTable uintptr = (*IdxTable)(unsafe.Pointer((*IdxScan)(unsafe.Pointer(pScan)).FpTab)).FzName
 23732  			var quoteTable int32 = idxIdentifierRequiresQuotes(tls, zTable)
 23733  			var zName uintptr = uintptr(0)
 23734  			var collisions int32 = 0
 23735  			for __ccgo := true; __ccgo; __ccgo = collisions < 50 && zName != uintptr(0) {
 23736  				var zFind uintptr
 23737  				for *(*int32)(unsafe.Pointer(bp + 52)) = 0; *(*int8)(unsafe.Pointer(zCols + uintptr(*(*int32)(unsafe.Pointer(bp + 52))))) != 0; *(*int32)(unsafe.Pointer(bp + 52))++ {
 23738  					h = h + (h<<3 + uint32(*(*int8)(unsafe.Pointer(zCols + uintptr(*(*int32)(unsafe.Pointer(bp + 52)))))))
 23739  				}
 23740  				sqlite3.Xsqlite3_free(tls, zName)
 23741  				zName = sqlite3.Xsqlite3_mprintf(tls, ts+176, libc.VaList(bp, zTable, h))
 23742  				if zName == uintptr(0) {
 23743  					break
 23744  				}
 23745  
 23746  				zFmt = ts + 188
 23747  				zFind = sqlite3.Xsqlite3_mprintf(tls, zFmt, libc.VaList(bp+16, zName))
 23748  				*(*int32)(unsafe.Pointer(bp + 52)) = 0
 23749  				*(*int32)(unsafe.Pointer(bp + 48)) = sqlite3.Xsqlite3_exec(tls, dbm, zFind, *(*uintptr)(unsafe.Pointer(&struct {
 23750  					f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32
 23751  				}{countNonzeros})), bp+52, uintptr(0))
 23752  
 23753  				sqlite3.Xsqlite3_free(tls, zFind)
 23754  				if *(*int32)(unsafe.Pointer(bp + 52)) == 0 {
 23755  					collisions = 0
 23756  					break
 23757  				}
 23758  				collisions++
 23759  			}
 23760  			if collisions != 0 {
 23761  				*(*int32)(unsafe.Pointer(bp + 48)) = SQLITE_BUSY | int32(3)<<8
 23762  			} else if zName == uintptr(0) {
 23763  				*(*int32)(unsafe.Pointer(bp + 48)) = SQLITE_NOMEM
 23764  			} else {
 23765  				if quoteTable != 0 {
 23766  					zFmt = ts + 274
 23767  				} else {
 23768  					zFmt = ts + 304
 23769  				}
 23770  				zIdx = sqlite3.Xsqlite3_mprintf(tls, zFmt, libc.VaList(bp+24, zName, zTable, zCols))
 23771  				if !(zIdx != 0) {
 23772  					*(*int32)(unsafe.Pointer(bp + 48)) = SQLITE_NOMEM
 23773  				} else {
 23774  					*(*int32)(unsafe.Pointer(bp + 48)) = sqlite3.Xsqlite3_exec(tls, dbm, zIdx, uintptr(0), uintptr(0), (*sqlite3expert)(unsafe.Pointer(p)).FpzErrmsg)
 23775  					if *(*int32)(unsafe.Pointer(bp + 48)) != SQLITE_OK {
 23776  						*(*int32)(unsafe.Pointer(bp + 48)) = SQLITE_BUSY | int32(3)<<8
 23777  					} else {
 23778  						idxHashAdd(tls, bp+48, p+88, zName, zIdx)
 23779  					}
 23780  				}
 23781  				sqlite3.Xsqlite3_free(tls, zName)
 23782  				sqlite3.Xsqlite3_free(tls, zIdx)
 23783  			}
 23784  		}
 23785  
 23786  		sqlite3.Xsqlite3_free(tls, zCols)
 23787  	}
 23788  	return *(*int32)(unsafe.Pointer(bp + 48))
 23789  }
 23790  
 23791  func idxFindConstraint(tls *libc.TLS, pList uintptr, p uintptr) int32 {
 23792  	var pCmp uintptr
 23793  	for pCmp = pList; pCmp != 0; pCmp = (*IdxConstraint)(unsafe.Pointer(pCmp)).FpLink {
 23794  		if (*IdxConstraint)(unsafe.Pointer(p)).FiCol == (*IdxConstraint)(unsafe.Pointer(pCmp)).FiCol {
 23795  			return 1
 23796  		}
 23797  	}
 23798  	return 0
 23799  }
 23800  
 23801  func idxCreateFromWhere(tls *libc.TLS, p uintptr, pScan uintptr, pTail uintptr) int32 {
 23802  	var p1 uintptr = uintptr(0)
 23803  	var pCon uintptr
 23804  	var rc int32
 23805  
 23806  	for pCon = (*IdxScan)(unsafe.Pointer(pScan)).FpEq; pCon != 0; pCon = (*IdxConstraint)(unsafe.Pointer(pCon)).FpNext {
 23807  		if !(idxFindConstraint(tls, p1, pCon) != 0) && !(idxFindConstraint(tls, pTail, pCon) != 0) {
 23808  			(*IdxConstraint)(unsafe.Pointer(pCon)).FpLink = p1
 23809  			p1 = pCon
 23810  		}
 23811  	}
 23812  
 23813  	rc = idxCreateFromCons(tls, p, pScan, p1, pTail)
 23814  
 23815  	if pTail == uintptr(0) {
 23816  		for pCon = (*IdxScan)(unsafe.Pointer(pScan)).FpRange; rc == SQLITE_OK && pCon != 0; pCon = (*IdxConstraint)(unsafe.Pointer(pCon)).FpNext {
 23817  			if !(idxFindConstraint(tls, p1, pCon) != 0) && !(idxFindConstraint(tls, pTail, pCon) != 0) {
 23818  				rc = idxCreateFromCons(tls, p, pScan, p1, pCon)
 23819  			}
 23820  		}
 23821  	}
 23822  
 23823  	return rc
 23824  }
 23825  
 23826  func idxCreateCandidates(tls *libc.TLS, p uintptr) int32 {
 23827  	var rc int32 = SQLITE_OK
 23828  	var pIter uintptr
 23829  
 23830  	for pIter = (*sqlite3expert)(unsafe.Pointer(p)).FpScan; pIter != 0 && rc == SQLITE_OK; pIter = (*IdxScan)(unsafe.Pointer(pIter)).FpNextScan {
 23831  		rc = idxCreateFromWhere(tls, p, pIter, uintptr(0))
 23832  		if rc == SQLITE_OK && (*IdxScan)(unsafe.Pointer(pIter)).FpOrder != 0 {
 23833  			rc = idxCreateFromWhere(tls, p, pIter, (*IdxScan)(unsafe.Pointer(pIter)).FpOrder)
 23834  		}
 23835  	}
 23836  
 23837  	return rc
 23838  }
 23839  
 23840  func idxConstraintFree(tls *libc.TLS, pConstraint uintptr) {
 23841  	var pNext uintptr
 23842  	var p uintptr
 23843  
 23844  	for p = pConstraint; p != 0; p = pNext {
 23845  		pNext = (*IdxConstraint)(unsafe.Pointer(p)).FpNext
 23846  		sqlite3.Xsqlite3_free(tls, p)
 23847  	}
 23848  }
 23849  
 23850  func idxScanFree(tls *libc.TLS, pScan uintptr, pLast uintptr) {
 23851  	var p uintptr
 23852  	var pNext uintptr
 23853  	for p = pScan; p != pLast; p = pNext {
 23854  		pNext = (*IdxScan)(unsafe.Pointer(p)).FpNextScan
 23855  		idxConstraintFree(tls, (*IdxScan)(unsafe.Pointer(p)).FpOrder)
 23856  		idxConstraintFree(tls, (*IdxScan)(unsafe.Pointer(p)).FpEq)
 23857  		idxConstraintFree(tls, (*IdxScan)(unsafe.Pointer(p)).FpRange)
 23858  		sqlite3.Xsqlite3_free(tls, p)
 23859  	}
 23860  }
 23861  
 23862  func idxStatementFree(tls *libc.TLS, pStatement uintptr, pLast uintptr) {
 23863  	var p uintptr
 23864  	var pNext uintptr
 23865  	for p = pStatement; p != pLast; p = pNext {
 23866  		pNext = (*IdxStatement)(unsafe.Pointer(p)).FpNext
 23867  		sqlite3.Xsqlite3_free(tls, (*IdxStatement)(unsafe.Pointer(p)).FzEQP)
 23868  		sqlite3.Xsqlite3_free(tls, (*IdxStatement)(unsafe.Pointer(p)).FzIdx)
 23869  		sqlite3.Xsqlite3_free(tls, p)
 23870  	}
 23871  }
 23872  
 23873  func idxTableFree(tls *libc.TLS, pTab uintptr) {
 23874  	var pIter uintptr
 23875  	var pNext uintptr
 23876  	for pIter = pTab; pIter != 0; pIter = pNext {
 23877  		pNext = (*IdxTable)(unsafe.Pointer(pIter)).FpNext
 23878  		sqlite3.Xsqlite3_free(tls, pIter)
 23879  	}
 23880  }
 23881  
 23882  func idxWriteFree(tls *libc.TLS, pTab uintptr) {
 23883  	var pIter uintptr
 23884  	var pNext uintptr
 23885  	for pIter = pTab; pIter != 0; pIter = pNext {
 23886  		pNext = (*IdxWrite)(unsafe.Pointer(pIter)).FpNext
 23887  		sqlite3.Xsqlite3_free(tls, pIter)
 23888  	}
 23889  }
 23890  
 23891  func idxFindIndexes(tls *libc.TLS, p uintptr, pzErr uintptr) int32 {
 23892  	bp := tls.Alloc(8228)
 23893  	defer tls.Free(8228)
 23894  
 23895  	var pStmt uintptr
 23896  	var dbm uintptr
 23897  
 23898  	var zSql uintptr
 23899  	var nIdx int32
 23900  	var zIdx uintptr
 23901  
 23902  	var zDetail uintptr
 23903  	var nDetail int32
 23904  	var i int32
 23905  	var pEntry uintptr
 23906  
 23907  	dbm = (*sqlite3expert)(unsafe.Pointer(p)).Fdbm
 23908  	*(*int32)(unsafe.Pointer(bp + 8224)) = SQLITE_OK
 23909  	idxHashInit(tls, bp+24)
 23910  
 23911  	pStmt = (*sqlite3expert)(unsafe.Pointer(p)).FpStatement
 23912  __1:
 23913  	if !(*(*int32)(unsafe.Pointer(bp + 8224)) == SQLITE_OK && pStmt != 0) {
 23914  		goto __3
 23915  	}
 23916  	*(*uintptr)(unsafe.Pointer(bp + 8216)) = uintptr(0)
 23917  	idxHashClear(tls, bp+24)
 23918  	*(*int32)(unsafe.Pointer(bp + 8224)) = idxPrintfPrepareStmt(tls, dbm, bp+8216, pzErr,
 23919  		ts+330, libc.VaList(bp, (*IdxStatement)(unsafe.Pointer(pStmt)).FzSql))
 23920  __4:
 23921  	if !(*(*int32)(unsafe.Pointer(bp + 8224)) == SQLITE_OK && sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8216))) == SQLITE_ROW) {
 23922  		goto __5
 23923  	}
 23924  
 23925  	zDetail = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 8216)), 3)
 23926  
 23927  	if !!(zDetail != 0) {
 23928  		goto __6
 23929  	}
 23930  	goto __4
 23931  __6:
 23932  	;
 23933  	nDetail = int32(libc.Xstrlen(tls, zDetail))
 23934  
 23935  	i = 0
 23936  __7:
 23937  	if !(i < nDetail) {
 23938  		goto __9
 23939  	}
 23940  	zIdx = uintptr(0)
 23941  	if !(i+13 < nDetail && libc.Xmemcmp(tls, zDetail+uintptr(i), ts+352, uint64(13)) == 0) {
 23942  		goto __10
 23943  	}
 23944  	zIdx = zDetail + uintptr(i+13)
 23945  	goto __11
 23946  __10:
 23947  	if !(i+22 < nDetail &&
 23948  		libc.Xmemcmp(tls, zDetail+uintptr(i), ts+366, uint64(22)) == 0) {
 23949  		goto __12
 23950  	}
 23951  	zIdx = zDetail + uintptr(i+22)
 23952  __12:
 23953  	;
 23954  __11:
 23955  	;
 23956  	if !(zIdx != 0) {
 23957  		goto __13
 23958  	}
 23959  	nIdx = 0
 23960  __14:
 23961  	if !(int32(*(*int8)(unsafe.Pointer(zIdx + uintptr(nIdx)))) != 0 && (int32(*(*int8)(unsafe.Pointer(zIdx + uintptr(nIdx)))) != ' ' || int32(*(*int8)(unsafe.Pointer(zIdx + uintptr(nIdx+1)))) != '(')) {
 23962  		goto __15
 23963  	}
 23964  	nIdx++
 23965  	goto __14
 23966  __15:
 23967  	;
 23968  	zSql = idxHashSearch(tls, p+88, zIdx, nIdx)
 23969  	if !(zSql != 0) {
 23970  		goto __16
 23971  	}
 23972  	idxHashAdd(tls, bp+8224, bp+24, zSql, uintptr(0))
 23973  	if !(*(*int32)(unsafe.Pointer(bp + 8224)) != 0) {
 23974  		goto __17
 23975  	}
 23976  	goto find_indexes_out
 23977  __17:
 23978  	;
 23979  __16:
 23980  	;
 23981  	goto __9
 23982  __13:
 23983  	;
 23984  	goto __8
 23985  __8:
 23986  	i++
 23987  	goto __7
 23988  	goto __9
 23989  __9:
 23990  	;
 23991  	if !(int32(*(*int8)(unsafe.Pointer(zDetail))) != '-') {
 23992  		goto __18
 23993  	}
 23994  	(*IdxStatement)(unsafe.Pointer(pStmt)).FzEQP = idxAppendText(tls, bp+8224, (*IdxStatement)(unsafe.Pointer(pStmt)).FzEQP, ts+389, libc.VaList(bp+8, zDetail))
 23995  __18:
 23996  	;
 23997  	goto __4
 23998  __5:
 23999  	;
 24000  	pEntry = (*IdxHash)(unsafe.Pointer(bp + 24)).FpFirst
 24001  __19:
 24002  	if !(pEntry != 0) {
 24003  		goto __21
 24004  	}
 24005  	(*IdxStatement)(unsafe.Pointer(pStmt)).FzIdx = idxAppendText(tls, bp+8224, (*IdxStatement)(unsafe.Pointer(pStmt)).FzIdx, ts+393, libc.VaList(bp+16, (*IdxHashEntry)(unsafe.Pointer(pEntry)).FzKey))
 24006  	goto __20
 24007  __20:
 24008  	pEntry = (*IdxHashEntry)(unsafe.Pointer(pEntry)).FpNext
 24009  	goto __19
 24010  	goto __21
 24011  __21:
 24012  	;
 24013  	idxFinalize(tls, bp+8224, *(*uintptr)(unsafe.Pointer(bp + 8216)))
 24014  	goto __2
 24015  __2:
 24016  	pStmt = (*IdxStatement)(unsafe.Pointer(pStmt)).FpNext
 24017  	goto __1
 24018  	goto __3
 24019  __3:
 24020  	;
 24021  find_indexes_out:
 24022  	idxHashClear(tls, bp+24)
 24023  	return *(*int32)(unsafe.Pointer(bp + 8224))
 24024  }
 24025  
 24026  func idxAuthCallback(tls *libc.TLS, pCtx uintptr, eOp int32, z3 uintptr, z4 uintptr, zDb uintptr, zTrigger uintptr) int32 {
 24027  	bp := tls.Alloc(4)
 24028  	defer tls.Free(4)
 24029  
 24030  	*(*int32)(unsafe.Pointer(bp)) = SQLITE_OK
 24031  	_ = z4
 24032  	_ = zTrigger
 24033  	if eOp == SQLITE_INSERT || eOp == SQLITE_UPDATE || eOp == SQLITE_DELETE {
 24034  		if sqlite3.Xsqlite3_stricmp(tls, zDb, ts+85) == 0 {
 24035  			var p uintptr = pCtx
 24036  			var pTab uintptr
 24037  			for pTab = (*sqlite3expert)(unsafe.Pointer(p)).FpTable; pTab != 0; pTab = (*IdxTable)(unsafe.Pointer(pTab)).FpNext {
 24038  				if 0 == sqlite3.Xsqlite3_stricmp(tls, z3, (*IdxTable)(unsafe.Pointer(pTab)).FzName) {
 24039  					break
 24040  				}
 24041  			}
 24042  			if pTab != 0 {
 24043  				var pWrite uintptr
 24044  				for pWrite = (*sqlite3expert)(unsafe.Pointer(p)).FpWrite; pWrite != 0; pWrite = (*IdxWrite)(unsafe.Pointer(pWrite)).FpNext {
 24045  					if (*IdxWrite)(unsafe.Pointer(pWrite)).FpTab == pTab && (*IdxWrite)(unsafe.Pointer(pWrite)).FeOp == eOp {
 24046  						break
 24047  					}
 24048  				}
 24049  				if pWrite == uintptr(0) {
 24050  					pWrite = idxMalloc(tls, bp, int32(unsafe.Sizeof(IdxWrite{})))
 24051  					if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK {
 24052  						(*IdxWrite)(unsafe.Pointer(pWrite)).FpTab = pTab
 24053  						(*IdxWrite)(unsafe.Pointer(pWrite)).FeOp = eOp
 24054  						(*IdxWrite)(unsafe.Pointer(pWrite)).FpNext = (*sqlite3expert)(unsafe.Pointer(p)).FpWrite
 24055  						(*sqlite3expert)(unsafe.Pointer(p)).FpWrite = pWrite
 24056  					}
 24057  				}
 24058  			}
 24059  		}
 24060  	}
 24061  	return *(*int32)(unsafe.Pointer(bp))
 24062  }
 24063  
 24064  func idxProcessOneTrigger(tls *libc.TLS, p uintptr, pWrite uintptr, pzErr uintptr) int32 {
 24065  	bp := tls.Alloc(104)
 24066  	defer tls.Free(104)
 24067  
 24068  	var pTab uintptr = (*IdxWrite)(unsafe.Pointer(pWrite)).FpTab
 24069  	var zTab uintptr = (*IdxTable)(unsafe.Pointer(pTab)).FzName
 24070  	var zSql uintptr = ts + 398
 24071  	*(*uintptr)(unsafe.Pointer(bp + 80)) = uintptr(0)
 24072  	*(*int32)(unsafe.Pointer(bp + 88)) = SQLITE_OK
 24073  	var zWrite uintptr = uintptr(0)
 24074  
 24075  	*(*int32)(unsafe.Pointer(bp + 88)) = idxPrintfPrepareStmt(tls, (*sqlite3expert)(unsafe.Pointer(p)).Fdb, bp+80, pzErr, zSql, libc.VaList(bp, zTab, zTab))
 24076  	for *(*int32)(unsafe.Pointer(bp + 88)) == SQLITE_OK && SQLITE_ROW == sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 80))) {
 24077  		var zCreate uintptr = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 80)), 0)
 24078  		if zCreate == uintptr(0) {
 24079  			continue
 24080  		}
 24081  		*(*int32)(unsafe.Pointer(bp + 88)) = sqlite3.Xsqlite3_exec(tls, (*sqlite3expert)(unsafe.Pointer(p)).Fdbv, zCreate, uintptr(0), uintptr(0), pzErr)
 24082  	}
 24083  	idxFinalize(tls, bp+88, *(*uintptr)(unsafe.Pointer(bp + 80)))
 24084  
 24085  	if *(*int32)(unsafe.Pointer(bp + 88)) == SQLITE_OK {
 24086  		var z uintptr = sqlite3.Xsqlite3_mprintf(tls, ts+524, libc.VaList(bp+16, zTab, zInt))
 24087  		if z == uintptr(0) {
 24088  			*(*int32)(unsafe.Pointer(bp + 88)) = SQLITE_NOMEM
 24089  		} else {
 24090  			*(*int32)(unsafe.Pointer(bp + 88)) = sqlite3.Xsqlite3_exec(tls, (*sqlite3expert)(unsafe.Pointer(p)).Fdbv, z, uintptr(0), uintptr(0), pzErr)
 24091  			sqlite3.Xsqlite3_free(tls, z)
 24092  		}
 24093  	}
 24094  
 24095  	switch (*IdxWrite)(unsafe.Pointer(pWrite)).FeOp {
 24096  	case SQLITE_INSERT:
 24097  		{
 24098  			var i int32
 24099  			zWrite = idxAppendText(tls, bp+88, zWrite, ts+557, libc.VaList(bp+32, zInt))
 24100  			for i = 0; i < (*IdxTable)(unsafe.Pointer(pTab)).FnCol; i++ {
 24101  				zWrite = idxAppendText(tls, bp+88, zWrite, ts+580, libc.VaList(bp+40, func() uintptr {
 24102  					if i == 0 {
 24103  						return ts + 584
 24104  					}
 24105  					return ts + 97
 24106  				}()))
 24107  			}
 24108  			zWrite = idxAppendText(tls, bp+88, zWrite, ts+585, 0)
 24109  			break
 24110  
 24111  		}
 24112  	case SQLITE_UPDATE:
 24113  		{
 24114  			var i int32
 24115  			zWrite = idxAppendText(tls, bp+88, zWrite, ts+587, libc.VaList(bp+48, zInt))
 24116  			for i = 0; i < (*IdxTable)(unsafe.Pointer(pTab)).FnCol; i++ {
 24117  				zWrite = idxAppendText(tls, bp+88, zWrite, ts+602, libc.VaList(bp+56, func() uintptr {
 24118  					if i == 0 {
 24119  						return ts + 584
 24120  					}
 24121  					return ts + 97
 24122  				}(),
 24123  					(*IdxColumn)(unsafe.Pointer((*IdxTable)(unsafe.Pointer(pTab)).FaCol+uintptr(i)*24)).FzName))
 24124  			}
 24125  			break
 24126  
 24127  		}
 24128  	default:
 24129  		{
 24130  			if *(*int32)(unsafe.Pointer(bp + 88)) == SQLITE_OK {
 24131  				zWrite = sqlite3.Xsqlite3_mprintf(tls, ts+609, libc.VaList(bp+72, zInt))
 24132  				if zWrite == uintptr(0) {
 24133  					*(*int32)(unsafe.Pointer(bp + 88)) = SQLITE_NOMEM
 24134  				}
 24135  			}
 24136  
 24137  		}
 24138  	}
 24139  
 24140  	if *(*int32)(unsafe.Pointer(bp + 88)) == SQLITE_OK {
 24141  		*(*uintptr)(unsafe.Pointer(bp + 96)) = uintptr(0)
 24142  		*(*int32)(unsafe.Pointer(bp + 88)) = sqlite3.Xsqlite3_prepare_v2(tls, (*sqlite3expert)(unsafe.Pointer(p)).Fdbv, zWrite, -1, bp+96, uintptr(0))
 24143  		idxFinalize(tls, bp+88, *(*uintptr)(unsafe.Pointer(bp + 96)))
 24144  		if *(*int32)(unsafe.Pointer(bp + 88)) != SQLITE_OK {
 24145  			idxDatabaseError(tls, (*sqlite3expert)(unsafe.Pointer(p)).Fdbv, pzErr)
 24146  		}
 24147  	}
 24148  	sqlite3.Xsqlite3_free(tls, zWrite)
 24149  
 24150  	if *(*int32)(unsafe.Pointer(bp + 88)) == SQLITE_OK {
 24151  		*(*int32)(unsafe.Pointer(bp + 88)) = sqlite3.Xsqlite3_exec(tls, (*sqlite3expert)(unsafe.Pointer(p)).Fdbv, zDrop, uintptr(0), uintptr(0), pzErr)
 24152  	}
 24153  
 24154  	return *(*int32)(unsafe.Pointer(bp + 88))
 24155  }
 24156  
 24157  var zInt uintptr = ts + 624
 24158  var zDrop uintptr = ts + 662
 24159  
 24160  func idxProcessTriggers(tls *libc.TLS, p uintptr, pzErr uintptr) int32 {
 24161  	var rc int32 = SQLITE_OK
 24162  	var pEnd uintptr = uintptr(0)
 24163  	var pFirst uintptr = (*sqlite3expert)(unsafe.Pointer(p)).FpWrite
 24164  
 24165  	for rc == SQLITE_OK && pFirst != pEnd {
 24166  		var pIter uintptr
 24167  		for pIter = pFirst; rc == SQLITE_OK && pIter != pEnd; pIter = (*IdxWrite)(unsafe.Pointer(pIter)).FpNext {
 24168  			rc = idxProcessOneTrigger(tls, p, pIter, pzErr)
 24169  		}
 24170  		pEnd = pFirst
 24171  		pFirst = (*sqlite3expert)(unsafe.Pointer(p)).FpWrite
 24172  	}
 24173  
 24174  	return rc
 24175  }
 24176  
 24177  func idxCreateVtabSchema(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 {
 24178  	bp := tls.Alloc(60)
 24179  	defer tls.Free(60)
 24180  
 24181  	*(*int32)(unsafe.Pointer(bp + 56)) = idxRegisterVtab(tls, p)
 24182  	*(*uintptr)(unsafe.Pointer(bp + 40)) = uintptr(0)
 24183  
 24184  	*(*int32)(unsafe.Pointer(bp + 56)) = idxPrepareStmt(tls, (*sqlite3expert)(unsafe.Pointer(p)).Fdb, bp+40, pzErrmsg,
 24185  		ts+711)
 24186  	for *(*int32)(unsafe.Pointer(bp + 56)) == SQLITE_OK && SQLITE_ROW == sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 40))) {
 24187  		var zType uintptr = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 40)), 0)
 24188  		var zName uintptr = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 40)), 1)
 24189  		var zSql uintptr = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 40)), 2)
 24190  
 24191  		if zType == uintptr(0) || zName == uintptr(0) {
 24192  			continue
 24193  		}
 24194  		if int32(*(*int8)(unsafe.Pointer(zType))) == 'v' || int32(*(*int8)(unsafe.Pointer(zType + 1))) == 'r' {
 24195  			if zSql != 0 {
 24196  				*(*int32)(unsafe.Pointer(bp + 56)) = sqlite3.Xsqlite3_exec(tls, (*sqlite3expert)(unsafe.Pointer(p)).Fdbv, zSql, uintptr(0), uintptr(0), pzErrmsg)
 24197  			}
 24198  		} else {
 24199  			*(*int32)(unsafe.Pointer(bp + 56)) = idxGetTableInfo(tls, (*sqlite3expert)(unsafe.Pointer(p)).Fdb, zName, bp+48, pzErrmsg)
 24200  			if *(*int32)(unsafe.Pointer(bp + 56)) == SQLITE_OK {
 24201  				var i int32
 24202  				var zInner uintptr = uintptr(0)
 24203  				var zOuter uintptr = uintptr(0)
 24204  				(*IdxTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 48)))).FpNext = (*sqlite3expert)(unsafe.Pointer(p)).FpTable
 24205  				(*sqlite3expert)(unsafe.Pointer(p)).FpTable = *(*uintptr)(unsafe.Pointer(bp + 48))
 24206  
 24207  				zInner = idxAppendText(tls, bp+56, uintptr(0), ts+979, 0)
 24208  				for i = 0; i < (*IdxTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 48)))).FnCol; i++ {
 24209  					zInner = idxAppendText(tls, bp+56, zInner, ts+995,
 24210  						libc.VaList(bp, func() uintptr {
 24211  							if i == 0 {
 24212  								return ts + 584
 24213  							}
 24214  							return ts + 97
 24215  						}(), (*IdxColumn)(unsafe.Pointer((*IdxTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 48)))).FaCol+uintptr(i)*24)).FzName, (*IdxColumn)(unsafe.Pointer((*IdxTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 48)))).FaCol+uintptr(i)*24)).FzColl))
 24216  				}
 24217  				zInner = idxAppendText(tls, bp+56, zInner, ts+585, 0)
 24218  
 24219  				zOuter = idxAppendText(tls, bp+56, uintptr(0),
 24220  					ts+1011, libc.VaList(bp+24, zName, zInner))
 24221  				if *(*int32)(unsafe.Pointer(bp + 56)) == SQLITE_OK {
 24222  					*(*int32)(unsafe.Pointer(bp + 56)) = sqlite3.Xsqlite3_exec(tls, (*sqlite3expert)(unsafe.Pointer(p)).Fdbv, zOuter, uintptr(0), uintptr(0), pzErrmsg)
 24223  				}
 24224  				sqlite3.Xsqlite3_free(tls, zInner)
 24225  				sqlite3.Xsqlite3_free(tls, zOuter)
 24226  			}
 24227  		}
 24228  	}
 24229  	idxFinalize(tls, bp+56, *(*uintptr)(unsafe.Pointer(bp + 40)))
 24230  	return *(*int32)(unsafe.Pointer(bp + 56))
 24231  }
 24232  
 24233  type IdxSampleCtx = struct {
 24234  	FiTarget     int32
 24235  	F__ccgo_pad1 [4]byte
 24236  	Ftarget      float64
 24237  	FnRow        float64
 24238  	FnRet        float64
 24239  }
 24240  
 24241  func idxSampleFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) {
 24242  	bp := tls.Alloc(2)
 24243  	defer tls.Free(2)
 24244  
 24245  	var p uintptr = sqlite3.Xsqlite3_user_data(tls, pCtx)
 24246  	var bRet int32
 24247  
 24248  	_ = argv
 24249  
 24250  	if (*IdxSampleCtx)(unsafe.Pointer(p)).FnRow == 0.0 {
 24251  		bRet = 1
 24252  	} else {
 24253  		bRet = libc.Bool32((*IdxSampleCtx)(unsafe.Pointer(p)).FnRet/(*IdxSampleCtx)(unsafe.Pointer(p)).FnRow <= (*IdxSampleCtx)(unsafe.Pointer(p)).Ftarget)
 24254  		if bRet == 0 {
 24255  			sqlite3.Xsqlite3_randomness(tls, 2, bp)
 24256  			bRet = libc.Bool32(int32(*(*uint16)(unsafe.Pointer(bp)))%100 <= (*IdxSampleCtx)(unsafe.Pointer(p)).FiTarget)
 24257  		}
 24258  	}
 24259  
 24260  	sqlite3.Xsqlite3_result_int(tls, pCtx, bRet)
 24261  	*(*float64)(unsafe.Pointer(p + 16)) += 1.0
 24262  	*(*float64)(unsafe.Pointer(p + 24)) += float64(bRet)
 24263  }
 24264  
 24265  type IdxRemCtx = struct {
 24266  	FnSlot       int32
 24267  	F__ccgo_pad1 [4]byte
 24268  	FaSlot       [1]struct {
 24269  		FeType       int32
 24270  		F__ccgo_pad1 [4]byte
 24271  		FiVal        i64
 24272  		FrVal        float64
 24273  		FnByte       int32
 24274  		Fn           int32
 24275  		Fz           uintptr
 24276  	}
 24277  }
 24278  
 24279  type IdxRemSlot = struct {
 24280  	FeType       int32
 24281  	F__ccgo_pad1 [4]byte
 24282  	FiVal        i64
 24283  	FrVal        float64
 24284  	FnByte       int32
 24285  	Fn           int32
 24286  	Fz           uintptr
 24287  }
 24288  
 24289  func idxRemFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) {
 24290  	var p uintptr = sqlite3.Xsqlite3_user_data(tls, pCtx)
 24291  	var pSlot uintptr
 24292  	var iSlot int32
 24293  
 24294  	iSlot = sqlite3.Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv)))
 24295  
 24296  	pSlot = p + 8 + uintptr(iSlot)*40
 24297  
 24298  	switch (*IdxRemSlot)(unsafe.Pointer(pSlot)).FeType {
 24299  	case SQLITE_NULL:
 24300  		break
 24301  
 24302  	case SQLITE_INTEGER:
 24303  		sqlite3.Xsqlite3_result_int64(tls, pCtx, (*IdxRemSlot)(unsafe.Pointer(pSlot)).FiVal)
 24304  		break
 24305  
 24306  	case SQLITE_FLOAT:
 24307  		sqlite3.Xsqlite3_result_double(tls, pCtx, (*IdxRemSlot)(unsafe.Pointer(pSlot)).FrVal)
 24308  		break
 24309  
 24310  	case SQLITE_BLOB:
 24311  		sqlite3.Xsqlite3_result_blob(tls, pCtx, (*IdxRemSlot)(unsafe.Pointer(pSlot)).Fz, (*IdxRemSlot)(unsafe.Pointer(pSlot)).Fn, libc.UintptrFromInt32(-1))
 24312  		break
 24313  
 24314  	case SQLITE_TEXT:
 24315  		sqlite3.Xsqlite3_result_text(tls, pCtx, (*IdxRemSlot)(unsafe.Pointer(pSlot)).Fz, (*IdxRemSlot)(unsafe.Pointer(pSlot)).Fn, libc.UintptrFromInt32(-1))
 24316  		break
 24317  	}
 24318  
 24319  	(*IdxRemSlot)(unsafe.Pointer(pSlot)).FeType = sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))
 24320  	switch (*IdxRemSlot)(unsafe.Pointer(pSlot)).FeType {
 24321  	case SQLITE_NULL:
 24322  		break
 24323  
 24324  	case SQLITE_INTEGER:
 24325  		(*IdxRemSlot)(unsafe.Pointer(pSlot)).FiVal = sqlite3.Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))
 24326  		break
 24327  
 24328  	case SQLITE_FLOAT:
 24329  		(*IdxRemSlot)(unsafe.Pointer(pSlot)).FrVal = sqlite3.Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))
 24330  		break
 24331  
 24332  	case SQLITE_BLOB:
 24333  		fallthrough
 24334  	case SQLITE_TEXT:
 24335  		{
 24336  			var nByte int32 = sqlite3.Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))
 24337  			var pData uintptr = uintptr(0)
 24338  			if nByte > (*IdxRemSlot)(unsafe.Pointer(pSlot)).FnByte {
 24339  				var zNew uintptr = sqlite3.Xsqlite3_realloc(tls, (*IdxRemSlot)(unsafe.Pointer(pSlot)).Fz, nByte*2)
 24340  				if zNew == uintptr(0) {
 24341  					sqlite3.Xsqlite3_result_error_nomem(tls, pCtx)
 24342  					return
 24343  				}
 24344  				(*IdxRemSlot)(unsafe.Pointer(pSlot)).FnByte = nByte * 2
 24345  				(*IdxRemSlot)(unsafe.Pointer(pSlot)).Fz = zNew
 24346  			}
 24347  			(*IdxRemSlot)(unsafe.Pointer(pSlot)).Fn = nByte
 24348  			if (*IdxRemSlot)(unsafe.Pointer(pSlot)).FeType == SQLITE_BLOB {
 24349  				pData = sqlite3.Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))
 24350  				if pData != 0 {
 24351  					libc.Xmemcpy(tls, (*IdxRemSlot)(unsafe.Pointer(pSlot)).Fz, pData, uint64(nByte))
 24352  				}
 24353  			} else {
 24354  				pData = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))
 24355  				libc.Xmemcpy(tls, (*IdxRemSlot)(unsafe.Pointer(pSlot)).Fz, pData, uint64(nByte))
 24356  			}
 24357  			break
 24358  
 24359  		}
 24360  	}
 24361  }
 24362  
 24363  func idxLargestIndex(tls *libc.TLS, db uintptr, pnMax uintptr, pzErr uintptr) int32 {
 24364  	bp := tls.Alloc(12)
 24365  	defer tls.Free(12)
 24366  
 24367  	*(*int32)(unsafe.Pointer(bp + 8)) = SQLITE_OK
 24368  	var zMax uintptr = ts + 1052
 24369  	*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
 24370  
 24371  	*(*int32)(unsafe.Pointer(pnMax)) = 0
 24372  	*(*int32)(unsafe.Pointer(bp + 8)) = idxPrepareStmt(tls, db, bp, pzErr, zMax)
 24373  	if *(*int32)(unsafe.Pointer(bp + 8)) == SQLITE_OK && SQLITE_ROW == sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) {
 24374  		*(*int32)(unsafe.Pointer(pnMax)) = sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp)), 0) + 1
 24375  	}
 24376  	idxFinalize(tls, bp+8, *(*uintptr)(unsafe.Pointer(bp)))
 24377  
 24378  	return *(*int32)(unsafe.Pointer(bp + 8))
 24379  }
 24380  
 24381  func idxPopulateOneStat1(tls *libc.TLS, p uintptr, pIndexXInfo uintptr, pWriteStat uintptr, zTab uintptr, zIdx uintptr, pzErr uintptr) int32 {
 24382  	bp := tls.Alloc(128)
 24383  	defer tls.Free(128)
 24384  
 24385  	var zCols uintptr = uintptr(0)
 24386  	var zOrder uintptr = uintptr(0)
 24387  	var zQuery uintptr = uintptr(0)
 24388  	var nCol int32 = 0
 24389  	var i int32
 24390  	*(*uintptr)(unsafe.Pointer(bp + 120)) = uintptr(0)
 24391  	var aStat uintptr = uintptr(0)
 24392  	*(*int32)(unsafe.Pointer(bp + 112)) = SQLITE_OK
 24393  
 24394  	sqlite3.Xsqlite3_bind_text(tls, pIndexXInfo, 1, zIdx, -1, uintptr(0))
 24395  	for SQLITE_OK == *(*int32)(unsafe.Pointer(bp + 112)) && SQLITE_ROW == sqlite3.Xsqlite3_step(tls, pIndexXInfo) {
 24396  		var zComma uintptr
 24397  		if zCols == uintptr(0) {
 24398  			zComma = ts + 584
 24399  		} else {
 24400  			zComma = ts + 97
 24401  		}
 24402  		var zName uintptr = sqlite3.Xsqlite3_column_text(tls, pIndexXInfo, 0)
 24403  		var zColl uintptr = sqlite3.Xsqlite3_column_text(tls, pIndexXInfo, 1)
 24404  		zCols = idxAppendText(tls, bp+112, zCols,
 24405  			ts+1189, libc.VaList(bp, zComma, zName, nCol, zName, zColl))
 24406  		zOrder = idxAppendText(tls, bp+112, zOrder, ts+1224, libc.VaList(bp+40, zComma, libc.PreIncInt32(&nCol, 1)))
 24407  	}
 24408  	sqlite3.Xsqlite3_reset(tls, pIndexXInfo)
 24409  	if *(*int32)(unsafe.Pointer(bp + 112)) == SQLITE_OK {
 24410  		if (*sqlite3expert)(unsafe.Pointer(p)).FiSample == 100 {
 24411  			zQuery = sqlite3.Xsqlite3_mprintf(tls,
 24412  				ts+1229, libc.VaList(bp+56, zCols, zTab, zOrder))
 24413  		} else {
 24414  			zQuery = sqlite3.Xsqlite3_mprintf(tls,
 24415  				ts+1261, libc.VaList(bp+80, zCols, zOrder))
 24416  		}
 24417  	}
 24418  	sqlite3.Xsqlite3_free(tls, zCols)
 24419  	sqlite3.Xsqlite3_free(tls, zOrder)
 24420  
 24421  	if *(*int32)(unsafe.Pointer(bp + 112)) == SQLITE_OK {
 24422  		var dbrem uintptr = func() uintptr {
 24423  			if (*sqlite3expert)(unsafe.Pointer(p)).FiSample == 100 {
 24424  				return (*sqlite3expert)(unsafe.Pointer(p)).Fdb
 24425  			}
 24426  			return (*sqlite3expert)(unsafe.Pointer(p)).Fdbv
 24427  		}()
 24428  		*(*int32)(unsafe.Pointer(bp + 112)) = idxPrepareStmt(tls, dbrem, bp+120, pzErr, zQuery)
 24429  	}
 24430  	sqlite3.Xsqlite3_free(tls, zQuery)
 24431  
 24432  	if *(*int32)(unsafe.Pointer(bp + 112)) == SQLITE_OK {
 24433  		aStat = idxMalloc(tls, bp+112, int32(uint64(unsafe.Sizeof(int32(0)))*uint64(nCol+1)))
 24434  	}
 24435  	if *(*int32)(unsafe.Pointer(bp + 112)) == SQLITE_OK && SQLITE_ROW == sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 120))) {
 24436  		var pEntry uintptr
 24437  		var zStat uintptr = uintptr(0)
 24438  		for i = 0; i <= nCol; i++ {
 24439  			*(*int32)(unsafe.Pointer(aStat + uintptr(i)*4)) = 1
 24440  		}
 24441  		for *(*int32)(unsafe.Pointer(bp + 112)) == SQLITE_OK && SQLITE_ROW == sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 120))) {
 24442  			*(*int32)(unsafe.Pointer(aStat))++
 24443  			for i = 0; i < nCol; i++ {
 24444  				if sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 120)), i) == 0 {
 24445  					break
 24446  				}
 24447  			}
 24448  			for ; i < nCol; i++ {
 24449  				*(*int32)(unsafe.Pointer(aStat + uintptr(i+1)*4))++
 24450  			}
 24451  		}
 24452  
 24453  		if *(*int32)(unsafe.Pointer(bp + 112)) == SQLITE_OK {
 24454  			var s0 int32 = *(*int32)(unsafe.Pointer(aStat))
 24455  			zStat = sqlite3.Xsqlite3_mprintf(tls, ts+1333, libc.VaList(bp+96, s0))
 24456  			if zStat == uintptr(0) {
 24457  				*(*int32)(unsafe.Pointer(bp + 112)) = SQLITE_NOMEM
 24458  			}
 24459  			for i = 1; *(*int32)(unsafe.Pointer(bp + 112)) == SQLITE_OK && i <= nCol; i++ {
 24460  				zStat = idxAppendText(tls, bp+112, zStat, ts+1336, libc.VaList(bp+104, (s0+*(*int32)(unsafe.Pointer(aStat + uintptr(i)*4))/2) / *(*int32)(unsafe.Pointer(aStat + uintptr(i)*4))))
 24461  			}
 24462  		}
 24463  
 24464  		if *(*int32)(unsafe.Pointer(bp + 112)) == SQLITE_OK {
 24465  			sqlite3.Xsqlite3_bind_text(tls, pWriteStat, 1, zTab, -1, uintptr(0))
 24466  			sqlite3.Xsqlite3_bind_text(tls, pWriteStat, 2, zIdx, -1, uintptr(0))
 24467  			sqlite3.Xsqlite3_bind_text(tls, pWriteStat, 3, zStat, -1, uintptr(0))
 24468  			sqlite3.Xsqlite3_step(tls, pWriteStat)
 24469  			*(*int32)(unsafe.Pointer(bp + 112)) = sqlite3.Xsqlite3_reset(tls, pWriteStat)
 24470  		}
 24471  
 24472  		pEntry = idxHashFind(tls, p+88, zIdx, int32(libc.Xstrlen(tls, zIdx)))
 24473  		if pEntry != 0 {
 24474  			(*IdxHashEntry)(unsafe.Pointer(pEntry)).FzVal2 = zStat
 24475  		} else {
 24476  			sqlite3.Xsqlite3_free(tls, zStat)
 24477  		}
 24478  	}
 24479  	sqlite3.Xsqlite3_free(tls, aStat)
 24480  	idxFinalize(tls, bp+112, *(*uintptr)(unsafe.Pointer(bp + 120)))
 24481  
 24482  	return *(*int32)(unsafe.Pointer(bp + 112))
 24483  }
 24484  
 24485  func idxBuildSampleTable(tls *libc.TLS, p uintptr, zTab uintptr) int32 {
 24486  	bp := tls.Alloc(8)
 24487  	defer tls.Free(8)
 24488  
 24489  	var rc int32
 24490  	var zSql uintptr
 24491  
 24492  	rc = sqlite3.Xsqlite3_exec(tls, (*sqlite3expert)(unsafe.Pointer(p)).Fdbv, ts+1340, uintptr(0), uintptr(0), uintptr(0))
 24493  	if rc != SQLITE_OK {
 24494  		return rc
 24495  	}
 24496  
 24497  	zSql = sqlite3.Xsqlite3_mprintf(tls,
 24498  		ts+1404, libc.VaList(bp, zTab))
 24499  	if zSql == uintptr(0) {
 24500  		return SQLITE_NOMEM
 24501  	}
 24502  	rc = sqlite3.Xsqlite3_exec(tls, (*sqlite3expert)(unsafe.Pointer(p)).Fdbv, zSql, uintptr(0), uintptr(0), uintptr(0))
 24503  	sqlite3.Xsqlite3_free(tls, zSql)
 24504  
 24505  	return rc
 24506  }
 24507  
 24508  func idxPopulateStat1(tls *libc.TLS, p uintptr, pzErr uintptr) int32 {
 24509  	bp := tls.Alloc(64)
 24510  	defer tls.Free(64)
 24511  
 24512  	*(*int32)(unsafe.Pointer(bp + 4)) = SQLITE_OK
 24513  	*(*int32)(unsafe.Pointer(bp)) = 0
 24514  	var pCtx uintptr = uintptr(0)
 24515  
 24516  	var i int32
 24517  	var iPrev i64 = int64(-100000)
 24518  	*(*uintptr)(unsafe.Pointer(bp + 40)) = uintptr(0)
 24519  	*(*uintptr)(unsafe.Pointer(bp + 48)) = uintptr(0)
 24520  	*(*uintptr)(unsafe.Pointer(bp + 56)) = uintptr(0)
 24521  
 24522  	var zAllIndex uintptr = ts + 1480
 24523  	var zIndexXInfo uintptr = ts + 1594
 24524  	var zWrite uintptr = ts + 1649
 24525  
 24526  	if (*sqlite3expert)(unsafe.Pointer(p)).FiSample == 0 {
 24527  		return SQLITE_OK
 24528  	}
 24529  
 24530  	*(*int32)(unsafe.Pointer(bp + 4)) = idxLargestIndex(tls, (*sqlite3expert)(unsafe.Pointer(p)).Fdbm, bp, pzErr)
 24531  	if *(*int32)(unsafe.Pointer(bp)) <= 0 || *(*int32)(unsafe.Pointer(bp + 4)) != SQLITE_OK {
 24532  		return *(*int32)(unsafe.Pointer(bp + 4))
 24533  	}
 24534  
 24535  	*(*int32)(unsafe.Pointer(bp + 4)) = sqlite3.Xsqlite3_exec(tls, (*sqlite3expert)(unsafe.Pointer(p)).Fdbm, ts+1690, uintptr(0), uintptr(0), uintptr(0))
 24536  
 24537  	if *(*int32)(unsafe.Pointer(bp + 4)) == SQLITE_OK {
 24538  		var nByte int32 = int32(uint64(unsafe.Sizeof(IdxRemCtx{})) + uint64(unsafe.Sizeof(IdxRemSlot{}))*uint64(*(*int32)(unsafe.Pointer(bp))))
 24539  		pCtx = idxMalloc(tls, bp+4, nByte)
 24540  	}
 24541  
 24542  	if *(*int32)(unsafe.Pointer(bp + 4)) == SQLITE_OK {
 24543  		var dbrem uintptr = func() uintptr {
 24544  			if (*sqlite3expert)(unsafe.Pointer(p)).FiSample == 100 {
 24545  				return (*sqlite3expert)(unsafe.Pointer(p)).Fdb
 24546  			}
 24547  			return (*sqlite3expert)(unsafe.Pointer(p)).Fdbv
 24548  		}()
 24549  		*(*int32)(unsafe.Pointer(bp + 4)) = sqlite3.Xsqlite3_create_function(tls,
 24550  			dbrem, ts+1724, 2, SQLITE_UTF8, pCtx, *(*uintptr)(unsafe.Pointer(&struct {
 24551  				f func(*libc.TLS, uintptr, int32, uintptr)
 24552  			}{idxRemFunc})), uintptr(0), uintptr(0))
 24553  	}
 24554  	if *(*int32)(unsafe.Pointer(bp + 4)) == SQLITE_OK {
 24555  		*(*int32)(unsafe.Pointer(bp + 4)) = sqlite3.Xsqlite3_create_function(tls,
 24556  			(*sqlite3expert)(unsafe.Pointer(p)).Fdb, ts+1728, 0, SQLITE_UTF8, bp+8, *(*uintptr)(unsafe.Pointer(&struct {
 24557  				f func(*libc.TLS, uintptr, int32, uintptr)
 24558  			}{idxSampleFunc})), uintptr(0), uintptr(0))
 24559  	}
 24560  
 24561  	if *(*int32)(unsafe.Pointer(bp + 4)) == SQLITE_OK {
 24562  		(*IdxRemCtx)(unsafe.Pointer(pCtx)).FnSlot = *(*int32)(unsafe.Pointer(bp)) + 1
 24563  		*(*int32)(unsafe.Pointer(bp + 4)) = idxPrepareStmt(tls, (*sqlite3expert)(unsafe.Pointer(p)).Fdbm, bp+40, pzErr, zAllIndex)
 24564  	}
 24565  	if *(*int32)(unsafe.Pointer(bp + 4)) == SQLITE_OK {
 24566  		*(*int32)(unsafe.Pointer(bp + 4)) = idxPrepareStmt(tls, (*sqlite3expert)(unsafe.Pointer(p)).Fdbm, bp+48, pzErr, zIndexXInfo)
 24567  	}
 24568  	if *(*int32)(unsafe.Pointer(bp + 4)) == SQLITE_OK {
 24569  		*(*int32)(unsafe.Pointer(bp + 4)) = idxPrepareStmt(tls, (*sqlite3expert)(unsafe.Pointer(p)).Fdbm, bp+56, pzErr, zWrite)
 24570  	}
 24571  
 24572  	for *(*int32)(unsafe.Pointer(bp + 4)) == SQLITE_OK && SQLITE_ROW == sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 40))) {
 24573  		var iRowid i64 = sqlite3.Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 40)), 0)
 24574  		var zTab uintptr = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 40)), 1)
 24575  		var zIdx uintptr = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 40)), 2)
 24576  		if zTab == uintptr(0) || zIdx == uintptr(0) {
 24577  			continue
 24578  		}
 24579  		if (*sqlite3expert)(unsafe.Pointer(p)).FiSample < 100 && iPrev != iRowid {
 24580  			(*IdxSampleCtx)(unsafe.Pointer(bp + 8)).Ftarget = float64((*sqlite3expert)(unsafe.Pointer(p)).FiSample) / 100.0
 24581  			(*IdxSampleCtx)(unsafe.Pointer(bp + 8)).FiTarget = (*sqlite3expert)(unsafe.Pointer(p)).FiSample
 24582  			(*IdxSampleCtx)(unsafe.Pointer(bp + 8)).FnRow = 0.0
 24583  			(*IdxSampleCtx)(unsafe.Pointer(bp + 8)).FnRet = 0.0
 24584  			*(*int32)(unsafe.Pointer(bp + 4)) = idxBuildSampleTable(tls, p, zTab)
 24585  			if *(*int32)(unsafe.Pointer(bp + 4)) != SQLITE_OK {
 24586  				break
 24587  			}
 24588  		}
 24589  		*(*int32)(unsafe.Pointer(bp + 4)) = idxPopulateOneStat1(tls, p, *(*uintptr)(unsafe.Pointer(bp + 48)), *(*uintptr)(unsafe.Pointer(bp + 56)), zTab, zIdx, pzErr)
 24590  		iPrev = iRowid
 24591  	}
 24592  	if *(*int32)(unsafe.Pointer(bp + 4)) == SQLITE_OK && (*sqlite3expert)(unsafe.Pointer(p)).FiSample < 100 {
 24593  		*(*int32)(unsafe.Pointer(bp + 4)) = sqlite3.Xsqlite3_exec(tls, (*sqlite3expert)(unsafe.Pointer(p)).Fdbv,
 24594  			ts+1340, uintptr(0), uintptr(0), uintptr(0))
 24595  	}
 24596  
 24597  	idxFinalize(tls, bp+4, *(*uintptr)(unsafe.Pointer(bp + 40)))
 24598  	idxFinalize(tls, bp+4, *(*uintptr)(unsafe.Pointer(bp + 48)))
 24599  	idxFinalize(tls, bp+4, *(*uintptr)(unsafe.Pointer(bp + 56)))
 24600  
 24601  	if pCtx != 0 {
 24602  		for i = 0; i < (*IdxRemCtx)(unsafe.Pointer(pCtx)).FnSlot; i++ {
 24603  			sqlite3.Xsqlite3_free(tls, (*IdxRemSlot)(unsafe.Pointer(pCtx+8+uintptr(i)*40)).Fz)
 24604  		}
 24605  		sqlite3.Xsqlite3_free(tls, pCtx)
 24606  	}
 24607  
 24608  	if *(*int32)(unsafe.Pointer(bp + 4)) == SQLITE_OK {
 24609  		*(*int32)(unsafe.Pointer(bp + 4)) = sqlite3.Xsqlite3_exec(tls, (*sqlite3expert)(unsafe.Pointer(p)).Fdbm, ts+1735, uintptr(0), uintptr(0), uintptr(0))
 24610  	}
 24611  
 24612  	sqlite3.Xsqlite3_exec(tls, (*sqlite3expert)(unsafe.Pointer(p)).Fdb, ts+1340, uintptr(0), uintptr(0), uintptr(0))
 24613  	return *(*int32)(unsafe.Pointer(bp + 4))
 24614  }
 24615  
 24616  func sqlite3_expert_new(tls *libc.TLS, db uintptr, pzErrmsg uintptr) uintptr {
 24617  	bp := tls.Alloc(32)
 24618  	defer tls.Free(32)
 24619  
 24620  	*(*int32)(unsafe.Pointer(bp + 16)) = SQLITE_OK
 24621  	var pNew uintptr
 24622  
 24623  	pNew = idxMalloc(tls, bp+16, int32(unsafe.Sizeof(sqlite3expert{})))
 24624  
 24625  	if *(*int32)(unsafe.Pointer(bp + 16)) == SQLITE_OK {
 24626  		(*sqlite3expert)(unsafe.Pointer(pNew)).Fdb = db
 24627  		(*sqlite3expert)(unsafe.Pointer(pNew)).FiSample = 100
 24628  		*(*int32)(unsafe.Pointer(bp + 16)) = sqlite3.Xsqlite3_open(tls, ts+1757, pNew+24)
 24629  	}
 24630  	if *(*int32)(unsafe.Pointer(bp + 16)) == SQLITE_OK {
 24631  		*(*int32)(unsafe.Pointer(bp + 16)) = sqlite3.Xsqlite3_open(tls, ts+1757, pNew+16)
 24632  		if *(*int32)(unsafe.Pointer(bp + 16)) == SQLITE_OK {
 24633  			sqlite3.Xsqlite3_db_config(tls, (*sqlite3expert)(unsafe.Pointer(pNew)).Fdbm, SQLITE_DBCONFIG_TRIGGER_EQP, libc.VaList(bp, 1, uintptr(0)))
 24634  		}
 24635  	}
 24636  
 24637  	if *(*int32)(unsafe.Pointer(bp + 16)) == SQLITE_OK {
 24638  		*(*uintptr)(unsafe.Pointer(bp + 24)) = uintptr(0)
 24639  		*(*int32)(unsafe.Pointer(bp + 16)) = idxPrintfPrepareStmt(tls, (*sqlite3expert)(unsafe.Pointer(pNew)).Fdb, bp+24, pzErrmsg,
 24640  			ts+1766, 0)
 24641  		for *(*int32)(unsafe.Pointer(bp + 16)) == SQLITE_OK && SQLITE_ROW == sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24))) {
 24642  			var zSql uintptr = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), 0)
 24643  			if zSql != 0 {
 24644  				*(*int32)(unsafe.Pointer(bp + 16)) = sqlite3.Xsqlite3_exec(tls, (*sqlite3expert)(unsafe.Pointer(pNew)).Fdbm, zSql, uintptr(0), uintptr(0), pzErrmsg)
 24645  			}
 24646  		}
 24647  		idxFinalize(tls, bp+16, *(*uintptr)(unsafe.Pointer(bp + 24)))
 24648  	}
 24649  
 24650  	if *(*int32)(unsafe.Pointer(bp + 16)) == SQLITE_OK {
 24651  		*(*int32)(unsafe.Pointer(bp + 16)) = idxCreateVtabSchema(tls, pNew, pzErrmsg)
 24652  	}
 24653  
 24654  	if *(*int32)(unsafe.Pointer(bp + 16)) == SQLITE_OK {
 24655  		sqlite3.Xsqlite3_set_authorizer(tls, (*sqlite3expert)(unsafe.Pointer(pNew)).Fdbv, *(*uintptr)(unsafe.Pointer(&struct {
 24656  			f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32
 24657  		}{idxAuthCallback})), pNew)
 24658  	}
 24659  
 24660  	if *(*int32)(unsafe.Pointer(bp + 16)) != SQLITE_OK {
 24661  		sqlite3_expert_destroy(tls, pNew)
 24662  		pNew = uintptr(0)
 24663  	}
 24664  	return pNew
 24665  }
 24666  
 24667  func sqlite3_expert_config(tls *libc.TLS, p uintptr, op int32, va uintptr) int32 {
 24668  	var rc int32 = SQLITE_OK
 24669  	var ap va_list
 24670  	_ = ap
 24671  	ap = va
 24672  	switch op {
 24673  	case EXPERT_CONFIG_SAMPLE:
 24674  		{
 24675  			var iVal int32 = libc.VaInt32(&ap)
 24676  			if iVal < 0 {
 24677  				iVal = 0
 24678  			}
 24679  			if iVal > 100 {
 24680  				iVal = 100
 24681  			}
 24682  			(*sqlite3expert)(unsafe.Pointer(p)).FiSample = iVal
 24683  			break
 24684  
 24685  		}
 24686  	default:
 24687  		rc = SQLITE_NOTFOUND
 24688  		break
 24689  	}
 24690  
 24691  	_ = ap
 24692  	return rc
 24693  }
 24694  
 24695  func sqlite3_expert_sql(tls *libc.TLS, p uintptr, zSql uintptr, pzErr uintptr) int32 {
 24696  	bp := tls.Alloc(20)
 24697  	defer tls.Free(20)
 24698  
 24699  	var pScanOrig uintptr = (*sqlite3expert)(unsafe.Pointer(p)).FpScan
 24700  	var pStmtOrig uintptr = (*sqlite3expert)(unsafe.Pointer(p)).FpStatement
 24701  	*(*int32)(unsafe.Pointer(bp + 16)) = SQLITE_OK
 24702  	*(*uintptr)(unsafe.Pointer(bp + 8)) = zSql
 24703  
 24704  	if (*sqlite3expert)(unsafe.Pointer(p)).FbRun != 0 {
 24705  		return SQLITE_MISUSE
 24706  	}
 24707  
 24708  	for *(*int32)(unsafe.Pointer(bp + 16)) == SQLITE_OK && *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 && *(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))) != 0 {
 24709  		*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
 24710  		*(*int32)(unsafe.Pointer(bp + 16)) = sqlite3.Xsqlite3_prepare_v2(tls, (*sqlite3expert)(unsafe.Pointer(p)).Fdbv, *(*uintptr)(unsafe.Pointer(bp + 8)), -1, bp, bp+8)
 24711  		if *(*int32)(unsafe.Pointer(bp + 16)) == SQLITE_OK {
 24712  			if *(*uintptr)(unsafe.Pointer(bp)) != 0 {
 24713  				var pNew uintptr
 24714  				var z uintptr = sqlite3.Xsqlite3_sql(tls, *(*uintptr)(unsafe.Pointer(bp)))
 24715  				var n int32 = int32(libc.Xstrlen(tls, z))
 24716  				pNew = idxMalloc(tls, bp+16, int32(uint64(unsafe.Sizeof(IdxStatement{}))+uint64(n)+uint64(1)))
 24717  				if *(*int32)(unsafe.Pointer(bp + 16)) == SQLITE_OK {
 24718  					(*IdxStatement)(unsafe.Pointer(pNew)).FzSql = pNew + 1*40
 24719  					libc.Xmemcpy(tls, (*IdxStatement)(unsafe.Pointer(pNew)).FzSql, z, uint64(n+1))
 24720  					(*IdxStatement)(unsafe.Pointer(pNew)).FpNext = (*sqlite3expert)(unsafe.Pointer(p)).FpStatement
 24721  					if (*sqlite3expert)(unsafe.Pointer(p)).FpStatement != 0 {
 24722  						(*IdxStatement)(unsafe.Pointer(pNew)).FiId = (*IdxStatement)(unsafe.Pointer((*sqlite3expert)(unsafe.Pointer(p)).FpStatement)).FiId + 1
 24723  					}
 24724  					(*sqlite3expert)(unsafe.Pointer(p)).FpStatement = pNew
 24725  				}
 24726  				sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp)))
 24727  			}
 24728  		} else {
 24729  			idxDatabaseError(tls, (*sqlite3expert)(unsafe.Pointer(p)).Fdbv, pzErr)
 24730  		}
 24731  	}
 24732  
 24733  	if *(*int32)(unsafe.Pointer(bp + 16)) != SQLITE_OK {
 24734  		idxScanFree(tls, (*sqlite3expert)(unsafe.Pointer(p)).FpScan, pScanOrig)
 24735  		idxStatementFree(tls, (*sqlite3expert)(unsafe.Pointer(p)).FpStatement, pStmtOrig)
 24736  		(*sqlite3expert)(unsafe.Pointer(p)).FpScan = pScanOrig
 24737  		(*sqlite3expert)(unsafe.Pointer(p)).FpStatement = pStmtOrig
 24738  	}
 24739  
 24740  	return *(*int32)(unsafe.Pointer(bp + 16))
 24741  }
 24742  
 24743  func sqlite3_expert_analyze(tls *libc.TLS, p uintptr, pzErr uintptr) int32 {
 24744  	bp := tls.Alloc(28)
 24745  	defer tls.Free(28)
 24746  
 24747  	var pEntry uintptr
 24748  
 24749  	*(*int32)(unsafe.Pointer(bp + 24)) = idxProcessTriggers(tls, p, pzErr)
 24750  
 24751  	if *(*int32)(unsafe.Pointer(bp + 24)) == SQLITE_OK {
 24752  		*(*int32)(unsafe.Pointer(bp + 24)) = idxCreateCandidates(tls, p)
 24753  	} else if *(*int32)(unsafe.Pointer(bp + 24)) == SQLITE_BUSY|int32(3)<<8 {
 24754  		if pzErr != 0 {
 24755  			*(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+1865, 0)
 24756  		}
 24757  		return *(*int32)(unsafe.Pointer(bp + 24))
 24758  	}
 24759  
 24760  	if *(*int32)(unsafe.Pointer(bp + 24)) == SQLITE_OK {
 24761  		*(*int32)(unsafe.Pointer(bp + 24)) = idxPopulateStat1(tls, p, pzErr)
 24762  	}
 24763  
 24764  	for pEntry = (*sqlite3expert)(unsafe.Pointer(p)).FhIdx.FpFirst; pEntry != 0; pEntry = (*IdxHashEntry)(unsafe.Pointer(pEntry)).FpNext {
 24765  		(*sqlite3expert)(unsafe.Pointer(p)).FzCandidates = idxAppendText(tls, bp+24, (*sqlite3expert)(unsafe.Pointer(p)).FzCandidates,
 24766  			ts+1909, libc.VaList(bp, (*IdxHashEntry)(unsafe.Pointer(pEntry)).FzVal,
 24767  				func() uintptr {
 24768  					if (*IdxHashEntry)(unsafe.Pointer(pEntry)).FzVal2 != 0 {
 24769  						return ts + 1918
 24770  					}
 24771  					return ts + 584
 24772  				}(), (*IdxHashEntry)(unsafe.Pointer(pEntry)).FzVal2))
 24773  	}
 24774  
 24775  	if *(*int32)(unsafe.Pointer(bp + 24)) == SQLITE_OK {
 24776  		*(*int32)(unsafe.Pointer(bp + 24)) = idxFindIndexes(tls, p, pzErr)
 24777  	}
 24778  
 24779  	if *(*int32)(unsafe.Pointer(bp + 24)) == SQLITE_OK {
 24780  		(*sqlite3expert)(unsafe.Pointer(p)).FbRun = 1
 24781  	}
 24782  	return *(*int32)(unsafe.Pointer(bp + 24))
 24783  }
 24784  
 24785  func sqlite3_expert_count(tls *libc.TLS, p uintptr) int32 {
 24786  	var nRet int32 = 0
 24787  	if (*sqlite3expert)(unsafe.Pointer(p)).FpStatement != 0 {
 24788  		nRet = (*IdxStatement)(unsafe.Pointer((*sqlite3expert)(unsafe.Pointer(p)).FpStatement)).FiId + 1
 24789  	}
 24790  	return nRet
 24791  }
 24792  
 24793  func sqlite3_expert_report(tls *libc.TLS, p uintptr, iStmt int32, eReport int32) uintptr {
 24794  	var zRet uintptr = uintptr(0)
 24795  	var pStmt uintptr
 24796  
 24797  	if (*sqlite3expert)(unsafe.Pointer(p)).FbRun == 0 {
 24798  		return uintptr(0)
 24799  	}
 24800  	for pStmt = (*sqlite3expert)(unsafe.Pointer(p)).FpStatement; pStmt != 0 && (*IdxStatement)(unsafe.Pointer(pStmt)).FiId != iStmt; pStmt = (*IdxStatement)(unsafe.Pointer(pStmt)).FpNext {
 24801  	}
 24802  	switch eReport {
 24803  	case EXPERT_REPORT_SQL:
 24804  		if pStmt != 0 {
 24805  			zRet = (*IdxStatement)(unsafe.Pointer(pStmt)).FzSql
 24806  		}
 24807  		break
 24808  	case EXPERT_REPORT_INDEXES:
 24809  		if pStmt != 0 {
 24810  			zRet = (*IdxStatement)(unsafe.Pointer(pStmt)).FzIdx
 24811  		}
 24812  		break
 24813  	case EXPERT_REPORT_PLAN:
 24814  		if pStmt != 0 {
 24815  			zRet = (*IdxStatement)(unsafe.Pointer(pStmt)).FzEQP
 24816  		}
 24817  		break
 24818  	case EXPERT_REPORT_CANDIDATES:
 24819  		zRet = (*sqlite3expert)(unsafe.Pointer(p)).FzCandidates
 24820  		break
 24821  	}
 24822  	return zRet
 24823  }
 24824  
 24825  func sqlite3_expert_destroy(tls *libc.TLS, p uintptr) {
 24826  	if p != 0 {
 24827  		sqlite3.Xsqlite3_close(tls, (*sqlite3expert)(unsafe.Pointer(p)).Fdbm)
 24828  		sqlite3.Xsqlite3_close(tls, (*sqlite3expert)(unsafe.Pointer(p)).Fdbv)
 24829  		idxScanFree(tls, (*sqlite3expert)(unsafe.Pointer(p)).FpScan, uintptr(0))
 24830  		idxStatementFree(tls, (*sqlite3expert)(unsafe.Pointer(p)).FpStatement, uintptr(0))
 24831  		idxTableFree(tls, (*sqlite3expert)(unsafe.Pointer(p)).FpTable)
 24832  		idxWriteFree(tls, (*sqlite3expert)(unsafe.Pointer(p)).FpWrite)
 24833  		idxHashClear(tls, p+88)
 24834  		sqlite3.Xsqlite3_free(tls, (*sqlite3expert)(unsafe.Pointer(p)).FzCandidates)
 24835  		sqlite3.Xsqlite3_free(tls, p)
 24836  	}
 24837  }
 24838  
 24839  type CHAR = int8
 24840  type SHORT = int16
 24841  type LONG = int32
 24842  
 24843  type ClientData = uintptr
 24844  
 24845  type Tcl_WideInt = int64
 24846  type Tcl_WideUInt = uint64
 24847  
 24848  type Tcl_Interp1 = struct {
 24849  	FresultDontUse    uintptr
 24850  	FfreeProcDontUse  uintptr
 24851  	FerrorLineDontUse int32
 24852  	F__ccgo_pad1      [4]byte
 24853  }
 24854  
 24855  type Tcl_Interp = Tcl_Interp1
 24856  
 24857  type Tcl_AsyncHandler = uintptr
 24858  type Tcl_Channel = uintptr
 24859  type Tcl_ChannelTypeVersion = uintptr
 24860  type Tcl_Command = uintptr
 24861  type Tcl_Condition = uintptr
 24862  type Tcl_Dict = uintptr
 24863  type Tcl_EncodingState = uintptr
 24864  type Tcl_Encoding = uintptr
 24865  type Tcl_Event1 = struct {
 24866  	Fproc    uintptr
 24867  	FnextPtr uintptr
 24868  }
 24869  
 24870  type Tcl_Event = Tcl_Event1
 24871  type Tcl_InterpState = uintptr
 24872  type Tcl_LoadHandle = uintptr
 24873  type Tcl_Mutex = uintptr
 24874  type Tcl_Pid = uintptr
 24875  type Tcl_RegExp = uintptr
 24876  type Tcl_ThreadDataKey = uintptr
 24877  type Tcl_ThreadId = uintptr
 24878  type Tcl_TimerToken = uintptr
 24879  type Tcl_Trace = uintptr
 24880  type Tcl_Var = uintptr
 24881  type Tcl_ZlibStream = uintptr
 24882  
 24883  type Tcl_RegExpIndices1 = struct {
 24884  	Fstart int32
 24885  	Fend   int32
 24886  }
 24887  
 24888  type Tcl_RegExpIndices = Tcl_RegExpIndices1
 24889  
 24890  type Tcl_RegExpInfo1 = struct {
 24891  	Fnsubs       int32
 24892  	F__ccgo_pad1 [4]byte
 24893  	Fmatches     uintptr
 24894  	FextendStart int32
 24895  	Freserved    int32
 24896  }
 24897  
 24898  type Tcl_RegExpInfo = Tcl_RegExpInfo1
 24899  
 24900  type Tcl_Stat_ = uintptr
 24901  type stat = struct {
 24902  	Fst_dev      _dev_t
 24903  	Fst_ino      _ino_t
 24904  	Fst_mode     uint16
 24905  	Fst_nlink    int16
 24906  	Fst_uid      int16
 24907  	Fst_gid      int16
 24908  	F__ccgo_pad1 [2]byte
 24909  	Fst_rdev     _dev_t
 24910  	Fst_size     _off_t
 24911  	Fst_atime    time_t
 24912  	Fst_mtime    time_t
 24913  	Fst_ctime    time_t
 24914  }
 24915  
 24916  type Tcl_OldStat_ = uintptr
 24917  
 24918  type Tcl_ValueType = uint32
 24919  
 24920  type Tcl_Value1 = struct {
 24921  	Ftype        Tcl_ValueType
 24922  	FintValue    int32
 24923  	FdoubleValue float64
 24924  	FwideValue   Tcl_WideInt
 24925  }
 24926  
 24927  type Tcl_Value = Tcl_Value1
 24928  
 24929  type Tcl_Obj1 = struct {
 24930  	FrefCount    int32
 24931  	F__ccgo_pad1 [4]byte
 24932  	Fbytes       uintptr
 24933  	Flength      int32
 24934  	F__ccgo_pad2 [4]byte
 24935  	FtypePtr     uintptr
 24936  	FinternalRep struct {
 24937  		F__ccgo_pad1 [0]uint64
 24938  		FlongValue   int32
 24939  		F__ccgo_pad2 [12]byte
 24940  	}
 24941  }
 24942  
 24943  type Tcl_ObjType1 = struct {
 24944  	Fname             uintptr
 24945  	FfreeIntRepProc   uintptr
 24946  	FdupIntRepProc    uintptr
 24947  	FupdateStringProc uintptr
 24948  	FsetFromAnyProc   uintptr
 24949  }
 24950  
 24951  type Tcl_ObjType = Tcl_ObjType1
 24952  
 24953  type Tcl_Obj = Tcl_Obj1
 24954  
 24955  type Tcl_SavedResult1 = struct {
 24956  	Fresult       uintptr
 24957  	FfreeProc     uintptr
 24958  	FobjResultPtr uintptr
 24959  	FappendResult uintptr
 24960  	FappendAvl    int32
 24961  	FappendUsed   int32
 24962  	FresultSpace  [201]int8
 24963  	F__ccgo_pad1  [7]byte
 24964  }
 24965  
 24966  type Tcl_SavedResult = Tcl_SavedResult1
 24967  
 24968  type Tcl_Namespace1 = struct {
 24969  	Fname       uintptr
 24970  	FfullName   uintptr
 24971  	FclientData ClientData
 24972  	FdeleteProc uintptr
 24973  	FparentPtr  uintptr
 24974  }
 24975  
 24976  type Tcl_Namespace = Tcl_Namespace1
 24977  
 24978  type Tcl_CallFrame1 = struct {
 24979  	FnsPtr       uintptr
 24980  	Fdummy1      int32
 24981  	Fdummy2      int32
 24982  	Fdummy3      uintptr
 24983  	Fdummy4      uintptr
 24984  	Fdummy5      uintptr
 24985  	Fdummy6      int32
 24986  	F__ccgo_pad1 [4]byte
 24987  	Fdummy7      uintptr
 24988  	Fdummy8      uintptr
 24989  	Fdummy9      int32
 24990  	F__ccgo_pad2 [4]byte
 24991  	Fdummy10     uintptr
 24992  	Fdummy11     uintptr
 24993  	Fdummy12     uintptr
 24994  	Fdummy13     uintptr
 24995  }
 24996  
 24997  type Tcl_CallFrame = Tcl_CallFrame1
 24998  
 24999  type Tcl_CmdInfo1 = struct {
 25000  	FisNativeObjectProc int32
 25001  	F__ccgo_pad1        [4]byte
 25002  	FobjProc            uintptr
 25003  	FobjClientData      ClientData
 25004  	Fproc               uintptr
 25005  	FclientData         ClientData
 25006  	FdeleteProc         uintptr
 25007  	FdeleteData         ClientData
 25008  	FnamespacePtr       uintptr
 25009  }
 25010  
 25011  type Tcl_CmdInfo = Tcl_CmdInfo1
 25012  
 25013  type Tcl_DString1 = struct {
 25014  	Fstring      uintptr
 25015  	Flength      int32
 25016  	FspaceAvl    int32
 25017  	FstaticSpace [200]int8
 25018  }
 25019  
 25020  type Tcl_DString = Tcl_DString1
 25021  
 25022  type Tcl_HashKeyType1 = struct {
 25023  	Fversion         int32
 25024  	Fflags           int32
 25025  	FhashKeyProc     uintptr
 25026  	FcompareKeysProc uintptr
 25027  	FallocEntryProc  uintptr
 25028  	FfreeEntryProc   uintptr
 25029  }
 25030  
 25031  type Tcl_HashKeyType = Tcl_HashKeyType1
 25032  type Tcl_HashTable1 = struct {
 25033  	Fbuckets       uintptr
 25034  	FstaticBuckets [4]uintptr
 25035  	FnumBuckets    int32
 25036  	FnumEntries    int32
 25037  	FrebuildSize   int32
 25038  	FdownShift     int32
 25039  	Fmask          int32
 25040  	FkeyType       int32
 25041  	FfindProc      uintptr
 25042  	FcreateProc    uintptr
 25043  	FtypePtr       uintptr
 25044  }
 25045  
 25046  type Tcl_HashTable = Tcl_HashTable1
 25047  type Tcl_HashEntry1 = struct {
 25048  	FnextPtr    uintptr
 25049  	FtablePtr   uintptr
 25050  	Fhash       uintptr
 25051  	FclientData ClientData
 25052  	Fkey        struct{ FoneWordValue uintptr }
 25053  }
 25054  
 25055  type Tcl_HashEntry = Tcl_HashEntry1
 25056  
 25057  type Tcl_HashSearch1 = struct {
 25058  	FtablePtr     uintptr
 25059  	FnextIndex    int32
 25060  	F__ccgo_pad1  [4]byte
 25061  	FnextEntryPtr uintptr
 25062  }
 25063  
 25064  type Tcl_HashSearch = Tcl_HashSearch1
 25065  
 25066  type Tcl_DictSearch = struct {
 25067  	Fnext          uintptr
 25068  	Fepoch         int32
 25069  	F__ccgo_pad1   [4]byte
 25070  	FdictionaryPtr Tcl_Dict
 25071  }
 25072  
 25073  type Tcl_QueuePosition = uint32
 25074  
 25075  type Tcl_Time1 = struct {
 25076  	Fsec  int32
 25077  	Fusec int32
 25078  }
 25079  
 25080  type Tcl_Time = Tcl_Time1
 25081  
 25082  type Tcl_ChannelType1 = struct {
 25083  	FtypeName         uintptr
 25084  	Fversion          Tcl_ChannelTypeVersion
 25085  	FcloseProc        uintptr
 25086  	FinputProc        uintptr
 25087  	FoutputProc       uintptr
 25088  	FseekProc         uintptr
 25089  	FsetOptionProc    uintptr
 25090  	FgetOptionProc    uintptr
 25091  	FwatchProc        uintptr
 25092  	FgetHandleProc    uintptr
 25093  	Fclose2Proc       uintptr
 25094  	FblockModeProc    uintptr
 25095  	FflushProc        uintptr
 25096  	FhandlerProc      uintptr
 25097  	FwideSeekProc     uintptr
 25098  	FthreadActionProc uintptr
 25099  	FtruncateProc     uintptr
 25100  }
 25101  
 25102  type Tcl_ChannelType = Tcl_ChannelType1
 25103  
 25104  type Tcl_PathType = uint32
 25105  
 25106  type Tcl_GlobTypeData1 = struct {
 25107  	Ftype       int32
 25108  	Fperm       int32
 25109  	FmacType    uintptr
 25110  	FmacCreator uintptr
 25111  }
 25112  
 25113  type Tcl_GlobTypeData = Tcl_GlobTypeData1
 25114  
 25115  type Tcl_FSVersion = uintptr
 25116  
 25117  type Tcl_Filesystem1 = struct {
 25118  	FtypeName                 uintptr
 25119  	FstructureLength          int32
 25120  	F__ccgo_pad1              [4]byte
 25121  	Fversion                  Tcl_FSVersion
 25122  	FpathInFilesystemProc     uintptr
 25123  	FdupInternalRepProc       uintptr
 25124  	FfreeInternalRepProc      uintptr
 25125  	FinternalToNormalizedProc uintptr
 25126  	FcreateInternalRepProc    uintptr
 25127  	FnormalizePathProc        uintptr
 25128  	FfilesystemPathTypeProc   uintptr
 25129  	FfilesystemSeparatorProc  uintptr
 25130  	FstatProc                 uintptr
 25131  	FaccessProc               uintptr
 25132  	FopenFileChannelProc      uintptr
 25133  	FmatchInDirectoryProc     uintptr
 25134  	FutimeProc                uintptr
 25135  	FlinkProc                 uintptr
 25136  	FlistVolumesProc          uintptr
 25137  	FfileAttrStringsProc      uintptr
 25138  	FfileAttrsGetProc         uintptr
 25139  	FfileAttrsSetProc         uintptr
 25140  	FcreateDirectoryProc      uintptr
 25141  	FremoveDirectoryProc      uintptr
 25142  	FdeleteFileProc           uintptr
 25143  	FcopyFileProc             uintptr
 25144  	FrenameFileProc           uintptr
 25145  	FcopyDirectoryProc        uintptr
 25146  	FlstatProc                uintptr
 25147  	FloadFileProc             uintptr
 25148  	FgetCwdProc               uintptr
 25149  	FchdirProc                uintptr
 25150  }
 25151  
 25152  type Tcl_Filesystem = Tcl_Filesystem1
 25153  
 25154  type Tcl_NotifierProcs1 = struct {
 25155  	FsetTimerProc          uintptr
 25156  	FwaitForEventProc      uintptr
 25157  	FcreateFileHandlerProc uintptr
 25158  	FdeleteFileHandlerProc uintptr
 25159  	FinitNotifierProc      uintptr
 25160  	FfinalizeNotifierProc  uintptr
 25161  	FalertNotifierProc     uintptr
 25162  	FserviceModeHookProc   uintptr
 25163  }
 25164  
 25165  type Tcl_NotifierProcs = Tcl_NotifierProcs1
 25166  
 25167  type Tcl_Token1 = struct {
 25168  	Ftype          int32
 25169  	F__ccgo_pad1   [4]byte
 25170  	Fstart         uintptr
 25171  	Fsize          int32
 25172  	FnumComponents int32
 25173  }
 25174  
 25175  type Tcl_Token = Tcl_Token1
 25176  
 25177  type Tcl_Parse1 = struct {
 25178  	FcommentStart    uintptr
 25179  	FcommentSize     int32
 25180  	F__ccgo_pad1     [4]byte
 25181  	FcommandStart    uintptr
 25182  	FcommandSize     int32
 25183  	FnumWords        int32
 25184  	FtokenPtr        uintptr
 25185  	FnumTokens       int32
 25186  	FtokensAvailable int32
 25187  	FerrorType       int32
 25188  	F__ccgo_pad2     [4]byte
 25189  	Fstring          uintptr
 25190  	Fend             uintptr
 25191  	Finterp          uintptr
 25192  	Fterm            uintptr
 25193  	Fincomplete      int32
 25194  	F__ccgo_pad3     [4]byte
 25195  	FstaticTokens    [20]Tcl_Token
 25196  }
 25197  
 25198  type Tcl_Parse = Tcl_Parse1
 25199  
 25200  type Tcl_EncodingType1 = struct {
 25201  	FencodingName uintptr
 25202  	FtoUtfProc    uintptr
 25203  	FfromUtfProc  uintptr
 25204  	FfreeProc     uintptr
 25205  	FclientData   ClientData
 25206  	FnullSize     int32
 25207  	F__ccgo_pad1  [4]byte
 25208  }
 25209  
 25210  type Tcl_EncodingType = Tcl_EncodingType1
 25211  
 25212  type Tcl_UniChar = uint16
 25213  
 25214  type Tcl_Config1 = struct {
 25215  	Fkey   uintptr
 25216  	Fvalue uintptr
 25217  }
 25218  
 25219  type Tcl_Config = Tcl_Config1
 25220  type mp_digit = uint32
 25221  
 25222  type Tcl_ArgvInfo = struct {
 25223  	Ftype        int32
 25224  	F__ccgo_pad1 [4]byte
 25225  	FkeyStr      uintptr
 25226  	FsrcPtr      uintptr
 25227  	FdstPtr      uintptr
 25228  	FhelpStr     uintptr
 25229  	FclientData  ClientData
 25230  }
 25231  
 25232  type TclPlatStubs1 = struct {
 25233  	Fmagic             int32
 25234  	F__ccgo_pad1       [4]byte
 25235  	Fhooks             uintptr
 25236  	Ftcl_WinUtfToTChar uintptr
 25237  	Ftcl_WinTCharToUtf uintptr
 25238  }
 25239  
 25240  type TclStubHooks = struct {
 25241  	FtclPlatStubs    uintptr
 25242  	FtclIntStubs     uintptr
 25243  	FtclIntPlatStubs uintptr
 25244  }
 25245  
 25246  type TclStubs = struct {
 25247  	Fmagic                                  int32
 25248  	F__ccgo_pad1                            [4]byte
 25249  	Fhooks                                  uintptr
 25250  	Ftcl_PkgProvideEx                       uintptr
 25251  	Ftcl_PkgRequireEx                       uintptr
 25252  	Ftcl_Panic                              uintptr
 25253  	Ftcl_Alloc                              uintptr
 25254  	Ftcl_Free                               uintptr
 25255  	Ftcl_Realloc                            uintptr
 25256  	Ftcl_DbCkalloc                          uintptr
 25257  	Ftcl_DbCkfree                           uintptr
 25258  	Ftcl_DbCkrealloc                        uintptr
 25259  	Freserved9                              uintptr
 25260  	Freserved10                             uintptr
 25261  	Ftcl_SetTimer                           uintptr
 25262  	Ftcl_Sleep                              uintptr
 25263  	Ftcl_WaitForEvent                       uintptr
 25264  	Ftcl_AppendAllObjTypes                  uintptr
 25265  	Ftcl_AppendStringsToObj                 uintptr
 25266  	Ftcl_AppendToObj                        uintptr
 25267  	Ftcl_ConcatObj                          uintptr
 25268  	Ftcl_ConvertToType                      uintptr
 25269  	Ftcl_DbDecrRefCount                     uintptr
 25270  	Ftcl_DbIncrRefCount                     uintptr
 25271  	Ftcl_DbIsShared                         uintptr
 25272  	Ftcl_DbNewBooleanObj                    uintptr
 25273  	Ftcl_DbNewByteArrayObj                  uintptr
 25274  	Ftcl_DbNewDoubleObj                     uintptr
 25275  	Ftcl_DbNewListObj                       uintptr
 25276  	Ftcl_DbNewLongObj                       uintptr
 25277  	Ftcl_DbNewObj                           uintptr
 25278  	Ftcl_DbNewStringObj                     uintptr
 25279  	Ftcl_DuplicateObj                       uintptr
 25280  	FtclFreeObj                             uintptr
 25281  	Ftcl_GetBoolean                         uintptr
 25282  	Ftcl_GetBooleanFromObj                  uintptr
 25283  	Ftcl_GetByteArrayFromObj                uintptr
 25284  	Ftcl_GetDouble                          uintptr
 25285  	Ftcl_GetDoubleFromObj                   uintptr
 25286  	Ftcl_GetIndexFromObj                    uintptr
 25287  	Ftcl_GetInt                             uintptr
 25288  	Ftcl_GetIntFromObj                      uintptr
 25289  	Ftcl_GetLongFromObj                     uintptr
 25290  	Ftcl_GetObjType                         uintptr
 25291  	Ftcl_GetStringFromObj                   uintptr
 25292  	Ftcl_InvalidateStringRep                uintptr
 25293  	Ftcl_ListObjAppendList                  uintptr
 25294  	Ftcl_ListObjAppendElement               uintptr
 25295  	Ftcl_ListObjGetElements                 uintptr
 25296  	Ftcl_ListObjIndex                       uintptr
 25297  	Ftcl_ListObjLength                      uintptr
 25298  	Ftcl_ListObjReplace                     uintptr
 25299  	Ftcl_NewBooleanObj                      uintptr
 25300  	Ftcl_NewByteArrayObj                    uintptr
 25301  	Ftcl_NewDoubleObj                       uintptr
 25302  	Ftcl_NewIntObj                          uintptr
 25303  	Ftcl_NewListObj                         uintptr
 25304  	Ftcl_NewLongObj                         uintptr
 25305  	Ftcl_NewObj                             uintptr
 25306  	Ftcl_NewStringObj                       uintptr
 25307  	Ftcl_SetBooleanObj                      uintptr
 25308  	Ftcl_SetByteArrayLength                 uintptr
 25309  	Ftcl_SetByteArrayObj                    uintptr
 25310  	Ftcl_SetDoubleObj                       uintptr
 25311  	Ftcl_SetIntObj                          uintptr
 25312  	Ftcl_SetListObj                         uintptr
 25313  	Ftcl_SetLongObj                         uintptr
 25314  	Ftcl_SetObjLength                       uintptr
 25315  	Ftcl_SetStringObj                       uintptr
 25316  	Ftcl_AddErrorInfo                       uintptr
 25317  	Ftcl_AddObjErrorInfo                    uintptr
 25318  	Ftcl_AllowExceptions                    uintptr
 25319  	Ftcl_AppendElement                      uintptr
 25320  	Ftcl_AppendResult                       uintptr
 25321  	Ftcl_AsyncCreate                        uintptr
 25322  	Ftcl_AsyncDelete                        uintptr
 25323  	Ftcl_AsyncInvoke                        uintptr
 25324  	Ftcl_AsyncMark                          uintptr
 25325  	Ftcl_AsyncReady                         uintptr
 25326  	Ftcl_BackgroundError                    uintptr
 25327  	Ftcl_Backslash                          uintptr
 25328  	Ftcl_BadChannelOption                   uintptr
 25329  	Ftcl_CallWhenDeleted                    uintptr
 25330  	Ftcl_CancelIdleCall                     uintptr
 25331  	Ftcl_Close                              uintptr
 25332  	Ftcl_CommandComplete                    uintptr
 25333  	Ftcl_Concat                             uintptr
 25334  	Ftcl_ConvertElement                     uintptr
 25335  	Ftcl_ConvertCountedElement              uintptr
 25336  	Ftcl_CreateAlias                        uintptr
 25337  	Ftcl_CreateAliasObj                     uintptr
 25338  	Ftcl_CreateChannel                      uintptr
 25339  	Ftcl_CreateChannelHandler               uintptr
 25340  	Ftcl_CreateCloseHandler                 uintptr
 25341  	Ftcl_CreateCommand                      uintptr
 25342  	Ftcl_CreateEventSource                  uintptr
 25343  	Ftcl_CreateExitHandler                  uintptr
 25344  	Ftcl_CreateInterp                       uintptr
 25345  	Ftcl_CreateMathFunc                     uintptr
 25346  	Ftcl_CreateObjCommand                   uintptr
 25347  	Ftcl_CreateSlave                        uintptr
 25348  	Ftcl_CreateTimerHandler                 uintptr
 25349  	Ftcl_CreateTrace                        uintptr
 25350  	Ftcl_DeleteAssocData                    uintptr
 25351  	Ftcl_DeleteChannelHandler               uintptr
 25352  	Ftcl_DeleteCloseHandler                 uintptr
 25353  	Ftcl_DeleteCommand                      uintptr
 25354  	Ftcl_DeleteCommandFromToken             uintptr
 25355  	Ftcl_DeleteEvents                       uintptr
 25356  	Ftcl_DeleteEventSource                  uintptr
 25357  	Ftcl_DeleteExitHandler                  uintptr
 25358  	Ftcl_DeleteHashEntry                    uintptr
 25359  	Ftcl_DeleteHashTable                    uintptr
 25360  	Ftcl_DeleteInterp                       uintptr
 25361  	Ftcl_DetachPids                         uintptr
 25362  	Ftcl_DeleteTimerHandler                 uintptr
 25363  	Ftcl_DeleteTrace                        uintptr
 25364  	Ftcl_DontCallWhenDeleted                uintptr
 25365  	Ftcl_DoOneEvent                         uintptr
 25366  	Ftcl_DoWhenIdle                         uintptr
 25367  	Ftcl_DStringAppend                      uintptr
 25368  	Ftcl_DStringAppendElement               uintptr
 25369  	Ftcl_DStringEndSublist                  uintptr
 25370  	Ftcl_DStringFree                        uintptr
 25371  	Ftcl_DStringGetResult                   uintptr
 25372  	Ftcl_DStringInit                        uintptr
 25373  	Ftcl_DStringResult                      uintptr
 25374  	Ftcl_DStringSetLength                   uintptr
 25375  	Ftcl_DStringStartSublist                uintptr
 25376  	Ftcl_Eof                                uintptr
 25377  	Ftcl_ErrnoId                            uintptr
 25378  	Ftcl_ErrnoMsg                           uintptr
 25379  	Ftcl_Eval                               uintptr
 25380  	Ftcl_EvalFile                           uintptr
 25381  	Ftcl_EvalObj                            uintptr
 25382  	Ftcl_EventuallyFree                     uintptr
 25383  	Ftcl_Exit                               uintptr
 25384  	Ftcl_ExposeCommand                      uintptr
 25385  	Ftcl_ExprBoolean                        uintptr
 25386  	Ftcl_ExprBooleanObj                     uintptr
 25387  	Ftcl_ExprDouble                         uintptr
 25388  	Ftcl_ExprDoubleObj                      uintptr
 25389  	Ftcl_ExprLong                           uintptr
 25390  	Ftcl_ExprLongObj                        uintptr
 25391  	Ftcl_ExprObj                            uintptr
 25392  	Ftcl_ExprString                         uintptr
 25393  	Ftcl_Finalize                           uintptr
 25394  	Ftcl_FindExecutable                     uintptr
 25395  	Ftcl_FirstHashEntry                     uintptr
 25396  	Ftcl_Flush                              uintptr
 25397  	Ftcl_FreeResult                         uintptr
 25398  	Ftcl_GetAlias                           uintptr
 25399  	Ftcl_GetAliasObj                        uintptr
 25400  	Ftcl_GetAssocData                       uintptr
 25401  	Ftcl_GetChannel                         uintptr
 25402  	Ftcl_GetChannelBufferSize               uintptr
 25403  	Ftcl_GetChannelHandle                   uintptr
 25404  	Ftcl_GetChannelInstanceData             uintptr
 25405  	Ftcl_GetChannelMode                     uintptr
 25406  	Ftcl_GetChannelName                     uintptr
 25407  	Ftcl_GetChannelOption                   uintptr
 25408  	Ftcl_GetChannelType                     uintptr
 25409  	Ftcl_GetCommandInfo                     uintptr
 25410  	Ftcl_GetCommandName                     uintptr
 25411  	Ftcl_GetErrno                           uintptr
 25412  	Ftcl_GetHostName                        uintptr
 25413  	Ftcl_GetInterpPath                      uintptr
 25414  	Ftcl_GetMaster                          uintptr
 25415  	Ftcl_GetNameOfExecutable                uintptr
 25416  	Ftcl_GetObjResult                       uintptr
 25417  	Freserved167                            uintptr
 25418  	Ftcl_GetPathType                        uintptr
 25419  	Ftcl_Gets                               uintptr
 25420  	Ftcl_GetsObj                            uintptr
 25421  	Ftcl_GetServiceMode                     uintptr
 25422  	Ftcl_GetSlave                           uintptr
 25423  	Ftcl_GetStdChannel                      uintptr
 25424  	Ftcl_GetStringResult                    uintptr
 25425  	Ftcl_GetVar                             uintptr
 25426  	Ftcl_GetVar2                            uintptr
 25427  	Ftcl_GlobalEval                         uintptr
 25428  	Ftcl_GlobalEvalObj                      uintptr
 25429  	Ftcl_HideCommand                        uintptr
 25430  	Ftcl_Init                               uintptr
 25431  	Ftcl_InitHashTable                      uintptr
 25432  	Ftcl_InputBlocked                       uintptr
 25433  	Ftcl_InputBuffered                      uintptr
 25434  	Ftcl_InterpDeleted                      uintptr
 25435  	Ftcl_IsSafe                             uintptr
 25436  	Ftcl_JoinPath                           uintptr
 25437  	Ftcl_LinkVar                            uintptr
 25438  	Freserved188                            uintptr
 25439  	Ftcl_MakeFileChannel                    uintptr
 25440  	Ftcl_MakeSafe                           uintptr
 25441  	Ftcl_MakeTcpClientChannel               uintptr
 25442  	Ftcl_Merge                              uintptr
 25443  	Ftcl_NextHashEntry                      uintptr
 25444  	Ftcl_NotifyChannel                      uintptr
 25445  	Ftcl_ObjGetVar2                         uintptr
 25446  	Ftcl_ObjSetVar2                         uintptr
 25447  	Ftcl_OpenCommandChannel                 uintptr
 25448  	Ftcl_OpenFileChannel                    uintptr
 25449  	Ftcl_OpenTcpClient                      uintptr
 25450  	Ftcl_OpenTcpServer                      uintptr
 25451  	Ftcl_Preserve                           uintptr
 25452  	Ftcl_PrintDouble                        uintptr
 25453  	Ftcl_PutEnv                             uintptr
 25454  	Ftcl_PosixError                         uintptr
 25455  	Ftcl_QueueEvent                         uintptr
 25456  	Ftcl_Read                               uintptr
 25457  	Ftcl_ReapDetachedProcs                  uintptr
 25458  	Ftcl_RecordAndEval                      uintptr
 25459  	Ftcl_RecordAndEvalObj                   uintptr
 25460  	Ftcl_RegisterChannel                    uintptr
 25461  	Ftcl_RegisterObjType                    uintptr
 25462  	Ftcl_RegExpCompile                      uintptr
 25463  	Ftcl_RegExpExec                         uintptr
 25464  	Ftcl_RegExpMatch                        uintptr
 25465  	Ftcl_RegExpRange                        uintptr
 25466  	Ftcl_Release                            uintptr
 25467  	Ftcl_ResetResult                        uintptr
 25468  	Ftcl_ScanElement                        uintptr
 25469  	Ftcl_ScanCountedElement                 uintptr
 25470  	Ftcl_SeekOld                            uintptr
 25471  	Ftcl_ServiceAll                         uintptr
 25472  	Ftcl_ServiceEvent                       uintptr
 25473  	Ftcl_SetAssocData                       uintptr
 25474  	Ftcl_SetChannelBufferSize               uintptr
 25475  	Ftcl_SetChannelOption                   uintptr
 25476  	Ftcl_SetCommandInfo                     uintptr
 25477  	Ftcl_SetErrno                           uintptr
 25478  	Ftcl_SetErrorCode                       uintptr
 25479  	Ftcl_SetMaxBlockTime                    uintptr
 25480  	Ftcl_SetPanicProc                       uintptr
 25481  	Ftcl_SetRecursionLimit                  uintptr
 25482  	Ftcl_SetResult                          uintptr
 25483  	Ftcl_SetServiceMode                     uintptr
 25484  	Ftcl_SetObjErrorCode                    uintptr
 25485  	Ftcl_SetObjResult                       uintptr
 25486  	Ftcl_SetStdChannel                      uintptr
 25487  	Ftcl_SetVar                             uintptr
 25488  	Ftcl_SetVar2                            uintptr
 25489  	Ftcl_SignalId                           uintptr
 25490  	Ftcl_SignalMsg                          uintptr
 25491  	Ftcl_SourceRCFile                       uintptr
 25492  	Ftcl_SplitList                          uintptr
 25493  	Ftcl_SplitPath                          uintptr
 25494  	Ftcl_StaticPackage                      uintptr
 25495  	Ftcl_StringMatch                        uintptr
 25496  	Ftcl_TellOld                            uintptr
 25497  	Ftcl_TraceVar                           uintptr
 25498  	Ftcl_TraceVar2                          uintptr
 25499  	Ftcl_TranslateFileName                  uintptr
 25500  	Ftcl_Ungets                             uintptr
 25501  	Ftcl_UnlinkVar                          uintptr
 25502  	Ftcl_UnregisterChannel                  uintptr
 25503  	Ftcl_UnsetVar                           uintptr
 25504  	Ftcl_UnsetVar2                          uintptr
 25505  	Ftcl_UntraceVar                         uintptr
 25506  	Ftcl_UntraceVar2                        uintptr
 25507  	Ftcl_UpdateLinkedVar                    uintptr
 25508  	Ftcl_UpVar                              uintptr
 25509  	Ftcl_UpVar2                             uintptr
 25510  	Ftcl_VarEval                            uintptr
 25511  	Ftcl_VarTraceInfo                       uintptr
 25512  	Ftcl_VarTraceInfo2                      uintptr
 25513  	Ftcl_Write                              uintptr
 25514  	Ftcl_WrongNumArgs                       uintptr
 25515  	Ftcl_DumpActiveMemory                   uintptr
 25516  	Ftcl_ValidateAllMemory                  uintptr
 25517  	Ftcl_AppendResultVA                     uintptr
 25518  	Ftcl_AppendStringsToObjVA               uintptr
 25519  	Ftcl_HashStats                          uintptr
 25520  	Ftcl_ParseVar                           uintptr
 25521  	Ftcl_PkgPresent                         uintptr
 25522  	Ftcl_PkgPresentEx                       uintptr
 25523  	Ftcl_PkgProvide                         uintptr
 25524  	Ftcl_PkgRequire                         uintptr
 25525  	Ftcl_SetErrorCodeVA                     uintptr
 25526  	Ftcl_VarEvalVA                          uintptr
 25527  	Ftcl_WaitPid                            uintptr
 25528  	Ftcl_PanicVA                            uintptr
 25529  	Ftcl_GetVersion                         uintptr
 25530  	Ftcl_InitMemory                         uintptr
 25531  	Ftcl_StackChannel                       uintptr
 25532  	Ftcl_UnstackChannel                     uintptr
 25533  	Ftcl_GetStackedChannel                  uintptr
 25534  	Ftcl_SetMainLoop                        uintptr
 25535  	Freserved285                            uintptr
 25536  	Ftcl_AppendObjToObj                     uintptr
 25537  	Ftcl_CreateEncoding                     uintptr
 25538  	Ftcl_CreateThreadExitHandler            uintptr
 25539  	Ftcl_DeleteThreadExitHandler            uintptr
 25540  	Ftcl_DiscardResult                      uintptr
 25541  	Ftcl_EvalEx                             uintptr
 25542  	Ftcl_EvalObjv                           uintptr
 25543  	Ftcl_EvalObjEx                          uintptr
 25544  	Ftcl_ExitThread                         uintptr
 25545  	Ftcl_ExternalToUtf                      uintptr
 25546  	Ftcl_ExternalToUtfDString               uintptr
 25547  	Ftcl_FinalizeThread                     uintptr
 25548  	Ftcl_FinalizeNotifier                   uintptr
 25549  	Ftcl_FreeEncoding                       uintptr
 25550  	Ftcl_GetCurrentThread                   uintptr
 25551  	Ftcl_GetEncoding                        uintptr
 25552  	Ftcl_GetEncodingName                    uintptr
 25553  	Ftcl_GetEncodingNames                   uintptr
 25554  	Ftcl_GetIndexFromObjStruct              uintptr
 25555  	Ftcl_GetThreadData                      uintptr
 25556  	Ftcl_GetVar2Ex                          uintptr
 25557  	Ftcl_InitNotifier                       uintptr
 25558  	Ftcl_MutexLock                          uintptr
 25559  	Ftcl_MutexUnlock                        uintptr
 25560  	Ftcl_ConditionNotify                    uintptr
 25561  	Ftcl_ConditionWait                      uintptr
 25562  	Ftcl_NumUtfChars                        uintptr
 25563  	Ftcl_ReadChars                          uintptr
 25564  	Ftcl_RestoreResult                      uintptr
 25565  	Ftcl_SaveResult                         uintptr
 25566  	Ftcl_SetSystemEncoding                  uintptr
 25567  	Ftcl_SetVar2Ex                          uintptr
 25568  	Ftcl_ThreadAlert                        uintptr
 25569  	Ftcl_ThreadQueueEvent                   uintptr
 25570  	Ftcl_UniCharAtIndex                     uintptr
 25571  	Ftcl_UniCharToLower                     uintptr
 25572  	Ftcl_UniCharToTitle                     uintptr
 25573  	Ftcl_UniCharToUpper                     uintptr
 25574  	Ftcl_UniCharToUtf                       uintptr
 25575  	Ftcl_UtfAtIndex                         uintptr
 25576  	Ftcl_UtfCharComplete                    uintptr
 25577  	Ftcl_UtfBackslash                       uintptr
 25578  	Ftcl_UtfFindFirst                       uintptr
 25579  	Ftcl_UtfFindLast                        uintptr
 25580  	Ftcl_UtfNext                            uintptr
 25581  	Ftcl_UtfPrev                            uintptr
 25582  	Ftcl_UtfToExternal                      uintptr
 25583  	Ftcl_UtfToExternalDString               uintptr
 25584  	Ftcl_UtfToLower                         uintptr
 25585  	Ftcl_UtfToTitle                         uintptr
 25586  	Ftcl_UtfToUniChar                       uintptr
 25587  	Ftcl_UtfToUpper                         uintptr
 25588  	Ftcl_WriteChars                         uintptr
 25589  	Ftcl_WriteObj                           uintptr
 25590  	Ftcl_GetString                          uintptr
 25591  	Ftcl_GetDefaultEncodingDir              uintptr
 25592  	Ftcl_SetDefaultEncodingDir              uintptr
 25593  	Ftcl_AlertNotifier                      uintptr
 25594  	Ftcl_ServiceModeHook                    uintptr
 25595  	Ftcl_UniCharIsAlnum                     uintptr
 25596  	Ftcl_UniCharIsAlpha                     uintptr
 25597  	Ftcl_UniCharIsDigit                     uintptr
 25598  	Ftcl_UniCharIsLower                     uintptr
 25599  	Ftcl_UniCharIsSpace                     uintptr
 25600  	Ftcl_UniCharIsUpper                     uintptr
 25601  	Ftcl_UniCharIsWordChar                  uintptr
 25602  	Ftcl_UniCharLen                         uintptr
 25603  	Ftcl_UniCharNcmp                        uintptr
 25604  	Ftcl_UniCharToUtfDString                uintptr
 25605  	Ftcl_UtfToUniCharDString                uintptr
 25606  	Ftcl_GetRegExpFromObj                   uintptr
 25607  	Ftcl_EvalTokens                         uintptr
 25608  	Ftcl_FreeParse                          uintptr
 25609  	Ftcl_LogCommandInfo                     uintptr
 25610  	Ftcl_ParseBraces                        uintptr
 25611  	Ftcl_ParseCommand                       uintptr
 25612  	Ftcl_ParseExpr                          uintptr
 25613  	Ftcl_ParseQuotedString                  uintptr
 25614  	Ftcl_ParseVarName                       uintptr
 25615  	Ftcl_GetCwd                             uintptr
 25616  	Ftcl_Chdir                              uintptr
 25617  	Ftcl_Access                             uintptr
 25618  	Ftcl_Stat                               uintptr
 25619  	Ftcl_UtfNcmp                            uintptr
 25620  	Ftcl_UtfNcasecmp                        uintptr
 25621  	Ftcl_StringCaseMatch                    uintptr
 25622  	Ftcl_UniCharIsControl                   uintptr
 25623  	Ftcl_UniCharIsGraph                     uintptr
 25624  	Ftcl_UniCharIsPrint                     uintptr
 25625  	Ftcl_UniCharIsPunct                     uintptr
 25626  	Ftcl_RegExpExecObj                      uintptr
 25627  	Ftcl_RegExpGetInfo                      uintptr
 25628  	Ftcl_NewUnicodeObj                      uintptr
 25629  	Ftcl_SetUnicodeObj                      uintptr
 25630  	Ftcl_GetCharLength                      uintptr
 25631  	Ftcl_GetUniChar                         uintptr
 25632  	Ftcl_GetUnicode                         uintptr
 25633  	Ftcl_GetRange                           uintptr
 25634  	Ftcl_AppendUnicodeToObj                 uintptr
 25635  	Ftcl_RegExpMatchObj                     uintptr
 25636  	Ftcl_SetNotifier                        uintptr
 25637  	Ftcl_GetAllocMutex                      uintptr
 25638  	Ftcl_GetChannelNames                    uintptr
 25639  	Ftcl_GetChannelNamesEx                  uintptr
 25640  	Ftcl_ProcObjCmd                         uintptr
 25641  	Ftcl_ConditionFinalize                  uintptr
 25642  	Ftcl_MutexFinalize                      uintptr
 25643  	Ftcl_CreateThread                       uintptr
 25644  	Ftcl_ReadRaw                            uintptr
 25645  	Ftcl_WriteRaw                           uintptr
 25646  	Ftcl_GetTopChannel                      uintptr
 25647  	Ftcl_ChannelBuffered                    uintptr
 25648  	Ftcl_ChannelName                        uintptr
 25649  	Ftcl_ChannelVersion                     uintptr
 25650  	Ftcl_ChannelBlockModeProc               uintptr
 25651  	Ftcl_ChannelCloseProc                   uintptr
 25652  	Ftcl_ChannelClose2Proc                  uintptr
 25653  	Ftcl_ChannelInputProc                   uintptr
 25654  	Ftcl_ChannelOutputProc                  uintptr
 25655  	Ftcl_ChannelSeekProc                    uintptr
 25656  	Ftcl_ChannelSetOptionProc               uintptr
 25657  	Ftcl_ChannelGetOptionProc               uintptr
 25658  	Ftcl_ChannelWatchProc                   uintptr
 25659  	Ftcl_ChannelGetHandleProc               uintptr
 25660  	Ftcl_ChannelFlushProc                   uintptr
 25661  	Ftcl_ChannelHandlerProc                 uintptr
 25662  	Ftcl_JoinThread                         uintptr
 25663  	Ftcl_IsChannelShared                    uintptr
 25664  	Ftcl_IsChannelRegistered                uintptr
 25665  	Ftcl_CutChannel                         uintptr
 25666  	Ftcl_SpliceChannel                      uintptr
 25667  	Ftcl_ClearChannelHandlers               uintptr
 25668  	Ftcl_IsChannelExisting                  uintptr
 25669  	Ftcl_UniCharNcasecmp                    uintptr
 25670  	Ftcl_UniCharCaseMatch                   uintptr
 25671  	Ftcl_FindHashEntry                      uintptr
 25672  	Ftcl_CreateHashEntry                    uintptr
 25673  	Ftcl_InitCustomHashTable                uintptr
 25674  	Ftcl_InitObjHashTable                   uintptr
 25675  	Ftcl_CommandTraceInfo                   uintptr
 25676  	Ftcl_TraceCommand                       uintptr
 25677  	Ftcl_UntraceCommand                     uintptr
 25678  	Ftcl_AttemptAlloc                       uintptr
 25679  	Ftcl_AttemptDbCkalloc                   uintptr
 25680  	Ftcl_AttemptRealloc                     uintptr
 25681  	Ftcl_AttemptDbCkrealloc                 uintptr
 25682  	Ftcl_AttemptSetObjLength                uintptr
 25683  	Ftcl_GetChannelThread                   uintptr
 25684  	Ftcl_GetUnicodeFromObj                  uintptr
 25685  	Ftcl_GetMathFuncInfo                    uintptr
 25686  	Ftcl_ListMathFuncs                      uintptr
 25687  	Ftcl_SubstObj                           uintptr
 25688  	Ftcl_DetachChannel                      uintptr
 25689  	Ftcl_IsStandardChannel                  uintptr
 25690  	Ftcl_FSCopyFile                         uintptr
 25691  	Ftcl_FSCopyDirectory                    uintptr
 25692  	Ftcl_FSCreateDirectory                  uintptr
 25693  	Ftcl_FSDeleteFile                       uintptr
 25694  	Ftcl_FSLoadFile                         uintptr
 25695  	Ftcl_FSMatchInDirectory                 uintptr
 25696  	Ftcl_FSLink                             uintptr
 25697  	Ftcl_FSRemoveDirectory                  uintptr
 25698  	Ftcl_FSRenameFile                       uintptr
 25699  	Ftcl_FSLstat                            uintptr
 25700  	Ftcl_FSUtime                            uintptr
 25701  	Ftcl_FSFileAttrsGet                     uintptr
 25702  	Ftcl_FSFileAttrsSet                     uintptr
 25703  	Ftcl_FSFileAttrStrings                  uintptr
 25704  	Ftcl_FSStat                             uintptr
 25705  	Ftcl_FSAccess                           uintptr
 25706  	Ftcl_FSOpenFileChannel                  uintptr
 25707  	Ftcl_FSGetCwd                           uintptr
 25708  	Ftcl_FSChdir                            uintptr
 25709  	Ftcl_FSConvertToPathType                uintptr
 25710  	Ftcl_FSJoinPath                         uintptr
 25711  	Ftcl_FSSplitPath                        uintptr
 25712  	Ftcl_FSEqualPaths                       uintptr
 25713  	Ftcl_FSGetNormalizedPath                uintptr
 25714  	Ftcl_FSJoinToPath                       uintptr
 25715  	Ftcl_FSGetInternalRep                   uintptr
 25716  	Ftcl_FSGetTranslatedPath                uintptr
 25717  	Ftcl_FSEvalFile                         uintptr
 25718  	Ftcl_FSNewNativePath                    uintptr
 25719  	Ftcl_FSGetNativePath                    uintptr
 25720  	Ftcl_FSFileSystemInfo                   uintptr
 25721  	Ftcl_FSPathSeparator                    uintptr
 25722  	Ftcl_FSListVolumes                      uintptr
 25723  	Ftcl_FSRegister                         uintptr
 25724  	Ftcl_FSUnregister                       uintptr
 25725  	Ftcl_FSData                             uintptr
 25726  	Ftcl_FSGetTranslatedStringPath          uintptr
 25727  	Ftcl_FSGetFileSystemForPath             uintptr
 25728  	Ftcl_FSGetPathType                      uintptr
 25729  	Ftcl_OutputBuffered                     uintptr
 25730  	Ftcl_FSMountsChanged                    uintptr
 25731  	Ftcl_EvalTokensStandard                 uintptr
 25732  	Ftcl_GetTime                            uintptr
 25733  	Ftcl_CreateObjTrace                     uintptr
 25734  	Ftcl_GetCommandInfoFromToken            uintptr
 25735  	Ftcl_SetCommandInfoFromToken            uintptr
 25736  	Ftcl_DbNewWideIntObj                    uintptr
 25737  	Ftcl_GetWideIntFromObj                  uintptr
 25738  	Ftcl_NewWideIntObj                      uintptr
 25739  	Ftcl_SetWideIntObj                      uintptr
 25740  	Ftcl_AllocStatBuf                       uintptr
 25741  	Ftcl_Seek                               uintptr
 25742  	Ftcl_Tell                               uintptr
 25743  	Ftcl_ChannelWideSeekProc                uintptr
 25744  	Ftcl_DictObjPut                         uintptr
 25745  	Ftcl_DictObjGet                         uintptr
 25746  	Ftcl_DictObjRemove                      uintptr
 25747  	Ftcl_DictObjSize                        uintptr
 25748  	Ftcl_DictObjFirst                       uintptr
 25749  	Ftcl_DictObjNext                        uintptr
 25750  	Ftcl_DictObjDone                        uintptr
 25751  	Ftcl_DictObjPutKeyList                  uintptr
 25752  	Ftcl_DictObjRemoveKeyList               uintptr
 25753  	Ftcl_NewDictObj                         uintptr
 25754  	Ftcl_DbNewDictObj                       uintptr
 25755  	Ftcl_RegisterConfig                     uintptr
 25756  	Ftcl_CreateNamespace                    uintptr
 25757  	Ftcl_DeleteNamespace                    uintptr
 25758  	Ftcl_AppendExportList                   uintptr
 25759  	Ftcl_Export                             uintptr
 25760  	Ftcl_Import                             uintptr
 25761  	Ftcl_ForgetImport                       uintptr
 25762  	Ftcl_GetCurrentNamespace                uintptr
 25763  	Ftcl_GetGlobalNamespace                 uintptr
 25764  	Ftcl_FindNamespace                      uintptr
 25765  	Ftcl_FindCommand                        uintptr
 25766  	Ftcl_GetCommandFromObj                  uintptr
 25767  	Ftcl_GetCommandFullName                 uintptr
 25768  	Ftcl_FSEvalFileEx                       uintptr
 25769  	Ftcl_SetExitProc                        uintptr
 25770  	Ftcl_LimitAddHandler                    uintptr
 25771  	Ftcl_LimitRemoveHandler                 uintptr
 25772  	Ftcl_LimitReady                         uintptr
 25773  	Ftcl_LimitCheck                         uintptr
 25774  	Ftcl_LimitExceeded                      uintptr
 25775  	Ftcl_LimitSetCommands                   uintptr
 25776  	Ftcl_LimitSetTime                       uintptr
 25777  	Ftcl_LimitSetGranularity                uintptr
 25778  	Ftcl_LimitTypeEnabled                   uintptr
 25779  	Ftcl_LimitTypeExceeded                  uintptr
 25780  	Ftcl_LimitTypeSet                       uintptr
 25781  	Ftcl_LimitTypeReset                     uintptr
 25782  	Ftcl_LimitGetCommands                   uintptr
 25783  	Ftcl_LimitGetTime                       uintptr
 25784  	Ftcl_LimitGetGranularity                uintptr
 25785  	Ftcl_SaveInterpState                    uintptr
 25786  	Ftcl_RestoreInterpState                 uintptr
 25787  	Ftcl_DiscardInterpState                 uintptr
 25788  	Ftcl_SetReturnOptions                   uintptr
 25789  	Ftcl_GetReturnOptions                   uintptr
 25790  	Ftcl_IsEnsemble                         uintptr
 25791  	Ftcl_CreateEnsemble                     uintptr
 25792  	Ftcl_FindEnsemble                       uintptr
 25793  	Ftcl_SetEnsembleSubcommandList          uintptr
 25794  	Ftcl_SetEnsembleMappingDict             uintptr
 25795  	Ftcl_SetEnsembleUnknownHandler          uintptr
 25796  	Ftcl_SetEnsembleFlags                   uintptr
 25797  	Ftcl_GetEnsembleSubcommandList          uintptr
 25798  	Ftcl_GetEnsembleMappingDict             uintptr
 25799  	Ftcl_GetEnsembleUnknownHandler          uintptr
 25800  	Ftcl_GetEnsembleFlags                   uintptr
 25801  	Ftcl_GetEnsembleNamespace               uintptr
 25802  	Ftcl_SetTimeProc                        uintptr
 25803  	Ftcl_QueryTimeProc                      uintptr
 25804  	Ftcl_ChannelThreadActionProc            uintptr
 25805  	Ftcl_NewBignumObj                       uintptr
 25806  	Ftcl_DbNewBignumObj                     uintptr
 25807  	Ftcl_SetBignumObj                       uintptr
 25808  	Ftcl_GetBignumFromObj                   uintptr
 25809  	Ftcl_TakeBignumFromObj                  uintptr
 25810  	Ftcl_TruncateChannel                    uintptr
 25811  	Ftcl_ChannelTruncateProc                uintptr
 25812  	Ftcl_SetChannelErrorInterp              uintptr
 25813  	Ftcl_GetChannelErrorInterp              uintptr
 25814  	Ftcl_SetChannelError                    uintptr
 25815  	Ftcl_GetChannelError                    uintptr
 25816  	Ftcl_InitBignumFromDouble               uintptr
 25817  	Ftcl_GetNamespaceUnknownHandler         uintptr
 25818  	Ftcl_SetNamespaceUnknownHandler         uintptr
 25819  	Ftcl_GetEncodingFromObj                 uintptr
 25820  	Ftcl_GetEncodingSearchPath              uintptr
 25821  	Ftcl_SetEncodingSearchPath              uintptr
 25822  	Ftcl_GetEncodingNameFromEnvironment     uintptr
 25823  	Ftcl_PkgRequireProc                     uintptr
 25824  	Ftcl_AppendObjToErrorInfo               uintptr
 25825  	Ftcl_AppendLimitedToObj                 uintptr
 25826  	Ftcl_Format                             uintptr
 25827  	Ftcl_AppendFormatToObj                  uintptr
 25828  	Ftcl_ObjPrintf                          uintptr
 25829  	Ftcl_AppendPrintfToObj                  uintptr
 25830  	Ftcl_CancelEval                         uintptr
 25831  	Ftcl_Canceled                           uintptr
 25832  	Ftcl_CreatePipe                         uintptr
 25833  	Ftcl_NRCreateCommand                    uintptr
 25834  	Ftcl_NREvalObj                          uintptr
 25835  	Ftcl_NREvalObjv                         uintptr
 25836  	Ftcl_NRCmdSwap                          uintptr
 25837  	Ftcl_NRAddCallback                      uintptr
 25838  	Ftcl_NRCallObjProc                      uintptr
 25839  	Ftcl_GetFSDeviceFromStat                uintptr
 25840  	Ftcl_GetFSInodeFromStat                 uintptr
 25841  	Ftcl_GetModeFromStat                    uintptr
 25842  	Ftcl_GetLinkCountFromStat               uintptr
 25843  	Ftcl_GetUserIdFromStat                  uintptr
 25844  	Ftcl_GetGroupIdFromStat                 uintptr
 25845  	Ftcl_GetDeviceTypeFromStat              uintptr
 25846  	Ftcl_GetAccessTimeFromStat              uintptr
 25847  	Ftcl_GetModificationTimeFromStat        uintptr
 25848  	Ftcl_GetChangeTimeFromStat              uintptr
 25849  	Ftcl_GetSizeFromStat                    uintptr
 25850  	Ftcl_GetBlocksFromStat                  uintptr
 25851  	Ftcl_GetBlockSizeFromStat               uintptr
 25852  	Ftcl_SetEnsembleParameterList           uintptr
 25853  	Ftcl_GetEnsembleParameterList           uintptr
 25854  	Ftcl_ParseArgsObjv                      uintptr
 25855  	Ftcl_GetErrorLine                       uintptr
 25856  	Ftcl_SetErrorLine                       uintptr
 25857  	Ftcl_TransferResult                     uintptr
 25858  	Ftcl_InterpActive                       uintptr
 25859  	Ftcl_BackgroundException                uintptr
 25860  	Ftcl_ZlibDeflate                        uintptr
 25861  	Ftcl_ZlibInflate                        uintptr
 25862  	Ftcl_ZlibCRC32                          uintptr
 25863  	Ftcl_ZlibAdler32                        uintptr
 25864  	Ftcl_ZlibStreamInit                     uintptr
 25865  	Ftcl_ZlibStreamGetCommandName           uintptr
 25866  	Ftcl_ZlibStreamEof                      uintptr
 25867  	Ftcl_ZlibStreamChecksum                 uintptr
 25868  	Ftcl_ZlibStreamPut                      uintptr
 25869  	Ftcl_ZlibStreamGet                      uintptr
 25870  	Ftcl_ZlibStreamClose                    uintptr
 25871  	Ftcl_ZlibStreamReset                    uintptr
 25872  	Ftcl_SetStartupScript                   uintptr
 25873  	Ftcl_GetStartupScript                   uintptr
 25874  	Ftcl_CloseEx                            uintptr
 25875  	Ftcl_NRExprObj                          uintptr
 25876  	Ftcl_NRSubstObj                         uintptr
 25877  	Ftcl_LoadFile                           uintptr
 25878  	Ftcl_FindSymbol                         uintptr
 25879  	Ftcl_FSUnloadFile                       uintptr
 25880  	Ftcl_ZlibStreamSetCompressionDictionary uintptr
 25881  	Freserved631                            uintptr
 25882  	Freserved632                            uintptr
 25883  	Freserved633                            uintptr
 25884  	Freserved634                            uintptr
 25885  	Freserved635                            uintptr
 25886  	Freserved636                            uintptr
 25887  	Freserved637                            uintptr
 25888  	Freserved638                            uintptr
 25889  	Freserved639                            uintptr
 25890  	Freserved640                            uintptr
 25891  	Freserved641                            uintptr
 25892  	Freserved642                            uintptr
 25893  	Freserved643                            uintptr
 25894  	Freserved644                            uintptr
 25895  	Freserved645                            uintptr
 25896  	Freserved646                            uintptr
 25897  	Freserved647                            uintptr
 25898  	Freserved648                            uintptr
 25899  	FtclUnusedStubEntry                     uintptr
 25900  }
 25901  
 25902  type TCHAR = int8
 25903  
 25904  type TclPlatStubs = TclPlatStubs1
 25905  
 25906  func dbHandleFromObj(tls *libc.TLS, interp uintptr, pObj uintptr, pDb uintptr) int32 {
 25907  	bp := tls.Alloc(88)
 25908  	defer tls.Free(88)
 25909  
 25910  	if 0 == tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, pObj), bp+24) {
 25911  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+1930, tcl.XTcl_GetString(tls, pObj), 0))
 25912  		return TCL_ERROR
 25913  	}
 25914  
 25915  	*(*uintptr)(unsafe.Pointer(pDb)) = *(*uintptr)(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 24)).FobjClientData))
 25916  	return TCL_OK
 25917  }
 25918  
 25919  func testExpertCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 25920  	bp := tls.Alloc(212)
 25921  	defer tls.Free(212)
 25922  
 25923  	var pExpert uintptr = clientData
 25924  	*(*[6]Subcmd)(unsafe.Pointer(bp)) = [6]Subcmd{
 25925  		{FzSub: ts + 1947, FnArg: 1, FzMsg: ts + 1951},
 25926  		{FzSub: ts + 1957, FzMsg: ts + 584},
 25927  		{FzSub: ts + 1965, FzMsg: ts + 584},
 25928  		{FzSub: ts + 1971, FnArg: 2, FzMsg: ts + 1978},
 25929  		{FzSub: ts + 1991, FzMsg: ts + 584},
 25930  		{},
 25931  	}
 25932  
 25933  	var rc int32 = TCL_OK
 25934  	*(*uintptr)(unsafe.Pointer(bp + 152)) = uintptr(0)
 25935  
 25936  	if objc < 2 {
 25937  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+1999)
 25938  		return TCL_ERROR
 25939  	}
 25940  	rc = tcl.XTcl_GetIndexFromObjStruct(tls, interp,
 25941  		*(*uintptr)(unsafe.Pointer(objv + 1*8)), bp, int32(unsafe.Sizeof(Subcmd{})), ts+2014, 0, bp+144)
 25942  	if rc != TCL_OK {
 25943  		return rc
 25944  	}
 25945  	if objc != 2+(*Subcmd)(unsafe.Pointer(bp+uintptr(*(*int32)(unsafe.Pointer(bp + 144)))*24)).FnArg {
 25946  		tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, (*Subcmd)(unsafe.Pointer(bp+uintptr(*(*int32)(unsafe.Pointer(bp + 144)))*24)).FzMsg)
 25947  		return TCL_ERROR
 25948  	}
 25949  
 25950  	switch *(*int32)(unsafe.Pointer(bp + 144)) {
 25951  	case 0:
 25952  		{
 25953  			var zArg uintptr = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
 25954  			rc = sqlite3_expert_sql(tls, pExpert, zArg, bp+152)
 25955  			break
 25956  
 25957  		}
 25958  
 25959  	case 1:
 25960  		{
 25961  			rc = sqlite3_expert_analyze(tls, pExpert, bp+152)
 25962  			break
 25963  
 25964  		}
 25965  
 25966  	case 2:
 25967  		{
 25968  			var n int32 = sqlite3_expert_count(tls, pExpert)
 25969  			tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, n))
 25970  			break
 25971  
 25972  		}
 25973  
 25974  	case 3:
 25975  		{
 25976  			*(*[5]uintptr)(unsafe.Pointer(bp + 168)) = [5]uintptr{
 25977  				ts + 1947, ts + 2026, ts + 2034, ts + 2039, uintptr(0),
 25978  			}
 25979  
 25980  			var zReport uintptr
 25981  
 25982  			if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+160) != 0 ||
 25983  				tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+168, int32(unsafe.Sizeof(uintptr(0))), ts+1971, 0, bp+208) != 0 {
 25984  				return TCL_ERROR
 25985  			}
 25986  
 25987  			zReport = sqlite3_expert_report(tls, pExpert, *(*int32)(unsafe.Pointer(bp + 160)), 1+*(*int32)(unsafe.Pointer(bp + 208)))
 25988  			tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, zReport, -1))
 25989  			break
 25990  
 25991  		}
 25992  
 25993  	default:
 25994  		tcl.XTcl_DeleteCommand(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))))
 25995  		break
 25996  	}
 25997  
 25998  	if rc != TCL_OK {
 25999  		if *(*uintptr)(unsafe.Pointer(bp + 152)) != 0 {
 26000  			tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, *(*uintptr)(unsafe.Pointer(bp + 152)), -1))
 26001  		} else {
 26002  			tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3ErrName(tls, rc), -1))
 26003  		}
 26004  	}
 26005  	sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 152)))
 26006  	return rc
 26007  }
 26008  
 26009  type Subcmd = struct {
 26010  	FzSub        uintptr
 26011  	FnArg        int32
 26012  	F__ccgo_pad1 [4]byte
 26013  	FzMsg        uintptr
 26014  }
 26015  
 26016  func testExpertDel(tls *libc.TLS, clientData uintptr) {
 26017  	var pExpert uintptr = clientData
 26018  	sqlite3_expert_destroy(tls, pExpert)
 26019  }
 26020  
 26021  func test_sqlite3_expert_new(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 26022  	bp := tls.Alloc(56)
 26023  	defer tls.Free(56)
 26024  
 26025  	var zCmd uintptr = uintptr(0)
 26026  	*(*uintptr)(unsafe.Pointer(bp + 48)) = uintptr(0)
 26027  	var pExpert uintptr
 26028  	var rc int32 = TCL_OK
 26029  
 26030  	if objc != 2 {
 26031  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+2050)
 26032  		return TCL_ERROR
 26033  	}
 26034  	if dbHandleFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+40) != 0 {
 26035  		return TCL_ERROR
 26036  	}
 26037  
 26038  	zCmd = sqlite3.Xsqlite3_mprintf(tls, ts+2053, libc.VaList(bp, libc.PreIncInt32(&iCmd, 1)))
 26039  	if zCmd == uintptr(0) {
 26040  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+8, ts+2069, uintptr(0)))
 26041  		return TCL_ERROR
 26042  	}
 26043  
 26044  	pExpert = sqlite3_expert_new(tls, *(*uintptr)(unsafe.Pointer(bp + 40)), bp+48)
 26045  	if pExpert == uintptr(0) {
 26046  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(bp + 48)), uintptr(0)))
 26047  		rc = TCL_ERROR
 26048  	} else {
 26049  		var p uintptr = pExpert
 26050  		tcl.XTcl_CreateObjCommand(tls, interp, zCmd, *(*uintptr)(unsafe.Pointer(&struct {
 26051  			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 26052  		}{testExpertCmd})), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{testExpertDel})))
 26053  		tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, zCmd, -1))
 26054  	}
 26055  
 26056  	sqlite3.Xsqlite3_free(tls, zCmd)
 26057  	sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 48)))
 26058  	return rc
 26059  }
 26060  
 26061  var iCmd int32 = 0
 26062  
 26063  func TestExpert_Init(tls *libc.TLS, interp uintptr) int32 {
 26064  	bp := tls.Alloc(16)
 26065  	defer tls.Free(16)
 26066  
 26067  	*(*[1]struct {
 26068  		FzCmd  uintptr
 26069  		FxProc uintptr
 26070  	})(unsafe.Pointer(bp)) = [1]struct {
 26071  		FzCmd  uintptr
 26072  		FxProc uintptr
 26073  	}{
 26074  		{FzCmd: ts + 2083, FxProc: *(*uintptr)(unsafe.Pointer(&struct {
 26075  			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 26076  		}{test_sqlite3_expert_new}))},
 26077  	}
 26078  	var i int32
 26079  
 26080  	for i = 0; uint64(i) < uint64(unsafe.Sizeof([1]struct {
 26081  		FzCmd  uintptr
 26082  		FxProc uintptr
 26083  	}{}))/uint64(unsafe.Sizeof(struct {
 26084  		FzCmd  uintptr
 26085  		FxProc uintptr
 26086  	}{})); i++ {
 26087  		var p uintptr = bp + uintptr(i)*16
 26088  		tcl.XTcl_CreateObjCommand(tls, interp, (*struct {
 26089  			FzCmd  uintptr
 26090  			FxProc uintptr
 26091  		})(unsafe.Pointer(p)).FzCmd, (*struct {
 26092  			FzCmd  uintptr
 26093  			FxProc uintptr
 26094  		})(unsafe.Pointer(p)).FxProc, uintptr(0), uintptr(0))
 26095  	}
 26096  	return TCL_OK
 26097  }
 26098  
 26099  func f5tDbPointer(tls *libc.TLS, interp uintptr, pObj uintptr, ppDb uintptr) int32 {
 26100  	bp := tls.Alloc(64)
 26101  	defer tls.Free(64)
 26102  
 26103  	var p uintptr
 26104  
 26105  	var z uintptr = tcl.XTcl_GetString(tls, pObj)
 26106  	if tcl.XTcl_GetCommandInfo(tls, interp, z, bp) != 0 {
 26107  		p = (*Tcl_CmdInfo)(unsafe.Pointer(bp)).FobjClientData
 26108  		*(*uintptr)(unsafe.Pointer(ppDb)) = (*struct{ Fdb uintptr })(unsafe.Pointer(p)).Fdb
 26109  		return TCL_OK
 26110  	}
 26111  	return TCL_ERROR
 26112  }
 26113  
 26114  func f5tResultToErrorCode(tls *libc.TLS, zRes uintptr) int32 {
 26115  	bp := tls.Alloc(64)
 26116  	defer tls.Free(64)
 26117  
 26118  	*(*[4]ErrorCode)(unsafe.Pointer(bp)) = [4]ErrorCode{
 26119  		{Frc: SQLITE_DONE, FzError: ts + 2102},
 26120  		{Frc: SQLITE_ERROR, FzError: ts + 2114},
 26121  		{FzError: ts + 2127},
 26122  		{FzError: ts + 584},
 26123  	}
 26124  	var i int32
 26125  
 26126  	for i = 0; uint64(i) < uint64(unsafe.Sizeof([4]ErrorCode{}))/uint64(unsafe.Sizeof(ErrorCode{})); i++ {
 26127  		if 0 == sqlite3.Xsqlite3_stricmp(tls, zRes, (*ErrorCode)(unsafe.Pointer(bp+uintptr(i)*16)).FzError) {
 26128  			return (*ErrorCode)(unsafe.Pointer(bp + uintptr(i)*16)).Frc
 26129  		}
 26130  	}
 26131  
 26132  	return SQLITE_ERROR
 26133  }
 26134  
 26135  type ErrorCode = struct {
 26136  	Frc          int32
 26137  	F__ccgo_pad1 [4]byte
 26138  	FzError      uintptr
 26139  }
 26140  
 26141  func f5tDbAndApi(tls *libc.TLS, interp uintptr, pObj uintptr, ppDb uintptr, ppApi uintptr) int32 {
 26142  	bp := tls.Alloc(72)
 26143  	defer tls.Free(72)
 26144  
 26145  	*(*uintptr)(unsafe.Pointer(bp + 48)) = uintptr(0)
 26146  	var rc int32 = f5tDbPointer(tls, interp, pObj, bp+48)
 26147  	if rc != TCL_OK {
 26148  		return TCL_ERROR
 26149  	} else {
 26150  		*(*uintptr)(unsafe.Pointer(bp + 56)) = uintptr(0)
 26151  		*(*uintptr)(unsafe.Pointer(bp + 64)) = uintptr(0)
 26152  
 26153  		rc = sqlite3.Xsqlite3_prepare_v2(tls, *(*uintptr)(unsafe.Pointer(bp + 48)), ts+2137, -1, bp+56, uintptr(0))
 26154  		if rc != SQLITE_OK {
 26155  			tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+2153, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 48))), 0))
 26156  			return TCL_ERROR
 26157  		}
 26158  		sqlite3.Xsqlite3_bind_pointer(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), 1, bp+64, ts+2161, uintptr(0))
 26159  		sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 56)))
 26160  
 26161  		if sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 56))) != SQLITE_OK {
 26162  			tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+2153, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 48))), 0))
 26163  			return TCL_ERROR
 26164  		}
 26165  
 26166  		*(*uintptr)(unsafe.Pointer(ppDb)) = *(*uintptr)(unsafe.Pointer(bp + 48))
 26167  		*(*uintptr)(unsafe.Pointer(ppApi)) = *(*uintptr)(unsafe.Pointer(bp + 64))
 26168  	}
 26169  
 26170  	return TCL_OK
 26171  }
 26172  
 26173  type F5tFunction1 = struct {
 26174  	Finterp  uintptr
 26175  	FpScript uintptr
 26176  }
 26177  
 26178  type F5tFunction = F5tFunction1
 26179  
 26180  type F5tApi1 = struct {
 26181  	FpApi uintptr
 26182  	FpFts uintptr
 26183  }
 26184  
 26185  type F5tApi = F5tApi1
 26186  
 26187  type F5tAuxData1 = struct{ FpObj uintptr }
 26188  
 26189  type F5tAuxData = F5tAuxData1
 26190  
 26191  func xTokenizeCb(tls *libc.TLS, pCtx uintptr, tflags int32, zToken uintptr, nToken int32, iStart int32, iEnd int32) int32 {
 26192  	var p uintptr = pCtx
 26193  	var pEval uintptr = tcl.XTcl_DuplicateObj(tls, (*F5tFunction)(unsafe.Pointer(p)).FpScript)
 26194  	var rc int32
 26195  
 26196  	(*Tcl_Obj)(unsafe.Pointer(pEval)).FrefCount++
 26197  	tcl.XTcl_ListObjAppendElement(tls, (*F5tFunction)(unsafe.Pointer(p)).Finterp, pEval, tcl.XTcl_NewStringObj(tls, zToken, nToken))
 26198  	tcl.XTcl_ListObjAppendElement(tls, (*F5tFunction)(unsafe.Pointer(p)).Finterp, pEval, tcl.XTcl_NewIntObj(tls, iStart))
 26199  	tcl.XTcl_ListObjAppendElement(tls, (*F5tFunction)(unsafe.Pointer(p)).Finterp, pEval, tcl.XTcl_NewIntObj(tls, iEnd))
 26200  
 26201  	rc = tcl.XTcl_EvalObjEx(tls, (*F5tFunction)(unsafe.Pointer(p)).Finterp, pEval, 0)
 26202  	for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
 26203  		var _objPtr uintptr = pEval
 26204  		if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 26205  			tcl.XTclFreeObj(tls, _objPtr)
 26206  		}
 26207  	}
 26208  	if rc == TCL_OK {
 26209  		rc = f5tResultToErrorCode(tls, tcl.XTcl_GetStringResult(tls, (*F5tFunction)(unsafe.Pointer(p)).Finterp))
 26210  	}
 26211  
 26212  	return rc
 26213  }
 26214  
 26215  func xQueryPhraseCb(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr) int32 {
 26216  	bp := tls.Alloc(88)
 26217  	defer tls.Free(88)
 26218  
 26219  	var p uintptr = pCtx
 26220  	var pEval uintptr
 26221  	var rc int32
 26222  
 26223  	(*F5tApi)(unsafe.Pointer(bp + 72)).FpApi = pApi
 26224  	(*F5tApi)(unsafe.Pointer(bp + 72)).FpFts = pFts
 26225  	sprintf(tls, bp+8, ts+2174, libc.VaList(bp, libc.PostIncInt64(&iCmd1, 1)))
 26226  	tcl.XTcl_CreateObjCommand(tls, (*F5tFunction)(unsafe.Pointer(p)).Finterp, bp+8, *(*uintptr)(unsafe.Pointer(&struct {
 26227  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 26228  	}{xF5tApi})), bp+72, uintptr(0))
 26229  
 26230  	pEval = tcl.XTcl_DuplicateObj(tls, (*F5tFunction)(unsafe.Pointer(p)).FpScript)
 26231  	(*Tcl_Obj)(unsafe.Pointer(pEval)).FrefCount++
 26232  	tcl.XTcl_ListObjAppendElement(tls, (*F5tFunction)(unsafe.Pointer(p)).Finterp, pEval, tcl.XTcl_NewStringObj(tls, bp+8, -1))
 26233  	rc = tcl.XTcl_EvalObjEx(tls, (*F5tFunction)(unsafe.Pointer(p)).Finterp, pEval, 0)
 26234  	for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
 26235  		var _objPtr uintptr = pEval
 26236  		if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 26237  			tcl.XTclFreeObj(tls, _objPtr)
 26238  		}
 26239  	}
 26240  	tcl.XTcl_DeleteCommand(tls, (*F5tFunction)(unsafe.Pointer(p)).Finterp, bp+8)
 26241  
 26242  	if rc == TCL_OK {
 26243  		rc = f5tResultToErrorCode(tls, tcl.XTcl_GetStringResult(tls, (*F5tFunction)(unsafe.Pointer(p)).Finterp))
 26244  	}
 26245  
 26246  	return rc
 26247  }
 26248  
 26249  var iCmd1 sqlite3_int64 = int64(0)
 26250  
 26251  func xSetAuxdataDestructor(tls *libc.TLS, p uintptr) {
 26252  	var pData uintptr = p
 26253  	for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
 26254  		var _objPtr uintptr = (*F5tAuxData)(unsafe.Pointer(pData)).FpObj
 26255  		if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 26256  			tcl.XTclFreeObj(tls, _objPtr)
 26257  		}
 26258  	}
 26259  	sqlite3.Xsqlite3_free(tls, pData)
 26260  }
 26261  
 26262  func xF5tApi(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 26263  	bp := tls.Alloc(684)
 26264  	defer tls.Free(684)
 26265  
 26266  	*(*[19]Sub)(unsafe.Pointer(bp + 32)) = [19]Sub{
 26267  		{FzName: ts + 2185, FzMsg: ts + 584},
 26268  		{FzName: ts + 2198, FzMsg: ts + 584},
 26269  		{FzName: ts + 2208, FnArg: 1, FzMsg: ts + 2225},
 26270  		{FzName: ts + 2229, FnArg: 2, FzMsg: ts + 2239},
 26271  		{FzName: ts + 2251, FzMsg: ts + 584},
 26272  		{FzName: ts + 2264, FnArg: 1, FzMsg: ts + 2276},
 26273  		{FzName: ts + 2283, FzMsg: ts + 584},
 26274  		{FzName: ts + 2294, FnArg: 1, FzMsg: ts + 2300},
 26275  		{FzName: ts + 2304, FzMsg: ts + 584},
 26276  		{FzName: ts + 2311, FnArg: 1, FzMsg: ts + 2225},
 26277  		{FzName: ts + 2323, FnArg: 1, FzMsg: ts + 2225},
 26278  		{FzName: ts + 2335, FnArg: 2, FzMsg: ts + 2348},
 26279  		{FzName: ts + 2362, FnArg: 1, FzMsg: ts + 2374},
 26280  		{FzName: ts + 2380, FnArg: 1, FzMsg: ts + 2392},
 26281  		{FzName: ts + 2398, FnArg: 1, FzMsg: ts + 2413},
 26282  		{FzName: ts + 2421, FnArg: 1, FzMsg: ts + 2392},
 26283  		{FzName: ts + 2436, FnArg: 4, FzMsg: ts + 2451},
 26284  		{FzName: ts + 2480, FnArg: 3, FzMsg: ts + 2501},
 26285  		{},
 26286  	}
 26287  	var rc int32
 26288  	*(*int32)(unsafe.Pointer(bp + 488)) = 0
 26289  	var p uintptr = clientData
 26290  
 26291  	if objc < 2 {
 26292  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+2523)
 26293  		return TCL_ERROR
 26294  	}
 26295  
 26296  	rc = tcl.XTcl_GetIndexFromObjStruct(tls,
 26297  		interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+32, int32(unsafe.Sizeof(Sub{})), ts+2523, 0, bp+488)
 26298  	if rc != TCL_OK {
 26299  		return rc
 26300  	}
 26301  	if (*Sub)(unsafe.Pointer(bp+32+uintptr(*(*int32)(unsafe.Pointer(bp + 488)))*24)).FnArg != objc-2 {
 26302  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, (*Sub)(unsafe.Pointer(bp+32+uintptr(*(*int32)(unsafe.Pointer(bp + 488)))*24)).FzMsg)
 26303  		return TCL_ERROR
 26304  	}
 26305  
 26306  	switch *(*int32)(unsafe.Pointer(bp + 488)) {
 26307  	case 0:
 26308  		{
 26309  			var nCol int32
 26310  			nCol = (*struct {
 26311  				f func(*libc.TLS, uintptr) int32
 26312  			})(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxColumnCount})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts)
 26313  			if rc == SQLITE_OK {
 26314  				tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, nCol))
 26315  			}
 26316  			break
 26317  
 26318  		}
 26319  	case 1:
 26320  		{
 26321  			rc = (*struct {
 26322  				f func(*libc.TLS, uintptr, uintptr) int32
 26323  			})(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxRowCount})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, bp+496)
 26324  			if rc == SQLITE_OK {
 26325  				tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewWideIntObj(tls, *(*sqlite3_int64)(unsafe.Pointer(bp + 496))))
 26326  			}
 26327  			break
 26328  
 26329  		}
 26330  	case 2:
 26331  		{
 26332  			if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+504) != 0 {
 26333  				return TCL_ERROR
 26334  			}
 26335  			rc = (*struct {
 26336  				f func(*libc.TLS, uintptr, int32, uintptr) int32
 26337  			})(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxColumnTotalSize})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 504)), bp+512)
 26338  			if rc == SQLITE_OK {
 26339  				tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewWideIntObj(tls, *(*sqlite3_int64)(unsafe.Pointer(bp + 512))))
 26340  			}
 26341  			break
 26342  
 26343  		}
 26344  	case 3:
 26345  		{
 26346  			var zText uintptr = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+520)
 26347  
 26348  			(*F5tFunction)(unsafe.Pointer(bp + 528)).Finterp = interp
 26349  			(*F5tFunction)(unsafe.Pointer(bp + 528)).FpScript = *(*uintptr)(unsafe.Pointer(objv + 3*8))
 26350  			rc = (*struct {
 26351  				f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32
 26352  			})(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxTokenize})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, zText, *(*int32)(unsafe.Pointer(bp + 520)), bp+528, *(*uintptr)(unsafe.Pointer(&struct {
 26353  				f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32
 26354  			}{xTokenizeCb})))
 26355  			if rc == SQLITE_OK {
 26356  				tcl.XTcl_ResetResult(tls, interp)
 26357  			}
 26358  			return rc
 26359  
 26360  		}
 26361  	case 4:
 26362  		{
 26363  			var nPhrase int32
 26364  			nPhrase = (*struct {
 26365  				f func(*libc.TLS, uintptr) int32
 26366  			})(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxPhraseCount})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts)
 26367  			if rc == SQLITE_OK {
 26368  				tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, nPhrase))
 26369  			}
 26370  			break
 26371  
 26372  		}
 26373  	case 5:
 26374  		{
 26375  			var sz int32
 26376  			if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+544) != 0 {
 26377  				return TCL_ERROR
 26378  			}
 26379  			sz = (*struct {
 26380  				f func(*libc.TLS, uintptr, int32) int32
 26381  			})(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxPhraseSize})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 544)))
 26382  			if rc == SQLITE_OK {
 26383  				tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, sz))
 26384  			}
 26385  			break
 26386  
 26387  		}
 26388  	case 6:
 26389  		{
 26390  			rc = (*struct {
 26391  				f func(*libc.TLS, uintptr, uintptr) int32
 26392  			})(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxInstCount})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, bp+548)
 26393  			if rc == SQLITE_OK {
 26394  				tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 548))))
 26395  			}
 26396  			break
 26397  
 26398  		}
 26399  	case 7:
 26400  		{
 26401  			if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+552) != 0 {
 26402  				return TCL_ERROR
 26403  			}
 26404  			rc = (*struct {
 26405  				f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32
 26406  			})(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxInst})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 552)), bp+556, bp+560, bp+564)
 26407  			if rc == SQLITE_OK {
 26408  				var pList uintptr = tcl.XTcl_NewObj(tls)
 26409  				tcl.XTcl_ListObjAppendElement(tls, interp, pList, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 556))))
 26410  				tcl.XTcl_ListObjAppendElement(tls, interp, pList, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 560))))
 26411  				tcl.XTcl_ListObjAppendElement(tls, interp, pList, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 564))))
 26412  				tcl.XTcl_SetObjResult(tls, interp, pList)
 26413  			}
 26414  			break
 26415  
 26416  		}
 26417  	case 8:
 26418  		{
 26419  			var iRowid sqlite3_int64 = (*struct {
 26420  				f func(*libc.TLS, uintptr) sqlite3_int64
 26421  			})(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxRowid})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts)
 26422  			tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewWideIntObj(tls, iRowid))
 26423  			break
 26424  
 26425  		}
 26426  	case 9:
 26427  		{
 26428  			*(*uintptr)(unsafe.Pointer(bp + 576)) = uintptr(0)
 26429  			*(*int32)(unsafe.Pointer(bp + 584)) = 0
 26430  
 26431  			if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+568) != 0 {
 26432  				return TCL_ERROR
 26433  			}
 26434  			rc = (*struct {
 26435  				f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32
 26436  			})(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxColumnText})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 568)), bp+576, bp+584)
 26437  			if rc == SQLITE_OK {
 26438  				tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, *(*uintptr)(unsafe.Pointer(bp + 576)), *(*int32)(unsafe.Pointer(bp + 584))))
 26439  			}
 26440  			break
 26441  
 26442  		}
 26443  	case 10:
 26444  		{
 26445  			*(*int32)(unsafe.Pointer(bp + 592)) = 0
 26446  
 26447  			if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+588) != 0 {
 26448  				return TCL_ERROR
 26449  			}
 26450  			rc = (*struct {
 26451  				f func(*libc.TLS, uintptr, int32, uintptr) int32
 26452  			})(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxColumnSize})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 588)), bp+592)
 26453  			if rc == SQLITE_OK {
 26454  				tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 592))))
 26455  			}
 26456  			break
 26457  
 26458  		}
 26459  	case 11:
 26460  		{
 26461  			if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+596) != 0 {
 26462  				return TCL_ERROR
 26463  			}
 26464  			(*F5tFunction)(unsafe.Pointer(bp + 600)).Finterp = interp
 26465  			(*F5tFunction)(unsafe.Pointer(bp + 600)).FpScript = *(*uintptr)(unsafe.Pointer(objv + 3*8))
 26466  			rc = (*struct {
 26467  				f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32
 26468  			})(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxQueryPhrase})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 596)), bp+600, *(*uintptr)(unsafe.Pointer(&struct {
 26469  				f func(*libc.TLS, uintptr, uintptr, uintptr) int32
 26470  			}{xQueryPhraseCb})))
 26471  			if rc == SQLITE_OK {
 26472  				tcl.XTcl_ResetResult(tls, interp)
 26473  			}
 26474  			break
 26475  
 26476  		}
 26477  	case 12:
 26478  		{
 26479  			var pData uintptr = sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(F5tAuxData{})))
 26480  			if pData == uintptr(0) {
 26481  				tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+2069, 0))
 26482  				return TCL_ERROR
 26483  			}
 26484  			(*F5tAuxData)(unsafe.Pointer(pData)).FpObj = *(*uintptr)(unsafe.Pointer(objv + 2*8))
 26485  			(*Tcl_Obj)(unsafe.Pointer((*F5tAuxData)(unsafe.Pointer(pData)).FpObj)).FrefCount++
 26486  			rc = (*struct {
 26487  				f func(*libc.TLS, uintptr, uintptr, uintptr) int32
 26488  			})(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxSetAuxdata})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, pData, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{xSetAuxdataDestructor})))
 26489  			break
 26490  
 26491  		}
 26492  	case 13:
 26493  		{
 26494  			var pData uintptr
 26495  
 26496  			if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+616) != 0 {
 26497  				return TCL_ERROR
 26498  			}
 26499  			pData = (*struct {
 26500  				f func(*libc.TLS, uintptr, int32) uintptr
 26501  			})(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxGetAuxdata})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 616)))
 26502  			if pData == uintptr(0) {
 26503  				tcl.XTcl_ResetResult(tls, interp)
 26504  			} else {
 26505  				tcl.XTcl_SetObjResult(tls, interp, (*F5tAuxData)(unsafe.Pointer(pData)).FpObj)
 26506  				if *(*int32)(unsafe.Pointer(bp + 616)) != 0 {
 26507  					xSetAuxdataDestructor(tls, pData)
 26508  				}
 26509  			}
 26510  			break
 26511  
 26512  		}
 26513  
 26514  	case 14:
 26515  		{
 26516  			if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+620) != 0 {
 26517  				return TCL_ERROR
 26518  			}
 26519  			rc = (*struct {
 26520  				f func(*libc.TLS, uintptr, uintptr, uintptr) int32
 26521  			})(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxSetAuxdata})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, uintptr(0)+uintptr(*(*int32)(unsafe.Pointer(bp + 620))), uintptr(0))
 26522  			break
 26523  
 26524  		}
 26525  	case 15:
 26526  		{
 26527  			var iVal int32
 26528  
 26529  			if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+624) != 0 {
 26530  				return TCL_ERROR
 26531  			}
 26532  			iVal = int32((int64((*struct {
 26533  				f func(*libc.TLS, uintptr, int32) uintptr
 26534  			})(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxGetAuxdata})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 624)))) - int64(uintptr(0))) / 1)
 26535  			tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, iVal))
 26536  			break
 26537  
 26538  		}
 26539  
 26540  	case 16:
 26541  		{
 26542  			var zColvar uintptr
 26543  			var zOffvar uintptr
 26544  			var pScript uintptr = *(*uintptr)(unsafe.Pointer(objv + 5*8))
 26545  
 26546  			if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+628) != 0 {
 26547  				return TCL_ERROR
 26548  			}
 26549  			zColvar = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)))
 26550  			zOffvar = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 4*8)))
 26551  
 26552  			rc = (*struct {
 26553  				f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32
 26554  			})(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxPhraseFirst})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 628)), bp+632, bp+648, bp+652)
 26555  			if rc != SQLITE_OK {
 26556  				tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, sqlite3.Xsqlite3ErrName(tls, rc), 0))
 26557  				return TCL_ERROR
 26558  			}
 26559  			for ; *(*int32)(unsafe.Pointer(bp + 648)) >= 0; (*struct {
 26560  				f func(*libc.TLS, uintptr, uintptr, uintptr, uintptr)
 26561  			})(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxPhraseNext})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, bp+632, bp+648, bp+652) {
 26562  				tcl.XTcl_SetVar2Ex(tls, interp, zColvar, uintptr(0), tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 648))), 0)
 26563  				tcl.XTcl_SetVar2Ex(tls, interp, zOffvar, uintptr(0), tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 652))), 0)
 26564  				rc = tcl.XTcl_EvalObjEx(tls, interp, pScript, 0)
 26565  				if rc == TCL_CONTINUE {
 26566  					rc = TCL_OK
 26567  				}
 26568  				if rc != TCL_OK {
 26569  					if rc == TCL_BREAK {
 26570  						rc = TCL_OK
 26571  					}
 26572  					break
 26573  				}
 26574  			}
 26575  
 26576  			break
 26577  
 26578  		}
 26579  
 26580  	case 17:
 26581  		{
 26582  			var zColvar uintptr
 26583  			var pScript uintptr = *(*uintptr)(unsafe.Pointer(objv + 4*8))
 26584  
 26585  			if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+656) != 0 {
 26586  				return TCL_ERROR
 26587  			}
 26588  			zColvar = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)))
 26589  
 26590  			rc = (*struct {
 26591  				f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32
 26592  			})(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxPhraseFirstColumn})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 656)), bp+664, bp+680)
 26593  			if rc != SQLITE_OK {
 26594  				tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(1))
 26595  				return TCL_ERROR
 26596  			}
 26597  			for ; *(*int32)(unsafe.Pointer(bp + 680)) >= 0; (*struct {
 26598  				f func(*libc.TLS, uintptr, uintptr, uintptr)
 26599  			})(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxPhraseNextColumn})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, bp+664, bp+680) {
 26600  				tcl.XTcl_SetVar2Ex(tls, interp, zColvar, uintptr(0), tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 680))), 0)
 26601  				rc = tcl.XTcl_EvalObjEx(tls, interp, pScript, 0)
 26602  				if rc == TCL_CONTINUE {
 26603  					rc = TCL_OK
 26604  				}
 26605  				if rc != TCL_OK {
 26606  					if rc == TCL_BREAK {
 26607  						rc = TCL_OK
 26608  					}
 26609  					break
 26610  				}
 26611  			}
 26612  
 26613  			break
 26614  
 26615  		}
 26616  
 26617  	default:
 26618  		break
 26619  	}
 26620  
 26621  	if rc != SQLITE_OK {
 26622  		tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(1))
 26623  		return TCL_ERROR
 26624  	}
 26625  
 26626  	return TCL_OK
 26627  }
 26628  
 26629  type Sub = struct {
 26630  	FzName       uintptr
 26631  	FnArg        int32
 26632  	F__ccgo_pad1 [4]byte
 26633  	FzMsg        uintptr
 26634  }
 26635  
 26636  func xF5tFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) {
 26637  	bp := tls.Alloc(112)
 26638  	defer tls.Free(112)
 26639  
 26640  	var p uintptr = (*struct {
 26641  		f func(*libc.TLS, uintptr) uintptr
 26642  	})(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxUserData})).f(tls, pFts)
 26643  	var pEval uintptr
 26644  	var i int32
 26645  	var rc int32
 26646  
 26647  	(*F5tApi)(unsafe.Pointer(bp + 72)).FpApi = pApi
 26648  	(*F5tApi)(unsafe.Pointer(bp + 72)).FpFts = pFts
 26649  
 26650  	sprintf(tls, bp+8, ts+2535, libc.VaList(bp, libc.PostIncInt64(&iCmd2, 1)))
 26651  	tcl.XTcl_CreateObjCommand(tls, (*F5tFunction)(unsafe.Pointer(p)).Finterp, bp+8, *(*uintptr)(unsafe.Pointer(&struct {
 26652  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 26653  	}{xF5tApi})), bp+72, uintptr(0))
 26654  	pEval = tcl.XTcl_DuplicateObj(tls, (*F5tFunction)(unsafe.Pointer(p)).FpScript)
 26655  	(*Tcl_Obj)(unsafe.Pointer(pEval)).FrefCount++
 26656  	tcl.XTcl_ListObjAppendElement(tls, (*F5tFunction)(unsafe.Pointer(p)).Finterp, pEval, tcl.XTcl_NewStringObj(tls, bp+8, -1))
 26657  
 26658  	for i = 0; i < nVal; i++ {
 26659  		var pObj uintptr = uintptr(0)
 26660  		switch sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apVal + uintptr(i)*8))) {
 26661  		case SQLITE_TEXT:
 26662  			pObj = tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal + uintptr(i)*8))), -1)
 26663  			break
 26664  		case SQLITE_BLOB:
 26665  			pObj = tcl.XTcl_NewByteArrayObj(tls,
 26666  				sqlite3.Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(apVal + uintptr(i)*8))), sqlite3.Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(apVal + uintptr(i)*8))))
 26667  			break
 26668  		case SQLITE_INTEGER:
 26669  			pObj = tcl.XTcl_NewWideIntObj(tls, sqlite3.Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(apVal + uintptr(i)*8))))
 26670  			break
 26671  		case SQLITE_FLOAT:
 26672  			pObj = tcl.XTcl_NewDoubleObj(tls, sqlite3.Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(apVal + uintptr(i)*8))))
 26673  			break
 26674  		default:
 26675  			pObj = tcl.XTcl_NewObj(tls)
 26676  			break
 26677  		}
 26678  		tcl.XTcl_ListObjAppendElement(tls, (*F5tFunction)(unsafe.Pointer(p)).Finterp, pEval, pObj)
 26679  	}
 26680  
 26681  	rc = tcl.XTcl_EvalObjEx(tls, (*F5tFunction)(unsafe.Pointer(p)).Finterp, pEval, TCL_GLOBAL_ONLY)
 26682  	for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
 26683  		var _objPtr uintptr = pEval
 26684  		if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 26685  			tcl.XTclFreeObj(tls, _objPtr)
 26686  		}
 26687  	}
 26688  	tcl.XTcl_DeleteCommand(tls, (*F5tFunction)(unsafe.Pointer(p)).Finterp, bp+8)
 26689  
 26690  	if rc != TCL_OK {
 26691  		sqlite3.Xsqlite3_result_error(tls, pCtx, tcl.XTcl_GetStringResult(tls, (*F5tFunction)(unsafe.Pointer(p)).Finterp), -1)
 26692  	} else {
 26693  		var pVar uintptr = tcl.XTcl_GetObjResult(tls, (*F5tFunction)(unsafe.Pointer(p)).Finterp)
 26694  
 26695  		var zType uintptr = func() uintptr {
 26696  			if (*Tcl_Obj)(unsafe.Pointer(pVar)).FtypePtr != 0 {
 26697  				return (*Tcl_ObjType)(unsafe.Pointer((*Tcl_Obj)(unsafe.Pointer(pVar)).FtypePtr)).Fname
 26698  			}
 26699  			return ts + 584
 26700  		}()
 26701  		var c int8 = *(*int8)(unsafe.Pointer(zType))
 26702  		if int32(c) == 'b' && libc.Xstrcmp(tls, zType, ts+2544) == 0 && (*Tcl_Obj)(unsafe.Pointer(pVar)).Fbytes == uintptr(0) {
 26703  			var data uintptr = tcl.XTcl_GetByteArrayFromObj(tls, pVar, bp+88)
 26704  			sqlite3.Xsqlite3_result_blob(tls, pCtx, data, *(*int32)(unsafe.Pointer(bp + 88)), libc.UintptrFromInt32(-1))
 26705  		} else if int32(c) == 'b' && libc.Xstrcmp(tls, zType, ts+2554) == 0 {
 26706  			tcl.XTcl_GetIntFromObj(tls, uintptr(0), pVar, bp+88)
 26707  			sqlite3.Xsqlite3_result_int(tls, pCtx, *(*int32)(unsafe.Pointer(bp + 88)))
 26708  		} else if int32(c) == 'd' && libc.Xstrcmp(tls, zType, ts+2562) == 0 {
 26709  			tcl.XTcl_GetDoubleFromObj(tls, uintptr(0), pVar, bp+96)
 26710  			sqlite3.Xsqlite3_result_double(tls, pCtx, *(*float64)(unsafe.Pointer(bp + 96)))
 26711  		} else if int32(c) == 'w' && libc.Xstrcmp(tls, zType, ts+2569) == 0 || int32(c) == 'i' && libc.Xstrcmp(tls, zType, ts+2577) == 0 {
 26712  			tcl.XTcl_GetWideIntFromObj(tls, uintptr(0), pVar, bp+104)
 26713  			sqlite3.Xsqlite3_result_int64(tls, pCtx, *(*Tcl_WideInt)(unsafe.Pointer(bp + 104)))
 26714  		} else {
 26715  			var data uintptr = tcl.XTcl_GetStringFromObj(tls, pVar, bp+88)
 26716  			sqlite3.Xsqlite3_result_text(tls, pCtx, data, *(*int32)(unsafe.Pointer(bp + 88)), libc.UintptrFromInt32(-1))
 26717  		}
 26718  	}
 26719  }
 26720  
 26721  var iCmd2 sqlite3_int64 = int64(0)
 26722  
 26723  func xF5tDestroy(tls *libc.TLS, pCtx uintptr) {
 26724  	var p uintptr = pCtx
 26725  	for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
 26726  		var _objPtr uintptr = (*F5tFunction)(unsafe.Pointer(p)).FpScript
 26727  		if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 26728  			tcl.XTclFreeObj(tls, _objPtr)
 26729  		}
 26730  	}
 26731  	tcl.XTcl_Free(tls, p)
 26732  }
 26733  
 26734  func f5tCreateFunction(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 26735  	bp := tls.Alloc(40)
 26736  	defer tls.Free(40)
 26737  
 26738  	var zName uintptr
 26739  	var pScript uintptr
 26740  	*(*uintptr)(unsafe.Pointer(bp + 24)) = uintptr(0)
 26741  	*(*uintptr)(unsafe.Pointer(bp + 32)) = uintptr(0)
 26742  	var pCtx uintptr = uintptr(0)
 26743  	var rc int32
 26744  
 26745  	if objc != 4 {
 26746  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+2581)
 26747  		return TCL_ERROR
 26748  	}
 26749  	if f5tDbAndApi(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+24, bp+32) != 0 {
 26750  		return TCL_ERROR
 26751  	}
 26752  
 26753  	zName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
 26754  	pScript = *(*uintptr)(unsafe.Pointer(objv + 3*8))
 26755  	pCtx = tcl.XTcl_Alloc(tls, uint32(unsafe.Sizeof(F5tFunction{})))
 26756  	(*F5tFunction)(unsafe.Pointer(pCtx)).Finterp = interp
 26757  	(*F5tFunction)(unsafe.Pointer(pCtx)).FpScript = pScript
 26758  	(*Tcl_Obj)(unsafe.Pointer(pScript)).FrefCount++
 26759  
 26760  	rc = (*struct {
 26761  		f func(*libc.TLS, uintptr, uintptr, uintptr, fts5_extension_function, uintptr) int32
 26762  	})(unsafe.Pointer(&struct{ uintptr }{(*fts5_api)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32)))).FxCreateFunction})).f(tls,
 26763  		*(*uintptr)(unsafe.Pointer(bp + 32)), zName, pCtx, *(*uintptr)(unsafe.Pointer(&struct {
 26764  			f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr)
 26765  		}{xF5tFunction})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{xF5tDestroy})))
 26766  	if rc != SQLITE_OK {
 26767  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+2153, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 24))), 0))
 26768  		return TCL_ERROR
 26769  	}
 26770  
 26771  	return TCL_OK
 26772  }
 26773  
 26774  type F5tTokenizeCtx1 = struct {
 26775  	FpRet        uintptr
 26776  	FbSubst      int32
 26777  	F__ccgo_pad1 [4]byte
 26778  	FzInput      uintptr
 26779  }
 26780  
 26781  type F5tTokenizeCtx = F5tTokenizeCtx1
 26782  
 26783  func xTokenizeCb2(tls *libc.TLS, pCtx uintptr, tflags int32, zToken uintptr, nToken int32, iStart int32, iEnd int32) int32 {
 26784  	var p uintptr = pCtx
 26785  	if (*F5tTokenizeCtx)(unsafe.Pointer(p)).FbSubst != 0 {
 26786  		tcl.XTcl_ListObjAppendElement(tls, uintptr(0), (*F5tTokenizeCtx)(unsafe.Pointer(p)).FpRet, tcl.XTcl_NewStringObj(tls, zToken, nToken))
 26787  		tcl.XTcl_ListObjAppendElement(tls,
 26788  			uintptr(0), (*F5tTokenizeCtx)(unsafe.Pointer(p)).FpRet, tcl.XTcl_NewStringObj(tls, (*F5tTokenizeCtx)(unsafe.Pointer(p)).FzInput+uintptr(iStart), iEnd-iStart))
 26789  	} else {
 26790  		tcl.XTcl_ListObjAppendElement(tls, uintptr(0), (*F5tTokenizeCtx)(unsafe.Pointer(p)).FpRet, tcl.XTcl_NewStringObj(tls, zToken, nToken))
 26791  		tcl.XTcl_ListObjAppendElement(tls, uintptr(0), (*F5tTokenizeCtx)(unsafe.Pointer(p)).FpRet, tcl.XTcl_NewIntObj(tls, iStart))
 26792  		tcl.XTcl_ListObjAppendElement(tls, uintptr(0), (*F5tTokenizeCtx)(unsafe.Pointer(p)).FpRet, tcl.XTcl_NewIntObj(tls, iEnd))
 26793  	}
 26794  	return SQLITE_OK
 26795  }
 26796  
 26797  func f5tTokenize(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 26798  	bp := tls.Alloc(200)
 26799  	defer tls.Free(200)
 26800  
 26801  	var zText uintptr
 26802  
 26803  	*(*uintptr)(unsafe.Pointer(bp + 96)) = uintptr(0)
 26804  	*(*uintptr)(unsafe.Pointer(bp + 104)) = uintptr(0)
 26805  	*(*uintptr)(unsafe.Pointer(bp + 168)) = uintptr(0)
 26806  
 26807  	var pRet uintptr = uintptr(0)
 26808  
 26809  	var rc int32
 26810  
 26811  	if objc != 4 && objc != 5 {
 26812  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+2596)
 26813  		return TCL_ERROR
 26814  	}
 26815  	if objc == 5 {
 26816  		var zOpt uintptr = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))
 26817  		if libc.Xstrcmp(tls, ts+2618, zOpt) != 0 {
 26818  			tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+2625, zOpt, 0))
 26819  			return TCL_ERROR
 26820  		}
 26821  	}
 26822  	if f5tDbAndApi(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(objc-3)*8)), bp+96, bp+104) != 0 {
 26823  		return TCL_ERROR
 26824  	}
 26825  	if tcl.XTcl_SplitList(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(objc-2)*8))), bp+112, bp+120) != 0 {
 26826  		return TCL_ERROR
 26827  	}
 26828  	if *(*int32)(unsafe.Pointer(bp + 112)) == 0 {
 26829  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+2647, 0))
 26830  		tcl.XTcl_Free(tls, *(*uintptr)(unsafe.Pointer(bp + 120)))
 26831  		return TCL_ERROR
 26832  	}
 26833  	zText = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(objc-1)*8)), bp+128)
 26834  
 26835  	rc = (*struct {
 26836  		f func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32
 26837  	})(unsafe.Pointer(&struct{ uintptr }{(*fts5_api)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 104)))).FxFindTokenizer})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 104)), *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 120)))), bp+136, bp+144)
 26838  	if rc != SQLITE_OK {
 26839  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+2647, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 120)))), 0))
 26840  		return TCL_ERROR
 26841  	}
 26842  
 26843  	rc = (*struct {
 26844  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 26845  	})(unsafe.Pointer(&struct{ uintptr }{(*fts5_tokenizer)(unsafe.Pointer(bp + 144)).FxCreate})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 136)), *(*uintptr)(unsafe.Pointer(bp + 120))+1*8, *(*int32)(unsafe.Pointer(bp + 112))-1, bp+168)
 26846  	if rc != SQLITE_OK {
 26847  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, ts+2667, 0))
 26848  		return TCL_ERROR
 26849  	}
 26850  
 26851  	pRet = tcl.XTcl_NewObj(tls)
 26852  	(*Tcl_Obj)(unsafe.Pointer(pRet)).FrefCount++
 26853  	(*F5tTokenizeCtx)(unsafe.Pointer(bp + 176)).FbSubst = libc.Bool32(objc == 5)
 26854  	(*F5tTokenizeCtx)(unsafe.Pointer(bp + 176)).FpRet = pRet
 26855  	(*F5tTokenizeCtx)(unsafe.Pointer(bp + 176)).FzInput = zText
 26856  	rc = (*struct {
 26857  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
 26858  	})(unsafe.Pointer(&struct{ uintptr }{(*fts5_tokenizer)(unsafe.Pointer(bp + 144)).FxTokenize})).f(tls,
 26859  		*(*uintptr)(unsafe.Pointer(bp + 168)), bp+176, FTS5_TOKENIZE_DOCUMENT, zText, *(*int32)(unsafe.Pointer(bp + 128)), *(*uintptr)(unsafe.Pointer(&struct {
 26860  			f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32
 26861  		}{xTokenizeCb2})))
 26862  	(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*fts5_tokenizer)(unsafe.Pointer(bp + 144)).FxDelete})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 168)))
 26863  	if rc != SQLITE_OK {
 26864  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+80, ts+2696, 0))
 26865  		for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
 26866  			var _objPtr uintptr = pRet
 26867  			if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 26868  				tcl.XTclFreeObj(tls, _objPtr)
 26869  			}
 26870  		}
 26871  		return TCL_ERROR
 26872  	}
 26873  
 26874  	tcl.XTcl_Free(tls, *(*uintptr)(unsafe.Pointer(bp + 120)))
 26875  	tcl.XTcl_SetObjResult(tls, interp, pRet)
 26876  	for __ccgo1 := true; __ccgo1; __ccgo1 = 0 != 0 {
 26877  		var _objPtr uintptr = pRet
 26878  		if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 26879  			tcl.XTclFreeObj(tls, _objPtr)
 26880  		}
 26881  	}
 26882  	return TCL_OK
 26883  }
 26884  
 26885  type F5tTokenizerContext1 = struct {
 26886  	FpCtx   uintptr
 26887  	FxToken uintptr
 26888  }
 26889  
 26890  type F5tTokenizerContext = F5tTokenizerContext1
 26891  type F5tTokenizerModule1 = struct {
 26892  	Finterp   uintptr
 26893  	FpScript  uintptr
 26894  	FpContext uintptr
 26895  }
 26896  
 26897  type F5tTokenizerModule = F5tTokenizerModule1
 26898  type F5tTokenizerInstance1 = struct {
 26899  	Finterp   uintptr
 26900  	FpScript  uintptr
 26901  	FpContext uintptr
 26902  }
 26903  
 26904  type F5tTokenizerInstance = F5tTokenizerInstance1
 26905  
 26906  func f5tTokenizerCreate(tls *libc.TLS, pCtx uintptr, azArg uintptr, nArg int32, ppOut uintptr) int32 {
 26907  	var pMod uintptr = pCtx
 26908  	var pEval uintptr
 26909  	var rc int32 = TCL_OK
 26910  	var i int32
 26911  
 26912  	pEval = tcl.XTcl_DuplicateObj(tls, (*F5tTokenizerModule)(unsafe.Pointer(pMod)).FpScript)
 26913  	(*Tcl_Obj)(unsafe.Pointer(pEval)).FrefCount++
 26914  	for i = 0; rc == TCL_OK && i < nArg; i++ {
 26915  		var pObj uintptr = tcl.XTcl_NewStringObj(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), -1)
 26916  		rc = tcl.XTcl_ListObjAppendElement(tls, (*F5tTokenizerModule)(unsafe.Pointer(pMod)).Finterp, pEval, pObj)
 26917  	}
 26918  
 26919  	if rc == TCL_OK {
 26920  		rc = tcl.XTcl_EvalObjEx(tls, (*F5tTokenizerModule)(unsafe.Pointer(pMod)).Finterp, pEval, TCL_GLOBAL_ONLY)
 26921  	}
 26922  	for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
 26923  		var _objPtr uintptr = pEval
 26924  		if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 26925  			tcl.XTclFreeObj(tls, _objPtr)
 26926  		}
 26927  	}
 26928  
 26929  	if rc == TCL_OK {
 26930  		var pInst uintptr
 26931  		pInst = tcl.XTcl_Alloc(tls, uint32(unsafe.Sizeof(F5tTokenizerInstance{})))
 26932  		libc.Xmemset(tls, pInst, 0, uint64(unsafe.Sizeof(F5tTokenizerInstance{})))
 26933  		(*F5tTokenizerInstance)(unsafe.Pointer(pInst)).Finterp = (*F5tTokenizerModule)(unsafe.Pointer(pMod)).Finterp
 26934  		(*F5tTokenizerInstance)(unsafe.Pointer(pInst)).FpScript = tcl.XTcl_GetObjResult(tls, (*F5tTokenizerModule)(unsafe.Pointer(pMod)).Finterp)
 26935  		(*F5tTokenizerInstance)(unsafe.Pointer(pInst)).FpContext = (*F5tTokenizerModule)(unsafe.Pointer(pMod)).FpContext
 26936  		(*Tcl_Obj)(unsafe.Pointer((*F5tTokenizerInstance)(unsafe.Pointer(pInst)).FpScript)).FrefCount++
 26937  		*(*uintptr)(unsafe.Pointer(ppOut)) = pInst
 26938  	}
 26939  
 26940  	return rc
 26941  }
 26942  
 26943  func f5tTokenizerDelete(tls *libc.TLS, p uintptr) {
 26944  	var pInst uintptr = p
 26945  	for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
 26946  		var _objPtr uintptr = (*F5tTokenizerInstance)(unsafe.Pointer(pInst)).FpScript
 26947  		if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 26948  			tcl.XTclFreeObj(tls, _objPtr)
 26949  		}
 26950  	}
 26951  	tcl.XTcl_Free(tls, pInst)
 26952  }
 26953  
 26954  func f5tTokenizerTokenize(tls *libc.TLS, p uintptr, pCtx uintptr, flags int32, pText uintptr, nText int32, xToken uintptr) int32 {
 26955  	var pInst uintptr = p
 26956  	var pOldCtx uintptr
 26957  	var xOldToken uintptr
 26958  	var pEval uintptr
 26959  	var rc int32
 26960  	var zFlags uintptr
 26961  
 26962  	pOldCtx = (*F5tTokenizerContext)(unsafe.Pointer((*F5tTokenizerInstance)(unsafe.Pointer(pInst)).FpContext)).FpCtx
 26963  	xOldToken = (*F5tTokenizerContext)(unsafe.Pointer((*F5tTokenizerInstance)(unsafe.Pointer(pInst)).FpContext)).FxToken
 26964  
 26965  	(*F5tTokenizerContext)(unsafe.Pointer((*F5tTokenizerInstance)(unsafe.Pointer(pInst)).FpContext)).FpCtx = pCtx
 26966  	(*F5tTokenizerContext)(unsafe.Pointer((*F5tTokenizerInstance)(unsafe.Pointer(pInst)).FpContext)).FxToken = xToken
 26967  
 26968  	pEval = tcl.XTcl_DuplicateObj(tls, (*F5tTokenizerInstance)(unsafe.Pointer(pInst)).FpScript)
 26969  	(*Tcl_Obj)(unsafe.Pointer(pEval)).FrefCount++
 26970  	switch flags {
 26971  	case FTS5_TOKENIZE_DOCUMENT:
 26972  		zFlags = ts + 2727
 26973  		break
 26974  	case FTS5_TOKENIZE_AUX:
 26975  		zFlags = ts + 2736
 26976  		break
 26977  	case FTS5_TOKENIZE_QUERY:
 26978  		zFlags = ts + 2740
 26979  		break
 26980  	case FTS5_TOKENIZE_PREFIX | FTS5_TOKENIZE_QUERY:
 26981  		zFlags = ts + 2746
 26982  		break
 26983  	default:
 26984  		zFlags = ts + 2758
 26985  		break
 26986  	}
 26987  
 26988  	tcl.XTcl_ListObjAppendElement(tls, (*F5tTokenizerInstance)(unsafe.Pointer(pInst)).Finterp, pEval, tcl.XTcl_NewStringObj(tls, zFlags, -1))
 26989  	tcl.XTcl_ListObjAppendElement(tls, (*F5tTokenizerInstance)(unsafe.Pointer(pInst)).Finterp, pEval, tcl.XTcl_NewStringObj(tls, pText, nText))
 26990  	rc = tcl.XTcl_EvalObjEx(tls, (*F5tTokenizerInstance)(unsafe.Pointer(pInst)).Finterp, pEval, TCL_GLOBAL_ONLY)
 26991  	for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
 26992  		var _objPtr uintptr = pEval
 26993  		if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 26994  			tcl.XTclFreeObj(tls, _objPtr)
 26995  		}
 26996  	}
 26997  
 26998  	(*F5tTokenizerContext)(unsafe.Pointer((*F5tTokenizerInstance)(unsafe.Pointer(pInst)).FpContext)).FpCtx = pOldCtx
 26999  	(*F5tTokenizerContext)(unsafe.Pointer((*F5tTokenizerInstance)(unsafe.Pointer(pInst)).FpContext)).FxToken = xOldToken
 27000  	return rc
 27001  }
 27002  
 27003  func f5tTokenizerReturn(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 27004  	bp := tls.Alloc(32)
 27005  	defer tls.Free(32)
 27006  
 27007  	var p uintptr
 27008  
 27009  	var tflags int32
 27010  	var zToken uintptr
 27011  	var rc int32
 27012  
 27013  	var zArg uintptr
 27014  	p = clientData
 27015  	tflags = 0
 27016  
 27017  	if !(objc == 5) {
 27018  		goto __1
 27019  	}
 27020  	zArg = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+16)
 27021  	if !(*(*int32)(unsafe.Pointer(bp + 16)) <= 10 && *(*int32)(unsafe.Pointer(bp + 16)) >= 2 && libc.Xmemcmp(tls, ts+2766, zArg, uint64(*(*int32)(unsafe.Pointer(bp + 16)))) == 0) {
 27022  		goto __3
 27023  	}
 27024  	tflags = tflags | FTS5_TOKEN_COLOCATED
 27025  	goto __4
 27026  __3:
 27027  	goto usage
 27028  __4:
 27029  	;
 27030  	goto __2
 27031  __1:
 27032  	if !(objc != 4) {
 27033  		goto __5
 27034  	}
 27035  	goto usage
 27036  __5:
 27037  	;
 27038  __2:
 27039  	;
 27040  	zToken = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(objc-3)*8)), bp+20)
 27041  	if !(tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(objc-2)*8)), bp+24) != 0 ||
 27042  		tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(objc-1)*8)), bp+28) != 0) {
 27043  		goto __6
 27044  	}
 27045  	return TCL_ERROR
 27046  __6:
 27047  	;
 27048  	if !((*F5tTokenizerContext)(unsafe.Pointer(p)).FxToken == uintptr(0)) {
 27049  		goto __7
 27050  	}
 27051  	tcl.XTcl_AppendResult(tls, interp,
 27052  		libc.VaList(bp, ts+2777, 0))
 27053  	return TCL_ERROR
 27054  __7:
 27055  	;
 27056  	rc = (*struct {
 27057  		f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32
 27058  	})(unsafe.Pointer(&struct{ uintptr }{(*F5tTokenizerContext)(unsafe.Pointer(p)).FxToken})).f(tls, (*F5tTokenizerContext)(unsafe.Pointer(p)).FpCtx, tflags, zToken, *(*int32)(unsafe.Pointer(bp + 20)), *(*int32)(unsafe.Pointer(bp + 24)), *(*int32)(unsafe.Pointer(bp + 28)))
 27059  	tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(1))
 27060  	if rc == SQLITE_OK {
 27061  		return TCL_OK
 27062  	}
 27063  	return TCL_ERROR
 27064  
 27065  usage:
 27066  	tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+2835)
 27067  	return TCL_ERROR
 27068  }
 27069  
 27070  func f5tDelTokenizer(tls *libc.TLS, pCtx uintptr) {
 27071  	var pMod uintptr = pCtx
 27072  	for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
 27073  		var _objPtr uintptr = (*F5tTokenizerModule)(unsafe.Pointer(pMod)).FpScript
 27074  		if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 27075  			tcl.XTclFreeObj(tls, _objPtr)
 27076  		}
 27077  	}
 27078  	tcl.XTcl_Free(tls, pMod)
 27079  }
 27080  
 27081  func f5tCreateTokenizer(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 27082  	bp := tls.Alloc(56)
 27083  	defer tls.Free(56)
 27084  
 27085  	var pContext uintptr = clientData
 27086  
 27087  	var zName uintptr
 27088  	var pScript uintptr
 27089  
 27090  	var pMod uintptr
 27091  	var rc int32
 27092  
 27093  	if objc != 4 {
 27094  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+2581)
 27095  		return TCL_ERROR
 27096  	}
 27097  	if f5tDbAndApi(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+16, bp+24) != 0 {
 27098  		return TCL_ERROR
 27099  	}
 27100  	zName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
 27101  	pScript = *(*uintptr)(unsafe.Pointer(objv + 3*8))
 27102  
 27103  	(*fts5_tokenizer)(unsafe.Pointer(bp + 32)).FxCreate = *(*uintptr)(unsafe.Pointer(&struct {
 27104  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 27105  	}{f5tTokenizerCreate}))
 27106  	(*fts5_tokenizer)(unsafe.Pointer(bp + 32)).FxTokenize = *(*uintptr)(unsafe.Pointer(&struct {
 27107  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
 27108  	}{f5tTokenizerTokenize}))
 27109  	(*fts5_tokenizer)(unsafe.Pointer(bp + 32)).FxDelete = *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{f5tTokenizerDelete}))
 27110  
 27111  	pMod = tcl.XTcl_Alloc(tls, uint32(unsafe.Sizeof(F5tTokenizerModule{})))
 27112  	(*F5tTokenizerModule)(unsafe.Pointer(pMod)).Finterp = interp
 27113  	(*F5tTokenizerModule)(unsafe.Pointer(pMod)).FpScript = pScript
 27114  	(*F5tTokenizerModule)(unsafe.Pointer(pMod)).FpContext = pContext
 27115  	(*Tcl_Obj)(unsafe.Pointer(pScript)).FrefCount++
 27116  	rc = (*struct {
 27117  		f func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr) int32
 27118  	})(unsafe.Pointer(&struct{ uintptr }{(*fts5_api)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FxCreateTokenizer})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), zName, pMod, bp+32, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{f5tDelTokenizer})))
 27119  	if rc != SQLITE_OK {
 27120  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+2863, 0))
 27121  		return TCL_ERROR
 27122  	}
 27123  
 27124  	return TCL_OK
 27125  }
 27126  
 27127  func xF5tFree(tls *libc.TLS, clientData ClientData) {
 27128  	tcl.XTcl_Free(tls, clientData)
 27129  }
 27130  
 27131  func f5tMayBeCorrupt(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 27132  	return TCL_OK
 27133  }
 27134  
 27135  func f5t_fts5HashKey(tls *libc.TLS, nSlot int32, p uintptr, n int32) uint32 {
 27136  	var i int32
 27137  	var h uint32 = uint32(13)
 27138  	for i = n - 1; i >= 0; i-- {
 27139  		h = h<<3 ^ h ^ uint32(*(*int8)(unsafe.Pointer(p + uintptr(i))))
 27140  	}
 27141  	return h % uint32(nSlot)
 27142  }
 27143  
 27144  func f5tTokenHash(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 27145  	bp := tls.Alloc(8)
 27146  	defer tls.Free(8)
 27147  
 27148  	var z uintptr
 27149  
 27150  	var iVal uint32
 27151  
 27152  	if objc != 3 {
 27153  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+2900)
 27154  		return TCL_ERROR
 27155  	}
 27156  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp) != 0 {
 27157  		return TCL_ERROR
 27158  	}
 27159  	z = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+4)
 27160  
 27161  	iVal = f5t_fts5HashKey(tls, *(*int32)(unsafe.Pointer(bp)), z, *(*int32)(unsafe.Pointer(bp + 4)))
 27162  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, int32(iVal)))
 27163  	return TCL_OK
 27164  }
 27165  
 27166  func f5tRegisterMatchinfo(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 27167  	bp := tls.Alloc(8)
 27168  	defer tls.Free(8)
 27169  
 27170  	var rc int32
 27171  	*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
 27172  
 27173  	if objc != 2 {
 27174  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+2050)
 27175  		return TCL_ERROR
 27176  	}
 27177  	if f5tDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp) != 0 {
 27178  		return TCL_ERROR
 27179  	}
 27180  
 27181  	rc = sqlite3Fts5TestRegisterMatchinfo(tls, *(*uintptr)(unsafe.Pointer(bp)))
 27182  	if rc != SQLITE_OK {
 27183  		tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(1))
 27184  		return TCL_ERROR
 27185  	}
 27186  	return TCL_OK
 27187  }
 27188  
 27189  func f5tRegisterTok(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 27190  	bp := tls.Alloc(16)
 27191  	defer tls.Free(16)
 27192  
 27193  	var rc int32
 27194  	*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
 27195  	*(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0)
 27196  
 27197  	if objc != 2 {
 27198  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+2050)
 27199  		return TCL_ERROR
 27200  	}
 27201  	if f5tDbAndApi(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp, bp+8) != 0 {
 27202  		return TCL_ERROR
 27203  	}
 27204  
 27205  	rc = sqlite3Fts5TestRegisterTok(tls, *(*uintptr)(unsafe.Pointer(bp)), *(*uintptr)(unsafe.Pointer(bp + 8)))
 27206  	if rc != SQLITE_OK {
 27207  		tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(1))
 27208  		return TCL_ERROR
 27209  	}
 27210  	return TCL_OK
 27211  }
 27212  
 27213  func Fts5tcl_Init(tls *libc.TLS, interp uintptr) int32 {
 27214  	var i int32
 27215  	var pContext uintptr
 27216  
 27217  	pContext = tcl.XTcl_Alloc(tls, uint32(unsafe.Sizeof(F5tTokenizerContext{})))
 27218  	libc.Xmemset(tls, pContext, 0, uint64(unsafe.Sizeof(F5tTokenizerContext{})))
 27219  
 27220  	for i = 0; uint64(i) < uint64(unsafe.Sizeof(aCmd))/uint64(unsafe.Sizeof(struct {
 27221  		FzName        uintptr
 27222  		FxProc        uintptr
 27223  		FbTokenizeCtx int32
 27224  		F__ccgo_pad1  [4]byte
 27225  	}{})); i++ {
 27226  		var p uintptr = uintptr(unsafe.Pointer(&aCmd)) + uintptr(i)*24
 27227  		var pCtx uintptr = uintptr(0)
 27228  		if (*struct {
 27229  			FzName        uintptr
 27230  			FxProc        uintptr
 27231  			FbTokenizeCtx int32
 27232  			F__ccgo_pad1  [4]byte
 27233  		})(unsafe.Pointer(p)).FbTokenizeCtx != 0 {
 27234  			pCtx = pContext
 27235  		}
 27236  		tcl.XTcl_CreateObjCommand(tls, interp, (*struct {
 27237  			FzName        uintptr
 27238  			FxProc        uintptr
 27239  			FbTokenizeCtx int32
 27240  			F__ccgo_pad1  [4]byte
 27241  		})(unsafe.Pointer(p)).FzName, (*struct {
 27242  			FzName        uintptr
 27243  			FxProc        uintptr
 27244  			FbTokenizeCtx int32
 27245  			F__ccgo_pad1  [4]byte
 27246  		})(unsafe.Pointer(p)).FxProc, pCtx, func() uintptr {
 27247  			if i != 0 {
 27248  				return uintptr(0)
 27249  			}
 27250  			return *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, ClientData) }{xF5tFree}))
 27251  		}())
 27252  	}
 27253  
 27254  	return TCL_OK
 27255  }
 27256  
 27257  var aCmd = [8]struct {
 27258  	FzName        uintptr
 27259  	FxProc        uintptr
 27260  	FbTokenizeCtx int32
 27261  	F__ccgo_pad1  [4]byte
 27262  }{
 27263  	{FzName: ts + 2912, FxProc: 0, FbTokenizeCtx: 1},
 27264  	{FzName: ts + 2942, FxProc: 0, FbTokenizeCtx: 1},
 27265  	{FzName: ts + 2961, FxProc: 0},
 27266  	{FzName: ts + 2983, FxProc: 0},
 27267  	{FzName: ts + 3012, FxProc: 0},
 27268  	{FzName: ts + 3040, FxProc: 0},
 27269  	{FzName: ts + 3064, FxProc: 0},
 27270  	{FzName: ts + 3096, FxProc: 0},
 27271  }
 27272  
 27273  type Fts5MatchinfoCtx1 = struct {
 27274  	FnCol        int32
 27275  	FnPhrase     int32
 27276  	FzArg        uintptr
 27277  	FnRet        int32
 27278  	F__ccgo_pad1 [4]byte
 27279  	FaRet        uintptr
 27280  }
 27281  
 27282  type Fts5MatchinfoCtx = Fts5MatchinfoCtx1
 27283  
 27284  type u32 = uint32
 27285  
 27286  func fts5_api_from_db(tls *libc.TLS, db uintptr, ppApi uintptr) int32 {
 27287  	bp := tls.Alloc(8)
 27288  	defer tls.Free(8)
 27289  
 27290  	*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
 27291  	var rc int32
 27292  
 27293  	*(*uintptr)(unsafe.Pointer(ppApi)) = uintptr(0)
 27294  	rc = sqlite3.Xsqlite3_prepare(tls, db, ts+2137, -1, bp, uintptr(0))
 27295  	if rc == SQLITE_OK {
 27296  		sqlite3.Xsqlite3_bind_pointer(tls, *(*uintptr)(unsafe.Pointer(bp)), 1, ppApi, ts+2161, uintptr(0))
 27297  		sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp)))
 27298  		rc = sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp)))
 27299  	}
 27300  
 27301  	return rc
 27302  }
 27303  
 27304  func fts5MatchinfoFlagsize(tls *libc.TLS, nCol int32, nPhrase int32, f int8) int32 {
 27305  	var ret int32 = -1
 27306  	switch int32(f) {
 27307  	case 'p':
 27308  		ret = 1
 27309  		break
 27310  	case 'c':
 27311  		ret = 1
 27312  		break
 27313  	case 'x':
 27314  		ret = 3 * nCol * nPhrase
 27315  		break
 27316  	case 'y':
 27317  		ret = nCol * nPhrase
 27318  		break
 27319  	case 'b':
 27320  		ret = (nCol + 31) / 32 * nPhrase
 27321  		break
 27322  	case 'n':
 27323  		ret = 1
 27324  		break
 27325  	case 'a':
 27326  		ret = nCol
 27327  		break
 27328  	case 'l':
 27329  		ret = nCol
 27330  		break
 27331  	case 's':
 27332  		ret = nCol
 27333  		break
 27334  	}
 27335  	return ret
 27336  }
 27337  
 27338  func fts5MatchinfoIter(tls *libc.TLS, pApi uintptr, pFts uintptr, p uintptr, x uintptr) int32 {
 27339  	var i int32
 27340  	var n int32 = 0
 27341  	var rc int32 = SQLITE_OK
 27342  	var f int8
 27343  	for i = 0; libc.AssignInt8(&f, *(*int8)(unsafe.Pointer((*Fts5MatchinfoCtx)(unsafe.Pointer(p)).FzArg + uintptr(i)))) != 0; i++ {
 27344  		rc = (*struct {
 27345  			f func(*libc.TLS, uintptr, uintptr, uintptr, int8, uintptr) int32
 27346  		})(unsafe.Pointer(&struct{ uintptr }{x})).f(tls, pApi, pFts, p, f, (*Fts5MatchinfoCtx)(unsafe.Pointer(p)).FaRet+uintptr(n)*4)
 27347  		if rc != SQLITE_OK {
 27348  			break
 27349  		}
 27350  		n = n + fts5MatchinfoFlagsize(tls, (*Fts5MatchinfoCtx)(unsafe.Pointer(p)).FnCol, (*Fts5MatchinfoCtx)(unsafe.Pointer(p)).FnPhrase, f)
 27351  	}
 27352  	return rc
 27353  }
 27354  
 27355  func fts5MatchinfoXCb(tls *libc.TLS, pApi uintptr, pFts uintptr, pUserData uintptr) int32 {
 27356  	bp := tls.Alloc(24)
 27357  	defer tls.Free(24)
 27358  
 27359  	var aOut uintptr = pUserData
 27360  	var iPrev int32 = -1
 27361  
 27362  	for (*struct {
 27363  		f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32
 27364  	})(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxPhraseFirst})).f(tls, pFts, 0, bp, bp+16, bp+20); *(*int32)(unsafe.Pointer(bp + 16)) >= 0; (*struct {
 27365  		f func(*libc.TLS, uintptr, uintptr, uintptr, uintptr)
 27366  	})(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxPhraseNext})).f(tls, pFts, bp, bp+16, bp+20) {
 27367  		*(*u32)(unsafe.Pointer(aOut + uintptr(*(*int32)(unsafe.Pointer(bp + 16))*3+1)*4))++
 27368  		if *(*int32)(unsafe.Pointer(bp + 16)) != iPrev {
 27369  			*(*u32)(unsafe.Pointer(aOut + uintptr(*(*int32)(unsafe.Pointer(bp + 16))*3+2)*4))++
 27370  		}
 27371  		iPrev = *(*int32)(unsafe.Pointer(bp + 16))
 27372  	}
 27373  
 27374  	return SQLITE_OK
 27375  }
 27376  
 27377  func fts5MatchinfoGlobalCb(tls *libc.TLS, pApi uintptr, pFts uintptr, p uintptr, f int8, aOut uintptr) int32 {
 27378  	bp := tls.Alloc(24)
 27379  	defer tls.Free(24)
 27380  
 27381  	var rc int32 = SQLITE_OK
 27382  	switch int32(f) {
 27383  	case 'p':
 27384  		*(*u32)(unsafe.Pointer(aOut)) = u32((*Fts5MatchinfoCtx)(unsafe.Pointer(p)).FnPhrase)
 27385  		break
 27386  
 27387  	case 'c':
 27388  		*(*u32)(unsafe.Pointer(aOut)) = u32((*Fts5MatchinfoCtx)(unsafe.Pointer(p)).FnCol)
 27389  		break
 27390  
 27391  	case 'x':
 27392  		{
 27393  			var i int32
 27394  			for i = 0; i < (*Fts5MatchinfoCtx)(unsafe.Pointer(p)).FnPhrase && rc == SQLITE_OK; i++ {
 27395  				var pPtr uintptr = aOut + uintptr(i*(*Fts5MatchinfoCtx)(unsafe.Pointer(p)).FnCol*3)*4
 27396  				rc = (*struct {
 27397  					f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32
 27398  				})(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxQueryPhrase})).f(tls, pFts, i, pPtr, *(*uintptr)(unsafe.Pointer(&struct {
 27399  					f func(*libc.TLS, uintptr, uintptr, uintptr) int32
 27400  				}{fts5MatchinfoXCb})))
 27401  			}
 27402  			break
 27403  
 27404  		}
 27405  
 27406  	case 'n':
 27407  		{
 27408  			rc = (*struct {
 27409  				f func(*libc.TLS, uintptr, uintptr) int32
 27410  			})(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxRowCount})).f(tls, pFts, bp)
 27411  			*(*u32)(unsafe.Pointer(aOut)) = u32(*(*sqlite3_int64)(unsafe.Pointer(bp)))
 27412  			break
 27413  
 27414  		}
 27415  
 27416  	case 'a':
 27417  		{
 27418  			*(*sqlite3_int64)(unsafe.Pointer(bp + 8)) = int64(0)
 27419  			rc = (*struct {
 27420  				f func(*libc.TLS, uintptr, uintptr) int32
 27421  			})(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxRowCount})).f(tls, pFts, bp+8)
 27422  			if *(*sqlite3_int64)(unsafe.Pointer(bp + 8)) == int64(0) {
 27423  				libc.Xmemset(tls, aOut, 0, uint64(unsafe.Sizeof(u32(0)))*uint64((*Fts5MatchinfoCtx)(unsafe.Pointer(p)).FnCol))
 27424  			} else {
 27425  				var i int32
 27426  				for i = 0; rc == SQLITE_OK && i < (*Fts5MatchinfoCtx)(unsafe.Pointer(p)).FnCol; i++ {
 27427  					rc = (*struct {
 27428  						f func(*libc.TLS, uintptr, int32, uintptr) int32
 27429  					})(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnTotalSize})).f(tls, pFts, i, bp+16)
 27430  					if rc == SQLITE_OK {
 27431  						*(*u32)(unsafe.Pointer(aOut + uintptr(i)*4)) = u32((int64(2)**(*sqlite3_int64)(unsafe.Pointer(bp + 16)) + *(*sqlite3_int64)(unsafe.Pointer(bp + 8))) / (int64(2) * *(*sqlite3_int64)(unsafe.Pointer(bp + 8))))
 27432  					}
 27433  				}
 27434  			}
 27435  			break
 27436  
 27437  		}
 27438  
 27439  	}
 27440  	return rc
 27441  }
 27442  
 27443  func fts5MatchinfoLocalCb(tls *libc.TLS, pApi uintptr, pFts uintptr, p uintptr, f int8, aOut uintptr) int32 {
 27444  	bp := tls.Alloc(80)
 27445  	defer tls.Free(80)
 27446  
 27447  	var i int32
 27448  	var rc int32 = SQLITE_OK
 27449  
 27450  	switch int32(f) {
 27451  	case 'b':
 27452  		{
 27453  			var iPhrase int32
 27454  			var nInt int32 = ((*Fts5MatchinfoCtx)(unsafe.Pointer(p)).FnCol + 31) / 32 * (*Fts5MatchinfoCtx)(unsafe.Pointer(p)).FnPhrase
 27455  			for i = 0; i < nInt; i++ {
 27456  				*(*u32)(unsafe.Pointer(aOut + uintptr(i)*4)) = u32(0)
 27457  			}
 27458  
 27459  			for iPhrase = 0; iPhrase < (*Fts5MatchinfoCtx)(unsafe.Pointer(p)).FnPhrase; iPhrase++ {
 27460  				for (*struct {
 27461  					f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32
 27462  				})(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxPhraseFirstColumn})).f(tls, pFts, iPhrase, bp, bp+16); *(*int32)(unsafe.Pointer(bp + 16)) >= 0; (*struct {
 27463  					f func(*libc.TLS, uintptr, uintptr, uintptr)
 27464  				})(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxPhraseNextColumn})).f(tls, pFts, bp, bp+16) {
 27465  					*(*u32)(unsafe.Pointer(aOut + uintptr(iPhrase*(((*Fts5MatchinfoCtx)(unsafe.Pointer(p)).FnCol+31)/32)+*(*int32)(unsafe.Pointer(bp + 16))/32)*4)) |= u32(1) << (*(*int32)(unsafe.Pointer(bp + 16)) % 32)
 27466  				}
 27467  			}
 27468  
 27469  			break
 27470  
 27471  		}
 27472  
 27473  	case 'x':
 27474  		fallthrough
 27475  	case 'y':
 27476  		{
 27477  			var nMul int32 = func() int32 {
 27478  				if int32(f) == 'x' {
 27479  					return 3
 27480  				}
 27481  				return 1
 27482  			}()
 27483  			var iPhrase int32
 27484  
 27485  			for i = 0; i < (*Fts5MatchinfoCtx)(unsafe.Pointer(p)).FnCol*(*Fts5MatchinfoCtx)(unsafe.Pointer(p)).FnPhrase; i++ {
 27486  				*(*u32)(unsafe.Pointer(aOut + uintptr(i*nMul)*4)) = u32(0)
 27487  			}
 27488  
 27489  			for iPhrase = 0; iPhrase < (*Fts5MatchinfoCtx)(unsafe.Pointer(p)).FnPhrase; iPhrase++ {
 27490  				for (*struct {
 27491  					f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32
 27492  				})(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxPhraseFirst})).f(tls, pFts, iPhrase, bp+24, bp+40, bp+44); *(*int32)(unsafe.Pointer(bp + 44)) >= 0; (*struct {
 27493  					f func(*libc.TLS, uintptr, uintptr, uintptr, uintptr)
 27494  				})(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxPhraseNext})).f(tls, pFts, bp+24, bp+40, bp+44) {
 27495  					*(*u32)(unsafe.Pointer(aOut + uintptr(nMul*(*(*int32)(unsafe.Pointer(bp + 40))+iPhrase*(*Fts5MatchinfoCtx)(unsafe.Pointer(p)).FnCol))*4))++
 27496  				}
 27497  			}
 27498  
 27499  			break
 27500  
 27501  		}
 27502  
 27503  	case 'l':
 27504  		{
 27505  			for i = 0; rc == SQLITE_OK && i < (*Fts5MatchinfoCtx)(unsafe.Pointer(p)).FnCol; i++ {
 27506  				rc = (*struct {
 27507  					f func(*libc.TLS, uintptr, int32, uintptr) int32
 27508  				})(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnSize})).f(tls, pFts, i, bp+48)
 27509  				*(*u32)(unsafe.Pointer(aOut + uintptr(i)*4)) = u32(*(*int32)(unsafe.Pointer(bp + 48)))
 27510  			}
 27511  			break
 27512  
 27513  		}
 27514  
 27515  	case 's':
 27516  		{
 27517  			libc.Xmemset(tls, aOut, 0, uint64(unsafe.Sizeof(u32(0)))*uint64((*Fts5MatchinfoCtx)(unsafe.Pointer(p)).FnCol))
 27518  
 27519  			rc = (*struct {
 27520  				f func(*libc.TLS, uintptr, uintptr) int32
 27521  			})(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxInstCount})).f(tls, pFts, bp+52)
 27522  			for i = 0; rc == SQLITE_OK && i < *(*int32)(unsafe.Pointer(bp + 52)); i++ {
 27523  				*(*int32)(unsafe.Pointer(bp + 60)) = 0
 27524  				var iNextPhrase int32
 27525  				var iNextOff int32
 27526  				var nSeq u32 = u32(1)
 27527  				var j int32
 27528  
 27529  				rc = (*struct {
 27530  					f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32
 27531  				})(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxInst})).f(tls, pFts, i, bp+56, bp+60, bp+64)
 27532  				iNextPhrase = *(*int32)(unsafe.Pointer(bp + 56)) + 1
 27533  				iNextOff = *(*int32)(unsafe.Pointer(bp + 64)) + (*struct {
 27534  					f func(*libc.TLS, uintptr, int32) int32
 27535  				})(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxPhraseSize})).f(tls, pFts, 0)
 27536  				for j = i + 1; rc == SQLITE_OK && j < *(*int32)(unsafe.Pointer(bp + 52)); j++ {
 27537  					rc = (*struct {
 27538  						f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32
 27539  					})(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxInst})).f(tls, pFts, j, bp+68, bp+72, bp+76)
 27540  					if *(*int32)(unsafe.Pointer(bp + 72)) != *(*int32)(unsafe.Pointer(bp + 60)) || *(*int32)(unsafe.Pointer(bp + 76)) > iNextOff {
 27541  						break
 27542  					}
 27543  					if *(*int32)(unsafe.Pointer(bp + 68)) == iNextPhrase && *(*int32)(unsafe.Pointer(bp + 76)) == iNextOff {
 27544  						nSeq++
 27545  						iNextPhrase = *(*int32)(unsafe.Pointer(bp + 68)) + 1
 27546  						iNextOff = *(*int32)(unsafe.Pointer(bp + 76)) + (*struct {
 27547  							f func(*libc.TLS, uintptr, int32) int32
 27548  						})(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxPhraseSize})).f(tls, pFts, *(*int32)(unsafe.Pointer(bp + 68)))
 27549  					}
 27550  				}
 27551  
 27552  				if nSeq > *(*u32)(unsafe.Pointer(aOut + uintptr(*(*int32)(unsafe.Pointer(bp + 60)))*4)) {
 27553  					*(*u32)(unsafe.Pointer(aOut + uintptr(*(*int32)(unsafe.Pointer(bp + 60)))*4)) = nSeq
 27554  				}
 27555  			}
 27556  
 27557  			break
 27558  
 27559  		}
 27560  	}
 27561  	return rc
 27562  }
 27563  
 27564  func fts5MatchinfoNew(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, zArg uintptr) uintptr {
 27565  	bp := tls.Alloc(8)
 27566  	defer tls.Free(8)
 27567  
 27568  	var p uintptr
 27569  	var nCol int32
 27570  	var nPhrase int32
 27571  	var i int32
 27572  	var nInt int32
 27573  	var nByte sqlite3_int64
 27574  	var rc int32
 27575  
 27576  	nCol = (*struct {
 27577  		f func(*libc.TLS, uintptr) int32
 27578  	})(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnCount})).f(tls, pFts)
 27579  	nPhrase = (*struct {
 27580  		f func(*libc.TLS, uintptr) int32
 27581  	})(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxPhraseCount})).f(tls, pFts)
 27582  
 27583  	nInt = 0
 27584  	for i = 0; *(*int8)(unsafe.Pointer(zArg + uintptr(i))) != 0; i++ {
 27585  		var n int32 = fts5MatchinfoFlagsize(tls, nCol, nPhrase, *(*int8)(unsafe.Pointer(zArg + uintptr(i))))
 27586  		if n < 0 {
 27587  			var zErr uintptr = sqlite3.Xsqlite3_mprintf(tls, ts+3131, libc.VaList(bp, int32(*(*int8)(unsafe.Pointer(zArg + uintptr(i))))))
 27588  			sqlite3.Xsqlite3_result_error(tls, pCtx, zErr, -1)
 27589  			sqlite3.Xsqlite3_free(tls, zErr)
 27590  			return uintptr(0)
 27591  		}
 27592  		nInt = nInt + n
 27593  	}
 27594  
 27595  	nByte = sqlite3_int64(uint64(unsafe.Sizeof(Fts5MatchinfoCtx{})) +
 27596  		uint64(unsafe.Sizeof(u32(0)))*uint64(nInt) +
 27597  		uint64(i+1))
 27598  	p = sqlite3.Xsqlite3_malloc64(tls, uint64(nByte))
 27599  	if p == uintptr(0) {
 27600  		sqlite3.Xsqlite3_result_error_nomem(tls, pCtx)
 27601  		return uintptr(0)
 27602  	}
 27603  	libc.Xmemset(tls, p, 0, uint64(nByte))
 27604  
 27605  	(*Fts5MatchinfoCtx)(unsafe.Pointer(p)).FnCol = nCol
 27606  	(*Fts5MatchinfoCtx)(unsafe.Pointer(p)).FnPhrase = nPhrase
 27607  	(*Fts5MatchinfoCtx)(unsafe.Pointer(p)).FaRet = p + 1*32
 27608  	(*Fts5MatchinfoCtx)(unsafe.Pointer(p)).FnRet = nInt
 27609  	(*Fts5MatchinfoCtx)(unsafe.Pointer(p)).FzArg = (*Fts5MatchinfoCtx)(unsafe.Pointer(p)).FaRet + uintptr(nInt)*4
 27610  	libc.Xmemcpy(tls, (*Fts5MatchinfoCtx)(unsafe.Pointer(p)).FzArg, zArg, uint64(i))
 27611  
 27612  	rc = fts5MatchinfoIter(tls, pApi, pFts, p, *(*uintptr)(unsafe.Pointer(&struct {
 27613  		f func(*libc.TLS, uintptr, uintptr, uintptr, int8, uintptr) int32
 27614  	}{fts5MatchinfoGlobalCb})))
 27615  	if rc != SQLITE_OK {
 27616  		sqlite3.Xsqlite3_result_error_code(tls, pCtx, rc)
 27617  		sqlite3.Xsqlite3_free(tls, p)
 27618  		p = uintptr(0)
 27619  	}
 27620  
 27621  	return p
 27622  }
 27623  
 27624  func fts5MatchinfoFunc(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) {
 27625  	var zArg uintptr
 27626  	var p uintptr
 27627  	var rc int32 = SQLITE_OK
 27628  
 27629  	if nVal > 0 {
 27630  		zArg = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal)))
 27631  	} else {
 27632  		zArg = ts + 3163
 27633  	}
 27634  
 27635  	p = (*struct {
 27636  		f func(*libc.TLS, uintptr, int32) uintptr
 27637  	})(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxGetAuxdata})).f(tls, pFts, 0)
 27638  	if p == uintptr(0) || sqlite3.Xsqlite3_stricmp(tls, zArg, (*Fts5MatchinfoCtx)(unsafe.Pointer(p)).FzArg) != 0 {
 27639  		p = fts5MatchinfoNew(tls, pApi, pFts, pCtx, zArg)
 27640  		if p == uintptr(0) {
 27641  			rc = SQLITE_NOMEM
 27642  		} else {
 27643  			rc = (*struct {
 27644  				f func(*libc.TLS, uintptr, uintptr, uintptr) int32
 27645  			})(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxSetAuxdata})).f(tls, pFts, p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sqlite3.Xsqlite3_free})))
 27646  		}
 27647  	}
 27648  
 27649  	if rc == SQLITE_OK {
 27650  		rc = fts5MatchinfoIter(tls, pApi, pFts, p, *(*uintptr)(unsafe.Pointer(&struct {
 27651  			f func(*libc.TLS, uintptr, uintptr, uintptr, int8, uintptr) int32
 27652  		}{fts5MatchinfoLocalCb})))
 27653  	}
 27654  	if rc != SQLITE_OK {
 27655  		sqlite3.Xsqlite3_result_error_code(tls, pCtx, rc)
 27656  	} else {
 27657  		var nByte int32 = int32(uint64((*Fts5MatchinfoCtx)(unsafe.Pointer(p)).FnRet) * uint64(unsafe.Sizeof(u32(0))))
 27658  		sqlite3.Xsqlite3_result_blob(tls, pCtx, (*Fts5MatchinfoCtx)(unsafe.Pointer(p)).FaRet, nByte, libc.UintptrFromInt32(-1))
 27659  	}
 27660  }
 27661  
 27662  func sqlite3Fts5TestRegisterMatchinfo(tls *libc.TLS, db uintptr) int32 {
 27663  	bp := tls.Alloc(8)
 27664  	defer tls.Free(8)
 27665  
 27666  	var rc int32
 27667  
 27668  	rc = fts5_api_from_db(tls, db, bp)
 27669  	if rc != SQLITE_OK {
 27670  		return rc
 27671  	}
 27672  
 27673  	if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) || (*fts5_api)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FiVersion < 2 {
 27674  		return SQLITE_ERROR
 27675  	}
 27676  
 27677  	rc = (*struct {
 27678  		f func(*libc.TLS, uintptr, uintptr, uintptr, fts5_extension_function, uintptr) int32
 27679  	})(unsafe.Pointer(&struct{ uintptr }{(*fts5_api)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FxCreateFunction})).f(tls, *(*uintptr)(unsafe.Pointer(bp)), ts+3167, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 27680  		f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr)
 27681  	}{fts5MatchinfoFunc})), uintptr(0))
 27682  
 27683  	return rc
 27684  }
 27685  
 27686  type Fts5tokTable1 = struct {
 27687  	Fbase sqlite3_vtab
 27688  	Ftok  fts5_tokenizer
 27689  	FpTok uintptr
 27690  }
 27691  
 27692  type Fts5tokTable = Fts5tokTable1
 27693  type Fts5tokCursor1 = struct {
 27694  	Fbase        sqlite3_vtab_cursor
 27695  	FiRowid      int32
 27696  	F__ccgo_pad1 [4]byte
 27697  	FzInput      uintptr
 27698  	FnRow        int32
 27699  	F__ccgo_pad2 [4]byte
 27700  	FaRow        uintptr
 27701  }
 27702  
 27703  type Fts5tokCursor = Fts5tokCursor1
 27704  type Fts5tokRow1 = struct {
 27705  	FzToken      uintptr
 27706  	FiStart      int32
 27707  	FiEnd        int32
 27708  	FiPos        int32
 27709  	F__ccgo_pad1 [4]byte
 27710  }
 27711  
 27712  type Fts5tokRow = Fts5tokRow1
 27713  
 27714  func fts5tokDequote(tls *libc.TLS, z uintptr) {
 27715  	var q int8 = *(*int8)(unsafe.Pointer(z))
 27716  
 27717  	if int32(q) == '[' || int32(q) == '\'' || int32(q) == '"' || int32(q) == '`' {
 27718  		var iIn int32 = 1
 27719  		var iOut int32 = 0
 27720  		if int32(q) == '[' {
 27721  			q = int8(']')
 27722  		}
 27723  
 27724  		for *(*int8)(unsafe.Pointer(z + uintptr(iIn))) != 0 {
 27725  			if int32(*(*int8)(unsafe.Pointer(z + uintptr(iIn)))) == int32(q) {
 27726  				if int32(*(*int8)(unsafe.Pointer(z + uintptr(iIn+1)))) != int32(q) {
 27727  					iIn++
 27728  					break
 27729  				} else {
 27730  					iIn = iIn + 2
 27731  					*(*int8)(unsafe.Pointer(z + uintptr(libc.PostIncInt32(&iOut, 1)))) = q
 27732  				}
 27733  			} else {
 27734  				*(*int8)(unsafe.Pointer(z + uintptr(libc.PostIncInt32(&iOut, 1)))) = *(*int8)(unsafe.Pointer(z + uintptr(libc.PostIncInt32(&iIn, 1))))
 27735  			}
 27736  		}
 27737  
 27738  		*(*int8)(unsafe.Pointer(z + uintptr(iOut))) = int8(0)
 27739  	}
 27740  }
 27741  
 27742  func fts5tokDequoteArray(tls *libc.TLS, argc int32, argv uintptr, pazDequote uintptr) int32 {
 27743  	var rc int32 = SQLITE_OK
 27744  	if argc == 0 {
 27745  		*(*uintptr)(unsafe.Pointer(pazDequote)) = uintptr(0)
 27746  	} else {
 27747  		var i int32
 27748  		var nByte int32 = 0
 27749  		var azDequote uintptr
 27750  
 27751  		for i = 0; i < argc; i++ {
 27752  			nByte = nByte + int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))+uint64(1))
 27753  		}
 27754  
 27755  		*(*uintptr)(unsafe.Pointer(pazDequote)) = libc.AssignUintptr(&azDequote, sqlite3.Xsqlite3_malloc64(tls, uint64(unsafe.Sizeof(uintptr(0)))*uint64(argc)+uint64(nByte)))
 27756  		if azDequote == uintptr(0) {
 27757  			rc = SQLITE_NOMEM
 27758  		} else {
 27759  			var pSpace uintptr = azDequote + uintptr(argc)*8
 27760  			for i = 0; i < argc; i++ {
 27761  				var n int32 = int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
 27762  				*(*uintptr)(unsafe.Pointer(azDequote + uintptr(i)*8)) = pSpace
 27763  				libc.Xmemcpy(tls, pSpace, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), uint64(n+1))
 27764  				fts5tokDequote(tls, pSpace)
 27765  				pSpace += uintptr(n + 1)
 27766  			}
 27767  		}
 27768  	}
 27769  
 27770  	return rc
 27771  }
 27772  
 27773  func fts5tokConnectMethod(tls *libc.TLS, db uintptr, pCtx uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 {
 27774  	bp := tls.Alloc(16)
 27775  	defer tls.Free(16)
 27776  
 27777  	var pApi uintptr = pCtx
 27778  	var pTab uintptr = uintptr(0)
 27779  	var rc int32
 27780  	*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
 27781  	var nDequote int32 = 0
 27782  
 27783  	rc = sqlite3.Xsqlite3_declare_vtab(tls, db,
 27784  		ts+3177)
 27785  
 27786  	if rc == SQLITE_OK {
 27787  		nDequote = argc - 3
 27788  		rc = fts5tokDequoteArray(tls, nDequote, argv+3*8, bp)
 27789  	}
 27790  
 27791  	if rc == SQLITE_OK {
 27792  		pTab = sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Fts5tokTable{})))
 27793  		if pTab == uintptr(0) {
 27794  			rc = SQLITE_NOMEM
 27795  		} else {
 27796  			libc.Xmemset(tls, pTab, 0, uint64(unsafe.Sizeof(Fts5tokTable{})))
 27797  		}
 27798  	}
 27799  
 27800  	if rc == SQLITE_OK {
 27801  		*(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0)
 27802  		var zModule uintptr = uintptr(0)
 27803  		if nDequote > 0 {
 27804  			zModule = *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp))))
 27805  		}
 27806  
 27807  		rc = (*struct {
 27808  			f func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32
 27809  		})(unsafe.Pointer(&struct{ uintptr }{(*fts5_api)(unsafe.Pointer(pApi)).FxFindTokenizer})).f(tls, pApi, zModule, bp+8, pTab+24)
 27810  		if rc == SQLITE_OK {
 27811  			var azArg uintptr = func() uintptr {
 27812  				if nDequote > 1 {
 27813  					return *(*uintptr)(unsafe.Pointer(bp)) + 1*8
 27814  				}
 27815  				return uintptr(0)
 27816  			}()
 27817  			var nArg int32
 27818  			if nDequote > 0 {
 27819  				nArg = nDequote - 1
 27820  			} else {
 27821  				nArg = 0
 27822  			}
 27823  			rc = (*struct {
 27824  				f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 27825  			})(unsafe.Pointer(&struct{ uintptr }{(*Fts5tokTable)(unsafe.Pointer(pTab)).Ftok.FxCreate})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), azArg, nArg, pTab+48)
 27826  		}
 27827  	}
 27828  
 27829  	if rc != SQLITE_OK {
 27830  		sqlite3.Xsqlite3_free(tls, pTab)
 27831  		pTab = uintptr(0)
 27832  	}
 27833  
 27834  	*(*uintptr)(unsafe.Pointer(ppVtab)) = pTab
 27835  	sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp)))
 27836  	return rc
 27837  }
 27838  
 27839  func fts5tokDisconnectMethod(tls *libc.TLS, pVtab uintptr) int32 {
 27840  	var pTab uintptr = pVtab
 27841  	if (*Fts5tokTable)(unsafe.Pointer(pTab)).FpTok != 0 {
 27842  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Fts5tokTable)(unsafe.Pointer(pTab)).Ftok.FxDelete})).f(tls, (*Fts5tokTable)(unsafe.Pointer(pTab)).FpTok)
 27843  	}
 27844  	sqlite3.Xsqlite3_free(tls, pTab)
 27845  	return SQLITE_OK
 27846  }
 27847  
 27848  func fts5tokBestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 {
 27849  	var i int32
 27850  
 27851  	for i = 0; i < (*sqlite3_index_info)(unsafe.Pointer(pInfo)).FnConstraint; i++ {
 27852  		if (*sqlite3_index_constraint)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pInfo)).FaConstraint+uintptr(i)*12)).Fusable != 0 &&
 27853  			(*sqlite3_index_constraint)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pInfo)).FaConstraint+uintptr(i)*12)).FiColumn == 0 &&
 27854  			int32((*sqlite3_index_constraint)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pInfo)).FaConstraint+uintptr(i)*12)).Fop) == SQLITE_INDEX_CONSTRAINT_EQ {
 27855  			(*sqlite3_index_info)(unsafe.Pointer(pInfo)).FidxNum = 1
 27856  			(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pInfo)).FaConstraintUsage + uintptr(i)*8)).FargvIndex = 1
 27857  			(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pInfo)).FaConstraintUsage + uintptr(i)*8)).Fomit = uint8(1)
 27858  			(*sqlite3_index_info)(unsafe.Pointer(pInfo)).FestimatedCost = float64(1)
 27859  			return SQLITE_OK
 27860  		}
 27861  	}
 27862  
 27863  	(*sqlite3_index_info)(unsafe.Pointer(pInfo)).FidxNum = 0
 27864  
 27865  	return SQLITE_OK
 27866  }
 27867  
 27868  func fts5tokOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 {
 27869  	var pCsr uintptr
 27870  
 27871  	pCsr = sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Fts5tokCursor{})))
 27872  	if pCsr == uintptr(0) {
 27873  		return SQLITE_NOMEM
 27874  	}
 27875  	libc.Xmemset(tls, pCsr, 0, uint64(unsafe.Sizeof(Fts5tokCursor{})))
 27876  
 27877  	*(*uintptr)(unsafe.Pointer(ppCsr)) = pCsr
 27878  	return SQLITE_OK
 27879  }
 27880  
 27881  func fts5tokResetCursor(tls *libc.TLS, pCsr uintptr) {
 27882  	var i int32
 27883  	for i = 0; i < (*Fts5tokCursor)(unsafe.Pointer(pCsr)).FnRow; i++ {
 27884  		sqlite3.Xsqlite3_free(tls, (*Fts5tokRow)(unsafe.Pointer((*Fts5tokCursor)(unsafe.Pointer(pCsr)).FaRow+uintptr(i)*24)).FzToken)
 27885  	}
 27886  	sqlite3.Xsqlite3_free(tls, (*Fts5tokCursor)(unsafe.Pointer(pCsr)).FzInput)
 27887  	sqlite3.Xsqlite3_free(tls, (*Fts5tokCursor)(unsafe.Pointer(pCsr)).FaRow)
 27888  	(*Fts5tokCursor)(unsafe.Pointer(pCsr)).FzInput = uintptr(0)
 27889  	(*Fts5tokCursor)(unsafe.Pointer(pCsr)).FaRow = uintptr(0)
 27890  	(*Fts5tokCursor)(unsafe.Pointer(pCsr)).FnRow = 0
 27891  	(*Fts5tokCursor)(unsafe.Pointer(pCsr)).FiRowid = 0
 27892  }
 27893  
 27894  func fts5tokCloseMethod(tls *libc.TLS, pCursor uintptr) int32 {
 27895  	var pCsr uintptr = pCursor
 27896  	fts5tokResetCursor(tls, pCsr)
 27897  	sqlite3.Xsqlite3_free(tls, pCsr)
 27898  	return SQLITE_OK
 27899  }
 27900  
 27901  func fts5tokNextMethod(tls *libc.TLS, pCursor uintptr) int32 {
 27902  	var pCsr uintptr = pCursor
 27903  	(*Fts5tokCursor)(unsafe.Pointer(pCsr)).FiRowid++
 27904  	return SQLITE_OK
 27905  }
 27906  
 27907  func fts5tokCb(tls *libc.TLS, pCtx uintptr, tflags int32, pToken uintptr, nToken int32, iStart int32, iEnd int32) int32 {
 27908  	var pCsr uintptr = pCtx
 27909  	var pRow uintptr
 27910  
 27911  	if (*Fts5tokCursor)(unsafe.Pointer(pCsr)).FnRow&((*Fts5tokCursor)(unsafe.Pointer(pCsr)).FnRow-1) == 0 {
 27912  		var nNew int32
 27913  		if (*Fts5tokCursor)(unsafe.Pointer(pCsr)).FnRow != 0 {
 27914  			nNew = (*Fts5tokCursor)(unsafe.Pointer(pCsr)).FnRow * 2
 27915  		} else {
 27916  			nNew = 32
 27917  		}
 27918  		var aNew uintptr
 27919  		aNew = sqlite3.Xsqlite3_realloc64(tls, (*Fts5tokCursor)(unsafe.Pointer(pCsr)).FaRow, uint64(nNew)*uint64(unsafe.Sizeof(Fts5tokRow{})))
 27920  		if aNew == uintptr(0) {
 27921  			return SQLITE_NOMEM
 27922  		}
 27923  		libc.Xmemset(tls, aNew+uintptr((*Fts5tokCursor)(unsafe.Pointer(pCsr)).FnRow)*24, 0, uint64(unsafe.Sizeof(Fts5tokRow{}))*uint64(nNew-(*Fts5tokCursor)(unsafe.Pointer(pCsr)).FnRow))
 27924  		(*Fts5tokCursor)(unsafe.Pointer(pCsr)).FaRow = aNew
 27925  	}
 27926  
 27927  	pRow = (*Fts5tokCursor)(unsafe.Pointer(pCsr)).FaRow + uintptr((*Fts5tokCursor)(unsafe.Pointer(pCsr)).FnRow)*24
 27928  	(*Fts5tokRow)(unsafe.Pointer(pRow)).FiStart = iStart
 27929  	(*Fts5tokRow)(unsafe.Pointer(pRow)).FiEnd = iEnd
 27930  	if (*Fts5tokCursor)(unsafe.Pointer(pCsr)).FnRow != 0 {
 27931  		(*Fts5tokRow)(unsafe.Pointer(pRow)).FiPos = (*Fts5tokRow)(unsafe.Pointer(pRow+libc.UintptrFromInt32(-1)*24)).FiPos + func() int32 {
 27932  			if tflags&FTS5_TOKEN_COLOCATED != 0 {
 27933  				return 0
 27934  			}
 27935  			return 1
 27936  		}()
 27937  	}
 27938  	(*Fts5tokRow)(unsafe.Pointer(pRow)).FzToken = sqlite3.Xsqlite3_malloc(tls, nToken+1)
 27939  	if (*Fts5tokRow)(unsafe.Pointer(pRow)).FzToken == uintptr(0) {
 27940  		return SQLITE_NOMEM
 27941  	}
 27942  	libc.Xmemcpy(tls, (*Fts5tokRow)(unsafe.Pointer(pRow)).FzToken, pToken, uint64(nToken))
 27943  	*(*int8)(unsafe.Pointer((*Fts5tokRow)(unsafe.Pointer(pRow)).FzToken + uintptr(nToken))) = int8(0)
 27944  	(*Fts5tokCursor)(unsafe.Pointer(pCsr)).FnRow++
 27945  
 27946  	return SQLITE_OK
 27947  }
 27948  
 27949  func fts5tokFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintptr, nVal int32, apVal uintptr) int32 {
 27950  	var rc int32 = SQLITE_ERROR
 27951  	var pCsr uintptr = pCursor
 27952  	var pTab uintptr = (*sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab
 27953  
 27954  	fts5tokResetCursor(tls, pCsr)
 27955  	if idxNum == 1 {
 27956  		var zByte uintptr = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal)))
 27957  		var nByte int32 = sqlite3.Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(apVal)))
 27958  		(*Fts5tokCursor)(unsafe.Pointer(pCsr)).FzInput = sqlite3.Xsqlite3_malloc(tls, nByte+1)
 27959  		if (*Fts5tokCursor)(unsafe.Pointer(pCsr)).FzInput == uintptr(0) {
 27960  			rc = SQLITE_NOMEM
 27961  		} else {
 27962  			if nByte > 0 {
 27963  				libc.Xmemcpy(tls, (*Fts5tokCursor)(unsafe.Pointer(pCsr)).FzInput, zByte, uint64(nByte))
 27964  			}
 27965  			*(*int8)(unsafe.Pointer((*Fts5tokCursor)(unsafe.Pointer(pCsr)).FzInput + uintptr(nByte))) = int8(0)
 27966  			rc = (*struct {
 27967  				f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32
 27968  			})(unsafe.Pointer(&struct{ uintptr }{(*Fts5tokTable)(unsafe.Pointer(pTab)).Ftok.FxTokenize})).f(tls,
 27969  				(*Fts5tokTable)(unsafe.Pointer(pTab)).FpTok, pCsr, 0, zByte, nByte, *(*uintptr)(unsafe.Pointer(&struct {
 27970  					f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32
 27971  				}{fts5tokCb})))
 27972  		}
 27973  	}
 27974  
 27975  	if rc != SQLITE_OK {
 27976  		return rc
 27977  	}
 27978  	return fts5tokNextMethod(tls, pCursor)
 27979  }
 27980  
 27981  func fts5tokEofMethod(tls *libc.TLS, pCursor uintptr) int32 {
 27982  	var pCsr uintptr = pCursor
 27983  	return libc.Bool32((*Fts5tokCursor)(unsafe.Pointer(pCsr)).FiRowid > (*Fts5tokCursor)(unsafe.Pointer(pCsr)).FnRow)
 27984  }
 27985  
 27986  func fts5tokColumnMethod(tls *libc.TLS, pCursor uintptr, pCtx uintptr, iCol int32) int32 {
 27987  	var pCsr uintptr = pCursor
 27988  	var pRow uintptr = (*Fts5tokCursor)(unsafe.Pointer(pCsr)).FaRow + uintptr((*Fts5tokCursor)(unsafe.Pointer(pCsr)).FiRowid-1)*24
 27989  
 27990  	switch iCol {
 27991  	case 0:
 27992  		sqlite3.Xsqlite3_result_text(tls, pCtx, (*Fts5tokCursor)(unsafe.Pointer(pCsr)).FzInput, -1, libc.UintptrFromInt32(-1))
 27993  		break
 27994  	case 1:
 27995  		sqlite3.Xsqlite3_result_text(tls, pCtx, (*Fts5tokRow)(unsafe.Pointer(pRow)).FzToken, -1, libc.UintptrFromInt32(-1))
 27996  		break
 27997  	case 2:
 27998  		sqlite3.Xsqlite3_result_int(tls, pCtx, (*Fts5tokRow)(unsafe.Pointer(pRow)).FiStart)
 27999  		break
 28000  	case 3:
 28001  		sqlite3.Xsqlite3_result_int(tls, pCtx, (*Fts5tokRow)(unsafe.Pointer(pRow)).FiEnd)
 28002  		break
 28003  	default:
 28004  		sqlite3.Xsqlite3_result_int(tls, pCtx, (*Fts5tokRow)(unsafe.Pointer(pRow)).FiPos)
 28005  		break
 28006  	}
 28007  	return SQLITE_OK
 28008  }
 28009  
 28010  func fts5tokRowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 {
 28011  	var pCsr uintptr = pCursor
 28012  	*(*sqlite_int64)(unsafe.Pointer(pRowid)) = sqlite3_int64((*Fts5tokCursor)(unsafe.Pointer(pCsr)).FiRowid)
 28013  	return SQLITE_OK
 28014  }
 28015  
 28016  func sqlite3Fts5TestRegisterTok(tls *libc.TLS, db uintptr, pApi uintptr) int32 {
 28017  	var rc int32
 28018  
 28019  	rc = sqlite3.Xsqlite3_create_module(tls, db, ts+3235, uintptr(unsafe.Pointer(&fts5tok_module)), pApi)
 28020  	return rc
 28021  }
 28022  
 28023  var fts5tok_module = sqlite3_module{
 28024  	FxCreate:     0,
 28025  	FxConnect:    0,
 28026  	FxBestIndex:  0,
 28027  	FxDisconnect: 0,
 28028  	FxDestroy:    0,
 28029  	FxOpen:       0,
 28030  	FxClose:      0,
 28031  	FxFilter:     0,
 28032  	FxNext:       0,
 28033  	FxEof:        0,
 28034  	FxColumn:     0,
 28035  	FxRowid:      0,
 28036  }
 28037  
 28038  type sqlite3_api_routines = sqlite3_api_routines1
 28039  
 28040  type sqlite3_loadext_entry = uintptr
 28041  
 28042  type ApndVfs = sqlite3_vfs1
 28043  type ApndFile1 = struct {
 28044  	Fbase   sqlite3_file
 28045  	FiPgOne sqlite3_int64
 28046  	FiMark  sqlite3_int64
 28047  }
 28048  
 28049  type ApndFile = ApndFile1
 28050  
 28051  var apnd_vfs = sqlite3_vfs{
 28052  	FiVersion:          3,
 28053  	FmxPathname:        1024,
 28054  	FzName:             ts + 3248,
 28055  	FxOpen:             0,
 28056  	FxDelete:           0,
 28057  	FxAccess:           0,
 28058  	FxFullPathname:     0,
 28059  	FxDlOpen:           0,
 28060  	FxDlError:          0,
 28061  	FxDlSym:            0,
 28062  	FxDlClose:          0,
 28063  	FxRandomness:       0,
 28064  	FxSleep:            0,
 28065  	FxCurrentTime:      0,
 28066  	FxGetLastError:     0,
 28067  	FxCurrentTimeInt64: 0,
 28068  	FxSetSystemCall:    0,
 28069  	FxGetSystemCall:    0,
 28070  	FxNextSystemCall:   0,
 28071  }
 28072  
 28073  var apnd_io_methods = sqlite3_io_methods{
 28074  	FiVersion:               3,
 28075  	FxClose:                 0,
 28076  	FxRead:                  0,
 28077  	FxWrite:                 0,
 28078  	FxTruncate:              0,
 28079  	FxSync:                  0,
 28080  	FxFileSize:              0,
 28081  	FxLock:                  0,
 28082  	FxUnlock:                0,
 28083  	FxCheckReservedLock:     0,
 28084  	FxFileControl:           0,
 28085  	FxSectorSize:            0,
 28086  	FxDeviceCharacteristics: 0,
 28087  	FxShmMap:                0,
 28088  	FxShmLock:               0,
 28089  	FxShmBarrier:            0,
 28090  	FxShmUnmap:              0,
 28091  	FxFetch:                 0,
 28092  	FxUnfetch:               0,
 28093  }
 28094  
 28095  func apndClose(tls *libc.TLS, pFile uintptr) int32 {
 28096  	pFile = pFile + uintptr(1)*24
 28097  	return (*struct {
 28098  		f func(*libc.TLS, uintptr) int32
 28099  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxClose})).f(tls, pFile)
 28100  }
 28101  
 28102  func apndRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst sqlite_int64) int32 {
 28103  	var paf uintptr = pFile
 28104  	pFile = pFile + uintptr(1)*24
 28105  	return (*struct {
 28106  		f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32
 28107  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxRead})).f(tls, pFile, zBuf, iAmt, (*ApndFile)(unsafe.Pointer(paf)).FiPgOne+iOfst)
 28108  }
 28109  
 28110  func apndWriteMark(tls *libc.TLS, paf uintptr, pFile uintptr, iWriteEnd sqlite_int64) int32 {
 28111  	bp := tls.Alloc(25)
 28112  	defer tls.Free(25)
 28113  
 28114  	var iPgOne sqlite_int64 = (*ApndFile)(unsafe.Pointer(paf)).FiPgOne
 28115  
 28116  	var i int32 = APND_MARK_FOS_SZ
 28117  	var rc int32
 28118  
 28119  	libc.Xmemcpy(tls, bp, ts+3256, uint64(APND_MARK_PREFIX_SZ))
 28120  	for libc.PreDecInt32(&i, 1) >= 0 {
 28121  		*(*uint8)(unsafe.Pointer(bp + uintptr(APND_MARK_PREFIX_SZ+i))) = uint8(iPgOne & int64(0xff))
 28122  		iPgOne >>= 8
 28123  	}
 28124  	iWriteEnd = iWriteEnd + (*ApndFile)(unsafe.Pointer(paf)).FiPgOne
 28125  	if SQLITE_OK == libc.AssignInt32(&rc, (*struct {
 28126  		f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32
 28127  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxWrite})).f(tls, pFile, bp, APND_MARK_PREFIX_SZ+APND_MARK_FOS_SZ, iWriteEnd)) {
 28128  		(*ApndFile)(unsafe.Pointer(paf)).FiMark = iWriteEnd
 28129  	}
 28130  	return rc
 28131  }
 28132  
 28133  func apndWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst sqlite_int64) int32 {
 28134  	var paf uintptr = pFile
 28135  	var iWriteEnd sqlite_int64 = iOfst + sqlite_int64(iAmt)
 28136  	if iWriteEnd >= int64(0x40000000) {
 28137  		return SQLITE_FULL
 28138  	}
 28139  	pFile = pFile + uintptr(1)*24
 28140  
 28141  	if (*ApndFile)(unsafe.Pointer(paf)).FiMark < int64(0) || (*ApndFile)(unsafe.Pointer(paf)).FiPgOne+iWriteEnd > (*ApndFile)(unsafe.Pointer(paf)).FiMark {
 28142  		var rc int32 = apndWriteMark(tls, paf, pFile, iWriteEnd)
 28143  		if SQLITE_OK != rc {
 28144  			return rc
 28145  		}
 28146  	}
 28147  	return (*struct {
 28148  		f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32
 28149  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxWrite})).f(tls, pFile, zBuf, iAmt, (*ApndFile)(unsafe.Pointer(paf)).FiPgOne+iOfst)
 28150  }
 28151  
 28152  func apndTruncate(tls *libc.TLS, pFile uintptr, size sqlite_int64) int32 {
 28153  	var paf uintptr = pFile
 28154  	pFile = pFile + uintptr(1)*24
 28155  
 28156  	if SQLITE_OK != apndWriteMark(tls, paf, pFile, size) {
 28157  		return SQLITE_IOERR
 28158  	}
 28159  
 28160  	return (*struct {
 28161  		f func(*libc.TLS, uintptr, sqlite3_int64) int32
 28162  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxTruncate})).f(tls, pFile, (*ApndFile)(unsafe.Pointer(paf)).FiMark+int64(APND_MARK_PREFIX_SZ+APND_MARK_FOS_SZ))
 28163  }
 28164  
 28165  func apndSync(tls *libc.TLS, pFile uintptr, flags int32) int32 {
 28166  	pFile = pFile + uintptr(1)*24
 28167  	return (*struct {
 28168  		f func(*libc.TLS, uintptr, int32) int32
 28169  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxSync})).f(tls, pFile, flags)
 28170  }
 28171  
 28172  func apndFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 {
 28173  	var paf uintptr = pFile
 28174  	*(*sqlite_int64)(unsafe.Pointer(pSize)) = func() int64 {
 28175  		if (*ApndFile)(unsafe.Pointer(paf)).FiMark >= int64(0) {
 28176  			return (*ApndFile)(unsafe.Pointer(paf)).FiMark - (*ApndFile)(unsafe.Pointer(paf)).FiPgOne
 28177  		}
 28178  		return int64(0)
 28179  	}()
 28180  	return SQLITE_OK
 28181  }
 28182  
 28183  func apndLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 {
 28184  	pFile = pFile + uintptr(1)*24
 28185  	return (*struct {
 28186  		f func(*libc.TLS, uintptr, int32) int32
 28187  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxLock})).f(tls, pFile, eLock)
 28188  }
 28189  
 28190  func apndUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 {
 28191  	pFile = pFile + uintptr(1)*24
 28192  	return (*struct {
 28193  		f func(*libc.TLS, uintptr, int32) int32
 28194  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxUnlock})).f(tls, pFile, eLock)
 28195  }
 28196  
 28197  func apndCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int32 {
 28198  	pFile = pFile + uintptr(1)*24
 28199  	return (*struct {
 28200  		f func(*libc.TLS, uintptr, uintptr) int32
 28201  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxCheckReservedLock})).f(tls, pFile, pResOut)
 28202  }
 28203  
 28204  func apndFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 {
 28205  	bp := tls.Alloc(16)
 28206  	defer tls.Free(16)
 28207  
 28208  	var paf uintptr = pFile
 28209  	var rc int32
 28210  	pFile = pFile + uintptr(1)*24
 28211  	if op == SQLITE_FCNTL_SIZE_HINT {
 28212  		*(*sqlite3_int64)(unsafe.Pointer(pArg)) += (*ApndFile)(unsafe.Pointer(paf)).FiPgOne
 28213  	}
 28214  	rc = (*struct {
 28215  		f func(*libc.TLS, uintptr, int32, uintptr) int32
 28216  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxFileControl})).f(tls, pFile, op, pArg)
 28217  	if rc == SQLITE_OK && op == SQLITE_FCNTL_VFSNAME {
 28218  		*(*uintptr)(unsafe.Pointer(pArg)) = sqlite3.Xsqlite3_mprintf(tls, ts+3274, libc.VaList(bp, (*ApndFile)(unsafe.Pointer(paf)).FiPgOne, *(*uintptr)(unsafe.Pointer(pArg))))
 28219  	}
 28220  	return rc
 28221  }
 28222  
 28223  func apndSectorSize(tls *libc.TLS, pFile uintptr) int32 {
 28224  	pFile = pFile + uintptr(1)*24
 28225  	return (*struct {
 28226  		f func(*libc.TLS, uintptr) int32
 28227  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxSectorSize})).f(tls, pFile)
 28228  }
 28229  
 28230  func apndDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 {
 28231  	pFile = pFile + uintptr(1)*24
 28232  	return (*struct {
 28233  		f func(*libc.TLS, uintptr) int32
 28234  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxDeviceCharacteristics})).f(tls, pFile)
 28235  }
 28236  
 28237  func apndShmMap(tls *libc.TLS, pFile uintptr, iPg int32, pgsz int32, bExtend int32, pp uintptr) int32 {
 28238  	pFile = pFile + uintptr(1)*24
 28239  	return (*struct {
 28240  		f func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32
 28241  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxShmMap})).f(tls, pFile, iPg, pgsz, bExtend, pp)
 28242  }
 28243  
 28244  func apndShmLock(tls *libc.TLS, pFile uintptr, offset int32, n int32, flags int32) int32 {
 28245  	pFile = pFile + uintptr(1)*24
 28246  	return (*struct {
 28247  		f func(*libc.TLS, uintptr, int32, int32, int32) int32
 28248  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxShmLock})).f(tls, pFile, offset, n, flags)
 28249  }
 28250  
 28251  func apndShmBarrier(tls *libc.TLS, pFile uintptr) {
 28252  	pFile = pFile + uintptr(1)*24
 28253  	(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxShmBarrier})).f(tls, pFile)
 28254  }
 28255  
 28256  func apndShmUnmap(tls *libc.TLS, pFile uintptr, deleteFlag int32) int32 {
 28257  	pFile = pFile + uintptr(1)*24
 28258  	return (*struct {
 28259  		f func(*libc.TLS, uintptr, int32) int32
 28260  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxShmUnmap})).f(tls, pFile, deleteFlag)
 28261  }
 28262  
 28263  func apndFetch(tls *libc.TLS, pFile uintptr, iOfst sqlite3_int64, iAmt int32, pp uintptr) int32 {
 28264  	var p uintptr = pFile
 28265  	if (*ApndFile)(unsafe.Pointer(p)).FiMark < int64(0) || iOfst+sqlite3_int64(iAmt) > (*ApndFile)(unsafe.Pointer(p)).FiMark {
 28266  		return SQLITE_IOERR
 28267  	}
 28268  	pFile = pFile + uintptr(1)*24
 28269  	return (*struct {
 28270  		f func(*libc.TLS, uintptr, sqlite3_int64, int32, uintptr) int32
 28271  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxFetch})).f(tls, pFile, iOfst+(*ApndFile)(unsafe.Pointer(p)).FiPgOne, iAmt, pp)
 28272  }
 28273  
 28274  func apndUnfetch(tls *libc.TLS, pFile uintptr, iOfst sqlite3_int64, pPage uintptr) int32 {
 28275  	var p uintptr = pFile
 28276  	pFile = pFile + uintptr(1)*24
 28277  	return (*struct {
 28278  		f func(*libc.TLS, uintptr, sqlite3_int64, uintptr) int32
 28279  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxUnfetch})).f(tls, pFile, iOfst+(*ApndFile)(unsafe.Pointer(p)).FiPgOne, pPage)
 28280  }
 28281  
 28282  func apndReadMark(tls *libc.TLS, sz sqlite3_int64, pFile uintptr) sqlite3_int64 {
 28283  	bp := tls.Alloc(25)
 28284  	defer tls.Free(25)
 28285  
 28286  	var rc int32
 28287  	var i int32
 28288  	var iMark sqlite3_int64
 28289  	var msbs int32 = 8 * (APND_MARK_FOS_SZ - 1)
 28290  
 28291  	if int64(APND_MARK_PREFIX_SZ+APND_MARK_FOS_SZ) != sz&int64(0x1ff) {
 28292  		return int64(-1)
 28293  	}
 28294  	rc = (*struct {
 28295  		f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32
 28296  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxRead})).f(tls, pFile, bp, APND_MARK_PREFIX_SZ+APND_MARK_FOS_SZ, sz-int64(APND_MARK_PREFIX_SZ+APND_MARK_FOS_SZ))
 28297  	if rc != 0 {
 28298  		return int64(-1)
 28299  	}
 28300  	if libc.Xmemcmp(tls, bp, ts+3256, uint64(APND_MARK_PREFIX_SZ)) != 0 {
 28301  		return int64(-1)
 28302  	}
 28303  	iMark = sqlite3_int64(int32(*(*uint8)(unsafe.Pointer(bp + 17)))&0x7f) << msbs
 28304  	for i = 1; i < 8; i++ {
 28305  		msbs = msbs - 8
 28306  		iMark = iMark | sqlite3_int64(*(*uint8)(unsafe.Pointer(bp + uintptr(APND_MARK_PREFIX_SZ+i))))<<msbs
 28307  	}
 28308  	if iMark > sz-int64(APND_MARK_PREFIX_SZ+APND_MARK_FOS_SZ)-int64(512) {
 28309  		return int64(-1)
 28310  	}
 28311  	if iMark&int64(0x1ff) != 0 {
 28312  		return int64(-1)
 28313  	}
 28314  	return iMark
 28315  }
 28316  
 28317  var apvfsSqliteHdr = *(*[16]int8)(unsafe.Pointer(ts + 3288))
 28318  
 28319  func apndIsAppendvfsDatabase(tls *libc.TLS, sz sqlite3_int64, pFile uintptr) int32 {
 28320  	bp := tls.Alloc(16)
 28321  	defer tls.Free(16)
 28322  
 28323  	var rc int32
 28324  
 28325  	var iMark sqlite3_int64 = apndReadMark(tls, sz, pFile)
 28326  	if iMark >= int64(0) {
 28327  		rc = (*struct {
 28328  			f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32
 28329  		})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxRead})).f(tls, pFile, bp, int32(unsafe.Sizeof([16]int8{})), iMark)
 28330  		if SQLITE_OK == rc &&
 28331  			libc.Xmemcmp(tls, bp, uintptr(unsafe.Pointer(&apvfsSqliteHdr)), uint64(unsafe.Sizeof([16]int8{}))) == 0 &&
 28332  			sz&int64(0x1ff) == int64(APND_MARK_PREFIX_SZ+APND_MARK_FOS_SZ) &&
 28333  			sz >= int64(512+(APND_MARK_PREFIX_SZ+APND_MARK_FOS_SZ)) {
 28334  			return 1
 28335  		}
 28336  	}
 28337  	return 0
 28338  }
 28339  
 28340  func apndIsOrdinaryDatabaseFile(tls *libc.TLS, sz sqlite3_int64, pFile uintptr) int32 {
 28341  	bp := tls.Alloc(16)
 28342  	defer tls.Free(16)
 28343  
 28344  	if apndIsAppendvfsDatabase(tls, sz, pFile) != 0 ||
 28345  		sz&int64(0x1ff) != int64(0) ||
 28346  		SQLITE_OK != (*struct {
 28347  			f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32
 28348  		})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxRead})).f(tls, pFile, bp, int32(unsafe.Sizeof([16]int8{})), int64(0)) ||
 28349  		libc.Xmemcmp(tls, bp, uintptr(unsafe.Pointer(&apvfsSqliteHdr)), uint64(unsafe.Sizeof([16]int8{}))) != 0 {
 28350  		return 0
 28351  	} else {
 28352  		return 1
 28353  	}
 28354  	return int32(0)
 28355  }
 28356  
 28357  func apndOpen(tls *libc.TLS, pApndVfs uintptr, zName uintptr, pFile uintptr, flags int32, pOutFlags uintptr) int32 {
 28358  	bp := tls.Alloc(8)
 28359  	defer tls.Free(8)
 28360  
 28361  	var pApndFile uintptr = pFile
 28362  	var pBaseFile uintptr = pFile + uintptr(1)*24
 28363  	var pBaseVfs uintptr = (*sqlite3_vfs)(unsafe.Pointer(pApndVfs)).FpAppData
 28364  	var rc int32
 28365  	*(*sqlite3_int64)(unsafe.Pointer(bp)) = int64(0)
 28366  	if flags&SQLITE_OPEN_MAIN_DB == 0 {
 28367  		return (*struct {
 28368  			f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32
 28369  		})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pBaseVfs)).FxOpen})).f(tls, pBaseVfs, zName, pFile, flags, pOutFlags)
 28370  	}
 28371  	libc.Xmemset(tls, pApndFile, 0, uint64(unsafe.Sizeof(ApndFile{})))
 28372  	(*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods = uintptr(unsafe.Pointer(&apnd_io_methods))
 28373  	(*ApndFile)(unsafe.Pointer(pApndFile)).FiMark = int64(-1)
 28374  
 28375  	rc = (*struct {
 28376  		f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32
 28377  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pBaseVfs)).FxOpen})).f(tls, pBaseVfs, zName, pBaseFile, flags, pOutFlags)
 28378  	if rc == SQLITE_OK {
 28379  		rc = (*struct {
 28380  			f func(*libc.TLS, uintptr, uintptr) int32
 28381  		})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pBaseFile)).FpMethods)).FxFileSize})).f(tls, pBaseFile, bp)
 28382  		if rc != 0 {
 28383  			(*struct {
 28384  				f func(*libc.TLS, uintptr) int32
 28385  			})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pBaseFile)).FpMethods)).FxClose})).f(tls, pBaseFile)
 28386  		}
 28387  	}
 28388  	if rc != 0 {
 28389  		(*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods = uintptr(0)
 28390  		return rc
 28391  	}
 28392  	if apndIsOrdinaryDatabaseFile(tls, *(*sqlite3_int64)(unsafe.Pointer(bp)), pBaseFile) != 0 {
 28393  		libc.Xmemmove(tls, pApndFile, pBaseFile, uint64((*sqlite3_vfs)(unsafe.Pointer(pBaseVfs)).FszOsFile))
 28394  		return SQLITE_OK
 28395  	}
 28396  	(*ApndFile)(unsafe.Pointer(pApndFile)).FiPgOne = apndReadMark(tls, *(*sqlite3_int64)(unsafe.Pointer(bp)), pFile)
 28397  	if (*ApndFile)(unsafe.Pointer(pApndFile)).FiPgOne >= int64(0) {
 28398  		(*ApndFile)(unsafe.Pointer(pApndFile)).FiMark = *(*sqlite3_int64)(unsafe.Pointer(bp)) - int64(APND_MARK_PREFIX_SZ+APND_MARK_FOS_SZ)
 28399  		return SQLITE_OK
 28400  	}
 28401  	if flags&SQLITE_OPEN_CREATE == 0 {
 28402  		(*struct {
 28403  			f func(*libc.TLS, uintptr) int32
 28404  		})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pBaseFile)).FpMethods)).FxClose})).f(tls, pBaseFile)
 28405  		rc = SQLITE_CANTOPEN
 28406  		(*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods = uintptr(0)
 28407  	} else {
 28408  		(*ApndFile)(unsafe.Pointer(pApndFile)).FiPgOne = (*(*sqlite3_int64)(unsafe.Pointer(bp)) + int64(APND_ROUNDUP-1)) & libc.CplInt64(int64(APND_ROUNDUP-1))
 28409  	}
 28410  	return rc
 28411  }
 28412  
 28413  func apndDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 {
 28414  	return (*struct {
 28415  		f func(*libc.TLS, uintptr, uintptr, int32) int32
 28416  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxDelete})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath, dirSync)
 28417  }
 28418  
 28419  func apndAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 {
 28420  	return (*struct {
 28421  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 28422  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxAccess})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath, flags, pResOut)
 28423  }
 28424  
 28425  func apndFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 {
 28426  	return (*struct {
 28427  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 28428  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxFullPathname})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath, nOut, zOut)
 28429  }
 28430  
 28431  func apndDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr {
 28432  	return (*struct {
 28433  		f func(*libc.TLS, uintptr, uintptr) uintptr
 28434  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxDlOpen})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath)
 28435  }
 28436  
 28437  func apndDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) {
 28438  	(*struct {
 28439  		f func(*libc.TLS, uintptr, int32, uintptr)
 28440  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxDlError})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zErrMsg)
 28441  }
 28442  
 28443  func apndDlSym(tls *libc.TLS, pVfs uintptr, p uintptr, zSym uintptr) uintptr {
 28444  	return (*struct {
 28445  		f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr
 28446  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxDlSym})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p, zSym)
 28447  }
 28448  
 28449  func apndDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) {
 28450  	(*struct {
 28451  		f func(*libc.TLS, uintptr, uintptr)
 28452  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxDlClose})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, pHandle)
 28453  }
 28454  
 28455  func apndRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 {
 28456  	return (*struct {
 28457  		f func(*libc.TLS, uintptr, int32, uintptr) int32
 28458  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxRandomness})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zBufOut)
 28459  }
 28460  
 28461  func apndSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 {
 28462  	return (*struct {
 28463  		f func(*libc.TLS, uintptr, int32) int32
 28464  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxSleep})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nMicro)
 28465  }
 28466  
 28467  func apndCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 {
 28468  	return (*struct {
 28469  		f func(*libc.TLS, uintptr, uintptr) int32
 28470  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxCurrentTime})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, pTimeOut)
 28471  }
 28472  
 28473  func apndGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 {
 28474  	return (*struct {
 28475  		f func(*libc.TLS, uintptr, int32, uintptr) int32
 28476  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxGetLastError})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, a, b)
 28477  }
 28478  
 28479  func apndCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, p uintptr) int32 {
 28480  	return (*struct {
 28481  		f func(*libc.TLS, uintptr, uintptr) int32
 28482  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxCurrentTimeInt64})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p)
 28483  }
 28484  
 28485  func apndSetSystemCall(tls *libc.TLS, pVfs uintptr, zName uintptr, pCall sqlite3_syscall_ptr) int32 {
 28486  	return (*struct {
 28487  		f func(*libc.TLS, uintptr, uintptr, sqlite3_syscall_ptr) int32
 28488  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxSetSystemCall})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zName, pCall)
 28489  }
 28490  
 28491  func apndGetSystemCall(tls *libc.TLS, pVfs uintptr, zName uintptr) sqlite3_syscall_ptr {
 28492  	return (*struct {
 28493  		f func(*libc.TLS, uintptr, uintptr) sqlite3_syscall_ptr
 28494  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxGetSystemCall})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zName)
 28495  }
 28496  
 28497  func apndNextSystemCall(tls *libc.TLS, pVfs uintptr, zName uintptr) uintptr {
 28498  	return (*struct {
 28499  		f func(*libc.TLS, uintptr, uintptr) uintptr
 28500  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxNextSystemCall})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zName)
 28501  }
 28502  
 28503  func sqlite3_appendvfs_init(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi uintptr) int32 {
 28504  	var rc int32 = SQLITE_OK
 28505  	var pOrig uintptr
 28506  	_ = pApi
 28507  
 28508  	_ = pzErrMsg
 28509  	_ = db
 28510  	pOrig = sqlite3.Xsqlite3_vfs_find(tls, uintptr(0))
 28511  	if pOrig == uintptr(0) {
 28512  		return SQLITE_ERROR
 28513  	}
 28514  	apnd_vfs.FiVersion = (*sqlite3_vfs)(unsafe.Pointer(pOrig)).FiVersion
 28515  	apnd_vfs.FpAppData = pOrig
 28516  	apnd_vfs.FszOsFile = int32(uint64((*sqlite3_vfs)(unsafe.Pointer(pOrig)).FszOsFile) + uint64(unsafe.Sizeof(ApndFile{})))
 28517  	rc = sqlite3.Xsqlite3_vfs_register(tls, uintptr(unsafe.Pointer(&apnd_vfs)), 0)
 28518  	if rc == SQLITE_OK {
 28519  		rc = SQLITE_OK | int32(1)<<8
 28520  	}
 28521  	return rc
 28522  }
 28523  
 28524  type _onexit_t = uintptr
 28525  
 28526  type _div_t = struct {
 28527  	Fquot int32
 28528  	Frem  int32
 28529  }
 28530  
 28531  type div_t = _div_t
 28532  
 28533  type _ldiv_t = struct {
 28534  	Fquot int32
 28535  	Frem  int32
 28536  }
 28537  
 28538  type ldiv_t = _ldiv_t
 28539  
 28540  type _LDOUBLE = struct{ Fld [10]uint8 }
 28541  
 28542  type _CRT_DOUBLE = struct{ Fx float64 }
 28543  
 28544  type _CRT_FLOAT = struct{ Ff float32 }
 28545  
 28546  type _LONGDOUBLE = struct{ Fx float64 }
 28547  
 28548  type _LDBL12 = struct{ Fld12 [12]uint8 }
 28549  
 28550  type _purecall_handler = uintptr
 28551  
 28552  type _invalid_parameter_handler = uintptr
 28553  
 28554  type lldiv_t = struct {
 28555  	Fquot int64
 28556  	Frem  int64
 28557  }
 28558  
 28559  type _heapinfo = struct {
 28560  	F_pentry     uintptr
 28561  	F_size       size_t
 28562  	F_useflag    int32
 28563  	F__ccgo_pad1 [4]byte
 28564  }
 28565  
 28566  type _HEAPINFO = _heapinfo
 28567  
 28568  type amatch_vtab1 = struct {
 28569  	Fbase        sqlite3_vtab
 28570  	FzClassName  uintptr
 28571  	FzDb         uintptr
 28572  	FzSelf       uintptr
 28573  	FzCostTab    uintptr
 28574  	FzVocabTab   uintptr
 28575  	FzVocabWord  uintptr
 28576  	FzVocabLang  uintptr
 28577  	FpRule       uintptr
 28578  	FrIns        amatch_cost
 28579  	FrDel        amatch_cost
 28580  	FrSub        amatch_cost
 28581  	F__ccgo_pad1 [4]byte
 28582  	Fdb          uintptr
 28583  	FpVCheck     uintptr
 28584  	FnCursor     int32
 28585  	F__ccgo_pad2 [4]byte
 28586  }
 28587  
 28588  type amatch_vtab = amatch_vtab1
 28589  type amatch_cursor1 = struct {
 28590  	Fbase        sqlite3_vtab_cursor
 28591  	FiRowid      sqlite3_int64
 28592  	FiLang       amatch_langid
 28593  	FrLimit      amatch_cost
 28594  	FnBuf        int32
 28595  	FoomErr      int32
 28596  	FnWord       int32
 28597  	F__ccgo_pad1 [4]byte
 28598  	FzBuf        uintptr
 28599  	FzInput      uintptr
 28600  	FpVtab       uintptr
 28601  	FpAllWords   uintptr
 28602  	FpCurrent    uintptr
 28603  	FpCost       uintptr
 28604  	FpWord       uintptr
 28605  }
 28606  
 28607  type amatch_cursor = amatch_cursor1
 28608  type amatch_rule1 = struct {
 28609  	FpNext       uintptr
 28610  	FzFrom       uintptr
 28611  	FrCost       amatch_cost
 28612  	FiLang       amatch_langid
 28613  	FnFrom       amatch_len
 28614  	FnTo         amatch_len
 28615  	FzTo         [4]int8
 28616  	F__ccgo_pad1 [2]byte
 28617  }
 28618  
 28619  type amatch_rule = amatch_rule1
 28620  type amatch_word1 = struct {
 28621  	FpNext  uintptr
 28622  	FsCost  amatch_avl
 28623  	FsWord  amatch_avl
 28624  	FrCost  amatch_cost
 28625  	FiSeq   int32
 28626  	FzCost  [10]int8
 28627  	FnMatch int16
 28628  	FzWord  [4]int8
 28629  }
 28630  
 28631  type amatch_word = amatch_word1
 28632  type amatch_avl1 = struct {
 28633  	FpWord       uintptr
 28634  	FzKey        uintptr
 28635  	FpBefore     uintptr
 28636  	FpAfter      uintptr
 28637  	FpUp         uintptr
 28638  	Fheight      int16
 28639  	Fimbalance   int16
 28640  	F__ccgo_pad1 [4]byte
 28641  }
 28642  
 28643  type amatch_avl = amatch_avl1
 28644  
 28645  func amatchAvlRecomputeHeight(tls *libc.TLS, p uintptr) {
 28646  	var hBefore int16
 28647  	if (*amatch_avl)(unsafe.Pointer(p)).FpBefore != 0 {
 28648  		hBefore = (*amatch_avl)(unsafe.Pointer((*amatch_avl)(unsafe.Pointer(p)).FpBefore)).Fheight
 28649  	} else {
 28650  		hBefore = int16(0)
 28651  	}
 28652  	var hAfter int16
 28653  	if (*amatch_avl)(unsafe.Pointer(p)).FpAfter != 0 {
 28654  		hAfter = (*amatch_avl)(unsafe.Pointer((*amatch_avl)(unsafe.Pointer(p)).FpAfter)).Fheight
 28655  	} else {
 28656  		hAfter = int16(0)
 28657  	}
 28658  	(*amatch_avl)(unsafe.Pointer(p)).Fimbalance = int16(int32(hBefore) - int32(hAfter))
 28659  	(*amatch_avl)(unsafe.Pointer(p)).Fheight = int16(func() int32 {
 28660  		if int32(hBefore) > int32(hAfter) {
 28661  			return int32(hBefore)
 28662  		}
 28663  		return int32(hAfter)
 28664  	}() + 1)
 28665  }
 28666  
 28667  func amatchAvlRotateBefore(tls *libc.TLS, pP uintptr) uintptr {
 28668  	var pB uintptr = (*amatch_avl)(unsafe.Pointer(pP)).FpBefore
 28669  	var pY uintptr = (*amatch_avl)(unsafe.Pointer(pB)).FpAfter
 28670  	(*amatch_avl)(unsafe.Pointer(pB)).FpUp = (*amatch_avl)(unsafe.Pointer(pP)).FpUp
 28671  	(*amatch_avl)(unsafe.Pointer(pB)).FpAfter = pP
 28672  	(*amatch_avl)(unsafe.Pointer(pP)).FpUp = pB
 28673  	(*amatch_avl)(unsafe.Pointer(pP)).FpBefore = pY
 28674  	if pY != 0 {
 28675  		(*amatch_avl)(unsafe.Pointer(pY)).FpUp = pP
 28676  	}
 28677  	amatchAvlRecomputeHeight(tls, pP)
 28678  	amatchAvlRecomputeHeight(tls, pB)
 28679  	return pB
 28680  }
 28681  
 28682  func amatchAvlRotateAfter(tls *libc.TLS, pP uintptr) uintptr {
 28683  	var pA uintptr = (*amatch_avl)(unsafe.Pointer(pP)).FpAfter
 28684  	var pY uintptr = (*amatch_avl)(unsafe.Pointer(pA)).FpBefore
 28685  	(*amatch_avl)(unsafe.Pointer(pA)).FpUp = (*amatch_avl)(unsafe.Pointer(pP)).FpUp
 28686  	(*amatch_avl)(unsafe.Pointer(pA)).FpBefore = pP
 28687  	(*amatch_avl)(unsafe.Pointer(pP)).FpUp = pA
 28688  	(*amatch_avl)(unsafe.Pointer(pP)).FpAfter = pY
 28689  	if pY != 0 {
 28690  		(*amatch_avl)(unsafe.Pointer(pY)).FpUp = pP
 28691  	}
 28692  	amatchAvlRecomputeHeight(tls, pP)
 28693  	amatchAvlRecomputeHeight(tls, pA)
 28694  	return pA
 28695  }
 28696  
 28697  func amatchAvlFromPtr(tls *libc.TLS, p uintptr, pp uintptr) uintptr {
 28698  	var pUp uintptr = (*amatch_avl)(unsafe.Pointer(p)).FpUp
 28699  	if pUp == uintptr(0) {
 28700  		return pp
 28701  	}
 28702  	if (*amatch_avl)(unsafe.Pointer(pUp)).FpAfter == p {
 28703  		return pUp + 24
 28704  	}
 28705  	return pUp + 16
 28706  }
 28707  
 28708  func amatchAvlBalance(tls *libc.TLS, p uintptr) uintptr {
 28709  	bp := tls.Alloc(8)
 28710  	defer tls.Free(8)
 28711  	*(*uintptr)(unsafe.Pointer(bp)) = p
 28712  
 28713  	var pTop uintptr = *(*uintptr)(unsafe.Pointer(bp))
 28714  	var pp uintptr
 28715  	for *(*uintptr)(unsafe.Pointer(bp)) != 0 {
 28716  		amatchAvlRecomputeHeight(tls, *(*uintptr)(unsafe.Pointer(bp)))
 28717  		if int32((*amatch_avl)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fimbalance) >= 2 {
 28718  			var pB uintptr = (*amatch_avl)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpBefore
 28719  			if int32((*amatch_avl)(unsafe.Pointer(pB)).Fimbalance) < 0 {
 28720  				(*amatch_avl)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpBefore = amatchAvlRotateAfter(tls, pB)
 28721  			}
 28722  			pp = amatchAvlFromPtr(tls, *(*uintptr)(unsafe.Pointer(bp)), bp)
 28723  			*(*uintptr)(unsafe.Pointer(bp)) = libc.AssignPtrUintptr(pp, amatchAvlRotateBefore(tls, *(*uintptr)(unsafe.Pointer(bp))))
 28724  		} else if int32((*amatch_avl)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fimbalance) <= -2 {
 28725  			var pA uintptr = (*amatch_avl)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpAfter
 28726  			if int32((*amatch_avl)(unsafe.Pointer(pA)).Fimbalance) > 0 {
 28727  				(*amatch_avl)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpAfter = amatchAvlRotateBefore(tls, pA)
 28728  			}
 28729  			pp = amatchAvlFromPtr(tls, *(*uintptr)(unsafe.Pointer(bp)), bp)
 28730  			*(*uintptr)(unsafe.Pointer(bp)) = libc.AssignPtrUintptr(pp, amatchAvlRotateAfter(tls, *(*uintptr)(unsafe.Pointer(bp))))
 28731  		}
 28732  		pTop = *(*uintptr)(unsafe.Pointer(bp))
 28733  		*(*uintptr)(unsafe.Pointer(bp)) = (*amatch_avl)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpUp
 28734  	}
 28735  	return pTop
 28736  }
 28737  
 28738  func amatchAvlSearch(tls *libc.TLS, p uintptr, zKey uintptr) uintptr {
 28739  	var c int32
 28740  	for p != 0 && libc.AssignInt32(&c, libc.Xstrcmp(tls, zKey, (*amatch_avl)(unsafe.Pointer(p)).FzKey)) != 0 {
 28741  		if c < 0 {
 28742  			p = (*amatch_avl)(unsafe.Pointer(p)).FpBefore
 28743  		} else {
 28744  			p = (*amatch_avl)(unsafe.Pointer(p)).FpAfter
 28745  		}
 28746  	}
 28747  	return p
 28748  }
 28749  
 28750  func amatchAvlFirst(tls *libc.TLS, p uintptr) uintptr {
 28751  	if p != 0 {
 28752  		for (*amatch_avl)(unsafe.Pointer(p)).FpBefore != 0 {
 28753  			p = (*amatch_avl)(unsafe.Pointer(p)).FpBefore
 28754  		}
 28755  	}
 28756  	return p
 28757  }
 28758  
 28759  func amatchAvlInsert(tls *libc.TLS, ppHead uintptr, pNew uintptr) uintptr {
 28760  	var c int32
 28761  	var p uintptr = *(*uintptr)(unsafe.Pointer(ppHead))
 28762  	if p == uintptr(0) {
 28763  		p = pNew
 28764  		(*amatch_avl)(unsafe.Pointer(pNew)).FpUp = uintptr(0)
 28765  	} else {
 28766  		for p != 0 {
 28767  			c = libc.Xstrcmp(tls, (*amatch_avl)(unsafe.Pointer(pNew)).FzKey, (*amatch_avl)(unsafe.Pointer(p)).FzKey)
 28768  			if c < 0 {
 28769  				if (*amatch_avl)(unsafe.Pointer(p)).FpBefore != 0 {
 28770  					p = (*amatch_avl)(unsafe.Pointer(p)).FpBefore
 28771  				} else {
 28772  					(*amatch_avl)(unsafe.Pointer(p)).FpBefore = pNew
 28773  					(*amatch_avl)(unsafe.Pointer(pNew)).FpUp = p
 28774  					break
 28775  				}
 28776  			} else if c > 0 {
 28777  				if (*amatch_avl)(unsafe.Pointer(p)).FpAfter != 0 {
 28778  					p = (*amatch_avl)(unsafe.Pointer(p)).FpAfter
 28779  				} else {
 28780  					(*amatch_avl)(unsafe.Pointer(p)).FpAfter = pNew
 28781  					(*amatch_avl)(unsafe.Pointer(pNew)).FpUp = p
 28782  					break
 28783  				}
 28784  			} else {
 28785  				return p
 28786  			}
 28787  		}
 28788  	}
 28789  	(*amatch_avl)(unsafe.Pointer(pNew)).FpBefore = uintptr(0)
 28790  	(*amatch_avl)(unsafe.Pointer(pNew)).FpAfter = uintptr(0)
 28791  	(*amatch_avl)(unsafe.Pointer(pNew)).Fheight = int16(1)
 28792  	(*amatch_avl)(unsafe.Pointer(pNew)).Fimbalance = int16(0)
 28793  	*(*uintptr)(unsafe.Pointer(ppHead)) = amatchAvlBalance(tls, p)
 28794  
 28795  	return uintptr(0)
 28796  }
 28797  
 28798  func amatchAvlRemove(tls *libc.TLS, ppHead uintptr, pOld uintptr) {
 28799  	var ppParent uintptr
 28800  	var pBalance uintptr = uintptr(0)
 28801  
 28802  	ppParent = amatchAvlFromPtr(tls, pOld, ppHead)
 28803  	if (*amatch_avl)(unsafe.Pointer(pOld)).FpBefore == uintptr(0) && (*amatch_avl)(unsafe.Pointer(pOld)).FpAfter == uintptr(0) {
 28804  		*(*uintptr)(unsafe.Pointer(ppParent)) = uintptr(0)
 28805  		pBalance = (*amatch_avl)(unsafe.Pointer(pOld)).FpUp
 28806  	} else if (*amatch_avl)(unsafe.Pointer(pOld)).FpBefore != 0 && (*amatch_avl)(unsafe.Pointer(pOld)).FpAfter != 0 {
 28807  		var pX uintptr
 28808  		var pY uintptr
 28809  		pX = amatchAvlFirst(tls, (*amatch_avl)(unsafe.Pointer(pOld)).FpAfter)
 28810  		*(*uintptr)(unsafe.Pointer(amatchAvlFromPtr(tls, pX, uintptr(0)))) = (*amatch_avl)(unsafe.Pointer(pX)).FpAfter
 28811  		if (*amatch_avl)(unsafe.Pointer(pX)).FpAfter != 0 {
 28812  			(*amatch_avl)(unsafe.Pointer((*amatch_avl)(unsafe.Pointer(pX)).FpAfter)).FpUp = (*amatch_avl)(unsafe.Pointer(pX)).FpUp
 28813  		}
 28814  		pBalance = (*amatch_avl)(unsafe.Pointer(pX)).FpUp
 28815  		(*amatch_avl)(unsafe.Pointer(pX)).FpAfter = (*amatch_avl)(unsafe.Pointer(pOld)).FpAfter
 28816  		if (*amatch_avl)(unsafe.Pointer(pX)).FpAfter != 0 {
 28817  			(*amatch_avl)(unsafe.Pointer((*amatch_avl)(unsafe.Pointer(pX)).FpAfter)).FpUp = pX
 28818  		} else {
 28819  			pBalance = pX
 28820  		}
 28821  		(*amatch_avl)(unsafe.Pointer(pX)).FpBefore = libc.AssignUintptr(&pY, (*amatch_avl)(unsafe.Pointer(pOld)).FpBefore)
 28822  		if pY != 0 {
 28823  			(*amatch_avl)(unsafe.Pointer(pY)).FpUp = pX
 28824  		}
 28825  		(*amatch_avl)(unsafe.Pointer(pX)).FpUp = (*amatch_avl)(unsafe.Pointer(pOld)).FpUp
 28826  		*(*uintptr)(unsafe.Pointer(ppParent)) = pX
 28827  	} else if (*amatch_avl)(unsafe.Pointer(pOld)).FpBefore == uintptr(0) {
 28828  		*(*uintptr)(unsafe.Pointer(ppParent)) = libc.AssignUintptr(&pBalance, (*amatch_avl)(unsafe.Pointer(pOld)).FpAfter)
 28829  		(*amatch_avl)(unsafe.Pointer(pBalance)).FpUp = (*amatch_avl)(unsafe.Pointer(pOld)).FpUp
 28830  	} else if (*amatch_avl)(unsafe.Pointer(pOld)).FpAfter == uintptr(0) {
 28831  		*(*uintptr)(unsafe.Pointer(ppParent)) = libc.AssignUintptr(&pBalance, (*amatch_avl)(unsafe.Pointer(pOld)).FpBefore)
 28832  		(*amatch_avl)(unsafe.Pointer(pBalance)).FpUp = (*amatch_avl)(unsafe.Pointer(pOld)).FpUp
 28833  	}
 28834  	*(*uintptr)(unsafe.Pointer(ppHead)) = amatchAvlBalance(tls, pBalance)
 28835  	(*amatch_avl)(unsafe.Pointer(pOld)).FpUp = uintptr(0)
 28836  	(*amatch_avl)(unsafe.Pointer(pOld)).FpBefore = uintptr(0)
 28837  	(*amatch_avl)(unsafe.Pointer(pOld)).FpAfter = uintptr(0)
 28838  
 28839  }
 28840  
 28841  type amatch_cost = int32
 28842  type amatch_len = int8
 28843  type amatch_langid = int32
 28844  
 28845  func amatchMergeRules(tls *libc.TLS, pA uintptr, pB uintptr) uintptr {
 28846  	bp := tls.Alloc(32)
 28847  	defer tls.Free(32)
 28848  
 28849  	var pTail uintptr
 28850  
 28851  	pTail = bp
 28852  	for pA != 0 && pB != 0 {
 28853  		if (*amatch_rule)(unsafe.Pointer(pA)).FrCost <= (*amatch_rule)(unsafe.Pointer(pB)).FrCost {
 28854  			(*amatch_rule)(unsafe.Pointer(pTail)).FpNext = pA
 28855  			pTail = pA
 28856  			pA = (*amatch_rule)(unsafe.Pointer(pA)).FpNext
 28857  		} else {
 28858  			(*amatch_rule)(unsafe.Pointer(pTail)).FpNext = pB
 28859  			pTail = pB
 28860  			pB = (*amatch_rule)(unsafe.Pointer(pB)).FpNext
 28861  		}
 28862  	}
 28863  	if pA == uintptr(0) {
 28864  		(*amatch_rule)(unsafe.Pointer(pTail)).FpNext = pB
 28865  	} else {
 28866  		(*amatch_rule)(unsafe.Pointer(pTail)).FpNext = pA
 28867  	}
 28868  	return (*amatch_rule)(unsafe.Pointer(bp)).FpNext
 28869  }
 28870  
 28871  func amatchLoadOneRule(tls *libc.TLS, p uintptr, pStmt uintptr, ppRule uintptr, pzErr uintptr) int32 {
 28872  	bp := tls.Alloc(48)
 28873  	defer tls.Free(48)
 28874  
 28875  	var iLang sqlite3_int64 = sqlite3.Xsqlite3_column_int64(tls, pStmt, 0)
 28876  	var zFrom uintptr = sqlite3.Xsqlite3_column_text(tls, pStmt, 1)
 28877  	var zTo uintptr = sqlite3.Xsqlite3_column_text(tls, pStmt, 2)
 28878  	var rCost amatch_cost = sqlite3.Xsqlite3_column_int(tls, pStmt, 3)
 28879  
 28880  	var rc int32 = SQLITE_OK
 28881  	var nFrom int32
 28882  	var nTo int32
 28883  	var pRule uintptr = uintptr(0)
 28884  
 28885  	if zFrom == uintptr(0) {
 28886  		zFrom = ts + 584
 28887  	}
 28888  	if zTo == uintptr(0) {
 28889  		zTo = ts + 584
 28890  	}
 28891  	nFrom = int32(libc.Xstrlen(tls, zFrom))
 28892  	nTo = int32(libc.Xstrlen(tls, zTo))
 28893  
 28894  	if libc.Xstrcmp(tls, zFrom, zTo) == 0 {
 28895  		if int32(*(*int8)(unsafe.Pointer(zFrom))) == '?' && int32(*(*int8)(unsafe.Pointer(zFrom + 1))) == 0 {
 28896  			if (*amatch_vtab)(unsafe.Pointer(p)).FrSub == 0 || (*amatch_vtab)(unsafe.Pointer(p)).FrSub > rCost {
 28897  				(*amatch_vtab)(unsafe.Pointer(p)).FrSub = rCost
 28898  			}
 28899  		}
 28900  		*(*uintptr)(unsafe.Pointer(ppRule)) = uintptr(0)
 28901  		return SQLITE_OK
 28902  	}
 28903  
 28904  	if rCost <= 0 || rCost > AMATCH_MX_COST {
 28905  		*(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+3304,
 28906  			libc.VaList(bp, (*amatch_vtab)(unsafe.Pointer(p)).FzClassName, AMATCH_MX_COST))
 28907  		rc = SQLITE_ERROR
 28908  	} else if nFrom > AMATCH_MX_LENGTH || nTo > AMATCH_MX_LENGTH {
 28909  		*(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+3338,
 28910  			libc.VaList(bp+16, (*amatch_vtab)(unsafe.Pointer(p)).FzClassName, AMATCH_MX_LENGTH))
 28911  		rc = SQLITE_ERROR
 28912  	} else if iLang < int64(0) || iLang > int64(AMATCH_MX_LANGID) {
 28913  		*(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+3370,
 28914  			libc.VaList(bp+32, (*amatch_vtab)(unsafe.Pointer(p)).FzClassName, AMATCH_MX_LANGID))
 28915  		rc = SQLITE_ERROR
 28916  	} else if libc.Xstrcmp(tls, zFrom, ts+584) == 0 && libc.Xstrcmp(tls, zTo, ts+3405) == 0 {
 28917  		if (*amatch_vtab)(unsafe.Pointer(p)).FrIns == 0 || (*amatch_vtab)(unsafe.Pointer(p)).FrIns > rCost {
 28918  			(*amatch_vtab)(unsafe.Pointer(p)).FrIns = rCost
 28919  		}
 28920  	} else if libc.Xstrcmp(tls, zFrom, ts+3405) == 0 && libc.Xstrcmp(tls, zTo, ts+584) == 0 {
 28921  		if (*amatch_vtab)(unsafe.Pointer(p)).FrDel == 0 || (*amatch_vtab)(unsafe.Pointer(p)).FrDel > rCost {
 28922  			(*amatch_vtab)(unsafe.Pointer(p)).FrDel = rCost
 28923  		}
 28924  	} else {
 28925  		pRule = sqlite3.Xsqlite3_malloc64(tls, uint64(unsafe.Sizeof(amatch_rule{}))+uint64(nFrom)+uint64(nTo))
 28926  		if pRule == uintptr(0) {
 28927  			rc = SQLITE_NOMEM
 28928  		} else {
 28929  			libc.Xmemset(tls, pRule, 0, uint64(unsafe.Sizeof(amatch_rule{})))
 28930  			(*amatch_rule)(unsafe.Pointer(pRule)).FzFrom = pRule + 26 + uintptr(nTo+1)
 28931  			(*amatch_rule)(unsafe.Pointer(pRule)).FnFrom = amatch_len(nFrom)
 28932  			libc.Xmemcpy(tls, (*amatch_rule)(unsafe.Pointer(pRule)).FzFrom, zFrom, uint64(nFrom+1))
 28933  			libc.Xmemcpy(tls, pRule+26, zTo, uint64(nTo+1))
 28934  			(*amatch_rule)(unsafe.Pointer(pRule)).FnTo = amatch_len(nTo)
 28935  			(*amatch_rule)(unsafe.Pointer(pRule)).FrCost = rCost
 28936  			(*amatch_rule)(unsafe.Pointer(pRule)).FiLang = int32(iLang)
 28937  		}
 28938  	}
 28939  
 28940  	*(*uintptr)(unsafe.Pointer(ppRule)) = pRule
 28941  	return rc
 28942  }
 28943  
 28944  func amatchFreeRules(tls *libc.TLS, p uintptr) {
 28945  	for (*amatch_vtab)(unsafe.Pointer(p)).FpRule != 0 {
 28946  		var pRule uintptr = (*amatch_vtab)(unsafe.Pointer(p)).FpRule
 28947  		(*amatch_vtab)(unsafe.Pointer(p)).FpRule = (*amatch_rule)(unsafe.Pointer(pRule)).FpNext
 28948  		sqlite3.Xsqlite3_free(tls, pRule)
 28949  	}
 28950  	(*amatch_vtab)(unsafe.Pointer(p)).FpRule = uintptr(0)
 28951  }
 28952  
 28953  func amatchLoadRules(tls *libc.TLS, db uintptr, p uintptr, pzErr uintptr) int32 {
 28954  	bp := tls.Alloc(192)
 28955  	defer tls.Free(192)
 28956  
 28957  	var rc int32 = SQLITE_OK
 28958  	var zSql uintptr
 28959  	var pHead uintptr = uintptr(0)
 28960  
 28961  	zSql = sqlite3.Xsqlite3_mprintf(tls, ts+3407, libc.VaList(bp, (*amatch_vtab)(unsafe.Pointer(p)).FzDb, (*amatch_vtab)(unsafe.Pointer(p)).FzCostTab))
 28962  	if zSql == uintptr(0) {
 28963  		rc = SQLITE_NOMEM
 28964  	} else {
 28965  		var rc2 int32
 28966  		*(*uintptr)(unsafe.Pointer(bp + 56)) = uintptr(0)
 28967  		rc = sqlite3.Xsqlite3_prepare_v2(tls, db, zSql, -1, bp+56, uintptr(0))
 28968  		if rc != SQLITE_OK {
 28969  			*(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+3427, libc.VaList(bp+16, (*amatch_vtab)(unsafe.Pointer(p)).FzClassName, sqlite3.Xsqlite3_errmsg(tls, db)))
 28970  		} else if sqlite3.Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp + 56))) != 4 {
 28971  			*(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+3434,
 28972  				libc.VaList(bp+32, (*amatch_vtab)(unsafe.Pointer(p)).FzClassName, (*amatch_vtab)(unsafe.Pointer(p)).FzCostTab, sqlite3.Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp + 56)))))
 28973  			rc = SQLITE_ERROR
 28974  		} else {
 28975  			for rc == SQLITE_OK && SQLITE_ROW == sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 56))) {
 28976  				*(*uintptr)(unsafe.Pointer(bp + 64)) = uintptr(0)
 28977  				rc = amatchLoadOneRule(tls, p, *(*uintptr)(unsafe.Pointer(bp + 56)), bp+64, pzErr)
 28978  				if *(*uintptr)(unsafe.Pointer(bp + 64)) != 0 {
 28979  					(*amatch_rule)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 64)))).FpNext = pHead
 28980  					pHead = *(*uintptr)(unsafe.Pointer(bp + 64))
 28981  				}
 28982  			}
 28983  		}
 28984  		rc2 = sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 56)))
 28985  		if rc == SQLITE_OK {
 28986  			rc = rc2
 28987  		}
 28988  	}
 28989  	sqlite3.Xsqlite3_free(tls, zSql)
 28990  
 28991  	if rc == SQLITE_OK {
 28992  		var i uint32
 28993  		var pX uintptr
 28994  
 28995  		for i = uint32(0); uint64(i) < uint64(unsafe.Sizeof([15]uintptr{}))/uint64(unsafe.Sizeof(uintptr(0))); i++ {
 28996  			*(*uintptr)(unsafe.Pointer(bp + 72 + uintptr(i)*8)) = uintptr(0)
 28997  		}
 28998  		for libc.AssignUintptr(&pX, pHead) != uintptr(0) {
 28999  			pHead = (*amatch_rule)(unsafe.Pointer(pX)).FpNext
 29000  			(*amatch_rule)(unsafe.Pointer(pX)).FpNext = uintptr(0)
 29001  			for i = uint32(0); *(*uintptr)(unsafe.Pointer(bp + 72 + uintptr(i)*8)) != 0 && uint64(i) < uint64(unsafe.Sizeof([15]uintptr{}))/uint64(unsafe.Sizeof(uintptr(0)))-uint64(1); i++ {
 29002  				pX = amatchMergeRules(tls, *(*uintptr)(unsafe.Pointer(bp + 72 + uintptr(i)*8)), pX)
 29003  				*(*uintptr)(unsafe.Pointer(bp + 72 + uintptr(i)*8)) = uintptr(0)
 29004  			}
 29005  			*(*uintptr)(unsafe.Pointer(bp + 72 + uintptr(i)*8)) = amatchMergeRules(tls, *(*uintptr)(unsafe.Pointer(bp + 72 + uintptr(i)*8)), pX)
 29006  		}
 29007  		pX = *(*uintptr)(unsafe.Pointer(bp + 72))
 29008  		i = uint32(1)
 29009  		for ; uint64(i) < uint64(unsafe.Sizeof([15]uintptr{}))/uint64(unsafe.Sizeof(uintptr(0))); i++ {
 29010  			pX = amatchMergeRules(tls, *(*uintptr)(unsafe.Pointer(bp + 72 + uintptr(i)*8)), pX)
 29011  		}
 29012  		(*amatch_vtab)(unsafe.Pointer(p)).FpRule = amatchMergeRules(tls, (*amatch_vtab)(unsafe.Pointer(p)).FpRule, pX)
 29013  	} else {
 29014  		(*amatch_vtab)(unsafe.Pointer(p)).FpRule = pHead
 29015  	}
 29016  
 29017  	return rc
 29018  }
 29019  
 29020  func amatchDequote(tls *libc.TLS, zIn uintptr) uintptr {
 29021  	var nIn sqlite3_int64
 29022  	var zOut uintptr
 29023  
 29024  	nIn = sqlite3_int64(libc.Xstrlen(tls, zIn))
 29025  	zOut = sqlite3.Xsqlite3_malloc64(tls, uint64(nIn+int64(1)))
 29026  	if zOut != 0 {
 29027  		var q int8 = *(*int8)(unsafe.Pointer(zIn))
 29028  
 29029  		if int32(q) != '[' && int32(q) != '\'' && int32(q) != '"' && int32(q) != '`' {
 29030  			libc.Xmemcpy(tls, zOut, zIn, size_t(nIn+int64(1)))
 29031  		} else {
 29032  			var iOut int32 = 0
 29033  			var iIn int32
 29034  
 29035  			if int32(q) == '[' {
 29036  				q = int8(']')
 29037  			}
 29038  			for iIn = 1; sqlite3_int64(iIn) < nIn; iIn++ {
 29039  				if int32(*(*int8)(unsafe.Pointer(zIn + uintptr(iIn)))) == int32(q) {
 29040  					iIn++
 29041  				}
 29042  				*(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&iOut, 1)))) = *(*int8)(unsafe.Pointer(zIn + uintptr(iIn)))
 29043  			}
 29044  		}
 29045  
 29046  	}
 29047  	return zOut
 29048  }
 29049  
 29050  func amatchVCheckClear(tls *libc.TLS, p uintptr) {
 29051  	if (*amatch_vtab)(unsafe.Pointer(p)).FpVCheck != 0 {
 29052  		sqlite3.Xsqlite3_finalize(tls, (*amatch_vtab)(unsafe.Pointer(p)).FpVCheck)
 29053  		(*amatch_vtab)(unsafe.Pointer(p)).FpVCheck = uintptr(0)
 29054  	}
 29055  }
 29056  
 29057  func amatchFree(tls *libc.TLS, p uintptr) {
 29058  	if p != 0 {
 29059  		amatchFreeRules(tls, p)
 29060  		amatchVCheckClear(tls, p)
 29061  		sqlite3.Xsqlite3_free(tls, (*amatch_vtab)(unsafe.Pointer(p)).FzClassName)
 29062  		sqlite3.Xsqlite3_free(tls, (*amatch_vtab)(unsafe.Pointer(p)).FzDb)
 29063  		sqlite3.Xsqlite3_free(tls, (*amatch_vtab)(unsafe.Pointer(p)).FzCostTab)
 29064  		sqlite3.Xsqlite3_free(tls, (*amatch_vtab)(unsafe.Pointer(p)).FzVocabTab)
 29065  		sqlite3.Xsqlite3_free(tls, (*amatch_vtab)(unsafe.Pointer(p)).FzVocabWord)
 29066  		sqlite3.Xsqlite3_free(tls, (*amatch_vtab)(unsafe.Pointer(p)).FzVocabLang)
 29067  		sqlite3.Xsqlite3_free(tls, (*amatch_vtab)(unsafe.Pointer(p)).FzSelf)
 29068  		libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(amatch_vtab{})))
 29069  		sqlite3.Xsqlite3_free(tls, p)
 29070  	}
 29071  }
 29072  
 29073  func amatchDisconnect(tls *libc.TLS, pVtab uintptr) int32 {
 29074  	var p uintptr = pVtab
 29075  
 29076  	amatchFree(tls, p)
 29077  	return SQLITE_OK
 29078  }
 29079  
 29080  func amatchValueOfKey(tls *libc.TLS, zKey uintptr, zStr uintptr) uintptr {
 29081  	var nKey int32 = int32(libc.Xstrlen(tls, zKey))
 29082  	var nStr int32 = int32(libc.Xstrlen(tls, zStr))
 29083  	var i int32
 29084  	if nStr < nKey+1 {
 29085  		return uintptr(0)
 29086  	}
 29087  	if libc.Xmemcmp(tls, zStr, zKey, uint64(nKey)) != 0 {
 29088  		return uintptr(0)
 29089  	}
 29090  	for i = nKey; libc.Xisspace(tls, int32(uint8(*(*int8)(unsafe.Pointer(zStr + uintptr(i)))))) != 0; i++ {
 29091  	}
 29092  	if int32(*(*int8)(unsafe.Pointer(zStr + uintptr(i)))) != '=' {
 29093  		return uintptr(0)
 29094  	}
 29095  	i++
 29096  	for libc.Xisspace(tls, int32(uint8(*(*int8)(unsafe.Pointer(zStr + uintptr(i)))))) != 0 {
 29097  		i++
 29098  	}
 29099  	return zStr + uintptr(i)
 29100  }
 29101  
 29102  func amatchConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 {
 29103  	bp := tls.Alloc(32)
 29104  	defer tls.Free(32)
 29105  
 29106  	var rc int32
 29107  	var pNew uintptr
 29108  	var zModule uintptr
 29109  	var zDb uintptr
 29110  	var zVal uintptr
 29111  	var i int32
 29112  	rc = SQLITE_OK
 29113  	pNew = uintptr(0)
 29114  	zModule = *(*uintptr)(unsafe.Pointer(argv))
 29115  	zDb = *(*uintptr)(unsafe.Pointer(argv + 1*8))
 29116  
 29117  	_ = pAux
 29118  	*(*uintptr)(unsafe.Pointer(ppVtab)) = uintptr(0)
 29119  	pNew = sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(amatch_vtab{})))
 29120  	if !(pNew == uintptr(0)) {
 29121  		goto __1
 29122  	}
 29123  	return SQLITE_NOMEM
 29124  __1:
 29125  	;
 29126  	rc = SQLITE_NOMEM
 29127  	libc.Xmemset(tls, pNew, 0, uint64(unsafe.Sizeof(amatch_vtab{})))
 29128  	(*amatch_vtab)(unsafe.Pointer(pNew)).Fdb = db
 29129  	(*amatch_vtab)(unsafe.Pointer(pNew)).FzClassName = sqlite3.Xsqlite3_mprintf(tls, ts, libc.VaList(bp, zModule))
 29130  	if !((*amatch_vtab)(unsafe.Pointer(pNew)).FzClassName == uintptr(0)) {
 29131  		goto __2
 29132  	}
 29133  	goto amatchConnectError
 29134  __2:
 29135  	;
 29136  	(*amatch_vtab)(unsafe.Pointer(pNew)).FzDb = sqlite3.Xsqlite3_mprintf(tls, ts, libc.VaList(bp+8, zDb))
 29137  	if !((*amatch_vtab)(unsafe.Pointer(pNew)).FzDb == uintptr(0)) {
 29138  		goto __3
 29139  	}
 29140  	goto amatchConnectError
 29141  __3:
 29142  	;
 29143  	(*amatch_vtab)(unsafe.Pointer(pNew)).FzSelf = sqlite3.Xsqlite3_mprintf(tls, ts, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(argv + 2*8))))
 29144  	if !((*amatch_vtab)(unsafe.Pointer(pNew)).FzSelf == uintptr(0)) {
 29145  		goto __4
 29146  	}
 29147  	goto amatchConnectError
 29148  __4:
 29149  	;
 29150  	i = 3
 29151  __5:
 29152  	if !(i < argc) {
 29153  		goto __7
 29154  	}
 29155  	zVal = amatchValueOfKey(tls, ts+3468, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))
 29156  	if !(zVal != 0) {
 29157  		goto __8
 29158  	}
 29159  	sqlite3.Xsqlite3_free(tls, (*amatch_vtab)(unsafe.Pointer(pNew)).FzVocabTab)
 29160  	(*amatch_vtab)(unsafe.Pointer(pNew)).FzVocabTab = amatchDequote(tls, zVal)
 29161  	if !((*amatch_vtab)(unsafe.Pointer(pNew)).FzVocabTab == uintptr(0)) {
 29162  		goto __9
 29163  	}
 29164  	goto amatchConnectError
 29165  __9:
 29166  	;
 29167  	goto __6
 29168  __8:
 29169  	;
 29170  	zVal = amatchValueOfKey(tls, ts+3485, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))
 29171  	if !(zVal != 0) {
 29172  		goto __10
 29173  	}
 29174  	sqlite3.Xsqlite3_free(tls, (*amatch_vtab)(unsafe.Pointer(pNew)).FzVocabWord)
 29175  	(*amatch_vtab)(unsafe.Pointer(pNew)).FzVocabWord = amatchDequote(tls, zVal)
 29176  	if !((*amatch_vtab)(unsafe.Pointer(pNew)).FzVocabWord == uintptr(0)) {
 29177  		goto __11
 29178  	}
 29179  	goto amatchConnectError
 29180  __11:
 29181  	;
 29182  	goto __6
 29183  __10:
 29184  	;
 29185  	zVal = amatchValueOfKey(tls, ts+3501, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))
 29186  	if !(zVal != 0) {
 29187  		goto __12
 29188  	}
 29189  	sqlite3.Xsqlite3_free(tls, (*amatch_vtab)(unsafe.Pointer(pNew)).FzVocabLang)
 29190  	(*amatch_vtab)(unsafe.Pointer(pNew)).FzVocabLang = amatchDequote(tls, zVal)
 29191  	if !((*amatch_vtab)(unsafe.Pointer(pNew)).FzVocabLang == uintptr(0)) {
 29192  		goto __13
 29193  	}
 29194  	goto amatchConnectError
 29195  __13:
 29196  	;
 29197  	goto __6
 29198  __12:
 29199  	;
 29200  	zVal = amatchValueOfKey(tls, ts+3521, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))
 29201  	if !(zVal != 0) {
 29202  		goto __14
 29203  	}
 29204  	sqlite3.Xsqlite3_free(tls, (*amatch_vtab)(unsafe.Pointer(pNew)).FzCostTab)
 29205  	(*amatch_vtab)(unsafe.Pointer(pNew)).FzCostTab = amatchDequote(tls, zVal)
 29206  	if !((*amatch_vtab)(unsafe.Pointer(pNew)).FzCostTab == uintptr(0)) {
 29207  		goto __15
 29208  	}
 29209  	goto amatchConnectError
 29210  __15:
 29211  	;
 29212  	goto __6
 29213  __14:
 29214  	;
 29215  	*(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+3536, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
 29216  	amatchFree(tls, pNew)
 29217  	*(*uintptr)(unsafe.Pointer(ppVtab)) = uintptr(0)
 29218  	return SQLITE_ERROR
 29219  	goto __6
 29220  __6:
 29221  	i++
 29222  	goto __5
 29223  	goto __7
 29224  __7:
 29225  	;
 29226  	rc = SQLITE_OK
 29227  	if !((*amatch_vtab)(unsafe.Pointer(pNew)).FzCostTab == uintptr(0)) {
 29228  		goto __16
 29229  	}
 29230  	*(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+3565, 0)
 29231  	rc = SQLITE_ERROR
 29232  	goto __17
 29233  __16:
 29234  	rc = amatchLoadRules(tls, db, pNew, pzErr)
 29235  __17:
 29236  	;
 29237  	if !(rc == SQLITE_OK) {
 29238  		goto __18
 29239  	}
 29240  	sqlite3.Xsqlite3_vtab_config(tls, db, SQLITE_VTAB_INNOCUOUS, 0)
 29241  	rc = sqlite3.Xsqlite3_declare_vtab(tls, db,
 29242  		ts+3599)
 29243  __18:
 29244  	;
 29245  	if !(rc != SQLITE_OK) {
 29246  		goto __19
 29247  	}
 29248  	amatchFree(tls, pNew)
 29249  __19:
 29250  	;
 29251  	*(*uintptr)(unsafe.Pointer(ppVtab)) = pNew
 29252  	return rc
 29253  
 29254  amatchConnectError:
 29255  	amatchFree(tls, pNew)
 29256  	return rc
 29257  }
 29258  
 29259  func amatchOpen(tls *libc.TLS, pVTab uintptr, ppCursor uintptr) int32 {
 29260  	var p uintptr = pVTab
 29261  	var pCur uintptr
 29262  	pCur = sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(amatch_cursor{})))
 29263  	if pCur == uintptr(0) {
 29264  		return SQLITE_NOMEM
 29265  	}
 29266  	libc.Xmemset(tls, pCur, 0, uint64(unsafe.Sizeof(amatch_cursor{})))
 29267  	(*amatch_cursor)(unsafe.Pointer(pCur)).FpVtab = p
 29268  	*(*uintptr)(unsafe.Pointer(ppCursor)) = pCur
 29269  	(*amatch_vtab)(unsafe.Pointer(p)).FnCursor++
 29270  	return SQLITE_OK
 29271  }
 29272  
 29273  func amatchClearCursor(tls *libc.TLS, pCur uintptr) {
 29274  	var pWord uintptr
 29275  	var pNextWord uintptr
 29276  	for pWord = (*amatch_cursor)(unsafe.Pointer(pCur)).FpAllWords; pWord != 0; pWord = pNextWord {
 29277  		pNextWord = (*amatch_word)(unsafe.Pointer(pWord)).FpNext
 29278  		sqlite3.Xsqlite3_free(tls, pWord)
 29279  	}
 29280  	(*amatch_cursor)(unsafe.Pointer(pCur)).FpAllWords = uintptr(0)
 29281  	sqlite3.Xsqlite3_free(tls, (*amatch_cursor)(unsafe.Pointer(pCur)).FzInput)
 29282  	(*amatch_cursor)(unsafe.Pointer(pCur)).FzInput = uintptr(0)
 29283  	sqlite3.Xsqlite3_free(tls, (*amatch_cursor)(unsafe.Pointer(pCur)).FzBuf)
 29284  	(*amatch_cursor)(unsafe.Pointer(pCur)).FzBuf = uintptr(0)
 29285  	(*amatch_cursor)(unsafe.Pointer(pCur)).FnBuf = 0
 29286  	(*amatch_cursor)(unsafe.Pointer(pCur)).FpCost = uintptr(0)
 29287  	(*amatch_cursor)(unsafe.Pointer(pCur)).FpWord = uintptr(0)
 29288  	(*amatch_cursor)(unsafe.Pointer(pCur)).FpCurrent = uintptr(0)
 29289  	(*amatch_cursor)(unsafe.Pointer(pCur)).FrLimit = 1000000
 29290  	(*amatch_cursor)(unsafe.Pointer(pCur)).FiLang = 0
 29291  	(*amatch_cursor)(unsafe.Pointer(pCur)).FnWord = 0
 29292  }
 29293  
 29294  func amatchClose(tls *libc.TLS, cur uintptr) int32 {
 29295  	var pCur uintptr = cur
 29296  	amatchClearCursor(tls, pCur)
 29297  	(*amatch_vtab)(unsafe.Pointer((*amatch_cursor)(unsafe.Pointer(pCur)).FpVtab)).FnCursor--
 29298  	sqlite3.Xsqlite3_free(tls, pCur)
 29299  	return SQLITE_OK
 29300  }
 29301  
 29302  func amatchEncodeInt(tls *libc.TLS, x int32, z uintptr) {
 29303  	*(*int8)(unsafe.Pointer(z)) = a[x>>18&0x3f]
 29304  	*(*int8)(unsafe.Pointer(z + 1)) = a[x>>12&0x3f]
 29305  	*(*int8)(unsafe.Pointer(z + 2)) = a[x>>6&0x3f]
 29306  	*(*int8)(unsafe.Pointer(z + 3)) = a[x&0x3f]
 29307  }
 29308  
 29309  var a = *(*[65]int8)(unsafe.Pointer(ts + 3666))
 29310  
 29311  func amatchWriteCost(tls *libc.TLS, pWord uintptr) {
 29312  	amatchEncodeInt(tls, (*amatch_word)(unsafe.Pointer(pWord)).FrCost, pWord+112)
 29313  	amatchEncodeInt(tls, (*amatch_word)(unsafe.Pointer(pWord)).FiSeq, pWord+112+uintptr(4))
 29314  	*(*int8)(unsafe.Pointer(pWord + 112 + 8)) = int8(0)
 29315  }
 29316  
 29317  func amatchStrcpy(tls *libc.TLS, dest uintptr, src uintptr) {
 29318  	for int32(libc.AssignPtrInt8(libc.PostIncUintptr(&dest, 1), *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&src, 1))))) != 0 {
 29319  	}
 29320  }
 29321  
 29322  func amatchStrcat(tls *libc.TLS, dest uintptr, src uintptr) {
 29323  	for *(*int8)(unsafe.Pointer(dest)) != 0 {
 29324  		dest++
 29325  	}
 29326  	amatchStrcpy(tls, dest, src)
 29327  }
 29328  
 29329  func amatchAddWord(tls *libc.TLS, pCur uintptr, rCost amatch_cost, nMatch int32, zWordBase uintptr, zWordTail uintptr) {
 29330  	bp := tls.Alloc(4)
 29331  	defer tls.Free(4)
 29332  
 29333  	var pWord uintptr
 29334  	var pNode uintptr
 29335  	var pOther uintptr
 29336  	_ = pOther
 29337  	var nBase int32
 29338  	var nTail int32
 29339  
 29340  	if rCost > (*amatch_cursor)(unsafe.Pointer(pCur)).FrLimit {
 29341  		return
 29342  	}
 29343  	nBase = int32(libc.Xstrlen(tls, zWordBase))
 29344  	nTail = int32(libc.Xstrlen(tls, zWordTail))
 29345  	if nBase+nTail+3 > (*amatch_cursor)(unsafe.Pointer(pCur)).FnBuf {
 29346  		(*amatch_cursor)(unsafe.Pointer(pCur)).FnBuf = nBase + nTail + 100
 29347  		(*amatch_cursor)(unsafe.Pointer(pCur)).FzBuf = sqlite3.Xsqlite3_realloc(tls, (*amatch_cursor)(unsafe.Pointer(pCur)).FzBuf, (*amatch_cursor)(unsafe.Pointer(pCur)).FnBuf)
 29348  		if (*amatch_cursor)(unsafe.Pointer(pCur)).FzBuf == uintptr(0) {
 29349  			(*amatch_cursor)(unsafe.Pointer(pCur)).FnBuf = 0
 29350  			return
 29351  		}
 29352  	}
 29353  	amatchEncodeInt(tls, nMatch, bp)
 29354  	libc.Xmemcpy(tls, (*amatch_cursor)(unsafe.Pointer(pCur)).FzBuf, bp+uintptr(2), uint64(2))
 29355  	libc.Xmemcpy(tls, (*amatch_cursor)(unsafe.Pointer(pCur)).FzBuf+uintptr(2), zWordBase, uint64(nBase))
 29356  	libc.Xmemcpy(tls, (*amatch_cursor)(unsafe.Pointer(pCur)).FzBuf+uintptr(2)+uintptr(nBase), zWordTail, uint64(nTail+1))
 29357  	pNode = amatchAvlSearch(tls, (*amatch_cursor)(unsafe.Pointer(pCur)).FpWord, (*amatch_cursor)(unsafe.Pointer(pCur)).FzBuf)
 29358  	if pNode != 0 {
 29359  		pWord = (*amatch_avl)(unsafe.Pointer(pNode)).FpWord
 29360  		if (*amatch_word)(unsafe.Pointer(pWord)).FrCost > rCost {
 29361  			amatchAvlRemove(tls, pCur+80, pWord+8)
 29362  			(*amatch_word)(unsafe.Pointer(pWord)).FrCost = rCost
 29363  			amatchWriteCost(tls, pWord)
 29364  			pOther = amatchAvlInsert(tls, pCur+80, pWord+8)
 29365  			_ = pOther
 29366  		}
 29367  		return
 29368  	}
 29369  	pWord = sqlite3.Xsqlite3_malloc64(tls, uint64(unsafe.Sizeof(amatch_word{}))+uint64(nBase)+uint64(nTail)-uint64(1))
 29370  	if pWord == uintptr(0) {
 29371  		return
 29372  	}
 29373  	libc.Xmemset(tls, pWord, 0, uint64(unsafe.Sizeof(amatch_word{})))
 29374  	(*amatch_word)(unsafe.Pointer(pWord)).FrCost = rCost
 29375  	(*amatch_word)(unsafe.Pointer(pWord)).FiSeq = libc.PostIncInt32(&(*amatch_cursor)(unsafe.Pointer(pCur)).FnWord, 1)
 29376  	amatchWriteCost(tls, pWord)
 29377  	(*amatch_word)(unsafe.Pointer(pWord)).FnMatch = int16(nMatch)
 29378  	(*amatch_word)(unsafe.Pointer(pWord)).FpNext = (*amatch_cursor)(unsafe.Pointer(pCur)).FpAllWords
 29379  	(*amatch_cursor)(unsafe.Pointer(pCur)).FpAllWords = pWord
 29380  	(*amatch_word)(unsafe.Pointer(pWord)).FsCost.FzKey = pWord + 112
 29381  	(*amatch_word)(unsafe.Pointer(pWord)).FsCost.FpWord = pWord
 29382  	pOther = amatchAvlInsert(tls, pCur+80, pWord+8)
 29383  	_ = pOther
 29384  	(*amatch_word)(unsafe.Pointer(pWord)).FsWord.FzKey = pWord + 124
 29385  	(*amatch_word)(unsafe.Pointer(pWord)).FsWord.FpWord = pWord
 29386  	amatchStrcpy(tls, pWord+124, (*amatch_cursor)(unsafe.Pointer(pCur)).FzBuf)
 29387  	pOther = amatchAvlInsert(tls, pCur+88, pWord+56)
 29388  	_ = pOther
 29389  }
 29390  
 29391  func amatchNext(tls *libc.TLS, cur uintptr) int32 {
 29392  	bp := tls.Alloc(80)
 29393  	defer tls.Free(80)
 29394  
 29395  	var pCur uintptr = cur
 29396  	var pWord uintptr = uintptr(0)
 29397  	var pNode uintptr
 29398  	var isMatch int32 = 0
 29399  	var p uintptr = (*amatch_cursor)(unsafe.Pointer(pCur)).FpVtab
 29400  	var nWord int32
 29401  	var rc int32
 29402  	var i int32
 29403  	var zW uintptr
 29404  	var pRule uintptr
 29405  	var zBuf uintptr = uintptr(0)
 29406  	var nBuf int8 = int8(0)
 29407  
 29408  	var nNextIn int32
 29409  
 29410  	if (*amatch_vtab)(unsafe.Pointer(p)).FpVCheck == uintptr(0) {
 29411  		var zSql uintptr
 29412  		if (*amatch_vtab)(unsafe.Pointer(p)).FzVocabLang != 0 && *(*int8)(unsafe.Pointer((*amatch_vtab)(unsafe.Pointer(p)).FzVocabLang)) != 0 {
 29413  			zSql = sqlite3.Xsqlite3_mprintf(tls,
 29414  				ts+3731,
 29415  				libc.VaList(bp, ts+3753,
 29416  					(*amatch_vtab)(unsafe.Pointer(p)).FzVocabWord, (*amatch_vtab)(unsafe.Pointer(p)).FzVocabTab,
 29417  					(*amatch_vtab)(unsafe.Pointer(p)).FzVocabWord, (*amatch_vtab)(unsafe.Pointer(p)).FzVocabLang))
 29418  		} else {
 29419  			zSql = sqlite3.Xsqlite3_mprintf(tls,
 29420  				ts+3792,
 29421  				libc.VaList(bp+40, (*amatch_vtab)(unsafe.Pointer(p)).FzVocabWord, (*amatch_vtab)(unsafe.Pointer(p)).FzVocabTab,
 29422  					(*amatch_vtab)(unsafe.Pointer(p)).FzVocabWord))
 29423  		}
 29424  		rc = sqlite3.Xsqlite3_prepare_v2(tls, (*amatch_vtab)(unsafe.Pointer(p)).Fdb, zSql, -1, p+112, uintptr(0))
 29425  		sqlite3.Xsqlite3_free(tls, zSql)
 29426  		if rc != 0 {
 29427  			return rc
 29428  		}
 29429  	}
 29430  	sqlite3.Xsqlite3_bind_int(tls, (*amatch_vtab)(unsafe.Pointer(p)).FpVCheck, 2, (*amatch_cursor)(unsafe.Pointer(pCur)).FiLang)
 29431  
 29432  	for __ccgo := true; __ccgo; __ccgo = !(isMatch != 0) {
 29433  		pNode = amatchAvlFirst(tls, (*amatch_cursor)(unsafe.Pointer(pCur)).FpCost)
 29434  		if pNode == uintptr(0) {
 29435  			pWord = uintptr(0)
 29436  			break
 29437  		}
 29438  		pWord = (*amatch_avl)(unsafe.Pointer(pNode)).FpWord
 29439  		amatchAvlRemove(tls, pCur+80, pWord+8)
 29440  
 29441  		nWord = int32(libc.Xstrlen(tls, pWord+124+uintptr(2)))
 29442  		if nWord+20 > int32(nBuf) {
 29443  			nBuf = int8(nWord + 100)
 29444  			zBuf = sqlite3.Xsqlite3_realloc(tls, zBuf, int32(nBuf))
 29445  			if zBuf == uintptr(0) {
 29446  				return SQLITE_NOMEM
 29447  			}
 29448  		}
 29449  		amatchStrcpy(tls, zBuf, pWord+124+uintptr(2))
 29450  		*(*int8)(unsafe.Pointer(bp + 64)) = int8(0)
 29451  		*(*int8)(unsafe.Pointer(bp + 72)) = *(*int8)(unsafe.Pointer((*amatch_cursor)(unsafe.Pointer(pCur)).FzInput + uintptr((*amatch_word)(unsafe.Pointer(pWord)).FnMatch)))
 29452  		if *(*int8)(unsafe.Pointer(bp + 72)) != 0 {
 29453  			for i = 1; i <= 4 && int32(*(*int8)(unsafe.Pointer((*amatch_cursor)(unsafe.Pointer(pCur)).FzInput + uintptr(int32((*amatch_word)(unsafe.Pointer(pWord)).FnMatch)+i))))&0xc0 == 0x80; i++ {
 29454  				*(*int8)(unsafe.Pointer(bp + 72 + uintptr(i))) = *(*int8)(unsafe.Pointer((*amatch_cursor)(unsafe.Pointer(pCur)).FzInput + uintptr(int32((*amatch_word)(unsafe.Pointer(pWord)).FnMatch)+i)))
 29455  			}
 29456  			*(*int8)(unsafe.Pointer(bp + 72 + uintptr(i))) = int8(0)
 29457  			nNextIn = i
 29458  		} else {
 29459  			nNextIn = 0
 29460  		}
 29461  
 29462  		if *(*int8)(unsafe.Pointer(bp + 72)) != 0 && int32(*(*int8)(unsafe.Pointer(bp + 72))) != '*' {
 29463  			sqlite3.Xsqlite3_reset(tls, (*amatch_vtab)(unsafe.Pointer(p)).FpVCheck)
 29464  			amatchStrcat(tls, zBuf, bp+72)
 29465  			sqlite3.Xsqlite3_bind_text(tls, (*amatch_vtab)(unsafe.Pointer(p)).FpVCheck, 1, zBuf, nWord+nNextIn, uintptr(0))
 29466  			rc = sqlite3.Xsqlite3_step(tls, (*amatch_vtab)(unsafe.Pointer(p)).FpVCheck)
 29467  			if rc == SQLITE_ROW {
 29468  				zW = sqlite3.Xsqlite3_column_text(tls, (*amatch_vtab)(unsafe.Pointer(p)).FpVCheck, 0)
 29469  				if libc.Xstrncmp(tls, zBuf, zW, uint64(nWord+nNextIn)) == 0 {
 29470  					amatchAddWord(tls, pCur, (*amatch_word)(unsafe.Pointer(pWord)).FrCost, int32((*amatch_word)(unsafe.Pointer(pWord)).FnMatch)+nNextIn, zBuf, ts+584)
 29471  				}
 29472  			}
 29473  			*(*int8)(unsafe.Pointer(zBuf + uintptr(nWord))) = int8(0)
 29474  		}
 29475  
 29476  		for 1 != 0 {
 29477  			amatchStrcpy(tls, zBuf+uintptr(nWord), bp+64)
 29478  			sqlite3.Xsqlite3_reset(tls, (*amatch_vtab)(unsafe.Pointer(p)).FpVCheck)
 29479  			sqlite3.Xsqlite3_bind_text(tls, (*amatch_vtab)(unsafe.Pointer(p)).FpVCheck, 1, zBuf, -1, libc.UintptrFromInt32(-1))
 29480  			rc = sqlite3.Xsqlite3_step(tls, (*amatch_vtab)(unsafe.Pointer(p)).FpVCheck)
 29481  			if rc != SQLITE_ROW {
 29482  				break
 29483  			}
 29484  			zW = sqlite3.Xsqlite3_column_text(tls, (*amatch_vtab)(unsafe.Pointer(p)).FpVCheck, 0)
 29485  			amatchStrcpy(tls, zBuf+uintptr(nWord), bp+64)
 29486  			if libc.Xstrncmp(tls, zW, zBuf, uint64(nWord)) != 0 {
 29487  				break
 29488  			}
 29489  			if int32(*(*int8)(unsafe.Pointer(bp + 72))) == '*' && int32(*(*int8)(unsafe.Pointer(bp + 72 + 1))) == 0 ||
 29490  				int32(*(*int8)(unsafe.Pointer(bp + 72))) == 0 && int32(*(*int8)(unsafe.Pointer(zW + uintptr(nWord)))) == 0 {
 29491  				isMatch = 1
 29492  				*(*int8)(unsafe.Pointer(bp + 72)) = int8(0)
 29493  				nNextIn = 0
 29494  				break
 29495  			}
 29496  			*(*int8)(unsafe.Pointer(bp + 64)) = *(*int8)(unsafe.Pointer(zW + uintptr(nWord)))
 29497  			for i = 1; i <= 4 && int32(*(*int8)(unsafe.Pointer(zW + uintptr(nWord+i))))&0xc0 == 0x80; i++ {
 29498  				*(*int8)(unsafe.Pointer(bp + 64 + uintptr(i))) = *(*int8)(unsafe.Pointer(zW + uintptr(nWord+i)))
 29499  			}
 29500  			*(*int8)(unsafe.Pointer(bp + 64 + uintptr(i))) = int8(0)
 29501  			*(*int8)(unsafe.Pointer(zBuf + uintptr(nWord))) = int8(0)
 29502  			if (*amatch_vtab)(unsafe.Pointer(p)).FrIns > 0 {
 29503  				amatchAddWord(tls, pCur, (*amatch_word)(unsafe.Pointer(pWord)).FrCost+(*amatch_vtab)(unsafe.Pointer(p)).FrIns, int32((*amatch_word)(unsafe.Pointer(pWord)).FnMatch),
 29504  					zBuf, bp+64)
 29505  			}
 29506  			if (*amatch_vtab)(unsafe.Pointer(p)).FrSub > 0 {
 29507  				amatchAddWord(tls, pCur, (*amatch_word)(unsafe.Pointer(pWord)).FrCost+(*amatch_vtab)(unsafe.Pointer(p)).FrSub, int32((*amatch_word)(unsafe.Pointer(pWord)).FnMatch)+nNextIn,
 29508  					zBuf, bp+64)
 29509  			}
 29510  			if (*amatch_vtab)(unsafe.Pointer(p)).FrIns < 0 && (*amatch_vtab)(unsafe.Pointer(p)).FrSub < 0 {
 29511  				break
 29512  			}
 29513  			*(*int8)(unsafe.Pointer(bp + 64 + uintptr(i-1)))++
 29514  		}
 29515  		sqlite3.Xsqlite3_reset(tls, (*amatch_vtab)(unsafe.Pointer(p)).FpVCheck)
 29516  
 29517  		if (*amatch_vtab)(unsafe.Pointer(p)).FrDel > 0 {
 29518  			*(*int8)(unsafe.Pointer(zBuf + uintptr(nWord))) = int8(0)
 29519  			amatchAddWord(tls, pCur, (*amatch_word)(unsafe.Pointer(pWord)).FrCost+(*amatch_vtab)(unsafe.Pointer(p)).FrDel, int32((*amatch_word)(unsafe.Pointer(pWord)).FnMatch)+nNextIn,
 29520  				zBuf, ts+584)
 29521  		}
 29522  
 29523  		for pRule = (*amatch_vtab)(unsafe.Pointer(p)).FpRule; pRule != 0; pRule = (*amatch_rule)(unsafe.Pointer(pRule)).FpNext {
 29524  			if (*amatch_rule)(unsafe.Pointer(pRule)).FiLang != (*amatch_cursor)(unsafe.Pointer(pCur)).FiLang {
 29525  				continue
 29526  			}
 29527  			if libc.Xstrncmp(tls, (*amatch_rule)(unsafe.Pointer(pRule)).FzFrom, (*amatch_cursor)(unsafe.Pointer(pCur)).FzInput+uintptr((*amatch_word)(unsafe.Pointer(pWord)).FnMatch), uint64((*amatch_rule)(unsafe.Pointer(pRule)).FnFrom)) == 0 {
 29528  				amatchAddWord(tls, pCur, (*amatch_word)(unsafe.Pointer(pWord)).FrCost+(*amatch_rule)(unsafe.Pointer(pRule)).FrCost,
 29529  					int32((*amatch_word)(unsafe.Pointer(pWord)).FnMatch)+int32((*amatch_rule)(unsafe.Pointer(pRule)).FnFrom), pWord+124+uintptr(2), pRule+26)
 29530  			}
 29531  		}
 29532  	}
 29533  	(*amatch_cursor)(unsafe.Pointer(pCur)).FpCurrent = pWord
 29534  	sqlite3.Xsqlite3_free(tls, zBuf)
 29535  	return SQLITE_OK
 29536  }
 29537  
 29538  func amatchFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 {
 29539  	bp := tls.Alloc(8)
 29540  	defer tls.Free(8)
 29541  
 29542  	var pCur uintptr = pVtabCursor
 29543  	var zWord uintptr = ts + 3840
 29544  	var idx int32
 29545  
 29546  	amatchClearCursor(tls, pCur)
 29547  	idx = 0
 29548  	if idxNum&1 != 0 {
 29549  		zWord = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv)))
 29550  		idx++
 29551  	}
 29552  	if idxNum&2 != 0 {
 29553  		(*amatch_cursor)(unsafe.Pointer(pCur)).FrLimit = sqlite3.Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(idx)*8)))
 29554  		idx++
 29555  	}
 29556  	if idxNum&4 != 0 {
 29557  		(*amatch_cursor)(unsafe.Pointer(pCur)).FiLang = sqlite3.Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(idx)*8)))
 29558  		idx++
 29559  	}
 29560  	(*amatch_cursor)(unsafe.Pointer(pCur)).FzInput = sqlite3.Xsqlite3_mprintf(tls, ts, libc.VaList(bp, zWord))
 29561  	if (*amatch_cursor)(unsafe.Pointer(pCur)).FzInput == uintptr(0) {
 29562  		return SQLITE_NOMEM
 29563  	}
 29564  	amatchAddWord(tls, pCur, 0, 0, ts+584, ts+584)
 29565  	amatchNext(tls, pVtabCursor)
 29566  
 29567  	return SQLITE_OK
 29568  }
 29569  
 29570  func amatchColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 {
 29571  	var pCur uintptr = cur
 29572  	switch i {
 29573  	case AMATCH_COL_WORD:
 29574  		{
 29575  			sqlite3.Xsqlite3_result_text(tls, ctx, (*amatch_cursor)(unsafe.Pointer(pCur)).FpCurrent+124+uintptr(2), -1, uintptr(0))
 29576  			break
 29577  
 29578  		}
 29579  	case AMATCH_COL_DISTANCE:
 29580  		{
 29581  			sqlite3.Xsqlite3_result_int(tls, ctx, (*amatch_word)(unsafe.Pointer((*amatch_cursor)(unsafe.Pointer(pCur)).FpCurrent)).FrCost)
 29582  			break
 29583  
 29584  		}
 29585  	case AMATCH_COL_LANGUAGE:
 29586  		{
 29587  			sqlite3.Xsqlite3_result_int(tls, ctx, (*amatch_cursor)(unsafe.Pointer(pCur)).FiLang)
 29588  			break
 29589  
 29590  		}
 29591  	case AMATCH_COL_NWORD:
 29592  		{
 29593  			sqlite3.Xsqlite3_result_int(tls, ctx, (*amatch_cursor)(unsafe.Pointer(pCur)).FnWord)
 29594  			break
 29595  
 29596  		}
 29597  	default:
 29598  		{
 29599  			sqlite3.Xsqlite3_result_null(tls, ctx)
 29600  			break
 29601  
 29602  		}
 29603  	}
 29604  	return SQLITE_OK
 29605  }
 29606  
 29607  func amatchRowid(tls *libc.TLS, cur uintptr, pRowid uintptr) int32 {
 29608  	var pCur uintptr = cur
 29609  	*(*sqlite_int64)(unsafe.Pointer(pRowid)) = (*amatch_cursor)(unsafe.Pointer(pCur)).FiRowid
 29610  	return SQLITE_OK
 29611  }
 29612  
 29613  func amatchEof(tls *libc.TLS, cur uintptr) int32 {
 29614  	var pCur uintptr = cur
 29615  	return libc.Bool32((*amatch_cursor)(unsafe.Pointer(pCur)).FpCurrent == uintptr(0))
 29616  }
 29617  
 29618  func amatchBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 {
 29619  	var iPlan int32 = 0
 29620  	var iDistTerm int32 = -1
 29621  	var iLangTerm int32 = -1
 29622  	var i int32
 29623  	var pConstraint uintptr
 29624  
 29625  	_ = tab
 29626  	pConstraint = (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraint
 29627  	i = 0
 29628  __1:
 29629  	if !(i < (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint) {
 29630  		goto __3
 29631  	}
 29632  	{
 29633  		if int32((*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fusable) == 0 {
 29634  			goto __2
 29635  		}
 29636  		if iPlan&1 == 0 &&
 29637  			(*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn == 0 &&
 29638  			int32((*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fop) == SQLITE_INDEX_CONSTRAINT_MATCH {
 29639  			iPlan = iPlan | 1
 29640  			(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(i)*8)).FargvIndex = 1
 29641  			(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(i)*8)).Fomit = uint8(1)
 29642  		}
 29643  		if iPlan&2 == 0 &&
 29644  			(*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn == 1 &&
 29645  			(int32((*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fop) == SQLITE_INDEX_CONSTRAINT_LT ||
 29646  				int32((*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fop) == SQLITE_INDEX_CONSTRAINT_LE) {
 29647  			iPlan = iPlan | 2
 29648  			iDistTerm = i
 29649  		}
 29650  		if iPlan&4 == 0 &&
 29651  			(*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn == 2 &&
 29652  			int32((*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fop) == SQLITE_INDEX_CONSTRAINT_EQ {
 29653  			iPlan = iPlan | 4
 29654  			(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(i)*8)).Fomit = uint8(1)
 29655  			iLangTerm = i
 29656  		}
 29657  
 29658  	}
 29659  	goto __2
 29660  __2:
 29661  	i++
 29662  	pConstraint += 12
 29663  	goto __1
 29664  	goto __3
 29665  __3:
 29666  	;
 29667  	if iPlan&2 != 0 {
 29668  		(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iDistTerm)*8)).FargvIndex = 1 + libc.Bool32(iPlan&1 != 0)
 29669  	}
 29670  	if iPlan&4 != 0 {
 29671  		var idx int32 = 1
 29672  		if iPlan&1 != 0 {
 29673  			idx++
 29674  		}
 29675  		if iPlan&2 != 0 {
 29676  			idx++
 29677  		}
 29678  		(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iLangTerm)*8)).FargvIndex = idx
 29679  	}
 29680  	(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = iPlan
 29681  	if (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnOrderBy == 1 &&
 29682  		(*sqlite3_index_orderby)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaOrderBy)).FiColumn == 1 &&
 29683  		int32((*sqlite3_index_orderby)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaOrderBy)).Fdesc) == 0 {
 29684  		(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).ForderByConsumed = 1
 29685  	}
 29686  	(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = float64(10000)
 29687  
 29688  	return SQLITE_OK
 29689  }
 29690  
 29691  func amatchUpdate(tls *libc.TLS, pVTab uintptr, argc int32, argv uintptr, pRowid uintptr) int32 {
 29692  	bp := tls.Alloc(24)
 29693  	defer tls.Free(24)
 29694  
 29695  	var p uintptr = pVTab
 29696  	var zCmd uintptr
 29697  	_ = pRowid
 29698  	if argc == 1 {
 29699  		(*sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+3842,
 29700  			libc.VaList(bp, (*amatch_vtab)(unsafe.Pointer(p)).FzSelf))
 29701  		return SQLITE_ERROR
 29702  	}
 29703  	if sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) != SQLITE_NULL {
 29704  		(*sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+3872,
 29705  			libc.VaList(bp+8, (*amatch_vtab)(unsafe.Pointer(p)).FzSelf))
 29706  		return SQLITE_ERROR
 29707  	}
 29708  	if sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8))) != SQLITE_NULL ||
 29709  		sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8))) != SQLITE_NULL ||
 29710  		sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + 4*8))) != SQLITE_NULL {
 29711  		(*sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = sqlite3.Xsqlite3_mprintf(tls,
 29712  			ts+3900, libc.VaList(bp+16, (*amatch_vtab)(unsafe.Pointer(p)).FzSelf))
 29713  		return SQLITE_ERROR
 29714  	}
 29715  	zCmd = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 5*8)))
 29716  	if zCmd == uintptr(0) {
 29717  		return SQLITE_OK
 29718  	}
 29719  
 29720  	return SQLITE_OK
 29721  }
 29722  
 29723  var amatchModule = sqlite3_module{
 29724  	FxCreate:     0,
 29725  	FxConnect:    0,
 29726  	FxBestIndex:  0,
 29727  	FxDisconnect: 0,
 29728  	FxDestroy:    0,
 29729  	FxOpen:       0,
 29730  	FxClose:      0,
 29731  	FxFilter:     0,
 29732  	FxNext:       0,
 29733  	FxEof:        0,
 29734  	FxColumn:     0,
 29735  	FxRowid:      0,
 29736  	FxUpdate:     0,
 29737  }
 29738  
 29739  func sqlite3_amatch_init(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi uintptr) int32 {
 29740  	var rc int32 = SQLITE_OK
 29741  	_ = pApi
 29742  
 29743  	_ = pzErrMsg
 29744  	rc = sqlite3.Xsqlite3_create_module(tls, db, ts+3949, uintptr(unsafe.Pointer(&amatchModule)), uintptr(0))
 29745  	return rc
 29746  }
 29747  
 29748  var azType = [4]uintptr{ts + 3967, ts + 3973, ts + 2562, ts + 3979}
 29749  
 29750  type carray_bind1 = struct {
 29751  	FaData  uintptr
 29752  	FnData  int32
 29753  	FmFlags int32
 29754  	FxDel   uintptr
 29755  }
 29756  
 29757  type carray_bind = carray_bind1
 29758  
 29759  type carray_cursor1 = struct {
 29760  	Fbase        sqlite3_vtab_cursor
 29761  	FiRowid      sqlite3_int64
 29762  	FpPtr        uintptr
 29763  	FiCnt        sqlite3_int64
 29764  	FeType       uint8
 29765  	F__ccgo_pad1 [7]byte
 29766  }
 29767  
 29768  type carray_cursor = carray_cursor1
 29769  
 29770  func carrayConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 {
 29771  	var pNew uintptr
 29772  	var rc int32
 29773  
 29774  	rc = sqlite3.Xsqlite3_declare_vtab(tls, db,
 29775  		ts+3985)
 29776  	if rc == SQLITE_OK {
 29777  		pNew = libc.AssignPtrUintptr(ppVtab, sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(sqlite3_vtab{}))))
 29778  		if pNew == uintptr(0) {
 29779  			return SQLITE_NOMEM
 29780  		}
 29781  		libc.Xmemset(tls, pNew, 0, uint64(unsafe.Sizeof(sqlite3_vtab{})))
 29782  	}
 29783  	return rc
 29784  }
 29785  
 29786  func carrayDisconnect(tls *libc.TLS, pVtab uintptr) int32 {
 29787  	sqlite3.Xsqlite3_free(tls, pVtab)
 29788  	return SQLITE_OK
 29789  }
 29790  
 29791  func carrayOpen(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 {
 29792  	var pCur uintptr
 29793  	pCur = sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(carray_cursor{})))
 29794  	if pCur == uintptr(0) {
 29795  		return SQLITE_NOMEM
 29796  	}
 29797  	libc.Xmemset(tls, pCur, 0, uint64(unsafe.Sizeof(carray_cursor{})))
 29798  	*(*uintptr)(unsafe.Pointer(ppCursor)) = pCur
 29799  	return SQLITE_OK
 29800  }
 29801  
 29802  func carrayClose(tls *libc.TLS, cur uintptr) int32 {
 29803  	sqlite3.Xsqlite3_free(tls, cur)
 29804  	return SQLITE_OK
 29805  }
 29806  
 29807  func carrayNext(tls *libc.TLS, cur uintptr) int32 {
 29808  	var pCur uintptr = cur
 29809  	(*carray_cursor)(unsafe.Pointer(pCur)).FiRowid++
 29810  	return SQLITE_OK
 29811  }
 29812  
 29813  func carrayColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 {
 29814  	var pCur uintptr = cur
 29815  	var x sqlite3_int64 = int64(0)
 29816  	switch i {
 29817  	case CARRAY_COLUMN_POINTER:
 29818  		return SQLITE_OK
 29819  	case CARRAY_COLUMN_COUNT:
 29820  		x = (*carray_cursor)(unsafe.Pointer(pCur)).FiCnt
 29821  		break
 29822  	case CARRAY_COLUMN_CTYPE:
 29823  		{
 29824  			sqlite3.Xsqlite3_result_text(tls, ctx, azType[(*carray_cursor)(unsafe.Pointer(pCur)).FeType], -1, uintptr(0))
 29825  			return SQLITE_OK
 29826  
 29827  		}
 29828  	default:
 29829  		{
 29830  			switch int32((*carray_cursor)(unsafe.Pointer(pCur)).FeType) {
 29831  			case CARRAY_INT32:
 29832  				{
 29833  					var p uintptr = (*carray_cursor)(unsafe.Pointer(pCur)).FpPtr
 29834  					sqlite3.Xsqlite3_result_int(tls, ctx, *(*int32)(unsafe.Pointer(p + uintptr((*carray_cursor)(unsafe.Pointer(pCur)).FiRowid-int64(1))*4)))
 29835  					return SQLITE_OK
 29836  
 29837  				}
 29838  			case CARRAY_INT64:
 29839  				{
 29840  					var p uintptr = (*carray_cursor)(unsafe.Pointer(pCur)).FpPtr
 29841  					sqlite3.Xsqlite3_result_int64(tls, ctx, *(*sqlite3_int64)(unsafe.Pointer(p + uintptr((*carray_cursor)(unsafe.Pointer(pCur)).FiRowid-int64(1))*8)))
 29842  					return SQLITE_OK
 29843  
 29844  				}
 29845  			case CARRAY_DOUBLE:
 29846  				{
 29847  					var p uintptr = (*carray_cursor)(unsafe.Pointer(pCur)).FpPtr
 29848  					sqlite3.Xsqlite3_result_double(tls, ctx, *(*float64)(unsafe.Pointer(p + uintptr((*carray_cursor)(unsafe.Pointer(pCur)).FiRowid-int64(1))*8)))
 29849  					return SQLITE_OK
 29850  
 29851  				}
 29852  			case CARRAY_TEXT:
 29853  				{
 29854  					var p uintptr = (*carray_cursor)(unsafe.Pointer(pCur)).FpPtr
 29855  					sqlite3.Xsqlite3_result_text(tls, ctx, *(*uintptr)(unsafe.Pointer(p + uintptr((*carray_cursor)(unsafe.Pointer(pCur)).FiRowid-int64(1))*8)), -1, libc.UintptrFromInt32(-1))
 29856  					return SQLITE_OK
 29857  
 29858  				}
 29859  			}
 29860  
 29861  		}
 29862  	}
 29863  	sqlite3.Xsqlite3_result_int64(tls, ctx, x)
 29864  	return SQLITE_OK
 29865  }
 29866  
 29867  func carrayRowid(tls *libc.TLS, cur uintptr, pRowid uintptr) int32 {
 29868  	var pCur uintptr = cur
 29869  	*(*sqlite_int64)(unsafe.Pointer(pRowid)) = (*carray_cursor)(unsafe.Pointer(pCur)).FiRowid
 29870  	return SQLITE_OK
 29871  }
 29872  
 29873  func carrayEof(tls *libc.TLS, cur uintptr) int32 {
 29874  	var pCur uintptr = cur
 29875  	return libc.Bool32((*carray_cursor)(unsafe.Pointer(pCur)).FiRowid > (*carray_cursor)(unsafe.Pointer(pCur)).FiCnt)
 29876  }
 29877  
 29878  func carrayFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 {
 29879  	bp := tls.Alloc(8)
 29880  	defer tls.Free(8)
 29881  
 29882  	var pCur uintptr = pVtabCursor
 29883  	(*carray_cursor)(unsafe.Pointer(pCur)).FpPtr = uintptr(0)
 29884  	(*carray_cursor)(unsafe.Pointer(pCur)).FiCnt = int64(0)
 29885  	switch idxNum {
 29886  	case 1:
 29887  		{
 29888  			var pBind uintptr = sqlite3.Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(argv)), ts+4048)
 29889  			if pBind == uintptr(0) {
 29890  				break
 29891  			}
 29892  			(*carray_cursor)(unsafe.Pointer(pCur)).FpPtr = (*carray_bind)(unsafe.Pointer(pBind)).FaData
 29893  			(*carray_cursor)(unsafe.Pointer(pCur)).FiCnt = sqlite3_int64((*carray_bind)(unsafe.Pointer(pBind)).FnData)
 29894  			(*carray_cursor)(unsafe.Pointer(pCur)).FeType = uint8((*carray_bind)(unsafe.Pointer(pBind)).FmFlags & 0x03)
 29895  			break
 29896  
 29897  		}
 29898  	case 2:
 29899  		fallthrough
 29900  	case 3:
 29901  		{
 29902  			(*carray_cursor)(unsafe.Pointer(pCur)).FpPtr = sqlite3.Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(argv)), ts+4060)
 29903  			(*carray_cursor)(unsafe.Pointer(pCur)).FiCnt = func() int64 {
 29904  				if (*carray_cursor)(unsafe.Pointer(pCur)).FpPtr != 0 {
 29905  					return sqlite3.Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))
 29906  				}
 29907  				return int64(0)
 29908  			}()
 29909  			if idxNum < 3 {
 29910  				(*carray_cursor)(unsafe.Pointer(pCur)).FeType = uint8(CARRAY_INT32)
 29911  			} else {
 29912  				var i uint8
 29913  				var zType uintptr = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)))
 29914  				for i = uint8(0); uint64(i) < uint64(unsafe.Sizeof(azType))/uint64(unsafe.Sizeof(uintptr(0))); i++ {
 29915  					if sqlite3.Xsqlite3_stricmp(tls, zType, azType[i]) == 0 {
 29916  						break
 29917  					}
 29918  				}
 29919  				if uint64(i) >= uint64(unsafe.Sizeof(azType))/uint64(unsafe.Sizeof(uintptr(0))) {
 29920  					(*sqlite3_vtab)(unsafe.Pointer((*sqlite3_vtab_cursor)(unsafe.Pointer(pVtabCursor)).FpVtab)).FzErrMsg = sqlite3.Xsqlite3_mprintf(tls,
 29921  						ts+4067, libc.VaList(bp, zType))
 29922  					return SQLITE_ERROR
 29923  				} else {
 29924  					(*carray_cursor)(unsafe.Pointer(pCur)).FeType = i
 29925  				}
 29926  			}
 29927  			break
 29928  
 29929  		}
 29930  	}
 29931  	(*carray_cursor)(unsafe.Pointer(pCur)).FiRowid = int64(1)
 29932  	return SQLITE_OK
 29933  }
 29934  
 29935  func carrayBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 {
 29936  	var i int32
 29937  	var ptrIdx int32 = -1
 29938  	var cntIdx int32 = -1
 29939  	var ctypeIdx int32 = -1
 29940  
 29941  	var pConstraint uintptr
 29942  	pConstraint = (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraint
 29943  	i = 0
 29944  __1:
 29945  	if !(i < (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint) {
 29946  		goto __3
 29947  	}
 29948  	{
 29949  		if int32((*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fusable) == 0 {
 29950  			goto __2
 29951  		}
 29952  		if int32((*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fop) != SQLITE_INDEX_CONSTRAINT_EQ {
 29953  			goto __2
 29954  		}
 29955  		switch (*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn {
 29956  		case CARRAY_COLUMN_POINTER:
 29957  			ptrIdx = i
 29958  			break
 29959  		case CARRAY_COLUMN_COUNT:
 29960  			cntIdx = i
 29961  			break
 29962  		case CARRAY_COLUMN_CTYPE:
 29963  			ctypeIdx = i
 29964  			break
 29965  		}
 29966  
 29967  	}
 29968  	goto __2
 29969  __2:
 29970  	i++
 29971  	pConstraint += 12
 29972  	goto __1
 29973  	goto __3
 29974  __3:
 29975  	;
 29976  	if ptrIdx >= 0 {
 29977  		(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(ptrIdx)*8)).FargvIndex = 1
 29978  		(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(ptrIdx)*8)).Fomit = uint8(1)
 29979  		(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = float64(1)
 29980  		(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(100)
 29981  		(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 1
 29982  		if cntIdx >= 0 {
 29983  			(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(cntIdx)*8)).FargvIndex = 2
 29984  			(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(cntIdx)*8)).Fomit = uint8(1)
 29985  			(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 2
 29986  			if ctypeIdx >= 0 {
 29987  				(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(ctypeIdx)*8)).FargvIndex = 3
 29988  				(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(ctypeIdx)*8)).Fomit = uint8(1)
 29989  				(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 3
 29990  			}
 29991  		}
 29992  	} else {
 29993  		(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = float64(2147483647)
 29994  		(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(2147483647)
 29995  		(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 0
 29996  	}
 29997  	return SQLITE_OK
 29998  }
 29999  
 30000  var carrayModule = sqlite3_module{
 30001  	FxConnect:    0,
 30002  	FxBestIndex:  0,
 30003  	FxDisconnect: 0,
 30004  	FxOpen:       0,
 30005  	FxClose:      0,
 30006  	FxFilter:     0,
 30007  	FxNext:       0,
 30008  	FxEof:        0,
 30009  	FxColumn:     0,
 30010  	FxRowid:      0,
 30011  }
 30012  
 30013  func carrayBindDel(tls *libc.TLS, pPtr uintptr) {
 30014  	var p uintptr = pPtr
 30015  	if (*carray_bind)(unsafe.Pointer(p)).FxDel != uintptr(0) {
 30016  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*carray_bind)(unsafe.Pointer(p)).FxDel})).f(tls, (*carray_bind)(unsafe.Pointer(p)).FaData)
 30017  	}
 30018  	sqlite3.Xsqlite3_free(tls, p)
 30019  }
 30020  
 30021  func sqlite3_carray_bind(tls *libc.TLS, pStmt uintptr, idx int32, aData uintptr, nData int32, mFlags int32, xDestroy uintptr) int32 {
 30022  	var pNew uintptr
 30023  	var i int32
 30024  	pNew = sqlite3.Xsqlite3_malloc64(tls, uint64(unsafe.Sizeof(carray_bind{})))
 30025  	if pNew == uintptr(0) {
 30026  		if xDestroy != uintptr(0) && xDestroy != libc.UintptrFromInt32(-1) {
 30027  			(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{xDestroy})).f(tls, aData)
 30028  		}
 30029  		return SQLITE_NOMEM
 30030  	}
 30031  	(*carray_bind)(unsafe.Pointer(pNew)).FnData = nData
 30032  	(*carray_bind)(unsafe.Pointer(pNew)).FmFlags = mFlags
 30033  	if xDestroy == libc.UintptrFromInt32(-1) {
 30034  		var sz sqlite3_int64 = sqlite3_int64(nData)
 30035  		switch mFlags & 0x03 {
 30036  		case CARRAY_INT32:
 30037  			sz = sz * int64(4)
 30038  			break
 30039  			fallthrough
 30040  		case CARRAY_INT64:
 30041  			sz = sz * int64(8)
 30042  			break
 30043  			fallthrough
 30044  		case CARRAY_DOUBLE:
 30045  			sz = sz * int64(8)
 30046  			break
 30047  			fallthrough
 30048  		case CARRAY_TEXT:
 30049  			sz = int64(uint64(sz) * uint64(unsafe.Sizeof(uintptr(0))))
 30050  			break
 30051  		}
 30052  		if mFlags&0x03 == CARRAY_TEXT {
 30053  			for i = 0; i < nData; i++ {
 30054  				var z uintptr = *(*uintptr)(unsafe.Pointer(aData + uintptr(i)*8))
 30055  				if z != 0 {
 30056  					sz = sqlite3_int64(size_t(sz) + (libc.Xstrlen(tls, z) + uint64(1)))
 30057  				}
 30058  			}
 30059  		}
 30060  		(*carray_bind)(unsafe.Pointer(pNew)).FaData = sqlite3.Xsqlite3_malloc64(tls, uint64(sz))
 30061  		if (*carray_bind)(unsafe.Pointer(pNew)).FaData == uintptr(0) {
 30062  			sqlite3.Xsqlite3_free(tls, pNew)
 30063  			return SQLITE_NOMEM
 30064  		}
 30065  		if mFlags&0x03 == CARRAY_TEXT {
 30066  			var az uintptr = (*carray_bind)(unsafe.Pointer(pNew)).FaData
 30067  			var z uintptr = az + uintptr(nData)*8
 30068  			for i = 0; i < nData; i++ {
 30069  				var zData uintptr = *(*uintptr)(unsafe.Pointer(aData + uintptr(i)*8))
 30070  				var n sqlite3_int64
 30071  				if zData == uintptr(0) {
 30072  					*(*uintptr)(unsafe.Pointer(az + uintptr(i)*8)) = uintptr(0)
 30073  					continue
 30074  				}
 30075  				*(*uintptr)(unsafe.Pointer(az + uintptr(i)*8)) = z
 30076  				n = sqlite3_int64(libc.Xstrlen(tls, zData))
 30077  				libc.Xmemcpy(tls, z, zData, uint64(n+int64(1)))
 30078  				z += uintptr(n + int64(1))
 30079  			}
 30080  		} else {
 30081  			libc.Xmemcpy(tls, (*carray_bind)(unsafe.Pointer(pNew)).FaData, aData, uint64(sz))
 30082  		}
 30083  		(*carray_bind)(unsafe.Pointer(pNew)).FxDel = *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sqlite3.Xsqlite3_free}))
 30084  	} else {
 30085  		(*carray_bind)(unsafe.Pointer(pNew)).FaData = aData
 30086  		(*carray_bind)(unsafe.Pointer(pNew)).FxDel = xDestroy
 30087  	}
 30088  	return sqlite3.Xsqlite3_bind_pointer(tls, pStmt, idx, pNew, ts+4048, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{carrayBindDel})))
 30089  }
 30090  
 30091  func inttoptrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 30092  	bp := tls.Alloc(20)
 30093  	defer tls.Free(20)
 30094  
 30095  	*(*sqlite3_int64)(unsafe.Pointer(bp + 8)) = sqlite3.Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv)))
 30096  	if uint64(unsafe.Sizeof(sqlite3_int64(0))) == uint64(unsafe.Sizeof(uintptr(0))) {
 30097  		libc.Xmemcpy(tls, bp, bp+8, uint64(unsafe.Sizeof(uintptr(0))))
 30098  	} else {
 30099  		*(*int32)(unsafe.Pointer(bp + 16)) = int32(*(*sqlite3_int64)(unsafe.Pointer(bp + 8)) & int64(0xffffffff))
 30100  		libc.Xmemcpy(tls, bp, bp+16, uint64(unsafe.Sizeof(uintptr(0))))
 30101  	}
 30102  	sqlite3.Xsqlite3_result_pointer(tls, context, *(*uintptr)(unsafe.Pointer(bp)), ts+4060, uintptr(0))
 30103  }
 30104  
 30105  func sqlite3_carray_init(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi uintptr) int32 {
 30106  	var rc int32 = SQLITE_OK
 30107  	_ = pApi
 30108  
 30109  	rc = sqlite3.Xsqlite3_create_module(tls, db, ts+4060, uintptr(unsafe.Pointer(&carrayModule)), uintptr(0))
 30110  	if rc == SQLITE_OK {
 30111  		rc = sqlite3.Xsqlite3_create_function(tls, db, ts+4088, 1, SQLITE_UTF8, uintptr(0),
 30112  			*(*uintptr)(unsafe.Pointer(&struct {
 30113  				f func(*libc.TLS, uintptr, int32, uintptr)
 30114  			}{inttoptrFunc})), uintptr(0), uintptr(0))
 30115  	}
 30116  	return rc
 30117  }
 30118  
 30119  type CksmVfs = sqlite3_vfs1
 30120  type CksmFile1 = struct {
 30121  	Fbase        sqlite3_file
 30122  	FzFName      uintptr
 30123  	FcomputeCksm int8
 30124  	FverifyCksm  int8
 30125  	FisWal       int8
 30126  	FinCkpt      int8
 30127  	F__ccgo_pad1 [4]byte
 30128  	FpPartner    uintptr
 30129  }
 30130  
 30131  type CksmFile = CksmFile1
 30132  
 30133  type u8 = uint8
 30134  
 30135  var cksm_vfs = sqlite3_vfs{
 30136  	FiVersion:          3,
 30137  	FmxPathname:        1024,
 30138  	FzName:             ts + 4097,
 30139  	FxOpen:             0,
 30140  	FxDelete:           0,
 30141  	FxAccess:           0,
 30142  	FxFullPathname:     0,
 30143  	FxDlOpen:           0,
 30144  	FxDlError:          0,
 30145  	FxDlSym:            0,
 30146  	FxDlClose:          0,
 30147  	FxRandomness:       0,
 30148  	FxSleep:            0,
 30149  	FxCurrentTime:      0,
 30150  	FxGetLastError:     0,
 30151  	FxCurrentTimeInt64: 0,
 30152  	FxSetSystemCall:    0,
 30153  	FxGetSystemCall:    0,
 30154  	FxNextSystemCall:   0,
 30155  }
 30156  
 30157  var cksm_io_methods = sqlite3_io_methods{
 30158  	FiVersion:               3,
 30159  	FxClose:                 0,
 30160  	FxRead:                  0,
 30161  	FxWrite:                 0,
 30162  	FxTruncate:              0,
 30163  	FxSync:                  0,
 30164  	FxFileSize:              0,
 30165  	FxLock:                  0,
 30166  	FxUnlock:                0,
 30167  	FxCheckReservedLock:     0,
 30168  	FxFileControl:           0,
 30169  	FxSectorSize:            0,
 30170  	FxDeviceCharacteristics: 0,
 30171  	FxShmMap:                0,
 30172  	FxShmLock:               0,
 30173  	FxShmBarrier:            0,
 30174  	FxShmUnmap:              0,
 30175  	FxFetch:                 0,
 30176  	FxUnfetch:               0,
 30177  }
 30178  
 30179  func cksmCompute(tls *libc.TLS, a uintptr, nByte int32, aOut uintptr) {
 30180  	bp := tls.Alloc(12)
 30181  	defer tls.Free(12)
 30182  
 30183  	*(*u32)(unsafe.Pointer(bp + 4)) = u32(0)
 30184  	*(*u32)(unsafe.Pointer(bp + 8)) = u32(0)
 30185  	var aData uintptr = a
 30186  	var aEnd uintptr = a + uintptr(nByte)
 30187  	*(*u32)(unsafe.Pointer(bp)) = u32(1)
 30188  
 30189  	if 1 == int32(*(*u8)(unsafe.Pointer(bp))) {
 30190  		for __ccgo := true; __ccgo; __ccgo = aData < aEnd {
 30191  			*(*u32)(unsafe.Pointer(bp + 4)) += *(*u32)(unsafe.Pointer(libc.PostIncUintptr(&aData, 4))) + *(*u32)(unsafe.Pointer(bp + 8))
 30192  			*(*u32)(unsafe.Pointer(bp + 8)) += *(*u32)(unsafe.Pointer(libc.PostIncUintptr(&aData, 4))) + *(*u32)(unsafe.Pointer(bp + 4))
 30193  		}
 30194  	} else {
 30195  		for __ccgo1 := true; __ccgo1; __ccgo1 = aData < aEnd {
 30196  			*(*u32)(unsafe.Pointer(bp + 4)) += *(*u32)(unsafe.Pointer(aData))&u32(0x000000FF)<<24 + *(*u32)(unsafe.Pointer(aData))&u32(0x0000FF00)<<8 + *(*u32)(unsafe.Pointer(aData))&u32(0x00FF0000)>>8 + *(*u32)(unsafe.Pointer(aData))&0xFF000000>>24 + *(*u32)(unsafe.Pointer(bp + 8))
 30197  			*(*u32)(unsafe.Pointer(bp + 8)) += *(*u32)(unsafe.Pointer(aData + 1*4))&u32(0x000000FF)<<24 + *(*u32)(unsafe.Pointer(aData + 1*4))&u32(0x0000FF00)<<8 + *(*u32)(unsafe.Pointer(aData + 1*4))&u32(0x00FF0000)>>8 + *(*u32)(unsafe.Pointer(aData + 1*4))&0xFF000000>>24 + *(*u32)(unsafe.Pointer(bp + 4))
 30198  			aData += 4 * uintptr(2)
 30199  		}
 30200  		*(*u32)(unsafe.Pointer(bp + 4)) = *(*u32)(unsafe.Pointer(bp + 4))&u32(0x000000FF)<<24 + *(*u32)(unsafe.Pointer(bp + 4))&u32(0x0000FF00)<<8 + *(*u32)(unsafe.Pointer(bp + 4))&u32(0x00FF0000)>>8 + *(*u32)(unsafe.Pointer(bp + 4))&0xFF000000>>24
 30201  		*(*u32)(unsafe.Pointer(bp + 8)) = *(*u32)(unsafe.Pointer(bp + 8))&u32(0x000000FF)<<24 + *(*u32)(unsafe.Pointer(bp + 8))&u32(0x0000FF00)<<8 + *(*u32)(unsafe.Pointer(bp + 8))&u32(0x00FF0000)>>8 + *(*u32)(unsafe.Pointer(bp + 8))&0xFF000000>>24
 30202  	}
 30203  	libc.Xmemcpy(tls, aOut, bp+4, uint64(4))
 30204  	libc.Xmemcpy(tls, aOut+uintptr(4), bp+8, uint64(4))
 30205  }
 30206  
 30207  func cksmVerifyFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 30208  	bp := tls.Alloc(8)
 30209  	defer tls.Free(8)
 30210  
 30211  	var nByte int32
 30212  	var data uintptr
 30213  
 30214  	data = sqlite3.Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(argv)))
 30215  	if data == uintptr(0) {
 30216  		return
 30217  	}
 30218  	if sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) != SQLITE_BLOB {
 30219  		return
 30220  	}
 30221  	nByte = sqlite3.Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv)))
 30222  	if nByte < 512 || nByte > 65536 || nByte&(nByte-1) != 0 {
 30223  		return
 30224  	}
 30225  	cksmCompute(tls, data, nByte-8, bp)
 30226  	sqlite3.Xsqlite3_result_int(tls, context, libc.Bool32(libc.Xmemcmp(tls, data+uintptr(nByte)-uintptr(8), bp, uint64(8)) == 0))
 30227  }
 30228  
 30229  func cksmClose(tls *libc.TLS, pFile uintptr) int32 {
 30230  	var p uintptr = pFile
 30231  	if (*CksmFile)(unsafe.Pointer(p)).FpPartner != 0 {
 30232  		(*CksmFile)(unsafe.Pointer((*CksmFile)(unsafe.Pointer(p)).FpPartner)).FpPartner = uintptr(0)
 30233  		(*CksmFile)(unsafe.Pointer(p)).FpPartner = uintptr(0)
 30234  	}
 30235  	pFile = pFile + uintptr(1)*32
 30236  	return (*struct {
 30237  		f func(*libc.TLS, uintptr) int32
 30238  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxClose})).f(tls, pFile)
 30239  }
 30240  
 30241  func cksmSetFlags(tls *libc.TLS, p uintptr, hasCorrectReserveSize int32) {
 30242  	if hasCorrectReserveSize != int32((*CksmFile)(unsafe.Pointer(p)).FcomputeCksm) {
 30243  		(*CksmFile)(unsafe.Pointer(p)).FcomputeCksm = libc.AssignPtrInt8(p+17, int8(hasCorrectReserveSize))
 30244  		if (*CksmFile)(unsafe.Pointer(p)).FpPartner != 0 {
 30245  			(*CksmFile)(unsafe.Pointer((*CksmFile)(unsafe.Pointer(p)).FpPartner)).FverifyCksm = int8(hasCorrectReserveSize)
 30246  			(*CksmFile)(unsafe.Pointer((*CksmFile)(unsafe.Pointer(p)).FpPartner)).FcomputeCksm = int8(hasCorrectReserveSize)
 30247  		}
 30248  	}
 30249  }
 30250  
 30251  func cksmRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst sqlite_int64) int32 {
 30252  	bp := tls.Alloc(24)
 30253  	defer tls.Free(24)
 30254  
 30255  	var rc int32
 30256  	var p uintptr = pFile
 30257  	pFile = pFile + uintptr(1)*32
 30258  	rc = (*struct {
 30259  		f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32
 30260  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxRead})).f(tls, pFile, zBuf, iAmt, iOfst)
 30261  	if rc == SQLITE_OK {
 30262  		if iOfst == int64(0) && iAmt >= 100 && (libc.Xmemcmp(tls, zBuf, ts+3288, uint64(16)) == 0 || libc.Xmemcmp(tls, zBuf, ts+4105, uint64(3)) == 0) {
 30263  			var d uintptr = zBuf
 30264  			var hasCorrectReserveSize int8 = int8(libc.Bool32(int32(*(*u8)(unsafe.Pointer(d + 20))) == 8))
 30265  			cksmSetFlags(tls, p, int32(hasCorrectReserveSize))
 30266  		}
 30267  
 30268  		if iAmt >= 512 &&
 30269  			(*CksmFile)(unsafe.Pointer(p)).FverifyCksm != 0 &&
 30270  			!(int32((*CksmFile)(unsafe.Pointer(p)).FinCkpt) != 0) {
 30271  			cksmCompute(tls, zBuf, iAmt-8, bp+16)
 30272  			if libc.Xmemcmp(tls, zBuf+uintptr(iAmt)-uintptr(8), bp+16, uint64(8)) != 0 {
 30273  				sqlite3.Xsqlite3_log(tls, SQLITE_IOERR|int32(32)<<8,
 30274  					ts+4109,
 30275  					libc.VaList(bp, iOfst, (*CksmFile)(unsafe.Pointer(p)).FzFName))
 30276  				rc = SQLITE_IOERR | int32(32)<<8
 30277  			}
 30278  		}
 30279  	}
 30280  	return rc
 30281  }
 30282  
 30283  func cksmWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst sqlite_int64) int32 {
 30284  	var p uintptr = pFile
 30285  	pFile = pFile + uintptr(1)*32
 30286  	if iOfst == int64(0) && iAmt >= 100 && (libc.Xmemcmp(tls, zBuf, ts+3288, uint64(16)) == 0 || libc.Xmemcmp(tls, zBuf, ts+4105, uint64(3)) == 0) {
 30287  		var d uintptr = zBuf
 30288  		var hasCorrectReserveSize int8 = int8(libc.Bool32(int32(*(*u8)(unsafe.Pointer(d + 20))) == 8))
 30289  		cksmSetFlags(tls, p, int32(hasCorrectReserveSize))
 30290  	}
 30291  
 30292  	if iAmt >= 512 &&
 30293  		(*CksmFile)(unsafe.Pointer(p)).FcomputeCksm != 0 &&
 30294  		!(int32((*CksmFile)(unsafe.Pointer(p)).FinCkpt) != 0) {
 30295  		cksmCompute(tls, zBuf, iAmt-8, zBuf+uintptr(iAmt)-uintptr(8))
 30296  	}
 30297  	return (*struct {
 30298  		f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32
 30299  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxWrite})).f(tls, pFile, zBuf, iAmt, iOfst)
 30300  }
 30301  
 30302  func cksmTruncate(tls *libc.TLS, pFile uintptr, size sqlite_int64) int32 {
 30303  	pFile = pFile + uintptr(1)*32
 30304  	return (*struct {
 30305  		f func(*libc.TLS, uintptr, sqlite3_int64) int32
 30306  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxTruncate})).f(tls, pFile, size)
 30307  }
 30308  
 30309  func cksmSync(tls *libc.TLS, pFile uintptr, flags int32) int32 {
 30310  	pFile = pFile + uintptr(1)*32
 30311  	return (*struct {
 30312  		f func(*libc.TLS, uintptr, int32) int32
 30313  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxSync})).f(tls, pFile, flags)
 30314  }
 30315  
 30316  func cksmFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 {
 30317  	var p uintptr = pFile
 30318  	pFile = p + uintptr(1)*32
 30319  	return (*struct {
 30320  		f func(*libc.TLS, uintptr, uintptr) int32
 30321  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxFileSize})).f(tls, pFile, pSize)
 30322  }
 30323  
 30324  func cksmLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 {
 30325  	pFile = pFile + uintptr(1)*32
 30326  	return (*struct {
 30327  		f func(*libc.TLS, uintptr, int32) int32
 30328  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxLock})).f(tls, pFile, eLock)
 30329  }
 30330  
 30331  func cksmUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 {
 30332  	pFile = pFile + uintptr(1)*32
 30333  	return (*struct {
 30334  		f func(*libc.TLS, uintptr, int32) int32
 30335  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxUnlock})).f(tls, pFile, eLock)
 30336  }
 30337  
 30338  func cksmCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int32 {
 30339  	pFile = pFile + uintptr(1)*32
 30340  	return (*struct {
 30341  		f func(*libc.TLS, uintptr, uintptr) int32
 30342  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxCheckReservedLock})).f(tls, pFile, pResOut)
 30343  }
 30344  
 30345  func cksmFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 {
 30346  	bp := tls.Alloc(16)
 30347  	defer tls.Free(16)
 30348  
 30349  	var rc int32
 30350  	var p uintptr = pFile
 30351  	pFile = pFile + uintptr(1)*32
 30352  	if op == SQLITE_FCNTL_PRAGMA {
 30353  		var azArg uintptr = pArg
 30354  
 30355  		if sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + 1*8)), ts+4144) == 0 {
 30356  			var zArg uintptr = *(*uintptr)(unsafe.Pointer(azArg + 2*8))
 30357  			if zArg != uintptr(0) {
 30358  				if int32(*(*int8)(unsafe.Pointer(zArg))) >= '1' && int32(*(*int8)(unsafe.Pointer(zArg))) <= '9' ||
 30359  					sqlite3.Xsqlite3_strlike(tls, ts+4166, zArg, uint32(0)) == 0 ||
 30360  					sqlite3.Xsqlite3_stricmp(tls, ts+4174, zArg) == 0 ||
 30361  					sqlite3.Xsqlite3_stricmp(tls, ts+4178, zArg) == 0 {
 30362  					(*CksmFile)(unsafe.Pointer(p)).FverifyCksm = (*CksmFile)(unsafe.Pointer(p)).FcomputeCksm
 30363  				} else {
 30364  					(*CksmFile)(unsafe.Pointer(p)).FverifyCksm = int8(0)
 30365  				}
 30366  				if (*CksmFile)(unsafe.Pointer(p)).FpPartner != 0 {
 30367  					(*CksmFile)(unsafe.Pointer((*CksmFile)(unsafe.Pointer(p)).FpPartner)).FverifyCksm = (*CksmFile)(unsafe.Pointer(p)).FverifyCksm
 30368  				}
 30369  			}
 30370  			*(*uintptr)(unsafe.Pointer(azArg)) = sqlite3.Xsqlite3_mprintf(tls, ts+1333, libc.VaList(bp, int32((*CksmFile)(unsafe.Pointer(p)).FverifyCksm)))
 30371  			return SQLITE_OK
 30372  		} else if (*CksmFile)(unsafe.Pointer(p)).FcomputeCksm != 0 && *(*uintptr)(unsafe.Pointer(azArg + 2*8)) != uintptr(0) &&
 30373  			sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + 1*8)), ts+4181) == 0 {
 30374  			return SQLITE_OK
 30375  		}
 30376  	} else if op == SQLITE_FCNTL_CKPT_START || op == SQLITE_FCNTL_CKPT_DONE {
 30377  		(*CksmFile)(unsafe.Pointer(p)).FinCkpt = int8(libc.Bool32(op == SQLITE_FCNTL_CKPT_START))
 30378  		if (*CksmFile)(unsafe.Pointer(p)).FpPartner != 0 {
 30379  			(*CksmFile)(unsafe.Pointer((*CksmFile)(unsafe.Pointer(p)).FpPartner)).FinCkpt = (*CksmFile)(unsafe.Pointer(p)).FinCkpt
 30380  		}
 30381  	} else if op == SQLITE_FCNTL_CKSM_FILE {
 30382  		var ppFile uintptr = pArg
 30383  		*(*uintptr)(unsafe.Pointer(ppFile)) = p
 30384  		return SQLITE_OK
 30385  	}
 30386  	rc = (*struct {
 30387  		f func(*libc.TLS, uintptr, int32, uintptr) int32
 30388  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxFileControl})).f(tls, pFile, op, pArg)
 30389  	if rc == SQLITE_OK && op == SQLITE_FCNTL_VFSNAME {
 30390  		*(*uintptr)(unsafe.Pointer(pArg)) = sqlite3.Xsqlite3_mprintf(tls, ts+4191, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pArg))))
 30391  	}
 30392  	return rc
 30393  }
 30394  
 30395  func cksmSectorSize(tls *libc.TLS, pFile uintptr) int32 {
 30396  	pFile = pFile + uintptr(1)*32
 30397  	return (*struct {
 30398  		f func(*libc.TLS, uintptr) int32
 30399  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxSectorSize})).f(tls, pFile)
 30400  }
 30401  
 30402  func cksmDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 {
 30403  	pFile = pFile + uintptr(1)*32
 30404  	return (*struct {
 30405  		f func(*libc.TLS, uintptr) int32
 30406  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxDeviceCharacteristics})).f(tls, pFile)
 30407  }
 30408  
 30409  func cksmShmMap(tls *libc.TLS, pFile uintptr, iPg int32, pgsz int32, bExtend int32, pp uintptr) int32 {
 30410  	pFile = pFile + uintptr(1)*32
 30411  	return (*struct {
 30412  		f func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32
 30413  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxShmMap})).f(tls, pFile, iPg, pgsz, bExtend, pp)
 30414  }
 30415  
 30416  func cksmShmLock(tls *libc.TLS, pFile uintptr, offset int32, n int32, flags int32) int32 {
 30417  	pFile = pFile + uintptr(1)*32
 30418  	return (*struct {
 30419  		f func(*libc.TLS, uintptr, int32, int32, int32) int32
 30420  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxShmLock})).f(tls, pFile, offset, n, flags)
 30421  }
 30422  
 30423  func cksmShmBarrier(tls *libc.TLS, pFile uintptr) {
 30424  	pFile = pFile + uintptr(1)*32
 30425  	(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxShmBarrier})).f(tls, pFile)
 30426  }
 30427  
 30428  func cksmShmUnmap(tls *libc.TLS, pFile uintptr, deleteFlag int32) int32 {
 30429  	pFile = pFile + uintptr(1)*32
 30430  	return (*struct {
 30431  		f func(*libc.TLS, uintptr, int32) int32
 30432  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxShmUnmap})).f(tls, pFile, deleteFlag)
 30433  }
 30434  
 30435  func cksmFetch(tls *libc.TLS, pFile uintptr, iOfst sqlite3_int64, iAmt int32, pp uintptr) int32 {
 30436  	var p uintptr = pFile
 30437  	if (*CksmFile)(unsafe.Pointer(p)).FcomputeCksm != 0 {
 30438  		*(*uintptr)(unsafe.Pointer(pp)) = uintptr(0)
 30439  		return SQLITE_OK
 30440  	}
 30441  	pFile = pFile + uintptr(1)*32
 30442  	if (*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FiVersion > 2 && (*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxFetch != 0 {
 30443  		return (*struct {
 30444  			f func(*libc.TLS, uintptr, sqlite3_int64, int32, uintptr) int32
 30445  		})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxFetch})).f(tls, pFile, iOfst, iAmt, pp)
 30446  	}
 30447  	*(*uintptr)(unsafe.Pointer(pp)) = uintptr(0)
 30448  	return SQLITE_OK
 30449  }
 30450  
 30451  func cksmUnfetch(tls *libc.TLS, pFile uintptr, iOfst sqlite3_int64, pPage uintptr) int32 {
 30452  	pFile = pFile + uintptr(1)*32
 30453  	if (*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FiVersion > 2 && (*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxUnfetch != 0 {
 30454  		return (*struct {
 30455  			f func(*libc.TLS, uintptr, sqlite3_int64, uintptr) int32
 30456  		})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxUnfetch})).f(tls, pFile, iOfst, pPage)
 30457  	}
 30458  	return SQLITE_OK
 30459  }
 30460  
 30461  func cksmOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags int32, pOutFlags uintptr) int32 {
 30462  	bp := tls.Alloc(8)
 30463  	defer tls.Free(8)
 30464  
 30465  	var p uintptr
 30466  	var pSubFile uintptr
 30467  	var pSubVfs uintptr
 30468  	var rc int32
 30469  
 30470  	pSubVfs = (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData
 30471  	if !(flags&(SQLITE_OPEN_MAIN_DB|SQLITE_OPEN_WAL) == 0) {
 30472  		goto __1
 30473  	}
 30474  	return (*struct {
 30475  		f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32
 30476  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pSubVfs)).FxOpen})).f(tls, pSubVfs, zName, pFile, flags, pOutFlags)
 30477  __1:
 30478  	;
 30479  	p = pFile
 30480  	libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(CksmFile{})))
 30481  	pSubFile = pFile + uintptr(1)*32
 30482  	(*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods = uintptr(unsafe.Pointer(&cksm_io_methods))
 30483  	rc = (*struct {
 30484  		f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32
 30485  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pSubVfs)).FxOpen})).f(tls, pSubVfs, zName, pSubFile, flags, pOutFlags)
 30486  	if !(rc != 0) {
 30487  		goto __2
 30488  	}
 30489  	goto cksm_open_done
 30490  __2:
 30491  	;
 30492  	if !(flags&SQLITE_OPEN_WAL != 0) {
 30493  		goto __3
 30494  	}
 30495  	*(*uintptr)(unsafe.Pointer(bp)) = sqlite3.Xsqlite3_database_file_object(tls, zName)
 30496  	rc = (*struct {
 30497  		f func(*libc.TLS, uintptr, int32, uintptr) int32
 30498  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpMethods)).FxFileControl})).f(tls, *(*uintptr)(unsafe.Pointer(bp)), SQLITE_FCNTL_CKSM_FILE, bp)
 30499  
 30500  	(*CksmFile)(unsafe.Pointer(p)).FpPartner = *(*uintptr)(unsafe.Pointer(bp))
 30501  
 30502  	(*CksmFile)(unsafe.Pointer((*CksmFile)(unsafe.Pointer(p)).FpPartner)).FpPartner = p
 30503  	(*CksmFile)(unsafe.Pointer(p)).FisWal = int8(1)
 30504  	(*CksmFile)(unsafe.Pointer(p)).FcomputeCksm = (*CksmFile)(unsafe.Pointer((*CksmFile)(unsafe.Pointer(p)).FpPartner)).FcomputeCksm
 30505  	goto __4
 30506  __3:
 30507  	(*CksmFile)(unsafe.Pointer(p)).FisWal = int8(0)
 30508  	(*CksmFile)(unsafe.Pointer(p)).FcomputeCksm = int8(0)
 30509  __4:
 30510  	;
 30511  	(*CksmFile)(unsafe.Pointer(p)).FzFName = zName
 30512  cksm_open_done:
 30513  	if !(rc != 0) {
 30514  		goto __5
 30515  	}
 30516  	(*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods = uintptr(0)
 30517  __5:
 30518  	;
 30519  	return rc
 30520  }
 30521  
 30522  func cksmDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 {
 30523  	return (*struct {
 30524  		f func(*libc.TLS, uintptr, uintptr, int32) int32
 30525  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxDelete})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath, dirSync)
 30526  }
 30527  
 30528  func cksmAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 {
 30529  	return (*struct {
 30530  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 30531  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxAccess})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath, flags, pResOut)
 30532  }
 30533  
 30534  func cksmFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 {
 30535  	return (*struct {
 30536  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 30537  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxFullPathname})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath, nOut, zOut)
 30538  }
 30539  
 30540  func cksmDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr {
 30541  	return (*struct {
 30542  		f func(*libc.TLS, uintptr, uintptr) uintptr
 30543  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxDlOpen})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath)
 30544  }
 30545  
 30546  func cksmDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) {
 30547  	(*struct {
 30548  		f func(*libc.TLS, uintptr, int32, uintptr)
 30549  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxDlError})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zErrMsg)
 30550  }
 30551  
 30552  func cksmDlSym(tls *libc.TLS, pVfs uintptr, p uintptr, zSym uintptr) uintptr {
 30553  	return (*struct {
 30554  		f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr
 30555  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxDlSym})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p, zSym)
 30556  }
 30557  
 30558  func cksmDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) {
 30559  	(*struct {
 30560  		f func(*libc.TLS, uintptr, uintptr)
 30561  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxDlClose})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, pHandle)
 30562  }
 30563  
 30564  func cksmRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 {
 30565  	return (*struct {
 30566  		f func(*libc.TLS, uintptr, int32, uintptr) int32
 30567  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxRandomness})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zBufOut)
 30568  }
 30569  
 30570  func cksmSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 {
 30571  	return (*struct {
 30572  		f func(*libc.TLS, uintptr, int32) int32
 30573  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxSleep})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nMicro)
 30574  }
 30575  
 30576  func cksmCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 {
 30577  	return (*struct {
 30578  		f func(*libc.TLS, uintptr, uintptr) int32
 30579  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxCurrentTime})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, pTimeOut)
 30580  }
 30581  
 30582  func cksmGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 {
 30583  	return (*struct {
 30584  		f func(*libc.TLS, uintptr, int32, uintptr) int32
 30585  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxGetLastError})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, a, b)
 30586  }
 30587  
 30588  func cksmCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, p uintptr) int32 {
 30589  	bp := tls.Alloc(8)
 30590  	defer tls.Free(8)
 30591  
 30592  	var pOrig uintptr = (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData
 30593  	var rc int32
 30594  
 30595  	if (*sqlite3_vfs)(unsafe.Pointer(pOrig)).FxCurrentTimeInt64 != 0 {
 30596  		rc = (*struct {
 30597  			f func(*libc.TLS, uintptr, uintptr) int32
 30598  		})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pOrig)).FxCurrentTimeInt64})).f(tls, pOrig, p)
 30599  	} else {
 30600  		rc = (*struct {
 30601  			f func(*libc.TLS, uintptr, uintptr) int32
 30602  		})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pOrig)).FxCurrentTime})).f(tls, pOrig, bp)
 30603  		*(*sqlite3_int64)(unsafe.Pointer(p)) = libc.Int64FromFloat64(*(*float64)(unsafe.Pointer(bp)) * 86400000.0)
 30604  	}
 30605  	return rc
 30606  }
 30607  
 30608  func cksmSetSystemCall(tls *libc.TLS, pVfs uintptr, zName uintptr, pCall sqlite3_syscall_ptr) int32 {
 30609  	return (*struct {
 30610  		f func(*libc.TLS, uintptr, uintptr, sqlite3_syscall_ptr) int32
 30611  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxSetSystemCall})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zName, pCall)
 30612  }
 30613  
 30614  func cksmGetSystemCall(tls *libc.TLS, pVfs uintptr, zName uintptr) sqlite3_syscall_ptr {
 30615  	return (*struct {
 30616  		f func(*libc.TLS, uintptr, uintptr) sqlite3_syscall_ptr
 30617  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxGetSystemCall})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zName)
 30618  }
 30619  
 30620  func cksmNextSystemCall(tls *libc.TLS, pVfs uintptr, zName uintptr) uintptr {
 30621  	return (*struct {
 30622  		f func(*libc.TLS, uintptr, uintptr) uintptr
 30623  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FxNextSystemCall})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zName)
 30624  }
 30625  
 30626  func cksmRegisterFunc(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi uintptr) int32 {
 30627  	var rc int32
 30628  	if db == uintptr(0) {
 30629  		return SQLITE_OK
 30630  	}
 30631  	rc = sqlite3.Xsqlite3_create_function(tls, db, ts+4199, 1,
 30632  		SQLITE_UTF8|SQLITE_INNOCUOUS|SQLITE_DETERMINISTIC,
 30633  		uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 30634  			f func(*libc.TLS, uintptr, int32, uintptr)
 30635  		}{cksmVerifyFunc})), uintptr(0), uintptr(0))
 30636  	return rc
 30637  }
 30638  
 30639  func cksmRegisterVfs(tls *libc.TLS) int32 {
 30640  	var rc int32 = SQLITE_OK
 30641  	var pOrig uintptr
 30642  	if sqlite3.Xsqlite3_vfs_find(tls, ts+4097) != uintptr(0) {
 30643  		return SQLITE_OK
 30644  	}
 30645  	pOrig = sqlite3.Xsqlite3_vfs_find(tls, uintptr(0))
 30646  	if pOrig == uintptr(0) {
 30647  		return SQLITE_ERROR
 30648  	}
 30649  	cksm_vfs.FiVersion = (*sqlite3_vfs)(unsafe.Pointer(pOrig)).FiVersion
 30650  	cksm_vfs.FpAppData = pOrig
 30651  	cksm_vfs.FszOsFile = int32(uint64((*sqlite3_vfs)(unsafe.Pointer(pOrig)).FszOsFile) + uint64(unsafe.Sizeof(CksmFile{})))
 30652  	rc = sqlite3.Xsqlite3_vfs_register(tls, uintptr(unsafe.Pointer(&cksm_vfs)), 1)
 30653  	if rc == SQLITE_OK {
 30654  		rc = sqlite3.Xsqlite3_auto_extension(tls, *(*uintptr)(unsafe.Pointer(&struct {
 30655  			f func(*libc.TLS, uintptr, uintptr, uintptr) int32
 30656  		}{cksmRegisterFunc})))
 30657  	}
 30658  	return rc
 30659  }
 30660  
 30661  func sqlite3_register_cksumvfs(tls *libc.TLS, NotUsed uintptr) int32 {
 30662  	_ = NotUsed
 30663  	return cksmRegisterVfs(tls)
 30664  }
 30665  
 30666  func sqlite3_unregister_cksumvfs(tls *libc.TLS) int32 {
 30667  	if sqlite3.Xsqlite3_vfs_find(tls, ts+4097) != 0 {
 30668  		sqlite3.Xsqlite3_vfs_unregister(tls, uintptr(unsafe.Pointer(&cksm_vfs)))
 30669  		sqlite3.Xsqlite3_cancel_auto_extension(tls, *(*uintptr)(unsafe.Pointer(&struct {
 30670  			f func(*libc.TLS, uintptr, uintptr, uintptr) int32
 30671  		}{cksmRegisterFunc})))
 30672  	}
 30673  	return SQLITE_OK
 30674  }
 30675  
 30676  type closure_vtab1 = struct {
 30677  	Fbase          sqlite3_vtab
 30678  	FzDb           uintptr
 30679  	FzSelf         uintptr
 30680  	FzTableName    uintptr
 30681  	FzIdColumn     uintptr
 30682  	FzParentColumn uintptr
 30683  	Fdb            uintptr
 30684  	FnCursor       int32
 30685  	F__ccgo_pad1   [4]byte
 30686  }
 30687  
 30688  type closure_vtab = closure_vtab1
 30689  type closure_cursor1 = struct {
 30690  	Fbase          sqlite3_vtab_cursor
 30691  	FpVtab         uintptr
 30692  	FzTableName    uintptr
 30693  	FzIdColumn     uintptr
 30694  	FzParentColumn uintptr
 30695  	FpCurrent      uintptr
 30696  	FpClosure      uintptr
 30697  }
 30698  
 30699  type closure_cursor = closure_cursor1
 30700  type closure_queue1 = struct {
 30701  	FpFirst uintptr
 30702  	FpLast  uintptr
 30703  }
 30704  
 30705  type closure_queue = closure_queue1
 30706  type closure_avl1 = struct {
 30707  	Fid          sqlite3_int64
 30708  	FiGeneration int32
 30709  	F__ccgo_pad1 [4]byte
 30710  	FpList       uintptr
 30711  	FpBefore     uintptr
 30712  	FpAfter      uintptr
 30713  	FpUp         uintptr
 30714  	Fheight      int16
 30715  	Fimbalance   int16
 30716  	F__ccgo_pad2 [4]byte
 30717  }
 30718  
 30719  type closure_avl = closure_avl1
 30720  
 30721  func closureAvlRecomputeHeight(tls *libc.TLS, p uintptr) {
 30722  	var hBefore int16
 30723  	if (*closure_avl)(unsafe.Pointer(p)).FpBefore != 0 {
 30724  		hBefore = (*closure_avl)(unsafe.Pointer((*closure_avl)(unsafe.Pointer(p)).FpBefore)).Fheight
 30725  	} else {
 30726  		hBefore = int16(0)
 30727  	}
 30728  	var hAfter int16
 30729  	if (*closure_avl)(unsafe.Pointer(p)).FpAfter != 0 {
 30730  		hAfter = (*closure_avl)(unsafe.Pointer((*closure_avl)(unsafe.Pointer(p)).FpAfter)).Fheight
 30731  	} else {
 30732  		hAfter = int16(0)
 30733  	}
 30734  	(*closure_avl)(unsafe.Pointer(p)).Fimbalance = int16(int32(hBefore) - int32(hAfter))
 30735  	(*closure_avl)(unsafe.Pointer(p)).Fheight = int16(func() int32 {
 30736  		if int32(hBefore) > int32(hAfter) {
 30737  			return int32(hBefore)
 30738  		}
 30739  		return int32(hAfter)
 30740  	}() + 1)
 30741  }
 30742  
 30743  func closureAvlRotateBefore(tls *libc.TLS, pP uintptr) uintptr {
 30744  	var pB uintptr = (*closure_avl)(unsafe.Pointer(pP)).FpBefore
 30745  	var pY uintptr = (*closure_avl)(unsafe.Pointer(pB)).FpAfter
 30746  	(*closure_avl)(unsafe.Pointer(pB)).FpUp = (*closure_avl)(unsafe.Pointer(pP)).FpUp
 30747  	(*closure_avl)(unsafe.Pointer(pB)).FpAfter = pP
 30748  	(*closure_avl)(unsafe.Pointer(pP)).FpUp = pB
 30749  	(*closure_avl)(unsafe.Pointer(pP)).FpBefore = pY
 30750  	if pY != 0 {
 30751  		(*closure_avl)(unsafe.Pointer(pY)).FpUp = pP
 30752  	}
 30753  	closureAvlRecomputeHeight(tls, pP)
 30754  	closureAvlRecomputeHeight(tls, pB)
 30755  	return pB
 30756  }
 30757  
 30758  func closureAvlRotateAfter(tls *libc.TLS, pP uintptr) uintptr {
 30759  	var pA uintptr = (*closure_avl)(unsafe.Pointer(pP)).FpAfter
 30760  	var pY uintptr = (*closure_avl)(unsafe.Pointer(pA)).FpBefore
 30761  	(*closure_avl)(unsafe.Pointer(pA)).FpUp = (*closure_avl)(unsafe.Pointer(pP)).FpUp
 30762  	(*closure_avl)(unsafe.Pointer(pA)).FpBefore = pP
 30763  	(*closure_avl)(unsafe.Pointer(pP)).FpUp = pA
 30764  	(*closure_avl)(unsafe.Pointer(pP)).FpAfter = pY
 30765  	if pY != 0 {
 30766  		(*closure_avl)(unsafe.Pointer(pY)).FpUp = pP
 30767  	}
 30768  	closureAvlRecomputeHeight(tls, pP)
 30769  	closureAvlRecomputeHeight(tls, pA)
 30770  	return pA
 30771  }
 30772  
 30773  func closureAvlFromPtr(tls *libc.TLS, p uintptr, pp uintptr) uintptr {
 30774  	var pUp uintptr = (*closure_avl)(unsafe.Pointer(p)).FpUp
 30775  	if pUp == uintptr(0) {
 30776  		return pp
 30777  	}
 30778  	if (*closure_avl)(unsafe.Pointer(pUp)).FpAfter == p {
 30779  		return pUp + 32
 30780  	}
 30781  	return pUp + 24
 30782  }
 30783  
 30784  func closureAvlBalance(tls *libc.TLS, p uintptr) uintptr {
 30785  	bp := tls.Alloc(8)
 30786  	defer tls.Free(8)
 30787  	*(*uintptr)(unsafe.Pointer(bp)) = p
 30788  
 30789  	var pTop uintptr = *(*uintptr)(unsafe.Pointer(bp))
 30790  	var pp uintptr
 30791  	for *(*uintptr)(unsafe.Pointer(bp)) != 0 {
 30792  		closureAvlRecomputeHeight(tls, *(*uintptr)(unsafe.Pointer(bp)))
 30793  		if int32((*closure_avl)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fimbalance) >= 2 {
 30794  			var pB uintptr = (*closure_avl)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpBefore
 30795  			if int32((*closure_avl)(unsafe.Pointer(pB)).Fimbalance) < 0 {
 30796  				(*closure_avl)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpBefore = closureAvlRotateAfter(tls, pB)
 30797  			}
 30798  			pp = closureAvlFromPtr(tls, *(*uintptr)(unsafe.Pointer(bp)), bp)
 30799  			*(*uintptr)(unsafe.Pointer(bp)) = libc.AssignPtrUintptr(pp, closureAvlRotateBefore(tls, *(*uintptr)(unsafe.Pointer(bp))))
 30800  		} else if int32((*closure_avl)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fimbalance) <= -2 {
 30801  			var pA uintptr = (*closure_avl)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpAfter
 30802  			if int32((*closure_avl)(unsafe.Pointer(pA)).Fimbalance) > 0 {
 30803  				(*closure_avl)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpAfter = closureAvlRotateBefore(tls, pA)
 30804  			}
 30805  			pp = closureAvlFromPtr(tls, *(*uintptr)(unsafe.Pointer(bp)), bp)
 30806  			*(*uintptr)(unsafe.Pointer(bp)) = libc.AssignPtrUintptr(pp, closureAvlRotateAfter(tls, *(*uintptr)(unsafe.Pointer(bp))))
 30807  		}
 30808  		pTop = *(*uintptr)(unsafe.Pointer(bp))
 30809  		*(*uintptr)(unsafe.Pointer(bp)) = (*closure_avl)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpUp
 30810  	}
 30811  	return pTop
 30812  }
 30813  
 30814  func closureAvlSearch(tls *libc.TLS, p uintptr, id sqlite3_int64) uintptr {
 30815  	for p != 0 && id != (*closure_avl)(unsafe.Pointer(p)).Fid {
 30816  		if id < (*closure_avl)(unsafe.Pointer(p)).Fid {
 30817  			p = (*closure_avl)(unsafe.Pointer(p)).FpBefore
 30818  		} else {
 30819  			p = (*closure_avl)(unsafe.Pointer(p)).FpAfter
 30820  		}
 30821  	}
 30822  	return p
 30823  }
 30824  
 30825  func closureAvlFirst(tls *libc.TLS, p uintptr) uintptr {
 30826  	if p != 0 {
 30827  		for (*closure_avl)(unsafe.Pointer(p)).FpBefore != 0 {
 30828  			p = (*closure_avl)(unsafe.Pointer(p)).FpBefore
 30829  		}
 30830  	}
 30831  	return p
 30832  }
 30833  
 30834  func closureAvlNext(tls *libc.TLS, p uintptr) uintptr {
 30835  	var pPrev uintptr = uintptr(0)
 30836  	for p != 0 && (*closure_avl)(unsafe.Pointer(p)).FpAfter == pPrev {
 30837  		pPrev = p
 30838  		p = (*closure_avl)(unsafe.Pointer(p)).FpUp
 30839  	}
 30840  	if p != 0 && pPrev == uintptr(0) {
 30841  		p = closureAvlFirst(tls, (*closure_avl)(unsafe.Pointer(p)).FpAfter)
 30842  	}
 30843  	return p
 30844  }
 30845  
 30846  func closureAvlInsert(tls *libc.TLS, ppHead uintptr, pNew uintptr) uintptr {
 30847  	var p uintptr = *(*uintptr)(unsafe.Pointer(ppHead))
 30848  	if p == uintptr(0) {
 30849  		p = pNew
 30850  		(*closure_avl)(unsafe.Pointer(pNew)).FpUp = uintptr(0)
 30851  	} else {
 30852  		for p != 0 {
 30853  			if (*closure_avl)(unsafe.Pointer(pNew)).Fid < (*closure_avl)(unsafe.Pointer(p)).Fid {
 30854  				if (*closure_avl)(unsafe.Pointer(p)).FpBefore != 0 {
 30855  					p = (*closure_avl)(unsafe.Pointer(p)).FpBefore
 30856  				} else {
 30857  					(*closure_avl)(unsafe.Pointer(p)).FpBefore = pNew
 30858  					(*closure_avl)(unsafe.Pointer(pNew)).FpUp = p
 30859  					break
 30860  				}
 30861  			} else if (*closure_avl)(unsafe.Pointer(pNew)).Fid > (*closure_avl)(unsafe.Pointer(p)).Fid {
 30862  				if (*closure_avl)(unsafe.Pointer(p)).FpAfter != 0 {
 30863  					p = (*closure_avl)(unsafe.Pointer(p)).FpAfter
 30864  				} else {
 30865  					(*closure_avl)(unsafe.Pointer(p)).FpAfter = pNew
 30866  					(*closure_avl)(unsafe.Pointer(pNew)).FpUp = p
 30867  					break
 30868  				}
 30869  			} else {
 30870  				return p
 30871  			}
 30872  		}
 30873  	}
 30874  	(*closure_avl)(unsafe.Pointer(pNew)).FpBefore = uintptr(0)
 30875  	(*closure_avl)(unsafe.Pointer(pNew)).FpAfter = uintptr(0)
 30876  	(*closure_avl)(unsafe.Pointer(pNew)).Fheight = int16(1)
 30877  	(*closure_avl)(unsafe.Pointer(pNew)).Fimbalance = int16(0)
 30878  	*(*uintptr)(unsafe.Pointer(ppHead)) = closureAvlBalance(tls, p)
 30879  	return uintptr(0)
 30880  }
 30881  
 30882  func closureAvlDestroy(tls *libc.TLS, p uintptr, xDestroy uintptr) {
 30883  	if p != 0 {
 30884  		closureAvlDestroy(tls, (*closure_avl)(unsafe.Pointer(p)).FpBefore, xDestroy)
 30885  		closureAvlDestroy(tls, (*closure_avl)(unsafe.Pointer(p)).FpAfter, xDestroy)
 30886  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{xDestroy})).f(tls, p)
 30887  	}
 30888  }
 30889  
 30890  func queuePush(tls *libc.TLS, pQueue uintptr, pNode uintptr) {
 30891  	(*closure_avl)(unsafe.Pointer(pNode)).FpList = uintptr(0)
 30892  	if (*closure_queue)(unsafe.Pointer(pQueue)).FpLast != 0 {
 30893  		(*closure_avl)(unsafe.Pointer((*closure_queue)(unsafe.Pointer(pQueue)).FpLast)).FpList = pNode
 30894  	} else {
 30895  		(*closure_queue)(unsafe.Pointer(pQueue)).FpFirst = pNode
 30896  	}
 30897  	(*closure_queue)(unsafe.Pointer(pQueue)).FpLast = pNode
 30898  }
 30899  
 30900  func queuePull(tls *libc.TLS, pQueue uintptr) uintptr {
 30901  	var p uintptr = (*closure_queue)(unsafe.Pointer(pQueue)).FpFirst
 30902  	if p != 0 {
 30903  		(*closure_queue)(unsafe.Pointer(pQueue)).FpFirst = (*closure_avl)(unsafe.Pointer(p)).FpList
 30904  		if (*closure_queue)(unsafe.Pointer(pQueue)).FpFirst == uintptr(0) {
 30905  			(*closure_queue)(unsafe.Pointer(pQueue)).FpLast = uintptr(0)
 30906  		}
 30907  	}
 30908  	return p
 30909  }
 30910  
 30911  func closureDequote(tls *libc.TLS, zIn uintptr) uintptr {
 30912  	var nIn sqlite3_int64
 30913  	var zOut uintptr
 30914  
 30915  	nIn = sqlite3_int64(libc.Xstrlen(tls, zIn))
 30916  	zOut = sqlite3.Xsqlite3_malloc64(tls, uint64(nIn+int64(1)))
 30917  	if zOut != 0 {
 30918  		var q int8 = *(*int8)(unsafe.Pointer(zIn))
 30919  
 30920  		if int32(q) != '[' && int32(q) != '\'' && int32(q) != '"' && int32(q) != '`' {
 30921  			libc.Xmemcpy(tls, zOut, zIn, size_t(nIn+int64(1)))
 30922  		} else {
 30923  			var iOut int32 = 0
 30924  			var iIn int32
 30925  
 30926  			if int32(q) == '[' {
 30927  				q = int8(']')
 30928  			}
 30929  			for iIn = 1; sqlite3_int64(iIn) < nIn; iIn++ {
 30930  				if int32(*(*int8)(unsafe.Pointer(zIn + uintptr(iIn)))) == int32(q) {
 30931  					iIn++
 30932  				}
 30933  				*(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&iOut, 1)))) = *(*int8)(unsafe.Pointer(zIn + uintptr(iIn)))
 30934  			}
 30935  		}
 30936  
 30937  	}
 30938  	return zOut
 30939  }
 30940  
 30941  func closureFree(tls *libc.TLS, p uintptr) {
 30942  	if p != 0 {
 30943  		sqlite3.Xsqlite3_free(tls, (*closure_vtab)(unsafe.Pointer(p)).FzDb)
 30944  		sqlite3.Xsqlite3_free(tls, (*closure_vtab)(unsafe.Pointer(p)).FzSelf)
 30945  		sqlite3.Xsqlite3_free(tls, (*closure_vtab)(unsafe.Pointer(p)).FzTableName)
 30946  		sqlite3.Xsqlite3_free(tls, (*closure_vtab)(unsafe.Pointer(p)).FzIdColumn)
 30947  		sqlite3.Xsqlite3_free(tls, (*closure_vtab)(unsafe.Pointer(p)).FzParentColumn)
 30948  		libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(closure_vtab{})))
 30949  		sqlite3.Xsqlite3_free(tls, p)
 30950  	}
 30951  }
 30952  
 30953  func closureDisconnect(tls *libc.TLS, pVtab uintptr) int32 {
 30954  	var p uintptr = pVtab
 30955  
 30956  	closureFree(tls, p)
 30957  	return SQLITE_OK
 30958  }
 30959  
 30960  func closureValueOfKey(tls *libc.TLS, zKey uintptr, zStr uintptr) uintptr {
 30961  	var nKey int32 = int32(libc.Xstrlen(tls, zKey))
 30962  	var nStr int32 = int32(libc.Xstrlen(tls, zStr))
 30963  	var i int32
 30964  	if nStr < nKey+1 {
 30965  		return uintptr(0)
 30966  	}
 30967  	if libc.Xmemcmp(tls, zStr, zKey, uint64(nKey)) != 0 {
 30968  		return uintptr(0)
 30969  	}
 30970  	for i = nKey; libc.Xisspace(tls, int32(uint8(*(*int8)(unsafe.Pointer(zStr + uintptr(i)))))) != 0; i++ {
 30971  	}
 30972  	if int32(*(*int8)(unsafe.Pointer(zStr + uintptr(i)))) != '=' {
 30973  		return uintptr(0)
 30974  	}
 30975  	i++
 30976  	for libc.Xisspace(tls, int32(uint8(*(*int8)(unsafe.Pointer(zStr + uintptr(i)))))) != 0 {
 30977  		i++
 30978  	}
 30979  	return zStr + uintptr(i)
 30980  }
 30981  
 30982  func closureConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 {
 30983  	bp := tls.Alloc(24)
 30984  	defer tls.Free(24)
 30985  
 30986  	var rc int32
 30987  	var pNew uintptr
 30988  	var zDb uintptr
 30989  	var zVal uintptr
 30990  	var i int32
 30991  	rc = SQLITE_OK
 30992  	pNew = uintptr(0)
 30993  	zDb = *(*uintptr)(unsafe.Pointer(argv + 1*8))
 30994  
 30995  	_ = pAux
 30996  	*(*uintptr)(unsafe.Pointer(ppVtab)) = uintptr(0)
 30997  	pNew = sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(closure_vtab{})))
 30998  	if !(pNew == uintptr(0)) {
 30999  		goto __1
 31000  	}
 31001  	return SQLITE_NOMEM
 31002  __1:
 31003  	;
 31004  	rc = SQLITE_NOMEM
 31005  	libc.Xmemset(tls, pNew, 0, uint64(unsafe.Sizeof(closure_vtab{})))
 31006  	(*closure_vtab)(unsafe.Pointer(pNew)).Fdb = db
 31007  	(*closure_vtab)(unsafe.Pointer(pNew)).FzDb = sqlite3.Xsqlite3_mprintf(tls, ts, libc.VaList(bp, zDb))
 31008  	if !((*closure_vtab)(unsafe.Pointer(pNew)).FzDb == uintptr(0)) {
 31009  		goto __2
 31010  	}
 31011  	goto closureConnectError
 31012  __2:
 31013  	;
 31014  	(*closure_vtab)(unsafe.Pointer(pNew)).FzSelf = sqlite3.Xsqlite3_mprintf(tls, ts, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + 2*8))))
 31015  	if !((*closure_vtab)(unsafe.Pointer(pNew)).FzSelf == uintptr(0)) {
 31016  		goto __3
 31017  	}
 31018  	goto closureConnectError
 31019  __3:
 31020  	;
 31021  	i = 3
 31022  __4:
 31023  	if !(i < argc) {
 31024  		goto __6
 31025  	}
 31026  	zVal = closureValueOfKey(tls, ts+4215, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))
 31027  	if !(zVal != 0) {
 31028  		goto __7
 31029  	}
 31030  	sqlite3.Xsqlite3_free(tls, (*closure_vtab)(unsafe.Pointer(pNew)).FzTableName)
 31031  	(*closure_vtab)(unsafe.Pointer(pNew)).FzTableName = closureDequote(tls, zVal)
 31032  	if !((*closure_vtab)(unsafe.Pointer(pNew)).FzTableName == uintptr(0)) {
 31033  		goto __8
 31034  	}
 31035  	goto closureConnectError
 31036  __8:
 31037  	;
 31038  	goto __5
 31039  __7:
 31040  	;
 31041  	zVal = closureValueOfKey(tls, ts+4225, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))
 31042  	if !(zVal != 0) {
 31043  		goto __9
 31044  	}
 31045  	sqlite3.Xsqlite3_free(tls, (*closure_vtab)(unsafe.Pointer(pNew)).FzIdColumn)
 31046  	(*closure_vtab)(unsafe.Pointer(pNew)).FzIdColumn = closureDequote(tls, zVal)
 31047  	if !((*closure_vtab)(unsafe.Pointer(pNew)).FzIdColumn == uintptr(0)) {
 31048  		goto __10
 31049  	}
 31050  	goto closureConnectError
 31051  __10:
 31052  	;
 31053  	goto __5
 31054  __9:
 31055  	;
 31056  	zVal = closureValueOfKey(tls, ts+4234, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))
 31057  	if !(zVal != 0) {
 31058  		goto __11
 31059  	}
 31060  	sqlite3.Xsqlite3_free(tls, (*closure_vtab)(unsafe.Pointer(pNew)).FzParentColumn)
 31061  	(*closure_vtab)(unsafe.Pointer(pNew)).FzParentColumn = closureDequote(tls, zVal)
 31062  	if !((*closure_vtab)(unsafe.Pointer(pNew)).FzParentColumn == uintptr(0)) {
 31063  		goto __12
 31064  	}
 31065  	goto closureConnectError
 31066  __12:
 31067  	;
 31068  	goto __5
 31069  __11:
 31070  	;
 31071  	*(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+3536, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
 31072  	closureFree(tls, pNew)
 31073  	*(*uintptr)(unsafe.Pointer(ppVtab)) = uintptr(0)
 31074  	return SQLITE_ERROR
 31075  	goto __5
 31076  __5:
 31077  	i++
 31078  	goto __4
 31079  	goto __6
 31080  __6:
 31081  	;
 31082  	rc = sqlite3.Xsqlite3_declare_vtab(tls, db,
 31083  		ts+4247)
 31084  	if !(rc != SQLITE_OK) {
 31085  		goto __13
 31086  	}
 31087  	closureFree(tls, pNew)
 31088  __13:
 31089  	;
 31090  	*(*uintptr)(unsafe.Pointer(ppVtab)) = pNew
 31091  	return rc
 31092  
 31093  closureConnectError:
 31094  	closureFree(tls, pNew)
 31095  	return rc
 31096  }
 31097  
 31098  func closureOpen(tls *libc.TLS, pVTab uintptr, ppCursor uintptr) int32 {
 31099  	var p uintptr = pVTab
 31100  	var pCur uintptr
 31101  	pCur = sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(closure_cursor{})))
 31102  	if pCur == uintptr(0) {
 31103  		return SQLITE_NOMEM
 31104  	}
 31105  	libc.Xmemset(tls, pCur, 0, uint64(unsafe.Sizeof(closure_cursor{})))
 31106  	(*closure_cursor)(unsafe.Pointer(pCur)).FpVtab = p
 31107  	*(*uintptr)(unsafe.Pointer(ppCursor)) = pCur
 31108  	(*closure_vtab)(unsafe.Pointer(p)).FnCursor++
 31109  	return SQLITE_OK
 31110  }
 31111  
 31112  func closureClearCursor(tls *libc.TLS, pCur uintptr) {
 31113  	closureAvlDestroy(tls, (*closure_cursor)(unsafe.Pointer(pCur)).FpClosure, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sqlite3.Xsqlite3_free})))
 31114  	sqlite3.Xsqlite3_free(tls, (*closure_cursor)(unsafe.Pointer(pCur)).FzTableName)
 31115  	sqlite3.Xsqlite3_free(tls, (*closure_cursor)(unsafe.Pointer(pCur)).FzIdColumn)
 31116  	sqlite3.Xsqlite3_free(tls, (*closure_cursor)(unsafe.Pointer(pCur)).FzParentColumn)
 31117  	(*closure_cursor)(unsafe.Pointer(pCur)).FzTableName = uintptr(0)
 31118  	(*closure_cursor)(unsafe.Pointer(pCur)).FzIdColumn = uintptr(0)
 31119  	(*closure_cursor)(unsafe.Pointer(pCur)).FzParentColumn = uintptr(0)
 31120  	(*closure_cursor)(unsafe.Pointer(pCur)).FpCurrent = uintptr(0)
 31121  	(*closure_cursor)(unsafe.Pointer(pCur)).FpClosure = uintptr(0)
 31122  }
 31123  
 31124  func closureClose(tls *libc.TLS, cur uintptr) int32 {
 31125  	var pCur uintptr = cur
 31126  	closureClearCursor(tls, pCur)
 31127  	(*closure_vtab)(unsafe.Pointer((*closure_cursor)(unsafe.Pointer(pCur)).FpVtab)).FnCursor--
 31128  	sqlite3.Xsqlite3_free(tls, pCur)
 31129  	return SQLITE_OK
 31130  }
 31131  
 31132  func closureNext(tls *libc.TLS, cur uintptr) int32 {
 31133  	var pCur uintptr = cur
 31134  	(*closure_cursor)(unsafe.Pointer(pCur)).FpCurrent = closureAvlNext(tls, (*closure_cursor)(unsafe.Pointer(pCur)).FpCurrent)
 31135  	return SQLITE_OK
 31136  }
 31137  
 31138  func closureInsertNode(tls *libc.TLS, pQueue uintptr, pCur uintptr, id sqlite3_int64, iGeneration int32) int32 {
 31139  	var pNew uintptr = sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(closure_avl{})))
 31140  	if pNew == uintptr(0) {
 31141  		return SQLITE_NOMEM
 31142  	}
 31143  	libc.Xmemset(tls, pNew, 0, uint64(unsafe.Sizeof(closure_avl{})))
 31144  	(*closure_avl)(unsafe.Pointer(pNew)).Fid = id
 31145  	(*closure_avl)(unsafe.Pointer(pNew)).FiGeneration = iGeneration
 31146  	closureAvlInsert(tls, pCur+48, pNew)
 31147  	queuePush(tls, pQueue, pNew)
 31148  	return SQLITE_OK
 31149  }
 31150  
 31151  func closureFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 {
 31152  	bp := tls.Alloc(96)
 31153  	defer tls.Free(96)
 31154  
 31155  	var pCur uintptr = pVtabCursor
 31156  	var pVtab uintptr = (*closure_cursor)(unsafe.Pointer(pCur)).FpVtab
 31157  	var iRoot sqlite3_int64
 31158  	var mxGen int32 = 999999999
 31159  	var zSql uintptr
 31160  
 31161  	var pAvl uintptr
 31162  	var rc int32 = SQLITE_OK
 31163  	var zTableName uintptr = (*closure_vtab)(unsafe.Pointer(pVtab)).FzTableName
 31164  	var zIdColumn uintptr = (*closure_vtab)(unsafe.Pointer(pVtab)).FzIdColumn
 31165  	var zParentColumn uintptr = (*closure_vtab)(unsafe.Pointer(pVtab)).FzParentColumn
 31166  
 31167  	_ = idxStr
 31168  	_ = argc
 31169  	closureClearCursor(tls, pCur)
 31170  	libc.Xmemset(tls, bp+72, 0, uint64(unsafe.Sizeof(closure_queue{})))
 31171  	if idxNum&1 == 0 {
 31172  		return SQLITE_OK
 31173  	}
 31174  	iRoot = sqlite3.Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv)))
 31175  	if idxNum&0x000f0 != 0 {
 31176  		mxGen = sqlite3.Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(idxNum>>4&0x0f)*8)))
 31177  		if idxNum&0x00002 != 0 {
 31178  			mxGen--
 31179  		}
 31180  	}
 31181  	if idxNum&0x00f00 != 0 {
 31182  		zTableName = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(idxNum>>8&0x0f)*8)))
 31183  		(*closure_cursor)(unsafe.Pointer(pCur)).FzTableName = sqlite3.Xsqlite3_mprintf(tls, ts, libc.VaList(bp, zTableName))
 31184  	}
 31185  	if idxNum&0x0f000 != 0 {
 31186  		zIdColumn = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(idxNum>>12&0x0f)*8)))
 31187  		(*closure_cursor)(unsafe.Pointer(pCur)).FzIdColumn = sqlite3.Xsqlite3_mprintf(tls, ts, libc.VaList(bp+8, zIdColumn))
 31188  	}
 31189  	if idxNum&0x0f0000 != 0 {
 31190  		zParentColumn = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(idxNum>>16&0x0f)*8)))
 31191  		(*closure_cursor)(unsafe.Pointer(pCur)).FzParentColumn = sqlite3.Xsqlite3_mprintf(tls, ts, libc.VaList(bp+16, zParentColumn))
 31192  	}
 31193  
 31194  	zSql = sqlite3.Xsqlite3_mprintf(tls,
 31195  		ts+4337,
 31196  		libc.VaList(bp+24, zTableName, zIdColumn, zTableName, zTableName, zParentColumn))
 31197  	if zSql == uintptr(0) {
 31198  		return SQLITE_NOMEM
 31199  	} else {
 31200  		rc = sqlite3.Xsqlite3_prepare_v2(tls, (*closure_vtab)(unsafe.Pointer(pVtab)).Fdb, zSql, -1, bp+88, uintptr(0))
 31201  		sqlite3.Xsqlite3_free(tls, zSql)
 31202  		if rc != 0 {
 31203  			sqlite3.Xsqlite3_free(tls, (*closure_vtab)(unsafe.Pointer(pVtab)).Fbase.FzErrMsg)
 31204  			(*closure_vtab)(unsafe.Pointer(pVtab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts, libc.VaList(bp+64, sqlite3.Xsqlite3_errmsg(tls, (*closure_vtab)(unsafe.Pointer(pVtab)).Fdb)))
 31205  			return rc
 31206  		}
 31207  	}
 31208  	if rc == SQLITE_OK {
 31209  		rc = closureInsertNode(tls, bp+72, pCur, iRoot, 0)
 31210  	}
 31211  	for libc.AssignUintptr(&pAvl, queuePull(tls, bp+72)) != uintptr(0) {
 31212  		if (*closure_avl)(unsafe.Pointer(pAvl)).FiGeneration >= mxGen {
 31213  			continue
 31214  		}
 31215  		sqlite3.Xsqlite3_bind_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 88)), 1, (*closure_avl)(unsafe.Pointer(pAvl)).Fid)
 31216  		for rc == SQLITE_OK && sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 88))) == SQLITE_ROW {
 31217  			if sqlite3.Xsqlite3_column_type(tls, *(*uintptr)(unsafe.Pointer(bp + 88)), 0) == SQLITE_INTEGER {
 31218  				var iNew sqlite3_int64 = sqlite3.Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 88)), 0)
 31219  				if closureAvlSearch(tls, (*closure_cursor)(unsafe.Pointer(pCur)).FpClosure, iNew) == uintptr(0) {
 31220  					rc = closureInsertNode(tls, bp+72, pCur, iNew, (*closure_avl)(unsafe.Pointer(pAvl)).FiGeneration+1)
 31221  				}
 31222  			}
 31223  		}
 31224  		sqlite3.Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 88)))
 31225  	}
 31226  	sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 88)))
 31227  	if rc == SQLITE_OK {
 31228  		(*closure_cursor)(unsafe.Pointer(pCur)).FpCurrent = closureAvlFirst(tls, (*closure_cursor)(unsafe.Pointer(pCur)).FpClosure)
 31229  	}
 31230  
 31231  	return rc
 31232  }
 31233  
 31234  func closureColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 {
 31235  	var pCur uintptr = cur
 31236  	switch i {
 31237  	case CLOSURE_COL_ID:
 31238  		{
 31239  			sqlite3.Xsqlite3_result_int64(tls, ctx, (*closure_avl)(unsafe.Pointer((*closure_cursor)(unsafe.Pointer(pCur)).FpCurrent)).Fid)
 31240  			break
 31241  
 31242  		}
 31243  	case CLOSURE_COL_DEPTH:
 31244  		{
 31245  			sqlite3.Xsqlite3_result_int(tls, ctx, (*closure_avl)(unsafe.Pointer((*closure_cursor)(unsafe.Pointer(pCur)).FpCurrent)).FiGeneration)
 31246  			break
 31247  
 31248  		}
 31249  	case CLOSURE_COL_ROOT:
 31250  		{
 31251  			sqlite3.Xsqlite3_result_null(tls, ctx)
 31252  			break
 31253  
 31254  		}
 31255  	case CLOSURE_COL_TABLENAME:
 31256  		{
 31257  			sqlite3.Xsqlite3_result_text(tls, ctx,
 31258  				func() uintptr {
 31259  					if (*closure_cursor)(unsafe.Pointer(pCur)).FzTableName != 0 {
 31260  						return (*closure_cursor)(unsafe.Pointer(pCur)).FzTableName
 31261  					}
 31262  					return (*closure_vtab)(unsafe.Pointer((*closure_cursor)(unsafe.Pointer(pCur)).FpVtab)).FzTableName
 31263  				}(),
 31264  				-1, libc.UintptrFromInt32(-1))
 31265  			break
 31266  
 31267  		}
 31268  	case CLOSURE_COL_IDCOLUMN:
 31269  		{
 31270  			sqlite3.Xsqlite3_result_text(tls, ctx,
 31271  				func() uintptr {
 31272  					if (*closure_cursor)(unsafe.Pointer(pCur)).FzIdColumn != 0 {
 31273  						return (*closure_cursor)(unsafe.Pointer(pCur)).FzIdColumn
 31274  					}
 31275  					return (*closure_vtab)(unsafe.Pointer((*closure_cursor)(unsafe.Pointer(pCur)).FpVtab)).FzIdColumn
 31276  				}(),
 31277  				-1, libc.UintptrFromInt32(-1))
 31278  			break
 31279  
 31280  		}
 31281  	case CLOSURE_COL_PARENTCOLUMN:
 31282  		{
 31283  			sqlite3.Xsqlite3_result_text(tls, ctx,
 31284  				func() uintptr {
 31285  					if (*closure_cursor)(unsafe.Pointer(pCur)).FzParentColumn != 0 {
 31286  						return (*closure_cursor)(unsafe.Pointer(pCur)).FzParentColumn
 31287  					}
 31288  					return (*closure_vtab)(unsafe.Pointer((*closure_cursor)(unsafe.Pointer(pCur)).FpVtab)).FzParentColumn
 31289  				}(),
 31290  				-1, libc.UintptrFromInt32(-1))
 31291  			break
 31292  
 31293  		}
 31294  	}
 31295  	return SQLITE_OK
 31296  }
 31297  
 31298  func closureRowid(tls *libc.TLS, cur uintptr, pRowid uintptr) int32 {
 31299  	var pCur uintptr = cur
 31300  	*(*sqlite_int64)(unsafe.Pointer(pRowid)) = (*closure_avl)(unsafe.Pointer((*closure_cursor)(unsafe.Pointer(pCur)).FpCurrent)).Fid
 31301  	return SQLITE_OK
 31302  }
 31303  
 31304  func closureEof(tls *libc.TLS, cur uintptr) int32 {
 31305  	var pCur uintptr = cur
 31306  	return libc.Bool32((*closure_cursor)(unsafe.Pointer(pCur)).FpCurrent == uintptr(0))
 31307  }
 31308  
 31309  func closureBestIndex(tls *libc.TLS, pTab uintptr, pIdxInfo uintptr) int32 {
 31310  	var iPlan int32 = 0
 31311  	var i int32
 31312  	var idx int32 = 1
 31313  	var pConstraint uintptr
 31314  	var pVtab uintptr = pTab
 31315  	var rCost float64 = 10000000.0
 31316  
 31317  	pConstraint = (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraint
 31318  	i = 0
 31319  __1:
 31320  	if !(i < (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint) {
 31321  		goto __3
 31322  	}
 31323  	{
 31324  		if int32((*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fusable) == 0 {
 31325  			goto __2
 31326  		}
 31327  		if iPlan&1 == 0 &&
 31328  			(*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn == CLOSURE_COL_ROOT &&
 31329  			int32((*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fop) == SQLITE_INDEX_CONSTRAINT_EQ {
 31330  			iPlan = iPlan | 1
 31331  			(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(i)*8)).FargvIndex = 1
 31332  			(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(i)*8)).Fomit = uint8(1)
 31333  			rCost = rCost / 100.0
 31334  		}
 31335  		if iPlan&0x0000f0 == 0 &&
 31336  			(*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn == CLOSURE_COL_DEPTH &&
 31337  			(int32((*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fop) == SQLITE_INDEX_CONSTRAINT_LT ||
 31338  				int32((*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fop) == SQLITE_INDEX_CONSTRAINT_LE ||
 31339  				int32((*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fop) == SQLITE_INDEX_CONSTRAINT_EQ) {
 31340  			iPlan = iPlan | idx<<4
 31341  			(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(i)*8)).FargvIndex = libc.PreIncInt32(&idx, 1)
 31342  			if int32((*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fop) == SQLITE_INDEX_CONSTRAINT_LT {
 31343  				iPlan = iPlan | 0x000002
 31344  			}
 31345  			rCost = rCost / 5.0
 31346  		}
 31347  		if iPlan&0x000f00 == 0 &&
 31348  			(*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn == CLOSURE_COL_TABLENAME &&
 31349  			int32((*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fop) == SQLITE_INDEX_CONSTRAINT_EQ {
 31350  			iPlan = iPlan | idx<<8
 31351  			(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(i)*8)).FargvIndex = libc.PreIncInt32(&idx, 1)
 31352  			(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(i)*8)).Fomit = uint8(1)
 31353  			rCost = rCost / 5.0
 31354  		}
 31355  		if iPlan&0x00f000 == 0 &&
 31356  			(*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn == CLOSURE_COL_IDCOLUMN &&
 31357  			int32((*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fop) == SQLITE_INDEX_CONSTRAINT_EQ {
 31358  			iPlan = iPlan | idx<<12
 31359  			(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(i)*8)).FargvIndex = libc.PreIncInt32(&idx, 1)
 31360  			(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(i)*8)).Fomit = uint8(1)
 31361  		}
 31362  		if iPlan&0x0f0000 == 0 &&
 31363  			(*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn == CLOSURE_COL_PARENTCOLUMN &&
 31364  			int32((*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fop) == SQLITE_INDEX_CONSTRAINT_EQ {
 31365  			iPlan = iPlan | idx<<16
 31366  			(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(i)*8)).FargvIndex = libc.PreIncInt32(&idx, 1)
 31367  			(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(i)*8)).Fomit = uint8(1)
 31368  		}
 31369  
 31370  	}
 31371  	goto __2
 31372  __2:
 31373  	i++
 31374  	pConstraint += 12
 31375  	goto __1
 31376  	goto __3
 31377  __3:
 31378  	;
 31379  	if (*closure_vtab)(unsafe.Pointer(pVtab)).FzTableName == uintptr(0) && iPlan&0x000f00 == 0 ||
 31380  		(*closure_vtab)(unsafe.Pointer(pVtab)).FzIdColumn == uintptr(0) && iPlan&0x00f000 == 0 ||
 31381  		(*closure_vtab)(unsafe.Pointer(pVtab)).FzParentColumn == uintptr(0) && iPlan&0x0f0000 == 0 {
 31382  		iPlan = 0
 31383  	}
 31384  	if iPlan&1 == 0 {
 31385  		rCost = rCost * 1e30
 31386  		i = 0
 31387  	__4:
 31388  		if !(i < (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint) {
 31389  			goto __6
 31390  		}
 31391  		{
 31392  			(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(i)*8)).FargvIndex = 0
 31393  
 31394  		}
 31395  		goto __5
 31396  	__5:
 31397  		i++
 31398  		pConstraint += 12
 31399  		goto __4
 31400  		goto __6
 31401  	__6:
 31402  		;
 31403  		iPlan = 0
 31404  	}
 31405  	(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = iPlan
 31406  	if (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnOrderBy == 1 &&
 31407  		(*sqlite3_index_orderby)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaOrderBy)).FiColumn == CLOSURE_COL_ID &&
 31408  		int32((*sqlite3_index_orderby)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaOrderBy)).Fdesc) == 0 {
 31409  		(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).ForderByConsumed = 1
 31410  	}
 31411  	(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = rCost
 31412  
 31413  	return SQLITE_OK
 31414  }
 31415  
 31416  var closureModule = sqlite3_module{
 31417  	FxCreate:     0,
 31418  	FxConnect:    0,
 31419  	FxBestIndex:  0,
 31420  	FxDisconnect: 0,
 31421  	FxDestroy:    0,
 31422  	FxOpen:       0,
 31423  	FxClose:      0,
 31424  	FxFilter:     0,
 31425  	FxNext:       0,
 31426  	FxEof:        0,
 31427  	FxColumn:     0,
 31428  	FxRowid:      0,
 31429  }
 31430  
 31431  func sqlite3_closure_init(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi uintptr) int32 {
 31432  	var rc int32 = SQLITE_OK
 31433  	_ = pApi
 31434  
 31435  	_ = pzErrMsg
 31436  	rc = sqlite3.Xsqlite3_create_module(tls, db, ts+4383, uintptr(unsafe.Pointer(&closureModule)), uintptr(0))
 31437  	return rc
 31438  }
 31439  
 31440  type CsvReader1 = struct {
 31441  	Fin          uintptr
 31442  	Fz           uintptr
 31443  	Fn           int32
 31444  	FnAlloc      int32
 31445  	FnLine       int32
 31446  	FbNotFirst   int32
 31447  	FcTerm       int32
 31448  	F__ccgo_pad1 [4]byte
 31449  	FiIn         size_t
 31450  	FnIn         size_t
 31451  	FzIn         uintptr
 31452  	FzErr        [200]int8
 31453  }
 31454  
 31455  type CsvReader = CsvReader1
 31456  
 31457  func csv_reader_init(tls *libc.TLS, p uintptr) {
 31458  	(*CsvReader)(unsafe.Pointer(p)).Fin = uintptr(0)
 31459  	(*CsvReader)(unsafe.Pointer(p)).Fz = uintptr(0)
 31460  	(*CsvReader)(unsafe.Pointer(p)).Fn = 0
 31461  	(*CsvReader)(unsafe.Pointer(p)).FnAlloc = 0
 31462  	(*CsvReader)(unsafe.Pointer(p)).FnLine = 0
 31463  	(*CsvReader)(unsafe.Pointer(p)).FbNotFirst = 0
 31464  	(*CsvReader)(unsafe.Pointer(p)).FnIn = uint64(0)
 31465  	(*CsvReader)(unsafe.Pointer(p)).FzIn = uintptr(0)
 31466  	*(*int8)(unsafe.Pointer(p + 64)) = int8(0)
 31467  }
 31468  
 31469  func csv_reader_reset(tls *libc.TLS, p uintptr) {
 31470  	if (*CsvReader)(unsafe.Pointer(p)).Fin != 0 {
 31471  		libc.Xfclose(tls, (*CsvReader)(unsafe.Pointer(p)).Fin)
 31472  		sqlite3.Xsqlite3_free(tls, (*CsvReader)(unsafe.Pointer(p)).FzIn)
 31473  	}
 31474  	sqlite3.Xsqlite3_free(tls, (*CsvReader)(unsafe.Pointer(p)).Fz)
 31475  	csv_reader_init(tls, p)
 31476  }
 31477  
 31478  func csv_errmsg(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) {
 31479  	var ap va_list
 31480  	_ = ap
 31481  	ap = va
 31482  	sqlite3.Xsqlite3_vsnprintf(tls, CSV_MXERR, p+64, zFormat, ap)
 31483  	_ = ap
 31484  }
 31485  
 31486  func csv_reader_open(tls *libc.TLS, p uintptr, zFilename uintptr, zData uintptr) int32 {
 31487  	bp := tls.Alloc(8)
 31488  	defer tls.Free(8)
 31489  
 31490  	if zFilename != 0 {
 31491  		(*CsvReader)(unsafe.Pointer(p)).FzIn = sqlite3.Xsqlite3_malloc(tls, CSV_INBUFSZ)
 31492  		if (*CsvReader)(unsafe.Pointer(p)).FzIn == uintptr(0) {
 31493  			csv_errmsg(tls, p, ts+2069, 0)
 31494  			return 1
 31495  		}
 31496  		(*CsvReader)(unsafe.Pointer(p)).Fin = libc.Xfopen(tls, zFilename, ts+4402)
 31497  		if (*CsvReader)(unsafe.Pointer(p)).Fin == uintptr(0) {
 31498  			sqlite3.Xsqlite3_free(tls, (*CsvReader)(unsafe.Pointer(p)).FzIn)
 31499  			csv_reader_reset(tls, p)
 31500  			csv_errmsg(tls, p, ts+4405, libc.VaList(bp, zFilename))
 31501  			return 1
 31502  		}
 31503  	} else {
 31504  		(*CsvReader)(unsafe.Pointer(p)).FzIn = zData
 31505  		(*CsvReader)(unsafe.Pointer(p)).FnIn = libc.Xstrlen(tls, zData)
 31506  	}
 31507  	return 0
 31508  }
 31509  
 31510  func csv_getc_refill(tls *libc.TLS, p uintptr) int32 {
 31511  	var got size_t
 31512  
 31513  	got = libc.Xfread(tls, (*CsvReader)(unsafe.Pointer(p)).FzIn, uint64(1), uint64(CSV_INBUFSZ), (*CsvReader)(unsafe.Pointer(p)).Fin)
 31514  	if got == uint64(0) {
 31515  		return -1
 31516  	}
 31517  	(*CsvReader)(unsafe.Pointer(p)).FnIn = got
 31518  	(*CsvReader)(unsafe.Pointer(p)).FiIn = uint64(1)
 31519  	return int32(*(*int8)(unsafe.Pointer((*CsvReader)(unsafe.Pointer(p)).FzIn)))
 31520  }
 31521  
 31522  func csv_getc(tls *libc.TLS, p uintptr) int32 {
 31523  	if (*CsvReader)(unsafe.Pointer(p)).FiIn >= (*CsvReader)(unsafe.Pointer(p)).FnIn {
 31524  		if (*CsvReader)(unsafe.Pointer(p)).Fin != uintptr(0) {
 31525  			return csv_getc_refill(tls, p)
 31526  		}
 31527  		return -1
 31528  	}
 31529  	return int32(*(*uint8)(unsafe.Pointer((*CsvReader)(unsafe.Pointer(p)).FzIn + uintptr(libc.PostIncUint64(&(*CsvReader)(unsafe.Pointer(p)).FiIn, 1)))))
 31530  }
 31531  
 31532  func csv_resize_and_append(tls *libc.TLS, p uintptr, c int8) int32 {
 31533  	var zNew uintptr
 31534  	var nNew int32 = (*CsvReader)(unsafe.Pointer(p)).FnAlloc*2 + 100
 31535  	zNew = sqlite3.Xsqlite3_realloc64(tls, (*CsvReader)(unsafe.Pointer(p)).Fz, uint64(nNew))
 31536  	if zNew != 0 {
 31537  		(*CsvReader)(unsafe.Pointer(p)).Fz = zNew
 31538  		(*CsvReader)(unsafe.Pointer(p)).FnAlloc = nNew
 31539  		*(*int8)(unsafe.Pointer((*CsvReader)(unsafe.Pointer(p)).Fz + uintptr(libc.PostIncInt32(&(*CsvReader)(unsafe.Pointer(p)).Fn, 1)))) = c
 31540  		return 0
 31541  	} else {
 31542  		csv_errmsg(tls, p, ts+2069, 0)
 31543  		return 1
 31544  	}
 31545  	return int32(0)
 31546  }
 31547  
 31548  func csv_append(tls *libc.TLS, p uintptr, c int8) int32 {
 31549  	if (*CsvReader)(unsafe.Pointer(p)).Fn >= (*CsvReader)(unsafe.Pointer(p)).FnAlloc-1 {
 31550  		return csv_resize_and_append(tls, p, c)
 31551  	}
 31552  	*(*int8)(unsafe.Pointer((*CsvReader)(unsafe.Pointer(p)).Fz + uintptr(libc.PostIncInt32(&(*CsvReader)(unsafe.Pointer(p)).Fn, 1)))) = c
 31553  	return 0
 31554  }
 31555  
 31556  func csv_read_one_field(tls *libc.TLS, p uintptr) uintptr {
 31557  	bp := tls.Alloc(32)
 31558  	defer tls.Free(32)
 31559  
 31560  	var c int32
 31561  	(*CsvReader)(unsafe.Pointer(p)).Fn = 0
 31562  	c = csv_getc(tls, p)
 31563  	if c == -1 {
 31564  		(*CsvReader)(unsafe.Pointer(p)).FcTerm = -1
 31565  		return uintptr(0)
 31566  	}
 31567  	if c == '"' {
 31568  		var pc int32
 31569  		var ppc int32
 31570  		var startLine int32 = (*CsvReader)(unsafe.Pointer(p)).FnLine
 31571  		pc = libc.AssignInt32(&ppc, 0)
 31572  		for 1 != 0 {
 31573  			c = csv_getc(tls, p)
 31574  			if c <= '"' || pc == '"' {
 31575  				if c == '\n' {
 31576  					(*CsvReader)(unsafe.Pointer(p)).FnLine++
 31577  				}
 31578  				if c == '"' {
 31579  					if pc == '"' {
 31580  						pc = 0
 31581  						continue
 31582  					}
 31583  				}
 31584  				if c == ',' && pc == '"' ||
 31585  					c == '\n' && pc == '"' ||
 31586  					c == '\n' && pc == '\r' && ppc == '"' ||
 31587  					c == -1 && pc == '"' {
 31588  					for __ccgo := true; __ccgo; __ccgo = int32(*(*int8)(unsafe.Pointer((*CsvReader)(unsafe.Pointer(p)).Fz + uintptr((*CsvReader)(unsafe.Pointer(p)).Fn)))) != '"' {
 31589  						(*CsvReader)(unsafe.Pointer(p)).Fn--
 31590  					}
 31591  					(*CsvReader)(unsafe.Pointer(p)).FcTerm = int32(int8(c))
 31592  					break
 31593  				}
 31594  				if pc == '"' && c != '\r' {
 31595  					csv_errmsg(tls, p, ts+4434, libc.VaList(bp, (*CsvReader)(unsafe.Pointer(p)).FnLine, '"'))
 31596  					break
 31597  				}
 31598  				if c == -1 {
 31599  					csv_errmsg(tls, p, ts+4466,
 31600  						libc.VaList(bp+16, startLine, '"'))
 31601  					(*CsvReader)(unsafe.Pointer(p)).FcTerm = int32(int8(c))
 31602  					break
 31603  				}
 31604  			}
 31605  			if csv_append(tls, p, int8(c)) != 0 {
 31606  				return uintptr(0)
 31607  			}
 31608  			ppc = pc
 31609  			pc = c
 31610  		}
 31611  	} else {
 31612  		if c&0xff == 0xef && (*CsvReader)(unsafe.Pointer(p)).FbNotFirst == 0 {
 31613  			csv_append(tls, p, int8(c))
 31614  			c = csv_getc(tls, p)
 31615  			if c&0xff == 0xbb {
 31616  				csv_append(tls, p, int8(c))
 31617  				c = csv_getc(tls, p)
 31618  				if c&0xff == 0xbf {
 31619  					(*CsvReader)(unsafe.Pointer(p)).FbNotFirst = 1
 31620  					(*CsvReader)(unsafe.Pointer(p)).Fn = 0
 31621  					return csv_read_one_field(tls, p)
 31622  				}
 31623  			}
 31624  		}
 31625  		for c > ',' || c != -1 && c != ',' && c != '\n' {
 31626  			if csv_append(tls, p, int8(c)) != 0 {
 31627  				return uintptr(0)
 31628  			}
 31629  			c = csv_getc(tls, p)
 31630  		}
 31631  		if c == '\n' {
 31632  			(*CsvReader)(unsafe.Pointer(p)).FnLine++
 31633  			if (*CsvReader)(unsafe.Pointer(p)).Fn > 0 && int32(*(*int8)(unsafe.Pointer((*CsvReader)(unsafe.Pointer(p)).Fz + uintptr((*CsvReader)(unsafe.Pointer(p)).Fn-1)))) == '\r' {
 31634  				(*CsvReader)(unsafe.Pointer(p)).Fn--
 31635  			}
 31636  		}
 31637  		(*CsvReader)(unsafe.Pointer(p)).FcTerm = int32(int8(c))
 31638  	}
 31639  	if (*CsvReader)(unsafe.Pointer(p)).Fz != 0 {
 31640  		*(*int8)(unsafe.Pointer((*CsvReader)(unsafe.Pointer(p)).Fz + uintptr((*CsvReader)(unsafe.Pointer(p)).Fn))) = int8(0)
 31641  	}
 31642  	(*CsvReader)(unsafe.Pointer(p)).FbNotFirst = 1
 31643  	return (*CsvReader)(unsafe.Pointer(p)).Fz
 31644  }
 31645  
 31646  type CsvTable1 = struct {
 31647  	Fbase        sqlite3_vtab
 31648  	FzFilename   uintptr
 31649  	FzData       uintptr
 31650  	FiStart      int32
 31651  	FnCol        int32
 31652  	FtstFlags    uint32
 31653  	F__ccgo_pad1 [4]byte
 31654  }
 31655  
 31656  type CsvTable = CsvTable1
 31657  
 31658  type CsvCursor1 = struct {
 31659  	Fbase   sqlite3_vtab_cursor
 31660  	Frdr    CsvReader
 31661  	FazVal  uintptr
 31662  	FaLen   uintptr
 31663  	FiRowid sqlite3_int64
 31664  }
 31665  
 31666  type CsvCursor = CsvCursor1
 31667  
 31668  func csv_xfer_error(tls *libc.TLS, pTab uintptr, pRdr uintptr) {
 31669  	bp := tls.Alloc(8)
 31670  	defer tls.Free(8)
 31671  
 31672  	sqlite3.Xsqlite3_free(tls, (*CsvTable)(unsafe.Pointer(pTab)).Fbase.FzErrMsg)
 31673  	(*CsvTable)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts, libc.VaList(bp, pRdr+64))
 31674  }
 31675  
 31676  func csvtabDisconnect(tls *libc.TLS, pVtab uintptr) int32 {
 31677  	var p uintptr = pVtab
 31678  	sqlite3.Xsqlite3_free(tls, (*CsvTable)(unsafe.Pointer(p)).FzFilename)
 31679  	sqlite3.Xsqlite3_free(tls, (*CsvTable)(unsafe.Pointer(p)).FzData)
 31680  	sqlite3.Xsqlite3_free(tls, p)
 31681  	return SQLITE_OK
 31682  }
 31683  
 31684  func csv_skip_whitespace(tls *libc.TLS, z uintptr) uintptr {
 31685  	for libc.Xisspace(tls, int32(uint8(*(*int8)(unsafe.Pointer(z))))) != 0 {
 31686  		z++
 31687  	}
 31688  	return z
 31689  }
 31690  
 31691  func csv_trim_whitespace(tls *libc.TLS, z uintptr) {
 31692  	var n size_t = libc.Xstrlen(tls, z)
 31693  	for n > uint64(0) && libc.Xisspace(tls, int32(uint8(*(*int8)(unsafe.Pointer(z + uintptr(n)))))) != 0 {
 31694  		n--
 31695  	}
 31696  	*(*int8)(unsafe.Pointer(z + uintptr(n))) = int8(0)
 31697  }
 31698  
 31699  func csv_dequote(tls *libc.TLS, z uintptr) {
 31700  	var j int32
 31701  	var cQuote int8 = *(*int8)(unsafe.Pointer(z))
 31702  	var i size_t
 31703  	var n size_t
 31704  
 31705  	if int32(cQuote) != '\'' && int32(cQuote) != '"' {
 31706  		return
 31707  	}
 31708  	n = libc.Xstrlen(tls, z)
 31709  	if n < uint64(2) || int32(*(*int8)(unsafe.Pointer(z + uintptr(n-uint64(1))))) != int32(*(*int8)(unsafe.Pointer(z))) {
 31710  		return
 31711  	}
 31712  	i = uint64(1)
 31713  	j = 0
 31714  	for ; i < n-uint64(1); i++ {
 31715  		if int32(*(*int8)(unsafe.Pointer(z + uintptr(i)))) == int32(cQuote) && int32(*(*int8)(unsafe.Pointer(z + uintptr(i+uint64(1))))) == int32(cQuote) {
 31716  			i++
 31717  		}
 31718  		*(*int8)(unsafe.Pointer(z + uintptr(libc.PostIncInt32(&j, 1)))) = *(*int8)(unsafe.Pointer(z + uintptr(i)))
 31719  	}
 31720  	*(*int8)(unsafe.Pointer(z + uintptr(j))) = int8(0)
 31721  }
 31722  
 31723  func csv_parameter(tls *libc.TLS, zTag uintptr, nTag int32, z uintptr) uintptr {
 31724  	z = csv_skip_whitespace(tls, z)
 31725  	if libc.Xstrncmp(tls, zTag, z, uint64(nTag)) != 0 {
 31726  		return uintptr(0)
 31727  	}
 31728  	z = csv_skip_whitespace(tls, z+uintptr(nTag))
 31729  	if int32(*(*int8)(unsafe.Pointer(z))) != '=' {
 31730  		return uintptr(0)
 31731  	}
 31732  	return csv_skip_whitespace(tls, z+uintptr(1))
 31733  }
 31734  
 31735  func csv_string_parameter(tls *libc.TLS, p uintptr, zParam uintptr, zArg uintptr, pzVal uintptr) int32 {
 31736  	bp := tls.Alloc(16)
 31737  	defer tls.Free(16)
 31738  
 31739  	var zValue uintptr
 31740  	zValue = csv_parameter(tls, zParam, int32(libc.Xstrlen(tls, zParam)), zArg)
 31741  	if zValue == uintptr(0) {
 31742  		return 0
 31743  	}
 31744  	*(*int8)(unsafe.Pointer(p + 64)) = int8(0)
 31745  	if *(*uintptr)(unsafe.Pointer(pzVal)) != 0 {
 31746  		csv_errmsg(tls, p, ts+4505, libc.VaList(bp, zParam))
 31747  		return 1
 31748  	}
 31749  	*(*uintptr)(unsafe.Pointer(pzVal)) = sqlite3.Xsqlite3_mprintf(tls, ts, libc.VaList(bp+8, zValue))
 31750  	if *(*uintptr)(unsafe.Pointer(pzVal)) == uintptr(0) {
 31751  		csv_errmsg(tls, p, ts+2069, 0)
 31752  		return 1
 31753  	}
 31754  	csv_trim_whitespace(tls, *(*uintptr)(unsafe.Pointer(pzVal)))
 31755  	csv_dequote(tls, *(*uintptr)(unsafe.Pointer(pzVal)))
 31756  	return 1
 31757  }
 31758  
 31759  func csv_boolean(tls *libc.TLS, z uintptr) int32 {
 31760  	if sqlite3.Xsqlite3_stricmp(tls, ts+4174, z) == 0 ||
 31761  		sqlite3.Xsqlite3_stricmp(tls, ts+4178, z) == 0 ||
 31762  		sqlite3.Xsqlite3_stricmp(tls, ts+4534, z) == 0 ||
 31763  		int32(*(*int8)(unsafe.Pointer(z))) == '1' && int32(*(*int8)(unsafe.Pointer(z + 1))) == 0 {
 31764  		return 1
 31765  	}
 31766  	if sqlite3.Xsqlite3_stricmp(tls, ts+4539, z) == 0 ||
 31767  		sqlite3.Xsqlite3_stricmp(tls, ts+4542, z) == 0 ||
 31768  		sqlite3.Xsqlite3_stricmp(tls, ts+4546, z) == 0 ||
 31769  		int32(*(*int8)(unsafe.Pointer(z))) == '0' && int32(*(*int8)(unsafe.Pointer(z + 1))) == 0 {
 31770  		return 0
 31771  	}
 31772  	return -1
 31773  }
 31774  
 31775  func csv_boolean_parameter(tls *libc.TLS, zTag uintptr, nTag int32, z uintptr, pValue uintptr) int32 {
 31776  	var b int32
 31777  	z = csv_skip_whitespace(tls, z)
 31778  	if libc.Xstrncmp(tls, zTag, z, uint64(nTag)) != 0 {
 31779  		return 0
 31780  	}
 31781  	z = csv_skip_whitespace(tls, z+uintptr(nTag))
 31782  	if int32(*(*int8)(unsafe.Pointer(z))) == 0 {
 31783  		*(*int32)(unsafe.Pointer(pValue)) = 1
 31784  		return 1
 31785  	}
 31786  	if int32(*(*int8)(unsafe.Pointer(z))) != '=' {
 31787  		return 0
 31788  	}
 31789  	z = csv_skip_whitespace(tls, z+uintptr(1))
 31790  	b = csv_boolean(tls, z)
 31791  	if b >= 0 {
 31792  		*(*int32)(unsafe.Pointer(pValue)) = b
 31793  		return 1
 31794  	}
 31795  	return 0
 31796  }
 31797  
 31798  func csvtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 {
 31799  	bp := tls.Alloc(372)
 31800  	defer tls.Free(372)
 31801  
 31802  	var pNew uintptr
 31803  	var bHeader int32
 31804  	var rc int32
 31805  	var i int32
 31806  	var j int32
 31807  	var tstFlags int32
 31808  
 31809  	var nCol int32
 31810  
 31811  	var z uintptr
 31812  	var zValue uintptr
 31813  	var z1 uintptr
 31814  	var pStr uintptr
 31815  	var zSep uintptr
 31816  	var iCol int32
 31817  	pNew = uintptr(0)
 31818  	bHeader = -1
 31819  	rc = SQLITE_OK
 31820  	tstFlags = 0
 31821  	nCol = -99
 31822  
 31823  	libc.Xmemset(tls, bp+80, 0, uint64(unsafe.Sizeof(CsvReader{})))
 31824  	libc.Xmemset(tls, bp+344, 0, uint64(unsafe.Sizeof([3]uintptr{})))
 31825  	i = 3
 31826  __1:
 31827  	if !(i < argc) {
 31828  		goto __3
 31829  	}
 31830  	z = *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))
 31831  	j = 0
 31832  __4:
 31833  	if !(uint64(j) < uint64(unsafe.Sizeof(azParam))/uint64(unsafe.Sizeof(uintptr(0)))) {
 31834  		goto __6
 31835  	}
 31836  	if !(csv_string_parameter(tls, bp+80, azParam[j], z, bp+344+uintptr(j)*8) != 0) {
 31837  		goto __7
 31838  	}
 31839  	goto __6
 31840  __7:
 31841  	;
 31842  	goto __5
 31843  __5:
 31844  	j++
 31845  	goto __4
 31846  	goto __6
 31847  __6:
 31848  	;
 31849  	if !(uint64(j) < uint64(unsafe.Sizeof(azParam))/uint64(unsafe.Sizeof(uintptr(0)))) {
 31850  		goto __8
 31851  	}
 31852  	if !(*(*int8)(unsafe.Pointer(bp + 80 + 64)) != 0) {
 31853  		goto __10
 31854  	}
 31855  	goto csvtab_connect_error
 31856  __10:
 31857  	;
 31858  	goto __9
 31859  __8:
 31860  	if !(csv_boolean_parameter(tls, ts+4552, 6, z, bp+368) != 0) {
 31861  		goto __11
 31862  	}
 31863  	if !(bHeader >= 0) {
 31864  		goto __13
 31865  	}
 31866  	csv_errmsg(tls, bp+80, ts+4559, 0)
 31867  	goto csvtab_connect_error
 31868  __13:
 31869  	;
 31870  	bHeader = *(*int32)(unsafe.Pointer(bp + 368))
 31871  	goto __12
 31872  __11:
 31873  	if !(libc.AssignUintptr(&zValue, csv_parameter(tls, ts+4592, 9, z)) != uintptr(0)) {
 31874  		goto __14
 31875  	}
 31876  	tstFlags = int32(uint32(libc.Xatoi(tls, zValue)))
 31877  	goto __15
 31878  __14:
 31879  	if !(libc.AssignUintptr(&zValue, csv_parameter(tls, ts+4602, 7, z)) != uintptr(0)) {
 31880  		goto __16
 31881  	}
 31882  	if !(nCol > 0) {
 31883  		goto __18
 31884  	}
 31885  	csv_errmsg(tls, bp+80, ts+4610, 0)
 31886  	goto csvtab_connect_error
 31887  __18:
 31888  	;
 31889  	nCol = libc.Xatoi(tls, zValue)
 31890  	if !(nCol <= 0) {
 31891  		goto __19
 31892  	}
 31893  	csv_errmsg(tls, bp+80, ts+4644, 0)
 31894  	goto csvtab_connect_error
 31895  __19:
 31896  	;
 31897  	goto __17
 31898  __16:
 31899  	csv_errmsg(tls, bp+80, ts+4675, libc.VaList(bp, z))
 31900  	goto csvtab_connect_error
 31901  __17:
 31902  	;
 31903  __15:
 31904  	;
 31905  __12:
 31906  	;
 31907  __9:
 31908  	;
 31909  	goto __2
 31910  __2:
 31911  	i++
 31912  	goto __1
 31913  	goto __3
 31914  __3:
 31915  	;
 31916  	if !(libc.Bool32(*(*uintptr)(unsafe.Pointer(bp + 344)) == uintptr(0)) == libc.Bool32(*(*uintptr)(unsafe.Pointer(bp + 344 + 1*8)) == uintptr(0))) {
 31917  		goto __20
 31918  	}
 31919  	csv_errmsg(tls, bp+80, ts+4695, 0)
 31920  	goto csvtab_connect_error
 31921  __20:
 31922  	;
 31923  	if !((nCol <= 0 || bHeader == 1) &&
 31924  		csv_reader_open(tls, bp+80, *(*uintptr)(unsafe.Pointer(bp + 344)), *(*uintptr)(unsafe.Pointer(bp + 344 + 1*8))) != 0) {
 31925  		goto __21
 31926  	}
 31927  	goto csvtab_connect_error
 31928  __21:
 31929  	;
 31930  	pNew = sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(CsvTable{})))
 31931  	*(*uintptr)(unsafe.Pointer(ppVtab)) = pNew
 31932  	if !(pNew == uintptr(0)) {
 31933  		goto __22
 31934  	}
 31935  	goto csvtab_connect_oom
 31936  __22:
 31937  	;
 31938  	libc.Xmemset(tls, pNew, 0, uint64(unsafe.Sizeof(CsvTable{})))
 31939  	if !(*(*uintptr)(unsafe.Pointer(bp + 344 + 2*8)) == uintptr(0)) {
 31940  		goto __23
 31941  	}
 31942  	pStr = sqlite3.Xsqlite3_str_new(tls, uintptr(0))
 31943  	zSep = ts + 584
 31944  	iCol = 0
 31945  	sqlite3.Xsqlite3_str_appendf(tls, pStr, ts+979, 0)
 31946  	if !(nCol < 0 && bHeader < 1) {
 31947  		goto __25
 31948  	}
 31949  	nCol = 0
 31950  __26:
 31951  	csv_read_one_field(tls, bp+80)
 31952  	nCol++
 31953  	goto __27
 31954  __27:
 31955  	if (*CsvReader)(unsafe.Pointer(bp+80)).FcTerm == ',' {
 31956  		goto __26
 31957  	}
 31958  	goto __28
 31959  __28:
 31960  	;
 31961  __25:
 31962  	;
 31963  	if !(nCol > 0 && bHeader < 1) {
 31964  		goto __29
 31965  	}
 31966  	iCol = 0
 31967  __31:
 31968  	if !(iCol < nCol) {
 31969  		goto __33
 31970  	}
 31971  	sqlite3.Xsqlite3_str_appendf(tls, pStr, ts+4747, libc.VaList(bp+8, zSep, iCol))
 31972  	zSep = ts + 4758
 31973  	goto __32
 31974  __32:
 31975  	iCol++
 31976  	goto __31
 31977  	goto __33
 31978  __33:
 31979  	;
 31980  	goto __30
 31981  __29:
 31982  __34:
 31983  	z1 = csv_read_one_field(tls, bp+80)
 31984  	if !(nCol > 0 && iCol < nCol || nCol < 0 && bHeader != 0) {
 31985  		goto __37
 31986  	}
 31987  	sqlite3.Xsqlite3_str_appendf(tls, pStr, ts+4760, libc.VaList(bp+24, zSep, z1))
 31988  	zSep = ts + 4758
 31989  	iCol++
 31990  __37:
 31991  	;
 31992  	goto __35
 31993  __35:
 31994  	if (*CsvReader)(unsafe.Pointer(bp+80)).FcTerm == ',' {
 31995  		goto __34
 31996  	}
 31997  	goto __36
 31998  __36:
 31999  	;
 32000  	if !(nCol < 0) {
 32001  		goto __38
 32002  	}
 32003  	nCol = iCol
 32004  	goto __39
 32005  __38:
 32006  __40:
 32007  	if !(iCol < nCol) {
 32008  		goto __41
 32009  	}
 32010  	sqlite3.Xsqlite3_str_appendf(tls, pStr, ts+4747, libc.VaList(bp+40, zSep, libc.PreIncInt32(&iCol, 1)))
 32011  	zSep = ts + 4758
 32012  	goto __40
 32013  __41:
 32014  	;
 32015  __39:
 32016  	;
 32017  __30:
 32018  	;
 32019  	(*CsvTable)(unsafe.Pointer(pNew)).FnCol = nCol
 32020  	sqlite3.Xsqlite3_str_appendf(tls, pStr, ts+585, 0)
 32021  	*(*uintptr)(unsafe.Pointer(bp + 344 + 2*8)) = sqlite3.Xsqlite3_str_finish(tls, pStr)
 32022  	if !(*(*uintptr)(unsafe.Pointer(bp + 344 + 2*8)) == uintptr(0)) {
 32023  		goto __42
 32024  	}
 32025  	goto csvtab_connect_oom
 32026  __42:
 32027  	;
 32028  	goto __24
 32029  __23:
 32030  	if !(nCol < 0) {
 32031  		goto __43
 32032  	}
 32033  __45:
 32034  	csv_read_one_field(tls, bp+80)
 32035  	(*CsvTable)(unsafe.Pointer(pNew)).FnCol++
 32036  	goto __46
 32037  __46:
 32038  	if (*CsvReader)(unsafe.Pointer(bp+80)).FcTerm == ',' {
 32039  		goto __45
 32040  	}
 32041  	goto __47
 32042  __47:
 32043  	;
 32044  	goto __44
 32045  __43:
 32046  	(*CsvTable)(unsafe.Pointer(pNew)).FnCol = nCol
 32047  __44:
 32048  	;
 32049  __24:
 32050  	;
 32051  	(*CsvTable)(unsafe.Pointer(pNew)).FzFilename = *(*uintptr)(unsafe.Pointer(bp + 344))
 32052  	*(*uintptr)(unsafe.Pointer(bp + 344)) = uintptr(0)
 32053  	(*CsvTable)(unsafe.Pointer(pNew)).FzData = *(*uintptr)(unsafe.Pointer(bp + 344 + 1*8))
 32054  	*(*uintptr)(unsafe.Pointer(bp + 344 + 1*8)) = uintptr(0)
 32055  	(*CsvTable)(unsafe.Pointer(pNew)).FtstFlags = uint32(tstFlags)
 32056  	if !(bHeader != 1) {
 32057  		goto __48
 32058  	}
 32059  	(*CsvTable)(unsafe.Pointer(pNew)).FiStart = 0
 32060  	goto __49
 32061  __48:
 32062  	if !((*CsvTable)(unsafe.Pointer(pNew)).FzData != 0) {
 32063  		goto __50
 32064  	}
 32065  	(*CsvTable)(unsafe.Pointer(pNew)).FiStart = int32((*CsvReader)(unsafe.Pointer(bp + 80)).FiIn)
 32066  	goto __51
 32067  __50:
 32068  	(*CsvTable)(unsafe.Pointer(pNew)).FiStart = int32(size_t(libc.Xftell(tls, (*CsvReader)(unsafe.Pointer(bp+80)).Fin)) - (*CsvReader)(unsafe.Pointer(bp+80)).FnIn + (*CsvReader)(unsafe.Pointer(bp+80)).FiIn)
 32069  __51:
 32070  	;
 32071  __49:
 32072  	;
 32073  	csv_reader_reset(tls, bp+80)
 32074  	rc = sqlite3.Xsqlite3_declare_vtab(tls, db, *(*uintptr)(unsafe.Pointer(bp + 344 + 2*8)))
 32075  	if !(rc != 0) {
 32076  		goto __52
 32077  	}
 32078  	csv_errmsg(tls, bp+80, ts+4772, libc.VaList(bp+56, *(*uintptr)(unsafe.Pointer(bp + 344 + 2*8)), sqlite3.Xsqlite3_errmsg(tls, db)))
 32079  	goto csvtab_connect_error
 32080  __52:
 32081  	;
 32082  	i = 0
 32083  __53:
 32084  	if !(uint64(i) < uint64(unsafe.Sizeof([3]uintptr{}))/uint64(unsafe.Sizeof(uintptr(0)))) {
 32085  		goto __55
 32086  	}
 32087  	sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 344 + uintptr(i)*8)))
 32088  	goto __54
 32089  __54:
 32090  	i++
 32091  	goto __53
 32092  	goto __55
 32093  __55:
 32094  	;
 32095  	sqlite3.Xsqlite3_vtab_config(tls, db, SQLITE_VTAB_DIRECTONLY, 0)
 32096  	return SQLITE_OK
 32097  
 32098  csvtab_connect_oom:
 32099  	rc = SQLITE_NOMEM
 32100  	csv_errmsg(tls, bp+80, ts+2069, 0)
 32101  
 32102  csvtab_connect_error:
 32103  	if !(pNew != 0) {
 32104  		goto __56
 32105  	}
 32106  	csvtabDisconnect(tls, pNew)
 32107  __56:
 32108  	;
 32109  	i = 0
 32110  __57:
 32111  	if !(uint64(i) < uint64(unsafe.Sizeof([3]uintptr{}))/uint64(unsafe.Sizeof(uintptr(0)))) {
 32112  		goto __59
 32113  	}
 32114  	sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 344 + uintptr(i)*8)))
 32115  	goto __58
 32116  __58:
 32117  	i++
 32118  	goto __57
 32119  	goto __59
 32120  __59:
 32121  	;
 32122  	if !(*(*int8)(unsafe.Pointer(bp + 80 + 64)) != 0) {
 32123  		goto __60
 32124  	}
 32125  	sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(pzErr)))
 32126  	*(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts, libc.VaList(bp+72, bp+80+64))
 32127  __60:
 32128  	;
 32129  	csv_reader_reset(tls, bp+80)
 32130  	if !(rc == SQLITE_OK) {
 32131  		goto __61
 32132  	}
 32133  	rc = SQLITE_ERROR
 32134  __61:
 32135  	;
 32136  	return rc
 32137  }
 32138  
 32139  var azParam = [3]uintptr{
 32140  	ts + 4794, ts + 4803, ts + 4808,
 32141  }
 32142  
 32143  func csvtabCursorRowReset(tls *libc.TLS, pCur uintptr) {
 32144  	var pTab uintptr = (*CsvCursor)(unsafe.Pointer(pCur)).Fbase.FpVtab
 32145  	var i int32
 32146  	for i = 0; i < (*CsvTable)(unsafe.Pointer(pTab)).FnCol; i++ {
 32147  		sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer((*CsvCursor)(unsafe.Pointer(pCur)).FazVal + uintptr(i)*8)))
 32148  		*(*uintptr)(unsafe.Pointer((*CsvCursor)(unsafe.Pointer(pCur)).FazVal + uintptr(i)*8)) = uintptr(0)
 32149  		*(*int32)(unsafe.Pointer((*CsvCursor)(unsafe.Pointer(pCur)).FaLen + uintptr(i)*4)) = 0
 32150  	}
 32151  }
 32152  
 32153  func csvtabCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 {
 32154  	return csvtabConnect(tls, db, pAux, argc, argv, ppVtab, pzErr)
 32155  }
 32156  
 32157  func csvtabClose(tls *libc.TLS, cur uintptr) int32 {
 32158  	var pCur uintptr = cur
 32159  	csvtabCursorRowReset(tls, pCur)
 32160  	csv_reader_reset(tls, pCur+8)
 32161  	sqlite3.Xsqlite3_free(tls, cur)
 32162  	return SQLITE_OK
 32163  }
 32164  
 32165  func csvtabOpen(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 {
 32166  	var pTab uintptr = p
 32167  	var pCur uintptr
 32168  	var nByte size_t
 32169  	nByte = uint64(unsafe.Sizeof(CsvCursor{})) + (uint64(unsafe.Sizeof(uintptr(0)))+uint64(unsafe.Sizeof(int32(0))))*uint64((*CsvTable)(unsafe.Pointer(pTab)).FnCol)
 32170  	pCur = sqlite3.Xsqlite3_malloc64(tls, nByte)
 32171  	if pCur == uintptr(0) {
 32172  		return SQLITE_NOMEM
 32173  	}
 32174  	libc.Xmemset(tls, pCur, 0, nByte)
 32175  	(*CsvCursor)(unsafe.Pointer(pCur)).FazVal = pCur + 1*296
 32176  	(*CsvCursor)(unsafe.Pointer(pCur)).FaLen = (*CsvCursor)(unsafe.Pointer(pCur)).FazVal + uintptr((*CsvTable)(unsafe.Pointer(pTab)).FnCol)*8
 32177  	*(*uintptr)(unsafe.Pointer(ppCursor)) = pCur
 32178  	if csv_reader_open(tls, pCur+8, (*CsvTable)(unsafe.Pointer(pTab)).FzFilename, (*CsvTable)(unsafe.Pointer(pTab)).FzData) != 0 {
 32179  		csv_xfer_error(tls, pTab, pCur+8)
 32180  		return SQLITE_ERROR
 32181  	}
 32182  	return SQLITE_OK
 32183  }
 32184  
 32185  func csvtabNext(tls *libc.TLS, cur uintptr) int32 {
 32186  	var pCur uintptr = cur
 32187  	var pTab uintptr = (*sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab
 32188  	var i int32 = 0
 32189  	var z uintptr
 32190  	for __ccgo := true; __ccgo; __ccgo = (*CsvCursor)(unsafe.Pointer(pCur)).Frdr.FcTerm == ',' {
 32191  		z = csv_read_one_field(tls, pCur+8)
 32192  		if z == uintptr(0) {
 32193  			break
 32194  		}
 32195  		if i < (*CsvTable)(unsafe.Pointer(pTab)).FnCol {
 32196  			if *(*int32)(unsafe.Pointer((*CsvCursor)(unsafe.Pointer(pCur)).FaLen + uintptr(i)*4)) < (*CsvCursor)(unsafe.Pointer(pCur)).Frdr.Fn+1 {
 32197  				var zNew uintptr = sqlite3.Xsqlite3_realloc64(tls, *(*uintptr)(unsafe.Pointer((*CsvCursor)(unsafe.Pointer(pCur)).FazVal + uintptr(i)*8)), uint64((*CsvCursor)(unsafe.Pointer(pCur)).Frdr.Fn+1))
 32198  				if zNew == uintptr(0) {
 32199  					csv_errmsg(tls, pCur+8, ts+2069, 0)
 32200  					csv_xfer_error(tls, pTab, pCur+8)
 32201  					break
 32202  				}
 32203  				*(*uintptr)(unsafe.Pointer((*CsvCursor)(unsafe.Pointer(pCur)).FazVal + uintptr(i)*8)) = zNew
 32204  				*(*int32)(unsafe.Pointer((*CsvCursor)(unsafe.Pointer(pCur)).FaLen + uintptr(i)*4)) = (*CsvCursor)(unsafe.Pointer(pCur)).Frdr.Fn + 1
 32205  			}
 32206  			libc.Xmemcpy(tls, *(*uintptr)(unsafe.Pointer((*CsvCursor)(unsafe.Pointer(pCur)).FazVal + uintptr(i)*8)), z, uint64((*CsvCursor)(unsafe.Pointer(pCur)).Frdr.Fn+1))
 32207  			i++
 32208  		}
 32209  	}
 32210  	if z == uintptr(0) || (*CsvCursor)(unsafe.Pointer(pCur)).Frdr.FcTerm == -1 && i < (*CsvTable)(unsafe.Pointer(pTab)).FnCol {
 32211  		(*CsvCursor)(unsafe.Pointer(pCur)).FiRowid = int64(-1)
 32212  	} else {
 32213  		(*CsvCursor)(unsafe.Pointer(pCur)).FiRowid++
 32214  		for i < (*CsvTable)(unsafe.Pointer(pTab)).FnCol {
 32215  			sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer((*CsvCursor)(unsafe.Pointer(pCur)).FazVal + uintptr(i)*8)))
 32216  			*(*uintptr)(unsafe.Pointer((*CsvCursor)(unsafe.Pointer(pCur)).FazVal + uintptr(i)*8)) = uintptr(0)
 32217  			*(*int32)(unsafe.Pointer((*CsvCursor)(unsafe.Pointer(pCur)).FaLen + uintptr(i)*4)) = 0
 32218  			i++
 32219  		}
 32220  	}
 32221  	return SQLITE_OK
 32222  }
 32223  
 32224  func csvtabColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 {
 32225  	var pCur uintptr = cur
 32226  	var pTab uintptr = (*sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab
 32227  	if i >= 0 && i < (*CsvTable)(unsafe.Pointer(pTab)).FnCol && *(*uintptr)(unsafe.Pointer((*CsvCursor)(unsafe.Pointer(pCur)).FazVal + uintptr(i)*8)) != uintptr(0) {
 32228  		sqlite3.Xsqlite3_result_text(tls, ctx, *(*uintptr)(unsafe.Pointer((*CsvCursor)(unsafe.Pointer(pCur)).FazVal + uintptr(i)*8)), -1, libc.UintptrFromInt32(-1))
 32229  	}
 32230  	return SQLITE_OK
 32231  }
 32232  
 32233  func csvtabRowid(tls *libc.TLS, cur uintptr, pRowid uintptr) int32 {
 32234  	var pCur uintptr = cur
 32235  	*(*sqlite_int64)(unsafe.Pointer(pRowid)) = (*CsvCursor)(unsafe.Pointer(pCur)).FiRowid
 32236  	return SQLITE_OK
 32237  }
 32238  
 32239  func csvtabEof(tls *libc.TLS, cur uintptr) int32 {
 32240  	var pCur uintptr = cur
 32241  	return libc.Bool32((*CsvCursor)(unsafe.Pointer(pCur)).FiRowid < int64(0))
 32242  }
 32243  
 32244  func csvtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 {
 32245  	var pCur uintptr = pVtabCursor
 32246  	var pTab uintptr = (*sqlite3_vtab_cursor)(unsafe.Pointer(pVtabCursor)).FpVtab
 32247  	(*CsvCursor)(unsafe.Pointer(pCur)).FiRowid = int64(0)
 32248  	if (*CsvCursor)(unsafe.Pointer(pCur)).Frdr.Fin == uintptr(0) {
 32249  		(*CsvCursor)(unsafe.Pointer(pCur)).Frdr.FiIn = size_t((*CsvTable)(unsafe.Pointer(pTab)).FiStart)
 32250  	} else {
 32251  		libc.Xfseek(tls, (*CsvCursor)(unsafe.Pointer(pCur)).Frdr.Fin, (*CsvTable)(unsafe.Pointer(pTab)).FiStart, SEEK_SET)
 32252  		(*CsvCursor)(unsafe.Pointer(pCur)).Frdr.FiIn = uint64(0)
 32253  		(*CsvCursor)(unsafe.Pointer(pCur)).Frdr.FnIn = uint64(0)
 32254  	}
 32255  	return csvtabNext(tls, pVtabCursor)
 32256  }
 32257  
 32258  func csvtabBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 {
 32259  	(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = float64(1000000)
 32260  	if (*CsvTable)(unsafe.Pointer(tab)).FtstFlags&uint32(CSVTEST_FIDX) != uint32(0) {
 32261  		var i int32
 32262  		var nConst int32 = 0
 32263  		for i = 0; i < (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint; i++ {
 32264  			var op uint8
 32265  			if int32((*sqlite3_index_constraint)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraint+uintptr(i)*12)).Fusable) == 0 {
 32266  				continue
 32267  			}
 32268  			op = (*sqlite3_index_constraint)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraint + uintptr(i)*12)).Fop
 32269  			if int32(op) == SQLITE_INDEX_CONSTRAINT_EQ ||
 32270  				int32(op) == SQLITE_INDEX_CONSTRAINT_LIKE ||
 32271  				int32(op) == SQLITE_INDEX_CONSTRAINT_GLOB {
 32272  				(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = float64(10)
 32273  				(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(nConst)*8)).FargvIndex = nConst + 1
 32274  				nConst++
 32275  			}
 32276  		}
 32277  	}
 32278  	return SQLITE_OK
 32279  }
 32280  
 32281  var CsvModule = sqlite3_module{
 32282  	FxCreate:     0,
 32283  	FxConnect:    0,
 32284  	FxBestIndex:  0,
 32285  	FxDisconnect: 0,
 32286  	FxDestroy:    0,
 32287  	FxOpen:       0,
 32288  	FxClose:      0,
 32289  	FxFilter:     0,
 32290  	FxNext:       0,
 32291  	FxEof:        0,
 32292  	FxColumn:     0,
 32293  	FxRowid:      0,
 32294  }
 32295  
 32296  func csvtabUpdate(tls *libc.TLS, p uintptr, n int32, v uintptr, x uintptr) int32 {
 32297  	return SQLITE_READONLY
 32298  }
 32299  
 32300  var CsvModuleFauxWrite = sqlite3_module{
 32301  	FxCreate:     0,
 32302  	FxConnect:    0,
 32303  	FxBestIndex:  0,
 32304  	FxDisconnect: 0,
 32305  	FxDestroy:    0,
 32306  	FxOpen:       0,
 32307  	FxClose:      0,
 32308  	FxFilter:     0,
 32309  	FxNext:       0,
 32310  	FxEof:        0,
 32311  	FxColumn:     0,
 32312  	FxRowid:      0,
 32313  	FxUpdate:     0,
 32314  }
 32315  
 32316  func sqlite3_csv_init(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi uintptr) int32 {
 32317  	var rc int32
 32318  	_ = pApi
 32319  
 32320  	rc = sqlite3.Xsqlite3_create_module(tls, db, ts+4815, uintptr(unsafe.Pointer(&CsvModule)), uintptr(0))
 32321  	if rc == SQLITE_OK {
 32322  		rc = sqlite3.Xsqlite3_create_module(tls, db, ts+4819, uintptr(unsafe.Pointer(&CsvModuleFauxWrite)), uintptr(0))
 32323  	}
 32324  	return rc
 32325  }
 32326  
 32327  type Decimal1 = struct {
 32328  	Fsign        int8
 32329  	Foom         int8
 32330  	FisNull      int8
 32331  	FisInit      int8
 32332  	FnDigit      int32
 32333  	FnFrac       int32
 32334  	F__ccgo_pad1 [4]byte
 32335  	Fa           uintptr
 32336  }
 32337  
 32338  type Decimal = Decimal1
 32339  
 32340  func decimal_clear(tls *libc.TLS, p uintptr) {
 32341  	sqlite3.Xsqlite3_free(tls, (*Decimal)(unsafe.Pointer(p)).Fa)
 32342  }
 32343  
 32344  func decimal_free(tls *libc.TLS, p uintptr) {
 32345  	if p != 0 {
 32346  		decimal_clear(tls, p)
 32347  		sqlite3.Xsqlite3_free(tls, p)
 32348  	}
 32349  }
 32350  
 32351  func decimal_new(tls *libc.TLS, pCtx uintptr, pIn uintptr, nAlt int32, zAlt uintptr) uintptr {
 32352  	var p uintptr
 32353  	var n int32
 32354  	var i int32
 32355  	var zIn uintptr
 32356  	var iExp int32
 32357  	var j int32
 32358  	var neg int32
 32359  	var c int8
 32360  	var nExtra int32
 32361  	iExp = 0
 32362  	p = sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Decimal{})))
 32363  	if !(p == uintptr(0)) {
 32364  		goto __1
 32365  	}
 32366  	goto new_no_mem
 32367  __1:
 32368  	;
 32369  	(*Decimal)(unsafe.Pointer(p)).Fsign = int8(0)
 32370  	(*Decimal)(unsafe.Pointer(p)).Foom = int8(0)
 32371  	(*Decimal)(unsafe.Pointer(p)).FisInit = int8(1)
 32372  	(*Decimal)(unsafe.Pointer(p)).FisNull = int8(0)
 32373  	(*Decimal)(unsafe.Pointer(p)).FnDigit = 0
 32374  	(*Decimal)(unsafe.Pointer(p)).FnFrac = 0
 32375  	if !(zAlt != 0) {
 32376  		goto __2
 32377  	}
 32378  	n = nAlt
 32379  	zIn = zAlt
 32380  	goto __3
 32381  __2:
 32382  	if !(sqlite3.Xsqlite3_value_type(tls, pIn) == SQLITE_NULL) {
 32383  		goto __4
 32384  	}
 32385  	(*Decimal)(unsafe.Pointer(p)).Fa = uintptr(0)
 32386  	(*Decimal)(unsafe.Pointer(p)).FisNull = int8(1)
 32387  	return p
 32388  __4:
 32389  	;
 32390  	n = sqlite3.Xsqlite3_value_bytes(tls, pIn)
 32391  	zIn = sqlite3.Xsqlite3_value_text(tls, pIn)
 32392  __3:
 32393  	;
 32394  	(*Decimal)(unsafe.Pointer(p)).Fa = sqlite3.Xsqlite3_malloc64(tls, uint64(n+1))
 32395  	if !((*Decimal)(unsafe.Pointer(p)).Fa == uintptr(0)) {
 32396  		goto __5
 32397  	}
 32398  	goto new_no_mem
 32399  __5:
 32400  	;
 32401  	i = 0
 32402  __6:
 32403  	if !(libc.Xisspace(tls, int32(*(*uint8)(unsafe.Pointer(zIn + uintptr(i))))) != 0) {
 32404  		goto __8
 32405  	}
 32406  	goto __7
 32407  __7:
 32408  	i++
 32409  	goto __6
 32410  	goto __8
 32411  __8:
 32412  	;
 32413  	if !(int32(*(*uint8)(unsafe.Pointer(zIn + uintptr(i)))) == '-') {
 32414  		goto __9
 32415  	}
 32416  	(*Decimal)(unsafe.Pointer(p)).Fsign = int8(1)
 32417  	i++
 32418  	goto __10
 32419  __9:
 32420  	if !(int32(*(*uint8)(unsafe.Pointer(zIn + uintptr(i)))) == '+') {
 32421  		goto __11
 32422  	}
 32423  	i++
 32424  __11:
 32425  	;
 32426  __10:
 32427  	;
 32428  __12:
 32429  	if !(i < n && int32(*(*uint8)(unsafe.Pointer(zIn + uintptr(i)))) == '0') {
 32430  		goto __13
 32431  	}
 32432  	i++
 32433  	goto __12
 32434  __13:
 32435  	;
 32436  __14:
 32437  	if !(i < n) {
 32438  		goto __15
 32439  	}
 32440  	c = int8(*(*uint8)(unsafe.Pointer(zIn + uintptr(i))))
 32441  	if !(int32(c) >= '0' && int32(c) <= '9') {
 32442  		goto __16
 32443  	}
 32444  	*(*int8)(unsafe.Pointer((*Decimal)(unsafe.Pointer(p)).Fa + uintptr(libc.PostIncInt32(&(*Decimal)(unsafe.Pointer(p)).FnDigit, 1)))) = int8(int32(c) - '0')
 32445  	goto __17
 32446  __16:
 32447  	if !(int32(c) == '.') {
 32448  		goto __18
 32449  	}
 32450  	(*Decimal)(unsafe.Pointer(p)).FnFrac = (*Decimal)(unsafe.Pointer(p)).FnDigit + 1
 32451  	goto __19
 32452  __18:
 32453  	if !(int32(c) == 'e' || int32(c) == 'E') {
 32454  		goto __20
 32455  	}
 32456  	j = i + 1
 32457  	neg = 0
 32458  	if !(j >= n) {
 32459  		goto __21
 32460  	}
 32461  	goto __15
 32462  __21:
 32463  	;
 32464  	if !(int32(*(*uint8)(unsafe.Pointer(zIn + uintptr(j)))) == '-') {
 32465  		goto __22
 32466  	}
 32467  	neg = 1
 32468  	j++
 32469  	goto __23
 32470  __22:
 32471  	if !(int32(*(*uint8)(unsafe.Pointer(zIn + uintptr(j)))) == '+') {
 32472  		goto __24
 32473  	}
 32474  	j++
 32475  __24:
 32476  	;
 32477  __23:
 32478  	;
 32479  __25:
 32480  	if !(j < n && iExp < 1000000) {
 32481  		goto __26
 32482  	}
 32483  	if !(int32(*(*uint8)(unsafe.Pointer(zIn + uintptr(j)))) >= '0' && int32(*(*uint8)(unsafe.Pointer(zIn + uintptr(j)))) <= '9') {
 32484  		goto __27
 32485  	}
 32486  	iExp = iExp*10 + int32(*(*uint8)(unsafe.Pointer(zIn + uintptr(j)))) - '0'
 32487  __27:
 32488  	;
 32489  	j++
 32490  	goto __25
 32491  __26:
 32492  	;
 32493  	if !(neg != 0) {
 32494  		goto __28
 32495  	}
 32496  	iExp = -iExp
 32497  __28:
 32498  	;
 32499  	goto __15
 32500  __20:
 32501  	;
 32502  __19:
 32503  	;
 32504  __17:
 32505  	;
 32506  	i++
 32507  	goto __14
 32508  __15:
 32509  	;
 32510  	if !((*Decimal)(unsafe.Pointer(p)).FnFrac != 0) {
 32511  		goto __29
 32512  	}
 32513  	(*Decimal)(unsafe.Pointer(p)).FnFrac = (*Decimal)(unsafe.Pointer(p)).FnDigit - ((*Decimal)(unsafe.Pointer(p)).FnFrac - 1)
 32514  __29:
 32515  	;
 32516  	if !(iExp > 0) {
 32517  		goto __30
 32518  	}
 32519  	if !((*Decimal)(unsafe.Pointer(p)).FnFrac > 0) {
 32520  		goto __32
 32521  	}
 32522  	if !(iExp <= (*Decimal)(unsafe.Pointer(p)).FnFrac) {
 32523  		goto __33
 32524  	}
 32525  	*(*int32)(unsafe.Pointer(p + 8)) -= iExp
 32526  	iExp = 0
 32527  	goto __34
 32528  __33:
 32529  	iExp = iExp - (*Decimal)(unsafe.Pointer(p)).FnFrac
 32530  	(*Decimal)(unsafe.Pointer(p)).FnFrac = 0
 32531  __34:
 32532  	;
 32533  __32:
 32534  	;
 32535  	if !(iExp > 0) {
 32536  		goto __35
 32537  	}
 32538  	(*Decimal)(unsafe.Pointer(p)).Fa = sqlite3.Xsqlite3_realloc64(tls, (*Decimal)(unsafe.Pointer(p)).Fa, uint64((*Decimal)(unsafe.Pointer(p)).FnDigit+iExp+1))
 32539  	if !((*Decimal)(unsafe.Pointer(p)).Fa == uintptr(0)) {
 32540  		goto __36
 32541  	}
 32542  	goto new_no_mem
 32543  __36:
 32544  	;
 32545  	libc.Xmemset(tls, (*Decimal)(unsafe.Pointer(p)).Fa+uintptr((*Decimal)(unsafe.Pointer(p)).FnDigit), 0, uint64(iExp))
 32546  	*(*int32)(unsafe.Pointer(p + 4)) += iExp
 32547  __35:
 32548  	;
 32549  	goto __31
 32550  __30:
 32551  	if !(iExp < 0) {
 32552  		goto __37
 32553  	}
 32554  	iExp = -iExp
 32555  	nExtra = (*Decimal)(unsafe.Pointer(p)).FnDigit - (*Decimal)(unsafe.Pointer(p)).FnFrac - 1
 32556  	if !(nExtra != 0) {
 32557  		goto __38
 32558  	}
 32559  	if !(nExtra >= iExp) {
 32560  		goto __39
 32561  	}
 32562  	*(*int32)(unsafe.Pointer(p + 8)) += iExp
 32563  	iExp = 0
 32564  	goto __40
 32565  __39:
 32566  	iExp = iExp - nExtra
 32567  	(*Decimal)(unsafe.Pointer(p)).FnFrac = (*Decimal)(unsafe.Pointer(p)).FnDigit - 1
 32568  __40:
 32569  	;
 32570  __38:
 32571  	;
 32572  	if !(iExp > 0) {
 32573  		goto __41
 32574  	}
 32575  	(*Decimal)(unsafe.Pointer(p)).Fa = sqlite3.Xsqlite3_realloc64(tls, (*Decimal)(unsafe.Pointer(p)).Fa, uint64((*Decimal)(unsafe.Pointer(p)).FnDigit+iExp+1))
 32576  	if !((*Decimal)(unsafe.Pointer(p)).Fa == uintptr(0)) {
 32577  		goto __42
 32578  	}
 32579  	goto new_no_mem
 32580  __42:
 32581  	;
 32582  	libc.Xmemmove(tls, (*Decimal)(unsafe.Pointer(p)).Fa+uintptr(iExp), (*Decimal)(unsafe.Pointer(p)).Fa, uint64((*Decimal)(unsafe.Pointer(p)).FnDigit))
 32583  	libc.Xmemset(tls, (*Decimal)(unsafe.Pointer(p)).Fa, 0, uint64(iExp))
 32584  	*(*int32)(unsafe.Pointer(p + 4)) += iExp
 32585  	*(*int32)(unsafe.Pointer(p + 8)) += iExp
 32586  __41:
 32587  	;
 32588  __37:
 32589  	;
 32590  __31:
 32591  	;
 32592  	return p
 32593  
 32594  new_no_mem:
 32595  	if !(pCtx != 0) {
 32596  		goto __43
 32597  	}
 32598  	sqlite3.Xsqlite3_result_error_nomem(tls, pCtx)
 32599  __43:
 32600  	;
 32601  	sqlite3.Xsqlite3_free(tls, p)
 32602  	return uintptr(0)
 32603  }
 32604  
 32605  func decimal_result(tls *libc.TLS, pCtx uintptr, p uintptr) {
 32606  	var z uintptr
 32607  	var i int32
 32608  	var j int32
 32609  	var n int32
 32610  	if p == uintptr(0) || (*Decimal)(unsafe.Pointer(p)).Foom != 0 {
 32611  		sqlite3.Xsqlite3_result_error_nomem(tls, pCtx)
 32612  		return
 32613  	}
 32614  	if (*Decimal)(unsafe.Pointer(p)).FisNull != 0 {
 32615  		sqlite3.Xsqlite3_result_null(tls, pCtx)
 32616  		return
 32617  	}
 32618  	z = sqlite3.Xsqlite3_malloc(tls, (*Decimal)(unsafe.Pointer(p)).FnDigit+4)
 32619  	if z == uintptr(0) {
 32620  		sqlite3.Xsqlite3_result_error_nomem(tls, pCtx)
 32621  		return
 32622  	}
 32623  	i = 0
 32624  	if (*Decimal)(unsafe.Pointer(p)).FnDigit == 0 || (*Decimal)(unsafe.Pointer(p)).FnDigit == 1 && int32(*(*int8)(unsafe.Pointer((*Decimal)(unsafe.Pointer(p)).Fa))) == 0 {
 32625  		(*Decimal)(unsafe.Pointer(p)).Fsign = int8(0)
 32626  	}
 32627  	if (*Decimal)(unsafe.Pointer(p)).Fsign != 0 {
 32628  		*(*int8)(unsafe.Pointer(z)) = int8('-')
 32629  		i = 1
 32630  	}
 32631  	n = (*Decimal)(unsafe.Pointer(p)).FnDigit - (*Decimal)(unsafe.Pointer(p)).FnFrac
 32632  	if n <= 0 {
 32633  		*(*int8)(unsafe.Pointer(z + uintptr(libc.PostIncInt32(&i, 1)))) = int8('0')
 32634  	}
 32635  	j = 0
 32636  	for n > 1 && int32(*(*int8)(unsafe.Pointer((*Decimal)(unsafe.Pointer(p)).Fa + uintptr(j)))) == 0 {
 32637  		j++
 32638  		n--
 32639  	}
 32640  	for n > 0 {
 32641  		*(*int8)(unsafe.Pointer(z + uintptr(libc.PostIncInt32(&i, 1)))) = int8(int32(*(*int8)(unsafe.Pointer((*Decimal)(unsafe.Pointer(p)).Fa + uintptr(j)))) + '0')
 32642  		j++
 32643  		n--
 32644  	}
 32645  	if (*Decimal)(unsafe.Pointer(p)).FnFrac != 0 {
 32646  		*(*int8)(unsafe.Pointer(z + uintptr(libc.PostIncInt32(&i, 1)))) = int8('.')
 32647  		for __ccgo := true; __ccgo; __ccgo = j < (*Decimal)(unsafe.Pointer(p)).FnDigit {
 32648  			*(*int8)(unsafe.Pointer(z + uintptr(libc.PostIncInt32(&i, 1)))) = int8(int32(*(*int8)(unsafe.Pointer((*Decimal)(unsafe.Pointer(p)).Fa + uintptr(j)))) + '0')
 32649  			j++
 32650  		}
 32651  	}
 32652  	*(*int8)(unsafe.Pointer(z + uintptr(i))) = int8(0)
 32653  	sqlite3.Xsqlite3_result_text(tls, pCtx, z, i, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sqlite3.Xsqlite3_free})))
 32654  }
 32655  
 32656  func decimalFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 32657  	var p uintptr = decimal_new(tls, context, *(*uintptr)(unsafe.Pointer(argv)), 0, uintptr(0))
 32658  	_ = argc
 32659  	decimal_result(tls, context, p)
 32660  	decimal_free(tls, p)
 32661  }
 32662  
 32663  func decimal_cmp(tls *libc.TLS, pA uintptr, pB uintptr) int32 {
 32664  	var nASig int32
 32665  	var nBSig int32
 32666  	var rc int32
 32667  	var n int32
 32668  	if int32((*Decimal)(unsafe.Pointer(pA)).Fsign) != int32((*Decimal)(unsafe.Pointer(pB)).Fsign) {
 32669  		if (*Decimal)(unsafe.Pointer(pA)).Fsign != 0 {
 32670  			return -1
 32671  		}
 32672  		return +1
 32673  	}
 32674  	if (*Decimal)(unsafe.Pointer(pA)).Fsign != 0 {
 32675  		var pTemp uintptr = pA
 32676  		pA = pB
 32677  		pB = pTemp
 32678  	}
 32679  	nASig = (*Decimal)(unsafe.Pointer(pA)).FnDigit - (*Decimal)(unsafe.Pointer(pA)).FnFrac
 32680  	nBSig = (*Decimal)(unsafe.Pointer(pB)).FnDigit - (*Decimal)(unsafe.Pointer(pB)).FnFrac
 32681  	if nASig != nBSig {
 32682  		return nASig - nBSig
 32683  	}
 32684  	n = (*Decimal)(unsafe.Pointer(pA)).FnDigit
 32685  	if n > (*Decimal)(unsafe.Pointer(pB)).FnDigit {
 32686  		n = (*Decimal)(unsafe.Pointer(pB)).FnDigit
 32687  	}
 32688  	rc = libc.Xmemcmp(tls, (*Decimal)(unsafe.Pointer(pA)).Fa, (*Decimal)(unsafe.Pointer(pB)).Fa, uint64(n))
 32689  	if rc == 0 {
 32690  		rc = (*Decimal)(unsafe.Pointer(pA)).FnDigit - (*Decimal)(unsafe.Pointer(pB)).FnDigit
 32691  	}
 32692  	return rc
 32693  }
 32694  
 32695  func decimalCmpFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 32696  	var pA uintptr
 32697  	var pB uintptr
 32698  	var rc int32
 32699  	pA = uintptr(0)
 32700  	pB = uintptr(0)
 32701  
 32702  	_ = argc
 32703  	pA = decimal_new(tls, context, *(*uintptr)(unsafe.Pointer(argv)), 0, uintptr(0))
 32704  	if !(pA == uintptr(0) || (*Decimal)(unsafe.Pointer(pA)).FisNull != 0) {
 32705  		goto __1
 32706  	}
 32707  	goto cmp_done
 32708  __1:
 32709  	;
 32710  	pB = decimal_new(tls, context, *(*uintptr)(unsafe.Pointer(argv + 1*8)), 0, uintptr(0))
 32711  	if !(pB == uintptr(0) || (*Decimal)(unsafe.Pointer(pB)).FisNull != 0) {
 32712  		goto __2
 32713  	}
 32714  	goto cmp_done
 32715  __2:
 32716  	;
 32717  	rc = decimal_cmp(tls, pA, pB)
 32718  	if !(rc < 0) {
 32719  		goto __3
 32720  	}
 32721  	rc = -1
 32722  	goto __4
 32723  __3:
 32724  	if !(rc > 0) {
 32725  		goto __5
 32726  	}
 32727  	rc = +1
 32728  __5:
 32729  	;
 32730  __4:
 32731  	;
 32732  	sqlite3.Xsqlite3_result_int(tls, context, rc)
 32733  cmp_done:
 32734  	decimal_free(tls, pA)
 32735  	decimal_free(tls, pB)
 32736  }
 32737  
 32738  func decimal_expand(tls *libc.TLS, p uintptr, nDigit int32, nFrac int32) {
 32739  	var nAddSig int32
 32740  	var nAddFrac int32
 32741  	if p == uintptr(0) {
 32742  		return
 32743  	}
 32744  	nAddFrac = nFrac - (*Decimal)(unsafe.Pointer(p)).FnFrac
 32745  	nAddSig = nDigit - (*Decimal)(unsafe.Pointer(p)).FnDigit - nAddFrac
 32746  	if nAddFrac == 0 && nAddSig == 0 {
 32747  		return
 32748  	}
 32749  	(*Decimal)(unsafe.Pointer(p)).Fa = sqlite3.Xsqlite3_realloc64(tls, (*Decimal)(unsafe.Pointer(p)).Fa, uint64(nDigit+1))
 32750  	if (*Decimal)(unsafe.Pointer(p)).Fa == uintptr(0) {
 32751  		(*Decimal)(unsafe.Pointer(p)).Foom = int8(1)
 32752  		return
 32753  	}
 32754  	if nAddSig != 0 {
 32755  		libc.Xmemmove(tls, (*Decimal)(unsafe.Pointer(p)).Fa+uintptr(nAddSig), (*Decimal)(unsafe.Pointer(p)).Fa, uint64((*Decimal)(unsafe.Pointer(p)).FnDigit))
 32756  		libc.Xmemset(tls, (*Decimal)(unsafe.Pointer(p)).Fa, 0, uint64(nAddSig))
 32757  		*(*int32)(unsafe.Pointer(p + 4)) += nAddSig
 32758  	}
 32759  	if nAddFrac != 0 {
 32760  		libc.Xmemset(tls, (*Decimal)(unsafe.Pointer(p)).Fa+uintptr((*Decimal)(unsafe.Pointer(p)).FnDigit), 0, uint64(nAddFrac))
 32761  		*(*int32)(unsafe.Pointer(p + 4)) += nAddFrac
 32762  		*(*int32)(unsafe.Pointer(p + 8)) += nAddFrac
 32763  	}
 32764  }
 32765  
 32766  func decimal_add(tls *libc.TLS, pA uintptr, pB uintptr) {
 32767  	var nSig int32
 32768  	var nFrac int32
 32769  	var nDigit int32
 32770  	var i int32
 32771  	var rc int32
 32772  	if pA == uintptr(0) {
 32773  		return
 32774  	}
 32775  	if (*Decimal)(unsafe.Pointer(pA)).Foom != 0 || pB == uintptr(0) || (*Decimal)(unsafe.Pointer(pB)).Foom != 0 {
 32776  		(*Decimal)(unsafe.Pointer(pA)).Foom = int8(1)
 32777  		return
 32778  	}
 32779  	if (*Decimal)(unsafe.Pointer(pA)).FisNull != 0 || (*Decimal)(unsafe.Pointer(pB)).FisNull != 0 {
 32780  		(*Decimal)(unsafe.Pointer(pA)).FisNull = int8(1)
 32781  		return
 32782  	}
 32783  	nSig = (*Decimal)(unsafe.Pointer(pA)).FnDigit - (*Decimal)(unsafe.Pointer(pA)).FnFrac
 32784  	if nSig != 0 && int32(*(*int8)(unsafe.Pointer((*Decimal)(unsafe.Pointer(pA)).Fa))) == 0 {
 32785  		nSig--
 32786  	}
 32787  	if nSig < (*Decimal)(unsafe.Pointer(pB)).FnDigit-(*Decimal)(unsafe.Pointer(pB)).FnFrac {
 32788  		nSig = (*Decimal)(unsafe.Pointer(pB)).FnDigit - (*Decimal)(unsafe.Pointer(pB)).FnFrac
 32789  	}
 32790  	nFrac = (*Decimal)(unsafe.Pointer(pA)).FnFrac
 32791  	if nFrac < (*Decimal)(unsafe.Pointer(pB)).FnFrac {
 32792  		nFrac = (*Decimal)(unsafe.Pointer(pB)).FnFrac
 32793  	}
 32794  	nDigit = nSig + nFrac + 1
 32795  	decimal_expand(tls, pA, nDigit, nFrac)
 32796  	decimal_expand(tls, pB, nDigit, nFrac)
 32797  	if (*Decimal)(unsafe.Pointer(pA)).Foom != 0 || (*Decimal)(unsafe.Pointer(pB)).Foom != 0 {
 32798  		(*Decimal)(unsafe.Pointer(pA)).Foom = int8(1)
 32799  	} else {
 32800  		if int32((*Decimal)(unsafe.Pointer(pA)).Fsign) == int32((*Decimal)(unsafe.Pointer(pB)).Fsign) {
 32801  			var carry int32 = 0
 32802  			for i = nDigit - 1; i >= 0; i-- {
 32803  				var x int32 = int32(*(*int8)(unsafe.Pointer((*Decimal)(unsafe.Pointer(pA)).Fa + uintptr(i)))) + int32(*(*int8)(unsafe.Pointer((*Decimal)(unsafe.Pointer(pB)).Fa + uintptr(i)))) + carry
 32804  				if x >= 10 {
 32805  					carry = 1
 32806  					*(*int8)(unsafe.Pointer((*Decimal)(unsafe.Pointer(pA)).Fa + uintptr(i))) = int8(x - 10)
 32807  				} else {
 32808  					carry = 0
 32809  					*(*int8)(unsafe.Pointer((*Decimal)(unsafe.Pointer(pA)).Fa + uintptr(i))) = int8(x)
 32810  				}
 32811  			}
 32812  		} else {
 32813  			var aA uintptr
 32814  			var aB uintptr
 32815  			var borrow int32 = 0
 32816  			rc = libc.Xmemcmp(tls, (*Decimal)(unsafe.Pointer(pA)).Fa, (*Decimal)(unsafe.Pointer(pB)).Fa, uint64(nDigit))
 32817  			if rc < 0 {
 32818  				aA = (*Decimal)(unsafe.Pointer(pB)).Fa
 32819  				aB = (*Decimal)(unsafe.Pointer(pA)).Fa
 32820  				(*Decimal)(unsafe.Pointer(pA)).Fsign = libc.BoolInt8(!((*Decimal)(unsafe.Pointer(pA)).Fsign != 0))
 32821  			} else {
 32822  				aA = (*Decimal)(unsafe.Pointer(pA)).Fa
 32823  				aB = (*Decimal)(unsafe.Pointer(pB)).Fa
 32824  			}
 32825  			for i = nDigit - 1; i >= 0; i-- {
 32826  				var x int32 = int32(*(*int8)(unsafe.Pointer(aA + uintptr(i)))) - int32(*(*int8)(unsafe.Pointer(aB + uintptr(i)))) - borrow
 32827  				if x < 0 {
 32828  					*(*int8)(unsafe.Pointer((*Decimal)(unsafe.Pointer(pA)).Fa + uintptr(i))) = int8(x + 10)
 32829  					borrow = 1
 32830  				} else {
 32831  					*(*int8)(unsafe.Pointer((*Decimal)(unsafe.Pointer(pA)).Fa + uintptr(i))) = int8(x)
 32832  					borrow = 0
 32833  				}
 32834  			}
 32835  		}
 32836  	}
 32837  }
 32838  
 32839  func decimalCollFunc(tls *libc.TLS, notUsed uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 {
 32840  	var zA uintptr = pKey1
 32841  	var zB uintptr = pKey2
 32842  	var pA uintptr = decimal_new(tls, uintptr(0), uintptr(0), nKey1, zA)
 32843  	var pB uintptr = decimal_new(tls, uintptr(0), uintptr(0), nKey2, zB)
 32844  	var rc int32
 32845  	_ = notUsed
 32846  	if pA == uintptr(0) || pB == uintptr(0) {
 32847  		rc = 0
 32848  	} else {
 32849  		rc = decimal_cmp(tls, pA, pB)
 32850  	}
 32851  	decimal_free(tls, pA)
 32852  	decimal_free(tls, pB)
 32853  	return rc
 32854  }
 32855  
 32856  func decimalAddFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 32857  	var pA uintptr = decimal_new(tls, context, *(*uintptr)(unsafe.Pointer(argv)), 0, uintptr(0))
 32858  	var pB uintptr = decimal_new(tls, context, *(*uintptr)(unsafe.Pointer(argv + 1*8)), 0, uintptr(0))
 32859  	_ = argc
 32860  	decimal_add(tls, pA, pB)
 32861  	decimal_result(tls, context, pA)
 32862  	decimal_free(tls, pA)
 32863  	decimal_free(tls, pB)
 32864  }
 32865  
 32866  func decimalSubFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 32867  	var pA uintptr = decimal_new(tls, context, *(*uintptr)(unsafe.Pointer(argv)), 0, uintptr(0))
 32868  	var pB uintptr = decimal_new(tls, context, *(*uintptr)(unsafe.Pointer(argv + 1*8)), 0, uintptr(0))
 32869  	_ = argc
 32870  	if pB != 0 {
 32871  		(*Decimal)(unsafe.Pointer(pB)).Fsign = libc.BoolInt8(!((*Decimal)(unsafe.Pointer(pB)).Fsign != 0))
 32872  		decimal_add(tls, pA, pB)
 32873  		decimal_result(tls, context, pA)
 32874  	}
 32875  	decimal_free(tls, pA)
 32876  	decimal_free(tls, pB)
 32877  }
 32878  
 32879  func decimalSumStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 32880  	var p uintptr
 32881  	var pArg uintptr
 32882  	_ = argc
 32883  	p = sqlite3.Xsqlite3_aggregate_context(tls, context, int32(unsafe.Sizeof(Decimal{})))
 32884  	if p == uintptr(0) {
 32885  		return
 32886  	}
 32887  	if !(int32((*Decimal)(unsafe.Pointer(p)).FisInit) != 0) {
 32888  		(*Decimal)(unsafe.Pointer(p)).FisInit = int8(1)
 32889  		(*Decimal)(unsafe.Pointer(p)).Fa = sqlite3.Xsqlite3_malloc(tls, 2)
 32890  		if (*Decimal)(unsafe.Pointer(p)).Fa == uintptr(0) {
 32891  			(*Decimal)(unsafe.Pointer(p)).Foom = int8(1)
 32892  		} else {
 32893  			*(*int8)(unsafe.Pointer((*Decimal)(unsafe.Pointer(p)).Fa)) = int8(0)
 32894  		}
 32895  		(*Decimal)(unsafe.Pointer(p)).FnDigit = 1
 32896  		(*Decimal)(unsafe.Pointer(p)).FnFrac = 0
 32897  	}
 32898  	if sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) == SQLITE_NULL {
 32899  		return
 32900  	}
 32901  	pArg = decimal_new(tls, context, *(*uintptr)(unsafe.Pointer(argv)), 0, uintptr(0))
 32902  	decimal_add(tls, p, pArg)
 32903  	decimal_free(tls, pArg)
 32904  }
 32905  
 32906  func decimalSumInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 32907  	var p uintptr
 32908  	var pArg uintptr
 32909  	_ = argc
 32910  	p = sqlite3.Xsqlite3_aggregate_context(tls, context, int32(unsafe.Sizeof(Decimal{})))
 32911  	if p == uintptr(0) {
 32912  		return
 32913  	}
 32914  	if sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) == SQLITE_NULL {
 32915  		return
 32916  	}
 32917  	pArg = decimal_new(tls, context, *(*uintptr)(unsafe.Pointer(argv)), 0, uintptr(0))
 32918  	if pArg != 0 {
 32919  		(*Decimal)(unsafe.Pointer(pArg)).Fsign = libc.BoolInt8(!((*Decimal)(unsafe.Pointer(pArg)).Fsign != 0))
 32920  	}
 32921  	decimal_add(tls, p, pArg)
 32922  	decimal_free(tls, pArg)
 32923  }
 32924  
 32925  func decimalSumValue(tls *libc.TLS, context uintptr) {
 32926  	var p uintptr = sqlite3.Xsqlite3_aggregate_context(tls, context, 0)
 32927  	if p == uintptr(0) {
 32928  		return
 32929  	}
 32930  	decimal_result(tls, context, p)
 32931  }
 32932  
 32933  func decimalSumFinalize(tls *libc.TLS, context uintptr) {
 32934  	var p uintptr = sqlite3.Xsqlite3_aggregate_context(tls, context, 0)
 32935  	if p == uintptr(0) {
 32936  		return
 32937  	}
 32938  	decimal_result(tls, context, p)
 32939  	decimal_clear(tls, p)
 32940  }
 32941  
 32942  func decimalMulFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 32943  	var pA uintptr
 32944  	var pB uintptr
 32945  	var acc uintptr
 32946  	var i int32
 32947  	var j int32
 32948  	var k int32
 32949  	var minFrac int32
 32950  	var f int8
 32951  	var carry int32
 32952  	var x int32
 32953  	pA = decimal_new(tls, context, *(*uintptr)(unsafe.Pointer(argv)), 0, uintptr(0))
 32954  	pB = decimal_new(tls, context, *(*uintptr)(unsafe.Pointer(argv + 1*8)), 0, uintptr(0))
 32955  	acc = uintptr(0)
 32956  	_ = argc
 32957  	if !(pA == uintptr(0) || (*Decimal)(unsafe.Pointer(pA)).Foom != 0 || (*Decimal)(unsafe.Pointer(pA)).FisNull != 0 ||
 32958  		pB == uintptr(0) || (*Decimal)(unsafe.Pointer(pB)).Foom != 0 || (*Decimal)(unsafe.Pointer(pB)).FisNull != 0) {
 32959  		goto __1
 32960  	}
 32961  	goto mul_end
 32962  __1:
 32963  	;
 32964  	acc = sqlite3.Xsqlite3_malloc64(tls, uint64((*Decimal)(unsafe.Pointer(pA)).FnDigit+(*Decimal)(unsafe.Pointer(pB)).FnDigit+2))
 32965  	if !(acc == uintptr(0)) {
 32966  		goto __2
 32967  	}
 32968  	sqlite3.Xsqlite3_result_error_nomem(tls, context)
 32969  	goto mul_end
 32970  __2:
 32971  	;
 32972  	libc.Xmemset(tls, acc, 0, uint64((*Decimal)(unsafe.Pointer(pA)).FnDigit+(*Decimal)(unsafe.Pointer(pB)).FnDigit+2))
 32973  	minFrac = (*Decimal)(unsafe.Pointer(pA)).FnFrac
 32974  	if !((*Decimal)(unsafe.Pointer(pB)).FnFrac < minFrac) {
 32975  		goto __3
 32976  	}
 32977  	minFrac = (*Decimal)(unsafe.Pointer(pB)).FnFrac
 32978  __3:
 32979  	;
 32980  	i = (*Decimal)(unsafe.Pointer(pA)).FnDigit - 1
 32981  __4:
 32982  	if !(i >= 0) {
 32983  		goto __6
 32984  	}
 32985  	f = *(*int8)(unsafe.Pointer((*Decimal)(unsafe.Pointer(pA)).Fa + uintptr(i)))
 32986  	carry = 0
 32987  	j = (*Decimal)(unsafe.Pointer(pB)).FnDigit - 1
 32988  	k = i + j + 3
 32989  __7:
 32990  	if !(j >= 0) {
 32991  		goto __9
 32992  	}
 32993  	x = int32(*(*int8)(unsafe.Pointer(acc + uintptr(k)))) + int32(f)*int32(*(*int8)(unsafe.Pointer((*Decimal)(unsafe.Pointer(pB)).Fa + uintptr(j)))) + carry
 32994  	*(*int8)(unsafe.Pointer(acc + uintptr(k))) = int8(x % 10)
 32995  	carry = x / 10
 32996  	goto __8
 32997  __8:
 32998  	j--
 32999  	k--
 33000  	goto __7
 33001  	goto __9
 33002  __9:
 33003  	;
 33004  	x = int32(*(*int8)(unsafe.Pointer(acc + uintptr(k)))) + carry
 33005  	*(*int8)(unsafe.Pointer(acc + uintptr(k))) = int8(x % 10)
 33006  	*(*int8)(unsafe.Pointer(acc + uintptr(k-1))) += int8(x / 10)
 33007  	goto __5
 33008  __5:
 33009  	i--
 33010  	goto __4
 33011  	goto __6
 33012  __6:
 33013  	;
 33014  	sqlite3.Xsqlite3_free(tls, (*Decimal)(unsafe.Pointer(pA)).Fa)
 33015  	(*Decimal)(unsafe.Pointer(pA)).Fa = acc
 33016  	acc = uintptr(0)
 33017  	*(*int32)(unsafe.Pointer(pA + 4)) += (*Decimal)(unsafe.Pointer(pB)).FnDigit + 2
 33018  	*(*int32)(unsafe.Pointer(pA + 8)) += (*Decimal)(unsafe.Pointer(pB)).FnFrac
 33019  	*(*int8)(unsafe.Pointer(pA)) ^= int8(int32((*Decimal)(unsafe.Pointer(pB)).Fsign))
 33020  __10:
 33021  	if !((*Decimal)(unsafe.Pointer(pA)).FnFrac > minFrac && int32(*(*int8)(unsafe.Pointer((*Decimal)(unsafe.Pointer(pA)).Fa + uintptr((*Decimal)(unsafe.Pointer(pA)).FnDigit-1)))) == 0) {
 33022  		goto __11
 33023  	}
 33024  	(*Decimal)(unsafe.Pointer(pA)).FnFrac--
 33025  	(*Decimal)(unsafe.Pointer(pA)).FnDigit--
 33026  	goto __10
 33027  __11:
 33028  	;
 33029  	decimal_result(tls, context, pA)
 33030  
 33031  mul_end:
 33032  	sqlite3.Xsqlite3_free(tls, acc)
 33033  	decimal_free(tls, pA)
 33034  	decimal_free(tls, pB)
 33035  }
 33036  
 33037  func sqlite3_decimal_init(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi uintptr) int32 {
 33038  	var rc int32 = SQLITE_OK
 33039  	var i uint32
 33040  	_ = pzErrMsg
 33041  
 33042  	_ = pApi
 33043  
 33044  	for i = uint32(0); uint64(i) < uint64(unsafe.Sizeof(aFunc))/uint64(unsafe.Sizeof(struct {
 33045  		FzFuncName   uintptr
 33046  		FnArg        int32
 33047  		F__ccgo_pad1 [4]byte
 33048  		FxFunc       uintptr
 33049  	}{})) && rc == SQLITE_OK; i++ {
 33050  		rc = sqlite3.Xsqlite3_create_function(tls, db, aFunc[i].FzFuncName, aFunc[i].FnArg,
 33051  			SQLITE_UTF8|SQLITE_INNOCUOUS|SQLITE_DETERMINISTIC,
 33052  			uintptr(0), aFunc[i].FxFunc, uintptr(0), uintptr(0))
 33053  	}
 33054  	if rc == SQLITE_OK {
 33055  		rc = sqlite3.Xsqlite3_create_window_function(tls, db, ts+4826, 1,
 33056  			SQLITE_UTF8|SQLITE_INNOCUOUS|SQLITE_DETERMINISTIC, uintptr(0),
 33057  			*(*uintptr)(unsafe.Pointer(&struct {
 33058  				f func(*libc.TLS, uintptr, int32, uintptr)
 33059  			}{decimalSumStep})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{decimalSumFinalize})),
 33060  			*(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{decimalSumValue})), *(*uintptr)(unsafe.Pointer(&struct {
 33061  				f func(*libc.TLS, uintptr, int32, uintptr)
 33062  			}{decimalSumInverse})), uintptr(0))
 33063  	}
 33064  	if rc == SQLITE_OK {
 33065  		rc = sqlite3.Xsqlite3_create_collation(tls, db, ts+4838, SQLITE_UTF8,
 33066  			uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 33067  				f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 33068  			}{decimalCollFunc})))
 33069  	}
 33070  	return rc
 33071  }
 33072  
 33073  var aFunc = [5]struct {
 33074  	FzFuncName   uintptr
 33075  	FnArg        int32
 33076  	F__ccgo_pad1 [4]byte
 33077  	FxFunc       uintptr
 33078  }{
 33079  	{FzFuncName: ts + 4838, FnArg: 1, FxFunc: 0},
 33080  	{FzFuncName: ts + 4846, FnArg: 2, FxFunc: 0},
 33081  	{FzFuncName: ts + 4858, FnArg: 2, FxFunc: 0},
 33082  	{FzFuncName: ts + 4870, FnArg: 2, FxFunc: 0},
 33083  	{FzFuncName: ts + 4882, FnArg: 2, FxFunc: 0},
 33084  }
 33085  
 33086  type EvalResult = struct {
 33087  	Fz           uintptr
 33088  	FzSep        uintptr
 33089  	FszSep       int32
 33090  	F__ccgo_pad1 [4]byte
 33091  	FnAlloc      sqlite3_int64
 33092  	FnUsed       sqlite3_int64
 33093  }
 33094  
 33095  func callback(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr, colnames uintptr) int32 {
 33096  	var p uintptr = pCtx
 33097  	var i int32
 33098  	if argv == uintptr(0) {
 33099  		return 0
 33100  	}
 33101  	for i = 0; i < argc; i++ {
 33102  		var z uintptr
 33103  		if *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)) != 0 {
 33104  			z = *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))
 33105  		} else {
 33106  			z = ts + 584
 33107  		}
 33108  		var sz size_t = libc.Xstrlen(tls, z)
 33109  		if sqlite3_int64(sz)+(*EvalResult)(unsafe.Pointer(p)).FnUsed+sqlite3_int64((*EvalResult)(unsafe.Pointer(p)).FszSep)+int64(1) > (*EvalResult)(unsafe.Pointer(p)).FnAlloc {
 33110  			var zNew uintptr
 33111  			(*EvalResult)(unsafe.Pointer(p)).FnAlloc = sqlite3_int64(size_t((*EvalResult)(unsafe.Pointer(p)).FnAlloc*int64(2)) + sz + size_t((*EvalResult)(unsafe.Pointer(p)).FszSep) + uint64(1))
 33112  
 33113  			if (*EvalResult)(unsafe.Pointer(p)).FnAlloc <= int64(0x7fffffff) {
 33114  				zNew = sqlite3.Xsqlite3_realloc64(tls, (*EvalResult)(unsafe.Pointer(p)).Fz, uint64((*EvalResult)(unsafe.Pointer(p)).FnAlloc))
 33115  			} else {
 33116  				zNew = uintptr(0)
 33117  			}
 33118  			if zNew == uintptr(0) {
 33119  				sqlite3.Xsqlite3_free(tls, (*EvalResult)(unsafe.Pointer(p)).Fz)
 33120  				libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(EvalResult{})))
 33121  				return 1
 33122  			}
 33123  			(*EvalResult)(unsafe.Pointer(p)).Fz = zNew
 33124  		}
 33125  		if (*EvalResult)(unsafe.Pointer(p)).FnUsed > int64(0) {
 33126  			libc.Xmemcpy(tls, (*EvalResult)(unsafe.Pointer(p)).Fz+uintptr((*EvalResult)(unsafe.Pointer(p)).FnUsed), (*EvalResult)(unsafe.Pointer(p)).FzSep, uint64((*EvalResult)(unsafe.Pointer(p)).FszSep))
 33127  			*(*sqlite3_int64)(unsafe.Pointer(p + 32)) += sqlite3_int64((*EvalResult)(unsafe.Pointer(p)).FszSep)
 33128  		}
 33129  		libc.Xmemcpy(tls, (*EvalResult)(unsafe.Pointer(p)).Fz+uintptr((*EvalResult)(unsafe.Pointer(p)).FnUsed), z, sz)
 33130  		*(*sqlite3_int64)(unsafe.Pointer(p + 32)) += sqlite3_int64(sz)
 33131  	}
 33132  	return 0
 33133  }
 33134  
 33135  func sqlEvalFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 33136  	bp := tls.Alloc(48)
 33137  	defer tls.Free(48)
 33138  
 33139  	var zSql uintptr
 33140  	var db uintptr
 33141  	*(*uintptr)(unsafe.Pointer(bp + 40)) = uintptr(0)
 33142  	var rc int32
 33143  
 33144  	libc.Xmemset(tls, bp, 0, uint64(unsafe.Sizeof(EvalResult{})))
 33145  	(*EvalResult)(unsafe.Pointer(bp)).FzSep = ts + 4894
 33146  	zSql = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv)))
 33147  	if zSql == uintptr(0) {
 33148  		return
 33149  	}
 33150  	if argc > 1 {
 33151  		(*EvalResult)(unsafe.Pointer(bp)).FzSep = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))
 33152  		if (*EvalResult)(unsafe.Pointer(bp)).FzSep == uintptr(0) {
 33153  			return
 33154  		}
 33155  	}
 33156  	(*EvalResult)(unsafe.Pointer(bp)).FszSep = int32(libc.Xstrlen(tls, (*EvalResult)(unsafe.Pointer(bp)).FzSep))
 33157  	db = sqlite3.Xsqlite3_context_db_handle(tls, context)
 33158  	rc = sqlite3.Xsqlite3_exec(tls, db, zSql, *(*uintptr)(unsafe.Pointer(&struct {
 33159  		f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32
 33160  	}{callback})), bp, bp+40)
 33161  	if rc != SQLITE_OK {
 33162  		sqlite3.Xsqlite3_result_error(tls, context, *(*uintptr)(unsafe.Pointer(bp + 40)), -1)
 33163  		sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 40)))
 33164  	} else if (*EvalResult)(unsafe.Pointer(bp)).FzSep == uintptr(0) {
 33165  		sqlite3.Xsqlite3_result_error_nomem(tls, context)
 33166  		sqlite3.Xsqlite3_free(tls, (*EvalResult)(unsafe.Pointer(bp)).Fz)
 33167  	} else {
 33168  		sqlite3.Xsqlite3_result_text(tls, context, (*EvalResult)(unsafe.Pointer(bp)).Fz, int32((*EvalResult)(unsafe.Pointer(bp)).FnUsed), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sqlite3.Xsqlite3_free})))
 33169  	}
 33170  }
 33171  
 33172  func sqlite3_eval_init(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi uintptr) int32 {
 33173  	var rc int32 = SQLITE_OK
 33174  	_ = pApi
 33175  
 33176  	_ = pzErrMsg
 33177  	rc = sqlite3.Xsqlite3_create_function(tls, db, ts+4896, 1,
 33178  		SQLITE_UTF8|SQLITE_DIRECTONLY, uintptr(0),
 33179  		*(*uintptr)(unsafe.Pointer(&struct {
 33180  			f func(*libc.TLS, uintptr, int32, uintptr)
 33181  		}{sqlEvalFunc})), uintptr(0), uintptr(0))
 33182  	if rc == SQLITE_OK {
 33183  		rc = sqlite3.Xsqlite3_create_function(tls, db, ts+4896, 2,
 33184  			SQLITE_UTF8|SQLITE_DIRECTONLY, uintptr(0),
 33185  			*(*uintptr)(unsafe.Pointer(&struct {
 33186  				f func(*libc.TLS, uintptr, int32, uintptr)
 33187  			}{sqlEvalFunc})), uintptr(0), uintptr(0))
 33188  	}
 33189  	return rc
 33190  }
 33191  
 33192  type explain_vtab1 = struct {
 33193  	Fbase sqlite3_vtab
 33194  	Fdb   uintptr
 33195  }
 33196  
 33197  type explain_vtab = explain_vtab1
 33198  
 33199  type explain_cursor1 = struct {
 33200  	Fbase        sqlite3_vtab_cursor
 33201  	Fdb          uintptr
 33202  	FzSql        uintptr
 33203  	FpExplain    uintptr
 33204  	Frc          int32
 33205  	F__ccgo_pad1 [4]byte
 33206  }
 33207  
 33208  type explain_cursor = explain_cursor1
 33209  
 33210  func explainConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 {
 33211  	var pNew uintptr
 33212  	var rc int32
 33213  
 33214  	rc = sqlite3.Xsqlite3_declare_vtab(tls, db,
 33215  		ts+4901)
 33216  	if rc == SQLITE_OK {
 33217  		pNew = sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(explain_vtab{})))
 33218  		*(*uintptr)(unsafe.Pointer(ppVtab)) = pNew
 33219  		if pNew == uintptr(0) {
 33220  			return SQLITE_NOMEM
 33221  		}
 33222  		libc.Xmemset(tls, pNew, 0, uint64(unsafe.Sizeof(explain_vtab{})))
 33223  		(*explain_vtab)(unsafe.Pointer(pNew)).Fdb = db
 33224  	}
 33225  	return rc
 33226  }
 33227  
 33228  func explainDisconnect(tls *libc.TLS, pVtab uintptr) int32 {
 33229  	sqlite3.Xsqlite3_free(tls, pVtab)
 33230  	return SQLITE_OK
 33231  }
 33232  
 33233  func explainOpen(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 {
 33234  	var pCur uintptr
 33235  	pCur = sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(explain_cursor{})))
 33236  	if pCur == uintptr(0) {
 33237  		return SQLITE_NOMEM
 33238  	}
 33239  	libc.Xmemset(tls, pCur, 0, uint64(unsafe.Sizeof(explain_cursor{})))
 33240  	(*explain_cursor)(unsafe.Pointer(pCur)).Fdb = (*explain_vtab)(unsafe.Pointer(p)).Fdb
 33241  	*(*uintptr)(unsafe.Pointer(ppCursor)) = pCur
 33242  	return SQLITE_OK
 33243  }
 33244  
 33245  func explainClose(tls *libc.TLS, cur uintptr) int32 {
 33246  	var pCur uintptr = cur
 33247  	sqlite3.Xsqlite3_finalize(tls, (*explain_cursor)(unsafe.Pointer(pCur)).FpExplain)
 33248  	sqlite3.Xsqlite3_free(tls, (*explain_cursor)(unsafe.Pointer(pCur)).FzSql)
 33249  	sqlite3.Xsqlite3_free(tls, pCur)
 33250  	return SQLITE_OK
 33251  }
 33252  
 33253  func explainNext(tls *libc.TLS, cur uintptr) int32 {
 33254  	var pCur uintptr = cur
 33255  	(*explain_cursor)(unsafe.Pointer(pCur)).Frc = sqlite3.Xsqlite3_step(tls, (*explain_cursor)(unsafe.Pointer(pCur)).FpExplain)
 33256  	if (*explain_cursor)(unsafe.Pointer(pCur)).Frc != SQLITE_DONE && (*explain_cursor)(unsafe.Pointer(pCur)).Frc != SQLITE_ROW {
 33257  		return (*explain_cursor)(unsafe.Pointer(pCur)).Frc
 33258  	}
 33259  	return SQLITE_OK
 33260  }
 33261  
 33262  func explainColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 {
 33263  	var pCur uintptr = cur
 33264  	if i == EXPLN_COLUMN_SQL {
 33265  		sqlite3.Xsqlite3_result_text(tls, ctx, (*explain_cursor)(unsafe.Pointer(pCur)).FzSql, -1, libc.UintptrFromInt32(-1))
 33266  	} else {
 33267  		sqlite3.Xsqlite3_result_value(tls, ctx, sqlite3.Xsqlite3_column_value(tls, (*explain_cursor)(unsafe.Pointer(pCur)).FpExplain, i))
 33268  	}
 33269  	return SQLITE_OK
 33270  }
 33271  
 33272  func explainRowid(tls *libc.TLS, cur uintptr, pRowid uintptr) int32 {
 33273  	var pCur uintptr = cur
 33274  	*(*sqlite_int64)(unsafe.Pointer(pRowid)) = sqlite3.Xsqlite3_column_int64(tls, (*explain_cursor)(unsafe.Pointer(pCur)).FpExplain, 0)
 33275  	return SQLITE_OK
 33276  }
 33277  
 33278  func explainEof(tls *libc.TLS, cur uintptr) int32 {
 33279  	var pCur uintptr = cur
 33280  	return libc.Bool32((*explain_cursor)(unsafe.Pointer(pCur)).Frc != SQLITE_ROW)
 33281  }
 33282  
 33283  func explainFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 {
 33284  	bp := tls.Alloc(16)
 33285  	defer tls.Free(16)
 33286  
 33287  	var pCur uintptr = pVtabCursor
 33288  	var zSql uintptr = uintptr(0)
 33289  	var rc int32
 33290  	sqlite3.Xsqlite3_finalize(tls, (*explain_cursor)(unsafe.Pointer(pCur)).FpExplain)
 33291  	(*explain_cursor)(unsafe.Pointer(pCur)).FpExplain = uintptr(0)
 33292  	if sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) != SQLITE_TEXT {
 33293  		(*explain_cursor)(unsafe.Pointer(pCur)).Frc = SQLITE_DONE
 33294  		return SQLITE_OK
 33295  	}
 33296  	sqlite3.Xsqlite3_free(tls, (*explain_cursor)(unsafe.Pointer(pCur)).FzSql)
 33297  	(*explain_cursor)(unsafe.Pointer(pCur)).FzSql = sqlite3.Xsqlite3_mprintf(tls, ts, libc.VaList(bp, sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv)))))
 33298  	if (*explain_cursor)(unsafe.Pointer(pCur)).FzSql != 0 {
 33299  		zSql = sqlite3.Xsqlite3_mprintf(tls, ts+4963, libc.VaList(bp+8, (*explain_cursor)(unsafe.Pointer(pCur)).FzSql))
 33300  	}
 33301  	if zSql == uintptr(0) {
 33302  		rc = SQLITE_NOMEM
 33303  	} else {
 33304  		rc = sqlite3.Xsqlite3_prepare_v2(tls, (*explain_cursor)(unsafe.Pointer(pCur)).Fdb, zSql, -1, pCur+24, uintptr(0))
 33305  		sqlite3.Xsqlite3_free(tls, zSql)
 33306  	}
 33307  	if rc != 0 {
 33308  		sqlite3.Xsqlite3_finalize(tls, (*explain_cursor)(unsafe.Pointer(pCur)).FpExplain)
 33309  		(*explain_cursor)(unsafe.Pointer(pCur)).FpExplain = uintptr(0)
 33310  		sqlite3.Xsqlite3_free(tls, (*explain_cursor)(unsafe.Pointer(pCur)).FzSql)
 33311  		(*explain_cursor)(unsafe.Pointer(pCur)).FzSql = uintptr(0)
 33312  	} else {
 33313  		(*explain_cursor)(unsafe.Pointer(pCur)).Frc = sqlite3.Xsqlite3_step(tls, (*explain_cursor)(unsafe.Pointer(pCur)).FpExplain)
 33314  		if (*explain_cursor)(unsafe.Pointer(pCur)).Frc == SQLITE_DONE || (*explain_cursor)(unsafe.Pointer(pCur)).Frc == SQLITE_ROW {
 33315  			rc = SQLITE_OK
 33316  		} else {
 33317  			rc = (*explain_cursor)(unsafe.Pointer(pCur)).Frc
 33318  		}
 33319  	}
 33320  	return rc
 33321  }
 33322  
 33323  func explainBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 {
 33324  	var i int32
 33325  	var idx int32 = -1
 33326  	var unusable int32 = 0
 33327  
 33328  	(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(500)
 33329  	for i = 0; i < (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint; i++ {
 33330  		var p uintptr = (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraint + uintptr(i)*12
 33331  		if (*sqlite3_index_constraint)(unsafe.Pointer(p)).FiColumn != EXPLN_COLUMN_SQL {
 33332  			continue
 33333  		}
 33334  		if !(int32((*sqlite3_index_constraint)(unsafe.Pointer(p)).Fusable) != 0) {
 33335  			unusable = 1
 33336  		} else if int32((*sqlite3_index_constraint)(unsafe.Pointer(p)).Fop) == SQLITE_INDEX_CONSTRAINT_EQ {
 33337  			idx = i
 33338  		}
 33339  	}
 33340  	if idx >= 0 {
 33341  		(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 10.0
 33342  		(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 1
 33343  		(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(idx)*8)).FargvIndex = 1
 33344  		(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(idx)*8)).Fomit = uint8(1)
 33345  	} else if unusable != 0 {
 33346  		return SQLITE_CONSTRAINT
 33347  	}
 33348  	return SQLITE_OK
 33349  }
 33350  
 33351  var explainModule = sqlite3_module{
 33352  	FxConnect:    0,
 33353  	FxBestIndex:  0,
 33354  	FxDisconnect: 0,
 33355  	FxOpen:       0,
 33356  	FxClose:      0,
 33357  	FxFilter:     0,
 33358  	FxNext:       0,
 33359  	FxEof:        0,
 33360  	FxColumn:     0,
 33361  	FxRowid:      0,
 33362  }
 33363  
 33364  func sqlite3ExplainVtabInit(tls *libc.TLS, db uintptr) int32 {
 33365  	var rc int32 = SQLITE_OK
 33366  	rc = sqlite3.Xsqlite3_create_module(tls, db, ts+4974, uintptr(unsafe.Pointer(&explainModule)), uintptr(0))
 33367  	return rc
 33368  }
 33369  
 33370  func sqlite3_explain_init(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi uintptr) int32 {
 33371  	var rc int32 = SQLITE_OK
 33372  	_ = pApi
 33373  
 33374  	rc = sqlite3ExplainVtabInit(tls, db)
 33375  	return rc
 33376  }
 33377  
 33378  type _ino_t = uint16
 33379  type ino_t = uint16
 33380  
 33381  type _dev_t = uint32
 33382  type dev_t = uint32
 33383  
 33384  type _pid_t = int64
 33385  
 33386  type pid_t = _pid_t
 33387  
 33388  type _mode_t = uint16
 33389  
 33390  type mode_t = _mode_t
 33391  
 33392  type useconds_t = uint32
 33393  
 33394  type timespec = struct {
 33395  	Ftv_sec      time_t
 33396  	Ftv_nsec     int32
 33397  	F__ccgo_pad1 [4]byte
 33398  }
 33399  
 33400  type itimerspec = struct {
 33401  	Fit_interval struct {
 33402  		Ftv_sec      time_t
 33403  		Ftv_nsec     int32
 33404  		F__ccgo_pad1 [4]byte
 33405  	}
 33406  	Fit_value struct {
 33407  		Ftv_sec      time_t
 33408  		Ftv_nsec     int32
 33409  		F__ccgo_pad1 [4]byte
 33410  	}
 33411  }
 33412  
 33413  type _sigset_t = uint64
 33414  type _fsize_t = uint32
 33415  
 33416  type _finddata32_t = struct {
 33417  	Fattrib      uint32
 33418  	Ftime_create int32
 33419  	Ftime_access int32
 33420  	Ftime_write  int32
 33421  	Fsize        _fsize_t
 33422  	Fname        [260]int8
 33423  }
 33424  
 33425  type _finddata32i64_t = struct {
 33426  	Fattrib      uint32
 33427  	Ftime_create int32
 33428  	Ftime_access int32
 33429  	Ftime_write  int32
 33430  	Fsize        int64
 33431  	Fname        [260]int8
 33432  	F__ccgo_pad1 [4]byte
 33433  }
 33434  
 33435  type _finddata64i32_t = struct {
 33436  	Fattrib      uint32
 33437  	F__ccgo_pad1 [4]byte
 33438  	Ftime_create int64
 33439  	Ftime_access int64
 33440  	Ftime_write  int64
 33441  	Fsize        _fsize_t
 33442  	Fname        [260]int8
 33443  }
 33444  
 33445  type __finddata64_t = struct {
 33446  	Fattrib      uint32
 33447  	F__ccgo_pad1 [4]byte
 33448  	Ftime_create int64
 33449  	Ftime_access int64
 33450  	Ftime_write  int64
 33451  	Fsize        int64
 33452  	Fname        [260]int8
 33453  	F__ccgo_pad2 [4]byte
 33454  }
 33455  
 33456  type _wfinddata32_t = struct {
 33457  	Fattrib      uint32
 33458  	Ftime_create int32
 33459  	Ftime_access int32
 33460  	Ftime_write  int32
 33461  	Fsize        _fsize_t
 33462  	Fname        [260]wchar_t
 33463  }
 33464  
 33465  type _wfinddata32i64_t = struct {
 33466  	Fattrib      uint32
 33467  	Ftime_create int32
 33468  	Ftime_access int32
 33469  	Ftime_write  int32
 33470  	Fsize        int64
 33471  	Fname        [260]wchar_t
 33472  }
 33473  
 33474  type _wfinddata64i32_t = struct {
 33475  	Fattrib      uint32
 33476  	F__ccgo_pad1 [4]byte
 33477  	Ftime_create int64
 33478  	Ftime_access int64
 33479  	Ftime_write  int64
 33480  	Fsize        _fsize_t
 33481  	Fname        [260]wchar_t
 33482  	F__ccgo_pad2 [4]byte
 33483  }
 33484  
 33485  type _wfinddata64_t = struct {
 33486  	Fattrib      uint32
 33487  	F__ccgo_pad1 [4]byte
 33488  	Ftime_create int64
 33489  	Ftime_access int64
 33490  	Ftime_write  int64
 33491  	Fsize        int64
 33492  	Fname        [260]wchar_t
 33493  }
 33494  
 33495  type _stat32 = struct {
 33496  	Fst_dev      _dev_t
 33497  	Fst_ino      _ino_t
 33498  	Fst_mode     uint16
 33499  	Fst_nlink    int16
 33500  	Fst_uid      int16
 33501  	Fst_gid      int16
 33502  	F__ccgo_pad1 [2]byte
 33503  	Fst_rdev     _dev_t
 33504  	Fst_size     _off_t
 33505  	Fst_atime    int32
 33506  	Fst_mtime    int32
 33507  	Fst_ctime    int32
 33508  }
 33509  
 33510  type _stat32i64 = struct {
 33511  	Fst_dev      _dev_t
 33512  	Fst_ino      _ino_t
 33513  	Fst_mode     uint16
 33514  	Fst_nlink    int16
 33515  	Fst_uid      int16
 33516  	Fst_gid      int16
 33517  	F__ccgo_pad1 [2]byte
 33518  	Fst_rdev     _dev_t
 33519  	F__ccgo_pad2 [4]byte
 33520  	Fst_size     int64
 33521  	Fst_atime    int32
 33522  	Fst_mtime    int32
 33523  	Fst_ctime    int32
 33524  	F__ccgo_pad3 [4]byte
 33525  }
 33526  
 33527  type _stat64i32 = struct {
 33528  	Fst_dev      _dev_t
 33529  	Fst_ino      _ino_t
 33530  	Fst_mode     uint16
 33531  	Fst_nlink    int16
 33532  	Fst_uid      int16
 33533  	Fst_gid      int16
 33534  	F__ccgo_pad1 [2]byte
 33535  	Fst_rdev     _dev_t
 33536  	Fst_size     _off_t
 33537  	Fst_atime    int64
 33538  	Fst_mtime    int64
 33539  	Fst_ctime    int64
 33540  }
 33541  
 33542  type _stat64 = struct {
 33543  	Fst_dev      _dev_t
 33544  	Fst_ino      _ino_t
 33545  	Fst_mode     uint16
 33546  	Fst_nlink    int16
 33547  	Fst_uid      int16
 33548  	Fst_gid      int16
 33549  	F__ccgo_pad1 [2]byte
 33550  	Fst_rdev     _dev_t
 33551  	F__ccgo_pad2 [4]byte
 33552  	Fst_size     int64
 33553  	Fst_atime    int64
 33554  	Fst_mtime    int64
 33555  	Fst_ctime    int64
 33556  }
 33557  
 33558  type _EXCEPTION_POINTERS = struct {
 33559  	FExceptionRecord PEXCEPTION_RECORD
 33560  	FContextRecord   PCONTEXT
 33561  }
 33562  
 33563  type _EXCEPTION_RECORD = struct {
 33564  	FExceptionCode        DWORD
 33565  	FExceptionFlags       DWORD
 33566  	FExceptionRecord      uintptr
 33567  	FExceptionAddress     PVOID
 33568  	FNumberParameters     DWORD
 33569  	F__ccgo_pad1          [4]byte
 33570  	FExceptionInformation [15]ULONG_PTR
 33571  }
 33572  
 33573  type _CONTEXT = struct {
 33574  	FP1Home               DWORD64
 33575  	FP2Home               DWORD64
 33576  	FP3Home               DWORD64
 33577  	FP4Home               DWORD64
 33578  	FP5Home               DWORD64
 33579  	FP6Home               DWORD64
 33580  	FContextFlags         DWORD
 33581  	FMxCsr                DWORD
 33582  	FSegCs                WORD
 33583  	FSegDs                WORD
 33584  	FSegEs                WORD
 33585  	FSegFs                WORD
 33586  	FSegGs                WORD
 33587  	FSegSs                WORD
 33588  	FEFlags               DWORD
 33589  	FDr0                  DWORD64
 33590  	FDr1                  DWORD64
 33591  	FDr2                  DWORD64
 33592  	FDr3                  DWORD64
 33593  	FDr6                  DWORD64
 33594  	FDr7                  DWORD64
 33595  	FRax                  DWORD64
 33596  	FRcx                  DWORD64
 33597  	FRdx                  DWORD64
 33598  	FRbx                  DWORD64
 33599  	FRsp                  DWORD64
 33600  	FRbp                  DWORD64
 33601  	FRsi                  DWORD64
 33602  	FRdi                  DWORD64
 33603  	FR8                   DWORD64
 33604  	FR9                   DWORD64
 33605  	FR10                  DWORD64
 33606  	FR11                  DWORD64
 33607  	FR12                  DWORD64
 33608  	FR13                  DWORD64
 33609  	FR14                  DWORD64
 33610  	FR15                  DWORD64
 33611  	FRip                  DWORD64
 33612  	F__256                struct{ FFltSave XMM_SAVE_AREA32 }
 33613  	FVectorRegister       [26]M128A
 33614  	FVectorControl        DWORD64
 33615  	FDebugControl         DWORD64
 33616  	FLastBranchToRip      DWORD64
 33617  	FLastBranchFromRip    DWORD64
 33618  	FLastExceptionToRip   DWORD64
 33619  	FLastExceptionFromRip DWORD64
 33620  }
 33621  
 33622  type _DISPATCHER_CONTEXT = struct {
 33623  	FControlPc        ULONG64
 33624  	FImageBase        ULONG64
 33625  	FFunctionEntry    PRUNTIME_FUNCTION
 33626  	FEstablisherFrame ULONG64
 33627  	FTargetIp         ULONG64
 33628  	FContextRecord    PCONTEXT
 33629  	FLanguageHandler  PEXCEPTION_ROUTINE
 33630  	FHandlerData      PVOID
 33631  	FHistoryTable     PUNWIND_HISTORY_TABLE
 33632  	FScopeIndex       ULONG
 33633  	FFill0            ULONG
 33634  }
 33635  
 33636  type _PHNDLR = uintptr
 33637  
 33638  type _XCPT_ACTION = struct {
 33639  	FXcptNum    uint32
 33640  	FSigNum     int32
 33641  	FXcptAction _PHNDLR
 33642  }
 33643  
 33644  type PEXCEPTION_HANDLER = uintptr
 33645  
 33646  type ULONG = uint32
 33647  type PULONG = uintptr
 33648  type USHORT = uint16
 33649  type PUSHORT = uintptr
 33650  type UCHAR = uint8
 33651  type PUCHAR = uintptr
 33652  type PSZ = uintptr
 33653  
 33654  type WINBOOL = int32
 33655  type BOOL = int32
 33656  type PBOOL = uintptr
 33657  type LPBOOL = uintptr
 33658  
 33659  type BYTE = uint8
 33660  type WORD = uint16
 33661  type DWORD = uint32
 33662  type FLOAT = float32
 33663  type PFLOAT = uintptr
 33664  type PBYTE = uintptr
 33665  type LPBYTE = uintptr
 33666  type PINT = uintptr
 33667  type LPINT = uintptr
 33668  type PWORD = uintptr
 33669  type LPWORD = uintptr
 33670  type LPLONG = uintptr
 33671  type PDWORD = uintptr
 33672  type LPDWORD = uintptr
 33673  type LPVOID = uintptr
 33674  type LPCVOID = uintptr
 33675  type INT = int32
 33676  type UINT = uint32
 33677  type PUINT = uintptr
 33678  
 33679  type POINTER_64_INT = uint64
 33680  
 33681  type INT8 = int8
 33682  type PINT8 = uintptr
 33683  type INT16 = int16
 33684  type PINT16 = uintptr
 33685  type INT32 = int32
 33686  type PINT32 = uintptr
 33687  type INT64 = int64
 33688  type PINT64 = uintptr
 33689  type UINT8 = uint8
 33690  type PUINT8 = uintptr
 33691  type UINT16 = uint16
 33692  type PUINT16 = uintptr
 33693  type UINT32 = uint32
 33694  type PUINT32 = uintptr
 33695  type UINT64 = uint64
 33696  type PUINT64 = uintptr
 33697  type LONG32 = int32
 33698  type PLONG32 = uintptr
 33699  type ULONG32 = uint32
 33700  type PULONG32 = uintptr
 33701  type DWORD32 = uint32
 33702  type PDWORD32 = uintptr
 33703  
 33704  type INT_PTR = int64
 33705  type PINT_PTR = uintptr
 33706  type UINT_PTR = uint64
 33707  type PUINT_PTR = uintptr
 33708  type LONG_PTR = int64
 33709  type PLONG_PTR = uintptr
 33710  type ULONG_PTR = uint64
 33711  type PULONG_PTR = uintptr
 33712  
 33713  type SHANDLE_PTR = int64
 33714  type HANDLE_PTR = uint64
 33715  type UHALF_PTR = uint32
 33716  type PUHALF_PTR = uintptr
 33717  type HALF_PTR = int32
 33718  type PHALF_PTR = uintptr
 33719  
 33720  type SIZE_T = ULONG_PTR
 33721  type PSIZE_T = uintptr
 33722  type SSIZE_T = LONG_PTR
 33723  type PSSIZE_T = uintptr
 33724  
 33725  type DWORD_PTR = ULONG_PTR
 33726  type PDWORD_PTR = uintptr
 33727  type LONG64 = int64
 33728  type PLONG64 = uintptr
 33729  type ULONG64 = uint64
 33730  type PULONG64 = uintptr
 33731  type DWORD64 = uint64
 33732  type PDWORD64 = uintptr
 33733  type KAFFINITY = ULONG_PTR
 33734  type PKAFFINITY = uintptr
 33735  
 33736  type PVOID = uintptr
 33737  type PVOID64 = uintptr
 33738  
 33739  type WCHAR = wchar_t
 33740  type PWCHAR = uintptr
 33741  type LPWCH = uintptr
 33742  type PWCH = uintptr
 33743  type LPCWCH = uintptr
 33744  type PCWCH = uintptr
 33745  type NWPSTR = uintptr
 33746  type LPWSTR = uintptr
 33747  type PWSTR = uintptr
 33748  type PZPWSTR = uintptr
 33749  type PCZPWSTR = uintptr
 33750  type LPUWSTR = uintptr
 33751  type PUWSTR = uintptr
 33752  type LPCWSTR = uintptr
 33753  type PCWSTR = uintptr
 33754  type PZPCWSTR = uintptr
 33755  type LPCUWSTR = uintptr
 33756  type PCUWSTR = uintptr
 33757  type PZZWSTR = uintptr
 33758  type PCZZWSTR = uintptr
 33759  type PUZZWSTR = uintptr
 33760  type PCUZZWSTR = uintptr
 33761  type PNZWCH = uintptr
 33762  type PCNZWCH = uintptr
 33763  type PUNZWCH = uintptr
 33764  type PCUNZWCH = uintptr
 33765  
 33766  type PCHAR = uintptr
 33767  type LPCH = uintptr
 33768  type PCH = uintptr
 33769  type LPCCH = uintptr
 33770  type PCCH = uintptr
 33771  type NPSTR = uintptr
 33772  type LPSTR = uintptr
 33773  type PSTR = uintptr
 33774  type PZPSTR = uintptr
 33775  type PCZPSTR = uintptr
 33776  type LPCSTR = uintptr
 33777  type PCSTR = uintptr
 33778  type PZPCSTR = uintptr
 33779  type PZZSTR = uintptr
 33780  type PCZZSTR = uintptr
 33781  type PNZCH = uintptr
 33782  type PCNZCH = uintptr
 33783  type PTCHAR = uintptr
 33784  type TBYTE = uint8
 33785  type PTBYTE = uintptr
 33786  
 33787  type LPTCH = LPSTR
 33788  type PTCH = LPSTR
 33789  type LPCTCH = LPCCH
 33790  type PCTCH = LPCCH
 33791  type PTSTR = LPSTR
 33792  type LPTSTR = LPSTR
 33793  type PUTSTR = LPSTR
 33794  type LPUTSTR = LPSTR
 33795  type PCTSTR = LPCSTR
 33796  type LPCTSTR = LPCSTR
 33797  type PCUTSTR = LPCSTR
 33798  type LPCUTSTR = LPCSTR
 33799  type PZZTSTR = PZZSTR
 33800  type PUZZTSTR = PZZSTR
 33801  type PCZZTSTR = PCZZSTR
 33802  type PCUZZTSTR = PCZZSTR
 33803  type PZPTSTR = PZPSTR
 33804  type PNZTCH = PNZCH
 33805  type PUNZTCH = PNZCH
 33806  type PCNZTCH = PCNZCH
 33807  type PCUNZTCH = PCNZCH
 33808  
 33809  type PSHORT = uintptr
 33810  type PLONG = uintptr
 33811  
 33812  type _GROUP_AFFINITY = struct {
 33813  	FMask     KAFFINITY
 33814  	FGroup    WORD
 33815  	FReserved [3]WORD
 33816  }
 33817  
 33818  type GROUP_AFFINITY = _GROUP_AFFINITY
 33819  type PGROUP_AFFINITY = uintptr
 33820  
 33821  type HANDLE = uintptr
 33822  
 33823  type PHANDLE = uintptr
 33824  type FCHAR = BYTE
 33825  type FSHORT = WORD
 33826  type FLONG = DWORD
 33827  
 33828  type HRESULT = LONG
 33829  
 33830  type CCHAR = int8
 33831  type LCID = DWORD
 33832  type PLCID = PDWORD
 33833  type LANGID = WORD
 33834  
 33835  type COMPARTMENT_ID = uint32
 33836  type PCOMPARTMENT_ID = uintptr
 33837  
 33838  type _FLOAT128 = struct {
 33839  	FLowPart  int64
 33840  	FHighPart int64
 33841  }
 33842  
 33843  type FLOAT128 = _FLOAT128
 33844  
 33845  type PFLOAT128 = uintptr
 33846  
 33847  type LONGLONG = int64
 33848  type ULONGLONG = uint64
 33849  
 33850  type PLONGLONG = uintptr
 33851  type PULONGLONG = uintptr
 33852  type USN = LONGLONG
 33853  
 33854  type _LARGE_INTEGER = struct {
 33855  	F__ccgo_pad1 [0]uint64
 33856  	Fs           struct {
 33857  		FLowPart  DWORD
 33858  		FHighPart LONG
 33859  	}
 33860  }
 33861  
 33862  type LARGE_INTEGER = _LARGE_INTEGER
 33863  
 33864  type PLARGE_INTEGER = uintptr
 33865  
 33866  type _ULARGE_INTEGER = struct {
 33867  	F__ccgo_pad1 [0]uint64
 33868  	Fs           struct {
 33869  		FLowPart  DWORD
 33870  		FHighPart DWORD
 33871  	}
 33872  }
 33873  
 33874  type ULARGE_INTEGER = _ULARGE_INTEGER
 33875  
 33876  type PULARGE_INTEGER = uintptr
 33877  
 33878  type _LUID = struct {
 33879  	FLowPart  DWORD
 33880  	FHighPart LONG
 33881  }
 33882  
 33883  type LUID = _LUID
 33884  type PLUID = uintptr
 33885  
 33886  type DWORDLONG = ULONGLONG
 33887  type PDWORDLONG = uintptr
 33888  
 33889  type BOOLEAN = BYTE
 33890  type PBOOLEAN = uintptr
 33891  
 33892  type _LIST_ENTRY = struct {
 33893  	FFlink uintptr
 33894  	FBlink uintptr
 33895  }
 33896  
 33897  type LIST_ENTRY = _LIST_ENTRY
 33898  type PLIST_ENTRY = uintptr
 33899  type PRLIST_ENTRY = uintptr
 33900  
 33901  type _SINGLE_LIST_ENTRY = struct{ FNext uintptr }
 33902  
 33903  type SINGLE_LIST_ENTRY = _SINGLE_LIST_ENTRY
 33904  type PSINGLE_LIST_ENTRY = uintptr
 33905  
 33906  type LIST_ENTRY321 = struct {
 33907  	FFlink DWORD
 33908  	FBlink DWORD
 33909  }
 33910  
 33911  type LIST_ENTRY32 = LIST_ENTRY321
 33912  type PLIST_ENTRY32 = uintptr
 33913  
 33914  type LIST_ENTRY641 = struct {
 33915  	FFlink ULONGLONG
 33916  	FBlink ULONGLONG
 33917  }
 33918  
 33919  type LIST_ENTRY64 = LIST_ENTRY641
 33920  type PLIST_ENTRY64 = uintptr
 33921  
 33922  type _GUID = struct {
 33923  	FData1 uint32
 33924  	FData2 uint16
 33925  	FData3 uint16
 33926  	FData4 [8]uint8
 33927  }
 33928  
 33929  type GUID = _GUID
 33930  
 33931  type LPGUID = uintptr
 33932  
 33933  type LPCGUID = uintptr
 33934  
 33935  type IID = GUID
 33936  type LPIID = uintptr
 33937  
 33938  type CLSID = GUID
 33939  
 33940  type LPCLSID = uintptr
 33941  
 33942  type FMTID = GUID
 33943  type LPFMTID = uintptr
 33944  
 33945  type _OBJECTID = struct {
 33946  	FLineage    GUID
 33947  	FUniquifier DWORD
 33948  }
 33949  
 33950  type OBJECTID = _OBJECTID
 33951  type PEXCEPTION_ROUTINE = uintptr
 33952  
 33953  type KSPIN_LOCK = ULONG_PTR
 33954  type PKSPIN_LOCK = uintptr
 33955  
 33956  type _M128A = struct {
 33957  	FLow  ULONGLONG
 33958  	FHigh LONGLONG
 33959  }
 33960  
 33961  type M128A = _M128A
 33962  type PM128A = uintptr
 33963  
 33964  type _XSAVE_FORMAT = struct {
 33965  	FControlWord    WORD
 33966  	FStatusWord     WORD
 33967  	FTagWord        BYTE
 33968  	FReserved1      BYTE
 33969  	FErrorOpcode    WORD
 33970  	FErrorOffset    DWORD
 33971  	FErrorSelector  WORD
 33972  	FReserved2      WORD
 33973  	FDataOffset     DWORD
 33974  	FDataSelector   WORD
 33975  	FReserved3      WORD
 33976  	FMxCsr          DWORD
 33977  	FMxCsr_Mask     DWORD
 33978  	FFloatRegisters [8]M128A
 33979  	FXmmRegisters   [16]M128A
 33980  	FReserved4      [96]BYTE
 33981  }
 33982  
 33983  type XSAVE_FORMAT = _XSAVE_FORMAT
 33984  type PXSAVE_FORMAT = uintptr
 33985  
 33986  type _XSAVE_AREA_HEADER = struct {
 33987  	FMask     DWORD64
 33988  	FReserved [7]DWORD64
 33989  }
 33990  
 33991  type XSAVE_AREA_HEADER = _XSAVE_AREA_HEADER
 33992  type PXSAVE_AREA_HEADER = uintptr
 33993  
 33994  type _XSAVE_AREA = struct {
 33995  	FLegacyState XSAVE_FORMAT
 33996  	FHeader      XSAVE_AREA_HEADER
 33997  }
 33998  
 33999  type XSAVE_AREA = _XSAVE_AREA
 34000  type PXSAVE_AREA = uintptr
 34001  
 34002  type _XSTATE_CONTEXT = struct {
 34003  	FMask      DWORD64
 34004  	FLength    DWORD
 34005  	FReserved1 DWORD
 34006  	FArea      PXSAVE_AREA
 34007  	FBuffer    PVOID
 34008  }
 34009  
 34010  type XSTATE_CONTEXT = _XSTATE_CONTEXT
 34011  type PXSTATE_CONTEXT = uintptr
 34012  
 34013  type _SCOPE_TABLE_AMD64 = struct {
 34014  	FCount       DWORD
 34015  	FScopeRecord [1]struct {
 34016  		FBeginAddress   DWORD
 34017  		FEndAddress     DWORD
 34018  		FHandlerAddress DWORD
 34019  		FJumpTarget     DWORD
 34020  	}
 34021  }
 34022  
 34023  type SCOPE_TABLE_AMD64 = _SCOPE_TABLE_AMD64
 34024  type PSCOPE_TABLE_AMD64 = uintptr
 34025  
 34026  type _MM_PERM_ENUM = uint32
 34027  
 34028  type _MM_MANTISSA_NORM_ENUM = uint32
 34029  
 34030  type _MM_MANTISSA_SIGN_ENUM = uint32
 34031  
 34032  type _XMM_SAVE_AREA32 = struct {
 34033  	FControlWord    WORD
 34034  	FStatusWord     WORD
 34035  	FTagWord        BYTE
 34036  	FReserved1      BYTE
 34037  	FErrorOpcode    WORD
 34038  	FErrorOffset    DWORD
 34039  	FErrorSelector  WORD
 34040  	FReserved2      WORD
 34041  	FDataOffset     DWORD
 34042  	FDataSelector   WORD
 34043  	FReserved3      WORD
 34044  	FMxCsr          DWORD
 34045  	FMxCsr_Mask     DWORD
 34046  	FFloatRegisters [8]M128A
 34047  	FXmmRegisters   [16]M128A
 34048  	FReserved4      [96]BYTE
 34049  }
 34050  
 34051  type XMM_SAVE_AREA32 = _XMM_SAVE_AREA32
 34052  type PXMM_SAVE_AREA32 = uintptr
 34053  
 34054  type CONTEXT = _CONTEXT
 34055  type PCONTEXT = uintptr
 34056  
 34057  type _RUNTIME_FUNCTION = struct {
 34058  	FBeginAddress DWORD
 34059  	FEndAddress   DWORD
 34060  	FUnwindData   DWORD
 34061  }
 34062  
 34063  type RUNTIME_FUNCTION = _RUNTIME_FUNCTION
 34064  type PRUNTIME_FUNCTION = uintptr
 34065  
 34066  type PGET_RUNTIME_FUNCTION_CALLBACK = uintptr
 34067  type POUT_OF_PROCESS_FUNCTION_TABLE_CALLBACK = uintptr
 34068  
 34069  type _LDT_ENTRY = struct {
 34070  	FLimitLow WORD
 34071  	FBaseLow  WORD
 34072  	FHighWord struct {
 34073  		F__ccgo_pad1 [0]uint32
 34074  		FBytes       struct {
 34075  			FBaseMid BYTE
 34076  			FFlags1  BYTE
 34077  			FFlags2  BYTE
 34078  			FBaseHi  BYTE
 34079  		}
 34080  	}
 34081  }
 34082  
 34083  type LDT_ENTRY = _LDT_ENTRY
 34084  type PLDT_ENTRY = uintptr
 34085  
 34086  type EXCEPTION_RECORD = _EXCEPTION_RECORD
 34087  
 34088  type PEXCEPTION_RECORD = uintptr
 34089  
 34090  type _EXCEPTION_RECORD32 = struct {
 34091  	FExceptionCode        DWORD
 34092  	FExceptionFlags       DWORD
 34093  	FExceptionRecord      DWORD
 34094  	FExceptionAddress     DWORD
 34095  	FNumberParameters     DWORD
 34096  	FExceptionInformation [15]DWORD
 34097  }
 34098  
 34099  type EXCEPTION_RECORD32 = _EXCEPTION_RECORD32
 34100  type PEXCEPTION_RECORD32 = uintptr
 34101  
 34102  type _EXCEPTION_RECORD64 = struct {
 34103  	FExceptionCode        DWORD
 34104  	FExceptionFlags       DWORD
 34105  	FExceptionRecord      DWORD64
 34106  	FExceptionAddress     DWORD64
 34107  	FNumberParameters     DWORD
 34108  	F__unusedAlignment    DWORD
 34109  	FExceptionInformation [15]DWORD64
 34110  }
 34111  
 34112  type EXCEPTION_RECORD64 = _EXCEPTION_RECORD64
 34113  type PEXCEPTION_RECORD64 = uintptr
 34114  
 34115  type EXCEPTION_POINTERS = _EXCEPTION_POINTERS
 34116  type PEXCEPTION_POINTERS = uintptr
 34117  
 34118  type _UNWIND_HISTORY_TABLE_ENTRY = struct {
 34119  	FImageBase     ULONG64
 34120  	FFunctionEntry PRUNTIME_FUNCTION
 34121  }
 34122  
 34123  type UNWIND_HISTORY_TABLE_ENTRY = _UNWIND_HISTORY_TABLE_ENTRY
 34124  type PUNWIND_HISTORY_TABLE_ENTRY = uintptr
 34125  
 34126  type _UNWIND_HISTORY_TABLE = struct {
 34127  	FCount       ULONG
 34128  	FLocalHint   BYTE
 34129  	FGlobalHint  BYTE
 34130  	FSearch      BYTE
 34131  	FOnce        BYTE
 34132  	FLowAddress  ULONG64
 34133  	FHighAddress ULONG64
 34134  	FEntry       [12]UNWIND_HISTORY_TABLE_ENTRY
 34135  }
 34136  
 34137  type UNWIND_HISTORY_TABLE = _UNWIND_HISTORY_TABLE
 34138  type PUNWIND_HISTORY_TABLE = uintptr
 34139  type DISPATCHER_CONTEXT = _DISPATCHER_CONTEXT
 34140  type PDISPATCHER_CONTEXT = uintptr
 34141  
 34142  type _KNONVOLATILE_CONTEXT_POINTERS = struct {
 34143  	FFloatingContext [16]PM128A
 34144  	FIntegerContext  [16]PULONG64
 34145  }
 34146  
 34147  type KNONVOLATILE_CONTEXT_POINTERS = _KNONVOLATILE_CONTEXT_POINTERS
 34148  type PKNONVOLATILE_CONTEXT_POINTERS = uintptr
 34149  
 34150  type PACCESS_TOKEN = PVOID
 34151  type PSECURITY_DESCRIPTOR = PVOID
 34152  type PSID = PVOID
 34153  type PCLAIMS_BLOB = PVOID
 34154  type ACCESS_MASK = DWORD
 34155  type PACCESS_MASK = uintptr
 34156  
 34157  type _GENERIC_MAPPING = struct {
 34158  	FGenericRead    ACCESS_MASK
 34159  	FGenericWrite   ACCESS_MASK
 34160  	FGenericExecute ACCESS_MASK
 34161  	FGenericAll     ACCESS_MASK
 34162  }
 34163  
 34164  type GENERIC_MAPPING = _GENERIC_MAPPING
 34165  type PGENERIC_MAPPING = uintptr
 34166  
 34167  type _LUID_AND_ATTRIBUTES = struct {
 34168  	FLuid       LUID
 34169  	FAttributes DWORD
 34170  }
 34171  
 34172  type LUID_AND_ATTRIBUTES = _LUID_AND_ATTRIBUTES
 34173  type PLUID_AND_ATTRIBUTES = uintptr
 34174  type LUID_AND_ATTRIBUTES_ARRAY = [1]LUID_AND_ATTRIBUTES
 34175  type PLUID_AND_ATTRIBUTES_ARRAY = uintptr
 34176  
 34177  type _SID_IDENTIFIER_AUTHORITY = struct{ FValue [6]BYTE }
 34178  
 34179  type SID_IDENTIFIER_AUTHORITY = _SID_IDENTIFIER_AUTHORITY
 34180  type PSID_IDENTIFIER_AUTHORITY = uintptr
 34181  
 34182  type _SID = struct {
 34183  	FRevision            BYTE
 34184  	FSubAuthorityCount   BYTE
 34185  	FIdentifierAuthority SID_IDENTIFIER_AUTHORITY
 34186  	FSubAuthority        [1]DWORD
 34187  }
 34188  
 34189  type SID = _SID
 34190  type PISID = uintptr
 34191  
 34192  type SID_NAME_USE = uint32
 34193  type PSID_NAME_USE = uintptr
 34194  
 34195  type _SID_AND_ATTRIBUTES = struct {
 34196  	FSid         PSID
 34197  	FAttributes  DWORD
 34198  	F__ccgo_pad1 [4]byte
 34199  }
 34200  
 34201  type SID_AND_ATTRIBUTES = _SID_AND_ATTRIBUTES
 34202  type PSID_AND_ATTRIBUTES = uintptr
 34203  
 34204  type SID_AND_ATTRIBUTES_ARRAY = [1]SID_AND_ATTRIBUTES
 34205  type PSID_AND_ATTRIBUTES_ARRAY = uintptr
 34206  
 34207  type SID_HASH_ENTRY = ULONG_PTR
 34208  type PSID_HASH_ENTRY = uintptr
 34209  
 34210  type _SID_AND_ATTRIBUTES_HASH = struct {
 34211  	FSidCount    DWORD
 34212  	F__ccgo_pad1 [4]byte
 34213  	FSidAttr     PSID_AND_ATTRIBUTES
 34214  	FHash        [32]SID_HASH_ENTRY
 34215  }
 34216  
 34217  type SID_AND_ATTRIBUTES_HASH = _SID_AND_ATTRIBUTES_HASH
 34218  type PSID_AND_ATTRIBUTES_HASH = uintptr
 34219  
 34220  type WELL_KNOWN_SID_TYPE = uint32
 34221  
 34222  type _ACL = struct {
 34223  	FAclRevision BYTE
 34224  	FSbz1        BYTE
 34225  	FAclSize     WORD
 34226  	FAceCount    WORD
 34227  	FSbz2        WORD
 34228  }
 34229  
 34230  type ACL = _ACL
 34231  type PACL = uintptr
 34232  
 34233  type _ACE_HEADER = struct {
 34234  	FAceType  BYTE
 34235  	FAceFlags BYTE
 34236  	FAceSize  WORD
 34237  }
 34238  
 34239  type ACE_HEADER = _ACE_HEADER
 34240  type PACE_HEADER = uintptr
 34241  
 34242  type _ACCESS_ALLOWED_ACE = struct {
 34243  	FHeader   ACE_HEADER
 34244  	FMask     ACCESS_MASK
 34245  	FSidStart DWORD
 34246  }
 34247  
 34248  type ACCESS_ALLOWED_ACE = _ACCESS_ALLOWED_ACE
 34249  
 34250  type PACCESS_ALLOWED_ACE = uintptr
 34251  
 34252  type _ACCESS_DENIED_ACE = struct {
 34253  	FHeader   ACE_HEADER
 34254  	FMask     ACCESS_MASK
 34255  	FSidStart DWORD
 34256  }
 34257  
 34258  type ACCESS_DENIED_ACE = _ACCESS_DENIED_ACE
 34259  type PACCESS_DENIED_ACE = uintptr
 34260  
 34261  type _SYSTEM_AUDIT_ACE = struct {
 34262  	FHeader   ACE_HEADER
 34263  	FMask     ACCESS_MASK
 34264  	FSidStart DWORD
 34265  }
 34266  
 34267  type SYSTEM_AUDIT_ACE = _SYSTEM_AUDIT_ACE
 34268  type PSYSTEM_AUDIT_ACE = uintptr
 34269  
 34270  type _SYSTEM_ALARM_ACE = struct {
 34271  	FHeader   ACE_HEADER
 34272  	FMask     ACCESS_MASK
 34273  	FSidStart DWORD
 34274  }
 34275  
 34276  type SYSTEM_ALARM_ACE = _SYSTEM_ALARM_ACE
 34277  type PSYSTEM_ALARM_ACE = uintptr
 34278  
 34279  type _SYSTEM_RESOURCE_ATTRIBUTE_ACE = struct {
 34280  	FHeader   ACE_HEADER
 34281  	FMask     ACCESS_MASK
 34282  	FSidStart DWORD
 34283  }
 34284  
 34285  type SYSTEM_RESOURCE_ATTRIBUTE_ACE = _SYSTEM_RESOURCE_ATTRIBUTE_ACE
 34286  type PSYSTEM_RESOURCE_ATTRIBUTE_ACE = uintptr
 34287  
 34288  type _SYSTEM_SCOPED_POLICY_ID_ACE = struct {
 34289  	FHeader   ACE_HEADER
 34290  	FMask     ACCESS_MASK
 34291  	FSidStart DWORD
 34292  }
 34293  
 34294  type SYSTEM_SCOPED_POLICY_ID_ACE = _SYSTEM_SCOPED_POLICY_ID_ACE
 34295  type PSYSTEM_SCOPED_POLICY_ID_ACE = uintptr
 34296  
 34297  type _SYSTEM_MANDATORY_LABEL_ACE = struct {
 34298  	FHeader   ACE_HEADER
 34299  	FMask     ACCESS_MASK
 34300  	FSidStart DWORD
 34301  }
 34302  
 34303  type SYSTEM_MANDATORY_LABEL_ACE = _SYSTEM_MANDATORY_LABEL_ACE
 34304  type PSYSTEM_MANDATORY_LABEL_ACE = uintptr
 34305  
 34306  type _ACCESS_ALLOWED_OBJECT_ACE = struct {
 34307  	FHeader              ACE_HEADER
 34308  	FMask                ACCESS_MASK
 34309  	FFlags               DWORD
 34310  	FObjectType          GUID
 34311  	FInheritedObjectType GUID
 34312  	FSidStart            DWORD
 34313  }
 34314  
 34315  type ACCESS_ALLOWED_OBJECT_ACE = _ACCESS_ALLOWED_OBJECT_ACE
 34316  type PACCESS_ALLOWED_OBJECT_ACE = uintptr
 34317  
 34318  type _ACCESS_DENIED_OBJECT_ACE = struct {
 34319  	FHeader              ACE_HEADER
 34320  	FMask                ACCESS_MASK
 34321  	FFlags               DWORD
 34322  	FObjectType          GUID
 34323  	FInheritedObjectType GUID
 34324  	FSidStart            DWORD
 34325  }
 34326  
 34327  type ACCESS_DENIED_OBJECT_ACE = _ACCESS_DENIED_OBJECT_ACE
 34328  type PACCESS_DENIED_OBJECT_ACE = uintptr
 34329  
 34330  type _SYSTEM_AUDIT_OBJECT_ACE = struct {
 34331  	FHeader              ACE_HEADER
 34332  	FMask                ACCESS_MASK
 34333  	FFlags               DWORD
 34334  	FObjectType          GUID
 34335  	FInheritedObjectType GUID
 34336  	FSidStart            DWORD
 34337  }
 34338  
 34339  type SYSTEM_AUDIT_OBJECT_ACE = _SYSTEM_AUDIT_OBJECT_ACE
 34340  type PSYSTEM_AUDIT_OBJECT_ACE = uintptr
 34341  
 34342  type _SYSTEM_ALARM_OBJECT_ACE = struct {
 34343  	FHeader              ACE_HEADER
 34344  	FMask                ACCESS_MASK
 34345  	FFlags               DWORD
 34346  	FObjectType          GUID
 34347  	FInheritedObjectType GUID
 34348  	FSidStart            DWORD
 34349  }
 34350  
 34351  type SYSTEM_ALARM_OBJECT_ACE = _SYSTEM_ALARM_OBJECT_ACE
 34352  type PSYSTEM_ALARM_OBJECT_ACE = uintptr
 34353  
 34354  type _ACCESS_ALLOWED_CALLBACK_ACE = struct {
 34355  	FHeader   ACE_HEADER
 34356  	FMask     ACCESS_MASK
 34357  	FSidStart DWORD
 34358  }
 34359  
 34360  type ACCESS_ALLOWED_CALLBACK_ACE = _ACCESS_ALLOWED_CALLBACK_ACE
 34361  type PACCESS_ALLOWED_CALLBACK_ACE = uintptr
 34362  
 34363  type _ACCESS_DENIED_CALLBACK_ACE = struct {
 34364  	FHeader   ACE_HEADER
 34365  	FMask     ACCESS_MASK
 34366  	FSidStart DWORD
 34367  }
 34368  
 34369  type ACCESS_DENIED_CALLBACK_ACE = _ACCESS_DENIED_CALLBACK_ACE
 34370  type PACCESS_DENIED_CALLBACK_ACE = uintptr
 34371  
 34372  type _SYSTEM_AUDIT_CALLBACK_ACE = struct {
 34373  	FHeader   ACE_HEADER
 34374  	FMask     ACCESS_MASK
 34375  	FSidStart DWORD
 34376  }
 34377  
 34378  type SYSTEM_AUDIT_CALLBACK_ACE = _SYSTEM_AUDIT_CALLBACK_ACE
 34379  type PSYSTEM_AUDIT_CALLBACK_ACE = uintptr
 34380  
 34381  type _SYSTEM_ALARM_CALLBACK_ACE = struct {
 34382  	FHeader   ACE_HEADER
 34383  	FMask     ACCESS_MASK
 34384  	FSidStart DWORD
 34385  }
 34386  
 34387  type SYSTEM_ALARM_CALLBACK_ACE = _SYSTEM_ALARM_CALLBACK_ACE
 34388  type PSYSTEM_ALARM_CALLBACK_ACE = uintptr
 34389  
 34390  type _ACCESS_ALLOWED_CALLBACK_OBJECT_ACE = struct {
 34391  	FHeader              ACE_HEADER
 34392  	FMask                ACCESS_MASK
 34393  	FFlags               DWORD
 34394  	FObjectType          GUID
 34395  	FInheritedObjectType GUID
 34396  	FSidStart            DWORD
 34397  }
 34398  
 34399  type ACCESS_ALLOWED_CALLBACK_OBJECT_ACE = _ACCESS_ALLOWED_CALLBACK_OBJECT_ACE
 34400  type PACCESS_ALLOWED_CALLBACK_OBJECT_ACE = uintptr
 34401  
 34402  type _ACCESS_DENIED_CALLBACK_OBJECT_ACE = struct {
 34403  	FHeader              ACE_HEADER
 34404  	FMask                ACCESS_MASK
 34405  	FFlags               DWORD
 34406  	FObjectType          GUID
 34407  	FInheritedObjectType GUID
 34408  	FSidStart            DWORD
 34409  }
 34410  
 34411  type ACCESS_DENIED_CALLBACK_OBJECT_ACE = _ACCESS_DENIED_CALLBACK_OBJECT_ACE
 34412  type PACCESS_DENIED_CALLBACK_OBJECT_ACE = uintptr
 34413  
 34414  type _SYSTEM_AUDIT_CALLBACK_OBJECT_ACE = struct {
 34415  	FHeader              ACE_HEADER
 34416  	FMask                ACCESS_MASK
 34417  	FFlags               DWORD
 34418  	FObjectType          GUID
 34419  	FInheritedObjectType GUID
 34420  	FSidStart            DWORD
 34421  }
 34422  
 34423  type SYSTEM_AUDIT_CALLBACK_OBJECT_ACE = _SYSTEM_AUDIT_CALLBACK_OBJECT_ACE
 34424  type PSYSTEM_AUDIT_CALLBACK_OBJECT_ACE = uintptr
 34425  
 34426  type _SYSTEM_ALARM_CALLBACK_OBJECT_ACE = struct {
 34427  	FHeader              ACE_HEADER
 34428  	FMask                ACCESS_MASK
 34429  	FFlags               DWORD
 34430  	FObjectType          GUID
 34431  	FInheritedObjectType GUID
 34432  	FSidStart            DWORD
 34433  }
 34434  
 34435  type SYSTEM_ALARM_CALLBACK_OBJECT_ACE = _SYSTEM_ALARM_CALLBACK_OBJECT_ACE
 34436  type PSYSTEM_ALARM_CALLBACK_OBJECT_ACE = uintptr
 34437  
 34438  type ACL_INFORMATION_CLASS = uint32
 34439  
 34440  type _ACL_REVISION_INFORMATION = struct{ FAclRevision DWORD }
 34441  
 34442  type ACL_REVISION_INFORMATION = _ACL_REVISION_INFORMATION
 34443  type PACL_REVISION_INFORMATION = uintptr
 34444  
 34445  type _ACL_SIZE_INFORMATION = struct {
 34446  	FAceCount      DWORD
 34447  	FAclBytesInUse DWORD
 34448  	FAclBytesFree  DWORD
 34449  }
 34450  
 34451  type ACL_SIZE_INFORMATION = _ACL_SIZE_INFORMATION
 34452  type PACL_SIZE_INFORMATION = uintptr
 34453  
 34454  type SECURITY_DESCRIPTOR_CONTROL = WORD
 34455  type PSECURITY_DESCRIPTOR_CONTROL = uintptr
 34456  
 34457  type _SECURITY_DESCRIPTOR_RELATIVE = struct {
 34458  	FRevision BYTE
 34459  	FSbz1     BYTE
 34460  	FControl  SECURITY_DESCRIPTOR_CONTROL
 34461  	FOwner    DWORD
 34462  	FGroup    DWORD
 34463  	FSacl     DWORD
 34464  	FDacl     DWORD
 34465  }
 34466  
 34467  type SECURITY_DESCRIPTOR_RELATIVE = _SECURITY_DESCRIPTOR_RELATIVE
 34468  type PISECURITY_DESCRIPTOR_RELATIVE = uintptr
 34469  
 34470  type _SECURITY_DESCRIPTOR = struct {
 34471  	FRevision    BYTE
 34472  	FSbz1        BYTE
 34473  	FControl     SECURITY_DESCRIPTOR_CONTROL
 34474  	F__ccgo_pad1 [4]byte
 34475  	FOwner       PSID
 34476  	FGroup       PSID
 34477  	FSacl        PACL
 34478  	FDacl        PACL
 34479  }
 34480  
 34481  type SECURITY_DESCRIPTOR = _SECURITY_DESCRIPTOR
 34482  type PISECURITY_DESCRIPTOR = uintptr
 34483  
 34484  type _OBJECT_TYPE_LIST = struct {
 34485  	FLevel       WORD
 34486  	FSbz         WORD
 34487  	F__ccgo_pad1 [4]byte
 34488  	FObjectType  uintptr
 34489  }
 34490  
 34491  type OBJECT_TYPE_LIST = _OBJECT_TYPE_LIST
 34492  type POBJECT_TYPE_LIST = uintptr
 34493  
 34494  type AUDIT_EVENT_TYPE = uint32
 34495  type PAUDIT_EVENT_TYPE = uintptr
 34496  
 34497  type _PRIVILEGE_SET = struct {
 34498  	FPrivilegeCount DWORD
 34499  	FControl        DWORD
 34500  	FPrivilege      [1]LUID_AND_ATTRIBUTES
 34501  }
 34502  
 34503  type PRIVILEGE_SET = _PRIVILEGE_SET
 34504  type PPRIVILEGE_SET = uintptr
 34505  
 34506  type ACCESS_REASON_TYPE = uint32
 34507  type ACCESS_REASON = DWORD
 34508  
 34509  type _ACCESS_REASONS = struct{ FData [32]ACCESS_REASON }
 34510  
 34511  type ACCESS_REASONS = _ACCESS_REASONS
 34512  type PACCESS_REASONS = uintptr
 34513  
 34514  type _SE_SECURITY_DESCRIPTOR = struct {
 34515  	FSize               DWORD
 34516  	FFlags              DWORD
 34517  	FSecurityDescriptor PSECURITY_DESCRIPTOR
 34518  }
 34519  
 34520  type SE_SECURITY_DESCRIPTOR = _SE_SECURITY_DESCRIPTOR
 34521  type PSE_SECURITY_DESCRIPTOR = uintptr
 34522  
 34523  type _SE_ACCESS_REQUEST = struct {
 34524  	FSize                    DWORD
 34525  	F__ccgo_pad1             [4]byte
 34526  	FSeSecurityDescriptor    PSE_SECURITY_DESCRIPTOR
 34527  	FDesiredAccess           ACCESS_MASK
 34528  	FPreviouslyGrantedAccess ACCESS_MASK
 34529  	FPrincipalSelfSid        PSID
 34530  	FGenericMapping          PGENERIC_MAPPING
 34531  	FObjectTypeListCount     DWORD
 34532  	F__ccgo_pad2             [4]byte
 34533  	FObjectTypeList          POBJECT_TYPE_LIST
 34534  }
 34535  
 34536  type SE_ACCESS_REQUEST = _SE_ACCESS_REQUEST
 34537  type PSE_ACCESS_REQUEST = uintptr
 34538  
 34539  type _SE_ACCESS_REPLY = struct {
 34540  	FSize            DWORD
 34541  	FResultListCount DWORD
 34542  	FGrantedAccess   PACCESS_MASK
 34543  	FAccessStatus    PDWORD
 34544  	FAccessReason    PACCESS_REASONS
 34545  	FPrivileges      uintptr
 34546  }
 34547  
 34548  type SE_ACCESS_REPLY = _SE_ACCESS_REPLY
 34549  type PSE_ACCESS_REPLY = uintptr
 34550  
 34551  type SECURITY_IMPERSONATION_LEVEL = uint32
 34552  type PSECURITY_IMPERSONATION_LEVEL = uintptr
 34553  
 34554  type TOKEN_TYPE = uint32
 34555  type PTOKEN_TYPE = uintptr
 34556  
 34557  type TOKEN_ELEVATION_TYPE = uint32
 34558  type PTOKEN_ELEVATION_TYPE = uintptr
 34559  
 34560  type TOKEN_INFORMATION_CLASS = uint32
 34561  type PTOKEN_INFORMATION_CLASS = uintptr
 34562  
 34563  type _TOKEN_USER = struct{ FUser SID_AND_ATTRIBUTES }
 34564  
 34565  type TOKEN_USER = _TOKEN_USER
 34566  type PTOKEN_USER = uintptr
 34567  
 34568  type _TOKEN_GROUPS = struct {
 34569  	FGroupCount  DWORD
 34570  	F__ccgo_pad1 [4]byte
 34571  	FGroups      [1]SID_AND_ATTRIBUTES
 34572  }
 34573  
 34574  type TOKEN_GROUPS = _TOKEN_GROUPS
 34575  type PTOKEN_GROUPS = uintptr
 34576  
 34577  type _TOKEN_PRIVILEGES = struct {
 34578  	FPrivilegeCount DWORD
 34579  	FPrivileges     [1]LUID_AND_ATTRIBUTES
 34580  }
 34581  
 34582  type TOKEN_PRIVILEGES = _TOKEN_PRIVILEGES
 34583  type PTOKEN_PRIVILEGES = uintptr
 34584  
 34585  type _TOKEN_OWNER = struct{ FOwner PSID }
 34586  
 34587  type TOKEN_OWNER = _TOKEN_OWNER
 34588  type PTOKEN_OWNER = uintptr
 34589  
 34590  type _TOKEN_PRIMARY_GROUP = struct{ FPrimaryGroup PSID }
 34591  
 34592  type TOKEN_PRIMARY_GROUP = _TOKEN_PRIMARY_GROUP
 34593  type PTOKEN_PRIMARY_GROUP = uintptr
 34594  
 34595  type _TOKEN_DEFAULT_DACL = struct{ FDefaultDacl PACL }
 34596  
 34597  type TOKEN_DEFAULT_DACL = _TOKEN_DEFAULT_DACL
 34598  type PTOKEN_DEFAULT_DACL = uintptr
 34599  
 34600  type _TOKEN_USER_CLAIMS = struct{ FUserClaims PCLAIMS_BLOB }
 34601  
 34602  type TOKEN_USER_CLAIMS = _TOKEN_USER_CLAIMS
 34603  type PTOKEN_USER_CLAIMS = uintptr
 34604  
 34605  type _TOKEN_DEVICE_CLAIMS = struct{ FDeviceClaims PCLAIMS_BLOB }
 34606  
 34607  type TOKEN_DEVICE_CLAIMS = _TOKEN_DEVICE_CLAIMS
 34608  type PTOKEN_DEVICE_CLAIMS = uintptr
 34609  
 34610  type _TOKEN_GROUPS_AND_PRIVILEGES = struct {
 34611  	FSidCount            DWORD
 34612  	FSidLength           DWORD
 34613  	FSids                PSID_AND_ATTRIBUTES
 34614  	FRestrictedSidCount  DWORD
 34615  	FRestrictedSidLength DWORD
 34616  	FRestrictedSids      PSID_AND_ATTRIBUTES
 34617  	FPrivilegeCount      DWORD
 34618  	FPrivilegeLength     DWORD
 34619  	FPrivileges          PLUID_AND_ATTRIBUTES
 34620  	FAuthenticationId    LUID
 34621  }
 34622  
 34623  type TOKEN_GROUPS_AND_PRIVILEGES = _TOKEN_GROUPS_AND_PRIVILEGES
 34624  type PTOKEN_GROUPS_AND_PRIVILEGES = uintptr
 34625  
 34626  type _TOKEN_LINKED_TOKEN = struct{ FLinkedToken HANDLE }
 34627  
 34628  type TOKEN_LINKED_TOKEN = _TOKEN_LINKED_TOKEN
 34629  type PTOKEN_LINKED_TOKEN = uintptr
 34630  
 34631  type _TOKEN_ELEVATION = struct{ FTokenIsElevated DWORD }
 34632  
 34633  type TOKEN_ELEVATION = _TOKEN_ELEVATION
 34634  type PTOKEN_ELEVATION = uintptr
 34635  
 34636  type _TOKEN_MANDATORY_LABEL = struct{ FLabel SID_AND_ATTRIBUTES }
 34637  
 34638  type TOKEN_MANDATORY_LABEL = _TOKEN_MANDATORY_LABEL
 34639  type PTOKEN_MANDATORY_LABEL = uintptr
 34640  
 34641  type _TOKEN_MANDATORY_POLICY = struct{ FPolicy DWORD }
 34642  
 34643  type TOKEN_MANDATORY_POLICY = _TOKEN_MANDATORY_POLICY
 34644  type PTOKEN_MANDATORY_POLICY = uintptr
 34645  
 34646  type _TOKEN_ACCESS_INFORMATION = struct {
 34647  	FSidHash            PSID_AND_ATTRIBUTES_HASH
 34648  	FRestrictedSidHash  PSID_AND_ATTRIBUTES_HASH
 34649  	FPrivileges         PTOKEN_PRIVILEGES
 34650  	FAuthenticationId   LUID
 34651  	FTokenType          TOKEN_TYPE
 34652  	FImpersonationLevel SECURITY_IMPERSONATION_LEVEL
 34653  	FMandatoryPolicy    TOKEN_MANDATORY_POLICY
 34654  	FFlags              DWORD
 34655  	FAppContainerNumber DWORD
 34656  	F__ccgo_pad1        [4]byte
 34657  	FPackageSid         PSID
 34658  	FCapabilitiesHash   PSID_AND_ATTRIBUTES_HASH
 34659  }
 34660  
 34661  type TOKEN_ACCESS_INFORMATION = _TOKEN_ACCESS_INFORMATION
 34662  type PTOKEN_ACCESS_INFORMATION = uintptr
 34663  
 34664  type _TOKEN_AUDIT_POLICY = struct{ FPerUserPolicy [29]UCHAR }
 34665  
 34666  type TOKEN_AUDIT_POLICY = _TOKEN_AUDIT_POLICY
 34667  type PTOKEN_AUDIT_POLICY = uintptr
 34668  
 34669  type _TOKEN_SOURCE = struct {
 34670  	FSourceName       [8]CHAR
 34671  	FSourceIdentifier LUID
 34672  }
 34673  
 34674  type TOKEN_SOURCE = _TOKEN_SOURCE
 34675  type PTOKEN_SOURCE = uintptr
 34676  
 34677  type _TOKEN_STATISTICS = struct {
 34678  	FTokenId            LUID
 34679  	FAuthenticationId   LUID
 34680  	FExpirationTime     LARGE_INTEGER
 34681  	FTokenType          TOKEN_TYPE
 34682  	FImpersonationLevel SECURITY_IMPERSONATION_LEVEL
 34683  	FDynamicCharged     DWORD
 34684  	FDynamicAvailable   DWORD
 34685  	FGroupCount         DWORD
 34686  	FPrivilegeCount     DWORD
 34687  	FModifiedId         LUID
 34688  }
 34689  
 34690  type TOKEN_STATISTICS = _TOKEN_STATISTICS
 34691  type PTOKEN_STATISTICS = uintptr
 34692  
 34693  type _TOKEN_CONTROL = struct {
 34694  	FTokenId          LUID
 34695  	FAuthenticationId LUID
 34696  	FModifiedId       LUID
 34697  	FTokenSource      TOKEN_SOURCE
 34698  }
 34699  
 34700  type TOKEN_CONTROL = _TOKEN_CONTROL
 34701  type PTOKEN_CONTROL = uintptr
 34702  
 34703  type _TOKEN_ORIGIN = struct{ FOriginatingLogonSession LUID }
 34704  
 34705  type TOKEN_ORIGIN = _TOKEN_ORIGIN
 34706  type PTOKEN_ORIGIN = uintptr
 34707  
 34708  type MANDATORY_LEVEL = uint32
 34709  type PMANDATORY_LEVEL = uintptr
 34710  
 34711  type _TOKEN_APPCONTAINER_INFORMATION = struct{ FTokenAppContainer PSID }
 34712  
 34713  type TOKEN_APPCONTAINER_INFORMATION = _TOKEN_APPCONTAINER_INFORMATION
 34714  type PTOKEN_APPCONTAINER_INFORMATION = uintptr
 34715  
 34716  type _CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE = struct {
 34717  	FVersion DWORD64
 34718  	FName    PWSTR
 34719  }
 34720  
 34721  type CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE = _CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE
 34722  type PCLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE = uintptr
 34723  
 34724  type _CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE = struct {
 34725  	FpValue      PVOID
 34726  	FValueLength DWORD
 34727  	F__ccgo_pad1 [4]byte
 34728  }
 34729  
 34730  type CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE = _CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE
 34731  type PCLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE = uintptr
 34732  
 34733  type _CLAIM_SECURITY_ATTRIBUTE_V1 = struct {
 34734  	FName        PWSTR
 34735  	FValueType   WORD
 34736  	FReserved    WORD
 34737  	FFlags       DWORD
 34738  	FValueCount  DWORD
 34739  	F__ccgo_pad1 [4]byte
 34740  	FValues      struct{ FpInt64 PLONG64 }
 34741  }
 34742  
 34743  type CLAIM_SECURITY_ATTRIBUTE_V1 = _CLAIM_SECURITY_ATTRIBUTE_V1
 34744  type PCLAIM_SECURITY_ATTRIBUTE_V1 = uintptr
 34745  
 34746  type _CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1 = struct {
 34747  	FName       DWORD
 34748  	FValueType  WORD
 34749  	FReserved   WORD
 34750  	FFlags      DWORD
 34751  	FValueCount DWORD
 34752  	FValues     struct{ FpInt64 [1]DWORD }
 34753  }
 34754  
 34755  type CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1 = _CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1
 34756  type PCLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1 = uintptr
 34757  
 34758  type _CLAIM_SECURITY_ATTRIBUTES_INFORMATION = struct {
 34759  	FVersion        WORD
 34760  	FReserved       WORD
 34761  	FAttributeCount DWORD
 34762  	FAttribute      struct{ FpAttributeV1 PCLAIM_SECURITY_ATTRIBUTE_V1 }
 34763  }
 34764  
 34765  type CLAIM_SECURITY_ATTRIBUTES_INFORMATION = _CLAIM_SECURITY_ATTRIBUTES_INFORMATION
 34766  type PCLAIM_SECURITY_ATTRIBUTES_INFORMATION = uintptr
 34767  
 34768  type SECURITY_CONTEXT_TRACKING_MODE = BOOLEAN
 34769  type PSECURITY_CONTEXT_TRACKING_MODE = uintptr
 34770  
 34771  type _SECURITY_QUALITY_OF_SERVICE = struct {
 34772  	FLength              DWORD
 34773  	FImpersonationLevel  SECURITY_IMPERSONATION_LEVEL
 34774  	FContextTrackingMode SECURITY_CONTEXT_TRACKING_MODE
 34775  	FEffectiveOnly       BOOLEAN
 34776  	F__ccgo_pad1         [2]byte
 34777  }
 34778  
 34779  type SECURITY_QUALITY_OF_SERVICE = _SECURITY_QUALITY_OF_SERVICE
 34780  type PSECURITY_QUALITY_OF_SERVICE = uintptr
 34781  
 34782  type _SE_IMPERSONATION_STATE = struct {
 34783  	FToken         PACCESS_TOKEN
 34784  	FCopyOnOpen    BOOLEAN
 34785  	FEffectiveOnly BOOLEAN
 34786  	F__ccgo_pad1   [2]byte
 34787  	FLevel         SECURITY_IMPERSONATION_LEVEL
 34788  }
 34789  
 34790  type SE_IMPERSONATION_STATE = _SE_IMPERSONATION_STATE
 34791  type PSE_IMPERSONATION_STATE = uintptr
 34792  
 34793  type SECURITY_INFORMATION = DWORD
 34794  type PSECURITY_INFORMATION = uintptr
 34795  
 34796  type SE_LEARNING_MODE_DATA_TYPE = uint32
 34797  
 34798  type _SECURITY_CAPABILITIES = struct {
 34799  	FAppContainerSid PSID
 34800  	FCapabilities    PSID_AND_ATTRIBUTES
 34801  	FCapabilityCount DWORD
 34802  	FReserved        DWORD
 34803  }
 34804  
 34805  type SECURITY_CAPABILITIES = _SECURITY_CAPABILITIES
 34806  type PSECURITY_CAPABILITIES = uintptr
 34807  type LPSECURITY_CAPABILITIES = uintptr
 34808  
 34809  type _JOB_SET_ARRAY = struct {
 34810  	FJobHandle   HANDLE
 34811  	FMemberLevel DWORD
 34812  	FFlags       DWORD
 34813  }
 34814  
 34815  type JOB_SET_ARRAY = _JOB_SET_ARRAY
 34816  type PJOB_SET_ARRAY = uintptr
 34817  
 34818  type _EXCEPTION_REGISTRATION_RECORD = struct {
 34819  	F__0 struct{ FNext uintptr }
 34820  	F__8 struct{ FHandler PEXCEPTION_ROUTINE }
 34821  }
 34822  
 34823  type EXCEPTION_REGISTRATION_RECORD = _EXCEPTION_REGISTRATION_RECORD
 34824  
 34825  type PEXCEPTION_REGISTRATION_RECORD = uintptr
 34826  
 34827  type EXCEPTION_REGISTRATION = EXCEPTION_REGISTRATION_RECORD
 34828  type PEXCEPTION_REGISTRATION = PEXCEPTION_REGISTRATION_RECORD
 34829  
 34830  type _NT_TIB = struct {
 34831  	FExceptionList        uintptr
 34832  	FStackBase            PVOID
 34833  	FStackLimit           PVOID
 34834  	FSubSystemTib         PVOID
 34835  	F__32                 struct{ FFiberData PVOID }
 34836  	FArbitraryUserPointer PVOID
 34837  	FSelf                 uintptr
 34838  }
 34839  
 34840  type NT_TIB = _NT_TIB
 34841  type PNT_TIB = uintptr
 34842  
 34843  type _NT_TIB32 = struct {
 34844  	FExceptionList        DWORD
 34845  	FStackBase            DWORD
 34846  	FStackLimit           DWORD
 34847  	FSubSystemTib         DWORD
 34848  	F__16                 struct{ FFiberData DWORD }
 34849  	FArbitraryUserPointer DWORD
 34850  	FSelf                 DWORD
 34851  }
 34852  
 34853  type NT_TIB32 = _NT_TIB32
 34854  type PNT_TIB32 = uintptr
 34855  
 34856  type _NT_TIB64 = struct {
 34857  	FExceptionList        DWORD64
 34858  	FStackBase            DWORD64
 34859  	FStackLimit           DWORD64
 34860  	FSubSystemTib         DWORD64
 34861  	F__32                 struct{ FFiberData DWORD64 }
 34862  	FArbitraryUserPointer DWORD64
 34863  	FSelf                 DWORD64
 34864  }
 34865  
 34866  type NT_TIB64 = _NT_TIB64
 34867  type PNT_TIB64 = uintptr
 34868  
 34869  type _UMS_CREATE_THREAD_ATTRIBUTES = struct {
 34870  	FUmsVersion        DWORD
 34871  	F__ccgo_pad1       [4]byte
 34872  	FUmsContext        PVOID
 34873  	FUmsCompletionList PVOID
 34874  }
 34875  
 34876  type UMS_CREATE_THREAD_ATTRIBUTES = _UMS_CREATE_THREAD_ATTRIBUTES
 34877  type PUMS_CREATE_THREAD_ATTRIBUTES = uintptr
 34878  
 34879  type _QUOTA_LIMITS = struct {
 34880  	FPagedPoolLimit        SIZE_T
 34881  	FNonPagedPoolLimit     SIZE_T
 34882  	FMinimumWorkingSetSize SIZE_T
 34883  	FMaximumWorkingSetSize SIZE_T
 34884  	FPagefileLimit         SIZE_T
 34885  	FTimeLimit             LARGE_INTEGER
 34886  }
 34887  
 34888  type QUOTA_LIMITS = _QUOTA_LIMITS
 34889  type PQUOTA_LIMITS = uintptr
 34890  
 34891  type _RATE_QUOTA_LIMIT = struct{ FRateData DWORD }
 34892  
 34893  type RATE_QUOTA_LIMIT = _RATE_QUOTA_LIMIT
 34894  type PRATE_QUOTA_LIMIT = uintptr
 34895  
 34896  type _QUOTA_LIMITS_EX = struct {
 34897  	FPagedPoolLimit        SIZE_T
 34898  	FNonPagedPoolLimit     SIZE_T
 34899  	FMinimumWorkingSetSize SIZE_T
 34900  	FMaximumWorkingSetSize SIZE_T
 34901  	FPagefileLimit         SIZE_T
 34902  	FTimeLimit             LARGE_INTEGER
 34903  	FWorkingSetLimit       SIZE_T
 34904  	FReserved2             SIZE_T
 34905  	FReserved3             SIZE_T
 34906  	FReserved4             SIZE_T
 34907  	FFlags                 DWORD
 34908  	FCpuRateLimit          RATE_QUOTA_LIMIT
 34909  }
 34910  
 34911  type QUOTA_LIMITS_EX = _QUOTA_LIMITS_EX
 34912  type PQUOTA_LIMITS_EX = uintptr
 34913  
 34914  type _IO_COUNTERS = struct {
 34915  	FReadOperationCount  ULONGLONG
 34916  	FWriteOperationCount ULONGLONG
 34917  	FOtherOperationCount ULONGLONG
 34918  	FReadTransferCount   ULONGLONG
 34919  	FWriteTransferCount  ULONGLONG
 34920  	FOtherTransferCount  ULONGLONG
 34921  }
 34922  
 34923  type IO_COUNTERS = _IO_COUNTERS
 34924  type PIO_COUNTERS = uintptr
 34925  
 34926  type HARDWARE_COUNTER_TYPE = uint32
 34927  type PHARDWARE_COUNTER_TYPE = uintptr
 34928  
 34929  type PROCESS_MITIGATION_POLICY = uint32
 34930  type PPROCESS_MITIGATION_POLICY = uintptr
 34931  
 34932  type _PROCESS_MITIGATION_ASLR_POLICY = struct{ F__0 struct{ FFlags DWORD } }
 34933  
 34934  type PROCESS_MITIGATION_ASLR_POLICY = _PROCESS_MITIGATION_ASLR_POLICY
 34935  type PPROCESS_MITIGATION_ASLR_POLICY = uintptr
 34936  
 34937  type _PROCESS_MITIGATION_DEP_POLICY = struct {
 34938  	F__0         struct{ FFlags DWORD }
 34939  	FPermanent   BOOLEAN
 34940  	F__ccgo_pad1 [3]byte
 34941  }
 34942  
 34943  type PROCESS_MITIGATION_DEP_POLICY = _PROCESS_MITIGATION_DEP_POLICY
 34944  type PPROCESS_MITIGATION_DEP_POLICY = uintptr
 34945  
 34946  type _PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY = struct{ F__0 struct{ FFlags DWORD } }
 34947  
 34948  type PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY = _PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY
 34949  type PPROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY = uintptr
 34950  
 34951  type _PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY = struct{ F__0 struct{ FFlags DWORD } }
 34952  
 34953  type PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY = _PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY
 34954  type PPROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY = uintptr
 34955  
 34956  type _PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY = struct{ F__0 struct{ FFlags DWORD } }
 34957  
 34958  type PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY = _PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY
 34959  type PPROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY = uintptr
 34960  
 34961  type _PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY = struct{ F__0 struct{ FFlags DWORD } }
 34962  
 34963  type PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY = _PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY
 34964  type PPROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY = uintptr
 34965  
 34966  type _PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY = struct{ F__0 struct{ FFlags DWORD } }
 34967  
 34968  type PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY = _PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY
 34969  type PPROCESS_MITIGATION_BINARY_SIGNATURE_POLICY = uintptr
 34970  
 34971  type _PROCESS_MITIGATION_DYNAMIC_CODE_POLICY = struct {
 34972  	F__0 struct {
 34973  		FFlags       DWORD
 34974  		F__ccgo_pad1 [4]byte
 34975  	}
 34976  }
 34977  
 34978  type PROCESS_MITIGATION_DYNAMIC_CODE_POLICY = _PROCESS_MITIGATION_DYNAMIC_CODE_POLICY
 34979  type PPROCESS_MITIGATION_DYNAMIC_CODE_POLICY = uintptr
 34980  
 34981  type _PROCESS_MITIGATION_FONT_DISABLE_POLICY = struct{ F__0 struct{ FFlags DWORD } }
 34982  
 34983  type PROCESS_MITIGATION_FONT_DISABLE_POLICY = _PROCESS_MITIGATION_FONT_DISABLE_POLICY
 34984  type PPROCESS_MITIGATION_FONT_DISABLE_POLICY = uintptr
 34985  
 34986  type _PROCESS_MITIGATION_IMAGE_LOAD_POLICY = struct{ F__0 struct{ FFlags DWORD } }
 34987  
 34988  type PROCESS_MITIGATION_IMAGE_LOAD_POLICY = _PROCESS_MITIGATION_IMAGE_LOAD_POLICY
 34989  type PPROCESS_MITIGATION_IMAGE_LOAD_POLICY = uintptr
 34990  
 34991  type _JOBOBJECT_BASIC_ACCOUNTING_INFORMATION = struct {
 34992  	FTotalUserTime             LARGE_INTEGER
 34993  	FTotalKernelTime           LARGE_INTEGER
 34994  	FThisPeriodTotalUserTime   LARGE_INTEGER
 34995  	FThisPeriodTotalKernelTime LARGE_INTEGER
 34996  	FTotalPageFaultCount       DWORD
 34997  	FTotalProcesses            DWORD
 34998  	FActiveProcesses           DWORD
 34999  	FTotalTerminatedProcesses  DWORD
 35000  }
 35001  
 35002  type JOBOBJECT_BASIC_ACCOUNTING_INFORMATION = _JOBOBJECT_BASIC_ACCOUNTING_INFORMATION
 35003  type PJOBOBJECT_BASIC_ACCOUNTING_INFORMATION = uintptr
 35004  
 35005  type _JOBOBJECT_BASIC_LIMIT_INFORMATION = struct {
 35006  	FPerProcessUserTimeLimit LARGE_INTEGER
 35007  	FPerJobUserTimeLimit     LARGE_INTEGER
 35008  	FLimitFlags              DWORD
 35009  	F__ccgo_pad1             [4]byte
 35010  	FMinimumWorkingSetSize   SIZE_T
 35011  	FMaximumWorkingSetSize   SIZE_T
 35012  	FActiveProcessLimit      DWORD
 35013  	F__ccgo_pad2             [4]byte
 35014  	FAffinity                ULONG_PTR
 35015  	FPriorityClass           DWORD
 35016  	FSchedulingClass         DWORD
 35017  }
 35018  
 35019  type JOBOBJECT_BASIC_LIMIT_INFORMATION = _JOBOBJECT_BASIC_LIMIT_INFORMATION
 35020  type PJOBOBJECT_BASIC_LIMIT_INFORMATION = uintptr
 35021  
 35022  type _JOBOBJECT_EXTENDED_LIMIT_INFORMATION = struct {
 35023  	FBasicLimitInformation JOBOBJECT_BASIC_LIMIT_INFORMATION
 35024  	FIoInfo                IO_COUNTERS
 35025  	FProcessMemoryLimit    SIZE_T
 35026  	FJobMemoryLimit        SIZE_T
 35027  	FPeakProcessMemoryUsed SIZE_T
 35028  	FPeakJobMemoryUsed     SIZE_T
 35029  }
 35030  
 35031  type JOBOBJECT_EXTENDED_LIMIT_INFORMATION = _JOBOBJECT_EXTENDED_LIMIT_INFORMATION
 35032  type PJOBOBJECT_EXTENDED_LIMIT_INFORMATION = uintptr
 35033  
 35034  type _JOBOBJECT_BASIC_PROCESS_ID_LIST = struct {
 35035  	FNumberOfAssignedProcesses DWORD
 35036  	FNumberOfProcessIdsInList  DWORD
 35037  	FProcessIdList             [1]ULONG_PTR
 35038  }
 35039  
 35040  type JOBOBJECT_BASIC_PROCESS_ID_LIST = _JOBOBJECT_BASIC_PROCESS_ID_LIST
 35041  type PJOBOBJECT_BASIC_PROCESS_ID_LIST = uintptr
 35042  
 35043  type _JOBOBJECT_BASIC_UI_RESTRICTIONS = struct{ FUIRestrictionsClass DWORD }
 35044  
 35045  type JOBOBJECT_BASIC_UI_RESTRICTIONS = _JOBOBJECT_BASIC_UI_RESTRICTIONS
 35046  type PJOBOBJECT_BASIC_UI_RESTRICTIONS = uintptr
 35047  
 35048  type _JOBOBJECT_SECURITY_LIMIT_INFORMATION = struct {
 35049  	FSecurityLimitFlags DWORD
 35050  	F__ccgo_pad1        [4]byte
 35051  	FJobToken           HANDLE
 35052  	FSidsToDisable      PTOKEN_GROUPS
 35053  	FPrivilegesToDelete PTOKEN_PRIVILEGES
 35054  	FRestrictedSids     PTOKEN_GROUPS
 35055  }
 35056  
 35057  type JOBOBJECT_SECURITY_LIMIT_INFORMATION = _JOBOBJECT_SECURITY_LIMIT_INFORMATION
 35058  type PJOBOBJECT_SECURITY_LIMIT_INFORMATION = uintptr
 35059  
 35060  type _JOBOBJECT_END_OF_JOB_TIME_INFORMATION = struct{ FEndOfJobTimeAction DWORD }
 35061  
 35062  type JOBOBJECT_END_OF_JOB_TIME_INFORMATION = _JOBOBJECT_END_OF_JOB_TIME_INFORMATION
 35063  type PJOBOBJECT_END_OF_JOB_TIME_INFORMATION = uintptr
 35064  
 35065  type _JOBOBJECT_ASSOCIATE_COMPLETION_PORT = struct {
 35066  	FCompletionKey  PVOID
 35067  	FCompletionPort HANDLE
 35068  }
 35069  
 35070  type JOBOBJECT_ASSOCIATE_COMPLETION_PORT = _JOBOBJECT_ASSOCIATE_COMPLETION_PORT
 35071  type PJOBOBJECT_ASSOCIATE_COMPLETION_PORT = uintptr
 35072  
 35073  type _JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION = struct {
 35074  	FBasicInfo JOBOBJECT_BASIC_ACCOUNTING_INFORMATION
 35075  	FIoInfo    IO_COUNTERS
 35076  }
 35077  
 35078  type JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION = _JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION
 35079  type PJOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION = uintptr
 35080  
 35081  type _JOBOBJECT_JOBSET_INFORMATION = struct{ FMemberLevel DWORD }
 35082  
 35083  type JOBOBJECT_JOBSET_INFORMATION = _JOBOBJECT_JOBSET_INFORMATION
 35084  type PJOBOBJECT_JOBSET_INFORMATION = uintptr
 35085  
 35086  type JOBOBJECT_RATE_CONTROL_TOLERANCE = uint32
 35087  
 35088  type JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL = uint32
 35089  
 35090  type _JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION = struct {
 35091  	FIoReadBytesLimit             DWORD64
 35092  	FIoWriteBytesLimit            DWORD64
 35093  	FPerJobUserTimeLimit          LARGE_INTEGER
 35094  	FJobMemoryLimit               DWORD64
 35095  	FRateControlTolerance         JOBOBJECT_RATE_CONTROL_TOLERANCE
 35096  	FRateControlToleranceInterval JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL
 35097  	FLimitFlags                   DWORD
 35098  	F__ccgo_pad1                  [4]byte
 35099  }
 35100  
 35101  type JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION = _JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION
 35102  type PJOBOBJECT_NOTIFICATION_LIMIT_INFORMATION = uintptr
 35103  
 35104  type _JOBOBJECT_LIMIT_VIOLATION_INFORMATION = struct {
 35105  	FLimitFlags                DWORD
 35106  	FViolationLimitFlags       DWORD
 35107  	FIoReadBytes               DWORD64
 35108  	FIoReadBytesLimit          DWORD64
 35109  	FIoWriteBytes              DWORD64
 35110  	FIoWriteBytesLimit         DWORD64
 35111  	FPerJobUserTime            LARGE_INTEGER
 35112  	FPerJobUserTimeLimit       LARGE_INTEGER
 35113  	FJobMemory                 DWORD64
 35114  	FJobMemoryLimit            DWORD64
 35115  	FRateControlTolerance      JOBOBJECT_RATE_CONTROL_TOLERANCE
 35116  	FRateControlToleranceLimit JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL
 35117  }
 35118  
 35119  type JOBOBJECT_LIMIT_VIOLATION_INFORMATION = _JOBOBJECT_LIMIT_VIOLATION_INFORMATION
 35120  type PJOBOBJECT_LIMIT_VIOLATION_INFORMATION = uintptr
 35121  
 35122  type _JOBOBJECT_CPU_RATE_CONTROL_INFORMATION = struct {
 35123  	FControlFlags DWORD
 35124  	F__4          struct{ FCpuRate DWORD }
 35125  }
 35126  
 35127  type JOBOBJECT_CPU_RATE_CONTROL_INFORMATION = _JOBOBJECT_CPU_RATE_CONTROL_INFORMATION
 35128  type PJOBOBJECT_CPU_RATE_CONTROL_INFORMATION = uintptr
 35129  
 35130  type JOBOBJECTINFOCLASS = uint32
 35131  
 35132  type FIRMWARE_TYPE = uint32
 35133  type PFIRMWARE_TYPE = uintptr
 35134  
 35135  type LOGICAL_PROCESSOR_RELATIONSHIP = uint32
 35136  
 35137  type PROCESSOR_CACHE_TYPE = uint32
 35138  
 35139  type _CACHE_DESCRIPTOR = struct {
 35140  	FLevel         BYTE
 35141  	FAssociativity BYTE
 35142  	FLineSize      WORD
 35143  	FSize          DWORD
 35144  	FType          PROCESSOR_CACHE_TYPE
 35145  }
 35146  
 35147  type CACHE_DESCRIPTOR = _CACHE_DESCRIPTOR
 35148  type PCACHE_DESCRIPTOR = uintptr
 35149  
 35150  type _SYSTEM_LOGICAL_PROCESSOR_INFORMATION = struct {
 35151  	FProcessorMask ULONG_PTR
 35152  	FRelationship  LOGICAL_PROCESSOR_RELATIONSHIP
 35153  	F__ccgo_pad1   [4]byte
 35154  	Fu             struct {
 35155  		F__ccgo_pad1   [0]uint64
 35156  		FProcessorCore struct{ FFlags BYTE }
 35157  		F__ccgo_pad2   [15]byte
 35158  	}
 35159  }
 35160  
 35161  type SYSTEM_LOGICAL_PROCESSOR_INFORMATION = _SYSTEM_LOGICAL_PROCESSOR_INFORMATION
 35162  type PSYSTEM_LOGICAL_PROCESSOR_INFORMATION = uintptr
 35163  
 35164  type _PROCESSOR_RELATIONSHIP = struct {
 35165  	FFlags      BYTE
 35166  	FReserved   [21]BYTE
 35167  	FGroupCount WORD
 35168  	FGroupMask  [1]GROUP_AFFINITY
 35169  }
 35170  
 35171  type PROCESSOR_RELATIONSHIP = _PROCESSOR_RELATIONSHIP
 35172  type PPROCESSOR_RELATIONSHIP = uintptr
 35173  
 35174  type _NUMA_NODE_RELATIONSHIP = struct {
 35175  	FNodeNumber DWORD
 35176  	FReserved   [20]BYTE
 35177  	FGroupMask  GROUP_AFFINITY
 35178  }
 35179  
 35180  type NUMA_NODE_RELATIONSHIP = _NUMA_NODE_RELATIONSHIP
 35181  type PNUMA_NODE_RELATIONSHIP = uintptr
 35182  
 35183  type _CACHE_RELATIONSHIP = struct {
 35184  	FLevel         BYTE
 35185  	FAssociativity BYTE
 35186  	FLineSize      WORD
 35187  	FCacheSize     DWORD
 35188  	FType          PROCESSOR_CACHE_TYPE
 35189  	FReserved      [20]BYTE
 35190  	FGroupMask     GROUP_AFFINITY
 35191  }
 35192  
 35193  type CACHE_RELATIONSHIP = _CACHE_RELATIONSHIP
 35194  type PCACHE_RELATIONSHIP = uintptr
 35195  
 35196  type _PROCESSOR_GROUP_INFO = struct {
 35197  	FMaximumProcessorCount BYTE
 35198  	FActiveProcessorCount  BYTE
 35199  	FReserved              [38]BYTE
 35200  	FActiveProcessorMask   KAFFINITY
 35201  }
 35202  
 35203  type PROCESSOR_GROUP_INFO = _PROCESSOR_GROUP_INFO
 35204  type PPROCESSOR_GROUP_INFO = uintptr
 35205  
 35206  type _GROUP_RELATIONSHIP = struct {
 35207  	FMaximumGroupCount WORD
 35208  	FActiveGroupCount  WORD
 35209  	FReserved          [20]BYTE
 35210  	FGroupInfo         [1]PROCESSOR_GROUP_INFO
 35211  }
 35212  
 35213  type GROUP_RELATIONSHIP = _GROUP_RELATIONSHIP
 35214  type PGROUP_RELATIONSHIP = uintptr
 35215  
 35216  type _SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX = struct {
 35217  	FRelationship LOGICAL_PROCESSOR_RELATIONSHIP
 35218  	FSize         DWORD
 35219  	Fu            struct {
 35220  		FProcessor   PROCESSOR_RELATIONSHIP
 35221  		F__ccgo_pad1 [32]byte
 35222  	}
 35223  }
 35224  
 35225  type SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX = _SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX
 35226  type PSYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX = uintptr
 35227  
 35228  type _SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION = struct{ FCycleTime DWORD64 }
 35229  
 35230  type SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION = _SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION
 35231  type PSYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION = uintptr
 35232  
 35233  type _XSTATE_FEATURE = struct {
 35234  	FOffset DWORD
 35235  	FSize   DWORD
 35236  }
 35237  
 35238  type XSTATE_FEATURE = _XSTATE_FEATURE
 35239  type PXSTATE_FEATURE = uintptr
 35240  
 35241  type _XSTATE_CONFIGURATION = struct {
 35242  	FEnabledFeatures         DWORD64
 35243  	FEnabledVolatileFeatures DWORD64
 35244  	FSize                    DWORD
 35245  	FOptimizedSave           uint8
 35246  	F__ccgo_pad1             [3]byte
 35247  	FFeatures                [64]XSTATE_FEATURE
 35248  }
 35249  
 35250  type XSTATE_CONFIGURATION = _XSTATE_CONFIGURATION
 35251  type PXSTATE_CONFIGURATION = uintptr
 35252  
 35253  type _MEMORY_BASIC_INFORMATION = struct {
 35254  	FBaseAddress       PVOID
 35255  	FAllocationBase    PVOID
 35256  	FAllocationProtect DWORD
 35257  	F__ccgo_pad1       [4]byte
 35258  	FRegionSize        SIZE_T
 35259  	FState             DWORD
 35260  	FProtect           DWORD
 35261  	FType              DWORD
 35262  	F__ccgo_pad2       [4]byte
 35263  }
 35264  
 35265  type MEMORY_BASIC_INFORMATION = _MEMORY_BASIC_INFORMATION
 35266  type PMEMORY_BASIC_INFORMATION = uintptr
 35267  
 35268  type _MEMORY_BASIC_INFORMATION32 = struct {
 35269  	FBaseAddress       DWORD
 35270  	FAllocationBase    DWORD
 35271  	FAllocationProtect DWORD
 35272  	FRegionSize        DWORD
 35273  	FState             DWORD
 35274  	FProtect           DWORD
 35275  	FType              DWORD
 35276  }
 35277  
 35278  type MEMORY_BASIC_INFORMATION32 = _MEMORY_BASIC_INFORMATION32
 35279  type PMEMORY_BASIC_INFORMATION32 = uintptr
 35280  
 35281  type _MEMORY_BASIC_INFORMATION64 = struct {
 35282  	FBaseAddress       ULONGLONG
 35283  	FAllocationBase    ULONGLONG
 35284  	FAllocationProtect DWORD
 35285  	F__alignment1      DWORD
 35286  	FRegionSize        ULONGLONG
 35287  	FState             DWORD
 35288  	FProtect           DWORD
 35289  	FType              DWORD
 35290  	F__alignment2      DWORD
 35291  }
 35292  
 35293  type MEMORY_BASIC_INFORMATION64 = _MEMORY_BASIC_INFORMATION64
 35294  type PMEMORY_BASIC_INFORMATION64 = uintptr
 35295  
 35296  type _CFG_CALL_TARGET_INFO = struct {
 35297  	FOffset ULONG_PTR
 35298  	FFlags  ULONG_PTR
 35299  }
 35300  
 35301  type CFG_CALL_TARGET_INFO = _CFG_CALL_TARGET_INFO
 35302  type PCFG_CALL_TARGET_INFO = uintptr
 35303  
 35304  type _MEM_ADDRESS_REQUIREMENTS = struct {
 35305  	FLowestStartingAddress PVOID
 35306  	FHighestEndingAddress  PVOID
 35307  	FAlignment             SIZE_T
 35308  }
 35309  
 35310  type MEM_ADDRESS_REQUIREMENTS = _MEM_ADDRESS_REQUIREMENTS
 35311  type PMEM_ADDRESS_REQUIREMENTS = uintptr
 35312  
 35313  type MEM_EXTENDED_PARAMETER_TYPE = uint32
 35314  type PMEM_EXTENDED_PARAMETER_TYPE = uintptr
 35315  
 35316  type MEM_EXTENDED_PARAMETER1 = struct {
 35317  	F__0 struct {
 35318  		F__ccgo_pad1 [0]uint64
 35319  		FType        uint64
 35320  	}
 35321  	F__8 struct{ FULong64 DWORD64 }
 35322  }
 35323  
 35324  type MEM_EXTENDED_PARAMETER = MEM_EXTENDED_PARAMETER1
 35325  type PMEM_EXTENDED_PARAMETER = uintptr
 35326  
 35327  type MEM_SECTION_EXTENDED_PARAMETER_TYPE = uint32
 35328  type PMEM_SECTION_EXTENDED_PARAMETER_TYPE = uintptr
 35329  
 35330  type FILE_ID_1281 = struct{ FIdentifier [16]BYTE }
 35331  
 35332  type FILE_ID_128 = FILE_ID_1281
 35333  type PFILE_ID_128 = uintptr
 35334  
 35335  type _FILE_NOTIFY_INFORMATION = struct {
 35336  	FNextEntryOffset DWORD
 35337  	FAction          DWORD
 35338  	FFileNameLength  DWORD
 35339  	FFileName        [1]WCHAR
 35340  	F__ccgo_pad1     [2]byte
 35341  }
 35342  
 35343  type FILE_NOTIFY_INFORMATION = _FILE_NOTIFY_INFORMATION
 35344  type PFILE_NOTIFY_INFORMATION = uintptr
 35345  
 35346  type _FILE_SEGMENT_ELEMENT = struct{ FBuffer PVOID64 }
 35347  
 35348  type FILE_SEGMENT_ELEMENT = _FILE_SEGMENT_ELEMENT
 35349  type PFILE_SEGMENT_ELEMENT = uintptr
 35350  
 35351  type _REPARSE_GUID_DATA_BUFFER = struct {
 35352  	FReparseTag           DWORD
 35353  	FReparseDataLength    WORD
 35354  	FReserved             WORD
 35355  	FReparseGuid          GUID
 35356  	FGenericReparseBuffer struct{ FDataBuffer [1]BYTE }
 35357  	F__ccgo_pad1          [3]byte
 35358  }
 35359  
 35360  type REPARSE_GUID_DATA_BUFFER = _REPARSE_GUID_DATA_BUFFER
 35361  type PREPARSE_GUID_DATA_BUFFER = uintptr
 35362  
 35363  type SYSTEM_POWER_STATE = uint32
 35364  type PSYSTEM_POWER_STATE = uintptr
 35365  
 35366  type POWER_ACTION = uint32
 35367  type PPOWER_ACTION = uintptr
 35368  
 35369  type DEVICE_POWER_STATE = uint32
 35370  type PDEVICE_POWER_STATE = uintptr
 35371  
 35372  type MONITOR_DISPLAY_STATE = uint32
 35373  type PMONITOR_DISPLAY_STATE = uintptr
 35374  
 35375  type USER_ACTIVITY_PRESENCE = uint32
 35376  type PUSER_ACTIVITY_PRESENCE = uintptr
 35377  
 35378  type EXECUTION_STATE = DWORD
 35379  type PEXECUTION_STATE = uintptr
 35380  
 35381  type LATENCY_TIME = uint32
 35382  
 35383  type POWER_REQUEST_TYPE = uint32
 35384  type PPOWER_REQUEST_TYPE = uintptr
 35385  
 35386  type CM_Power_Data_s = struct {
 35387  	FPD_Size                 DWORD
 35388  	FPD_MostRecentPowerState DEVICE_POWER_STATE
 35389  	FPD_Capabilities         DWORD
 35390  	FPD_D1Latency            DWORD
 35391  	FPD_D2Latency            DWORD
 35392  	FPD_D3Latency            DWORD
 35393  	FPD_PowerStateMapping    [7]DEVICE_POWER_STATE
 35394  	FPD_DeepestSystemWake    SYSTEM_POWER_STATE
 35395  }
 35396  
 35397  type CM_POWER_DATA = CM_Power_Data_s
 35398  type PCM_POWER_DATA = uintptr
 35399  
 35400  type POWER_INFORMATION_LEVEL = uint32
 35401  
 35402  type POWER_USER_PRESENCE_TYPE = uint32
 35403  type PPOWER_USER_PRESENCE_TYPE = uintptr
 35404  
 35405  type _POWER_USER_PRESENCE = struct{ FUserPresence POWER_USER_PRESENCE_TYPE }
 35406  
 35407  type POWER_USER_PRESENCE = _POWER_USER_PRESENCE
 35408  type PPOWER_USER_PRESENCE = uintptr
 35409  
 35410  type _POWER_SESSION_CONNECT = struct {
 35411  	FConnected BOOLEAN
 35412  	FConsole   BOOLEAN
 35413  }
 35414  
 35415  type POWER_SESSION_CONNECT = _POWER_SESSION_CONNECT
 35416  type PPOWER_SESSION_CONNECT = uintptr
 35417  
 35418  type _POWER_SESSION_TIMEOUTS = struct {
 35419  	FInputTimeout   DWORD
 35420  	FDisplayTimeout DWORD
 35421  }
 35422  
 35423  type POWER_SESSION_TIMEOUTS = _POWER_SESSION_TIMEOUTS
 35424  type PPOWER_SESSION_TIMEOUTS = uintptr
 35425  
 35426  type _POWER_SESSION_RIT_STATE = struct {
 35427  	FActive        BOOLEAN
 35428  	F__ccgo_pad1   [3]byte
 35429  	FLastInputTime DWORD
 35430  }
 35431  
 35432  type POWER_SESSION_RIT_STATE = _POWER_SESSION_RIT_STATE
 35433  type PPOWER_SESSION_RIT_STATE = uintptr
 35434  
 35435  type _POWER_SESSION_WINLOGON = struct {
 35436  	FSessionId   DWORD
 35437  	FConsole     BOOLEAN
 35438  	FLocked      BOOLEAN
 35439  	F__ccgo_pad1 [2]byte
 35440  }
 35441  
 35442  type POWER_SESSION_WINLOGON = _POWER_SESSION_WINLOGON
 35443  type PPOWER_SESSION_WINLOGON = uintptr
 35444  
 35445  type _POWER_IDLE_RESILIENCY = struct {
 35446  	FCoalescingTimeout    DWORD
 35447  	FIdleResiliencyPeriod DWORD
 35448  }
 35449  
 35450  type POWER_IDLE_RESILIENCY = _POWER_IDLE_RESILIENCY
 35451  type PPOWER_IDLE_RESILIENCY = uintptr
 35452  
 35453  type POWER_MONITOR_REQUEST_REASON = uint32
 35454  
 35455  type _POWER_MONITOR_INVOCATION = struct {
 35456  	FOn            BOOLEAN
 35457  	FConsole       BOOLEAN
 35458  	F__ccgo_pad1   [2]byte
 35459  	FRequestReason POWER_MONITOR_REQUEST_REASON
 35460  }
 35461  
 35462  type POWER_MONITOR_INVOCATION = _POWER_MONITOR_INVOCATION
 35463  type PPOWER_MONITOR_INVOCATION = uintptr
 35464  
 35465  type _RESUME_PERFORMANCE = struct {
 35466  	FPostTimeMs              DWORD
 35467  	F__ccgo_pad1             [4]byte
 35468  	FTotalResumeTimeMs       ULONGLONG
 35469  	FResumeCompleteTimestamp ULONGLONG
 35470  }
 35471  
 35472  type RESUME_PERFORMANCE = _RESUME_PERFORMANCE
 35473  type PRESUME_PERFORMANCE = uintptr
 35474  
 35475  type SYSTEM_POWER_CONDITION = uint32
 35476  
 35477  type SET_POWER_SETTING_VALUE = struct {
 35478  	FVersion        DWORD
 35479  	FGuid           GUID
 35480  	FPowerCondition SYSTEM_POWER_CONDITION
 35481  	FDataLength     DWORD
 35482  	FData           [1]BYTE
 35483  	F__ccgo_pad1    [3]byte
 35484  }
 35485  type PSET_POWER_SETTING_VALUE = uintptr
 35486  
 35487  type NOTIFY_USER_POWER_SETTING = struct{ FGuid GUID }
 35488  type PNOTIFY_USER_POWER_SETTING = uintptr
 35489  
 35490  type _APPLICATIONLAUNCH_SETTING_VALUE = struct {
 35491  	FActivationTime   LARGE_INTEGER
 35492  	FFlags            DWORD
 35493  	FButtonInstanceID DWORD
 35494  }
 35495  
 35496  type APPLICATIONLAUNCH_SETTING_VALUE = _APPLICATIONLAUNCH_SETTING_VALUE
 35497  type PAPPLICATIONLAUNCH_SETTING_VALUE = uintptr
 35498  
 35499  type POWER_PLATFORM_ROLE = uint32
 35500  type PPOWER_PLATFORM_ROLE = uintptr
 35501  
 35502  type _POWER_PLATFORM_INFORMATION = struct{ FAoAc BOOLEAN }
 35503  
 35504  type POWER_PLATFORM_INFORMATION = _POWER_PLATFORM_INFORMATION
 35505  type PPOWER_PLATFORM_INFORMATION = uintptr
 35506  
 35507  type BATTERY_REPORTING_SCALE = struct {
 35508  	FGranularity DWORD
 35509  	FCapacity    DWORD
 35510  }
 35511  type PBATTERY_REPORTING_SCALE = uintptr
 35512  
 35513  type PPM_WMI_LEGACY_PERFSTATE = struct {
 35514  	FFrequency        DWORD
 35515  	FFlags            DWORD
 35516  	FPercentFrequency DWORD
 35517  }
 35518  type PPPM_WMI_LEGACY_PERFSTATE = uintptr
 35519  
 35520  type PPM_WMI_IDLE_STATE = struct {
 35521  	FLatency        DWORD
 35522  	FPower          DWORD
 35523  	FTimeCheck      DWORD
 35524  	FPromotePercent BYTE
 35525  	FDemotePercent  BYTE
 35526  	FStateType      BYTE
 35527  	FReserved       BYTE
 35528  	FStateFlags     DWORD
 35529  	FContext        DWORD
 35530  	FIdleHandler    DWORD
 35531  	FReserved1      DWORD
 35532  }
 35533  type PPPM_WMI_IDLE_STATE = uintptr
 35534  
 35535  type PPM_WMI_IDLE_STATES = struct {
 35536  	FType             DWORD
 35537  	FCount            DWORD
 35538  	FTargetState      DWORD
 35539  	FOldState         DWORD
 35540  	FTargetProcessors DWORD64
 35541  	FState            [1]PPM_WMI_IDLE_STATE
 35542  }
 35543  type PPPM_WMI_IDLE_STATES = uintptr
 35544  
 35545  type PPM_WMI_IDLE_STATES_EX = struct {
 35546  	FType             DWORD
 35547  	FCount            DWORD
 35548  	FTargetState      DWORD
 35549  	FOldState         DWORD
 35550  	FTargetProcessors PVOID
 35551  	FState            [1]PPM_WMI_IDLE_STATE
 35552  }
 35553  type PPPM_WMI_IDLE_STATES_EX = uintptr
 35554  
 35555  type PPM_WMI_PERF_STATE = struct {
 35556  	FFrequency        DWORD
 35557  	FPower            DWORD
 35558  	FPercentFrequency BYTE
 35559  	FIncreaseLevel    BYTE
 35560  	FDecreaseLevel    BYTE
 35561  	FType             BYTE
 35562  	FIncreaseTime     DWORD
 35563  	FDecreaseTime     DWORD
 35564  	F__ccgo_pad1      [4]byte
 35565  	FControl          DWORD64
 35566  	FStatus           DWORD64
 35567  	FHitCount         DWORD
 35568  	FReserved1        DWORD
 35569  	FReserved2        DWORD64
 35570  	FReserved3        DWORD64
 35571  }
 35572  type PPPM_WMI_PERF_STATE = uintptr
 35573  
 35574  type PPM_WMI_PERF_STATES = struct {
 35575  	FCount             DWORD
 35576  	FMaxFrequency      DWORD
 35577  	FCurrentState      DWORD
 35578  	FMaxPerfState      DWORD
 35579  	FMinPerfState      DWORD
 35580  	FLowestPerfState   DWORD
 35581  	FThermalConstraint DWORD
 35582  	FBusyAdjThreshold  BYTE
 35583  	FPolicyType        BYTE
 35584  	FType              BYTE
 35585  	FReserved          BYTE
 35586  	FTimerInterval     DWORD
 35587  	F__ccgo_pad1       [4]byte
 35588  	FTargetProcessors  DWORD64
 35589  	FPStateHandler     DWORD
 35590  	FPStateContext     DWORD
 35591  	FTStateHandler     DWORD
 35592  	FTStateContext     DWORD
 35593  	FFeedbackHandler   DWORD
 35594  	FReserved1         DWORD
 35595  	FReserved2         DWORD64
 35596  	FState             [1]PPM_WMI_PERF_STATE
 35597  }
 35598  type PPPM_WMI_PERF_STATES = uintptr
 35599  
 35600  type PPM_WMI_PERF_STATES_EX = struct {
 35601  	FCount             DWORD
 35602  	FMaxFrequency      DWORD
 35603  	FCurrentState      DWORD
 35604  	FMaxPerfState      DWORD
 35605  	FMinPerfState      DWORD
 35606  	FLowestPerfState   DWORD
 35607  	FThermalConstraint DWORD
 35608  	FBusyAdjThreshold  BYTE
 35609  	FPolicyType        BYTE
 35610  	FType              BYTE
 35611  	FReserved          BYTE
 35612  	FTimerInterval     DWORD
 35613  	F__ccgo_pad1       [4]byte
 35614  	FTargetProcessors  PVOID
 35615  	FPStateHandler     DWORD
 35616  	FPStateContext     DWORD
 35617  	FTStateHandler     DWORD
 35618  	FTStateContext     DWORD
 35619  	FFeedbackHandler   DWORD
 35620  	FReserved1         DWORD
 35621  	FReserved2         DWORD64
 35622  	FState             [1]PPM_WMI_PERF_STATE
 35623  }
 35624  type PPPM_WMI_PERF_STATES_EX = uintptr
 35625  
 35626  type PPM_IDLE_STATE_ACCOUNTING = struct {
 35627  	FIdleTransitions    DWORD
 35628  	FFailedTransitions  DWORD
 35629  	FInvalidBucketIndex DWORD
 35630  	F__ccgo_pad1        [4]byte
 35631  	FTotalTime          DWORD64
 35632  	FIdleTimeBuckets    [6]DWORD
 35633  }
 35634  type PPPM_IDLE_STATE_ACCOUNTING = uintptr
 35635  
 35636  type PPM_IDLE_ACCOUNTING = struct {
 35637  	FStateCount       DWORD
 35638  	FTotalTransitions DWORD
 35639  	FResetCount       DWORD
 35640  	F__ccgo_pad1      [4]byte
 35641  	FStartTime        DWORD64
 35642  	FState            [1]PPM_IDLE_STATE_ACCOUNTING
 35643  }
 35644  type PPPM_IDLE_ACCOUNTING = uintptr
 35645  
 35646  type PPM_IDLE_STATE_BUCKET_EX = struct {
 35647  	FTotalTimeUs DWORD64
 35648  	FMinTimeUs   DWORD
 35649  	FMaxTimeUs   DWORD
 35650  	FCount       DWORD
 35651  	F__ccgo_pad1 [4]byte
 35652  }
 35653  type PPPM_IDLE_STATE_BUCKET_EX = uintptr
 35654  
 35655  type PPM_IDLE_STATE_ACCOUNTING_EX = struct {
 35656  	FTotalTime            DWORD64
 35657  	FIdleTransitions      DWORD
 35658  	FFailedTransitions    DWORD
 35659  	FInvalidBucketIndex   DWORD
 35660  	FMinTimeUs            DWORD
 35661  	FMaxTimeUs            DWORD
 35662  	FCancelledTransitions DWORD
 35663  	FIdleTimeBuckets      [16]PPM_IDLE_STATE_BUCKET_EX
 35664  }
 35665  type PPPM_IDLE_STATE_ACCOUNTING_EX = uintptr
 35666  
 35667  type PPM_IDLE_ACCOUNTING_EX = struct {
 35668  	FStateCount       DWORD
 35669  	FTotalTransitions DWORD
 35670  	FResetCount       DWORD
 35671  	FAbortCount       DWORD
 35672  	FStartTime        DWORD64
 35673  	FState            [1]PPM_IDLE_STATE_ACCOUNTING_EX
 35674  }
 35675  type PPPM_IDLE_ACCOUNTING_EX = uintptr
 35676  
 35677  type PPM_PERFSTATE_EVENT = struct {
 35678  	FState     DWORD
 35679  	FStatus    DWORD
 35680  	FLatency   DWORD
 35681  	FSpeed     DWORD
 35682  	FProcessor DWORD
 35683  }
 35684  type PPPM_PERFSTATE_EVENT = uintptr
 35685  
 35686  type PPM_PERFSTATE_DOMAIN_EVENT = struct {
 35687  	FState       DWORD
 35688  	FLatency     DWORD
 35689  	FSpeed       DWORD
 35690  	F__ccgo_pad1 [4]byte
 35691  	FProcessors  DWORD64
 35692  }
 35693  type PPPM_PERFSTATE_DOMAIN_EVENT = uintptr
 35694  
 35695  type PPM_IDLESTATE_EVENT = struct {
 35696  	FNewState   DWORD
 35697  	FOldState   DWORD
 35698  	FProcessors DWORD64
 35699  }
 35700  type PPPM_IDLESTATE_EVENT = uintptr
 35701  
 35702  type PPM_THERMALCHANGE_EVENT = struct {
 35703  	FThermalConstraint DWORD
 35704  	F__ccgo_pad1       [4]byte
 35705  	FProcessors        DWORD64
 35706  }
 35707  type PPPM_THERMALCHANGE_EVENT = uintptr
 35708  type PPM_THERMAL_POLICY_EVENT = struct {
 35709  	FMode        BYTE
 35710  	F__ccgo_pad1 [7]byte
 35711  	FProcessors  DWORD64
 35712  }
 35713  type PPPM_THERMAL_POLICY_EVENT = uintptr
 35714  
 35715  type POWER_ACTION_POLICY = struct {
 35716  	FAction    POWER_ACTION
 35717  	FFlags     DWORD
 35718  	FEventCode DWORD
 35719  }
 35720  type PPOWER_ACTION_POLICY = uintptr
 35721  
 35722  type PROCESSOR_IDLESTATE_INFO = struct {
 35723  	FTimeCheck      DWORD
 35724  	FDemotePercent  BYTE
 35725  	FPromotePercent BYTE
 35726  	FSpare          [2]BYTE
 35727  }
 35728  type PPROCESSOR_IDLESTATE_INFO = uintptr
 35729  
 35730  type SYSTEM_POWER_LEVEL = struct {
 35731  	FEnable         BOOLEAN
 35732  	FSpare          [3]BYTE
 35733  	FBatteryLevel   DWORD
 35734  	FPowerPolicy    POWER_ACTION_POLICY
 35735  	FMinSystemState SYSTEM_POWER_STATE
 35736  }
 35737  type PSYSTEM_POWER_LEVEL = uintptr
 35738  
 35739  type _SYSTEM_POWER_POLICY = struct {
 35740  	FRevision                    DWORD
 35741  	FPowerButton                 POWER_ACTION_POLICY
 35742  	FSleepButton                 POWER_ACTION_POLICY
 35743  	FLidClose                    POWER_ACTION_POLICY
 35744  	FLidOpenWake                 SYSTEM_POWER_STATE
 35745  	FReserved                    DWORD
 35746  	FIdle                        POWER_ACTION_POLICY
 35747  	FIdleTimeout                 DWORD
 35748  	FIdleSensitivity             BYTE
 35749  	FDynamicThrottle             BYTE
 35750  	FSpare2                      [2]BYTE
 35751  	FMinSleep                    SYSTEM_POWER_STATE
 35752  	FMaxSleep                    SYSTEM_POWER_STATE
 35753  	FReducedLatencySleep         SYSTEM_POWER_STATE
 35754  	FWinLogonFlags               DWORD
 35755  	FSpare3                      DWORD
 35756  	FDozeS4Timeout               DWORD
 35757  	FBroadcastCapacityResolution DWORD
 35758  	FDischargePolicy             [4]SYSTEM_POWER_LEVEL
 35759  	FVideoTimeout                DWORD
 35760  	FVideoDimDisplay             BOOLEAN
 35761  	F__ccgo_pad1                 [3]byte
 35762  	FVideoReserved               [3]DWORD
 35763  	FSpindownTimeout             DWORD
 35764  	FOptimizeForPower            BOOLEAN
 35765  	FFanThrottleTolerance        BYTE
 35766  	FForcedThrottle              BYTE
 35767  	FMinThrottle                 BYTE
 35768  	FOverThrottled               POWER_ACTION_POLICY
 35769  }
 35770  
 35771  type SYSTEM_POWER_POLICY = _SYSTEM_POWER_POLICY
 35772  type PSYSTEM_POWER_POLICY = uintptr
 35773  
 35774  type PROCESSOR_IDLESTATE_POLICY = struct {
 35775  	FRevision    WORD
 35776  	FFlags       struct{ FAsWORD WORD }
 35777  	FPolicyCount DWORD
 35778  	FPolicy      [3]PROCESSOR_IDLESTATE_INFO
 35779  }
 35780  type PPROCESSOR_IDLESTATE_POLICY = uintptr
 35781  
 35782  type _PROCESSOR_POWER_POLICY_INFO = struct {
 35783  	FTimeCheck      DWORD
 35784  	FDemoteLimit    DWORD
 35785  	FPromoteLimit   DWORD
 35786  	FDemotePercent  BYTE
 35787  	FPromotePercent BYTE
 35788  	FSpare          [2]BYTE
 35789  	FAllowDemotion  uint32
 35790  }
 35791  
 35792  type PROCESSOR_POWER_POLICY_INFO = _PROCESSOR_POWER_POLICY_INFO
 35793  type PPROCESSOR_POWER_POLICY_INFO = uintptr
 35794  
 35795  type _PROCESSOR_POWER_POLICY = struct {
 35796  	FRevision        DWORD
 35797  	FDynamicThrottle BYTE
 35798  	FSpare           [3]BYTE
 35799  	FDisableCStates  uint32
 35800  	F__ccgo_pad1     [4]byte
 35801  	FPolicyCount     DWORD
 35802  	FPolicy          [3]PROCESSOR_POWER_POLICY_INFO
 35803  }
 35804  
 35805  type PROCESSOR_POWER_POLICY = _PROCESSOR_POWER_POLICY
 35806  type PPROCESSOR_POWER_POLICY = uintptr
 35807  
 35808  type PROCESSOR_PERFSTATE_POLICY = struct {
 35809  	FRevision         DWORD
 35810  	FMaxThrottle      BYTE
 35811  	FMinThrottle      BYTE
 35812  	FBusyAdjThreshold BYTE
 35813  	Fu                struct{ FSpare BYTE }
 35814  	FTimeCheck        DWORD
 35815  	FIncreaseTime     DWORD
 35816  	FDecreaseTime     DWORD
 35817  	FIncreasePercent  DWORD
 35818  	FDecreasePercent  DWORD
 35819  }
 35820  type PPROCESSOR_PERFSTATE_POLICY = uintptr
 35821  
 35822  type _ADMINISTRATOR_POWER_POLICY = struct {
 35823  	FMinSleep           SYSTEM_POWER_STATE
 35824  	FMaxSleep           SYSTEM_POWER_STATE
 35825  	FMinVideoTimeout    DWORD
 35826  	FMaxVideoTimeout    DWORD
 35827  	FMinSpindownTimeout DWORD
 35828  	FMaxSpindownTimeout DWORD
 35829  }
 35830  
 35831  type ADMINISTRATOR_POWER_POLICY = _ADMINISTRATOR_POWER_POLICY
 35832  type PADMINISTRATOR_POWER_POLICY = uintptr
 35833  
 35834  type SYSTEM_POWER_CAPABILITIES = struct {
 35835  	FPowerButtonPresent     BOOLEAN
 35836  	FSleepButtonPresent     BOOLEAN
 35837  	FLidPresent             BOOLEAN
 35838  	FSystemS1               BOOLEAN
 35839  	FSystemS2               BOOLEAN
 35840  	FSystemS3               BOOLEAN
 35841  	FSystemS4               BOOLEAN
 35842  	FSystemS5               BOOLEAN
 35843  	FHiberFilePresent       BOOLEAN
 35844  	FFullWake               BOOLEAN
 35845  	FVideoDimPresent        BOOLEAN
 35846  	FApmPresent             BOOLEAN
 35847  	FUpsPresent             BOOLEAN
 35848  	FThermalControl         BOOLEAN
 35849  	FProcessorThrottle      BOOLEAN
 35850  	FProcessorMinThrottle   BYTE
 35851  	FProcessorMaxThrottle   BYTE
 35852  	FFastSystemS4           BOOLEAN
 35853  	Fspare2                 [3]BYTE
 35854  	FDiskSpinDown           BOOLEAN
 35855  	Fspare3                 [8]BYTE
 35856  	FSystemBatteriesPresent BOOLEAN
 35857  	FBatteriesAreShortTerm  BOOLEAN
 35858  	FBatteryScale           [3]BATTERY_REPORTING_SCALE
 35859  	FAcOnLineWake           SYSTEM_POWER_STATE
 35860  	FSoftLidWake            SYSTEM_POWER_STATE
 35861  	FRtcWake                SYSTEM_POWER_STATE
 35862  	FMinDeviceWakeState     SYSTEM_POWER_STATE
 35863  	FDefaultLowLatencyWake  SYSTEM_POWER_STATE
 35864  }
 35865  type PSYSTEM_POWER_CAPABILITIES = uintptr
 35866  
 35867  type SYSTEM_BATTERY_STATE = struct {
 35868  	FAcOnLine          BOOLEAN
 35869  	FBatteryPresent    BOOLEAN
 35870  	FCharging          BOOLEAN
 35871  	FDischarging       BOOLEAN
 35872  	FSpare1            [4]BOOLEAN
 35873  	FMaxCapacity       DWORD
 35874  	FRemainingCapacity DWORD
 35875  	FRate              DWORD
 35876  	FEstimatedTime     DWORD
 35877  	FDefaultAlert1     DWORD
 35878  	FDefaultAlert2     DWORD
 35879  }
 35880  type PSYSTEM_BATTERY_STATE = uintptr
 35881  
 35882  type _IMAGE_DOS_HEADER = struct {
 35883  	Fe_magic    WORD
 35884  	Fe_cblp     WORD
 35885  	Fe_cp       WORD
 35886  	Fe_crlc     WORD
 35887  	Fe_cparhdr  WORD
 35888  	Fe_minalloc WORD
 35889  	Fe_maxalloc WORD
 35890  	Fe_ss       WORD
 35891  	Fe_sp       WORD
 35892  	Fe_csum     WORD
 35893  	Fe_ip       WORD
 35894  	Fe_cs       WORD
 35895  	Fe_lfarlc   WORD
 35896  	Fe_ovno     WORD
 35897  	Fe_res      [4]WORD
 35898  	Fe_oemid    WORD
 35899  	Fe_oeminfo  WORD
 35900  	Fe_res2     [10]WORD
 35901  	Fe_lfanew   LONG
 35902  }
 35903  
 35904  type IMAGE_DOS_HEADER = _IMAGE_DOS_HEADER
 35905  type PIMAGE_DOS_HEADER = uintptr
 35906  
 35907  type _IMAGE_OS2_HEADER = struct {
 35908  	Fne_magic        WORD
 35909  	Fne_ver          CHAR
 35910  	Fne_rev          CHAR
 35911  	Fne_enttab       WORD
 35912  	Fne_cbenttab     WORD
 35913  	Fne_crc          LONG
 35914  	Fne_flags        WORD
 35915  	Fne_autodata     WORD
 35916  	Fne_heap         WORD
 35917  	Fne_stack        WORD
 35918  	Fne_csip         LONG
 35919  	Fne_sssp         LONG
 35920  	Fne_cseg         WORD
 35921  	Fne_cmod         WORD
 35922  	Fne_cbnrestab    WORD
 35923  	Fne_segtab       WORD
 35924  	Fne_rsrctab      WORD
 35925  	Fne_restab       WORD
 35926  	Fne_modtab       WORD
 35927  	Fne_imptab       WORD
 35928  	Fne_nrestab      LONG
 35929  	Fne_cmovent      WORD
 35930  	Fne_align        WORD
 35931  	Fne_cres         WORD
 35932  	Fne_exetyp       BYTE
 35933  	Fne_flagsothers  BYTE
 35934  	Fne_pretthunks   WORD
 35935  	Fne_psegrefbytes WORD
 35936  	Fne_swaparea     WORD
 35937  	Fne_expver       WORD
 35938  }
 35939  
 35940  type IMAGE_OS2_HEADER = _IMAGE_OS2_HEADER
 35941  type PIMAGE_OS2_HEADER = uintptr
 35942  
 35943  type _IMAGE_VXD_HEADER = struct {
 35944  	Fe32_magic        WORD
 35945  	Fe32_border       BYTE
 35946  	Fe32_worder       BYTE
 35947  	Fe32_level        DWORD
 35948  	Fe32_cpu          WORD
 35949  	Fe32_os           WORD
 35950  	Fe32_ver          DWORD
 35951  	Fe32_mflags       DWORD
 35952  	Fe32_mpages       DWORD
 35953  	Fe32_startobj     DWORD
 35954  	Fe32_eip          DWORD
 35955  	Fe32_stackobj     DWORD
 35956  	Fe32_esp          DWORD
 35957  	Fe32_pagesize     DWORD
 35958  	Fe32_lastpagesize DWORD
 35959  	Fe32_fixupsize    DWORD
 35960  	Fe32_fixupsum     DWORD
 35961  	Fe32_ldrsize      DWORD
 35962  	Fe32_ldrsum       DWORD
 35963  	Fe32_objtab       DWORD
 35964  	Fe32_objcnt       DWORD
 35965  	Fe32_objmap       DWORD
 35966  	Fe32_itermap      DWORD
 35967  	Fe32_rsrctab      DWORD
 35968  	Fe32_rsrccnt      DWORD
 35969  	Fe32_restab       DWORD
 35970  	Fe32_enttab       DWORD
 35971  	Fe32_dirtab       DWORD
 35972  	Fe32_dircnt       DWORD
 35973  	Fe32_fpagetab     DWORD
 35974  	Fe32_frectab      DWORD
 35975  	Fe32_impmod       DWORD
 35976  	Fe32_impmodcnt    DWORD
 35977  	Fe32_impproc      DWORD
 35978  	Fe32_pagesum      DWORD
 35979  	Fe32_datapage     DWORD
 35980  	Fe32_preload      DWORD
 35981  	Fe32_nrestab      DWORD
 35982  	Fe32_cbnrestab    DWORD
 35983  	Fe32_nressum      DWORD
 35984  	Fe32_autodata     DWORD
 35985  	Fe32_debuginfo    DWORD
 35986  	Fe32_debuglen     DWORD
 35987  	Fe32_instpreload  DWORD
 35988  	Fe32_instdemand   DWORD
 35989  	Fe32_heapsize     DWORD
 35990  	Fe32_res3         [12]BYTE
 35991  	Fe32_winresoff    DWORD
 35992  	Fe32_winreslen    DWORD
 35993  	Fe32_devid        WORD
 35994  	Fe32_ddkver       WORD
 35995  }
 35996  
 35997  type IMAGE_VXD_HEADER = _IMAGE_VXD_HEADER
 35998  type PIMAGE_VXD_HEADER = uintptr
 35999  
 36000  type _IMAGE_FILE_HEADER = struct {
 36001  	FMachine              WORD
 36002  	FNumberOfSections     WORD
 36003  	FTimeDateStamp        DWORD
 36004  	FPointerToSymbolTable DWORD
 36005  	FNumberOfSymbols      DWORD
 36006  	FSizeOfOptionalHeader WORD
 36007  	FCharacteristics      WORD
 36008  }
 36009  
 36010  type IMAGE_FILE_HEADER = _IMAGE_FILE_HEADER
 36011  type PIMAGE_FILE_HEADER = uintptr
 36012  
 36013  type _IMAGE_DATA_DIRECTORY = struct {
 36014  	FVirtualAddress DWORD
 36015  	FSize           DWORD
 36016  }
 36017  
 36018  type IMAGE_DATA_DIRECTORY = _IMAGE_DATA_DIRECTORY
 36019  type PIMAGE_DATA_DIRECTORY = uintptr
 36020  
 36021  type _IMAGE_OPTIONAL_HEADER = struct {
 36022  	FMagic                       WORD
 36023  	FMajorLinkerVersion          BYTE
 36024  	FMinorLinkerVersion          BYTE
 36025  	FSizeOfCode                  DWORD
 36026  	FSizeOfInitializedData       DWORD
 36027  	FSizeOfUninitializedData     DWORD
 36028  	FAddressOfEntryPoint         DWORD
 36029  	FBaseOfCode                  DWORD
 36030  	FBaseOfData                  DWORD
 36031  	FImageBase                   DWORD
 36032  	FSectionAlignment            DWORD
 36033  	FFileAlignment               DWORD
 36034  	FMajorOperatingSystemVersion WORD
 36035  	FMinorOperatingSystemVersion WORD
 36036  	FMajorImageVersion           WORD
 36037  	FMinorImageVersion           WORD
 36038  	FMajorSubsystemVersion       WORD
 36039  	FMinorSubsystemVersion       WORD
 36040  	FWin32VersionValue           DWORD
 36041  	FSizeOfImage                 DWORD
 36042  	FSizeOfHeaders               DWORD
 36043  	FCheckSum                    DWORD
 36044  	FSubsystem                   WORD
 36045  	FDllCharacteristics          WORD
 36046  	FSizeOfStackReserve          DWORD
 36047  	FSizeOfStackCommit           DWORD
 36048  	FSizeOfHeapReserve           DWORD
 36049  	FSizeOfHeapCommit            DWORD
 36050  	FLoaderFlags                 DWORD
 36051  	FNumberOfRvaAndSizes         DWORD
 36052  	FDataDirectory               [16]IMAGE_DATA_DIRECTORY
 36053  }
 36054  
 36055  type IMAGE_OPTIONAL_HEADER32 = _IMAGE_OPTIONAL_HEADER
 36056  type PIMAGE_OPTIONAL_HEADER32 = uintptr
 36057  
 36058  type _IMAGE_ROM_OPTIONAL_HEADER = struct {
 36059  	FMagic                   WORD
 36060  	FMajorLinkerVersion      BYTE
 36061  	FMinorLinkerVersion      BYTE
 36062  	FSizeOfCode              DWORD
 36063  	FSizeOfInitializedData   DWORD
 36064  	FSizeOfUninitializedData DWORD
 36065  	FAddressOfEntryPoint     DWORD
 36066  	FBaseOfCode              DWORD
 36067  	FBaseOfData              DWORD
 36068  	FBaseOfBss               DWORD
 36069  	FGprMask                 DWORD
 36070  	FCprMask                 [4]DWORD
 36071  	FGpValue                 DWORD
 36072  }
 36073  
 36074  type IMAGE_ROM_OPTIONAL_HEADER = _IMAGE_ROM_OPTIONAL_HEADER
 36075  type PIMAGE_ROM_OPTIONAL_HEADER = uintptr
 36076  
 36077  type _IMAGE_OPTIONAL_HEADER64 = struct {
 36078  	FMagic                       WORD
 36079  	FMajorLinkerVersion          BYTE
 36080  	FMinorLinkerVersion          BYTE
 36081  	FSizeOfCode                  DWORD
 36082  	FSizeOfInitializedData       DWORD
 36083  	FSizeOfUninitializedData     DWORD
 36084  	FAddressOfEntryPoint         DWORD
 36085  	FBaseOfCode                  DWORD
 36086  	FImageBase                   ULONGLONG
 36087  	FSectionAlignment            DWORD
 36088  	FFileAlignment               DWORD
 36089  	FMajorOperatingSystemVersion WORD
 36090  	FMinorOperatingSystemVersion WORD
 36091  	FMajorImageVersion           WORD
 36092  	FMinorImageVersion           WORD
 36093  	FMajorSubsystemVersion       WORD
 36094  	FMinorSubsystemVersion       WORD
 36095  	FWin32VersionValue           DWORD
 36096  	FSizeOfImage                 DWORD
 36097  	FSizeOfHeaders               DWORD
 36098  	FCheckSum                    DWORD
 36099  	FSubsystem                   WORD
 36100  	FDllCharacteristics          WORD
 36101  	FSizeOfStackReserve          ULONGLONG
 36102  	FSizeOfStackCommit           ULONGLONG
 36103  	FSizeOfHeapReserve           ULONGLONG
 36104  	FSizeOfHeapCommit            ULONGLONG
 36105  	FLoaderFlags                 DWORD
 36106  	FNumberOfRvaAndSizes         DWORD
 36107  	FDataDirectory               [16]IMAGE_DATA_DIRECTORY
 36108  }
 36109  
 36110  type IMAGE_OPTIONAL_HEADER64 = _IMAGE_OPTIONAL_HEADER64
 36111  type PIMAGE_OPTIONAL_HEADER64 = uintptr
 36112  
 36113  type IMAGE_OPTIONAL_HEADER = IMAGE_OPTIONAL_HEADER64
 36114  type PIMAGE_OPTIONAL_HEADER = PIMAGE_OPTIONAL_HEADER64
 36115  
 36116  type _IMAGE_NT_HEADERS64 = struct {
 36117  	FSignature      DWORD
 36118  	FFileHeader     IMAGE_FILE_HEADER
 36119  	FOptionalHeader IMAGE_OPTIONAL_HEADER64
 36120  }
 36121  
 36122  type IMAGE_NT_HEADERS64 = _IMAGE_NT_HEADERS64
 36123  type PIMAGE_NT_HEADERS64 = uintptr
 36124  
 36125  type _IMAGE_NT_HEADERS = struct {
 36126  	FSignature      DWORD
 36127  	FFileHeader     IMAGE_FILE_HEADER
 36128  	FOptionalHeader IMAGE_OPTIONAL_HEADER32
 36129  }
 36130  
 36131  type IMAGE_NT_HEADERS32 = _IMAGE_NT_HEADERS
 36132  type PIMAGE_NT_HEADERS32 = uintptr
 36133  
 36134  type _IMAGE_ROM_HEADERS = struct {
 36135  	FFileHeader     IMAGE_FILE_HEADER
 36136  	FOptionalHeader IMAGE_ROM_OPTIONAL_HEADER
 36137  }
 36138  
 36139  type IMAGE_ROM_HEADERS = _IMAGE_ROM_HEADERS
 36140  type PIMAGE_ROM_HEADERS = uintptr
 36141  
 36142  type IMAGE_NT_HEADERS = IMAGE_NT_HEADERS64
 36143  type PIMAGE_NT_HEADERS = PIMAGE_NT_HEADERS64
 36144  
 36145  type ANON_OBJECT_HEADER1 = struct {
 36146  	FSig1          WORD
 36147  	FSig2          WORD
 36148  	FVersion       WORD
 36149  	FMachine       WORD
 36150  	FTimeDateStamp DWORD
 36151  	FClassID       CLSID
 36152  	FSizeOfData    DWORD
 36153  }
 36154  
 36155  type ANON_OBJECT_HEADER = ANON_OBJECT_HEADER1
 36156  
 36157  type ANON_OBJECT_HEADER_V21 = struct {
 36158  	FSig1           WORD
 36159  	FSig2           WORD
 36160  	FVersion        WORD
 36161  	FMachine        WORD
 36162  	FTimeDateStamp  DWORD
 36163  	FClassID        CLSID
 36164  	FSizeOfData     DWORD
 36165  	FFlags          DWORD
 36166  	FMetaDataSize   DWORD
 36167  	FMetaDataOffset DWORD
 36168  }
 36169  
 36170  type ANON_OBJECT_HEADER_V2 = ANON_OBJECT_HEADER_V21
 36171  
 36172  type ANON_OBJECT_HEADER_BIGOBJ1 = struct {
 36173  	FSig1                 WORD
 36174  	FSig2                 WORD
 36175  	FVersion              WORD
 36176  	FMachine              WORD
 36177  	FTimeDateStamp        DWORD
 36178  	FClassID              CLSID
 36179  	FSizeOfData           DWORD
 36180  	FFlags                DWORD
 36181  	FMetaDataSize         DWORD
 36182  	FMetaDataOffset       DWORD
 36183  	FNumberOfSections     DWORD
 36184  	FPointerToSymbolTable DWORD
 36185  	FNumberOfSymbols      DWORD
 36186  }
 36187  
 36188  type ANON_OBJECT_HEADER_BIGOBJ = ANON_OBJECT_HEADER_BIGOBJ1
 36189  
 36190  type _IMAGE_SECTION_HEADER = struct {
 36191  	FName                 [8]BYTE
 36192  	FMisc                 struct{ FPhysicalAddress DWORD }
 36193  	FVirtualAddress       DWORD
 36194  	FSizeOfRawData        DWORD
 36195  	FPointerToRawData     DWORD
 36196  	FPointerToRelocations DWORD
 36197  	FPointerToLinenumbers DWORD
 36198  	FNumberOfRelocations  WORD
 36199  	FNumberOfLinenumbers  WORD
 36200  	FCharacteristics      DWORD
 36201  }
 36202  
 36203  type IMAGE_SECTION_HEADER = _IMAGE_SECTION_HEADER
 36204  type PIMAGE_SECTION_HEADER = uintptr
 36205  
 36206  type _IMAGE_SYMBOL = struct {
 36207  	FN struct {
 36208  		F__ccgo_pad1 [0]uint32
 36209  		FShortName   [8]BYTE
 36210  	}
 36211  	FValue              DWORD
 36212  	FSectionNumber      SHORT
 36213  	FType               WORD
 36214  	FStorageClass       BYTE
 36215  	FNumberOfAuxSymbols BYTE
 36216  	F__ccgo_pad1        [2]byte
 36217  }
 36218  
 36219  type IMAGE_SYMBOL = _IMAGE_SYMBOL
 36220  type PIMAGE_SYMBOL = uintptr
 36221  
 36222  type _IMAGE_SYMBOL_EX = struct {
 36223  	FN struct {
 36224  		F__ccgo_pad1 [0]uint32
 36225  		FShortName   [8]BYTE
 36226  	}
 36227  	FValue              DWORD
 36228  	FSectionNumber      LONG
 36229  	FType               WORD
 36230  	FStorageClass       BYTE
 36231  	FNumberOfAuxSymbols BYTE
 36232  }
 36233  
 36234  type IMAGE_SYMBOL_EX = _IMAGE_SYMBOL_EX
 36235  type PIMAGE_SYMBOL_EX = uintptr
 36236  
 36237  type IMAGE_AUX_SYMBOL_TOKEN_DEF1 = struct {
 36238  	FbAuxType         BYTE
 36239  	FbReserved        BYTE
 36240  	F__ccgo_pad1      [2]byte
 36241  	FSymbolTableIndex DWORD
 36242  	FrgbReserved      [12]BYTE
 36243  }
 36244  
 36245  type IMAGE_AUX_SYMBOL_TOKEN_DEF = IMAGE_AUX_SYMBOL_TOKEN_DEF1
 36246  type PIMAGE_AUX_SYMBOL_TOKEN_DEF = uintptr
 36247  
 36248  type _IMAGE_AUX_SYMBOL = struct {
 36249  	FSym struct {
 36250  		FTagIndex DWORD
 36251  		FMisc     struct {
 36252  			F__ccgo_pad1 [0]uint32
 36253  			FLnSz        struct {
 36254  				FLinenumber WORD
 36255  				FSize       WORD
 36256  			}
 36257  		}
 36258  		FFcnAry struct {
 36259  			FFunction struct {
 36260  				FPointerToLinenumber   DWORD
 36261  				FPointerToNextFunction DWORD
 36262  			}
 36263  		}
 36264  		FTvIndex     WORD
 36265  		F__ccgo_pad1 [2]byte
 36266  	}
 36267  }
 36268  
 36269  type IMAGE_AUX_SYMBOL = _IMAGE_AUX_SYMBOL
 36270  type PIMAGE_AUX_SYMBOL = uintptr
 36271  
 36272  type _IMAGE_AUX_SYMBOL_EX = struct {
 36273  	FSym struct {
 36274  		FWeakDefaultSymIndex DWORD
 36275  		FWeakSearchType      DWORD
 36276  		FrgbReserved         [12]BYTE
 36277  	}
 36278  	F__ccgo_pad1 [4]byte
 36279  }
 36280  
 36281  type IMAGE_AUX_SYMBOL_EX = _IMAGE_AUX_SYMBOL_EX
 36282  type PIMAGE_AUX_SYMBOL_EX = uintptr
 36283  
 36284  type IMAGE_AUX_SYMBOL_TYPE = uint32
 36285  
 36286  type _IMAGE_RELOCATION = struct {
 36287  	Fu                struct{ FVirtualAddress DWORD }
 36288  	FSymbolTableIndex DWORD
 36289  	FType             WORD
 36290  	F__ccgo_pad1      [2]byte
 36291  }
 36292  
 36293  type IMAGE_RELOCATION = _IMAGE_RELOCATION
 36294  type PIMAGE_RELOCATION = uintptr
 36295  
 36296  type _IMAGE_LINENUMBER = struct {
 36297  	FType        struct{ FSymbolTableIndex DWORD }
 36298  	FLinenumber  WORD
 36299  	F__ccgo_pad1 [2]byte
 36300  }
 36301  
 36302  type IMAGE_LINENUMBER = _IMAGE_LINENUMBER
 36303  type PIMAGE_LINENUMBER = uintptr
 36304  
 36305  type _IMAGE_BASE_RELOCATION = struct {
 36306  	FVirtualAddress DWORD
 36307  	FSizeOfBlock    DWORD
 36308  }
 36309  
 36310  type IMAGE_BASE_RELOCATION = _IMAGE_BASE_RELOCATION
 36311  type PIMAGE_BASE_RELOCATION = uintptr
 36312  
 36313  type _IMAGE_ARCHIVE_MEMBER_HEADER = struct {
 36314  	FName      [16]BYTE
 36315  	FDate      [12]BYTE
 36316  	FUserID    [6]BYTE
 36317  	FGroupID   [6]BYTE
 36318  	FMode      [8]BYTE
 36319  	FSize      [10]BYTE
 36320  	FEndHeader [2]BYTE
 36321  }
 36322  
 36323  type IMAGE_ARCHIVE_MEMBER_HEADER = _IMAGE_ARCHIVE_MEMBER_HEADER
 36324  type PIMAGE_ARCHIVE_MEMBER_HEADER = uintptr
 36325  
 36326  type _IMAGE_EXPORT_DIRECTORY = struct {
 36327  	FCharacteristics       DWORD
 36328  	FTimeDateStamp         DWORD
 36329  	FMajorVersion          WORD
 36330  	FMinorVersion          WORD
 36331  	FName                  DWORD
 36332  	FBase                  DWORD
 36333  	FNumberOfFunctions     DWORD
 36334  	FNumberOfNames         DWORD
 36335  	FAddressOfFunctions    DWORD
 36336  	FAddressOfNames        DWORD
 36337  	FAddressOfNameOrdinals DWORD
 36338  }
 36339  
 36340  type IMAGE_EXPORT_DIRECTORY = _IMAGE_EXPORT_DIRECTORY
 36341  type PIMAGE_EXPORT_DIRECTORY = uintptr
 36342  
 36343  type _IMAGE_IMPORT_BY_NAME = struct {
 36344  	FHint        WORD
 36345  	FName        [1]CHAR
 36346  	F__ccgo_pad1 [1]byte
 36347  }
 36348  
 36349  type IMAGE_IMPORT_BY_NAME = _IMAGE_IMPORT_BY_NAME
 36350  type PIMAGE_IMPORT_BY_NAME = uintptr
 36351  
 36352  type _IMAGE_THUNK_DATA64 = struct {
 36353  	Fu1 struct{ FForwarderString ULONGLONG }
 36354  }
 36355  
 36356  type IMAGE_THUNK_DATA64 = _IMAGE_THUNK_DATA64
 36357  type PIMAGE_THUNK_DATA64 = uintptr
 36358  
 36359  type _IMAGE_THUNK_DATA32 = struct {
 36360  	Fu1 struct{ FForwarderString DWORD }
 36361  }
 36362  
 36363  type IMAGE_THUNK_DATA32 = _IMAGE_THUNK_DATA32
 36364  type PIMAGE_THUNK_DATA32 = uintptr
 36365  
 36366  type PIMAGE_TLS_CALLBACK = uintptr
 36367  
 36368  type _IMAGE_TLS_DIRECTORY64 = struct {
 36369  	FStartAddressOfRawData ULONGLONG
 36370  	FEndAddressOfRawData   ULONGLONG
 36371  	FAddressOfIndex        ULONGLONG
 36372  	FAddressOfCallBacks    ULONGLONG
 36373  	FSizeOfZeroFill        DWORD
 36374  	FCharacteristics       DWORD
 36375  }
 36376  
 36377  type IMAGE_TLS_DIRECTORY64 = _IMAGE_TLS_DIRECTORY64
 36378  type PIMAGE_TLS_DIRECTORY64 = uintptr
 36379  
 36380  type _IMAGE_TLS_DIRECTORY32 = struct {
 36381  	FStartAddressOfRawData DWORD
 36382  	FEndAddressOfRawData   DWORD
 36383  	FAddressOfIndex        DWORD
 36384  	FAddressOfCallBacks    DWORD
 36385  	FSizeOfZeroFill        DWORD
 36386  	FCharacteristics       DWORD
 36387  }
 36388  
 36389  type IMAGE_TLS_DIRECTORY32 = _IMAGE_TLS_DIRECTORY32
 36390  type PIMAGE_TLS_DIRECTORY32 = uintptr
 36391  
 36392  type IMAGE_THUNK_DATA = IMAGE_THUNK_DATA64
 36393  type PIMAGE_THUNK_DATA = PIMAGE_THUNK_DATA64
 36394  type IMAGE_TLS_DIRECTORY = IMAGE_TLS_DIRECTORY64
 36395  type PIMAGE_TLS_DIRECTORY = PIMAGE_TLS_DIRECTORY64
 36396  
 36397  type _IMAGE_IMPORT_DESCRIPTOR = struct {
 36398  	Fu              struct{ FCharacteristics DWORD }
 36399  	FTimeDateStamp  DWORD
 36400  	FForwarderChain DWORD
 36401  	FName           DWORD
 36402  	FFirstThunk     DWORD
 36403  }
 36404  
 36405  type IMAGE_IMPORT_DESCRIPTOR = _IMAGE_IMPORT_DESCRIPTOR
 36406  type PIMAGE_IMPORT_DESCRIPTOR = uintptr
 36407  
 36408  type _IMAGE_BOUND_IMPORT_DESCRIPTOR = struct {
 36409  	FTimeDateStamp               DWORD
 36410  	FOffsetModuleName            WORD
 36411  	FNumberOfModuleForwarderRefs WORD
 36412  }
 36413  
 36414  type IMAGE_BOUND_IMPORT_DESCRIPTOR = _IMAGE_BOUND_IMPORT_DESCRIPTOR
 36415  type PIMAGE_BOUND_IMPORT_DESCRIPTOR = uintptr
 36416  
 36417  type _IMAGE_BOUND_FORWARDER_REF = struct {
 36418  	FTimeDateStamp    DWORD
 36419  	FOffsetModuleName WORD
 36420  	FReserved         WORD
 36421  }
 36422  
 36423  type IMAGE_BOUND_FORWARDER_REF = _IMAGE_BOUND_FORWARDER_REF
 36424  type PIMAGE_BOUND_FORWARDER_REF = uintptr
 36425  
 36426  type _IMAGE_DELAYLOAD_DESCRIPTOR = struct {
 36427  	FAttributes                 struct{ FAllAttributes DWORD }
 36428  	FDllNameRVA                 DWORD
 36429  	FModuleHandleRVA            DWORD
 36430  	FImportAddressTableRVA      DWORD
 36431  	FImportNameTableRVA         DWORD
 36432  	FBoundImportAddressTableRVA DWORD
 36433  	FUnloadInformationTableRVA  DWORD
 36434  	FTimeDateStamp              DWORD
 36435  }
 36436  
 36437  type IMAGE_DELAYLOAD_DESCRIPTOR = _IMAGE_DELAYLOAD_DESCRIPTOR
 36438  type PIMAGE_DELAYLOAD_DESCRIPTOR = uintptr
 36439  type PCIMAGE_DELAYLOAD_DESCRIPTOR = uintptr
 36440  
 36441  type _IMAGE_RESOURCE_DIRECTORY = struct {
 36442  	FCharacteristics      DWORD
 36443  	FTimeDateStamp        DWORD
 36444  	FMajorVersion         WORD
 36445  	FMinorVersion         WORD
 36446  	FNumberOfNamedEntries WORD
 36447  	FNumberOfIdEntries    WORD
 36448  }
 36449  
 36450  type IMAGE_RESOURCE_DIRECTORY = _IMAGE_RESOURCE_DIRECTORY
 36451  type PIMAGE_RESOURCE_DIRECTORY = uintptr
 36452  
 36453  type _IMAGE_RESOURCE_DIRECTORY_ENTRY = struct {
 36454  	Fu struct {
 36455  		Fs struct {
 36456  			F__ccgo_pad1 [0]uint32
 36457  			FNameOffset  uint32
 36458  		}
 36459  	}
 36460  	Fu2 struct{ FOffsetToData DWORD }
 36461  }
 36462  
 36463  type IMAGE_RESOURCE_DIRECTORY_ENTRY = _IMAGE_RESOURCE_DIRECTORY_ENTRY
 36464  type PIMAGE_RESOURCE_DIRECTORY_ENTRY = uintptr
 36465  
 36466  type _IMAGE_RESOURCE_DIRECTORY_STRING = struct {
 36467  	FLength      WORD
 36468  	FNameString  [1]CHAR
 36469  	F__ccgo_pad1 [1]byte
 36470  }
 36471  
 36472  type IMAGE_RESOURCE_DIRECTORY_STRING = _IMAGE_RESOURCE_DIRECTORY_STRING
 36473  type PIMAGE_RESOURCE_DIRECTORY_STRING = uintptr
 36474  
 36475  type _IMAGE_RESOURCE_DIR_STRING_U = struct {
 36476  	FLength     WORD
 36477  	FNameString [1]WCHAR
 36478  }
 36479  
 36480  type IMAGE_RESOURCE_DIR_STRING_U = _IMAGE_RESOURCE_DIR_STRING_U
 36481  type PIMAGE_RESOURCE_DIR_STRING_U = uintptr
 36482  
 36483  type _IMAGE_RESOURCE_DATA_ENTRY = struct {
 36484  	FOffsetToData DWORD
 36485  	FSize         DWORD
 36486  	FCodePage     DWORD
 36487  	FReserved     DWORD
 36488  }
 36489  
 36490  type IMAGE_RESOURCE_DATA_ENTRY = _IMAGE_RESOURCE_DATA_ENTRY
 36491  type PIMAGE_RESOURCE_DATA_ENTRY = uintptr
 36492  
 36493  type IMAGE_LOAD_CONFIG_DIRECTORY32 = struct {
 36494  	FSize                          DWORD
 36495  	FTimeDateStamp                 DWORD
 36496  	FMajorVersion                  WORD
 36497  	FMinorVersion                  WORD
 36498  	FGlobalFlagsClear              DWORD
 36499  	FGlobalFlagsSet                DWORD
 36500  	FCriticalSectionDefaultTimeout DWORD
 36501  	FDeCommitFreeBlockThreshold    DWORD
 36502  	FDeCommitTotalFreeThreshold    DWORD
 36503  	FLockPrefixTable               DWORD
 36504  	FMaximumAllocationSize         DWORD
 36505  	FVirtualMemoryThreshold        DWORD
 36506  	FProcessHeapFlags              DWORD
 36507  	FProcessAffinityMask           DWORD
 36508  	FCSDVersion                    WORD
 36509  	FReserved1                     WORD
 36510  	FEditList                      DWORD
 36511  	FSecurityCookie                DWORD
 36512  	FSEHandlerTable                DWORD
 36513  	FSEHandlerCount                DWORD
 36514  }
 36515  type PIMAGE_LOAD_CONFIG_DIRECTORY32 = uintptr
 36516  
 36517  type IMAGE_LOAD_CONFIG_DIRECTORY64 = struct {
 36518  	FSize                          DWORD
 36519  	FTimeDateStamp                 DWORD
 36520  	FMajorVersion                  WORD
 36521  	FMinorVersion                  WORD
 36522  	FGlobalFlagsClear              DWORD
 36523  	FGlobalFlagsSet                DWORD
 36524  	FCriticalSectionDefaultTimeout DWORD
 36525  	FDeCommitFreeBlockThreshold    ULONGLONG
 36526  	FDeCommitTotalFreeThreshold    ULONGLONG
 36527  	FLockPrefixTable               ULONGLONG
 36528  	FMaximumAllocationSize         ULONGLONG
 36529  	FVirtualMemoryThreshold        ULONGLONG
 36530  	FProcessAffinityMask           ULONGLONG
 36531  	FProcessHeapFlags              DWORD
 36532  	FCSDVersion                    WORD
 36533  	FReserved1                     WORD
 36534  	FEditList                      ULONGLONG
 36535  	FSecurityCookie                ULONGLONG
 36536  	FSEHandlerTable                ULONGLONG
 36537  	FSEHandlerCount                ULONGLONG
 36538  }
 36539  type PIMAGE_LOAD_CONFIG_DIRECTORY64 = uintptr
 36540  
 36541  type IMAGE_LOAD_CONFIG_DIRECTORY = IMAGE_LOAD_CONFIG_DIRECTORY64
 36542  type PIMAGE_LOAD_CONFIG_DIRECTORY = PIMAGE_LOAD_CONFIG_DIRECTORY64
 36543  
 36544  type _IMAGE_CE_RUNTIME_FUNCTION_ENTRY = struct {
 36545  	FFuncStart DWORD
 36546  	FPrologLen uint32
 36547  }
 36548  
 36549  type IMAGE_CE_RUNTIME_FUNCTION_ENTRY = _IMAGE_CE_RUNTIME_FUNCTION_ENTRY
 36550  type PIMAGE_CE_RUNTIME_FUNCTION_ENTRY = uintptr
 36551  
 36552  type _IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY = struct {
 36553  	FBeginAddress     ULONGLONG
 36554  	FEndAddress       ULONGLONG
 36555  	FExceptionHandler ULONGLONG
 36556  	FHandlerData      ULONGLONG
 36557  	FPrologEndAddress ULONGLONG
 36558  }
 36559  
 36560  type IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY = _IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY
 36561  type PIMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY = uintptr
 36562  
 36563  type _IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY = struct {
 36564  	FBeginAddress     DWORD
 36565  	FEndAddress       DWORD
 36566  	FExceptionHandler DWORD
 36567  	FHandlerData      DWORD
 36568  	FPrologEndAddress DWORD
 36569  }
 36570  
 36571  type IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY = _IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY
 36572  type PIMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY = uintptr
 36573  
 36574  type _IMAGE_ARM_RUNTIME_FUNCTION_ENTRY = struct {
 36575  	FBeginAddress DWORD
 36576  	Fu            struct{ FUnwindData DWORD }
 36577  }
 36578  
 36579  type IMAGE_ARM_RUNTIME_FUNCTION_ENTRY = _IMAGE_ARM_RUNTIME_FUNCTION_ENTRY
 36580  type PIMAGE_ARM_RUNTIME_FUNCTION_ENTRY = uintptr
 36581  
 36582  type _IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY = struct {
 36583  	FBeginAddress DWORD
 36584  	Fu            struct{ FUnwindData DWORD }
 36585  }
 36586  
 36587  type IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY = _IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY
 36588  type PIMAGE_ARM64_RUNTIME_FUNCTION_ENTRY = uintptr
 36589  
 36590  type _IMAGE_RUNTIME_FUNCTION_ENTRY1 = struct {
 36591  	FBeginAddress DWORD
 36592  	FEndAddress   DWORD
 36593  	Fu            struct{ FUnwindInfoAddress DWORD }
 36594  }
 36595  
 36596  type _IMAGE_RUNTIME_FUNCTION_ENTRY = _IMAGE_RUNTIME_FUNCTION_ENTRY1
 36597  type _PIMAGE_RUNTIME_FUNCTION_ENTRY = uintptr
 36598  
 36599  type IMAGE_IA64_RUNTIME_FUNCTION_ENTRY = _IMAGE_RUNTIME_FUNCTION_ENTRY
 36600  type PIMAGE_IA64_RUNTIME_FUNCTION_ENTRY = _PIMAGE_RUNTIME_FUNCTION_ENTRY
 36601  
 36602  type IMAGE_RUNTIME_FUNCTION_ENTRY = _IMAGE_RUNTIME_FUNCTION_ENTRY
 36603  type PIMAGE_RUNTIME_FUNCTION_ENTRY = _PIMAGE_RUNTIME_FUNCTION_ENTRY
 36604  
 36605  type _IMAGE_DEBUG_DIRECTORY = struct {
 36606  	FCharacteristics  DWORD
 36607  	FTimeDateStamp    DWORD
 36608  	FMajorVersion     WORD
 36609  	FMinorVersion     WORD
 36610  	FType             DWORD
 36611  	FSizeOfData       DWORD
 36612  	FAddressOfRawData DWORD
 36613  	FPointerToRawData DWORD
 36614  }
 36615  
 36616  type IMAGE_DEBUG_DIRECTORY = _IMAGE_DEBUG_DIRECTORY
 36617  type PIMAGE_DEBUG_DIRECTORY = uintptr
 36618  
 36619  type _IMAGE_COFF_SYMBOLS_HEADER = struct {
 36620  	FNumberOfSymbols      DWORD
 36621  	FLvaToFirstSymbol     DWORD
 36622  	FNumberOfLinenumbers  DWORD
 36623  	FLvaToFirstLinenumber DWORD
 36624  	FRvaToFirstByteOfCode DWORD
 36625  	FRvaToLastByteOfCode  DWORD
 36626  	FRvaToFirstByteOfData DWORD
 36627  	FRvaToLastByteOfData  DWORD
 36628  }
 36629  
 36630  type IMAGE_COFF_SYMBOLS_HEADER = _IMAGE_COFF_SYMBOLS_HEADER
 36631  type PIMAGE_COFF_SYMBOLS_HEADER = uintptr
 36632  
 36633  type _FPO_DATA = struct {
 36634  	FulOffStart DWORD
 36635  	FcbProcSize DWORD
 36636  	FcdwLocals  DWORD
 36637  	FcdwParams  WORD
 36638  	FcbProlog   uint16
 36639  }
 36640  
 36641  type FPO_DATA = _FPO_DATA
 36642  type PFPO_DATA = uintptr
 36643  
 36644  type _IMAGE_DEBUG_MISC = struct {
 36645  	FDataType    DWORD
 36646  	FLength      DWORD
 36647  	FUnicode     BOOLEAN
 36648  	FReserved    [3]BYTE
 36649  	FData        [1]BYTE
 36650  	F__ccgo_pad1 [3]byte
 36651  }
 36652  
 36653  type IMAGE_DEBUG_MISC = _IMAGE_DEBUG_MISC
 36654  type PIMAGE_DEBUG_MISC = uintptr
 36655  
 36656  type _IMAGE_FUNCTION_ENTRY = struct {
 36657  	FStartingAddress DWORD
 36658  	FEndingAddress   DWORD
 36659  	FEndOfPrologue   DWORD
 36660  }
 36661  
 36662  type IMAGE_FUNCTION_ENTRY = _IMAGE_FUNCTION_ENTRY
 36663  type PIMAGE_FUNCTION_ENTRY = uintptr
 36664  
 36665  type _IMAGE_FUNCTION_ENTRY64 = struct {
 36666  	FStartingAddress ULONGLONG
 36667  	FEndingAddress   ULONGLONG
 36668  	Fu               struct{ FEndOfPrologue ULONGLONG }
 36669  }
 36670  
 36671  type IMAGE_FUNCTION_ENTRY64 = _IMAGE_FUNCTION_ENTRY64
 36672  type PIMAGE_FUNCTION_ENTRY64 = uintptr
 36673  
 36674  type _IMAGE_SEPARATE_DEBUG_HEADER = struct {
 36675  	FSignature          WORD
 36676  	FFlags              WORD
 36677  	FMachine            WORD
 36678  	FCharacteristics    WORD
 36679  	FTimeDateStamp      DWORD
 36680  	FCheckSum           DWORD
 36681  	FImageBase          DWORD
 36682  	FSizeOfImage        DWORD
 36683  	FNumberOfSections   DWORD
 36684  	FExportedNamesSize  DWORD
 36685  	FDebugDirectorySize DWORD
 36686  	FSectionAlignment   DWORD
 36687  	FReserved           [2]DWORD
 36688  }
 36689  
 36690  type IMAGE_SEPARATE_DEBUG_HEADER = _IMAGE_SEPARATE_DEBUG_HEADER
 36691  type PIMAGE_SEPARATE_DEBUG_HEADER = uintptr
 36692  
 36693  type _NON_PAGED_DEBUG_INFO = struct {
 36694  	FSignature       WORD
 36695  	FFlags           WORD
 36696  	FSize            DWORD
 36697  	FMachine         WORD
 36698  	FCharacteristics WORD
 36699  	FTimeDateStamp   DWORD
 36700  	FCheckSum        DWORD
 36701  	FSizeOfImage     DWORD
 36702  	FImageBase       ULONGLONG
 36703  }
 36704  
 36705  type NON_PAGED_DEBUG_INFO = _NON_PAGED_DEBUG_INFO
 36706  type PNON_PAGED_DEBUG_INFO = uintptr
 36707  
 36708  type _ImageArchitectureHeader = struct {
 36709  	FAmaskValue    uint32
 36710  	F__ccgo_pad1   [4]byte
 36711  	FFirstEntryRVA DWORD
 36712  }
 36713  
 36714  type IMAGE_ARCHITECTURE_HEADER = _ImageArchitectureHeader
 36715  type PIMAGE_ARCHITECTURE_HEADER = uintptr
 36716  
 36717  type _ImageArchitectureEntry = struct {
 36718  	FFixupInstRVA DWORD
 36719  	FNewInst      DWORD
 36720  }
 36721  
 36722  type IMAGE_ARCHITECTURE_ENTRY = _ImageArchitectureEntry
 36723  type PIMAGE_ARCHITECTURE_ENTRY = uintptr
 36724  
 36725  type IMPORT_OBJECT_HEADER1 = struct {
 36726  	FSig1          WORD
 36727  	FSig2          WORD
 36728  	FVersion       WORD
 36729  	FMachine       WORD
 36730  	FTimeDateStamp DWORD
 36731  	FSizeOfData    DWORD
 36732  	F__16          struct{ FOrdinal WORD }
 36733  	FType          uint16
 36734  }
 36735  
 36736  type IMPORT_OBJECT_HEADER = IMPORT_OBJECT_HEADER1
 36737  
 36738  type IMPORT_OBJECT_TYPE = uint32
 36739  
 36740  type IMPORT_OBJECT_NAME_TYPE = uint32
 36741  
 36742  type ReplacesCorHdrNumericDefines = uint32
 36743  
 36744  type IMAGE_COR20_HEADER1 = struct {
 36745  	Fcb                      DWORD
 36746  	FMajorRuntimeVersion     WORD
 36747  	FMinorRuntimeVersion     WORD
 36748  	FMetaData                IMAGE_DATA_DIRECTORY
 36749  	FFlags                   DWORD
 36750  	Fu                       struct{ FEntryPointToken DWORD }
 36751  	FResources               IMAGE_DATA_DIRECTORY
 36752  	FStrongNameSignature     IMAGE_DATA_DIRECTORY
 36753  	FCodeManagerTable        IMAGE_DATA_DIRECTORY
 36754  	FVTableFixups            IMAGE_DATA_DIRECTORY
 36755  	FExportAddressTableJumps IMAGE_DATA_DIRECTORY
 36756  	FManagedNativeHeader     IMAGE_DATA_DIRECTORY
 36757  }
 36758  
 36759  type IMAGE_COR20_HEADER = IMAGE_COR20_HEADER1
 36760  type PIMAGE_COR20_HEADER = uintptr
 36761  
 36762  type _SLIST_ENTRY = struct{ FNext uintptr }
 36763  
 36764  type SLIST_ENTRY = _SLIST_ENTRY
 36765  type PSLIST_ENTRY = uintptr
 36766  
 36767  type _SLIST_HEADER = struct {
 36768  	Fs struct {
 36769  		FAlignment ULONGLONG
 36770  		FRegion    ULONGLONG
 36771  	}
 36772  }
 36773  
 36774  type SLIST_HEADER = _SLIST_HEADER
 36775  type PSLIST_HEADER = uintptr
 36776  
 36777  type _RTL_RUN_ONCE = struct{ FPtr PVOID }
 36778  
 36779  type RTL_RUN_ONCE = _RTL_RUN_ONCE
 36780  type PRTL_RUN_ONCE = uintptr
 36781  type PRTL_RUN_ONCE_INIT_FN = uintptr
 36782  
 36783  type _RTL_BARRIER = struct {
 36784  	FReserved1 DWORD
 36785  	FReserved2 DWORD
 36786  	FReserved3 [2]ULONG_PTR
 36787  	FReserved4 DWORD
 36788  	FReserved5 DWORD
 36789  }
 36790  
 36791  type RTL_BARRIER = _RTL_BARRIER
 36792  type PRTL_BARRIER = uintptr
 36793  
 36794  type _MESSAGE_RESOURCE_ENTRY = struct {
 36795  	FLength      WORD
 36796  	FFlags       WORD
 36797  	FText        [1]BYTE
 36798  	F__ccgo_pad1 [1]byte
 36799  }
 36800  
 36801  type MESSAGE_RESOURCE_ENTRY = _MESSAGE_RESOURCE_ENTRY
 36802  type PMESSAGE_RESOURCE_ENTRY = uintptr
 36803  
 36804  type _MESSAGE_RESOURCE_BLOCK = struct {
 36805  	FLowId           DWORD
 36806  	FHighId          DWORD
 36807  	FOffsetToEntries DWORD
 36808  }
 36809  
 36810  type MESSAGE_RESOURCE_BLOCK = _MESSAGE_RESOURCE_BLOCK
 36811  type PMESSAGE_RESOURCE_BLOCK = uintptr
 36812  
 36813  type _MESSAGE_RESOURCE_DATA = struct {
 36814  	FNumberOfBlocks DWORD
 36815  	FBlocks         [1]MESSAGE_RESOURCE_BLOCK
 36816  }
 36817  
 36818  type MESSAGE_RESOURCE_DATA = _MESSAGE_RESOURCE_DATA
 36819  type PMESSAGE_RESOURCE_DATA = uintptr
 36820  
 36821  type _OSVERSIONINFOA = struct {
 36822  	FdwOSVersionInfoSize DWORD
 36823  	FdwMajorVersion      DWORD
 36824  	FdwMinorVersion      DWORD
 36825  	FdwBuildNumber       DWORD
 36826  	FdwPlatformId        DWORD
 36827  	FszCSDVersion        [128]CHAR
 36828  }
 36829  
 36830  type OSVERSIONINFOA = _OSVERSIONINFOA
 36831  type POSVERSIONINFOA = uintptr
 36832  type LPOSVERSIONINFOA = uintptr
 36833  
 36834  type _OSVERSIONINFOW = struct {
 36835  	FdwOSVersionInfoSize DWORD
 36836  	FdwMajorVersion      DWORD
 36837  	FdwMinorVersion      DWORD
 36838  	FdwBuildNumber       DWORD
 36839  	FdwPlatformId        DWORD
 36840  	FszCSDVersion        [128]WCHAR
 36841  }
 36842  
 36843  type OSVERSIONINFOW = _OSVERSIONINFOW
 36844  type POSVERSIONINFOW = uintptr
 36845  type LPOSVERSIONINFOW = uintptr
 36846  type RTL_OSVERSIONINFOW = _OSVERSIONINFOW
 36847  type PRTL_OSVERSIONINFOW = uintptr
 36848  
 36849  type OSVERSIONINFO = OSVERSIONINFOA
 36850  type POSVERSIONINFO = POSVERSIONINFOA
 36851  type LPOSVERSIONINFO = LPOSVERSIONINFOA
 36852  
 36853  type _OSVERSIONINFOEXA = struct {
 36854  	FdwOSVersionInfoSize DWORD
 36855  	FdwMajorVersion      DWORD
 36856  	FdwMinorVersion      DWORD
 36857  	FdwBuildNumber       DWORD
 36858  	FdwPlatformId        DWORD
 36859  	FszCSDVersion        [128]CHAR
 36860  	FwServicePackMajor   WORD
 36861  	FwServicePackMinor   WORD
 36862  	FwSuiteMask          WORD
 36863  	FwProductType        BYTE
 36864  	FwReserved           BYTE
 36865  }
 36866  
 36867  type OSVERSIONINFOEXA = _OSVERSIONINFOEXA
 36868  type POSVERSIONINFOEXA = uintptr
 36869  type LPOSVERSIONINFOEXA = uintptr
 36870  
 36871  type _OSVERSIONINFOEXW = struct {
 36872  	FdwOSVersionInfoSize DWORD
 36873  	FdwMajorVersion      DWORD
 36874  	FdwMinorVersion      DWORD
 36875  	FdwBuildNumber       DWORD
 36876  	FdwPlatformId        DWORD
 36877  	FszCSDVersion        [128]WCHAR
 36878  	FwServicePackMajor   WORD
 36879  	FwServicePackMinor   WORD
 36880  	FwSuiteMask          WORD
 36881  	FwProductType        BYTE
 36882  	FwReserved           BYTE
 36883  }
 36884  
 36885  type OSVERSIONINFOEXW = _OSVERSIONINFOEXW
 36886  type POSVERSIONINFOEXW = uintptr
 36887  type LPOSVERSIONINFOEXW = uintptr
 36888  type RTL_OSVERSIONINFOEXW = _OSVERSIONINFOEXW
 36889  type PRTL_OSVERSIONINFOEXW = uintptr
 36890  
 36891  type OSVERSIONINFOEX = OSVERSIONINFOEXA
 36892  type POSVERSIONINFOEX = POSVERSIONINFOEXA
 36893  type LPOSVERSIONINFOEX = LPOSVERSIONINFOEXA
 36894  
 36895  type RTL_UMS_THREAD_INFO_CLASS = uint32
 36896  type PRTL_UMS_THREAD_INFO_CLASS = uintptr
 36897  
 36898  type RTL_UMS_SCHEDULER_REASON = uint32
 36899  type PRTL_UMS_SCHEDULER_REASON = uintptr
 36900  type PRTL_UMS_SCHEDULER_ENTRY_POINT = uintptr
 36901  
 36902  type _RTL_CRITICAL_SECTION_DEBUG = struct {
 36903  	FType                      WORD
 36904  	FCreatorBackTraceIndex     WORD
 36905  	F__ccgo_pad1               [4]byte
 36906  	FCriticalSection           uintptr
 36907  	FProcessLocksList          LIST_ENTRY
 36908  	FEntryCount                DWORD
 36909  	FContentionCount           DWORD
 36910  	FFlags                     DWORD
 36911  	FCreatorBackTraceIndexHigh WORD
 36912  	FSpareWORD                 WORD
 36913  }
 36914  
 36915  type _RTL_CRITICAL_SECTION = struct {
 36916  	FDebugInfo      PRTL_CRITICAL_SECTION_DEBUG
 36917  	FLockCount      LONG
 36918  	FRecursionCount LONG
 36919  	FOwningThread   HANDLE
 36920  	FLockSemaphore  HANDLE
 36921  	FSpinCount      ULONG_PTR
 36922  }
 36923  
 36924  type RTL_CRITICAL_SECTION_DEBUG = _RTL_CRITICAL_SECTION_DEBUG
 36925  type PRTL_CRITICAL_SECTION_DEBUG = uintptr
 36926  type RTL_RESOURCE_DEBUG = _RTL_CRITICAL_SECTION_DEBUG
 36927  type PRTL_RESOURCE_DEBUG = uintptr
 36928  
 36929  type RTL_CRITICAL_SECTION = _RTL_CRITICAL_SECTION
 36930  type PRTL_CRITICAL_SECTION = uintptr
 36931  
 36932  type _RTL_SRWLOCK = struct{ FPtr PVOID }
 36933  
 36934  type RTL_SRWLOCK = _RTL_SRWLOCK
 36935  type PRTL_SRWLOCK = uintptr
 36936  type _RTL_CONDITION_VARIABLE = struct{ FPtr PVOID }
 36937  
 36938  type RTL_CONDITION_VARIABLE = _RTL_CONDITION_VARIABLE
 36939  type PRTL_CONDITION_VARIABLE = uintptr
 36940  
 36941  type PAPCFUNC = uintptr
 36942  type PVECTORED_EXCEPTION_HANDLER = uintptr
 36943  
 36944  type HEAP_INFORMATION_CLASS = uint32
 36945  
 36946  type WORKERCALLBACKFUNC = uintptr
 36947  type APC_CALLBACK_FUNCTION = uintptr
 36948  type WAITORTIMERCALLBACKFUNC = uintptr
 36949  type WAITORTIMERCALLBACK = WAITORTIMERCALLBACKFUNC
 36950  type PFLS_CALLBACK_FUNCTION = uintptr
 36951  type PSECURE_MEMORY_CACHE_CALLBACK = uintptr
 36952  
 36953  type ACTIVATION_CONTEXT_INFO_CLASS = uint32
 36954  
 36955  type ACTCTX_REQUESTED_RUN_LEVEL = uint32
 36956  
 36957  type ACTCTX_COMPATIBILITY_ELEMENT_TYPE = uint32
 36958  
 36959  type _ACTIVATION_CONTEXT_QUERY_INDEX = struct {
 36960  	FulAssemblyIndex       DWORD
 36961  	FulFileIndexInAssembly DWORD
 36962  }
 36963  
 36964  type ACTIVATION_CONTEXT_QUERY_INDEX = _ACTIVATION_CONTEXT_QUERY_INDEX
 36965  type PACTIVATION_CONTEXT_QUERY_INDEX = uintptr
 36966  
 36967  type _ASSEMBLY_FILE_DETAILED_INFORMATION = struct {
 36968  	FulFlags          DWORD
 36969  	FulFilenameLength DWORD
 36970  	FulPathLength     DWORD
 36971  	F__ccgo_pad1      [4]byte
 36972  	FlpFileName       PCWSTR
 36973  	FlpFilePath       PCWSTR
 36974  }
 36975  
 36976  type ASSEMBLY_FILE_DETAILED_INFORMATION = _ASSEMBLY_FILE_DETAILED_INFORMATION
 36977  type PASSEMBLY_FILE_DETAILED_INFORMATION = uintptr
 36978  
 36979  type _ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION = struct {
 36980  	FulFlags                           DWORD
 36981  	FulEncodedAssemblyIdentityLength   DWORD
 36982  	FulManifestPathType                DWORD
 36983  	FulManifestPathLength              DWORD
 36984  	FliManifestLastWriteTime           LARGE_INTEGER
 36985  	FulPolicyPathType                  DWORD
 36986  	FulPolicyPathLength                DWORD
 36987  	FliPolicyLastWriteTime             LARGE_INTEGER
 36988  	FulMetadataSatelliteRosterIndex    DWORD
 36989  	FulManifestVersionMajor            DWORD
 36990  	FulManifestVersionMinor            DWORD
 36991  	FulPolicyVersionMajor              DWORD
 36992  	FulPolicyVersionMinor              DWORD
 36993  	FulAssemblyDirectoryNameLength     DWORD
 36994  	FlpAssemblyEncodedAssemblyIdentity PCWSTR
 36995  	FlpAssemblyManifestPath            PCWSTR
 36996  	FlpAssemblyPolicyPath              PCWSTR
 36997  	FlpAssemblyDirectoryName           PCWSTR
 36998  	FulFileCount                       DWORD
 36999  	F__ccgo_pad1                       [4]byte
 37000  }
 37001  
 37002  type ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION = _ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION
 37003  type PACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION = uintptr
 37004  
 37005  type _ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION = struct {
 37006  	FulFlags  DWORD
 37007  	FRunLevel ACTCTX_REQUESTED_RUN_LEVEL
 37008  	FUiAccess DWORD
 37009  }
 37010  
 37011  type ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION = _ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION
 37012  type PACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION = uintptr
 37013  
 37014  type _COMPATIBILITY_CONTEXT_ELEMENT = struct {
 37015  	FId   GUID
 37016  	FType ACTCTX_COMPATIBILITY_ELEMENT_TYPE
 37017  }
 37018  
 37019  type COMPATIBILITY_CONTEXT_ELEMENT = _COMPATIBILITY_CONTEXT_ELEMENT
 37020  type PCOMPATIBILITY_CONTEXT_ELEMENT = uintptr
 37021  
 37022  type _ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION = struct {
 37023  	F__ccgo_pad1  [0]uint32
 37024  	FElementCount DWORD
 37025  }
 37026  
 37027  type ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION = _ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION
 37028  type PACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION = uintptr
 37029  
 37030  type _SUPPORTED_OS_INFO = struct {
 37031  	FOsCount         WORD
 37032  	FMitigationExist WORD
 37033  	FOsList          [4]WORD
 37034  }
 37035  
 37036  type SUPPORTED_OS_INFO = _SUPPORTED_OS_INFO
 37037  type PSUPPORTED_OS_INFO = uintptr
 37038  
 37039  type _ACTIVATION_CONTEXT_DETAILED_INFORMATION = struct {
 37040  	FdwFlags                      DWORD
 37041  	FulFormatVersion              DWORD
 37042  	FulAssemblyCount              DWORD
 37043  	FulRootManifestPathType       DWORD
 37044  	FulRootManifestPathChars      DWORD
 37045  	FulRootConfigurationPathType  DWORD
 37046  	FulRootConfigurationPathChars DWORD
 37047  	FulAppDirPathType             DWORD
 37048  	FulAppDirPathChars            DWORD
 37049  	F__ccgo_pad1                  [4]byte
 37050  	FlpRootManifestPath           PCWSTR
 37051  	FlpRootConfigurationPath      PCWSTR
 37052  	FlpAppDirPath                 PCWSTR
 37053  }
 37054  
 37055  type ACTIVATION_CONTEXT_DETAILED_INFORMATION = _ACTIVATION_CONTEXT_DETAILED_INFORMATION
 37056  type PACTIVATION_CONTEXT_DETAILED_INFORMATION = uintptr
 37057  
 37058  type PCACTIVATION_CONTEXT_QUERY_INDEX = uintptr
 37059  type PCASSEMBLY_FILE_DETAILED_INFORMATION = uintptr
 37060  type PCACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION = uintptr
 37061  type PCACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION = uintptr
 37062  type PCCOMPATIBILITY_CONTEXT_ELEMENT = uintptr
 37063  type PCACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION = uintptr
 37064  type PCACTIVATION_CONTEXT_DETAILED_INFORMATION = uintptr
 37065  
 37066  type RTL_VERIFIER_DLL_LOAD_CALLBACK = uintptr
 37067  type RTL_VERIFIER_DLL_UNLOAD_CALLBACK = uintptr
 37068  type RTL_VERIFIER_NTDLLHEAPFREE_CALLBACK = uintptr
 37069  
 37070  type _RTL_VERIFIER_THUNK_DESCRIPTOR = struct {
 37071  	FThunkName       PCHAR
 37072  	FThunkOldAddress PVOID
 37073  	FThunkNewAddress PVOID
 37074  }
 37075  
 37076  type RTL_VERIFIER_THUNK_DESCRIPTOR = _RTL_VERIFIER_THUNK_DESCRIPTOR
 37077  type PRTL_VERIFIER_THUNK_DESCRIPTOR = uintptr
 37078  
 37079  type _RTL_VERIFIER_DLL_DESCRIPTOR = struct {
 37080  	FDllName     PWCHAR
 37081  	FDllFlags    DWORD
 37082  	F__ccgo_pad1 [4]byte
 37083  	FDllAddress  PVOID
 37084  	FDllThunks   PRTL_VERIFIER_THUNK_DESCRIPTOR
 37085  }
 37086  
 37087  type RTL_VERIFIER_DLL_DESCRIPTOR = _RTL_VERIFIER_DLL_DESCRIPTOR
 37088  type PRTL_VERIFIER_DLL_DESCRIPTOR = uintptr
 37089  
 37090  type _RTL_VERIFIER_PROVIDER_DESCRIPTOR = struct {
 37091  	FLength                        DWORD
 37092  	F__ccgo_pad1                   [4]byte
 37093  	FProviderDlls                  PRTL_VERIFIER_DLL_DESCRIPTOR
 37094  	FProviderDllLoadCallback       RTL_VERIFIER_DLL_LOAD_CALLBACK
 37095  	FProviderDllUnloadCallback     RTL_VERIFIER_DLL_UNLOAD_CALLBACK
 37096  	FVerifierImage                 PWSTR
 37097  	FVerifierFlags                 DWORD
 37098  	FVerifierDebug                 DWORD
 37099  	FRtlpGetStackTraceAddress      PVOID
 37100  	FRtlpDebugPageHeapCreate       PVOID
 37101  	FRtlpDebugPageHeapDestroy      PVOID
 37102  	FProviderNtdllHeapFreeCallback RTL_VERIFIER_NTDLLHEAPFREE_CALLBACK
 37103  }
 37104  
 37105  type RTL_VERIFIER_PROVIDER_DESCRIPTOR = _RTL_VERIFIER_PROVIDER_DESCRIPTOR
 37106  type PRTL_VERIFIER_PROVIDER_DESCRIPTOR = uintptr
 37107  
 37108  type _HARDWARE_COUNTER_DATA = struct {
 37109  	FType     HARDWARE_COUNTER_TYPE
 37110  	FReserved DWORD
 37111  	FValue    DWORD64
 37112  }
 37113  
 37114  type HARDWARE_COUNTER_DATA = _HARDWARE_COUNTER_DATA
 37115  type PHARDWARE_COUNTER_DATA = uintptr
 37116  
 37117  type _PERFORMANCE_DATA = struct {
 37118  	FSize               WORD
 37119  	FVersion            BYTE
 37120  	FHwCountersCount    BYTE
 37121  	FContextSwitchCount DWORD
 37122  	FWaitReasonBitMap   DWORD64
 37123  	FCycleTime          DWORD64
 37124  	FRetryCount         DWORD
 37125  	FReserved           DWORD
 37126  	FHwCounters         [16]HARDWARE_COUNTER_DATA
 37127  }
 37128  
 37129  type PERFORMANCE_DATA = _PERFORMANCE_DATA
 37130  type PPERFORMANCE_DATA = uintptr
 37131  
 37132  type _EVENTLOGRECORD = struct {
 37133  	FLength              DWORD
 37134  	FReserved            DWORD
 37135  	FRecordNumber        DWORD
 37136  	FTimeGenerated       DWORD
 37137  	FTimeWritten         DWORD
 37138  	FEventID             DWORD
 37139  	FEventType           WORD
 37140  	FNumStrings          WORD
 37141  	FEventCategory       WORD
 37142  	FReservedFlags       WORD
 37143  	FClosingRecordNumber DWORD
 37144  	FStringOffset        DWORD
 37145  	FUserSidLength       DWORD
 37146  	FUserSidOffset       DWORD
 37147  	FDataLength          DWORD
 37148  	FDataOffset          DWORD
 37149  }
 37150  
 37151  type EVENTLOGRECORD = _EVENTLOGRECORD
 37152  type PEVENTLOGRECORD = uintptr
 37153  
 37154  type _EVENTSFORLOGFILE = struct {
 37155  	F__ccgo_pad1      [0]uint32
 37156  	FulSize           DWORD
 37157  	FszLogicalLogFile [256]WCHAR
 37158  	FulNumRecords     DWORD
 37159  }
 37160  
 37161  type EVENTSFORLOGFILE = _EVENTSFORLOGFILE
 37162  type PEVENTSFORLOGFILE = uintptr
 37163  
 37164  type _PACKEDEVENTINFO = struct {
 37165  	F__ccgo_pad1           [0]uint32
 37166  	FulSize                DWORD
 37167  	FulNumEventsForLogFile DWORD
 37168  }
 37169  
 37170  type PACKEDEVENTINFO = _PACKEDEVENTINFO
 37171  type PPACKEDEVENTINFO = uintptr
 37172  
 37173  type SERVICE_NODE_TYPE = uint32
 37174  
 37175  type SERVICE_LOAD_TYPE = uint32
 37176  
 37177  type SERVICE_ERROR_TYPE = uint32
 37178  
 37179  type _TAPE_ERASE = struct {
 37180  	FType        DWORD
 37181  	FImmediate   BOOLEAN
 37182  	F__ccgo_pad1 [3]byte
 37183  }
 37184  
 37185  type TAPE_ERASE = _TAPE_ERASE
 37186  type PTAPE_ERASE = uintptr
 37187  
 37188  type _TAPE_PREPARE = struct {
 37189  	FOperation   DWORD
 37190  	FImmediate   BOOLEAN
 37191  	F__ccgo_pad1 [3]byte
 37192  }
 37193  
 37194  type TAPE_PREPARE = _TAPE_PREPARE
 37195  type PTAPE_PREPARE = uintptr
 37196  
 37197  type _TAPE_WRITE_MARKS = struct {
 37198  	FType        DWORD
 37199  	FCount       DWORD
 37200  	FImmediate   BOOLEAN
 37201  	F__ccgo_pad1 [3]byte
 37202  }
 37203  
 37204  type TAPE_WRITE_MARKS = _TAPE_WRITE_MARKS
 37205  type PTAPE_WRITE_MARKS = uintptr
 37206  
 37207  type _TAPE_GET_POSITION = struct {
 37208  	FType      DWORD
 37209  	FPartition DWORD
 37210  	FOffset    LARGE_INTEGER
 37211  }
 37212  
 37213  type TAPE_GET_POSITION = _TAPE_GET_POSITION
 37214  type PTAPE_GET_POSITION = uintptr
 37215  
 37216  type _TAPE_SET_POSITION = struct {
 37217  	FMethod      DWORD
 37218  	FPartition   DWORD
 37219  	FOffset      LARGE_INTEGER
 37220  	FImmediate   BOOLEAN
 37221  	F__ccgo_pad1 [7]byte
 37222  }
 37223  
 37224  type TAPE_SET_POSITION = _TAPE_SET_POSITION
 37225  type PTAPE_SET_POSITION = uintptr
 37226  
 37227  type _TAPE_GET_DRIVE_PARAMETERS = struct {
 37228  	FECC                   BOOLEAN
 37229  	FCompression           BOOLEAN
 37230  	FDataPadding           BOOLEAN
 37231  	FReportSetmarks        BOOLEAN
 37232  	FDefaultBlockSize      DWORD
 37233  	FMaximumBlockSize      DWORD
 37234  	FMinimumBlockSize      DWORD
 37235  	FMaximumPartitionCount DWORD
 37236  	FFeaturesLow           DWORD
 37237  	FFeaturesHigh          DWORD
 37238  	FEOTWarningZoneSize    DWORD
 37239  }
 37240  
 37241  type TAPE_GET_DRIVE_PARAMETERS = _TAPE_GET_DRIVE_PARAMETERS
 37242  type PTAPE_GET_DRIVE_PARAMETERS = uintptr
 37243  
 37244  type _TAPE_SET_DRIVE_PARAMETERS = struct {
 37245  	FECC                BOOLEAN
 37246  	FCompression        BOOLEAN
 37247  	FDataPadding        BOOLEAN
 37248  	FReportSetmarks     BOOLEAN
 37249  	FEOTWarningZoneSize DWORD
 37250  }
 37251  
 37252  type TAPE_SET_DRIVE_PARAMETERS = _TAPE_SET_DRIVE_PARAMETERS
 37253  type PTAPE_SET_DRIVE_PARAMETERS = uintptr
 37254  
 37255  type _TAPE_GET_MEDIA_PARAMETERS = struct {
 37256  	FCapacity       LARGE_INTEGER
 37257  	FRemaining      LARGE_INTEGER
 37258  	FBlockSize      DWORD
 37259  	FPartitionCount DWORD
 37260  	FWriteProtected BOOLEAN
 37261  	F__ccgo_pad1    [7]byte
 37262  }
 37263  
 37264  type TAPE_GET_MEDIA_PARAMETERS = _TAPE_GET_MEDIA_PARAMETERS
 37265  type PTAPE_GET_MEDIA_PARAMETERS = uintptr
 37266  
 37267  type _TAPE_SET_MEDIA_PARAMETERS = struct{ FBlockSize DWORD }
 37268  
 37269  type TAPE_SET_MEDIA_PARAMETERS = _TAPE_SET_MEDIA_PARAMETERS
 37270  type PTAPE_SET_MEDIA_PARAMETERS = uintptr
 37271  
 37272  type _TAPE_CREATE_PARTITION = struct {
 37273  	FMethod DWORD
 37274  	FCount  DWORD
 37275  	FSize   DWORD
 37276  }
 37277  
 37278  type TAPE_CREATE_PARTITION = _TAPE_CREATE_PARTITION
 37279  type PTAPE_CREATE_PARTITION = uintptr
 37280  
 37281  type _TAPE_WMI_OPERATIONS = struct {
 37282  	FMethod         DWORD
 37283  	FDataBufferSize DWORD
 37284  	FDataBuffer     PVOID
 37285  }
 37286  
 37287  type TAPE_WMI_OPERATIONS = _TAPE_WMI_OPERATIONS
 37288  type PTAPE_WMI_OPERATIONS = uintptr
 37289  
 37290  type TAPE_DRIVE_PROBLEM_TYPE = uint32
 37291  
 37292  type TP_VERSION = DWORD
 37293  type PTP_VERSION = uintptr
 37294  type PTP_CALLBACK_INSTANCE = uintptr
 37295  type PTP_SIMPLE_CALLBACK = uintptr
 37296  type PTP_POOL = uintptr
 37297  
 37298  type TP_CALLBACK_PRIORITY = uint32
 37299  
 37300  type _TP_POOL_STACK_INFORMATION = struct {
 37301  	FStackReserve SIZE_T
 37302  	FStackCommit  SIZE_T
 37303  }
 37304  
 37305  type TP_POOL_STACK_INFORMATION = _TP_POOL_STACK_INFORMATION
 37306  type PTP_POOL_STACK_INFORMATION = uintptr
 37307  type PTP_CLEANUP_GROUP = uintptr
 37308  type PTP_CLEANUP_GROUP_CANCEL_CALLBACK = uintptr
 37309  
 37310  type _TP_CALLBACK_ENVIRON_V1 = struct {
 37311  	FVersion                    TP_VERSION
 37312  	F__ccgo_pad1                [4]byte
 37313  	FPool                       PTP_POOL
 37314  	FCleanupGroup               PTP_CLEANUP_GROUP
 37315  	FCleanupGroupCancelCallback PTP_CLEANUP_GROUP_CANCEL_CALLBACK
 37316  	FRaceDll                    PVOID
 37317  	FActivationContext          uintptr
 37318  	FFinalizationCallback       PTP_SIMPLE_CALLBACK
 37319  	Fu                          struct{ FFlags DWORD }
 37320  	F__ccgo_pad2                [4]byte
 37321  }
 37322  
 37323  type TP_CALLBACK_ENVIRON_V1 = _TP_CALLBACK_ENVIRON_V1
 37324  type TP_CALLBACK_ENVIRON = TP_CALLBACK_ENVIRON_V1
 37325  type PTP_CALLBACK_ENVIRON = uintptr
 37326  type PTP_WORK = uintptr
 37327  type PTP_WORK_CALLBACK = uintptr
 37328  type PTP_TIMER = uintptr
 37329  type PTP_TIMER_CALLBACK = uintptr
 37330  type TP_WAIT_RESULT = DWORD
 37331  type PTP_WAIT = uintptr
 37332  type PTP_WAIT_CALLBACK = uintptr
 37333  type PTP_IO = uintptr
 37334  
 37335  type CRM_PROTOCOL_ID = GUID
 37336  type PCRM_PROTOCOL_ID = uintptr
 37337  
 37338  type NOTIFICATION_MASK = ULONG
 37339  
 37340  type _TRANSACTION_NOTIFICATION = struct {
 37341  	FTransactionKey          PVOID
 37342  	FTransactionNotification ULONG
 37343  	F__ccgo_pad1             [4]byte
 37344  	FTmVirtualClock          LARGE_INTEGER
 37345  	FArgumentLength          ULONG
 37346  	F__ccgo_pad2             [4]byte
 37347  }
 37348  
 37349  type TRANSACTION_NOTIFICATION = _TRANSACTION_NOTIFICATION
 37350  type PTRANSACTION_NOTIFICATION = uintptr
 37351  
 37352  type _TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT = struct {
 37353  	FEnlistmentId GUID
 37354  	FUOW          GUID
 37355  }
 37356  
 37357  type TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT = _TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT
 37358  type PTRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT = uintptr
 37359  
 37360  type _TRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT = struct {
 37361  	FTmIdentity GUID
 37362  	FFlags      ULONG
 37363  }
 37364  
 37365  type TRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT = _TRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT
 37366  type PTRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT = uintptr
 37367  
 37368  type SAVEPOINT_ID = ULONG
 37369  type PSAVEPOINT_ID = uintptr
 37370  
 37371  type _TRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT = struct{ FSavepointId SAVEPOINT_ID }
 37372  
 37373  type TRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT = _TRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT
 37374  type PTRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT = uintptr
 37375  
 37376  type _TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT = struct {
 37377  	FPropagationCookie ULONG
 37378  	FUOW               GUID
 37379  	FTmIdentity        GUID
 37380  	FBufferLength      ULONG
 37381  }
 37382  
 37383  type TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT = _TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT
 37384  type PTRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT = uintptr
 37385  
 37386  type _TRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT = struct {
 37387  	FMarshalCookie ULONG
 37388  	FUOW           GUID
 37389  }
 37390  
 37391  type TRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT = _TRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT
 37392  type PTRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT = uintptr
 37393  
 37394  type TRANSACTION_NOTIFICATION_PROMOTE_ARGUMENT = TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT
 37395  type PTRANSACTION_NOTIFICATION_PROMOTE_ARGUMENT = uintptr
 37396  
 37397  type _KCRM_MARSHAL_HEADER = struct {
 37398  	FVersionMajor ULONG
 37399  	FVersionMinor ULONG
 37400  	FNumProtocols ULONG
 37401  	FUnused       ULONG
 37402  }
 37403  
 37404  type KCRM_MARSHAL_HEADER = _KCRM_MARSHAL_HEADER
 37405  type PKCRM_MARSHAL_HEADER = uintptr
 37406  type PRKCRM_MARSHAL_HEADER = uintptr
 37407  
 37408  type _KCRM_TRANSACTION_BLOB = struct {
 37409  	FUOW            GUID
 37410  	FTmIdentity     GUID
 37411  	FIsolationLevel ULONG
 37412  	FIsolationFlags ULONG
 37413  	FTimeout        ULONG
 37414  	FDescription    [64]WCHAR
 37415  }
 37416  
 37417  type KCRM_TRANSACTION_BLOB = _KCRM_TRANSACTION_BLOB
 37418  type PKCRM_TRANSACTION_BLOB = uintptr
 37419  type PRKCRM_TRANSACTION_BLOB = uintptr
 37420  
 37421  type _KCRM_PROTOCOL_BLOB = struct {
 37422  	FProtocolId              CRM_PROTOCOL_ID
 37423  	FStaticInfoLength        ULONG
 37424  	FTransactionIdInfoLength ULONG
 37425  	FUnused1                 ULONG
 37426  	FUnused2                 ULONG
 37427  }
 37428  
 37429  type KCRM_PROTOCOL_BLOB = _KCRM_PROTOCOL_BLOB
 37430  type PKCRM_PROTOCOL_BLOB = uintptr
 37431  type PRKCRM_PROTOCOL_BLOB = uintptr
 37432  
 37433  type TRANSACTION_OUTCOME = uint32
 37434  
 37435  type TRANSACTION_STATE = uint32
 37436  
 37437  type _TRANSACTION_BASIC_INFORMATION = struct {
 37438  	FTransactionId GUID
 37439  	FState         DWORD
 37440  	FOutcome       DWORD
 37441  }
 37442  
 37443  type TRANSACTION_BASIC_INFORMATION = _TRANSACTION_BASIC_INFORMATION
 37444  type PTRANSACTION_BASIC_INFORMATION = uintptr
 37445  
 37446  type _TRANSACTIONMANAGER_BASIC_INFORMATION = struct {
 37447  	FTmIdentity   GUID
 37448  	FVirtualClock LARGE_INTEGER
 37449  }
 37450  
 37451  type TRANSACTIONMANAGER_BASIC_INFORMATION = _TRANSACTIONMANAGER_BASIC_INFORMATION
 37452  type PTRANSACTIONMANAGER_BASIC_INFORMATION = uintptr
 37453  
 37454  type _TRANSACTIONMANAGER_LOG_INFORMATION = struct{ FLogIdentity GUID }
 37455  
 37456  type TRANSACTIONMANAGER_LOG_INFORMATION = _TRANSACTIONMANAGER_LOG_INFORMATION
 37457  type PTRANSACTIONMANAGER_LOG_INFORMATION = uintptr
 37458  
 37459  type _TRANSACTIONMANAGER_LOGPATH_INFORMATION = struct {
 37460  	FLogPathLength DWORD
 37461  	FLogPath       [1]WCHAR
 37462  	F__ccgo_pad1   [2]byte
 37463  }
 37464  
 37465  type TRANSACTIONMANAGER_LOGPATH_INFORMATION = _TRANSACTIONMANAGER_LOGPATH_INFORMATION
 37466  type PTRANSACTIONMANAGER_LOGPATH_INFORMATION = uintptr
 37467  
 37468  type _TRANSACTIONMANAGER_RECOVERY_INFORMATION = struct{ FLastRecoveredLsn ULONGLONG }
 37469  
 37470  type TRANSACTIONMANAGER_RECOVERY_INFORMATION = _TRANSACTIONMANAGER_RECOVERY_INFORMATION
 37471  type PTRANSACTIONMANAGER_RECOVERY_INFORMATION = uintptr
 37472  
 37473  type _TRANSACTIONMANAGER_OLDEST_INFORMATION = struct{ FOldestTransactionGuid GUID }
 37474  
 37475  type TRANSACTIONMANAGER_OLDEST_INFORMATION = _TRANSACTIONMANAGER_OLDEST_INFORMATION
 37476  type PTRANSACTIONMANAGER_OLDEST_INFORMATION = uintptr
 37477  
 37478  type _TRANSACTION_PROPERTIES_INFORMATION = struct {
 37479  	FIsolationLevel    DWORD
 37480  	FIsolationFlags    DWORD
 37481  	FTimeout           LARGE_INTEGER
 37482  	FOutcome           DWORD
 37483  	FDescriptionLength DWORD
 37484  	FDescription       [1]WCHAR
 37485  	F__ccgo_pad1       [6]byte
 37486  }
 37487  
 37488  type TRANSACTION_PROPERTIES_INFORMATION = _TRANSACTION_PROPERTIES_INFORMATION
 37489  type PTRANSACTION_PROPERTIES_INFORMATION = uintptr
 37490  
 37491  type _TRANSACTION_BIND_INFORMATION = struct{ FTmHandle HANDLE }
 37492  
 37493  type TRANSACTION_BIND_INFORMATION = _TRANSACTION_BIND_INFORMATION
 37494  type PTRANSACTION_BIND_INFORMATION = uintptr
 37495  
 37496  type _TRANSACTION_ENLISTMENT_PAIR = struct {
 37497  	FEnlistmentId      GUID
 37498  	FResourceManagerId GUID
 37499  }
 37500  
 37501  type TRANSACTION_ENLISTMENT_PAIR = _TRANSACTION_ENLISTMENT_PAIR
 37502  type PTRANSACTION_ENLISTMENT_PAIR = uintptr
 37503  
 37504  type _TRANSACTION_ENLISTMENTS_INFORMATION = struct {
 37505  	FNumberOfEnlistments DWORD
 37506  	FEnlistmentPair      [1]TRANSACTION_ENLISTMENT_PAIR
 37507  }
 37508  
 37509  type TRANSACTION_ENLISTMENTS_INFORMATION = _TRANSACTION_ENLISTMENTS_INFORMATION
 37510  type PTRANSACTION_ENLISTMENTS_INFORMATION = uintptr
 37511  
 37512  type _TRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION = struct{ FSuperiorEnlistmentPair TRANSACTION_ENLISTMENT_PAIR }
 37513  
 37514  type TRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION = _TRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION
 37515  type PTRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION = uintptr
 37516  
 37517  type _RESOURCEMANAGER_BASIC_INFORMATION = struct {
 37518  	FResourceManagerId GUID
 37519  	FDescriptionLength DWORD
 37520  	FDescription       [1]WCHAR
 37521  	F__ccgo_pad1       [2]byte
 37522  }
 37523  
 37524  type RESOURCEMANAGER_BASIC_INFORMATION = _RESOURCEMANAGER_BASIC_INFORMATION
 37525  type PRESOURCEMANAGER_BASIC_INFORMATION = uintptr
 37526  
 37527  type _RESOURCEMANAGER_COMPLETION_INFORMATION = struct {
 37528  	FIoCompletionPortHandle HANDLE
 37529  	FCompletionKey          ULONG_PTR
 37530  }
 37531  
 37532  type RESOURCEMANAGER_COMPLETION_INFORMATION = _RESOURCEMANAGER_COMPLETION_INFORMATION
 37533  type PRESOURCEMANAGER_COMPLETION_INFORMATION = uintptr
 37534  
 37535  type TRANSACTION_INFORMATION_CLASS = uint32
 37536  
 37537  type TRANSACTIONMANAGER_INFORMATION_CLASS = uint32
 37538  
 37539  type RESOURCEMANAGER_INFORMATION_CLASS = uint32
 37540  
 37541  type _ENLISTMENT_BASIC_INFORMATION = struct {
 37542  	FEnlistmentId      GUID
 37543  	FTransactionId     GUID
 37544  	FResourceManagerId GUID
 37545  }
 37546  
 37547  type ENLISTMENT_BASIC_INFORMATION = _ENLISTMENT_BASIC_INFORMATION
 37548  type PENLISTMENT_BASIC_INFORMATION = uintptr
 37549  
 37550  type _ENLISTMENT_CRM_INFORMATION = struct {
 37551  	FCrmTransactionManagerId GUID
 37552  	FCrmResourceManagerId    GUID
 37553  	FCrmEnlistmentId         GUID
 37554  }
 37555  
 37556  type ENLISTMENT_CRM_INFORMATION = _ENLISTMENT_CRM_INFORMATION
 37557  type PENLISTMENT_CRM_INFORMATION = uintptr
 37558  
 37559  type ENLISTMENT_INFORMATION_CLASS = uint32
 37560  
 37561  type _TRANSACTION_LIST_ENTRY = struct{ FUOW GUID }
 37562  
 37563  type TRANSACTION_LIST_ENTRY = _TRANSACTION_LIST_ENTRY
 37564  type PTRANSACTION_LIST_ENTRY = uintptr
 37565  
 37566  type _TRANSACTION_LIST_INFORMATION = struct {
 37567  	FNumberOfTransactions   DWORD
 37568  	FTransactionInformation [1]TRANSACTION_LIST_ENTRY
 37569  }
 37570  
 37571  type TRANSACTION_LIST_INFORMATION = _TRANSACTION_LIST_INFORMATION
 37572  type PTRANSACTION_LIST_INFORMATION = uintptr
 37573  
 37574  type KTMOBJECT_TYPE = uint32
 37575  type PKTMOBJECT_TYPE = uintptr
 37576  
 37577  type _KTMOBJECT_CURSOR = struct {
 37578  	FLastQuery     GUID
 37579  	FObjectIdCount DWORD
 37580  	FObjectIds     [1]GUID
 37581  }
 37582  
 37583  type KTMOBJECT_CURSOR = _KTMOBJECT_CURSOR
 37584  type PKTMOBJECT_CURSOR = uintptr
 37585  
 37586  type _WOW64_FLOATING_SAVE_AREA = struct {
 37587  	FControlWord   DWORD
 37588  	FStatusWord    DWORD
 37589  	FTagWord       DWORD
 37590  	FErrorOffset   DWORD
 37591  	FErrorSelector DWORD
 37592  	FDataOffset    DWORD
 37593  	FDataSelector  DWORD
 37594  	FRegisterArea  [80]BYTE
 37595  	FCr0NpxState   DWORD
 37596  }
 37597  
 37598  type WOW64_FLOATING_SAVE_AREA = _WOW64_FLOATING_SAVE_AREA
 37599  type PWOW64_FLOATING_SAVE_AREA = uintptr
 37600  
 37601  type _WOW64_CONTEXT = struct {
 37602  	FContextFlags      DWORD
 37603  	FDr0               DWORD
 37604  	FDr1               DWORD
 37605  	FDr2               DWORD
 37606  	FDr3               DWORD
 37607  	FDr6               DWORD
 37608  	FDr7               DWORD
 37609  	FFloatSave         WOW64_FLOATING_SAVE_AREA
 37610  	FSegGs             DWORD
 37611  	FSegFs             DWORD
 37612  	FSegEs             DWORD
 37613  	FSegDs             DWORD
 37614  	FEdi               DWORD
 37615  	FEsi               DWORD
 37616  	FEbx               DWORD
 37617  	FEdx               DWORD
 37618  	FEcx               DWORD
 37619  	FEax               DWORD
 37620  	FEbp               DWORD
 37621  	FEip               DWORD
 37622  	FSegCs             DWORD
 37623  	FEFlags            DWORD
 37624  	FEsp               DWORD
 37625  	FSegSs             DWORD
 37626  	FExtendedRegisters [512]BYTE
 37627  }
 37628  
 37629  type WOW64_CONTEXT = _WOW64_CONTEXT
 37630  type PWOW64_CONTEXT = uintptr
 37631  
 37632  type _WOW64_LDT_ENTRY = struct {
 37633  	FLimitLow WORD
 37634  	FBaseLow  WORD
 37635  	FHighWord struct {
 37636  		F__ccgo_pad1 [0]uint32
 37637  		FBytes       struct {
 37638  			FBaseMid BYTE
 37639  			FFlags1  BYTE
 37640  			FFlags2  BYTE
 37641  			FBaseHi  BYTE
 37642  		}
 37643  	}
 37644  }
 37645  
 37646  type WOW64_LDT_ENTRY = _WOW64_LDT_ENTRY
 37647  type PWOW64_LDT_ENTRY = uintptr
 37648  
 37649  type _WOW64_DESCRIPTOR_TABLE_ENTRY = struct {
 37650  	FSelector   DWORD
 37651  	FDescriptor WOW64_LDT_ENTRY
 37652  }
 37653  
 37654  type WOW64_DESCRIPTOR_TABLE_ENTRY = _WOW64_DESCRIPTOR_TABLE_ENTRY
 37655  type PWOW64_DESCRIPTOR_TABLE_ENTRY = uintptr
 37656  
 37657  type WPARAM = UINT_PTR
 37658  type LPARAM = LONG_PTR
 37659  type LRESULT = LONG_PTR
 37660  
 37661  type SPHANDLE = uintptr
 37662  type LPHANDLE = uintptr
 37663  type HGLOBAL = HANDLE
 37664  type HLOCAL = HANDLE
 37665  type GLOBALHANDLE = HANDLE
 37666  type LOCALHANDLE = HANDLE
 37667  type FARPROC = uintptr
 37668  type NEARPROC = uintptr
 37669  type PROC = uintptr
 37670  
 37671  type ATOM = WORD
 37672  
 37673  type HFILE = int32
 37674  type HINSTANCE__ = struct{ Funused int32 }
 37675  
 37676  type HINSTANCE = uintptr
 37677  type HKEY__ = struct{ Funused int32 }
 37678  
 37679  type HKEY = uintptr
 37680  type PHKEY = uintptr
 37681  type HKL__ = struct{ Funused int32 }
 37682  
 37683  type HKL = uintptr
 37684  type HLSURF__ = struct{ Funused int32 }
 37685  
 37686  type HLSURF = uintptr
 37687  type HMETAFILE__ = struct{ Funused int32 }
 37688  
 37689  type HMETAFILE = uintptr
 37690  type HMODULE = HINSTANCE
 37691  type HRGN__ = struct{ Funused int32 }
 37692  
 37693  type HRGN = uintptr
 37694  type HRSRC__ = struct{ Funused int32 }
 37695  
 37696  type HRSRC = uintptr
 37697  type HSPRITE__ = struct{ Funused int32 }
 37698  
 37699  type HSPRITE = uintptr
 37700  type HSTR__ = struct{ Funused int32 }
 37701  
 37702  type HSTR = uintptr
 37703  type HTASK__ = struct{ Funused int32 }
 37704  
 37705  type HTASK = uintptr
 37706  type HWINSTA__ = struct{ Funused int32 }
 37707  
 37708  type HWINSTA = uintptr
 37709  
 37710  type _FILETIME = struct {
 37711  	FdwLowDateTime  DWORD
 37712  	FdwHighDateTime DWORD
 37713  }
 37714  
 37715  type FILETIME = _FILETIME
 37716  type PFILETIME = uintptr
 37717  type LPFILETIME = uintptr
 37718  
 37719  type HWND__ = struct{ Funused int32 }
 37720  
 37721  type HWND = uintptr
 37722  type HHOOK__ = struct{ Funused int32 }
 37723  
 37724  type HHOOK = uintptr
 37725  
 37726  type HGDIOBJ = uintptr
 37727  
 37728  type HACCEL__ = struct{ Funused int32 }
 37729  
 37730  type HACCEL = uintptr
 37731  type HBITMAP__ = struct{ Funused int32 }
 37732  
 37733  type HBITMAP = uintptr
 37734  type HBRUSH__ = struct{ Funused int32 }
 37735  
 37736  type HBRUSH = uintptr
 37737  type HCOLORSPACE__ = struct{ Funused int32 }
 37738  
 37739  type HCOLORSPACE = uintptr
 37740  type HDC__ = struct{ Funused int32 }
 37741  
 37742  type HDC = uintptr
 37743  type HGLRC__ = struct{ Funused int32 }
 37744  
 37745  type HGLRC = uintptr
 37746  type HDESK__ = struct{ Funused int32 }
 37747  
 37748  type HDESK = uintptr
 37749  type HENHMETAFILE__ = struct{ Funused int32 }
 37750  
 37751  type HENHMETAFILE = uintptr
 37752  type HFONT__ = struct{ Funused int32 }
 37753  
 37754  type HFONT = uintptr
 37755  type HICON__ = struct{ Funused int32 }
 37756  
 37757  type HICON = uintptr
 37758  type HMENU__ = struct{ Funused int32 }
 37759  
 37760  type HMENU = uintptr
 37761  type HPALETTE__ = struct{ Funused int32 }
 37762  
 37763  type HPALETTE = uintptr
 37764  type HPEN__ = struct{ Funused int32 }
 37765  
 37766  type HPEN = uintptr
 37767  type HMONITOR__ = struct{ Funused int32 }
 37768  
 37769  type HMONITOR = uintptr
 37770  type HWINEVENTHOOK__ = struct{ Funused int32 }
 37771  
 37772  type HWINEVENTHOOK = uintptr
 37773  
 37774  type HCURSOR = HICON
 37775  type COLORREF = DWORD
 37776  
 37777  type HUMPD__ = struct{ Funused int32 }
 37778  
 37779  type HUMPD = uintptr
 37780  
 37781  type LPCOLORREF = uintptr
 37782  
 37783  type tagRECT = struct {
 37784  	Fleft   LONG
 37785  	Ftop    LONG
 37786  	Fright  LONG
 37787  	Fbottom LONG
 37788  }
 37789  
 37790  type RECT = tagRECT
 37791  type PRECT = uintptr
 37792  type NPRECT = uintptr
 37793  type LPRECT = uintptr
 37794  
 37795  type LPCRECT = uintptr
 37796  
 37797  type _RECTL = struct {
 37798  	Fleft   LONG
 37799  	Ftop    LONG
 37800  	Fright  LONG
 37801  	Fbottom LONG
 37802  }
 37803  
 37804  type RECTL = _RECTL
 37805  type PRECTL = uintptr
 37806  type LPRECTL = uintptr
 37807  
 37808  type LPCRECTL = uintptr
 37809  
 37810  type tagPOINT = struct {
 37811  	Fx LONG
 37812  	Fy LONG
 37813  }
 37814  
 37815  type POINT = tagPOINT
 37816  type PPOINT = uintptr
 37817  type NPPOINT = uintptr
 37818  type LPPOINT = uintptr
 37819  
 37820  type _POINTL = struct {
 37821  	Fx LONG
 37822  	Fy LONG
 37823  }
 37824  
 37825  type POINTL = _POINTL
 37826  type PPOINTL = uintptr
 37827  
 37828  type tagSIZE = struct {
 37829  	Fcx LONG
 37830  	Fcy LONG
 37831  }
 37832  
 37833  type SIZE = tagSIZE
 37834  type PSIZE = uintptr
 37835  type LPSIZE = uintptr
 37836  
 37837  type SIZEL = SIZE
 37838  type PSIZEL = uintptr
 37839  type LPSIZEL = uintptr
 37840  
 37841  type tagPOINTS = struct {
 37842  	Fx SHORT
 37843  	Fy SHORT
 37844  }
 37845  
 37846  type POINTS = tagPOINTS
 37847  type PPOINTS = uintptr
 37848  type LPPOINTS = uintptr
 37849  
 37850  type APP_LOCAL_DEVICE_ID1 = struct{ Fvalue [32]BYTE }
 37851  
 37852  type APP_LOCAL_DEVICE_ID = APP_LOCAL_DEVICE_ID1
 37853  
 37854  type DPI_AWARENESS_CONTEXT__ = struct{ Funused int32 }
 37855  
 37856  type DPI_AWARENESS_CONTEXT = uintptr
 37857  
 37858  type DPI_AWARENESS = int32
 37859  
 37860  type DPI_HOSTING_BEHAVIOR = int32
 37861  
 37862  type _SECURITY_ATTRIBUTES = struct {
 37863  	FnLength              DWORD
 37864  	F__ccgo_pad1          [4]byte
 37865  	FlpSecurityDescriptor LPVOID
 37866  	FbInheritHandle       WINBOOL
 37867  	F__ccgo_pad2          [4]byte
 37868  }
 37869  
 37870  type SECURITY_ATTRIBUTES = _SECURITY_ATTRIBUTES
 37871  type PSECURITY_ATTRIBUTES = uintptr
 37872  type LPSECURITY_ATTRIBUTES = uintptr
 37873  
 37874  type _OVERLAPPED = struct {
 37875  	FInternal     ULONG_PTR
 37876  	FInternalHigh ULONG_PTR
 37877  	Fu            struct {
 37878  		F__ccgo_pad1 [0]uint64
 37879  		Fs           struct {
 37880  			FOffset     DWORD
 37881  			FOffsetHigh DWORD
 37882  		}
 37883  	}
 37884  	FhEvent HANDLE
 37885  }
 37886  
 37887  type OVERLAPPED = _OVERLAPPED
 37888  type LPOVERLAPPED = uintptr
 37889  
 37890  type _OVERLAPPED_ENTRY = struct {
 37891  	FlpCompletionKey            ULONG_PTR
 37892  	FlpOverlapped               LPOVERLAPPED
 37893  	FInternal                   ULONG_PTR
 37894  	FdwNumberOfBytesTransferred DWORD
 37895  	F__ccgo_pad1                [4]byte
 37896  }
 37897  
 37898  type OVERLAPPED_ENTRY = _OVERLAPPED_ENTRY
 37899  type LPOVERLAPPED_ENTRY = uintptr
 37900  
 37901  type _SYSTEMTIME = struct {
 37902  	FwYear         WORD
 37903  	FwMonth        WORD
 37904  	FwDayOfWeek    WORD
 37905  	FwDay          WORD
 37906  	FwHour         WORD
 37907  	FwMinute       WORD
 37908  	FwSecond       WORD
 37909  	FwMilliseconds WORD
 37910  }
 37911  
 37912  type SYSTEMTIME = _SYSTEMTIME
 37913  type PSYSTEMTIME = uintptr
 37914  type LPSYSTEMTIME = uintptr
 37915  
 37916  type _WIN32_FIND_DATAA = struct {
 37917  	FdwFileAttributes   DWORD
 37918  	FftCreationTime     FILETIME
 37919  	FftLastAccessTime   FILETIME
 37920  	FftLastWriteTime    FILETIME
 37921  	FnFileSizeHigh      DWORD
 37922  	FnFileSizeLow       DWORD
 37923  	FdwReserved0        DWORD
 37924  	FdwReserved1        DWORD
 37925  	FcFileName          [260]CHAR
 37926  	FcAlternateFileName [14]CHAR
 37927  	F__ccgo_pad1        [2]byte
 37928  }
 37929  
 37930  type WIN32_FIND_DATAA = _WIN32_FIND_DATAA
 37931  type PWIN32_FIND_DATAA = uintptr
 37932  type LPWIN32_FIND_DATAA = uintptr
 37933  
 37934  type _WIN32_FIND_DATAW = struct {
 37935  	FdwFileAttributes   DWORD
 37936  	FftCreationTime     FILETIME
 37937  	FftLastAccessTime   FILETIME
 37938  	FftLastWriteTime    FILETIME
 37939  	FnFileSizeHigh      DWORD
 37940  	FnFileSizeLow       DWORD
 37941  	FdwReserved0        DWORD
 37942  	FdwReserved1        DWORD
 37943  	FcFileName          [260]WCHAR
 37944  	FcAlternateFileName [14]WCHAR
 37945  }
 37946  
 37947  type WIN32_FIND_DATAW = _WIN32_FIND_DATAW
 37948  type PWIN32_FIND_DATAW = uintptr
 37949  type LPWIN32_FIND_DATAW = uintptr
 37950  
 37951  type WIN32_FIND_DATA = WIN32_FIND_DATAA
 37952  type PWIN32_FIND_DATA = PWIN32_FIND_DATAA
 37953  type LPWIN32_FIND_DATA = LPWIN32_FIND_DATAA
 37954  
 37955  type FINDEX_INFO_LEVELS = uint32
 37956  
 37957  type FINDEX_SEARCH_OPS = uint32
 37958  
 37959  type GET_FILEEX_INFO_LEVELS = uint32
 37960  
 37961  type CRITICAL_SECTION = RTL_CRITICAL_SECTION
 37962  type PCRITICAL_SECTION = PRTL_CRITICAL_SECTION
 37963  type LPCRITICAL_SECTION = PRTL_CRITICAL_SECTION
 37964  type CRITICAL_SECTION_DEBUG = RTL_CRITICAL_SECTION_DEBUG
 37965  type PCRITICAL_SECTION_DEBUG = PRTL_CRITICAL_SECTION_DEBUG
 37966  type LPCRITICAL_SECTION_DEBUG = PRTL_CRITICAL_SECTION_DEBUG
 37967  
 37968  type LPOVERLAPPED_COMPLETION_ROUTINE = uintptr
 37969  
 37970  type _PROCESS_HEAP_ENTRY = struct {
 37971  	FlpData       PVOID
 37972  	FcbData       DWORD
 37973  	FcbOverhead   BYTE
 37974  	FiRegionIndex BYTE
 37975  	FwFlags       WORD
 37976  	Fu            struct {
 37977  		FBlock struct {
 37978  			FhMem        HANDLE
 37979  			FdwReserved  [3]DWORD
 37980  			F__ccgo_pad1 [4]byte
 37981  		}
 37982  	}
 37983  }
 37984  
 37985  type PROCESS_HEAP_ENTRY = _PROCESS_HEAP_ENTRY
 37986  type LPPROCESS_HEAP_ENTRY = uintptr
 37987  type PPROCESS_HEAP_ENTRY = uintptr
 37988  
 37989  type _REASON_CONTEXT = struct {
 37990  	FVersion ULONG
 37991  	FFlags   DWORD
 37992  	FReason  struct {
 37993  		FDetailed struct {
 37994  			FLocalizedReasonModule HMODULE
 37995  			FLocalizedReasonId     ULONG
 37996  			FReasonStringCount     ULONG
 37997  			FReasonStrings         uintptr
 37998  		}
 37999  	}
 38000  }
 38001  
 38002  type REASON_CONTEXT = _REASON_CONTEXT
 38003  type PREASON_CONTEXT = uintptr
 38004  
 38005  type PTHREAD_START_ROUTINE = uintptr
 38006  type LPTHREAD_START_ROUTINE = PTHREAD_START_ROUTINE
 38007  
 38008  type PENCLAVE_ROUTINE = uintptr
 38009  type LPENCLAVE_ROUTINE = PENCLAVE_ROUTINE
 38010  
 38011  type _EXCEPTION_DEBUG_INFO = struct {
 38012  	FExceptionRecord EXCEPTION_RECORD
 38013  	FdwFirstChance   DWORD
 38014  	F__ccgo_pad1     [4]byte
 38015  }
 38016  
 38017  type EXCEPTION_DEBUG_INFO = _EXCEPTION_DEBUG_INFO
 38018  type LPEXCEPTION_DEBUG_INFO = uintptr
 38019  
 38020  type _CREATE_THREAD_DEBUG_INFO = struct {
 38021  	FhThread           HANDLE
 38022  	FlpThreadLocalBase LPVOID
 38023  	FlpStartAddress    LPTHREAD_START_ROUTINE
 38024  }
 38025  
 38026  type CREATE_THREAD_DEBUG_INFO = _CREATE_THREAD_DEBUG_INFO
 38027  type LPCREATE_THREAD_DEBUG_INFO = uintptr
 38028  
 38029  type _CREATE_PROCESS_DEBUG_INFO = struct {
 38030  	FhFile                 HANDLE
 38031  	FhProcess              HANDLE
 38032  	FhThread               HANDLE
 38033  	FlpBaseOfImage         LPVOID
 38034  	FdwDebugInfoFileOffset DWORD
 38035  	FnDebugInfoSize        DWORD
 38036  	FlpThreadLocalBase     LPVOID
 38037  	FlpStartAddress        LPTHREAD_START_ROUTINE
 38038  	FlpImageName           LPVOID
 38039  	FfUnicode              WORD
 38040  	F__ccgo_pad1           [6]byte
 38041  }
 38042  
 38043  type CREATE_PROCESS_DEBUG_INFO = _CREATE_PROCESS_DEBUG_INFO
 38044  type LPCREATE_PROCESS_DEBUG_INFO = uintptr
 38045  
 38046  type _EXIT_THREAD_DEBUG_INFO = struct{ FdwExitCode DWORD }
 38047  
 38048  type EXIT_THREAD_DEBUG_INFO = _EXIT_THREAD_DEBUG_INFO
 38049  type LPEXIT_THREAD_DEBUG_INFO = uintptr
 38050  
 38051  type _EXIT_PROCESS_DEBUG_INFO = struct{ FdwExitCode DWORD }
 38052  
 38053  type EXIT_PROCESS_DEBUG_INFO = _EXIT_PROCESS_DEBUG_INFO
 38054  type LPEXIT_PROCESS_DEBUG_INFO = uintptr
 38055  
 38056  type _LOAD_DLL_DEBUG_INFO = struct {
 38057  	FhFile                 HANDLE
 38058  	FlpBaseOfDll           LPVOID
 38059  	FdwDebugInfoFileOffset DWORD
 38060  	FnDebugInfoSize        DWORD
 38061  	FlpImageName           LPVOID
 38062  	FfUnicode              WORD
 38063  	F__ccgo_pad1           [6]byte
 38064  }
 38065  
 38066  type LOAD_DLL_DEBUG_INFO = _LOAD_DLL_DEBUG_INFO
 38067  type LPLOAD_DLL_DEBUG_INFO = uintptr
 38068  
 38069  type _UNLOAD_DLL_DEBUG_INFO = struct{ FlpBaseOfDll LPVOID }
 38070  
 38071  type UNLOAD_DLL_DEBUG_INFO = _UNLOAD_DLL_DEBUG_INFO
 38072  type LPUNLOAD_DLL_DEBUG_INFO = uintptr
 38073  
 38074  type _OUTPUT_DEBUG_STRING_INFO = struct {
 38075  	FlpDebugStringData  LPSTR
 38076  	FfUnicode           WORD
 38077  	FnDebugStringLength WORD
 38078  	F__ccgo_pad1        [4]byte
 38079  }
 38080  
 38081  type OUTPUT_DEBUG_STRING_INFO = _OUTPUT_DEBUG_STRING_INFO
 38082  type LPOUTPUT_DEBUG_STRING_INFO = uintptr
 38083  
 38084  type _RIP_INFO = struct {
 38085  	FdwError DWORD
 38086  	FdwType  DWORD
 38087  }
 38088  
 38089  type RIP_INFO = _RIP_INFO
 38090  type LPRIP_INFO = uintptr
 38091  
 38092  type _DEBUG_EVENT = struct {
 38093  	FdwDebugEventCode DWORD
 38094  	FdwProcessId      DWORD
 38095  	FdwThreadId       DWORD
 38096  	F__ccgo_pad1      [4]byte
 38097  	Fu                struct{ FException EXCEPTION_DEBUG_INFO }
 38098  }
 38099  
 38100  type DEBUG_EVENT = _DEBUG_EVENT
 38101  type LPDEBUG_EVENT = uintptr
 38102  
 38103  type LPCONTEXT = PCONTEXT
 38104  type BEM_FREE_INTERFACE_CALLBACK = uintptr
 38105  
 38106  type PTOP_LEVEL_EXCEPTION_FILTER = uintptr
 38107  type LPTOP_LEVEL_EXCEPTION_FILTER = PTOP_LEVEL_EXCEPTION_FILTER
 38108  type _BY_HANDLE_FILE_INFORMATION = struct {
 38109  	FdwFileAttributes     DWORD
 38110  	FftCreationTime       FILETIME
 38111  	FftLastAccessTime     FILETIME
 38112  	FftLastWriteTime      FILETIME
 38113  	FdwVolumeSerialNumber DWORD
 38114  	FnFileSizeHigh        DWORD
 38115  	FnFileSizeLow         DWORD
 38116  	FnNumberOfLinks       DWORD
 38117  	FnFileIndexHigh       DWORD
 38118  	FnFileIndexLow        DWORD
 38119  }
 38120  
 38121  type BY_HANDLE_FILE_INFORMATION = _BY_HANDLE_FILE_INFORMATION
 38122  type PBY_HANDLE_FILE_INFORMATION = uintptr
 38123  type LPBY_HANDLE_FILE_INFORMATION = uintptr
 38124  
 38125  type _WIN32_FILE_ATTRIBUTE_DATA = struct {
 38126  	FdwFileAttributes DWORD
 38127  	FftCreationTime   FILETIME
 38128  	FftLastAccessTime FILETIME
 38129  	FftLastWriteTime  FILETIME
 38130  	FnFileSizeHigh    DWORD
 38131  	FnFileSizeLow     DWORD
 38132  }
 38133  
 38134  type WIN32_FILE_ATTRIBUTE_DATA = _WIN32_FILE_ATTRIBUTE_DATA
 38135  type LPWIN32_FILE_ATTRIBUTE_DATA = uintptr
 38136  
 38137  type _HEAP_SUMMARY = struct {
 38138  	Fcb           DWORD
 38139  	F__ccgo_pad1  [4]byte
 38140  	FcbAllocated  SIZE_T
 38141  	FcbCommitted  SIZE_T
 38142  	FcbReserved   SIZE_T
 38143  	FcbMaxReserve SIZE_T
 38144  }
 38145  
 38146  type HEAP_SUMMARY = _HEAP_SUMMARY
 38147  type PHEAP_SUMMARY = uintptr
 38148  
 38149  type LPHEAP_SUMMARY = PHEAP_SUMMARY
 38150  
 38151  type tagENUMUILANG = struct {
 38152  	FNumOfEnumUILang    ULONG
 38153  	FSizeOfEnumUIBuffer ULONG
 38154  	FpEnumUIBuffer      uintptr
 38155  }
 38156  
 38157  type ENUMUILANG = tagENUMUILANG
 38158  type PENUMUILANG = uintptr
 38159  
 38160  type ENUMRESLANGPROCA = uintptr
 38161  type ENUMRESLANGPROCW = uintptr
 38162  type ENUMRESNAMEPROCA = uintptr
 38163  type ENUMRESNAMEPROCW = uintptr
 38164  type ENUMRESTYPEPROCA = uintptr
 38165  type ENUMRESTYPEPROCW = uintptr
 38166  
 38167  type PGET_MODULE_HANDLE_EXA = uintptr
 38168  type PGET_MODULE_HANDLE_EXW = uintptr
 38169  
 38170  type DLL_DIRECTORY_COOKIE = PVOID
 38171  type PDLL_DIRECTORY_COOKIE = uintptr
 38172  
 38173  type _REDIRECTION_FUNCTION_DESCRIPTOR = struct {
 38174  	FDllName           PCSTR
 38175  	FFunctionName      PCSTR
 38176  	FRedirectionTarget PVOID
 38177  }
 38178  
 38179  type REDIRECTION_FUNCTION_DESCRIPTOR = _REDIRECTION_FUNCTION_DESCRIPTOR
 38180  type PREDIRECTION_FUNCTION_DESCRIPTOR = uintptr
 38181  
 38182  type PCREDIRECTION_FUNCTION_DESCRIPTOR = uintptr
 38183  
 38184  type _REDIRECTION_DESCRIPTOR = struct {
 38185  	FVersion       ULONG
 38186  	FFunctionCount ULONG
 38187  	FRedirections  PCREDIRECTION_FUNCTION_DESCRIPTOR
 38188  }
 38189  
 38190  type REDIRECTION_DESCRIPTOR = _REDIRECTION_DESCRIPTOR
 38191  type PREDIRECTION_DESCRIPTOR = uintptr
 38192  
 38193  type PCREDIRECTION_DESCRIPTOR = uintptr
 38194  
 38195  type MEMORY_RESOURCE_NOTIFICATION_TYPE = uint32
 38196  
 38197  type _STARTUPINFOA = struct {
 38198  	Fcb              DWORD
 38199  	F__ccgo_pad1     [4]byte
 38200  	FlpReserved      LPSTR
 38201  	FlpDesktop       LPSTR
 38202  	FlpTitle         LPSTR
 38203  	FdwX             DWORD
 38204  	FdwY             DWORD
 38205  	FdwXSize         DWORD
 38206  	FdwYSize         DWORD
 38207  	FdwXCountChars   DWORD
 38208  	FdwYCountChars   DWORD
 38209  	FdwFillAttribute DWORD
 38210  	FdwFlags         DWORD
 38211  	FwShowWindow     WORD
 38212  	FcbReserved2     WORD
 38213  	F__ccgo_pad2     [4]byte
 38214  	FlpReserved2     LPBYTE
 38215  	FhStdInput       HANDLE
 38216  	FhStdOutput      HANDLE
 38217  	FhStdError       HANDLE
 38218  }
 38219  
 38220  type STARTUPINFOA = _STARTUPINFOA
 38221  type LPSTARTUPINFOA = uintptr
 38222  
 38223  type _STARTUPINFOW = struct {
 38224  	Fcb              DWORD
 38225  	F__ccgo_pad1     [4]byte
 38226  	FlpReserved      LPWSTR
 38227  	FlpDesktop       LPWSTR
 38228  	FlpTitle         LPWSTR
 38229  	FdwX             DWORD
 38230  	FdwY             DWORD
 38231  	FdwXSize         DWORD
 38232  	FdwYSize         DWORD
 38233  	FdwXCountChars   DWORD
 38234  	FdwYCountChars   DWORD
 38235  	FdwFillAttribute DWORD
 38236  	FdwFlags         DWORD
 38237  	FwShowWindow     WORD
 38238  	FcbReserved2     WORD
 38239  	F__ccgo_pad2     [4]byte
 38240  	FlpReserved2     LPBYTE
 38241  	FhStdInput       HANDLE
 38242  	FhStdOutput      HANDLE
 38243  	FhStdError       HANDLE
 38244  }
 38245  
 38246  type STARTUPINFOW = _STARTUPINFOW
 38247  type LPSTARTUPINFOW = uintptr
 38248  
 38249  type STARTUPINFO = STARTUPINFOA
 38250  type LPSTARTUPINFO = LPSTARTUPINFOA
 38251  
 38252  type _PROCESS_INFORMATION = struct {
 38253  	FhProcess    HANDLE
 38254  	FhThread     HANDLE
 38255  	FdwProcessId DWORD
 38256  	FdwThreadId  DWORD
 38257  }
 38258  
 38259  type PROCESS_INFORMATION = _PROCESS_INFORMATION
 38260  type PPROCESS_INFORMATION = uintptr
 38261  type LPPROCESS_INFORMATION = uintptr
 38262  
 38263  type PPROC_THREAD_ATTRIBUTE_LIST = uintptr
 38264  type LPPROC_THREAD_ATTRIBUTE_LIST = uintptr
 38265  
 38266  type SRWLOCK = RTL_SRWLOCK
 38267  type PSRWLOCK = uintptr
 38268  
 38269  type INIT_ONCE = RTL_RUN_ONCE
 38270  type PINIT_ONCE = PRTL_RUN_ONCE
 38271  type LPINIT_ONCE = PRTL_RUN_ONCE
 38272  
 38273  type PINIT_ONCE_FN = uintptr
 38274  type CONDITION_VARIABLE = RTL_CONDITION_VARIABLE
 38275  type PCONDITION_VARIABLE = uintptr
 38276  
 38277  type PTIMERAPCROUTINE = uintptr
 38278  
 38279  type SYNCHRONIZATION_BARRIER = RTL_BARRIER
 38280  type PSYNCHRONIZATION_BARRIER = PRTL_BARRIER
 38281  type LPSYNCHRONIZATION_BARRIER = PRTL_BARRIER
 38282  
 38283  type _SYSTEM_INFO = struct {
 38284  	Fu                           struct{ FdwOemId DWORD }
 38285  	FdwPageSize                  DWORD
 38286  	FlpMinimumApplicationAddress LPVOID
 38287  	FlpMaximumApplicationAddress LPVOID
 38288  	FdwActiveProcessorMask       DWORD_PTR
 38289  	FdwNumberOfProcessors        DWORD
 38290  	FdwProcessorType             DWORD
 38291  	FdwAllocationGranularity     DWORD
 38292  	FwProcessorLevel             WORD
 38293  	FwProcessorRevision          WORD
 38294  }
 38295  
 38296  type SYSTEM_INFO = _SYSTEM_INFO
 38297  type LPSYSTEM_INFO = uintptr
 38298  
 38299  type _MEMORYSTATUSEX = struct {
 38300  	FdwLength                DWORD
 38301  	FdwMemoryLoad            DWORD
 38302  	FullTotalPhys            DWORDLONG
 38303  	FullAvailPhys            DWORDLONG
 38304  	FullTotalPageFile        DWORDLONG
 38305  	FullAvailPageFile        DWORDLONG
 38306  	FullTotalVirtual         DWORDLONG
 38307  	FullAvailVirtual         DWORDLONG
 38308  	FullAvailExtendedVirtual DWORDLONG
 38309  }
 38310  
 38311  type MEMORYSTATUSEX = _MEMORYSTATUSEX
 38312  type LPMEMORYSTATUSEX = uintptr
 38313  
 38314  type COMPUTER_NAME_FORMAT = uint32
 38315  
 38316  type PTP_WIN32_IO_CALLBACK = uintptr
 38317  
 38318  type PFIBER_START_ROUTINE = uintptr
 38319  type LPFIBER_START_ROUTINE = PFIBER_START_ROUTINE
 38320  
 38321  type LPLDT_ENTRY = LPVOID
 38322  
 38323  type _COMMPROP = struct {
 38324  	FwPacketLength       WORD
 38325  	FwPacketVersion      WORD
 38326  	FdwServiceMask       DWORD
 38327  	FdwReserved1         DWORD
 38328  	FdwMaxTxQueue        DWORD
 38329  	FdwMaxRxQueue        DWORD
 38330  	FdwMaxBaud           DWORD
 38331  	FdwProvSubType       DWORD
 38332  	FdwProvCapabilities  DWORD
 38333  	FdwSettableParams    DWORD
 38334  	FdwSettableBaud      DWORD
 38335  	FwSettableData       WORD
 38336  	FwSettableStopParity WORD
 38337  	FdwCurrentTxQueue    DWORD
 38338  	FdwCurrentRxQueue    DWORD
 38339  	FdwProvSpec1         DWORD
 38340  	FdwProvSpec2         DWORD
 38341  	FwcProvChar          [1]WCHAR
 38342  	F__ccgo_pad1         [2]byte
 38343  }
 38344  
 38345  type COMMPROP = _COMMPROP
 38346  type LPCOMMPROP = uintptr
 38347  
 38348  type _COMSTAT = struct {
 38349  	FfCtsHold    uint32
 38350  	F__ccgo_pad1 [4]byte
 38351  	FcbInQue     DWORD
 38352  	FcbOutQue    DWORD
 38353  }
 38354  
 38355  type COMSTAT = _COMSTAT
 38356  type LPCOMSTAT = uintptr
 38357  
 38358  type _DCB = struct {
 38359  	FDCBlength   DWORD
 38360  	FBaudRate    DWORD
 38361  	FfBinary     uint32
 38362  	F__ccgo_pad1 [2]byte
 38363  	FwReserved   WORD
 38364  	FXonLim      WORD
 38365  	FXoffLim     WORD
 38366  	FByteSize    BYTE
 38367  	FParity      BYTE
 38368  	FStopBits    BYTE
 38369  	FXonChar     int8
 38370  	FXoffChar    int8
 38371  	FErrorChar   int8
 38372  	FEofChar     int8
 38373  	FEvtChar     int8
 38374  	FwReserved1  WORD
 38375  	F__ccgo_pad2 [2]byte
 38376  }
 38377  
 38378  type DCB = _DCB
 38379  type LPDCB = uintptr
 38380  
 38381  type _COMMTIMEOUTS = struct {
 38382  	FReadIntervalTimeout         DWORD
 38383  	FReadTotalTimeoutMultiplier  DWORD
 38384  	FReadTotalTimeoutConstant    DWORD
 38385  	FWriteTotalTimeoutMultiplier DWORD
 38386  	FWriteTotalTimeoutConstant   DWORD
 38387  }
 38388  
 38389  type COMMTIMEOUTS = _COMMTIMEOUTS
 38390  type LPCOMMTIMEOUTS = uintptr
 38391  
 38392  type _COMMCONFIG = struct {
 38393  	FdwSize            DWORD
 38394  	FwVersion          WORD
 38395  	FwReserved         WORD
 38396  	Fdcb               DCB
 38397  	FdwProviderSubType DWORD
 38398  	FdwProviderOffset  DWORD
 38399  	FdwProviderSize    DWORD
 38400  	FwcProviderData    [1]WCHAR
 38401  	F__ccgo_pad1       [2]byte
 38402  }
 38403  
 38404  type COMMCONFIG = _COMMCONFIG
 38405  type LPCOMMCONFIG = uintptr
 38406  
 38407  type _MEMORYSTATUS = struct {
 38408  	FdwLength        DWORD
 38409  	FdwMemoryLoad    DWORD
 38410  	FdwTotalPhys     SIZE_T
 38411  	FdwAvailPhys     SIZE_T
 38412  	FdwTotalPageFile SIZE_T
 38413  	FdwAvailPageFile SIZE_T
 38414  	FdwTotalVirtual  SIZE_T
 38415  	FdwAvailVirtual  SIZE_T
 38416  }
 38417  
 38418  type MEMORYSTATUS = _MEMORYSTATUS
 38419  type LPMEMORYSTATUS = uintptr
 38420  
 38421  type _JIT_DEBUG_INFO = struct {
 38422  	FdwSize                  DWORD
 38423  	FdwProcessorArchitecture DWORD
 38424  	FdwThreadID              DWORD
 38425  	FdwReserved0             DWORD
 38426  	FlpExceptionAddress      ULONG64
 38427  	FlpExceptionRecord       ULONG64
 38428  	FlpContextRecord         ULONG64
 38429  }
 38430  
 38431  type JIT_DEBUG_INFO = _JIT_DEBUG_INFO
 38432  type LPJIT_DEBUG_INFO = uintptr
 38433  
 38434  type JIT_DEBUG_INFO32 = JIT_DEBUG_INFO
 38435  type LPJIT_DEBUG_INFO32 = uintptr
 38436  type JIT_DEBUG_INFO64 = JIT_DEBUG_INFO
 38437  type LPJIT_DEBUG_INFO64 = uintptr
 38438  
 38439  type LPEXCEPTION_RECORD = PEXCEPTION_RECORD
 38440  type LPEXCEPTION_POINTERS = PEXCEPTION_POINTERS
 38441  
 38442  type _OFSTRUCT = struct {
 38443  	FcBytes     BYTE
 38444  	FfFixedDisk BYTE
 38445  	FnErrCode   WORD
 38446  	FReserved1  WORD
 38447  	FReserved2  WORD
 38448  	FszPathName [128]CHAR
 38449  }
 38450  
 38451  type OFSTRUCT = _OFSTRUCT
 38452  type LPOFSTRUCT = uintptr
 38453  type POFSTRUCT = uintptr
 38454  
 38455  type THREAD_INFORMATION_CLASS = uint32
 38456  
 38457  type DEP_SYSTEM_POLICY_TYPE = uint32
 38458  
 38459  type PFE_EXPORT_FUNC = uintptr
 38460  type PFE_IMPORT_FUNC = uintptr
 38461  
 38462  type _WIN32_STREAM_ID = struct {
 38463  	FdwStreamId         DWORD
 38464  	FdwStreamAttributes DWORD
 38465  	FSize               LARGE_INTEGER
 38466  	FdwStreamNameSize   DWORD
 38467  	FcStreamName        [1]WCHAR
 38468  	F__ccgo_pad1        [2]byte
 38469  }
 38470  
 38471  type WIN32_STREAM_ID = _WIN32_STREAM_ID
 38472  type LPWIN32_STREAM_ID = uintptr
 38473  
 38474  type PROCESS_INFORMATION_CLASS = uint32
 38475  
 38476  type PGET_SYSTEM_WOW64_DIRECTORY_A = uintptr
 38477  type PGET_SYSTEM_WOW64_DIRECTORY_W = uintptr
 38478  
 38479  type LPPROGRESS_ROUTINE = uintptr
 38480  
 38481  type STREAM_INFO_LEVELS = uint32
 38482  
 38483  type _WIN32_FIND_STREAM_DATA = struct {
 38484  	FStreamSize  LARGE_INTEGER
 38485  	FcStreamName [296]WCHAR
 38486  }
 38487  
 38488  type WIN32_FIND_STREAM_DATA = _WIN32_FIND_STREAM_DATA
 38489  type PWIN32_FIND_STREAM_DATA = uintptr
 38490  
 38491  type _EVENTLOG_FULL_INFORMATION = struct{ FdwFull DWORD }
 38492  
 38493  type EVENTLOG_FULL_INFORMATION = _EVENTLOG_FULL_INFORMATION
 38494  type LPEVENTLOG_FULL_INFORMATION = uintptr
 38495  
 38496  type tagHW_PROFILE_INFOA = struct {
 38497  	FdwDockInfo      DWORD
 38498  	FszHwProfileGuid [39]CHAR
 38499  	FszHwProfileName [80]CHAR
 38500  	F__ccgo_pad1     [1]byte
 38501  }
 38502  
 38503  type HW_PROFILE_INFOA = tagHW_PROFILE_INFOA
 38504  type LPHW_PROFILE_INFOA = uintptr
 38505  
 38506  type tagHW_PROFILE_INFOW = struct {
 38507  	FdwDockInfo      DWORD
 38508  	FszHwProfileGuid [39]WCHAR
 38509  	FszHwProfileName [80]WCHAR
 38510  	F__ccgo_pad1     [2]byte
 38511  }
 38512  
 38513  type HW_PROFILE_INFOW = tagHW_PROFILE_INFOW
 38514  type LPHW_PROFILE_INFOW = uintptr
 38515  
 38516  type HW_PROFILE_INFO = HW_PROFILE_INFOA
 38517  type LPHW_PROFILE_INFO = LPHW_PROFILE_INFOA
 38518  
 38519  type _TIME_ZONE_INFORMATION = struct {
 38520  	FBias         LONG
 38521  	FStandardName [32]WCHAR
 38522  	FStandardDate SYSTEMTIME
 38523  	FStandardBias LONG
 38524  	FDaylightName [32]WCHAR
 38525  	FDaylightDate SYSTEMTIME
 38526  	FDaylightBias LONG
 38527  }
 38528  
 38529  type TIME_ZONE_INFORMATION = _TIME_ZONE_INFORMATION
 38530  type PTIME_ZONE_INFORMATION = uintptr
 38531  type LPTIME_ZONE_INFORMATION = uintptr
 38532  
 38533  type _TIME_DYNAMIC_ZONE_INFORMATION = struct {
 38534  	FBias                        LONG
 38535  	FStandardName                [32]WCHAR
 38536  	FStandardDate                SYSTEMTIME
 38537  	FStandardBias                LONG
 38538  	FDaylightName                [32]WCHAR
 38539  	FDaylightDate                SYSTEMTIME
 38540  	FDaylightBias                LONG
 38541  	FTimeZoneKeyName             [128]WCHAR
 38542  	FDynamicDaylightTimeDisabled BOOLEAN
 38543  	F__ccgo_pad1                 [3]byte
 38544  }
 38545  
 38546  type DYNAMIC_TIME_ZONE_INFORMATION = _TIME_DYNAMIC_ZONE_INFORMATION
 38547  type PDYNAMIC_TIME_ZONE_INFORMATION = uintptr
 38548  
 38549  type _SYSTEM_POWER_STATUS = struct {
 38550  	FACLineStatus        BYTE
 38551  	FBatteryFlag         BYTE
 38552  	FBatteryLifePercent  BYTE
 38553  	FReserved1           BYTE
 38554  	FBatteryLifeTime     DWORD
 38555  	FBatteryFullLifeTime DWORD
 38556  }
 38557  
 38558  type SYSTEM_POWER_STATUS = _SYSTEM_POWER_STATUS
 38559  type LPSYSTEM_POWER_STATUS = uintptr
 38560  
 38561  type tagACTCTXA = struct {
 38562  	FcbSize                 ULONG
 38563  	FdwFlags                DWORD
 38564  	FlpSource               LPCSTR
 38565  	FwProcessorArchitecture USHORT
 38566  	FwLangId                LANGID
 38567  	F__ccgo_pad1            [4]byte
 38568  	FlpAssemblyDirectory    LPCSTR
 38569  	FlpResourceName         LPCSTR
 38570  	FlpApplicationName      LPCSTR
 38571  	FhModule                HMODULE
 38572  }
 38573  
 38574  type ACTCTXA = tagACTCTXA
 38575  type PACTCTXA = uintptr
 38576  
 38577  type tagACTCTXW = struct {
 38578  	FcbSize                 ULONG
 38579  	FdwFlags                DWORD
 38580  	FlpSource               LPCWSTR
 38581  	FwProcessorArchitecture USHORT
 38582  	FwLangId                LANGID
 38583  	F__ccgo_pad1            [4]byte
 38584  	FlpAssemblyDirectory    LPCWSTR
 38585  	FlpResourceName         LPCWSTR
 38586  	FlpApplicationName      LPCWSTR
 38587  	FhModule                HMODULE
 38588  }
 38589  
 38590  type ACTCTXW = tagACTCTXW
 38591  type PACTCTXW = uintptr
 38592  
 38593  type ACTCTX = ACTCTXA
 38594  type PACTCTX = PACTCTXA
 38595  
 38596  type PCACTCTXA = uintptr
 38597  type PCACTCTXW = uintptr
 38598  
 38599  type PCACTCTX = PCACTCTXA
 38600  
 38601  type tagACTCTX_SECTION_KEYED_DATA_2600 = struct {
 38602  	FcbSize                    ULONG
 38603  	FulDataFormatVersion       ULONG
 38604  	FlpData                    PVOID
 38605  	FulLength                  ULONG
 38606  	F__ccgo_pad1               [4]byte
 38607  	FlpSectionGlobalData       PVOID
 38608  	FulSectionGlobalDataLength ULONG
 38609  	F__ccgo_pad2               [4]byte
 38610  	FlpSectionBase             PVOID
 38611  	FulSectionTotalLength      ULONG
 38612  	F__ccgo_pad3               [4]byte
 38613  	FhActCtx                   HANDLE
 38614  	FulAssemblyRosterIndex     ULONG
 38615  	F__ccgo_pad4               [4]byte
 38616  }
 38617  
 38618  type ACTCTX_SECTION_KEYED_DATA_2600 = tagACTCTX_SECTION_KEYED_DATA_2600
 38619  type PACTCTX_SECTION_KEYED_DATA_2600 = uintptr
 38620  
 38621  type PCACTCTX_SECTION_KEYED_DATA_2600 = uintptr
 38622  
 38623  type tagACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA = struct {
 38624  	FlpInformation             PVOID
 38625  	FlpSectionBase             PVOID
 38626  	FulSectionLength           ULONG
 38627  	F__ccgo_pad1               [4]byte
 38628  	FlpSectionGlobalDataBase   PVOID
 38629  	FulSectionGlobalDataLength ULONG
 38630  	F__ccgo_pad2               [4]byte
 38631  }
 38632  
 38633  type ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA = tagACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA
 38634  type PACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA = uintptr
 38635  
 38636  type PCACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA = uintptr
 38637  
 38638  type tagACTCTX_SECTION_KEYED_DATA = struct {
 38639  	FcbSize                    ULONG
 38640  	FulDataFormatVersion       ULONG
 38641  	FlpData                    PVOID
 38642  	FulLength                  ULONG
 38643  	F__ccgo_pad1               [4]byte
 38644  	FlpSectionGlobalData       PVOID
 38645  	FulSectionGlobalDataLength ULONG
 38646  	F__ccgo_pad2               [4]byte
 38647  	FlpSectionBase             PVOID
 38648  	FulSectionTotalLength      ULONG
 38649  	F__ccgo_pad3               [4]byte
 38650  	FhActCtx                   HANDLE
 38651  	FulAssemblyRosterIndex     ULONG
 38652  	FulFlags                   ULONG
 38653  	FAssemblyMetadata          ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA
 38654  }
 38655  
 38656  type ACTCTX_SECTION_KEYED_DATA = tagACTCTX_SECTION_KEYED_DATA
 38657  type PACTCTX_SECTION_KEYED_DATA = uintptr
 38658  
 38659  type PCACTCTX_SECTION_KEYED_DATA = uintptr
 38660  
 38661  type _ACTIVATION_CONTEXT_BASIC_INFORMATION = struct {
 38662  	FhActCtx     HANDLE
 38663  	FdwFlags     DWORD
 38664  	F__ccgo_pad1 [4]byte
 38665  }
 38666  
 38667  type ACTIVATION_CONTEXT_BASIC_INFORMATION = _ACTIVATION_CONTEXT_BASIC_INFORMATION
 38668  type PACTIVATION_CONTEXT_BASIC_INFORMATION = uintptr
 38669  
 38670  type PCACTIVATION_CONTEXT_BASIC_INFORMATION = uintptr
 38671  
 38672  type PQUERYACTCTXW_FUNC = uintptr
 38673  
 38674  type APPLICATION_RECOVERY_CALLBACK = uintptr
 38675  
 38676  type _DRAWPATRECT = struct {
 38677  	FptPosition POINT
 38678  	FptSize     POINT
 38679  	FwStyle     WORD
 38680  	FwPattern   WORD
 38681  }
 38682  
 38683  type DRAWPATRECT = _DRAWPATRECT
 38684  type PDRAWPATRECT = uintptr
 38685  
 38686  type _PSINJECTDATA = struct {
 38687  	FDataBytes      DWORD
 38688  	FInjectionPoint WORD
 38689  	FPageNumber     WORD
 38690  }
 38691  
 38692  type PSINJECTDATA = _PSINJECTDATA
 38693  type PPSINJECTDATA = uintptr
 38694  
 38695  type _PSFEATURE_OUTPUT = struct {
 38696  	FbPageIndependent WINBOOL
 38697  	FbSetPageDevice   WINBOOL
 38698  }
 38699  
 38700  type PSFEATURE_OUTPUT = _PSFEATURE_OUTPUT
 38701  type PPSFEATURE_OUTPUT = uintptr
 38702  
 38703  type _PSFEATURE_CUSTPAPER = struct {
 38704  	FlOrientation  LONG
 38705  	FlWidth        LONG
 38706  	FlHeight       LONG
 38707  	FlWidthOffset  LONG
 38708  	FlHeightOffset LONG
 38709  }
 38710  
 38711  type PSFEATURE_CUSTPAPER = _PSFEATURE_CUSTPAPER
 38712  type PPSFEATURE_CUSTPAPER = uintptr
 38713  
 38714  type tagXFORM = struct {
 38715  	FeM11 FLOAT
 38716  	FeM12 FLOAT
 38717  	FeM21 FLOAT
 38718  	FeM22 FLOAT
 38719  	FeDx  FLOAT
 38720  	FeDy  FLOAT
 38721  }
 38722  
 38723  type XFORM = tagXFORM
 38724  type PXFORM = uintptr
 38725  type LPXFORM = uintptr
 38726  
 38727  type tagBITMAP = struct {
 38728  	FbmType       LONG
 38729  	FbmWidth      LONG
 38730  	FbmHeight     LONG
 38731  	FbmWidthBytes LONG
 38732  	FbmPlanes     WORD
 38733  	FbmBitsPixel  WORD
 38734  	F__ccgo_pad1  [4]byte
 38735  	FbmBits       LPVOID
 38736  }
 38737  
 38738  type BITMAP = tagBITMAP
 38739  type PBITMAP = uintptr
 38740  type NPBITMAP = uintptr
 38741  type LPBITMAP = uintptr
 38742  
 38743  type tagRGBTRIPLE = struct {
 38744  	FrgbtBlue  BYTE
 38745  	FrgbtGreen BYTE
 38746  	FrgbtRed   BYTE
 38747  }
 38748  
 38749  type RGBTRIPLE = tagRGBTRIPLE
 38750  type PRGBTRIPLE = uintptr
 38751  type NPRGBTRIPLE = uintptr
 38752  type LPRGBTRIPLE = uintptr
 38753  
 38754  type tagRGBQUAD = struct {
 38755  	FrgbBlue     BYTE
 38756  	FrgbGreen    BYTE
 38757  	FrgbRed      BYTE
 38758  	FrgbReserved BYTE
 38759  }
 38760  
 38761  type RGBQUAD = tagRGBQUAD
 38762  
 38763  type LPRGBQUAD = uintptr
 38764  
 38765  type LCSCSTYPE = LONG
 38766  
 38767  type LCSGAMUTMATCH = LONG
 38768  
 38769  type FXPT16DOT16 = int32
 38770  type LPFXPT16DOT16 = uintptr
 38771  type FXPT2DOT30 = int32
 38772  type LPFXPT2DOT30 = uintptr
 38773  
 38774  type tagCIEXYZ = struct {
 38775  	FciexyzX FXPT2DOT30
 38776  	FciexyzY FXPT2DOT30
 38777  	FciexyzZ FXPT2DOT30
 38778  }
 38779  
 38780  type CIEXYZ = tagCIEXYZ
 38781  type LPCIEXYZ = uintptr
 38782  type tagICEXYZTRIPLE = struct {
 38783  	FciexyzRed   CIEXYZ
 38784  	FciexyzGreen CIEXYZ
 38785  	FciexyzBlue  CIEXYZ
 38786  }
 38787  
 38788  type CIEXYZTRIPLE = tagICEXYZTRIPLE
 38789  type LPCIEXYZTRIPLE = uintptr
 38790  
 38791  type tagLOGCOLORSPACEA = struct {
 38792  	FlcsSignature  DWORD
 38793  	FlcsVersion    DWORD
 38794  	FlcsSize       DWORD
 38795  	FlcsCSType     LCSCSTYPE
 38796  	FlcsIntent     LCSGAMUTMATCH
 38797  	FlcsEndpoints  CIEXYZTRIPLE
 38798  	FlcsGammaRed   DWORD
 38799  	FlcsGammaGreen DWORD
 38800  	FlcsGammaBlue  DWORD
 38801  	FlcsFilename   [260]CHAR
 38802  }
 38803  
 38804  type LOGCOLORSPACEA = tagLOGCOLORSPACEA
 38805  type LPLOGCOLORSPACEA = uintptr
 38806  
 38807  type tagLOGCOLORSPACEW = struct {
 38808  	FlcsSignature  DWORD
 38809  	FlcsVersion    DWORD
 38810  	FlcsSize       DWORD
 38811  	FlcsCSType     LCSCSTYPE
 38812  	FlcsIntent     LCSGAMUTMATCH
 38813  	FlcsEndpoints  CIEXYZTRIPLE
 38814  	FlcsGammaRed   DWORD
 38815  	FlcsGammaGreen DWORD
 38816  	FlcsGammaBlue  DWORD
 38817  	FlcsFilename   [260]WCHAR
 38818  }
 38819  
 38820  type LOGCOLORSPACEW = tagLOGCOLORSPACEW
 38821  type LPLOGCOLORSPACEW = uintptr
 38822  
 38823  type LOGCOLORSPACE = LOGCOLORSPACEA
 38824  type LPLOGCOLORSPACE = LPLOGCOLORSPACEA
 38825  
 38826  type tagBITMAPCOREHEADER = struct {
 38827  	FbcSize     DWORD
 38828  	FbcWidth    WORD
 38829  	FbcHeight   WORD
 38830  	FbcPlanes   WORD
 38831  	FbcBitCount WORD
 38832  }
 38833  
 38834  type BITMAPCOREHEADER = tagBITMAPCOREHEADER
 38835  type LPBITMAPCOREHEADER = uintptr
 38836  type PBITMAPCOREHEADER = uintptr
 38837  
 38838  type tagBITMAPINFOHEADER = struct {
 38839  	FbiSize          DWORD
 38840  	FbiWidth         LONG
 38841  	FbiHeight        LONG
 38842  	FbiPlanes        WORD
 38843  	FbiBitCount      WORD
 38844  	FbiCompression   DWORD
 38845  	FbiSizeImage     DWORD
 38846  	FbiXPelsPerMeter LONG
 38847  	FbiYPelsPerMeter LONG
 38848  	FbiClrUsed       DWORD
 38849  	FbiClrImportant  DWORD
 38850  }
 38851  
 38852  type BITMAPINFOHEADER = tagBITMAPINFOHEADER
 38853  type LPBITMAPINFOHEADER = uintptr
 38854  type PBITMAPINFOHEADER = uintptr
 38855  
 38856  type BITMAPV4HEADER = struct {
 38857  	FbV4Size          DWORD
 38858  	FbV4Width         LONG
 38859  	FbV4Height        LONG
 38860  	FbV4Planes        WORD
 38861  	FbV4BitCount      WORD
 38862  	FbV4V4Compression DWORD
 38863  	FbV4SizeImage     DWORD
 38864  	FbV4XPelsPerMeter LONG
 38865  	FbV4YPelsPerMeter LONG
 38866  	FbV4ClrUsed       DWORD
 38867  	FbV4ClrImportant  DWORD
 38868  	FbV4RedMask       DWORD
 38869  	FbV4GreenMask     DWORD
 38870  	FbV4BlueMask      DWORD
 38871  	FbV4AlphaMask     DWORD
 38872  	FbV4CSType        DWORD
 38873  	FbV4Endpoints     CIEXYZTRIPLE
 38874  	FbV4GammaRed      DWORD
 38875  	FbV4GammaGreen    DWORD
 38876  	FbV4GammaBlue     DWORD
 38877  }
 38878  type LPBITMAPV4HEADER = uintptr
 38879  type PBITMAPV4HEADER = uintptr
 38880  
 38881  type BITMAPV5HEADER = struct {
 38882  	FbV5Size          DWORD
 38883  	FbV5Width         LONG
 38884  	FbV5Height        LONG
 38885  	FbV5Planes        WORD
 38886  	FbV5BitCount      WORD
 38887  	FbV5Compression   DWORD
 38888  	FbV5SizeImage     DWORD
 38889  	FbV5XPelsPerMeter LONG
 38890  	FbV5YPelsPerMeter LONG
 38891  	FbV5ClrUsed       DWORD
 38892  	FbV5ClrImportant  DWORD
 38893  	FbV5RedMask       DWORD
 38894  	FbV5GreenMask     DWORD
 38895  	FbV5BlueMask      DWORD
 38896  	FbV5AlphaMask     DWORD
 38897  	FbV5CSType        DWORD
 38898  	FbV5Endpoints     CIEXYZTRIPLE
 38899  	FbV5GammaRed      DWORD
 38900  	FbV5GammaGreen    DWORD
 38901  	FbV5GammaBlue     DWORD
 38902  	FbV5Intent        DWORD
 38903  	FbV5ProfileData   DWORD
 38904  	FbV5ProfileSize   DWORD
 38905  	FbV5Reserved      DWORD
 38906  }
 38907  type LPBITMAPV5HEADER = uintptr
 38908  type PBITMAPV5HEADER = uintptr
 38909  
 38910  type tagBITMAPINFO = struct {
 38911  	FbmiHeader BITMAPINFOHEADER
 38912  	FbmiColors [1]RGBQUAD
 38913  }
 38914  
 38915  type BITMAPINFO = tagBITMAPINFO
 38916  type LPBITMAPINFO = uintptr
 38917  type PBITMAPINFO = uintptr
 38918  
 38919  type tagBITMAPCOREINFO = struct {
 38920  	FbmciHeader  BITMAPCOREHEADER
 38921  	FbmciColors  [1]RGBTRIPLE
 38922  	F__ccgo_pad1 [1]byte
 38923  }
 38924  
 38925  type BITMAPCOREINFO = tagBITMAPCOREINFO
 38926  type LPBITMAPCOREINFO = uintptr
 38927  type PBITMAPCOREINFO = uintptr
 38928  
 38929  type tagBITMAPFILEHEADER = struct {
 38930  	FbfType      WORD
 38931  	F__ccgo_pad1 [2]byte
 38932  	FbfSize      DWORD
 38933  	FbfReserved1 WORD
 38934  	FbfReserved2 WORD
 38935  	FbfOffBits   DWORD
 38936  }
 38937  
 38938  type BITMAPFILEHEADER = tagBITMAPFILEHEADER
 38939  type LPBITMAPFILEHEADER = uintptr
 38940  type PBITMAPFILEHEADER = uintptr
 38941  
 38942  type tagFONTSIGNATURE = struct {
 38943  	FfsUsb [4]DWORD
 38944  	FfsCsb [2]DWORD
 38945  }
 38946  
 38947  type FONTSIGNATURE = tagFONTSIGNATURE
 38948  type PFONTSIGNATURE = uintptr
 38949  type LPFONTSIGNATURE = uintptr
 38950  
 38951  type tagCHARSETINFO = struct {
 38952  	FciCharset UINT
 38953  	FciACP     UINT
 38954  	Ffs        FONTSIGNATURE
 38955  }
 38956  
 38957  type CHARSETINFO = tagCHARSETINFO
 38958  type PCHARSETINFO = uintptr
 38959  type NPCHARSETINFO = uintptr
 38960  type LPCHARSETINFO = uintptr
 38961  
 38962  type tagLOCALESIGNATURE = struct {
 38963  	FlsUsb          [4]DWORD
 38964  	FlsCsbDefault   [2]DWORD
 38965  	FlsCsbSupported [2]DWORD
 38966  }
 38967  
 38968  type LOCALESIGNATURE = tagLOCALESIGNATURE
 38969  type PLOCALESIGNATURE = uintptr
 38970  type LPLOCALESIGNATURE = uintptr
 38971  
 38972  type tagHANDLETABLE = struct{ FobjectHandle [1]HGDIOBJ }
 38973  
 38974  type HANDLETABLE = tagHANDLETABLE
 38975  type PHANDLETABLE = uintptr
 38976  type LPHANDLETABLE = uintptr
 38977  
 38978  type tagMETARECORD = struct {
 38979  	FrdSize     DWORD
 38980  	FrdFunction WORD
 38981  	FrdParm     [1]WORD
 38982  }
 38983  
 38984  type METARECORD = tagMETARECORD
 38985  type PMETARECORD = uintptr
 38986  type LPMETARECORD = uintptr
 38987  
 38988  type tagMETAFILEPICT = struct {
 38989  	Fmm          LONG
 38990  	FxExt        LONG
 38991  	FyExt        LONG
 38992  	F__ccgo_pad1 [4]byte
 38993  	FhMF         HMETAFILE
 38994  }
 38995  
 38996  type METAFILEPICT = tagMETAFILEPICT
 38997  type LPMETAFILEPICT = uintptr
 38998  
 38999  type tagMETAHEADER = struct {
 39000  	FmtType         WORD
 39001  	FmtHeaderSize   WORD
 39002  	FmtVersion      WORD
 39003  	F__ccgo_pad1    [2]byte
 39004  	FmtSize         DWORD
 39005  	FmtNoObjects    WORD
 39006  	F__ccgo_pad2    [2]byte
 39007  	FmtMaxRecord    DWORD
 39008  	FmtNoParameters WORD
 39009  	F__ccgo_pad3    [2]byte
 39010  }
 39011  
 39012  type METAHEADER = tagMETAHEADER
 39013  type PMETAHEADER = uintptr
 39014  type LPMETAHEADER = uintptr
 39015  
 39016  type tagENHMETARECORD = struct {
 39017  	FiType DWORD
 39018  	FnSize DWORD
 39019  	FdParm [1]DWORD
 39020  }
 39021  
 39022  type ENHMETARECORD = tagENHMETARECORD
 39023  type PENHMETARECORD = uintptr
 39024  type LPENHMETARECORD = uintptr
 39025  
 39026  type tagENHMETAHEADER = struct {
 39027  	FiType          DWORD
 39028  	FnSize          DWORD
 39029  	FrclBounds      RECTL
 39030  	FrclFrame       RECTL
 39031  	FdSignature     DWORD
 39032  	FnVersion       DWORD
 39033  	FnBytes         DWORD
 39034  	FnRecords       DWORD
 39035  	FnHandles       WORD
 39036  	FsReserved      WORD
 39037  	FnDescription   DWORD
 39038  	FoffDescription DWORD
 39039  	FnPalEntries    DWORD
 39040  	FszlDevice      SIZEL
 39041  	FszlMillimeters SIZEL
 39042  	FcbPixelFormat  DWORD
 39043  	FoffPixelFormat DWORD
 39044  	FbOpenGL        DWORD
 39045  	FszlMicrometers SIZEL
 39046  }
 39047  
 39048  type ENHMETAHEADER = tagENHMETAHEADER
 39049  type PENHMETAHEADER = uintptr
 39050  type LPENHMETAHEADER = uintptr
 39051  
 39052  type BCHAR = BYTE
 39053  
 39054  type tagTEXTMETRICA = struct {
 39055  	FtmHeight           LONG
 39056  	FtmAscent           LONG
 39057  	FtmDescent          LONG
 39058  	FtmInternalLeading  LONG
 39059  	FtmExternalLeading  LONG
 39060  	FtmAveCharWidth     LONG
 39061  	FtmMaxCharWidth     LONG
 39062  	FtmWeight           LONG
 39063  	FtmOverhang         LONG
 39064  	FtmDigitizedAspectX LONG
 39065  	FtmDigitizedAspectY LONG
 39066  	FtmFirstChar        BYTE
 39067  	FtmLastChar         BYTE
 39068  	FtmDefaultChar      BYTE
 39069  	FtmBreakChar        BYTE
 39070  	FtmItalic           BYTE
 39071  	FtmUnderlined       BYTE
 39072  	FtmStruckOut        BYTE
 39073  	FtmPitchAndFamily   BYTE
 39074  	FtmCharSet          BYTE
 39075  	F__ccgo_pad1        [3]byte
 39076  }
 39077  
 39078  type TEXTMETRICA = tagTEXTMETRICA
 39079  type PTEXTMETRICA = uintptr
 39080  type NPTEXTMETRICA = uintptr
 39081  type LPTEXTMETRICA = uintptr
 39082  
 39083  type tagTEXTMETRICW = struct {
 39084  	FtmHeight           LONG
 39085  	FtmAscent           LONG
 39086  	FtmDescent          LONG
 39087  	FtmInternalLeading  LONG
 39088  	FtmExternalLeading  LONG
 39089  	FtmAveCharWidth     LONG
 39090  	FtmMaxCharWidth     LONG
 39091  	FtmWeight           LONG
 39092  	FtmOverhang         LONG
 39093  	FtmDigitizedAspectX LONG
 39094  	FtmDigitizedAspectY LONG
 39095  	FtmFirstChar        WCHAR
 39096  	FtmLastChar         WCHAR
 39097  	FtmDefaultChar      WCHAR
 39098  	FtmBreakChar        WCHAR
 39099  	FtmItalic           BYTE
 39100  	FtmUnderlined       BYTE
 39101  	FtmStruckOut        BYTE
 39102  	FtmPitchAndFamily   BYTE
 39103  	FtmCharSet          BYTE
 39104  	F__ccgo_pad1        [3]byte
 39105  }
 39106  
 39107  type TEXTMETRICW = tagTEXTMETRICW
 39108  type PTEXTMETRICW = uintptr
 39109  type NPTEXTMETRICW = uintptr
 39110  type LPTEXTMETRICW = uintptr
 39111  
 39112  type TEXTMETRIC = TEXTMETRICA
 39113  type PTEXTMETRIC = PTEXTMETRICA
 39114  type NPTEXTMETRIC = NPTEXTMETRICA
 39115  type LPTEXTMETRIC = LPTEXTMETRICA
 39116  
 39117  type tagNEWTEXTMETRICA = struct {
 39118  	FtmHeight           LONG
 39119  	FtmAscent           LONG
 39120  	FtmDescent          LONG
 39121  	FtmInternalLeading  LONG
 39122  	FtmExternalLeading  LONG
 39123  	FtmAveCharWidth     LONG
 39124  	FtmMaxCharWidth     LONG
 39125  	FtmWeight           LONG
 39126  	FtmOverhang         LONG
 39127  	FtmDigitizedAspectX LONG
 39128  	FtmDigitizedAspectY LONG
 39129  	FtmFirstChar        BYTE
 39130  	FtmLastChar         BYTE
 39131  	FtmDefaultChar      BYTE
 39132  	FtmBreakChar        BYTE
 39133  	FtmItalic           BYTE
 39134  	FtmUnderlined       BYTE
 39135  	FtmStruckOut        BYTE
 39136  	FtmPitchAndFamily   BYTE
 39137  	FtmCharSet          BYTE
 39138  	F__ccgo_pad1        [3]byte
 39139  	FntmFlags           DWORD
 39140  	FntmSizeEM          UINT
 39141  	FntmCellHeight      UINT
 39142  	FntmAvgWidth        UINT
 39143  }
 39144  
 39145  type NEWTEXTMETRICA = tagNEWTEXTMETRICA
 39146  type PNEWTEXTMETRICA = uintptr
 39147  type NPNEWTEXTMETRICA = uintptr
 39148  type LPNEWTEXTMETRICA = uintptr
 39149  
 39150  type tagNEWTEXTMETRICW = struct {
 39151  	FtmHeight           LONG
 39152  	FtmAscent           LONG
 39153  	FtmDescent          LONG
 39154  	FtmInternalLeading  LONG
 39155  	FtmExternalLeading  LONG
 39156  	FtmAveCharWidth     LONG
 39157  	FtmMaxCharWidth     LONG
 39158  	FtmWeight           LONG
 39159  	FtmOverhang         LONG
 39160  	FtmDigitizedAspectX LONG
 39161  	FtmDigitizedAspectY LONG
 39162  	FtmFirstChar        WCHAR
 39163  	FtmLastChar         WCHAR
 39164  	FtmDefaultChar      WCHAR
 39165  	FtmBreakChar        WCHAR
 39166  	FtmItalic           BYTE
 39167  	FtmUnderlined       BYTE
 39168  	FtmStruckOut        BYTE
 39169  	FtmPitchAndFamily   BYTE
 39170  	FtmCharSet          BYTE
 39171  	F__ccgo_pad1        [3]byte
 39172  	FntmFlags           DWORD
 39173  	FntmSizeEM          UINT
 39174  	FntmCellHeight      UINT
 39175  	FntmAvgWidth        UINT
 39176  }
 39177  
 39178  type NEWTEXTMETRICW = tagNEWTEXTMETRICW
 39179  type PNEWTEXTMETRICW = uintptr
 39180  type NPNEWTEXTMETRICW = uintptr
 39181  type LPNEWTEXTMETRICW = uintptr
 39182  
 39183  type NEWTEXTMETRIC = NEWTEXTMETRICA
 39184  type PNEWTEXTMETRIC = PNEWTEXTMETRICA
 39185  type NPNEWTEXTMETRIC = NPNEWTEXTMETRICA
 39186  type LPNEWTEXTMETRIC = LPNEWTEXTMETRICA
 39187  
 39188  type tagNEWTEXTMETRICEXA = struct {
 39189  	FntmTm      NEWTEXTMETRICA
 39190  	FntmFontSig FONTSIGNATURE
 39191  }
 39192  
 39193  type NEWTEXTMETRICEXA = tagNEWTEXTMETRICEXA
 39194  
 39195  type tagNEWTEXTMETRICEXW = struct {
 39196  	FntmTm      NEWTEXTMETRICW
 39197  	FntmFontSig FONTSIGNATURE
 39198  }
 39199  
 39200  type NEWTEXTMETRICEXW = tagNEWTEXTMETRICEXW
 39201  
 39202  type NEWTEXTMETRICEX = NEWTEXTMETRICEXA
 39203  
 39204  type tagPELARRAY = struct {
 39205  	FpaXCount    LONG
 39206  	FpaYCount    LONG
 39207  	FpaXExt      LONG
 39208  	FpaYExt      LONG
 39209  	FpaRGBs      BYTE
 39210  	F__ccgo_pad1 [3]byte
 39211  }
 39212  
 39213  type PELARRAY = tagPELARRAY
 39214  type PPELARRAY = uintptr
 39215  type NPPELARRAY = uintptr
 39216  type LPPELARRAY = uintptr
 39217  type tagLOGBRUSH = struct {
 39218  	FlbStyle UINT
 39219  	FlbColor COLORREF
 39220  	FlbHatch ULONG_PTR
 39221  }
 39222  
 39223  type LOGBRUSH = tagLOGBRUSH
 39224  type PLOGBRUSH = uintptr
 39225  type NPLOGBRUSH = uintptr
 39226  type LPLOGBRUSH = uintptr
 39227  
 39228  type tagLOGBRUSH32 = struct {
 39229  	FlbStyle UINT
 39230  	FlbColor COLORREF
 39231  	FlbHatch ULONG
 39232  }
 39233  
 39234  type LOGBRUSH32 = tagLOGBRUSH32
 39235  type PLOGBRUSH32 = uintptr
 39236  type NPLOGBRUSH32 = uintptr
 39237  type LPLOGBRUSH32 = uintptr
 39238  type PATTERN = LOGBRUSH
 39239  type PPATTERN = uintptr
 39240  type NPPATTERN = uintptr
 39241  type LPPATTERN = uintptr
 39242  
 39243  type tagLOGPEN = struct {
 39244  	FlopnStyle UINT
 39245  	FlopnWidth POINT
 39246  	FlopnColor COLORREF
 39247  }
 39248  
 39249  type LOGPEN = tagLOGPEN
 39250  type PLOGPEN = uintptr
 39251  type NPLOGPEN = uintptr
 39252  type LPLOGPEN = uintptr
 39253  
 39254  type tagEXTLOGPEN = struct {
 39255  	FelpPenStyle   DWORD
 39256  	FelpWidth      DWORD
 39257  	FelpBrushStyle UINT
 39258  	FelpColor      COLORREF
 39259  	FelpHatch      ULONG_PTR
 39260  	FelpNumEntries DWORD
 39261  	FelpStyleEntry [1]DWORD
 39262  }
 39263  
 39264  type EXTLOGPEN = tagEXTLOGPEN
 39265  type PEXTLOGPEN = uintptr
 39266  type NPEXTLOGPEN = uintptr
 39267  type LPEXTLOGPEN = uintptr
 39268  
 39269  type tagEXTLOGPEN32 = struct {
 39270  	FelpPenStyle   DWORD
 39271  	FelpWidth      DWORD
 39272  	FelpBrushStyle UINT
 39273  	FelpColor      COLORREF
 39274  	FelpHatch      ULONG
 39275  	FelpNumEntries DWORD
 39276  	FelpStyleEntry [1]DWORD
 39277  }
 39278  
 39279  type EXTLOGPEN32 = tagEXTLOGPEN32
 39280  type PEXTLOGPEN32 = uintptr
 39281  type NPEXTLOGPEN32 = uintptr
 39282  type LPEXTLOGPEN32 = uintptr
 39283  
 39284  type tagPALETTEENTRY = struct {
 39285  	FpeRed   BYTE
 39286  	FpeGreen BYTE
 39287  	FpeBlue  BYTE
 39288  	FpeFlags BYTE
 39289  }
 39290  
 39291  type PALETTEENTRY = tagPALETTEENTRY
 39292  type PPALETTEENTRY = uintptr
 39293  type LPPALETTEENTRY = uintptr
 39294  
 39295  type tagLOGPALETTE = struct {
 39296  	FpalVersion    WORD
 39297  	FpalNumEntries WORD
 39298  	FpalPalEntry   [1]PALETTEENTRY
 39299  }
 39300  
 39301  type LOGPALETTE = tagLOGPALETTE
 39302  type PLOGPALETTE = uintptr
 39303  type NPLOGPALETTE = uintptr
 39304  type LPLOGPALETTE = uintptr
 39305  
 39306  type tagLOGFONTA = struct {
 39307  	FlfHeight         LONG
 39308  	FlfWidth          LONG
 39309  	FlfEscapement     LONG
 39310  	FlfOrientation    LONG
 39311  	FlfWeight         LONG
 39312  	FlfItalic         BYTE
 39313  	FlfUnderline      BYTE
 39314  	FlfStrikeOut      BYTE
 39315  	FlfCharSet        BYTE
 39316  	FlfOutPrecision   BYTE
 39317  	FlfClipPrecision  BYTE
 39318  	FlfQuality        BYTE
 39319  	FlfPitchAndFamily BYTE
 39320  	FlfFaceName       [32]CHAR
 39321  }
 39322  
 39323  type LOGFONTA = tagLOGFONTA
 39324  type PLOGFONTA = uintptr
 39325  type NPLOGFONTA = uintptr
 39326  type LPLOGFONTA = uintptr
 39327  
 39328  type tagLOGFONTW = struct {
 39329  	FlfHeight         LONG
 39330  	FlfWidth          LONG
 39331  	FlfEscapement     LONG
 39332  	FlfOrientation    LONG
 39333  	FlfWeight         LONG
 39334  	FlfItalic         BYTE
 39335  	FlfUnderline      BYTE
 39336  	FlfStrikeOut      BYTE
 39337  	FlfCharSet        BYTE
 39338  	FlfOutPrecision   BYTE
 39339  	FlfClipPrecision  BYTE
 39340  	FlfQuality        BYTE
 39341  	FlfPitchAndFamily BYTE
 39342  	FlfFaceName       [32]WCHAR
 39343  }
 39344  
 39345  type LOGFONTW = tagLOGFONTW
 39346  type PLOGFONTW = uintptr
 39347  type NPLOGFONTW = uintptr
 39348  type LPLOGFONTW = uintptr
 39349  
 39350  type LOGFONT = LOGFONTA
 39351  type PLOGFONT = PLOGFONTA
 39352  type NPLOGFONT = NPLOGFONTA
 39353  type LPLOGFONT = LPLOGFONTA
 39354  
 39355  type tagENUMLOGFONTA = struct {
 39356  	FelfLogFont  LOGFONTA
 39357  	FelfFullName [64]BYTE
 39358  	FelfStyle    [32]BYTE
 39359  }
 39360  
 39361  type ENUMLOGFONTA = tagENUMLOGFONTA
 39362  type LPENUMLOGFONTA = uintptr
 39363  
 39364  type tagENUMLOGFONTW = struct {
 39365  	FelfLogFont  LOGFONTW
 39366  	FelfFullName [64]WCHAR
 39367  	FelfStyle    [32]WCHAR
 39368  }
 39369  
 39370  type ENUMLOGFONTW = tagENUMLOGFONTW
 39371  type LPENUMLOGFONTW = uintptr
 39372  
 39373  type ENUMLOGFONT = ENUMLOGFONTA
 39374  type LPENUMLOGFONT = LPENUMLOGFONTA
 39375  
 39376  type tagENUMLOGFONTEXA = struct {
 39377  	FelfLogFont  LOGFONTA
 39378  	FelfFullName [64]BYTE
 39379  	FelfStyle    [32]BYTE
 39380  	FelfScript   [32]BYTE
 39381  }
 39382  
 39383  type ENUMLOGFONTEXA = tagENUMLOGFONTEXA
 39384  type LPENUMLOGFONTEXA = uintptr
 39385  
 39386  type tagENUMLOGFONTEXW = struct {
 39387  	FelfLogFont  LOGFONTW
 39388  	FelfFullName [64]WCHAR
 39389  	FelfStyle    [32]WCHAR
 39390  	FelfScript   [32]WCHAR
 39391  }
 39392  
 39393  type ENUMLOGFONTEXW = tagENUMLOGFONTEXW
 39394  type LPENUMLOGFONTEXW = uintptr
 39395  
 39396  type ENUMLOGFONTEX = ENUMLOGFONTEXA
 39397  type LPENUMLOGFONTEX = LPENUMLOGFONTEXA
 39398  
 39399  type tagPANOSE = struct {
 39400  	FbFamilyType      BYTE
 39401  	FbSerifStyle      BYTE
 39402  	FbWeight          BYTE
 39403  	FbProportion      BYTE
 39404  	FbContrast        BYTE
 39405  	FbStrokeVariation BYTE
 39406  	FbArmStyle        BYTE
 39407  	FbLetterform      BYTE
 39408  	FbMidline         BYTE
 39409  	FbXHeight         BYTE
 39410  }
 39411  
 39412  type PANOSE = tagPANOSE
 39413  type LPPANOSE = uintptr
 39414  
 39415  type tagEXTLOGFONTA = struct {
 39416  	FelfLogFont   LOGFONTA
 39417  	FelfFullName  [64]BYTE
 39418  	FelfStyle     [32]BYTE
 39419  	FelfVersion   DWORD
 39420  	FelfStyleSize DWORD
 39421  	FelfMatch     DWORD
 39422  	FelfReserved  DWORD
 39423  	FelfVendorId  [4]BYTE
 39424  	FelfCulture   DWORD
 39425  	FelfPanose    PANOSE
 39426  	F__ccgo_pad1  [2]byte
 39427  }
 39428  
 39429  type EXTLOGFONTA = tagEXTLOGFONTA
 39430  type PEXTLOGFONTA = uintptr
 39431  type NPEXTLOGFONTA = uintptr
 39432  type LPEXTLOGFONTA = uintptr
 39433  
 39434  type tagEXTLOGFONTW = struct {
 39435  	FelfLogFont   LOGFONTW
 39436  	FelfFullName  [64]WCHAR
 39437  	FelfStyle     [32]WCHAR
 39438  	FelfVersion   DWORD
 39439  	FelfStyleSize DWORD
 39440  	FelfMatch     DWORD
 39441  	FelfReserved  DWORD
 39442  	FelfVendorId  [4]BYTE
 39443  	FelfCulture   DWORD
 39444  	FelfPanose    PANOSE
 39445  	F__ccgo_pad1  [2]byte
 39446  }
 39447  
 39448  type EXTLOGFONTW = tagEXTLOGFONTW
 39449  type PEXTLOGFONTW = uintptr
 39450  type NPEXTLOGFONTW = uintptr
 39451  type LPEXTLOGFONTW = uintptr
 39452  
 39453  type EXTLOGFONT = EXTLOGFONTA
 39454  type PEXTLOGFONT = PEXTLOGFONTA
 39455  type NPEXTLOGFONT = NPEXTLOGFONTA
 39456  type LPEXTLOGFONT = LPEXTLOGFONTA
 39457  
 39458  type _devicemodeA = struct {
 39459  	FdmDeviceName    [32]BYTE
 39460  	FdmSpecVersion   WORD
 39461  	FdmDriverVersion WORD
 39462  	FdmSize          WORD
 39463  	FdmDriverExtra   WORD
 39464  	FdmFields        DWORD
 39465  	F__44            struct {
 39466  		F__ccgo_pad1 [0]uint32
 39467  		F__0         struct {
 39468  			FdmOrientation   int16
 39469  			FdmPaperSize     int16
 39470  			FdmPaperLength   int16
 39471  			FdmPaperWidth    int16
 39472  			FdmScale         int16
 39473  			FdmCopies        int16
 39474  			FdmDefaultSource int16
 39475  			FdmPrintQuality  int16
 39476  		}
 39477  	}
 39478  	FdmColor            int16
 39479  	FdmDuplex           int16
 39480  	FdmYResolution      int16
 39481  	FdmTTOption         int16
 39482  	FdmCollate          int16
 39483  	FdmFormName         [32]BYTE
 39484  	FdmLogPixels        WORD
 39485  	FdmBitsPerPel       DWORD
 39486  	FdmPelsWidth        DWORD
 39487  	FdmPelsHeight       DWORD
 39488  	F__116              struct{ FdmDisplayFlags DWORD }
 39489  	FdmDisplayFrequency DWORD
 39490  	FdmICMMethod        DWORD
 39491  	FdmICMIntent        DWORD
 39492  	FdmMediaType        DWORD
 39493  	FdmDitherType       DWORD
 39494  	FdmReserved1        DWORD
 39495  	FdmReserved2        DWORD
 39496  	FdmPanningWidth     DWORD
 39497  	FdmPanningHeight    DWORD
 39498  }
 39499  
 39500  type DEVMODEA = _devicemodeA
 39501  type PDEVMODEA = uintptr
 39502  type NPDEVMODEA = uintptr
 39503  type LPDEVMODEA = uintptr
 39504  
 39505  type _devicemodeW = struct {
 39506  	FdmDeviceName    [32]WCHAR
 39507  	FdmSpecVersion   WORD
 39508  	FdmDriverVersion WORD
 39509  	FdmSize          WORD
 39510  	FdmDriverExtra   WORD
 39511  	FdmFields        DWORD
 39512  	F__76            struct {
 39513  		F__ccgo_pad1 [0]uint32
 39514  		F__0         struct {
 39515  			FdmOrientation   int16
 39516  			FdmPaperSize     int16
 39517  			FdmPaperLength   int16
 39518  			FdmPaperWidth    int16
 39519  			FdmScale         int16
 39520  			FdmCopies        int16
 39521  			FdmDefaultSource int16
 39522  			FdmPrintQuality  int16
 39523  		}
 39524  	}
 39525  	FdmColor            int16
 39526  	FdmDuplex           int16
 39527  	FdmYResolution      int16
 39528  	FdmTTOption         int16
 39529  	FdmCollate          int16
 39530  	FdmFormName         [32]WCHAR
 39531  	FdmLogPixels        WORD
 39532  	FdmBitsPerPel       DWORD
 39533  	FdmPelsWidth        DWORD
 39534  	FdmPelsHeight       DWORD
 39535  	F__180              struct{ FdmDisplayFlags DWORD }
 39536  	FdmDisplayFrequency DWORD
 39537  	FdmICMMethod        DWORD
 39538  	FdmICMIntent        DWORD
 39539  	FdmMediaType        DWORD
 39540  	FdmDitherType       DWORD
 39541  	FdmReserved1        DWORD
 39542  	FdmReserved2        DWORD
 39543  	FdmPanningWidth     DWORD
 39544  	FdmPanningHeight    DWORD
 39545  }
 39546  
 39547  type DEVMODEW = _devicemodeW
 39548  type PDEVMODEW = uintptr
 39549  type NPDEVMODEW = uintptr
 39550  type LPDEVMODEW = uintptr
 39551  
 39552  type DEVMODE = DEVMODEA
 39553  type PDEVMODE = PDEVMODEA
 39554  type NPDEVMODE = NPDEVMODEA
 39555  type LPDEVMODE = LPDEVMODEA
 39556  
 39557  type _DISPLAY_DEVICEA = struct {
 39558  	Fcb           DWORD
 39559  	FDeviceName   [32]CHAR
 39560  	FDeviceString [128]CHAR
 39561  	FStateFlags   DWORD
 39562  	FDeviceID     [128]CHAR
 39563  	FDeviceKey    [128]CHAR
 39564  }
 39565  
 39566  type DISPLAY_DEVICEA = _DISPLAY_DEVICEA
 39567  type PDISPLAY_DEVICEA = uintptr
 39568  type LPDISPLAY_DEVICEA = uintptr
 39569  
 39570  type _DISPLAY_DEVICEW = struct {
 39571  	Fcb           DWORD
 39572  	FDeviceName   [32]WCHAR
 39573  	FDeviceString [128]WCHAR
 39574  	FStateFlags   DWORD
 39575  	FDeviceID     [128]WCHAR
 39576  	FDeviceKey    [128]WCHAR
 39577  }
 39578  
 39579  type DISPLAY_DEVICEW = _DISPLAY_DEVICEW
 39580  type PDISPLAY_DEVICEW = uintptr
 39581  type LPDISPLAY_DEVICEW = uintptr
 39582  
 39583  type DISPLAY_DEVICE = DISPLAY_DEVICEA
 39584  type PDISPLAY_DEVICE = PDISPLAY_DEVICEA
 39585  type LPDISPLAY_DEVICE = LPDISPLAY_DEVICEA
 39586  
 39587  type _RGNDATAHEADER = struct {
 39588  	FdwSize   DWORD
 39589  	FiType    DWORD
 39590  	FnCount   DWORD
 39591  	FnRgnSize DWORD
 39592  	FrcBound  RECT
 39593  }
 39594  
 39595  type RGNDATAHEADER = _RGNDATAHEADER
 39596  type PRGNDATAHEADER = uintptr
 39597  
 39598  type _RGNDATA = struct {
 39599  	Frdh         RGNDATAHEADER
 39600  	FBuffer      [1]int8
 39601  	F__ccgo_pad1 [3]byte
 39602  }
 39603  
 39604  type RGNDATA = _RGNDATA
 39605  type PRGNDATA = uintptr
 39606  type NPRGNDATA = uintptr
 39607  type LPRGNDATA = uintptr
 39608  
 39609  type _ABC = struct {
 39610  	FabcA int32
 39611  	FabcB UINT
 39612  	FabcC int32
 39613  }
 39614  
 39615  type ABC = _ABC
 39616  type PABC = uintptr
 39617  type NPABC = uintptr
 39618  type LPABC = uintptr
 39619  
 39620  type _ABCFLOAT = struct {
 39621  	FabcfA FLOAT
 39622  	FabcfB FLOAT
 39623  	FabcfC FLOAT
 39624  }
 39625  
 39626  type ABCFLOAT = _ABCFLOAT
 39627  type PABCFLOAT = uintptr
 39628  type NPABCFLOAT = uintptr
 39629  type LPABCFLOAT = uintptr
 39630  
 39631  type _OUTLINETEXTMETRICA = struct {
 39632  	FotmSize                UINT
 39633  	FotmTextMetrics         TEXTMETRICA
 39634  	FotmFiller              BYTE
 39635  	FotmPanoseNumber        PANOSE
 39636  	F__ccgo_pad1            [1]byte
 39637  	FotmfsSelection         UINT
 39638  	FotmfsType              UINT
 39639  	FotmsCharSlopeRise      int32
 39640  	FotmsCharSlopeRun       int32
 39641  	FotmItalicAngle         int32
 39642  	FotmEMSquare            UINT
 39643  	FotmAscent              int32
 39644  	FotmDescent             int32
 39645  	FotmLineGap             UINT
 39646  	FotmsCapEmHeight        UINT
 39647  	FotmsXHeight            UINT
 39648  	FotmrcFontBox           RECT
 39649  	FotmMacAscent           int32
 39650  	FotmMacDescent          int32
 39651  	FotmMacLineGap          UINT
 39652  	FotmusMinimumPPEM       UINT
 39653  	FotmptSubscriptSize     POINT
 39654  	FotmptSubscriptOffset   POINT
 39655  	FotmptSuperscriptSize   POINT
 39656  	FotmptSuperscriptOffset POINT
 39657  	FotmsStrikeoutSize      UINT
 39658  	FotmsStrikeoutPosition  int32
 39659  	FotmsUnderscoreSize     int32
 39660  	FotmsUnderscorePosition int32
 39661  	F__ccgo_pad2            [4]byte
 39662  	FotmpFamilyName         PSTR
 39663  	FotmpFaceName           PSTR
 39664  	FotmpStyleName          PSTR
 39665  	FotmpFullName           PSTR
 39666  }
 39667  
 39668  type OUTLINETEXTMETRICA = _OUTLINETEXTMETRICA
 39669  type POUTLINETEXTMETRICA = uintptr
 39670  type NPOUTLINETEXTMETRICA = uintptr
 39671  type LPOUTLINETEXTMETRICA = uintptr
 39672  
 39673  type _OUTLINETEXTMETRICW = struct {
 39674  	FotmSize                UINT
 39675  	FotmTextMetrics         TEXTMETRICW
 39676  	FotmFiller              BYTE
 39677  	FotmPanoseNumber        PANOSE
 39678  	F__ccgo_pad1            [1]byte
 39679  	FotmfsSelection         UINT
 39680  	FotmfsType              UINT
 39681  	FotmsCharSlopeRise      int32
 39682  	FotmsCharSlopeRun       int32
 39683  	FotmItalicAngle         int32
 39684  	FotmEMSquare            UINT
 39685  	FotmAscent              int32
 39686  	FotmDescent             int32
 39687  	FotmLineGap             UINT
 39688  	FotmsCapEmHeight        UINT
 39689  	FotmsXHeight            UINT
 39690  	FotmrcFontBox           RECT
 39691  	FotmMacAscent           int32
 39692  	FotmMacDescent          int32
 39693  	FotmMacLineGap          UINT
 39694  	FotmusMinimumPPEM       UINT
 39695  	FotmptSubscriptSize     POINT
 39696  	FotmptSubscriptOffset   POINT
 39697  	FotmptSuperscriptSize   POINT
 39698  	FotmptSuperscriptOffset POINT
 39699  	FotmsStrikeoutSize      UINT
 39700  	FotmsStrikeoutPosition  int32
 39701  	FotmsUnderscoreSize     int32
 39702  	FotmsUnderscorePosition int32
 39703  	FotmpFamilyName         PSTR
 39704  	FotmpFaceName           PSTR
 39705  	FotmpStyleName          PSTR
 39706  	FotmpFullName           PSTR
 39707  }
 39708  
 39709  type OUTLINETEXTMETRICW = _OUTLINETEXTMETRICW
 39710  type POUTLINETEXTMETRICW = uintptr
 39711  type NPOUTLINETEXTMETRICW = uintptr
 39712  type LPOUTLINETEXTMETRICW = uintptr
 39713  
 39714  type OUTLINETEXTMETRIC = OUTLINETEXTMETRICA
 39715  type POUTLINETEXTMETRIC = POUTLINETEXTMETRICA
 39716  type NPOUTLINETEXTMETRIC = NPOUTLINETEXTMETRICA
 39717  type LPOUTLINETEXTMETRIC = LPOUTLINETEXTMETRICA
 39718  
 39719  type tagPOLYTEXTA = struct {
 39720  	Fx           int32
 39721  	Fy           int32
 39722  	Fn           UINT
 39723  	F__ccgo_pad1 [4]byte
 39724  	Flpstr       LPCSTR
 39725  	FuiFlags     UINT
 39726  	Frcl         RECT
 39727  	F__ccgo_pad2 [4]byte
 39728  	Fpdx         uintptr
 39729  }
 39730  
 39731  type POLYTEXTA = tagPOLYTEXTA
 39732  type PPOLYTEXTA = uintptr
 39733  type NPPOLYTEXTA = uintptr
 39734  type LPPOLYTEXTA = uintptr
 39735  
 39736  type tagPOLYTEXTW = struct {
 39737  	Fx           int32
 39738  	Fy           int32
 39739  	Fn           UINT
 39740  	F__ccgo_pad1 [4]byte
 39741  	Flpstr       LPCWSTR
 39742  	FuiFlags     UINT
 39743  	Frcl         RECT
 39744  	F__ccgo_pad2 [4]byte
 39745  	Fpdx         uintptr
 39746  }
 39747  
 39748  type POLYTEXTW = tagPOLYTEXTW
 39749  type PPOLYTEXTW = uintptr
 39750  type NPPOLYTEXTW = uintptr
 39751  type LPPOLYTEXTW = uintptr
 39752  
 39753  type POLYTEXT = POLYTEXTA
 39754  type PPOLYTEXT = PPOLYTEXTA
 39755  type NPPOLYTEXT = NPPOLYTEXTA
 39756  type LPPOLYTEXT = LPPOLYTEXTA
 39757  
 39758  type _FIXED = struct {
 39759  	Ffract WORD
 39760  	Fvalue int16
 39761  }
 39762  
 39763  type FIXED = _FIXED
 39764  
 39765  type _MAT2 = struct {
 39766  	FeM11 FIXED
 39767  	FeM12 FIXED
 39768  	FeM21 FIXED
 39769  	FeM22 FIXED
 39770  }
 39771  
 39772  type MAT2 = _MAT2
 39773  type LPMAT2 = uintptr
 39774  
 39775  type _GLYPHMETRICS = struct {
 39776  	FgmBlackBoxX     UINT
 39777  	FgmBlackBoxY     UINT
 39778  	FgmptGlyphOrigin POINT
 39779  	FgmCellIncX      int16
 39780  	FgmCellIncY      int16
 39781  }
 39782  
 39783  type GLYPHMETRICS = _GLYPHMETRICS
 39784  type LPGLYPHMETRICS = uintptr
 39785  
 39786  type tagPOINTFX = struct {
 39787  	Fx FIXED
 39788  	Fy FIXED
 39789  }
 39790  
 39791  type POINTFX = tagPOINTFX
 39792  type LPPOINTFX = uintptr
 39793  
 39794  type tagTTPOLYCURVE = struct {
 39795  	FwType WORD
 39796  	Fcpfx  WORD
 39797  	Fapfx  [1]POINTFX
 39798  }
 39799  
 39800  type TTPOLYCURVE = tagTTPOLYCURVE
 39801  type LPTTPOLYCURVE = uintptr
 39802  
 39803  type tagTTPOLYGONHEADER = struct {
 39804  	Fcb       DWORD
 39805  	FdwType   DWORD
 39806  	FpfxStart POINTFX
 39807  }
 39808  
 39809  type TTPOLYGONHEADER = tagTTPOLYGONHEADER
 39810  type LPTTPOLYGONHEADER = uintptr
 39811  
 39812  type tagGCP_RESULTSA = struct {
 39813  	FlStructSize DWORD
 39814  	F__ccgo_pad1 [4]byte
 39815  	FlpOutString LPSTR
 39816  	FlpOrder     uintptr
 39817  	FlpDx        uintptr
 39818  	FlpCaretPos  uintptr
 39819  	FlpClass     LPSTR
 39820  	FlpGlyphs    LPWSTR
 39821  	FnGlyphs     UINT
 39822  	FnMaxFit     int32
 39823  }
 39824  
 39825  type GCP_RESULTSA = tagGCP_RESULTSA
 39826  type LPGCP_RESULTSA = uintptr
 39827  type tagGCP_RESULTSW = struct {
 39828  	FlStructSize DWORD
 39829  	F__ccgo_pad1 [4]byte
 39830  	FlpOutString LPWSTR
 39831  	FlpOrder     uintptr
 39832  	FlpDx        uintptr
 39833  	FlpCaretPos  uintptr
 39834  	FlpClass     LPSTR
 39835  	FlpGlyphs    LPWSTR
 39836  	FnGlyphs     UINT
 39837  	FnMaxFit     int32
 39838  }
 39839  
 39840  type GCP_RESULTSW = tagGCP_RESULTSW
 39841  type LPGCP_RESULTSW = uintptr
 39842  
 39843  type GCP_RESULTS = GCP_RESULTSA
 39844  type LPGCP_RESULTS = LPGCP_RESULTSA
 39845  
 39846  type _RASTERIZER_STATUS = struct {
 39847  	FnSize       int16
 39848  	FwFlags      int16
 39849  	FnLanguageID int16
 39850  }
 39851  
 39852  type RASTERIZER_STATUS = _RASTERIZER_STATUS
 39853  type LPRASTERIZER_STATUS = uintptr
 39854  
 39855  type tagPIXELFORMATDESCRIPTOR = struct {
 39856  	FnSize           WORD
 39857  	FnVersion        WORD
 39858  	FdwFlags         DWORD
 39859  	FiPixelType      BYTE
 39860  	FcColorBits      BYTE
 39861  	FcRedBits        BYTE
 39862  	FcRedShift       BYTE
 39863  	FcGreenBits      BYTE
 39864  	FcGreenShift     BYTE
 39865  	FcBlueBits       BYTE
 39866  	FcBlueShift      BYTE
 39867  	FcAlphaBits      BYTE
 39868  	FcAlphaShift     BYTE
 39869  	FcAccumBits      BYTE
 39870  	FcAccumRedBits   BYTE
 39871  	FcAccumGreenBits BYTE
 39872  	FcAccumBlueBits  BYTE
 39873  	FcAccumAlphaBits BYTE
 39874  	FcDepthBits      BYTE
 39875  	FcStencilBits    BYTE
 39876  	FcAuxBuffers     BYTE
 39877  	FiLayerType      BYTE
 39878  	FbReserved       BYTE
 39879  	FdwLayerMask     DWORD
 39880  	FdwVisibleMask   DWORD
 39881  	FdwDamageMask    DWORD
 39882  }
 39883  
 39884  type PIXELFORMATDESCRIPTOR = tagPIXELFORMATDESCRIPTOR
 39885  type PPIXELFORMATDESCRIPTOR = uintptr
 39886  type LPPIXELFORMATDESCRIPTOR = uintptr
 39887  
 39888  type OLDFONTENUMPROCA = uintptr
 39889  type OLDFONTENUMPROCW = uintptr
 39890  
 39891  type FONTENUMPROCA = OLDFONTENUMPROCA
 39892  type FONTENUMPROCW = OLDFONTENUMPROCW
 39893  
 39894  type FONTENUMPROC = FONTENUMPROCA
 39895  
 39896  type GOBJENUMPROC = uintptr
 39897  type LINEDDAPROC = uintptr
 39898  
 39899  type LPFNDEVMODE = uintptr
 39900  type LPFNDEVCAPS = uintptr
 39901  
 39902  type tagWCRANGE = struct {
 39903  	FwcLow   WCHAR
 39904  	FcGlyphs USHORT
 39905  }
 39906  
 39907  type WCRANGE = tagWCRANGE
 39908  type PWCRANGE = uintptr
 39909  type LPWCRANGE = uintptr
 39910  
 39911  type tagGLYPHSET = struct {
 39912  	FcbThis           DWORD
 39913  	FflAccel          DWORD
 39914  	FcGlyphsSupported DWORD
 39915  	FcRanges          DWORD
 39916  	Franges           [1]WCRANGE
 39917  }
 39918  
 39919  type GLYPHSET = tagGLYPHSET
 39920  type PGLYPHSET = uintptr
 39921  type LPGLYPHSET = uintptr
 39922  
 39923  type tagDESIGNVECTOR = struct {
 39924  	FdvReserved DWORD
 39925  	FdvNumAxes  DWORD
 39926  	FdvValues   [16]LONG
 39927  }
 39928  
 39929  type DESIGNVECTOR = tagDESIGNVECTOR
 39930  type PDESIGNVECTOR = uintptr
 39931  type LPDESIGNVECTOR = uintptr
 39932  
 39933  type tagAXISINFOA = struct {
 39934  	FaxMinValue LONG
 39935  	FaxMaxValue LONG
 39936  	FaxAxisName [16]BYTE
 39937  }
 39938  
 39939  type AXISINFOA = tagAXISINFOA
 39940  type PAXISINFOA = uintptr
 39941  type LPAXISINFOA = uintptr
 39942  
 39943  type tagAXISINFOW = struct {
 39944  	FaxMinValue LONG
 39945  	FaxMaxValue LONG
 39946  	FaxAxisName [16]WCHAR
 39947  }
 39948  
 39949  type AXISINFOW = tagAXISINFOW
 39950  type PAXISINFOW = uintptr
 39951  type LPAXISINFOW = uintptr
 39952  
 39953  type AXISINFO = AXISINFOA
 39954  type PAXISINFO = PAXISINFOA
 39955  type LPAXISINFO = LPAXISINFOA
 39956  
 39957  type tagAXESLISTA = struct {
 39958  	FaxlReserved DWORD
 39959  	FaxlNumAxes  DWORD
 39960  	FaxlAxisInfo [16]AXISINFOA
 39961  }
 39962  
 39963  type AXESLISTA = tagAXESLISTA
 39964  type PAXESLISTA = uintptr
 39965  type LPAXESLISTA = uintptr
 39966  
 39967  type tagAXESLISTW = struct {
 39968  	FaxlReserved DWORD
 39969  	FaxlNumAxes  DWORD
 39970  	FaxlAxisInfo [16]AXISINFOW
 39971  }
 39972  
 39973  type AXESLISTW = tagAXESLISTW
 39974  type PAXESLISTW = uintptr
 39975  type LPAXESLISTW = uintptr
 39976  
 39977  type AXESLIST = AXESLISTA
 39978  type PAXESLIST = PAXESLISTA
 39979  type LPAXESLIST = LPAXESLISTA
 39980  
 39981  type tagENUMLOGFONTEXDVA = struct {
 39982  	FelfEnumLogfontEx ENUMLOGFONTEXA
 39983  	FelfDesignVector  DESIGNVECTOR
 39984  }
 39985  
 39986  type ENUMLOGFONTEXDVA = tagENUMLOGFONTEXDVA
 39987  type PENUMLOGFONTEXDVA = uintptr
 39988  type LPENUMLOGFONTEXDVA = uintptr
 39989  
 39990  type tagENUMLOGFONTEXDVW = struct {
 39991  	FelfEnumLogfontEx ENUMLOGFONTEXW
 39992  	FelfDesignVector  DESIGNVECTOR
 39993  }
 39994  
 39995  type ENUMLOGFONTEXDVW = tagENUMLOGFONTEXDVW
 39996  type PENUMLOGFONTEXDVW = uintptr
 39997  type LPENUMLOGFONTEXDVW = uintptr
 39998  
 39999  type ENUMLOGFONTEXDV = ENUMLOGFONTEXDVA
 40000  type PENUMLOGFONTEXDV = PENUMLOGFONTEXDVA
 40001  type LPENUMLOGFONTEXDV = LPENUMLOGFONTEXDVA
 40002  
 40003  type tagENUMTEXTMETRICA = struct {
 40004  	FetmNewTextMetricEx NEWTEXTMETRICEXA
 40005  	FetmAxesList        AXESLISTA
 40006  }
 40007  
 40008  type ENUMTEXTMETRICA = tagENUMTEXTMETRICA
 40009  type PENUMTEXTMETRICA = uintptr
 40010  type LPENUMTEXTMETRICA = uintptr
 40011  type tagENUMTEXTMETRICW = struct {
 40012  	FetmNewTextMetricEx NEWTEXTMETRICEXW
 40013  	FetmAxesList        AXESLISTW
 40014  }
 40015  
 40016  type ENUMTEXTMETRICW = tagENUMTEXTMETRICW
 40017  type PENUMTEXTMETRICW = uintptr
 40018  type LPENUMTEXTMETRICW = uintptr
 40019  
 40020  type ENUMTEXTMETRIC = ENUMTEXTMETRICA
 40021  type PENUMTEXTMETRIC = PENUMTEXTMETRICA
 40022  type LPENUMTEXTMETRIC = LPENUMTEXTMETRICA
 40023  
 40024  type COLOR16 = USHORT
 40025  
 40026  type _TRIVERTEX = struct {
 40027  	Fx     LONG
 40028  	Fy     LONG
 40029  	FRed   COLOR16
 40030  	FGreen COLOR16
 40031  	FBlue  COLOR16
 40032  	FAlpha COLOR16
 40033  }
 40034  
 40035  type TRIVERTEX = _TRIVERTEX
 40036  type PTRIVERTEX = uintptr
 40037  type LPTRIVERTEX = uintptr
 40038  type _GRADIENT_TRIANGLE = struct {
 40039  	FVertex1 ULONG
 40040  	FVertex2 ULONG
 40041  	FVertex3 ULONG
 40042  }
 40043  
 40044  type GRADIENT_TRIANGLE = _GRADIENT_TRIANGLE
 40045  type PGRADIENT_TRIANGLE = uintptr
 40046  type LPGRADIENT_TRIANGLE = uintptr
 40047  
 40048  type _GRADIENT_RECT = struct {
 40049  	FUpperLeft  ULONG
 40050  	FLowerRight ULONG
 40051  }
 40052  
 40053  type GRADIENT_RECT = _GRADIENT_RECT
 40054  type PGRADIENT_RECT = uintptr
 40055  type LPGRADIENT_RECT = uintptr
 40056  type _BLENDFUNCTION = struct {
 40057  	FBlendOp             BYTE
 40058  	FBlendFlags          BYTE
 40059  	FSourceConstantAlpha BYTE
 40060  	FAlphaFormat         BYTE
 40061  }
 40062  
 40063  type BLENDFUNCTION = _BLENDFUNCTION
 40064  type PBLENDFUNCTION = uintptr
 40065  
 40066  type MFENUMPROC = uintptr
 40067  
 40068  type ENHMFENUMPROC = uintptr
 40069  
 40070  type tagDIBSECTION = struct {
 40071  	FdsBm        BITMAP
 40072  	FdsBmih      BITMAPINFOHEADER
 40073  	FdsBitfields [3]DWORD
 40074  	F__ccgo_pad1 [4]byte
 40075  	FdshSection  HANDLE
 40076  	FdsOffset    DWORD
 40077  	F__ccgo_pad2 [4]byte
 40078  }
 40079  
 40080  type DIBSECTION = tagDIBSECTION
 40081  type LPDIBSECTION = uintptr
 40082  type PDIBSECTION = uintptr
 40083  
 40084  type tagCOLORADJUSTMENT = struct {
 40085  	FcaSize            WORD
 40086  	FcaFlags           WORD
 40087  	FcaIlluminantIndex WORD
 40088  	FcaRedGamma        WORD
 40089  	FcaGreenGamma      WORD
 40090  	FcaBlueGamma       WORD
 40091  	FcaReferenceBlack  WORD
 40092  	FcaReferenceWhite  WORD
 40093  	FcaContrast        SHORT
 40094  	FcaBrightness      SHORT
 40095  	FcaColorfulness    SHORT
 40096  	FcaRedGreenTint    SHORT
 40097  }
 40098  
 40099  type COLORADJUSTMENT = tagCOLORADJUSTMENT
 40100  type PCOLORADJUSTMENT = uintptr
 40101  type LPCOLORADJUSTMENT = uintptr
 40102  
 40103  type ABORTPROC = uintptr
 40104  
 40105  type _DOCINFOA = struct {
 40106  	FcbSize       int32
 40107  	F__ccgo_pad1  [4]byte
 40108  	FlpszDocName  LPCSTR
 40109  	FlpszOutput   LPCSTR
 40110  	FlpszDatatype LPCSTR
 40111  	FfwType       DWORD
 40112  	F__ccgo_pad2  [4]byte
 40113  }
 40114  
 40115  type DOCINFOA = _DOCINFOA
 40116  type LPDOCINFOA = uintptr
 40117  
 40118  type _DOCINFOW = struct {
 40119  	FcbSize       int32
 40120  	F__ccgo_pad1  [4]byte
 40121  	FlpszDocName  LPCWSTR
 40122  	FlpszOutput   LPCWSTR
 40123  	FlpszDatatype LPCWSTR
 40124  	FfwType       DWORD
 40125  	F__ccgo_pad2  [4]byte
 40126  }
 40127  
 40128  type DOCINFOW = _DOCINFOW
 40129  type LPDOCINFOW = uintptr
 40130  
 40131  type DOCINFO = DOCINFOA
 40132  type LPDOCINFO = LPDOCINFOA
 40133  
 40134  type tagKERNINGPAIR = struct {
 40135  	FwFirst      WORD
 40136  	FwSecond     WORD
 40137  	FiKernAmount int32
 40138  }
 40139  
 40140  type KERNINGPAIR = tagKERNINGPAIR
 40141  type LPKERNINGPAIR = uintptr
 40142  
 40143  type ICMENUMPROCA = uintptr
 40144  type ICMENUMPROCW = uintptr
 40145  
 40146  type tagEMR = struct {
 40147  	FiType DWORD
 40148  	FnSize DWORD
 40149  }
 40150  
 40151  type EMR = tagEMR
 40152  type PEMR = uintptr
 40153  
 40154  type tagEMRTEXT = struct {
 40155  	FptlReference POINTL
 40156  	FnChars       DWORD
 40157  	FoffString    DWORD
 40158  	FfOptions     DWORD
 40159  	Frcl          RECTL
 40160  	FoffDx        DWORD
 40161  }
 40162  
 40163  type EMRTEXT = tagEMRTEXT
 40164  type PEMRTEXT = uintptr
 40165  
 40166  type tagABORTPATH = struct{ Femr EMR }
 40167  
 40168  type EMRABORTPATH = tagABORTPATH
 40169  type PEMRABORTPATH = uintptr
 40170  type EMRBEGINPATH = tagABORTPATH
 40171  type PEMRBEGINPATH = uintptr
 40172  type EMRENDPATH = tagABORTPATH
 40173  type PEMRENDPATH = uintptr
 40174  type EMRCLOSEFIGURE = tagABORTPATH
 40175  type PEMRCLOSEFIGURE = uintptr
 40176  type EMRFLATTENPATH = tagABORTPATH
 40177  type PEMRFLATTENPATH = uintptr
 40178  type EMRWIDENPATH = tagABORTPATH
 40179  type PEMRWIDENPATH = uintptr
 40180  type EMRSETMETARGN = tagABORTPATH
 40181  type PEMRSETMETARGN = uintptr
 40182  type EMRSAVEDC = tagABORTPATH
 40183  type PEMRSAVEDC = uintptr
 40184  type EMRREALIZEPALETTE = tagABORTPATH
 40185  type PEMRREALIZEPALETTE = uintptr
 40186  
 40187  type tagEMRSELECTCLIPPATH = struct {
 40188  	Femr   EMR
 40189  	FiMode DWORD
 40190  }
 40191  
 40192  type EMRSELECTCLIPPATH = tagEMRSELECTCLIPPATH
 40193  type PEMRSELECTCLIPPATH = uintptr
 40194  type EMRSETBKMODE = tagEMRSELECTCLIPPATH
 40195  type PEMRSETBKMODE = uintptr
 40196  type EMRSETMAPMODE = tagEMRSELECTCLIPPATH
 40197  type PEMRSETMAPMODE = uintptr
 40198  type EMRSETLAYOUT = tagEMRSELECTCLIPPATH
 40199  type PEMRSETLAYOUT = uintptr
 40200  type EMRSETPOLYFILLMODE = tagEMRSELECTCLIPPATH
 40201  type PEMRSETPOLYFILLMODE = uintptr
 40202  type EMRSETROP2 = tagEMRSELECTCLIPPATH
 40203  type PEMRSETROP2 = uintptr
 40204  type EMRSETSTRETCHBLTMODE = tagEMRSELECTCLIPPATH
 40205  type PEMRSETSTRETCHBLTMODE = uintptr
 40206  type EMRSETICMMODE = tagEMRSELECTCLIPPATH
 40207  type PEMRSETICMMODE = uintptr
 40208  type EMRSETTEXTALIGN = tagEMRSELECTCLIPPATH
 40209  type PEMRSETTEXTALIGN = uintptr
 40210  
 40211  type tagEMRSETMITERLIMIT = struct {
 40212  	Femr         EMR
 40213  	FeMiterLimit FLOAT
 40214  }
 40215  
 40216  type EMRSETMITERLIMIT = tagEMRSETMITERLIMIT
 40217  type PEMRSETMITERLIMIT = uintptr
 40218  
 40219  type tagEMRRESTOREDC = struct {
 40220  	Femr       EMR
 40221  	FiRelative LONG
 40222  }
 40223  
 40224  type EMRRESTOREDC = tagEMRRESTOREDC
 40225  type PEMRRESTOREDC = uintptr
 40226  
 40227  type tagEMRSETARCDIRECTION = struct {
 40228  	Femr           EMR
 40229  	FiArcDirection DWORD
 40230  }
 40231  
 40232  type EMRSETARCDIRECTION = tagEMRSETARCDIRECTION
 40233  type PEMRSETARCDIRECTION = uintptr
 40234  
 40235  type tagEMRSETMAPPERFLAGS = struct {
 40236  	Femr     EMR
 40237  	FdwFlags DWORD
 40238  }
 40239  
 40240  type EMRSETMAPPERFLAGS = tagEMRSETMAPPERFLAGS
 40241  type PEMRSETMAPPERFLAGS = uintptr
 40242  
 40243  type tagEMRSETTEXTCOLOR = struct {
 40244  	Femr     EMR
 40245  	FcrColor COLORREF
 40246  }
 40247  
 40248  type EMRSETBKCOLOR = tagEMRSETTEXTCOLOR
 40249  type PEMRSETBKCOLOR = uintptr
 40250  type EMRSETTEXTCOLOR = tagEMRSETTEXTCOLOR
 40251  type PEMRSETTEXTCOLOR = uintptr
 40252  
 40253  type tagEMRSELECTOBJECT = struct {
 40254  	Femr      EMR
 40255  	FihObject DWORD
 40256  }
 40257  
 40258  type EMRSELECTOBJECT = tagEMRSELECTOBJECT
 40259  type PEMRSELECTOBJECT = uintptr
 40260  type EMRDELETEOBJECT = tagEMRSELECTOBJECT
 40261  type PEMRDELETEOBJECT = uintptr
 40262  
 40263  type tagEMRSELECTPALETTE = struct {
 40264  	Femr   EMR
 40265  	FihPal DWORD
 40266  }
 40267  
 40268  type EMRSELECTPALETTE = tagEMRSELECTPALETTE
 40269  type PEMRSELECTPALETTE = uintptr
 40270  
 40271  type tagEMRRESIZEPALETTE = struct {
 40272  	Femr      EMR
 40273  	FihPal    DWORD
 40274  	FcEntries DWORD
 40275  }
 40276  
 40277  type EMRRESIZEPALETTE = tagEMRRESIZEPALETTE
 40278  type PEMRRESIZEPALETTE = uintptr
 40279  
 40280  type tagEMRSETPALETTEENTRIES = struct {
 40281  	Femr         EMR
 40282  	FihPal       DWORD
 40283  	FiStart      DWORD
 40284  	FcEntries    DWORD
 40285  	FaPalEntries [1]PALETTEENTRY
 40286  }
 40287  
 40288  type EMRSETPALETTEENTRIES = tagEMRSETPALETTEENTRIES
 40289  type PEMRSETPALETTEENTRIES = uintptr
 40290  
 40291  type tagEMRSETCOLORADJUSTMENT = struct {
 40292  	Femr             EMR
 40293  	FColorAdjustment COLORADJUSTMENT
 40294  }
 40295  
 40296  type EMRSETCOLORADJUSTMENT = tagEMRSETCOLORADJUSTMENT
 40297  type PEMRSETCOLORADJUSTMENT = uintptr
 40298  
 40299  type tagEMRGDICOMMENT = struct {
 40300  	Femr         EMR
 40301  	FcbData      DWORD
 40302  	FData        [1]BYTE
 40303  	F__ccgo_pad1 [3]byte
 40304  }
 40305  
 40306  type EMRGDICOMMENT = tagEMRGDICOMMENT
 40307  type PEMRGDICOMMENT = uintptr
 40308  
 40309  type tagEMREOF = struct {
 40310  	Femr           EMR
 40311  	FnPalEntries   DWORD
 40312  	FoffPalEntries DWORD
 40313  	FnSizeLast     DWORD
 40314  }
 40315  
 40316  type EMREOF = tagEMREOF
 40317  type PEMREOF = uintptr
 40318  
 40319  type tagEMRLINETO = struct {
 40320  	Femr EMR
 40321  	Fptl POINTL
 40322  }
 40323  
 40324  type EMRLINETO = tagEMRLINETO
 40325  type PEMRLINETO = uintptr
 40326  type EMRMOVETOEX = tagEMRLINETO
 40327  type PEMRMOVETOEX = uintptr
 40328  
 40329  type tagEMROFFSETCLIPRGN = struct {
 40330  	Femr       EMR
 40331  	FptlOffset POINTL
 40332  }
 40333  
 40334  type EMROFFSETCLIPRGN = tagEMROFFSETCLIPRGN
 40335  type PEMROFFSETCLIPRGN = uintptr
 40336  
 40337  type tagEMRFILLPATH = struct {
 40338  	Femr       EMR
 40339  	FrclBounds RECTL
 40340  }
 40341  
 40342  type EMRFILLPATH = tagEMRFILLPATH
 40343  type PEMRFILLPATH = uintptr
 40344  type EMRSTROKEANDFILLPATH = tagEMRFILLPATH
 40345  type PEMRSTROKEANDFILLPATH = uintptr
 40346  type EMRSTROKEPATH = tagEMRFILLPATH
 40347  type PEMRSTROKEPATH = uintptr
 40348  
 40349  type tagEMREXCLUDECLIPRECT = struct {
 40350  	Femr     EMR
 40351  	FrclClip RECTL
 40352  }
 40353  
 40354  type EMREXCLUDECLIPRECT = tagEMREXCLUDECLIPRECT
 40355  type PEMREXCLUDECLIPRECT = uintptr
 40356  type EMRINTERSECTCLIPRECT = tagEMREXCLUDECLIPRECT
 40357  type PEMRINTERSECTCLIPRECT = uintptr
 40358  
 40359  type tagEMRSETVIEWPORTORGEX = struct {
 40360  	Femr       EMR
 40361  	FptlOrigin POINTL
 40362  }
 40363  
 40364  type EMRSETVIEWPORTORGEX = tagEMRSETVIEWPORTORGEX
 40365  type PEMRSETVIEWPORTORGEX = uintptr
 40366  type EMRSETWINDOWORGEX = tagEMRSETVIEWPORTORGEX
 40367  type PEMRSETWINDOWORGEX = uintptr
 40368  type EMRSETBRUSHORGEX = tagEMRSETVIEWPORTORGEX
 40369  type PEMRSETBRUSHORGEX = uintptr
 40370  
 40371  type tagEMRSETVIEWPORTEXTEX = struct {
 40372  	Femr       EMR
 40373  	FszlExtent SIZEL
 40374  }
 40375  
 40376  type EMRSETVIEWPORTEXTEX = tagEMRSETVIEWPORTEXTEX
 40377  type PEMRSETVIEWPORTEXTEX = uintptr
 40378  type EMRSETWINDOWEXTEX = tagEMRSETVIEWPORTEXTEX
 40379  type PEMRSETWINDOWEXTEX = uintptr
 40380  
 40381  type tagEMRSCALEVIEWPORTEXTEX = struct {
 40382  	Femr    EMR
 40383  	FxNum   LONG
 40384  	FxDenom LONG
 40385  	FyNum   LONG
 40386  	FyDenom LONG
 40387  }
 40388  
 40389  type EMRSCALEVIEWPORTEXTEX = tagEMRSCALEVIEWPORTEXTEX
 40390  type PEMRSCALEVIEWPORTEXTEX = uintptr
 40391  type EMRSCALEWINDOWEXTEX = tagEMRSCALEVIEWPORTEXTEX
 40392  type PEMRSCALEWINDOWEXTEX = uintptr
 40393  
 40394  type tagEMRSETWORLDTRANSFORM = struct {
 40395  	Femr   EMR
 40396  	Fxform XFORM
 40397  }
 40398  
 40399  type EMRSETWORLDTRANSFORM = tagEMRSETWORLDTRANSFORM
 40400  type PEMRSETWORLDTRANSFORM = uintptr
 40401  
 40402  type tagEMRMODIFYWORLDTRANSFORM = struct {
 40403  	Femr   EMR
 40404  	Fxform XFORM
 40405  	FiMode DWORD
 40406  }
 40407  
 40408  type EMRMODIFYWORLDTRANSFORM = tagEMRMODIFYWORLDTRANSFORM
 40409  type PEMRMODIFYWORLDTRANSFORM = uintptr
 40410  
 40411  type tagEMRSETPIXELV = struct {
 40412  	Femr      EMR
 40413  	FptlPixel POINTL
 40414  	FcrColor  COLORREF
 40415  }
 40416  
 40417  type EMRSETPIXELV = tagEMRSETPIXELV
 40418  type PEMRSETPIXELV = uintptr
 40419  
 40420  type tagEMREXTFLOODFILL = struct {
 40421  	Femr      EMR
 40422  	FptlStart POINTL
 40423  	FcrColor  COLORREF
 40424  	FiMode    DWORD
 40425  }
 40426  
 40427  type EMREXTFLOODFILL = tagEMREXTFLOODFILL
 40428  type PEMREXTFLOODFILL = uintptr
 40429  
 40430  type tagEMRELLIPSE = struct {
 40431  	Femr    EMR
 40432  	FrclBox RECTL
 40433  }
 40434  
 40435  type EMRELLIPSE = tagEMRELLIPSE
 40436  type PEMRELLIPSE = uintptr
 40437  type EMRRECTANGLE = tagEMRELLIPSE
 40438  type PEMRRECTANGLE = uintptr
 40439  
 40440  type tagEMRROUNDRECT = struct {
 40441  	Femr       EMR
 40442  	FrclBox    RECTL
 40443  	FszlCorner SIZEL
 40444  }
 40445  
 40446  type EMRROUNDRECT = tagEMRROUNDRECT
 40447  type PEMRROUNDRECT = uintptr
 40448  
 40449  type tagEMRARC = struct {
 40450  	Femr      EMR
 40451  	FrclBox   RECTL
 40452  	FptlStart POINTL
 40453  	FptlEnd   POINTL
 40454  }
 40455  
 40456  type EMRARC = tagEMRARC
 40457  type PEMRARC = uintptr
 40458  type EMRARCTO = tagEMRARC
 40459  type PEMRARCTO = uintptr
 40460  type EMRCHORD = tagEMRARC
 40461  type PEMRCHORD = uintptr
 40462  type EMRPIE = tagEMRARC
 40463  type PEMRPIE = uintptr
 40464  
 40465  type tagEMRANGLEARC = struct {
 40466  	Femr         EMR
 40467  	FptlCenter   POINTL
 40468  	FnRadius     DWORD
 40469  	FeStartAngle FLOAT
 40470  	FeSweepAngle FLOAT
 40471  }
 40472  
 40473  type EMRANGLEARC = tagEMRANGLEARC
 40474  type PEMRANGLEARC = uintptr
 40475  
 40476  type tagEMRPOLYLINE = struct {
 40477  	Femr       EMR
 40478  	FrclBounds RECTL
 40479  	Fcptl      DWORD
 40480  	Faptl      [1]POINTL
 40481  }
 40482  
 40483  type EMRPOLYLINE = tagEMRPOLYLINE
 40484  type PEMRPOLYLINE = uintptr
 40485  type EMRPOLYBEZIER = tagEMRPOLYLINE
 40486  type PEMRPOLYBEZIER = uintptr
 40487  type EMRPOLYGON = tagEMRPOLYLINE
 40488  type PEMRPOLYGON = uintptr
 40489  type EMRPOLYBEZIERTO = tagEMRPOLYLINE
 40490  type PEMRPOLYBEZIERTO = uintptr
 40491  type EMRPOLYLINETO = tagEMRPOLYLINE
 40492  type PEMRPOLYLINETO = uintptr
 40493  
 40494  type tagEMRPOLYLINE16 = struct {
 40495  	Femr       EMR
 40496  	FrclBounds RECTL
 40497  	Fcpts      DWORD
 40498  	Fapts      [1]POINTS
 40499  }
 40500  
 40501  type EMRPOLYLINE16 = tagEMRPOLYLINE16
 40502  type PEMRPOLYLINE16 = uintptr
 40503  type EMRPOLYBEZIER16 = tagEMRPOLYLINE16
 40504  type PEMRPOLYBEZIER16 = uintptr
 40505  type EMRPOLYGON16 = tagEMRPOLYLINE16
 40506  type PEMRPOLYGON16 = uintptr
 40507  type EMRPOLYBEZIERTO16 = tagEMRPOLYLINE16
 40508  type PEMRPOLYBEZIERTO16 = uintptr
 40509  type EMRPOLYLINETO16 = tagEMRPOLYLINE16
 40510  type PEMRPOLYLINETO16 = uintptr
 40511  
 40512  type tagEMRPOLYDRAW = struct {
 40513  	Femr         EMR
 40514  	FrclBounds   RECTL
 40515  	Fcptl        DWORD
 40516  	Faptl        [1]POINTL
 40517  	FabTypes     [1]BYTE
 40518  	F__ccgo_pad1 [3]byte
 40519  }
 40520  
 40521  type EMRPOLYDRAW = tagEMRPOLYDRAW
 40522  type PEMRPOLYDRAW = uintptr
 40523  
 40524  type tagEMRPOLYDRAW16 = struct {
 40525  	Femr         EMR
 40526  	FrclBounds   RECTL
 40527  	Fcpts        DWORD
 40528  	Fapts        [1]POINTS
 40529  	FabTypes     [1]BYTE
 40530  	F__ccgo_pad1 [3]byte
 40531  }
 40532  
 40533  type EMRPOLYDRAW16 = tagEMRPOLYDRAW16
 40534  type PEMRPOLYDRAW16 = uintptr
 40535  
 40536  type tagEMRPOLYPOLYLINE = struct {
 40537  	Femr         EMR
 40538  	FrclBounds   RECTL
 40539  	FnPolys      DWORD
 40540  	Fcptl        DWORD
 40541  	FaPolyCounts [1]DWORD
 40542  	Faptl        [1]POINTL
 40543  }
 40544  
 40545  type EMRPOLYPOLYLINE = tagEMRPOLYPOLYLINE
 40546  type PEMRPOLYPOLYLINE = uintptr
 40547  type EMRPOLYPOLYGON = tagEMRPOLYPOLYLINE
 40548  type PEMRPOLYPOLYGON = uintptr
 40549  
 40550  type tagEMRPOLYPOLYLINE16 = struct {
 40551  	Femr         EMR
 40552  	FrclBounds   RECTL
 40553  	FnPolys      DWORD
 40554  	Fcpts        DWORD
 40555  	FaPolyCounts [1]DWORD
 40556  	Fapts        [1]POINTS
 40557  }
 40558  
 40559  type EMRPOLYPOLYLINE16 = tagEMRPOLYPOLYLINE16
 40560  type PEMRPOLYPOLYLINE16 = uintptr
 40561  type EMRPOLYPOLYGON16 = tagEMRPOLYPOLYLINE16
 40562  type PEMRPOLYPOLYGON16 = uintptr
 40563  
 40564  type tagEMRINVERTRGN = struct {
 40565  	Femr         EMR
 40566  	FrclBounds   RECTL
 40567  	FcbRgnData   DWORD
 40568  	FRgnData     [1]BYTE
 40569  	F__ccgo_pad1 [3]byte
 40570  }
 40571  
 40572  type EMRINVERTRGN = tagEMRINVERTRGN
 40573  type PEMRINVERTRGN = uintptr
 40574  type EMRPAINTRGN = tagEMRINVERTRGN
 40575  type PEMRPAINTRGN = uintptr
 40576  
 40577  type tagEMRFILLRGN = struct {
 40578  	Femr         EMR
 40579  	FrclBounds   RECTL
 40580  	FcbRgnData   DWORD
 40581  	FihBrush     DWORD
 40582  	FRgnData     [1]BYTE
 40583  	F__ccgo_pad1 [3]byte
 40584  }
 40585  
 40586  type EMRFILLRGN = tagEMRFILLRGN
 40587  type PEMRFILLRGN = uintptr
 40588  
 40589  type tagEMRFRAMERGN = struct {
 40590  	Femr         EMR
 40591  	FrclBounds   RECTL
 40592  	FcbRgnData   DWORD
 40593  	FihBrush     DWORD
 40594  	FszlStroke   SIZEL
 40595  	FRgnData     [1]BYTE
 40596  	F__ccgo_pad1 [3]byte
 40597  }
 40598  
 40599  type EMRFRAMERGN = tagEMRFRAMERGN
 40600  type PEMRFRAMERGN = uintptr
 40601  
 40602  type tagEMREXTSELECTCLIPRGN = struct {
 40603  	Femr         EMR
 40604  	FcbRgnData   DWORD
 40605  	FiMode       DWORD
 40606  	FRgnData     [1]BYTE
 40607  	F__ccgo_pad1 [3]byte
 40608  }
 40609  
 40610  type EMREXTSELECTCLIPRGN = tagEMREXTSELECTCLIPRGN
 40611  type PEMREXTSELECTCLIPRGN = uintptr
 40612  
 40613  type tagEMREXTTEXTOUTA = struct {
 40614  	Femr           EMR
 40615  	FrclBounds     RECTL
 40616  	FiGraphicsMode DWORD
 40617  	FexScale       FLOAT
 40618  	FeyScale       FLOAT
 40619  	Femrtext       EMRTEXT
 40620  }
 40621  
 40622  type EMREXTTEXTOUTA = tagEMREXTTEXTOUTA
 40623  type PEMREXTTEXTOUTA = uintptr
 40624  type EMREXTTEXTOUTW = tagEMREXTTEXTOUTA
 40625  type PEMREXTTEXTOUTW = uintptr
 40626  
 40627  type tagEMRPOLYTEXTOUTA = struct {
 40628  	Femr           EMR
 40629  	FrclBounds     RECTL
 40630  	FiGraphicsMode DWORD
 40631  	FexScale       FLOAT
 40632  	FeyScale       FLOAT
 40633  	FcStrings      LONG
 40634  	Faemrtext      [1]EMRTEXT
 40635  }
 40636  
 40637  type EMRPOLYTEXTOUTA = tagEMRPOLYTEXTOUTA
 40638  type PEMRPOLYTEXTOUTA = uintptr
 40639  type EMRPOLYTEXTOUTW = tagEMRPOLYTEXTOUTA
 40640  type PEMRPOLYTEXTOUTW = uintptr
 40641  
 40642  type tagEMRBITBLT = struct {
 40643  	Femr          EMR
 40644  	FrclBounds    RECTL
 40645  	FxDest        LONG
 40646  	FyDest        LONG
 40647  	FcxDest       LONG
 40648  	FcyDest       LONG
 40649  	FdwRop        DWORD
 40650  	FxSrc         LONG
 40651  	FySrc         LONG
 40652  	FxformSrc     XFORM
 40653  	FcrBkColorSrc COLORREF
 40654  	FiUsageSrc    DWORD
 40655  	FoffBmiSrc    DWORD
 40656  	FcbBmiSrc     DWORD
 40657  	FoffBitsSrc   DWORD
 40658  	FcbBitsSrc    DWORD
 40659  }
 40660  
 40661  type EMRBITBLT = tagEMRBITBLT
 40662  type PEMRBITBLT = uintptr
 40663  
 40664  type tagEMRSTRETCHBLT = struct {
 40665  	Femr          EMR
 40666  	FrclBounds    RECTL
 40667  	FxDest        LONG
 40668  	FyDest        LONG
 40669  	FcxDest       LONG
 40670  	FcyDest       LONG
 40671  	FdwRop        DWORD
 40672  	FxSrc         LONG
 40673  	FySrc         LONG
 40674  	FxformSrc     XFORM
 40675  	FcrBkColorSrc COLORREF
 40676  	FiUsageSrc    DWORD
 40677  	FoffBmiSrc    DWORD
 40678  	FcbBmiSrc     DWORD
 40679  	FoffBitsSrc   DWORD
 40680  	FcbBitsSrc    DWORD
 40681  	FcxSrc        LONG
 40682  	FcySrc        LONG
 40683  }
 40684  
 40685  type EMRSTRETCHBLT = tagEMRSTRETCHBLT
 40686  type PEMRSTRETCHBLT = uintptr
 40687  
 40688  type tagEMRMASKBLT = struct {
 40689  	Femr          EMR
 40690  	FrclBounds    RECTL
 40691  	FxDest        LONG
 40692  	FyDest        LONG
 40693  	FcxDest       LONG
 40694  	FcyDest       LONG
 40695  	FdwRop        DWORD
 40696  	FxSrc         LONG
 40697  	FySrc         LONG
 40698  	FxformSrc     XFORM
 40699  	FcrBkColorSrc COLORREF
 40700  	FiUsageSrc    DWORD
 40701  	FoffBmiSrc    DWORD
 40702  	FcbBmiSrc     DWORD
 40703  	FoffBitsSrc   DWORD
 40704  	FcbBitsSrc    DWORD
 40705  	FxMask        LONG
 40706  	FyMask        LONG
 40707  	FiUsageMask   DWORD
 40708  	FoffBmiMask   DWORD
 40709  	FcbBmiMask    DWORD
 40710  	FoffBitsMask  DWORD
 40711  	FcbBitsMask   DWORD
 40712  }
 40713  
 40714  type EMRMASKBLT = tagEMRMASKBLT
 40715  type PEMRMASKBLT = uintptr
 40716  
 40717  type tagEMRPLGBLT = struct {
 40718  	Femr          EMR
 40719  	FrclBounds    RECTL
 40720  	FaptlDest     [3]POINTL
 40721  	FxSrc         LONG
 40722  	FySrc         LONG
 40723  	FcxSrc        LONG
 40724  	FcySrc        LONG
 40725  	FxformSrc     XFORM
 40726  	FcrBkColorSrc COLORREF
 40727  	FiUsageSrc    DWORD
 40728  	FoffBmiSrc    DWORD
 40729  	FcbBmiSrc     DWORD
 40730  	FoffBitsSrc   DWORD
 40731  	FcbBitsSrc    DWORD
 40732  	FxMask        LONG
 40733  	FyMask        LONG
 40734  	FiUsageMask   DWORD
 40735  	FoffBmiMask   DWORD
 40736  	FcbBmiMask    DWORD
 40737  	FoffBitsMask  DWORD
 40738  	FcbBitsMask   DWORD
 40739  }
 40740  
 40741  type EMRPLGBLT = tagEMRPLGBLT
 40742  type PEMRPLGBLT = uintptr
 40743  
 40744  type tagEMRSETDIBITSTODEVICE = struct {
 40745  	Femr        EMR
 40746  	FrclBounds  RECTL
 40747  	FxDest      LONG
 40748  	FyDest      LONG
 40749  	FxSrc       LONG
 40750  	FySrc       LONG
 40751  	FcxSrc      LONG
 40752  	FcySrc      LONG
 40753  	FoffBmiSrc  DWORD
 40754  	FcbBmiSrc   DWORD
 40755  	FoffBitsSrc DWORD
 40756  	FcbBitsSrc  DWORD
 40757  	FiUsageSrc  DWORD
 40758  	FiStartScan DWORD
 40759  	FcScans     DWORD
 40760  }
 40761  
 40762  type EMRSETDIBITSTODEVICE = tagEMRSETDIBITSTODEVICE
 40763  type PEMRSETDIBITSTODEVICE = uintptr
 40764  
 40765  type tagEMRSTRETCHDIBITS = struct {
 40766  	Femr        EMR
 40767  	FrclBounds  RECTL
 40768  	FxDest      LONG
 40769  	FyDest      LONG
 40770  	FxSrc       LONG
 40771  	FySrc       LONG
 40772  	FcxSrc      LONG
 40773  	FcySrc      LONG
 40774  	FoffBmiSrc  DWORD
 40775  	FcbBmiSrc   DWORD
 40776  	FoffBitsSrc DWORD
 40777  	FcbBitsSrc  DWORD
 40778  	FiUsageSrc  DWORD
 40779  	FdwRop      DWORD
 40780  	FcxDest     LONG
 40781  	FcyDest     LONG
 40782  }
 40783  
 40784  type EMRSTRETCHDIBITS = tagEMRSTRETCHDIBITS
 40785  type PEMRSTRETCHDIBITS = uintptr
 40786  
 40787  type tagEMREXTCREATEFONTINDIRECTW = struct {
 40788  	Femr    EMR
 40789  	FihFont DWORD
 40790  	Felfw   EXTLOGFONTW
 40791  }
 40792  
 40793  type EMREXTCREATEFONTINDIRECTW = tagEMREXTCREATEFONTINDIRECTW
 40794  type PEMREXTCREATEFONTINDIRECTW = uintptr
 40795  
 40796  type tagEMRCREATEPALETTE = struct {
 40797  	Femr   EMR
 40798  	FihPal DWORD
 40799  	Flgpl  LOGPALETTE
 40800  }
 40801  
 40802  type EMRCREATEPALETTE = tagEMRCREATEPALETTE
 40803  type PEMRCREATEPALETTE = uintptr
 40804  
 40805  type tagEMRCREATEPEN = struct {
 40806  	Femr   EMR
 40807  	FihPen DWORD
 40808  	Flopn  LOGPEN
 40809  }
 40810  
 40811  type EMRCREATEPEN = tagEMRCREATEPEN
 40812  type PEMRCREATEPEN = uintptr
 40813  
 40814  type tagEMREXTCREATEPEN = struct {
 40815  	Femr         EMR
 40816  	FihPen       DWORD
 40817  	FoffBmi      DWORD
 40818  	FcbBmi       DWORD
 40819  	FoffBits     DWORD
 40820  	FcbBits      DWORD
 40821  	F__ccgo_pad1 [4]byte
 40822  	Felp         EXTLOGPEN
 40823  }
 40824  
 40825  type EMREXTCREATEPEN = tagEMREXTCREATEPEN
 40826  type PEMREXTCREATEPEN = uintptr
 40827  
 40828  type tagEMRCREATEBRUSHINDIRECT = struct {
 40829  	Femr     EMR
 40830  	FihBrush DWORD
 40831  	Flb      LOGBRUSH32
 40832  }
 40833  
 40834  type EMRCREATEBRUSHINDIRECT = tagEMRCREATEBRUSHINDIRECT
 40835  type PEMRCREATEBRUSHINDIRECT = uintptr
 40836  
 40837  type tagEMRCREATEMONOBRUSH = struct {
 40838  	Femr     EMR
 40839  	FihBrush DWORD
 40840  	FiUsage  DWORD
 40841  	FoffBmi  DWORD
 40842  	FcbBmi   DWORD
 40843  	FoffBits DWORD
 40844  	FcbBits  DWORD
 40845  }
 40846  
 40847  type EMRCREATEMONOBRUSH = tagEMRCREATEMONOBRUSH
 40848  type PEMRCREATEMONOBRUSH = uintptr
 40849  
 40850  type tagEMRCREATEDIBPATTERNBRUSHPT = struct {
 40851  	Femr     EMR
 40852  	FihBrush DWORD
 40853  	FiUsage  DWORD
 40854  	FoffBmi  DWORD
 40855  	FcbBmi   DWORD
 40856  	FoffBits DWORD
 40857  	FcbBits  DWORD
 40858  }
 40859  
 40860  type EMRCREATEDIBPATTERNBRUSHPT = tagEMRCREATEDIBPATTERNBRUSHPT
 40861  type PEMRCREATEDIBPATTERNBRUSHPT = uintptr
 40862  
 40863  type tagEMRFORMAT = struct {
 40864  	FdSignature DWORD
 40865  	FnVersion   DWORD
 40866  	FcbData     DWORD
 40867  	FoffData    DWORD
 40868  }
 40869  
 40870  type EMRFORMAT = tagEMRFORMAT
 40871  type PEMRFORMAT = uintptr
 40872  
 40873  type tagEMRGLSRECORD = struct {
 40874  	Femr         EMR
 40875  	FcbData      DWORD
 40876  	FData        [1]BYTE
 40877  	F__ccgo_pad1 [3]byte
 40878  }
 40879  
 40880  type EMRGLSRECORD = tagEMRGLSRECORD
 40881  type PEMRGLSRECORD = uintptr
 40882  
 40883  type tagEMRGLSBOUNDEDRECORD = struct {
 40884  	Femr         EMR
 40885  	FrclBounds   RECTL
 40886  	FcbData      DWORD
 40887  	FData        [1]BYTE
 40888  	F__ccgo_pad1 [3]byte
 40889  }
 40890  
 40891  type EMRGLSBOUNDEDRECORD = tagEMRGLSBOUNDEDRECORD
 40892  type PEMRGLSBOUNDEDRECORD = uintptr
 40893  
 40894  type tagEMRPIXELFORMAT = struct {
 40895  	Femr EMR
 40896  	Fpfd PIXELFORMATDESCRIPTOR
 40897  }
 40898  
 40899  type EMRPIXELFORMAT = tagEMRPIXELFORMAT
 40900  type PEMRPIXELFORMAT = uintptr
 40901  
 40902  type tagEMRCREATECOLORSPACE = struct {
 40903  	Femr  EMR
 40904  	FihCS DWORD
 40905  	Flcs  LOGCOLORSPACEA
 40906  }
 40907  
 40908  type EMRCREATECOLORSPACE = tagEMRCREATECOLORSPACE
 40909  type PEMRCREATECOLORSPACE = uintptr
 40910  
 40911  type tagEMRSETCOLORSPACE = struct {
 40912  	Femr  EMR
 40913  	FihCS DWORD
 40914  }
 40915  
 40916  type EMRSETCOLORSPACE = tagEMRSETCOLORSPACE
 40917  type PEMRSETCOLORSPACE = uintptr
 40918  type EMRSELECTCOLORSPACE = tagEMRSETCOLORSPACE
 40919  type PEMRSELECTCOLORSPACE = uintptr
 40920  type EMRDELETECOLORSPACE = tagEMRSETCOLORSPACE
 40921  type PEMRDELETECOLORSPACE = uintptr
 40922  
 40923  type tagEMREXTESCAPE = struct {
 40924  	Femr         EMR
 40925  	FiEscape     INT
 40926  	FcbEscData   INT
 40927  	FEscData     [1]BYTE
 40928  	F__ccgo_pad1 [3]byte
 40929  }
 40930  
 40931  type EMREXTESCAPE = tagEMREXTESCAPE
 40932  type PEMREXTESCAPE = uintptr
 40933  type EMRDRAWESCAPE = tagEMREXTESCAPE
 40934  type PEMRDRAWESCAPE = uintptr
 40935  
 40936  type tagEMRNAMEDESCAPE = struct {
 40937  	Femr         EMR
 40938  	FiEscape     INT
 40939  	FcbDriver    INT
 40940  	FcbEscData   INT
 40941  	FEscData     [1]BYTE
 40942  	F__ccgo_pad1 [3]byte
 40943  }
 40944  
 40945  type EMRNAMEDESCAPE = tagEMRNAMEDESCAPE
 40946  type PEMRNAMEDESCAPE = uintptr
 40947  
 40948  type tagEMRSETICMPROFILE = struct {
 40949  	Femr         EMR
 40950  	FdwFlags     DWORD
 40951  	FcbName      DWORD
 40952  	FcbData      DWORD
 40953  	FData        [1]BYTE
 40954  	F__ccgo_pad1 [3]byte
 40955  }
 40956  
 40957  type EMRSETICMPROFILE = tagEMRSETICMPROFILE
 40958  type PEMRSETICMPROFILE = uintptr
 40959  type EMRSETICMPROFILEA = tagEMRSETICMPROFILE
 40960  type PEMRSETICMPROFILEA = uintptr
 40961  type EMRSETICMPROFILEW = tagEMRSETICMPROFILE
 40962  type PEMRSETICMPROFILEW = uintptr
 40963  
 40964  type tagEMRCREATECOLORSPACEW = struct {
 40965  	Femr         EMR
 40966  	FihCS        DWORD
 40967  	Flcs         LOGCOLORSPACEW
 40968  	FdwFlags     DWORD
 40969  	FcbData      DWORD
 40970  	FData        [1]BYTE
 40971  	F__ccgo_pad1 [3]byte
 40972  }
 40973  
 40974  type EMRCREATECOLORSPACEW = tagEMRCREATECOLORSPACEW
 40975  type PEMRCREATECOLORSPACEW = uintptr
 40976  
 40977  type tagCOLORMATCHTOTARGET = struct {
 40978  	Femr         EMR
 40979  	FdwAction    DWORD
 40980  	FdwFlags     DWORD
 40981  	FcbName      DWORD
 40982  	FcbData      DWORD
 40983  	FData        [1]BYTE
 40984  	F__ccgo_pad1 [3]byte
 40985  }
 40986  
 40987  type EMRCOLORMATCHTOTARGET = tagCOLORMATCHTOTARGET
 40988  type PEMRCOLORMATCHTOTARGET = uintptr
 40989  
 40990  type tagCOLORCORRECTPALETTE = struct {
 40991  	Femr         EMR
 40992  	FihPalette   DWORD
 40993  	FnFirstEntry DWORD
 40994  	FnPalEntries DWORD
 40995  	FnReserved   DWORD
 40996  }
 40997  
 40998  type EMRCOLORCORRECTPALETTE = tagCOLORCORRECTPALETTE
 40999  type PEMRCOLORCORRECTPALETTE = uintptr
 41000  
 41001  type tagEMRALPHABLEND = struct {
 41002  	Femr          EMR
 41003  	FrclBounds    RECTL
 41004  	FxDest        LONG
 41005  	FyDest        LONG
 41006  	FcxDest       LONG
 41007  	FcyDest       LONG
 41008  	FdwRop        DWORD
 41009  	FxSrc         LONG
 41010  	FySrc         LONG
 41011  	FxformSrc     XFORM
 41012  	FcrBkColorSrc COLORREF
 41013  	FiUsageSrc    DWORD
 41014  	FoffBmiSrc    DWORD
 41015  	FcbBmiSrc     DWORD
 41016  	FoffBitsSrc   DWORD
 41017  	FcbBitsSrc    DWORD
 41018  	FcxSrc        LONG
 41019  	FcySrc        LONG
 41020  }
 41021  
 41022  type EMRALPHABLEND = tagEMRALPHABLEND
 41023  type PEMRALPHABLEND = uintptr
 41024  
 41025  type tagEMRGRADIENTFILL = struct {
 41026  	Femr       EMR
 41027  	FrclBounds RECTL
 41028  	FnVer      DWORD
 41029  	FnTri      DWORD
 41030  	FulMode    ULONG
 41031  	FVer       [1]TRIVERTEX
 41032  }
 41033  
 41034  type EMRGRADIENTFILL = tagEMRGRADIENTFILL
 41035  type PEMRGRADIENTFILL = uintptr
 41036  
 41037  type tagEMRTRANSPARENTBLT = struct {
 41038  	Femr          EMR
 41039  	FrclBounds    RECTL
 41040  	FxDest        LONG
 41041  	FyDest        LONG
 41042  	FcxDest       LONG
 41043  	FcyDest       LONG
 41044  	FdwRop        DWORD
 41045  	FxSrc         LONG
 41046  	FySrc         LONG
 41047  	FxformSrc     XFORM
 41048  	FcrBkColorSrc COLORREF
 41049  	FiUsageSrc    DWORD
 41050  	FoffBmiSrc    DWORD
 41051  	FcbBmiSrc     DWORD
 41052  	FoffBitsSrc   DWORD
 41053  	FcbBitsSrc    DWORD
 41054  	FcxSrc        LONG
 41055  	FcySrc        LONG
 41056  }
 41057  
 41058  type EMRTRANSPARENTBLT = tagEMRTRANSPARENTBLT
 41059  type PEMRTRANSPARENTBLT = uintptr
 41060  
 41061  type _POINTFLOAT = struct {
 41062  	Fx FLOAT
 41063  	Fy FLOAT
 41064  }
 41065  
 41066  type POINTFLOAT = _POINTFLOAT
 41067  type PPOINTFLOAT = uintptr
 41068  
 41069  type _GLYPHMETRICSFLOAT = struct {
 41070  	FgmfBlackBoxX     FLOAT
 41071  	FgmfBlackBoxY     FLOAT
 41072  	FgmfptGlyphOrigin POINTFLOAT
 41073  	FgmfCellIncX      FLOAT
 41074  	FgmfCellIncY      FLOAT
 41075  }
 41076  
 41077  type GLYPHMETRICSFLOAT = _GLYPHMETRICSFLOAT
 41078  type PGLYPHMETRICSFLOAT = uintptr
 41079  type LPGLYPHMETRICSFLOAT = uintptr
 41080  
 41081  type tagLAYERPLANEDESCRIPTOR = struct {
 41082  	FnSize           WORD
 41083  	FnVersion        WORD
 41084  	FdwFlags         DWORD
 41085  	FiPixelType      BYTE
 41086  	FcColorBits      BYTE
 41087  	FcRedBits        BYTE
 41088  	FcRedShift       BYTE
 41089  	FcGreenBits      BYTE
 41090  	FcGreenShift     BYTE
 41091  	FcBlueBits       BYTE
 41092  	FcBlueShift      BYTE
 41093  	FcAlphaBits      BYTE
 41094  	FcAlphaShift     BYTE
 41095  	FcAccumBits      BYTE
 41096  	FcAccumRedBits   BYTE
 41097  	FcAccumGreenBits BYTE
 41098  	FcAccumBlueBits  BYTE
 41099  	FcAccumAlphaBits BYTE
 41100  	FcDepthBits      BYTE
 41101  	FcStencilBits    BYTE
 41102  	FcAuxBuffers     BYTE
 41103  	FiLayerPlane     BYTE
 41104  	FbReserved       BYTE
 41105  	FcrTransparent   COLORREF
 41106  }
 41107  
 41108  type LAYERPLANEDESCRIPTOR = tagLAYERPLANEDESCRIPTOR
 41109  type PLAYERPLANEDESCRIPTOR = uintptr
 41110  type LPLAYERPLANEDESCRIPTOR = uintptr
 41111  
 41112  type _WGLSWAP = struct {
 41113  	Fhdc         HDC
 41114  	FuiFlags     UINT
 41115  	F__ccgo_pad1 [4]byte
 41116  }
 41117  
 41118  type WGLSWAP = _WGLSWAP
 41119  type PWGLSWAP = uintptr
 41120  type LPWGLSWAP = uintptr
 41121  
 41122  type HDWP = HANDLE
 41123  type LPMENUTEMPLATEA = PVOID
 41124  type LPMENUTEMPLATEW = PVOID
 41125  type LPMENUTEMPLATE = LPMENUTEMPLATEA
 41126  
 41127  type WNDPROC = uintptr
 41128  
 41129  type DLGPROC = uintptr
 41130  
 41131  type TIMERPROC = uintptr
 41132  type GRAYSTRINGPROC = uintptr
 41133  type WNDENUMPROC = uintptr
 41134  type HOOKPROC = uintptr
 41135  type SENDASYNCPROC = uintptr
 41136  
 41137  type PROPENUMPROCA = uintptr
 41138  type PROPENUMPROCW = uintptr
 41139  
 41140  type PROPENUMPROCEXA = uintptr
 41141  type PROPENUMPROCEXW = uintptr
 41142  
 41143  type EDITWORDBREAKPROCA = uintptr
 41144  type EDITWORDBREAKPROCW = uintptr
 41145  
 41146  type DRAWSTATEPROC = uintptr
 41147  
 41148  type PROPENUMPROC = PROPENUMPROCA
 41149  type PROPENUMPROCEX = PROPENUMPROCEXA
 41150  type EDITWORDBREAKPROC = EDITWORDBREAKPROCA
 41151  
 41152  type NAMEENUMPROCA = uintptr
 41153  type NAMEENUMPROCW = uintptr
 41154  type WINSTAENUMPROCA = NAMEENUMPROCA
 41155  type WINSTAENUMPROCW = NAMEENUMPROCW
 41156  type DESKTOPENUMPROCA = NAMEENUMPROCA
 41157  type DESKTOPENUMPROCW = NAMEENUMPROCW
 41158  
 41159  type WINSTAENUMPROC = WINSTAENUMPROCA
 41160  type DESKTOPENUMPROC = DESKTOPENUMPROCA
 41161  
 41162  type tagCBT_CREATEWNDA = struct {
 41163  	Flpcs            uintptr
 41164  	FhwndInsertAfter HWND
 41165  }
 41166  
 41167  type tagCREATESTRUCTA = struct {
 41168  	FlpCreateParams LPVOID
 41169  	FhInstance      HINSTANCE
 41170  	FhMenu          HMENU
 41171  	FhwndParent     HWND
 41172  	Fcy             int32
 41173  	Fcx             int32
 41174  	Fy              int32
 41175  	Fx              int32
 41176  	Fstyle          LONG
 41177  	F__ccgo_pad1    [4]byte
 41178  	FlpszName       LPCSTR
 41179  	FlpszClass      LPCSTR
 41180  	FdwExStyle      DWORD
 41181  	F__ccgo_pad2    [4]byte
 41182  }
 41183  
 41184  type CBT_CREATEWNDA = tagCBT_CREATEWNDA
 41185  type LPCBT_CREATEWNDA = uintptr
 41186  
 41187  type tagCBT_CREATEWNDW = struct {
 41188  	Flpcs            uintptr
 41189  	FhwndInsertAfter HWND
 41190  }
 41191  
 41192  type tagCREATESTRUCTW = struct {
 41193  	FlpCreateParams LPVOID
 41194  	FhInstance      HINSTANCE
 41195  	FhMenu          HMENU
 41196  	FhwndParent     HWND
 41197  	Fcy             int32
 41198  	Fcx             int32
 41199  	Fy              int32
 41200  	Fx              int32
 41201  	Fstyle          LONG
 41202  	F__ccgo_pad1    [4]byte
 41203  	FlpszName       LPCWSTR
 41204  	FlpszClass      LPCWSTR
 41205  	FdwExStyle      DWORD
 41206  	F__ccgo_pad2    [4]byte
 41207  }
 41208  
 41209  type CBT_CREATEWNDW = tagCBT_CREATEWNDW
 41210  type LPCBT_CREATEWNDW = uintptr
 41211  
 41212  type CBT_CREATEWND = CBT_CREATEWNDA
 41213  type LPCBT_CREATEWND = LPCBT_CREATEWNDA
 41214  
 41215  type tagCBTACTIVATESTRUCT = struct {
 41216  	FfMouse      WINBOOL
 41217  	F__ccgo_pad1 [4]byte
 41218  	FhWndActive  HWND
 41219  }
 41220  
 41221  type CBTACTIVATESTRUCT = tagCBTACTIVATESTRUCT
 41222  type LPCBTACTIVATESTRUCT = uintptr
 41223  
 41224  type tagWTSSESSION_NOTIFICATION = struct {
 41225  	FcbSize      DWORD
 41226  	FdwSessionId DWORD
 41227  }
 41228  
 41229  type WTSSESSION_NOTIFICATION = tagWTSSESSION_NOTIFICATION
 41230  type PWTSSESSION_NOTIFICATION = uintptr
 41231  
 41232  type SHELLHOOKINFO = struct {
 41233  	Fhwnd HWND
 41234  	Frc   RECT
 41235  }
 41236  type LPSHELLHOOKINFO = uintptr
 41237  
 41238  type tagEVENTMSG = struct {
 41239  	Fmessage UINT
 41240  	FparamL  UINT
 41241  	FparamH  UINT
 41242  	Ftime    DWORD
 41243  	Fhwnd    HWND
 41244  }
 41245  
 41246  type EVENTMSG = tagEVENTMSG
 41247  type PEVENTMSGMSG = uintptr
 41248  type NPEVENTMSGMSG = uintptr
 41249  type LPEVENTMSGMSG = uintptr
 41250  
 41251  type PEVENTMSG = uintptr
 41252  type NPEVENTMSG = uintptr
 41253  type LPEVENTMSG = uintptr
 41254  
 41255  type tagCWPSTRUCT = struct {
 41256  	FlParam      LPARAM
 41257  	FwParam      WPARAM
 41258  	Fmessage     UINT
 41259  	F__ccgo_pad1 [4]byte
 41260  	Fhwnd        HWND
 41261  }
 41262  
 41263  type CWPSTRUCT = tagCWPSTRUCT
 41264  type PCWPSTRUCT = uintptr
 41265  type NPCWPSTRUCT = uintptr
 41266  type LPCWPSTRUCT = uintptr
 41267  
 41268  type tagCWPRETSTRUCT = struct {
 41269  	FlResult     LRESULT
 41270  	FlParam      LPARAM
 41271  	FwParam      WPARAM
 41272  	Fmessage     UINT
 41273  	F__ccgo_pad1 [4]byte
 41274  	Fhwnd        HWND
 41275  }
 41276  
 41277  type CWPRETSTRUCT = tagCWPRETSTRUCT
 41278  type PCWPRETSTRUCT = uintptr
 41279  type NPCWPRETSTRUCT = uintptr
 41280  type LPCWPRETSTRUCT = uintptr
 41281  
 41282  type tagKBDLLHOOKSTRUCT = struct {
 41283  	FvkCode      DWORD
 41284  	FscanCode    DWORD
 41285  	Fflags       DWORD
 41286  	Ftime        DWORD
 41287  	FdwExtraInfo ULONG_PTR
 41288  }
 41289  
 41290  type KBDLLHOOKSTRUCT = tagKBDLLHOOKSTRUCT
 41291  type LPKBDLLHOOKSTRUCT = uintptr
 41292  type PKBDLLHOOKSTRUCT = uintptr
 41293  
 41294  type tagMSLLHOOKSTRUCT = struct {
 41295  	Fpt          POINT
 41296  	FmouseData   DWORD
 41297  	Fflags       DWORD
 41298  	Ftime        DWORD
 41299  	F__ccgo_pad1 [4]byte
 41300  	FdwExtraInfo ULONG_PTR
 41301  }
 41302  
 41303  type MSLLHOOKSTRUCT = tagMSLLHOOKSTRUCT
 41304  type LPMSLLHOOKSTRUCT = uintptr
 41305  type PMSLLHOOKSTRUCT = uintptr
 41306  
 41307  type tagDEBUGHOOKINFO = struct {
 41308  	FidThread          DWORD
 41309  	FidThreadInstaller DWORD
 41310  	FlParam            LPARAM
 41311  	FwParam            WPARAM
 41312  	Fcode              int32
 41313  	F__ccgo_pad1       [4]byte
 41314  }
 41315  
 41316  type DEBUGHOOKINFO = tagDEBUGHOOKINFO
 41317  type PDEBUGHOOKINFO = uintptr
 41318  type NPDEBUGHOOKINFO = uintptr
 41319  type LPDEBUGHOOKINFO = uintptr
 41320  
 41321  type tagMOUSEHOOKSTRUCT = struct {
 41322  	Fpt           POINT
 41323  	Fhwnd         HWND
 41324  	FwHitTestCode UINT
 41325  	F__ccgo_pad1  [4]byte
 41326  	FdwExtraInfo  ULONG_PTR
 41327  }
 41328  
 41329  type MOUSEHOOKSTRUCT = tagMOUSEHOOKSTRUCT
 41330  type LPMOUSEHOOKSTRUCT = uintptr
 41331  type PMOUSEHOOKSTRUCT = uintptr
 41332  
 41333  type tagMOUSEHOOKSTRUCTEX = struct {
 41334  	F__unnamed   MOUSEHOOKSTRUCT
 41335  	FmouseData   DWORD
 41336  	F__ccgo_pad1 [4]byte
 41337  }
 41338  
 41339  type MOUSEHOOKSTRUCTEX = tagMOUSEHOOKSTRUCTEX
 41340  type LPMOUSEHOOKSTRUCTEX = uintptr
 41341  type PMOUSEHOOKSTRUCTEX = uintptr
 41342  
 41343  type tagHARDWAREHOOKSTRUCT = struct {
 41344  	Fhwnd        HWND
 41345  	Fmessage     UINT
 41346  	F__ccgo_pad1 [4]byte
 41347  	FwParam      WPARAM
 41348  	FlParam      LPARAM
 41349  }
 41350  
 41351  type HARDWAREHOOKSTRUCT = tagHARDWAREHOOKSTRUCT
 41352  type LPHARDWAREHOOKSTRUCT = uintptr
 41353  type PHARDWAREHOOKSTRUCT = uintptr
 41354  
 41355  type tagMOUSEMOVEPOINT = struct {
 41356  	Fx           int32
 41357  	Fy           int32
 41358  	Ftime        DWORD
 41359  	F__ccgo_pad1 [4]byte
 41360  	FdwExtraInfo ULONG_PTR
 41361  }
 41362  
 41363  type MOUSEMOVEPOINT = tagMOUSEMOVEPOINT
 41364  type PMOUSEMOVEPOINT = uintptr
 41365  type LPMOUSEMOVEPOINT = uintptr
 41366  
 41367  type tagUSEROBJECTFLAGS = struct {
 41368  	FfInherit  WINBOOL
 41369  	FfReserved WINBOOL
 41370  	FdwFlags   DWORD
 41371  }
 41372  
 41373  type USEROBJECTFLAGS = tagUSEROBJECTFLAGS
 41374  type PUSEROBJECTFLAGS = uintptr
 41375  
 41376  type tagWNDCLASSEXA = struct {
 41377  	FcbSize        UINT
 41378  	Fstyle         UINT
 41379  	FlpfnWndProc   WNDPROC
 41380  	FcbClsExtra    int32
 41381  	FcbWndExtra    int32
 41382  	FhInstance     HINSTANCE
 41383  	FhIcon         HICON
 41384  	FhCursor       HCURSOR
 41385  	FhbrBackground HBRUSH
 41386  	FlpszMenuName  LPCSTR
 41387  	FlpszClassName LPCSTR
 41388  	FhIconSm       HICON
 41389  }
 41390  
 41391  type WNDCLASSEXA = tagWNDCLASSEXA
 41392  type PWNDCLASSEXA = uintptr
 41393  type NPWNDCLASSEXA = uintptr
 41394  type LPWNDCLASSEXA = uintptr
 41395  
 41396  type tagWNDCLASSEXW = struct {
 41397  	FcbSize        UINT
 41398  	Fstyle         UINT
 41399  	FlpfnWndProc   WNDPROC
 41400  	FcbClsExtra    int32
 41401  	FcbWndExtra    int32
 41402  	FhInstance     HINSTANCE
 41403  	FhIcon         HICON
 41404  	FhCursor       HCURSOR
 41405  	FhbrBackground HBRUSH
 41406  	FlpszMenuName  LPCWSTR
 41407  	FlpszClassName LPCWSTR
 41408  	FhIconSm       HICON
 41409  }
 41410  
 41411  type WNDCLASSEXW = tagWNDCLASSEXW
 41412  type PWNDCLASSEXW = uintptr
 41413  type NPWNDCLASSEXW = uintptr
 41414  type LPWNDCLASSEXW = uintptr
 41415  
 41416  type WNDCLASSEX = WNDCLASSEXA
 41417  type PWNDCLASSEX = PWNDCLASSEXA
 41418  type NPWNDCLASSEX = NPWNDCLASSEXA
 41419  type LPWNDCLASSEX = LPWNDCLASSEXA
 41420  
 41421  type tagWNDCLASSA = struct {
 41422  	Fstyle         UINT
 41423  	F__ccgo_pad1   [4]byte
 41424  	FlpfnWndProc   WNDPROC
 41425  	FcbClsExtra    int32
 41426  	FcbWndExtra    int32
 41427  	FhInstance     HINSTANCE
 41428  	FhIcon         HICON
 41429  	FhCursor       HCURSOR
 41430  	FhbrBackground HBRUSH
 41431  	FlpszMenuName  LPCSTR
 41432  	FlpszClassName LPCSTR
 41433  }
 41434  
 41435  type WNDCLASSA = tagWNDCLASSA
 41436  type PWNDCLASSA = uintptr
 41437  type NPWNDCLASSA = uintptr
 41438  type LPWNDCLASSA = uintptr
 41439  
 41440  type tagWNDCLASSW = struct {
 41441  	Fstyle         UINT
 41442  	F__ccgo_pad1   [4]byte
 41443  	FlpfnWndProc   WNDPROC
 41444  	FcbClsExtra    int32
 41445  	FcbWndExtra    int32
 41446  	FhInstance     HINSTANCE
 41447  	FhIcon         HICON
 41448  	FhCursor       HCURSOR
 41449  	FhbrBackground HBRUSH
 41450  	FlpszMenuName  LPCWSTR
 41451  	FlpszClassName LPCWSTR
 41452  }
 41453  
 41454  type WNDCLASSW = tagWNDCLASSW
 41455  type PWNDCLASSW = uintptr
 41456  type NPWNDCLASSW = uintptr
 41457  type LPWNDCLASSW = uintptr
 41458  
 41459  type WNDCLASS = WNDCLASSA
 41460  type PWNDCLASS = PWNDCLASSA
 41461  type NPWNDCLASS = NPWNDCLASSA
 41462  type LPWNDCLASS = LPWNDCLASSA
 41463  
 41464  type tagMSG = struct {
 41465  	Fhwnd        HWND
 41466  	Fmessage     UINT
 41467  	F__ccgo_pad1 [4]byte
 41468  	FwParam      WPARAM
 41469  	FlParam      LPARAM
 41470  	Ftime        DWORD
 41471  	Fpt          POINT
 41472  	F__ccgo_pad2 [4]byte
 41473  }
 41474  
 41475  type MSG = tagMSG
 41476  type PMSG = uintptr
 41477  type NPMSG = uintptr
 41478  type LPMSG = uintptr
 41479  
 41480  type tagMINMAXINFO = struct {
 41481  	FptReserved     POINT
 41482  	FptMaxSize      POINT
 41483  	FptMaxPosition  POINT
 41484  	FptMinTrackSize POINT
 41485  	FptMaxTrackSize POINT
 41486  }
 41487  
 41488  type MINMAXINFO = tagMINMAXINFO
 41489  type PMINMAXINFO = uintptr
 41490  type LPMINMAXINFO = uintptr
 41491  
 41492  type tagCOPYDATASTRUCT = struct {
 41493  	FdwData      ULONG_PTR
 41494  	FcbData      DWORD
 41495  	F__ccgo_pad1 [4]byte
 41496  	FlpData      PVOID
 41497  }
 41498  
 41499  type COPYDATASTRUCT = tagCOPYDATASTRUCT
 41500  type PCOPYDATASTRUCT = uintptr
 41501  
 41502  type tagMDINEXTMENU = struct {
 41503  	FhmenuIn   HMENU
 41504  	FhmenuNext HMENU
 41505  	FhwndNext  HWND
 41506  }
 41507  
 41508  type MDINEXTMENU = tagMDINEXTMENU
 41509  type PMDINEXTMENU = uintptr
 41510  type LPMDINEXTMENU = uintptr
 41511  
 41512  type POWERBROADCAST_SETTING = struct {
 41513  	FPowerSetting GUID
 41514  	FDataLength   DWORD
 41515  	FData         [1]UCHAR
 41516  	F__ccgo_pad1  [3]byte
 41517  }
 41518  type PPOWERBROADCAST_SETTING = uintptr
 41519  
 41520  type tagWINDOWPOS = struct {
 41521  	Fhwnd            HWND
 41522  	FhwndInsertAfter HWND
 41523  	Fx               int32
 41524  	Fy               int32
 41525  	Fcx              int32
 41526  	Fcy              int32
 41527  	Fflags           UINT
 41528  	F__ccgo_pad1     [4]byte
 41529  }
 41530  
 41531  type WINDOWPOS = tagWINDOWPOS
 41532  type LPWINDOWPOS = uintptr
 41533  type PWINDOWPOS = uintptr
 41534  
 41535  type tagNCCALCSIZE_PARAMS = struct {
 41536  	Frgrc  [3]RECT
 41537  	Flppos PWINDOWPOS
 41538  }
 41539  
 41540  type NCCALCSIZE_PARAMS = tagNCCALCSIZE_PARAMS
 41541  type LPNCCALCSIZE_PARAMS = uintptr
 41542  
 41543  type tagTRACKMOUSEEVENT = struct {
 41544  	FcbSize      DWORD
 41545  	FdwFlags     DWORD
 41546  	FhwndTrack   HWND
 41547  	FdwHoverTime DWORD
 41548  	F__ccgo_pad1 [4]byte
 41549  }
 41550  
 41551  type TRACKMOUSEEVENT = tagTRACKMOUSEEVENT
 41552  type LPTRACKMOUSEEVENT = uintptr
 41553  
 41554  type tagACCEL = struct {
 41555  	FfVirt       BYTE
 41556  	F__ccgo_pad1 [1]byte
 41557  	Fkey         WORD
 41558  	Fcmd         WORD
 41559  }
 41560  
 41561  type ACCEL = tagACCEL
 41562  type LPACCEL = uintptr
 41563  
 41564  type tagPAINTSTRUCT = struct {
 41565  	Fhdc         HDC
 41566  	FfErase      WINBOOL
 41567  	FrcPaint     RECT
 41568  	FfRestore    WINBOOL
 41569  	FfIncUpdate  WINBOOL
 41570  	FrgbReserved [32]BYTE
 41571  	F__ccgo_pad1 [4]byte
 41572  }
 41573  
 41574  type PAINTSTRUCT = tagPAINTSTRUCT
 41575  type PPAINTSTRUCT = uintptr
 41576  type NPPAINTSTRUCT = uintptr
 41577  type LPPAINTSTRUCT = uintptr
 41578  
 41579  type CREATESTRUCTA = tagCREATESTRUCTA
 41580  type LPCREATESTRUCTA = uintptr
 41581  
 41582  type CREATESTRUCTW = tagCREATESTRUCTW
 41583  type LPCREATESTRUCTW = uintptr
 41584  
 41585  type CREATESTRUCT = CREATESTRUCTA
 41586  type LPCREATESTRUCT = LPCREATESTRUCTA
 41587  
 41588  type tagWINDOWPLACEMENT = struct {
 41589  	Flength           UINT
 41590  	Fflags            UINT
 41591  	FshowCmd          UINT
 41592  	FptMinPosition    POINT
 41593  	FptMaxPosition    POINT
 41594  	FrcNormalPosition RECT
 41595  }
 41596  
 41597  type WINDOWPLACEMENT = tagWINDOWPLACEMENT
 41598  type PWINDOWPLACEMENT = uintptr
 41599  type LPWINDOWPLACEMENT = uintptr
 41600  
 41601  type tagNMHDR = struct {
 41602  	FhwndFrom    HWND
 41603  	FidFrom      UINT_PTR
 41604  	Fcode        UINT
 41605  	F__ccgo_pad1 [4]byte
 41606  }
 41607  
 41608  type NMHDR = tagNMHDR
 41609  
 41610  type LPNMHDR = uintptr
 41611  
 41612  type tagSTYLESTRUCT = struct {
 41613  	FstyleOld DWORD
 41614  	FstyleNew DWORD
 41615  }
 41616  
 41617  type STYLESTRUCT = tagSTYLESTRUCT
 41618  type LPSTYLESTRUCT = uintptr
 41619  
 41620  type tagMEASUREITEMSTRUCT = struct {
 41621  	FCtlType     UINT
 41622  	FCtlID       UINT
 41623  	FitemID      UINT
 41624  	FitemWidth   UINT
 41625  	FitemHeight  UINT
 41626  	F__ccgo_pad1 [4]byte
 41627  	FitemData    ULONG_PTR
 41628  }
 41629  
 41630  type MEASUREITEMSTRUCT = tagMEASUREITEMSTRUCT
 41631  type PMEASUREITEMSTRUCT = uintptr
 41632  type LPMEASUREITEMSTRUCT = uintptr
 41633  
 41634  type tagDRAWITEMSTRUCT = struct {
 41635  	FCtlType     UINT
 41636  	FCtlID       UINT
 41637  	FitemID      UINT
 41638  	FitemAction  UINT
 41639  	FitemState   UINT
 41640  	F__ccgo_pad1 [4]byte
 41641  	FhwndItem    HWND
 41642  	FhDC         HDC
 41643  	FrcItem      RECT
 41644  	FitemData    ULONG_PTR
 41645  }
 41646  
 41647  type DRAWITEMSTRUCT = tagDRAWITEMSTRUCT
 41648  type PDRAWITEMSTRUCT = uintptr
 41649  type LPDRAWITEMSTRUCT = uintptr
 41650  
 41651  type tagDELETEITEMSTRUCT = struct {
 41652  	FCtlType     UINT
 41653  	FCtlID       UINT
 41654  	FitemID      UINT
 41655  	F__ccgo_pad1 [4]byte
 41656  	FhwndItem    HWND
 41657  	FitemData    ULONG_PTR
 41658  }
 41659  
 41660  type DELETEITEMSTRUCT = tagDELETEITEMSTRUCT
 41661  type PDELETEITEMSTRUCT = uintptr
 41662  type LPDELETEITEMSTRUCT = uintptr
 41663  
 41664  type tagCOMPAREITEMSTRUCT = struct {
 41665  	FCtlType     UINT
 41666  	FCtlID       UINT
 41667  	FhwndItem    HWND
 41668  	FitemID1     UINT
 41669  	F__ccgo_pad1 [4]byte
 41670  	FitemData1   ULONG_PTR
 41671  	FitemID2     UINT
 41672  	F__ccgo_pad2 [4]byte
 41673  	FitemData2   ULONG_PTR
 41674  	FdwLocaleId  DWORD
 41675  	F__ccgo_pad3 [4]byte
 41676  }
 41677  
 41678  type COMPAREITEMSTRUCT = tagCOMPAREITEMSTRUCT
 41679  type PCOMPAREITEMSTRUCT = uintptr
 41680  type LPCOMPAREITEMSTRUCT = uintptr
 41681  
 41682  type BSMINFO = struct {
 41683  	FcbSize      UINT
 41684  	F__ccgo_pad1 [4]byte
 41685  	Fhdesk       HDESK
 41686  	Fhwnd        HWND
 41687  	Fluid        LUID
 41688  }
 41689  type PBSMINFO = uintptr
 41690  
 41691  type HDEVNOTIFY = PVOID
 41692  type PHDEVNOTIFY = uintptr
 41693  
 41694  type HPOWERNOTIFY = HANDLE
 41695  type PHPOWERNOTIFY = uintptr
 41696  
 41697  type PREGISTERCLASSNAMEW = uintptr
 41698  
 41699  type tagUPDATELAYEREDWINDOWINFO = struct {
 41700  	FcbSize      DWORD
 41701  	F__ccgo_pad1 [4]byte
 41702  	FhdcDst      HDC
 41703  	FpptDst      uintptr
 41704  	Fpsize       uintptr
 41705  	FhdcSrc      HDC
 41706  	FpptSrc      uintptr
 41707  	FcrKey       COLORREF
 41708  	F__ccgo_pad2 [4]byte
 41709  	Fpblend      uintptr
 41710  	FdwFlags     DWORD
 41711  	F__ccgo_pad3 [4]byte
 41712  	FprcDirty    uintptr
 41713  }
 41714  
 41715  type UPDATELAYEREDWINDOWINFO = tagUPDATELAYEREDWINDOWINFO
 41716  type PUPDATELAYEREDWINDOWINFO = uintptr
 41717  
 41718  type FLASHWINFO = struct {
 41719  	FcbSize      UINT
 41720  	F__ccgo_pad1 [4]byte
 41721  	Fhwnd        HWND
 41722  	FdwFlags     DWORD
 41723  	FuCount      UINT
 41724  	FdwTimeout   DWORD
 41725  	F__ccgo_pad2 [4]byte
 41726  }
 41727  type PFLASHWINFO = uintptr
 41728  
 41729  type DLGTEMPLATE = struct {
 41730  	Fstyle           DWORD
 41731  	FdwExtendedStyle DWORD
 41732  	Fcdit            WORD
 41733  	Fx               int16
 41734  	Fy               int16
 41735  	Fcx              int16
 41736  	Fcy              int16
 41737  	F__ccgo_pad1     [2]byte
 41738  }
 41739  
 41740  type LPDLGTEMPLATEA = uintptr
 41741  type LPDLGTEMPLATEW = uintptr
 41742  
 41743  type LPDLGTEMPLATE = LPDLGTEMPLATEA
 41744  
 41745  type LPCDLGTEMPLATEA = uintptr
 41746  type LPCDLGTEMPLATEW = uintptr
 41747  
 41748  type LPCDLGTEMPLATE = LPCDLGTEMPLATEA
 41749  
 41750  type DLGITEMTEMPLATE = struct {
 41751  	Fstyle           DWORD
 41752  	FdwExtendedStyle DWORD
 41753  	Fx               int16
 41754  	Fy               int16
 41755  	Fcx              int16
 41756  	Fcy              int16
 41757  	Fid              WORD
 41758  	F__ccgo_pad1     [2]byte
 41759  }
 41760  
 41761  type PDLGITEMTEMPLATEA = uintptr
 41762  type PDLGITEMTEMPLATEW = uintptr
 41763  
 41764  type PDLGITEMTEMPLATE = PDLGITEMTEMPLATEA
 41765  
 41766  type LPDLGITEMTEMPLATEA = uintptr
 41767  type LPDLGITEMTEMPLATEW = uintptr
 41768  
 41769  type LPDLGITEMTEMPLATE = LPDLGITEMTEMPLATEA
 41770  
 41771  type DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS = uint32
 41772  
 41773  type DIALOG_DPI_CHANGE_BEHAVIORS = uint32
 41774  
 41775  type tagMOUSEINPUT = struct {
 41776  	Fdx          LONG
 41777  	Fdy          LONG
 41778  	FmouseData   DWORD
 41779  	FdwFlags     DWORD
 41780  	Ftime        DWORD
 41781  	F__ccgo_pad1 [4]byte
 41782  	FdwExtraInfo ULONG_PTR
 41783  }
 41784  
 41785  type MOUSEINPUT = tagMOUSEINPUT
 41786  type PMOUSEINPUT = uintptr
 41787  type LPMOUSEINPUT = uintptr
 41788  
 41789  type tagKEYBDINPUT = struct {
 41790  	FwVk         WORD
 41791  	FwScan       WORD
 41792  	FdwFlags     DWORD
 41793  	Ftime        DWORD
 41794  	F__ccgo_pad1 [4]byte
 41795  	FdwExtraInfo ULONG_PTR
 41796  }
 41797  
 41798  type KEYBDINPUT = tagKEYBDINPUT
 41799  type PKEYBDINPUT = uintptr
 41800  type LPKEYBDINPUT = uintptr
 41801  
 41802  type tagHARDWAREINPUT = struct {
 41803  	FuMsg    DWORD
 41804  	FwParamL WORD
 41805  	FwParamH WORD
 41806  }
 41807  
 41808  type HARDWAREINPUT = tagHARDWAREINPUT
 41809  type PHARDWAREINPUT = uintptr
 41810  type LPHARDWAREINPUT = uintptr
 41811  
 41812  type tagINPUT = struct {
 41813  	Ftype        DWORD
 41814  	F__ccgo_pad1 [4]byte
 41815  	Fu           struct{ Fmi MOUSEINPUT }
 41816  }
 41817  
 41818  type INPUT = tagINPUT
 41819  type PINPUT = uintptr
 41820  type LPINPUT = uintptr
 41821  
 41822  type tagLASTINPUTINFO = struct {
 41823  	FcbSize UINT
 41824  	FdwTime DWORD
 41825  }
 41826  
 41827  type LASTINPUTINFO = tagLASTINPUTINFO
 41828  type PLASTINPUTINFO = uintptr
 41829  
 41830  type tagTPMPARAMS = struct {
 41831  	FcbSize    UINT
 41832  	FrcExclude RECT
 41833  }
 41834  
 41835  type TPMPARAMS = tagTPMPARAMS
 41836  
 41837  type tagMENUINFO = struct {
 41838  	FcbSize          DWORD
 41839  	FfMask           DWORD
 41840  	FdwStyle         DWORD
 41841  	FcyMax           UINT
 41842  	FhbrBack         HBRUSH
 41843  	FdwContextHelpID DWORD
 41844  	F__ccgo_pad1     [4]byte
 41845  	FdwMenuData      ULONG_PTR
 41846  }
 41847  
 41848  type MENUINFO = tagMENUINFO
 41849  type LPMENUINFO = uintptr
 41850  
 41851  type LPTPMPARAMS = uintptr
 41852  type LPCMENUINFO = uintptr
 41853  
 41854  type tagMENUGETOBJECTINFO = struct {
 41855  	FdwFlags DWORD
 41856  	FuPos    UINT
 41857  	Fhmenu   HMENU
 41858  	Friid    PVOID
 41859  	FpvObj   PVOID
 41860  }
 41861  
 41862  type MENUGETOBJECTINFO = tagMENUGETOBJECTINFO
 41863  type PMENUGETOBJECTINFO = uintptr
 41864  
 41865  type tagMENUITEMINFOA = struct {
 41866  	FcbSize        UINT
 41867  	FfMask         UINT
 41868  	FfType         UINT
 41869  	FfState        UINT
 41870  	FwID           UINT
 41871  	F__ccgo_pad1   [4]byte
 41872  	FhSubMenu      HMENU
 41873  	FhbmpChecked   HBITMAP
 41874  	FhbmpUnchecked HBITMAP
 41875  	FdwItemData    ULONG_PTR
 41876  	FdwTypeData    LPSTR
 41877  	Fcch           UINT
 41878  	F__ccgo_pad2   [4]byte
 41879  	FhbmpItem      HBITMAP
 41880  }
 41881  
 41882  type MENUITEMINFOA = tagMENUITEMINFOA
 41883  type LPMENUITEMINFOA = uintptr
 41884  
 41885  type tagMENUITEMINFOW = struct {
 41886  	FcbSize        UINT
 41887  	FfMask         UINT
 41888  	FfType         UINT
 41889  	FfState        UINT
 41890  	FwID           UINT
 41891  	F__ccgo_pad1   [4]byte
 41892  	FhSubMenu      HMENU
 41893  	FhbmpChecked   HBITMAP
 41894  	FhbmpUnchecked HBITMAP
 41895  	FdwItemData    ULONG_PTR
 41896  	FdwTypeData    LPWSTR
 41897  	Fcch           UINT
 41898  	F__ccgo_pad2   [4]byte
 41899  	FhbmpItem      HBITMAP
 41900  }
 41901  
 41902  type MENUITEMINFOW = tagMENUITEMINFOW
 41903  type LPMENUITEMINFOW = uintptr
 41904  
 41905  type MENUITEMINFO = MENUITEMINFOA
 41906  type LPMENUITEMINFO = LPMENUITEMINFOA
 41907  
 41908  type LPCMENUITEMINFOA = uintptr
 41909  type LPCMENUITEMINFOW = uintptr
 41910  
 41911  type LPCMENUITEMINFO = LPCMENUITEMINFOA
 41912  
 41913  type tagDROPSTRUCT = struct {
 41914  	FhwndSource    HWND
 41915  	FhwndSink      HWND
 41916  	FwFmt          DWORD
 41917  	F__ccgo_pad1   [4]byte
 41918  	FdwData        ULONG_PTR
 41919  	FptDrop        POINT
 41920  	FdwControlData DWORD
 41921  	F__ccgo_pad2   [4]byte
 41922  }
 41923  
 41924  type DROPSTRUCT = tagDROPSTRUCT
 41925  type PDROPSTRUCT = uintptr
 41926  type LPDROPSTRUCT = uintptr
 41927  
 41928  type tagDRAWTEXTPARAMS = struct {
 41929  	FcbSize        UINT
 41930  	FiTabLength    int32
 41931  	FiLeftMargin   int32
 41932  	FiRightMargin  int32
 41933  	FuiLengthDrawn UINT
 41934  }
 41935  
 41936  type DRAWTEXTPARAMS = tagDRAWTEXTPARAMS
 41937  type LPDRAWTEXTPARAMS = uintptr
 41938  
 41939  type tagHELPINFO = struct {
 41940  	FcbSize       UINT
 41941  	FiContextType int32
 41942  	FiCtrlId      int32
 41943  	F__ccgo_pad1  [4]byte
 41944  	FhItemHandle  HANDLE
 41945  	FdwContextId  DWORD_PTR
 41946  	FMousePos     POINT
 41947  }
 41948  
 41949  type HELPINFO = tagHELPINFO
 41950  type LPHELPINFO = uintptr
 41951  
 41952  type MSGBOXCALLBACK = uintptr
 41953  
 41954  type tagMSGBOXPARAMSA = struct {
 41955  	FcbSize             UINT
 41956  	F__ccgo_pad1        [4]byte
 41957  	FhwndOwner          HWND
 41958  	FhInstance          HINSTANCE
 41959  	FlpszText           LPCSTR
 41960  	FlpszCaption        LPCSTR
 41961  	FdwStyle            DWORD
 41962  	F__ccgo_pad2        [4]byte
 41963  	FlpszIcon           LPCSTR
 41964  	FdwContextHelpId    DWORD_PTR
 41965  	FlpfnMsgBoxCallback MSGBOXCALLBACK
 41966  	FdwLanguageId       DWORD
 41967  	F__ccgo_pad3        [4]byte
 41968  }
 41969  
 41970  type MSGBOXPARAMSA = tagMSGBOXPARAMSA
 41971  type PMSGBOXPARAMSA = uintptr
 41972  type LPMSGBOXPARAMSA = uintptr
 41973  
 41974  type tagMSGBOXPARAMSW = struct {
 41975  	FcbSize             UINT
 41976  	F__ccgo_pad1        [4]byte
 41977  	FhwndOwner          HWND
 41978  	FhInstance          HINSTANCE
 41979  	FlpszText           LPCWSTR
 41980  	FlpszCaption        LPCWSTR
 41981  	FdwStyle            DWORD
 41982  	F__ccgo_pad2        [4]byte
 41983  	FlpszIcon           LPCWSTR
 41984  	FdwContextHelpId    DWORD_PTR
 41985  	FlpfnMsgBoxCallback MSGBOXCALLBACK
 41986  	FdwLanguageId       DWORD
 41987  	F__ccgo_pad3        [4]byte
 41988  }
 41989  
 41990  type MSGBOXPARAMSW = tagMSGBOXPARAMSW
 41991  type PMSGBOXPARAMSW = uintptr
 41992  type LPMSGBOXPARAMSW = uintptr
 41993  
 41994  type MSGBOXPARAMS = MSGBOXPARAMSA
 41995  type PMSGBOXPARAMS = PMSGBOXPARAMSA
 41996  type LPMSGBOXPARAMS = LPMSGBOXPARAMSA
 41997  
 41998  type MENUITEMTEMPLATEHEADER = struct {
 41999  	FversionNumber WORD
 42000  	Foffset        WORD
 42001  }
 42002  type PMENUITEMTEMPLATEHEADER = uintptr
 42003  
 42004  type MENUITEMTEMPLATE = struct {
 42005  	FmtOption WORD
 42006  	FmtID     WORD
 42007  	FmtString [1]WCHAR
 42008  }
 42009  type PMENUITEMTEMPLATE = uintptr
 42010  
 42011  type _ICONINFO = struct {
 42012  	FfIcon       WINBOOL
 42013  	FxHotspot    DWORD
 42014  	FyHotspot    DWORD
 42015  	F__ccgo_pad1 [4]byte
 42016  	FhbmMask     HBITMAP
 42017  	FhbmColor    HBITMAP
 42018  }
 42019  
 42020  type ICONINFO = _ICONINFO
 42021  type PICONINFO = uintptr
 42022  
 42023  type tagCURSORSHAPE = struct {
 42024  	FxHotSpot    int32
 42025  	FyHotSpot    int32
 42026  	Fcx          int32
 42027  	Fcy          int32
 42028  	FcbWidth     int32
 42029  	FPlanes      BYTE
 42030  	FBitsPixel   BYTE
 42031  	F__ccgo_pad1 [2]byte
 42032  }
 42033  
 42034  type CURSORSHAPE = tagCURSORSHAPE
 42035  type LPCURSORSHAPE = uintptr
 42036  
 42037  type tagSCROLLINFO = struct {
 42038  	FcbSize    UINT
 42039  	FfMask     UINT
 42040  	FnMin      int32
 42041  	FnMax      int32
 42042  	FnPage     UINT
 42043  	FnPos      int32
 42044  	FnTrackPos int32
 42045  }
 42046  
 42047  type SCROLLINFO = tagSCROLLINFO
 42048  type LPSCROLLINFO = uintptr
 42049  type LPCSCROLLINFO = uintptr
 42050  
 42051  type tagMDICREATESTRUCTA = struct {
 42052  	FszClass     LPCSTR
 42053  	FszTitle     LPCSTR
 42054  	FhOwner      HANDLE
 42055  	Fx           int32
 42056  	Fy           int32
 42057  	Fcx          int32
 42058  	Fcy          int32
 42059  	Fstyle       DWORD
 42060  	F__ccgo_pad1 [4]byte
 42061  	FlParam      LPARAM
 42062  }
 42063  
 42064  type MDICREATESTRUCTA = tagMDICREATESTRUCTA
 42065  type LPMDICREATESTRUCTA = uintptr
 42066  
 42067  type tagMDICREATESTRUCTW = struct {
 42068  	FszClass     LPCWSTR
 42069  	FszTitle     LPCWSTR
 42070  	FhOwner      HANDLE
 42071  	Fx           int32
 42072  	Fy           int32
 42073  	Fcx          int32
 42074  	Fcy          int32
 42075  	Fstyle       DWORD
 42076  	F__ccgo_pad1 [4]byte
 42077  	FlParam      LPARAM
 42078  }
 42079  
 42080  type MDICREATESTRUCTW = tagMDICREATESTRUCTW
 42081  type LPMDICREATESTRUCTW = uintptr
 42082  
 42083  type MDICREATESTRUCT = MDICREATESTRUCTA
 42084  type LPMDICREATESTRUCT = LPMDICREATESTRUCTA
 42085  
 42086  type tagCLIENTCREATESTRUCT = struct {
 42087  	FhWindowMenu  HANDLE
 42088  	FidFirstChild UINT
 42089  	F__ccgo_pad1  [4]byte
 42090  }
 42091  
 42092  type CLIENTCREATESTRUCT = tagCLIENTCREATESTRUCT
 42093  type LPCLIENTCREATESTRUCT = uintptr
 42094  
 42095  type HELPPOLY = DWORD
 42096  
 42097  type tagMULTIKEYHELPA = struct {
 42098  	FmkSize      DWORD
 42099  	FmkKeylist   CHAR
 42100  	FszKeyphrase [1]CHAR
 42101  	F__ccgo_pad1 [2]byte
 42102  }
 42103  
 42104  type MULTIKEYHELPA = tagMULTIKEYHELPA
 42105  type PMULTIKEYHELPA = uintptr
 42106  type LPMULTIKEYHELPA = uintptr
 42107  
 42108  type tagMULTIKEYHELPW = struct {
 42109  	FmkSize      DWORD
 42110  	FmkKeylist   WCHAR
 42111  	FszKeyphrase [1]WCHAR
 42112  }
 42113  
 42114  type MULTIKEYHELPW = tagMULTIKEYHELPW
 42115  type PMULTIKEYHELPW = uintptr
 42116  type LPMULTIKEYHELPW = uintptr
 42117  
 42118  type MULTIKEYHELP = MULTIKEYHELPA
 42119  type PMULTIKEYHELP = PMULTIKEYHELPA
 42120  type LPMULTIKEYHELP = LPMULTIKEYHELPA
 42121  
 42122  type tagHELPWININFOA = struct {
 42123  	FwStructSize int32
 42124  	Fx           int32
 42125  	Fy           int32
 42126  	Fdx          int32
 42127  	Fdy          int32
 42128  	FwMax        int32
 42129  	FrgchMember  [2]CHAR
 42130  	F__ccgo_pad1 [2]byte
 42131  }
 42132  
 42133  type HELPWININFOA = tagHELPWININFOA
 42134  type PHELPWININFOA = uintptr
 42135  type LPHELPWININFOA = uintptr
 42136  
 42137  type tagHELPWININFOW = struct {
 42138  	FwStructSize int32
 42139  	Fx           int32
 42140  	Fy           int32
 42141  	Fdx          int32
 42142  	Fdy          int32
 42143  	FwMax        int32
 42144  	FrgchMember  [2]WCHAR
 42145  }
 42146  
 42147  type HELPWININFOW = tagHELPWININFOW
 42148  type PHELPWININFOW = uintptr
 42149  type LPHELPWININFOW = uintptr
 42150  
 42151  type HELPWININFO = HELPWININFOA
 42152  type PHELPWININFO = PHELPWININFOA
 42153  type LPHELPWININFO = LPHELPWININFOA
 42154  
 42155  type tagNONCLIENTMETRICSA = struct {
 42156  	FcbSize           UINT
 42157  	FiBorderWidth     int32
 42158  	FiScrollWidth     int32
 42159  	FiScrollHeight    int32
 42160  	FiCaptionWidth    int32
 42161  	FiCaptionHeight   int32
 42162  	FlfCaptionFont    LOGFONTA
 42163  	FiSmCaptionWidth  int32
 42164  	FiSmCaptionHeight int32
 42165  	FlfSmCaptionFont  LOGFONTA
 42166  	FiMenuWidth       int32
 42167  	FiMenuHeight      int32
 42168  	FlfMenuFont       LOGFONTA
 42169  	FlfStatusFont     LOGFONTA
 42170  	FlfMessageFont    LOGFONTA
 42171  }
 42172  
 42173  type NONCLIENTMETRICSA = tagNONCLIENTMETRICSA
 42174  type PNONCLIENTMETRICSA = uintptr
 42175  type LPNONCLIENTMETRICSA = uintptr
 42176  
 42177  type tagNONCLIENTMETRICSW = struct {
 42178  	FcbSize           UINT
 42179  	FiBorderWidth     int32
 42180  	FiScrollWidth     int32
 42181  	FiScrollHeight    int32
 42182  	FiCaptionWidth    int32
 42183  	FiCaptionHeight   int32
 42184  	FlfCaptionFont    LOGFONTW
 42185  	FiSmCaptionWidth  int32
 42186  	FiSmCaptionHeight int32
 42187  	FlfSmCaptionFont  LOGFONTW
 42188  	FiMenuWidth       int32
 42189  	FiMenuHeight      int32
 42190  	FlfMenuFont       LOGFONTW
 42191  	FlfStatusFont     LOGFONTW
 42192  	FlfMessageFont    LOGFONTW
 42193  }
 42194  
 42195  type NONCLIENTMETRICSW = tagNONCLIENTMETRICSW
 42196  type PNONCLIENTMETRICSW = uintptr
 42197  type LPNONCLIENTMETRICSW = uintptr
 42198  
 42199  type NONCLIENTMETRICS = NONCLIENTMETRICSA
 42200  type PNONCLIENTMETRICS = PNONCLIENTMETRICSA
 42201  type LPNONCLIENTMETRICS = LPNONCLIENTMETRICSA
 42202  
 42203  type tagMINIMIZEDMETRICS = struct {
 42204  	FcbSize   UINT
 42205  	FiWidth   int32
 42206  	FiHorzGap int32
 42207  	FiVertGap int32
 42208  	FiArrange int32
 42209  }
 42210  
 42211  type MINIMIZEDMETRICS = tagMINIMIZEDMETRICS
 42212  type PMINIMIZEDMETRICS = uintptr
 42213  type LPMINIMIZEDMETRICS = uintptr
 42214  
 42215  type tagICONMETRICSA = struct {
 42216  	FcbSize       UINT
 42217  	FiHorzSpacing int32
 42218  	FiVertSpacing int32
 42219  	FiTitleWrap   int32
 42220  	FlfFont       LOGFONTA
 42221  }
 42222  
 42223  type ICONMETRICSA = tagICONMETRICSA
 42224  type PICONMETRICSA = uintptr
 42225  type LPICONMETRICSA = uintptr
 42226  
 42227  type tagICONMETRICSW = struct {
 42228  	FcbSize       UINT
 42229  	FiHorzSpacing int32
 42230  	FiVertSpacing int32
 42231  	FiTitleWrap   int32
 42232  	FlfFont       LOGFONTW
 42233  }
 42234  
 42235  type ICONMETRICSW = tagICONMETRICSW
 42236  type PICONMETRICSW = uintptr
 42237  type LPICONMETRICSW = uintptr
 42238  
 42239  type ICONMETRICS = ICONMETRICSA
 42240  type PICONMETRICS = PICONMETRICSA
 42241  type LPICONMETRICS = LPICONMETRICSA
 42242  
 42243  type tagANIMATIONINFO = struct {
 42244  	FcbSize      UINT
 42245  	FiMinAnimate int32
 42246  }
 42247  
 42248  type ANIMATIONINFO = tagANIMATIONINFO
 42249  type LPANIMATIONINFO = uintptr
 42250  
 42251  type tagSERIALKEYSA = struct {
 42252  	FcbSize         UINT
 42253  	FdwFlags        DWORD
 42254  	FlpszActivePort LPSTR
 42255  	FlpszPort       LPSTR
 42256  	FiBaudRate      UINT
 42257  	FiPortState     UINT
 42258  	FiActive        UINT
 42259  	F__ccgo_pad1    [4]byte
 42260  }
 42261  
 42262  type SERIALKEYSA = tagSERIALKEYSA
 42263  type LPSERIALKEYSA = uintptr
 42264  
 42265  type tagSERIALKEYSW = struct {
 42266  	FcbSize         UINT
 42267  	FdwFlags        DWORD
 42268  	FlpszActivePort LPWSTR
 42269  	FlpszPort       LPWSTR
 42270  	FiBaudRate      UINT
 42271  	FiPortState     UINT
 42272  	FiActive        UINT
 42273  	F__ccgo_pad1    [4]byte
 42274  }
 42275  
 42276  type SERIALKEYSW = tagSERIALKEYSW
 42277  type LPSERIALKEYSW = uintptr
 42278  
 42279  type SERIALKEYS = SERIALKEYSA
 42280  type LPSERIALKEYS = LPSERIALKEYSA
 42281  
 42282  type tagHIGHCONTRASTA = struct {
 42283  	FcbSize            UINT
 42284  	FdwFlags           DWORD
 42285  	FlpszDefaultScheme LPSTR
 42286  }
 42287  
 42288  type HIGHCONTRASTA = tagHIGHCONTRASTA
 42289  type LPHIGHCONTRASTA = uintptr
 42290  
 42291  type tagHIGHCONTRASTW = struct {
 42292  	FcbSize            UINT
 42293  	FdwFlags           DWORD
 42294  	FlpszDefaultScheme LPWSTR
 42295  }
 42296  
 42297  type HIGHCONTRASTW = tagHIGHCONTRASTW
 42298  type LPHIGHCONTRASTW = uintptr
 42299  
 42300  type HIGHCONTRAST = HIGHCONTRASTA
 42301  type LPHIGHCONTRAST = LPHIGHCONTRASTA
 42302  
 42303  type _VIDEOPARAMETERS = struct {
 42304  	FGuid                  GUID
 42305  	FdwOffset              ULONG
 42306  	FdwCommand             ULONG
 42307  	FdwFlags               ULONG
 42308  	FdwMode                ULONG
 42309  	FdwTVStandard          ULONG
 42310  	FdwAvailableModes      ULONG
 42311  	FdwAvailableTVStandard ULONG
 42312  	FdwFlickerFilter       ULONG
 42313  	FdwOverScanX           ULONG
 42314  	FdwOverScanY           ULONG
 42315  	FdwMaxUnscaledX        ULONG
 42316  	FdwMaxUnscaledY        ULONG
 42317  	FdwPositionX           ULONG
 42318  	FdwPositionY           ULONG
 42319  	FdwBrightness          ULONG
 42320  	FdwContrast            ULONG
 42321  	FdwCPType              ULONG
 42322  	FdwCPCommand           ULONG
 42323  	FdwCPStandard          ULONG
 42324  	FdwCPKey               ULONG
 42325  	FbCP_APSTriggerBits    ULONG
 42326  	FbOEMCopyProtection    [256]UCHAR
 42327  }
 42328  
 42329  type VIDEOPARAMETERS = _VIDEOPARAMETERS
 42330  type PVIDEOPARAMETERS = uintptr
 42331  type LPVIDEOPARAMETERS = uintptr
 42332  
 42333  type tagFILTERKEYS = struct {
 42334  	FcbSize      UINT
 42335  	FdwFlags     DWORD
 42336  	FiWaitMSec   DWORD
 42337  	FiDelayMSec  DWORD
 42338  	FiRepeatMSec DWORD
 42339  	FiBounceMSec DWORD
 42340  }
 42341  
 42342  type FILTERKEYS = tagFILTERKEYS
 42343  type LPFILTERKEYS = uintptr
 42344  
 42345  type tagSTICKYKEYS = struct {
 42346  	FcbSize  UINT
 42347  	FdwFlags DWORD
 42348  }
 42349  
 42350  type STICKYKEYS = tagSTICKYKEYS
 42351  type LPSTICKYKEYS = uintptr
 42352  
 42353  type tagMOUSEKEYS = struct {
 42354  	FcbSize          UINT
 42355  	FdwFlags         DWORD
 42356  	FiMaxSpeed       DWORD
 42357  	FiTimeToMaxSpeed DWORD
 42358  	FiCtrlSpeed      DWORD
 42359  	FdwReserved1     DWORD
 42360  	FdwReserved2     DWORD
 42361  }
 42362  
 42363  type MOUSEKEYS = tagMOUSEKEYS
 42364  type LPMOUSEKEYS = uintptr
 42365  
 42366  type tagACCESSTIMEOUT = struct {
 42367  	FcbSize       UINT
 42368  	FdwFlags      DWORD
 42369  	FiTimeOutMSec DWORD
 42370  }
 42371  
 42372  type ACCESSTIMEOUT = tagACCESSTIMEOUT
 42373  type LPACCESSTIMEOUT = uintptr
 42374  
 42375  type tagSOUNDSENTRYA = struct {
 42376  	FcbSize                 UINT
 42377  	FdwFlags                DWORD
 42378  	FiFSTextEffect          DWORD
 42379  	FiFSTextEffectMSec      DWORD
 42380  	FiFSTextEffectColorBits DWORD
 42381  	FiFSGrafEffect          DWORD
 42382  	FiFSGrafEffectMSec      DWORD
 42383  	FiFSGrafEffectColor     DWORD
 42384  	FiWindowsEffect         DWORD
 42385  	FiWindowsEffectMSec     DWORD
 42386  	FlpszWindowsEffectDLL   LPSTR
 42387  	FiWindowsEffectOrdinal  DWORD
 42388  	F__ccgo_pad1            [4]byte
 42389  }
 42390  
 42391  type SOUNDSENTRYA = tagSOUNDSENTRYA
 42392  type LPSOUNDSENTRYA = uintptr
 42393  
 42394  type tagSOUNDSENTRYW = struct {
 42395  	FcbSize                 UINT
 42396  	FdwFlags                DWORD
 42397  	FiFSTextEffect          DWORD
 42398  	FiFSTextEffectMSec      DWORD
 42399  	FiFSTextEffectColorBits DWORD
 42400  	FiFSGrafEffect          DWORD
 42401  	FiFSGrafEffectMSec      DWORD
 42402  	FiFSGrafEffectColor     DWORD
 42403  	FiWindowsEffect         DWORD
 42404  	FiWindowsEffectMSec     DWORD
 42405  	FlpszWindowsEffectDLL   LPWSTR
 42406  	FiWindowsEffectOrdinal  DWORD
 42407  	F__ccgo_pad1            [4]byte
 42408  }
 42409  
 42410  type SOUNDSENTRYW = tagSOUNDSENTRYW
 42411  type LPSOUNDSENTRYW = uintptr
 42412  
 42413  type SOUNDSENTRY = SOUNDSENTRYA
 42414  type LPSOUNDSENTRY = LPSOUNDSENTRYA
 42415  
 42416  type tagTOGGLEKEYS = struct {
 42417  	FcbSize  UINT
 42418  	FdwFlags DWORD
 42419  }
 42420  
 42421  type TOGGLEKEYS = tagTOGGLEKEYS
 42422  type LPTOGGLEKEYS = uintptr
 42423  
 42424  type tagMONITORINFO = struct {
 42425  	FcbSize    DWORD
 42426  	FrcMonitor RECT
 42427  	FrcWork    RECT
 42428  	FdwFlags   DWORD
 42429  }
 42430  
 42431  type MONITORINFO = tagMONITORINFO
 42432  type LPMONITORINFO = uintptr
 42433  
 42434  type tagMONITORINFOEXA = struct {
 42435  	F__0 struct {
 42436  		FcbSize    DWORD
 42437  		FrcMonitor RECT
 42438  		FrcWork    RECT
 42439  		FdwFlags   DWORD
 42440  	}
 42441  	FszDevice [32]CHAR
 42442  }
 42443  
 42444  type MONITORINFOEXA = tagMONITORINFOEXA
 42445  type LPMONITORINFOEXA = uintptr
 42446  
 42447  type tagMONITORINFOEXW = struct {
 42448  	F__0 struct {
 42449  		FcbSize    DWORD
 42450  		FrcMonitor RECT
 42451  		FrcWork    RECT
 42452  		FdwFlags   DWORD
 42453  	}
 42454  	FszDevice [32]WCHAR
 42455  }
 42456  
 42457  type MONITORINFOEXW = tagMONITORINFOEXW
 42458  type LPMONITORINFOEXW = uintptr
 42459  
 42460  type MONITORINFOEX = MONITORINFOEXA
 42461  type LPMONITORINFOEX = LPMONITORINFOEXA
 42462  
 42463  type MONITORENUMPROC = uintptr
 42464  
 42465  type WINEVENTPROC = uintptr
 42466  
 42467  type tagGUITHREADINFO = struct {
 42468  	FcbSize        DWORD
 42469  	Fflags         DWORD
 42470  	FhwndActive    HWND
 42471  	FhwndFocus     HWND
 42472  	FhwndCapture   HWND
 42473  	FhwndMenuOwner HWND
 42474  	FhwndMoveSize  HWND
 42475  	FhwndCaret     HWND
 42476  	FrcCaret       RECT
 42477  }
 42478  
 42479  type GUITHREADINFO = tagGUITHREADINFO
 42480  type PGUITHREADINFO = uintptr
 42481  type LPGUITHREADINFO = uintptr
 42482  
 42483  type tagCURSORINFO = struct {
 42484  	FcbSize      DWORD
 42485  	Fflags       DWORD
 42486  	FhCursor     HCURSOR
 42487  	FptScreenPos POINT
 42488  }
 42489  
 42490  type CURSORINFO = tagCURSORINFO
 42491  type PCURSORINFO = uintptr
 42492  type LPCURSORINFO = uintptr
 42493  
 42494  type tagWINDOWINFO = struct {
 42495  	FcbSize          DWORD
 42496  	FrcWindow        RECT
 42497  	FrcClient        RECT
 42498  	FdwStyle         DWORD
 42499  	FdwExStyle       DWORD
 42500  	FdwWindowStatus  DWORD
 42501  	FcxWindowBorders UINT
 42502  	FcyWindowBorders UINT
 42503  	FatomWindowType  ATOM
 42504  	FwCreatorVersion WORD
 42505  }
 42506  
 42507  type WINDOWINFO = tagWINDOWINFO
 42508  type PWINDOWINFO = uintptr
 42509  type LPWINDOWINFO = uintptr
 42510  
 42511  type tagTITLEBARINFO = struct {
 42512  	FcbSize     DWORD
 42513  	FrcTitleBar RECT
 42514  	Frgstate    [6]DWORD
 42515  }
 42516  
 42517  type TITLEBARINFO = tagTITLEBARINFO
 42518  type PTITLEBARINFO = uintptr
 42519  type LPTITLEBARINFO = uintptr
 42520  
 42521  type tagMENUBARINFO = struct {
 42522  	FcbSize      DWORD
 42523  	FrcBar       RECT
 42524  	F__ccgo_pad1 [4]byte
 42525  	FhMenu       HMENU
 42526  	FhwndMenu    HWND
 42527  	FfBarFocused uint8
 42528  	F__ccgo_pad2 [7]byte
 42529  }
 42530  
 42531  type MENUBARINFO = tagMENUBARINFO
 42532  type PMENUBARINFO = uintptr
 42533  type LPMENUBARINFO = uintptr
 42534  
 42535  type tagSCROLLBARINFO = struct {
 42536  	FcbSize        DWORD
 42537  	FrcScrollBar   RECT
 42538  	FdxyLineButton int32
 42539  	FxyThumbTop    int32
 42540  	FxyThumbBottom int32
 42541  	Freserved      int32
 42542  	Frgstate       [6]DWORD
 42543  }
 42544  
 42545  type SCROLLBARINFO = tagSCROLLBARINFO
 42546  type PSCROLLBARINFO = uintptr
 42547  type LPSCROLLBARINFO = uintptr
 42548  
 42549  type tagCOMBOBOXINFO = struct {
 42550  	FcbSize      DWORD
 42551  	FrcItem      RECT
 42552  	FrcButton    RECT
 42553  	FstateButton DWORD
 42554  	FhwndCombo   HWND
 42555  	FhwndItem    HWND
 42556  	FhwndList    HWND
 42557  }
 42558  
 42559  type COMBOBOXINFO = tagCOMBOBOXINFO
 42560  type PCOMBOBOXINFO = uintptr
 42561  type LPCOMBOBOXINFO = uintptr
 42562  
 42563  type tagALTTABINFO = struct {
 42564  	FcbSize    DWORD
 42565  	FcItems    int32
 42566  	FcColumns  int32
 42567  	FcRows     int32
 42568  	FiColFocus int32
 42569  	FiRowFocus int32
 42570  	FcxItem    int32
 42571  	FcyItem    int32
 42572  	FptStart   POINT
 42573  }
 42574  
 42575  type ALTTABINFO = tagALTTABINFO
 42576  type PALTTABINFO = uintptr
 42577  type LPALTTABINFO = uintptr
 42578  
 42579  type HRAWINPUT__ = struct{ Funused int32 }
 42580  
 42581  type HRAWINPUT = uintptr
 42582  
 42583  type tagRAWINPUTHEADER = struct {
 42584  	FdwType  DWORD
 42585  	FdwSize  DWORD
 42586  	FhDevice HANDLE
 42587  	FwParam  WPARAM
 42588  }
 42589  
 42590  type RAWINPUTHEADER = tagRAWINPUTHEADER
 42591  type PRAWINPUTHEADER = uintptr
 42592  type LPRAWINPUTHEADER = uintptr
 42593  
 42594  type tagRAWMOUSE = struct {
 42595  	FusFlags            USHORT
 42596  	F__ccgo_pad1        [2]byte
 42597  	F__4                struct{ FulButtons ULONG }
 42598  	FulRawButtons       ULONG
 42599  	FlLastX             LONG
 42600  	FlLastY             LONG
 42601  	FulExtraInformation ULONG
 42602  }
 42603  
 42604  type RAWMOUSE = tagRAWMOUSE
 42605  type PRAWMOUSE = uintptr
 42606  type LPRAWMOUSE = uintptr
 42607  
 42608  type tagRAWKEYBOARD = struct {
 42609  	FMakeCode         USHORT
 42610  	FFlags            USHORT
 42611  	FReserved         USHORT
 42612  	FVKey             USHORT
 42613  	FMessage          UINT
 42614  	FExtraInformation ULONG
 42615  }
 42616  
 42617  type RAWKEYBOARD = tagRAWKEYBOARD
 42618  type PRAWKEYBOARD = uintptr
 42619  type LPRAWKEYBOARD = uintptr
 42620  
 42621  type tagRAWHID = struct {
 42622  	FdwSizeHid   DWORD
 42623  	FdwCount     DWORD
 42624  	FbRawData    [1]BYTE
 42625  	F__ccgo_pad1 [3]byte
 42626  }
 42627  
 42628  type RAWHID = tagRAWHID
 42629  type PRAWHID = uintptr
 42630  type LPRAWHID = uintptr
 42631  
 42632  type tagRAWINPUT = struct {
 42633  	Fheader RAWINPUTHEADER
 42634  	Fdata   struct{ Fmouse RAWMOUSE }
 42635  }
 42636  
 42637  type RAWINPUT = tagRAWINPUT
 42638  type PRAWINPUT = uintptr
 42639  type LPRAWINPUT = uintptr
 42640  
 42641  type tagRID_DEVICE_INFO_MOUSE = struct {
 42642  	FdwId                DWORD
 42643  	FdwNumberOfButtons   DWORD
 42644  	FdwSampleRate        DWORD
 42645  	FfHasHorizontalWheel WINBOOL
 42646  }
 42647  
 42648  type RID_DEVICE_INFO_MOUSE = tagRID_DEVICE_INFO_MOUSE
 42649  type PRID_DEVICE_INFO_MOUSE = uintptr
 42650  
 42651  type tagRID_DEVICE_INFO_KEYBOARD = struct {
 42652  	FdwType                 DWORD
 42653  	FdwSubType              DWORD
 42654  	FdwKeyboardMode         DWORD
 42655  	FdwNumberOfFunctionKeys DWORD
 42656  	FdwNumberOfIndicators   DWORD
 42657  	FdwNumberOfKeysTotal    DWORD
 42658  }
 42659  
 42660  type RID_DEVICE_INFO_KEYBOARD = tagRID_DEVICE_INFO_KEYBOARD
 42661  type PRID_DEVICE_INFO_KEYBOARD = uintptr
 42662  
 42663  type tagRID_DEVICE_INFO_HID = struct {
 42664  	FdwVendorId      DWORD
 42665  	FdwProductId     DWORD
 42666  	FdwVersionNumber DWORD
 42667  	FusUsagePage     USHORT
 42668  	FusUsage         USHORT
 42669  }
 42670  
 42671  type RID_DEVICE_INFO_HID = tagRID_DEVICE_INFO_HID
 42672  type PRID_DEVICE_INFO_HID = uintptr
 42673  
 42674  type tagRID_DEVICE_INFO = struct {
 42675  	FcbSize DWORD
 42676  	FdwType DWORD
 42677  	Fu      struct {
 42678  		Fmouse       RID_DEVICE_INFO_MOUSE
 42679  		F__ccgo_pad1 [8]byte
 42680  	}
 42681  }
 42682  
 42683  type RID_DEVICE_INFO = tagRID_DEVICE_INFO
 42684  type PRID_DEVICE_INFO = uintptr
 42685  type LPRID_DEVICE_INFO = uintptr
 42686  
 42687  type tagRAWINPUTDEVICE = struct {
 42688  	FusUsagePage USHORT
 42689  	FusUsage     USHORT
 42690  	FdwFlags     DWORD
 42691  	FhwndTarget  HWND
 42692  }
 42693  
 42694  type RAWINPUTDEVICE = tagRAWINPUTDEVICE
 42695  type PRAWINPUTDEVICE = uintptr
 42696  type LPRAWINPUTDEVICE = uintptr
 42697  
 42698  type PCRAWINPUTDEVICE = uintptr
 42699  
 42700  type tagRAWINPUTDEVICELIST = struct {
 42701  	FhDevice     HANDLE
 42702  	FdwType      DWORD
 42703  	F__ccgo_pad1 [4]byte
 42704  }
 42705  
 42706  type RAWINPUTDEVICELIST = tagRAWINPUTDEVICELIST
 42707  type PRAWINPUTDEVICELIST = uintptr
 42708  
 42709  type LGRPID = DWORD
 42710  type LCTYPE = DWORD
 42711  type CALTYPE = DWORD
 42712  type CALID = DWORD
 42713  
 42714  type _cpinfo = struct {
 42715  	FMaxCharSize UINT
 42716  	FDefaultChar [2]BYTE
 42717  	FLeadByte    [12]BYTE
 42718  	F__ccgo_pad1 [2]byte
 42719  }
 42720  
 42721  type CPINFO = _cpinfo
 42722  type LPCPINFO = uintptr
 42723  type _cpinfoexA = struct {
 42724  	FMaxCharSize        UINT
 42725  	FDefaultChar        [2]BYTE
 42726  	FLeadByte           [12]BYTE
 42727  	FUnicodeDefaultChar WCHAR
 42728  	FCodePage           UINT
 42729  	FCodePageName       [260]CHAR
 42730  }
 42731  
 42732  type CPINFOEXA = _cpinfoexA
 42733  type LPCPINFOEXA = uintptr
 42734  
 42735  type _cpinfoexW = struct {
 42736  	FMaxCharSize        UINT
 42737  	FDefaultChar        [2]BYTE
 42738  	FLeadByte           [12]BYTE
 42739  	FUnicodeDefaultChar WCHAR
 42740  	FCodePage           UINT
 42741  	FCodePageName       [260]WCHAR
 42742  }
 42743  
 42744  type CPINFOEXW = _cpinfoexW
 42745  type LPCPINFOEXW = uintptr
 42746  
 42747  type CPINFOEX = CPINFOEXA
 42748  type LPCPINFOEX = LPCPINFOEXA
 42749  
 42750  type _numberfmtA = struct {
 42751  	FNumDigits     UINT
 42752  	FLeadingZero   UINT
 42753  	FGrouping      UINT
 42754  	F__ccgo_pad1   [4]byte
 42755  	FlpDecimalSep  LPSTR
 42756  	FlpThousandSep LPSTR
 42757  	FNegativeOrder UINT
 42758  	F__ccgo_pad2   [4]byte
 42759  }
 42760  
 42761  type NUMBERFMTA = _numberfmtA
 42762  type LPNUMBERFMTA = uintptr
 42763  type _numberfmtW = struct {
 42764  	FNumDigits     UINT
 42765  	FLeadingZero   UINT
 42766  	FGrouping      UINT
 42767  	F__ccgo_pad1   [4]byte
 42768  	FlpDecimalSep  LPWSTR
 42769  	FlpThousandSep LPWSTR
 42770  	FNegativeOrder UINT
 42771  	F__ccgo_pad2   [4]byte
 42772  }
 42773  
 42774  type NUMBERFMTW = _numberfmtW
 42775  type LPNUMBERFMTW = uintptr
 42776  
 42777  type NUMBERFMT = NUMBERFMTA
 42778  type LPNUMBERFMT = LPNUMBERFMTA
 42779  
 42780  type _currencyfmtA = struct {
 42781  	FNumDigits        UINT
 42782  	FLeadingZero      UINT
 42783  	FGrouping         UINT
 42784  	F__ccgo_pad1      [4]byte
 42785  	FlpDecimalSep     LPSTR
 42786  	FlpThousandSep    LPSTR
 42787  	FNegativeOrder    UINT
 42788  	FPositiveOrder    UINT
 42789  	FlpCurrencySymbol LPSTR
 42790  }
 42791  
 42792  type CURRENCYFMTA = _currencyfmtA
 42793  type LPCURRENCYFMTA = uintptr
 42794  
 42795  type _currencyfmtW = struct {
 42796  	FNumDigits        UINT
 42797  	FLeadingZero      UINT
 42798  	FGrouping         UINT
 42799  	F__ccgo_pad1      [4]byte
 42800  	FlpDecimalSep     LPWSTR
 42801  	FlpThousandSep    LPWSTR
 42802  	FNegativeOrder    UINT
 42803  	FPositiveOrder    UINT
 42804  	FlpCurrencySymbol LPWSTR
 42805  }
 42806  
 42807  type CURRENCYFMTW = _currencyfmtW
 42808  type LPCURRENCYFMTW = uintptr
 42809  
 42810  type CURRENCYFMT = CURRENCYFMTA
 42811  type LPCURRENCYFMT = LPCURRENCYFMTA
 42812  
 42813  type NLS_FUNCTION = DWORD
 42814  
 42815  type _nlsversioninfo = struct {
 42816  	FdwNLSVersionInfoSize DWORD
 42817  	FdwNLSVersion         DWORD
 42818  	FdwDefinedVersion     DWORD
 42819  }
 42820  
 42821  type NLSVERSIONINFO = _nlsversioninfo
 42822  type LPNLSVERSIONINFO = uintptr
 42823  
 42824  type _nlsversioninfoex = struct {
 42825  	FdwNLSVersionInfoSize DWORD
 42826  	FdwNLSVersion         DWORD
 42827  	FdwDefinedVersion     DWORD
 42828  	FdwEffectiveId        DWORD
 42829  	FguidCustomVersion    GUID
 42830  }
 42831  
 42832  type NLSVERSIONINFOEX = _nlsversioninfoex
 42833  type LPNLSVERSIONINFOEX = uintptr
 42834  
 42835  type GEOID = LONG
 42836  type GEOTYPE = DWORD
 42837  type GEOCLASS = DWORD
 42838  
 42839  type LANGUAGEGROUP_ENUMPROCA = uintptr
 42840  type LANGGROUPLOCALE_ENUMPROCA = uintptr
 42841  type UILANGUAGE_ENUMPROCA = uintptr
 42842  type CODEPAGE_ENUMPROCA = uintptr
 42843  type DATEFMT_ENUMPROCA = uintptr
 42844  type DATEFMT_ENUMPROCEXA = uintptr
 42845  type TIMEFMT_ENUMPROCA = uintptr
 42846  type CALINFO_ENUMPROCA = uintptr
 42847  type CALINFO_ENUMPROCEXA = uintptr
 42848  type LOCALE_ENUMPROCA = uintptr
 42849  type LOCALE_ENUMPROCW = uintptr
 42850  type LANGUAGEGROUP_ENUMPROCW = uintptr
 42851  type LANGGROUPLOCALE_ENUMPROCW = uintptr
 42852  type UILANGUAGE_ENUMPROCW = uintptr
 42853  type CODEPAGE_ENUMPROCW = uintptr
 42854  type DATEFMT_ENUMPROCW = uintptr
 42855  type DATEFMT_ENUMPROCEXW = uintptr
 42856  type TIMEFMT_ENUMPROCW = uintptr
 42857  type CALINFO_ENUMPROCW = uintptr
 42858  type CALINFO_ENUMPROCEXW = uintptr
 42859  type GEO_ENUMPROC = uintptr
 42860  
 42861  type _FILEMUIINFO = struct {
 42862  	FdwSize               DWORD
 42863  	FdwVersion            DWORD
 42864  	FdwFileType           DWORD
 42865  	FpChecksum            [16]BYTE
 42866  	FpServiceChecksum     [16]BYTE
 42867  	FdwLanguageNameOffset DWORD
 42868  	FdwTypeIDMainSize     DWORD
 42869  	FdwTypeIDMainOffset   DWORD
 42870  	FdwTypeNameMainOffset DWORD
 42871  	FdwTypeIDMUISize      DWORD
 42872  	FdwTypeIDMUIOffset    DWORD
 42873  	FdwTypeNameMUIOffset  DWORD
 42874  	FabBuffer             [8]BYTE
 42875  }
 42876  
 42877  type FILEMUIINFO = _FILEMUIINFO
 42878  type PFILEMUIINFO = uintptr
 42879  
 42880  type _COORD = struct {
 42881  	FX SHORT
 42882  	FY SHORT
 42883  }
 42884  
 42885  type COORD = _COORD
 42886  type PCOORD = uintptr
 42887  
 42888  type _SMALL_RECT = struct {
 42889  	FLeft   SHORT
 42890  	FTop    SHORT
 42891  	FRight  SHORT
 42892  	FBottom SHORT
 42893  }
 42894  
 42895  type SMALL_RECT = _SMALL_RECT
 42896  type PSMALL_RECT = uintptr
 42897  
 42898  type _KEY_EVENT_RECORD = struct {
 42899  	FbKeyDown          WINBOOL
 42900  	FwRepeatCount      WORD
 42901  	FwVirtualKeyCode   WORD
 42902  	FwVirtualScanCode  WORD
 42903  	FuChar             struct{ FUnicodeChar WCHAR }
 42904  	FdwControlKeyState DWORD
 42905  }
 42906  
 42907  type KEY_EVENT_RECORD = _KEY_EVENT_RECORD
 42908  type PKEY_EVENT_RECORD = uintptr
 42909  
 42910  type _MOUSE_EVENT_RECORD = struct {
 42911  	FdwMousePosition   COORD
 42912  	FdwButtonState     DWORD
 42913  	FdwControlKeyState DWORD
 42914  	FdwEventFlags      DWORD
 42915  }
 42916  
 42917  type MOUSE_EVENT_RECORD = _MOUSE_EVENT_RECORD
 42918  type PMOUSE_EVENT_RECORD = uintptr
 42919  
 42920  type _WINDOW_BUFFER_SIZE_RECORD = struct{ FdwSize COORD }
 42921  
 42922  type WINDOW_BUFFER_SIZE_RECORD = _WINDOW_BUFFER_SIZE_RECORD
 42923  type PWINDOW_BUFFER_SIZE_RECORD = uintptr
 42924  
 42925  type _MENU_EVENT_RECORD = struct{ FdwCommandId UINT }
 42926  
 42927  type MENU_EVENT_RECORD = _MENU_EVENT_RECORD
 42928  type PMENU_EVENT_RECORD = uintptr
 42929  
 42930  type _FOCUS_EVENT_RECORD = struct{ FbSetFocus WINBOOL }
 42931  
 42932  type FOCUS_EVENT_RECORD = _FOCUS_EVENT_RECORD
 42933  type PFOCUS_EVENT_RECORD = uintptr
 42934  
 42935  type _INPUT_RECORD = struct {
 42936  	FEventType   WORD
 42937  	F__ccgo_pad1 [2]byte
 42938  	FEvent       struct{ FKeyEvent KEY_EVENT_RECORD }
 42939  }
 42940  
 42941  type INPUT_RECORD = _INPUT_RECORD
 42942  type PINPUT_RECORD = uintptr
 42943  
 42944  type _CHAR_INFO = struct {
 42945  	FChar       struct{ FUnicodeChar WCHAR }
 42946  	FAttributes WORD
 42947  }
 42948  
 42949  type CHAR_INFO = _CHAR_INFO
 42950  type PCHAR_INFO = uintptr
 42951  
 42952  type _CONSOLE_SCREEN_BUFFER_INFO = struct {
 42953  	FdwSize              COORD
 42954  	FdwCursorPosition    COORD
 42955  	FwAttributes         WORD
 42956  	FsrWindow            SMALL_RECT
 42957  	FdwMaximumWindowSize COORD
 42958  }
 42959  
 42960  type CONSOLE_SCREEN_BUFFER_INFO = _CONSOLE_SCREEN_BUFFER_INFO
 42961  type PCONSOLE_SCREEN_BUFFER_INFO = uintptr
 42962  
 42963  type _CONSOLE_CURSOR_INFO = struct {
 42964  	FdwSize   DWORD
 42965  	FbVisible WINBOOL
 42966  }
 42967  
 42968  type CONSOLE_CURSOR_INFO = _CONSOLE_CURSOR_INFO
 42969  type PCONSOLE_CURSOR_INFO = uintptr
 42970  
 42971  type _CONSOLE_FONT_INFO = struct {
 42972  	FnFont      DWORD
 42973  	FdwFontSize COORD
 42974  }
 42975  
 42976  type CONSOLE_FONT_INFO = _CONSOLE_FONT_INFO
 42977  type PCONSOLE_FONT_INFO = uintptr
 42978  
 42979  type _CONSOLE_SELECTION_INFO = struct {
 42980  	FdwFlags           DWORD
 42981  	FdwSelectionAnchor COORD
 42982  	FsrSelection       SMALL_RECT
 42983  }
 42984  
 42985  type CONSOLE_SELECTION_INFO = _CONSOLE_SELECTION_INFO
 42986  type PCONSOLE_SELECTION_INFO = uintptr
 42987  
 42988  type PHANDLER_ROUTINE = uintptr
 42989  
 42990  type _CONSOLE_FONT_INFOEX = struct {
 42991  	FcbSize     ULONG
 42992  	FnFont      DWORD
 42993  	FdwFontSize COORD
 42994  	FFontFamily UINT
 42995  	FFontWeight UINT
 42996  	FFaceName   [32]WCHAR
 42997  }
 42998  
 42999  type CONSOLE_FONT_INFOEX = _CONSOLE_FONT_INFOEX
 43000  type PCONSOLE_FONT_INFOEX = uintptr
 43001  
 43002  type _CONSOLE_HISTORY_INFO = struct {
 43003  	FcbSize                 UINT
 43004  	FHistoryBufferSize      UINT
 43005  	FNumberOfHistoryBuffers UINT
 43006  	FdwFlags                DWORD
 43007  }
 43008  
 43009  type CONSOLE_HISTORY_INFO = _CONSOLE_HISTORY_INFO
 43010  type PCONSOLE_HISTORY_INFO = uintptr
 43011  
 43012  type _CONSOLE_READCONSOLE_CONTROL = struct {
 43013  	FnLength           ULONG
 43014  	FnInitialChars     ULONG
 43015  	FdwCtrlWakeupMask  ULONG
 43016  	FdwControlKeyState ULONG
 43017  }
 43018  
 43019  type CONSOLE_READCONSOLE_CONTROL = _CONSOLE_READCONSOLE_CONTROL
 43020  type PCONSOLE_READCONSOLE_CONTROL = uintptr
 43021  
 43022  type _CONSOLE_SCREEN_BUFFER_INFOEX = struct {
 43023  	FcbSize               ULONG
 43024  	FdwSize               COORD
 43025  	FdwCursorPosition     COORD
 43026  	FwAttributes          WORD
 43027  	FsrWindow             SMALL_RECT
 43028  	FdwMaximumWindowSize  COORD
 43029  	FwPopupAttributes     WORD
 43030  	FbFullscreenSupported WINBOOL
 43031  	FColorTable           [16]COLORREF
 43032  }
 43033  
 43034  type CONSOLE_SCREEN_BUFFER_INFOEX = _CONSOLE_SCREEN_BUFFER_INFOEX
 43035  type PCONSOLE_SCREEN_BUFFER_INFOEX = uintptr
 43036  
 43037  type tagVS_FIXEDFILEINFO = struct {
 43038  	FdwSignature        DWORD
 43039  	FdwStrucVersion     DWORD
 43040  	FdwFileVersionMS    DWORD
 43041  	FdwFileVersionLS    DWORD
 43042  	FdwProductVersionMS DWORD
 43043  	FdwProductVersionLS DWORD
 43044  	FdwFileFlagsMask    DWORD
 43045  	FdwFileFlags        DWORD
 43046  	FdwFileOS           DWORD
 43047  	FdwFileType         DWORD
 43048  	FdwFileSubtype      DWORD
 43049  	FdwFileDateMS       DWORD
 43050  	FdwFileDateLS       DWORD
 43051  }
 43052  
 43053  type VS_FIXEDFILEINFO = tagVS_FIXEDFILEINFO
 43054  
 43055  type REGSAM = ACCESS_MASK
 43056  type LSTATUS = LONG
 43057  
 43058  type val_context = struct {
 43059  	Fvaluelen      int32
 43060  	F__ccgo_pad1   [4]byte
 43061  	Fvalue_context LPVOID
 43062  	Fval_buff_ptr  LPVOID
 43063  }
 43064  
 43065  type PVALCONTEXT = uintptr
 43066  
 43067  type pvalueA = struct {
 43068  	Fpv_valuename     LPSTR
 43069  	Fpv_valuelen      int32
 43070  	F__ccgo_pad1      [4]byte
 43071  	Fpv_value_context LPVOID
 43072  	Fpv_type          DWORD
 43073  	F__ccgo_pad2      [4]byte
 43074  }
 43075  
 43076  type PVALUEA = pvalueA
 43077  type PPVALUEA = uintptr
 43078  
 43079  type pvalueW = struct {
 43080  	Fpv_valuename     LPWSTR
 43081  	Fpv_valuelen      int32
 43082  	F__ccgo_pad1      [4]byte
 43083  	Fpv_value_context LPVOID
 43084  	Fpv_type          DWORD
 43085  	F__ccgo_pad2      [4]byte
 43086  }
 43087  
 43088  type PVALUEW = pvalueW
 43089  type PPVALUEW = uintptr
 43090  
 43091  type PVALUE = PVALUEA
 43092  type PPVALUE = PPVALUEA
 43093  
 43094  type PQUERYHANDLER = uintptr
 43095  
 43096  type provider_info = struct {
 43097  	Fpi_R0_1val     PQUERYHANDLER
 43098  	Fpi_R0_allvals  PQUERYHANDLER
 43099  	Fpi_R3_1val     PQUERYHANDLER
 43100  	Fpi_R3_allvals  PQUERYHANDLER
 43101  	Fpi_flags       DWORD
 43102  	F__ccgo_pad1    [4]byte
 43103  	Fpi_key_context LPVOID
 43104  }
 43105  
 43106  type REG_PROVIDER = provider_info
 43107  
 43108  type PPROVIDER = uintptr
 43109  
 43110  type value_entA = struct {
 43111  	Fve_valuename LPSTR
 43112  	Fve_valuelen  DWORD
 43113  	F__ccgo_pad1  [4]byte
 43114  	Fve_valueptr  DWORD_PTR
 43115  	Fve_type      DWORD
 43116  	F__ccgo_pad2  [4]byte
 43117  }
 43118  
 43119  type VALENTA = value_entA
 43120  type PVALENTA = uintptr
 43121  
 43122  type value_entW = struct {
 43123  	Fve_valuename LPWSTR
 43124  	Fve_valuelen  DWORD
 43125  	F__ccgo_pad1  [4]byte
 43126  	Fve_valueptr  DWORD_PTR
 43127  	Fve_type      DWORD
 43128  	F__ccgo_pad2  [4]byte
 43129  }
 43130  
 43131  type VALENTW = value_entW
 43132  type PVALENTW = uintptr
 43133  
 43134  type VALENT = VALENTA
 43135  type PVALENT = PVALENTA
 43136  
 43137  type _NETRESOURCEA = struct {
 43138  	FdwScope       DWORD
 43139  	FdwType        DWORD
 43140  	FdwDisplayType DWORD
 43141  	FdwUsage       DWORD
 43142  	FlpLocalName   LPSTR
 43143  	FlpRemoteName  LPSTR
 43144  	FlpComment     LPSTR
 43145  	FlpProvider    LPSTR
 43146  }
 43147  
 43148  type NETRESOURCEA = _NETRESOURCEA
 43149  type LPNETRESOURCEA = uintptr
 43150  type _NETRESOURCEW = struct {
 43151  	FdwScope       DWORD
 43152  	FdwType        DWORD
 43153  	FdwDisplayType DWORD
 43154  	FdwUsage       DWORD
 43155  	FlpLocalName   LPWSTR
 43156  	FlpRemoteName  LPWSTR
 43157  	FlpComment     LPWSTR
 43158  	FlpProvider    LPWSTR
 43159  }
 43160  
 43161  type NETRESOURCEW = _NETRESOURCEW
 43162  type LPNETRESOURCEW = uintptr
 43163  
 43164  type NETRESOURCE = NETRESOURCEA
 43165  type LPNETRESOURCE = LPNETRESOURCEA
 43166  
 43167  type _CONNECTDLGSTRUCTA = struct {
 43168  	FcbStructure DWORD
 43169  	F__ccgo_pad1 [4]byte
 43170  	FhwndOwner   HWND
 43171  	FlpConnRes   LPNETRESOURCEA
 43172  	FdwFlags     DWORD
 43173  	FdwDevNum    DWORD
 43174  }
 43175  
 43176  type CONNECTDLGSTRUCTA = _CONNECTDLGSTRUCTA
 43177  type LPCONNECTDLGSTRUCTA = uintptr
 43178  
 43179  type _CONNECTDLGSTRUCTW = struct {
 43180  	FcbStructure DWORD
 43181  	F__ccgo_pad1 [4]byte
 43182  	FhwndOwner   HWND
 43183  	FlpConnRes   LPNETRESOURCEW
 43184  	FdwFlags     DWORD
 43185  	FdwDevNum    DWORD
 43186  }
 43187  
 43188  type CONNECTDLGSTRUCTW = _CONNECTDLGSTRUCTW
 43189  type LPCONNECTDLGSTRUCTW = uintptr
 43190  
 43191  type CONNECTDLGSTRUCT = CONNECTDLGSTRUCTA
 43192  type LPCONNECTDLGSTRUCT = LPCONNECTDLGSTRUCTA
 43193  
 43194  type _DISCDLGSTRUCTA = struct {
 43195  	FcbStructure  DWORD
 43196  	F__ccgo_pad1  [4]byte
 43197  	FhwndOwner    HWND
 43198  	FlpLocalName  LPSTR
 43199  	FlpRemoteName LPSTR
 43200  	FdwFlags      DWORD
 43201  	F__ccgo_pad2  [4]byte
 43202  }
 43203  
 43204  type DISCDLGSTRUCTA = _DISCDLGSTRUCTA
 43205  type LPDISCDLGSTRUCTA = uintptr
 43206  
 43207  type _DISCDLGSTRUCTW = struct {
 43208  	FcbStructure  DWORD
 43209  	F__ccgo_pad1  [4]byte
 43210  	FhwndOwner    HWND
 43211  	FlpLocalName  LPWSTR
 43212  	FlpRemoteName LPWSTR
 43213  	FdwFlags      DWORD
 43214  	F__ccgo_pad2  [4]byte
 43215  }
 43216  
 43217  type DISCDLGSTRUCTW = _DISCDLGSTRUCTW
 43218  type LPDISCDLGSTRUCTW = uintptr
 43219  
 43220  type DISCDLGSTRUCT = DISCDLGSTRUCTA
 43221  type LPDISCDLGSTRUCT = LPDISCDLGSTRUCTA
 43222  
 43223  type _UNIVERSAL_NAME_INFOA = struct{ FlpUniversalName LPSTR }
 43224  
 43225  type UNIVERSAL_NAME_INFOA = _UNIVERSAL_NAME_INFOA
 43226  type LPUNIVERSAL_NAME_INFOA = uintptr
 43227  
 43228  type _UNIVERSAL_NAME_INFOW = struct{ FlpUniversalName LPWSTR }
 43229  
 43230  type UNIVERSAL_NAME_INFOW = _UNIVERSAL_NAME_INFOW
 43231  type LPUNIVERSAL_NAME_INFOW = uintptr
 43232  
 43233  type UNIVERSAL_NAME_INFO = UNIVERSAL_NAME_INFOA
 43234  type LPUNIVERSAL_NAME_INFO = LPUNIVERSAL_NAME_INFOA
 43235  
 43236  type _REMOTE_NAME_INFOA = struct {
 43237  	FlpUniversalName  LPSTR
 43238  	FlpConnectionName LPSTR
 43239  	FlpRemainingPath  LPSTR
 43240  }
 43241  
 43242  type REMOTE_NAME_INFOA = _REMOTE_NAME_INFOA
 43243  type LPREMOTE_NAME_INFOA = uintptr
 43244  
 43245  type _REMOTE_NAME_INFOW = struct {
 43246  	FlpUniversalName  LPWSTR
 43247  	FlpConnectionName LPWSTR
 43248  	FlpRemainingPath  LPWSTR
 43249  }
 43250  
 43251  type REMOTE_NAME_INFOW = _REMOTE_NAME_INFOW
 43252  type LPREMOTE_NAME_INFOW = uintptr
 43253  
 43254  type REMOTE_NAME_INFO = REMOTE_NAME_INFOA
 43255  type LPREMOTE_NAME_INFO = LPREMOTE_NAME_INFOA
 43256  
 43257  type _NETINFOSTRUCT = struct {
 43258  	FcbStructure       DWORD
 43259  	FdwProviderVersion DWORD
 43260  	FdwStatus          DWORD
 43261  	FdwCharacteristics DWORD
 43262  	FdwHandle          ULONG_PTR
 43263  	FwNetType          WORD
 43264  	F__ccgo_pad1       [2]byte
 43265  	FdwPrinters        DWORD
 43266  	FdwDrives          DWORD
 43267  	F__ccgo_pad2       [4]byte
 43268  }
 43269  
 43270  type NETINFOSTRUCT = _NETINFOSTRUCT
 43271  type LPNETINFOSTRUCT = uintptr
 43272  
 43273  type PFNGETPROFILEPATHA = uintptr
 43274  type PFNGETPROFILEPATHW = uintptr
 43275  
 43276  type PFNRECONCILEPROFILEA = uintptr
 43277  type PFNRECONCILEPROFILEW = uintptr
 43278  
 43279  type PFNPROCESSPOLICIESA = uintptr
 43280  type PFNPROCESSPOLICIESW = uintptr
 43281  
 43282  type _NETCONNECTINFOSTRUCT = struct {
 43283  	FcbStructure   DWORD
 43284  	FdwFlags       DWORD
 43285  	FdwSpeed       DWORD
 43286  	FdwDelay       DWORD
 43287  	FdwOptDataSize DWORD
 43288  }
 43289  
 43290  type NETCONNECTINFOSTRUCT = _NETCONNECTINFOSTRUCT
 43291  type LPNETCONNECTINFOSTRUCT = uintptr
 43292  
 43293  type DDEACK = struct {
 43294  	F__ccgo_pad1    [0]uint16
 43295  	FbAppReturnCode uint16
 43296  }
 43297  
 43298  type DDEADVISE = struct {
 43299  	Freserved    uint16
 43300  	F__ccgo_pad1 [2]byte
 43301  	FcfFormat    int16
 43302  }
 43303  
 43304  type DDEDATA = struct {
 43305  	Funused      uint16
 43306  	F__ccgo_pad1 [2]byte
 43307  	FcfFormat    int16
 43308  	FValue       [1]BYTE
 43309  	F__ccgo_pad2 [1]byte
 43310  }
 43311  
 43312  type DDEPOKE = struct {
 43313  	Funused      uint16
 43314  	F__ccgo_pad1 [2]byte
 43315  	FcfFormat    int16
 43316  	FValue       [1]BYTE
 43317  	F__ccgo_pad2 [1]byte
 43318  }
 43319  
 43320  type DDELN = struct {
 43321  	Funused      uint16
 43322  	F__ccgo_pad1 [2]byte
 43323  	FcfFormat    int16
 43324  }
 43325  
 43326  type DDEUP = struct {
 43327  	Funused      uint16
 43328  	F__ccgo_pad1 [2]byte
 43329  	FcfFormat    int16
 43330  	Frgb         [1]BYTE
 43331  	F__ccgo_pad2 [1]byte
 43332  }
 43333  
 43334  type HCONVLIST__ = struct{ Funused int32 }
 43335  
 43336  type HCONVLIST = uintptr
 43337  type HCONV__ = struct{ Funused int32 }
 43338  
 43339  type HCONV = uintptr
 43340  type HSZ__ = struct{ Funused int32 }
 43341  
 43342  type HSZ = uintptr
 43343  type HDDEDATA__ = struct{ Funused int32 }
 43344  
 43345  type HDDEDATA = uintptr
 43346  
 43347  type tagHSZPAIR = struct {
 43348  	FhszSvc   HSZ
 43349  	FhszTopic HSZ
 43350  }
 43351  
 43352  type HSZPAIR = tagHSZPAIR
 43353  type PHSZPAIR = uintptr
 43354  
 43355  type tagCONVCONTEXT = struct {
 43356  	Fcb         UINT
 43357  	FwFlags     UINT
 43358  	FwCountryID UINT
 43359  	FiCodePage  int32
 43360  	FdwLangID   DWORD
 43361  	FdwSecurity DWORD
 43362  	Fqos        SECURITY_QUALITY_OF_SERVICE
 43363  }
 43364  
 43365  type CONVCONTEXT = tagCONVCONTEXT
 43366  type PCONVCONTEXT = uintptr
 43367  
 43368  type tagCONVINFO = struct {
 43369  	Fcb            DWORD
 43370  	F__ccgo_pad1   [4]byte
 43371  	FhUser         DWORD_PTR
 43372  	FhConvPartner  HCONV
 43373  	FhszSvcPartner HSZ
 43374  	FhszServiceReq HSZ
 43375  	FhszTopic      HSZ
 43376  	FhszItem       HSZ
 43377  	FwFmt          UINT
 43378  	FwType         UINT
 43379  	FwStatus       UINT
 43380  	FwConvst       UINT
 43381  	FwLastError    UINT
 43382  	F__ccgo_pad2   [4]byte
 43383  	FhConvList     HCONVLIST
 43384  	FConvCtxt      CONVCONTEXT
 43385  	F__ccgo_pad3   [4]byte
 43386  	Fhwnd          HWND
 43387  	FhwndPartner   HWND
 43388  }
 43389  
 43390  type CONVINFO = tagCONVINFO
 43391  type PCONVINFO = uintptr
 43392  type PFNCALLBACK = uintptr
 43393  
 43394  type tagDDEML_MSG_HOOK_DATA = struct {
 43395  	FuiLo        UINT_PTR
 43396  	FuiHi        UINT_PTR
 43397  	FcbData      DWORD
 43398  	FData        [8]DWORD
 43399  	F__ccgo_pad1 [4]byte
 43400  }
 43401  
 43402  type DDEML_MSG_HOOK_DATA = tagDDEML_MSG_HOOK_DATA
 43403  type PDDEML_MSG_HOOK_DATA = uintptr
 43404  
 43405  type tagMONMSGSTRUCT = struct {
 43406  	Fcb          UINT
 43407  	F__ccgo_pad1 [4]byte
 43408  	FhwndTo      HWND
 43409  	FdwTime      DWORD
 43410  	F__ccgo_pad2 [4]byte
 43411  	FhTask       HANDLE
 43412  	FwMsg        UINT
 43413  	F__ccgo_pad3 [4]byte
 43414  	FwParam      WPARAM
 43415  	FlParam      LPARAM
 43416  	Fdmhd        DDEML_MSG_HOOK_DATA
 43417  }
 43418  
 43419  type MONMSGSTRUCT = tagMONMSGSTRUCT
 43420  type PMONMSGSTRUCT = uintptr
 43421  
 43422  type tagMONCBSTRUCT = struct {
 43423  	Fcb          UINT
 43424  	FdwTime      DWORD
 43425  	FhTask       HANDLE
 43426  	FdwRet       DWORD
 43427  	FwType       UINT
 43428  	FwFmt        UINT
 43429  	F__ccgo_pad1 [4]byte
 43430  	FhConv       HCONV
 43431  	Fhsz1        HSZ
 43432  	Fhsz2        HSZ
 43433  	FhData       HDDEDATA
 43434  	FdwData1     ULONG_PTR
 43435  	FdwData2     ULONG_PTR
 43436  	Fcc          CONVCONTEXT
 43437  	FcbData      DWORD
 43438  	FData        [8]DWORD
 43439  }
 43440  
 43441  type MONCBSTRUCT = tagMONCBSTRUCT
 43442  type PMONCBSTRUCT = uintptr
 43443  
 43444  type tagMONHSZSTRUCTA = struct {
 43445  	Fcb          UINT
 43446  	FfsAction    WINBOOL
 43447  	FdwTime      DWORD
 43448  	F__ccgo_pad1 [4]byte
 43449  	Fhsz         HSZ
 43450  	FhTask       HANDLE
 43451  	Fstr         [1]CHAR
 43452  	F__ccgo_pad2 [7]byte
 43453  }
 43454  
 43455  type MONHSZSTRUCTA = tagMONHSZSTRUCTA
 43456  type PMONHSZSTRUCTA = uintptr
 43457  
 43458  type tagMONHSZSTRUCTW = struct {
 43459  	Fcb          UINT
 43460  	FfsAction    WINBOOL
 43461  	FdwTime      DWORD
 43462  	F__ccgo_pad1 [4]byte
 43463  	Fhsz         HSZ
 43464  	FhTask       HANDLE
 43465  	Fstr         [1]WCHAR
 43466  	F__ccgo_pad2 [6]byte
 43467  }
 43468  
 43469  type MONHSZSTRUCTW = tagMONHSZSTRUCTW
 43470  type PMONHSZSTRUCTW = uintptr
 43471  
 43472  type MONHSZSTRUCT = MONHSZSTRUCTA
 43473  type PMONHSZSTRUCT = PMONHSZSTRUCTA
 43474  
 43475  type tagMONERRSTRUCT = struct {
 43476  	Fcb          UINT
 43477  	FwLastError  UINT
 43478  	FdwTime      DWORD
 43479  	F__ccgo_pad1 [4]byte
 43480  	FhTask       HANDLE
 43481  }
 43482  
 43483  type MONERRSTRUCT = tagMONERRSTRUCT
 43484  type PMONERRSTRUCT = uintptr
 43485  
 43486  type tagMONLINKSTRUCT = struct {
 43487  	Fcb           UINT
 43488  	FdwTime       DWORD
 43489  	FhTask        HANDLE
 43490  	FfEstablished WINBOOL
 43491  	FfNoData      WINBOOL
 43492  	FhszSvc       HSZ
 43493  	FhszTopic     HSZ
 43494  	FhszItem      HSZ
 43495  	FwFmt         UINT
 43496  	FfServer      WINBOOL
 43497  	FhConvServer  HCONV
 43498  	FhConvClient  HCONV
 43499  }
 43500  
 43501  type MONLINKSTRUCT = tagMONLINKSTRUCT
 43502  type PMONLINKSTRUCT = uintptr
 43503  
 43504  type tagMONCONVSTRUCT = struct {
 43505  	Fcb          UINT
 43506  	FfConnect    WINBOOL
 43507  	FdwTime      DWORD
 43508  	F__ccgo_pad1 [4]byte
 43509  	FhTask       HANDLE
 43510  	FhszSvc      HSZ
 43511  	FhszTopic    HSZ
 43512  	FhConvClient HCONV
 43513  	FhConvServer HCONV
 43514  }
 43515  
 43516  type MONCONVSTRUCT = tagMONCONVSTRUCT
 43517  type PMONCONVSTRUCT = uintptr
 43518  
 43519  type tagCRGB = struct {
 43520  	FbRed   BYTE
 43521  	FbGreen BYTE
 43522  	FbBlue  BYTE
 43523  	FbExtra BYTE
 43524  }
 43525  
 43526  type CRGB = tagCRGB
 43527  
 43528  type MMVERSION = UINT
 43529  type MMRESULT = UINT
 43530  
 43531  type LPUINT = uintptr
 43532  
 43533  type mmtime_tag = struct {
 43534  	FwType UINT
 43535  	Fu     struct {
 43536  		Fms          DWORD
 43537  		F__ccgo_pad1 [4]byte
 43538  	}
 43539  }
 43540  
 43541  type MMTIME = mmtime_tag
 43542  type PMMTIME = uintptr
 43543  type NPMMTIME = uintptr
 43544  type LPMMTIME = uintptr
 43545  
 43546  type HDRVR__ = struct{ Funused int32 }
 43547  
 43548  type HDRVR = uintptr
 43549  
 43550  type DRVCONFIGINFOEX1 = struct {
 43551  	FdwDCISize          DWORD
 43552  	F__ccgo_pad1        [4]byte
 43553  	FlpszDCISectionName LPCWSTR
 43554  	FlpszDCIAliasName   LPCWSTR
 43555  	FdnDevNode          DWORD
 43556  	F__ccgo_pad2        [4]byte
 43557  }
 43558  
 43559  type DRVCONFIGINFOEX = DRVCONFIGINFOEX1
 43560  type PDRVCONFIGINFOEX = uintptr
 43561  type NPDRVCONFIGINFOEX = uintptr
 43562  type LPDRVCONFIGINFOEX = uintptr
 43563  
 43564  type tagDRVCONFIGINFO = struct {
 43565  	FdwDCISize          DWORD
 43566  	F__ccgo_pad1        [4]byte
 43567  	FlpszDCISectionName LPCWSTR
 43568  	FlpszDCIAliasName   LPCWSTR
 43569  }
 43570  
 43571  type DRVCONFIGINFO = tagDRVCONFIGINFO
 43572  type PDRVCONFIGINFO = uintptr
 43573  type NPDRVCONFIGINFO = uintptr
 43574  type LPDRVCONFIGINFO = uintptr
 43575  
 43576  type DRIVERPROC = uintptr
 43577  
 43578  type LPDRVCALLBACK = uintptr
 43579  type PDRVCALLBACK = uintptr
 43580  
 43581  type HWAVE__ = struct{ Funused int32 }
 43582  
 43583  type HWAVE = uintptr
 43584  type HWAVEIN__ = struct{ Funused int32 }
 43585  
 43586  type HWAVEIN = uintptr
 43587  type HWAVEOUT__ = struct{ Funused int32 }
 43588  
 43589  type HWAVEOUT = uintptr
 43590  type LPHWAVEIN = uintptr
 43591  type LPHWAVEOUT = uintptr
 43592  type LPWAVECALLBACK = uintptr
 43593  
 43594  type wavehdr_tag = struct {
 43595  	FlpData          LPSTR
 43596  	FdwBufferLength  DWORD
 43597  	FdwBytesRecorded DWORD
 43598  	FdwUser          DWORD_PTR
 43599  	FdwFlags         DWORD
 43600  	FdwLoops         DWORD
 43601  	FlpNext          uintptr
 43602  	Freserved        DWORD_PTR
 43603  }
 43604  
 43605  type WAVEHDR = wavehdr_tag
 43606  type PWAVEHDR = uintptr
 43607  type NPWAVEHDR = uintptr
 43608  type LPWAVEHDR = uintptr
 43609  
 43610  type tagWAVEOUTCAPSA = struct {
 43611  	FwMid           WORD
 43612  	FwPid           WORD
 43613  	FvDriverVersion MMVERSION
 43614  	FszPname        [32]CHAR
 43615  	FdwFormats      DWORD
 43616  	FwChannels      WORD
 43617  	FwReserved1     WORD
 43618  	FdwSupport      DWORD
 43619  }
 43620  
 43621  type WAVEOUTCAPSA = tagWAVEOUTCAPSA
 43622  type PWAVEOUTCAPSA = uintptr
 43623  type NPWAVEOUTCAPSA = uintptr
 43624  type LPWAVEOUTCAPSA = uintptr
 43625  
 43626  type tagWAVEOUTCAPSW = struct {
 43627  	FwMid           WORD
 43628  	FwPid           WORD
 43629  	FvDriverVersion MMVERSION
 43630  	FszPname        [32]WCHAR
 43631  	FdwFormats      DWORD
 43632  	FwChannels      WORD
 43633  	FwReserved1     WORD
 43634  	FdwSupport      DWORD
 43635  }
 43636  
 43637  type WAVEOUTCAPSW = tagWAVEOUTCAPSW
 43638  type PWAVEOUTCAPSW = uintptr
 43639  type NPWAVEOUTCAPSW = uintptr
 43640  type LPWAVEOUTCAPSW = uintptr
 43641  
 43642  type WAVEOUTCAPS = WAVEOUTCAPSA
 43643  type PWAVEOUTCAPS = PWAVEOUTCAPSA
 43644  type NPWAVEOUTCAPS = NPWAVEOUTCAPSA
 43645  type LPWAVEOUTCAPS = LPWAVEOUTCAPSA
 43646  
 43647  type tagWAVEOUTCAPS2A = struct {
 43648  	FwMid             WORD
 43649  	FwPid             WORD
 43650  	FvDriverVersion   MMVERSION
 43651  	FszPname          [32]CHAR
 43652  	FdwFormats        DWORD
 43653  	FwChannels        WORD
 43654  	FwReserved1       WORD
 43655  	FdwSupport        DWORD
 43656  	FManufacturerGuid GUID
 43657  	FProductGuid      GUID
 43658  	FNameGuid         GUID
 43659  }
 43660  
 43661  type WAVEOUTCAPS2A = tagWAVEOUTCAPS2A
 43662  type PWAVEOUTCAPS2A = uintptr
 43663  type NPWAVEOUTCAPS2A = uintptr
 43664  type LPWAVEOUTCAPS2A = uintptr
 43665  
 43666  type tagWAVEOUTCAPS2W = struct {
 43667  	FwMid             WORD
 43668  	FwPid             WORD
 43669  	FvDriverVersion   MMVERSION
 43670  	FszPname          [32]WCHAR
 43671  	FdwFormats        DWORD
 43672  	FwChannels        WORD
 43673  	FwReserved1       WORD
 43674  	FdwSupport        DWORD
 43675  	FManufacturerGuid GUID
 43676  	FProductGuid      GUID
 43677  	FNameGuid         GUID
 43678  }
 43679  
 43680  type WAVEOUTCAPS2W = tagWAVEOUTCAPS2W
 43681  type PWAVEOUTCAPS2W = uintptr
 43682  type NPWAVEOUTCAPS2W = uintptr
 43683  type LPWAVEOUTCAPS2W = uintptr
 43684  
 43685  type WAVEOUTCAPS2 = WAVEOUTCAPS2A
 43686  type PWAVEOUTCAPS2 = PWAVEOUTCAPS2A
 43687  type NPWAVEOUTCAPS2 = NPWAVEOUTCAPS2A
 43688  type LPWAVEOUTCAPS2 = LPWAVEOUTCAPS2A
 43689  
 43690  type tagWAVEINCAPSA = struct {
 43691  	FwMid           WORD
 43692  	FwPid           WORD
 43693  	FvDriverVersion MMVERSION
 43694  	FszPname        [32]CHAR
 43695  	FdwFormats      DWORD
 43696  	FwChannels      WORD
 43697  	FwReserved1     WORD
 43698  }
 43699  
 43700  type WAVEINCAPSA = tagWAVEINCAPSA
 43701  type PWAVEINCAPSA = uintptr
 43702  type NPWAVEINCAPSA = uintptr
 43703  type LPWAVEINCAPSA = uintptr
 43704  
 43705  type tagWAVEINCAPSW = struct {
 43706  	FwMid           WORD
 43707  	FwPid           WORD
 43708  	FvDriverVersion MMVERSION
 43709  	FszPname        [32]WCHAR
 43710  	FdwFormats      DWORD
 43711  	FwChannels      WORD
 43712  	FwReserved1     WORD
 43713  }
 43714  
 43715  type WAVEINCAPSW = tagWAVEINCAPSW
 43716  type PWAVEINCAPSW = uintptr
 43717  type NPWAVEINCAPSW = uintptr
 43718  type LPWAVEINCAPSW = uintptr
 43719  
 43720  type WAVEINCAPS = WAVEINCAPSA
 43721  type PWAVEINCAPS = PWAVEINCAPSA
 43722  type NPWAVEINCAPS = NPWAVEINCAPSA
 43723  type LPWAVEINCAPS = LPWAVEINCAPSA
 43724  
 43725  type tagWAVEINCAPS2A = struct {
 43726  	FwMid             WORD
 43727  	FwPid             WORD
 43728  	FvDriverVersion   MMVERSION
 43729  	FszPname          [32]CHAR
 43730  	FdwFormats        DWORD
 43731  	FwChannels        WORD
 43732  	FwReserved1       WORD
 43733  	FManufacturerGuid GUID
 43734  	FProductGuid      GUID
 43735  	FNameGuid         GUID
 43736  }
 43737  
 43738  type WAVEINCAPS2A = tagWAVEINCAPS2A
 43739  type PWAVEINCAPS2A = uintptr
 43740  type NPWAVEINCAPS2A = uintptr
 43741  type LPWAVEINCAPS2A = uintptr
 43742  
 43743  type tagWAVEINCAPS2W = struct {
 43744  	FwMid             WORD
 43745  	FwPid             WORD
 43746  	FvDriverVersion   MMVERSION
 43747  	FszPname          [32]WCHAR
 43748  	FdwFormats        DWORD
 43749  	FwChannels        WORD
 43750  	FwReserved1       WORD
 43751  	FManufacturerGuid GUID
 43752  	FProductGuid      GUID
 43753  	FNameGuid         GUID
 43754  }
 43755  
 43756  type WAVEINCAPS2W = tagWAVEINCAPS2W
 43757  type PWAVEINCAPS2W = uintptr
 43758  type NPWAVEINCAPS2W = uintptr
 43759  type LPWAVEINCAPS2W = uintptr
 43760  
 43761  type WAVEINCAPS2 = WAVEINCAPS2A
 43762  type PWAVEINCAPS2 = PWAVEINCAPS2A
 43763  type NPWAVEINCAPS2 = NPWAVEINCAPS2A
 43764  type LPWAVEINCAPS2 = LPWAVEINCAPS2A
 43765  
 43766  type waveformat_tag = struct {
 43767  	FwFormatTag      WORD
 43768  	FnChannels       WORD
 43769  	FnSamplesPerSec  DWORD
 43770  	FnAvgBytesPerSec DWORD
 43771  	FnBlockAlign     WORD
 43772  	F__ccgo_pad1     [2]byte
 43773  }
 43774  
 43775  type WAVEFORMAT = waveformat_tag
 43776  type PWAVEFORMAT = uintptr
 43777  type NPWAVEFORMAT = uintptr
 43778  type LPWAVEFORMAT = uintptr
 43779  
 43780  type pcmwaveformat_tag = struct {
 43781  	Fwf             WAVEFORMAT
 43782  	FwBitsPerSample WORD
 43783  	F__ccgo_pad1    [2]byte
 43784  }
 43785  
 43786  type PCMWAVEFORMAT = pcmwaveformat_tag
 43787  type PPCMWAVEFORMAT = uintptr
 43788  type NPPCMWAVEFORMAT = uintptr
 43789  type LPPCMWAVEFORMAT = uintptr
 43790  
 43791  type tWAVEFORMATEX = struct {
 43792  	FwFormatTag      WORD
 43793  	FnChannels       WORD
 43794  	FnSamplesPerSec  DWORD
 43795  	FnAvgBytesPerSec DWORD
 43796  	FnBlockAlign     WORD
 43797  	FwBitsPerSample  WORD
 43798  	FcbSize          WORD
 43799  	F__ccgo_pad1     [2]byte
 43800  }
 43801  
 43802  type WAVEFORMATEX = tWAVEFORMATEX
 43803  type PWAVEFORMATEX = uintptr
 43804  type NPWAVEFORMATEX = uintptr
 43805  type LPWAVEFORMATEX = uintptr
 43806  type LPCWAVEFORMATEX = uintptr
 43807  
 43808  type HMIDI__ = struct{ Funused int32 }
 43809  
 43810  type HMIDI = uintptr
 43811  type HMIDIIN__ = struct{ Funused int32 }
 43812  
 43813  type HMIDIIN = uintptr
 43814  type HMIDIOUT__ = struct{ Funused int32 }
 43815  
 43816  type HMIDIOUT = uintptr
 43817  type HMIDISTRM__ = struct{ Funused int32 }
 43818  
 43819  type HMIDISTRM = uintptr
 43820  type LPHMIDI = uintptr
 43821  type LPHMIDIIN = uintptr
 43822  type LPHMIDIOUT = uintptr
 43823  type LPHMIDISTRM = uintptr
 43824  type LPMIDICALLBACK = uintptr
 43825  type PATCHARRAY = [128]WORD
 43826  type LPPATCHARRAY = uintptr
 43827  type KEYARRAY = [128]WORD
 43828  type LPKEYARRAY = uintptr
 43829  
 43830  type tagMIDIOUTCAPSA = struct {
 43831  	FwMid           WORD
 43832  	FwPid           WORD
 43833  	FvDriverVersion MMVERSION
 43834  	FszPname        [32]CHAR
 43835  	FwTechnology    WORD
 43836  	FwVoices        WORD
 43837  	FwNotes         WORD
 43838  	FwChannelMask   WORD
 43839  	FdwSupport      DWORD
 43840  }
 43841  
 43842  type MIDIOUTCAPSA = tagMIDIOUTCAPSA
 43843  type PMIDIOUTCAPSA = uintptr
 43844  type NPMIDIOUTCAPSA = uintptr
 43845  type LPMIDIOUTCAPSA = uintptr
 43846  
 43847  type tagMIDIOUTCAPSW = struct {
 43848  	FwMid           WORD
 43849  	FwPid           WORD
 43850  	FvDriverVersion MMVERSION
 43851  	FszPname        [32]WCHAR
 43852  	FwTechnology    WORD
 43853  	FwVoices        WORD
 43854  	FwNotes         WORD
 43855  	FwChannelMask   WORD
 43856  	FdwSupport      DWORD
 43857  }
 43858  
 43859  type MIDIOUTCAPSW = tagMIDIOUTCAPSW
 43860  type PMIDIOUTCAPSW = uintptr
 43861  type NPMIDIOUTCAPSW = uintptr
 43862  type LPMIDIOUTCAPSW = uintptr
 43863  
 43864  type MIDIOUTCAPS = MIDIOUTCAPSA
 43865  type PMIDIOUTCAPS = PMIDIOUTCAPSA
 43866  type NPMIDIOUTCAPS = NPMIDIOUTCAPSA
 43867  type LPMIDIOUTCAPS = LPMIDIOUTCAPSA
 43868  
 43869  type tagMIDIOUTCAPS2A = struct {
 43870  	FwMid             WORD
 43871  	FwPid             WORD
 43872  	FvDriverVersion   MMVERSION
 43873  	FszPname          [32]CHAR
 43874  	FwTechnology      WORD
 43875  	FwVoices          WORD
 43876  	FwNotes           WORD
 43877  	FwChannelMask     WORD
 43878  	FdwSupport        DWORD
 43879  	FManufacturerGuid GUID
 43880  	FProductGuid      GUID
 43881  	FNameGuid         GUID
 43882  }
 43883  
 43884  type MIDIOUTCAPS2A = tagMIDIOUTCAPS2A
 43885  type PMIDIOUTCAPS2A = uintptr
 43886  type NPMIDIOUTCAPS2A = uintptr
 43887  type LPMIDIOUTCAPS2A = uintptr
 43888  
 43889  type tagMIDIOUTCAPS2W = struct {
 43890  	FwMid             WORD
 43891  	FwPid             WORD
 43892  	FvDriverVersion   MMVERSION
 43893  	FszPname          [32]WCHAR
 43894  	FwTechnology      WORD
 43895  	FwVoices          WORD
 43896  	FwNotes           WORD
 43897  	FwChannelMask     WORD
 43898  	FdwSupport        DWORD
 43899  	FManufacturerGuid GUID
 43900  	FProductGuid      GUID
 43901  	FNameGuid         GUID
 43902  }
 43903  
 43904  type MIDIOUTCAPS2W = tagMIDIOUTCAPS2W
 43905  type PMIDIOUTCAPS2W = uintptr
 43906  type NPMIDIOUTCAPS2W = uintptr
 43907  type LPMIDIOUTCAPS2W = uintptr
 43908  
 43909  type MIDIOUTCAPS2 = MIDIOUTCAPS2A
 43910  type PMIDIOUTCAPS2 = PMIDIOUTCAPS2A
 43911  type NPMIDIOUTCAPS2 = NPMIDIOUTCAPS2A
 43912  type LPMIDIOUTCAPS2 = LPMIDIOUTCAPS2A
 43913  
 43914  type tagMIDIINCAPSA = struct {
 43915  	FwMid           WORD
 43916  	FwPid           WORD
 43917  	FvDriverVersion MMVERSION
 43918  	FszPname        [32]CHAR
 43919  	FdwSupport      DWORD
 43920  }
 43921  
 43922  type MIDIINCAPSA = tagMIDIINCAPSA
 43923  type PMIDIINCAPSA = uintptr
 43924  type NPMIDIINCAPSA = uintptr
 43925  type LPMIDIINCAPSA = uintptr
 43926  
 43927  type tagMIDIINCAPSW = struct {
 43928  	FwMid           WORD
 43929  	FwPid           WORD
 43930  	FvDriverVersion MMVERSION
 43931  	FszPname        [32]WCHAR
 43932  	FdwSupport      DWORD
 43933  }
 43934  
 43935  type MIDIINCAPSW = tagMIDIINCAPSW
 43936  type PMIDIINCAPSW = uintptr
 43937  type NPMIDIINCAPSW = uintptr
 43938  type LPMIDIINCAPSW = uintptr
 43939  
 43940  type MIDIINCAPS = MIDIINCAPSA
 43941  type PMIDIINCAPS = PMIDIINCAPSA
 43942  type NPMIDIINCAPS = NPMIDIINCAPSA
 43943  type LPMIDIINCAPS = LPMIDIINCAPSA
 43944  
 43945  type tagMIDIINCAPS2A = struct {
 43946  	FwMid             WORD
 43947  	FwPid             WORD
 43948  	FvDriverVersion   MMVERSION
 43949  	FszPname          [32]CHAR
 43950  	FdwSupport        DWORD
 43951  	FManufacturerGuid GUID
 43952  	FProductGuid      GUID
 43953  	FNameGuid         GUID
 43954  }
 43955  
 43956  type MIDIINCAPS2A = tagMIDIINCAPS2A
 43957  type PMIDIINCAPS2A = uintptr
 43958  type NPMIDIINCAPS2A = uintptr
 43959  type LPMIDIINCAPS2A = uintptr
 43960  
 43961  type tagMIDIINCAPS2W = struct {
 43962  	FwMid             WORD
 43963  	FwPid             WORD
 43964  	FvDriverVersion   MMVERSION
 43965  	FszPname          [32]WCHAR
 43966  	FdwSupport        DWORD
 43967  	FManufacturerGuid GUID
 43968  	FProductGuid      GUID
 43969  	FNameGuid         GUID
 43970  }
 43971  
 43972  type MIDIINCAPS2W = tagMIDIINCAPS2W
 43973  type PMIDIINCAPS2W = uintptr
 43974  type NPMIDIINCAPS2W = uintptr
 43975  type LPMIDIINCAPS2W = uintptr
 43976  
 43977  type MIDIINCAPS2 = MIDIINCAPS2A
 43978  type PMIDIINCAPS2 = PMIDIINCAPS2A
 43979  type NPMIDIINCAPS2 = NPMIDIINCAPS2A
 43980  type LPMIDIINCAPS2 = LPMIDIINCAPS2A
 43981  
 43982  type midihdr_tag = struct {
 43983  	FlpData          LPSTR
 43984  	FdwBufferLength  DWORD
 43985  	FdwBytesRecorded DWORD
 43986  	FdwUser          DWORD_PTR
 43987  	FdwFlags         DWORD
 43988  	F__ccgo_pad1     [4]byte
 43989  	FlpNext          uintptr
 43990  	Freserved        DWORD_PTR
 43991  	FdwOffset        DWORD
 43992  	F__ccgo_pad2     [4]byte
 43993  	FdwReserved      [8]DWORD_PTR
 43994  }
 43995  
 43996  type MIDIHDR = midihdr_tag
 43997  type PMIDIHDR = uintptr
 43998  type NPMIDIHDR = uintptr
 43999  type LPMIDIHDR = uintptr
 44000  
 44001  type midievent_tag = struct {
 44002  	FdwDeltaTime DWORD
 44003  	FdwStreamID  DWORD
 44004  	FdwEvent     DWORD
 44005  	FdwParms     [1]DWORD
 44006  }
 44007  
 44008  type MIDIEVENT = midievent_tag
 44009  
 44010  type midistrmbuffver_tag = struct {
 44011  	FdwVersion    DWORD
 44012  	FdwMid        DWORD
 44013  	FdwOEMVersion DWORD
 44014  }
 44015  
 44016  type MIDISTRMBUFFVER = midistrmbuffver_tag
 44017  
 44018  type midiproptimediv_tag = struct {
 44019  	FcbStruct  DWORD
 44020  	FdwTimeDiv DWORD
 44021  }
 44022  
 44023  type MIDIPROPTIMEDIV = midiproptimediv_tag
 44024  type LPMIDIPROPTIMEDIV = uintptr
 44025  
 44026  type midiproptempo_tag = struct {
 44027  	FcbStruct DWORD
 44028  	FdwTempo  DWORD
 44029  }
 44030  
 44031  type MIDIPROPTEMPO = midiproptempo_tag
 44032  type LPMIDIPROPTEMPO = uintptr
 44033  
 44034  type tagAUXCAPSA = struct {
 44035  	FwMid           WORD
 44036  	FwPid           WORD
 44037  	FvDriverVersion MMVERSION
 44038  	FszPname        [32]CHAR
 44039  	FwTechnology    WORD
 44040  	FwReserved1     WORD
 44041  	FdwSupport      DWORD
 44042  }
 44043  
 44044  type AUXCAPSA = tagAUXCAPSA
 44045  type PAUXCAPSA = uintptr
 44046  type NPAUXCAPSA = uintptr
 44047  type LPAUXCAPSA = uintptr
 44048  
 44049  type tagAUXCAPSW = struct {
 44050  	FwMid           WORD
 44051  	FwPid           WORD
 44052  	FvDriverVersion MMVERSION
 44053  	FszPname        [32]WCHAR
 44054  	FwTechnology    WORD
 44055  	FwReserved1     WORD
 44056  	FdwSupport      DWORD
 44057  }
 44058  
 44059  type AUXCAPSW = tagAUXCAPSW
 44060  type PAUXCAPSW = uintptr
 44061  type NPAUXCAPSW = uintptr
 44062  type LPAUXCAPSW = uintptr
 44063  
 44064  type AUXCAPS = AUXCAPSA
 44065  type PAUXCAPS = PAUXCAPSA
 44066  type NPAUXCAPS = NPAUXCAPSA
 44067  type LPAUXCAPS = LPAUXCAPSA
 44068  
 44069  type tagAUXCAPS2A = struct {
 44070  	FwMid             WORD
 44071  	FwPid             WORD
 44072  	FvDriverVersion   MMVERSION
 44073  	FszPname          [32]CHAR
 44074  	FwTechnology      WORD
 44075  	FwReserved1       WORD
 44076  	FdwSupport        DWORD
 44077  	FManufacturerGuid GUID
 44078  	FProductGuid      GUID
 44079  	FNameGuid         GUID
 44080  }
 44081  
 44082  type AUXCAPS2A = tagAUXCAPS2A
 44083  type PAUXCAPS2A = uintptr
 44084  type NPAUXCAPS2A = uintptr
 44085  type LPAUXCAPS2A = uintptr
 44086  
 44087  type tagAUXCAPS2W = struct {
 44088  	FwMid             WORD
 44089  	FwPid             WORD
 44090  	FvDriverVersion   MMVERSION
 44091  	FszPname          [32]WCHAR
 44092  	FwTechnology      WORD
 44093  	FwReserved1       WORD
 44094  	FdwSupport        DWORD
 44095  	FManufacturerGuid GUID
 44096  	FProductGuid      GUID
 44097  	FNameGuid         GUID
 44098  }
 44099  
 44100  type AUXCAPS2W = tagAUXCAPS2W
 44101  type PAUXCAPS2W = uintptr
 44102  type NPAUXCAPS2W = uintptr
 44103  type LPAUXCAPS2W = uintptr
 44104  
 44105  type AUXCAPS2 = AUXCAPS2A
 44106  type PAUXCAPS2 = PAUXCAPS2A
 44107  type NPAUXCAPS2 = NPAUXCAPS2A
 44108  type LPAUXCAPS2 = LPAUXCAPS2A
 44109  
 44110  type HMIXEROBJ__ = struct{ Funused int32 }
 44111  
 44112  type HMIXEROBJ = uintptr
 44113  type LPHMIXEROBJ = uintptr
 44114  
 44115  type HMIXER__ = struct{ Funused int32 }
 44116  
 44117  type HMIXER = uintptr
 44118  type LPHMIXER = uintptr
 44119  
 44120  type tagMIXERCAPSA = struct {
 44121  	FwMid           WORD
 44122  	FwPid           WORD
 44123  	FvDriverVersion MMVERSION
 44124  	FszPname        [32]CHAR
 44125  	FfdwSupport     DWORD
 44126  	FcDestinations  DWORD
 44127  }
 44128  
 44129  type MIXERCAPSA = tagMIXERCAPSA
 44130  type PMIXERCAPSA = uintptr
 44131  type LPMIXERCAPSA = uintptr
 44132  
 44133  type tagMIXERCAPSW = struct {
 44134  	FwMid           WORD
 44135  	FwPid           WORD
 44136  	FvDriverVersion MMVERSION
 44137  	FszPname        [32]WCHAR
 44138  	FfdwSupport     DWORD
 44139  	FcDestinations  DWORD
 44140  }
 44141  
 44142  type MIXERCAPSW = tagMIXERCAPSW
 44143  type PMIXERCAPSW = uintptr
 44144  type LPMIXERCAPSW = uintptr
 44145  
 44146  type MIXERCAPS = MIXERCAPSA
 44147  type PMIXERCAPS = PMIXERCAPSA
 44148  type LPMIXERCAPS = LPMIXERCAPSA
 44149  
 44150  type tagMIXERCAPS2A = struct {
 44151  	FwMid             WORD
 44152  	FwPid             WORD
 44153  	FvDriverVersion   MMVERSION
 44154  	FszPname          [32]CHAR
 44155  	FfdwSupport       DWORD
 44156  	FcDestinations    DWORD
 44157  	FManufacturerGuid GUID
 44158  	FProductGuid      GUID
 44159  	FNameGuid         GUID
 44160  }
 44161  
 44162  type MIXERCAPS2A = tagMIXERCAPS2A
 44163  type PMIXERCAPS2A = uintptr
 44164  type LPMIXERCAPS2A = uintptr
 44165  
 44166  type tagMIXERCAPS2W = struct {
 44167  	FwMid             WORD
 44168  	FwPid             WORD
 44169  	FvDriverVersion   MMVERSION
 44170  	FszPname          [32]WCHAR
 44171  	FfdwSupport       DWORD
 44172  	FcDestinations    DWORD
 44173  	FManufacturerGuid GUID
 44174  	FProductGuid      GUID
 44175  	FNameGuid         GUID
 44176  }
 44177  
 44178  type MIXERCAPS2W = tagMIXERCAPS2W
 44179  type PMIXERCAPS2W = uintptr
 44180  type LPMIXERCAPS2W = uintptr
 44181  
 44182  type MIXERCAPS2 = MIXERCAPS2A
 44183  type PMIXERCAPS2 = PMIXERCAPS2A
 44184  type LPMIXERCAPS2 = LPMIXERCAPS2A
 44185  
 44186  type tagMIXERLINEA = struct {
 44187  	FcbStruct        DWORD
 44188  	FdwDestination   DWORD
 44189  	FdwSource        DWORD
 44190  	FdwLineID        DWORD
 44191  	FfdwLine         DWORD
 44192  	F__ccgo_pad1     [4]byte
 44193  	FdwUser          DWORD_PTR
 44194  	FdwComponentType DWORD
 44195  	FcChannels       DWORD
 44196  	FcConnections    DWORD
 44197  	FcControls       DWORD
 44198  	FszShortName     [16]CHAR
 44199  	FszName          [64]CHAR
 44200  	FTarget          struct {
 44201  		FdwType         DWORD
 44202  		FdwDeviceID     DWORD
 44203  		FwMid           WORD
 44204  		FwPid           WORD
 44205  		FvDriverVersion MMVERSION
 44206  		FszPname        [32]CHAR
 44207  	}
 44208  }
 44209  
 44210  type MIXERLINEA = tagMIXERLINEA
 44211  type PMIXERLINEA = uintptr
 44212  type LPMIXERLINEA = uintptr
 44213  
 44214  type tagMIXERLINEW = struct {
 44215  	FcbStruct        DWORD
 44216  	FdwDestination   DWORD
 44217  	FdwSource        DWORD
 44218  	FdwLineID        DWORD
 44219  	FfdwLine         DWORD
 44220  	F__ccgo_pad1     [4]byte
 44221  	FdwUser          DWORD_PTR
 44222  	FdwComponentType DWORD
 44223  	FcChannels       DWORD
 44224  	FcConnections    DWORD
 44225  	FcControls       DWORD
 44226  	FszShortName     [16]WCHAR
 44227  	FszName          [64]WCHAR
 44228  	FTarget          struct {
 44229  		FdwType         DWORD
 44230  		FdwDeviceID     DWORD
 44231  		FwMid           WORD
 44232  		FwPid           WORD
 44233  		FvDriverVersion MMVERSION
 44234  		FszPname        [32]WCHAR
 44235  	}
 44236  }
 44237  
 44238  type MIXERLINEW = tagMIXERLINEW
 44239  type PMIXERLINEW = uintptr
 44240  type LPMIXERLINEW = uintptr
 44241  
 44242  type MIXERLINE = MIXERLINEA
 44243  type PMIXERLINE = PMIXERLINEA
 44244  type LPMIXERLINE = LPMIXERLINEA
 44245  
 44246  type tagMIXERCONTROLA = struct {
 44247  	FcbStruct       DWORD
 44248  	FdwControlID    DWORD
 44249  	FdwControlType  DWORD
 44250  	FfdwControl     DWORD
 44251  	FcMultipleItems DWORD
 44252  	FszShortName    [16]CHAR
 44253  	FszName         [64]CHAR
 44254  	FBounds         struct {
 44255  		Fs struct {
 44256  			FlMinimum LONG
 44257  			FlMaximum LONG
 44258  		}
 44259  		F__ccgo_pad1 [16]byte
 44260  	}
 44261  	FMetrics struct {
 44262  		FcSteps      DWORD
 44263  		F__ccgo_pad1 [20]byte
 44264  	}
 44265  }
 44266  
 44267  type MIXERCONTROLA = tagMIXERCONTROLA
 44268  type PMIXERCONTROLA = uintptr
 44269  type LPMIXERCONTROLA = uintptr
 44270  
 44271  type tagMIXERCONTROLW = struct {
 44272  	FcbStruct       DWORD
 44273  	FdwControlID    DWORD
 44274  	FdwControlType  DWORD
 44275  	FfdwControl     DWORD
 44276  	FcMultipleItems DWORD
 44277  	FszShortName    [16]WCHAR
 44278  	FszName         [64]WCHAR
 44279  	FBounds         struct {
 44280  		Fs struct {
 44281  			FlMinimum LONG
 44282  			FlMaximum LONG
 44283  		}
 44284  		F__ccgo_pad1 [16]byte
 44285  	}
 44286  	FMetrics struct {
 44287  		FcSteps      DWORD
 44288  		F__ccgo_pad1 [20]byte
 44289  	}
 44290  }
 44291  
 44292  type MIXERCONTROLW = tagMIXERCONTROLW
 44293  type PMIXERCONTROLW = uintptr
 44294  type LPMIXERCONTROLW = uintptr
 44295  
 44296  type MIXERCONTROL = MIXERCONTROLA
 44297  type PMIXERCONTROL = PMIXERCONTROLA
 44298  type LPMIXERCONTROL = LPMIXERCONTROLA
 44299  
 44300  type tagMIXERLINECONTROLSA = struct {
 44301  	FcbStruct    DWORD
 44302  	FdwLineID    DWORD
 44303  	Fu           struct{ FdwControlID DWORD }
 44304  	FcControls   DWORD
 44305  	Fcbmxctrl    DWORD
 44306  	F__ccgo_pad1 [4]byte
 44307  	Fpamxctrl    LPMIXERCONTROLA
 44308  }
 44309  
 44310  type MIXERLINECONTROLSA = tagMIXERLINECONTROLSA
 44311  type PMIXERLINECONTROLSA = uintptr
 44312  type LPMIXERLINECONTROLSA = uintptr
 44313  
 44314  type tagMIXERLINECONTROLSW = struct {
 44315  	FcbStruct    DWORD
 44316  	FdwLineID    DWORD
 44317  	Fu           struct{ FdwControlID DWORD }
 44318  	FcControls   DWORD
 44319  	Fcbmxctrl    DWORD
 44320  	F__ccgo_pad1 [4]byte
 44321  	Fpamxctrl    LPMIXERCONTROLW
 44322  }
 44323  
 44324  type MIXERLINECONTROLSW = tagMIXERLINECONTROLSW
 44325  type PMIXERLINECONTROLSW = uintptr
 44326  type LPMIXERLINECONTROLSW = uintptr
 44327  
 44328  type MIXERLINECONTROLS = MIXERLINECONTROLSA
 44329  type PMIXERLINECONTROLS = PMIXERLINECONTROLSA
 44330  type LPMIXERLINECONTROLS = LPMIXERLINECONTROLSA
 44331  
 44332  type tMIXERCONTROLDETAILS = struct {
 44333  	FcbStruct    DWORD
 44334  	FdwControlID DWORD
 44335  	FcChannels   DWORD
 44336  	F__ccgo_pad1 [4]byte
 44337  	Fu           struct{ FhwndOwner HWND }
 44338  	FcbDetails   DWORD
 44339  	F__ccgo_pad2 [4]byte
 44340  	FpaDetails   LPVOID
 44341  }
 44342  
 44343  type MIXERCONTROLDETAILS = tMIXERCONTROLDETAILS
 44344  type PMIXERCONTROLDETAILS = uintptr
 44345  type LPMIXERCONTROLDETAILS = uintptr
 44346  
 44347  type tagMIXERCONTROLDETAILS_LISTTEXTA = struct {
 44348  	FdwParam1 DWORD
 44349  	FdwParam2 DWORD
 44350  	FszName   [64]CHAR
 44351  }
 44352  
 44353  type MIXERCONTROLDETAILS_LISTTEXTA = tagMIXERCONTROLDETAILS_LISTTEXTA
 44354  type PMIXERCONTROLDETAILS_LISTTEXTA = uintptr
 44355  type LPMIXERCONTROLDETAILS_LISTTEXTA = uintptr
 44356  type tagMIXERCONTROLDETAILS_LISTTEXTW = struct {
 44357  	FdwParam1 DWORD
 44358  	FdwParam2 DWORD
 44359  	FszName   [64]WCHAR
 44360  }
 44361  
 44362  type MIXERCONTROLDETAILS_LISTTEXTW = tagMIXERCONTROLDETAILS_LISTTEXTW
 44363  type PMIXERCONTROLDETAILS_LISTTEXTW = uintptr
 44364  type LPMIXERCONTROLDETAILS_LISTTEXTW = uintptr
 44365  
 44366  type MIXERCONTROLDETAILS_LISTTEXT = MIXERCONTROLDETAILS_LISTTEXTA
 44367  type PMIXERCONTROLDETAILS_LISTTEXT = PMIXERCONTROLDETAILS_LISTTEXTA
 44368  type LPMIXERCONTROLDETAILS_LISTTEXT = LPMIXERCONTROLDETAILS_LISTTEXTA
 44369  
 44370  type tMIXERCONTROLDETAILS_BOOLEAN = struct{ FfValue LONG }
 44371  
 44372  type MIXERCONTROLDETAILS_BOOLEAN = tMIXERCONTROLDETAILS_BOOLEAN
 44373  type PMIXERCONTROLDETAILS_BOOLEAN = uintptr
 44374  type LPMIXERCONTROLDETAILS_BOOLEAN = uintptr
 44375  
 44376  type tMIXERCONTROLDETAILS_SIGNED = struct{ FlValue LONG }
 44377  
 44378  type MIXERCONTROLDETAILS_SIGNED = tMIXERCONTROLDETAILS_SIGNED
 44379  type PMIXERCONTROLDETAILS_SIGNED = uintptr
 44380  type LPMIXERCONTROLDETAILS_SIGNED = uintptr
 44381  
 44382  type tMIXERCONTROLDETAILS_UNSIGNED = struct{ FdwValue DWORD }
 44383  
 44384  type MIXERCONTROLDETAILS_UNSIGNED = tMIXERCONTROLDETAILS_UNSIGNED
 44385  type PMIXERCONTROLDETAILS_UNSIGNED = uintptr
 44386  type LPMIXERCONTROLDETAILS_UNSIGNED = uintptr
 44387  type LPTIMECALLBACK = uintptr
 44388  
 44389  type timecaps_tag = struct {
 44390  	FwPeriodMin UINT
 44391  	FwPeriodMax UINT
 44392  }
 44393  
 44394  type TIMECAPS = timecaps_tag
 44395  type PTIMECAPS = uintptr
 44396  type NPTIMECAPS = uintptr
 44397  type LPTIMECAPS = uintptr
 44398  
 44399  type tagJOYCAPSA = struct {
 44400  	FwMid        WORD
 44401  	FwPid        WORD
 44402  	FszPname     [32]CHAR
 44403  	FwXmin       UINT
 44404  	FwXmax       UINT
 44405  	FwYmin       UINT
 44406  	FwYmax       UINT
 44407  	FwZmin       UINT
 44408  	FwZmax       UINT
 44409  	FwNumButtons UINT
 44410  	FwPeriodMin  UINT
 44411  	FwPeriodMax  UINT
 44412  	FwRmin       UINT
 44413  	FwRmax       UINT
 44414  	FwUmin       UINT
 44415  	FwUmax       UINT
 44416  	FwVmin       UINT
 44417  	FwVmax       UINT
 44418  	FwCaps       UINT
 44419  	FwMaxAxes    UINT
 44420  	FwNumAxes    UINT
 44421  	FwMaxButtons UINT
 44422  	FszRegKey    [32]CHAR
 44423  	FszOEMVxD    [260]CHAR
 44424  }
 44425  
 44426  type JOYCAPSA = tagJOYCAPSA
 44427  type PJOYCAPSA = uintptr
 44428  type NPJOYCAPSA = uintptr
 44429  type LPJOYCAPSA = uintptr
 44430  
 44431  type tagJOYCAPSW = struct {
 44432  	FwMid        WORD
 44433  	FwPid        WORD
 44434  	FszPname     [32]WCHAR
 44435  	FwXmin       UINT
 44436  	FwXmax       UINT
 44437  	FwYmin       UINT
 44438  	FwYmax       UINT
 44439  	FwZmin       UINT
 44440  	FwZmax       UINT
 44441  	FwNumButtons UINT
 44442  	FwPeriodMin  UINT
 44443  	FwPeriodMax  UINT
 44444  	FwRmin       UINT
 44445  	FwRmax       UINT
 44446  	FwUmin       UINT
 44447  	FwUmax       UINT
 44448  	FwVmin       UINT
 44449  	FwVmax       UINT
 44450  	FwCaps       UINT
 44451  	FwMaxAxes    UINT
 44452  	FwNumAxes    UINT
 44453  	FwMaxButtons UINT
 44454  	FszRegKey    [32]WCHAR
 44455  	FszOEMVxD    [260]WCHAR
 44456  }
 44457  
 44458  type JOYCAPSW = tagJOYCAPSW
 44459  type PJOYCAPSW = uintptr
 44460  type NPJOYCAPSW = uintptr
 44461  type LPJOYCAPSW = uintptr
 44462  
 44463  type JOYCAPS = JOYCAPSA
 44464  type PJOYCAPS = PJOYCAPSA
 44465  type NPJOYCAPS = NPJOYCAPSA
 44466  type LPJOYCAPS = LPJOYCAPSA
 44467  
 44468  type tagJOYCAPS2A = struct {
 44469  	FwMid             WORD
 44470  	FwPid             WORD
 44471  	FszPname          [32]CHAR
 44472  	FwXmin            UINT
 44473  	FwXmax            UINT
 44474  	FwYmin            UINT
 44475  	FwYmax            UINT
 44476  	FwZmin            UINT
 44477  	FwZmax            UINT
 44478  	FwNumButtons      UINT
 44479  	FwPeriodMin       UINT
 44480  	FwPeriodMax       UINT
 44481  	FwRmin            UINT
 44482  	FwRmax            UINT
 44483  	FwUmin            UINT
 44484  	FwUmax            UINT
 44485  	FwVmin            UINT
 44486  	FwVmax            UINT
 44487  	FwCaps            UINT
 44488  	FwMaxAxes         UINT
 44489  	FwNumAxes         UINT
 44490  	FwMaxButtons      UINT
 44491  	FszRegKey         [32]CHAR
 44492  	FszOEMVxD         [260]CHAR
 44493  	FManufacturerGuid GUID
 44494  	FProductGuid      GUID
 44495  	FNameGuid         GUID
 44496  }
 44497  
 44498  type JOYCAPS2A = tagJOYCAPS2A
 44499  type PJOYCAPS2A = uintptr
 44500  type NPJOYCAPS2A = uintptr
 44501  type LPJOYCAPS2A = uintptr
 44502  
 44503  type tagJOYCAPS2W = struct {
 44504  	FwMid             WORD
 44505  	FwPid             WORD
 44506  	FszPname          [32]WCHAR
 44507  	FwXmin            UINT
 44508  	FwXmax            UINT
 44509  	FwYmin            UINT
 44510  	FwYmax            UINT
 44511  	FwZmin            UINT
 44512  	FwZmax            UINT
 44513  	FwNumButtons      UINT
 44514  	FwPeriodMin       UINT
 44515  	FwPeriodMax       UINT
 44516  	FwRmin            UINT
 44517  	FwRmax            UINT
 44518  	FwUmin            UINT
 44519  	FwUmax            UINT
 44520  	FwVmin            UINT
 44521  	FwVmax            UINT
 44522  	FwCaps            UINT
 44523  	FwMaxAxes         UINT
 44524  	FwNumAxes         UINT
 44525  	FwMaxButtons      UINT
 44526  	FszRegKey         [32]WCHAR
 44527  	FszOEMVxD         [260]WCHAR
 44528  	FManufacturerGuid GUID
 44529  	FProductGuid      GUID
 44530  	FNameGuid         GUID
 44531  }
 44532  
 44533  type JOYCAPS2W = tagJOYCAPS2W
 44534  type PJOYCAPS2W = uintptr
 44535  type NPJOYCAPS2W = uintptr
 44536  type LPJOYCAPS2W = uintptr
 44537  
 44538  type JOYCAPS2 = JOYCAPS2A
 44539  type PJOYCAPS2 = PJOYCAPS2A
 44540  type NPJOYCAPS2 = NPJOYCAPS2A
 44541  type LPJOYCAPS2 = LPJOYCAPS2A
 44542  
 44543  type joyinfo_tag = struct {
 44544  	FwXpos    UINT
 44545  	FwYpos    UINT
 44546  	FwZpos    UINT
 44547  	FwButtons UINT
 44548  }
 44549  
 44550  type JOYINFO = joyinfo_tag
 44551  type PJOYINFO = uintptr
 44552  type NPJOYINFO = uintptr
 44553  type LPJOYINFO = uintptr
 44554  
 44555  type joyinfoex_tag = struct {
 44556  	FdwSize         DWORD
 44557  	FdwFlags        DWORD
 44558  	FdwXpos         DWORD
 44559  	FdwYpos         DWORD
 44560  	FdwZpos         DWORD
 44561  	FdwRpos         DWORD
 44562  	FdwUpos         DWORD
 44563  	FdwVpos         DWORD
 44564  	FdwButtons      DWORD
 44565  	FdwButtonNumber DWORD
 44566  	FdwPOV          DWORD
 44567  	FdwReserved1    DWORD
 44568  	FdwReserved2    DWORD
 44569  }
 44570  
 44571  type JOYINFOEX = joyinfoex_tag
 44572  type PJOYINFOEX = uintptr
 44573  type NPJOYINFOEX = uintptr
 44574  type LPJOYINFOEX = uintptr
 44575  
 44576  type FOURCC = DWORD
 44577  type HPSTR = uintptr
 44578  type HMMIO__ = struct{ Funused int32 }
 44579  
 44580  type HMMIO = uintptr
 44581  type LPMMIOPROC = uintptr
 44582  
 44583  type _MMIOINFO = struct {
 44584  	FdwFlags     DWORD
 44585  	FfccIOProc   FOURCC
 44586  	FpIOProc     LPMMIOPROC
 44587  	FwErrorRet   UINT
 44588  	F__ccgo_pad1 [4]byte
 44589  	Fhtask       HTASK
 44590  	FcchBuffer   LONG
 44591  	F__ccgo_pad2 [4]byte
 44592  	FpchBuffer   HPSTR
 44593  	FpchNext     HPSTR
 44594  	FpchEndRead  HPSTR
 44595  	FpchEndWrite HPSTR
 44596  	FlBufOffset  LONG
 44597  	FlDiskOffset LONG
 44598  	FadwInfo     [3]DWORD
 44599  	FdwReserved1 DWORD
 44600  	FdwReserved2 DWORD
 44601  	F__ccgo_pad3 [4]byte
 44602  	Fhmmio       HMMIO
 44603  }
 44604  
 44605  type MMIOINFO = _MMIOINFO
 44606  type PMMIOINFO = uintptr
 44607  type NPMMIOINFO = uintptr
 44608  type LPMMIOINFO = uintptr
 44609  
 44610  type LPCMMIOINFO = uintptr
 44611  
 44612  type _MMCKINFO = struct {
 44613  	Fckid         FOURCC
 44614  	Fcksize       DWORD
 44615  	FfccType      FOURCC
 44616  	FdwDataOffset DWORD
 44617  	FdwFlags      DWORD
 44618  }
 44619  
 44620  type MMCKINFO = _MMCKINFO
 44621  type PMMCKINFO = uintptr
 44622  type NPMMCKINFO = uintptr
 44623  type LPMMCKINFO = uintptr
 44624  
 44625  type LPCMMCKINFO = uintptr
 44626  
 44627  type MCIERROR = DWORD
 44628  
 44629  type MCIDEVICEID = UINT
 44630  
 44631  type YIELDPROC = uintptr
 44632  
 44633  type tagMCI_GENERIC_PARMS = struct{ FdwCallback DWORD_PTR }
 44634  
 44635  type MCI_GENERIC_PARMS = tagMCI_GENERIC_PARMS
 44636  type PMCI_GENERIC_PARMS = uintptr
 44637  type LPMCI_GENERIC_PARMS = uintptr
 44638  
 44639  type tagMCI_OPEN_PARMSA = struct {
 44640  	FdwCallback       DWORD_PTR
 44641  	FwDeviceID        MCIDEVICEID
 44642  	F__ccgo_pad1      [4]byte
 44643  	FlpstrDeviceType  LPCSTR
 44644  	FlpstrElementName LPCSTR
 44645  	FlpstrAlias       LPCSTR
 44646  }
 44647  
 44648  type MCI_OPEN_PARMSA = tagMCI_OPEN_PARMSA
 44649  type PMCI_OPEN_PARMSA = uintptr
 44650  type LPMCI_OPEN_PARMSA = uintptr
 44651  
 44652  type tagMCI_OPEN_PARMSW = struct {
 44653  	FdwCallback       DWORD_PTR
 44654  	FwDeviceID        MCIDEVICEID
 44655  	F__ccgo_pad1      [4]byte
 44656  	FlpstrDeviceType  LPCWSTR
 44657  	FlpstrElementName LPCWSTR
 44658  	FlpstrAlias       LPCWSTR
 44659  }
 44660  
 44661  type MCI_OPEN_PARMSW = tagMCI_OPEN_PARMSW
 44662  type PMCI_OPEN_PARMSW = uintptr
 44663  type LPMCI_OPEN_PARMSW = uintptr
 44664  
 44665  type MCI_OPEN_PARMS = MCI_OPEN_PARMSA
 44666  type PMCI_OPEN_PARMS = PMCI_OPEN_PARMSA
 44667  type LPMCI_OPEN_PARMS = LPMCI_OPEN_PARMSA
 44668  
 44669  type tagMCI_PLAY_PARMS = struct {
 44670  	FdwCallback DWORD_PTR
 44671  	FdwFrom     DWORD
 44672  	FdwTo       DWORD
 44673  }
 44674  
 44675  type MCI_PLAY_PARMS = tagMCI_PLAY_PARMS
 44676  type PMCI_PLAY_PARMS = uintptr
 44677  type LPMCI_PLAY_PARMS = uintptr
 44678  
 44679  type tagMCI_SEEK_PARMS = struct {
 44680  	FdwCallback  DWORD_PTR
 44681  	FdwTo        DWORD
 44682  	F__ccgo_pad1 [4]byte
 44683  }
 44684  
 44685  type MCI_SEEK_PARMS = tagMCI_SEEK_PARMS
 44686  type PMCI_SEEK_PARMS = uintptr
 44687  type LPMCI_SEEK_PARMS = uintptr
 44688  
 44689  type tagMCI_STATUS_PARMS = struct {
 44690  	FdwCallback DWORD_PTR
 44691  	FdwReturn   DWORD_PTR
 44692  	FdwItem     DWORD
 44693  	FdwTrack    DWORD
 44694  }
 44695  
 44696  type MCI_STATUS_PARMS = tagMCI_STATUS_PARMS
 44697  type PMCI_STATUS_PARMS = uintptr
 44698  type LPMCI_STATUS_PARMS = uintptr
 44699  
 44700  type tagMCI_INFO_PARMSA = struct {
 44701  	FdwCallback  DWORD_PTR
 44702  	FlpstrReturn LPSTR
 44703  	FdwRetSize   DWORD
 44704  	F__ccgo_pad1 [4]byte
 44705  }
 44706  
 44707  type MCI_INFO_PARMSA = tagMCI_INFO_PARMSA
 44708  type LPMCI_INFO_PARMSA = uintptr
 44709  type tagMCI_INFO_PARMSW = struct {
 44710  	FdwCallback  DWORD_PTR
 44711  	FlpstrReturn LPWSTR
 44712  	FdwRetSize   DWORD
 44713  	F__ccgo_pad1 [4]byte
 44714  }
 44715  
 44716  type MCI_INFO_PARMSW = tagMCI_INFO_PARMSW
 44717  type LPMCI_INFO_PARMSW = uintptr
 44718  
 44719  type MCI_INFO_PARMS = MCI_INFO_PARMSA
 44720  type LPMCI_INFO_PARMS = LPMCI_INFO_PARMSA
 44721  
 44722  type tagMCI_GETDEVCAPS_PARMS = struct {
 44723  	FdwCallback DWORD_PTR
 44724  	FdwReturn   DWORD
 44725  	FdwItem     DWORD
 44726  }
 44727  
 44728  type MCI_GETDEVCAPS_PARMS = tagMCI_GETDEVCAPS_PARMS
 44729  type PMCI_GETDEVCAPS_PARMS = uintptr
 44730  type LPMCI_GETDEVCAPS_PARMS = uintptr
 44731  
 44732  type tagMCI_SYSINFO_PARMSA = struct {
 44733  	FdwCallback  DWORD_PTR
 44734  	FlpstrReturn LPSTR
 44735  	FdwRetSize   DWORD
 44736  	FdwNumber    DWORD
 44737  	FwDeviceType UINT
 44738  	F__ccgo_pad1 [4]byte
 44739  }
 44740  
 44741  type MCI_SYSINFO_PARMSA = tagMCI_SYSINFO_PARMSA
 44742  type PMCI_SYSINFO_PARMSA = uintptr
 44743  type LPMCI_SYSINFO_PARMSA = uintptr
 44744  
 44745  type tagMCI_SYSINFO_PARMSW = struct {
 44746  	FdwCallback  DWORD_PTR
 44747  	FlpstrReturn LPWSTR
 44748  	FdwRetSize   DWORD
 44749  	FdwNumber    DWORD
 44750  	FwDeviceType UINT
 44751  	F__ccgo_pad1 [4]byte
 44752  }
 44753  
 44754  type MCI_SYSINFO_PARMSW = tagMCI_SYSINFO_PARMSW
 44755  type PMCI_SYSINFO_PARMSW = uintptr
 44756  type LPMCI_SYSINFO_PARMSW = uintptr
 44757  
 44758  type MCI_SYSINFO_PARMS = MCI_SYSINFO_PARMSA
 44759  type PMCI_SYSINFO_PARMS = PMCI_SYSINFO_PARMSA
 44760  type LPMCI_SYSINFO_PARMS = LPMCI_SYSINFO_PARMSA
 44761  
 44762  type tagMCI_SET_PARMS = struct {
 44763  	FdwCallback   DWORD_PTR
 44764  	FdwTimeFormat DWORD
 44765  	FdwAudio      DWORD
 44766  }
 44767  
 44768  type MCI_SET_PARMS = tagMCI_SET_PARMS
 44769  type PMCI_SET_PARMS = uintptr
 44770  type LPMCI_SET_PARMS = uintptr
 44771  
 44772  type tagMCI_BREAK_PARMS = struct {
 44773  	FdwCallback  DWORD_PTR
 44774  	FnVirtKey    int32
 44775  	F__ccgo_pad1 [4]byte
 44776  	FhwndBreak   HWND
 44777  }
 44778  
 44779  type MCI_BREAK_PARMS = tagMCI_BREAK_PARMS
 44780  type PMCI_BREAK_PARMS = uintptr
 44781  type LPMCI_BREAK_PARMS = uintptr
 44782  
 44783  type tagMCI_SAVE_PARMSA = struct {
 44784  	FdwCallback DWORD_PTR
 44785  	Flpfilename LPCSTR
 44786  }
 44787  
 44788  type MCI_SAVE_PARMSA = tagMCI_SAVE_PARMSA
 44789  type PMCI_SAVE_PARMSA = uintptr
 44790  type LPMCI_SAVE_PARMSA = uintptr
 44791  
 44792  type tagMCI_SAVE_PARMSW = struct {
 44793  	FdwCallback DWORD_PTR
 44794  	Flpfilename LPCWSTR
 44795  }
 44796  
 44797  type MCI_SAVE_PARMSW = tagMCI_SAVE_PARMSW
 44798  type PMCI_SAVE_PARMSW = uintptr
 44799  type LPMCI_SAVE_PARMSW = uintptr
 44800  
 44801  type MCI_SAVE_PARMS = MCI_SAVE_PARMSA
 44802  type PMCI_SAVE_PARMS = PMCI_SAVE_PARMSA
 44803  type LPMCI_SAVE_PARMS = LPMCI_SAVE_PARMSA
 44804  
 44805  type tagMCI_LOAD_PARMSA = struct {
 44806  	FdwCallback DWORD_PTR
 44807  	Flpfilename LPCSTR
 44808  }
 44809  
 44810  type MCI_LOAD_PARMSA = tagMCI_LOAD_PARMSA
 44811  type PMCI_LOAD_PARMSA = uintptr
 44812  type LPMCI_LOAD_PARMSA = uintptr
 44813  
 44814  type tagMCI_LOAD_PARMSW = struct {
 44815  	FdwCallback DWORD_PTR
 44816  	Flpfilename LPCWSTR
 44817  }
 44818  
 44819  type MCI_LOAD_PARMSW = tagMCI_LOAD_PARMSW
 44820  type PMCI_LOAD_PARMSW = uintptr
 44821  type LPMCI_LOAD_PARMSW = uintptr
 44822  
 44823  type MCI_LOAD_PARMS = MCI_LOAD_PARMSA
 44824  type PMCI_LOAD_PARMS = PMCI_LOAD_PARMSA
 44825  type LPMCI_LOAD_PARMS = LPMCI_LOAD_PARMSA
 44826  
 44827  type tagMCI_RECORD_PARMS = struct {
 44828  	FdwCallback DWORD_PTR
 44829  	FdwFrom     DWORD
 44830  	FdwTo       DWORD
 44831  }
 44832  
 44833  type MCI_RECORD_PARMS = tagMCI_RECORD_PARMS
 44834  type LPMCI_RECORD_PARMS = uintptr
 44835  
 44836  type tagMCI_VD_PLAY_PARMS = struct {
 44837  	FdwCallback  DWORD_PTR
 44838  	FdwFrom      DWORD
 44839  	FdwTo        DWORD
 44840  	FdwSpeed     DWORD
 44841  	F__ccgo_pad1 [4]byte
 44842  }
 44843  
 44844  type MCI_VD_PLAY_PARMS = tagMCI_VD_PLAY_PARMS
 44845  type PMCI_VD_PLAY_PARMS = uintptr
 44846  type LPMCI_VD_PLAY_PARMS = uintptr
 44847  
 44848  type tagMCI_VD_STEP_PARMS = struct {
 44849  	FdwCallback  DWORD_PTR
 44850  	FdwFrames    DWORD
 44851  	F__ccgo_pad1 [4]byte
 44852  }
 44853  
 44854  type MCI_VD_STEP_PARMS = tagMCI_VD_STEP_PARMS
 44855  type PMCI_VD_STEP_PARMS = uintptr
 44856  type LPMCI_VD_STEP_PARMS = uintptr
 44857  
 44858  type tagMCI_VD_ESCAPE_PARMSA = struct {
 44859  	FdwCallback   DWORD_PTR
 44860  	FlpstrCommand LPCSTR
 44861  }
 44862  
 44863  type MCI_VD_ESCAPE_PARMSA = tagMCI_VD_ESCAPE_PARMSA
 44864  type PMCI_VD_ESCAPE_PARMSA = uintptr
 44865  type LPMCI_VD_ESCAPE_PARMSA = uintptr
 44866  
 44867  type tagMCI_VD_ESCAPE_PARMSW = struct {
 44868  	FdwCallback   DWORD_PTR
 44869  	FlpstrCommand LPCWSTR
 44870  }
 44871  
 44872  type MCI_VD_ESCAPE_PARMSW = tagMCI_VD_ESCAPE_PARMSW
 44873  type PMCI_VD_ESCAPE_PARMSW = uintptr
 44874  type LPMCI_VD_ESCAPE_PARMSW = uintptr
 44875  
 44876  type MCI_VD_ESCAPE_PARMS = MCI_VD_ESCAPE_PARMSA
 44877  type PMCI_VD_ESCAPE_PARMS = PMCI_VD_ESCAPE_PARMSA
 44878  type LPMCI_VD_ESCAPE_PARMS = LPMCI_VD_ESCAPE_PARMSA
 44879  
 44880  type tagMCI_WAVE_OPEN_PARMSA = struct {
 44881  	FdwCallback       DWORD_PTR
 44882  	FwDeviceID        MCIDEVICEID
 44883  	F__ccgo_pad1      [4]byte
 44884  	FlpstrDeviceType  LPCSTR
 44885  	FlpstrElementName LPCSTR
 44886  	FlpstrAlias       LPCSTR
 44887  	FdwBufferSeconds  DWORD
 44888  	F__ccgo_pad2      [4]byte
 44889  }
 44890  
 44891  type MCI_WAVE_OPEN_PARMSA = tagMCI_WAVE_OPEN_PARMSA
 44892  type PMCI_WAVE_OPEN_PARMSA = uintptr
 44893  type LPMCI_WAVE_OPEN_PARMSA = uintptr
 44894  
 44895  type tagMCI_WAVE_OPEN_PARMSW = struct {
 44896  	FdwCallback       DWORD_PTR
 44897  	FwDeviceID        MCIDEVICEID
 44898  	F__ccgo_pad1      [4]byte
 44899  	FlpstrDeviceType  LPCWSTR
 44900  	FlpstrElementName LPCWSTR
 44901  	FlpstrAlias       LPCWSTR
 44902  	FdwBufferSeconds  DWORD
 44903  	F__ccgo_pad2      [4]byte
 44904  }
 44905  
 44906  type MCI_WAVE_OPEN_PARMSW = tagMCI_WAVE_OPEN_PARMSW
 44907  type PMCI_WAVE_OPEN_PARMSW = uintptr
 44908  type LPMCI_WAVE_OPEN_PARMSW = uintptr
 44909  
 44910  type MCI_WAVE_OPEN_PARMS = MCI_WAVE_OPEN_PARMSA
 44911  type PMCI_WAVE_OPEN_PARMS = PMCI_WAVE_OPEN_PARMSA
 44912  type LPMCI_WAVE_OPEN_PARMS = LPMCI_WAVE_OPEN_PARMSA
 44913  
 44914  type tagMCI_WAVE_DELETE_PARMS = struct {
 44915  	FdwCallback DWORD_PTR
 44916  	FdwFrom     DWORD
 44917  	FdwTo       DWORD
 44918  }
 44919  
 44920  type MCI_WAVE_DELETE_PARMS = tagMCI_WAVE_DELETE_PARMS
 44921  type PMCI_WAVE_DELETE_PARMS = uintptr
 44922  type LPMCI_WAVE_DELETE_PARMS = uintptr
 44923  
 44924  type tagMCI_WAVE_SET_PARMS = struct {
 44925  	FdwCallback      DWORD_PTR
 44926  	FdwTimeFormat    DWORD
 44927  	FdwAudio         DWORD
 44928  	FwInput          UINT
 44929  	FwOutput         UINT
 44930  	FwFormatTag      WORD
 44931  	FwReserved2      WORD
 44932  	FnChannels       WORD
 44933  	FwReserved3      WORD
 44934  	FnSamplesPerSec  DWORD
 44935  	FnAvgBytesPerSec DWORD
 44936  	FnBlockAlign     WORD
 44937  	FwReserved4      WORD
 44938  	FwBitsPerSample  WORD
 44939  	FwReserved5      WORD
 44940  }
 44941  
 44942  type MCI_WAVE_SET_PARMS = tagMCI_WAVE_SET_PARMS
 44943  type PMCI_WAVE_SET_PARMS = uintptr
 44944  type LPMCI_WAVE_SET_PARMS = uintptr
 44945  
 44946  type tagMCI_SEQ_SET_PARMS = struct {
 44947  	FdwCallback   DWORD_PTR
 44948  	FdwTimeFormat DWORD
 44949  	FdwAudio      DWORD
 44950  	FdwTempo      DWORD
 44951  	FdwPort       DWORD
 44952  	FdwSlave      DWORD
 44953  	FdwMaster     DWORD
 44954  	FdwOffset     DWORD
 44955  	F__ccgo_pad1  [4]byte
 44956  }
 44957  
 44958  type MCI_SEQ_SET_PARMS = tagMCI_SEQ_SET_PARMS
 44959  type PMCI_SEQ_SET_PARMS = uintptr
 44960  type LPMCI_SEQ_SET_PARMS = uintptr
 44961  
 44962  type tagMCI_ANIM_OPEN_PARMSA = struct {
 44963  	FdwCallback       DWORD_PTR
 44964  	FwDeviceID        MCIDEVICEID
 44965  	F__ccgo_pad1      [4]byte
 44966  	FlpstrDeviceType  LPCSTR
 44967  	FlpstrElementName LPCSTR
 44968  	FlpstrAlias       LPCSTR
 44969  	FdwStyle          DWORD
 44970  	F__ccgo_pad2      [4]byte
 44971  	FhWndParent       HWND
 44972  }
 44973  
 44974  type MCI_ANIM_OPEN_PARMSA = tagMCI_ANIM_OPEN_PARMSA
 44975  type PMCI_ANIM_OPEN_PARMSA = uintptr
 44976  type LPMCI_ANIM_OPEN_PARMSA = uintptr
 44977  
 44978  type tagMCI_ANIM_OPEN_PARMSW = struct {
 44979  	FdwCallback       DWORD_PTR
 44980  	FwDeviceID        MCIDEVICEID
 44981  	F__ccgo_pad1      [4]byte
 44982  	FlpstrDeviceType  LPCWSTR
 44983  	FlpstrElementName LPCWSTR
 44984  	FlpstrAlias       LPCWSTR
 44985  	FdwStyle          DWORD
 44986  	F__ccgo_pad2      [4]byte
 44987  	FhWndParent       HWND
 44988  }
 44989  
 44990  type MCI_ANIM_OPEN_PARMSW = tagMCI_ANIM_OPEN_PARMSW
 44991  type PMCI_ANIM_OPEN_PARMSW = uintptr
 44992  type LPMCI_ANIM_OPEN_PARMSW = uintptr
 44993  
 44994  type MCI_ANIM_OPEN_PARMS = MCI_ANIM_OPEN_PARMSA
 44995  type PMCI_ANIM_OPEN_PARMS = PMCI_ANIM_OPEN_PARMSA
 44996  type LPMCI_ANIM_OPEN_PARMS = LPMCI_ANIM_OPEN_PARMSA
 44997  
 44998  type tagMCI_ANIM_PLAY_PARMS = struct {
 44999  	FdwCallback  DWORD_PTR
 45000  	FdwFrom      DWORD
 45001  	FdwTo        DWORD
 45002  	FdwSpeed     DWORD
 45003  	F__ccgo_pad1 [4]byte
 45004  }
 45005  
 45006  type MCI_ANIM_PLAY_PARMS = tagMCI_ANIM_PLAY_PARMS
 45007  type PMCI_ANIM_PLAY_PARMS = uintptr
 45008  type LPMCI_ANIM_PLAY_PARMS = uintptr
 45009  
 45010  type tagMCI_ANIM_STEP_PARMS = struct {
 45011  	FdwCallback  DWORD_PTR
 45012  	FdwFrames    DWORD
 45013  	F__ccgo_pad1 [4]byte
 45014  }
 45015  
 45016  type MCI_ANIM_STEP_PARMS = tagMCI_ANIM_STEP_PARMS
 45017  type PMCI_ANIM_STEP_PARMS = uintptr
 45018  type LPMCI_ANIM_STEP_PARMS = uintptr
 45019  
 45020  type tagMCI_ANIM_WINDOW_PARMSA = struct {
 45021  	FdwCallback  DWORD_PTR
 45022  	FhWnd        HWND
 45023  	FnCmdShow    UINT
 45024  	F__ccgo_pad1 [4]byte
 45025  	FlpstrText   LPCSTR
 45026  }
 45027  
 45028  type MCI_ANIM_WINDOW_PARMSA = tagMCI_ANIM_WINDOW_PARMSA
 45029  type PMCI_ANIM_WINDOW_PARMSA = uintptr
 45030  type LPMCI_ANIM_WINDOW_PARMSA = uintptr
 45031  
 45032  type tagMCI_ANIM_WINDOW_PARMSW = struct {
 45033  	FdwCallback  DWORD_PTR
 45034  	FhWnd        HWND
 45035  	FnCmdShow    UINT
 45036  	F__ccgo_pad1 [4]byte
 45037  	FlpstrText   LPCWSTR
 45038  }
 45039  
 45040  type MCI_ANIM_WINDOW_PARMSW = tagMCI_ANIM_WINDOW_PARMSW
 45041  type PMCI_ANIM_WINDOW_PARMSW = uintptr
 45042  type LPMCI_ANIM_WINDOW_PARMSW = uintptr
 45043  
 45044  type MCI_ANIM_WINDOW_PARMS = MCI_ANIM_WINDOW_PARMSA
 45045  type PMCI_ANIM_WINDOW_PARMS = PMCI_ANIM_WINDOW_PARMSA
 45046  type LPMCI_ANIM_WINDOW_PARMS = LPMCI_ANIM_WINDOW_PARMSA
 45047  
 45048  type tagMCI_ANIM_RECT_PARMS = struct {
 45049  	FdwCallback DWORD_PTR
 45050  	Frc         RECT
 45051  }
 45052  
 45053  type MCI_ANIM_RECT_PARMS = tagMCI_ANIM_RECT_PARMS
 45054  
 45055  type PMCI_ANIM_RECT_PARMS = uintptr
 45056  type LPMCI_ANIM_RECT_PARMS = uintptr
 45057  
 45058  type tagMCI_ANIM_UPDATE_PARMS = struct {
 45059  	FdwCallback DWORD_PTR
 45060  	Frc         RECT
 45061  	FhDC        HDC
 45062  }
 45063  
 45064  type MCI_ANIM_UPDATE_PARMS = tagMCI_ANIM_UPDATE_PARMS
 45065  type PMCI_ANIM_UPDATE_PARMS = uintptr
 45066  type LPMCI_ANIM_UPDATE_PARMS = uintptr
 45067  
 45068  type tagMCI_OVLY_OPEN_PARMSA = struct {
 45069  	FdwCallback       DWORD_PTR
 45070  	FwDeviceID        MCIDEVICEID
 45071  	F__ccgo_pad1      [4]byte
 45072  	FlpstrDeviceType  LPCSTR
 45073  	FlpstrElementName LPCSTR
 45074  	FlpstrAlias       LPCSTR
 45075  	FdwStyle          DWORD
 45076  	F__ccgo_pad2      [4]byte
 45077  	FhWndParent       HWND
 45078  }
 45079  
 45080  type MCI_OVLY_OPEN_PARMSA = tagMCI_OVLY_OPEN_PARMSA
 45081  type PMCI_OVLY_OPEN_PARMSA = uintptr
 45082  type LPMCI_OVLY_OPEN_PARMSA = uintptr
 45083  
 45084  type tagMCI_OVLY_OPEN_PARMSW = struct {
 45085  	FdwCallback       DWORD_PTR
 45086  	FwDeviceID        MCIDEVICEID
 45087  	F__ccgo_pad1      [4]byte
 45088  	FlpstrDeviceType  LPCWSTR
 45089  	FlpstrElementName LPCWSTR
 45090  	FlpstrAlias       LPCWSTR
 45091  	FdwStyle          DWORD
 45092  	F__ccgo_pad2      [4]byte
 45093  	FhWndParent       HWND
 45094  }
 45095  
 45096  type MCI_OVLY_OPEN_PARMSW = tagMCI_OVLY_OPEN_PARMSW
 45097  type PMCI_OVLY_OPEN_PARMSW = uintptr
 45098  type LPMCI_OVLY_OPEN_PARMSW = uintptr
 45099  
 45100  type MCI_OVLY_OPEN_PARMS = MCI_OVLY_OPEN_PARMSA
 45101  type PMCI_OVLY_OPEN_PARMS = PMCI_OVLY_OPEN_PARMSA
 45102  type LPMCI_OVLY_OPEN_PARMS = LPMCI_OVLY_OPEN_PARMSA
 45103  
 45104  type tagMCI_OVLY_WINDOW_PARMSA = struct {
 45105  	FdwCallback  DWORD_PTR
 45106  	FhWnd        HWND
 45107  	FnCmdShow    UINT
 45108  	F__ccgo_pad1 [4]byte
 45109  	FlpstrText   LPCSTR
 45110  }
 45111  
 45112  type MCI_OVLY_WINDOW_PARMSA = tagMCI_OVLY_WINDOW_PARMSA
 45113  type PMCI_OVLY_WINDOW_PARMSA = uintptr
 45114  type LPMCI_OVLY_WINDOW_PARMSA = uintptr
 45115  
 45116  type tagMCI_OVLY_WINDOW_PARMSW = struct {
 45117  	FdwCallback  DWORD_PTR
 45118  	FhWnd        HWND
 45119  	FnCmdShow    UINT
 45120  	F__ccgo_pad1 [4]byte
 45121  	FlpstrText   LPCWSTR
 45122  }
 45123  
 45124  type MCI_OVLY_WINDOW_PARMSW = tagMCI_OVLY_WINDOW_PARMSW
 45125  type PMCI_OVLY_WINDOW_PARMSW = uintptr
 45126  type LPMCI_OVLY_WINDOW_PARMSW = uintptr
 45127  
 45128  type MCI_OVLY_WINDOW_PARMS = MCI_OVLY_WINDOW_PARMSA
 45129  type PMCI_OVLY_WINDOW_PARMS = PMCI_OVLY_WINDOW_PARMSA
 45130  type LPMCI_OVLY_WINDOW_PARMS = LPMCI_OVLY_WINDOW_PARMSA
 45131  
 45132  type tagMCI_OVLY_RECT_PARMS = struct {
 45133  	FdwCallback DWORD_PTR
 45134  	Frc         RECT
 45135  }
 45136  
 45137  type MCI_OVLY_RECT_PARMS = tagMCI_OVLY_RECT_PARMS
 45138  type PMCI_OVLY_RECT_PARMS = uintptr
 45139  type LPMCI_OVLY_RECT_PARMS = uintptr
 45140  
 45141  type tagMCI_OVLY_SAVE_PARMSA = struct {
 45142  	FdwCallback DWORD_PTR
 45143  	Flpfilename LPCSTR
 45144  	Frc         RECT
 45145  }
 45146  
 45147  type MCI_OVLY_SAVE_PARMSA = tagMCI_OVLY_SAVE_PARMSA
 45148  type PMCI_OVLY_SAVE_PARMSA = uintptr
 45149  type LPMCI_OVLY_SAVE_PARMSA = uintptr
 45150  
 45151  type tagMCI_OVLY_SAVE_PARMSW = struct {
 45152  	FdwCallback DWORD_PTR
 45153  	Flpfilename LPCWSTR
 45154  	Frc         RECT
 45155  }
 45156  
 45157  type MCI_OVLY_SAVE_PARMSW = tagMCI_OVLY_SAVE_PARMSW
 45158  type PMCI_OVLY_SAVE_PARMSW = uintptr
 45159  type LPMCI_OVLY_SAVE_PARMSW = uintptr
 45160  
 45161  type MCI_OVLY_SAVE_PARMS = MCI_OVLY_SAVE_PARMSA
 45162  type PMCI_OVLY_SAVE_PARMS = PMCI_OVLY_SAVE_PARMSA
 45163  type LPMCI_OVLY_SAVE_PARMS = LPMCI_OVLY_SAVE_PARMSA
 45164  
 45165  type tagMCI_OVLY_LOAD_PARMSA = struct {
 45166  	FdwCallback DWORD_PTR
 45167  	Flpfilename LPCSTR
 45168  	Frc         RECT
 45169  }
 45170  
 45171  type MCI_OVLY_LOAD_PARMSA = tagMCI_OVLY_LOAD_PARMSA
 45172  type PMCI_OVLY_LOAD_PARMSA = uintptr
 45173  type LPMCI_OVLY_LOAD_PARMSA = uintptr
 45174  
 45175  type tagMCI_OVLY_LOAD_PARMSW = struct {
 45176  	FdwCallback DWORD_PTR
 45177  	Flpfilename LPCWSTR
 45178  	Frc         RECT
 45179  }
 45180  
 45181  type MCI_OVLY_LOAD_PARMSW = tagMCI_OVLY_LOAD_PARMSW
 45182  type PMCI_OVLY_LOAD_PARMSW = uintptr
 45183  type LPMCI_OVLY_LOAD_PARMSW = uintptr
 45184  
 45185  type MCI_OVLY_LOAD_PARMS = MCI_OVLY_LOAD_PARMSA
 45186  type PMCI_OVLY_LOAD_PARMS = PMCI_OVLY_LOAD_PARMSA
 45187  type LPMCI_OVLY_LOAD_PARMS = LPMCI_OVLY_LOAD_PARMSA
 45188  
 45189  type _NCB = struct {
 45190  	Fncb_command  UCHAR
 45191  	Fncb_retcode  UCHAR
 45192  	Fncb_lsn      UCHAR
 45193  	Fncb_num      UCHAR
 45194  	F__ccgo_pad1  [4]byte
 45195  	Fncb_buffer   PUCHAR
 45196  	Fncb_length   WORD
 45197  	Fncb_callname [16]UCHAR
 45198  	Fncb_name     [16]UCHAR
 45199  	Fncb_rto      UCHAR
 45200  	Fncb_sto      UCHAR
 45201  	F__ccgo_pad2  [4]byte
 45202  	Fncb_post     uintptr
 45203  	Fncb_lana_num UCHAR
 45204  	Fncb_cmd_cplt UCHAR
 45205  	Fncb_reserve  [18]UCHAR
 45206  	F__ccgo_pad3  [4]byte
 45207  	Fncb_event    HANDLE
 45208  }
 45209  
 45210  type NCB = _NCB
 45211  type PNCB = uintptr
 45212  
 45213  type _ADAPTER_STATUS = struct {
 45214  	Fadapter_address   [6]UCHAR
 45215  	Frev_major         UCHAR
 45216  	Freserved0         UCHAR
 45217  	Fadapter_type      UCHAR
 45218  	Frev_minor         UCHAR
 45219  	Fduration          WORD
 45220  	Ffrmr_recv         WORD
 45221  	Ffrmr_xmit         WORD
 45222  	Fiframe_recv_err   WORD
 45223  	Fxmit_aborts       WORD
 45224  	Fxmit_success      DWORD
 45225  	Frecv_success      DWORD
 45226  	Fiframe_xmit_err   WORD
 45227  	Frecv_buff_unavail WORD
 45228  	Ft1_timeouts       WORD
 45229  	Fti_timeouts       WORD
 45230  	Freserved1         DWORD
 45231  	Ffree_ncbs         WORD
 45232  	Fmax_cfg_ncbs      WORD
 45233  	Fmax_ncbs          WORD
 45234  	Fxmit_buf_unavail  WORD
 45235  	Fmax_dgram_size    WORD
 45236  	Fpending_sess      WORD
 45237  	Fmax_cfg_sess      WORD
 45238  	Fmax_sess          WORD
 45239  	Fmax_sess_pkt_size WORD
 45240  	Fname_count        WORD
 45241  }
 45242  
 45243  type ADAPTER_STATUS = _ADAPTER_STATUS
 45244  type PADAPTER_STATUS = uintptr
 45245  
 45246  type _NAME_BUFFER = struct {
 45247  	Fname       [16]UCHAR
 45248  	Fname_num   UCHAR
 45249  	Fname_flags UCHAR
 45250  }
 45251  
 45252  type NAME_BUFFER = _NAME_BUFFER
 45253  type PNAME_BUFFER = uintptr
 45254  
 45255  type _SESSION_HEADER = struct {
 45256  	Fsess_name           UCHAR
 45257  	Fnum_sess            UCHAR
 45258  	Frcv_dg_outstanding  UCHAR
 45259  	Frcv_any_outstanding UCHAR
 45260  }
 45261  
 45262  type SESSION_HEADER = _SESSION_HEADER
 45263  type PSESSION_HEADER = uintptr
 45264  
 45265  type _SESSION_BUFFER = struct {
 45266  	Flsn               UCHAR
 45267  	Fstate             UCHAR
 45268  	Flocal_name        [16]UCHAR
 45269  	Fremote_name       [16]UCHAR
 45270  	Frcvs_outstanding  UCHAR
 45271  	Fsends_outstanding UCHAR
 45272  }
 45273  
 45274  type SESSION_BUFFER = _SESSION_BUFFER
 45275  type PSESSION_BUFFER = uintptr
 45276  
 45277  type _LANA_ENUM = struct {
 45278  	Flength UCHAR
 45279  	Flana   [255]UCHAR
 45280  }
 45281  
 45282  type LANA_ENUM = _LANA_ENUM
 45283  type PLANA_ENUM = uintptr
 45284  
 45285  type _FIND_NAME_HEADER = struct {
 45286  	Fnode_count   WORD
 45287  	Freserved     UCHAR
 45288  	Funique_group UCHAR
 45289  }
 45290  
 45291  type FIND_NAME_HEADER = _FIND_NAME_HEADER
 45292  type PFIND_NAME_HEADER = uintptr
 45293  
 45294  type _FIND_NAME_BUFFER = struct {
 45295  	Flength           UCHAR
 45296  	Faccess_control   UCHAR
 45297  	Fframe_control    UCHAR
 45298  	Fdestination_addr [6]UCHAR
 45299  	Fsource_addr      [6]UCHAR
 45300  	Frouting_info     [18]UCHAR
 45301  }
 45302  
 45303  type FIND_NAME_BUFFER = _FIND_NAME_BUFFER
 45304  type PFIND_NAME_BUFFER = uintptr
 45305  
 45306  type _ACTION_HEADER = struct {
 45307  	Ftransport_id ULONG
 45308  	Faction_code  USHORT
 45309  	Freserved     USHORT
 45310  }
 45311  
 45312  type ACTION_HEADER = _ACTION_HEADER
 45313  type PACTION_HEADER = uintptr
 45314  
 45315  type I_RPC_HANDLE = uintptr
 45316  type RPC_STATUS = int32
 45317  
 45318  type RPC_CSTR = uintptr
 45319  type RPC_WSTR = uintptr
 45320  type RPC_BINDING_HANDLE = I_RPC_HANDLE
 45321  type handle_t = RPC_BINDING_HANDLE
 45322  
 45323  type UUID = GUID
 45324  
 45325  type _RPC_BINDING_VECTOR = struct {
 45326  	FCount       uint32
 45327  	F__ccgo_pad1 [4]byte
 45328  	FBindingH    [1]RPC_BINDING_HANDLE
 45329  }
 45330  
 45331  type RPC_BINDING_VECTOR = _RPC_BINDING_VECTOR
 45332  
 45333  type _UUID_VECTOR = struct {
 45334  	FCount       uint32
 45335  	F__ccgo_pad1 [4]byte
 45336  	FUuid        [1]uintptr
 45337  }
 45338  
 45339  type UUID_VECTOR = _UUID_VECTOR
 45340  
 45341  type RPC_IF_HANDLE = uintptr
 45342  
 45343  type _RPC_IF_ID = struct {
 45344  	FUuid      UUID
 45345  	FVersMajor uint16
 45346  	FVersMinor uint16
 45347  }
 45348  
 45349  type RPC_IF_ID = _RPC_IF_ID
 45350  
 45351  type _RPC_PROTSEQ_VECTORA = struct {
 45352  	FCount       uint32
 45353  	F__ccgo_pad1 [4]byte
 45354  	FProtseq     [1]uintptr
 45355  }
 45356  
 45357  type RPC_PROTSEQ_VECTORA = _RPC_PROTSEQ_VECTORA
 45358  
 45359  type _RPC_PROTSEQ_VECTORW = struct {
 45360  	FCount       uint32
 45361  	F__ccgo_pad1 [4]byte
 45362  	FProtseq     [1]uintptr
 45363  }
 45364  
 45365  type RPC_PROTSEQ_VECTORW = _RPC_PROTSEQ_VECTORW
 45366  
 45367  type _RPC_POLICY = struct {
 45368  	FLength        uint32
 45369  	FEndpointFlags uint32
 45370  	FNICFlags      uint32
 45371  }
 45372  
 45373  type RPC_POLICY = _RPC_POLICY
 45374  type PRPC_POLICY = uintptr
 45375  
 45376  type RPC_STATS_VECTOR = struct {
 45377  	FCount uint32
 45378  	FStats [1]uint32
 45379  }
 45380  
 45381  type RPC_IF_ID_VECTOR = struct {
 45382  	FCount       uint32
 45383  	F__ccgo_pad1 [4]byte
 45384  	FIfId        [1]uintptr
 45385  }
 45386  
 45387  type RPC_AUTH_IDENTITY_HANDLE = uintptr
 45388  type RPC_AUTHZ_HANDLE = uintptr
 45389  
 45390  type _RPC_SECURITY_QOS = struct {
 45391  	FVersion           uint32
 45392  	FCapabilities      uint32
 45393  	FIdentityTracking  uint32
 45394  	FImpersonationType uint32
 45395  }
 45396  
 45397  type RPC_SECURITY_QOS = _RPC_SECURITY_QOS
 45398  type PRPC_SECURITY_QOS = uintptr
 45399  
 45400  type _SEC_WINNT_AUTH_IDENTITY_W = struct {
 45401  	FUser           uintptr
 45402  	FUserLength     uint32
 45403  	F__ccgo_pad1    [4]byte
 45404  	FDomain         uintptr
 45405  	FDomainLength   uint32
 45406  	F__ccgo_pad2    [4]byte
 45407  	FPassword       uintptr
 45408  	FPasswordLength uint32
 45409  	FFlags          uint32
 45410  }
 45411  
 45412  type SEC_WINNT_AUTH_IDENTITY_W = _SEC_WINNT_AUTH_IDENTITY_W
 45413  type PSEC_WINNT_AUTH_IDENTITY_W = uintptr
 45414  
 45415  type _SEC_WINNT_AUTH_IDENTITY_A = struct {
 45416  	FUser           uintptr
 45417  	FUserLength     uint32
 45418  	F__ccgo_pad1    [4]byte
 45419  	FDomain         uintptr
 45420  	FDomainLength   uint32
 45421  	F__ccgo_pad2    [4]byte
 45422  	FPassword       uintptr
 45423  	FPasswordLength uint32
 45424  	FFlags          uint32
 45425  }
 45426  
 45427  type SEC_WINNT_AUTH_IDENTITY_A = _SEC_WINNT_AUTH_IDENTITY_A
 45428  type PSEC_WINNT_AUTH_IDENTITY_A = uintptr
 45429  
 45430  type _RPC_HTTP_TRANSPORT_CREDENTIALS_W = struct {
 45431  	FTransportCredentials     uintptr
 45432  	FFlags                    uint32
 45433  	FAuthenticationTarget     uint32
 45434  	FNumberOfAuthnSchemes     uint32
 45435  	F__ccgo_pad1              [4]byte
 45436  	FAuthnSchemes             uintptr
 45437  	FServerCertificateSubject uintptr
 45438  }
 45439  
 45440  type RPC_HTTP_TRANSPORT_CREDENTIALS_W = _RPC_HTTP_TRANSPORT_CREDENTIALS_W
 45441  type PRPC_HTTP_TRANSPORT_CREDENTIALS_W = uintptr
 45442  
 45443  type _RPC_HTTP_TRANSPORT_CREDENTIALS_A = struct {
 45444  	FTransportCredentials     uintptr
 45445  	FFlags                    uint32
 45446  	FAuthenticationTarget     uint32
 45447  	FNumberOfAuthnSchemes     uint32
 45448  	F__ccgo_pad1              [4]byte
 45449  	FAuthnSchemes             uintptr
 45450  	FServerCertificateSubject uintptr
 45451  }
 45452  
 45453  type RPC_HTTP_TRANSPORT_CREDENTIALS_A = _RPC_HTTP_TRANSPORT_CREDENTIALS_A
 45454  type PRPC_HTTP_TRANSPORT_CREDENTIALS_A = uintptr
 45455  
 45456  type _RPC_SECURITY_QOS_V2_W = struct {
 45457  	FVersion                    uint32
 45458  	FCapabilities               uint32
 45459  	FIdentityTracking           uint32
 45460  	FImpersonationType          uint32
 45461  	FAdditionalSecurityInfoType uint32
 45462  	F__ccgo_pad1                [4]byte
 45463  	Fu                          struct{ FHttpCredentials uintptr }
 45464  }
 45465  
 45466  type RPC_SECURITY_QOS_V2_W = _RPC_SECURITY_QOS_V2_W
 45467  type PRPC_SECURITY_QOS_V2_W = uintptr
 45468  
 45469  type _RPC_SECURITY_QOS_V2_A = struct {
 45470  	FVersion                    uint32
 45471  	FCapabilities               uint32
 45472  	FIdentityTracking           uint32
 45473  	FImpersonationType          uint32
 45474  	FAdditionalSecurityInfoType uint32
 45475  	F__ccgo_pad1                [4]byte
 45476  	Fu                          struct{ FHttpCredentials uintptr }
 45477  }
 45478  
 45479  type RPC_SECURITY_QOS_V2_A = _RPC_SECURITY_QOS_V2_A
 45480  type PRPC_SECURITY_QOS_V2_A = uintptr
 45481  
 45482  type _RPC_SECURITY_QOS_V3_W = struct {
 45483  	FVersion                    uint32
 45484  	FCapabilities               uint32
 45485  	FIdentityTracking           uint32
 45486  	FImpersonationType          uint32
 45487  	FAdditionalSecurityInfoType uint32
 45488  	F__ccgo_pad1                [4]byte
 45489  	Fu                          struct{ FHttpCredentials uintptr }
 45490  	FSid                        uintptr
 45491  }
 45492  
 45493  type RPC_SECURITY_QOS_V3_W = _RPC_SECURITY_QOS_V3_W
 45494  type PRPC_SECURITY_QOS_V3_W = uintptr
 45495  
 45496  type _RPC_SECURITY_QOS_V3_A = struct {
 45497  	FVersion                    uint32
 45498  	FCapabilities               uint32
 45499  	FIdentityTracking           uint32
 45500  	FImpersonationType          uint32
 45501  	FAdditionalSecurityInfoType uint32
 45502  	F__ccgo_pad1                [4]byte
 45503  	Fu                          struct{ FHttpCredentials uintptr }
 45504  	FSid                        uintptr
 45505  }
 45506  
 45507  type RPC_SECURITY_QOS_V3_A = _RPC_SECURITY_QOS_V3_A
 45508  type PRPC_SECURITY_QOS_V3_A = uintptr
 45509  
 45510  type RPC_HTTP_REDIRECTOR_STAGE = uint32
 45511  
 45512  type RPC_NEW_HTTP_PROXY_CHANNEL = uintptr
 45513  type RPC_HTTP_PROXY_FREE_STRING = uintptr
 45514  
 45515  type RPC_AUTH_KEY_RETRIEVAL_FN = uintptr
 45516  
 45517  type RPC_CLIENT_INFORMATION1 = struct {
 45518  	FUserName     uintptr
 45519  	FComputerName uintptr
 45520  	FPrivilege    uint16
 45521  	F__ccgo_pad1  [2]byte
 45522  	FAuthFlags    uint32
 45523  }
 45524  type PRPC_CLIENT_INFORMATION1 = uintptr
 45525  
 45526  type RPC_EP_INQ_HANDLE = uintptr
 45527  
 45528  type RPC_MGMT_AUTHORIZATION_FN = uintptr
 45529  
 45530  type _RPC_VERSION = struct {
 45531  	FMajorVersion uint16
 45532  	FMinorVersion uint16
 45533  }
 45534  
 45535  type RPC_VERSION = _RPC_VERSION
 45536  
 45537  type _RPC_SYNTAX_IDENTIFIER = struct {
 45538  	FSyntaxGUID    GUID
 45539  	FSyntaxVersion RPC_VERSION
 45540  }
 45541  
 45542  type RPC_SYNTAX_IDENTIFIER = _RPC_SYNTAX_IDENTIFIER
 45543  type PRPC_SYNTAX_IDENTIFIER = uintptr
 45544  
 45545  type _RPC_MESSAGE = struct {
 45546  	FHandle                  RPC_BINDING_HANDLE
 45547  	FDataRepresentation      uint32
 45548  	F__ccgo_pad1             [4]byte
 45549  	FBuffer                  uintptr
 45550  	FBufferLength            uint32
 45551  	FProcNum                 uint32
 45552  	FTransferSyntax          PRPC_SYNTAX_IDENTIFIER
 45553  	FRpcInterfaceInformation uintptr
 45554  	FReservedForRuntime      uintptr
 45555  	FManagerEpv              uintptr
 45556  	FImportContext           uintptr
 45557  	FRpcFlags                uint32
 45558  	F__ccgo_pad2             [4]byte
 45559  }
 45560  
 45561  type RPC_MESSAGE = _RPC_MESSAGE
 45562  type PRPC_MESSAGE = uintptr
 45563  
 45564  type RPC_DISPATCH_FUNCTION = uintptr
 45565  
 45566  type RPC_DISPATCH_TABLE = struct {
 45567  	FDispatchTableCount uint32
 45568  	F__ccgo_pad1        [4]byte
 45569  	FDispatchTable      uintptr
 45570  	FReserved           LONG_PTR
 45571  }
 45572  type PRPC_DISPATCH_TABLE = uintptr
 45573  
 45574  type _RPC_PROTSEQ_ENDPOINT = struct {
 45575  	FRpcProtocolSequence uintptr
 45576  	FEndpoint            uintptr
 45577  }
 45578  
 45579  type RPC_PROTSEQ_ENDPOINT = _RPC_PROTSEQ_ENDPOINT
 45580  type PRPC_PROTSEQ_ENDPOINT = uintptr
 45581  
 45582  type _RPC_SERVER_INTERFACE = struct {
 45583  	FLength                  uint32
 45584  	FInterfaceId             RPC_SYNTAX_IDENTIFIER
 45585  	FTransferSyntax          RPC_SYNTAX_IDENTIFIER
 45586  	F__ccgo_pad1             [4]byte
 45587  	FDispatchTable           PRPC_DISPATCH_TABLE
 45588  	FRpcProtseqEndpointCount uint32
 45589  	F__ccgo_pad2             [4]byte
 45590  	FRpcProtseqEndpoint      PRPC_PROTSEQ_ENDPOINT
 45591  	FDefaultManagerEpv       uintptr
 45592  	FInterpreterInfo         uintptr
 45593  	FFlags                   uint32
 45594  	F__ccgo_pad3             [4]byte
 45595  }
 45596  
 45597  type RPC_SERVER_INTERFACE = _RPC_SERVER_INTERFACE
 45598  type PRPC_SERVER_INTERFACE = uintptr
 45599  
 45600  type _RPC_CLIENT_INTERFACE = struct {
 45601  	FLength                  uint32
 45602  	FInterfaceId             RPC_SYNTAX_IDENTIFIER
 45603  	FTransferSyntax          RPC_SYNTAX_IDENTIFIER
 45604  	F__ccgo_pad1             [4]byte
 45605  	FDispatchTable           PRPC_DISPATCH_TABLE
 45606  	FRpcProtseqEndpointCount uint32
 45607  	F__ccgo_pad2             [4]byte
 45608  	FRpcProtseqEndpoint      PRPC_PROTSEQ_ENDPOINT
 45609  	FReserved                ULONG_PTR
 45610  	FInterpreterInfo         uintptr
 45611  	FFlags                   uint32
 45612  	F__ccgo_pad3             [4]byte
 45613  }
 45614  
 45615  type RPC_CLIENT_INTERFACE = _RPC_CLIENT_INTERFACE
 45616  type PRPC_CLIENT_INTERFACE = uintptr
 45617  
 45618  type I_RPC_MUTEX = uintptr
 45619  
 45620  type PRPC_RUNDOWN = uintptr
 45621  
 45622  type _RPC_TRANSFER_SYNTAX = struct {
 45623  	FUuid      UUID
 45624  	FVersMajor uint16
 45625  	FVersMinor uint16
 45626  }
 45627  
 45628  type RPC_TRANSFER_SYNTAX = _RPC_TRANSFER_SYNTAX
 45629  
 45630  type RPCLT_PDU_FILTER_FUNC = uintptr
 45631  type RPC_SETFILTER_FUNC = uintptr
 45632  
 45633  type _RPC_C_OPT_METADATA_DESCRIPTOR = struct {
 45634  	FBufferSize  uint32
 45635  	F__ccgo_pad1 [4]byte
 45636  	FBuffer      uintptr
 45637  }
 45638  
 45639  type RPC_C_OPT_METADATA_DESCRIPTOR = _RPC_C_OPT_METADATA_DESCRIPTOR
 45640  
 45641  type _RDR_CALLOUT_STATE = struct {
 45642  	FLastError           RPC_STATUS
 45643  	F__ccgo_pad1         [4]byte
 45644  	FLastEEInfo          uintptr
 45645  	FLastCalledStage     RPC_HTTP_REDIRECTOR_STAGE
 45646  	F__ccgo_pad2         [4]byte
 45647  	FServerName          uintptr
 45648  	FServerPort          uintptr
 45649  	FRemoteUser          uintptr
 45650  	FAuthType            uintptr
 45651  	FResourceTypePresent uint8
 45652  	FMetadataPresent     uint8
 45653  	FSessionIdPresent    uint8
 45654  	FInterfacePresent    uint8
 45655  	FResourceType        UUID
 45656  	F__ccgo_pad3         [4]byte
 45657  	FMetadata            RPC_C_OPT_METADATA_DESCRIPTOR
 45658  	FSessionId           UUID
 45659  	FInterface           RPC_SYNTAX_IDENTIFIER
 45660  	F__ccgo_pad4         [4]byte
 45661  	FCertContext         uintptr
 45662  }
 45663  
 45664  type RDR_CALLOUT_STATE = _RDR_CALLOUT_STATE
 45665  
 45666  type I_RpcProxyIsValidMachineFn = uintptr
 45667  type I_RpcProxyGetClientAddressFn = uintptr
 45668  type I_RpcProxyGetConnectionTimeoutFn = uintptr
 45669  type I_RpcPerformCalloutFn = uintptr
 45670  type I_RpcFreeCalloutStateFn = uintptr
 45671  
 45672  type tagI_RpcProxyCallbackInterface = struct {
 45673  	FIsValidMachineFn       I_RpcProxyIsValidMachineFn
 45674  	FGetClientAddressFn     I_RpcProxyGetClientAddressFn
 45675  	FGetConnectionTimeoutFn I_RpcProxyGetConnectionTimeoutFn
 45676  	FPerformCalloutFn       I_RpcPerformCalloutFn
 45677  	FFreeCalloutStateFn     I_RpcFreeCalloutStateFn
 45678  }
 45679  
 45680  type I_RpcProxyCallbackInterface = tagI_RpcProxyCallbackInterface
 45681  
 45682  type RPC_NS_HANDLE = uintptr
 45683  
 45684  type RPC_NOTIFICATION_TYPES = uint32
 45685  
 45686  type RPC_ASYNC_EVENT = uint32
 45687  
 45688  type _RPC_ASYNC_STATE = struct {
 45689  	FSize             uint32
 45690  	FSignature        uint32
 45691  	FLock             int32
 45692  	FFlags            uint32
 45693  	FStubInfo         uintptr
 45694  	FUserInfo         uintptr
 45695  	FRuntimeInfo      uintptr
 45696  	FEvent            RPC_ASYNC_EVENT
 45697  	FNotificationType RPC_NOTIFICATION_TYPES
 45698  	Fu                struct {
 45699  		FAPC struct {
 45700  			FNotificationRoutine PFN_RPCNOTIFICATION_ROUTINE
 45701  			FhThread             HANDLE
 45702  		}
 45703  		F__ccgo_pad1 [16]byte
 45704  	}
 45705  	FReserved [4]LONG_PTR
 45706  }
 45707  
 45708  type PFN_RPCNOTIFICATION_ROUTINE = uintptr
 45709  
 45710  type RPC_ASYNC_STATE = _RPC_ASYNC_STATE
 45711  type PRPC_ASYNC_STATE = uintptr
 45712  
 45713  type ExtendedErrorParamTypes = uint32
 45714  
 45715  type tagBinaryParam = struct {
 45716  	FBuffer      uintptr
 45717  	FSize        int16
 45718  	F__ccgo_pad1 [6]byte
 45719  }
 45720  
 45721  type BinaryParam = tagBinaryParam
 45722  
 45723  type tagRPC_EE_INFO_PARAM = struct {
 45724  	FParameterType ExtendedErrorParamTypes
 45725  	F__ccgo_pad1   [4]byte
 45726  	Fu             struct {
 45727  		FAnsiString  LPSTR
 45728  		F__ccgo_pad1 [8]byte
 45729  	}
 45730  }
 45731  
 45732  type RPC_EE_INFO_PARAM = tagRPC_EE_INFO_PARAM
 45733  
 45734  type tagRPC_EXTENDED_ERROR_INFO = struct {
 45735  	FVersion      ULONG
 45736  	F__ccgo_pad1  [4]byte
 45737  	FComputerName LPWSTR
 45738  	FProcessID    ULONG
 45739  	Fu            struct {
 45740  		F__ccgo_pad1 [0]uint32
 45741  		FSystemTime  SYSTEMTIME
 45742  	}
 45743  	FGeneratingComponent ULONG
 45744  	FStatus              ULONG
 45745  	FDetectionLocation   USHORT
 45746  	FFlags               USHORT
 45747  	FNumberOfParameters  int32
 45748  	F__ccgo_pad2         [4]byte
 45749  	FParameters          [4]RPC_EE_INFO_PARAM
 45750  }
 45751  
 45752  type RPC_EXTENDED_ERROR_INFO = tagRPC_EXTENDED_ERROR_INFO
 45753  
 45754  type tagRPC_ERROR_ENUM_HANDLE = struct {
 45755  	FSignature   ULONG
 45756  	F__ccgo_pad1 [4]byte
 45757  	FCurrentPos  uintptr
 45758  	FHead        uintptr
 45759  }
 45760  
 45761  type RPC_ERROR_ENUM_HANDLE = tagRPC_ERROR_ENUM_HANDLE
 45762  
 45763  type tagRPC_CALL_ATTRIBUTES_V1_W = struct {
 45764  	FVersion                         uint32
 45765  	FFlags                           uint32
 45766  	FServerPrincipalNameBufferLength uint32
 45767  	F__ccgo_pad1                     [4]byte
 45768  	FServerPrincipalName             uintptr
 45769  	FClientPrincipalNameBufferLength uint32
 45770  	F__ccgo_pad2                     [4]byte
 45771  	FClientPrincipalName             uintptr
 45772  	FAuthenticationLevel             uint32
 45773  	FAuthenticationService           uint32
 45774  	FNullSession                     WINBOOL
 45775  	F__ccgo_pad3                     [4]byte
 45776  }
 45777  
 45778  type RPC_CALL_ATTRIBUTES_V1_W = tagRPC_CALL_ATTRIBUTES_V1_W
 45779  
 45780  type tagRPC_CALL_ATTRIBUTES_V1_A = struct {
 45781  	FVersion                         uint32
 45782  	FFlags                           uint32
 45783  	FServerPrincipalNameBufferLength uint32
 45784  	F__ccgo_pad1                     [4]byte
 45785  	FServerPrincipalName             uintptr
 45786  	FClientPrincipalNameBufferLength uint32
 45787  	F__ccgo_pad2                     [4]byte
 45788  	FClientPrincipalName             uintptr
 45789  	FAuthenticationLevel             uint32
 45790  	FAuthenticationService           uint32
 45791  	FNullSession                     WINBOOL
 45792  	F__ccgo_pad3                     [4]byte
 45793  }
 45794  
 45795  type RPC_CALL_ATTRIBUTES_V1_A = tagRPC_CALL_ATTRIBUTES_V1_A
 45796  
 45797  type RPC_CALL_ATTRIBUTES = RPC_CALL_ATTRIBUTES_V1_A
 45798  
 45799  type _RPC_ASYNC_NOTIFICATION_INFO = struct {
 45800  	FAPC struct {
 45801  		FNotificationRoutine PFN_RPCNOTIFICATION_ROUTINE
 45802  		FhThread             HANDLE
 45803  	}
 45804  	F__ccgo_pad1 [16]byte
 45805  }
 45806  
 45807  type RPC_ASYNC_NOTIFICATION_INFO = _RPC_ASYNC_NOTIFICATION_INFO
 45808  type PRPC_ASYNC_NOTIFICATION_INFO = uintptr
 45809  
 45810  type RpcCallType = uint32
 45811  
 45812  type RpcLocalAddressFormat = uint32
 45813  
 45814  type RPC_NOTIFICATIONS = uint32
 45815  
 45816  type RpcCallClientLocality = uint32
 45817  
 45818  type HDROP__ = struct{ Funused int32 }
 45819  
 45820  type HDROP = uintptr
 45821  
 45822  type _DRAGINFOA = struct {
 45823  	FuSize       UINT
 45824  	Fpt          POINT
 45825  	FfNC         WINBOOL
 45826  	FlpFileList  LPSTR
 45827  	FgrfKeyState DWORD
 45828  	F__ccgo_pad1 [4]byte
 45829  }
 45830  
 45831  type DRAGINFOA = _DRAGINFOA
 45832  type LPDRAGINFOA = uintptr
 45833  
 45834  type _DRAGINFOW = struct {
 45835  	FuSize       UINT
 45836  	Fpt          POINT
 45837  	FfNC         WINBOOL
 45838  	FlpFileList  LPWSTR
 45839  	FgrfKeyState DWORD
 45840  	F__ccgo_pad1 [4]byte
 45841  }
 45842  
 45843  type DRAGINFOW = _DRAGINFOW
 45844  type LPDRAGINFOW = uintptr
 45845  
 45846  type DRAGINFO = DRAGINFOA
 45847  type LPDRAGINFO = LPDRAGINFOA
 45848  
 45849  type _AppBarData = struct {
 45850  	FcbSize           DWORD
 45851  	F__ccgo_pad1      [4]byte
 45852  	FhWnd             HWND
 45853  	FuCallbackMessage UINT
 45854  	FuEdge            UINT
 45855  	Frc               RECT
 45856  	FlParam           LPARAM
 45857  }
 45858  
 45859  type APPBARDATA = _AppBarData
 45860  type PAPPBARDATA = uintptr
 45861  
 45862  type FILEOP_FLAGS = WORD
 45863  
 45864  type PRINTEROP_FLAGS = WORD
 45865  
 45866  type _SHFILEOPSTRUCTA = struct {
 45867  	Fhwnd                  HWND
 45868  	FwFunc                 UINT
 45869  	F__ccgo_pad1           [4]byte
 45870  	FpFrom                 LPCSTR
 45871  	FpTo                   LPCSTR
 45872  	FfFlags                FILEOP_FLAGS
 45873  	F__ccgo_pad2           [2]byte
 45874  	FfAnyOperationsAborted WINBOOL
 45875  	FhNameMappings         LPVOID
 45876  	FlpszProgressTitle     PCSTR
 45877  }
 45878  
 45879  type SHFILEOPSTRUCTA = _SHFILEOPSTRUCTA
 45880  type LPSHFILEOPSTRUCTA = uintptr
 45881  
 45882  type _SHFILEOPSTRUCTW = struct {
 45883  	Fhwnd                  HWND
 45884  	FwFunc                 UINT
 45885  	F__ccgo_pad1           [4]byte
 45886  	FpFrom                 LPCWSTR
 45887  	FpTo                   LPCWSTR
 45888  	FfFlags                FILEOP_FLAGS
 45889  	F__ccgo_pad2           [2]byte
 45890  	FfAnyOperationsAborted WINBOOL
 45891  	FhNameMappings         LPVOID
 45892  	FlpszProgressTitle     PCWSTR
 45893  }
 45894  
 45895  type SHFILEOPSTRUCTW = _SHFILEOPSTRUCTW
 45896  type LPSHFILEOPSTRUCTW = uintptr
 45897  
 45898  type SHFILEOPSTRUCT = SHFILEOPSTRUCTA
 45899  type LPSHFILEOPSTRUCT = LPSHFILEOPSTRUCTA
 45900  
 45901  type _SHNAMEMAPPINGA = struct {
 45902  	FpszOldPath LPSTR
 45903  	FpszNewPath LPSTR
 45904  	FcchOldPath int32
 45905  	FcchNewPath int32
 45906  }
 45907  
 45908  type SHNAMEMAPPINGA = _SHNAMEMAPPINGA
 45909  type LPSHNAMEMAPPINGA = uintptr
 45910  
 45911  type _SHNAMEMAPPINGW = struct {
 45912  	FpszOldPath LPWSTR
 45913  	FpszNewPath LPWSTR
 45914  	FcchOldPath int32
 45915  	FcchNewPath int32
 45916  }
 45917  
 45918  type SHNAMEMAPPINGW = _SHNAMEMAPPINGW
 45919  type LPSHNAMEMAPPINGW = uintptr
 45920  
 45921  type SHNAMEMAPPING = SHNAMEMAPPINGA
 45922  type LPSHNAMEMAPPING = LPSHNAMEMAPPINGA
 45923  
 45924  type _SHELLEXECUTEINFOA = struct {
 45925  	FcbSize       DWORD
 45926  	FfMask        ULONG
 45927  	Fhwnd         HWND
 45928  	FlpVerb       LPCSTR
 45929  	FlpFile       LPCSTR
 45930  	FlpParameters LPCSTR
 45931  	FlpDirectory  LPCSTR
 45932  	FnShow        int32
 45933  	F__ccgo_pad1  [4]byte
 45934  	FhInstApp     HINSTANCE
 45935  	FlpIDList     uintptr
 45936  	FlpClass      LPCSTR
 45937  	FhkeyClass    HKEY
 45938  	FdwHotKey     DWORD
 45939  	F__ccgo_pad2  [4]byte
 45940  	Fu            struct{ FhIcon HANDLE }
 45941  	FhProcess     HANDLE
 45942  }
 45943  
 45944  type SHELLEXECUTEINFOA = _SHELLEXECUTEINFOA
 45945  type LPSHELLEXECUTEINFOA = uintptr
 45946  
 45947  type _SHELLEXECUTEINFOW = struct {
 45948  	FcbSize       DWORD
 45949  	FfMask        ULONG
 45950  	Fhwnd         HWND
 45951  	FlpVerb       LPCWSTR
 45952  	FlpFile       LPCWSTR
 45953  	FlpParameters LPCWSTR
 45954  	FlpDirectory  LPCWSTR
 45955  	FnShow        int32
 45956  	F__ccgo_pad1  [4]byte
 45957  	FhInstApp     HINSTANCE
 45958  	FlpIDList     uintptr
 45959  	FlpClass      LPCWSTR
 45960  	FhkeyClass    HKEY
 45961  	FdwHotKey     DWORD
 45962  	F__ccgo_pad2  [4]byte
 45963  	Fu            struct{ FhIcon HANDLE }
 45964  	FhProcess     HANDLE
 45965  }
 45966  
 45967  type SHELLEXECUTEINFOW = _SHELLEXECUTEINFOW
 45968  type LPSHELLEXECUTEINFOW = uintptr
 45969  
 45970  type SHELLEXECUTEINFO = SHELLEXECUTEINFOA
 45971  type LPSHELLEXECUTEINFO = LPSHELLEXECUTEINFOA
 45972  
 45973  type _SHCREATEPROCESSINFOW = struct {
 45974  	FcbSize               DWORD
 45975  	FfMask                ULONG
 45976  	Fhwnd                 HWND
 45977  	FpszFile              LPCWSTR
 45978  	FpszParameters        LPCWSTR
 45979  	FpszCurrentDirectory  LPCWSTR
 45980  	FhUserToken           HANDLE
 45981  	FlpProcessAttributes  LPSECURITY_ATTRIBUTES
 45982  	FlpThreadAttributes   LPSECURITY_ATTRIBUTES
 45983  	FbInheritHandles      WINBOOL
 45984  	FdwCreationFlags      DWORD
 45985  	FlpStartupInfo        LPSTARTUPINFOW
 45986  	FlpProcessInformation LPPROCESS_INFORMATION
 45987  }
 45988  
 45989  type SHCREATEPROCESSINFOW = _SHCREATEPROCESSINFOW
 45990  type PSHCREATEPROCESSINFOW = uintptr
 45991  
 45992  type _SHQUERYRBINFO = struct {
 45993  	FcbSize      DWORD
 45994  	F__ccgo_pad1 [4]byte
 45995  	Fi64Size     int64
 45996  	Fi64NumItems int64
 45997  }
 45998  
 45999  type SHQUERYRBINFO = _SHQUERYRBINFO
 46000  type LPSHQUERYRBINFO = uintptr
 46001  
 46002  type _NOTIFYICONDATAA = struct {
 46003  	FcbSize           DWORD
 46004  	F__ccgo_pad1      [4]byte
 46005  	FhWnd             HWND
 46006  	FuID              UINT
 46007  	FuFlags           UINT
 46008  	FuCallbackMessage UINT
 46009  	F__ccgo_pad2      [4]byte
 46010  	FhIcon            HICON
 46011  	FszTip            [128]CHAR
 46012  	FdwState          DWORD
 46013  	FdwStateMask      DWORD
 46014  	FszInfo           [256]CHAR
 46015  	Fu                struct{ FuTimeout UINT }
 46016  	FszInfoTitle      [64]CHAR
 46017  	FdwInfoFlags      DWORD
 46018  	FguidItem         GUID
 46019  }
 46020  
 46021  type NOTIFYICONDATAA = _NOTIFYICONDATAA
 46022  type PNOTIFYICONDATAA = uintptr
 46023  
 46024  type _NOTIFYICONDATAW = struct {
 46025  	FcbSize           DWORD
 46026  	F__ccgo_pad1      [4]byte
 46027  	FhWnd             HWND
 46028  	FuID              UINT
 46029  	FuFlags           UINT
 46030  	FuCallbackMessage UINT
 46031  	F__ccgo_pad2      [4]byte
 46032  	FhIcon            HICON
 46033  	FszTip            [128]WCHAR
 46034  	FdwState          DWORD
 46035  	FdwStateMask      DWORD
 46036  	FszInfo           [256]WCHAR
 46037  	Fu                struct{ FuTimeout UINT }
 46038  	FszInfoTitle      [64]WCHAR
 46039  	FdwInfoFlags      DWORD
 46040  	FguidItem         GUID
 46041  }
 46042  
 46043  type NOTIFYICONDATAW = _NOTIFYICONDATAW
 46044  type PNOTIFYICONDATAW = uintptr
 46045  
 46046  type NOTIFYICONDATA = NOTIFYICONDATAA
 46047  type PNOTIFYICONDATA = PNOTIFYICONDATAA
 46048  
 46049  type _NOTIFYICONIDENTIFIER = struct {
 46050  	FcbSize      DWORD
 46051  	F__ccgo_pad1 [4]byte
 46052  	FhWnd        HWND
 46053  	FuID         UINT
 46054  	FguidItem    GUID
 46055  	F__ccgo_pad2 [4]byte
 46056  }
 46057  
 46058  type NOTIFYICONIDENTIFIER = _NOTIFYICONIDENTIFIER
 46059  type PNOTIFYICONIDENTIFIER = uintptr
 46060  
 46061  type _SHFILEINFOA = struct {
 46062  	FhIcon         HICON
 46063  	FiIcon         int32
 46064  	FdwAttributes  DWORD
 46065  	FszDisplayName [260]CHAR
 46066  	FszTypeName    [80]CHAR
 46067  	F__ccgo_pad1   [4]byte
 46068  }
 46069  
 46070  type SHFILEINFOA = _SHFILEINFOA
 46071  
 46072  type _SHFILEINFOW = struct {
 46073  	FhIcon         HICON
 46074  	FiIcon         int32
 46075  	FdwAttributes  DWORD
 46076  	FszDisplayName [260]WCHAR
 46077  	FszTypeName    [80]WCHAR
 46078  }
 46079  
 46080  type SHFILEINFOW = _SHFILEINFOW
 46081  
 46082  type SHFILEINFO = SHFILEINFOA
 46083  
 46084  type PFNCANSHAREFOLDERW = uintptr
 46085  type PFNSHOWSHAREFOLDERUIW = uintptr
 46086  
 46087  type _PERF_DATA_BLOCK = struct {
 46088  	FSignature        [4]WCHAR
 46089  	FLittleEndian     DWORD
 46090  	FVersion          DWORD
 46091  	FRevision         DWORD
 46092  	FTotalByteLength  DWORD
 46093  	FHeaderLength     DWORD
 46094  	FNumObjectTypes   DWORD
 46095  	FDefaultObject    LONG
 46096  	FSystemTime       SYSTEMTIME
 46097  	F__ccgo_pad1      [4]byte
 46098  	FPerfTime         LARGE_INTEGER
 46099  	FPerfFreq         LARGE_INTEGER
 46100  	FPerfTime100nSec  LARGE_INTEGER
 46101  	FSystemNameLength DWORD
 46102  	FSystemNameOffset DWORD
 46103  }
 46104  
 46105  type PERF_DATA_BLOCK = _PERF_DATA_BLOCK
 46106  type PPERF_DATA_BLOCK = uintptr
 46107  
 46108  type _PERF_OBJECT_TYPE = struct {
 46109  	FTotalByteLength      DWORD
 46110  	FDefinitionLength     DWORD
 46111  	FHeaderLength         DWORD
 46112  	FObjectNameTitleIndex DWORD
 46113  	FObjectNameTitle      DWORD
 46114  	FObjectHelpTitleIndex DWORD
 46115  	FObjectHelpTitle      DWORD
 46116  	FDetailLevel          DWORD
 46117  	FNumCounters          DWORD
 46118  	FDefaultCounter       LONG
 46119  	FNumInstances         LONG
 46120  	FCodePage             DWORD
 46121  	FPerfTime             LARGE_INTEGER
 46122  	FPerfFreq             LARGE_INTEGER
 46123  }
 46124  
 46125  type PERF_OBJECT_TYPE = _PERF_OBJECT_TYPE
 46126  type PPERF_OBJECT_TYPE = uintptr
 46127  
 46128  type _PERF_COUNTER_DEFINITION = struct {
 46129  	FByteLength            DWORD
 46130  	FCounterNameTitleIndex DWORD
 46131  	FCounterNameTitle      DWORD
 46132  	FCounterHelpTitleIndex DWORD
 46133  	FCounterHelpTitle      DWORD
 46134  	FDefaultScale          LONG
 46135  	FDetailLevel           DWORD
 46136  	FCounterType           DWORD
 46137  	FCounterSize           DWORD
 46138  	FCounterOffset         DWORD
 46139  }
 46140  
 46141  type PERF_COUNTER_DEFINITION = _PERF_COUNTER_DEFINITION
 46142  type PPERF_COUNTER_DEFINITION = uintptr
 46143  
 46144  type _PERF_INSTANCE_DEFINITION = struct {
 46145  	FByteLength             DWORD
 46146  	FParentObjectTitleIndex DWORD
 46147  	FParentObjectInstance   DWORD
 46148  	FUniqueID               LONG
 46149  	FNameOffset             DWORD
 46150  	FNameLength             DWORD
 46151  }
 46152  
 46153  type PERF_INSTANCE_DEFINITION = _PERF_INSTANCE_DEFINITION
 46154  type PPERF_INSTANCE_DEFINITION = uintptr
 46155  
 46156  type _PERF_COUNTER_BLOCK = struct{ FByteLength DWORD }
 46157  
 46158  type PERF_COUNTER_BLOCK = _PERF_COUNTER_BLOCK
 46159  type PPERF_COUNTER_BLOCK = uintptr
 46160  
 46161  type timeval = struct {
 46162  	Ftv_sec  int32
 46163  	Ftv_usec int32
 46164  }
 46165  
 46166  type u_char = uint8
 46167  type u_short = uint16
 46168  type u_int = uint32
 46169  type u_long = uint32
 46170  
 46171  type u_int64 = uint64
 46172  
 46173  type in_addr = struct {
 46174  	FS_un struct {
 46175  		F__ccgo_pad1 [0]uint32
 46176  		FS_un_b      struct {
 46177  			Fs_b1 u_char
 46178  			Fs_b2 u_char
 46179  			Fs_b3 u_char
 46180  			Fs_b4 u_char
 46181  		}
 46182  	}
 46183  }
 46184  
 46185  type IN_ADDR = in_addr
 46186  type PIN_ADDR = uintptr
 46187  type LPIN_ADDR = uintptr
 46188  
 46189  type SOCKET = UINT_PTR
 46190  
 46191  type fd_set1 = struct {
 46192  	Ffd_count    u_int
 46193  	F__ccgo_pad1 [4]byte
 46194  	Ffd_array    [64]SOCKET
 46195  }
 46196  
 46197  type fd_set = fd_set1
 46198  
 46199  type FD_SET = fd_set1
 46200  type PFD_SET = uintptr
 46201  type LPFD_SET = uintptr
 46202  
 46203  type hostent = struct {
 46204  	Fh_name      uintptr
 46205  	Fh_aliases   uintptr
 46206  	Fh_addrtype  int16
 46207  	Fh_length    int16
 46208  	F__ccgo_pad1 [4]byte
 46209  	Fh_addr_list uintptr
 46210  }
 46211  
 46212  type netent = struct {
 46213  	Fn_name      uintptr
 46214  	Fn_aliases   uintptr
 46215  	Fn_addrtype  int16
 46216  	F__ccgo_pad1 [2]byte
 46217  	Fn_net       u_long
 46218  }
 46219  
 46220  type servent = struct {
 46221  	Fs_name      uintptr
 46222  	Fs_aliases   uintptr
 46223  	Fs_proto     uintptr
 46224  	Fs_port      int16
 46225  	F__ccgo_pad1 [6]byte
 46226  }
 46227  
 46228  type protoent = struct {
 46229  	Fp_name      uintptr
 46230  	Fp_aliases   uintptr
 46231  	Fp_proto     int16
 46232  	F__ccgo_pad1 [6]byte
 46233  }
 46234  
 46235  type sockproto = struct {
 46236  	Fsp_family   u_short
 46237  	Fsp_protocol u_short
 46238  }
 46239  
 46240  type linger = struct {
 46241  	Fl_onoff  u_short
 46242  	Fl_linger u_short
 46243  }
 46244  
 46245  type sockaddr = struct {
 46246  	Fsa_family u_short
 46247  	Fsa_data   [14]int8
 46248  }
 46249  
 46250  type sockaddr_in = struct {
 46251  	Fsin_family int16
 46252  	Fsin_port   u_short
 46253  	Fsin_addr   struct {
 46254  		FS_un struct {
 46255  			F__ccgo_pad1 [0]uint32
 46256  			FS_un_b      struct {
 46257  				Fs_b1 u_char
 46258  				Fs_b2 u_char
 46259  				Fs_b3 u_char
 46260  				Fs_b4 u_char
 46261  			}
 46262  		}
 46263  	}
 46264  	Fsin_zero [8]int8
 46265  }
 46266  
 46267  type HOSTENT = hostent
 46268  type PHOSTENT = uintptr
 46269  type LPHOSTENT = uintptr
 46270  
 46271  type SERVENT = servent
 46272  type PSERVENT = uintptr
 46273  type LPSERVENT = uintptr
 46274  
 46275  type PROTOENT = protoent
 46276  type PPROTOENT = uintptr
 46277  type LPPROTOENT = uintptr
 46278  
 46279  type SOCKADDR = sockaddr
 46280  type PSOCKADDR = uintptr
 46281  type LPSOCKADDR = uintptr
 46282  
 46283  type SOCKADDR_IN = sockaddr_in
 46284  type PSOCKADDR_IN = uintptr
 46285  type LPSOCKADDR_IN = uintptr
 46286  
 46287  type LINGER = linger
 46288  type PLINGER = uintptr
 46289  type LPLINGER = uintptr
 46290  
 46291  type TIMEVAL = timeval
 46292  type PTIMEVAL = uintptr
 46293  type LPTIMEVAL = uintptr
 46294  
 46295  type ip_mreq = struct {
 46296  	Fimr_multiaddr struct {
 46297  		FS_un struct {
 46298  			F__ccgo_pad1 [0]uint32
 46299  			FS_un_b      struct {
 46300  				Fs_b1 u_char
 46301  				Fs_b2 u_char
 46302  				Fs_b3 u_char
 46303  				Fs_b4 u_char
 46304  			}
 46305  		}
 46306  	}
 46307  	Fimr_interface struct {
 46308  		FS_un struct {
 46309  			F__ccgo_pad1 [0]uint32
 46310  			FS_un_b      struct {
 46311  				Fs_b1 u_char
 46312  				Fs_b2 u_char
 46313  				Fs_b3 u_char
 46314  				Fs_b4 u_char
 46315  			}
 46316  		}
 46317  	}
 46318  }
 46319  
 46320  type WSAData = struct {
 46321  	FwVersion       WORD
 46322  	FwHighVersion   WORD
 46323  	FiMaxSockets    uint16
 46324  	FiMaxUdpDg      uint16
 46325  	FlpVendorInfo   uintptr
 46326  	FszDescription  [257]int8
 46327  	FszSystemStatus [129]int8
 46328  	F__ccgo_pad1    [6]byte
 46329  }
 46330  
 46331  type WSADATA = WSAData
 46332  type LPWSADATA = uintptr
 46333  
 46334  type _TRANSMIT_FILE_BUFFERS = struct {
 46335  	FHead        LPVOID
 46336  	FHeadLength  DWORD
 46337  	F__ccgo_pad1 [4]byte
 46338  	FTail        LPVOID
 46339  	FTailLength  DWORD
 46340  	F__ccgo_pad2 [4]byte
 46341  }
 46342  
 46343  type TRANSMIT_FILE_BUFFERS = _TRANSMIT_FILE_BUFFERS
 46344  type PTRANSMIT_FILE_BUFFERS = uintptr
 46345  type LPTRANSMIT_FILE_BUFFERS = uintptr
 46346  
 46347  type ALG_ID = uint32
 46348  
 46349  type HCRYPTHASH = ULONG_PTR
 46350  type HCRYPTKEY = ULONG_PTR
 46351  type HCRYPTPROV = ULONG_PTR
 46352  
 46353  type _CMS_KEY_INFO = struct {
 46354  	FdwVersion   DWORD
 46355  	FAlgid       ALG_ID
 46356  	FpbOID       uintptr
 46357  	FcbOID       DWORD
 46358  	F__ccgo_pad1 [4]byte
 46359  }
 46360  
 46361  type CMS_KEY_INFO = _CMS_KEY_INFO
 46362  type PCMS_KEY_INFO = uintptr
 46363  
 46364  type _HMAC_Info = struct {
 46365  	FHashAlgid     ALG_ID
 46366  	F__ccgo_pad1   [4]byte
 46367  	FpbInnerString uintptr
 46368  	FcbInnerString DWORD
 46369  	F__ccgo_pad2   [4]byte
 46370  	FpbOuterString uintptr
 46371  	FcbOuterString DWORD
 46372  	F__ccgo_pad3   [4]byte
 46373  }
 46374  
 46375  type HMAC_INFO = _HMAC_Info
 46376  type PHMAC_INFO = uintptr
 46377  
 46378  type _SCHANNEL_ALG = struct {
 46379  	FdwUse      DWORD
 46380  	FAlgid      ALG_ID
 46381  	FcBits      DWORD
 46382  	FdwFlags    DWORD
 46383  	FdwReserved DWORD
 46384  }
 46385  
 46386  type SCHANNEL_ALG = _SCHANNEL_ALG
 46387  type PSCHANNEL_ALG = uintptr
 46388  
 46389  type _PROV_ENUMALGS = struct {
 46390  	FaiAlgid   ALG_ID
 46391  	FdwBitLen  DWORD
 46392  	FdwNameLen DWORD
 46393  	FszName    [20]CHAR
 46394  }
 46395  
 46396  type PROV_ENUMALGS = _PROV_ENUMALGS
 46397  
 46398  type _PROV_ENUMALGS_EX = struct {
 46399  	FaiAlgid       ALG_ID
 46400  	FdwDefaultLen  DWORD
 46401  	FdwMinLen      DWORD
 46402  	FdwMaxLen      DWORD
 46403  	FdwProtocols   DWORD
 46404  	FdwNameLen     DWORD
 46405  	FszName        [20]CHAR
 46406  	FdwLongNameLen DWORD
 46407  	FszLongName    [40]CHAR
 46408  }
 46409  
 46410  type PROV_ENUMALGS_EX = _PROV_ENUMALGS_EX
 46411  
 46412  type _PUBLICKEYSTRUC = struct {
 46413  	FbType    BYTE
 46414  	FbVersion BYTE
 46415  	Freserved WORD
 46416  	FaiKeyAlg ALG_ID
 46417  }
 46418  
 46419  type BLOBHEADER = _PUBLICKEYSTRUC
 46420  type PUBLICKEYSTRUC = _PUBLICKEYSTRUC
 46421  
 46422  type _RSAPUBKEY = struct {
 46423  	Fmagic  DWORD
 46424  	Fbitlen DWORD
 46425  	Fpubexp DWORD
 46426  }
 46427  
 46428  type RSAPUBKEY = _RSAPUBKEY
 46429  
 46430  type _PUBKEY = struct {
 46431  	Fmagic  DWORD
 46432  	Fbitlen DWORD
 46433  }
 46434  
 46435  type DHPUBKEY = _PUBKEY
 46436  type DSSPUBKEY = _PUBKEY
 46437  type KEAPUBKEY = _PUBKEY
 46438  type TEKPUBKEY = _PUBKEY
 46439  
 46440  type _DSSSEED = struct {
 46441  	Fcounter DWORD
 46442  	Fseed    [20]BYTE
 46443  }
 46444  
 46445  type DSSSEED = _DSSSEED
 46446  
 46447  type _PUBKEYVER3 = struct {
 46448  	Fmagic   DWORD
 46449  	FbitlenP DWORD
 46450  	FbitlenQ DWORD
 46451  	FbitlenJ DWORD
 46452  	FDSSSeed DSSSEED
 46453  }
 46454  
 46455  type DHPUBKEY_VER3 = _PUBKEYVER3
 46456  type DSSPUBKEY_VER3 = _PUBKEYVER3
 46457  
 46458  type _PRIVKEYVER3 = struct {
 46459  	Fmagic   DWORD
 46460  	FbitlenP DWORD
 46461  	FbitlenQ DWORD
 46462  	FbitlenJ DWORD
 46463  	FbitlenX DWORD
 46464  	FDSSSeed DSSSEED
 46465  }
 46466  
 46467  type DHPRIVKEY_VER3 = _PRIVKEYVER3
 46468  type DSSPRIVKEY_VER3 = _PRIVKEYVER3
 46469  
 46470  type _KEY_TYPE_SUBTYPE = struct {
 46471  	FdwKeySpec DWORD
 46472  	FType      GUID
 46473  	FSubtype   GUID
 46474  }
 46475  
 46476  type KEY_TYPE_SUBTYPE = _KEY_TYPE_SUBTYPE
 46477  type PKEY_TYPE_SUBTYPE = uintptr
 46478  
 46479  type _CERT_FORTEZZA_DATA_PROP = struct {
 46480  	FSerialNumber [8]uint8
 46481  	FCertIndex    int32
 46482  	FCertLabel    [36]uint8
 46483  }
 46484  
 46485  type CERT_FORTEZZA_DATA_PROP = _CERT_FORTEZZA_DATA_PROP
 46486  
 46487  type _CRYPT_RC4_KEY_STATE = struct {
 46488  	FKey  [16]uint8
 46489  	FSBox [256]uint8
 46490  	Fi    uint8
 46491  	Fj    uint8
 46492  }
 46493  
 46494  type CRYPT_RC4_KEY_STATE = _CRYPT_RC4_KEY_STATE
 46495  type PCRYPT_RC4_KEY_STATE = uintptr
 46496  
 46497  type _CRYPT_DES_KEY_STATE = struct {
 46498  	FKey      [8]uint8
 46499  	FIV       [8]uint8
 46500  	FFeedback [8]uint8
 46501  }
 46502  
 46503  type CRYPT_DES_KEY_STATE = _CRYPT_DES_KEY_STATE
 46504  type PCRYPT_DES_KEY_STATE = uintptr
 46505  
 46506  type _CRYPT_3DES_KEY_STATE = struct {
 46507  	FKey      [24]uint8
 46508  	FIV       [8]uint8
 46509  	FFeedback [8]uint8
 46510  }
 46511  
 46512  type CRYPT_3DES_KEY_STATE = _CRYPT_3DES_KEY_STATE
 46513  type PCRYPT_3DES_KEY_STATE = uintptr
 46514  
 46515  type _CRYPTOAPI_BLOB = struct {
 46516  	FcbData      DWORD
 46517  	F__ccgo_pad1 [4]byte
 46518  	FpbData      uintptr
 46519  }
 46520  
 46521  type CRYPT_INTEGER_BLOB = _CRYPTOAPI_BLOB
 46522  type PCRYPT_INTEGER_BLOB = uintptr
 46523  type CRYPT_UINT_BLOB = _CRYPTOAPI_BLOB
 46524  type PCRYPT_UINT_BLOB = uintptr
 46525  type CRYPT_OBJID_BLOB = _CRYPTOAPI_BLOB
 46526  type PCRYPT_OBJID_BLOB = uintptr
 46527  type CERT_NAME_BLOB = _CRYPTOAPI_BLOB
 46528  type PCERT_NAME_BLOB = uintptr
 46529  type CERT_RDN_VALUE_BLOB = _CRYPTOAPI_BLOB
 46530  type PCERT_RDN_VALUE_BLOB = uintptr
 46531  type CERT_BLOB = _CRYPTOAPI_BLOB
 46532  type PCERT_BLOB = uintptr
 46533  type CRL_BLOB = _CRYPTOAPI_BLOB
 46534  type PCRL_BLOB = uintptr
 46535  type DATA_BLOB = _CRYPTOAPI_BLOB
 46536  type PDATA_BLOB = uintptr
 46537  type CRYPT_DATA_BLOB = _CRYPTOAPI_BLOB
 46538  type PCRYPT_DATA_BLOB = uintptr
 46539  type CRYPT_HASH_BLOB = _CRYPTOAPI_BLOB
 46540  type PCRYPT_HASH_BLOB = uintptr
 46541  type CRYPT_DIGEST_BLOB = _CRYPTOAPI_BLOB
 46542  type PCRYPT_DIGEST_BLOB = uintptr
 46543  type CRYPT_DER_BLOB = _CRYPTOAPI_BLOB
 46544  type PCRYPT_DER_BLOB = uintptr
 46545  type CRYPT_ATTR_BLOB = _CRYPTOAPI_BLOB
 46546  type PCRYPT_ATTR_BLOB = uintptr
 46547  type _CMS_DH_KEY_INFO = struct {
 46548  	FdwVersion          DWORD
 46549  	FAlgid              ALG_ID
 46550  	FpszContentEncObjId LPSTR
 46551  	FPubInfo            CRYPT_DATA_BLOB
 46552  	FpReserved          uintptr
 46553  }
 46554  
 46555  type CMS_DH_KEY_INFO = _CMS_DH_KEY_INFO
 46556  type PCMS_DH_KEY_INFO = uintptr
 46557  
 46558  type HCRYPTPROV_OR_NCRYPT_KEY_HANDLE = ULONG_PTR
 46559  type HCRYPTPROV_LEGACY = ULONG_PTR
 46560  
 46561  type NTSTATUS = LONG
 46562  type PNTSTATUS = uintptr
 46563  
 46564  type __BCRYPT_KEY_LENGTHS_STRUCT = struct {
 46565  	FdwMinLength ULONG
 46566  	FdwMaxLength ULONG
 46567  	FdwIncrement ULONG
 46568  }
 46569  
 46570  type BCRYPT_KEY_LENGTHS_STRUCT = __BCRYPT_KEY_LENGTHS_STRUCT
 46571  
 46572  type BCRYPT_AUTH_TAG_LENGTHS_STRUCT = BCRYPT_KEY_LENGTHS_STRUCT
 46573  
 46574  type _BCRYPT_OID = struct {
 46575  	FcbOID       ULONG
 46576  	F__ccgo_pad1 [4]byte
 46577  	FpbOID       PUCHAR
 46578  }
 46579  
 46580  type BCRYPT_OID = _BCRYPT_OID
 46581  
 46582  type _BCRYPT_OID_LIST = struct {
 46583  	FdwOIDCount  ULONG
 46584  	F__ccgo_pad1 [4]byte
 46585  	FpOIDs       uintptr
 46586  }
 46587  
 46588  type BCRYPT_OID_LIST = _BCRYPT_OID_LIST
 46589  
 46590  type _BCRYPT_PKCS1_PADDING_INFO = struct{ FpszAlgId LPCWSTR }
 46591  
 46592  type BCRYPT_PKCS1_PADDING_INFO = _BCRYPT_PKCS1_PADDING_INFO
 46593  
 46594  type _BCRYPT_PSS_PADDING_INFO = struct {
 46595  	FpszAlgId    LPCWSTR
 46596  	FcbSalt      ULONG
 46597  	F__ccgo_pad1 [4]byte
 46598  }
 46599  
 46600  type BCRYPT_PSS_PADDING_INFO = _BCRYPT_PSS_PADDING_INFO
 46601  
 46602  type _BCRYPT_OAEP_PADDING_INFO = struct {
 46603  	FpszAlgId    LPCWSTR
 46604  	FpbLabel     PUCHAR
 46605  	FcbLabel     ULONG
 46606  	F__ccgo_pad1 [4]byte
 46607  }
 46608  
 46609  type BCRYPT_OAEP_PADDING_INFO = _BCRYPT_OAEP_PADDING_INFO
 46610  
 46611  type _BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO = struct {
 46612  	FcbSize        ULONG
 46613  	FdwInfoVersion ULONG
 46614  	FpbNonce       PUCHAR
 46615  	FcbNonce       ULONG
 46616  	F__ccgo_pad1   [4]byte
 46617  	FpbAuthData    PUCHAR
 46618  	FcbAuthData    ULONG
 46619  	F__ccgo_pad2   [4]byte
 46620  	FpbTag         PUCHAR
 46621  	FcbTag         ULONG
 46622  	F__ccgo_pad3   [4]byte
 46623  	FpbMacContext  PUCHAR
 46624  	FcbMacContext  ULONG
 46625  	FcbAAD         ULONG
 46626  	FcbData        ULONGLONG
 46627  	FdwFlags       ULONG
 46628  	F__ccgo_pad4   [4]byte
 46629  }
 46630  
 46631  type BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO = _BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO
 46632  type PBCRYPT_AUTHENTICATED_CIPHER_MODE_INFO = uintptr
 46633  
 46634  type _BCryptBuffer = struct {
 46635  	FcbBuffer   ULONG
 46636  	FBufferType ULONG
 46637  	FpvBuffer   PVOID
 46638  }
 46639  
 46640  type BCryptBuffer = _BCryptBuffer
 46641  type PBCryptBuffer = uintptr
 46642  
 46643  type _BCryptBufferDesc = struct {
 46644  	FulVersion ULONG
 46645  	FcBuffers  ULONG
 46646  	FpBuffers  PBCryptBuffer
 46647  }
 46648  
 46649  type BCryptBufferDesc = _BCryptBufferDesc
 46650  type PBCryptBufferDesc = uintptr
 46651  
 46652  type BCRYPT_HANDLE = PVOID
 46653  type BCRYPT_ALG_HANDLE = PVOID
 46654  type BCRYPT_KEY_HANDLE = PVOID
 46655  type BCRYPT_HASH_HANDLE = PVOID
 46656  type BCRYPT_SECRET_HANDLE = PVOID
 46657  
 46658  type _BCRYPT_KEY_BLOB = struct{ FMagic ULONG }
 46659  
 46660  type BCRYPT_KEY_BLOB = _BCRYPT_KEY_BLOB
 46661  
 46662  type _BCRYPT_RSAKEY_BLOB = struct {
 46663  	FMagic       ULONG
 46664  	FBitLength   ULONG
 46665  	FcbPublicExp ULONG
 46666  	FcbModulus   ULONG
 46667  	FcbPrime1    ULONG
 46668  	FcbPrime2    ULONG
 46669  }
 46670  
 46671  type BCRYPT_RSAKEY_BLOB = _BCRYPT_RSAKEY_BLOB
 46672  
 46673  type _BCRYPT_ECCKEY_BLOB = struct {
 46674  	FdwMagic ULONG
 46675  	FcbKey   ULONG
 46676  }
 46677  
 46678  type BCRYPT_ECCKEY_BLOB = _BCRYPT_ECCKEY_BLOB
 46679  type PBCRYPT_ECCKEY_BLOB = uintptr
 46680  
 46681  type _BCRYPT_DH_KEY_BLOB = struct {
 46682  	FdwMagic ULONG
 46683  	FcbKey   ULONG
 46684  }
 46685  
 46686  type BCRYPT_DH_KEY_BLOB = _BCRYPT_DH_KEY_BLOB
 46687  type PBCRYPT_DH_KEY_BLOB = uintptr
 46688  
 46689  type _BCRYPT_DH_PARAMETER_HEADER = struct {
 46690  	FcbLength    ULONG
 46691  	FdwMagic     ULONG
 46692  	FcbKeyLength ULONG
 46693  }
 46694  
 46695  type BCRYPT_DH_PARAMETER_HEADER = _BCRYPT_DH_PARAMETER_HEADER
 46696  
 46697  type _BCRYPT_DSA_KEY_BLOB = struct {
 46698  	FdwMagic ULONG
 46699  	FcbKey   ULONG
 46700  	FCount   [4]UCHAR
 46701  	FSeed    [20]UCHAR
 46702  	Fq       [20]UCHAR
 46703  }
 46704  
 46705  type BCRYPT_DSA_KEY_BLOB = _BCRYPT_DSA_KEY_BLOB
 46706  type PBCRYPT_DSA_KEY_BLOB = uintptr
 46707  
 46708  type HASHALGORITHM_ENUM = uint32
 46709  
 46710  type DSAFIPSVERSION_ENUM = uint32
 46711  type _BCRYPT_DSA_KEY_BLOB_V2 = struct {
 46712  	FdwMagic         ULONG
 46713  	FcbKey           ULONG
 46714  	FhashAlgorithm   HASHALGORITHM_ENUM
 46715  	FstandardVersion DSAFIPSVERSION_ENUM
 46716  	FcbSeedLength    ULONG
 46717  	FcbGroupSize     ULONG
 46718  	FCount           [4]UCHAR
 46719  }
 46720  
 46721  type BCRYPT_DSA_KEY_BLOB_V2 = _BCRYPT_DSA_KEY_BLOB_V2
 46722  type PBCRYPT_DSA_KEY_BLOB_V2 = uintptr
 46723  
 46724  type _BCRYPT_KEY_DATA_BLOB_HEADER = struct {
 46725  	FdwMagic   ULONG
 46726  	FdwVersion ULONG
 46727  	FcbKeyData ULONG
 46728  }
 46729  
 46730  type BCRYPT_KEY_DATA_BLOB_HEADER = _BCRYPT_KEY_DATA_BLOB_HEADER
 46731  type PBCRYPT_KEY_DATA_BLOB_HEADER = uintptr
 46732  
 46733  type _BCRYPT_DSA_PARAMETER_HEADER = struct {
 46734  	FcbLength    ULONG
 46735  	FdwMagic     ULONG
 46736  	FcbKeyLength ULONG
 46737  	FCount       [4]UCHAR
 46738  	FSeed        [20]UCHAR
 46739  	Fq           [20]UCHAR
 46740  }
 46741  
 46742  type BCRYPT_DSA_PARAMETER_HEADER = _BCRYPT_DSA_PARAMETER_HEADER
 46743  
 46744  type _BCRYPT_DSA_PARAMETER_HEADER_V2 = struct {
 46745  	FcbLength        ULONG
 46746  	FdwMagic         ULONG
 46747  	FcbKeyLength     ULONG
 46748  	FhashAlgorithm   HASHALGORITHM_ENUM
 46749  	FstandardVersion DSAFIPSVERSION_ENUM
 46750  	FcbSeedLength    ULONG
 46751  	FcbGroupSize     ULONG
 46752  	FCount           [4]UCHAR
 46753  }
 46754  
 46755  type BCRYPT_DSA_PARAMETER_HEADER_V2 = _BCRYPT_DSA_PARAMETER_HEADER_V2
 46756  
 46757  type _BCRYPT_ALGORITHM_IDENTIFIER = struct {
 46758  	FpszName LPWSTR
 46759  	FdwClass ULONG
 46760  	FdwFlags ULONG
 46761  }
 46762  
 46763  type BCRYPT_ALGORITHM_IDENTIFIER = _BCRYPT_ALGORITHM_IDENTIFIER
 46764  
 46765  type _BCRYPT_PROVIDER_NAME = struct{ FpszProviderName LPWSTR }
 46766  
 46767  type BCRYPT_PROVIDER_NAME = _BCRYPT_PROVIDER_NAME
 46768  
 46769  type _BCRYPT_INTERFACE_VERSION = struct {
 46770  	FMajorVersion USHORT
 46771  	FMinorVersion USHORT
 46772  }
 46773  
 46774  type BCRYPT_INTERFACE_VERSION = _BCRYPT_INTERFACE_VERSION
 46775  type PBCRYPT_INTERFACE_VERSION = uintptr
 46776  
 46777  type _CRYPT_INTERFACE_REG = struct {
 46778  	FdwInterface    ULONG
 46779  	FdwFlags        ULONG
 46780  	FcFunctions     ULONG
 46781  	F__ccgo_pad1    [4]byte
 46782  	FrgpszFunctions uintptr
 46783  }
 46784  
 46785  type CRYPT_INTERFACE_REG = _CRYPT_INTERFACE_REG
 46786  type PCRYPT_INTERFACE_REG = uintptr
 46787  
 46788  type _CRYPT_IMAGE_REG = struct {
 46789  	FpszImage      PWSTR
 46790  	FcInterfaces   ULONG
 46791  	F__ccgo_pad1   [4]byte
 46792  	FrgpInterfaces uintptr
 46793  }
 46794  
 46795  type CRYPT_IMAGE_REG = _CRYPT_IMAGE_REG
 46796  type PCRYPT_IMAGE_REG = uintptr
 46797  
 46798  type _CRYPT_PROVIDER_REG = struct {
 46799  	FcAliases     ULONG
 46800  	F__ccgo_pad1  [4]byte
 46801  	FrgpszAliases uintptr
 46802  	FpUM          PCRYPT_IMAGE_REG
 46803  	FpKM          PCRYPT_IMAGE_REG
 46804  }
 46805  
 46806  type CRYPT_PROVIDER_REG = _CRYPT_PROVIDER_REG
 46807  type PCRYPT_PROVIDER_REG = uintptr
 46808  
 46809  type _CRYPT_PROVIDERS = struct {
 46810  	FcProviders     ULONG
 46811  	F__ccgo_pad1    [4]byte
 46812  	FrgpszProviders uintptr
 46813  }
 46814  
 46815  type CRYPT_PROVIDERS = _CRYPT_PROVIDERS
 46816  type PCRYPT_PROVIDERS = uintptr
 46817  
 46818  type _CRYPT_CONTEXT_CONFIG = struct {
 46819  	FdwFlags    ULONG
 46820  	FdwReserved ULONG
 46821  }
 46822  
 46823  type CRYPT_CONTEXT_CONFIG = _CRYPT_CONTEXT_CONFIG
 46824  type PCRYPT_CONTEXT_CONFIG = uintptr
 46825  
 46826  type _CRYPT_CONTEXT_FUNCTION_CONFIG = struct {
 46827  	FdwFlags    ULONG
 46828  	FdwReserved ULONG
 46829  }
 46830  
 46831  type CRYPT_CONTEXT_FUNCTION_CONFIG = _CRYPT_CONTEXT_FUNCTION_CONFIG
 46832  type PCRYPT_CONTEXT_FUNCTION_CONFIG = uintptr
 46833  
 46834  type _CRYPT_CONTEXTS = struct {
 46835  	FcContexts     ULONG
 46836  	F__ccgo_pad1   [4]byte
 46837  	FrgpszContexts uintptr
 46838  }
 46839  
 46840  type CRYPT_CONTEXTS = _CRYPT_CONTEXTS
 46841  type PCRYPT_CONTEXTS = uintptr
 46842  
 46843  type _CRYPT_CONTEXT_FUNCTIONS = struct {
 46844  	FcFunctions     ULONG
 46845  	F__ccgo_pad1    [4]byte
 46846  	FrgpszFunctions uintptr
 46847  }
 46848  
 46849  type CRYPT_CONTEXT_FUNCTIONS = _CRYPT_CONTEXT_FUNCTIONS
 46850  type PCRYPT_CONTEXT_FUNCTIONS = uintptr
 46851  
 46852  type _CRYPT_CONTEXT_FUNCTION_PROVIDERS = struct {
 46853  	FcProviders     ULONG
 46854  	F__ccgo_pad1    [4]byte
 46855  	FrgpszProviders uintptr
 46856  }
 46857  
 46858  type CRYPT_CONTEXT_FUNCTION_PROVIDERS = _CRYPT_CONTEXT_FUNCTION_PROVIDERS
 46859  type PCRYPT_CONTEXT_FUNCTION_PROVIDERS = uintptr
 46860  
 46861  type _CRYPT_PROPERTY_REF = struct {
 46862  	FpszProperty PWSTR
 46863  	FcbValue     ULONG
 46864  	F__ccgo_pad1 [4]byte
 46865  	FpbValue     PUCHAR
 46866  }
 46867  
 46868  type CRYPT_PROPERTY_REF = _CRYPT_PROPERTY_REF
 46869  type PCRYPT_PROPERTY_REF = uintptr
 46870  
 46871  type _CRYPT_IMAGE_REF = struct {
 46872  	FpszImage    PWSTR
 46873  	FdwFlags     ULONG
 46874  	F__ccgo_pad1 [4]byte
 46875  }
 46876  
 46877  type CRYPT_IMAGE_REF = _CRYPT_IMAGE_REF
 46878  type PCRYPT_IMAGE_REF = uintptr
 46879  
 46880  type _CRYPT_PROVIDER_REF = struct {
 46881  	FdwInterface   ULONG
 46882  	F__ccgo_pad1   [4]byte
 46883  	FpszFunction   PWSTR
 46884  	FpszProvider   PWSTR
 46885  	FcProperties   ULONG
 46886  	F__ccgo_pad2   [4]byte
 46887  	FrgpProperties uintptr
 46888  	FpUM           PCRYPT_IMAGE_REF
 46889  	FpKM           PCRYPT_IMAGE_REF
 46890  }
 46891  
 46892  type CRYPT_PROVIDER_REF = _CRYPT_PROVIDER_REF
 46893  type PCRYPT_PROVIDER_REF = uintptr
 46894  
 46895  type _CRYPT_PROVIDER_REFS = struct {
 46896  	FcProviders   ULONG
 46897  	F__ccgo_pad1  [4]byte
 46898  	FrgpProviders uintptr
 46899  }
 46900  
 46901  type CRYPT_PROVIDER_REFS = _CRYPT_PROVIDER_REFS
 46902  type PCRYPT_PROVIDER_REFS = uintptr
 46903  
 46904  type SECURITY_STATUS = LONG
 46905  
 46906  type PFN_NCRYPT_ALLOC = uintptr
 46907  type PFN_NCRYPT_FREE = uintptr
 46908  
 46909  type NCRYPT_ALLOC_PARA1 = struct {
 46910  	FcbSize      DWORD
 46911  	F__ccgo_pad1 [4]byte
 46912  	FpfnAlloc    PFN_NCRYPT_ALLOC
 46913  	FpfnFree     PFN_NCRYPT_FREE
 46914  }
 46915  
 46916  type NCRYPT_ALLOC_PARA = NCRYPT_ALLOC_PARA1
 46917  
 46918  type NCryptBuffer = BCryptBuffer
 46919  type PNCryptBuffer = uintptr
 46920  type NCryptBufferDesc = BCryptBufferDesc
 46921  type PNCryptBufferDesc = uintptr
 46922  
 46923  type NCRYPT_HANDLE = ULONG_PTR
 46924  type NCRYPT_PROV_HANDLE = ULONG_PTR
 46925  type NCRYPT_KEY_HANDLE = ULONG_PTR
 46926  type NCRYPT_HASH_HANDLE = ULONG_PTR
 46927  type NCRYPT_SECRET_HANDLE = ULONG_PTR
 46928  
 46929  type _NCryptAlgorithmName = struct {
 46930  	FpszName         LPWSTR
 46931  	FdwClass         DWORD
 46932  	FdwAlgOperations DWORD
 46933  	FdwFlags         DWORD
 46934  	F__ccgo_pad1     [4]byte
 46935  }
 46936  
 46937  type NCryptAlgorithmName = _NCryptAlgorithmName
 46938  
 46939  type NCryptKeyName1 = struct {
 46940  	FpszName         LPWSTR
 46941  	FpszAlgid        LPWSTR
 46942  	FdwLegacyKeySpec DWORD
 46943  	FdwFlags         DWORD
 46944  }
 46945  
 46946  type NCryptKeyName = NCryptKeyName1
 46947  
 46948  type NCryptProviderName1 = struct {
 46949  	FpszName    LPWSTR
 46950  	FpszComment LPWSTR
 46951  }
 46952  
 46953  type NCryptProviderName = NCryptProviderName1
 46954  
 46955  type __NCRYPT_UI_POLICY = struct {
 46956  	FdwVersion        DWORD
 46957  	FdwFlags          DWORD
 46958  	FpszCreationTitle LPCWSTR
 46959  	FpszFriendlyName  LPCWSTR
 46960  	FpszDescription   LPCWSTR
 46961  }
 46962  
 46963  type NCRYPT_UI_POLICY = __NCRYPT_UI_POLICY
 46964  
 46965  type __NCRYPT_SUPPORTED_LENGTHS = struct {
 46966  	FdwMinLength     DWORD
 46967  	FdwMaxLength     DWORD
 46968  	FdwIncrement     DWORD
 46969  	FdwDefaultLength DWORD
 46970  }
 46971  
 46972  type NCRYPT_SUPPORTED_LENGTHS = __NCRYPT_SUPPORTED_LENGTHS
 46973  
 46974  type _CRYPT_BIT_BLOB = struct {
 46975  	FcbData      DWORD
 46976  	F__ccgo_pad1 [4]byte
 46977  	FpbData      uintptr
 46978  	FcUnusedBits DWORD
 46979  	F__ccgo_pad2 [4]byte
 46980  }
 46981  
 46982  type CRYPT_BIT_BLOB = _CRYPT_BIT_BLOB
 46983  type PCRYPT_BIT_BLOB = uintptr
 46984  
 46985  type _CRYPT_ALGORITHM_IDENTIFIER = struct {
 46986  	FpszObjId   LPSTR
 46987  	FParameters CRYPT_OBJID_BLOB
 46988  }
 46989  
 46990  type CRYPT_ALGORITHM_IDENTIFIER = _CRYPT_ALGORITHM_IDENTIFIER
 46991  type PCRYPT_ALGORITHM_IDENTIFIER = uintptr
 46992  
 46993  type _CRYPT_OBJID_TABLE = struct {
 46994  	FdwAlgId     DWORD
 46995  	F__ccgo_pad1 [4]byte
 46996  	FpszObjId    LPCSTR
 46997  }
 46998  
 46999  type CRYPT_OBJID_TABLE = _CRYPT_OBJID_TABLE
 47000  type PCRYPT_OBJID_TABLE = uintptr
 47001  
 47002  type _CRYPT_HASH_INFO = struct {
 47003  	FHashAlgorithm CRYPT_ALGORITHM_IDENTIFIER
 47004  	FHash          CRYPT_HASH_BLOB
 47005  }
 47006  
 47007  type CRYPT_HASH_INFO = _CRYPT_HASH_INFO
 47008  type PCRYPT_HASH_INFO = uintptr
 47009  
 47010  type _CERT_EXTENSION = struct {
 47011  	FpszObjId    LPSTR
 47012  	FfCritical   WINBOOL
 47013  	F__ccgo_pad1 [4]byte
 47014  	FValue       CRYPT_OBJID_BLOB
 47015  }
 47016  
 47017  type CERT_EXTENSION = _CERT_EXTENSION
 47018  type PCERT_EXTENSION = uintptr
 47019  
 47020  type PCCERT_EXTENSION = uintptr
 47021  
 47022  type _CRYPT_ATTRIBUTE_TYPE_VALUE = struct {
 47023  	FpszObjId LPSTR
 47024  	FValue    CRYPT_OBJID_BLOB
 47025  }
 47026  
 47027  type CRYPT_ATTRIBUTE_TYPE_VALUE = _CRYPT_ATTRIBUTE_TYPE_VALUE
 47028  type PCRYPT_ATTRIBUTE_TYPE_VALUE = uintptr
 47029  
 47030  type _CRYPT_ATTRIBUTE = struct {
 47031  	FpszObjId    LPSTR
 47032  	FcValue      DWORD
 47033  	F__ccgo_pad1 [4]byte
 47034  	FrgValue     PCRYPT_ATTR_BLOB
 47035  }
 47036  
 47037  type CRYPT_ATTRIBUTE = _CRYPT_ATTRIBUTE
 47038  type PCRYPT_ATTRIBUTE = uintptr
 47039  
 47040  type _CRYPT_ATTRIBUTES = struct {
 47041  	FcAttr       DWORD
 47042  	F__ccgo_pad1 [4]byte
 47043  	FrgAttr      PCRYPT_ATTRIBUTE
 47044  }
 47045  
 47046  type CRYPT_ATTRIBUTES = _CRYPT_ATTRIBUTES
 47047  type PCRYPT_ATTRIBUTES = uintptr
 47048  
 47049  type _CERT_RDN_ATTR = struct {
 47050  	FpszObjId    LPSTR
 47051  	FdwValueType DWORD
 47052  	F__ccgo_pad1 [4]byte
 47053  	FValue       CERT_RDN_VALUE_BLOB
 47054  }
 47055  
 47056  type CERT_RDN_ATTR = _CERT_RDN_ATTR
 47057  type PCERT_RDN_ATTR = uintptr
 47058  
 47059  type _CERT_RDN = struct {
 47060  	FcRDNAttr    DWORD
 47061  	F__ccgo_pad1 [4]byte
 47062  	FrgRDNAttr   PCERT_RDN_ATTR
 47063  }
 47064  
 47065  type CERT_RDN = _CERT_RDN
 47066  type PCERT_RDN = uintptr
 47067  
 47068  type _CERT_NAME_INFO = struct {
 47069  	FcRDN        DWORD
 47070  	F__ccgo_pad1 [4]byte
 47071  	FrgRDN       PCERT_RDN
 47072  }
 47073  
 47074  type CERT_NAME_INFO = _CERT_NAME_INFO
 47075  type PCERT_NAME_INFO = uintptr
 47076  
 47077  type _CERT_NAME_VALUE = struct {
 47078  	FdwValueType DWORD
 47079  	F__ccgo_pad1 [4]byte
 47080  	FValue       CERT_RDN_VALUE_BLOB
 47081  }
 47082  
 47083  type CERT_NAME_VALUE = _CERT_NAME_VALUE
 47084  type PCERT_NAME_VALUE = uintptr
 47085  
 47086  type _CERT_PUBLIC_KEY_INFO = struct {
 47087  	FAlgorithm CRYPT_ALGORITHM_IDENTIFIER
 47088  	FPublicKey CRYPT_BIT_BLOB
 47089  }
 47090  
 47091  type CERT_PUBLIC_KEY_INFO = _CERT_PUBLIC_KEY_INFO
 47092  type PCERT_PUBLIC_KEY_INFO = uintptr
 47093  
 47094  type _CRYPT_ECC_PRIVATE_KEY_INFO = struct {
 47095  	FdwVersion   DWORD
 47096  	F__ccgo_pad1 [4]byte
 47097  	FPrivateKey  CRYPT_DER_BLOB
 47098  	FszCurveOid  LPSTR
 47099  	FPublicKey   CRYPT_BIT_BLOB
 47100  }
 47101  
 47102  type CRYPT_ECC_PRIVATE_KEY_INFO = _CRYPT_ECC_PRIVATE_KEY_INFO
 47103  type PCRYPT_ECC_PRIVATE_KEY_INFO = uintptr
 47104  
 47105  type _CRYPT_PRIVATE_KEY_INFO = struct {
 47106  	FVersion     DWORD
 47107  	F__ccgo_pad1 [4]byte
 47108  	FAlgorithm   CRYPT_ALGORITHM_IDENTIFIER
 47109  	FPrivateKey  CRYPT_DER_BLOB
 47110  	FpAttributes PCRYPT_ATTRIBUTES
 47111  }
 47112  
 47113  type CRYPT_PRIVATE_KEY_INFO = _CRYPT_PRIVATE_KEY_INFO
 47114  type PCRYPT_PRIVATE_KEY_INFO = uintptr
 47115  
 47116  type _CRYPT_ENCRYPTED_PRIVATE_KEY_INFO = struct {
 47117  	FEncryptionAlgorithm CRYPT_ALGORITHM_IDENTIFIER
 47118  	FEncryptedPrivateKey CRYPT_DATA_BLOB
 47119  }
 47120  
 47121  type CRYPT_ENCRYPTED_PRIVATE_KEY_INFO = _CRYPT_ENCRYPTED_PRIVATE_KEY_INFO
 47122  type PCRYPT_ENCRYPTED_PRIVATE_KEY_INFO = uintptr
 47123  
 47124  type PCRYPT_DECRYPT_PRIVATE_KEY_FUNC = uintptr
 47125  type PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC = uintptr
 47126  type PCRYPT_RESOLVE_HCRYPTPROV_FUNC = uintptr
 47127  
 47128  type _CRYPT_PKCS8_IMPORT_PARAMS = struct {
 47129  	FPrivateKey             CRYPT_DIGEST_BLOB
 47130  	FpResolvehCryptProvFunc PCRYPT_RESOLVE_HCRYPTPROV_FUNC
 47131  	FpVoidResolveFunc       LPVOID
 47132  	FpDecryptPrivateKeyFunc PCRYPT_DECRYPT_PRIVATE_KEY_FUNC
 47133  	FpVoidDecryptFunc       LPVOID
 47134  }
 47135  
 47136  type CRYPT_PKCS8_IMPORT_PARAMS = _CRYPT_PKCS8_IMPORT_PARAMS
 47137  type PCRYPT_PKCS8_IMPORT_PARAMS = uintptr
 47138  type CRYPT_PRIVATE_KEY_BLOB_AND_PARAMS = _CRYPT_PKCS8_IMPORT_PARAMS
 47139  type PCRYPT_PRIVATE_KEY_BLOB_AND_PARAMS = uintptr
 47140  
 47141  type _CRYPT_PKCS8_EXPORT_PARAMS = struct {
 47142  	FhCryptProv             HCRYPTPROV
 47143  	FdwKeySpec              DWORD
 47144  	F__ccgo_pad1            [4]byte
 47145  	FpszPrivateKeyObjId     LPSTR
 47146  	FpEncryptPrivateKeyFunc PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC
 47147  	FpVoidEncryptFunc       LPVOID
 47148  }
 47149  
 47150  type CRYPT_PKCS8_EXPORT_PARAMS = _CRYPT_PKCS8_EXPORT_PARAMS
 47151  type PCRYPT_PKCS8_EXPORT_PARAMS = uintptr
 47152  
 47153  type _CERT_INFO = struct {
 47154  	FdwVersion            DWORD
 47155  	F__ccgo_pad1          [4]byte
 47156  	FSerialNumber         CRYPT_INTEGER_BLOB
 47157  	FSignatureAlgorithm   CRYPT_ALGORITHM_IDENTIFIER
 47158  	FIssuer               CERT_NAME_BLOB
 47159  	FNotBefore            FILETIME
 47160  	FNotAfter             FILETIME
 47161  	FSubject              CERT_NAME_BLOB
 47162  	FSubjectPublicKeyInfo CERT_PUBLIC_KEY_INFO
 47163  	FIssuerUniqueId       CRYPT_BIT_BLOB
 47164  	FSubjectUniqueId      CRYPT_BIT_BLOB
 47165  	FcExtension           DWORD
 47166  	F__ccgo_pad2          [4]byte
 47167  	FrgExtension          PCERT_EXTENSION
 47168  }
 47169  
 47170  type CERT_INFO = _CERT_INFO
 47171  type PCERT_INFO = uintptr
 47172  
 47173  type _CRL_ENTRY = struct {
 47174  	FSerialNumber   CRYPT_INTEGER_BLOB
 47175  	FRevocationDate FILETIME
 47176  	FcExtension     DWORD
 47177  	F__ccgo_pad1    [4]byte
 47178  	FrgExtension    PCERT_EXTENSION
 47179  }
 47180  
 47181  type CRL_ENTRY = _CRL_ENTRY
 47182  type PCRL_ENTRY = uintptr
 47183  
 47184  type _CRL_INFO = struct {
 47185  	FdwVersion          DWORD
 47186  	F__ccgo_pad1        [4]byte
 47187  	FSignatureAlgorithm CRYPT_ALGORITHM_IDENTIFIER
 47188  	FIssuer             CERT_NAME_BLOB
 47189  	FThisUpdate         FILETIME
 47190  	FNextUpdate         FILETIME
 47191  	FcCRLEntry          DWORD
 47192  	F__ccgo_pad2        [4]byte
 47193  	FrgCRLEntry         PCRL_ENTRY
 47194  	FcExtension         DWORD
 47195  	F__ccgo_pad3        [4]byte
 47196  	FrgExtension        PCERT_EXTENSION
 47197  }
 47198  
 47199  type CRL_INFO = _CRL_INFO
 47200  type PCRL_INFO = uintptr
 47201  
 47202  type _CERT_OR_CRL_BLOB = struct {
 47203  	FdwChoice  DWORD
 47204  	FcbEncoded DWORD
 47205  	FpbEncoded uintptr
 47206  }
 47207  
 47208  type CERT_OR_CRL_BLOB = _CERT_OR_CRL_BLOB
 47209  type PCERT_OR_CRL_BLOB = uintptr
 47210  
 47211  type _CERT_OR_CRL_BUNDLE = struct {
 47212  	FcItem       DWORD
 47213  	F__ccgo_pad1 [4]byte
 47214  	FrgItem      PCERT_OR_CRL_BLOB
 47215  }
 47216  
 47217  type CERT_OR_CRL_BUNDLE = _CERT_OR_CRL_BUNDLE
 47218  type PCERT_OR_CRL_BUNDLE = uintptr
 47219  
 47220  type _CERT_REQUEST_INFO = struct {
 47221  	FdwVersion            DWORD
 47222  	F__ccgo_pad1          [4]byte
 47223  	FSubject              CERT_NAME_BLOB
 47224  	FSubjectPublicKeyInfo CERT_PUBLIC_KEY_INFO
 47225  	FcAttribute           DWORD
 47226  	F__ccgo_pad2          [4]byte
 47227  	FrgAttribute          PCRYPT_ATTRIBUTE
 47228  }
 47229  
 47230  type CERT_REQUEST_INFO = _CERT_REQUEST_INFO
 47231  type PCERT_REQUEST_INFO = uintptr
 47232  
 47233  type _CERT_KEYGEN_REQUEST_INFO = struct {
 47234  	FdwVersion            DWORD
 47235  	F__ccgo_pad1          [4]byte
 47236  	FSubjectPublicKeyInfo CERT_PUBLIC_KEY_INFO
 47237  	FpwszChallengeString  LPWSTR
 47238  }
 47239  
 47240  type CERT_KEYGEN_REQUEST_INFO = _CERT_KEYGEN_REQUEST_INFO
 47241  type PCERT_KEYGEN_REQUEST_INFO = uintptr
 47242  
 47243  type _CERT_SIGNED_CONTENT_INFO = struct {
 47244  	FToBeSigned         CRYPT_DER_BLOB
 47245  	FSignatureAlgorithm CRYPT_ALGORITHM_IDENTIFIER
 47246  	FSignature          CRYPT_BIT_BLOB
 47247  }
 47248  
 47249  type CERT_SIGNED_CONTENT_INFO = _CERT_SIGNED_CONTENT_INFO
 47250  type PCERT_SIGNED_CONTENT_INFO = uintptr
 47251  
 47252  type _CTL_USAGE = struct {
 47253  	FcUsageIdentifier     DWORD
 47254  	F__ccgo_pad1          [4]byte
 47255  	FrgpszUsageIdentifier uintptr
 47256  }
 47257  
 47258  type CTL_USAGE = _CTL_USAGE
 47259  type PCTL_USAGE = uintptr
 47260  type CERT_ENHKEY_USAGE = _CTL_USAGE
 47261  type PCERT_ENHKEY_USAGE = uintptr
 47262  
 47263  type PCCTL_USAGE = uintptr
 47264  type PCCERT_ENHKEY_USAGE = uintptr
 47265  
 47266  type _CTL_ENTRY = struct {
 47267  	FSubjectIdentifier CRYPT_DATA_BLOB
 47268  	FcAttribute        DWORD
 47269  	F__ccgo_pad1       [4]byte
 47270  	FrgAttribute       PCRYPT_ATTRIBUTE
 47271  }
 47272  
 47273  type CTL_ENTRY = _CTL_ENTRY
 47274  type PCTL_ENTRY = uintptr
 47275  
 47276  type _CTL_INFO = struct {
 47277  	FdwVersion        DWORD
 47278  	F__ccgo_pad1      [4]byte
 47279  	FSubjectUsage     CTL_USAGE
 47280  	FListIdentifier   CRYPT_DATA_BLOB
 47281  	FSequenceNumber   CRYPT_INTEGER_BLOB
 47282  	FThisUpdate       FILETIME
 47283  	FNextUpdate       FILETIME
 47284  	FSubjectAlgorithm CRYPT_ALGORITHM_IDENTIFIER
 47285  	FcCTLEntry        DWORD
 47286  	F__ccgo_pad2      [4]byte
 47287  	FrgCTLEntry       PCTL_ENTRY
 47288  	FcExtension       DWORD
 47289  	F__ccgo_pad3      [4]byte
 47290  	FrgExtension      PCERT_EXTENSION
 47291  }
 47292  
 47293  type CTL_INFO = _CTL_INFO
 47294  type PCTL_INFO = uintptr
 47295  
 47296  type _CRYPT_TIME_STAMP_REQUEST_INFO = struct {
 47297  	FpszTimeStampAlgorithm LPSTR
 47298  	FpszContentType        LPSTR
 47299  	FContent               CRYPT_OBJID_BLOB
 47300  	FcAttribute            DWORD
 47301  	F__ccgo_pad1           [4]byte
 47302  	FrgAttribute           PCRYPT_ATTRIBUTE
 47303  }
 47304  
 47305  type CRYPT_TIME_STAMP_REQUEST_INFO = _CRYPT_TIME_STAMP_REQUEST_INFO
 47306  type PCRYPT_TIME_STAMP_REQUEST_INFO = uintptr
 47307  
 47308  type _CRYPT_ENROLLMENT_NAME_VALUE_PAIR = struct {
 47309  	FpwszName  LPWSTR
 47310  	FpwszValue LPWSTR
 47311  }
 47312  
 47313  type CRYPT_ENROLLMENT_NAME_VALUE_PAIR = _CRYPT_ENROLLMENT_NAME_VALUE_PAIR
 47314  type PCRYPT_ENROLLMENT_NAME_VALUE_PAIR = uintptr
 47315  
 47316  type _CRYPT_CSP_PROVIDER = struct {
 47317  	FdwKeySpec        DWORD
 47318  	F__ccgo_pad1      [4]byte
 47319  	FpwszProviderName LPWSTR
 47320  	FSignature        CRYPT_BIT_BLOB
 47321  }
 47322  
 47323  type CRYPT_CSP_PROVIDER = _CRYPT_CSP_PROVIDER
 47324  type PCRYPT_CSP_PROVIDER = uintptr
 47325  
 47326  type PFN_CRYPT_ALLOC = uintptr
 47327  type PFN_CRYPT_FREE = uintptr
 47328  
 47329  type _CRYPT_ENCODE_PARA = struct {
 47330  	FcbSize      DWORD
 47331  	F__ccgo_pad1 [4]byte
 47332  	FpfnAlloc    PFN_CRYPT_ALLOC
 47333  	FpfnFree     PFN_CRYPT_FREE
 47334  }
 47335  
 47336  type CRYPT_ENCODE_PARA = _CRYPT_ENCODE_PARA
 47337  type PCRYPT_ENCODE_PARA = uintptr
 47338  
 47339  type _CRYPT_DECODE_PARA = struct {
 47340  	FcbSize      DWORD
 47341  	F__ccgo_pad1 [4]byte
 47342  	FpfnAlloc    PFN_CRYPT_ALLOC
 47343  	FpfnFree     PFN_CRYPT_FREE
 47344  }
 47345  
 47346  type CRYPT_DECODE_PARA = _CRYPT_DECODE_PARA
 47347  type PCRYPT_DECODE_PARA = uintptr
 47348  
 47349  type _CERT_EXTENSIONS = struct {
 47350  	FcExtension  DWORD
 47351  	F__ccgo_pad1 [4]byte
 47352  	FrgExtension PCERT_EXTENSION
 47353  }
 47354  
 47355  type CERT_EXTENSIONS = _CERT_EXTENSIONS
 47356  type PCERT_EXTENSIONS = uintptr
 47357  
 47358  type _CERT_AUTHORITY_KEY_ID_INFO = struct {
 47359  	FKeyId            CRYPT_DATA_BLOB
 47360  	FCertIssuer       CERT_NAME_BLOB
 47361  	FCertSerialNumber CRYPT_INTEGER_BLOB
 47362  }
 47363  
 47364  type CERT_AUTHORITY_KEY_ID_INFO = _CERT_AUTHORITY_KEY_ID_INFO
 47365  type PCERT_AUTHORITY_KEY_ID_INFO = uintptr
 47366  
 47367  type _CERT_PRIVATE_KEY_VALIDITY = struct {
 47368  	FNotBefore FILETIME
 47369  	FNotAfter  FILETIME
 47370  }
 47371  
 47372  type CERT_PRIVATE_KEY_VALIDITY = _CERT_PRIVATE_KEY_VALIDITY
 47373  type PCERT_PRIVATE_KEY_VALIDITY = uintptr
 47374  
 47375  type _CERT_KEY_ATTRIBUTES_INFO = struct {
 47376  	FKeyId                  CRYPT_DATA_BLOB
 47377  	FIntendedKeyUsage       CRYPT_BIT_BLOB
 47378  	FpPrivateKeyUsagePeriod PCERT_PRIVATE_KEY_VALIDITY
 47379  }
 47380  
 47381  type CERT_KEY_ATTRIBUTES_INFO = _CERT_KEY_ATTRIBUTES_INFO
 47382  type PCERT_KEY_ATTRIBUTES_INFO = uintptr
 47383  
 47384  type _CERT_POLICY_ID = struct {
 47385  	FcCertPolicyElementId     DWORD
 47386  	F__ccgo_pad1              [4]byte
 47387  	FrgpszCertPolicyElementId uintptr
 47388  }
 47389  
 47390  type CERT_POLICY_ID = _CERT_POLICY_ID
 47391  type PCERT_POLICY_ID = uintptr
 47392  
 47393  type _CERT_KEY_USAGE_RESTRICTION_INFO = struct {
 47394  	FcCertPolicyId      DWORD
 47395  	F__ccgo_pad1        [4]byte
 47396  	FrgCertPolicyId     PCERT_POLICY_ID
 47397  	FRestrictedKeyUsage CRYPT_BIT_BLOB
 47398  }
 47399  
 47400  type CERT_KEY_USAGE_RESTRICTION_INFO = _CERT_KEY_USAGE_RESTRICTION_INFO
 47401  type PCERT_KEY_USAGE_RESTRICTION_INFO = uintptr
 47402  
 47403  type _CERT_OTHER_NAME = struct {
 47404  	FpszObjId LPSTR
 47405  	FValue    CRYPT_OBJID_BLOB
 47406  }
 47407  
 47408  type CERT_OTHER_NAME = _CERT_OTHER_NAME
 47409  type PCERT_OTHER_NAME = uintptr
 47410  
 47411  type _CERT_ALT_NAME_ENTRY = struct {
 47412  	FdwAltNameChoice DWORD
 47413  	F__ccgo_pad1     [4]byte
 47414  	F__8             struct {
 47415  		FpOtherName  PCERT_OTHER_NAME
 47416  		F__ccgo_pad1 [8]byte
 47417  	}
 47418  }
 47419  
 47420  type CERT_ALT_NAME_ENTRY = _CERT_ALT_NAME_ENTRY
 47421  type PCERT_ALT_NAME_ENTRY = uintptr
 47422  
 47423  type _CERT_ALT_NAME_INFO = struct {
 47424  	FcAltEntry   DWORD
 47425  	F__ccgo_pad1 [4]byte
 47426  	FrgAltEntry  PCERT_ALT_NAME_ENTRY
 47427  }
 47428  
 47429  type CERT_ALT_NAME_INFO = _CERT_ALT_NAME_INFO
 47430  type PCERT_ALT_NAME_INFO = uintptr
 47431  
 47432  type _CERT_BASIC_CONSTRAINTS_INFO = struct {
 47433  	FSubjectType          CRYPT_BIT_BLOB
 47434  	FfPathLenConstraint   WINBOOL
 47435  	FdwPathLenConstraint  DWORD
 47436  	FcSubtreesConstraint  DWORD
 47437  	F__ccgo_pad1          [4]byte
 47438  	FrgSubtreesConstraint uintptr
 47439  }
 47440  
 47441  type CERT_BASIC_CONSTRAINTS_INFO = _CERT_BASIC_CONSTRAINTS_INFO
 47442  type PCERT_BASIC_CONSTRAINTS_INFO = uintptr
 47443  
 47444  type _CERT_BASIC_CONSTRAINTS2_INFO = struct {
 47445  	FfCA                 WINBOOL
 47446  	FfPathLenConstraint  WINBOOL
 47447  	FdwPathLenConstraint DWORD
 47448  }
 47449  
 47450  type CERT_BASIC_CONSTRAINTS2_INFO = _CERT_BASIC_CONSTRAINTS2_INFO
 47451  type PCERT_BASIC_CONSTRAINTS2_INFO = uintptr
 47452  
 47453  type _CERT_POLICY_QUALIFIER_INFO = struct {
 47454  	FpszPolicyQualifierId LPSTR
 47455  	FQualifier            CRYPT_OBJID_BLOB
 47456  }
 47457  
 47458  type CERT_POLICY_QUALIFIER_INFO = _CERT_POLICY_QUALIFIER_INFO
 47459  type PCERT_POLICY_QUALIFIER_INFO = uintptr
 47460  
 47461  type _CERT_POLICY_INFO = struct {
 47462  	FpszPolicyIdentifier LPSTR
 47463  	FcPolicyQualifier    DWORD
 47464  	F__ccgo_pad1         [4]byte
 47465  	FrgPolicyQualifier   uintptr
 47466  }
 47467  
 47468  type CERT_POLICY_INFO = _CERT_POLICY_INFO
 47469  type PCERT_POLICY_INFO = uintptr
 47470  
 47471  type _CERT_POLICIES_INFO = struct {
 47472  	FcPolicyInfo  DWORD
 47473  	F__ccgo_pad1  [4]byte
 47474  	FrgPolicyInfo uintptr
 47475  }
 47476  
 47477  type CERT_POLICIES_INFO = _CERT_POLICIES_INFO
 47478  type PCERT_POLICIES_INFO = uintptr
 47479  
 47480  type _CERT_POLICY_QUALIFIER_NOTICE_REFERENCE = struct {
 47481  	FpszOrganization LPSTR
 47482  	FcNoticeNumbers  DWORD
 47483  	F__ccgo_pad1     [4]byte
 47484  	FrgNoticeNumbers uintptr
 47485  }
 47486  
 47487  type CERT_POLICY_QUALIFIER_NOTICE_REFERENCE = _CERT_POLICY_QUALIFIER_NOTICE_REFERENCE
 47488  type PCERT_POLICY_QUALIFIER_NOTICE_REFERENCE = uintptr
 47489  
 47490  type _CERT_POLICY_QUALIFIER_USER_NOTICE = struct {
 47491  	FpNoticeReference uintptr
 47492  	FpszDisplayText   LPWSTR
 47493  }
 47494  
 47495  type CERT_POLICY_QUALIFIER_USER_NOTICE = _CERT_POLICY_QUALIFIER_USER_NOTICE
 47496  type PCERT_POLICY_QUALIFIER_USER_NOTICE = uintptr
 47497  
 47498  type _CPS_URLS = struct {
 47499  	FpszURL     LPWSTR
 47500  	FpAlgorithm uintptr
 47501  	FpDigest    uintptr
 47502  }
 47503  
 47504  type CPS_URLS = _CPS_URLS
 47505  type PCPS_URLS = uintptr
 47506  
 47507  type _CERT_POLICY95_QUALIFIER1 = struct {
 47508  	FpszPracticesReference  LPWSTR
 47509  	FpszNoticeIdentifier    LPSTR
 47510  	FpszNSINoticeIdentifier LPSTR
 47511  	FcCPSURLs               DWORD
 47512  	F__ccgo_pad1            [4]byte
 47513  	FrgCPSURLs              uintptr
 47514  }
 47515  
 47516  type CERT_POLICY95_QUALIFIER1 = _CERT_POLICY95_QUALIFIER1
 47517  type PCERT_POLICY95_QUALIFIER1 = uintptr
 47518  
 47519  type _CERT_POLICY_MAPPING = struct {
 47520  	FpszIssuerDomainPolicy  LPSTR
 47521  	FpszSubjectDomainPolicy LPSTR
 47522  }
 47523  
 47524  type CERT_POLICY_MAPPING = _CERT_POLICY_MAPPING
 47525  type PCERT_POLICY_MAPPING = uintptr
 47526  
 47527  type _CERT_POLICY_MAPPINGS_INFO = struct {
 47528  	FcPolicyMapping  DWORD
 47529  	F__ccgo_pad1     [4]byte
 47530  	FrgPolicyMapping PCERT_POLICY_MAPPING
 47531  }
 47532  
 47533  type CERT_POLICY_MAPPINGS_INFO = _CERT_POLICY_MAPPINGS_INFO
 47534  type PCERT_POLICY_MAPPINGS_INFO = uintptr
 47535  
 47536  type _CERT_POLICY_CONSTRAINTS_INFO = struct {
 47537  	FfRequireExplicitPolicy           WINBOOL
 47538  	FdwRequireExplicitPolicySkipCerts DWORD
 47539  	FfInhibitPolicyMapping            WINBOOL
 47540  	FdwInhibitPolicyMappingSkipCerts  DWORD
 47541  }
 47542  
 47543  type CERT_POLICY_CONSTRAINTS_INFO = _CERT_POLICY_CONSTRAINTS_INFO
 47544  type PCERT_POLICY_CONSTRAINTS_INFO = uintptr
 47545  
 47546  type _CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY = struct {
 47547  	FpszObjId    LPSTR
 47548  	FcValue      DWORD
 47549  	F__ccgo_pad1 [4]byte
 47550  	FrgValue     PCRYPT_DER_BLOB
 47551  }
 47552  
 47553  type CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY = _CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY
 47554  type PCRYPT_CONTENT_INFO_SEQUENCE_OF_ANY = uintptr
 47555  
 47556  type _CRYPT_CONTENT_INFO = struct {
 47557  	FpszObjId LPSTR
 47558  	FContent  CRYPT_DER_BLOB
 47559  }
 47560  
 47561  type CRYPT_CONTENT_INFO = _CRYPT_CONTENT_INFO
 47562  type PCRYPT_CONTENT_INFO = uintptr
 47563  
 47564  type _CRYPT_SEQUENCE_OF_ANY = struct {
 47565  	FcValue      DWORD
 47566  	F__ccgo_pad1 [4]byte
 47567  	FrgValue     PCRYPT_DER_BLOB
 47568  }
 47569  
 47570  type CRYPT_SEQUENCE_OF_ANY = _CRYPT_SEQUENCE_OF_ANY
 47571  type PCRYPT_SEQUENCE_OF_ANY = uintptr
 47572  
 47573  type _CERT_AUTHORITY_KEY_ID2_INFO = struct {
 47574  	FKeyId                     CRYPT_DATA_BLOB
 47575  	FAuthorityCertIssuer       CERT_ALT_NAME_INFO
 47576  	FAuthorityCertSerialNumber CRYPT_INTEGER_BLOB
 47577  }
 47578  
 47579  type CERT_AUTHORITY_KEY_ID2_INFO = _CERT_AUTHORITY_KEY_ID2_INFO
 47580  type PCERT_AUTHORITY_KEY_ID2_INFO = uintptr
 47581  
 47582  type _CERT_ACCESS_DESCRIPTION = struct {
 47583  	FpszAccessMethod LPSTR
 47584  	FAccessLocation  CERT_ALT_NAME_ENTRY
 47585  }
 47586  
 47587  type CERT_ACCESS_DESCRIPTION = _CERT_ACCESS_DESCRIPTION
 47588  type PCERT_ACCESS_DESCRIPTION = uintptr
 47589  
 47590  type _CERT_AUTHORITY_INFO_ACCESS = struct {
 47591  	FcAccDescr   DWORD
 47592  	F__ccgo_pad1 [4]byte
 47593  	FrgAccDescr  PCERT_ACCESS_DESCRIPTION
 47594  }
 47595  
 47596  type CERT_AUTHORITY_INFO_ACCESS = _CERT_AUTHORITY_INFO_ACCESS
 47597  type PCERT_AUTHORITY_INFO_ACCESS = uintptr
 47598  
 47599  type CERT_SUBJECT_INFO_ACCESS = CERT_AUTHORITY_INFO_ACCESS
 47600  type PCERT_SUBJECT_INFO_ACCESS = uintptr
 47601  
 47602  type _CRL_DIST_POINT_NAME = struct {
 47603  	FdwDistPointNameChoice DWORD
 47604  	F__ccgo_pad1           [4]byte
 47605  	F__8                   struct{ FFullName CERT_ALT_NAME_INFO }
 47606  }
 47607  
 47608  type CRL_DIST_POINT_NAME = _CRL_DIST_POINT_NAME
 47609  type PCRL_DIST_POINT_NAME = uintptr
 47610  
 47611  type _CRL_DIST_POINT = struct {
 47612  	FDistPointName CRL_DIST_POINT_NAME
 47613  	FReasonFlags   CRYPT_BIT_BLOB
 47614  	FCRLIssuer     CERT_ALT_NAME_INFO
 47615  }
 47616  
 47617  type CRL_DIST_POINT = _CRL_DIST_POINT
 47618  type PCRL_DIST_POINT = uintptr
 47619  
 47620  type _CRL_DIST_POINTS_INFO = struct {
 47621  	FcDistPoint  DWORD
 47622  	F__ccgo_pad1 [4]byte
 47623  	FrgDistPoint PCRL_DIST_POINT
 47624  }
 47625  
 47626  type CRL_DIST_POINTS_INFO = _CRL_DIST_POINTS_INFO
 47627  type PCRL_DIST_POINTS_INFO = uintptr
 47628  
 47629  type _CROSS_CERT_DIST_POINTS_INFO = struct {
 47630  	FdwSyncDeltaTime DWORD
 47631  	FcDistPoint      DWORD
 47632  	FrgDistPoint     PCERT_ALT_NAME_INFO
 47633  }
 47634  
 47635  type CROSS_CERT_DIST_POINTS_INFO = _CROSS_CERT_DIST_POINTS_INFO
 47636  type PCROSS_CERT_DIST_POINTS_INFO = uintptr
 47637  
 47638  type _CERT_PAIR = struct {
 47639  	FForward CERT_BLOB
 47640  	FReverse CERT_BLOB
 47641  }
 47642  
 47643  type CERT_PAIR = _CERT_PAIR
 47644  type PCERT_PAIR = uintptr
 47645  
 47646  type _CRL_ISSUING_DIST_POINT = struct {
 47647  	FDistPointName          CRL_DIST_POINT_NAME
 47648  	FfOnlyContainsUserCerts WINBOOL
 47649  	FfOnlyContainsCACerts   WINBOOL
 47650  	FOnlySomeReasonFlags    CRYPT_BIT_BLOB
 47651  	FfIndirectCRL           WINBOOL
 47652  	F__ccgo_pad1            [4]byte
 47653  }
 47654  
 47655  type CRL_ISSUING_DIST_POINT = _CRL_ISSUING_DIST_POINT
 47656  type PCRL_ISSUING_DIST_POINT = uintptr
 47657  
 47658  type _CERT_GENERAL_SUBTREE = struct {
 47659  	FBase        CERT_ALT_NAME_ENTRY
 47660  	FdwMinimum   DWORD
 47661  	FfMaximum    WINBOOL
 47662  	FdwMaximum   DWORD
 47663  	F__ccgo_pad1 [4]byte
 47664  }
 47665  
 47666  type CERT_GENERAL_SUBTREE = _CERT_GENERAL_SUBTREE
 47667  type PCERT_GENERAL_SUBTREE = uintptr
 47668  
 47669  type _CERT_NAME_CONSTRAINTS_INFO = struct {
 47670  	FcPermittedSubtree  DWORD
 47671  	F__ccgo_pad1        [4]byte
 47672  	FrgPermittedSubtree PCERT_GENERAL_SUBTREE
 47673  	FcExcludedSubtree   DWORD
 47674  	F__ccgo_pad2        [4]byte
 47675  	FrgExcludedSubtree  PCERT_GENERAL_SUBTREE
 47676  }
 47677  
 47678  type CERT_NAME_CONSTRAINTS_INFO = _CERT_NAME_CONSTRAINTS_INFO
 47679  type PCERT_NAME_CONSTRAINTS_INFO = uintptr
 47680  
 47681  type _CERT_DSS_PARAMETERS = struct {
 47682  	Fp CRYPT_UINT_BLOB
 47683  	Fq CRYPT_UINT_BLOB
 47684  	Fg CRYPT_UINT_BLOB
 47685  }
 47686  
 47687  type CERT_DSS_PARAMETERS = _CERT_DSS_PARAMETERS
 47688  type PCERT_DSS_PARAMETERS = uintptr
 47689  
 47690  type _CERT_DH_PARAMETERS = struct {
 47691  	Fp CRYPT_UINT_BLOB
 47692  	Fg CRYPT_UINT_BLOB
 47693  }
 47694  
 47695  type CERT_DH_PARAMETERS = _CERT_DH_PARAMETERS
 47696  type PCERT_DH_PARAMETERS = uintptr
 47697  
 47698  type _CERT_ECC_SIGNATURE = struct {
 47699  	Fr CRYPT_UINT_BLOB
 47700  	Fs CRYPT_UINT_BLOB
 47701  }
 47702  
 47703  type CERT_ECC_SIGNATURE = _CERT_ECC_SIGNATURE
 47704  type PCERT_ECC_SIGNATURE = uintptr
 47705  
 47706  type _CERT_X942_DH_VALIDATION_PARAMS = struct {
 47707  	Fseed        CRYPT_BIT_BLOB
 47708  	FpgenCounter DWORD
 47709  	F__ccgo_pad1 [4]byte
 47710  }
 47711  
 47712  type CERT_X942_DH_VALIDATION_PARAMS = _CERT_X942_DH_VALIDATION_PARAMS
 47713  type PCERT_X942_DH_VALIDATION_PARAMS = uintptr
 47714  
 47715  type _CERT_X942_DH_PARAMETERS = struct {
 47716  	Fp                 CRYPT_UINT_BLOB
 47717  	Fg                 CRYPT_UINT_BLOB
 47718  	Fq                 CRYPT_UINT_BLOB
 47719  	Fj                 CRYPT_UINT_BLOB
 47720  	FpValidationParams PCERT_X942_DH_VALIDATION_PARAMS
 47721  }
 47722  
 47723  type CERT_X942_DH_PARAMETERS = _CERT_X942_DH_PARAMETERS
 47724  type PCERT_X942_DH_PARAMETERS = uintptr
 47725  
 47726  type _CRYPT_X942_OTHER_INFO = struct {
 47727  	FpszContentEncryptionObjId LPSTR
 47728  	FrgbCounter                [4]BYTE
 47729  	FrgbKeyLength              [4]BYTE
 47730  	FPubInfo                   CRYPT_DATA_BLOB
 47731  }
 47732  
 47733  type CRYPT_X942_OTHER_INFO = _CRYPT_X942_OTHER_INFO
 47734  type PCRYPT_X942_OTHER_INFO = uintptr
 47735  
 47736  type _CRYPT_ECC_CMS_SHARED_INFO = struct {
 47737  	FAlgorithm      CRYPT_ALGORITHM_IDENTIFIER
 47738  	FEntityUInfo    CRYPT_DATA_BLOB
 47739  	FrgbSuppPubInfo [4]BYTE
 47740  	F__ccgo_pad1    [4]byte
 47741  }
 47742  
 47743  type CRYPT_ECC_CMS_SHARED_INFO = _CRYPT_ECC_CMS_SHARED_INFO
 47744  type PCRYPT_ECC_CMS_SHARED_INFO = uintptr
 47745  
 47746  type _CRYPT_RC2_CBC_PARAMETERS = struct {
 47747  	FdwVersion DWORD
 47748  	FfIV       WINBOOL
 47749  	FrgbIV     [8]BYTE
 47750  }
 47751  
 47752  type CRYPT_RC2_CBC_PARAMETERS = _CRYPT_RC2_CBC_PARAMETERS
 47753  type PCRYPT_RC2_CBC_PARAMETERS = uintptr
 47754  
 47755  type _CRYPT_SMIME_CAPABILITY = struct {
 47756  	FpszObjId   LPSTR
 47757  	FParameters CRYPT_OBJID_BLOB
 47758  }
 47759  
 47760  type CRYPT_SMIME_CAPABILITY = _CRYPT_SMIME_CAPABILITY
 47761  type PCRYPT_SMIME_CAPABILITY = uintptr
 47762  
 47763  type _CRYPT_SMIME_CAPABILITIES = struct {
 47764  	FcCapability  DWORD
 47765  	F__ccgo_pad1  [4]byte
 47766  	FrgCapability PCRYPT_SMIME_CAPABILITY
 47767  }
 47768  
 47769  type CRYPT_SMIME_CAPABILITIES = _CRYPT_SMIME_CAPABILITIES
 47770  type PCRYPT_SMIME_CAPABILITIES = uintptr
 47771  
 47772  type _CERT_QC_STATEMENT = struct {
 47773  	FpszStatementId LPSTR
 47774  	FStatementInfo  CRYPT_OBJID_BLOB
 47775  }
 47776  
 47777  type CERT_QC_STATEMENT = _CERT_QC_STATEMENT
 47778  type PCERT_QC_STATEMENT = uintptr
 47779  
 47780  type _CERT_QC_STATEMENTS_EXT_INFO = struct {
 47781  	FcStatement  DWORD
 47782  	F__ccgo_pad1 [4]byte
 47783  	FrgStatement PCERT_QC_STATEMENT
 47784  }
 47785  
 47786  type CERT_QC_STATEMENTS_EXT_INFO = _CERT_QC_STATEMENTS_EXT_INFO
 47787  type PCERT_QC_STATEMENTS_EXT_INFO = uintptr
 47788  
 47789  type _CRYPT_MASK_GEN_ALGORITHM = struct {
 47790  	FpszObjId      LPSTR
 47791  	FHashAlgorithm CRYPT_ALGORITHM_IDENTIFIER
 47792  }
 47793  
 47794  type CRYPT_MASK_GEN_ALGORITHM = _CRYPT_MASK_GEN_ALGORITHM
 47795  type PCRYPT_MASK_GEN_ALGORITHM = uintptr
 47796  
 47797  type _CRYPT_RSA_SSA_PSS_PARAMETERS = struct {
 47798  	FHashAlgorithm    CRYPT_ALGORITHM_IDENTIFIER
 47799  	FMaskGenAlgorithm CRYPT_MASK_GEN_ALGORITHM
 47800  	FdwSaltLength     DWORD
 47801  	FdwTrailerField   DWORD
 47802  }
 47803  
 47804  type CRYPT_RSA_SSA_PSS_PARAMETERS = _CRYPT_RSA_SSA_PSS_PARAMETERS
 47805  type PCRYPT_RSA_SSA_PSS_PARAMETERS = uintptr
 47806  
 47807  type _CRYPT_PSOURCE_ALGORITHM = struct {
 47808  	FpszObjId           LPSTR
 47809  	FEncodingParameters CRYPT_DATA_BLOB
 47810  }
 47811  
 47812  type CRYPT_PSOURCE_ALGORITHM = _CRYPT_PSOURCE_ALGORITHM
 47813  type PCRYPT_PSOURCE_ALGORITHM = uintptr
 47814  
 47815  type _CRYPT_RSAES_OAEP_PARAMETERS = struct {
 47816  	FHashAlgorithm    CRYPT_ALGORITHM_IDENTIFIER
 47817  	FMaskGenAlgorithm CRYPT_MASK_GEN_ALGORITHM
 47818  	FPSourceAlgorithm CRYPT_PSOURCE_ALGORITHM
 47819  }
 47820  
 47821  type CRYPT_RSAES_OAEP_PARAMETERS = _CRYPT_RSAES_OAEP_PARAMETERS
 47822  type PCRYPT_RSAES_OAEP_PARAMETERS = uintptr
 47823  
 47824  type _CMC_TAGGED_ATTRIBUTE = struct {
 47825  	FdwBodyPartID DWORD
 47826  	F__ccgo_pad1  [4]byte
 47827  	FAttribute    CRYPT_ATTRIBUTE
 47828  }
 47829  
 47830  type CMC_TAGGED_ATTRIBUTE = _CMC_TAGGED_ATTRIBUTE
 47831  type PCMC_TAGGED_ATTRIBUTE = uintptr
 47832  
 47833  type _CMC_TAGGED_CERT_REQUEST = struct {
 47834  	FdwBodyPartID      DWORD
 47835  	F__ccgo_pad1       [4]byte
 47836  	FSignedCertRequest CRYPT_DER_BLOB
 47837  }
 47838  
 47839  type CMC_TAGGED_CERT_REQUEST = _CMC_TAGGED_CERT_REQUEST
 47840  type PCMC_TAGGED_CERT_REQUEST = uintptr
 47841  
 47842  type _CMC_TAGGED_REQUEST = struct {
 47843  	FdwTaggedRequestChoice DWORD
 47844  	F__ccgo_pad1           [4]byte
 47845  	F__8                   struct{ FpTaggedCertRequest PCMC_TAGGED_CERT_REQUEST }
 47846  }
 47847  
 47848  type CMC_TAGGED_REQUEST = _CMC_TAGGED_REQUEST
 47849  type PCMC_TAGGED_REQUEST = uintptr
 47850  
 47851  type _CMC_TAGGED_CONTENT_INFO = struct {
 47852  	FdwBodyPartID       DWORD
 47853  	F__ccgo_pad1        [4]byte
 47854  	FEncodedContentInfo CRYPT_DER_BLOB
 47855  }
 47856  
 47857  type CMC_TAGGED_CONTENT_INFO = _CMC_TAGGED_CONTENT_INFO
 47858  type PCMC_TAGGED_CONTENT_INFO = uintptr
 47859  
 47860  type _CMC_TAGGED_OTHER_MSG = struct {
 47861  	FdwBodyPartID DWORD
 47862  	F__ccgo_pad1  [4]byte
 47863  	FpszObjId     LPSTR
 47864  	FValue        CRYPT_OBJID_BLOB
 47865  }
 47866  
 47867  type CMC_TAGGED_OTHER_MSG = _CMC_TAGGED_OTHER_MSG
 47868  type PCMC_TAGGED_OTHER_MSG = uintptr
 47869  
 47870  type _CMC_DATA_INFO = struct {
 47871  	FcTaggedAttribute    DWORD
 47872  	F__ccgo_pad1         [4]byte
 47873  	FrgTaggedAttribute   PCMC_TAGGED_ATTRIBUTE
 47874  	FcTaggedRequest      DWORD
 47875  	F__ccgo_pad2         [4]byte
 47876  	FrgTaggedRequest     PCMC_TAGGED_REQUEST
 47877  	FcTaggedContentInfo  DWORD
 47878  	F__ccgo_pad3         [4]byte
 47879  	FrgTaggedContentInfo PCMC_TAGGED_CONTENT_INFO
 47880  	FcTaggedOtherMsg     DWORD
 47881  	F__ccgo_pad4         [4]byte
 47882  	FrgTaggedOtherMsg    PCMC_TAGGED_OTHER_MSG
 47883  }
 47884  
 47885  type CMC_DATA_INFO = _CMC_DATA_INFO
 47886  type PCMC_DATA_INFO = uintptr
 47887  
 47888  type _CMC_RESPONSE_INFO = struct {
 47889  	FcTaggedAttribute    DWORD
 47890  	F__ccgo_pad1         [4]byte
 47891  	FrgTaggedAttribute   PCMC_TAGGED_ATTRIBUTE
 47892  	FcTaggedContentInfo  DWORD
 47893  	F__ccgo_pad2         [4]byte
 47894  	FrgTaggedContentInfo PCMC_TAGGED_CONTENT_INFO
 47895  	FcTaggedOtherMsg     DWORD
 47896  	F__ccgo_pad3         [4]byte
 47897  	FrgTaggedOtherMsg    PCMC_TAGGED_OTHER_MSG
 47898  }
 47899  
 47900  type CMC_RESPONSE_INFO = _CMC_RESPONSE_INFO
 47901  type PCMC_RESPONSE_INFO = uintptr
 47902  
 47903  type _CMC_PEND_INFO = struct {
 47904  	FPendToken CRYPT_DATA_BLOB
 47905  	FPendTime  FILETIME
 47906  }
 47907  
 47908  type CMC_PEND_INFO = _CMC_PEND_INFO
 47909  type PCMC_PEND_INFO = uintptr
 47910  
 47911  type _CMC_STATUS_INFO = struct {
 47912  	FdwStatus          DWORD
 47913  	FcBodyList         DWORD
 47914  	FrgdwBodyList      uintptr
 47915  	FpwszStatusString  LPWSTR
 47916  	FdwOtherInfoChoice DWORD
 47917  	F__ccgo_pad1       [4]byte
 47918  	F__32              struct {
 47919  		F__ccgo_pad1 [0]uint64
 47920  		FdwFailInfo  DWORD
 47921  		F__ccgo_pad2 [4]byte
 47922  	}
 47923  }
 47924  
 47925  type CMC_STATUS_INFO = _CMC_STATUS_INFO
 47926  type PCMC_STATUS_INFO = uintptr
 47927  
 47928  type _CMC_ADD_EXTENSIONS_INFO = struct {
 47929  	FdwCmcDataReference DWORD
 47930  	FcCertReference     DWORD
 47931  	FrgdwCertReference  uintptr
 47932  	FcExtension         DWORD
 47933  	F__ccgo_pad1        [4]byte
 47934  	FrgExtension        PCERT_EXTENSION
 47935  }
 47936  
 47937  type CMC_ADD_EXTENSIONS_INFO = _CMC_ADD_EXTENSIONS_INFO
 47938  type PCMC_ADD_EXTENSIONS_INFO = uintptr
 47939  
 47940  type _CMC_ADD_ATTRIBUTES_INFO = struct {
 47941  	FdwCmcDataReference DWORD
 47942  	FcCertReference     DWORD
 47943  	FrgdwCertReference  uintptr
 47944  	FcAttribute         DWORD
 47945  	F__ccgo_pad1        [4]byte
 47946  	FrgAttribute        PCRYPT_ATTRIBUTE
 47947  }
 47948  
 47949  type CMC_ADD_ATTRIBUTES_INFO = _CMC_ADD_ATTRIBUTES_INFO
 47950  type PCMC_ADD_ATTRIBUTES_INFO = uintptr
 47951  
 47952  type _CERT_TEMPLATE_EXT = struct {
 47953  	FpszObjId       LPSTR
 47954  	FdwMajorVersion DWORD
 47955  	FfMinorVersion  WINBOOL
 47956  	FdwMinorVersion DWORD
 47957  	F__ccgo_pad1    [4]byte
 47958  }
 47959  
 47960  type CERT_TEMPLATE_EXT = _CERT_TEMPLATE_EXT
 47961  type PCERT_TEMPLATE_EXT = uintptr
 47962  
 47963  type _CERT_HASHED_URL = struct {
 47964  	FHashAlgorithm CRYPT_ALGORITHM_IDENTIFIER
 47965  	FHash          CRYPT_HASH_BLOB
 47966  	FpwszUrl       LPWSTR
 47967  }
 47968  
 47969  type CERT_HASHED_URL = _CERT_HASHED_URL
 47970  type PCERT_HASHED_URL = uintptr
 47971  
 47972  type _CERT_LOGOTYPE_DETAILS = struct {
 47973  	FpwszMimeType LPWSTR
 47974  	FcHashedUrl   DWORD
 47975  	F__ccgo_pad1  [4]byte
 47976  	FrgHashedUrl  PCERT_HASHED_URL
 47977  }
 47978  
 47979  type CERT_LOGOTYPE_DETAILS = _CERT_LOGOTYPE_DETAILS
 47980  type PCERT_LOGOTYPE_DETAILS = uintptr
 47981  
 47982  type _CERT_LOGOTYPE_REFERENCE = struct {
 47983  	FcHashedUrl  DWORD
 47984  	F__ccgo_pad1 [4]byte
 47985  	FrgHashedUrl PCERT_HASHED_URL
 47986  }
 47987  
 47988  type CERT_LOGOTYPE_REFERENCE = _CERT_LOGOTYPE_REFERENCE
 47989  type PCERT_LOGOTYPE_REFERENCE = uintptr
 47990  
 47991  type _CERT_LOGOTYPE_IMAGE_INFO = struct {
 47992  	FdwLogotypeImageInfoChoice       DWORD
 47993  	FdwFileSize                      DWORD
 47994  	FdwXSize                         DWORD
 47995  	FdwYSize                         DWORD
 47996  	FdwLogotypeImageResolutionChoice DWORD
 47997  	F__20                            struct{ FdwNumBits DWORD }
 47998  	FpwszLanguage                    LPWSTR
 47999  }
 48000  
 48001  type CERT_LOGOTYPE_IMAGE_INFO = _CERT_LOGOTYPE_IMAGE_INFO
 48002  type PCERT_LOGOTYPE_IMAGE_INFO = uintptr
 48003  
 48004  type _CERT_LOGOTYPE_IMAGE = struct {
 48005  	FLogotypeDetails    CERT_LOGOTYPE_DETAILS
 48006  	FpLogotypeImageInfo PCERT_LOGOTYPE_IMAGE_INFO
 48007  }
 48008  
 48009  type CERT_LOGOTYPE_IMAGE = _CERT_LOGOTYPE_IMAGE
 48010  type PCERT_LOGOTYPE_IMAGE = uintptr
 48011  
 48012  type _CERT_LOGOTYPE_AUDIO_INFO = struct {
 48013  	FdwFileSize   DWORD
 48014  	FdwPlayTime   DWORD
 48015  	FdwChannels   DWORD
 48016  	FdwSampleRate DWORD
 48017  	FpwszLanguage LPWSTR
 48018  }
 48019  
 48020  type CERT_LOGOTYPE_AUDIO_INFO = _CERT_LOGOTYPE_AUDIO_INFO
 48021  type PCERT_LOGOTYPE_AUDIO_INFO = uintptr
 48022  
 48023  type _CERT_LOGOTYPE_AUDIO = struct {
 48024  	FLogotypeDetails    CERT_LOGOTYPE_DETAILS
 48025  	FpLogotypeAudioInfo PCERT_LOGOTYPE_AUDIO_INFO
 48026  }
 48027  
 48028  type CERT_LOGOTYPE_AUDIO = _CERT_LOGOTYPE_AUDIO
 48029  type PCERT_LOGOTYPE_AUDIO = uintptr
 48030  
 48031  type _CERT_LOGOTYPE_DATA = struct {
 48032  	FcLogotypeImage  DWORD
 48033  	F__ccgo_pad1     [4]byte
 48034  	FrgLogotypeImage PCERT_LOGOTYPE_IMAGE
 48035  	FcLogotypeAudio  DWORD
 48036  	F__ccgo_pad2     [4]byte
 48037  	FrgLogotypeAudio PCERT_LOGOTYPE_AUDIO
 48038  }
 48039  
 48040  type CERT_LOGOTYPE_DATA = _CERT_LOGOTYPE_DATA
 48041  type PCERT_LOGOTYPE_DATA = uintptr
 48042  
 48043  type _CERT_LOGOTYPE_INFO = struct {
 48044  	FdwLogotypeInfoChoice DWORD
 48045  	F__ccgo_pad1          [4]byte
 48046  	F__8                  struct{ FpLogotypeDirectInfo PCERT_LOGOTYPE_DATA }
 48047  }
 48048  
 48049  type CERT_LOGOTYPE_INFO = _CERT_LOGOTYPE_INFO
 48050  type PCERT_LOGOTYPE_INFO = uintptr
 48051  
 48052  type _CERT_OTHER_LOGOTYPE_INFO = struct {
 48053  	FpszObjId     LPSTR
 48054  	FLogotypeInfo CERT_LOGOTYPE_INFO
 48055  }
 48056  
 48057  type CERT_OTHER_LOGOTYPE_INFO = _CERT_OTHER_LOGOTYPE_INFO
 48058  type PCERT_OTHER_LOGOTYPE_INFO = uintptr
 48059  
 48060  type _CERT_LOGOTYPE_EXT_INFO = struct {
 48061  	FcCommunityLogo  DWORD
 48062  	F__ccgo_pad1     [4]byte
 48063  	FrgCommunityLogo PCERT_LOGOTYPE_INFO
 48064  	FpIssuerLogo     PCERT_LOGOTYPE_INFO
 48065  	FpSubjectLogo    PCERT_LOGOTYPE_INFO
 48066  	FcOtherLogo      DWORD
 48067  	F__ccgo_pad2     [4]byte
 48068  	FrgOtherLogo     PCERT_OTHER_LOGOTYPE_INFO
 48069  }
 48070  
 48071  type CERT_LOGOTYPE_EXT_INFO = _CERT_LOGOTYPE_EXT_INFO
 48072  type PCERT_LOGOTYPE_EXT_INFO = uintptr
 48073  
 48074  type _CERT_BIOMETRIC_DATA = struct {
 48075  	FdwTypeOfBiometricDataChoice DWORD
 48076  	F__ccgo_pad1                 [4]byte
 48077  	F__8                         struct {
 48078  		F__ccgo_pad1  [0]uint64
 48079  		FdwPredefined DWORD
 48080  		F__ccgo_pad2  [4]byte
 48081  	}
 48082  	FHashedUrl CERT_HASHED_URL
 48083  }
 48084  
 48085  type CERT_BIOMETRIC_DATA = _CERT_BIOMETRIC_DATA
 48086  type PCERT_BIOMETRIC_DATA = uintptr
 48087  
 48088  type _CERT_BIOMETRIC_EXT_INFO = struct {
 48089  	FcBiometricData  DWORD
 48090  	F__ccgo_pad1     [4]byte
 48091  	FrgBiometricData PCERT_BIOMETRIC_DATA
 48092  }
 48093  
 48094  type CERT_BIOMETRIC_EXT_INFO = _CERT_BIOMETRIC_EXT_INFO
 48095  type PCERT_BIOMETRIC_EXT_INFO = uintptr
 48096  
 48097  type _OCSP_SIGNATURE_INFO = struct {
 48098  	FSignatureAlgorithm CRYPT_ALGORITHM_IDENTIFIER
 48099  	FSignature          CRYPT_BIT_BLOB
 48100  	FcCertEncoded       DWORD
 48101  	F__ccgo_pad1        [4]byte
 48102  	FrgCertEncoded      PCERT_BLOB
 48103  }
 48104  
 48105  type OCSP_SIGNATURE_INFO = _OCSP_SIGNATURE_INFO
 48106  type POCSP_SIGNATURE_INFO = uintptr
 48107  
 48108  type _OCSP_SIGNED_REQUEST_INFO = struct {
 48109  	FToBeSigned             CRYPT_DER_BLOB
 48110  	FpOptionalSignatureInfo POCSP_SIGNATURE_INFO
 48111  }
 48112  
 48113  type OCSP_SIGNED_REQUEST_INFO = _OCSP_SIGNED_REQUEST_INFO
 48114  type POCSP_SIGNED_REQUEST_INFO = uintptr
 48115  
 48116  type _OCSP_CERT_ID = struct {
 48117  	FHashAlgorithm  CRYPT_ALGORITHM_IDENTIFIER
 48118  	FIssuerNameHash CRYPT_HASH_BLOB
 48119  	FIssuerKeyHash  CRYPT_HASH_BLOB
 48120  	FSerialNumber   CRYPT_INTEGER_BLOB
 48121  }
 48122  
 48123  type OCSP_CERT_ID = _OCSP_CERT_ID
 48124  type POCSP_CERT_ID = uintptr
 48125  
 48126  type _OCSP_REQUEST_ENTRY = struct {
 48127  	FCertId      OCSP_CERT_ID
 48128  	FcExtension  DWORD
 48129  	F__ccgo_pad1 [4]byte
 48130  	FrgExtension PCERT_EXTENSION
 48131  }
 48132  
 48133  type OCSP_REQUEST_ENTRY = _OCSP_REQUEST_ENTRY
 48134  type POCSP_REQUEST_ENTRY = uintptr
 48135  
 48136  type _OCSP_REQUEST_INFO = struct {
 48137  	FdwVersion      DWORD
 48138  	F__ccgo_pad1    [4]byte
 48139  	FpRequestorName PCERT_ALT_NAME_ENTRY
 48140  	FcRequestEntry  DWORD
 48141  	F__ccgo_pad2    [4]byte
 48142  	FrgRequestEntry POCSP_REQUEST_ENTRY
 48143  	FcExtension     DWORD
 48144  	F__ccgo_pad3    [4]byte
 48145  	FrgExtension    PCERT_EXTENSION
 48146  }
 48147  
 48148  type OCSP_REQUEST_INFO = _OCSP_REQUEST_INFO
 48149  type POCSP_REQUEST_INFO = uintptr
 48150  
 48151  type _OCSP_RESPONSE_INFO = struct {
 48152  	FdwStatus    DWORD
 48153  	F__ccgo_pad1 [4]byte
 48154  	FpszObjId    LPSTR
 48155  	FValue       CRYPT_OBJID_BLOB
 48156  }
 48157  
 48158  type OCSP_RESPONSE_INFO = _OCSP_RESPONSE_INFO
 48159  type POCSP_RESPONSE_INFO = uintptr
 48160  
 48161  type _OCSP_BASIC_SIGNED_RESPONSE_INFO = struct {
 48162  	FToBeSigned    CRYPT_DER_BLOB
 48163  	FSignatureInfo OCSP_SIGNATURE_INFO
 48164  }
 48165  
 48166  type OCSP_BASIC_SIGNED_RESPONSE_INFO = _OCSP_BASIC_SIGNED_RESPONSE_INFO
 48167  type POCSP_BASIC_SIGNED_RESPONSE_INFO = uintptr
 48168  
 48169  type _OCSP_BASIC_REVOKED_INFO = struct {
 48170  	FRevocationDate  FILETIME
 48171  	FdwCrlReasonCode DWORD
 48172  }
 48173  
 48174  type OCSP_BASIC_REVOKED_INFO = _OCSP_BASIC_REVOKED_INFO
 48175  type POCSP_BASIC_REVOKED_INFO = uintptr
 48176  
 48177  type _OCSP_BASIC_RESPONSE_ENTRY = struct {
 48178  	FCertId       OCSP_CERT_ID
 48179  	FdwCertStatus DWORD
 48180  	F__ccgo_pad1  [4]byte
 48181  	F__80         struct{ FpRevokedInfo POCSP_BASIC_REVOKED_INFO }
 48182  	FThisUpdate   FILETIME
 48183  	FNextUpdate   FILETIME
 48184  	FcExtension   DWORD
 48185  	F__ccgo_pad2  [4]byte
 48186  	FrgExtension  PCERT_EXTENSION
 48187  }
 48188  
 48189  type OCSP_BASIC_RESPONSE_ENTRY = _OCSP_BASIC_RESPONSE_ENTRY
 48190  type POCSP_BASIC_RESPONSE_ENTRY = uintptr
 48191  
 48192  type _OCSP_BASIC_RESPONSE_INFO = struct {
 48193  	FdwVersion           DWORD
 48194  	FdwResponderIdChoice DWORD
 48195  	F__8                 struct{ FByNameResponderId CERT_NAME_BLOB }
 48196  	FProducedAt          FILETIME
 48197  	FcResponseEntry      DWORD
 48198  	F__ccgo_pad1         [4]byte
 48199  	FrgResponseEntry     POCSP_BASIC_RESPONSE_ENTRY
 48200  	FcExtension          DWORD
 48201  	F__ccgo_pad2         [4]byte
 48202  	FrgExtension         PCERT_EXTENSION
 48203  }
 48204  
 48205  type OCSP_BASIC_RESPONSE_INFO = _OCSP_BASIC_RESPONSE_INFO
 48206  type POCSP_BASIC_RESPONSE_INFO = uintptr
 48207  
 48208  type _CERT_SUPPORTED_ALGORITHM_INFO = struct {
 48209  	FAlgorithm            CRYPT_ALGORITHM_IDENTIFIER
 48210  	FIntendedKeyUsage     CRYPT_BIT_BLOB
 48211  	FIntendedCertPolicies CERT_POLICIES_INFO
 48212  }
 48213  
 48214  type CERT_SUPPORTED_ALGORITHM_INFO = _CERT_SUPPORTED_ALGORITHM_INFO
 48215  type PCERT_SUPPORTED_ALGORITHM_INFO = uintptr
 48216  
 48217  type _CERT_TPM_SPECIFICATION_INFO = struct {
 48218  	FpwszFamily LPWSTR
 48219  	FdwLevel    DWORD
 48220  	FdwRevision DWORD
 48221  }
 48222  
 48223  type CERT_TPM_SPECIFICATION_INFO = _CERT_TPM_SPECIFICATION_INFO
 48224  type PCERT_TPM_SPECIFICATION_INFO = uintptr
 48225  
 48226  type HCRYPTOIDFUNCSET = uintptr
 48227  type HCRYPTOIDFUNCADDR = uintptr
 48228  
 48229  type _CRYPT_OID_FUNC_ENTRY = struct {
 48230  	FpszOID     LPCSTR
 48231  	FpvFuncAddr uintptr
 48232  }
 48233  
 48234  type CRYPT_OID_FUNC_ENTRY = _CRYPT_OID_FUNC_ENTRY
 48235  type PCRYPT_OID_FUNC_ENTRY = uintptr
 48236  
 48237  type PFN_CRYPT_ENUM_OID_FUNC = uintptr
 48238  
 48239  type _CRYPT_OID_INFO = struct {
 48240  	FcbSize      DWORD
 48241  	F__ccgo_pad1 [4]byte
 48242  	FpszOID      LPCSTR
 48243  	FpwszName    LPCWSTR
 48244  	FdwGroupId   DWORD
 48245  	F__28        struct{ FdwValue DWORD }
 48246  	FExtraInfo   CRYPT_DATA_BLOB
 48247  }
 48248  
 48249  type CRYPT_OID_INFO = _CRYPT_OID_INFO
 48250  type PCRYPT_OID_INFO = uintptr
 48251  
 48252  type CCRYPT_OID_INFO = CRYPT_OID_INFO
 48253  type PCCRYPT_OID_INFO = uintptr
 48254  
 48255  type PFN_CRYPT_ENUM_OID_INFO = uintptr
 48256  
 48257  type _CERT_STRONG_SIGN_SERIALIZED_INFO = struct {
 48258  	FdwFlags                    DWORD
 48259  	F__ccgo_pad1                [4]byte
 48260  	FpwszCNGSignHashAlgids      LPWSTR
 48261  	FpwszCNGPubKeyMinBitLengths LPWSTR
 48262  }
 48263  
 48264  type CERT_STRONG_SIGN_SERIALIZED_INFO = _CERT_STRONG_SIGN_SERIALIZED_INFO
 48265  type PCERT_STRONG_SIGN_SERIALIZED_INFO = uintptr
 48266  
 48267  type _CERT_STRONG_SIGN_PARA = struct {
 48268  	FcbSize       DWORD
 48269  	FdwInfoChoice DWORD
 48270  	F__8          struct{ FpvInfo uintptr }
 48271  }
 48272  
 48273  type CERT_STRONG_SIGN_PARA = _CERT_STRONG_SIGN_PARA
 48274  type PCERT_STRONG_SIGN_PARA = uintptr
 48275  
 48276  type PCCERT_STRONG_SIGN_PARA = uintptr
 48277  
 48278  type HCRYPTMSG = uintptr
 48279  
 48280  type _CERT_ISSUER_SERIAL_NUMBER = struct {
 48281  	FIssuer       CERT_NAME_BLOB
 48282  	FSerialNumber CRYPT_INTEGER_BLOB
 48283  }
 48284  
 48285  type CERT_ISSUER_SERIAL_NUMBER = _CERT_ISSUER_SERIAL_NUMBER
 48286  type PCERT_ISSUER_SERIAL_NUMBER = uintptr
 48287  
 48288  type _CERT_ID = struct {
 48289  	FdwIdChoice  DWORD
 48290  	F__ccgo_pad1 [4]byte
 48291  	F__8         struct{ FIssuerSerialNumber CERT_ISSUER_SERIAL_NUMBER }
 48292  }
 48293  
 48294  type CERT_ID = _CERT_ID
 48295  type PCERT_ID = uintptr
 48296  
 48297  type _CMSG_SIGNER_ENCODE_INFO = struct {
 48298  	FcbSize        DWORD
 48299  	F__ccgo_pad1   [4]byte
 48300  	FpCertInfo     PCERT_INFO
 48301  	F__16          struct{ FhCryptProv HCRYPTPROV }
 48302  	FdwKeySpec     DWORD
 48303  	F__ccgo_pad2   [4]byte
 48304  	FHashAlgorithm CRYPT_ALGORITHM_IDENTIFIER
 48305  	FpvHashAuxInfo uintptr
 48306  	FcAuthAttr     DWORD
 48307  	F__ccgo_pad3   [4]byte
 48308  	FrgAuthAttr    PCRYPT_ATTRIBUTE
 48309  	FcUnauthAttr   DWORD
 48310  	F__ccgo_pad4   [4]byte
 48311  	FrgUnauthAttr  PCRYPT_ATTRIBUTE
 48312  }
 48313  
 48314  type CMSG_SIGNER_ENCODE_INFO = _CMSG_SIGNER_ENCODE_INFO
 48315  type PCMSG_SIGNER_ENCODE_INFO = uintptr
 48316  
 48317  type _CMSG_SIGNED_ENCODE_INFO = struct {
 48318  	FcbSize        DWORD
 48319  	FcSigners      DWORD
 48320  	FrgSigners     PCMSG_SIGNER_ENCODE_INFO
 48321  	FcCertEncoded  DWORD
 48322  	F__ccgo_pad1   [4]byte
 48323  	FrgCertEncoded PCERT_BLOB
 48324  	FcCrlEncoded   DWORD
 48325  	F__ccgo_pad2   [4]byte
 48326  	FrgCrlEncoded  PCRL_BLOB
 48327  }
 48328  
 48329  type CMSG_SIGNED_ENCODE_INFO = _CMSG_SIGNED_ENCODE_INFO
 48330  type PCMSG_SIGNED_ENCODE_INFO = uintptr
 48331  
 48332  type _CMSG_RECIPIENT_ENCODE_INFO = struct {
 48333  	FdwRecipientChoice DWORD
 48334  	F__ccgo_pad1       [4]byte
 48335  	F__8               struct {
 48336  		FpKeyTrans PCMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO
 48337  	}
 48338  }
 48339  
 48340  type CMSG_RECIPIENT_ENCODE_INFO = _CMSG_RECIPIENT_ENCODE_INFO
 48341  type PCMSG_RECIPIENT_ENCODE_INFO = uintptr
 48342  
 48343  type _CMSG_ENVELOPED_ENCODE_INFO = struct {
 48344  	FcbSize                     DWORD
 48345  	F__ccgo_pad1                [4]byte
 48346  	FhCryptProv                 HCRYPTPROV_LEGACY
 48347  	FContentEncryptionAlgorithm CRYPT_ALGORITHM_IDENTIFIER
 48348  	FpvEncryptionAuxInfo        uintptr
 48349  	FcRecipients                DWORD
 48350  	F__ccgo_pad2                [4]byte
 48351  	FrgpRecipients              uintptr
 48352  }
 48353  
 48354  type CMSG_ENVELOPED_ENCODE_INFO = _CMSG_ENVELOPED_ENCODE_INFO
 48355  type PCMSG_ENVELOPED_ENCODE_INFO = uintptr
 48356  
 48357  type _CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO = struct {
 48358  	FcbSize                 DWORD
 48359  	F__ccgo_pad1            [4]byte
 48360  	FKeyEncryptionAlgorithm CRYPT_ALGORITHM_IDENTIFIER
 48361  	FpvKeyEncryptionAuxInfo uintptr
 48362  	FhCryptProv             HCRYPTPROV_LEGACY
 48363  	FRecipientPublicKey     CRYPT_BIT_BLOB
 48364  	FRecipientId            CERT_ID
 48365  }
 48366  
 48367  type CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO = _CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO
 48368  type PCMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO = uintptr
 48369  
 48370  type _CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO = struct {
 48371  	FcbSize             DWORD
 48372  	F__ccgo_pad1        [4]byte
 48373  	FRecipientPublicKey CRYPT_BIT_BLOB
 48374  	FRecipientId        CERT_ID
 48375  	FDate               FILETIME
 48376  	FpOtherAttr         PCRYPT_ATTRIBUTE_TYPE_VALUE
 48377  }
 48378  
 48379  type CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO = _CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO
 48380  type PCMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO = uintptr
 48381  
 48382  type _CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO = struct {
 48383  	FcbSize                    DWORD
 48384  	F__ccgo_pad1               [4]byte
 48385  	FKeyEncryptionAlgorithm    CRYPT_ALGORITHM_IDENTIFIER
 48386  	FpvKeyEncryptionAuxInfo    uintptr
 48387  	FKeyWrapAlgorithm          CRYPT_ALGORITHM_IDENTIFIER
 48388  	FpvKeyWrapAuxInfo          uintptr
 48389  	FhCryptProv                HCRYPTPROV_LEGACY
 48390  	FdwKeySpec                 DWORD
 48391  	FdwKeyChoice               DWORD
 48392  	F__88                      struct{ FpEphemeralAlgorithm PCRYPT_ALGORITHM_IDENTIFIER }
 48393  	FUserKeyingMaterial        CRYPT_DATA_BLOB
 48394  	FcRecipientEncryptedKeys   DWORD
 48395  	F__ccgo_pad2               [4]byte
 48396  	FrgpRecipientEncryptedKeys uintptr
 48397  }
 48398  
 48399  type CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO = _CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO
 48400  type PCMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO = uintptr
 48401  
 48402  type _CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO = struct {
 48403  	FcbSize                 DWORD
 48404  	F__ccgo_pad1            [4]byte
 48405  	FKeyEncryptionAlgorithm CRYPT_ALGORITHM_IDENTIFIER
 48406  	FpvKeyEncryptionAuxInfo uintptr
 48407  	FhCryptProv             HCRYPTPROV
 48408  	FdwKeyChoice            DWORD
 48409  	F__ccgo_pad2            [4]byte
 48410  	F__56                   struct{ FhKeyEncryptionKey HCRYPTKEY }
 48411  	FKeyId                  CRYPT_DATA_BLOB
 48412  	FDate                   FILETIME
 48413  	FpOtherAttr             PCRYPT_ATTRIBUTE_TYPE_VALUE
 48414  }
 48415  
 48416  type CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO = _CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO
 48417  type PCMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO = uintptr
 48418  
 48419  type _CMSG_RC2_AUX_INFO = struct {
 48420  	FcbSize   DWORD
 48421  	FdwBitLen DWORD
 48422  }
 48423  
 48424  type CMSG_RC2_AUX_INFO = _CMSG_RC2_AUX_INFO
 48425  type PCMSG_RC2_AUX_INFO = uintptr
 48426  
 48427  type _CMSG_SP3_COMPATIBLE_AUX_INFO = struct {
 48428  	FcbSize  DWORD
 48429  	FdwFlags DWORD
 48430  }
 48431  
 48432  type CMSG_SP3_COMPATIBLE_AUX_INFO = _CMSG_SP3_COMPATIBLE_AUX_INFO
 48433  type PCMSG_SP3_COMPATIBLE_AUX_INFO = uintptr
 48434  
 48435  type _CMSG_RC4_AUX_INFO = struct {
 48436  	FcbSize   DWORD
 48437  	FdwBitLen DWORD
 48438  }
 48439  
 48440  type CMSG_RC4_AUX_INFO = _CMSG_RC4_AUX_INFO
 48441  type PCMSG_RC4_AUX_INFO = uintptr
 48442  
 48443  type _CMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO = struct {
 48444  	FcbSize        DWORD
 48445  	F__ccgo_pad1   [4]byte
 48446  	FSignedInfo    CMSG_SIGNED_ENCODE_INFO
 48447  	FEnvelopedInfo CMSG_ENVELOPED_ENCODE_INFO
 48448  }
 48449  
 48450  type CMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO = _CMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO
 48451  type PCMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO = uintptr
 48452  
 48453  type _CMSG_HASHED_ENCODE_INFO = struct {
 48454  	FcbSize        DWORD
 48455  	F__ccgo_pad1   [4]byte
 48456  	FhCryptProv    HCRYPTPROV_LEGACY
 48457  	FHashAlgorithm CRYPT_ALGORITHM_IDENTIFIER
 48458  	FpvHashAuxInfo uintptr
 48459  }
 48460  
 48461  type CMSG_HASHED_ENCODE_INFO = _CMSG_HASHED_ENCODE_INFO
 48462  type PCMSG_HASHED_ENCODE_INFO = uintptr
 48463  
 48464  type _CMSG_ENCRYPTED_ENCODE_INFO = struct {
 48465  	FcbSize                     DWORD
 48466  	F__ccgo_pad1                [4]byte
 48467  	FContentEncryptionAlgorithm CRYPT_ALGORITHM_IDENTIFIER
 48468  	FpvEncryptionAuxInfo        uintptr
 48469  }
 48470  
 48471  type CMSG_ENCRYPTED_ENCODE_INFO = _CMSG_ENCRYPTED_ENCODE_INFO
 48472  type PCMSG_ENCRYPTED_ENCODE_INFO = uintptr
 48473  
 48474  type PFN_CMSG_STREAM_OUTPUT = uintptr
 48475  
 48476  type _CMSG_STREAM_INFO = struct {
 48477  	FcbContent       DWORD
 48478  	F__ccgo_pad1     [4]byte
 48479  	FpfnStreamOutput PFN_CMSG_STREAM_OUTPUT
 48480  	FpvArg           uintptr
 48481  }
 48482  
 48483  type CMSG_STREAM_INFO = _CMSG_STREAM_INFO
 48484  type PCMSG_STREAM_INFO = uintptr
 48485  
 48486  type _CMSG_SIGNER_INFO = struct {
 48487  	FdwVersion               DWORD
 48488  	F__ccgo_pad1             [4]byte
 48489  	FIssuer                  CERT_NAME_BLOB
 48490  	FSerialNumber            CRYPT_INTEGER_BLOB
 48491  	FHashAlgorithm           CRYPT_ALGORITHM_IDENTIFIER
 48492  	FHashEncryptionAlgorithm CRYPT_ALGORITHM_IDENTIFIER
 48493  	FEncryptedHash           CRYPT_DATA_BLOB
 48494  	FAuthAttrs               CRYPT_ATTRIBUTES
 48495  	FUnauthAttrs             CRYPT_ATTRIBUTES
 48496  }
 48497  
 48498  type CMSG_SIGNER_INFO = _CMSG_SIGNER_INFO
 48499  type PCMSG_SIGNER_INFO = uintptr
 48500  
 48501  type _CMSG_CMS_SIGNER_INFO = struct {
 48502  	FdwVersion               DWORD
 48503  	F__ccgo_pad1             [4]byte
 48504  	FSignerId                CERT_ID
 48505  	FHashAlgorithm           CRYPT_ALGORITHM_IDENTIFIER
 48506  	FHashEncryptionAlgorithm CRYPT_ALGORITHM_IDENTIFIER
 48507  	FEncryptedHash           CRYPT_DATA_BLOB
 48508  	FAuthAttrs               CRYPT_ATTRIBUTES
 48509  	FUnauthAttrs             CRYPT_ATTRIBUTES
 48510  }
 48511  
 48512  type CMSG_CMS_SIGNER_INFO = _CMSG_CMS_SIGNER_INFO
 48513  type PCMSG_CMS_SIGNER_INFO = uintptr
 48514  
 48515  type CMSG_ATTR = CRYPT_ATTRIBUTES
 48516  type PCMSG_ATTR = uintptr
 48517  
 48518  type _CMSG_KEY_TRANS_RECIPIENT_INFO = struct {
 48519  	FdwVersion              DWORD
 48520  	F__ccgo_pad1            [4]byte
 48521  	FRecipientId            CERT_ID
 48522  	FKeyEncryptionAlgorithm CRYPT_ALGORITHM_IDENTIFIER
 48523  	FEncryptedKey           CRYPT_DATA_BLOB
 48524  }
 48525  
 48526  type CMSG_KEY_TRANS_RECIPIENT_INFO = _CMSG_KEY_TRANS_RECIPIENT_INFO
 48527  type PCMSG_KEY_TRANS_RECIPIENT_INFO = uintptr
 48528  
 48529  type _CMSG_RECIPIENT_ENCRYPTED_KEY_INFO = struct {
 48530  	FRecipientId  CERT_ID
 48531  	FEncryptedKey CRYPT_DATA_BLOB
 48532  	FDate         FILETIME
 48533  	FpOtherAttr   PCRYPT_ATTRIBUTE_TYPE_VALUE
 48534  }
 48535  
 48536  type CMSG_RECIPIENT_ENCRYPTED_KEY_INFO = _CMSG_RECIPIENT_ENCRYPTED_KEY_INFO
 48537  type PCMSG_RECIPIENT_ENCRYPTED_KEY_INFO = uintptr
 48538  
 48539  type _CMSG_KEY_AGREE_RECIPIENT_INFO = struct {
 48540  	FdwVersion          DWORD
 48541  	FdwOriginatorChoice DWORD
 48542  	F__8                struct {
 48543  		FOriginatorCertId CERT_ID
 48544  		F__ccgo_pad1      [8]byte
 48545  	}
 48546  	FUserKeyingMaterial        CRYPT_DATA_BLOB
 48547  	FKeyEncryptionAlgorithm    CRYPT_ALGORITHM_IDENTIFIER
 48548  	FcRecipientEncryptedKeys   DWORD
 48549  	F__ccgo_pad1               [4]byte
 48550  	FrgpRecipientEncryptedKeys uintptr
 48551  }
 48552  
 48553  type CMSG_KEY_AGREE_RECIPIENT_INFO = _CMSG_KEY_AGREE_RECIPIENT_INFO
 48554  type PCMSG_KEY_AGREE_RECIPIENT_INFO = uintptr
 48555  
 48556  type _CMSG_MAIL_LIST_RECIPIENT_INFO = struct {
 48557  	FdwVersion              DWORD
 48558  	F__ccgo_pad1            [4]byte
 48559  	FKeyId                  CRYPT_DATA_BLOB
 48560  	FKeyEncryptionAlgorithm CRYPT_ALGORITHM_IDENTIFIER
 48561  	FEncryptedKey           CRYPT_DATA_BLOB
 48562  	FDate                   FILETIME
 48563  	FpOtherAttr             PCRYPT_ATTRIBUTE_TYPE_VALUE
 48564  }
 48565  
 48566  type CMSG_MAIL_LIST_RECIPIENT_INFO = _CMSG_MAIL_LIST_RECIPIENT_INFO
 48567  type PCMSG_MAIL_LIST_RECIPIENT_INFO = uintptr
 48568  
 48569  type _CMSG_CMS_RECIPIENT_INFO = struct {
 48570  	FdwRecipientChoice DWORD
 48571  	F__ccgo_pad1       [4]byte
 48572  	F__8               struct {
 48573  		FpKeyTrans PCMSG_KEY_TRANS_RECIPIENT_INFO
 48574  	}
 48575  }
 48576  
 48577  type CMSG_CMS_RECIPIENT_INFO = _CMSG_CMS_RECIPIENT_INFO
 48578  type PCMSG_CMS_RECIPIENT_INFO = uintptr
 48579  
 48580  type _CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA = struct {
 48581  	FcbSize        DWORD
 48582  	F__ccgo_pad1   [4]byte
 48583  	FhCryptProv    HCRYPTPROV_LEGACY
 48584  	FdwSignerIndex DWORD
 48585  	FdwSignerType  DWORD
 48586  	FpvSigner      uintptr
 48587  }
 48588  
 48589  type CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA = _CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA
 48590  type PCMSG_CTRL_VERIFY_SIGNATURE_EX_PARA = uintptr
 48591  
 48592  type _CMSG_CTRL_DECRYPT_PARA = struct {
 48593  	FcbSize           DWORD
 48594  	F__ccgo_pad1      [4]byte
 48595  	F__8              struct{ FhCryptProv HCRYPTPROV }
 48596  	FdwKeySpec        DWORD
 48597  	FdwRecipientIndex DWORD
 48598  }
 48599  
 48600  type CMSG_CTRL_DECRYPT_PARA = _CMSG_CTRL_DECRYPT_PARA
 48601  type PCMSG_CTRL_DECRYPT_PARA = uintptr
 48602  
 48603  type _CMSG_CTRL_KEY_TRANS_DECRYPT_PARA = struct {
 48604  	FcbSize           DWORD
 48605  	F__ccgo_pad1      [4]byte
 48606  	F__8              struct{ FhCryptProv HCRYPTPROV }
 48607  	FdwKeySpec        DWORD
 48608  	F__ccgo_pad2      [4]byte
 48609  	FpKeyTrans        PCMSG_KEY_TRANS_RECIPIENT_INFO
 48610  	FdwRecipientIndex DWORD
 48611  	F__ccgo_pad3      [4]byte
 48612  }
 48613  
 48614  type CMSG_CTRL_KEY_TRANS_DECRYPT_PARA = _CMSG_CTRL_KEY_TRANS_DECRYPT_PARA
 48615  type PCMSG_CTRL_KEY_TRANS_DECRYPT_PARA = uintptr
 48616  
 48617  type _CMSG_CTRL_KEY_AGREE_DECRYPT_PARA = struct {
 48618  	FcbSize                       DWORD
 48619  	F__ccgo_pad1                  [4]byte
 48620  	F__8                          struct{ FhCryptProv HCRYPTPROV }
 48621  	FdwKeySpec                    DWORD
 48622  	F__ccgo_pad2                  [4]byte
 48623  	FpKeyAgree                    PCMSG_KEY_AGREE_RECIPIENT_INFO
 48624  	FdwRecipientIndex             DWORD
 48625  	FdwRecipientEncryptedKeyIndex DWORD
 48626  	FOriginatorPublicKey          CRYPT_BIT_BLOB
 48627  }
 48628  
 48629  type CMSG_CTRL_KEY_AGREE_DECRYPT_PARA = _CMSG_CTRL_KEY_AGREE_DECRYPT_PARA
 48630  type PCMSG_CTRL_KEY_AGREE_DECRYPT_PARA = uintptr
 48631  
 48632  type _CMSG_CTRL_MAIL_LIST_DECRYPT_PARA = struct {
 48633  	FcbSize           DWORD
 48634  	F__ccgo_pad1      [4]byte
 48635  	FhCryptProv       HCRYPTPROV
 48636  	FpMailList        PCMSG_MAIL_LIST_RECIPIENT_INFO
 48637  	FdwRecipientIndex DWORD
 48638  	FdwKeyChoice      DWORD
 48639  	F__32             struct{ FhKeyEncryptionKey HCRYPTKEY }
 48640  }
 48641  
 48642  type CMSG_CTRL_MAIL_LIST_DECRYPT_PARA = _CMSG_CTRL_MAIL_LIST_DECRYPT_PARA
 48643  type PCMSG_CTRL_MAIL_LIST_DECRYPT_PARA = uintptr
 48644  
 48645  type _CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA = struct {
 48646  	FcbSize        DWORD
 48647  	FdwSignerIndex DWORD
 48648  	Fblob          CRYPT_DATA_BLOB
 48649  }
 48650  
 48651  type CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA = _CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA
 48652  type PCMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA = uintptr
 48653  
 48654  type _CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA = struct {
 48655  	FcbSize            DWORD
 48656  	FdwSignerIndex     DWORD
 48657  	FdwUnauthAttrIndex DWORD
 48658  }
 48659  
 48660  type CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA = _CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA
 48661  type PCMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA = uintptr
 48662  
 48663  type PFN_CMSG_ALLOC = uintptr
 48664  type PFN_CMSG_FREE = uintptr
 48665  
 48666  type PFN_CMSG_GEN_ENCRYPT_KEY = uintptr
 48667  type PFN_CMSG_EXPORT_ENCRYPT_KEY = uintptr
 48668  type PFN_CMSG_IMPORT_ENCRYPT_KEY = uintptr
 48669  
 48670  type _CMSG_CONTENT_ENCRYPT_INFO = struct {
 48671  	FcbSize                       DWORD
 48672  	F__ccgo_pad1                  [4]byte
 48673  	FhCryptProv                   HCRYPTPROV_LEGACY
 48674  	FContentEncryptionAlgorithm   CRYPT_ALGORITHM_IDENTIFIER
 48675  	FpvEncryptionAuxInfo          uintptr
 48676  	FcRecipients                  DWORD
 48677  	F__ccgo_pad2                  [4]byte
 48678  	FrgCmsRecipients              PCMSG_RECIPIENT_ENCODE_INFO
 48679  	FpfnAlloc                     PFN_CMSG_ALLOC
 48680  	FpfnFree                      PFN_CMSG_FREE
 48681  	FdwEncryptFlags               DWORD
 48682  	F__ccgo_pad3                  [4]byte
 48683  	F__88                         struct{ FhContentEncryptKey HCRYPTKEY }
 48684  	FdwFlags                      DWORD
 48685  	FfCNG                         WINBOOL
 48686  	FpbCNGContentEncryptKeyObject uintptr
 48687  	FpbContentEncryptKey          uintptr
 48688  	FcbContentEncryptKey          DWORD
 48689  	F__ccgo_pad4                  [4]byte
 48690  }
 48691  
 48692  type CMSG_CONTENT_ENCRYPT_INFO = _CMSG_CONTENT_ENCRYPT_INFO
 48693  type PCMSG_CONTENT_ENCRYPT_INFO = uintptr
 48694  
 48695  type PFN_CMSG_GEN_CONTENT_ENCRYPT_KEY = uintptr
 48696  
 48697  type _CMSG_KEY_TRANS_ENCRYPT_INFO = struct {
 48698  	FcbSize                 DWORD
 48699  	FdwRecipientIndex       DWORD
 48700  	FKeyEncryptionAlgorithm CRYPT_ALGORITHM_IDENTIFIER
 48701  	FEncryptedKey           CRYPT_DATA_BLOB
 48702  	FdwFlags                DWORD
 48703  	F__ccgo_pad1            [4]byte
 48704  }
 48705  
 48706  type CMSG_KEY_TRANS_ENCRYPT_INFO = _CMSG_KEY_TRANS_ENCRYPT_INFO
 48707  type PCMSG_KEY_TRANS_ENCRYPT_INFO = uintptr
 48708  
 48709  type PFN_CMSG_EXPORT_KEY_TRANS = uintptr
 48710  
 48711  type _CMSG_KEY_AGREE_KEY_ENCRYPT_INFO = struct {
 48712  	FcbSize       DWORD
 48713  	F__ccgo_pad1  [4]byte
 48714  	FEncryptedKey CRYPT_DATA_BLOB
 48715  }
 48716  
 48717  type CMSG_KEY_AGREE_KEY_ENCRYPT_INFO = _CMSG_KEY_AGREE_KEY_ENCRYPT_INFO
 48718  type PCMSG_KEY_AGREE_KEY_ENCRYPT_INFO = uintptr
 48719  
 48720  type _CMSG_KEY_AGREE_ENCRYPT_INFO = struct {
 48721  	FcbSize                 DWORD
 48722  	FdwRecipientIndex       DWORD
 48723  	FKeyEncryptionAlgorithm CRYPT_ALGORITHM_IDENTIFIER
 48724  	FUserKeyingMaterial     CRYPT_DATA_BLOB
 48725  	FdwOriginatorChoice     DWORD
 48726  	F__ccgo_pad1            [4]byte
 48727  	F__56                   struct {
 48728  		FOriginatorCertId CERT_ID
 48729  		F__ccgo_pad1      [8]byte
 48730  	}
 48731  	FcKeyAgreeKeyEncryptInfo   DWORD
 48732  	F__ccgo_pad2               [4]byte
 48733  	FrgpKeyAgreeKeyEncryptInfo uintptr
 48734  	FdwFlags                   DWORD
 48735  	F__ccgo_pad3               [4]byte
 48736  }
 48737  
 48738  type CMSG_KEY_AGREE_ENCRYPT_INFO = _CMSG_KEY_AGREE_ENCRYPT_INFO
 48739  type PCMSG_KEY_AGREE_ENCRYPT_INFO = uintptr
 48740  
 48741  type PFN_CMSG_EXPORT_KEY_AGREE = uintptr
 48742  
 48743  type _CMSG_MAIL_LIST_ENCRYPT_INFO = struct {
 48744  	FcbSize                 DWORD
 48745  	FdwRecipientIndex       DWORD
 48746  	FKeyEncryptionAlgorithm CRYPT_ALGORITHM_IDENTIFIER
 48747  	FEncryptedKey           CRYPT_DATA_BLOB
 48748  	FdwFlags                DWORD
 48749  	F__ccgo_pad1            [4]byte
 48750  }
 48751  
 48752  type CMSG_MAIL_LIST_ENCRYPT_INFO = _CMSG_MAIL_LIST_ENCRYPT_INFO
 48753  type PCMSG_MAIL_LIST_ENCRYPT_INFO = uintptr
 48754  
 48755  type PFN_CMSG_EXPORT_MAIL_LIST = uintptr
 48756  type PFN_CMSG_IMPORT_KEY_TRANS = uintptr
 48757  type PFN_CMSG_IMPORT_KEY_AGREE = uintptr
 48758  type PFN_CMSG_IMPORT_MAIL_LIST = uintptr
 48759  
 48760  type _CMSG_CNG_CONTENT_DECRYPT_INFO = struct {
 48761  	FcbSize                       DWORD
 48762  	F__ccgo_pad1                  [4]byte
 48763  	FContentEncryptionAlgorithm   CRYPT_ALGORITHM_IDENTIFIER
 48764  	FpfnAlloc                     PFN_CMSG_ALLOC
 48765  	FpfnFree                      PFN_CMSG_FREE
 48766  	FhNCryptKey                   NCRYPT_KEY_HANDLE
 48767  	FpbContentEncryptKey          uintptr
 48768  	FcbContentEncryptKey          DWORD
 48769  	F__ccgo_pad2                  [4]byte
 48770  	FhCNGContentEncryptKey        BCRYPT_KEY_HANDLE
 48771  	FpbCNGContentEncryptKeyObject uintptr
 48772  }
 48773  
 48774  type CMSG_CNG_CONTENT_DECRYPT_INFO = _CMSG_CNG_CONTENT_DECRYPT_INFO
 48775  type PCMSG_CNG_CONTENT_DECRYPT_INFO = uintptr
 48776  
 48777  type PFN_CMSG_CNG_IMPORT_KEY_TRANS = uintptr
 48778  type PFN_CMSG_CNG_IMPORT_KEY_AGREE = uintptr
 48779  type PFN_CMSG_CNG_IMPORT_CONTENT_ENCRYPT_KEY = uintptr
 48780  
 48781  type HCERTSTORE = uintptr
 48782  
 48783  type _CERT_CONTEXT = struct {
 48784  	FdwCertEncodingType DWORD
 48785  	F__ccgo_pad1        [4]byte
 48786  	FpbCertEncoded      uintptr
 48787  	FcbCertEncoded      DWORD
 48788  	F__ccgo_pad2        [4]byte
 48789  	FpCertInfo          PCERT_INFO
 48790  	FhCertStore         HCERTSTORE
 48791  }
 48792  
 48793  type CERT_CONTEXT = _CERT_CONTEXT
 48794  type PCERT_CONTEXT = uintptr
 48795  
 48796  type PCCERT_CONTEXT = uintptr
 48797  
 48798  type _CRL_CONTEXT = struct {
 48799  	FdwCertEncodingType DWORD
 48800  	F__ccgo_pad1        [4]byte
 48801  	FpbCrlEncoded       uintptr
 48802  	FcbCrlEncoded       DWORD
 48803  	F__ccgo_pad2        [4]byte
 48804  	FpCrlInfo           PCRL_INFO
 48805  	FhCertStore         HCERTSTORE
 48806  }
 48807  
 48808  type CRL_CONTEXT = _CRL_CONTEXT
 48809  type PCRL_CONTEXT = uintptr
 48810  
 48811  type PCCRL_CONTEXT = uintptr
 48812  
 48813  type _CTL_CONTEXT = struct {
 48814  	FdwMsgAndCertEncodingType DWORD
 48815  	F__ccgo_pad1              [4]byte
 48816  	FpbCtlEncoded             uintptr
 48817  	FcbCtlEncoded             DWORD
 48818  	F__ccgo_pad2              [4]byte
 48819  	FpCtlInfo                 PCTL_INFO
 48820  	FhCertStore               HCERTSTORE
 48821  	FhCryptMsg                HCRYPTMSG
 48822  	FpbCtlContent             uintptr
 48823  	FcbCtlContent             DWORD
 48824  	F__ccgo_pad3              [4]byte
 48825  }
 48826  
 48827  type CTL_CONTEXT = _CTL_CONTEXT
 48828  type PCTL_CONTEXT = uintptr
 48829  
 48830  type PCCTL_CONTEXT = uintptr
 48831  
 48832  type CertKeyType = uint32
 48833  
 48834  type _CRYPT_KEY_PROV_PARAM = struct {
 48835  	FdwParam     DWORD
 48836  	F__ccgo_pad1 [4]byte
 48837  	FpbData      uintptr
 48838  	FcbData      DWORD
 48839  	FdwFlags     DWORD
 48840  }
 48841  
 48842  type CRYPT_KEY_PROV_PARAM = _CRYPT_KEY_PROV_PARAM
 48843  type PCRYPT_KEY_PROV_PARAM = uintptr
 48844  
 48845  type _CRYPT_KEY_PROV_INFO = struct {
 48846  	FpwszContainerName LPWSTR
 48847  	FpwszProvName      LPWSTR
 48848  	FdwProvType        DWORD
 48849  	FdwFlags           DWORD
 48850  	FcProvParam        DWORD
 48851  	F__ccgo_pad1       [4]byte
 48852  	FrgProvParam       PCRYPT_KEY_PROV_PARAM
 48853  	FdwKeySpec         DWORD
 48854  	F__ccgo_pad2       [4]byte
 48855  }
 48856  
 48857  type CRYPT_KEY_PROV_INFO = _CRYPT_KEY_PROV_INFO
 48858  type PCRYPT_KEY_PROV_INFO = uintptr
 48859  
 48860  type _CERT_KEY_CONTEXT = struct {
 48861  	FcbSize      DWORD
 48862  	F__ccgo_pad1 [4]byte
 48863  	F__8         struct{ FhCryptProv HCRYPTPROV }
 48864  	FdwKeySpec   DWORD
 48865  	F__ccgo_pad2 [4]byte
 48866  }
 48867  
 48868  type CERT_KEY_CONTEXT = _CERT_KEY_CONTEXT
 48869  type PCERT_KEY_CONTEXT = uintptr
 48870  
 48871  type _ROOT_INFO_LUID = struct {
 48872  	FLowPart  DWORD
 48873  	FHighPart LONG
 48874  }
 48875  
 48876  type ROOT_INFO_LUID = _ROOT_INFO_LUID
 48877  type PROOT_INFO_LUID = uintptr
 48878  
 48879  type _CRYPT_SMART_CARD_ROOT_INFO = struct {
 48880  	FrgbCardID [16]BYTE
 48881  	Fluid      ROOT_INFO_LUID
 48882  }
 48883  
 48884  type CRYPT_SMART_CARD_ROOT_INFO = _CRYPT_SMART_CARD_ROOT_INFO
 48885  type PCRYPT_SMART_CARD_ROOT_INFO = uintptr
 48886  
 48887  type _CERT_SYSTEM_STORE_RELOCATE_PARA = struct {
 48888  	F__0 struct{ FhKeyBase HKEY }
 48889  	F__8 struct{ FpvSystemStore uintptr }
 48890  }
 48891  
 48892  type CERT_SYSTEM_STORE_RELOCATE_PARA = _CERT_SYSTEM_STORE_RELOCATE_PARA
 48893  type PCERT_SYSTEM_STORE_RELOCATE_PARA = uintptr
 48894  
 48895  type _CERT_REGISTRY_STORE_CLIENT_GPT_PARA = struct {
 48896  	FhKeyBase    HKEY
 48897  	FpwszRegPath LPWSTR
 48898  }
 48899  
 48900  type CERT_REGISTRY_STORE_CLIENT_GPT_PARA = _CERT_REGISTRY_STORE_CLIENT_GPT_PARA
 48901  type PCERT_REGISTRY_STORE_CLIENT_GPT_PARA = uintptr
 48902  
 48903  type _CERT_REGISTRY_STORE_ROAMING_PARA = struct {
 48904  	FhKey               HKEY
 48905  	FpwszStoreDirectory LPWSTR
 48906  }
 48907  
 48908  type CERT_REGISTRY_STORE_ROAMING_PARA = _CERT_REGISTRY_STORE_ROAMING_PARA
 48909  type PCERT_REGISTRY_STORE_ROAMING_PARA = uintptr
 48910  
 48911  type _CERT_LDAP_STORE_OPENED_PARA = struct {
 48912  	FpvLdapSessionHandle uintptr
 48913  	FpwszLdapUrl         LPCWSTR
 48914  }
 48915  
 48916  type CERT_LDAP_STORE_OPENED_PARA = _CERT_LDAP_STORE_OPENED_PARA
 48917  type PCERT_LDAP_STORE_OPENED_PARA = uintptr
 48918  
 48919  type HCERTSTOREPROV = uintptr
 48920  
 48921  type _CERT_STORE_PROV_INFO = struct {
 48922  	FcbSize              DWORD
 48923  	FcStoreProvFunc      DWORD
 48924  	FrgpvStoreProvFunc   uintptr
 48925  	FhStoreProv          HCERTSTOREPROV
 48926  	FdwStoreProvFlags    DWORD
 48927  	F__ccgo_pad1         [4]byte
 48928  	FhStoreProvFuncAddr2 HCRYPTOIDFUNCADDR
 48929  }
 48930  
 48931  type CERT_STORE_PROV_INFO = _CERT_STORE_PROV_INFO
 48932  type PCERT_STORE_PROV_INFO = uintptr
 48933  
 48934  type PFN_CERT_DLL_OPEN_STORE_PROV_FUNC = uintptr
 48935  
 48936  type PFN_CERT_STORE_PROV_CLOSE = uintptr
 48937  type PFN_CERT_STORE_PROV_READ_CERT = uintptr
 48938  type PFN_CERT_STORE_PROV_WRITE_CERT = uintptr
 48939  type PFN_CERT_STORE_PROV_DELETE_CERT = uintptr
 48940  type PFN_CERT_STORE_PROV_SET_CERT_PROPERTY = uintptr
 48941  type PFN_CERT_STORE_PROV_READ_CRL = uintptr
 48942  type PFN_CERT_STORE_PROV_WRITE_CRL = uintptr
 48943  type PFN_CERT_STORE_PROV_DELETE_CRL = uintptr
 48944  type PFN_CERT_STORE_PROV_SET_CRL_PROPERTY = uintptr
 48945  type PFN_CERT_STORE_PROV_READ_CTL = uintptr
 48946  type PFN_CERT_STORE_PROV_WRITE_CTL = uintptr
 48947  type PFN_CERT_STORE_PROV_DELETE_CTL = uintptr
 48948  type PFN_CERT_STORE_PROV_SET_CTL_PROPERTY = uintptr
 48949  type PFN_CERT_STORE_PROV_CONTROL = uintptr
 48950  
 48951  type _CERT_STORE_PROV_FIND_INFO = struct {
 48952  	FcbSize                   DWORD
 48953  	FdwMsgAndCertEncodingType DWORD
 48954  	FdwFindFlags              DWORD
 48955  	FdwFindType               DWORD
 48956  	FpvFindPara               uintptr
 48957  }
 48958  
 48959  type CERT_STORE_PROV_FIND_INFO = _CERT_STORE_PROV_FIND_INFO
 48960  type PCERT_STORE_PROV_FIND_INFO = uintptr
 48961  
 48962  type CCERT_STORE_PROV_FIND_INFO = CERT_STORE_PROV_FIND_INFO
 48963  type PCCERT_STORE_PROV_FIND_INFO = uintptr
 48964  
 48965  type PFN_CERT_STORE_PROV_FIND_CERT = uintptr
 48966  type PFN_CERT_STORE_PROV_FREE_FIND_CERT = uintptr
 48967  type PFN_CERT_STORE_PROV_GET_CERT_PROPERTY = uintptr
 48968  type PFN_CERT_STORE_PROV_FIND_CRL = uintptr
 48969  type PFN_CERT_STORE_PROV_FREE_FIND_CRL = uintptr
 48970  type PFN_CERT_STORE_PROV_GET_CRL_PROPERTY = uintptr
 48971  type PFN_CERT_STORE_PROV_FIND_CTL = uintptr
 48972  type PFN_CERT_STORE_PROV_FREE_FIND_CTL = uintptr
 48973  type PFN_CERT_STORE_PROV_GET_CTL_PROPERTY = uintptr
 48974  
 48975  type _CRL_FIND_ISSUED_FOR_PARA = struct {
 48976  	FpSubjectCert PCCERT_CONTEXT
 48977  	FpIssuerCert  PCCERT_CONTEXT
 48978  }
 48979  
 48980  type CRL_FIND_ISSUED_FOR_PARA = _CRL_FIND_ISSUED_FOR_PARA
 48981  type PCRL_FIND_ISSUED_FOR_PARA = uintptr
 48982  
 48983  type _CTL_ANY_SUBJECT_INFO = struct {
 48984  	FSubjectAlgorithm  CRYPT_ALGORITHM_IDENTIFIER
 48985  	FSubjectIdentifier CRYPT_DATA_BLOB
 48986  }
 48987  
 48988  type CTL_ANY_SUBJECT_INFO = _CTL_ANY_SUBJECT_INFO
 48989  type PCTL_ANY_SUBJECT_INFO = uintptr
 48990  
 48991  type _CTL_FIND_USAGE_PARA = struct {
 48992  	FcbSize         DWORD
 48993  	F__ccgo_pad1    [4]byte
 48994  	FSubjectUsage   CTL_USAGE
 48995  	FListIdentifier CRYPT_DATA_BLOB
 48996  	FpSigner        PCERT_INFO
 48997  }
 48998  
 48999  type CTL_FIND_USAGE_PARA = _CTL_FIND_USAGE_PARA
 49000  type PCTL_FIND_USAGE_PARA = uintptr
 49001  
 49002  type _CTL_FIND_SUBJECT_PARA = struct {
 49003  	FcbSize        DWORD
 49004  	F__ccgo_pad1   [4]byte
 49005  	FpUsagePara    PCTL_FIND_USAGE_PARA
 49006  	FdwSubjectType DWORD
 49007  	F__ccgo_pad2   [4]byte
 49008  	FpvSubject     uintptr
 49009  }
 49010  
 49011  type CTL_FIND_SUBJECT_PARA = _CTL_FIND_SUBJECT_PARA
 49012  type PCTL_FIND_SUBJECT_PARA = uintptr
 49013  
 49014  type PFN_CERT_CREATE_CONTEXT_SORT_FUNC = uintptr
 49015  
 49016  type _CERT_CREATE_CONTEXT_PARA = struct {
 49017  	FcbSize      DWORD
 49018  	F__ccgo_pad1 [4]byte
 49019  	FpfnFree     PFN_CRYPT_FREE
 49020  	FpvFree      uintptr
 49021  	FpfnSort     PFN_CERT_CREATE_CONTEXT_SORT_FUNC
 49022  	FpvSort      uintptr
 49023  }
 49024  
 49025  type CERT_CREATE_CONTEXT_PARA = _CERT_CREATE_CONTEXT_PARA
 49026  type PCERT_CREATE_CONTEXT_PARA = uintptr
 49027  
 49028  type _CERT_SYSTEM_STORE_INFO = struct{ FcbSize DWORD }
 49029  
 49030  type CERT_SYSTEM_STORE_INFO = _CERT_SYSTEM_STORE_INFO
 49031  type PCERT_SYSTEM_STORE_INFO = uintptr
 49032  
 49033  type _CERT_PHYSICAL_STORE_INFO = struct {
 49034  	FcbSize               DWORD
 49035  	F__ccgo_pad1          [4]byte
 49036  	FpszOpenStoreProvider LPSTR
 49037  	FdwOpenEncodingType   DWORD
 49038  	FdwOpenFlags          DWORD
 49039  	FOpenParameters       CRYPT_DATA_BLOB
 49040  	FdwFlags              DWORD
 49041  	FdwPriority           DWORD
 49042  }
 49043  
 49044  type CERT_PHYSICAL_STORE_INFO = _CERT_PHYSICAL_STORE_INFO
 49045  type PCERT_PHYSICAL_STORE_INFO = uintptr
 49046  
 49047  type PFN_CERT_ENUM_SYSTEM_STORE_LOCATION = uintptr
 49048  type PFN_CERT_ENUM_SYSTEM_STORE = uintptr
 49049  type PFN_CERT_ENUM_PHYSICAL_STORE = uintptr
 49050  
 49051  type _CTL_VERIFY_USAGE_PARA = struct {
 49052  	FcbSize         DWORD
 49053  	F__ccgo_pad1    [4]byte
 49054  	FListIdentifier CRYPT_DATA_BLOB
 49055  	FcCtlStore      DWORD
 49056  	F__ccgo_pad2    [4]byte
 49057  	FrghCtlStore    uintptr
 49058  	FcSignerStore   DWORD
 49059  	F__ccgo_pad3    [4]byte
 49060  	FrghSignerStore uintptr
 49061  }
 49062  
 49063  type CTL_VERIFY_USAGE_PARA = _CTL_VERIFY_USAGE_PARA
 49064  type PCTL_VERIFY_USAGE_PARA = uintptr
 49065  
 49066  type _CTL_VERIFY_USAGE_STATUS = struct {
 49067  	FcbSize          DWORD
 49068  	FdwError         DWORD
 49069  	FdwFlags         DWORD
 49070  	F__ccgo_pad1     [4]byte
 49071  	FppCtl           uintptr
 49072  	FdwCtlEntryIndex DWORD
 49073  	F__ccgo_pad2     [4]byte
 49074  	FppSigner        uintptr
 49075  	FdwSignerIndex   DWORD
 49076  	F__ccgo_pad3     [4]byte
 49077  }
 49078  
 49079  type CTL_VERIFY_USAGE_STATUS = _CTL_VERIFY_USAGE_STATUS
 49080  type PCTL_VERIFY_USAGE_STATUS = uintptr
 49081  
 49082  type _CERT_REVOCATION_CRL_INFO = struct {
 49083  	FcbSize           DWORD
 49084  	F__ccgo_pad1      [4]byte
 49085  	FpBaseCrlContext  PCCRL_CONTEXT
 49086  	FpDeltaCrlContext PCCRL_CONTEXT
 49087  	FpCrlEntry        PCRL_ENTRY
 49088  	FfDeltaCrlEntry   WINBOOL
 49089  	F__ccgo_pad2      [4]byte
 49090  }
 49091  
 49092  type CERT_REVOCATION_CRL_INFO = _CERT_REVOCATION_CRL_INFO
 49093  type PCERT_REVOCATION_CRL_INFO = uintptr
 49094  
 49095  type _CERT_REVOCATION_CHAIN_PARA = struct {
 49096  	FcbSize                     DWORD
 49097  	F__ccgo_pad1                [4]byte
 49098  	FhChainEngine               HCERTCHAINENGINE
 49099  	FhAdditionalStore           HCERTSTORE
 49100  	FdwChainFlags               DWORD
 49101  	FdwUrlRetrievalTimeout      DWORD
 49102  	FpftCurrentTime             LPFILETIME
 49103  	FpftCacheResync             LPFILETIME
 49104  	FcbMaxUrlRetrievalByteCount DWORD
 49105  	F__ccgo_pad2                [4]byte
 49106  }
 49107  
 49108  type CERT_REVOCATION_CHAIN_PARA = _CERT_REVOCATION_CHAIN_PARA
 49109  type PCERT_REVOCATION_CHAIN_PARA = uintptr
 49110  
 49111  type _CERT_REVOCATION_PARA = struct {
 49112  	FcbSize       DWORD
 49113  	F__ccgo_pad1  [4]byte
 49114  	FpIssuerCert  PCCERT_CONTEXT
 49115  	FcCertStore   DWORD
 49116  	F__ccgo_pad2  [4]byte
 49117  	FrgCertStore  uintptr
 49118  	FhCrlStore    HCERTSTORE
 49119  	FpftTimeToUse LPFILETIME
 49120  }
 49121  
 49122  type CERT_REVOCATION_PARA = _CERT_REVOCATION_PARA
 49123  type PCERT_REVOCATION_PARA = uintptr
 49124  
 49125  type _CERT_REVOCATION_STATUS = struct {
 49126  	FcbSize            DWORD
 49127  	FdwIndex           DWORD
 49128  	FdwError           DWORD
 49129  	FdwReason          DWORD
 49130  	FfHasFreshnessTime WINBOOL
 49131  	FdwFreshnessTime   DWORD
 49132  }
 49133  
 49134  type CERT_REVOCATION_STATUS = _CERT_REVOCATION_STATUS
 49135  type PCERT_REVOCATION_STATUS = uintptr
 49136  
 49137  type _CRYPT_VERIFY_CERT_SIGN_STRONG_PROPERTIES_INFO = struct {
 49138  	FCertSignHashCNGAlgPropData        CRYPT_DATA_BLOB
 49139  	FCertIssuerPubKeyBitLengthPropData CRYPT_DATA_BLOB
 49140  }
 49141  
 49142  type CRYPT_VERIFY_CERT_SIGN_STRONG_PROPERTIES_INFO = _CRYPT_VERIFY_CERT_SIGN_STRONG_PROPERTIES_INFO
 49143  type PCRYPT_VERIFY_CERT_SIGN_STRONG_PROPERTIES_INFO = uintptr
 49144  
 49145  type PFN_CRYPT_EXTRACT_ENCODED_SIGNATURE_PARAMETERS_FUNC = uintptr
 49146  type PFN_CRYPT_SIGN_AND_ENCODE_HASH_FUNC = uintptr
 49147  type PFN_CRYPT_VERIFY_ENCODED_SIGNATURE_FUNC = uintptr
 49148  
 49149  type HCRYPTDEFAULTCONTEXT = uintptr
 49150  
 49151  type _CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA = struct {
 49152  	FcOID        DWORD
 49153  	F__ccgo_pad1 [4]byte
 49154  	FrgpszOID    uintptr
 49155  }
 49156  
 49157  type CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA = _CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA
 49158  type PCRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA = uintptr
 49159  
 49160  type PFN_CRYPT_EXPORT_PUBLIC_KEY_INFO_EX2_FUNC = uintptr
 49161  
 49162  type PFN_IMPORT_PRIV_KEY_FUNC = uintptr
 49163  type PFN_EXPORT_PRIV_KEY_FUNC = uintptr
 49164  
 49165  type PFN_CRYPT_GET_SIGNER_CERTIFICATE = uintptr
 49166  
 49167  type _CRYPT_SIGN_MESSAGE_PARA = struct {
 49168  	FcbSize             DWORD
 49169  	FdwMsgEncodingType  DWORD
 49170  	FpSigningCert       PCCERT_CONTEXT
 49171  	FHashAlgorithm      CRYPT_ALGORITHM_IDENTIFIER
 49172  	FpvHashAuxInfo      uintptr
 49173  	FcMsgCert           DWORD
 49174  	F__ccgo_pad1        [4]byte
 49175  	FrgpMsgCert         uintptr
 49176  	FcMsgCrl            DWORD
 49177  	F__ccgo_pad2        [4]byte
 49178  	FrgpMsgCrl          uintptr
 49179  	FcAuthAttr          DWORD
 49180  	F__ccgo_pad3        [4]byte
 49181  	FrgAuthAttr         PCRYPT_ATTRIBUTE
 49182  	FcUnauthAttr        DWORD
 49183  	F__ccgo_pad4        [4]byte
 49184  	FrgUnauthAttr       PCRYPT_ATTRIBUTE
 49185  	FdwFlags            DWORD
 49186  	FdwInnerContentType DWORD
 49187  }
 49188  
 49189  type CRYPT_SIGN_MESSAGE_PARA = _CRYPT_SIGN_MESSAGE_PARA
 49190  type PCRYPT_SIGN_MESSAGE_PARA = uintptr
 49191  
 49192  type _CRYPT_VERIFY_MESSAGE_PARA = struct {
 49193  	FcbSize                   DWORD
 49194  	FdwMsgAndCertEncodingType DWORD
 49195  	FhCryptProv               HCRYPTPROV_LEGACY
 49196  	FpfnGetSignerCertificate  PFN_CRYPT_GET_SIGNER_CERTIFICATE
 49197  	FpvGetArg                 uintptr
 49198  }
 49199  
 49200  type CRYPT_VERIFY_MESSAGE_PARA = _CRYPT_VERIFY_MESSAGE_PARA
 49201  type PCRYPT_VERIFY_MESSAGE_PARA = uintptr
 49202  
 49203  type _CRYPT_ENCRYPT_MESSAGE_PARA = struct {
 49204  	FcbSize                     DWORD
 49205  	FdwMsgEncodingType          DWORD
 49206  	FhCryptProv                 HCRYPTPROV_LEGACY
 49207  	FContentEncryptionAlgorithm CRYPT_ALGORITHM_IDENTIFIER
 49208  	FpvEncryptionAuxInfo        uintptr
 49209  	FdwFlags                    DWORD
 49210  	FdwInnerContentType         DWORD
 49211  }
 49212  
 49213  type CRYPT_ENCRYPT_MESSAGE_PARA = _CRYPT_ENCRYPT_MESSAGE_PARA
 49214  type PCRYPT_ENCRYPT_MESSAGE_PARA = uintptr
 49215  
 49216  type _CRYPT_DECRYPT_MESSAGE_PARA = struct {
 49217  	FcbSize                   DWORD
 49218  	FdwMsgAndCertEncodingType DWORD
 49219  	FcCertStore               DWORD
 49220  	F__ccgo_pad1              [4]byte
 49221  	FrghCertStore             uintptr
 49222  }
 49223  
 49224  type CRYPT_DECRYPT_MESSAGE_PARA = _CRYPT_DECRYPT_MESSAGE_PARA
 49225  type PCRYPT_DECRYPT_MESSAGE_PARA = uintptr
 49226  
 49227  type _CRYPT_HASH_MESSAGE_PARA = struct {
 49228  	FcbSize            DWORD
 49229  	FdwMsgEncodingType DWORD
 49230  	FhCryptProv        HCRYPTPROV_LEGACY
 49231  	FHashAlgorithm     CRYPT_ALGORITHM_IDENTIFIER
 49232  	FpvHashAuxInfo     uintptr
 49233  }
 49234  
 49235  type CRYPT_HASH_MESSAGE_PARA = _CRYPT_HASH_MESSAGE_PARA
 49236  type PCRYPT_HASH_MESSAGE_PARA = uintptr
 49237  
 49238  type _CRYPT_KEY_SIGN_MESSAGE_PARA = struct {
 49239  	FcbSize                   DWORD
 49240  	FdwMsgAndCertEncodingType DWORD
 49241  	F__8                      struct{ FhCryptProv HCRYPTPROV }
 49242  	FdwKeySpec                DWORD
 49243  	F__ccgo_pad1              [4]byte
 49244  	FHashAlgorithm            CRYPT_ALGORITHM_IDENTIFIER
 49245  	FpvHashAuxInfo            uintptr
 49246  	FPubKeyAlgorithm          CRYPT_ALGORITHM_IDENTIFIER
 49247  }
 49248  
 49249  type CRYPT_KEY_SIGN_MESSAGE_PARA = _CRYPT_KEY_SIGN_MESSAGE_PARA
 49250  type PCRYPT_KEY_SIGN_MESSAGE_PARA = uintptr
 49251  
 49252  type _CRYPT_KEY_VERIFY_MESSAGE_PARA = struct {
 49253  	FcbSize            DWORD
 49254  	FdwMsgEncodingType DWORD
 49255  	FhCryptProv        HCRYPTPROV_LEGACY
 49256  }
 49257  
 49258  type CRYPT_KEY_VERIFY_MESSAGE_PARA = _CRYPT_KEY_VERIFY_MESSAGE_PARA
 49259  type PCRYPT_KEY_VERIFY_MESSAGE_PARA = uintptr
 49260  
 49261  type _CERT_CHAIN = struct {
 49262  	FcCerts         DWORD
 49263  	F__ccgo_pad1    [4]byte
 49264  	Fcerts          PCERT_BLOB
 49265  	FkeyLocatorInfo CRYPT_KEY_PROV_INFO
 49266  }
 49267  
 49268  type CERT_CHAIN = _CERT_CHAIN
 49269  type PCERT_CHAIN = uintptr
 49270  
 49271  type HCRYPTASYNC = HANDLE
 49272  type PHCRYPTASYNC = uintptr
 49273  type PFN_CRYPT_ASYNC_PARAM_FREE_FUNC = uintptr
 49274  
 49275  type _CRYPT_BLOB_ARRAY = struct {
 49276  	FcBlob       DWORD
 49277  	F__ccgo_pad1 [4]byte
 49278  	FrgBlob      PCRYPT_DATA_BLOB
 49279  }
 49280  
 49281  type CRYPT_BLOB_ARRAY = _CRYPT_BLOB_ARRAY
 49282  type PCRYPT_BLOB_ARRAY = uintptr
 49283  
 49284  type _CRYPT_CREDENTIALS = struct {
 49285  	FcbSize            DWORD
 49286  	F__ccgo_pad1       [4]byte
 49287  	FpszCredentialsOid LPCSTR
 49288  	FpvCredentials     LPVOID
 49289  }
 49290  
 49291  type CRYPT_CREDENTIALS = _CRYPT_CREDENTIALS
 49292  type PCRYPT_CREDENTIALS = uintptr
 49293  
 49294  type _CRYPT_PASSWORD_CREDENTIALSA = struct {
 49295  	FcbSize      DWORD
 49296  	F__ccgo_pad1 [4]byte
 49297  	FpszUsername LPSTR
 49298  	FpszPassword LPSTR
 49299  }
 49300  
 49301  type CRYPT_PASSWORD_CREDENTIALSA = _CRYPT_PASSWORD_CREDENTIALSA
 49302  type PCRYPT_PASSWORD_CREDENTIALSA = uintptr
 49303  
 49304  type _CRYPT_PASSWORD_CREDENTIALSW = struct {
 49305  	FcbSize      DWORD
 49306  	F__ccgo_pad1 [4]byte
 49307  	FpszUsername LPWSTR
 49308  	FpszPassword LPWSTR
 49309  }
 49310  
 49311  type CRYPT_PASSWORD_CREDENTIALSW = _CRYPT_PASSWORD_CREDENTIALSW
 49312  type PCRYPT_PASSWORD_CREDENTIALSW = uintptr
 49313  
 49314  type CRYPT_PASSWORD_CREDENTIALS = CRYPT_PASSWORD_CREDENTIALSA
 49315  type PCRYPT_PASSWORD_CREDENTIALS = PCRYPT_PASSWORD_CREDENTIALSA
 49316  
 49317  type PFN_FREE_ENCODED_OBJECT_FUNC = uintptr
 49318  
 49319  type _CRYPTNET_URL_CACHE_PRE_FETCH_INFO = struct {
 49320  	FcbSize         DWORD
 49321  	FdwObjectType   DWORD
 49322  	FdwError        DWORD
 49323  	FdwReserved     DWORD
 49324  	FThisUpdateTime FILETIME
 49325  	FNextUpdateTime FILETIME
 49326  	FPublishTime    FILETIME
 49327  }
 49328  
 49329  type CRYPTNET_URL_CACHE_PRE_FETCH_INFO = _CRYPTNET_URL_CACHE_PRE_FETCH_INFO
 49330  type PCRYPTNET_URL_CACHE_PRE_FETCH_INFO = uintptr
 49331  
 49332  type _CRYPTNET_URL_CACHE_FLUSH_INFO = struct {
 49333  	FcbSize          DWORD
 49334  	FdwExemptSeconds DWORD
 49335  	FExpireTime      FILETIME
 49336  }
 49337  
 49338  type CRYPTNET_URL_CACHE_FLUSH_INFO = _CRYPTNET_URL_CACHE_FLUSH_INFO
 49339  type PCRYPTNET_URL_CACHE_FLUSH_INFO = uintptr
 49340  
 49341  type _CRYPTNET_URL_CACHE_RESPONSE_INFO = struct {
 49342  	FcbSize           DWORD
 49343  	FwResponseType    WORD
 49344  	FwResponseFlags   WORD
 49345  	FLastModifiedTime FILETIME
 49346  	FdwMaxAge         DWORD
 49347  	F__ccgo_pad1      [4]byte
 49348  	FpwszETag         LPCWSTR
 49349  	FdwProxyId        DWORD
 49350  	F__ccgo_pad2      [4]byte
 49351  }
 49352  
 49353  type CRYPTNET_URL_CACHE_RESPONSE_INFO = _CRYPTNET_URL_CACHE_RESPONSE_INFO
 49354  type PCRYPTNET_URL_CACHE_RESPONSE_INFO = uintptr
 49355  
 49356  type _CRYPT_RETRIEVE_AUX_INFO = struct {
 49357  	FcbSize                     DWORD
 49358  	F__ccgo_pad1                [4]byte
 49359  	FpLastSyncTime              uintptr
 49360  	FdwMaxUrlRetrievalByteCount DWORD
 49361  	F__ccgo_pad2                [4]byte
 49362  	FpPreFetchInfo              PCRYPTNET_URL_CACHE_PRE_FETCH_INFO
 49363  	FpFlushInfo                 PCRYPTNET_URL_CACHE_FLUSH_INFO
 49364  	FppResponseInfo             uintptr
 49365  	FpwszCacheFileNamePrefix    LPWSTR
 49366  	FpftCacheResync             LPFILETIME
 49367  	FfProxyCacheRetrieval       WINBOOL
 49368  	FdwHttpStatusCode           DWORD
 49369  }
 49370  
 49371  type CRYPT_RETRIEVE_AUX_INFO = _CRYPT_RETRIEVE_AUX_INFO
 49372  type PCRYPT_RETRIEVE_AUX_INFO = uintptr
 49373  
 49374  type PFN_CRYPT_CANCEL_RETRIEVAL = uintptr
 49375  
 49376  type PFN_CRYPT_ASYNC_RETRIEVAL_COMPLETION_FUNC = uintptr
 49377  
 49378  type _CRYPT_ASYNC_RETRIEVAL_COMPLETION = struct {
 49379  	FpfnCompletion PFN_CRYPT_ASYNC_RETRIEVAL_COMPLETION_FUNC
 49380  	FpvCompletion  LPVOID
 49381  }
 49382  
 49383  type CRYPT_ASYNC_RETRIEVAL_COMPLETION = _CRYPT_ASYNC_RETRIEVAL_COMPLETION
 49384  type PCRYPT_ASYNC_RETRIEVAL_COMPLETION = uintptr
 49385  
 49386  type PFN_CANCEL_ASYNC_RETRIEVAL_FUNC = uintptr
 49387  
 49388  type _CRYPT_URL_ARRAY = struct {
 49389  	FcUrl        DWORD
 49390  	F__ccgo_pad1 [4]byte
 49391  	FrgwszUrl    uintptr
 49392  }
 49393  
 49394  type CRYPT_URL_ARRAY = _CRYPT_URL_ARRAY
 49395  type PCRYPT_URL_ARRAY = uintptr
 49396  
 49397  type _CRYPT_URL_INFO = struct {
 49398  	FcbSize          DWORD
 49399  	FdwSyncDeltaTime DWORD
 49400  	FcGroup          DWORD
 49401  	F__ccgo_pad1     [4]byte
 49402  	FrgcGroupEntry   uintptr
 49403  }
 49404  
 49405  type CRYPT_URL_INFO = _CRYPT_URL_INFO
 49406  type PCRYPT_URL_INFO = uintptr
 49407  
 49408  type _CERT_CRL_CONTEXT_PAIR = struct {
 49409  	FpCertContext PCCERT_CONTEXT
 49410  	FpCrlContext  PCCRL_CONTEXT
 49411  }
 49412  
 49413  type CERT_CRL_CONTEXT_PAIR = _CERT_CRL_CONTEXT_PAIR
 49414  type PCERT_CRL_CONTEXT_PAIR = uintptr
 49415  
 49416  type PCCERT_CRL_CONTEXT_PAIR = uintptr
 49417  
 49418  type _CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO = struct {
 49419  	FcbSize             DWORD
 49420  	FiDeltaCrlIndicator int32
 49421  	FpftCacheResync     LPFILETIME
 49422  	FpLastSyncTime      LPFILETIME
 49423  	FpMaxAgeTime        LPFILETIME
 49424  	FpChainPara         PCERT_REVOCATION_CHAIN_PARA
 49425  	FpDeltaCrlIndicator PCRYPT_INTEGER_BLOB
 49426  }
 49427  
 49428  type CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO = _CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO
 49429  type PCRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO = uintptr
 49430  
 49431  type PFN_CRYPT_ENUM_KEYID_PROP = uintptr
 49432  
 49433  type HCERTCHAINENGINE = HANDLE
 49434  
 49435  type _CERT_CHAIN_ENGINE_CONFIG = struct {
 49436  	FcbSize                    DWORD
 49437  	F__ccgo_pad1               [4]byte
 49438  	FhRestrictedRoot           HCERTSTORE
 49439  	FhRestrictedTrust          HCERTSTORE
 49440  	FhRestrictedOther          HCERTSTORE
 49441  	FcAdditionalStore          DWORD
 49442  	F__ccgo_pad2               [4]byte
 49443  	FrghAdditionalStore        uintptr
 49444  	FdwFlags                   DWORD
 49445  	FdwUrlRetrievalTimeout     DWORD
 49446  	FMaximumCachedCertificates DWORD
 49447  	FCycleDetectionModulus     DWORD
 49448  }
 49449  
 49450  type CERT_CHAIN_ENGINE_CONFIG = _CERT_CHAIN_ENGINE_CONFIG
 49451  type PCERT_CHAIN_ENGINE_CONFIG = uintptr
 49452  
 49453  type _CERT_TRUST_STATUS = struct {
 49454  	FdwErrorStatus DWORD
 49455  	FdwInfoStatus  DWORD
 49456  }
 49457  
 49458  type CERT_TRUST_STATUS = _CERT_TRUST_STATUS
 49459  type PCERT_TRUST_STATUS = uintptr
 49460  
 49461  type _CERT_REVOCATION_INFO = struct {
 49462  	FcbSize             DWORD
 49463  	FdwRevocationResult DWORD
 49464  	FpszRevocationOid   LPCSTR
 49465  	FpvOidSpecificInfo  LPVOID
 49466  	FfHasFreshnessTime  WINBOOL
 49467  	FdwFreshnessTime    DWORD
 49468  	FpCrlInfo           PCERT_REVOCATION_CRL_INFO
 49469  }
 49470  
 49471  type CERT_REVOCATION_INFO = _CERT_REVOCATION_INFO
 49472  type PCERT_REVOCATION_INFO = uintptr
 49473  
 49474  type _CERT_TRUST_LIST_INFO = struct {
 49475  	FcbSize      DWORD
 49476  	F__ccgo_pad1 [4]byte
 49477  	FpCtlEntry   PCTL_ENTRY
 49478  	FpCtlContext PCCTL_CONTEXT
 49479  }
 49480  
 49481  type CERT_TRUST_LIST_INFO = _CERT_TRUST_LIST_INFO
 49482  type PCERT_TRUST_LIST_INFO = uintptr
 49483  
 49484  type _CERT_CHAIN_ELEMENT = struct {
 49485  	FcbSize                DWORD
 49486  	F__ccgo_pad1           [4]byte
 49487  	FpCertContext          PCCERT_CONTEXT
 49488  	FTrustStatus           CERT_TRUST_STATUS
 49489  	FpRevocationInfo       PCERT_REVOCATION_INFO
 49490  	FpIssuanceUsage        PCERT_ENHKEY_USAGE
 49491  	FpApplicationUsage     PCERT_ENHKEY_USAGE
 49492  	FpwszExtendedErrorInfo LPCWSTR
 49493  }
 49494  
 49495  type CERT_CHAIN_ELEMENT = _CERT_CHAIN_ELEMENT
 49496  type PCERT_CHAIN_ELEMENT = uintptr
 49497  
 49498  type PCCERT_CHAIN_ELEMENT = uintptr
 49499  
 49500  type _CERT_SIMPLE_CHAIN = struct {
 49501  	FcbSize                      DWORD
 49502  	FTrustStatus                 CERT_TRUST_STATUS
 49503  	FcElement                    DWORD
 49504  	FrgpElement                  uintptr
 49505  	FpTrustListInfo              PCERT_TRUST_LIST_INFO
 49506  	FfHasRevocationFreshnessTime WINBOOL
 49507  	FdwRevocationFreshnessTime   DWORD
 49508  }
 49509  
 49510  type CERT_SIMPLE_CHAIN = _CERT_SIMPLE_CHAIN
 49511  type PCERT_SIMPLE_CHAIN = uintptr
 49512  
 49513  type PCCERT_SIMPLE_CHAIN = uintptr
 49514  
 49515  type _CERT_CHAIN_CONTEXT = struct {
 49516  	FcbSize                      DWORD
 49517  	FTrustStatus                 CERT_TRUST_STATUS
 49518  	FcChain                      DWORD
 49519  	FrgpChain                    uintptr
 49520  	FcLowerQualityChainContext   DWORD
 49521  	F__ccgo_pad1                 [4]byte
 49522  	FrgpLowerQualityChainContext uintptr
 49523  	FfHasRevocationFreshnessTime WINBOOL
 49524  	FdwRevocationFreshnessTime   DWORD
 49525  	FdwCreateFlags               DWORD
 49526  	FChainId                     GUID
 49527  	F__ccgo_pad2                 [4]byte
 49528  }
 49529  
 49530  type CERT_CHAIN_CONTEXT = _CERT_CHAIN_CONTEXT
 49531  type PCERT_CHAIN_CONTEXT = uintptr
 49532  type PCCERT_CHAIN_CONTEXT = uintptr
 49533  
 49534  type _CERT_USAGE_MATCH = struct {
 49535  	FdwType      DWORD
 49536  	F__ccgo_pad1 [4]byte
 49537  	FUsage       CERT_ENHKEY_USAGE
 49538  }
 49539  
 49540  type CERT_USAGE_MATCH = _CERT_USAGE_MATCH
 49541  type PCERT_USAGE_MATCH = uintptr
 49542  
 49543  type _CTL_USAGE_MATCH = struct {
 49544  	FdwType      DWORD
 49545  	F__ccgo_pad1 [4]byte
 49546  	FUsage       CTL_USAGE
 49547  }
 49548  
 49549  type CTL_USAGE_MATCH = _CTL_USAGE_MATCH
 49550  type PCTL_USAGE_MATCH = uintptr
 49551  
 49552  type _CERT_CHAIN_PARA = struct {
 49553  	FcbSize         DWORD
 49554  	F__ccgo_pad1    [4]byte
 49555  	FRequestedUsage CERT_USAGE_MATCH
 49556  }
 49557  
 49558  type CERT_CHAIN_PARA = _CERT_CHAIN_PARA
 49559  type PCERT_CHAIN_PARA = uintptr
 49560  
 49561  type _CRL_REVOCATION_INFO = struct {
 49562  	FpCrlEntry       PCRL_ENTRY
 49563  	FpCrlContext     PCCRL_CONTEXT
 49564  	FpCrlIssuerChain PCCERT_CHAIN_CONTEXT
 49565  }
 49566  
 49567  type CRL_REVOCATION_INFO = _CRL_REVOCATION_INFO
 49568  type PCRL_REVOCATION_INFO = uintptr
 49569  
 49570  type PFN_CERT_CHAIN_FIND_BY_ISSUER_CALLBACK = uintptr
 49571  
 49572  type _CERT_CHAIN_FIND_BY_ISSUER_PARA = struct {
 49573  	FcbSize                   DWORD
 49574  	F__ccgo_pad1              [4]byte
 49575  	FpszUsageIdentifier       LPCSTR
 49576  	FdwKeySpec                DWORD
 49577  	FdwAcquirePrivateKeyFlags DWORD
 49578  	FcIssuer                  DWORD
 49579  	F__ccgo_pad2              [4]byte
 49580  	FrgIssuer                 uintptr
 49581  	FpfnFindCallback          PFN_CERT_CHAIN_FIND_BY_ISSUER_CALLBACK
 49582  	FpvFindArg                uintptr
 49583  }
 49584  
 49585  type CERT_CHAIN_FIND_ISSUER_PARA = _CERT_CHAIN_FIND_BY_ISSUER_PARA
 49586  type PCERT_CHAIN_FIND_ISSUER_PARA = uintptr
 49587  type CERT_CHAIN_FIND_BY_ISSUER_PARA = _CERT_CHAIN_FIND_BY_ISSUER_PARA
 49588  type PCERT_CHAIN_FIND_BY_ISSUER_PARA = uintptr
 49589  
 49590  type _CERT_CHAIN_POLICY_PARA = struct {
 49591  	FcbSize            DWORD
 49592  	FdwFlags           DWORD
 49593  	FpvExtraPolicyPara uintptr
 49594  }
 49595  
 49596  type CERT_CHAIN_POLICY_PARA = _CERT_CHAIN_POLICY_PARA
 49597  type PCERT_CHAIN_POLICY_PARA = uintptr
 49598  
 49599  type _CERT_CHAIN_POLICY_STATUS = struct {
 49600  	FcbSize              DWORD
 49601  	FdwError             DWORD
 49602  	FlChainIndex         LONG
 49603  	FlElementIndex       LONG
 49604  	FpvExtraPolicyStatus uintptr
 49605  }
 49606  
 49607  type CERT_CHAIN_POLICY_STATUS = _CERT_CHAIN_POLICY_STATUS
 49608  type PCERT_CHAIN_POLICY_STATUS = uintptr
 49609  
 49610  type _AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA = struct {
 49611  	FcbSize              DWORD
 49612  	FdwRegPolicySettings DWORD
 49613  	FpSignerInfo         PCMSG_SIGNER_INFO
 49614  }
 49615  
 49616  type AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA = _AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA
 49617  type PAUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA = uintptr
 49618  
 49619  type _AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS = struct {
 49620  	FcbSize      DWORD
 49621  	FfCommercial WINBOOL
 49622  }
 49623  
 49624  type AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS = _AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS
 49625  type PAUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS = uintptr
 49626  
 49627  type _AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA = struct {
 49628  	FcbSize              DWORD
 49629  	FdwRegPolicySettings DWORD
 49630  	FfCommercial         WINBOOL
 49631  }
 49632  
 49633  type AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA = _AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA
 49634  type PAUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA = uintptr
 49635  
 49636  type _HTTPSPolicyCallbackData = struct {
 49637  	F__0            struct{ FcbStruct DWORD }
 49638  	FdwAuthType     DWORD
 49639  	FfdwChecks      DWORD
 49640  	F__ccgo_pad1    [4]byte
 49641  	FpwszServerName uintptr
 49642  }
 49643  
 49644  type HTTPSPolicyCallbackData = _HTTPSPolicyCallbackData
 49645  type PHTTPSPolicyCallbackData = uintptr
 49646  type SSL_EXTRA_CERT_CHAIN_POLICY_PARA = _HTTPSPolicyCallbackData
 49647  type PSSL_EXTRA_CERT_CHAIN_POLICY_PARA = uintptr
 49648  
 49649  type _EV_EXTRA_CERT_CHAIN_POLICY_PARA = struct {
 49650  	FcbSize                      DWORD
 49651  	FdwRootProgramQualifierFlags DWORD
 49652  }
 49653  
 49654  type EV_EXTRA_CERT_CHAIN_POLICY_PARA = _EV_EXTRA_CERT_CHAIN_POLICY_PARA
 49655  type PEV_EXTRA_CERT_CHAIN_POLICY_PARA = uintptr
 49656  
 49657  type _EV_EXTRA_CERT_CHAIN_POLICY_STATUS = struct {
 49658  	FcbSize               DWORD
 49659  	FdwQualifiers         DWORD
 49660  	FdwIssuanceUsageIndex DWORD
 49661  }
 49662  
 49663  type EV_EXTRA_CERT_CHAIN_POLICY_STATUS = _EV_EXTRA_CERT_CHAIN_POLICY_STATUS
 49664  type PEV_EXTRA_CERT_CHAIN_POLICY_STATUS = uintptr
 49665  
 49666  type _SSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS = struct {
 49667  	FcbSize          DWORD
 49668  	FdwErrorLevel    DWORD
 49669  	FdwErrorCategory DWORD
 49670  	FdwReserved      DWORD
 49671  	FwszErrorText    [256]WCHAR
 49672  }
 49673  
 49674  type SSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS = _SSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS
 49675  type PSSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS = uintptr
 49676  
 49677  type _SSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA = struct {
 49678  	FcbSize         DWORD
 49679  	FdwReserved     DWORD
 49680  	FpwszServerName LPWSTR
 49681  	FrgpszHpkpValue [2]LPSTR
 49682  }
 49683  
 49684  type SSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA = _SSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA
 49685  type PSSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA = uintptr
 49686  
 49687  type _SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_PARA = struct {
 49688  	FcbSize         DWORD
 49689  	FdwReserved     DWORD
 49690  	FpwszServerName PCWSTR
 49691  }
 49692  
 49693  type SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_PARA = _SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_PARA
 49694  type PSSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_PARA = uintptr
 49695  
 49696  type _SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_STATUS = struct {
 49697  	FcbSize       DWORD
 49698  	FlError       LONG
 49699  	FwszErrorText [512]WCHAR
 49700  }
 49701  
 49702  type SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_STATUS = _SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_STATUS
 49703  type PSSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_STATUS = uintptr
 49704  
 49705  type _CRYPT_PKCS12_PBE_PARAMS = struct {
 49706  	FiIterations int32
 49707  	FcbSalt      ULONG
 49708  }
 49709  
 49710  type CRYPT_PKCS12_PBE_PARAMS = _CRYPT_PKCS12_PBE_PARAMS
 49711  
 49712  type _PKCS12_PBES2_EXPORT_PARAMS = struct {
 49713  	FdwSize            DWORD
 49714  	F__ccgo_pad1       [4]byte
 49715  	FhNcryptDescriptor PVOID
 49716  	FpwszPbes2Alg      LPWSTR
 49717  }
 49718  
 49719  type PKCS12_PBES2_EXPORT_PARAMS = _PKCS12_PBES2_EXPORT_PARAMS
 49720  type PPKCS12_PBES2_EXPORT_PARAMS = uintptr
 49721  
 49722  type _CRYPTPROTECT_PROMPTSTRUCT = struct {
 49723  	FcbSize        DWORD
 49724  	FdwPromptFlags DWORD
 49725  	FhwndApp       HWND
 49726  	FszPrompt      LPCWSTR
 49727  }
 49728  
 49729  type CRYPTPROTECT_PROMPTSTRUCT = _CRYPTPROTECT_PROMPTSTRUCT
 49730  type PCRYPTPROTECT_PROMPTSTRUCT = uintptr
 49731  
 49732  type _CERTIFICATE_BLOB = struct {
 49733  	FdwCertEncodingType DWORD
 49734  	FcbData             DWORD
 49735  	FpbData             PBYTE
 49736  }
 49737  
 49738  type EFS_CERTIFICATE_BLOB = _CERTIFICATE_BLOB
 49739  type PEFS_CERTIFICATE_BLOB = uintptr
 49740  
 49741  type _EFS_HASH_BLOB = struct {
 49742  	FcbData      DWORD
 49743  	F__ccgo_pad1 [4]byte
 49744  	FpbData      PBYTE
 49745  }
 49746  
 49747  type EFS_HASH_BLOB = _EFS_HASH_BLOB
 49748  type PEFS_HASH_BLOB = uintptr
 49749  
 49750  type _EFS_RPC_BLOB = struct {
 49751  	FcbData      DWORD
 49752  	F__ccgo_pad1 [4]byte
 49753  	FpbData      PBYTE
 49754  }
 49755  
 49756  type EFS_RPC_BLOB = _EFS_RPC_BLOB
 49757  type PEFS_RPC_BLOB = uintptr
 49758  
 49759  type _EFS_KEY_INFO = struct {
 49760  	FdwVersion DWORD
 49761  	FEntropy   ULONG
 49762  	FAlgorithm ALG_ID
 49763  	FKeyLength ULONG
 49764  }
 49765  
 49766  type EFS_KEY_INFO = _EFS_KEY_INFO
 49767  type PEFS_KEY_INFO = uintptr
 49768  
 49769  type _ENCRYPTION_CERTIFICATE = struct {
 49770  	FcbTotalLength DWORD
 49771  	F__ccgo_pad1   [4]byte
 49772  	FpUserSid      uintptr
 49773  	FpCertBlob     PEFS_CERTIFICATE_BLOB
 49774  }
 49775  
 49776  type ENCRYPTION_CERTIFICATE = _ENCRYPTION_CERTIFICATE
 49777  type PENCRYPTION_CERTIFICATE = uintptr
 49778  
 49779  type _ENCRYPTION_CERTIFICATE_HASH = struct {
 49780  	FcbTotalLength        DWORD
 49781  	F__ccgo_pad1          [4]byte
 49782  	FpUserSid             uintptr
 49783  	FpHash                PEFS_HASH_BLOB
 49784  	FlpDisplayInformation LPWSTR
 49785  }
 49786  
 49787  type ENCRYPTION_CERTIFICATE_HASH = _ENCRYPTION_CERTIFICATE_HASH
 49788  type PENCRYPTION_CERTIFICATE_HASH = uintptr
 49789  
 49790  type _ENCRYPTION_CERTIFICATE_HASH_LIST = struct {
 49791  	FnCert_Hash  DWORD
 49792  	F__ccgo_pad1 [4]byte
 49793  	FpUsers      uintptr
 49794  }
 49795  
 49796  type ENCRYPTION_CERTIFICATE_HASH_LIST = _ENCRYPTION_CERTIFICATE_HASH_LIST
 49797  type PENCRYPTION_CERTIFICATE_HASH_LIST = uintptr
 49798  
 49799  type _ENCRYPTION_CERTIFICATE_LIST = struct {
 49800  	FnUsers      DWORD
 49801  	F__ccgo_pad1 [4]byte
 49802  	FpUsers      uintptr
 49803  }
 49804  
 49805  type ENCRYPTION_CERTIFICATE_LIST = _ENCRYPTION_CERTIFICATE_LIST
 49806  type PENCRYPTION_CERTIFICATE_LIST = uintptr
 49807  
 49808  type RPC_IMPORT_CONTEXT_P = struct {
 49809  	FLookupContext  RPC_NS_HANDLE
 49810  	FProposedHandle RPC_BINDING_HANDLE
 49811  	FBindings       uintptr
 49812  }
 49813  type PRPC_IMPORT_CONTEXT_P = uintptr
 49814  
 49815  type byte = uint8
 49816  type cs_byte = byte
 49817  type boolean = uint8
 49818  
 49819  type NDR_CCONTEXT = uintptr
 49820  
 49821  type _NDR_SCONTEXT = struct {
 49822  	Fpad         [2]uintptr
 49823  	FuserContext uintptr
 49824  }
 49825  
 49826  type NDR_SCONTEXT = uintptr
 49827  
 49828  type NDR_RUNDOWN = uintptr
 49829  type NDR_NOTIFY_ROUTINE = uintptr
 49830  type NDR_NOTIFY2_ROUTINE = uintptr
 49831  
 49832  type _SCONTEXT_QUEUE = struct {
 49833  	FNumberOfObjects uint32
 49834  	F__ccgo_pad1     [4]byte
 49835  	FArrayOfObjects  uintptr
 49836  }
 49837  
 49838  type SCONTEXT_QUEUE = _SCONTEXT_QUEUE
 49839  type PSCONTEXT_QUEUE = uintptr
 49840  
 49841  type error_status_t = uint32
 49842  
 49843  type _MIDL_STUB_MESSAGE = struct {
 49844  	FRpcMsg                 PRPC_MESSAGE
 49845  	FBuffer                 uintptr
 49846  	FBufferStart            uintptr
 49847  	FBufferEnd              uintptr
 49848  	FBufferMark             uintptr
 49849  	FBufferLength           uint32
 49850  	FMemorySize             uint32
 49851  	FMemory                 uintptr
 49852  	FIsClient               uint8
 49853  	FPad                    uint8
 49854  	FuFlags2                uint16
 49855  	FReuseBuffer            int32
 49856  	FpAllocAllNodesContext  uintptr
 49857  	FpPointerQueueState     uintptr
 49858  	FIgnoreEmbeddedPointers int32
 49859  	F__ccgo_pad1            [4]byte
 49860  	FPointerBufferMark      uintptr
 49861  	FfBufferValid           uint8
 49862  	FuFlags                 uint8
 49863  	FUniquePtrCount         uint16
 49864  	F__ccgo_pad2            [4]byte
 49865  	FMaxCount               ULONG_PTR
 49866  	FOffset                 uint32
 49867  	FActualCount            uint32
 49868  	FpfnAllocate            uintptr
 49869  	FpfnFree                uintptr
 49870  	FStackTop               uintptr
 49871  	FpPresentedType         uintptr
 49872  	FpTransmitType          uintptr
 49873  	FSavedHandle            handle_t
 49874  	FStubDesc               uintptr
 49875  	FFullPtrXlatTables      uintptr
 49876  	FFullPtrRefId           uint32
 49877  	FPointerLength          uint32
 49878  	FfInDontFree            uint32
 49879  	F__ccgo_pad3            [4]byte
 49880  	FdwDestContext          uint32
 49881  	F__ccgo_pad4            [4]byte
 49882  	FpvDestContext          uintptr
 49883  	FSavedContextHandles    uintptr
 49884  	FParamNumber            int32
 49885  	F__ccgo_pad5            [4]byte
 49886  	FpRpcChannelBuffer      uintptr
 49887  	FpArrayInfo             PARRAY_INFO
 49888  	FSizePtrCountArray      uintptr
 49889  	FSizePtrOffsetArray     uintptr
 49890  	FSizePtrLengthArray     uintptr
 49891  	FpArgQueue              uintptr
 49892  	FdwStubPhase            uint32
 49893  	F__ccgo_pad6            [4]byte
 49894  	FLowStackMark           uintptr
 49895  	FpAsyncMsg              PNDR_ASYNC_MESSAGE
 49896  	FpCorrInfo              PNDR_CORRELATION_INFO
 49897  	FpCorrMemory            uintptr
 49898  	FpMemoryList            uintptr
 49899  	FpCSInfo                uintptr
 49900  	FConformanceMark        uintptr
 49901  	FVarianceMark           uintptr
 49902  	FUnused                 INT_PTR
 49903  	FpContext               uintptr
 49904  	FpUserMarshalList       uintptr
 49905  	FReserved51_2           INT_PTR
 49906  	FReserved51_3           INT_PTR
 49907  	FReserved51_4           INT_PTR
 49908  	FReserved51_5           INT_PTR
 49909  }
 49910  
 49911  type _MIDL_STUB_DESC = struct {
 49912  	FRpcInterfaceInformation     uintptr
 49913  	FpfnAllocate                 uintptr
 49914  	FpfnFree                     uintptr
 49915  	FIMPLICIT_HANDLE_INFO        struct{ FpAutoHandle uintptr }
 49916  	FapfnNdrRundownRoutines      uintptr
 49917  	FaGenericBindingRoutinePairs uintptr
 49918  	FapfnExprEval                uintptr
 49919  	FaXmitQuintuple              uintptr
 49920  	FpFormatTypes                uintptr
 49921  	FfCheckBounds                int32
 49922  	FVersion                     uint32
 49923  	FpMallocFreeStruct           uintptr
 49924  	FMIDLVersion                 int32
 49925  	F__ccgo_pad1                 [4]byte
 49926  	FCommFaultOffsets            uintptr
 49927  	FaUserMarshalQuadruple       uintptr
 49928  	FNotifyRoutineTable          uintptr
 49929  	FmFlags                      ULONG_PTR
 49930  	FCsRoutineTables             uintptr
 49931  	FReserved4                   uintptr
 49932  	FReserved5                   ULONG_PTR
 49933  }
 49934  
 49935  type _FULL_PTR_XLAT_TABLES = struct {
 49936  	FRefIdToPointer struct {
 49937  		FXlatTable       uintptr
 49938  		FStateTable      uintptr
 49939  		FNumberOfEntries uint32
 49940  		F__ccgo_pad1     [4]byte
 49941  	}
 49942  	FPointerToRefId struct {
 49943  		FXlatTable       uintptr
 49944  		FNumberOfBuckets uint32
 49945  		FHashMask        uint32
 49946  	}
 49947  	FNextRefId uint32
 49948  	FXlatSide  XLAT_SIDE
 49949  }
 49950  
 49951  type RPC_BUFPTR = uintptr
 49952  type RPC_LENGTH = uint32
 49953  type EXPR_EVAL = uintptr
 49954  type PFORMAT_STRING = uintptr
 49955  
 49956  type ARRAY_INFO = struct {
 49957  	FDimension             int32
 49958  	F__ccgo_pad1           [4]byte
 49959  	FBufferConformanceMark uintptr
 49960  	FBufferVarianceMark    uintptr
 49961  	FMaxCountArray         uintptr
 49962  	FOffsetArray           uintptr
 49963  	FActualCountArray      uintptr
 49964  }
 49965  type PARRAY_INFO = uintptr
 49966  
 49967  type PNDR_ASYNC_MESSAGE = uintptr
 49968  type PNDR_CORRELATION_INFO = uintptr
 49969  
 49970  type CS_STUB_INFO = struct {
 49971  	FWireCodeset             uint32
 49972  	FDesiredReceivingCodeset uint32
 49973  	FCSArrayInfo             uintptr
 49974  }
 49975  
 49976  type _MIDL_SYNTAX_INFO = struct {
 49977  	FTransferSyntax        RPC_SYNTAX_IDENTIFIER
 49978  	F__ccgo_pad1           [4]byte
 49979  	FDispatchTable         uintptr
 49980  	FProcString            PFORMAT_STRING
 49981  	FFmtStringOffset       uintptr
 49982  	FTypeString            PFORMAT_STRING
 49983  	FaUserMarshalQuadruple uintptr
 49984  	FpReserved1            ULONG_PTR
 49985  	FpReserved2            ULONG_PTR
 49986  }
 49987  
 49988  type MIDL_SYNTAX_INFO = _MIDL_SYNTAX_INFO
 49989  type PMIDL_SYNTAX_INFO = uintptr
 49990  
 49991  type IRpcChannelBuffer1 = struct{ FlpVtbl uintptr }
 49992  
 49993  type MIDL_STUB_MESSAGE = _MIDL_STUB_MESSAGE
 49994  type PMIDL_STUB_MESSAGE = uintptr
 49995  
 49996  type GENERIC_BINDING_ROUTINE = uintptr
 49997  type GENERIC_UNBIND_ROUTINE = uintptr
 49998  
 49999  type _GENERIC_BINDING_ROUTINE_PAIR = struct {
 50000  	FpfnBind   GENERIC_BINDING_ROUTINE
 50001  	FpfnUnbind GENERIC_UNBIND_ROUTINE
 50002  }
 50003  
 50004  type GENERIC_BINDING_ROUTINE_PAIR = _GENERIC_BINDING_ROUTINE_PAIR
 50005  type PGENERIC_BINDING_ROUTINE_PAIR = uintptr
 50006  
 50007  type __GENERIC_BINDING_INFO = struct {
 50008  	FpObj        uintptr
 50009  	FSize        uint32
 50010  	F__ccgo_pad1 [4]byte
 50011  	FpfnBind     GENERIC_BINDING_ROUTINE
 50012  	FpfnUnbind   GENERIC_UNBIND_ROUTINE
 50013  }
 50014  
 50015  type GENERIC_BINDING_INFO = __GENERIC_BINDING_INFO
 50016  type PGENERIC_BINDING_INFO = uintptr
 50017  
 50018  type XMIT_HELPER_ROUTINE = uintptr
 50019  
 50020  type _XMIT_ROUTINE_QUINTUPLE = struct {
 50021  	FpfnTranslateToXmit   XMIT_HELPER_ROUTINE
 50022  	FpfnTranslateFromXmit XMIT_HELPER_ROUTINE
 50023  	FpfnFreeXmit          XMIT_HELPER_ROUTINE
 50024  	FpfnFreeInst          XMIT_HELPER_ROUTINE
 50025  }
 50026  
 50027  type XMIT_ROUTINE_QUINTUPLE = _XMIT_ROUTINE_QUINTUPLE
 50028  type PXMIT_ROUTINE_QUINTUPLE = uintptr
 50029  
 50030  type USER_MARSHAL_SIZING_ROUTINE = uintptr
 50031  type USER_MARSHAL_MARSHALLING_ROUTINE = uintptr
 50032  type USER_MARSHAL_UNMARSHALLING_ROUTINE = uintptr
 50033  type USER_MARSHAL_FREEING_ROUTINE = uintptr
 50034  
 50035  type _USER_MARSHAL_ROUTINE_QUADRUPLE = struct {
 50036  	FpfnBufferSize USER_MARSHAL_SIZING_ROUTINE
 50037  	FpfnMarshall   USER_MARSHAL_MARSHALLING_ROUTINE
 50038  	FpfnUnmarshall USER_MARSHAL_UNMARSHALLING_ROUTINE
 50039  	FpfnFree       USER_MARSHAL_FREEING_ROUTINE
 50040  }
 50041  
 50042  type USER_MARSHAL_ROUTINE_QUADRUPLE = _USER_MARSHAL_ROUTINE_QUADRUPLE
 50043  
 50044  type USER_MARSHAL_CB_TYPE = uint32
 50045  
 50046  type _USER_MARSHAL_CB = struct {
 50047  	FFlags       uint32
 50048  	F__ccgo_pad1 [4]byte
 50049  	FpStubMsg    PMIDL_STUB_MESSAGE
 50050  	FpReserve    PFORMAT_STRING
 50051  	FSignature   uint32
 50052  	FCBType      USER_MARSHAL_CB_TYPE
 50053  	FpFormat     PFORMAT_STRING
 50054  	FpTypeFormat PFORMAT_STRING
 50055  }
 50056  
 50057  type USER_MARSHAL_CB = _USER_MARSHAL_CB
 50058  
 50059  type _MALLOC_FREE_STRUCT = struct {
 50060  	FpfnAllocate uintptr
 50061  	FpfnFree     uintptr
 50062  }
 50063  
 50064  type MALLOC_FREE_STRUCT = _MALLOC_FREE_STRUCT
 50065  
 50066  type _COMM_FAULT_OFFSETS = struct {
 50067  	FCommOffset  int16
 50068  	FFaultOffset int16
 50069  }
 50070  
 50071  type COMM_FAULT_OFFSETS = _COMM_FAULT_OFFSETS
 50072  
 50073  type IDL_CS_CONVERT = uint32
 50074  
 50075  type CS_TYPE_NET_SIZE_ROUTINE = uintptr
 50076  type CS_TYPE_LOCAL_SIZE_ROUTINE = uintptr
 50077  type CS_TYPE_TO_NETCS_ROUTINE = uintptr
 50078  type CS_TYPE_FROM_NETCS_ROUTINE = uintptr
 50079  type CS_TAG_GETTING_ROUTINE = uintptr
 50080  
 50081  type _NDR_CS_SIZE_CONVERT_ROUTINES = struct {
 50082  	FpfnNetSize   CS_TYPE_NET_SIZE_ROUTINE
 50083  	FpfnToNetCs   CS_TYPE_TO_NETCS_ROUTINE
 50084  	FpfnLocalSize CS_TYPE_LOCAL_SIZE_ROUTINE
 50085  	FpfnFromNetCs CS_TYPE_FROM_NETCS_ROUTINE
 50086  }
 50087  
 50088  type NDR_CS_SIZE_CONVERT_ROUTINES = _NDR_CS_SIZE_CONVERT_ROUTINES
 50089  
 50090  type _NDR_CS_ROUTINES = struct {
 50091  	FpSizeConvertRoutines uintptr
 50092  	FpTagGettingRoutines  uintptr
 50093  }
 50094  
 50095  type NDR_CS_ROUTINES = _NDR_CS_ROUTINES
 50096  
 50097  type MIDL_STUB_DESC = _MIDL_STUB_DESC
 50098  
 50099  type PMIDL_STUB_DESC = uintptr
 50100  type PMIDL_XMIT_TYPE = uintptr
 50101  
 50102  type _MIDL_FORMAT_STRING = struct {
 50103  	F__ccgo_pad1 [0]uint16
 50104  	FPad         int16
 50105  }
 50106  
 50107  type MIDL_FORMAT_STRING = _MIDL_FORMAT_STRING
 50108  
 50109  type STUB_THUNK = uintptr
 50110  type SERVER_ROUTINE = uintptr
 50111  
 50112  type _MIDL_SERVER_INFO_ = struct {
 50113  	FpStubDesc       PMIDL_STUB_DESC
 50114  	FDispatchTable   uintptr
 50115  	FProcString      PFORMAT_STRING
 50116  	FFmtStringOffset uintptr
 50117  	FThunkTable      uintptr
 50118  	FpTransferSyntax PRPC_SYNTAX_IDENTIFIER
 50119  	FnCount          ULONG_PTR
 50120  	FpSyntaxInfo     PMIDL_SYNTAX_INFO
 50121  }
 50122  
 50123  type MIDL_SERVER_INFO = _MIDL_SERVER_INFO_
 50124  type PMIDL_SERVER_INFO = uintptr
 50125  
 50126  type _MIDL_STUBLESS_PROXY_INFO = struct {
 50127  	FpStubDesc          PMIDL_STUB_DESC
 50128  	FProcFormatString   PFORMAT_STRING
 50129  	FFormatStringOffset uintptr
 50130  	FpTransferSyntax    PRPC_SYNTAX_IDENTIFIER
 50131  	FnCount             ULONG_PTR
 50132  	FpSyntaxInfo        PMIDL_SYNTAX_INFO
 50133  }
 50134  
 50135  type MIDL_STUBLESS_PROXY_INFO = _MIDL_STUBLESS_PROXY_INFO
 50136  
 50137  type PMIDL_STUBLESS_PROXY_INFO = uintptr
 50138  
 50139  type PARAM_OFFSETTABLE = uintptr
 50140  type PPARAM_OFFSETTABLE = uintptr
 50141  
 50142  type _CLIENT_CALL_RETURN = struct{ FPointer uintptr }
 50143  
 50144  type CLIENT_CALL_RETURN = _CLIENT_CALL_RETURN
 50145  
 50146  type XLAT_SIDE = uint32
 50147  
 50148  type _FULL_PTR_TO_REFID_ELEMENT = struct {
 50149  	FNext        uintptr
 50150  	FPointer     uintptr
 50151  	FRefId       uint32
 50152  	FState       uint8
 50153  	F__ccgo_pad1 [3]byte
 50154  }
 50155  
 50156  type FULL_PTR_TO_REFID_ELEMENT = _FULL_PTR_TO_REFID_ELEMENT
 50157  type PFULL_PTR_TO_REFID_ELEMENT = uintptr
 50158  
 50159  type FULL_PTR_XLAT_TABLES = _FULL_PTR_XLAT_TABLES
 50160  type PFULL_PTR_XLAT_TABLES = uintptr
 50161  
 50162  type STUB_PHASE = uint32
 50163  
 50164  type PROXY_PHASE = uint32
 50165  
 50166  type IRpcStubBuffer1 = struct{ FlpVtbl uintptr }
 50167  
 50168  type RPC_SS_THREAD_HANDLE = uintptr
 50169  
 50170  type _NDR_USER_MARSHAL_INFO_LEVEL1 = struct {
 50171  	FBuffer            uintptr
 50172  	FBufferSize        uint32
 50173  	F__ccgo_pad1       [4]byte
 50174  	FpfnAllocate       uintptr
 50175  	FpfnFree           uintptr
 50176  	FpRpcChannelBuffer uintptr
 50177  	FReserved          [5]ULONG_PTR
 50178  }
 50179  
 50180  type NDR_USER_MARSHAL_INFO_LEVEL1 = _NDR_USER_MARSHAL_INFO_LEVEL1
 50181  
 50182  type _NDR_USER_MARSHAL_INFO = struct {
 50183  	FInformationLevel uint32
 50184  	F__ccgo_pad1      [4]byte
 50185  	F__8              struct{ FLevel1 NDR_USER_MARSHAL_INFO_LEVEL1 }
 50186  }
 50187  
 50188  type NDR_USER_MARSHAL_INFO = _NDR_USER_MARSHAL_INFO
 50189  
 50190  type REGCLS = uint32
 50191  
 50192  type IRpcStubBuffer = IRpcStubBuffer1
 50193  type IRpcChannelBuffer = IRpcChannelBuffer1
 50194  
 50195  type COINITBASE = uint32
 50196  
 50197  type OLECHAR = WCHAR
 50198  type LPOLESTR = uintptr
 50199  type LPCOLESTR = uintptr
 50200  type DOUBLE = float64
 50201  
 50202  type _COAUTHIDENTITY = struct {
 50203  	FUser           uintptr
 50204  	FUserLength     ULONG
 50205  	F__ccgo_pad1    [4]byte
 50206  	FDomain         uintptr
 50207  	FDomainLength   ULONG
 50208  	F__ccgo_pad2    [4]byte
 50209  	FPassword       uintptr
 50210  	FPasswordLength ULONG
 50211  	FFlags          ULONG
 50212  }
 50213  
 50214  type COAUTHIDENTITY = _COAUTHIDENTITY
 50215  
 50216  type _COAUTHINFO = struct {
 50217  	FdwAuthnSvc           DWORD
 50218  	FdwAuthzSvc           DWORD
 50219  	FpwszServerPrincName  LPWSTR
 50220  	FdwAuthnLevel         DWORD
 50221  	FdwImpersonationLevel DWORD
 50222  	FpAuthIdentityData    uintptr
 50223  	FdwCapabilities       DWORD
 50224  	F__ccgo_pad1          [4]byte
 50225  }
 50226  
 50227  type COAUTHINFO = _COAUTHINFO
 50228  
 50229  type SCODE = LONG
 50230  type PSCODE = uintptr
 50231  
 50232  type MEMCTX = int32
 50233  
 50234  type CLSCTX = int32
 50235  
 50236  type MSHLFLAGS = uint32
 50237  
 50238  type MSHCTX = uint32
 50239  
 50240  type _BYTE_BLOB = struct {
 50241  	FclSize      ULONG
 50242  	FabData      [1]byte
 50243  	F__ccgo_pad1 [3]byte
 50244  }
 50245  
 50246  type BYTE_BLOB = _BYTE_BLOB
 50247  
 50248  type UP_BYTE_BLOB = uintptr
 50249  
 50250  type _WORD_BLOB = struct {
 50251  	FclSize      ULONG
 50252  	FasData      [1]uint16
 50253  	F__ccgo_pad1 [2]byte
 50254  }
 50255  
 50256  type WORD_BLOB = _WORD_BLOB
 50257  
 50258  type UP_WORD_BLOB = uintptr
 50259  
 50260  type _DWORD_BLOB = struct {
 50261  	FclSize ULONG
 50262  	FalData [1]ULONG
 50263  }
 50264  
 50265  type DWORD_BLOB = _DWORD_BLOB
 50266  
 50267  type UP_DWORD_BLOB = uintptr
 50268  
 50269  type _FLAGGED_BYTE_BLOB = struct {
 50270  	FfFlags      ULONG
 50271  	FclSize      ULONG
 50272  	FabData      [1]byte
 50273  	F__ccgo_pad1 [3]byte
 50274  }
 50275  
 50276  type FLAGGED_BYTE_BLOB = _FLAGGED_BYTE_BLOB
 50277  
 50278  type UP_FLAGGED_BYTE_BLOB = uintptr
 50279  
 50280  type _FLAGGED_WORD_BLOB = struct {
 50281  	FfFlags      ULONG
 50282  	FclSize      ULONG
 50283  	FasData      [1]uint16
 50284  	F__ccgo_pad1 [2]byte
 50285  }
 50286  
 50287  type FLAGGED_WORD_BLOB = _FLAGGED_WORD_BLOB
 50288  
 50289  type UP_FLAGGED_WORD_BLOB = uintptr
 50290  
 50291  type _BYTE_SIZEDARR = struct {
 50292  	FclSize      ULONG
 50293  	F__ccgo_pad1 [4]byte
 50294  	FpData       uintptr
 50295  }
 50296  
 50297  type BYTE_SIZEDARR = _BYTE_SIZEDARR
 50298  
 50299  type _SHORT_SIZEDARR = struct {
 50300  	FclSize      ULONG
 50301  	F__ccgo_pad1 [4]byte
 50302  	FpData       uintptr
 50303  }
 50304  
 50305  type WORD_SIZEDARR = _SHORT_SIZEDARR
 50306  
 50307  type _LONG_SIZEDARR = struct {
 50308  	FclSize      ULONG
 50309  	F__ccgo_pad1 [4]byte
 50310  	FpData       uintptr
 50311  }
 50312  
 50313  type DWORD_SIZEDARR = _LONG_SIZEDARR
 50314  
 50315  type _HYPER_SIZEDARR = struct {
 50316  	FclSize      ULONG
 50317  	F__ccgo_pad1 [4]byte
 50318  	FpData       uintptr
 50319  }
 50320  
 50321  type HYPER_SIZEDARR = _HYPER_SIZEDARR
 50322  
 50323  type tagBLOB = struct {
 50324  	FcbSize      ULONG
 50325  	F__ccgo_pad1 [4]byte
 50326  	FpBlobData   uintptr
 50327  }
 50328  
 50329  type BLOB = tagBLOB
 50330  type LPBLOB = uintptr
 50331  
 50332  type IUnknown1 = struct{ FlpVtbl uintptr }
 50333  
 50334  type IUnknown = IUnknown1
 50335  
 50336  type AsyncIUnknown1 = struct{ FlpVtbl uintptr }
 50337  
 50338  type AsyncIUnknown = AsyncIUnknown1
 50339  
 50340  type IClassFactory1 = struct{ FlpVtbl uintptr }
 50341  
 50342  type IClassFactory = IClassFactory1
 50343  
 50344  type LPUNKNOWN = uintptr
 50345  type IUnknownVtbl1 = struct {
 50346  	FQueryInterface uintptr
 50347  	FAddRef         uintptr
 50348  	FRelease        uintptr
 50349  }
 50350  
 50351  type IUnknownVtbl = IUnknownVtbl1
 50352  type AsyncIUnknownVtbl1 = struct {
 50353  	FQueryInterface        uintptr
 50354  	FAddRef                uintptr
 50355  	FRelease               uintptr
 50356  	FBegin_QueryInterface  uintptr
 50357  	FFinish_QueryInterface uintptr
 50358  	FBegin_AddRef          uintptr
 50359  	FFinish_AddRef         uintptr
 50360  	FBegin_Release         uintptr
 50361  	FFinish_Release        uintptr
 50362  }
 50363  
 50364  type AsyncIUnknownVtbl = AsyncIUnknownVtbl1
 50365  
 50366  type LPCLASSFACTORY = uintptr
 50367  type IClassFactoryVtbl1 = struct {
 50368  	FQueryInterface uintptr
 50369  	FAddRef         uintptr
 50370  	FRelease        uintptr
 50371  	FCreateInstance uintptr
 50372  	FLockServer     uintptr
 50373  }
 50374  
 50375  type IClassFactoryVtbl = IClassFactoryVtbl1
 50376  
 50377  type IMarshal1 = struct{ FlpVtbl uintptr }
 50378  
 50379  type IMarshal = IMarshal1
 50380  
 50381  type INoMarshal1 = struct{ FlpVtbl uintptr }
 50382  
 50383  type INoMarshal = INoMarshal1
 50384  
 50385  type IAgileObject1 = struct{ FlpVtbl uintptr }
 50386  
 50387  type IAgileObject = IAgileObject1
 50388  
 50389  type IAgileReference1 = struct{ FlpVtbl uintptr }
 50390  
 50391  type IAgileReference = IAgileReference1
 50392  
 50393  type IMarshal21 = struct{ FlpVtbl uintptr }
 50394  
 50395  type IMarshal2 = IMarshal21
 50396  
 50397  type IMalloc1 = struct{ FlpVtbl uintptr }
 50398  
 50399  type IMalloc = IMalloc1
 50400  
 50401  type IStdMarshalInfo1 = struct{ FlpVtbl uintptr }
 50402  
 50403  type IStdMarshalInfo = IStdMarshalInfo1
 50404  
 50405  type IExternalConnection1 = struct{ FlpVtbl uintptr }
 50406  
 50407  type IExternalConnection = IExternalConnection1
 50408  
 50409  type IMultiQI1 = struct{ FlpVtbl uintptr }
 50410  
 50411  type IMultiQI = IMultiQI1
 50412  
 50413  type AsyncIMultiQI1 = struct{ FlpVtbl uintptr }
 50414  
 50415  type AsyncIMultiQI = AsyncIMultiQI1
 50416  
 50417  type IInternalUnknown1 = struct{ FlpVtbl uintptr }
 50418  
 50419  type IInternalUnknown = IInternalUnknown1
 50420  
 50421  type IEnumUnknown1 = struct{ FlpVtbl uintptr }
 50422  
 50423  type IEnumUnknown = IEnumUnknown1
 50424  
 50425  type IEnumString1 = struct{ FlpVtbl uintptr }
 50426  
 50427  type IEnumString = IEnumString1
 50428  
 50429  type ISequentialStream1 = struct{ FlpVtbl uintptr }
 50430  
 50431  type ISequentialStream = ISequentialStream1
 50432  
 50433  type IStream1 = struct{ FlpVtbl uintptr }
 50434  
 50435  type IStream = IStream1
 50436  
 50437  type IRpcChannelBuffer21 = struct{ FlpVtbl uintptr }
 50438  
 50439  type IRpcChannelBuffer2 = IRpcChannelBuffer21
 50440  
 50441  type IAsyncRpcChannelBuffer1 = struct{ FlpVtbl uintptr }
 50442  
 50443  type IAsyncRpcChannelBuffer = IAsyncRpcChannelBuffer1
 50444  
 50445  type IRpcChannelBuffer31 = struct{ FlpVtbl uintptr }
 50446  
 50447  type IRpcChannelBuffer3 = IRpcChannelBuffer31
 50448  
 50449  type IRpcSyntaxNegotiate1 = struct{ FlpVtbl uintptr }
 50450  
 50451  type IRpcSyntaxNegotiate = IRpcSyntaxNegotiate1
 50452  
 50453  type IRpcProxyBuffer1 = struct{ FlpVtbl uintptr }
 50454  
 50455  type IRpcProxyBuffer = IRpcProxyBuffer1
 50456  
 50457  type IPSFactoryBuffer1 = struct{ FlpVtbl uintptr }
 50458  
 50459  type IPSFactoryBuffer = IPSFactoryBuffer1
 50460  
 50461  type IChannelHook1 = struct{ FlpVtbl uintptr }
 50462  
 50463  type IChannelHook = IChannelHook1
 50464  
 50465  type IClientSecurity1 = struct{ FlpVtbl uintptr }
 50466  
 50467  type IClientSecurity = IClientSecurity1
 50468  
 50469  type IServerSecurity1 = struct{ FlpVtbl uintptr }
 50470  
 50471  type IServerSecurity = IServerSecurity1
 50472  
 50473  type IRpcOptions1 = struct{ FlpVtbl uintptr }
 50474  
 50475  type IRpcOptions = IRpcOptions1
 50476  
 50477  type IGlobalOptions1 = struct{ FlpVtbl uintptr }
 50478  
 50479  type IGlobalOptions = IGlobalOptions1
 50480  
 50481  type ISurrogate1 = struct{ FlpVtbl uintptr }
 50482  
 50483  type ISurrogate = ISurrogate1
 50484  
 50485  type IGlobalInterfaceTable1 = struct{ FlpVtbl uintptr }
 50486  
 50487  type IGlobalInterfaceTable = IGlobalInterfaceTable1
 50488  
 50489  type ISynchronize1 = struct{ FlpVtbl uintptr }
 50490  
 50491  type ISynchronize = ISynchronize1
 50492  
 50493  type ISynchronizeHandle1 = struct{ FlpVtbl uintptr }
 50494  
 50495  type ISynchronizeHandle = ISynchronizeHandle1
 50496  
 50497  type ISynchronizeEvent1 = struct{ FlpVtbl uintptr }
 50498  
 50499  type ISynchronizeEvent = ISynchronizeEvent1
 50500  
 50501  type ISynchronizeContainer1 = struct{ FlpVtbl uintptr }
 50502  
 50503  type ISynchronizeContainer = ISynchronizeContainer1
 50504  
 50505  type ISynchronizeMutex1 = struct{ FlpVtbl uintptr }
 50506  
 50507  type ISynchronizeMutex = ISynchronizeMutex1
 50508  
 50509  type ICancelMethodCalls1 = struct{ FlpVtbl uintptr }
 50510  
 50511  type ICancelMethodCalls = ICancelMethodCalls1
 50512  
 50513  type IAsyncManager1 = struct{ FlpVtbl uintptr }
 50514  
 50515  type IAsyncManager = IAsyncManager1
 50516  
 50517  type ICallFactory1 = struct{ FlpVtbl uintptr }
 50518  
 50519  type ICallFactory = ICallFactory1
 50520  
 50521  type IRpcHelper1 = struct{ FlpVtbl uintptr }
 50522  
 50523  type IRpcHelper = IRpcHelper1
 50524  
 50525  type IReleaseMarshalBuffers1 = struct{ FlpVtbl uintptr }
 50526  
 50527  type IReleaseMarshalBuffers = IReleaseMarshalBuffers1
 50528  
 50529  type IWaitMultiple1 = struct{ FlpVtbl uintptr }
 50530  
 50531  type IWaitMultiple = IWaitMultiple1
 50532  
 50533  type IAddrTrackingControl1 = struct{ FlpVtbl uintptr }
 50534  
 50535  type IAddrTrackingControl = IAddrTrackingControl1
 50536  
 50537  type IAddrExclusionControl1 = struct{ FlpVtbl uintptr }
 50538  
 50539  type IAddrExclusionControl = IAddrExclusionControl1
 50540  
 50541  type IPipeByte1 = struct{ FlpVtbl uintptr }
 50542  
 50543  type IPipeByte = IPipeByte1
 50544  
 50545  type IPipeLong1 = struct{ FlpVtbl uintptr }
 50546  
 50547  type IPipeLong = IPipeLong1
 50548  
 50549  type IPipeDouble1 = struct{ FlpVtbl uintptr }
 50550  
 50551  type IPipeDouble = IPipeDouble1
 50552  
 50553  type IComThreadingInfo1 = struct{ FlpVtbl uintptr }
 50554  
 50555  type IComThreadingInfo = IComThreadingInfo1
 50556  
 50557  type IProcessInitControl1 = struct{ FlpVtbl uintptr }
 50558  
 50559  type IProcessInitControl = IProcessInitControl1
 50560  
 50561  type IFastRundown1 = struct{ FlpVtbl uintptr }
 50562  
 50563  type IFastRundown = IFastRundown1
 50564  
 50565  type IMarshalingStream1 = struct{ FlpVtbl uintptr }
 50566  
 50567  type IMarshalingStream = IMarshalingStream1
 50568  
 50569  type _COSERVERINFO = struct {
 50570  	FdwReserved1 DWORD
 50571  	F__ccgo_pad1 [4]byte
 50572  	FpwszName    LPWSTR
 50573  	FpAuthInfo   uintptr
 50574  	FdwReserved2 DWORD
 50575  	F__ccgo_pad2 [4]byte
 50576  }
 50577  
 50578  type COSERVERINFO = _COSERVERINFO
 50579  
 50580  type LPMARSHAL = uintptr
 50581  type IMarshalVtbl1 = struct {
 50582  	FQueryInterface     uintptr
 50583  	FAddRef             uintptr
 50584  	FRelease            uintptr
 50585  	FGetUnmarshalClass  uintptr
 50586  	FGetMarshalSizeMax  uintptr
 50587  	FMarshalInterface   uintptr
 50588  	FUnmarshalInterface uintptr
 50589  	FReleaseMarshalData uintptr
 50590  	FDisconnectObject   uintptr
 50591  }
 50592  
 50593  type IMarshalVtbl = IMarshalVtbl1
 50594  type INoMarshalVtbl1 = struct {
 50595  	FQueryInterface uintptr
 50596  	FAddRef         uintptr
 50597  	FRelease        uintptr
 50598  }
 50599  
 50600  type INoMarshalVtbl = INoMarshalVtbl1
 50601  type IAgileObjectVtbl1 = struct {
 50602  	FQueryInterface uintptr
 50603  	FAddRef         uintptr
 50604  	FRelease        uintptr
 50605  }
 50606  
 50607  type IAgileObjectVtbl = IAgileObjectVtbl1
 50608  type IAgileReferenceVtbl1 = struct {
 50609  	FQueryInterface uintptr
 50610  	FAddRef         uintptr
 50611  	FRelease        uintptr
 50612  	FResolve        uintptr
 50613  }
 50614  
 50615  type IAgileReferenceVtbl = IAgileReferenceVtbl1
 50616  
 50617  type LPMARSHAL2 = uintptr
 50618  type IMarshal2Vtbl1 = struct {
 50619  	FQueryInterface     uintptr
 50620  	FAddRef             uintptr
 50621  	FRelease            uintptr
 50622  	FGetUnmarshalClass  uintptr
 50623  	FGetMarshalSizeMax  uintptr
 50624  	FMarshalInterface   uintptr
 50625  	FUnmarshalInterface uintptr
 50626  	FReleaseMarshalData uintptr
 50627  	FDisconnectObject   uintptr
 50628  }
 50629  
 50630  type IMarshal2Vtbl = IMarshal2Vtbl1
 50631  
 50632  type LPMALLOC = uintptr
 50633  type IMallocVtbl1 = struct {
 50634  	FQueryInterface uintptr
 50635  	FAddRef         uintptr
 50636  	FRelease        uintptr
 50637  	FAlloc          uintptr
 50638  	FRealloc        uintptr
 50639  	FFree           uintptr
 50640  	FGetSize        uintptr
 50641  	FDidAlloc       uintptr
 50642  	FHeapMinimize   uintptr
 50643  }
 50644  
 50645  type IMallocVtbl = IMallocVtbl1
 50646  
 50647  type LPSTDMARSHALINFO = uintptr
 50648  type IStdMarshalInfoVtbl1 = struct {
 50649  	FQueryInterface     uintptr
 50650  	FAddRef             uintptr
 50651  	FRelease            uintptr
 50652  	FGetClassForHandler uintptr
 50653  }
 50654  
 50655  type IStdMarshalInfoVtbl = IStdMarshalInfoVtbl1
 50656  
 50657  type LPEXTERNALCONNECTION = uintptr
 50658  
 50659  type EXTCONN = uint32
 50660  type IExternalConnectionVtbl1 = struct {
 50661  	FQueryInterface    uintptr
 50662  	FAddRef            uintptr
 50663  	FRelease           uintptr
 50664  	FAddConnection     uintptr
 50665  	FReleaseConnection uintptr
 50666  }
 50667  
 50668  type IExternalConnectionVtbl = IExternalConnectionVtbl1
 50669  
 50670  type LPMULTIQI = uintptr
 50671  
 50672  type tagMULTI_QI = struct {
 50673  	FpIID        uintptr
 50674  	FpItf        uintptr
 50675  	Fhr          HRESULT
 50676  	F__ccgo_pad1 [4]byte
 50677  }
 50678  
 50679  type MULTI_QI = tagMULTI_QI
 50680  type IMultiQIVtbl1 = struct {
 50681  	FQueryInterface          uintptr
 50682  	FAddRef                  uintptr
 50683  	FRelease                 uintptr
 50684  	FQueryMultipleInterfaces uintptr
 50685  }
 50686  
 50687  type IMultiQIVtbl = IMultiQIVtbl1
 50688  type AsyncIMultiQIVtbl1 = struct {
 50689  	FQueryInterface                 uintptr
 50690  	FAddRef                         uintptr
 50691  	FRelease                        uintptr
 50692  	FBegin_QueryMultipleInterfaces  uintptr
 50693  	FFinish_QueryMultipleInterfaces uintptr
 50694  }
 50695  
 50696  type AsyncIMultiQIVtbl = AsyncIMultiQIVtbl1
 50697  type IInternalUnknownVtbl1 = struct {
 50698  	FQueryInterface         uintptr
 50699  	FAddRef                 uintptr
 50700  	FRelease                uintptr
 50701  	FQueryInternalInterface uintptr
 50702  }
 50703  
 50704  type IInternalUnknownVtbl = IInternalUnknownVtbl1
 50705  
 50706  type LPENUMUNKNOWN = uintptr
 50707  type IEnumUnknownVtbl1 = struct {
 50708  	FQueryInterface uintptr
 50709  	FAddRef         uintptr
 50710  	FRelease        uintptr
 50711  	FNext           uintptr
 50712  	FSkip           uintptr
 50713  	FReset          uintptr
 50714  	FClone          uintptr
 50715  }
 50716  
 50717  type IEnumUnknownVtbl = IEnumUnknownVtbl1
 50718  
 50719  type LPENUMSTRING = uintptr
 50720  type IEnumStringVtbl1 = struct {
 50721  	FQueryInterface uintptr
 50722  	FAddRef         uintptr
 50723  	FRelease        uintptr
 50724  	FNext           uintptr
 50725  	FSkip           uintptr
 50726  	FReset          uintptr
 50727  	FClone          uintptr
 50728  }
 50729  
 50730  type IEnumStringVtbl = IEnumStringVtbl1
 50731  type ISequentialStreamVtbl1 = struct {
 50732  	FQueryInterface uintptr
 50733  	FAddRef         uintptr
 50734  	FRelease        uintptr
 50735  	FRead           uintptr
 50736  	FWrite          uintptr
 50737  }
 50738  
 50739  type ISequentialStreamVtbl = ISequentialStreamVtbl1
 50740  
 50741  type LPSTREAM = uintptr
 50742  
 50743  type tagSTATSTG = struct {
 50744  	FpwcsName          LPOLESTR
 50745  	Ftype              DWORD
 50746  	F__ccgo_pad1       [4]byte
 50747  	FcbSize            ULARGE_INTEGER
 50748  	Fmtime             FILETIME
 50749  	Fctime             FILETIME
 50750  	Fatime             FILETIME
 50751  	FgrfMode           DWORD
 50752  	FgrfLocksSupported DWORD
 50753  	Fclsid             CLSID
 50754  	FgrfStateBits      DWORD
 50755  	Freserved          DWORD
 50756  }
 50757  
 50758  type STATSTG = tagSTATSTG
 50759  
 50760  type STGTY = uint32
 50761  
 50762  type STREAM_SEEK = uint32
 50763  
 50764  type LOCKTYPE = uint32
 50765  type IStreamVtbl1 = struct {
 50766  	FQueryInterface uintptr
 50767  	FAddRef         uintptr
 50768  	FRelease        uintptr
 50769  	FRead           uintptr
 50770  	FWrite          uintptr
 50771  	FSeek           uintptr
 50772  	FSetSize        uintptr
 50773  	FCopyTo         uintptr
 50774  	FCommit         uintptr
 50775  	FRevert         uintptr
 50776  	FLockRegion     uintptr
 50777  	FUnlockRegion   uintptr
 50778  	FStat           uintptr
 50779  	FClone          uintptr
 50780  }
 50781  
 50782  type IStreamVtbl = IStreamVtbl1
 50783  
 50784  type RPCOLEDATAREP = ULONG
 50785  
 50786  type tagRPCOLEMESSAGE = struct {
 50787  	Freserved1          uintptr
 50788  	FdataRepresentation RPCOLEDATAREP
 50789  	F__ccgo_pad1        [4]byte
 50790  	FBuffer             uintptr
 50791  	FcbBuffer           ULONG
 50792  	FiMethod            ULONG
 50793  	Freserved2          [5]uintptr
 50794  	FrpcFlags           ULONG
 50795  	F__ccgo_pad2        [4]byte
 50796  }
 50797  
 50798  type RPCOLEMESSAGE = tagRPCOLEMESSAGE
 50799  
 50800  type PRPCOLEMESSAGE = uintptr
 50801  type IRpcChannelBufferVtbl1 = struct {
 50802  	FQueryInterface uintptr
 50803  	FAddRef         uintptr
 50804  	FRelease        uintptr
 50805  	FGetBuffer      uintptr
 50806  	FSendReceive    uintptr
 50807  	FFreeBuffer     uintptr
 50808  	FGetDestCtx     uintptr
 50809  	FIsConnected    uintptr
 50810  }
 50811  
 50812  type IRpcChannelBufferVtbl = IRpcChannelBufferVtbl1
 50813  type IRpcChannelBuffer2Vtbl1 = struct {
 50814  	FQueryInterface     uintptr
 50815  	FAddRef             uintptr
 50816  	FRelease            uintptr
 50817  	FGetBuffer          uintptr
 50818  	FSendReceive        uintptr
 50819  	FFreeBuffer         uintptr
 50820  	FGetDestCtx         uintptr
 50821  	FIsConnected        uintptr
 50822  	FGetProtocolVersion uintptr
 50823  }
 50824  
 50825  type IRpcChannelBuffer2Vtbl = IRpcChannelBuffer2Vtbl1
 50826  type IAsyncRpcChannelBufferVtbl1 = struct {
 50827  	FQueryInterface     uintptr
 50828  	FAddRef             uintptr
 50829  	FRelease            uintptr
 50830  	FGetBuffer          uintptr
 50831  	FSendReceive        uintptr
 50832  	FFreeBuffer         uintptr
 50833  	FGetDestCtx         uintptr
 50834  	FIsConnected        uintptr
 50835  	FGetProtocolVersion uintptr
 50836  	FSend               uintptr
 50837  	FReceive            uintptr
 50838  	FGetDestCtxEx       uintptr
 50839  }
 50840  
 50841  type IAsyncRpcChannelBufferVtbl = IAsyncRpcChannelBufferVtbl1
 50842  type IRpcChannelBuffer3Vtbl1 = struct {
 50843  	FQueryInterface     uintptr
 50844  	FAddRef             uintptr
 50845  	FRelease            uintptr
 50846  	FGetBuffer          uintptr
 50847  	FSendReceive        uintptr
 50848  	FFreeBuffer         uintptr
 50849  	FGetDestCtx         uintptr
 50850  	FIsConnected        uintptr
 50851  	FGetProtocolVersion uintptr
 50852  	FSend               uintptr
 50853  	FReceive            uintptr
 50854  	FCancel             uintptr
 50855  	FGetCallContext     uintptr
 50856  	FGetDestCtxEx       uintptr
 50857  	FGetState           uintptr
 50858  	FRegisterAsync      uintptr
 50859  }
 50860  
 50861  type IRpcChannelBuffer3Vtbl = IRpcChannelBuffer3Vtbl1
 50862  type IRpcSyntaxNegotiateVtbl1 = struct {
 50863  	FQueryInterface  uintptr
 50864  	FAddRef          uintptr
 50865  	FRelease         uintptr
 50866  	FNegotiateSyntax uintptr
 50867  }
 50868  
 50869  type IRpcSyntaxNegotiateVtbl = IRpcSyntaxNegotiateVtbl1
 50870  type IRpcProxyBufferVtbl1 = struct {
 50871  	FQueryInterface uintptr
 50872  	FAddRef         uintptr
 50873  	FRelease        uintptr
 50874  	FConnect        uintptr
 50875  	FDisconnect     uintptr
 50876  }
 50877  
 50878  type IRpcProxyBufferVtbl = IRpcProxyBufferVtbl1
 50879  type IRpcStubBufferVtbl1 = struct {
 50880  	FQueryInterface            uintptr
 50881  	FAddRef                    uintptr
 50882  	FRelease                   uintptr
 50883  	FConnect                   uintptr
 50884  	FDisconnect                uintptr
 50885  	FInvoke                    uintptr
 50886  	FIsIIDSupported            uintptr
 50887  	FCountRefs                 uintptr
 50888  	FDebugServerQueryInterface uintptr
 50889  	FDebugServerRelease        uintptr
 50890  }
 50891  
 50892  type IRpcStubBufferVtbl = IRpcStubBufferVtbl1
 50893  type IPSFactoryBufferVtbl1 = struct {
 50894  	FQueryInterface uintptr
 50895  	FAddRef         uintptr
 50896  	FRelease        uintptr
 50897  	FCreateProxy    uintptr
 50898  	FCreateStub     uintptr
 50899  }
 50900  
 50901  type IPSFactoryBufferVtbl = IPSFactoryBufferVtbl1
 50902  
 50903  type SChannelHookCallInfo1 = struct {
 50904  	Fiid         IID
 50905  	FcbSize      DWORD
 50906  	FuCausality  GUID
 50907  	FdwServerPid DWORD
 50908  	FiMethod     DWORD
 50909  	F__ccgo_pad1 [4]byte
 50910  	FpObject     uintptr
 50911  }
 50912  
 50913  type SChannelHookCallInfo = SChannelHookCallInfo1
 50914  type IChannelHookVtbl1 = struct {
 50915  	FQueryInterface   uintptr
 50916  	FAddRef           uintptr
 50917  	FRelease          uintptr
 50918  	FClientGetSize    uintptr
 50919  	FClientFillBuffer uintptr
 50920  	FClientNotify     uintptr
 50921  	FServerNotify     uintptr
 50922  	FServerGetSize    uintptr
 50923  	FServerFillBuffer uintptr
 50924  }
 50925  
 50926  type IChannelHookVtbl = IChannelHookVtbl1
 50927  
 50928  type tagSOLE_AUTHENTICATION_SERVICE = struct {
 50929  	FdwAuthnSvc     DWORD
 50930  	FdwAuthzSvc     DWORD
 50931  	FpPrincipalName uintptr
 50932  	Fhr             HRESULT
 50933  	F__ccgo_pad1    [4]byte
 50934  }
 50935  
 50936  type SOLE_AUTHENTICATION_SERVICE = tagSOLE_AUTHENTICATION_SERVICE
 50937  
 50938  type PSOLE_AUTHENTICATION_SERVICE = uintptr
 50939  
 50940  type EOLE_AUTHENTICATION_CAPABILITIES = uint32
 50941  
 50942  type tagSOLE_AUTHENTICATION_INFO = struct {
 50943  	FdwAuthnSvc DWORD
 50944  	FdwAuthzSvc DWORD
 50945  	FpAuthInfo  uintptr
 50946  }
 50947  
 50948  type SOLE_AUTHENTICATION_INFO = tagSOLE_AUTHENTICATION_INFO
 50949  type PSOLE_AUTHENTICATION_INFO = uintptr
 50950  
 50951  type tagSOLE_AUTHENTICATION_LIST = struct {
 50952  	FcAuthInfo   DWORD
 50953  	F__ccgo_pad1 [4]byte
 50954  	FaAuthInfo   uintptr
 50955  }
 50956  
 50957  type SOLE_AUTHENTICATION_LIST = tagSOLE_AUTHENTICATION_LIST
 50958  type PSOLE_AUTHENTICATION_LIST = uintptr
 50959  type IClientSecurityVtbl1 = struct {
 50960  	FQueryInterface uintptr
 50961  	FAddRef         uintptr
 50962  	FRelease        uintptr
 50963  	FQueryBlanket   uintptr
 50964  	FSetBlanket     uintptr
 50965  	FCopyProxy      uintptr
 50966  }
 50967  
 50968  type IClientSecurityVtbl = IClientSecurityVtbl1
 50969  type IServerSecurityVtbl1 = struct {
 50970  	FQueryInterface    uintptr
 50971  	FAddRef            uintptr
 50972  	FRelease           uintptr
 50973  	FQueryBlanket      uintptr
 50974  	FImpersonateClient uintptr
 50975  	FRevertToSelf      uintptr
 50976  	FIsImpersonating   uintptr
 50977  }
 50978  
 50979  type IServerSecurityVtbl = IServerSecurityVtbl1
 50980  
 50981  type RPCOPT_PROPERTIES = uint32
 50982  
 50983  type RPCOPT_SERVER_LOCALITY_VALUES = uint32
 50984  type IRpcOptionsVtbl1 = struct {
 50985  	FQueryInterface uintptr
 50986  	FAddRef         uintptr
 50987  	FRelease        uintptr
 50988  	FSet            uintptr
 50989  	FQuery          uintptr
 50990  }
 50991  
 50992  type IRpcOptionsVtbl = IRpcOptionsVtbl1
 50993  
 50994  type GLOBALOPT_PROPERTIES = uint32
 50995  
 50996  type GLOBALOPT_EH_VALUES = uint32
 50997  
 50998  type GLOBALOPT_RPCTP_VALUES = uint32
 50999  
 51000  type GLOBALOPT_RO_FLAGS = uint32
 51001  
 51002  type GLOBALOPT_UNMARSHALING_POLICY_VALUES = uint32
 51003  type IGlobalOptionsVtbl1 = struct {
 51004  	FQueryInterface uintptr
 51005  	FAddRef         uintptr
 51006  	FRelease        uintptr
 51007  	FSet            uintptr
 51008  	FQuery          uintptr
 51009  }
 51010  
 51011  type IGlobalOptionsVtbl = IGlobalOptionsVtbl1
 51012  
 51013  type LPSURROGATE = uintptr
 51014  type ISurrogateVtbl1 = struct {
 51015  	FQueryInterface uintptr
 51016  	FAddRef         uintptr
 51017  	FRelease        uintptr
 51018  	FLoadDllServer  uintptr
 51019  	FFreeSurrogate  uintptr
 51020  }
 51021  
 51022  type ISurrogateVtbl = ISurrogateVtbl1
 51023  
 51024  type LPGLOBALINTERFACETABLE = uintptr
 51025  type IGlobalInterfaceTableVtbl1 = struct {
 51026  	FQueryInterface            uintptr
 51027  	FAddRef                    uintptr
 51028  	FRelease                   uintptr
 51029  	FRegisterInterfaceInGlobal uintptr
 51030  	FRevokeInterfaceFromGlobal uintptr
 51031  	FGetInterfaceFromGlobal    uintptr
 51032  }
 51033  
 51034  type IGlobalInterfaceTableVtbl = IGlobalInterfaceTableVtbl1
 51035  type ISynchronizeVtbl1 = struct {
 51036  	FQueryInterface uintptr
 51037  	FAddRef         uintptr
 51038  	FRelease        uintptr
 51039  	FWait           uintptr
 51040  	FSignal         uintptr
 51041  	FReset          uintptr
 51042  }
 51043  
 51044  type ISynchronizeVtbl = ISynchronizeVtbl1
 51045  type ISynchronizeHandleVtbl1 = struct {
 51046  	FQueryInterface uintptr
 51047  	FAddRef         uintptr
 51048  	FRelease        uintptr
 51049  	FGetHandle      uintptr
 51050  }
 51051  
 51052  type ISynchronizeHandleVtbl = ISynchronizeHandleVtbl1
 51053  type ISynchronizeEventVtbl1 = struct {
 51054  	FQueryInterface uintptr
 51055  	FAddRef         uintptr
 51056  	FRelease        uintptr
 51057  	FGetHandle      uintptr
 51058  	FSetEventHandle uintptr
 51059  }
 51060  
 51061  type ISynchronizeEventVtbl = ISynchronizeEventVtbl1
 51062  type ISynchronizeContainerVtbl1 = struct {
 51063  	FQueryInterface uintptr
 51064  	FAddRef         uintptr
 51065  	FRelease        uintptr
 51066  	FAddSynchronize uintptr
 51067  	FWaitMultiple   uintptr
 51068  }
 51069  
 51070  type ISynchronizeContainerVtbl = ISynchronizeContainerVtbl1
 51071  type ISynchronizeMutexVtbl1 = struct {
 51072  	FQueryInterface uintptr
 51073  	FAddRef         uintptr
 51074  	FRelease        uintptr
 51075  	FWait           uintptr
 51076  	FSignal         uintptr
 51077  	FReset          uintptr
 51078  	FReleaseMutex   uintptr
 51079  }
 51080  
 51081  type ISynchronizeMutexVtbl = ISynchronizeMutexVtbl1
 51082  
 51083  type LPCANCELMETHODCALLS = uintptr
 51084  type ICancelMethodCallsVtbl1 = struct {
 51085  	FQueryInterface uintptr
 51086  	FAddRef         uintptr
 51087  	FRelease        uintptr
 51088  	FCancel         uintptr
 51089  	FTestCancel     uintptr
 51090  }
 51091  
 51092  type ICancelMethodCallsVtbl = ICancelMethodCallsVtbl1
 51093  
 51094  type DCOM_CALL_STATE = uint32
 51095  type IAsyncManagerVtbl1 = struct {
 51096  	FQueryInterface uintptr
 51097  	FAddRef         uintptr
 51098  	FRelease        uintptr
 51099  	FCompleteCall   uintptr
 51100  	FGetCallContext uintptr
 51101  	FGetState       uintptr
 51102  }
 51103  
 51104  type IAsyncManagerVtbl = IAsyncManagerVtbl1
 51105  type ICallFactoryVtbl1 = struct {
 51106  	FQueryInterface uintptr
 51107  	FAddRef         uintptr
 51108  	FRelease        uintptr
 51109  	FCreateCall     uintptr
 51110  }
 51111  
 51112  type ICallFactoryVtbl = ICallFactoryVtbl1
 51113  type IRpcHelperVtbl1 = struct {
 51114  	FQueryInterface         uintptr
 51115  	FAddRef                 uintptr
 51116  	FRelease                uintptr
 51117  	FGetDCOMProtocolVersion uintptr
 51118  	FGetIIDFromOBJREF       uintptr
 51119  }
 51120  
 51121  type IRpcHelperVtbl = IRpcHelperVtbl1
 51122  type IReleaseMarshalBuffersVtbl1 = struct {
 51123  	FQueryInterface       uintptr
 51124  	FAddRef               uintptr
 51125  	FRelease              uintptr
 51126  	FReleaseMarshalBuffer uintptr
 51127  }
 51128  
 51129  type IReleaseMarshalBuffersVtbl = IReleaseMarshalBuffersVtbl1
 51130  type IWaitMultipleVtbl1 = struct {
 51131  	FQueryInterface uintptr
 51132  	FAddRef         uintptr
 51133  	FRelease        uintptr
 51134  	FWaitMultiple   uintptr
 51135  	FAddSynchronize uintptr
 51136  }
 51137  
 51138  type IWaitMultipleVtbl = IWaitMultipleVtbl1
 51139  
 51140  type LPADDRTRACKINGCONTROL = uintptr
 51141  type IAddrTrackingControlVtbl1 = struct {
 51142  	FQueryInterface                uintptr
 51143  	FAddRef                        uintptr
 51144  	FRelease                       uintptr
 51145  	FEnableCOMDynamicAddrTracking  uintptr
 51146  	FDisableCOMDynamicAddrTracking uintptr
 51147  }
 51148  
 51149  type IAddrTrackingControlVtbl = IAddrTrackingControlVtbl1
 51150  
 51151  type LPADDREXCLUSIONCONTROL = uintptr
 51152  type IAddrExclusionControlVtbl1 = struct {
 51153  	FQueryInterface              uintptr
 51154  	FAddRef                      uintptr
 51155  	FRelease                     uintptr
 51156  	FGetCurrentAddrExclusionList uintptr
 51157  	FUpdateAddrExclusionList     uintptr
 51158  }
 51159  
 51160  type IAddrExclusionControlVtbl = IAddrExclusionControlVtbl1
 51161  type IPipeByteVtbl1 = struct {
 51162  	FQueryInterface uintptr
 51163  	FAddRef         uintptr
 51164  	FRelease        uintptr
 51165  	FPull           uintptr
 51166  	FPush           uintptr
 51167  }
 51168  
 51169  type IPipeByteVtbl = IPipeByteVtbl1
 51170  type IPipeLongVtbl1 = struct {
 51171  	FQueryInterface uintptr
 51172  	FAddRef         uintptr
 51173  	FRelease        uintptr
 51174  	FPull           uintptr
 51175  	FPush           uintptr
 51176  }
 51177  
 51178  type IPipeLongVtbl = IPipeLongVtbl1
 51179  type IPipeDoubleVtbl1 = struct {
 51180  	FQueryInterface uintptr
 51181  	FAddRef         uintptr
 51182  	FRelease        uintptr
 51183  	FPull           uintptr
 51184  	FPush           uintptr
 51185  }
 51186  
 51187  type IPipeDoubleVtbl = IPipeDoubleVtbl1
 51188  
 51189  type APTTYPEQUALIFIER = uint32
 51190  
 51191  type APTTYPE = int32
 51192  
 51193  type THDTYPE = uint32
 51194  
 51195  type APARTMENTID = DWORD
 51196  type IComThreadingInfoVtbl1 = struct {
 51197  	FQueryInterface            uintptr
 51198  	FAddRef                    uintptr
 51199  	FRelease                   uintptr
 51200  	FGetCurrentApartmentType   uintptr
 51201  	FGetCurrentThreadType      uintptr
 51202  	FGetCurrentLogicalThreadId uintptr
 51203  	FSetCurrentLogicalThreadId uintptr
 51204  }
 51205  
 51206  type IComThreadingInfoVtbl = IComThreadingInfoVtbl1
 51207  type IProcessInitControlVtbl1 = struct {
 51208  	FQueryInterface          uintptr
 51209  	FAddRef                  uintptr
 51210  	FRelease                 uintptr
 51211  	FResetInitializerTimeout uintptr
 51212  }
 51213  
 51214  type IProcessInitControlVtbl = IProcessInitControlVtbl1
 51215  type IFastRundownVtbl1 = struct {
 51216  	FQueryInterface uintptr
 51217  	FAddRef         uintptr
 51218  	FRelease        uintptr
 51219  }
 51220  
 51221  type IFastRundownVtbl = IFastRundownVtbl1
 51222  
 51223  type CO_MARSHALING_CONTEXT_ATTRIBUTES = uint32
 51224  type IMarshalingStreamVtbl1 = struct {
 51225  	FQueryInterface                uintptr
 51226  	FAddRef                        uintptr
 51227  	FRelease                       uintptr
 51228  	FRead                          uintptr
 51229  	FWrite                         uintptr
 51230  	FSeek                          uintptr
 51231  	FSetSize                       uintptr
 51232  	FCopyTo                        uintptr
 51233  	FCommit                        uintptr
 51234  	FRevert                        uintptr
 51235  	FLockRegion                    uintptr
 51236  	FUnlockRegion                  uintptr
 51237  	FStat                          uintptr
 51238  	FClone                         uintptr
 51239  	FGetMarshalingContextAttribute uintptr
 51240  }
 51241  
 51242  type IMarshalingStreamVtbl = IMarshalingStreamVtbl1
 51243  
 51244  type STDMSHLFLAGS = uint32
 51245  
 51246  type tagPROPVARIANT = struct {
 51247  	F__0 struct {
 51248  		F__0 struct {
 51249  			Fvt         VARTYPE
 51250  			FwReserved1 PROPVAR_PAD1
 51251  			FwReserved2 PROPVAR_PAD2
 51252  			FwReserved3 PROPVAR_PAD3
 51253  			F__8        struct {
 51254  				F__ccgo_pad1 [0]uint64
 51255  				FcVal        CHAR
 51256  				F__ccgo_pad2 [15]byte
 51257  			}
 51258  		}
 51259  	}
 51260  }
 51261  
 51262  type PROPVARIANT = tagPROPVARIANT
 51263  
 51264  type COWAIT_FLAGS = uint32
 51265  
 51266  type LPFNGETCLASSOBJECT = uintptr
 51267  type LPFNCANUNLOADNOW = uintptr
 51268  
 51269  type COINIT = uint32
 51270  
 51271  type STGFMT = DWORD
 51272  
 51273  type IMallocSpy1 = struct{ FlpVtbl uintptr }
 51274  
 51275  type IMallocSpy = IMallocSpy1
 51276  
 51277  type IBindCtx1 = struct{ FlpVtbl uintptr }
 51278  
 51279  type IBindCtx = IBindCtx1
 51280  
 51281  type IEnumMoniker1 = struct{ FlpVtbl uintptr }
 51282  
 51283  type IEnumMoniker = IEnumMoniker1
 51284  
 51285  type IRunnableObject1 = struct{ FlpVtbl uintptr }
 51286  
 51287  type IRunnableObject = IRunnableObject1
 51288  
 51289  type IRunningObjectTable1 = struct{ FlpVtbl uintptr }
 51290  
 51291  type IRunningObjectTable = IRunningObjectTable1
 51292  
 51293  type IPersist1 = struct{ FlpVtbl uintptr }
 51294  
 51295  type IPersist = IPersist1
 51296  
 51297  type IPersistStream1 = struct{ FlpVtbl uintptr }
 51298  
 51299  type IPersistStream = IPersistStream1
 51300  
 51301  type IMoniker1 = struct{ FlpVtbl uintptr }
 51302  
 51303  type IMoniker = IMoniker1
 51304  
 51305  type IROTData1 = struct{ FlpVtbl uintptr }
 51306  
 51307  type IROTData = IROTData1
 51308  
 51309  type IEnumSTATSTG1 = struct{ FlpVtbl uintptr }
 51310  
 51311  type IEnumSTATSTG = IEnumSTATSTG1
 51312  
 51313  type IStorage1 = struct{ FlpVtbl uintptr }
 51314  
 51315  type IStorage = IStorage1
 51316  
 51317  type IPersistFile1 = struct{ FlpVtbl uintptr }
 51318  
 51319  type IPersistFile = IPersistFile1
 51320  
 51321  type IPersistStorage1 = struct{ FlpVtbl uintptr }
 51322  
 51323  type IPersistStorage = IPersistStorage1
 51324  
 51325  type ILockBytes1 = struct{ FlpVtbl uintptr }
 51326  
 51327  type ILockBytes = ILockBytes1
 51328  
 51329  type IEnumFORMATETC1 = struct{ FlpVtbl uintptr }
 51330  
 51331  type IEnumFORMATETC = IEnumFORMATETC1
 51332  
 51333  type IEnumSTATDATA1 = struct{ FlpVtbl uintptr }
 51334  
 51335  type IEnumSTATDATA = IEnumSTATDATA1
 51336  
 51337  type IRootStorage1 = struct{ FlpVtbl uintptr }
 51338  
 51339  type IRootStorage = IRootStorage1
 51340  
 51341  type IAdviseSink1 = struct{ FlpVtbl uintptr }
 51342  
 51343  type IAdviseSink = IAdviseSink1
 51344  
 51345  type AsyncIAdviseSink1 = struct{ FlpVtbl uintptr }
 51346  
 51347  type AsyncIAdviseSink = AsyncIAdviseSink1
 51348  
 51349  type IAdviseSink21 = struct{ FlpVtbl uintptr }
 51350  
 51351  type IAdviseSink2 = IAdviseSink21
 51352  
 51353  type AsyncIAdviseSink21 = struct{ FlpVtbl uintptr }
 51354  
 51355  type AsyncIAdviseSink2 = AsyncIAdviseSink21
 51356  
 51357  type IDataObject1 = struct{ FlpVtbl uintptr }
 51358  
 51359  type IDataObject = IDataObject1
 51360  
 51361  type IDataAdviseHolder1 = struct{ FlpVtbl uintptr }
 51362  
 51363  type IDataAdviseHolder = IDataAdviseHolder1
 51364  
 51365  type IMessageFilter1 = struct{ FlpVtbl uintptr }
 51366  
 51367  type IMessageFilter = IMessageFilter1
 51368  
 51369  type IClassActivator1 = struct{ FlpVtbl uintptr }
 51370  
 51371  type IClassActivator = IClassActivator1
 51372  
 51373  type IFillLockBytes1 = struct{ FlpVtbl uintptr }
 51374  
 51375  type IFillLockBytes = IFillLockBytes1
 51376  
 51377  type IProgressNotify1 = struct{ FlpVtbl uintptr }
 51378  
 51379  type IProgressNotify = IProgressNotify1
 51380  
 51381  type ILayoutStorage1 = struct{ FlpVtbl uintptr }
 51382  
 51383  type ILayoutStorage = ILayoutStorage1
 51384  
 51385  type IBlockingLock1 = struct{ FlpVtbl uintptr }
 51386  
 51387  type IBlockingLock = IBlockingLock1
 51388  
 51389  type ITimeAndNoticeControl1 = struct{ FlpVtbl uintptr }
 51390  
 51391  type ITimeAndNoticeControl = ITimeAndNoticeControl1
 51392  
 51393  type IOplockStorage1 = struct{ FlpVtbl uintptr }
 51394  
 51395  type IOplockStorage = IOplockStorage1
 51396  
 51397  type IDirectWriterLock1 = struct{ FlpVtbl uintptr }
 51398  
 51399  type IDirectWriterLock = IDirectWriterLock1
 51400  
 51401  type IUrlMon1 = struct{ FlpVtbl uintptr }
 51402  
 51403  type IUrlMon = IUrlMon1
 51404  
 51405  type IForegroundTransfer1 = struct{ FlpVtbl uintptr }
 51406  
 51407  type IForegroundTransfer = IForegroundTransfer1
 51408  
 51409  type IThumbnailExtractor1 = struct{ FlpVtbl uintptr }
 51410  
 51411  type IThumbnailExtractor = IThumbnailExtractor1
 51412  
 51413  type IDummyHICONIncluder1 = struct{ FlpVtbl uintptr }
 51414  
 51415  type IDummyHICONIncluder = IDummyHICONIncluder1
 51416  
 51417  type IProcessLock1 = struct{ FlpVtbl uintptr }
 51418  
 51419  type IProcessLock = IProcessLock1
 51420  
 51421  type ISurrogateService1 = struct{ FlpVtbl uintptr }
 51422  
 51423  type ISurrogateService = ISurrogateService1
 51424  
 51425  type IInitializeSpy1 = struct{ FlpVtbl uintptr }
 51426  
 51427  type IInitializeSpy = IInitializeSpy1
 51428  
 51429  type IApartmentShutdown1 = struct{ FlpVtbl uintptr }
 51430  
 51431  type IApartmentShutdown = IApartmentShutdown1
 51432  type tagRemHGLOBAL = struct {
 51433  	FfNullHGlobal LONG
 51434  	FcbData       ULONG
 51435  	Fdata         [1]byte
 51436  	F__ccgo_pad1  [3]byte
 51437  }
 51438  
 51439  type RemHGLOBAL = tagRemHGLOBAL
 51440  
 51441  type tagRemHMETAFILEPICT = struct {
 51442  	Fmm          LONG
 51443  	FxExt        LONG
 51444  	FyExt        LONG
 51445  	FcbData      ULONG
 51446  	Fdata        [1]byte
 51447  	F__ccgo_pad1 [3]byte
 51448  }
 51449  
 51450  type RemHMETAFILEPICT = tagRemHMETAFILEPICT
 51451  
 51452  type tagRemHENHMETAFILE = struct {
 51453  	FcbData      ULONG
 51454  	Fdata        [1]byte
 51455  	F__ccgo_pad1 [3]byte
 51456  }
 51457  
 51458  type RemHENHMETAFILE = tagRemHENHMETAFILE
 51459  type tagRemHBITMAP = struct {
 51460  	FcbData      ULONG
 51461  	Fdata        [1]byte
 51462  	F__ccgo_pad1 [3]byte
 51463  }
 51464  
 51465  type RemHBITMAP = tagRemHBITMAP
 51466  
 51467  type tagRemHPALETTE = struct {
 51468  	FcbData      ULONG
 51469  	Fdata        [1]byte
 51470  	F__ccgo_pad1 [3]byte
 51471  }
 51472  
 51473  type RemHPALETTE = tagRemHPALETTE
 51474  
 51475  type tagRemBRUSH = struct {
 51476  	FcbData      ULONG
 51477  	Fdata        [1]byte
 51478  	F__ccgo_pad1 [3]byte
 51479  }
 51480  
 51481  type RemHBRUSH = tagRemBRUSH
 51482  
 51483  type DVASPECT = uint32
 51484  
 51485  type STGC = uint32
 51486  
 51487  type STGMOVE = uint32
 51488  
 51489  type STATFLAG = uint32
 51490  type HCONTEXT = uintptr
 51491  
 51492  type _userCLIPFORMAT = struct {
 51493  	FfContext    LONG
 51494  	F__ccgo_pad1 [4]byte
 51495  	Fu           struct {
 51496  		F__ccgo_pad1 [0]uint64
 51497  		FdwValue     DWORD
 51498  		F__ccgo_pad2 [4]byte
 51499  	}
 51500  }
 51501  
 51502  type userCLIPFORMAT = _userCLIPFORMAT
 51503  
 51504  type wireCLIPFORMAT = uintptr
 51505  type CLIPFORMAT = WORD
 51506  
 51507  type _GDI_NONREMOTE = struct {
 51508  	FfContext    LONG
 51509  	F__ccgo_pad1 [4]byte
 51510  	Fu           struct {
 51511  		F__ccgo_pad1 [0]uint64
 51512  		FhInproc     LONG
 51513  		F__ccgo_pad2 [4]byte
 51514  	}
 51515  }
 51516  
 51517  type GDI_NONREMOTE = _GDI_NONREMOTE
 51518  
 51519  type _userHGLOBAL = struct {
 51520  	FfContext    LONG
 51521  	F__ccgo_pad1 [4]byte
 51522  	Fu           struct {
 51523  		F__ccgo_pad1 [0]uint64
 51524  		FhInproc     LONG
 51525  		F__ccgo_pad2 [4]byte
 51526  	}
 51527  }
 51528  
 51529  type userHGLOBAL = _userHGLOBAL
 51530  
 51531  type wireHGLOBAL = uintptr
 51532  
 51533  type _userHMETAFILE = struct {
 51534  	FfContext    LONG
 51535  	F__ccgo_pad1 [4]byte
 51536  	Fu           struct {
 51537  		F__ccgo_pad1 [0]uint64
 51538  		FhInproc     LONG
 51539  		F__ccgo_pad2 [4]byte
 51540  	}
 51541  }
 51542  
 51543  type userHMETAFILE = _userHMETAFILE
 51544  
 51545  type _remoteMETAFILEPICT = struct {
 51546  	Fmm          LONG
 51547  	FxExt        LONG
 51548  	FyExt        LONG
 51549  	F__ccgo_pad1 [4]byte
 51550  	FhMF         uintptr
 51551  }
 51552  
 51553  type remoteMETAFILEPICT = _remoteMETAFILEPICT
 51554  
 51555  type _userHMETAFILEPICT = struct {
 51556  	FfContext    LONG
 51557  	F__ccgo_pad1 [4]byte
 51558  	Fu           struct {
 51559  		F__ccgo_pad1 [0]uint64
 51560  		FhInproc     LONG
 51561  		F__ccgo_pad2 [4]byte
 51562  	}
 51563  }
 51564  
 51565  type userHMETAFILEPICT = _userHMETAFILEPICT
 51566  
 51567  type _userHENHMETAFILE = struct {
 51568  	FfContext    LONG
 51569  	F__ccgo_pad1 [4]byte
 51570  	Fu           struct {
 51571  		F__ccgo_pad1 [0]uint64
 51572  		FhInproc     LONG
 51573  		F__ccgo_pad2 [4]byte
 51574  	}
 51575  }
 51576  
 51577  type userHENHMETAFILE = _userHENHMETAFILE
 51578  
 51579  type _userBITMAP = struct {
 51580  	FbmType       LONG
 51581  	FbmWidth      LONG
 51582  	FbmHeight     LONG
 51583  	FbmWidthBytes LONG
 51584  	FbmPlanes     WORD
 51585  	FbmBitsPixel  WORD
 51586  	FcbSize       ULONG
 51587  	FpBuffer      [1]byte
 51588  	F__ccgo_pad1  [3]byte
 51589  }
 51590  
 51591  type userBITMAP = _userBITMAP
 51592  
 51593  type _userHBITMAP = struct {
 51594  	FfContext    LONG
 51595  	F__ccgo_pad1 [4]byte
 51596  	Fu           struct {
 51597  		F__ccgo_pad1 [0]uint64
 51598  		FhInproc     LONG
 51599  		F__ccgo_pad2 [4]byte
 51600  	}
 51601  }
 51602  
 51603  type userHBITMAP = _userHBITMAP
 51604  
 51605  type _userHPALETTE = struct {
 51606  	FfContext    LONG
 51607  	F__ccgo_pad1 [4]byte
 51608  	Fu           struct {
 51609  		F__ccgo_pad1 [0]uint64
 51610  		FhInproc     LONG
 51611  		F__ccgo_pad2 [4]byte
 51612  	}
 51613  }
 51614  
 51615  type userHPALETTE = _userHPALETTE
 51616  
 51617  type _RemotableHandle = struct {
 51618  	FfContext LONG
 51619  	Fu        struct{ FhInproc LONG }
 51620  }
 51621  
 51622  type RemotableHandle = _RemotableHandle
 51623  
 51624  type wireHWND = uintptr
 51625  type wireHMENU = uintptr
 51626  type wireHACCEL = uintptr
 51627  type wireHBRUSH = uintptr
 51628  type wireHFONT = uintptr
 51629  type wireHDC = uintptr
 51630  type wireHICON = uintptr
 51631  type wireHRGN = uintptr
 51632  type wireHMONITOR = uintptr
 51633  
 51634  type wireHBITMAP = uintptr
 51635  type wireHPALETTE = uintptr
 51636  type wireHENHMETAFILE = uintptr
 51637  type wireHMETAFILE = uintptr
 51638  type wireHMETAFILEPICT = uintptr
 51639  
 51640  type HMETAFILEPICT = uintptr
 51641  
 51642  type DATE = float64
 51643  
 51644  type tagCY = struct {
 51645  	F__ccgo_pad1 [0]uint64
 51646  	Fs           struct {
 51647  		FLo uint32
 51648  		FHi int32
 51649  	}
 51650  }
 51651  
 51652  type CY = tagCY
 51653  
 51654  type LPCY = uintptr
 51655  
 51656  type tagDEC = struct {
 51657  	FwReserved USHORT
 51658  	Fu         struct {
 51659  		F__ccgo_pad1 [0]uint16
 51660  		Fs           struct {
 51661  			Fscale BYTE
 51662  			Fsign  BYTE
 51663  		}
 51664  	}
 51665  	FHi32 ULONG
 51666  	Fu2   struct {
 51667  		F__ccgo_pad1 [0]uint64
 51668  		Fs2          struct {
 51669  			FLo32  ULONG
 51670  			FMid32 ULONG
 51671  		}
 51672  	}
 51673  }
 51674  
 51675  type DECIMAL = tagDEC
 51676  
 51677  type LPDECIMAL = uintptr
 51678  
 51679  type wireBSTR = uintptr
 51680  type BSTR = uintptr
 51681  
 51682  type LPBSTR = uintptr
 51683  
 51684  type VARIANT_BOOL = int16
 51685  
 51686  type tagBSTRBLOB = struct {
 51687  	FcbSize      ULONG
 51688  	F__ccgo_pad1 [4]byte
 51689  	FpData       uintptr
 51690  }
 51691  
 51692  type BSTRBLOB = tagBSTRBLOB
 51693  type LPBSTRBLOB = uintptr
 51694  
 51695  type tagCLIPDATA = struct {
 51696  	FcbSize    ULONG
 51697  	FulClipFmt LONG
 51698  	FpClipData uintptr
 51699  }
 51700  
 51701  type CLIPDATA = tagCLIPDATA
 51702  
 51703  type VARTYPE = uint16
 51704  
 51705  type PROPID = ULONG
 51706  
 51707  type _tagpropertykey = struct {
 51708  	Ffmtid GUID
 51709  	Fpid   DWORD
 51710  }
 51711  
 51712  type PROPERTYKEY = _tagpropertykey
 51713  
 51714  type tagCSPLATFORM = struct {
 51715  	FdwPlatformId    DWORD
 51716  	FdwVersionHi     DWORD
 51717  	FdwVersionLo     DWORD
 51718  	FdwProcessorArch DWORD
 51719  }
 51720  
 51721  type CSPLATFORM = tagCSPLATFORM
 51722  
 51723  type tagQUERYCONTEXT = struct {
 51724  	FdwContext   DWORD
 51725  	FPlatform    CSPLATFORM
 51726  	FLocale      LCID
 51727  	FdwVersionHi DWORD
 51728  	FdwVersionLo DWORD
 51729  }
 51730  
 51731  type QUERYCONTEXT = tagQUERYCONTEXT
 51732  
 51733  type TYSPEC = uint32
 51734  
 51735  type __WIDL_wtypes_generated_name_00000001 = struct {
 51736  	Ftyspec       DWORD
 51737  	F__ccgo_pad1  [4]byte
 51738  	Ftagged_union struct {
 51739  		F__ccgo_pad1 [0]uint64
 51740  		Fclsid       CLSID
 51741  		F__ccgo_pad2 [16]byte
 51742  	}
 51743  }
 51744  
 51745  type uCLSSPEC = __WIDL_wtypes_generated_name_00000001
 51746  
 51747  type LPMALLOCSPY = uintptr
 51748  type IMallocSpyVtbl1 = struct {
 51749  	FQueryInterface   uintptr
 51750  	FAddRef           uintptr
 51751  	FRelease          uintptr
 51752  	FPreAlloc         uintptr
 51753  	FPostAlloc        uintptr
 51754  	FPreFree          uintptr
 51755  	FPostFree         uintptr
 51756  	FPreRealloc       uintptr
 51757  	FPostRealloc      uintptr
 51758  	FPreGetSize       uintptr
 51759  	FPostGetSize      uintptr
 51760  	FPreDidAlloc      uintptr
 51761  	FPostDidAlloc     uintptr
 51762  	FPreHeapMinimize  uintptr
 51763  	FPostHeapMinimize uintptr
 51764  }
 51765  
 51766  type IMallocSpyVtbl = IMallocSpyVtbl1
 51767  
 51768  type LPBC = uintptr
 51769  type LPBINDCTX = uintptr
 51770  type tagBIND_OPTS = struct {
 51771  	FcbStruct            DWORD
 51772  	FgrfFlags            DWORD
 51773  	FgrfMode             DWORD
 51774  	FdwTickCountDeadline DWORD
 51775  }
 51776  
 51777  type BIND_OPTS = tagBIND_OPTS
 51778  type LPBIND_OPTS = uintptr
 51779  type tagBIND_OPTS2 = struct {
 51780  	FcbStruct            DWORD
 51781  	FgrfFlags            DWORD
 51782  	FgrfMode             DWORD
 51783  	FdwTickCountDeadline DWORD
 51784  	FdwTrackFlags        DWORD
 51785  	FdwClassContext      DWORD
 51786  	Flocale              LCID
 51787  	F__ccgo_pad1         [4]byte
 51788  	FpServerInfo         uintptr
 51789  }
 51790  
 51791  type BIND_OPTS2 = tagBIND_OPTS2
 51792  type LPBIND_OPTS2 = uintptr
 51793  type tagBIND_OPTS3 = struct {
 51794  	FcbStruct            DWORD
 51795  	FgrfFlags            DWORD
 51796  	FgrfMode             DWORD
 51797  	FdwTickCountDeadline DWORD
 51798  	FdwTrackFlags        DWORD
 51799  	FdwClassContext      DWORD
 51800  	Flocale              LCID
 51801  	F__ccgo_pad1         [4]byte
 51802  	FpServerInfo         uintptr
 51803  	Fhwnd                HWND
 51804  }
 51805  
 51806  type BIND_OPTS3 = tagBIND_OPTS3
 51807  type LPBIND_OPTS3 = uintptr
 51808  type BIND_FLAGS = uint32
 51809  type IBindCtxVtbl1 = struct {
 51810  	FQueryInterface        uintptr
 51811  	FAddRef                uintptr
 51812  	FRelease               uintptr
 51813  	FRegisterObjectBound   uintptr
 51814  	FRevokeObjectBound     uintptr
 51815  	FReleaseBoundObjects   uintptr
 51816  	FSetBindOptions        uintptr
 51817  	FGetBindOptions        uintptr
 51818  	FGetRunningObjectTable uintptr
 51819  	FRegisterObjectParam   uintptr
 51820  	FGetObjectParam        uintptr
 51821  	FEnumObjectParam       uintptr
 51822  	FRevokeObjectParam     uintptr
 51823  }
 51824  
 51825  type IBindCtxVtbl = IBindCtxVtbl1
 51826  
 51827  type LPENUMMONIKER = uintptr
 51828  type IEnumMonikerVtbl1 = struct {
 51829  	FQueryInterface uintptr
 51830  	FAddRef         uintptr
 51831  	FRelease        uintptr
 51832  	FNext           uintptr
 51833  	FSkip           uintptr
 51834  	FReset          uintptr
 51835  	FClone          uintptr
 51836  }
 51837  
 51838  type IEnumMonikerVtbl = IEnumMonikerVtbl1
 51839  
 51840  type LPRUNNABLEOBJECT = uintptr
 51841  type IRunnableObjectVtbl1 = struct {
 51842  	FQueryInterface     uintptr
 51843  	FAddRef             uintptr
 51844  	FRelease            uintptr
 51845  	FGetRunningClass    uintptr
 51846  	FRun                uintptr
 51847  	FIsRunning          uintptr
 51848  	FLockRunning        uintptr
 51849  	FSetContainedObject uintptr
 51850  }
 51851  
 51852  type IRunnableObjectVtbl = IRunnableObjectVtbl1
 51853  
 51854  type LPRUNNINGOBJECTTABLE = uintptr
 51855  type IRunningObjectTableVtbl1 = struct {
 51856  	FQueryInterface      uintptr
 51857  	FAddRef              uintptr
 51858  	FRelease             uintptr
 51859  	FRegister            uintptr
 51860  	FRevoke              uintptr
 51861  	FIsRunning           uintptr
 51862  	FGetObjectA          uintptr
 51863  	FNoteChangeTime      uintptr
 51864  	FGetTimeOfLastChange uintptr
 51865  	FEnumRunning         uintptr
 51866  }
 51867  
 51868  type IRunningObjectTableVtbl = IRunningObjectTableVtbl1
 51869  
 51870  type LPPERSIST = uintptr
 51871  type IPersistVtbl1 = struct {
 51872  	FQueryInterface uintptr
 51873  	FAddRef         uintptr
 51874  	FRelease        uintptr
 51875  	FGetClassID     uintptr
 51876  }
 51877  
 51878  type IPersistVtbl = IPersistVtbl1
 51879  
 51880  type LPPERSISTSTREAM = uintptr
 51881  type IPersistStreamVtbl1 = struct {
 51882  	FQueryInterface uintptr
 51883  	FAddRef         uintptr
 51884  	FRelease        uintptr
 51885  	FGetClassID     uintptr
 51886  	FIsDirty        uintptr
 51887  	FLoad           uintptr
 51888  	FSave           uintptr
 51889  	FGetSizeMax     uintptr
 51890  }
 51891  
 51892  type IPersistStreamVtbl = IPersistStreamVtbl1
 51893  
 51894  type LPMONIKER = uintptr
 51895  type MKSYS = uint32
 51896  type MKRREDUCE = uint32
 51897  type IMonikerVtbl1 = struct {
 51898  	FQueryInterface      uintptr
 51899  	FAddRef              uintptr
 51900  	FRelease             uintptr
 51901  	FGetClassID          uintptr
 51902  	FIsDirty             uintptr
 51903  	FLoad                uintptr
 51904  	FSave                uintptr
 51905  	FGetSizeMax          uintptr
 51906  	FBindToObject        uintptr
 51907  	FBindToStorage       uintptr
 51908  	FReduce              uintptr
 51909  	FComposeWith         uintptr
 51910  	FEnum                uintptr
 51911  	FIsEqual             uintptr
 51912  	FHash                uintptr
 51913  	FIsRunning           uintptr
 51914  	FGetTimeOfLastChange uintptr
 51915  	FInverse             uintptr
 51916  	FCommonPrefixWith    uintptr
 51917  	FRelativePathTo      uintptr
 51918  	FGetDisplayName      uintptr
 51919  	FParseDisplayName    uintptr
 51920  	FIsSystemMoniker     uintptr
 51921  }
 51922  
 51923  type IMonikerVtbl = IMonikerVtbl1
 51924  type IROTDataVtbl1 = struct {
 51925  	FQueryInterface    uintptr
 51926  	FAddRef            uintptr
 51927  	FRelease           uintptr
 51928  	FGetComparisonData uintptr
 51929  }
 51930  
 51931  type IROTDataVtbl = IROTDataVtbl1
 51932  
 51933  type LPENUMSTATSTG = uintptr
 51934  type IEnumSTATSTGVtbl1 = struct {
 51935  	FQueryInterface uintptr
 51936  	FAddRef         uintptr
 51937  	FRelease        uintptr
 51938  	FNext           uintptr
 51939  	FSkip           uintptr
 51940  	FReset          uintptr
 51941  	FClone          uintptr
 51942  }
 51943  
 51944  type IEnumSTATSTGVtbl = IEnumSTATSTGVtbl1
 51945  
 51946  type LPSTORAGE = uintptr
 51947  type tagRemSNB = struct {
 51948  	FulCntStr    ULONG
 51949  	FulCntChar   ULONG
 51950  	FrgString    [1]OLECHAR
 51951  	F__ccgo_pad1 [2]byte
 51952  }
 51953  
 51954  type RemSNB = tagRemSNB
 51955  type wireSNB = uintptr
 51956  type SNB = uintptr
 51957  type IStorageVtbl1 = struct {
 51958  	FQueryInterface  uintptr
 51959  	FAddRef          uintptr
 51960  	FRelease         uintptr
 51961  	FCreateStream    uintptr
 51962  	FOpenStream      uintptr
 51963  	FCreateStorage   uintptr
 51964  	FOpenStorage     uintptr
 51965  	FCopyTo          uintptr
 51966  	FMoveElementTo   uintptr
 51967  	FCommit          uintptr
 51968  	FRevert          uintptr
 51969  	FEnumElements    uintptr
 51970  	FDestroyElement  uintptr
 51971  	FRenameElement   uintptr
 51972  	FSetElementTimes uintptr
 51973  	FSetClass        uintptr
 51974  	FSetStateBits    uintptr
 51975  	FStat            uintptr
 51976  }
 51977  
 51978  type IStorageVtbl = IStorageVtbl1
 51979  
 51980  type LPPERSISTFILE = uintptr
 51981  type IPersistFileVtbl1 = struct {
 51982  	FQueryInterface uintptr
 51983  	FAddRef         uintptr
 51984  	FRelease        uintptr
 51985  	FGetClassID     uintptr
 51986  	FIsDirty        uintptr
 51987  	FLoad           uintptr
 51988  	FSave           uintptr
 51989  	FSaveCompleted  uintptr
 51990  	FGetCurFile     uintptr
 51991  }
 51992  
 51993  type IPersistFileVtbl = IPersistFileVtbl1
 51994  
 51995  type LPPERSISTSTORAGE = uintptr
 51996  type IPersistStorageVtbl1 = struct {
 51997  	FQueryInterface  uintptr
 51998  	FAddRef          uintptr
 51999  	FRelease         uintptr
 52000  	FGetClassID      uintptr
 52001  	FIsDirty         uintptr
 52002  	FInitNew         uintptr
 52003  	FLoad            uintptr
 52004  	FSave            uintptr
 52005  	FSaveCompleted   uintptr
 52006  	FHandsOffStorage uintptr
 52007  }
 52008  
 52009  type IPersistStorageVtbl = IPersistStorageVtbl1
 52010  
 52011  type LPLOCKBYTES = uintptr
 52012  type ILockBytesVtbl1 = struct {
 52013  	FQueryInterface uintptr
 52014  	FAddRef         uintptr
 52015  	FRelease        uintptr
 52016  	FReadAt         uintptr
 52017  	FWriteAt        uintptr
 52018  	FFlush          uintptr
 52019  	FSetSize        uintptr
 52020  	FLockRegion     uintptr
 52021  	FUnlockRegion   uintptr
 52022  	FStat           uintptr
 52023  }
 52024  
 52025  type ILockBytesVtbl = ILockBytesVtbl1
 52026  
 52027  type LPENUMFORMATETC = uintptr
 52028  type tagDVTARGETDEVICE = struct {
 52029  	FtdSize             DWORD
 52030  	FtdDriverNameOffset WORD
 52031  	FtdDeviceNameOffset WORD
 52032  	FtdPortNameOffset   WORD
 52033  	FtdExtDevmodeOffset WORD
 52034  	FtdData             [1]BYTE
 52035  	F__ccgo_pad1        [3]byte
 52036  }
 52037  
 52038  type DVTARGETDEVICE = tagDVTARGETDEVICE
 52039  type LPCLIPFORMAT = uintptr
 52040  type tagFORMATETC = struct {
 52041  	FcfFormat    CLIPFORMAT
 52042  	F__ccgo_pad1 [6]byte
 52043  	Fptd         uintptr
 52044  	FdwAspect    DWORD
 52045  	Flindex      LONG
 52046  	Ftymed       DWORD
 52047  	F__ccgo_pad2 [4]byte
 52048  }
 52049  
 52050  type FORMATETC = tagFORMATETC
 52051  type LPFORMATETC = uintptr
 52052  type IEnumFORMATETCVtbl1 = struct {
 52053  	FQueryInterface uintptr
 52054  	FAddRef         uintptr
 52055  	FRelease        uintptr
 52056  	FNext           uintptr
 52057  	FSkip           uintptr
 52058  	FReset          uintptr
 52059  	FClone          uintptr
 52060  }
 52061  
 52062  type IEnumFORMATETCVtbl = IEnumFORMATETCVtbl1
 52063  
 52064  type LPENUMSTATDATA = uintptr
 52065  type ADVF = uint32
 52066  type tagSTATDATA = struct {
 52067  	Fformatetc    FORMATETC
 52068  	Fadvf         DWORD
 52069  	F__ccgo_pad1  [4]byte
 52070  	FpAdvSink     uintptr
 52071  	FdwConnection DWORD
 52072  	F__ccgo_pad2  [4]byte
 52073  }
 52074  
 52075  type STATDATA = tagSTATDATA
 52076  type LPSTATDATA = uintptr
 52077  type IEnumSTATDATAVtbl1 = struct {
 52078  	FQueryInterface uintptr
 52079  	FAddRef         uintptr
 52080  	FRelease        uintptr
 52081  	FNext           uintptr
 52082  	FSkip           uintptr
 52083  	FReset          uintptr
 52084  	FClone          uintptr
 52085  }
 52086  
 52087  type IEnumSTATDATAVtbl = IEnumSTATDATAVtbl1
 52088  
 52089  type LPROOTSTORAGE = uintptr
 52090  type IRootStorageVtbl1 = struct {
 52091  	FQueryInterface uintptr
 52092  	FAddRef         uintptr
 52093  	FRelease        uintptr
 52094  	FSwitchToFile   uintptr
 52095  }
 52096  
 52097  type IRootStorageVtbl = IRootStorageVtbl1
 52098  
 52099  type LPADVISESINK = uintptr
 52100  type TYMED = uint32
 52101  type tagRemSTGMEDIUM = struct {
 52102  	Ftymed          DWORD
 52103  	FdwHandleType   DWORD
 52104  	FpData          ULONG
 52105  	FpUnkForRelease ULONG
 52106  	FcbData         ULONG
 52107  	Fdata           [1]byte
 52108  	F__ccgo_pad1    [3]byte
 52109  }
 52110  
 52111  type RemSTGMEDIUM = tagRemSTGMEDIUM
 52112  type tagSTGMEDIUM = struct {
 52113  	Ftymed          DWORD
 52114  	F__ccgo_pad1    [4]byte
 52115  	Fu              struct{ FhBitmap HBITMAP }
 52116  	FpUnkForRelease uintptr
 52117  }
 52118  
 52119  type uSTGMEDIUM = tagSTGMEDIUM
 52120  type _GDI_OBJECT = struct {
 52121  	FObjectType  DWORD
 52122  	F__ccgo_pad1 [4]byte
 52123  	Fu           struct{ FhBitmap wireHBITMAP }
 52124  }
 52125  
 52126  type GDI_OBJECT = _GDI_OBJECT
 52127  type _userSTGMEDIUM = struct {
 52128  	Fu struct {
 52129  		Ftymed       DWORD
 52130  		F__ccgo_pad1 [4]byte
 52131  		Fu           struct{ FhMetaFilePict wireHMETAFILEPICT }
 52132  	}
 52133  	FpUnkForRelease uintptr
 52134  }
 52135  
 52136  type _STGMEDIUM_UNION = struct {
 52137  	Ftymed       DWORD
 52138  	F__ccgo_pad1 [4]byte
 52139  	Fu           struct{ FhMetaFilePict wireHMETAFILEPICT }
 52140  }
 52141  
 52142  type userSTGMEDIUM = _userSTGMEDIUM
 52143  type wireSTGMEDIUM = uintptr
 52144  type STGMEDIUM = uSTGMEDIUM
 52145  type wireASYNC_STGMEDIUM = uintptr
 52146  type ASYNC_STGMEDIUM = STGMEDIUM
 52147  type LPSTGMEDIUM = uintptr
 52148  type _userFLAG_STGMEDIUM = struct {
 52149  	FContextFlags   LONG
 52150  	FfPassOwnership LONG
 52151  	FStgmed         userSTGMEDIUM
 52152  }
 52153  
 52154  type userFLAG_STGMEDIUM = _userFLAG_STGMEDIUM
 52155  type wireFLAG_STGMEDIUM = uintptr
 52156  type _FLAG_STGMEDIUM = struct {
 52157  	FContextFlags   LONG
 52158  	FfPassOwnership LONG
 52159  	FStgmed         STGMEDIUM
 52160  }
 52161  
 52162  type FLAG_STGMEDIUM = _FLAG_STGMEDIUM
 52163  type IAdviseSinkVtbl1 = struct {
 52164  	FQueryInterface uintptr
 52165  	FAddRef         uintptr
 52166  	FRelease        uintptr
 52167  	FOnDataChange   uintptr
 52168  	FOnViewChange   uintptr
 52169  	FOnRename       uintptr
 52170  	FOnSave         uintptr
 52171  	FOnClose        uintptr
 52172  }
 52173  
 52174  type IAdviseSinkVtbl = IAdviseSinkVtbl1
 52175  type AsyncIAdviseSinkVtbl1 = struct {
 52176  	FQueryInterface      uintptr
 52177  	FAddRef              uintptr
 52178  	FRelease             uintptr
 52179  	FBegin_OnDataChange  uintptr
 52180  	FFinish_OnDataChange uintptr
 52181  	FBegin_OnViewChange  uintptr
 52182  	FFinish_OnViewChange uintptr
 52183  	FBegin_OnRename      uintptr
 52184  	FFinish_OnRename     uintptr
 52185  	FBegin_OnSave        uintptr
 52186  	FFinish_OnSave       uintptr
 52187  	FBegin_OnClose       uintptr
 52188  	FFinish_OnClose      uintptr
 52189  }
 52190  
 52191  type AsyncIAdviseSinkVtbl = AsyncIAdviseSinkVtbl1
 52192  
 52193  type LPADVISESINK2 = uintptr
 52194  type IAdviseSink2Vtbl1 = struct {
 52195  	FQueryInterface  uintptr
 52196  	FAddRef          uintptr
 52197  	FRelease         uintptr
 52198  	FOnDataChange    uintptr
 52199  	FOnViewChange    uintptr
 52200  	FOnRename        uintptr
 52201  	FOnSave          uintptr
 52202  	FOnClose         uintptr
 52203  	FOnLinkSrcChange uintptr
 52204  }
 52205  
 52206  type IAdviseSink2Vtbl = IAdviseSink2Vtbl1
 52207  type AsyncIAdviseSink2Vtbl1 = struct {
 52208  	FQueryInterface         uintptr
 52209  	FAddRef                 uintptr
 52210  	FRelease                uintptr
 52211  	FBegin_OnDataChange     uintptr
 52212  	FFinish_OnDataChange    uintptr
 52213  	FBegin_OnViewChange     uintptr
 52214  	FFinish_OnViewChange    uintptr
 52215  	FBegin_OnRename         uintptr
 52216  	FFinish_OnRename        uintptr
 52217  	FBegin_OnSave           uintptr
 52218  	FFinish_OnSave          uintptr
 52219  	FBegin_OnClose          uintptr
 52220  	FFinish_OnClose         uintptr
 52221  	FBegin_OnLinkSrcChange  uintptr
 52222  	FFinish_OnLinkSrcChange uintptr
 52223  }
 52224  
 52225  type AsyncIAdviseSink2Vtbl = AsyncIAdviseSink2Vtbl1
 52226  
 52227  type LPDATAOBJECT = uintptr
 52228  type DATADIR = uint32
 52229  type IDataObjectVtbl1 = struct {
 52230  	FQueryInterface        uintptr
 52231  	FAddRef                uintptr
 52232  	FRelease               uintptr
 52233  	FGetData               uintptr
 52234  	FGetDataHere           uintptr
 52235  	FQueryGetData          uintptr
 52236  	FGetCanonicalFormatEtc uintptr
 52237  	FSetData               uintptr
 52238  	FEnumFormatEtc         uintptr
 52239  	FDAdvise               uintptr
 52240  	FDUnadvise             uintptr
 52241  	FEnumDAdvise           uintptr
 52242  }
 52243  
 52244  type IDataObjectVtbl = IDataObjectVtbl1
 52245  
 52246  type LPDATAADVISEHOLDER = uintptr
 52247  type IDataAdviseHolderVtbl1 = struct {
 52248  	FQueryInterface   uintptr
 52249  	FAddRef           uintptr
 52250  	FRelease          uintptr
 52251  	FAdvise           uintptr
 52252  	FUnadvise         uintptr
 52253  	FEnumAdvise       uintptr
 52254  	FSendOnDataChange uintptr
 52255  }
 52256  
 52257  type IDataAdviseHolderVtbl = IDataAdviseHolderVtbl1
 52258  
 52259  type LPMESSAGEFILTER = uintptr
 52260  type CALLTYPE = uint32
 52261  type SERVERCALL = uint32
 52262  type PENDINGTYPE = uint32
 52263  type PENDINGMSG = uint32
 52264  type tagINTERFACEINFO = struct {
 52265  	FpUnk        uintptr
 52266  	Fiid         IID
 52267  	FwMethod     WORD
 52268  	F__ccgo_pad1 [6]byte
 52269  }
 52270  
 52271  type INTERFACEINFO = tagINTERFACEINFO
 52272  type LPINTERFACEINFO = uintptr
 52273  type IMessageFilterVtbl1 = struct {
 52274  	FQueryInterface     uintptr
 52275  	FAddRef             uintptr
 52276  	FRelease            uintptr
 52277  	FHandleInComingCall uintptr
 52278  	FRetryRejectedCall  uintptr
 52279  	FMessagePending     uintptr
 52280  }
 52281  
 52282  type IMessageFilterVtbl = IMessageFilterVtbl1
 52283  type IClassActivatorVtbl1 = struct {
 52284  	FQueryInterface uintptr
 52285  	FAddRef         uintptr
 52286  	FRelease        uintptr
 52287  	FGetClassObject uintptr
 52288  }
 52289  
 52290  type IClassActivatorVtbl = IClassActivatorVtbl1
 52291  type IFillLockBytesVtbl1 = struct {
 52292  	FQueryInterface uintptr
 52293  	FAddRef         uintptr
 52294  	FRelease        uintptr
 52295  	FFillAppend     uintptr
 52296  	FFillAt         uintptr
 52297  	FSetFillSize    uintptr
 52298  	FTerminate      uintptr
 52299  }
 52300  
 52301  type IFillLockBytesVtbl = IFillLockBytesVtbl1
 52302  type IProgressNotifyVtbl1 = struct {
 52303  	FQueryInterface uintptr
 52304  	FAddRef         uintptr
 52305  	FRelease        uintptr
 52306  	FOnProgress     uintptr
 52307  }
 52308  
 52309  type IProgressNotifyVtbl = IProgressNotifyVtbl1
 52310  
 52311  type tagStorageLayout = struct {
 52312  	FLayoutType      DWORD
 52313  	F__ccgo_pad1     [4]byte
 52314  	FpwcsElementName uintptr
 52315  	FcOffset         LARGE_INTEGER
 52316  	FcBytes          LARGE_INTEGER
 52317  }
 52318  
 52319  type StorageLayout = tagStorageLayout
 52320  type ILayoutStorageVtbl1 = struct {
 52321  	FQueryInterface              uintptr
 52322  	FAddRef                      uintptr
 52323  	FRelease                     uintptr
 52324  	FLayoutScript                uintptr
 52325  	FBeginMonitor                uintptr
 52326  	FEndMonitor                  uintptr
 52327  	FReLayoutDocfile             uintptr
 52328  	FReLayoutDocfileOnILockBytes uintptr
 52329  }
 52330  
 52331  type ILayoutStorageVtbl = ILayoutStorageVtbl1
 52332  type IBlockingLockVtbl1 = struct {
 52333  	FQueryInterface uintptr
 52334  	FAddRef         uintptr
 52335  	FRelease        uintptr
 52336  	FLock           uintptr
 52337  	FUnlock         uintptr
 52338  }
 52339  
 52340  type IBlockingLockVtbl = IBlockingLockVtbl1
 52341  type ITimeAndNoticeControlVtbl1 = struct {
 52342  	FQueryInterface  uintptr
 52343  	FAddRef          uintptr
 52344  	FRelease         uintptr
 52345  	FSuppressChanges uintptr
 52346  }
 52347  
 52348  type ITimeAndNoticeControlVtbl = ITimeAndNoticeControlVtbl1
 52349  type IOplockStorageVtbl1 = struct {
 52350  	FQueryInterface  uintptr
 52351  	FAddRef          uintptr
 52352  	FRelease         uintptr
 52353  	FCreateStorageEx uintptr
 52354  	FOpenStorageEx   uintptr
 52355  }
 52356  
 52357  type IOplockStorageVtbl = IOplockStorageVtbl1
 52358  type IDirectWriterLockVtbl1 = struct {
 52359  	FQueryInterface     uintptr
 52360  	FAddRef             uintptr
 52361  	FRelease            uintptr
 52362  	FWaitForWriteAccess uintptr
 52363  	FReleaseWriteAccess uintptr
 52364  	FHaveWriteAccess    uintptr
 52365  }
 52366  
 52367  type IDirectWriterLockVtbl = IDirectWriterLockVtbl1
 52368  type IUrlMonVtbl1 = struct {
 52369  	FQueryInterface    uintptr
 52370  	FAddRef            uintptr
 52371  	FRelease           uintptr
 52372  	FAsyncGetClassBits uintptr
 52373  }
 52374  
 52375  type IUrlMonVtbl = IUrlMonVtbl1
 52376  type IForegroundTransferVtbl1 = struct {
 52377  	FQueryInterface          uintptr
 52378  	FAddRef                  uintptr
 52379  	FRelease                 uintptr
 52380  	FAllowForegroundTransfer uintptr
 52381  }
 52382  
 52383  type IForegroundTransferVtbl = IForegroundTransferVtbl1
 52384  type IThumbnailExtractorVtbl1 = struct {
 52385  	FQueryInterface   uintptr
 52386  	FAddRef           uintptr
 52387  	FRelease          uintptr
 52388  	FExtractThumbnail uintptr
 52389  	FOnFileUpdated    uintptr
 52390  }
 52391  
 52392  type IThumbnailExtractorVtbl = IThumbnailExtractorVtbl1
 52393  type IDummyHICONIncluderVtbl1 = struct {
 52394  	FQueryInterface uintptr
 52395  	FAddRef         uintptr
 52396  	FRelease        uintptr
 52397  	FDummy          uintptr
 52398  }
 52399  
 52400  type IDummyHICONIncluderVtbl = IDummyHICONIncluderVtbl1
 52401  
 52402  type ApplicationType = uint32
 52403  type ShutdownType = uint32
 52404  type IProcessLockVtbl1 = struct {
 52405  	FQueryInterface      uintptr
 52406  	FAddRef              uintptr
 52407  	FRelease             uintptr
 52408  	FAddRefOnProcess     uintptr
 52409  	FReleaseRefOnProcess uintptr
 52410  }
 52411  
 52412  type IProcessLockVtbl = IProcessLockVtbl1
 52413  type ISurrogateServiceVtbl1 = struct {
 52414  	FQueryInterface    uintptr
 52415  	FAddRef            uintptr
 52416  	FRelease           uintptr
 52417  	FInit              uintptr
 52418  	FApplicationLaunch uintptr
 52419  	FApplicationFree   uintptr
 52420  	FCatalogRefresh    uintptr
 52421  	FProcessShutdown   uintptr
 52422  }
 52423  
 52424  type ISurrogateServiceVtbl = ISurrogateServiceVtbl1
 52425  
 52426  type LPINITIALIZESPY = uintptr
 52427  type IInitializeSpyVtbl1 = struct {
 52428  	FQueryInterface   uintptr
 52429  	FAddRef           uintptr
 52430  	FRelease          uintptr
 52431  	FPreInitialize    uintptr
 52432  	FPostInitialize   uintptr
 52433  	FPreUninitialize  uintptr
 52434  	FPostUninitialize uintptr
 52435  }
 52436  
 52437  type IInitializeSpyVtbl = IInitializeSpyVtbl1
 52438  type IApartmentShutdownVtbl1 = struct {
 52439  	FQueryInterface uintptr
 52440  	FAddRef         uintptr
 52441  	FRelease        uintptr
 52442  	FOnUninitialize uintptr
 52443  }
 52444  
 52445  type IApartmentShutdownVtbl = IApartmentShutdownVtbl1
 52446  
 52447  type COMSD = uint32
 52448  
 52449  type tagSTGOPTIONS = struct {
 52450  	FusVersion        USHORT
 52451  	Freserved         USHORT
 52452  	FulSectorSize     ULONG
 52453  	FpwcsTemplateFile uintptr
 52454  }
 52455  
 52456  type STGOPTIONS = tagSTGOPTIONS
 52457  
 52458  type IPersistMoniker1 = struct{ FlpVtbl uintptr }
 52459  
 52460  type IPersistMoniker = IPersistMoniker1
 52461  
 52462  type IMonikerProp1 = struct{ FlpVtbl uintptr }
 52463  
 52464  type IMonikerProp = IMonikerProp1
 52465  
 52466  type IBindProtocol1 = struct{ FlpVtbl uintptr }
 52467  
 52468  type IBindProtocol = IBindProtocol1
 52469  
 52470  type IBinding1 = struct{ FlpVtbl uintptr }
 52471  
 52472  type IBinding = IBinding1
 52473  
 52474  type IBindStatusCallback1 = struct{ FlpVtbl uintptr }
 52475  
 52476  type IBindStatusCallback = IBindStatusCallback1
 52477  
 52478  type IBindStatusCallbackEx1 = struct{ FlpVtbl uintptr }
 52479  
 52480  type IBindStatusCallbackEx = IBindStatusCallbackEx1
 52481  
 52482  type IAuthenticate1 = struct{ FlpVtbl uintptr }
 52483  
 52484  type IAuthenticate = IAuthenticate1
 52485  
 52486  type IAuthenticateEx1 = struct{ FlpVtbl uintptr }
 52487  
 52488  type IAuthenticateEx = IAuthenticateEx1
 52489  
 52490  type IHttpNegotiate1 = struct{ FlpVtbl uintptr }
 52491  
 52492  type IHttpNegotiate = IHttpNegotiate1
 52493  
 52494  type IHttpNegotiate21 = struct{ FlpVtbl uintptr }
 52495  
 52496  type IHttpNegotiate2 = IHttpNegotiate21
 52497  
 52498  type IHttpNegotiate31 = struct{ FlpVtbl uintptr }
 52499  
 52500  type IHttpNegotiate3 = IHttpNegotiate31
 52501  
 52502  type IWinInetFileStream1 = struct{ FlpVtbl uintptr }
 52503  
 52504  type IWinInetFileStream = IWinInetFileStream1
 52505  
 52506  type IWindowForBindingUI1 = struct{ FlpVtbl uintptr }
 52507  
 52508  type IWindowForBindingUI = IWindowForBindingUI1
 52509  
 52510  type ICodeInstall1 = struct{ FlpVtbl uintptr }
 52511  
 52512  type ICodeInstall = ICodeInstall1
 52513  
 52514  type IWinInetInfo1 = struct{ FlpVtbl uintptr }
 52515  
 52516  type IWinInetInfo = IWinInetInfo1
 52517  
 52518  type IHttpSecurity1 = struct{ FlpVtbl uintptr }
 52519  
 52520  type IHttpSecurity = IHttpSecurity1
 52521  
 52522  type IWinInetHttpInfo1 = struct{ FlpVtbl uintptr }
 52523  
 52524  type IWinInetHttpInfo = IWinInetHttpInfo1
 52525  
 52526  type IWinInetHttpTimeouts1 = struct{ FlpVtbl uintptr }
 52527  
 52528  type IWinInetHttpTimeouts = IWinInetHttpTimeouts1
 52529  
 52530  type IBindHost1 = struct{ FlpVtbl uintptr }
 52531  
 52532  type IBindHost = IBindHost1
 52533  
 52534  type IInternet1 = struct{ FlpVtbl uintptr }
 52535  
 52536  type IInternet = IInternet1
 52537  
 52538  type IInternetBindInfo1 = struct{ FlpVtbl uintptr }
 52539  
 52540  type IInternetBindInfo = IInternetBindInfo1
 52541  
 52542  type IInternetBindInfoEx1 = struct{ FlpVtbl uintptr }
 52543  
 52544  type IInternetBindInfoEx = IInternetBindInfoEx1
 52545  
 52546  type IInternetProtocolRoot1 = struct{ FlpVtbl uintptr }
 52547  
 52548  type IInternetProtocolRoot = IInternetProtocolRoot1
 52549  
 52550  type IInternetProtocol1 = struct{ FlpVtbl uintptr }
 52551  
 52552  type IInternetProtocol = IInternetProtocol1
 52553  
 52554  type IInternetProtocolSink1 = struct{ FlpVtbl uintptr }
 52555  
 52556  type IInternetProtocolSink = IInternetProtocolSink1
 52557  
 52558  type IInternetProtocolSinkStackable1 = struct{ FlpVtbl uintptr }
 52559  
 52560  type IInternetProtocolSinkStackable = IInternetProtocolSinkStackable1
 52561  
 52562  type IInternetSession1 = struct{ FlpVtbl uintptr }
 52563  
 52564  type IInternetSession = IInternetSession1
 52565  
 52566  type IInternetThreadSwitch1 = struct{ FlpVtbl uintptr }
 52567  
 52568  type IInternetThreadSwitch = IInternetThreadSwitch1
 52569  
 52570  type IInternetPriority1 = struct{ FlpVtbl uintptr }
 52571  
 52572  type IInternetPriority = IInternetPriority1
 52573  
 52574  type IInternetProtocolInfo1 = struct{ FlpVtbl uintptr }
 52575  
 52576  type IInternetProtocolInfo = IInternetProtocolInfo1
 52577  
 52578  type IInternetSecurityMgrSite1 = struct{ FlpVtbl uintptr }
 52579  
 52580  type IInternetSecurityMgrSite = IInternetSecurityMgrSite1
 52581  
 52582  type IInternetSecurityManager1 = struct{ FlpVtbl uintptr }
 52583  
 52584  type IInternetSecurityManager = IInternetSecurityManager1
 52585  
 52586  type IInternetHostSecurityManager1 = struct{ FlpVtbl uintptr }
 52587  
 52588  type IInternetHostSecurityManager = IInternetHostSecurityManager1
 52589  
 52590  type IInternetZoneManager1 = struct{ FlpVtbl uintptr }
 52591  
 52592  type IInternetZoneManager = IInternetZoneManager1
 52593  
 52594  type ISoftDistExt1 = struct{ FlpVtbl uintptr }
 52595  
 52596  type ISoftDistExt = ISoftDistExt1
 52597  
 52598  type ICatalogFileInfo1 = struct{ FlpVtbl uintptr }
 52599  
 52600  type ICatalogFileInfo = ICatalogFileInfo1
 52601  
 52602  type IDataFilter1 = struct{ FlpVtbl uintptr }
 52603  
 52604  type IDataFilter = IDataFilter1
 52605  
 52606  type IEncodingFilterFactory1 = struct{ FlpVtbl uintptr }
 52607  
 52608  type IEncodingFilterFactory = IEncodingFilterFactory1
 52609  
 52610  type IWrappedProtocol1 = struct{ FlpVtbl uintptr }
 52611  
 52612  type IWrappedProtocol = IWrappedProtocol1
 52613  
 52614  type IGetBindHandle1 = struct{ FlpVtbl uintptr }
 52615  
 52616  type IGetBindHandle = IGetBindHandle1
 52617  
 52618  type IBindCallbackRedirect1 = struct{ FlpVtbl uintptr }
 52619  
 52620  type IBindCallbackRedirect = IBindCallbackRedirect1
 52621  
 52622  type IOleAdviseHolder1 = struct{ FlpVtbl uintptr }
 52623  
 52624  type IOleAdviseHolder = IOleAdviseHolder1
 52625  
 52626  type IOleCache1 = struct{ FlpVtbl uintptr }
 52627  
 52628  type IOleCache = IOleCache1
 52629  
 52630  type IOleCache21 = struct{ FlpVtbl uintptr }
 52631  
 52632  type IOleCache2 = IOleCache21
 52633  
 52634  type IOleCacheControl1 = struct{ FlpVtbl uintptr }
 52635  
 52636  type IOleCacheControl = IOleCacheControl1
 52637  
 52638  type IParseDisplayName1 = struct{ FlpVtbl uintptr }
 52639  
 52640  type IParseDisplayName = IParseDisplayName1
 52641  
 52642  type IOleContainer1 = struct{ FlpVtbl uintptr }
 52643  
 52644  type IOleContainer = IOleContainer1
 52645  
 52646  type IOleClientSite1 = struct{ FlpVtbl uintptr }
 52647  
 52648  type IOleClientSite = IOleClientSite1
 52649  
 52650  type IOleObject1 = struct{ FlpVtbl uintptr }
 52651  
 52652  type IOleObject = IOleObject1
 52653  
 52654  type IOleWindow1 = struct{ FlpVtbl uintptr }
 52655  
 52656  type IOleWindow = IOleWindow1
 52657  
 52658  type IOleLink1 = struct{ FlpVtbl uintptr }
 52659  
 52660  type IOleLink = IOleLink1
 52661  
 52662  type IOleItemContainer1 = struct{ FlpVtbl uintptr }
 52663  
 52664  type IOleItemContainer = IOleItemContainer1
 52665  
 52666  type IOleInPlaceUIWindow1 = struct{ FlpVtbl uintptr }
 52667  
 52668  type IOleInPlaceUIWindow = IOleInPlaceUIWindow1
 52669  
 52670  type IOleInPlaceActiveObject1 = struct{ FlpVtbl uintptr }
 52671  
 52672  type IOleInPlaceActiveObject = IOleInPlaceActiveObject1
 52673  
 52674  type IOleInPlaceFrame1 = struct{ FlpVtbl uintptr }
 52675  
 52676  type IOleInPlaceFrame = IOleInPlaceFrame1
 52677  
 52678  type IOleInPlaceObject1 = struct{ FlpVtbl uintptr }
 52679  
 52680  type IOleInPlaceObject = IOleInPlaceObject1
 52681  
 52682  type IOleInPlaceSite1 = struct{ FlpVtbl uintptr }
 52683  
 52684  type IOleInPlaceSite = IOleInPlaceSite1
 52685  
 52686  type IContinue1 = struct{ FlpVtbl uintptr }
 52687  
 52688  type IContinue = IContinue1
 52689  
 52690  type IViewObject1 = struct{ FlpVtbl uintptr }
 52691  
 52692  type IViewObject = IViewObject1
 52693  
 52694  type IViewObject21 = struct{ FlpVtbl uintptr }
 52695  
 52696  type IViewObject2 = IViewObject21
 52697  
 52698  type IDropSource1 = struct{ FlpVtbl uintptr }
 52699  
 52700  type IDropSource = IDropSource1
 52701  
 52702  type IDropTarget1 = struct{ FlpVtbl uintptr }
 52703  
 52704  type IDropTarget = IDropTarget1
 52705  
 52706  type IDropSourceNotify1 = struct{ FlpVtbl uintptr }
 52707  
 52708  type IDropSourceNotify = IDropSourceNotify1
 52709  
 52710  type IEnumOLEVERB1 = struct{ FlpVtbl uintptr }
 52711  
 52712  type IEnumOLEVERB = IEnumOLEVERB1
 52713  
 52714  type LPOLEADVISEHOLDER = uintptr
 52715  type IOleAdviseHolderVtbl1 = struct {
 52716  	FQueryInterface uintptr
 52717  	FAddRef         uintptr
 52718  	FRelease        uintptr
 52719  	FAdvise         uintptr
 52720  	FUnadvise       uintptr
 52721  	FEnumAdvise     uintptr
 52722  	FSendOnRename   uintptr
 52723  	FSendOnSave     uintptr
 52724  	FSendOnClose    uintptr
 52725  }
 52726  
 52727  type IOleAdviseHolderVtbl = IOleAdviseHolderVtbl1
 52728  
 52729  type LPOLECACHE = uintptr
 52730  type IOleCacheVtbl1 = struct {
 52731  	FQueryInterface uintptr
 52732  	FAddRef         uintptr
 52733  	FRelease        uintptr
 52734  	FCache          uintptr
 52735  	FUncache        uintptr
 52736  	FEnumCache      uintptr
 52737  	FInitCache      uintptr
 52738  	FSetData        uintptr
 52739  }
 52740  
 52741  type IOleCacheVtbl = IOleCacheVtbl1
 52742  
 52743  type LPOLECACHE2 = uintptr
 52744  
 52745  type DISCARDCACHE = uint32
 52746  type IOleCache2Vtbl1 = struct {
 52747  	FQueryInterface uintptr
 52748  	FAddRef         uintptr
 52749  	FRelease        uintptr
 52750  	FCache          uintptr
 52751  	FUncache        uintptr
 52752  	FEnumCache      uintptr
 52753  	FInitCache      uintptr
 52754  	FSetData        uintptr
 52755  	FUpdateCache    uintptr
 52756  	FDiscardCache   uintptr
 52757  }
 52758  
 52759  type IOleCache2Vtbl = IOleCache2Vtbl1
 52760  
 52761  type LPOLECACHECONTROL = uintptr
 52762  type IOleCacheControlVtbl1 = struct {
 52763  	FQueryInterface uintptr
 52764  	FAddRef         uintptr
 52765  	FRelease        uintptr
 52766  	FOnRun          uintptr
 52767  	FOnStop         uintptr
 52768  }
 52769  
 52770  type IOleCacheControlVtbl = IOleCacheControlVtbl1
 52771  
 52772  type LPPARSEDISPLAYNAME = uintptr
 52773  type IParseDisplayNameVtbl1 = struct {
 52774  	FQueryInterface   uintptr
 52775  	FAddRef           uintptr
 52776  	FRelease          uintptr
 52777  	FParseDisplayName uintptr
 52778  }
 52779  
 52780  type IParseDisplayNameVtbl = IParseDisplayNameVtbl1
 52781  
 52782  type LPOLECONTAINER = uintptr
 52783  type IOleContainerVtbl1 = struct {
 52784  	FQueryInterface   uintptr
 52785  	FAddRef           uintptr
 52786  	FRelease          uintptr
 52787  	FParseDisplayName uintptr
 52788  	FEnumObjects      uintptr
 52789  	FLockContainer    uintptr
 52790  }
 52791  
 52792  type IOleContainerVtbl = IOleContainerVtbl1
 52793  
 52794  type LPOLECLIENTSITE = uintptr
 52795  type IOleClientSiteVtbl1 = struct {
 52796  	FQueryInterface         uintptr
 52797  	FAddRef                 uintptr
 52798  	FRelease                uintptr
 52799  	FSaveObject             uintptr
 52800  	FGetMoniker             uintptr
 52801  	FGetContainer           uintptr
 52802  	FShowObject             uintptr
 52803  	FOnShowWindow           uintptr
 52804  	FRequestNewObjectLayout uintptr
 52805  }
 52806  
 52807  type IOleClientSiteVtbl = IOleClientSiteVtbl1
 52808  
 52809  type LPOLEOBJECT = uintptr
 52810  
 52811  type OLEGETMONIKER = uint32
 52812  
 52813  type OLEWHICHMK = uint32
 52814  
 52815  type USERCLASSTYPE = uint32
 52816  
 52817  type OLEMISC = uint32
 52818  type OLECLOSE = uint32
 52819  type IOleObjectVtbl1 = struct {
 52820  	FQueryInterface   uintptr
 52821  	FAddRef           uintptr
 52822  	FRelease          uintptr
 52823  	FSetClientSite    uintptr
 52824  	FGetClientSite    uintptr
 52825  	FSetHostNames     uintptr
 52826  	FClose            uintptr
 52827  	FSetMoniker       uintptr
 52828  	FGetMoniker       uintptr
 52829  	FInitFromData     uintptr
 52830  	FGetClipboardData uintptr
 52831  	FDoVerb           uintptr
 52832  	FEnumVerbs        uintptr
 52833  	FUpdate           uintptr
 52834  	FIsUpToDate       uintptr
 52835  	FGetUserClassID   uintptr
 52836  	FGetUserType      uintptr
 52837  	FSetExtent        uintptr
 52838  	FGetExtent        uintptr
 52839  	FAdvise           uintptr
 52840  	FUnadvise         uintptr
 52841  	FEnumAdvise       uintptr
 52842  	FGetMiscStatus    uintptr
 52843  	FSetColorScheme   uintptr
 52844  }
 52845  
 52846  type IOleObjectVtbl = IOleObjectVtbl1
 52847  type OLERENDER = uint32
 52848  
 52849  type LPOLERENDER = uintptr
 52850  
 52851  type tagOBJECTDESCRIPTOR = struct {
 52852  	FcbSize             ULONG
 52853  	Fclsid              CLSID
 52854  	FdwDrawAspect       DWORD
 52855  	Fsizel              SIZEL
 52856  	Fpointl             POINTL
 52857  	FdwStatus           DWORD
 52858  	FdwFullUserTypeName DWORD
 52859  	FdwSrcOfCopy        DWORD
 52860  }
 52861  
 52862  type OBJECTDESCRIPTOR = tagOBJECTDESCRIPTOR
 52863  type POBJECTDESCRIPTOR = uintptr
 52864  type LPOBJECTDESCRIPTOR = uintptr
 52865  type LINKSRCDESCRIPTOR = tagOBJECTDESCRIPTOR
 52866  type PLINKSRCDESCRIPTOR = uintptr
 52867  type LPLINKSRCDESCRIPTOR = uintptr
 52868  
 52869  type LPOLEWINDOW = uintptr
 52870  type IOleWindowVtbl1 = struct {
 52871  	FQueryInterface       uintptr
 52872  	FAddRef               uintptr
 52873  	FRelease              uintptr
 52874  	FGetWindow            uintptr
 52875  	FContextSensitiveHelp uintptr
 52876  }
 52877  
 52878  type IOleWindowVtbl = IOleWindowVtbl1
 52879  
 52880  type LPOLELINK = uintptr
 52881  
 52882  type OLEUPDATE = uint32
 52883  
 52884  type LPOLEUPDATE = uintptr
 52885  type POLEUPDATE = uintptr
 52886  
 52887  type OLELINKBIND = uint32
 52888  type IOleLinkVtbl1 = struct {
 52889  	FQueryInterface       uintptr
 52890  	FAddRef               uintptr
 52891  	FRelease              uintptr
 52892  	FSetUpdateOptions     uintptr
 52893  	FGetUpdateOptions     uintptr
 52894  	FSetSourceMoniker     uintptr
 52895  	FGetSourceMoniker     uintptr
 52896  	FSetSourceDisplayName uintptr
 52897  	FGetSourceDisplayName uintptr
 52898  	FBindToSource         uintptr
 52899  	FBindIfRunning        uintptr
 52900  	FGetBoundSource       uintptr
 52901  	FUnbindSource         uintptr
 52902  	FUpdate               uintptr
 52903  }
 52904  
 52905  type IOleLinkVtbl = IOleLinkVtbl1
 52906  
 52907  type LPOLEITEMCONTAINER = uintptr
 52908  
 52909  type BINDSPEED = uint32
 52910  
 52911  type OLECONTF = uint32
 52912  type IOleItemContainerVtbl1 = struct {
 52913  	FQueryInterface   uintptr
 52914  	FAddRef           uintptr
 52915  	FRelease          uintptr
 52916  	FParseDisplayName uintptr
 52917  	FEnumObjects      uintptr
 52918  	FLockContainer    uintptr
 52919  	FGetObjectA       uintptr
 52920  	FGetObjectStorage uintptr
 52921  	FIsRunning        uintptr
 52922  }
 52923  
 52924  type IOleItemContainerVtbl = IOleItemContainerVtbl1
 52925  
 52926  type LPOLEINPLACEUIWINDOW = uintptr
 52927  type BORDERWIDTHS = RECT
 52928  type LPBORDERWIDTHS = LPRECT
 52929  type LPCBORDERWIDTHS = LPCRECT
 52930  type IOleInPlaceUIWindowVtbl1 = struct {
 52931  	FQueryInterface       uintptr
 52932  	FAddRef               uintptr
 52933  	FRelease              uintptr
 52934  	FGetWindow            uintptr
 52935  	FContextSensitiveHelp uintptr
 52936  	FGetBorder            uintptr
 52937  	FRequestBorderSpace   uintptr
 52938  	FSetBorderSpace       uintptr
 52939  	FSetActiveObject      uintptr
 52940  }
 52941  
 52942  type IOleInPlaceUIWindowVtbl = IOleInPlaceUIWindowVtbl1
 52943  
 52944  type LPOLEINPLACEACTIVEOBJECT = uintptr
 52945  type IOleInPlaceActiveObjectVtbl1 = struct {
 52946  	FQueryInterface        uintptr
 52947  	FAddRef                uintptr
 52948  	FRelease               uintptr
 52949  	FGetWindow             uintptr
 52950  	FContextSensitiveHelp  uintptr
 52951  	FTranslateAcceleratorA uintptr
 52952  	FOnFrameWindowActivate uintptr
 52953  	FOnDocWindowActivate   uintptr
 52954  	FResizeBorder          uintptr
 52955  	FEnableModeless        uintptr
 52956  }
 52957  
 52958  type IOleInPlaceActiveObjectVtbl = IOleInPlaceActiveObjectVtbl1
 52959  
 52960  type LPOLEINPLACEFRAME = uintptr
 52961  
 52962  type tagOIFI = struct {
 52963  	Fcb            UINT
 52964  	FfMDIApp       WINBOOL
 52965  	FhwndFrame     HWND
 52966  	Fhaccel        HACCEL
 52967  	FcAccelEntries UINT
 52968  	F__ccgo_pad1   [4]byte
 52969  }
 52970  
 52971  type OLEINPLACEFRAMEINFO = tagOIFI
 52972  type LPOLEINPLACEFRAMEINFO = uintptr
 52973  
 52974  type tagOleMenuGroupWidths = struct{ Fwidth [6]LONG }
 52975  
 52976  type OLEMENUGROUPWIDTHS = tagOleMenuGroupWidths
 52977  type LPOLEMENUGROUPWIDTHS = uintptr
 52978  
 52979  type HOLEMENU = HGLOBAL
 52980  type IOleInPlaceFrameVtbl1 = struct {
 52981  	FQueryInterface        uintptr
 52982  	FAddRef                uintptr
 52983  	FRelease               uintptr
 52984  	FGetWindow             uintptr
 52985  	FContextSensitiveHelp  uintptr
 52986  	FGetBorder             uintptr
 52987  	FRequestBorderSpace    uintptr
 52988  	FSetBorderSpace        uintptr
 52989  	FSetActiveObject       uintptr
 52990  	FInsertMenus           uintptr
 52991  	FSetMenu               uintptr
 52992  	FRemoveMenus           uintptr
 52993  	FSetStatusText         uintptr
 52994  	FEnableModeless        uintptr
 52995  	FTranslateAcceleratorA uintptr
 52996  }
 52997  
 52998  type IOleInPlaceFrameVtbl = IOleInPlaceFrameVtbl1
 52999  
 53000  type LPOLEINPLACEOBJECT = uintptr
 53001  type IOleInPlaceObjectVtbl1 = struct {
 53002  	FQueryInterface       uintptr
 53003  	FAddRef               uintptr
 53004  	FRelease              uintptr
 53005  	FGetWindow            uintptr
 53006  	FContextSensitiveHelp uintptr
 53007  	FInPlaceDeactivate    uintptr
 53008  	FUIDeactivate         uintptr
 53009  	FSetObjectRects       uintptr
 53010  	FReactivateAndUndo    uintptr
 53011  }
 53012  
 53013  type IOleInPlaceObjectVtbl = IOleInPlaceObjectVtbl1
 53014  
 53015  type LPOLEINPLACESITE = uintptr
 53016  type IOleInPlaceSiteVtbl1 = struct {
 53017  	FQueryInterface       uintptr
 53018  	FAddRef               uintptr
 53019  	FRelease              uintptr
 53020  	FGetWindow            uintptr
 53021  	FContextSensitiveHelp uintptr
 53022  	FCanInPlaceActivate   uintptr
 53023  	FOnInPlaceActivate    uintptr
 53024  	FOnUIActivate         uintptr
 53025  	FGetWindowContext     uintptr
 53026  	FScroll               uintptr
 53027  	FOnUIDeactivate       uintptr
 53028  	FOnInPlaceDeactivate  uintptr
 53029  	FDiscardUndoState     uintptr
 53030  	FDeactivateAndUndo    uintptr
 53031  	FOnPosRectChange      uintptr
 53032  }
 53033  
 53034  type IOleInPlaceSiteVtbl = IOleInPlaceSiteVtbl1
 53035  type IContinueVtbl1 = struct {
 53036  	FQueryInterface uintptr
 53037  	FAddRef         uintptr
 53038  	FRelease        uintptr
 53039  	FFContinue      uintptr
 53040  }
 53041  
 53042  type IContinueVtbl = IContinueVtbl1
 53043  
 53044  type LPVIEWOBJECT = uintptr
 53045  type IViewObjectVtbl1 = struct {
 53046  	FQueryInterface uintptr
 53047  	FAddRef         uintptr
 53048  	FRelease        uintptr
 53049  	FDraw           uintptr
 53050  	FGetColorSet    uintptr
 53051  	FFreeze         uintptr
 53052  	FUnfreeze       uintptr
 53053  	FSetAdvise      uintptr
 53054  	FGetAdvise      uintptr
 53055  }
 53056  
 53057  type IViewObjectVtbl = IViewObjectVtbl1
 53058  
 53059  type LPVIEWOBJECT2 = uintptr
 53060  type IViewObject2Vtbl1 = struct {
 53061  	FQueryInterface uintptr
 53062  	FAddRef         uintptr
 53063  	FRelease        uintptr
 53064  	FDraw           uintptr
 53065  	FGetColorSet    uintptr
 53066  	FFreeze         uintptr
 53067  	FUnfreeze       uintptr
 53068  	FSetAdvise      uintptr
 53069  	FGetAdvise      uintptr
 53070  	FGetExtent      uintptr
 53071  }
 53072  
 53073  type IViewObject2Vtbl = IViewObject2Vtbl1
 53074  
 53075  type LPDROPSOURCE = uintptr
 53076  type IDropSourceVtbl1 = struct {
 53077  	FQueryInterface    uintptr
 53078  	FAddRef            uintptr
 53079  	FRelease           uintptr
 53080  	FQueryContinueDrag uintptr
 53081  	FGiveFeedback      uintptr
 53082  }
 53083  
 53084  type IDropSourceVtbl = IDropSourceVtbl1
 53085  
 53086  type LPDROPTARGET = uintptr
 53087  type IDropTargetVtbl1 = struct {
 53088  	FQueryInterface uintptr
 53089  	FAddRef         uintptr
 53090  	FRelease        uintptr
 53091  	FDragEnter      uintptr
 53092  	FDragOver       uintptr
 53093  	FDragLeave      uintptr
 53094  	FDrop           uintptr
 53095  }
 53096  
 53097  type IDropTargetVtbl = IDropTargetVtbl1
 53098  type IDropSourceNotifyVtbl1 = struct {
 53099  	FQueryInterface  uintptr
 53100  	FAddRef          uintptr
 53101  	FRelease         uintptr
 53102  	FDragEnterTarget uintptr
 53103  	FDragLeaveTarget uintptr
 53104  }
 53105  
 53106  type IDropSourceNotifyVtbl = IDropSourceNotifyVtbl1
 53107  
 53108  type LPENUMOLEVERB = uintptr
 53109  
 53110  type tagOLEVERB = struct {
 53111  	FlVerb        LONG
 53112  	F__ccgo_pad1  [4]byte
 53113  	FlpszVerbName LPOLESTR
 53114  	FfuFlags      DWORD
 53115  	FgrfAttribs   DWORD
 53116  }
 53117  
 53118  type OLEVERB = tagOLEVERB
 53119  type LPOLEVERB = uintptr
 53120  
 53121  type OLEVERBATTRIB = uint32
 53122  type IEnumOLEVERBVtbl1 = struct {
 53123  	FQueryInterface uintptr
 53124  	FAddRef         uintptr
 53125  	FRelease        uintptr
 53126  	FNext           uintptr
 53127  	FSkip           uintptr
 53128  	FReset          uintptr
 53129  	FClone          uintptr
 53130  }
 53131  
 53132  type IEnumOLEVERBVtbl = IEnumOLEVERBVtbl1
 53133  
 53134  type IServiceProvider1 = struct{ FlpVtbl uintptr }
 53135  
 53136  type IServiceProvider = IServiceProvider1
 53137  
 53138  type LPSERVICEPROVIDER = uintptr
 53139  type IServiceProviderVtbl1 = struct {
 53140  	FQueryInterface uintptr
 53141  	FAddRef         uintptr
 53142  	FRelease        uintptr
 53143  	FQueryService   uintptr
 53144  }
 53145  
 53146  type IServiceProviderVtbl = IServiceProviderVtbl1
 53147  
 53148  type ICreateTypeInfo1 = struct{ FlpVtbl uintptr }
 53149  
 53150  type ICreateTypeInfo = ICreateTypeInfo1
 53151  
 53152  type ICreateTypeInfo21 = struct{ FlpVtbl uintptr }
 53153  
 53154  type ICreateTypeInfo2 = ICreateTypeInfo21
 53155  
 53156  type ICreateTypeLib1 = struct{ FlpVtbl uintptr }
 53157  
 53158  type ICreateTypeLib = ICreateTypeLib1
 53159  
 53160  type ICreateTypeLib21 = struct{ FlpVtbl uintptr }
 53161  
 53162  type ICreateTypeLib2 = ICreateTypeLib21
 53163  
 53164  type IDispatch1 = struct{ FlpVtbl uintptr }
 53165  
 53166  type IDispatch = IDispatch1
 53167  
 53168  type IEnumVARIANT1 = struct{ FlpVtbl uintptr }
 53169  
 53170  type IEnumVARIANT = IEnumVARIANT1
 53171  
 53172  type ITypeComp1 = struct{ FlpVtbl uintptr }
 53173  
 53174  type ITypeComp = ITypeComp1
 53175  
 53176  type ITypeInfo1 = struct{ FlpVtbl uintptr }
 53177  
 53178  type ITypeInfo = ITypeInfo1
 53179  
 53180  type ITypeInfo21 = struct{ FlpVtbl uintptr }
 53181  
 53182  type ITypeInfo2 = ITypeInfo21
 53183  
 53184  type ITypeLib1 = struct{ FlpVtbl uintptr }
 53185  
 53186  type ITypeLib = ITypeLib1
 53187  
 53188  type ITypeLib21 = struct{ FlpVtbl uintptr }
 53189  
 53190  type ITypeLib2 = ITypeLib21
 53191  
 53192  type ITypeChangeEvents1 = struct{ FlpVtbl uintptr }
 53193  
 53194  type ITypeChangeEvents = ITypeChangeEvents1
 53195  
 53196  type IErrorInfo1 = struct{ FlpVtbl uintptr }
 53197  
 53198  type IErrorInfo = IErrorInfo1
 53199  
 53200  type ICreateErrorInfo1 = struct{ FlpVtbl uintptr }
 53201  
 53202  type ICreateErrorInfo = ICreateErrorInfo1
 53203  
 53204  type ISupportErrorInfo1 = struct{ FlpVtbl uintptr }
 53205  
 53206  type ISupportErrorInfo = ISupportErrorInfo1
 53207  
 53208  type ITypeFactory1 = struct{ FlpVtbl uintptr }
 53209  
 53210  type ITypeFactory = ITypeFactory1
 53211  
 53212  type ITypeMarshal1 = struct{ FlpVtbl uintptr }
 53213  
 53214  type ITypeMarshal = ITypeMarshal1
 53215  
 53216  type IRecordInfo1 = struct{ FlpVtbl uintptr }
 53217  
 53218  type IRecordInfo = IRecordInfo1
 53219  
 53220  type IErrorLog1 = struct{ FlpVtbl uintptr }
 53221  
 53222  type IErrorLog = IErrorLog1
 53223  
 53224  type IPropertyBag1 = struct{ FlpVtbl uintptr }
 53225  
 53226  type IPropertyBag = IPropertyBag1
 53227  type CURRENCY = CY
 53228  type tagSAFEARRAYBOUND = struct {
 53229  	FcElements ULONG
 53230  	FlLbound   LONG
 53231  }
 53232  
 53233  type SAFEARRAYBOUND = tagSAFEARRAYBOUND
 53234  type LPSAFEARRAYBOUND = uintptr
 53235  
 53236  type _wireVARIANT = struct {
 53237  	FclSize      DWORD
 53238  	FrpcReserved DWORD
 53239  	Fvt          USHORT
 53240  	FwReserved1  USHORT
 53241  	FwReserved2  USHORT
 53242  	FwReserved3  USHORT
 53243  	F__16        struct {
 53244  		FllVal       LONGLONG
 53245  		F__ccgo_pad1 [8]byte
 53246  	}
 53247  }
 53248  
 53249  type wireVARIANT = uintptr
 53250  type _wireBRECORD = struct {
 53251  	FfFlags   ULONG
 53252  	FclSize   ULONG
 53253  	FpRecInfo uintptr
 53254  	FpRecord  uintptr
 53255  }
 53256  
 53257  type wireBRECORD = uintptr
 53258  
 53259  type _wireSAFEARR_BSTR = struct {
 53260  	FSize        ULONG
 53261  	F__ccgo_pad1 [4]byte
 53262  	FaBstr       uintptr
 53263  }
 53264  
 53265  type SAFEARR_BSTR = _wireSAFEARR_BSTR
 53266  
 53267  type _wireSAFEARR_UNKNOWN = struct {
 53268  	FSize        ULONG
 53269  	F__ccgo_pad1 [4]byte
 53270  	FapUnknown   uintptr
 53271  }
 53272  
 53273  type SAFEARR_UNKNOWN = _wireSAFEARR_UNKNOWN
 53274  
 53275  type _wireSAFEARR_DISPATCH = struct {
 53276  	FSize        ULONG
 53277  	F__ccgo_pad1 [4]byte
 53278  	FapDispatch  uintptr
 53279  }
 53280  
 53281  type SAFEARR_DISPATCH = _wireSAFEARR_DISPATCH
 53282  
 53283  type _wireSAFEARR_VARIANT = struct {
 53284  	FSize        ULONG
 53285  	F__ccgo_pad1 [4]byte
 53286  	FaVariant    uintptr
 53287  }
 53288  
 53289  type SAFEARR_VARIANT = _wireSAFEARR_VARIANT
 53290  
 53291  type _wireSAFEARR_BRECORD = struct {
 53292  	FSize        ULONG
 53293  	F__ccgo_pad1 [4]byte
 53294  	FaRecord     uintptr
 53295  }
 53296  
 53297  type SAFEARR_BRECORD = _wireSAFEARR_BRECORD
 53298  
 53299  type _wireSAFEARR_HAVEIID = struct {
 53300  	FSize        ULONG
 53301  	F__ccgo_pad1 [4]byte
 53302  	FapUnknown   uintptr
 53303  	Fiid         IID
 53304  }
 53305  
 53306  type SAFEARR_HAVEIID = _wireSAFEARR_HAVEIID
 53307  
 53308  type SF_TYPE = uint32
 53309  
 53310  type _wireSAFEARRAY_UNION = struct {
 53311  	FsfType      ULONG
 53312  	F__ccgo_pad1 [4]byte
 53313  	Fu           struct {
 53314  		FBstrStr     SAFEARR_BSTR
 53315  		F__ccgo_pad1 [16]byte
 53316  	}
 53317  }
 53318  
 53319  type SAFEARRAYUNION = _wireSAFEARRAY_UNION
 53320  
 53321  type _wireSAFEARRAY = struct {
 53322  	FcDims         USHORT
 53323  	FfFeatures     USHORT
 53324  	FcbElements    ULONG
 53325  	FcLocks        ULONG
 53326  	F__ccgo_pad1   [4]byte
 53327  	FuArrayStructs SAFEARRAYUNION
 53328  	Frgsabound     [1]SAFEARRAYBOUND
 53329  }
 53330  
 53331  type wireSAFEARRAY = uintptr
 53332  type wirePSAFEARRAY = uintptr
 53333  
 53334  type tagSAFEARRAY = struct {
 53335  	FcDims       USHORT
 53336  	FfFeatures   USHORT
 53337  	FcbElements  ULONG
 53338  	FcLocks      ULONG
 53339  	F__ccgo_pad1 [4]byte
 53340  	FpvData      PVOID
 53341  	Frgsabound   [1]SAFEARRAYBOUND
 53342  }
 53343  
 53344  type SAFEARRAY = tagSAFEARRAY
 53345  type LPSAFEARRAY = uintptr
 53346  
 53347  type tagVARIANT = struct {
 53348  	Fn1 struct {
 53349  		Fn2 struct {
 53350  			Fvt         VARTYPE
 53351  			FwReserved1 WORD
 53352  			FwReserved2 WORD
 53353  			FwReserved3 WORD
 53354  			Fn3         struct {
 53355  				FllVal       LONGLONG
 53356  				F__ccgo_pad1 [8]byte
 53357  			}
 53358  		}
 53359  	}
 53360  }
 53361  
 53362  type VARIANT = tagVARIANT
 53363  
 53364  type __tagVARIANT = struct {
 53365  	Fvt         VARTYPE
 53366  	FwReserved1 WORD
 53367  	FwReserved2 WORD
 53368  	FwReserved3 WORD
 53369  	Fn3         struct {
 53370  		FllVal       LONGLONG
 53371  		F__ccgo_pad1 [8]byte
 53372  	}
 53373  }
 53374  
 53375  type __tagBRECORD = struct {
 53376  	FpvRecord PVOID
 53377  	FpRecInfo uintptr
 53378  }
 53379  
 53380  type LPVARIANT = uintptr
 53381  type VARIANTARG = VARIANT
 53382  type LPVARIANTARG = uintptr
 53383  
 53384  type DISPID = LONG
 53385  type MEMBERID = DISPID
 53386  type HREFTYPE = DWORD
 53387  type TYPEKIND = uint32
 53388  
 53389  type tagTYPEDESC = struct {
 53390  	F__0         struct{ Flptdesc uintptr }
 53391  	Fvt          VARTYPE
 53392  	F__ccgo_pad1 [6]byte
 53393  }
 53394  
 53395  type tagARRAYDESC = struct {
 53396  	FtdescElem   TYPEDESC
 53397  	FcDims       USHORT
 53398  	F__ccgo_pad1 [2]byte
 53399  	Frgbounds    [1]SAFEARRAYBOUND
 53400  	F__ccgo_pad2 [4]byte
 53401  }
 53402  
 53403  type TYPEDESC = tagTYPEDESC
 53404  
 53405  type ARRAYDESC = tagARRAYDESC
 53406  
 53407  type tagPARAMDESCEX = struct {
 53408  	FcBytes          ULONG
 53409  	F__ccgo_pad1     [4]byte
 53410  	FvarDefaultValue VARIANTARG
 53411  }
 53412  
 53413  type PARAMDESCEX = tagPARAMDESCEX
 53414  type LPPARAMDESCEX = uintptr
 53415  
 53416  type tagPARAMDESC = struct {
 53417  	Fpparamdescex LPPARAMDESCEX
 53418  	FwParamFlags  USHORT
 53419  	F__ccgo_pad1  [6]byte
 53420  }
 53421  
 53422  type PARAMDESC = tagPARAMDESC
 53423  type LPPARAMDESC = uintptr
 53424  
 53425  type tagIDLDESC = struct {
 53426  	FdwReserved  ULONG_PTR
 53427  	FwIDLFlags   USHORT
 53428  	F__ccgo_pad1 [6]byte
 53429  }
 53430  
 53431  type IDLDESC = tagIDLDESC
 53432  type LPIDLDESC = uintptr
 53433  
 53434  type tagELEMDESC = struct {
 53435  	Ftdesc TYPEDESC
 53436  	Fu     struct{ Fidldesc IDLDESC }
 53437  }
 53438  
 53439  type ELEMDESC = tagELEMDESC
 53440  type LPELEMDESC = uintptr
 53441  
 53442  type tagTYPEATTR = struct {
 53443  	Fguid             GUID
 53444  	Flcid             LCID
 53445  	FdwReserved       DWORD
 53446  	FmemidConstructor MEMBERID
 53447  	FmemidDestructor  MEMBERID
 53448  	FlpstrSchema      LPOLESTR
 53449  	FcbSizeInstance   ULONG
 53450  	Ftypekind         TYPEKIND
 53451  	FcFuncs           WORD
 53452  	FcVars            WORD
 53453  	FcImplTypes       WORD
 53454  	FcbSizeVft        WORD
 53455  	FcbAlignment      WORD
 53456  	FwTypeFlags       WORD
 53457  	FwMajorVerNum     WORD
 53458  	FwMinorVerNum     WORD
 53459  	FtdescAlias       TYPEDESC
 53460  	FidldescType      IDLDESC
 53461  }
 53462  
 53463  type TYPEATTR = tagTYPEATTR
 53464  type LPTYPEATTR = uintptr
 53465  
 53466  type tagDISPPARAMS = struct {
 53467  	Frgvarg            uintptr
 53468  	FrgdispidNamedArgs uintptr
 53469  	FcArgs             UINT
 53470  	FcNamedArgs        UINT
 53471  }
 53472  
 53473  type DISPPARAMS = tagDISPPARAMS
 53474  
 53475  type tagEXCEPINFO = struct {
 53476  	FwCode             WORD
 53477  	FwReserved         WORD
 53478  	F__ccgo_pad1       [4]byte
 53479  	FbstrSource        BSTR
 53480  	FbstrDescription   BSTR
 53481  	FbstrHelpFile      BSTR
 53482  	FdwHelpContext     DWORD
 53483  	F__ccgo_pad2       [4]byte
 53484  	FpvReserved        PVOID
 53485  	FpfnDeferredFillIn uintptr
 53486  	Fscode             SCODE
 53487  	F__ccgo_pad3       [4]byte
 53488  }
 53489  
 53490  type EXCEPINFO = tagEXCEPINFO
 53491  type LPEXCEPINFO = uintptr
 53492  
 53493  type CALLCONV = uint32
 53494  
 53495  type FUNCKIND = uint32
 53496  
 53497  type INVOKEKIND = uint32
 53498  
 53499  type tagFUNCDESC = struct {
 53500  	Fmemid             MEMBERID
 53501  	F__ccgo_pad1       [4]byte
 53502  	Flprgscode         uintptr
 53503  	FlprgelemdescParam uintptr
 53504  	Ffunckind          FUNCKIND
 53505  	Finvkind           INVOKEKIND
 53506  	Fcallconv          CALLCONV
 53507  	FcParams           SHORT
 53508  	FcParamsOpt        SHORT
 53509  	FoVft              SHORT
 53510  	FcScodes           SHORT
 53511  	F__ccgo_pad2       [4]byte
 53512  	FelemdescFunc      ELEMDESC
 53513  	FwFuncFlags        WORD
 53514  	F__ccgo_pad3       [6]byte
 53515  }
 53516  
 53517  type FUNCDESC = tagFUNCDESC
 53518  type LPFUNCDESC = uintptr
 53519  
 53520  type VARKIND = uint32
 53521  
 53522  type tagVARDESC = struct {
 53523  	Fmemid       MEMBERID
 53524  	F__ccgo_pad1 [4]byte
 53525  	FlpstrSchema LPOLESTR
 53526  	F__16        struct {
 53527  		F__ccgo_pad1 [0]uint64
 53528  		FoInst       ULONG
 53529  		F__ccgo_pad2 [4]byte
 53530  	}
 53531  	FelemdescVar ELEMDESC
 53532  	FwVarFlags   WORD
 53533  	F__ccgo_pad2 [2]byte
 53534  	Fvarkind     VARKIND
 53535  }
 53536  
 53537  type VARDESC = tagVARDESC
 53538  type LPVARDESC = uintptr
 53539  
 53540  type TYPEFLAGS = uint32
 53541  
 53542  type FUNCFLAGS = uint32
 53543  
 53544  type VARFLAGS = uint32
 53545  
 53546  type tagCLEANLOCALSTORAGE = struct {
 53547  	FpInterface  uintptr
 53548  	FpStorage    PVOID
 53549  	Fflags       DWORD
 53550  	F__ccgo_pad1 [4]byte
 53551  }
 53552  
 53553  type CLEANLOCALSTORAGE = tagCLEANLOCALSTORAGE
 53554  
 53555  type tagCUSTDATAITEM = struct {
 53556  	Fguid     GUID
 53557  	FvarValue VARIANTARG
 53558  }
 53559  
 53560  type CUSTDATAITEM = tagCUSTDATAITEM
 53561  type LPCUSTDATAITEM = uintptr
 53562  
 53563  type tagCUSTDATA = struct {
 53564  	FcCustData   DWORD
 53565  	F__ccgo_pad1 [4]byte
 53566  	FprgCustData LPCUSTDATAITEM
 53567  }
 53568  
 53569  type CUSTDATA = tagCUSTDATA
 53570  type LPCUSTDATA = uintptr
 53571  
 53572  type LPCREATETYPEINFO = uintptr
 53573  type ICreateTypeInfoVtbl1 = struct {
 53574  	FQueryInterface       uintptr
 53575  	FAddRef               uintptr
 53576  	FRelease              uintptr
 53577  	FSetGuid              uintptr
 53578  	FSetTypeFlags         uintptr
 53579  	FSetDocString         uintptr
 53580  	FSetHelpContext       uintptr
 53581  	FSetVersion           uintptr
 53582  	FAddRefTypeInfo       uintptr
 53583  	FAddFuncDesc          uintptr
 53584  	FAddImplType          uintptr
 53585  	FSetImplTypeFlags     uintptr
 53586  	FSetAlignment         uintptr
 53587  	FSetSchema            uintptr
 53588  	FAddVarDesc           uintptr
 53589  	FSetFuncAndParamNames uintptr
 53590  	FSetVarName           uintptr
 53591  	FSetTypeDescAlias     uintptr
 53592  	FDefineFuncAsDllEntry uintptr
 53593  	FSetFuncDocString     uintptr
 53594  	FSetVarDocString      uintptr
 53595  	FSetFuncHelpContext   uintptr
 53596  	FSetVarHelpContext    uintptr
 53597  	FSetMops              uintptr
 53598  	FSetTypeIdldesc       uintptr
 53599  	FLayOut               uintptr
 53600  }
 53601  
 53602  type ICreateTypeInfoVtbl = ICreateTypeInfoVtbl1
 53603  
 53604  type LPCREATETYPEINFO2 = uintptr
 53605  type ICreateTypeInfo2Vtbl1 = struct {
 53606  	FQueryInterface           uintptr
 53607  	FAddRef                   uintptr
 53608  	FRelease                  uintptr
 53609  	FSetGuid                  uintptr
 53610  	FSetTypeFlags             uintptr
 53611  	FSetDocString             uintptr
 53612  	FSetHelpContext           uintptr
 53613  	FSetVersion               uintptr
 53614  	FAddRefTypeInfo           uintptr
 53615  	FAddFuncDesc              uintptr
 53616  	FAddImplType              uintptr
 53617  	FSetImplTypeFlags         uintptr
 53618  	FSetAlignment             uintptr
 53619  	FSetSchema                uintptr
 53620  	FAddVarDesc               uintptr
 53621  	FSetFuncAndParamNames     uintptr
 53622  	FSetVarName               uintptr
 53623  	FSetTypeDescAlias         uintptr
 53624  	FDefineFuncAsDllEntry     uintptr
 53625  	FSetFuncDocString         uintptr
 53626  	FSetVarDocString          uintptr
 53627  	FSetFuncHelpContext       uintptr
 53628  	FSetVarHelpContext        uintptr
 53629  	FSetMops                  uintptr
 53630  	FSetTypeIdldesc           uintptr
 53631  	FLayOut                   uintptr
 53632  	FDeleteFuncDesc           uintptr
 53633  	FDeleteFuncDescByMemId    uintptr
 53634  	FDeleteVarDesc            uintptr
 53635  	FDeleteVarDescByMemId     uintptr
 53636  	FDeleteImplType           uintptr
 53637  	FSetCustData              uintptr
 53638  	FSetFuncCustData          uintptr
 53639  	FSetParamCustData         uintptr
 53640  	FSetVarCustData           uintptr
 53641  	FSetImplTypeCustData      uintptr
 53642  	FSetHelpStringContext     uintptr
 53643  	FSetFuncHelpStringContext uintptr
 53644  	FSetVarHelpStringContext  uintptr
 53645  	FInvalidate               uintptr
 53646  	FSetName                  uintptr
 53647  }
 53648  
 53649  type ICreateTypeInfo2Vtbl = ICreateTypeInfo2Vtbl1
 53650  
 53651  type LPCREATETYPELIB = uintptr
 53652  type ICreateTypeLibVtbl1 = struct {
 53653  	FQueryInterface  uintptr
 53654  	FAddRef          uintptr
 53655  	FRelease         uintptr
 53656  	FCreateTypeInfo  uintptr
 53657  	FSetName         uintptr
 53658  	FSetVersion      uintptr
 53659  	FSetGuid         uintptr
 53660  	FSetDocString    uintptr
 53661  	FSetHelpFileName uintptr
 53662  	FSetHelpContext  uintptr
 53663  	FSetLcid         uintptr
 53664  	FSetLibFlags     uintptr
 53665  	FSaveAllChanges  uintptr
 53666  }
 53667  
 53668  type ICreateTypeLibVtbl = ICreateTypeLibVtbl1
 53669  
 53670  type LPCREATETYPELIB2 = uintptr
 53671  type ICreateTypeLib2Vtbl1 = struct {
 53672  	FQueryInterface       uintptr
 53673  	FAddRef               uintptr
 53674  	FRelease              uintptr
 53675  	FCreateTypeInfo       uintptr
 53676  	FSetName              uintptr
 53677  	FSetVersion           uintptr
 53678  	FSetGuid              uintptr
 53679  	FSetDocString         uintptr
 53680  	FSetHelpFileName      uintptr
 53681  	FSetHelpContext       uintptr
 53682  	FSetLcid              uintptr
 53683  	FSetLibFlags          uintptr
 53684  	FSaveAllChanges       uintptr
 53685  	FDeleteTypeInfo       uintptr
 53686  	FSetCustData          uintptr
 53687  	FSetHelpStringContext uintptr
 53688  	FSetHelpStringDll     uintptr
 53689  }
 53690  
 53691  type ICreateTypeLib2Vtbl = ICreateTypeLib2Vtbl1
 53692  
 53693  type LPDISPATCH = uintptr
 53694  type IDispatchVtbl1 = struct {
 53695  	FQueryInterface   uintptr
 53696  	FAddRef           uintptr
 53697  	FRelease          uintptr
 53698  	FGetTypeInfoCount uintptr
 53699  	FGetTypeInfo      uintptr
 53700  	FGetIDsOfNames    uintptr
 53701  	FInvoke           uintptr
 53702  }
 53703  
 53704  type IDispatchVtbl = IDispatchVtbl1
 53705  
 53706  type LPENUMVARIANT = uintptr
 53707  type IEnumVARIANTVtbl1 = struct {
 53708  	FQueryInterface uintptr
 53709  	FAddRef         uintptr
 53710  	FRelease        uintptr
 53711  	FNext           uintptr
 53712  	FSkip           uintptr
 53713  	FReset          uintptr
 53714  	FClone          uintptr
 53715  }
 53716  
 53717  type IEnumVARIANTVtbl = IEnumVARIANTVtbl1
 53718  
 53719  type LPTYPECOMP = uintptr
 53720  
 53721  type DESCKIND = uint32
 53722  
 53723  type tagBINDPTR = struct{ Flpfuncdesc uintptr }
 53724  
 53725  type BINDPTR = tagBINDPTR
 53726  type LPBINDPTR = uintptr
 53727  type ITypeCompVtbl1 = struct {
 53728  	FQueryInterface uintptr
 53729  	FAddRef         uintptr
 53730  	FRelease        uintptr
 53731  	FBind           uintptr
 53732  	FBindType       uintptr
 53733  }
 53734  
 53735  type ITypeCompVtbl = ITypeCompVtbl1
 53736  
 53737  type LPTYPEINFO = uintptr
 53738  type ITypeInfoVtbl1 = struct {
 53739  	FQueryInterface       uintptr
 53740  	FAddRef               uintptr
 53741  	FRelease              uintptr
 53742  	FGetTypeAttr          uintptr
 53743  	FGetTypeComp          uintptr
 53744  	FGetFuncDesc          uintptr
 53745  	FGetVarDesc           uintptr
 53746  	FGetNames             uintptr
 53747  	FGetRefTypeOfImplType uintptr
 53748  	FGetImplTypeFlags     uintptr
 53749  	FGetIDsOfNames        uintptr
 53750  	FInvoke               uintptr
 53751  	FGetDocumentation     uintptr
 53752  	FGetDllEntry          uintptr
 53753  	FGetRefTypeInfo       uintptr
 53754  	FAddressOfMember      uintptr
 53755  	FCreateInstance       uintptr
 53756  	FGetMops              uintptr
 53757  	FGetContainingTypeLib uintptr
 53758  	FReleaseTypeAttr      uintptr
 53759  	FReleaseFuncDesc      uintptr
 53760  	FReleaseVarDesc       uintptr
 53761  }
 53762  
 53763  type ITypeInfoVtbl = ITypeInfoVtbl1
 53764  
 53765  type LPTYPEINFO2 = uintptr
 53766  type ITypeInfo2Vtbl1 = struct {
 53767  	FQueryInterface         uintptr
 53768  	FAddRef                 uintptr
 53769  	FRelease                uintptr
 53770  	FGetTypeAttr            uintptr
 53771  	FGetTypeComp            uintptr
 53772  	FGetFuncDesc            uintptr
 53773  	FGetVarDesc             uintptr
 53774  	FGetNames               uintptr
 53775  	FGetRefTypeOfImplType   uintptr
 53776  	FGetImplTypeFlags       uintptr
 53777  	FGetIDsOfNames          uintptr
 53778  	FInvoke                 uintptr
 53779  	FGetDocumentation       uintptr
 53780  	FGetDllEntry            uintptr
 53781  	FGetRefTypeInfo         uintptr
 53782  	FAddressOfMember        uintptr
 53783  	FCreateInstance         uintptr
 53784  	FGetMops                uintptr
 53785  	FGetContainingTypeLib   uintptr
 53786  	FReleaseTypeAttr        uintptr
 53787  	FReleaseFuncDesc        uintptr
 53788  	FReleaseVarDesc         uintptr
 53789  	FGetTypeKind            uintptr
 53790  	FGetTypeFlags           uintptr
 53791  	FGetFuncIndexOfMemId    uintptr
 53792  	FGetVarIndexOfMemId     uintptr
 53793  	FGetCustData            uintptr
 53794  	FGetFuncCustData        uintptr
 53795  	FGetParamCustData       uintptr
 53796  	FGetVarCustData         uintptr
 53797  	FGetImplTypeCustData    uintptr
 53798  	FGetDocumentation2      uintptr
 53799  	FGetAllCustData         uintptr
 53800  	FGetAllFuncCustData     uintptr
 53801  	FGetAllParamCustData    uintptr
 53802  	FGetAllVarCustData      uintptr
 53803  	FGetAllImplTypeCustData uintptr
 53804  }
 53805  
 53806  type ITypeInfo2Vtbl = ITypeInfo2Vtbl1
 53807  
 53808  type SYSKIND = uint32
 53809  
 53810  type LIBFLAGS = uint32
 53811  
 53812  type LPTYPELIB = uintptr
 53813  
 53814  type tagTLIBATTR = struct {
 53815  	Fguid         GUID
 53816  	Flcid         LCID
 53817  	Fsyskind      SYSKIND
 53818  	FwMajorVerNum WORD
 53819  	FwMinorVerNum WORD
 53820  	FwLibFlags    WORD
 53821  	F__ccgo_pad1  [2]byte
 53822  }
 53823  
 53824  type TLIBATTR = tagTLIBATTR
 53825  type LPTLIBATTR = uintptr
 53826  type ITypeLibVtbl1 = struct {
 53827  	FQueryInterface    uintptr
 53828  	FAddRef            uintptr
 53829  	FRelease           uintptr
 53830  	FGetTypeInfoCount  uintptr
 53831  	FGetTypeInfo       uintptr
 53832  	FGetTypeInfoType   uintptr
 53833  	FGetTypeInfoOfGuid uintptr
 53834  	FGetLibAttr        uintptr
 53835  	FGetTypeComp       uintptr
 53836  	FGetDocumentation  uintptr
 53837  	FIsName            uintptr
 53838  	FFindName          uintptr
 53839  	FReleaseTLibAttr   uintptr
 53840  }
 53841  
 53842  type ITypeLibVtbl = ITypeLibVtbl1
 53843  
 53844  type LPTYPELIB2 = uintptr
 53845  type ITypeLib2Vtbl1 = struct {
 53846  	FQueryInterface    uintptr
 53847  	FAddRef            uintptr
 53848  	FRelease           uintptr
 53849  	FGetTypeInfoCount  uintptr
 53850  	FGetTypeInfo       uintptr
 53851  	FGetTypeInfoType   uintptr
 53852  	FGetTypeInfoOfGuid uintptr
 53853  	FGetLibAttr        uintptr
 53854  	FGetTypeComp       uintptr
 53855  	FGetDocumentation  uintptr
 53856  	FIsName            uintptr
 53857  	FFindName          uintptr
 53858  	FReleaseTLibAttr   uintptr
 53859  	FGetCustData       uintptr
 53860  	FGetLibStatistics  uintptr
 53861  	FGetDocumentation2 uintptr
 53862  	FGetAllCustData    uintptr
 53863  }
 53864  
 53865  type ITypeLib2Vtbl = ITypeLib2Vtbl1
 53866  
 53867  type LPTYPECHANGEEVENTS = uintptr
 53868  
 53869  type CHANGEKIND = uint32
 53870  type ITypeChangeEventsVtbl1 = struct {
 53871  	FQueryInterface    uintptr
 53872  	FAddRef            uintptr
 53873  	FRelease           uintptr
 53874  	FRequestTypeChange uintptr
 53875  	FAfterTypeChange   uintptr
 53876  }
 53877  
 53878  type ITypeChangeEventsVtbl = ITypeChangeEventsVtbl1
 53879  
 53880  type LPERRORINFO = uintptr
 53881  type IErrorInfoVtbl1 = struct {
 53882  	FQueryInterface uintptr
 53883  	FAddRef         uintptr
 53884  	FRelease        uintptr
 53885  	FGetGUID        uintptr
 53886  	FGetSource      uintptr
 53887  	FGetDescription uintptr
 53888  	FGetHelpFile    uintptr
 53889  	FGetHelpContext uintptr
 53890  }
 53891  
 53892  type IErrorInfoVtbl = IErrorInfoVtbl1
 53893  
 53894  type LPCREATEERRORINFO = uintptr
 53895  type ICreateErrorInfoVtbl1 = struct {
 53896  	FQueryInterface uintptr
 53897  	FAddRef         uintptr
 53898  	FRelease        uintptr
 53899  	FSetGUID        uintptr
 53900  	FSetSource      uintptr
 53901  	FSetDescription uintptr
 53902  	FSetHelpFile    uintptr
 53903  	FSetHelpContext uintptr
 53904  }
 53905  
 53906  type ICreateErrorInfoVtbl = ICreateErrorInfoVtbl1
 53907  
 53908  type LPSUPPORTERRORINFO = uintptr
 53909  type ISupportErrorInfoVtbl1 = struct {
 53910  	FQueryInterface             uintptr
 53911  	FAddRef                     uintptr
 53912  	FRelease                    uintptr
 53913  	FInterfaceSupportsErrorInfo uintptr
 53914  }
 53915  
 53916  type ISupportErrorInfoVtbl = ISupportErrorInfoVtbl1
 53917  type ITypeFactoryVtbl1 = struct {
 53918  	FQueryInterface     uintptr
 53919  	FAddRef             uintptr
 53920  	FRelease            uintptr
 53921  	FCreateFromTypeInfo uintptr
 53922  }
 53923  
 53924  type ITypeFactoryVtbl = ITypeFactoryVtbl1
 53925  type ITypeMarshalVtbl1 = struct {
 53926  	FQueryInterface uintptr
 53927  	FAddRef         uintptr
 53928  	FRelease        uintptr
 53929  	FSize           uintptr
 53930  	FMarshal        uintptr
 53931  	FUnmarshal      uintptr
 53932  	FFree           uintptr
 53933  }
 53934  
 53935  type ITypeMarshalVtbl = ITypeMarshalVtbl1
 53936  
 53937  type LPRECORDINFO = uintptr
 53938  type IRecordInfoVtbl1 = struct {
 53939  	FQueryInterface   uintptr
 53940  	FAddRef           uintptr
 53941  	FRelease          uintptr
 53942  	FRecordInit       uintptr
 53943  	FRecordClear      uintptr
 53944  	FRecordCopy       uintptr
 53945  	FGetGuid          uintptr
 53946  	FGetName          uintptr
 53947  	FGetSize          uintptr
 53948  	FGetTypeInfo      uintptr
 53949  	FGetField         uintptr
 53950  	FGetFieldNoCopy   uintptr
 53951  	FPutField         uintptr
 53952  	FPutFieldNoCopy   uintptr
 53953  	FGetFieldNames    uintptr
 53954  	FIsMatchingType   uintptr
 53955  	FRecordCreate     uintptr
 53956  	FRecordCreateCopy uintptr
 53957  	FRecordDestroy    uintptr
 53958  }
 53959  
 53960  type IRecordInfoVtbl = IRecordInfoVtbl1
 53961  
 53962  type LPERRORLOG = uintptr
 53963  type IErrorLogVtbl1 = struct {
 53964  	FQueryInterface uintptr
 53965  	FAddRef         uintptr
 53966  	FRelease        uintptr
 53967  	FAddError       uintptr
 53968  }
 53969  
 53970  type IErrorLogVtbl = IErrorLogVtbl1
 53971  
 53972  type LPPROPERTYBAG = uintptr
 53973  type IPropertyBagVtbl1 = struct {
 53974  	FQueryInterface uintptr
 53975  	FAddRef         uintptr
 53976  	FRelease        uintptr
 53977  	FRead           uintptr
 53978  	FWrite          uintptr
 53979  }
 53980  
 53981  type IPropertyBagVtbl = IPropertyBagVtbl1
 53982  
 53983  type IXMLDOMImplementation1 = struct{ FlpVtbl uintptr }
 53984  
 53985  type IXMLDOMImplementation = IXMLDOMImplementation1
 53986  
 53987  type IXMLDOMNode1 = struct{ FlpVtbl uintptr }
 53988  
 53989  type IXMLDOMNode = IXMLDOMNode1
 53990  
 53991  type IXMLDOMDocumentFragment1 = struct{ FlpVtbl uintptr }
 53992  
 53993  type IXMLDOMDocumentFragment = IXMLDOMDocumentFragment1
 53994  
 53995  type IXMLDOMDocument1 = struct{ FlpVtbl uintptr }
 53996  
 53997  type IXMLDOMDocument = IXMLDOMDocument1
 53998  
 53999  type IXMLDOMNodeList1 = struct{ FlpVtbl uintptr }
 54000  
 54001  type IXMLDOMNodeList = IXMLDOMNodeList1
 54002  
 54003  type IXMLDOMNamedNodeMap1 = struct{ FlpVtbl uintptr }
 54004  
 54005  type IXMLDOMNamedNodeMap = IXMLDOMNamedNodeMap1
 54006  
 54007  type IXMLDOMCharacterData1 = struct{ FlpVtbl uintptr }
 54008  
 54009  type IXMLDOMCharacterData = IXMLDOMCharacterData1
 54010  
 54011  type IXMLDOMAttribute1 = struct{ FlpVtbl uintptr }
 54012  
 54013  type IXMLDOMAttribute = IXMLDOMAttribute1
 54014  
 54015  type IXMLDOMElement1 = struct{ FlpVtbl uintptr }
 54016  
 54017  type IXMLDOMElement = IXMLDOMElement1
 54018  
 54019  type IXMLDOMText1 = struct{ FlpVtbl uintptr }
 54020  
 54021  type IXMLDOMText = IXMLDOMText1
 54022  
 54023  type IXMLDOMComment1 = struct{ FlpVtbl uintptr }
 54024  
 54025  type IXMLDOMComment = IXMLDOMComment1
 54026  
 54027  type IXMLDOMProcessingInstruction1 = struct{ FlpVtbl uintptr }
 54028  
 54029  type IXMLDOMProcessingInstruction = IXMLDOMProcessingInstruction1
 54030  
 54031  type IXMLDOMCDATASection1 = struct{ FlpVtbl uintptr }
 54032  
 54033  type IXMLDOMCDATASection = IXMLDOMCDATASection1
 54034  
 54035  type IXMLDOMDocumentType1 = struct{ FlpVtbl uintptr }
 54036  
 54037  type IXMLDOMDocumentType = IXMLDOMDocumentType1
 54038  
 54039  type IXMLDOMNotation1 = struct{ FlpVtbl uintptr }
 54040  
 54041  type IXMLDOMNotation = IXMLDOMNotation1
 54042  
 54043  type IXMLDOMEntity1 = struct{ FlpVtbl uintptr }
 54044  
 54045  type IXMLDOMEntity = IXMLDOMEntity1
 54046  
 54047  type IXMLDOMEntityReference1 = struct{ FlpVtbl uintptr }
 54048  
 54049  type IXMLDOMEntityReference = IXMLDOMEntityReference1
 54050  
 54051  type IXMLDOMParseError1 = struct{ FlpVtbl uintptr }
 54052  
 54053  type IXMLDOMParseError = IXMLDOMParseError1
 54054  
 54055  type IXTLRuntime1 = struct{ FlpVtbl uintptr }
 54056  
 54057  type IXTLRuntime = IXTLRuntime1
 54058  
 54059  type XMLDOMDocumentEvents1 = struct{ FlpVtbl uintptr }
 54060  
 54061  type XMLDOMDocumentEvents = XMLDOMDocumentEvents1
 54062  
 54063  type IXMLHttpRequest1 = struct{ FlpVtbl uintptr }
 54064  
 54065  type IXMLHttpRequest = IXMLHttpRequest1
 54066  
 54067  type IXMLDSOControl1 = struct{ FlpVtbl uintptr }
 54068  
 54069  type IXMLDSOControl = IXMLDSOControl1
 54070  
 54071  type IXMLElementCollection1 = struct{ FlpVtbl uintptr }
 54072  
 54073  type IXMLElementCollection = IXMLElementCollection1
 54074  
 54075  type IXMLDocument1 = struct{ FlpVtbl uintptr }
 54076  
 54077  type IXMLDocument = IXMLDocument1
 54078  
 54079  type IXMLDocument21 = struct{ FlpVtbl uintptr }
 54080  
 54081  type IXMLDocument2 = IXMLDocument21
 54082  
 54083  type IXMLElement1 = struct{ FlpVtbl uintptr }
 54084  
 54085  type IXMLElement = IXMLElement1
 54086  
 54087  type IXMLElement21 = struct{ FlpVtbl uintptr }
 54088  
 54089  type IXMLElement2 = IXMLElement21
 54090  
 54091  type IXMLAttribute1 = struct{ FlpVtbl uintptr }
 54092  
 54093  type IXMLAttribute = IXMLAttribute1
 54094  
 54095  type IXMLError1 = struct{ FlpVtbl uintptr }
 54096  
 54097  type IXMLError = IXMLError1
 54098  
 54099  type _xml_error = struct {
 54100  	F_nLine       uint32
 54101  	F__ccgo_pad1  [4]byte
 54102  	F_pchBuf      BSTR
 54103  	F_cchBuf      uint32
 54104  	F_ich         uint32
 54105  	F_pszFound    BSTR
 54106  	F_pszExpected BSTR
 54107  	F_reserved1   DWORD
 54108  	F_reserved2   DWORD
 54109  }
 54110  
 54111  type XML_ERROR = _xml_error
 54112  
 54113  type DOMNodeType = uint32
 54114  
 54115  type XMLELEM_TYPE = uint32
 54116  type IXMLDOMImplementationVtbl1 = struct {
 54117  	FQueryInterface   uintptr
 54118  	FAddRef           uintptr
 54119  	FRelease          uintptr
 54120  	FGetTypeInfoCount uintptr
 54121  	FGetTypeInfo      uintptr
 54122  	FGetIDsOfNames    uintptr
 54123  	FInvoke           uintptr
 54124  	FhasFeature       uintptr
 54125  }
 54126  
 54127  type IXMLDOMImplementationVtbl = IXMLDOMImplementationVtbl1
 54128  type IXMLDOMNodeVtbl1 = struct {
 54129  	FQueryInterface        uintptr
 54130  	FAddRef                uintptr
 54131  	FRelease               uintptr
 54132  	FGetTypeInfoCount      uintptr
 54133  	FGetTypeInfo           uintptr
 54134  	FGetIDsOfNames         uintptr
 54135  	FInvoke                uintptr
 54136  	Fget_nodeName          uintptr
 54137  	Fget_nodeValue         uintptr
 54138  	Fput_nodeValue         uintptr
 54139  	Fget_nodeType          uintptr
 54140  	Fget_parentNode        uintptr
 54141  	Fget_childNodes        uintptr
 54142  	Fget_firstChild        uintptr
 54143  	Fget_lastChild         uintptr
 54144  	Fget_previousSibling   uintptr
 54145  	Fget_nextSibling       uintptr
 54146  	Fget_attributes        uintptr
 54147  	FinsertBefore          uintptr
 54148  	FreplaceChild          uintptr
 54149  	FremoveChild           uintptr
 54150  	FappendChild           uintptr
 54151  	FhasChildNodes         uintptr
 54152  	Fget_ownerDocument     uintptr
 54153  	FcloneNode             uintptr
 54154  	Fget_nodeTypeString    uintptr
 54155  	Fget_text              uintptr
 54156  	Fput_text              uintptr
 54157  	Fget_specified         uintptr
 54158  	Fget_definition        uintptr
 54159  	Fget_nodeTypedValue    uintptr
 54160  	Fput_nodeTypedValue    uintptr
 54161  	Fget_dataType          uintptr
 54162  	Fput_dataType          uintptr
 54163  	Fget_xml               uintptr
 54164  	FtransformNode         uintptr
 54165  	FselectNodes           uintptr
 54166  	FselectSingleNode      uintptr
 54167  	Fget_parsed            uintptr
 54168  	Fget_namespaceURI      uintptr
 54169  	Fget_prefix            uintptr
 54170  	Fget_baseName          uintptr
 54171  	FtransformNodeToObject uintptr
 54172  }
 54173  
 54174  type IXMLDOMNodeVtbl = IXMLDOMNodeVtbl1
 54175  type IXMLDOMDocumentFragmentVtbl1 = struct {
 54176  	FQueryInterface        uintptr
 54177  	FAddRef                uintptr
 54178  	FRelease               uintptr
 54179  	FGetTypeInfoCount      uintptr
 54180  	FGetTypeInfo           uintptr
 54181  	FGetIDsOfNames         uintptr
 54182  	FInvoke                uintptr
 54183  	Fget_nodeName          uintptr
 54184  	Fget_nodeValue         uintptr
 54185  	Fput_nodeValue         uintptr
 54186  	Fget_nodeType          uintptr
 54187  	Fget_parentNode        uintptr
 54188  	Fget_childNodes        uintptr
 54189  	Fget_firstChild        uintptr
 54190  	Fget_lastChild         uintptr
 54191  	Fget_previousSibling   uintptr
 54192  	Fget_nextSibling       uintptr
 54193  	Fget_attributes        uintptr
 54194  	FinsertBefore          uintptr
 54195  	FreplaceChild          uintptr
 54196  	FremoveChild           uintptr
 54197  	FappendChild           uintptr
 54198  	FhasChildNodes         uintptr
 54199  	Fget_ownerDocument     uintptr
 54200  	FcloneNode             uintptr
 54201  	Fget_nodeTypeString    uintptr
 54202  	Fget_text              uintptr
 54203  	Fput_text              uintptr
 54204  	Fget_specified         uintptr
 54205  	Fget_definition        uintptr
 54206  	Fget_nodeTypedValue    uintptr
 54207  	Fput_nodeTypedValue    uintptr
 54208  	Fget_dataType          uintptr
 54209  	Fput_dataType          uintptr
 54210  	Fget_xml               uintptr
 54211  	FtransformNode         uintptr
 54212  	FselectNodes           uintptr
 54213  	FselectSingleNode      uintptr
 54214  	Fget_parsed            uintptr
 54215  	Fget_namespaceURI      uintptr
 54216  	Fget_prefix            uintptr
 54217  	Fget_baseName          uintptr
 54218  	FtransformNodeToObject uintptr
 54219  }
 54220  
 54221  type IXMLDOMDocumentFragmentVtbl = IXMLDOMDocumentFragmentVtbl1
 54222  type IXMLDOMDocumentVtbl1 = struct {
 54223  	FQueryInterface              uintptr
 54224  	FAddRef                      uintptr
 54225  	FRelease                     uintptr
 54226  	FGetTypeInfoCount            uintptr
 54227  	FGetTypeInfo                 uintptr
 54228  	FGetIDsOfNames               uintptr
 54229  	FInvoke                      uintptr
 54230  	Fget_nodeName                uintptr
 54231  	Fget_nodeValue               uintptr
 54232  	Fput_nodeValue               uintptr
 54233  	Fget_nodeType                uintptr
 54234  	Fget_parentNode              uintptr
 54235  	Fget_childNodes              uintptr
 54236  	Fget_firstChild              uintptr
 54237  	Fget_lastChild               uintptr
 54238  	Fget_previousSibling         uintptr
 54239  	Fget_nextSibling             uintptr
 54240  	Fget_attributes              uintptr
 54241  	FinsertBefore                uintptr
 54242  	FreplaceChild                uintptr
 54243  	FremoveChild                 uintptr
 54244  	FappendChild                 uintptr
 54245  	FhasChildNodes               uintptr
 54246  	Fget_ownerDocument           uintptr
 54247  	FcloneNode                   uintptr
 54248  	Fget_nodeTypeString          uintptr
 54249  	Fget_text                    uintptr
 54250  	Fput_text                    uintptr
 54251  	Fget_specified               uintptr
 54252  	Fget_definition              uintptr
 54253  	Fget_nodeTypedValue          uintptr
 54254  	Fput_nodeTypedValue          uintptr
 54255  	Fget_dataType                uintptr
 54256  	Fput_dataType                uintptr
 54257  	Fget_xml                     uintptr
 54258  	FtransformNode               uintptr
 54259  	FselectNodes                 uintptr
 54260  	FselectSingleNode            uintptr
 54261  	Fget_parsed                  uintptr
 54262  	Fget_namespaceURI            uintptr
 54263  	Fget_prefix                  uintptr
 54264  	Fget_baseName                uintptr
 54265  	FtransformNodeToObject       uintptr
 54266  	Fget_doctype                 uintptr
 54267  	Fget_implementation          uintptr
 54268  	Fget_documentElement         uintptr
 54269  	Fputref_documentElement      uintptr
 54270  	FcreateElement               uintptr
 54271  	FcreateDocumentFragment      uintptr
 54272  	FcreateTextNode              uintptr
 54273  	FcreateComment               uintptr
 54274  	FcreateCDATASection          uintptr
 54275  	FcreateProcessingInstruction uintptr
 54276  	FcreateAttribute             uintptr
 54277  	FcreateEntityReference       uintptr
 54278  	FgetElementsByTagName        uintptr
 54279  	FcreateNode                  uintptr
 54280  	FnodeFromID                  uintptr
 54281  	Fload                        uintptr
 54282  	Fget_readyState              uintptr
 54283  	Fget_parseError              uintptr
 54284  	Fget_url                     uintptr
 54285  	Fget_async                   uintptr
 54286  	Fput_async                   uintptr
 54287  	Fabort                       uintptr
 54288  	FloadXML                     uintptr
 54289  	Fsave                        uintptr
 54290  	Fget_validateOnParse         uintptr
 54291  	Fput_validateOnParse         uintptr
 54292  	Fget_resolveExternals        uintptr
 54293  	Fput_resolveExternals        uintptr
 54294  	Fget_preserveWhiteSpace      uintptr
 54295  	Fput_preserveWhiteSpace      uintptr
 54296  	Fput_onreadystatechange      uintptr
 54297  	Fput_ondataavailable         uintptr
 54298  	Fput_ontransformnode         uintptr
 54299  }
 54300  
 54301  type IXMLDOMDocumentVtbl = IXMLDOMDocumentVtbl1
 54302  type IXMLDOMNodeListVtbl1 = struct {
 54303  	FQueryInterface   uintptr
 54304  	FAddRef           uintptr
 54305  	FRelease          uintptr
 54306  	FGetTypeInfoCount uintptr
 54307  	FGetTypeInfo      uintptr
 54308  	FGetIDsOfNames    uintptr
 54309  	FInvoke           uintptr
 54310  	Fget_item         uintptr
 54311  	Fget_length       uintptr
 54312  	FnextNode         uintptr
 54313  	Freset            uintptr
 54314  	Fget__newEnum     uintptr
 54315  }
 54316  
 54317  type IXMLDOMNodeListVtbl = IXMLDOMNodeListVtbl1
 54318  type IXMLDOMNamedNodeMapVtbl1 = struct {
 54319  	FQueryInterface      uintptr
 54320  	FAddRef              uintptr
 54321  	FRelease             uintptr
 54322  	FGetTypeInfoCount    uintptr
 54323  	FGetTypeInfo         uintptr
 54324  	FGetIDsOfNames       uintptr
 54325  	FInvoke              uintptr
 54326  	FgetNamedItem        uintptr
 54327  	FsetNamedItem        uintptr
 54328  	FremoveNamedItem     uintptr
 54329  	Fget_item            uintptr
 54330  	Fget_length          uintptr
 54331  	FgetQualifiedItem    uintptr
 54332  	FremoveQualifiedItem uintptr
 54333  	FnextNode            uintptr
 54334  	Freset               uintptr
 54335  	Fget__newEnum        uintptr
 54336  }
 54337  
 54338  type IXMLDOMNamedNodeMapVtbl = IXMLDOMNamedNodeMapVtbl1
 54339  type IXMLDOMCharacterDataVtbl1 = struct {
 54340  	FQueryInterface        uintptr
 54341  	FAddRef                uintptr
 54342  	FRelease               uintptr
 54343  	FGetTypeInfoCount      uintptr
 54344  	FGetTypeInfo           uintptr
 54345  	FGetIDsOfNames         uintptr
 54346  	FInvoke                uintptr
 54347  	Fget_nodeName          uintptr
 54348  	Fget_nodeValue         uintptr
 54349  	Fput_nodeValue         uintptr
 54350  	Fget_nodeType          uintptr
 54351  	Fget_parentNode        uintptr
 54352  	Fget_childNodes        uintptr
 54353  	Fget_firstChild        uintptr
 54354  	Fget_lastChild         uintptr
 54355  	Fget_previousSibling   uintptr
 54356  	Fget_nextSibling       uintptr
 54357  	Fget_attributes        uintptr
 54358  	FinsertBefore          uintptr
 54359  	FreplaceChild          uintptr
 54360  	FremoveChild           uintptr
 54361  	FappendChild           uintptr
 54362  	FhasChildNodes         uintptr
 54363  	Fget_ownerDocument     uintptr
 54364  	FcloneNode             uintptr
 54365  	Fget_nodeTypeString    uintptr
 54366  	Fget_text              uintptr
 54367  	Fput_text              uintptr
 54368  	Fget_specified         uintptr
 54369  	Fget_definition        uintptr
 54370  	Fget_nodeTypedValue    uintptr
 54371  	Fput_nodeTypedValue    uintptr
 54372  	Fget_dataType          uintptr
 54373  	Fput_dataType          uintptr
 54374  	Fget_xml               uintptr
 54375  	FtransformNode         uintptr
 54376  	FselectNodes           uintptr
 54377  	FselectSingleNode      uintptr
 54378  	Fget_parsed            uintptr
 54379  	Fget_namespaceURI      uintptr
 54380  	Fget_prefix            uintptr
 54381  	Fget_baseName          uintptr
 54382  	FtransformNodeToObject uintptr
 54383  	Fget_data              uintptr
 54384  	Fput_data              uintptr
 54385  	Fget_length            uintptr
 54386  	FsubstringData         uintptr
 54387  	FappendData            uintptr
 54388  	FinsertData            uintptr
 54389  	FdeleteData            uintptr
 54390  	FreplaceData           uintptr
 54391  }
 54392  
 54393  type IXMLDOMCharacterDataVtbl = IXMLDOMCharacterDataVtbl1
 54394  type IXMLDOMAttributeVtbl1 = struct {
 54395  	FQueryInterface        uintptr
 54396  	FAddRef                uintptr
 54397  	FRelease               uintptr
 54398  	FGetTypeInfoCount      uintptr
 54399  	FGetTypeInfo           uintptr
 54400  	FGetIDsOfNames         uintptr
 54401  	FInvoke                uintptr
 54402  	Fget_nodeName          uintptr
 54403  	Fget_nodeValue         uintptr
 54404  	Fput_nodeValue         uintptr
 54405  	Fget_nodeType          uintptr
 54406  	Fget_parentNode        uintptr
 54407  	Fget_childNodes        uintptr
 54408  	Fget_firstChild        uintptr
 54409  	Fget_lastChild         uintptr
 54410  	Fget_previousSibling   uintptr
 54411  	Fget_nextSibling       uintptr
 54412  	Fget_attributes        uintptr
 54413  	FinsertBefore          uintptr
 54414  	FreplaceChild          uintptr
 54415  	FremoveChild           uintptr
 54416  	FappendChild           uintptr
 54417  	FhasChildNodes         uintptr
 54418  	Fget_ownerDocument     uintptr
 54419  	FcloneNode             uintptr
 54420  	Fget_nodeTypeString    uintptr
 54421  	Fget_text              uintptr
 54422  	Fput_text              uintptr
 54423  	Fget_specified         uintptr
 54424  	Fget_definition        uintptr
 54425  	Fget_nodeTypedValue    uintptr
 54426  	Fput_nodeTypedValue    uintptr
 54427  	Fget_dataType          uintptr
 54428  	Fput_dataType          uintptr
 54429  	Fget_xml               uintptr
 54430  	FtransformNode         uintptr
 54431  	FselectNodes           uintptr
 54432  	FselectSingleNode      uintptr
 54433  	Fget_parsed            uintptr
 54434  	Fget_namespaceURI      uintptr
 54435  	Fget_prefix            uintptr
 54436  	Fget_baseName          uintptr
 54437  	FtransformNodeToObject uintptr
 54438  	Fget_name              uintptr
 54439  	Fget_value             uintptr
 54440  	Fput_value             uintptr
 54441  }
 54442  
 54443  type IXMLDOMAttributeVtbl = IXMLDOMAttributeVtbl1
 54444  type IXMLDOMElementVtbl1 = struct {
 54445  	FQueryInterface        uintptr
 54446  	FAddRef                uintptr
 54447  	FRelease               uintptr
 54448  	FGetTypeInfoCount      uintptr
 54449  	FGetTypeInfo           uintptr
 54450  	FGetIDsOfNames         uintptr
 54451  	FInvoke                uintptr
 54452  	Fget_nodeName          uintptr
 54453  	Fget_nodeValue         uintptr
 54454  	Fput_nodeValue         uintptr
 54455  	Fget_nodeType          uintptr
 54456  	Fget_parentNode        uintptr
 54457  	Fget_childNodes        uintptr
 54458  	Fget_firstChild        uintptr
 54459  	Fget_lastChild         uintptr
 54460  	Fget_previousSibling   uintptr
 54461  	Fget_nextSibling       uintptr
 54462  	Fget_attributes        uintptr
 54463  	FinsertBefore          uintptr
 54464  	FreplaceChild          uintptr
 54465  	FremoveChild           uintptr
 54466  	FappendChild           uintptr
 54467  	FhasChildNodes         uintptr
 54468  	Fget_ownerDocument     uintptr
 54469  	FcloneNode             uintptr
 54470  	Fget_nodeTypeString    uintptr
 54471  	Fget_text              uintptr
 54472  	Fput_text              uintptr
 54473  	Fget_specified         uintptr
 54474  	Fget_definition        uintptr
 54475  	Fget_nodeTypedValue    uintptr
 54476  	Fput_nodeTypedValue    uintptr
 54477  	Fget_dataType          uintptr
 54478  	Fput_dataType          uintptr
 54479  	Fget_xml               uintptr
 54480  	FtransformNode         uintptr
 54481  	FselectNodes           uintptr
 54482  	FselectSingleNode      uintptr
 54483  	Fget_parsed            uintptr
 54484  	Fget_namespaceURI      uintptr
 54485  	Fget_prefix            uintptr
 54486  	Fget_baseName          uintptr
 54487  	FtransformNodeToObject uintptr
 54488  	Fget_tagName           uintptr
 54489  	FgetAttribute          uintptr
 54490  	FsetAttribute          uintptr
 54491  	FremoveAttribute       uintptr
 54492  	FgetAttributeNode      uintptr
 54493  	FsetAttributeNode      uintptr
 54494  	FremoveAttributeNode   uintptr
 54495  	FgetElementsByTagName  uintptr
 54496  	Fnormalize             uintptr
 54497  }
 54498  
 54499  type IXMLDOMElementVtbl = IXMLDOMElementVtbl1
 54500  type IXMLDOMTextVtbl1 = struct {
 54501  	FQueryInterface        uintptr
 54502  	FAddRef                uintptr
 54503  	FRelease               uintptr
 54504  	FGetTypeInfoCount      uintptr
 54505  	FGetTypeInfo           uintptr
 54506  	FGetIDsOfNames         uintptr
 54507  	FInvoke                uintptr
 54508  	Fget_nodeName          uintptr
 54509  	Fget_nodeValue         uintptr
 54510  	Fput_nodeValue         uintptr
 54511  	Fget_nodeType          uintptr
 54512  	Fget_parentNode        uintptr
 54513  	Fget_childNodes        uintptr
 54514  	Fget_firstChild        uintptr
 54515  	Fget_lastChild         uintptr
 54516  	Fget_previousSibling   uintptr
 54517  	Fget_nextSibling       uintptr
 54518  	Fget_attributes        uintptr
 54519  	FinsertBefore          uintptr
 54520  	FreplaceChild          uintptr
 54521  	FremoveChild           uintptr
 54522  	FappendChild           uintptr
 54523  	FhasChildNodes         uintptr
 54524  	Fget_ownerDocument     uintptr
 54525  	FcloneNode             uintptr
 54526  	Fget_nodeTypeString    uintptr
 54527  	Fget_text              uintptr
 54528  	Fput_text              uintptr
 54529  	Fget_specified         uintptr
 54530  	Fget_definition        uintptr
 54531  	Fget_nodeTypedValue    uintptr
 54532  	Fput_nodeTypedValue    uintptr
 54533  	Fget_dataType          uintptr
 54534  	Fput_dataType          uintptr
 54535  	Fget_xml               uintptr
 54536  	FtransformNode         uintptr
 54537  	FselectNodes           uintptr
 54538  	FselectSingleNode      uintptr
 54539  	Fget_parsed            uintptr
 54540  	Fget_namespaceURI      uintptr
 54541  	Fget_prefix            uintptr
 54542  	Fget_baseName          uintptr
 54543  	FtransformNodeToObject uintptr
 54544  	Fget_data              uintptr
 54545  	Fput_data              uintptr
 54546  	Fget_length            uintptr
 54547  	FsubstringData         uintptr
 54548  	FappendData            uintptr
 54549  	FinsertData            uintptr
 54550  	FdeleteData            uintptr
 54551  	FreplaceData           uintptr
 54552  	FsplitText             uintptr
 54553  }
 54554  
 54555  type IXMLDOMTextVtbl = IXMLDOMTextVtbl1
 54556  type IXMLDOMCommentVtbl1 = struct {
 54557  	FQueryInterface        uintptr
 54558  	FAddRef                uintptr
 54559  	FRelease               uintptr
 54560  	FGetTypeInfoCount      uintptr
 54561  	FGetTypeInfo           uintptr
 54562  	FGetIDsOfNames         uintptr
 54563  	FInvoke                uintptr
 54564  	Fget_nodeName          uintptr
 54565  	Fget_nodeValue         uintptr
 54566  	Fput_nodeValue         uintptr
 54567  	Fget_nodeType          uintptr
 54568  	Fget_parentNode        uintptr
 54569  	Fget_childNodes        uintptr
 54570  	Fget_firstChild        uintptr
 54571  	Fget_lastChild         uintptr
 54572  	Fget_previousSibling   uintptr
 54573  	Fget_nextSibling       uintptr
 54574  	Fget_attributes        uintptr
 54575  	FinsertBefore          uintptr
 54576  	FreplaceChild          uintptr
 54577  	FremoveChild           uintptr
 54578  	FappendChild           uintptr
 54579  	FhasChildNodes         uintptr
 54580  	Fget_ownerDocument     uintptr
 54581  	FcloneNode             uintptr
 54582  	Fget_nodeTypeString    uintptr
 54583  	Fget_text              uintptr
 54584  	Fput_text              uintptr
 54585  	Fget_specified         uintptr
 54586  	Fget_definition        uintptr
 54587  	Fget_nodeTypedValue    uintptr
 54588  	Fput_nodeTypedValue    uintptr
 54589  	Fget_dataType          uintptr
 54590  	Fput_dataType          uintptr
 54591  	Fget_xml               uintptr
 54592  	FtransformNode         uintptr
 54593  	FselectNodes           uintptr
 54594  	FselectSingleNode      uintptr
 54595  	Fget_parsed            uintptr
 54596  	Fget_namespaceURI      uintptr
 54597  	Fget_prefix            uintptr
 54598  	Fget_baseName          uintptr
 54599  	FtransformNodeToObject uintptr
 54600  	Fget_data              uintptr
 54601  	Fput_data              uintptr
 54602  	Fget_length            uintptr
 54603  	FsubstringData         uintptr
 54604  	FappendData            uintptr
 54605  	FinsertData            uintptr
 54606  	FdeleteData            uintptr
 54607  	FreplaceData           uintptr
 54608  }
 54609  
 54610  type IXMLDOMCommentVtbl = IXMLDOMCommentVtbl1
 54611  type IXMLDOMProcessingInstructionVtbl1 = struct {
 54612  	FQueryInterface        uintptr
 54613  	FAddRef                uintptr
 54614  	FRelease               uintptr
 54615  	FGetTypeInfoCount      uintptr
 54616  	FGetTypeInfo           uintptr
 54617  	FGetIDsOfNames         uintptr
 54618  	FInvoke                uintptr
 54619  	Fget_nodeName          uintptr
 54620  	Fget_nodeValue         uintptr
 54621  	Fput_nodeValue         uintptr
 54622  	Fget_nodeType          uintptr
 54623  	Fget_parentNode        uintptr
 54624  	Fget_childNodes        uintptr
 54625  	Fget_firstChild        uintptr
 54626  	Fget_lastChild         uintptr
 54627  	Fget_previousSibling   uintptr
 54628  	Fget_nextSibling       uintptr
 54629  	Fget_attributes        uintptr
 54630  	FinsertBefore          uintptr
 54631  	FreplaceChild          uintptr
 54632  	FremoveChild           uintptr
 54633  	FappendChild           uintptr
 54634  	FhasChildNodes         uintptr
 54635  	Fget_ownerDocument     uintptr
 54636  	FcloneNode             uintptr
 54637  	Fget_nodeTypeString    uintptr
 54638  	Fget_text              uintptr
 54639  	Fput_text              uintptr
 54640  	Fget_specified         uintptr
 54641  	Fget_definition        uintptr
 54642  	Fget_nodeTypedValue    uintptr
 54643  	Fput_nodeTypedValue    uintptr
 54644  	Fget_dataType          uintptr
 54645  	Fput_dataType          uintptr
 54646  	Fget_xml               uintptr
 54647  	FtransformNode         uintptr
 54648  	FselectNodes           uintptr
 54649  	FselectSingleNode      uintptr
 54650  	Fget_parsed            uintptr
 54651  	Fget_namespaceURI      uintptr
 54652  	Fget_prefix            uintptr
 54653  	Fget_baseName          uintptr
 54654  	FtransformNodeToObject uintptr
 54655  	Fget_target            uintptr
 54656  	Fget_data              uintptr
 54657  	Fput_data              uintptr
 54658  }
 54659  
 54660  type IXMLDOMProcessingInstructionVtbl = IXMLDOMProcessingInstructionVtbl1
 54661  type IXMLDOMCDATASectionVtbl1 = struct {
 54662  	FQueryInterface        uintptr
 54663  	FAddRef                uintptr
 54664  	FRelease               uintptr
 54665  	FGetTypeInfoCount      uintptr
 54666  	FGetTypeInfo           uintptr
 54667  	FGetIDsOfNames         uintptr
 54668  	FInvoke                uintptr
 54669  	Fget_nodeName          uintptr
 54670  	Fget_nodeValue         uintptr
 54671  	Fput_nodeValue         uintptr
 54672  	Fget_nodeType          uintptr
 54673  	Fget_parentNode        uintptr
 54674  	Fget_childNodes        uintptr
 54675  	Fget_firstChild        uintptr
 54676  	Fget_lastChild         uintptr
 54677  	Fget_previousSibling   uintptr
 54678  	Fget_nextSibling       uintptr
 54679  	Fget_attributes        uintptr
 54680  	FinsertBefore          uintptr
 54681  	FreplaceChild          uintptr
 54682  	FremoveChild           uintptr
 54683  	FappendChild           uintptr
 54684  	FhasChildNodes         uintptr
 54685  	Fget_ownerDocument     uintptr
 54686  	FcloneNode             uintptr
 54687  	Fget_nodeTypeString    uintptr
 54688  	Fget_text              uintptr
 54689  	Fput_text              uintptr
 54690  	Fget_specified         uintptr
 54691  	Fget_definition        uintptr
 54692  	Fget_nodeTypedValue    uintptr
 54693  	Fput_nodeTypedValue    uintptr
 54694  	Fget_dataType          uintptr
 54695  	Fput_dataType          uintptr
 54696  	Fget_xml               uintptr
 54697  	FtransformNode         uintptr
 54698  	FselectNodes           uintptr
 54699  	FselectSingleNode      uintptr
 54700  	Fget_parsed            uintptr
 54701  	Fget_namespaceURI      uintptr
 54702  	Fget_prefix            uintptr
 54703  	Fget_baseName          uintptr
 54704  	FtransformNodeToObject uintptr
 54705  	Fget_data              uintptr
 54706  	Fput_data              uintptr
 54707  	Fget_length            uintptr
 54708  	FsubstringData         uintptr
 54709  	FappendData            uintptr
 54710  	FinsertData            uintptr
 54711  	FdeleteData            uintptr
 54712  	FreplaceData           uintptr
 54713  	FsplitText             uintptr
 54714  }
 54715  
 54716  type IXMLDOMCDATASectionVtbl = IXMLDOMCDATASectionVtbl1
 54717  type IXMLDOMDocumentTypeVtbl1 = struct {
 54718  	FQueryInterface        uintptr
 54719  	FAddRef                uintptr
 54720  	FRelease               uintptr
 54721  	FGetTypeInfoCount      uintptr
 54722  	FGetTypeInfo           uintptr
 54723  	FGetIDsOfNames         uintptr
 54724  	FInvoke                uintptr
 54725  	Fget_nodeName          uintptr
 54726  	Fget_nodeValue         uintptr
 54727  	Fput_nodeValue         uintptr
 54728  	Fget_nodeType          uintptr
 54729  	Fget_parentNode        uintptr
 54730  	Fget_childNodes        uintptr
 54731  	Fget_firstChild        uintptr
 54732  	Fget_lastChild         uintptr
 54733  	Fget_previousSibling   uintptr
 54734  	Fget_nextSibling       uintptr
 54735  	Fget_attributes        uintptr
 54736  	FinsertBefore          uintptr
 54737  	FreplaceChild          uintptr
 54738  	FremoveChild           uintptr
 54739  	FappendChild           uintptr
 54740  	FhasChildNodes         uintptr
 54741  	Fget_ownerDocument     uintptr
 54742  	FcloneNode             uintptr
 54743  	Fget_nodeTypeString    uintptr
 54744  	Fget_text              uintptr
 54745  	Fput_text              uintptr
 54746  	Fget_specified         uintptr
 54747  	Fget_definition        uintptr
 54748  	Fget_nodeTypedValue    uintptr
 54749  	Fput_nodeTypedValue    uintptr
 54750  	Fget_dataType          uintptr
 54751  	Fput_dataType          uintptr
 54752  	Fget_xml               uintptr
 54753  	FtransformNode         uintptr
 54754  	FselectNodes           uintptr
 54755  	FselectSingleNode      uintptr
 54756  	Fget_parsed            uintptr
 54757  	Fget_namespaceURI      uintptr
 54758  	Fget_prefix            uintptr
 54759  	Fget_baseName          uintptr
 54760  	FtransformNodeToObject uintptr
 54761  	Fget_name              uintptr
 54762  	Fget_entities          uintptr
 54763  	Fget_notations         uintptr
 54764  }
 54765  
 54766  type IXMLDOMDocumentTypeVtbl = IXMLDOMDocumentTypeVtbl1
 54767  type IXMLDOMNotationVtbl1 = struct {
 54768  	FQueryInterface        uintptr
 54769  	FAddRef                uintptr
 54770  	FRelease               uintptr
 54771  	FGetTypeInfoCount      uintptr
 54772  	FGetTypeInfo           uintptr
 54773  	FGetIDsOfNames         uintptr
 54774  	FInvoke                uintptr
 54775  	Fget_nodeName          uintptr
 54776  	Fget_nodeValue         uintptr
 54777  	Fput_nodeValue         uintptr
 54778  	Fget_nodeType          uintptr
 54779  	Fget_parentNode        uintptr
 54780  	Fget_childNodes        uintptr
 54781  	Fget_firstChild        uintptr
 54782  	Fget_lastChild         uintptr
 54783  	Fget_previousSibling   uintptr
 54784  	Fget_nextSibling       uintptr
 54785  	Fget_attributes        uintptr
 54786  	FinsertBefore          uintptr
 54787  	FreplaceChild          uintptr
 54788  	FremoveChild           uintptr
 54789  	FappendChild           uintptr
 54790  	FhasChildNodes         uintptr
 54791  	Fget_ownerDocument     uintptr
 54792  	FcloneNode             uintptr
 54793  	Fget_nodeTypeString    uintptr
 54794  	Fget_text              uintptr
 54795  	Fput_text              uintptr
 54796  	Fget_specified         uintptr
 54797  	Fget_definition        uintptr
 54798  	Fget_nodeTypedValue    uintptr
 54799  	Fput_nodeTypedValue    uintptr
 54800  	Fget_dataType          uintptr
 54801  	Fput_dataType          uintptr
 54802  	Fget_xml               uintptr
 54803  	FtransformNode         uintptr
 54804  	FselectNodes           uintptr
 54805  	FselectSingleNode      uintptr
 54806  	Fget_parsed            uintptr
 54807  	Fget_namespaceURI      uintptr
 54808  	Fget_prefix            uintptr
 54809  	Fget_baseName          uintptr
 54810  	FtransformNodeToObject uintptr
 54811  	Fget_publicId          uintptr
 54812  	Fget_systemId          uintptr
 54813  }
 54814  
 54815  type IXMLDOMNotationVtbl = IXMLDOMNotationVtbl1
 54816  type IXMLDOMEntityVtbl1 = struct {
 54817  	FQueryInterface        uintptr
 54818  	FAddRef                uintptr
 54819  	FRelease               uintptr
 54820  	FGetTypeInfoCount      uintptr
 54821  	FGetTypeInfo           uintptr
 54822  	FGetIDsOfNames         uintptr
 54823  	FInvoke                uintptr
 54824  	Fget_nodeName          uintptr
 54825  	Fget_nodeValue         uintptr
 54826  	Fput_nodeValue         uintptr
 54827  	Fget_nodeType          uintptr
 54828  	Fget_parentNode        uintptr
 54829  	Fget_childNodes        uintptr
 54830  	Fget_firstChild        uintptr
 54831  	Fget_lastChild         uintptr
 54832  	Fget_previousSibling   uintptr
 54833  	Fget_nextSibling       uintptr
 54834  	Fget_attributes        uintptr
 54835  	FinsertBefore          uintptr
 54836  	FreplaceChild          uintptr
 54837  	FremoveChild           uintptr
 54838  	FappendChild           uintptr
 54839  	FhasChildNodes         uintptr
 54840  	Fget_ownerDocument     uintptr
 54841  	FcloneNode             uintptr
 54842  	Fget_nodeTypeString    uintptr
 54843  	Fget_text              uintptr
 54844  	Fput_text              uintptr
 54845  	Fget_specified         uintptr
 54846  	Fget_definition        uintptr
 54847  	Fget_nodeTypedValue    uintptr
 54848  	Fput_nodeTypedValue    uintptr
 54849  	Fget_dataType          uintptr
 54850  	Fput_dataType          uintptr
 54851  	Fget_xml               uintptr
 54852  	FtransformNode         uintptr
 54853  	FselectNodes           uintptr
 54854  	FselectSingleNode      uintptr
 54855  	Fget_parsed            uintptr
 54856  	Fget_namespaceURI      uintptr
 54857  	Fget_prefix            uintptr
 54858  	Fget_baseName          uintptr
 54859  	FtransformNodeToObject uintptr
 54860  	Fget_publicId          uintptr
 54861  	Fget_systemId          uintptr
 54862  	Fget_notationName      uintptr
 54863  }
 54864  
 54865  type IXMLDOMEntityVtbl = IXMLDOMEntityVtbl1
 54866  type IXMLDOMEntityReferenceVtbl1 = struct {
 54867  	FQueryInterface        uintptr
 54868  	FAddRef                uintptr
 54869  	FRelease               uintptr
 54870  	FGetTypeInfoCount      uintptr
 54871  	FGetTypeInfo           uintptr
 54872  	FGetIDsOfNames         uintptr
 54873  	FInvoke                uintptr
 54874  	Fget_nodeName          uintptr
 54875  	Fget_nodeValue         uintptr
 54876  	Fput_nodeValue         uintptr
 54877  	Fget_nodeType          uintptr
 54878  	Fget_parentNode        uintptr
 54879  	Fget_childNodes        uintptr
 54880  	Fget_firstChild        uintptr
 54881  	Fget_lastChild         uintptr
 54882  	Fget_previousSibling   uintptr
 54883  	Fget_nextSibling       uintptr
 54884  	Fget_attributes        uintptr
 54885  	FinsertBefore          uintptr
 54886  	FreplaceChild          uintptr
 54887  	FremoveChild           uintptr
 54888  	FappendChild           uintptr
 54889  	FhasChildNodes         uintptr
 54890  	Fget_ownerDocument     uintptr
 54891  	FcloneNode             uintptr
 54892  	Fget_nodeTypeString    uintptr
 54893  	Fget_text              uintptr
 54894  	Fput_text              uintptr
 54895  	Fget_specified         uintptr
 54896  	Fget_definition        uintptr
 54897  	Fget_nodeTypedValue    uintptr
 54898  	Fput_nodeTypedValue    uintptr
 54899  	Fget_dataType          uintptr
 54900  	Fput_dataType          uintptr
 54901  	Fget_xml               uintptr
 54902  	FtransformNode         uintptr
 54903  	FselectNodes           uintptr
 54904  	FselectSingleNode      uintptr
 54905  	Fget_parsed            uintptr
 54906  	Fget_namespaceURI      uintptr
 54907  	Fget_prefix            uintptr
 54908  	Fget_baseName          uintptr
 54909  	FtransformNodeToObject uintptr
 54910  }
 54911  
 54912  type IXMLDOMEntityReferenceVtbl = IXMLDOMEntityReferenceVtbl1
 54913  type IXMLDOMParseErrorVtbl1 = struct {
 54914  	FQueryInterface   uintptr
 54915  	FAddRef           uintptr
 54916  	FRelease          uintptr
 54917  	FGetTypeInfoCount uintptr
 54918  	FGetTypeInfo      uintptr
 54919  	FGetIDsOfNames    uintptr
 54920  	FInvoke           uintptr
 54921  	Fget_errorCode    uintptr
 54922  	Fget_url          uintptr
 54923  	Fget_reason       uintptr
 54924  	Fget_srcText      uintptr
 54925  	Fget_line         uintptr
 54926  	Fget_linepos      uintptr
 54927  	Fget_filepos      uintptr
 54928  }
 54929  
 54930  type IXMLDOMParseErrorVtbl = IXMLDOMParseErrorVtbl1
 54931  type IXTLRuntimeVtbl1 = struct {
 54932  	FQueryInterface        uintptr
 54933  	FAddRef                uintptr
 54934  	FRelease               uintptr
 54935  	FGetTypeInfoCount      uintptr
 54936  	FGetTypeInfo           uintptr
 54937  	FGetIDsOfNames         uintptr
 54938  	FInvoke                uintptr
 54939  	Fget_nodeName          uintptr
 54940  	Fget_nodeValue         uintptr
 54941  	Fput_nodeValue         uintptr
 54942  	Fget_nodeType          uintptr
 54943  	Fget_parentNode        uintptr
 54944  	Fget_childNodes        uintptr
 54945  	Fget_firstChild        uintptr
 54946  	Fget_lastChild         uintptr
 54947  	Fget_previousSibling   uintptr
 54948  	Fget_nextSibling       uintptr
 54949  	Fget_attributes        uintptr
 54950  	FinsertBefore          uintptr
 54951  	FreplaceChild          uintptr
 54952  	FremoveChild           uintptr
 54953  	FappendChild           uintptr
 54954  	FhasChildNodes         uintptr
 54955  	Fget_ownerDocument     uintptr
 54956  	FcloneNode             uintptr
 54957  	Fget_nodeTypeString    uintptr
 54958  	Fget_text              uintptr
 54959  	Fput_text              uintptr
 54960  	Fget_specified         uintptr
 54961  	Fget_definition        uintptr
 54962  	Fget_nodeTypedValue    uintptr
 54963  	Fput_nodeTypedValue    uintptr
 54964  	Fget_dataType          uintptr
 54965  	Fput_dataType          uintptr
 54966  	Fget_xml               uintptr
 54967  	FtransformNode         uintptr
 54968  	FselectNodes           uintptr
 54969  	FselectSingleNode      uintptr
 54970  	Fget_parsed            uintptr
 54971  	Fget_namespaceURI      uintptr
 54972  	Fget_prefix            uintptr
 54973  	Fget_baseName          uintptr
 54974  	FtransformNodeToObject uintptr
 54975  	FuniqueID              uintptr
 54976  	Fdepth                 uintptr
 54977  	FchildNumber           uintptr
 54978  	FancestorChildNumber   uintptr
 54979  	FabsoluteChildNumber   uintptr
 54980  	FformatIndex           uintptr
 54981  	FformatNumber          uintptr
 54982  	FformatDate            uintptr
 54983  	FformatTime            uintptr
 54984  }
 54985  
 54986  type IXTLRuntimeVtbl = IXTLRuntimeVtbl1
 54987  type XMLDOMDocumentEventsVtbl1 = struct {
 54988  	FQueryInterface   uintptr
 54989  	FAddRef           uintptr
 54990  	FRelease          uintptr
 54991  	FGetTypeInfoCount uintptr
 54992  	FGetTypeInfo      uintptr
 54993  	FGetIDsOfNames    uintptr
 54994  	FInvoke           uintptr
 54995  }
 54996  
 54997  type XMLDOMDocumentEventsVtbl = XMLDOMDocumentEventsVtbl1
 54998  type IXMLHttpRequestVtbl1 = struct {
 54999  	FQueryInterface         uintptr
 55000  	FAddRef                 uintptr
 55001  	FRelease                uintptr
 55002  	FGetTypeInfoCount       uintptr
 55003  	FGetTypeInfo            uintptr
 55004  	FGetIDsOfNames          uintptr
 55005  	FInvoke                 uintptr
 55006  	Fopen                   uintptr
 55007  	FsetRequestHeader       uintptr
 55008  	FgetResponseHeader      uintptr
 55009  	FgetAllResponseHeaders  uintptr
 55010  	Fsend                   uintptr
 55011  	Fabort                  uintptr
 55012  	Fget_status             uintptr
 55013  	Fget_statusText         uintptr
 55014  	Fget_responseXML        uintptr
 55015  	Fget_responseText       uintptr
 55016  	Fget_responseBody       uintptr
 55017  	Fget_responseStream     uintptr
 55018  	Fget_readyState         uintptr
 55019  	Fput_onreadystatechange uintptr
 55020  }
 55021  
 55022  type IXMLHttpRequestVtbl = IXMLHttpRequestVtbl1
 55023  type IXMLDSOControlVtbl1 = struct {
 55024  	FQueryInterface        uintptr
 55025  	FAddRef                uintptr
 55026  	FRelease               uintptr
 55027  	FGetTypeInfoCount      uintptr
 55028  	FGetTypeInfo           uintptr
 55029  	FGetIDsOfNames         uintptr
 55030  	FInvoke                uintptr
 55031  	Fget_XMLDocument       uintptr
 55032  	Fput_XMLDocument       uintptr
 55033  	Fget_JavaDSOCompatible uintptr
 55034  	Fput_JavaDSOCompatible uintptr
 55035  	Fget_readyState        uintptr
 55036  }
 55037  
 55038  type IXMLDSOControlVtbl = IXMLDSOControlVtbl1
 55039  type IXMLElementCollectionVtbl1 = struct {
 55040  	FQueryInterface   uintptr
 55041  	FAddRef           uintptr
 55042  	FRelease          uintptr
 55043  	FGetTypeInfoCount uintptr
 55044  	FGetTypeInfo      uintptr
 55045  	FGetIDsOfNames    uintptr
 55046  	FInvoke           uintptr
 55047  	Fput_length       uintptr
 55048  	Fget_length       uintptr
 55049  	Fget__newEnum     uintptr
 55050  	Fitem             uintptr
 55051  }
 55052  
 55053  type IXMLElementCollectionVtbl = IXMLElementCollectionVtbl1
 55054  type IXMLDocumentVtbl1 = struct {
 55055  	FQueryInterface       uintptr
 55056  	FAddRef               uintptr
 55057  	FRelease              uintptr
 55058  	FGetTypeInfoCount     uintptr
 55059  	FGetTypeInfo          uintptr
 55060  	FGetIDsOfNames        uintptr
 55061  	FInvoke               uintptr
 55062  	Fget_root             uintptr
 55063  	Fget_fileSize         uintptr
 55064  	Fget_fileModifiedDate uintptr
 55065  	Fget_fileUpdatedDate  uintptr
 55066  	Fget_URL              uintptr
 55067  	Fput_URL              uintptr
 55068  	Fget_mimeType         uintptr
 55069  	Fget_readyState       uintptr
 55070  	Fget_charset          uintptr
 55071  	Fput_charset          uintptr
 55072  	Fget_version          uintptr
 55073  	Fget_doctype          uintptr
 55074  	Fget_dtdURL           uintptr
 55075  	FcreateElement        uintptr
 55076  }
 55077  
 55078  type IXMLDocumentVtbl = IXMLDocumentVtbl1
 55079  type IXMLDocument2Vtbl1 = struct {
 55080  	FQueryInterface       uintptr
 55081  	FAddRef               uintptr
 55082  	FRelease              uintptr
 55083  	FGetTypeInfoCount     uintptr
 55084  	FGetTypeInfo          uintptr
 55085  	FGetIDsOfNames        uintptr
 55086  	FInvoke               uintptr
 55087  	Fget_root             uintptr
 55088  	Fget_fileSize         uintptr
 55089  	Fget_fileModifiedDate uintptr
 55090  	Fget_fileUpdatedDate  uintptr
 55091  	Fget_URL              uintptr
 55092  	Fput_URL              uintptr
 55093  	Fget_mimeType         uintptr
 55094  	Fget_readyState       uintptr
 55095  	Fget_charset          uintptr
 55096  	Fput_charset          uintptr
 55097  	Fget_version          uintptr
 55098  	Fget_doctype          uintptr
 55099  	Fget_dtdURL           uintptr
 55100  	FcreateElement        uintptr
 55101  	Fget_async            uintptr
 55102  	Fput_async            uintptr
 55103  }
 55104  
 55105  type IXMLDocument2Vtbl = IXMLDocument2Vtbl1
 55106  type IXMLElementVtbl1 = struct {
 55107  	FQueryInterface   uintptr
 55108  	FAddRef           uintptr
 55109  	FRelease          uintptr
 55110  	FGetTypeInfoCount uintptr
 55111  	FGetTypeInfo      uintptr
 55112  	FGetIDsOfNames    uintptr
 55113  	FInvoke           uintptr
 55114  	Fget_tagName      uintptr
 55115  	Fput_tagName      uintptr
 55116  	Fget_parent       uintptr
 55117  	FsetAttribute     uintptr
 55118  	FgetAttribute     uintptr
 55119  	FremoveAttribute  uintptr
 55120  	Fget_children     uintptr
 55121  	Fget_type         uintptr
 55122  	Fget_text         uintptr
 55123  	Fput_text         uintptr
 55124  	FaddChild         uintptr
 55125  	FremoveChild      uintptr
 55126  }
 55127  
 55128  type IXMLElementVtbl = IXMLElementVtbl1
 55129  type IXMLElement2Vtbl1 = struct {
 55130  	FQueryInterface   uintptr
 55131  	FAddRef           uintptr
 55132  	FRelease          uintptr
 55133  	FGetTypeInfoCount uintptr
 55134  	FGetTypeInfo      uintptr
 55135  	FGetIDsOfNames    uintptr
 55136  	FInvoke           uintptr
 55137  	Fget_tagName      uintptr
 55138  	Fput_tagName      uintptr
 55139  	Fget_parent       uintptr
 55140  	FsetAttribute     uintptr
 55141  	FgetAttribute     uintptr
 55142  	FremoveAttribute  uintptr
 55143  	Fget_children     uintptr
 55144  	Fget_type         uintptr
 55145  	Fget_text         uintptr
 55146  	Fput_text         uintptr
 55147  	FaddChild         uintptr
 55148  	FremoveChild      uintptr
 55149  	Fget_attributes   uintptr
 55150  }
 55151  
 55152  type IXMLElement2Vtbl = IXMLElement2Vtbl1
 55153  type IXMLAttributeVtbl1 = struct {
 55154  	FQueryInterface   uintptr
 55155  	FAddRef           uintptr
 55156  	FRelease          uintptr
 55157  	FGetTypeInfoCount uintptr
 55158  	FGetTypeInfo      uintptr
 55159  	FGetIDsOfNames    uintptr
 55160  	FInvoke           uintptr
 55161  	Fget_name         uintptr
 55162  	Fget_value        uintptr
 55163  }
 55164  
 55165  type IXMLAttributeVtbl = IXMLAttributeVtbl1
 55166  type IXMLErrorVtbl1 = struct {
 55167  	FQueryInterface uintptr
 55168  	FAddRef         uintptr
 55169  	FRelease        uintptr
 55170  	FGetErrorInfo   uintptr
 55171  }
 55172  
 55173  type IXMLErrorVtbl = IXMLErrorVtbl1
 55174  
 55175  type LPPERSISTMONIKER = uintptr
 55176  type IPersistMonikerVtbl1 = struct {
 55177  	FQueryInterface uintptr
 55178  	FAddRef         uintptr
 55179  	FRelease        uintptr
 55180  	FGetClassID     uintptr
 55181  	FIsDirty        uintptr
 55182  	FLoad           uintptr
 55183  	FSave           uintptr
 55184  	FSaveCompleted  uintptr
 55185  	FGetCurMoniker  uintptr
 55186  }
 55187  
 55188  type IPersistMonikerVtbl = IPersistMonikerVtbl1
 55189  
 55190  type LPMONIKERPROP = uintptr
 55191  
 55192  type MONIKERPROPERTY = uint32
 55193  type IMonikerPropVtbl1 = struct {
 55194  	FQueryInterface uintptr
 55195  	FAddRef         uintptr
 55196  	FRelease        uintptr
 55197  	FPutProperty    uintptr
 55198  }
 55199  
 55200  type IMonikerPropVtbl = IMonikerPropVtbl1
 55201  
 55202  type LPBINDPROTOCOL = uintptr
 55203  type IBindProtocolVtbl1 = struct {
 55204  	FQueryInterface uintptr
 55205  	FAddRef         uintptr
 55206  	FRelease        uintptr
 55207  	FCreateBinding  uintptr
 55208  }
 55209  
 55210  type IBindProtocolVtbl = IBindProtocolVtbl1
 55211  
 55212  type LPBINDING = uintptr
 55213  type IBindingVtbl1 = struct {
 55214  	FQueryInterface uintptr
 55215  	FAddRef         uintptr
 55216  	FRelease        uintptr
 55217  	FAbort          uintptr
 55218  	FSuspend        uintptr
 55219  	FResume         uintptr
 55220  	FSetPriority    uintptr
 55221  	FGetPriority    uintptr
 55222  	FGetBindResult  uintptr
 55223  }
 55224  
 55225  type IBindingVtbl = IBindingVtbl1
 55226  
 55227  type LPBINDSTATUSCALLBACK = uintptr
 55228  
 55229  type BINDVERB = uint32
 55230  
 55231  type BINDINFOF = uint32
 55232  
 55233  type BINDF = uint32
 55234  
 55235  type URL_ENCODING = uint32
 55236  
 55237  type _tagBINDINFO = struct {
 55238  	FcbSize             ULONG
 55239  	F__ccgo_pad1        [4]byte
 55240  	FszExtraInfo        LPWSTR
 55241  	FstgmedData         STGMEDIUM
 55242  	FgrfBindInfoF       DWORD
 55243  	FdwBindVerb         DWORD
 55244  	FszCustomVerb       LPWSTR
 55245  	FcbstgmedData       DWORD
 55246  	FdwOptions          DWORD
 55247  	FdwOptionsFlags     DWORD
 55248  	FdwCodePage         DWORD
 55249  	FsecurityAttributes SECURITY_ATTRIBUTES
 55250  	Fiid                IID
 55251  	FpUnk               uintptr
 55252  	FdwReserved         DWORD
 55253  	F__ccgo_pad2        [4]byte
 55254  }
 55255  
 55256  type BINDINFO = _tagBINDINFO
 55257  
 55258  type _REMSECURITY_ATTRIBUTES = struct {
 55259  	FnLength              DWORD
 55260  	FlpSecurityDescriptor DWORD
 55261  	FbInheritHandle       WINBOOL
 55262  }
 55263  
 55264  type REMSECURITY_ATTRIBUTES = _REMSECURITY_ATTRIBUTES
 55265  type PREMSECURITY_ATTRIBUTES = uintptr
 55266  type LPREMSECURITY_ATTRIBUTES = uintptr
 55267  
 55268  type _tagRemBINDINFO = struct {
 55269  	FcbSize             ULONG
 55270  	F__ccgo_pad1        [4]byte
 55271  	FszExtraInfo        LPWSTR
 55272  	FgrfBindInfoF       DWORD
 55273  	FdwBindVerb         DWORD
 55274  	FszCustomVerb       LPWSTR
 55275  	FcbstgmedData       DWORD
 55276  	FdwOptions          DWORD
 55277  	FdwOptionsFlags     DWORD
 55278  	FdwCodePage         DWORD
 55279  	FsecurityAttributes REMSECURITY_ATTRIBUTES
 55280  	Fiid                IID
 55281  	F__ccgo_pad2        [4]byte
 55282  	FpUnk               uintptr
 55283  	FdwReserved         DWORD
 55284  	F__ccgo_pad3        [4]byte
 55285  }
 55286  
 55287  type RemBINDINFO = _tagRemBINDINFO
 55288  
 55289  type tagRemFORMATETC = struct {
 55290  	FcfFormat DWORD
 55291  	Fptd      DWORD
 55292  	FdwAspect DWORD
 55293  	Flindex   LONG
 55294  	Ftymed    DWORD
 55295  }
 55296  
 55297  type RemFORMATETC = tagRemFORMATETC
 55298  type LPREMFORMATETC = uintptr
 55299  
 55300  type BINDINFO_OPTIONS = int32
 55301  
 55302  type BSCF = uint32
 55303  
 55304  type BINDSTATUS = uint32
 55305  type IBindStatusCallbackVtbl1 = struct {
 55306  	FQueryInterface    uintptr
 55307  	FAddRef            uintptr
 55308  	FRelease           uintptr
 55309  	FOnStartBinding    uintptr
 55310  	FGetPriority       uintptr
 55311  	FOnLowResource     uintptr
 55312  	FOnProgress        uintptr
 55313  	FOnStopBinding     uintptr
 55314  	FGetBindInfo       uintptr
 55315  	FOnDataAvailable   uintptr
 55316  	FOnObjectAvailable uintptr
 55317  }
 55318  
 55319  type IBindStatusCallbackVtbl = IBindStatusCallbackVtbl1
 55320  
 55321  type LPBINDSTATUSCALLBACKEX = uintptr
 55322  
 55323  type BINDF2 = uint32
 55324  type IBindStatusCallbackExVtbl1 = struct {
 55325  	FQueryInterface    uintptr
 55326  	FAddRef            uintptr
 55327  	FRelease           uintptr
 55328  	FOnStartBinding    uintptr
 55329  	FGetPriority       uintptr
 55330  	FOnLowResource     uintptr
 55331  	FOnProgress        uintptr
 55332  	FOnStopBinding     uintptr
 55333  	FGetBindInfo       uintptr
 55334  	FOnDataAvailable   uintptr
 55335  	FOnObjectAvailable uintptr
 55336  	FGetBindInfoEx     uintptr
 55337  }
 55338  
 55339  type IBindStatusCallbackExVtbl = IBindStatusCallbackExVtbl1
 55340  
 55341  type LPAUTHENTICATION = uintptr
 55342  type IAuthenticateVtbl1 = struct {
 55343  	FQueryInterface uintptr
 55344  	FAddRef         uintptr
 55345  	FRelease        uintptr
 55346  	FAuthenticate   uintptr
 55347  }
 55348  
 55349  type IAuthenticateVtbl = IAuthenticateVtbl1
 55350  
 55351  type LPAUTHENTICATIONEX = uintptr
 55352  
 55353  type AUTHENTICATEF = uint32
 55354  
 55355  type _tagAUTHENTICATEINFO = struct {
 55356  	FdwFlags    DWORD
 55357  	FdwReserved DWORD
 55358  }
 55359  
 55360  type AUTHENTICATEINFO = _tagAUTHENTICATEINFO
 55361  type IAuthenticateExVtbl1 = struct {
 55362  	FQueryInterface uintptr
 55363  	FAddRef         uintptr
 55364  	FRelease        uintptr
 55365  	FAuthenticate   uintptr
 55366  	FAuthenticateEx uintptr
 55367  }
 55368  
 55369  type IAuthenticateExVtbl = IAuthenticateExVtbl1
 55370  
 55371  type LPHTTPNEGOTIATE = uintptr
 55372  type IHttpNegotiateVtbl1 = struct {
 55373  	FQueryInterface       uintptr
 55374  	FAddRef               uintptr
 55375  	FRelease              uintptr
 55376  	FBeginningTransaction uintptr
 55377  	FOnResponse           uintptr
 55378  }
 55379  
 55380  type IHttpNegotiateVtbl = IHttpNegotiateVtbl1
 55381  
 55382  type LPHTTPNEGOTIATE2 = uintptr
 55383  type IHttpNegotiate2Vtbl1 = struct {
 55384  	FQueryInterface       uintptr
 55385  	FAddRef               uintptr
 55386  	FRelease              uintptr
 55387  	FBeginningTransaction uintptr
 55388  	FOnResponse           uintptr
 55389  	FGetRootSecurityId    uintptr
 55390  }
 55391  
 55392  type IHttpNegotiate2Vtbl = IHttpNegotiate2Vtbl1
 55393  
 55394  type LPHTTPNEGOTIATE3 = uintptr
 55395  type IHttpNegotiate3Vtbl1 = struct {
 55396  	FQueryInterface                 uintptr
 55397  	FAddRef                         uintptr
 55398  	FRelease                        uintptr
 55399  	FBeginningTransaction           uintptr
 55400  	FOnResponse                     uintptr
 55401  	FGetRootSecurityId              uintptr
 55402  	FGetSerializedClientCertContext uintptr
 55403  }
 55404  
 55405  type IHttpNegotiate3Vtbl = IHttpNegotiate3Vtbl1
 55406  
 55407  type LPWININETFILESTREAM = uintptr
 55408  type IWinInetFileStreamVtbl1 = struct {
 55409  	FQueryInterface     uintptr
 55410  	FAddRef             uintptr
 55411  	FRelease            uintptr
 55412  	FSetHandleForUnlock uintptr
 55413  	FSetDeleteFile      uintptr
 55414  }
 55415  
 55416  type IWinInetFileStreamVtbl = IWinInetFileStreamVtbl1
 55417  
 55418  type LPWINDOWFORBINDINGUI = uintptr
 55419  type IWindowForBindingUIVtbl1 = struct {
 55420  	FQueryInterface uintptr
 55421  	FAddRef         uintptr
 55422  	FRelease        uintptr
 55423  	FGetWindow      uintptr
 55424  }
 55425  
 55426  type IWindowForBindingUIVtbl = IWindowForBindingUIVtbl1
 55427  
 55428  type LPCODEINSTALL = uintptr
 55429  
 55430  type CIP_STATUS = uint32
 55431  type ICodeInstallVtbl1 = struct {
 55432  	FQueryInterface       uintptr
 55433  	FAddRef               uintptr
 55434  	FRelease              uintptr
 55435  	FGetWindow            uintptr
 55436  	FOnCodeInstallProblem uintptr
 55437  }
 55438  
 55439  type ICodeInstallVtbl = ICodeInstallVtbl1
 55440  
 55441  type LPWININETINFO = uintptr
 55442  type IWinInetInfoVtbl1 = struct {
 55443  	FQueryInterface uintptr
 55444  	FAddRef         uintptr
 55445  	FRelease        uintptr
 55446  	FQueryOption    uintptr
 55447  }
 55448  
 55449  type IWinInetInfoVtbl = IWinInetInfoVtbl1
 55450  
 55451  type LPHTTPSECURITY = uintptr
 55452  type IHttpSecurityVtbl1 = struct {
 55453  	FQueryInterface    uintptr
 55454  	FAddRef            uintptr
 55455  	FRelease           uintptr
 55456  	FGetWindow         uintptr
 55457  	FOnSecurityProblem uintptr
 55458  }
 55459  
 55460  type IHttpSecurityVtbl = IHttpSecurityVtbl1
 55461  
 55462  type LPWININETHTTPINFO = uintptr
 55463  type IWinInetHttpInfoVtbl1 = struct {
 55464  	FQueryInterface uintptr
 55465  	FAddRef         uintptr
 55466  	FRelease        uintptr
 55467  	FQueryOption    uintptr
 55468  	FQueryInfo      uintptr
 55469  }
 55470  
 55471  type IWinInetHttpInfoVtbl = IWinInetHttpInfoVtbl1
 55472  type IWinInetHttpTimeoutsVtbl1 = struct {
 55473  	FQueryInterface     uintptr
 55474  	FAddRef             uintptr
 55475  	FRelease            uintptr
 55476  	FGetRequestTimeouts uintptr
 55477  }
 55478  
 55479  type IWinInetHttpTimeoutsVtbl = IWinInetHttpTimeoutsVtbl1
 55480  
 55481  type LPBINDHOST = uintptr
 55482  type IBindHostVtbl1 = struct {
 55483  	FQueryInterface       uintptr
 55484  	FAddRef               uintptr
 55485  	FRelease              uintptr
 55486  	FCreateMoniker        uintptr
 55487  	FMonikerBindToStorage uintptr
 55488  	FMonikerBindToObject  uintptr
 55489  }
 55490  
 55491  type IBindHostVtbl = IBindHostVtbl1
 55492  
 55493  type LPIINTERNET = uintptr
 55494  type IInternetVtbl1 = struct {
 55495  	FQueryInterface uintptr
 55496  	FAddRef         uintptr
 55497  	FRelease        uintptr
 55498  }
 55499  
 55500  type IInternetVtbl = IInternetVtbl1
 55501  
 55502  type LPIINTERNETBINDINFO = uintptr
 55503  
 55504  type BINDSTRING = uint32
 55505  type IInternetBindInfoVtbl1 = struct {
 55506  	FQueryInterface uintptr
 55507  	FAddRef         uintptr
 55508  	FRelease        uintptr
 55509  	FGetBindInfo    uintptr
 55510  	FGetBindString  uintptr
 55511  }
 55512  
 55513  type IInternetBindInfoVtbl = IInternetBindInfoVtbl1
 55514  
 55515  type LPIINTERNETBINDINFOEX = uintptr
 55516  type IInternetBindInfoExVtbl1 = struct {
 55517  	FQueryInterface uintptr
 55518  	FAddRef         uintptr
 55519  	FRelease        uintptr
 55520  	FGetBindInfo    uintptr
 55521  	FGetBindString  uintptr
 55522  	FGetBindInfoEx  uintptr
 55523  }
 55524  
 55525  type IInternetBindInfoExVtbl = IInternetBindInfoExVtbl1
 55526  
 55527  type LPIINTERNETPROTOCOLROOT = uintptr
 55528  
 55529  type PI_FLAGS = uint32
 55530  type _tagPROTOCOLDATA = struct {
 55531  	FgrfFlags    DWORD
 55532  	FdwState     DWORD
 55533  	FpData       LPVOID
 55534  	FcbData      ULONG
 55535  	F__ccgo_pad1 [4]byte
 55536  }
 55537  
 55538  type PROTOCOLDATA = _tagPROTOCOLDATA
 55539  
 55540  type _tagStartParam = struct {
 55541  	Fiid       IID
 55542  	FpIBindCtx uintptr
 55543  	FpItf      uintptr
 55544  }
 55545  
 55546  type StartParam = _tagStartParam
 55547  type IInternetProtocolRootVtbl1 = struct {
 55548  	FQueryInterface uintptr
 55549  	FAddRef         uintptr
 55550  	FRelease        uintptr
 55551  	FStart          uintptr
 55552  	FContinue       uintptr
 55553  	FAbort          uintptr
 55554  	FTerminate      uintptr
 55555  	FSuspend        uintptr
 55556  	FResume         uintptr
 55557  }
 55558  
 55559  type IInternetProtocolRootVtbl = IInternetProtocolRootVtbl1
 55560  
 55561  type LPIINTERNETPROTOCOL = uintptr
 55562  type IInternetProtocolVtbl1 = struct {
 55563  	FQueryInterface uintptr
 55564  	FAddRef         uintptr
 55565  	FRelease        uintptr
 55566  	FStart          uintptr
 55567  	FContinue       uintptr
 55568  	FAbort          uintptr
 55569  	FTerminate      uintptr
 55570  	FSuspend        uintptr
 55571  	FResume         uintptr
 55572  	FRead           uintptr
 55573  	FSeek           uintptr
 55574  	FLockRequest    uintptr
 55575  	FUnlockRequest  uintptr
 55576  }
 55577  
 55578  type IInternetProtocolVtbl = IInternetProtocolVtbl1
 55579  
 55580  type LPIINTERNETPROTOCOLSINK = uintptr
 55581  type IInternetProtocolSinkVtbl1 = struct {
 55582  	FQueryInterface uintptr
 55583  	FAddRef         uintptr
 55584  	FRelease        uintptr
 55585  	FSwitch         uintptr
 55586  	FReportProgress uintptr
 55587  	FReportData     uintptr
 55588  	FReportResult   uintptr
 55589  }
 55590  
 55591  type IInternetProtocolSinkVtbl = IInternetProtocolSinkVtbl1
 55592  
 55593  type LPIINTERNETPROTOCOLSINKStackable = uintptr
 55594  type IInternetProtocolSinkStackableVtbl1 = struct {
 55595  	FQueryInterface uintptr
 55596  	FAddRef         uintptr
 55597  	FRelease        uintptr
 55598  	FSwitchSink     uintptr
 55599  	FCommitSwitch   uintptr
 55600  	FRollbackSwitch uintptr
 55601  }
 55602  
 55603  type IInternetProtocolSinkStackableVtbl = IInternetProtocolSinkStackableVtbl1
 55604  
 55605  type LPIINTERNETSESSION = uintptr
 55606  
 55607  type OIBDG_FLAGS = uint32
 55608  type IInternetSessionVtbl1 = struct {
 55609  	FQueryInterface       uintptr
 55610  	FAddRef               uintptr
 55611  	FRelease              uintptr
 55612  	FRegisterNameSpace    uintptr
 55613  	FUnregisterNameSpace  uintptr
 55614  	FRegisterMimeFilter   uintptr
 55615  	FUnregisterMimeFilter uintptr
 55616  	FCreateBinding        uintptr
 55617  	FSetSessionOption     uintptr
 55618  	FGetSessionOption     uintptr
 55619  }
 55620  
 55621  type IInternetSessionVtbl = IInternetSessionVtbl1
 55622  
 55623  type LPIINTERNETTHREADSWITCH = uintptr
 55624  type IInternetThreadSwitchVtbl1 = struct {
 55625  	FQueryInterface uintptr
 55626  	FAddRef         uintptr
 55627  	FRelease        uintptr
 55628  	FPrepare        uintptr
 55629  	FContinue       uintptr
 55630  }
 55631  
 55632  type IInternetThreadSwitchVtbl = IInternetThreadSwitchVtbl1
 55633  
 55634  type LPIINTERNETPRIORITY = uintptr
 55635  type IInternetPriorityVtbl1 = struct {
 55636  	FQueryInterface uintptr
 55637  	FAddRef         uintptr
 55638  	FRelease        uintptr
 55639  	FSetPriority    uintptr
 55640  	FGetPriority    uintptr
 55641  }
 55642  
 55643  type IInternetPriorityVtbl = IInternetPriorityVtbl1
 55644  
 55645  type LPIINTERNETPROTOCOLINFO = uintptr
 55646  
 55647  type PARSEACTION = uint32
 55648  
 55649  type PSUACTION = uint32
 55650  
 55651  type QUERYOPTION = uint32
 55652  type IInternetProtocolInfoVtbl1 = struct {
 55653  	FQueryInterface uintptr
 55654  	FAddRef         uintptr
 55655  	FRelease        uintptr
 55656  	FParseUrl       uintptr
 55657  	FCombineUrl     uintptr
 55658  	FCompareUrl     uintptr
 55659  	FQueryInfo      uintptr
 55660  }
 55661  
 55662  type IInternetProtocolInfoVtbl = IInternetProtocolInfoVtbl1
 55663  type IInternetSecurityMgrSiteVtbl1 = struct {
 55664  	FQueryInterface uintptr
 55665  	FAddRef         uintptr
 55666  	FRelease        uintptr
 55667  	FGetWindow      uintptr
 55668  	FEnableModeless uintptr
 55669  }
 55670  
 55671  type IInternetSecurityMgrSiteVtbl = IInternetSecurityMgrSiteVtbl1
 55672  
 55673  type PUAF = uint32
 55674  type PUAFOUT = uint32
 55675  
 55676  type SZM_FLAGS = uint32
 55677  type IInternetSecurityManagerVtbl1 = struct {
 55678  	FQueryInterface    uintptr
 55679  	FAddRef            uintptr
 55680  	FRelease           uintptr
 55681  	FSetSecuritySite   uintptr
 55682  	FGetSecuritySite   uintptr
 55683  	FMapUrlToZone      uintptr
 55684  	FGetSecurityId     uintptr
 55685  	FProcessUrlAction  uintptr
 55686  	FQueryCustomPolicy uintptr
 55687  	FSetZoneMapping    uintptr
 55688  	FGetZoneMappings   uintptr
 55689  }
 55690  
 55691  type IInternetSecurityManagerVtbl = IInternetSecurityManagerVtbl1
 55692  type IInternetHostSecurityManagerVtbl1 = struct {
 55693  	FQueryInterface    uintptr
 55694  	FAddRef            uintptr
 55695  	FRelease           uintptr
 55696  	FGetSecurityId     uintptr
 55697  	FProcessUrlAction  uintptr
 55698  	FQueryCustomPolicy uintptr
 55699  }
 55700  
 55701  type IInternetHostSecurityManagerVtbl = IInternetHostSecurityManagerVtbl1
 55702  
 55703  type LPURLZONEMANAGER = uintptr
 55704  
 55705  type URLZONE = int32
 55706  
 55707  type URLTEMPLATE = uint32
 55708  
 55709  type ZAFLAGS = uint32
 55710  
 55711  type _ZONEATTRIBUTES = struct {
 55712  	FcbSize                 ULONG
 55713  	FszDisplayName          [260]WCHAR
 55714  	FszDescription          [200]WCHAR
 55715  	FszIconPath             [260]WCHAR
 55716  	FdwTemplateMinLevel     DWORD
 55717  	FdwTemplateRecommended  DWORD
 55718  	FdwTemplateCurrentLevel DWORD
 55719  	FdwFlags                DWORD
 55720  }
 55721  
 55722  type ZONEATTRIBUTES = _ZONEATTRIBUTES
 55723  type LPZONEATTRIBUTES = uintptr
 55724  
 55725  type URLZONEREG = uint32
 55726  type IInternetZoneManagerVtbl1 = struct {
 55727  	FQueryInterface             uintptr
 55728  	FAddRef                     uintptr
 55729  	FRelease                    uintptr
 55730  	FGetZoneAttributes          uintptr
 55731  	FSetZoneAttributes          uintptr
 55732  	FGetZoneCustomPolicy        uintptr
 55733  	FSetZoneCustomPolicy        uintptr
 55734  	FGetZoneActionPolicy        uintptr
 55735  	FSetZoneActionPolicy        uintptr
 55736  	FPromptAction               uintptr
 55737  	FLogAction                  uintptr
 55738  	FCreateZoneEnumerator       uintptr
 55739  	FGetZoneAt                  uintptr
 55740  	FDestroyZoneEnumerator      uintptr
 55741  	FCopyTemplatePoliciesToZone uintptr
 55742  }
 55743  
 55744  type IInternetZoneManagerVtbl = IInternetZoneManagerVtbl1
 55745  
 55746  type _tagCODEBASEHOLD = struct {
 55747  	FcbSize      ULONG
 55748  	F__ccgo_pad1 [4]byte
 55749  	FszDistUnit  LPWSTR
 55750  	FszCodeBase  LPWSTR
 55751  	FdwVersionMS DWORD
 55752  	FdwVersionLS DWORD
 55753  	FdwStyle     DWORD
 55754  	F__ccgo_pad2 [4]byte
 55755  }
 55756  
 55757  type CODEBASEHOLD = _tagCODEBASEHOLD
 55758  type LPCODEBASEHOLD = uintptr
 55759  
 55760  type _tagSOFTDISTINFO = struct {
 55761  	FcbSize                ULONG
 55762  	FdwFlags               DWORD
 55763  	FdwAdState             DWORD
 55764  	F__ccgo_pad1           [4]byte
 55765  	FszTitle               LPWSTR
 55766  	FszAbstract            LPWSTR
 55767  	FszHREF                LPWSTR
 55768  	FdwInstalledVersionMS  DWORD
 55769  	FdwInstalledVersionLS  DWORD
 55770  	FdwUpdateVersionMS     DWORD
 55771  	FdwUpdateVersionLS     DWORD
 55772  	FdwAdvertisedVersionMS DWORD
 55773  	FdwAdvertisedVersionLS DWORD
 55774  	FdwReserved            DWORD
 55775  	F__ccgo_pad2           [4]byte
 55776  }
 55777  
 55778  type SOFTDISTINFO = _tagSOFTDISTINFO
 55779  type LPSOFTDISTINFO = uintptr
 55780  type ISoftDistExtVtbl1 = struct {
 55781  	FQueryInterface               uintptr
 55782  	FAddRef                       uintptr
 55783  	FRelease                      uintptr
 55784  	FProcessSoftDist              uintptr
 55785  	FGetFirstCodeBase             uintptr
 55786  	FGetNextCodeBase              uintptr
 55787  	FAsyncInstallDistributionUnit uintptr
 55788  }
 55789  
 55790  type ISoftDistExtVtbl = ISoftDistExtVtbl1
 55791  
 55792  type LPCATALOGFILEINFO = uintptr
 55793  type ICatalogFileInfoVtbl1 = struct {
 55794  	FQueryInterface uintptr
 55795  	FAddRef         uintptr
 55796  	FRelease        uintptr
 55797  	FGetCatalogFile uintptr
 55798  	FGetJavaTrust   uintptr
 55799  }
 55800  
 55801  type ICatalogFileInfoVtbl = ICatalogFileInfoVtbl1
 55802  
 55803  type LPDATAFILTER = uintptr
 55804  type IDataFilterVtbl1 = struct {
 55805  	FQueryInterface   uintptr
 55806  	FAddRef           uintptr
 55807  	FRelease          uintptr
 55808  	FDoEncode         uintptr
 55809  	FDoDecode         uintptr
 55810  	FSetEncodingLevel uintptr
 55811  }
 55812  
 55813  type IDataFilterVtbl = IDataFilterVtbl1
 55814  
 55815  type _tagPROTOCOLFILTERDATA = struct {
 55816  	FcbSize        DWORD
 55817  	F__ccgo_pad1   [4]byte
 55818  	FpProtocolSink uintptr
 55819  	FpProtocol     uintptr
 55820  	FpUnk          uintptr
 55821  	FdwFilterFlags DWORD
 55822  	F__ccgo_pad2   [4]byte
 55823  }
 55824  
 55825  type PROTOCOLFILTERDATA = _tagPROTOCOLFILTERDATA
 55826  
 55827  type LPENCODINGFILTERFACTORY = uintptr
 55828  
 55829  type _tagDATAINFO = struct {
 55830  	FulTotalSize      ULONG
 55831  	FulavrPacketSize  ULONG
 55832  	FulConnectSpeed   ULONG
 55833  	FulProcessorSpeed ULONG
 55834  }
 55835  
 55836  type DATAINFO = _tagDATAINFO
 55837  type IEncodingFilterFactoryVtbl1 = struct {
 55838  	FQueryInterface   uintptr
 55839  	FAddRef           uintptr
 55840  	FRelease          uintptr
 55841  	FFindBestFilter   uintptr
 55842  	FGetDefaultFilter uintptr
 55843  }
 55844  
 55845  type IEncodingFilterFactoryVtbl = IEncodingFilterFactoryVtbl1
 55846  
 55847  type _tagHIT_LOGGING_INFO = struct {
 55848  	FdwStructSize      DWORD
 55849  	F__ccgo_pad1       [4]byte
 55850  	FlpszLoggedUrlName LPSTR
 55851  	FStartTime         SYSTEMTIME
 55852  	FEndTime           SYSTEMTIME
 55853  	FlpszExtendedInfo  LPSTR
 55854  }
 55855  
 55856  type HIT_LOGGING_INFO = _tagHIT_LOGGING_INFO
 55857  type LPHIT_LOGGING_INFO = uintptr
 55858  
 55859  type CONFIRMSAFETY = struct {
 55860  	Fclsid       CLSID
 55861  	FpUnk        uintptr
 55862  	FdwFlags     DWORD
 55863  	F__ccgo_pad1 [4]byte
 55864  }
 55865  
 55866  type LPIWRAPPEDPROTOCOL = uintptr
 55867  type IWrappedProtocolVtbl1 = struct {
 55868  	FQueryInterface uintptr
 55869  	FAddRef         uintptr
 55870  	FRelease        uintptr
 55871  	FGetWrapperCode uintptr
 55872  }
 55873  
 55874  type IWrappedProtocolVtbl = IWrappedProtocolVtbl1
 55875  
 55876  type LPGETBINDHANDLE = uintptr
 55877  
 55878  type BINDHANDLETYPES = uint32
 55879  type IGetBindHandleVtbl1 = struct {
 55880  	FQueryInterface uintptr
 55881  	FAddRef         uintptr
 55882  	FRelease        uintptr
 55883  	FGetBindHandle  uintptr
 55884  }
 55885  
 55886  type IGetBindHandleVtbl = IGetBindHandleVtbl1
 55887  
 55888  type _tagPROTOCOL_ARGUMENT = struct {
 55889  	FszMethod    LPCWSTR
 55890  	FszTargetUrl LPCWSTR
 55891  }
 55892  
 55893  type PROTOCOL_ARGUMENT = _tagPROTOCOL_ARGUMENT
 55894  type LPPROTOCOL_ARGUMENT = uintptr
 55895  
 55896  type LPBINDCALLBACKREDIRECT = uintptr
 55897  type IBindCallbackRedirectVtbl1 = struct {
 55898  	FQueryInterface uintptr
 55899  	FAddRef         uintptr
 55900  	FRelease        uintptr
 55901  	FRedirect       uintptr
 55902  }
 55903  
 55904  type IBindCallbackRedirectVtbl = IBindCallbackRedirectVtbl1
 55905  
 55906  type IPropertyStorage1 = struct{ FlpVtbl uintptr }
 55907  
 55908  type IPropertyStorage = IPropertyStorage1
 55909  
 55910  type IPropertySetStorage1 = struct{ FlpVtbl uintptr }
 55911  
 55912  type IPropertySetStorage = IPropertySetStorage1
 55913  
 55914  type IEnumSTATPROPSTG1 = struct{ FlpVtbl uintptr }
 55915  
 55916  type IEnumSTATPROPSTG = IEnumSTATPROPSTG1
 55917  
 55918  type IEnumSTATPROPSETSTG1 = struct{ FlpVtbl uintptr }
 55919  
 55920  type IEnumSTATPROPSETSTG = IEnumSTATPROPSETSTG1
 55921  
 55922  type tagVersionedStream = struct {
 55923  	FguidVersion GUID
 55924  	FpStream     uintptr
 55925  }
 55926  
 55927  type VERSIONEDSTREAM = tagVersionedStream
 55928  type LPVERSIONEDSTREAM = uintptr
 55929  
 55930  type tagCAC = struct {
 55931  	FcElems      ULONG
 55932  	F__ccgo_pad1 [4]byte
 55933  	FpElems      uintptr
 55934  }
 55935  
 55936  type CAC = tagCAC
 55937  type tagCAUB = struct {
 55938  	FcElems      ULONG
 55939  	F__ccgo_pad1 [4]byte
 55940  	FpElems      uintptr
 55941  }
 55942  
 55943  type CAUB = tagCAUB
 55944  type tagCAI = struct {
 55945  	FcElems      ULONG
 55946  	F__ccgo_pad1 [4]byte
 55947  	FpElems      uintptr
 55948  }
 55949  
 55950  type CAI = tagCAI
 55951  type tagCAUI = struct {
 55952  	FcElems      ULONG
 55953  	F__ccgo_pad1 [4]byte
 55954  	FpElems      uintptr
 55955  }
 55956  
 55957  type CAUI = tagCAUI
 55958  type tagCAL = struct {
 55959  	FcElems      ULONG
 55960  	F__ccgo_pad1 [4]byte
 55961  	FpElems      uintptr
 55962  }
 55963  
 55964  type CAL = tagCAL
 55965  type tagCAUL = struct {
 55966  	FcElems      ULONG
 55967  	F__ccgo_pad1 [4]byte
 55968  	FpElems      uintptr
 55969  }
 55970  
 55971  type CAUL = tagCAUL
 55972  type tagCAFLT = struct {
 55973  	FcElems      ULONG
 55974  	F__ccgo_pad1 [4]byte
 55975  	FpElems      uintptr
 55976  }
 55977  
 55978  type CAFLT = tagCAFLT
 55979  type tagCADBL = struct {
 55980  	FcElems      ULONG
 55981  	F__ccgo_pad1 [4]byte
 55982  	FpElems      uintptr
 55983  }
 55984  
 55985  type CADBL = tagCADBL
 55986  type tagCACY = struct {
 55987  	FcElems      ULONG
 55988  	F__ccgo_pad1 [4]byte
 55989  	FpElems      uintptr
 55990  }
 55991  
 55992  type CACY = tagCACY
 55993  type tagCADATE = struct {
 55994  	FcElems      ULONG
 55995  	F__ccgo_pad1 [4]byte
 55996  	FpElems      uintptr
 55997  }
 55998  
 55999  type CADATE = tagCADATE
 56000  type tagCABSTR = struct {
 56001  	FcElems      ULONG
 56002  	F__ccgo_pad1 [4]byte
 56003  	FpElems      uintptr
 56004  }
 56005  
 56006  type CABSTR = tagCABSTR
 56007  type tagCABSTRBLOB = struct {
 56008  	FcElems      ULONG
 56009  	F__ccgo_pad1 [4]byte
 56010  	FpElems      uintptr
 56011  }
 56012  
 56013  type CABSTRBLOB = tagCABSTRBLOB
 56014  type tagCABOOL = struct {
 56015  	FcElems      ULONG
 56016  	F__ccgo_pad1 [4]byte
 56017  	FpElems      uintptr
 56018  }
 56019  
 56020  type CABOOL = tagCABOOL
 56021  type tagCASCODE = struct {
 56022  	FcElems      ULONG
 56023  	F__ccgo_pad1 [4]byte
 56024  	FpElems      uintptr
 56025  }
 56026  
 56027  type CASCODE = tagCASCODE
 56028  type tagCAPROPVARIANT = struct {
 56029  	FcElems      ULONG
 56030  	F__ccgo_pad1 [4]byte
 56031  	FpElems      uintptr
 56032  }
 56033  
 56034  type CAPROPVARIANT = tagCAPROPVARIANT
 56035  type tagCAH = struct {
 56036  	FcElems      ULONG
 56037  	F__ccgo_pad1 [4]byte
 56038  	FpElems      uintptr
 56039  }
 56040  
 56041  type CAH = tagCAH
 56042  type tagCAUH = struct {
 56043  	FcElems      ULONG
 56044  	F__ccgo_pad1 [4]byte
 56045  	FpElems      uintptr
 56046  }
 56047  
 56048  type CAUH = tagCAUH
 56049  type tagCALPSTR = struct {
 56050  	FcElems      ULONG
 56051  	F__ccgo_pad1 [4]byte
 56052  	FpElems      uintptr
 56053  }
 56054  
 56055  type CALPSTR = tagCALPSTR
 56056  type tagCALPWSTR = struct {
 56057  	FcElems      ULONG
 56058  	F__ccgo_pad1 [4]byte
 56059  	FpElems      uintptr
 56060  }
 56061  
 56062  type CALPWSTR = tagCALPWSTR
 56063  type tagCAFILETIME = struct {
 56064  	FcElems      ULONG
 56065  	F__ccgo_pad1 [4]byte
 56066  	FpElems      uintptr
 56067  }
 56068  
 56069  type CAFILETIME = tagCAFILETIME
 56070  type tagCACLIPDATA = struct {
 56071  	FcElems      ULONG
 56072  	F__ccgo_pad1 [4]byte
 56073  	FpElems      uintptr
 56074  }
 56075  
 56076  type CACLIPDATA = tagCACLIPDATA
 56077  type tagCACLSID = struct {
 56078  	FcElems      ULONG
 56079  	F__ccgo_pad1 [4]byte
 56080  	FpElems      uintptr
 56081  }
 56082  
 56083  type CACLSID = tagCACLSID
 56084  
 56085  type PROPVAR_PAD1 = WORD
 56086  type PROPVAR_PAD2 = WORD
 56087  type PROPVAR_PAD3 = WORD
 56088  
 56089  type LPPROPVARIANT = uintptr
 56090  
 56091  type tagPROPSPEC = struct {
 56092  	FulKind      ULONG
 56093  	F__ccgo_pad1 [4]byte
 56094  	Fu           struct {
 56095  		F__ccgo_pad1 [0]uint64
 56096  		Fpropid      PROPID
 56097  		F__ccgo_pad2 [4]byte
 56098  	}
 56099  }
 56100  
 56101  type PROPSPEC = tagPROPSPEC
 56102  
 56103  type tagSTATPROPSTG = struct {
 56104  	FlpwstrName  LPOLESTR
 56105  	Fpropid      PROPID
 56106  	Fvt          VARTYPE
 56107  	F__ccgo_pad1 [2]byte
 56108  }
 56109  
 56110  type STATPROPSTG = tagSTATPROPSTG
 56111  
 56112  type tagSTATPROPSETSTG = struct {
 56113  	Ffmtid       FMTID
 56114  	Fclsid       CLSID
 56115  	FgrfFlags    DWORD
 56116  	Fmtime       FILETIME
 56117  	Fctime       FILETIME
 56118  	Fatime       FILETIME
 56119  	FdwOSVersion DWORD
 56120  }
 56121  
 56122  type STATPROPSETSTG = tagSTATPROPSETSTG
 56123  type IPropertyStorageVtbl1 = struct {
 56124  	FQueryInterface      uintptr
 56125  	FAddRef              uintptr
 56126  	FRelease             uintptr
 56127  	FReadMultiple        uintptr
 56128  	FWriteMultiple       uintptr
 56129  	FDeleteMultiple      uintptr
 56130  	FReadPropertyNames   uintptr
 56131  	FWritePropertyNames  uintptr
 56132  	FDeletePropertyNames uintptr
 56133  	FCommit              uintptr
 56134  	FRevert              uintptr
 56135  	FEnum                uintptr
 56136  	FSetTimes            uintptr
 56137  	FSetClass            uintptr
 56138  	FStat                uintptr
 56139  }
 56140  
 56141  type IPropertyStorageVtbl = IPropertyStorageVtbl1
 56142  
 56143  type LPPROPERTYSETSTORAGE = uintptr
 56144  type IPropertySetStorageVtbl1 = struct {
 56145  	FQueryInterface uintptr
 56146  	FAddRef         uintptr
 56147  	FRelease        uintptr
 56148  	FCreate         uintptr
 56149  	FOpen           uintptr
 56150  	FDelete         uintptr
 56151  	FEnum           uintptr
 56152  }
 56153  
 56154  type IPropertySetStorageVtbl = IPropertySetStorageVtbl1
 56155  
 56156  type LPENUMSTATPROPSTG = uintptr
 56157  type IEnumSTATPROPSTGVtbl1 = struct {
 56158  	FQueryInterface uintptr
 56159  	FAddRef         uintptr
 56160  	FRelease        uintptr
 56161  	FNext           uintptr
 56162  	FSkip           uintptr
 56163  	FReset          uintptr
 56164  	FClone          uintptr
 56165  }
 56166  
 56167  type IEnumSTATPROPSTGVtbl = IEnumSTATPROPSTGVtbl1
 56168  
 56169  type LPENUMSTATPROPSETSTG = uintptr
 56170  type IEnumSTATPROPSETSTGVtbl1 = struct {
 56171  	FQueryInterface uintptr
 56172  	FAddRef         uintptr
 56173  	FRelease        uintptr
 56174  	FNext           uintptr
 56175  	FSkip           uintptr
 56176  	FReset          uintptr
 56177  	FClone          uintptr
 56178  }
 56179  
 56180  type IEnumSTATPROPSETSTGVtbl = IEnumSTATPROPSETSTGVtbl1
 56181  
 56182  type LPPROPERTYSTORAGE = uintptr
 56183  
 56184  type tagSERIALIZEDPROPERTYVALUE = struct {
 56185  	FdwType      DWORD
 56186  	Frgb         [1]BYTE
 56187  	F__ccgo_pad1 [3]byte
 56188  }
 56189  
 56190  type SERIALIZEDPROPERTYVALUE = tagSERIALIZEDPROPERTYVALUE
 56191  
 56192  type NUMPARSE = struct {
 56193  	FcDig       INT
 56194  	FdwInFlags  ULONG
 56195  	FdwOutFlags ULONG
 56196  	FcchUsed    INT
 56197  	FnBaseShift INT
 56198  	FnPwr10     INT
 56199  }
 56200  
 56201  type UDATE = struct {
 56202  	Fst         SYSTEMTIME
 56203  	FwDayOfYear USHORT
 56204  }
 56205  
 56206  type REGKIND = uint32
 56207  
 56208  type tagPARAMDATA = struct {
 56209  	FszName      uintptr
 56210  	Fvt          VARTYPE
 56211  	F__ccgo_pad1 [6]byte
 56212  }
 56213  
 56214  type PARAMDATA = tagPARAMDATA
 56215  type LPPARAMDATA = uintptr
 56216  
 56217  type tagMETHODDATA = struct {
 56218  	FszName      uintptr
 56219  	Fppdata      uintptr
 56220  	Fdispid      DISPID
 56221  	FiMeth       UINT
 56222  	Fcc          CALLCONV
 56223  	FcArgs       UINT
 56224  	FwFlags      WORD
 56225  	FvtReturn    VARTYPE
 56226  	F__ccgo_pad1 [4]byte
 56227  }
 56228  
 56229  type METHODDATA = tagMETHODDATA
 56230  type LPMETHODDATA = uintptr
 56231  
 56232  type tagINTERFACEDATA = struct {
 56233  	Fpmethdata   uintptr
 56234  	FcMembers    UINT
 56235  	F__ccgo_pad1 [4]byte
 56236  }
 56237  
 56238  type INTERFACEDATA = tagINTERFACEDATA
 56239  type LPINTERFACEDATA = uintptr
 56240  
 56241  type _OLESTREAM = struct{ Flpstbl LPOLESTREAMVTBL }
 56242  
 56243  type LPOLESTREAM = uintptr
 56244  
 56245  type _OLESTREAMVTBL = struct {
 56246  	FGet uintptr
 56247  	FPut uintptr
 56248  }
 56249  
 56250  type OLESTREAMVTBL = _OLESTREAMVTBL
 56251  type LPOLESTREAMVTBL = uintptr
 56252  
 56253  type OLESTREAM = _OLESTREAM
 56254  
 56255  type _STORAGE_READ_CAPACITY = struct {
 56256  	FVersion        ULONG
 56257  	FSize           ULONG
 56258  	FBlockLength    ULONG
 56259  	F__ccgo_pad1    [4]byte
 56260  	FNumberOfBlocks LARGE_INTEGER
 56261  	FDiskLength     LARGE_INTEGER
 56262  }
 56263  
 56264  type STORAGE_READ_CAPACITY = _STORAGE_READ_CAPACITY
 56265  type PSTORAGE_READ_CAPACITY = uintptr
 56266  
 56267  type _STORAGE_HOTPLUG_INFO = struct {
 56268  	FSize                     DWORD
 56269  	FMediaRemovable           BOOLEAN
 56270  	FMediaHotplug             BOOLEAN
 56271  	FDeviceHotplug            BOOLEAN
 56272  	FWriteCacheEnableOverride BOOLEAN
 56273  }
 56274  
 56275  type STORAGE_HOTPLUG_INFO = _STORAGE_HOTPLUG_INFO
 56276  type PSTORAGE_HOTPLUG_INFO = uintptr
 56277  
 56278  type _STORAGE_DEVICE_NUMBER = struct {
 56279  	FDeviceType      DWORD
 56280  	FDeviceNumber    DWORD
 56281  	FPartitionNumber DWORD
 56282  }
 56283  
 56284  type STORAGE_DEVICE_NUMBER = _STORAGE_DEVICE_NUMBER
 56285  type PSTORAGE_DEVICE_NUMBER = uintptr
 56286  
 56287  type _STORAGE_BUS_RESET_REQUEST = struct{ FPathId BYTE }
 56288  
 56289  type STORAGE_BUS_RESET_REQUEST = _STORAGE_BUS_RESET_REQUEST
 56290  type PSTORAGE_BUS_RESET_REQUEST = uintptr
 56291  
 56292  type STORAGE_BREAK_RESERVATION_REQUEST1 = struct {
 56293  	FLength   DWORD
 56294  	F_unused  BYTE
 56295  	FPathId   BYTE
 56296  	FTargetId BYTE
 56297  	FLun      BYTE
 56298  }
 56299  
 56300  type STORAGE_BREAK_RESERVATION_REQUEST = STORAGE_BREAK_RESERVATION_REQUEST1
 56301  type PSTORAGE_BREAK_RESERVATION_REQUEST = uintptr
 56302  
 56303  type _PREVENT_MEDIA_REMOVAL = struct{ FPreventMediaRemoval BOOLEAN }
 56304  
 56305  type PREVENT_MEDIA_REMOVAL = _PREVENT_MEDIA_REMOVAL
 56306  type PPREVENT_MEDIA_REMOVAL = uintptr
 56307  
 56308  type _CLASS_MEDIA_CHANGE_CONTEXT = struct {
 56309  	FMediaChangeCount DWORD
 56310  	FNewState         DWORD
 56311  }
 56312  
 56313  type CLASS_MEDIA_CHANGE_CONTEXT = _CLASS_MEDIA_CHANGE_CONTEXT
 56314  type PCLASS_MEDIA_CHANGE_CONTEXT = uintptr
 56315  
 56316  type _TAPE_STATISTICS = struct {
 56317  	FVersion                DWORD
 56318  	FFlags                  DWORD
 56319  	FRecoveredWrites        LARGE_INTEGER
 56320  	FUnrecoveredWrites      LARGE_INTEGER
 56321  	FRecoveredReads         LARGE_INTEGER
 56322  	FUnrecoveredReads       LARGE_INTEGER
 56323  	FCompressionRatioReads  BYTE
 56324  	FCompressionRatioWrites BYTE
 56325  	F__ccgo_pad1            [6]byte
 56326  }
 56327  
 56328  type TAPE_STATISTICS = _TAPE_STATISTICS
 56329  type PTAPE_STATISTICS = uintptr
 56330  
 56331  type _TAPE_GET_STATISTICS = struct{ FOperation DWORD }
 56332  
 56333  type TAPE_GET_STATISTICS = _TAPE_GET_STATISTICS
 56334  type PTAPE_GET_STATISTICS = uintptr
 56335  
 56336  type STORAGE_MEDIA_TYPE = uint32
 56337  type PSTORAGE_MEDIA_TYPE = uintptr
 56338  
 56339  type STORAGE_BUS_TYPE = uint32
 56340  type PSTORAGE_BUS_TYPE = uintptr
 56341  
 56342  type _DEVICE_MEDIA_INFO = struct {
 56343  	FDeviceSpecific struct {
 56344  		FDiskInfo struct {
 56345  			FCylinders            LARGE_INTEGER
 56346  			FMediaType            STORAGE_MEDIA_TYPE
 56347  			FTracksPerCylinder    DWORD
 56348  			FSectorsPerTrack      DWORD
 56349  			FBytesPerSector       DWORD
 56350  			FNumberMediaSides     DWORD
 56351  			FMediaCharacteristics DWORD
 56352  		}
 56353  	}
 56354  }
 56355  
 56356  type DEVICE_MEDIA_INFO = _DEVICE_MEDIA_INFO
 56357  type PDEVICE_MEDIA_INFO = uintptr
 56358  
 56359  type _GET_MEDIA_TYPES = struct {
 56360  	FDeviceType     DWORD
 56361  	FMediaInfoCount DWORD
 56362  	FMediaInfo      [1]DEVICE_MEDIA_INFO
 56363  }
 56364  
 56365  type GET_MEDIA_TYPES = _GET_MEDIA_TYPES
 56366  type PGET_MEDIA_TYPES = uintptr
 56367  
 56368  type _STORAGE_PREDICT_FAILURE = struct {
 56369  	FPredictFailure DWORD
 56370  	FVendorSpecific [512]BYTE
 56371  }
 56372  
 56373  type STORAGE_PREDICT_FAILURE = _STORAGE_PREDICT_FAILURE
 56374  type PSTORAGE_PREDICT_FAILURE = uintptr
 56375  
 56376  type MEDIA_TYPE = uint32
 56377  type PMEDIA_TYPE = uintptr
 56378  
 56379  type _FORMAT_PARAMETERS = struct {
 56380  	FMediaType           MEDIA_TYPE
 56381  	FStartCylinderNumber DWORD
 56382  	FEndCylinderNumber   DWORD
 56383  	FStartHeadNumber     DWORD
 56384  	FEndHeadNumber       DWORD
 56385  }
 56386  
 56387  type FORMAT_PARAMETERS = _FORMAT_PARAMETERS
 56388  type PFORMAT_PARAMETERS = uintptr
 56389  
 56390  type BAD_TRACK_NUMBER = WORD
 56391  type PBAD_TRACK_NUMBER = uintptr
 56392  
 56393  type _FORMAT_EX_PARAMETERS = struct {
 56394  	FMediaType           MEDIA_TYPE
 56395  	FStartCylinderNumber DWORD
 56396  	FEndCylinderNumber   DWORD
 56397  	FStartHeadNumber     DWORD
 56398  	FEndHeadNumber       DWORD
 56399  	FFormatGapLength     WORD
 56400  	FSectorsPerTrack     WORD
 56401  	FSectorNumber        [1]WORD
 56402  	F__ccgo_pad1         [2]byte
 56403  }
 56404  
 56405  type FORMAT_EX_PARAMETERS = _FORMAT_EX_PARAMETERS
 56406  type PFORMAT_EX_PARAMETERS = uintptr
 56407  
 56408  type _DISK_GEOMETRY = struct {
 56409  	FCylinders         LARGE_INTEGER
 56410  	FMediaType         MEDIA_TYPE
 56411  	FTracksPerCylinder DWORD
 56412  	FSectorsPerTrack   DWORD
 56413  	FBytesPerSector    DWORD
 56414  }
 56415  
 56416  type DISK_GEOMETRY = _DISK_GEOMETRY
 56417  type PDISK_GEOMETRY = uintptr
 56418  
 56419  type _PARTITION_INFORMATION = struct {
 56420  	FStartingOffset      LARGE_INTEGER
 56421  	FPartitionLength     LARGE_INTEGER
 56422  	FHiddenSectors       DWORD
 56423  	FPartitionNumber     DWORD
 56424  	FPartitionType       BYTE
 56425  	FBootIndicator       BOOLEAN
 56426  	FRecognizedPartition BOOLEAN
 56427  	FRewritePartition    BOOLEAN
 56428  	F__ccgo_pad1         [4]byte
 56429  }
 56430  
 56431  type PARTITION_INFORMATION = _PARTITION_INFORMATION
 56432  type PPARTITION_INFORMATION = uintptr
 56433  
 56434  type _SET_PARTITION_INFORMATION = struct{ FPartitionType BYTE }
 56435  
 56436  type SET_PARTITION_INFORMATION = _SET_PARTITION_INFORMATION
 56437  type PSET_PARTITION_INFORMATION = uintptr
 56438  
 56439  type _DRIVE_LAYOUT_INFORMATION = struct {
 56440  	FPartitionCount DWORD
 56441  	FSignature      DWORD
 56442  	FPartitionEntry [1]PARTITION_INFORMATION
 56443  }
 56444  
 56445  type DRIVE_LAYOUT_INFORMATION = _DRIVE_LAYOUT_INFORMATION
 56446  type PDRIVE_LAYOUT_INFORMATION = uintptr
 56447  
 56448  type _VERIFY_INFORMATION = struct {
 56449  	FStartingOffset LARGE_INTEGER
 56450  	FLength         DWORD
 56451  	F__ccgo_pad1    [4]byte
 56452  }
 56453  
 56454  type VERIFY_INFORMATION = _VERIFY_INFORMATION
 56455  type PVERIFY_INFORMATION = uintptr
 56456  
 56457  type _REASSIGN_BLOCKS = struct {
 56458  	FReserved    WORD
 56459  	FCount       WORD
 56460  	FBlockNumber [1]DWORD
 56461  }
 56462  
 56463  type REASSIGN_BLOCKS = _REASSIGN_BLOCKS
 56464  type PREASSIGN_BLOCKS = uintptr
 56465  
 56466  type _REASSIGN_BLOCKS_EX = struct {
 56467  	FReserved    WORD
 56468  	FCount       WORD
 56469  	F__ccgo_pad1 [4]byte
 56470  	FBlockNumber [1]LARGE_INTEGER
 56471  }
 56472  
 56473  type REASSIGN_BLOCKS_EX = _REASSIGN_BLOCKS_EX
 56474  type PREASSIGN_BLOCKS_EX = uintptr
 56475  
 56476  type PARTITION_STYLE = uint32
 56477  
 56478  type _PARTITION_INFORMATION_GPT = struct {
 56479  	FPartitionType GUID
 56480  	FPartitionId   GUID
 56481  	FAttributes    DWORD64
 56482  	FName          [36]WCHAR
 56483  }
 56484  
 56485  type PARTITION_INFORMATION_GPT = _PARTITION_INFORMATION_GPT
 56486  type PPARTITION_INFORMATION_GPT = uintptr
 56487  
 56488  type _PARTITION_INFORMATION_MBR = struct {
 56489  	FPartitionType       BYTE
 56490  	FBootIndicator       BOOLEAN
 56491  	FRecognizedPartition BOOLEAN
 56492  	F__ccgo_pad1         [1]byte
 56493  	FHiddenSectors       DWORD
 56494  }
 56495  
 56496  type PARTITION_INFORMATION_MBR = _PARTITION_INFORMATION_MBR
 56497  type PPARTITION_INFORMATION_MBR = uintptr
 56498  
 56499  type SET_PARTITION_INFORMATION_MBR = SET_PARTITION_INFORMATION
 56500  type SET_PARTITION_INFORMATION_GPT = PARTITION_INFORMATION_GPT
 56501  
 56502  type _SET_PARTITION_INFORMATION_EX = struct {
 56503  	FPartitionStyle PARTITION_STYLE
 56504  	F__ccgo_pad1    [4]byte
 56505  	Fu              struct {
 56506  		F__ccgo_pad1 [0]uint64
 56507  		FMbr         SET_PARTITION_INFORMATION_MBR
 56508  		F__ccgo_pad2 [111]byte
 56509  	}
 56510  }
 56511  
 56512  type SET_PARTITION_INFORMATION_EX = _SET_PARTITION_INFORMATION_EX
 56513  type PSET_PARTITION_INFORMATION_EX = uintptr
 56514  
 56515  type _CREATE_DISK_GPT = struct {
 56516  	FDiskId            GUID
 56517  	FMaxPartitionCount DWORD
 56518  }
 56519  
 56520  type CREATE_DISK_GPT = _CREATE_DISK_GPT
 56521  type PCREATE_DISK_GPT = uintptr
 56522  
 56523  type _CREATE_DISK_MBR = struct{ FSignature DWORD }
 56524  
 56525  type CREATE_DISK_MBR = _CREATE_DISK_MBR
 56526  type PCREATE_DISK_MBR = uintptr
 56527  
 56528  type _CREATE_DISK = struct {
 56529  	FPartitionStyle PARTITION_STYLE
 56530  	Fu              struct {
 56531  		FMbr         CREATE_DISK_MBR
 56532  		F__ccgo_pad1 [16]byte
 56533  	}
 56534  }
 56535  
 56536  type CREATE_DISK = _CREATE_DISK
 56537  type PCREATE_DISK = uintptr
 56538  
 56539  type _GET_LENGTH_INFORMATION = struct{ FLength LARGE_INTEGER }
 56540  
 56541  type GET_LENGTH_INFORMATION = _GET_LENGTH_INFORMATION
 56542  type PGET_LENGTH_INFORMATION = uintptr
 56543  
 56544  type _PARTITION_INFORMATION_EX = struct {
 56545  	FPartitionStyle   PARTITION_STYLE
 56546  	F__ccgo_pad1      [4]byte
 56547  	FStartingOffset   LARGE_INTEGER
 56548  	FPartitionLength  LARGE_INTEGER
 56549  	FPartitionNumber  DWORD
 56550  	FRewritePartition BOOLEAN
 56551  	F__ccgo_pad2      [3]byte
 56552  	Fu                struct {
 56553  		F__ccgo_pad1 [0]uint64
 56554  		FMbr         PARTITION_INFORMATION_MBR
 56555  		F__ccgo_pad2 [104]byte
 56556  	}
 56557  }
 56558  
 56559  type PARTITION_INFORMATION_EX = _PARTITION_INFORMATION_EX
 56560  type PPARTITION_INFORMATION_EX = uintptr
 56561  
 56562  type _DRIVE_LAYOUT_INFORMATION_GPT = struct {
 56563  	FDiskId               GUID
 56564  	FStartingUsableOffset LARGE_INTEGER
 56565  	FUsableLength         LARGE_INTEGER
 56566  	FMaxPartitionCount    DWORD
 56567  	F__ccgo_pad1          [4]byte
 56568  }
 56569  
 56570  type DRIVE_LAYOUT_INFORMATION_GPT = _DRIVE_LAYOUT_INFORMATION_GPT
 56571  type PDRIVE_LAYOUT_INFORMATION_GPT = uintptr
 56572  
 56573  type _DRIVE_LAYOUT_INFORMATION_MBR = struct{ FSignature DWORD }
 56574  
 56575  type DRIVE_LAYOUT_INFORMATION_MBR = _DRIVE_LAYOUT_INFORMATION_MBR
 56576  type PDRIVE_LAYOUT_INFORMATION_MBR = uintptr
 56577  
 56578  type _DRIVE_LAYOUT_INFORMATION_EX = struct {
 56579  	FPartitionStyle DWORD
 56580  	FPartitionCount DWORD
 56581  	Fu              struct {
 56582  		F__ccgo_pad1 [0]uint64
 56583  		FMbr         DRIVE_LAYOUT_INFORMATION_MBR
 56584  		F__ccgo_pad2 [36]byte
 56585  	}
 56586  	FPartitionEntry [1]PARTITION_INFORMATION_EX
 56587  }
 56588  
 56589  type DRIVE_LAYOUT_INFORMATION_EX = _DRIVE_LAYOUT_INFORMATION_EX
 56590  type PDRIVE_LAYOUT_INFORMATION_EX = uintptr
 56591  
 56592  type DETECTION_TYPE = uint32
 56593  
 56594  type _DISK_INT13_INFO = struct {
 56595  	FDriveSelect     WORD
 56596  	F__ccgo_pad1     [2]byte
 56597  	FMaxCylinders    DWORD
 56598  	FSectorsPerTrack WORD
 56599  	FMaxHeads        WORD
 56600  	FNumberDrives    WORD
 56601  	F__ccgo_pad2     [2]byte
 56602  }
 56603  
 56604  type DISK_INT13_INFO = _DISK_INT13_INFO
 56605  type PDISK_INT13_INFO = uintptr
 56606  
 56607  type _DISK_EX_INT13_INFO = struct {
 56608  	FExBufferSize      WORD
 56609  	FExFlags           WORD
 56610  	FExCylinders       DWORD
 56611  	FExHeads           DWORD
 56612  	FExSectorsPerTrack DWORD
 56613  	FExSectorsPerDrive DWORD64
 56614  	FExSectorSize      WORD
 56615  	FExReserved        WORD
 56616  	F__ccgo_pad1       [4]byte
 56617  }
 56618  
 56619  type DISK_EX_INT13_INFO = _DISK_EX_INT13_INFO
 56620  type PDISK_EX_INT13_INFO = uintptr
 56621  
 56622  type _DISK_DETECTION_INFO = struct {
 56623  	FSizeOfDetectInfo DWORD
 56624  	FDetectionType    DETECTION_TYPE
 56625  	Fu                struct {
 56626  		Fs struct {
 56627  			FInt13   DISK_INT13_INFO
 56628  			FExInt13 DISK_EX_INT13_INFO
 56629  		}
 56630  	}
 56631  }
 56632  
 56633  type DISK_DETECTION_INFO = _DISK_DETECTION_INFO
 56634  type PDISK_DETECTION_INFO = uintptr
 56635  
 56636  type _DISK_PARTITION_INFO = struct {
 56637  	FSizeOfPartitionInfo DWORD
 56638  	FPartitionStyle      PARTITION_STYLE
 56639  	Fu                   struct {
 56640  		FMbr struct {
 56641  			FSignature DWORD
 56642  			FCheckSum  DWORD
 56643  		}
 56644  		F__ccgo_pad1 [8]byte
 56645  	}
 56646  }
 56647  
 56648  type DISK_PARTITION_INFO = _DISK_PARTITION_INFO
 56649  type PDISK_PARTITION_INFO = uintptr
 56650  
 56651  type _DISK_GEOMETRY_EX = struct {
 56652  	FGeometry    DISK_GEOMETRY
 56653  	FDiskSize    LARGE_INTEGER
 56654  	FData        [1]BYTE
 56655  	F__ccgo_pad1 [7]byte
 56656  }
 56657  
 56658  type DISK_GEOMETRY_EX = _DISK_GEOMETRY_EX
 56659  type PDISK_GEOMETRY_EX = uintptr
 56660  
 56661  type _DISK_CONTROLLER_NUMBER = struct {
 56662  	FControllerNumber DWORD
 56663  	FDiskNumber       DWORD
 56664  }
 56665  
 56666  type DISK_CONTROLLER_NUMBER = _DISK_CONTROLLER_NUMBER
 56667  type PDISK_CONTROLLER_NUMBER = uintptr
 56668  
 56669  type DISK_CACHE_RETENTION_PRIORITY = uint32
 56670  
 56671  type _DISK_CACHE_INFORMATION = struct {
 56672  	FParametersSavable             BOOLEAN
 56673  	FReadCacheEnabled              BOOLEAN
 56674  	FWriteCacheEnabled             BOOLEAN
 56675  	F__ccgo_pad1                   [1]byte
 56676  	FReadRetentionPriority         DISK_CACHE_RETENTION_PRIORITY
 56677  	FWriteRetentionPriority        DISK_CACHE_RETENTION_PRIORITY
 56678  	FDisablePrefetchTransferLength WORD
 56679  	FPrefetchScalar                BOOLEAN
 56680  	F__ccgo_pad2                   [1]byte
 56681  	Fu                             struct {
 56682  		FScalarPrefetch struct {
 56683  			FMinimum       WORD
 56684  			FMaximum       WORD
 56685  			FMaximumBlocks WORD
 56686  		}
 56687  	}
 56688  	F__ccgo_pad3 [2]byte
 56689  }
 56690  
 56691  type DISK_CACHE_INFORMATION = _DISK_CACHE_INFORMATION
 56692  type PDISK_CACHE_INFORMATION = uintptr
 56693  
 56694  type _DISK_GROW_PARTITION = struct {
 56695  	FPartitionNumber DWORD
 56696  	F__ccgo_pad1     [4]byte
 56697  	FBytesToGrow     LARGE_INTEGER
 56698  }
 56699  
 56700  type DISK_GROW_PARTITION = _DISK_GROW_PARTITION
 56701  type PDISK_GROW_PARTITION = uintptr
 56702  
 56703  type _HISTOGRAM_BUCKET = struct {
 56704  	FReads  DWORD
 56705  	FWrites DWORD
 56706  }
 56707  
 56708  type HISTOGRAM_BUCKET = _HISTOGRAM_BUCKET
 56709  type PHISTOGRAM_BUCKET = uintptr
 56710  
 56711  type _DISK_HISTOGRAM = struct {
 56712  	FDiskSize     LARGE_INTEGER
 56713  	FStart        LARGE_INTEGER
 56714  	FEnd          LARGE_INTEGER
 56715  	FAverage      LARGE_INTEGER
 56716  	FAverageRead  LARGE_INTEGER
 56717  	FAverageWrite LARGE_INTEGER
 56718  	FGranularity  DWORD
 56719  	FSize         DWORD
 56720  	FReadCount    DWORD
 56721  	FWriteCount   DWORD
 56722  	FHistogram    PHISTOGRAM_BUCKET
 56723  }
 56724  
 56725  type DISK_HISTOGRAM = _DISK_HISTOGRAM
 56726  type PDISK_HISTOGRAM = uintptr
 56727  
 56728  type _DISK_PERFORMANCE = struct {
 56729  	FBytesRead           LARGE_INTEGER
 56730  	FBytesWritten        LARGE_INTEGER
 56731  	FReadTime            LARGE_INTEGER
 56732  	FWriteTime           LARGE_INTEGER
 56733  	FIdleTime            LARGE_INTEGER
 56734  	FReadCount           DWORD
 56735  	FWriteCount          DWORD
 56736  	FQueueDepth          DWORD
 56737  	FSplitCount          DWORD
 56738  	FQueryTime           LARGE_INTEGER
 56739  	FStorageDeviceNumber DWORD
 56740  	FStorageManagerName  [8]WCHAR
 56741  	F__ccgo_pad1         [4]byte
 56742  }
 56743  
 56744  type DISK_PERFORMANCE = _DISK_PERFORMANCE
 56745  type PDISK_PERFORMANCE = uintptr
 56746  
 56747  type _DISK_RECORD = struct {
 56748  	FByteOffset     LARGE_INTEGER
 56749  	FStartTime      LARGE_INTEGER
 56750  	FEndTime        LARGE_INTEGER
 56751  	FVirtualAddress PVOID
 56752  	FNumberOfBytes  DWORD
 56753  	FDeviceNumber   BYTE
 56754  	FReadRequest    BOOLEAN
 56755  	F__ccgo_pad1    [2]byte
 56756  }
 56757  
 56758  type DISK_RECORD = _DISK_RECORD
 56759  type PDISK_RECORD = uintptr
 56760  
 56761  type _DISK_LOGGING = struct {
 56762  	FFunction      BYTE
 56763  	F__ccgo_pad1   [7]byte
 56764  	FBufferAddress PVOID
 56765  	FBufferSize    DWORD
 56766  	F__ccgo_pad2   [4]byte
 56767  }
 56768  
 56769  type DISK_LOGGING = _DISK_LOGGING
 56770  type PDISK_LOGGING = uintptr
 56771  
 56772  type BIN_TYPES = uint32
 56773  
 56774  type _BIN_RANGE = struct {
 56775  	FStartValue LARGE_INTEGER
 56776  	FLength     LARGE_INTEGER
 56777  }
 56778  
 56779  type BIN_RANGE = _BIN_RANGE
 56780  type PBIN_RANGE = uintptr
 56781  
 56782  type _PERF_BIN = struct {
 56783  	FNumberOfBins DWORD
 56784  	FTypeOfBin    DWORD
 56785  	FBinsRanges   [1]BIN_RANGE
 56786  }
 56787  
 56788  type PERF_BIN = _PERF_BIN
 56789  type PPERF_BIN = uintptr
 56790  
 56791  type _BIN_COUNT = struct {
 56792  	FBinRange    BIN_RANGE
 56793  	FBinCount    DWORD
 56794  	F__ccgo_pad1 [4]byte
 56795  }
 56796  
 56797  type BIN_COUNT = _BIN_COUNT
 56798  type PBIN_COUNT = uintptr
 56799  
 56800  type _BIN_RESULTS = struct {
 56801  	FNumberOfBins DWORD
 56802  	F__ccgo_pad1  [4]byte
 56803  	FBinCounts    [1]BIN_COUNT
 56804  }
 56805  
 56806  type BIN_RESULTS = _BIN_RESULTS
 56807  type PBIN_RESULTS = uintptr
 56808  
 56809  type _GETVERSIONINPARAMS = struct {
 56810  	FbVersion      BYTE
 56811  	FbRevision     BYTE
 56812  	FbReserved     BYTE
 56813  	FbIDEDeviceMap BYTE
 56814  	FfCapabilities DWORD
 56815  	FdwReserved    [4]DWORD
 56816  }
 56817  
 56818  type GETVERSIONINPARAMS = _GETVERSIONINPARAMS
 56819  type PGETVERSIONINPARAMS = uintptr
 56820  type LPGETVERSIONINPARAMS = uintptr
 56821  
 56822  type _IDEREGS = struct {
 56823  	FbFeaturesReg     BYTE
 56824  	FbSectorCountReg  BYTE
 56825  	FbSectorNumberReg BYTE
 56826  	FbCylLowReg       BYTE
 56827  	FbCylHighReg      BYTE
 56828  	FbDriveHeadReg    BYTE
 56829  	FbCommandReg      BYTE
 56830  	FbReserved        BYTE
 56831  }
 56832  
 56833  type IDEREGS = _IDEREGS
 56834  type PIDEREGS = uintptr
 56835  type LPIDEREGS = uintptr
 56836  
 56837  type _SENDCMDINPARAMS = struct {
 56838  	FcBufferSize  DWORD
 56839  	FirDriveRegs  IDEREGS
 56840  	FbDriveNumber BYTE
 56841  	FbReserved    [3]BYTE
 56842  	FdwReserved   [4]DWORD
 56843  	FbBuffer      [1]BYTE
 56844  	F__ccgo_pad1  [3]byte
 56845  }
 56846  
 56847  type SENDCMDINPARAMS = _SENDCMDINPARAMS
 56848  type PSENDCMDINPARAMS = uintptr
 56849  type LPSENDCMDINPARAMS = uintptr
 56850  
 56851  type _DRIVERSTATUS = struct {
 56852  	FbDriverError BYTE
 56853  	FbIDEError    BYTE
 56854  	FbReserved    [2]BYTE
 56855  	FdwReserved   [2]DWORD
 56856  }
 56857  
 56858  type DRIVERSTATUS = _DRIVERSTATUS
 56859  type PDRIVERSTATUS = uintptr
 56860  type LPDRIVERSTATUS = uintptr
 56861  
 56862  type _SENDCMDOUTPARAMS = struct {
 56863  	FcBufferSize  DWORD
 56864  	FDriverStatus DRIVERSTATUS
 56865  	FbBuffer      [1]BYTE
 56866  	F__ccgo_pad1  [3]byte
 56867  }
 56868  
 56869  type SENDCMDOUTPARAMS = _SENDCMDOUTPARAMS
 56870  type PSENDCMDOUTPARAMS = uintptr
 56871  type LPSENDCMDOUTPARAMS = uintptr
 56872  
 56873  type ELEMENT_TYPE = uint32
 56874  type PELEMENT_TYPE = uintptr
 56875  
 56876  type _CHANGER_ELEMENT = struct {
 56877  	FElementType    ELEMENT_TYPE
 56878  	FElementAddress DWORD
 56879  }
 56880  
 56881  type CHANGER_ELEMENT = _CHANGER_ELEMENT
 56882  type PCHANGER_ELEMENT = uintptr
 56883  
 56884  type _CHANGER_ELEMENT_LIST = struct {
 56885  	FElement          CHANGER_ELEMENT
 56886  	FNumberOfElements DWORD
 56887  }
 56888  
 56889  type CHANGER_ELEMENT_LIST = _CHANGER_ELEMENT_LIST
 56890  type PCHANGER_ELEMENT_LIST = uintptr
 56891  
 56892  type _GET_CHANGER_PARAMETERS = struct {
 56893  	FSize                       DWORD
 56894  	FNumberTransportElements    WORD
 56895  	FNumberStorageElements      WORD
 56896  	FNumberCleanerSlots         WORD
 56897  	FNumberIEElements           WORD
 56898  	FNumberDataTransferElements WORD
 56899  	FNumberOfDoors              WORD
 56900  	FFirstSlotNumber            WORD
 56901  	FFirstDriveNumber           WORD
 56902  	FFirstTransportNumber       WORD
 56903  	FFirstIEPortNumber          WORD
 56904  	FFirstCleanerSlotAddress    WORD
 56905  	FMagazineSize               WORD
 56906  	FDriveCleanTimeout          DWORD
 56907  	FFeatures0                  DWORD
 56908  	FFeatures1                  DWORD
 56909  	FMoveFromTransport          BYTE
 56910  	FMoveFromSlot               BYTE
 56911  	FMoveFromIePort             BYTE
 56912  	FMoveFromDrive              BYTE
 56913  	FExchangeFromTransport      BYTE
 56914  	FExchangeFromSlot           BYTE
 56915  	FExchangeFromIePort         BYTE
 56916  	FExchangeFromDrive          BYTE
 56917  	FLockUnlockCapabilities     BYTE
 56918  	FPositionCapabilities       BYTE
 56919  	FReserved1                  [2]BYTE
 56920  	FReserved2                  [2]DWORD
 56921  }
 56922  
 56923  type GET_CHANGER_PARAMETERS = _GET_CHANGER_PARAMETERS
 56924  type PGET_CHANGER_PARAMETERS = uintptr
 56925  
 56926  type _CHANGER_PRODUCT_DATA = struct {
 56927  	FVendorId     [8]BYTE
 56928  	FProductId    [16]BYTE
 56929  	FRevision     [4]BYTE
 56930  	FSerialNumber [32]BYTE
 56931  	FDeviceType   BYTE
 56932  }
 56933  
 56934  type CHANGER_PRODUCT_DATA = _CHANGER_PRODUCT_DATA
 56935  type PCHANGER_PRODUCT_DATA = uintptr
 56936  
 56937  type _CHANGER_SET_ACCESS = struct {
 56938  	FElement CHANGER_ELEMENT
 56939  	FControl DWORD
 56940  }
 56941  
 56942  type CHANGER_SET_ACCESS = _CHANGER_SET_ACCESS
 56943  type PCHANGER_SET_ACCESS = uintptr
 56944  
 56945  type _CHANGER_READ_ELEMENT_STATUS = struct {
 56946  	FElementList   CHANGER_ELEMENT_LIST
 56947  	FVolumeTagInfo BOOLEAN
 56948  	F__ccgo_pad1   [3]byte
 56949  }
 56950  
 56951  type CHANGER_READ_ELEMENT_STATUS = _CHANGER_READ_ELEMENT_STATUS
 56952  type PCHANGER_READ_ELEMENT_STATUS = uintptr
 56953  
 56954  type _CHANGER_ELEMENT_STATUS = struct {
 56955  	FElement           CHANGER_ELEMENT
 56956  	FSrcElementAddress CHANGER_ELEMENT
 56957  	FFlags             DWORD
 56958  	FExceptionCode     DWORD
 56959  	FTargetId          BYTE
 56960  	FLun               BYTE
 56961  	FReserved          WORD
 56962  	FPrimaryVolumeID   [36]BYTE
 56963  	FAlternateVolumeID [36]BYTE
 56964  }
 56965  
 56966  type CHANGER_ELEMENT_STATUS = _CHANGER_ELEMENT_STATUS
 56967  type PCHANGER_ELEMENT_STATUS = uintptr
 56968  
 56969  type _CHANGER_ELEMENT_STATUS_EX = struct {
 56970  	FElement               CHANGER_ELEMENT
 56971  	FSrcElementAddress     CHANGER_ELEMENT
 56972  	FFlags                 DWORD
 56973  	FExceptionCode         DWORD
 56974  	FTargetId              BYTE
 56975  	FLun                   BYTE
 56976  	FReserved              WORD
 56977  	FPrimaryVolumeID       [36]BYTE
 56978  	FAlternateVolumeID     [36]BYTE
 56979  	FVendorIdentification  [8]BYTE
 56980  	FProductIdentification [16]BYTE
 56981  	FSerialNumber          [32]BYTE
 56982  }
 56983  
 56984  type CHANGER_ELEMENT_STATUS_EX = _CHANGER_ELEMENT_STATUS_EX
 56985  type PCHANGER_ELEMENT_STATUS_EX = uintptr
 56986  
 56987  type _CHANGER_INITIALIZE_ELEMENT_STATUS = struct {
 56988  	FElementList CHANGER_ELEMENT_LIST
 56989  	FBarCodeScan BOOLEAN
 56990  	F__ccgo_pad1 [3]byte
 56991  }
 56992  
 56993  type CHANGER_INITIALIZE_ELEMENT_STATUS = _CHANGER_INITIALIZE_ELEMENT_STATUS
 56994  type PCHANGER_INITIALIZE_ELEMENT_STATUS = uintptr
 56995  
 56996  type _CHANGER_SET_POSITION = struct {
 56997  	FTransport   CHANGER_ELEMENT
 56998  	FDestination CHANGER_ELEMENT
 56999  	FFlip        BOOLEAN
 57000  	F__ccgo_pad1 [3]byte
 57001  }
 57002  
 57003  type CHANGER_SET_POSITION = _CHANGER_SET_POSITION
 57004  type PCHANGER_SET_POSITION = uintptr
 57005  
 57006  type _CHANGER_EXCHANGE_MEDIUM = struct {
 57007  	FTransport    CHANGER_ELEMENT
 57008  	FSource       CHANGER_ELEMENT
 57009  	FDestination1 CHANGER_ELEMENT
 57010  	FDestination2 CHANGER_ELEMENT
 57011  	FFlip1        BOOLEAN
 57012  	FFlip2        BOOLEAN
 57013  	F__ccgo_pad1  [2]byte
 57014  }
 57015  
 57016  type CHANGER_EXCHANGE_MEDIUM = _CHANGER_EXCHANGE_MEDIUM
 57017  type PCHANGER_EXCHANGE_MEDIUM = uintptr
 57018  
 57019  type _CHANGER_MOVE_MEDIUM = struct {
 57020  	FTransport   CHANGER_ELEMENT
 57021  	FSource      CHANGER_ELEMENT
 57022  	FDestination CHANGER_ELEMENT
 57023  	FFlip        BOOLEAN
 57024  	F__ccgo_pad1 [3]byte
 57025  }
 57026  
 57027  type CHANGER_MOVE_MEDIUM = _CHANGER_MOVE_MEDIUM
 57028  type PCHANGER_MOVE_MEDIUM = uintptr
 57029  
 57030  type _CHANGER_SEND_VOLUME_TAG_INFORMATION = struct {
 57031  	FStartingElement  CHANGER_ELEMENT
 57032  	FActionCode       DWORD
 57033  	FVolumeIDTemplate [40]BYTE
 57034  }
 57035  
 57036  type CHANGER_SEND_VOLUME_TAG_INFORMATION = _CHANGER_SEND_VOLUME_TAG_INFORMATION
 57037  type PCHANGER_SEND_VOLUME_TAG_INFORMATION = uintptr
 57038  
 57039  type _READ_ELEMENT_ADDRESS_INFO = struct {
 57040  	FNumberOfElements DWORD
 57041  	FElementStatus    [1]CHANGER_ELEMENT_STATUS
 57042  }
 57043  
 57044  type READ_ELEMENT_ADDRESS_INFO = _READ_ELEMENT_ADDRESS_INFO
 57045  type PREAD_ELEMENT_ADDRESS_INFO = uintptr
 57046  
 57047  type CHANGER_DEVICE_PROBLEM_TYPE = uint32
 57048  type PCHANGER_DEVICE_PROBLEM_TYPE = uintptr
 57049  
 57050  type _PATHNAME_BUFFER = struct {
 57051  	FPathNameLength DWORD
 57052  	FName           [1]WCHAR
 57053  	F__ccgo_pad1    [2]byte
 57054  }
 57055  
 57056  type PATHNAME_BUFFER = _PATHNAME_BUFFER
 57057  type PPATHNAME_BUFFER = uintptr
 57058  
 57059  type _FSCTL_QUERY_FAT_BPB_BUFFER = struct{ FFirst0x24BytesOfBootSector [36]BYTE }
 57060  
 57061  type FSCTL_QUERY_FAT_BPB_BUFFER = _FSCTL_QUERY_FAT_BPB_BUFFER
 57062  type PFSCTL_QUERY_FAT_BPB_BUFFER = uintptr
 57063  
 57064  type NTFS_VOLUME_DATA_BUFFER = struct {
 57065  	FVolumeSerialNumber           LARGE_INTEGER
 57066  	FNumberSectors                LARGE_INTEGER
 57067  	FTotalClusters                LARGE_INTEGER
 57068  	FFreeClusters                 LARGE_INTEGER
 57069  	FTotalReserved                LARGE_INTEGER
 57070  	FBytesPerSector               DWORD
 57071  	FBytesPerCluster              DWORD
 57072  	FBytesPerFileRecordSegment    DWORD
 57073  	FClustersPerFileRecordSegment DWORD
 57074  	FMftValidDataLength           LARGE_INTEGER
 57075  	FMftStartLcn                  LARGE_INTEGER
 57076  	FMft2StartLcn                 LARGE_INTEGER
 57077  	FMftZoneStart                 LARGE_INTEGER
 57078  	FMftZoneEnd                   LARGE_INTEGER
 57079  }
 57080  type PNTFS_VOLUME_DATA_BUFFER = uintptr
 57081  
 57082  type NTFS_EXTENDED_VOLUME_DATA = struct {
 57083  	FByteCount    DWORD
 57084  	FMajorVersion WORD
 57085  	FMinorVersion WORD
 57086  }
 57087  type PNTFS_EXTENDED_VOLUME_DATA = uintptr
 57088  
 57089  type STARTING_LCN_INPUT_BUFFER = struct{ FStartingLcn LARGE_INTEGER }
 57090  type PSTARTING_LCN_INPUT_BUFFER = uintptr
 57091  
 57092  type VOLUME_BITMAP_BUFFER = struct {
 57093  	FStartingLcn LARGE_INTEGER
 57094  	FBitmapSize  LARGE_INTEGER
 57095  	FBuffer      [1]BYTE
 57096  	F__ccgo_pad1 [7]byte
 57097  }
 57098  type PVOLUME_BITMAP_BUFFER = uintptr
 57099  
 57100  type STARTING_VCN_INPUT_BUFFER = struct{ FStartingVcn LARGE_INTEGER }
 57101  type PSTARTING_VCN_INPUT_BUFFER = uintptr
 57102  
 57103  type RETRIEVAL_POINTERS_BUFFER1 = struct {
 57104  	FExtentCount DWORD
 57105  	F__ccgo_pad1 [4]byte
 57106  	FStartingVcn LARGE_INTEGER
 57107  	FExtents     [1]struct {
 57108  		FNextVcn LARGE_INTEGER
 57109  		FLcn     LARGE_INTEGER
 57110  	}
 57111  }
 57112  
 57113  type RETRIEVAL_POINTERS_BUFFER = RETRIEVAL_POINTERS_BUFFER1
 57114  type PRETRIEVAL_POINTERS_BUFFER = uintptr
 57115  
 57116  type NTFS_FILE_RECORD_INPUT_BUFFER = struct{ FFileReferenceNumber LARGE_INTEGER }
 57117  type PNTFS_FILE_RECORD_INPUT_BUFFER = uintptr
 57118  
 57119  type NTFS_FILE_RECORD_OUTPUT_BUFFER = struct {
 57120  	FFileReferenceNumber LARGE_INTEGER
 57121  	FFileRecordLength    DWORD
 57122  	FFileRecordBuffer    [1]BYTE
 57123  	F__ccgo_pad1         [3]byte
 57124  }
 57125  type PNTFS_FILE_RECORD_OUTPUT_BUFFER = uintptr
 57126  
 57127  type MOVE_FILE_DATA = struct {
 57128  	FFileHandle   HANDLE
 57129  	FStartingVcn  LARGE_INTEGER
 57130  	FStartingLcn  LARGE_INTEGER
 57131  	FClusterCount DWORD
 57132  	F__ccgo_pad1  [4]byte
 57133  }
 57134  type PMOVE_FILE_DATA = uintptr
 57135  
 57136  type _MOVE_FILE_DATA32 = struct {
 57137  	FFileHandle   UINT32
 57138  	F__ccgo_pad1  [4]byte
 57139  	FStartingVcn  LARGE_INTEGER
 57140  	FStartingLcn  LARGE_INTEGER
 57141  	FClusterCount DWORD
 57142  	F__ccgo_pad2  [4]byte
 57143  }
 57144  
 57145  type MOVE_FILE_DATA32 = _MOVE_FILE_DATA32
 57146  type PMOVE_FILE_DATA32 = uintptr
 57147  
 57148  type FIND_BY_SID_DATA = struct {
 57149  	FRestart DWORD
 57150  	FSid     SID
 57151  }
 57152  type PFIND_BY_SID_DATA = uintptr
 57153  
 57154  type FIND_BY_SID_OUTPUT = struct {
 57155  	FNextEntryOffset DWORD
 57156  	FFileIndex       DWORD
 57157  	FFileNameLength  DWORD
 57158  	FFileName        [1]WCHAR
 57159  	F__ccgo_pad1     [2]byte
 57160  }
 57161  type PFIND_BY_SID_OUTPUT = uintptr
 57162  
 57163  type MFT_ENUM_DATA = struct {
 57164  	FStartFileReferenceNumber DWORDLONG
 57165  	FLowUsn                   USN
 57166  	FHighUsn                  USN
 57167  }
 57168  type PMFT_ENUM_DATA = uintptr
 57169  
 57170  type CREATE_USN_JOURNAL_DATA = struct {
 57171  	FMaximumSize     DWORDLONG
 57172  	FAllocationDelta DWORDLONG
 57173  }
 57174  type PCREATE_USN_JOURNAL_DATA = uintptr
 57175  
 57176  type READ_USN_JOURNAL_DATA = struct {
 57177  	FStartUsn          USN
 57178  	FReasonMask        DWORD
 57179  	FReturnOnlyOnClose DWORD
 57180  	FTimeout           DWORDLONG
 57181  	FBytesToWaitFor    DWORDLONG
 57182  	FUsnJournalID      DWORDLONG
 57183  }
 57184  type PREAD_USN_JOURNAL_DATA = uintptr
 57185  
 57186  type USN_RECORD = struct {
 57187  	FRecordLength              DWORD
 57188  	FMajorVersion              WORD
 57189  	FMinorVersion              WORD
 57190  	FFileReferenceNumber       DWORDLONG
 57191  	FParentFileReferenceNumber DWORDLONG
 57192  	FUsn                       USN
 57193  	FTimeStamp                 LARGE_INTEGER
 57194  	FReason                    DWORD
 57195  	FSourceInfo                DWORD
 57196  	FSecurityId                DWORD
 57197  	FFileAttributes            DWORD
 57198  	FFileNameLength            WORD
 57199  	FFileNameOffset            WORD
 57200  	FFileName                  [1]WCHAR
 57201  	F__ccgo_pad1               [2]byte
 57202  }
 57203  type PUSN_RECORD = uintptr
 57204  
 57205  type USN_JOURNAL_DATA = struct {
 57206  	FUsnJournalID    DWORDLONG
 57207  	FFirstUsn        USN
 57208  	FNextUsn         USN
 57209  	FLowestValidUsn  USN
 57210  	FMaxUsn          USN
 57211  	FMaximumSize     DWORDLONG
 57212  	FAllocationDelta DWORDLONG
 57213  }
 57214  type PUSN_JOURNAL_DATA = uintptr
 57215  
 57216  type DELETE_USN_JOURNAL_DATA = struct {
 57217  	FUsnJournalID DWORDLONG
 57218  	FDeleteFlags  DWORD
 57219  	F__ccgo_pad1  [4]byte
 57220  }
 57221  type PDELETE_USN_JOURNAL_DATA = uintptr
 57222  
 57223  type MARK_HANDLE_INFO = struct {
 57224  	FUsnSourceInfo DWORD
 57225  	F__ccgo_pad1   [4]byte
 57226  	FVolumeHandle  HANDLE
 57227  	FHandleInfo    DWORD
 57228  	F__ccgo_pad2   [4]byte
 57229  }
 57230  type PMARK_HANDLE_INFO = uintptr
 57231  
 57232  type MARK_HANDLE_INFO32 = struct {
 57233  	FUsnSourceInfo DWORD
 57234  	FVolumeHandle  UINT32
 57235  	FHandleInfo    DWORD
 57236  }
 57237  type PMARK_HANDLE_INFO32 = uintptr
 57238  
 57239  type BULK_SECURITY_TEST_DATA = struct {
 57240  	FDesiredAccess ACCESS_MASK
 57241  	FSecurityIds   [1]DWORD
 57242  }
 57243  type PBULK_SECURITY_TEST_DATA = uintptr
 57244  
 57245  type _FILE_PREFETCH = struct {
 57246  	FType     DWORD
 57247  	FCount    DWORD
 57248  	FPrefetch [1]DWORDLONG
 57249  }
 57250  
 57251  type FILE_PREFETCH = _FILE_PREFETCH
 57252  type PFILE_PREFETCH = uintptr
 57253  
 57254  type _FILESYSTEM_STATISTICS = struct {
 57255  	FFileSystemType          WORD
 57256  	FVersion                 WORD
 57257  	FSizeOfCompleteStructure DWORD
 57258  	FUserFileReads           DWORD
 57259  	FUserFileReadBytes       DWORD
 57260  	FUserDiskReads           DWORD
 57261  	FUserFileWrites          DWORD
 57262  	FUserFileWriteBytes      DWORD
 57263  	FUserDiskWrites          DWORD
 57264  	FMetaDataReads           DWORD
 57265  	FMetaDataReadBytes       DWORD
 57266  	FMetaDataDiskReads       DWORD
 57267  	FMetaDataWrites          DWORD
 57268  	FMetaDataWriteBytes      DWORD
 57269  	FMetaDataDiskWrites      DWORD
 57270  }
 57271  
 57272  type FILESYSTEM_STATISTICS = _FILESYSTEM_STATISTICS
 57273  type PFILESYSTEM_STATISTICS = uintptr
 57274  
 57275  type _FAT_STATISTICS = struct {
 57276  	FCreateHits          DWORD
 57277  	FSuccessfulCreates   DWORD
 57278  	FFailedCreates       DWORD
 57279  	FNonCachedReads      DWORD
 57280  	FNonCachedReadBytes  DWORD
 57281  	FNonCachedWrites     DWORD
 57282  	FNonCachedWriteBytes DWORD
 57283  	FNonCachedDiskReads  DWORD
 57284  	FNonCachedDiskWrites DWORD
 57285  }
 57286  
 57287  type FAT_STATISTICS = _FAT_STATISTICS
 57288  type PFAT_STATISTICS = uintptr
 57289  
 57290  type _EXFAT_STATISTICS = struct {
 57291  	FCreateHits          DWORD
 57292  	FSuccessfulCreates   DWORD
 57293  	FFailedCreates       DWORD
 57294  	FNonCachedReads      DWORD
 57295  	FNonCachedReadBytes  DWORD
 57296  	FNonCachedWrites     DWORD
 57297  	FNonCachedWriteBytes DWORD
 57298  	FNonCachedDiskReads  DWORD
 57299  	FNonCachedDiskWrites DWORD
 57300  }
 57301  
 57302  type EXFAT_STATISTICS = _EXFAT_STATISTICS
 57303  type PEXFAT_STATISTICS = uintptr
 57304  
 57305  type _NTFS_STATISTICS = struct {
 57306  	FLogFileFullExceptions DWORD
 57307  	FOtherExceptions       DWORD
 57308  	FMftReads              DWORD
 57309  	FMftReadBytes          DWORD
 57310  	FMftWrites             DWORD
 57311  	FMftWriteBytes         DWORD
 57312  	FMftWritesUserLevel    struct {
 57313  		FWrite   WORD
 57314  		FCreate  WORD
 57315  		FSetInfo WORD
 57316  		FFlush   WORD
 57317  	}
 57318  	FMftWritesFlushForLogFileFull WORD
 57319  	FMftWritesLazyWriter          WORD
 57320  	FMftWritesUserRequest         WORD
 57321  	F__ccgo_pad1                  [2]byte
 57322  	FMft2Writes                   DWORD
 57323  	FMft2WriteBytes               DWORD
 57324  	FMft2WritesUserLevel          struct {
 57325  		FWrite   WORD
 57326  		FCreate  WORD
 57327  		FSetInfo WORD
 57328  		FFlush   WORD
 57329  	}
 57330  	FMft2WritesFlushForLogFileFull   WORD
 57331  	FMft2WritesLazyWriter            WORD
 57332  	FMft2WritesUserRequest           WORD
 57333  	F__ccgo_pad2                     [2]byte
 57334  	FRootIndexReads                  DWORD
 57335  	FRootIndexReadBytes              DWORD
 57336  	FRootIndexWrites                 DWORD
 57337  	FRootIndexWriteBytes             DWORD
 57338  	FBitmapReads                     DWORD
 57339  	FBitmapReadBytes                 DWORD
 57340  	FBitmapWrites                    DWORD
 57341  	FBitmapWriteBytes                DWORD
 57342  	FBitmapWritesFlushForLogFileFull WORD
 57343  	FBitmapWritesLazyWriter          WORD
 57344  	FBitmapWritesUserRequest         WORD
 57345  	FBitmapWritesUserLevel           struct {
 57346  		FWrite   WORD
 57347  		FCreate  WORD
 57348  		FSetInfo WORD
 57349  	}
 57350  	FMftBitmapReads                     DWORD
 57351  	FMftBitmapReadBytes                 DWORD
 57352  	FMftBitmapWrites                    DWORD
 57353  	FMftBitmapWriteBytes                DWORD
 57354  	FMftBitmapWritesFlushForLogFileFull WORD
 57355  	FMftBitmapWritesLazyWriter          WORD
 57356  	FMftBitmapWritesUserRequest         WORD
 57357  	FMftBitmapWritesUserLevel           struct {
 57358  		FWrite   WORD
 57359  		FCreate  WORD
 57360  		FSetInfo WORD
 57361  		FFlush   WORD
 57362  	}
 57363  	F__ccgo_pad3         [2]byte
 57364  	FUserIndexReads      DWORD
 57365  	FUserIndexReadBytes  DWORD
 57366  	FUserIndexWrites     DWORD
 57367  	FUserIndexWriteBytes DWORD
 57368  	FLogFileReads        DWORD
 57369  	FLogFileReadBytes    DWORD
 57370  	FLogFileWrites       DWORD
 57371  	FLogFileWriteBytes   DWORD
 57372  	FAllocate            struct {
 57373  		FCalls             DWORD
 57374  		FClusters          DWORD
 57375  		FHints             DWORD
 57376  		FRunsReturned      DWORD
 57377  		FHintsHonored      DWORD
 57378  		FHintsClusters     DWORD
 57379  		FCache             DWORD
 57380  		FCacheClusters     DWORD
 57381  		FCacheMiss         DWORD
 57382  		FCacheMissClusters DWORD
 57383  	}
 57384  }
 57385  
 57386  type NTFS_STATISTICS = _NTFS_STATISTICS
 57387  type PNTFS_STATISTICS = uintptr
 57388  
 57389  type _FILE_OBJECTID_BUFFER = struct {
 57390  	FObjectId [16]BYTE
 57391  	Fu        struct {
 57392  		Fs struct {
 57393  			FBirthVolumeId [16]BYTE
 57394  			FBirthObjectId [16]BYTE
 57395  			FDomainId      [16]BYTE
 57396  		}
 57397  	}
 57398  }
 57399  
 57400  type FILE_OBJECTID_BUFFER = _FILE_OBJECTID_BUFFER
 57401  type PFILE_OBJECTID_BUFFER = uintptr
 57402  
 57403  type _FILE_SET_SPARSE_BUFFER = struct{ FSetSparse BOOLEAN }
 57404  
 57405  type FILE_SET_SPARSE_BUFFER = _FILE_SET_SPARSE_BUFFER
 57406  type PFILE_SET_SPARSE_BUFFER = uintptr
 57407  
 57408  type _FILE_ZERO_DATA_INFORMATION = struct {
 57409  	FFileOffset      LARGE_INTEGER
 57410  	FBeyondFinalZero LARGE_INTEGER
 57411  }
 57412  
 57413  type FILE_ZERO_DATA_INFORMATION = _FILE_ZERO_DATA_INFORMATION
 57414  type PFILE_ZERO_DATA_INFORMATION = uintptr
 57415  
 57416  type _FILE_ALLOCATED_RANGE_BUFFER = struct {
 57417  	FFileOffset LARGE_INTEGER
 57418  	FLength     LARGE_INTEGER
 57419  }
 57420  
 57421  type FILE_ALLOCATED_RANGE_BUFFER = _FILE_ALLOCATED_RANGE_BUFFER
 57422  type PFILE_ALLOCATED_RANGE_BUFFER = uintptr
 57423  
 57424  type _ENCRYPTION_BUFFER = struct {
 57425  	FEncryptionOperation DWORD
 57426  	FPrivate             [1]BYTE
 57427  	F__ccgo_pad1         [3]byte
 57428  }
 57429  
 57430  type ENCRYPTION_BUFFER = _ENCRYPTION_BUFFER
 57431  type PENCRYPTION_BUFFER = uintptr
 57432  
 57433  type _DECRYPTION_STATUS_BUFFER = struct{ FNoEncryptedStreams BOOLEAN }
 57434  
 57435  type DECRYPTION_STATUS_BUFFER = _DECRYPTION_STATUS_BUFFER
 57436  type PDECRYPTION_STATUS_BUFFER = uintptr
 57437  
 57438  type _REQUEST_RAW_ENCRYPTED_DATA = struct {
 57439  	FFileOffset  LONGLONG
 57440  	FLength      DWORD
 57441  	F__ccgo_pad1 [4]byte
 57442  }
 57443  
 57444  type REQUEST_RAW_ENCRYPTED_DATA = _REQUEST_RAW_ENCRYPTED_DATA
 57445  type PREQUEST_RAW_ENCRYPTED_DATA = uintptr
 57446  
 57447  type _ENCRYPTED_DATA_INFO = struct {
 57448  	FStartingFileOffset         DWORDLONG
 57449  	FOutputBufferOffset         DWORD
 57450  	FBytesWithinFileSize        DWORD
 57451  	FBytesWithinValidDataLength DWORD
 57452  	FCompressionFormat          WORD
 57453  	FDataUnitShift              BYTE
 57454  	FChunkShift                 BYTE
 57455  	FClusterShift               BYTE
 57456  	FEncryptionFormat           BYTE
 57457  	FNumberOfDataBlocks         WORD
 57458  	FDataBlockSize              [1]DWORD
 57459  }
 57460  
 57461  type ENCRYPTED_DATA_INFO = _ENCRYPTED_DATA_INFO
 57462  type PENCRYPTED_DATA_INFO = uintptr
 57463  
 57464  type _PLEX_READ_DATA_REQUEST = struct {
 57465  	FByteOffset LARGE_INTEGER
 57466  	FByteLength DWORD
 57467  	FPlexNumber DWORD
 57468  }
 57469  
 57470  type PLEX_READ_DATA_REQUEST = _PLEX_READ_DATA_REQUEST
 57471  type PPLEX_READ_DATA_REQUEST = uintptr
 57472  
 57473  type _SI_COPYFILE = struct {
 57474  	FSourceFileNameLength      DWORD
 57475  	FDestinationFileNameLength DWORD
 57476  	FFlags                     DWORD
 57477  	FFileNameBuffer            [1]WCHAR
 57478  	F__ccgo_pad1               [2]byte
 57479  }
 57480  
 57481  type SI_COPYFILE = _SI_COPYFILE
 57482  type PSI_COPYFILE = uintptr
 57483  
 57484  type _STORAGE_DESCRIPTOR_HEADER = struct {
 57485  	FVersion DWORD
 57486  	FSize    DWORD
 57487  }
 57488  
 57489  type STORAGE_DESCRIPTOR_HEADER = _STORAGE_DESCRIPTOR_HEADER
 57490  type PSTORAGE_DESCRIPTOR_HEADER = uintptr
 57491  
 57492  type STORAGE_PROPERTY_ID = uint32
 57493  type PSTORAGE_PROPERTY_ID = uintptr
 57494  
 57495  type STORAGE_QUERY_TYPE = uint32
 57496  type PSTORAGE_QUERY_TYPE = uintptr
 57497  
 57498  type _STORAGE_PROPERTY_QUERY = struct {
 57499  	FPropertyId           STORAGE_PROPERTY_ID
 57500  	FQueryType            STORAGE_QUERY_TYPE
 57501  	FAdditionalParameters [1]BYTE
 57502  	F__ccgo_pad1          [3]byte
 57503  }
 57504  
 57505  type STORAGE_PROPERTY_QUERY = _STORAGE_PROPERTY_QUERY
 57506  type PSTORAGE_PROPERTY_QUERY = uintptr
 57507  
 57508  type _STORAGE_DEVICE_DESCRIPTOR = struct {
 57509  	FVersion               DWORD
 57510  	FSize                  DWORD
 57511  	FDeviceType            BYTE
 57512  	FDeviceTypeModifier    BYTE
 57513  	FRemovableMedia        BOOLEAN
 57514  	FCommandQueueing       BOOLEAN
 57515  	FVendorIdOffset        DWORD
 57516  	FProductIdOffset       DWORD
 57517  	FProductRevisionOffset DWORD
 57518  	FSerialNumberOffset    DWORD
 57519  	FBusType               STORAGE_BUS_TYPE
 57520  	FRawPropertiesLength   DWORD
 57521  	FRawDeviceProperties   [1]BYTE
 57522  	F__ccgo_pad1           [3]byte
 57523  }
 57524  
 57525  type STORAGE_DEVICE_DESCRIPTOR = _STORAGE_DEVICE_DESCRIPTOR
 57526  type PSTORAGE_DEVICE_DESCRIPTOR = uintptr
 57527  
 57528  type _STORAGE_ADAPTER_DESCRIPTOR = struct {
 57529  	FVersion               DWORD
 57530  	FSize                  DWORD
 57531  	FMaximumTransferLength DWORD
 57532  	FMaximumPhysicalPages  DWORD
 57533  	FAlignmentMask         DWORD
 57534  	FAdapterUsesPio        BOOLEAN
 57535  	FAdapterScansDown      BOOLEAN
 57536  	FCommandQueueing       BOOLEAN
 57537  	FAcceleratedTransfer   BOOLEAN
 57538  	FBusType               BYTE
 57539  	F__ccgo_pad1           [1]byte
 57540  	FBusMajorVersion       WORD
 57541  	FBusMinorVersion       WORD
 57542  	F__ccgo_pad2           [2]byte
 57543  }
 57544  
 57545  type STORAGE_ADAPTER_DESCRIPTOR = _STORAGE_ADAPTER_DESCRIPTOR
 57546  type PSTORAGE_ADAPTER_DESCRIPTOR = uintptr
 57547  
 57548  type _STORAGE_DEVICE_ID_DESCRIPTOR = struct {
 57549  	FVersion             DWORD
 57550  	FSize                DWORD
 57551  	FNumberOfIdentifiers DWORD
 57552  	FIdentifiers         [1]BYTE
 57553  	F__ccgo_pad1         [3]byte
 57554  }
 57555  
 57556  type STORAGE_DEVICE_ID_DESCRIPTOR = _STORAGE_DEVICE_ID_DESCRIPTOR
 57557  type PSTORAGE_DEVICE_ID_DESCRIPTOR = uintptr
 57558  
 57559  type _VOLUME_GET_GPT_ATTRIBUTES_INFORMATION = struct{ FGptAttributes ULONGLONG }
 57560  
 57561  type VOLUME_GET_GPT_ATTRIBUTES_INFORMATION = _VOLUME_GET_GPT_ATTRIBUTES_INFORMATION
 57562  type PVOLUME_GET_GPT_ATTRIBUTES_INFORMATION = uintptr
 57563  
 57564  type _DISK_EXTENT = struct {
 57565  	FDiskNumber     DWORD
 57566  	F__ccgo_pad1    [4]byte
 57567  	FStartingOffset LARGE_INTEGER
 57568  	FExtentLength   LARGE_INTEGER
 57569  }
 57570  
 57571  type DISK_EXTENT = _DISK_EXTENT
 57572  type PDISK_EXTENT = uintptr
 57573  
 57574  type _VOLUME_DISK_EXTENTS = struct {
 57575  	FNumberOfDiskExtents DWORD
 57576  	F__ccgo_pad1         [4]byte
 57577  	FExtents             [1]DISK_EXTENT
 57578  }
 57579  
 57580  type VOLUME_DISK_EXTENTS = _VOLUME_DISK_EXTENTS
 57581  type PVOLUME_DISK_EXTENTS = uintptr
 57582  
 57583  type UWORD = WORD
 57584  
 57585  type _SCARD_IO_REQUEST = struct {
 57586  	FdwProtocol  DWORD
 57587  	FcbPciLength DWORD
 57588  }
 57589  
 57590  type SCARD_IO_REQUEST = _SCARD_IO_REQUEST
 57591  type PSCARD_IO_REQUEST = uintptr
 57592  type LPSCARD_IO_REQUEST = uintptr
 57593  type LPCSCARD_IO_REQUEST = uintptr
 57594  
 57595  type SCARD_T0_COMMAND = struct {
 57596  	FbCla BYTE
 57597  	FbIns BYTE
 57598  	FbP1  BYTE
 57599  	FbP2  BYTE
 57600  	FbP3  BYTE
 57601  }
 57602  type LPSCARD_T0_COMMAND = uintptr
 57603  
 57604  type SCARD_T0_REQUEST = struct {
 57605  	FioRequest   SCARD_IO_REQUEST
 57606  	FbSw1        BYTE
 57607  	FbSw2        BYTE
 57608  	F__10        struct{ FCmdBytes SCARD_T0_COMMAND }
 57609  	F__ccgo_pad1 [1]byte
 57610  }
 57611  
 57612  type PSCARD_T0_REQUEST = uintptr
 57613  type LPSCARD_T0_REQUEST = uintptr
 57614  
 57615  type SCARD_T1_REQUEST = struct{ FioRequest SCARD_IO_REQUEST }
 57616  type PSCARD_T1_REQUEST = uintptr
 57617  type LPSCARD_T1_REQUEST = uintptr
 57618  
 57619  type LPCBYTE = uintptr
 57620  
 57621  var g_rgSCardT0Pci SCARD_IO_REQUEST
 57622  var g_rgSCardT1Pci SCARD_IO_REQUEST
 57623  var g_rgSCardRawPci SCARD_IO_REQUEST
 57624  
 57625  type SCARDCONTEXT = ULONG_PTR
 57626  type PSCARDCONTEXT = uintptr
 57627  type LPSCARDCONTEXT = uintptr
 57628  
 57629  type SCARDHANDLE = ULONG_PTR
 57630  type PSCARDHANDLE = uintptr
 57631  type LPSCARDHANDLE = uintptr
 57632  
 57633  type SCARD_READERSTATEA = struct {
 57634  	FszReader       LPCSTR
 57635  	FpvUserData     LPVOID
 57636  	FdwCurrentState DWORD
 57637  	FdwEventState   DWORD
 57638  	FcbAtr          DWORD
 57639  	FrgbAtr         [36]BYTE
 57640  }
 57641  type PSCARD_READERSTATEA = uintptr
 57642  type LPSCARD_READERSTATEA = uintptr
 57643  
 57644  type SCARD_READERSTATEW = struct {
 57645  	FszReader       LPCWSTR
 57646  	FpvUserData     LPVOID
 57647  	FdwCurrentState DWORD
 57648  	FdwEventState   DWORD
 57649  	FcbAtr          DWORD
 57650  	FrgbAtr         [36]BYTE
 57651  }
 57652  type PSCARD_READERSTATEW = uintptr
 57653  type LPSCARD_READERSTATEW = uintptr
 57654  
 57655  type SCARD_READERSTATE = SCARD_READERSTATEA
 57656  type PSCARD_READERSTATE = PSCARD_READERSTATEA
 57657  type LPSCARD_READERSTATE = LPSCARD_READERSTATEA
 57658  
 57659  type _SCARD_ATRMASK = struct {
 57660  	FcbAtr   DWORD
 57661  	FrgbAtr  [36]BYTE
 57662  	FrgbMask [36]BYTE
 57663  }
 57664  
 57665  type SCARD_ATRMASK = _SCARD_ATRMASK
 57666  type PSCARD_ATRMASK = uintptr
 57667  type LPSCARD_ATRMASK = uintptr
 57668  
 57669  type LPOCNCONNPROCA = uintptr
 57670  type LPOCNCONNPROCW = uintptr
 57671  type LPOCNCHKPROC = uintptr
 57672  type LPOCNDSCPROC = uintptr
 57673  
 57674  type OPENCARD_SEARCH_CRITERIAA = struct {
 57675  	FdwStructSize         DWORD
 57676  	F__ccgo_pad1          [4]byte
 57677  	FlpstrGroupNames      LPSTR
 57678  	FnMaxGroupNames       DWORD
 57679  	F__ccgo_pad2          [4]byte
 57680  	FrgguidInterfaces     LPCGUID
 57681  	FcguidInterfaces      DWORD
 57682  	F__ccgo_pad3          [4]byte
 57683  	FlpstrCardNames       LPSTR
 57684  	FnMaxCardNames        DWORD
 57685  	F__ccgo_pad4          [4]byte
 57686  	FlpfnCheck            LPOCNCHKPROC
 57687  	FlpfnConnect          LPOCNCONNPROCA
 57688  	FlpfnDisconnect       LPOCNDSCPROC
 57689  	FpvUserData           LPVOID
 57690  	FdwShareMode          DWORD
 57691  	FdwPreferredProtocols DWORD
 57692  }
 57693  type POPENCARD_SEARCH_CRITERIAA = uintptr
 57694  type LPOPENCARD_SEARCH_CRITERIAA = uintptr
 57695  
 57696  type OPENCARD_SEARCH_CRITERIAW = struct {
 57697  	FdwStructSize         DWORD
 57698  	F__ccgo_pad1          [4]byte
 57699  	FlpstrGroupNames      LPWSTR
 57700  	FnMaxGroupNames       DWORD
 57701  	F__ccgo_pad2          [4]byte
 57702  	FrgguidInterfaces     LPCGUID
 57703  	FcguidInterfaces      DWORD
 57704  	F__ccgo_pad3          [4]byte
 57705  	FlpstrCardNames       LPWSTR
 57706  	FnMaxCardNames        DWORD
 57707  	F__ccgo_pad4          [4]byte
 57708  	FlpfnCheck            LPOCNCHKPROC
 57709  	FlpfnConnect          LPOCNCONNPROCW
 57710  	FlpfnDisconnect       LPOCNDSCPROC
 57711  	FpvUserData           LPVOID
 57712  	FdwShareMode          DWORD
 57713  	FdwPreferredProtocols DWORD
 57714  }
 57715  type POPENCARD_SEARCH_CRITERIAW = uintptr
 57716  type LPOPENCARD_SEARCH_CRITERIAW = uintptr
 57717  
 57718  type OPENCARD_SEARCH_CRITERIA = OPENCARD_SEARCH_CRITERIAA
 57719  type POPENCARD_SEARCH_CRITERIA = POPENCARD_SEARCH_CRITERIAA
 57720  type LPOPENCARD_SEARCH_CRITERIA = LPOPENCARD_SEARCH_CRITERIAA
 57721  
 57722  type OPENCARDNAME_EXA = struct {
 57723  	FdwStructSize            DWORD
 57724  	F__ccgo_pad1             [4]byte
 57725  	FhSCardContext           SCARDCONTEXT
 57726  	FhwndOwner               HWND
 57727  	FdwFlags                 DWORD
 57728  	F__ccgo_pad2             [4]byte
 57729  	FlpstrTitle              LPCSTR
 57730  	FlpstrSearchDesc         LPCSTR
 57731  	FhIcon                   HICON
 57732  	FpOpenCardSearchCriteria POPENCARD_SEARCH_CRITERIAA
 57733  	FlpfnConnect             LPOCNCONNPROCA
 57734  	FpvUserData              LPVOID
 57735  	FdwShareMode             DWORD
 57736  	FdwPreferredProtocols    DWORD
 57737  	FlpstrRdr                LPSTR
 57738  	FnMaxRdr                 DWORD
 57739  	F__ccgo_pad3             [4]byte
 57740  	FlpstrCard               LPSTR
 57741  	FnMaxCard                DWORD
 57742  	FdwActiveProtocol        DWORD
 57743  	FhCardHandle             SCARDHANDLE
 57744  }
 57745  type POPENCARDNAME_EXA = uintptr
 57746  type LPOPENCARDNAME_EXA = uintptr
 57747  
 57748  type OPENCARDNAME_EXW = struct {
 57749  	FdwStructSize            DWORD
 57750  	F__ccgo_pad1             [4]byte
 57751  	FhSCardContext           SCARDCONTEXT
 57752  	FhwndOwner               HWND
 57753  	FdwFlags                 DWORD
 57754  	F__ccgo_pad2             [4]byte
 57755  	FlpstrTitle              LPCWSTR
 57756  	FlpstrSearchDesc         LPCWSTR
 57757  	FhIcon                   HICON
 57758  	FpOpenCardSearchCriteria POPENCARD_SEARCH_CRITERIAW
 57759  	FlpfnConnect             LPOCNCONNPROCW
 57760  	FpvUserData              LPVOID
 57761  	FdwShareMode             DWORD
 57762  	FdwPreferredProtocols    DWORD
 57763  	FlpstrRdr                LPWSTR
 57764  	FnMaxRdr                 DWORD
 57765  	F__ccgo_pad3             [4]byte
 57766  	FlpstrCard               LPWSTR
 57767  	FnMaxCard                DWORD
 57768  	FdwActiveProtocol        DWORD
 57769  	FhCardHandle             SCARDHANDLE
 57770  }
 57771  type POPENCARDNAME_EXW = uintptr
 57772  type LPOPENCARDNAME_EXW = uintptr
 57773  
 57774  type OPENCARDNAME_EX = OPENCARDNAME_EXA
 57775  type POPENCARDNAME_EX = POPENCARDNAME_EXA
 57776  type LPOPENCARDNAME_EX = LPOPENCARDNAME_EXA
 57777  
 57778  type OPENCARDNAMEA = struct {
 57779  	FdwStructSize         DWORD
 57780  	F__ccgo_pad1          [4]byte
 57781  	FhwndOwner            HWND
 57782  	FhSCardContext        SCARDCONTEXT
 57783  	FlpstrGroupNames      LPSTR
 57784  	FnMaxGroupNames       DWORD
 57785  	F__ccgo_pad2          [4]byte
 57786  	FlpstrCardNames       LPSTR
 57787  	FnMaxCardNames        DWORD
 57788  	F__ccgo_pad3          [4]byte
 57789  	FrgguidInterfaces     LPCGUID
 57790  	FcguidInterfaces      DWORD
 57791  	F__ccgo_pad4          [4]byte
 57792  	FlpstrRdr             LPSTR
 57793  	FnMaxRdr              DWORD
 57794  	F__ccgo_pad5          [4]byte
 57795  	FlpstrCard            LPSTR
 57796  	FnMaxCard             DWORD
 57797  	F__ccgo_pad6          [4]byte
 57798  	FlpstrTitle           LPCSTR
 57799  	FdwFlags              DWORD
 57800  	F__ccgo_pad7          [4]byte
 57801  	FpvUserData           LPVOID
 57802  	FdwShareMode          DWORD
 57803  	FdwPreferredProtocols DWORD
 57804  	FdwActiveProtocol     DWORD
 57805  	F__ccgo_pad8          [4]byte
 57806  	FlpfnConnect          LPOCNCONNPROCA
 57807  	FlpfnCheck            LPOCNCHKPROC
 57808  	FlpfnDisconnect       LPOCNDSCPROC
 57809  	FhCardHandle          SCARDHANDLE
 57810  }
 57811  type POPENCARDNAMEA = uintptr
 57812  type LPOPENCARDNAMEA = uintptr
 57813  
 57814  type OPENCARDNAMEW = struct {
 57815  	FdwStructSize         DWORD
 57816  	F__ccgo_pad1          [4]byte
 57817  	FhwndOwner            HWND
 57818  	FhSCardContext        SCARDCONTEXT
 57819  	FlpstrGroupNames      LPWSTR
 57820  	FnMaxGroupNames       DWORD
 57821  	F__ccgo_pad2          [4]byte
 57822  	FlpstrCardNames       LPWSTR
 57823  	FnMaxCardNames        DWORD
 57824  	F__ccgo_pad3          [4]byte
 57825  	FrgguidInterfaces     LPCGUID
 57826  	FcguidInterfaces      DWORD
 57827  	F__ccgo_pad4          [4]byte
 57828  	FlpstrRdr             LPWSTR
 57829  	FnMaxRdr              DWORD
 57830  	F__ccgo_pad5          [4]byte
 57831  	FlpstrCard            LPWSTR
 57832  	FnMaxCard             DWORD
 57833  	F__ccgo_pad6          [4]byte
 57834  	FlpstrTitle           LPCWSTR
 57835  	FdwFlags              DWORD
 57836  	F__ccgo_pad7          [4]byte
 57837  	FpvUserData           LPVOID
 57838  	FdwShareMode          DWORD
 57839  	FdwPreferredProtocols DWORD
 57840  	FdwActiveProtocol     DWORD
 57841  	F__ccgo_pad8          [4]byte
 57842  	FlpfnConnect          LPOCNCONNPROCW
 57843  	FlpfnCheck            LPOCNCHKPROC
 57844  	FlpfnDisconnect       LPOCNDSCPROC
 57845  	FhCardHandle          SCARDHANDLE
 57846  }
 57847  type POPENCARDNAMEW = uintptr
 57848  type LPOPENCARDNAMEW = uintptr
 57849  
 57850  type OPENCARDNAME = OPENCARDNAMEA
 57851  type POPENCARDNAME = POPENCARDNAMEA
 57852  type LPOPENCARDNAME = LPOPENCARDNAMEA
 57853  type _PROPSHEETPAGEA = struct {
 57854  	FdwSize            DWORD
 57855  	FdwFlags           DWORD
 57856  	FhInstance         HINSTANCE
 57857  	Fu                 struct{ FpszTemplate LPCSTR }
 57858  	Fu2                struct{ FhIcon HICON }
 57859  	FpszTitle          LPCSTR
 57860  	FpfnDlgProc        DLGPROC
 57861  	FlParam            LPARAM
 57862  	FpfnCallback       LPFNPSPCALLBACKA
 57863  	FpcRefParent       uintptr
 57864  	FpszHeaderTitle    LPCSTR
 57865  	FpszHeaderSubTitle LPCSTR
 57866  	FhActCtx           HANDLE
 57867  }
 57868  
 57869  type _PROPSHEETPAGEW = struct {
 57870  	FdwSize            DWORD
 57871  	FdwFlags           DWORD
 57872  	FhInstance         HINSTANCE
 57873  	Fu                 struct{ FpszTemplate LPCWSTR }
 57874  	Fu2                struct{ FhIcon HICON }
 57875  	FpszTitle          LPCWSTR
 57876  	FpfnDlgProc        DLGPROC
 57877  	FlParam            LPARAM
 57878  	FpfnCallback       LPFNPSPCALLBACKW
 57879  	FpcRefParent       uintptr
 57880  	FpszHeaderTitle    LPCWSTR
 57881  	FpszHeaderSubTitle LPCWSTR
 57882  	FhActCtx           HANDLE
 57883  }
 57884  
 57885  type HPROPSHEETPAGE = uintptr
 57886  type LPFNPSPCALLBACKA = uintptr
 57887  type LPFNPSPCALLBACKW = uintptr
 57888  
 57889  type PROPSHEETPAGE_RESOURCE = LPCDLGTEMPLATE
 57890  
 57891  type _PROPSHEETPAGEA_V1 = struct {
 57892  	FdwSize      DWORD
 57893  	FdwFlags     DWORD
 57894  	FhInstance   HINSTANCE
 57895  	Fu           struct{ FpszTemplate LPCSTR }
 57896  	Fu2          struct{ FhIcon HICON }
 57897  	FpszTitle    LPCSTR
 57898  	FpfnDlgProc  DLGPROC
 57899  	FlParam      LPARAM
 57900  	FpfnCallback LPFNPSPCALLBACKA
 57901  	FpcRefParent uintptr
 57902  }
 57903  
 57904  type PROPSHEETPAGEA_V1 = _PROPSHEETPAGEA_V1
 57905  type LPPROPSHEETPAGEA_V1 = uintptr
 57906  
 57907  type LPCPROPSHEETPAGEA_V1 = uintptr
 57908  
 57909  type _PROPSHEETPAGEA_V2 = struct {
 57910  	FdwSize            DWORD
 57911  	FdwFlags           DWORD
 57912  	FhInstance         HINSTANCE
 57913  	Fu                 struct{ FpszTemplate LPCSTR }
 57914  	Fu2                struct{ FhIcon HICON }
 57915  	FpszTitle          LPCSTR
 57916  	FpfnDlgProc        DLGPROC
 57917  	FlParam            LPARAM
 57918  	FpfnCallback       LPFNPSPCALLBACKA
 57919  	FpcRefParent       uintptr
 57920  	FpszHeaderTitle    LPCSTR
 57921  	FpszHeaderSubTitle LPCSTR
 57922  }
 57923  
 57924  type PROPSHEETPAGEA_V2 = _PROPSHEETPAGEA_V2
 57925  type LPPROPSHEETPAGEA_V2 = uintptr
 57926  
 57927  type LPCPROPSHEETPAGEA_V2 = uintptr
 57928  
 57929  type PROPSHEETPAGEA_V3 = _PROPSHEETPAGEA
 57930  type LPPROPSHEETPAGEA_V3 = uintptr
 57931  
 57932  type LPCPROPSHEETPAGEA_V3 = uintptr
 57933  
 57934  type _PROPSHEETPAGEW_V1 = struct {
 57935  	FdwSize      DWORD
 57936  	FdwFlags     DWORD
 57937  	FhInstance   HINSTANCE
 57938  	Fu           struct{ FpszTemplate LPCWSTR }
 57939  	Fu2          struct{ FhIcon HICON }
 57940  	FpszTitle    LPCWSTR
 57941  	FpfnDlgProc  DLGPROC
 57942  	FlParam      LPARAM
 57943  	FpfnCallback LPFNPSPCALLBACKW
 57944  	FpcRefParent uintptr
 57945  }
 57946  
 57947  type PROPSHEETPAGEW_V1 = _PROPSHEETPAGEW_V1
 57948  type LPPROPSHEETPAGEW_V1 = uintptr
 57949  
 57950  type LPCPROPSHEETPAGEW_V1 = uintptr
 57951  
 57952  type _PROPSHEETPAGEW_V2 = struct {
 57953  	FdwSize            DWORD
 57954  	FdwFlags           DWORD
 57955  	FhInstance         HINSTANCE
 57956  	Fu                 struct{ FpszTemplate LPCWSTR }
 57957  	Fu2                struct{ FhIcon HICON }
 57958  	FpszTitle          LPCWSTR
 57959  	FpfnDlgProc        DLGPROC
 57960  	FlParam            LPARAM
 57961  	FpfnCallback       LPFNPSPCALLBACKW
 57962  	FpcRefParent       uintptr
 57963  	FpszHeaderTitle    LPCWSTR
 57964  	FpszHeaderSubTitle LPCWSTR
 57965  }
 57966  
 57967  type PROPSHEETPAGEW_V2 = _PROPSHEETPAGEW_V2
 57968  type LPPROPSHEETPAGEW_V2 = uintptr
 57969  
 57970  type LPCPROPSHEETPAGEW_V2 = uintptr
 57971  
 57972  type PROPSHEETPAGEW_V3 = _PROPSHEETPAGEW
 57973  type LPPROPSHEETPAGEW_V3 = uintptr
 57974  
 57975  type LPCPROPSHEETPAGEW_V3 = uintptr
 57976  type PROPSHEETPAGEA_LATEST = PROPSHEETPAGEA_V3
 57977  type PROPSHEETPAGEW_LATEST = PROPSHEETPAGEW_V3
 57978  type LPPROPSHEETPAGEA_LATEST = LPPROPSHEETPAGEA_V3
 57979  type LPPROPSHEETPAGEW_LATEST = LPPROPSHEETPAGEW_V3
 57980  type LPCPROPSHEETPAGEA_LATEST = LPCPROPSHEETPAGEA_V3
 57981  type LPCPROPSHEETPAGEW_LATEST = LPCPROPSHEETPAGEW_V3
 57982  
 57983  type PROPSHEETPAGEA = PROPSHEETPAGEA_V3
 57984  type PROPSHEETPAGEW = PROPSHEETPAGEW_V3
 57985  type LPPROPSHEETPAGEA = LPPROPSHEETPAGEA_V3
 57986  type LPPROPSHEETPAGEW = LPPROPSHEETPAGEW_V3
 57987  type LPCPROPSHEETPAGEA = LPCPROPSHEETPAGEA_V3
 57988  type LPCPROPSHEETPAGEW = LPCPROPSHEETPAGEW_V3
 57989  
 57990  type PFNPROPSHEETCALLBACK = uintptr
 57991  
 57992  type _PROPSHEETHEADERA = struct {
 57993  	FdwSize      DWORD
 57994  	FdwFlags     DWORD
 57995  	FhwndParent  HWND
 57996  	FhInstance   HINSTANCE
 57997  	Fu           struct{ FhIcon HICON }
 57998  	FpszCaption  LPCSTR
 57999  	FnPages      UINT
 58000  	F__ccgo_pad1 [4]byte
 58001  	Fu2          struct {
 58002  		F__ccgo_pad1 [0]uint64
 58003  		FnStartPage  UINT
 58004  		F__ccgo_pad2 [4]byte
 58005  	}
 58006  	Fu3           struct{ Fppsp LPCPROPSHEETPAGEA }
 58007  	FpfnCallback  PFNPROPSHEETCALLBACK
 58008  	Fu4           struct{ FhbmWatermark HBITMAP }
 58009  	FhplWatermark HPALETTE
 58010  	Fu5           struct{ FhbmHeader HBITMAP }
 58011  }
 58012  
 58013  type PROPSHEETHEADERA = _PROPSHEETHEADERA
 58014  type LPPROPSHEETHEADERA = uintptr
 58015  
 58016  type LPCPROPSHEETHEADERA = uintptr
 58017  
 58018  type _PROPSHEETHEADERW = struct {
 58019  	FdwSize      DWORD
 58020  	FdwFlags     DWORD
 58021  	FhwndParent  HWND
 58022  	FhInstance   HINSTANCE
 58023  	Fu           struct{ FhIcon HICON }
 58024  	FpszCaption  LPCWSTR
 58025  	FnPages      UINT
 58026  	F__ccgo_pad1 [4]byte
 58027  	Fu2          struct {
 58028  		F__ccgo_pad1 [0]uint64
 58029  		FnStartPage  UINT
 58030  		F__ccgo_pad2 [4]byte
 58031  	}
 58032  	Fu3           struct{ Fppsp LPCPROPSHEETPAGEW }
 58033  	FpfnCallback  PFNPROPSHEETCALLBACK
 58034  	Fu4           struct{ FhbmWatermark HBITMAP }
 58035  	FhplWatermark HPALETTE
 58036  	Fu5           struct{ FhbmHeader HBITMAP }
 58037  }
 58038  
 58039  type PROPSHEETHEADERW = _PROPSHEETHEADERW
 58040  type LPPROPSHEETHEADERW = uintptr
 58041  
 58042  type LPCPROPSHEETHEADERW = uintptr
 58043  
 58044  type LPFNADDPROPSHEETPAGE = uintptr
 58045  type LPFNADDPROPSHEETPAGES = uintptr
 58046  
 58047  type _PSHNOTIFY = struct {
 58048  	Fhdr    NMHDR
 58049  	FlParam LPARAM
 58050  }
 58051  
 58052  type PSHNOTIFY = _PSHNOTIFY
 58053  type LPPSHNOTIFY = uintptr
 58054  
 58055  type _PRINTER_INFO_1A = struct {
 58056  	FFlags        DWORD
 58057  	F__ccgo_pad1  [4]byte
 58058  	FpDescription LPSTR
 58059  	FpName        LPSTR
 58060  	FpComment     LPSTR
 58061  }
 58062  
 58063  type PRINTER_INFO_1A = _PRINTER_INFO_1A
 58064  type PPRINTER_INFO_1A = uintptr
 58065  type LPPRINTER_INFO_1A = uintptr
 58066  
 58067  type _PRINTER_INFO_1W = struct {
 58068  	FFlags        DWORD
 58069  	F__ccgo_pad1  [4]byte
 58070  	FpDescription LPWSTR
 58071  	FpName        LPWSTR
 58072  	FpComment     LPWSTR
 58073  }
 58074  
 58075  type PRINTER_INFO_1W = _PRINTER_INFO_1W
 58076  type PPRINTER_INFO_1W = uintptr
 58077  type LPPRINTER_INFO_1W = uintptr
 58078  
 58079  type PRINTER_INFO_1 = PRINTER_INFO_1A
 58080  type PPRINTER_INFO_1 = PPRINTER_INFO_1A
 58081  type LPPRINTER_INFO_1 = LPPRINTER_INFO_1A
 58082  
 58083  type _PRINTER_INFO_2A = struct {
 58084  	FpServerName         LPSTR
 58085  	FpPrinterName        LPSTR
 58086  	FpShareName          LPSTR
 58087  	FpPortName           LPSTR
 58088  	FpDriverName         LPSTR
 58089  	FpComment            LPSTR
 58090  	FpLocation           LPSTR
 58091  	FpDevMode            LPDEVMODEA
 58092  	FpSepFile            LPSTR
 58093  	FpPrintProcessor     LPSTR
 58094  	FpDatatype           LPSTR
 58095  	FpParameters         LPSTR
 58096  	FpSecurityDescriptor PSECURITY_DESCRIPTOR
 58097  	FAttributes          DWORD
 58098  	FPriority            DWORD
 58099  	FDefaultPriority     DWORD
 58100  	FStartTime           DWORD
 58101  	FUntilTime           DWORD
 58102  	FStatus              DWORD
 58103  	FcJobs               DWORD
 58104  	FAveragePPM          DWORD
 58105  }
 58106  
 58107  type PRINTER_INFO_2A = _PRINTER_INFO_2A
 58108  type PPRINTER_INFO_2A = uintptr
 58109  type LPPRINTER_INFO_2A = uintptr
 58110  
 58111  type _PRINTER_INFO_2W = struct {
 58112  	FpServerName         LPWSTR
 58113  	FpPrinterName        LPWSTR
 58114  	FpShareName          LPWSTR
 58115  	FpPortName           LPWSTR
 58116  	FpDriverName         LPWSTR
 58117  	FpComment            LPWSTR
 58118  	FpLocation           LPWSTR
 58119  	FpDevMode            LPDEVMODEW
 58120  	FpSepFile            LPWSTR
 58121  	FpPrintProcessor     LPWSTR
 58122  	FpDatatype           LPWSTR
 58123  	FpParameters         LPWSTR
 58124  	FpSecurityDescriptor PSECURITY_DESCRIPTOR
 58125  	FAttributes          DWORD
 58126  	FPriority            DWORD
 58127  	FDefaultPriority     DWORD
 58128  	FStartTime           DWORD
 58129  	FUntilTime           DWORD
 58130  	FStatus              DWORD
 58131  	FcJobs               DWORD
 58132  	FAveragePPM          DWORD
 58133  }
 58134  
 58135  type PRINTER_INFO_2W = _PRINTER_INFO_2W
 58136  type PPRINTER_INFO_2W = uintptr
 58137  type LPPRINTER_INFO_2W = uintptr
 58138  
 58139  type PRINTER_INFO_2 = PRINTER_INFO_2A
 58140  type PPRINTER_INFO_2 = PPRINTER_INFO_2A
 58141  type LPPRINTER_INFO_2 = LPPRINTER_INFO_2A
 58142  
 58143  type _PRINTER_INFO_3 = struct{ FpSecurityDescriptor PSECURITY_DESCRIPTOR }
 58144  
 58145  type PRINTER_INFO_3 = _PRINTER_INFO_3
 58146  type PPRINTER_INFO_3 = uintptr
 58147  type LPPRINTER_INFO_3 = uintptr
 58148  
 58149  type _PRINTER_INFO_4A = struct {
 58150  	FpPrinterName LPSTR
 58151  	FpServerName  LPSTR
 58152  	FAttributes   DWORD
 58153  	F__ccgo_pad1  [4]byte
 58154  }
 58155  
 58156  type PRINTER_INFO_4A = _PRINTER_INFO_4A
 58157  type PPRINTER_INFO_4A = uintptr
 58158  type LPPRINTER_INFO_4A = uintptr
 58159  
 58160  type _PRINTER_INFO_4W = struct {
 58161  	FpPrinterName LPWSTR
 58162  	FpServerName  LPWSTR
 58163  	FAttributes   DWORD
 58164  	F__ccgo_pad1  [4]byte
 58165  }
 58166  
 58167  type PRINTER_INFO_4W = _PRINTER_INFO_4W
 58168  type PPRINTER_INFO_4W = uintptr
 58169  type LPPRINTER_INFO_4W = uintptr
 58170  
 58171  type PRINTER_INFO_4 = PRINTER_INFO_4A
 58172  type PPRINTER_INFO_4 = PPRINTER_INFO_4A
 58173  type LPPRINTER_INFO_4 = LPPRINTER_INFO_4A
 58174  
 58175  type _PRINTER_INFO_5A = struct {
 58176  	FpPrinterName             LPSTR
 58177  	FpPortName                LPSTR
 58178  	FAttributes               DWORD
 58179  	FDeviceNotSelectedTimeout DWORD
 58180  	FTransmissionRetryTimeout DWORD
 58181  	F__ccgo_pad1              [4]byte
 58182  }
 58183  
 58184  type PRINTER_INFO_5A = _PRINTER_INFO_5A
 58185  type PPRINTER_INFO_5A = uintptr
 58186  type LPPRINTER_INFO_5A = uintptr
 58187  
 58188  type _PRINTER_INFO_5W = struct {
 58189  	FpPrinterName             LPWSTR
 58190  	FpPortName                LPWSTR
 58191  	FAttributes               DWORD
 58192  	FDeviceNotSelectedTimeout DWORD
 58193  	FTransmissionRetryTimeout DWORD
 58194  	F__ccgo_pad1              [4]byte
 58195  }
 58196  
 58197  type PRINTER_INFO_5W = _PRINTER_INFO_5W
 58198  type PPRINTER_INFO_5W = uintptr
 58199  type LPPRINTER_INFO_5W = uintptr
 58200  
 58201  type PRINTER_INFO_5 = PRINTER_INFO_5A
 58202  type PPRINTER_INFO_5 = PPRINTER_INFO_5A
 58203  type LPPRINTER_INFO_5 = LPPRINTER_INFO_5A
 58204  
 58205  type _PRINTER_INFO_6 = struct{ FdwStatus DWORD }
 58206  
 58207  type PRINTER_INFO_6 = _PRINTER_INFO_6
 58208  type PPRINTER_INFO_6 = uintptr
 58209  type LPPRINTER_INFO_6 = uintptr
 58210  
 58211  type _PRINTER_INFO_7A = struct {
 58212  	FpszObjectGUID LPSTR
 58213  	FdwAction      DWORD
 58214  	F__ccgo_pad1   [4]byte
 58215  }
 58216  
 58217  type PRINTER_INFO_7A = _PRINTER_INFO_7A
 58218  type PPRINTER_INFO_7A = uintptr
 58219  type LPPRINTER_INFO_7A = uintptr
 58220  
 58221  type _PRINTER_INFO_7W = struct {
 58222  	FpszObjectGUID LPWSTR
 58223  	FdwAction      DWORD
 58224  	F__ccgo_pad1   [4]byte
 58225  }
 58226  
 58227  type PRINTER_INFO_7W = _PRINTER_INFO_7W
 58228  type PPRINTER_INFO_7W = uintptr
 58229  type LPPRINTER_INFO_7W = uintptr
 58230  
 58231  type PRINTER_INFO_7 = PRINTER_INFO_7A
 58232  type PPRINTER_INFO_7 = PPRINTER_INFO_7A
 58233  type LPPRINTER_INFO_7 = LPPRINTER_INFO_7A
 58234  
 58235  type _PRINTER_INFO_8A = struct{ FpDevMode LPDEVMODEA }
 58236  
 58237  type PRINTER_INFO_8A = _PRINTER_INFO_8A
 58238  type PPRINTER_INFO_8A = uintptr
 58239  type LPPRINTER_INFO_8A = uintptr
 58240  
 58241  type _PRINTER_INFO_8W = struct{ FpDevMode LPDEVMODEW }
 58242  
 58243  type PRINTER_INFO_8W = _PRINTER_INFO_8W
 58244  type PPRINTER_INFO_8W = uintptr
 58245  type LPPRINTER_INFO_8W = uintptr
 58246  
 58247  type PRINTER_INFO_8 = PRINTER_INFO_8A
 58248  type PPRINTER_INFO_8 = PPRINTER_INFO_8A
 58249  type LPPRINTER_INFO_8 = LPPRINTER_INFO_8A
 58250  
 58251  type _PRINTER_INFO_9A = struct{ FpDevMode LPDEVMODEA }
 58252  
 58253  type PRINTER_INFO_9A = _PRINTER_INFO_9A
 58254  type PPRINTER_INFO_9A = uintptr
 58255  type LPPRINTER_INFO_9A = uintptr
 58256  
 58257  type _PRINTER_INFO_9W = struct{ FpDevMode LPDEVMODEW }
 58258  
 58259  type PRINTER_INFO_9W = _PRINTER_INFO_9W
 58260  type PPRINTER_INFO_9W = uintptr
 58261  type LPPRINTER_INFO_9W = uintptr
 58262  
 58263  type PRINTER_INFO_9 = PRINTER_INFO_9A
 58264  type PPRINTER_INFO_9 = PPRINTER_INFO_9A
 58265  type LPPRINTER_INFO_9 = LPPRINTER_INFO_9A
 58266  
 58267  type _JOB_INFO_1A = struct {
 58268  	FJobId        DWORD
 58269  	F__ccgo_pad1  [4]byte
 58270  	FpPrinterName LPSTR
 58271  	FpMachineName LPSTR
 58272  	FpUserName    LPSTR
 58273  	FpDocument    LPSTR
 58274  	FpDatatype    LPSTR
 58275  	FpStatus      LPSTR
 58276  	FStatus       DWORD
 58277  	FPriority     DWORD
 58278  	FPosition     DWORD
 58279  	FTotalPages   DWORD
 58280  	FPagesPrinted DWORD
 58281  	FSubmitted    SYSTEMTIME
 58282  	F__ccgo_pad2  [4]byte
 58283  }
 58284  
 58285  type JOB_INFO_1A = _JOB_INFO_1A
 58286  type PJOB_INFO_1A = uintptr
 58287  type LPJOB_INFO_1A = uintptr
 58288  
 58289  type _JOB_INFO_1W = struct {
 58290  	FJobId        DWORD
 58291  	F__ccgo_pad1  [4]byte
 58292  	FpPrinterName LPWSTR
 58293  	FpMachineName LPWSTR
 58294  	FpUserName    LPWSTR
 58295  	FpDocument    LPWSTR
 58296  	FpDatatype    LPWSTR
 58297  	FpStatus      LPWSTR
 58298  	FStatus       DWORD
 58299  	FPriority     DWORD
 58300  	FPosition     DWORD
 58301  	FTotalPages   DWORD
 58302  	FPagesPrinted DWORD
 58303  	FSubmitted    SYSTEMTIME
 58304  	F__ccgo_pad2  [4]byte
 58305  }
 58306  
 58307  type JOB_INFO_1W = _JOB_INFO_1W
 58308  type PJOB_INFO_1W = uintptr
 58309  type LPJOB_INFO_1W = uintptr
 58310  
 58311  type JOB_INFO_1 = JOB_INFO_1A
 58312  type PJOB_INFO_1 = PJOB_INFO_1A
 58313  type LPJOB_INFO_1 = LPJOB_INFO_1A
 58314  
 58315  type _JOB_INFO_2A = struct {
 58316  	FJobId               DWORD
 58317  	F__ccgo_pad1         [4]byte
 58318  	FpPrinterName        LPSTR
 58319  	FpMachineName        LPSTR
 58320  	FpUserName           LPSTR
 58321  	FpDocument           LPSTR
 58322  	FpNotifyName         LPSTR
 58323  	FpDatatype           LPSTR
 58324  	FpPrintProcessor     LPSTR
 58325  	FpParameters         LPSTR
 58326  	FpDriverName         LPSTR
 58327  	FpDevMode            LPDEVMODEA
 58328  	FpStatus             LPSTR
 58329  	FpSecurityDescriptor PSECURITY_DESCRIPTOR
 58330  	FStatus              DWORD
 58331  	FPriority            DWORD
 58332  	FPosition            DWORD
 58333  	FStartTime           DWORD
 58334  	FUntilTime           DWORD
 58335  	FTotalPages          DWORD
 58336  	FSize                DWORD
 58337  	FSubmitted           SYSTEMTIME
 58338  	FTime                DWORD
 58339  	FPagesPrinted        DWORD
 58340  	F__ccgo_pad2         [4]byte
 58341  }
 58342  
 58343  type JOB_INFO_2A = _JOB_INFO_2A
 58344  type PJOB_INFO_2A = uintptr
 58345  type LPJOB_INFO_2A = uintptr
 58346  
 58347  type _JOB_INFO_2W = struct {
 58348  	FJobId               DWORD
 58349  	F__ccgo_pad1         [4]byte
 58350  	FpPrinterName        LPWSTR
 58351  	FpMachineName        LPWSTR
 58352  	FpUserName           LPWSTR
 58353  	FpDocument           LPWSTR
 58354  	FpNotifyName         LPWSTR
 58355  	FpDatatype           LPWSTR
 58356  	FpPrintProcessor     LPWSTR
 58357  	FpParameters         LPWSTR
 58358  	FpDriverName         LPWSTR
 58359  	FpDevMode            LPDEVMODEW
 58360  	FpStatus             LPWSTR
 58361  	FpSecurityDescriptor PSECURITY_DESCRIPTOR
 58362  	FStatus              DWORD
 58363  	FPriority            DWORD
 58364  	FPosition            DWORD
 58365  	FStartTime           DWORD
 58366  	FUntilTime           DWORD
 58367  	FTotalPages          DWORD
 58368  	FSize                DWORD
 58369  	FSubmitted           SYSTEMTIME
 58370  	FTime                DWORD
 58371  	FPagesPrinted        DWORD
 58372  	F__ccgo_pad2         [4]byte
 58373  }
 58374  
 58375  type JOB_INFO_2W = _JOB_INFO_2W
 58376  type PJOB_INFO_2W = uintptr
 58377  type LPJOB_INFO_2W = uintptr
 58378  
 58379  type JOB_INFO_2 = JOB_INFO_2A
 58380  type PJOB_INFO_2 = PJOB_INFO_2A
 58381  type LPJOB_INFO_2 = LPJOB_INFO_2A
 58382  
 58383  type _JOB_INFO_3 = struct {
 58384  	FJobId     DWORD
 58385  	FNextJobId DWORD
 58386  	FReserved  DWORD
 58387  }
 58388  
 58389  type JOB_INFO_3 = _JOB_INFO_3
 58390  type PJOB_INFO_3 = uintptr
 58391  type LPJOB_INFO_3 = uintptr
 58392  
 58393  type _ADDJOB_INFO_1A = struct {
 58394  	FPath        LPSTR
 58395  	FJobId       DWORD
 58396  	F__ccgo_pad1 [4]byte
 58397  }
 58398  
 58399  type ADDJOB_INFO_1A = _ADDJOB_INFO_1A
 58400  type PADDJOB_INFO_1A = uintptr
 58401  type LPADDJOB_INFO_1A = uintptr
 58402  
 58403  type _ADDJOB_INFO_1W = struct {
 58404  	FPath        LPWSTR
 58405  	FJobId       DWORD
 58406  	F__ccgo_pad1 [4]byte
 58407  }
 58408  
 58409  type ADDJOB_INFO_1W = _ADDJOB_INFO_1W
 58410  type PADDJOB_INFO_1W = uintptr
 58411  type LPADDJOB_INFO_1W = uintptr
 58412  
 58413  type ADDJOB_INFO_1 = ADDJOB_INFO_1A
 58414  type PADDJOB_INFO_1 = PADDJOB_INFO_1A
 58415  type LPADDJOB_INFO_1 = LPADDJOB_INFO_1A
 58416  
 58417  type _DRIVER_INFO_1A = struct{ FpName LPSTR }
 58418  
 58419  type DRIVER_INFO_1A = _DRIVER_INFO_1A
 58420  type PDRIVER_INFO_1A = uintptr
 58421  type LPDRIVER_INFO_1A = uintptr
 58422  
 58423  type _DRIVER_INFO_1W = struct{ FpName LPWSTR }
 58424  
 58425  type DRIVER_INFO_1W = _DRIVER_INFO_1W
 58426  type PDRIVER_INFO_1W = uintptr
 58427  type LPDRIVER_INFO_1W = uintptr
 58428  
 58429  type DRIVER_INFO_1 = DRIVER_INFO_1A
 58430  type PDRIVER_INFO_1 = PDRIVER_INFO_1A
 58431  type LPDRIVER_INFO_1 = LPDRIVER_INFO_1A
 58432  
 58433  type _DRIVER_INFO_2A = struct {
 58434  	FcVersion     DWORD
 58435  	F__ccgo_pad1  [4]byte
 58436  	FpName        LPSTR
 58437  	FpEnvironment LPSTR
 58438  	FpDriverPath  LPSTR
 58439  	FpDataFile    LPSTR
 58440  	FpConfigFile  LPSTR
 58441  }
 58442  
 58443  type DRIVER_INFO_2A = _DRIVER_INFO_2A
 58444  type PDRIVER_INFO_2A = uintptr
 58445  type LPDRIVER_INFO_2A = uintptr
 58446  
 58447  type _DRIVER_INFO_2W = struct {
 58448  	FcVersion     DWORD
 58449  	F__ccgo_pad1  [4]byte
 58450  	FpName        LPWSTR
 58451  	FpEnvironment LPWSTR
 58452  	FpDriverPath  LPWSTR
 58453  	FpDataFile    LPWSTR
 58454  	FpConfigFile  LPWSTR
 58455  }
 58456  
 58457  type DRIVER_INFO_2W = _DRIVER_INFO_2W
 58458  type PDRIVER_INFO_2W = uintptr
 58459  type LPDRIVER_INFO_2W = uintptr
 58460  
 58461  type DRIVER_INFO_2 = DRIVER_INFO_2A
 58462  type PDRIVER_INFO_2 = PDRIVER_INFO_2A
 58463  type LPDRIVER_INFO_2 = LPDRIVER_INFO_2A
 58464  
 58465  type _DRIVER_INFO_3A = struct {
 58466  	FcVersion         DWORD
 58467  	F__ccgo_pad1      [4]byte
 58468  	FpName            LPSTR
 58469  	FpEnvironment     LPSTR
 58470  	FpDriverPath      LPSTR
 58471  	FpDataFile        LPSTR
 58472  	FpConfigFile      LPSTR
 58473  	FpHelpFile        LPSTR
 58474  	FpDependentFiles  LPSTR
 58475  	FpMonitorName     LPSTR
 58476  	FpDefaultDataType LPSTR
 58477  }
 58478  
 58479  type DRIVER_INFO_3A = _DRIVER_INFO_3A
 58480  type PDRIVER_INFO_3A = uintptr
 58481  type LPDRIVER_INFO_3A = uintptr
 58482  
 58483  type _DRIVER_INFO_3W = struct {
 58484  	FcVersion         DWORD
 58485  	F__ccgo_pad1      [4]byte
 58486  	FpName            LPWSTR
 58487  	FpEnvironment     LPWSTR
 58488  	FpDriverPath      LPWSTR
 58489  	FpDataFile        LPWSTR
 58490  	FpConfigFile      LPWSTR
 58491  	FpHelpFile        LPWSTR
 58492  	FpDependentFiles  LPWSTR
 58493  	FpMonitorName     LPWSTR
 58494  	FpDefaultDataType LPWSTR
 58495  }
 58496  
 58497  type DRIVER_INFO_3W = _DRIVER_INFO_3W
 58498  type PDRIVER_INFO_3W = uintptr
 58499  type LPDRIVER_INFO_3W = uintptr
 58500  
 58501  type DRIVER_INFO_3 = DRIVER_INFO_3A
 58502  type PDRIVER_INFO_3 = PDRIVER_INFO_3A
 58503  type LPDRIVER_INFO_3 = LPDRIVER_INFO_3A
 58504  
 58505  type _DRIVER_INFO_4A = struct {
 58506  	FcVersion          DWORD
 58507  	F__ccgo_pad1       [4]byte
 58508  	FpName             LPSTR
 58509  	FpEnvironment      LPSTR
 58510  	FpDriverPath       LPSTR
 58511  	FpDataFile         LPSTR
 58512  	FpConfigFile       LPSTR
 58513  	FpHelpFile         LPSTR
 58514  	FpDependentFiles   LPSTR
 58515  	FpMonitorName      LPSTR
 58516  	FpDefaultDataType  LPSTR
 58517  	FpszzPreviousNames LPSTR
 58518  }
 58519  
 58520  type DRIVER_INFO_4A = _DRIVER_INFO_4A
 58521  type PDRIVER_INFO_4A = uintptr
 58522  type LPDRIVER_INFO_4A = uintptr
 58523  
 58524  type _DRIVER_INFO_4W = struct {
 58525  	FcVersion          DWORD
 58526  	F__ccgo_pad1       [4]byte
 58527  	FpName             LPWSTR
 58528  	FpEnvironment      LPWSTR
 58529  	FpDriverPath       LPWSTR
 58530  	FpDataFile         LPWSTR
 58531  	FpConfigFile       LPWSTR
 58532  	FpHelpFile         LPWSTR
 58533  	FpDependentFiles   LPWSTR
 58534  	FpMonitorName      LPWSTR
 58535  	FpDefaultDataType  LPWSTR
 58536  	FpszzPreviousNames LPWSTR
 58537  }
 58538  
 58539  type DRIVER_INFO_4W = _DRIVER_INFO_4W
 58540  type PDRIVER_INFO_4W = uintptr
 58541  type LPDRIVER_INFO_4W = uintptr
 58542  
 58543  type DRIVER_INFO_4 = DRIVER_INFO_4A
 58544  type PDRIVER_INFO_4 = PDRIVER_INFO_4A
 58545  type LPDRIVER_INFO_4 = LPDRIVER_INFO_4A
 58546  
 58547  type _DRIVER_INFO_5A = struct {
 58548  	FcVersion           DWORD
 58549  	F__ccgo_pad1        [4]byte
 58550  	FpName              LPSTR
 58551  	FpEnvironment       LPSTR
 58552  	FpDriverPath        LPSTR
 58553  	FpDataFile          LPSTR
 58554  	FpConfigFile        LPSTR
 58555  	FdwDriverAttributes DWORD
 58556  	FdwConfigVersion    DWORD
 58557  	FdwDriverVersion    DWORD
 58558  	F__ccgo_pad2        [4]byte
 58559  }
 58560  
 58561  type DRIVER_INFO_5A = _DRIVER_INFO_5A
 58562  type PDRIVER_INFO_5A = uintptr
 58563  type LPDRIVER_INFO_5A = uintptr
 58564  
 58565  type _DRIVER_INFO_5W = struct {
 58566  	FcVersion           DWORD
 58567  	F__ccgo_pad1        [4]byte
 58568  	FpName              LPWSTR
 58569  	FpEnvironment       LPWSTR
 58570  	FpDriverPath        LPWSTR
 58571  	FpDataFile          LPWSTR
 58572  	FpConfigFile        LPWSTR
 58573  	FdwDriverAttributes DWORD
 58574  	FdwConfigVersion    DWORD
 58575  	FdwDriverVersion    DWORD
 58576  	F__ccgo_pad2        [4]byte
 58577  }
 58578  
 58579  type DRIVER_INFO_5W = _DRIVER_INFO_5W
 58580  type PDRIVER_INFO_5W = uintptr
 58581  type LPDRIVER_INFO_5W = uintptr
 58582  
 58583  type DRIVER_INFO_5 = DRIVER_INFO_5A
 58584  type PDRIVER_INFO_5 = PDRIVER_INFO_5A
 58585  type LPDRIVER_INFO_5 = LPDRIVER_INFO_5A
 58586  
 58587  type _DRIVER_INFO_6A = struct {
 58588  	FcVersion          DWORD
 58589  	F__ccgo_pad1       [4]byte
 58590  	FpName             LPSTR
 58591  	FpEnvironment      LPSTR
 58592  	FpDriverPath       LPSTR
 58593  	FpDataFile         LPSTR
 58594  	FpConfigFile       LPSTR
 58595  	FpHelpFile         LPSTR
 58596  	FpDependentFiles   LPSTR
 58597  	FpMonitorName      LPSTR
 58598  	FpDefaultDataType  LPSTR
 58599  	FpszzPreviousNames LPSTR
 58600  	FftDriverDate      FILETIME
 58601  	FdwlDriverVersion  DWORDLONG
 58602  	FpszMfgName        LPSTR
 58603  	FpszOEMUrl         LPSTR
 58604  	FpszHardwareID     LPSTR
 58605  	FpszProvider       LPSTR
 58606  }
 58607  
 58608  type DRIVER_INFO_6A = _DRIVER_INFO_6A
 58609  type PDRIVER_INFO_6A = uintptr
 58610  type LPDRIVER_INFO_6A = uintptr
 58611  
 58612  type _DRIVER_INFO_6W = struct {
 58613  	FcVersion          DWORD
 58614  	F__ccgo_pad1       [4]byte
 58615  	FpName             LPWSTR
 58616  	FpEnvironment      LPWSTR
 58617  	FpDriverPath       LPWSTR
 58618  	FpDataFile         LPWSTR
 58619  	FpConfigFile       LPWSTR
 58620  	FpHelpFile         LPWSTR
 58621  	FpDependentFiles   LPWSTR
 58622  	FpMonitorName      LPWSTR
 58623  	FpDefaultDataType  LPWSTR
 58624  	FpszzPreviousNames LPWSTR
 58625  	FftDriverDate      FILETIME
 58626  	FdwlDriverVersion  DWORDLONG
 58627  	FpszMfgName        LPWSTR
 58628  	FpszOEMUrl         LPWSTR
 58629  	FpszHardwareID     LPWSTR
 58630  	FpszProvider       LPWSTR
 58631  }
 58632  
 58633  type DRIVER_INFO_6W = _DRIVER_INFO_6W
 58634  type PDRIVER_INFO_6W = uintptr
 58635  type LPDRIVER_INFO_6W = uintptr
 58636  
 58637  type DRIVER_INFO_6 = DRIVER_INFO_6A
 58638  type PDRIVER_INFO_6 = PDRIVER_INFO_6A
 58639  type LPDRIVER_INFO_6 = LPDRIVER_INFO_6A
 58640  
 58641  type _DOC_INFO_1A = struct {
 58642  	FpDocName    LPSTR
 58643  	FpOutputFile LPSTR
 58644  	FpDatatype   LPSTR
 58645  }
 58646  
 58647  type DOC_INFO_1A = _DOC_INFO_1A
 58648  type PDOC_INFO_1A = uintptr
 58649  type LPDOC_INFO_1A = uintptr
 58650  
 58651  type _DOC_INFO_1W = struct {
 58652  	FpDocName    LPWSTR
 58653  	FpOutputFile LPWSTR
 58654  	FpDatatype   LPWSTR
 58655  }
 58656  
 58657  type DOC_INFO_1W = _DOC_INFO_1W
 58658  type PDOC_INFO_1W = uintptr
 58659  type LPDOC_INFO_1W = uintptr
 58660  
 58661  type DOC_INFO_1 = DOC_INFO_1A
 58662  type PDOC_INFO_1 = PDOC_INFO_1A
 58663  type LPDOC_INFO_1 = LPDOC_INFO_1A
 58664  
 58665  type _FORM_INFO_1A = struct {
 58666  	FFlags         DWORD
 58667  	F__ccgo_pad1   [4]byte
 58668  	FpName         LPSTR
 58669  	FSize          SIZEL
 58670  	FImageableArea RECTL
 58671  }
 58672  
 58673  type FORM_INFO_1A = _FORM_INFO_1A
 58674  type PFORM_INFO_1A = uintptr
 58675  type LPFORM_INFO_1A = uintptr
 58676  
 58677  type _FORM_INFO_1W = struct {
 58678  	FFlags         DWORD
 58679  	F__ccgo_pad1   [4]byte
 58680  	FpName         LPWSTR
 58681  	FSize          SIZEL
 58682  	FImageableArea RECTL
 58683  }
 58684  
 58685  type FORM_INFO_1W = _FORM_INFO_1W
 58686  type PFORM_INFO_1W = uintptr
 58687  type LPFORM_INFO_1W = uintptr
 58688  
 58689  type FORM_INFO_1 = FORM_INFO_1A
 58690  type PFORM_INFO_1 = PFORM_INFO_1A
 58691  type LPFORM_INFO_1 = LPFORM_INFO_1A
 58692  
 58693  type _DOC_INFO_2A = struct {
 58694  	FpDocName    LPSTR
 58695  	FpOutputFile LPSTR
 58696  	FpDatatype   LPSTR
 58697  	FdwMode      DWORD
 58698  	FJobId       DWORD
 58699  }
 58700  
 58701  type DOC_INFO_2A = _DOC_INFO_2A
 58702  type PDOC_INFO_2A = uintptr
 58703  type LPDOC_INFO_2A = uintptr
 58704  
 58705  type _DOC_INFO_2W = struct {
 58706  	FpDocName    LPWSTR
 58707  	FpOutputFile LPWSTR
 58708  	FpDatatype   LPWSTR
 58709  	FdwMode      DWORD
 58710  	FJobId       DWORD
 58711  }
 58712  
 58713  type DOC_INFO_2W = _DOC_INFO_2W
 58714  type PDOC_INFO_2W = uintptr
 58715  type LPDOC_INFO_2W = uintptr
 58716  
 58717  type DOC_INFO_2 = DOC_INFO_2A
 58718  type PDOC_INFO_2 = PDOC_INFO_2A
 58719  type LPDOC_INFO_2 = LPDOC_INFO_2A
 58720  
 58721  type _DOC_INFO_3A = struct {
 58722  	FpDocName    LPSTR
 58723  	FpOutputFile LPSTR
 58724  	FpDatatype   LPSTR
 58725  	FdwFlags     DWORD
 58726  	F__ccgo_pad1 [4]byte
 58727  }
 58728  
 58729  type DOC_INFO_3A = _DOC_INFO_3A
 58730  type PDOC_INFO_3A = uintptr
 58731  type LPDOC_INFO_3A = uintptr
 58732  
 58733  type _DOC_INFO_3W = struct {
 58734  	FpDocName    LPWSTR
 58735  	FpOutputFile LPWSTR
 58736  	FpDatatype   LPWSTR
 58737  	FdwFlags     DWORD
 58738  	F__ccgo_pad1 [4]byte
 58739  }
 58740  
 58741  type DOC_INFO_3W = _DOC_INFO_3W
 58742  type PDOC_INFO_3W = uintptr
 58743  type LPDOC_INFO_3W = uintptr
 58744  
 58745  type DOC_INFO_3 = DOC_INFO_3A
 58746  type PDOC_INFO_3 = PDOC_INFO_3A
 58747  type LPDOC_INFO_3 = LPDOC_INFO_3A
 58748  
 58749  type _PRINTPROCESSOR_INFO_1A = struct{ FpName LPSTR }
 58750  
 58751  type PRINTPROCESSOR_INFO_1A = _PRINTPROCESSOR_INFO_1A
 58752  type PPRINTPROCESSOR_INFO_1A = uintptr
 58753  type LPPRINTPROCESSOR_INFO_1A = uintptr
 58754  
 58755  type _PRINTPROCESSOR_INFO_1W = struct{ FpName LPWSTR }
 58756  
 58757  type PRINTPROCESSOR_INFO_1W = _PRINTPROCESSOR_INFO_1W
 58758  type PPRINTPROCESSOR_INFO_1W = uintptr
 58759  type LPPRINTPROCESSOR_INFO_1W = uintptr
 58760  
 58761  type PRINTPROCESSOR_INFO_1 = PRINTPROCESSOR_INFO_1A
 58762  type PPRINTPROCESSOR_INFO_1 = PPRINTPROCESSOR_INFO_1A
 58763  type LPPRINTPROCESSOR_INFO_1 = LPPRINTPROCESSOR_INFO_1A
 58764  
 58765  type _PRINTPROCESSOR_CAPS_1 = struct {
 58766  	FdwLevel          DWORD
 58767  	FdwNupOptions     DWORD
 58768  	FdwPageOrderFlags DWORD
 58769  	FdwNumberOfCopies DWORD
 58770  }
 58771  
 58772  type PRINTPROCESSOR_CAPS_1 = _PRINTPROCESSOR_CAPS_1
 58773  type PPRINTPROCESSOR_CAPS_1 = uintptr
 58774  
 58775  type _PORT_INFO_1A = struct{ FpName LPSTR }
 58776  
 58777  type PORT_INFO_1A = _PORT_INFO_1A
 58778  type PPORT_INFO_1A = uintptr
 58779  type LPPORT_INFO_1A = uintptr
 58780  type _PORT_INFO_1W = struct{ FpName LPWSTR }
 58781  
 58782  type PORT_INFO_1W = _PORT_INFO_1W
 58783  type PPORT_INFO_1W = uintptr
 58784  type LPPORT_INFO_1W = uintptr
 58785  
 58786  type PORT_INFO_1 = PORT_INFO_1A
 58787  type PPORT_INFO_1 = PPORT_INFO_1A
 58788  type LPPORT_INFO_1 = LPPORT_INFO_1A
 58789  
 58790  type _PORT_INFO_2A = struct {
 58791  	FpPortName    LPSTR
 58792  	FpMonitorName LPSTR
 58793  	FpDescription LPSTR
 58794  	FfPortType    DWORD
 58795  	FReserved     DWORD
 58796  }
 58797  
 58798  type PORT_INFO_2A = _PORT_INFO_2A
 58799  type PPORT_INFO_2A = uintptr
 58800  type LPPORT_INFO_2A = uintptr
 58801  
 58802  type _PORT_INFO_2W = struct {
 58803  	FpPortName    LPWSTR
 58804  	FpMonitorName LPWSTR
 58805  	FpDescription LPWSTR
 58806  	FfPortType    DWORD
 58807  	FReserved     DWORD
 58808  }
 58809  
 58810  type PORT_INFO_2W = _PORT_INFO_2W
 58811  type PPORT_INFO_2W = uintptr
 58812  type LPPORT_INFO_2W = uintptr
 58813  
 58814  type PORT_INFO_2 = PORT_INFO_2A
 58815  type PPORT_INFO_2 = PPORT_INFO_2A
 58816  type LPPORT_INFO_2 = LPPORT_INFO_2A
 58817  
 58818  type _PORT_INFO_3A = struct {
 58819  	FdwStatus    DWORD
 58820  	F__ccgo_pad1 [4]byte
 58821  	FpszStatus   LPSTR
 58822  	FdwSeverity  DWORD
 58823  	F__ccgo_pad2 [4]byte
 58824  }
 58825  
 58826  type PORT_INFO_3A = _PORT_INFO_3A
 58827  type PPORT_INFO_3A = uintptr
 58828  type LPPORT_INFO_3A = uintptr
 58829  
 58830  type _PORT_INFO_3W = struct {
 58831  	FdwStatus    DWORD
 58832  	F__ccgo_pad1 [4]byte
 58833  	FpszStatus   LPWSTR
 58834  	FdwSeverity  DWORD
 58835  	F__ccgo_pad2 [4]byte
 58836  }
 58837  
 58838  type PORT_INFO_3W = _PORT_INFO_3W
 58839  type PPORT_INFO_3W = uintptr
 58840  type LPPORT_INFO_3W = uintptr
 58841  
 58842  type PORT_INFO_3 = PORT_INFO_3A
 58843  type PPORT_INFO_3 = PPORT_INFO_3A
 58844  type LPPORT_INFO_3 = LPPORT_INFO_3A
 58845  
 58846  type _MONITOR_INFO_1A = struct{ FpName LPSTR }
 58847  
 58848  type MONITOR_INFO_1A = _MONITOR_INFO_1A
 58849  type PMONITOR_INFO_1A = uintptr
 58850  type LPMONITOR_INFO_1A = uintptr
 58851  
 58852  type _MONITOR_INFO_1W = struct{ FpName LPWSTR }
 58853  
 58854  type MONITOR_INFO_1W = _MONITOR_INFO_1W
 58855  type PMONITOR_INFO_1W = uintptr
 58856  type LPMONITOR_INFO_1W = uintptr
 58857  
 58858  type MONITOR_INFO_1 = MONITOR_INFO_1A
 58859  type PMONITOR_INFO_1 = PMONITOR_INFO_1A
 58860  type LPMONITOR_INFO_1 = LPMONITOR_INFO_1A
 58861  
 58862  type _MONITOR_INFO_2A = struct {
 58863  	FpName        LPSTR
 58864  	FpEnvironment LPSTR
 58865  	FpDLLName     LPSTR
 58866  }
 58867  
 58868  type MONITOR_INFO_2A = _MONITOR_INFO_2A
 58869  type PMONITOR_INFO_2A = uintptr
 58870  type LPMONITOR_INFO_2A = uintptr
 58871  
 58872  type _MONITOR_INFO_2W = struct {
 58873  	FpName        LPWSTR
 58874  	FpEnvironment LPWSTR
 58875  	FpDLLName     LPWSTR
 58876  }
 58877  
 58878  type MONITOR_INFO_2W = _MONITOR_INFO_2W
 58879  type PMONITOR_INFO_2W = uintptr
 58880  type LPMONITOR_INFO_2W = uintptr
 58881  
 58882  type MONITOR_INFO_2 = MONITOR_INFO_2A
 58883  type PMONITOR_INFO_2 = PMONITOR_INFO_2A
 58884  type LPMONITOR_INFO_2 = LPMONITOR_INFO_2A
 58885  
 58886  type _DATATYPES_INFO_1A = struct{ FpName LPSTR }
 58887  
 58888  type DATATYPES_INFO_1A = _DATATYPES_INFO_1A
 58889  type PDATATYPES_INFO_1A = uintptr
 58890  type LPDATATYPES_INFO_1A = uintptr
 58891  
 58892  type _DATATYPES_INFO_1W = struct{ FpName LPWSTR }
 58893  
 58894  type DATATYPES_INFO_1W = _DATATYPES_INFO_1W
 58895  type PDATATYPES_INFO_1W = uintptr
 58896  type LPDATATYPES_INFO_1W = uintptr
 58897  
 58898  type DATATYPES_INFO_1 = DATATYPES_INFO_1A
 58899  type PDATATYPES_INFO_1 = PDATATYPES_INFO_1A
 58900  type LPDATATYPES_INFO_1 = LPDATATYPES_INFO_1A
 58901  
 58902  type _PRINTER_DEFAULTSA = struct {
 58903  	FpDatatype     LPSTR
 58904  	FpDevMode      LPDEVMODEA
 58905  	FDesiredAccess ACCESS_MASK
 58906  	F__ccgo_pad1   [4]byte
 58907  }
 58908  
 58909  type PRINTER_DEFAULTSA = _PRINTER_DEFAULTSA
 58910  type PPRINTER_DEFAULTSA = uintptr
 58911  type LPPRINTER_DEFAULTSA = uintptr
 58912  
 58913  type _PRINTER_DEFAULTSW = struct {
 58914  	FpDatatype     LPWSTR
 58915  	FpDevMode      LPDEVMODEW
 58916  	FDesiredAccess ACCESS_MASK
 58917  	F__ccgo_pad1   [4]byte
 58918  }
 58919  
 58920  type PRINTER_DEFAULTSW = _PRINTER_DEFAULTSW
 58921  type PPRINTER_DEFAULTSW = uintptr
 58922  type LPPRINTER_DEFAULTSW = uintptr
 58923  
 58924  type PRINTER_DEFAULTS = PRINTER_DEFAULTSA
 58925  type PPRINTER_DEFAULTS = PPRINTER_DEFAULTSA
 58926  type LPPRINTER_DEFAULTS = LPPRINTER_DEFAULTSA
 58927  
 58928  type _PRINTER_ENUM_VALUESA = struct {
 58929  	FpValueName  LPSTR
 58930  	FcbValueName DWORD
 58931  	FdwType      DWORD
 58932  	FpData       LPBYTE
 58933  	FcbData      DWORD
 58934  	F__ccgo_pad1 [4]byte
 58935  }
 58936  
 58937  type PRINTER_ENUM_VALUESA = _PRINTER_ENUM_VALUESA
 58938  type PPRINTER_ENUM_VALUESA = uintptr
 58939  type LPPRINTER_ENUM_VALUESA = uintptr
 58940  
 58941  type _PRINTER_ENUM_VALUESW = struct {
 58942  	FpValueName  LPWSTR
 58943  	FcbValueName DWORD
 58944  	FdwType      DWORD
 58945  	FpData       LPBYTE
 58946  	FcbData      DWORD
 58947  	F__ccgo_pad1 [4]byte
 58948  }
 58949  
 58950  type PRINTER_ENUM_VALUESW = _PRINTER_ENUM_VALUESW
 58951  type PPRINTER_ENUM_VALUESW = uintptr
 58952  type LPPRINTER_ENUM_VALUESW = uintptr
 58953  
 58954  type PRINTER_ENUM_VALUES = PRINTER_ENUM_VALUESA
 58955  type PPRINTER_ENUM_VALUES = PPRINTER_ENUM_VALUESA
 58956  type LPPRINTER_ENUM_VALUES = LPPRINTER_ENUM_VALUESA
 58957  
 58958  type _PRINTER_NOTIFY_OPTIONS_TYPE = struct {
 58959  	FType      WORD
 58960  	FReserved0 WORD
 58961  	FReserved1 DWORD
 58962  	FReserved2 DWORD
 58963  	FCount     DWORD
 58964  	FpFields   PWORD
 58965  }
 58966  
 58967  type PRINTER_NOTIFY_OPTIONS_TYPE = _PRINTER_NOTIFY_OPTIONS_TYPE
 58968  type PPRINTER_NOTIFY_OPTIONS_TYPE = uintptr
 58969  type LPPRINTER_NOTIFY_OPTIONS_TYPE = uintptr
 58970  
 58971  type _PRINTER_NOTIFY_OPTIONS = struct {
 58972  	FVersion     DWORD
 58973  	FFlags       DWORD
 58974  	FCount       DWORD
 58975  	F__ccgo_pad1 [4]byte
 58976  	FpTypes      PPRINTER_NOTIFY_OPTIONS_TYPE
 58977  }
 58978  
 58979  type PRINTER_NOTIFY_OPTIONS = _PRINTER_NOTIFY_OPTIONS
 58980  type PPRINTER_NOTIFY_OPTIONS = uintptr
 58981  type LPPRINTER_NOTIFY_OPTIONS = uintptr
 58982  
 58983  type _PRINTER_NOTIFY_INFO_DATA = struct {
 58984  	FType        WORD
 58985  	FField       WORD
 58986  	FReserved    DWORD
 58987  	FId          DWORD
 58988  	F__ccgo_pad1 [4]byte
 58989  	FNotifyData  struct {
 58990  		F__ccgo_pad1 [0]uint64
 58991  		FadwData     [2]DWORD
 58992  		F__ccgo_pad2 [8]byte
 58993  	}
 58994  }
 58995  
 58996  type PRINTER_NOTIFY_INFO_DATA = _PRINTER_NOTIFY_INFO_DATA
 58997  type PPRINTER_NOTIFY_INFO_DATA = uintptr
 58998  type LPPRINTER_NOTIFY_INFO_DATA = uintptr
 58999  
 59000  type _PRINTER_NOTIFY_INFO = struct {
 59001  	FVersion     DWORD
 59002  	FFlags       DWORD
 59003  	FCount       DWORD
 59004  	F__ccgo_pad1 [4]byte
 59005  	FaData       [1]PRINTER_NOTIFY_INFO_DATA
 59006  }
 59007  
 59008  type PRINTER_NOTIFY_INFO = _PRINTER_NOTIFY_INFO
 59009  type PPRINTER_NOTIFY_INFO = uintptr
 59010  type LPPRINTER_NOTIFY_INFO = uintptr
 59011  
 59012  type _BINARY_CONTAINER = struct {
 59013  	FcbBuf       DWORD
 59014  	F__ccgo_pad1 [4]byte
 59015  	FpData       LPBYTE
 59016  }
 59017  
 59018  type BINARY_CONTAINER = _BINARY_CONTAINER
 59019  type PBINARY_CONTAINER = uintptr
 59020  
 59021  type _BIDI_DATA = struct {
 59022  	FdwBidiType  DWORD
 59023  	F__ccgo_pad1 [4]byte
 59024  	Fu           struct {
 59025  		F__ccgo_pad1 [0]uint64
 59026  		FbData       WINBOOL
 59027  		F__ccgo_pad2 [12]byte
 59028  	}
 59029  }
 59030  
 59031  type BIDI_DATA = _BIDI_DATA
 59032  type PBIDI_DATA = uintptr
 59033  type LPBIDI_DATA = uintptr
 59034  
 59035  type _BIDI_REQUEST_DATA = struct {
 59036  	FdwReqNumber DWORD
 59037  	F__ccgo_pad1 [4]byte
 59038  	FpSchema     LPWSTR
 59039  	Fdata        BIDI_DATA
 59040  }
 59041  
 59042  type BIDI_REQUEST_DATA = _BIDI_REQUEST_DATA
 59043  type PBIDI_REQUEST_DATA = uintptr
 59044  type LPBIDI_REQUEST_DATA = uintptr
 59045  
 59046  type _BIDI_REQUEST_CONTAINER = struct {
 59047  	FVersion     DWORD
 59048  	FFlags       DWORD
 59049  	FCount       DWORD
 59050  	F__ccgo_pad1 [4]byte
 59051  	FaData       [1]BIDI_REQUEST_DATA
 59052  }
 59053  
 59054  type BIDI_REQUEST_CONTAINER = _BIDI_REQUEST_CONTAINER
 59055  type PBIDI_REQUEST_CONTAINER = uintptr
 59056  type LPBIDI_REQUEST_CONTAINER = uintptr
 59057  
 59058  type _BIDI_RESPONSE_DATA = struct {
 59059  	FdwResult    DWORD
 59060  	FdwReqNumber DWORD
 59061  	FpSchema     LPWSTR
 59062  	Fdata        BIDI_DATA
 59063  }
 59064  
 59065  type BIDI_RESPONSE_DATA = _BIDI_RESPONSE_DATA
 59066  type PBIDI_RESPONSE_DATA = uintptr
 59067  type LPBIDI_RESPONSE_DATA = uintptr
 59068  
 59069  type _BIDI_RESPONSE_CONTAINER = struct {
 59070  	FVersion     DWORD
 59071  	FFlags       DWORD
 59072  	FCount       DWORD
 59073  	F__ccgo_pad1 [4]byte
 59074  	FaData       [1]BIDI_RESPONSE_DATA
 59075  }
 59076  
 59077  type BIDI_RESPONSE_CONTAINER = _BIDI_RESPONSE_CONTAINER
 59078  type PBIDI_RESPONSE_CONTAINER = uintptr
 59079  type LPBIDI_RESPONSE_CONTAINER = uintptr
 59080  
 59081  type BIDI_TYPE = uint32
 59082  
 59083  type _PROVIDOR_INFO_1A = struct {
 59084  	FpName        LPSTR
 59085  	FpEnvironment LPSTR
 59086  	FpDLLName     LPSTR
 59087  }
 59088  
 59089  type PROVIDOR_INFO_1A = _PROVIDOR_INFO_1A
 59090  type PPROVIDOR_INFO_1A = uintptr
 59091  type LPPROVIDOR_INFO_1A = uintptr
 59092  
 59093  type _PROVIDOR_INFO_1W = struct {
 59094  	FpName        LPWSTR
 59095  	FpEnvironment LPWSTR
 59096  	FpDLLName     LPWSTR
 59097  }
 59098  
 59099  type PROVIDOR_INFO_1W = _PROVIDOR_INFO_1W
 59100  type PPROVIDOR_INFO_1W = uintptr
 59101  type LPPROVIDOR_INFO_1W = uintptr
 59102  
 59103  type PROVIDOR_INFO_1 = PROVIDOR_INFO_1A
 59104  type PPROVIDOR_INFO_1 = PPROVIDOR_INFO_1A
 59105  type LPPROVIDOR_INFO_1 = LPPROVIDOR_INFO_1A
 59106  
 59107  type _PROVIDOR_INFO_2A = struct{ FpOrder LPSTR }
 59108  
 59109  type PROVIDOR_INFO_2A = _PROVIDOR_INFO_2A
 59110  type PPROVIDOR_INFO_2A = uintptr
 59111  type LPPROVIDOR_INFO_2A = uintptr
 59112  
 59113  type _PROVIDOR_INFO_2W = struct{ FpOrder LPWSTR }
 59114  
 59115  type PROVIDOR_INFO_2W = _PROVIDOR_INFO_2W
 59116  type PPROVIDOR_INFO_2W = uintptr
 59117  type LPPROVIDOR_INFO_2W = uintptr
 59118  
 59119  type PROVIDOR_INFO_2 = PROVIDOR_INFO_2A
 59120  type PPROVIDOR_INFO_2 = PPROVIDOR_INFO_2A
 59121  type LPPROVIDOR_INFO_2 = LPPROVIDOR_INFO_2A
 59122  
 59123  type LPOFNHOOKPROC = uintptr
 59124  
 59125  type tagOFN_NT4A = struct {
 59126  	FlStructSize       DWORD
 59127  	F__ccgo_pad1       [4]byte
 59128  	FhwndOwner         HWND
 59129  	FhInstance         HINSTANCE
 59130  	FlpstrFilter       LPCSTR
 59131  	FlpstrCustomFilter LPSTR
 59132  	FnMaxCustFilter    DWORD
 59133  	FnFilterIndex      DWORD
 59134  	FlpstrFile         LPSTR
 59135  	FnMaxFile          DWORD
 59136  	F__ccgo_pad2       [4]byte
 59137  	FlpstrFileTitle    LPSTR
 59138  	FnMaxFileTitle     DWORD
 59139  	F__ccgo_pad3       [4]byte
 59140  	FlpstrInitialDir   LPCSTR
 59141  	FlpstrTitle        LPCSTR
 59142  	FFlags             DWORD
 59143  	FnFileOffset       WORD
 59144  	FnFileExtension    WORD
 59145  	FlpstrDefExt       LPCSTR
 59146  	FlCustData         LPARAM
 59147  	FlpfnHook          LPOFNHOOKPROC
 59148  	FlpTemplateName    LPCSTR
 59149  }
 59150  
 59151  type OPENFILENAME_NT4A = tagOFN_NT4A
 59152  type LPOPENFILENAME_NT4A = uintptr
 59153  type tagOFN_NT4W = struct {
 59154  	FlStructSize       DWORD
 59155  	F__ccgo_pad1       [4]byte
 59156  	FhwndOwner         HWND
 59157  	FhInstance         HINSTANCE
 59158  	FlpstrFilter       LPCWSTR
 59159  	FlpstrCustomFilter LPWSTR
 59160  	FnMaxCustFilter    DWORD
 59161  	FnFilterIndex      DWORD
 59162  	FlpstrFile         LPWSTR
 59163  	FnMaxFile          DWORD
 59164  	F__ccgo_pad2       [4]byte
 59165  	FlpstrFileTitle    LPWSTR
 59166  	FnMaxFileTitle     DWORD
 59167  	F__ccgo_pad3       [4]byte
 59168  	FlpstrInitialDir   LPCWSTR
 59169  	FlpstrTitle        LPCWSTR
 59170  	FFlags             DWORD
 59171  	FnFileOffset       WORD
 59172  	FnFileExtension    WORD
 59173  	FlpstrDefExt       LPCWSTR
 59174  	FlCustData         LPARAM
 59175  	FlpfnHook          LPOFNHOOKPROC
 59176  	FlpTemplateName    LPCWSTR
 59177  }
 59178  
 59179  type OPENFILENAME_NT4W = tagOFN_NT4W
 59180  type LPOPENFILENAME_NT4W = uintptr
 59181  
 59182  type OPENFILENAME_NT4 = OPENFILENAME_NT4A
 59183  type LPOPENFILENAME_NT4 = LPOPENFILENAME_NT4A
 59184  
 59185  type tagOFNA = struct {
 59186  	FlStructSize       DWORD
 59187  	F__ccgo_pad1       [4]byte
 59188  	FhwndOwner         HWND
 59189  	FhInstance         HINSTANCE
 59190  	FlpstrFilter       LPCSTR
 59191  	FlpstrCustomFilter LPSTR
 59192  	FnMaxCustFilter    DWORD
 59193  	FnFilterIndex      DWORD
 59194  	FlpstrFile         LPSTR
 59195  	FnMaxFile          DWORD
 59196  	F__ccgo_pad2       [4]byte
 59197  	FlpstrFileTitle    LPSTR
 59198  	FnMaxFileTitle     DWORD
 59199  	F__ccgo_pad3       [4]byte
 59200  	FlpstrInitialDir   LPCSTR
 59201  	FlpstrTitle        LPCSTR
 59202  	FFlags             DWORD
 59203  	FnFileOffset       WORD
 59204  	FnFileExtension    WORD
 59205  	FlpstrDefExt       LPCSTR
 59206  	FlCustData         LPARAM
 59207  	FlpfnHook          LPOFNHOOKPROC
 59208  	FlpTemplateName    LPCSTR
 59209  	FpvReserved        uintptr
 59210  	FdwReserved        DWORD
 59211  	FFlagsEx           DWORD
 59212  }
 59213  
 59214  type OPENFILENAMEA = tagOFNA
 59215  type LPOPENFILENAMEA = uintptr
 59216  type tagOFNW = struct {
 59217  	FlStructSize       DWORD
 59218  	F__ccgo_pad1       [4]byte
 59219  	FhwndOwner         HWND
 59220  	FhInstance         HINSTANCE
 59221  	FlpstrFilter       LPCWSTR
 59222  	FlpstrCustomFilter LPWSTR
 59223  	FnMaxCustFilter    DWORD
 59224  	FnFilterIndex      DWORD
 59225  	FlpstrFile         LPWSTR
 59226  	FnMaxFile          DWORD
 59227  	F__ccgo_pad2       [4]byte
 59228  	FlpstrFileTitle    LPWSTR
 59229  	FnMaxFileTitle     DWORD
 59230  	F__ccgo_pad3       [4]byte
 59231  	FlpstrInitialDir   LPCWSTR
 59232  	FlpstrTitle        LPCWSTR
 59233  	FFlags             DWORD
 59234  	FnFileOffset       WORD
 59235  	FnFileExtension    WORD
 59236  	FlpstrDefExt       LPCWSTR
 59237  	FlCustData         LPARAM
 59238  	FlpfnHook          LPOFNHOOKPROC
 59239  	FlpTemplateName    LPCWSTR
 59240  	FpvReserved        uintptr
 59241  	FdwReserved        DWORD
 59242  	FFlagsEx           DWORD
 59243  }
 59244  
 59245  type OPENFILENAMEW = tagOFNW
 59246  type LPOPENFILENAMEW = uintptr
 59247  
 59248  type OPENFILENAME = OPENFILENAMEA
 59249  type LPOPENFILENAME = LPOPENFILENAMEA
 59250  
 59251  type LPCCHOOKPROC = uintptr
 59252  
 59253  type _OFNOTIFYA = struct {
 59254  	Fhdr     NMHDR
 59255  	FlpOFN   LPOPENFILENAMEA
 59256  	FpszFile LPSTR
 59257  }
 59258  
 59259  type OFNOTIFYA = _OFNOTIFYA
 59260  type LPOFNOTIFYA = uintptr
 59261  
 59262  type _OFNOTIFYW = struct {
 59263  	Fhdr     NMHDR
 59264  	FlpOFN   LPOPENFILENAMEW
 59265  	FpszFile LPWSTR
 59266  }
 59267  
 59268  type OFNOTIFYW = _OFNOTIFYW
 59269  type LPOFNOTIFYW = uintptr
 59270  
 59271  type OFNOTIFY = OFNOTIFYA
 59272  type LPOFNOTIFY = LPOFNOTIFYA
 59273  
 59274  type _OFNOTIFYEXA = struct {
 59275  	Fhdr   NMHDR
 59276  	FlpOFN LPOPENFILENAMEA
 59277  	Fpsf   LPVOID
 59278  	Fpidl  LPVOID
 59279  }
 59280  
 59281  type OFNOTIFYEXA = _OFNOTIFYEXA
 59282  type LPOFNOTIFYEXA = uintptr
 59283  
 59284  type _OFNOTIFYEXW = struct {
 59285  	Fhdr   NMHDR
 59286  	FlpOFN LPOPENFILENAMEW
 59287  	Fpsf   LPVOID
 59288  	Fpidl  LPVOID
 59289  }
 59290  
 59291  type OFNOTIFYEXW = _OFNOTIFYEXW
 59292  type LPOFNOTIFYEXW = uintptr
 59293  
 59294  type OFNOTIFYEX = OFNOTIFYEXA
 59295  type LPOFNOTIFYEX = LPOFNOTIFYEXA
 59296  
 59297  type tagCHOOSECOLORA = struct {
 59298  	FlStructSize    DWORD
 59299  	F__ccgo_pad1    [4]byte
 59300  	FhwndOwner      HWND
 59301  	FhInstance      HWND
 59302  	FrgbResult      COLORREF
 59303  	F__ccgo_pad2    [4]byte
 59304  	FlpCustColors   uintptr
 59305  	FFlags          DWORD
 59306  	F__ccgo_pad3    [4]byte
 59307  	FlCustData      LPARAM
 59308  	FlpfnHook       LPCCHOOKPROC
 59309  	FlpTemplateName LPCSTR
 59310  }
 59311  
 59312  type CHOOSECOLORA = tagCHOOSECOLORA
 59313  type LPCHOOSECOLORA = uintptr
 59314  type tagCHOOSECOLORW = struct {
 59315  	FlStructSize    DWORD
 59316  	F__ccgo_pad1    [4]byte
 59317  	FhwndOwner      HWND
 59318  	FhInstance      HWND
 59319  	FrgbResult      COLORREF
 59320  	F__ccgo_pad2    [4]byte
 59321  	FlpCustColors   uintptr
 59322  	FFlags          DWORD
 59323  	F__ccgo_pad3    [4]byte
 59324  	FlCustData      LPARAM
 59325  	FlpfnHook       LPCCHOOKPROC
 59326  	FlpTemplateName LPCWSTR
 59327  }
 59328  
 59329  type CHOOSECOLORW = tagCHOOSECOLORW
 59330  type LPCHOOSECOLORW = uintptr
 59331  
 59332  type CHOOSECOLOR = CHOOSECOLORA
 59333  type LPCHOOSECOLOR = LPCHOOSECOLORA
 59334  
 59335  type LPFRHOOKPROC = uintptr
 59336  
 59337  type tagFINDREPLACEA = struct {
 59338  	FlStructSize      DWORD
 59339  	F__ccgo_pad1      [4]byte
 59340  	FhwndOwner        HWND
 59341  	FhInstance        HINSTANCE
 59342  	FFlags            DWORD
 59343  	F__ccgo_pad2      [4]byte
 59344  	FlpstrFindWhat    LPSTR
 59345  	FlpstrReplaceWith LPSTR
 59346  	FwFindWhatLen     WORD
 59347  	FwReplaceWithLen  WORD
 59348  	F__ccgo_pad3      [4]byte
 59349  	FlCustData        LPARAM
 59350  	FlpfnHook         LPFRHOOKPROC
 59351  	FlpTemplateName   LPCSTR
 59352  }
 59353  
 59354  type FINDREPLACEA = tagFINDREPLACEA
 59355  type LPFINDREPLACEA = uintptr
 59356  
 59357  type tagFINDREPLACEW = struct {
 59358  	FlStructSize      DWORD
 59359  	F__ccgo_pad1      [4]byte
 59360  	FhwndOwner        HWND
 59361  	FhInstance        HINSTANCE
 59362  	FFlags            DWORD
 59363  	F__ccgo_pad2      [4]byte
 59364  	FlpstrFindWhat    LPWSTR
 59365  	FlpstrReplaceWith LPWSTR
 59366  	FwFindWhatLen     WORD
 59367  	FwReplaceWithLen  WORD
 59368  	F__ccgo_pad3      [4]byte
 59369  	FlCustData        LPARAM
 59370  	FlpfnHook         LPFRHOOKPROC
 59371  	FlpTemplateName   LPCWSTR
 59372  }
 59373  
 59374  type FINDREPLACEW = tagFINDREPLACEW
 59375  type LPFINDREPLACEW = uintptr
 59376  
 59377  type FINDREPLACE = FINDREPLACEA
 59378  type LPFINDREPLACE = LPFINDREPLACEA
 59379  
 59380  type LPCFHOOKPROC = uintptr
 59381  
 59382  type tagCHOOSEFONTA = struct {
 59383  	FlStructSize            DWORD
 59384  	F__ccgo_pad1            [4]byte
 59385  	FhwndOwner              HWND
 59386  	FhDC                    HDC
 59387  	FlpLogFont              LPLOGFONTA
 59388  	FiPointSize             INT
 59389  	FFlags                  DWORD
 59390  	FrgbColors              COLORREF
 59391  	F__ccgo_pad2            [4]byte
 59392  	FlCustData              LPARAM
 59393  	FlpfnHook               LPCFHOOKPROC
 59394  	FlpTemplateName         LPCSTR
 59395  	FhInstance              HINSTANCE
 59396  	FlpszStyle              LPSTR
 59397  	FnFontType              WORD
 59398  	F___MISSING_ALIGNMENT__ WORD
 59399  	FnSizeMin               INT
 59400  	FnSizeMax               INT
 59401  	F__ccgo_pad3            [4]byte
 59402  }
 59403  
 59404  type CHOOSEFONTA = tagCHOOSEFONTA
 59405  type LPCHOOSEFONTA = uintptr
 59406  
 59407  type tagCHOOSEFONTW = struct {
 59408  	FlStructSize            DWORD
 59409  	F__ccgo_pad1            [4]byte
 59410  	FhwndOwner              HWND
 59411  	FhDC                    HDC
 59412  	FlpLogFont              LPLOGFONTW
 59413  	FiPointSize             INT
 59414  	FFlags                  DWORD
 59415  	FrgbColors              COLORREF
 59416  	F__ccgo_pad2            [4]byte
 59417  	FlCustData              LPARAM
 59418  	FlpfnHook               LPCFHOOKPROC
 59419  	FlpTemplateName         LPCWSTR
 59420  	FhInstance              HINSTANCE
 59421  	FlpszStyle              LPWSTR
 59422  	FnFontType              WORD
 59423  	F___MISSING_ALIGNMENT__ WORD
 59424  	FnSizeMin               INT
 59425  	FnSizeMax               INT
 59426  	F__ccgo_pad3            [4]byte
 59427  }
 59428  
 59429  type CHOOSEFONTW = tagCHOOSEFONTW
 59430  type LPCHOOSEFONTW = uintptr
 59431  
 59432  type CHOOSEFONT = CHOOSEFONTA
 59433  type LPCHOOSEFONT = LPCHOOSEFONTA
 59434  
 59435  type LPPRINTHOOKPROC = uintptr
 59436  type LPSETUPHOOKPROC = uintptr
 59437  
 59438  type tagPDA = struct {
 59439  	FlStructSize         DWORD
 59440  	F__ccgo_pad1         [4]byte
 59441  	FhwndOwner           HWND
 59442  	FhDevMode            HGLOBAL
 59443  	FhDevNames           HGLOBAL
 59444  	FhDC                 HDC
 59445  	FFlags               DWORD
 59446  	FnFromPage           WORD
 59447  	FnToPage             WORD
 59448  	FnMinPage            WORD
 59449  	FnMaxPage            WORD
 59450  	FnCopies             WORD
 59451  	F__ccgo_pad2         [2]byte
 59452  	FhInstance           HINSTANCE
 59453  	FlCustData           LPARAM
 59454  	FlpfnPrintHook       LPPRINTHOOKPROC
 59455  	FlpfnSetupHook       LPSETUPHOOKPROC
 59456  	FlpPrintTemplateName LPCSTR
 59457  	FlpSetupTemplateName LPCSTR
 59458  	FhPrintTemplate      HGLOBAL
 59459  	FhSetupTemplate      HGLOBAL
 59460  }
 59461  
 59462  type PRINTDLGA = tagPDA
 59463  type LPPRINTDLGA = uintptr
 59464  
 59465  type tagPDW = struct {
 59466  	FlStructSize         DWORD
 59467  	F__ccgo_pad1         [4]byte
 59468  	FhwndOwner           HWND
 59469  	FhDevMode            HGLOBAL
 59470  	FhDevNames           HGLOBAL
 59471  	FhDC                 HDC
 59472  	FFlags               DWORD
 59473  	FnFromPage           WORD
 59474  	FnToPage             WORD
 59475  	FnMinPage            WORD
 59476  	FnMaxPage            WORD
 59477  	FnCopies             WORD
 59478  	F__ccgo_pad2         [2]byte
 59479  	FhInstance           HINSTANCE
 59480  	FlCustData           LPARAM
 59481  	FlpfnPrintHook       LPPRINTHOOKPROC
 59482  	FlpfnSetupHook       LPSETUPHOOKPROC
 59483  	FlpPrintTemplateName LPCWSTR
 59484  	FlpSetupTemplateName LPCWSTR
 59485  	FhPrintTemplate      HGLOBAL
 59486  	FhSetupTemplate      HGLOBAL
 59487  }
 59488  
 59489  type PRINTDLGW = tagPDW
 59490  type LPPRINTDLGW = uintptr
 59491  
 59492  type PRINTDLG = PRINTDLGA
 59493  type LPPRINTDLG = LPPRINTDLGA
 59494  
 59495  type IPrintDialogCallback1 = struct{ FlpVtbl uintptr }
 59496  
 59497  type IPrintDialogCallbackVtbl1 = struct {
 59498  	FQueryInterface  uintptr
 59499  	FAddRef          uintptr
 59500  	FRelease         uintptr
 59501  	FInitDone        uintptr
 59502  	FSelectionChange uintptr
 59503  	FHandleMessage   uintptr
 59504  }
 59505  
 59506  type IPrintDialogCallback = IPrintDialogCallback1
 59507  type IPrintDialogCallbackVtbl = IPrintDialogCallbackVtbl1
 59508  
 59509  type IPrintDialogServices1 = struct{ FlpVtbl uintptr }
 59510  
 59511  type IPrintDialogServicesVtbl1 = struct {
 59512  	FQueryInterface        uintptr
 59513  	FAddRef                uintptr
 59514  	FRelease               uintptr
 59515  	FGetCurrentDevMode     uintptr
 59516  	FGetCurrentPrinterName uintptr
 59517  	FGetCurrentPortName    uintptr
 59518  }
 59519  
 59520  type IPrintDialogServices = IPrintDialogServices1
 59521  type IPrintDialogServicesVtbl = IPrintDialogServicesVtbl1
 59522  
 59523  type tagPRINTPAGERANGE = struct {
 59524  	FnFromPage DWORD
 59525  	FnToPage   DWORD
 59526  }
 59527  
 59528  type PRINTPAGERANGE = tagPRINTPAGERANGE
 59529  type LPPRINTPAGERANGE = uintptr
 59530  
 59531  type tagPDEXA = struct {
 59532  	FlStructSize         DWORD
 59533  	F__ccgo_pad1         [4]byte
 59534  	FhwndOwner           HWND
 59535  	FhDevMode            HGLOBAL
 59536  	FhDevNames           HGLOBAL
 59537  	FhDC                 HDC
 59538  	FFlags               DWORD
 59539  	FFlags2              DWORD
 59540  	FExclusionFlags      DWORD
 59541  	FnPageRanges         DWORD
 59542  	FnMaxPageRanges      DWORD
 59543  	F__ccgo_pad2         [4]byte
 59544  	FlpPageRanges        LPPRINTPAGERANGE
 59545  	FnMinPage            DWORD
 59546  	FnMaxPage            DWORD
 59547  	FnCopies             DWORD
 59548  	F__ccgo_pad3         [4]byte
 59549  	FhInstance           HINSTANCE
 59550  	FlpPrintTemplateName LPCSTR
 59551  	FlpCallback          LPUNKNOWN
 59552  	FnPropertyPages      DWORD
 59553  	F__ccgo_pad4         [4]byte
 59554  	FlphPropertyPages    uintptr
 59555  	FnStartPage          DWORD
 59556  	FdwResultAction      DWORD
 59557  }
 59558  
 59559  type PRINTDLGEXA = tagPDEXA
 59560  type LPPRINTDLGEXA = uintptr
 59561  
 59562  type tagPDEXW = struct {
 59563  	FlStructSize         DWORD
 59564  	F__ccgo_pad1         [4]byte
 59565  	FhwndOwner           HWND
 59566  	FhDevMode            HGLOBAL
 59567  	FhDevNames           HGLOBAL
 59568  	FhDC                 HDC
 59569  	FFlags               DWORD
 59570  	FFlags2              DWORD
 59571  	FExclusionFlags      DWORD
 59572  	FnPageRanges         DWORD
 59573  	FnMaxPageRanges      DWORD
 59574  	F__ccgo_pad2         [4]byte
 59575  	FlpPageRanges        LPPRINTPAGERANGE
 59576  	FnMinPage            DWORD
 59577  	FnMaxPage            DWORD
 59578  	FnCopies             DWORD
 59579  	F__ccgo_pad3         [4]byte
 59580  	FhInstance           HINSTANCE
 59581  	FlpPrintTemplateName LPCWSTR
 59582  	FlpCallback          LPUNKNOWN
 59583  	FnPropertyPages      DWORD
 59584  	F__ccgo_pad4         [4]byte
 59585  	FlphPropertyPages    uintptr
 59586  	FnStartPage          DWORD
 59587  	FdwResultAction      DWORD
 59588  }
 59589  
 59590  type PRINTDLGEXW = tagPDEXW
 59591  type LPPRINTDLGEXW = uintptr
 59592  
 59593  type PRINTDLGEX = PRINTDLGEXA
 59594  type LPPRINTDLGEX = LPPRINTDLGEXA
 59595  
 59596  type tagDEVNAMES = struct {
 59597  	FwDriverOffset WORD
 59598  	FwDeviceOffset WORD
 59599  	FwOutputOffset WORD
 59600  	FwDefault      WORD
 59601  }
 59602  
 59603  type DEVNAMES = tagDEVNAMES
 59604  type LPDEVNAMES = uintptr
 59605  
 59606  type LPPAGEPAINTHOOK = uintptr
 59607  type LPPAGESETUPHOOK = uintptr
 59608  
 59609  type tagPSDA = struct {
 59610  	FlStructSize             DWORD
 59611  	F__ccgo_pad1             [4]byte
 59612  	FhwndOwner               HWND
 59613  	FhDevMode                HGLOBAL
 59614  	FhDevNames               HGLOBAL
 59615  	FFlags                   DWORD
 59616  	FptPaperSize             POINT
 59617  	FrtMinMargin             RECT
 59618  	FrtMargin                RECT
 59619  	F__ccgo_pad2             [4]byte
 59620  	FhInstance               HINSTANCE
 59621  	FlCustData               LPARAM
 59622  	FlpfnPageSetupHook       LPPAGESETUPHOOK
 59623  	FlpfnPagePaintHook       LPPAGEPAINTHOOK
 59624  	FlpPageSetupTemplateName LPCSTR
 59625  	FhPageSetupTemplate      HGLOBAL
 59626  }
 59627  
 59628  type PAGESETUPDLGA = tagPSDA
 59629  type LPPAGESETUPDLGA = uintptr
 59630  
 59631  type tagPSDW = struct {
 59632  	FlStructSize             DWORD
 59633  	F__ccgo_pad1             [4]byte
 59634  	FhwndOwner               HWND
 59635  	FhDevMode                HGLOBAL
 59636  	FhDevNames               HGLOBAL
 59637  	FFlags                   DWORD
 59638  	FptPaperSize             POINT
 59639  	FrtMinMargin             RECT
 59640  	FrtMargin                RECT
 59641  	F__ccgo_pad2             [4]byte
 59642  	FhInstance               HINSTANCE
 59643  	FlCustData               LPARAM
 59644  	FlpfnPageSetupHook       LPPAGESETUPHOOK
 59645  	FlpfnPagePaintHook       LPPAGEPAINTHOOK
 59646  	FlpPageSetupTemplateName LPCWSTR
 59647  	FhPageSetupTemplate      HGLOBAL
 59648  }
 59649  
 59650  type PAGESETUPDLGW = tagPSDW
 59651  type LPPAGESETUPDLGW = uintptr
 59652  
 59653  type PAGESETUPDLG = PAGESETUPDLGA
 59654  type LPPAGESETUPDLG = LPPAGESETUPDLGA
 59655  
 59656  type PUWSTR_C = uintptr
 59657  
 59658  type _SERVICE_DESCRIPTIONA = struct{ FlpDescription LPSTR }
 59659  
 59660  type SERVICE_DESCRIPTIONA = _SERVICE_DESCRIPTIONA
 59661  type LPSERVICE_DESCRIPTIONA = uintptr
 59662  
 59663  type _SERVICE_DESCRIPTIONW = struct{ FlpDescription LPWSTR }
 59664  
 59665  type SERVICE_DESCRIPTIONW = _SERVICE_DESCRIPTIONW
 59666  type LPSERVICE_DESCRIPTIONW = uintptr
 59667  
 59668  type SERVICE_DESCRIPTION = SERVICE_DESCRIPTIONA
 59669  type LPSERVICE_DESCRIPTION = LPSERVICE_DESCRIPTIONA
 59670  
 59671  type SC_ACTION_TYPE = uint32
 59672  
 59673  type _SC_ACTION = struct {
 59674  	FType  SC_ACTION_TYPE
 59675  	FDelay DWORD
 59676  }
 59677  
 59678  type SC_ACTION = _SC_ACTION
 59679  type LPSC_ACTION = uintptr
 59680  
 59681  type _SERVICE_FAILURE_ACTIONSA = struct {
 59682  	FdwResetPeriod DWORD
 59683  	F__ccgo_pad1   [4]byte
 59684  	FlpRebootMsg   LPSTR
 59685  	FlpCommand     LPSTR
 59686  	FcActions      DWORD
 59687  	F__ccgo_pad2   [4]byte
 59688  	FlpsaActions   uintptr
 59689  }
 59690  
 59691  type SERVICE_FAILURE_ACTIONSA = _SERVICE_FAILURE_ACTIONSA
 59692  type LPSERVICE_FAILURE_ACTIONSA = uintptr
 59693  
 59694  type _SERVICE_FAILURE_ACTIONSW = struct {
 59695  	FdwResetPeriod DWORD
 59696  	F__ccgo_pad1   [4]byte
 59697  	FlpRebootMsg   LPWSTR
 59698  	FlpCommand     LPWSTR
 59699  	FcActions      DWORD
 59700  	F__ccgo_pad2   [4]byte
 59701  	FlpsaActions   uintptr
 59702  }
 59703  
 59704  type SERVICE_FAILURE_ACTIONSW = _SERVICE_FAILURE_ACTIONSW
 59705  type LPSERVICE_FAILURE_ACTIONSW = uintptr
 59706  
 59707  type SERVICE_FAILURE_ACTIONS = SERVICE_FAILURE_ACTIONSA
 59708  type LPSERVICE_FAILURE_ACTIONS = LPSERVICE_FAILURE_ACTIONSA
 59709  
 59710  type SC_HANDLE__ = struct{ Funused int32 }
 59711  
 59712  type SC_HANDLE = uintptr
 59713  type LPSC_HANDLE = uintptr
 59714  
 59715  type SERVICE_STATUS_HANDLE__ = struct{ Funused int32 }
 59716  
 59717  type SERVICE_STATUS_HANDLE = uintptr
 59718  
 59719  type SC_STATUS_TYPE = uint32
 59720  
 59721  type SC_ENUM_TYPE = uint32
 59722  
 59723  type _SERVICE_STATUS = struct {
 59724  	FdwServiceType             DWORD
 59725  	FdwCurrentState            DWORD
 59726  	FdwControlsAccepted        DWORD
 59727  	FdwWin32ExitCode           DWORD
 59728  	FdwServiceSpecificExitCode DWORD
 59729  	FdwCheckPoint              DWORD
 59730  	FdwWaitHint                DWORD
 59731  }
 59732  
 59733  type SERVICE_STATUS = _SERVICE_STATUS
 59734  type LPSERVICE_STATUS = uintptr
 59735  
 59736  type _SERVICE_STATUS_PROCESS = struct {
 59737  	FdwServiceType             DWORD
 59738  	FdwCurrentState            DWORD
 59739  	FdwControlsAccepted        DWORD
 59740  	FdwWin32ExitCode           DWORD
 59741  	FdwServiceSpecificExitCode DWORD
 59742  	FdwCheckPoint              DWORD
 59743  	FdwWaitHint                DWORD
 59744  	FdwProcessId               DWORD
 59745  	FdwServiceFlags            DWORD
 59746  }
 59747  
 59748  type SERVICE_STATUS_PROCESS = _SERVICE_STATUS_PROCESS
 59749  type LPSERVICE_STATUS_PROCESS = uintptr
 59750  
 59751  type _ENUM_SERVICE_STATUSA = struct {
 59752  	FlpServiceName LPSTR
 59753  	FlpDisplayName LPSTR
 59754  	FServiceStatus SERVICE_STATUS
 59755  	F__ccgo_pad1   [4]byte
 59756  }
 59757  
 59758  type ENUM_SERVICE_STATUSA = _ENUM_SERVICE_STATUSA
 59759  type LPENUM_SERVICE_STATUSA = uintptr
 59760  
 59761  type _ENUM_SERVICE_STATUSW = struct {
 59762  	FlpServiceName LPWSTR
 59763  	FlpDisplayName LPWSTR
 59764  	FServiceStatus SERVICE_STATUS
 59765  	F__ccgo_pad1   [4]byte
 59766  }
 59767  
 59768  type ENUM_SERVICE_STATUSW = _ENUM_SERVICE_STATUSW
 59769  type LPENUM_SERVICE_STATUSW = uintptr
 59770  
 59771  type ENUM_SERVICE_STATUS = ENUM_SERVICE_STATUSA
 59772  type LPENUM_SERVICE_STATUS = LPENUM_SERVICE_STATUSA
 59773  
 59774  type _ENUM_SERVICE_STATUS_PROCESSA = struct {
 59775  	FlpServiceName        LPSTR
 59776  	FlpDisplayName        LPSTR
 59777  	FServiceStatusProcess SERVICE_STATUS_PROCESS
 59778  	F__ccgo_pad1          [4]byte
 59779  }
 59780  
 59781  type ENUM_SERVICE_STATUS_PROCESSA = _ENUM_SERVICE_STATUS_PROCESSA
 59782  type LPENUM_SERVICE_STATUS_PROCESSA = uintptr
 59783  
 59784  type _ENUM_SERVICE_STATUS_PROCESSW = struct {
 59785  	FlpServiceName        LPWSTR
 59786  	FlpDisplayName        LPWSTR
 59787  	FServiceStatusProcess SERVICE_STATUS_PROCESS
 59788  	F__ccgo_pad1          [4]byte
 59789  }
 59790  
 59791  type ENUM_SERVICE_STATUS_PROCESSW = _ENUM_SERVICE_STATUS_PROCESSW
 59792  type LPENUM_SERVICE_STATUS_PROCESSW = uintptr
 59793  
 59794  type ENUM_SERVICE_STATUS_PROCESS = ENUM_SERVICE_STATUS_PROCESSA
 59795  type LPENUM_SERVICE_STATUS_PROCESS = LPENUM_SERVICE_STATUS_PROCESSA
 59796  
 59797  type SC_LOCK = LPVOID
 59798  
 59799  type _QUERY_SERVICE_LOCK_STATUSA = struct {
 59800  	FfIsLocked      DWORD
 59801  	F__ccgo_pad1    [4]byte
 59802  	FlpLockOwner    LPSTR
 59803  	FdwLockDuration DWORD
 59804  	F__ccgo_pad2    [4]byte
 59805  }
 59806  
 59807  type QUERY_SERVICE_LOCK_STATUSA = _QUERY_SERVICE_LOCK_STATUSA
 59808  type LPQUERY_SERVICE_LOCK_STATUSA = uintptr
 59809  
 59810  type _QUERY_SERVICE_LOCK_STATUSW = struct {
 59811  	FfIsLocked      DWORD
 59812  	F__ccgo_pad1    [4]byte
 59813  	FlpLockOwner    LPWSTR
 59814  	FdwLockDuration DWORD
 59815  	F__ccgo_pad2    [4]byte
 59816  }
 59817  
 59818  type QUERY_SERVICE_LOCK_STATUSW = _QUERY_SERVICE_LOCK_STATUSW
 59819  type LPQUERY_SERVICE_LOCK_STATUSW = uintptr
 59820  
 59821  type QUERY_SERVICE_LOCK_STATUS = QUERY_SERVICE_LOCK_STATUSA
 59822  type LPQUERY_SERVICE_LOCK_STATUS = LPQUERY_SERVICE_LOCK_STATUSA
 59823  
 59824  type _QUERY_SERVICE_CONFIGA = struct {
 59825  	FdwServiceType      DWORD
 59826  	FdwStartType        DWORD
 59827  	FdwErrorControl     DWORD
 59828  	F__ccgo_pad1        [4]byte
 59829  	FlpBinaryPathName   LPSTR
 59830  	FlpLoadOrderGroup   LPSTR
 59831  	FdwTagId            DWORD
 59832  	F__ccgo_pad2        [4]byte
 59833  	FlpDependencies     LPSTR
 59834  	FlpServiceStartName LPSTR
 59835  	FlpDisplayName      LPSTR
 59836  }
 59837  
 59838  type QUERY_SERVICE_CONFIGA = _QUERY_SERVICE_CONFIGA
 59839  type LPQUERY_SERVICE_CONFIGA = uintptr
 59840  
 59841  type _QUERY_SERVICE_CONFIGW = struct {
 59842  	FdwServiceType      DWORD
 59843  	FdwStartType        DWORD
 59844  	FdwErrorControl     DWORD
 59845  	F__ccgo_pad1        [4]byte
 59846  	FlpBinaryPathName   LPWSTR
 59847  	FlpLoadOrderGroup   LPWSTR
 59848  	FdwTagId            DWORD
 59849  	F__ccgo_pad2        [4]byte
 59850  	FlpDependencies     LPWSTR
 59851  	FlpServiceStartName LPWSTR
 59852  	FlpDisplayName      LPWSTR
 59853  }
 59854  
 59855  type QUERY_SERVICE_CONFIGW = _QUERY_SERVICE_CONFIGW
 59856  type LPQUERY_SERVICE_CONFIGW = uintptr
 59857  
 59858  type QUERY_SERVICE_CONFIG = QUERY_SERVICE_CONFIGA
 59859  type LPQUERY_SERVICE_CONFIG = LPQUERY_SERVICE_CONFIGA
 59860  
 59861  type LPSERVICE_MAIN_FUNCTIONW = uintptr
 59862  type LPSERVICE_MAIN_FUNCTIONA = uintptr
 59863  
 59864  type _SERVICE_TABLE_ENTRYA = struct {
 59865  	FlpServiceName LPSTR
 59866  	FlpServiceProc LPSERVICE_MAIN_FUNCTIONA
 59867  }
 59868  
 59869  type SERVICE_TABLE_ENTRYA = _SERVICE_TABLE_ENTRYA
 59870  type LPSERVICE_TABLE_ENTRYA = uintptr
 59871  
 59872  type _SERVICE_TABLE_ENTRYW = struct {
 59873  	FlpServiceName LPWSTR
 59874  	FlpServiceProc LPSERVICE_MAIN_FUNCTIONW
 59875  }
 59876  
 59877  type SERVICE_TABLE_ENTRYW = _SERVICE_TABLE_ENTRYW
 59878  type LPSERVICE_TABLE_ENTRYW = uintptr
 59879  
 59880  type SERVICE_TABLE_ENTRY = SERVICE_TABLE_ENTRYA
 59881  type LPSERVICE_TABLE_ENTRY = LPSERVICE_TABLE_ENTRYA
 59882  
 59883  type LPHANDLER_FUNCTION = uintptr
 59884  type LPHANDLER_FUNCTION_EX = uintptr
 59885  
 59886  type _MODEMDEVCAPS = struct {
 59887  	FdwActualSize              DWORD
 59888  	FdwRequiredSize            DWORD
 59889  	FdwDevSpecificOffset       DWORD
 59890  	FdwDevSpecificSize         DWORD
 59891  	FdwModemProviderVersion    DWORD
 59892  	FdwModemManufacturerOffset DWORD
 59893  	FdwModemManufacturerSize   DWORD
 59894  	FdwModemModelOffset        DWORD
 59895  	FdwModemModelSize          DWORD
 59896  	FdwModemVersionOffset      DWORD
 59897  	FdwModemVersionSize        DWORD
 59898  	FdwDialOptions             DWORD
 59899  	FdwCallSetupFailTimer      DWORD
 59900  	FdwInactivityTimeout       DWORD
 59901  	FdwSpeakerVolume           DWORD
 59902  	FdwSpeakerMode             DWORD
 59903  	FdwModemOptions            DWORD
 59904  	FdwMaxDTERate              DWORD
 59905  	FdwMaxDCERate              DWORD
 59906  	FabVariablePortion         [1]BYTE
 59907  	F__ccgo_pad1               [3]byte
 59908  }
 59909  
 59910  type MODEMDEVCAPS = _MODEMDEVCAPS
 59911  type PMODEMDEVCAPS = uintptr
 59912  type LPMODEMDEVCAPS = uintptr
 59913  
 59914  type _MODEMSETTINGS = struct {
 59915  	FdwActualSize             DWORD
 59916  	FdwRequiredSize           DWORD
 59917  	FdwDevSpecificOffset      DWORD
 59918  	FdwDevSpecificSize        DWORD
 59919  	FdwCallSetupFailTimer     DWORD
 59920  	FdwInactivityTimeout      DWORD
 59921  	FdwSpeakerVolume          DWORD
 59922  	FdwSpeakerMode            DWORD
 59923  	FdwPreferredModemOptions  DWORD
 59924  	FdwNegotiatedModemOptions DWORD
 59925  	FdwNegotiatedDCERate      DWORD
 59926  	FabVariablePortion        [1]BYTE
 59927  	F__ccgo_pad1              [3]byte
 59928  }
 59929  
 59930  type MODEMSETTINGS = _MODEMSETTINGS
 59931  type PMODEMSETTINGS = uintptr
 59932  type LPMODEMSETTINGS = uintptr
 59933  
 59934  type HIMC__ = struct{ Funused int32 }
 59935  
 59936  type HIMC = uintptr
 59937  type HIMCC__ = struct{ Funused int32 }
 59938  
 59939  type HIMCC = uintptr
 59940  
 59941  type LPHKL = uintptr
 59942  
 59943  type tagCOMPOSITIONFORM = struct {
 59944  	FdwStyle      DWORD
 59945  	FptCurrentPos POINT
 59946  	FrcArea       RECT
 59947  }
 59948  
 59949  type COMPOSITIONFORM = tagCOMPOSITIONFORM
 59950  type PCOMPOSITIONFORM = uintptr
 59951  type NPCOMPOSITIONFORM = uintptr
 59952  type LPCOMPOSITIONFORM = uintptr
 59953  
 59954  type tagCANDIDATEFORM = struct {
 59955  	FdwIndex      DWORD
 59956  	FdwStyle      DWORD
 59957  	FptCurrentPos POINT
 59958  	FrcArea       RECT
 59959  }
 59960  
 59961  type CANDIDATEFORM = tagCANDIDATEFORM
 59962  type PCANDIDATEFORM = uintptr
 59963  type NPCANDIDATEFORM = uintptr
 59964  type LPCANDIDATEFORM = uintptr
 59965  
 59966  type tagCANDIDATELIST = struct {
 59967  	FdwSize      DWORD
 59968  	FdwStyle     DWORD
 59969  	FdwCount     DWORD
 59970  	FdwSelection DWORD
 59971  	FdwPageStart DWORD
 59972  	FdwPageSize  DWORD
 59973  	FdwOffset    [1]DWORD
 59974  }
 59975  
 59976  type CANDIDATELIST = tagCANDIDATELIST
 59977  type PCANDIDATELIST = uintptr
 59978  type NPCANDIDATELIST = uintptr
 59979  type LPCANDIDATELIST = uintptr
 59980  
 59981  type tagREGISTERWORDA = struct {
 59982  	FlpReading LPSTR
 59983  	FlpWord    LPSTR
 59984  }
 59985  
 59986  type REGISTERWORDA = tagREGISTERWORDA
 59987  type PREGISTERWORDA = uintptr
 59988  type NPREGISTERWORDA = uintptr
 59989  type LPREGISTERWORDA = uintptr
 59990  
 59991  type tagREGISTERWORDW = struct {
 59992  	FlpReading LPWSTR
 59993  	FlpWord    LPWSTR
 59994  }
 59995  
 59996  type REGISTERWORDW = tagREGISTERWORDW
 59997  type PREGISTERWORDW = uintptr
 59998  type NPREGISTERWORDW = uintptr
 59999  type LPREGISTERWORDW = uintptr
 60000  
 60001  type REGISTERWORD = REGISTERWORDA
 60002  type PREGISTERWORD = PREGISTERWORDA
 60003  type NPREGISTERWORD = NPREGISTERWORDA
 60004  type LPREGISTERWORD = LPREGISTERWORDA
 60005  
 60006  type tagRECONVERTSTRING = struct {
 60007  	FdwSize            DWORD
 60008  	FdwVersion         DWORD
 60009  	FdwStrLen          DWORD
 60010  	FdwStrOffset       DWORD
 60011  	FdwCompStrLen      DWORD
 60012  	FdwCompStrOffset   DWORD
 60013  	FdwTargetStrLen    DWORD
 60014  	FdwTargetStrOffset DWORD
 60015  }
 60016  
 60017  type RECONVERTSTRING = tagRECONVERTSTRING
 60018  type PRECONVERTSTRING = uintptr
 60019  type NPRECONVERTSTRING = uintptr
 60020  type LPRECONVERTSTRING = uintptr
 60021  
 60022  type tagSTYLEBUFA = struct {
 60023  	FdwStyle       DWORD
 60024  	FszDescription [32]CHAR
 60025  }
 60026  
 60027  type STYLEBUFA = tagSTYLEBUFA
 60028  type PSTYLEBUFA = uintptr
 60029  type NPSTYLEBUFA = uintptr
 60030  type LPSTYLEBUFA = uintptr
 60031  
 60032  type tagSTYLEBUFW = struct {
 60033  	FdwStyle       DWORD
 60034  	FszDescription [32]WCHAR
 60035  }
 60036  
 60037  type STYLEBUFW = tagSTYLEBUFW
 60038  type PSTYLEBUFW = uintptr
 60039  type NPSTYLEBUFW = uintptr
 60040  type LPSTYLEBUFW = uintptr
 60041  
 60042  type STYLEBUF = STYLEBUFA
 60043  type PSTYLEBUF = PSTYLEBUFA
 60044  type NPSTYLEBUF = NPSTYLEBUFA
 60045  type LPSTYLEBUF = LPSTYLEBUFA
 60046  
 60047  type tagIMEMENUITEMINFOA = struct {
 60048  	FcbSize        UINT
 60049  	FfType         UINT
 60050  	FfState        UINT
 60051  	FwID           UINT
 60052  	FhbmpChecked   HBITMAP
 60053  	FhbmpUnchecked HBITMAP
 60054  	FdwItemData    DWORD
 60055  	FszString      [80]CHAR
 60056  	F__ccgo_pad1   [4]byte
 60057  	FhbmpItem      HBITMAP
 60058  }
 60059  
 60060  type IMEMENUITEMINFOA = tagIMEMENUITEMINFOA
 60061  type PIMEMENUITEMINFOA = uintptr
 60062  type NPIMEMENUITEMINFOA = uintptr
 60063  type LPIMEMENUITEMINFOA = uintptr
 60064  
 60065  type tagIMEMENUITEMINFOW = struct {
 60066  	FcbSize        UINT
 60067  	FfType         UINT
 60068  	FfState        UINT
 60069  	FwID           UINT
 60070  	FhbmpChecked   HBITMAP
 60071  	FhbmpUnchecked HBITMAP
 60072  	FdwItemData    DWORD
 60073  	FszString      [80]WCHAR
 60074  	F__ccgo_pad1   [4]byte
 60075  	FhbmpItem      HBITMAP
 60076  }
 60077  
 60078  type IMEMENUITEMINFOW = tagIMEMENUITEMINFOW
 60079  type PIMEMENUITEMINFOW = uintptr
 60080  type NPIMEMENUITEMINFOW = uintptr
 60081  type LPIMEMENUITEMINFOW = uintptr
 60082  
 60083  type IMEMENUITEMINFO = IMEMENUITEMINFOA
 60084  type PIMEMENUITEMINFO = PIMEMENUITEMINFOA
 60085  type NPIMEMENUITEMINFO = NPIMEMENUITEMINFOA
 60086  type LPIMEMENUITEMINFO = LPIMEMENUITEMINFOA
 60087  
 60088  type tagIMECHARPOSITION = struct {
 60089  	FdwSize      DWORD
 60090  	FdwCharPos   DWORD
 60091  	Fpt          POINT
 60092  	FcLineHeight UINT
 60093  	FrcDocument  RECT
 60094  }
 60095  
 60096  type IMECHARPOSITION = tagIMECHARPOSITION
 60097  type PIMECHARPOSITION = uintptr
 60098  type NPIMECHARPOSITION = uintptr
 60099  type LPIMECHARPOSITION = uintptr
 60100  
 60101  type IMCENUMPROC = uintptr
 60102  
 60103  type REGISTERWORDENUMPROCA = uintptr
 60104  type REGISTERWORDENUMPROCW = uintptr
 60105  
 60106  type _diskfree_t = struct {
 60107  	Ftotal_clusters      uint32
 60108  	Favail_clusters      uint32
 60109  	Fsectors_per_cluster uint32
 60110  	Fbytes_per_sector    uint32
 60111  }
 60112  
 60113  type DIRENT1 = struct {
 60114  	Fd_ino        ino_t
 60115  	F__ccgo_pad1  [2]byte
 60116  	Fd_attributes uint32
 60117  	Fd_name       [261]int8
 60118  	F__ccgo_pad2  [3]byte
 60119  }
 60120  
 60121  type DIRENT = DIRENT1
 60122  type LPDIRENT = uintptr
 60123  
 60124  type DIR1 = struct {
 60125  	Fd_handle intptr_t
 60126  	Fd_first  DIRENT
 60127  	Fd_next   DIRENT
 60128  }
 60129  
 60130  type DIR = DIR1
 60131  type LPDIR = uintptr
 60132  
 60133  type clock_t = int32
 60134  
 60135  type tm = struct {
 60136  	Ftm_sec   int32
 60137  	Ftm_min   int32
 60138  	Ftm_hour  int32
 60139  	Ftm_mday  int32
 60140  	Ftm_mon   int32
 60141  	Ftm_year  int32
 60142  	Ftm_wday  int32
 60143  	Ftm_yday  int32
 60144  	Ftm_isdst int32
 60145  }
 60146  
 60147  var daylight int32
 60148  var timezone int32
 60149  var tzname [2]uintptr
 60150  
 60151  type timezone1 = struct {
 60152  	Ftz_minuteswest int32
 60153  	Ftz_dsttime     int32
 60154  }
 60155  
 60156  type __timeb32 = struct {
 60157  	Ftime        int32
 60158  	Fmillitm     uint16
 60159  	Ftimezone    int16
 60160  	Fdstflag     int16
 60161  	F__ccgo_pad1 [2]byte
 60162  }
 60163  
 60164  type timeb = struct {
 60165  	Ftime        time_t
 60166  	Fmillitm     uint16
 60167  	Ftimezone    int16
 60168  	Fdstflag     int16
 60169  	F__ccgo_pad1 [2]byte
 60170  }
 60171  
 60172  type __timeb64 = struct {
 60173  	Ftime        int64
 60174  	Fmillitm     uint16
 60175  	Ftimezone    int16
 60176  	Fdstflag     int16
 60177  	F__ccgo_pad1 [2]byte
 60178  }
 60179  
 60180  type clockid_t = int32
 60181  
 60182  func readFileContents(tls *libc.TLS, ctx uintptr, zName uintptr) {
 60183  	var in uintptr
 60184  	var nIn sqlite3_int64
 60185  	var pBuf uintptr
 60186  	var db uintptr
 60187  	var mxBlob int32
 60188  
 60189  	in = libc.Xfopen(tls, zName, ts+4402)
 60190  	if in == uintptr(0) {
 60191  		return
 60192  	}
 60193  	libc.Xfseek(tls, in, 0, SEEK_END)
 60194  	nIn = sqlite3_int64(libc.Xftell(tls, in))
 60195  	libc.Xrewind(tls, in)
 60196  	db = sqlite3.Xsqlite3_context_db_handle(tls, ctx)
 60197  	mxBlob = sqlite3.Xsqlite3_limit(tls, db, SQLITE_LIMIT_LENGTH, -1)
 60198  	if nIn > sqlite3_int64(mxBlob) {
 60199  		sqlite3.Xsqlite3_result_error_code(tls, ctx, SQLITE_TOOBIG)
 60200  		libc.Xfclose(tls, in)
 60201  		return
 60202  	}
 60203  	pBuf = sqlite3.Xsqlite3_malloc64(tls, func() uint64 {
 60204  		if nIn != 0 {
 60205  			return uint64(nIn)
 60206  		}
 60207  		return uint64(1)
 60208  	}())
 60209  	if pBuf == uintptr(0) {
 60210  		sqlite3.Xsqlite3_result_error_nomem(tls, ctx)
 60211  		libc.Xfclose(tls, in)
 60212  		return
 60213  	}
 60214  	if nIn == sqlite3_int64(libc.Xfread(tls, pBuf, uint64(1), size_t(nIn), in)) {
 60215  		sqlite3.Xsqlite3_result_blob64(tls, ctx, pBuf, uint64(nIn), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sqlite3.Xsqlite3_free})))
 60216  	} else {
 60217  		sqlite3.Xsqlite3_result_error_code(tls, ctx, SQLITE_IOERR)
 60218  		sqlite3.Xsqlite3_free(tls, pBuf)
 60219  	}
 60220  	libc.Xfclose(tls, in)
 60221  }
 60222  
 60223  func readfileFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 60224  	var zName uintptr
 60225  	_ = argc
 60226  	zName = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv)))
 60227  	if zName == uintptr(0) {
 60228  		return
 60229  	}
 60230  	readFileContents(tls, context, zName)
 60231  }
 60232  
 60233  func ctxErrorMsg(tls *libc.TLS, ctx uintptr, zFmt uintptr, va uintptr) {
 60234  	var zMsg uintptr = uintptr(0)
 60235  	var ap va_list
 60236  	_ = ap
 60237  	ap = va
 60238  	zMsg = sqlite3.Xsqlite3_vmprintf(tls, zFmt, ap)
 60239  	sqlite3.Xsqlite3_result_error(tls, ctx, zMsg, -1)
 60240  	sqlite3.Xsqlite3_free(tls, zMsg)
 60241  	_ = ap
 60242  }
 60243  
 60244  func fileTimeToUnixTime(tls *libc.TLS, pFileTime LPFILETIME) sqlite3_uint64 {
 60245  	bp := tls.Alloc(40)
 60246  	defer tls.Free(40)
 60247  
 60248  	libc.Xmemset(tls, bp, 0, uint64(unsafe.Sizeof(SYSTEMTIME{})))
 60249  	(*SYSTEMTIME)(unsafe.Pointer(bp)).FwYear = WORD(1970)
 60250  	(*SYSTEMTIME)(unsafe.Pointer(bp)).FwMonth = WORD(1)
 60251  	(*SYSTEMTIME)(unsafe.Pointer(bp)).FwDay = WORD(1)
 60252  	libc.XSystemTimeToFileTime(tls, bp, bp+16)
 60253  	*(*DWORD)(unsafe.Pointer(bp + 24)) = (*FILETIME)(unsafe.Pointer(bp + 16)).FdwLowDateTime
 60254  	*(*DWORD)(unsafe.Pointer(bp + 24)) = (*FILETIME)(unsafe.Pointer(bp + 16)).FdwHighDateTime
 60255  
 60256  	*(*DWORD)(unsafe.Pointer(bp + 32)) = (*_FILETIME)(unsafe.Pointer(pFileTime)).FdwLowDateTime
 60257  	*(*DWORD)(unsafe.Pointer(bp + 32)) = (*_FILETIME)(unsafe.Pointer(pFileTime)).FdwHighDateTime
 60258  
 60259  	return (*(*ULONGLONG)(unsafe.Pointer(bp + 32)) - *(*ULONGLONG)(unsafe.Pointer(bp + 24))) / uint64(10000000)
 60260  }
 60261  
 60262  func statTimesToUtc(tls *libc.TLS, zPath uintptr, pStatBuf uintptr) {
 60263  	bp := tls.Alloc(592)
 60264  	defer tls.Free(592)
 60265  
 60266  	var hFindFile HANDLE
 60267  
 60268  	var zUnicodeName LPWSTR
 60269  	zUnicodeName = sqlite3.Xsqlite3_win32_utf8_to_unicode(tls, zPath)
 60270  	if zUnicodeName != 0 {
 60271  		libc.Xmemset(tls, bp, 0, uint64(unsafe.Sizeof(WIN32_FIND_DATAW{})))
 60272  		hFindFile = libc.XFindFirstFileW(tls, zUnicodeName, bp)
 60273  		if hFindFile != uintptr(0) {
 60274  			(*_stat64)(unsafe.Pointer(pStatBuf)).Fst_ctime = time_t(fileTimeToUnixTime(tls, bp+4))
 60275  			(*_stat64)(unsafe.Pointer(pStatBuf)).Fst_atime = time_t(fileTimeToUnixTime(tls, bp+12))
 60276  			(*_stat64)(unsafe.Pointer(pStatBuf)).Fst_mtime = time_t(fileTimeToUnixTime(tls, bp+20))
 60277  			libc.XFindClose(tls, hFindFile)
 60278  		}
 60279  		sqlite3.Xsqlite3_free(tls, zUnicodeName)
 60280  	}
 60281  }
 60282  
 60283  func fileStat(tls *libc.TLS, zPath uintptr, pStatBuf uintptr) int32 {
 60284  	var rc int32 = libc.X_stat64(tls, zPath, pStatBuf)
 60285  	if rc == 0 {
 60286  		statTimesToUtc(tls, zPath, pStatBuf)
 60287  	}
 60288  	return rc
 60289  }
 60290  
 60291  func fileLinkStat(tls *libc.TLS, zPath uintptr, pStatBuf uintptr) int32 {
 60292  	var rc int32 = libc.X_stat64(tls, zPath, pStatBuf)
 60293  	if rc == 0 {
 60294  		statTimesToUtc(tls, zPath, pStatBuf)
 60295  	}
 60296  	return rc
 60297  }
 60298  
 60299  func makeDirectory(tls *libc.TLS, zFile uintptr) int32 {
 60300  	bp := tls.Alloc(64)
 60301  	defer tls.Free(64)
 60302  
 60303  	var zCopy uintptr = sqlite3.Xsqlite3_mprintf(tls, ts, libc.VaList(bp, zFile))
 60304  	var rc int32 = SQLITE_OK
 60305  
 60306  	if zCopy == uintptr(0) {
 60307  		rc = SQLITE_NOMEM
 60308  	} else {
 60309  		var nCopy int32 = int32(libc.Xstrlen(tls, zCopy))
 60310  		var i int32 = 1
 60311  
 60312  		for rc == SQLITE_OK {
 60313  			var rc2 int32
 60314  
 60315  			for ; int32(*(*int8)(unsafe.Pointer(zCopy + uintptr(i)))) != '/' && i < nCopy; i++ {
 60316  			}
 60317  			if i == nCopy {
 60318  				break
 60319  			}
 60320  			*(*int8)(unsafe.Pointer(zCopy + uintptr(i))) = int8(0)
 60321  
 60322  			rc2 = fileStat(tls, zCopy, bp+8)
 60323  			if rc2 != 0 {
 60324  				if libc.X_mkdir(tls, zCopy) != 0 {
 60325  					rc = SQLITE_ERROR
 60326  				}
 60327  			} else {
 60328  				if !(int32((*_stat64)(unsafe.Pointer(bp+8)).Fst_mode)&X_S_IFMT == X_S_IFDIR) {
 60329  					rc = SQLITE_ERROR
 60330  				}
 60331  			}
 60332  			*(*int8)(unsafe.Pointer(zCopy + uintptr(i))) = int8('/')
 60333  			i++
 60334  		}
 60335  
 60336  		sqlite3.Xsqlite3_free(tls, zCopy)
 60337  	}
 60338  
 60339  	return rc
 60340  }
 60341  
 60342  func writeFile(tls *libc.TLS, pCtx uintptr, zFile uintptr, pData uintptr, mode mode_t, mtime sqlite3_int64) int32 {
 60343  	bp := tls.Alloc(88)
 60344  	defer tls.Free(88)
 60345  
 60346  	if zFile == uintptr(0) {
 60347  		return 1
 60348  	}
 60349  	{
 60350  		if int32(mode)&X_S_IFMT == X_S_IFDIR {
 60351  			if libc.X_mkdir(tls, zFile) != 0 {
 60352  				if *(*int32)(unsafe.Pointer(libc.X_errno(tls))) != EEXIST ||
 60353  					0 != fileStat(tls, zFile, bp) ||
 60354  					!(int32((*_stat64)(unsafe.Pointer(bp)).Fst_mode)&X_S_IFMT == X_S_IFDIR) ||
 60355  					int32((*_stat64)(unsafe.Pointer(bp)).Fst_mode)&0777 != int32(mode)&0777 && 0 != libc.X_chmod(tls, zFile, int32(mode)&0777) {
 60356  					return 1
 60357  				}
 60358  			}
 60359  		} else {
 60360  			var nWrite sqlite3_int64 = int64(0)
 60361  			var z uintptr
 60362  			var rc int32 = 0
 60363  			var out uintptr = libc.Xfopen(tls, zFile, ts+4982)
 60364  			if out == uintptr(0) {
 60365  				return 1
 60366  			}
 60367  			z = sqlite3.Xsqlite3_value_blob(tls, pData)
 60368  			if z != 0 {
 60369  				var n sqlite3_int64 = sqlite3_int64(libc.Xfwrite(tls, z, uint64(1), uint64(sqlite3.Xsqlite3_value_bytes(tls, pData)), out))
 60370  				nWrite = sqlite3_int64(sqlite3.Xsqlite3_value_bytes(tls, pData))
 60371  				if nWrite != n {
 60372  					rc = 1
 60373  				}
 60374  			}
 60375  			libc.Xfclose(tls, out)
 60376  			if rc == 0 && mode != 0 && libc.X_chmod(tls, zFile, int32(mode)&0777) != 0 {
 60377  				rc = 1
 60378  			}
 60379  			if rc != 0 {
 60380  				return 2
 60381  			}
 60382  			sqlite3.Xsqlite3_result_int64(tls, pCtx, nWrite)
 60383  		}
 60384  
 60385  	}
 60386  
 60387  	if mtime >= int64(0) {
 60388  		var intervals LONGLONG
 60389  		var hFile HANDLE
 60390  		var zUnicodeName LPWSTR
 60391  
 60392  		libc.XGetSystemTime(tls, bp+56)
 60393  		libc.XSystemTimeToFileTime(tls, bp+56, bp+72)
 60394  		intervals = LONGLONG(LONG(mtime))*LONGLONG(10000000) + 116444736000000000
 60395  		(*FILETIME)(unsafe.Pointer(bp + 80)).FdwLowDateTime = DWORD(intervals)
 60396  		(*FILETIME)(unsafe.Pointer(bp + 80)).FdwHighDateTime = DWORD(intervals >> 32)
 60397  		zUnicodeName = sqlite3.Xsqlite3_win32_utf8_to_unicode(tls, zFile)
 60398  		if zUnicodeName == uintptr(0) {
 60399  			return 1
 60400  		}
 60401  		hFile = libc.XCreateFileW(tls,
 60402  			zUnicodeName, uint32(0x0100), uint32(0), uintptr(0), uint32(OPEN_EXISTING),
 60403  			uint32(FILE_FLAG_BACKUP_SEMANTICS), uintptr(0))
 60404  		sqlite3.Xsqlite3_free(tls, zUnicodeName)
 60405  		if hFile != libc.UintptrFromInt64(int64(-1)) {
 60406  			var bResult WINBOOL = libc.XSetFileTime(tls, hFile, uintptr(0), bp+72, bp+80)
 60407  			libc.XCloseHandle(tls, hFile)
 60408  			return libc.BoolInt32(!(bResult != 0))
 60409  		} else {
 60410  			return 1
 60411  		}
 60412  	}
 60413  
 60414  	return 0
 60415  }
 60416  
 60417  func writefileFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 60418  	bp := tls.Alloc(24)
 60419  	defer tls.Free(24)
 60420  
 60421  	var zFile uintptr
 60422  	var mode mode_t = mode_t(0)
 60423  	var res int32
 60424  	var mtime sqlite3_int64 = int64(-1)
 60425  
 60426  	if argc < 2 || argc > 4 {
 60427  		sqlite3.Xsqlite3_result_error(tls, context,
 60428  			ts+4985, -1)
 60429  		return
 60430  	}
 60431  
 60432  	zFile = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv)))
 60433  	if zFile == uintptr(0) {
 60434  		return
 60435  	}
 60436  	if argc >= 3 {
 60437  		mode = mode_t(sqlite3.Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8))))
 60438  	}
 60439  	if argc == 4 {
 60440  		mtime = sqlite3.Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)))
 60441  	}
 60442  
 60443  	res = writeFile(tls, context, zFile, *(*uintptr)(unsafe.Pointer(argv + 1*8)), mode, mtime)
 60444  	if res == 1 && *(*int32)(unsafe.Pointer(libc.X_errno(tls))) == ENOENT {
 60445  		if makeDirectory(tls, zFile) == SQLITE_OK {
 60446  			res = writeFile(tls, context, zFile, *(*uintptr)(unsafe.Pointer(argv + 1*8)), mode, mtime)
 60447  		}
 60448  	}
 60449  
 60450  	if argc > 2 && res != 0 {
 60451  		if 0 != 0 {
 60452  			ctxErrorMsg(tls, context, ts+5035, libc.VaList(bp, zFile))
 60453  		} else if int32(mode)&X_S_IFMT == X_S_IFDIR {
 60454  			ctxErrorMsg(tls, context, ts+5064, libc.VaList(bp+8, zFile))
 60455  		} else {
 60456  			ctxErrorMsg(tls, context, ts+5095, libc.VaList(bp+16, zFile))
 60457  		}
 60458  	}
 60459  }
 60460  
 60461  func lsModeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 60462  	bp := tls.Alloc(16)
 60463  	defer tls.Free(16)
 60464  
 60465  	var i int32
 60466  	var iMode int32 = sqlite3.Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv)))
 60467  
 60468  	_ = argc
 60469  	if 0 != 0 {
 60470  		*(*int8)(unsafe.Pointer(bp)) = int8('l')
 60471  	} else if iMode&X_S_IFMT == X_S_IFREG {
 60472  		*(*int8)(unsafe.Pointer(bp)) = int8('-')
 60473  	} else if iMode&X_S_IFMT == X_S_IFDIR {
 60474  		*(*int8)(unsafe.Pointer(bp)) = int8('d')
 60475  	} else {
 60476  		*(*int8)(unsafe.Pointer(bp)) = int8('?')
 60477  	}
 60478  	for i = 0; i < 3; i++ {
 60479  		var m int32 = iMode >> ((2 - i) * 3)
 60480  		var a uintptr = bp + uintptr(1+i*3)
 60481  		*(*int8)(unsafe.Pointer(a)) = func() int8 {
 60482  			if m&0x4 != 0 {
 60483  				return int8('r')
 60484  			}
 60485  			return int8('-')
 60486  		}()
 60487  		*(*int8)(unsafe.Pointer(a + 1)) = func() int8 {
 60488  			if m&0x2 != 0 {
 60489  				return int8('w')
 60490  			}
 60491  			return int8('-')
 60492  		}()
 60493  		*(*int8)(unsafe.Pointer(a + 2)) = func() int8 {
 60494  			if m&0x1 != 0 {
 60495  				return int8('x')
 60496  			}
 60497  			return int8('-')
 60498  		}()
 60499  	}
 60500  	*(*int8)(unsafe.Pointer(bp + 10)) = int8(0)
 60501  	sqlite3.Xsqlite3_result_text(tls, context, bp, -1, libc.UintptrFromInt32(-1))
 60502  }
 60503  
 60504  type fsdir_cursor1 = struct {
 60505  	Fbase        sqlite3_vtab_cursor
 60506  	FnLvl        int32
 60507  	FiLvl        int32
 60508  	FaLvl        uintptr
 60509  	FzBase       uintptr
 60510  	FnBase       int32
 60511  	F__ccgo_pad1 [4]byte
 60512  	FsStat       struct {
 60513  		Fst_dev      _dev_t
 60514  		Fst_ino      _ino_t
 60515  		Fst_mode     uint16
 60516  		Fst_nlink    int16
 60517  		Fst_uid      int16
 60518  		Fst_gid      int16
 60519  		F__ccgo_pad1 [2]byte
 60520  		Fst_rdev     _dev_t
 60521  		F__ccgo_pad2 [4]byte
 60522  		Fst_size     int64
 60523  		Fst_atime    int64
 60524  		Fst_mtime    int64
 60525  		Fst_ctime    int64
 60526  	}
 60527  	FzPath  uintptr
 60528  	FiRowid sqlite3_int64
 60529  }
 60530  
 60531  type fsdir_cursor = fsdir_cursor1
 60532  type FsdirLevel1 = struct {
 60533  	FpDir uintptr
 60534  	FzDir uintptr
 60535  }
 60536  
 60537  type FsdirLevel = FsdirLevel1
 60538  
 60539  type fsdir_tab1 = struct{ Fbase sqlite3_vtab }
 60540  
 60541  type fsdir_tab = fsdir_tab1
 60542  
 60543  func fsdirConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 {
 60544  	var pNew uintptr = uintptr(0)
 60545  	var rc int32
 60546  	_ = pAux
 60547  	_ = argc
 60548  	_ = argv
 60549  	_ = pzErr
 60550  	rc = sqlite3.Xsqlite3_declare_vtab(tls, db, ts+5120)
 60551  	if rc == SQLITE_OK {
 60552  		pNew = sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(fsdir_tab{})))
 60553  		if pNew == uintptr(0) {
 60554  			return SQLITE_NOMEM
 60555  		}
 60556  		libc.Xmemset(tls, pNew, 0, uint64(unsafe.Sizeof(fsdir_tab{})))
 60557  		sqlite3.Xsqlite3_vtab_config(tls, db, SQLITE_VTAB_DIRECTONLY, 0)
 60558  	}
 60559  	*(*uintptr)(unsafe.Pointer(ppVtab)) = pNew
 60560  	return rc
 60561  }
 60562  
 60563  func fsdirDisconnect(tls *libc.TLS, pVtab uintptr) int32 {
 60564  	sqlite3.Xsqlite3_free(tls, pVtab)
 60565  	return SQLITE_OK
 60566  }
 60567  
 60568  func fsdirOpen(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 {
 60569  	var pCur uintptr
 60570  	_ = p
 60571  	pCur = sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(fsdir_cursor{})))
 60572  	if pCur == uintptr(0) {
 60573  		return SQLITE_NOMEM
 60574  	}
 60575  	libc.Xmemset(tls, pCur, 0, uint64(unsafe.Sizeof(fsdir_cursor{})))
 60576  	(*fsdir_cursor)(unsafe.Pointer(pCur)).FiLvl = -1
 60577  	*(*uintptr)(unsafe.Pointer(ppCursor)) = pCur
 60578  	return SQLITE_OK
 60579  }
 60580  
 60581  func fsdirResetCursor(tls *libc.TLS, pCur uintptr) {
 60582  	var i int32
 60583  	for i = 0; i <= (*fsdir_cursor)(unsafe.Pointer(pCur)).FiLvl; i++ {
 60584  		var pLvl uintptr = (*fsdir_cursor)(unsafe.Pointer(pCur)).FaLvl + uintptr(i)*16
 60585  		if (*FsdirLevel)(unsafe.Pointer(pLvl)).FpDir != 0 {
 60586  			closedir(tls, (*FsdirLevel)(unsafe.Pointer(pLvl)).FpDir)
 60587  		}
 60588  		sqlite3.Xsqlite3_free(tls, (*FsdirLevel)(unsafe.Pointer(pLvl)).FzDir)
 60589  	}
 60590  	sqlite3.Xsqlite3_free(tls, (*fsdir_cursor)(unsafe.Pointer(pCur)).FzPath)
 60591  	sqlite3.Xsqlite3_free(tls, (*fsdir_cursor)(unsafe.Pointer(pCur)).FaLvl)
 60592  	(*fsdir_cursor)(unsafe.Pointer(pCur)).FaLvl = uintptr(0)
 60593  	(*fsdir_cursor)(unsafe.Pointer(pCur)).FzPath = uintptr(0)
 60594  	(*fsdir_cursor)(unsafe.Pointer(pCur)).FzBase = uintptr(0)
 60595  	(*fsdir_cursor)(unsafe.Pointer(pCur)).FnBase = 0
 60596  	(*fsdir_cursor)(unsafe.Pointer(pCur)).FnLvl = 0
 60597  	(*fsdir_cursor)(unsafe.Pointer(pCur)).FiLvl = -1
 60598  	(*fsdir_cursor)(unsafe.Pointer(pCur)).FiRowid = int64(1)
 60599  }
 60600  
 60601  func fsdirClose(tls *libc.TLS, cur uintptr) int32 {
 60602  	var pCur uintptr = cur
 60603  
 60604  	fsdirResetCursor(tls, pCur)
 60605  	sqlite3.Xsqlite3_free(tls, pCur)
 60606  	return SQLITE_OK
 60607  }
 60608  
 60609  func fsdirSetErrmsg(tls *libc.TLS, pCur uintptr, zFmt uintptr, va uintptr) {
 60610  	var ap va_list
 60611  	_ = ap
 60612  	ap = va
 60613  	(*sqlite3_vtab)(unsafe.Pointer((*fsdir_cursor)(unsafe.Pointer(pCur)).Fbase.FpVtab)).FzErrMsg = sqlite3.Xsqlite3_vmprintf(tls, zFmt, ap)
 60614  	_ = ap
 60615  }
 60616  
 60617  func fsdirNext(tls *libc.TLS, cur uintptr) int32 {
 60618  	bp := tls.Alloc(32)
 60619  	defer tls.Free(32)
 60620  
 60621  	var pCur uintptr = cur
 60622  	var m mode_t = (*fsdir_cursor)(unsafe.Pointer(pCur)).FsStat.Fst_mode
 60623  
 60624  	(*fsdir_cursor)(unsafe.Pointer(pCur)).FiRowid++
 60625  	if int32(m)&X_S_IFMT == X_S_IFDIR {
 60626  		var iNew int32 = (*fsdir_cursor)(unsafe.Pointer(pCur)).FiLvl + 1
 60627  		var pLvl uintptr
 60628  		if iNew >= (*fsdir_cursor)(unsafe.Pointer(pCur)).FnLvl {
 60629  			var nNew int32 = iNew + 1
 60630  			var nByte sqlite3_int64 = sqlite3_int64(uint64(nNew) * uint64(unsafe.Sizeof(FsdirLevel{})))
 60631  			var aNew uintptr = sqlite3.Xsqlite3_realloc64(tls, (*fsdir_cursor)(unsafe.Pointer(pCur)).FaLvl, uint64(nByte))
 60632  			if aNew == uintptr(0) {
 60633  				return SQLITE_NOMEM
 60634  			}
 60635  			libc.Xmemset(tls, aNew+uintptr((*fsdir_cursor)(unsafe.Pointer(pCur)).FnLvl)*16, 0, uint64(unsafe.Sizeof(FsdirLevel{}))*uint64(nNew-(*fsdir_cursor)(unsafe.Pointer(pCur)).FnLvl))
 60636  			(*fsdir_cursor)(unsafe.Pointer(pCur)).FaLvl = aNew
 60637  			(*fsdir_cursor)(unsafe.Pointer(pCur)).FnLvl = nNew
 60638  		}
 60639  		(*fsdir_cursor)(unsafe.Pointer(pCur)).FiLvl = iNew
 60640  		pLvl = (*fsdir_cursor)(unsafe.Pointer(pCur)).FaLvl + uintptr(iNew)*16
 60641  
 60642  		(*FsdirLevel)(unsafe.Pointer(pLvl)).FzDir = (*fsdir_cursor)(unsafe.Pointer(pCur)).FzPath
 60643  		(*fsdir_cursor)(unsafe.Pointer(pCur)).FzPath = uintptr(0)
 60644  		(*FsdirLevel)(unsafe.Pointer(pLvl)).FpDir = opendir(tls, (*FsdirLevel)(unsafe.Pointer(pLvl)).FzDir)
 60645  		if (*FsdirLevel)(unsafe.Pointer(pLvl)).FpDir == uintptr(0) {
 60646  			fsdirSetErrmsg(tls, pCur, ts+5180, libc.VaList(bp, (*fsdir_cursor)(unsafe.Pointer(pCur)).FzPath))
 60647  			return SQLITE_ERROR
 60648  		}
 60649  	}
 60650  
 60651  	for (*fsdir_cursor)(unsafe.Pointer(pCur)).FiLvl >= 0 {
 60652  		var pLvl uintptr = (*fsdir_cursor)(unsafe.Pointer(pCur)).FaLvl + uintptr((*fsdir_cursor)(unsafe.Pointer(pCur)).FiLvl)*16
 60653  		var pEntry uintptr = readdir(tls, (*FsdirLevel)(unsafe.Pointer(pLvl)).FpDir)
 60654  		if pEntry != 0 {
 60655  			if int32(*(*int8)(unsafe.Pointer(pEntry + 8))) == '.' {
 60656  				if int32(*(*int8)(unsafe.Pointer(pEntry + 8 + 1))) == '.' && int32(*(*int8)(unsafe.Pointer(pEntry + 8 + 2))) == 0 {
 60657  					continue
 60658  				}
 60659  				if int32(*(*int8)(unsafe.Pointer(pEntry + 8 + 1))) == 0 {
 60660  					continue
 60661  				}
 60662  			}
 60663  			sqlite3.Xsqlite3_free(tls, (*fsdir_cursor)(unsafe.Pointer(pCur)).FzPath)
 60664  			(*fsdir_cursor)(unsafe.Pointer(pCur)).FzPath = sqlite3.Xsqlite3_mprintf(tls, ts+5206, libc.VaList(bp+8, (*FsdirLevel)(unsafe.Pointer(pLvl)).FzDir, pEntry+8))
 60665  			if (*fsdir_cursor)(unsafe.Pointer(pCur)).FzPath == uintptr(0) {
 60666  				return SQLITE_NOMEM
 60667  			}
 60668  			if fileLinkStat(tls, (*fsdir_cursor)(unsafe.Pointer(pCur)).FzPath, pCur+40) != 0 {
 60669  				fsdirSetErrmsg(tls, pCur, ts+5212, libc.VaList(bp+24, (*fsdir_cursor)(unsafe.Pointer(pCur)).FzPath))
 60670  				return SQLITE_ERROR
 60671  			}
 60672  			return SQLITE_OK
 60673  		}
 60674  		closedir(tls, (*FsdirLevel)(unsafe.Pointer(pLvl)).FpDir)
 60675  		sqlite3.Xsqlite3_free(tls, (*FsdirLevel)(unsafe.Pointer(pLvl)).FzDir)
 60676  		(*FsdirLevel)(unsafe.Pointer(pLvl)).FpDir = uintptr(0)
 60677  		(*FsdirLevel)(unsafe.Pointer(pLvl)).FzDir = uintptr(0)
 60678  		(*fsdir_cursor)(unsafe.Pointer(pCur)).FiLvl--
 60679  	}
 60680  
 60681  	sqlite3.Xsqlite3_free(tls, (*fsdir_cursor)(unsafe.Pointer(pCur)).FzPath)
 60682  	(*fsdir_cursor)(unsafe.Pointer(pCur)).FzPath = uintptr(0)
 60683  	return SQLITE_OK
 60684  }
 60685  
 60686  func fsdirColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 {
 60687  	var pCur uintptr = cur
 60688  	switch i {
 60689  	case FSDIR_COLUMN_NAME:
 60690  		{
 60691  			sqlite3.Xsqlite3_result_text(tls, ctx, (*fsdir_cursor)(unsafe.Pointer(pCur)).FzPath+uintptr((*fsdir_cursor)(unsafe.Pointer(pCur)).FnBase), -1, libc.UintptrFromInt32(-1))
 60692  			break
 60693  
 60694  		}
 60695  
 60696  	case FSDIR_COLUMN_MODE:
 60697  		sqlite3.Xsqlite3_result_int64(tls, ctx, int64((*fsdir_cursor)(unsafe.Pointer(pCur)).FsStat.Fst_mode))
 60698  		break
 60699  
 60700  	case FSDIR_COLUMN_MTIME:
 60701  		sqlite3.Xsqlite3_result_int64(tls, ctx, (*fsdir_cursor)(unsafe.Pointer(pCur)).FsStat.Fst_mtime)
 60702  		break
 60703  
 60704  	case FSDIR_COLUMN_DATA:
 60705  		{
 60706  			var m mode_t = (*fsdir_cursor)(unsafe.Pointer(pCur)).FsStat.Fst_mode
 60707  			if int32(m)&X_S_IFMT == X_S_IFDIR {
 60708  				sqlite3.Xsqlite3_result_null(tls, ctx)
 60709  			} else {
 60710  				readFileContents(tls, ctx, (*fsdir_cursor)(unsafe.Pointer(pCur)).FzPath)
 60711  			}
 60712  
 60713  		}
 60714  		fallthrough
 60715  	case FSDIR_COLUMN_PATH:
 60716  		fallthrough
 60717  	default:
 60718  		{
 60719  			break
 60720  
 60721  		}
 60722  	}
 60723  	return SQLITE_OK
 60724  }
 60725  
 60726  func fsdirRowid(tls *libc.TLS, cur uintptr, pRowid uintptr) int32 {
 60727  	var pCur uintptr = cur
 60728  	*(*sqlite_int64)(unsafe.Pointer(pRowid)) = (*fsdir_cursor)(unsafe.Pointer(pCur)).FiRowid
 60729  	return SQLITE_OK
 60730  }
 60731  
 60732  func fsdirEof(tls *libc.TLS, cur uintptr) int32 {
 60733  	var pCur uintptr = cur
 60734  	return libc.Bool32((*fsdir_cursor)(unsafe.Pointer(pCur)).FzPath == uintptr(0))
 60735  }
 60736  
 60737  func fsdirFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 {
 60738  	bp := tls.Alloc(32)
 60739  	defer tls.Free(32)
 60740  
 60741  	var zDir uintptr = uintptr(0)
 60742  	var pCur uintptr = cur
 60743  	_ = idxStr
 60744  	fsdirResetCursor(tls, pCur)
 60745  
 60746  	if idxNum == 0 {
 60747  		fsdirSetErrmsg(tls, pCur, ts+5233, 0)
 60748  		return SQLITE_ERROR
 60749  	}
 60750  
 60751  	zDir = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv)))
 60752  	if zDir == uintptr(0) {
 60753  		fsdirSetErrmsg(tls, pCur, ts+5275, 0)
 60754  		return SQLITE_ERROR
 60755  	}
 60756  	if argc == 2 {
 60757  		(*fsdir_cursor)(unsafe.Pointer(pCur)).FzBase = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))
 60758  	}
 60759  	if (*fsdir_cursor)(unsafe.Pointer(pCur)).FzBase != 0 {
 60760  		(*fsdir_cursor)(unsafe.Pointer(pCur)).FnBase = int32(libc.Xstrlen(tls, (*fsdir_cursor)(unsafe.Pointer(pCur)).FzBase)) + 1
 60761  		(*fsdir_cursor)(unsafe.Pointer(pCur)).FzPath = sqlite3.Xsqlite3_mprintf(tls, ts+5206, libc.VaList(bp, (*fsdir_cursor)(unsafe.Pointer(pCur)).FzBase, zDir))
 60762  	} else {
 60763  		(*fsdir_cursor)(unsafe.Pointer(pCur)).FzPath = sqlite3.Xsqlite3_mprintf(tls, ts, libc.VaList(bp+16, zDir))
 60764  	}
 60765  
 60766  	if (*fsdir_cursor)(unsafe.Pointer(pCur)).FzPath == uintptr(0) {
 60767  		return SQLITE_NOMEM
 60768  	}
 60769  	if fileLinkStat(tls, (*fsdir_cursor)(unsafe.Pointer(pCur)).FzPath, pCur+40) != 0 {
 60770  		fsdirSetErrmsg(tls, pCur, ts+5212, libc.VaList(bp+24, (*fsdir_cursor)(unsafe.Pointer(pCur)).FzPath))
 60771  		return SQLITE_ERROR
 60772  	}
 60773  
 60774  	return SQLITE_OK
 60775  }
 60776  
 60777  func fsdirBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 {
 60778  	var i int32
 60779  	var idxPath int32 = -1
 60780  	var idxDir int32 = -1
 60781  	var seenPath int32 = 0
 60782  	var seenDir int32 = 0
 60783  	var pConstraint uintptr
 60784  
 60785  	_ = tab
 60786  	pConstraint = (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraint
 60787  	i = 0
 60788  __1:
 60789  	if !(i < (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint) {
 60790  		goto __3
 60791  	}
 60792  	{
 60793  		if int32((*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fop) != SQLITE_INDEX_CONSTRAINT_EQ {
 60794  			goto __2
 60795  		}
 60796  		switch (*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn {
 60797  		case FSDIR_COLUMN_PATH:
 60798  			{
 60799  				if (*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fusable != 0 {
 60800  					idxPath = i
 60801  					seenPath = 0
 60802  				} else if idxPath < 0 {
 60803  					seenPath = 1
 60804  				}
 60805  				break
 60806  
 60807  			}
 60808  		case FSDIR_COLUMN_DIR:
 60809  			{
 60810  				if (*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fusable != 0 {
 60811  					idxDir = i
 60812  					seenDir = 0
 60813  				} else if idxDir < 0 {
 60814  					seenDir = 1
 60815  				}
 60816  				break
 60817  
 60818  			}
 60819  		}
 60820  
 60821  	}
 60822  	goto __2
 60823  __2:
 60824  	i++
 60825  	pConstraint += 12
 60826  	goto __1
 60827  	goto __3
 60828  __3:
 60829  	;
 60830  	if seenPath != 0 || seenDir != 0 {
 60831  		return SQLITE_CONSTRAINT
 60832  	}
 60833  
 60834  	if idxPath < 0 {
 60835  		(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 0
 60836  
 60837  		(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(0x7fffffff)
 60838  	} else {
 60839  		(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(idxPath)*8)).Fomit = uint8(1)
 60840  		(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(idxPath)*8)).FargvIndex = 1
 60841  		if idxDir >= 0 {
 60842  			(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(idxDir)*8)).Fomit = uint8(1)
 60843  			(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(idxDir)*8)).FargvIndex = 2
 60844  			(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 2
 60845  			(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 10.0
 60846  		} else {
 60847  			(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 1
 60848  			(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 100.0
 60849  		}
 60850  	}
 60851  
 60852  	return SQLITE_OK
 60853  }
 60854  
 60855  func fsdirRegister(tls *libc.TLS, db uintptr) int32 {
 60856  	var rc int32 = sqlite3.Xsqlite3_create_module(tls, db, ts+5325, uintptr(unsafe.Pointer(&fsdirModule1)), uintptr(0))
 60857  	return rc
 60858  }
 60859  
 60860  var fsdirModule1 = sqlite3_module{
 60861  	FxConnect:    0,
 60862  	FxBestIndex:  0,
 60863  	FxDisconnect: 0,
 60864  	FxOpen:       0,
 60865  	FxClose:      0,
 60866  	FxFilter:     0,
 60867  	FxNext:       0,
 60868  	FxEof:        0,
 60869  	FxColumn:     0,
 60870  	FxRowid:      0,
 60871  }
 60872  
 60873  func sqlite3_fileio_init(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi uintptr) int32 {
 60874  	var rc int32 = SQLITE_OK
 60875  	_ = pApi
 60876  
 60877  	_ = pzErrMsg
 60878  	rc = sqlite3.Xsqlite3_create_function(tls, db, ts+5331, 1,
 60879  		SQLITE_UTF8|SQLITE_DIRECTONLY, uintptr(0),
 60880  		*(*uintptr)(unsafe.Pointer(&struct {
 60881  			f func(*libc.TLS, uintptr, int32, uintptr)
 60882  		}{readfileFunc})), uintptr(0), uintptr(0))
 60883  	if rc == SQLITE_OK {
 60884  		rc = sqlite3.Xsqlite3_create_function(tls, db, ts+5340, -1,
 60885  			SQLITE_UTF8|SQLITE_DIRECTONLY, uintptr(0),
 60886  			*(*uintptr)(unsafe.Pointer(&struct {
 60887  				f func(*libc.TLS, uintptr, int32, uintptr)
 60888  			}{writefileFunc})), uintptr(0), uintptr(0))
 60889  	}
 60890  	if rc == SQLITE_OK {
 60891  		rc = sqlite3.Xsqlite3_create_function(tls, db, ts+5350, 1, SQLITE_UTF8, uintptr(0),
 60892  			*(*uintptr)(unsafe.Pointer(&struct {
 60893  				f func(*libc.TLS, uintptr, int32, uintptr)
 60894  			}{lsModeFunc})), uintptr(0), uintptr(0))
 60895  	}
 60896  	if rc == SQLITE_OK {
 60897  		rc = fsdirRegister(tls, db)
 60898  	}
 60899  	return rc
 60900  }
 60901  
 60902  type fuzzer_vtab1 = struct {
 60903  	Fbase        sqlite3_vtab
 60904  	FzClassName  uintptr
 60905  	FpRule       uintptr
 60906  	FnCursor     int32
 60907  	F__ccgo_pad1 [4]byte
 60908  }
 60909  
 60910  type fuzzer_vtab = fuzzer_vtab1
 60911  type fuzzer_cursor1 = struct {
 60912  	Fbase        sqlite3_vtab_cursor
 60913  	FiRowid      sqlite3_int64
 60914  	FpVtab       uintptr
 60915  	FrLimit      fuzzer_cost
 60916  	F__ccgo_pad1 [4]byte
 60917  	FpStem       uintptr
 60918  	FpDone       uintptr
 60919  	FaQueue      [20]uintptr
 60920  	FmxQueue     int32
 60921  	F__ccgo_pad2 [4]byte
 60922  	FzBuf        uintptr
 60923  	FnBuf        int32
 60924  	FnStem       int32
 60925  	FiRuleset    int32
 60926  	F__ccgo_pad3 [4]byte
 60927  	FnullRule    fuzzer_rule
 60928  	FapHash      [4001]uintptr
 60929  }
 60930  
 60931  type fuzzer_cursor = fuzzer_cursor1
 60932  type fuzzer_rule1 = struct {
 60933  	FpNext       uintptr
 60934  	FzFrom       uintptr
 60935  	FrCost       fuzzer_cost
 60936  	FnFrom       fuzzer_len
 60937  	FnTo         fuzzer_len
 60938  	F__ccgo_pad1 [2]byte
 60939  	FiRuleset    fuzzer_ruleid
 60940  	FzTo         [4]int8
 60941  }
 60942  
 60943  type fuzzer_rule = fuzzer_rule1
 60944  type fuzzer_stem1 = struct {
 60945  	FzBasis      uintptr
 60946  	FpRule       uintptr
 60947  	FpNext       uintptr
 60948  	FpHash       uintptr
 60949  	FrBaseCost   fuzzer_cost
 60950  	FrCostX      fuzzer_cost
 60951  	FnBasis      fuzzer_len
 60952  	Fn           fuzzer_len
 60953  	F__ccgo_pad1 [6]byte
 60954  }
 60955  
 60956  type fuzzer_stem = fuzzer_stem1
 60957  
 60958  type fuzzer_cost = int32
 60959  type fuzzer_len = int8
 60960  type fuzzer_ruleid = int32
 60961  
 60962  func fuzzerMergeRules(tls *libc.TLS, pA uintptr, pB uintptr) uintptr {
 60963  	bp := tls.Alloc(32)
 60964  	defer tls.Free(32)
 60965  
 60966  	var pTail uintptr
 60967  
 60968  	pTail = bp
 60969  	for pA != 0 && pB != 0 {
 60970  		if (*fuzzer_rule)(unsafe.Pointer(pA)).FrCost <= (*fuzzer_rule)(unsafe.Pointer(pB)).FrCost {
 60971  			(*fuzzer_rule)(unsafe.Pointer(pTail)).FpNext = pA
 60972  			pTail = pA
 60973  			pA = (*fuzzer_rule)(unsafe.Pointer(pA)).FpNext
 60974  		} else {
 60975  			(*fuzzer_rule)(unsafe.Pointer(pTail)).FpNext = pB
 60976  			pTail = pB
 60977  			pB = (*fuzzer_rule)(unsafe.Pointer(pB)).FpNext
 60978  		}
 60979  	}
 60980  	if pA == uintptr(0) {
 60981  		(*fuzzer_rule)(unsafe.Pointer(pTail)).FpNext = pB
 60982  	} else {
 60983  		(*fuzzer_rule)(unsafe.Pointer(pTail)).FpNext = pA
 60984  	}
 60985  	return (*fuzzer_rule)(unsafe.Pointer(bp)).FpNext
 60986  }
 60987  
 60988  func fuzzerLoadOneRule(tls *libc.TLS, p uintptr, pStmt uintptr, ppRule uintptr, pzErr uintptr) int32 {
 60989  	bp := tls.Alloc(48)
 60990  	defer tls.Free(48)
 60991  
 60992  	var iRuleset sqlite3_int64 = sqlite3.Xsqlite3_column_int64(tls, pStmt, 0)
 60993  	var zFrom uintptr = sqlite3.Xsqlite3_column_text(tls, pStmt, 1)
 60994  	var zTo uintptr = sqlite3.Xsqlite3_column_text(tls, pStmt, 2)
 60995  	var nCost int32 = sqlite3.Xsqlite3_column_int(tls, pStmt, 3)
 60996  
 60997  	var rc int32 = SQLITE_OK
 60998  	var nFrom int32
 60999  	var nTo int32
 61000  	var pRule uintptr = uintptr(0)
 61001  
 61002  	if zFrom == uintptr(0) {
 61003  		zFrom = ts + 584
 61004  	}
 61005  	if zTo == uintptr(0) {
 61006  		zTo = ts + 584
 61007  	}
 61008  	nFrom = int32(libc.Xstrlen(tls, zFrom))
 61009  	nTo = int32(libc.Xstrlen(tls, zTo))
 61010  
 61011  	if libc.Xstrcmp(tls, zFrom, zTo) == 0 {
 61012  		*(*uintptr)(unsafe.Pointer(ppRule)) = uintptr(0)
 61013  		return SQLITE_OK
 61014  	}
 61015  
 61016  	if nCost <= 0 || nCost > FUZZER_MX_COST {
 61017  		*(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+3304,
 61018  			libc.VaList(bp, (*fuzzer_vtab)(unsafe.Pointer(p)).FzClassName, FUZZER_MX_COST))
 61019  		rc = SQLITE_ERROR
 61020  	} else if nFrom > FUZZER_MX_LENGTH || nTo > FUZZER_MX_LENGTH {
 61021  		*(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+3338,
 61022  			libc.VaList(bp+16, (*fuzzer_vtab)(unsafe.Pointer(p)).FzClassName, FUZZER_MX_LENGTH))
 61023  		rc = SQLITE_ERROR
 61024  	} else if iRuleset < int64(0) || iRuleset > int64(FUZZER_MX_RULEID) {
 61025  		*(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+5357,
 61026  			libc.VaList(bp+32, (*fuzzer_vtab)(unsafe.Pointer(p)).FzClassName, FUZZER_MX_RULEID))
 61027  		rc = SQLITE_ERROR
 61028  	} else {
 61029  		pRule = sqlite3.Xsqlite3_malloc64(tls, uint64(unsafe.Sizeof(fuzzer_rule{}))+uint64(nFrom)+uint64(nTo))
 61030  		if pRule == uintptr(0) {
 61031  			rc = SQLITE_NOMEM
 61032  		} else {
 61033  			libc.Xmemset(tls, pRule, 0, uint64(unsafe.Sizeof(fuzzer_rule{})))
 61034  			(*fuzzer_rule)(unsafe.Pointer(pRule)).FzFrom = pRule + 28
 61035  			*(*uintptr)(unsafe.Pointer(pRule + 8)) += uintptr(nTo + 1)
 61036  			(*fuzzer_rule)(unsafe.Pointer(pRule)).FnFrom = fuzzer_len(nFrom)
 61037  			libc.Xmemcpy(tls, (*fuzzer_rule)(unsafe.Pointer(pRule)).FzFrom, zFrom, uint64(nFrom+1))
 61038  			libc.Xmemcpy(tls, pRule+28, zTo, uint64(nTo+1))
 61039  			(*fuzzer_rule)(unsafe.Pointer(pRule)).FnTo = fuzzer_len(nTo)
 61040  			(*fuzzer_rule)(unsafe.Pointer(pRule)).FrCost = nCost
 61041  			(*fuzzer_rule)(unsafe.Pointer(pRule)).FiRuleset = int32(iRuleset)
 61042  		}
 61043  	}
 61044  
 61045  	*(*uintptr)(unsafe.Pointer(ppRule)) = pRule
 61046  	return rc
 61047  }
 61048  
 61049  func fuzzerLoadRules(tls *libc.TLS, db uintptr, p uintptr, zDb uintptr, zData uintptr, pzErr uintptr) int32 {
 61050  	bp := tls.Alloc(192)
 61051  	defer tls.Free(192)
 61052  
 61053  	var rc int32 = SQLITE_OK
 61054  	var zSql uintptr
 61055  	var pHead uintptr = uintptr(0)
 61056  
 61057  	zSql = sqlite3.Xsqlite3_mprintf(tls, ts+3407, libc.VaList(bp, zDb, zData))
 61058  	if zSql == uintptr(0) {
 61059  		rc = SQLITE_NOMEM
 61060  	} else {
 61061  		var rc2 int32
 61062  		*(*uintptr)(unsafe.Pointer(bp + 56)) = uintptr(0)
 61063  		rc = sqlite3.Xsqlite3_prepare_v2(tls, db, zSql, -1, bp+56, uintptr(0))
 61064  		if rc != SQLITE_OK {
 61065  			*(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+3427, libc.VaList(bp+16, (*fuzzer_vtab)(unsafe.Pointer(p)).FzClassName, sqlite3.Xsqlite3_errmsg(tls, db)))
 61066  		} else if sqlite3.Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp + 56))) != 4 {
 61067  			*(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+3434,
 61068  				libc.VaList(bp+32, (*fuzzer_vtab)(unsafe.Pointer(p)).FzClassName, zData, sqlite3.Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp + 56)))))
 61069  			rc = SQLITE_ERROR
 61070  		} else {
 61071  			for rc == SQLITE_OK && SQLITE_ROW == sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 56))) {
 61072  				*(*uintptr)(unsafe.Pointer(bp + 64)) = uintptr(0)
 61073  				rc = fuzzerLoadOneRule(tls, p, *(*uintptr)(unsafe.Pointer(bp + 56)), bp+64, pzErr)
 61074  				if *(*uintptr)(unsafe.Pointer(bp + 64)) != 0 {
 61075  					(*fuzzer_rule)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 64)))).FpNext = pHead
 61076  					pHead = *(*uintptr)(unsafe.Pointer(bp + 64))
 61077  				}
 61078  			}
 61079  		}
 61080  		rc2 = sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 56)))
 61081  		if rc == SQLITE_OK {
 61082  			rc = rc2
 61083  		}
 61084  	}
 61085  	sqlite3.Xsqlite3_free(tls, zSql)
 61086  
 61087  	if rc == SQLITE_OK {
 61088  		var i uint32
 61089  		var pX uintptr
 61090  
 61091  		for i = uint32(0); uint64(i) < uint64(unsafe.Sizeof([15]uintptr{}))/uint64(unsafe.Sizeof(uintptr(0))); i++ {
 61092  			*(*uintptr)(unsafe.Pointer(bp + 72 + uintptr(i)*8)) = uintptr(0)
 61093  		}
 61094  		for libc.AssignUintptr(&pX, pHead) != uintptr(0) {
 61095  			pHead = (*fuzzer_rule)(unsafe.Pointer(pX)).FpNext
 61096  			(*fuzzer_rule)(unsafe.Pointer(pX)).FpNext = uintptr(0)
 61097  			for i = uint32(0); *(*uintptr)(unsafe.Pointer(bp + 72 + uintptr(i)*8)) != 0 && uint64(i) < uint64(unsafe.Sizeof([15]uintptr{}))/uint64(unsafe.Sizeof(uintptr(0)))-uint64(1); i++ {
 61098  				pX = fuzzerMergeRules(tls, *(*uintptr)(unsafe.Pointer(bp + 72 + uintptr(i)*8)), pX)
 61099  				*(*uintptr)(unsafe.Pointer(bp + 72 + uintptr(i)*8)) = uintptr(0)
 61100  			}
 61101  			*(*uintptr)(unsafe.Pointer(bp + 72 + uintptr(i)*8)) = fuzzerMergeRules(tls, *(*uintptr)(unsafe.Pointer(bp + 72 + uintptr(i)*8)), pX)
 61102  		}
 61103  		pX = *(*uintptr)(unsafe.Pointer(bp + 72))
 61104  		i = uint32(1)
 61105  		for ; uint64(i) < uint64(unsafe.Sizeof([15]uintptr{}))/uint64(unsafe.Sizeof(uintptr(0))); i++ {
 61106  			pX = fuzzerMergeRules(tls, *(*uintptr)(unsafe.Pointer(bp + 72 + uintptr(i)*8)), pX)
 61107  		}
 61108  		(*fuzzer_vtab)(unsafe.Pointer(p)).FpRule = fuzzerMergeRules(tls, (*fuzzer_vtab)(unsafe.Pointer(p)).FpRule, pX)
 61109  	} else {
 61110  		(*fuzzer_vtab)(unsafe.Pointer(p)).FpRule = pHead
 61111  	}
 61112  
 61113  	return rc
 61114  }
 61115  
 61116  func fuzzerDequote(tls *libc.TLS, zIn uintptr) uintptr {
 61117  	var nIn sqlite3_int64
 61118  	var zOut uintptr
 61119  
 61120  	nIn = sqlite3_int64(libc.Xstrlen(tls, zIn))
 61121  	zOut = sqlite3.Xsqlite3_malloc64(tls, uint64(nIn+int64(1)))
 61122  	if zOut != 0 {
 61123  		var q int8 = *(*int8)(unsafe.Pointer(zIn))
 61124  
 61125  		if int32(q) != '[' && int32(q) != '\'' && int32(q) != '"' && int32(q) != '`' {
 61126  			libc.Xmemcpy(tls, zOut, zIn, size_t(nIn+int64(1)))
 61127  		} else {
 61128  			var iOut int32 = 0
 61129  			var iIn int32
 61130  
 61131  			if int32(q) == '[' {
 61132  				q = int8(']')
 61133  			}
 61134  			for iIn = 1; sqlite3_int64(iIn) < nIn; iIn++ {
 61135  				if int32(*(*int8)(unsafe.Pointer(zIn + uintptr(iIn)))) == int32(q) {
 61136  					iIn++
 61137  				}
 61138  				*(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&iOut, 1)))) = *(*int8)(unsafe.Pointer(zIn + uintptr(iIn)))
 61139  			}
 61140  		}
 61141  
 61142  	}
 61143  	return zOut
 61144  }
 61145  
 61146  func fuzzerDisconnect(tls *libc.TLS, pVtab uintptr) int32 {
 61147  	var p uintptr = pVtab
 61148  
 61149  	for (*fuzzer_vtab)(unsafe.Pointer(p)).FpRule != 0 {
 61150  		var pRule uintptr = (*fuzzer_vtab)(unsafe.Pointer(p)).FpRule
 61151  		(*fuzzer_vtab)(unsafe.Pointer(p)).FpRule = (*fuzzer_rule)(unsafe.Pointer(pRule)).FpNext
 61152  		sqlite3.Xsqlite3_free(tls, pRule)
 61153  	}
 61154  	sqlite3.Xsqlite3_free(tls, p)
 61155  	return SQLITE_OK
 61156  }
 61157  
 61158  func fuzzerConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 {
 61159  	bp := tls.Alloc(8)
 61160  	defer tls.Free(8)
 61161  
 61162  	var rc int32 = SQLITE_OK
 61163  	var pNew uintptr = uintptr(0)
 61164  	var zModule uintptr = *(*uintptr)(unsafe.Pointer(argv))
 61165  	var zDb uintptr = *(*uintptr)(unsafe.Pointer(argv + 1*8))
 61166  
 61167  	if argc != 4 {
 61168  		*(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls,
 61169  			ts+5394, libc.VaList(bp, zModule))
 61170  		rc = SQLITE_ERROR
 61171  	} else {
 61172  		var nModule sqlite3_int64
 61173  
 61174  		nModule = sqlite3_int64(libc.Xstrlen(tls, zModule))
 61175  		pNew = sqlite3.Xsqlite3_malloc64(tls, uint64(unsafe.Sizeof(fuzzer_vtab{}))+uint64(nModule)+uint64(1))
 61176  		if pNew == uintptr(0) {
 61177  			rc = SQLITE_NOMEM
 61178  		} else {
 61179  			var zTab uintptr
 61180  
 61181  			libc.Xmemset(tls, pNew, 0, uint64(unsafe.Sizeof(fuzzer_vtab{})))
 61182  			(*fuzzer_vtab)(unsafe.Pointer(pNew)).FzClassName = pNew + 1*48
 61183  			libc.Xmemcpy(tls, (*fuzzer_vtab)(unsafe.Pointer(pNew)).FzClassName, zModule, size_t(nModule+int64(1)))
 61184  
 61185  			zTab = fuzzerDequote(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)))
 61186  			if zTab == uintptr(0) {
 61187  				rc = SQLITE_NOMEM
 61188  			} else {
 61189  				rc = fuzzerLoadRules(tls, db, pNew, zDb, zTab, pzErr)
 61190  				sqlite3.Xsqlite3_free(tls, zTab)
 61191  			}
 61192  
 61193  			if rc == SQLITE_OK {
 61194  				rc = sqlite3.Xsqlite3_declare_vtab(tls, db, ts+5445)
 61195  			}
 61196  			if rc != SQLITE_OK {
 61197  				fuzzerDisconnect(tls, pNew)
 61198  				pNew = uintptr(0)
 61199  			} else {
 61200  				sqlite3.Xsqlite3_vtab_config(tls, db, SQLITE_VTAB_INNOCUOUS, 0)
 61201  			}
 61202  		}
 61203  	}
 61204  
 61205  	*(*uintptr)(unsafe.Pointer(ppVtab)) = pNew
 61206  	return rc
 61207  }
 61208  
 61209  func fuzzerOpen(tls *libc.TLS, pVTab uintptr, ppCursor uintptr) int32 {
 61210  	var p uintptr = pVTab
 61211  	var pCur uintptr
 61212  	pCur = sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(fuzzer_cursor{})))
 61213  	if pCur == uintptr(0) {
 61214  		return SQLITE_NOMEM
 61215  	}
 61216  	libc.Xmemset(tls, pCur, 0, uint64(unsafe.Sizeof(fuzzer_cursor{})))
 61217  	(*fuzzer_cursor)(unsafe.Pointer(pCur)).FpVtab = p
 61218  	*(*uintptr)(unsafe.Pointer(ppCursor)) = pCur
 61219  	(*fuzzer_vtab)(unsafe.Pointer(p)).FnCursor++
 61220  	return SQLITE_OK
 61221  }
 61222  
 61223  func fuzzerClearStemList(tls *libc.TLS, pStem uintptr) {
 61224  	for pStem != 0 {
 61225  		var pNext uintptr = (*fuzzer_stem)(unsafe.Pointer(pStem)).FpNext
 61226  		sqlite3.Xsqlite3_free(tls, pStem)
 61227  		pStem = pNext
 61228  	}
 61229  }
 61230  
 61231  func fuzzerClearCursor(tls *libc.TLS, pCur uintptr, clearHash int32) {
 61232  	var i int32
 61233  	fuzzerClearStemList(tls, (*fuzzer_cursor)(unsafe.Pointer(pCur)).FpStem)
 61234  	fuzzerClearStemList(tls, (*fuzzer_cursor)(unsafe.Pointer(pCur)).FpDone)
 61235  	for i = 0; i < FUZZER_NQUEUE; i++ {
 61236  		fuzzerClearStemList(tls, *(*uintptr)(unsafe.Pointer(pCur + 48 + uintptr(i)*8)))
 61237  	}
 61238  	(*fuzzer_cursor)(unsafe.Pointer(pCur)).FrLimit = 0
 61239  	if clearHash != 0 && (*fuzzer_cursor)(unsafe.Pointer(pCur)).FnStem != 0 {
 61240  		(*fuzzer_cursor)(unsafe.Pointer(pCur)).FmxQueue = 0
 61241  		(*fuzzer_cursor)(unsafe.Pointer(pCur)).FpStem = uintptr(0)
 61242  		(*fuzzer_cursor)(unsafe.Pointer(pCur)).FpDone = uintptr(0)
 61243  		libc.Xmemset(tls, pCur+48, 0, uint64(unsafe.Sizeof([20]uintptr{})))
 61244  		libc.Xmemset(tls, pCur+272, 0, uint64(unsafe.Sizeof([4001]uintptr{})))
 61245  	}
 61246  	(*fuzzer_cursor)(unsafe.Pointer(pCur)).FnStem = 0
 61247  }
 61248  
 61249  func fuzzerClose(tls *libc.TLS, cur uintptr) int32 {
 61250  	var pCur uintptr = cur
 61251  	fuzzerClearCursor(tls, pCur, 0)
 61252  	sqlite3.Xsqlite3_free(tls, (*fuzzer_cursor)(unsafe.Pointer(pCur)).FzBuf)
 61253  	(*fuzzer_vtab)(unsafe.Pointer((*fuzzer_cursor)(unsafe.Pointer(pCur)).FpVtab)).FnCursor--
 61254  	sqlite3.Xsqlite3_free(tls, pCur)
 61255  	return SQLITE_OK
 61256  }
 61257  
 61258  func fuzzerRender(tls *libc.TLS, pStem uintptr, pzBuf uintptr, pnBuf uintptr) int32 {
 61259  	var pRule uintptr = (*fuzzer_stem)(unsafe.Pointer(pStem)).FpRule
 61260  	var n int32
 61261  	var z uintptr
 61262  
 61263  	n = int32((*fuzzer_stem)(unsafe.Pointer(pStem)).FnBasis) + int32((*fuzzer_rule)(unsafe.Pointer(pRule)).FnTo) - int32((*fuzzer_rule)(unsafe.Pointer(pRule)).FnFrom)
 61264  	if *(*int32)(unsafe.Pointer(pnBuf)) < n+1 {
 61265  		*(*uintptr)(unsafe.Pointer(pzBuf)) = sqlite3.Xsqlite3_realloc(tls, *(*uintptr)(unsafe.Pointer(pzBuf)), n+100)
 61266  		if *(*uintptr)(unsafe.Pointer(pzBuf)) == uintptr(0) {
 61267  			return SQLITE_NOMEM
 61268  		}
 61269  		*(*int32)(unsafe.Pointer(pnBuf)) = n + 100
 61270  	}
 61271  	n = int32((*fuzzer_stem)(unsafe.Pointer(pStem)).Fn)
 61272  	z = *(*uintptr)(unsafe.Pointer(pzBuf))
 61273  	if n < 0 {
 61274  		libc.Xmemcpy(tls, z, (*fuzzer_stem)(unsafe.Pointer(pStem)).FzBasis, uint64(int32((*fuzzer_stem)(unsafe.Pointer(pStem)).FnBasis)+1))
 61275  	} else {
 61276  		libc.Xmemcpy(tls, z, (*fuzzer_stem)(unsafe.Pointer(pStem)).FzBasis, uint64(n))
 61277  		libc.Xmemcpy(tls, z+uintptr(n), pRule+28, uint64((*fuzzer_rule)(unsafe.Pointer(pRule)).FnTo))
 61278  		libc.Xmemcpy(tls, z+uintptr(n+int32((*fuzzer_rule)(unsafe.Pointer(pRule)).FnTo)), (*fuzzer_stem)(unsafe.Pointer(pStem)).FzBasis+uintptr(n+int32((*fuzzer_rule)(unsafe.Pointer(pRule)).FnFrom)),
 61279  			uint64(int32((*fuzzer_stem)(unsafe.Pointer(pStem)).FnBasis)-n-int32((*fuzzer_rule)(unsafe.Pointer(pRule)).FnFrom)+1))
 61280  	}
 61281  
 61282  	return SQLITE_OK
 61283  }
 61284  
 61285  func fuzzerHash(tls *libc.TLS, z uintptr) uint32 {
 61286  	var h uint32 = uint32(0)
 61287  	for *(*int8)(unsafe.Pointer(z)) != 0 {
 61288  		h = h<<3 ^ h>>29 ^ uint32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1))))
 61289  	}
 61290  	return h % uint32(FUZZER_HASH)
 61291  }
 61292  
 61293  func fuzzerCost(tls *libc.TLS, pStem uintptr) fuzzer_cost {
 61294  	return libc.AssignPtrInt32(pStem+36, (*fuzzer_stem)(unsafe.Pointer(pStem)).FrBaseCost+(*fuzzer_rule)(unsafe.Pointer((*fuzzer_stem)(unsafe.Pointer(pStem)).FpRule)).FrCost)
 61295  }
 61296  
 61297  func fuzzerSeen(tls *libc.TLS, pCur uintptr, pStem uintptr) int32 {
 61298  	var h uint32
 61299  	var pLookup uintptr
 61300  
 61301  	if fuzzerRender(tls, pStem, pCur+216, pCur+224) == SQLITE_NOMEM {
 61302  		return -1
 61303  	}
 61304  	h = fuzzerHash(tls, (*fuzzer_cursor)(unsafe.Pointer(pCur)).FzBuf)
 61305  	pLookup = *(*uintptr)(unsafe.Pointer(pCur + 272 + uintptr(h)*8))
 61306  	for pLookup != 0 && libc.Xstrcmp(tls, (*fuzzer_stem)(unsafe.Pointer(pLookup)).FzBasis, (*fuzzer_cursor)(unsafe.Pointer(pCur)).FzBuf) != 0 {
 61307  		pLookup = (*fuzzer_stem)(unsafe.Pointer(pLookup)).FpHash
 61308  	}
 61309  	return libc.Bool32(pLookup != uintptr(0))
 61310  }
 61311  
 61312  func fuzzerSkipRule(tls *libc.TLS, pRule uintptr, pStem uintptr, iRuleset int32) int32 {
 61313  	return libc.Bool32(pRule != 0 && ((*fuzzer_rule)(unsafe.Pointer(pRule)).FiRuleset != iRuleset ||
 61314  		int32((*fuzzer_stem)(unsafe.Pointer(pStem)).FnBasis)+int32((*fuzzer_rule)(unsafe.Pointer(pRule)).FnTo)-int32((*fuzzer_rule)(unsafe.Pointer(pRule)).FnFrom) > FUZZER_MX_OUTPUT_LENGTH))
 61315  }
 61316  
 61317  func fuzzerAdvance(tls *libc.TLS, pCur uintptr, pStem uintptr) int32 {
 61318  	var pRule uintptr
 61319  	for libc.AssignUintptr(&pRule, (*fuzzer_stem)(unsafe.Pointer(pStem)).FpRule) != uintptr(0) {
 61320  		for int32((*fuzzer_stem)(unsafe.Pointer(pStem)).Fn) < int32((*fuzzer_stem)(unsafe.Pointer(pStem)).FnBasis)-int32((*fuzzer_rule)(unsafe.Pointer(pRule)).FnFrom) {
 61321  			(*fuzzer_stem)(unsafe.Pointer(pStem)).Fn++
 61322  			if int32((*fuzzer_rule)(unsafe.Pointer(pRule)).FnFrom) == 0 ||
 61323  				libc.Xmemcmp(tls, (*fuzzer_stem)(unsafe.Pointer(pStem)).FzBasis+uintptr((*fuzzer_stem)(unsafe.Pointer(pStem)).Fn), (*fuzzer_rule)(unsafe.Pointer(pRule)).FzFrom, uint64((*fuzzer_rule)(unsafe.Pointer(pRule)).FnFrom)) == 0 {
 61324  				var rc int32 = fuzzerSeen(tls, pCur, pStem)
 61325  				if rc < 0 {
 61326  					return -1
 61327  				}
 61328  				if rc == 0 {
 61329  					fuzzerCost(tls, pStem)
 61330  					return 1
 61331  				}
 61332  			}
 61333  		}
 61334  		(*fuzzer_stem)(unsafe.Pointer(pStem)).Fn = int8(-1)
 61335  		for __ccgo := true; __ccgo; __ccgo = fuzzerSkipRule(tls, pRule, pStem, (*fuzzer_cursor)(unsafe.Pointer(pCur)).FiRuleset) != 0 {
 61336  			pRule = (*fuzzer_rule)(unsafe.Pointer(pRule)).FpNext
 61337  		}
 61338  		(*fuzzer_stem)(unsafe.Pointer(pStem)).FpRule = pRule
 61339  		if pRule != 0 && fuzzerCost(tls, pStem) > (*fuzzer_cursor)(unsafe.Pointer(pCur)).FrLimit {
 61340  			(*fuzzer_stem)(unsafe.Pointer(pStem)).FpRule = uintptr(0)
 61341  		}
 61342  	}
 61343  	return 0
 61344  }
 61345  
 61346  func fuzzerMergeStems(tls *libc.TLS, pA uintptr, pB uintptr) uintptr {
 61347  	bp := tls.Alloc(48)
 61348  	defer tls.Free(48)
 61349  
 61350  	var pTail uintptr
 61351  
 61352  	pTail = bp
 61353  	for pA != 0 && pB != 0 {
 61354  		if (*fuzzer_stem)(unsafe.Pointer(pA)).FrCostX <= (*fuzzer_stem)(unsafe.Pointer(pB)).FrCostX {
 61355  			(*fuzzer_stem)(unsafe.Pointer(pTail)).FpNext = pA
 61356  			pTail = pA
 61357  			pA = (*fuzzer_stem)(unsafe.Pointer(pA)).FpNext
 61358  		} else {
 61359  			(*fuzzer_stem)(unsafe.Pointer(pTail)).FpNext = pB
 61360  			pTail = pB
 61361  			pB = (*fuzzer_stem)(unsafe.Pointer(pB)).FpNext
 61362  		}
 61363  	}
 61364  	if pA == uintptr(0) {
 61365  		(*fuzzer_stem)(unsafe.Pointer(pTail)).FpNext = pB
 61366  	} else {
 61367  		(*fuzzer_stem)(unsafe.Pointer(pTail)).FpNext = pA
 61368  	}
 61369  	return (*fuzzer_stem)(unsafe.Pointer(bp)).FpNext
 61370  }
 61371  
 61372  func fuzzerLowestCostStem(tls *libc.TLS, pCur uintptr) uintptr {
 61373  	var pBest uintptr
 61374  	var pX uintptr
 61375  	var iBest int32
 61376  	var i int32
 61377  
 61378  	if (*fuzzer_cursor)(unsafe.Pointer(pCur)).FpStem == uintptr(0) {
 61379  		iBest = -1
 61380  		pBest = uintptr(0)
 61381  		for i = 0; i <= (*fuzzer_cursor)(unsafe.Pointer(pCur)).FmxQueue; i++ {
 61382  			pX = *(*uintptr)(unsafe.Pointer(pCur + 48 + uintptr(i)*8))
 61383  			if pX == uintptr(0) {
 61384  				continue
 61385  			}
 61386  			if pBest == uintptr(0) || (*fuzzer_stem)(unsafe.Pointer(pBest)).FrCostX > (*fuzzer_stem)(unsafe.Pointer(pX)).FrCostX {
 61387  				pBest = pX
 61388  				iBest = i
 61389  			}
 61390  		}
 61391  		if pBest != 0 {
 61392  			*(*uintptr)(unsafe.Pointer(pCur + 48 + uintptr(iBest)*8)) = (*fuzzer_stem)(unsafe.Pointer(pBest)).FpNext
 61393  			(*fuzzer_stem)(unsafe.Pointer(pBest)).FpNext = uintptr(0)
 61394  			(*fuzzer_cursor)(unsafe.Pointer(pCur)).FpStem = pBest
 61395  		}
 61396  	}
 61397  	return (*fuzzer_cursor)(unsafe.Pointer(pCur)).FpStem
 61398  }
 61399  
 61400  func fuzzerInsert(tls *libc.TLS, pCur uintptr, pNew uintptr) uintptr {
 61401  	var pX uintptr
 61402  	var i int32
 61403  
 61404  	if libc.AssignUintptr(&pX, (*fuzzer_cursor)(unsafe.Pointer(pCur)).FpStem) != uintptr(0) && (*fuzzer_stem)(unsafe.Pointer(pX)).FrCostX > (*fuzzer_stem)(unsafe.Pointer(pNew)).FrCostX {
 61405  		(*fuzzer_stem)(unsafe.Pointer(pNew)).FpNext = uintptr(0)
 61406  		(*fuzzer_cursor)(unsafe.Pointer(pCur)).FpStem = pNew
 61407  		pNew = pX
 61408  	}
 61409  
 61410  	(*fuzzer_stem)(unsafe.Pointer(pNew)).FpNext = uintptr(0)
 61411  	pX = pNew
 61412  	for i = 0; i <= (*fuzzer_cursor)(unsafe.Pointer(pCur)).FmxQueue; i++ {
 61413  		if *(*uintptr)(unsafe.Pointer(pCur + 48 + uintptr(i)*8)) != 0 {
 61414  			pX = fuzzerMergeStems(tls, pX, *(*uintptr)(unsafe.Pointer(pCur + 48 + uintptr(i)*8)))
 61415  			*(*uintptr)(unsafe.Pointer(pCur + 48 + uintptr(i)*8)) = uintptr(0)
 61416  		} else {
 61417  			*(*uintptr)(unsafe.Pointer(pCur + 48 + uintptr(i)*8)) = pX
 61418  			break
 61419  		}
 61420  	}
 61421  	if i > (*fuzzer_cursor)(unsafe.Pointer(pCur)).FmxQueue {
 61422  		if i < FUZZER_NQUEUE {
 61423  			(*fuzzer_cursor)(unsafe.Pointer(pCur)).FmxQueue = i
 61424  			*(*uintptr)(unsafe.Pointer(pCur + 48 + uintptr(i)*8)) = pX
 61425  		} else {
 61426  			pX = fuzzerMergeStems(tls, pX, *(*uintptr)(unsafe.Pointer(pCur + 48 + 19*8)))
 61427  			*(*uintptr)(unsafe.Pointer(pCur + 48 + 19*8)) = pX
 61428  		}
 61429  	}
 61430  
 61431  	return fuzzerLowestCostStem(tls, pCur)
 61432  }
 61433  
 61434  func fuzzerNewStem(tls *libc.TLS, pCur uintptr, zWord uintptr, rBaseCost fuzzer_cost) uintptr {
 61435  	var pNew uintptr
 61436  	var pRule uintptr
 61437  	var h uint32
 61438  
 61439  	pNew = sqlite3.Xsqlite3_malloc64(tls, uint64(unsafe.Sizeof(fuzzer_stem{}))+libc.Xstrlen(tls, zWord)+uint64(1))
 61440  	if pNew == uintptr(0) {
 61441  		return uintptr(0)
 61442  	}
 61443  	libc.Xmemset(tls, pNew, 0, uint64(unsafe.Sizeof(fuzzer_stem{})))
 61444  	(*fuzzer_stem)(unsafe.Pointer(pNew)).FzBasis = pNew + 1*48
 61445  	(*fuzzer_stem)(unsafe.Pointer(pNew)).FnBasis = fuzzer_len(libc.Xstrlen(tls, zWord))
 61446  	libc.Xmemcpy(tls, (*fuzzer_stem)(unsafe.Pointer(pNew)).FzBasis, zWord, uint64(int32((*fuzzer_stem)(unsafe.Pointer(pNew)).FnBasis)+1))
 61447  	pRule = (*fuzzer_vtab)(unsafe.Pointer((*fuzzer_cursor)(unsafe.Pointer(pCur)).FpVtab)).FpRule
 61448  	for fuzzerSkipRule(tls, pRule, pNew, (*fuzzer_cursor)(unsafe.Pointer(pCur)).FiRuleset) != 0 {
 61449  		pRule = (*fuzzer_rule)(unsafe.Pointer(pRule)).FpNext
 61450  	}
 61451  	(*fuzzer_stem)(unsafe.Pointer(pNew)).FpRule = pRule
 61452  	(*fuzzer_stem)(unsafe.Pointer(pNew)).Fn = int8(-1)
 61453  	(*fuzzer_stem)(unsafe.Pointer(pNew)).FrBaseCost = libc.AssignPtrInt32(pNew+36, rBaseCost)
 61454  	h = fuzzerHash(tls, (*fuzzer_stem)(unsafe.Pointer(pNew)).FzBasis)
 61455  	(*fuzzer_stem)(unsafe.Pointer(pNew)).FpHash = *(*uintptr)(unsafe.Pointer(pCur + 272 + uintptr(h)*8))
 61456  	*(*uintptr)(unsafe.Pointer(pCur + 272 + uintptr(h)*8)) = pNew
 61457  	(*fuzzer_cursor)(unsafe.Pointer(pCur)).FnStem++
 61458  	return pNew
 61459  }
 61460  
 61461  func fuzzerNext(tls *libc.TLS, cur uintptr) int32 {
 61462  	var pCur uintptr = cur
 61463  	var rc int32
 61464  	var pStem uintptr
 61465  	var pNew uintptr
 61466  
 61467  	(*fuzzer_cursor)(unsafe.Pointer(pCur)).FiRowid++
 61468  
 61469  	pStem = (*fuzzer_cursor)(unsafe.Pointer(pCur)).FpStem
 61470  	if (*fuzzer_stem)(unsafe.Pointer(pStem)).FrCostX > 0 {
 61471  		rc = fuzzerRender(tls, pStem, pCur+216, pCur+224)
 61472  		if rc == SQLITE_NOMEM {
 61473  			return SQLITE_NOMEM
 61474  		}
 61475  		pNew = fuzzerNewStem(tls, pCur, (*fuzzer_cursor)(unsafe.Pointer(pCur)).FzBuf, (*fuzzer_stem)(unsafe.Pointer(pStem)).FrCostX)
 61476  		if pNew != 0 {
 61477  			if fuzzerAdvance(tls, pCur, pNew) == 0 {
 61478  				(*fuzzer_stem)(unsafe.Pointer(pNew)).FpNext = (*fuzzer_cursor)(unsafe.Pointer(pCur)).FpDone
 61479  				(*fuzzer_cursor)(unsafe.Pointer(pCur)).FpDone = pNew
 61480  			} else {
 61481  				if fuzzerInsert(tls, pCur, pNew) == pNew {
 61482  					return SQLITE_OK
 61483  				}
 61484  			}
 61485  		} else {
 61486  			return SQLITE_NOMEM
 61487  		}
 61488  	}
 61489  
 61490  	for libc.AssignUintptr(&pStem, (*fuzzer_cursor)(unsafe.Pointer(pCur)).FpStem) != uintptr(0) {
 61491  		var res int32 = fuzzerAdvance(tls, pCur, pStem)
 61492  		if res < 0 {
 61493  			return SQLITE_NOMEM
 61494  		} else if res > 0 {
 61495  			(*fuzzer_cursor)(unsafe.Pointer(pCur)).FpStem = uintptr(0)
 61496  			pStem = fuzzerInsert(tls, pCur, pStem)
 61497  			if libc.AssignInt32(&rc, fuzzerSeen(tls, pCur, pStem)) != 0 {
 61498  				if rc < 0 {
 61499  					return SQLITE_NOMEM
 61500  				}
 61501  				continue
 61502  			}
 61503  			return SQLITE_OK
 61504  		}
 61505  		(*fuzzer_cursor)(unsafe.Pointer(pCur)).FpStem = uintptr(0)
 61506  		(*fuzzer_stem)(unsafe.Pointer(pStem)).FpNext = (*fuzzer_cursor)(unsafe.Pointer(pCur)).FpDone
 61507  		(*fuzzer_cursor)(unsafe.Pointer(pCur)).FpDone = pStem
 61508  		if fuzzerLowestCostStem(tls, pCur) != 0 {
 61509  			rc = fuzzerSeen(tls, pCur, (*fuzzer_cursor)(unsafe.Pointer(pCur)).FpStem)
 61510  			if rc < 0 {
 61511  				return SQLITE_NOMEM
 61512  			}
 61513  			if rc == 0 {
 61514  				return SQLITE_OK
 61515  			}
 61516  		}
 61517  	}
 61518  
 61519  	(*fuzzer_cursor)(unsafe.Pointer(pCur)).FrLimit = 0
 61520  	return SQLITE_OK
 61521  }
 61522  
 61523  func fuzzerFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 {
 61524  	var pCur uintptr = pVtabCursor
 61525  	var zWord uintptr = ts + 584
 61526  	var pStem uintptr
 61527  	var idx int32
 61528  
 61529  	fuzzerClearCursor(tls, pCur, 1)
 61530  	(*fuzzer_cursor)(unsafe.Pointer(pCur)).FrLimit = 2147483647
 61531  	idx = 0
 61532  	if idxNum&1 != 0 {
 61533  		zWord = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv)))
 61534  		idx++
 61535  	}
 61536  	if idxNum&2 != 0 {
 61537  		(*fuzzer_cursor)(unsafe.Pointer(pCur)).FrLimit = sqlite3.Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(idx)*8)))
 61538  		idx++
 61539  	}
 61540  	if idxNum&4 != 0 {
 61541  		(*fuzzer_cursor)(unsafe.Pointer(pCur)).FiRuleset = sqlite3.Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(idx)*8)))
 61542  		idx++
 61543  	}
 61544  	(*fuzzer_cursor)(unsafe.Pointer(pCur)).FnullRule.FpNext = (*fuzzer_vtab)(unsafe.Pointer((*fuzzer_cursor)(unsafe.Pointer(pCur)).FpVtab)).FpRule
 61545  	(*fuzzer_cursor)(unsafe.Pointer(pCur)).FnullRule.FrCost = 0
 61546  	(*fuzzer_cursor)(unsafe.Pointer(pCur)).FnullRule.FnFrom = int8(0)
 61547  	(*fuzzer_cursor)(unsafe.Pointer(pCur)).FnullRule.FnTo = int8(0)
 61548  	(*fuzzer_cursor)(unsafe.Pointer(pCur)).FnullRule.FzFrom = ts + 584
 61549  	(*fuzzer_cursor)(unsafe.Pointer(pCur)).FiRowid = int64(1)
 61550  
 61551  	if int32(libc.Xstrlen(tls, zWord)) < FUZZER_MX_OUTPUT_LENGTH {
 61552  		(*fuzzer_cursor)(unsafe.Pointer(pCur)).FpStem = libc.AssignUintptr(&pStem, fuzzerNewStem(tls, pCur, zWord, 0))
 61553  		if pStem == uintptr(0) {
 61554  			return SQLITE_NOMEM
 61555  		}
 61556  		(*fuzzer_stem)(unsafe.Pointer(pStem)).FpRule = pCur + 240
 61557  		(*fuzzer_stem)(unsafe.Pointer(pStem)).Fn = (*fuzzer_stem)(unsafe.Pointer(pStem)).FnBasis
 61558  	} else {
 61559  		(*fuzzer_cursor)(unsafe.Pointer(pCur)).FrLimit = 0
 61560  	}
 61561  
 61562  	return SQLITE_OK
 61563  }
 61564  
 61565  func fuzzerColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 {
 61566  	var pCur uintptr = cur
 61567  	if i == 0 {
 61568  		if fuzzerRender(tls, (*fuzzer_cursor)(unsafe.Pointer(pCur)).FpStem, pCur+216, pCur+224) == SQLITE_NOMEM {
 61569  			return SQLITE_NOMEM
 61570  		}
 61571  		sqlite3.Xsqlite3_result_text(tls, ctx, (*fuzzer_cursor)(unsafe.Pointer(pCur)).FzBuf, -1, libc.UintptrFromInt32(-1))
 61572  	} else if i == 1 {
 61573  		sqlite3.Xsqlite3_result_int(tls, ctx, (*fuzzer_stem)(unsafe.Pointer((*fuzzer_cursor)(unsafe.Pointer(pCur)).FpStem)).FrCostX)
 61574  	} else {
 61575  		sqlite3.Xsqlite3_result_null(tls, ctx)
 61576  	}
 61577  	return SQLITE_OK
 61578  }
 61579  
 61580  func fuzzerRowid(tls *libc.TLS, cur uintptr, pRowid uintptr) int32 {
 61581  	var pCur uintptr = cur
 61582  	*(*sqlite_int64)(unsafe.Pointer(pRowid)) = (*fuzzer_cursor)(unsafe.Pointer(pCur)).FiRowid
 61583  	return SQLITE_OK
 61584  }
 61585  
 61586  func fuzzerEof(tls *libc.TLS, cur uintptr) int32 {
 61587  	var pCur uintptr = cur
 61588  	return libc.Bool32((*fuzzer_cursor)(unsafe.Pointer(pCur)).FrLimit <= 0)
 61589  }
 61590  
 61591  func fuzzerBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 {
 61592  	var iPlan int32 = 0
 61593  	var iDistTerm int32 = -1
 61594  	var iRulesetTerm int32 = -1
 61595  	var i int32
 61596  	var seenMatch int32 = 0
 61597  	var pConstraint uintptr
 61598  	var rCost float64 = 1e12
 61599  
 61600  	pConstraint = (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraint
 61601  	i = 0
 61602  __1:
 61603  	if !(i < (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint) {
 61604  		goto __3
 61605  	}
 61606  	{
 61607  		if (*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn == 0 &&
 61608  			int32((*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fop) == SQLITE_INDEX_CONSTRAINT_MATCH {
 61609  			seenMatch = 1
 61610  		}
 61611  		if int32((*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fusable) == 0 {
 61612  			goto __2
 61613  		}
 61614  		if iPlan&1 == 0 &&
 61615  			(*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn == 0 &&
 61616  			int32((*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fop) == SQLITE_INDEX_CONSTRAINT_MATCH {
 61617  			iPlan = iPlan | 1
 61618  			(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(i)*8)).FargvIndex = 1
 61619  			(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(i)*8)).Fomit = uint8(1)
 61620  			rCost = rCost / 1e6
 61621  		}
 61622  		if iPlan&2 == 0 &&
 61623  			(*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn == 1 &&
 61624  			(int32((*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fop) == SQLITE_INDEX_CONSTRAINT_LT ||
 61625  				int32((*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fop) == SQLITE_INDEX_CONSTRAINT_LE) {
 61626  			iPlan = iPlan | 2
 61627  			iDistTerm = i
 61628  			rCost = rCost / 10.0
 61629  		}
 61630  		if iPlan&4 == 0 &&
 61631  			(*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn == 2 &&
 61632  			int32((*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fop) == SQLITE_INDEX_CONSTRAINT_EQ {
 61633  			iPlan = iPlan | 4
 61634  			(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(i)*8)).Fomit = uint8(1)
 61635  			iRulesetTerm = i
 61636  			rCost = rCost / 10.0
 61637  		}
 61638  
 61639  	}
 61640  	goto __2
 61641  __2:
 61642  	i++
 61643  	pConstraint += 12
 61644  	goto __1
 61645  	goto __3
 61646  __3:
 61647  	;
 61648  	if iPlan&2 != 0 {
 61649  		(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iDistTerm)*8)).FargvIndex = 1 + libc.Bool32(iPlan&1 != 0)
 61650  	}
 61651  	if iPlan&4 != 0 {
 61652  		var idx int32 = 1
 61653  		if iPlan&1 != 0 {
 61654  			idx++
 61655  		}
 61656  		if iPlan&2 != 0 {
 61657  			idx++
 61658  		}
 61659  		(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iRulesetTerm)*8)).FargvIndex = idx
 61660  	}
 61661  	(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = iPlan
 61662  	if (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnOrderBy == 1 &&
 61663  		(*sqlite3_index_orderby)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaOrderBy)).FiColumn == 1 &&
 61664  		int32((*sqlite3_index_orderby)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaOrderBy)).Fdesc) == 0 {
 61665  		(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).ForderByConsumed = 1
 61666  	}
 61667  	if seenMatch != 0 && iPlan&1 == 0 {
 61668  		rCost = 1e99
 61669  	}
 61670  	(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = rCost
 61671  
 61672  	return SQLITE_OK
 61673  }
 61674  
 61675  var fuzzerModule = sqlite3_module{
 61676  	FxCreate:     0,
 61677  	FxConnect:    0,
 61678  	FxBestIndex:  0,
 61679  	FxDisconnect: 0,
 61680  	FxDestroy:    0,
 61681  	FxOpen:       0,
 61682  	FxClose:      0,
 61683  	FxFilter:     0,
 61684  	FxNext:       0,
 61685  	FxEof:        0,
 61686  	FxColumn:     0,
 61687  	FxRowid:      0,
 61688  }
 61689  
 61690  func sqlite3_fuzzer_init(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi uintptr) int32 {
 61691  	var rc int32 = SQLITE_OK
 61692  	_ = pApi
 61693  
 61694  	rc = sqlite3.Xsqlite3_create_module(tls, db, ts+5483, uintptr(unsafe.Pointer(&fuzzerModule)), uintptr(0))
 61695  	return rc
 61696  }
 61697  
 61698  func ieee754func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 61699  	bp := tls.Alloc(160)
 61700  	defer tls.Free(160)
 61701  
 61702  	if argc == 1 {
 61703  		var m sqlite3_int64
 61704  
 61705  		var e int32
 61706  		var isNeg int32
 61707  
 61708  		if sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) == SQLITE_BLOB &&
 61709  			uint64(sqlite3.Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv)))) == uint64(unsafe.Sizeof(float64(0))) {
 61710  			var x uintptr = sqlite3.Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(argv)))
 61711  			var i uint32
 61712  			*(*sqlite3_uint64)(unsafe.Pointer(bp + 24)) = uint64(0)
 61713  			for i = uint32(0); uint64(i) < uint64(unsafe.Sizeof(float64(0))); i++ {
 61714  				*(*sqlite3_uint64)(unsafe.Pointer(bp + 24)) = *(*sqlite3_uint64)(unsafe.Pointer(bp + 24))<<8 | sqlite3_uint64(*(*uint8)(unsafe.Pointer(x + uintptr(i))))
 61715  			}
 61716  			libc.Xmemcpy(tls, bp+16, bp+24, uint64(unsafe.Sizeof(float64(0))))
 61717  		} else {
 61718  			*(*float64)(unsafe.Pointer(bp + 16)) = sqlite3.Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv)))
 61719  		}
 61720  		if *(*float64)(unsafe.Pointer(bp + 16)) < 0.0 {
 61721  			isNeg = 1
 61722  			*(*float64)(unsafe.Pointer(bp + 16)) = -*(*float64)(unsafe.Pointer(bp + 16))
 61723  		} else {
 61724  			isNeg = 0
 61725  		}
 61726  		libc.Xmemcpy(tls, bp+32, bp+16, uint64(unsafe.Sizeof(sqlite3_int64(0))))
 61727  		if *(*sqlite3_int64)(unsafe.Pointer(bp + 32)) == int64(0) {
 61728  			e = 0
 61729  			m = int64(0)
 61730  		} else {
 61731  			e = int32(*(*sqlite3_int64)(unsafe.Pointer(bp + 32)) >> 52)
 61732  			m = *(*sqlite3_int64)(unsafe.Pointer(bp + 32)) & (int64(1)<<52 - int64(1))
 61733  			if e == 0 {
 61734  				m <<= 1
 61735  			} else {
 61736  				m = m | int64(1)<<52
 61737  			}
 61738  			for e < 1075 && m > int64(0) && m&int64(1) == int64(0) {
 61739  				m >>= 1
 61740  				e++
 61741  			}
 61742  			if isNeg != 0 {
 61743  				m = -m
 61744  			}
 61745  		}
 61746  		switch *(*int32)(unsafe.Pointer(sqlite3.Xsqlite3_user_data(tls, context))) {
 61747  		case 0:
 61748  			sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+40, ts+5490,
 61749  				libc.VaList(bp, m, e-1075))
 61750  			sqlite3.Xsqlite3_result_text(tls, context, bp+40, -1, libc.UintptrFromInt32(-1))
 61751  			break
 61752  			fallthrough
 61753  		case 1:
 61754  			sqlite3.Xsqlite3_result_int64(tls, context, m)
 61755  			break
 61756  			fallthrough
 61757  		case 2:
 61758  			sqlite3.Xsqlite3_result_int(tls, context, e-1075)
 61759  			break
 61760  		}
 61761  	} else {
 61762  		var m sqlite3_int64
 61763  		var e sqlite3_int64
 61764  
 61765  		var isNeg int32 = 0
 61766  		m = sqlite3.Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv)))
 61767  		e = sqlite3.Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))
 61768  
 61769  		if e > int64(10000) {
 61770  			e = int64(10000)
 61771  		} else if e < int64(-10000) {
 61772  			e = int64(-10000)
 61773  		}
 61774  
 61775  		if m < int64(0) {
 61776  			isNeg = 1
 61777  			m = -m
 61778  			if m < int64(0) {
 61779  				return
 61780  			}
 61781  		} else if m == int64(0) && e > int64(-1000) && e < int64(1000) {
 61782  			sqlite3.Xsqlite3_result_double(tls, context, 0.0)
 61783  			return
 61784  		}
 61785  		for m>>32&int64(0xffe00000) != 0 {
 61786  			m >>= 1
 61787  			e++
 61788  		}
 61789  		for m != int64(0) && m>>32&int64(0xfff00000) == int64(0) {
 61790  			m <<= 1
 61791  			e--
 61792  		}
 61793  		e = e + int64(1075)
 61794  		if e <= int64(0) {
 61795  			if int64(1)-e >= int64(64) {
 61796  				m = int64(0)
 61797  			} else {
 61798  				m >>= int64(1) - e
 61799  			}
 61800  			e = int64(0)
 61801  		} else if e > int64(0x7ff) {
 61802  			e = int64(0x7ff)
 61803  		}
 61804  		*(*sqlite3_int64)(unsafe.Pointer(bp + 152)) = m & (int64(1)<<52 - int64(1))
 61805  		*(*sqlite3_int64)(unsafe.Pointer(bp + 152)) |= e << 52
 61806  		if isNeg != 0 {
 61807  			*(*sqlite3_int64)(unsafe.Pointer(bp + 152)) |= libc.Int64FromUint64(uint64(1) << 63)
 61808  		}
 61809  		libc.Xmemcpy(tls, bp+144, bp+152, uint64(unsafe.Sizeof(float64(0))))
 61810  		sqlite3.Xsqlite3_result_double(tls, context, *(*float64)(unsafe.Pointer(bp + 144)))
 61811  	}
 61812  }
 61813  
 61814  func ieee754func_from_blob(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 61815  	bp := tls.Alloc(16)
 61816  	defer tls.Free(16)
 61817  
 61818  	_ = argc
 61819  	if sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) == SQLITE_BLOB &&
 61820  		uint64(sqlite3.Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv)))) == uint64(unsafe.Sizeof(float64(0))) {
 61821  		var x uintptr = sqlite3.Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(argv)))
 61822  		var i uint32
 61823  		*(*sqlite3_uint64)(unsafe.Pointer(bp + 8)) = uint64(0)
 61824  		for i = uint32(0); uint64(i) < uint64(unsafe.Sizeof(float64(0))); i++ {
 61825  			*(*sqlite3_uint64)(unsafe.Pointer(bp + 8)) = *(*sqlite3_uint64)(unsafe.Pointer(bp + 8))<<8 | sqlite3_uint64(*(*uint8)(unsafe.Pointer(x + uintptr(i))))
 61826  		}
 61827  		libc.Xmemcpy(tls, bp, bp+8, uint64(unsafe.Sizeof(float64(0))))
 61828  		sqlite3.Xsqlite3_result_double(tls, context, *(*float64)(unsafe.Pointer(bp)))
 61829  	}
 61830  }
 61831  
 61832  func ieee754func_to_blob(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 61833  	bp := tls.Alloc(24)
 61834  	defer tls.Free(24)
 61835  
 61836  	_ = argc
 61837  	if sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) == SQLITE_FLOAT ||
 61838  		sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) == SQLITE_INTEGER {
 61839  		*(*float64)(unsafe.Pointer(bp + 8)) = sqlite3.Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv)))
 61840  
 61841  		var i uint32
 61842  		libc.Xmemcpy(tls, bp, bp+8, uint64(unsafe.Sizeof(float64(0))))
 61843  		for i = uint32(1); uint64(i) <= uint64(unsafe.Sizeof(float64(0))); i++ {
 61844  			*(*uint8)(unsafe.Pointer(bp + 16 + uintptr(uint64(unsafe.Sizeof(float64(0)))-uint64(i)))) = uint8(*(*sqlite3_uint64)(unsafe.Pointer(bp)) & uint64(0xff))
 61845  			*(*sqlite3_uint64)(unsafe.Pointer(bp)) >>= 8
 61846  		}
 61847  		sqlite3.Xsqlite3_result_blob(tls, context, bp+16, int32(unsafe.Sizeof(float64(0))), libc.UintptrFromInt32(-1))
 61848  	}
 61849  }
 61850  
 61851  func sqlite3_ieee_init(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi uintptr) int32 {
 61852  	var i uint32
 61853  	var rc int32 = SQLITE_OK
 61854  	_ = pApi
 61855  
 61856  	_ = pzErrMsg
 61857  	for i = uint32(0); uint64(i) < uint64(unsafe.Sizeof(aFunc1))/uint64(unsafe.Sizeof(struct {
 61858  		FzFName uintptr
 61859  		FnArg   int32
 61860  		FiAux   int32
 61861  		FxFunc  uintptr
 61862  	}{})) && rc == SQLITE_OK; i++ {
 61863  		rc = sqlite3.Xsqlite3_create_function(tls, db, aFunc1[i].FzFName, aFunc1[i].FnArg,
 61864  			SQLITE_UTF8|SQLITE_INNOCUOUS,
 61865  			uintptr(unsafe.Pointer(&aFunc1))+uintptr(i)*24+12,
 61866  			aFunc1[i].FxFunc, uintptr(0), uintptr(0))
 61867  	}
 61868  	return rc
 61869  }
 61870  
 61871  var aFunc1 = [6]struct {
 61872  	FzFName uintptr
 61873  	FnArg   int32
 61874  	FiAux   int32
 61875  	FxFunc  uintptr
 61876  }{
 61877  	{FzFName: ts + 5507, FnArg: 1, FxFunc: 0},
 61878  	{FzFName: ts + 5507, FnArg: 2, FxFunc: 0},
 61879  	{FzFName: ts + 5515, FnArg: 1, FiAux: 1, FxFunc: 0},
 61880  	{FzFName: ts + 5532, FnArg: 1, FiAux: 2, FxFunc: 0},
 61881  	{FzFName: ts + 5549, FnArg: 1, FxFunc: 0},
 61882  	{FzFName: ts + 5565, FnArg: 1, FxFunc: 0},
 61883  }
 61884  
 61885  func sqlite3_mmap_warm(tls *libc.TLS, db uintptr, zDb uintptr) int32 {
 61886  	bp := tls.Alloc(88)
 61887  	defer tls.Free(88)
 61888  
 61889  	var rc int32 = SQLITE_OK
 61890  	var zSql uintptr = uintptr(0)
 61891  	var pgsz int32 = 0
 61892  	var nTotal int32 = 0
 61893  
 61894  	if 0 == sqlite3.Xsqlite3_get_autocommit(tls, db) {
 61895  		return SQLITE_MISUSE
 61896  	}
 61897  
 61898  	zSql = sqlite3.Xsqlite3_mprintf(tls, ts+5583,
 61899  		libc.VaList(bp, func() uintptr {
 61900  			if zDb != 0 {
 61901  				return ts + 5624
 61902  			}
 61903  			return ts + 584
 61904  		}(), func() uintptr {
 61905  			if zDb != 0 {
 61906  				return zDb
 61907  			}
 61908  			return ts + 584
 61909  		}(), func() uintptr {
 61910  			if zDb != 0 {
 61911  				return ts + 5626
 61912  			}
 61913  			return ts + 584
 61914  		}()))
 61915  	if zSql == uintptr(0) {
 61916  		return SQLITE_NOMEM
 61917  	}
 61918  	rc = sqlite3.Xsqlite3_exec(tls, db, zSql, uintptr(0), uintptr(0), uintptr(0))
 61919  	sqlite3.Xsqlite3_free(tls, zSql)
 61920  
 61921  	if rc == SQLITE_OK {
 61922  		zSql = sqlite3.Xsqlite3_mprintf(tls, ts+5629,
 61923  			libc.VaList(bp+24, func() uintptr {
 61924  				if zDb != 0 {
 61925  					return ts + 5624
 61926  				}
 61927  				return ts + 584
 61928  			}(), func() uintptr {
 61929  				if zDb != 0 {
 61930  					return zDb
 61931  				}
 61932  				return ts + 584
 61933  			}(), func() uintptr {
 61934  				if zDb != 0 {
 61935  					return ts + 5626
 61936  				}
 61937  				return ts + 584
 61938  			}()))
 61939  		if zSql == uintptr(0) {
 61940  			rc = SQLITE_NOMEM
 61941  		} else {
 61942  			*(*uintptr)(unsafe.Pointer(bp + 64)) = uintptr(0)
 61943  			rc = sqlite3.Xsqlite3_prepare_v2(tls, db, zSql, -1, bp+64, uintptr(0))
 61944  			sqlite3.Xsqlite3_free(tls, zSql)
 61945  			if rc == SQLITE_OK {
 61946  				if sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 64))) == SQLITE_ROW {
 61947  					pgsz = sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), 0)
 61948  				}
 61949  				rc = sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 64)))
 61950  			}
 61951  			if rc == SQLITE_OK && pgsz == 0 {
 61952  				rc = SQLITE_ERROR
 61953  			}
 61954  		}
 61955  	}
 61956  
 61957  	if rc == SQLITE_OK {
 61958  		var rc2 int32
 61959  		*(*uintptr)(unsafe.Pointer(bp + 72)) = uintptr(0)
 61960  		rc = sqlite3.Xsqlite3_file_control(tls, db, zDb, SQLITE_FCNTL_FILE_POINTER, bp+72)
 61961  		if rc == SQLITE_OK && (*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 72)))).FpMethods)).FiVersion >= 3 {
 61962  			var iPg sqlite3_int64 = int64(1)
 61963  			var p uintptr = (*sqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 72)))).FpMethods
 61964  			for 1 != 0 {
 61965  				rc = (*struct {
 61966  					f func(*libc.TLS, uintptr, sqlite3_int64, int32, uintptr) int32
 61967  				})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer(p)).FxFetch})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 72)), sqlite3_int64(pgsz)*iPg, pgsz, bp+80)
 61968  				if rc != SQLITE_OK || *(*uintptr)(unsafe.Pointer(bp + 80)) == uintptr(0) {
 61969  					break
 61970  				}
 61971  
 61972  				nTotal = nTotal + int32(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 80)))))
 61973  				nTotal = nTotal + int32(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 80)) + uintptr(pgsz-1))))
 61974  
 61975  				rc = (*struct {
 61976  					f func(*libc.TLS, uintptr, sqlite3_int64, uintptr) int32
 61977  				})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer(p)).FxUnfetch})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 72)), sqlite3_int64(pgsz)*iPg, *(*uintptr)(unsafe.Pointer(bp + 80)))
 61978  				if rc != SQLITE_OK {
 61979  					break
 61980  				}
 61981  				iPg++
 61982  			}
 61983  			sqlite3.Xsqlite3_log(tls, SQLITE_OK,
 61984  				ts+5652, libc.VaList(bp+48, func() int64 {
 61985  					if iPg == int64(1) {
 61986  						return int64(0)
 61987  					}
 61988  					return iPg
 61989  				}(),
 61990  					sqlite3.Xsqlite3_db_filename(tls, db, zDb)))
 61991  		}
 61992  
 61993  		rc2 = sqlite3.Xsqlite3_exec(tls, db, ts+5702, uintptr(0), uintptr(0), uintptr(0))
 61994  		if rc == SQLITE_OK {
 61995  			rc = rc2
 61996  		}
 61997  	}
 61998  
 61999  	return rc
 62000  }
 62001  
 62002  type nextCharContext1 = struct {
 62003  	Fdb           uintptr
 62004  	FpStmt        uintptr
 62005  	FzPrefix      uintptr
 62006  	FnPrefix      int32
 62007  	FnAlloc       int32
 62008  	FnUsed        int32
 62009  	F__ccgo_pad1  [4]byte
 62010  	FaResult      uintptr
 62011  	FmallocFailed int32
 62012  	FotherError   int32
 62013  }
 62014  
 62015  type nextCharContext = nextCharContext1
 62016  
 62017  func nextCharAppend(tls *libc.TLS, p uintptr, c uint32) {
 62018  	var i int32
 62019  	for i = 0; i < (*nextCharContext)(unsafe.Pointer(p)).FnUsed; i++ {
 62020  		if *(*uint32)(unsafe.Pointer((*nextCharContext)(unsafe.Pointer(p)).FaResult + uintptr(i)*4)) == c {
 62021  			return
 62022  		}
 62023  	}
 62024  	if (*nextCharContext)(unsafe.Pointer(p)).FnUsed+1 > (*nextCharContext)(unsafe.Pointer(p)).FnAlloc {
 62025  		var aNew uintptr
 62026  		var n int32 = (*nextCharContext)(unsafe.Pointer(p)).FnAlloc*2 + 30
 62027  		aNew = sqlite3.Xsqlite3_realloc64(tls, (*nextCharContext)(unsafe.Pointer(p)).FaResult, uint64(n)*uint64(unsafe.Sizeof(uint32(0))))
 62028  		if aNew == uintptr(0) {
 62029  			(*nextCharContext)(unsafe.Pointer(p)).FmallocFailed = 1
 62030  			return
 62031  		} else {
 62032  			(*nextCharContext)(unsafe.Pointer(p)).FaResult = aNew
 62033  			(*nextCharContext)(unsafe.Pointer(p)).FnAlloc = n
 62034  		}
 62035  	}
 62036  	*(*uint32)(unsafe.Pointer((*nextCharContext)(unsafe.Pointer(p)).FaResult + uintptr(libc.PostIncInt32(&(*nextCharContext)(unsafe.Pointer(p)).FnUsed, 1))*4)) = c
 62037  }
 62038  
 62039  func writeUtf8(tls *libc.TLS, z uintptr, c uint32) int32 {
 62040  	if c < uint32(0x00080) {
 62041  		*(*uint8)(unsafe.Pointer(z)) = uint8(c & uint32(0xff))
 62042  		return 1
 62043  	}
 62044  	if c < uint32(0x00800) {
 62045  		*(*uint8)(unsafe.Pointer(z)) = uint8(0xC0 + int32(uint8(c>>6&uint32(0x1F))))
 62046  		*(*uint8)(unsafe.Pointer(z + 1)) = uint8(0x80 + int32(uint8(c&uint32(0x3F))))
 62047  		return 2
 62048  	}
 62049  	if c < uint32(0x10000) {
 62050  		*(*uint8)(unsafe.Pointer(z)) = uint8(0xE0 + int32(uint8(c>>12&uint32(0x0F))))
 62051  		*(*uint8)(unsafe.Pointer(z + 1)) = uint8(0x80 + int32(uint8(c>>6&uint32(0x3F))))
 62052  		*(*uint8)(unsafe.Pointer(z + 2)) = uint8(0x80 + int32(uint8(c&uint32(0x3F))))
 62053  		return 3
 62054  	}
 62055  	*(*uint8)(unsafe.Pointer(z)) = uint8(0xF0 + int32(uint8(c>>18&uint32(0x07))))
 62056  	*(*uint8)(unsafe.Pointer(z + 1)) = uint8(0x80 + int32(uint8(c>>12&uint32(0x3F))))
 62057  	*(*uint8)(unsafe.Pointer(z + 2)) = uint8(0x80 + int32(uint8(c>>6&uint32(0x3F))))
 62058  	*(*uint8)(unsafe.Pointer(z + 3)) = uint8(0x80 + int32(uint8(c&uint32(0x3F))))
 62059  	return 4
 62060  }
 62061  
 62062  func readUtf8(tls *libc.TLS, z uintptr, pOut uintptr) int32 {
 62063  	var c uint32 = uint32(*(*uint8)(unsafe.Pointer(z)))
 62064  	if c < uint32(0xc0) {
 62065  		*(*uint32)(unsafe.Pointer(pOut)) = c
 62066  		return 1
 62067  	} else {
 62068  		var n int32 = 1
 62069  		c = uint32(validBits[c-uint32(0xc0)])
 62070  		for int32(*(*uint8)(unsafe.Pointer(z + uintptr(n))))&0xc0 == 0x80 {
 62071  			c = c<<6 + uint32(0x3f&int32(*(*uint8)(unsafe.Pointer(z + uintptr(libc.PostIncInt32(&n, 1))))))
 62072  		}
 62073  		if c < uint32(0x80) || c&0xFFFFF800 == uint32(0xD800) || c&0xFFFFFFFE == uint32(0xFFFE) {
 62074  			c = uint32(0xFFFD)
 62075  		}
 62076  		*(*uint32)(unsafe.Pointer(pOut)) = c
 62077  		return n
 62078  	}
 62079  	return int32(0)
 62080  }
 62081  
 62082  var validBits = [64]uint8{
 62083  	uint8(0x00), uint8(0x01), uint8(0x02), uint8(0x03), uint8(0x04), uint8(0x05), uint8(0x06), uint8(0x07),
 62084  	uint8(0x08), uint8(0x09), uint8(0x0a), uint8(0x0b), uint8(0x0c), uint8(0x0d), uint8(0x0e), uint8(0x0f),
 62085  	uint8(0x10), uint8(0x11), uint8(0x12), uint8(0x13), uint8(0x14), uint8(0x15), uint8(0x16), uint8(0x17),
 62086  	uint8(0x18), uint8(0x19), uint8(0x1a), uint8(0x1b), uint8(0x1c), uint8(0x1d), uint8(0x1e), uint8(0x1f),
 62087  	uint8(0x00), uint8(0x01), uint8(0x02), uint8(0x03), uint8(0x04), uint8(0x05), uint8(0x06), uint8(0x07),
 62088  	uint8(0x08), uint8(0x09), uint8(0x0a), uint8(0x0b), uint8(0x0c), uint8(0x0d), uint8(0x0e), uint8(0x0f),
 62089  	uint8(0x00), uint8(0x01), uint8(0x02), uint8(0x03), uint8(0x04), uint8(0x05), uint8(0x06), uint8(0x07),
 62090  	uint8(0x00), uint8(0x01), uint8(0x02), uint8(0x03), uint8(0x00), uint8(0x01), uint8(0x00), uint8(0x00),
 62091  }
 62092  
 62093  func findNextChars(tls *libc.TLS, p uintptr) {
 62094  	bp := tls.Alloc(12)
 62095  	defer tls.Free(12)
 62096  
 62097  	var cPrev uint32 = uint32(0)
 62098  
 62099  	var n int32
 62100  	var rc int32
 62101  
 62102  	for {
 62103  		sqlite3.Xsqlite3_bind_text(tls, (*nextCharContext)(unsafe.Pointer(p)).FpStmt, 1, (*nextCharContext)(unsafe.Pointer(p)).FzPrefix, (*nextCharContext)(unsafe.Pointer(p)).FnPrefix,
 62104  			uintptr(0))
 62105  		n = writeUtf8(tls, bp, cPrev+uint32(1))
 62106  		sqlite3.Xsqlite3_bind_text(tls, (*nextCharContext)(unsafe.Pointer(p)).FpStmt, 2, bp, n, uintptr(0))
 62107  		rc = sqlite3.Xsqlite3_step(tls, (*nextCharContext)(unsafe.Pointer(p)).FpStmt)
 62108  		if rc == SQLITE_DONE {
 62109  			sqlite3.Xsqlite3_reset(tls, (*nextCharContext)(unsafe.Pointer(p)).FpStmt)
 62110  			return
 62111  		} else if rc != SQLITE_ROW {
 62112  			(*nextCharContext)(unsafe.Pointer(p)).FotherError = rc
 62113  			return
 62114  		} else {
 62115  			var zOut uintptr = sqlite3.Xsqlite3_column_text(tls, (*nextCharContext)(unsafe.Pointer(p)).FpStmt, 0)
 62116  
 62117  			n = readUtf8(tls, zOut+uintptr((*nextCharContext)(unsafe.Pointer(p)).FnPrefix), bp+8)
 62118  			sqlite3.Xsqlite3_reset(tls, (*nextCharContext)(unsafe.Pointer(p)).FpStmt)
 62119  			nextCharAppend(tls, p, *(*uint32)(unsafe.Pointer(bp + 8)))
 62120  			cPrev = *(*uint32)(unsafe.Pointer(bp + 8))
 62121  			if (*nextCharContext)(unsafe.Pointer(p)).FmallocFailed != 0 {
 62122  				return
 62123  			}
 62124  		}
 62125  	}
 62126  }
 62127  
 62128  func nextCharFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 62129  	bp := tls.Alloc(136)
 62130  	defer tls.Free(136)
 62131  
 62132  	var zTable uintptr = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))
 62133  	var zField uintptr = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)))
 62134  	var zWhere uintptr
 62135  	var zCollName uintptr
 62136  	var zWhereClause uintptr = uintptr(0)
 62137  	var zColl uintptr = uintptr(0)
 62138  	var zSql uintptr
 62139  	var rc int32
 62140  
 62141  	libc.Xmemset(tls, bp+80, 0, uint64(unsafe.Sizeof(nextCharContext{})))
 62142  	(*nextCharContext)(unsafe.Pointer(bp + 80)).Fdb = sqlite3.Xsqlite3_context_db_handle(tls, context)
 62143  	(*nextCharContext)(unsafe.Pointer(bp + 80)).FzPrefix = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv)))
 62144  	(*nextCharContext)(unsafe.Pointer(bp + 80)).FnPrefix = sqlite3.Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv)))
 62145  	if zTable == uintptr(0) || zField == uintptr(0) || (*nextCharContext)(unsafe.Pointer(bp+80)).FzPrefix == uintptr(0) {
 62146  		return
 62147  	}
 62148  	if argc >= 4 &&
 62149  		libc.AssignUintptr(&zWhere, sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)))) != uintptr(0) &&
 62150  		int32(*(*uint8)(unsafe.Pointer(zWhere))) != 0 {
 62151  		zWhereClause = sqlite3.Xsqlite3_mprintf(tls, ts+5706, libc.VaList(bp, zWhere))
 62152  		if zWhereClause == uintptr(0) {
 62153  			sqlite3.Xsqlite3_result_error_nomem(tls, context)
 62154  			return
 62155  		}
 62156  	} else {
 62157  		zWhereClause = ts + 584
 62158  	}
 62159  	if argc >= 5 &&
 62160  		libc.AssignUintptr(&zCollName, sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 4*8)))) != uintptr(0) &&
 62161  		int32(*(*uint8)(unsafe.Pointer(zCollName))) != 0 {
 62162  		zColl = sqlite3.Xsqlite3_mprintf(tls, ts+5715, libc.VaList(bp+8, zCollName))
 62163  		if zColl == uintptr(0) {
 62164  			sqlite3.Xsqlite3_result_error_nomem(tls, context)
 62165  			if *(*int8)(unsafe.Pointer(zWhereClause)) != 0 {
 62166  				sqlite3.Xsqlite3_free(tls, zWhereClause)
 62167  			}
 62168  			return
 62169  		}
 62170  	} else {
 62171  		zColl = ts + 584
 62172  	}
 62173  	zSql = sqlite3.Xsqlite3_mprintf(tls,
 62174  		ts+5728,
 62175  		libc.VaList(bp+16, zField, zTable, zField, zColl, zField, zColl, zWhereClause, zColl))
 62176  	if *(*int8)(unsafe.Pointer(zWhereClause)) != 0 {
 62177  		sqlite3.Xsqlite3_free(tls, zWhereClause)
 62178  	}
 62179  	if *(*int8)(unsafe.Pointer(zColl)) != 0 {
 62180  		sqlite3.Xsqlite3_free(tls, zColl)
 62181  	}
 62182  	if zSql == uintptr(0) {
 62183  		sqlite3.Xsqlite3_result_error_nomem(tls, context)
 62184  		return
 62185  	}
 62186  
 62187  	rc = sqlite3.Xsqlite3_prepare_v2(tls, (*nextCharContext)(unsafe.Pointer(bp+80)).Fdb, zSql, -1, bp+80+8, uintptr(0))
 62188  	sqlite3.Xsqlite3_free(tls, zSql)
 62189  	if rc != 0 {
 62190  		sqlite3.Xsqlite3_result_error(tls, context, sqlite3.Xsqlite3_errmsg(tls, (*nextCharContext)(unsafe.Pointer(bp+80)).Fdb), -1)
 62191  		return
 62192  	}
 62193  	findNextChars(tls, bp+80)
 62194  	if (*nextCharContext)(unsafe.Pointer(bp+80)).FmallocFailed != 0 {
 62195  		sqlite3.Xsqlite3_result_error_nomem(tls, context)
 62196  	} else {
 62197  		var pRes uintptr
 62198  		pRes = sqlite3.Xsqlite3_malloc64(tls, uint64((*nextCharContext)(unsafe.Pointer(bp+80)).FnUsed*4+1))
 62199  		if pRes == uintptr(0) {
 62200  			sqlite3.Xsqlite3_result_error_nomem(tls, context)
 62201  		} else {
 62202  			var i int32
 62203  			var n int32 = 0
 62204  			for i = 0; i < (*nextCharContext)(unsafe.Pointer(bp+80)).FnUsed; i++ {
 62205  				n = n + writeUtf8(tls, pRes+uintptr(n), *(*uint32)(unsafe.Pointer((*nextCharContext)(unsafe.Pointer(bp+80)).FaResult + uintptr(i)*4)))
 62206  			}
 62207  			*(*uint8)(unsafe.Pointer(pRes + uintptr(n))) = uint8(0)
 62208  			sqlite3.Xsqlite3_result_text(tls, context, pRes, n, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sqlite3.Xsqlite3_free})))
 62209  		}
 62210  	}
 62211  	sqlite3.Xsqlite3_finalize(tls, (*nextCharContext)(unsafe.Pointer(bp+80)).FpStmt)
 62212  	sqlite3.Xsqlite3_free(tls, (*nextCharContext)(unsafe.Pointer(bp+80)).FaResult)
 62213  }
 62214  
 62215  func sqlite3_nextchar_init(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi uintptr) int32 {
 62216  	var rc int32 = SQLITE_OK
 62217  	_ = pApi
 62218  
 62219  	_ = pzErrMsg
 62220  	rc = sqlite3.Xsqlite3_create_function(tls, db, ts+5836, 3,
 62221  		SQLITE_UTF8|SQLITE_INNOCUOUS, uintptr(0),
 62222  		*(*uintptr)(unsafe.Pointer(&struct {
 62223  			f func(*libc.TLS, uintptr, int32, uintptr)
 62224  		}{nextCharFunc})), uintptr(0), uintptr(0))
 62225  	if rc == SQLITE_OK {
 62226  		rc = sqlite3.Xsqlite3_create_function(tls, db, ts+5836, 4,
 62227  			SQLITE_UTF8|SQLITE_INNOCUOUS, uintptr(0),
 62228  			*(*uintptr)(unsafe.Pointer(&struct {
 62229  				f func(*libc.TLS, uintptr, int32, uintptr)
 62230  			}{nextCharFunc})), uintptr(0), uintptr(0))
 62231  	}
 62232  	if rc == SQLITE_OK {
 62233  		rc = sqlite3.Xsqlite3_create_function(tls, db, ts+5836, 5,
 62234  			SQLITE_UTF8|SQLITE_INNOCUOUS, uintptr(0),
 62235  			*(*uintptr)(unsafe.Pointer(&struct {
 62236  				f func(*libc.TLS, uintptr, int32, uintptr)
 62237  			}{nextCharFunc})), uintptr(0), uintptr(0))
 62238  	}
 62239  	return rc
 62240  }
 62241  
 62242  var aiClass = [256]uint8{
 62243  	uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(7), uint8(7), uint8(27), uint8(7), uint8(7), uint8(27), uint8(27),
 62244  	uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27), uint8(27),
 62245  	uint8(7), uint8(15), uint8(8), uint8(5), uint8(4), uint8(22), uint8(24), uint8(8), uint8(17), uint8(18), uint8(21), uint8(20), uint8(23), uint8(11), uint8(26), uint8(16),
 62246  	uint8(3), uint8(3), uint8(3), uint8(3), uint8(3), uint8(3), uint8(3), uint8(3), uint8(3), uint8(3), uint8(5), uint8(19), uint8(12), uint8(14), uint8(13), uint8(6),
 62247  	uint8(5), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1),
 62248  	uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(0), uint8(1), uint8(1), uint8(9), uint8(27), uint8(27), uint8(27), uint8(1),
 62249  	uint8(8), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1),
 62250  	uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(1), uint8(0), uint8(1), uint8(1), uint8(27), uint8(10), uint8(27), uint8(25), uint8(27),
 62251  	uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2),
 62252  	uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2),
 62253  	uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2),
 62254  	uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2),
 62255  	uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2),
 62256  	uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2),
 62257  	uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2),
 62258  	uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2), uint8(2),
 62259  }
 62260  
 62261  var sqlite3UpperToLower = [256]uint8{
 62262  	uint8(0), uint8(1), uint8(2), uint8(3), uint8(4), uint8(5), uint8(6), uint8(7), uint8(8), uint8(9), uint8(10), uint8(11), uint8(12), uint8(13), uint8(14), uint8(15), uint8(16), uint8(17),
 62263  	uint8(18), uint8(19), uint8(20), uint8(21), uint8(22), uint8(23), uint8(24), uint8(25), uint8(26), uint8(27), uint8(28), uint8(29), uint8(30), uint8(31), uint8(32), uint8(33), uint8(34), uint8(35),
 62264  	uint8(36), uint8(37), uint8(38), uint8(39), uint8(40), uint8(41), uint8(42), uint8(43), uint8(44), uint8(45), uint8(46), uint8(47), uint8(48), uint8(49), uint8(50), uint8(51), uint8(52), uint8(53),
 62265  	uint8(54), uint8(55), uint8(56), uint8(57), uint8(58), uint8(59), uint8(60), uint8(61), uint8(62), uint8(63), uint8(64), uint8(97), uint8(98), uint8(99), uint8(100), uint8(101), uint8(102), uint8(103),
 62266  	uint8(104), uint8(105), uint8(106), uint8(107), uint8(108), uint8(109), uint8(110), uint8(111), uint8(112), uint8(113), uint8(114), uint8(115), uint8(116), uint8(117), uint8(118), uint8(119), uint8(120), uint8(121),
 62267  	uint8(122), uint8(91), uint8(92), uint8(93), uint8(94), uint8(95), uint8(96), uint8(97), uint8(98), uint8(99), uint8(100), uint8(101), uint8(102), uint8(103), uint8(104), uint8(105), uint8(106), uint8(107),
 62268  	uint8(108), uint8(109), uint8(110), uint8(111), uint8(112), uint8(113), uint8(114), uint8(115), uint8(116), uint8(117), uint8(118), uint8(119), uint8(120), uint8(121), uint8(122), uint8(123), uint8(124), uint8(125),
 62269  	uint8(126), uint8(127), uint8(128), uint8(129), uint8(130), uint8(131), uint8(132), uint8(133), uint8(134), uint8(135), uint8(136), uint8(137), uint8(138), uint8(139), uint8(140), uint8(141), uint8(142), uint8(143),
 62270  	uint8(144), uint8(145), uint8(146), uint8(147), uint8(148), uint8(149), uint8(150), uint8(151), uint8(152), uint8(153), uint8(154), uint8(155), uint8(156), uint8(157), uint8(158), uint8(159), uint8(160), uint8(161),
 62271  	uint8(162), uint8(163), uint8(164), uint8(165), uint8(166), uint8(167), uint8(168), uint8(169), uint8(170), uint8(171), uint8(172), uint8(173), uint8(174), uint8(175), uint8(176), uint8(177), uint8(178), uint8(179),
 62272  	uint8(180), uint8(181), uint8(182), uint8(183), uint8(184), uint8(185), uint8(186), uint8(187), uint8(188), uint8(189), uint8(190), uint8(191), uint8(192), uint8(193), uint8(194), uint8(195), uint8(196), uint8(197),
 62273  	uint8(198), uint8(199), uint8(200), uint8(201), uint8(202), uint8(203), uint8(204), uint8(205), uint8(206), uint8(207), uint8(208), uint8(209), uint8(210), uint8(211), uint8(212), uint8(213), uint8(214), uint8(215),
 62274  	uint8(216), uint8(217), uint8(218), uint8(219), uint8(220), uint8(221), uint8(222), uint8(223), uint8(224), uint8(225), uint8(226), uint8(227), uint8(228), uint8(229), uint8(230), uint8(231), uint8(232), uint8(233),
 62275  	uint8(234), uint8(235), uint8(236), uint8(237), uint8(238), uint8(239), uint8(240), uint8(241), uint8(242), uint8(243), uint8(244), uint8(245), uint8(246), uint8(247), uint8(248), uint8(249), uint8(250), uint8(251),
 62276  	uint8(252), uint8(253), uint8(254), uint8(255),
 62277  }
 62278  
 62279  var sqlite3CtypeMap = [256]uint8{
 62280  	uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00),
 62281  	uint8(0x00), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x00), uint8(0x00),
 62282  	uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00),
 62283  	uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00),
 62284  	uint8(0x01), uint8(0x00), uint8(0x80), uint8(0x00), uint8(0x40), uint8(0x00), uint8(0x00), uint8(0x80),
 62285  	uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00),
 62286  	uint8(0x0c), uint8(0x0c), uint8(0x0c), uint8(0x0c), uint8(0x0c), uint8(0x0c), uint8(0x0c), uint8(0x0c),
 62287  	uint8(0x0c), uint8(0x0c), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00),
 62288  	uint8(0x00), uint8(0x0a), uint8(0x0a), uint8(0x0a), uint8(0x0a), uint8(0x0a), uint8(0x0a), uint8(0x02),
 62289  	uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x02),
 62290  	uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x02),
 62291  	uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x80), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x40),
 62292  	uint8(0x80), uint8(0x2a), uint8(0x2a), uint8(0x2a), uint8(0x2a), uint8(0x2a), uint8(0x2a), uint8(0x22),
 62293  	uint8(0x22), uint8(0x22), uint8(0x22), uint8(0x22), uint8(0x22), uint8(0x22), uint8(0x22), uint8(0x22),
 62294  	uint8(0x22), uint8(0x22), uint8(0x22), uint8(0x22), uint8(0x22), uint8(0x22), uint8(0x22), uint8(0x22),
 62295  	uint8(0x22), uint8(0x22), uint8(0x22), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00),
 62296  	uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40),
 62297  	uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40),
 62298  	uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40),
 62299  	uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40),
 62300  	uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40),
 62301  	uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40),
 62302  	uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40),
 62303  	uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40),
 62304  	uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40),
 62305  	uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40),
 62306  	uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40),
 62307  	uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40),
 62308  	uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40),
 62309  	uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40),
 62310  	uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40),
 62311  	uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40),
 62312  }
 62313  
 62314  func sqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) int32 {
 62315  	var i int32
 62316  	var c int32
 62317  	switch int32(aiClass[*(*uint8)(unsafe.Pointer(z))]) {
 62318  	case CC_SPACE:
 62319  		{
 62320  			for i = 1; int32(sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&0x01 != 0; i++ {
 62321  			}
 62322  			*(*int32)(unsafe.Pointer(tokenType)) = TK_SPACE
 62323  			return i
 62324  
 62325  		}
 62326  	case CC_MINUS:
 62327  		{
 62328  			if int32(*(*uint8)(unsafe.Pointer(z + 1))) == '-' {
 62329  				for i = 2; libc.AssignInt32(&c, int32(*(*uint8)(unsafe.Pointer(z + uintptr(i))))) != 0 && c != '\n'; i++ {
 62330  				}
 62331  				*(*int32)(unsafe.Pointer(tokenType)) = TK_SPACE
 62332  				return i
 62333  			}
 62334  			*(*int32)(unsafe.Pointer(tokenType)) = TK_PUNCT
 62335  			return 1
 62336  
 62337  		}
 62338  	case CC_LP:
 62339  		{
 62340  			*(*int32)(unsafe.Pointer(tokenType)) = TK_PUNCT
 62341  			return 1
 62342  
 62343  		}
 62344  	case CC_RP:
 62345  		{
 62346  			*(*int32)(unsafe.Pointer(tokenType)) = TK_PUNCT
 62347  			return 1
 62348  
 62349  		}
 62350  	case CC_SEMI:
 62351  		{
 62352  			*(*int32)(unsafe.Pointer(tokenType)) = TK_PUNCT
 62353  			return 1
 62354  
 62355  		}
 62356  	case CC_PLUS:
 62357  		{
 62358  			*(*int32)(unsafe.Pointer(tokenType)) = TK_PUNCT
 62359  			return 1
 62360  
 62361  		}
 62362  	case CC_STAR:
 62363  		{
 62364  			*(*int32)(unsafe.Pointer(tokenType)) = TK_PUNCT
 62365  			return 1
 62366  
 62367  		}
 62368  	case CC_SLASH:
 62369  		{
 62370  			if int32(*(*uint8)(unsafe.Pointer(z + 1))) != '*' || int32(*(*uint8)(unsafe.Pointer(z + 2))) == 0 {
 62371  				*(*int32)(unsafe.Pointer(tokenType)) = TK_PUNCT
 62372  				return 1
 62373  			}
 62374  			i = 3
 62375  			c = int32(*(*uint8)(unsafe.Pointer(z + 2)))
 62376  			for ; (c != '*' || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) != '/') && libc.AssignInt32(&c, int32(*(*uint8)(unsafe.Pointer(z + uintptr(i))))) != 0; i++ {
 62377  			}
 62378  			if c != 0 {
 62379  				i++
 62380  			}
 62381  			*(*int32)(unsafe.Pointer(tokenType)) = TK_SPACE
 62382  			return i
 62383  
 62384  		}
 62385  	case CC_PERCENT:
 62386  		{
 62387  			*(*int32)(unsafe.Pointer(tokenType)) = TK_PUNCT
 62388  			return 1
 62389  
 62390  		}
 62391  	case CC_EQ:
 62392  		{
 62393  			*(*int32)(unsafe.Pointer(tokenType)) = TK_PUNCT
 62394  			return 1 + libc.Bool32(int32(*(*uint8)(unsafe.Pointer(z + 1))) == '=')
 62395  
 62396  		}
 62397  	case CC_LT:
 62398  		{
 62399  			if libc.AssignInt32(&c, int32(*(*uint8)(unsafe.Pointer(z + 1)))) == '=' {
 62400  				*(*int32)(unsafe.Pointer(tokenType)) = TK_PUNCT
 62401  				return 2
 62402  			} else if c == '>' {
 62403  				*(*int32)(unsafe.Pointer(tokenType)) = TK_PUNCT
 62404  				return 2
 62405  			} else if c == '<' {
 62406  				*(*int32)(unsafe.Pointer(tokenType)) = TK_PUNCT
 62407  				return 2
 62408  			} else {
 62409  				*(*int32)(unsafe.Pointer(tokenType)) = TK_PUNCT
 62410  				return 1
 62411  			}
 62412  
 62413  		}
 62414  		fallthrough
 62415  	case CC_GT:
 62416  		{
 62417  			if libc.AssignInt32(&c, int32(*(*uint8)(unsafe.Pointer(z + 1)))) == '=' {
 62418  				*(*int32)(unsafe.Pointer(tokenType)) = TK_PUNCT
 62419  				return 2
 62420  			} else if c == '>' {
 62421  				*(*int32)(unsafe.Pointer(tokenType)) = TK_PUNCT
 62422  				return 2
 62423  			} else {
 62424  				*(*int32)(unsafe.Pointer(tokenType)) = TK_PUNCT
 62425  				return 1
 62426  			}
 62427  
 62428  		}
 62429  		fallthrough
 62430  	case CC_BANG:
 62431  		{
 62432  			if int32(*(*uint8)(unsafe.Pointer(z + 1))) != '=' {
 62433  				*(*int32)(unsafe.Pointer(tokenType)) = TK_ERROR
 62434  				return 1
 62435  			} else {
 62436  				*(*int32)(unsafe.Pointer(tokenType)) = TK_PUNCT
 62437  				return 2
 62438  			}
 62439  
 62440  		}
 62441  		fallthrough
 62442  	case CC_PIPE:
 62443  		{
 62444  			if int32(*(*uint8)(unsafe.Pointer(z + 1))) != '|' {
 62445  				*(*int32)(unsafe.Pointer(tokenType)) = TK_PUNCT
 62446  				return 1
 62447  			} else {
 62448  				*(*int32)(unsafe.Pointer(tokenType)) = TK_PUNCT
 62449  				return 2
 62450  			}
 62451  
 62452  		}
 62453  		fallthrough
 62454  	case CC_COMMA:
 62455  		{
 62456  			*(*int32)(unsafe.Pointer(tokenType)) = TK_PUNCT
 62457  			return 1
 62458  
 62459  		}
 62460  	case CC_AND:
 62461  		{
 62462  			*(*int32)(unsafe.Pointer(tokenType)) = TK_PUNCT
 62463  			return 1
 62464  
 62465  		}
 62466  	case CC_TILDA:
 62467  		{
 62468  			*(*int32)(unsafe.Pointer(tokenType)) = TK_PUNCT
 62469  			return 1
 62470  
 62471  		}
 62472  	case CC_QUOTE:
 62473  		{
 62474  			var delim int32 = int32(*(*uint8)(unsafe.Pointer(z)))
 62475  
 62476  			for i = 1; libc.AssignInt32(&c, int32(*(*uint8)(unsafe.Pointer(z + uintptr(i))))) != 0; i++ {
 62477  				if c == delim {
 62478  					if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+1)))) == delim {
 62479  						i++
 62480  					} else {
 62481  						break
 62482  					}
 62483  				}
 62484  			}
 62485  			if c == '\'' {
 62486  				*(*int32)(unsafe.Pointer(tokenType)) = TK_LITERAL
 62487  				return i + 1
 62488  			} else if c != 0 {
 62489  				*(*int32)(unsafe.Pointer(tokenType)) = TK_NAME
 62490  				return i + 1
 62491  			} else {
 62492  				*(*int32)(unsafe.Pointer(tokenType)) = TK_ERROR
 62493  				return i
 62494  			}
 62495  
 62496  		}
 62497  		fallthrough
 62498  	case CC_DOT:
 62499  		{
 62500  			if !(int32(sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + 1))])&0x04 != 0) {
 62501  				*(*int32)(unsafe.Pointer(tokenType)) = TK_PUNCT
 62502  				return 1
 62503  			}
 62504  
 62505  		}
 62506  		fallthrough
 62507  	case CC_DIGIT:
 62508  		{
 62509  			*(*int32)(unsafe.Pointer(tokenType)) = TK_LITERAL
 62510  			if int32(*(*uint8)(unsafe.Pointer(z))) == '0' && (int32(*(*uint8)(unsafe.Pointer(z + 1))) == 'x' || int32(*(*uint8)(unsafe.Pointer(z + 1))) == 'X') && int32(sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + 2))])&0x08 != 0 {
 62511  				for i = 3; int32(sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&0x08 != 0; i++ {
 62512  				}
 62513  				return i
 62514  			}
 62515  			for i = 0; int32(sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&0x04 != 0; i++ {
 62516  			}
 62517  			if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == '.' {
 62518  				i++
 62519  				for int32(sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&0x04 != 0 {
 62520  					i++
 62521  				}
 62522  				*(*int32)(unsafe.Pointer(tokenType)) = TK_LITERAL
 62523  			}
 62524  			if (int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == 'e' || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) == 'E') && (int32(sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+1)))])&0x04 != 0 ||
 62525  				(int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+1)))) == '+' || int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+1)))) == '-') && int32(sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i+2)))])&0x04 != 0) {
 62526  				i = i + 2
 62527  				for int32(sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&0x04 != 0 {
 62528  					i++
 62529  				}
 62530  				*(*int32)(unsafe.Pointer(tokenType)) = TK_LITERAL
 62531  			}
 62532  			for int32(sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&0x46 != 0 {
 62533  				*(*int32)(unsafe.Pointer(tokenType)) = TK_ERROR
 62534  				i++
 62535  			}
 62536  			return i
 62537  
 62538  		}
 62539  	case CC_QUOTE2:
 62540  		{
 62541  			i = 1
 62542  			c = int32(*(*uint8)(unsafe.Pointer(z)))
 62543  			for ; c != ']' && libc.AssignInt32(&c, int32(*(*uint8)(unsafe.Pointer(z + uintptr(i))))) != 0; i++ {
 62544  			}
 62545  			*(*int32)(unsafe.Pointer(tokenType)) = func() int32 {
 62546  				if c == ']' {
 62547  					return TK_NAME
 62548  				}
 62549  				return TK_ERROR
 62550  			}()
 62551  			return i
 62552  
 62553  		}
 62554  	case CC_VARNUM:
 62555  		{
 62556  			*(*int32)(unsafe.Pointer(tokenType)) = TK_LITERAL
 62557  			for i = 1; int32(sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&0x04 != 0; i++ {
 62558  			}
 62559  			return i
 62560  
 62561  		}
 62562  	case CC_DOLLAR:
 62563  		fallthrough
 62564  	case CC_VARALPHA:
 62565  		{
 62566  			var n int32 = 0
 62567  
 62568  			*(*int32)(unsafe.Pointer(tokenType)) = TK_LITERAL
 62569  			for i = 1; libc.AssignInt32(&c, int32(*(*uint8)(unsafe.Pointer(z + uintptr(i))))) != 0; i++ {
 62570  				if int32(sqlite3CtypeMap[uint8(c)])&0x46 != 0 {
 62571  					n++
 62572  				} else if c == '(' && n > 0 {
 62573  					for __ccgo := true; __ccgo; __ccgo = libc.AssignInt32(&c, int32(*(*uint8)(unsafe.Pointer(z + uintptr(i))))) != 0 && !(int32(sqlite3CtypeMap[uint8(c)])&0x01 != 0) && c != ')' {
 62574  						i++
 62575  					}
 62576  					if c == ')' {
 62577  						i++
 62578  					} else {
 62579  						*(*int32)(unsafe.Pointer(tokenType)) = TK_ERROR
 62580  					}
 62581  					break
 62582  				} else if c == ':' && int32(*(*uint8)(unsafe.Pointer(z + uintptr(i+1)))) == ':' {
 62583  					i++
 62584  				} else {
 62585  					break
 62586  				}
 62587  			}
 62588  			if n == 0 {
 62589  				*(*int32)(unsafe.Pointer(tokenType)) = TK_ERROR
 62590  			}
 62591  			return i
 62592  
 62593  		}
 62594  	case CC_KYWD:
 62595  		{
 62596  			for i = 1; int32(aiClass[*(*uint8)(unsafe.Pointer(z + uintptr(i)))]) <= CC_KYWD; i++ {
 62597  			}
 62598  			if int32(sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&0x46 != 0 {
 62599  				i++
 62600  				break
 62601  			}
 62602  			*(*int32)(unsafe.Pointer(tokenType)) = TK_NAME
 62603  			return i
 62604  
 62605  		}
 62606  	case CC_X:
 62607  		{
 62608  			if int32(*(*uint8)(unsafe.Pointer(z + 1))) == '\'' {
 62609  				*(*int32)(unsafe.Pointer(tokenType)) = TK_LITERAL
 62610  				for i = 2; int32(sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&0x08 != 0; i++ {
 62611  				}
 62612  				if int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) != '\'' || i%2 != 0 {
 62613  					*(*int32)(unsafe.Pointer(tokenType)) = TK_ERROR
 62614  					for *(*uint8)(unsafe.Pointer(z + uintptr(i))) != 0 && int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) != '\'' {
 62615  						i++
 62616  					}
 62617  				}
 62618  				if *(*uint8)(unsafe.Pointer(z + uintptr(i))) != 0 {
 62619  					i++
 62620  				}
 62621  				return i
 62622  			}
 62623  
 62624  		}
 62625  		fallthrough
 62626  	case CC_ID:
 62627  		{
 62628  			i = 1
 62629  			break
 62630  
 62631  		}
 62632  	default:
 62633  		{
 62634  			*(*int32)(unsafe.Pointer(tokenType)) = TK_ERROR
 62635  			return 1
 62636  
 62637  		}
 62638  	}
 62639  	for int32(sqlite3CtypeMap[*(*uint8)(unsafe.Pointer(z + uintptr(i)))])&0x46 != 0 {
 62640  		i++
 62641  	}
 62642  	*(*int32)(unsafe.Pointer(tokenType)) = TK_NAME
 62643  	return i
 62644  }
 62645  
 62646  func sqlite3_normalize(tls *libc.TLS, zSql uintptr) uintptr {
 62647  	bp := tls.Alloc(4)
 62648  	defer tls.Free(4)
 62649  
 62650  	var z uintptr
 62651  	var nZ sqlite3_int64
 62652  	var nSql sqlite3_int64
 62653  	var i int32
 62654  	var j int32
 62655  
 62656  	var n int32
 62657  	var k int32
 62658  
 62659  	nSql = sqlite3_int64(libc.Xstrlen(tls, zSql))
 62660  	nZ = nSql
 62661  	z = sqlite3.Xsqlite3_malloc64(tls, uint64(nZ+int64(2)))
 62662  	if z == uintptr(0) {
 62663  		return uintptr(0)
 62664  	}
 62665  	for i = libc.AssignInt32(&j, 0); *(*int8)(unsafe.Pointer(zSql + uintptr(i))) != 0; i = i + n {
 62666  		n = sqlite3GetToken(tls, zSql+uintptr(i), bp)
 62667  		switch *(*int32)(unsafe.Pointer(bp)) {
 62668  		case TK_SPACE:
 62669  			{
 62670  				break
 62671  
 62672  			}
 62673  		case TK_ERROR:
 62674  			{
 62675  				sqlite3.Xsqlite3_free(tls, z)
 62676  				return uintptr(0)
 62677  
 62678  			}
 62679  		case TK_LITERAL:
 62680  			{
 62681  				*(*int8)(unsafe.Pointer(z + uintptr(libc.PostIncInt32(&j, 1)))) = int8('?')
 62682  				break
 62683  
 62684  			}
 62685  		case TK_PUNCT:
 62686  			fallthrough
 62687  		case TK_NAME:
 62688  			{
 62689  				if n == 4 && sqlite3.Xsqlite3_strnicmp(tls, zSql+uintptr(i), ts+5846, 4) == 0 {
 62690  					if j >= 3 && libc.Xstrncmp(tls, z+uintptr(j)-uintptr(2), ts+5851, uint64(2)) == 0 && !(int32(sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(j-3))))])&0x46 != 0) ||
 62691  						j >= 4 && libc.Xstrncmp(tls, z+uintptr(j)-uintptr(3), ts+5854, uint64(3)) == 0 && !(int32(sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(j-4))))])&0x46 != 0) {
 62692  					} else {
 62693  						*(*int8)(unsafe.Pointer(z + uintptr(libc.PostIncInt32(&j, 1)))) = int8('?')
 62694  						break
 62695  					}
 62696  				}
 62697  				if j > 0 && int32(sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z + uintptr(j-1))))])&0x46 != 0 && int32(sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(zSql + uintptr(i))))])&0x46 != 0 {
 62698  					*(*int8)(unsafe.Pointer(z + uintptr(libc.PostIncInt32(&j, 1)))) = int8(' ')
 62699  				}
 62700  				for k = 0; k < n; k++ {
 62701  					*(*int8)(unsafe.Pointer(z + uintptr(libc.PostIncInt32(&j, 1)))) = int8(sqlite3UpperToLower[uint8(*(*int8)(unsafe.Pointer(zSql + uintptr(i+k))))])
 62702  				}
 62703  				break
 62704  
 62705  			}
 62706  		}
 62707  	}
 62708  	for j > 0 && int32(*(*int8)(unsafe.Pointer(z + uintptr(j-1)))) == ' ' {
 62709  		j--
 62710  	}
 62711  	if j > 0 && int32(*(*int8)(unsafe.Pointer(z + uintptr(j-1)))) != ';' {
 62712  		*(*int8)(unsafe.Pointer(z + uintptr(libc.PostIncInt32(&j, 1)))) = int8(';')
 62713  	}
 62714  	*(*int8)(unsafe.Pointer(z + uintptr(j))) = int8(0)
 62715  
 62716  	for i = 0; i < j; i = n {
 62717  		var zIn uintptr = libc.Xstrstr(tls, z+uintptr(i), ts+5858)
 62718  		var nParen int32
 62719  		if zIn == uintptr(0) {
 62720  			break
 62721  		}
 62722  		n = int32((int64(zIn)-int64(z))/1) + 3
 62723  		if n != 0 && int32(sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(zIn + libc.UintptrFromInt32(-1))))])&0x46 != 0 {
 62724  			continue
 62725  		}
 62726  		if libc.Xstrncmp(tls, zIn, ts+5862, uint64(9)) == 0 && !(int32(sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(zIn + 9)))])&0x46 != 0) {
 62727  			continue
 62728  		}
 62729  		if libc.Xstrncmp(tls, zIn, ts+5872, uint64(7)) == 0 && !(int32(sqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(zIn + 7)))])&0x46 != 0) {
 62730  			continue
 62731  		}
 62732  		nParen = 1
 62733  		k = 0
 62734  		for ; *(*int8)(unsafe.Pointer(z + uintptr(n+k))) != 0; k++ {
 62735  			if int32(*(*int8)(unsafe.Pointer(z + uintptr(n+k)))) == '(' {
 62736  				nParen++
 62737  			}
 62738  			if int32(*(*int8)(unsafe.Pointer(z + uintptr(n+k)))) == ')' {
 62739  				nParen--
 62740  				if nParen == 0 {
 62741  					break
 62742  				}
 62743  			}
 62744  		}
 62745  
 62746  		if k < 5 {
 62747  			z = sqlite3.Xsqlite3_realloc64(tls, z, uint64(j+(5-k)+1))
 62748  			if z == uintptr(0) {
 62749  				return uintptr(0)
 62750  			}
 62751  			libc.Xmemmove(tls, z+uintptr(n)+uintptr(5), z+uintptr(n)+uintptr(k), uint64(j-(n+k)))
 62752  		} else if k > 5 {
 62753  			libc.Xmemmove(tls, z+uintptr(n)+uintptr(5), z+uintptr(n)+uintptr(k), uint64(j-(n+k)))
 62754  		}
 62755  		j = j - k + 5
 62756  		*(*int8)(unsafe.Pointer(z + uintptr(j))) = int8(0)
 62757  		libc.Xmemcpy(tls, z+uintptr(n), ts+5880, uint64(5))
 62758  	}
 62759  	return z
 62760  }
 62761  
 62762  type Percentile1 = struct {
 62763  	FnAlloc uint32
 62764  	FnUsed  uint32
 62765  	FrPct   float64
 62766  	Fa      uintptr
 62767  }
 62768  
 62769  type Percentile = Percentile1
 62770  
 62771  func isInfinity(tls *libc.TLS, r float64) int32 {
 62772  	bp := tls.Alloc(16)
 62773  	defer tls.Free(16)
 62774  	*(*float64)(unsafe.Pointer(bp + 8)) = r
 62775  
 62776  	libc.Xmemcpy(tls, bp, bp+8, uint64(unsafe.Sizeof(sqlite3_uint64(0))))
 62777  	return libc.Bool32(*(*sqlite3_uint64)(unsafe.Pointer(bp))>>52&uint64(0x7ff) == uint64(0x7ff))
 62778  }
 62779  
 62780  func sameValue(tls *libc.TLS, a float64, b float64) int32 {
 62781  	a = a - b
 62782  	return libc.Bool32(a >= -0.001 && a <= 0.001)
 62783  }
 62784  
 62785  func percentStep(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) {
 62786  	var p uintptr
 62787  	var rPct float64
 62788  	var eType int32
 62789  	var y float64
 62790  
 62791  	eType = sqlite3.Xsqlite3_value_numeric_type(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))
 62792  	rPct = sqlite3.Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))
 62793  	if eType != SQLITE_INTEGER && eType != SQLITE_FLOAT ||
 62794  		rPct < 0.0 || rPct > 100.0 {
 62795  		sqlite3.Xsqlite3_result_error(tls, pCtx,
 62796  			ts+5886, -1)
 62797  		return
 62798  	}
 62799  
 62800  	p = sqlite3.Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(Percentile{})))
 62801  	if p == uintptr(0) {
 62802  		return
 62803  	}
 62804  
 62805  	if (*Percentile)(unsafe.Pointer(p)).FrPct == 0.0 {
 62806  		(*Percentile)(unsafe.Pointer(p)).FrPct = rPct + 1.0
 62807  	} else if !(sameValue(tls, (*Percentile)(unsafe.Pointer(p)).FrPct, rPct+1.0) != 0) {
 62808  		sqlite3.Xsqlite3_result_error(tls, pCtx,
 62809  			ts+5953, -1)
 62810  		return
 62811  	}
 62812  
 62813  	eType = sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv)))
 62814  	if eType == SQLITE_NULL {
 62815  		return
 62816  	}
 62817  
 62818  	if eType != SQLITE_INTEGER && eType != SQLITE_FLOAT {
 62819  		sqlite3.Xsqlite3_result_error(tls, pCtx,
 62820  			ts+6017, -1)
 62821  		return
 62822  	}
 62823  
 62824  	y = sqlite3.Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv)))
 62825  	if isInfinity(tls, y) != 0 {
 62826  		sqlite3.Xsqlite3_result_error(tls, pCtx, ts+6061, -1)
 62827  		return
 62828  	}
 62829  
 62830  	if (*Percentile)(unsafe.Pointer(p)).FnUsed >= (*Percentile)(unsafe.Pointer(p)).FnAlloc {
 62831  		var n uint32 = (*Percentile)(unsafe.Pointer(p)).FnAlloc*uint32(2) + uint32(250)
 62832  		var a uintptr = sqlite3.Xsqlite3_realloc64(tls, (*Percentile)(unsafe.Pointer(p)).Fa, uint64(unsafe.Sizeof(float64(0)))*uint64(n))
 62833  		if a == uintptr(0) {
 62834  			sqlite3.Xsqlite3_free(tls, (*Percentile)(unsafe.Pointer(p)).Fa)
 62835  			libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(Percentile{})))
 62836  			sqlite3.Xsqlite3_result_error_nomem(tls, pCtx)
 62837  			return
 62838  		}
 62839  		(*Percentile)(unsafe.Pointer(p)).FnAlloc = n
 62840  		(*Percentile)(unsafe.Pointer(p)).Fa = a
 62841  	}
 62842  	*(*float64)(unsafe.Pointer((*Percentile)(unsafe.Pointer(p)).Fa + uintptr(libc.PostIncUint32(&(*Percentile)(unsafe.Pointer(p)).FnUsed, 1))*8)) = y
 62843  }
 62844  
 62845  func doubleCmp(tls *libc.TLS, pA uintptr, pB uintptr) int32 {
 62846  	var a float64 = *(*float64)(unsafe.Pointer(pA))
 62847  	var b float64 = *(*float64)(unsafe.Pointer(pB))
 62848  	if a == b {
 62849  		return 0
 62850  	}
 62851  	if a < b {
 62852  		return -1
 62853  	}
 62854  	return +1
 62855  }
 62856  
 62857  func percentFinal(tls *libc.TLS, pCtx uintptr) {
 62858  	var p uintptr
 62859  	var i1 uint32
 62860  	var i2 uint32
 62861  	var v1 float64
 62862  	var v2 float64
 62863  	var ix float64
 62864  	var vx float64
 62865  	p = sqlite3.Xsqlite3_aggregate_context(tls, pCtx, 0)
 62866  	if p == uintptr(0) {
 62867  		return
 62868  	}
 62869  	if (*Percentile)(unsafe.Pointer(p)).Fa == uintptr(0) {
 62870  		return
 62871  	}
 62872  	if (*Percentile)(unsafe.Pointer(p)).FnUsed != 0 {
 62873  		libc.Xqsort(tls, (*Percentile)(unsafe.Pointer(p)).Fa, uint64((*Percentile)(unsafe.Pointer(p)).FnUsed), uint64(unsafe.Sizeof(float64(0))), *(*uintptr)(unsafe.Pointer(&struct {
 62874  			f func(*libc.TLS, uintptr, uintptr) int32
 62875  		}{doubleCmp})))
 62876  		ix = ((*Percentile)(unsafe.Pointer(p)).FrPct - 1.0) * float64((*Percentile)(unsafe.Pointer(p)).FnUsed-uint32(1)) * 0.01
 62877  		i1 = uint32(ix)
 62878  		if ix == float64(i1) || i1 == (*Percentile)(unsafe.Pointer(p)).FnUsed-uint32(1) {
 62879  			i2 = i1
 62880  		} else {
 62881  			i2 = i1 + uint32(1)
 62882  		}
 62883  		v1 = *(*float64)(unsafe.Pointer((*Percentile)(unsafe.Pointer(p)).Fa + uintptr(i1)*8))
 62884  		v2 = *(*float64)(unsafe.Pointer((*Percentile)(unsafe.Pointer(p)).Fa + uintptr(i2)*8))
 62885  		vx = v1 + (v2-v1)*(ix-float64(i1))
 62886  		sqlite3.Xsqlite3_result_double(tls, pCtx, vx)
 62887  	}
 62888  	sqlite3.Xsqlite3_free(tls, (*Percentile)(unsafe.Pointer(p)).Fa)
 62889  	libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(Percentile{})))
 62890  }
 62891  
 62892  func sqlite3_percentile_init(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi uintptr) int32 {
 62893  	var rc int32 = SQLITE_OK
 62894  	_ = pApi
 62895  
 62896  	_ = pzErrMsg
 62897  	rc = sqlite3.Xsqlite3_create_function(tls, db, ts+6087, 2,
 62898  		SQLITE_UTF8|SQLITE_INNOCUOUS, uintptr(0),
 62899  		uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 62900  			f func(*libc.TLS, uintptr, int32, uintptr)
 62901  		}{percentStep})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{percentFinal})))
 62902  	return rc
 62903  }
 62904  
 62905  type prefixes_vtab1 = struct{ Fbase sqlite3_vtab }
 62906  
 62907  type prefixes_vtab = prefixes_vtab1
 62908  
 62909  type prefixes_cursor1 = struct {
 62910  	Fbase        sqlite3_vtab_cursor
 62911  	FiRowid      sqlite3_int64
 62912  	FzStr        uintptr
 62913  	FnStr        int32
 62914  	F__ccgo_pad1 [4]byte
 62915  }
 62916  
 62917  type prefixes_cursor = prefixes_cursor1
 62918  
 62919  func prefixesConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 {
 62920  	var pNew uintptr
 62921  	var rc int32
 62922  
 62923  	rc = sqlite3.Xsqlite3_declare_vtab(tls, db,
 62924  		ts+6098)
 62925  	if rc == SQLITE_OK {
 62926  		pNew = sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(prefixes_vtab{})))
 62927  		*(*uintptr)(unsafe.Pointer(ppVtab)) = pNew
 62928  		if pNew == uintptr(0) {
 62929  			return SQLITE_NOMEM
 62930  		}
 62931  		libc.Xmemset(tls, pNew, 0, uint64(unsafe.Sizeof(prefixes_vtab{})))
 62932  		sqlite3.Xsqlite3_vtab_config(tls, db, SQLITE_VTAB_INNOCUOUS, 0)
 62933  	}
 62934  	return rc
 62935  }
 62936  
 62937  func prefixesDisconnect(tls *libc.TLS, pVtab uintptr) int32 {
 62938  	var p uintptr = pVtab
 62939  	sqlite3.Xsqlite3_free(tls, p)
 62940  	return SQLITE_OK
 62941  }
 62942  
 62943  func prefixesOpen(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 {
 62944  	var pCur uintptr
 62945  	pCur = sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(prefixes_cursor{})))
 62946  	if pCur == uintptr(0) {
 62947  		return SQLITE_NOMEM
 62948  	}
 62949  	libc.Xmemset(tls, pCur, 0, uint64(unsafe.Sizeof(prefixes_cursor{})))
 62950  	*(*uintptr)(unsafe.Pointer(ppCursor)) = pCur
 62951  	return SQLITE_OK
 62952  }
 62953  
 62954  func prefixesClose(tls *libc.TLS, cur uintptr) int32 {
 62955  	var pCur uintptr = cur
 62956  	sqlite3.Xsqlite3_free(tls, (*prefixes_cursor)(unsafe.Pointer(pCur)).FzStr)
 62957  	sqlite3.Xsqlite3_free(tls, pCur)
 62958  	return SQLITE_OK
 62959  }
 62960  
 62961  func prefixesNext(tls *libc.TLS, cur uintptr) int32 {
 62962  	var pCur uintptr = cur
 62963  	(*prefixes_cursor)(unsafe.Pointer(pCur)).FiRowid++
 62964  	return SQLITE_OK
 62965  }
 62966  
 62967  func prefixesColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 {
 62968  	var pCur uintptr = cur
 62969  	switch i {
 62970  	case 0:
 62971  		sqlite3.Xsqlite3_result_text(tls, ctx, (*prefixes_cursor)(unsafe.Pointer(pCur)).FzStr, (*prefixes_cursor)(unsafe.Pointer(pCur)).FnStr-int32((*prefixes_cursor)(unsafe.Pointer(pCur)).FiRowid),
 62972  			uintptr(0))
 62973  		break
 62974  	default:
 62975  		sqlite3.Xsqlite3_result_text(tls, ctx, (*prefixes_cursor)(unsafe.Pointer(pCur)).FzStr, (*prefixes_cursor)(unsafe.Pointer(pCur)).FnStr, uintptr(0))
 62976  		break
 62977  	}
 62978  	return SQLITE_OK
 62979  }
 62980  
 62981  func prefixesRowid(tls *libc.TLS, cur uintptr, pRowid uintptr) int32 {
 62982  	var pCur uintptr = cur
 62983  	*(*sqlite_int64)(unsafe.Pointer(pRowid)) = (*prefixes_cursor)(unsafe.Pointer(pCur)).FiRowid
 62984  	return SQLITE_OK
 62985  }
 62986  
 62987  func prefixesEof(tls *libc.TLS, cur uintptr) int32 {
 62988  	var pCur uintptr = cur
 62989  	return libc.Bool32((*prefixes_cursor)(unsafe.Pointer(pCur)).FiRowid > sqlite3_int64((*prefixes_cursor)(unsafe.Pointer(pCur)).FnStr))
 62990  }
 62991  
 62992  func prefixesFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 {
 62993  	bp := tls.Alloc(8)
 62994  	defer tls.Free(8)
 62995  
 62996  	var pCur uintptr = pVtabCursor
 62997  	sqlite3.Xsqlite3_free(tls, (*prefixes_cursor)(unsafe.Pointer(pCur)).FzStr)
 62998  	if argc > 0 {
 62999  		(*prefixes_cursor)(unsafe.Pointer(pCur)).FzStr = sqlite3.Xsqlite3_mprintf(tls, ts, libc.VaList(bp, sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv)))))
 63000  		(*prefixes_cursor)(unsafe.Pointer(pCur)).FnStr = func() int32 {
 63001  			if (*prefixes_cursor)(unsafe.Pointer(pCur)).FzStr != 0 {
 63002  				return int32(libc.Xstrlen(tls, (*prefixes_cursor)(unsafe.Pointer(pCur)).FzStr))
 63003  			}
 63004  			return 0
 63005  		}()
 63006  	} else {
 63007  		(*prefixes_cursor)(unsafe.Pointer(pCur)).FzStr = uintptr(0)
 63008  		(*prefixes_cursor)(unsafe.Pointer(pCur)).FnStr = 0
 63009  	}
 63010  	(*prefixes_cursor)(unsafe.Pointer(pCur)).FiRowid = int64(0)
 63011  	return SQLITE_OK
 63012  }
 63013  
 63014  func prefixesBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 {
 63015  	var i int32
 63016  	var p uintptr
 63017  
 63018  	i = 0
 63019  	p = (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraint
 63020  __1:
 63021  	if !(i < (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint) {
 63022  		goto __3
 63023  	}
 63024  	{
 63025  		if (*sqlite3_index_constraint)(unsafe.Pointer(p)).FiColumn != 1 {
 63026  			goto __2
 63027  		}
 63028  		if int32((*sqlite3_index_constraint)(unsafe.Pointer(p)).Fop) != SQLITE_INDEX_CONSTRAINT_EQ {
 63029  			goto __2
 63030  		}
 63031  		if !(int32((*sqlite3_index_constraint)(unsafe.Pointer(p)).Fusable) != 0) {
 63032  			goto __2
 63033  		}
 63034  		(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(i)*8)).FargvIndex = 1
 63035  		(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(i)*8)).Fomit = uint8(1)
 63036  		(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = float64(10)
 63037  		(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(10)
 63038  		return SQLITE_OK
 63039  
 63040  	}
 63041  	goto __2
 63042  __2:
 63043  	i++
 63044  	p += 12
 63045  	goto __1
 63046  	goto __3
 63047  __3:
 63048  	;
 63049  	(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = float64(1000000000)
 63050  	(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(1000000000)
 63051  	return SQLITE_OK
 63052  }
 63053  
 63054  var prefixesModule = sqlite3_module{
 63055  	FxConnect:    0,
 63056  	FxBestIndex:  0,
 63057  	FxDisconnect: 0,
 63058  	FxOpen:       0,
 63059  	FxClose:      0,
 63060  	FxFilter:     0,
 63061  	FxNext:       0,
 63062  	FxEof:        0,
 63063  	FxColumn:     0,
 63064  	FxRowid:      0,
 63065  }
 63066  
 63067  func prefixLengthFunc(tls *libc.TLS, ctx uintptr, nVal int32, apVal uintptr) {
 63068  	var nByte int32
 63069  	var nRet int32 = 0
 63070  	var zL uintptr = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal)))
 63071  	var zR uintptr = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal + 1*8)))
 63072  	var nL int32 = sqlite3.Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(apVal)))
 63073  	var nR int32 = sqlite3.Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(apVal + 1*8)))
 63074  	var i int32
 63075  
 63076  	nByte = func() int32 {
 63077  		if nL > nR {
 63078  			return nL
 63079  		}
 63080  		return nR
 63081  	}()
 63082  	for i = 0; i < nByte; i++ {
 63083  		if int32(*(*uint8)(unsafe.Pointer(zL + uintptr(i)))) != int32(*(*uint8)(unsafe.Pointer(zR + uintptr(i)))) {
 63084  			break
 63085  		}
 63086  		if int32(*(*uint8)(unsafe.Pointer(zL + uintptr(i))))&0xC0 != 0x80 {
 63087  			nRet++
 63088  		}
 63089  	}
 63090  
 63091  	if int32(*(*uint8)(unsafe.Pointer(zL + uintptr(i))))&0xC0 == 0x80 {
 63092  		nRet--
 63093  	}
 63094  	sqlite3.Xsqlite3_result_int(tls, ctx, nRet)
 63095  }
 63096  
 63097  func sqlite3_prefixes_init(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi uintptr) int32 {
 63098  	var rc int32 = SQLITE_OK
 63099  	_ = pApi
 63100  
 63101  	rc = sqlite3.Xsqlite3_create_module(tls, db, ts+6162, uintptr(unsafe.Pointer(&prefixesModule)), uintptr(0))
 63102  	if rc == SQLITE_OK {
 63103  		rc = sqlite3.Xsqlite3_create_function(tls,
 63104  			db, ts+6171, 2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 63105  				f func(*libc.TLS, uintptr, int32, uintptr)
 63106  			}{prefixLengthFunc})), uintptr(0), uintptr(0))
 63107  	}
 63108  	return rc
 63109  }
 63110  
 63111  type qpvtab_vtab1 = struct{ Fbase sqlite3_vtab }
 63112  
 63113  type qpvtab_vtab = qpvtab_vtab1
 63114  
 63115  type qpvtab_cursor1 = struct {
 63116  	Fbase   sqlite3_vtab_cursor
 63117  	FiRowid sqlite3_int64
 63118  	FzData  uintptr
 63119  	FnData  int32
 63120  	Fflags  int32
 63121  }
 63122  
 63123  type qpvtab_cursor = qpvtab_cursor1
 63124  
 63125  var azColname = [13]uintptr{
 63126  	ts + 6185,
 63127  	ts + 6188,
 63128  	ts + 6191,
 63129  	ts + 6194,
 63130  	ts + 6197,
 63131  	ts + 6200,
 63132  	ts + 6204, ts + 6206, ts + 6208, ts + 6210, ts + 6212,
 63133  	ts + 6214,
 63134  	ts + 584,
 63135  }
 63136  
 63137  func qpvtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 {
 63138  	var pNew uintptr
 63139  	var rc int32
 63140  
 63141  	rc = sqlite3.Xsqlite3_declare_vtab(tls, db,
 63142  		ts+6220)
 63143  	if rc == SQLITE_OK {
 63144  		pNew = sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(qpvtab_vtab{})))
 63145  		*(*uintptr)(unsafe.Pointer(ppVtab)) = pNew
 63146  		if pNew == uintptr(0) {
 63147  			return SQLITE_NOMEM
 63148  		}
 63149  		libc.Xmemset(tls, pNew, 0, uint64(unsafe.Sizeof(qpvtab_vtab{})))
 63150  	}
 63151  	return rc
 63152  }
 63153  
 63154  func qpvtabDisconnect(tls *libc.TLS, pVtab uintptr) int32 {
 63155  	var p uintptr = pVtab
 63156  	sqlite3.Xsqlite3_free(tls, p)
 63157  	return SQLITE_OK
 63158  }
 63159  
 63160  func qpvtabOpen(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 {
 63161  	var pCur uintptr
 63162  	pCur = sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(qpvtab_cursor{})))
 63163  	if pCur == uintptr(0) {
 63164  		return SQLITE_NOMEM
 63165  	}
 63166  	libc.Xmemset(tls, pCur, 0, uint64(unsafe.Sizeof(qpvtab_cursor{})))
 63167  	*(*uintptr)(unsafe.Pointer(ppCursor)) = pCur
 63168  	return SQLITE_OK
 63169  }
 63170  
 63171  func qpvtabClose(tls *libc.TLS, cur uintptr) int32 {
 63172  	var pCur uintptr = cur
 63173  	sqlite3.Xsqlite3_free(tls, pCur)
 63174  	return SQLITE_OK
 63175  }
 63176  
 63177  func qpvtabNext(tls *libc.TLS, cur uintptr) int32 {
 63178  	var pCur uintptr = cur
 63179  	if (*qpvtab_cursor)(unsafe.Pointer(pCur)).FiRowid < sqlite3_int64((*qpvtab_cursor)(unsafe.Pointer(pCur)).FnData) {
 63180  		var z uintptr = (*qpvtab_cursor)(unsafe.Pointer(pCur)).FzData + uintptr((*qpvtab_cursor)(unsafe.Pointer(pCur)).FiRowid)
 63181  		var zEnd uintptr = libc.Xstrchr(tls, z, '\n')
 63182  		if zEnd != 0 {
 63183  			zEnd++
 63184  		}
 63185  		(*qpvtab_cursor)(unsafe.Pointer(pCur)).FiRowid = sqlite3_int64(int32((int64(zEnd) - int64((*qpvtab_cursor)(unsafe.Pointer(pCur)).FzData)) / 1))
 63186  	}
 63187  	return SQLITE_OK
 63188  }
 63189  
 63190  func qpvtabColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 {
 63191  	bp := tls.Alloc(1)
 63192  	defer tls.Free(1)
 63193  
 63194  	var pCur uintptr = cur
 63195  	if i >= QPVTAB_VN && i <= QPVTAB_RHS && (*qpvtab_cursor)(unsafe.Pointer(pCur)).FiRowid < sqlite3_int64((*qpvtab_cursor)(unsafe.Pointer(pCur)).FnData) {
 63196  		var z uintptr = (*qpvtab_cursor)(unsafe.Pointer(pCur)).FzData + uintptr((*qpvtab_cursor)(unsafe.Pointer(pCur)).FiRowid)
 63197  		var zEnd uintptr
 63198  		var j int32
 63199  		j = QPVTAB_VN
 63200  		for 1 != 0 {
 63201  			zEnd = libc.Xstrchr(tls, z, func() int32 {
 63202  				if j == QPVTAB_RHS {
 63203  					return '\n'
 63204  				}
 63205  				return ','
 63206  			}())
 63207  			if j == i || zEnd == uintptr(0) {
 63208  				break
 63209  			}
 63210  			z = zEnd + uintptr(1)
 63211  			j++
 63212  		}
 63213  		if zEnd == z {
 63214  			sqlite3.Xsqlite3_result_null(tls, ctx)
 63215  		} else if i == QPVTAB_IX || i == QPVTAB_OP || i == QPVTAB_UX {
 63216  			sqlite3.Xsqlite3_result_int(tls, ctx, libc.Xatoi(tls, z))
 63217  		} else {
 63218  			sqlite3.Xsqlite3_result_text64(tls, ctx, z, uint64((int64(zEnd)-int64(z))/1), libc.UintptrFromInt32(-1), uint8(SQLITE_UTF8))
 63219  		}
 63220  	} else if i >= QPVTAB_A && i <= QPVTAB_E {
 63221  		if (*qpvtab_cursor)(unsafe.Pointer(pCur)).Fflags&0x001 != 0 {
 63222  			sqlite3.Xsqlite3_result_int(tls, ctx, i-QPVTAB_A+1)
 63223  		} else {
 63224  			*(*int8)(unsafe.Pointer(bp)) = int8('a' + i - QPVTAB_A)
 63225  			sqlite3.Xsqlite3_result_text64(tls, ctx, bp, uint64(1), libc.UintptrFromInt32(-1), uint8(SQLITE_UTF8))
 63226  		}
 63227  	} else if i == QPVTAB_FLAGS {
 63228  		sqlite3.Xsqlite3_result_int(tls, ctx, (*qpvtab_cursor)(unsafe.Pointer(pCur)).Fflags)
 63229  	}
 63230  	return SQLITE_OK
 63231  }
 63232  
 63233  func qpvtabRowid(tls *libc.TLS, cur uintptr, pRowid uintptr) int32 {
 63234  	var pCur uintptr = cur
 63235  	*(*sqlite_int64)(unsafe.Pointer(pRowid)) = (*qpvtab_cursor)(unsafe.Pointer(pCur)).FiRowid
 63236  	return SQLITE_OK
 63237  }
 63238  
 63239  func qpvtabEof(tls *libc.TLS, cur uintptr) int32 {
 63240  	var pCur uintptr = cur
 63241  	return libc.Bool32((*qpvtab_cursor)(unsafe.Pointer(pCur)).FiRowid >= sqlite3_int64((*qpvtab_cursor)(unsafe.Pointer(pCur)).FnData))
 63242  }
 63243  
 63244  func qpvtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 {
 63245  	var pCur uintptr = pVtabCursor
 63246  	(*qpvtab_cursor)(unsafe.Pointer(pCur)).FiRowid = int64(0)
 63247  	(*qpvtab_cursor)(unsafe.Pointer(pCur)).FzData = idxStr
 63248  	(*qpvtab_cursor)(unsafe.Pointer(pCur)).FnData = int32(libc.Xstrlen(tls, idxStr))
 63249  	(*qpvtab_cursor)(unsafe.Pointer(pCur)).Fflags = idxNum
 63250  	return SQLITE_OK
 63251  }
 63252  
 63253  func qpvtabStrAppendValue(tls *libc.TLS, pStr uintptr, pVal uintptr) {
 63254  	bp := tls.Alloc(25)
 63255  	defer tls.Free(25)
 63256  
 63257  	switch sqlite3.Xsqlite3_value_type(tls, pVal) {
 63258  	case SQLITE_NULL:
 63259  		sqlite3.Xsqlite3_str_appendf(tls, pStr, ts+5846, 0)
 63260  		break
 63261  	case SQLITE_INTEGER:
 63262  		sqlite3.Xsqlite3_str_appendf(tls, pStr, ts+6325, libc.VaList(bp, sqlite3.Xsqlite3_value_int64(tls, pVal)))
 63263  		break
 63264  	case SQLITE_FLOAT:
 63265  		sqlite3.Xsqlite3_str_appendf(tls, pStr, ts+6330, libc.VaList(bp+8, sqlite3.Xsqlite3_value_double(tls, pVal)))
 63266  		break
 63267  	case SQLITE_TEXT:
 63268  		{
 63269  			var i int32
 63270  			var a uintptr = sqlite3.Xsqlite3_value_text(tls, pVal)
 63271  			var n int32 = sqlite3.Xsqlite3_value_bytes(tls, pVal)
 63272  			sqlite3.Xsqlite3_str_append(tls, pStr, ts+5624, 1)
 63273  			for i = 0; i < n; i++ {
 63274  				*(*int8)(unsafe.Pointer(bp + 24)) = *(*int8)(unsafe.Pointer(a + uintptr(i)))
 63275  				if int32(*(*int8)(unsafe.Pointer(bp + 24))) == '\n' {
 63276  					*(*int8)(unsafe.Pointer(bp + 24)) = int8(' ')
 63277  				}
 63278  				sqlite3.Xsqlite3_str_append(tls, pStr, bp+24, 1)
 63279  				if int32(*(*int8)(unsafe.Pointer(bp + 24))) == '\'' {
 63280  					sqlite3.Xsqlite3_str_append(tls, pStr, bp+24, 1)
 63281  				}
 63282  			}
 63283  			sqlite3.Xsqlite3_str_append(tls, pStr, ts+5624, 1)
 63284  			break
 63285  
 63286  		}
 63287  	case SQLITE_BLOB:
 63288  		{
 63289  			var i int32
 63290  			var a uintptr = sqlite3.Xsqlite3_value_blob(tls, pVal)
 63291  			var n int32 = sqlite3.Xsqlite3_value_bytes(tls, pVal)
 63292  			sqlite3.Xsqlite3_str_append(tls, pStr, ts+6334, 2)
 63293  			for i = 0; i < n; i++ {
 63294  				sqlite3.Xsqlite3_str_appendf(tls, pStr, ts+6337, libc.VaList(bp+16, int32(*(*uint8)(unsafe.Pointer(a + uintptr(i))))))
 63295  			}
 63296  			sqlite3.Xsqlite3_str_append(tls, pStr, ts+5624, 1)
 63297  			break
 63298  
 63299  		}
 63300  	}
 63301  }
 63302  
 63303  func qpvtabBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 {
 63304  	bp := tls.Alloc(120)
 63305  	defer tls.Free(120)
 63306  
 63307  	var pStr uintptr = sqlite3.Xsqlite3_str_new(tls, uintptr(0))
 63308  	var i int32
 63309  	var k int32 = 0
 63310  	var rc int32
 63311  	_ = rc
 63312  	sqlite3.Xsqlite3_str_appendf(tls, pStr, ts+6342, libc.VaList(bp, (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint))
 63313  	for i = 0; i < (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint; i++ {
 63314  		var iCol int32 = (*sqlite3_index_constraint)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraint + uintptr(i)*12)).FiColumn
 63315  		var op int32 = int32((*sqlite3_index_constraint)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraint + uintptr(i)*12)).Fop)
 63316  		if iCol == QPVTAB_FLAGS && (*sqlite3_index_constraint)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraint+uintptr(i)*12)).Fusable != 0 {
 63317  			*(*uintptr)(unsafe.Pointer(bp + 112)) = uintptr(0)
 63318  			rc = sqlite3.Xsqlite3_vtab_rhs_value(tls, pIdxInfo, i, bp+112)
 63319  
 63320  			if *(*uintptr)(unsafe.Pointer(bp + 112)) != 0 {
 63321  				(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = sqlite3.Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(bp + 112)))
 63322  				if (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum&0x002 != 0 {
 63323  					(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).ForderByConsumed = 1
 63324  				}
 63325  			}
 63326  		}
 63327  		if op == SQLITE_INDEX_CONSTRAINT_LIMIT ||
 63328  			op == SQLITE_INDEX_CONSTRAINT_OFFSET {
 63329  			iCol = QPVTAB_NONE
 63330  		}
 63331  		sqlite3.Xsqlite3_str_appendf(tls, pStr, ts+6362,
 63332  			libc.VaList(bp+8, i,
 63333  				azColname[iCol],
 63334  				op,
 63335  				int32((*sqlite3_index_constraint)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraint+uintptr(i)*12)).Fusable)))
 63336  		*(*uintptr)(unsafe.Pointer(bp + 112)) = uintptr(0)
 63337  		rc = sqlite3.Xsqlite3_vtab_rhs_value(tls, pIdxInfo, i, bp+112)
 63338  
 63339  		if *(*uintptr)(unsafe.Pointer(bp + 112)) != 0 {
 63340  			qpvtabStrAppendValue(tls, pStr, *(*uintptr)(unsafe.Pointer(bp + 112)))
 63341  		}
 63342  		sqlite3.Xsqlite3_str_append(tls, pStr, ts+6387, 1)
 63343  	}
 63344  	for i = 0; i < (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint; i++ {
 63345  		var iCol int32 = (*sqlite3_index_constraint)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraint + uintptr(i)*12)).FiColumn
 63346  		var op int32 = int32((*sqlite3_index_constraint)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraint + uintptr(i)*12)).Fop)
 63347  		if op == SQLITE_INDEX_CONSTRAINT_LIMIT ||
 63348  			op == SQLITE_INDEX_CONSTRAINT_OFFSET {
 63349  			iCol = QPVTAB_NONE
 63350  		}
 63351  		if iCol >= QPVTAB_A && (*sqlite3_index_constraint)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraint+uintptr(i)*12)).Fusable != 0 {
 63352  			(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(i)*8)).FargvIndex = libc.PreIncInt32(&k, 1)
 63353  			if iCol <= QPVTAB_FLAGS || (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum&0x004 != 0 {
 63354  				(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(i)*8)).Fomit = uint8(1)
 63355  			}
 63356  		}
 63357  	}
 63358  	sqlite3.Xsqlite3_str_appendf(tls, pStr, ts+6389, libc.VaList(bp+40, (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnOrderBy))
 63359  	for i = 0; i < (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnOrderBy; i++ {
 63360  		var iCol int32 = (*sqlite3_index_orderby)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaOrderBy + uintptr(i)*8)).FiColumn
 63361  		sqlite3.Xsqlite3_str_appendf(tls, pStr, ts+6406, libc.VaList(bp+48, i,
 63362  			func() uintptr {
 63363  				if iCol >= 0 {
 63364  					return azColname[iCol]
 63365  				}
 63366  				return ts + 6427
 63367  			}(),
 63368  			int32((*sqlite3_index_orderby)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaOrderBy+uintptr(i)*8)).Fdesc)))
 63369  	}
 63370  	sqlite3.Xsqlite3_str_appendf(tls, pStr, ts+6433,
 63371  		libc.VaList(bp+72, sqlite3.Xsqlite3_vtab_distinct(tls, pIdxInfo)))
 63372  	sqlite3.Xsqlite3_str_appendf(tls, pStr, ts+6463, libc.VaList(bp+80, (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxFlags))
 63373  	sqlite3.Xsqlite3_str_appendf(tls, pStr, ts+6480, libc.VaList(bp+88, int32((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FcolUsed)))
 63374  	(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = float64(10)
 63375  	(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(10)
 63376  	sqlite3.Xsqlite3_str_appendf(tls, pStr, ts+6496, libc.VaList(bp+96, (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum))
 63377  	sqlite3.Xsqlite3_str_appendf(tls, pStr, ts+6511,
 63378  		libc.VaList(bp+104, (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).ForderByConsumed))
 63379  	(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = sqlite3.Xsqlite3_str_finish(tls, pStr)
 63380  	(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FneedToFreeIdxStr = 1
 63381  	return SQLITE_OK
 63382  }
 63383  
 63384  var qpvtabModule = sqlite3_module{
 63385  	FxConnect:    0,
 63386  	FxBestIndex:  0,
 63387  	FxDisconnect: 0,
 63388  	FxOpen:       0,
 63389  	FxClose:      0,
 63390  	FxFilter:     0,
 63391  	FxNext:       0,
 63392  	FxEof:        0,
 63393  	FxColumn:     0,
 63394  	FxRowid:      0,
 63395  }
 63396  
 63397  func sqlite3_qpvtab_init(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi uintptr) int32 {
 63398  	var rc int32 = SQLITE_OK
 63399  	_ = pApi
 63400  
 63401  	rc = sqlite3.Xsqlite3_create_module(tls, db, ts+6535, uintptr(unsafe.Pointer(&qpvtabModule)), uintptr(0))
 63402  	return rc
 63403  }
 63404  
 63405  type ReStateNumber = uint16
 63406  
 63407  type ReStateSet1 = struct {
 63408  	FnState      uint32
 63409  	F__ccgo_pad1 [4]byte
 63410  	FaState      uintptr
 63411  }
 63412  
 63413  type ReStateSet = ReStateSet1
 63414  
 63415  type ReInput1 = struct {
 63416  	Fz  uintptr
 63417  	Fi  int32
 63418  	Fmx int32
 63419  }
 63420  
 63421  type ReInput = ReInput1
 63422  
 63423  type ReCompiled1 = struct {
 63424  	FsIn       ReInput
 63425  	FzErr      uintptr
 63426  	FaOp       uintptr
 63427  	FaArg      uintptr
 63428  	FxNextChar uintptr
 63429  	FzInit     [12]uint8
 63430  	FnInit     int32
 63431  	FnState    uint32
 63432  	FnAlloc    uint32
 63433  }
 63434  
 63435  type ReCompiled = ReCompiled1
 63436  
 63437  func re_add_state(tls *libc.TLS, pSet uintptr, newState int32) {
 63438  	var i uint32
 63439  	for i = uint32(0); i < (*ReStateSet)(unsafe.Pointer(pSet)).FnState; i++ {
 63440  		if int32(*(*ReStateNumber)(unsafe.Pointer((*ReStateSet)(unsafe.Pointer(pSet)).FaState + uintptr(i)*2))) == newState {
 63441  			return
 63442  		}
 63443  	}
 63444  	*(*ReStateNumber)(unsafe.Pointer((*ReStateSet)(unsafe.Pointer(pSet)).FaState + uintptr(libc.PostIncUint32(&(*ReStateSet)(unsafe.Pointer(pSet)).FnState, 1))*2)) = ReStateNumber(newState)
 63445  }
 63446  
 63447  func re_next_char(tls *libc.TLS, p uintptr) uint32 {
 63448  	var c uint32
 63449  	if (*ReInput)(unsafe.Pointer(p)).Fi >= (*ReInput)(unsafe.Pointer(p)).Fmx {
 63450  		return uint32(0)
 63451  	}
 63452  	c = uint32(*(*uint8)(unsafe.Pointer((*ReInput)(unsafe.Pointer(p)).Fz + uintptr(libc.PostIncInt32(&(*ReInput)(unsafe.Pointer(p)).Fi, 1)))))
 63453  	if c >= uint32(0x80) {
 63454  		if c&uint32(0xe0) == uint32(0xc0) && (*ReInput)(unsafe.Pointer(p)).Fi < (*ReInput)(unsafe.Pointer(p)).Fmx && int32(*(*uint8)(unsafe.Pointer((*ReInput)(unsafe.Pointer(p)).Fz + uintptr((*ReInput)(unsafe.Pointer(p)).Fi))))&0xc0 == 0x80 {
 63455  			c = c&uint32(0x1f)<<6 | uint32(int32(*(*uint8)(unsafe.Pointer((*ReInput)(unsafe.Pointer(p)).Fz + uintptr(libc.PostIncInt32(&(*ReInput)(unsafe.Pointer(p)).Fi, 1)))))&0x3f)
 63456  			if c < uint32(0x80) {
 63457  				c = uint32(0xfffd)
 63458  			}
 63459  		} else if c&uint32(0xf0) == uint32(0xe0) && (*ReInput)(unsafe.Pointer(p)).Fi+1 < (*ReInput)(unsafe.Pointer(p)).Fmx && int32(*(*uint8)(unsafe.Pointer((*ReInput)(unsafe.Pointer(p)).Fz + uintptr((*ReInput)(unsafe.Pointer(p)).Fi))))&0xc0 == 0x80 &&
 63460  			int32(*(*uint8)(unsafe.Pointer((*ReInput)(unsafe.Pointer(p)).Fz + uintptr((*ReInput)(unsafe.Pointer(p)).Fi+1))))&0xc0 == 0x80 {
 63461  			c = c&uint32(0x0f)<<12 | uint32(int32(*(*uint8)(unsafe.Pointer((*ReInput)(unsafe.Pointer(p)).Fz + uintptr((*ReInput)(unsafe.Pointer(p)).Fi))))&0x3f<<6) | uint32(int32(*(*uint8)(unsafe.Pointer((*ReInput)(unsafe.Pointer(p)).Fz + uintptr((*ReInput)(unsafe.Pointer(p)).Fi+1))))&0x3f)
 63462  			*(*int32)(unsafe.Pointer(p + 8)) += 2
 63463  			if c <= uint32(0x7ff) || c >= uint32(0xd800) && c <= uint32(0xdfff) {
 63464  				c = uint32(0xfffd)
 63465  			}
 63466  		} else if c&uint32(0xf8) == uint32(0xf0) && (*ReInput)(unsafe.Pointer(p)).Fi+3 < (*ReInput)(unsafe.Pointer(p)).Fmx && int32(*(*uint8)(unsafe.Pointer((*ReInput)(unsafe.Pointer(p)).Fz + uintptr((*ReInput)(unsafe.Pointer(p)).Fi))))&0xc0 == 0x80 &&
 63467  			int32(*(*uint8)(unsafe.Pointer((*ReInput)(unsafe.Pointer(p)).Fz + uintptr((*ReInput)(unsafe.Pointer(p)).Fi+1))))&0xc0 == 0x80 && int32(*(*uint8)(unsafe.Pointer((*ReInput)(unsafe.Pointer(p)).Fz + uintptr((*ReInput)(unsafe.Pointer(p)).Fi+2))))&0xc0 == 0x80 {
 63468  			c = c&uint32(0x07)<<18 | uint32(int32(*(*uint8)(unsafe.Pointer((*ReInput)(unsafe.Pointer(p)).Fz + uintptr((*ReInput)(unsafe.Pointer(p)).Fi))))&0x3f<<12) | uint32(int32(*(*uint8)(unsafe.Pointer((*ReInput)(unsafe.Pointer(p)).Fz + uintptr((*ReInput)(unsafe.Pointer(p)).Fi+1))))&0x3f<<6) |
 63469  				uint32(int32(*(*uint8)(unsafe.Pointer((*ReInput)(unsafe.Pointer(p)).Fz + uintptr((*ReInput)(unsafe.Pointer(p)).Fi+2))))&0x3f)
 63470  			*(*int32)(unsafe.Pointer(p + 8)) += 3
 63471  			if c <= uint32(0xffff) || c > uint32(0x10ffff) {
 63472  				c = uint32(0xfffd)
 63473  			}
 63474  		} else {
 63475  			c = uint32(0xfffd)
 63476  		}
 63477  	}
 63478  	return c
 63479  }
 63480  
 63481  func re_next_char_nocase(tls *libc.TLS, p uintptr) uint32 {
 63482  	var c uint32 = re_next_char(tls, p)
 63483  	if c >= uint32('A') && c <= uint32('Z') {
 63484  		c = c + uint32('a'-'A')
 63485  	}
 63486  	return c
 63487  }
 63488  
 63489  func re_word_char(tls *libc.TLS, c int32) int32 {
 63490  	return libc.Bool32(c >= '0' && c <= '9' || c >= 'a' && c <= 'z' ||
 63491  		c >= 'A' && c <= 'Z' || c == '_')
 63492  }
 63493  
 63494  func re_digit_char(tls *libc.TLS, c int32) int32 {
 63495  	return libc.Bool32(c >= '0' && c <= '9')
 63496  }
 63497  
 63498  func re_space_char(tls *libc.TLS, c int32) int32 {
 63499  	return libc.Bool32(c == ' ' || c == '\t' || c == '\n' || c == '\r' || c == '\v' || c == '\f')
 63500  }
 63501  
 63502  func sqlite3re_match(tls *libc.TLS, pRe uintptr, zIn uintptr, nIn int32) int32 {
 63503  	bp := tls.Alloc(248)
 63504  	defer tls.Free(248)
 63505  
 63506  	var pThis uintptr
 63507  	var pNext uintptr
 63508  
 63509  	var pToFree uintptr
 63510  	var i uint32
 63511  	var iSwap uint32
 63512  	var c int32
 63513  	var cPrev int32
 63514  	var rc int32
 63515  
 63516  	var x uint8
 63517  	var j int32
 63518  	var n int32
 63519  	var hit int32
 63520  	var x1 int32
 63521  	i = uint32(0)
 63522  	iSwap = uint32(0)
 63523  	c = RE_EOF + 1
 63524  	cPrev = 0
 63525  	rc = 0
 63526  
 63527  	(*ReInput)(unsafe.Pointer(bp + 232)).Fz = zIn
 63528  	(*ReInput)(unsafe.Pointer(bp + 232)).Fi = 0
 63529  	(*ReInput)(unsafe.Pointer(bp + 232)).Fmx = func() int32 {
 63530  		if nIn >= 0 {
 63531  			return nIn
 63532  		}
 63533  		return int32(libc.Xstrlen(tls, zIn))
 63534  	}()
 63535  
 63536  	if !((*ReCompiled)(unsafe.Pointer(pRe)).FnInit != 0) {
 63537  		goto __1
 63538  	}
 63539  	x = *(*uint8)(unsafe.Pointer(pRe + 48))
 63540  __2:
 63541  	if !((*ReInput)(unsafe.Pointer(bp+232)).Fi+(*ReCompiled)(unsafe.Pointer(pRe)).FnInit <= (*ReInput)(unsafe.Pointer(bp+232)).Fmx &&
 63542  		(int32(*(*uint8)(unsafe.Pointer(zIn + uintptr((*ReInput)(unsafe.Pointer(bp+232)).Fi)))) != int32(x) || libc.Xstrncmp(tls, zIn+uintptr((*ReInput)(unsafe.Pointer(bp+232)).Fi), pRe+48, uint64((*ReCompiled)(unsafe.Pointer(pRe)).FnInit)) != 0)) {
 63543  		goto __3
 63544  	}
 63545  	(*ReInput)(unsafe.Pointer(bp+232)).Fi++
 63546  	goto __2
 63547  __3:
 63548  	;
 63549  	if !((*ReInput)(unsafe.Pointer(bp+232)).Fi+(*ReCompiled)(unsafe.Pointer(pRe)).FnInit > (*ReInput)(unsafe.Pointer(bp+232)).Fmx) {
 63550  		goto __4
 63551  	}
 63552  	return 0
 63553  __4:
 63554  	;
 63555  __1:
 63556  	;
 63557  	if !(uint64((*ReCompiled)(unsafe.Pointer(pRe)).FnState) <= uint64(unsafe.Sizeof([100]ReStateNumber{}))/(uint64(unsafe.Sizeof(ReStateNumber(0)))*uint64(2))) {
 63558  		goto __5
 63559  	}
 63560  	pToFree = uintptr(0)
 63561  	(*ReStateSet)(unsafe.Pointer(bp)).FaState = bp + 32
 63562  	goto __6
 63563  __5:
 63564  	pToFree = sqlite3.Xsqlite3_malloc64(tls, uint64(unsafe.Sizeof(ReStateNumber(0)))*uint64(2)*uint64((*ReCompiled)(unsafe.Pointer(pRe)).FnState))
 63565  	if !(pToFree == uintptr(0)) {
 63566  		goto __7
 63567  	}
 63568  	return -1
 63569  __7:
 63570  	;
 63571  	(*ReStateSet)(unsafe.Pointer(bp)).FaState = pToFree
 63572  __6:
 63573  	;
 63574  	(*ReStateSet)(unsafe.Pointer(bp + 1*16)).FaState = (*ReStateSet)(unsafe.Pointer(bp)).FaState + uintptr((*ReCompiled)(unsafe.Pointer(pRe)).FnState)*2
 63575  	pNext = bp + 1*16
 63576  	(*ReStateSet)(unsafe.Pointer(pNext)).FnState = uint32(0)
 63577  	re_add_state(tls, pNext, 0)
 63578  __8:
 63579  	if !(c != RE_EOF && (*ReStateSet)(unsafe.Pointer(pNext)).FnState > uint32(0)) {
 63580  		goto __9
 63581  	}
 63582  	cPrev = c
 63583  	c = int32((*struct {
 63584  		f func(*libc.TLS, uintptr) uint32
 63585  	})(unsafe.Pointer(&struct{ uintptr }{(*ReCompiled)(unsafe.Pointer(pRe)).FxNextChar})).f(tls, bp+232))
 63586  	pThis = pNext
 63587  	pNext = bp + uintptr(iSwap)*16
 63588  	iSwap = uint32(1) - iSwap
 63589  	(*ReStateSet)(unsafe.Pointer(pNext)).FnState = uint32(0)
 63590  	i = uint32(0)
 63591  __10:
 63592  	if !(i < (*ReStateSet)(unsafe.Pointer(pThis)).FnState) {
 63593  		goto __12
 63594  	}
 63595  	x1 = int32(*(*ReStateNumber)(unsafe.Pointer((*ReStateSet)(unsafe.Pointer(pThis)).FaState + uintptr(i)*2)))
 63596  	switch int32(*(*int8)(unsafe.Pointer((*ReCompiled)(unsafe.Pointer(pRe)).FaOp + uintptr(x1)))) {
 63597  	case RE_OP_MATCH:
 63598  		goto __14
 63599  	case RE_OP_ANY:
 63600  		goto __15
 63601  	case RE_OP_WORD:
 63602  		goto __16
 63603  	case RE_OP_NOTWORD:
 63604  		goto __17
 63605  	case RE_OP_DIGIT:
 63606  		goto __18
 63607  	case RE_OP_NOTDIGIT:
 63608  		goto __19
 63609  	case RE_OP_SPACE:
 63610  		goto __20
 63611  	case RE_OP_NOTSPACE:
 63612  		goto __21
 63613  	case RE_OP_BOUNDARY:
 63614  		goto __22
 63615  	case RE_OP_ANYSTAR:
 63616  		goto __23
 63617  	case RE_OP_FORK:
 63618  		goto __24
 63619  	case RE_OP_GOTO:
 63620  		goto __25
 63621  	case RE_OP_ACCEPT:
 63622  		goto __26
 63623  	case RE_OP_CC_EXC:
 63624  		goto __27
 63625  	case RE_OP_CC_INC:
 63626  		goto __28
 63627  	}
 63628  	goto __13
 63629  __14:
 63630  	if !(*(*int32)(unsafe.Pointer((*ReCompiled)(unsafe.Pointer(pRe)).FaArg + uintptr(x1)*4)) == c) {
 63631  		goto __29
 63632  	}
 63633  	re_add_state(tls, pNext, x1+1)
 63634  __29:
 63635  	;
 63636  	goto __13
 63637  
 63638  __15:
 63639  	if !(c != 0) {
 63640  		goto __30
 63641  	}
 63642  	re_add_state(tls, pNext, x1+1)
 63643  __30:
 63644  	;
 63645  	goto __13
 63646  
 63647  __16:
 63648  	if !(re_word_char(tls, c) != 0) {
 63649  		goto __31
 63650  	}
 63651  	re_add_state(tls, pNext, x1+1)
 63652  __31:
 63653  	;
 63654  	goto __13
 63655  
 63656  __17:
 63657  	if !(!(re_word_char(tls, c) != 0) && c != 0) {
 63658  		goto __32
 63659  	}
 63660  	re_add_state(tls, pNext, x1+1)
 63661  __32:
 63662  	;
 63663  	goto __13
 63664  
 63665  __18:
 63666  	if !(re_digit_char(tls, c) != 0) {
 63667  		goto __33
 63668  	}
 63669  	re_add_state(tls, pNext, x1+1)
 63670  __33:
 63671  	;
 63672  	goto __13
 63673  
 63674  __19:
 63675  	if !(!(re_digit_char(tls, c) != 0) && c != 0) {
 63676  		goto __34
 63677  	}
 63678  	re_add_state(tls, pNext, x1+1)
 63679  __34:
 63680  	;
 63681  	goto __13
 63682  
 63683  __20:
 63684  	if !(re_space_char(tls, c) != 0) {
 63685  		goto __35
 63686  	}
 63687  	re_add_state(tls, pNext, x1+1)
 63688  __35:
 63689  	;
 63690  	goto __13
 63691  
 63692  __21:
 63693  	if !(!(re_space_char(tls, c) != 0) && c != 0) {
 63694  		goto __36
 63695  	}
 63696  	re_add_state(tls, pNext, x1+1)
 63697  __36:
 63698  	;
 63699  	goto __13
 63700  
 63701  __22:
 63702  	if !(re_word_char(tls, c) != re_word_char(tls, cPrev)) {
 63703  		goto __37
 63704  	}
 63705  	re_add_state(tls, pThis, x1+1)
 63706  __37:
 63707  	;
 63708  	goto __13
 63709  
 63710  __23:
 63711  	re_add_state(tls, pNext, x1)
 63712  	re_add_state(tls, pThis, x1+1)
 63713  	goto __13
 63714  
 63715  __24:
 63716  	re_add_state(tls, pThis, x1+*(*int32)(unsafe.Pointer((*ReCompiled)(unsafe.Pointer(pRe)).FaArg + uintptr(x1)*4)))
 63717  	re_add_state(tls, pThis, x1+1)
 63718  	goto __13
 63719  
 63720  __25:
 63721  	re_add_state(tls, pThis, x1+*(*int32)(unsafe.Pointer((*ReCompiled)(unsafe.Pointer(pRe)).FaArg + uintptr(x1)*4)))
 63722  	goto __13
 63723  
 63724  __26:
 63725  	rc = 1
 63726  	goto re_match_end
 63727  
 63728  __27:
 63729  	if !(c == 0) {
 63730  		goto __38
 63731  	}
 63732  	goto __13
 63733  __38:
 63734  	;
 63735  	goto re_op_cc_inc
 63736  
 63737  __28:
 63738  re_op_cc_inc:
 63739  	j = 1
 63740  	n = *(*int32)(unsafe.Pointer((*ReCompiled)(unsafe.Pointer(pRe)).FaArg + uintptr(x1)*4))
 63741  	hit = 0
 63742  	j = 1
 63743  __39:
 63744  	if !(j > 0 && j < n) {
 63745  		goto __41
 63746  	}
 63747  	if !(int32(*(*int8)(unsafe.Pointer((*ReCompiled)(unsafe.Pointer(pRe)).FaOp + uintptr(x1+j)))) == RE_OP_CC_VALUE) {
 63748  		goto __42
 63749  	}
 63750  	if !(*(*int32)(unsafe.Pointer((*ReCompiled)(unsafe.Pointer(pRe)).FaArg + uintptr(x1+j)*4)) == c) {
 63751  		goto __44
 63752  	}
 63753  	hit = 1
 63754  	j = -1
 63755  __44:
 63756  	;
 63757  	goto __43
 63758  __42:
 63759  	if !(*(*int32)(unsafe.Pointer((*ReCompiled)(unsafe.Pointer(pRe)).FaArg + uintptr(x1+j)*4)) <= c && *(*int32)(unsafe.Pointer((*ReCompiled)(unsafe.Pointer(pRe)).FaArg + uintptr(x1+j+1)*4)) >= c) {
 63760  		goto __45
 63761  	}
 63762  	hit = 1
 63763  	j = -1
 63764  	goto __46
 63765  __45:
 63766  	j++
 63767  __46:
 63768  	;
 63769  __43:
 63770  	;
 63771  	goto __40
 63772  __40:
 63773  	j++
 63774  	goto __39
 63775  	goto __41
 63776  __41:
 63777  	;
 63778  	if !(int32(*(*int8)(unsafe.Pointer((*ReCompiled)(unsafe.Pointer(pRe)).FaOp + uintptr(x1)))) == RE_OP_CC_EXC) {
 63779  		goto __47
 63780  	}
 63781  	hit = libc.BoolInt32(!(hit != 0))
 63782  __47:
 63783  	;
 63784  	if !(hit != 0) {
 63785  		goto __48
 63786  	}
 63787  	re_add_state(tls, pNext, x1+n)
 63788  __48:
 63789  	;
 63790  	goto __13
 63791  
 63792  __13:
 63793  	;
 63794  	goto __11
 63795  __11:
 63796  	i++
 63797  	goto __10
 63798  	goto __12
 63799  __12:
 63800  	;
 63801  	goto __8
 63802  __9:
 63803  	;
 63804  	i = uint32(0)
 63805  __49:
 63806  	if !(i < (*ReStateSet)(unsafe.Pointer(pNext)).FnState) {
 63807  		goto __51
 63808  	}
 63809  	if !(int32(*(*int8)(unsafe.Pointer((*ReCompiled)(unsafe.Pointer(pRe)).FaOp + uintptr(*(*ReStateNumber)(unsafe.Pointer((*ReStateSet)(unsafe.Pointer(pNext)).FaState + uintptr(i)*2)))))) == RE_OP_ACCEPT) {
 63810  		goto __52
 63811  	}
 63812  	rc = 1
 63813  	goto __51
 63814  __52:
 63815  	;
 63816  	goto __50
 63817  __50:
 63818  	i++
 63819  	goto __49
 63820  	goto __51
 63821  __51:
 63822  	;
 63823  re_match_end:
 63824  	sqlite3.Xsqlite3_free(tls, pToFree)
 63825  	return rc
 63826  }
 63827  
 63828  func re_resize(tls *libc.TLS, p uintptr, N int32) int32 {
 63829  	var aOp uintptr
 63830  	var aArg uintptr
 63831  	aOp = sqlite3.Xsqlite3_realloc64(tls, (*ReCompiled)(unsafe.Pointer(p)).FaOp, uint64(N)*uint64(unsafe.Sizeof(int8(0))))
 63832  	if aOp == uintptr(0) {
 63833  		return 1
 63834  	}
 63835  	(*ReCompiled)(unsafe.Pointer(p)).FaOp = aOp
 63836  	aArg = sqlite3.Xsqlite3_realloc64(tls, (*ReCompiled)(unsafe.Pointer(p)).FaArg, uint64(N)*uint64(unsafe.Sizeof(int32(0))))
 63837  	if aArg == uintptr(0) {
 63838  		return 1
 63839  	}
 63840  	(*ReCompiled)(unsafe.Pointer(p)).FaArg = aArg
 63841  	(*ReCompiled)(unsafe.Pointer(p)).FnAlloc = uint32(N)
 63842  	return 0
 63843  }
 63844  
 63845  func re_insert(tls *libc.TLS, p uintptr, iBefore int32, op int32, arg int32) int32 {
 63846  	var i int32
 63847  	if (*ReCompiled)(unsafe.Pointer(p)).FnAlloc <= (*ReCompiled)(unsafe.Pointer(p)).FnState && re_resize(tls, p, int32((*ReCompiled)(unsafe.Pointer(p)).FnAlloc*uint32(2))) != 0 {
 63848  		return 0
 63849  	}
 63850  	for i = int32((*ReCompiled)(unsafe.Pointer(p)).FnState); i > iBefore; i-- {
 63851  		*(*int8)(unsafe.Pointer((*ReCompiled)(unsafe.Pointer(p)).FaOp + uintptr(i))) = *(*int8)(unsafe.Pointer((*ReCompiled)(unsafe.Pointer(p)).FaOp + uintptr(i-1)))
 63852  		*(*int32)(unsafe.Pointer((*ReCompiled)(unsafe.Pointer(p)).FaArg + uintptr(i)*4)) = *(*int32)(unsafe.Pointer((*ReCompiled)(unsafe.Pointer(p)).FaArg + uintptr(i-1)*4))
 63853  	}
 63854  	(*ReCompiled)(unsafe.Pointer(p)).FnState++
 63855  	*(*int8)(unsafe.Pointer((*ReCompiled)(unsafe.Pointer(p)).FaOp + uintptr(iBefore))) = int8(op)
 63856  	*(*int32)(unsafe.Pointer((*ReCompiled)(unsafe.Pointer(p)).FaArg + uintptr(iBefore)*4)) = arg
 63857  	return iBefore
 63858  }
 63859  
 63860  func re_append(tls *libc.TLS, p uintptr, op int32, arg int32) int32 {
 63861  	return re_insert(tls, p, int32((*ReCompiled)(unsafe.Pointer(p)).FnState), op, arg)
 63862  }
 63863  
 63864  func re_copy(tls *libc.TLS, p uintptr, iStart int32, N int32) {
 63865  	if (*ReCompiled)(unsafe.Pointer(p)).FnState+uint32(N) >= (*ReCompiled)(unsafe.Pointer(p)).FnAlloc && re_resize(tls, p, int32((*ReCompiled)(unsafe.Pointer(p)).FnAlloc*uint32(2)+uint32(N))) != 0 {
 63866  		return
 63867  	}
 63868  	libc.Xmemcpy(tls, (*ReCompiled)(unsafe.Pointer(p)).FaOp+uintptr((*ReCompiled)(unsafe.Pointer(p)).FnState), (*ReCompiled)(unsafe.Pointer(p)).FaOp+uintptr(iStart), uint64(N)*uint64(unsafe.Sizeof(int8(0))))
 63869  	libc.Xmemcpy(tls, (*ReCompiled)(unsafe.Pointer(p)).FaArg+uintptr((*ReCompiled)(unsafe.Pointer(p)).FnState)*4, (*ReCompiled)(unsafe.Pointer(p)).FaArg+uintptr(iStart)*4, uint64(N)*uint64(unsafe.Sizeof(int32(0))))
 63870  	*(*uint32)(unsafe.Pointer(p + 64)) += uint32(N)
 63871  }
 63872  
 63873  func re_hex(tls *libc.TLS, c int32, pV uintptr) int32 {
 63874  	if c >= '0' && c <= '9' {
 63875  		c = c - '0'
 63876  	} else if c >= 'a' && c <= 'f' {
 63877  		c = c - ('a' - 10)
 63878  	} else if c >= 'A' && c <= 'F' {
 63879  		c = c - ('A' - 10)
 63880  	} else {
 63881  		return 0
 63882  	}
 63883  	*(*int32)(unsafe.Pointer(pV)) = *(*int32)(unsafe.Pointer(pV))*16 + c&0xff
 63884  	return 1
 63885  }
 63886  
 63887  func re_esc_char(tls *libc.TLS, p uintptr) uint32 {
 63888  	bp := tls.Alloc(4)
 63889  	defer tls.Free(4)
 63890  
 63891  	var i int32
 63892  	*(*int32)(unsafe.Pointer(bp)) = 0
 63893  	var c int8
 63894  	if (*ReCompiled)(unsafe.Pointer(p)).FsIn.Fi >= (*ReCompiled)(unsafe.Pointer(p)).FsIn.Fmx {
 63895  		return uint32(0)
 63896  	}
 63897  	c = int8(*(*uint8)(unsafe.Pointer((*ReCompiled)(unsafe.Pointer(p)).FsIn.Fz + uintptr((*ReCompiled)(unsafe.Pointer(p)).FsIn.Fi))))
 63898  	if int32(c) == 'u' && (*ReCompiled)(unsafe.Pointer(p)).FsIn.Fi+4 < (*ReCompiled)(unsafe.Pointer(p)).FsIn.Fmx {
 63899  		var zIn uintptr = (*ReCompiled)(unsafe.Pointer(p)).FsIn.Fz + uintptr((*ReCompiled)(unsafe.Pointer(p)).FsIn.Fi)
 63900  		if re_hex(tls, int32(*(*uint8)(unsafe.Pointer(zIn + 1))), bp) != 0 &&
 63901  			re_hex(tls, int32(*(*uint8)(unsafe.Pointer(zIn + 2))), bp) != 0 &&
 63902  			re_hex(tls, int32(*(*uint8)(unsafe.Pointer(zIn + 3))), bp) != 0 &&
 63903  			re_hex(tls, int32(*(*uint8)(unsafe.Pointer(zIn + 4))), bp) != 0 {
 63904  			*(*int32)(unsafe.Pointer(p + 8)) += 5
 63905  			return uint32(*(*int32)(unsafe.Pointer(bp)))
 63906  		}
 63907  	}
 63908  	if int32(c) == 'x' && (*ReCompiled)(unsafe.Pointer(p)).FsIn.Fi+2 < (*ReCompiled)(unsafe.Pointer(p)).FsIn.Fmx {
 63909  		var zIn uintptr = (*ReCompiled)(unsafe.Pointer(p)).FsIn.Fz + uintptr((*ReCompiled)(unsafe.Pointer(p)).FsIn.Fi)
 63910  		if re_hex(tls, int32(*(*uint8)(unsafe.Pointer(zIn + 1))), bp) != 0 &&
 63911  			re_hex(tls, int32(*(*uint8)(unsafe.Pointer(zIn + 2))), bp) != 0 {
 63912  			*(*int32)(unsafe.Pointer(p + 8)) += 3
 63913  			return uint32(*(*int32)(unsafe.Pointer(bp)))
 63914  		}
 63915  	}
 63916  	for i = 0; zEsc[i] != 0 && int32(zEsc[i]) != int32(c); i++ {
 63917  	}
 63918  	if zEsc[i] != 0 {
 63919  		if i < 6 {
 63920  			c = zTrans[i]
 63921  		}
 63922  		(*ReCompiled)(unsafe.Pointer(p)).FsIn.Fi++
 63923  	} else {
 63924  		(*ReCompiled)(unsafe.Pointer(p)).FzErr = ts + 6542
 63925  	}
 63926  	return uint32(c)
 63927  }
 63928  
 63929  var zEsc = *(*[21]int8)(unsafe.Pointer(ts + 6559))
 63930  var zTrans = *(*[7]int8)(unsafe.Pointer(ts + 6580))
 63931  
 63932  func rePeek(tls *libc.TLS, p uintptr) uint8 {
 63933  	if (*ReCompiled)(unsafe.Pointer(p)).FsIn.Fi < (*ReCompiled)(unsafe.Pointer(p)).FsIn.Fmx {
 63934  		return *(*uint8)(unsafe.Pointer((*ReCompiled)(unsafe.Pointer(p)).FsIn.Fz + uintptr((*ReCompiled)(unsafe.Pointer(p)).FsIn.Fi)))
 63935  	}
 63936  	return uint8(0)
 63937  }
 63938  
 63939  func re_subcompile_re(tls *libc.TLS, p uintptr) uintptr {
 63940  	var zErr uintptr
 63941  	var iStart int32
 63942  	var iEnd int32
 63943  	var iGoto int32
 63944  	iStart = int32((*ReCompiled)(unsafe.Pointer(p)).FnState)
 63945  	zErr = re_subcompile_string(tls, p)
 63946  	if zErr != 0 {
 63947  		return zErr
 63948  	}
 63949  	for int32(rePeek(tls, p)) == '|' {
 63950  		iEnd = int32((*ReCompiled)(unsafe.Pointer(p)).FnState)
 63951  		re_insert(tls, p, iStart, RE_OP_FORK, iEnd+2-iStart)
 63952  		iGoto = re_append(tls, p, RE_OP_GOTO, 0)
 63953  		(*ReCompiled)(unsafe.Pointer(p)).FsIn.Fi++
 63954  		zErr = re_subcompile_string(tls, p)
 63955  		if zErr != 0 {
 63956  			return zErr
 63957  		}
 63958  		*(*int32)(unsafe.Pointer((*ReCompiled)(unsafe.Pointer(p)).FaArg + uintptr(iGoto)*4)) = int32((*ReCompiled)(unsafe.Pointer(p)).FnState - uint32(iGoto))
 63959  	}
 63960  	return uintptr(0)
 63961  }
 63962  
 63963  func re_subcompile_string(tls *libc.TLS, p uintptr) uintptr {
 63964  	var iPrev int32 = -1
 63965  	var iStart int32
 63966  	var c uint32
 63967  	var zErr uintptr
 63968  	for libc.AssignUint32(&c, (*struct {
 63969  		f func(*libc.TLS, uintptr) uint32
 63970  	})(unsafe.Pointer(&struct{ uintptr }{(*ReCompiled)(unsafe.Pointer(p)).FxNextChar})).f(tls, p)) != uint32(0) {
 63971  		iStart = int32((*ReCompiled)(unsafe.Pointer(p)).FnState)
 63972  		switch c {
 63973  		case uint32('|'):
 63974  			fallthrough
 63975  		case uint32('$'):
 63976  			fallthrough
 63977  		case uint32(')'):
 63978  			{
 63979  				(*ReCompiled)(unsafe.Pointer(p)).FsIn.Fi--
 63980  				return uintptr(0)
 63981  
 63982  			}
 63983  		case uint32('('):
 63984  			{
 63985  				zErr = re_subcompile_re(tls, p)
 63986  				if zErr != 0 {
 63987  					return zErr
 63988  				}
 63989  				if int32(rePeek(tls, p)) != ')' {
 63990  					return ts + 6587
 63991  				}
 63992  				(*ReCompiled)(unsafe.Pointer(p)).FsIn.Fi++
 63993  				break
 63994  
 63995  			}
 63996  		case uint32('.'):
 63997  			{
 63998  				if int32(rePeek(tls, p)) == '*' {
 63999  					re_append(tls, p, RE_OP_ANYSTAR, 0)
 64000  					(*ReCompiled)(unsafe.Pointer(p)).FsIn.Fi++
 64001  				} else {
 64002  					re_append(tls, p, RE_OP_ANY, 0)
 64003  				}
 64004  				break
 64005  
 64006  			}
 64007  		case uint32('*'):
 64008  			{
 64009  				if iPrev < 0 {
 64010  					return ts + 6601
 64011  				}
 64012  				re_insert(tls, p, iPrev, RE_OP_GOTO, int32((*ReCompiled)(unsafe.Pointer(p)).FnState-uint32(iPrev)+uint32(1)))
 64013  				re_append(tls, p, RE_OP_FORK, int32(uint32(iPrev)-(*ReCompiled)(unsafe.Pointer(p)).FnState+uint32(1)))
 64014  				break
 64015  
 64016  			}
 64017  		case uint32('+'):
 64018  			{
 64019  				if iPrev < 0 {
 64020  					return ts + 6621
 64021  				}
 64022  				re_append(tls, p, RE_OP_FORK, int32(uint32(iPrev)-(*ReCompiled)(unsafe.Pointer(p)).FnState))
 64023  				break
 64024  
 64025  			}
 64026  		case uint32('?'):
 64027  			{
 64028  				if iPrev < 0 {
 64029  					return ts + 6641
 64030  				}
 64031  				re_insert(tls, p, iPrev, RE_OP_FORK, int32((*ReCompiled)(unsafe.Pointer(p)).FnState-uint32(iPrev)+uint32(1)))
 64032  				break
 64033  
 64034  			}
 64035  		case uint32('{'):
 64036  			{
 64037  				var m int32 = 0
 64038  				var n int32 = 0
 64039  				var sz int32
 64040  				var j int32
 64041  				if iPrev < 0 {
 64042  					return ts + 6661
 64043  				}
 64044  				for libc.AssignUint32(&c, uint32(rePeek(tls, p))) >= uint32('0') && c <= uint32('9') {
 64045  					m = int32(uint32(m*10) + c - uint32('0'))
 64046  					(*ReCompiled)(unsafe.Pointer(p)).FsIn.Fi++
 64047  				}
 64048  				n = m
 64049  				if c == uint32(',') {
 64050  					(*ReCompiled)(unsafe.Pointer(p)).FsIn.Fi++
 64051  					n = 0
 64052  					for libc.AssignUint32(&c, uint32(rePeek(tls, p))) >= uint32('0') && c <= uint32('9') {
 64053  						n = int32(uint32(n*10) + c - uint32('0'))
 64054  						(*ReCompiled)(unsafe.Pointer(p)).FsIn.Fi++
 64055  					}
 64056  				}
 64057  				if c != uint32('}') {
 64058  					return ts + 6685
 64059  				}
 64060  				if n > 0 && n < m {
 64061  					return ts + 6699
 64062  				}
 64063  				(*ReCompiled)(unsafe.Pointer(p)).FsIn.Fi++
 64064  				sz = int32((*ReCompiled)(unsafe.Pointer(p)).FnState - uint32(iPrev))
 64065  				if m == 0 {
 64066  					if n == 0 {
 64067  						return ts + 6724
 64068  					}
 64069  					re_insert(tls, p, iPrev, RE_OP_FORK, sz+1)
 64070  					n--
 64071  				} else {
 64072  					for j = 1; j < m; j++ {
 64073  						re_copy(tls, p, iPrev, sz)
 64074  					}
 64075  				}
 64076  				for j = m; j < n; j++ {
 64077  					re_append(tls, p, RE_OP_FORK, sz+1)
 64078  					re_copy(tls, p, iPrev, sz)
 64079  				}
 64080  				if n == 0 && m > 0 {
 64081  					re_append(tls, p, RE_OP_FORK, -sz)
 64082  				}
 64083  				break
 64084  
 64085  			}
 64086  		case uint32('['):
 64087  			{
 64088  				var iFirst int32 = int32((*ReCompiled)(unsafe.Pointer(p)).FnState)
 64089  				if int32(rePeek(tls, p)) == '^' {
 64090  					re_append(tls, p, RE_OP_CC_EXC, 0)
 64091  					(*ReCompiled)(unsafe.Pointer(p)).FsIn.Fi++
 64092  				} else {
 64093  					re_append(tls, p, RE_OP_CC_INC, 0)
 64094  				}
 64095  				for libc.AssignUint32(&c, (*struct {
 64096  					f func(*libc.TLS, uintptr) uint32
 64097  				})(unsafe.Pointer(&struct{ uintptr }{(*ReCompiled)(unsafe.Pointer(p)).FxNextChar})).f(tls, p)) != uint32(0) {
 64098  					if c == uint32('[') && int32(rePeek(tls, p)) == ':' {
 64099  						return ts + 6757
 64100  					}
 64101  					if c == uint32('\\') {
 64102  						c = re_esc_char(tls, p)
 64103  					}
 64104  					if int32(rePeek(tls, p)) == '-' {
 64105  						re_append(tls, p, RE_OP_CC_RANGE, int32(c))
 64106  						(*ReCompiled)(unsafe.Pointer(p)).FsIn.Fi++
 64107  						c = (*struct {
 64108  							f func(*libc.TLS, uintptr) uint32
 64109  						})(unsafe.Pointer(&struct{ uintptr }{(*ReCompiled)(unsafe.Pointer(p)).FxNextChar})).f(tls, p)
 64110  						if c == uint32('\\') {
 64111  							c = re_esc_char(tls, p)
 64112  						}
 64113  						re_append(tls, p, RE_OP_CC_RANGE, int32(c))
 64114  					} else {
 64115  						re_append(tls, p, RE_OP_CC_VALUE, int32(c))
 64116  					}
 64117  					if int32(rePeek(tls, p)) == ']' {
 64118  						(*ReCompiled)(unsafe.Pointer(p)).FsIn.Fi++
 64119  						break
 64120  					}
 64121  				}
 64122  				if c == uint32(0) {
 64123  					return ts + 6795
 64124  				}
 64125  				*(*int32)(unsafe.Pointer((*ReCompiled)(unsafe.Pointer(p)).FaArg + uintptr(iFirst)*4)) = int32((*ReCompiled)(unsafe.Pointer(p)).FnState - uint32(iFirst))
 64126  				break
 64127  
 64128  			}
 64129  		case uint32('\\'):
 64130  			{
 64131  				var specialOp int32 = 0
 64132  				switch int32(rePeek(tls, p)) {
 64133  				case 'b':
 64134  					specialOp = RE_OP_BOUNDARY
 64135  					break
 64136  				case 'd':
 64137  					specialOp = RE_OP_DIGIT
 64138  					break
 64139  				case 'D':
 64140  					specialOp = RE_OP_NOTDIGIT
 64141  					break
 64142  				case 's':
 64143  					specialOp = RE_OP_SPACE
 64144  					break
 64145  				case 'S':
 64146  					specialOp = RE_OP_NOTSPACE
 64147  					break
 64148  				case 'w':
 64149  					specialOp = RE_OP_WORD
 64150  					break
 64151  				case 'W':
 64152  					specialOp = RE_OP_NOTWORD
 64153  					break
 64154  				}
 64155  				if specialOp != 0 {
 64156  					(*ReCompiled)(unsafe.Pointer(p)).FsIn.Fi++
 64157  					re_append(tls, p, specialOp, 0)
 64158  				} else {
 64159  					c = re_esc_char(tls, p)
 64160  					re_append(tls, p, RE_OP_MATCH, int32(c))
 64161  				}
 64162  				break
 64163  
 64164  			}
 64165  		default:
 64166  			{
 64167  				re_append(tls, p, RE_OP_MATCH, int32(c))
 64168  				break
 64169  
 64170  			}
 64171  		}
 64172  		iPrev = iStart
 64173  	}
 64174  	return uintptr(0)
 64175  }
 64176  
 64177  func sqlite3re_free(tls *libc.TLS, pRe uintptr) {
 64178  	if pRe != 0 {
 64179  		sqlite3.Xsqlite3_free(tls, (*ReCompiled)(unsafe.Pointer(pRe)).FaOp)
 64180  		sqlite3.Xsqlite3_free(tls, (*ReCompiled)(unsafe.Pointer(pRe)).FaArg)
 64181  		sqlite3.Xsqlite3_free(tls, pRe)
 64182  	}
 64183  }
 64184  
 64185  func sqlite3re_compile(tls *libc.TLS, ppRe uintptr, zIn uintptr, noCase int32) uintptr {
 64186  	var pRe uintptr
 64187  	var zErr uintptr
 64188  	var i int32
 64189  	var j int32
 64190  
 64191  	*(*uintptr)(unsafe.Pointer(ppRe)) = uintptr(0)
 64192  	pRe = sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(ReCompiled{})))
 64193  	if pRe == uintptr(0) {
 64194  		return ts + 2069
 64195  	}
 64196  	libc.Xmemset(tls, pRe, 0, uint64(unsafe.Sizeof(ReCompiled{})))
 64197  	(*ReCompiled)(unsafe.Pointer(pRe)).FxNextChar = func() uintptr {
 64198  		if noCase != 0 {
 64199  			return *(*uintptr)(unsafe.Pointer(&struct {
 64200  				f func(*libc.TLS, uintptr) uint32
 64201  			}{re_next_char_nocase}))
 64202  		}
 64203  		return *(*uintptr)(unsafe.Pointer(&struct {
 64204  			f func(*libc.TLS, uintptr) uint32
 64205  		}{re_next_char}))
 64206  	}()
 64207  	if re_resize(tls, pRe, 30) != 0 {
 64208  		sqlite3re_free(tls, pRe)
 64209  		return ts + 2069
 64210  	}
 64211  	if int32(*(*int8)(unsafe.Pointer(zIn))) == '^' {
 64212  		zIn++
 64213  	} else {
 64214  		re_append(tls, pRe, RE_OP_ANYSTAR, 0)
 64215  	}
 64216  	(*ReCompiled)(unsafe.Pointer(pRe)).FsIn.Fz = zIn
 64217  	(*ReCompiled)(unsafe.Pointer(pRe)).FsIn.Fi = 0
 64218  	(*ReCompiled)(unsafe.Pointer(pRe)).FsIn.Fmx = int32(libc.Xstrlen(tls, zIn))
 64219  	zErr = re_subcompile_re(tls, pRe)
 64220  	if zErr != 0 {
 64221  		sqlite3re_free(tls, pRe)
 64222  		return zErr
 64223  	}
 64224  	if int32(rePeek(tls, pRe)) == '$' && (*ReCompiled)(unsafe.Pointer(pRe)).FsIn.Fi+1 >= (*ReCompiled)(unsafe.Pointer(pRe)).FsIn.Fmx {
 64225  		re_append(tls, pRe, RE_OP_MATCH, RE_EOF)
 64226  		re_append(tls, pRe, RE_OP_ACCEPT, 0)
 64227  		*(*uintptr)(unsafe.Pointer(ppRe)) = pRe
 64228  	} else if (*ReCompiled)(unsafe.Pointer(pRe)).FsIn.Fi >= (*ReCompiled)(unsafe.Pointer(pRe)).FsIn.Fmx {
 64229  		re_append(tls, pRe, RE_OP_ACCEPT, 0)
 64230  		*(*uintptr)(unsafe.Pointer(ppRe)) = pRe
 64231  	} else {
 64232  		sqlite3re_free(tls, pRe)
 64233  		return ts + 6808
 64234  	}
 64235  
 64236  	if int32(*(*int8)(unsafe.Pointer((*ReCompiled)(unsafe.Pointer(pRe)).FaOp))) == RE_OP_ANYSTAR && !(noCase != 0) {
 64237  		j = 0
 64238  		i = 1
 64239  		for ; j < int32(unsafe.Sizeof([12]uint8{}))-2 && int32(*(*int8)(unsafe.Pointer((*ReCompiled)(unsafe.Pointer(pRe)).FaOp + uintptr(i)))) == RE_OP_MATCH; i++ {
 64240  			var x uint32 = uint32(*(*int32)(unsafe.Pointer((*ReCompiled)(unsafe.Pointer(pRe)).FaArg + uintptr(i)*4)))
 64241  			if x <= uint32(127) {
 64242  				*(*uint8)(unsafe.Pointer(pRe + 48 + uintptr(libc.PostIncInt32(&j, 1)))) = uint8(x)
 64243  			} else if x <= uint32(0xfff) {
 64244  				*(*uint8)(unsafe.Pointer(pRe + 48 + uintptr(libc.PostIncInt32(&j, 1)))) = uint8(uint32(0xc0) | x>>6)
 64245  				*(*uint8)(unsafe.Pointer(pRe + 48 + uintptr(libc.PostIncInt32(&j, 1)))) = uint8(uint32(0x80) | x&uint32(0x3f))
 64246  			} else if x <= uint32(0xffff) {
 64247  				*(*uint8)(unsafe.Pointer(pRe + 48 + uintptr(libc.PostIncInt32(&j, 1)))) = uint8(uint32(0xe0) | x>>12)
 64248  				*(*uint8)(unsafe.Pointer(pRe + 48 + uintptr(libc.PostIncInt32(&j, 1)))) = uint8(uint32(0x80) | x>>6&uint32(0x3f))
 64249  				*(*uint8)(unsafe.Pointer(pRe + 48 + uintptr(libc.PostIncInt32(&j, 1)))) = uint8(uint32(0x80) | x&uint32(0x3f))
 64250  			} else {
 64251  				break
 64252  			}
 64253  		}
 64254  		if j > 0 && int32(*(*uint8)(unsafe.Pointer(pRe + 48 + uintptr(j-1)))) == 0 {
 64255  			j--
 64256  		}
 64257  		(*ReCompiled)(unsafe.Pointer(pRe)).FnInit = j
 64258  	}
 64259  	return (*ReCompiled)(unsafe.Pointer(pRe)).FzErr
 64260  }
 64261  
 64262  func re_sql_func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 64263  	bp := tls.Alloc(8)
 64264  	defer tls.Free(8)
 64265  
 64266  	var zPattern uintptr
 64267  	var zStr uintptr
 64268  	var zErr uintptr
 64269  	var setAux int32 = 0
 64270  
 64271  	_ = argc
 64272  	*(*uintptr)(unsafe.Pointer(bp)) = sqlite3.Xsqlite3_get_auxdata(tls, context, 0)
 64273  	if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) {
 64274  		zPattern = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv)))
 64275  		if zPattern == uintptr(0) {
 64276  			return
 64277  		}
 64278  		zErr = sqlite3re_compile(tls, bp, zPattern, libc.Bool32(sqlite3.Xsqlite3_user_data(tls, context) != uintptr(0)))
 64279  		if zErr != 0 {
 64280  			sqlite3re_free(tls, *(*uintptr)(unsafe.Pointer(bp)))
 64281  			sqlite3.Xsqlite3_result_error(tls, context, zErr, -1)
 64282  			return
 64283  		}
 64284  		if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) {
 64285  			sqlite3.Xsqlite3_result_error_nomem(tls, context)
 64286  			return
 64287  		}
 64288  		setAux = 1
 64289  	}
 64290  	zStr = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))
 64291  	if zStr != uintptr(0) {
 64292  		sqlite3.Xsqlite3_result_int(tls, context, sqlite3re_match(tls, *(*uintptr)(unsafe.Pointer(bp)), zStr, -1))
 64293  	}
 64294  	if setAux != 0 {
 64295  		sqlite3.Xsqlite3_set_auxdata(tls, context, 0, *(*uintptr)(unsafe.Pointer(bp)), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sqlite3re_free})))
 64296  	}
 64297  }
 64298  
 64299  func sqlite3_regexp_init(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi uintptr) int32 {
 64300  	var rc int32 = SQLITE_OK
 64301  	_ = pApi
 64302  
 64303  	_ = pzErrMsg
 64304  	rc = sqlite3.Xsqlite3_create_function(tls, db, ts+6831, 2,
 64305  		SQLITE_UTF8|SQLITE_INNOCUOUS|SQLITE_DETERMINISTIC,
 64306  		uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 64307  			f func(*libc.TLS, uintptr, int32, uintptr)
 64308  		}{re_sql_func})), uintptr(0), uintptr(0))
 64309  	if rc == SQLITE_OK {
 64310  		rc = sqlite3.Xsqlite3_create_function(tls, db, ts+6838, 2,
 64311  			SQLITE_UTF8|SQLITE_INNOCUOUS|SQLITE_DETERMINISTIC,
 64312  			db, *(*uintptr)(unsafe.Pointer(&struct {
 64313  				f func(*libc.TLS, uintptr, int32, uintptr)
 64314  			}{re_sql_func})), uintptr(0), uintptr(0))
 64315  	}
 64316  	return rc
 64317  }
 64318  
 64319  func rememberFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) {
 64320  	var v sqlite3_int64
 64321  	var ptr uintptr
 64322  
 64323  	v = sqlite3.Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv)))
 64324  	ptr = sqlite3.Xsqlite3_value_pointer(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)), ts+4060)
 64325  	if ptr != 0 {
 64326  		*(*sqlite3_int64)(unsafe.Pointer(ptr)) = v
 64327  	}
 64328  	sqlite3.Xsqlite3_result_int64(tls, pCtx, v)
 64329  }
 64330  
 64331  func sqlite3_remember_init(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi uintptr) int32 {
 64332  	var rc int32 = SQLITE_OK
 64333  	_ = pApi
 64334  
 64335  	rc = sqlite3.Xsqlite3_create_function(tls, db, ts+6846, 2, SQLITE_UTF8, uintptr(0),
 64336  		*(*uintptr)(unsafe.Pointer(&struct {
 64337  			f func(*libc.TLS, uintptr, int32, uintptr)
 64338  		}{rememberFunc})), uintptr(0), uintptr(0))
 64339  	return rc
 64340  }
 64341  
 64342  type series_cursor1 = struct {
 64343  	Fbase        sqlite3_vtab_cursor
 64344  	FisDesc      int32
 64345  	F__ccgo_pad1 [4]byte
 64346  	FiRowid      sqlite3_int64
 64347  	FiValue      sqlite3_int64
 64348  	FmnValue     sqlite3_int64
 64349  	FmxValue     sqlite3_int64
 64350  	FiStep       sqlite3_int64
 64351  }
 64352  
 64353  type series_cursor = series_cursor1
 64354  
 64355  func seriesConnect(tls *libc.TLS, db uintptr, pUnused uintptr, argcUnused int32, argvUnused uintptr, ppVtab uintptr, pzErrUnused uintptr) int32 {
 64356  	var pNew uintptr
 64357  	var rc int32
 64358  
 64359  	_ = pUnused
 64360  	_ = argcUnused
 64361  	_ = argvUnused
 64362  	_ = pzErrUnused
 64363  	rc = sqlite3.Xsqlite3_declare_vtab(tls, db,
 64364  		ts+6855)
 64365  	if rc == SQLITE_OK {
 64366  		pNew = libc.AssignPtrUintptr(ppVtab, sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(sqlite3_vtab{}))))
 64367  		if pNew == uintptr(0) {
 64368  			return SQLITE_NOMEM
 64369  		}
 64370  		libc.Xmemset(tls, pNew, 0, uint64(unsafe.Sizeof(sqlite3_vtab{})))
 64371  		sqlite3.Xsqlite3_vtab_config(tls, db, SQLITE_VTAB_INNOCUOUS, 0)
 64372  	}
 64373  	return rc
 64374  }
 64375  
 64376  func seriesDisconnect(tls *libc.TLS, pVtab uintptr) int32 {
 64377  	sqlite3.Xsqlite3_free(tls, pVtab)
 64378  	return SQLITE_OK
 64379  }
 64380  
 64381  func seriesOpen(tls *libc.TLS, pUnused uintptr, ppCursor uintptr) int32 {
 64382  	var pCur uintptr
 64383  	_ = pUnused
 64384  	pCur = sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(series_cursor{})))
 64385  	if pCur == uintptr(0) {
 64386  		return SQLITE_NOMEM
 64387  	}
 64388  	libc.Xmemset(tls, pCur, 0, uint64(unsafe.Sizeof(series_cursor{})))
 64389  	*(*uintptr)(unsafe.Pointer(ppCursor)) = pCur
 64390  	return SQLITE_OK
 64391  }
 64392  
 64393  func seriesClose(tls *libc.TLS, cur uintptr) int32 {
 64394  	sqlite3.Xsqlite3_free(tls, cur)
 64395  	return SQLITE_OK
 64396  }
 64397  
 64398  func seriesNext(tls *libc.TLS, cur uintptr) int32 {
 64399  	var pCur uintptr = cur
 64400  	if (*series_cursor)(unsafe.Pointer(pCur)).FisDesc != 0 {
 64401  		*(*sqlite3_int64)(unsafe.Pointer(pCur + 24)) -= (*series_cursor)(unsafe.Pointer(pCur)).FiStep
 64402  	} else {
 64403  		*(*sqlite3_int64)(unsafe.Pointer(pCur + 24)) += (*series_cursor)(unsafe.Pointer(pCur)).FiStep
 64404  	}
 64405  	(*series_cursor)(unsafe.Pointer(pCur)).FiRowid++
 64406  	return SQLITE_OK
 64407  }
 64408  
 64409  func seriesColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 {
 64410  	var pCur uintptr = cur
 64411  	var x sqlite3_int64 = int64(0)
 64412  	switch i {
 64413  	case SERIES_COLUMN_START:
 64414  		x = (*series_cursor)(unsafe.Pointer(pCur)).FmnValue
 64415  		break
 64416  	case SERIES_COLUMN_STOP:
 64417  		x = (*series_cursor)(unsafe.Pointer(pCur)).FmxValue
 64418  		break
 64419  	case SERIES_COLUMN_STEP:
 64420  		x = (*series_cursor)(unsafe.Pointer(pCur)).FiStep
 64421  		break
 64422  	default:
 64423  		x = (*series_cursor)(unsafe.Pointer(pCur)).FiValue
 64424  		break
 64425  	}
 64426  	sqlite3.Xsqlite3_result_int64(tls, ctx, x)
 64427  	return SQLITE_OK
 64428  }
 64429  
 64430  func seriesRowid(tls *libc.TLS, cur uintptr, pRowid uintptr) int32 {
 64431  	var pCur uintptr = cur
 64432  	*(*sqlite_int64)(unsafe.Pointer(pRowid)) = (*series_cursor)(unsafe.Pointer(pCur)).FiRowid
 64433  	return SQLITE_OK
 64434  }
 64435  
 64436  func seriesEof(tls *libc.TLS, cur uintptr) int32 {
 64437  	var pCur uintptr = cur
 64438  	if (*series_cursor)(unsafe.Pointer(pCur)).FisDesc != 0 {
 64439  		return libc.Bool32((*series_cursor)(unsafe.Pointer(pCur)).FiValue < (*series_cursor)(unsafe.Pointer(pCur)).FmnValue)
 64440  	} else {
 64441  		return libc.Bool32((*series_cursor)(unsafe.Pointer(pCur)).FiValue > (*series_cursor)(unsafe.Pointer(pCur)).FmxValue)
 64442  	}
 64443  	return int32(0)
 64444  }
 64445  
 64446  func seriesFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStrUnused uintptr, argc int32, argv uintptr) int32 {
 64447  	var pCur uintptr = pVtabCursor
 64448  	var i int32 = 0
 64449  	_ = idxStrUnused
 64450  	if idxNum&1 != 0 {
 64451  		(*series_cursor)(unsafe.Pointer(pCur)).FmnValue = sqlite3.Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PostIncInt32(&i, 1))*8)))
 64452  	} else {
 64453  		(*series_cursor)(unsafe.Pointer(pCur)).FmnValue = int64(0)
 64454  	}
 64455  	if idxNum&2 != 0 {
 64456  		(*series_cursor)(unsafe.Pointer(pCur)).FmxValue = sqlite3.Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PostIncInt32(&i, 1))*8)))
 64457  	} else {
 64458  		(*series_cursor)(unsafe.Pointer(pCur)).FmxValue = int64(0xffffffff)
 64459  	}
 64460  	if idxNum&4 != 0 {
 64461  		(*series_cursor)(unsafe.Pointer(pCur)).FiStep = sqlite3.Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PostIncInt32(&i, 1))*8)))
 64462  		if (*series_cursor)(unsafe.Pointer(pCur)).FiStep == int64(0) {
 64463  			(*series_cursor)(unsafe.Pointer(pCur)).FiStep = int64(1)
 64464  		} else if (*series_cursor)(unsafe.Pointer(pCur)).FiStep < int64(0) {
 64465  			(*series_cursor)(unsafe.Pointer(pCur)).FiStep = -(*series_cursor)(unsafe.Pointer(pCur)).FiStep
 64466  			if idxNum&16 == 0 {
 64467  				idxNum = idxNum | 8
 64468  			}
 64469  		}
 64470  	} else {
 64471  		(*series_cursor)(unsafe.Pointer(pCur)).FiStep = int64(1)
 64472  	}
 64473  	for i = 0; i < argc; i++ {
 64474  		if sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) == SQLITE_NULL {
 64475  			(*series_cursor)(unsafe.Pointer(pCur)).FmnValue = int64(1)
 64476  			(*series_cursor)(unsafe.Pointer(pCur)).FmxValue = int64(0)
 64477  			break
 64478  		}
 64479  	}
 64480  	if idxNum&8 != 0 {
 64481  		(*series_cursor)(unsafe.Pointer(pCur)).FisDesc = 1
 64482  		(*series_cursor)(unsafe.Pointer(pCur)).FiValue = (*series_cursor)(unsafe.Pointer(pCur)).FmxValue
 64483  		if (*series_cursor)(unsafe.Pointer(pCur)).FiStep > int64(0) {
 64484  			*(*sqlite3_int64)(unsafe.Pointer(pCur + 24)) -= ((*series_cursor)(unsafe.Pointer(pCur)).FmxValue - (*series_cursor)(unsafe.Pointer(pCur)).FmnValue) % (*series_cursor)(unsafe.Pointer(pCur)).FiStep
 64485  		}
 64486  	} else {
 64487  		(*series_cursor)(unsafe.Pointer(pCur)).FisDesc = 0
 64488  		(*series_cursor)(unsafe.Pointer(pCur)).FiValue = (*series_cursor)(unsafe.Pointer(pCur)).FmnValue
 64489  	}
 64490  	(*series_cursor)(unsafe.Pointer(pCur)).FiRowid = int64(1)
 64491  	return SQLITE_OK
 64492  }
 64493  
 64494  func seriesBestIndex(tls *libc.TLS, pVTab uintptr, pIdxInfo uintptr) int32 {
 64495  	bp := tls.Alloc(12)
 64496  	defer tls.Free(12)
 64497  
 64498  	var i int32
 64499  	var j int32
 64500  	var idxNum int32 = 0
 64501  	var bStartSeen int32 = 0
 64502  	var unusableMask int32 = 0
 64503  	var nArg int32 = 0
 64504  
 64505  	var pConstraint uintptr
 64506  
 64507  	*(*int32)(unsafe.Pointer(bp)) = libc.AssignPtrInt32(bp+1*4, libc.AssignPtrInt32(bp+2*4, -1))
 64508  	pConstraint = (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraint
 64509  	i = 0
 64510  __1:
 64511  	if !(i < (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint) {
 64512  		goto __3
 64513  	}
 64514  	{
 64515  		var iCol int32
 64516  		var iMask int32
 64517  		if (*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn < SERIES_COLUMN_START {
 64518  			goto __2
 64519  		}
 64520  		iCol = (*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn - SERIES_COLUMN_START
 64521  
 64522  		iMask = int32(1) << iCol
 64523  		if iCol == 0 {
 64524  			bStartSeen = 1
 64525  		}
 64526  		if int32((*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fusable) == 0 {
 64527  			unusableMask = unusableMask | iMask
 64528  			goto __2
 64529  		} else if int32((*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fop) == SQLITE_INDEX_CONSTRAINT_EQ {
 64530  			idxNum = idxNum | iMask
 64531  			*(*int32)(unsafe.Pointer(bp + uintptr(iCol)*4)) = i
 64532  		}
 64533  
 64534  	}
 64535  	goto __2
 64536  __2:
 64537  	i++
 64538  	pConstraint += 12
 64539  	goto __1
 64540  	goto __3
 64541  __3:
 64542  	;
 64543  	for i = 0; i < 3; i++ {
 64544  		if libc.AssignInt32(&j, *(*int32)(unsafe.Pointer(bp + uintptr(i)*4))) >= 0 {
 64545  			(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8)).FargvIndex = libc.PreIncInt32(&nArg, 1)
 64546  			(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(j)*8)).Fomit = libc.BoolUint8(!(1 != 0))
 64547  		}
 64548  	}
 64549  
 64550  	if !(bStartSeen != 0) {
 64551  		sqlite3.Xsqlite3_free(tls, (*sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg)
 64552  		(*sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = sqlite3.Xsqlite3_mprintf(tls,
 64553  			ts+6914, 0)
 64554  		return SQLITE_ERROR
 64555  	}
 64556  	if unusableMask & ^idxNum != 0 {
 64557  		return SQLITE_CONSTRAINT
 64558  	}
 64559  	if idxNum&3 == 3 {
 64560  		(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = float64(2 - libc.Bool32(idxNum&4 != 0))
 64561  		(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(1000)
 64562  		if (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnOrderBy >= 1 && (*sqlite3_index_orderby)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaOrderBy)).FiColumn == 0 {
 64563  			if (*sqlite3_index_orderby)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaOrderBy)).Fdesc != 0 {
 64564  				idxNum = idxNum | 8
 64565  			} else {
 64566  				idxNum = idxNum | 16
 64567  			}
 64568  			(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).ForderByConsumed = 1
 64569  		}
 64570  	} else {
 64571  		(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(2147483647)
 64572  	}
 64573  	(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = idxNum
 64574  	return SQLITE_OK
 64575  }
 64576  
 64577  var seriesModule = sqlite3_module{
 64578  	FxConnect:    0,
 64579  	FxBestIndex:  0,
 64580  	FxDisconnect: 0,
 64581  	FxOpen:       0,
 64582  	FxClose:      0,
 64583  	FxFilter:     0,
 64584  	FxNext:       0,
 64585  	FxEof:        0,
 64586  	FxColumn:     0,
 64587  	FxRowid:      0,
 64588  }
 64589  
 64590  func sqlite3_series_init(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi uintptr) int32 {
 64591  	var rc int32 = SQLITE_OK
 64592  	_ = pApi
 64593  
 64594  	if sqlite3.Xsqlite3_libversion_number(tls) < 3008012 && pzErrMsg != uintptr(0) {
 64595  		*(*uintptr)(unsafe.Pointer(pzErrMsg)) = sqlite3.Xsqlite3_mprintf(tls,
 64596  			ts+6972, 0)
 64597  		return SQLITE_ERROR
 64598  	}
 64599  	rc = sqlite3.Xsqlite3_create_module(tls, db, ts+7022, uintptr(unsafe.Pointer(&seriesModule)), uintptr(0))
 64600  	return rc
 64601  }
 64602  
 64603  type u16 = uint16
 64604  
 64605  var midClass = [128]uint8{
 64606  	uint8(CCLASS_OTHER), uint8(CCLASS_OTHER), uint8(CCLASS_OTHER),
 64607  	uint8(CCLASS_OTHER), uint8(CCLASS_OTHER), uint8(CCLASS_OTHER),
 64608  	uint8(CCLASS_OTHER), uint8(CCLASS_OTHER), uint8(CCLASS_OTHER),
 64609  	uint8(CCLASS_SPACE), uint8(CCLASS_OTHER), uint8(CCLASS_OTHER),
 64610  	uint8(CCLASS_SPACE), uint8(CCLASS_SPACE), uint8(CCLASS_OTHER),
 64611  	uint8(CCLASS_OTHER), uint8(CCLASS_OTHER), uint8(CCLASS_OTHER),
 64612  	uint8(CCLASS_OTHER), uint8(CCLASS_OTHER), uint8(CCLASS_OTHER),
 64613  	uint8(CCLASS_OTHER), uint8(CCLASS_OTHER), uint8(CCLASS_OTHER),
 64614  	uint8(CCLASS_OTHER), uint8(CCLASS_OTHER), uint8(CCLASS_OTHER),
 64615  	uint8(CCLASS_OTHER), uint8(CCLASS_OTHER), uint8(CCLASS_OTHER),
 64616  	uint8(CCLASS_OTHER), uint8(CCLASS_OTHER), uint8(CCLASS_SPACE),
 64617  	uint8(CCLASS_OTHER), uint8(CCLASS_OTHER), uint8(CCLASS_OTHER),
 64618  	uint8(CCLASS_OTHER), uint8(CCLASS_OTHER), uint8(CCLASS_OTHER),
 64619  	uint8(CCLASS_SILENT), uint8(CCLASS_OTHER), uint8(CCLASS_OTHER),
 64620  	uint8(CCLASS_OTHER), uint8(CCLASS_OTHER), uint8(CCLASS_OTHER),
 64621  	uint8(CCLASS_OTHER), uint8(CCLASS_OTHER), uint8(CCLASS_OTHER),
 64622  	uint8(CCLASS_DIGIT), uint8(CCLASS_DIGIT), uint8(CCLASS_DIGIT),
 64623  	uint8(CCLASS_DIGIT), uint8(CCLASS_DIGIT), uint8(CCLASS_DIGIT),
 64624  	uint8(CCLASS_DIGIT), uint8(CCLASS_DIGIT), uint8(CCLASS_DIGIT),
 64625  	uint8(CCLASS_DIGIT), uint8(CCLASS_OTHER), uint8(CCLASS_OTHER),
 64626  	uint8(CCLASS_OTHER), uint8(CCLASS_OTHER), uint8(CCLASS_OTHER),
 64627  	uint8(CCLASS_OTHER), uint8(CCLASS_OTHER), uint8(CCLASS_VOWEL),
 64628  	uint8(CCLASS_B), uint8(CCLASS_C), uint8(CCLASS_D),
 64629  	uint8(CCLASS_VOWEL), uint8(CCLASS_B), uint8(CCLASS_C),
 64630  	uint8(CCLASS_SILENT), uint8(CCLASS_VOWEL), uint8(CCLASS_C),
 64631  	uint8(CCLASS_C), uint8(CCLASS_L), uint8(CCLASS_M),
 64632  	uint8(CCLASS_M), uint8(CCLASS_VOWEL), uint8(CCLASS_B),
 64633  	uint8(CCLASS_C), uint8(CCLASS_R), uint8(CCLASS_C),
 64634  	uint8(CCLASS_D), uint8(CCLASS_VOWEL), uint8(CCLASS_B),
 64635  	uint8(CCLASS_B), uint8(CCLASS_C), uint8(CCLASS_VOWEL),
 64636  	uint8(CCLASS_C), uint8(CCLASS_OTHER), uint8(CCLASS_OTHER),
 64637  	uint8(CCLASS_OTHER), uint8(CCLASS_OTHER), uint8(CCLASS_OTHER),
 64638  	uint8(CCLASS_OTHER), uint8(CCLASS_VOWEL), uint8(CCLASS_B),
 64639  	uint8(CCLASS_C), uint8(CCLASS_D), uint8(CCLASS_VOWEL),
 64640  	uint8(CCLASS_B), uint8(CCLASS_C), uint8(CCLASS_SILENT),
 64641  	uint8(CCLASS_VOWEL), uint8(CCLASS_C), uint8(CCLASS_C),
 64642  	uint8(CCLASS_L), uint8(CCLASS_M), uint8(CCLASS_M),
 64643  	uint8(CCLASS_VOWEL), uint8(CCLASS_B), uint8(CCLASS_C),
 64644  	uint8(CCLASS_R), uint8(CCLASS_C), uint8(CCLASS_D),
 64645  	uint8(CCLASS_VOWEL), uint8(CCLASS_B), uint8(CCLASS_B),
 64646  	uint8(CCLASS_C), uint8(CCLASS_VOWEL), uint8(CCLASS_C),
 64647  	uint8(CCLASS_OTHER), uint8(CCLASS_OTHER), uint8(CCLASS_OTHER),
 64648  	uint8(CCLASS_OTHER), uint8(CCLASS_OTHER),
 64649  }
 64650  
 64651  var initClass = [128]uint8{
 64652  	uint8(CCLASS_OTHER), uint8(CCLASS_OTHER), uint8(CCLASS_OTHER),
 64653  	uint8(CCLASS_OTHER), uint8(CCLASS_OTHER), uint8(CCLASS_OTHER),
 64654  	uint8(CCLASS_OTHER), uint8(CCLASS_OTHER), uint8(CCLASS_OTHER),
 64655  	uint8(CCLASS_SPACE), uint8(CCLASS_OTHER), uint8(CCLASS_OTHER),
 64656  	uint8(CCLASS_SPACE), uint8(CCLASS_SPACE), uint8(CCLASS_OTHER),
 64657  	uint8(CCLASS_OTHER), uint8(CCLASS_OTHER), uint8(CCLASS_OTHER),
 64658  	uint8(CCLASS_OTHER), uint8(CCLASS_OTHER), uint8(CCLASS_OTHER),
 64659  	uint8(CCLASS_OTHER), uint8(CCLASS_OTHER), uint8(CCLASS_OTHER),
 64660  	uint8(CCLASS_OTHER), uint8(CCLASS_OTHER), uint8(CCLASS_OTHER),
 64661  	uint8(CCLASS_OTHER), uint8(CCLASS_OTHER), uint8(CCLASS_OTHER),
 64662  	uint8(CCLASS_OTHER), uint8(CCLASS_OTHER), uint8(CCLASS_SPACE),
 64663  	uint8(CCLASS_OTHER), uint8(CCLASS_OTHER), uint8(CCLASS_OTHER),
 64664  	uint8(CCLASS_OTHER), uint8(CCLASS_OTHER), uint8(CCLASS_OTHER),
 64665  	uint8(CCLASS_OTHER), uint8(CCLASS_OTHER), uint8(CCLASS_OTHER),
 64666  	uint8(CCLASS_OTHER), uint8(CCLASS_OTHER), uint8(CCLASS_OTHER),
 64667  	uint8(CCLASS_OTHER), uint8(CCLASS_OTHER), uint8(CCLASS_OTHER),
 64668  	uint8(CCLASS_DIGIT), uint8(CCLASS_DIGIT), uint8(CCLASS_DIGIT),
 64669  	uint8(CCLASS_DIGIT), uint8(CCLASS_DIGIT), uint8(CCLASS_DIGIT),
 64670  	uint8(CCLASS_DIGIT), uint8(CCLASS_DIGIT), uint8(CCLASS_DIGIT),
 64671  	uint8(CCLASS_DIGIT), uint8(CCLASS_OTHER), uint8(CCLASS_OTHER),
 64672  	uint8(CCLASS_OTHER), uint8(CCLASS_OTHER), uint8(CCLASS_OTHER),
 64673  	uint8(CCLASS_OTHER), uint8(CCLASS_OTHER), uint8(CCLASS_VOWEL),
 64674  	uint8(CCLASS_B), uint8(CCLASS_C), uint8(CCLASS_D),
 64675  	uint8(CCLASS_VOWEL), uint8(CCLASS_B), uint8(CCLASS_C),
 64676  	uint8(CCLASS_SILENT), uint8(CCLASS_VOWEL), uint8(CCLASS_C),
 64677  	uint8(CCLASS_C), uint8(CCLASS_L), uint8(CCLASS_M),
 64678  	uint8(CCLASS_M), uint8(CCLASS_VOWEL), uint8(CCLASS_B),
 64679  	uint8(CCLASS_C), uint8(CCLASS_R), uint8(CCLASS_C),
 64680  	uint8(CCLASS_D), uint8(CCLASS_VOWEL), uint8(CCLASS_B),
 64681  	uint8(CCLASS_B), uint8(CCLASS_C), uint8(CCLASS_Y),
 64682  	uint8(CCLASS_C), uint8(CCLASS_OTHER), uint8(CCLASS_OTHER),
 64683  	uint8(CCLASS_OTHER), uint8(CCLASS_OTHER), uint8(CCLASS_OTHER),
 64684  	uint8(CCLASS_OTHER), uint8(CCLASS_VOWEL), uint8(CCLASS_B),
 64685  	uint8(CCLASS_C), uint8(CCLASS_D), uint8(CCLASS_VOWEL),
 64686  	uint8(CCLASS_B), uint8(CCLASS_C), uint8(CCLASS_SILENT),
 64687  	uint8(CCLASS_VOWEL), uint8(CCLASS_C), uint8(CCLASS_C),
 64688  	uint8(CCLASS_L), uint8(CCLASS_M), uint8(CCLASS_M),
 64689  	uint8(CCLASS_VOWEL), uint8(CCLASS_B), uint8(CCLASS_C),
 64690  	uint8(CCLASS_R), uint8(CCLASS_C), uint8(CCLASS_D),
 64691  	uint8(CCLASS_VOWEL), uint8(CCLASS_B), uint8(CCLASS_B),
 64692  	uint8(CCLASS_C), uint8(CCLASS_Y), uint8(CCLASS_C),
 64693  	uint8(CCLASS_OTHER), uint8(CCLASS_OTHER), uint8(CCLASS_OTHER),
 64694  	uint8(CCLASS_OTHER), uint8(CCLASS_OTHER),
 64695  }
 64696  
 64697  var className = *(*[14]uint8)(unsafe.Pointer(ts + 7038))
 64698  
 64699  func phoneticHash(tls *libc.TLS, zIn uintptr, nIn int32) uintptr {
 64700  	var zOut uintptr = sqlite3.Xsqlite3_malloc64(tls, uint64(nIn+1))
 64701  	var i int32
 64702  	var nOut int32 = 0
 64703  	var cPrev int8 = int8(0x77)
 64704  	var cPrevX int8 = int8(0x77)
 64705  	var aClass uintptr = uintptr(unsafe.Pointer(&initClass))
 64706  
 64707  	if zOut == uintptr(0) {
 64708  		return uintptr(0)
 64709  	}
 64710  	if nIn > 2 {
 64711  		switch int32(*(*uint8)(unsafe.Pointer(zIn))) {
 64712  		case 'g':
 64713  			fallthrough
 64714  		case 'k':
 64715  			{
 64716  				if int32(*(*uint8)(unsafe.Pointer(zIn + 1))) == 'n' {
 64717  					zIn++
 64718  					nIn--
 64719  				}
 64720  				break
 64721  
 64722  			}
 64723  		}
 64724  	}
 64725  	for i = 0; i < nIn; i++ {
 64726  		var c uint8 = *(*uint8)(unsafe.Pointer(zIn + uintptr(i)))
 64727  		if i+1 < nIn {
 64728  			if int32(c) == 'w' && int32(*(*uint8)(unsafe.Pointer(zIn + uintptr(i+1)))) == 'r' {
 64729  				continue
 64730  			}
 64731  			if int32(c) == 'd' && (int32(*(*uint8)(unsafe.Pointer(zIn + uintptr(i+1)))) == 'j' || int32(*(*uint8)(unsafe.Pointer(zIn + uintptr(i+1)))) == 'g') {
 64732  				continue
 64733  			}
 64734  			if i+2 < nIn {
 64735  				if int32(c) == 't' && int32(*(*uint8)(unsafe.Pointer(zIn + uintptr(i+1)))) == 'c' && int32(*(*uint8)(unsafe.Pointer(zIn + uintptr(i+2)))) == 'h' {
 64736  					continue
 64737  				}
 64738  			}
 64739  		}
 64740  		c = *(*uint8)(unsafe.Pointer(aClass + uintptr(int32(c)&0x7f)))
 64741  		if int32(c) == CCLASS_SPACE {
 64742  			continue
 64743  		}
 64744  		if int32(c) == CCLASS_OTHER && int32(cPrev) != CCLASS_DIGIT {
 64745  			continue
 64746  		}
 64747  		aClass = uintptr(unsafe.Pointer(&midClass))
 64748  		if int32(c) == CCLASS_VOWEL && (int32(cPrevX) == CCLASS_R || int32(cPrevX) == CCLASS_L) {
 64749  			continue
 64750  		}
 64751  		if (int32(c) == CCLASS_R || int32(c) == CCLASS_L) && int32(cPrevX) == CCLASS_VOWEL {
 64752  			nOut--
 64753  		}
 64754  		cPrev = int8(c)
 64755  		if int32(c) == CCLASS_SILENT {
 64756  			continue
 64757  		}
 64758  		cPrevX = int8(c)
 64759  		c = className[c]
 64760  
 64761  		if nOut == 0 || int32(c) != int32(*(*uint8)(unsafe.Pointer(zOut + uintptr(nOut-1)))) {
 64762  			*(*uint8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&nOut, 1)))) = c
 64763  		}
 64764  	}
 64765  	*(*uint8)(unsafe.Pointer(zOut + uintptr(nOut))) = uint8(0)
 64766  	return zOut
 64767  }
 64768  
 64769  func phoneticHashSqlFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 64770  	var zIn uintptr
 64771  	var zOut uintptr
 64772  
 64773  	zIn = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv)))
 64774  	if zIn == uintptr(0) {
 64775  		return
 64776  	}
 64777  	zOut = phoneticHash(tls, zIn, sqlite3.Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))))
 64778  	if zOut == uintptr(0) {
 64779  		sqlite3.Xsqlite3_result_error_nomem(tls, context)
 64780  	} else {
 64781  		sqlite3.Xsqlite3_result_text(tls, context, zOut, -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sqlite3.Xsqlite3_free})))
 64782  	}
 64783  }
 64784  
 64785  func characterClass(tls *libc.TLS, cPrev int8, c int8) int8 {
 64786  	if int32(cPrev) == 0 {
 64787  		return int8(initClass[int32(c)&0x7f])
 64788  	}
 64789  	return int8(midClass[int32(c)&0x7f])
 64790  }
 64791  
 64792  func insertOrDeleteCost(tls *libc.TLS, cPrev int8, c int8, cNext int8) int32 {
 64793  	var classC int8 = characterClass(tls, cPrev, c)
 64794  	var classCprev int8
 64795  
 64796  	if int32(classC) == CCLASS_SILENT {
 64797  		return 1
 64798  	}
 64799  	if int32(cPrev) == int32(c) {
 64800  		return 10
 64801  	}
 64802  	if int32(classC) == CCLASS_VOWEL && (int32(cPrev) == 'r' || int32(cNext) == 'r') {
 64803  		return 20
 64804  	}
 64805  	classCprev = characterClass(tls, cPrev, cPrev)
 64806  	if int32(classC) == int32(classCprev) {
 64807  		if int32(classC) == CCLASS_VOWEL {
 64808  			return 15
 64809  		} else {
 64810  			return 50
 64811  		}
 64812  	}
 64813  
 64814  	return 100
 64815  }
 64816  
 64817  func substituteCost(tls *libc.TLS, cPrev int8, cFrom int8, cTo int8) int32 {
 64818  	var classFrom int8
 64819  	var classTo int8
 64820  	if int32(cFrom) == int32(cTo) {
 64821  		return 0
 64822  	}
 64823  	if int32(cFrom) == int32(cTo)^0x20 && (int32(cTo) >= 'A' && int32(cTo) <= 'Z' || int32(cTo) >= 'a' && int32(cTo) <= 'z') {
 64824  		return 0
 64825  	}
 64826  	classFrom = characterClass(tls, cPrev, cFrom)
 64827  	classTo = characterClass(tls, cPrev, cTo)
 64828  	if int32(classFrom) == int32(classTo) {
 64829  		return 40
 64830  	}
 64831  	if int32(classFrom) >= CCLASS_B && int32(classFrom) <= CCLASS_Y &&
 64832  		int32(classTo) >= CCLASS_B && int32(classTo) <= CCLASS_Y {
 64833  		return 75
 64834  	}
 64835  
 64836  	return 100
 64837  }
 64838  
 64839  func editdist1(tls *libc.TLS, zA uintptr, zB uintptr, pnMatch uintptr) int32 {
 64840  	bp := tls.Alloc(300)
 64841  	defer tls.Free(300)
 64842  
 64843  	var nA int32
 64844  	var nB int32
 64845  	var xA int32
 64846  	var xB int32
 64847  	var cA int8 = int8(0)
 64848  	var cB int8
 64849  	var cAprev int8
 64850  	var cBprev int8
 64851  	var cAnext int8
 64852  	var cBnext int8
 64853  	var d int32
 64854  	var dc int32 = 0
 64855  	var res int32
 64856  	var m uintptr
 64857  	var cx uintptr
 64858  	var toFree uintptr = uintptr(0)
 64859  	var nMatch int32 = 0
 64860  
 64861  	if zA == uintptr(0) || zB == uintptr(0) {
 64862  		return -1
 64863  	}
 64864  
 64865  	for *(*int8)(unsafe.Pointer(zA)) != 0 && int32(*(*int8)(unsafe.Pointer(zA))) == int32(*(*int8)(unsafe.Pointer(zB))) {
 64866  		dc = int32(*(*int8)(unsafe.Pointer(zA)))
 64867  		zA++
 64868  		zB++
 64869  		nMatch++
 64870  	}
 64871  	if pnMatch != 0 {
 64872  		*(*int32)(unsafe.Pointer(pnMatch)) = nMatch
 64873  	}
 64874  	if int32(*(*int8)(unsafe.Pointer(zA))) == 0 && int32(*(*int8)(unsafe.Pointer(zB))) == 0 {
 64875  		return 0
 64876  	}
 64877  
 64878  	for nA = 0; *(*int8)(unsafe.Pointer(zA + uintptr(nA))) != 0; nA++ {
 64879  		if int32(*(*int8)(unsafe.Pointer(zA + uintptr(nA))))&0x80 != 0 {
 64880  			return -2
 64881  		}
 64882  	}
 64883  	for nB = 0; *(*int8)(unsafe.Pointer(zB + uintptr(nB))) != 0; nB++ {
 64884  		if int32(*(*int8)(unsafe.Pointer(zB + uintptr(nB))))&0x80 != 0 {
 64885  			return -2
 64886  		}
 64887  	}
 64888  
 64889  	if nA == 0 {
 64890  		cBprev = int8(dc)
 64891  		for xB = libc.AssignInt32(&res, 0); int32(libc.AssignInt8(&cB, *(*int8)(unsafe.Pointer(zB + uintptr(xB))))) != 0; xB++ {
 64892  			res = res + insertOrDeleteCost(tls, cBprev, cB, *(*int8)(unsafe.Pointer(zB + uintptr(xB+1))))/FINAL_INS_COST_DIV
 64893  			cBprev = cB
 64894  		}
 64895  		return res
 64896  	}
 64897  	if nB == 0 {
 64898  		cAprev = int8(dc)
 64899  		for xA = libc.AssignInt32(&res, 0); int32(libc.AssignInt8(&cA, *(*int8)(unsafe.Pointer(zA + uintptr(xA))))) != 0; xA++ {
 64900  			res = res + insertOrDeleteCost(tls, cAprev, cA, *(*int8)(unsafe.Pointer(zA + uintptr(xA+1))))
 64901  			cAprev = cA
 64902  		}
 64903  		return res
 64904  	}
 64905  
 64906  	if int32(*(*int8)(unsafe.Pointer(zA))) == '*' && int32(*(*int8)(unsafe.Pointer(zA + 1))) == 0 {
 64907  		return 0
 64908  	}
 64909  
 64910  	if uint64(nB) < uint64(unsafe.Sizeof([75]int32{}))*uint64(4)/(uint64(unsafe.Sizeof(int32(0)))*uint64(5)) {
 64911  		m = bp
 64912  	} else {
 64913  		m = libc.AssignUintptr(&toFree, sqlite3.Xsqlite3_malloc64(tls, uint64((nB+1)*5)*uint64(unsafe.Sizeof(int32(0)))/uint64(4)))
 64914  		if m == uintptr(0) {
 64915  			return -3
 64916  		}
 64917  	}
 64918  	cx = m + uintptr(nB+1)*4
 64919  
 64920  	*(*int32)(unsafe.Pointer(m)) = 0
 64921  	*(*int8)(unsafe.Pointer(cx)) = int8(dc)
 64922  	cBprev = int8(dc)
 64923  	for xB = 1; xB <= nB; xB++ {
 64924  		cBnext = *(*int8)(unsafe.Pointer(zB + uintptr(xB)))
 64925  		cB = *(*int8)(unsafe.Pointer(zB + uintptr(xB-1)))
 64926  		*(*int8)(unsafe.Pointer(cx + uintptr(xB))) = cB
 64927  		*(*int32)(unsafe.Pointer(m + uintptr(xB)*4)) = *(*int32)(unsafe.Pointer(m + uintptr(xB-1)*4)) + insertOrDeleteCost(tls, cBprev, cB, cBnext)
 64928  		cBprev = cB
 64929  	}
 64930  	cAprev = int8(dc)
 64931  	for xA = 1; xA <= nA; xA++ {
 64932  		var lastA int32 = libc.Bool32(xA == nA)
 64933  		cA = *(*int8)(unsafe.Pointer(zA + uintptr(xA-1)))
 64934  		cAnext = *(*int8)(unsafe.Pointer(zA + uintptr(xA)))
 64935  		if int32(cA) == '*' && lastA != 0 {
 64936  			break
 64937  		}
 64938  		d = *(*int32)(unsafe.Pointer(m))
 64939  		dc = int32(*(*int8)(unsafe.Pointer(cx)))
 64940  		*(*int32)(unsafe.Pointer(m)) = d + insertOrDeleteCost(tls, cAprev, cA, cAnext)
 64941  		cBprev = int8(0)
 64942  		for xB = 1; xB <= nB; xB++ {
 64943  			var totalCost int32
 64944  			var insCost int32
 64945  			var delCost int32
 64946  			var subCost int32
 64947  			var ncx int32
 64948  			cB = *(*int8)(unsafe.Pointer(zB + uintptr(xB-1)))
 64949  			cBnext = *(*int8)(unsafe.Pointer(zB + uintptr(xB)))
 64950  
 64951  			insCost = insertOrDeleteCost(tls, *(*int8)(unsafe.Pointer(cx + uintptr(xB-1))), cB, cBnext)
 64952  			if lastA != 0 {
 64953  				insCost = insCost / FINAL_INS_COST_DIV
 64954  			}
 64955  
 64956  			delCost = insertOrDeleteCost(tls, *(*int8)(unsafe.Pointer(cx + uintptr(xB))), cA, cBnext)
 64957  
 64958  			subCost = substituteCost(tls, *(*int8)(unsafe.Pointer(cx + uintptr(xB-1))), cA, cB)
 64959  
 64960  			totalCost = insCost + *(*int32)(unsafe.Pointer(m + uintptr(xB-1)*4))
 64961  			ncx = int32(cB)
 64962  			if delCost+*(*int32)(unsafe.Pointer(m + uintptr(xB)*4)) < totalCost {
 64963  				totalCost = delCost + *(*int32)(unsafe.Pointer(m + uintptr(xB)*4))
 64964  				ncx = int32(cA)
 64965  			}
 64966  			if subCost+d < totalCost {
 64967  				totalCost = subCost + d
 64968  			}
 64969  
 64970  			d = *(*int32)(unsafe.Pointer(m + uintptr(xB)*4))
 64971  			dc = int32(*(*int8)(unsafe.Pointer(cx + uintptr(xB))))
 64972  			*(*int32)(unsafe.Pointer(m + uintptr(xB)*4)) = totalCost
 64973  			*(*int8)(unsafe.Pointer(cx + uintptr(xB))) = int8(ncx)
 64974  			cBprev = cB
 64975  		}
 64976  		cAprev = cA
 64977  	}
 64978  
 64979  	if int32(cA) == '*' {
 64980  		res = *(*int32)(unsafe.Pointer(m + 1*4))
 64981  		for xB = 1; xB <= nB; xB++ {
 64982  			if *(*int32)(unsafe.Pointer(m + uintptr(xB)*4)) < res {
 64983  				res = *(*int32)(unsafe.Pointer(m + uintptr(xB)*4))
 64984  				if pnMatch != 0 {
 64985  					*(*int32)(unsafe.Pointer(pnMatch)) = xB + nMatch
 64986  				}
 64987  			}
 64988  		}
 64989  	} else {
 64990  		res = *(*int32)(unsafe.Pointer(m + uintptr(nB)*4))
 64991  
 64992  	}
 64993  	sqlite3.Xsqlite3_free(tls, toFree)
 64994  	return res
 64995  }
 64996  
 64997  func editdistSqlFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 64998  	var res int32 = editdist1(tls,
 64999  		sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))),
 65000  		sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))),
 65001  		uintptr(0))
 65002  	if res < 0 {
 65003  		if res == -3 {
 65004  			sqlite3.Xsqlite3_result_error_nomem(tls, context)
 65005  		} else if res == -2 {
 65006  			sqlite3.Xsqlite3_result_error(tls, context, ts+7052, -1)
 65007  		} else {
 65008  			sqlite3.Xsqlite3_result_error(tls, context, ts+7082, -1)
 65009  		}
 65010  	} else {
 65011  		sqlite3.Xsqlite3_result_int(tls, context, res)
 65012  	}
 65013  }
 65014  
 65015  type EditDist3Cost1 = struct {
 65016  	FpNext uintptr
 65017  	FnFrom u8
 65018  	FnTo   u8
 65019  	FiCost u16
 65020  	Fa     [4]int8
 65021  }
 65022  
 65023  type EditDist3Cost = EditDist3Cost1
 65024  type EditDist3Config1 = struct {
 65025  	FnLang       int32
 65026  	F__ccgo_pad1 [4]byte
 65027  	Fa           uintptr
 65028  }
 65029  
 65030  type EditDist3Config = EditDist3Config1
 65031  type EditDist3From1 = struct {
 65032  	FnSubst      int32
 65033  	FnDel        int32
 65034  	FnByte       int32
 65035  	F__ccgo_pad1 [4]byte
 65036  	FapSubst     uintptr
 65037  	FapDel       uintptr
 65038  }
 65039  
 65040  type EditDist3From = EditDist3From1
 65041  type EditDist3FromString1 = struct {
 65042  	Fz        uintptr
 65043  	Fn        int32
 65044  	FisPrefix int32
 65045  	Fa        uintptr
 65046  }
 65047  
 65048  type EditDist3FromString = EditDist3FromString1
 65049  type EditDist3To1 = struct {
 65050  	FnIns  int32
 65051  	FnByte int32
 65052  	FapIns uintptr
 65053  }
 65054  
 65055  type EditDist3To = EditDist3To1
 65056  type EditDist3ToString1 = struct {
 65057  	Fz           uintptr
 65058  	Fn           int32
 65059  	F__ccgo_pad1 [4]byte
 65060  	Fa           uintptr
 65061  }
 65062  
 65063  type EditDist3ToString = EditDist3ToString1
 65064  type EditDist3Lang1 = struct {
 65065  	FiLang    int32
 65066  	FiInsCost int32
 65067  	FiDelCost int32
 65068  	FiSubCost int32
 65069  	FpCost    uintptr
 65070  }
 65071  
 65072  type EditDist3Lang = EditDist3Lang1
 65073  
 65074  var editDist3Lang = EditDist3Lang{FiInsCost: 100, FiDelCost: 100, FiSubCost: 150}
 65075  
 65076  func editDist3ConfigClear(tls *libc.TLS, p uintptr) {
 65077  	var i int32
 65078  	if p == uintptr(0) {
 65079  		return
 65080  	}
 65081  	for i = 0; i < (*EditDist3Config)(unsafe.Pointer(p)).FnLang; i++ {
 65082  		var pCost uintptr
 65083  		var pNext uintptr
 65084  		pCost = (*EditDist3Lang)(unsafe.Pointer((*EditDist3Config)(unsafe.Pointer(p)).Fa + uintptr(i)*24)).FpCost
 65085  		for pCost != 0 {
 65086  			pNext = (*EditDist3Cost)(unsafe.Pointer(pCost)).FpNext
 65087  			sqlite3.Xsqlite3_free(tls, pCost)
 65088  			pCost = pNext
 65089  		}
 65090  	}
 65091  	sqlite3.Xsqlite3_free(tls, (*EditDist3Config)(unsafe.Pointer(p)).Fa)
 65092  	libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(EditDist3Config{})))
 65093  }
 65094  
 65095  func editDist3ConfigDelete(tls *libc.TLS, pIn uintptr) {
 65096  	var p uintptr = pIn
 65097  	editDist3ConfigClear(tls, p)
 65098  	sqlite3.Xsqlite3_free(tls, p)
 65099  }
 65100  
 65101  func editDist3CostCompare(tls *libc.TLS, pA uintptr, pB uintptr) int32 {
 65102  	var n int32 = int32((*EditDist3Cost)(unsafe.Pointer(pA)).FnFrom)
 65103  	var rc int32
 65104  	if n > int32((*EditDist3Cost)(unsafe.Pointer(pB)).FnFrom) {
 65105  		n = int32((*EditDist3Cost)(unsafe.Pointer(pB)).FnFrom)
 65106  	}
 65107  	rc = libc.Xstrncmp(tls, pA+12, pB+12, uint64(n))
 65108  	if rc == 0 {
 65109  		rc = int32((*EditDist3Cost)(unsafe.Pointer(pA)).FnFrom) - int32((*EditDist3Cost)(unsafe.Pointer(pB)).FnFrom)
 65110  	}
 65111  	return rc
 65112  }
 65113  
 65114  func editDist3CostMerge(tls *libc.TLS, pA uintptr, pB uintptr) uintptr {
 65115  	bp := tls.Alloc(8)
 65116  	defer tls.Free(8)
 65117  
 65118  	*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
 65119  	var ppTail uintptr = bp
 65120  	var p uintptr
 65121  	for pA != 0 && pB != 0 {
 65122  		if editDist3CostCompare(tls, pA, pB) <= 0 {
 65123  			p = pA
 65124  			pA = (*EditDist3Cost)(unsafe.Pointer(pA)).FpNext
 65125  		} else {
 65126  			p = pB
 65127  			pB = (*EditDist3Cost)(unsafe.Pointer(pB)).FpNext
 65128  		}
 65129  		*(*uintptr)(unsafe.Pointer(ppTail)) = p
 65130  		ppTail = p
 65131  	}
 65132  	if pA != 0 {
 65133  		*(*uintptr)(unsafe.Pointer(ppTail)) = pA
 65134  	} else {
 65135  		*(*uintptr)(unsafe.Pointer(ppTail)) = pB
 65136  	}
 65137  	return *(*uintptr)(unsafe.Pointer(bp))
 65138  }
 65139  
 65140  func editDist3CostSort(tls *libc.TLS, pList uintptr) uintptr {
 65141  	bp := tls.Alloc(480)
 65142  	defer tls.Free(480)
 65143  
 65144  	var p uintptr
 65145  	var i int32
 65146  	var mx int32 = 0
 65147  	*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
 65148  	*(*uintptr)(unsafe.Pointer(bp + 1*8)) = uintptr(0)
 65149  	for pList != 0 {
 65150  		p = pList
 65151  		pList = (*EditDist3Cost)(unsafe.Pointer(p)).FpNext
 65152  		(*EditDist3Cost)(unsafe.Pointer(p)).FpNext = uintptr(0)
 65153  		for i = 0; *(*uintptr)(unsafe.Pointer(bp + uintptr(i)*8)) != 0; i++ {
 65154  			p = editDist3CostMerge(tls, *(*uintptr)(unsafe.Pointer(bp + uintptr(i)*8)), p)
 65155  			*(*uintptr)(unsafe.Pointer(bp + uintptr(i)*8)) = uintptr(0)
 65156  		}
 65157  		*(*uintptr)(unsafe.Pointer(bp + uintptr(i)*8)) = p
 65158  		if i > mx {
 65159  			mx = i
 65160  			*(*uintptr)(unsafe.Pointer(bp + uintptr(i+1)*8)) = uintptr(0)
 65161  		}
 65162  	}
 65163  	p = uintptr(0)
 65164  	for i = 0; i <= mx; i++ {
 65165  		if *(*uintptr)(unsafe.Pointer(bp + uintptr(i)*8)) != 0 {
 65166  			p = editDist3CostMerge(tls, p, *(*uintptr)(unsafe.Pointer(bp + uintptr(i)*8)))
 65167  		}
 65168  	}
 65169  	return p
 65170  }
 65171  
 65172  func editDist3ConfigLoad(tls *libc.TLS, p uintptr, db uintptr, zTable uintptr) int32 {
 65173  	bp := tls.Alloc(16)
 65174  	defer tls.Free(16)
 65175  
 65176  	var rc int32
 65177  	var rc2 int32
 65178  	var zSql uintptr
 65179  	var iLangPrev int32 = -9999
 65180  	var pLang uintptr = uintptr(0)
 65181  
 65182  	zSql = sqlite3.Xsqlite3_mprintf(tls,
 65183  		ts+7107, libc.VaList(bp, zTable))
 65184  	if zSql == uintptr(0) {
 65185  		return SQLITE_NOMEM
 65186  	}
 65187  	rc = sqlite3.Xsqlite3_prepare(tls, db, zSql, -1, bp+8, uintptr(0))
 65188  	sqlite3.Xsqlite3_free(tls, zSql)
 65189  	if rc != 0 {
 65190  		return rc
 65191  	}
 65192  	editDist3ConfigClear(tls, p)
 65193  	for sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8))) == SQLITE_ROW {
 65194  		var iLang int32 = sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), 0)
 65195  		var zFrom uintptr = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), 1)
 65196  		var nFrom int32
 65197  		if zFrom != 0 {
 65198  			nFrom = sqlite3.Xsqlite3_column_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), 1)
 65199  		} else {
 65200  			nFrom = 0
 65201  		}
 65202  		var zTo uintptr = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), 2)
 65203  		var nTo int32
 65204  		if zTo != 0 {
 65205  			nTo = sqlite3.Xsqlite3_column_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), 2)
 65206  		} else {
 65207  			nTo = 0
 65208  		}
 65209  		var iCost int32 = sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), 3)
 65210  
 65211  		if nFrom > 100 || nTo > 100 {
 65212  			continue
 65213  		}
 65214  		if iCost < 0 {
 65215  			continue
 65216  		}
 65217  		if iCost >= 10000 {
 65218  			continue
 65219  		}
 65220  		if pLang == uintptr(0) || iLang != iLangPrev {
 65221  			var pNew uintptr
 65222  			pNew = sqlite3.Xsqlite3_realloc64(tls, (*EditDist3Config)(unsafe.Pointer(p)).Fa, uint64((*EditDist3Config)(unsafe.Pointer(p)).FnLang+1)*uint64(unsafe.Sizeof(EditDist3Lang{})))
 65223  			if pNew == uintptr(0) {
 65224  				rc = SQLITE_NOMEM
 65225  				break
 65226  			}
 65227  			(*EditDist3Config)(unsafe.Pointer(p)).Fa = pNew
 65228  			pLang = (*EditDist3Config)(unsafe.Pointer(p)).Fa + uintptr((*EditDist3Config)(unsafe.Pointer(p)).FnLang)*24
 65229  			(*EditDist3Config)(unsafe.Pointer(p)).FnLang++
 65230  			(*EditDist3Lang)(unsafe.Pointer(pLang)).FiLang = iLang
 65231  			(*EditDist3Lang)(unsafe.Pointer(pLang)).FiInsCost = 100
 65232  			(*EditDist3Lang)(unsafe.Pointer(pLang)).FiDelCost = 100
 65233  			(*EditDist3Lang)(unsafe.Pointer(pLang)).FiSubCost = 150
 65234  			(*EditDist3Lang)(unsafe.Pointer(pLang)).FpCost = uintptr(0)
 65235  			iLangPrev = iLang
 65236  		}
 65237  		if nFrom == 1 && int32(*(*int8)(unsafe.Pointer(zFrom))) == '?' && nTo == 0 {
 65238  			(*EditDist3Lang)(unsafe.Pointer(pLang)).FiDelCost = iCost
 65239  		} else if nFrom == 0 && nTo == 1 && int32(*(*int8)(unsafe.Pointer(zTo))) == '?' {
 65240  			(*EditDist3Lang)(unsafe.Pointer(pLang)).FiInsCost = iCost
 65241  		} else if nFrom == 1 && nTo == 1 && int32(*(*int8)(unsafe.Pointer(zFrom))) == '?' && int32(*(*int8)(unsafe.Pointer(zTo))) == '?' {
 65242  			(*EditDist3Lang)(unsafe.Pointer(pLang)).FiSubCost = iCost
 65243  		} else {
 65244  			var pCost uintptr
 65245  			var nExtra int32 = nFrom + nTo - 4
 65246  			if nExtra < 0 {
 65247  				nExtra = 0
 65248  			}
 65249  			pCost = sqlite3.Xsqlite3_malloc64(tls, uint64(unsafe.Sizeof(EditDist3Cost{}))+uint64(nExtra))
 65250  			if pCost == uintptr(0) {
 65251  				rc = SQLITE_NOMEM
 65252  				break
 65253  			}
 65254  			(*EditDist3Cost)(unsafe.Pointer(pCost)).FnFrom = u8(nFrom)
 65255  			(*EditDist3Cost)(unsafe.Pointer(pCost)).FnTo = u8(nTo)
 65256  			(*EditDist3Cost)(unsafe.Pointer(pCost)).FiCost = u16(iCost)
 65257  			libc.Xmemcpy(tls, pCost+12, zFrom, uint64(nFrom))
 65258  			libc.Xmemcpy(tls, pCost+12+uintptr(nFrom), zTo, uint64(nTo))
 65259  			(*EditDist3Cost)(unsafe.Pointer(pCost)).FpNext = (*EditDist3Lang)(unsafe.Pointer(pLang)).FpCost
 65260  			(*EditDist3Lang)(unsafe.Pointer(pLang)).FpCost = pCost
 65261  		}
 65262  	}
 65263  	rc2 = sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
 65264  	if rc == SQLITE_OK {
 65265  		rc = rc2
 65266  	}
 65267  	if rc == SQLITE_OK {
 65268  		var iLang int32
 65269  		for iLang = 0; iLang < (*EditDist3Config)(unsafe.Pointer(p)).FnLang; iLang++ {
 65270  			(*EditDist3Lang)(unsafe.Pointer((*EditDist3Config)(unsafe.Pointer(p)).Fa + uintptr(iLang)*24)).FpCost = editDist3CostSort(tls, (*EditDist3Lang)(unsafe.Pointer((*EditDist3Config)(unsafe.Pointer(p)).Fa+uintptr(iLang)*24)).FpCost)
 65271  		}
 65272  	}
 65273  	return rc
 65274  }
 65275  
 65276  func utf8Len(tls *libc.TLS, c uint8, N int32) int32 {
 65277  	var len int32 = 1
 65278  	if int32(c) > 0x7f {
 65279  		if int32(c)&0xe0 == 0xc0 {
 65280  			len = 2
 65281  		} else if int32(c)&0xf0 == 0xe0 {
 65282  			len = 3
 65283  		} else {
 65284  			len = 4
 65285  		}
 65286  	}
 65287  	if len > N {
 65288  		len = N
 65289  	}
 65290  	return len
 65291  }
 65292  
 65293  func matchTo(tls *libc.TLS, p uintptr, z uintptr, n int32) int32 {
 65294  	if int32(*(*int8)(unsafe.Pointer(p + 12 + uintptr((*EditDist3Cost)(unsafe.Pointer(p)).FnFrom)))) != int32(*(*int8)(unsafe.Pointer(z))) {
 65295  		return 0
 65296  	}
 65297  	if int32((*EditDist3Cost)(unsafe.Pointer(p)).FnTo) > n {
 65298  		return 0
 65299  	}
 65300  	if libc.Xstrncmp(tls, p+12+uintptr((*EditDist3Cost)(unsafe.Pointer(p)).FnFrom), z, uint64((*EditDist3Cost)(unsafe.Pointer(p)).FnTo)) != 0 {
 65301  		return 0
 65302  	}
 65303  	return 1
 65304  }
 65305  
 65306  func matchFrom(tls *libc.TLS, p uintptr, z uintptr, n int32) int32 {
 65307  	if (*EditDist3Cost)(unsafe.Pointer(p)).FnFrom != 0 {
 65308  		if int32(*(*int8)(unsafe.Pointer(p + 12))) != int32(*(*int8)(unsafe.Pointer(z))) {
 65309  			return 0
 65310  		}
 65311  		if libc.Xstrncmp(tls, p+12, z, uint64((*EditDist3Cost)(unsafe.Pointer(p)).FnFrom)) != 0 {
 65312  			return 0
 65313  		}
 65314  	}
 65315  	return 1
 65316  }
 65317  
 65318  func matchFromTo(tls *libc.TLS, pStr uintptr, n1 int32, z2 uintptr, n2 int32) int32 {
 65319  	var b1 int32 = (*EditDist3From)(unsafe.Pointer((*EditDist3FromString)(unsafe.Pointer(pStr)).Fa + uintptr(n1)*32)).FnByte
 65320  	if b1 > n2 {
 65321  		return 0
 65322  	}
 65323  
 65324  	if int32(*(*int8)(unsafe.Pointer((*EditDist3FromString)(unsafe.Pointer(pStr)).Fz + uintptr(n1)))) != int32(*(*int8)(unsafe.Pointer(z2))) {
 65325  		return 0
 65326  	}
 65327  	if libc.Xstrncmp(tls, (*EditDist3FromString)(unsafe.Pointer(pStr)).Fz+uintptr(n1), z2, uint64(b1)) != 0 {
 65328  		return 0
 65329  	}
 65330  	return 1
 65331  }
 65332  
 65333  func editDist3FromStringDelete(tls *libc.TLS, p uintptr) {
 65334  	var i int32
 65335  	if p != 0 {
 65336  		for i = 0; i < (*EditDist3FromString)(unsafe.Pointer(p)).Fn; i++ {
 65337  			sqlite3.Xsqlite3_free(tls, (*EditDist3From)(unsafe.Pointer((*EditDist3FromString)(unsafe.Pointer(p)).Fa+uintptr(i)*32)).FapDel)
 65338  			sqlite3.Xsqlite3_free(tls, (*EditDist3From)(unsafe.Pointer((*EditDist3FromString)(unsafe.Pointer(p)).Fa+uintptr(i)*32)).FapSubst)
 65339  		}
 65340  		sqlite3.Xsqlite3_free(tls, p)
 65341  	}
 65342  }
 65343  
 65344  func editDist3FromStringNew(tls *libc.TLS, pLang uintptr, z uintptr, n int32) uintptr {
 65345  	var pStr uintptr
 65346  	var p uintptr
 65347  	var i int32
 65348  
 65349  	if z == uintptr(0) {
 65350  		return uintptr(0)
 65351  	}
 65352  	if n < 0 {
 65353  		n = int32(libc.Xstrlen(tls, z))
 65354  	}
 65355  	pStr = sqlite3.Xsqlite3_malloc64(tls, uint64(unsafe.Sizeof(EditDist3FromString{}))+uint64(unsafe.Sizeof(EditDist3From{}))*uint64(n)+uint64(n)+uint64(1))
 65356  	if pStr == uintptr(0) {
 65357  		return uintptr(0)
 65358  	}
 65359  	(*EditDist3FromString)(unsafe.Pointer(pStr)).Fa = pStr + 1*24
 65360  	libc.Xmemset(tls, (*EditDist3FromString)(unsafe.Pointer(pStr)).Fa, 0, uint64(unsafe.Sizeof(EditDist3From{}))*uint64(n))
 65361  	(*EditDist3FromString)(unsafe.Pointer(pStr)).Fn = n
 65362  	(*EditDist3FromString)(unsafe.Pointer(pStr)).Fz = (*EditDist3FromString)(unsafe.Pointer(pStr)).Fa + uintptr(n)*32
 65363  	libc.Xmemcpy(tls, (*EditDist3FromString)(unsafe.Pointer(pStr)).Fz, z, uint64(n+1))
 65364  	if n != 0 && int32(*(*int8)(unsafe.Pointer(z + uintptr(n-1)))) == '*' {
 65365  		(*EditDist3FromString)(unsafe.Pointer(pStr)).FisPrefix = 1
 65366  		n--
 65367  		(*EditDist3FromString)(unsafe.Pointer(pStr)).Fn--
 65368  		*(*int8)(unsafe.Pointer((*EditDist3FromString)(unsafe.Pointer(pStr)).Fz + uintptr(n))) = int8(0)
 65369  	} else {
 65370  		(*EditDist3FromString)(unsafe.Pointer(pStr)).FisPrefix = 0
 65371  	}
 65372  
 65373  	for i = 0; i < n; i++ {
 65374  		var pFrom uintptr = (*EditDist3FromString)(unsafe.Pointer(pStr)).Fa + uintptr(i)*32
 65375  		libc.Xmemset(tls, pFrom, 0, uint64(unsafe.Sizeof(EditDist3From{})))
 65376  		(*EditDist3From)(unsafe.Pointer(pFrom)).FnByte = utf8Len(tls, uint8(*(*int8)(unsafe.Pointer(z + uintptr(i)))), n-i)
 65377  		for p = (*EditDist3Lang)(unsafe.Pointer(pLang)).FpCost; p != 0; p = (*EditDist3Cost)(unsafe.Pointer(p)).FpNext {
 65378  			var apNew uintptr
 65379  			if i+int32((*EditDist3Cost)(unsafe.Pointer(p)).FnFrom) > n {
 65380  				continue
 65381  			}
 65382  			if matchFrom(tls, p, z+uintptr(i), n-i) == 0 {
 65383  				continue
 65384  			}
 65385  			if int32((*EditDist3Cost)(unsafe.Pointer(p)).FnTo) == 0 {
 65386  				apNew = sqlite3.Xsqlite3_realloc64(tls, (*EditDist3From)(unsafe.Pointer(pFrom)).FapDel,
 65387  					uint64(unsafe.Sizeof(uintptr(0)))*uint64((*EditDist3From)(unsafe.Pointer(pFrom)).FnDel+1))
 65388  				if apNew == uintptr(0) {
 65389  					break
 65390  				}
 65391  				(*EditDist3From)(unsafe.Pointer(pFrom)).FapDel = apNew
 65392  				*(*uintptr)(unsafe.Pointer(apNew + uintptr(libc.PostIncInt32(&(*EditDist3From)(unsafe.Pointer(pFrom)).FnDel, 1))*8)) = p
 65393  			} else {
 65394  				apNew = sqlite3.Xsqlite3_realloc64(tls, (*EditDist3From)(unsafe.Pointer(pFrom)).FapSubst,
 65395  					uint64(unsafe.Sizeof(uintptr(0)))*uint64((*EditDist3From)(unsafe.Pointer(pFrom)).FnSubst+1))
 65396  				if apNew == uintptr(0) {
 65397  					break
 65398  				}
 65399  				(*EditDist3From)(unsafe.Pointer(pFrom)).FapSubst = apNew
 65400  				*(*uintptr)(unsafe.Pointer(apNew + uintptr(libc.PostIncInt32(&(*EditDist3From)(unsafe.Pointer(pFrom)).FnSubst, 1))*8)) = p
 65401  			}
 65402  		}
 65403  		if p != 0 {
 65404  			editDist3FromStringDelete(tls, pStr)
 65405  			pStr = uintptr(0)
 65406  			break
 65407  		}
 65408  	}
 65409  	return pStr
 65410  }
 65411  
 65412  func updateCost(tls *libc.TLS, m uintptr, i int32, j int32, iCost int32) {
 65413  	var b uint32
 65414  
 65415  	b = *(*uint32)(unsafe.Pointer(m + uintptr(j)*4)) + uint32(iCost)
 65416  	if b < *(*uint32)(unsafe.Pointer(m + uintptr(i)*4)) {
 65417  		*(*uint32)(unsafe.Pointer(m + uintptr(i)*4)) = b
 65418  	}
 65419  }
 65420  
 65421  func editDist3Core(tls *libc.TLS, pFrom uintptr, z2 uintptr, n2 int32, pLang uintptr, pnMatch uintptr) int32 {
 65422  	bp := tls.Alloc(1048)
 65423  	defer tls.Free(1048)
 65424  
 65425  	var k int32
 65426  	var n int32
 65427  	var i1 int32
 65428  	var b1 int32
 65429  	var i2 int32
 65430  	var b2 int32
 65431  
 65432  	var a2 uintptr
 65433  	var m uintptr
 65434  	var pToFree uintptr
 65435  	var szRow int32
 65436  	var p uintptr
 65437  	var res int32
 65438  	var nByte sqlite3_uint64
 65439  
 65440  	var apNew uintptr
 65441  	var cx int32
 65442  	var cxp int32
 65443  	var cxd int32
 65444  	var cxu int32
 65445  	var rx int32
 65446  	var rxp int32
 65447  	var b int32
 65448  	var nExtra int32
 65449  	*(*EditDist3FromString)(unsafe.Pointer(bp + 1024)) = *(*EditDist3FromString)(unsafe.Pointer(pFrom))
 65450  
 65451  	n = ((*EditDist3FromString)(unsafe.Pointer(bp+1024)).Fn + 1) * (n2 + 1)
 65452  	n = (n + 1) & libc.CplInt32(1)
 65453  	nByte = uint64(n)*uint64(unsafe.Sizeof(uint32(0))) + uint64(unsafe.Sizeof(EditDist3To{}))*uint64(n2)
 65454  	if !(nByte <= sqlite3_uint64(unsafe.Sizeof([256]uint32{}))) {
 65455  		goto __1
 65456  	}
 65457  	m = bp
 65458  	pToFree = uintptr(0)
 65459  	goto __2
 65460  __1:
 65461  	m = libc.AssignUintptr(&pToFree, sqlite3.Xsqlite3_malloc64(tls, nByte))
 65462  	if !(m == uintptr(0)) {
 65463  		goto __3
 65464  	}
 65465  	return -1
 65466  __3:
 65467  	;
 65468  __2:
 65469  	;
 65470  	a2 = m + uintptr(n)*4
 65471  	libc.Xmemset(tls, a2, 0, uint64(unsafe.Sizeof(EditDist3To{}))*uint64(n2))
 65472  
 65473  	i2 = 0
 65474  __4:
 65475  	if !(i2 < n2) {
 65476  		goto __6
 65477  	}
 65478  	(*EditDist3To)(unsafe.Pointer(a2 + uintptr(i2)*16)).FnByte = utf8Len(tls, uint8(*(*int8)(unsafe.Pointer(z2 + uintptr(i2)))), n2-i2)
 65479  	p = (*EditDist3Lang)(unsafe.Pointer(pLang)).FpCost
 65480  __7:
 65481  	if !(p != 0) {
 65482  		goto __9
 65483  	}
 65484  	if !(int32((*EditDist3Cost)(unsafe.Pointer(p)).FnFrom) > 0) {
 65485  		goto __10
 65486  	}
 65487  	goto __9
 65488  __10:
 65489  	;
 65490  	if !(i2+int32((*EditDist3Cost)(unsafe.Pointer(p)).FnTo) > n2) {
 65491  		goto __11
 65492  	}
 65493  	goto __8
 65494  __11:
 65495  	;
 65496  	if !(int32(*(*int8)(unsafe.Pointer(p + 12))) > int32(*(*int8)(unsafe.Pointer(z2 + uintptr(i2))))) {
 65497  		goto __12
 65498  	}
 65499  	goto __9
 65500  __12:
 65501  	;
 65502  	if !(matchTo(tls, p, z2+uintptr(i2), n2-i2) == 0) {
 65503  		goto __13
 65504  	}
 65505  	goto __8
 65506  __13:
 65507  	;
 65508  	(*EditDist3To)(unsafe.Pointer(a2+uintptr(i2)*16)).FnIns++
 65509  	apNew = sqlite3.Xsqlite3_realloc64(tls, (*EditDist3To)(unsafe.Pointer(a2+uintptr(i2)*16)).FapIns, uint64(unsafe.Sizeof(uintptr(0)))*uint64((*EditDist3To)(unsafe.Pointer(a2+uintptr(i2)*16)).FnIns))
 65510  	if !(apNew == uintptr(0)) {
 65511  		goto __14
 65512  	}
 65513  	res = -1
 65514  	goto editDist3Abort
 65515  __14:
 65516  	;
 65517  	(*EditDist3To)(unsafe.Pointer(a2 + uintptr(i2)*16)).FapIns = apNew
 65518  	*(*uintptr)(unsafe.Pointer((*EditDist3To)(unsafe.Pointer(a2+uintptr(i2)*16)).FapIns + uintptr((*EditDist3To)(unsafe.Pointer(a2+uintptr(i2)*16)).FnIns-1)*8)) = p
 65519  	goto __8
 65520  __8:
 65521  	p = (*EditDist3Cost)(unsafe.Pointer(p)).FpNext
 65522  	goto __7
 65523  	goto __9
 65524  __9:
 65525  	;
 65526  	goto __5
 65527  __5:
 65528  	i2++
 65529  	goto __4
 65530  	goto __6
 65531  __6:
 65532  	;
 65533  	szRow = (*EditDist3FromString)(unsafe.Pointer(bp+1024)).Fn + 1
 65534  	libc.Xmemset(tls, m, 0x01, uint64((n2+1)*szRow)*uint64(unsafe.Sizeof(uint32(0))))
 65535  	*(*uint32)(unsafe.Pointer(m)) = uint32(0)
 65536  
 65537  	i1 = 0
 65538  __15:
 65539  	if !(i1 < (*EditDist3FromString)(unsafe.Pointer(bp+1024)).Fn) {
 65540  		goto __17
 65541  	}
 65542  	b1 = (*EditDist3From)(unsafe.Pointer((*EditDist3FromString)(unsafe.Pointer(bp+1024)).Fa + uintptr(i1)*32)).FnByte
 65543  	updateCost(tls, m, i1+b1, i1, (*EditDist3Lang)(unsafe.Pointer(pLang)).FiDelCost)
 65544  	k = 0
 65545  __18:
 65546  	if !(k < (*EditDist3From)(unsafe.Pointer((*EditDist3FromString)(unsafe.Pointer(bp+1024)).Fa+uintptr(i1)*32)).FnDel) {
 65547  		goto __20
 65548  	}
 65549  	p = *(*uintptr)(unsafe.Pointer((*EditDist3From)(unsafe.Pointer((*EditDist3FromString)(unsafe.Pointer(bp+1024)).Fa+uintptr(i1)*32)).FapDel + uintptr(k)*8))
 65550  	updateCost(tls, m, i1+int32((*EditDist3Cost)(unsafe.Pointer(p)).FnFrom), i1, int32((*EditDist3Cost)(unsafe.Pointer(p)).FiCost))
 65551  	goto __19
 65552  __19:
 65553  	k++
 65554  	goto __18
 65555  	goto __20
 65556  __20:
 65557  	;
 65558  	goto __16
 65559  __16:
 65560  	i1 = i1 + b1
 65561  	goto __15
 65562  	goto __17
 65563  __17:
 65564  	;
 65565  	i2 = 0
 65566  __21:
 65567  	if !(i2 < n2) {
 65568  		goto __23
 65569  	}
 65570  	b2 = (*EditDist3To)(unsafe.Pointer(a2 + uintptr(i2)*16)).FnByte
 65571  	rx = szRow * (i2 + b2)
 65572  	rxp = szRow * i2
 65573  	updateCost(tls, m, rx, rxp, (*EditDist3Lang)(unsafe.Pointer(pLang)).FiInsCost)
 65574  	k = 0
 65575  __24:
 65576  	if !(k < (*EditDist3To)(unsafe.Pointer(a2+uintptr(i2)*16)).FnIns) {
 65577  		goto __26
 65578  	}
 65579  	p = *(*uintptr)(unsafe.Pointer((*EditDist3To)(unsafe.Pointer(a2+uintptr(i2)*16)).FapIns + uintptr(k)*8))
 65580  	updateCost(tls, m, szRow*(i2+int32((*EditDist3Cost)(unsafe.Pointer(p)).FnTo)), rxp, int32((*EditDist3Cost)(unsafe.Pointer(p)).FiCost))
 65581  	goto __25
 65582  __25:
 65583  	k++
 65584  	goto __24
 65585  	goto __26
 65586  __26:
 65587  	;
 65588  	i1 = 0
 65589  __27:
 65590  	if !(i1 < (*EditDist3FromString)(unsafe.Pointer(bp+1024)).Fn) {
 65591  		goto __29
 65592  	}
 65593  	b1 = (*EditDist3From)(unsafe.Pointer((*EditDist3FromString)(unsafe.Pointer(bp+1024)).Fa + uintptr(i1)*32)).FnByte
 65594  	cxp = rx + i1
 65595  	cx = cxp + b1
 65596  	cxd = rxp + i1
 65597  	cxu = cxd + b1
 65598  	updateCost(tls, m, cx, cxp, (*EditDist3Lang)(unsafe.Pointer(pLang)).FiDelCost)
 65599  	k = 0
 65600  __30:
 65601  	if !(k < (*EditDist3From)(unsafe.Pointer((*EditDist3FromString)(unsafe.Pointer(bp+1024)).Fa+uintptr(i1)*32)).FnDel) {
 65602  		goto __32
 65603  	}
 65604  	p = *(*uintptr)(unsafe.Pointer((*EditDist3From)(unsafe.Pointer((*EditDist3FromString)(unsafe.Pointer(bp+1024)).Fa+uintptr(i1)*32)).FapDel + uintptr(k)*8))
 65605  	updateCost(tls, m, cxp+int32((*EditDist3Cost)(unsafe.Pointer(p)).FnFrom), cxp, int32((*EditDist3Cost)(unsafe.Pointer(p)).FiCost))
 65606  	goto __31
 65607  __31:
 65608  	k++
 65609  	goto __30
 65610  	goto __32
 65611  __32:
 65612  	;
 65613  	updateCost(tls, m, cx, cxu, (*EditDist3Lang)(unsafe.Pointer(pLang)).FiInsCost)
 65614  	if !(matchFromTo(tls, bp+1024, i1, z2+uintptr(i2), n2-i2) != 0) {
 65615  		goto __33
 65616  	}
 65617  	updateCost(tls, m, cx, cxd, 0)
 65618  __33:
 65619  	;
 65620  	updateCost(tls, m, cx, cxd, (*EditDist3Lang)(unsafe.Pointer(pLang)).FiSubCost)
 65621  	k = 0
 65622  __34:
 65623  	if !(k < (*EditDist3From)(unsafe.Pointer((*EditDist3FromString)(unsafe.Pointer(bp+1024)).Fa+uintptr(i1)*32)).FnSubst) {
 65624  		goto __36
 65625  	}
 65626  	p = *(*uintptr)(unsafe.Pointer((*EditDist3From)(unsafe.Pointer((*EditDist3FromString)(unsafe.Pointer(bp+1024)).Fa+uintptr(i1)*32)).FapSubst + uintptr(k)*8))
 65627  	if !(matchTo(tls, p, z2+uintptr(i2), n2-i2) != 0) {
 65628  		goto __37
 65629  	}
 65630  	updateCost(tls, m, cxd+int32((*EditDist3Cost)(unsafe.Pointer(p)).FnFrom)+szRow*int32((*EditDist3Cost)(unsafe.Pointer(p)).FnTo), cxd, int32((*EditDist3Cost)(unsafe.Pointer(p)).FiCost))
 65631  __37:
 65632  	;
 65633  	goto __35
 65634  __35:
 65635  	k++
 65636  	goto __34
 65637  	goto __36
 65638  __36:
 65639  	;
 65640  	goto __28
 65641  __28:
 65642  	i1 = i1 + b1
 65643  	goto __27
 65644  	goto __29
 65645  __29:
 65646  	;
 65647  	goto __22
 65648  __22:
 65649  	i2 = i2 + b2
 65650  	goto __21
 65651  	goto __23
 65652  __23:
 65653  	;
 65654  	res = int32(*(*uint32)(unsafe.Pointer(m + uintptr(szRow*(n2+1)-1)*4)))
 65655  	n = n2
 65656  	if !((*EditDist3FromString)(unsafe.Pointer(bp+1024)).FisPrefix != 0) {
 65657  		goto __38
 65658  	}
 65659  	i2 = 1
 65660  __39:
 65661  	if !(i2 <= n2) {
 65662  		goto __41
 65663  	}
 65664  	b = int32(*(*uint32)(unsafe.Pointer(m + uintptr(szRow*i2-1)*4)))
 65665  	if !(b <= res) {
 65666  		goto __42
 65667  	}
 65668  	res = b
 65669  	n = i2 - 1
 65670  __42:
 65671  	;
 65672  	goto __40
 65673  __40:
 65674  	i2++
 65675  	goto __39
 65676  	goto __41
 65677  __41:
 65678  	;
 65679  __38:
 65680  	;
 65681  	if !(pnMatch != 0) {
 65682  		goto __43
 65683  	}
 65684  	nExtra = 0
 65685  	k = 0
 65686  __44:
 65687  	if !(k < n) {
 65688  		goto __46
 65689  	}
 65690  	if !(int32(*(*int8)(unsafe.Pointer(z2 + uintptr(k))))&0xc0 == 0x80) {
 65691  		goto __47
 65692  	}
 65693  	nExtra++
 65694  __47:
 65695  	;
 65696  	goto __45
 65697  __45:
 65698  	k++
 65699  	goto __44
 65700  	goto __46
 65701  __46:
 65702  	;
 65703  	*(*int32)(unsafe.Pointer(pnMatch)) = n - nExtra
 65704  __43:
 65705  	;
 65706  editDist3Abort:
 65707  	i2 = 0
 65708  __48:
 65709  	if !(i2 < n2) {
 65710  		goto __50
 65711  	}
 65712  	sqlite3.Xsqlite3_free(tls, (*EditDist3To)(unsafe.Pointer(a2+uintptr(i2)*16)).FapIns)
 65713  	goto __49
 65714  __49:
 65715  	i2++
 65716  	goto __48
 65717  	goto __50
 65718  __50:
 65719  	;
 65720  	sqlite3.Xsqlite3_free(tls, pToFree)
 65721  	return res
 65722  }
 65723  
 65724  func editDist3FindLang(tls *libc.TLS, pConfig uintptr, iLang int32) uintptr {
 65725  	var i int32
 65726  	for i = 0; i < (*EditDist3Config)(unsafe.Pointer(pConfig)).FnLang; i++ {
 65727  		if (*EditDist3Lang)(unsafe.Pointer((*EditDist3Config)(unsafe.Pointer(pConfig)).Fa+uintptr(i)*24)).FiLang == iLang {
 65728  			return (*EditDist3Config)(unsafe.Pointer(pConfig)).Fa + uintptr(i)*24
 65729  		}
 65730  	}
 65731  	return uintptr(unsafe.Pointer(&editDist3Lang))
 65732  }
 65733  
 65734  func editDist3SqlFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 65735  	var pConfig uintptr = sqlite3.Xsqlite3_user_data(tls, context)
 65736  	var db uintptr = sqlite3.Xsqlite3_context_db_handle(tls, context)
 65737  	var rc int32
 65738  	if argc == 1 {
 65739  		var zTable uintptr = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv)))
 65740  		rc = editDist3ConfigLoad(tls, pConfig, db, zTable)
 65741  		if rc != 0 {
 65742  			sqlite3.Xsqlite3_result_error_code(tls, context, rc)
 65743  		}
 65744  	} else {
 65745  		var zA uintptr = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv)))
 65746  		var zB uintptr = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))
 65747  		var nA int32 = sqlite3.Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv)))
 65748  		var nB int32 = sqlite3.Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))
 65749  		var iLang int32
 65750  		if argc == 3 {
 65751  			iLang = sqlite3.Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)))
 65752  		} else {
 65753  			iLang = 0
 65754  		}
 65755  		var pLang uintptr = editDist3FindLang(tls, pConfig, iLang)
 65756  		var pFrom uintptr
 65757  		var dist int32
 65758  
 65759  		pFrom = editDist3FromStringNew(tls, pLang, zA, nA)
 65760  		if pFrom == uintptr(0) {
 65761  			sqlite3.Xsqlite3_result_error_nomem(tls, context)
 65762  			return
 65763  		}
 65764  		dist = editDist3Core(tls, pFrom, zB, nB, pLang, uintptr(0))
 65765  		editDist3FromStringDelete(tls, pFrom)
 65766  		if dist == -1 {
 65767  			sqlite3.Xsqlite3_result_error_nomem(tls, context)
 65768  		} else {
 65769  			sqlite3.Xsqlite3_result_int(tls, context, dist)
 65770  		}
 65771  	}
 65772  }
 65773  
 65774  func editDist3Install(tls *libc.TLS, db uintptr) int32 {
 65775  	var rc int32
 65776  	var pConfig uintptr = sqlite3.Xsqlite3_malloc64(tls, uint64(unsafe.Sizeof(EditDist3Config{})))
 65777  	if pConfig == uintptr(0) {
 65778  		return SQLITE_NOMEM
 65779  	}
 65780  	libc.Xmemset(tls, pConfig, 0, uint64(unsafe.Sizeof(EditDist3Config{})))
 65781  	rc = sqlite3.Xsqlite3_create_function_v2(tls, db, ts+7179,
 65782  		2, SQLITE_UTF8|SQLITE_DETERMINISTIC, pConfig,
 65783  		*(*uintptr)(unsafe.Pointer(&struct {
 65784  			f func(*libc.TLS, uintptr, int32, uintptr)
 65785  		}{editDist3SqlFunc})), uintptr(0), uintptr(0), uintptr(0))
 65786  	if rc == SQLITE_OK {
 65787  		rc = sqlite3.Xsqlite3_create_function_v2(tls, db, ts+7179,
 65788  			3, SQLITE_UTF8|SQLITE_DETERMINISTIC, pConfig,
 65789  			*(*uintptr)(unsafe.Pointer(&struct {
 65790  				f func(*libc.TLS, uintptr, int32, uintptr)
 65791  			}{editDist3SqlFunc})), uintptr(0), uintptr(0), uintptr(0))
 65792  	}
 65793  	if rc == SQLITE_OK {
 65794  		rc = sqlite3.Xsqlite3_create_function_v2(tls, db, ts+7179,
 65795  			1, SQLITE_UTF8|SQLITE_DETERMINISTIC, pConfig,
 65796  			*(*uintptr)(unsafe.Pointer(&struct {
 65797  				f func(*libc.TLS, uintptr, int32, uintptr)
 65798  			}{editDist3SqlFunc})), uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{editDist3ConfigDelete})))
 65799  	} else {
 65800  		sqlite3.Xsqlite3_free(tls, pConfig)
 65801  	}
 65802  	return rc
 65803  }
 65804  
 65805  var sqlite3Utf8Trans1 = [64]uint8{
 65806  	uint8(0x00), uint8(0x01), uint8(0x02), uint8(0x03), uint8(0x04), uint8(0x05), uint8(0x06), uint8(0x07),
 65807  	uint8(0x08), uint8(0x09), uint8(0x0a), uint8(0x0b), uint8(0x0c), uint8(0x0d), uint8(0x0e), uint8(0x0f),
 65808  	uint8(0x10), uint8(0x11), uint8(0x12), uint8(0x13), uint8(0x14), uint8(0x15), uint8(0x16), uint8(0x17),
 65809  	uint8(0x18), uint8(0x19), uint8(0x1a), uint8(0x1b), uint8(0x1c), uint8(0x1d), uint8(0x1e), uint8(0x1f),
 65810  	uint8(0x00), uint8(0x01), uint8(0x02), uint8(0x03), uint8(0x04), uint8(0x05), uint8(0x06), uint8(0x07),
 65811  	uint8(0x08), uint8(0x09), uint8(0x0a), uint8(0x0b), uint8(0x0c), uint8(0x0d), uint8(0x0e), uint8(0x0f),
 65812  	uint8(0x00), uint8(0x01), uint8(0x02), uint8(0x03), uint8(0x04), uint8(0x05), uint8(0x06), uint8(0x07),
 65813  	uint8(0x00), uint8(0x01), uint8(0x02), uint8(0x03), uint8(0x00), uint8(0x01), uint8(0x00), uint8(0x00),
 65814  }
 65815  
 65816  func utf8Read(tls *libc.TLS, z uintptr, n int32, pSize uintptr) int32 {
 65817  	var c int32
 65818  	var i int32
 65819  
 65820  	if 0 != 0 {
 65821  		c = libc.AssignInt32(&i, 0)
 65822  	} else {
 65823  		c = int32(*(*uint8)(unsafe.Pointer(z)))
 65824  		i = 1
 65825  		if c >= 0xc0 {
 65826  			c = int32(sqlite3Utf8Trans1[c-0xc0])
 65827  			for i < n && int32(*(*uint8)(unsafe.Pointer(z + uintptr(i))))&0xc0 == 0x80 {
 65828  				c = c<<6 + 0x3f&int32(*(*uint8)(unsafe.Pointer(z + uintptr(libc.PostIncInt32(&i, 1)))))
 65829  			}
 65830  		}
 65831  	}
 65832  	*(*int32)(unsafe.Pointer(pSize)) = i
 65833  	return c
 65834  }
 65835  
 65836  func utf8Charlen(tls *libc.TLS, zIn uintptr, nIn int32) int32 {
 65837  	bp := tls.Alloc(4)
 65838  	defer tls.Free(4)
 65839  
 65840  	var i int32
 65841  	var nChar int32 = 0
 65842  	for i = 0; i < nIn; nChar++ {
 65843  		utf8Read(tls, zIn+uintptr(i), nIn-i, bp)
 65844  		i = i + *(*int32)(unsafe.Pointer(bp))
 65845  	}
 65846  	return nChar
 65847  }
 65848  
 65849  type Transliteration1 = struct {
 65850  	FcFrom uint16
 65851  	FcTo0  uint8
 65852  	FcTo1  uint8
 65853  	FcTo2  uint8
 65854  	FcTo3  uint8
 65855  }
 65856  
 65857  type Transliteration = Transliteration1
 65858  
 65859  var translit = [389]Transliteration{
 65860  	{FcFrom: uint16(0x00A0), FcTo0: uint8(0x20)},
 65861  	{FcFrom: uint16(0x00B5), FcTo0: uint8(0x75)},
 65862  	{FcFrom: uint16(0x00C0), FcTo0: uint8(0x41)},
 65863  	{FcFrom: uint16(0x00C1), FcTo0: uint8(0x41)},
 65864  	{FcFrom: uint16(0x00C2), FcTo0: uint8(0x41)},
 65865  	{FcFrom: uint16(0x00C3), FcTo0: uint8(0x41)},
 65866  	{FcFrom: uint16(0x00C4), FcTo0: uint8(0x41), FcTo1: uint8(0x65)},
 65867  	{FcFrom: uint16(0x00C5), FcTo0: uint8(0x41), FcTo1: uint8(0x61)},
 65868  	{FcFrom: uint16(0x00C6), FcTo0: uint8(0x41), FcTo1: uint8(0x45)},
 65869  	{FcFrom: uint16(0x00C7), FcTo0: uint8(0x43)},
 65870  	{FcFrom: uint16(0x00C8), FcTo0: uint8(0x45)},
 65871  	{FcFrom: uint16(0x00C9), FcTo0: uint8(0x45)},
 65872  	{FcFrom: uint16(0x00CA), FcTo0: uint8(0x45)},
 65873  	{FcFrom: uint16(0x00CB), FcTo0: uint8(0x45)},
 65874  	{FcFrom: uint16(0x00CC), FcTo0: uint8(0x49)},
 65875  	{FcFrom: uint16(0x00CD), FcTo0: uint8(0x49)},
 65876  	{FcFrom: uint16(0x00CE), FcTo0: uint8(0x49)},
 65877  	{FcFrom: uint16(0x00CF), FcTo0: uint8(0x49)},
 65878  	{FcFrom: uint16(0x00D0), FcTo0: uint8(0x44)},
 65879  	{FcFrom: uint16(0x00D1), FcTo0: uint8(0x4E)},
 65880  	{FcFrom: uint16(0x00D2), FcTo0: uint8(0x4F)},
 65881  	{FcFrom: uint16(0x00D3), FcTo0: uint8(0x4F)},
 65882  	{FcFrom: uint16(0x00D4), FcTo0: uint8(0x4F)},
 65883  	{FcFrom: uint16(0x00D5), FcTo0: uint8(0x4F)},
 65884  	{FcFrom: uint16(0x00D6), FcTo0: uint8(0x4F), FcTo1: uint8(0x65)},
 65885  	{FcFrom: uint16(0x00D7), FcTo0: uint8(0x78)},
 65886  	{FcFrom: uint16(0x00D8), FcTo0: uint8(0x4F)},
 65887  	{FcFrom: uint16(0x00D9), FcTo0: uint8(0x55)},
 65888  	{FcFrom: uint16(0x00DA), FcTo0: uint8(0x55)},
 65889  	{FcFrom: uint16(0x00DB), FcTo0: uint8(0x55)},
 65890  	{FcFrom: uint16(0x00DC), FcTo0: uint8(0x55), FcTo1: uint8(0x65)},
 65891  	{FcFrom: uint16(0x00DD), FcTo0: uint8(0x59)},
 65892  	{FcFrom: uint16(0x00DE), FcTo0: uint8(0x54), FcTo1: uint8(0x68)},
 65893  	{FcFrom: uint16(0x00DF), FcTo0: uint8(0x73), FcTo1: uint8(0x73)},
 65894  	{FcFrom: uint16(0x00E0), FcTo0: uint8(0x61)},
 65895  	{FcFrom: uint16(0x00E1), FcTo0: uint8(0x61)},
 65896  	{FcFrom: uint16(0x00E2), FcTo0: uint8(0x61)},
 65897  	{FcFrom: uint16(0x00E3), FcTo0: uint8(0x61)},
 65898  	{FcFrom: uint16(0x00E4), FcTo0: uint8(0x61), FcTo1: uint8(0x65)},
 65899  	{FcFrom: uint16(0x00E5), FcTo0: uint8(0x61), FcTo1: uint8(0x61)},
 65900  	{FcFrom: uint16(0x00E6), FcTo0: uint8(0x61), FcTo1: uint8(0x65)},
 65901  	{FcFrom: uint16(0x00E7), FcTo0: uint8(0x63)},
 65902  	{FcFrom: uint16(0x00E8), FcTo0: uint8(0x65)},
 65903  	{FcFrom: uint16(0x00E9), FcTo0: uint8(0x65)},
 65904  	{FcFrom: uint16(0x00EA), FcTo0: uint8(0x65)},
 65905  	{FcFrom: uint16(0x00EB), FcTo0: uint8(0x65)},
 65906  	{FcFrom: uint16(0x00EC), FcTo0: uint8(0x69)},
 65907  	{FcFrom: uint16(0x00ED), FcTo0: uint8(0x69)},
 65908  	{FcFrom: uint16(0x00EE), FcTo0: uint8(0x69)},
 65909  	{FcFrom: uint16(0x00EF), FcTo0: uint8(0x69)},
 65910  	{FcFrom: uint16(0x00F0), FcTo0: uint8(0x64)},
 65911  	{FcFrom: uint16(0x00F1), FcTo0: uint8(0x6E)},
 65912  	{FcFrom: uint16(0x00F2), FcTo0: uint8(0x6F)},
 65913  	{FcFrom: uint16(0x00F3), FcTo0: uint8(0x6F)},
 65914  	{FcFrom: uint16(0x00F4), FcTo0: uint8(0x6F)},
 65915  	{FcFrom: uint16(0x00F5), FcTo0: uint8(0x6F)},
 65916  	{FcFrom: uint16(0x00F6), FcTo0: uint8(0x6F), FcTo1: uint8(0x65)},
 65917  	{FcFrom: uint16(0x00F7), FcTo0: uint8(0x3A)},
 65918  	{FcFrom: uint16(0x00F8), FcTo0: uint8(0x6F)},
 65919  	{FcFrom: uint16(0x00F9), FcTo0: uint8(0x75)},
 65920  	{FcFrom: uint16(0x00FA), FcTo0: uint8(0x75)},
 65921  	{FcFrom: uint16(0x00FB), FcTo0: uint8(0x75)},
 65922  	{FcFrom: uint16(0x00FC), FcTo0: uint8(0x75), FcTo1: uint8(0x65)},
 65923  	{FcFrom: uint16(0x00FD), FcTo0: uint8(0x79)},
 65924  	{FcFrom: uint16(0x00FE), FcTo0: uint8(0x74), FcTo1: uint8(0x68)},
 65925  	{FcFrom: uint16(0x00FF), FcTo0: uint8(0x79)},
 65926  	{FcFrom: uint16(0x0100), FcTo0: uint8(0x41)},
 65927  	{FcFrom: uint16(0x0101), FcTo0: uint8(0x61)},
 65928  	{FcFrom: uint16(0x0102), FcTo0: uint8(0x41)},
 65929  	{FcFrom: uint16(0x0103), FcTo0: uint8(0x61)},
 65930  	{FcFrom: uint16(0x0104), FcTo0: uint8(0x41)},
 65931  	{FcFrom: uint16(0x0105), FcTo0: uint8(0x61)},
 65932  	{FcFrom: uint16(0x0106), FcTo0: uint8(0x43)},
 65933  	{FcFrom: uint16(0x0107), FcTo0: uint8(0x63)},
 65934  	{FcFrom: uint16(0x0108), FcTo0: uint8(0x43), FcTo1: uint8(0x68)},
 65935  	{FcFrom: uint16(0x0109), FcTo0: uint8(0x63), FcTo1: uint8(0x68)},
 65936  	{FcFrom: uint16(0x010A), FcTo0: uint8(0x43)},
 65937  	{FcFrom: uint16(0x010B), FcTo0: uint8(0x63)},
 65938  	{FcFrom: uint16(0x010C), FcTo0: uint8(0x43)},
 65939  	{FcFrom: uint16(0x010D), FcTo0: uint8(0x63)},
 65940  	{FcFrom: uint16(0x010E), FcTo0: uint8(0x44)},
 65941  	{FcFrom: uint16(0x010F), FcTo0: uint8(0x64)},
 65942  	{FcFrom: uint16(0x0110), FcTo0: uint8(0x44)},
 65943  	{FcFrom: uint16(0x0111), FcTo0: uint8(0x64)},
 65944  	{FcFrom: uint16(0x0112), FcTo0: uint8(0x45)},
 65945  	{FcFrom: uint16(0x0113), FcTo0: uint8(0x65)},
 65946  	{FcFrom: uint16(0x0114), FcTo0: uint8(0x45)},
 65947  	{FcFrom: uint16(0x0115), FcTo0: uint8(0x65)},
 65948  	{FcFrom: uint16(0x0116), FcTo0: uint8(0x45)},
 65949  	{FcFrom: uint16(0x0117), FcTo0: uint8(0x65)},
 65950  	{FcFrom: uint16(0x0118), FcTo0: uint8(0x45)},
 65951  	{FcFrom: uint16(0x0119), FcTo0: uint8(0x65)},
 65952  	{FcFrom: uint16(0x011A), FcTo0: uint8(0x45)},
 65953  	{FcFrom: uint16(0x011B), FcTo0: uint8(0x65)},
 65954  	{FcFrom: uint16(0x011C), FcTo0: uint8(0x47), FcTo1: uint8(0x68)},
 65955  	{FcFrom: uint16(0x011D), FcTo0: uint8(0x67), FcTo1: uint8(0x68)},
 65956  	{FcFrom: uint16(0x011E), FcTo0: uint8(0x47)},
 65957  	{FcFrom: uint16(0x011F), FcTo0: uint8(0x67)},
 65958  	{FcFrom: uint16(0x0120), FcTo0: uint8(0x47)},
 65959  	{FcFrom: uint16(0x0121), FcTo0: uint8(0x67)},
 65960  	{FcFrom: uint16(0x0122), FcTo0: uint8(0x47)},
 65961  	{FcFrom: uint16(0x0123), FcTo0: uint8(0x67)},
 65962  	{FcFrom: uint16(0x0124), FcTo0: uint8(0x48), FcTo1: uint8(0x68)},
 65963  	{FcFrom: uint16(0x0125), FcTo0: uint8(0x68), FcTo1: uint8(0x68)},
 65964  	{FcFrom: uint16(0x0126), FcTo0: uint8(0x48)},
 65965  	{FcFrom: uint16(0x0127), FcTo0: uint8(0x68)},
 65966  	{FcFrom: uint16(0x0128), FcTo0: uint8(0x49)},
 65967  	{FcFrom: uint16(0x0129), FcTo0: uint8(0x69)},
 65968  	{FcFrom: uint16(0x012A), FcTo0: uint8(0x49)},
 65969  	{FcFrom: uint16(0x012B), FcTo0: uint8(0x69)},
 65970  	{FcFrom: uint16(0x012C), FcTo0: uint8(0x49)},
 65971  	{FcFrom: uint16(0x012D), FcTo0: uint8(0x69)},
 65972  	{FcFrom: uint16(0x012E), FcTo0: uint8(0x49)},
 65973  	{FcFrom: uint16(0x012F), FcTo0: uint8(0x69)},
 65974  	{FcFrom: uint16(0x0130), FcTo0: uint8(0x49)},
 65975  	{FcFrom: uint16(0x0131), FcTo0: uint8(0x69)},
 65976  	{FcFrom: uint16(0x0132), FcTo0: uint8(0x49), FcTo1: uint8(0x4A)},
 65977  	{FcFrom: uint16(0x0133), FcTo0: uint8(0x69), FcTo1: uint8(0x6A)},
 65978  	{FcFrom: uint16(0x0134), FcTo0: uint8(0x4A), FcTo1: uint8(0x68)},
 65979  	{FcFrom: uint16(0x0135), FcTo0: uint8(0x6A), FcTo1: uint8(0x68)},
 65980  	{FcFrom: uint16(0x0136), FcTo0: uint8(0x4B)},
 65981  	{FcFrom: uint16(0x0137), FcTo0: uint8(0x6B)},
 65982  	{FcFrom: uint16(0x0138), FcTo0: uint8(0x6B)},
 65983  	{FcFrom: uint16(0x0139), FcTo0: uint8(0x4C)},
 65984  	{FcFrom: uint16(0x013A), FcTo0: uint8(0x6C)},
 65985  	{FcFrom: uint16(0x013B), FcTo0: uint8(0x4C)},
 65986  	{FcFrom: uint16(0x013C), FcTo0: uint8(0x6C)},
 65987  	{FcFrom: uint16(0x013D), FcTo0: uint8(0x4C)},
 65988  	{FcFrom: uint16(0x013E), FcTo0: uint8(0x6C)},
 65989  	{FcFrom: uint16(0x013F), FcTo0: uint8(0x4C), FcTo1: uint8(0x2E)},
 65990  	{FcFrom: uint16(0x0140), FcTo0: uint8(0x6C), FcTo1: uint8(0x2E)},
 65991  	{FcFrom: uint16(0x0141), FcTo0: uint8(0x4C)},
 65992  	{FcFrom: uint16(0x0142), FcTo0: uint8(0x6C)},
 65993  	{FcFrom: uint16(0x0143), FcTo0: uint8(0x4E)},
 65994  	{FcFrom: uint16(0x0144), FcTo0: uint8(0x6E)},
 65995  	{FcFrom: uint16(0x0145), FcTo0: uint8(0x4E)},
 65996  	{FcFrom: uint16(0x0146), FcTo0: uint8(0x6E)},
 65997  	{FcFrom: uint16(0x0147), FcTo0: uint8(0x4E)},
 65998  	{FcFrom: uint16(0x0148), FcTo0: uint8(0x6E)},
 65999  	{FcFrom: uint16(0x0149), FcTo0: uint8(0x27), FcTo1: uint8(0x6E)},
 66000  	{FcFrom: uint16(0x014A), FcTo0: uint8(0x4E), FcTo1: uint8(0x47)},
 66001  	{FcFrom: uint16(0x014B), FcTo0: uint8(0x6E), FcTo1: uint8(0x67)},
 66002  	{FcFrom: uint16(0x014C), FcTo0: uint8(0x4F)},
 66003  	{FcFrom: uint16(0x014D), FcTo0: uint8(0x6F)},
 66004  	{FcFrom: uint16(0x014E), FcTo0: uint8(0x4F)},
 66005  	{FcFrom: uint16(0x014F), FcTo0: uint8(0x6F)},
 66006  	{FcFrom: uint16(0x0150), FcTo0: uint8(0x4F)},
 66007  	{FcFrom: uint16(0x0151), FcTo0: uint8(0x6F)},
 66008  	{FcFrom: uint16(0x0152), FcTo0: uint8(0x4F), FcTo1: uint8(0x45)},
 66009  	{FcFrom: uint16(0x0153), FcTo0: uint8(0x6F), FcTo1: uint8(0x65)},
 66010  	{FcFrom: uint16(0x0154), FcTo0: uint8(0x52)},
 66011  	{FcFrom: uint16(0x0155), FcTo0: uint8(0x72)},
 66012  	{FcFrom: uint16(0x0156), FcTo0: uint8(0x52)},
 66013  	{FcFrom: uint16(0x0157), FcTo0: uint8(0x72)},
 66014  	{FcFrom: uint16(0x0158), FcTo0: uint8(0x52)},
 66015  	{FcFrom: uint16(0x0159), FcTo0: uint8(0x72)},
 66016  	{FcFrom: uint16(0x015A), FcTo0: uint8(0x53)},
 66017  	{FcFrom: uint16(0x015B), FcTo0: uint8(0x73)},
 66018  	{FcFrom: uint16(0x015C), FcTo0: uint8(0x53), FcTo1: uint8(0x68)},
 66019  	{FcFrom: uint16(0x015D), FcTo0: uint8(0x73), FcTo1: uint8(0x68)},
 66020  	{FcFrom: uint16(0x015E), FcTo0: uint8(0x53)},
 66021  	{FcFrom: uint16(0x015F), FcTo0: uint8(0x73)},
 66022  	{FcFrom: uint16(0x0160), FcTo0: uint8(0x53)},
 66023  	{FcFrom: uint16(0x0161), FcTo0: uint8(0x73)},
 66024  	{FcFrom: uint16(0x0162), FcTo0: uint8(0x54)},
 66025  	{FcFrom: uint16(0x0163), FcTo0: uint8(0x74)},
 66026  	{FcFrom: uint16(0x0164), FcTo0: uint8(0x54)},
 66027  	{FcFrom: uint16(0x0165), FcTo0: uint8(0x74)},
 66028  	{FcFrom: uint16(0x0166), FcTo0: uint8(0x54)},
 66029  	{FcFrom: uint16(0x0167), FcTo0: uint8(0x74)},
 66030  	{FcFrom: uint16(0x0168), FcTo0: uint8(0x55)},
 66031  	{FcFrom: uint16(0x0169), FcTo0: uint8(0x75)},
 66032  	{FcFrom: uint16(0x016A), FcTo0: uint8(0x55)},
 66033  	{FcFrom: uint16(0x016B), FcTo0: uint8(0x75)},
 66034  	{FcFrom: uint16(0x016C), FcTo0: uint8(0x55)},
 66035  	{FcFrom: uint16(0x016D), FcTo0: uint8(0x75)},
 66036  	{FcFrom: uint16(0x016E), FcTo0: uint8(0x55)},
 66037  	{FcFrom: uint16(0x016F), FcTo0: uint8(0x75)},
 66038  	{FcFrom: uint16(0x0170), FcTo0: uint8(0x55)},
 66039  	{FcFrom: uint16(0x0171), FcTo0: uint8(0x75)},
 66040  	{FcFrom: uint16(0x0172), FcTo0: uint8(0x55)},
 66041  	{FcFrom: uint16(0x0173), FcTo0: uint8(0x75)},
 66042  	{FcFrom: uint16(0x0174), FcTo0: uint8(0x57)},
 66043  	{FcFrom: uint16(0x0175), FcTo0: uint8(0x77)},
 66044  	{FcFrom: uint16(0x0176), FcTo0: uint8(0x59)},
 66045  	{FcFrom: uint16(0x0177), FcTo0: uint8(0x79)},
 66046  	{FcFrom: uint16(0x0178), FcTo0: uint8(0x59)},
 66047  	{FcFrom: uint16(0x0179), FcTo0: uint8(0x5A)},
 66048  	{FcFrom: uint16(0x017A), FcTo0: uint8(0x7A)},
 66049  	{FcFrom: uint16(0x017B), FcTo0: uint8(0x5A)},
 66050  	{FcFrom: uint16(0x017C), FcTo0: uint8(0x7A)},
 66051  	{FcFrom: uint16(0x017D), FcTo0: uint8(0x5A)},
 66052  	{FcFrom: uint16(0x017E), FcTo0: uint8(0x7A)},
 66053  	{FcFrom: uint16(0x017F), FcTo0: uint8(0x73)},
 66054  	{FcFrom: uint16(0x0192), FcTo0: uint8(0x66)},
 66055  	{FcFrom: uint16(0x0218), FcTo0: uint8(0x53)},
 66056  	{FcFrom: uint16(0x0219), FcTo0: uint8(0x73)},
 66057  	{FcFrom: uint16(0x021A), FcTo0: uint8(0x54)},
 66058  	{FcFrom: uint16(0x021B), FcTo0: uint8(0x74)},
 66059  	{FcFrom: uint16(0x0386), FcTo0: uint8(0x41)},
 66060  	{FcFrom: uint16(0x0388), FcTo0: uint8(0x45)},
 66061  	{FcFrom: uint16(0x0389), FcTo0: uint8(0x49)},
 66062  	{FcFrom: uint16(0x038A), FcTo0: uint8(0x49)},
 66063  	{FcFrom: uint16(0x038C), FcTo0: uint8(0x4f)},
 66064  	{FcFrom: uint16(0x038E), FcTo0: uint8(0x59)},
 66065  	{FcFrom: uint16(0x038F), FcTo0: uint8(0x4f)},
 66066  	{FcFrom: uint16(0x0390), FcTo0: uint8(0x69)},
 66067  	{FcFrom: uint16(0x0391), FcTo0: uint8(0x41)},
 66068  	{FcFrom: uint16(0x0392), FcTo0: uint8(0x42)},
 66069  	{FcFrom: uint16(0x0393), FcTo0: uint8(0x47)},
 66070  	{FcFrom: uint16(0x0394), FcTo0: uint8(0x44)},
 66071  	{FcFrom: uint16(0x0395), FcTo0: uint8(0x45)},
 66072  	{FcFrom: uint16(0x0396), FcTo0: uint8(0x5a)},
 66073  	{FcFrom: uint16(0x0397), FcTo0: uint8(0x49)},
 66074  	{FcFrom: uint16(0x0398), FcTo0: uint8(0x54), FcTo1: uint8(0x68)},
 66075  	{FcFrom: uint16(0x0399), FcTo0: uint8(0x49)},
 66076  	{FcFrom: uint16(0x039A), FcTo0: uint8(0x4b)},
 66077  	{FcFrom: uint16(0x039B), FcTo0: uint8(0x4c)},
 66078  	{FcFrom: uint16(0x039C), FcTo0: uint8(0x4d)},
 66079  	{FcFrom: uint16(0x039D), FcTo0: uint8(0x4e)},
 66080  	{FcFrom: uint16(0x039E), FcTo0: uint8(0x58)},
 66081  	{FcFrom: uint16(0x039F), FcTo0: uint8(0x4f)},
 66082  	{FcFrom: uint16(0x03A0), FcTo0: uint8(0x50)},
 66083  	{FcFrom: uint16(0x03A1), FcTo0: uint8(0x52)},
 66084  	{FcFrom: uint16(0x03A3), FcTo0: uint8(0x53)},
 66085  	{FcFrom: uint16(0x03A4), FcTo0: uint8(0x54)},
 66086  	{FcFrom: uint16(0x03A5), FcTo0: uint8(0x59)},
 66087  	{FcFrom: uint16(0x03A6), FcTo0: uint8(0x46)},
 66088  	{FcFrom: uint16(0x03A7), FcTo0: uint8(0x43), FcTo1: uint8(0x68)},
 66089  	{FcFrom: uint16(0x03A8), FcTo0: uint8(0x50), FcTo1: uint8(0x73)},
 66090  	{FcFrom: uint16(0x03A9), FcTo0: uint8(0x4f)},
 66091  	{FcFrom: uint16(0x03AA), FcTo0: uint8(0x49)},
 66092  	{FcFrom: uint16(0x03AB), FcTo0: uint8(0x59)},
 66093  	{FcFrom: uint16(0x03AC), FcTo0: uint8(0x61)},
 66094  	{FcFrom: uint16(0x03AD), FcTo0: uint8(0x65)},
 66095  	{FcFrom: uint16(0x03AE), FcTo0: uint8(0x69)},
 66096  	{FcFrom: uint16(0x03AF), FcTo0: uint8(0x69)},
 66097  	{FcFrom: uint16(0x03B1), FcTo0: uint8(0x61)},
 66098  	{FcFrom: uint16(0x03B2), FcTo0: uint8(0x62)},
 66099  	{FcFrom: uint16(0x03B3), FcTo0: uint8(0x67)},
 66100  	{FcFrom: uint16(0x03B4), FcTo0: uint8(0x64)},
 66101  	{FcFrom: uint16(0x03B5), FcTo0: uint8(0x65)},
 66102  	{FcFrom: uint16(0x03B6), FcTo0: uint8(0x7a)},
 66103  	{FcFrom: uint16(0x03B7), FcTo0: uint8(0x69)},
 66104  	{FcFrom: uint16(0x03B8), FcTo0: uint8(0x74), FcTo1: uint8(0x68)},
 66105  	{FcFrom: uint16(0x03B9), FcTo0: uint8(0x69)},
 66106  	{FcFrom: uint16(0x03BA), FcTo0: uint8(0x6b)},
 66107  	{FcFrom: uint16(0x03BB), FcTo0: uint8(0x6c)},
 66108  	{FcFrom: uint16(0x03BC), FcTo0: uint8(0x6d)},
 66109  	{FcFrom: uint16(0x03BD), FcTo0: uint8(0x6e)},
 66110  	{FcFrom: uint16(0x03BE), FcTo0: uint8(0x78)},
 66111  	{FcFrom: uint16(0x03BF), FcTo0: uint8(0x6f)},
 66112  	{FcFrom: uint16(0x03C0), FcTo0: uint8(0x70)},
 66113  	{FcFrom: uint16(0x03C1), FcTo0: uint8(0x72)},
 66114  	{FcFrom: uint16(0x03C3), FcTo0: uint8(0x73)},
 66115  	{FcFrom: uint16(0x03C4), FcTo0: uint8(0x74)},
 66116  	{FcFrom: uint16(0x03C5), FcTo0: uint8(0x79)},
 66117  	{FcFrom: uint16(0x03C6), FcTo0: uint8(0x66)},
 66118  	{FcFrom: uint16(0x03C7), FcTo0: uint8(0x63), FcTo1: uint8(0x68)},
 66119  	{FcFrom: uint16(0x03C8), FcTo0: uint8(0x70), FcTo1: uint8(0x73)},
 66120  	{FcFrom: uint16(0x03C9), FcTo0: uint8(0x6f)},
 66121  	{FcFrom: uint16(0x03CA), FcTo0: uint8(0x69)},
 66122  	{FcFrom: uint16(0x03CB), FcTo0: uint8(0x79)},
 66123  	{FcFrom: uint16(0x03CC), FcTo0: uint8(0x6f)},
 66124  	{FcFrom: uint16(0x03CD), FcTo0: uint8(0x79)},
 66125  	{FcFrom: uint16(0x03CE), FcTo0: uint8(0x69)},
 66126  	{FcFrom: uint16(0x0400), FcTo0: uint8(0x45)},
 66127  	{FcFrom: uint16(0x0401), FcTo0: uint8(0x45)},
 66128  	{FcFrom: uint16(0x0402), FcTo0: uint8(0x44)},
 66129  	{FcFrom: uint16(0x0403), FcTo0: uint8(0x47)},
 66130  	{FcFrom: uint16(0x0404), FcTo0: uint8(0x45)},
 66131  	{FcFrom: uint16(0x0405), FcTo0: uint8(0x5a)},
 66132  	{FcFrom: uint16(0x0406), FcTo0: uint8(0x49)},
 66133  	{FcFrom: uint16(0x0407), FcTo0: uint8(0x49)},
 66134  	{FcFrom: uint16(0x0408), FcTo0: uint8(0x4a)},
 66135  	{FcFrom: uint16(0x0409), FcTo0: uint8(0x49)},
 66136  	{FcFrom: uint16(0x040A), FcTo0: uint8(0x4e)},
 66137  	{FcFrom: uint16(0x040B), FcTo0: uint8(0x44)},
 66138  	{FcFrom: uint16(0x040C), FcTo0: uint8(0x4b)},
 66139  	{FcFrom: uint16(0x040D), FcTo0: uint8(0x49)},
 66140  	{FcFrom: uint16(0x040E), FcTo0: uint8(0x55)},
 66141  	{FcFrom: uint16(0x040F), FcTo0: uint8(0x44)},
 66142  	{FcFrom: uint16(0x0410), FcTo0: uint8(0x41)},
 66143  	{FcFrom: uint16(0x0411), FcTo0: uint8(0x42)},
 66144  	{FcFrom: uint16(0x0412), FcTo0: uint8(0x56)},
 66145  	{FcFrom: uint16(0x0413), FcTo0: uint8(0x47)},
 66146  	{FcFrom: uint16(0x0414), FcTo0: uint8(0x44)},
 66147  	{FcFrom: uint16(0x0415), FcTo0: uint8(0x45)},
 66148  	{FcFrom: uint16(0x0416), FcTo0: uint8(0x5a), FcTo1: uint8(0x68)},
 66149  	{FcFrom: uint16(0x0417), FcTo0: uint8(0x5a)},
 66150  	{FcFrom: uint16(0x0418), FcTo0: uint8(0x49)},
 66151  	{FcFrom: uint16(0x0419), FcTo0: uint8(0x49)},
 66152  	{FcFrom: uint16(0x041A), FcTo0: uint8(0x4b)},
 66153  	{FcFrom: uint16(0x041B), FcTo0: uint8(0x4c)},
 66154  	{FcFrom: uint16(0x041C), FcTo0: uint8(0x4d)},
 66155  	{FcFrom: uint16(0x041D), FcTo0: uint8(0x4e)},
 66156  	{FcFrom: uint16(0x041E), FcTo0: uint8(0x4f)},
 66157  	{FcFrom: uint16(0x041F), FcTo0: uint8(0x50)},
 66158  	{FcFrom: uint16(0x0420), FcTo0: uint8(0x52)},
 66159  	{FcFrom: uint16(0x0421), FcTo0: uint8(0x53)},
 66160  	{FcFrom: uint16(0x0422), FcTo0: uint8(0x54)},
 66161  	{FcFrom: uint16(0x0423), FcTo0: uint8(0x55)},
 66162  	{FcFrom: uint16(0x0424), FcTo0: uint8(0x46)},
 66163  	{FcFrom: uint16(0x0425), FcTo0: uint8(0x4b), FcTo1: uint8(0x68)},
 66164  	{FcFrom: uint16(0x0426), FcTo0: uint8(0x54), FcTo1: uint8(0x63)},
 66165  	{FcFrom: uint16(0x0427), FcTo0: uint8(0x43), FcTo1: uint8(0x68)},
 66166  	{FcFrom: uint16(0x0428), FcTo0: uint8(0x53), FcTo1: uint8(0x68)},
 66167  	{FcFrom: uint16(0x0429), FcTo0: uint8(0x53), FcTo1: uint8(0x68), FcTo2: uint8(0x63), FcTo3: uint8(0x68)},
 66168  	{FcFrom: uint16(0x042A), FcTo0: uint8(0x61)},
 66169  	{FcFrom: uint16(0x042B), FcTo0: uint8(0x59)},
 66170  	{FcFrom: uint16(0x042C), FcTo0: uint8(0x59)},
 66171  	{FcFrom: uint16(0x042D), FcTo0: uint8(0x45)},
 66172  	{FcFrom: uint16(0x042E), FcTo0: uint8(0x49), FcTo1: uint8(0x75)},
 66173  	{FcFrom: uint16(0x042F), FcTo0: uint8(0x49), FcTo1: uint8(0x61)},
 66174  	{FcFrom: uint16(0x0430), FcTo0: uint8(0x61)},
 66175  	{FcFrom: uint16(0x0431), FcTo0: uint8(0x62)},
 66176  	{FcFrom: uint16(0x0432), FcTo0: uint8(0x76)},
 66177  	{FcFrom: uint16(0x0433), FcTo0: uint8(0x67)},
 66178  	{FcFrom: uint16(0x0434), FcTo0: uint8(0x64)},
 66179  	{FcFrom: uint16(0x0435), FcTo0: uint8(0x65)},
 66180  	{FcFrom: uint16(0x0436), FcTo0: uint8(0x7a), FcTo1: uint8(0x68)},
 66181  	{FcFrom: uint16(0x0437), FcTo0: uint8(0x7a)},
 66182  	{FcFrom: uint16(0x0438), FcTo0: uint8(0x69)},
 66183  	{FcFrom: uint16(0x0439), FcTo0: uint8(0x69)},
 66184  	{FcFrom: uint16(0x043A), FcTo0: uint8(0x6b)},
 66185  	{FcFrom: uint16(0x043B), FcTo0: uint8(0x6c)},
 66186  	{FcFrom: uint16(0x043C), FcTo0: uint8(0x6d)},
 66187  	{FcFrom: uint16(0x043D), FcTo0: uint8(0x6e)},
 66188  	{FcFrom: uint16(0x043E), FcTo0: uint8(0x6f)},
 66189  	{FcFrom: uint16(0x043F), FcTo0: uint8(0x70)},
 66190  	{FcFrom: uint16(0x0440), FcTo0: uint8(0x72)},
 66191  	{FcFrom: uint16(0x0441), FcTo0: uint8(0x73)},
 66192  	{FcFrom: uint16(0x0442), FcTo0: uint8(0x74)},
 66193  	{FcFrom: uint16(0x0443), FcTo0: uint8(0x75)},
 66194  	{FcFrom: uint16(0x0444), FcTo0: uint8(0x66)},
 66195  	{FcFrom: uint16(0x0445), FcTo0: uint8(0x6b), FcTo1: uint8(0x68)},
 66196  	{FcFrom: uint16(0x0446), FcTo0: uint8(0x74), FcTo1: uint8(0x63)},
 66197  	{FcFrom: uint16(0x0447), FcTo0: uint8(0x63), FcTo1: uint8(0x68)},
 66198  	{FcFrom: uint16(0x0448), FcTo0: uint8(0x73), FcTo1: uint8(0x68)},
 66199  	{FcFrom: uint16(0x0449), FcTo0: uint8(0x73), FcTo1: uint8(0x68), FcTo2: uint8(0x63), FcTo3: uint8(0x68)},
 66200  	{FcFrom: uint16(0x044A), FcTo0: uint8(0x61)},
 66201  	{FcFrom: uint16(0x044B), FcTo0: uint8(0x79)},
 66202  	{FcFrom: uint16(0x044C), FcTo0: uint8(0x79)},
 66203  	{FcFrom: uint16(0x044D), FcTo0: uint8(0x65)},
 66204  	{FcFrom: uint16(0x044E), FcTo0: uint8(0x69), FcTo1: uint8(0x75)},
 66205  	{FcFrom: uint16(0x044F), FcTo0: uint8(0x69), FcTo1: uint8(0x61)},
 66206  	{FcFrom: uint16(0x0450), FcTo0: uint8(0x65)},
 66207  	{FcFrom: uint16(0x0451), FcTo0: uint8(0x65)},
 66208  	{FcFrom: uint16(0x0452), FcTo0: uint8(0x64)},
 66209  	{FcFrom: uint16(0x0453), FcTo0: uint8(0x67)},
 66210  	{FcFrom: uint16(0x0454), FcTo0: uint8(0x65)},
 66211  	{FcFrom: uint16(0x0455), FcTo0: uint8(0x7a)},
 66212  	{FcFrom: uint16(0x0456), FcTo0: uint8(0x69)},
 66213  	{FcFrom: uint16(0x0457), FcTo0: uint8(0x69)},
 66214  	{FcFrom: uint16(0x0458), FcTo0: uint8(0x6a)},
 66215  	{FcFrom: uint16(0x0459), FcTo0: uint8(0x69)},
 66216  	{FcFrom: uint16(0x045A), FcTo0: uint8(0x6e)},
 66217  	{FcFrom: uint16(0x045B), FcTo0: uint8(0x64)},
 66218  	{FcFrom: uint16(0x045C), FcTo0: uint8(0x6b)},
 66219  	{FcFrom: uint16(0x045D), FcTo0: uint8(0x69)},
 66220  	{FcFrom: uint16(0x045E), FcTo0: uint8(0x75)},
 66221  	{FcFrom: uint16(0x045F), FcTo0: uint8(0x64)},
 66222  	{FcFrom: uint16(0x1E02), FcTo0: uint8(0x42)},
 66223  	{FcFrom: uint16(0x1E03), FcTo0: uint8(0x62)},
 66224  	{FcFrom: uint16(0x1E0A), FcTo0: uint8(0x44)},
 66225  	{FcFrom: uint16(0x1E0B), FcTo0: uint8(0x64)},
 66226  	{FcFrom: uint16(0x1E1E), FcTo0: uint8(0x46)},
 66227  	{FcFrom: uint16(0x1E1F), FcTo0: uint8(0x66)},
 66228  	{FcFrom: uint16(0x1E40), FcTo0: uint8(0x4D)},
 66229  	{FcFrom: uint16(0x1E41), FcTo0: uint8(0x6D)},
 66230  	{FcFrom: uint16(0x1E56), FcTo0: uint8(0x50)},
 66231  	{FcFrom: uint16(0x1E57), FcTo0: uint8(0x70)},
 66232  	{FcFrom: uint16(0x1E60), FcTo0: uint8(0x53)},
 66233  	{FcFrom: uint16(0x1E61), FcTo0: uint8(0x73)},
 66234  	{FcFrom: uint16(0x1E6A), FcTo0: uint8(0x54)},
 66235  	{FcFrom: uint16(0x1E6B), FcTo0: uint8(0x74)},
 66236  	{FcFrom: uint16(0x1E80), FcTo0: uint8(0x57)},
 66237  	{FcFrom: uint16(0x1E81), FcTo0: uint8(0x77)},
 66238  	{FcFrom: uint16(0x1E82), FcTo0: uint8(0x57)},
 66239  	{FcFrom: uint16(0x1E83), FcTo0: uint8(0x77)},
 66240  	{FcFrom: uint16(0x1E84), FcTo0: uint8(0x57)},
 66241  	{FcFrom: uint16(0x1E85), FcTo0: uint8(0x77)},
 66242  	{FcFrom: uint16(0x1EF2), FcTo0: uint8(0x59)},
 66243  	{FcFrom: uint16(0x1EF3), FcTo0: uint8(0x79)},
 66244  	{FcFrom: uint16(0xFB00), FcTo0: uint8(0x66), FcTo1: uint8(0x66)},
 66245  	{FcFrom: uint16(0xFB01), FcTo0: uint8(0x66), FcTo1: uint8(0x69)},
 66246  	{FcFrom: uint16(0xFB02), FcTo0: uint8(0x66), FcTo1: uint8(0x6C)},
 66247  	{FcFrom: uint16(0xFB05), FcTo0: uint8(0x73), FcTo1: uint8(0x74)},
 66248  	{FcFrom: uint16(0xFB06), FcTo0: uint8(0x73), FcTo1: uint8(0x74)},
 66249  }
 66250  
 66251  func spellfixFindTranslit(tls *libc.TLS, c int32, pxTop uintptr) uintptr {
 66252  	*(*int32)(unsafe.Pointer(pxTop)) = int32(uint64(unsafe.Sizeof(translit))/uint64(unsafe.Sizeof(Transliteration{})) - uint64(1))
 66253  	return uintptr(unsafe.Pointer(&translit))
 66254  }
 66255  
 66256  func transliterate(tls *libc.TLS, zIn uintptr, nIn int32) uintptr {
 66257  	bp := tls.Alloc(8)
 66258  	defer tls.Free(8)
 66259  
 66260  	var zOut uintptr = sqlite3.Xsqlite3_malloc64(tls, uint64(nIn*4+1))
 66261  	var c int32
 66262  
 66263  	var nOut int32
 66264  	if zOut == uintptr(0) {
 66265  		return uintptr(0)
 66266  	}
 66267  	nOut = 0
 66268  	for nIn > 0 {
 66269  		c = utf8Read(tls, zIn, nIn, bp)
 66270  		zIn += uintptr(*(*int32)(unsafe.Pointer(bp)))
 66271  		nIn = nIn - *(*int32)(unsafe.Pointer(bp))
 66272  		if c <= 127 {
 66273  			*(*uint8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&nOut, 1)))) = uint8(c)
 66274  		} else {
 66275  			var xBtm int32
 66276  			var x int32
 66277  			var tbl uintptr = spellfixFindTranslit(tls, c, bp+4)
 66278  			xBtm = 0
 66279  			for *(*int32)(unsafe.Pointer(bp + 4)) >= xBtm {
 66280  				x = (*(*int32)(unsafe.Pointer(bp + 4)) + xBtm) / 2
 66281  				if int32((*Transliteration)(unsafe.Pointer(tbl+uintptr(x)*6)).FcFrom) == c {
 66282  					*(*uint8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&nOut, 1)))) = (*Transliteration)(unsafe.Pointer(tbl + uintptr(x)*6)).FcTo0
 66283  					if (*Transliteration)(unsafe.Pointer(tbl+uintptr(x)*6)).FcTo1 != 0 {
 66284  						*(*uint8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&nOut, 1)))) = (*Transliteration)(unsafe.Pointer(tbl + uintptr(x)*6)).FcTo1
 66285  						if (*Transliteration)(unsafe.Pointer(tbl+uintptr(x)*6)).FcTo2 != 0 {
 66286  							*(*uint8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&nOut, 1)))) = (*Transliteration)(unsafe.Pointer(tbl + uintptr(x)*6)).FcTo2
 66287  							if (*Transliteration)(unsafe.Pointer(tbl+uintptr(x)*6)).FcTo3 != 0 {
 66288  								*(*uint8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&nOut, 1)))) = (*Transliteration)(unsafe.Pointer(tbl + uintptr(x)*6)).FcTo3
 66289  							}
 66290  						}
 66291  					}
 66292  					c = 0
 66293  					break
 66294  				} else if int32((*Transliteration)(unsafe.Pointer(tbl+uintptr(x)*6)).FcFrom) > c {
 66295  					*(*int32)(unsafe.Pointer(bp + 4)) = x - 1
 66296  				} else {
 66297  					xBtm = x + 1
 66298  				}
 66299  			}
 66300  			if c != 0 {
 66301  				*(*uint8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&nOut, 1)))) = uint8('?')
 66302  			}
 66303  		}
 66304  	}
 66305  	*(*uint8)(unsafe.Pointer(zOut + uintptr(nOut))) = uint8(0)
 66306  	return zOut
 66307  }
 66308  
 66309  func translen_to_charlen(tls *libc.TLS, zIn uintptr, nIn int32, nTrans int32) int32 {
 66310  	bp := tls.Alloc(8)
 66311  	defer tls.Free(8)
 66312  
 66313  	var i int32
 66314  	var c int32
 66315  
 66316  	var nOut int32
 66317  	var nChar int32
 66318  
 66319  	i = libc.AssignInt32(&nOut, 0)
 66320  	for nChar = 0; i < nIn && nOut < nTrans; nChar++ {
 66321  		c = utf8Read(tls, zIn+uintptr(i), nIn-i, bp)
 66322  		i = i + *(*int32)(unsafe.Pointer(bp))
 66323  
 66324  		nOut++
 66325  		if c >= 128 {
 66326  			var xBtm int32
 66327  			var x int32
 66328  			var tbl uintptr = spellfixFindTranslit(tls, c, bp+4)
 66329  			xBtm = 0
 66330  			for *(*int32)(unsafe.Pointer(bp + 4)) >= xBtm {
 66331  				x = (*(*int32)(unsafe.Pointer(bp + 4)) + xBtm) / 2
 66332  				if int32((*Transliteration)(unsafe.Pointer(tbl+uintptr(x)*6)).FcFrom) == c {
 66333  					if (*Transliteration)(unsafe.Pointer(tbl+uintptr(x)*6)).FcTo1 != 0 {
 66334  						nOut++
 66335  						if (*Transliteration)(unsafe.Pointer(tbl+uintptr(x)*6)).FcTo2 != 0 {
 66336  							nOut++
 66337  							if (*Transliteration)(unsafe.Pointer(tbl+uintptr(x)*6)).FcTo3 != 0 {
 66338  								nOut++
 66339  							}
 66340  						}
 66341  					}
 66342  					break
 66343  				} else if int32((*Transliteration)(unsafe.Pointer(tbl+uintptr(x)*6)).FcFrom) > c {
 66344  					*(*int32)(unsafe.Pointer(bp + 4)) = x - 1
 66345  				} else {
 66346  					xBtm = x + 1
 66347  				}
 66348  			}
 66349  		}
 66350  	}
 66351  
 66352  	return nChar
 66353  }
 66354  
 66355  func transliterateSqlFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 66356  	var zIn uintptr = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv)))
 66357  	var nIn int32 = sqlite3.Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv)))
 66358  	var zOut uintptr = transliterate(tls, zIn, nIn)
 66359  	if zOut == uintptr(0) {
 66360  		sqlite3.Xsqlite3_result_error_nomem(tls, context)
 66361  	} else {
 66362  		sqlite3.Xsqlite3_result_text(tls, context, zOut, -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sqlite3.Xsqlite3_free})))
 66363  	}
 66364  }
 66365  
 66366  func scriptCodeSqlFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 66367  	bp := tls.Alloc(4)
 66368  	defer tls.Free(4)
 66369  
 66370  	var zIn uintptr = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv)))
 66371  	var nIn int32 = sqlite3.Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv)))
 66372  	var c int32
 66373  
 66374  	var scriptMask int32 = 0
 66375  	var res int32
 66376  	var seenDigit int32 = 0
 66377  
 66378  	for nIn > 0 {
 66379  		c = utf8Read(tls, zIn, nIn, bp)
 66380  		zIn += uintptr(*(*int32)(unsafe.Pointer(bp)))
 66381  		nIn = nIn - *(*int32)(unsafe.Pointer(bp))
 66382  		if c < 0x02af {
 66383  			if c >= 0x80 || int32(midClass[c&0x7f]) < CCLASS_DIGIT {
 66384  				scriptMask = scriptMask | SCRIPT_LATIN
 66385  			} else if c >= '0' && c <= '9' {
 66386  				seenDigit = 1
 66387  			}
 66388  		} else if c >= 0x0400 && c <= 0x04ff {
 66389  			scriptMask = scriptMask | SCRIPT_CYRILLIC
 66390  		} else if c >= 0x0386 && c <= 0x03ce {
 66391  			scriptMask = scriptMask | SCRIPT_GREEK
 66392  		} else if c >= 0x0590 && c <= 0x05ff {
 66393  			scriptMask = scriptMask | SCRIPT_HEBREW
 66394  		} else if c >= 0x0600 && c <= 0x06ff {
 66395  			scriptMask = scriptMask | SCRIPT_ARABIC
 66396  		}
 66397  	}
 66398  	if scriptMask == 0 && seenDigit != 0 {
 66399  		scriptMask = SCRIPT_LATIN
 66400  	}
 66401  	switch scriptMask {
 66402  	case 0:
 66403  		res = 999
 66404  		break
 66405  	case SCRIPT_LATIN:
 66406  		res = 215
 66407  		break
 66408  	case SCRIPT_CYRILLIC:
 66409  		res = 220
 66410  		break
 66411  	case SCRIPT_GREEK:
 66412  		res = 200
 66413  		break
 66414  	case SCRIPT_HEBREW:
 66415  		res = 125
 66416  		break
 66417  	case SCRIPT_ARABIC:
 66418  		res = 160
 66419  		break
 66420  	default:
 66421  		res = 998
 66422  		break
 66423  	}
 66424  	sqlite3.Xsqlite3_result_int(tls, context, res)
 66425  }
 66426  
 66427  type spellfix1_vtab1 = struct {
 66428  	Fbase       sqlite3_vtab
 66429  	Fdb         uintptr
 66430  	FzDbName    uintptr
 66431  	FzTableName uintptr
 66432  	FzCostTable uintptr
 66433  	FpConfig3   uintptr
 66434  }
 66435  
 66436  type spellfix1_vtab = spellfix1_vtab1
 66437  type spellfix1_cursor1 = struct {
 66438  	Fbase      sqlite3_vtab_cursor
 66439  	FpVTab     uintptr
 66440  	FzPattern  uintptr
 66441  	FidxNum    int32
 66442  	FnRow      int32
 66443  	FnAlloc    int32
 66444  	FiRow      int32
 66445  	FiLang     int32
 66446  	FiTop      int32
 66447  	FiScope    int32
 66448  	FnSearch   int32
 66449  	FpFullScan uintptr
 66450  	Fa         uintptr
 66451  }
 66452  
 66453  type spellfix1_cursor = spellfix1_cursor1
 66454  
 66455  type spellfix1_row = struct {
 66456  	FiRowid    sqlite3_int64
 66457  	FzWord     uintptr
 66458  	FiRank     int32
 66459  	FiDistance int32
 66460  	FiScore    int32
 66461  	FiMatchlen int32
 66462  	FzHash     [32]int8
 66463  }
 66464  
 66465  func spellfix1DbExec(tls *libc.TLS, pRc uintptr, db uintptr, zFormat uintptr, va uintptr) {
 66466  	var ap va_list
 66467  	_ = ap
 66468  	var zSql uintptr
 66469  	if *(*int32)(unsafe.Pointer(pRc)) != 0 {
 66470  		return
 66471  	}
 66472  	ap = va
 66473  	zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap)
 66474  	_ = ap
 66475  	if zSql == uintptr(0) {
 66476  		*(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM
 66477  	} else {
 66478  		*(*int32)(unsafe.Pointer(pRc)) = sqlite3.Xsqlite3_exec(tls, db, zSql, uintptr(0), uintptr(0), uintptr(0))
 66479  		sqlite3.Xsqlite3_free(tls, zSql)
 66480  	}
 66481  }
 66482  
 66483  func spellfix1Uninit(tls *libc.TLS, isDestroy int32, pVTab uintptr) int32 {
 66484  	bp := tls.Alloc(20)
 66485  	defer tls.Free(20)
 66486  
 66487  	var p uintptr = pVTab
 66488  	*(*int32)(unsafe.Pointer(bp + 16)) = SQLITE_OK
 66489  	if isDestroy != 0 {
 66490  		var db uintptr = (*spellfix1_vtab)(unsafe.Pointer(p)).Fdb
 66491  		spellfix1DbExec(tls, bp+16, db, ts+7189,
 66492  			libc.VaList(bp, (*spellfix1_vtab)(unsafe.Pointer(p)).FzDbName, (*spellfix1_vtab)(unsafe.Pointer(p)).FzTableName))
 66493  	}
 66494  	if *(*int32)(unsafe.Pointer(bp + 16)) == SQLITE_OK {
 66495  		sqlite3.Xsqlite3_free(tls, (*spellfix1_vtab)(unsafe.Pointer(p)).FzTableName)
 66496  		editDist3ConfigDelete(tls, (*spellfix1_vtab)(unsafe.Pointer(p)).FpConfig3)
 66497  		sqlite3.Xsqlite3_free(tls, (*spellfix1_vtab)(unsafe.Pointer(p)).FzCostTable)
 66498  		sqlite3.Xsqlite3_free(tls, p)
 66499  	}
 66500  	return *(*int32)(unsafe.Pointer(bp + 16))
 66501  }
 66502  
 66503  func spellfix1Disconnect(tls *libc.TLS, pVTab uintptr) int32 {
 66504  	return spellfix1Uninit(tls, 0, pVTab)
 66505  }
 66506  
 66507  func spellfix1Destroy(tls *libc.TLS, pVTab uintptr) int32 {
 66508  	return spellfix1Uninit(tls, 1, pVTab)
 66509  }
 66510  
 66511  func spellfix1Dequote(tls *libc.TLS, zIn uintptr) uintptr {
 66512  	bp := tls.Alloc(8)
 66513  	defer tls.Free(8)
 66514  
 66515  	var zOut uintptr
 66516  	var i int32
 66517  	var j int32
 66518  	var c int8
 66519  	for libc.Xisspace(tls, int32(uint8(*(*int8)(unsafe.Pointer(zIn))))) != 0 {
 66520  		zIn++
 66521  	}
 66522  	zOut = sqlite3.Xsqlite3_mprintf(tls, ts, libc.VaList(bp, zIn))
 66523  	if zOut == uintptr(0) {
 66524  		return uintptr(0)
 66525  	}
 66526  	i = int32(libc.Xstrlen(tls, zOut))
 66527  	*(*int8)(unsafe.Pointer(zOut + uintptr(i))) = int8(0)
 66528  	c = *(*int8)(unsafe.Pointer(zOut))
 66529  	if int32(c) == '\'' || int32(c) == '"' {
 66530  		i = 1
 66531  		j = 0
 66532  		for ; 1 != 0; i++ {
 66533  			*(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&j, 1)))) = *(*int8)(unsafe.Pointer(zOut + uintptr(i)))
 66534  			if int32(*(*int8)(unsafe.Pointer(zOut + uintptr(i)))) == int32(c) {
 66535  				if int32(*(*int8)(unsafe.Pointer(zOut + uintptr(i+1)))) == int32(c) {
 66536  					i++
 66537  				} else {
 66538  					*(*int8)(unsafe.Pointer(zOut + uintptr(j-1))) = int8(0)
 66539  					break
 66540  				}
 66541  			}
 66542  		}
 66543  	}
 66544  	return zOut
 66545  }
 66546  
 66547  func spellfix1Init(tls *libc.TLS, isCreate int32, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVTab uintptr, pzErr uintptr) int32 {
 66548  	bp := tls.Alloc(60)
 66549  	defer tls.Free(60)
 66550  
 66551  	var pNew uintptr = uintptr(0)
 66552  
 66553  	var zDbName uintptr = *(*uintptr)(unsafe.Pointer(argv + 1*8))
 66554  	var zTableName uintptr = *(*uintptr)(unsafe.Pointer(argv + 2*8))
 66555  	var nDbName int32
 66556  	*(*int32)(unsafe.Pointer(bp + 56)) = SQLITE_OK
 66557  	var i int32
 66558  
 66559  	nDbName = int32(libc.Xstrlen(tls, zDbName))
 66560  	pNew = sqlite3.Xsqlite3_malloc64(tls, uint64(unsafe.Sizeof(spellfix1_vtab{}))+uint64(nDbName)+uint64(1))
 66561  	if pNew == uintptr(0) {
 66562  		*(*int32)(unsafe.Pointer(bp + 56)) = SQLITE_NOMEM
 66563  	} else {
 66564  		libc.Xmemset(tls, pNew, 0, uint64(unsafe.Sizeof(spellfix1_vtab{})))
 66565  		(*spellfix1_vtab)(unsafe.Pointer(pNew)).FzDbName = pNew + 1*64
 66566  		libc.Xmemcpy(tls, (*spellfix1_vtab)(unsafe.Pointer(pNew)).FzDbName, zDbName, uint64(nDbName+1))
 66567  		(*spellfix1_vtab)(unsafe.Pointer(pNew)).FzTableName = sqlite3.Xsqlite3_mprintf(tls, ts, libc.VaList(bp, zTableName))
 66568  		(*spellfix1_vtab)(unsafe.Pointer(pNew)).Fdb = db
 66569  		if (*spellfix1_vtab)(unsafe.Pointer(pNew)).FzTableName == uintptr(0) {
 66570  			*(*int32)(unsafe.Pointer(bp + 56)) = SQLITE_NOMEM
 66571  		} else {
 66572  			sqlite3.Xsqlite3_vtab_config(tls, db, SQLITE_VTAB_INNOCUOUS, 0)
 66573  			*(*int32)(unsafe.Pointer(bp + 56)) = sqlite3.Xsqlite3_declare_vtab(tls, db,
 66574  				ts+7226)
 66575  		}
 66576  		if *(*int32)(unsafe.Pointer(bp + 56)) == SQLITE_OK && isCreate != 0 {
 66577  			spellfix1DbExec(tls, bp+56, db,
 66578  				ts+7380,
 66579  				libc.VaList(bp+8, zDbName, zTableName))
 66580  			spellfix1DbExec(tls, bp+56, db,
 66581  				ts+7514,
 66582  				libc.VaList(bp+24, zDbName, zTableName, zTableName))
 66583  		}
 66584  		for i = 3; *(*int32)(unsafe.Pointer(bp + 56)) == SQLITE_OK && i < argc; i++ {
 66585  			if libc.Xstrncmp(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), ts+7599, uint64(16)) == 0 && (*spellfix1_vtab)(unsafe.Pointer(pNew)).FzCostTable == uintptr(0) {
 66586  				(*spellfix1_vtab)(unsafe.Pointer(pNew)).FzCostTable = spellfix1Dequote(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))+16)
 66587  				if (*spellfix1_vtab)(unsafe.Pointer(pNew)).FzCostTable == uintptr(0) {
 66588  					*(*int32)(unsafe.Pointer(bp + 56)) = SQLITE_NOMEM
 66589  				}
 66590  				continue
 66591  			}
 66592  			*(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+7616, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
 66593  			*(*int32)(unsafe.Pointer(bp + 56)) = SQLITE_ERROR
 66594  		}
 66595  	}
 66596  
 66597  	if *(*int32)(unsafe.Pointer(bp + 56)) != 0 && pNew != 0 {
 66598  		*(*uintptr)(unsafe.Pointer(ppVTab)) = uintptr(0)
 66599  		spellfix1Uninit(tls, 0, pNew)
 66600  	} else {
 66601  		*(*uintptr)(unsafe.Pointer(ppVTab)) = pNew
 66602  	}
 66603  	return *(*int32)(unsafe.Pointer(bp + 56))
 66604  }
 66605  
 66606  func spellfix1Connect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVTab uintptr, pzErr uintptr) int32 {
 66607  	return spellfix1Init(tls, 0, db, pAux, argc, argv, ppVTab, pzErr)
 66608  }
 66609  
 66610  func spellfix1Create(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVTab uintptr, pzErr uintptr) int32 {
 66611  	return spellfix1Init(tls, 1, db, pAux, argc, argv, ppVTab, pzErr)
 66612  }
 66613  
 66614  func spellfix1ResetCursor(tls *libc.TLS, pCur uintptr) {
 66615  	var i int32
 66616  	for i = 0; i < (*spellfix1_cursor)(unsafe.Pointer(pCur)).FnRow; i++ {
 66617  		sqlite3.Xsqlite3_free(tls, (*spellfix1_row)(unsafe.Pointer((*spellfix1_cursor)(unsafe.Pointer(pCur)).Fa+uintptr(i)*64)).FzWord)
 66618  	}
 66619  	(*spellfix1_cursor)(unsafe.Pointer(pCur)).FnRow = 0
 66620  	(*spellfix1_cursor)(unsafe.Pointer(pCur)).FiRow = 0
 66621  	(*spellfix1_cursor)(unsafe.Pointer(pCur)).FnSearch = 0
 66622  	if (*spellfix1_cursor)(unsafe.Pointer(pCur)).FpFullScan != 0 {
 66623  		sqlite3.Xsqlite3_finalize(tls, (*spellfix1_cursor)(unsafe.Pointer(pCur)).FpFullScan)
 66624  		(*spellfix1_cursor)(unsafe.Pointer(pCur)).FpFullScan = uintptr(0)
 66625  	}
 66626  }
 66627  
 66628  func spellfix1ResizeCursor(tls *libc.TLS, pCur uintptr, N int32) {
 66629  	var aNew uintptr
 66630  
 66631  	aNew = sqlite3.Xsqlite3_realloc64(tls, (*spellfix1_cursor)(unsafe.Pointer(pCur)).Fa, uint64(unsafe.Sizeof(spellfix1_row{}))*uint64(N))
 66632  	if aNew == uintptr(0) && N > 0 {
 66633  		spellfix1ResetCursor(tls, pCur)
 66634  		sqlite3.Xsqlite3_free(tls, (*spellfix1_cursor)(unsafe.Pointer(pCur)).Fa)
 66635  		(*spellfix1_cursor)(unsafe.Pointer(pCur)).FnAlloc = 0
 66636  		(*spellfix1_cursor)(unsafe.Pointer(pCur)).Fa = uintptr(0)
 66637  	} else {
 66638  		(*spellfix1_cursor)(unsafe.Pointer(pCur)).FnAlloc = N
 66639  		(*spellfix1_cursor)(unsafe.Pointer(pCur)).Fa = aNew
 66640  	}
 66641  }
 66642  
 66643  func spellfix1Close(tls *libc.TLS, cur uintptr) int32 {
 66644  	var pCur uintptr = cur
 66645  	spellfix1ResetCursor(tls, pCur)
 66646  	spellfix1ResizeCursor(tls, pCur, 0)
 66647  	sqlite3.Xsqlite3_free(tls, (*spellfix1_cursor)(unsafe.Pointer(pCur)).FzPattern)
 66648  	sqlite3.Xsqlite3_free(tls, pCur)
 66649  	return SQLITE_OK
 66650  }
 66651  
 66652  func spellfix1BestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 {
 66653  	var iPlan int32 = 0
 66654  	var iLangTerm int32 = -1
 66655  	var iTopTerm int32 = -1
 66656  	var iScopeTerm int32 = -1
 66657  	var iDistTerm int32 = -1
 66658  	var iRowidTerm int32 = -1
 66659  	var i int32
 66660  	var pConstraint uintptr
 66661  	pConstraint = (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraint
 66662  	i = 0
 66663  __1:
 66664  	if !(i < (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint) {
 66665  		goto __3
 66666  	}
 66667  	{
 66668  		if int32((*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fusable) == 0 {
 66669  			goto __2
 66670  		}
 66671  
 66672  		if iPlan&SPELLFIX_IDXNUM_MATCH == 0 &&
 66673  			(*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn == SPELLFIX_COL_WORD &&
 66674  			int32((*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fop) == SQLITE_INDEX_CONSTRAINT_MATCH {
 66675  			iPlan = iPlan | SPELLFIX_IDXNUM_MATCH
 66676  			(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(i)*8)).FargvIndex = 1
 66677  			(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(i)*8)).Fomit = uint8(1)
 66678  		}
 66679  
 66680  		if iPlan&SPELLFIX_IDXNUM_LANGID == 0 &&
 66681  			(*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn == SPELLFIX_COL_LANGID &&
 66682  			int32((*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fop) == SQLITE_INDEX_CONSTRAINT_EQ {
 66683  			iPlan = iPlan | SPELLFIX_IDXNUM_LANGID
 66684  			iLangTerm = i
 66685  		}
 66686  
 66687  		if iPlan&SPELLFIX_IDXNUM_TOP == 0 &&
 66688  			(*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn == SPELLFIX_COL_TOP &&
 66689  			int32((*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fop) == SQLITE_INDEX_CONSTRAINT_EQ {
 66690  			iPlan = iPlan | SPELLFIX_IDXNUM_TOP
 66691  			iTopTerm = i
 66692  		}
 66693  
 66694  		if iPlan&SPELLFIX_IDXNUM_SCOPE == 0 &&
 66695  			(*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn == SPELLFIX_COL_SCOPE &&
 66696  			int32((*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fop) == SQLITE_INDEX_CONSTRAINT_EQ {
 66697  			iPlan = iPlan | SPELLFIX_IDXNUM_SCOPE
 66698  			iScopeTerm = i
 66699  		}
 66700  
 66701  		if iPlan&(0x10|0x20) == 0 &&
 66702  			(*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn == SPELLFIX_COL_DISTANCE &&
 66703  			(int32((*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fop) == SQLITE_INDEX_CONSTRAINT_LT ||
 66704  				int32((*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fop) == SQLITE_INDEX_CONSTRAINT_LE) {
 66705  			if int32((*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fop) == SQLITE_INDEX_CONSTRAINT_LT {
 66706  				iPlan = iPlan | SPELLFIX_IDXNUM_DISTLT
 66707  			} else {
 66708  				iPlan = iPlan | SPELLFIX_IDXNUM_DISTLE
 66709  			}
 66710  			iDistTerm = i
 66711  		}
 66712  
 66713  		if iPlan&SPELLFIX_IDXNUM_ROWID == 0 &&
 66714  			(*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn < 0 &&
 66715  			int32((*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fop) == SQLITE_INDEX_CONSTRAINT_EQ {
 66716  			iPlan = iPlan | SPELLFIX_IDXNUM_ROWID
 66717  			iRowidTerm = i
 66718  		}
 66719  
 66720  	}
 66721  	goto __2
 66722  __2:
 66723  	i++
 66724  	pConstraint += 12
 66725  	goto __1
 66726  	goto __3
 66727  __3:
 66728  	;
 66729  	if iPlan&SPELLFIX_IDXNUM_MATCH != 0 {
 66730  		var idx int32 = 2
 66731  		(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = iPlan
 66732  		if (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnOrderBy == 1 &&
 66733  			(*sqlite3_index_orderby)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaOrderBy)).FiColumn == SPELLFIX_COL_SCORE &&
 66734  			int32((*sqlite3_index_orderby)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaOrderBy)).Fdesc) == 0 {
 66735  			(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).ForderByConsumed = 1
 66736  		}
 66737  		if iPlan&SPELLFIX_IDXNUM_LANGID != 0 {
 66738  			(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iLangTerm)*8)).FargvIndex = libc.PostIncInt32(&idx, 1)
 66739  			(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iLangTerm)*8)).Fomit = uint8(1)
 66740  		}
 66741  		if iPlan&SPELLFIX_IDXNUM_TOP != 0 {
 66742  			(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iTopTerm)*8)).FargvIndex = libc.PostIncInt32(&idx, 1)
 66743  			(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iTopTerm)*8)).Fomit = uint8(1)
 66744  		}
 66745  		if iPlan&SPELLFIX_IDXNUM_SCOPE != 0 {
 66746  			(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iScopeTerm)*8)).FargvIndex = libc.PostIncInt32(&idx, 1)
 66747  			(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iScopeTerm)*8)).Fomit = uint8(1)
 66748  		}
 66749  		if iPlan&(0x10|0x20) != 0 {
 66750  			(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iDistTerm)*8)).FargvIndex = libc.PostIncInt32(&idx, 1)
 66751  			(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iDistTerm)*8)).Fomit = uint8(1)
 66752  		}
 66753  		(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 1e5
 66754  	} else if iPlan&SPELLFIX_IDXNUM_ROWID != 0 {
 66755  		(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = SPELLFIX_IDXNUM_ROWID
 66756  		(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iRowidTerm)*8)).FargvIndex = 1
 66757  		(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iRowidTerm)*8)).Fomit = uint8(1)
 66758  		(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = float64(5)
 66759  	} else {
 66760  		(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 0
 66761  		(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 1e50
 66762  	}
 66763  	return SQLITE_OK
 66764  }
 66765  
 66766  func spellfix1Open(tls *libc.TLS, pVTab uintptr, ppCursor uintptr) int32 {
 66767  	var p uintptr = pVTab
 66768  	var pCur uintptr
 66769  	pCur = sqlite3.Xsqlite3_malloc64(tls, uint64(unsafe.Sizeof(spellfix1_cursor{})))
 66770  	if pCur == uintptr(0) {
 66771  		return SQLITE_NOMEM
 66772  	}
 66773  	libc.Xmemset(tls, pCur, 0, uint64(unsafe.Sizeof(spellfix1_cursor{})))
 66774  	(*spellfix1_cursor)(unsafe.Pointer(pCur)).FpVTab = p
 66775  	*(*uintptr)(unsafe.Pointer(ppCursor)) = pCur
 66776  	return SQLITE_OK
 66777  }
 66778  
 66779  func spellfix1Score(tls *libc.TLS, iDistance int32, iRank int32) int32 {
 66780  	var iLog2 int32
 66781  	iLog2 = 0
 66782  __1:
 66783  	if !(iRank > 0) {
 66784  		goto __3
 66785  	}
 66786  	{
 66787  	}
 66788  	goto __2
 66789  __2:
 66790  	iLog2++
 66791  	iRank >>= 1
 66792  	goto __1
 66793  	goto __3
 66794  __3:
 66795  	;
 66796  	return iDistance + 32 - iLog2
 66797  }
 66798  
 66799  func spellfix1RowCompare(tls *libc.TLS, A uintptr, B uintptr) int32 {
 66800  	var a uintptr = A
 66801  	var b uintptr = B
 66802  	return (*spellfix1_row)(unsafe.Pointer(a)).FiScore - (*spellfix1_row)(unsafe.Pointer(b)).FiScore
 66803  }
 66804  
 66805  type MatchQuery1 = struct {
 66806  	FpCur        uintptr
 66807  	FpStmt       uintptr
 66808  	FzHash       [32]int8
 66809  	FzPattern    uintptr
 66810  	FnPattern    int32
 66811  	F__ccgo_pad1 [4]byte
 66812  	FpMatchStr3  uintptr
 66813  	FpConfig3    uintptr
 66814  	FpLang       uintptr
 66815  	FiLang       int32
 66816  	FiScope      int32
 66817  	FiMaxDist    int32
 66818  	Frc          int32
 66819  	FnRun        int32
 66820  	FazPrior     [1][32]int8
 66821  	F__ccgo_pad2 [4]byte
 66822  }
 66823  
 66824  type MatchQuery = MatchQuery1
 66825  
 66826  func spellfix1RunQuery(tls *libc.TLS, p uintptr, zQuery uintptr, nQuery int32) {
 66827  	bp := tls.Alloc(76)
 66828  	defer tls.Free(76)
 66829  
 66830  	var zK1 uintptr
 66831  	var zWord uintptr
 66832  	var iDist int32
 66833  	var iRank int32
 66834  	var iScore int32
 66835  	var iWorst int32 = 0
 66836  	var idx int32
 66837  	var idxWorst int32 = -1
 66838  	var i int32
 66839  	var iScope int32 = (*MatchQuery)(unsafe.Pointer(p)).FiScope
 66840  	var pCur uintptr = (*MatchQuery)(unsafe.Pointer(p)).FpCur
 66841  	var pStmt uintptr = (*MatchQuery)(unsafe.Pointer(p)).FpStmt
 66842  
 66843  	var zClass uintptr
 66844  	var nClass int32
 66845  	var rc int32
 66846  
 66847  	if (*spellfix1_cursor)(unsafe.Pointer(pCur)).Fa == uintptr(0) || (*MatchQuery)(unsafe.Pointer(p)).Frc != 0 {
 66848  		return
 66849  	}
 66850  	zClass = phoneticHash(tls, zQuery, nQuery)
 66851  	if zClass == uintptr(0) {
 66852  		(*MatchQuery)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM
 66853  		return
 66854  	}
 66855  	nClass = int32(libc.Xstrlen(tls, zClass))
 66856  	if nClass > SPELLFIX_MX_HASH-2 {
 66857  		nClass = SPELLFIX_MX_HASH - 2
 66858  		*(*int8)(unsafe.Pointer(zClass + uintptr(nClass))) = int8(0)
 66859  	}
 66860  	if nClass <= iScope {
 66861  		if nClass > 2 {
 66862  			iScope = nClass - 1
 66863  		} else {
 66864  			iScope = nClass
 66865  		}
 66866  	}
 66867  	libc.Xmemcpy(tls, bp+8, zClass, uint64(iScope))
 66868  	sqlite3.Xsqlite3_free(tls, zClass)
 66869  	*(*int8)(unsafe.Pointer(bp + 8 + uintptr(iScope))) = int8(0)
 66870  	libc.Xmemcpy(tls, bp+40, bp+8, uint64(iScope))
 66871  	*(*int8)(unsafe.Pointer(bp + 40 + uintptr(iScope))) = int8('Z')
 66872  	*(*int8)(unsafe.Pointer(bp + 40 + uintptr(iScope+1))) = int8(0)
 66873  
 66874  	libc.Xmemcpy(tls, p+108+uintptr(libc.PostIncInt32(&(*MatchQuery)(unsafe.Pointer(p)).FnRun, 1))*32, bp+8, uint64(iScope+1))
 66875  	if sqlite3.Xsqlite3_bind_text(tls, pStmt, 1, bp+8, -1, uintptr(0)) == SQLITE_NOMEM ||
 66876  		sqlite3.Xsqlite3_bind_text(tls, pStmt, 2, bp+40, -1, uintptr(0)) == SQLITE_NOMEM {
 66877  		(*MatchQuery)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM
 66878  		return
 66879  	}
 66880  	for sqlite3.Xsqlite3_step(tls, pStmt) == SQLITE_ROW {
 66881  		*(*int32)(unsafe.Pointer(bp + 72)) = -1
 66882  		iRank = sqlite3.Xsqlite3_column_int(tls, pStmt, 2)
 66883  		if (*MatchQuery)(unsafe.Pointer(p)).FpMatchStr3 != 0 {
 66884  			var nWord int32 = sqlite3.Xsqlite3_column_bytes(tls, pStmt, 1)
 66885  			zWord = sqlite3.Xsqlite3_column_text(tls, pStmt, 1)
 66886  			iDist = editDist3Core(tls, (*MatchQuery)(unsafe.Pointer(p)).FpMatchStr3, zWord, nWord, (*MatchQuery)(unsafe.Pointer(p)).FpLang, bp+72)
 66887  		} else {
 66888  			zK1 = sqlite3.Xsqlite3_column_text(tls, pStmt, 3)
 66889  			if zK1 == uintptr(0) {
 66890  				continue
 66891  			}
 66892  			iDist = editdist1(tls, (*MatchQuery)(unsafe.Pointer(p)).FzPattern, zK1, uintptr(0))
 66893  		}
 66894  		if iDist < 0 {
 66895  			(*MatchQuery)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM
 66896  			break
 66897  		}
 66898  		(*spellfix1_cursor)(unsafe.Pointer(pCur)).FnSearch++
 66899  
 66900  		if (*MatchQuery)(unsafe.Pointer(p)).FiMaxDist >= 0 {
 66901  			if iDist > (*MatchQuery)(unsafe.Pointer(p)).FiMaxDist {
 66902  				continue
 66903  			}
 66904  			if (*spellfix1_cursor)(unsafe.Pointer(pCur)).FnRow >= (*spellfix1_cursor)(unsafe.Pointer(pCur)).FnAlloc && (*spellfix1_cursor)(unsafe.Pointer(pCur)).FidxNum&SPELLFIX_IDXNUM_TOP == 0 {
 66905  				spellfix1ResizeCursor(tls, pCur, (*spellfix1_cursor)(unsafe.Pointer(pCur)).FnAlloc*2+10)
 66906  				if (*spellfix1_cursor)(unsafe.Pointer(pCur)).Fa == uintptr(0) {
 66907  					break
 66908  				}
 66909  			}
 66910  		}
 66911  
 66912  		iScore = spellfix1Score(tls, iDist, iRank)
 66913  		if (*spellfix1_cursor)(unsafe.Pointer(pCur)).FnRow < (*spellfix1_cursor)(unsafe.Pointer(pCur)).FnAlloc {
 66914  			idx = (*spellfix1_cursor)(unsafe.Pointer(pCur)).FnRow
 66915  		} else if iScore < iWorst {
 66916  			idx = idxWorst
 66917  			sqlite3.Xsqlite3_free(tls, (*spellfix1_row)(unsafe.Pointer((*spellfix1_cursor)(unsafe.Pointer(pCur)).Fa+uintptr(idx)*64)).FzWord)
 66918  		} else {
 66919  			continue
 66920  		}
 66921  
 66922  		(*spellfix1_row)(unsafe.Pointer((*spellfix1_cursor)(unsafe.Pointer(pCur)).Fa + uintptr(idx)*64)).FzWord = sqlite3.Xsqlite3_mprintf(tls, ts, libc.VaList(bp, sqlite3.Xsqlite3_column_text(tls, pStmt, 1)))
 66923  		if (*spellfix1_row)(unsafe.Pointer((*spellfix1_cursor)(unsafe.Pointer(pCur)).Fa+uintptr(idx)*64)).FzWord == uintptr(0) {
 66924  			(*MatchQuery)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM
 66925  			break
 66926  		}
 66927  		(*spellfix1_row)(unsafe.Pointer((*spellfix1_cursor)(unsafe.Pointer(pCur)).Fa + uintptr(idx)*64)).FiRowid = sqlite3.Xsqlite3_column_int64(tls, pStmt, 0)
 66928  		(*spellfix1_row)(unsafe.Pointer((*spellfix1_cursor)(unsafe.Pointer(pCur)).Fa + uintptr(idx)*64)).FiRank = iRank
 66929  		(*spellfix1_row)(unsafe.Pointer((*spellfix1_cursor)(unsafe.Pointer(pCur)).Fa + uintptr(idx)*64)).FiDistance = iDist
 66930  		(*spellfix1_row)(unsafe.Pointer((*spellfix1_cursor)(unsafe.Pointer(pCur)).Fa + uintptr(idx)*64)).FiScore = iScore
 66931  		(*spellfix1_row)(unsafe.Pointer((*spellfix1_cursor)(unsafe.Pointer(pCur)).Fa + uintptr(idx)*64)).FiMatchlen = *(*int32)(unsafe.Pointer(bp + 72))
 66932  		libc.Xmemcpy(tls, (*spellfix1_cursor)(unsafe.Pointer(pCur)).Fa+uintptr(idx)*64+32, bp+8, uint64(iScope+1))
 66933  		if (*spellfix1_cursor)(unsafe.Pointer(pCur)).FnRow < (*spellfix1_cursor)(unsafe.Pointer(pCur)).FnAlloc {
 66934  			(*spellfix1_cursor)(unsafe.Pointer(pCur)).FnRow++
 66935  		}
 66936  		if (*spellfix1_cursor)(unsafe.Pointer(pCur)).FnRow == (*spellfix1_cursor)(unsafe.Pointer(pCur)).FnAlloc {
 66937  			iWorst = (*spellfix1_row)(unsafe.Pointer((*spellfix1_cursor)(unsafe.Pointer(pCur)).Fa)).FiScore
 66938  			idxWorst = 0
 66939  			for i = 1; i < (*spellfix1_cursor)(unsafe.Pointer(pCur)).FnRow; i++ {
 66940  				iScore = (*spellfix1_row)(unsafe.Pointer((*spellfix1_cursor)(unsafe.Pointer(pCur)).Fa + uintptr(i)*64)).FiScore
 66941  				if iWorst < iScore {
 66942  					iWorst = iScore
 66943  					idxWorst = i
 66944  				}
 66945  			}
 66946  		}
 66947  	}
 66948  	rc = sqlite3.Xsqlite3_reset(tls, pStmt)
 66949  	if rc != 0 {
 66950  		(*MatchQuery)(unsafe.Pointer(p)).Frc = rc
 66951  	}
 66952  }
 66953  
 66954  func spellfix1FilterForMatch(tls *libc.TLS, pCur uintptr, argc int32, argv uintptr) int32 {
 66955  	bp := tls.Alloc(176)
 66956  	defer tls.Free(176)
 66957  
 66958  	var idxNum int32
 66959  	var zMatchThis uintptr
 66960  	var pMatchStr3 uintptr
 66961  	var zPattern uintptr
 66962  	var nPattern int32
 66963  	var iLimit int32
 66964  	var iScope int32
 66965  	var iLang int32
 66966  	var zSql uintptr
 66967  
 66968  	var rc int32
 66969  	var idx int32
 66970  	var p uintptr
 66971  
 66972  	idxNum = (*spellfix1_cursor)(unsafe.Pointer(pCur)).FidxNum
 66973  	pMatchStr3 = uintptr(0)
 66974  	iLimit = 20
 66975  	iScope = 3
 66976  	iLang = 0
 66977  	*(*uintptr)(unsafe.Pointer(bp + 168)) = uintptr(0)
 66978  	idx = 1
 66979  	p = (*spellfix1_cursor)(unsafe.Pointer(pCur)).FpVTab
 66980  
 66981  	if !((*spellfix1_vtab)(unsafe.Pointer(p)).FzCostTable != uintptr(0) && (*spellfix1_vtab)(unsafe.Pointer(p)).FpConfig3 == uintptr(0)) {
 66982  		goto __1
 66983  	}
 66984  	(*spellfix1_vtab)(unsafe.Pointer(p)).FpConfig3 = sqlite3.Xsqlite3_malloc64(tls, uint64(unsafe.Sizeof(EditDist3Config{})))
 66985  	if !((*spellfix1_vtab)(unsafe.Pointer(p)).FpConfig3 == uintptr(0)) {
 66986  		goto __2
 66987  	}
 66988  	return SQLITE_NOMEM
 66989  __2:
 66990  	;
 66991  	libc.Xmemset(tls, (*spellfix1_vtab)(unsafe.Pointer(p)).FpConfig3, 0, uint64(unsafe.Sizeof(EditDist3Config{})))
 66992  	rc = editDist3ConfigLoad(tls, (*spellfix1_vtab)(unsafe.Pointer(p)).FpConfig3, (*spellfix1_vtab)(unsafe.Pointer(p)).Fdb, (*spellfix1_vtab)(unsafe.Pointer(p)).FzCostTable)
 66993  	if !(rc != 0) {
 66994  		goto __3
 66995  	}
 66996  	return rc
 66997  __3:
 66998  	;
 66999  __1:
 67000  	;
 67001  	libc.Xmemset(tls, bp+24, 0, uint64(unsafe.Sizeof(MatchQuery{})))
 67002  	(*MatchQuery)(unsafe.Pointer(bp + 24)).FiScope = 3
 67003  	(*MatchQuery)(unsafe.Pointer(bp + 24)).FiMaxDist = -1
 67004  
 67005  	if !(idxNum&2 != 0) {
 67006  		goto __4
 67007  	}
 67008  	iLang = sqlite3.Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PostIncInt32(&idx, 1))*8)))
 67009  __4:
 67010  	;
 67011  	if !(idxNum&4 != 0) {
 67012  		goto __5
 67013  	}
 67014  	iLimit = sqlite3.Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PostIncInt32(&idx, 1))*8)))
 67015  	if !(iLimit < 1) {
 67016  		goto __6
 67017  	}
 67018  	iLimit = 1
 67019  __6:
 67020  	;
 67021  __5:
 67022  	;
 67023  	if !(idxNum&8 != 0) {
 67024  		goto __7
 67025  	}
 67026  	(*MatchQuery)(unsafe.Pointer(bp + 24)).FiScope = sqlite3.Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PostIncInt32(&idx, 1))*8)))
 67027  	if !((*MatchQuery)(unsafe.Pointer(bp+24)).FiScope < 1) {
 67028  		goto __8
 67029  	}
 67030  	(*MatchQuery)(unsafe.Pointer(bp + 24)).FiScope = 1
 67031  __8:
 67032  	;
 67033  	if !((*MatchQuery)(unsafe.Pointer(bp+24)).FiScope > SPELLFIX_MX_HASH-2) {
 67034  		goto __9
 67035  	}
 67036  	(*MatchQuery)(unsafe.Pointer(bp + 24)).FiScope = SPELLFIX_MX_HASH - 2
 67037  __9:
 67038  	;
 67039  __7:
 67040  	;
 67041  	if !(idxNum&(16|32) != 0) {
 67042  		goto __10
 67043  	}
 67044  	(*MatchQuery)(unsafe.Pointer(bp + 24)).FiMaxDist = sqlite3.Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PostIncInt32(&idx, 1))*8)))
 67045  	if !(idxNum&16 != 0) {
 67046  		goto __11
 67047  	}
 67048  	(*MatchQuery)(unsafe.Pointer(bp+24)).FiMaxDist--
 67049  __11:
 67050  	;
 67051  	if !((*MatchQuery)(unsafe.Pointer(bp+24)).FiMaxDist < 0) {
 67052  		goto __12
 67053  	}
 67054  	(*MatchQuery)(unsafe.Pointer(bp + 24)).FiMaxDist = 0
 67055  __12:
 67056  	;
 67057  __10:
 67058  	;
 67059  	spellfix1ResetCursor(tls, pCur)
 67060  	spellfix1ResizeCursor(tls, pCur, iLimit)
 67061  	zMatchThis = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv)))
 67062  	if !(zMatchThis == uintptr(0)) {
 67063  		goto __13
 67064  	}
 67065  	return SQLITE_OK
 67066  __13:
 67067  	;
 67068  	if !((*spellfix1_vtab)(unsafe.Pointer(p)).FpConfig3 != 0) {
 67069  		goto __14
 67070  	}
 67071  	(*MatchQuery)(unsafe.Pointer(bp + 24)).FpLang = editDist3FindLang(tls, (*spellfix1_vtab)(unsafe.Pointer(p)).FpConfig3, iLang)
 67072  	pMatchStr3 = editDist3FromStringNew(tls, (*MatchQuery)(unsafe.Pointer(bp+24)).FpLang, zMatchThis, -1)
 67073  	if !(pMatchStr3 == uintptr(0)) {
 67074  		goto __16
 67075  	}
 67076  	(*MatchQuery)(unsafe.Pointer(bp + 24)).Frc = SQLITE_NOMEM
 67077  	goto filter_exit
 67078  __16:
 67079  	;
 67080  	goto __15
 67081  __14:
 67082  	(*MatchQuery)(unsafe.Pointer(bp + 24)).FpLang = uintptr(0)
 67083  __15:
 67084  	;
 67085  	zPattern = transliterate(tls, zMatchThis, sqlite3.Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))))
 67086  	sqlite3.Xsqlite3_free(tls, (*spellfix1_cursor)(unsafe.Pointer(pCur)).FzPattern)
 67087  	(*spellfix1_cursor)(unsafe.Pointer(pCur)).FzPattern = zPattern
 67088  	if !(zPattern == uintptr(0)) {
 67089  		goto __17
 67090  	}
 67091  	(*MatchQuery)(unsafe.Pointer(bp + 24)).Frc = SQLITE_NOMEM
 67092  	goto filter_exit
 67093  __17:
 67094  	;
 67095  	nPattern = int32(libc.Xstrlen(tls, zPattern))
 67096  	if !(int32(*(*int8)(unsafe.Pointer(zPattern + uintptr(nPattern-1)))) == '*') {
 67097  		goto __18
 67098  	}
 67099  	nPattern--
 67100  __18:
 67101  	;
 67102  	zSql = sqlite3.Xsqlite3_mprintf(tls,
 67103  		ts+7650,
 67104  		libc.VaList(bp, (*spellfix1_vtab)(unsafe.Pointer(p)).FzDbName, (*spellfix1_vtab)(unsafe.Pointer(p)).FzTableName, iLang))
 67105  	if !(zSql == uintptr(0)) {
 67106  		goto __19
 67107  	}
 67108  	(*MatchQuery)(unsafe.Pointer(bp + 24)).Frc = SQLITE_NOMEM
 67109  	*(*uintptr)(unsafe.Pointer(bp + 168)) = uintptr(0)
 67110  	goto filter_exit
 67111  __19:
 67112  	;
 67113  	rc = sqlite3.Xsqlite3_prepare_v2(tls, (*spellfix1_vtab)(unsafe.Pointer(p)).Fdb, zSql, -1, bp+168, uintptr(0))
 67114  	sqlite3.Xsqlite3_free(tls, zSql)
 67115  	(*spellfix1_cursor)(unsafe.Pointer(pCur)).FiLang = iLang
 67116  	(*MatchQuery)(unsafe.Pointer(bp + 24)).FpCur = pCur
 67117  	(*MatchQuery)(unsafe.Pointer(bp + 24)).FpStmt = *(*uintptr)(unsafe.Pointer(bp + 168))
 67118  	(*MatchQuery)(unsafe.Pointer(bp + 24)).FzPattern = zPattern
 67119  	(*MatchQuery)(unsafe.Pointer(bp + 24)).FnPattern = nPattern
 67120  	(*MatchQuery)(unsafe.Pointer(bp + 24)).FpMatchStr3 = pMatchStr3
 67121  	(*MatchQuery)(unsafe.Pointer(bp + 24)).FiLang = iLang
 67122  	(*MatchQuery)(unsafe.Pointer(bp + 24)).Frc = rc
 67123  	(*MatchQuery)(unsafe.Pointer(bp + 24)).FpConfig3 = (*spellfix1_vtab)(unsafe.Pointer(p)).FpConfig3
 67124  	if !((*MatchQuery)(unsafe.Pointer(bp+24)).Frc == SQLITE_OK) {
 67125  		goto __20
 67126  	}
 67127  	spellfix1RunQuery(tls, bp+24, zPattern, nPattern)
 67128  __20:
 67129  	;
 67130  	if !((*spellfix1_cursor)(unsafe.Pointer(pCur)).Fa != 0) {
 67131  		goto __21
 67132  	}
 67133  	libc.Xqsort(tls, (*spellfix1_cursor)(unsafe.Pointer(pCur)).Fa, uint64((*spellfix1_cursor)(unsafe.Pointer(pCur)).FnRow), uint64(unsafe.Sizeof(spellfix1_row{})), *(*uintptr)(unsafe.Pointer(&struct {
 67134  		f func(*libc.TLS, uintptr, uintptr) int32
 67135  	}{spellfix1RowCompare})))
 67136  	(*spellfix1_cursor)(unsafe.Pointer(pCur)).FiTop = iLimit
 67137  	(*spellfix1_cursor)(unsafe.Pointer(pCur)).FiScope = iScope
 67138  	goto __22
 67139  __21:
 67140  	(*MatchQuery)(unsafe.Pointer(bp + 24)).Frc = SQLITE_NOMEM
 67141  __22:
 67142  	;
 67143  filter_exit:
 67144  	sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 168)))
 67145  	editDist3FromStringDelete(tls, pMatchStr3)
 67146  	return (*MatchQuery)(unsafe.Pointer(bp + 24)).Frc
 67147  }
 67148  
 67149  func spellfix1FilterForFullScan(tls *libc.TLS, pCur uintptr, argc int32, argv uintptr) int32 {
 67150  	bp := tls.Alloc(24)
 67151  	defer tls.Free(24)
 67152  
 67153  	var rc int32 = SQLITE_OK
 67154  	var idxNum int32 = (*spellfix1_cursor)(unsafe.Pointer(pCur)).FidxNum
 67155  	var zSql uintptr
 67156  	var pVTab uintptr = (*spellfix1_cursor)(unsafe.Pointer(pCur)).FpVTab
 67157  	spellfix1ResetCursor(tls, pCur)
 67158  
 67159  	zSql = sqlite3.Xsqlite3_mprintf(tls,
 67160  		ts+7750,
 67161  		libc.VaList(bp, (*spellfix1_vtab)(unsafe.Pointer(pVTab)).FzDbName, (*spellfix1_vtab)(unsafe.Pointer(pVTab)).FzTableName,
 67162  			func() uintptr {
 67163  				if idxNum&64 != 0 {
 67164  					return ts + 7809
 67165  				}
 67166  				return ts + 584
 67167  			}()))
 67168  	if zSql == uintptr(0) {
 67169  		return SQLITE_NOMEM
 67170  	}
 67171  	rc = sqlite3.Xsqlite3_prepare_v2(tls, (*spellfix1_vtab)(unsafe.Pointer(pVTab)).Fdb, zSql, -1, pCur+56, uintptr(0))
 67172  	sqlite3.Xsqlite3_free(tls, zSql)
 67173  	if rc == SQLITE_OK && idxNum&64 != 0 {
 67174  		rc = sqlite3.Xsqlite3_bind_value(tls, (*spellfix1_cursor)(unsafe.Pointer(pCur)).FpFullScan, 1, *(*uintptr)(unsafe.Pointer(argv)))
 67175  	}
 67176  	(*spellfix1_cursor)(unsafe.Pointer(pCur)).FnRow = libc.AssignPtrInt32(pCur+36, 0)
 67177  	if rc == SQLITE_OK {
 67178  		rc = sqlite3.Xsqlite3_step(tls, (*spellfix1_cursor)(unsafe.Pointer(pCur)).FpFullScan)
 67179  		if rc == SQLITE_ROW {
 67180  			(*spellfix1_cursor)(unsafe.Pointer(pCur)).FiRow = -1
 67181  			rc = SQLITE_OK
 67182  		}
 67183  		if rc == SQLITE_DONE {
 67184  			rc = SQLITE_OK
 67185  		}
 67186  	} else {
 67187  		(*spellfix1_cursor)(unsafe.Pointer(pCur)).FiRow = 0
 67188  	}
 67189  	return rc
 67190  }
 67191  
 67192  func spellfix1Filter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 {
 67193  	var pCur uintptr = cur
 67194  	var rc int32
 67195  	(*spellfix1_cursor)(unsafe.Pointer(pCur)).FidxNum = idxNum
 67196  	if idxNum&1 != 0 {
 67197  		rc = spellfix1FilterForMatch(tls, pCur, argc, argv)
 67198  	} else {
 67199  		rc = spellfix1FilterForFullScan(tls, pCur, argc, argv)
 67200  	}
 67201  	return rc
 67202  }
 67203  
 67204  func spellfix1Next(tls *libc.TLS, cur uintptr) int32 {
 67205  	var pCur uintptr = cur
 67206  	var rc int32 = SQLITE_OK
 67207  	if (*spellfix1_cursor)(unsafe.Pointer(pCur)).FiRow < (*spellfix1_cursor)(unsafe.Pointer(pCur)).FnRow {
 67208  		if (*spellfix1_cursor)(unsafe.Pointer(pCur)).FpFullScan != 0 {
 67209  			rc = sqlite3.Xsqlite3_step(tls, (*spellfix1_cursor)(unsafe.Pointer(pCur)).FpFullScan)
 67210  			if rc != SQLITE_ROW {
 67211  				(*spellfix1_cursor)(unsafe.Pointer(pCur)).FiRow = (*spellfix1_cursor)(unsafe.Pointer(pCur)).FnRow
 67212  			}
 67213  			if rc == SQLITE_ROW || rc == SQLITE_DONE {
 67214  				rc = SQLITE_OK
 67215  			}
 67216  		} else {
 67217  			(*spellfix1_cursor)(unsafe.Pointer(pCur)).FiRow++
 67218  		}
 67219  	}
 67220  	return rc
 67221  }
 67222  
 67223  func spellfix1Eof(tls *libc.TLS, cur uintptr) int32 {
 67224  	var pCur uintptr = cur
 67225  	return libc.Bool32((*spellfix1_cursor)(unsafe.Pointer(pCur)).FiRow >= (*spellfix1_cursor)(unsafe.Pointer(pCur)).FnRow)
 67226  }
 67227  
 67228  func spellfix1Column(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 {
 67229  	bp := tls.Alloc(4)
 67230  	defer tls.Free(4)
 67231  
 67232  	var pCur uintptr = cur
 67233  	if (*spellfix1_cursor)(unsafe.Pointer(pCur)).FpFullScan != 0 {
 67234  		if i <= SPELLFIX_COL_LANGID {
 67235  			sqlite3.Xsqlite3_result_value(tls, ctx, sqlite3.Xsqlite3_column_value(tls, (*spellfix1_cursor)(unsafe.Pointer(pCur)).FpFullScan, i))
 67236  		} else {
 67237  			sqlite3.Xsqlite3_result_null(tls, ctx)
 67238  		}
 67239  		return SQLITE_OK
 67240  	}
 67241  	switch i {
 67242  	case SPELLFIX_COL_WORD:
 67243  		{
 67244  			sqlite3.Xsqlite3_result_text(tls, ctx, (*spellfix1_row)(unsafe.Pointer((*spellfix1_cursor)(unsafe.Pointer(pCur)).Fa+uintptr((*spellfix1_cursor)(unsafe.Pointer(pCur)).FiRow)*64)).FzWord, -1, uintptr(0))
 67245  			break
 67246  
 67247  		}
 67248  	case SPELLFIX_COL_RANK:
 67249  		{
 67250  			sqlite3.Xsqlite3_result_int(tls, ctx, (*spellfix1_row)(unsafe.Pointer((*spellfix1_cursor)(unsafe.Pointer(pCur)).Fa+uintptr((*spellfix1_cursor)(unsafe.Pointer(pCur)).FiRow)*64)).FiRank)
 67251  			break
 67252  
 67253  		}
 67254  	case SPELLFIX_COL_DISTANCE:
 67255  		{
 67256  			sqlite3.Xsqlite3_result_int(tls, ctx, (*spellfix1_row)(unsafe.Pointer((*spellfix1_cursor)(unsafe.Pointer(pCur)).Fa+uintptr((*spellfix1_cursor)(unsafe.Pointer(pCur)).FiRow)*64)).FiDistance)
 67257  			break
 67258  
 67259  		}
 67260  	case SPELLFIX_COL_LANGID:
 67261  		{
 67262  			sqlite3.Xsqlite3_result_int(tls, ctx, (*spellfix1_cursor)(unsafe.Pointer(pCur)).FiLang)
 67263  			break
 67264  
 67265  		}
 67266  	case SPELLFIX_COL_SCORE:
 67267  		{
 67268  			sqlite3.Xsqlite3_result_int(tls, ctx, (*spellfix1_row)(unsafe.Pointer((*spellfix1_cursor)(unsafe.Pointer(pCur)).Fa+uintptr((*spellfix1_cursor)(unsafe.Pointer(pCur)).FiRow)*64)).FiScore)
 67269  			break
 67270  
 67271  		}
 67272  	case SPELLFIX_COL_MATCHLEN:
 67273  		{
 67274  			*(*int32)(unsafe.Pointer(bp)) = (*spellfix1_row)(unsafe.Pointer((*spellfix1_cursor)(unsafe.Pointer(pCur)).Fa + uintptr((*spellfix1_cursor)(unsafe.Pointer(pCur)).FiRow)*64)).FiMatchlen
 67275  			if *(*int32)(unsafe.Pointer(bp)) < 0 {
 67276  				var nPattern int32 = int32(libc.Xstrlen(tls, (*spellfix1_cursor)(unsafe.Pointer(pCur)).FzPattern))
 67277  				var zWord uintptr = (*spellfix1_row)(unsafe.Pointer((*spellfix1_cursor)(unsafe.Pointer(pCur)).Fa + uintptr((*spellfix1_cursor)(unsafe.Pointer(pCur)).FiRow)*64)).FzWord
 67278  				var nWord int32 = int32(libc.Xstrlen(tls, zWord))
 67279  
 67280  				if nPattern > 0 && int32(*(*int8)(unsafe.Pointer((*spellfix1_cursor)(unsafe.Pointer(pCur)).FzPattern + uintptr(nPattern-1)))) == '*' {
 67281  					var zTranslit uintptr
 67282  					var res int32
 67283  					zTranslit = transliterate(tls, zWord, nWord)
 67284  					if !(zTranslit != 0) {
 67285  						return SQLITE_NOMEM
 67286  					}
 67287  					res = editdist1(tls, (*spellfix1_cursor)(unsafe.Pointer(pCur)).FzPattern, zTranslit, bp)
 67288  					sqlite3.Xsqlite3_free(tls, zTranslit)
 67289  					if res < 0 {
 67290  						return SQLITE_NOMEM
 67291  					}
 67292  					*(*int32)(unsafe.Pointer(bp)) = translen_to_charlen(tls, zWord, nWord, *(*int32)(unsafe.Pointer(bp)))
 67293  				} else {
 67294  					*(*int32)(unsafe.Pointer(bp)) = utf8Charlen(tls, zWord, nWord)
 67295  				}
 67296  			}
 67297  
 67298  			sqlite3.Xsqlite3_result_int(tls, ctx, *(*int32)(unsafe.Pointer(bp)))
 67299  			break
 67300  
 67301  		}
 67302  	case SPELLFIX_COL_PHONEHASH:
 67303  		{
 67304  			sqlite3.Xsqlite3_result_text(tls, ctx, (*spellfix1_cursor)(unsafe.Pointer(pCur)).Fa+uintptr((*spellfix1_cursor)(unsafe.Pointer(pCur)).FiRow)*64+32, -1, uintptr(0))
 67305  			break
 67306  
 67307  		}
 67308  	case SPELLFIX_COL_TOP:
 67309  		{
 67310  			sqlite3.Xsqlite3_result_int(tls, ctx, (*spellfix1_cursor)(unsafe.Pointer(pCur)).FiTop)
 67311  			break
 67312  
 67313  		}
 67314  	case SPELLFIX_COL_SCOPE:
 67315  		{
 67316  			sqlite3.Xsqlite3_result_int(tls, ctx, (*spellfix1_cursor)(unsafe.Pointer(pCur)).FiScope)
 67317  			break
 67318  
 67319  		}
 67320  	case SPELLFIX_COL_SRCHCNT:
 67321  		{
 67322  			sqlite3.Xsqlite3_result_int(tls, ctx, (*spellfix1_cursor)(unsafe.Pointer(pCur)).FnSearch)
 67323  			break
 67324  
 67325  		}
 67326  	default:
 67327  		{
 67328  			sqlite3.Xsqlite3_result_null(tls, ctx)
 67329  			break
 67330  
 67331  		}
 67332  	}
 67333  	return SQLITE_OK
 67334  }
 67335  
 67336  func spellfix1Rowid(tls *libc.TLS, cur uintptr, pRowid uintptr) int32 {
 67337  	var pCur uintptr = cur
 67338  	if (*spellfix1_cursor)(unsafe.Pointer(pCur)).FpFullScan != 0 {
 67339  		*(*sqlite_int64)(unsafe.Pointer(pRowid)) = sqlite3.Xsqlite3_column_int64(tls, (*spellfix1_cursor)(unsafe.Pointer(pCur)).FpFullScan, 4)
 67340  	} else {
 67341  		*(*sqlite_int64)(unsafe.Pointer(pRowid)) = (*spellfix1_row)(unsafe.Pointer((*spellfix1_cursor)(unsafe.Pointer(pCur)).Fa + uintptr((*spellfix1_cursor)(unsafe.Pointer(pCur)).FiRow)*64)).FiRowid
 67342  	}
 67343  	return SQLITE_OK
 67344  }
 67345  
 67346  func spellfix1GetConflict(tls *libc.TLS, db uintptr) uintptr {
 67347  	var eConflict int32 = sqlite3.Xsqlite3_vtab_on_conflict(tls, db)
 67348  
 67349  	return azConflict[eConflict-1]
 67350  }
 67351  
 67352  var azConflict = [5]uintptr{
 67353  	ts + 7824, ts + 7833, ts + 7840, ts + 7840, ts + 7846,
 67354  }
 67355  
 67356  func spellfix1Update(tls *libc.TLS, pVTab uintptr, argc int32, argv uintptr, pRowid uintptr) int32 {
 67357  	bp := tls.Alloc(284)
 67358  	defer tls.Free(284)
 67359  
 67360  	*(*int32)(unsafe.Pointer(bp + 280)) = SQLITE_OK
 67361  	var rowid sqlite3_int64
 67362  	var newRowid sqlite3_int64
 67363  	var p uintptr = pVTab
 67364  	var db uintptr = (*spellfix1_vtab)(unsafe.Pointer(p)).Fdb
 67365  
 67366  	if argc == 1 {
 67367  		rowid = libc.AssignPtrInt64(pRowid, sqlite3.Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv))))
 67368  		spellfix1DbExec(tls, bp+280, db,
 67369  			ts+7854,
 67370  			libc.VaList(bp, (*spellfix1_vtab)(unsafe.Pointer(p)).FzDbName, (*spellfix1_vtab)(unsafe.Pointer(p)).FzTableName, rowid))
 67371  	} else {
 67372  		var zWord uintptr = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)))
 67373  		var nWord int32 = sqlite3.Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)))
 67374  		var iLang int32 = sqlite3.Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv + 5*8)))
 67375  		var iRank int32 = sqlite3.Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)))
 67376  		var zSoundslike uintptr = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 12*8)))
 67377  		var nSoundslike int32 = sqlite3.Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv + 12*8)))
 67378  		var zK1 uintptr
 67379  		var zK2 uintptr
 67380  		var i int32
 67381  		var c int8
 67382  		var zConflict uintptr = spellfix1GetConflict(tls, db)
 67383  
 67384  		if zWord == uintptr(0) {
 67385  			var zCmd uintptr = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 13*8)))
 67386  			if zCmd == uintptr(0) {
 67387  				(*sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+7897,
 67388  					libc.VaList(bp+24, (*spellfix1_vtab)(unsafe.Pointer(p)).FzTableName))
 67389  				return SQLITE_CONSTRAINT | int32(5)<<8
 67390  			}
 67391  			if libc.Xstrcmp(tls, zCmd, ts+7933) == 0 {
 67392  				editDist3ConfigDelete(tls, (*spellfix1_vtab)(unsafe.Pointer(p)).FpConfig3)
 67393  				(*spellfix1_vtab)(unsafe.Pointer(p)).FpConfig3 = uintptr(0)
 67394  				return SQLITE_OK
 67395  			}
 67396  			if libc.Xstrncmp(tls, zCmd, ts+7599, uint64(16)) == 0 {
 67397  				editDist3ConfigDelete(tls, (*spellfix1_vtab)(unsafe.Pointer(p)).FpConfig3)
 67398  				(*spellfix1_vtab)(unsafe.Pointer(p)).FpConfig3 = uintptr(0)
 67399  				sqlite3.Xsqlite3_free(tls, (*spellfix1_vtab)(unsafe.Pointer(p)).FzCostTable)
 67400  				(*spellfix1_vtab)(unsafe.Pointer(p)).FzCostTable = spellfix1Dequote(tls, zCmd+uintptr(16))
 67401  				if (*spellfix1_vtab)(unsafe.Pointer(p)).FzCostTable == uintptr(0) {
 67402  					return SQLITE_NOMEM
 67403  				}
 67404  				if int32(*(*int8)(unsafe.Pointer((*spellfix1_vtab)(unsafe.Pointer(p)).FzCostTable))) == 0 || sqlite3.Xsqlite3_stricmp(tls, (*spellfix1_vtab)(unsafe.Pointer(p)).FzCostTable, ts+7939) == 0 {
 67405  					sqlite3.Xsqlite3_free(tls, (*spellfix1_vtab)(unsafe.Pointer(p)).FzCostTable)
 67406  					(*spellfix1_vtab)(unsafe.Pointer(p)).FzCostTable = uintptr(0)
 67407  				}
 67408  				return SQLITE_OK
 67409  			}
 67410  			(*sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+7944,
 67411  				libc.VaList(bp+32, (*spellfix1_vtab)(unsafe.Pointer(p)).FzTableName, zCmd))
 67412  			return SQLITE_ERROR
 67413  		}
 67414  		if iRank < 1 {
 67415  			iRank = 1
 67416  		}
 67417  		if zSoundslike != 0 {
 67418  			zK1 = transliterate(tls, zSoundslike, nSoundslike)
 67419  		} else {
 67420  			zK1 = transliterate(tls, zWord, nWord)
 67421  		}
 67422  		if zK1 == uintptr(0) {
 67423  			return SQLITE_NOMEM
 67424  		}
 67425  		for i = 0; int32(libc.AssignInt8(&c, *(*int8)(unsafe.Pointer(zK1 + uintptr(i))))) != 0; i++ {
 67426  			if int32(c) >= 'A' && int32(c) <= 'Z' {
 67427  				*(*int8)(unsafe.Pointer(zK1 + uintptr(i))) += int8('a' - 'A')
 67428  			}
 67429  		}
 67430  		zK2 = phoneticHash(tls, zK1, i)
 67431  		if zK2 == uintptr(0) {
 67432  			sqlite3.Xsqlite3_free(tls, zK1)
 67433  			return SQLITE_NOMEM
 67434  		}
 67435  		if sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) == SQLITE_NULL {
 67436  			if sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == SQLITE_NULL {
 67437  				spellfix1DbExec(tls, bp+280, db,
 67438  					ts+7979,
 67439  					libc.VaList(bp+48, (*spellfix1_vtab)(unsafe.Pointer(p)).FzDbName, (*spellfix1_vtab)(unsafe.Pointer(p)).FzTableName,
 67440  						iRank, iLang, zWord, zK1, zWord, zK2))
 67441  			} else {
 67442  				newRowid = sqlite3.Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))
 67443  				spellfix1DbExec(tls, bp+280, db,
 67444  					ts+8065,
 67445  					libc.VaList(bp+112, zConflict, (*spellfix1_vtab)(unsafe.Pointer(p)).FzDbName, (*spellfix1_vtab)(unsafe.Pointer(p)).FzTableName,
 67446  						newRowid, iRank, iLang, zWord, zK1, zWord, zK2))
 67447  			}
 67448  			*(*sqlite_int64)(unsafe.Pointer(pRowid)) = sqlite3.Xsqlite3_last_insert_rowid(tls, db)
 67449  		} else {
 67450  			rowid = sqlite3.Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv)))
 67451  			newRowid = libc.AssignPtrInt64(pRowid, sqlite3.Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))))
 67452  			spellfix1DbExec(tls, bp+280, db,
 67453  				ts+8165,
 67454  				libc.VaList(bp+192, zConflict, (*spellfix1_vtab)(unsafe.Pointer(p)).FzDbName, (*spellfix1_vtab)(unsafe.Pointer(p)).FzTableName, newRowid, iRank, iLang,
 67455  					zWord, zK1, zWord, zK2, rowid))
 67456  		}
 67457  		sqlite3.Xsqlite3_free(tls, zK1)
 67458  		sqlite3.Xsqlite3_free(tls, zK2)
 67459  	}
 67460  	return *(*int32)(unsafe.Pointer(bp + 280))
 67461  }
 67462  
 67463  func spellfix1Rename(tls *libc.TLS, pVTab uintptr, zNew uintptr) int32 {
 67464  	bp := tls.Alloc(36)
 67465  	defer tls.Free(36)
 67466  
 67467  	var p uintptr = pVTab
 67468  	var db uintptr = (*spellfix1_vtab)(unsafe.Pointer(p)).Fdb
 67469  	*(*int32)(unsafe.Pointer(bp + 32)) = SQLITE_OK
 67470  	var zNewName uintptr = sqlite3.Xsqlite3_mprintf(tls, ts, libc.VaList(bp, zNew))
 67471  	if zNewName == uintptr(0) {
 67472  		return SQLITE_NOMEM
 67473  	}
 67474  	spellfix1DbExec(tls, bp+32, db,
 67475  		ts+8274,
 67476  		libc.VaList(bp+8, (*spellfix1_vtab)(unsafe.Pointer(p)).FzDbName, (*spellfix1_vtab)(unsafe.Pointer(p)).FzTableName, zNewName))
 67477  	if *(*int32)(unsafe.Pointer(bp + 32)) == SQLITE_OK {
 67478  		sqlite3.Xsqlite3_free(tls, (*spellfix1_vtab)(unsafe.Pointer(p)).FzTableName)
 67479  		(*spellfix1_vtab)(unsafe.Pointer(p)).FzTableName = zNewName
 67480  	} else {
 67481  		sqlite3.Xsqlite3_free(tls, zNewName)
 67482  	}
 67483  	return *(*int32)(unsafe.Pointer(bp + 32))
 67484  }
 67485  
 67486  var spellfix1Module = sqlite3_module{
 67487  	FxCreate:     0,
 67488  	FxConnect:    0,
 67489  	FxBestIndex:  0,
 67490  	FxDisconnect: 0,
 67491  	FxDestroy:    0,
 67492  	FxOpen:       0,
 67493  	FxClose:      0,
 67494  	FxFilter:     0,
 67495  	FxNext:       0,
 67496  	FxEof:        0,
 67497  	FxColumn:     0,
 67498  	FxRowid:      0,
 67499  	FxUpdate:     0,
 67500  	FxRename:     0,
 67501  }
 67502  
 67503  func spellfix1Register(tls *libc.TLS, db uintptr) int32 {
 67504  	var rc int32 = SQLITE_OK
 67505  	var i int32
 67506  	rc = sqlite3.Xsqlite3_create_function(tls, db, ts+8323, 1,
 67507  		SQLITE_UTF8|SQLITE_DETERMINISTIC, uintptr(0),
 67508  		*(*uintptr)(unsafe.Pointer(&struct {
 67509  			f func(*libc.TLS, uintptr, int32, uintptr)
 67510  		}{transliterateSqlFunc})), uintptr(0), uintptr(0))
 67511  	if rc == SQLITE_OK {
 67512  		rc = sqlite3.Xsqlite3_create_function(tls, db, ts+8342, 2,
 67513  			SQLITE_UTF8|SQLITE_DETERMINISTIC, uintptr(0),
 67514  			*(*uintptr)(unsafe.Pointer(&struct {
 67515  				f func(*libc.TLS, uintptr, int32, uintptr)
 67516  			}{editdistSqlFunc})), uintptr(0), uintptr(0))
 67517  	}
 67518  	if rc == SQLITE_OK {
 67519  		rc = sqlite3.Xsqlite3_create_function(tls, db, ts+8361, 1,
 67520  			SQLITE_UTF8|SQLITE_DETERMINISTIC, uintptr(0),
 67521  			*(*uintptr)(unsafe.Pointer(&struct {
 67522  				f func(*libc.TLS, uintptr, int32, uintptr)
 67523  			}{phoneticHashSqlFunc})), uintptr(0), uintptr(0))
 67524  	}
 67525  	if rc == SQLITE_OK {
 67526  		rc = sqlite3.Xsqlite3_create_function(tls, db, ts+8381, 1,
 67527  			SQLITE_UTF8|SQLITE_DETERMINISTIC, uintptr(0),
 67528  			*(*uintptr)(unsafe.Pointer(&struct {
 67529  				f func(*libc.TLS, uintptr, int32, uintptr)
 67530  			}{scriptCodeSqlFunc})), uintptr(0), uintptr(0))
 67531  	}
 67532  	if rc == SQLITE_OK {
 67533  		rc = sqlite3.Xsqlite3_create_module(tls, db, ts+8402, uintptr(unsafe.Pointer(&spellfix1Module)), uintptr(0))
 67534  	}
 67535  	if rc == SQLITE_OK {
 67536  		rc = editDist3Install(tls, db)
 67537  	}
 67538  
 67539  	for i = 0; uint64(i) < uint64(unsafe.Sizeof(translit))/uint64(unsafe.Sizeof(Transliteration{}))-uint64(1); i++ {
 67540  	}
 67541  
 67542  	return rc
 67543  }
 67544  
 67545  func sqlite3_spellfix_init(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi uintptr) int32 {
 67546  	_ = pApi
 67547  
 67548  	return spellfix1Register(tls, db)
 67549  	return SQLITE_OK
 67550  }
 67551  
 67552  func totypeIsspace(tls *libc.TLS, c uint8) int32 {
 67553  	return libc.Bool32(int32(c) == ' ' || int32(c) == '\t' || int32(c) == '\n' || int32(c) == '\v' || int32(c) == '\f' || int32(c) == '\r')
 67554  }
 67555  
 67556  func totypeIsdigit(tls *libc.TLS, c uint8) int32 {
 67557  	return libc.Bool32(int32(c) >= '0' && int32(c) <= '9')
 67558  }
 67559  
 67560  func totypeCompare2pow63(tls *libc.TLS, zNum uintptr) int32 {
 67561  	var c int32 = 0
 67562  	var i int32
 67563  
 67564  	var pow63 uintptr = ts + 8412
 67565  	for i = 0; c == 0 && i < 18; i++ {
 67566  		c = (int32(*(*int8)(unsafe.Pointer(zNum + uintptr(i)))) - int32(*(*int8)(unsafe.Pointer(pow63 + uintptr(i))))) * 10
 67567  	}
 67568  	if c == 0 {
 67569  		c = int32(*(*int8)(unsafe.Pointer(zNum + 18))) - '8'
 67570  	}
 67571  	return c
 67572  }
 67573  
 67574  func totypeAtoi64(tls *libc.TLS, zNum uintptr, pNum uintptr, length int32) int32 {
 67575  	var u sqlite3_uint64 = uint64(0)
 67576  	var neg int32 = 0
 67577  	var i int32
 67578  	var c int32 = 0
 67579  	var nonNum int32 = 0
 67580  	var zStart uintptr
 67581  	var zEnd uintptr = zNum + uintptr(length)
 67582  
 67583  	for zNum < zEnd && totypeIsspace(tls, uint8(*(*int8)(unsafe.Pointer(zNum)))) != 0 {
 67584  		zNum++
 67585  	}
 67586  	if zNum < zEnd {
 67587  		if int32(*(*int8)(unsafe.Pointer(zNum))) == '-' {
 67588  			neg = 1
 67589  			zNum++
 67590  		} else if int32(*(*int8)(unsafe.Pointer(zNum))) == '+' {
 67591  			zNum++
 67592  		}
 67593  	}
 67594  	zStart = zNum
 67595  	for zNum < zEnd && int32(*(*int8)(unsafe.Pointer(zNum))) == '0' {
 67596  		zNum++
 67597  	}
 67598  	for i = 0; zNum+uintptr(i) < zEnd && libc.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(zNum + uintptr(i))))) >= '0' && c <= '9'; i++ {
 67599  		u = u*uint64(10) + sqlite3_uint64(c) - uint64('0')
 67600  	}
 67601  	if u > uint64(int64(0xffffffff)|int64(0x7fffffff)<<32) {
 67602  		*(*sqlite3_int64)(unsafe.Pointer(pNum)) = int64(-1) - (int64(0xffffffff) | int64(0x7fffffff)<<32)
 67603  	} else if neg != 0 {
 67604  		*(*sqlite3_int64)(unsafe.Pointer(pNum)) = -sqlite3_int64(u)
 67605  	} else {
 67606  		*(*sqlite3_int64)(unsafe.Pointer(pNum)) = sqlite3_int64(u)
 67607  	}
 67608  	if c != 0 && zNum+uintptr(i) < zEnd || i == 0 && zStart == zNum || i > 19 || nonNum != 0 {
 67609  		return 1
 67610  	} else if i < 19 {
 67611  		return 0
 67612  	} else {
 67613  		c = totypeCompare2pow63(tls, zNum)
 67614  		if c < 0 {
 67615  			return 0
 67616  		} else if c > 0 {
 67617  			return 1
 67618  		} else {
 67619  			if neg != 0 {
 67620  				return 0
 67621  			}
 67622  			return 2
 67623  		}
 67624  	}
 67625  	return int32(0)
 67626  }
 67627  
 67628  func totypeAtoF(tls *libc.TLS, z uintptr, pResult uintptr, length int32) int32 {
 67629  	var zEnd uintptr
 67630  
 67631  	var sign int32
 67632  	var s sqlite3_int64
 67633  	var d int32
 67634  	var esign int32
 67635  	var e int32
 67636  	var eValid int32
 67637  	var result float64
 67638  	var nDigits int32
 67639  	var nonNum int32
 67640  	var scale float64
 67641  	zEnd = z + uintptr(length)
 67642  	sign = 1
 67643  	s = int64(0)
 67644  	d = 0
 67645  	esign = 1
 67646  	e = 0
 67647  	eValid = 1
 67648  	nDigits = 0
 67649  	nonNum = 0
 67650  
 67651  	*(*float64)(unsafe.Pointer(pResult)) = 0.0
 67652  
 67653  __1:
 67654  	if !(z < zEnd && totypeIsspace(tls, uint8(*(*int8)(unsafe.Pointer(z)))) != 0) {
 67655  		goto __2
 67656  	}
 67657  	z++
 67658  	goto __1
 67659  __2:
 67660  	;
 67661  	if !(z >= zEnd) {
 67662  		goto __3
 67663  	}
 67664  	return 0
 67665  __3:
 67666  	;
 67667  	if !(int32(*(*int8)(unsafe.Pointer(z))) == '-') {
 67668  		goto __4
 67669  	}
 67670  	sign = -1
 67671  	z++
 67672  	goto __5
 67673  __4:
 67674  	if !(int32(*(*int8)(unsafe.Pointer(z))) == '+') {
 67675  		goto __6
 67676  	}
 67677  	z++
 67678  __6:
 67679  	;
 67680  __5:
 67681  	;
 67682  __7:
 67683  	if !(z < zEnd && int32(*(*int8)(unsafe.Pointer(z))) == '0') {
 67684  		goto __8
 67685  	}
 67686  	z++
 67687  	nDigits++
 67688  	goto __7
 67689  __8:
 67690  	;
 67691  __9:
 67692  	if !(z < zEnd && totypeIsdigit(tls, uint8(*(*int8)(unsafe.Pointer(z)))) != 0 && s < (int64(0xffffffff)|int64(0x7fffffff)<<32-int64(9))/int64(10)) {
 67693  		goto __10
 67694  	}
 67695  	s = s*int64(10) + sqlite3_int64(int32(*(*int8)(unsafe.Pointer(z)))-'0')
 67696  	z++
 67697  	nDigits++
 67698  	goto __9
 67699  __10:
 67700  	;
 67701  __11:
 67702  	if !(z < zEnd && totypeIsdigit(tls, uint8(*(*int8)(unsafe.Pointer(z)))) != 0) {
 67703  		goto __12
 67704  	}
 67705  	z++
 67706  	nDigits++
 67707  	d++
 67708  	goto __11
 67709  __12:
 67710  	;
 67711  	if !(z >= zEnd) {
 67712  		goto __13
 67713  	}
 67714  	goto totype_atof_calc
 67715  __13:
 67716  	;
 67717  	if !(int32(*(*int8)(unsafe.Pointer(z))) == '.') {
 67718  		goto __14
 67719  	}
 67720  	z++
 67721  
 67722  __15:
 67723  	if !(z < zEnd && totypeIsdigit(tls, uint8(*(*int8)(unsafe.Pointer(z)))) != 0 && s < (int64(0xffffffff)|int64(0x7fffffff)<<32-int64(9))/int64(10)) {
 67724  		goto __16
 67725  	}
 67726  	s = s*int64(10) + sqlite3_int64(int32(*(*int8)(unsafe.Pointer(z)))-'0')
 67727  	z++
 67728  	nDigits++
 67729  	d--
 67730  	goto __15
 67731  __16:
 67732  	;
 67733  __17:
 67734  	if !(z < zEnd && totypeIsdigit(tls, uint8(*(*int8)(unsafe.Pointer(z)))) != 0) {
 67735  		goto __18
 67736  	}
 67737  	z++
 67738  	nDigits++
 67739  	goto __17
 67740  __18:
 67741  	;
 67742  __14:
 67743  	;
 67744  	if !(z >= zEnd) {
 67745  		goto __19
 67746  	}
 67747  	goto totype_atof_calc
 67748  __19:
 67749  	;
 67750  	if !(int32(*(*int8)(unsafe.Pointer(z))) == 'e' || int32(*(*int8)(unsafe.Pointer(z))) == 'E') {
 67751  		goto __20
 67752  	}
 67753  	z++
 67754  	eValid = 0
 67755  	if !(z >= zEnd) {
 67756  		goto __21
 67757  	}
 67758  	goto totype_atof_calc
 67759  __21:
 67760  	;
 67761  	if !(int32(*(*int8)(unsafe.Pointer(z))) == '-') {
 67762  		goto __22
 67763  	}
 67764  	esign = -1
 67765  	z++
 67766  	goto __23
 67767  __22:
 67768  	if !(int32(*(*int8)(unsafe.Pointer(z))) == '+') {
 67769  		goto __24
 67770  	}
 67771  	z++
 67772  __24:
 67773  	;
 67774  __23:
 67775  	;
 67776  __25:
 67777  	if !(z < zEnd && totypeIsdigit(tls, uint8(*(*int8)(unsafe.Pointer(z)))) != 0) {
 67778  		goto __26
 67779  	}
 67780  	if e < 10000 {
 67781  		e = e*10 + (int32(*(*int8)(unsafe.Pointer(z))) - '0')
 67782  	} else {
 67783  		e = 10000
 67784  	}
 67785  	z++
 67786  	eValid = 1
 67787  	goto __25
 67788  __26:
 67789  	;
 67790  __20:
 67791  	;
 67792  	if !(nDigits != 0 && eValid != 0) {
 67793  		goto __27
 67794  	}
 67795  __28:
 67796  	if !(z < zEnd && totypeIsspace(tls, uint8(*(*int8)(unsafe.Pointer(z)))) != 0) {
 67797  		goto __29
 67798  	}
 67799  	z++
 67800  	goto __28
 67801  __29:
 67802  	;
 67803  __27:
 67804  	;
 67805  totype_atof_calc:
 67806  	e = e*esign + d
 67807  	if !(e < 0) {
 67808  		goto __30
 67809  	}
 67810  	esign = -1
 67811  	e = e * -1
 67812  	goto __31
 67813  __30:
 67814  	esign = 1
 67815  __31:
 67816  	;
 67817  	if !!(s != 0) {
 67818  		goto __32
 67819  	}
 67820  
 67821  	if sign < 0 && nDigits != 0 {
 67822  		result = -libc.Float64FromFloat64(float64(0))
 67823  	} else {
 67824  		result = float64(0)
 67825  	}
 67826  	goto __33
 67827  __32:
 67828  	if !(esign > 0) {
 67829  		goto __34
 67830  	}
 67831  __36:
 67832  	if !(s < (int64(0xffffffff)|int64(0x7fffffff)<<32)/int64(10) && e > 0) {
 67833  		goto __37
 67834  	}
 67835  	e--
 67836  	s = s * int64(10)
 67837  	goto __36
 67838  __37:
 67839  	;
 67840  	goto __35
 67841  __34:
 67842  __38:
 67843  	if !(!(int32(s%int64(10)) != 0) && e > 0) {
 67844  		goto __39
 67845  	}
 67846  	e--
 67847  	s = s / int64(10)
 67848  	goto __38
 67849  __39:
 67850  	;
 67851  __35:
 67852  	;
 67853  	if sign < 0 {
 67854  		s = -s
 67855  	} else {
 67856  		s = s
 67857  	}
 67858  
 67859  	if !(e != 0) {
 67860  		goto __40
 67861  	}
 67862  	scale = 1.0
 67863  
 67864  	if !(e > 307 && e < 342) {
 67865  		goto __42
 67866  	}
 67867  __44:
 67868  	if !(e%308 != 0) {
 67869  		goto __45
 67870  	}
 67871  	scale = scale * 1.0e+1
 67872  	e = e - 1
 67873  	goto __44
 67874  __45:
 67875  	;
 67876  	if !(esign < 0) {
 67877  		goto __46
 67878  	}
 67879  	result = float64(s) / scale
 67880  	result = result / 1.0e+308
 67881  	goto __47
 67882  __46:
 67883  	result = float64(s) * scale
 67884  	result = result * 1.0e+308
 67885  __47:
 67886  	;
 67887  	goto __43
 67888  __42:
 67889  	if !(e >= 342) {
 67890  		goto __48
 67891  	}
 67892  	if !(esign < 0) {
 67893  		goto __50
 67894  	}
 67895  	result = 0.0 * float64(s)
 67896  	goto __51
 67897  __50:
 67898  	result = libc.Float64(1e308) * libc.Float64(1e308) * float64(s)
 67899  __51:
 67900  	;
 67901  	goto __49
 67902  __48:
 67903  __52:
 67904  	if !(e%22 != 0) {
 67905  		goto __53
 67906  	}
 67907  	scale = scale * 1.0e+1
 67908  	e = e - 1
 67909  	goto __52
 67910  __53:
 67911  	;
 67912  __54:
 67913  	if !(e > 0) {
 67914  		goto __55
 67915  	}
 67916  	scale = scale * 1.0e+22
 67917  	e = e - 22
 67918  	goto __54
 67919  __55:
 67920  	;
 67921  	if !(esign < 0) {
 67922  		goto __56
 67923  	}
 67924  	result = float64(s) / scale
 67925  	goto __57
 67926  __56:
 67927  	result = float64(s) * scale
 67928  __57:
 67929  	;
 67930  __49:
 67931  	;
 67932  __43:
 67933  	;
 67934  	goto __41
 67935  __40:
 67936  	result = float64(s)
 67937  __41:
 67938  	;
 67939  __33:
 67940  	;
 67941  	*(*float64)(unsafe.Pointer(pResult)) = result
 67942  
 67943  	return libc.Bool32(z >= zEnd && nDigits > 0 && eValid != 0 && nonNum == 0)
 67944  }
 67945  
 67946  func tointegerFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 67947  	bp := tls.Alloc(24)
 67948  	defer tls.Free(24)
 67949  
 67950  	_ = argc
 67951  	switch sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) {
 67952  	case SQLITE_FLOAT:
 67953  		{
 67954  			var rVal float64 = sqlite3.Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv)))
 67955  			var iVal sqlite3_int64 = sqlite3_int64(rVal)
 67956  			if rVal == float64(iVal) {
 67957  				sqlite3.Xsqlite3_result_int64(tls, context, iVal)
 67958  			}
 67959  			break
 67960  
 67961  		}
 67962  	case SQLITE_INTEGER:
 67963  		{
 67964  			sqlite3.Xsqlite3_result_int64(tls, context, sqlite3.Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv))))
 67965  			break
 67966  
 67967  		}
 67968  	case SQLITE_BLOB:
 67969  		{
 67970  			var zBlob uintptr = sqlite3.Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(argv)))
 67971  			if zBlob != 0 {
 67972  				var nBlob int32 = sqlite3.Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv)))
 67973  				if uint64(nBlob) == uint64(unsafe.Sizeof(sqlite3_int64(0))) {
 67974  					if 0 != 0 {
 67975  						var i int32
 67976  
 67977  						for i = 0; uint64(i) < uint64(unsafe.Sizeof(sqlite3_int64(0))); i++ {
 67978  							*(*uint8)(unsafe.Pointer(bp + uintptr(i))) = *(*uint8)(unsafe.Pointer(zBlob + uintptr(uint64(unsafe.Sizeof(sqlite3_int64(0)))-uint64(1)-uint64(i))))
 67979  						}
 67980  						libc.Xmemcpy(tls, bp+8, bp, uint64(unsafe.Sizeof(sqlite3_int64(0))))
 67981  					} else {
 67982  						libc.Xmemcpy(tls, bp+8, zBlob, uint64(unsafe.Sizeof(sqlite3_int64(0))))
 67983  					}
 67984  					sqlite3.Xsqlite3_result_int64(tls, context, *(*sqlite3_int64)(unsafe.Pointer(bp + 8)))
 67985  				}
 67986  			}
 67987  			break
 67988  
 67989  		}
 67990  	case SQLITE_TEXT:
 67991  		{
 67992  			var zStr uintptr = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv)))
 67993  			if zStr != 0 {
 67994  				var nStr int32 = sqlite3.Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv)))
 67995  				if nStr != 0 && !(totypeIsspace(tls, *(*uint8)(unsafe.Pointer(zStr))) != 0) {
 67996  					if !(totypeAtoi64(tls, zStr, bp+16, nStr) != 0) {
 67997  						sqlite3.Xsqlite3_result_int64(tls, context, *(*sqlite3_int64)(unsafe.Pointer(bp + 16)))
 67998  					}
 67999  				}
 68000  			}
 68001  			break
 68002  
 68003  		}
 68004  	default:
 68005  		{
 68006  			break
 68007  
 68008  		}
 68009  	}
 68010  }
 68011  
 68012  func torealFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 68013  	bp := tls.Alloc(24)
 68014  	defer tls.Free(24)
 68015  
 68016  	_ = argc
 68017  	switch sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) {
 68018  	case SQLITE_FLOAT:
 68019  		{
 68020  			sqlite3.Xsqlite3_result_double(tls, context, sqlite3.Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv))))
 68021  			break
 68022  
 68023  		}
 68024  	case SQLITE_INTEGER:
 68025  		{
 68026  			var iVal sqlite3_int64 = sqlite3.Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv)))
 68027  			var rVal float64 = float64(iVal)
 68028  			if iVal == sqlite3_int64(rVal) {
 68029  				sqlite3.Xsqlite3_result_double(tls, context, rVal)
 68030  			}
 68031  			break
 68032  
 68033  		}
 68034  	case SQLITE_BLOB:
 68035  		{
 68036  			var zBlob uintptr = sqlite3.Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(argv)))
 68037  			if zBlob != 0 {
 68038  				var nBlob int32 = sqlite3.Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv)))
 68039  				if uint64(nBlob) == uint64(unsafe.Sizeof(float64(0))) {
 68040  					if 1 != 0 {
 68041  						var i int32
 68042  
 68043  						for i = 0; uint64(i) < uint64(unsafe.Sizeof(float64(0))); i++ {
 68044  							*(*uint8)(unsafe.Pointer(bp + uintptr(i))) = *(*uint8)(unsafe.Pointer(zBlob + uintptr(uint64(unsafe.Sizeof(float64(0)))-uint64(1)-uint64(i))))
 68045  						}
 68046  						libc.Xmemcpy(tls, bp+8, bp, uint64(unsafe.Sizeof(float64(0))))
 68047  					} else {
 68048  						libc.Xmemcpy(tls, bp+8, zBlob, uint64(unsafe.Sizeof(float64(0))))
 68049  					}
 68050  					sqlite3.Xsqlite3_result_double(tls, context, *(*float64)(unsafe.Pointer(bp + 8)))
 68051  				}
 68052  			}
 68053  			break
 68054  
 68055  		}
 68056  	case SQLITE_TEXT:
 68057  		{
 68058  			var zStr uintptr = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv)))
 68059  			if zStr != 0 {
 68060  				var nStr int32 = sqlite3.Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv)))
 68061  				if nStr != 0 && !(totypeIsspace(tls, *(*uint8)(unsafe.Pointer(zStr))) != 0) && !(totypeIsspace(tls, *(*uint8)(unsafe.Pointer(zStr + uintptr(nStr-1)))) != 0) {
 68062  					if totypeAtoF(tls, zStr, bp+16, nStr) != 0 {
 68063  						sqlite3.Xsqlite3_result_double(tls, context, *(*float64)(unsafe.Pointer(bp + 16)))
 68064  						return
 68065  					}
 68066  				}
 68067  			}
 68068  			break
 68069  
 68070  		}
 68071  	default:
 68072  		{
 68073  			break
 68074  
 68075  		}
 68076  	}
 68077  }
 68078  
 68079  func sqlite3_totype_init(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi uintptr) int32 {
 68080  	var rc int32 = SQLITE_OK
 68081  	_ = pApi
 68082  
 68083  	_ = pzErrMsg
 68084  	rc = sqlite3.Xsqlite3_create_function(tls, db, ts+8431, 1,
 68085  		SQLITE_UTF8|SQLITE_DETERMINISTIC|SQLITE_INNOCUOUS, uintptr(0),
 68086  		*(*uintptr)(unsafe.Pointer(&struct {
 68087  			f func(*libc.TLS, uintptr, int32, uintptr)
 68088  		}{tointegerFunc})), uintptr(0), uintptr(0))
 68089  	if rc == SQLITE_OK {
 68090  		rc = sqlite3.Xsqlite3_create_function(tls, db, ts+8441, 1,
 68091  			SQLITE_UTF8|SQLITE_DETERMINISTIC|SQLITE_INNOCUOUS, uintptr(0),
 68092  			*(*uintptr)(unsafe.Pointer(&struct {
 68093  				f func(*libc.TLS, uintptr, int32, uintptr)
 68094  			}{torealFunc})), uintptr(0), uintptr(0))
 68095  	}
 68096  	return rc
 68097  }
 68098  
 68099  type UnionCsr1 = struct {
 68100  	Fbase        sqlite3_vtab_cursor
 68101  	FpStmt       uintptr
 68102  	FiMaxRowid   sqlite3_int64
 68103  	FiTab        int32
 68104  	F__ccgo_pad1 [4]byte
 68105  }
 68106  
 68107  type UnionCsr = UnionCsr1
 68108  type UnionTab1 = struct {
 68109  	Fbase        sqlite3_vtab
 68110  	Fdb          uintptr
 68111  	FbSwarm      int32
 68112  	FiPK         int32
 68113  	FnSrc        int32
 68114  	F__ccgo_pad1 [4]byte
 68115  	FaSrc        uintptr
 68116  	FbHasContext int32
 68117  	F__ccgo_pad2 [4]byte
 68118  	FzSourceStr  uintptr
 68119  	FpNotFound   uintptr
 68120  	FpOpenClose  uintptr
 68121  	FpClosable   uintptr
 68122  	FnOpen       int32
 68123  	FnMaxOpen    int32
 68124  }
 68125  
 68126  type UnionTab = UnionTab1
 68127  type UnionSrc1 = struct {
 68128  	FzDb           uintptr
 68129  	FzTab          uintptr
 68130  	FiMin          sqlite3_int64
 68131  	FiMax          sqlite3_int64
 68132  	FzFile         uintptr
 68133  	FzContext      uintptr
 68134  	FnUser         int32
 68135  	F__ccgo_pad1   [4]byte
 68136  	Fdb            uintptr
 68137  	FpNextClosable uintptr
 68138  }
 68139  
 68140  type UnionSrc = UnionSrc1
 68141  
 68142  func unionMalloc(tls *libc.TLS, pRc uintptr, nByte sqlite3_int64) uintptr {
 68143  	var pRet uintptr
 68144  
 68145  	if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK {
 68146  		pRet = sqlite3.Xsqlite3_malloc64(tls, uint64(nByte))
 68147  		if pRet != 0 {
 68148  			libc.Xmemset(tls, pRet, 0, size_t(nByte))
 68149  		} else {
 68150  			*(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM
 68151  		}
 68152  	} else {
 68153  		pRet = uintptr(0)
 68154  	}
 68155  	return pRet
 68156  }
 68157  
 68158  func unionStrdup(tls *libc.TLS, pRc uintptr, zIn uintptr) uintptr {
 68159  	var zRet uintptr = uintptr(0)
 68160  	if zIn != 0 {
 68161  		var nByte sqlite3_int64 = sqlite3_int64(libc.Xstrlen(tls, zIn) + uint64(1))
 68162  		zRet = unionMalloc(tls, pRc, nByte)
 68163  		if zRet != 0 {
 68164  			libc.Xmemcpy(tls, zRet, zIn, size_t(nByte))
 68165  		}
 68166  	}
 68167  	return zRet
 68168  }
 68169  
 68170  func unionDequote(tls *libc.TLS, z uintptr) {
 68171  	if z != 0 {
 68172  		var q int8 = *(*int8)(unsafe.Pointer(z))
 68173  
 68174  		if int32(q) == '[' || int32(q) == '\'' || int32(q) == '"' || int32(q) == '`' {
 68175  			var iIn int32 = 1
 68176  			var iOut int32 = 0
 68177  			if int32(q) == '[' {
 68178  				q = int8(']')
 68179  			}
 68180  			for *(*int8)(unsafe.Pointer(z + uintptr(iIn))) != 0 {
 68181  				if int32(*(*int8)(unsafe.Pointer(z + uintptr(iIn)))) == int32(q) {
 68182  					if int32(*(*int8)(unsafe.Pointer(z + uintptr(iIn+1)))) != int32(q) {
 68183  						iIn++
 68184  						break
 68185  					} else {
 68186  						iIn = iIn + 2
 68187  						*(*int8)(unsafe.Pointer(z + uintptr(libc.PostIncInt32(&iOut, 1)))) = q
 68188  					}
 68189  				} else {
 68190  					*(*int8)(unsafe.Pointer(z + uintptr(libc.PostIncInt32(&iOut, 1)))) = *(*int8)(unsafe.Pointer(z + uintptr(libc.PostIncInt32(&iIn, 1))))
 68191  				}
 68192  			}
 68193  			*(*int8)(unsafe.Pointer(z + uintptr(iOut))) = int8(0)
 68194  		}
 68195  	}
 68196  }
 68197  
 68198  func unionPrepare(tls *libc.TLS, pRc uintptr, db uintptr, zSql uintptr, pzErr uintptr) uintptr {
 68199  	bp := tls.Alloc(16)
 68200  	defer tls.Free(16)
 68201  
 68202  	*(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0)
 68203  
 68204  	if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK {
 68205  		var rc int32 = sqlite3.Xsqlite3_prepare_v2(tls, db, zSql, -1, bp+8, uintptr(0))
 68206  		if rc != SQLITE_OK {
 68207  			*(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+8448, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, db)))
 68208  			*(*int32)(unsafe.Pointer(pRc)) = rc
 68209  		}
 68210  	}
 68211  	return *(*uintptr)(unsafe.Pointer(bp + 8))
 68212  }
 68213  
 68214  func unionPreparePrintf(tls *libc.TLS, pRc uintptr, pzErr uintptr, db uintptr, zFmt uintptr, va uintptr) uintptr {
 68215  	var pRet uintptr = uintptr(0)
 68216  	var zSql uintptr
 68217  	var ap va_list
 68218  	_ = ap
 68219  	ap = va
 68220  
 68221  	zSql = sqlite3.Xsqlite3_vmprintf(tls, zFmt, ap)
 68222  	if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK {
 68223  		if zSql == uintptr(0) {
 68224  			*(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM
 68225  		} else {
 68226  			pRet = unionPrepare(tls, pRc, db, zSql, pzErr)
 68227  		}
 68228  	}
 68229  	sqlite3.Xsqlite3_free(tls, zSql)
 68230  
 68231  	_ = ap
 68232  	return pRet
 68233  }
 68234  
 68235  func unionFinalize(tls *libc.TLS, pRc uintptr, pStmt uintptr, pzErr uintptr) {
 68236  	bp := tls.Alloc(8)
 68237  	defer tls.Free(8)
 68238  
 68239  	var db uintptr = sqlite3.Xsqlite3_db_handle(tls, pStmt)
 68240  	var rc int32 = sqlite3.Xsqlite3_finalize(tls, pStmt)
 68241  	if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK {
 68242  		*(*int32)(unsafe.Pointer(pRc)) = rc
 68243  		if rc != 0 {
 68244  			*(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, db)))
 68245  		}
 68246  	}
 68247  }
 68248  
 68249  func unionInvokeOpenClose(tls *libc.TLS, pTab uintptr, pSrc uintptr, bClose int32, pzErr uintptr) int32 {
 68250  	bp := tls.Alloc(8)
 68251  	defer tls.Free(8)
 68252  
 68253  	var rc int32 = SQLITE_OK
 68254  	if (*UnionTab)(unsafe.Pointer(pTab)).FpOpenClose != 0 {
 68255  		sqlite3.Xsqlite3_bind_text(tls, (*UnionTab)(unsafe.Pointer(pTab)).FpOpenClose, 1, (*UnionSrc)(unsafe.Pointer(pSrc)).FzFile, -1, uintptr(0))
 68256  		if (*UnionTab)(unsafe.Pointer(pTab)).FbHasContext != 0 {
 68257  			sqlite3.Xsqlite3_bind_text(tls, (*UnionTab)(unsafe.Pointer(pTab)).FpOpenClose, 2, (*UnionSrc)(unsafe.Pointer(pSrc)).FzContext, -1, uintptr(0))
 68258  		}
 68259  		sqlite3.Xsqlite3_bind_int(tls, (*UnionTab)(unsafe.Pointer(pTab)).FpOpenClose, 2+(*UnionTab)(unsafe.Pointer(pTab)).FbHasContext, bClose)
 68260  		sqlite3.Xsqlite3_step(tls, (*UnionTab)(unsafe.Pointer(pTab)).FpOpenClose)
 68261  		if SQLITE_OK != libc.AssignInt32(&rc, sqlite3.Xsqlite3_reset(tls, (*UnionTab)(unsafe.Pointer(pTab)).FpOpenClose)) {
 68262  			if pzErr != 0 {
 68263  				*(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, (*UnionTab)(unsafe.Pointer(pTab)).Fdb)))
 68264  			}
 68265  		}
 68266  	}
 68267  	return rc
 68268  }
 68269  
 68270  func unionCloseSources(tls *libc.TLS, pTab uintptr, nMax int32) {
 68271  	for (*UnionTab)(unsafe.Pointer(pTab)).FpClosable != 0 && (*UnionTab)(unsafe.Pointer(pTab)).FnOpen > nMax {
 68272  		var p uintptr
 68273  		var pp uintptr
 68274  		for pp = pTab + 88; (*UnionSrc)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpNextClosable != 0; pp = *(*uintptr)(unsafe.Pointer(pp)) + 64 {
 68275  		}
 68276  		p = *(*uintptr)(unsafe.Pointer(pp))
 68277  
 68278  		sqlite3.Xsqlite3_close(tls, (*UnionSrc)(unsafe.Pointer(p)).Fdb)
 68279  		(*UnionSrc)(unsafe.Pointer(p)).Fdb = uintptr(0)
 68280  		*(*uintptr)(unsafe.Pointer(pp)) = uintptr(0)
 68281  		(*UnionTab)(unsafe.Pointer(pTab)).FnOpen--
 68282  		unionInvokeOpenClose(tls, pTab, p, 1, uintptr(0))
 68283  	}
 68284  }
 68285  
 68286  func unionDisconnect(tls *libc.TLS, pVtab uintptr) int32 {
 68287  	if pVtab != 0 {
 68288  		var pTab uintptr = pVtab
 68289  		var i int32
 68290  		for i = 0; i < (*UnionTab)(unsafe.Pointer(pTab)).FnSrc; i++ {
 68291  			var pSrc uintptr = (*UnionTab)(unsafe.Pointer(pTab)).FaSrc + uintptr(i)*72
 68292  			var bHaveSrcDb int32 = libc.Bool32((*UnionSrc)(unsafe.Pointer(pSrc)).Fdb != uintptr(0))
 68293  			sqlite3.Xsqlite3_close(tls, (*UnionSrc)(unsafe.Pointer(pSrc)).Fdb)
 68294  			if bHaveSrcDb != 0 {
 68295  				unionInvokeOpenClose(tls, pTab, pSrc, 1, uintptr(0))
 68296  			}
 68297  			sqlite3.Xsqlite3_free(tls, (*UnionSrc)(unsafe.Pointer(pSrc)).FzDb)
 68298  			sqlite3.Xsqlite3_free(tls, (*UnionSrc)(unsafe.Pointer(pSrc)).FzTab)
 68299  			sqlite3.Xsqlite3_free(tls, (*UnionSrc)(unsafe.Pointer(pSrc)).FzFile)
 68300  			sqlite3.Xsqlite3_free(tls, (*UnionSrc)(unsafe.Pointer(pSrc)).FzContext)
 68301  		}
 68302  		sqlite3.Xsqlite3_finalize(tls, (*UnionTab)(unsafe.Pointer(pTab)).FpNotFound)
 68303  		sqlite3.Xsqlite3_finalize(tls, (*UnionTab)(unsafe.Pointer(pTab)).FpOpenClose)
 68304  		sqlite3.Xsqlite3_free(tls, (*UnionTab)(unsafe.Pointer(pTab)).FzSourceStr)
 68305  		sqlite3.Xsqlite3_free(tls, (*UnionTab)(unsafe.Pointer(pTab)).FaSrc)
 68306  		sqlite3.Xsqlite3_free(tls, pTab)
 68307  	}
 68308  	return SQLITE_OK
 68309  }
 68310  
 68311  func unionIsIntkeyTable(tls *libc.TLS, db uintptr, pSrc uintptr, pzErr uintptr) int32 {
 68312  	bp := tls.Alloc(36)
 68313  	defer tls.Free(36)
 68314  
 68315  	*(*int32)(unsafe.Pointer(bp + 32)) = 0
 68316  	*(*uintptr)(unsafe.Pointer(bp + 24)) = uintptr(0)
 68317  	var rc int32
 68318  
 68319  	sqlite3.Xsqlite3_table_column_metadata(tls,
 68320  		db, (*UnionSrc)(unsafe.Pointer(pSrc)).FzDb, (*UnionSrc)(unsafe.Pointer(pSrc)).FzTab, ts+8462, bp+24, uintptr(0), uintptr(0), bp+32, uintptr(0))
 68321  	rc = sqlite3.Xsqlite3_errcode(tls, db)
 68322  	if rc == SQLITE_ERROR ||
 68323  		rc == SQLITE_OK && (!(*(*int32)(unsafe.Pointer(bp + 32)) != 0) || sqlite3.Xsqlite3_stricmp(tls, ts+8470, *(*uintptr)(unsafe.Pointer(bp + 24))) != 0) {
 68324  		rc = SQLITE_ERROR
 68325  		*(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+8478,
 68326  			libc.VaList(bp, func() uintptr {
 68327  				if (*UnionSrc)(unsafe.Pointer(pSrc)).FzDb != 0 {
 68328  					return (*UnionSrc)(unsafe.Pointer(pSrc)).FzDb
 68329  				}
 68330  				return ts + 584
 68331  			}(),
 68332  				func() uintptr {
 68333  					if (*UnionSrc)(unsafe.Pointer(pSrc)).FzDb != 0 {
 68334  						return ts + 8506
 68335  					}
 68336  					return ts + 584
 68337  				}(),
 68338  				(*UnionSrc)(unsafe.Pointer(pSrc)).FzTab))
 68339  	}
 68340  	return rc
 68341  }
 68342  
 68343  func unionSourceToStr(tls *libc.TLS, pRc uintptr, pTab uintptr, pSrc uintptr, pzErr uintptr) uintptr {
 68344  	bp := tls.Alloc(4)
 68345  	defer tls.Free(4)
 68346  
 68347  	var zRet uintptr = uintptr(0)
 68348  	if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK {
 68349  		var db uintptr = func() uintptr {
 68350  			if (*UnionTab)(unsafe.Pointer(pTab)).FbSwarm != 0 {
 68351  				return (*UnionSrc)(unsafe.Pointer(pSrc)).Fdb
 68352  			}
 68353  			return (*UnionTab)(unsafe.Pointer(pTab)).Fdb
 68354  		}()
 68355  		*(*int32)(unsafe.Pointer(bp)) = unionIsIntkeyTable(tls, db, pSrc, pzErr)
 68356  		var pStmt uintptr = unionPrepare(tls, bp, db,
 68357  			ts+8508, pzErr)
 68358  		if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK {
 68359  			sqlite3.Xsqlite3_bind_text(tls, pStmt, 1, (*UnionSrc)(unsafe.Pointer(pSrc)).FzTab, -1, uintptr(0))
 68360  			sqlite3.Xsqlite3_bind_text(tls, pStmt, 2, (*UnionSrc)(unsafe.Pointer(pSrc)).FzDb, -1, uintptr(0))
 68361  			if SQLITE_ROW == sqlite3.Xsqlite3_step(tls, pStmt) {
 68362  				var z uintptr = sqlite3.Xsqlite3_column_text(tls, pStmt, 0)
 68363  				zRet = unionStrdup(tls, bp, z)
 68364  			}
 68365  			unionFinalize(tls, bp, pStmt, pzErr)
 68366  		}
 68367  		*(*int32)(unsafe.Pointer(pRc)) = *(*int32)(unsafe.Pointer(bp))
 68368  	}
 68369  
 68370  	return zRet
 68371  }
 68372  
 68373  func unionSourceCheck(tls *libc.TLS, pTab uintptr, pzErr uintptr) int32 {
 68374  	bp := tls.Alloc(4)
 68375  	defer tls.Free(4)
 68376  
 68377  	*(*int32)(unsafe.Pointer(bp)) = SQLITE_OK
 68378  	var z0 uintptr = uintptr(0)
 68379  	var i int32
 68380  
 68381  	z0 = unionSourceToStr(tls, bp, pTab, (*UnionTab)(unsafe.Pointer(pTab)).FaSrc, pzErr)
 68382  	for i = 1; i < (*UnionTab)(unsafe.Pointer(pTab)).FnSrc; i++ {
 68383  		var z uintptr = unionSourceToStr(tls, bp, pTab, (*UnionTab)(unsafe.Pointer(pTab)).FaSrc+uintptr(i)*72, pzErr)
 68384  		if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && sqlite3.Xsqlite3_stricmp(tls, z, z0) != 0 {
 68385  			*(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+8592, 0)
 68386  			*(*int32)(unsafe.Pointer(bp)) = SQLITE_ERROR
 68387  		}
 68388  		sqlite3.Xsqlite3_free(tls, z)
 68389  	}
 68390  	sqlite3.Xsqlite3_free(tls, z0)
 68391  
 68392  	return *(*int32)(unsafe.Pointer(bp))
 68393  }
 68394  
 68395  func unionOpenDatabaseInner(tls *libc.TLS, pTab uintptr, pSrc uintptr, pzErr uintptr) int32 {
 68396  	bp := tls.Alloc(16)
 68397  	defer tls.Free(16)
 68398  
 68399  	var rc int32
 68400  
 68401  	rc = unionInvokeOpenClose(tls, pTab, pSrc, 0, pzErr)
 68402  	if rc != SQLITE_OK {
 68403  		return rc
 68404  	}
 68405  
 68406  	rc = sqlite3.Xsqlite3_open_v2(tls, (*UnionSrc)(unsafe.Pointer(pSrc)).FzFile, pSrc+56, openFlags, uintptr(0))
 68407  	if rc == SQLITE_OK {
 68408  		return rc
 68409  	}
 68410  	if (*UnionTab)(unsafe.Pointer(pTab)).FpNotFound != 0 {
 68411  		sqlite3.Xsqlite3_close(tls, (*UnionSrc)(unsafe.Pointer(pSrc)).Fdb)
 68412  		(*UnionSrc)(unsafe.Pointer(pSrc)).Fdb = uintptr(0)
 68413  		sqlite3.Xsqlite3_bind_text(tls, (*UnionTab)(unsafe.Pointer(pTab)).FpNotFound, 1, (*UnionSrc)(unsafe.Pointer(pSrc)).FzFile, -1, uintptr(0))
 68414  		if (*UnionTab)(unsafe.Pointer(pTab)).FbHasContext != 0 {
 68415  			sqlite3.Xsqlite3_bind_text(tls, (*UnionTab)(unsafe.Pointer(pTab)).FpNotFound, 2, (*UnionSrc)(unsafe.Pointer(pSrc)).FzContext, -1, uintptr(0))
 68416  		}
 68417  		sqlite3.Xsqlite3_step(tls, (*UnionTab)(unsafe.Pointer(pTab)).FpNotFound)
 68418  		if SQLITE_OK != libc.AssignInt32(&rc, sqlite3.Xsqlite3_reset(tls, (*UnionTab)(unsafe.Pointer(pTab)).FpNotFound)) {
 68419  			*(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, (*UnionTab)(unsafe.Pointer(pTab)).Fdb)))
 68420  			return rc
 68421  		}
 68422  		rc = sqlite3.Xsqlite3_open_v2(tls, (*UnionSrc)(unsafe.Pointer(pSrc)).FzFile, pSrc+56, openFlags, uintptr(0))
 68423  	}
 68424  	if rc != SQLITE_OK {
 68425  		*(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts, libc.VaList(bp+8, sqlite3.Xsqlite3_errmsg(tls, (*UnionSrc)(unsafe.Pointer(pSrc)).Fdb)))
 68426  	}
 68427  	return rc
 68428  }
 68429  
 68430  var openFlags int32 = SQLITE_OPEN_READONLY | SQLITE_OPEN_URI
 68431  
 68432  func unionOpenDatabase(tls *libc.TLS, pTab uintptr, iSrc int32, pzErr uintptr) int32 {
 68433  	bp := tls.Alloc(4)
 68434  	defer tls.Free(4)
 68435  
 68436  	*(*int32)(unsafe.Pointer(bp)) = SQLITE_OK
 68437  	var pSrc uintptr = (*UnionTab)(unsafe.Pointer(pTab)).FaSrc + uintptr(iSrc)*72
 68438  
 68439  	if (*UnionSrc)(unsafe.Pointer(pSrc)).Fdb == uintptr(0) {
 68440  		unionCloseSources(tls, pTab, (*UnionTab)(unsafe.Pointer(pTab)).FnMaxOpen-1)
 68441  		*(*int32)(unsafe.Pointer(bp)) = unionOpenDatabaseInner(tls, pTab, pSrc, pzErr)
 68442  		if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK {
 68443  			var z uintptr = unionSourceToStr(tls, bp, pTab, pSrc, pzErr)
 68444  			if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK {
 68445  				if (*UnionTab)(unsafe.Pointer(pTab)).FzSourceStr == uintptr(0) {
 68446  					(*UnionTab)(unsafe.Pointer(pTab)).FzSourceStr = z
 68447  				} else {
 68448  					if sqlite3.Xsqlite3_stricmp(tls, z, (*UnionTab)(unsafe.Pointer(pTab)).FzSourceStr) != 0 {
 68449  						*(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+8592, 0)
 68450  						*(*int32)(unsafe.Pointer(bp)) = SQLITE_ERROR
 68451  					}
 68452  					sqlite3.Xsqlite3_free(tls, z)
 68453  				}
 68454  			}
 68455  		}
 68456  
 68457  		if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK {
 68458  			(*UnionSrc)(unsafe.Pointer(pSrc)).FpNextClosable = (*UnionTab)(unsafe.Pointer(pTab)).FpClosable
 68459  			(*UnionTab)(unsafe.Pointer(pTab)).FpClosable = pSrc
 68460  			(*UnionTab)(unsafe.Pointer(pTab)).FnOpen++
 68461  		} else {
 68462  			sqlite3.Xsqlite3_close(tls, (*UnionSrc)(unsafe.Pointer(pSrc)).Fdb)
 68463  			(*UnionSrc)(unsafe.Pointer(pSrc)).Fdb = uintptr(0)
 68464  			unionInvokeOpenClose(tls, pTab, pSrc, 1, uintptr(0))
 68465  		}
 68466  	}
 68467  
 68468  	return *(*int32)(unsafe.Pointer(bp))
 68469  }
 68470  
 68471  func unionIncrRefcount(tls *libc.TLS, pTab uintptr, iTab int32) {
 68472  	if (*UnionTab)(unsafe.Pointer(pTab)).FbSwarm != 0 {
 68473  		var pSrc uintptr = (*UnionTab)(unsafe.Pointer(pTab)).FaSrc + uintptr(iTab)*72
 68474  
 68475  		if (*UnionSrc)(unsafe.Pointer(pSrc)).FnUser == 0 {
 68476  			var pp uintptr
 68477  			for pp = pTab + 88; *(*uintptr)(unsafe.Pointer(pp)) != pSrc; pp = *(*uintptr)(unsafe.Pointer(pp)) + 64 {
 68478  			}
 68479  			*(*uintptr)(unsafe.Pointer(pp)) = (*UnionSrc)(unsafe.Pointer(pSrc)).FpNextClosable
 68480  			(*UnionSrc)(unsafe.Pointer(pSrc)).FpNextClosable = uintptr(0)
 68481  		}
 68482  		(*UnionSrc)(unsafe.Pointer(pSrc)).FnUser++
 68483  	}
 68484  }
 68485  
 68486  func unionFinalizeCsrStmt(tls *libc.TLS, pCsr uintptr) int32 {
 68487  	var rc int32 = SQLITE_OK
 68488  	if (*UnionCsr)(unsafe.Pointer(pCsr)).FpStmt != 0 {
 68489  		var pTab uintptr = (*UnionCsr)(unsafe.Pointer(pCsr)).Fbase.FpVtab
 68490  		var pSrc uintptr = (*UnionTab)(unsafe.Pointer(pTab)).FaSrc + uintptr((*UnionCsr)(unsafe.Pointer(pCsr)).FiTab)*72
 68491  		rc = sqlite3.Xsqlite3_finalize(tls, (*UnionCsr)(unsafe.Pointer(pCsr)).FpStmt)
 68492  		(*UnionCsr)(unsafe.Pointer(pCsr)).FpStmt = uintptr(0)
 68493  		if (*UnionTab)(unsafe.Pointer(pTab)).FbSwarm != 0 {
 68494  			(*UnionSrc)(unsafe.Pointer(pSrc)).FnUser--
 68495  
 68496  			if (*UnionSrc)(unsafe.Pointer(pSrc)).FnUser == 0 {
 68497  				(*UnionSrc)(unsafe.Pointer(pSrc)).FpNextClosable = (*UnionTab)(unsafe.Pointer(pTab)).FpClosable
 68498  				(*UnionTab)(unsafe.Pointer(pTab)).FpClosable = pSrc
 68499  			}
 68500  			unionCloseSources(tls, pTab, (*UnionTab)(unsafe.Pointer(pTab)).FnMaxOpen)
 68501  		}
 68502  	}
 68503  	return rc
 68504  }
 68505  
 68506  func union_isspace(tls *libc.TLS, c int8) int32 {
 68507  	return libc.Bool32(int32(c) == ' ' || int32(c) == '\n' || int32(c) == '\r' || int32(c) == '\t')
 68508  }
 68509  
 68510  func union_isidchar(tls *libc.TLS, c int8) int32 {
 68511  	return libc.Bool32(int32(c) >= 'a' && int32(c) <= 'z' || int32(c) >= 'A' && int32(c) < 'Z' || int32(c) >= '0' && int32(c) <= '9')
 68512  }
 68513  
 68514  func unionConfigureVtab(tls *libc.TLS, pRc uintptr, pTab uintptr, pStmt uintptr, nArg int32, azArg uintptr, pzErr uintptr) {
 68515  	bp := tls.Alloc(68)
 68516  	defer tls.Free(68)
 68517  
 68518  	*(*int32)(unsafe.Pointer(bp + 64)) = *(*int32)(unsafe.Pointer(pRc))
 68519  	var i int32
 68520  	if *(*int32)(unsafe.Pointer(bp + 64)) == SQLITE_OK {
 68521  		(*UnionTab)(unsafe.Pointer(pTab)).FbHasContext = libc.Bool32(sqlite3.Xsqlite3_column_count(tls, pStmt) > 4)
 68522  	}
 68523  	for i = 0; *(*int32)(unsafe.Pointer(bp + 64)) == SQLITE_OK && i < nArg; i++ {
 68524  		var zArg uintptr = unionStrdup(tls, bp+64, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)))
 68525  		if zArg != 0 {
 68526  			var nOpt int32 = 0
 68527  			var zOpt uintptr
 68528  			var zVal uintptr
 68529  
 68530  			unionDequote(tls, zArg)
 68531  			zOpt = zArg
 68532  			for union_isspace(tls, *(*int8)(unsafe.Pointer(zOpt))) != 0 {
 68533  				zOpt++
 68534  			}
 68535  			zVal = zOpt
 68536  			if int32(*(*int8)(unsafe.Pointer(zVal))) == ':' {
 68537  				zVal++
 68538  			}
 68539  			for union_isidchar(tls, *(*int8)(unsafe.Pointer(zVal))) != 0 {
 68540  				zVal++
 68541  			}
 68542  			nOpt = int32((int64(zVal) - int64(zOpt)) / 1)
 68543  
 68544  			for union_isspace(tls, *(*int8)(unsafe.Pointer(zVal))) != 0 {
 68545  				zVal++
 68546  			}
 68547  			if int32(*(*int8)(unsafe.Pointer(zVal))) == '=' {
 68548  				*(*int8)(unsafe.Pointer(zOpt + uintptr(nOpt))) = int8(0)
 68549  				zVal++
 68550  				for union_isspace(tls, *(*int8)(unsafe.Pointer(zVal))) != 0 {
 68551  					zVal++
 68552  				}
 68553  				zVal = unionStrdup(tls, bp+64, zVal)
 68554  				if zVal != 0 {
 68555  					unionDequote(tls, zVal)
 68556  					if int32(*(*int8)(unsafe.Pointer(zOpt))) == ':' {
 68557  						var iParam int32 = sqlite3.Xsqlite3_bind_parameter_index(tls, pStmt, zOpt)
 68558  						if iParam == 0 {
 68559  							*(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls,
 68560  								ts+8621, libc.VaList(bp, zOpt))
 68561  							*(*int32)(unsafe.Pointer(bp + 64)) = SQLITE_ERROR
 68562  						} else {
 68563  							*(*int32)(unsafe.Pointer(bp + 64)) = sqlite3.Xsqlite3_bind_text(tls, pStmt, iParam, zVal, -1, libc.UintptrFromInt32(-1))
 68564  						}
 68565  					} else if nOpt == 7 && 0 == sqlite3.Xsqlite3_strnicmp(tls, zOpt, ts+8658, 7) {
 68566  						(*UnionTab)(unsafe.Pointer(pTab)).FnMaxOpen = libc.Xatoi(tls, zVal)
 68567  						if (*UnionTab)(unsafe.Pointer(pTab)).FnMaxOpen <= 0 {
 68568  							*(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+8666, 0)
 68569  							*(*int32)(unsafe.Pointer(bp + 64)) = SQLITE_ERROR
 68570  						}
 68571  					} else if nOpt == 7 && 0 == sqlite3.Xsqlite3_strnicmp(tls, zOpt, ts+8699, 7) {
 68572  						if (*UnionTab)(unsafe.Pointer(pTab)).FpNotFound != 0 {
 68573  							*(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls,
 68574  								ts+8707, 0)
 68575  							*(*int32)(unsafe.Pointer(bp + 64)) = SQLITE_ERROR
 68576  						} else {
 68577  							(*UnionTab)(unsafe.Pointer(pTab)).FpNotFound = unionPreparePrintf(tls, bp+64, pzErr, (*UnionTab)(unsafe.Pointer(pTab)).Fdb,
 68578  								ts+8745, libc.VaList(bp+8, zVal, func() uintptr {
 68579  									if (*UnionTab)(unsafe.Pointer(pTab)).FbHasContext != 0 {
 68580  										return ts + 8762
 68581  									}
 68582  									return ts + 584
 68583  								}()))
 68584  						}
 68585  					} else if nOpt == 9 && 0 == sqlite3.Xsqlite3_strnicmp(tls, zOpt, ts+8765, 9) {
 68586  						if (*UnionTab)(unsafe.Pointer(pTab)).FpOpenClose != 0 {
 68587  							*(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls,
 68588  								ts+8775, 0)
 68589  							*(*int32)(unsafe.Pointer(bp + 64)) = SQLITE_ERROR
 68590  						} else {
 68591  							(*UnionTab)(unsafe.Pointer(pTab)).FpOpenClose = unionPreparePrintf(tls, bp+64, pzErr, (*UnionTab)(unsafe.Pointer(pTab)).Fdb,
 68592  								ts+8815, libc.VaList(bp+24, zVal, func() uintptr {
 68593  									if (*UnionTab)(unsafe.Pointer(pTab)).FbHasContext != 0 {
 68594  										return ts + 8762
 68595  									}
 68596  									return ts + 584
 68597  								}()))
 68598  						}
 68599  					} else {
 68600  						*(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+8834, libc.VaList(bp+40, zOpt))
 68601  						*(*int32)(unsafe.Pointer(bp + 64)) = SQLITE_ERROR
 68602  					}
 68603  					sqlite3.Xsqlite3_free(tls, zVal)
 68604  				}
 68605  			} else {
 68606  				if i == 0 && nArg == 1 {
 68607  					(*UnionTab)(unsafe.Pointer(pTab)).FpNotFound = unionPreparePrintf(tls, bp+64, pzErr, (*UnionTab)(unsafe.Pointer(pTab)).Fdb,
 68608  						ts+8869, libc.VaList(bp+48, zArg))
 68609  				} else {
 68610  					*(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+8884, libc.VaList(bp+56, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8))))
 68611  					*(*int32)(unsafe.Pointer(bp + 64)) = SQLITE_ERROR
 68612  				}
 68613  			}
 68614  			sqlite3.Xsqlite3_free(tls, zArg)
 68615  		}
 68616  	}
 68617  	*(*int32)(unsafe.Pointer(pRc)) = *(*int32)(unsafe.Pointer(bp + 64))
 68618  }
 68619  
 68620  func unionConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 {
 68621  	bp := tls.Alloc(44)
 68622  	defer tls.Free(44)
 68623  
 68624  	var pTab uintptr = uintptr(0)
 68625  	*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_OK
 68626  	var bSwarm int32 = func() int32 {
 68627  		if pAux == uintptr(0) {
 68628  			return 0
 68629  		}
 68630  		return 1
 68631  	}()
 68632  	var zVtab uintptr = func() uintptr {
 68633  		if bSwarm != 0 {
 68634  			return ts + 8911
 68635  		}
 68636  		return ts + 8921
 68637  	}()
 68638  
 68639  	if sqlite3.Xsqlite3_stricmp(tls, ts+8931, *(*uintptr)(unsafe.Pointer(argv + 1*8))) != 0 {
 68640  		*(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+8936, libc.VaList(bp, zVtab))
 68641  		*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 68642  	} else if argc < 4 || argc > 4 && bSwarm == 0 {
 68643  		*(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+8977, libc.VaList(bp+8, zVtab))
 68644  		*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 68645  	} else {
 68646  		var nAlloc int32 = 0
 68647  		var pStmt uintptr = uintptr(0)
 68648  		var zArg uintptr = unionStrdup(tls, bp+40, *(*uintptr)(unsafe.Pointer(argv + 3*8)))
 68649  
 68650  		unionDequote(tls, zArg)
 68651  		pStmt = unionPreparePrintf(tls, bp+40, pzErr, db,
 68652  			ts+9010, libc.VaList(bp+16, zArg))
 68653  
 68654  		pTab = unionMalloc(tls, bp+40, int64(unsafe.Sizeof(UnionTab{})))
 68655  		if pTab != 0 {
 68656  			(*UnionTab)(unsafe.Pointer(pTab)).Fdb = db
 68657  			(*UnionTab)(unsafe.Pointer(pTab)).FbSwarm = bSwarm
 68658  			(*UnionTab)(unsafe.Pointer(pTab)).FnMaxOpen = SWARMVTAB_MAX_OPEN
 68659  		}
 68660  
 68661  		if bSwarm != 0 {
 68662  			unionConfigureVtab(tls, bp+40, pTab, pStmt, argc-4, argv+4*8, pzErr)
 68663  		}
 68664  
 68665  		for *(*int32)(unsafe.Pointer(bp + 40)) == SQLITE_OK && SQLITE_ROW == sqlite3.Xsqlite3_step(tls, pStmt) {
 68666  			var zDb uintptr = sqlite3.Xsqlite3_column_text(tls, pStmt, 0)
 68667  			var zTab uintptr = sqlite3.Xsqlite3_column_text(tls, pStmt, 1)
 68668  			var iMin sqlite3_int64 = sqlite3.Xsqlite3_column_int64(tls, pStmt, 2)
 68669  			var iMax sqlite3_int64 = sqlite3.Xsqlite3_column_int64(tls, pStmt, 3)
 68670  			var pSrc uintptr
 68671  
 68672  			if nAlloc <= (*UnionTab)(unsafe.Pointer(pTab)).FnSrc {
 68673  				var nNew int32
 68674  				if nAlloc != 0 {
 68675  					nNew = nAlloc * 2
 68676  				} else {
 68677  					nNew = 8
 68678  				}
 68679  				var aNew uintptr = sqlite3.Xsqlite3_realloc64(tls,
 68680  					(*UnionTab)(unsafe.Pointer(pTab)).FaSrc, uint64(nNew)*uint64(unsafe.Sizeof(UnionSrc{})))
 68681  				if aNew == uintptr(0) {
 68682  					*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_NOMEM
 68683  					break
 68684  				} else {
 68685  					libc.Xmemset(tls, aNew+uintptr((*UnionTab)(unsafe.Pointer(pTab)).FnSrc)*72, 0, uint64(nNew-(*UnionTab)(unsafe.Pointer(pTab)).FnSrc)*uint64(unsafe.Sizeof(UnionSrc{})))
 68686  					(*UnionTab)(unsafe.Pointer(pTab)).FaSrc = aNew
 68687  					nAlloc = nNew
 68688  				}
 68689  			}
 68690  
 68691  			if iMax < iMin || (*UnionTab)(unsafe.Pointer(pTab)).FnSrc > 0 && iMin <= (*UnionSrc)(unsafe.Pointer((*UnionTab)(unsafe.Pointer(pTab)).FaSrc+uintptr((*UnionTab)(unsafe.Pointer(pTab)).FnSrc-1)*72)).FiMax {
 68692  				*(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+9040, 0)
 68693  				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 68694  			}
 68695  
 68696  			if *(*int32)(unsafe.Pointer(bp + 40)) == SQLITE_OK {
 68697  				pSrc = (*UnionTab)(unsafe.Pointer(pTab)).FaSrc + uintptr(libc.PostIncInt32(&(*UnionTab)(unsafe.Pointer(pTab)).FnSrc, 1))*72
 68698  				(*UnionSrc)(unsafe.Pointer(pSrc)).FzTab = unionStrdup(tls, bp+40, zTab)
 68699  				(*UnionSrc)(unsafe.Pointer(pSrc)).FiMin = iMin
 68700  				(*UnionSrc)(unsafe.Pointer(pSrc)).FiMax = iMax
 68701  				if bSwarm != 0 {
 68702  					(*UnionSrc)(unsafe.Pointer(pSrc)).FzFile = unionStrdup(tls, bp+40, zDb)
 68703  				} else {
 68704  					(*UnionSrc)(unsafe.Pointer(pSrc)).FzDb = unionStrdup(tls, bp+40, zDb)
 68705  				}
 68706  				if (*UnionTab)(unsafe.Pointer(pTab)).FbHasContext != 0 {
 68707  					var zContext uintptr = sqlite3.Xsqlite3_column_text(tls, pStmt, 4)
 68708  					(*UnionSrc)(unsafe.Pointer(pSrc)).FzContext = unionStrdup(tls, bp+40, zContext)
 68709  				}
 68710  			}
 68711  		}
 68712  		unionFinalize(tls, bp+40, pStmt, pzErr)
 68713  		pStmt = uintptr(0)
 68714  
 68715  		if *(*int32)(unsafe.Pointer(bp + 40)) == SQLITE_OK && (*UnionTab)(unsafe.Pointer(pTab)).FnSrc == 0 {
 68716  			*(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+9067, 0)
 68717  			*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 68718  		}
 68719  
 68720  		if *(*int32)(unsafe.Pointer(bp + 40)) == SQLITE_OK {
 68721  			if bSwarm != 0 {
 68722  				*(*int32)(unsafe.Pointer(bp + 40)) = unionOpenDatabase(tls, pTab, 0, pzErr)
 68723  			} else {
 68724  				*(*int32)(unsafe.Pointer(bp + 40)) = unionSourceCheck(tls, pTab, pzErr)
 68725  			}
 68726  		}
 68727  
 68728  		if *(*int32)(unsafe.Pointer(bp + 40)) == SQLITE_OK {
 68729  			var pSrc uintptr = (*UnionTab)(unsafe.Pointer(pTab)).FaSrc
 68730  			var tdb uintptr = func() uintptr {
 68731  				if (*UnionTab)(unsafe.Pointer(pTab)).FbSwarm != 0 {
 68732  					return (*UnionSrc)(unsafe.Pointer(pSrc)).Fdb
 68733  				}
 68734  				return (*UnionTab)(unsafe.Pointer(pTab)).Fdb
 68735  			}()
 68736  			pStmt = unionPreparePrintf(tls, bp+40, pzErr, tdb,
 68737  				ts+9095,
 68738  				libc.VaList(bp+24, (*UnionSrc)(unsafe.Pointer(pSrc)).FzTab, (*UnionSrc)(unsafe.Pointer(pSrc)).FzDb))
 68739  		}
 68740  		if *(*int32)(unsafe.Pointer(bp + 40)) == SQLITE_OK && SQLITE_ROW == sqlite3.Xsqlite3_step(tls, pStmt) {
 68741  			var zDecl uintptr = sqlite3.Xsqlite3_column_text(tls, pStmt, 0)
 68742  			*(*int32)(unsafe.Pointer(bp + 40)) = sqlite3.Xsqlite3_declare_vtab(tls, db, zDecl)
 68743  			(*UnionTab)(unsafe.Pointer(pTab)).FiPK = sqlite3.Xsqlite3_column_int(tls, pStmt, 1)
 68744  		}
 68745  
 68746  		unionFinalize(tls, bp+40, pStmt, pzErr)
 68747  	}
 68748  
 68749  	if *(*int32)(unsafe.Pointer(bp + 40)) != SQLITE_OK {
 68750  		unionDisconnect(tls, pTab)
 68751  		pTab = uintptr(0)
 68752  	}
 68753  
 68754  	*(*uintptr)(unsafe.Pointer(ppVtab)) = pTab
 68755  	return *(*int32)(unsafe.Pointer(bp + 40))
 68756  }
 68757  
 68758  func unionOpen(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 {
 68759  	bp := tls.Alloc(4)
 68760  	defer tls.Free(4)
 68761  
 68762  	var pCsr uintptr
 68763  	*(*int32)(unsafe.Pointer(bp)) = SQLITE_OK
 68764  	_ = p
 68765  	pCsr = unionMalloc(tls, bp, int64(unsafe.Sizeof(UnionCsr{})))
 68766  	*(*uintptr)(unsafe.Pointer(ppCursor)) = pCsr
 68767  	return *(*int32)(unsafe.Pointer(bp))
 68768  }
 68769  
 68770  func unionClose(tls *libc.TLS, cur uintptr) int32 {
 68771  	var pCsr uintptr = cur
 68772  	unionFinalizeCsrStmt(tls, pCsr)
 68773  	sqlite3.Xsqlite3_free(tls, pCsr)
 68774  	return SQLITE_OK
 68775  }
 68776  
 68777  func doUnionNext(tls *libc.TLS, pCsr uintptr) int32 {
 68778  	bp := tls.Alloc(28)
 68779  	defer tls.Free(28)
 68780  
 68781  	*(*int32)(unsafe.Pointer(bp + 24)) = SQLITE_OK
 68782  
 68783  	if sqlite3.Xsqlite3_step(tls, (*UnionCsr)(unsafe.Pointer(pCsr)).FpStmt) != SQLITE_ROW {
 68784  		var pTab uintptr = (*UnionCsr)(unsafe.Pointer(pCsr)).Fbase.FpVtab
 68785  		*(*int32)(unsafe.Pointer(bp + 24)) = unionFinalizeCsrStmt(tls, pCsr)
 68786  		if *(*int32)(unsafe.Pointer(bp + 24)) == SQLITE_OK && (*UnionTab)(unsafe.Pointer(pTab)).FbSwarm != 0 {
 68787  			(*UnionCsr)(unsafe.Pointer(pCsr)).FiTab++
 68788  			if (*UnionCsr)(unsafe.Pointer(pCsr)).FiTab < (*UnionTab)(unsafe.Pointer(pTab)).FnSrc {
 68789  				var pSrc uintptr = (*UnionTab)(unsafe.Pointer(pTab)).FaSrc + uintptr((*UnionCsr)(unsafe.Pointer(pCsr)).FiTab)*72
 68790  				if (*UnionCsr)(unsafe.Pointer(pCsr)).FiMaxRowid >= (*UnionSrc)(unsafe.Pointer(pSrc)).FiMin {
 68791  					*(*int32)(unsafe.Pointer(bp + 24)) = unionOpenDatabase(tls, pTab, (*UnionCsr)(unsafe.Pointer(pCsr)).FiTab, pTab+16)
 68792  					(*UnionCsr)(unsafe.Pointer(pCsr)).FpStmt = unionPreparePrintf(tls, bp+24, pTab+16, (*UnionSrc)(unsafe.Pointer(pSrc)).Fdb,
 68793  						ts+9273,
 68794  						libc.VaList(bp, (*UnionSrc)(unsafe.Pointer(pSrc)).FzTab,
 68795  							func() uintptr {
 68796  								if (*UnionSrc)(unsafe.Pointer(pSrc)).FiMax > (*UnionCsr)(unsafe.Pointer(pCsr)).FiMaxRowid {
 68797  									return ts + 9305
 68798  								}
 68799  								return ts + 9322
 68800  							}(),
 68801  							(*UnionCsr)(unsafe.Pointer(pCsr)).FiMaxRowid))
 68802  					if *(*int32)(unsafe.Pointer(bp + 24)) == SQLITE_OK {
 68803  						unionIncrRefcount(tls, pTab, (*UnionCsr)(unsafe.Pointer(pCsr)).FiTab)
 68804  						*(*int32)(unsafe.Pointer(bp + 24)) = SQLITE_ROW
 68805  					}
 68806  				}
 68807  			}
 68808  		}
 68809  	}
 68810  
 68811  	return *(*int32)(unsafe.Pointer(bp + 24))
 68812  }
 68813  
 68814  func unionNext(tls *libc.TLS, cur uintptr) int32 {
 68815  	var rc int32
 68816  	for __ccgo := true; __ccgo; __ccgo = rc == SQLITE_ROW {
 68817  		rc = doUnionNext(tls, cur)
 68818  	}
 68819  	return rc
 68820  }
 68821  
 68822  func unionColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 {
 68823  	var pCsr uintptr = cur
 68824  	sqlite3.Xsqlite3_result_value(tls, ctx, sqlite3.Xsqlite3_column_value(tls, (*UnionCsr)(unsafe.Pointer(pCsr)).FpStmt, i+1))
 68825  	return SQLITE_OK
 68826  }
 68827  
 68828  func unionRowid(tls *libc.TLS, cur uintptr, pRowid uintptr) int32 {
 68829  	var pCsr uintptr = cur
 68830  	*(*sqlite_int64)(unsafe.Pointer(pRowid)) = sqlite3.Xsqlite3_column_int64(tls, (*UnionCsr)(unsafe.Pointer(pCsr)).FpStmt, 0)
 68831  	return SQLITE_OK
 68832  }
 68833  
 68834  func unionEof(tls *libc.TLS, cur uintptr) int32 {
 68835  	var pCsr uintptr = cur
 68836  	return libc.Bool32((*UnionCsr)(unsafe.Pointer(pCsr)).FpStmt == uintptr(0))
 68837  }
 68838  
 68839  func unionFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 {
 68840  	bp := tls.Alloc(108)
 68841  	defer tls.Free(108)
 68842  
 68843  	var pTab uintptr = (*sqlite3_vtab_cursor)(unsafe.Pointer(pVtabCursor)).FpVtab
 68844  	var pCsr uintptr = pVtabCursor
 68845  	*(*int32)(unsafe.Pointer(bp + 104)) = SQLITE_OK
 68846  	var i int32
 68847  	var zSql uintptr = uintptr(0)
 68848  	var bZero int32 = 0
 68849  
 68850  	var iMin sqlite3_int64 = int64(-1) - (int64(0xffffffff) | int64(0x7fffffff)<<32)
 68851  	var iMax sqlite3_int64 = int64(0xffffffff) | int64(0x7fffffff)<<32
 68852  
 68853  	_ = idxStr
 68854  
 68855  	if idxNum == SQLITE_INDEX_CONSTRAINT_EQ {
 68856  		iMin = libc.AssignInt64(&iMax, sqlite3.Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv))))
 68857  	} else {
 68858  		if idxNum&(SQLITE_INDEX_CONSTRAINT_LE|SQLITE_INDEX_CONSTRAINT_LT) != 0 {
 68859  			iMax = sqlite3.Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv)))
 68860  			if idxNum&SQLITE_INDEX_CONSTRAINT_LT != 0 {
 68861  				if iMax == int64(-1)-(int64(0xffffffff)|int64(0x7fffffff)<<32) {
 68862  					bZero = 1
 68863  				} else {
 68864  					iMax--
 68865  				}
 68866  			}
 68867  		}
 68868  
 68869  		if idxNum&(SQLITE_INDEX_CONSTRAINT_GE|SQLITE_INDEX_CONSTRAINT_GT) != 0 {
 68870  			iMin = sqlite3.Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(argc-1)*8)))
 68871  			if idxNum&SQLITE_INDEX_CONSTRAINT_GT != 0 {
 68872  				if iMin == int64(0xffffffff)|int64(0x7fffffff)<<32 {
 68873  					bZero = 1
 68874  				} else {
 68875  					iMin++
 68876  				}
 68877  			}
 68878  		}
 68879  	}
 68880  
 68881  	unionFinalizeCsrStmt(tls, pCsr)
 68882  	if bZero != 0 {
 68883  		return SQLITE_OK
 68884  	}
 68885  
 68886  	for i = 0; i < (*UnionTab)(unsafe.Pointer(pTab)).FnSrc; i++ {
 68887  		var pSrc uintptr = (*UnionTab)(unsafe.Pointer(pTab)).FaSrc + uintptr(i)*72
 68888  		if iMin > (*UnionSrc)(unsafe.Pointer(pSrc)).FiMax || iMax < (*UnionSrc)(unsafe.Pointer(pSrc)).FiMin {
 68889  			continue
 68890  		}
 68891  
 68892  		zSql = sqlite3.Xsqlite3_mprintf(tls, ts+9326, libc.VaList(bp, zSql, func() uintptr {
 68893  			if zSql != 0 {
 68894  				return ts + 9360
 68895  			}
 68896  			return ts + 584
 68897  		}(), func() uintptr {
 68898  			if (*UnionSrc)(unsafe.Pointer(pSrc)).FzDb != 0 {
 68899  				return ts + 5624
 68900  			}
 68901  			return ts + 584
 68902  		}(), func() uintptr {
 68903  			if (*UnionSrc)(unsafe.Pointer(pSrc)).FzDb != 0 {
 68904  				return (*UnionSrc)(unsafe.Pointer(pSrc)).FzDb
 68905  			}
 68906  			return ts + 584
 68907  		}(), func() uintptr {
 68908  			if (*UnionSrc)(unsafe.Pointer(pSrc)).FzDb != 0 {
 68909  				return ts + 5626
 68910  			}
 68911  			return ts + 584
 68912  		}(), (*UnionSrc)(unsafe.Pointer(pSrc)).FzTab))
 68913  		if zSql == uintptr(0) {
 68914  			*(*int32)(unsafe.Pointer(bp + 104)) = SQLITE_NOMEM
 68915  			break
 68916  		}
 68917  
 68918  		if iMin == iMax {
 68919  			zSql = sqlite3.Xsqlite3_mprintf(tls, ts+9372, libc.VaList(bp+48, zSql, iMin))
 68920  		} else {
 68921  			var zWhere uintptr = ts + 9392
 68922  			if iMin != int64(-1)-(int64(0xffffffff)|int64(0x7fffffff)<<32) && iMin > (*UnionSrc)(unsafe.Pointer(pSrc)).FiMin {
 68923  				zSql = sqlite3.Xsqlite3_mprintf(tls, ts+9398, libc.VaList(bp+64, zSql, iMin))
 68924  				zWhere = ts + 9419
 68925  			}
 68926  			if iMax != int64(0xffffffff)|int64(0x7fffffff)<<32 && iMax < (*UnionSrc)(unsafe.Pointer(pSrc)).FiMax {
 68927  				zSql = sqlite3.Xsqlite3_mprintf(tls, ts+9423, libc.VaList(bp+80, zSql, zWhere, iMax))
 68928  			}
 68929  		}
 68930  
 68931  		if (*UnionTab)(unsafe.Pointer(pTab)).FbSwarm != 0 {
 68932  			(*UnionCsr)(unsafe.Pointer(pCsr)).FiTab = i
 68933  			(*UnionCsr)(unsafe.Pointer(pCsr)).FiMaxRowid = iMax
 68934  			*(*int32)(unsafe.Pointer(bp + 104)) = unionOpenDatabase(tls, pTab, i, pTab+16)
 68935  			break
 68936  		}
 68937  	}
 68938  
 68939  	if zSql == uintptr(0) {
 68940  		return *(*int32)(unsafe.Pointer(bp + 104))
 68941  	} else {
 68942  		var db uintptr = func() uintptr {
 68943  			if (*UnionTab)(unsafe.Pointer(pTab)).FbSwarm != 0 {
 68944  				return (*UnionSrc)(unsafe.Pointer((*UnionTab)(unsafe.Pointer(pTab)).FaSrc + uintptr((*UnionCsr)(unsafe.Pointer(pCsr)).FiTab)*72)).Fdb
 68945  			}
 68946  			return (*UnionTab)(unsafe.Pointer(pTab)).Fdb
 68947  		}()
 68948  		(*UnionCsr)(unsafe.Pointer(pCsr)).FpStmt = unionPrepare(tls, bp+104, db, zSql, pTab+16)
 68949  		if (*UnionCsr)(unsafe.Pointer(pCsr)).FpStmt != 0 {
 68950  			unionIncrRefcount(tls, pTab, (*UnionCsr)(unsafe.Pointer(pCsr)).FiTab)
 68951  		}
 68952  		sqlite3.Xsqlite3_free(tls, zSql)
 68953  	}
 68954  	if *(*int32)(unsafe.Pointer(bp + 104)) != SQLITE_OK {
 68955  		return *(*int32)(unsafe.Pointer(bp + 104))
 68956  	}
 68957  	return unionNext(tls, pVtabCursor)
 68958  }
 68959  
 68960  func unionBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 {
 68961  	var pTab uintptr = tab
 68962  	var iEq int32 = -1
 68963  	var iLt int32 = -1
 68964  	var iGt int32 = -1
 68965  	var i int32
 68966  
 68967  	for i = 0; i < (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint; i++ {
 68968  		var p uintptr = (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraint + uintptr(i)*12
 68969  		if (*sqlite3_index_constraint)(unsafe.Pointer(p)).Fusable != 0 && ((*sqlite3_index_constraint)(unsafe.Pointer(p)).FiColumn < 0 || (*sqlite3_index_constraint)(unsafe.Pointer(p)).FiColumn == (*UnionTab)(unsafe.Pointer(pTab)).FiPK) {
 68970  			switch int32((*sqlite3_index_constraint)(unsafe.Pointer(p)).Fop) {
 68971  			case SQLITE_INDEX_CONSTRAINT_EQ:
 68972  				iEq = i
 68973  				break
 68974  				fallthrough
 68975  			case SQLITE_INDEX_CONSTRAINT_LE:
 68976  				fallthrough
 68977  			case SQLITE_INDEX_CONSTRAINT_LT:
 68978  				iLt = i
 68979  				break
 68980  				fallthrough
 68981  			case SQLITE_INDEX_CONSTRAINT_GE:
 68982  				fallthrough
 68983  			case SQLITE_INDEX_CONSTRAINT_GT:
 68984  				iGt = i
 68985  				break
 68986  			}
 68987  		}
 68988  	}
 68989  
 68990  	if iEq >= 0 {
 68991  		(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(1)
 68992  		(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxFlags = SQLITE_INDEX_SCAN_UNIQUE
 68993  		(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 3.0
 68994  		(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = SQLITE_INDEX_CONSTRAINT_EQ
 68995  		(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iEq)*8)).FargvIndex = 1
 68996  		(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iEq)*8)).Fomit = uint8(1)
 68997  	} else {
 68998  		var iCons int32 = 1
 68999  		var idxNum int32 = 0
 69000  		var nRow sqlite3_int64 = int64(1000000)
 69001  		if iLt >= 0 {
 69002  			nRow = nRow / int64(2)
 69003  			(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iLt)*8)).FargvIndex = libc.PostIncInt32(&iCons, 1)
 69004  			(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iLt)*8)).Fomit = uint8(1)
 69005  			idxNum = idxNum | int32((*sqlite3_index_constraint)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraint+uintptr(iLt)*12)).Fop)
 69006  		}
 69007  		if iGt >= 0 {
 69008  			nRow = nRow / int64(2)
 69009  			(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iGt)*8)).FargvIndex = libc.PostIncInt32(&iCons, 1)
 69010  			(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(iGt)*8)).Fomit = uint8(1)
 69011  			idxNum = idxNum | int32((*sqlite3_index_constraint)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraint+uintptr(iGt)*12)).Fop)
 69012  		}
 69013  		(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = nRow
 69014  		(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 3.0 * float64(nRow)
 69015  		(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = idxNum
 69016  	}
 69017  
 69018  	return SQLITE_OK
 69019  }
 69020  
 69021  func createUnionVtab(tls *libc.TLS, db uintptr) int32 {
 69022  	var rc int32
 69023  
 69024  	rc = sqlite3.Xsqlite3_create_module(tls, db, ts+8921, uintptr(unsafe.Pointer(&unionModule)), uintptr(0))
 69025  	if rc == SQLITE_OK {
 69026  		rc = sqlite3.Xsqlite3_create_module(tls, db, ts+8911, uintptr(unsafe.Pointer(&unionModule)), db)
 69027  	}
 69028  	return rc
 69029  }
 69030  
 69031  var unionModule = sqlite3_module{
 69032  	FxCreate:     0,
 69033  	FxConnect:    0,
 69034  	FxBestIndex:  0,
 69035  	FxDisconnect: 0,
 69036  	FxDestroy:    0,
 69037  	FxOpen:       0,
 69038  	FxClose:      0,
 69039  	FxFilter:     0,
 69040  	FxNext:       0,
 69041  	FxEof:        0,
 69042  	FxColumn:     0,
 69043  	FxRowid:      0,
 69044  }
 69045  
 69046  func sqlite3_unionvtab_init(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi uintptr) int32 {
 69047  	var rc int32 = SQLITE_OK
 69048  	_ = pApi
 69049  
 69050  	_ = pzErrMsg
 69051  	rc = createUnionVtab(tls, db)
 69052  	return rc
 69053  }
 69054  
 69055  type wholenumber_cursor1 = struct {
 69056  	Fbase    sqlite3_vtab_cursor
 69057  	FiValue  sqlite3_int64
 69058  	FmxValue sqlite3_int64
 69059  }
 69060  
 69061  type wholenumber_cursor = wholenumber_cursor1
 69062  
 69063  func wholenumberConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 {
 69064  	var pNew uintptr
 69065  	pNew = libc.AssignPtrUintptr(ppVtab, sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(sqlite3_vtab{}))))
 69066  	if pNew == uintptr(0) {
 69067  		return SQLITE_NOMEM
 69068  	}
 69069  	sqlite3.Xsqlite3_declare_vtab(tls, db, ts+9441)
 69070  	sqlite3.Xsqlite3_vtab_config(tls, db, SQLITE_VTAB_INNOCUOUS, 0)
 69071  	libc.Xmemset(tls, pNew, 0, uint64(unsafe.Sizeof(sqlite3_vtab{})))
 69072  	return SQLITE_OK
 69073  }
 69074  
 69075  func wholenumberDisconnect(tls *libc.TLS, pVtab uintptr) int32 {
 69076  	sqlite3.Xsqlite3_free(tls, pVtab)
 69077  	return SQLITE_OK
 69078  }
 69079  
 69080  func wholenumberOpen(tls *libc.TLS, p uintptr, ppCursor uintptr) int32 {
 69081  	var pCur uintptr
 69082  	pCur = sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(wholenumber_cursor{})))
 69083  	if pCur == uintptr(0) {
 69084  		return SQLITE_NOMEM
 69085  	}
 69086  	libc.Xmemset(tls, pCur, 0, uint64(unsafe.Sizeof(wholenumber_cursor{})))
 69087  	*(*uintptr)(unsafe.Pointer(ppCursor)) = pCur
 69088  	return SQLITE_OK
 69089  }
 69090  
 69091  func wholenumberClose(tls *libc.TLS, cur uintptr) int32 {
 69092  	sqlite3.Xsqlite3_free(tls, cur)
 69093  	return SQLITE_OK
 69094  }
 69095  
 69096  func wholenumberNext(tls *libc.TLS, cur uintptr) int32 {
 69097  	var pCur uintptr = cur
 69098  	(*wholenumber_cursor)(unsafe.Pointer(pCur)).FiValue++
 69099  	return SQLITE_OK
 69100  }
 69101  
 69102  func wholenumberColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 {
 69103  	var pCur uintptr = cur
 69104  	sqlite3.Xsqlite3_result_int64(tls, ctx, (*wholenumber_cursor)(unsafe.Pointer(pCur)).FiValue)
 69105  	return SQLITE_OK
 69106  }
 69107  
 69108  func wholenumberRowid(tls *libc.TLS, cur uintptr, pRowid uintptr) int32 {
 69109  	var pCur uintptr = cur
 69110  	*(*sqlite_int64)(unsafe.Pointer(pRowid)) = (*wholenumber_cursor)(unsafe.Pointer(pCur)).FiValue
 69111  	return SQLITE_OK
 69112  }
 69113  
 69114  func wholenumberEof(tls *libc.TLS, cur uintptr) int32 {
 69115  	var pCur uintptr = cur
 69116  	return libc.Bool32((*wholenumber_cursor)(unsafe.Pointer(pCur)).FiValue > (*wholenumber_cursor)(unsafe.Pointer(pCur)).FmxValue || (*wholenumber_cursor)(unsafe.Pointer(pCur)).FiValue == int64(0))
 69117  }
 69118  
 69119  func wholenumberFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 {
 69120  	var pCur uintptr = pVtabCursor
 69121  	var v sqlite3_int64
 69122  	var i int32 = 0
 69123  	(*wholenumber_cursor)(unsafe.Pointer(pCur)).FiValue = int64(1)
 69124  	(*wholenumber_cursor)(unsafe.Pointer(pCur)).FmxValue = int64(0xffffffff)
 69125  	if idxNum&3 != 0 {
 69126  		v = sqlite3.Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv))) + sqlite3_int64(idxNum&1)
 69127  		if v > (*wholenumber_cursor)(unsafe.Pointer(pCur)).FiValue && v <= (*wholenumber_cursor)(unsafe.Pointer(pCur)).FmxValue {
 69128  			(*wholenumber_cursor)(unsafe.Pointer(pCur)).FiValue = v
 69129  		}
 69130  		i++
 69131  	}
 69132  	if idxNum&12 != 0 {
 69133  		v = sqlite3.Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) - sqlite3_int64(idxNum>>2&1)
 69134  		if v >= (*wholenumber_cursor)(unsafe.Pointer(pCur)).FiValue && v < (*wholenumber_cursor)(unsafe.Pointer(pCur)).FmxValue {
 69135  			(*wholenumber_cursor)(unsafe.Pointer(pCur)).FmxValue = v
 69136  		}
 69137  	}
 69138  	return SQLITE_OK
 69139  }
 69140  
 69141  func wholenumberBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 {
 69142  	var i int32
 69143  	var idxNum int32 = 0
 69144  	var argvIdx int32 = 1
 69145  	var ltIdx int32 = -1
 69146  	var gtIdx int32 = -1
 69147  	var pConstraint uintptr
 69148  	pConstraint = (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraint
 69149  	i = 0
 69150  __1:
 69151  	if !(i < (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint) {
 69152  		goto __3
 69153  	}
 69154  	{
 69155  		if int32((*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fusable) == 0 {
 69156  			goto __2
 69157  		}
 69158  		if idxNum&3 == 0 && int32((*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fop) == SQLITE_INDEX_CONSTRAINT_GT {
 69159  			idxNum = idxNum | 1
 69160  			ltIdx = i
 69161  		}
 69162  		if idxNum&3 == 0 && int32((*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fop) == SQLITE_INDEX_CONSTRAINT_GE {
 69163  			idxNum = idxNum | 2
 69164  			ltIdx = i
 69165  		}
 69166  		if idxNum&12 == 0 && int32((*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fop) == SQLITE_INDEX_CONSTRAINT_LT {
 69167  			idxNum = idxNum | 4
 69168  			gtIdx = i
 69169  		}
 69170  		if idxNum&12 == 0 && int32((*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fop) == SQLITE_INDEX_CONSTRAINT_LE {
 69171  			idxNum = idxNum | 8
 69172  			gtIdx = i
 69173  		}
 69174  
 69175  	}
 69176  	goto __2
 69177  __2:
 69178  	i++
 69179  	pConstraint += 12
 69180  	goto __1
 69181  	goto __3
 69182  __3:
 69183  	;
 69184  	(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = idxNum
 69185  	if ltIdx >= 0 {
 69186  		(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(ltIdx)*8)).FargvIndex = libc.PostIncInt32(&argvIdx, 1)
 69187  		(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(ltIdx)*8)).Fomit = uint8(1)
 69188  	}
 69189  	if gtIdx >= 0 {
 69190  		(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(gtIdx)*8)).FargvIndex = argvIdx
 69191  		(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(gtIdx)*8)).Fomit = uint8(1)
 69192  	}
 69193  	if (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnOrderBy == 1 &&
 69194  		int32((*sqlite3_index_orderby)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaOrderBy)).Fdesc) == 0 {
 69195  		(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).ForderByConsumed = 1
 69196  	}
 69197  	if idxNum&12 == 0 {
 69198  		(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 1e99
 69199  	} else if idxNum&3 == 0 {
 69200  		(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = float64(5)
 69201  	} else {
 69202  		(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = float64(1)
 69203  	}
 69204  	return SQLITE_OK
 69205  }
 69206  
 69207  var wholenumberModule = sqlite3_module{
 69208  	FxCreate:     0,
 69209  	FxConnect:    0,
 69210  	FxBestIndex:  0,
 69211  	FxDisconnect: 0,
 69212  	FxDestroy:    0,
 69213  	FxOpen:       0,
 69214  	FxClose:      0,
 69215  	FxFilter:     0,
 69216  	FxNext:       0,
 69217  	FxEof:        0,
 69218  	FxColumn:     0,
 69219  	FxRowid:      0,
 69220  }
 69221  
 69222  func sqlite3_wholenumber_init(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi uintptr) int32 {
 69223  	var rc int32 = SQLITE_OK
 69224  	_ = pApi
 69225  
 69226  	rc = sqlite3.Xsqlite3_create_module(tls, db, ts+9463, uintptr(unsafe.Pointer(&wholenumberModule)), uintptr(0))
 69227  	return rc
 69228  }
 69229  
 69230  func test_rbu_delta(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr) {
 69231  	var interp uintptr = sqlite3.Xsqlite3_user_data(tls, pCtx)
 69232  	var pScript uintptr
 69233  	var i int32
 69234  
 69235  	pScript = tcl.XTcl_NewObj(tls)
 69236  	(*Tcl_Obj)(unsafe.Pointer(pScript)).FrefCount++
 69237  	tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pScript, tcl.XTcl_NewStringObj(tls, ts+9475, -1))
 69238  	for i = 0; i < nArg; i++ {
 69239  		var pIn uintptr = *(*uintptr)(unsafe.Pointer(apVal + uintptr(i)*8))
 69240  		var z uintptr = sqlite3.Xsqlite3_value_text(tls, pIn)
 69241  		tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pScript, tcl.XTcl_NewStringObj(tls, z, -1))
 69242  	}
 69243  
 69244  	if TCL_OK == tcl.XTcl_EvalObjEx(tls, interp, pScript, TCL_GLOBAL_ONLY) {
 69245  		var z uintptr = tcl.XTcl_GetStringResult(tls, interp)
 69246  		sqlite3.Xsqlite3_result_text(tls, pCtx, z, -1, libc.UintptrFromInt32(-1))
 69247  	} else {
 69248  		tcl.XTcl_BackgroundError(tls, interp)
 69249  	}
 69250  
 69251  	for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
 69252  		var _objPtr uintptr = pScript
 69253  		if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 69254  			tcl.XTclFreeObj(tls, _objPtr)
 69255  		}
 69256  	}
 69257  }
 69258  
 69259  func test_sqlite3rbu_cmd(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 69260  	bp := tls.Alloc(496)
 69261  	defer tls.Free(496)
 69262  
 69263  	var ret int32 = TCL_OK
 69264  	var pRbu uintptr = clientData
 69265  	*(*[14]RbuCmd)(unsafe.Pointer(bp + 24)) = [14]RbuCmd{
 69266  		{FzName: ts + 9485, FnArg: 2, FzUsage: ts + 584},
 69267  		{FzName: ts + 9490, FnArg: 2, FzUsage: ts + 584},
 69268  		{FzName: ts + 9496, FnArg: 2, FzUsage: ts + 584},
 69269  		{FzName: ts + 9513, FnArg: 2, FzUsage: ts + 584},
 69270  		{FzName: ts + 9523, FnArg: 3, FzUsage: ts + 9535},
 69271  		{FzName: ts + 9539, FnArg: 2, FzUsage: ts + 584},
 69272  		{FzName: ts + 9551, FnArg: 3, FzUsage: ts + 9554},
 69273  		{FzName: ts + 9558, FnArg: 2, FzUsage: ts + 584},
 69274  		{FzName: ts + 9564, FnArg: 2, FzUsage: ts + 584},
 69275  		{FzName: ts + 9573, FnArg: 2, FzUsage: ts + 584},
 69276  		{FzName: ts + 9588, FnArg: 3, FzUsage: ts + 9604},
 69277  		{FzName: ts + 9610, FnArg: 2, FzUsage: ts + 584},
 69278  		{FzName: ts + 9620, FnArg: 3, FzUsage: ts + 9535},
 69279  		{},
 69280  	}
 69281  
 69282  	if objc < 2 {
 69283  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+9631)
 69284  		return TCL_ERROR
 69285  	}
 69286  	ret = tcl.XTcl_GetIndexFromObjStruct(tls,
 69287  		interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+24, int32(unsafe.Sizeof(RbuCmd{})), ts+9638, 0, bp+360)
 69288  	if ret != 0 {
 69289  		return TCL_ERROR
 69290  	}
 69291  	if objc != (*RbuCmd)(unsafe.Pointer(bp+24+uintptr(*(*int32)(unsafe.Pointer(bp + 360)))*24)).FnArg {
 69292  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, (*RbuCmd)(unsafe.Pointer(bp+24+uintptr(*(*int32)(unsafe.Pointer(bp + 360)))*24)).FzUsage)
 69293  		return TCL_ERROR
 69294  	}
 69295  
 69296  	switch *(*int32)(unsafe.Pointer(bp + 360)) {
 69297  	case 0:
 69298  		{
 69299  			var rc int32 = sqlite3.Xsqlite3rbu_step(tls, pRbu)
 69300  			tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3ErrName(tls, rc), -1))
 69301  			break
 69302  
 69303  		}
 69304  
 69305  	case 9:
 69306  		fallthrough
 69307  	case 1:
 69308  		{
 69309  			*(*uintptr)(unsafe.Pointer(bp + 368)) = uintptr(0)
 69310  			var rc int32
 69311  			tcl.XTcl_DeleteCommand(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))))
 69312  			if *(*int32)(unsafe.Pointer(bp + 360)) == 1 {
 69313  				rc = sqlite3.Xsqlite3rbu_close(tls, pRbu, bp+368)
 69314  			} else {
 69315  				rc = sqlite3.Xsqlite3rbu_close(tls, pRbu, uintptr(0))
 69316  			}
 69317  			if rc == SQLITE_OK || rc == SQLITE_DONE {
 69318  				tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3ErrName(tls, rc), -1))
 69319  
 69320  			} else {
 69321  				tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3ErrName(tls, rc), -1))
 69322  				if *(*uintptr)(unsafe.Pointer(bp + 368)) != 0 {
 69323  					tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+9645, *(*uintptr)(unsafe.Pointer(bp + 368)), 0))
 69324  					sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 368)))
 69325  				}
 69326  				ret = TCL_ERROR
 69327  			}
 69328  			break
 69329  
 69330  		}
 69331  
 69332  	case 2:
 69333  		{
 69334  			var db uintptr = sqlite3.Xsqlite3rbu_db(tls, pRbu, 0)
 69335  			var rc int32 = sqlite3.Xsqlite3_create_function(tls,
 69336  				db, ts+9475, -1, SQLITE_UTF8, interp, *(*uintptr)(unsafe.Pointer(&struct {
 69337  					f func(*libc.TLS, uintptr, int32, uintptr)
 69338  				}{test_rbu_delta})), uintptr(0), uintptr(0))
 69339  			tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3ErrName(tls, rc), -1))
 69340  			ret = func() int32 {
 69341  				if rc == SQLITE_OK {
 69342  					return TCL_OK
 69343  				}
 69344  				return TCL_ERROR
 69345  			}()
 69346  			break
 69347  
 69348  		}
 69349  
 69350  	case 3:
 69351  		{
 69352  			var rc int32 = sqlite3.Xsqlite3rbu_savestate(tls, pRbu)
 69353  			tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3ErrName(tls, rc), -1))
 69354  			ret = func() int32 {
 69355  				if rc == SQLITE_OK {
 69356  					return TCL_OK
 69357  				}
 69358  				return TCL_ERROR
 69359  			}()
 69360  			break
 69361  
 69362  		}
 69363  
 69364  	case 12:
 69365  		fallthrough
 69366  	case 4:
 69367  		{
 69368  			var db uintptr = sqlite3.Xsqlite3rbu_db(tls, pRbu, libc.Bool32(*(*int32)(unsafe.Pointer(bp + 360)) == 12))
 69369  			var rc int32 = sqlite3.Xsqlite3_exec(tls, db, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), uintptr(0), uintptr(0), uintptr(0))
 69370  			if rc != SQLITE_OK {
 69371  				tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3_errmsg(tls, db), -1))
 69372  				ret = TCL_ERROR
 69373  			}
 69374  			break
 69375  
 69376  		}
 69377  
 69378  	case 5:
 69379  		{
 69380  			var pObj uintptr
 69381  			sqlite3.Xsqlite3rbu_bp_progress(tls, pRbu, bp+376, bp+380)
 69382  
 69383  			pObj = tcl.XTcl_NewObj(tls)
 69384  			tcl.XTcl_ListObjAppendElement(tls, interp, pObj, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 376))))
 69385  			tcl.XTcl_ListObjAppendElement(tls, interp, pObj, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 380))))
 69386  			tcl.XTcl_SetObjResult(tls, interp, pObj)
 69387  			break
 69388  
 69389  		}
 69390  
 69391  	case 6:
 69392  		{
 69393  			if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+384) != 0 {
 69394  				ret = TCL_ERROR
 69395  			} else {
 69396  				var db uintptr = sqlite3.Xsqlite3rbu_db(tls, pRbu, *(*int32)(unsafe.Pointer(bp + 384)))
 69397  				if sqlite3TestMakePointerStr(tls, interp, bp+388, db) != 0 {
 69398  					ret = TCL_ERROR
 69399  				} else {
 69400  					tcl.XTcl_SetResult(tls, interp, bp+388, uintptr(1))
 69401  				}
 69402  			}
 69403  			break
 69404  
 69405  		}
 69406  	case 7:
 69407  		{
 69408  			*(*[6]uintptr)(unsafe.Pointer(bp + 440)) = [6]uintptr{uintptr(0), ts + 9649, ts + 9653, ts + 9658, ts + 9669, ts + 9674}
 69409  			var eState int32 = sqlite3.Xsqlite3rbu_state(tls, pRbu)
 69410  
 69411  			tcl.XTcl_SetResult(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 440 + uintptr(eState)*8)), uintptr(0))
 69412  			break
 69413  
 69414  		}
 69415  	case 8:
 69416  		{
 69417  			var nStep sqlite3_int64 = sqlite3.Xsqlite3rbu_progress(tls, pRbu)
 69418  			tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewWideIntObj(tls, nStep))
 69419  			break
 69420  
 69421  		}
 69422  
 69423  	case 10:
 69424  		{
 69425  			if tcl.XTcl_GetWideIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+488) != 0 {
 69426  				ret = TCL_ERROR
 69427  			} else {
 69428  				*(*sqlite3_int64)(unsafe.Pointer(bp + 488)) = sqlite3.Xsqlite3rbu_temp_size_limit(tls, pRbu, *(*sqlite3_int64)(unsafe.Pointer(bp + 488)))
 69429  				tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewWideIntObj(tls, *(*sqlite3_int64)(unsafe.Pointer(bp + 488))))
 69430  			}
 69431  			break
 69432  
 69433  		}
 69434  	case 11:
 69435  		{
 69436  			var sz sqlite3_int64 = sqlite3.Xsqlite3rbu_temp_size(tls, pRbu)
 69437  			tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewWideIntObj(tls, sz))
 69438  			break
 69439  
 69440  		}
 69441  
 69442  	default:
 69443  		break
 69444  	}
 69445  
 69446  	return ret
 69447  }
 69448  
 69449  type RbuCmd = struct {
 69450  	FzName       uintptr
 69451  	FnArg        int32
 69452  	F__ccgo_pad1 [4]byte
 69453  	FzUsage      uintptr
 69454  }
 69455  
 69456  func test_sqlite3rbu(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 69457  	var pRbu uintptr = uintptr(0)
 69458  	var zCmd uintptr
 69459  	var zTarget uintptr
 69460  	var zRbu uintptr
 69461  	var zStateDb uintptr = uintptr(0)
 69462  
 69463  	if objc != 4 && objc != 5 {
 69464  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+9680)
 69465  		return TCL_ERROR
 69466  	}
 69467  	zCmd = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))
 69468  	zTarget = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
 69469  	zRbu = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)))
 69470  	if objc == 5 {
 69471  		zStateDb = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 4*8)))
 69472  	}
 69473  
 69474  	pRbu = sqlite3.Xsqlite3rbu_open(tls, zTarget, zRbu, zStateDb)
 69475  	tcl.XTcl_CreateObjCommand(tls, interp, zCmd, *(*uintptr)(unsafe.Pointer(&struct {
 69476  		f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32
 69477  	}{test_sqlite3rbu_cmd})), pRbu, uintptr(0))
 69478  	tcl.XTcl_SetObjResult(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)))
 69479  	return TCL_OK
 69480  }
 69481  
 69482  func test_sqlite3rbu_vacuum(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 69483  	var pRbu uintptr = uintptr(0)
 69484  	var zCmd uintptr
 69485  	var zTarget uintptr
 69486  	var zStateDb uintptr = uintptr(0)
 69487  
 69488  	if objc != 3 && objc != 4 {
 69489  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+9713)
 69490  		return TCL_ERROR
 69491  	}
 69492  	zCmd = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))
 69493  	zTarget = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
 69494  	if objc == 4 {
 69495  		zStateDb = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)))
 69496  	}
 69497  	if zStateDb != 0 && int32(*(*int8)(unsafe.Pointer(zStateDb))) == 0 {
 69498  		zStateDb = uintptr(0)
 69499  	}
 69500  
 69501  	pRbu = sqlite3.Xsqlite3rbu_vacuum(tls, zTarget, zStateDb)
 69502  	tcl.XTcl_CreateObjCommand(tls, interp, zCmd, *(*uintptr)(unsafe.Pointer(&struct {
 69503  		f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32
 69504  	}{test_sqlite3rbu_cmd})), pRbu, uintptr(0))
 69505  	tcl.XTcl_SetObjResult(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)))
 69506  	return TCL_OK
 69507  }
 69508  
 69509  func test_sqlite3rbu_create_vfs(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 69510  	var zName uintptr
 69511  	var zParent uintptr
 69512  	var rc int32
 69513  
 69514  	if objc != 3 && objc != 4 {
 69515  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+9739)
 69516  		return TCL_ERROR
 69517  	}
 69518  
 69519  	zName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(objc-2)*8)))
 69520  	zParent = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(objc-1)*8)))
 69521  	if int32(*(*int8)(unsafe.Pointer(zParent))) == 0 {
 69522  		zParent = uintptr(0)
 69523  	}
 69524  
 69525  	rc = sqlite3.Xsqlite3rbu_create_vfs(tls, zName, zParent)
 69526  	if rc != SQLITE_OK {
 69527  		tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3ErrName(tls, rc), -1))
 69528  		return TCL_ERROR
 69529  	} else if objc == 4 {
 69530  		var pVfs uintptr = sqlite3.Xsqlite3_vfs_find(tls, zName)
 69531  		sqlite3.Xsqlite3_vfs_register(tls, pVfs, 1)
 69532  	}
 69533  
 69534  	tcl.XTcl_ResetResult(tls, interp)
 69535  	return TCL_OK
 69536  }
 69537  
 69538  func test_sqlite3rbu_destroy_vfs(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 69539  	var zName uintptr
 69540  
 69541  	if objc != 2 {
 69542  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+9762)
 69543  		return TCL_ERROR
 69544  	}
 69545  
 69546  	zName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))
 69547  	sqlite3.Xsqlite3rbu_destroy_vfs(tls, zName)
 69548  	return TCL_OK
 69549  }
 69550  
 69551  func test_sqlite3rbu_internal_test(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 69552  	bp := tls.Alloc(16)
 69553  	defer tls.Free(16)
 69554  
 69555  	var db uintptr
 69556  
 69557  	if objc != 1 {
 69558  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+584)
 69559  		return TCL_ERROR
 69560  	}
 69561  
 69562  	db = sqlite3.Xsqlite3rbu_db(tls, uintptr(0), 0)
 69563  	if db != uintptr(0) {
 69564  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+9767, 0))
 69565  		return TCL_ERROR
 69566  	}
 69567  
 69568  	return TCL_OK
 69569  }
 69570  
 69571  func SqliteRbu_Init(tls *libc.TLS, interp uintptr) int32 {
 69572  	var i int32
 69573  	for i = 0; uint64(i) < uint64(unsafe.Sizeof(aObjCmd))/uint64(unsafe.Sizeof(struct {
 69574  		FzName uintptr
 69575  		FxProc uintptr
 69576  	}{})); i++ {
 69577  		tcl.XTcl_CreateObjCommand(tls, interp, aObjCmd[i].FzName, aObjCmd[i].FxProc, uintptr(0), uintptr(0))
 69578  	}
 69579  	return TCL_OK
 69580  }
 69581  
 69582  var aObjCmd = [5]struct {
 69583  	FzName uintptr
 69584  	FxProc uintptr
 69585  }{
 69586  	{FzName: ts + 9790, FxProc: 0},
 69587  	{FzName: ts + 9801, FxProc: 0},
 69588  	{FzName: ts + 9819, FxProc: 0},
 69589  	{FzName: ts + 9841, FxProc: 0},
 69590  	{FzName: ts + 9864, FxProc: 0},
 69591  }
 69592  
 69593  type sqlite31 = sqlite32
 69594  
 69595  type sqlite3_str = sqlite3_str1
 69596  
 69597  type max_align_t = struct {
 69598  	F__max_align_ll int64
 69599  	F__max_align_ld float64
 69600  }
 69601  
 69602  type int8_t = int8
 69603  type uint8_t = uint8
 69604  type int16_t = int16
 69605  type uint16_t = uint16
 69606  type int32_t = int32
 69607  type uint32_t = uint32
 69608  type int64_t = int64
 69609  type uint64_t = uint64
 69610  
 69611  type int_least8_t = int8
 69612  type uint_least8_t = uint8
 69613  type int_least16_t = int16
 69614  type uint_least16_t = uint16
 69615  type int_least32_t = int32
 69616  type uint_least32_t = uint32
 69617  type int_least64_t = int64
 69618  type uint_least64_t = uint64
 69619  
 69620  type int_fast8_t = int8
 69621  type uint_fast8_t = uint8
 69622  type int_fast16_t = int16
 69623  type uint_fast16_t = uint16
 69624  type int_fast32_t = int32
 69625  type uint_fast32_t = uint32
 69626  type int_fast64_t = int64
 69627  type uint_fast64_t = uint64
 69628  
 69629  type intmax_t = int64
 69630  type uintmax_t = uint64
 69631  
 69632  type imaxdiv_t = struct {
 69633  	Fquot intmax_t
 69634  	Frem  intmax_t
 69635  }
 69636  
 69637  type _SETJMP_FLOAT128 = struct{ FPart [2]uint64 }
 69638  
 69639  type SETJMP_FLOAT128 = _SETJMP_FLOAT128
 69640  
 69641  type _JBTYPE = SETJMP_FLOAT128
 69642  
 69643  type _JUMP_BUFFER1 = struct {
 69644  	FFrame uint64
 69645  	FRbx   uint64
 69646  	FRsp   uint64
 69647  	FRbp   uint64
 69648  	FRsi   uint64
 69649  	FRdi   uint64
 69650  	FR12   uint64
 69651  	FR13   uint64
 69652  	FR14   uint64
 69653  	FR15   uint64
 69654  	FRip   uint64
 69655  	FSpare uint64
 69656  	FXmm6  SETJMP_FLOAT128
 69657  	FXmm7  SETJMP_FLOAT128
 69658  	FXmm8  SETJMP_FLOAT128
 69659  	FXmm9  SETJMP_FLOAT128
 69660  	FXmm10 SETJMP_FLOAT128
 69661  	FXmm11 SETJMP_FLOAT128
 69662  	FXmm12 SETJMP_FLOAT128
 69663  	FXmm13 SETJMP_FLOAT128
 69664  	FXmm14 SETJMP_FLOAT128
 69665  	FXmm15 SETJMP_FLOAT128
 69666  }
 69667  
 69668  type _JUMP_BUFFER = _JUMP_BUFFER1
 69669  
 69670  type jmp_buf = [16]_JBTYPE
 69671  
 69672  type Hash1 = struct {
 69673  	Fhtsize uint32
 69674  	Fcount  uint32
 69675  	Ffirst  uintptr
 69676  	Fht     uintptr
 69677  }
 69678  
 69679  type Hash = Hash1
 69680  type HashElem1 = struct {
 69681  	Fnext uintptr
 69682  	Fprev uintptr
 69683  	Fdata uintptr
 69684  	FpKey uintptr
 69685  }
 69686  
 69687  type HashElem = HashElem1
 69688  
 69689  type _ht = struct {
 69690  	Fcount       uint32
 69691  	F__ccgo_pad1 [4]byte
 69692  	Fchain       uintptr
 69693  }
 69694  
 69695  type i16 = int16_t
 69696  type i8 = int8_t
 69697  
 69698  type tRowcnt = u32
 69699  
 69700  type LogEst = int16_t
 69701  
 69702  type uptr = uintptr_t
 69703  
 69704  type BusyHandler1 = struct {
 69705  	FxBusyHandler uintptr
 69706  	FpBusyArg     uintptr
 69707  	FnBusy        int32
 69708  	F__ccgo_pad1  [4]byte
 69709  }
 69710  
 69711  type BusyHandler = BusyHandler1
 69712  
 69713  type AggInfo1 = struct {
 69714  	FdirectMode     u8
 69715  	FuseSortingIdx  u8
 69716  	F__ccgo_pad1    [2]byte
 69717  	FsortingIdx     int32
 69718  	FsortingIdxPTab int32
 69719  	FnSortingColumn int32
 69720  	FmnReg          int32
 69721  	FmxReg          int32
 69722  	FpGroupBy       uintptr
 69723  	FaCol           uintptr
 69724  	FnColumn        int32
 69725  	FnAccumulator   int32
 69726  	FaFunc          uintptr
 69727  	FnFunc          int32
 69728  	FselId          u32
 69729  }
 69730  
 69731  type AggInfo = AggInfo1
 69732  type AuthContext1 = struct {
 69733  	FzAuthContext uintptr
 69734  	FpParse       uintptr
 69735  }
 69736  
 69737  type AuthContext = AuthContext1
 69738  type AutoincInfo1 = struct {
 69739  	FpNext  uintptr
 69740  	FpTab   uintptr
 69741  	FiDb    int32
 69742  	FregCtr int32
 69743  }
 69744  
 69745  type AutoincInfo = AutoincInfo1
 69746  type CollSeq1 = struct {
 69747  	FzName       uintptr
 69748  	Fenc         u8
 69749  	F__ccgo_pad1 [7]byte
 69750  	FpUser       uintptr
 69751  	FxCmp        uintptr
 69752  	FxDel        uintptr
 69753  }
 69754  
 69755  type CollSeq = CollSeq1
 69756  type Column1 = struct {
 69757  	FzCnName     uintptr
 69758  	FnotNull     uint8
 69759  	F__ccgo_pad1 [1]byte
 69760  	Faffinity    int8
 69761  	FszEst       u8
 69762  	FhName       u8
 69763  	F__ccgo_pad2 [1]byte
 69764  	FiDflt       u16
 69765  	FcolFlags    u16
 69766  	F__ccgo_pad3 [6]byte
 69767  }
 69768  
 69769  type Column = Column1
 69770  type Cte1 = struct {
 69771  	FzName       uintptr
 69772  	FpCols       uintptr
 69773  	FpSelect     uintptr
 69774  	FzCteErr     uintptr
 69775  	FpUse        uintptr
 69776  	FeM10d       u8
 69777  	F__ccgo_pad1 [7]byte
 69778  }
 69779  
 69780  type Cte = Cte1
 69781  type CteUse1 = struct {
 69782  	FnUse        int32
 69783  	FaddrM9e     int32
 69784  	FregRtn      int32
 69785  	FiCur        int32
 69786  	FnRowEst     LogEst
 69787  	FeM10d       u8
 69788  	F__ccgo_pad1 [1]byte
 69789  }
 69790  
 69791  type CteUse = CteUse1
 69792  type Db1 = struct {
 69793  	FzDbSName     uintptr
 69794  	FpBt          uintptr
 69795  	Fsafety_level u8
 69796  	FbSyncSet     u8
 69797  	F__ccgo_pad1  [6]byte
 69798  	FpSchema      uintptr
 69799  }
 69800  
 69801  type Db = Db1
 69802  type DbFixer1 = struct {
 69803  	FpParse      uintptr
 69804  	Fw           Walker
 69805  	FpSchema     uintptr
 69806  	FbTemp       u8
 69807  	F__ccgo_pad1 [7]byte
 69808  	FzDb         uintptr
 69809  	FzType       uintptr
 69810  	FpName       uintptr
 69811  }
 69812  
 69813  type DbFixer = DbFixer1
 69814  type Schema1 = struct {
 69815  	Fschema_cookie int32
 69816  	FiGeneration   int32
 69817  	FtblHash       Hash
 69818  	FidxHash       Hash
 69819  	FtrigHash      Hash
 69820  	FfkeyHash      Hash
 69821  	FpSeqTab       uintptr
 69822  	Ffile_format   u8
 69823  	Fenc           u8
 69824  	FschemaFlags   u16
 69825  	Fcache_size    int32
 69826  }
 69827  
 69828  type Schema = Schema1
 69829  type Expr1 = struct {
 69830  	Fop          u8
 69831  	FaffExpr     int8
 69832  	Fop2         u8
 69833  	F__ccgo_pad1 [1]byte
 69834  	Fflags       u32
 69835  	Fu           struct{ FzToken uintptr }
 69836  	FpLeft       uintptr
 69837  	FpRight      uintptr
 69838  	Fx           struct{ FpList uintptr }
 69839  	FnHeight     int32
 69840  	FiTable      int32
 69841  	FiColumn     ynVar
 69842  	FiAgg        i16
 69843  	Fw           struct{ FiJoin int32 }
 69844  	FpAggInfo    uintptr
 69845  	Fy           struct{ FpTab uintptr }
 69846  }
 69847  
 69848  type Expr = Expr1
 69849  type ExprList1 = struct {
 69850  	FnExpr  int32
 69851  	FnAlloc int32
 69852  	Fa      [1]struct {
 69853  		FpExpr  uintptr
 69854  		FzEName uintptr
 69855  		Ffg     struct {
 69856  			F__ccgo_pad1 [0]uint32
 69857  			FsortFlags   u8
 69858  			F__ccgo_pad2 [3]byte
 69859  			FeEName      uint16
 69860  			F__ccgo_pad3 [2]byte
 69861  		}
 69862  		Fu struct {
 69863  			F__ccgo_pad1 [0]uint32
 69864  			Fx           struct {
 69865  				FiOrderByCol u16
 69866  				FiAlias      u16
 69867  			}
 69868  		}
 69869  		F__ccgo_pad1 [4]byte
 69870  	}
 69871  }
 69872  
 69873  type ExprList = ExprList1
 69874  type FKey1 = struct {
 69875  	FpFrom       uintptr
 69876  	FpNextFrom   uintptr
 69877  	FzTo         uintptr
 69878  	FpNextTo     uintptr
 69879  	FpPrevTo     uintptr
 69880  	FnCol        int32
 69881  	FisDeferred  u8
 69882  	FaAction     [2]u8
 69883  	F__ccgo_pad1 [1]byte
 69884  	FapTrigger   [2]uintptr
 69885  	FaCol        [1]struct {
 69886  		FiFrom       int32
 69887  		F__ccgo_pad1 [4]byte
 69888  		FzCol        uintptr
 69889  	}
 69890  }
 69891  
 69892  type FKey = FKey1
 69893  type FuncDestructor1 = struct {
 69894  	FnRef        int32
 69895  	F__ccgo_pad1 [4]byte
 69896  	FxDestroy    uintptr
 69897  	FpUserData   uintptr
 69898  }
 69899  
 69900  type FuncDestructor = FuncDestructor1
 69901  type FuncDef1 = struct {
 69902  	FnArg        i8
 69903  	F__ccgo_pad1 [3]byte
 69904  	FfuncFlags   u32
 69905  	FpUserData   uintptr
 69906  	FpNext       uintptr
 69907  	FxSFunc      uintptr
 69908  	FxFinalize   uintptr
 69909  	FxValue      uintptr
 69910  	FxInverse    uintptr
 69911  	FzName       uintptr
 69912  	Fu           struct{ FpHash uintptr }
 69913  }
 69914  
 69915  type FuncDef = FuncDef1
 69916  type FuncDefHash1 = struct{ Fa [23]uintptr }
 69917  
 69918  type FuncDefHash = FuncDefHash1
 69919  type IdList1 = struct {
 69920  	FnId         int32
 69921  	FeU4         u8
 69922  	F__ccgo_pad1 [3]byte
 69923  	Fa           [1]struct {
 69924  		FzName uintptr
 69925  		Fu4    struct {
 69926  			F__ccgo_pad1 [0]uint64
 69927  			Fidx         int32
 69928  			F__ccgo_pad2 [4]byte
 69929  		}
 69930  	}
 69931  }
 69932  
 69933  type IdList = IdList1
 69934  type Index1 = struct {
 69935  	FzName         uintptr
 69936  	FaiColumn      uintptr
 69937  	FaiRowLogEst   uintptr
 69938  	FpTable        uintptr
 69939  	FzColAff       uintptr
 69940  	FpNext         uintptr
 69941  	FpSchema       uintptr
 69942  	FaSortOrder    uintptr
 69943  	FazColl        uintptr
 69944  	FpPartIdxWhere uintptr
 69945  	FaColExpr      uintptr
 69946  	Ftnum          Pgno
 69947  	FszIdxRow      LogEst
 69948  	FnKeyCol       u16
 69949  	FnColumn       u16
 69950  	FonError       u8
 69951  	F__ccgo_pad1   [1]byte
 69952  	FidxType       uint16
 69953  	F__ccgo_pad2   [2]byte
 69954  	FnSample       int32
 69955  	FnSampleCol    int32
 69956  	FaAvgEq        uintptr
 69957  	FaSample       uintptr
 69958  	FaiRowEst      uintptr
 69959  	FnRowEst0      tRowcnt
 69960  	F__ccgo_pad3   [4]byte
 69961  	FcolNotIdxed   Bitmask
 69962  }
 69963  
 69964  type Index = Index1
 69965  type IndexSample1 = struct {
 69966  	Fp           uintptr
 69967  	Fn           int32
 69968  	F__ccgo_pad1 [4]byte
 69969  	FanEq        uintptr
 69970  	FanLt        uintptr
 69971  	FanDLt       uintptr
 69972  }
 69973  
 69974  type IndexSample = IndexSample1
 69975  type KeyInfo1 = struct {
 69976  	FnRef        u32
 69977  	Fenc         u8
 69978  	F__ccgo_pad1 [1]byte
 69979  	FnKeyField   u16
 69980  	FnAllField   u16
 69981  	F__ccgo_pad2 [6]byte
 69982  	Fdb          uintptr
 69983  	FaSortFlags  uintptr
 69984  	FaColl       [1]uintptr
 69985  }
 69986  
 69987  type KeyInfo = KeyInfo1
 69988  type Lookaside1 = struct {
 69989  	FbDisable    u32
 69990  	Fsz          u16
 69991  	FszTrue      u16
 69992  	FbMalloced   u8
 69993  	F__ccgo_pad1 [3]byte
 69994  	FnSlot       u32
 69995  	FanStat      [3]u32
 69996  	F__ccgo_pad2 [4]byte
 69997  	FpInit       uintptr
 69998  	FpFree       uintptr
 69999  	FpSmallInit  uintptr
 70000  	FpSmallFree  uintptr
 70001  	FpMiddle     uintptr
 70002  	FpStart      uintptr
 70003  	FpEnd        uintptr
 70004  }
 70005  
 70006  type Lookaside = Lookaside1
 70007  type LookasideSlot1 = struct{ FpNext uintptr }
 70008  
 70009  type LookasideSlot = LookasideSlot1
 70010  type Module1 = struct {
 70011  	FpModule     uintptr
 70012  	FzName       uintptr
 70013  	FnRefModule  int32
 70014  	F__ccgo_pad1 [4]byte
 70015  	FpAux        uintptr
 70016  	FxDestroy    uintptr
 70017  	FpEpoTab     uintptr
 70018  }
 70019  
 70020  type Module = Module1
 70021  type NameContext1 = struct {
 70022  	FpParse      uintptr
 70023  	FpSrcList    uintptr
 70024  	FuNC         struct{ FpEList uintptr }
 70025  	FpNext       uintptr
 70026  	FnRef        int32
 70027  	FnNcErr      int32
 70028  	FncFlags     int32
 70029  	F__ccgo_pad1 [4]byte
 70030  	FpWinSelect  uintptr
 70031  }
 70032  
 70033  type NameContext = NameContext1
 70034  type OnOrUsing1 = struct {
 70035  	FpOn    uintptr
 70036  	FpUsing uintptr
 70037  }
 70038  
 70039  type OnOrUsing = OnOrUsing1
 70040  type Parse1 = struct {
 70041  	Fdb               uintptr
 70042  	FzErrMsg          uintptr
 70043  	FpVdbe            uintptr
 70044  	Frc               int32
 70045  	FcolNamesSet      u8
 70046  	FcheckSchema      u8
 70047  	Fnested           u8
 70048  	FnTempReg         u8
 70049  	FisMultiWrite     u8
 70050  	FmayAbort         u8
 70051  	FhasCompound      u8
 70052  	FokConstFactor    u8
 70053  	FdisableLookaside u8
 70054  	FdisableVtab      u8
 70055  	FwithinRJSubrtn   u8
 70056  	F__ccgo_pad1      [1]byte
 70057  	FnRangeReg        int32
 70058  	FiRangeReg        int32
 70059  	FnErr             int32
 70060  	FnTab             int32
 70061  	FnMem             int32
 70062  	FszOpAlloc        int32
 70063  	FiSelfTab         int32
 70064  	FnLabel           int32
 70065  	FnLabelAlloc      int32
 70066  	F__ccgo_pad2      [4]byte
 70067  	FaLabel           uintptr
 70068  	FpConstExpr       uintptr
 70069  	FconstraintName   Token
 70070  	FwriteMask        yDbMask
 70071  	FcookieMask       yDbMask
 70072  	FregRowid         int32
 70073  	FregRoot          int32
 70074  	FnMaxArg          int32
 70075  	FnSelect          int32
 70076  	FnTableLock       int32
 70077  	F__ccgo_pad3      [4]byte
 70078  	FaTableLock       uintptr
 70079  	FpAinc            uintptr
 70080  	FpToplevel        uintptr
 70081  	FpTriggerTab      uintptr
 70082  	FpTriggerPrg      uintptr
 70083  	FpCleanup         uintptr
 70084  	Fu1               struct {
 70085  		F__ccgo_pad1 [0]uint64
 70086  		FaddrCrTab   int32
 70087  		F__ccgo_pad2 [4]byte
 70088  	}
 70089  	FnQueryLoop      u32
 70090  	Foldmask         u32
 70091  	Fnewmask         u32
 70092  	FeTriggerOp      u8
 70093  	FbReturning      u8
 70094  	FeOrconf         u8
 70095  	FdisableTriggers u8
 70096  	FaTempReg        [8]int32
 70097  	FpOuterParse     uintptr
 70098  	FsNameToken      Token
 70099  	FsLastToken      Token
 70100  	FnVar            ynVar
 70101  	FiPkSortOrder    u8
 70102  	Fexplain         u8
 70103  	FeParseMode      u8
 70104  	F__ccgo_pad4     [3]byte
 70105  	FnVtabLock       int32
 70106  	FnHeight         int32
 70107  	FaddrExplain     int32
 70108  	F__ccgo_pad5     [4]byte
 70109  	FpVList          uintptr
 70110  	FpReprepare      uintptr
 70111  	FzTail           uintptr
 70112  	FpNewTable       uintptr
 70113  	FpNewIndex       uintptr
 70114  	FpNewTrigger     uintptr
 70115  	FzAuthContext    uintptr
 70116  	FsArg            Token
 70117  	FapVtabLock      uintptr
 70118  	FpWith           uintptr
 70119  	FpRename         uintptr
 70120  }
 70121  
 70122  type Parse = Parse1
 70123  type ParseCleanup1 = struct {
 70124  	FpNext    uintptr
 70125  	FpPtr     uintptr
 70126  	FxCleanup uintptr
 70127  }
 70128  
 70129  type ParseCleanup = ParseCleanup1
 70130  type PreUpdate1 = struct {
 70131  	Fv            uintptr
 70132  	FpCsr         uintptr
 70133  	Fop           int32
 70134  	F__ccgo_pad1  [4]byte
 70135  	FaRecord      uintptr
 70136  	Fkeyinfo      KeyInfo
 70137  	FpUnpacked    uintptr
 70138  	FpNewUnpacked uintptr
 70139  	FiNewReg      int32
 70140  	FiBlobWrite   int32
 70141  	FiKey1        i64
 70142  	FiKey2        i64
 70143  	FaNew         uintptr
 70144  	FpTab         uintptr
 70145  	FpPk          uintptr
 70146  }
 70147  
 70148  type PrintfArguments1 = struct {
 70149  	FnArg  int32
 70150  	FnUsed int32
 70151  	FapArg uintptr
 70152  }
 70153  
 70154  type PrintfArguments = PrintfArguments1
 70155  type Returning1 = struct {
 70156  	FpParse      uintptr
 70157  	FpReturnEL   uintptr
 70158  	FretTrig     Trigger
 70159  	FretTStep    TriggerStep
 70160  	FiRetCur     int32
 70161  	FnRetCol     int32
 70162  	FiRetReg     int32
 70163  	F__ccgo_pad1 [4]byte
 70164  }
 70165  
 70166  type Returning = Returning1
 70167  type Savepoint1 = struct {
 70168  	FzName            uintptr
 70169  	FnDeferredCons    i64
 70170  	FnDeferredImmCons i64
 70171  	FpNext            uintptr
 70172  }
 70173  
 70174  type Savepoint = Savepoint1
 70175  type Select1 = struct {
 70176  	Fop           u8
 70177  	F__ccgo_pad1  [1]byte
 70178  	FnSelectRow   LogEst
 70179  	FselFlags     u32
 70180  	FiLimit       int32
 70181  	FiOffset      int32
 70182  	FselId        u32
 70183  	FaddrOpenEphm [2]int32
 70184  	F__ccgo_pad2  [4]byte
 70185  	FpEList       uintptr
 70186  	FpSrc         uintptr
 70187  	FpWhere       uintptr
 70188  	FpGroupBy     uintptr
 70189  	FpHaving      uintptr
 70190  	FpOrderBy     uintptr
 70191  	FpPrior       uintptr
 70192  	FpNext        uintptr
 70193  	FpLimit       uintptr
 70194  	FpWith        uintptr
 70195  	FpWin         uintptr
 70196  	FpWinDefn     uintptr
 70197  }
 70198  
 70199  type Select = Select1
 70200  type SelectDest1 = struct {
 70201  	FeDest       u8
 70202  	F__ccgo_pad1 [3]byte
 70203  	FiSDParm     int32
 70204  	FiSDParm2    int32
 70205  	FiSdst       int32
 70206  	FnSdst       int32
 70207  	F__ccgo_pad2 [4]byte
 70208  	FzAffSdst    uintptr
 70209  	FpOrderBy    uintptr
 70210  }
 70211  
 70212  type SelectDest = SelectDest1
 70213  type SrcItem1 = struct {
 70214  	FpSchema     uintptr
 70215  	FzDatabase   uintptr
 70216  	FzName       uintptr
 70217  	FzAlias      uintptr
 70218  	FpTab        uintptr
 70219  	FpSelect     uintptr
 70220  	FaddrFillSub int32
 70221  	FregReturn   int32
 70222  	FregResult   int32
 70223  	Ffg          struct {
 70224  		F__ccgo_pad1 [0]uint32
 70225  		Fjointype    u8
 70226  		F__ccgo_pad2 [3]byte
 70227  		FnotIndexed  uint16
 70228  		F__ccgo_pad3 [2]byte
 70229  	}
 70230  	FiCursor int32
 70231  	Fu3      struct{ FpOn uintptr }
 70232  	FcolUsed Bitmask
 70233  	Fu1      struct{ FzIndexedBy uintptr }
 70234  	Fu2      struct{ FpIBIndex uintptr }
 70235  }
 70236  
 70237  type SrcItem = SrcItem1
 70238  type SrcList1 = struct {
 70239  	FnSrc   int32
 70240  	FnAlloc u32
 70241  	Fa      [1]SrcItem
 70242  }
 70243  
 70244  type SrcList = SrcList1
 70245  type StrAccum = sqlite3_str1
 70246  type Table1 = struct {
 70247  	FzName      uintptr
 70248  	FaCol       uintptr
 70249  	FpIndex     uintptr
 70250  	FzColAff    uintptr
 70251  	FpCheck     uintptr
 70252  	Ftnum       Pgno
 70253  	FnTabRef    u32
 70254  	FtabFlags   u32
 70255  	FiPKey      i16
 70256  	FnCol       i16
 70257  	FnNVCol     i16
 70258  	FnRowLogEst LogEst
 70259  	FszTabRow   LogEst
 70260  	FkeyConf    u8
 70261  	FeTabType   u8
 70262  	Fu          struct {
 70263  		Ftab struct {
 70264  			FaddColOffset int32
 70265  			F__ccgo_pad1  [4]byte
 70266  			FpFKey        uintptr
 70267  			FpDfltList    uintptr
 70268  		}
 70269  	}
 70270  	FpTrigger uintptr
 70271  	FpSchema  uintptr
 70272  }
 70273  
 70274  type Table = Table1
 70275  type Token1 = struct {
 70276  	Fz           uintptr
 70277  	Fn           uint32
 70278  	F__ccgo_pad1 [4]byte
 70279  }
 70280  
 70281  type Token = Token1
 70282  type Trigger1 = struct {
 70283  	FzName       uintptr
 70284  	Ftable       uintptr
 70285  	Fop          u8
 70286  	Ftr_tm       u8
 70287  	FbReturning  u8
 70288  	F__ccgo_pad1 [5]byte
 70289  	FpWhen       uintptr
 70290  	FpColumns    uintptr
 70291  	FpSchema     uintptr
 70292  	FpTabSchema  uintptr
 70293  	Fstep_list   uintptr
 70294  	FpNext       uintptr
 70295  }
 70296  
 70297  type Trigger = Trigger1
 70298  type TriggerPrg1 = struct {
 70299  	FpTrigger    uintptr
 70300  	FpNext       uintptr
 70301  	FpProgram    uintptr
 70302  	Forconf      int32
 70303  	FaColmask    [2]u32
 70304  	F__ccgo_pad1 [4]byte
 70305  }
 70306  
 70307  type TriggerPrg = TriggerPrg1
 70308  type TriggerStep1 = struct {
 70309  	Fop          u8
 70310  	Forconf      u8
 70311  	F__ccgo_pad1 [6]byte
 70312  	FpTrig       uintptr
 70313  	FpSelect     uintptr
 70314  	FzTarget     uintptr
 70315  	FpFrom       uintptr
 70316  	FpWhere      uintptr
 70317  	FpExprList   uintptr
 70318  	FpIdList     uintptr
 70319  	FpUpsert     uintptr
 70320  	FzSpan       uintptr
 70321  	FpNext       uintptr
 70322  	FpLast       uintptr
 70323  }
 70324  
 70325  type TriggerStep = TriggerStep1
 70326  type UnpackedRecord1 = struct {
 70327  	FpKeyInfo    uintptr
 70328  	FaMem        uintptr
 70329  	Fu           struct{ Fz uintptr }
 70330  	Fn           int32
 70331  	FnField      u16
 70332  	Fdefault_rc  i8
 70333  	FerrCode     u8
 70334  	Fr1          i8
 70335  	Fr2          i8
 70336  	FeqSeen      u8
 70337  	F__ccgo_pad1 [5]byte
 70338  }
 70339  
 70340  type UnpackedRecord = UnpackedRecord1
 70341  type Upsert1 = struct {
 70342  	FpUpsertTarget      uintptr
 70343  	FpUpsertTargetWhere uintptr
 70344  	FpUpsertSet         uintptr
 70345  	FpUpsertWhere       uintptr
 70346  	FpNextUpsert        uintptr
 70347  	FisDoUpdate         u8
 70348  	F__ccgo_pad1        [7]byte
 70349  	FpToFree            uintptr
 70350  	FpUpsertIdx         uintptr
 70351  	FpUpsertSrc         uintptr
 70352  	FregData            int32
 70353  	FiDataCur           int32
 70354  	FiIdxCur            int32
 70355  	F__ccgo_pad2        [4]byte
 70356  }
 70357  
 70358  type Upsert = Upsert1
 70359  type VTable1 = struct {
 70360  	Fdb          uintptr
 70361  	FpMod        uintptr
 70362  	FpVtab       uintptr
 70363  	FnRef        int32
 70364  	FbConstraint u8
 70365  	FeVtabRisk   u8
 70366  	F__ccgo_pad1 [2]byte
 70367  	FiSavepoint  int32
 70368  	F__ccgo_pad2 [4]byte
 70369  	FpNext       uintptr
 70370  }
 70371  
 70372  type VTable = VTable1
 70373  type Walker1 = struct {
 70374  	FpParse           uintptr
 70375  	FxExprCallback    uintptr
 70376  	FxSelectCallback  uintptr
 70377  	FxSelectCallback2 uintptr
 70378  	FwalkerDepth      int32
 70379  	FeCode            u16
 70380  	F__ccgo_pad1      [2]byte
 70381  	Fu                struct{ FpNC uintptr }
 70382  }
 70383  
 70384  type Walker = Walker1
 70385  type Window1 = struct {
 70386  	FzName          uintptr
 70387  	FzBase          uintptr
 70388  	FpPartition     uintptr
 70389  	FpOrderBy       uintptr
 70390  	FeFrmType       u8
 70391  	FeStart         u8
 70392  	FeEnd           u8
 70393  	FbImplicitFrame u8
 70394  	FeExclude       u8
 70395  	F__ccgo_pad1    [3]byte
 70396  	FpStart         uintptr
 70397  	FpEnd           uintptr
 70398  	FppThis         uintptr
 70399  	FpNextWin       uintptr
 70400  	FpFilter        uintptr
 70401  	FpWFunc         uintptr
 70402  	FiEphCsr        int32
 70403  	FregAccum       int32
 70404  	FregResult      int32
 70405  	FcsrApp         int32
 70406  	FregApp         int32
 70407  	FregPart        int32
 70408  	FpOwner         uintptr
 70409  	FnBufferCol     int32
 70410  	FiArgCol        int32
 70411  	FregOne         int32
 70412  	FregStartRowid  int32
 70413  	FregEndRowid    int32
 70414  	FbExprArgs      u8
 70415  	F__ccgo_pad2    [3]byte
 70416  }
 70417  
 70418  type Window = Window1
 70419  type With1 = struct {
 70420  	FnCte   int32
 70421  	FbView  int32
 70422  	FpOuter uintptr
 70423  	Fa      [1]Cte
 70424  }
 70425  
 70426  type With = With1
 70427  
 70428  type Bitmask = u64
 70429  
 70430  type VList = int32
 70431  
 70432  type Pgno = u32
 70433  
 70434  type PgHdr1 = struct {
 70435  	FpPage      uintptr
 70436  	FpData      uintptr
 70437  	FpExtra     uintptr
 70438  	FpCache     uintptr
 70439  	FpDirty     uintptr
 70440  	FpPager     uintptr
 70441  	Fpgno       Pgno
 70442  	Fflags      u16
 70443  	FnRef       i16
 70444  	FpDirtyNext uintptr
 70445  	FpDirtyPrev uintptr
 70446  }
 70447  
 70448  type DbPage = PgHdr1
 70449  
 70450  type Btree1 = struct {
 70451  	Fdb             uintptr
 70452  	FpBt            uintptr
 70453  	FinTrans        u8
 70454  	Fsharable       u8
 70455  	Flocked         u8
 70456  	FhasIncrblobCur u8
 70457  	FwantToLock     int32
 70458  	FnBackup        int32
 70459  	FiBDataVersion  u32
 70460  	FpNext          uintptr
 70461  	FpPrev          uintptr
 70462  	Flock           BtLock
 70463  }
 70464  
 70465  type BtCursor1 = struct {
 70466  	FeState        u8
 70467  	FcurFlags      u8
 70468  	FcurPagerFlags u8
 70469  	Fhints         u8
 70470  	FskipNext      int32
 70471  	FpBtree        uintptr
 70472  	FaOverflow     uintptr
 70473  	FpKey          uintptr
 70474  	FpBt           uintptr
 70475  	FpNext         uintptr
 70476  	Finfo          CellInfo
 70477  	FnKey          i64
 70478  	FpgnoRoot      Pgno
 70479  	FiPage         i8
 70480  	FcurIntKey     u8
 70481  	Fix            u16
 70482  	FaiIdx         [19]u16
 70483  	F__ccgo_pad1   [2]byte
 70484  	FpKeyInfo      uintptr
 70485  	FpPage         uintptr
 70486  	FapPage        [19]uintptr
 70487  }
 70488  
 70489  type BtShared1 = struct {
 70490  	FpPager          uintptr
 70491  	Fdb              uintptr
 70492  	FpCursor         uintptr
 70493  	FpPage1          uintptr
 70494  	FopenFlags       u8
 70495  	FautoVacuum      u8
 70496  	FincrVacuum      u8
 70497  	FbDoTruncate     u8
 70498  	FinTransaction   u8
 70499  	Fmax1bytePayload u8
 70500  	FnReserveWanted  u8
 70501  	F__ccgo_pad1     [1]byte
 70502  	FbtsFlags        u16
 70503  	FmaxLocal        u16
 70504  	FminLocal        u16
 70505  	FmaxLeaf         u16
 70506  	FminLeaf         u16
 70507  	F__ccgo_pad2     [2]byte
 70508  	FpageSize        u32
 70509  	FusableSize      u32
 70510  	FnTransaction    int32
 70511  	FnPage           u32
 70512  	F__ccgo_pad3     [4]byte
 70513  	FpSchema         uintptr
 70514  	FxFreeSchema     uintptr
 70515  	Fmutex           uintptr
 70516  	FpHasContent     uintptr
 70517  	FnRef            int32
 70518  	F__ccgo_pad4     [4]byte
 70519  	FpNext           uintptr
 70520  	FpLock           uintptr
 70521  	FpWriter         uintptr
 70522  	FpTmpSpace       uintptr
 70523  	FnPreformatSize  int32
 70524  	F__ccgo_pad5     [4]byte
 70525  }
 70526  
 70527  type BtreePayload1 = struct {
 70528  	FpKey        uintptr
 70529  	FnKey        sqlite3_int64
 70530  	FpData       uintptr
 70531  	FaMem        uintptr
 70532  	FnMem        u16
 70533  	F__ccgo_pad1 [2]byte
 70534  	FnData       int32
 70535  	FnZero       int32
 70536  	F__ccgo_pad2 [4]byte
 70537  }
 70538  
 70539  type BtreePayload = BtreePayload1
 70540  
 70541  type Vdbe1 = struct {
 70542  	Fdb                 uintptr
 70543  	FpPrev              uintptr
 70544  	FpNext              uintptr
 70545  	FpParse             uintptr
 70546  	FnVar               ynVar
 70547  	F__ccgo_pad1        [2]byte
 70548  	FnMem               int32
 70549  	FnCursor            int32
 70550  	FcacheCtr           u32
 70551  	Fpc                 int32
 70552  	Frc                 int32
 70553  	FnChange            i64
 70554  	FiStatement         int32
 70555  	F__ccgo_pad2        [4]byte
 70556  	FiCurrentTime       i64
 70557  	FnFkConstraint      i64
 70558  	FnStmtDefCons       i64
 70559  	FnStmtDefImmCons    i64
 70560  	FaMem               uintptr
 70561  	FapArg              uintptr
 70562  	FapCsr              uintptr
 70563  	FaVar               uintptr
 70564  	FaOp                uintptr
 70565  	FnOp                int32
 70566  	FnOpAlloc           int32
 70567  	FaColName           uintptr
 70568  	FpResultSet         uintptr
 70569  	FzErrMsg            uintptr
 70570  	FpVList             uintptr
 70571  	FstartTime          i64
 70572  	FnResColumn         u16
 70573  	FerrorAction        u8
 70574  	FminWriteFileFormat u8
 70575  	FprepFlags          u8
 70576  	FeVdbeState         u8
 70577  	F__ccgo_pad3        [2]byte
 70578  	Fexpired            uint8
 70579  	F__ccgo_pad4        [3]byte
 70580  	FbtreeMask          yDbMask
 70581  	FlockMask           yDbMask
 70582  	FaCounter           [9]u32
 70583  	FzSql               uintptr
 70584  	FpFree              uintptr
 70585  	FpFrame             uintptr
 70586  	FpDelFrame          uintptr
 70587  	FnFrame             int32
 70588  	Fexpmask            u32
 70589  	FpProgram           uintptr
 70590  	FpAuxData           uintptr
 70591  }
 70592  
 70593  type SubProgram1 = struct {
 70594  	FaOp         uintptr
 70595  	FnOp         int32
 70596  	FnMem        int32
 70597  	FnCsr        int32
 70598  	F__ccgo_pad1 [4]byte
 70599  	FaOnce       uintptr
 70600  	Ftoken       uintptr
 70601  	FpNext       uintptr
 70602  }
 70603  
 70604  type SubProgram = SubProgram1
 70605  
 70606  type VdbeOp1 = struct {
 70607  	Fopcode u8
 70608  	Fp4type int8
 70609  	Fp5     u16
 70610  	Fp1     int32
 70611  	Fp2     int32
 70612  	Fp3     int32
 70613  	Fp4     struct {
 70614  		F__ccgo_pad1 [0]uint64
 70615  		Fi           int32
 70616  		F__ccgo_pad2 [4]byte
 70617  	}
 70618  	FzComment uintptr
 70619  }
 70620  
 70621  type p4union = struct {
 70622  	F__ccgo_pad1 [0]uint64
 70623  	Fi           int32
 70624  	F__ccgo_pad2 [4]byte
 70625  }
 70626  
 70627  type VdbeOp = VdbeOp1
 70628  
 70629  type VdbeOpList1 = struct {
 70630  	Fopcode u8
 70631  	Fp1     int8
 70632  	Fp2     int8
 70633  	Fp3     int8
 70634  }
 70635  
 70636  type VdbeOpList = VdbeOpList1
 70637  
 70638  type RecordCompare = uintptr
 70639  
 70640  type PgHdr = PgHdr1
 70641  
 70642  type sqlite3_xauth = uintptr
 70643  
 70644  type sqlite3InitInfo = struct {
 70645  	FnewTnum       Pgno
 70646  	FiDb           u8
 70647  	Fbusy          u8
 70648  	F__ccgo_pad1   [2]byte
 70649  	ForphanTrigger uint8
 70650  	F__ccgo_pad2   [7]byte
 70651  	FazInit        uintptr
 70652  }
 70653  
 70654  type sColMap = struct {
 70655  	FiFrom       int32
 70656  	F__ccgo_pad1 [4]byte
 70657  	FzCol        uintptr
 70658  }
 70659  
 70660  type AggInfo_col = struct {
 70661  	FpTab          uintptr
 70662  	FpCExpr        uintptr
 70663  	FiTable        int32
 70664  	FiMem          int32
 70665  	FiColumn       i16
 70666  	FiSorterColumn i16
 70667  	F__ccgo_pad1   [4]byte
 70668  }
 70669  
 70670  type AggInfo_func = struct {
 70671  	FpFExpr      uintptr
 70672  	FpFunc       uintptr
 70673  	FiMem        int32
 70674  	FiDistinct   int32
 70675  	FiDistAddr   int32
 70676  	F__ccgo_pad1 [4]byte
 70677  }
 70678  
 70679  type ynVar = i16
 70680  
 70681  type ExprList_item = struct {
 70682  	FpExpr  uintptr
 70683  	FzEName uintptr
 70684  	Ffg     struct {
 70685  		F__ccgo_pad1 [0]uint32
 70686  		FsortFlags   u8
 70687  		F__ccgo_pad2 [3]byte
 70688  		FeEName      uint16
 70689  		F__ccgo_pad3 [2]byte
 70690  	}
 70691  	Fu struct {
 70692  		F__ccgo_pad1 [0]uint32
 70693  		Fx           struct {
 70694  			FiOrderByCol u16
 70695  			FiAlias      u16
 70696  		}
 70697  	}
 70698  	F__ccgo_pad1 [4]byte
 70699  }
 70700  
 70701  type IdList_item = struct {
 70702  	FzName uintptr
 70703  	Fu4    struct {
 70704  		F__ccgo_pad1 [0]uint64
 70705  		Fidx         int32
 70706  		F__ccgo_pad2 [4]byte
 70707  	}
 70708  }
 70709  
 70710  type yDbMask = uint32
 70711  
 70712  type InitData = struct {
 70713  	Fdb          uintptr
 70714  	FpzErrMsg    uintptr
 70715  	FiDb         int32
 70716  	Frc          int32
 70717  	FmInitFlags  u32
 70718  	FnInitRow    u32
 70719  	FmxPage      Pgno
 70720  	F__ccgo_pad1 [4]byte
 70721  }
 70722  
 70723  type Sqlite3Config = struct {
 70724  	FbMemstat            int32
 70725  	FbCoreMutex          u8
 70726  	FbFullMutex          u8
 70727  	FbOpenUri            u8
 70728  	FbUseCis             u8
 70729  	FbSmallMalloc        u8
 70730  	FbExtraSchemaChecks  u8
 70731  	F__ccgo_pad1         [2]byte
 70732  	FmxStrlen            int32
 70733  	FneverCorrupt        int32
 70734  	FszLookaside         int32
 70735  	FnLookaside          int32
 70736  	FnStmtSpill          int32
 70737  	Fm                   sqlite3_mem_methods
 70738  	Fmutex               sqlite3_mutex_methods
 70739  	Fpcache2             sqlite3_pcache_methods2
 70740  	FpHeap               uintptr
 70741  	FnHeap               int32
 70742  	FmnReq               int32
 70743  	FmxReq               int32
 70744  	F__ccgo_pad2         [4]byte
 70745  	FszMmap              sqlite3_int64
 70746  	FmxMmap              sqlite3_int64
 70747  	FpPage               uintptr
 70748  	FszPage              int32
 70749  	FnPage               int32
 70750  	FmxParserStack       int32
 70751  	FsharedCacheEnabled  int32
 70752  	FszPma               u32
 70753  	FisInit              int32
 70754  	FinProgress          int32
 70755  	FisMutexInit         int32
 70756  	FisMallocInit        int32
 70757  	FisPCacheInit        int32
 70758  	FnRefInitMutex       int32
 70759  	F__ccgo_pad3         [4]byte
 70760  	FpInitMutex          uintptr
 70761  	FxLog                uintptr
 70762  	FpLogArg             uintptr
 70763  	FmxMemdbSize         sqlite3_int64
 70764  	FxTestCallback       uintptr
 70765  	FbLocaltimeFault     int32
 70766  	F__ccgo_pad4         [4]byte
 70767  	FxAltLocaltime       uintptr
 70768  	FiOnceResetThreshold int32
 70769  	FszSorterRef         u32
 70770  	FiPrngSeed           uint32
 70771  	F__ccgo_pad5         [4]byte
 70772  }
 70773  
 70774  type BoxGeomCtx1 = struct {
 70775  	Finterp  uintptr
 70776  	FpScript uintptr
 70777  }
 70778  
 70779  type BoxGeomCtx = BoxGeomCtx1
 70780  
 70781  type BoxQueryCtx1 = struct {
 70782  	Finterp  uintptr
 70783  	FpScript uintptr
 70784  }
 70785  
 70786  type BoxQueryCtx = BoxQueryCtx1
 70787  
 70788  func testDelUser(tls *libc.TLS, pCtx uintptr) {
 70789  	var p uintptr = pCtx
 70790  	tcl.XTcl_EvalObjEx(tls, (*BoxGeomCtx)(unsafe.Pointer(p)).Finterp, (*BoxGeomCtx)(unsafe.Pointer(p)).FpScript, 0)
 70791  	for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
 70792  		var _objPtr uintptr = (*BoxGeomCtx)(unsafe.Pointer(p)).FpScript
 70793  		if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 70794  			tcl.XTclFreeObj(tls, _objPtr)
 70795  		}
 70796  	}
 70797  	sqlite3.Xsqlite3_free(tls, p)
 70798  }
 70799  
 70800  func invokeTclGeomCb(tls *libc.TLS, zName uintptr, p uintptr, nCoord int32, aCoord uintptr) int32 {
 70801  	bp := tls.Alloc(96)
 70802  	defer tls.Free(96)
 70803  
 70804  	var rc int32 = SQLITE_OK
 70805  	if (*sqlite3_rtree_geometry)(unsafe.Pointer(p)).FpContext != 0 {
 70806  		var pCtx uintptr = (*sqlite3_rtree_geometry)(unsafe.Pointer(p)).FpContext
 70807  		var interp uintptr = (*BoxGeomCtx)(unsafe.Pointer(pCtx)).Finterp
 70808  		var pScript uintptr = uintptr(0)
 70809  		var pParam uintptr = uintptr(0)
 70810  		var pCoord uintptr = uintptr(0)
 70811  		var ii int32
 70812  		var pRes uintptr
 70813  
 70814  		pScript = tcl.XTcl_DuplicateObj(tls, (*BoxGeomCtx)(unsafe.Pointer(pCtx)).FpScript)
 70815  		(*Tcl_Obj)(unsafe.Pointer(pScript)).FrefCount++
 70816  		tcl.XTcl_ListObjAppendElement(tls, interp, pScript, tcl.XTcl_NewStringObj(tls, zName, -1))
 70817  
 70818  		sqlite3.Xsqlite3_snprintf(tls, int32(uint64(unsafe.Sizeof([64]int8{}))-uint64(1)), bp+16, ts+9889, libc.VaList(bp, (*sqlite3_rtree_geometry)(unsafe.Pointer(p)).FpContext))
 70819  		tcl.XTcl_ListObjAppendElement(tls, interp, pScript, tcl.XTcl_NewStringObj(tls, bp+16, -1))
 70820  
 70821  		pParam = tcl.XTcl_NewObj(tls)
 70822  		for ii = 0; ii < (*sqlite3_rtree_geometry)(unsafe.Pointer(p)).FnParam; ii++ {
 70823  			tcl.XTcl_ListObjAppendElement(tls,
 70824  				interp, pParam, tcl.XTcl_NewDoubleObj(tls, *(*sqlite3_rtree_dbl)(unsafe.Pointer((*sqlite3_rtree_geometry)(unsafe.Pointer(p)).FaParam + uintptr(ii)*8))))
 70825  		}
 70826  		tcl.XTcl_ListObjAppendElement(tls, interp, pScript, pParam)
 70827  
 70828  		pCoord = tcl.XTcl_NewObj(tls)
 70829  		for ii = 0; ii < nCoord; ii++ {
 70830  			tcl.XTcl_ListObjAppendElement(tls, interp, pCoord, tcl.XTcl_NewDoubleObj(tls, *(*sqlite3_rtree_dbl)(unsafe.Pointer(aCoord + uintptr(ii)*8))))
 70831  		}
 70832  		tcl.XTcl_ListObjAppendElement(tls, interp, pScript, pCoord)
 70833  
 70834  		sqlite3.Xsqlite3_snprintf(tls, int32(uint64(unsafe.Sizeof([64]int8{}))-uint64(1)), bp+16, ts+9889, libc.VaList(bp+8, p))
 70835  		tcl.XTcl_ListObjAppendElement(tls, interp, pScript, tcl.XTcl_NewStringObj(tls, bp+16, -1))
 70836  
 70837  		rc = tcl.XTcl_EvalObjEx(tls, interp, pScript, 0)
 70838  		if rc != TCL_OK {
 70839  			rc = SQLITE_ERROR
 70840  		} else {
 70841  			*(*int32)(unsafe.Pointer(bp + 80)) = 0
 70842  			*(*uintptr)(unsafe.Pointer(bp + 88)) = uintptr(0)
 70843  
 70844  			pRes = tcl.XTcl_GetObjResult(tls, interp)
 70845  			if tcl.XTcl_ListObjGetElements(tls, interp, pRes, bp+80, bp+88) != 0 {
 70846  				return TCL_ERROR
 70847  			}
 70848  			if *(*int32)(unsafe.Pointer(bp + 80)) > 0 {
 70849  				var zCmd uintptr = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)))))
 70850  				if 0 == sqlite3.Xsqlite3_stricmp(tls, zCmd, ts+9892) {
 70851  					*(*sqlite3_rtree_dbl)(unsafe.Pointer((*sqlite3_rtree_geometry)(unsafe.Pointer(p)).FaParam)) = 0.0
 70852  					(*sqlite3_rtree_geometry)(unsafe.Pointer(p)).FnParam = 1
 70853  				} else if 0 == sqlite3.Xsqlite3_stricmp(tls, zCmd, ts+9897) {
 70854  					if (*sqlite3_rtree_geometry)(unsafe.Pointer(p)).FpUser != 0 || (*sqlite3_rtree_geometry)(unsafe.Pointer(p)).FxDelUser != 0 {
 70855  						rc = SQLITE_ERROR
 70856  					} else {
 70857  						var pBGCtx uintptr = sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(BoxGeomCtx{})))
 70858  						if pBGCtx == uintptr(0) {
 70859  							rc = SQLITE_NOMEM
 70860  						} else {
 70861  							(*BoxGeomCtx)(unsafe.Pointer(pBGCtx)).Finterp = interp
 70862  							(*BoxGeomCtx)(unsafe.Pointer(pBGCtx)).FpScript = tcl.XTcl_DuplicateObj(tls, pRes)
 70863  							(*Tcl_Obj)(unsafe.Pointer((*BoxGeomCtx)(unsafe.Pointer(pBGCtx)).FpScript)).FrefCount++
 70864  							tcl.XTcl_ListObjReplace(tls, interp, (*BoxGeomCtx)(unsafe.Pointer(pBGCtx)).FpScript, 0, 1, 0, uintptr(0))
 70865  							(*sqlite3_rtree_geometry)(unsafe.Pointer(p)).FpUser = pBGCtx
 70866  							(*sqlite3_rtree_geometry)(unsafe.Pointer(p)).FxDelUser = *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{testDelUser}))
 70867  						}
 70868  					}
 70869  				} else if 0 == sqlite3.Xsqlite3_stricmp(tls, zCmd, ts+9902) {
 70870  					if (*sqlite3_rtree_geometry)(unsafe.Pointer(p)).FpUser != 0 || (*sqlite3_rtree_geometry)(unsafe.Pointer(p)).FxDelUser != 0 {
 70871  						rc = SQLITE_ERROR
 70872  					}
 70873  				}
 70874  			}
 70875  		}
 70876  	}
 70877  	return rc
 70878  }
 70879  
 70880  func box_geom(tls *libc.TLS, p uintptr, nCoord int32, aCoord uintptr, pRes uintptr) int32 {
 70881  	var ii int32
 70882  
 70883  	if (*sqlite3_rtree_geometry)(unsafe.Pointer(p)).FnParam != nCoord {
 70884  		invokeTclGeomCb(tls, ts+9915, p, nCoord, aCoord)
 70885  		return SQLITE_ERROR
 70886  	}
 70887  	if invokeTclGeomCb(tls, ts+9915, p, nCoord, aCoord) != 0 {
 70888  		return SQLITE_ERROR
 70889  	}
 70890  
 70891  	for ii = 0; ii < nCoord; ii = ii + 2 {
 70892  		if *(*sqlite3_rtree_dbl)(unsafe.Pointer(aCoord + uintptr(ii)*8)) > *(*sqlite3_rtree_dbl)(unsafe.Pointer((*sqlite3_rtree_geometry)(unsafe.Pointer(p)).FaParam + uintptr(ii+1)*8)) || *(*sqlite3_rtree_dbl)(unsafe.Pointer(aCoord + uintptr(ii+1)*8)) < *(*sqlite3_rtree_dbl)(unsafe.Pointer((*sqlite3_rtree_geometry)(unsafe.Pointer(p)).FaParam + uintptr(ii)*8)) {
 70893  			*(*int32)(unsafe.Pointer(pRes)) = 0
 70894  			return SQLITE_OK
 70895  		}
 70896  	}
 70897  
 70898  	*(*int32)(unsafe.Pointer(pRes)) = 1
 70899  
 70900  	return SQLITE_OK
 70901  }
 70902  
 70903  func register_box_geom(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 70904  	bp := tls.Alloc(80)
 70905  	defer tls.Free(80)
 70906  
 70907  	var pCtx uintptr
 70908  
 70909  	if objc != 3 {
 70910  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+9919)
 70911  		return TCL_ERROR
 70912  	}
 70913  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+8) != 0 {
 70914  		return TCL_ERROR
 70915  	}
 70916  
 70917  	pCtx = tcl.XTcl_Alloc(tls, uint32(unsafe.Sizeof(uintptr(0))))
 70918  	(*BoxGeomCtx)(unsafe.Pointer(pCtx)).Finterp = interp
 70919  	(*BoxGeomCtx)(unsafe.Pointer(pCtx)).FpScript = tcl.XTcl_DuplicateObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
 70920  	(*Tcl_Obj)(unsafe.Pointer((*BoxGeomCtx)(unsafe.Pointer(pCtx)).FpScript)).FrefCount++
 70921  
 70922  	sqlite3.Xsqlite3_rtree_geometry_callback(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), ts+9915, *(*uintptr)(unsafe.Pointer(&struct {
 70923  		f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32
 70924  	}{box_geom})), pCtx)
 70925  
 70926  	sqlite3.Xsqlite3_snprintf(tls, 64, bp+16, ts+9889, libc.VaList(bp, pCtx))
 70927  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, bp+16, -1))
 70928  	return TCL_OK
 70929  }
 70930  
 70931  func box_query(tls *libc.TLS, pInfo uintptr) int32 {
 70932  	bp := tls.Alloc(60)
 70933  	defer tls.Free(60)
 70934  
 70935  	*(*[4]uintptr)(unsafe.Pointer(bp)) = [4]uintptr{ts + 5854, ts + 9929, ts + 9936, uintptr(0)}
 70936  	var pCtx uintptr = (*sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FpContext
 70937  	var interp uintptr = (*BoxQueryCtx)(unsafe.Pointer(pCtx)).Finterp
 70938  	var pEval uintptr
 70939  	var pArg uintptr
 70940  	var pTmp uintptr = uintptr(0)
 70941  	var rc int32
 70942  	var ii int32
 70943  
 70944  	pEval = tcl.XTcl_DuplicateObj(tls, (*BoxQueryCtx)(unsafe.Pointer(pCtx)).FpScript)
 70945  	(*Tcl_Obj)(unsafe.Pointer(pEval)).FrefCount++
 70946  	pArg = tcl.XTcl_NewObj(tls)
 70947  	(*Tcl_Obj)(unsafe.Pointer(pArg)).FrefCount++
 70948  
 70949  	pTmp = tcl.XTcl_NewObj(tls)
 70950  	(*Tcl_Obj)(unsafe.Pointer(pTmp)).FrefCount++
 70951  	for ii = 0; ii < (*sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FnParam; ii++ {
 70952  		var p uintptr = tcl.XTcl_NewDoubleObj(tls, *(*sqlite3_rtree_dbl)(unsafe.Pointer((*sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FaParam + uintptr(ii)*8)))
 70953  		tcl.XTcl_ListObjAppendElement(tls, interp, pTmp, p)
 70954  	}
 70955  	tcl.XTcl_ListObjAppendElement(tls, interp, pArg, tcl.XTcl_NewStringObj(tls, ts+9942, -1))
 70956  	tcl.XTcl_ListObjAppendElement(tls, interp, pArg, pTmp)
 70957  	for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
 70958  		var _objPtr uintptr = pTmp
 70959  		if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 70960  			tcl.XTclFreeObj(tls, _objPtr)
 70961  		}
 70962  	}
 70963  
 70964  	pTmp = tcl.XTcl_NewObj(tls)
 70965  	(*Tcl_Obj)(unsafe.Pointer(pTmp)).FrefCount++
 70966  	for ii = 0; ii < (*sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FnCoord; ii++ {
 70967  		var p uintptr = tcl.XTcl_NewDoubleObj(tls, *(*sqlite3_rtree_dbl)(unsafe.Pointer((*sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FaCoord + uintptr(ii)*8)))
 70968  		tcl.XTcl_ListObjAppendElement(tls, interp, pTmp, p)
 70969  	}
 70970  	tcl.XTcl_ListObjAppendElement(tls, interp, pArg, tcl.XTcl_NewStringObj(tls, ts+9949, -1))
 70971  	tcl.XTcl_ListObjAppendElement(tls, interp, pArg, pTmp)
 70972  	for __ccgo1 := true; __ccgo1; __ccgo1 = 0 != 0 {
 70973  		var _objPtr uintptr = pTmp
 70974  		if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 70975  			tcl.XTclFreeObj(tls, _objPtr)
 70976  		}
 70977  	}
 70978  
 70979  	pTmp = tcl.XTcl_NewObj(tls)
 70980  	(*Tcl_Obj)(unsafe.Pointer(pTmp)).FrefCount++
 70981  	for ii = 0; ii <= (*sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FmxLevel; ii++ {
 70982  		var p uintptr = tcl.XTcl_NewIntObj(tls, int32(*(*uint32)(unsafe.Pointer((*sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FanQueue + uintptr(ii)*4))))
 70983  		tcl.XTcl_ListObjAppendElement(tls, interp, pTmp, p)
 70984  	}
 70985  	tcl.XTcl_ListObjAppendElement(tls, interp, pArg, tcl.XTcl_NewStringObj(tls, ts+9956, -1))
 70986  	tcl.XTcl_ListObjAppendElement(tls, interp, pArg, pTmp)
 70987  	for __ccgo2 := true; __ccgo2; __ccgo2 = 0 != 0 {
 70988  		var _objPtr uintptr = pTmp
 70989  		if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 70990  			tcl.XTclFreeObj(tls, _objPtr)
 70991  		}
 70992  	}
 70993  
 70994  	tcl.XTcl_ListObjAppendElement(tls, interp, pArg, tcl.XTcl_NewStringObj(tls, ts+9964, -1))
 70995  	tcl.XTcl_ListObjAppendElement(tls, interp, pArg, tcl.XTcl_NewIntObj(tls, (*sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FiLevel))
 70996  
 70997  	tcl.XTcl_ListObjAppendElement(tls, interp, pArg, tcl.XTcl_NewStringObj(tls, ts+9971, -1))
 70998  	tcl.XTcl_ListObjAppendElement(tls, interp, pArg, tcl.XTcl_NewIntObj(tls, (*sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FmxLevel))
 70999  
 71000  	tcl.XTcl_ListObjAppendElement(tls, interp, pArg, tcl.XTcl_NewStringObj(tls, ts+9979, -1))
 71001  	tcl.XTcl_ListObjAppendElement(tls, interp, pArg, tcl.XTcl_NewWideIntObj(tls, (*sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FiRowid))
 71002  
 71003  	tcl.XTcl_ListObjAppendElement(tls, interp, pArg, tcl.XTcl_NewStringObj(tls, ts+9986, -1))
 71004  	tcl.XTcl_ListObjAppendElement(tls, interp, pArg, tcl.XTcl_NewDoubleObj(tls, (*sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FrParentScore))
 71005  
 71006  	tcl.XTcl_ListObjAppendElement(tls, interp, pArg, tcl.XTcl_NewStringObj(tls, ts+9999, -1))
 71007  	tcl.XTcl_ListObjAppendElement(tls, interp, pArg,
 71008  		tcl.XTcl_NewStringObj(tls, *(*uintptr)(unsafe.Pointer(bp + uintptr((*sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FeParentWithin)*8)), -1))
 71009  
 71010  	tcl.XTcl_ListObjAppendElement(tls, interp, pEval, pArg)
 71011  	if tcl.XTcl_EvalObjEx(tls, interp, pEval, 0) != 0 {
 71012  		rc = SQLITE_ERROR
 71013  	} else {
 71014  		rc = SQLITE_OK
 71015  	}
 71016  
 71017  	if rc == SQLITE_OK {
 71018  		*(*float64)(unsafe.Pointer(bp + 48)) = 0.0
 71019  		*(*int32)(unsafe.Pointer(bp + 32)) = 0
 71020  		*(*int32)(unsafe.Pointer(bp + 56)) = 0
 71021  		*(*uintptr)(unsafe.Pointer(bp + 40)) = uintptr(0)
 71022  		var pRes uintptr = tcl.XTcl_GetObjResult(tls, interp)
 71023  
 71024  		if tcl.XTcl_ListObjGetElements(tls, interp, pRes, bp+32, bp+40) != 0 ||
 71025  			*(*int32)(unsafe.Pointer(bp + 32)) != 2 ||
 71026  			tcl.XTcl_GetDoubleFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40)) + 1*8)), bp+48) != 0 ||
 71027  			tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40)))), bp, int32(unsafe.Sizeof(uintptr(0))), ts+10013, 0, bp+56) != 0 {
 71028  			rc = SQLITE_ERROR
 71029  		} else {
 71030  			(*sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FrScore = *(*float64)(unsafe.Pointer(bp + 48))
 71031  			(*sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FeParentWithin = *(*int32)(unsafe.Pointer(bp + 56))
 71032  		}
 71033  	}
 71034  
 71035  	for __ccgo3 := true; __ccgo3; __ccgo3 = 0 != 0 {
 71036  		var _objPtr uintptr = pArg
 71037  		if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 71038  			tcl.XTclFreeObj(tls, _objPtr)
 71039  		}
 71040  	}
 71041  	for __ccgo4 := true; __ccgo4; __ccgo4 = 0 != 0 {
 71042  		var _objPtr uintptr = pEval
 71043  		if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 71044  			tcl.XTclFreeObj(tls, _objPtr)
 71045  		}
 71046  	}
 71047  	return rc
 71048  }
 71049  
 71050  func box_query_destroy(tls *libc.TLS, p uintptr) {
 71051  	var pCtx uintptr = p
 71052  	for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
 71053  		var _objPtr uintptr = (*BoxQueryCtx)(unsafe.Pointer(pCtx)).FpScript
 71054  		if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 71055  			tcl.XTclFreeObj(tls, _objPtr)
 71056  		}
 71057  	}
 71058  	tcl.XTcl_Free(tls, pCtx)
 71059  }
 71060  
 71061  func register_box_query(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 71062  	bp := tls.Alloc(8)
 71063  	defer tls.Free(8)
 71064  
 71065  	var pCtx uintptr
 71066  
 71067  	if objc != 3 {
 71068  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+9919)
 71069  		return TCL_ERROR
 71070  	}
 71071  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp) != 0 {
 71072  		return TCL_ERROR
 71073  	}
 71074  
 71075  	pCtx = tcl.XTcl_Alloc(tls, uint32(unsafe.Sizeof(BoxQueryCtx{})))
 71076  	(*BoxQueryCtx)(unsafe.Pointer(pCtx)).Finterp = interp
 71077  	(*BoxQueryCtx)(unsafe.Pointer(pCtx)).FpScript = tcl.XTcl_DuplicateObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
 71078  	(*Tcl_Obj)(unsafe.Pointer((*BoxQueryCtx)(unsafe.Pointer(pCtx)).FpScript)).FrefCount++
 71079  
 71080  	sqlite3.Xsqlite3_rtree_query_callback(tls,
 71081  		*(*uintptr)(unsafe.Pointer(bp)), ts+10019, *(*uintptr)(unsafe.Pointer(&struct {
 71082  			f func(*libc.TLS, uintptr) int32
 71083  		}{box_query})), pCtx, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{box_query_destroy})))
 71084  
 71085  	tcl.XTcl_ResetResult(tls, interp)
 71086  	return TCL_OK
 71087  }
 71088  
 71089  func Sqlitetestrtreedoc_Init(tls *libc.TLS, interp uintptr) int32 {
 71090  	tcl.XTcl_CreateObjCommand(tls, interp, ts+10024, *(*uintptr)(unsafe.Pointer(&struct {
 71091  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 71092  	}{register_box_geom})), uintptr(0), uintptr(0))
 71093  	tcl.XTcl_CreateObjCommand(tls, interp, ts+10042, *(*uintptr)(unsafe.Pointer(&struct {
 71094  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 71095  	}{register_box_query})), uintptr(0), uintptr(0))
 71096  	return TCL_OK
 71097  }
 71098  
 71099  type TestSession1 = struct {
 71100  	FpSession      uintptr
 71101  	Finterp        uintptr
 71102  	FpFilterScript uintptr
 71103  }
 71104  
 71105  type TestSession = TestSession1
 71106  
 71107  type TestStreamInput1 = struct {
 71108  	FnStream     int32
 71109  	F__ccgo_pad1 [4]byte
 71110  	FaData       uintptr
 71111  	FnData       int32
 71112  	FiData       int32
 71113  }
 71114  
 71115  type TestStreamInput = TestStreamInput1
 71116  
 71117  func dbHandleFromObj1(tls *libc.TLS, interp uintptr, pObj uintptr, pDb uintptr) int32 {
 71118  	bp := tls.Alloc(88)
 71119  	defer tls.Free(88)
 71120  
 71121  	if 0 == tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, pObj), bp+24) {
 71122  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+1930, tcl.XTcl_GetString(tls, pObj), 0))
 71123  		return TCL_ERROR
 71124  	}
 71125  
 71126  	*(*uintptr)(unsafe.Pointer(pDb)) = *(*uintptr)(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 24)).FobjClientData))
 71127  	return TCL_OK
 71128  }
 71129  
 71130  func sql_exec_changeset(tls *libc.TLS, db uintptr, zSql uintptr, pnChangeset uintptr, ppChangeset uintptr) int32 {
 71131  	bp := tls.Alloc(8)
 71132  	defer tls.Free(8)
 71133  
 71134  	*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
 71135  	var rc int32
 71136  
 71137  	rc = sqlite3.Xsqlite3session_create(tls, db, ts+85, bp)
 71138  
 71139  	if rc == SQLITE_OK {
 71140  		rc = sqlite3.Xsqlite3session_attach(tls, *(*uintptr)(unsafe.Pointer(bp)), uintptr(0))
 71141  	}
 71142  
 71143  	if rc == SQLITE_OK {
 71144  		rc = sqlite3.Xsqlite3_exec(tls, db, zSql, uintptr(0), uintptr(0), uintptr(0))
 71145  	}
 71146  
 71147  	if rc == SQLITE_OK {
 71148  		rc = sqlite3.Xsqlite3session_changeset(tls, *(*uintptr)(unsafe.Pointer(bp)), pnChangeset, ppChangeset)
 71149  	}
 71150  
 71151  	sqlite3.Xsqlite3session_delete(tls, *(*uintptr)(unsafe.Pointer(bp)))
 71152  
 71153  	return rc
 71154  }
 71155  
 71156  func test_sql_exec_changeset(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 71157  	bp := tls.Alloc(40)
 71158  	defer tls.Free(40)
 71159  
 71160  	var zSql uintptr
 71161  
 71162  	var rc int32
 71163  
 71164  	if objc != 3 {
 71165  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10061)
 71166  		return TCL_ERROR
 71167  	}
 71168  	if dbHandleFromObj1(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+16) != 0 {
 71169  		return TCL_ERROR
 71170  	}
 71171  	zSql = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
 71172  
 71173  	rc = sql_exec_changeset(tls, *(*uintptr)(unsafe.Pointer(bp + 16)), zSql, bp+24, bp+32)
 71174  	if rc != SQLITE_OK {
 71175  		tcl.XTcl_ResetResult(tls, interp)
 71176  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+10068, 0))
 71177  		return TCL_ERROR
 71178  	}
 71179  
 71180  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), *(*int32)(unsafe.Pointer(bp + 24))))
 71181  	sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))
 71182  	return TCL_OK
 71183  }
 71184  
 71185  func test_tcl_integer(tls *libc.TLS, interp uintptr, zVar uintptr) int32 {
 71186  	bp := tls.Alloc(4)
 71187  	defer tls.Free(4)
 71188  
 71189  	var pObj uintptr
 71190  	*(*int32)(unsafe.Pointer(bp)) = 0
 71191  	var pName uintptr = tcl.XTcl_NewStringObj(tls, zVar, -1)
 71192  	(*Tcl_Obj)(unsafe.Pointer(pName)).FrefCount++
 71193  	pObj = tcl.XTcl_ObjGetVar2(tls, interp, pName, uintptr(0), TCL_GLOBAL_ONLY)
 71194  	for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
 71195  		var _objPtr uintptr = pName
 71196  		if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 71197  			tcl.XTclFreeObj(tls, _objPtr)
 71198  		}
 71199  	}
 71200  	if pObj != 0 {
 71201  		tcl.XTcl_GetIntFromObj(tls, uintptr(0), pObj, bp)
 71202  	}
 71203  	return *(*int32)(unsafe.Pointer(bp))
 71204  }
 71205  
 71206  func test_session_error(tls *libc.TLS, interp uintptr, rc int32, zErr uintptr) int32 {
 71207  	bp := tls.Alloc(24)
 71208  	defer tls.Free(24)
 71209  
 71210  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3ErrName(tls, rc), -1))
 71211  	if zErr != 0 {
 71212  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+9645, zErr, 0))
 71213  		sqlite3.Xsqlite3_free(tls, zErr)
 71214  	}
 71215  	return TCL_ERROR
 71216  }
 71217  
 71218  func test_table_filter(tls *libc.TLS, pCtx uintptr, zTbl uintptr) int32 {
 71219  	bp := tls.Alloc(4)
 71220  	defer tls.Free(4)
 71221  
 71222  	var p uintptr = pCtx
 71223  	var pEval uintptr
 71224  	var rc int32
 71225  	*(*int32)(unsafe.Pointer(bp)) = 0
 71226  
 71227  	pEval = tcl.XTcl_DuplicateObj(tls, (*TestSession)(unsafe.Pointer(p)).FpFilterScript)
 71228  	(*Tcl_Obj)(unsafe.Pointer(pEval)).FrefCount++
 71229  	rc = tcl.XTcl_ListObjAppendElement(tls, (*TestSession)(unsafe.Pointer(p)).Finterp, pEval, tcl.XTcl_NewStringObj(tls, zTbl, -1))
 71230  	if rc == TCL_OK {
 71231  		rc = tcl.XTcl_EvalObjEx(tls, (*TestSession)(unsafe.Pointer(p)).Finterp, pEval, TCL_EVAL_GLOBAL)
 71232  	}
 71233  	if rc == TCL_OK {
 71234  		rc = tcl.XTcl_GetBooleanFromObj(tls, (*TestSession)(unsafe.Pointer(p)).Finterp, tcl.XTcl_GetObjResult(tls, (*TestSession)(unsafe.Pointer(p)).Finterp), bp)
 71235  	}
 71236  	if rc != TCL_OK {
 71237  		tcl.XTcl_BackgroundError(tls, (*TestSession)(unsafe.Pointer(p)).Finterp)
 71238  	}
 71239  	for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
 71240  		var _objPtr uintptr = pEval
 71241  		if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 71242  			tcl.XTclFreeObj(tls, _objPtr)
 71243  		}
 71244  	}
 71245  
 71246  	return *(*int32)(unsafe.Pointer(bp))
 71247  }
 71248  
 71249  type TestSessionsBlob1 = struct {
 71250  	Fp           uintptr
 71251  	Fn           int32
 71252  	F__ccgo_pad1 [4]byte
 71253  }
 71254  
 71255  type TestSessionsBlob = TestSessionsBlob1
 71256  
 71257  func testStreamOutput(tls *libc.TLS, pCtx uintptr, pData uintptr, nData int32) int32 {
 71258  	var pBlob uintptr = pCtx
 71259  	var pNew uintptr
 71260  
 71261  	pNew = sqlite3.Xsqlite3_realloc(tls, (*TestSessionsBlob)(unsafe.Pointer(pBlob)).Fp, (*TestSessionsBlob)(unsafe.Pointer(pBlob)).Fn+nData)
 71262  	if pNew == uintptr(0) {
 71263  		return SQLITE_NOMEM
 71264  	}
 71265  	(*TestSessionsBlob)(unsafe.Pointer(pBlob)).Fp = pNew
 71266  	libc.Xmemcpy(tls, pNew+uintptr((*TestSessionsBlob)(unsafe.Pointer(pBlob)).Fn), pData, uint64(nData))
 71267  	*(*int32)(unsafe.Pointer(pBlob + 8)) += nData
 71268  	return SQLITE_OK
 71269  }
 71270  
 71271  func test_session_cmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 71272  	bp := tls.Alloc(44)
 71273  	defer tls.Free(44)
 71274  
 71275  	var p uintptr = clientData
 71276  	var pSession uintptr = (*TestSession)(unsafe.Pointer(p)).FpSession
 71277  
 71278  	var rc int32
 71279  
 71280  	if objc < 2 {
 71281  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+1999)
 71282  		return TCL_ERROR
 71283  	}
 71284  	rc = tcl.XTcl_GetIndexFromObjStruct(tls, interp,
 71285  		*(*uintptr)(unsafe.Pointer(objv + 1*8)), uintptr(unsafe.Pointer(&aSub)), int32(unsafe.Sizeof(SessionSubcmd{})), ts+2014, 0, bp)
 71286  	if rc != TCL_OK {
 71287  		return rc
 71288  	}
 71289  	if objc != 2+aSub[*(*int32)(unsafe.Pointer(bp))].FnArg {
 71290  		tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, aSub[*(*int32)(unsafe.Pointer(bp))].FzMsg)
 71291  		return TCL_ERROR
 71292  	}
 71293  
 71294  	switch *(*int32)(unsafe.Pointer(bp)) {
 71295  	case 0:
 71296  		{
 71297  			var zArg uintptr = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
 71298  			if int32(*(*int8)(unsafe.Pointer(zArg))) == '*' && int32(*(*int8)(unsafe.Pointer(zArg + 1))) == 0 {
 71299  				zArg = uintptr(0)
 71300  			}
 71301  			rc = sqlite3.Xsqlite3session_attach(tls, pSession, zArg)
 71302  			if rc != SQLITE_OK {
 71303  				return test_session_error(tls, interp, rc, uintptr(0))
 71304  			}
 71305  			break
 71306  
 71307  		}
 71308  
 71309  	case 7:
 71310  		fallthrough
 71311  	case 1:
 71312  		{
 71313  			*(*TestSessionsBlob)(unsafe.Pointer(bp + 8)) = TestSessionsBlob{}
 71314  			if test_tcl_integer(tls, interp, ts+10098) != 0 {
 71315  				var pCtx uintptr = bp + 8
 71316  				if *(*int32)(unsafe.Pointer(bp)) == 7 {
 71317  					rc = sqlite3.Xsqlite3session_patchset_strm(tls, pSession, *(*uintptr)(unsafe.Pointer(&struct {
 71318  						f func(*libc.TLS, uintptr, uintptr, int32) int32
 71319  					}{testStreamOutput})), pCtx)
 71320  				} else {
 71321  					rc = sqlite3.Xsqlite3session_changeset_strm(tls, pSession, *(*uintptr)(unsafe.Pointer(&struct {
 71322  						f func(*libc.TLS, uintptr, uintptr, int32) int32
 71323  					}{testStreamOutput})), pCtx)
 71324  				}
 71325  			} else {
 71326  				if *(*int32)(unsafe.Pointer(bp)) == 7 {
 71327  					rc = sqlite3.Xsqlite3session_patchset(tls, pSession, bp+8+8, bp+8)
 71328  				} else {
 71329  					rc = sqlite3.Xsqlite3session_changeset(tls, pSession, bp+8+8, bp+8)
 71330  				}
 71331  			}
 71332  			if rc == SQLITE_OK {
 71333  				tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, (*TestSessionsBlob)(unsafe.Pointer(bp+8)).Fp, (*TestSessionsBlob)(unsafe.Pointer(bp+8)).Fn))
 71334  			}
 71335  			sqlite3.Xsqlite3_free(tls, (*TestSessionsBlob)(unsafe.Pointer(bp+8)).Fp)
 71336  			if rc != SQLITE_OK {
 71337  				return test_session_error(tls, interp, rc, uintptr(0))
 71338  			}
 71339  			break
 71340  
 71341  		}
 71342  
 71343  	case 2:
 71344  		tcl.XTcl_DeleteCommand(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))))
 71345  		break
 71346  
 71347  	case 3:
 71348  		{
 71349  			if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+24) != 0 {
 71350  				return TCL_ERROR
 71351  			}
 71352  			*(*int32)(unsafe.Pointer(bp + 24)) = sqlite3.Xsqlite3session_enable(tls, pSession, *(*int32)(unsafe.Pointer(bp + 24)))
 71353  			tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, libc.Bool32(*(*int32)(unsafe.Pointer(bp + 24)) != 0)))
 71354  			break
 71355  
 71356  		}
 71357  
 71358  	case 4:
 71359  		{
 71360  			if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+28) != 0 {
 71361  				return TCL_ERROR
 71362  			}
 71363  			*(*int32)(unsafe.Pointer(bp + 28)) = sqlite3.Xsqlite3session_indirect(tls, pSession, *(*int32)(unsafe.Pointer(bp + 28)))
 71364  			tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, libc.Bool32(*(*int32)(unsafe.Pointer(bp + 28)) != 0)))
 71365  			break
 71366  
 71367  		}
 71368  
 71369  	case 5:
 71370  		{
 71371  			var val int32
 71372  			val = sqlite3.Xsqlite3session_isempty(tls, pSession)
 71373  			tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, libc.Bool32(val != 0)))
 71374  			break
 71375  
 71376  		}
 71377  
 71378  	case 6:
 71379  		{
 71380  			if (*TestSession)(unsafe.Pointer(p)).FpFilterScript != 0 {
 71381  				for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
 71382  					var _objPtr uintptr = (*TestSession)(unsafe.Pointer(p)).FpFilterScript
 71383  					if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 71384  						tcl.XTclFreeObj(tls, _objPtr)
 71385  					}
 71386  				}
 71387  			}
 71388  			(*TestSession)(unsafe.Pointer(p)).Finterp = interp
 71389  			(*TestSession)(unsafe.Pointer(p)).FpFilterScript = tcl.XTcl_DuplicateObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
 71390  			(*Tcl_Obj)(unsafe.Pointer((*TestSession)(unsafe.Pointer(p)).FpFilterScript)).FrefCount++
 71391  			sqlite3.Xsqlite3session_table_filter(tls, pSession, *(*uintptr)(unsafe.Pointer(&struct {
 71392  				f func(*libc.TLS, uintptr, uintptr) int32
 71393  			}{test_table_filter})), clientData)
 71394  			break
 71395  
 71396  		}
 71397  
 71398  	case 8:
 71399  		{
 71400  			*(*uintptr)(unsafe.Pointer(bp + 32)) = uintptr(0)
 71401  			rc = sqlite3.Xsqlite3session_diff(tls, pSession,
 71402  				tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))),
 71403  				tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8))),
 71404  				bp+32)
 71405  
 71406  			if rc != 0 {
 71407  				return test_session_error(tls, interp, rc, *(*uintptr)(unsafe.Pointer(bp + 32)))
 71408  			}
 71409  			break
 71410  
 71411  		}
 71412  
 71413  	case 9:
 71414  		{
 71415  			var nMalloc sqlite3_int64 = sqlite3.Xsqlite3session_memory_used(tls, pSession)
 71416  			tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewWideIntObj(tls, nMalloc))
 71417  			break
 71418  
 71419  		}
 71420  
 71421  	case 10:
 71422  		{
 71423  			var nSize sqlite3_int64 = sqlite3.Xsqlite3session_changeset_size(tls, pSession)
 71424  			tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewWideIntObj(tls, nSize))
 71425  			break
 71426  
 71427  		}
 71428  	case 11:
 71429  		{
 71430  			var rc int32
 71431  
 71432  			if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+40) != 0 {
 71433  				return TCL_ERROR
 71434  			}
 71435  			rc = sqlite3.Xsqlite3session_object_config(tls,
 71436  				pSession, SQLITE_SESSION_OBJCONFIG_SIZE, bp+40)
 71437  			if rc != SQLITE_OK {
 71438  				tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3ErrName(tls, rc), -1))
 71439  			} else {
 71440  				tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 40))))
 71441  			}
 71442  			break
 71443  
 71444  		}
 71445  	}
 71446  
 71447  	return TCL_OK
 71448  }
 71449  
 71450  type SessionSubcmd = struct {
 71451  	FzSub        uintptr
 71452  	FnArg        int32
 71453  	F__ccgo_pad1 [4]byte
 71454  	FzMsg        uintptr
 71455  	FiSub        int32
 71456  	F__ccgo_pad2 [4]byte
 71457  }
 71458  
 71459  var aSub = [13]SessionSubcmd{
 71460  	{FzSub: ts + 10121, FnArg: 1, FzMsg: ts + 1951},
 71461  	{FzSub: ts + 10128, FzMsg: ts + 584},
 71462  	{FzSub: ts + 10138, FzMsg: ts + 584},
 71463  	{FzSub: ts + 10145, FnArg: 1, FzMsg: ts + 10152},
 71464  	{FzSub: ts + 10157, FnArg: 1, FzMsg: ts + 10152},
 71465  	{FzSub: ts + 10166, FzMsg: ts + 584},
 71466  	{FzSub: ts + 10174, FnArg: 1, FzMsg: ts + 10187},
 71467  	{FzSub: ts + 10194, FzMsg: ts + 584},
 71468  	{FzSub: ts + 10203, FnArg: 2, FzMsg: ts + 10208},
 71469  	{FzSub: ts + 10219, FzMsg: ts + 584},
 71470  	{FzSub: ts + 10231, FzMsg: ts + 584},
 71471  	{FzSub: ts + 10246, FnArg: 1, FzMsg: ts + 2413},
 71472  	{},
 71473  }
 71474  
 71475  func test_session_del(tls *libc.TLS, clientData uintptr) {
 71476  	var p uintptr = clientData
 71477  	if (*TestSession)(unsafe.Pointer(p)).FpFilterScript != 0 {
 71478  		for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
 71479  			var _objPtr uintptr = (*TestSession)(unsafe.Pointer(p)).FpFilterScript
 71480  			if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 71481  				tcl.XTclFreeObj(tls, _objPtr)
 71482  			}
 71483  		}
 71484  	}
 71485  	sqlite3.Xsqlite3session_delete(tls, (*TestSession)(unsafe.Pointer(p)).FpSession)
 71486  	tcl.XTcl_Free(tls, p)
 71487  }
 71488  
 71489  func test_sqlite3session(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 71490  	bp := tls.Alloc(92)
 71491  	defer tls.Free(92)
 71492  
 71493  	var db uintptr
 71494  
 71495  	var rc int32
 71496  	var p uintptr
 71497  	*(*int32)(unsafe.Pointer(bp + 88)) = -1
 71498  
 71499  	if objc != 4 {
 71500  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10265)
 71501  		return TCL_ERROR
 71502  	}
 71503  
 71504  	if 0 == tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), bp+24) {
 71505  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+1930, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), 0))
 71506  		return TCL_ERROR
 71507  	}
 71508  	db = *(*uintptr)(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 24)).FobjClientData))
 71509  
 71510  	p = tcl.XTcl_Alloc(tls, uint32(unsafe.Sizeof(TestSession{})))
 71511  	libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(TestSession{})))
 71512  	rc = sqlite3.Xsqlite3session_create(tls, db, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8))), p)
 71513  	if rc != SQLITE_OK {
 71514  		tcl.XTcl_Free(tls, p)
 71515  		return test_session_error(tls, interp, rc, uintptr(0))
 71516  	}
 71517  
 71518  	sqlite3.Xsqlite3session_object_config(tls, (*TestSession)(unsafe.Pointer(p)).FpSession, SQLITE_SESSION_OBJCONFIG_SIZE, bp+88)
 71519  
 71520  	*(*int32)(unsafe.Pointer(bp + 88)) = 1
 71521  	sqlite3.Xsqlite3session_object_config(tls, (*TestSession)(unsafe.Pointer(p)).FpSession, SQLITE_SESSION_OBJCONFIG_SIZE, bp+88)
 71522  
 71523  	tcl.XTcl_CreateObjCommand(tls,
 71524  		interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), *(*uintptr)(unsafe.Pointer(&struct {
 71525  			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 71526  		}{test_session_cmd})), p,
 71527  		*(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{test_session_del})))
 71528  	tcl.XTcl_SetObjResult(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)))
 71529  	return TCL_OK
 71530  }
 71531  
 71532  func test_append_value(tls *libc.TLS, pList uintptr, pVal uintptr) {
 71533  	if pVal == uintptr(0) {
 71534  		tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pList, tcl.XTcl_NewObj(tls))
 71535  		tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pList, tcl.XTcl_NewObj(tls))
 71536  	} else {
 71537  		var pObj uintptr
 71538  		switch sqlite3.Xsqlite3_value_type(tls, pVal) {
 71539  		case SQLITE_NULL:
 71540  			tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pList, tcl.XTcl_NewStringObj(tls, ts+10287, 1))
 71541  			pObj = tcl.XTcl_NewObj(tls)
 71542  			break
 71543  			fallthrough
 71544  		case SQLITE_INTEGER:
 71545  			tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pList, tcl.XTcl_NewStringObj(tls, ts+10289, 1))
 71546  			pObj = tcl.XTcl_NewWideIntObj(tls, sqlite3.Xsqlite3_value_int64(tls, pVal))
 71547  			break
 71548  			fallthrough
 71549  		case SQLITE_FLOAT:
 71550  			tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pList, tcl.XTcl_NewStringObj(tls, ts+10291, 1))
 71551  			pObj = tcl.XTcl_NewDoubleObj(tls, sqlite3.Xsqlite3_value_double(tls, pVal))
 71552  			break
 71553  			fallthrough
 71554  		case SQLITE_TEXT:
 71555  			{
 71556  				var z uintptr = sqlite3.Xsqlite3_value_blob(tls, pVal)
 71557  				var n int32 = sqlite3.Xsqlite3_value_bytes(tls, pVal)
 71558  				tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pList, tcl.XTcl_NewStringObj(tls, ts+10293, 1))
 71559  				pObj = tcl.XTcl_NewStringObj(tls, z, n)
 71560  				break
 71561  
 71562  			}
 71563  			fallthrough
 71564  		default:
 71565  			tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pList, tcl.XTcl_NewStringObj(tls, ts+6206, 1))
 71566  			pObj = tcl.XTcl_NewByteArrayObj(tls,
 71567  				sqlite3.Xsqlite3_value_blob(tls, pVal),
 71568  				sqlite3.Xsqlite3_value_bytes(tls, pVal))
 71569  			break
 71570  		}
 71571  		tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pList, pObj)
 71572  	}
 71573  }
 71574  
 71575  type TestConflictHandler1 = struct {
 71576  	Finterp          uintptr
 71577  	FpConflictScript uintptr
 71578  	FpFilterScript   uintptr
 71579  }
 71580  
 71581  type TestConflictHandler = TestConflictHandler1
 71582  
 71583  func test_obj_eq_string(tls *libc.TLS, p uintptr, z uintptr) int32 {
 71584  	bp := tls.Alloc(4)
 71585  	defer tls.Free(4)
 71586  
 71587  	var n int32
 71588  
 71589  	var zObj uintptr
 71590  
 71591  	n = int32(libc.Xstrlen(tls, z))
 71592  	zObj = tcl.XTcl_GetStringFromObj(tls, p, bp)
 71593  
 71594  	return libc.Bool32(*(*int32)(unsafe.Pointer(bp)) == n && (n == 0 || 0 == libc.Xmemcmp(tls, zObj, z, uint64(n))))
 71595  }
 71596  
 71597  func test_filter_handler(tls *libc.TLS, pCtx uintptr, zTab uintptr) int32 {
 71598  	bp := tls.Alloc(4)
 71599  	defer tls.Free(4)
 71600  
 71601  	var p uintptr = pCtx
 71602  	*(*int32)(unsafe.Pointer(bp)) = 1
 71603  	var pEval uintptr
 71604  	var interp uintptr = (*TestConflictHandler)(unsafe.Pointer(p)).Finterp
 71605  
 71606  	pEval = tcl.XTcl_DuplicateObj(tls, (*TestConflictHandler)(unsafe.Pointer(p)).FpFilterScript)
 71607  	(*Tcl_Obj)(unsafe.Pointer(pEval)).FrefCount++
 71608  
 71609  	if TCL_OK != tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, tcl.XTcl_NewStringObj(tls, zTab, -1)) ||
 71610  		TCL_OK != tcl.XTcl_EvalObjEx(tls, interp, pEval, TCL_EVAL_GLOBAL) ||
 71611  		TCL_OK != tcl.XTcl_GetIntFromObj(tls, interp, tcl.XTcl_GetObjResult(tls, interp), bp) {
 71612  		tcl.XTcl_BackgroundError(tls, interp)
 71613  	}
 71614  
 71615  	for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
 71616  		var _objPtr uintptr = pEval
 71617  		if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 71618  			tcl.XTclFreeObj(tls, _objPtr)
 71619  		}
 71620  	}
 71621  	return *(*int32)(unsafe.Pointer(bp))
 71622  }
 71623  
 71624  func test_conflict_handler(tls *libc.TLS, pCtx uintptr, eConf int32, pIter uintptr) int32 {
 71625  	bp := tls.Alloc(104)
 71626  	defer tls.Free(104)
 71627  
 71628  	var p uintptr = pCtx
 71629  	var pEval uintptr
 71630  	var interp uintptr = (*TestConflictHandler)(unsafe.Pointer(p)).Finterp
 71631  	*(*int32)(unsafe.Pointer(bp + 100)) = 0
 71632  
 71633  	pEval = tcl.XTcl_DuplicateObj(tls, (*TestConflictHandler)(unsafe.Pointer(p)).FpConflictScript)
 71634  	(*Tcl_Obj)(unsafe.Pointer(pEval)).FrefCount++
 71635  
 71636  	sqlite3.Xsqlite3changeset_op(tls, pIter, bp, bp+8, bp+12, uintptr(0))
 71637  
 71638  	if eConf == SQLITE_CHANGESET_FOREIGN_KEY {
 71639  		sqlite3.Xsqlite3changeset_fk_conflicts(tls, pIter, bp+16)
 71640  		tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, tcl.XTcl_NewStringObj(tls, ts+10295, -1))
 71641  		tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 16))))
 71642  	} else {
 71643  		tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, tcl.XTcl_NewStringObj(tls,
 71644  			func() uintptr {
 71645  				if *(*int32)(unsafe.Pointer(bp + 12)) == SQLITE_INSERT {
 71646  					return ts + 10307
 71647  				}
 71648  				return func() uintptr {
 71649  					if *(*int32)(unsafe.Pointer(bp + 12)) == SQLITE_UPDATE {
 71650  						return ts + 10314
 71651  					}
 71652  					return ts + 10321
 71653  				}()
 71654  			}(), -1))
 71655  
 71656  		tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, tcl.XTcl_NewStringObj(tls, *(*uintptr)(unsafe.Pointer(bp)), -1))
 71657  
 71658  		switch eConf {
 71659  		case SQLITE_CHANGESET_DATA:
 71660  			tcl.XTcl_ListObjAppendElement(tls, interp, pEval, tcl.XTcl_NewStringObj(tls, ts+10328, -1))
 71661  			break
 71662  			fallthrough
 71663  		case SQLITE_CHANGESET_NOTFOUND:
 71664  			tcl.XTcl_ListObjAppendElement(tls, interp, pEval, tcl.XTcl_NewStringObj(tls, ts+10333, -1))
 71665  			break
 71666  			fallthrough
 71667  		case SQLITE_CHANGESET_CONFLICT:
 71668  			tcl.XTcl_ListObjAppendElement(tls, interp, pEval, tcl.XTcl_NewStringObj(tls, ts+10342, -1))
 71669  			break
 71670  			fallthrough
 71671  		case SQLITE_CHANGESET_CONSTRAINT:
 71672  			tcl.XTcl_ListObjAppendElement(tls, interp, pEval, tcl.XTcl_NewStringObj(tls, ts+10351, -1))
 71673  			break
 71674  		}
 71675  
 71676  		if *(*int32)(unsafe.Pointer(bp + 12)) != SQLITE_INSERT {
 71677  			var i int32
 71678  			var pOld uintptr = tcl.XTcl_NewObj(tls)
 71679  			for i = 0; i < *(*int32)(unsafe.Pointer(bp + 8)); i++ {
 71680  				sqlite3.Xsqlite3changeset_old(tls, pIter, i, bp+24)
 71681  				test_append_value(tls, pOld, *(*uintptr)(unsafe.Pointer(bp + 24)))
 71682  			}
 71683  			tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, pOld)
 71684  		}
 71685  
 71686  		if *(*int32)(unsafe.Pointer(bp + 12)) != SQLITE_DELETE {
 71687  			var i int32
 71688  			var pNew uintptr = tcl.XTcl_NewObj(tls)
 71689  			for i = 0; i < *(*int32)(unsafe.Pointer(bp + 8)); i++ {
 71690  				sqlite3.Xsqlite3changeset_new(tls, pIter, i, bp+32)
 71691  				test_append_value(tls, pNew, *(*uintptr)(unsafe.Pointer(bp + 32)))
 71692  			}
 71693  			tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, pNew)
 71694  		}
 71695  
 71696  		if eConf == SQLITE_CHANGESET_DATA || eConf == SQLITE_CHANGESET_CONFLICT {
 71697  			var i int32
 71698  			var pConflict uintptr = tcl.XTcl_NewObj(tls)
 71699  			for i = 0; i < *(*int32)(unsafe.Pointer(bp + 8)); i++ {
 71700  				var rc int32
 71701  				_ = rc
 71702  
 71703  				rc = sqlite3.Xsqlite3changeset_conflict(tls, pIter, i, bp+40)
 71704  
 71705  				test_append_value(tls, pConflict, *(*uintptr)(unsafe.Pointer(bp + 40)))
 71706  			}
 71707  			tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, pConflict)
 71708  		}
 71709  
 71710  		if eConf == SQLITE_CHANGESET_CONSTRAINT ||
 71711  			eConf == SQLITE_CHANGESET_NOTFOUND {
 71712  			var rc int32 = sqlite3.Xsqlite3changeset_conflict(tls, pIter, 0, bp+48)
 71713  			_ = rc
 71714  
 71715  		} else {
 71716  			var rc int32 = sqlite3.Xsqlite3changeset_conflict(tls, pIter, -1, bp+56)
 71717  			_ = rc
 71718  
 71719  			rc = sqlite3.Xsqlite3changeset_conflict(tls, pIter, *(*int32)(unsafe.Pointer(bp + 8)), bp+56)
 71720  
 71721  		}
 71722  		if *(*int32)(unsafe.Pointer(bp + 12)) == SQLITE_DELETE {
 71723  			var rc int32 = sqlite3.Xsqlite3changeset_new(tls, pIter, 0, bp+64)
 71724  			_ = rc
 71725  
 71726  		} else {
 71727  			var rc int32 = sqlite3.Xsqlite3changeset_new(tls, pIter, -1, bp+72)
 71728  			_ = rc
 71729  
 71730  			rc = sqlite3.Xsqlite3changeset_new(tls, pIter, *(*int32)(unsafe.Pointer(bp + 8)), bp+72)
 71731  
 71732  		}
 71733  		if *(*int32)(unsafe.Pointer(bp + 12)) == SQLITE_INSERT {
 71734  			var rc int32 = sqlite3.Xsqlite3changeset_old(tls, pIter, 0, bp+80)
 71735  			_ = rc
 71736  
 71737  		} else {
 71738  			var rc int32 = sqlite3.Xsqlite3changeset_old(tls, pIter, -1, bp+88)
 71739  			_ = rc
 71740  
 71741  			rc = sqlite3.Xsqlite3changeset_old(tls, pIter, *(*int32)(unsafe.Pointer(bp + 8)), bp+88)
 71742  
 71743  		}
 71744  		if eConf != SQLITE_CHANGESET_FOREIGN_KEY {
 71745  			var rc int32 = sqlite3.Xsqlite3changeset_fk_conflicts(tls, pIter, bp+96)
 71746  			_ = rc
 71747  
 71748  		}
 71749  
 71750  	}
 71751  
 71752  	if TCL_OK != tcl.XTcl_EvalObjEx(tls, interp, pEval, TCL_EVAL_GLOBAL) {
 71753  		tcl.XTcl_BackgroundError(tls, interp)
 71754  	} else {
 71755  		var pRes uintptr = tcl.XTcl_GetObjResult(tls, interp)
 71756  		if test_obj_eq_string(tls, pRes, ts+10362) != 0 || test_obj_eq_string(tls, pRes, ts+584) != 0 {
 71757  			*(*int32)(unsafe.Pointer(bp + 100)) = SQLITE_CHANGESET_OMIT
 71758  		} else if test_obj_eq_string(tls, pRes, ts+7846) != 0 {
 71759  			*(*int32)(unsafe.Pointer(bp + 100)) = SQLITE_CHANGESET_REPLACE
 71760  		} else if test_obj_eq_string(tls, pRes, ts+7840) != 0 {
 71761  			*(*int32)(unsafe.Pointer(bp + 100)) = SQLITE_CHANGESET_ABORT
 71762  		} else {
 71763  			tcl.XTcl_GetIntFromObj(tls, uintptr(0), pRes, bp+100)
 71764  		}
 71765  	}
 71766  
 71767  	for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
 71768  		var _objPtr uintptr = pEval
 71769  		if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 71770  			tcl.XTclFreeObj(tls, _objPtr)
 71771  		}
 71772  	}
 71773  	return *(*int32)(unsafe.Pointer(bp + 100))
 71774  }
 71775  
 71776  func replace_handler(tls *libc.TLS, pCtx uintptr, eConf int32, pIter uintptr) int32 {
 71777  	bp := tls.Alloc(32)
 71778  	defer tls.Free(32)
 71779  
 71780  	var i int32
 71781  	var x int32 = 0
 71782  
 71783  	sqlite3.Xsqlite3changeset_op(tls, pIter, bp, bp+8, bp+12, uintptr(0))
 71784  
 71785  	if *(*int32)(unsafe.Pointer(bp + 12)) != SQLITE_INSERT {
 71786  		for i = 0; i < *(*int32)(unsafe.Pointer(bp + 8)); i++ {
 71787  			sqlite3.Xsqlite3changeset_old(tls, pIter, i, bp+16)
 71788  			sqlite3.Xsqlite3_value_text16(tls, *(*uintptr)(unsafe.Pointer(bp + 16)))
 71789  			x++
 71790  		}
 71791  	}
 71792  
 71793  	if *(*int32)(unsafe.Pointer(bp + 12)) != SQLITE_DELETE {
 71794  		for i = 0; i < *(*int32)(unsafe.Pointer(bp + 8)); i++ {
 71795  			sqlite3.Xsqlite3changeset_new(tls, pIter, i, bp+24)
 71796  			sqlite3.Xsqlite3_value_text16(tls, *(*uintptr)(unsafe.Pointer(bp + 24)))
 71797  			x++
 71798  		}
 71799  	}
 71800  
 71801  	if eConf == SQLITE_CHANGESET_DATA {
 71802  		return SQLITE_CHANGESET_REPLACE
 71803  	}
 71804  	return SQLITE_CHANGESET_OMIT
 71805  }
 71806  
 71807  func testStreamInput(tls *libc.TLS, pCtx uintptr, pData uintptr, pnData uintptr) int32 {
 71808  	var p uintptr = pCtx
 71809  	var nReq int32 = *(*int32)(unsafe.Pointer(pnData))
 71810  	var nRem int32 = (*TestStreamInput)(unsafe.Pointer(p)).FnData - (*TestStreamInput)(unsafe.Pointer(p)).FiData
 71811  	var nRet int32 = (*TestStreamInput)(unsafe.Pointer(p)).FnStream
 71812  
 71813  	var pAlloc uintptr = sqlite3.Xsqlite3_malloc(tls, 10)
 71814  	if pAlloc == uintptr(0) {
 71815  		return SQLITE_NOMEM
 71816  	}
 71817  	sqlite3.Xsqlite3_free(tls, pAlloc)
 71818  
 71819  	if nRet > nReq {
 71820  		nRet = nReq
 71821  	}
 71822  	if nRet > nRem {
 71823  		nRet = nRem
 71824  	}
 71825  
 71826  	if nRet > 0 {
 71827  		libc.Xmemcpy(tls, pData, (*TestStreamInput)(unsafe.Pointer(p)).FaData+uintptr((*TestStreamInput)(unsafe.Pointer(p)).FiData), uint64(nRet))
 71828  		*(*int32)(unsafe.Pointer(p + 20)) += nRet
 71829  	}
 71830  
 71831  	*(*int32)(unsafe.Pointer(pnData)) = nRet
 71832  	return SQLITE_OK
 71833  }
 71834  
 71835  func testSqlite3changesetApply(tls *libc.TLS, bV2 int32, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 71836  	bp := tls.Alloc(156)
 71837  	defer tls.Free(156)
 71838  
 71839  	var db uintptr
 71840  
 71841  	var rc int32
 71842  	var pChangeset uintptr
 71843  
 71844  	*(*uintptr)(unsafe.Pointer(bp + 144)) = uintptr(0)
 71845  	*(*int32)(unsafe.Pointer(bp + 152)) = 0
 71846  	var flags int32 = 0
 71847  
 71848  	libc.Xmemset(tls, bp+24, 0, uint64(unsafe.Sizeof(TestStreamInput{})))
 71849  	(*TestStreamInput)(unsafe.Pointer(bp + 24)).FnStream = test_tcl_integer(tls, interp, ts+10098)
 71850  
 71851  	if bV2 != 0 {
 71852  		if objc > 1 {
 71853  			var z1 uintptr = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))
 71854  			var n int32 = int32(libc.Xstrlen(tls, z1))
 71855  			if n > 1 && n <= 12 && 0 == sqlite3.Xsqlite3_strnicmp(tls, ts+10367, z1, n) {
 71856  				flags = flags | SQLITE_CHANGESETAPPLY_NOSAVEPOINT
 71857  				objc--
 71858  				objv += 8
 71859  			}
 71860  		}
 71861  		if objc > 1 {
 71862  			var z1 uintptr = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))
 71863  			var n int32 = int32(libc.Xstrlen(tls, z1))
 71864  			if n > 1 && n <= 7 && 0 == sqlite3.Xsqlite3_strnicmp(tls, ts+10380, z1, n) {
 71865  				flags = flags | SQLITE_CHANGESETAPPLY_INVERT
 71866  				objc--
 71867  				objv += 8
 71868  			}
 71869  		}
 71870  	}
 71871  
 71872  	if objc != 4 && objc != 5 {
 71873  		var zMsg uintptr
 71874  		if bV2 != 0 {
 71875  			zMsg = ts + 10388
 71876  		} else {
 71877  			zMsg = ts + 10459
 71878  		}
 71879  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, zMsg)
 71880  		return TCL_ERROR
 71881  	}
 71882  	if 0 == tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+48) {
 71883  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+1930, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), 0))
 71884  		return TCL_ERROR
 71885  	}
 71886  	db = *(*uintptr)(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 48)).FobjClientData))
 71887  	pChangeset = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+112)
 71888  	(*TestConflictHandler)(unsafe.Pointer(bp + 120)).FpConflictScript = *(*uintptr)(unsafe.Pointer(objv + 3*8))
 71889  	(*TestConflictHandler)(unsafe.Pointer(bp + 120)).FpFilterScript = func() uintptr {
 71890  		if objc == 5 {
 71891  			return *(*uintptr)(unsafe.Pointer(objv + 4*8))
 71892  		}
 71893  		return uintptr(0)
 71894  	}()
 71895  	(*TestConflictHandler)(unsafe.Pointer(bp + 120)).Finterp = interp
 71896  
 71897  	if (*TestStreamInput)(unsafe.Pointer(bp+24)).FnStream == 0 {
 71898  		if bV2 == 0 {
 71899  			rc = sqlite3.Xsqlite3changeset_apply(tls, db, *(*int32)(unsafe.Pointer(bp + 112)), pChangeset,
 71900  				func() uintptr {
 71901  					if objc == 5 {
 71902  						return *(*uintptr)(unsafe.Pointer(&struct {
 71903  							f func(*libc.TLS, uintptr, uintptr) int32
 71904  						}{test_filter_handler}))
 71905  					}
 71906  					return uintptr(0)
 71907  				}(), *(*uintptr)(unsafe.Pointer(&struct {
 71908  					f func(*libc.TLS, uintptr, int32, uintptr) int32
 71909  				}{test_conflict_handler})), bp+120)
 71910  		} else {
 71911  			rc = sqlite3.Xsqlite3changeset_apply_v2(tls, db, *(*int32)(unsafe.Pointer(bp + 112)), pChangeset,
 71912  				func() uintptr {
 71913  					if objc == 5 {
 71914  						return *(*uintptr)(unsafe.Pointer(&struct {
 71915  							f func(*libc.TLS, uintptr, uintptr) int32
 71916  						}{test_filter_handler}))
 71917  					}
 71918  					return uintptr(0)
 71919  				}(), *(*uintptr)(unsafe.Pointer(&struct {
 71920  					f func(*libc.TLS, uintptr, int32, uintptr) int32
 71921  				}{test_conflict_handler})), bp+120,
 71922  				bp+144, bp+152, flags)
 71923  		}
 71924  	} else {
 71925  		(*TestStreamInput)(unsafe.Pointer(bp + 24)).FaData = pChangeset
 71926  		(*TestStreamInput)(unsafe.Pointer(bp + 24)).FnData = *(*int32)(unsafe.Pointer(bp + 112))
 71927  		if bV2 == 0 {
 71928  			rc = sqlite3.Xsqlite3changeset_apply_strm(tls, db, *(*uintptr)(unsafe.Pointer(&struct {
 71929  				f func(*libc.TLS, uintptr, uintptr, uintptr) int32
 71930  			}{testStreamInput})), bp+24,
 71931  				func() uintptr {
 71932  					if objc == 5 {
 71933  						return *(*uintptr)(unsafe.Pointer(&struct {
 71934  							f func(*libc.TLS, uintptr, uintptr) int32
 71935  						}{test_filter_handler}))
 71936  					}
 71937  					return uintptr(0)
 71938  				}(),
 71939  				*(*uintptr)(unsafe.Pointer(&struct {
 71940  					f func(*libc.TLS, uintptr, int32, uintptr) int32
 71941  				}{test_conflict_handler})), bp+120)
 71942  		} else {
 71943  			rc = sqlite3.Xsqlite3changeset_apply_v2_strm(tls, db, *(*uintptr)(unsafe.Pointer(&struct {
 71944  				f func(*libc.TLS, uintptr, uintptr, uintptr) int32
 71945  			}{testStreamInput})), bp+24,
 71946  				func() uintptr {
 71947  					if objc == 5 {
 71948  						return *(*uintptr)(unsafe.Pointer(&struct {
 71949  							f func(*libc.TLS, uintptr, uintptr) int32
 71950  						}{test_filter_handler}))
 71951  					}
 71952  					return uintptr(0)
 71953  				}(),
 71954  				*(*uintptr)(unsafe.Pointer(&struct {
 71955  					f func(*libc.TLS, uintptr, int32, uintptr) int32
 71956  				}{test_conflict_handler})), bp+120,
 71957  				bp+144, bp+152, flags)
 71958  		}
 71959  	}
 71960  
 71961  	if rc != SQLITE_OK {
 71962  		return test_session_error(tls, interp, rc, uintptr(0))
 71963  	} else {
 71964  		tcl.XTcl_ResetResult(tls, interp)
 71965  		if bV2 != 0 && *(*uintptr)(unsafe.Pointer(bp + 144)) != 0 {
 71966  			tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, *(*uintptr)(unsafe.Pointer(bp + 144)), *(*int32)(unsafe.Pointer(bp + 152))))
 71967  		}
 71968  	}
 71969  	sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 144)))
 71970  	return TCL_OK
 71971  }
 71972  
 71973  func test_sqlite3changeset_apply(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 71974  	return testSqlite3changesetApply(tls, 0, clientData, interp, objc, objv)
 71975  }
 71976  
 71977  func test_sqlite3changeset_apply_v2(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 71978  	return testSqlite3changesetApply(tls, 1, clientData, interp, objc, objv)
 71979  }
 71980  
 71981  func test_sqlite3changeset_apply_replace_all(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 71982  	bp := tls.Alloc(92)
 71983  	defer tls.Free(92)
 71984  
 71985  	var db uintptr
 71986  
 71987  	var rc int32
 71988  	var pChangeset uintptr
 71989  
 71990  	if objc != 3 {
 71991  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10504)
 71992  		return TCL_ERROR
 71993  	}
 71994  	if 0 == tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+24) {
 71995  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+1930, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), 0))
 71996  		return TCL_ERROR
 71997  	}
 71998  	db = *(*uintptr)(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 24)).FobjClientData))
 71999  	pChangeset = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+88)
 72000  
 72001  	rc = sqlite3.Xsqlite3changeset_apply(tls, db, *(*int32)(unsafe.Pointer(bp + 88)), pChangeset, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 72002  		f func(*libc.TLS, uintptr, int32, uintptr) int32
 72003  	}{replace_handler})), uintptr(0))
 72004  	if rc != SQLITE_OK {
 72005  		return test_session_error(tls, interp, rc, uintptr(0))
 72006  	}
 72007  	tcl.XTcl_ResetResult(tls, interp)
 72008  	return TCL_OK
 72009  }
 72010  
 72011  func test_sqlite3changeset_invert(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 72012  	bp := tls.Alloc(40)
 72013  	defer tls.Free(40)
 72014  
 72015  	var rc int32
 72016  
 72017  	if objc != 2 {
 72018  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10517)
 72019  		return TCL_ERROR
 72020  	}
 72021  
 72022  	libc.Xmemset(tls, bp, 0, uint64(unsafe.Sizeof(TestStreamInput{})))
 72023  	libc.Xmemset(tls, bp+24, 0, uint64(unsafe.Sizeof(TestSessionsBlob{})))
 72024  	(*TestStreamInput)(unsafe.Pointer(bp)).FnStream = test_tcl_integer(tls, interp, ts+10098)
 72025  	(*TestStreamInput)(unsafe.Pointer(bp)).FaData = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+16)
 72026  
 72027  	if (*TestStreamInput)(unsafe.Pointer(bp)).FnStream != 0 {
 72028  		rc = sqlite3.Xsqlite3changeset_invert_strm(tls,
 72029  			*(*uintptr)(unsafe.Pointer(&struct {
 72030  				f func(*libc.TLS, uintptr, uintptr, uintptr) int32
 72031  			}{testStreamInput})), bp, *(*uintptr)(unsafe.Pointer(&struct {
 72032  				f func(*libc.TLS, uintptr, uintptr, int32) int32
 72033  			}{testStreamOutput})), bp+24)
 72034  	} else {
 72035  		rc = sqlite3.Xsqlite3changeset_invert(tls, (*TestStreamInput)(unsafe.Pointer(bp)).FnData, (*TestStreamInput)(unsafe.Pointer(bp)).FaData, bp+24+8, bp+24)
 72036  	}
 72037  	if rc != SQLITE_OK {
 72038  		rc = test_session_error(tls, interp, rc, uintptr(0))
 72039  	} else {
 72040  		tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, (*TestSessionsBlob)(unsafe.Pointer(bp+24)).Fp, (*TestSessionsBlob)(unsafe.Pointer(bp+24)).Fn))
 72041  	}
 72042  	sqlite3.Xsqlite3_free(tls, (*TestSessionsBlob)(unsafe.Pointer(bp+24)).Fp)
 72043  	return rc
 72044  }
 72045  
 72046  func test_sqlite3changeset_concat(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 72047  	bp := tls.Alloc(64)
 72048  	defer tls.Free(64)
 72049  
 72050  	var rc int32
 72051  
 72052  	*(*TestSessionsBlob)(unsafe.Pointer(bp + 48)) = TestSessionsBlob{}
 72053  
 72054  	if objc != 3 {
 72055  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10527)
 72056  		return TCL_ERROR
 72057  	}
 72058  
 72059  	libc.Xmemset(tls, bp, 0, uint64(unsafe.Sizeof(TestStreamInput{})))
 72060  	libc.Xmemset(tls, bp+24, 0, uint64(unsafe.Sizeof(TestStreamInput{})))
 72061  	(*TestStreamInput)(unsafe.Pointer(bp)).FaData = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+16)
 72062  	(*TestStreamInput)(unsafe.Pointer(bp + 24)).FaData = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+24+16)
 72063  	(*TestStreamInput)(unsafe.Pointer(bp)).FnStream = test_tcl_integer(tls, interp, ts+10098)
 72064  	(*TestStreamInput)(unsafe.Pointer(bp + 24)).FnStream = (*TestStreamInput)(unsafe.Pointer(bp)).FnStream
 72065  
 72066  	if (*TestStreamInput)(unsafe.Pointer(bp)).FnStream > 0 {
 72067  		rc = sqlite3.Xsqlite3changeset_concat_strm(tls,
 72068  			*(*uintptr)(unsafe.Pointer(&struct {
 72069  				f func(*libc.TLS, uintptr, uintptr, uintptr) int32
 72070  			}{testStreamInput})), bp,
 72071  			*(*uintptr)(unsafe.Pointer(&struct {
 72072  				f func(*libc.TLS, uintptr, uintptr, uintptr) int32
 72073  			}{testStreamInput})), bp+24,
 72074  			*(*uintptr)(unsafe.Pointer(&struct {
 72075  				f func(*libc.TLS, uintptr, uintptr, int32) int32
 72076  			}{testStreamOutput})), bp+48)
 72077  	} else {
 72078  		rc = sqlite3.Xsqlite3changeset_concat(tls,
 72079  			(*TestStreamInput)(unsafe.Pointer(bp)).FnData, (*TestStreamInput)(unsafe.Pointer(bp)).FaData, (*TestStreamInput)(unsafe.Pointer(bp+24)).FnData, (*TestStreamInput)(unsafe.Pointer(bp+24)).FaData, bp+48+8, bp+48)
 72080  	}
 72081  
 72082  	if rc != SQLITE_OK {
 72083  		rc = test_session_error(tls, interp, rc, uintptr(0))
 72084  	} else {
 72085  		tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, (*TestSessionsBlob)(unsafe.Pointer(bp+48)).Fp, (*TestSessionsBlob)(unsafe.Pointer(bp+48)).Fn))
 72086  	}
 72087  	sqlite3.Xsqlite3_free(tls, (*TestSessionsBlob)(unsafe.Pointer(bp+48)).Fp)
 72088  	return rc
 72089  }
 72090  
 72091  func test_sqlite3session_foreach(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 72092  	bp := tls.Alloc(104)
 72093  	defer tls.Free(104)
 72094  
 72095  	var pChangeset uintptr
 72096  
 72097  	var rc int32
 72098  	var pVarname uintptr
 72099  	var pCS uintptr
 72100  	var pScript uintptr
 72101  	var isCheckNext int32 = 0
 72102  	var isInvert int32 = 0
 72103  
 72104  	libc.Xmemset(tls, bp, 0, uint64(unsafe.Sizeof(TestStreamInput{})))
 72105  
 72106  	for objc > 1 {
 72107  		var zOpt uintptr = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))
 72108  		var nOpt int32 = int32(libc.Xstrlen(tls, zOpt))
 72109  		if int32(*(*int8)(unsafe.Pointer(zOpt))) != '-' {
 72110  			break
 72111  		}
 72112  		if nOpt <= 7 && 0 == sqlite3.Xsqlite3_strnicmp(tls, zOpt, ts+10380, nOpt) {
 72113  			isInvert = 1
 72114  		} else if nOpt <= 5 && 0 == sqlite3.Xsqlite3_strnicmp(tls, zOpt, ts+10538, nOpt) {
 72115  			isCheckNext = 1
 72116  		} else {
 72117  			break
 72118  		}
 72119  		objv += 8
 72120  		objc--
 72121  	}
 72122  	if objc != 4 {
 72123  		tcl.XTcl_WrongNumArgs(tls,
 72124  			interp, 1, objv, ts+10544)
 72125  		return TCL_ERROR
 72126  	}
 72127  
 72128  	pVarname = *(*uintptr)(unsafe.Pointer(objv + 1*8))
 72129  	pCS = *(*uintptr)(unsafe.Pointer(objv + 2*8))
 72130  	pScript = *(*uintptr)(unsafe.Pointer(objv + 3*8))
 72131  
 72132  	pChangeset = tcl.XTcl_GetByteArrayFromObj(tls, pCS, bp+24)
 72133  	(*TestStreamInput)(unsafe.Pointer(bp)).FnStream = test_tcl_integer(tls, interp, ts+10098)
 72134  	if isInvert != 0 {
 72135  		var f int32 = SQLITE_CHANGESETSTART_INVERT
 72136  		if (*TestStreamInput)(unsafe.Pointer(bp)).FnStream == 0 {
 72137  			rc = sqlite3.Xsqlite3changeset_start_v2(tls, bp+32, *(*int32)(unsafe.Pointer(bp + 24)), pChangeset, f)
 72138  		} else {
 72139  			var pCtx uintptr = bp
 72140  			(*TestStreamInput)(unsafe.Pointer(bp)).FaData = pChangeset
 72141  			(*TestStreamInput)(unsafe.Pointer(bp)).FnData = *(*int32)(unsafe.Pointer(bp + 24))
 72142  			rc = sqlite3.Xsqlite3changeset_start_v2_strm(tls, bp+32, *(*uintptr)(unsafe.Pointer(&struct {
 72143  				f func(*libc.TLS, uintptr, uintptr, uintptr) int32
 72144  			}{testStreamInput})), pCtx, f)
 72145  		}
 72146  	} else {
 72147  		if (*TestStreamInput)(unsafe.Pointer(bp)).FnStream == 0 {
 72148  			rc = sqlite3.Xsqlite3changeset_start(tls, bp+32, *(*int32)(unsafe.Pointer(bp + 24)), pChangeset)
 72149  		} else {
 72150  			(*TestStreamInput)(unsafe.Pointer(bp)).FaData = pChangeset
 72151  			(*TestStreamInput)(unsafe.Pointer(bp)).FnData = *(*int32)(unsafe.Pointer(bp + 24))
 72152  			rc = sqlite3.Xsqlite3changeset_start_strm(tls, bp+32, *(*uintptr)(unsafe.Pointer(&struct {
 72153  				f func(*libc.TLS, uintptr, uintptr, uintptr) int32
 72154  			}{testStreamInput})), bp)
 72155  		}
 72156  	}
 72157  	if rc != SQLITE_OK {
 72158  		return test_session_error(tls, interp, rc, uintptr(0))
 72159  	}
 72160  
 72161  	for SQLITE_ROW == sqlite3.Xsqlite3changeset_next(tls, *(*uintptr)(unsafe.Pointer(bp + 32))) {
 72162  		var pVar uintptr
 72163  		var pOld uintptr
 72164  		var pNew uintptr
 72165  
 72166  		var zPK uintptr
 72167  
 72168  		var i int32
 72169  
 72170  		if SQLITE_MISUSE != sqlite3.Xsqlite3changeset_fk_conflicts(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), bp+40) {
 72171  			sqlite3.Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))
 72172  			return TCL_ERROR
 72173  		}
 72174  
 72175  		sqlite3.Xsqlite3changeset_op(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), bp+48, bp+56, bp+60, bp+64)
 72176  		pVar = tcl.XTcl_NewObj(tls)
 72177  		tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pVar, tcl.XTcl_NewStringObj(tls,
 72178  			func() uintptr {
 72179  				if *(*int32)(unsafe.Pointer(bp + 60)) == SQLITE_INSERT {
 72180  					return ts + 10307
 72181  				}
 72182  				return func() uintptr {
 72183  					if *(*int32)(unsafe.Pointer(bp + 60)) == SQLITE_UPDATE {
 72184  						return ts + 10314
 72185  					}
 72186  					return ts + 10321
 72187  				}()
 72188  			}(), -1))
 72189  
 72190  		tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pVar, tcl.XTcl_NewStringObj(tls, *(*uintptr)(unsafe.Pointer(bp + 48)), -1))
 72191  		tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pVar, tcl.XTcl_NewIntObj(tls, libc.Bool32(*(*int32)(unsafe.Pointer(bp + 64)) != 0)))
 72192  
 72193  		zPK = tcl.XTcl_Alloc(tls, uint32(*(*int32)(unsafe.Pointer(bp + 56))+1))
 72194  		libc.Xmemset(tls, zPK, 0, uint64(*(*int32)(unsafe.Pointer(bp + 56))+1))
 72195  		sqlite3.Xsqlite3changeset_pk(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), bp+72, bp+80)
 72196  
 72197  		for i = 0; i < *(*int32)(unsafe.Pointer(bp + 56)); i++ {
 72198  			*(*int8)(unsafe.Pointer(zPK + uintptr(i))) = func() int8 {
 72199  				if *(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 72)) + uintptr(i))) != 0 {
 72200  					return int8('X')
 72201  				}
 72202  				return int8('.')
 72203  			}()
 72204  		}
 72205  		tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pVar, tcl.XTcl_NewStringObj(tls, zPK, -1))
 72206  		tcl.XTcl_Free(tls, zPK)
 72207  
 72208  		pOld = tcl.XTcl_NewObj(tls)
 72209  		if *(*int32)(unsafe.Pointer(bp + 60)) != SQLITE_INSERT {
 72210  			for i = 0; i < *(*int32)(unsafe.Pointer(bp + 56)); i++ {
 72211  				sqlite3.Xsqlite3changeset_old(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), i, bp+88)
 72212  				test_append_value(tls, pOld, *(*uintptr)(unsafe.Pointer(bp + 88)))
 72213  			}
 72214  		}
 72215  		pNew = tcl.XTcl_NewObj(tls)
 72216  		if *(*int32)(unsafe.Pointer(bp + 60)) != SQLITE_DELETE {
 72217  			for i = 0; i < *(*int32)(unsafe.Pointer(bp + 56)); i++ {
 72218  				sqlite3.Xsqlite3changeset_new(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), i, bp+96)
 72219  				test_append_value(tls, pNew, *(*uintptr)(unsafe.Pointer(bp + 96)))
 72220  			}
 72221  		}
 72222  		tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pVar, pOld)
 72223  		tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pVar, pNew)
 72224  
 72225  		tcl.XTcl_ObjSetVar2(tls, interp, pVarname, uintptr(0), pVar, 0)
 72226  		rc = tcl.XTcl_EvalObjEx(tls, interp, pScript, 0)
 72227  		if rc != TCL_OK && rc != TCL_CONTINUE {
 72228  			sqlite3.Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))
 72229  			if rc == TCL_BREAK {
 72230  				return TCL_OK
 72231  			}
 72232  			return rc
 72233  		}
 72234  	}
 72235  
 72236  	if isCheckNext != 0 {
 72237  		var rc2 int32 = sqlite3.Xsqlite3changeset_next(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))
 72238  		_ = rc2
 72239  		rc = sqlite3.Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))
 72240  
 72241  	} else {
 72242  		rc = sqlite3.Xsqlite3changeset_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))
 72243  	}
 72244  	if rc != SQLITE_OK {
 72245  		return test_session_error(tls, interp, rc, uintptr(0))
 72246  	}
 72247  
 72248  	return TCL_OK
 72249  }
 72250  
 72251  func test_rebaser_cmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 72252  	bp := tls.Alloc(48)
 72253  	defer tls.Free(48)
 72254  
 72255  	var p uintptr = clientData
 72256  
 72257  	var rc int32
 72258  
 72259  	if objc < 2 {
 72260  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+1999)
 72261  		return TCL_ERROR
 72262  	}
 72263  	rc = tcl.XTcl_GetIndexFromObjStruct(tls, interp,
 72264  		*(*uintptr)(unsafe.Pointer(objv + 1*8)), uintptr(unsafe.Pointer(&aSub1)), int32(unsafe.Sizeof(RebaseSubcmd{})), ts+2014, 0, bp)
 72265  	if rc != TCL_OK {
 72266  		return rc
 72267  	}
 72268  	if objc != 2+aSub1[*(*int32)(unsafe.Pointer(bp))].FnArg {
 72269  		tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, aSub1[*(*int32)(unsafe.Pointer(bp))].FzMsg)
 72270  		return TCL_ERROR
 72271  	}
 72272  
 72273  	switch *(*int32)(unsafe.Pointer(bp)) {
 72274  	case 0:
 72275  		{
 72276  			*(*int32)(unsafe.Pointer(bp + 4)) = 0
 72277  			var pRebase uintptr = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+4)
 72278  			rc = sqlite3.Xsqlite3rebaser_configure(tls, p, *(*int32)(unsafe.Pointer(bp + 4)), pRebase)
 72279  			break
 72280  
 72281  		}
 72282  
 72283  	case 1:
 72284  		tcl.XTcl_DeleteCommand(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))))
 72285  		break
 72286  
 72287  	default:
 72288  		{
 72289  			libc.Xmemset(tls, bp+8, 0, uint64(unsafe.Sizeof(TestStreamInput{})))
 72290  			libc.Xmemset(tls, bp+32, 0, uint64(unsafe.Sizeof(TestSessionsBlob{})))
 72291  			(*TestStreamInput)(unsafe.Pointer(bp + 8)).FaData = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+8+16)
 72292  			(*TestStreamInput)(unsafe.Pointer(bp + 8)).FnStream = test_tcl_integer(tls, interp, ts+10098)
 72293  
 72294  			if (*TestStreamInput)(unsafe.Pointer(bp+8)).FnStream != 0 {
 72295  				rc = sqlite3.Xsqlite3rebaser_rebase_strm(tls, p,
 72296  					*(*uintptr)(unsafe.Pointer(&struct {
 72297  						f func(*libc.TLS, uintptr, uintptr, uintptr) int32
 72298  					}{testStreamInput})), bp+8,
 72299  					*(*uintptr)(unsafe.Pointer(&struct {
 72300  						f func(*libc.TLS, uintptr, uintptr, int32) int32
 72301  					}{testStreamOutput})), bp+32)
 72302  			} else {
 72303  				rc = sqlite3.Xsqlite3rebaser_rebase(tls, p, (*TestStreamInput)(unsafe.Pointer(bp+8)).FnData, (*TestStreamInput)(unsafe.Pointer(bp+8)).FaData, bp+32+8, bp+32)
 72304  			}
 72305  
 72306  			if rc == SQLITE_OK {
 72307  				tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, (*TestSessionsBlob)(unsafe.Pointer(bp+32)).Fp, (*TestSessionsBlob)(unsafe.Pointer(bp+32)).Fn))
 72308  			}
 72309  			sqlite3.Xsqlite3_free(tls, (*TestSessionsBlob)(unsafe.Pointer(bp+32)).Fp)
 72310  			break
 72311  
 72312  		}
 72313  	}
 72314  
 72315  	if rc != SQLITE_OK {
 72316  		return test_session_error(tls, interp, rc, uintptr(0))
 72317  	}
 72318  	return TCL_OK
 72319  }
 72320  
 72321  type RebaseSubcmd = struct {
 72322  	FzSub        uintptr
 72323  	FnArg        int32
 72324  	F__ccgo_pad1 [4]byte
 72325  	FzMsg        uintptr
 72326  	FiSub        int32
 72327  	F__ccgo_pad2 [4]byte
 72328  }
 72329  
 72330  var aSub1 = [4]RebaseSubcmd{
 72331  	{FzSub: ts + 10587, FnArg: 1, FzMsg: ts + 10597},
 72332  	{FzSub: ts + 10138, FzMsg: ts + 584},
 72333  	{FzSub: ts + 10609, FnArg: 1, FzMsg: ts + 10517},
 72334  	{},
 72335  }
 72336  
 72337  func test_rebaser_del(tls *libc.TLS, clientData uintptr) {
 72338  	var p uintptr = clientData
 72339  	sqlite3.Xsqlite3rebaser_delete(tls, p)
 72340  }
 72341  
 72342  func test_sqlite3rebaser_create(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 72343  	bp := tls.Alloc(8)
 72344  	defer tls.Free(8)
 72345  
 72346  	var rc int32
 72347  	*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
 72348  	if objc != 2 {
 72349  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+9762)
 72350  		return SQLITE_ERROR
 72351  	}
 72352  
 72353  	rc = sqlite3.Xsqlite3rebaser_create(tls, bp)
 72354  	if rc != SQLITE_OK {
 72355  		return test_session_error(tls, interp, rc, uintptr(0))
 72356  	}
 72357  
 72358  	tcl.XTcl_CreateObjCommand(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), *(*uintptr)(unsafe.Pointer(&struct {
 72359  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 72360  	}{test_rebaser_cmd})),
 72361  		*(*uintptr)(unsafe.Pointer(bp)), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{test_rebaser_del})))
 72362  	tcl.XTcl_SetObjResult(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)))
 72363  	return TCL_OK
 72364  }
 72365  
 72366  func test_sqlite3session_config(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 72367  	bp := tls.Alloc(8)
 72368  	defer tls.Free(8)
 72369  
 72370  	var rc int32
 72371  
 72372  	if objc != 3 {
 72373  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10616)
 72374  		return SQLITE_ERROR
 72375  	}
 72376  	rc = tcl.XTcl_GetIndexFromObjStruct(tls, interp,
 72377  		*(*uintptr)(unsafe.Pointer(objv + 1*8)), uintptr(unsafe.Pointer(&aSub2)), int32(unsafe.Sizeof(ConfigOpt{})), ts+2014, 0, bp)
 72378  	if rc != TCL_OK {
 72379  		return rc
 72380  	}
 72381  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+4) != 0 {
 72382  		return TCL_ERROR
 72383  	}
 72384  
 72385  	rc = sqlite3.Xsqlite3session_config(tls, aSub2[*(*int32)(unsafe.Pointer(bp))].Fop, bp+4)
 72386  	if rc != SQLITE_OK {
 72387  		return test_session_error(tls, interp, rc, uintptr(0))
 72388  	}
 72389  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 4))))
 72390  	return TCL_OK
 72391  }
 72392  
 72393  type ConfigOpt = struct {
 72394  	FzSub        uintptr
 72395  	Fop          int32
 72396  	F__ccgo_pad1 [4]byte
 72397  }
 72398  
 72399  var aSub2 = [3]ConfigOpt{
 72400  	{FzSub: ts + 10625, Fop: SQLITE_SESSION_CONFIG_STRMSIZE},
 72401  	{FzSub: ts + 2758},
 72402  	{},
 72403  }
 72404  
 72405  func TestSession_Init(tls *libc.TLS, interp uintptr) int32 {
 72406  	bp := tls.Alloc(160)
 72407  	defer tls.Free(160)
 72408  
 72409  	*(*[10]struct {
 72410  		FzCmd  uintptr
 72411  		FxProc uintptr
 72412  	})(unsafe.Pointer(bp)) = [10]struct {
 72413  		FzCmd  uintptr
 72414  		FxProc uintptr
 72415  	}{
 72416  		{FzCmd: ts + 10635, FxProc: *(*uintptr)(unsafe.Pointer(&struct {
 72417  			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 72418  		}{test_sqlite3session}))},
 72419  		{FzCmd: ts + 10650, FxProc: *(*uintptr)(unsafe.Pointer(&struct {
 72420  			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 72421  		}{test_sqlite3session_foreach}))},
 72422  		{FzCmd: ts + 10673, FxProc: *(*uintptr)(unsafe.Pointer(&struct {
 72423  			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 72424  		}{test_sqlite3changeset_invert}))},
 72425  		{FzCmd: ts + 10697, FxProc: *(*uintptr)(unsafe.Pointer(&struct {
 72426  			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 72427  		}{test_sqlite3changeset_concat}))},
 72428  		{FzCmd: ts + 10721, FxProc: *(*uintptr)(unsafe.Pointer(&struct {
 72429  			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 72430  		}{test_sqlite3changeset_apply}))},
 72431  		{FzCmd: ts + 10744, FxProc: *(*uintptr)(unsafe.Pointer(&struct {
 72432  			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 72433  		}{test_sqlite3changeset_apply_v2}))},
 72434  		{FzCmd: ts + 10770,
 72435  			FxProc: *(*uintptr)(unsafe.Pointer(&struct {
 72436  				f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 72437  			}{test_sqlite3changeset_apply_replace_all}))},
 72438  		{FzCmd: ts + 10805, FxProc: *(*uintptr)(unsafe.Pointer(&struct {
 72439  			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 72440  		}{test_sql_exec_changeset}))},
 72441  		{FzCmd: ts + 10824, FxProc: *(*uintptr)(unsafe.Pointer(&struct {
 72442  			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 72443  		}{test_sqlite3rebaser_create}))},
 72444  		{FzCmd: ts + 10846, FxProc: *(*uintptr)(unsafe.Pointer(&struct {
 72445  			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 72446  		}{test_sqlite3session_config}))},
 72447  	}
 72448  	var i int32
 72449  
 72450  	for i = 0; uint64(i) < uint64(unsafe.Sizeof([10]struct {
 72451  		FzCmd  uintptr
 72452  		FxProc uintptr
 72453  	}{}))/uint64(unsafe.Sizeof(struct {
 72454  		FzCmd  uintptr
 72455  		FxProc uintptr
 72456  	}{})); i++ {
 72457  		var p uintptr = bp + uintptr(i)*16
 72458  		tcl.XTcl_CreateObjCommand(tls, interp, (*struct {
 72459  			FzCmd  uintptr
 72460  			FxProc uintptr
 72461  		})(unsafe.Pointer(p)).FzCmd, (*struct {
 72462  			FzCmd  uintptr
 72463  			FxProc uintptr
 72464  		})(unsafe.Pointer(p)).FxProc, uintptr(0), uintptr(0))
 72465  	}
 72466  
 72467  	return TCL_OK
 72468  }
 72469  
 72470  type SqliteDb = struct {
 72471  	Fdb             uintptr
 72472  	Finterp         uintptr
 72473  	FzBusy          uintptr
 72474  	FzCommit        uintptr
 72475  	FzTrace         uintptr
 72476  	FzTraceV2       uintptr
 72477  	FzProfile       uintptr
 72478  	FzProgress      uintptr
 72479  	FzBindFallback  uintptr
 72480  	FzAuth          uintptr
 72481  	FdisableAuth    int32
 72482  	F__ccgo_pad1    [4]byte
 72483  	FzNull          uintptr
 72484  	FpFunc          uintptr
 72485  	FpUpdateHook    uintptr
 72486  	FpPreUpdateHook uintptr
 72487  	FpRollbackHook  uintptr
 72488  	FpWalHook       uintptr
 72489  	FpUnlockNotify  uintptr
 72490  	FpCollate       uintptr
 72491  	Frc             int32
 72492  	F__ccgo_pad2    [4]byte
 72493  	FpCollateNeeded uintptr
 72494  	FstmtList       uintptr
 72495  	FstmtLast       uintptr
 72496  	FmaxStmt        int32
 72497  	FnStmt          int32
 72498  	FpIncrblob      uintptr
 72499  	FnStep          int32
 72500  	FnSort          int32
 72501  	FnIndex         int32
 72502  	FnVMStep        int32
 72503  	FnTransaction   int32
 72504  	FopenFlags      int32
 72505  	FnRef           int32
 72506  	FbLegacyPrepare int32
 72507  }
 72508  
 72509  type SqlFunc1 = struct {
 72510  	Finterp      uintptr
 72511  	FpScript     uintptr
 72512  	FpDb         uintptr
 72513  	FuseEvalObjv int32
 72514  	FeType       int32
 72515  	FzName       uintptr
 72516  	FpNext       uintptr
 72517  }
 72518  
 72519  type SqlFunc = SqlFunc1
 72520  
 72521  type SqlCollate1 = struct {
 72522  	Finterp  uintptr
 72523  	FzScript uintptr
 72524  	FpNext   uintptr
 72525  }
 72526  
 72527  type SqlCollate = SqlCollate1
 72528  
 72529  type SqlPreparedStmt1 = struct {
 72530  	FpNext       uintptr
 72531  	FpPrev       uintptr
 72532  	FpStmt       uintptr
 72533  	FnSql        int32
 72534  	F__ccgo_pad1 [4]byte
 72535  	FzSql        uintptr
 72536  	FnParm       int32
 72537  	F__ccgo_pad2 [4]byte
 72538  	FapParm      uintptr
 72539  }
 72540  
 72541  type SqlPreparedStmt = SqlPreparedStmt1
 72542  
 72543  type IncrblobChannel1 = struct {
 72544  	FpBlob       uintptr
 72545  	FpDb         uintptr
 72546  	FiSeek       int32
 72547  	F__ccgo_pad1 [4]byte
 72548  	Fchannel     Tcl_Channel
 72549  	FpNext       uintptr
 72550  	FpPrev       uintptr
 72551  }
 72552  
 72553  type IncrblobChannel = IncrblobChannel1
 72554  
 72555  func strlen30(tls *libc.TLS, z uintptr) int32 {
 72556  	var z2 uintptr = z
 72557  	for *(*int8)(unsafe.Pointer(z2)) != 0 {
 72558  		z2++
 72559  	}
 72560  	return 0x3fffffff & int32((int64(z2)-int64(z))/1)
 72561  }
 72562  
 72563  func closeIncrblobChannels(tls *libc.TLS, pDb uintptr) {
 72564  	var p uintptr
 72565  	var pNext uintptr
 72566  
 72567  	for p = (*SqliteDb)(unsafe.Pointer(pDb)).FpIncrblob; p != 0; p = pNext {
 72568  		pNext = (*IncrblobChannel)(unsafe.Pointer(p)).FpNext
 72569  
 72570  		tcl.XTcl_UnregisterChannel(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Finterp, (*IncrblobChannel)(unsafe.Pointer(p)).Fchannel)
 72571  	}
 72572  }
 72573  
 72574  func incrblobClose(tls *libc.TLS, instanceData ClientData, interp uintptr) int32 {
 72575  	var p uintptr = instanceData
 72576  	var rc int32 = sqlite3.Xsqlite3_blob_close(tls, (*IncrblobChannel)(unsafe.Pointer(p)).FpBlob)
 72577  	var db uintptr = (*SqliteDb)(unsafe.Pointer((*IncrblobChannel)(unsafe.Pointer(p)).FpDb)).Fdb
 72578  
 72579  	if (*IncrblobChannel)(unsafe.Pointer(p)).FpNext != 0 {
 72580  		(*IncrblobChannel)(unsafe.Pointer((*IncrblobChannel)(unsafe.Pointer(p)).FpNext)).FpPrev = (*IncrblobChannel)(unsafe.Pointer(p)).FpPrev
 72581  	}
 72582  	if (*IncrblobChannel)(unsafe.Pointer(p)).FpPrev != 0 {
 72583  		(*IncrblobChannel)(unsafe.Pointer((*IncrblobChannel)(unsafe.Pointer(p)).FpPrev)).FpNext = (*IncrblobChannel)(unsafe.Pointer(p)).FpNext
 72584  	}
 72585  	if (*SqliteDb)(unsafe.Pointer((*IncrblobChannel)(unsafe.Pointer(p)).FpDb)).FpIncrblob == p {
 72586  		(*SqliteDb)(unsafe.Pointer((*IncrblobChannel)(unsafe.Pointer(p)).FpDb)).FpIncrblob = (*IncrblobChannel)(unsafe.Pointer(p)).FpNext
 72587  	}
 72588  
 72589  	tcl.XTcl_Free(tls, p)
 72590  
 72591  	if rc != SQLITE_OK {
 72592  		tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3_errmsg(tls, db), uintptr(1))
 72593  		return TCL_ERROR
 72594  	}
 72595  	return TCL_OK
 72596  }
 72597  
 72598  func incrblobInput(tls *libc.TLS, instanceData ClientData, buf uintptr, bufSize int32, errorCodePtr uintptr) int32 {
 72599  	var p uintptr = instanceData
 72600  	var nRead int32 = bufSize
 72601  	var nBlob int32
 72602  	var rc int32
 72603  
 72604  	nBlob = sqlite3.Xsqlite3_blob_bytes(tls, (*IncrblobChannel)(unsafe.Pointer(p)).FpBlob)
 72605  	if (*IncrblobChannel)(unsafe.Pointer(p)).FiSeek+nRead > nBlob {
 72606  		nRead = nBlob - (*IncrblobChannel)(unsafe.Pointer(p)).FiSeek
 72607  	}
 72608  	if nRead <= 0 {
 72609  		return 0
 72610  	}
 72611  
 72612  	rc = sqlite3.Xsqlite3_blob_read(tls, (*IncrblobChannel)(unsafe.Pointer(p)).FpBlob, buf, nRead, (*IncrblobChannel)(unsafe.Pointer(p)).FiSeek)
 72613  	if rc != SQLITE_OK {
 72614  		*(*int32)(unsafe.Pointer(errorCodePtr)) = rc
 72615  		return -1
 72616  	}
 72617  
 72618  	*(*int32)(unsafe.Pointer(p + 16)) += nRead
 72619  	return nRead
 72620  }
 72621  
 72622  func incrblobOutput(tls *libc.TLS, instanceData ClientData, buf uintptr, toWrite int32, errorCodePtr uintptr) int32 {
 72623  	var p uintptr = instanceData
 72624  	var nWrite int32 = toWrite
 72625  	var nBlob int32
 72626  	var rc int32
 72627  
 72628  	nBlob = sqlite3.Xsqlite3_blob_bytes(tls, (*IncrblobChannel)(unsafe.Pointer(p)).FpBlob)
 72629  	if (*IncrblobChannel)(unsafe.Pointer(p)).FiSeek+nWrite > nBlob {
 72630  		*(*int32)(unsafe.Pointer(errorCodePtr)) = EINVAL
 72631  		return -1
 72632  	}
 72633  	if nWrite <= 0 {
 72634  		return 0
 72635  	}
 72636  
 72637  	rc = sqlite3.Xsqlite3_blob_write(tls, (*IncrblobChannel)(unsafe.Pointer(p)).FpBlob, buf, nWrite, (*IncrblobChannel)(unsafe.Pointer(p)).FiSeek)
 72638  	if rc != SQLITE_OK {
 72639  		*(*int32)(unsafe.Pointer(errorCodePtr)) = EIO
 72640  		return -1
 72641  	}
 72642  
 72643  	*(*int32)(unsafe.Pointer(p + 16)) += nWrite
 72644  	return nWrite
 72645  }
 72646  
 72647  func incrblobSeek(tls *libc.TLS, instanceData ClientData, offset int32, seekMode int32, errorCodePtr uintptr) int32 {
 72648  	var p uintptr = instanceData
 72649  
 72650  	switch seekMode {
 72651  	case SEEK_SET:
 72652  		(*IncrblobChannel)(unsafe.Pointer(p)).FiSeek = offset
 72653  		break
 72654  	case SEEK_CUR:
 72655  		*(*int32)(unsafe.Pointer(p + 16)) += offset
 72656  		break
 72657  	case SEEK_END:
 72658  		(*IncrblobChannel)(unsafe.Pointer(p)).FiSeek = sqlite3.Xsqlite3_blob_bytes(tls, (*IncrblobChannel)(unsafe.Pointer(p)).FpBlob) + offset
 72659  		break
 72660  
 72661  	default:
 72662  	}
 72663  
 72664  	return (*IncrblobChannel)(unsafe.Pointer(p)).FiSeek
 72665  }
 72666  
 72667  func incrblobWatch(tls *libc.TLS, instanceData ClientData, mode int32) {
 72668  }
 72669  
 72670  func incrblobHandle(tls *libc.TLS, instanceData ClientData, dir int32, hPtr uintptr) int32 {
 72671  	return TCL_ERROR
 72672  }
 72673  
 72674  var IncrblobChannelType = Tcl_ChannelType{
 72675  	FtypeName:      ts + 10868,
 72676  	Fversion:       uintptr(0x2),
 72677  	FcloseProc:     0,
 72678  	FinputProc:     0,
 72679  	FoutputProc:    0,
 72680  	FseekProc:      0,
 72681  	FwatchProc:     0,
 72682  	FgetHandleProc: 0,
 72683  }
 72684  
 72685  func createIncrblobChannel(tls *libc.TLS, interp uintptr, pDb uintptr, zDb uintptr, zTable uintptr, zColumn uintptr, iRow sqlite_int64, isReadonly int32) int32 {
 72686  	bp := tls.Alloc(80)
 72687  	defer tls.Free(80)
 72688  
 72689  	var p uintptr
 72690  	var db uintptr = (*SqliteDb)(unsafe.Pointer(pDb)).Fdb
 72691  
 72692  	var rc int32
 72693  	var flags int32 = int32(1)<<1 | func() int32 {
 72694  		if isReadonly != 0 {
 72695  			return 0
 72696  		}
 72697  		return int32(1) << 2
 72698  	}()
 72699  
 72700  	rc = sqlite3.Xsqlite3_blob_open(tls, db, zDb, zTable, zColumn, iRow, libc.BoolInt32(!(isReadonly != 0)), bp+8)
 72701  	if rc != SQLITE_OK {
 72702  		tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(1))
 72703  		return TCL_ERROR
 72704  	}
 72705  
 72706  	p = tcl.XTcl_Alloc(tls, uint32(unsafe.Sizeof(IncrblobChannel{})))
 72707  	(*IncrblobChannel)(unsafe.Pointer(p)).FiSeek = 0
 72708  	(*IncrblobChannel)(unsafe.Pointer(p)).FpBlob = *(*uintptr)(unsafe.Pointer(bp + 8))
 72709  
 72710  	sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+16, ts+10877, libc.VaList(bp, libc.PreIncInt32(&count, 1)))
 72711  	(*IncrblobChannel)(unsafe.Pointer(p)).Fchannel = tcl.XTcl_CreateChannel(tls, uintptr(unsafe.Pointer(&IncrblobChannelType)), bp+16, p, flags)
 72712  	tcl.XTcl_RegisterChannel(tls, interp, (*IncrblobChannel)(unsafe.Pointer(p)).Fchannel)
 72713  
 72714  	(*IncrblobChannel)(unsafe.Pointer(p)).FpNext = (*SqliteDb)(unsafe.Pointer(pDb)).FpIncrblob
 72715  	(*IncrblobChannel)(unsafe.Pointer(p)).FpPrev = uintptr(0)
 72716  	if (*IncrblobChannel)(unsafe.Pointer(p)).FpNext != 0 {
 72717  		(*IncrblobChannel)(unsafe.Pointer((*IncrblobChannel)(unsafe.Pointer(p)).FpNext)).FpPrev = p
 72718  	}
 72719  	(*SqliteDb)(unsafe.Pointer(pDb)).FpIncrblob = p
 72720  	(*IncrblobChannel)(unsafe.Pointer(p)).FpDb = pDb
 72721  
 72722  	tcl.XTcl_SetResult(tls, interp, tcl.XTcl_GetChannelName(tls, (*IncrblobChannel)(unsafe.Pointer(p)).Fchannel), uintptr(1))
 72723  	return TCL_OK
 72724  }
 72725  
 72726  var count int32 = 0
 72727  
 72728  func safeToUseEvalObjv(tls *libc.TLS, interp uintptr, pCmd uintptr) int32 {
 72729  	bp := tls.Alloc(4)
 72730  	defer tls.Free(4)
 72731  
 72732  	var z uintptr
 72733  
 72734  	z = tcl.XTcl_GetStringFromObj(tls, pCmd, bp)
 72735  	for libc.PostDecInt32(&*(*int32)(unsafe.Pointer(bp)), 1) > 0 {
 72736  		var c int32 = int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1))))
 72737  		if c == '$' || c == '[' || c == ';' {
 72738  			return 0
 72739  		}
 72740  	}
 72741  	return 1
 72742  }
 72743  
 72744  func findSqlFunc(tls *libc.TLS, pDb uintptr, zName uintptr) uintptr {
 72745  	var p uintptr
 72746  	var pNew uintptr
 72747  	var nName int32 = strlen30(tls, zName)
 72748  	pNew = tcl.XTcl_Alloc(tls, uint32(uint64(unsafe.Sizeof(SqlFunc{}))+uint64(nName)+uint64(1)))
 72749  	(*SqlFunc)(unsafe.Pointer(pNew)).FzName = pNew + 1*48
 72750  	libc.Xmemcpy(tls, (*SqlFunc)(unsafe.Pointer(pNew)).FzName, zName, uint64(nName+1))
 72751  	for p = (*SqliteDb)(unsafe.Pointer(pDb)).FpFunc; p != 0; p = (*SqlFunc)(unsafe.Pointer(p)).FpNext {
 72752  		if sqlite3.Xsqlite3_stricmp(tls, (*SqlFunc)(unsafe.Pointer(p)).FzName, (*SqlFunc)(unsafe.Pointer(pNew)).FzName) == 0 {
 72753  			tcl.XTcl_Free(tls, pNew)
 72754  			return p
 72755  		}
 72756  	}
 72757  	(*SqlFunc)(unsafe.Pointer(pNew)).Finterp = (*SqliteDb)(unsafe.Pointer(pDb)).Finterp
 72758  	(*SqlFunc)(unsafe.Pointer(pNew)).FpDb = pDb
 72759  	(*SqlFunc)(unsafe.Pointer(pNew)).FpScript = uintptr(0)
 72760  	(*SqlFunc)(unsafe.Pointer(pNew)).FpNext = (*SqliteDb)(unsafe.Pointer(pDb)).FpFunc
 72761  	(*SqliteDb)(unsafe.Pointer(pDb)).FpFunc = pNew
 72762  	return pNew
 72763  }
 72764  
 72765  func dbFreeStmt(tls *libc.TLS, pStmt uintptr) {
 72766  	if sqlite3.Xsqlite3_sql(tls, (*SqlPreparedStmt)(unsafe.Pointer(pStmt)).FpStmt) == uintptr(0) {
 72767  		tcl.XTcl_Free(tls, (*SqlPreparedStmt)(unsafe.Pointer(pStmt)).FzSql)
 72768  	}
 72769  	sqlite3.Xsqlite3_finalize(tls, (*SqlPreparedStmt)(unsafe.Pointer(pStmt)).FpStmt)
 72770  	tcl.XTcl_Free(tls, pStmt)
 72771  }
 72772  
 72773  func flushStmtCache(tls *libc.TLS, pDb uintptr) {
 72774  	var pPreStmt uintptr
 72775  	var pNext uintptr
 72776  
 72777  	for pPreStmt = (*SqliteDb)(unsafe.Pointer(pDb)).FstmtList; pPreStmt != 0; pPreStmt = pNext {
 72778  		pNext = (*SqlPreparedStmt)(unsafe.Pointer(pPreStmt)).FpNext
 72779  		dbFreeStmt(tls, pPreStmt)
 72780  	}
 72781  	(*SqliteDb)(unsafe.Pointer(pDb)).FnStmt = 0
 72782  	(*SqliteDb)(unsafe.Pointer(pDb)).FstmtLast = uintptr(0)
 72783  	(*SqliteDb)(unsafe.Pointer(pDb)).FstmtList = uintptr(0)
 72784  }
 72785  
 72786  func addDatabaseRef(tls *libc.TLS, pDb uintptr) {
 72787  	(*SqliteDb)(unsafe.Pointer(pDb)).FnRef++
 72788  }
 72789  
 72790  func delDatabaseRef(tls *libc.TLS, pDb uintptr) {
 72791  	(*SqliteDb)(unsafe.Pointer(pDb)).FnRef--
 72792  	if (*SqliteDb)(unsafe.Pointer(pDb)).FnRef == 0 {
 72793  		flushStmtCache(tls, pDb)
 72794  		closeIncrblobChannels(tls, pDb)
 72795  		sqlite3.Xsqlite3_close(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb)
 72796  		for (*SqliteDb)(unsafe.Pointer(pDb)).FpFunc != 0 {
 72797  			var pFunc uintptr = (*SqliteDb)(unsafe.Pointer(pDb)).FpFunc
 72798  			(*SqliteDb)(unsafe.Pointer(pDb)).FpFunc = (*SqlFunc)(unsafe.Pointer(pFunc)).FpNext
 72799  
 72800  			for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
 72801  				var _objPtr uintptr = (*SqlFunc)(unsafe.Pointer(pFunc)).FpScript
 72802  				if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 72803  					tcl.XTclFreeObj(tls, _objPtr)
 72804  				}
 72805  			}
 72806  			tcl.XTcl_Free(tls, pFunc)
 72807  		}
 72808  		for (*SqliteDb)(unsafe.Pointer(pDb)).FpCollate != 0 {
 72809  			var pCollate uintptr = (*SqliteDb)(unsafe.Pointer(pDb)).FpCollate
 72810  			(*SqliteDb)(unsafe.Pointer(pDb)).FpCollate = (*SqlCollate)(unsafe.Pointer(pCollate)).FpNext
 72811  			tcl.XTcl_Free(tls, pCollate)
 72812  		}
 72813  		if (*SqliteDb)(unsafe.Pointer(pDb)).FzBusy != 0 {
 72814  			tcl.XTcl_Free(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FzBusy)
 72815  		}
 72816  		if (*SqliteDb)(unsafe.Pointer(pDb)).FzTrace != 0 {
 72817  			tcl.XTcl_Free(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FzTrace)
 72818  		}
 72819  		if (*SqliteDb)(unsafe.Pointer(pDb)).FzTraceV2 != 0 {
 72820  			tcl.XTcl_Free(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FzTraceV2)
 72821  		}
 72822  		if (*SqliteDb)(unsafe.Pointer(pDb)).FzProfile != 0 {
 72823  			tcl.XTcl_Free(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FzProfile)
 72824  		}
 72825  		if (*SqliteDb)(unsafe.Pointer(pDb)).FzBindFallback != 0 {
 72826  			tcl.XTcl_Free(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FzBindFallback)
 72827  		}
 72828  		if (*SqliteDb)(unsafe.Pointer(pDb)).FzAuth != 0 {
 72829  			tcl.XTcl_Free(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FzAuth)
 72830  		}
 72831  		if (*SqliteDb)(unsafe.Pointer(pDb)).FzNull != 0 {
 72832  			tcl.XTcl_Free(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FzNull)
 72833  		}
 72834  		if (*SqliteDb)(unsafe.Pointer(pDb)).FpUpdateHook != 0 {
 72835  			for __ccgo1 := true; __ccgo1; __ccgo1 = 0 != 0 {
 72836  				var _objPtr uintptr = (*SqliteDb)(unsafe.Pointer(pDb)).FpUpdateHook
 72837  				if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 72838  					tcl.XTclFreeObj(tls, _objPtr)
 72839  				}
 72840  			}
 72841  		}
 72842  		if (*SqliteDb)(unsafe.Pointer(pDb)).FpPreUpdateHook != 0 {
 72843  			for __ccgo2 := true; __ccgo2; __ccgo2 = 0 != 0 {
 72844  				var _objPtr uintptr = (*SqliteDb)(unsafe.Pointer(pDb)).FpPreUpdateHook
 72845  				if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 72846  					tcl.XTclFreeObj(tls, _objPtr)
 72847  				}
 72848  			}
 72849  		}
 72850  		if (*SqliteDb)(unsafe.Pointer(pDb)).FpRollbackHook != 0 {
 72851  			for __ccgo3 := true; __ccgo3; __ccgo3 = 0 != 0 {
 72852  				var _objPtr uintptr = (*SqliteDb)(unsafe.Pointer(pDb)).FpRollbackHook
 72853  				if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 72854  					tcl.XTclFreeObj(tls, _objPtr)
 72855  				}
 72856  			}
 72857  		}
 72858  		if (*SqliteDb)(unsafe.Pointer(pDb)).FpWalHook != 0 {
 72859  			for __ccgo4 := true; __ccgo4; __ccgo4 = 0 != 0 {
 72860  				var _objPtr uintptr = (*SqliteDb)(unsafe.Pointer(pDb)).FpWalHook
 72861  				if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 72862  					tcl.XTclFreeObj(tls, _objPtr)
 72863  				}
 72864  			}
 72865  		}
 72866  		if (*SqliteDb)(unsafe.Pointer(pDb)).FpCollateNeeded != 0 {
 72867  			for __ccgo5 := true; __ccgo5; __ccgo5 = 0 != 0 {
 72868  				var _objPtr uintptr = (*SqliteDb)(unsafe.Pointer(pDb)).FpCollateNeeded
 72869  				if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 72870  					tcl.XTclFreeObj(tls, _objPtr)
 72871  				}
 72872  			}
 72873  		}
 72874  		tcl.XTcl_Free(tls, pDb)
 72875  	}
 72876  }
 72877  
 72878  func DbDeleteCmd(tls *libc.TLS, db uintptr) {
 72879  	var pDb uintptr = db
 72880  	delDatabaseRef(tls, pDb)
 72881  }
 72882  
 72883  func DbBusyHandler(tls *libc.TLS, cd uintptr, nTries int32) int32 {
 72884  	bp := tls.Alloc(70)
 72885  	defer tls.Free(70)
 72886  
 72887  	var pDb uintptr = cd
 72888  	var rc int32
 72889  
 72890  	sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+40, ts+1333, libc.VaList(bp, nTries))
 72891  	rc = tcl.XTcl_VarEval(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Finterp, libc.VaList(bp+8, (*SqliteDb)(unsafe.Pointer(pDb)).FzBusy, ts+4894, bp+40, uintptr(0)))
 72892  	if rc != TCL_OK || libc.Xatoi(tls, tcl.XTcl_GetStringResult(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Finterp)) != 0 {
 72893  		return 0
 72894  	}
 72895  	return 1
 72896  }
 72897  
 72898  func DbProgressHandler(tls *libc.TLS, cd uintptr) int32 {
 72899  	var pDb uintptr = cd
 72900  	var rc int32
 72901  
 72902  	rc = tcl.XTcl_Eval(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Finterp, (*SqliteDb)(unsafe.Pointer(pDb)).FzProgress)
 72903  	if rc != TCL_OK || libc.Xatoi(tls, tcl.XTcl_GetStringResult(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Finterp)) != 0 {
 72904  		return 1
 72905  	}
 72906  	return 0
 72907  }
 72908  
 72909  func DbTraceHandler(tls *libc.TLS, cd uintptr, zSql uintptr) {
 72910  	bp := tls.Alloc(216)
 72911  	defer tls.Free(216)
 72912  
 72913  	var pDb uintptr = cd
 72914  
 72915  	tcl.XTcl_DStringInit(tls, bp)
 72916  	tcl.XTcl_DStringAppend(tls, bp, (*SqliteDb)(unsafe.Pointer(pDb)).FzTrace, -1)
 72917  	tcl.XTcl_DStringAppendElement(tls, bp, zSql)
 72918  	tcl.XTcl_Eval(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Finterp, (*Tcl_DString)(unsafe.Pointer(bp)).Fstring)
 72919  	tcl.XTcl_DStringFree(tls, bp)
 72920  	tcl.XTcl_ResetResult(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Finterp)
 72921  }
 72922  
 72923  func DbTraceV2Handler(tls *libc.TLS, type1 uint32, cd uintptr, pd uintptr, xd uintptr) int32 {
 72924  	var pDb uintptr = cd
 72925  	var pCmd uintptr
 72926  
 72927  	switch type1 {
 72928  	case uint32(SQLITE_TRACE_STMT):
 72929  		{
 72930  			var pStmt uintptr = pd
 72931  			var zSql uintptr = xd
 72932  
 72933  			pCmd = tcl.XTcl_NewStringObj(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FzTraceV2, -1)
 72934  			(*Tcl_Obj)(unsafe.Pointer(pCmd)).FrefCount++
 72935  			tcl.XTcl_ListObjAppendElement(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Finterp, pCmd,
 72936  				tcl.XTcl_NewWideIntObj(tls, int64(pStmt)))
 72937  			tcl.XTcl_ListObjAppendElement(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Finterp, pCmd,
 72938  				tcl.XTcl_NewStringObj(tls, zSql, -1))
 72939  			tcl.XTcl_EvalObjEx(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Finterp, pCmd, TCL_EVAL_DIRECT)
 72940  			for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
 72941  				var _objPtr uintptr = pCmd
 72942  				if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 72943  					tcl.XTclFreeObj(tls, _objPtr)
 72944  				}
 72945  			}
 72946  			tcl.XTcl_ResetResult(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Finterp)
 72947  			break
 72948  
 72949  		}
 72950  	case uint32(SQLITE_TRACE_PROFILE):
 72951  		{
 72952  			var pStmt uintptr = pd
 72953  			var ns sqlite3_int64 = *(*sqlite3_int64)(unsafe.Pointer(xd))
 72954  
 72955  			pCmd = tcl.XTcl_NewStringObj(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FzTraceV2, -1)
 72956  			(*Tcl_Obj)(unsafe.Pointer(pCmd)).FrefCount++
 72957  			tcl.XTcl_ListObjAppendElement(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Finterp, pCmd,
 72958  				tcl.XTcl_NewWideIntObj(tls, int64(pStmt)))
 72959  			tcl.XTcl_ListObjAppendElement(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Finterp, pCmd,
 72960  				tcl.XTcl_NewWideIntObj(tls, ns))
 72961  			tcl.XTcl_EvalObjEx(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Finterp, pCmd, TCL_EVAL_DIRECT)
 72962  			for __ccgo1 := true; __ccgo1; __ccgo1 = 0 != 0 {
 72963  				var _objPtr uintptr = pCmd
 72964  				if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 72965  					tcl.XTclFreeObj(tls, _objPtr)
 72966  				}
 72967  			}
 72968  			tcl.XTcl_ResetResult(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Finterp)
 72969  			break
 72970  
 72971  		}
 72972  	case uint32(SQLITE_TRACE_ROW):
 72973  		{
 72974  			var pStmt uintptr = pd
 72975  
 72976  			pCmd = tcl.XTcl_NewStringObj(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FzTraceV2, -1)
 72977  			(*Tcl_Obj)(unsafe.Pointer(pCmd)).FrefCount++
 72978  			tcl.XTcl_ListObjAppendElement(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Finterp, pCmd,
 72979  				tcl.XTcl_NewWideIntObj(tls, int64(pStmt)))
 72980  			tcl.XTcl_EvalObjEx(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Finterp, pCmd, TCL_EVAL_DIRECT)
 72981  			for __ccgo2 := true; __ccgo2; __ccgo2 = 0 != 0 {
 72982  				var _objPtr uintptr = pCmd
 72983  				if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 72984  					tcl.XTclFreeObj(tls, _objPtr)
 72985  				}
 72986  			}
 72987  			tcl.XTcl_ResetResult(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Finterp)
 72988  			break
 72989  
 72990  		}
 72991  	case uint32(SQLITE_TRACE_CLOSE):
 72992  		{
 72993  			var db uintptr = pd
 72994  
 72995  			pCmd = tcl.XTcl_NewStringObj(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FzTraceV2, -1)
 72996  			(*Tcl_Obj)(unsafe.Pointer(pCmd)).FrefCount++
 72997  			tcl.XTcl_ListObjAppendElement(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Finterp, pCmd,
 72998  				tcl.XTcl_NewWideIntObj(tls, int64(db)))
 72999  			tcl.XTcl_EvalObjEx(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Finterp, pCmd, TCL_EVAL_DIRECT)
 73000  			for __ccgo3 := true; __ccgo3; __ccgo3 = 0 != 0 {
 73001  				var _objPtr uintptr = pCmd
 73002  				if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 73003  					tcl.XTclFreeObj(tls, _objPtr)
 73004  				}
 73005  			}
 73006  			tcl.XTcl_ResetResult(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Finterp)
 73007  			break
 73008  
 73009  		}
 73010  	}
 73011  	return SQLITE_OK
 73012  }
 73013  
 73014  func DbProfileHandler(tls *libc.TLS, cd uintptr, zSql uintptr, tm1 sqlite_uint64) {
 73015  	bp := tls.Alloc(328)
 73016  	defer tls.Free(328)
 73017  
 73018  	var pDb uintptr = cd
 73019  
 73020  	sqlite3.Xsqlite3_snprintf(tls, int32(uint64(unsafe.Sizeof([100]int8{}))-uint64(1)), bp+8, ts+6325, libc.VaList(bp, tm1))
 73021  	tcl.XTcl_DStringInit(tls, bp+112)
 73022  	tcl.XTcl_DStringAppend(tls, bp+112, (*SqliteDb)(unsafe.Pointer(pDb)).FzProfile, -1)
 73023  	tcl.XTcl_DStringAppendElement(tls, bp+112, zSql)
 73024  	tcl.XTcl_DStringAppendElement(tls, bp+112, bp+8)
 73025  	tcl.XTcl_Eval(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Finterp, (*Tcl_DString)(unsafe.Pointer(bp+112)).Fstring)
 73026  	tcl.XTcl_DStringFree(tls, bp+112)
 73027  	tcl.XTcl_ResetResult(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Finterp)
 73028  }
 73029  
 73030  func DbCommitHandler(tls *libc.TLS, cd uintptr) int32 {
 73031  	var pDb uintptr = cd
 73032  	var rc int32
 73033  
 73034  	rc = tcl.XTcl_Eval(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Finterp, (*SqliteDb)(unsafe.Pointer(pDb)).FzCommit)
 73035  	if rc != TCL_OK || libc.Xatoi(tls, tcl.XTcl_GetStringResult(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Finterp)) != 0 {
 73036  		return 1
 73037  	}
 73038  	return 0
 73039  }
 73040  
 73041  func DbRollbackHandler(tls *libc.TLS, clientData uintptr) {
 73042  	var pDb uintptr = clientData
 73043  
 73044  	if TCL_OK != tcl.XTcl_EvalObjEx(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Finterp, (*SqliteDb)(unsafe.Pointer(pDb)).FpRollbackHook, 0) {
 73045  		tcl.XTcl_BackgroundError(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Finterp)
 73046  	}
 73047  }
 73048  
 73049  func DbWalHandler(tls *libc.TLS, clientData uintptr, db uintptr, zDb uintptr, nEntry int32) int32 {
 73050  	bp := tls.Alloc(4)
 73051  	defer tls.Free(4)
 73052  
 73053  	*(*int32)(unsafe.Pointer(bp)) = SQLITE_OK
 73054  	var p uintptr
 73055  	var pDb uintptr = clientData
 73056  	var interp uintptr = (*SqliteDb)(unsafe.Pointer(pDb)).Finterp
 73057  
 73058  	p = tcl.XTcl_DuplicateObj(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FpWalHook)
 73059  	(*Tcl_Obj)(unsafe.Pointer(p)).FrefCount++
 73060  	tcl.XTcl_ListObjAppendElement(tls, interp, p, tcl.XTcl_NewStringObj(tls, zDb, -1))
 73061  	tcl.XTcl_ListObjAppendElement(tls, interp, p, tcl.XTcl_NewIntObj(tls, nEntry))
 73062  	if TCL_OK != tcl.XTcl_EvalObjEx(tls, interp, p, 0) ||
 73063  		TCL_OK != tcl.XTcl_GetIntFromObj(tls, interp, tcl.XTcl_GetObjResult(tls, interp), bp) {
 73064  		tcl.XTcl_BackgroundError(tls, interp)
 73065  	}
 73066  	for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
 73067  		var _objPtr uintptr = p
 73068  		if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 73069  			tcl.XTclFreeObj(tls, _objPtr)
 73070  		}
 73071  	}
 73072  
 73073  	return *(*int32)(unsafe.Pointer(bp))
 73074  }
 73075  
 73076  func setTestUnlockNotifyVars(tls *libc.TLS, interp uintptr, iArg int32, nArg int32) {
 73077  	bp := tls.Alloc(80)
 73078  	defer tls.Free(80)
 73079  
 73080  	sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+16, ts+1333, libc.VaList(bp, iArg))
 73081  	tcl.XTcl_SetVar2(tls, interp, ts+10889, uintptr(0), bp+16, TCL_GLOBAL_ONLY)
 73082  	sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+16, ts+1333, libc.VaList(bp+8, nArg))
 73083  	tcl.XTcl_SetVar2(tls, interp, ts+10914, uintptr(0), bp+16, TCL_GLOBAL_ONLY)
 73084  }
 73085  
 73086  func DbUnlockNotify(tls *libc.TLS, apArg uintptr, nArg int32) {
 73087  	var i int32
 73088  	for i = 0; i < nArg; i++ {
 73089  		var flags int32 = TCL_EVAL_GLOBAL | TCL_EVAL_DIRECT
 73090  		var pDb uintptr = *(*uintptr)(unsafe.Pointer(apArg + uintptr(i)*8))
 73091  		setTestUnlockNotifyVars(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Finterp, i, nArg)
 73092  
 73093  		tcl.XTcl_EvalObjEx(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Finterp, (*SqliteDb)(unsafe.Pointer(pDb)).FpUnlockNotify, flags)
 73094  		for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
 73095  			var _objPtr uintptr = (*SqliteDb)(unsafe.Pointer(pDb)).FpUnlockNotify
 73096  			if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 73097  				tcl.XTclFreeObj(tls, _objPtr)
 73098  			}
 73099  		}
 73100  		(*SqliteDb)(unsafe.Pointer(pDb)).FpUnlockNotify = uintptr(0)
 73101  	}
 73102  }
 73103  
 73104  func DbPreUpdateHandler(tls *libc.TLS, p uintptr, db uintptr, op int32, zDb uintptr, zTbl uintptr, iKey1 sqlite_int64, iKey2 sqlite_int64) {
 73105  	var pDb uintptr = p
 73106  	var pCmd uintptr
 73107  
 73108  	pCmd = tcl.XTcl_DuplicateObj(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FpPreUpdateHook)
 73109  	(*Tcl_Obj)(unsafe.Pointer(pCmd)).FrefCount++
 73110  	tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pCmd, tcl.XTcl_NewStringObj(tls, azStr[(op-1)/9], -1))
 73111  	tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pCmd, tcl.XTcl_NewStringObj(tls, zDb, -1))
 73112  	tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pCmd, tcl.XTcl_NewStringObj(tls, zTbl, -1))
 73113  	tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pCmd, tcl.XTcl_NewWideIntObj(tls, iKey1))
 73114  	tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pCmd, tcl.XTcl_NewWideIntObj(tls, iKey2))
 73115  	tcl.XTcl_EvalObjEx(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Finterp, pCmd, TCL_EVAL_DIRECT)
 73116  	for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
 73117  		var _objPtr uintptr = pCmd
 73118  		if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 73119  			tcl.XTclFreeObj(tls, _objPtr)
 73120  		}
 73121  	}
 73122  }
 73123  
 73124  var azStr = [3]uintptr{ts + 10321, ts + 10307, ts + 10314}
 73125  
 73126  func DbUpdateHandler(tls *libc.TLS, p uintptr, op int32, zDb uintptr, zTbl uintptr, rowid sqlite_int64) {
 73127  	var pDb uintptr = p
 73128  	var pCmd uintptr
 73129  
 73130  	pCmd = tcl.XTcl_DuplicateObj(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FpUpdateHook)
 73131  	(*Tcl_Obj)(unsafe.Pointer(pCmd)).FrefCount++
 73132  	tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pCmd, tcl.XTcl_NewStringObj(tls, azStr1[(op-1)/9], -1))
 73133  	tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pCmd, tcl.XTcl_NewStringObj(tls, zDb, -1))
 73134  	tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pCmd, tcl.XTcl_NewStringObj(tls, zTbl, -1))
 73135  	tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pCmd, tcl.XTcl_NewWideIntObj(tls, rowid))
 73136  	tcl.XTcl_EvalObjEx(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Finterp, pCmd, TCL_EVAL_DIRECT)
 73137  	for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
 73138  		var _objPtr uintptr = pCmd
 73139  		if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 73140  			tcl.XTclFreeObj(tls, _objPtr)
 73141  		}
 73142  	}
 73143  }
 73144  
 73145  var azStr1 = [3]uintptr{ts + 10321, ts + 10307, ts + 10314}
 73146  
 73147  func tclCollateNeeded(tls *libc.TLS, pCtx uintptr, db uintptr, enc int32, zName uintptr) {
 73148  	var pDb uintptr = pCtx
 73149  	var pScript uintptr = tcl.XTcl_DuplicateObj(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FpCollateNeeded)
 73150  	(*Tcl_Obj)(unsafe.Pointer(pScript)).FrefCount++
 73151  	tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pScript, tcl.XTcl_NewStringObj(tls, zName, -1))
 73152  	tcl.XTcl_EvalObjEx(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Finterp, pScript, 0)
 73153  	for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
 73154  		var _objPtr uintptr = pScript
 73155  		if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 73156  			tcl.XTclFreeObj(tls, _objPtr)
 73157  		}
 73158  	}
 73159  }
 73160  
 73161  func tclSqlCollate(tls *libc.TLS, pCtx uintptr, nA int32, zA uintptr, nB int32, zB uintptr) int32 {
 73162  	var p uintptr = pCtx
 73163  	var pCmd uintptr
 73164  
 73165  	pCmd = tcl.XTcl_NewStringObj(tls, (*SqlCollate)(unsafe.Pointer(p)).FzScript, -1)
 73166  	(*Tcl_Obj)(unsafe.Pointer(pCmd)).FrefCount++
 73167  	tcl.XTcl_ListObjAppendElement(tls, (*SqlCollate)(unsafe.Pointer(p)).Finterp, pCmd, tcl.XTcl_NewStringObj(tls, zA, nA))
 73168  	tcl.XTcl_ListObjAppendElement(tls, (*SqlCollate)(unsafe.Pointer(p)).Finterp, pCmd, tcl.XTcl_NewStringObj(tls, zB, nB))
 73169  	tcl.XTcl_EvalObjEx(tls, (*SqlCollate)(unsafe.Pointer(p)).Finterp, pCmd, TCL_EVAL_DIRECT)
 73170  	for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
 73171  		var _objPtr uintptr = pCmd
 73172  		if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 73173  			tcl.XTclFreeObj(tls, _objPtr)
 73174  		}
 73175  	}
 73176  	return libc.Xatoi(tls, tcl.XTcl_GetStringResult(tls, (*SqlCollate)(unsafe.Pointer(p)).Finterp))
 73177  }
 73178  
 73179  func tclSqlFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 73180  	bp := tls.Alloc(40)
 73181  	defer tls.Free(40)
 73182  
 73183  	var p uintptr = sqlite3.Xsqlite3_user_data(tls, context)
 73184  	var pCmd uintptr
 73185  	var i int32
 73186  	var rc int32
 73187  
 73188  	if argc == 0 {
 73189  		pCmd = (*SqlFunc)(unsafe.Pointer(p)).FpScript
 73190  		(*Tcl_Obj)(unsafe.Pointer(pCmd)).FrefCount++
 73191  		rc = tcl.XTcl_EvalObjEx(tls, (*SqlFunc)(unsafe.Pointer(p)).Finterp, pCmd, 0)
 73192  		for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
 73193  			var _objPtr uintptr = pCmd
 73194  			if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 73195  				tcl.XTclFreeObj(tls, _objPtr)
 73196  			}
 73197  		}
 73198  	} else {
 73199  		if tcl.XTcl_ListObjGetElements(tls, (*SqlFunc)(unsafe.Pointer(p)).Finterp, (*SqlFunc)(unsafe.Pointer(p)).FpScript, bp, bp+8) != 0 {
 73200  			sqlite3.Xsqlite3_result_error(tls, context, tcl.XTcl_GetStringResult(tls, (*SqlFunc)(unsafe.Pointer(p)).Finterp), -1)
 73201  			return
 73202  		}
 73203  		pCmd = tcl.XTcl_NewListObj(tls, *(*int32)(unsafe.Pointer(bp)), *(*uintptr)(unsafe.Pointer(bp + 8)))
 73204  		(*Tcl_Obj)(unsafe.Pointer(pCmd)).FrefCount++
 73205  		for i = 0; i < argc; i++ {
 73206  			var pIn uintptr = *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))
 73207  			var pVal uintptr
 73208  
 73209  			switch sqlite3.Xsqlite3_value_type(tls, pIn) {
 73210  			case SQLITE_BLOB:
 73211  				{
 73212  					var bytes int32 = sqlite3.Xsqlite3_value_bytes(tls, pIn)
 73213  					pVal = tcl.XTcl_NewByteArrayObj(tls, sqlite3.Xsqlite3_value_blob(tls, pIn), bytes)
 73214  					break
 73215  
 73216  				}
 73217  				fallthrough
 73218  			case SQLITE_INTEGER:
 73219  				{
 73220  					var v sqlite_int64 = sqlite3.Xsqlite3_value_int64(tls, pIn)
 73221  					if v >= int64(-2147483647) && v <= int64(2147483647) {
 73222  						pVal = tcl.XTcl_NewIntObj(tls, int32(v))
 73223  					} else {
 73224  						pVal = tcl.XTcl_NewWideIntObj(tls, v)
 73225  					}
 73226  					break
 73227  
 73228  				}
 73229  				fallthrough
 73230  			case SQLITE_FLOAT:
 73231  				{
 73232  					var r float64 = sqlite3.Xsqlite3_value_double(tls, pIn)
 73233  					pVal = tcl.XTcl_NewDoubleObj(tls, r)
 73234  					break
 73235  
 73236  				}
 73237  				fallthrough
 73238  			case SQLITE_NULL:
 73239  				{
 73240  					pVal = tcl.XTcl_NewStringObj(tls, (*SqliteDb)(unsafe.Pointer((*SqlFunc)(unsafe.Pointer(p)).FpDb)).FzNull, -1)
 73241  					break
 73242  
 73243  				}
 73244  				fallthrough
 73245  			default:
 73246  				{
 73247  					var bytes int32 = sqlite3.Xsqlite3_value_bytes(tls, pIn)
 73248  					pVal = tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3_value_text(tls, pIn), bytes)
 73249  					break
 73250  
 73251  				}
 73252  			}
 73253  			rc = tcl.XTcl_ListObjAppendElement(tls, (*SqlFunc)(unsafe.Pointer(p)).Finterp, pCmd, pVal)
 73254  			if rc != 0 {
 73255  				for __ccgo1 := true; __ccgo1; __ccgo1 = 0 != 0 {
 73256  					var _objPtr uintptr = pCmd
 73257  					if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 73258  						tcl.XTclFreeObj(tls, _objPtr)
 73259  					}
 73260  				}
 73261  				sqlite3.Xsqlite3_result_error(tls, context, tcl.XTcl_GetStringResult(tls, (*SqlFunc)(unsafe.Pointer(p)).Finterp), -1)
 73262  				return
 73263  			}
 73264  		}
 73265  		if !((*SqlFunc)(unsafe.Pointer(p)).FuseEvalObjv != 0) {
 73266  			tcl.XTcl_GetString(tls, pCmd)
 73267  		}
 73268  		rc = tcl.XTcl_EvalObjEx(tls, (*SqlFunc)(unsafe.Pointer(p)).Finterp, pCmd, TCL_EVAL_DIRECT)
 73269  		for __ccgo2 := true; __ccgo2; __ccgo2 = 0 != 0 {
 73270  			var _objPtr uintptr = pCmd
 73271  			if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 73272  				tcl.XTclFreeObj(tls, _objPtr)
 73273  			}
 73274  		}
 73275  	}
 73276  
 73277  	if rc != 0 && rc != TCL_RETURN {
 73278  		sqlite3.Xsqlite3_result_error(tls, context, tcl.XTcl_GetStringResult(tls, (*SqlFunc)(unsafe.Pointer(p)).Finterp), -1)
 73279  	} else {
 73280  		var pVar uintptr = tcl.XTcl_GetObjResult(tls, (*SqlFunc)(unsafe.Pointer(p)).Finterp)
 73281  
 73282  		var data uintptr
 73283  		var zType uintptr = func() uintptr {
 73284  			if (*Tcl_Obj)(unsafe.Pointer(pVar)).FtypePtr != 0 {
 73285  				return (*Tcl_ObjType)(unsafe.Pointer((*Tcl_Obj)(unsafe.Pointer(pVar)).FtypePtr)).Fname
 73286  			}
 73287  			return ts + 584
 73288  		}()
 73289  		var c int8 = *(*int8)(unsafe.Pointer(zType))
 73290  		var eType int32 = (*SqlFunc)(unsafe.Pointer(p)).FeType
 73291  
 73292  		if eType == SQLITE_NULL {
 73293  			if int32(c) == 'b' && libc.Xstrcmp(tls, zType, ts+2544) == 0 && (*Tcl_Obj)(unsafe.Pointer(pVar)).Fbytes == uintptr(0) {
 73294  				eType = SQLITE_BLOB
 73295  			} else if int32(c) == 'b' && libc.Xstrcmp(tls, zType, ts+2554) == 0 ||
 73296  				int32(c) == 'w' && libc.Xstrcmp(tls, zType, ts+2569) == 0 ||
 73297  				int32(c) == 'i' && libc.Xstrcmp(tls, zType, ts+2577) == 0 {
 73298  				eType = SQLITE_INTEGER
 73299  			} else if int32(c) == 'd' && libc.Xstrcmp(tls, zType, ts+2562) == 0 {
 73300  				eType = SQLITE_FLOAT
 73301  			} else {
 73302  				eType = SQLITE_TEXT
 73303  			}
 73304  		}
 73305  
 73306  		switch eType {
 73307  		case SQLITE_BLOB:
 73308  			{
 73309  				data = tcl.XTcl_GetByteArrayFromObj(tls, pVar, bp+16)
 73310  				sqlite3.Xsqlite3_result_blob(tls, context, data, *(*int32)(unsafe.Pointer(bp + 16)), libc.UintptrFromInt32(-1))
 73311  				break
 73312  
 73313  			}
 73314  			fallthrough
 73315  		case SQLITE_INTEGER:
 73316  			{
 73317  				if TCL_OK == tcl.XTcl_GetWideIntFromObj(tls, uintptr(0), pVar, bp+24) {
 73318  					sqlite3.Xsqlite3_result_int64(tls, context, *(*Tcl_WideInt)(unsafe.Pointer(bp + 24)))
 73319  					break
 73320  				}
 73321  
 73322  			}
 73323  			fallthrough
 73324  		case SQLITE_FLOAT:
 73325  			{
 73326  				if TCL_OK == tcl.XTcl_GetDoubleFromObj(tls, uintptr(0), pVar, bp+32) {
 73327  					sqlite3.Xsqlite3_result_double(tls, context, *(*float64)(unsafe.Pointer(bp + 32)))
 73328  					break
 73329  				}
 73330  
 73331  			}
 73332  			fallthrough
 73333  		default:
 73334  			{
 73335  				data = tcl.XTcl_GetStringFromObj(tls, pVar, bp+16)
 73336  				sqlite3.Xsqlite3_result_text(tls, context, data, *(*int32)(unsafe.Pointer(bp + 16)), libc.UintptrFromInt32(-1))
 73337  				break
 73338  
 73339  			}
 73340  		}
 73341  
 73342  	}
 73343  }
 73344  
 73345  func auth_callback(tls *libc.TLS, pArg uintptr, code int32, zArg1 uintptr, zArg2 uintptr, zArg3 uintptr, zArg4 uintptr) int32 {
 73346  	bp := tls.Alloc(216)
 73347  	defer tls.Free(216)
 73348  
 73349  	var zCode uintptr
 73350  
 73351  	var rc int32
 73352  	var zReply uintptr
 73353  
 73354  	var pDb uintptr = pArg
 73355  	if (*SqliteDb)(unsafe.Pointer(pDb)).FdisableAuth != 0 {
 73356  		return SQLITE_OK
 73357  	}
 73358  
 73359  	switch code {
 73360  	case SQLITE_COPY:
 73361  		zCode = ts + 10944
 73362  		break
 73363  	case SQLITE_CREATE_INDEX:
 73364  		zCode = ts + 10956
 73365  		break
 73366  	case SQLITE_CREATE_TABLE:
 73367  		zCode = ts + 10976
 73368  		break
 73369  	case SQLITE_CREATE_TEMP_INDEX:
 73370  		zCode = ts + 10996
 73371  		break
 73372  	case SQLITE_CREATE_TEMP_TABLE:
 73373  		zCode = ts + 11021
 73374  		break
 73375  	case SQLITE_CREATE_TEMP_TRIGGER:
 73376  		zCode = ts + 11046
 73377  		break
 73378  	case SQLITE_CREATE_TEMP_VIEW:
 73379  		zCode = ts + 11073
 73380  		break
 73381  	case SQLITE_CREATE_TRIGGER:
 73382  		zCode = ts + 11097
 73383  		break
 73384  	case SQLITE_CREATE_VIEW:
 73385  		zCode = ts + 11119
 73386  		break
 73387  	case SQLITE_DELETE:
 73388  		zCode = ts + 11138
 73389  		break
 73390  	case SQLITE_DROP_INDEX:
 73391  		zCode = ts + 11152
 73392  		break
 73393  	case SQLITE_DROP_TABLE:
 73394  		zCode = ts + 11170
 73395  		break
 73396  	case SQLITE_DROP_TEMP_INDEX:
 73397  		zCode = ts + 11188
 73398  		break
 73399  	case SQLITE_DROP_TEMP_TABLE:
 73400  		zCode = ts + 11211
 73401  		break
 73402  	case SQLITE_DROP_TEMP_TRIGGER:
 73403  		zCode = ts + 11234
 73404  		break
 73405  	case SQLITE_DROP_TEMP_VIEW:
 73406  		zCode = ts + 11259
 73407  		break
 73408  	case SQLITE_DROP_TRIGGER:
 73409  		zCode = ts + 11281
 73410  		break
 73411  	case SQLITE_DROP_VIEW:
 73412  		zCode = ts + 11301
 73413  		break
 73414  	case SQLITE_INSERT:
 73415  		zCode = ts + 11318
 73416  		break
 73417  	case SQLITE_PRAGMA:
 73418  		zCode = ts + 11332
 73419  		break
 73420  	case SQLITE_READ:
 73421  		zCode = ts + 11346
 73422  		break
 73423  	case SQLITE_SELECT:
 73424  		zCode = ts + 11358
 73425  		break
 73426  	case SQLITE_TRANSACTION:
 73427  		zCode = ts + 11372
 73428  		break
 73429  	case SQLITE_UPDATE:
 73430  		zCode = ts + 11391
 73431  		break
 73432  	case SQLITE_ATTACH:
 73433  		zCode = ts + 11405
 73434  		break
 73435  	case SQLITE_DETACH:
 73436  		zCode = ts + 11419
 73437  		break
 73438  	case SQLITE_ALTER_TABLE:
 73439  		zCode = ts + 11433
 73440  		break
 73441  	case SQLITE_REINDEX:
 73442  		zCode = ts + 11452
 73443  		break
 73444  	case SQLITE_ANALYZE:
 73445  		zCode = ts + 11467
 73446  		break
 73447  	case SQLITE_CREATE_VTABLE:
 73448  		zCode = ts + 11482
 73449  		break
 73450  	case SQLITE_DROP_VTABLE:
 73451  		zCode = ts + 11503
 73452  		break
 73453  	case SQLITE_FUNCTION:
 73454  		zCode = ts + 11522
 73455  		break
 73456  	case SQLITE_SAVEPOINT:
 73457  		zCode = ts + 11538
 73458  		break
 73459  	case SQLITE_RECURSIVE:
 73460  		zCode = ts + 11555
 73461  		break
 73462  	default:
 73463  		zCode = ts + 11572
 73464  		break
 73465  	}
 73466  	tcl.XTcl_DStringInit(tls, bp)
 73467  	tcl.XTcl_DStringAppend(tls, bp, (*SqliteDb)(unsafe.Pointer(pDb)).FzAuth, -1)
 73468  	tcl.XTcl_DStringAppendElement(tls, bp, zCode)
 73469  	tcl.XTcl_DStringAppendElement(tls, bp, func() uintptr {
 73470  		if zArg1 != 0 {
 73471  			return zArg1
 73472  		}
 73473  		return ts + 584
 73474  	}())
 73475  	tcl.XTcl_DStringAppendElement(tls, bp, func() uintptr {
 73476  		if zArg2 != 0 {
 73477  			return zArg2
 73478  		}
 73479  		return ts + 584
 73480  	}())
 73481  	tcl.XTcl_DStringAppendElement(tls, bp, func() uintptr {
 73482  		if zArg3 != 0 {
 73483  			return zArg3
 73484  		}
 73485  		return ts + 584
 73486  	}())
 73487  	tcl.XTcl_DStringAppendElement(tls, bp, func() uintptr {
 73488  		if zArg4 != 0 {
 73489  			return zArg4
 73490  		}
 73491  		return ts + 584
 73492  	}())
 73493  	rc = tcl.XTcl_GlobalEval(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Finterp, (*Tcl_DString)(unsafe.Pointer(bp)).Fstring)
 73494  	tcl.XTcl_DStringFree(tls, bp)
 73495  	if rc == TCL_OK {
 73496  		zReply = tcl.XTcl_GetStringResult(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Finterp)
 73497  	} else {
 73498  		zReply = ts + 11577
 73499  	}
 73500  	if libc.Xstrcmp(tls, zReply, ts+2127) == 0 {
 73501  		rc = SQLITE_OK
 73502  	} else if libc.Xstrcmp(tls, zReply, ts+11577) == 0 {
 73503  		rc = SQLITE_DENY
 73504  	} else if libc.Xstrcmp(tls, zReply, ts+11589) == 0 {
 73505  		rc = SQLITE_IGNORE
 73506  	} else {
 73507  		rc = 999
 73508  	}
 73509  	return rc
 73510  }
 73511  
 73512  func local_getline(tls *libc.TLS, zPrompt uintptr, in uintptr) uintptr {
 73513  	var zLine uintptr
 73514  	var nLine int32
 73515  	var n int32
 73516  
 73517  	nLine = 100
 73518  	zLine = libc.Xmalloc(tls, uint64(nLine))
 73519  	if zLine == uintptr(0) {
 73520  		return uintptr(0)
 73521  	}
 73522  	n = 0
 73523  	for 1 != 0 {
 73524  		if n+100 > nLine {
 73525  			nLine = nLine*2 + 100
 73526  			zLine = libc.Xrealloc(tls, zLine, uint64(nLine))
 73527  			if zLine == uintptr(0) {
 73528  				return uintptr(0)
 73529  			}
 73530  		}
 73531  		if libc.Xfgets(tls, zLine+uintptr(n), nLine-n, in) == uintptr(0) {
 73532  			if n == 0 {
 73533  				libc.Xfree(tls, zLine)
 73534  				return uintptr(0)
 73535  			}
 73536  			*(*int8)(unsafe.Pointer(zLine + uintptr(n))) = int8(0)
 73537  			break
 73538  		}
 73539  		for *(*int8)(unsafe.Pointer(zLine + uintptr(n))) != 0 {
 73540  			n++
 73541  		}
 73542  		if n > 0 && int32(*(*int8)(unsafe.Pointer(zLine + uintptr(n-1)))) == '\n' {
 73543  			n--
 73544  			*(*int8)(unsafe.Pointer(zLine + uintptr(n))) = int8(0)
 73545  			break
 73546  		}
 73547  	}
 73548  	zLine = libc.Xrealloc(tls, zLine, uint64(n+1))
 73549  	return zLine
 73550  }
 73551  
 73552  func DbTransPostCmd(tls *libc.TLS, data uintptr, interp uintptr, result int32) int32 {
 73553  	bp := tls.Alloc(16)
 73554  	defer tls.Free(16)
 73555  
 73556  	var pDb uintptr = *(*ClientData)(unsafe.Pointer(data))
 73557  	var rc int32 = result
 73558  	var zEnd uintptr
 73559  
 73560  	(*SqliteDb)(unsafe.Pointer(pDb)).FnTransaction--
 73561  	zEnd = azEnd[libc.Bool32(rc == TCL_ERROR)*2+libc.Bool32((*SqliteDb)(unsafe.Pointer(pDb)).FnTransaction == 0)]
 73562  
 73563  	(*SqliteDb)(unsafe.Pointer(pDb)).FdisableAuth++
 73564  	if sqlite3.Xsqlite3_exec(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, zEnd, uintptr(0), uintptr(0), uintptr(0)) != 0 {
 73565  		if rc != TCL_ERROR {
 73566  			tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0)))
 73567  			rc = TCL_ERROR
 73568  		}
 73569  		sqlite3.Xsqlite3_exec(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, ts+7824, uintptr(0), uintptr(0), uintptr(0))
 73570  	}
 73571  	(*SqliteDb)(unsafe.Pointer(pDb)).FdisableAuth--
 73572  
 73573  	delDatabaseRef(tls, pDb)
 73574  	return rc
 73575  }
 73576  
 73577  var azEnd = [4]uintptr{
 73578  	ts + 11603,
 73579  	ts + 11628,
 73580  	ts + 11635,
 73581  	ts + 7824,
 73582  }
 73583  
 73584  func dbPrepare(tls *libc.TLS, pDb uintptr, zSql uintptr, ppStmt uintptr, pzOut uintptr) int32 {
 73585  	var prepFlags uint32 = uint32(0)
 73586  	if (*SqliteDb)(unsafe.Pointer(pDb)).FbLegacyPrepare != 0 {
 73587  		return sqlite3.Xsqlite3_prepare(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, zSql, -1, ppStmt, pzOut)
 73588  	}
 73589  
 73590  	if (*SqliteDb)(unsafe.Pointer(pDb)).FmaxStmt > 5 {
 73591  		prepFlags = uint32(SQLITE_PREPARE_PERSISTENT)
 73592  	}
 73593  
 73594  	return sqlite3.Xsqlite3_prepare_v3(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, zSql, -1, prepFlags, ppStmt, pzOut)
 73595  }
 73596  
 73597  func dbPrepareAndBind(tls *libc.TLS, pDb uintptr, zIn uintptr, pzOut uintptr, ppPreStmt uintptr) int32 {
 73598  	bp := tls.Alloc(32)
 73599  	defer tls.Free(32)
 73600  
 73601  	var zSql uintptr = zIn
 73602  	*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
 73603  	var pPreStmt uintptr
 73604  	var nSql int32
 73605  	var nVar int32 = 0
 73606  	var iParm int32 = 0
 73607  	var c int8
 73608  	var i int32
 73609  	var needResultReset int32 = 0
 73610  	var rc int32 = SQLITE_OK
 73611  	var interp uintptr = (*SqliteDb)(unsafe.Pointer(pDb)).Finterp
 73612  
 73613  	*(*uintptr)(unsafe.Pointer(ppPreStmt)) = uintptr(0)
 73614  
 73615  	for int32(libc.AssignInt8(&c, *(*int8)(unsafe.Pointer(zSql)))) == ' ' || int32(c) == '\t' || int32(c) == '\r' || int32(c) == '\n' {
 73616  		zSql++
 73617  	}
 73618  	nSql = strlen30(tls, zSql)
 73619  
 73620  	for pPreStmt = (*SqliteDb)(unsafe.Pointer(pDb)).FstmtList; pPreStmt != 0; pPreStmt = (*SqlPreparedStmt)(unsafe.Pointer(pPreStmt)).FpNext {
 73621  		var n int32 = (*SqlPreparedStmt)(unsafe.Pointer(pPreStmt)).FnSql
 73622  		if nSql >= n &&
 73623  			libc.Xmemcmp(tls, (*SqlPreparedStmt)(unsafe.Pointer(pPreStmt)).FzSql, zSql, uint64(n)) == 0 &&
 73624  			(int32(*(*int8)(unsafe.Pointer(zSql + uintptr(n)))) == 0 || int32(*(*int8)(unsafe.Pointer(zSql + uintptr(n-1)))) == ';') {
 73625  			*(*uintptr)(unsafe.Pointer(bp)) = (*SqlPreparedStmt)(unsafe.Pointer(pPreStmt)).FpStmt
 73626  			*(*uintptr)(unsafe.Pointer(pzOut)) = zSql + uintptr((*SqlPreparedStmt)(unsafe.Pointer(pPreStmt)).FnSql)
 73627  
 73628  			if (*SqlPreparedStmt)(unsafe.Pointer(pPreStmt)).FpPrev != 0 {
 73629  				(*SqlPreparedStmt)(unsafe.Pointer((*SqlPreparedStmt)(unsafe.Pointer(pPreStmt)).FpPrev)).FpNext = (*SqlPreparedStmt)(unsafe.Pointer(pPreStmt)).FpNext
 73630  			} else {
 73631  				(*SqliteDb)(unsafe.Pointer(pDb)).FstmtList = (*SqlPreparedStmt)(unsafe.Pointer(pPreStmt)).FpNext
 73632  			}
 73633  			if (*SqlPreparedStmt)(unsafe.Pointer(pPreStmt)).FpNext != 0 {
 73634  				(*SqlPreparedStmt)(unsafe.Pointer((*SqlPreparedStmt)(unsafe.Pointer(pPreStmt)).FpNext)).FpPrev = (*SqlPreparedStmt)(unsafe.Pointer(pPreStmt)).FpPrev
 73635  			} else {
 73636  				(*SqliteDb)(unsafe.Pointer(pDb)).FstmtLast = (*SqlPreparedStmt)(unsafe.Pointer(pPreStmt)).FpPrev
 73637  			}
 73638  			(*SqliteDb)(unsafe.Pointer(pDb)).FnStmt--
 73639  			nVar = sqlite3.Xsqlite3_bind_parameter_count(tls, *(*uintptr)(unsafe.Pointer(bp)))
 73640  			break
 73641  		}
 73642  	}
 73643  
 73644  	if pPreStmt == uintptr(0) {
 73645  		var nByte int32
 73646  
 73647  		if SQLITE_OK != dbPrepare(tls, pDb, zSql, bp, pzOut) {
 73648  			tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), -1))
 73649  			return TCL_ERROR
 73650  		}
 73651  		if *(*uintptr)(unsafe.Pointer(bp)) == uintptr(0) {
 73652  			if SQLITE_OK != sqlite3.Xsqlite3_errcode(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb) {
 73653  				tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), -1))
 73654  				return TCL_ERROR
 73655  			} else {
 73656  				return TCL_OK
 73657  			}
 73658  		}
 73659  
 73660  		nVar = sqlite3.Xsqlite3_bind_parameter_count(tls, *(*uintptr)(unsafe.Pointer(bp)))
 73661  		nByte = int32(uint64(unsafe.Sizeof(SqlPreparedStmt{})) + uint64(nVar)*uint64(unsafe.Sizeof(uintptr(0))))
 73662  		pPreStmt = tcl.XTcl_Alloc(tls, uint32(nByte))
 73663  		libc.Xmemset(tls, pPreStmt, 0, uint64(nByte))
 73664  
 73665  		(*SqlPreparedStmt)(unsafe.Pointer(pPreStmt)).FpStmt = *(*uintptr)(unsafe.Pointer(bp))
 73666  		(*SqlPreparedStmt)(unsafe.Pointer(pPreStmt)).FnSql = int32((int64(*(*uintptr)(unsafe.Pointer(pzOut))) - int64(zSql)) / 1)
 73667  		(*SqlPreparedStmt)(unsafe.Pointer(pPreStmt)).FzSql = sqlite3.Xsqlite3_sql(tls, *(*uintptr)(unsafe.Pointer(bp)))
 73668  		(*SqlPreparedStmt)(unsafe.Pointer(pPreStmt)).FapParm = pPreStmt + 1*56
 73669  		if (*SqlPreparedStmt)(unsafe.Pointer(pPreStmt)).FzSql == uintptr(0) {
 73670  			var zCopy uintptr = tcl.XTcl_Alloc(tls, uint32((*SqlPreparedStmt)(unsafe.Pointer(pPreStmt)).FnSql+1))
 73671  			libc.Xmemcpy(tls, zCopy, zSql, uint64((*SqlPreparedStmt)(unsafe.Pointer(pPreStmt)).FnSql))
 73672  			*(*int8)(unsafe.Pointer(zCopy + uintptr((*SqlPreparedStmt)(unsafe.Pointer(pPreStmt)).FnSql))) = int8(0)
 73673  			(*SqlPreparedStmt)(unsafe.Pointer(pPreStmt)).FzSql = zCopy
 73674  		}
 73675  	}
 73676  
 73677  	for i = 1; i <= nVar; i++ {
 73678  		var zVar uintptr = sqlite3.Xsqlite3_bind_parameter_name(tls, *(*uintptr)(unsafe.Pointer(bp)), i)
 73679  		if zVar != uintptr(0) && (int32(*(*int8)(unsafe.Pointer(zVar))) == '$' || int32(*(*int8)(unsafe.Pointer(zVar))) == ':' || int32(*(*int8)(unsafe.Pointer(zVar))) == '@') {
 73680  			var pVar uintptr = tcl.XTcl_GetVar2Ex(tls, interp, zVar+1, uintptr(0), 0)
 73681  			if pVar == uintptr(0) && (*SqliteDb)(unsafe.Pointer(pDb)).FzBindFallback != uintptr(0) {
 73682  				var pCmd uintptr
 73683  				var rx int32
 73684  				pCmd = tcl.XTcl_NewStringObj(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FzBindFallback, -1)
 73685  				(*Tcl_Obj)(unsafe.Pointer(pCmd)).FrefCount++
 73686  				tcl.XTcl_ListObjAppendElement(tls, interp, pCmd, tcl.XTcl_NewStringObj(tls, zVar, -1))
 73687  				if needResultReset != 0 {
 73688  					tcl.XTcl_ResetResult(tls, interp)
 73689  				}
 73690  				needResultReset = 1
 73691  				rx = tcl.XTcl_EvalObjEx(tls, interp, pCmd, TCL_EVAL_DIRECT)
 73692  				for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
 73693  					var _objPtr uintptr = pCmd
 73694  					if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 73695  						tcl.XTclFreeObj(tls, _objPtr)
 73696  					}
 73697  				}
 73698  				if rx == TCL_OK {
 73699  					pVar = tcl.XTcl_GetObjResult(tls, interp)
 73700  				} else if rx == TCL_ERROR {
 73701  					rc = TCL_ERROR
 73702  					break
 73703  				} else {
 73704  					pVar = uintptr(0)
 73705  				}
 73706  			}
 73707  			if pVar != 0 {
 73708  				var data uintptr
 73709  				var zType uintptr = func() uintptr {
 73710  					if (*Tcl_Obj)(unsafe.Pointer(pVar)).FtypePtr != 0 {
 73711  						return (*Tcl_ObjType)(unsafe.Pointer((*Tcl_Obj)(unsafe.Pointer(pVar)).FtypePtr)).Fname
 73712  					}
 73713  					return ts + 584
 73714  				}()
 73715  				c = *(*int8)(unsafe.Pointer(zType))
 73716  				if int32(*(*int8)(unsafe.Pointer(zVar))) == '@' || int32(c) == 'b' && libc.Xstrcmp(tls, zType, ts+2544) == 0 && (*Tcl_Obj)(unsafe.Pointer(pVar)).Fbytes == uintptr(0) {
 73717  					data = tcl.XTcl_GetByteArrayFromObj(tls, pVar, bp+8)
 73718  					sqlite3.Xsqlite3_bind_blob(tls, *(*uintptr)(unsafe.Pointer(bp)), i, data, *(*int32)(unsafe.Pointer(bp + 8)), uintptr(0))
 73719  					(*Tcl_Obj)(unsafe.Pointer(pVar)).FrefCount++
 73720  					*(*uintptr)(unsafe.Pointer((*SqlPreparedStmt)(unsafe.Pointer(pPreStmt)).FapParm + uintptr(libc.PostIncInt32(&iParm, 1))*8)) = pVar
 73721  				} else if int32(c) == 'b' && libc.Xstrcmp(tls, zType, ts+2554) == 0 {
 73722  					tcl.XTcl_GetIntFromObj(tls, interp, pVar, bp+8)
 73723  					sqlite3.Xsqlite3_bind_int(tls, *(*uintptr)(unsafe.Pointer(bp)), i, *(*int32)(unsafe.Pointer(bp + 8)))
 73724  				} else if int32(c) == 'd' && libc.Xstrcmp(tls, zType, ts+2562) == 0 {
 73725  					tcl.XTcl_GetDoubleFromObj(tls, interp, pVar, bp+16)
 73726  					sqlite3.Xsqlite3_bind_double(tls, *(*uintptr)(unsafe.Pointer(bp)), i, *(*float64)(unsafe.Pointer(bp + 16)))
 73727  				} else if int32(c) == 'w' && libc.Xstrcmp(tls, zType, ts+2569) == 0 || int32(c) == 'i' && libc.Xstrcmp(tls, zType, ts+2577) == 0 {
 73728  					tcl.XTcl_GetWideIntFromObj(tls, interp, pVar, bp+24)
 73729  					sqlite3.Xsqlite3_bind_int64(tls, *(*uintptr)(unsafe.Pointer(bp)), i, *(*Tcl_WideInt)(unsafe.Pointer(bp + 24)))
 73730  				} else {
 73731  					data = tcl.XTcl_GetStringFromObj(tls, pVar, bp+8)
 73732  					sqlite3.Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp)), i, data, *(*int32)(unsafe.Pointer(bp + 8)), uintptr(0))
 73733  					(*Tcl_Obj)(unsafe.Pointer(pVar)).FrefCount++
 73734  					*(*uintptr)(unsafe.Pointer((*SqlPreparedStmt)(unsafe.Pointer(pPreStmt)).FapParm + uintptr(libc.PostIncInt32(&iParm, 1))*8)) = pVar
 73735  				}
 73736  			} else {
 73737  				sqlite3.Xsqlite3_bind_null(tls, *(*uintptr)(unsafe.Pointer(bp)), i)
 73738  			}
 73739  			if needResultReset != 0 {
 73740  				tcl.XTcl_ResetResult(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Finterp)
 73741  			}
 73742  		}
 73743  	}
 73744  	(*SqlPreparedStmt)(unsafe.Pointer(pPreStmt)).FnParm = iParm
 73745  	*(*uintptr)(unsafe.Pointer(ppPreStmt)) = pPreStmt
 73746  	if needResultReset != 0 && rc == TCL_OK {
 73747  		tcl.XTcl_ResetResult(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Finterp)
 73748  	}
 73749  
 73750  	return rc
 73751  }
 73752  
 73753  func dbReleaseStmt(tls *libc.TLS, pDb uintptr, pPreStmt uintptr, discard int32) {
 73754  	var i int32
 73755  
 73756  	for i = 0; i < (*SqlPreparedStmt)(unsafe.Pointer(pPreStmt)).FnParm; i++ {
 73757  		for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
 73758  			var _objPtr uintptr = *(*uintptr)(unsafe.Pointer((*SqlPreparedStmt)(unsafe.Pointer(pPreStmt)).FapParm + uintptr(i)*8))
 73759  			if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 73760  				tcl.XTclFreeObj(tls, _objPtr)
 73761  			}
 73762  		}
 73763  	}
 73764  	(*SqlPreparedStmt)(unsafe.Pointer(pPreStmt)).FnParm = 0
 73765  
 73766  	if (*SqliteDb)(unsafe.Pointer(pDb)).FmaxStmt <= 0 || discard != 0 {
 73767  		dbFreeStmt(tls, pPreStmt)
 73768  	} else {
 73769  		(*SqlPreparedStmt)(unsafe.Pointer(pPreStmt)).FpNext = (*SqliteDb)(unsafe.Pointer(pDb)).FstmtList
 73770  		(*SqlPreparedStmt)(unsafe.Pointer(pPreStmt)).FpPrev = uintptr(0)
 73771  		if (*SqliteDb)(unsafe.Pointer(pDb)).FstmtList != 0 {
 73772  			(*SqlPreparedStmt)(unsafe.Pointer((*SqliteDb)(unsafe.Pointer(pDb)).FstmtList)).FpPrev = pPreStmt
 73773  		}
 73774  		(*SqliteDb)(unsafe.Pointer(pDb)).FstmtList = pPreStmt
 73775  		if (*SqliteDb)(unsafe.Pointer(pDb)).FstmtLast == uintptr(0) {
 73776  			(*SqliteDb)(unsafe.Pointer(pDb)).FstmtLast = pPreStmt
 73777  		} else {
 73778  		}
 73779  		(*SqliteDb)(unsafe.Pointer(pDb)).FnStmt++
 73780  
 73781  		for (*SqliteDb)(unsafe.Pointer(pDb)).FnStmt > (*SqliteDb)(unsafe.Pointer(pDb)).FmaxStmt {
 73782  			var pLast uintptr = (*SqliteDb)(unsafe.Pointer(pDb)).FstmtLast
 73783  			(*SqliteDb)(unsafe.Pointer(pDb)).FstmtLast = (*SqlPreparedStmt)(unsafe.Pointer(pLast)).FpPrev
 73784  			(*SqlPreparedStmt)(unsafe.Pointer((*SqliteDb)(unsafe.Pointer(pDb)).FstmtLast)).FpNext = uintptr(0)
 73785  			(*SqliteDb)(unsafe.Pointer(pDb)).FnStmt--
 73786  			dbFreeStmt(tls, pLast)
 73787  		}
 73788  	}
 73789  }
 73790  
 73791  type DbEvalContext1 = struct {
 73792  	FpDb       uintptr
 73793  	FpSql      uintptr
 73794  	FzSql      uintptr
 73795  	FpPreStmt  uintptr
 73796  	FnCol      int32
 73797  	FevalFlags int32
 73798  	FpArray    uintptr
 73799  	FapColName uintptr
 73800  }
 73801  
 73802  type DbEvalContext = DbEvalContext1
 73803  
 73804  func dbReleaseColumnNames(tls *libc.TLS, p uintptr) {
 73805  	if (*DbEvalContext)(unsafe.Pointer(p)).FapColName != 0 {
 73806  		var i int32
 73807  		for i = 0; i < (*DbEvalContext)(unsafe.Pointer(p)).FnCol; i++ {
 73808  			for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
 73809  				var _objPtr uintptr = *(*uintptr)(unsafe.Pointer((*DbEvalContext)(unsafe.Pointer(p)).FapColName + uintptr(i)*8))
 73810  				if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 73811  					tcl.XTclFreeObj(tls, _objPtr)
 73812  				}
 73813  			}
 73814  		}
 73815  		tcl.XTcl_Free(tls, (*DbEvalContext)(unsafe.Pointer(p)).FapColName)
 73816  		(*DbEvalContext)(unsafe.Pointer(p)).FapColName = uintptr(0)
 73817  	}
 73818  	(*DbEvalContext)(unsafe.Pointer(p)).FnCol = 0
 73819  }
 73820  
 73821  func dbEvalInit(tls *libc.TLS, p uintptr, pDb uintptr, pSql uintptr, pArray uintptr, evalFlags int32) {
 73822  	libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(DbEvalContext{})))
 73823  	(*DbEvalContext)(unsafe.Pointer(p)).FpDb = pDb
 73824  	(*DbEvalContext)(unsafe.Pointer(p)).FzSql = tcl.XTcl_GetString(tls, pSql)
 73825  	(*DbEvalContext)(unsafe.Pointer(p)).FpSql = pSql
 73826  	(*Tcl_Obj)(unsafe.Pointer(pSql)).FrefCount++
 73827  	if pArray != 0 {
 73828  		(*DbEvalContext)(unsafe.Pointer(p)).FpArray = pArray
 73829  		(*Tcl_Obj)(unsafe.Pointer(pArray)).FrefCount++
 73830  	}
 73831  	(*DbEvalContext)(unsafe.Pointer(p)).FevalFlags = evalFlags
 73832  	addDatabaseRef(tls, (*DbEvalContext)(unsafe.Pointer(p)).FpDb)
 73833  }
 73834  
 73835  func dbEvalRowInfo(tls *libc.TLS, p uintptr, pnCol uintptr, papColName uintptr) {
 73836  	if uintptr(0) == (*DbEvalContext)(unsafe.Pointer(p)).FapColName {
 73837  		var pStmt uintptr = (*SqlPreparedStmt)(unsafe.Pointer((*DbEvalContext)(unsafe.Pointer(p)).FpPreStmt)).FpStmt
 73838  		var i int32
 73839  		var nCol int32
 73840  		var apColName uintptr = uintptr(0)
 73841  
 73842  		(*DbEvalContext)(unsafe.Pointer(p)).FnCol = libc.AssignInt32(&nCol, sqlite3.Xsqlite3_column_count(tls, pStmt))
 73843  		if nCol > 0 && (papColName != 0 || (*DbEvalContext)(unsafe.Pointer(p)).FpArray != 0) {
 73844  			apColName = tcl.XTcl_Alloc(tls, uint32(uint64(unsafe.Sizeof(uintptr(0)))*uint64(nCol)))
 73845  			for i = 0; i < nCol; i++ {
 73846  				*(*uintptr)(unsafe.Pointer(apColName + uintptr(i)*8)) = tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3_column_name(tls, pStmt, i), -1)
 73847  				(*Tcl_Obj)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(apColName + uintptr(i)*8)))).FrefCount++
 73848  			}
 73849  			(*DbEvalContext)(unsafe.Pointer(p)).FapColName = apColName
 73850  		}
 73851  
 73852  		if (*DbEvalContext)(unsafe.Pointer(p)).FpArray != 0 {
 73853  			var interp uintptr = (*SqliteDb)(unsafe.Pointer((*DbEvalContext)(unsafe.Pointer(p)).FpDb)).Finterp
 73854  			var pColList uintptr = tcl.XTcl_NewObj(tls)
 73855  			var pStar uintptr = tcl.XTcl_NewStringObj(tls, ts+3840, -1)
 73856  
 73857  			for i = 0; i < nCol; i++ {
 73858  				tcl.XTcl_ListObjAppendElement(tls, interp, pColList, *(*uintptr)(unsafe.Pointer(apColName + uintptr(i)*8)))
 73859  			}
 73860  			(*Tcl_Obj)(unsafe.Pointer(pStar)).FrefCount++
 73861  			tcl.XTcl_ObjSetVar2(tls, interp, (*DbEvalContext)(unsafe.Pointer(p)).FpArray, pStar, pColList, 0)
 73862  			for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
 73863  				var _objPtr uintptr = pStar
 73864  				if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 73865  					tcl.XTclFreeObj(tls, _objPtr)
 73866  				}
 73867  			}
 73868  		}
 73869  	}
 73870  
 73871  	if papColName != 0 {
 73872  		*(*uintptr)(unsafe.Pointer(papColName)) = (*DbEvalContext)(unsafe.Pointer(p)).FapColName
 73873  	}
 73874  	if pnCol != 0 {
 73875  		*(*int32)(unsafe.Pointer(pnCol)) = (*DbEvalContext)(unsafe.Pointer(p)).FnCol
 73876  	}
 73877  }
 73878  
 73879  func dbEvalStep(tls *libc.TLS, p uintptr) int32 {
 73880  	var zPrevSql uintptr = uintptr(0)
 73881  
 73882  	for *(*int8)(unsafe.Pointer((*DbEvalContext)(unsafe.Pointer(p)).FzSql)) != 0 || (*DbEvalContext)(unsafe.Pointer(p)).FpPreStmt != 0 {
 73883  		var rc int32
 73884  		if (*DbEvalContext)(unsafe.Pointer(p)).FpPreStmt == uintptr(0) {
 73885  			zPrevSql = func() uintptr {
 73886  				if (*DbEvalContext)(unsafe.Pointer(p)).FzSql == zPrevSql {
 73887  					return uintptr(0)
 73888  				}
 73889  				return (*DbEvalContext)(unsafe.Pointer(p)).FzSql
 73890  			}()
 73891  			rc = dbPrepareAndBind(tls, (*DbEvalContext)(unsafe.Pointer(p)).FpDb, (*DbEvalContext)(unsafe.Pointer(p)).FzSql, p+16, p+24)
 73892  			if rc != TCL_OK {
 73893  				return rc
 73894  			}
 73895  		} else {
 73896  			var rcs int32
 73897  			var pDb uintptr = (*DbEvalContext)(unsafe.Pointer(p)).FpDb
 73898  			var pPreStmt uintptr = (*DbEvalContext)(unsafe.Pointer(p)).FpPreStmt
 73899  			var pStmt uintptr = (*SqlPreparedStmt)(unsafe.Pointer(pPreStmt)).FpStmt
 73900  
 73901  			rcs = sqlite3.Xsqlite3_step(tls, pStmt)
 73902  			if rcs == SQLITE_ROW {
 73903  				return TCL_OK
 73904  			}
 73905  			if (*DbEvalContext)(unsafe.Pointer(p)).FpArray != 0 {
 73906  				dbEvalRowInfo(tls, p, uintptr(0), uintptr(0))
 73907  			}
 73908  			rcs = sqlite3.Xsqlite3_reset(tls, pStmt)
 73909  
 73910  			(*SqliteDb)(unsafe.Pointer(pDb)).FnStep = sqlite3.Xsqlite3_stmt_status(tls, pStmt, SQLITE_STMTSTATUS_FULLSCAN_STEP, 1)
 73911  			(*SqliteDb)(unsafe.Pointer(pDb)).FnSort = sqlite3.Xsqlite3_stmt_status(tls, pStmt, SQLITE_STMTSTATUS_SORT, 1)
 73912  			(*SqliteDb)(unsafe.Pointer(pDb)).FnIndex = sqlite3.Xsqlite3_stmt_status(tls, pStmt, SQLITE_STMTSTATUS_AUTOINDEX, 1)
 73913  			(*SqliteDb)(unsafe.Pointer(pDb)).FnVMStep = sqlite3.Xsqlite3_stmt_status(tls, pStmt, SQLITE_STMTSTATUS_VM_STEP, 1)
 73914  			dbReleaseColumnNames(tls, p)
 73915  			(*DbEvalContext)(unsafe.Pointer(p)).FpPreStmt = uintptr(0)
 73916  
 73917  			if rcs != SQLITE_OK {
 73918  				dbReleaseStmt(tls, pDb, pPreStmt, 1)
 73919  				if (*SqliteDb)(unsafe.Pointer((*DbEvalContext)(unsafe.Pointer(p)).FpDb)).FbLegacyPrepare != 0 && rcs == SQLITE_SCHEMA && zPrevSql != 0 {
 73920  					(*DbEvalContext)(unsafe.Pointer(p)).FzSql = zPrevSql
 73921  					continue
 73922  				}
 73923  				tcl.XTcl_SetObjResult(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Finterp,
 73924  					tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), -1))
 73925  				return TCL_ERROR
 73926  			} else {
 73927  				dbReleaseStmt(tls, pDb, pPreStmt, 0)
 73928  			}
 73929  		}
 73930  	}
 73931  
 73932  	return TCL_BREAK
 73933  }
 73934  
 73935  func dbEvalFinalize(tls *libc.TLS, p uintptr) {
 73936  	if (*DbEvalContext)(unsafe.Pointer(p)).FpPreStmt != 0 {
 73937  		sqlite3.Xsqlite3_reset(tls, (*SqlPreparedStmt)(unsafe.Pointer((*DbEvalContext)(unsafe.Pointer(p)).FpPreStmt)).FpStmt)
 73938  		dbReleaseStmt(tls, (*DbEvalContext)(unsafe.Pointer(p)).FpDb, (*DbEvalContext)(unsafe.Pointer(p)).FpPreStmt, 0)
 73939  		(*DbEvalContext)(unsafe.Pointer(p)).FpPreStmt = uintptr(0)
 73940  	}
 73941  	if (*DbEvalContext)(unsafe.Pointer(p)).FpArray != 0 {
 73942  		for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
 73943  			var _objPtr uintptr = (*DbEvalContext)(unsafe.Pointer(p)).FpArray
 73944  			if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 73945  				tcl.XTclFreeObj(tls, _objPtr)
 73946  			}
 73947  		}
 73948  		(*DbEvalContext)(unsafe.Pointer(p)).FpArray = uintptr(0)
 73949  	}
 73950  	for __ccgo1 := true; __ccgo1; __ccgo1 = 0 != 0 {
 73951  		var _objPtr uintptr = (*DbEvalContext)(unsafe.Pointer(p)).FpSql
 73952  		if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 73953  			tcl.XTclFreeObj(tls, _objPtr)
 73954  		}
 73955  	}
 73956  	dbReleaseColumnNames(tls, p)
 73957  	delDatabaseRef(tls, (*DbEvalContext)(unsafe.Pointer(p)).FpDb)
 73958  }
 73959  
 73960  func dbEvalColumnValue(tls *libc.TLS, p uintptr, iCol int32) uintptr {
 73961  	var pStmt uintptr = (*SqlPreparedStmt)(unsafe.Pointer((*DbEvalContext)(unsafe.Pointer(p)).FpPreStmt)).FpStmt
 73962  	switch sqlite3.Xsqlite3_column_type(tls, pStmt, iCol) {
 73963  	case SQLITE_BLOB:
 73964  		{
 73965  			var bytes int32 = sqlite3.Xsqlite3_column_bytes(tls, pStmt, iCol)
 73966  			var zBlob uintptr = sqlite3.Xsqlite3_column_blob(tls, pStmt, iCol)
 73967  			if !(zBlob != 0) {
 73968  				bytes = 0
 73969  			}
 73970  			return tcl.XTcl_NewByteArrayObj(tls, zBlob, bytes)
 73971  
 73972  		}
 73973  	case SQLITE_INTEGER:
 73974  		{
 73975  			var v sqlite_int64 = sqlite3.Xsqlite3_column_int64(tls, pStmt, iCol)
 73976  			if v >= int64(-2147483647) && v <= int64(2147483647) {
 73977  				return tcl.XTcl_NewIntObj(tls, int32(v))
 73978  			} else {
 73979  				return tcl.XTcl_NewWideIntObj(tls, v)
 73980  			}
 73981  
 73982  		}
 73983  		fallthrough
 73984  	case SQLITE_FLOAT:
 73985  		{
 73986  			return tcl.XTcl_NewDoubleObj(tls, sqlite3.Xsqlite3_column_double(tls, pStmt, iCol))
 73987  
 73988  		}
 73989  	case SQLITE_NULL:
 73990  		{
 73991  			return tcl.XTcl_NewStringObj(tls, (*SqliteDb)(unsafe.Pointer((*DbEvalContext)(unsafe.Pointer(p)).FpDb)).FzNull, -1)
 73992  
 73993  		}
 73994  	}
 73995  
 73996  	return tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3_column_text(tls, pStmt, iCol), -1)
 73997  }
 73998  
 73999  func DbUseNre(tls *libc.TLS) int32 {
 74000  	bp := tls.Alloc(8)
 74001  	defer tls.Free(8)
 74002  
 74003  	tcl.XTcl_GetVersion(tls, bp, bp+4, uintptr(0), uintptr(0))
 74004  	return libc.Bool32(*(*int32)(unsafe.Pointer(bp)) == 8 && *(*int32)(unsafe.Pointer(bp + 4)) >= 6 || *(*int32)(unsafe.Pointer(bp)) > 8)
 74005  }
 74006  
 74007  func DbEvalNextCmd(tls *libc.TLS, data uintptr, interp uintptr, result int32) int32 {
 74008  	bp := tls.Alloc(16)
 74009  	defer tls.Free(16)
 74010  
 74011  	var rc int32 = result
 74012  
 74013  	var p uintptr = *(*ClientData)(unsafe.Pointer(data))
 74014  	var pScript uintptr = *(*ClientData)(unsafe.Pointer(data + 1*8))
 74015  	var pArray uintptr = (*DbEvalContext)(unsafe.Pointer(p)).FpArray
 74016  
 74017  	for (rc == TCL_OK || rc == TCL_CONTINUE) && TCL_OK == libc.AssignInt32(&rc, dbEvalStep(tls, p)) {
 74018  		var i int32
 74019  
 74020  		dbEvalRowInfo(tls, p, bp, bp+8)
 74021  		for i = 0; i < *(*int32)(unsafe.Pointer(bp)); i++ {
 74022  			if pArray == uintptr(0) {
 74023  				tcl.XTcl_ObjSetVar2(tls, interp, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(i)*8)), uintptr(0), dbEvalColumnValue(tls, p, i), 0)
 74024  			} else if (*DbEvalContext)(unsafe.Pointer(p)).FevalFlags&SQLITE_EVAL_WITHOUTNULLS != 0 &&
 74025  				sqlite3.Xsqlite3_column_type(tls, (*SqlPreparedStmt)(unsafe.Pointer((*DbEvalContext)(unsafe.Pointer(p)).FpPreStmt)).FpStmt, i) == SQLITE_NULL {
 74026  				tcl.XTcl_UnsetVar2(tls, interp, tcl.XTcl_GetString(tls, pArray),
 74027  					tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(i)*8))), 0)
 74028  			} else {
 74029  				tcl.XTcl_ObjSetVar2(tls, interp, pArray, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(i)*8)), dbEvalColumnValue(tls, p, i), 0)
 74030  			}
 74031  		}
 74032  
 74033  		if DbUseNre(tls) != 0 {
 74034  			tcl.XTcl_NRAddCallback(tls, interp, *(*uintptr)(unsafe.Pointer(&struct {
 74035  				f func(*libc.TLS, uintptr, uintptr, int32) int32
 74036  			}{DbEvalNextCmd})), p, pScript, uintptr(0), uintptr(0))
 74037  			return tcl.XTcl_NREvalObj(tls, interp, pScript, 0)
 74038  		} else {
 74039  			rc = tcl.XTcl_EvalObjEx(tls, interp, pScript, 0)
 74040  		}
 74041  	}
 74042  
 74043  	for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
 74044  		var _objPtr uintptr = pScript
 74045  		if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 74046  			tcl.XTclFreeObj(tls, _objPtr)
 74047  		}
 74048  	}
 74049  	dbEvalFinalize(tls, p)
 74050  	tcl.XTcl_Free(tls, p)
 74051  
 74052  	if rc == TCL_OK || rc == TCL_BREAK {
 74053  		tcl.XTcl_ResetResult(tls, interp)
 74054  		rc = TCL_OK
 74055  	}
 74056  	return rc
 74057  }
 74058  
 74059  func DbHookCmd(tls *libc.TLS, interp uintptr, pDb uintptr, pArg uintptr, ppHook uintptr) {
 74060  	var db uintptr = (*SqliteDb)(unsafe.Pointer(pDb)).Fdb
 74061  
 74062  	if *(*uintptr)(unsafe.Pointer(ppHook)) != 0 {
 74063  		tcl.XTcl_SetObjResult(tls, interp, *(*uintptr)(unsafe.Pointer(ppHook)))
 74064  		if pArg != 0 {
 74065  			for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
 74066  				var _objPtr uintptr = *(*uintptr)(unsafe.Pointer(ppHook))
 74067  				if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 74068  					tcl.XTclFreeObj(tls, _objPtr)
 74069  				}
 74070  			}
 74071  			*(*uintptr)(unsafe.Pointer(ppHook)) = uintptr(0)
 74072  		}
 74073  	}
 74074  	if pArg != 0 {
 74075  		if tcl.XTcl_GetCharLength(tls, pArg) > 0 {
 74076  			*(*uintptr)(unsafe.Pointer(ppHook)) = pArg
 74077  			(*Tcl_Obj)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppHook)))).FrefCount++
 74078  		}
 74079  	}
 74080  
 74081  	sqlite3.Xsqlite3_preupdate_hook(tls, db, func() uintptr {
 74082  		if (*SqliteDb)(unsafe.Pointer(pDb)).FpPreUpdateHook != 0 {
 74083  			return *(*uintptr)(unsafe.Pointer(&struct {
 74084  				f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, sqlite_int64, sqlite_int64)
 74085  			}{DbPreUpdateHandler}))
 74086  		}
 74087  		return uintptr(0)
 74088  	}(), pDb)
 74089  	sqlite3.Xsqlite3_update_hook(tls, db, func() uintptr {
 74090  		if (*SqliteDb)(unsafe.Pointer(pDb)).FpUpdateHook != 0 {
 74091  			return *(*uintptr)(unsafe.Pointer(&struct {
 74092  				f func(*libc.TLS, uintptr, int32, uintptr, uintptr, sqlite_int64)
 74093  			}{DbUpdateHandler}))
 74094  		}
 74095  		return uintptr(0)
 74096  	}(), pDb)
 74097  	sqlite3.Xsqlite3_rollback_hook(tls, db, func() uintptr {
 74098  		if (*SqliteDb)(unsafe.Pointer(pDb)).FpRollbackHook != 0 {
 74099  			return *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{DbRollbackHandler}))
 74100  		}
 74101  		return uintptr(0)
 74102  	}(), pDb)
 74103  	sqlite3.Xsqlite3_wal_hook(tls, db, func() uintptr {
 74104  		if (*SqliteDb)(unsafe.Pointer(pDb)).FpWalHook != 0 {
 74105  			return *(*uintptr)(unsafe.Pointer(&struct {
 74106  				f func(*libc.TLS, uintptr, uintptr, uintptr, int32) int32
 74107  			}{DbWalHandler}))
 74108  		}
 74109  		return uintptr(0)
 74110  	}(), pDb)
 74111  }
 74112  
 74113  func DbObjCmd(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 74114  	bp := tls.Alloc(1588)
 74115  	defer tls.Free(1588)
 74116  	*(*uintptr)(unsafe.Pointer(bp + 1464)) = cd
 74117  
 74118  	var pDb uintptr
 74119  
 74120  	var rc int32
 74121  	var zAuth uintptr
 74122  
 74123  	var zDestFile uintptr
 74124  	var zSrcDb uintptr
 74125  
 74126  	var pBackup uintptr
 74127  	var zCallback uintptr
 74128  
 74129  	var zBusy uintptr
 74130  
 74131  	var subCmd uintptr
 74132  
 74133  	var pResult uintptr
 74134  	var pCollate uintptr
 74135  	var zName uintptr
 74136  	var zScript uintptr
 74137  
 74138  	var _objPtr uintptr
 74139  	var zCommit uintptr
 74140  
 74141  	var pResult1 uintptr
 74142  	var isComplete int32
 74143  
 74144  	var zOpt uintptr
 74145  
 74146  	var pResult2 uintptr
 74147  	var ii int32
 74148  	var zErr uintptr
 74149  	var nErr int32
 74150  	var z uintptr
 74151  	var zTable uintptr
 74152  	var zFile uintptr
 74153  	var zConflict uintptr
 74154  
 74155  	var nCol int32
 74156  	var nByte int32
 74157  	var i int32
 74158  	var j int32
 74159  	var nSep int32
 74160  	var nNull int32
 74161  	var zSql uintptr
 74162  	var zLine uintptr
 74163  	var azCol uintptr
 74164  	var zCommit1 uintptr
 74165  	var in uintptr
 74166  	var lineno int32
 74167  
 74168  	var pResult3 uintptr
 74169  
 74170  	var zSep uintptr
 74171  	var zNull uintptr
 74172  
 74173  	var z1 uintptr
 74174  	var flags int32
 74175  	var zSchema uintptr
 74176  	var pValue uintptr
 74177  	var pBA uintptr
 74178  	var pData uintptr
 74179  
 74180  	var xrc int32
 74181  
 74182  	var i1 int32
 74183  
 74184  	var pResult4 uintptr
 74185  
 74186  	var i2 int32
 74187  
 74188  	var _objPtr1 uintptr
 74189  
 74190  	var pRet uintptr
 74191  
 74192  	var p uintptr
 74193  	var pArray uintptr
 74194  	var pScript uintptr
 74195  	var evalFlags int32
 74196  	var zOpt1 uintptr
 74197  
 74198  	var z2 uintptr
 74199  	var n1 int32
 74200  	var _objPtr2 uintptr
 74201  	var flags1 int32
 74202  	var pFunc uintptr
 74203  	var pScript1 uintptr
 74204  	var zName1 uintptr
 74205  
 74206  	var i3 int32
 74207  
 74208  	var isReadonly1 int32
 74209  	var zDb uintptr
 74210  	var zTable1 uintptr
 74211  	var zColumn uintptr
 74212  
 74213  	var zNull1 uintptr
 74214  	var pResult5 uintptr
 74215  	var rowid Tcl_WideInt
 74216  	var zProgress uintptr
 74217  
 74218  	var zProfile uintptr
 74219  
 74220  	var zSrcFile uintptr
 74221  	var zDestDb uintptr
 74222  
 74223  	var pBackup1 uintptr
 74224  	var nTimeout int32
 74225  	var needFree int32
 74226  	var zSchema1 uintptr
 74227  
 74228  	var pData1 uintptr
 74229  	var v2 int32
 74230  	var zOp uintptr
 74231  
 74232  	var pResult6 uintptr
 74233  	var zTrace uintptr
 74234  
 74235  	var _objPtr3 uintptr
 74236  	var _objPtr4 uintptr
 74237  
 74238  	var pError uintptr
 74239  
 74240  	var i4 int32
 74241  	var zTraceV2 uintptr
 74242  
 74243  	var wMask Tcl_WideInt
 74244  
 74245  	var pScript2 uintptr
 74246  	var zBegin uintptr
 74247  	var _objPtr5 uintptr
 74248  	var xNotify uintptr
 74249  	var pNotifyArg uintptr
 74250  	var nCol2 int32
 74251  	var pRet1 uintptr
 74252  	var pObj1 uintptr
 74253  
 74254  	var ppHook uintptr
 74255  
 74256  	var zArg uintptr
 74257  	var i5 int32
 74258  	pDb = *(*uintptr)(unsafe.Pointer(bp + 1464))
 74259  	rc = TCL_OK
 74260  
 74261  	if !(objc < 2) {
 74262  		goto __1
 74263  	}
 74264  	tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+1999)
 74265  	return TCL_ERROR
 74266  __1:
 74267  	;
 74268  	if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), uintptr(unsafe.Pointer(&DB_strs)), int32(unsafe.Sizeof(uintptr(0))), ts+11691, 0, bp+1016) != 0) {
 74269  		goto __2
 74270  	}
 74271  	return TCL_ERROR
 74272  __2:
 74273  	;
 74274  	switch uint32(*(*int32)(unsafe.Pointer(bp + 1016))) {
 74275  	case uint32(0):
 74276  		goto __4
 74277  
 74278  	case uint32(1):
 74279  		goto __5
 74280  
 74281  	case uint32(2):
 74282  		goto __6
 74283  
 74284  	case uint32(3):
 74285  		goto __7
 74286  
 74287  	case uint32(4):
 74288  		goto __8
 74289  
 74290  	case uint32(5):
 74291  		goto __9
 74292  
 74293  	case uint32(6):
 74294  		goto __10
 74295  
 74296  	case uint32(7):
 74297  		goto __11
 74298  
 74299  	case uint32(8):
 74300  		goto __12
 74301  
 74302  	case uint32(9):
 74303  		goto __13
 74304  
 74305  	case uint32(10):
 74306  		goto __14
 74307  
 74308  	case uint32(11):
 74309  		goto __15
 74310  
 74311  	case uint32(12):
 74312  		goto __16
 74313  
 74314  	case uint32(13):
 74315  		goto __17
 74316  
 74317  	case uint32(14):
 74318  		goto __18
 74319  
 74320  	case uint32(15):
 74321  		goto __19
 74322  
 74323  	case uint32(16):
 74324  		goto __20
 74325  
 74326  	case uint32(18):
 74327  		goto __21
 74328  	case uint32(24):
 74329  		goto __22
 74330  
 74331  	case uint32(17):
 74332  		goto __23
 74333  
 74334  	case uint32(19):
 74335  		goto __24
 74336  
 74337  	case uint32(20):
 74338  		goto __25
 74339  
 74340  	case uint32(21):
 74341  		goto __26
 74342  
 74343  	case uint32(23):
 74344  		goto __27
 74345  
 74346  	case uint32(22):
 74347  		goto __28
 74348  
 74349  	case uint32(27):
 74350  		goto __29
 74351  
 74352  	case uint32(26):
 74353  		goto __30
 74354  
 74355  	case uint32(28):
 74356  		goto __31
 74357  
 74358  	case uint32(29):
 74359  		goto __32
 74360  
 74361  	case uint32(31):
 74362  		goto __33
 74363  
 74364  	case uint32(32):
 74365  		goto __34
 74366  
 74367  	case uint32(33):
 74368  		goto __35
 74369  
 74370  	case uint32(34):
 74371  		goto __36
 74372  
 74373  	case uint32(35):
 74374  		goto __37
 74375  
 74376  	case uint32(36):
 74377  		goto __38
 74378  
 74379  	case uint32(37):
 74380  		goto __39
 74381  
 74382  	case uint32(38):
 74383  		goto __40
 74384  
 74385  	case uint32(25):
 74386  		goto __41
 74387  
 74388  	case uint32(41):
 74389  		goto __42
 74390  	case uint32(39):
 74391  		goto __43
 74392  	case uint32(30):
 74393  		goto __44
 74394  
 74395  	case uint32(40):
 74396  		goto __45
 74397  	}
 74398  	goto __3
 74399  
 74400  __4:
 74401  	if !(objc > 3) {
 74402  		goto __46
 74403  	}
 74404  	tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11698)
 74405  	return TCL_ERROR
 74406  	goto __47
 74407  __46:
 74408  	if !(objc == 2) {
 74409  		goto __48
 74410  	}
 74411  	if !((*SqliteDb)(unsafe.Pointer(pDb)).FzAuth != 0) {
 74412  		goto __50
 74413  	}
 74414  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, (*SqliteDb)(unsafe.Pointer(pDb)).FzAuth, uintptr(0)))
 74415  __50:
 74416  	;
 74417  	goto __49
 74418  __48:
 74419  	if !((*SqliteDb)(unsafe.Pointer(pDb)).FzAuth != 0) {
 74420  		goto __51
 74421  	}
 74422  	tcl.XTcl_Free(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FzAuth)
 74423  __51:
 74424  	;
 74425  	zAuth = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+1020)
 74426  	if !(zAuth != 0 && *(*int32)(unsafe.Pointer(bp + 1020)) > 0) {
 74427  		goto __52
 74428  	}
 74429  	(*SqliteDb)(unsafe.Pointer(pDb)).FzAuth = tcl.XTcl_Alloc(tls, uint32(*(*int32)(unsafe.Pointer(bp + 1020))+1))
 74430  	libc.Xmemcpy(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FzAuth, zAuth, uint64(*(*int32)(unsafe.Pointer(bp + 1020))+1))
 74431  	goto __53
 74432  __52:
 74433  	(*SqliteDb)(unsafe.Pointer(pDb)).FzAuth = uintptr(0)
 74434  __53:
 74435  	;
 74436  	if !((*SqliteDb)(unsafe.Pointer(pDb)).FzAuth != 0) {
 74437  		goto __54
 74438  	}
 74439  	(*SqliteDb)(unsafe.Pointer(pDb)).Finterp = interp
 74440  	sqlite3.Xsqlite3_set_authorizer(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, *(*uintptr)(unsafe.Pointer(&struct {
 74441  		f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32
 74442  	}{auth_callback})), pDb)
 74443  	goto __55
 74444  __54:
 74445  	sqlite3.Xsqlite3_set_authorizer(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, uintptr(0), uintptr(0))
 74446  __55:
 74447  	;
 74448  __49:
 74449  	;
 74450  __47:
 74451  	;
 74452  	goto __3
 74453  
 74454  __5:
 74455  	if !(objc == 3) {
 74456  		goto __56
 74457  	}
 74458  	zSrcDb = ts + 85
 74459  	zDestFile = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
 74460  	goto __57
 74461  __56:
 74462  	if !(objc == 4) {
 74463  		goto __58
 74464  	}
 74465  	zSrcDb = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
 74466  	zDestFile = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)))
 74467  	goto __59
 74468  __58:
 74469  	tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11709)
 74470  	return TCL_ERROR
 74471  __59:
 74472  	;
 74473  __57:
 74474  	;
 74475  	rc = sqlite3.Xsqlite3_open_v2(tls, zDestFile, bp+1024,
 74476  		SQLITE_OPEN_READWRITE|SQLITE_OPEN_CREATE|(*SqliteDb)(unsafe.Pointer(pDb)).FopenFlags, uintptr(0))
 74477  	if !(rc != SQLITE_OK) {
 74478  		goto __60
 74479  	}
 74480  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+11729,
 74481  		sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 1024))), uintptr(0)))
 74482  	sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 1024)))
 74483  	return TCL_ERROR
 74484  __60:
 74485  	;
 74486  	pBackup = sqlite3.Xsqlite3_backup_init(tls, *(*uintptr)(unsafe.Pointer(bp + 1024)), ts+85, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, zSrcDb)
 74487  	if !(pBackup == uintptr(0)) {
 74488  		goto __61
 74489  	}
 74490  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+11759,
 74491  		sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 1024))), uintptr(0)))
 74492  	sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 1024)))
 74493  	return TCL_ERROR
 74494  __61:
 74495  	;
 74496  __62:
 74497  	if !(libc.AssignInt32(&rc, sqlite3.Xsqlite3_backup_step(tls, pBackup, 100)) == SQLITE_OK) {
 74498  		goto __63
 74499  	}
 74500  	goto __62
 74501  __63:
 74502  	;
 74503  	sqlite3.Xsqlite3_backup_finish(tls, pBackup)
 74504  	if !(rc == SQLITE_DONE) {
 74505  		goto __64
 74506  	}
 74507  	rc = TCL_OK
 74508  	goto __65
 74509  __64:
 74510  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, ts+11759,
 74511  		sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 1024))), uintptr(0)))
 74512  	rc = TCL_ERROR
 74513  __65:
 74514  	;
 74515  	sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 1024)))
 74516  	goto __3
 74517  
 74518  __6:
 74519  	if !(objc > 3) {
 74520  		goto __66
 74521  	}
 74522  	tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11698)
 74523  	return TCL_ERROR
 74524  	goto __67
 74525  __66:
 74526  	if !(objc == 2) {
 74527  		goto __68
 74528  	}
 74529  	if !((*SqliteDb)(unsafe.Pointer(pDb)).FzBindFallback != 0) {
 74530  		goto __70
 74531  	}
 74532  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+88, (*SqliteDb)(unsafe.Pointer(pDb)).FzBindFallback, uintptr(0)))
 74533  __70:
 74534  	;
 74535  	goto __69
 74536  __68:
 74537  	if !((*SqliteDb)(unsafe.Pointer(pDb)).FzBindFallback != 0) {
 74538  		goto __71
 74539  	}
 74540  	tcl.XTcl_Free(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FzBindFallback)
 74541  __71:
 74542  	;
 74543  	zCallback = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+1032)
 74544  	if !(zCallback != 0 && *(*int32)(unsafe.Pointer(bp + 1032)) > 0) {
 74545  		goto __72
 74546  	}
 74547  	(*SqliteDb)(unsafe.Pointer(pDb)).FzBindFallback = tcl.XTcl_Alloc(tls, uint32(*(*int32)(unsafe.Pointer(bp + 1032))+1))
 74548  	libc.Xmemcpy(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FzBindFallback, zCallback, uint64(*(*int32)(unsafe.Pointer(bp + 1032))+1))
 74549  	goto __73
 74550  __72:
 74551  	(*SqliteDb)(unsafe.Pointer(pDb)).FzBindFallback = uintptr(0)
 74552  __73:
 74553  	;
 74554  __69:
 74555  	;
 74556  __67:
 74557  	;
 74558  	goto __3
 74559  
 74560  __7:
 74561  	if !(objc > 3) {
 74562  		goto __74
 74563  	}
 74564  	tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11775)
 74565  	return TCL_ERROR
 74566  	goto __75
 74567  __74:
 74568  	if !(objc == 2) {
 74569  		goto __76
 74570  	}
 74571  	if !((*SqliteDb)(unsafe.Pointer(pDb)).FzBusy != 0) {
 74572  		goto __78
 74573  	}
 74574  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+104, (*SqliteDb)(unsafe.Pointer(pDb)).FzBusy, uintptr(0)))
 74575  __78:
 74576  	;
 74577  	goto __77
 74578  __76:
 74579  	if !((*SqliteDb)(unsafe.Pointer(pDb)).FzBusy != 0) {
 74580  		goto __79
 74581  	}
 74582  	tcl.XTcl_Free(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FzBusy)
 74583  __79:
 74584  	;
 74585  	zBusy = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+1036)
 74586  	if !(zBusy != 0 && *(*int32)(unsafe.Pointer(bp + 1036)) > 0) {
 74587  		goto __80
 74588  	}
 74589  	(*SqliteDb)(unsafe.Pointer(pDb)).FzBusy = tcl.XTcl_Alloc(tls, uint32(*(*int32)(unsafe.Pointer(bp + 1036))+1))
 74590  	libc.Xmemcpy(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FzBusy, zBusy, uint64(*(*int32)(unsafe.Pointer(bp + 1036))+1))
 74591  	goto __81
 74592  __80:
 74593  	(*SqliteDb)(unsafe.Pointer(pDb)).FzBusy = uintptr(0)
 74594  __81:
 74595  	;
 74596  	if !((*SqliteDb)(unsafe.Pointer(pDb)).FzBusy != 0) {
 74597  		goto __82
 74598  	}
 74599  	(*SqliteDb)(unsafe.Pointer(pDb)).Finterp = interp
 74600  	sqlite3.Xsqlite3_busy_handler(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, *(*uintptr)(unsafe.Pointer(&struct {
 74601  		f func(*libc.TLS, uintptr, int32) int32
 74602  	}{DbBusyHandler})), pDb)
 74603  	goto __83
 74604  __82:
 74605  	sqlite3.Xsqlite3_busy_handler(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, uintptr(0), uintptr(0))
 74606  __83:
 74607  	;
 74608  __77:
 74609  	;
 74610  __75:
 74611  	;
 74612  	goto __3
 74613  
 74614  __8:
 74615  	if !(objc <= 2) {
 74616  		goto __84
 74617  	}
 74618  	tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+11784)
 74619  	return TCL_ERROR
 74620  __84:
 74621  	;
 74622  	subCmd = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), uintptr(0))
 74623  	if !(int32(*(*int8)(unsafe.Pointer(subCmd))) == 'f' && libc.Xstrcmp(tls, subCmd, ts+11803) == 0) {
 74624  		goto __85
 74625  	}
 74626  	if !(objc != 3) {
 74627  		goto __87
 74628  	}
 74629  	tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11803)
 74630  	return TCL_ERROR
 74631  	goto __88
 74632  __87:
 74633  	flushStmtCache(tls, pDb)
 74634  __88:
 74635  	;
 74636  	goto __86
 74637  __85:
 74638  	if !(int32(*(*int8)(unsafe.Pointer(subCmd))) == 's' && libc.Xstrcmp(tls, subCmd, ts+11809) == 0) {
 74639  		goto __89
 74640  	}
 74641  	if !(objc != 4) {
 74642  		goto __91
 74643  	}
 74644  	tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11814)
 74645  	return TCL_ERROR
 74646  	goto __92
 74647  __91:
 74648  	if !(TCL_ERROR == tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+1040)) {
 74649  		goto __93
 74650  	}
 74651  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+120, ts+11821,
 74652  		tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)), uintptr(0)), ts+11838, uintptr(0)))
 74653  	return TCL_ERROR
 74654  	goto __94
 74655  __93:
 74656  	if !(*(*int32)(unsafe.Pointer(bp + 1040)) < 0) {
 74657  		goto __95
 74658  	}
 74659  	flushStmtCache(tls, pDb)
 74660  	*(*int32)(unsafe.Pointer(bp + 1040)) = 0
 74661  	goto __96
 74662  __95:
 74663  	if !(*(*int32)(unsafe.Pointer(bp + 1040)) > MAX_PREPARED_STMTS) {
 74664  		goto __97
 74665  	}
 74666  	*(*int32)(unsafe.Pointer(bp + 1040)) = MAX_PREPARED_STMTS
 74667  __97:
 74668  	;
 74669  __96:
 74670  	;
 74671  	(*SqliteDb)(unsafe.Pointer(pDb)).FmaxStmt = *(*int32)(unsafe.Pointer(bp + 1040))
 74672  __94:
 74673  	;
 74674  __92:
 74675  	;
 74676  	goto __90
 74677  __89:
 74678  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+152, ts+11851,
 74679  		tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), uintptr(0)), ts+11864,
 74680  		uintptr(0)))
 74681  	return TCL_ERROR
 74682  __90:
 74683  	;
 74684  __86:
 74685  	;
 74686  	goto __3
 74687  
 74688  __9:
 74689  	if !(objc != 2) {
 74690  		goto __98
 74691  	}
 74692  	tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+584)
 74693  	return TCL_ERROR
 74694  __98:
 74695  	;
 74696  	pResult = tcl.XTcl_GetObjResult(tls, interp)
 74697  	tcl.XTcl_SetWideIntObj(tls, pResult, sqlite3.Xsqlite3_changes64(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb))
 74698  	goto __3
 74699  
 74700  __10:
 74701  	tcl.XTcl_DeleteCommand(tls, interp, tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)))
 74702  	goto __3
 74703  
 74704  __11:
 74705  	if !(objc != 4) {
 74706  		goto __99
 74707  	}
 74708  	tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11889)
 74709  	return TCL_ERROR
 74710  __99:
 74711  	;
 74712  	zName = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), uintptr(0))
 74713  	zScript = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+1044)
 74714  	pCollate = tcl.XTcl_Alloc(tls, uint32(uint64(unsafe.Sizeof(SqlCollate{}))+uint64(*(*int32)(unsafe.Pointer(bp + 1044)))+uint64(1)))
 74715  	if !(pCollate == uintptr(0)) {
 74716  		goto __100
 74717  	}
 74718  	return TCL_ERROR
 74719  __100:
 74720  	;
 74721  	(*SqlCollate)(unsafe.Pointer(pCollate)).Finterp = interp
 74722  	(*SqlCollate)(unsafe.Pointer(pCollate)).FpNext = (*SqliteDb)(unsafe.Pointer(pDb)).FpCollate
 74723  	(*SqlCollate)(unsafe.Pointer(pCollate)).FzScript = pCollate + 1*24
 74724  	(*SqliteDb)(unsafe.Pointer(pDb)).FpCollate = pCollate
 74725  	libc.Xmemcpy(tls, (*SqlCollate)(unsafe.Pointer(pCollate)).FzScript, zScript, uint64(*(*int32)(unsafe.Pointer(bp + 1044))+1))
 74726  	if !(sqlite3.Xsqlite3_create_collation(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, zName, SQLITE_UTF8,
 74727  		pCollate, *(*uintptr)(unsafe.Pointer(&struct {
 74728  			f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 74729  		}{tclSqlCollate}))) != 0) {
 74730  		goto __101
 74731  	}
 74732  	tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(1))
 74733  	return TCL_ERROR
 74734  __101:
 74735  	;
 74736  	goto __3
 74737  
 74738  __12:
 74739  	if !(objc != 3) {
 74740  		goto __102
 74741  	}
 74742  	tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+10187)
 74743  	return TCL_ERROR
 74744  __102:
 74745  	;
 74746  	if !((*SqliteDb)(unsafe.Pointer(pDb)).FpCollateNeeded != 0) {
 74747  		goto __103
 74748  	}
 74749  __104:
 74750  	_objPtr = (*SqliteDb)(unsafe.Pointer(pDb)).FpCollateNeeded
 74751  	if !(libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1) {
 74752  		goto __107
 74753  	}
 74754  	tcl.XTclFreeObj(tls, _objPtr)
 74755  __107:
 74756  	;
 74757  	goto __105
 74758  __105:
 74759  	if 0 != 0 {
 74760  		goto __104
 74761  	}
 74762  	goto __106
 74763  __106:
 74764  	;
 74765  __103:
 74766  	;
 74767  	(*SqliteDb)(unsafe.Pointer(pDb)).FpCollateNeeded = tcl.XTcl_DuplicateObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
 74768  	(*Tcl_Obj)(unsafe.Pointer((*SqliteDb)(unsafe.Pointer(pDb)).FpCollateNeeded)).FrefCount++
 74769  	sqlite3.Xsqlite3_collation_needed(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, pDb, *(*uintptr)(unsafe.Pointer(&struct {
 74770  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr)
 74771  	}{tclCollateNeeded})))
 74772  	goto __3
 74773  
 74774  __13:
 74775  	if !(objc > 3) {
 74776  		goto __108
 74777  	}
 74778  	tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11698)
 74779  	return TCL_ERROR
 74780  	goto __109
 74781  __108:
 74782  	if !(objc == 2) {
 74783  		goto __110
 74784  	}
 74785  	if !((*SqliteDb)(unsafe.Pointer(pDb)).FzCommit != 0) {
 74786  		goto __112
 74787  	}
 74788  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+184, (*SqliteDb)(unsafe.Pointer(pDb)).FzCommit, uintptr(0)))
 74789  __112:
 74790  	;
 74791  	goto __111
 74792  __110:
 74793  	if !((*SqliteDb)(unsafe.Pointer(pDb)).FzCommit != 0) {
 74794  		goto __113
 74795  	}
 74796  	tcl.XTcl_Free(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FzCommit)
 74797  __113:
 74798  	;
 74799  	zCommit = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+1048)
 74800  	if !(zCommit != 0 && *(*int32)(unsafe.Pointer(bp + 1048)) > 0) {
 74801  		goto __114
 74802  	}
 74803  	(*SqliteDb)(unsafe.Pointer(pDb)).FzCommit = tcl.XTcl_Alloc(tls, uint32(*(*int32)(unsafe.Pointer(bp + 1048))+1))
 74804  	libc.Xmemcpy(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FzCommit, zCommit, uint64(*(*int32)(unsafe.Pointer(bp + 1048))+1))
 74805  	goto __115
 74806  __114:
 74807  	(*SqliteDb)(unsafe.Pointer(pDb)).FzCommit = uintptr(0)
 74808  __115:
 74809  	;
 74810  	if !((*SqliteDb)(unsafe.Pointer(pDb)).FzCommit != 0) {
 74811  		goto __116
 74812  	}
 74813  	(*SqliteDb)(unsafe.Pointer(pDb)).Finterp = interp
 74814  	sqlite3.Xsqlite3_commit_hook(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, *(*uintptr)(unsafe.Pointer(&struct {
 74815  		f func(*libc.TLS, uintptr) int32
 74816  	}{DbCommitHandler})), pDb)
 74817  	goto __117
 74818  __116:
 74819  	sqlite3.Xsqlite3_commit_hook(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, uintptr(0), uintptr(0))
 74820  __117:
 74821  	;
 74822  __111:
 74823  	;
 74824  __109:
 74825  	;
 74826  	goto __3
 74827  
 74828  __14:
 74829  	if !(objc != 3) {
 74830  		goto __118
 74831  	}
 74832  	tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+9535)
 74833  	return TCL_ERROR
 74834  __118:
 74835  	;
 74836  	isComplete = sqlite3.Xsqlite3_complete(tls, tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), uintptr(0)))
 74837  	pResult1 = tcl.XTcl_GetObjResult(tls, interp)
 74838  	tcl.XTcl_SetIntObj(tls, pResult1, libc.Bool32(isComplete != 0))
 74839  	goto __3
 74840  
 74841  __15:
 74842  	if !(objc > 4) {
 74843  		goto __119
 74844  	}
 74845  	tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11901)
 74846  	return TCL_ERROR
 74847  __119:
 74848  	;
 74849  	if !(objc == 2) {
 74850  		goto __120
 74851  	}
 74852  
 74853  	pResult2 = tcl.XTcl_NewListObj(tls, 0, uintptr(0))
 74854  	ii = 0
 74855  __122:
 74856  	if !(uint64(ii) < uint64(unsafe.Sizeof(aDbConfig))/uint64(unsafe.Sizeof(DbConfigChoices{}))) {
 74857  		goto __124
 74858  	}
 74859  	*(*int32)(unsafe.Pointer(bp + 1052)) = 0
 74860  	sqlite3.Xsqlite3_db_config(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, aDbConfig[ii].Fop, libc.VaList(bp+200, -1, bp+1052))
 74861  	tcl.XTcl_ListObjAppendElement(tls, interp, pResult2,
 74862  		tcl.XTcl_NewStringObj(tls, aDbConfig[ii].FzName, -1))
 74863  	tcl.XTcl_ListObjAppendElement(tls, interp, pResult2,
 74864  		tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 1052))))
 74865  	goto __123
 74866  __123:
 74867  	ii++
 74868  	goto __122
 74869  	goto __124
 74870  __124:
 74871  	;
 74872  	goto __121
 74873  __120:
 74874  	zOpt = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
 74875  	*(*int32)(unsafe.Pointer(bp + 1056)) = -1
 74876  	*(*int32)(unsafe.Pointer(bp + 1060)) = 0
 74877  	if !(int32(*(*int8)(unsafe.Pointer(zOpt))) == '-') {
 74878  		goto __125
 74879  	}
 74880  	zOpt++
 74881  __125:
 74882  	;
 74883  	ii = 0
 74884  __126:
 74885  	if !(uint64(ii) < uint64(unsafe.Sizeof(aDbConfig))/uint64(unsafe.Sizeof(DbConfigChoices{}))) {
 74886  		goto __128
 74887  	}
 74888  	if !(libc.Xstrcmp(tls, aDbConfig[ii].FzName, zOpt) == 0) {
 74889  		goto __129
 74890  	}
 74891  	goto __128
 74892  __129:
 74893  	;
 74894  	goto __127
 74895  __127:
 74896  	ii++
 74897  	goto __126
 74898  	goto __128
 74899  __128:
 74900  	;
 74901  	if !(uint64(ii) >= uint64(unsafe.Sizeof(aDbConfig))/uint64(unsafe.Sizeof(DbConfigChoices{}))) {
 74902  		goto __130
 74903  	}
 74904  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+216, ts+11920, zOpt,
 74905  		ts+11945, uintptr(0)))
 74906  	return TCL_ERROR
 74907  __130:
 74908  	;
 74909  	if !(objc == 4) {
 74910  		goto __131
 74911  	}
 74912  	if !(tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+1056) != 0) {
 74913  		goto __132
 74914  	}
 74915  	return TCL_ERROR
 74916  __132:
 74917  	;
 74918  __131:
 74919  	;
 74920  	sqlite3.Xsqlite3_db_config(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, aDbConfig[ii].Fop, libc.VaList(bp+248, *(*int32)(unsafe.Pointer(bp + 1056)), bp+1060))
 74921  	pResult2 = tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 1060)))
 74922  __121:
 74923  	;
 74924  	tcl.XTcl_SetObjResult(tls, interp, pResult2)
 74925  	goto __3
 74926  
 74927  __16:
 74928  	lineno = 0
 74929  	if !(objc < 5 || objc > 7) {
 74930  		goto __133
 74931  	}
 74932  	tcl.XTcl_WrongNumArgs(tls, interp, 2, objv,
 74933  		ts+11947)
 74934  	return TCL_ERROR
 74935  __133:
 74936  	;
 74937  	if !(objc >= 6) {
 74938  		goto __134
 74939  	}
 74940  	zSep = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 5*8)), uintptr(0))
 74941  	goto __135
 74942  __134:
 74943  	zSep = ts + 12009
 74944  __135:
 74945  	;
 74946  	if !(objc >= 7) {
 74947  		goto __136
 74948  	}
 74949  	zNull = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 6*8)), uintptr(0))
 74950  	goto __137
 74951  __136:
 74952  	zNull = ts + 584
 74953  __137:
 74954  	;
 74955  	zConflict = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), uintptr(0))
 74956  	zTable = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)), uintptr(0))
 74957  	zFile = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 4*8)), uintptr(0))
 74958  	nSep = strlen30(tls, zSep)
 74959  	nNull = strlen30(tls, zNull)
 74960  	if !(nSep == 0) {
 74961  		goto __138
 74962  	}
 74963  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+264, ts+12011,
 74964  		uintptr(0)))
 74965  	return TCL_ERROR
 74966  __138:
 74967  	;
 74968  	if !(libc.Xstrcmp(tls, zConflict, ts+12055) != 0 && libc.Xstrcmp(tls, zConflict, ts+12064) != 0 && libc.Xstrcmp(tls, zConflict, ts+12070) != 0 && libc.Xstrcmp(tls, zConflict, ts+12075) != 0 && libc.Xstrcmp(tls, zConflict, ts+12082) != 0) {
 74969  		goto __139
 74970  	}
 74971  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+280, ts+12090, zConflict,
 74972  		ts+12099, uintptr(0)))
 74973  	return TCL_ERROR
 74974  __139:
 74975  	;
 74976  	zSql = sqlite3.Xsqlite3_mprintf(tls, ts+12179, libc.VaList(bp+312, zTable))
 74977  	if !(zSql == uintptr(0)) {
 74978  		goto __140
 74979  	}
 74980  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+320, ts+12198, zTable, uintptr(0)))
 74981  	return TCL_ERROR
 74982  __140:
 74983  	;
 74984  	nByte = strlen30(tls, zSql)
 74985  	rc = sqlite3.Xsqlite3_prepare(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, zSql, -1, bp+1064, uintptr(0))
 74986  	sqlite3.Xsqlite3_free(tls, zSql)
 74987  	if !(rc != 0) {
 74988  		goto __141
 74989  	}
 74990  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+344, ts+12221, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0)))
 74991  	nCol = 0
 74992  	goto __142
 74993  __141:
 74994  	nCol = sqlite3.Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp + 1064)))
 74995  __142:
 74996  	;
 74997  	sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 1064)))
 74998  	if !(nCol == 0) {
 74999  		goto __143
 75000  	}
 75001  	return TCL_ERROR
 75002  __143:
 75003  	;
 75004  	zSql = libc.Xmalloc(tls, uint64(nByte+50+nCol*2))
 75005  	if !(zSql == uintptr(0)) {
 75006  		goto __144
 75007  	}
 75008  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+368, ts+12229, uintptr(0)))
 75009  	return TCL_ERROR
 75010  __144:
 75011  	;
 75012  	sqlite3.Xsqlite3_snprintf(tls, nByte+50, zSql, ts+12251,
 75013  		libc.VaList(bp+384, zConflict, zTable))
 75014  	j = strlen30(tls, zSql)
 75015  	i = 1
 75016  __145:
 75017  	if !(i < nCol) {
 75018  		goto __147
 75019  	}
 75020  	*(*int8)(unsafe.Pointer(zSql + uintptr(libc.PostIncInt32(&j, 1)))) = int8(',')
 75021  	*(*int8)(unsafe.Pointer(zSql + uintptr(libc.PostIncInt32(&j, 1)))) = int8('?')
 75022  	goto __146
 75023  __146:
 75024  	i++
 75025  	goto __145
 75026  	goto __147
 75027  __147:
 75028  	;
 75029  	*(*int8)(unsafe.Pointer(zSql + uintptr(libc.PostIncInt32(&j, 1)))) = int8(')')
 75030  	*(*int8)(unsafe.Pointer(zSql + uintptr(j))) = int8(0)
 75031  	rc = sqlite3.Xsqlite3_prepare(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, zSql, -1, bp+1064, uintptr(0))
 75032  	libc.Xfree(tls, zSql)
 75033  	if !(rc != 0) {
 75034  		goto __148
 75035  	}
 75036  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+400, ts+12221, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0)))
 75037  	sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 1064)))
 75038  	return TCL_ERROR
 75039  __148:
 75040  	;
 75041  	in = libc.Xfopen(tls, zFile, ts+4402)
 75042  	if !(in == uintptr(0)) {
 75043  		goto __149
 75044  	}
 75045  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+424, ts+12283, zFile, uintptr(0)))
 75046  	sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 1064)))
 75047  	return TCL_ERROR
 75048  __149:
 75049  	;
 75050  	azCol = libc.Xmalloc(tls, uint64(unsafe.Sizeof(uintptr(0)))*uint64(nCol+1))
 75051  	if !(azCol == uintptr(0)) {
 75052  		goto __150
 75053  	}
 75054  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+448, ts+12229, uintptr(0)))
 75055  	libc.Xfclose(tls, in)
 75056  	return TCL_ERROR
 75057  __150:
 75058  	;
 75059  	sqlite3.Xsqlite3_exec(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, ts+12309, uintptr(0), uintptr(0), uintptr(0))
 75060  	zCommit1 = ts + 11628
 75061  __151:
 75062  	if !(libc.AssignUintptr(&zLine, local_getline(tls, uintptr(0), in)) != uintptr(0)) {
 75063  		goto __152
 75064  	}
 75065  	lineno++
 75066  	*(*uintptr)(unsafe.Pointer(azCol)) = zLine
 75067  	i = 0
 75068  	z = zLine
 75069  __153:
 75070  	if !(*(*int8)(unsafe.Pointer(z)) != 0) {
 75071  		goto __155
 75072  	}
 75073  	if !(int32(*(*int8)(unsafe.Pointer(z))) == int32(*(*int8)(unsafe.Pointer(zSep))) && libc.Xstrncmp(tls, z, zSep, uint64(nSep)) == 0) {
 75074  		goto __156
 75075  	}
 75076  	*(*int8)(unsafe.Pointer(z)) = int8(0)
 75077  	i++
 75078  	if !(i < nCol) {
 75079  		goto __157
 75080  	}
 75081  	*(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)) = z + uintptr(nSep)
 75082  	z += uintptr(nSep - 1)
 75083  __157:
 75084  	;
 75085  __156:
 75086  	;
 75087  	goto __154
 75088  __154:
 75089  	z++
 75090  	goto __153
 75091  	goto __155
 75092  __155:
 75093  	;
 75094  	if !(i+1 != nCol) {
 75095  		goto __158
 75096  	}
 75097  	nErr = strlen30(tls, zFile) + 200
 75098  	zErr = libc.Xmalloc(tls, uint64(nErr))
 75099  	if !(zErr != 0) {
 75100  		goto __159
 75101  	}
 75102  	sqlite3.Xsqlite3_snprintf(tls, nErr, zErr,
 75103  		ts+12315,
 75104  		libc.VaList(bp+464, zFile, lineno, nCol, i+1))
 75105  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+496, zErr, uintptr(0)))
 75106  	libc.Xfree(tls, zErr)
 75107  __159:
 75108  	;
 75109  	zCommit1 = ts + 7824
 75110  	goto __152
 75111  __158:
 75112  	;
 75113  	i = 0
 75114  __160:
 75115  	if !(i < nCol) {
 75116  		goto __162
 75117  	}
 75118  
 75119  	if !(nNull > 0 && libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), zNull) == 0 ||
 75120  		strlen30(tls, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8))) == 0) {
 75121  		goto __163
 75122  	}
 75123  	sqlite3.Xsqlite3_bind_null(tls, *(*uintptr)(unsafe.Pointer(bp + 1064)), i+1)
 75124  	goto __164
 75125  __163:
 75126  	sqlite3.Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp + 1064)), i+1, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), -1, uintptr(0))
 75127  __164:
 75128  	;
 75129  	goto __161
 75130  __161:
 75131  	i++
 75132  	goto __160
 75133  	goto __162
 75134  __162:
 75135  	;
 75136  	sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 1064)))
 75137  	rc = sqlite3.Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 1064)))
 75138  	libc.Xfree(tls, zLine)
 75139  	if !(rc != SQLITE_OK) {
 75140  		goto __165
 75141  	}
 75142  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+512, ts+12221, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0)))
 75143  	zCommit1 = ts + 7824
 75144  	goto __152
 75145  __165:
 75146  	;
 75147  	goto __151
 75148  __152:
 75149  	;
 75150  	libc.Xfree(tls, azCol)
 75151  	libc.Xfclose(tls, in)
 75152  	sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 1064)))
 75153  	sqlite3.Xsqlite3_exec(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, zCommit1, uintptr(0), uintptr(0), uintptr(0))
 75154  
 75155  	if !(int32(*(*int8)(unsafe.Pointer(zCommit1))) == 'C') {
 75156  		goto __166
 75157  	}
 75158  
 75159  	pResult3 = tcl.XTcl_GetObjResult(tls, interp)
 75160  	tcl.XTcl_SetIntObj(tls, pResult3, lineno)
 75161  	rc = TCL_OK
 75162  	goto __167
 75163  __166:
 75164  	sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([80]int8{})), bp+1072, ts+1333, libc.VaList(bp+536, lineno))
 75165  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+544, ts+12375, bp+1072,
 75166  		uintptr(0)))
 75167  	rc = TCL_ERROR
 75168  __167:
 75169  	;
 75170  	goto __3
 75171  
 75172  __17:
 75173  	zSchema = uintptr(0)
 75174  	pValue = uintptr(0)
 75175  	*(*sqlite3_int64)(unsafe.Pointer(bp + 1168)) = int64(0)
 75176  	*(*int32)(unsafe.Pointer(bp + 1160)) = 0
 75177  
 75178  	if !(objc < 3) {
 75179  		goto __168
 75180  	}
 75181  	tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12408)
 75182  	rc = TCL_ERROR
 75183  	goto __3
 75184  __168:
 75185  	;
 75186  	i1 = 2
 75187  __169:
 75188  	if !(i1 < objc-1) {
 75189  		goto __171
 75190  	}
 75191  	z1 = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i1)*8)))
 75192  	if !(libc.Xstrcmp(tls, z1, ts+12425) == 0 && i1 < objc-2) {
 75193  		goto __172
 75194  	}
 75195  	rc = tcl.XTcl_GetWideIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(libc.PreIncInt32(&i1, 1))*8)), bp+1152)
 75196  	if !(rc != 0) {
 75197  		goto __173
 75198  	}
 75199  	goto deserialize_error
 75200  __173:
 75201  	;
 75202  	*(*sqlite3_int64)(unsafe.Pointer(bp + 1168)) = *(*Tcl_WideInt)(unsafe.Pointer(bp + 1152))
 75203  	goto __170
 75204  __172:
 75205  	;
 75206  	if !(libc.Xstrcmp(tls, z1, ts+12434) == 0 && i1 < objc-2) {
 75207  		goto __174
 75208  	}
 75209  	rc = tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(libc.PreIncInt32(&i1, 1))*8)), bp+1160)
 75210  	if !(rc != 0) {
 75211  		goto __175
 75212  	}
 75213  	goto deserialize_error
 75214  __175:
 75215  	;
 75216  	goto __170
 75217  __174:
 75218  	;
 75219  	if !(zSchema == uintptr(0) && i1 == objc-2 && int32(*(*int8)(unsafe.Pointer(z1))) != '-') {
 75220  		goto __176
 75221  	}
 75222  	zSchema = z1
 75223  	goto __170
 75224  __176:
 75225  	;
 75226  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+568, ts+12444, z1, uintptr(0)))
 75227  	rc = TCL_ERROR
 75228  	goto deserialize_error
 75229  	goto __170
 75230  __170:
 75231  	i1++
 75232  	goto __169
 75233  	goto __171
 75234  __171:
 75235  	;
 75236  	pValue = *(*uintptr)(unsafe.Pointer(objv + uintptr(objc-1)*8))
 75237  	pBA = tcl.XTcl_GetByteArrayFromObj(tls, pValue, bp+1164)
 75238  	pData = sqlite3.Xsqlite3_malloc64(tls, uint64(*(*int32)(unsafe.Pointer(bp + 1164))))
 75239  	if !(pData == uintptr(0) && *(*int32)(unsafe.Pointer(bp + 1164)) > 0) {
 75240  		goto __177
 75241  	}
 75242  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+592, ts+2069, uintptr(0)))
 75243  	rc = TCL_ERROR
 75244  	goto __178
 75245  __177:
 75246  	if !(*(*int32)(unsafe.Pointer(bp + 1164)) > 0) {
 75247  		goto __179
 75248  	}
 75249  	libc.Xmemcpy(tls, pData, pBA, uint64(*(*int32)(unsafe.Pointer(bp + 1164))))
 75250  __179:
 75251  	;
 75252  	if !(*(*int32)(unsafe.Pointer(bp + 1160)) != 0) {
 75253  		goto __180
 75254  	}
 75255  	flags = SQLITE_DESERIALIZE_FREEONCLOSE | SQLITE_DESERIALIZE_READONLY
 75256  	goto __181
 75257  __180:
 75258  	flags = SQLITE_DESERIALIZE_FREEONCLOSE | SQLITE_DESERIALIZE_RESIZEABLE
 75259  __181:
 75260  	;
 75261  	xrc = sqlite3.Xsqlite3_deserialize(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, zSchema, pData, int64(*(*int32)(unsafe.Pointer(bp + 1164))), int64(*(*int32)(unsafe.Pointer(bp + 1164))), uint32(flags))
 75262  	if !(xrc != 0) {
 75263  		goto __182
 75264  	}
 75265  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+608, ts+12461, uintptr(0)))
 75266  	rc = TCL_ERROR
 75267  __182:
 75268  	;
 75269  	if !(*(*sqlite3_int64)(unsafe.Pointer(bp + 1168)) > int64(0)) {
 75270  		goto __183
 75271  	}
 75272  	sqlite3.Xsqlite3_file_control(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, zSchema, SQLITE_FCNTL_SIZE_LIMIT, bp+1168)
 75273  __183:
 75274  	;
 75275  __178:
 75276  	;
 75277  deserialize_error:
 75278  	goto __3
 75279  
 75280  __18:
 75281  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+624, ts+12489,
 75282  		uintptr(0)))
 75283  	return TCL_ERROR
 75284  
 75285  __19:
 75286  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, sqlite3.Xsqlite3_errcode(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb)))
 75287  	goto __3
 75288  
 75289  __20:
 75290  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, sqlite3.Xsqlite3_error_offset(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb)))
 75291  	goto __3
 75292  
 75293  __21:
 75294  __22:
 75295  	pResult4 = uintptr(0)
 75296  	if !(objc != 3) {
 75297  		goto __184
 75298  	}
 75299  	tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+9535)
 75300  	return TCL_ERROR
 75301  __184:
 75302  	;
 75303  	dbEvalInit(tls, bp+1176, pDb, *(*uintptr)(unsafe.Pointer(objv + 2*8)), uintptr(0), 0)
 75304  	rc = dbEvalStep(tls, bp+1176)
 75305  	if !(*(*int32)(unsafe.Pointer(bp + 1016)) == 24) {
 75306  		goto __185
 75307  	}
 75308  	if !(rc == TCL_OK) {
 75309  		goto __187
 75310  	}
 75311  	pResult4 = dbEvalColumnValue(tls, bp+1176, 0)
 75312  	goto __188
 75313  __187:
 75314  	if !(rc == TCL_BREAK) {
 75315  		goto __189
 75316  	}
 75317  	tcl.XTcl_ResetResult(tls, interp)
 75318  __189:
 75319  	;
 75320  __188:
 75321  	;
 75322  	goto __186
 75323  __185:
 75324  	if !(rc == TCL_BREAK || rc == TCL_OK) {
 75325  		goto __190
 75326  	}
 75327  	pResult4 = tcl.XTcl_NewIntObj(tls, libc.Bool32(libc.Bool32(rc == TCL_OK) != 0))
 75328  __190:
 75329  	;
 75330  __186:
 75331  	;
 75332  	dbEvalFinalize(tls, bp+1176)
 75333  	if !(pResult4 != 0) {
 75334  		goto __191
 75335  	}
 75336  	tcl.XTcl_SetObjResult(tls, interp, pResult4)
 75337  __191:
 75338  	;
 75339  	if !(rc == TCL_BREAK) {
 75340  		goto __192
 75341  	}
 75342  	rc = TCL_OK
 75343  __192:
 75344  	;
 75345  	goto __3
 75346  
 75347  __23:
 75348  	evalFlags = 0
 75349  __193:
 75350  	if !(objc > 3 && libc.AssignUintptr(&zOpt1, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))) != uintptr(0) && int32(*(*int8)(unsafe.Pointer(zOpt1))) == '-') {
 75351  		goto __194
 75352  	}
 75353  	if !(libc.Xstrcmp(tls, zOpt1, ts+12537) == 0) {
 75354  		goto __195
 75355  	}
 75356  	evalFlags = evalFlags | SQLITE_EVAL_WITHOUTNULLS
 75357  	goto __196
 75358  __195:
 75359  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+640, ts+12551, zOpt1, ts+11945, uintptr(0)))
 75360  	return TCL_ERROR
 75361  __196:
 75362  	;
 75363  	objc--
 75364  	objv += 8
 75365  	goto __193
 75366  __194:
 75367  	;
 75368  	if !(objc < 3 || objc > 5) {
 75369  		goto __197
 75370  	}
 75371  	tcl.XTcl_WrongNumArgs(tls, interp, 2, objv,
 75372  		ts+12569)
 75373  	return TCL_ERROR
 75374  __197:
 75375  	;
 75376  	if !(objc == 3) {
 75377  		goto __198
 75378  	}
 75379  	pRet = tcl.XTcl_NewObj(tls)
 75380  	(*Tcl_Obj)(unsafe.Pointer(pRet)).FrefCount++
 75381  	dbEvalInit(tls, bp+1232, pDb, *(*uintptr)(unsafe.Pointer(objv + 2*8)), uintptr(0), 0)
 75382  __200:
 75383  	if !(TCL_OK == libc.AssignInt32(&rc, dbEvalStep(tls, bp+1232))) {
 75384  		goto __201
 75385  	}
 75386  	dbEvalRowInfo(tls, bp+1232, bp+1288, uintptr(0))
 75387  	i2 = 0
 75388  __202:
 75389  	if !(i2 < *(*int32)(unsafe.Pointer(bp + 1288))) {
 75390  		goto __204
 75391  	}
 75392  	tcl.XTcl_ListObjAppendElement(tls, interp, pRet, dbEvalColumnValue(tls, bp+1232, i2))
 75393  	goto __203
 75394  __203:
 75395  	i2++
 75396  	goto __202
 75397  	goto __204
 75398  __204:
 75399  	;
 75400  	goto __200
 75401  __201:
 75402  	;
 75403  	dbEvalFinalize(tls, bp+1232)
 75404  	if !(rc == TCL_BREAK) {
 75405  		goto __205
 75406  	}
 75407  	tcl.XTcl_SetObjResult(tls, interp, pRet)
 75408  	rc = TCL_OK
 75409  __205:
 75410  	;
 75411  __206:
 75412  	_objPtr1 = pRet
 75413  	if !(libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr1)).FrefCount, 1) <= 1) {
 75414  		goto __209
 75415  	}
 75416  	tcl.XTclFreeObj(tls, _objPtr1)
 75417  __209:
 75418  	;
 75419  	goto __207
 75420  __207:
 75421  	if 0 != 0 {
 75422  		goto __206
 75423  	}
 75424  	goto __208
 75425  __208:
 75426  	;
 75427  	goto __199
 75428  __198:
 75429  	pArray = uintptr(0)
 75430  
 75431  	if !(objc >= 5 && *(*int8)(unsafe.Pointer(tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8))))) != 0) {
 75432  		goto __210
 75433  	}
 75434  	pArray = *(*uintptr)(unsafe.Pointer(objv + 3*8))
 75435  __210:
 75436  	;
 75437  	pScript = *(*uintptr)(unsafe.Pointer(objv + uintptr(objc-1)*8))
 75438  	(*Tcl_Obj)(unsafe.Pointer(pScript)).FrefCount++
 75439  
 75440  	p = tcl.XTcl_Alloc(tls, uint32(unsafe.Sizeof(DbEvalContext{})))
 75441  	dbEvalInit(tls, p, pDb, *(*uintptr)(unsafe.Pointer(objv + 2*8)), pArray, evalFlags)
 75442  
 75443  	*(*ClientData)(unsafe.Pointer(bp + 1296)) = p
 75444  	*(*ClientData)(unsafe.Pointer(bp + 1296 + 1*8)) = pScript
 75445  	rc = DbEvalNextCmd(tls, bp+1296, interp, TCL_OK)
 75446  __199:
 75447  	;
 75448  	goto __3
 75449  
 75450  __24:
 75451  	flags1 = SQLITE_UTF8
 75452  	*(*int32)(unsafe.Pointer(bp + 1312)) = -1
 75453  	*(*int32)(unsafe.Pointer(bp + 1368)) = SQLITE_NULL
 75454  	if !(objc < 4) {
 75455  		goto __211
 75456  	}
 75457  	tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12605)
 75458  	return TCL_ERROR
 75459  __211:
 75460  	;
 75461  	i3 = 3
 75462  __212:
 75463  	if !(i3 < objc-1) {
 75464  		goto __214
 75465  	}
 75466  	z2 = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i3)*8)))
 75467  	n1 = strlen30(tls, z2)
 75468  	if !(n1 > 1 && libc.Xstrncmp(tls, z2, ts+12628, uint64(n1)) == 0) {
 75469  		goto __215
 75470  	}
 75471  	if !(i3 == objc-2) {
 75472  		goto __217
 75473  	}
 75474  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+672, ts+12638, z2, uintptr(0)))
 75475  	return TCL_ERROR
 75476  __217:
 75477  	;
 75478  	if !(tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i3+1)*8)), bp+1312) != 0) {
 75479  		goto __218
 75480  	}
 75481  	return TCL_ERROR
 75482  __218:
 75483  	;
 75484  	if !(*(*int32)(unsafe.Pointer(bp + 1312)) < 0) {
 75485  		goto __219
 75486  	}
 75487  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+696, ts+12668,
 75488  		uintptr(0)))
 75489  	return TCL_ERROR
 75490  __219:
 75491  	;
 75492  	i3++
 75493  	goto __216
 75494  __215:
 75495  	if !(n1 > 1 && libc.Xstrncmp(tls, z2, ts+12709, uint64(n1)) == 0) {
 75496  		goto __220
 75497  	}
 75498  	flags1 = flags1 | SQLITE_DETERMINISTIC
 75499  	goto __221
 75500  __220:
 75501  	if !(n1 > 1 && libc.Xstrncmp(tls, z2, ts+12724, uint64(n1)) == 0) {
 75502  		goto __222
 75503  	}
 75504  	flags1 = flags1 | SQLITE_DIRECTONLY
 75505  	goto __223
 75506  __222:
 75507  	if !(n1 > 1 && libc.Xstrncmp(tls, z2, ts+12736, uint64(n1)) == 0) {
 75508  		goto __224
 75509  	}
 75510  	flags1 = flags1 | SQLITE_INNOCUOUS
 75511  	goto __225
 75512  __224:
 75513  	if !(n1 > 1 && libc.Xstrncmp(tls, z2, ts+12747, uint64(n1)) == 0) {
 75514  		goto __226
 75515  	}
 75516  	*(*[6]uintptr)(unsafe.Pointer(bp + 1320)) = [6]uintptr{ts + 8470, ts + 12759, ts + 12764, ts + 12769, ts + 12774, uintptr(0)}
 75517  
 75518  	if !(i3 == objc-2) {
 75519  		goto __228
 75520  	}
 75521  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+712, ts+12638, z2, uintptr(0)))
 75522  	return TCL_ERROR
 75523  __228:
 75524  	;
 75525  	i3++
 75526  	if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i3)*8)), bp+1320, int32(unsafe.Sizeof(uintptr(0))), ts+12778, 0, bp+1368) != 0) {
 75527  		goto __229
 75528  	}
 75529  	return TCL_ERROR
 75530  __229:
 75531  	;
 75532  	*(*int32)(unsafe.Pointer(bp + 1368))++
 75533  	goto __227
 75534  __226:
 75535  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+736, ts+11851, z2,
 75536  		ts+12783, uintptr(0)))
 75537  	return TCL_ERROR
 75538  __227:
 75539  	;
 75540  __225:
 75541  	;
 75542  __223:
 75543  	;
 75544  __221:
 75545  	;
 75546  __216:
 75547  	;
 75548  	goto __213
 75549  __213:
 75550  	i3++
 75551  	goto __212
 75552  	goto __214
 75553  __214:
 75554  	;
 75555  	pScript1 = *(*uintptr)(unsafe.Pointer(objv + uintptr(objc-1)*8))
 75556  	zName1 = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), uintptr(0))
 75557  	pFunc = findSqlFunc(tls, pDb, zName1)
 75558  	if !(pFunc == uintptr(0)) {
 75559  		goto __230
 75560  	}
 75561  	return TCL_ERROR
 75562  __230:
 75563  	;
 75564  	if !((*SqlFunc)(unsafe.Pointer(pFunc)).FpScript != 0) {
 75565  		goto __231
 75566  	}
 75567  __232:
 75568  	_objPtr2 = (*SqlFunc)(unsafe.Pointer(pFunc)).FpScript
 75569  	if !(libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr2)).FrefCount, 1) <= 1) {
 75570  		goto __235
 75571  	}
 75572  	tcl.XTclFreeObj(tls, _objPtr2)
 75573  __235:
 75574  	;
 75575  	goto __233
 75576  __233:
 75577  	if 0 != 0 {
 75578  		goto __232
 75579  	}
 75580  	goto __234
 75581  __234:
 75582  	;
 75583  __231:
 75584  	;
 75585  	(*SqlFunc)(unsafe.Pointer(pFunc)).FpScript = pScript1
 75586  	(*Tcl_Obj)(unsafe.Pointer(pScript1)).FrefCount++
 75587  	(*SqlFunc)(unsafe.Pointer(pFunc)).FuseEvalObjv = safeToUseEvalObjv(tls, interp, pScript1)
 75588  	(*SqlFunc)(unsafe.Pointer(pFunc)).FeType = *(*int32)(unsafe.Pointer(bp + 1368))
 75589  	rc = sqlite3.Xsqlite3_create_function(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, zName1, *(*int32)(unsafe.Pointer(bp + 1312)), flags1,
 75590  		pFunc, *(*uintptr)(unsafe.Pointer(&struct {
 75591  			f func(*libc.TLS, uintptr, int32, uintptr)
 75592  		}{tclSqlFunc})), uintptr(0), uintptr(0))
 75593  	if !(rc != SQLITE_OK) {
 75594  		goto __236
 75595  	}
 75596  	rc = TCL_ERROR
 75597  	tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(1))
 75598  __236:
 75599  	;
 75600  	goto __3
 75601  
 75602  __25:
 75603  	isReadonly1 = 0
 75604  	zDb = ts + 85
 75605  
 75606  	if !(objc > 3 && libc.Xstrcmp(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), ts+12434) == 0) {
 75607  		goto __237
 75608  	}
 75609  	isReadonly1 = 1
 75610  __237:
 75611  	;
 75612  	if !(objc != 5+isReadonly1 && objc != 6+isReadonly1) {
 75613  		goto __238
 75614  	}
 75615  	tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12861)
 75616  	return TCL_ERROR
 75617  __238:
 75618  	;
 75619  	if !(objc == 6+isReadonly1) {
 75620  		goto __239
 75621  	}
 75622  	zDb = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(2+isReadonly1)*8)))
 75623  __239:
 75624  	;
 75625  	zTable1 = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(objc-3)*8)))
 75626  	zColumn = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(objc-2)*8)))
 75627  	rc = tcl.XTcl_GetWideIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(objc-1)*8)), bp+1376)
 75628  
 75629  	if !(rc == TCL_OK) {
 75630  		goto __240
 75631  	}
 75632  	rc = createIncrblobChannel(tls,
 75633  		interp, pDb, zDb, zTable1, zColumn, *(*Tcl_WideInt)(unsafe.Pointer(bp + 1376)), isReadonly1)
 75634  __240:
 75635  	;
 75636  	goto __3
 75637  
 75638  __26:
 75639  	sqlite3.Xsqlite3_interrupt(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb)
 75640  	goto __3
 75641  
 75642  __27:
 75643  	if !(objc != 2 && objc != 3) {
 75644  		goto __241
 75645  	}
 75646  	tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12897)
 75647  	return TCL_ERROR
 75648  __241:
 75649  	;
 75650  	if !(objc == 3) {
 75651  		goto __242
 75652  	}
 75653  	zNull1 = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+1384)
 75654  	if !((*SqliteDb)(unsafe.Pointer(pDb)).FzNull != 0) {
 75655  		goto __243
 75656  	}
 75657  	tcl.XTcl_Free(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FzNull)
 75658  __243:
 75659  	;
 75660  	if !(zNull1 != 0 && *(*int32)(unsafe.Pointer(bp + 1384)) > 0) {
 75661  		goto __244
 75662  	}
 75663  	(*SqliteDb)(unsafe.Pointer(pDb)).FzNull = tcl.XTcl_Alloc(tls, uint32(*(*int32)(unsafe.Pointer(bp + 1384))+1))
 75664  	libc.Xmemcpy(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FzNull, zNull1, uint64(*(*int32)(unsafe.Pointer(bp + 1384))))
 75665  	*(*int8)(unsafe.Pointer((*SqliteDb)(unsafe.Pointer(pDb)).FzNull + uintptr(*(*int32)(unsafe.Pointer(bp + 1384))))) = int8(0)
 75666  	goto __245
 75667  __244:
 75668  	(*SqliteDb)(unsafe.Pointer(pDb)).FzNull = uintptr(0)
 75669  __245:
 75670  	;
 75671  __242:
 75672  	;
 75673  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FzNull, -1))
 75674  	goto __3
 75675  
 75676  __28:
 75677  	if !(objc != 2) {
 75678  		goto __246
 75679  	}
 75680  	tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+584)
 75681  	return TCL_ERROR
 75682  __246:
 75683  	;
 75684  	rowid = sqlite3.Xsqlite3_last_insert_rowid(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb)
 75685  	pResult5 = tcl.XTcl_GetObjResult(tls, interp)
 75686  	tcl.XTcl_SetWideIntObj(tls, pResult5, rowid)
 75687  	goto __3
 75688  
 75689  __29:
 75690  	if !(objc == 2) {
 75691  		goto __247
 75692  	}
 75693  	if !((*SqliteDb)(unsafe.Pointer(pDb)).FzProgress != 0) {
 75694  		goto __249
 75695  	}
 75696  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+768, (*SqliteDb)(unsafe.Pointer(pDb)).FzProgress, uintptr(0)))
 75697  __249:
 75698  	;
 75699  	goto __248
 75700  __247:
 75701  	if !(objc == 4) {
 75702  		goto __250
 75703  	}
 75704  	if !(TCL_OK != tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+1388)) {
 75705  		goto __252
 75706  	}
 75707  	return TCL_ERROR
 75708  __252:
 75709  	;
 75710  	if !((*SqliteDb)(unsafe.Pointer(pDb)).FzProgress != 0) {
 75711  		goto __253
 75712  	}
 75713  	tcl.XTcl_Free(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FzProgress)
 75714  __253:
 75715  	;
 75716  	zProgress = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+1392)
 75717  	if !(zProgress != 0 && *(*int32)(unsafe.Pointer(bp + 1392)) > 0) {
 75718  		goto __254
 75719  	}
 75720  	(*SqliteDb)(unsafe.Pointer(pDb)).FzProgress = tcl.XTcl_Alloc(tls, uint32(*(*int32)(unsafe.Pointer(bp + 1392))+1))
 75721  	libc.Xmemcpy(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FzProgress, zProgress, uint64(*(*int32)(unsafe.Pointer(bp + 1392))+1))
 75722  	goto __255
 75723  __254:
 75724  	(*SqliteDb)(unsafe.Pointer(pDb)).FzProgress = uintptr(0)
 75725  __255:
 75726  	;
 75727  	if !((*SqliteDb)(unsafe.Pointer(pDb)).FzProgress != 0) {
 75728  		goto __256
 75729  	}
 75730  	(*SqliteDb)(unsafe.Pointer(pDb)).Finterp = interp
 75731  	sqlite3.Xsqlite3_progress_handler(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, *(*int32)(unsafe.Pointer(bp + 1388)), *(*uintptr)(unsafe.Pointer(&struct {
 75732  		f func(*libc.TLS, uintptr) int32
 75733  	}{DbProgressHandler})), pDb)
 75734  	goto __257
 75735  __256:
 75736  	sqlite3.Xsqlite3_progress_handler(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, 0, uintptr(0), uintptr(0))
 75737  __257:
 75738  	;
 75739  	goto __251
 75740  __250:
 75741  	tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12907)
 75742  	return TCL_ERROR
 75743  __251:
 75744  	;
 75745  __248:
 75746  	;
 75747  	goto __3
 75748  
 75749  __30:
 75750  	if !(objc > 3) {
 75751  		goto __258
 75752  	}
 75753  	tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11698)
 75754  	return TCL_ERROR
 75755  	goto __259
 75756  __258:
 75757  	if !(objc == 2) {
 75758  		goto __260
 75759  	}
 75760  	if !((*SqliteDb)(unsafe.Pointer(pDb)).FzProfile != 0) {
 75761  		goto __262
 75762  	}
 75763  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+784, (*SqliteDb)(unsafe.Pointer(pDb)).FzProfile, uintptr(0)))
 75764  __262:
 75765  	;
 75766  	goto __261
 75767  __260:
 75768  	if !((*SqliteDb)(unsafe.Pointer(pDb)).FzProfile != 0) {
 75769  		goto __263
 75770  	}
 75771  	tcl.XTcl_Free(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FzProfile)
 75772  __263:
 75773  	;
 75774  	zProfile = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+1396)
 75775  	if !(zProfile != 0 && *(*int32)(unsafe.Pointer(bp + 1396)) > 0) {
 75776  		goto __264
 75777  	}
 75778  	(*SqliteDb)(unsafe.Pointer(pDb)).FzProfile = tcl.XTcl_Alloc(tls, uint32(*(*int32)(unsafe.Pointer(bp + 1396))+1))
 75779  	libc.Xmemcpy(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FzProfile, zProfile, uint64(*(*int32)(unsafe.Pointer(bp + 1396))+1))
 75780  	goto __265
 75781  __264:
 75782  	(*SqliteDb)(unsafe.Pointer(pDb)).FzProfile = uintptr(0)
 75783  __265:
 75784  	;
 75785  	if !((*SqliteDb)(unsafe.Pointer(pDb)).FzProfile != 0) {
 75786  		goto __266
 75787  	}
 75788  	(*SqliteDb)(unsafe.Pointer(pDb)).Finterp = interp
 75789  	sqlite3.Xsqlite3_profile(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, *(*uintptr)(unsafe.Pointer(&struct {
 75790  		f func(*libc.TLS, uintptr, uintptr, sqlite_uint64)
 75791  	}{DbProfileHandler})), pDb)
 75792  	goto __267
 75793  __266:
 75794  	sqlite3.Xsqlite3_profile(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, uintptr(0), uintptr(0))
 75795  __267:
 75796  	;
 75797  __261:
 75798  	;
 75799  __259:
 75800  	;
 75801  	goto __3
 75802  
 75803  __31:
 75804  	if !(objc != 3) {
 75805  		goto __268
 75806  	}
 75807  	tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+12918)
 75808  	return TCL_ERROR
 75809  __268:
 75810  	;
 75811  	goto __3
 75812  
 75813  __32:
 75814  	nTimeout = 0
 75815  
 75816  	if !(objc == 3) {
 75817  		goto __269
 75818  	}
 75819  	zDestDb = ts + 85
 75820  	zSrcFile = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
 75821  	goto __270
 75822  __269:
 75823  	if !(objc == 4) {
 75824  		goto __271
 75825  	}
 75826  	zDestDb = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
 75827  	zSrcFile = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)))
 75828  	goto __272
 75829  __271:
 75830  	tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11709)
 75831  	return TCL_ERROR
 75832  __272:
 75833  	;
 75834  __270:
 75835  	;
 75836  	rc = sqlite3.Xsqlite3_open_v2(tls, zSrcFile, bp+1400,
 75837  		SQLITE_OPEN_READONLY|(*SqliteDb)(unsafe.Pointer(pDb)).FopenFlags, uintptr(0))
 75838  	if !(rc != SQLITE_OK) {
 75839  		goto __273
 75840  	}
 75841  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+800, ts+12922,
 75842  		sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 1400))), uintptr(0)))
 75843  	sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 1400)))
 75844  	return TCL_ERROR
 75845  __273:
 75846  	;
 75847  	pBackup1 = sqlite3.Xsqlite3_backup_init(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, zDestDb, *(*uintptr)(unsafe.Pointer(bp + 1400)), ts+85)
 75848  	if !(pBackup1 == uintptr(0)) {
 75849  		goto __274
 75850  	}
 75851  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+824, ts+12952,
 75852  		sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0)))
 75853  	sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 1400)))
 75854  	return TCL_ERROR
 75855  __274:
 75856  	;
 75857  __275:
 75858  	if !(libc.AssignInt32(&rc, sqlite3.Xsqlite3_backup_step(tls, pBackup1, 100)) == SQLITE_OK ||
 75859  		rc == SQLITE_BUSY) {
 75860  		goto __276
 75861  	}
 75862  	if !(rc == SQLITE_BUSY) {
 75863  		goto __277
 75864  	}
 75865  	if !(libc.PostIncInt32(&nTimeout, 1) >= 3) {
 75866  		goto __278
 75867  	}
 75868  	goto __276
 75869  __278:
 75870  	;
 75871  	sqlite3.Xsqlite3_sleep(tls, 100)
 75872  __277:
 75873  	;
 75874  	goto __275
 75875  __276:
 75876  	;
 75877  	sqlite3.Xsqlite3_backup_finish(tls, pBackup1)
 75878  	if !(rc == SQLITE_DONE) {
 75879  		goto __279
 75880  	}
 75881  	rc = TCL_OK
 75882  	goto __280
 75883  __279:
 75884  	if !(rc == SQLITE_BUSY || rc == SQLITE_LOCKED) {
 75885  		goto __281
 75886  	}
 75887  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+848, ts+12969,
 75888  		uintptr(0)))
 75889  	rc = TCL_ERROR
 75890  	goto __282
 75891  __281:
 75892  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+864, ts+12952,
 75893  		sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0)))
 75894  	rc = TCL_ERROR
 75895  __282:
 75896  	;
 75897  __280:
 75898  	;
 75899  	sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 1400)))
 75900  	goto __3
 75901  
 75902  __33:
 75903  	if objc >= 3 {
 75904  		zSchema1 = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
 75905  	} else {
 75906  		zSchema1 = ts + 85
 75907  	}
 75908  	*(*sqlite3_int64)(unsafe.Pointer(bp + 1408)) = int64(0)
 75909  	if !(objc != 2 && objc != 3) {
 75910  		goto __283
 75911  	}
 75912  	tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13006)
 75913  	rc = TCL_ERROR
 75914  	goto __284
 75915  __283:
 75916  	pData1 = sqlite3.Xsqlite3_serialize(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, zSchema1, bp+1408, uint32(SQLITE_SERIALIZE_NOCOPY))
 75917  	if !(pData1 != 0) {
 75918  		goto __285
 75919  	}
 75920  	needFree = 0
 75921  	goto __286
 75922  __285:
 75923  	pData1 = sqlite3.Xsqlite3_serialize(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, zSchema1, bp+1408, uint32(0))
 75924  	needFree = 1
 75925  __286:
 75926  	;
 75927  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, pData1, int32(*(*sqlite3_int64)(unsafe.Pointer(bp + 1408)))))
 75928  	if !(needFree != 0) {
 75929  		goto __287
 75930  	}
 75931  	sqlite3.Xsqlite3_free(tls, pData1)
 75932  __287:
 75933  	;
 75934  __284:
 75935  	;
 75936  	goto __3
 75937  
 75938  __34:
 75939  	if !(objc != 3) {
 75940  		goto __288
 75941  	}
 75942  	tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13017)
 75943  	return TCL_ERROR
 75944  __288:
 75945  	;
 75946  	zOp = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
 75947  	if !(libc.Xstrcmp(tls, zOp, ts+9485) == 0) {
 75948  		goto __289
 75949  	}
 75950  	v2 = (*SqliteDb)(unsafe.Pointer(pDb)).FnStep
 75951  	goto __290
 75952  __289:
 75953  	if !(libc.Xstrcmp(tls, zOp, ts+13039) == 0) {
 75954  		goto __291
 75955  	}
 75956  	v2 = (*SqliteDb)(unsafe.Pointer(pDb)).FnSort
 75957  	goto __292
 75958  __291:
 75959  	if !(libc.Xstrcmp(tls, zOp, ts+13044) == 0) {
 75960  		goto __293
 75961  	}
 75962  	v2 = (*SqliteDb)(unsafe.Pointer(pDb)).FnIndex
 75963  	goto __294
 75964  __293:
 75965  	if !(libc.Xstrcmp(tls, zOp, ts+13054) == 0) {
 75966  		goto __295
 75967  	}
 75968  	v2 = (*SqliteDb)(unsafe.Pointer(pDb)).FnVMStep
 75969  	goto __296
 75970  __295:
 75971  	tcl.XTcl_AppendResult(tls, interp,
 75972  		libc.VaList(bp+888, ts+13061,
 75973  			uintptr(0)))
 75974  	return TCL_ERROR
 75975  __296:
 75976  	;
 75977  __294:
 75978  	;
 75979  __292:
 75980  	;
 75981  __290:
 75982  	;
 75983  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, v2))
 75984  	goto __3
 75985  
 75986  __35:
 75987  	if !(objc != 3) {
 75988  		goto __297
 75989  	}
 75990  	tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13117)
 75991  	return TCL_ERROR
 75992  __297:
 75993  	;
 75994  	if !(tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+1416) != 0) {
 75995  		goto __298
 75996  	}
 75997  	return TCL_ERROR
 75998  __298:
 75999  	;
 76000  	sqlite3.Xsqlite3_busy_timeout(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, *(*int32)(unsafe.Pointer(bp + 1416)))
 76001  	goto __3
 76002  
 76003  __36:
 76004  	if !(objc != 2) {
 76005  		goto __299
 76006  	}
 76007  	tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+584)
 76008  	return TCL_ERROR
 76009  __299:
 76010  	;
 76011  	pResult6 = tcl.XTcl_GetObjResult(tls, interp)
 76012  	tcl.XTcl_SetWideIntObj(tls, pResult6, sqlite3.Xsqlite3_total_changes64(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb))
 76013  	goto __3
 76014  
 76015  __37:
 76016  	if !(objc > 3) {
 76017  		goto __300
 76018  	}
 76019  	tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+11698)
 76020  	return TCL_ERROR
 76021  	goto __301
 76022  __300:
 76023  	if !(objc == 2) {
 76024  		goto __302
 76025  	}
 76026  	if !((*SqliteDb)(unsafe.Pointer(pDb)).FzTrace != 0) {
 76027  		goto __304
 76028  	}
 76029  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+904, (*SqliteDb)(unsafe.Pointer(pDb)).FzTrace, uintptr(0)))
 76030  __304:
 76031  	;
 76032  	goto __303
 76033  __302:
 76034  	if !((*SqliteDb)(unsafe.Pointer(pDb)).FzTrace != 0) {
 76035  		goto __305
 76036  	}
 76037  	tcl.XTcl_Free(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FzTrace)
 76038  __305:
 76039  	;
 76040  	zTrace = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+1420)
 76041  	if !(zTrace != 0 && *(*int32)(unsafe.Pointer(bp + 1420)) > 0) {
 76042  		goto __306
 76043  	}
 76044  	(*SqliteDb)(unsafe.Pointer(pDb)).FzTrace = tcl.XTcl_Alloc(tls, uint32(*(*int32)(unsafe.Pointer(bp + 1420))+1))
 76045  	libc.Xmemcpy(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FzTrace, zTrace, uint64(*(*int32)(unsafe.Pointer(bp + 1420))+1))
 76046  	goto __307
 76047  __306:
 76048  	(*SqliteDb)(unsafe.Pointer(pDb)).FzTrace = uintptr(0)
 76049  __307:
 76050  	;
 76051  	if !((*SqliteDb)(unsafe.Pointer(pDb)).FzTrace != 0) {
 76052  		goto __308
 76053  	}
 76054  	(*SqliteDb)(unsafe.Pointer(pDb)).Finterp = interp
 76055  	sqlite3.Xsqlite3_trace(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, *(*uintptr)(unsafe.Pointer(&struct {
 76056  		f func(*libc.TLS, uintptr, uintptr)
 76057  	}{DbTraceHandler})), pDb)
 76058  	goto __309
 76059  __308:
 76060  	sqlite3.Xsqlite3_trace(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, uintptr(0), uintptr(0))
 76061  __309:
 76062  	;
 76063  __303:
 76064  	;
 76065  __301:
 76066  	;
 76067  	goto __3
 76068  
 76069  __38:
 76070  	if !(objc > 4) {
 76071  		goto __310
 76072  	}
 76073  	tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13130)
 76074  	return TCL_ERROR
 76075  	goto __311
 76076  __310:
 76077  	if !(objc == 2) {
 76078  		goto __312
 76079  	}
 76080  	if !((*SqliteDb)(unsafe.Pointer(pDb)).FzTraceV2 != 0) {
 76081  		goto __314
 76082  	}
 76083  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+920, (*SqliteDb)(unsafe.Pointer(pDb)).FzTraceV2, uintptr(0)))
 76084  __314:
 76085  	;
 76086  	goto __313
 76087  __312:
 76088  	wMask = int64(0)
 76089  	if !(objc == 4) {
 76090  		goto __315
 76091  	}
 76092  	if !(TCL_OK != tcl.XTcl_ListObjLength(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+1424)) {
 76093  		goto __317
 76094  	}
 76095  	return TCL_ERROR
 76096  __317:
 76097  	;
 76098  	i4 = 0
 76099  __318:
 76100  	if !(i4 < *(*int32)(unsafe.Pointer(bp + 1424))) {
 76101  		goto __320
 76102  	}
 76103  	if !(TCL_OK != tcl.XTcl_ListObjIndex(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), i4, bp+1432)) {
 76104  		goto __321
 76105  	}
 76106  	return TCL_ERROR
 76107  __321:
 76108  	;
 76109  	if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 1432)), uintptr(unsafe.Pointer(&TTYPE_strs)), int32(unsafe.Sizeof(uintptr(0))), ts+13148, 0, bp+1440) != TCL_OK) {
 76110  		goto __322
 76111  	}
 76112  	pError = tcl.XTcl_DuplicateObj(tls, tcl.XTcl_GetObjResult(tls, interp))
 76113  	(*Tcl_Obj)(unsafe.Pointer(pError)).FrefCount++
 76114  	if !(TCL_OK == tcl.XTcl_GetWideIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 1432)), bp+1448)) {
 76115  		goto __324
 76116  	}
 76117  __326:
 76118  	_objPtr3 = pError
 76119  	if !(libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr3)).FrefCount, 1) <= 1) {
 76120  		goto __329
 76121  	}
 76122  	tcl.XTclFreeObj(tls, _objPtr3)
 76123  __329:
 76124  	;
 76125  	goto __327
 76126  __327:
 76127  	if 0 != 0 {
 76128  		goto __326
 76129  	}
 76130  	goto __328
 76131  __328:
 76132  	;
 76133  	wMask = wMask | *(*Tcl_WideInt)(unsafe.Pointer(bp + 1448))
 76134  	goto __325
 76135  __324:
 76136  	tcl.XTcl_SetObjResult(tls, interp, pError)
 76137  __330:
 76138  	_objPtr4 = pError
 76139  	if !(libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr4)).FrefCount, 1) <= 1) {
 76140  		goto __333
 76141  	}
 76142  	tcl.XTclFreeObj(tls, _objPtr4)
 76143  __333:
 76144  	;
 76145  	goto __331
 76146  __331:
 76147  	if 0 != 0 {
 76148  		goto __330
 76149  	}
 76150  	goto __332
 76151  __332:
 76152  	;
 76153  	return TCL_ERROR
 76154  __325:
 76155  	;
 76156  	goto __323
 76157  __322:
 76158  	switch uint32(*(*int32)(unsafe.Pointer(bp + 1440))) {
 76159  	case uint32(0):
 76160  		goto __335
 76161  	case uint32(1):
 76162  		goto __336
 76163  	case uint32(2):
 76164  		goto __337
 76165  	case uint32(3):
 76166  		goto __338
 76167  	}
 76168  	goto __334
 76169  __335:
 76170  	wMask = wMask | int64(SQLITE_TRACE_STMT)
 76171  	goto __334
 76172  __336:
 76173  	wMask = wMask | int64(SQLITE_TRACE_PROFILE)
 76174  	goto __334
 76175  __337:
 76176  	wMask = wMask | int64(SQLITE_TRACE_ROW)
 76177  	goto __334
 76178  __338:
 76179  	wMask = wMask | int64(SQLITE_TRACE_CLOSE)
 76180  	goto __334
 76181  __334:
 76182  	;
 76183  __323:
 76184  	;
 76185  	goto __319
 76186  __319:
 76187  	i4++
 76188  	goto __318
 76189  	goto __320
 76190  __320:
 76191  	;
 76192  	goto __316
 76193  __315:
 76194  	wMask = int64(SQLITE_TRACE_STMT)
 76195  __316:
 76196  	;
 76197  	if !((*SqliteDb)(unsafe.Pointer(pDb)).FzTraceV2 != 0) {
 76198  		goto __339
 76199  	}
 76200  	tcl.XTcl_Free(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FzTraceV2)
 76201  __339:
 76202  	;
 76203  	zTraceV2 = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+1424)
 76204  	if !(zTraceV2 != 0 && *(*int32)(unsafe.Pointer(bp + 1424)) > 0) {
 76205  		goto __340
 76206  	}
 76207  	(*SqliteDb)(unsafe.Pointer(pDb)).FzTraceV2 = tcl.XTcl_Alloc(tls, uint32(*(*int32)(unsafe.Pointer(bp + 1424))+1))
 76208  	libc.Xmemcpy(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FzTraceV2, zTraceV2, uint64(*(*int32)(unsafe.Pointer(bp + 1424))+1))
 76209  	goto __341
 76210  __340:
 76211  	(*SqliteDb)(unsafe.Pointer(pDb)).FzTraceV2 = uintptr(0)
 76212  __341:
 76213  	;
 76214  	if !((*SqliteDb)(unsafe.Pointer(pDb)).FzTraceV2 != 0) {
 76215  		goto __342
 76216  	}
 76217  	(*SqliteDb)(unsafe.Pointer(pDb)).Finterp = interp
 76218  	sqlite3.Xsqlite3_trace_v2(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, uint32(wMask), *(*uintptr)(unsafe.Pointer(&struct {
 76219  		f func(*libc.TLS, uint32, uintptr, uintptr, uintptr) int32
 76220  	}{DbTraceV2Handler})), pDb)
 76221  	goto __343
 76222  __342:
 76223  	sqlite3.Xsqlite3_trace_v2(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, uint32(0), uintptr(0), uintptr(0))
 76224  __343:
 76225  	;
 76226  __313:
 76227  	;
 76228  __311:
 76229  	;
 76230  	goto __3
 76231  
 76232  __39:
 76233  	zBegin = ts + 13159
 76234  	if !(objc != 3 && objc != 4) {
 76235  		goto __344
 76236  	}
 76237  	tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13186)
 76238  	return TCL_ERROR
 76239  __344:
 76240  	;
 76241  	if !((*SqliteDb)(unsafe.Pointer(pDb)).FnTransaction == 0 && objc == 4) {
 76242  		goto __345
 76243  	}
 76244  	if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), uintptr(unsafe.Pointer(&TTYPE_strs1)), int32(unsafe.Sizeof(uintptr(0))), ts+13200, 0, bp+1456) != 0) {
 76245  		goto __346
 76246  	}
 76247  	return TCL_ERROR
 76248  __346:
 76249  	;
 76250  	switch uint32(*(*int32)(unsafe.Pointer(bp + 1456))) {
 76251  	case uint32(0):
 76252  		goto __348
 76253  	case uint32(1):
 76254  		goto __349
 76255  	case uint32(2):
 76256  		goto __350
 76257  	}
 76258  	goto __347
 76259  __348:
 76260  	;
 76261  	goto __347
 76262  __349:
 76263  	zBegin = ts + 13217
 76264  	goto __347
 76265  __350:
 76266  	zBegin = ts + 13233
 76267  	goto __347
 76268  __347:
 76269  	;
 76270  __345:
 76271  	;
 76272  	pScript2 = *(*uintptr)(unsafe.Pointer(objv + uintptr(objc-1)*8))
 76273  
 76274  	(*SqliteDb)(unsafe.Pointer(pDb)).FdisableAuth++
 76275  	rc = sqlite3.Xsqlite3_exec(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, zBegin, uintptr(0), uintptr(0), uintptr(0))
 76276  	(*SqliteDb)(unsafe.Pointer(pDb)).FdisableAuth--
 76277  	if !(rc != SQLITE_OK) {
 76278  		goto __351
 76279  	}
 76280  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+936, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0)))
 76281  	return TCL_ERROR
 76282  __351:
 76283  	;
 76284  	(*SqliteDb)(unsafe.Pointer(pDb)).FnTransaction++
 76285  
 76286  	addDatabaseRef(tls, pDb)
 76287  	if !(DbUseNre(tls) != 0) {
 76288  		goto __352
 76289  	}
 76290  	tcl.XTcl_NRAddCallback(tls, interp, *(*uintptr)(unsafe.Pointer(&struct {
 76291  		f func(*libc.TLS, uintptr, uintptr, int32) int32
 76292  	}{DbTransPostCmd})), *(*uintptr)(unsafe.Pointer(bp + 1464)), uintptr(0), uintptr(0), uintptr(0))
 76293  	tcl.XTcl_NREvalObj(tls, interp, pScript2, 0)
 76294  	goto __353
 76295  __352:
 76296  	rc = DbTransPostCmd(tls, bp+1464, interp, tcl.XTcl_EvalObjEx(tls, interp, pScript2, 0))
 76297  __353:
 76298  	;
 76299  	goto __3
 76300  
 76301  __40:
 76302  	if !(objc != 2 && objc != 3) {
 76303  		goto __354
 76304  	}
 76305  	tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13249)
 76306  	rc = TCL_ERROR
 76307  	goto __355
 76308  __354:
 76309  	xNotify = uintptr(0)
 76310  	pNotifyArg = uintptr(0)
 76311  
 76312  	if !((*SqliteDb)(unsafe.Pointer(pDb)).FpUnlockNotify != 0) {
 76313  		goto __356
 76314  	}
 76315  __357:
 76316  	_objPtr5 = (*SqliteDb)(unsafe.Pointer(pDb)).FpUnlockNotify
 76317  	if !(libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr5)).FrefCount, 1) <= 1) {
 76318  		goto __360
 76319  	}
 76320  	tcl.XTclFreeObj(tls, _objPtr5)
 76321  __360:
 76322  	;
 76323  	goto __358
 76324  __358:
 76325  	if 0 != 0 {
 76326  		goto __357
 76327  	}
 76328  	goto __359
 76329  __359:
 76330  	;
 76331  	(*SqliteDb)(unsafe.Pointer(pDb)).FpUnlockNotify = uintptr(0)
 76332  __356:
 76333  	;
 76334  	if !(objc == 3) {
 76335  		goto __361
 76336  	}
 76337  	xNotify = *(*uintptr)(unsafe.Pointer(&struct {
 76338  		f func(*libc.TLS, uintptr, int32)
 76339  	}{DbUnlockNotify}))
 76340  	pNotifyArg = pDb
 76341  	(*SqliteDb)(unsafe.Pointer(pDb)).FpUnlockNotify = *(*uintptr)(unsafe.Pointer(objv + 2*8))
 76342  	(*Tcl_Obj)(unsafe.Pointer((*SqliteDb)(unsafe.Pointer(pDb)).FpUnlockNotify)).FrefCount++
 76343  __361:
 76344  	;
 76345  	if !(sqlite3.Xsqlite3_unlock_notify(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, xNotify, pNotifyArg) != 0) {
 76346  		goto __362
 76347  	}
 76348  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+952, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0)))
 76349  	rc = TCL_ERROR
 76350  __362:
 76351  	;
 76352  __355:
 76353  	;
 76354  	goto __3
 76355  
 76356  __41:
 76357  	if !(objc < 3) {
 76358  		goto __363
 76359  	}
 76360  	tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13258)
 76361  __363:
 76362  	;
 76363  	if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), uintptr(unsafe.Pointer(&azSub)), int32(unsafe.Sizeof(uintptr(0))), ts+2014, 0, bp+1472) != 0) {
 76364  		goto __364
 76365  	}
 76366  	return TCL_ERROR
 76367  __364:
 76368  	;
 76369  	switch uint32(*(*int32)(unsafe.Pointer(bp + 1472))) {
 76370  	case uint32(0):
 76371  		goto __366
 76372  
 76373  	case uint32(2):
 76374  		goto __367
 76375  
 76376  	case uint32(1):
 76377  		goto __368
 76378  
 76379  	case uint32(3):
 76380  		goto __369
 76381  	case uint32(4):
 76382  		goto __370
 76383  	}
 76384  	goto __365
 76385  __366:
 76386  	nCol2 = sqlite3.Xsqlite3_preupdate_count(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb)
 76387  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, nCol2))
 76388  	goto __365
 76389  
 76390  __367:
 76391  	if !(objc > 4) {
 76392  		goto __371
 76393  	}
 76394  	tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13277)
 76395  	return TCL_ERROR
 76396  __371:
 76397  	;
 76398  	DbHookCmd(tls, interp, pDb, func() uintptr {
 76399  		if objc == 4 {
 76400  			return *(*uintptr)(unsafe.Pointer(objv + 3*8))
 76401  		}
 76402  		return uintptr(0)
 76403  	}(), pDb+112)
 76404  	goto __365
 76405  
 76406  __368:
 76407  	if !(objc != 3) {
 76408  		goto __372
 76409  	}
 76410  	tcl.XTcl_WrongNumArgs(tls, interp, 3, objv, ts+584)
 76411  	return TCL_ERROR
 76412  __372:
 76413  	;
 76414  	pRet1 = tcl.XTcl_NewIntObj(tls, sqlite3.Xsqlite3_preupdate_depth(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb))
 76415  	tcl.XTcl_SetObjResult(tls, interp, pRet1)
 76416  	goto __365
 76417  
 76418  __369:
 76419  __370:
 76420  	if !(objc != 4) {
 76421  		goto __373
 76422  	}
 76423  	tcl.XTcl_WrongNumArgs(tls, interp, 3, objv, ts+13291)
 76424  	return TCL_ERROR
 76425  __373:
 76426  	;
 76427  	if !(tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+1476) != 0) {
 76428  		goto __374
 76429  	}
 76430  	return TCL_ERROR
 76431  __374:
 76432  	;
 76433  	if !(*(*int32)(unsafe.Pointer(bp + 1472)) == 4) {
 76434  		goto __375
 76435  	}
 76436  	rc = sqlite3.Xsqlite3_preupdate_old(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, *(*int32)(unsafe.Pointer(bp + 1476)), bp+1480)
 76437  	goto __376
 76438  __375:
 76439  	;
 76440  	rc = sqlite3.Xsqlite3_preupdate_new(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, *(*int32)(unsafe.Pointer(bp + 1476)), bp+1480)
 76441  __376:
 76442  	;
 76443  	if !(rc == SQLITE_OK) {
 76444  		goto __377
 76445  	}
 76446  	pObj1 = tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(bp + 1480))), -1)
 76447  	tcl.XTcl_SetObjResult(tls, interp, pObj1)
 76448  	goto __378
 76449  __377:
 76450  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+968, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0)))
 76451  	return TCL_ERROR
 76452  __378:
 76453  	;
 76454  __365:
 76455  	;
 76456  	goto __3
 76457  
 76458  __42:
 76459  __43:
 76460  __44:
 76461  	ppHook = uintptr(0)
 76462  	if !(*(*int32)(unsafe.Pointer(bp + 1016)) == 41) {
 76463  		goto __379
 76464  	}
 76465  	ppHook = pDb + 128
 76466  __379:
 76467  	;
 76468  	if !(*(*int32)(unsafe.Pointer(bp + 1016)) == 39) {
 76469  		goto __380
 76470  	}
 76471  	ppHook = pDb + 104
 76472  __380:
 76473  	;
 76474  	if !(*(*int32)(unsafe.Pointer(bp + 1016)) == 30) {
 76475  		goto __381
 76476  	}
 76477  	ppHook = pDb + 120
 76478  __381:
 76479  	;
 76480  	if !(objc > 3) {
 76481  		goto __382
 76482  	}
 76483  	tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13249)
 76484  	return TCL_ERROR
 76485  __382:
 76486  	;
 76487  	DbHookCmd(tls, interp, pDb, func() uintptr {
 76488  		if objc == 3 {
 76489  			return *(*uintptr)(unsafe.Pointer(objv + 2*8))
 76490  		}
 76491  		return uintptr(0)
 76492  	}(), ppHook)
 76493  	goto __3
 76494  
 76495  __45:
 76496  	i5 = 2
 76497  __383:
 76498  	if !(i5 < objc) {
 76499  		goto __385
 76500  	}
 76501  	zArg = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i5)*8)))
 76502  
 76503  	if !(libc.Xstrcmp(tls, zArg, ts+13297) == 0 && i5+1 < objc) {
 76504  		goto __386
 76505  	}
 76506  	i5++
 76507  	if !(tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i5)*8)), pDb+228) != 0) {
 76508  		goto __388
 76509  	}
 76510  	return TCL_ERROR
 76511  __388:
 76512  	;
 76513  	goto __387
 76514  __386:
 76515  	if !(libc.Xstrcmp(tls, zArg, ts+13317) == 0) {
 76516  		goto __389
 76517  	}
 76518  	sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+1488, ts+9889,
 76519  		libc.VaList(bp+984, func() uintptr {
 76520  			if (*SqliteDb)(unsafe.Pointer(pDb)).FstmtList != 0 {
 76521  				return (*SqlPreparedStmt)(unsafe.Pointer((*SqliteDb)(unsafe.Pointer(pDb)).FstmtList)).FpStmt
 76522  			}
 76523  			return uintptr(0)
 76524  		}()))
 76525  	tcl.XTcl_SetResult(tls, interp, bp+1488, uintptr(1))
 76526  	goto __390
 76527  __389:
 76528  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+992, ts+13332, zArg, uintptr(0)))
 76529  	return TCL_ERROR
 76530  __390:
 76531  	;
 76532  __387:
 76533  	;
 76534  	goto __384
 76535  __384:
 76536  	i5++
 76537  	goto __383
 76538  	goto __385
 76539  __385:
 76540  	;
 76541  	if !(i5 == 2) {
 76542  		goto __391
 76543  	}
 76544  	tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3_libversion(tls), uintptr(0))
 76545  __391:
 76546  	;
 76547  	goto __3
 76548  
 76549  __3:
 76550  	;
 76551  	return rc
 76552  }
 76553  
 76554  type DbConfigChoices = struct {
 76555  	FzName       uintptr
 76556  	Fop          int32
 76557  	F__ccgo_pad1 [4]byte
 76558  }
 76559  
 76560  var DB_strs = [43]uintptr{
 76561  	ts + 13351, ts + 13362, ts + 13369,
 76562  	ts + 13383, ts + 13388, ts + 13394,
 76563  	ts + 9490, ts + 13402, ts + 13410,
 76564  	ts + 13427, ts + 13439, ts + 13448,
 76565  	ts + 13455, ts + 13460, ts + 13472,
 76566  	ts + 13494, ts + 13504, ts + 4896,
 76567  	ts + 13516, ts + 13523, ts + 10868,
 76568  	ts + 13532, ts + 13542, ts + 13560,
 76569  	ts + 13570, ts + 13580, ts + 13590,
 76570  	ts + 9564, ts + 13598, ts + 13604,
 76571  	ts + 13612, ts + 13626, ts + 13636,
 76572  	ts + 13643, ts + 13651, ts + 13665,
 76573  	ts + 13671, ts + 13680, ts + 13692,
 76574  	ts + 13706, ts + 13718, ts + 13726,
 76575  	uintptr(0),
 76576  }
 76577  var aDbConfig = [16]DbConfigChoices{
 76578  	{FzName: ts + 13735, Fop: SQLITE_DBCONFIG_DEFENSIVE},
 76579  	{FzName: ts + 13745, Fop: SQLITE_DBCONFIG_DQS_DDL},
 76580  	{FzName: ts + 13753, Fop: SQLITE_DBCONFIG_DQS_DML},
 76581  	{FzName: ts + 13761, Fop: SQLITE_DBCONFIG_ENABLE_FKEY},
 76582  	{FzName: ts + 13773, Fop: SQLITE_DBCONFIG_ENABLE_QPSG},
 76583  	{FzName: ts + 13785, Fop: SQLITE_DBCONFIG_ENABLE_TRIGGER},
 76584  	{FzName: ts + 13800, Fop: SQLITE_DBCONFIG_ENABLE_VIEW},
 76585  	{FzName: ts + 13812, Fop: SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER},
 76586  	{FzName: ts + 13827, Fop: SQLITE_DBCONFIG_LEGACY_ALTER_TABLE},
 76587  	{FzName: ts + 13846, Fop: SQLITE_DBCONFIG_LEGACY_FILE_FORMAT},
 76588  	{FzName: ts + 13865, Fop: SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION},
 76589  	{FzName: ts + 13880, Fop: SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE},
 76590  	{FzName: ts + 13897, Fop: SQLITE_DBCONFIG_RESET_DATABASE},
 76591  	{FzName: ts + 13912, Fop: SQLITE_DBCONFIG_TRIGGER_EQP},
 76592  	{FzName: ts + 13924, Fop: SQLITE_DBCONFIG_TRUSTED_SCHEMA},
 76593  	{FzName: ts + 13939, Fop: SQLITE_DBCONFIG_WRITABLE_SCHEMA},
 76594  }
 76595  var TTYPE_strs = [5]uintptr{
 76596  	ts + 13955, ts + 13590, ts + 13965, ts + 9490, uintptr(0),
 76597  }
 76598  var TTYPE_strs1 = [4]uintptr{
 76599  	ts + 13969, ts + 13978, ts + 13988, uintptr(0),
 76600  }
 76601  var azSub = [6]uintptr{ts + 1965, ts + 13998, ts + 14004, ts + 14009, ts + 14013, uintptr(0)}
 76602  
 76603  func DbObjCmdAdaptor(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 76604  	return tcl.XTcl_NRCallObjProc(tls, interp, *(*uintptr)(unsafe.Pointer(&struct {
 76605  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 76606  	}{DbObjCmd})), cd, objc, objv)
 76607  }
 76608  
 76609  func sqliteCmdUsage(tls *libc.TLS, interp uintptr, objv uintptr) int32 {
 76610  	tcl.XTcl_WrongNumArgs(tls, interp, 1, objv,
 76611  		ts+14017)
 76612  	return TCL_ERROR
 76613  }
 76614  
 76615  func DbMain(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 76616  	bp := tls.Alloc(336)
 76617  	defer tls.Free(336)
 76618  
 76619  	var p uintptr
 76620  	var zArg uintptr
 76621  	var zErrMsg uintptr
 76622  	var i int32
 76623  	var zFile uintptr = uintptr(0)
 76624  	var zVfs uintptr = uintptr(0)
 76625  	var flags int32
 76626  	*(*int32)(unsafe.Pointer(bp + 112)) = 1
 76627  
 76628  	var rc int32
 76629  
 76630  	flags = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_NOMUTEX
 76631  
 76632  	if objc == 1 {
 76633  		return sqliteCmdUsage(tls, interp, objv)
 76634  	}
 76635  	if objc == 2 {
 76636  		zArg = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)), uintptr(0))
 76637  		if libc.Xstrcmp(tls, zArg, ts+14163) == 0 {
 76638  			tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, sqlite3.Xsqlite3_libversion(tls), uintptr(0)))
 76639  			return TCL_OK
 76640  		}
 76641  		if libc.Xstrcmp(tls, zArg, ts+14172) == 0 {
 76642  			tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, sqlite3.Xsqlite3_sourceid(tls), uintptr(0)))
 76643  			return TCL_OK
 76644  		}
 76645  		if libc.Xstrcmp(tls, zArg, ts+14182) == 0 {
 76646  			tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+14193, uintptr(0)))
 76647  			return TCL_OK
 76648  		}
 76649  		if int32(*(*int8)(unsafe.Pointer(zArg))) == '-' {
 76650  			return sqliteCmdUsage(tls, interp, objv)
 76651  		}
 76652  	}
 76653  	for i = 2; i < objc; i++ {
 76654  		zArg = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)))
 76655  		if int32(*(*int8)(unsafe.Pointer(zArg))) != '-' {
 76656  			if zFile != uintptr(0) {
 76657  				return sqliteCmdUsage(tls, interp, objv)
 76658  			}
 76659  			zFile = zArg
 76660  			continue
 76661  		}
 76662  		if i == objc-1 {
 76663  			return sqliteCmdUsage(tls, interp, objv)
 76664  		}
 76665  		i++
 76666  		if libc.Xstrcmp(tls, zArg, ts+14195) == 0 {
 76667  		} else if libc.Xstrcmp(tls, zArg, ts+14200) == 0 {
 76668  			zVfs = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)))
 76669  		} else if libc.Xstrcmp(tls, zArg, ts+12434) == 0 {
 76670  			if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+88) != 0 {
 76671  				return TCL_ERROR
 76672  			}
 76673  			if *(*int32)(unsafe.Pointer(bp + 88)) != 0 {
 76674  				flags = flags & libc.CplInt32(SQLITE_OPEN_READWRITE|SQLITE_OPEN_CREATE)
 76675  				flags = flags | SQLITE_OPEN_READONLY
 76676  			} else {
 76677  				flags = flags & libc.CplInt32(SQLITE_OPEN_READONLY)
 76678  				flags = flags | SQLITE_OPEN_READWRITE
 76679  			}
 76680  		} else if libc.Xstrcmp(tls, zArg, ts+14205) == 0 {
 76681  			if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+92) != 0 {
 76682  				return TCL_ERROR
 76683  			}
 76684  			if *(*int32)(unsafe.Pointer(bp + 92)) != 0 && flags&SQLITE_OPEN_READONLY == 0 {
 76685  				flags = flags | SQLITE_OPEN_CREATE
 76686  			} else {
 76687  				flags = flags & libc.CplInt32(SQLITE_OPEN_CREATE)
 76688  			}
 76689  		} else if libc.Xstrcmp(tls, zArg, ts+14213) == 0 {
 76690  			if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+96) != 0 {
 76691  				return TCL_ERROR
 76692  			}
 76693  			if *(*int32)(unsafe.Pointer(bp + 96)) != 0 {
 76694  				flags = flags | SQLITE_OPEN_NOFOLLOW
 76695  			} else {
 76696  				flags = flags & libc.CplInt32(SQLITE_OPEN_NOFOLLOW)
 76697  			}
 76698  		} else if libc.Xstrcmp(tls, zArg, ts+14223) == 0 {
 76699  			if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+100) != 0 {
 76700  				return TCL_ERROR
 76701  			}
 76702  			if *(*int32)(unsafe.Pointer(bp + 100)) != 0 {
 76703  				flags = flags | SQLITE_OPEN_NOMUTEX
 76704  				flags = flags & libc.CplInt32(SQLITE_OPEN_FULLMUTEX)
 76705  			} else {
 76706  				flags = flags & libc.CplInt32(SQLITE_OPEN_NOMUTEX)
 76707  			}
 76708  		} else if libc.Xstrcmp(tls, zArg, ts+14232) == 0 {
 76709  			if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+104) != 0 {
 76710  				return TCL_ERROR
 76711  			}
 76712  			if *(*int32)(unsafe.Pointer(bp + 104)) != 0 {
 76713  				flags = flags | SQLITE_OPEN_FULLMUTEX
 76714  				flags = flags & libc.CplInt32(SQLITE_OPEN_NOMUTEX)
 76715  			} else {
 76716  				flags = flags & libc.CplInt32(SQLITE_OPEN_FULLMUTEX)
 76717  			}
 76718  		} else if libc.Xstrcmp(tls, zArg, ts+14243) == 0 {
 76719  			if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+108) != 0 {
 76720  				return TCL_ERROR
 76721  			}
 76722  			if *(*int32)(unsafe.Pointer(bp + 108)) != 0 {
 76723  				flags = flags | SQLITE_OPEN_URI
 76724  			} else {
 76725  				flags = flags & libc.CplInt32(SQLITE_OPEN_URI)
 76726  			}
 76727  		} else if libc.Xstrcmp(tls, zArg, ts+14248) == 0 {
 76728  			if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+112) != 0 {
 76729  				return TCL_ERROR
 76730  			}
 76731  		} else {
 76732  			tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+12444, zArg, uintptr(0)))
 76733  			return TCL_ERROR
 76734  		}
 76735  	}
 76736  	zErrMsg = uintptr(0)
 76737  	p = tcl.XTcl_Alloc(tls, uint32(unsafe.Sizeof(SqliteDb{})))
 76738  	libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(SqliteDb{})))
 76739  	if zFile == uintptr(0) {
 76740  		zFile = ts + 584
 76741  	}
 76742  	if *(*int32)(unsafe.Pointer(bp + 112)) != 0 {
 76743  		zFile = tcl.XTcl_TranslateFileName(tls, interp, zFile, bp+120)
 76744  	}
 76745  	rc = sqlite3.Xsqlite3_open_v2(tls, zFile, p, flags, zVfs)
 76746  	if *(*int32)(unsafe.Pointer(bp + 112)) != 0 {
 76747  		tcl.XTcl_DStringFree(tls, bp+120)
 76748  	}
 76749  	if (*SqliteDb)(unsafe.Pointer(p)).Fdb != 0 {
 76750  		if SQLITE_OK != sqlite3.Xsqlite3_errcode(tls, (*SqliteDb)(unsafe.Pointer(p)).Fdb) {
 76751  			zErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts, libc.VaList(bp+72, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(p)).Fdb)))
 76752  			sqlite3.Xsqlite3_close(tls, (*SqliteDb)(unsafe.Pointer(p)).Fdb)
 76753  			(*SqliteDb)(unsafe.Pointer(p)).Fdb = uintptr(0)
 76754  		}
 76755  	} else {
 76756  		zErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts, libc.VaList(bp+80, sqlite3.Xsqlite3_errstr(tls, rc)))
 76757  	}
 76758  	if (*SqliteDb)(unsafe.Pointer(p)).Fdb == uintptr(0) {
 76759  		tcl.XTcl_SetResult(tls, interp, zErrMsg, uintptr(1))
 76760  		tcl.XTcl_Free(tls, p)
 76761  		sqlite3.Xsqlite3_free(tls, zErrMsg)
 76762  		return TCL_ERROR
 76763  	}
 76764  	(*SqliteDb)(unsafe.Pointer(p)).FmaxStmt = NUM_PREPARED_STMTS
 76765  	(*SqliteDb)(unsafe.Pointer(p)).FopenFlags = flags & SQLITE_OPEN_URI
 76766  	(*SqliteDb)(unsafe.Pointer(p)).Finterp = interp
 76767  	zArg = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)), uintptr(0))
 76768  	if DbUseNre(tls) != 0 {
 76769  		tcl.XTcl_NRCreateCommand(tls, interp, zArg, *(*uintptr)(unsafe.Pointer(&struct {
 76770  			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 76771  		}{DbObjCmdAdaptor})), *(*uintptr)(unsafe.Pointer(&struct {
 76772  			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 76773  		}{DbObjCmd})),
 76774  			p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{DbDeleteCmd})))
 76775  	} else {
 76776  		tcl.XTcl_CreateObjCommand(tls, interp, zArg, *(*uintptr)(unsafe.Pointer(&struct {
 76777  			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 76778  		}{DbObjCmd})), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{DbDeleteCmd})))
 76779  	}
 76780  	(*SqliteDb)(unsafe.Pointer(p)).FnRef = 1
 76781  	return TCL_OK
 76782  }
 76783  
 76784  func Sqlite3_Init(tls *libc.TLS, interp uintptr) int32 {
 76785  	var rc int32
 76786  	if 1 != 0 {
 76787  		rc = TCL_OK
 76788  	} else {
 76789  		rc = TCL_ERROR
 76790  	}
 76791  	if rc == TCL_OK {
 76792  		tcl.XTcl_CreateObjCommand(tls, interp, ts+14267, *(*uintptr)(unsafe.Pointer(&struct {
 76793  			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 76794  		}{DbMain})), uintptr(0), uintptr(0))
 76795  
 76796  		tcl.XTcl_CreateObjCommand(tls, interp, ts+14275, *(*uintptr)(unsafe.Pointer(&struct {
 76797  			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 76798  		}{DbMain})), uintptr(0), uintptr(0))
 76799  		rc = tcl.XTcl_PkgProvideEx(tls, interp, ts+14267, ts+14282, uintptr(0))
 76800  	}
 76801  	return rc
 76802  }
 76803  
 76804  func Tclsqlite3_Init(tls *libc.TLS, interp uintptr) int32 {
 76805  	return Sqlite3_Init(tls, interp)
 76806  }
 76807  
 76808  func Sqlite3_Unload(tls *libc.TLS, interp uintptr, flags int32) int32 {
 76809  	return TCL_OK
 76810  }
 76811  
 76812  func Tclsqlite3_Unload(tls *libc.TLS, interp uintptr, flags int32) int32 {
 76813  	return TCL_OK
 76814  }
 76815  
 76816  func Sqlite3_SafeInit(tls *libc.TLS, interp uintptr) int32 {
 76817  	return TCL_ERROR
 76818  }
 76819  
 76820  func Sqlite3_SafeUnload(tls *libc.TLS, interp uintptr, flags int32) int32 {
 76821  	return TCL_ERROR
 76822  }
 76823  
 76824  func Sqlite_Init(tls *libc.TLS, interp uintptr) int32 {
 76825  	return Sqlite3_Init(tls, interp)
 76826  }
 76827  
 76828  func Tclsqlite_Init(tls *libc.TLS, interp uintptr) int32 {
 76829  	return Sqlite3_Init(tls, interp)
 76830  }
 76831  
 76832  func Sqlite_Unload(tls *libc.TLS, interp uintptr, flags int32) int32 {
 76833  	return TCL_OK
 76834  }
 76835  
 76836  func Tclsqlite_Unload(tls *libc.TLS, interp uintptr, flags int32) int32 {
 76837  	return TCL_OK
 76838  }
 76839  
 76840  func tclsh_main_loop(tls *libc.TLS) uintptr {
 76841  	return uintptr(unsafe.Pointer(&zMainloop))
 76842  }
 76843  
 76844  var zMainloop = *(*[431]int8)(unsafe.Pointer(ts + 14289))
 76845  
 76846  func main1(tls *libc.TLS, argc int32, argv uintptr) int32 {
 76847  	bp := tls.Alloc(64)
 76848  	defer tls.Free(64)
 76849  
 76850  	var interp uintptr
 76851  	var i int32
 76852  	var zScript uintptr = uintptr(0)
 76853  
 76854  	if libc.Xgetenv(tls, ts+14720) != 0 {
 76855  		if libc.X_isatty(tls, 0) != 0 && libc.X_isatty(tls, 2) != 0 {
 76856  			fprintf(tls, libc.X__acrt_iob_func(tls, uint32(2)),
 76857  				ts+14739,
 76858  				libc.VaList(bp, int32(libc.XGetCurrentProcessId(tls))))
 76859  			libc.Xfgetc(tls, libc.X__acrt_iob_func(tls, uint32(0)))
 76860  		} else {
 76861  			libc.XDebugBreak(tls)
 76862  		}
 76863  	}
 76864  
 76865  	sqlite3.Xsqlite3_shutdown(tls)
 76866  
 76867  	tcl.XTcl_FindExecutable(tls, *(*uintptr)(unsafe.Pointer(argv)))
 76868  	tcl.XTcl_SetSystemEncoding(tls, uintptr(0), ts+14801)
 76869  	interp = tcl.XTcl_CreateInterp(tls)
 76870  	Sqlite3_Init(tls, interp)
 76871  
 76872  	sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([32]int8{})), bp+32, ts+1333, libc.VaList(bp+8, argc-1))
 76873  	tcl.XTcl_SetVar2(tls, interp, ts+14807, uintptr(0), bp+32, TCL_GLOBAL_ONLY)
 76874  	tcl.XTcl_SetVar2(tls, interp, ts+14812, uintptr(0), *(*uintptr)(unsafe.Pointer(argv)), TCL_GLOBAL_ONLY)
 76875  	tcl.XTcl_SetVar2(tls, interp, ts+14818, uintptr(0), ts+584, TCL_GLOBAL_ONLY)
 76876  	for i = 1; i < argc; i++ {
 76877  		tcl.XTcl_SetVar2(tls, interp, ts+14818, uintptr(0), *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), TCL_GLOBAL_ONLY|TCL_LIST_ELEMENT|TCL_APPEND_VALUE)
 76878  	}
 76879  	zScript = sqlite3TestInit(tls, interp)
 76880  	if zScript == uintptr(0) {
 76881  		zScript = tclsh_main_loop(tls)
 76882  	}
 76883  	if tcl.XTcl_GlobalEval(tls, interp, zScript) != TCL_OK {
 76884  		var zInfo uintptr = tcl.XTcl_GetVar2(tls, interp, ts+14823, uintptr(0), TCL_GLOBAL_ONLY)
 76885  		if zInfo == uintptr(0) {
 76886  			zInfo = tcl.XTcl_GetStringResult(tls, interp)
 76887  		}
 76888  		fprintf(tls, libc.X__acrt_iob_func(tls, uint32(2)), ts+14833, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(argv)), zInfo))
 76889  		return 1
 76890  	}
 76891  	return 0
 76892  }
 76893  
 76894  type sqlite3_value = sqlite3_value1
 76895  
 76896  type sqlite3_context = sqlite3_context1
 76897  type PreUpdate = PreUpdate1
 76898  
 76899  type Vdbe = Vdbe1
 76900  
 76901  type Mem = sqlite3_value1
 76902  
 76903  type Op = VdbeOp1
 76904  
 76905  type Bool = uint32
 76906  
 76907  type AuxData1 = struct {
 76908  	FiAuxOp     int32
 76909  	FiAuxArg    int32
 76910  	FpAux       uintptr
 76911  	FxDeleteAux uintptr
 76912  	FpNextAux   uintptr
 76913  }
 76914  
 76915  type AuxData = AuxData1
 76916  
 76917  type VdbeCursor1 = struct {
 76918  	FeCurType       u8
 76919  	FiDb            i8
 76920  	FnullRow        u8
 76921  	FdeferredMoveto u8
 76922  	FisTable        u8
 76923  	F__ccgo_pad1    [3]byte
 76924  	FisEphemeral    uint8
 76925  	F__ccgo_pad2    [1]byte
 76926  	FseekHit        u16
 76927  	F__ccgo_pad3    [4]byte
 76928  	Fub             struct{ FpBtx uintptr }
 76929  	FseqCount       i64
 76930  	FcacheStatus    u32
 76931  	FseekResult     int32
 76932  	FpAltCursor     uintptr
 76933  	Fuc             struct{ FpCursor uintptr }
 76934  	FpKeyInfo       uintptr
 76935  	FiHdrOffset     u32
 76936  	FpgnoRoot       Pgno
 76937  	FnField         i16
 76938  	FnHdrParsed     u16
 76939  	F__ccgo_pad4    [4]byte
 76940  	FmovetoTarget   i64
 76941  	FaOffset        uintptr
 76942  	FaRow           uintptr
 76943  	FpayloadSize    u32
 76944  	FszRow          u32
 76945  	FaType          [1]u32
 76946  	F__ccgo_pad5    [4]byte
 76947  }
 76948  
 76949  type VdbeCursor = VdbeCursor1
 76950  
 76951  type VdbeFrame1 = struct {
 76952  	Fv         uintptr
 76953  	FpParent   uintptr
 76954  	FaOp       uintptr
 76955  	FanExec    uintptr
 76956  	FaMem      uintptr
 76957  	FapCsr     uintptr
 76958  	FaOnce     uintptr
 76959  	Ftoken     uintptr
 76960  	FlastRowid i64
 76961  	FpAuxData  uintptr
 76962  	FnCursor   int32
 76963  	Fpc        int32
 76964  	FnOp       int32
 76965  	FnMem      int32
 76966  	FnChildMem int32
 76967  	FnChildCsr int32
 76968  	FnChange   i64
 76969  	FnDbChange i64
 76970  }
 76971  
 76972  type VdbeFrame = VdbeFrame1
 76973  
 76974  type MemValue = struct{ Fr float64 }
 76975  
 76976  type bft = uint32
 76977  
 76978  type ScanStatus1 = struct {
 76979  	FaddrExplain int32
 76980  	FaddrLoop    int32
 76981  	FaddrVisit   int32
 76982  	FiSelectID   int32
 76983  	FnEst        LogEst
 76984  	F__ccgo_pad1 [6]byte
 76985  	FzName       uintptr
 76986  }
 76987  
 76988  type ScanStatus = ScanStatus1
 76989  
 76990  type DblquoteStr1 = struct {
 76991  	FpNextStr uintptr
 76992  	Fz        [8]int8
 76993  }
 76994  
 76995  type DblquoteStr = DblquoteStr1
 76996  
 76997  type ValueList1 = struct {
 76998  	FpCsr uintptr
 76999  	FpOut uintptr
 77000  }
 77001  
 77002  type ValueList = ValueList1
 77003  
 77004  func testHexToInt(tls *libc.TLS, h int32) int32 {
 77005  	if h >= '0' && h <= '9' {
 77006  		return h - '0'
 77007  	} else if h >= 'a' && h <= 'f' {
 77008  		return h - 'a' + 10
 77009  	} else {
 77010  		return h - 'A' + 10
 77011  	}
 77012  	return int32(0)
 77013  }
 77014  
 77015  func sqlite3TestTextToPtr(tls *libc.TLS, z uintptr) uintptr {
 77016  	bp := tls.Alloc(20)
 77017  	defer tls.Free(20)
 77018  
 77019  	if int32(*(*int8)(unsafe.Pointer(z))) == '0' && int32(*(*int8)(unsafe.Pointer(z + 1))) == 'x' {
 77020  		z += uintptr(2)
 77021  	}
 77022  	*(*u64)(unsafe.Pointer(bp + 8)) = uint64(0)
 77023  	for *(*int8)(unsafe.Pointer(z)) != 0 {
 77024  		*(*u64)(unsafe.Pointer(bp + 8)) = *(*u64)(unsafe.Pointer(bp + 8))<<4 + u64(testHexToInt(tls, int32(*(*int8)(unsafe.Pointer(z)))))
 77025  		z++
 77026  	}
 77027  	if uint64(unsafe.Sizeof(uintptr(0))) == uint64(unsafe.Sizeof(u64(0))) {
 77028  		libc.Xmemcpy(tls, bp, bp+8, uint64(unsafe.Sizeof(uintptr(0))))
 77029  	} else {
 77030  		*(*u32)(unsafe.Pointer(bp + 16)) = u32(*(*u64)(unsafe.Pointer(bp + 8)))
 77031  		libc.Xmemcpy(tls, bp, bp+16, uint64(unsafe.Sizeof(uintptr(0))))
 77032  	}
 77033  	return *(*uintptr)(unsafe.Pointer(bp))
 77034  }
 77035  
 77036  func get_sqlite_pointer(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 77037  	bp := tls.Alloc(212)
 77038  	defer tls.Free(212)
 77039  
 77040  	var p uintptr
 77041  
 77042  	if objc != 2 {
 77043  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+14841)
 77044  		return TCL_ERROR
 77045  	}
 77046  	if !(tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+48) != 0) {
 77047  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14859,
 77048  			tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0)))
 77049  		return TCL_ERROR
 77050  	}
 77051  	p = (*Tcl_CmdInfo)(unsafe.Pointer(bp + 48)).FobjClientData
 77052  	sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+112, ts+9889, libc.VaList(bp+24, (*struct{ Fdb uintptr })(unsafe.Pointer(p)).Fdb))
 77053  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, bp+112, 0))
 77054  	return TCL_OK
 77055  }
 77056  
 77057  func getDbPointer(tls *libc.TLS, interp uintptr, zA uintptr, ppDb uintptr) int32 {
 77058  	bp := tls.Alloc(64)
 77059  	defer tls.Free(64)
 77060  
 77061  	var p uintptr
 77062  
 77063  	if tcl.XTcl_GetCommandInfo(tls, interp, zA, bp) != 0 {
 77064  		p = (*Tcl_CmdInfo)(unsafe.Pointer(bp)).FobjClientData
 77065  		*(*uintptr)(unsafe.Pointer(ppDb)) = (*struct{ Fdb uintptr })(unsafe.Pointer(p)).Fdb
 77066  	} else {
 77067  		*(*uintptr)(unsafe.Pointer(ppDb)) = sqlite3TestTextToPtr(tls, zA)
 77068  	}
 77069  	return TCL_OK
 77070  }
 77071  
 77072  func getWin32Handle(tls *libc.TLS, interp uintptr, zA uintptr, phFile LPHANDLE) int32 {
 77073  	*(*HANDLE)(unsafe.Pointer(phFile)) = sqlite3TestTextToPtr(tls, zA)
 77074  	return TCL_OK
 77075  }
 77076  
 77077  func sqlite3TestErrCode(tls *libc.TLS, interp uintptr, db uintptr, rc int32) int32 {
 77078  	bp := tls.Alloc(248)
 77079  	defer tls.Free(248)
 77080  
 77081  	if sqlite3.Xsqlite3_threadsafe(tls) == 0 && rc != SQLITE_MISUSE && rc != SQLITE_OK &&
 77082  		sqlite3.Xsqlite3_errcode(tls, db) != rc {
 77083  		var r2 int32 = sqlite3.Xsqlite3_errcode(tls, db)
 77084  		sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+48,
 77085  			ts+14879,
 77086  			libc.VaList(bp, sqlite3.Xsqlite3ErrName(tls, rc), rc, sqlite3.Xsqlite3ErrName(tls, r2), r2))
 77087  		tcl.XTcl_ResetResult(tls, interp)
 77088  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, bp+48, 0))
 77089  		return 1
 77090  	}
 77091  	return 0
 77092  }
 77093  
 77094  func getStmtPointer(tls *libc.TLS, interp uintptr, zArg uintptr, ppStmt uintptr) int32 {
 77095  	*(*uintptr)(unsafe.Pointer(ppStmt)) = sqlite3TestTextToPtr(tls, zArg)
 77096  	return TCL_OK
 77097  }
 77098  
 77099  func sqlite3TestMakePointerStr(tls *libc.TLS, interp uintptr, zPtr uintptr, p uintptr) int32 {
 77100  	bp := tls.Alloc(8)
 77101  	defer tls.Free(8)
 77102  
 77103  	sqlite3.Xsqlite3_snprintf(tls, 100, zPtr, ts+9889, libc.VaList(bp, p))
 77104  	return TCL_OK
 77105  }
 77106  
 77107  func exec_printf_cb(tls *libc.TLS, pArg uintptr, argc int32, argv uintptr, name uintptr) int32 {
 77108  	var str uintptr = pArg
 77109  	var i int32
 77110  
 77111  	if (*Tcl_DString)(unsafe.Pointer(str)).Flength == 0 {
 77112  		for i = 0; i < argc; i++ {
 77113  			tcl.XTcl_DStringAppendElement(tls, str, func() uintptr {
 77114  				if *(*uintptr)(unsafe.Pointer(name + uintptr(i)*8)) != 0 {
 77115  					return *(*uintptr)(unsafe.Pointer(name + uintptr(i)*8))
 77116  				}
 77117  				return ts + 5846
 77118  			}())
 77119  		}
 77120  	}
 77121  	for i = 0; i < argc; i++ {
 77122  		tcl.XTcl_DStringAppendElement(tls, str, func() uintptr {
 77123  			if *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)) != 0 {
 77124  				return *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))
 77125  			}
 77126  			return ts + 5846
 77127  		}())
 77128  	}
 77129  	return 0
 77130  }
 77131  
 77132  func test_io_trace(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 77133  	return TCL_OK
 77134  }
 77135  
 77136  func clang_sanitize_address(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 77137  	var res int32 = 0
 77138  	if res == 0 && libc.Xgetenv(tls, ts+14937) != uintptr(0) {
 77139  		res = 1
 77140  	}
 77141  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, res))
 77142  	return TCL_OK
 77143  }
 77144  
 77145  func test_exec_printf(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 77146  	bp := tls.Alloc(310)
 77147  	defer tls.Free(310)
 77148  
 77149  	var rc int32
 77150  	*(*uintptr)(unsafe.Pointer(bp + 272)) = uintptr(0)
 77151  	var zSql uintptr
 77152  
 77153  	if argc != 4 {
 77154  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 77155  			ts+14975, 0))
 77156  		return TCL_ERROR
 77157  	}
 77158  	if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+48) != 0 {
 77159  		return TCL_ERROR
 77160  	}
 77161  	tcl.XTcl_DStringInit(tls, bp+56)
 77162  	zSql = sqlite3.Xsqlite3_mprintf(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)), libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(argv + 3*8))))
 77163  	rc = sqlite3.Xsqlite3_exec(tls, *(*uintptr)(unsafe.Pointer(bp + 48)), zSql, *(*uintptr)(unsafe.Pointer(&struct {
 77164  		f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32
 77165  	}{exec_printf_cb})), bp+56, bp+272)
 77166  	sqlite3.Xsqlite3_free(tls, zSql)
 77167  	sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+280, ts+1333, libc.VaList(bp+40, rc))
 77168  	tcl.XTcl_AppendElement(tls, interp, bp+280)
 77169  	tcl.XTcl_AppendElement(tls, interp, func() uintptr {
 77170  		if rc == SQLITE_OK {
 77171  			return (*Tcl_DString)(unsafe.Pointer(bp + 56)).Fstring
 77172  		}
 77173  		return *(*uintptr)(unsafe.Pointer(bp + 272))
 77174  	}())
 77175  	tcl.XTcl_DStringFree(tls, bp+56)
 77176  	if *(*uintptr)(unsafe.Pointer(bp + 272)) != 0 {
 77177  		sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 272)))
 77178  	}
 77179  	if sqlite3TestErrCode(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 48)), rc) != 0 {
 77180  		return TCL_ERROR
 77181  	}
 77182  	return TCL_OK
 77183  }
 77184  
 77185  func test_exec_hex(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 77186  	bp := tls.Alloc(806)
 77187  	defer tls.Free(806)
 77188  
 77189  	var rc int32
 77190  	var i int32
 77191  	var j int32
 77192  	*(*uintptr)(unsafe.Pointer(bp + 768)) = uintptr(0)
 77193  	var zHex uintptr
 77194  
 77195  	if argc != 3 {
 77196  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 77197  			ts+14993, 0))
 77198  		return TCL_ERROR
 77199  	}
 77200  	if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+40) != 0 {
 77201  		return TCL_ERROR
 77202  	}
 77203  	zHex = *(*uintptr)(unsafe.Pointer(argv + 2*8))
 77204  	i = libc.AssignInt32(&j, 0)
 77205  __1:
 77206  	if !(uint64(i) < uint64(unsafe.Sizeof([501]int8{}))-uint64(1) && *(*int8)(unsafe.Pointer(zHex + uintptr(j))) != 0) {
 77207  		goto __3
 77208  	}
 77209  	{
 77210  		if int32(*(*int8)(unsafe.Pointer(zHex + uintptr(j)))) == '%' && *(*int8)(unsafe.Pointer(zHex + uintptr(j+2))) != 0 && *(*int8)(unsafe.Pointer(zHex + uintptr(j+2))) != 0 {
 77211  			*(*int8)(unsafe.Pointer(bp + 48 + uintptr(i))) = int8(testHexToInt(tls, int32(*(*int8)(unsafe.Pointer(zHex + uintptr(j+1)))))<<4 + testHexToInt(tls, int32(*(*int8)(unsafe.Pointer(zHex + uintptr(j+2))))))
 77212  			j = j + 2
 77213  		} else {
 77214  			*(*int8)(unsafe.Pointer(bp + 48 + uintptr(i))) = *(*int8)(unsafe.Pointer(zHex + uintptr(j)))
 77215  		}
 77216  
 77217  	}
 77218  	goto __2
 77219  __2:
 77220  	i++
 77221  	j++
 77222  	goto __1
 77223  	goto __3
 77224  __3:
 77225  	;
 77226  	*(*int8)(unsafe.Pointer(bp + 48 + uintptr(i))) = int8(0)
 77227  	tcl.XTcl_DStringInit(tls, bp+552)
 77228  	rc = sqlite3.Xsqlite3_exec(tls, *(*uintptr)(unsafe.Pointer(bp + 40)), bp+48, *(*uintptr)(unsafe.Pointer(&struct {
 77229  		f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32
 77230  	}{exec_printf_cb})), bp+552, bp+768)
 77231  	sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+776, ts+1333, libc.VaList(bp+32, rc))
 77232  	tcl.XTcl_AppendElement(tls, interp, bp+776)
 77233  	tcl.XTcl_AppendElement(tls, interp, func() uintptr {
 77234  		if rc == SQLITE_OK {
 77235  			return (*Tcl_DString)(unsafe.Pointer(bp + 552)).Fstring
 77236  		}
 77237  		return *(*uintptr)(unsafe.Pointer(bp + 768))
 77238  	}())
 77239  	tcl.XTcl_DStringFree(tls, bp+552)
 77240  	if *(*uintptr)(unsafe.Pointer(bp + 768)) != 0 {
 77241  		sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 768)))
 77242  	}
 77243  	if sqlite3TestErrCode(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 40)), rc) != 0 {
 77244  		return TCL_ERROR
 77245  	}
 77246  	return TCL_OK
 77247  }
 77248  
 77249  func db_enter(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 77250  	bp := tls.Alloc(40)
 77251  	defer tls.Free(40)
 77252  
 77253  	if argc != 2 {
 77254  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 77255  			ts+15001, 0))
 77256  		return TCL_ERROR
 77257  	}
 77258  	if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32) != 0 {
 77259  		return TCL_ERROR
 77260  	}
 77261  	sqlite3.Xsqlite3_mutex_enter(tls, (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32)))).Fmutex)
 77262  	return TCL_OK
 77263  }
 77264  
 77265  func db_leave(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 77266  	bp := tls.Alloc(40)
 77267  	defer tls.Free(40)
 77268  
 77269  	if argc != 2 {
 77270  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 77271  			ts+15001, 0))
 77272  		return TCL_ERROR
 77273  	}
 77274  	if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32) != 0 {
 77275  		return TCL_ERROR
 77276  	}
 77277  	sqlite3.Xsqlite3_mutex_leave(tls, (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32)))).Fmutex)
 77278  	return TCL_OK
 77279  }
 77280  
 77281  func test_exec(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 77282  	bp := tls.Alloc(310)
 77283  	defer tls.Free(310)
 77284  
 77285  	var rc int32
 77286  	*(*uintptr)(unsafe.Pointer(bp + 272)) = uintptr(0)
 77287  	var zSql uintptr
 77288  	var i int32
 77289  	var j int32
 77290  
 77291  	if argc != 3 {
 77292  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 77293  			ts+15005, 0))
 77294  		return TCL_ERROR
 77295  	}
 77296  	if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+48) != 0 {
 77297  		return TCL_ERROR
 77298  	}
 77299  	tcl.XTcl_DStringInit(tls, bp+56)
 77300  	zSql = sqlite3.Xsqlite3_mprintf(tls, ts, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(argv + 2*8))))
 77301  	for i = libc.AssignInt32(&j, 0); *(*int8)(unsafe.Pointer(zSql + uintptr(i))) != 0; {
 77302  		if int32(*(*int8)(unsafe.Pointer(zSql + uintptr(i)))) == '%' {
 77303  			*(*int8)(unsafe.Pointer(zSql + uintptr(libc.PostIncInt32(&j, 1)))) = int8(testHexToInt(tls, int32(*(*int8)(unsafe.Pointer(zSql + uintptr(i+1)))))<<4 + testHexToInt(tls, int32(*(*int8)(unsafe.Pointer(zSql + uintptr(i+2))))))
 77304  			i = i + 3
 77305  		} else {
 77306  			*(*int8)(unsafe.Pointer(zSql + uintptr(libc.PostIncInt32(&j, 1)))) = *(*int8)(unsafe.Pointer(zSql + uintptr(libc.PostIncInt32(&i, 1))))
 77307  		}
 77308  	}
 77309  	*(*int8)(unsafe.Pointer(zSql + uintptr(j))) = int8(0)
 77310  	rc = sqlite3.Xsqlite3_exec(tls, *(*uintptr)(unsafe.Pointer(bp + 48)), zSql, *(*uintptr)(unsafe.Pointer(&struct {
 77311  		f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32
 77312  	}{exec_printf_cb})), bp+56, bp+272)
 77313  	sqlite3.Xsqlite3_free(tls, zSql)
 77314  	sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+280, ts+1333, libc.VaList(bp+40, rc))
 77315  	tcl.XTcl_AppendElement(tls, interp, bp+280)
 77316  	tcl.XTcl_AppendElement(tls, interp, func() uintptr {
 77317  		if rc == SQLITE_OK {
 77318  			return (*Tcl_DString)(unsafe.Pointer(bp + 56)).Fstring
 77319  		}
 77320  		return *(*uintptr)(unsafe.Pointer(bp + 272))
 77321  	}())
 77322  	tcl.XTcl_DStringFree(tls, bp+56)
 77323  	if *(*uintptr)(unsafe.Pointer(bp + 272)) != 0 {
 77324  		sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 272)))
 77325  	}
 77326  	if sqlite3TestErrCode(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 48)), rc) != 0 {
 77327  		return TCL_ERROR
 77328  	}
 77329  	return TCL_OK
 77330  }
 77331  
 77332  func test_exec_nr(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 77333  	bp := tls.Alloc(48)
 77334  	defer tls.Free(48)
 77335  
 77336  	var rc int32
 77337  	*(*uintptr)(unsafe.Pointer(bp + 40)) = uintptr(0)
 77338  	if argc != 3 {
 77339  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 77340  			ts+15005, 0))
 77341  		return TCL_ERROR
 77342  	}
 77343  	if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32) != 0 {
 77344  		return TCL_ERROR
 77345  	}
 77346  	rc = sqlite3.Xsqlite3_exec(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), uintptr(0), uintptr(0), bp+40)
 77347  	if sqlite3TestErrCode(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 32)), rc) != 0 {
 77348  		return TCL_ERROR
 77349  	}
 77350  	return TCL_OK
 77351  }
 77352  
 77353  func test_mprintf_z(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 77354  	bp := tls.Alloc(40)
 77355  	defer tls.Free(40)
 77356  
 77357  	var zResult uintptr = uintptr(0)
 77358  	var i int32
 77359  
 77360  	for i = 2; i < argc && (i == 2 || zResult != 0); i++ {
 77361  		zResult = sqlite3.Xsqlite3_mprintf(tls, ts+15013, libc.VaList(bp, zResult, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
 77362  	}
 77363  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, zResult, 0))
 77364  	sqlite3.Xsqlite3_free(tls, zResult)
 77365  	return TCL_OK
 77366  }
 77367  
 77368  func test_mprintf_n(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 77369  	bp := tls.Alloc(20)
 77370  	defer tls.Free(20)
 77371  
 77372  	var zStr uintptr
 77373  	*(*int32)(unsafe.Pointer(bp + 16)) = 0
 77374  	zStr = sqlite3.Xsqlite3_mprintf(tls, ts+15020, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+16))
 77375  	sqlite3.Xsqlite3_free(tls, zStr)
 77376  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 16))))
 77377  	return TCL_OK
 77378  }
 77379  
 77380  func test_snprintf_int(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 77381  	bp := tls.Alloc(124)
 77382  	defer tls.Free(124)
 77383  
 77384  	var n int32 = libc.Xatoi(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))
 77385  	var zFormat uintptr = *(*uintptr)(unsafe.Pointer(argv + 2*8))
 77386  	var a1 int32 = libc.Xatoi(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)))
 77387  	if uint64(n) > uint64(unsafe.Sizeof([100]int8{})) {
 77388  		n = int32(unsafe.Sizeof([100]int8{}))
 77389  	}
 77390  	sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+24, ts+15025, 0)
 77391  	sqlite3.Xsqlite3_snprintf(tls, n, bp+24, zFormat, libc.VaList(bp, a1))
 77392  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+8, bp+24, 0))
 77393  	return TCL_OK
 77394  }
 77395  
 77396  func test_get_table_printf(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 77397  	bp := tls.Alloc(350)
 77398  	defer tls.Free(350)
 77399  
 77400  	var rc int32
 77401  	*(*uintptr)(unsafe.Pointer(bp + 304)) = uintptr(0)
 77402  	*(*int32)(unsafe.Pointer(bp + 312)) = 0
 77403  	*(*int32)(unsafe.Pointer(bp + 316)) = 0
 77404  
 77405  	var i int32
 77406  
 77407  	var zSql uintptr
 77408  	*(*int32)(unsafe.Pointer(bp + 64)) = -1
 77409  	if argc == 5 {
 77410  		if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 4*8)), bp+64) != 0 {
 77411  			return TCL_ERROR
 77412  		}
 77413  	}
 77414  	if argc != 4 && argc != 5 {
 77415  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 77416  			ts+15052, 0))
 77417  		return TCL_ERROR
 77418  	}
 77419  	if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+72) != 0 {
 77420  		return TCL_ERROR
 77421  	}
 77422  	tcl.XTcl_DStringInit(tls, bp+80)
 77423  	zSql = sqlite3.Xsqlite3_mprintf(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)), libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(argv + 3*8))))
 77424  	if argc == 5 {
 77425  		rc = sqlite3.Xsqlite3_get_table(tls, *(*uintptr)(unsafe.Pointer(bp + 72)), zSql, bp+296, uintptr(0), uintptr(0), bp+304)
 77426  	} else {
 77427  		rc = sqlite3.Xsqlite3_get_table(tls, *(*uintptr)(unsafe.Pointer(bp + 72)), zSql, bp+296, bp+312, bp+316, bp+304)
 77428  		*(*int32)(unsafe.Pointer(bp + 64)) = (*(*int32)(unsafe.Pointer(bp + 312)) + 1) * *(*int32)(unsafe.Pointer(bp + 316))
 77429  	}
 77430  	sqlite3.Xsqlite3_free(tls, zSql)
 77431  	sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+320, ts+1333, libc.VaList(bp+40, rc))
 77432  	tcl.XTcl_AppendElement(tls, interp, bp+320)
 77433  	if rc == SQLITE_OK {
 77434  		if argc == 4 {
 77435  			sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+320, ts+1333, libc.VaList(bp+48, *(*int32)(unsafe.Pointer(bp + 312))))
 77436  			tcl.XTcl_AppendElement(tls, interp, bp+320)
 77437  			sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+320, ts+1333, libc.VaList(bp+56, *(*int32)(unsafe.Pointer(bp + 316))))
 77438  			tcl.XTcl_AppendElement(tls, interp, bp+320)
 77439  		}
 77440  		for i = 0; i < *(*int32)(unsafe.Pointer(bp + 64)); i++ {
 77441  			tcl.XTcl_AppendElement(tls, interp, func() uintptr {
 77442  				if *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 296)) + uintptr(i)*8)) != 0 {
 77443  					return *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 296)) + uintptr(i)*8))
 77444  				}
 77445  				return ts + 5846
 77446  			}())
 77447  		}
 77448  	} else {
 77449  		tcl.XTcl_AppendElement(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 304)))
 77450  	}
 77451  	sqlite3.Xsqlite3_free_table(tls, *(*uintptr)(unsafe.Pointer(bp + 296)))
 77452  	if *(*uintptr)(unsafe.Pointer(bp + 304)) != 0 {
 77453  		sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 304)))
 77454  	}
 77455  	if sqlite3TestErrCode(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 72)), rc) != 0 {
 77456  		return TCL_ERROR
 77457  	}
 77458  	return TCL_OK
 77459  }
 77460  
 77461  func test_last_rowid(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 77462  	bp := tls.Alloc(94)
 77463  	defer tls.Free(94)
 77464  
 77465  	if argc != 2 {
 77466  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)), ts+15078, 0))
 77467  		return TCL_ERROR
 77468  	}
 77469  	if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+56) != 0 {
 77470  		return TCL_ERROR
 77471  	}
 77472  	sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+64, ts+6325, libc.VaList(bp+32, sqlite3.Xsqlite3_last_insert_rowid(tls, *(*uintptr)(unsafe.Pointer(bp + 56)))))
 77473  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+64, 0))
 77474  	return SQLITE_OK
 77475  }
 77476  
 77477  func test_key(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 77478  	return TCL_OK
 77479  }
 77480  
 77481  func test_rekey(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 77482  	return TCL_OK
 77483  }
 77484  
 77485  func sqlite_test_close(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 77486  	bp := tls.Alloc(40)
 77487  	defer tls.Free(40)
 77488  
 77489  	var rc int32
 77490  	if argc != 2 {
 77491  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 77492  			ts+15083, 0))
 77493  		return TCL_ERROR
 77494  	}
 77495  	if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32) != 0 {
 77496  		return TCL_ERROR
 77497  	}
 77498  	rc = sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))
 77499  	tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0))
 77500  	return TCL_OK
 77501  }
 77502  
 77503  func sqlite_test_close_v2(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 77504  	bp := tls.Alloc(40)
 77505  	defer tls.Free(40)
 77506  
 77507  	var rc int32
 77508  	if argc != 2 {
 77509  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 77510  			ts+15083, 0))
 77511  		return TCL_ERROR
 77512  	}
 77513  	if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32) != 0 {
 77514  		return TCL_ERROR
 77515  	}
 77516  	rc = sqlite3.Xsqlite3_close_v2(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))
 77517  	tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0))
 77518  	return TCL_OK
 77519  }
 77520  
 77521  func t1_ifnullFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 77522  	var i int32
 77523  	for i = 0; i < argc; i++ {
 77524  		if SQLITE_NULL != sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) {
 77525  			var n int32 = sqlite3.Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))
 77526  			sqlite3.Xsqlite3_result_text(tls, context, sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))),
 77527  				n, libc.UintptrFromInt32(-1))
 77528  			break
 77529  		}
 77530  	}
 77531  }
 77532  
 77533  func hex8Func(tls *libc.TLS, p uintptr, argc int32, argv uintptr) {
 77534  	bp := tls.Alloc(208)
 77535  	defer tls.Free(208)
 77536  
 77537  	var z uintptr
 77538  	var i int32
 77539  
 77540  	z = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv)))
 77541  	for i = 0; uint64(i) < uint64(unsafe.Sizeof([200]int8{}))/uint64(2)-uint64(2) && *(*uint8)(unsafe.Pointer(z + uintptr(i))) != 0; i++ {
 77542  		sqlite3.Xsqlite3_snprintf(tls, int32(uint64(unsafe.Sizeof([200]int8{}))-uint64(i*2)), bp+8+uintptr(i*2), ts+6337, libc.VaList(bp, int32(*(*uint8)(unsafe.Pointer(z + uintptr(i))))))
 77543  	}
 77544  	*(*int8)(unsafe.Pointer(bp + 8 + uintptr(i*2))) = int8(0)
 77545  	sqlite3.Xsqlite3_result_text(tls, p, bp+8, -1, libc.UintptrFromInt32(-1))
 77546  }
 77547  
 77548  func hex16Func(tls *libc.TLS, p uintptr, argc int32, argv uintptr) {
 77549  	bp := tls.Alloc(408)
 77550  	defer tls.Free(408)
 77551  
 77552  	var z uintptr
 77553  	var i int32
 77554  
 77555  	z = sqlite3.Xsqlite3_value_text16(tls, *(*uintptr)(unsafe.Pointer(argv)))
 77556  	for i = 0; uint64(i) < uint64(unsafe.Sizeof([400]int8{}))/uint64(4)-uint64(4) && *(*uint16)(unsafe.Pointer(z + uintptr(i)*2)) != 0; i++ {
 77557  		sqlite3.Xsqlite3_snprintf(tls, int32(uint64(unsafe.Sizeof([400]int8{}))-uint64(i*4)), bp+8+uintptr(i*4), ts+15094, libc.VaList(bp, int32(*(*uint16)(unsafe.Pointer(z + uintptr(i)*2)))&0xff))
 77558  	}
 77559  	*(*int8)(unsafe.Pointer(bp + 8 + uintptr(i*4))) = int8(0)
 77560  	sqlite3.Xsqlite3_result_text(tls, p, bp+8, -1, libc.UintptrFromInt32(-1))
 77561  }
 77562  
 77563  type dstr = struct {
 77564  	FnAlloc int32
 77565  	FnUsed  int32
 77566  	Fz      uintptr
 77567  }
 77568  
 77569  func dstrAppend(tls *libc.TLS, p uintptr, z uintptr, divider int32) {
 77570  	var n int32 = int32(libc.Xstrlen(tls, z))
 77571  	if (*dstr)(unsafe.Pointer(p)).FnUsed+n+2 > (*dstr)(unsafe.Pointer(p)).FnAlloc {
 77572  		var zNew uintptr
 77573  		(*dstr)(unsafe.Pointer(p)).FnAlloc = (*dstr)(unsafe.Pointer(p)).FnAlloc*2 + n + 200
 77574  		zNew = sqlite3.Xsqlite3_realloc(tls, (*dstr)(unsafe.Pointer(p)).Fz, (*dstr)(unsafe.Pointer(p)).FnAlloc)
 77575  		if zNew == uintptr(0) {
 77576  			sqlite3.Xsqlite3_free(tls, (*dstr)(unsafe.Pointer(p)).Fz)
 77577  			libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(dstr{})))
 77578  			return
 77579  		}
 77580  		(*dstr)(unsafe.Pointer(p)).Fz = zNew
 77581  	}
 77582  	if divider != 0 && (*dstr)(unsafe.Pointer(p)).FnUsed > 0 {
 77583  		*(*int8)(unsafe.Pointer((*dstr)(unsafe.Pointer(p)).Fz + uintptr(libc.PostIncInt32(&(*dstr)(unsafe.Pointer(p)).FnUsed, 1)))) = int8(divider)
 77584  	}
 77585  	libc.Xmemcpy(tls, (*dstr)(unsafe.Pointer(p)).Fz+uintptr((*dstr)(unsafe.Pointer(p)).FnUsed), z, uint64(n+1))
 77586  	*(*int32)(unsafe.Pointer(p + 4)) += n
 77587  }
 77588  
 77589  func execFuncCallback(tls *libc.TLS, pData uintptr, argc int32, argv uintptr, NotUsed uintptr) int32 {
 77590  	var p uintptr = pData
 77591  	var i int32
 77592  	for i = 0; i < argc; i++ {
 77593  		if *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)) == uintptr(0) {
 77594  			dstrAppend(tls, p, ts+5846, ' ')
 77595  		} else {
 77596  			dstrAppend(tls, p, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), ' ')
 77597  		}
 77598  	}
 77599  	return 0
 77600  }
 77601  
 77602  func sqlite3ExecFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 77603  	bp := tls.Alloc(16)
 77604  	defer tls.Free(16)
 77605  
 77606  	libc.Xmemset(tls, bp, 0, uint64(unsafe.Sizeof(dstr{})))
 77607  	sqlite3.Xsqlite3_exec(tls, sqlite3.Xsqlite3_user_data(tls, context),
 77608  		sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))),
 77609  		*(*uintptr)(unsafe.Pointer(&struct {
 77610  			f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32
 77611  		}{execFuncCallback})), bp, uintptr(0))
 77612  	sqlite3.Xsqlite3_result_text(tls, context, (*dstr)(unsafe.Pointer(bp)).Fz, (*dstr)(unsafe.Pointer(bp)).FnUsed, libc.UintptrFromInt32(-1))
 77613  	sqlite3.Xsqlite3_free(tls, (*dstr)(unsafe.Pointer(bp)).Fz)
 77614  }
 77615  
 77616  func tkt2213Function(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 77617  	var nText int32
 77618  	var zText1 uintptr
 77619  	var zText2 uintptr
 77620  	var zText3 uintptr
 77621  
 77622  	nText = sqlite3.Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv)))
 77623  	zText1 = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv)))
 77624  	zText2 = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv)))
 77625  	zText3 = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv)))
 77626  
 77627  	if zText1 != zText2 || zText2 != zText3 {
 77628  		sqlite3.Xsqlite3_result_error(tls, context, ts+15099, -1)
 77629  	} else {
 77630  		var zCopy uintptr = sqlite3.Xsqlite3_malloc(tls, nText)
 77631  		libc.Xmemcpy(tls, zCopy, zText1, uint64(nText))
 77632  		sqlite3.Xsqlite3_result_text(tls, context, zCopy, nText, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sqlite3.Xsqlite3_free})))
 77633  	}
 77634  }
 77635  
 77636  func ptrChngFunction(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 77637  	var p1 uintptr
 77638  	var p2 uintptr
 77639  	var zCmd uintptr
 77640  	if argc != 4 {
 77641  		return
 77642  	}
 77643  	zCmd = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))
 77644  	if zCmd == uintptr(0) {
 77645  		return
 77646  	}
 77647  	if libc.Xstrcmp(tls, zCmd, ts+12764) == 0 {
 77648  		p1 = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv)))
 77649  	} else if libc.Xstrcmp(tls, zCmd, ts+15120) == 0 {
 77650  		p1 = sqlite3.Xsqlite3_value_text16(tls, *(*uintptr)(unsafe.Pointer(argv)))
 77651  	} else if libc.Xstrcmp(tls, zCmd, ts+12769) == 0 {
 77652  		p1 = sqlite3.Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(argv)))
 77653  	} else {
 77654  		return
 77655  	}
 77656  	zCmd = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)))
 77657  	if zCmd == uintptr(0) {
 77658  		return
 77659  	}
 77660  	if libc.Xstrcmp(tls, zCmd, ts+15127) == 0 {
 77661  		sqlite3.Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv)))
 77662  	} else if libc.Xstrcmp(tls, zCmd, ts+15133) == 0 {
 77663  		sqlite3.Xsqlite3_value_bytes16(tls, *(*uintptr)(unsafe.Pointer(argv)))
 77664  	} else if libc.Xstrcmp(tls, zCmd, ts+15141) == 0 {
 77665  	} else {
 77666  		return
 77667  	}
 77668  	zCmd = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)))
 77669  	if zCmd == uintptr(0) {
 77670  		return
 77671  	}
 77672  	if libc.Xstrcmp(tls, zCmd, ts+12764) == 0 {
 77673  		p2 = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv)))
 77674  	} else if libc.Xstrcmp(tls, zCmd, ts+15120) == 0 {
 77675  		p2 = sqlite3.Xsqlite3_value_text16(tls, *(*uintptr)(unsafe.Pointer(argv)))
 77676  	} else if libc.Xstrcmp(tls, zCmd, ts+12769) == 0 {
 77677  		p2 = sqlite3.Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(argv)))
 77678  	} else {
 77679  		return
 77680  	}
 77681  	sqlite3.Xsqlite3_result_int(tls, context, libc.Bool32(p1 != p2))
 77682  }
 77683  
 77684  func nondeterministicFunction(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 77685  	sqlite3.Xsqlite3_result_int(tls, context, libc.PostIncInt32(&cnt, 1))
 77686  }
 77687  
 77688  var cnt int32 = 0
 77689  
 77690  func intrealFunction(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 77691  	bp := tls.Alloc(8)
 77692  	defer tls.Free(8)
 77693  
 77694  	var v sqlite3_int64 = sqlite3.Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv)))
 77695  	sqlite3.Xsqlite3_result_int64(tls, context, v)
 77696  	sqlite3.Xsqlite3_test_control(tls, SQLITE_TESTCTRL_RESULT_INTREAL, libc.VaList(bp, context))
 77697  }
 77698  
 77699  func test_create_function(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 77700  	bp := tls.Alloc(40)
 77701  	defer tls.Free(40)
 77702  
 77703  	var rc int32
 77704  
 77705  	if argc != 2 {
 77706  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 77707  			ts+15078, 0))
 77708  		return TCL_ERROR
 77709  	}
 77710  	if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32) != 0 {
 77711  		return TCL_ERROR
 77712  	}
 77713  	rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), ts+15146, -1, SQLITE_UTF8, uintptr(0),
 77714  		*(*uintptr)(unsafe.Pointer(&struct {
 77715  			f func(*libc.TLS, uintptr, int32, uintptr)
 77716  		}{t1_ifnullFunc})), uintptr(0), uintptr(0))
 77717  	if rc == SQLITE_OK {
 77718  		rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), ts+15157, 1, SQLITE_UTF8|SQLITE_DETERMINISTIC,
 77719  			uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 77720  				f func(*libc.TLS, uintptr, int32, uintptr)
 77721  			}{hex8Func})), uintptr(0), uintptr(0))
 77722  	}
 77723  	if rc == SQLITE_OK {
 77724  		rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), ts+15162, 1, SQLITE_UTF16|SQLITE_DETERMINISTIC,
 77725  			uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 77726  				f func(*libc.TLS, uintptr, int32, uintptr)
 77727  			}{hex16Func})), uintptr(0), uintptr(0))
 77728  	}
 77729  	if rc == SQLITE_OK {
 77730  		rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), ts+15168, 1, SQLITE_ANY, uintptr(0),
 77731  			*(*uintptr)(unsafe.Pointer(&struct {
 77732  				f func(*libc.TLS, uintptr, int32, uintptr)
 77733  			}{tkt2213Function})), uintptr(0), uintptr(0))
 77734  	}
 77735  	if rc == SQLITE_OK {
 77736  		rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), ts+15180, 4, SQLITE_ANY, uintptr(0),
 77737  			*(*uintptr)(unsafe.Pointer(&struct {
 77738  				f func(*libc.TLS, uintptr, int32, uintptr)
 77739  			}{ptrChngFunction})), uintptr(0), uintptr(0))
 77740  	}
 77741  
 77742  	if rc == SQLITE_OK {
 77743  		rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), ts+15195, -1, SQLITE_UTF8,
 77744  			uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 77745  				f func(*libc.TLS, uintptr, int32, uintptr)
 77746  			}{nondeterministicFunction})), uintptr(0), uintptr(0))
 77747  	}
 77748  	if rc == SQLITE_OK {
 77749  		rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), ts+15204, -1, SQLITE_UTF8|SQLITE_DETERMINISTIC,
 77750  			uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 77751  				f func(*libc.TLS, uintptr, int32, uintptr)
 77752  			}{nondeterministicFunction})), uintptr(0), uintptr(0))
 77753  	}
 77754  
 77755  	if rc == SQLITE_OK {
 77756  		rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), ts+15213, 1, SQLITE_UTF8,
 77757  			uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 77758  				f func(*libc.TLS, uintptr, int32, uintptr)
 77759  			}{intrealFunction})), uintptr(0), uintptr(0))
 77760  	}
 77761  
 77762  	if rc == SQLITE_OK {
 77763  		var zUtf16 uintptr
 77764  		var pVal uintptr
 77765  		sqlite3.Xsqlite3_mutex_enter(tls, (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32)))).Fmutex)
 77766  		pVal = sqlite3.Xsqlite3ValueNew(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))
 77767  		sqlite3.Xsqlite3ValueSetStr(tls, pVal, -1, ts+15221, uint8(SQLITE_UTF8), uintptr(0))
 77768  		zUtf16 = sqlite3.Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF16LE))
 77769  		if (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32)))).FmallocFailed != 0 {
 77770  			rc = SQLITE_NOMEM
 77771  		} else {
 77772  			rc = sqlite3.Xsqlite3_create_function16(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), zUtf16,
 77773  				1, SQLITE_UTF16, *(*uintptr)(unsafe.Pointer(bp + 32)), *(*uintptr)(unsafe.Pointer(&struct {
 77774  					f func(*libc.TLS, uintptr, int32, uintptr)
 77775  				}{sqlite3ExecFunc})), uintptr(0), uintptr(0))
 77776  		}
 77777  		sqlite3.Xsqlite3ValueFree(tls, pVal)
 77778  		sqlite3.Xsqlite3_mutex_leave(tls, (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32)))).Fmutex)
 77779  	}
 77780  
 77781  	if sqlite3TestErrCode(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 32)), rc) != 0 {
 77782  		return TCL_ERROR
 77783  	}
 77784  	tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0))
 77785  	return TCL_OK
 77786  }
 77787  
 77788  func test_drop_modules(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 77789  	bp := tls.Alloc(40)
 77790  	defer tls.Free(40)
 77791  
 77792  	if argc < 2 {
 77793  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 77794  			ts+15078, 0))
 77795  		return TCL_ERROR
 77796  	}
 77797  	if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32) != 0 {
 77798  		return TCL_ERROR
 77799  	}
 77800  	sqlite3.Xsqlite3_drop_modules(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), func() uintptr {
 77801  		if argc > 2 {
 77802  			return argv + uintptr(2)*8
 77803  		}
 77804  		return uintptr(0)
 77805  	}())
 77806  	return TCL_OK
 77807  }
 77808  
 77809  type t1CountCtx1 = struct{ Fn int32 }
 77810  
 77811  type t1CountCtx = t1CountCtx1
 77812  
 77813  func t1CountStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 77814  	bp := tls.Alloc(9)
 77815  	defer tls.Free(9)
 77816  
 77817  	var p uintptr
 77818  	p = sqlite3.Xsqlite3_aggregate_context(tls, context, int32(unsafe.Sizeof(t1CountCtx{})))
 77819  	if (argc == 0 || SQLITE_NULL != sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv)))) && p != 0 {
 77820  		(*t1CountCtx)(unsafe.Pointer(p)).Fn++
 77821  	}
 77822  	if argc > 0 {
 77823  		var v int32 = sqlite3.Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv)))
 77824  		if v == 40 {
 77825  			sqlite3.Xsqlite3_result_error(tls, context, ts+15235, -1)
 77826  		} else if v == 41 {
 77827  			*(*[9]int8)(unsafe.Pointer(bp)) = [9]int8{int8(0), int8(0x61), int8(0), int8(0x62), int8(0), int8(0x63), int8(0), int8(0), int8(0)}
 77828  			sqlite3.Xsqlite3_result_error16(tls, context, bp+1, -1)
 77829  		}
 77830  	}
 77831  }
 77832  
 77833  func t1CountFinalize(tls *libc.TLS, context uintptr) {
 77834  	var p uintptr
 77835  	p = sqlite3.Xsqlite3_aggregate_context(tls, context, int32(unsafe.Sizeof(t1CountCtx{})))
 77836  	if p != 0 {
 77837  		if (*t1CountCtx)(unsafe.Pointer(p)).Fn == 42 {
 77838  			sqlite3.Xsqlite3_result_error(tls, context, ts+15265, -1)
 77839  		} else {
 77840  			sqlite3.Xsqlite3_result_int(tls, context, func() int32 {
 77841  				if p != 0 {
 77842  					return (*t1CountCtx)(unsafe.Pointer(p)).Fn
 77843  				}
 77844  				return 0
 77845  			}())
 77846  		}
 77847  	}
 77848  }
 77849  
 77850  func legacyCountStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 77851  }
 77852  
 77853  func legacyCountFinalize(tls *libc.TLS, context uintptr) {
 77854  	sqlite3.Xsqlite3_result_int(tls, context, sqlite3.Xsqlite3_aggregate_count(tls, context))
 77855  }
 77856  
 77857  func test_create_aggregate(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 77858  	bp := tls.Alloc(40)
 77859  	defer tls.Free(40)
 77860  
 77861  	var rc int32
 77862  	if argc != 2 {
 77863  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 77864  			ts+15083, 0))
 77865  		return TCL_ERROR
 77866  	}
 77867  	if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32) != 0 {
 77868  		return TCL_ERROR
 77869  	}
 77870  	rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), ts+15286, 0, SQLITE_UTF8, uintptr(0), uintptr(0),
 77871  		*(*uintptr)(unsafe.Pointer(&struct {
 77872  			f func(*libc.TLS, uintptr, int32, uintptr)
 77873  		}{t1CountStep})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{t1CountFinalize})))
 77874  	if rc == SQLITE_OK {
 77875  		rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), ts+15286, 1, SQLITE_UTF8, uintptr(0), uintptr(0),
 77876  			*(*uintptr)(unsafe.Pointer(&struct {
 77877  				f func(*libc.TLS, uintptr, int32, uintptr)
 77878  			}{t1CountStep})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{t1CountFinalize})))
 77879  	}
 77880  	if rc == SQLITE_OK {
 77881  		rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), ts+15294, 0, SQLITE_ANY, uintptr(0), uintptr(0),
 77882  			*(*uintptr)(unsafe.Pointer(&struct {
 77883  				f func(*libc.TLS, uintptr, int32, uintptr)
 77884  			}{legacyCountStep})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{legacyCountFinalize})))
 77885  	}
 77886  	if sqlite3TestErrCode(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 32)), rc) != 0 {
 77887  		return TCL_ERROR
 77888  	}
 77889  	tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0))
 77890  	return TCL_OK
 77891  }
 77892  
 77893  func test_printf(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 77894  	bp := tls.Alloc(40)
 77895  	defer tls.Free(40)
 77896  
 77897  	if argc != 2 {
 77898  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 77899  			ts+15307, 0))
 77900  		return TCL_ERROR
 77901  	}
 77902  	printf(tls, ts+389, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(argv + 1*8))))
 77903  	return TCL_OK
 77904  }
 77905  
 77906  func sqlite3_mprintf_int(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 77907  	bp := tls.Alloc(84)
 77908  	defer tls.Free(84)
 77909  
 77910  	var i int32
 77911  	var z uintptr
 77912  	if argc != 5 {
 77913  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 77914  			ts+15314, 0))
 77915  		return TCL_ERROR
 77916  	}
 77917  	for i = 2; i < 5; i++ {
 77918  		if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), bp+72+uintptr(i-2)*4) != 0 {
 77919  			return TCL_ERROR
 77920  		}
 77921  	}
 77922  	z = sqlite3.Xsqlite3_mprintf(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)), libc.VaList(bp+32, *(*int32)(unsafe.Pointer(bp + 72)), *(*int32)(unsafe.Pointer(bp + 72 + 1*4)), *(*int32)(unsafe.Pointer(bp + 72 + 2*4))))
 77923  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, z, 0))
 77924  	sqlite3.Xsqlite3_free(tls, z)
 77925  	return TCL_OK
 77926  }
 77927  
 77928  func sqlite3_mprintf_int64(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 77929  	bp := tls.Alloc(112)
 77930  	defer tls.Free(112)
 77931  
 77932  	var i int32
 77933  
 77934  	var z uintptr
 77935  	if argc != 5 {
 77936  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 77937  			ts+15314, 0))
 77938  		return TCL_ERROR
 77939  	}
 77940  	for i = 2; i < 5; i++ {
 77941  		if sqlite3.Xsqlite3Atoi64(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), bp+88+uintptr(i-2)*8, sqlite3.Xsqlite3Strlen30(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))), uint8(SQLITE_UTF8)) != 0 {
 77942  			tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+15335, 0))
 77943  			return TCL_ERROR
 77944  		}
 77945  	}
 77946  	z = sqlite3.Xsqlite3_mprintf(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)), libc.VaList(bp+48, *(*sqlite_int64)(unsafe.Pointer(bp + 88)), *(*sqlite_int64)(unsafe.Pointer(bp + 88 + 1*8)), *(*sqlite_int64)(unsafe.Pointer(bp + 88 + 2*8))))
 77947  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, z, 0))
 77948  	sqlite3.Xsqlite3_free(tls, z)
 77949  	return TCL_OK
 77950  }
 77951  
 77952  func sqlite3_mprintf_long(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 77953  	bp := tls.Alloc(96)
 77954  	defer tls.Free(96)
 77955  
 77956  	var i int32
 77957  
 77958  	var z uintptr
 77959  	if argc != 5 {
 77960  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 77961  			ts+15314, 0))
 77962  		return TCL_ERROR
 77963  	}
 77964  	for i = 2; i < 5; i++ {
 77965  		if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), bp+72+uintptr(i-2)*4) != 0 {
 77966  			return TCL_ERROR
 77967  		}
 77968  		*(*int32)(unsafe.Pointer(bp + 84 + uintptr(i-2)*4)) = *(*int32)(unsafe.Pointer(bp + 72 + uintptr(i-2)*4))
 77969  		*(*int32)(unsafe.Pointer(bp + 84 + uintptr(i-2)*4)) &= libc.Int32FromUint64(uint64(1)<<(uint64(unsafe.Sizeof(int32(0)))*uint64(8)) - uint64(1))
 77970  	}
 77971  	z = sqlite3.Xsqlite3_mprintf(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)), libc.VaList(bp+32, *(*int32)(unsafe.Pointer(bp + 84)), *(*int32)(unsafe.Pointer(bp + 84 + 1*4)), *(*int32)(unsafe.Pointer(bp + 84 + 2*4))))
 77972  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, z, 0))
 77973  	sqlite3.Xsqlite3_free(tls, z)
 77974  	return TCL_OK
 77975  }
 77976  
 77977  func sqlite3_mprintf_str(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 77978  	bp := tls.Alloc(84)
 77979  	defer tls.Free(84)
 77980  
 77981  	var i int32
 77982  	var z uintptr
 77983  	if argc < 4 || argc > 5 {
 77984  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 77985  			ts+15374, 0))
 77986  		return TCL_ERROR
 77987  	}
 77988  	for i = 2; i < 4; i++ {
 77989  		if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), bp+72+uintptr(i-2)*4) != 0 {
 77990  			return TCL_ERROR
 77991  		}
 77992  	}
 77993  	z = sqlite3.Xsqlite3_mprintf(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)), libc.VaList(bp+32, *(*int32)(unsafe.Pointer(bp + 72)), *(*int32)(unsafe.Pointer(bp + 72 + 1*4)), func() uintptr {
 77994  		if argc > 4 {
 77995  			return *(*uintptr)(unsafe.Pointer(argv + 4*8))
 77996  		}
 77997  		return uintptr(0)
 77998  	}()))
 77999  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, z, 0))
 78000  	sqlite3.Xsqlite3_free(tls, z)
 78001  	return TCL_OK
 78002  }
 78003  
 78004  func sqlite3_snprintf_str(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 78005  	bp := tls.Alloc(104)
 78006  	defer tls.Free(104)
 78007  
 78008  	var i int32
 78009  
 78010  	var z uintptr
 78011  	if argc < 5 || argc > 6 {
 78012  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 78013  			ts+15400, 0))
 78014  		return TCL_ERROR
 78015  	}
 78016  	if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+88) != 0 {
 78017  		return TCL_ERROR
 78018  	}
 78019  	if *(*int32)(unsafe.Pointer(bp + 88)) < 0 {
 78020  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+15430, 0))
 78021  		return TCL_ERROR
 78022  	}
 78023  	for i = 3; i < 5; i++ {
 78024  		if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), bp+92+uintptr(i-3)*4) != 0 {
 78025  			return TCL_ERROR
 78026  		}
 78027  	}
 78028  	z = sqlite3.Xsqlite3_malloc(tls, *(*int32)(unsafe.Pointer(bp + 88))+1)
 78029  	sqlite3.Xsqlite3_snprintf(tls, *(*int32)(unsafe.Pointer(bp + 88)), z, *(*uintptr)(unsafe.Pointer(argv + 2*8)), libc.VaList(bp+48, *(*int32)(unsafe.Pointer(bp + 92)), *(*int32)(unsafe.Pointer(bp + 92 + 1*4)), func() uintptr {
 78030  		if argc > 4 {
 78031  			return *(*uintptr)(unsafe.Pointer(argv + 5*8))
 78032  		}
 78033  		return uintptr(0)
 78034  	}()))
 78035  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, z, 0))
 78036  	sqlite3.Xsqlite3_free(tls, z)
 78037  	return TCL_OK
 78038  }
 78039  
 78040  func sqlite3_mprintf_double(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 78041  	bp := tls.Alloc(96)
 78042  	defer tls.Free(96)
 78043  
 78044  	var i int32
 78045  
 78046  	var z uintptr
 78047  	if argc != 5 {
 78048  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 78049  			ts+15453, 0))
 78050  		return TCL_ERROR
 78051  	}
 78052  	for i = 2; i < 4; i++ {
 78053  		if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), bp+72+uintptr(i-2)*4) != 0 {
 78054  			return TCL_ERROR
 78055  		}
 78056  	}
 78057  	if tcl.XTcl_GetDouble(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 4*8)), bp+88) != 0 {
 78058  		return TCL_ERROR
 78059  	}
 78060  	z = sqlite3.Xsqlite3_mprintf(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)), libc.VaList(bp+32, *(*int32)(unsafe.Pointer(bp + 72)), *(*int32)(unsafe.Pointer(bp + 72 + 1*4)), *(*float64)(unsafe.Pointer(bp + 88))))
 78061  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, z, 0))
 78062  	sqlite3.Xsqlite3_free(tls, z)
 78063  	return TCL_OK
 78064  }
 78065  
 78066  func sqlite3_mprintf_scaled(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 78067  	bp := tls.Alloc(72)
 78068  	defer tls.Free(72)
 78069  
 78070  	var i int32
 78071  
 78072  	var z uintptr
 78073  	if argc != 4 {
 78074  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 78075  			ts+15477, 0))
 78076  		return TCL_ERROR
 78077  	}
 78078  	for i = 2; i < 4; i++ {
 78079  		if tcl.XTcl_GetDouble(tls, interp, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), bp+56+uintptr(i-2)*8) != 0 {
 78080  			return TCL_ERROR
 78081  		}
 78082  	}
 78083  	z = sqlite3.Xsqlite3_mprintf(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)), libc.VaList(bp+32, *(*float64)(unsafe.Pointer(bp + 56))**(*float64)(unsafe.Pointer(bp + 56 + 1*8))))
 78084  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, z, 0))
 78085  	sqlite3.Xsqlite3_free(tls, z)
 78086  	return TCL_OK
 78087  }
 78088  
 78089  func sqlite3_mprintf_stronly(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 78090  	bp := tls.Alloc(56)
 78091  	defer tls.Free(56)
 78092  
 78093  	var z uintptr
 78094  	if argc != 3 {
 78095  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 78096  			ts+15500, 0))
 78097  		return TCL_ERROR
 78098  	}
 78099  	z = sqlite3.Xsqlite3_mprintf(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)), libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(argv + 2*8))))
 78100  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, z, 0))
 78101  	sqlite3.Xsqlite3_free(tls, z)
 78102  	return TCL_OK
 78103  }
 78104  
 78105  func sqlite3_mprintf_hexdouble(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 78106  	bp := tls.Alloc(112)
 78107  	defer tls.Free(112)
 78108  
 78109  	var z uintptr
 78110  
 78111  	if argc != 3 {
 78112  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 78113  			ts+15500, 0))
 78114  		return TCL_ERROR
 78115  	}
 78116  	if sscanf(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)), ts+15516, libc.VaList(bp+32, bp+88, bp+92)) != 2 {
 78117  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+15525, 0))
 78118  		return TCL_ERROR
 78119  	}
 78120  	*(*sqlite_uint64)(unsafe.Pointer(bp + 104)) = sqlite_uint64(*(*uint32)(unsafe.Pointer(bp + 88)))
 78121  	*(*sqlite_uint64)(unsafe.Pointer(bp + 104)) = *(*sqlite_uint64)(unsafe.Pointer(bp + 104))<<32 + sqlite_uint64(*(*uint32)(unsafe.Pointer(bp + 92)))
 78122  	libc.Xmemcpy(tls, bp+96, bp+104, uint64(unsafe.Sizeof(float64(0))))
 78123  	z = sqlite3.Xsqlite3_mprintf(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)), libc.VaList(bp+64, *(*float64)(unsafe.Pointer(bp + 96))))
 78124  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, z, 0))
 78125  	sqlite3.Xsqlite3_free(tls, z)
 78126  	return TCL_OK
 78127  }
 78128  
 78129  func test_enable_shared(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 78130  	bp := tls.Alloc(4)
 78131  	defer tls.Free(4)
 78132  
 78133  	var rc int32
 78134  
 78135  	var ret int32 = 0
 78136  
 78137  	if objc != 2 && objc != 1 {
 78138  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15569)
 78139  		return TCL_ERROR
 78140  	}
 78141  	ret = sqlite3.Xsqlite3Config.FsharedCacheEnabled
 78142  
 78143  	if objc == 2 {
 78144  		if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp) != 0 {
 78145  			return TCL_ERROR
 78146  		}
 78147  		rc = sqlite3.Xsqlite3_enable_shared_cache(tls, *(*int32)(unsafe.Pointer(bp)))
 78148  		if rc != SQLITE_OK {
 78149  			tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrStr(tls, rc), uintptr(0))
 78150  			return TCL_ERROR
 78151  		}
 78152  	}
 78153  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, libc.Bool32(ret != 0)))
 78154  	return TCL_OK
 78155  }
 78156  
 78157  func test_extended_result_codes(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 78158  	bp := tls.Alloc(12)
 78159  	defer tls.Free(12)
 78160  
 78161  	if objc != 3 {
 78162  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15579)
 78163  		return TCL_ERROR
 78164  	}
 78165  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp) != 0 {
 78166  		return TCL_ERROR
 78167  	}
 78168  	if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+8) != 0 {
 78169  		return TCL_ERROR
 78170  	}
 78171  	sqlite3.Xsqlite3_extended_result_codes(tls, *(*uintptr)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 8)))
 78172  	return TCL_OK
 78173  }
 78174  
 78175  func test_libversion_number(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 78176  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, sqlite3.Xsqlite3_libversion_number(tls)))
 78177  	return TCL_OK
 78178  }
 78179  
 78180  func test_table_column_metadata(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 78181  	bp := tls.Alloc(52)
 78182  	defer tls.Free(52)
 78183  
 78184  	var zDb uintptr
 78185  	var zTbl uintptr
 78186  	var zCol uintptr
 78187  	var rc int32
 78188  	var pRet uintptr
 78189  
 78190  	if objc != 5 && objc != 4 {
 78191  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15590)
 78192  		return TCL_ERROR
 78193  	}
 78194  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+16) != 0 {
 78195  		return TCL_ERROR
 78196  	}
 78197  	zDb = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
 78198  	zTbl = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)))
 78199  	if objc == 5 {
 78200  		zCol = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 4*8)))
 78201  	} else {
 78202  		zCol = uintptr(0)
 78203  	}
 78204  
 78205  	if libc.Xstrlen(tls, zDb) == uint64(0) {
 78206  		zDb = uintptr(0)
 78207  	}
 78208  
 78209  	rc = sqlite3.Xsqlite3_table_column_metadata(tls, *(*uintptr)(unsafe.Pointer(bp + 16)), zDb, zTbl, zCol,
 78210  		bp+24, bp+32, bp+40, bp+44, bp+48)
 78211  
 78212  	if rc != SQLITE_OK {
 78213  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 16))), 0))
 78214  		return TCL_ERROR
 78215  	}
 78216  
 78217  	pRet = tcl.XTcl_NewObj(tls)
 78218  	tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pRet, tcl.XTcl_NewStringObj(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), -1))
 78219  	tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pRet, tcl.XTcl_NewStringObj(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), -1))
 78220  	tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pRet, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 40))))
 78221  	tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pRet, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 44))))
 78222  	tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pRet, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 48))))
 78223  	tcl.XTcl_SetObjResult(tls, interp, pRet)
 78224  
 78225  	return TCL_OK
 78226  }
 78227  
 78228  func blobHandleFromObj(tls *libc.TLS, interp uintptr, pObj uintptr, ppBlob uintptr) int32 {
 78229  	bp := tls.Alloc(8)
 78230  	defer tls.Free(8)
 78231  
 78232  	var z uintptr
 78233  
 78234  	z = tcl.XTcl_GetStringFromObj(tls, pObj, bp)
 78235  	if *(*int32)(unsafe.Pointer(bp)) == 0 {
 78236  		*(*uintptr)(unsafe.Pointer(ppBlob)) = uintptr(0)
 78237  	} else {
 78238  		var channel Tcl_Channel
 78239  		var instanceData ClientData
 78240  
 78241  		channel = tcl.XTcl_GetChannel(tls, interp, z, bp+4)
 78242  		if !(channel != 0) {
 78243  			return TCL_ERROR
 78244  		}
 78245  
 78246  		tcl.XTcl_Flush(tls, channel)
 78247  		tcl.XTcl_Seek(tls, channel, int64(0), SEEK_SET)
 78248  
 78249  		instanceData = tcl.XTcl_GetChannelInstanceData(tls, channel)
 78250  		*(*uintptr)(unsafe.Pointer(ppBlob)) = *(*uintptr)(unsafe.Pointer(instanceData))
 78251  	}
 78252  
 78253  	return TCL_OK
 78254  }
 78255  
 78256  func test_blob_reopen(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 78257  	bp := tls.Alloc(16)
 78258  	defer tls.Free(16)
 78259  
 78260  	var rc int32
 78261  
 78262  	if objc != 3 {
 78263  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15616)
 78264  		return TCL_ERROR
 78265  	}
 78266  
 78267  	if blobHandleFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp) != 0 {
 78268  		return TCL_ERROR
 78269  	}
 78270  	if tcl.XTcl_GetWideIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+8) != 0 {
 78271  		return TCL_ERROR
 78272  	}
 78273  
 78274  	rc = sqlite3.Xsqlite3_blob_reopen(tls, *(*uintptr)(unsafe.Pointer(bp)), *(*Tcl_WideInt)(unsafe.Pointer(bp + 8)))
 78275  	if rc != SQLITE_OK {
 78276  		tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(1))
 78277  	}
 78278  
 78279  	return func() int32 {
 78280  		if rc == SQLITE_OK {
 78281  			return TCL_OK
 78282  		}
 78283  		return TCL_ERROR
 78284  	}()
 78285  }
 78286  
 78287  type TestCollationX1 = struct {
 78288  	Finterp uintptr
 78289  	FpCmp   uintptr
 78290  	FpDel   uintptr
 78291  }
 78292  
 78293  type TestCollationX = TestCollationX1
 78294  
 78295  func testCreateCollationDel(tls *libc.TLS, pCtx uintptr) {
 78296  	var p uintptr = pCtx
 78297  
 78298  	var rc int32 = tcl.XTcl_EvalObjEx(tls, (*TestCollationX)(unsafe.Pointer(p)).Finterp, (*TestCollationX)(unsafe.Pointer(p)).FpDel, TCL_EVAL_DIRECT|TCL_EVAL_GLOBAL)
 78299  	if rc != TCL_OK {
 78300  		tcl.XTcl_BackgroundError(tls, (*TestCollationX)(unsafe.Pointer(p)).Finterp)
 78301  	}
 78302  
 78303  	for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
 78304  		var _objPtr uintptr = (*TestCollationX)(unsafe.Pointer(p)).FpCmp
 78305  		if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 78306  			tcl.XTclFreeObj(tls, _objPtr)
 78307  		}
 78308  	}
 78309  	for __ccgo1 := true; __ccgo1; __ccgo1 = 0 != 0 {
 78310  		var _objPtr uintptr = (*TestCollationX)(unsafe.Pointer(p)).FpDel
 78311  		if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 78312  			tcl.XTclFreeObj(tls, _objPtr)
 78313  		}
 78314  	}
 78315  	sqlite3.Xsqlite3_free(tls, p)
 78316  }
 78317  
 78318  func testCreateCollationCmp(tls *libc.TLS, pCtx uintptr, nLeft int32, zLeft uintptr, nRight int32, zRight uintptr) int32 {
 78319  	bp := tls.Alloc(4)
 78320  	defer tls.Free(4)
 78321  
 78322  	var p uintptr = pCtx
 78323  	var pScript uintptr = tcl.XTcl_DuplicateObj(tls, (*TestCollationX)(unsafe.Pointer(p)).FpCmp)
 78324  	*(*int32)(unsafe.Pointer(bp)) = 0
 78325  
 78326  	(*Tcl_Obj)(unsafe.Pointer(pScript)).FrefCount++
 78327  	tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pScript, tcl.XTcl_NewStringObj(tls, zLeft, nLeft))
 78328  	tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pScript, tcl.XTcl_NewStringObj(tls, zRight, nRight))
 78329  
 78330  	if TCL_OK != tcl.XTcl_EvalObjEx(tls, (*TestCollationX)(unsafe.Pointer(p)).Finterp, pScript, TCL_EVAL_DIRECT|TCL_EVAL_GLOBAL) ||
 78331  		TCL_OK != tcl.XTcl_GetIntFromObj(tls, (*TestCollationX)(unsafe.Pointer(p)).Finterp, tcl.XTcl_GetObjResult(tls, (*TestCollationX)(unsafe.Pointer(p)).Finterp), bp) {
 78332  		tcl.XTcl_BackgroundError(tls, (*TestCollationX)(unsafe.Pointer(p)).Finterp)
 78333  	}
 78334  	for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
 78335  		var _objPtr uintptr = pScript
 78336  		if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 78337  			tcl.XTclFreeObj(tls, _objPtr)
 78338  		}
 78339  	}
 78340  
 78341  	return *(*int32)(unsafe.Pointer(bp))
 78342  }
 78343  
 78344  func test_create_collation_v2(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 78345  	bp := tls.Alloc(24)
 78346  	defer tls.Free(24)
 78347  
 78348  	var p uintptr
 78349  
 78350  	var rc int32
 78351  
 78352  	if objc != 5 {
 78353  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15630)
 78354  		return TCL_ERROR
 78355  	}
 78356  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+16) != 0 {
 78357  		return TCL_ERROR
 78358  	}
 78359  
 78360  	p = sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(TestCollationX{})))
 78361  	(*TestCollationX)(unsafe.Pointer(p)).FpCmp = *(*uintptr)(unsafe.Pointer(objv + 3*8))
 78362  	(*TestCollationX)(unsafe.Pointer(p)).FpDel = *(*uintptr)(unsafe.Pointer(objv + 4*8))
 78363  	(*TestCollationX)(unsafe.Pointer(p)).Finterp = interp
 78364  	(*Tcl_Obj)(unsafe.Pointer((*TestCollationX)(unsafe.Pointer(p)).FpCmp)).FrefCount++
 78365  	(*Tcl_Obj)(unsafe.Pointer((*TestCollationX)(unsafe.Pointer(p)).FpDel)).FrefCount++
 78366  
 78367  	rc = sqlite3.Xsqlite3_create_collation_v2(tls, *(*uintptr)(unsafe.Pointer(bp + 16)), tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), 16,
 78368  		p, *(*uintptr)(unsafe.Pointer(&struct {
 78369  			f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 78370  		}{testCreateCollationCmp})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{testCreateCollationDel})))
 78371  	if rc != SQLITE_MISUSE {
 78372  		tcl.XTcl_AppendResult(tls, interp,
 78373  			libc.VaList(bp, ts+15663, uintptr(0)))
 78374  		return TCL_ERROR
 78375  	}
 78376  	rc = sqlite3.Xsqlite3_create_collation_v2(tls, *(*uintptr)(unsafe.Pointer(bp + 16)), tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), SQLITE_UTF8,
 78377  		p, *(*uintptr)(unsafe.Pointer(&struct {
 78378  			f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 78379  		}{testCreateCollationCmp})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{testCreateCollationDel})))
 78380  	return TCL_OK
 78381  }
 78382  
 78383  type CreateFunctionV21 = struct {
 78384  	Finterp   uintptr
 78385  	FpFunc    uintptr
 78386  	FpStep    uintptr
 78387  	FpFinal   uintptr
 78388  	FpDestroy uintptr
 78389  }
 78390  
 78391  type CreateFunctionV2 = CreateFunctionV21
 78392  
 78393  func cf2Func(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) {
 78394  }
 78395  
 78396  func cf2Step(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) {
 78397  }
 78398  
 78399  func cf2Final(tls *libc.TLS, ctx uintptr) {
 78400  }
 78401  
 78402  func cf2Destroy(tls *libc.TLS, pUser uintptr) {
 78403  	var p uintptr = pUser
 78404  
 78405  	if (*CreateFunctionV2)(unsafe.Pointer(p)).Finterp != 0 && (*CreateFunctionV2)(unsafe.Pointer(p)).FpDestroy != 0 {
 78406  		var rc int32 = tcl.XTcl_EvalObjEx(tls, (*CreateFunctionV2)(unsafe.Pointer(p)).Finterp, (*CreateFunctionV2)(unsafe.Pointer(p)).FpDestroy, 0)
 78407  		if rc != TCL_OK {
 78408  			tcl.XTcl_BackgroundError(tls, (*CreateFunctionV2)(unsafe.Pointer(p)).Finterp)
 78409  		}
 78410  	}
 78411  
 78412  	if (*CreateFunctionV2)(unsafe.Pointer(p)).FpFunc != 0 {
 78413  		for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
 78414  			var _objPtr uintptr = (*CreateFunctionV2)(unsafe.Pointer(p)).FpFunc
 78415  			if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 78416  				tcl.XTclFreeObj(tls, _objPtr)
 78417  			}
 78418  		}
 78419  	}
 78420  	if (*CreateFunctionV2)(unsafe.Pointer(p)).FpStep != 0 {
 78421  		for __ccgo1 := true; __ccgo1; __ccgo1 = 0 != 0 {
 78422  			var _objPtr uintptr = (*CreateFunctionV2)(unsafe.Pointer(p)).FpStep
 78423  			if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 78424  				tcl.XTclFreeObj(tls, _objPtr)
 78425  			}
 78426  		}
 78427  	}
 78428  	if (*CreateFunctionV2)(unsafe.Pointer(p)).FpFinal != 0 {
 78429  		for __ccgo2 := true; __ccgo2; __ccgo2 = 0 != 0 {
 78430  			var _objPtr uintptr = (*CreateFunctionV2)(unsafe.Pointer(p)).FpFinal
 78431  			if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 78432  				tcl.XTclFreeObj(tls, _objPtr)
 78433  			}
 78434  		}
 78435  	}
 78436  	if (*CreateFunctionV2)(unsafe.Pointer(p)).FpDestroy != 0 {
 78437  		for __ccgo3 := true; __ccgo3; __ccgo3 = 0 != 0 {
 78438  			var _objPtr uintptr = (*CreateFunctionV2)(unsafe.Pointer(p)).FpDestroy
 78439  			if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 78440  				tcl.XTclFreeObj(tls, _objPtr)
 78441  			}
 78442  		}
 78443  	}
 78444  	sqlite3.Xsqlite3_free(tls, p)
 78445  }
 78446  
 78447  func test_create_function_v2(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 78448  	bp := tls.Alloc(180)
 78449  	defer tls.Free(180)
 78450  
 78451  	var zFunc uintptr
 78452  
 78453  	var p uintptr
 78454  	var i int32
 78455  	var rc int32
 78456  
 78457  	*(*[6]EncTable)(unsafe.Pointer(bp + 32)) = [6]EncTable{
 78458  		{FzEnc: ts + 15728, Fenc: SQLITE_UTF8},
 78459  		{FzEnc: ts + 15733, Fenc: SQLITE_UTF16},
 78460  		{FzEnc: ts + 15739, Fenc: SQLITE_UTF16LE},
 78461  		{FzEnc: ts + 15747, Fenc: SQLITE_UTF16BE},
 78462  		{FzEnc: ts + 12774, Fenc: SQLITE_ANY},
 78463  		{FzEnc: ts + 14193},
 78464  	}
 78465  
 78466  	if objc < 5 || objc%2 == 0 {
 78467  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15755)
 78468  		return TCL_ERROR
 78469  	}
 78470  
 78471  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+16) != 0 {
 78472  		return TCL_ERROR
 78473  	}
 78474  	zFunc = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
 78475  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+24) != 0 {
 78476  		return TCL_ERROR
 78477  	}
 78478  	if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 4*8)), bp+32, int32(unsafe.Sizeof(EncTable{})),
 78479  		ts+15784, 0, bp+128) != 0 {
 78480  		return TCL_ERROR
 78481  	}
 78482  	*(*int32)(unsafe.Pointer(bp + 128)) = (*EncTable)(unsafe.Pointer(bp + 32 + uintptr(*(*int32)(unsafe.Pointer(bp + 128)))*16)).Fenc
 78483  
 78484  	p = sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(CreateFunctionV2{})))
 78485  
 78486  	libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(CreateFunctionV2{})))
 78487  	(*CreateFunctionV2)(unsafe.Pointer(p)).Finterp = interp
 78488  
 78489  	for i = 5; i < objc; i = i + 2 {
 78490  		*(*[5]uintptr)(unsafe.Pointer(bp + 136)) = [5]uintptr{ts + 15793, ts + 15799, ts + 15805, ts + 15812, uintptr(0)}
 78491  		if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+136, int32(unsafe.Sizeof(uintptr(0))), ts+15821, 0, bp+176) != 0 {
 78492  			sqlite3.Xsqlite3_free(tls, p)
 78493  			return TCL_ERROR
 78494  		}
 78495  
 78496  		switch *(*int32)(unsafe.Pointer(bp + 176)) {
 78497  		case 0:
 78498  			(*CreateFunctionV2)(unsafe.Pointer(p)).FpFunc = *(*uintptr)(unsafe.Pointer(objv + uintptr(i+1)*8))
 78499  			break
 78500  		case 1:
 78501  			(*CreateFunctionV2)(unsafe.Pointer(p)).FpStep = *(*uintptr)(unsafe.Pointer(objv + uintptr(i+1)*8))
 78502  			break
 78503  		case 2:
 78504  			(*CreateFunctionV2)(unsafe.Pointer(p)).FpFinal = *(*uintptr)(unsafe.Pointer(objv + uintptr(i+1)*8))
 78505  			break
 78506  		case 3:
 78507  			(*CreateFunctionV2)(unsafe.Pointer(p)).FpDestroy = *(*uintptr)(unsafe.Pointer(objv + uintptr(i+1)*8))
 78508  			break
 78509  		}
 78510  	}
 78511  	if (*CreateFunctionV2)(unsafe.Pointer(p)).FpFunc != 0 {
 78512  		(*CreateFunctionV2)(unsafe.Pointer(p)).FpFunc = tcl.XTcl_DuplicateObj(tls, (*CreateFunctionV2)(unsafe.Pointer(p)).FpFunc)
 78513  	}
 78514  	if (*CreateFunctionV2)(unsafe.Pointer(p)).FpStep != 0 {
 78515  		(*CreateFunctionV2)(unsafe.Pointer(p)).FpStep = tcl.XTcl_DuplicateObj(tls, (*CreateFunctionV2)(unsafe.Pointer(p)).FpStep)
 78516  	}
 78517  	if (*CreateFunctionV2)(unsafe.Pointer(p)).FpFinal != 0 {
 78518  		(*CreateFunctionV2)(unsafe.Pointer(p)).FpFinal = tcl.XTcl_DuplicateObj(tls, (*CreateFunctionV2)(unsafe.Pointer(p)).FpFinal)
 78519  	}
 78520  	if (*CreateFunctionV2)(unsafe.Pointer(p)).FpDestroy != 0 {
 78521  		(*CreateFunctionV2)(unsafe.Pointer(p)).FpDestroy = tcl.XTcl_DuplicateObj(tls, (*CreateFunctionV2)(unsafe.Pointer(p)).FpDestroy)
 78522  	}
 78523  
 78524  	if (*CreateFunctionV2)(unsafe.Pointer(p)).FpFunc != 0 {
 78525  		(*Tcl_Obj)(unsafe.Pointer((*CreateFunctionV2)(unsafe.Pointer(p)).FpFunc)).FrefCount++
 78526  	}
 78527  	if (*CreateFunctionV2)(unsafe.Pointer(p)).FpStep != 0 {
 78528  		(*Tcl_Obj)(unsafe.Pointer((*CreateFunctionV2)(unsafe.Pointer(p)).FpStep)).FrefCount++
 78529  	}
 78530  	if (*CreateFunctionV2)(unsafe.Pointer(p)).FpFinal != 0 {
 78531  		(*Tcl_Obj)(unsafe.Pointer((*CreateFunctionV2)(unsafe.Pointer(p)).FpFinal)).FrefCount++
 78532  	}
 78533  	if (*CreateFunctionV2)(unsafe.Pointer(p)).FpDestroy != 0 {
 78534  		(*Tcl_Obj)(unsafe.Pointer((*CreateFunctionV2)(unsafe.Pointer(p)).FpDestroy)).FrefCount++
 78535  	}
 78536  
 78537  	rc = sqlite3.Xsqlite3_create_function_v2(tls, *(*uintptr)(unsafe.Pointer(bp + 16)), zFunc, *(*int32)(unsafe.Pointer(bp + 24)), *(*int32)(unsafe.Pointer(bp + 128)), p,
 78538  		func() uintptr {
 78539  			if (*CreateFunctionV2)(unsafe.Pointer(p)).FpFunc != 0 {
 78540  				return *(*uintptr)(unsafe.Pointer(&struct {
 78541  					f func(*libc.TLS, uintptr, int32, uintptr)
 78542  				}{cf2Func}))
 78543  			}
 78544  			return uintptr(0)
 78545  		}(),
 78546  		func() uintptr {
 78547  			if (*CreateFunctionV2)(unsafe.Pointer(p)).FpStep != 0 {
 78548  				return *(*uintptr)(unsafe.Pointer(&struct {
 78549  					f func(*libc.TLS, uintptr, int32, uintptr)
 78550  				}{cf2Step}))
 78551  			}
 78552  			return uintptr(0)
 78553  		}(),
 78554  		func() uintptr {
 78555  			if (*CreateFunctionV2)(unsafe.Pointer(p)).FpFinal != 0 {
 78556  				return *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{cf2Final}))
 78557  			}
 78558  			return uintptr(0)
 78559  		}(),
 78560  		*(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{cf2Destroy})))
 78561  	if rc != SQLITE_OK {
 78562  		tcl.XTcl_ResetResult(tls, interp)
 78563  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, sqlite3.Xsqlite3ErrName(tls, rc), 0))
 78564  		return TCL_ERROR
 78565  	}
 78566  	return TCL_OK
 78567  }
 78568  
 78569  type EncTable = struct {
 78570  	FzEnc        uintptr
 78571  	Fenc         int32
 78572  	F__ccgo_pad1 [4]byte
 78573  }
 78574  
 78575  func test_load_extension(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 78576  	bp := tls.Alloc(88)
 78577  	defer tls.Free(88)
 78578  
 78579  	var db uintptr
 78580  	_ = db
 78581  	var rc int32
 78582  	var zDb uintptr
 78583  	var zFile uintptr
 78584  	_ = zFile
 78585  	var zProc uintptr = uintptr(0)
 78586  	_ = zProc
 78587  	var zErr uintptr = uintptr(0)
 78588  
 78589  	if objc != 4 && objc != 3 {
 78590  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15828)
 78591  		return TCL_ERROR
 78592  	}
 78593  	zDb = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))
 78594  	zFile = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
 78595  	if objc == 4 {
 78596  		zProc = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)))
 78597  	}
 78598  
 78599  	if !(tcl.XTcl_GetCommandInfo(tls, interp, zDb, bp+24) != 0) {
 78600  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14859, zDb, uintptr(0)))
 78601  		return TCL_ERROR
 78602  	}
 78603  	db = (*struct{ Fdb uintptr })(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 24)).FobjClientData)).Fdb
 78604  
 78605  	rc = SQLITE_ERROR
 78606  	zErr = sqlite3.Xsqlite3_mprintf(tls, ts+15850, 0)
 78607  	_ = zProc
 78608  	_ = zFile
 78609  	if rc != SQLITE_OK {
 78610  		tcl.XTcl_SetResult(tls, interp, func() uintptr {
 78611  			if zErr != 0 {
 78612  				return zErr
 78613  			}
 78614  			return ts + 584
 78615  		}(), uintptr(1))
 78616  		rc = TCL_ERROR
 78617  	} else {
 78618  		rc = TCL_OK
 78619  	}
 78620  	sqlite3.Xsqlite3_free(tls, zErr)
 78621  
 78622  	return rc
 78623  }
 78624  
 78625  func test_enable_load(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 78626  	bp := tls.Alloc(100)
 78627  	defer tls.Free(100)
 78628  
 78629  	var db uintptr
 78630  	_ = db
 78631  	var zDb uintptr
 78632  
 78633  	if objc != 3 {
 78634  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15892)
 78635  		return TCL_ERROR
 78636  	}
 78637  	zDb = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))
 78638  
 78639  	if !(tcl.XTcl_GetCommandInfo(tls, interp, zDb, bp+32) != 0) {
 78640  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14859, zDb, uintptr(0)))
 78641  		return TCL_ERROR
 78642  	}
 78643  	db = (*struct{ Fdb uintptr })(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 32)).FobjClientData)).Fdb
 78644  
 78645  	if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+96) != 0 {
 78646  		return TCL_ERROR
 78647  	}
 78648  
 78649  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+15850))
 78650  	return TCL_ERROR
 78651  }
 78652  
 78653  func sqlite_abort(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 78654  	libc.X_set_abort_behavior(tls, uint32(0), uint32(X_CALL_REPORTFAULT))
 78655  	libc.Xexit(tls, 255)
 78656  
 78657  	return TCL_OK
 78658  }
 78659  
 78660  func testFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 78661  	var zArg0 uintptr
 78662  __1:
 78663  	if !(argc >= 2) {
 78664  		goto __2
 78665  	}
 78666  	zArg0 = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv)))
 78667  	if !(zArg0 != 0) {
 78668  		goto __3
 78669  	}
 78670  	if !(0 == sqlite3.Xsqlite3StrICmp(tls, zArg0, ts+2577)) {
 78671  		goto __5
 78672  	}
 78673  	sqlite3.Xsqlite3_result_int(tls, context, sqlite3.Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))))
 78674  	goto __6
 78675  __5:
 78676  	if !(sqlite3.Xsqlite3StrICmp(tls, zArg0, ts+3973) == 0) {
 78677  		goto __7
 78678  	}
 78679  	sqlite3.Xsqlite3_result_int64(tls, context, sqlite3.Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))))
 78680  	goto __8
 78681  __7:
 78682  	if !(sqlite3.Xsqlite3StrICmp(tls, zArg0, ts+15908) == 0) {
 78683  		goto __9
 78684  	}
 78685  	sqlite3.Xsqlite3_result_text(tls, context, sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))), -1,
 78686  		libc.UintptrFromInt32(-1))
 78687  	goto __10
 78688  __9:
 78689  	if !(sqlite3.Xsqlite3StrICmp(tls, zArg0, ts+2562) == 0) {
 78690  		goto __11
 78691  	}
 78692  	sqlite3.Xsqlite3_result_double(tls, context, sqlite3.Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))))
 78693  	goto __12
 78694  __11:
 78695  	if !(sqlite3.Xsqlite3StrICmp(tls, zArg0, ts+7939) == 0) {
 78696  		goto __13
 78697  	}
 78698  	sqlite3.Xsqlite3_result_null(tls, context)
 78699  	goto __14
 78700  __13:
 78701  	if !(sqlite3.Xsqlite3StrICmp(tls, zArg0, ts+10013) == 0) {
 78702  		goto __15
 78703  	}
 78704  	sqlite3.Xsqlite3_result_value(tls, context, *(*uintptr)(unsafe.Pointer(argv + uintptr(sqlite3.Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))))*8)))
 78705  	goto __16
 78706  __15:
 78707  	goto error_out
 78708  __16:
 78709  	;
 78710  __14:
 78711  	;
 78712  __12:
 78713  	;
 78714  __10:
 78715  	;
 78716  __8:
 78717  	;
 78718  __6:
 78719  	;
 78720  	goto __4
 78721  __3:
 78722  	goto error_out
 78723  __4:
 78724  	;
 78725  	argc = argc - 2
 78726  	argv += 8 * uintptr(2)
 78727  	goto __1
 78728  __2:
 78729  	;
 78730  	return
 78731  
 78732  error_out:
 78733  	sqlite3.Xsqlite3_result_error(tls, context,
 78734  		ts+15915, -1)
 78735  }
 78736  
 78737  func test_register_func(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 78738  	bp := tls.Alloc(56)
 78739  	defer tls.Free(56)
 78740  
 78741  	var rc int32
 78742  	if argc != 3 {
 78743  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 78744  			ts+15983, 0))
 78745  		return TCL_ERROR
 78746  	}
 78747  	if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+48) != 0 {
 78748  		return TCL_ERROR
 78749  	}
 78750  	rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 48)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), -1, SQLITE_UTF8, uintptr(0),
 78751  		*(*uintptr)(unsafe.Pointer(&struct {
 78752  			f func(*libc.TLS, uintptr, int32, uintptr)
 78753  		}{testFunc})), uintptr(0), uintptr(0))
 78754  	if rc != 0 {
 78755  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, sqlite3.Xsqlite3ErrStr(tls, rc), 0))
 78756  		return TCL_ERROR
 78757  	}
 78758  	if sqlite3TestErrCode(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 48)), rc) != 0 {
 78759  		return TCL_ERROR
 78760  	}
 78761  	return TCL_OK
 78762  }
 78763  
 78764  func test_finalize(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 78765  	bp := tls.Alloc(40)
 78766  	defer tls.Free(40)
 78767  
 78768  	var rc int32
 78769  	var db uintptr = uintptr(0)
 78770  
 78771  	if objc != 2 {
 78772  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949,
 78773  			tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16001, 0))
 78774  		return TCL_ERROR
 78775  	}
 78776  
 78777  	if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32) != 0 {
 78778  		return TCL_ERROR
 78779  	}
 78780  
 78781  	if *(*uintptr)(unsafe.Pointer(bp + 32)) != 0 {
 78782  		db = sqlite3.Xsqlite3_db_handle(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))
 78783  	}
 78784  	rc = sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))
 78785  	tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0))
 78786  	if db != 0 && sqlite3TestErrCode(tls, interp, db, rc) != 0 {
 78787  		return TCL_ERROR
 78788  	}
 78789  	return TCL_OK
 78790  }
 78791  
 78792  func test_stmt_status(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 78793  	bp := tls.Alloc(16)
 78794  	defer tls.Free(16)
 78795  
 78796  	var iValue int32
 78797  	var i int32
 78798  	*(*int32)(unsafe.Pointer(bp + 8)) = 0
 78799  
 78800  	var zOpName uintptr
 78801  
 78802  	if objc != 4 {
 78803  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16009)
 78804  		return TCL_ERROR
 78805  	}
 78806  	if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp) != 0 {
 78807  		return TCL_ERROR
 78808  	}
 78809  	zOpName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
 78810  	for i = 0; i < int32(uint64(unsafe.Sizeof(aOp))/uint64(unsafe.Sizeof(struct {
 78811  		FzName       uintptr
 78812  		Fop          int32
 78813  		F__ccgo_pad1 [4]byte
 78814  	}{}))); i++ {
 78815  		if libc.Xstrcmp(tls, aOp[i].FzName, zOpName) == 0 {
 78816  			*(*int32)(unsafe.Pointer(bp + 8)) = aOp[i].Fop
 78817  			break
 78818  		}
 78819  	}
 78820  	if i >= int32(uint64(unsafe.Sizeof(aOp))/uint64(unsafe.Sizeof(struct {
 78821  		FzName       uintptr
 78822  		Fop          int32
 78823  		F__ccgo_pad1 [4]byte
 78824  	}{}))) {
 78825  		if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+8) != 0 {
 78826  			return TCL_ERROR
 78827  		}
 78828  	}
 78829  	if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+12) != 0 {
 78830  		return TCL_ERROR
 78831  	}
 78832  	iValue = sqlite3.Xsqlite3_stmt_status(tls, *(*uintptr)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 8)), *(*int32)(unsafe.Pointer(bp + 12)))
 78833  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, iValue))
 78834  	return TCL_OK
 78835  }
 78836  
 78837  var aOp = [7]struct {
 78838  	FzName       uintptr
 78839  	Fop          int32
 78840  	F__ccgo_pad1 [4]byte
 78841  }{
 78842  	{FzName: ts + 16034, Fop: SQLITE_STMTSTATUS_FULLSCAN_STEP},
 78843  	{FzName: ts + 16066, Fop: SQLITE_STMTSTATUS_SORT},
 78844  	{FzName: ts + 16089, Fop: SQLITE_STMTSTATUS_AUTOINDEX},
 78845  	{FzName: ts + 16117, Fop: SQLITE_STMTSTATUS_VM_STEP},
 78846  	{FzName: ts + 16143, Fop: SQLITE_STMTSTATUS_REPREPARE},
 78847  	{FzName: ts + 16171, Fop: SQLITE_STMTSTATUS_RUN},
 78848  	{FzName: ts + 16193, Fop: SQLITE_STMTSTATUS_MEMUSED},
 78849  }
 78850  
 78851  func test_config_sorterref(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 78852  	bp := tls.Alloc(12)
 78853  	defer tls.Free(12)
 78854  
 78855  	if objc != 2 {
 78856  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16219)
 78857  		return TCL_ERROR
 78858  	}
 78859  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+8) != 0 {
 78860  		return TCL_ERROR
 78861  	}
 78862  	sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_SORTERREF_SIZE, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8))))
 78863  	return TCL_OK
 78864  }
 78865  
 78866  func vfsCurrentTimeInt64(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 78867  	bp := tls.Alloc(8)
 78868  	defer tls.Free(8)
 78869  
 78870  	var pVfs uintptr = sqlite3.Xsqlite3_vfs_find(tls, uintptr(0))
 78871  	if objc != 1 {
 78872  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+584)
 78873  		return TCL_ERROR
 78874  	}
 78875  	(*struct {
 78876  		f func(*libc.TLS, uintptr, uintptr) int32
 78877  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxCurrentTimeInt64})).f(tls, pVfs, bp)
 78878  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewWideIntObj(tls, *(*i64)(unsafe.Pointer(bp))))
 78879  	return TCL_OK
 78880  }
 78881  
 78882  func test_snapshot_get(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 78883  	bp := tls.Alloc(116)
 78884  	defer tls.Free(116)
 78885  
 78886  	var rc int32
 78887  
 78888  	var zName uintptr
 78889  	*(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0)
 78890  
 78891  	if objc != 3 {
 78892  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16225)
 78893  		return TCL_ERROR
 78894  	}
 78895  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp) != 0 {
 78896  		return TCL_ERROR
 78897  	}
 78898  	zName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
 78899  
 78900  	rc = sqlite3.Xsqlite3_snapshot_get(tls, *(*uintptr)(unsafe.Pointer(bp)), zName, bp+8)
 78901  	if rc != SQLITE_OK {
 78902  		tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3ErrName(tls, rc), -1))
 78903  		return TCL_ERROR
 78904  	} else {
 78905  		if sqlite3TestMakePointerStr(tls, interp, bp+16, *(*uintptr)(unsafe.Pointer(bp + 8))) != 0 {
 78906  			return TCL_ERROR
 78907  		}
 78908  		tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, bp+16, -1))
 78909  	}
 78910  	return TCL_OK
 78911  }
 78912  
 78913  func test_snapshot_recover(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 78914  	bp := tls.Alloc(8)
 78915  	defer tls.Free(8)
 78916  
 78917  	var rc int32
 78918  
 78919  	var zName uintptr
 78920  
 78921  	if objc != 3 {
 78922  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16225)
 78923  		return TCL_ERROR
 78924  	}
 78925  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp) != 0 {
 78926  		return TCL_ERROR
 78927  	}
 78928  	zName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
 78929  
 78930  	rc = sqlite3.Xsqlite3_snapshot_recover(tls, *(*uintptr)(unsafe.Pointer(bp)), zName)
 78931  	if rc != SQLITE_OK {
 78932  		tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3ErrName(tls, rc), -1))
 78933  		return TCL_ERROR
 78934  	} else {
 78935  		tcl.XTcl_ResetResult(tls, interp)
 78936  	}
 78937  	return TCL_OK
 78938  }
 78939  
 78940  func test_snapshot_open(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 78941  	bp := tls.Alloc(8)
 78942  	defer tls.Free(8)
 78943  
 78944  	var rc int32
 78945  
 78946  	var zName uintptr
 78947  	var pSnapshot uintptr
 78948  
 78949  	if objc != 4 {
 78950  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16235)
 78951  		return TCL_ERROR
 78952  	}
 78953  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp) != 0 {
 78954  		return TCL_ERROR
 78955  	}
 78956  	zName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
 78957  	pSnapshot = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8))))
 78958  
 78959  	rc = sqlite3.Xsqlite3_snapshot_open(tls, *(*uintptr)(unsafe.Pointer(bp)), zName, pSnapshot)
 78960  	if rc != SQLITE_OK {
 78961  		tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3ErrName(tls, rc), -1))
 78962  		return TCL_ERROR
 78963  	} else {
 78964  		tcl.XTcl_ResetResult(tls, interp)
 78965  	}
 78966  	return TCL_OK
 78967  }
 78968  
 78969  func test_snapshot_free(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 78970  	var pSnapshot uintptr
 78971  	if objc != 2 {
 78972  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16254)
 78973  		return TCL_ERROR
 78974  	}
 78975  	pSnapshot = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))))
 78976  	sqlite3.Xsqlite3_snapshot_free(tls, pSnapshot)
 78977  	return TCL_OK
 78978  }
 78979  
 78980  func test_snapshot_cmp(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 78981  	var res int32
 78982  	var p1 uintptr
 78983  	var p2 uintptr
 78984  	if objc != 3 {
 78985  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16263)
 78986  		return TCL_ERROR
 78987  	}
 78988  	p1 = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))))
 78989  	p2 = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))))
 78990  	res = sqlite3.Xsqlite3_snapshot_cmp(tls, p1, p2)
 78991  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, res))
 78992  	return TCL_OK
 78993  }
 78994  
 78995  func test_snapshot_get_blob(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 78996  	bp := tls.Alloc(16)
 78997  	defer tls.Free(16)
 78998  
 78999  	var rc int32
 79000  
 79001  	var zName uintptr
 79002  	*(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0)
 79003  
 79004  	if objc != 3 {
 79005  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16225)
 79006  		return TCL_ERROR
 79007  	}
 79008  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp) != 0 {
 79009  		return TCL_ERROR
 79010  	}
 79011  	zName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
 79012  
 79013  	rc = sqlite3.Xsqlite3_snapshot_get(tls, *(*uintptr)(unsafe.Pointer(bp)), zName, bp+8)
 79014  	if rc != SQLITE_OK {
 79015  		tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3ErrName(tls, rc), -1))
 79016  		return TCL_ERROR
 79017  	} else {
 79018  		tcl.XTcl_SetObjResult(tls, interp,
 79019  			tcl.XTcl_NewByteArrayObj(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), int32(unsafe.Sizeof(sqlite3_snapshot{}))))
 79020  		sqlite3.Xsqlite3_snapshot_free(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
 79021  	}
 79022  	return TCL_OK
 79023  }
 79024  
 79025  func test_snapshot_open_blob(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 79026  	bp := tls.Alloc(28)
 79027  	defer tls.Free(28)
 79028  
 79029  	var rc int32
 79030  
 79031  	var zName uintptr
 79032  	var pBlob uintptr
 79033  
 79034  	if objc != 4 {
 79035  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16235)
 79036  		return TCL_ERROR
 79037  	}
 79038  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+16) != 0 {
 79039  		return TCL_ERROR
 79040  	}
 79041  	zName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
 79042  	pBlob = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+24)
 79043  	if uint64(*(*int32)(unsafe.Pointer(bp + 24))) != uint64(unsafe.Sizeof(sqlite3_snapshot{})) {
 79044  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+16283, 0))
 79045  		return TCL_ERROR
 79046  	}
 79047  	rc = sqlite3.Xsqlite3_snapshot_open(tls, *(*uintptr)(unsafe.Pointer(bp + 16)), zName, pBlob)
 79048  	if rc != SQLITE_OK {
 79049  		tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3ErrName(tls, rc), -1))
 79050  		return TCL_ERROR
 79051  	}
 79052  	return TCL_OK
 79053  }
 79054  
 79055  func test_snapshot_cmp_blob(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 79056  	bp := tls.Alloc(24)
 79057  	defer tls.Free(24)
 79058  
 79059  	var res int32
 79060  	var p1 uintptr
 79061  	var p2 uintptr
 79062  
 79063  	if objc != 3 {
 79064  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16263)
 79065  		return TCL_ERROR
 79066  	}
 79067  
 79068  	p1 = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+16)
 79069  	p2 = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+20)
 79070  
 79071  	if uint64(*(*int32)(unsafe.Pointer(bp + 16))) != uint64(unsafe.Sizeof(sqlite3_snapshot{})) || *(*int32)(unsafe.Pointer(bp + 16)) != *(*int32)(unsafe.Pointer(bp + 20)) {
 79072  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+16283, 0))
 79073  		return TCL_ERROR
 79074  	}
 79075  
 79076  	res = sqlite3.Xsqlite3_snapshot_cmp(tls, p1, p2)
 79077  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, res))
 79078  	return TCL_OK
 79079  }
 79080  
 79081  func test_delete_database(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 79082  	var rc int32
 79083  	var zFile uintptr
 79084  	if objc != 2 {
 79085  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16296)
 79086  		return TCL_ERROR
 79087  	}
 79088  	zFile = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))
 79089  	rc = sqlite3_delete_database(tls, zFile)
 79090  
 79091  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3ErrName(tls, rc), -1))
 79092  	return TCL_OK
 79093  }
 79094  
 79095  func test_atomic_batch_write(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 79096  	bp := tls.Alloc(32)
 79097  	defer tls.Free(32)
 79098  
 79099  	var zFile uintptr = uintptr(0)
 79100  	*(*uintptr)(unsafe.Pointer(bp + 16)) = uintptr(0)
 79101  	*(*uintptr)(unsafe.Pointer(bp + 24)) = uintptr(0)
 79102  	var bRes int32 = 0
 79103  	var dc int32 = 0
 79104  	var rc int32
 79105  
 79106  	if objc != 2 {
 79107  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16301)
 79108  		return TCL_ERROR
 79109  	}
 79110  	zFile = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))
 79111  
 79112  	rc = sqlite3.Xsqlite3_open(tls, zFile, bp+16)
 79113  	if rc != SQLITE_OK {
 79114  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 16))), 0))
 79115  		sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 16)))
 79116  		return TCL_ERROR
 79117  	}
 79118  
 79119  	rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 16)), ts+85, SQLITE_FCNTL_FILE_POINTER, bp+24)
 79120  	dc = (*struct {
 79121  		f func(*libc.TLS, uintptr) int32
 79122  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FpMethods)).FxDeviceCharacteristics})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 24)))
 79123  	if dc&SQLITE_IOCAP_BATCH_ATOMIC != 0 {
 79124  		bRes = 1
 79125  	}
 79126  
 79127  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, bRes))
 79128  	sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 16)))
 79129  	return TCL_OK
 79130  }
 79131  
 79132  func test_next_stmt(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 79133  	bp := tls.Alloc(114)
 79134  	defer tls.Free(114)
 79135  
 79136  	*(*uintptr)(unsafe.Pointer(bp + 48)) = uintptr(0)
 79137  
 79138  	if objc != 3 {
 79139  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949,
 79140  			tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16306, 0))
 79141  		return TCL_ERROR
 79142  	}
 79143  
 79144  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+48) != 0 {
 79145  		return TCL_ERROR
 79146  	}
 79147  	if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), bp+56) != 0 {
 79148  		return TCL_ERROR
 79149  	}
 79150  	*(*uintptr)(unsafe.Pointer(bp + 56)) = sqlite3.Xsqlite3_next_stmt(tls, *(*uintptr)(unsafe.Pointer(bp + 48)), *(*uintptr)(unsafe.Pointer(bp + 56)))
 79151  	if *(*uintptr)(unsafe.Pointer(bp + 56)) != 0 {
 79152  		if sqlite3TestMakePointerStr(tls, interp, bp+64, *(*uintptr)(unsafe.Pointer(bp + 56))) != 0 {
 79153  			return TCL_ERROR
 79154  		}
 79155  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, bp+64, 0))
 79156  	}
 79157  	return TCL_OK
 79158  }
 79159  
 79160  func test_stmt_readonly(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 79161  	bp := tls.Alloc(40)
 79162  	defer tls.Free(40)
 79163  
 79164  	var rc int32
 79165  
 79166  	if objc != 2 {
 79167  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949,
 79168  			tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16315, 0))
 79169  		return TCL_ERROR
 79170  	}
 79171  
 79172  	if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32) != 0 {
 79173  		return TCL_ERROR
 79174  	}
 79175  	rc = sqlite3.Xsqlite3_stmt_readonly(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))
 79176  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, libc.Bool32(rc != 0)))
 79177  	return TCL_OK
 79178  }
 79179  
 79180  func test_stmt_isexplain(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 79181  	bp := tls.Alloc(40)
 79182  	defer tls.Free(40)
 79183  
 79184  	var rc int32
 79185  
 79186  	if objc != 2 {
 79187  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949,
 79188  			tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16315, 0))
 79189  		return TCL_ERROR
 79190  	}
 79191  
 79192  	if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32) != 0 {
 79193  		return TCL_ERROR
 79194  	}
 79195  	rc = sqlite3.Xsqlite3_stmt_isexplain(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))
 79196  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, rc))
 79197  	return TCL_OK
 79198  }
 79199  
 79200  func test_stmt_busy(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 79201  	bp := tls.Alloc(40)
 79202  	defer tls.Free(40)
 79203  
 79204  	var rc int32
 79205  
 79206  	if objc != 2 {
 79207  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949,
 79208  			tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16315, 0))
 79209  		return TCL_ERROR
 79210  	}
 79211  
 79212  	if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32) != 0 {
 79213  		return TCL_ERROR
 79214  	}
 79215  	rc = sqlite3.Xsqlite3_stmt_busy(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))
 79216  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, libc.Bool32(rc != 0)))
 79217  	return TCL_OK
 79218  }
 79219  
 79220  func uses_stmt_journal(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 79221  	bp := tls.Alloc(40)
 79222  	defer tls.Free(40)
 79223  
 79224  	if objc != 2 {
 79225  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949,
 79226  			tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16315, 0))
 79227  		return TCL_ERROR
 79228  	}
 79229  
 79230  	if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32) != 0 {
 79231  		return TCL_ERROR
 79232  	}
 79233  	sqlite3.Xsqlite3_stmt_readonly(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))
 79234  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, libc.Bool32(int32(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32)) + 200))&0x20>>5) != 0)))
 79235  	return TCL_OK
 79236  }
 79237  
 79238  func test_reset(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 79239  	bp := tls.Alloc(40)
 79240  	defer tls.Free(40)
 79241  
 79242  	var rc int32
 79243  
 79244  	if objc != 2 {
 79245  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949,
 79246  			tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16001, 0))
 79247  		return TCL_ERROR
 79248  	}
 79249  
 79250  	if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32) != 0 {
 79251  		return TCL_ERROR
 79252  	}
 79253  
 79254  	rc = sqlite3.Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))
 79255  	if *(*uintptr)(unsafe.Pointer(bp + 32)) != 0 && sqlite3TestErrCode(tls, interp, sqlite3.Xsqlite3_db_handle(tls, *(*uintptr)(unsafe.Pointer(bp + 32))), rc) != 0 {
 79256  		return TCL_ERROR
 79257  	}
 79258  	tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0))
 79259  
 79260  	return TCL_OK
 79261  }
 79262  
 79263  func test_expired(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 79264  	bp := tls.Alloc(40)
 79265  	defer tls.Free(40)
 79266  
 79267  	if objc != 2 {
 79268  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949,
 79269  			tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16001, 0))
 79270  		return TCL_ERROR
 79271  	}
 79272  	if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32) != 0 {
 79273  		return TCL_ERROR
 79274  	}
 79275  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, libc.Bool32(sqlite3.Xsqlite3_expired(tls, *(*uintptr)(unsafe.Pointer(bp + 32))) != 0)))
 79276  	return TCL_OK
 79277  }
 79278  
 79279  func test_transfer_bind(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 79280  	bp := tls.Alloc(48)
 79281  	defer tls.Free(48)
 79282  
 79283  	if objc != 3 {
 79284  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949,
 79285  			tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16321, 0))
 79286  		return TCL_ERROR
 79287  	}
 79288  	if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32) != 0 {
 79289  		return TCL_ERROR
 79290  	}
 79291  	if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), bp+40) != 0 {
 79292  		return TCL_ERROR
 79293  	}
 79294  	tcl.XTcl_SetObjResult(tls, interp,
 79295  		tcl.XTcl_NewIntObj(tls, sqlite3.Xsqlite3_transfer_bindings(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), *(*uintptr)(unsafe.Pointer(bp + 40)))))
 79296  	return TCL_OK
 79297  }
 79298  
 79299  func test_changes(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 79300  	bp := tls.Alloc(40)
 79301  	defer tls.Free(40)
 79302  
 79303  	if objc != 2 {
 79304  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949,
 79305  			tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+15001, 0))
 79306  		return TCL_ERROR
 79307  	}
 79308  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32) != 0 {
 79309  		return TCL_ERROR
 79310  	}
 79311  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, sqlite3.Xsqlite3_changes(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))))
 79312  	return TCL_OK
 79313  }
 79314  
 79315  var sqlite_static_bind_value uintptr = uintptr(0)
 79316  var sqlite_static_bind_nbyte int32 = 0
 79317  
 79318  func test_bind(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 79319  	bp := tls.Alloc(142)
 79320  	defer tls.Free(142)
 79321  
 79322  	var rc int32
 79323  
 79324  	if argc != 5 {
 79325  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 79326  			ts+16340, 0))
 79327  		return TCL_ERROR
 79328  	}
 79329  	if getStmtPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+80) != 0 {
 79330  		return TCL_ERROR
 79331  	}
 79332  	if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+88) != 0 {
 79333  		return TCL_ERROR
 79334  	}
 79335  	if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*8)), ts+7939) == 0 {
 79336  		rc = sqlite3.Xsqlite3_bind_null(tls, *(*uintptr)(unsafe.Pointer(bp + 80)), *(*int32)(unsafe.Pointer(bp + 88)))
 79337  	} else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*8)), ts+16376) == 0 {
 79338  		rc = sqlite3.Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp + 80)), *(*int32)(unsafe.Pointer(bp + 88)), sqlite_static_bind_value, -1, uintptr(0))
 79339  	} else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*8)), ts+16383) == 0 {
 79340  		rc = sqlite3.Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp + 80)), *(*int32)(unsafe.Pointer(bp + 88)), sqlite_static_bind_value,
 79341  			sqlite_static_bind_nbyte, uintptr(0))
 79342  	} else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*8)), ts+16397) == 0 {
 79343  		rc = sqlite3.Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp + 80)), *(*int32)(unsafe.Pointer(bp + 88)), *(*uintptr)(unsafe.Pointer(argv + 3*8)), -1, libc.UintptrFromInt32(-1))
 79344  	} else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*8)), ts+16404) == 0 {
 79345  		rc = sqlite3.Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp + 80)), *(*int32)(unsafe.Pointer(bp + 88)), ts+16411, 10, uintptr(0))
 79346  	} else {
 79347  		tcl.XTcl_AppendResult(tls, interp,
 79348  			libc.VaList(bp+32, ts+16422, 0))
 79349  		return TCL_ERROR
 79350  	}
 79351  	if sqlite3TestErrCode(tls, interp, sqlite3.Xsqlite3_db_handle(tls, *(*uintptr)(unsafe.Pointer(bp + 80))), rc) != 0 {
 79352  		return TCL_ERROR
 79353  	}
 79354  	if rc != 0 {
 79355  		sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+92, ts+16476, libc.VaList(bp+48, rc))
 79356  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+92, sqlite3.Xsqlite3ErrStr(tls, rc), 0))
 79357  		return TCL_ERROR
 79358  	}
 79359  	return TCL_OK
 79360  }
 79361  
 79362  var pTestCollateInterp uintptr
 79363  
 79364  func test_collate_func(tls *libc.TLS, pCtx uintptr, nA int32, zA uintptr, nB int32, zB uintptr) int32 {
 79365  	bp := tls.Alloc(4)
 79366  	defer tls.Free(4)
 79367  
 79368  	var i uintptr = pTestCollateInterp
 79369  	var encin int32 = int32(pCtx)
 79370  
 79371  	var n int32
 79372  	var pVal uintptr
 79373  	var pX uintptr
 79374  
 79375  	pX = tcl.XTcl_NewStringObj(tls, ts+16482, -1)
 79376  	(*Tcl_Obj)(unsafe.Pointer(pX)).FrefCount++
 79377  
 79378  	switch encin {
 79379  	case SQLITE_UTF8:
 79380  		tcl.XTcl_ListObjAppendElement(tls, i, pX, tcl.XTcl_NewStringObj(tls, ts+16495, -1))
 79381  		break
 79382  	case SQLITE_UTF16LE:
 79383  		tcl.XTcl_ListObjAppendElement(tls, i, pX, tcl.XTcl_NewStringObj(tls, ts+16501, -1))
 79384  		break
 79385  	case SQLITE_UTF16BE:
 79386  		tcl.XTcl_ListObjAppendElement(tls, i, pX, tcl.XTcl_NewStringObj(tls, ts+16510, -1))
 79387  		break
 79388  	default:
 79389  	}
 79390  
 79391  	sqlite3.Xsqlite3BeginBenignMalloc(tls)
 79392  	pVal = sqlite3.Xsqlite3ValueNew(tls, uintptr(0))
 79393  	if pVal != 0 {
 79394  		sqlite3.Xsqlite3ValueSetStr(tls, pVal, nA, zA, uint8(encin), uintptr(0))
 79395  		n = sqlite3.Xsqlite3_value_bytes(tls, pVal)
 79396  		tcl.XTcl_ListObjAppendElement(tls, i, pX,
 79397  			tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3_value_text(tls, pVal), n))
 79398  		sqlite3.Xsqlite3ValueSetStr(tls, pVal, nB, zB, uint8(encin), uintptr(0))
 79399  		n = sqlite3.Xsqlite3_value_bytes(tls, pVal)
 79400  		tcl.XTcl_ListObjAppendElement(tls, i, pX,
 79401  			tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3_value_text(tls, pVal), n))
 79402  		sqlite3.Xsqlite3ValueFree(tls, pVal)
 79403  	}
 79404  	sqlite3.Xsqlite3EndBenignMalloc(tls)
 79405  
 79406  	tcl.XTcl_EvalObjEx(tls, i, pX, 0)
 79407  	for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
 79408  		var _objPtr uintptr = pX
 79409  		if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 79410  			tcl.XTclFreeObj(tls, _objPtr)
 79411  		}
 79412  	}
 79413  	tcl.XTcl_GetIntFromObj(tls, i, tcl.XTcl_GetObjResult(tls, i), bp)
 79414  	return *(*int32)(unsafe.Pointer(bp))
 79415  }
 79416  
 79417  func test_collate(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 79418  	bp := tls.Alloc(60)
 79419  	defer tls.Free(60)
 79420  
 79421  	var pVal uintptr
 79422  	var rc int32
 79423  	var zUtf16 uintptr
 79424  
 79425  	if !(objc != 5) {
 79426  		goto __1
 79427  	}
 79428  	goto bad_args
 79429  __1:
 79430  	;
 79431  	pTestCollateInterp = interp
 79432  	if !(getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+48) != 0) {
 79433  		goto __2
 79434  	}
 79435  	return TCL_ERROR
 79436  __2:
 79437  	;
 79438  	if !(TCL_OK != tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+56)) {
 79439  		goto __3
 79440  	}
 79441  	return TCL_ERROR
 79442  __3:
 79443  	;
 79444  	rc = sqlite3.Xsqlite3_create_collation(tls, *(*uintptr)(unsafe.Pointer(bp + 48)), ts+16482, SQLITE_UTF8,
 79445  		uintptr(SQLITE_UTF8), func() uintptr {
 79446  			if *(*int32)(unsafe.Pointer(bp + 56)) != 0 {
 79447  				return *(*uintptr)(unsafe.Pointer(&struct {
 79448  					f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 79449  				}{test_collate_func}))
 79450  			}
 79451  			return uintptr(0)
 79452  		}())
 79453  	if !(rc == SQLITE_OK) {
 79454  		goto __4
 79455  	}
 79456  	if !(TCL_OK != tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+56)) {
 79457  		goto __5
 79458  	}
 79459  	return TCL_ERROR
 79460  __5:
 79461  	;
 79462  	rc = sqlite3.Xsqlite3_create_collation(tls, *(*uintptr)(unsafe.Pointer(bp + 48)), ts+16482, SQLITE_UTF16LE,
 79463  		uintptr(SQLITE_UTF16LE), func() uintptr {
 79464  			if *(*int32)(unsafe.Pointer(bp + 56)) != 0 {
 79465  				return *(*uintptr)(unsafe.Pointer(&struct {
 79466  					f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 79467  				}{test_collate_func}))
 79468  			}
 79469  			return uintptr(0)
 79470  		}())
 79471  	if !(TCL_OK != tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 4*8)), bp+56)) {
 79472  		goto __6
 79473  	}
 79474  	return TCL_ERROR
 79475  __6:
 79476  	;
 79477  	sqlite3.Xsqlite3_mutex_enter(tls, (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 48)))).Fmutex)
 79478  	pVal = sqlite3.Xsqlite3ValueNew(tls, *(*uintptr)(unsafe.Pointer(bp + 48)))
 79479  	sqlite3.Xsqlite3ValueSetStr(tls, pVal, -1, ts+16482, uint8(SQLITE_UTF8), uintptr(0))
 79480  	zUtf16 = sqlite3.Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF16LE))
 79481  	if !((*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 48)))).FmallocFailed != 0) {
 79482  		goto __7
 79483  	}
 79484  	rc = SQLITE_NOMEM
 79485  	goto __8
 79486  __7:
 79487  	rc = sqlite3.Xsqlite3_create_collation16(tls, *(*uintptr)(unsafe.Pointer(bp + 48)), zUtf16, SQLITE_UTF16BE,
 79488  		uintptr(SQLITE_UTF16BE), func() uintptr {
 79489  			if *(*int32)(unsafe.Pointer(bp + 56)) != 0 {
 79490  				return *(*uintptr)(unsafe.Pointer(&struct {
 79491  					f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 79492  				}{test_collate_func}))
 79493  			}
 79494  			return uintptr(0)
 79495  		}())
 79496  __8:
 79497  	;
 79498  	sqlite3.Xsqlite3ValueFree(tls, pVal)
 79499  	sqlite3.Xsqlite3_mutex_leave(tls, (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 48)))).Fmutex)
 79500  __4:
 79501  	;
 79502  	if !(sqlite3TestErrCode(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 48)), rc) != 0) {
 79503  		goto __9
 79504  	}
 79505  	return TCL_ERROR
 79506  __9:
 79507  	;
 79508  	if !(rc != SQLITE_OK) {
 79509  		goto __10
 79510  	}
 79511  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, sqlite3.Xsqlite3ErrName(tls, rc), 0))
 79512  	return TCL_ERROR
 79513  __10:
 79514  	;
 79515  	return TCL_OK
 79516  
 79517  bad_args:
 79518  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+14949,
 79519  		tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16519, 0))
 79520  	return TCL_ERROR
 79521  }
 79522  
 79523  func test_utf16bin_collate_func(tls *libc.TLS, pCtx uintptr, nA int32, zA uintptr, nB int32, zB uintptr) int32 {
 79524  	var nCmp int32 = func() int32 {
 79525  		if nA > nB {
 79526  			return nB
 79527  		}
 79528  		return nA
 79529  	}()
 79530  	var res int32 = libc.Xmemcmp(tls, zA, zB, uint64(nCmp))
 79531  	if res == 0 {
 79532  		res = nA - nB
 79533  	}
 79534  	return res
 79535  }
 79536  
 79537  func test_utf16bin_collate(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 79538  	bp := tls.Alloc(8)
 79539  	defer tls.Free(8)
 79540  
 79541  	var rc int32
 79542  
 79543  	if !(objc != 2) {
 79544  		goto __1
 79545  	}
 79546  	goto bad_args
 79547  __1:
 79548  	;
 79549  	if !(getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp) != 0) {
 79550  		goto __2
 79551  	}
 79552  	return TCL_ERROR
 79553  __2:
 79554  	;
 79555  	rc = sqlite3.Xsqlite3_create_collation(tls, *(*uintptr)(unsafe.Pointer(bp)), ts+16552, SQLITE_UTF16, uintptr(0),
 79556  		*(*uintptr)(unsafe.Pointer(&struct {
 79557  			f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 79558  		}{test_utf16bin_collate_func})))
 79559  	if !(sqlite3TestErrCode(tls, interp, *(*uintptr)(unsafe.Pointer(bp)), rc) != 0) {
 79560  		goto __3
 79561  	}
 79562  	return TCL_ERROR
 79563  __3:
 79564  	;
 79565  	return TCL_OK
 79566  
 79567  bad_args:
 79568  	tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+2050)
 79569  	return TCL_ERROR
 79570  }
 79571  
 79572  var zNeededCollation [200]int8
 79573  var pzNeededCollation uintptr = 0
 79574  
 79575  func test_collate_needed_cb(tls *libc.TLS, pCtx uintptr, db uintptr, eTextRep int32, pName uintptr) {
 79576  	var enc int32 = int32((*sqlite31)(unsafe.Pointer(db)).Fenc)
 79577  	var i int32
 79578  	var z uintptr
 79579  	z = pName
 79580  	i = 0
 79581  	for ; *(*int8)(unsafe.Pointer(z)) != 0 || *(*int8)(unsafe.Pointer(z + 1)) != 0; z++ {
 79582  		if *(*int8)(unsafe.Pointer(z)) != 0 {
 79583  			zNeededCollation[libc.PostIncInt32(&i, 1)] = *(*int8)(unsafe.Pointer(z))
 79584  		}
 79585  	}
 79586  	zNeededCollation[i] = int8(0)
 79587  	sqlite3.Xsqlite3_create_collation(tls,
 79588  		db, ts+16482, int32((*sqlite31)(unsafe.Pointer(db)).Fenc), uintptr(intptr_t(enc)), *(*uintptr)(unsafe.Pointer(&struct {
 79589  			f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 79590  		}{test_collate_func})))
 79591  }
 79592  
 79593  func test_collate_needed(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 79594  	bp := tls.Alloc(8)
 79595  	defer tls.Free(8)
 79596  
 79597  	var rc int32
 79598  
 79599  	if !(objc != 2) {
 79600  		goto __1
 79601  	}
 79602  	goto bad_args
 79603  __1:
 79604  	;
 79605  	if !(getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp) != 0) {
 79606  		goto __2
 79607  	}
 79608  	return TCL_ERROR
 79609  __2:
 79610  	;
 79611  	rc = sqlite3.Xsqlite3_collation_needed16(tls, *(*uintptr)(unsafe.Pointer(bp)), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 79612  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr)
 79613  	}{test_collate_needed_cb})))
 79614  	zNeededCollation[0] = int8(0)
 79615  	if !(sqlite3TestErrCode(tls, interp, *(*uintptr)(unsafe.Pointer(bp)), rc) != 0) {
 79616  		goto __3
 79617  	}
 79618  	return TCL_ERROR
 79619  __3:
 79620  	;
 79621  	return TCL_OK
 79622  
 79623  bad_args:
 79624  	tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+2050)
 79625  	return TCL_ERROR
 79626  }
 79627  
 79628  var unaligned_string_counter int32 = 0
 79629  
 79630  func alignmentCollFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 {
 79631  	var rc int32
 79632  	var n int32
 79633  	if nKey1 < nKey2 {
 79634  		n = nKey1
 79635  	} else {
 79636  		n = nKey2
 79637  	}
 79638  	if nKey1 > 0 && 1 == 1&int32(pKey1) {
 79639  		unaligned_string_counter++
 79640  	}
 79641  	if nKey2 > 0 && 1 == 1&int32(pKey2) {
 79642  		unaligned_string_counter++
 79643  	}
 79644  	rc = libc.Xmemcmp(tls, pKey1, pKey2, uint64(n))
 79645  	if rc == 0 {
 79646  		rc = nKey1 - nKey2
 79647  	}
 79648  	return rc
 79649  }
 79650  
 79651  func add_alignment_test_collations(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 79652  	bp := tls.Alloc(8)
 79653  	defer tls.Free(8)
 79654  
 79655  	if objc >= 2 {
 79656  		if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp) != 0 {
 79657  			return TCL_ERROR
 79658  		}
 79659  		sqlite3.Xsqlite3_create_collation(tls, *(*uintptr)(unsafe.Pointer(bp)), ts+16561, SQLITE_UTF16,
 79660  			uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 79661  				f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 79662  			}{alignmentCollFunc})))
 79663  		sqlite3.Xsqlite3_create_collation(tls, *(*uintptr)(unsafe.Pointer(bp)), ts+16577, SQLITE_UTF16_ALIGNED,
 79664  			uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 79665  				f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32
 79666  			}{alignmentCollFunc})))
 79667  	}
 79668  	return SQLITE_OK
 79669  }
 79670  
 79671  func test_function_utf8(tls *libc.TLS, pCtx uintptr, nArg int32, argv uintptr) {
 79672  	var interp uintptr
 79673  	var pX uintptr
 79674  	var pVal uintptr
 79675  	interp = sqlite3.Xsqlite3_user_data(tls, pCtx)
 79676  	pX = tcl.XTcl_NewStringObj(tls, ts+16591, -1)
 79677  	(*Tcl_Obj)(unsafe.Pointer(pX)).FrefCount++
 79678  	tcl.XTcl_ListObjAppendElement(tls, interp, pX, tcl.XTcl_NewStringObj(tls, ts+16495, -1))
 79679  	tcl.XTcl_ListObjAppendElement(tls, interp, pX,
 79680  		tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))), -1))
 79681  	tcl.XTcl_EvalObjEx(tls, interp, pX, 0)
 79682  	for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
 79683  		var _objPtr uintptr = pX
 79684  		if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 79685  			tcl.XTclFreeObj(tls, _objPtr)
 79686  		}
 79687  	}
 79688  	sqlite3.Xsqlite3_result_text(tls, pCtx, tcl.XTcl_GetStringResult(tls, interp), -1, libc.UintptrFromInt32(-1))
 79689  	pVal = sqlite3.Xsqlite3ValueNew(tls, uintptr(0))
 79690  	sqlite3.Xsqlite3ValueSetStr(tls, pVal, -1, tcl.XTcl_GetStringResult(tls, interp),
 79691  		uint8(SQLITE_UTF8), uintptr(0))
 79692  	sqlite3.Xsqlite3_result_text16be(tls, pCtx, sqlite3.Xsqlite3_value_text16be(tls, pVal),
 79693  		-1, libc.UintptrFromInt32(-1))
 79694  	sqlite3.Xsqlite3ValueFree(tls, pVal)
 79695  }
 79696  
 79697  func test_function_utf16le(tls *libc.TLS, pCtx uintptr, nArg int32, argv uintptr) {
 79698  	var interp uintptr
 79699  	var pX uintptr
 79700  	var pVal uintptr
 79701  	interp = sqlite3.Xsqlite3_user_data(tls, pCtx)
 79702  	pX = tcl.XTcl_NewStringObj(tls, ts+16591, -1)
 79703  	(*Tcl_Obj)(unsafe.Pointer(pX)).FrefCount++
 79704  	tcl.XTcl_ListObjAppendElement(tls, interp, pX, tcl.XTcl_NewStringObj(tls, ts+16501, -1))
 79705  	tcl.XTcl_ListObjAppendElement(tls, interp, pX,
 79706  		tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))), -1))
 79707  	tcl.XTcl_EvalObjEx(tls, interp, pX, 0)
 79708  	for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
 79709  		var _objPtr uintptr = pX
 79710  		if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 79711  			tcl.XTclFreeObj(tls, _objPtr)
 79712  		}
 79713  	}
 79714  	pVal = sqlite3.Xsqlite3ValueNew(tls, uintptr(0))
 79715  	sqlite3.Xsqlite3ValueSetStr(tls, pVal, -1, tcl.XTcl_GetStringResult(tls, interp),
 79716  		uint8(SQLITE_UTF8), uintptr(0))
 79717  	sqlite3.Xsqlite3_result_text(tls, pCtx, sqlite3.Xsqlite3_value_text(tls, pVal), -1, libc.UintptrFromInt32(-1))
 79718  	sqlite3.Xsqlite3ValueFree(tls, pVal)
 79719  }
 79720  
 79721  func test_function_utf16be(tls *libc.TLS, pCtx uintptr, nArg int32, argv uintptr) {
 79722  	var interp uintptr
 79723  	var pX uintptr
 79724  	var pVal uintptr
 79725  	interp = sqlite3.Xsqlite3_user_data(tls, pCtx)
 79726  	pX = tcl.XTcl_NewStringObj(tls, ts+16591, -1)
 79727  	(*Tcl_Obj)(unsafe.Pointer(pX)).FrefCount++
 79728  	tcl.XTcl_ListObjAppendElement(tls, interp, pX, tcl.XTcl_NewStringObj(tls, ts+16510, -1))
 79729  	tcl.XTcl_ListObjAppendElement(tls, interp, pX,
 79730  		tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))), -1))
 79731  	tcl.XTcl_EvalObjEx(tls, interp, pX, 0)
 79732  	for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
 79733  		var _objPtr uintptr = pX
 79734  		if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 79735  			tcl.XTclFreeObj(tls, _objPtr)
 79736  		}
 79737  	}
 79738  	pVal = sqlite3.Xsqlite3ValueNew(tls, uintptr(0))
 79739  	sqlite3.Xsqlite3ValueSetStr(tls, pVal, -1, tcl.XTcl_GetStringResult(tls, interp),
 79740  		uint8(SQLITE_UTF8), uintptr(0))
 79741  	sqlite3.Xsqlite3_result_text16(tls, pCtx, sqlite3.Xsqlite3_value_text16le(tls, pVal),
 79742  		-1, libc.UintptrFromInt32(-1))
 79743  	sqlite3.Xsqlite3_result_text16be(tls, pCtx, sqlite3.Xsqlite3_value_text16le(tls, pVal),
 79744  		-1, libc.UintptrFromInt32(-1))
 79745  	sqlite3.Xsqlite3_result_text16le(tls, pCtx, sqlite3.Xsqlite3_value_text16le(tls, pVal),
 79746  		-1, libc.UintptrFromInt32(-1))
 79747  	sqlite3.Xsqlite3ValueFree(tls, pVal)
 79748  }
 79749  
 79750  func test_function(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 79751  	bp := tls.Alloc(44)
 79752  	defer tls.Free(44)
 79753  
 79754  	if !(objc != 5) {
 79755  		goto __1
 79756  	}
 79757  	goto bad_args
 79758  __1:
 79759  	;
 79760  	if !(getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32) != 0) {
 79761  		goto __2
 79762  	}
 79763  	return TCL_ERROR
 79764  __2:
 79765  	;
 79766  	if !(TCL_OK != tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+40)) {
 79767  		goto __3
 79768  	}
 79769  	return TCL_ERROR
 79770  __3:
 79771  	;
 79772  	if !(*(*int32)(unsafe.Pointer(bp + 40)) != 0) {
 79773  		goto __4
 79774  	}
 79775  	sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), ts+16591, 1, SQLITE_UTF8,
 79776  		interp, *(*uintptr)(unsafe.Pointer(&struct {
 79777  			f func(*libc.TLS, uintptr, int32, uintptr)
 79778  		}{test_function_utf8})), uintptr(0), uintptr(0))
 79779  __4:
 79780  	;
 79781  	if !(TCL_OK != tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+40)) {
 79782  		goto __5
 79783  	}
 79784  	return TCL_ERROR
 79785  __5:
 79786  	;
 79787  	if !(*(*int32)(unsafe.Pointer(bp + 40)) != 0) {
 79788  		goto __6
 79789  	}
 79790  	sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), ts+16591, 1, SQLITE_UTF16LE,
 79791  		interp, *(*uintptr)(unsafe.Pointer(&struct {
 79792  			f func(*libc.TLS, uintptr, int32, uintptr)
 79793  		}{test_function_utf16le})), uintptr(0), uintptr(0))
 79794  __6:
 79795  	;
 79796  	if !(TCL_OK != tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 4*8)), bp+40)) {
 79797  		goto __7
 79798  	}
 79799  	return TCL_ERROR
 79800  __7:
 79801  	;
 79802  	if !(*(*int32)(unsafe.Pointer(bp + 40)) != 0) {
 79803  		goto __8
 79804  	}
 79805  	sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), ts+16591, 1, SQLITE_UTF16BE,
 79806  		interp, *(*uintptr)(unsafe.Pointer(&struct {
 79807  			f func(*libc.TLS, uintptr, int32, uintptr)
 79808  		}{test_function_utf16be})), uintptr(0), uintptr(0))
 79809  __8:
 79810  	;
 79811  	return TCL_OK
 79812  bad_args:
 79813  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949,
 79814  		tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16519, 0))
 79815  	return TCL_ERROR
 79816  }
 79817  
 79818  func test_errstr(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 79819  	var zCode uintptr
 79820  	var i int32
 79821  	if objc != 1 {
 79822  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16605)
 79823  	}
 79824  
 79825  	zCode = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))
 79826  	for i = 0; i < 200; i++ {
 79827  		if 0 == libc.Xstrcmp(tls, sqlite3.Xsqlite3ErrName(tls, i), zCode) {
 79828  			break
 79829  		}
 79830  	}
 79831  	tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrStr(tls, i), uintptr(0))
 79832  	return TCL_OK
 79833  }
 79834  
 79835  func test_breakpoint(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 79836  	return TCL_OK
 79837  }
 79838  
 79839  func test_bind_zeroblob(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 79840  	bp := tls.Alloc(16)
 79841  	defer tls.Free(16)
 79842  
 79843  	var rc int32
 79844  
 79845  	if objc != 4 {
 79846  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16618)
 79847  		return TCL_ERROR
 79848  	}
 79849  
 79850  	if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp) != 0 {
 79851  		return TCL_ERROR
 79852  	}
 79853  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+8) != 0 {
 79854  		return TCL_ERROR
 79855  	}
 79856  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+12) != 0 {
 79857  		return TCL_ERROR
 79858  	}
 79859  
 79860  	rc = sqlite3.Xsqlite3_bind_zeroblob(tls, *(*uintptr)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 8)), *(*int32)(unsafe.Pointer(bp + 12)))
 79861  	if sqlite3TestErrCode(tls, interp, sqlite3.Xsqlite3_db_handle(tls, *(*uintptr)(unsafe.Pointer(bp))), rc) != 0 {
 79862  		return TCL_ERROR
 79863  	}
 79864  	if rc != SQLITE_OK {
 79865  		return TCL_ERROR
 79866  	}
 79867  
 79868  	return TCL_OK
 79869  }
 79870  
 79871  func test_bind_zeroblob64(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 79872  	bp := tls.Alloc(40)
 79873  	defer tls.Free(40)
 79874  
 79875  	var rc int32
 79876  
 79877  	if objc != 4 {
 79878  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16618)
 79879  		return TCL_ERROR
 79880  	}
 79881  
 79882  	if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+16) != 0 {
 79883  		return TCL_ERROR
 79884  	}
 79885  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+24) != 0 {
 79886  		return TCL_ERROR
 79887  	}
 79888  	if tcl.XTcl_GetWideIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+32) != 0 {
 79889  		return TCL_ERROR
 79890  	}
 79891  
 79892  	rc = sqlite3.Xsqlite3_bind_zeroblob64(tls, *(*uintptr)(unsafe.Pointer(bp + 16)), *(*int32)(unsafe.Pointer(bp + 24)), uint64(*(*Tcl_WideInt)(unsafe.Pointer(bp + 32))))
 79893  	if sqlite3TestErrCode(tls, interp, sqlite3.Xsqlite3_db_handle(tls, *(*uintptr)(unsafe.Pointer(bp + 16))), rc) != 0 {
 79894  		return TCL_ERROR
 79895  	}
 79896  	if rc != SQLITE_OK {
 79897  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, sqlite3.Xsqlite3ErrName(tls, rc), 0))
 79898  		return TCL_ERROR
 79899  	}
 79900  
 79901  	return TCL_OK
 79902  }
 79903  
 79904  func test_bind_int(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 79905  	bp := tls.Alloc(48)
 79906  	defer tls.Free(48)
 79907  
 79908  	var rc int32
 79909  
 79910  	if objc != 4 {
 79911  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949,
 79912  			tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16629, 0))
 79913  		return TCL_ERROR
 79914  	}
 79915  
 79916  	if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32) != 0 {
 79917  		return TCL_ERROR
 79918  	}
 79919  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+40) != 0 {
 79920  		return TCL_ERROR
 79921  	}
 79922  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+44) != 0 {
 79923  		return TCL_ERROR
 79924  	}
 79925  
 79926  	rc = sqlite3.Xsqlite3_bind_int(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), *(*int32)(unsafe.Pointer(bp + 40)), *(*int32)(unsafe.Pointer(bp + 44)))
 79927  	if sqlite3TestErrCode(tls, interp, sqlite3.Xsqlite3_db_handle(tls, *(*uintptr)(unsafe.Pointer(bp + 32))), rc) != 0 {
 79928  		return TCL_ERROR
 79929  	}
 79930  	if rc != SQLITE_OK {
 79931  		return TCL_ERROR
 79932  	}
 79933  
 79934  	return TCL_OK
 79935  }
 79936  
 79937  func test_intarray_addr(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 79938  	var i int32
 79939  
 79940  	sqlite3.Xsqlite3_free(tls, p)
 79941  	p = uintptr(0)
 79942  	if objc > 1 {
 79943  		p = sqlite3.Xsqlite3_malloc(tls, int32(uint64(unsafe.Sizeof(int32(0)))*uint64(objc-1)))
 79944  		if p == uintptr(0) {
 79945  			return TCL_ERROR
 79946  		}
 79947  		for i = 0; i < objc-1; i++ {
 79948  			if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(1+i)*8)), p+uintptr(i)*4) != 0 {
 79949  				sqlite3.Xsqlite3_free(tls, p)
 79950  				p = uintptr(0)
 79951  				return TCL_ERROR
 79952  			}
 79953  		}
 79954  	}
 79955  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewWideIntObj(tls, int64(p)))
 79956  	return TCL_OK
 79957  }
 79958  
 79959  var p uintptr = uintptr(0)
 79960  
 79961  func test_int64array_addr(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 79962  	bp := tls.Alloc(8)
 79963  	defer tls.Free(8)
 79964  
 79965  	var i int32
 79966  
 79967  	sqlite3.Xsqlite3_free(tls, p1)
 79968  	p1 = uintptr(0)
 79969  	if objc > 1 {
 79970  		p1 = sqlite3.Xsqlite3_malloc(tls, int32(uint64(unsafe.Sizeof(sqlite3_int64(0)))*uint64(objc-1)))
 79971  		if p1 == uintptr(0) {
 79972  			return TCL_ERROR
 79973  		}
 79974  		for i = 0; i < objc-1; i++ {
 79975  			if tcl.XTcl_GetWideIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(1+i)*8)), bp) != 0 {
 79976  				sqlite3.Xsqlite3_free(tls, p1)
 79977  				p1 = uintptr(0)
 79978  				return TCL_ERROR
 79979  			}
 79980  			*(*sqlite3_int64)(unsafe.Pointer(p1 + uintptr(i)*8)) = *(*Tcl_WideInt)(unsafe.Pointer(bp))
 79981  		}
 79982  	}
 79983  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewWideIntObj(tls, int64(p1)))
 79984  	return TCL_OK
 79985  }
 79986  
 79987  var p1 uintptr = uintptr(0)
 79988  
 79989  func test_doublearray_addr(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 79990  	var i int32
 79991  
 79992  	sqlite3.Xsqlite3_free(tls, p2)
 79993  	p2 = uintptr(0)
 79994  	if objc > 1 {
 79995  		p2 = sqlite3.Xsqlite3_malloc(tls, int32(uint64(unsafe.Sizeof(float64(0)))*uint64(objc-1)))
 79996  		if p2 == uintptr(0) {
 79997  			return TCL_ERROR
 79998  		}
 79999  		for i = 0; i < objc-1; i++ {
 80000  			if tcl.XTcl_GetDoubleFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(1+i)*8)), p2+uintptr(i)*8) != 0 {
 80001  				sqlite3.Xsqlite3_free(tls, p2)
 80002  				p2 = uintptr(0)
 80003  				return TCL_ERROR
 80004  			}
 80005  		}
 80006  	}
 80007  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewWideIntObj(tls, int64(p2)))
 80008  	return TCL_OK
 80009  }
 80010  
 80011  var p2 uintptr = uintptr(0)
 80012  
 80013  func test_textarray_addr(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 80014  	bp := tls.Alloc(8)
 80015  	defer tls.Free(8)
 80016  
 80017  	var i int32
 80018  
 80019  	for i = 0; i < n; i++ {
 80020  		sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(p3 + uintptr(i)*8)))
 80021  	}
 80022  	sqlite3.Xsqlite3_free(tls, p3)
 80023  	p3 = uintptr(0)
 80024  	if objc > 1 {
 80025  		p3 = sqlite3.Xsqlite3_malloc(tls, int32(uint64(unsafe.Sizeof(uintptr(0)))*uint64(objc-1)))
 80026  		if p3 == uintptr(0) {
 80027  			return TCL_ERROR
 80028  		}
 80029  		for i = 0; i < objc-1; i++ {
 80030  			*(*uintptr)(unsafe.Pointer(p3 + uintptr(i)*8)) = sqlite3.Xsqlite3_mprintf(tls, ts, libc.VaList(bp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(1+i)*8)))))
 80031  		}
 80032  	}
 80033  	n = objc - 1
 80034  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewWideIntObj(tls, int64(p3)))
 80035  	return TCL_OK
 80036  }
 80037  
 80038  var n int32 = 0
 80039  var p3 uintptr = uintptr(0)
 80040  
 80041  func test_bind_int64(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 80042  	bp := tls.Alloc(56)
 80043  	defer tls.Free(56)
 80044  
 80045  	var rc int32
 80046  
 80047  	if objc != 4 {
 80048  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949,
 80049  			tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16629, 0))
 80050  		return TCL_ERROR
 80051  	}
 80052  
 80053  	if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32) != 0 {
 80054  		return TCL_ERROR
 80055  	}
 80056  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+40) != 0 {
 80057  		return TCL_ERROR
 80058  	}
 80059  	if tcl.XTcl_GetWideIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+48) != 0 {
 80060  		return TCL_ERROR
 80061  	}
 80062  
 80063  	rc = sqlite3.Xsqlite3_bind_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), *(*int32)(unsafe.Pointer(bp + 40)), *(*Tcl_WideInt)(unsafe.Pointer(bp + 48)))
 80064  	if sqlite3TestErrCode(tls, interp, sqlite3.Xsqlite3_db_handle(tls, *(*uintptr)(unsafe.Pointer(bp + 32))), rc) != 0 {
 80065  		return TCL_ERROR
 80066  	}
 80067  	if rc != SQLITE_OK {
 80068  		return TCL_ERROR
 80069  	}
 80070  
 80071  	return TCL_OK
 80072  }
 80073  
 80074  func test_bind_double(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 80075  	bp := tls.Alloc(64)
 80076  	defer tls.Free(64)
 80077  
 80078  	*(*float64)(unsafe.Pointer(bp + 48)) = float64(0)
 80079  	var rc int32
 80080  	var zVal uintptr
 80081  	var i int32
 80082  
 80083  	if objc != 4 {
 80084  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949,
 80085  			tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16629, 0))
 80086  		return TCL_ERROR
 80087  	}
 80088  
 80089  	if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32) != 0 {
 80090  		return TCL_ERROR
 80091  	}
 80092  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+40) != 0 {
 80093  		return TCL_ERROR
 80094  	}
 80095  
 80096  	zVal = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)))
 80097  	for i = 0; uint64(i) < uint64(unsafe.Sizeof(aSpecialFp))/uint64(unsafe.Sizeof(struct {
 80098  		FzName  uintptr
 80099  		FiUpper uint32
 80100  		FiLower uint32
 80101  	}{})); i++ {
 80102  		if libc.Xstrcmp(tls, aSpecialFp[i].FzName, zVal) == 0 {
 80103  			*(*sqlite3_uint64)(unsafe.Pointer(bp + 56)) = sqlite3_uint64(aSpecialFp[i].FiUpper)
 80104  			*(*sqlite3_uint64)(unsafe.Pointer(bp + 56)) <<= 32
 80105  			*(*sqlite3_uint64)(unsafe.Pointer(bp + 56)) |= sqlite3_uint64(aSpecialFp[i].FiLower)
 80106  
 80107  			libc.Xmemcpy(tls, bp+48, bp+56, uint64(8))
 80108  			break
 80109  		}
 80110  	}
 80111  	if uint64(i) >= uint64(unsafe.Sizeof(aSpecialFp))/uint64(unsafe.Sizeof(struct {
 80112  		FzName  uintptr
 80113  		FiUpper uint32
 80114  		FiLower uint32
 80115  	}{})) && tcl.XTcl_GetDoubleFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+48) != 0 {
 80116  		return TCL_ERROR
 80117  	}
 80118  	rc = sqlite3.Xsqlite3_bind_double(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), *(*int32)(unsafe.Pointer(bp + 40)), *(*float64)(unsafe.Pointer(bp + 48)))
 80119  	if sqlite3TestErrCode(tls, interp, sqlite3.Xsqlite3_db_handle(tls, *(*uintptr)(unsafe.Pointer(bp + 32))), rc) != 0 {
 80120  		return TCL_ERROR
 80121  	}
 80122  	if rc != SQLITE_OK {
 80123  		return TCL_ERROR
 80124  	}
 80125  
 80126  	return TCL_OK
 80127  }
 80128  
 80129  var aSpecialFp = [10]struct {
 80130  	FzName  uintptr
 80131  	FiUpper uint32
 80132  	FiLower uint32
 80133  }{
 80134  	{FzName: ts + 16643, FiUpper: uint32(0x7fffffff), FiLower: 0xffffffff},
 80135  	{FzName: ts + 16647, FiUpper: uint32(0x7ff7ffff), FiLower: 0xffffffff},
 80136  	{FzName: ts + 16652, FiUpper: 0xffffffff, FiLower: 0xffffffff},
 80137  	{FzName: ts + 16657, FiUpper: 0xfff7ffff, FiLower: 0xffffffff},
 80138  	{FzName: ts + 16663, FiUpper: uint32(0x7ff00000)},
 80139  	{FzName: ts + 16668, FiUpper: 0xfff00000},
 80140  	{FzName: ts + 16673, FiLower: uint32(0x00000001)},
 80141  	{FzName: ts + 16681, FiUpper: 0x80000000, FiLower: uint32(0x00000001)},
 80142  	{FzName: ts + 16690, FiUpper: uint32(0x7ff80000)},
 80143  	{FzName: ts + 16695, FiUpper: 0xfff80000},
 80144  }
 80145  
 80146  func test_bind_null(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 80147  	bp := tls.Alloc(44)
 80148  	defer tls.Free(44)
 80149  
 80150  	var rc int32
 80151  
 80152  	if objc != 3 {
 80153  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949,
 80154  			tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16701, 0))
 80155  		return TCL_ERROR
 80156  	}
 80157  
 80158  	if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32) != 0 {
 80159  		return TCL_ERROR
 80160  	}
 80161  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+40) != 0 {
 80162  		return TCL_ERROR
 80163  	}
 80164  
 80165  	rc = sqlite3.Xsqlite3_bind_null(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), *(*int32)(unsafe.Pointer(bp + 40)))
 80166  	if sqlite3TestErrCode(tls, interp, sqlite3.Xsqlite3_db_handle(tls, *(*uintptr)(unsafe.Pointer(bp + 32))), rc) != 0 {
 80167  		return TCL_ERROR
 80168  	}
 80169  	if rc != SQLITE_OK {
 80170  		return TCL_ERROR
 80171  	}
 80172  
 80173  	return TCL_OK
 80174  }
 80175  
 80176  func test_bind_text(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 80177  	bp := tls.Alloc(84)
 80178  	defer tls.Free(84)
 80179  
 80180  	*(*int32)(unsafe.Pointer(bp + 76)) = 0
 80181  
 80182  	var value uintptr
 80183  	var rc int32
 80184  	var toFree uintptr = uintptr(0)
 80185  
 80186  	if objc != 5 {
 80187  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949,
 80188  			tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16709, 0))
 80189  		return TCL_ERROR
 80190  	}
 80191  
 80192  	if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+64) != 0 {
 80193  		return TCL_ERROR
 80194  	}
 80195  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+72) != 0 {
 80196  		return TCL_ERROR
 80197  	}
 80198  	value = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+76)
 80199  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 4*8)), bp+80) != 0 {
 80200  		return TCL_ERROR
 80201  	}
 80202  	if *(*int32)(unsafe.Pointer(bp + 80)) < 0 {
 80203  		toFree = libc.Xmalloc(tls, uint64(*(*int32)(unsafe.Pointer(bp + 76))+1))
 80204  		if toFree == uintptr(0) {
 80205  			tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+2069, uintptr(0)))
 80206  			return TCL_ERROR
 80207  		}
 80208  		libc.Xmemcpy(tls, toFree, value, uint64(*(*int32)(unsafe.Pointer(bp + 76))))
 80209  		*(*int8)(unsafe.Pointer(toFree + uintptr(*(*int32)(unsafe.Pointer(bp + 76))))) = int8(0)
 80210  		value = toFree
 80211  	}
 80212  	rc = sqlite3.Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), *(*int32)(unsafe.Pointer(bp + 72)), value, *(*int32)(unsafe.Pointer(bp + 80)), libc.UintptrFromInt32(-1))
 80213  	libc.Xfree(tls, toFree)
 80214  	if sqlite3TestErrCode(tls, interp, sqlite3.Xsqlite3_db_handle(tls, *(*uintptr)(unsafe.Pointer(bp + 64))), rc) != 0 {
 80215  		return TCL_ERROR
 80216  	}
 80217  	if rc != SQLITE_OK {
 80218  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0)))
 80219  		return TCL_ERROR
 80220  	}
 80221  
 80222  	return TCL_OK
 80223  }
 80224  
 80225  func test_bind_text16(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 80226  	bp := tls.Alloc(84)
 80227  	defer tls.Free(84)
 80228  
 80229  	var value uintptr
 80230  	var toFree uintptr = uintptr(0)
 80231  	var rc int32
 80232  	*(*int32)(unsafe.Pointer(bp + 76)) = 0
 80233  
 80234  	var xDel uintptr = func() uintptr {
 80235  		if objc == 6 {
 80236  			return uintptr(0)
 80237  		}
 80238  		return libc.UintptrFromInt32(-1)
 80239  	}()
 80240  	var oStmt uintptr = *(*uintptr)(unsafe.Pointer(objv + uintptr(objc-4)*8))
 80241  	var oN uintptr = *(*uintptr)(unsafe.Pointer(objv + uintptr(objc-3)*8))
 80242  	var oString uintptr = *(*uintptr)(unsafe.Pointer(objv + uintptr(objc-2)*8))
 80243  	var oBytes uintptr = *(*uintptr)(unsafe.Pointer(objv + uintptr(objc-1)*8))
 80244  
 80245  	if objc != 5 && objc != 6 {
 80246  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949,
 80247  			tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16709, 0))
 80248  		return TCL_ERROR
 80249  	}
 80250  
 80251  	if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, oStmt), bp+64) != 0 {
 80252  		return TCL_ERROR
 80253  	}
 80254  	if tcl.XTcl_GetIntFromObj(tls, interp, oN, bp+72) != 0 {
 80255  		return TCL_ERROR
 80256  	}
 80257  	value = tcl.XTcl_GetByteArrayFromObj(tls, oString, bp+76)
 80258  	if tcl.XTcl_GetIntFromObj(tls, interp, oBytes, bp+80) != 0 {
 80259  		return TCL_ERROR
 80260  	}
 80261  	if *(*int32)(unsafe.Pointer(bp + 80)) < 0 && xDel == libc.UintptrFromInt32(-1) {
 80262  		toFree = libc.Xmalloc(tls, uint64(*(*int32)(unsafe.Pointer(bp + 76))+3))
 80263  		if toFree == uintptr(0) {
 80264  			tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+2069, uintptr(0)))
 80265  			return TCL_ERROR
 80266  		}
 80267  		libc.Xmemcpy(tls, toFree, value, uint64(*(*int32)(unsafe.Pointer(bp + 76))))
 80268  		libc.Xmemset(tls, toFree+uintptr(*(*int32)(unsafe.Pointer(bp + 76))), 0, uint64(3))
 80269  		value = toFree
 80270  	}
 80271  	rc = sqlite3.Xsqlite3_bind_text16(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), *(*int32)(unsafe.Pointer(bp + 72)), value, *(*int32)(unsafe.Pointer(bp + 80)), xDel)
 80272  	libc.Xfree(tls, toFree)
 80273  	if sqlite3TestErrCode(tls, interp, sqlite3.Xsqlite3_db_handle(tls, *(*uintptr)(unsafe.Pointer(bp + 64))), rc) != 0 {
 80274  		return TCL_ERROR
 80275  	}
 80276  	if rc != SQLITE_OK {
 80277  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, sqlite3.Xsqlite3ErrName(tls, rc), 0))
 80278  		return TCL_ERROR
 80279  	}
 80280  
 80281  	return TCL_OK
 80282  }
 80283  
 80284  func test_bind_blob(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 80285  	bp := tls.Alloc(284)
 80286  	defer tls.Free(284)
 80287  
 80288  	var value uintptr
 80289  	var rc int32
 80290  	var xDestructor sqlite3_destructor_type = libc.UintptrFromInt32(-1)
 80291  
 80292  	if objc != 5 && objc != 6 {
 80293  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949,
 80294  			tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16729, 0))
 80295  		return TCL_ERROR
 80296  	}
 80297  
 80298  	if objc == 6 {
 80299  		xDestructor = uintptr(0)
 80300  		objv += 8
 80301  	}
 80302  
 80303  	if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+64) != 0 {
 80304  		return TCL_ERROR
 80305  	}
 80306  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+72) != 0 {
 80307  		return TCL_ERROR
 80308  	}
 80309  
 80310  	value = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+76)
 80311  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 4*8)), bp+80) != 0 {
 80312  		return TCL_ERROR
 80313  	}
 80314  
 80315  	if *(*int32)(unsafe.Pointer(bp + 80)) > *(*int32)(unsafe.Pointer(bp + 76)) {
 80316  		sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+84,
 80317  			ts+16748, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(bp + 80)), *(*int32)(unsafe.Pointer(bp + 76))))
 80318  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, bp+84, uintptr(0)))
 80319  		return TCL_ERROR
 80320  	}
 80321  
 80322  	rc = sqlite3.Xsqlite3_bind_blob(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), *(*int32)(unsafe.Pointer(bp + 72)), value, *(*int32)(unsafe.Pointer(bp + 80)), xDestructor)
 80323  	if sqlite3TestErrCode(tls, interp, sqlite3.Xsqlite3_db_handle(tls, *(*uintptr)(unsafe.Pointer(bp + 64))), rc) != 0 {
 80324  		return TCL_ERROR
 80325  	}
 80326  	if rc != SQLITE_OK {
 80327  		return TCL_ERROR
 80328  	}
 80329  
 80330  	return TCL_OK
 80331  }
 80332  
 80333  func test_bind_value_from_preupdate(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 80334  	bp := tls.Alloc(48)
 80335  	defer tls.Free(48)
 80336  
 80337  	var z3 uintptr = uintptr(0)
 80338  	var db uintptr = uintptr(0)
 80339  	*(*uintptr)(unsafe.Pointer(bp + 40)) = uintptr(0)
 80340  
 80341  	if objc != 5 {
 80342  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16782)
 80343  		return TCL_ERROR
 80344  	}
 80345  
 80346  	if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+24) != 0 {
 80347  		return TCL_ERROR
 80348  	}
 80349  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+32) != 0 {
 80350  		return TCL_ERROR
 80351  	}
 80352  	z3 = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)))
 80353  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 4*8)), bp+36) != 0 {
 80354  		return TCL_ERROR
 80355  	}
 80356  	db = sqlite3.Xsqlite3_db_handle(tls, *(*uintptr)(unsafe.Pointer(bp + 24)))
 80357  
 80358  	if int32(*(*int8)(unsafe.Pointer(z3))) == 'n' {
 80359  		sqlite3.Xsqlite3_preupdate_new(tls, db, *(*int32)(unsafe.Pointer(bp + 36)), bp+40)
 80360  	} else if int32(*(*int8)(unsafe.Pointer(z3))) == 'o' {
 80361  		sqlite3.Xsqlite3_preupdate_old(tls, db, *(*int32)(unsafe.Pointer(bp + 36)), bp+40)
 80362  	} else {
 80363  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+16801, z3, uintptr(0)))
 80364  		return TCL_ERROR
 80365  	}
 80366  	sqlite3.Xsqlite3_bind_value(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), *(*int32)(unsafe.Pointer(bp + 32)), *(*uintptr)(unsafe.Pointer(bp + 40)))
 80367  
 80368  	return TCL_OK
 80369  }
 80370  
 80371  func test_bind_value_from_select(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 80372  	bp := tls.Alloc(72)
 80373  	defer tls.Free(72)
 80374  
 80375  	var zSql uintptr = uintptr(0)
 80376  	var db uintptr = uintptr(0)
 80377  	var rc int32 = SQLITE_OK
 80378  
 80379  	if objc != 4 {
 80380  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16828)
 80381  		return TCL_ERROR
 80382  	}
 80383  
 80384  	if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+48) != 0 {
 80385  		return TCL_ERROR
 80386  	}
 80387  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+56) != 0 {
 80388  		return TCL_ERROR
 80389  	}
 80390  	zSql = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)))
 80391  	db = sqlite3.Xsqlite3_db_handle(tls, *(*uintptr)(unsafe.Pointer(bp + 48)))
 80392  
 80393  	rc = sqlite3.Xsqlite3_prepare_v2(tls, db, zSql, -1, bp+64, uintptr(0))
 80394  	if rc != SQLITE_OK {
 80395  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+16842, sqlite3.Xsqlite3_errmsg(tls, db), uintptr(0)))
 80396  		return TCL_ERROR
 80397  	}
 80398  	if sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 64))) == SQLITE_ROW {
 80399  		var pVal uintptr = sqlite3.Xsqlite3_column_value(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), 0)
 80400  		sqlite3.Xsqlite3_bind_value(tls, *(*uintptr)(unsafe.Pointer(bp + 48)), *(*int32)(unsafe.Pointer(bp + 56)), pVal)
 80401  	}
 80402  	rc = sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 64)))
 80403  	if rc != SQLITE_OK {
 80404  		tcl.XTcl_AppendResult(tls, interp,
 80405  			libc.VaList(bp+24, ts+16857, sqlite3.Xsqlite3_errmsg(tls, db), uintptr(0)))
 80406  		return TCL_ERROR
 80407  	}
 80408  
 80409  	return TCL_OK
 80410  }
 80411  
 80412  func test_carray_bind(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 80413  	bp := tls.Alloc(112)
 80414  	defer tls.Free(112)
 80415  
 80416  	var eType int32
 80417  	var nData int32
 80418  	var aData uintptr
 80419  	var isTransient int32
 80420  	var isStatic int32
 80421  
 80422  	var i int32
 80423  	var j int32
 80424  	var rc int32
 80425  	var xDel uintptr
 80426  	var z uintptr
 80427  
 80428  	var a uintptr
 80429  
 80430  	var a1 uintptr
 80431  
 80432  	var a2 uintptr
 80433  	var v3 uintptr
 80434  	var a3 uintptr
 80435  	eType = 0
 80436  	nData = 0
 80437  	aData = uintptr(0)
 80438  	isTransient = 0
 80439  	isStatic = 0
 80440  	xDel = *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sqlite3.Xsqlite3_free}))
 80441  
 80442  	if !(aStaticData != 0) {
 80443  		goto __1
 80444  	}
 80445  
 80446  	if !(eStaticType == 3) {
 80447  		goto __2
 80448  	}
 80449  	i = 0
 80450  __3:
 80451  	if !(i < nStaticData) {
 80452  		goto __5
 80453  	}
 80454  	sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(aStaticData + uintptr(i)*8)))
 80455  	goto __4
 80456  __4:
 80457  	i++
 80458  	goto __3
 80459  	goto __5
 80460  __5:
 80461  	;
 80462  __2:
 80463  	;
 80464  	sqlite3.Xsqlite3_free(tls, aStaticData)
 80465  	aStaticData = uintptr(0)
 80466  	nStaticData = 0
 80467  	eStaticType = 0
 80468  __1:
 80469  	;
 80470  	if !(objc == 1) {
 80471  		goto __6
 80472  	}
 80473  	return TCL_OK
 80474  __6:
 80475  	;
 80476  	i = 1
 80477  __7:
 80478  	if !(i < objc && int32(*(*int8)(unsafe.Pointer(tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)))))) == '-') {
 80479  		goto __9
 80480  	}
 80481  	z = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)))
 80482  	if !(libc.Xstrcmp(tls, z, ts+16878) == 0) {
 80483  		goto __10
 80484  	}
 80485  	isTransient = 1
 80486  	xDel = libc.UintptrFromInt32(-1)
 80487  	goto __11
 80488  __10:
 80489  	if !(libc.Xstrcmp(tls, z, ts+16889) == 0) {
 80490  		goto __12
 80491  	}
 80492  	isStatic = 1
 80493  	xDel = uintptr(0)
 80494  	goto __13
 80495  __12:
 80496  	if !(libc.Xstrcmp(tls, z, ts+16897) == 0) {
 80497  		goto __14
 80498  	}
 80499  	eType = 0
 80500  	goto __15
 80501  __14:
 80502  	if !(libc.Xstrcmp(tls, z, ts+16904) == 0) {
 80503  		goto __16
 80504  	}
 80505  	eType = 1
 80506  	goto __17
 80507  __16:
 80508  	if !(libc.Xstrcmp(tls, z, ts+16911) == 0) {
 80509  		goto __18
 80510  	}
 80511  	eType = 2
 80512  	goto __19
 80513  __18:
 80514  	if !(libc.Xstrcmp(tls, z, ts+16919) == 0) {
 80515  		goto __20
 80516  	}
 80517  	eType = 3
 80518  	goto __21
 80519  __20:
 80520  	if !(libc.Xstrcmp(tls, z, ts+16925) == 0) {
 80521  		goto __22
 80522  	}
 80523  	goto __9
 80524  	goto __23
 80525  __22:
 80526  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+12444, z, uintptr(0)))
 80527  	return TCL_ERROR
 80528  __23:
 80529  	;
 80530  __21:
 80531  	;
 80532  __19:
 80533  	;
 80534  __17:
 80535  	;
 80536  __15:
 80537  	;
 80538  __13:
 80539  	;
 80540  __11:
 80541  	;
 80542  	goto __8
 80543  __8:
 80544  	i++
 80545  	goto __7
 80546  	goto __9
 80547  __9:
 80548  	;
 80549  	if !(eType == 3 && !(isStatic != 0) && !(isTransient != 0)) {
 80550  		goto __24
 80551  	}
 80552  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+16928,
 80553  		uintptr(0)))
 80554  	return TCL_ERROR
 80555  __24:
 80556  	;
 80557  	if !(isStatic != 0 && isTransient != 0) {
 80558  		goto __25
 80559  	}
 80560  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+16975,
 80561  		uintptr(0)))
 80562  	return TCL_ERROR
 80563  __25:
 80564  	;
 80565  	if !(objc-i < 2) {
 80566  		goto __26
 80567  	}
 80568  	tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17013)
 80569  	return TCL_ERROR
 80570  __26:
 80571  	;
 80572  	if !(getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8))), bp+80) != 0) {
 80573  		goto __27
 80574  	}
 80575  	return TCL_ERROR
 80576  __27:
 80577  	;
 80578  	i++
 80579  	if !(tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+88) != 0) {
 80580  		goto __28
 80581  	}
 80582  	return TCL_ERROR
 80583  __28:
 80584  	;
 80585  	i++
 80586  	nData = objc - i
 80587  	switch eType + 4*libc.Bool32(nData <= 0) {
 80588  	case 0:
 80589  		goto __30
 80590  	case 1:
 80591  		goto __31
 80592  	case 2:
 80593  		goto __32
 80594  	case 3:
 80595  		goto __33
 80596  	case 4:
 80597  		goto __34
 80598  	}
 80599  	goto __29
 80600  __30:
 80601  	a = sqlite3.Xsqlite3_malloc(tls, int32(uint64(unsafe.Sizeof(int32(0)))*uint64(nData)))
 80602  	if !(a == uintptr(0)) {
 80603  		goto __35
 80604  	}
 80605  	rc = SQLITE_NOMEM
 80606  	goto carray_bind_done
 80607  __35:
 80608  	;
 80609  	j = 0
 80610  __36:
 80611  	if !(j < nData) {
 80612  		goto __38
 80613  	}
 80614  	if !(tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i+j)*8)), bp+92) != 0) {
 80615  		goto __39
 80616  	}
 80617  	sqlite3.Xsqlite3_free(tls, a)
 80618  	return TCL_ERROR
 80619  __39:
 80620  	;
 80621  	*(*int32)(unsafe.Pointer(a + uintptr(j)*4)) = *(*int32)(unsafe.Pointer(bp + 92))
 80622  	goto __37
 80623  __37:
 80624  	j++
 80625  	goto __36
 80626  	goto __38
 80627  __38:
 80628  	;
 80629  	aData = a
 80630  	goto __29
 80631  
 80632  __31:
 80633  	a1 = sqlite3.Xsqlite3_malloc(tls, int32(uint64(unsafe.Sizeof(sqlite3_int64(0)))*uint64(nData)))
 80634  	if !(a1 == uintptr(0)) {
 80635  		goto __40
 80636  	}
 80637  	rc = SQLITE_NOMEM
 80638  	goto carray_bind_done
 80639  __40:
 80640  	;
 80641  	j = 0
 80642  __41:
 80643  	if !(j < nData) {
 80644  		goto __43
 80645  	}
 80646  	if !(tcl.XTcl_GetWideIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i+j)*8)), bp+96) != 0) {
 80647  		goto __44
 80648  	}
 80649  	sqlite3.Xsqlite3_free(tls, a1)
 80650  	return TCL_ERROR
 80651  __44:
 80652  	;
 80653  	*(*sqlite3_int64)(unsafe.Pointer(a1 + uintptr(j)*8)) = *(*Tcl_WideInt)(unsafe.Pointer(bp + 96))
 80654  	goto __42
 80655  __42:
 80656  	j++
 80657  	goto __41
 80658  	goto __43
 80659  __43:
 80660  	;
 80661  	aData = a1
 80662  	goto __29
 80663  
 80664  __32:
 80665  	a2 = sqlite3.Xsqlite3_malloc(tls, int32(uint64(unsafe.Sizeof(float64(0)))*uint64(nData)))
 80666  	if !(a2 == uintptr(0)) {
 80667  		goto __45
 80668  	}
 80669  	rc = SQLITE_NOMEM
 80670  	goto carray_bind_done
 80671  __45:
 80672  	;
 80673  	j = 0
 80674  __46:
 80675  	if !(j < nData) {
 80676  		goto __48
 80677  	}
 80678  	if !(tcl.XTcl_GetDoubleFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i+j)*8)), bp+104) != 0) {
 80679  		goto __49
 80680  	}
 80681  	sqlite3.Xsqlite3_free(tls, a2)
 80682  	return TCL_ERROR
 80683  __49:
 80684  	;
 80685  	*(*float64)(unsafe.Pointer(a2 + uintptr(j)*8)) = *(*float64)(unsafe.Pointer(bp + 104))
 80686  	goto __47
 80687  __47:
 80688  	j++
 80689  	goto __46
 80690  	goto __48
 80691  __48:
 80692  	;
 80693  	aData = a2
 80694  	goto __29
 80695  
 80696  __33:
 80697  	a3 = sqlite3.Xsqlite3_malloc(tls, int32(uint64(unsafe.Sizeof(uintptr(0)))*uint64(nData)))
 80698  	if !(a3 == uintptr(0)) {
 80699  		goto __50
 80700  	}
 80701  	rc = SQLITE_NOMEM
 80702  	goto carray_bind_done
 80703  __50:
 80704  	;
 80705  	j = 0
 80706  __51:
 80707  	if !(j < nData) {
 80708  		goto __53
 80709  	}
 80710  	v3 = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i+j)*8)))
 80711  	*(*uintptr)(unsafe.Pointer(a3 + uintptr(j)*8)) = sqlite3.Xsqlite3_mprintf(tls, ts, libc.VaList(bp+56, v3))
 80712  	goto __52
 80713  __52:
 80714  	j++
 80715  	goto __51
 80716  	goto __53
 80717  __53:
 80718  	;
 80719  	aData = a3
 80720  	goto __29
 80721  
 80722  __34:
 80723  	aData = ts + 584
 80724  	xDel = uintptr(0)
 80725  	isTransient = 0
 80726  	isStatic = 0
 80727  	goto __29
 80728  
 80729  __29:
 80730  	;
 80731  	if !(isStatic != 0) {
 80732  		goto __54
 80733  	}
 80734  	aStaticData = aData
 80735  	nStaticData = nData
 80736  	eStaticType = eType
 80737  __54:
 80738  	;
 80739  	rc = sqlite3_carray_bind(tls, *(*uintptr)(unsafe.Pointer(bp + 80)), *(*int32)(unsafe.Pointer(bp + 88)), aData, nData, eType, xDel)
 80740  	if !(isTransient != 0) {
 80741  		goto __55
 80742  	}
 80743  	if !(eType == 3) {
 80744  		goto __56
 80745  	}
 80746  	i = 0
 80747  __57:
 80748  	if !(i < nData) {
 80749  		goto __59
 80750  	}
 80751  	sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(aData + uintptr(i)*8)))
 80752  	goto __58
 80753  __58:
 80754  	i++
 80755  	goto __57
 80756  	goto __59
 80757  __59:
 80758  	;
 80759  __56:
 80760  	;
 80761  	sqlite3.Xsqlite3_free(tls, aData)
 80762  __55:
 80763  	;
 80764  carray_bind_done:
 80765  	if !(rc != 0) {
 80766  		goto __60
 80767  	}
 80768  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, sqlite3.Xsqlite3_errstr(tls, rc), uintptr(0)))
 80769  	return TCL_ERROR
 80770  __60:
 80771  	;
 80772  	return TCL_OK
 80773  }
 80774  
 80775  var aStaticData uintptr = uintptr(0)
 80776  var nStaticData int32 = 0
 80777  var eStaticType int32 = 0
 80778  
 80779  func test_bind_parameter_count(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 80780  	bp := tls.Alloc(8)
 80781  	defer tls.Free(8)
 80782  
 80783  	if objc != 2 {
 80784  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17042)
 80785  		return TCL_ERROR
 80786  	}
 80787  	if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp) != 0 {
 80788  		return TCL_ERROR
 80789  	}
 80790  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, sqlite3.Xsqlite3_bind_parameter_count(tls, *(*uintptr)(unsafe.Pointer(bp)))))
 80791  	return TCL_OK
 80792  }
 80793  
 80794  func test_bind_parameter_name(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 80795  	bp := tls.Alloc(12)
 80796  	defer tls.Free(12)
 80797  
 80798  	if objc != 3 {
 80799  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17047)
 80800  		return TCL_ERROR
 80801  	}
 80802  	if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp) != 0 {
 80803  		return TCL_ERROR
 80804  	}
 80805  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+8) != 0 {
 80806  		return TCL_ERROR
 80807  	}
 80808  	tcl.XTcl_SetObjResult(tls, interp,
 80809  		tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3_bind_parameter_name(tls, *(*uintptr)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 8))), -1))
 80810  	return TCL_OK
 80811  }
 80812  
 80813  func test_bind_parameter_index(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 80814  	bp := tls.Alloc(8)
 80815  	defer tls.Free(8)
 80816  
 80817  	if objc != 3 {
 80818  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17054)
 80819  		return TCL_ERROR
 80820  	}
 80821  	if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp) != 0 {
 80822  		return TCL_ERROR
 80823  	}
 80824  	tcl.XTcl_SetObjResult(tls, interp,
 80825  		tcl.XTcl_NewIntObj(tls,
 80826  			sqlite3.Xsqlite3_bind_parameter_index(tls, *(*uintptr)(unsafe.Pointer(bp)), tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))))))
 80827  	return TCL_OK
 80828  }
 80829  
 80830  func test_clear_bindings(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 80831  	bp := tls.Alloc(8)
 80832  	defer tls.Free(8)
 80833  
 80834  	if objc != 2 {
 80835  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17042)
 80836  		return TCL_ERROR
 80837  	}
 80838  	if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp) != 0 {
 80839  		return TCL_ERROR
 80840  	}
 80841  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, sqlite3.Xsqlite3_clear_bindings(tls, *(*uintptr)(unsafe.Pointer(bp)))))
 80842  	return TCL_OK
 80843  }
 80844  
 80845  func test_sleep(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 80846  	bp := tls.Alloc(4)
 80847  	defer tls.Free(4)
 80848  
 80849  	if objc != 2 {
 80850  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+13117)
 80851  		return TCL_ERROR
 80852  	}
 80853  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp) != 0 {
 80854  		return TCL_ERROR
 80855  	}
 80856  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, sqlite3.Xsqlite3_sleep(tls, *(*int32)(unsafe.Pointer(bp)))))
 80857  	return TCL_OK
 80858  }
 80859  
 80860  func test_ex_errcode(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 80861  	bp := tls.Alloc(56)
 80862  	defer tls.Free(56)
 80863  
 80864  	var rc int32
 80865  
 80866  	if objc != 2 {
 80867  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949,
 80868  			tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+15001, 0))
 80869  		return TCL_ERROR
 80870  	}
 80871  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+48) != 0 {
 80872  		return TCL_ERROR
 80873  	}
 80874  	rc = sqlite3.Xsqlite3_extended_errcode(tls, *(*uintptr)(unsafe.Pointer(bp + 48)))
 80875  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, sqlite3.Xsqlite3ErrName(tls, rc), 0))
 80876  	return TCL_OK
 80877  }
 80878  
 80879  func test_errcode(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 80880  	bp := tls.Alloc(56)
 80881  	defer tls.Free(56)
 80882  
 80883  	var rc int32
 80884  
 80885  	if objc != 2 {
 80886  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949,
 80887  			tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+15001, 0))
 80888  		return TCL_ERROR
 80889  	}
 80890  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+48) != 0 {
 80891  		return TCL_ERROR
 80892  	}
 80893  	rc = sqlite3.Xsqlite3_errcode(tls, *(*uintptr)(unsafe.Pointer(bp + 48)))
 80894  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, sqlite3.Xsqlite3ErrName(tls, rc), 0))
 80895  	return TCL_OK
 80896  }
 80897  
 80898  func test_errmsg(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 80899  	bp := tls.Alloc(40)
 80900  	defer tls.Free(40)
 80901  
 80902  	var zErr uintptr
 80903  
 80904  	if objc != 2 {
 80905  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949,
 80906  			tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+15001, 0))
 80907  		return TCL_ERROR
 80908  	}
 80909  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32) != 0 {
 80910  		return TCL_ERROR
 80911  	}
 80912  
 80913  	zErr = sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))
 80914  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, zErr, -1))
 80915  	return TCL_OK
 80916  }
 80917  
 80918  func test_error_offset(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 80919  	bp := tls.Alloc(40)
 80920  	defer tls.Free(40)
 80921  
 80922  	var iByteOffset int32
 80923  
 80924  	if objc != 2 {
 80925  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949,
 80926  			tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+15001, 0))
 80927  		return TCL_ERROR
 80928  	}
 80929  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32) != 0 {
 80930  		return TCL_ERROR
 80931  	}
 80932  
 80933  	iByteOffset = sqlite3.Xsqlite3_error_offset(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))
 80934  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, iByteOffset))
 80935  	return TCL_OK
 80936  }
 80937  
 80938  func test_errmsg16(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 80939  	bp := tls.Alloc(40)
 80940  	defer tls.Free(40)
 80941  
 80942  	var zErr uintptr
 80943  	var z uintptr
 80944  	var bytes int32 = 0
 80945  
 80946  	if objc != 2 {
 80947  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949,
 80948  			tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+15001, 0))
 80949  		return TCL_ERROR
 80950  	}
 80951  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32) != 0 {
 80952  		return TCL_ERROR
 80953  	}
 80954  
 80955  	zErr = sqlite3.Xsqlite3_errmsg16(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))
 80956  	if zErr != 0 {
 80957  		z = zErr
 80958  		for bytes = 0; *(*int8)(unsafe.Pointer(z + uintptr(bytes))) != 0 || *(*int8)(unsafe.Pointer(z + uintptr(bytes+1))) != 0; bytes = bytes + 2 {
 80959  		}
 80960  	}
 80961  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, zErr, bytes))
 80962  	return TCL_OK
 80963  }
 80964  
 80965  func test_prepare(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 80966  	bp := tls.Alloc(162)
 80967  	defer tls.Free(162)
 80968  
 80969  	var zSql uintptr
 80970  
 80971  	*(*uintptr)(unsafe.Pointer(bp + 104)) = uintptr(0)
 80972  	*(*uintptr)(unsafe.Pointer(bp + 96)) = uintptr(0)
 80973  
 80974  	var rc int32
 80975  
 80976  	if objc != 5 && objc != 4 {
 80977  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949,
 80978  			tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17064, 0))
 80979  		return TCL_ERROR
 80980  	}
 80981  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+80) != 0 {
 80982  		return TCL_ERROR
 80983  	}
 80984  	zSql = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
 80985  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+88) != 0 {
 80986  		return TCL_ERROR
 80987  	}
 80988  
 80989  	rc = sqlite3.Xsqlite3_prepare(tls, *(*uintptr)(unsafe.Pointer(bp + 80)), zSql, *(*int32)(unsafe.Pointer(bp + 88)), bp+96, func() uintptr {
 80990  		if objc >= 5 {
 80991  			return bp + 104
 80992  		}
 80993  		return uintptr(0)
 80994  	}())
 80995  	tcl.XTcl_ResetResult(tls, interp)
 80996  	if sqlite3TestErrCode(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 80)), rc) != 0 {
 80997  		return TCL_ERROR
 80998  	}
 80999  	if *(*uintptr)(unsafe.Pointer(bp + 104)) != 0 && objc >= 5 {
 81000  		if *(*int32)(unsafe.Pointer(bp + 88)) >= 0 {
 81001  			*(*int32)(unsafe.Pointer(bp + 88)) = *(*int32)(unsafe.Pointer(bp + 88)) - int32((int64(*(*uintptr)(unsafe.Pointer(bp + 104)))-int64(zSql))/1)
 81002  		}
 81003  		if int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 104)))) < *(*int32)(unsafe.Pointer(bp + 88)) {
 81004  			*(*int32)(unsafe.Pointer(bp + 88)) = int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 104))))
 81005  		}
 81006  		tcl.XTcl_ObjSetVar2(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 4*8)), uintptr(0), tcl.XTcl_NewStringObj(tls, *(*uintptr)(unsafe.Pointer(bp + 104)), *(*int32)(unsafe.Pointer(bp + 88))), 0)
 81007  	}
 81008  	if rc != SQLITE_OK {
 81009  		sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+112, ts+16476, libc.VaList(bp+32, rc))
 81010  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+112, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 80))), 0))
 81011  		return TCL_ERROR
 81012  	}
 81013  
 81014  	if *(*uintptr)(unsafe.Pointer(bp + 96)) != 0 {
 81015  		if sqlite3TestMakePointerStr(tls, interp, bp+112, *(*uintptr)(unsafe.Pointer(bp + 96))) != 0 {
 81016  			return TCL_ERROR
 81017  		}
 81018  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, bp+112, 0))
 81019  	}
 81020  	return TCL_OK
 81021  }
 81022  
 81023  func test_prepare_v2(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 81024  	bp := tls.Alloc(162)
 81025  	defer tls.Free(162)
 81026  
 81027  	var zSql uintptr
 81028  	var zCopy uintptr = uintptr(0)
 81029  
 81030  	*(*uintptr)(unsafe.Pointer(bp + 96)) = uintptr(0)
 81031  	var pzTail uintptr
 81032  	*(*uintptr)(unsafe.Pointer(bp + 104)) = uintptr(0)
 81033  
 81034  	var rc int32
 81035  
 81036  	if objc != 5 && objc != 4 {
 81037  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949,
 81038  			tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17088, 0))
 81039  		return TCL_ERROR
 81040  	}
 81041  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+80) != 0 {
 81042  		return TCL_ERROR
 81043  	}
 81044  	zSql = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
 81045  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+88) != 0 {
 81046  		return TCL_ERROR
 81047  	}
 81048  
 81049  	if *(*int32)(unsafe.Pointer(bp + 88)) >= 0 {
 81050  		zCopy = libc.Xmalloc(tls, uint64(*(*int32)(unsafe.Pointer(bp + 88))))
 81051  		libc.Xmemcpy(tls, zCopy, zSql, uint64(*(*int32)(unsafe.Pointer(bp + 88))))
 81052  	} else {
 81053  		var n int32 = int32(libc.Xstrlen(tls, zSql)) + 1
 81054  		zCopy = libc.Xmalloc(tls, uint64(n))
 81055  		libc.Xmemcpy(tls, zCopy, zSql, uint64(n))
 81056  	}
 81057  	if objc >= 5 {
 81058  		pzTail = bp + 96
 81059  	} else {
 81060  		pzTail = uintptr(0)
 81061  	}
 81062  	rc = sqlite3.Xsqlite3_prepare_v2(tls, *(*uintptr)(unsafe.Pointer(bp + 80)), zCopy, *(*int32)(unsafe.Pointer(bp + 88)), bp+104, pzTail)
 81063  	if objc >= 5 {
 81064  		*(*uintptr)(unsafe.Pointer(bp + 96)) = zSql + uintptr((int64(*(*uintptr)(unsafe.Pointer(bp + 96)))-int64(zCopy))/1)
 81065  	}
 81066  	libc.Xfree(tls, zCopy)
 81067  
 81068  	tcl.XTcl_ResetResult(tls, interp)
 81069  	if sqlite3TestErrCode(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 80)), rc) != 0 {
 81070  		return TCL_ERROR
 81071  	}
 81072  	if rc == SQLITE_OK && objc >= 5 && *(*uintptr)(unsafe.Pointer(bp + 96)) != 0 {
 81073  		if *(*int32)(unsafe.Pointer(bp + 88)) >= 0 {
 81074  			*(*int32)(unsafe.Pointer(bp + 88)) = *(*int32)(unsafe.Pointer(bp + 88)) - int32((int64(*(*uintptr)(unsafe.Pointer(bp + 96)))-int64(zSql))/1)
 81075  		}
 81076  		tcl.XTcl_ObjSetVar2(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 4*8)), uintptr(0), tcl.XTcl_NewStringObj(tls, *(*uintptr)(unsafe.Pointer(bp + 96)), *(*int32)(unsafe.Pointer(bp + 88))), 0)
 81077  	}
 81078  	if rc != SQLITE_OK {
 81079  		sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+112, ts+16476, libc.VaList(bp+32, rc))
 81080  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+112, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 80))), 0))
 81081  		return TCL_ERROR
 81082  	}
 81083  
 81084  	if *(*uintptr)(unsafe.Pointer(bp + 104)) != 0 {
 81085  		if sqlite3TestMakePointerStr(tls, interp, bp+112, *(*uintptr)(unsafe.Pointer(bp + 104))) != 0 {
 81086  			return TCL_ERROR
 81087  		}
 81088  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, bp+112, 0))
 81089  	}
 81090  	return TCL_OK
 81091  }
 81092  
 81093  func test_prepare_v3(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 81094  	bp := tls.Alloc(162)
 81095  	defer tls.Free(162)
 81096  
 81097  	var zSql uintptr
 81098  	var zCopy uintptr = uintptr(0)
 81099  
 81100  	*(*uintptr)(unsafe.Pointer(bp + 96)) = uintptr(0)
 81101  	var pzTail uintptr
 81102  	*(*uintptr)(unsafe.Pointer(bp + 104)) = uintptr(0)
 81103  
 81104  	var rc int32
 81105  
 81106  	if objc != 6 && objc != 5 {
 81107  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949,
 81108  			tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17110, 0))
 81109  		return TCL_ERROR
 81110  	}
 81111  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+80) != 0 {
 81112  		return TCL_ERROR
 81113  	}
 81114  	zSql = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
 81115  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+88) != 0 {
 81116  		return TCL_ERROR
 81117  	}
 81118  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 4*8)), bp+92) != 0 {
 81119  		return TCL_ERROR
 81120  	}
 81121  
 81122  	if *(*int32)(unsafe.Pointer(bp + 88)) >= 0 {
 81123  		zCopy = libc.Xmalloc(tls, uint64(*(*int32)(unsafe.Pointer(bp + 88))))
 81124  		libc.Xmemcpy(tls, zCopy, zSql, uint64(*(*int32)(unsafe.Pointer(bp + 88))))
 81125  	} else {
 81126  		var n int32 = int32(libc.Xstrlen(tls, zSql)) + 1
 81127  		zCopy = libc.Xmalloc(tls, uint64(n))
 81128  		libc.Xmemcpy(tls, zCopy, zSql, uint64(n))
 81129  	}
 81130  	if objc >= 6 {
 81131  		pzTail = bp + 96
 81132  	} else {
 81133  		pzTail = uintptr(0)
 81134  	}
 81135  	rc = sqlite3.Xsqlite3_prepare_v3(tls, *(*uintptr)(unsafe.Pointer(bp + 80)), zCopy, *(*int32)(unsafe.Pointer(bp + 88)), uint32(*(*int32)(unsafe.Pointer(bp + 92))), bp+104, pzTail)
 81136  	libc.Xfree(tls, zCopy)
 81137  	*(*uintptr)(unsafe.Pointer(bp + 96)) = zSql + uintptr((int64(*(*uintptr)(unsafe.Pointer(bp + 96)))-int64(zCopy))/1)
 81138  
 81139  	tcl.XTcl_ResetResult(tls, interp)
 81140  	if sqlite3TestErrCode(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 80)), rc) != 0 {
 81141  		return TCL_ERROR
 81142  	}
 81143  	if rc == SQLITE_OK && *(*uintptr)(unsafe.Pointer(bp + 96)) != 0 && objc >= 6 {
 81144  		if *(*int32)(unsafe.Pointer(bp + 88)) >= 0 {
 81145  			*(*int32)(unsafe.Pointer(bp + 88)) = *(*int32)(unsafe.Pointer(bp + 88)) - int32((int64(*(*uintptr)(unsafe.Pointer(bp + 96)))-int64(zSql))/1)
 81146  		}
 81147  		tcl.XTcl_ObjSetVar2(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 5*8)), uintptr(0), tcl.XTcl_NewStringObj(tls, *(*uintptr)(unsafe.Pointer(bp + 96)), *(*int32)(unsafe.Pointer(bp + 88))), 0)
 81148  	}
 81149  	if rc != SQLITE_OK {
 81150  		sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+112, ts+16476, libc.VaList(bp+32, rc))
 81151  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+112, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 80))), 0))
 81152  		return TCL_ERROR
 81153  	}
 81154  
 81155  	if *(*uintptr)(unsafe.Pointer(bp + 104)) != 0 {
 81156  		if sqlite3TestMakePointerStr(tls, interp, bp+112, *(*uintptr)(unsafe.Pointer(bp + 104))) != 0 {
 81157  			return TCL_ERROR
 81158  		}
 81159  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, bp+112, 0))
 81160  	}
 81161  	return TCL_OK
 81162  }
 81163  
 81164  func test_prepare_tkt3134(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 81165  	bp := tls.Alloc(146)
 81166  	defer tls.Free(146)
 81167  
 81168  	*(*uintptr)(unsafe.Pointer(bp + 88)) = uintptr(0)
 81169  
 81170  	var rc int32
 81171  
 81172  	if objc != 2 {
 81173  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949,
 81174  			tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17088, 0))
 81175  		return TCL_ERROR
 81176  	}
 81177  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+80) != 0 {
 81178  		return TCL_ERROR
 81179  	}
 81180  	rc = sqlite3.Xsqlite3_prepare_v2(tls, *(*uintptr)(unsafe.Pointer(bp + 80)), uintptr(unsafe.Pointer(&zSql))+1, 0, bp+88, uintptr(0))
 81181  
 81182  	if sqlite3TestErrCode(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 80)), rc) != 0 {
 81183  		return TCL_ERROR
 81184  	}
 81185  	if rc != SQLITE_OK {
 81186  		sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+96, ts+16476, libc.VaList(bp+32, rc))
 81187  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+96, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 80))), 0))
 81188  		return TCL_ERROR
 81189  	}
 81190  
 81191  	if *(*uintptr)(unsafe.Pointer(bp + 88)) != 0 {
 81192  		if sqlite3TestMakePointerStr(tls, interp, bp+96, *(*uintptr)(unsafe.Pointer(bp + 88))) != 0 {
 81193  			return TCL_ERROR
 81194  		}
 81195  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, bp+96, 0))
 81196  	}
 81197  	return TCL_OK
 81198  }
 81199  
 81200  var zSql = *(*[10]int8)(unsafe.Pointer(ts + 17138))
 81201  
 81202  func test_prepare16(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 81203  	bp := tls.Alloc(130)
 81204  	defer tls.Free(130)
 81205  
 81206  	var zSql uintptr
 81207  	*(*uintptr)(unsafe.Pointer(bp + 72)) = uintptr(0)
 81208  	var pTail uintptr = uintptr(0)
 81209  	*(*uintptr)(unsafe.Pointer(bp + 64)) = uintptr(0)
 81210  
 81211  	var rc int32
 81212  
 81213  	if objc != 5 && objc != 4 {
 81214  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949,
 81215  			tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17064, 0))
 81216  		return TCL_ERROR
 81217  	}
 81218  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+48) != 0 {
 81219  		return TCL_ERROR
 81220  	}
 81221  	zSql = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+56)
 81222  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+60) != 0 {
 81223  		return TCL_ERROR
 81224  	}
 81225  
 81226  	rc = sqlite3.Xsqlite3_prepare16(tls, *(*uintptr)(unsafe.Pointer(bp + 48)), zSql, *(*int32)(unsafe.Pointer(bp + 60)), bp+64, func() uintptr {
 81227  		if objc >= 5 {
 81228  			return bp + 72
 81229  		}
 81230  		return uintptr(0)
 81231  	}())
 81232  	if sqlite3TestErrCode(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 48)), rc) != 0 {
 81233  		return TCL_ERROR
 81234  	}
 81235  	if rc != 0 {
 81236  		return TCL_ERROR
 81237  	}
 81238  
 81239  	if objc >= 5 {
 81240  		if *(*uintptr)(unsafe.Pointer(bp + 72)) != 0 {
 81241  			*(*int32)(unsafe.Pointer(bp + 56)) = *(*int32)(unsafe.Pointer(bp + 56)) - int32((int64(*(*uintptr)(unsafe.Pointer(bp + 72)))-int64(zSql))/1)
 81242  		} else {
 81243  			*(*int32)(unsafe.Pointer(bp + 56)) = 0
 81244  		}
 81245  		pTail = tcl.XTcl_NewByteArrayObj(tls, *(*uintptr)(unsafe.Pointer(bp + 72)), *(*int32)(unsafe.Pointer(bp + 56)))
 81246  		(*Tcl_Obj)(unsafe.Pointer(pTail)).FrefCount++
 81247  		tcl.XTcl_ObjSetVar2(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 4*8)), uintptr(0), pTail, 0)
 81248  		for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
 81249  			var _objPtr uintptr = pTail
 81250  			if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 81251  				tcl.XTclFreeObj(tls, _objPtr)
 81252  			}
 81253  		}
 81254  	}
 81255  
 81256  	if *(*uintptr)(unsafe.Pointer(bp + 64)) != 0 {
 81257  		if sqlite3TestMakePointerStr(tls, interp, bp+80, *(*uintptr)(unsafe.Pointer(bp + 64))) != 0 {
 81258  			return TCL_ERROR
 81259  		}
 81260  	}
 81261  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, bp+80, 0))
 81262  	return TCL_OK
 81263  }
 81264  
 81265  func test_prepare16_v2(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 81266  	bp := tls.Alloc(130)
 81267  	defer tls.Free(130)
 81268  
 81269  	var zSql uintptr
 81270  	*(*uintptr)(unsafe.Pointer(bp + 72)) = uintptr(0)
 81271  	var pTail uintptr = uintptr(0)
 81272  	*(*uintptr)(unsafe.Pointer(bp + 64)) = uintptr(0)
 81273  
 81274  	var rc int32
 81275  
 81276  	if objc != 5 && objc != 4 {
 81277  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949,
 81278  			tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17064, 0))
 81279  		return TCL_ERROR
 81280  	}
 81281  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+48) != 0 {
 81282  		return TCL_ERROR
 81283  	}
 81284  	zSql = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+56)
 81285  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+60) != 0 {
 81286  		return TCL_ERROR
 81287  	}
 81288  
 81289  	rc = sqlite3.Xsqlite3_prepare16_v2(tls, *(*uintptr)(unsafe.Pointer(bp + 48)), zSql, *(*int32)(unsafe.Pointer(bp + 60)), bp+64, func() uintptr {
 81290  		if objc >= 5 {
 81291  			return bp + 72
 81292  		}
 81293  		return uintptr(0)
 81294  	}())
 81295  	if sqlite3TestErrCode(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 48)), rc) != 0 {
 81296  		return TCL_ERROR
 81297  	}
 81298  	if rc != 0 {
 81299  		return TCL_ERROR
 81300  	}
 81301  
 81302  	if objc >= 5 {
 81303  		if *(*uintptr)(unsafe.Pointer(bp + 72)) != 0 {
 81304  			*(*int32)(unsafe.Pointer(bp + 56)) = *(*int32)(unsafe.Pointer(bp + 56)) - int32((int64(*(*uintptr)(unsafe.Pointer(bp + 72)))-int64(zSql))/1)
 81305  		} else {
 81306  			*(*int32)(unsafe.Pointer(bp + 56)) = 0
 81307  		}
 81308  		pTail = tcl.XTcl_NewByteArrayObj(tls, *(*uintptr)(unsafe.Pointer(bp + 72)), *(*int32)(unsafe.Pointer(bp + 56)))
 81309  		(*Tcl_Obj)(unsafe.Pointer(pTail)).FrefCount++
 81310  		tcl.XTcl_ObjSetVar2(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 4*8)), uintptr(0), pTail, 0)
 81311  		for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
 81312  			var _objPtr uintptr = pTail
 81313  			if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 81314  				tcl.XTclFreeObj(tls, _objPtr)
 81315  			}
 81316  		}
 81317  	}
 81318  
 81319  	if *(*uintptr)(unsafe.Pointer(bp + 64)) != 0 {
 81320  		if sqlite3TestMakePointerStr(tls, interp, bp+80, *(*uintptr)(unsafe.Pointer(bp + 64))) != 0 {
 81321  			return TCL_ERROR
 81322  		}
 81323  	}
 81324  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, bp+80, 0))
 81325  	return TCL_OK
 81326  }
 81327  
 81328  func test_open(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 81329  	bp := tls.Alloc(156)
 81330  	defer tls.Free(156)
 81331  
 81332  	var zFilename uintptr
 81333  
 81334  	if objc != 3 && objc != 2 && objc != 1 {
 81335  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949,
 81336  			tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17148, 0))
 81337  		return TCL_ERROR
 81338  	}
 81339  
 81340  	if objc > 1 {
 81341  		zFilename = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))
 81342  	} else {
 81343  		zFilename = uintptr(0)
 81344  	}
 81345  	sqlite3.Xsqlite3_open(tls, zFilename, bp+48)
 81346  
 81347  	if sqlite3TestMakePointerStr(tls, interp, bp+56, *(*uintptr)(unsafe.Pointer(bp + 48))) != 0 {
 81348  		return TCL_ERROR
 81349  	}
 81350  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, bp+56, 0))
 81351  	return TCL_OK
 81352  }
 81353  
 81354  func test_open_v2(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 81355  	bp := tls.Alloc(484)
 81356  	defer tls.Free(484)
 81357  
 81358  	var zFilename uintptr
 81359  	var zVfs uintptr
 81360  	var flags int32 = 0
 81361  
 81362  	var rc int32
 81363  
 81364  	var i int32
 81365  
 81366  	if objc != 4 {
 81367  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17171)
 81368  		return TCL_ERROR
 81369  	}
 81370  	zFilename = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))
 81371  	zVfs = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)))
 81372  	if int32(*(*int8)(unsafe.Pointer(zVfs))) == 0x00 {
 81373  		zVfs = uintptr(0)
 81374  	}
 81375  
 81376  	rc = tcl.XTcl_ListObjGetElements(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+16, bp+24)
 81377  	if rc != TCL_OK {
 81378  		return rc
 81379  	}
 81380  	for i = 0; i < *(*int32)(unsafe.Pointer(bp + 16)); i++ {
 81381  		*(*[21]OpenFlag)(unsafe.Pointer(bp + 32)) = [21]OpenFlag{
 81382  			{FzFlag: ts + 17190, Fflag: SQLITE_OPEN_READONLY},
 81383  			{FzFlag: ts + 17211, Fflag: SQLITE_OPEN_READWRITE},
 81384  			{FzFlag: ts + 17233, Fflag: SQLITE_OPEN_CREATE},
 81385  			{FzFlag: ts + 17252, Fflag: SQLITE_OPEN_DELETEONCLOSE},
 81386  			{FzFlag: ts + 17278, Fflag: SQLITE_OPEN_EXCLUSIVE},
 81387  			{FzFlag: ts + 17300, Fflag: SQLITE_OPEN_AUTOPROXY},
 81388  			{FzFlag: ts + 17322, Fflag: SQLITE_OPEN_MAIN_DB},
 81389  			{FzFlag: ts + 17342, Fflag: SQLITE_OPEN_TEMP_DB},
 81390  			{FzFlag: ts + 17362, Fflag: SQLITE_OPEN_TRANSIENT_DB},
 81391  			{FzFlag: ts + 17387, Fflag: SQLITE_OPEN_MAIN_JOURNAL},
 81392  			{FzFlag: ts + 17412, Fflag: SQLITE_OPEN_TEMP_JOURNAL},
 81393  			{FzFlag: ts + 17437, Fflag: SQLITE_OPEN_SUBJOURNAL},
 81394  			{FzFlag: ts + 17460, Fflag: SQLITE_OPEN_SUPER_JOURNAL},
 81395  			{FzFlag: ts + 17486, Fflag: SQLITE_OPEN_NOMUTEX},
 81396  			{FzFlag: ts + 17506, Fflag: SQLITE_OPEN_FULLMUTEX},
 81397  			{FzFlag: ts + 17528, Fflag: SQLITE_OPEN_SHAREDCACHE},
 81398  			{FzFlag: ts + 17552, Fflag: SQLITE_OPEN_PRIVATECACHE},
 81399  			{FzFlag: ts + 17577, Fflag: SQLITE_OPEN_WAL},
 81400  			{FzFlag: ts + 17593, Fflag: SQLITE_OPEN_URI},
 81401  			{FzFlag: ts + 17609, Fflag: SQLITE_OPEN_EXRESCODE},
 81402  			{},
 81403  		}
 81404  		rc = tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)) + uintptr(i)*8)), bp+32, int32(unsafe.Sizeof(OpenFlag{})),
 81405  			ts+17631, 0, bp+368)
 81406  		if rc != TCL_OK {
 81407  			return rc
 81408  		}
 81409  		flags = flags | (*OpenFlag)(unsafe.Pointer(bp+32+uintptr(*(*int32)(unsafe.Pointer(bp + 368)))*16)).Fflag
 81410  	}
 81411  
 81412  	rc = sqlite3.Xsqlite3_open_v2(tls, zFilename, bp+376, flags, zVfs)
 81413  	if sqlite3TestMakePointerStr(tls, interp, bp+384, *(*uintptr)(unsafe.Pointer(bp + 376))) != 0 {
 81414  		return TCL_ERROR
 81415  	}
 81416  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, bp+384, 0))
 81417  	return TCL_OK
 81418  }
 81419  
 81420  type OpenFlag = struct {
 81421  	FzFlag       uintptr
 81422  	Fflag        int32
 81423  	F__ccgo_pad1 [4]byte
 81424  }
 81425  
 81426  func test_open16(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 81427  	bp := tls.Alloc(156)
 81428  	defer tls.Free(156)
 81429  
 81430  	var zFilename uintptr
 81431  
 81432  	if objc != 3 {
 81433  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949,
 81434  			tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17148, 0))
 81435  		return TCL_ERROR
 81436  	}
 81437  
 81438  	zFilename = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)), uintptr(0))
 81439  	sqlite3.Xsqlite3_open16(tls, zFilename, bp+48)
 81440  
 81441  	if sqlite3TestMakePointerStr(tls, interp, bp+56, *(*uintptr)(unsafe.Pointer(bp + 48))) != 0 {
 81442  		return TCL_ERROR
 81443  	}
 81444  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, bp+56, 0))
 81445  	return TCL_OK
 81446  }
 81447  
 81448  func test_complete16(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 81449  	var zBuf uintptr
 81450  
 81451  	if objc != 2 {
 81452  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17636)
 81453  		return TCL_ERROR
 81454  	}
 81455  
 81456  	zBuf = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)), uintptr(0))
 81457  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, sqlite3.Xsqlite3_complete16(tls, zBuf)))
 81458  	return TCL_OK
 81459  }
 81460  
 81461  func test_normalize(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 81462  	var zSql uintptr
 81463  	var zNorm uintptr
 81464  
 81465  	if objc != 2 {
 81466  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+9535)
 81467  		return TCL_ERROR
 81468  	}
 81469  
 81470  	zSql = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))
 81471  	zNorm = sqlite3_normalize(tls, zSql)
 81472  	if zNorm != 0 {
 81473  		tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, zNorm, -1))
 81474  		sqlite3.Xsqlite3_free(tls, zNorm)
 81475  	}
 81476  	return TCL_OK
 81477  }
 81478  
 81479  func test_step(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 81480  	bp := tls.Alloc(40)
 81481  	defer tls.Free(40)
 81482  
 81483  	var rc int32
 81484  
 81485  	if objc != 2 {
 81486  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949,
 81487  			tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+16315, 0))
 81488  		return TCL_ERROR
 81489  	}
 81490  
 81491  	if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32) != 0 {
 81492  		return TCL_ERROR
 81493  	}
 81494  	rc = sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))
 81495  
 81496  	tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0))
 81497  	return TCL_OK
 81498  }
 81499  
 81500  func test_sql(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 81501  	bp := tls.Alloc(8)
 81502  	defer tls.Free(8)
 81503  
 81504  	if objc != 2 {
 81505  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17042)
 81506  		return TCL_ERROR
 81507  	}
 81508  
 81509  	if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp) != 0 {
 81510  		return TCL_ERROR
 81511  	}
 81512  	tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3_sql(tls, *(*uintptr)(unsafe.Pointer(bp))), uintptr(1))
 81513  	return TCL_OK
 81514  }
 81515  
 81516  func test_ex_sql(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 81517  	bp := tls.Alloc(8)
 81518  	defer tls.Free(8)
 81519  
 81520  	var z uintptr
 81521  
 81522  	if objc != 2 {
 81523  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17042)
 81524  		return TCL_ERROR
 81525  	}
 81526  
 81527  	if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp) != 0 {
 81528  		return TCL_ERROR
 81529  	}
 81530  	z = sqlite3.Xsqlite3_expanded_sql(tls, *(*uintptr)(unsafe.Pointer(bp)))
 81531  	tcl.XTcl_SetResult(tls, interp, z, uintptr(1))
 81532  	sqlite3.Xsqlite3_free(tls, z)
 81533  	return TCL_OK
 81534  }
 81535  
 81536  func test_column_count(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 81537  	bp := tls.Alloc(40)
 81538  	defer tls.Free(40)
 81539  
 81540  	if objc != 2 {
 81541  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949,
 81542  			tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17649, 0))
 81543  		return TCL_ERROR
 81544  	}
 81545  
 81546  	if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32) != 0 {
 81547  		return TCL_ERROR
 81548  	}
 81549  
 81550  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, sqlite3.Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))))
 81551  	return TCL_OK
 81552  }
 81553  
 81554  func test_column_type(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 81555  	bp := tls.Alloc(44)
 81556  	defer tls.Free(44)
 81557  
 81558  	var tp int32
 81559  
 81560  	if objc != 3 {
 81561  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949,
 81562  			tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17649, 0))
 81563  		return TCL_ERROR
 81564  	}
 81565  
 81566  	if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32) != 0 {
 81567  		return TCL_ERROR
 81568  	}
 81569  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+40) != 0 {
 81570  		return TCL_ERROR
 81571  	}
 81572  
 81573  	tp = sqlite3.Xsqlite3_column_type(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), *(*int32)(unsafe.Pointer(bp + 40)))
 81574  	switch tp {
 81575  	case SQLITE_INTEGER:
 81576  		tcl.XTcl_SetResult(tls, interp, ts+2413, uintptr(0))
 81577  		break
 81578  	case SQLITE_NULL:
 81579  		tcl.XTcl_SetResult(tls, interp, ts+5846, uintptr(0))
 81580  		break
 81581  	case SQLITE_FLOAT:
 81582  		tcl.XTcl_SetResult(tls, interp, ts+17662, uintptr(0))
 81583  		break
 81584  	case SQLITE_TEXT:
 81585  		tcl.XTcl_SetResult(tls, interp, ts+17668, uintptr(0))
 81586  		break
 81587  	case SQLITE_BLOB:
 81588  		tcl.XTcl_SetResult(tls, interp, ts+17673, uintptr(0))
 81589  		break
 81590  	default:
 81591  	}
 81592  
 81593  	return TCL_OK
 81594  }
 81595  
 81596  func test_column_int64(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 81597  	bp := tls.Alloc(44)
 81598  	defer tls.Free(44)
 81599  
 81600  	var iVal i64
 81601  
 81602  	if objc != 3 {
 81603  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949,
 81604  			tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17649, 0))
 81605  		return TCL_ERROR
 81606  	}
 81607  
 81608  	if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32) != 0 {
 81609  		return TCL_ERROR
 81610  	}
 81611  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+40) != 0 {
 81612  		return TCL_ERROR
 81613  	}
 81614  
 81615  	iVal = sqlite3.Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), *(*int32)(unsafe.Pointer(bp + 40)))
 81616  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewWideIntObj(tls, iVal))
 81617  	return TCL_OK
 81618  }
 81619  
 81620  func test_column_blob(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 81621  	bp := tls.Alloc(44)
 81622  	defer tls.Free(44)
 81623  
 81624  	var len int32
 81625  	var pBlob uintptr
 81626  
 81627  	if objc != 3 {
 81628  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949,
 81629  			tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17649, 0))
 81630  		return TCL_ERROR
 81631  	}
 81632  
 81633  	if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32) != 0 {
 81634  		return TCL_ERROR
 81635  	}
 81636  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+40) != 0 {
 81637  		return TCL_ERROR
 81638  	}
 81639  
 81640  	len = sqlite3.Xsqlite3_column_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), *(*int32)(unsafe.Pointer(bp + 40)))
 81641  	pBlob = sqlite3.Xsqlite3_column_blob(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), *(*int32)(unsafe.Pointer(bp + 40)))
 81642  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, pBlob, len))
 81643  	return TCL_OK
 81644  }
 81645  
 81646  func test_column_double(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 81647  	bp := tls.Alloc(44)
 81648  	defer tls.Free(44)
 81649  
 81650  	var rVal float64
 81651  
 81652  	if objc != 3 {
 81653  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949,
 81654  			tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17649, 0))
 81655  		return TCL_ERROR
 81656  	}
 81657  
 81658  	if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32) != 0 {
 81659  		return TCL_ERROR
 81660  	}
 81661  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+40) != 0 {
 81662  		return TCL_ERROR
 81663  	}
 81664  
 81665  	rVal = sqlite3.Xsqlite3_column_double(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), *(*int32)(unsafe.Pointer(bp + 40)))
 81666  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewDoubleObj(tls, rVal))
 81667  	return TCL_OK
 81668  }
 81669  
 81670  func test_data_count(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 81671  	bp := tls.Alloc(40)
 81672  	defer tls.Free(40)
 81673  
 81674  	if objc != 2 {
 81675  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949,
 81676  			tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17649, 0))
 81677  		return TCL_ERROR
 81678  	}
 81679  
 81680  	if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32) != 0 {
 81681  		return TCL_ERROR
 81682  	}
 81683  
 81684  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, sqlite3.Xsqlite3_data_count(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))))
 81685  	return TCL_OK
 81686  }
 81687  
 81688  func test_stmt_utf8(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 81689  	bp := tls.Alloc(44)
 81690  	defer tls.Free(44)
 81691  
 81692  	var xFunc uintptr
 81693  	var zRet uintptr
 81694  
 81695  	xFunc = clientData
 81696  	if objc != 3 {
 81697  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949,
 81698  			tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17649, 0))
 81699  		return TCL_ERROR
 81700  	}
 81701  
 81702  	if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32) != 0 {
 81703  		return TCL_ERROR
 81704  	}
 81705  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+40) != 0 {
 81706  		return TCL_ERROR
 81707  	}
 81708  	zRet = (*struct {
 81709  		f func(*libc.TLS, uintptr, int32) uintptr
 81710  	})(unsafe.Pointer(&struct{ uintptr }{xFunc})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), *(*int32)(unsafe.Pointer(bp + 40)))
 81711  	if zRet != 0 {
 81712  		tcl.XTcl_SetResult(tls, interp, zRet, uintptr(0))
 81713  	}
 81714  	return TCL_OK
 81715  }
 81716  
 81717  func test_global_recover(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 81718  	var rc int32
 81719  	if objc != 1 {
 81720  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+584)
 81721  		return TCL_ERROR
 81722  	}
 81723  	rc = sqlite3.Xsqlite3_global_recover(tls)
 81724  	tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0))
 81725  	return TCL_OK
 81726  }
 81727  
 81728  func test_stmt_utf16(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 81729  	bp := tls.Alloc(44)
 81730  	defer tls.Free(44)
 81731  
 81732  	var pRet uintptr
 81733  	var zName16 uintptr
 81734  	var xFunc uintptr
 81735  
 81736  	xFunc = clientData
 81737  	if objc != 3 {
 81738  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949,
 81739  			tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17649, 0))
 81740  		return TCL_ERROR
 81741  	}
 81742  
 81743  	if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32) != 0 {
 81744  		return TCL_ERROR
 81745  	}
 81746  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+40) != 0 {
 81747  		return TCL_ERROR
 81748  	}
 81749  
 81750  	zName16 = (*struct {
 81751  		f func(*libc.TLS, uintptr, int32) uintptr
 81752  	})(unsafe.Pointer(&struct{ uintptr }{xFunc})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), *(*int32)(unsafe.Pointer(bp + 40)))
 81753  	if zName16 != 0 {
 81754  		var n int32
 81755  		var z uintptr = zName16
 81756  		for n = 0; *(*int8)(unsafe.Pointer(z + uintptr(n))) != 0 || *(*int8)(unsafe.Pointer(z + uintptr(n+1))) != 0; n = n + 2 {
 81757  		}
 81758  		pRet = tcl.XTcl_NewByteArrayObj(tls, zName16, n+2)
 81759  		tcl.XTcl_SetObjResult(tls, interp, pRet)
 81760  	}
 81761  
 81762  	return TCL_OK
 81763  }
 81764  
 81765  func test_stmt_int(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 81766  	bp := tls.Alloc(44)
 81767  	defer tls.Free(44)
 81768  
 81769  	var xFunc uintptr
 81770  
 81771  	xFunc = clientData
 81772  	if objc != 3 {
 81773  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949,
 81774  			tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17649, 0))
 81775  		return TCL_ERROR
 81776  	}
 81777  
 81778  	if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32) != 0 {
 81779  		return TCL_ERROR
 81780  	}
 81781  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+40) != 0 {
 81782  		return TCL_ERROR
 81783  	}
 81784  
 81785  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, (*struct {
 81786  		f func(*libc.TLS, uintptr, int32) int32
 81787  	})(unsafe.Pointer(&struct{ uintptr }{xFunc})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), *(*int32)(unsafe.Pointer(bp + 40)))))
 81788  	return TCL_OK
 81789  }
 81790  
 81791  func test_interrupt(tls *libc.TLS, clientData uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 81792  	bp := tls.Alloc(40)
 81793  	defer tls.Free(40)
 81794  
 81795  	if argc != 2 {
 81796  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)), ts+15001, 0))
 81797  		return TCL_ERROR
 81798  	}
 81799  	if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32) != 0 {
 81800  		return TCL_ERROR
 81801  	}
 81802  	sqlite3.Xsqlite3_interrupt(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))
 81803  	return TCL_OK
 81804  }
 81805  
 81806  func delete_function(tls *libc.TLS, clientData uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 81807  	bp := tls.Alloc(40)
 81808  	defer tls.Free(40)
 81809  
 81810  	var rc int32
 81811  
 81812  	if argc != 3 {
 81813  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 81814  			ts+17678, 0))
 81815  		return TCL_ERROR
 81816  	}
 81817  	if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32) != 0 {
 81818  		return TCL_ERROR
 81819  	}
 81820  	rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), -1, SQLITE_UTF8, uintptr(0), uintptr(0), uintptr(0), uintptr(0))
 81821  	tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0))
 81822  	return TCL_OK
 81823  }
 81824  
 81825  func delete_collation(tls *libc.TLS, clientData uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 81826  	bp := tls.Alloc(40)
 81827  	defer tls.Free(40)
 81828  
 81829  	var rc int32
 81830  
 81831  	if argc != 3 {
 81832  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 81833  			ts+17678, 0))
 81834  		return TCL_ERROR
 81835  	}
 81836  	if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32) != 0 {
 81837  		return TCL_ERROR
 81838  	}
 81839  	rc = sqlite3.Xsqlite3_create_collation(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), SQLITE_UTF8, uintptr(0), uintptr(0))
 81840  	tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0))
 81841  	return TCL_OK
 81842  }
 81843  
 81844  func get_autocommit(tls *libc.TLS, clientData uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 81845  	bp := tls.Alloc(94)
 81846  	defer tls.Free(94)
 81847  
 81848  	if argc != 2 {
 81849  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 81850  			ts+15001, 0))
 81851  		return TCL_ERROR
 81852  	}
 81853  	if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+56) != 0 {
 81854  		return TCL_ERROR
 81855  	}
 81856  	sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+64, ts+1333, libc.VaList(bp+32, sqlite3.Xsqlite3_get_autocommit(tls, *(*uintptr)(unsafe.Pointer(bp + 56)))))
 81857  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+64, 0))
 81858  	return TCL_OK
 81859  }
 81860  
 81861  func test_busy_timeout(tls *libc.TLS, clientData uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 81862  	bp := tls.Alloc(60)
 81863  	defer tls.Free(60)
 81864  
 81865  	var rc int32
 81866  
 81867  	if argc != 3 {
 81868  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 81869  			ts+15001, 0))
 81870  		return TCL_ERROR
 81871  	}
 81872  	if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+48) != 0 {
 81873  		return TCL_ERROR
 81874  	}
 81875  	if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+56) != 0 {
 81876  		return TCL_ERROR
 81877  	}
 81878  	rc = sqlite3.Xsqlite3_busy_timeout(tls, *(*uintptr)(unsafe.Pointer(bp + 48)), *(*int32)(unsafe.Pointer(bp + 56)))
 81879  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, sqlite3.Xsqlite3ErrName(tls, rc), 0))
 81880  	return TCL_OK
 81881  }
 81882  
 81883  func tcl_variable_type(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 81884  	var pVar uintptr
 81885  	if objc != 2 {
 81886  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17696)
 81887  		return TCL_ERROR
 81888  	}
 81889  	pVar = tcl.XTcl_GetVar2Ex(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0), TCL_LEAVE_ERR_MSG)
 81890  	if pVar == uintptr(0) {
 81891  		return TCL_ERROR
 81892  	}
 81893  	if (*Tcl_Obj)(unsafe.Pointer(pVar)).FtypePtr != 0 {
 81894  		tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, (*Tcl_ObjType)(unsafe.Pointer((*Tcl_Obj)(unsafe.Pointer(pVar)).FtypePtr)).Fname, -1))
 81895  	}
 81896  	return TCL_OK
 81897  }
 81898  
 81899  func test_release_memory(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 81900  	bp := tls.Alloc(4)
 81901  	defer tls.Free(4)
 81902  
 81903  	var amt int32
 81904  	if objc != 1 && objc != 2 {
 81905  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17705)
 81906  		return TCL_ERROR
 81907  	}
 81908  	if objc == 2 {
 81909  		if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp) != 0 {
 81910  			return TCL_ERROR
 81911  		}
 81912  	} else {
 81913  		*(*int32)(unsafe.Pointer(bp)) = -1
 81914  	}
 81915  	amt = sqlite3.Xsqlite3_release_memory(tls, *(*int32)(unsafe.Pointer(bp)))
 81916  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, amt))
 81917  	return TCL_OK
 81918  }
 81919  
 81920  func test_db_release_memory(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 81921  	bp := tls.Alloc(8)
 81922  	defer tls.Free(8)
 81923  
 81924  	var rc int32
 81925  	if objc != 2 {
 81926  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+2050)
 81927  		return TCL_ERROR
 81928  	}
 81929  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp) != 0 {
 81930  		return TCL_ERROR
 81931  	}
 81932  	rc = sqlite3.Xsqlite3_db_release_memory(tls, *(*uintptr)(unsafe.Pointer(bp)))
 81933  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, rc))
 81934  	return TCL_OK
 81935  }
 81936  
 81937  func test_db_cacheflush(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 81938  	bp := tls.Alloc(8)
 81939  	defer tls.Free(8)
 81940  
 81941  	var rc int32
 81942  	if objc != 2 {
 81943  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+2050)
 81944  		return TCL_ERROR
 81945  	}
 81946  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp) != 0 {
 81947  		return TCL_ERROR
 81948  	}
 81949  	rc = sqlite3.Xsqlite3_db_cacheflush(tls, *(*uintptr)(unsafe.Pointer(bp)))
 81950  	if rc != 0 {
 81951  		tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrStr(tls, rc), uintptr(0))
 81952  		return TCL_ERROR
 81953  	}
 81954  
 81955  	tcl.XTcl_ResetResult(tls, interp)
 81956  	return TCL_OK
 81957  }
 81958  
 81959  func test_system_errno(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 81960  	bp := tls.Alloc(8)
 81961  	defer tls.Free(8)
 81962  
 81963  	var iErrno int32
 81964  	if objc != 2 {
 81965  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+2050)
 81966  		return TCL_ERROR
 81967  	}
 81968  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp) != 0 {
 81969  		return TCL_ERROR
 81970  	}
 81971  	iErrno = sqlite3.Xsqlite3_system_errno(tls, *(*uintptr)(unsafe.Pointer(bp)))
 81972  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, iErrno))
 81973  	return TCL_OK
 81974  }
 81975  
 81976  func test_db_filename(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 81977  	bp := tls.Alloc(24)
 81978  	defer tls.Free(24)
 81979  
 81980  	var zDbName uintptr
 81981  	if objc != 3 {
 81982  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16225)
 81983  		return TCL_ERROR
 81984  	}
 81985  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+16) != 0 {
 81986  		return TCL_ERROR
 81987  	}
 81988  	zDbName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
 81989  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, sqlite3.Xsqlite3_db_filename(tls, *(*uintptr)(unsafe.Pointer(bp + 16)), zDbName), uintptr(0)))
 81990  	return TCL_OK
 81991  }
 81992  
 81993  func test_db_readonly(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 81994  	bp := tls.Alloc(8)
 81995  	defer tls.Free(8)
 81996  
 81997  	var zDbName uintptr
 81998  	if objc != 3 {
 81999  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16225)
 82000  		return TCL_ERROR
 82001  	}
 82002  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp) != 0 {
 82003  		return TCL_ERROR
 82004  	}
 82005  	zDbName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
 82006  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, sqlite3.Xsqlite3_db_readonly(tls, *(*uintptr)(unsafe.Pointer(bp)), zDbName)))
 82007  	return TCL_OK
 82008  }
 82009  
 82010  func test_soft_heap_limit(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 82011  	bp := tls.Alloc(8)
 82012  	defer tls.Free(8)
 82013  
 82014  	var amt sqlite3_int64
 82015  	*(*Tcl_WideInt)(unsafe.Pointer(bp)) = int64(-1)
 82016  	if objc != 1 && objc != 2 {
 82017  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17705)
 82018  		return TCL_ERROR
 82019  	}
 82020  	if objc == 2 {
 82021  		if tcl.XTcl_GetWideIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp) != 0 {
 82022  			return TCL_ERROR
 82023  		}
 82024  	}
 82025  	amt = sqlite3.Xsqlite3_soft_heap_limit64(tls, *(*Tcl_WideInt)(unsafe.Pointer(bp)))
 82026  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewWideIntObj(tls, amt))
 82027  	return TCL_OK
 82028  }
 82029  
 82030  func test_hard_heap_limit(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 82031  	bp := tls.Alloc(8)
 82032  	defer tls.Free(8)
 82033  
 82034  	var amt sqlite3_int64
 82035  	*(*Tcl_WideInt)(unsafe.Pointer(bp)) = int64(-1)
 82036  	if objc != 1 && objc != 2 {
 82037  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17705)
 82038  		return TCL_ERROR
 82039  	}
 82040  	if objc == 2 {
 82041  		if tcl.XTcl_GetWideIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp) != 0 {
 82042  			return TCL_ERROR
 82043  		}
 82044  	}
 82045  	amt = sqlite3.Xsqlite3_hard_heap_limit64(tls, *(*Tcl_WideInt)(unsafe.Pointer(bp)))
 82046  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewWideIntObj(tls, amt))
 82047  	return TCL_OK
 82048  }
 82049  
 82050  func test_thread_cleanup(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 82051  	sqlite3.Xsqlite3_thread_cleanup(tls)
 82052  	return TCL_OK
 82053  }
 82054  
 82055  func test_pager_refcounts(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 82056  	bp := tls.Alloc(40)
 82057  	defer tls.Free(40)
 82058  
 82059  	var i int32
 82060  	var v int32
 82061  	var a uintptr
 82062  	var pResult uintptr
 82063  
 82064  	if objc != 2 {
 82065  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949,
 82066  			tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+15001, 0))
 82067  		return TCL_ERROR
 82068  	}
 82069  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32) != 0 {
 82070  		return TCL_ERROR
 82071  	}
 82072  	pResult = tcl.XTcl_NewObj(tls)
 82073  	for i = 0; i < (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32)))).FnDb; i++ {
 82074  		if (*Db)(unsafe.Pointer((*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32)))).FaDb+uintptr(i)*32)).FpBt == uintptr(0) {
 82075  			v = -1
 82076  		} else {
 82077  			sqlite3.Xsqlite3_mutex_enter(tls, (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32)))).Fmutex)
 82078  			a = sqlite3.Xsqlite3PagerStats(tls, sqlite3.Xsqlite3BtreePager(tls, (*Db)(unsafe.Pointer((*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32)))).FaDb+uintptr(i)*32)).FpBt))
 82079  			v = *(*int32)(unsafe.Pointer(a))
 82080  			sqlite3.Xsqlite3_mutex_leave(tls, (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32)))).Fmutex)
 82081  		}
 82082  		tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pResult, tcl.XTcl_NewIntObj(tls, v))
 82083  	}
 82084  	tcl.XTcl_SetObjResult(tls, interp, pResult)
 82085  	return TCL_OK
 82086  }
 82087  
 82088  func working_64bit_int(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 82089  	var pTestObj uintptr
 82090  	var working int32 = 0
 82091  
 82092  	pTestObj = tcl.XTcl_NewWideIntObj(tls, int64(1000000)*int64(1234567890))
 82093  	working = libc.Bool32(libc.Xstrcmp(tls, tcl.XTcl_GetString(tls, pTestObj), ts+17709) == 0)
 82094  	for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
 82095  		var _objPtr uintptr = pTestObj
 82096  		if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 82097  			tcl.XTclFreeObj(tls, _objPtr)
 82098  		}
 82099  	}
 82100  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, libc.Bool32(working != 0)))
 82101  	return TCL_OK
 82102  }
 82103  
 82104  func vfs_unlink_test(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 82105  	bp := tls.Alloc(496)
 82106  	defer tls.Free(496)
 82107  
 82108  	var i int32
 82109  	var pMain uintptr
 82110  
 82111  	sqlite3.Xsqlite3_vfs_unregister(tls, uintptr(0))
 82112  	(*sqlite3_vfs)(unsafe.Pointer(bp)).FzName = ts + 17726
 82113  	(*sqlite3_vfs)(unsafe.Pointer(bp + 168)).FzName = ts + 17732
 82114  
 82115  	pMain = sqlite3.Xsqlite3_vfs_find(tls, uintptr(0))
 82116  	sqlite3.Xsqlite3_vfs_register(tls, bp, 0)
 82117  
 82118  	sqlite3.Xsqlite3_vfs_register(tls, bp+168, 0)
 82119  
 82120  	sqlite3.Xsqlite3_vfs_register(tls, bp, 1)
 82121  
 82122  	sqlite3.Xsqlite3_vfs_register(tls, bp+168, 1)
 82123  
 82124  	if pMain != 0 {
 82125  		sqlite3.Xsqlite3_vfs_register(tls, pMain, 1)
 82126  
 82127  	}
 82128  
 82129  	for i = 0; uint64(i) < uint64(unsafe.Sizeof([20]uintptr{}))/uint64(unsafe.Sizeof(uintptr(0))); i++ {
 82130  		*(*uintptr)(unsafe.Pointer(bp + 336 + uintptr(i)*8)) = sqlite3.Xsqlite3_vfs_find(tls, uintptr(0))
 82131  		if *(*uintptr)(unsafe.Pointer(bp + 336 + uintptr(i)*8)) != 0 {
 82132  			sqlite3.Xsqlite3_vfs_unregister(tls, *(*uintptr)(unsafe.Pointer(bp + 336 + uintptr(i)*8)))
 82133  
 82134  		}
 82135  	}
 82136  
 82137  	sqlite3.Xsqlite3_vfs_register(tls, pMain, 0)
 82138  
 82139  	sqlite3.Xsqlite3_vfs_unregister(tls, pMain)
 82140  
 82141  	for i = int32(uint64(unsafe.Sizeof([20]uintptr{}))/uint64(unsafe.Sizeof(uintptr(0))) - uint64(1)); i >= 0; i-- {
 82142  		if *(*uintptr)(unsafe.Pointer(bp + 336 + uintptr(i)*8)) != 0 {
 82143  			sqlite3.Xsqlite3_vfs_register(tls, *(*uintptr)(unsafe.Pointer(bp + 336 + uintptr(i)*8)), 1)
 82144  
 82145  		}
 82146  	}
 82147  
 82148  	sqlite3.Xsqlite3_vfs_unregister(tls, bp)
 82149  	sqlite3.Xsqlite3_vfs_unregister(tls, bp+168)
 82150  
 82151  	sqlite3.Xsqlite3_vfs_unregister(tls, bp)
 82152  	sqlite3.Xsqlite3_vfs_unregister(tls, bp+168)
 82153  
 82154  	return TCL_OK
 82155  }
 82156  
 82157  func vfs_initfail_test(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 82158  	bp := tls.Alloc(168)
 82159  	defer tls.Free(168)
 82160  
 82161  	(*sqlite3_vfs)(unsafe.Pointer(bp)).FzName = ts + 17726
 82162  
 82163  	if sqlite3.Xsqlite3_vfs_find(tls, uintptr(0)) != 0 {
 82164  		return TCL_ERROR
 82165  	}
 82166  	sqlite3.Xsqlite3_vfs_register(tls, bp, 0)
 82167  	if sqlite3.Xsqlite3_vfs_find(tls, uintptr(0)) != 0 {
 82168  		return TCL_ERROR
 82169  	}
 82170  	sqlite3.Xsqlite3_vfs_register(tls, bp, 1)
 82171  	if sqlite3.Xsqlite3_vfs_find(tls, uintptr(0)) != 0 {
 82172  		return TCL_ERROR
 82173  	}
 82174  	return TCL_OK
 82175  }
 82176  
 82177  var apVfs [20]uintptr
 82178  var nVfs int32 = 0
 82179  
 82180  func vfs_unregister_all(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 82181  	var i int32
 82182  	for i = 0; i < int32(uint64(unsafe.Sizeof(apVfs))/uint64(unsafe.Sizeof(uintptr(0)))); i++ {
 82183  		apVfs[i] = sqlite3.Xsqlite3_vfs_find(tls, uintptr(0))
 82184  		if apVfs[i] == uintptr(0) {
 82185  			break
 82186  		}
 82187  		sqlite3.Xsqlite3_vfs_unregister(tls, apVfs[i])
 82188  	}
 82189  	nVfs = i
 82190  	return TCL_OK
 82191  }
 82192  
 82193  func vfs_reregister_all(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 82194  	var i int32
 82195  	for i = nVfs - 1; i >= 0; i-- {
 82196  		sqlite3.Xsqlite3_vfs_register(tls, apVfs[i], 1)
 82197  	}
 82198  	return TCL_OK
 82199  }
 82200  
 82201  func file_control_test(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 82202  	bp := tls.Alloc(44)
 82203  	defer tls.Free(44)
 82204  
 82205  	*(*int32)(unsafe.Pointer(bp + 40)) = 0
 82206  
 82207  	var rc int32
 82208  	_ = rc
 82209  
 82210  	if objc != 2 {
 82211  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949,
 82212  			tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+15001, 0))
 82213  		return TCL_ERROR
 82214  	}
 82215  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32) != 0 {
 82216  		return TCL_ERROR
 82217  	}
 82218  	rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), uintptr(0), 0, bp+40)
 82219  
 82220  	rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), ts+17738, SQLITE_FCNTL_LOCKSTATE, bp+40)
 82221  
 82222  	rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), ts+85, -1, bp+40)
 82223  
 82224  	rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), ts+8931, -1, bp+40)
 82225  
 82226  	return TCL_OK
 82227  }
 82228  
 82229  func file_control_lasterrno_test(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 82230  	bp := tls.Alloc(76)
 82231  	defer tls.Free(76)
 82232  
 82233  	*(*int32)(unsafe.Pointer(bp + 72)) = 0
 82234  
 82235  	var rc int32
 82236  
 82237  	if objc != 2 {
 82238  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949,
 82239  			tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+15001, 0))
 82240  		return TCL_ERROR
 82241  	}
 82242  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+64) != 0 {
 82243  		return TCL_ERROR
 82244  	}
 82245  	rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), uintptr(0), SQLITE_FCNTL_LAST_ERRNO, bp+72)
 82246  	if rc != 0 {
 82247  		tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, rc))
 82248  		return TCL_ERROR
 82249  	}
 82250  	if *(*int32)(unsafe.Pointer(bp + 72)) != 0 {
 82251  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+17751,
 82252  			tcl.XTcl_GetStringFromObj(tls, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 72))), uintptr(0)), ts+4894, 0))
 82253  		return TCL_ERROR
 82254  	}
 82255  	return TCL_OK
 82256  }
 82257  
 82258  func file_control_data_version(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 82259  	bp := tls.Alloc(120)
 82260  	defer tls.Free(120)
 82261  
 82262  	var zDb uintptr
 82263  
 82264  	var rc int32
 82265  
 82266  	if objc != 3 && objc != 2 {
 82267  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17779)
 82268  		return TCL_ERROR
 82269  	}
 82270  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+8) != 0 {
 82271  		return TCL_ERROR
 82272  	}
 82273  	if objc == 3 {
 82274  		zDb = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
 82275  	} else {
 82276  		zDb = uintptr(0)
 82277  	}
 82278  
 82279  	rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), zDb, SQLITE_FCNTL_DATA_VERSION, bp+16)
 82280  	if rc != 0 {
 82281  		tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0))
 82282  		return TCL_ERROR
 82283  	} else {
 82284  		sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+20, ts+17791, libc.VaList(bp, *(*uint32)(unsafe.Pointer(bp + 16))))
 82285  		tcl.XTcl_SetResult(tls, interp, bp+20, uintptr(1))
 82286  		return TCL_OK
 82287  	}
 82288  	return int32(0)
 82289  }
 82290  
 82291  func file_control_chunksize_test(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 82292  	bp := tls.Alloc(12)
 82293  	defer tls.Free(12)
 82294  
 82295  	var zDb uintptr
 82296  
 82297  	var rc int32
 82298  
 82299  	if objc != 4 {
 82300  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17794)
 82301  		return TCL_ERROR
 82302  	}
 82303  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp) != 0 ||
 82304  		tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+8) != 0 {
 82305  		return TCL_ERROR
 82306  	}
 82307  	zDb = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
 82308  	if int32(*(*int8)(unsafe.Pointer(zDb))) == 0 {
 82309  		zDb = uintptr(0)
 82310  	}
 82311  
 82312  	rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp)), zDb, SQLITE_FCNTL_CHUNK_SIZE, bp+8)
 82313  	if rc != 0 {
 82314  		tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0))
 82315  		return TCL_ERROR
 82316  	}
 82317  	return TCL_OK
 82318  }
 82319  
 82320  func file_control_sizehint_test(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 82321  	bp := tls.Alloc(16)
 82322  	defer tls.Free(16)
 82323  
 82324  	var zDb uintptr
 82325  
 82326  	var rc int32
 82327  
 82328  	if objc != 4 {
 82329  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17794)
 82330  		return TCL_ERROR
 82331  	}
 82332  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp) != 0 ||
 82333  		tcl.XTcl_GetWideIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+8) != 0 {
 82334  		return TCL_ERROR
 82335  	}
 82336  	zDb = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
 82337  	if int32(*(*int8)(unsafe.Pointer(zDb))) == 0 {
 82338  		zDb = uintptr(0)
 82339  	}
 82340  
 82341  	rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp)), zDb, SQLITE_FCNTL_SIZE_HINT, bp+8)
 82342  	if rc != 0 {
 82343  		tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0))
 82344  		return TCL_ERROR
 82345  	}
 82346  	return TCL_OK
 82347  }
 82348  
 82349  func file_control_lockproxy_test(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 82350  	bp := tls.Alloc(40)
 82351  	defer tls.Free(40)
 82352  
 82353  	if objc != 3 {
 82354  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949,
 82355  			tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17809, 0))
 82356  		return TCL_ERROR
 82357  	}
 82358  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32) != 0 {
 82359  		return TCL_ERROR
 82360  	}
 82361  
 82362  	return TCL_OK
 82363  }
 82364  
 82365  func file_control_win32_av_retry(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 82366  	bp := tls.Alloc(188)
 82367  	defer tls.Free(188)
 82368  
 82369  	var rc int32
 82370  
 82371  	if objc != 4 {
 82372  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949,
 82373  			tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17817, 0))
 82374  		return TCL_ERROR
 82375  	}
 82376  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+72) != 0 {
 82377  		return TCL_ERROR
 82378  	}
 82379  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+80) != 0 {
 82380  		return TCL_ERROR
 82381  	}
 82382  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+80+1*4) != 0 {
 82383  		return TCL_ERROR
 82384  	}
 82385  	rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 72)), uintptr(0), SQLITE_FCNTL_WIN32_AV_RETRY, bp+80)
 82386  	sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+88, ts+17834, libc.VaList(bp+32, rc, *(*int32)(unsafe.Pointer(bp + 80)), *(*int32)(unsafe.Pointer(bp + 80 + 1*4))))
 82387  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+88, uintptr(0)))
 82388  	return TCL_OK
 82389  }
 82390  
 82391  func file_control_win32_get_handle(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 82392  	bp := tls.Alloc(180)
 82393  	defer tls.Free(180)
 82394  
 82395  	var rc int32
 82396  	*(*HANDLE)(unsafe.Pointer(bp + 72)) = uintptr(0)
 82397  
 82398  	if objc != 2 {
 82399  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949,
 82400  			tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+15001, 0))
 82401  		return TCL_ERROR
 82402  	}
 82403  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+64) != 0 {
 82404  		return TCL_ERROR
 82405  	}
 82406  	rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), uintptr(0), SQLITE_FCNTL_WIN32_GET_HANDLE,
 82407  		bp+72)
 82408  	sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+80, ts+17843, libc.VaList(bp+32, rc, *(*HANDLE)(unsafe.Pointer(bp + 72))))
 82409  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, bp+80, uintptr(0)))
 82410  	return TCL_OK
 82411  }
 82412  
 82413  func file_control_win32_set_handle(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 82414  	bp := tls.Alloc(180)
 82415  	defer tls.Free(180)
 82416  
 82417  	var rc int32
 82418  	*(*HANDLE)(unsafe.Pointer(bp + 72)) = uintptr(0)
 82419  
 82420  	if objc != 3 {
 82421  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949,
 82422  			tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17849, 0))
 82423  		return TCL_ERROR
 82424  	}
 82425  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+64) != 0 {
 82426  		return TCL_ERROR
 82427  	}
 82428  	if getWin32Handle(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), bp+72) != 0 {
 82429  		return TCL_ERROR
 82430  	}
 82431  	rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), uintptr(0), SQLITE_FCNTL_WIN32_SET_HANDLE,
 82432  		bp+72)
 82433  	sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+80, ts+17843, libc.VaList(bp+32, rc, *(*HANDLE)(unsafe.Pointer(bp + 72))))
 82434  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, bp+80, uintptr(0)))
 82435  	return TCL_OK
 82436  }
 82437  
 82438  func file_control_persist_wal(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 82439  	bp := tls.Alloc(176)
 82440  	defer tls.Free(176)
 82441  
 82442  	var rc int32
 82443  
 82444  	if objc != 3 {
 82445  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949,
 82446  			tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17860, 0))
 82447  		return TCL_ERROR
 82448  	}
 82449  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+64) != 0 {
 82450  		return TCL_ERROR
 82451  	}
 82452  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+72) != 0 {
 82453  		return TCL_ERROR
 82454  	}
 82455  	rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), uintptr(0), SQLITE_FCNTL_PERSIST_WAL, bp+72)
 82456  	sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+76, ts+17869, libc.VaList(bp+32, rc, *(*int32)(unsafe.Pointer(bp + 72))))
 82457  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, bp+76, uintptr(0)))
 82458  	return TCL_OK
 82459  }
 82460  
 82461  func file_control_powersafe_overwrite(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 82462  	bp := tls.Alloc(176)
 82463  	defer tls.Free(176)
 82464  
 82465  	var rc int32
 82466  
 82467  	if objc != 3 {
 82468  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949,
 82469  			tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17860, 0))
 82470  		return TCL_ERROR
 82471  	}
 82472  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+64) != 0 {
 82473  		return TCL_ERROR
 82474  	}
 82475  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+72) != 0 {
 82476  		return TCL_ERROR
 82477  	}
 82478  	rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), uintptr(0), SQLITE_FCNTL_POWERSAFE_OVERWRITE, bp+72)
 82479  	sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+76, ts+17869, libc.VaList(bp+32, rc, *(*int32)(unsafe.Pointer(bp + 72))))
 82480  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, bp+76, uintptr(0)))
 82481  	return TCL_OK
 82482  }
 82483  
 82484  func file_control_vfsname(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 82485  	bp := tls.Alloc(64)
 82486  	defer tls.Free(64)
 82487  
 82488  	var zDbName uintptr = ts + 85
 82489  	*(*uintptr)(unsafe.Pointer(bp + 56)) = uintptr(0)
 82490  
 82491  	if objc != 2 && objc != 3 {
 82492  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949,
 82493  			tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17875, 0))
 82494  		return TCL_ERROR
 82495  	}
 82496  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+48) != 0 {
 82497  		return TCL_ERROR
 82498  	}
 82499  	if objc == 3 {
 82500  		zDbName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
 82501  	}
 82502  	sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 48)), zDbName, SQLITE_FCNTL_VFSNAME, bp+56)
 82503  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(bp + 56)), uintptr(0)))
 82504  	sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 56)))
 82505  	return TCL_OK
 82506  }
 82507  
 82508  func file_control_reservebytes(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 82509  	bp := tls.Alloc(12)
 82510  	defer tls.Free(12)
 82511  
 82512  	var zDbName uintptr = ts + 85
 82513  	*(*int32)(unsafe.Pointer(bp + 8)) = 0
 82514  	var rc int32
 82515  
 82516  	if objc != 3 {
 82517  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17887)
 82518  		return TCL_ERROR
 82519  	}
 82520  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp) != 0 ||
 82521  		tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+8) != 0 {
 82522  		return TCL_ERROR
 82523  	}
 82524  
 82525  	rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp)), zDbName, SQLITE_FCNTL_RESERVE_BYTES, bp+8)
 82526  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3ErrName(tls, rc), -1))
 82527  	return TCL_OK
 82528  }
 82529  
 82530  func file_control_tempfilename(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 82531  	bp := tls.Alloc(64)
 82532  	defer tls.Free(64)
 82533  
 82534  	var zDbName uintptr = ts + 85
 82535  	*(*uintptr)(unsafe.Pointer(bp + 56)) = uintptr(0)
 82536  
 82537  	if objc != 2 && objc != 3 {
 82538  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949,
 82539  			tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17875, 0))
 82540  		return TCL_ERROR
 82541  	}
 82542  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+48) != 0 {
 82543  		return TCL_ERROR
 82544  	}
 82545  	if objc == 3 {
 82546  		zDbName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
 82547  	}
 82548  	sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 48)), zDbName, SQLITE_FCNTL_TEMPFILENAME, bp+56)
 82549  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(bp + 56)), uintptr(0)))
 82550  	sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 56)))
 82551  	return TCL_OK
 82552  }
 82553  
 82554  func file_control_external_reader(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 82555  	bp := tls.Alloc(44)
 82556  	defer tls.Free(44)
 82557  
 82558  	var zName uintptr = ts + 85
 82559  	*(*int32)(unsafe.Pointer(bp + 40)) = 0
 82560  	var rc int32 = SQLITE_OK
 82561  
 82562  	if objc != 2 && objc != 3 {
 82563  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949,
 82564  			tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17875, 0))
 82565  		return TCL_ERROR
 82566  	}
 82567  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32) != 0 {
 82568  		return TCL_ERROR
 82569  	}
 82570  	if objc == 3 {
 82571  		zName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
 82572  	}
 82573  	rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), zName, SQLITE_FCNTL_EXTERNAL_READER, bp+40)
 82574  	if rc != SQLITE_OK {
 82575  		tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0))
 82576  		return TCL_ERROR
 82577  	}
 82578  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 40))))
 82579  	return TCL_OK
 82580  }
 82581  
 82582  func vfs_list(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 82583  	var pVfs uintptr
 82584  	var pRet uintptr = tcl.XTcl_NewObj(tls)
 82585  	if objc != 1 {
 82586  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+584)
 82587  		return TCL_ERROR
 82588  	}
 82589  	for pVfs = sqlite3.Xsqlite3_vfs_find(tls, uintptr(0)); pVfs != 0; pVfs = (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpNext {
 82590  		tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FzName, -1))
 82591  	}
 82592  	tcl.XTcl_SetObjResult(tls, interp, pRet)
 82593  	return TCL_OK
 82594  }
 82595  
 82596  func test_limit(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 82597  	bp := tls.Alloc(68)
 82598  	defer tls.Free(68)
 82599  
 82600  	var rc int32
 82601  	var i int32
 82602  	var id int32 = 0
 82603  
 82604  	var zId uintptr
 82605  
 82606  	if objc != 4 {
 82607  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949,
 82608  			tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+17892, 0))
 82609  		return TCL_ERROR
 82610  	}
 82611  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+56) != 0 {
 82612  		return TCL_ERROR
 82613  	}
 82614  	zId = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
 82615  	for i = 0; uint64(i) < uint64(unsafe.Sizeof(aId))/uint64(unsafe.Sizeof(struct {
 82616  		FzName       uintptr
 82617  		Fid          int32
 82618  		F__ccgo_pad1 [4]byte
 82619  	}{})); i++ {
 82620  		if libc.Xstrcmp(tls, zId, aId[i].FzName) == 0 {
 82621  			id = aId[i].Fid
 82622  			break
 82623  		}
 82624  	}
 82625  	if uint64(i) >= uint64(unsafe.Sizeof(aId))/uint64(unsafe.Sizeof(struct {
 82626  		FzName       uintptr
 82627  		Fid          int32
 82628  		F__ccgo_pad1 [4]byte
 82629  	}{})) {
 82630  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+17905, zId, uintptr(0)))
 82631  		return TCL_ERROR
 82632  	}
 82633  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+64) != 0 {
 82634  		return TCL_ERROR
 82635  	}
 82636  	rc = sqlite3.Xsqlite3_limit(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), id, *(*int32)(unsafe.Pointer(bp + 64)))
 82637  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, rc))
 82638  	return TCL_OK
 82639  }
 82640  
 82641  var aId = [14]struct {
 82642  	FzName       uintptr
 82643  	Fid          int32
 82644  	F__ccgo_pad1 [4]byte
 82645  }{
 82646  	{FzName: ts + 17926},
 82647  	{FzName: ts + 17946, Fid: SQLITE_LIMIT_SQL_LENGTH},
 82648  	{FzName: ts + 17970, Fid: SQLITE_LIMIT_COLUMN},
 82649  	{FzName: ts + 17990, Fid: SQLITE_LIMIT_EXPR_DEPTH},
 82650  	{FzName: ts + 18014, Fid: SQLITE_LIMIT_COMPOUND_SELECT},
 82651  	{FzName: ts + 18043, Fid: SQLITE_LIMIT_VDBE_OP},
 82652  	{FzName: ts + 18064, Fid: SQLITE_LIMIT_FUNCTION_ARG},
 82653  	{FzName: ts + 18090, Fid: SQLITE_LIMIT_ATTACHED},
 82654  	{FzName: ts + 18112, Fid: SQLITE_LIMIT_LIKE_PATTERN_LENGTH},
 82655  	{FzName: ts + 18145, Fid: SQLITE_LIMIT_VARIABLE_NUMBER},
 82656  	{FzName: ts + 18174, Fid: SQLITE_LIMIT_TRIGGER_DEPTH},
 82657  	{FzName: ts + 18201, Fid: SQLITE_LIMIT_WORKER_THREADS},
 82658  	{FzName: ts + 18229, Fid: -1},
 82659  	{FzName: ts + 18251, Fid: SQLITE_LIMIT_WORKER_THREADS + 1},
 82660  }
 82661  
 82662  func save_prng_state(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 82663  	var rc int32 = sqlite3.Xsqlite3_test_control(tls, 9999, 0)
 82664  	_ = rc
 82665  
 82666  	rc = sqlite3.Xsqlite3_test_control(tls, -1, 0)
 82667  
 82668  	sqlite3.Xsqlite3_test_control(tls, SQLITE_TESTCTRL_PRNG_SAVE, 0)
 82669  	return TCL_OK
 82670  }
 82671  
 82672  func restore_prng_state(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 82673  	sqlite3.Xsqlite3_test_control(tls, SQLITE_TESTCTRL_PRNG_RESTORE, 0)
 82674  	return TCL_OK
 82675  }
 82676  
 82677  func reset_prng_state(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 82678  	sqlite3.Xsqlite3_randomness(tls, 0, uintptr(0))
 82679  	return TCL_OK
 82680  }
 82681  
 82682  func prng_seed(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 82683  	bp := tls.Alloc(32)
 82684  	defer tls.Free(32)
 82685  
 82686  	*(*int32)(unsafe.Pointer(bp + 16)) = 0
 82687  	*(*uintptr)(unsafe.Pointer(bp + 24)) = uintptr(0)
 82688  	if objc != 2 && objc != 3 {
 82689  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18271)
 82690  		return TCL_ERROR
 82691  	}
 82692  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+16) != 0 {
 82693  		return TCL_ERROR
 82694  	}
 82695  	if objc == 3 && getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), bp+24) != 0 {
 82696  		return TCL_ERROR
 82697  	}
 82698  	sqlite3.Xsqlite3_test_control(tls, SQLITE_TESTCTRL_PRNG_SEED, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 16)), *(*uintptr)(unsafe.Pointer(bp + 24))))
 82699  	return TCL_OK
 82700  }
 82701  
 82702  func extra_schema_checks(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 82703  	bp := tls.Alloc(12)
 82704  	defer tls.Free(12)
 82705  
 82706  	*(*int32)(unsafe.Pointer(bp + 8)) = 0
 82707  	if objc != 2 {
 82708  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18281)
 82709  		return TCL_ERROR
 82710  	}
 82711  	if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+8) != 0 {
 82712  		return TCL_ERROR
 82713  	}
 82714  	sqlite3.Xsqlite3_test_control(tls, SQLITE_TESTCTRL_EXTRA_SCHEMA_CHECKS, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8))))
 82715  	return TCL_OK
 82716  }
 82717  
 82718  func database_may_be_corrupt(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 82719  	bp := tls.Alloc(8)
 82720  	defer tls.Free(8)
 82721  
 82722  	sqlite3.Xsqlite3_test_control(tls, SQLITE_TESTCTRL_NEVER_CORRUPT, libc.VaList(bp, 0))
 82723  	return TCL_OK
 82724  }
 82725  
 82726  func database_never_corrupt(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 82727  	bp := tls.Alloc(8)
 82728  	defer tls.Free(8)
 82729  
 82730  	sqlite3.Xsqlite3_test_control(tls, SQLITE_TESTCTRL_NEVER_CORRUPT, libc.VaList(bp, 1))
 82731  	return TCL_OK
 82732  }
 82733  
 82734  func test_pcache_stats(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 82735  	bp := tls.Alloc(16)
 82736  	defer tls.Free(16)
 82737  
 82738  	var pRet uintptr
 82739  
 82740  	sqlite3.Xsqlite3PcacheStats(tls, bp, bp+4, bp+8, bp+12)
 82741  
 82742  	pRet = tcl.XTcl_NewObj(tls)
 82743  	tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+18289, -1))
 82744  	tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp))))
 82745  	tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+18297, -1))
 82746  	tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 4))))
 82747  	tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+18301, -1))
 82748  	tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 8))))
 82749  	tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+18305, -1))
 82750  	tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 12))))
 82751  
 82752  	tcl.XTcl_SetObjResult(tls, interp, pRet)
 82753  
 82754  	return TCL_OK
 82755  }
 82756  
 82757  func test_unlock_notify_cb(tls *libc.TLS, aArg uintptr, nArg int32) {
 82758  	var ii int32
 82759  	for ii = 0; ii < nArg; ii++ {
 82760  		tcl.XTcl_EvalEx(tls, *(*uintptr)(unsafe.Pointer(aArg + uintptr(ii)*8)), ts+13692, -1, TCL_EVAL_GLOBAL)
 82761  	}
 82762  }
 82763  
 82764  func test_unlock_notify(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 82765  	bp := tls.Alloc(8)
 82766  	defer tls.Free(8)
 82767  
 82768  	var rc int32
 82769  
 82770  	if objc != 2 {
 82771  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+2050)
 82772  		return TCL_ERROR
 82773  	}
 82774  
 82775  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp) != 0 {
 82776  		return TCL_ERROR
 82777  	}
 82778  	rc = sqlite3.Xsqlite3_unlock_notify(tls, *(*uintptr)(unsafe.Pointer(bp)), *(*uintptr)(unsafe.Pointer(&struct {
 82779  		f func(*libc.TLS, uintptr, int32)
 82780  	}{test_unlock_notify_cb})), interp)
 82781  	tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0))
 82782  	return TCL_OK
 82783  }
 82784  
 82785  func test_wal_checkpoint(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 82786  	bp := tls.Alloc(8)
 82787  	defer tls.Free(8)
 82788  
 82789  	var zDb uintptr = uintptr(0)
 82790  
 82791  	var rc int32
 82792  
 82793  	if objc != 3 && objc != 2 {
 82794  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18316)
 82795  		return TCL_ERROR
 82796  	}
 82797  
 82798  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp) != 0 {
 82799  		return TCL_ERROR
 82800  	}
 82801  	if objc == 3 {
 82802  		zDb = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
 82803  	}
 82804  	rc = sqlite3.Xsqlite3_wal_checkpoint(tls, *(*uintptr)(unsafe.Pointer(bp)), zDb)
 82805  	tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0))
 82806  	return TCL_OK
 82807  }
 82808  
 82809  func test_wal_checkpoint_v2(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 82810  	bp := tls.Alloc(96)
 82811  	defer tls.Free(96)
 82812  
 82813  	var zDb uintptr = uintptr(0)
 82814  
 82815  	var rc int32
 82816  
 82817  	*(*int32)(unsafe.Pointer(bp + 88)) = -555
 82818  	*(*int32)(unsafe.Pointer(bp + 92)) = -555
 82819  	var pRet uintptr
 82820  
 82821  	*(*[5]uintptr)(unsafe.Pointer(bp + 48)) = [5]uintptr{ts + 18326, ts + 18334, ts + 18339, ts + 18347, uintptr(0)}
 82822  
 82823  	if objc != 3 && objc != 4 {
 82824  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18356)
 82825  		return TCL_ERROR
 82826  	}
 82827  
 82828  	if objc == 4 {
 82829  		zDb = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)))
 82830  	}
 82831  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32) != 0 || TCL_OK != tcl.XTcl_GetIntFromObj(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+40) &&
 82832  		TCL_OK != tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+48, int32(unsafe.Sizeof(uintptr(0))), ts+18371, 0, bp+40) {
 82833  		return TCL_ERROR
 82834  	}
 82835  
 82836  	rc = sqlite3.Xsqlite3_wal_checkpoint_v2(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), zDb, *(*int32)(unsafe.Pointer(bp + 40)), bp+88, bp+92)
 82837  	if rc != SQLITE_OK && rc != SQLITE_BUSY {
 82838  		var zErrCode uintptr = sqlite3.Xsqlite3ErrName(tls, rc)
 82839  		tcl.XTcl_ResetResult(tls, interp)
 82840  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, zErrCode, ts+9645, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 32))), 0))
 82841  		return TCL_ERROR
 82842  	}
 82843  
 82844  	pRet = tcl.XTcl_NewObj(tls)
 82845  	tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewIntObj(tls, func() int32 {
 82846  		if rc == SQLITE_BUSY {
 82847  			return 1
 82848  		}
 82849  		return 0
 82850  	}()))
 82851  	tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 88))))
 82852  	tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 92))))
 82853  	tcl.XTcl_SetObjResult(tls, interp, pRet)
 82854  
 82855  	return TCL_OK
 82856  }
 82857  
 82858  func test_wal_autocheckpoint(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 82859  	bp := tls.Alloc(12)
 82860  	defer tls.Free(12)
 82861  
 82862  	var rc int32
 82863  
 82864  	if objc != 3 {
 82865  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18376)
 82866  		return TCL_ERROR
 82867  	}
 82868  
 82869  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp) != 0 ||
 82870  		tcl.XTcl_GetIntFromObj(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+8) != 0 {
 82871  		return TCL_ERROR
 82872  	}
 82873  
 82874  	rc = sqlite3.Xsqlite3_wal_autocheckpoint(tls, *(*uintptr)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 8)))
 82875  	tcl.XTcl_ResetResult(tls, interp)
 82876  	if rc != SQLITE_OK {
 82877  		var zErrCode uintptr = sqlite3.Xsqlite3ErrName(tls, rc)
 82878  		tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, zErrCode, -1))
 82879  		return TCL_ERROR
 82880  	}
 82881  
 82882  	return TCL_OK
 82883  }
 82884  
 82885  type LogCallback = struct {
 82886  	FpInterp uintptr
 82887  	FpObj    uintptr
 82888  }
 82889  
 82890  var logcallback = LogCallback{}
 82891  
 82892  func xLogcallback(tls *libc.TLS, unused uintptr, err int32, zMsg uintptr) {
 82893  	var pNew uintptr = tcl.XTcl_DuplicateObj(tls, logcallback.FpObj)
 82894  	(*Tcl_Obj)(unsafe.Pointer(pNew)).FrefCount++
 82895  	tcl.XTcl_ListObjAppendElement(tls,
 82896  		uintptr(0), pNew, tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3ErrName(tls, err), -1))
 82897  	tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pNew, tcl.XTcl_NewStringObj(tls, zMsg, -1))
 82898  	tcl.XTcl_EvalObjEx(tls, logcallback.FpInterp, pNew, TCL_EVAL_GLOBAL|TCL_EVAL_DIRECT)
 82899  	for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
 82900  		var _objPtr uintptr = pNew
 82901  		if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 82902  			tcl.XTclFreeObj(tls, _objPtr)
 82903  		}
 82904  	}
 82905  }
 82906  
 82907  func test_sqlite3_log(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 82908  	bp := tls.Alloc(32)
 82909  	defer tls.Free(32)
 82910  
 82911  	if objc > 2 {
 82912  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10187)
 82913  		return TCL_ERROR
 82914  	}
 82915  	if logcallback.FpObj != 0 {
 82916  		for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
 82917  			var _objPtr uintptr = logcallback.FpObj
 82918  			if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 82919  				tcl.XTclFreeObj(tls, _objPtr)
 82920  			}
 82921  		}
 82922  		logcallback.FpObj = uintptr(0)
 82923  		logcallback.FpInterp = uintptr(0)
 82924  		sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_LOG, libc.VaList(bp, uintptr(0), uintptr(0)))
 82925  	}
 82926  	if objc > 1 {
 82927  		logcallback.FpObj = *(*uintptr)(unsafe.Pointer(objv + 1*8))
 82928  		(*Tcl_Obj)(unsafe.Pointer(logcallback.FpObj)).FrefCount++
 82929  		logcallback.FpInterp = interp
 82930  		sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_LOG, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(&struct {
 82931  			f func(*libc.TLS, uintptr, int32, uintptr)
 82932  		}{xLogcallback})), uintptr(0)))
 82933  	}
 82934  	return TCL_OK
 82935  }
 82936  
 82937  func runAsObjProc(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 82938  	bp := tls.Alloc(112)
 82939  	defer tls.Free(112)
 82940  
 82941  	if objc < 2 {
 82942  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18385)
 82943  		return TCL_ERROR
 82944  	}
 82945  	if !(tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+48) != 0) {
 82946  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14859,
 82947  			tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0)))
 82948  		return TCL_ERROR
 82949  	}
 82950  	if (*Tcl_CmdInfo)(unsafe.Pointer(bp+48)).FobjProc == uintptr(0) {
 82951  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+18397,
 82952  			tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0)))
 82953  		return TCL_ERROR
 82954  	}
 82955  	return (*struct {
 82956  		f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32
 82957  	})(unsafe.Pointer(&struct{ uintptr }{(*Tcl_CmdInfo)(unsafe.Pointer(bp + 48)).FobjProc})).f(tls, (*Tcl_CmdInfo)(unsafe.Pointer(bp+48)).FobjClientData, interp, objc-1, objv+uintptr(1)*8)
 82958  }
 82959  
 82960  func printExplainQueryPlan(tls *libc.TLS, pStmt uintptr) int32 {
 82961  	bp := tls.Alloc(48)
 82962  	defer tls.Free(48)
 82963  
 82964  	var zSql uintptr
 82965  	var zExplain uintptr
 82966  
 82967  	var rc int32
 82968  
 82969  	zSql = sqlite3.Xsqlite3_sql(tls, pStmt)
 82970  	if zSql == uintptr(0) {
 82971  		return SQLITE_ERROR
 82972  	}
 82973  
 82974  	zExplain = sqlite3.Xsqlite3_mprintf(tls, ts+330, libc.VaList(bp, zSql))
 82975  	if zExplain == uintptr(0) {
 82976  		return SQLITE_NOMEM
 82977  	}
 82978  
 82979  	rc = sqlite3.Xsqlite3_prepare_v2(tls, sqlite3.Xsqlite3_db_handle(tls, pStmt), zExplain, -1, bp+40, uintptr(0))
 82980  	sqlite3.Xsqlite3_free(tls, zExplain)
 82981  	if rc != SQLITE_OK {
 82982  		return rc
 82983  	}
 82984  
 82985  	for SQLITE_ROW == sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 40))) {
 82986  		var iSelectid int32 = sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 40)), 0)
 82987  		var iOrder int32 = sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 40)), 1)
 82988  		var iFrom int32 = sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 40)), 2)
 82989  		var zDetail uintptr = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 40)), 3)
 82990  
 82991  		printf(tls, ts+18422, libc.VaList(bp+8, iSelectid, iOrder, iFrom, zDetail))
 82992  	}
 82993  
 82994  	return sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 40)))
 82995  }
 82996  
 82997  func test_print_eqp(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 82998  	bp := tls.Alloc(8)
 82999  	defer tls.Free(8)
 83000  
 83001  	var rc int32
 83002  
 83003  	if objc != 2 {
 83004  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+17042)
 83005  		return TCL_ERROR
 83006  	}
 83007  	if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp) != 0 {
 83008  		return TCL_ERROR
 83009  	}
 83010  	rc = printExplainQueryPlan(tls, *(*uintptr)(unsafe.Pointer(bp)))
 83011  
 83012  	libc.Xfflush(tls, libc.X__acrt_iob_func(tls, uint32(1)))
 83013  	tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0))
 83014  	return TCL_OK
 83015  }
 83016  
 83017  func testLocaltime(tls *libc.TLS, aliasT uintptr, aliasTM uintptr) int32 {
 83018  	var t time_t = *(*time_t)(unsafe.Pointer(aliasT))
 83019  	var pTm uintptr = aliasTM
 83020  	var altT time_t
 83021  	var iJD sqlite3_int64
 83022  	var Z int32
 83023  	var A int32
 83024  	var B int32
 83025  	var C int32
 83026  	var D int32
 83027  	var E int32
 83028  	var X1 int32
 83029  	var S int32
 83030  
 83031  	if t/int64(86400)&int64(1) != 0 {
 83032  		altT = t + int64(1800)
 83033  	} else {
 83034  		altT = t - int64(1800)
 83035  	}
 83036  	iJD = altT + 210866760000
 83037  	Z = int32((iJD + int64(43200)) / int64(86400))
 83038  	A = libc.Int32FromFloat64((float64(Z) - 1867216.25) / 36524.25)
 83039  	A = Z + 1 + A - A/4
 83040  	B = A + 1524
 83041  	C = libc.Int32FromFloat64((float64(B) - 122.1) / 365.25)
 83042  	D = 36525 * (C & 32767) / 100
 83043  	E = libc.Int32FromFloat64(float64(B-D) / 30.6001)
 83044  	X1 = libc.Int32FromFloat64(30.6001 * float64(E))
 83045  	(*tm)(unsafe.Pointer(pTm)).Ftm_mday = B - D - X1
 83046  	(*tm)(unsafe.Pointer(pTm)).Ftm_mon = func() int32 {
 83047  		if E < 14 {
 83048  			return E - 2
 83049  		}
 83050  		return E - 14
 83051  	}()
 83052  	(*tm)(unsafe.Pointer(pTm)).Ftm_year = func() int32 {
 83053  		if (*tm)(unsafe.Pointer(pTm)).Ftm_mon > 1 {
 83054  			return C - 4716
 83055  		}
 83056  		return C - 4715
 83057  	}() - 1900
 83058  	S = int32((iJD + int64(43200)) % int64(86400))
 83059  	(*tm)(unsafe.Pointer(pTm)).Ftm_hour = S / 3600
 83060  	(*tm)(unsafe.Pointer(pTm)).Ftm_min = S / 60 % 60
 83061  	(*tm)(unsafe.Pointer(pTm)).Ftm_sec = S % 60
 83062  	return libc.Bool32(t == int64(959609760))
 83063  }
 83064  
 83065  func test_test_control(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 83066  	bp := tls.Alloc(192)
 83067  	defer tls.Free(192)
 83068  
 83069  	*(*[4]Verb)(unsafe.Pointer(bp + 72)) = [4]Verb{
 83070  		{FzName: ts + 18435, Fi: SQLITE_TESTCTRL_LOCALTIME_FAULT},
 83071  		{FzName: ts + 18467, Fi: SQLITE_TESTCTRL_SORTER_MMAP},
 83072  		{FzName: ts + 18495, Fi: SQLITE_TESTCTRL_IMPOSTER},
 83073  		{FzName: ts + 18520, Fi: SQLITE_TESTCTRL_INTERNAL_FUNCTIONS},
 83074  	}
 83075  
 83076  	var iFlag int32
 83077  	var rc int32
 83078  
 83079  	if objc < 2 {
 83080  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18555)
 83081  		return TCL_ERROR
 83082  	}
 83083  
 83084  	rc = tcl.XTcl_GetIndexFromObjStruct(tls,
 83085  		interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+72, int32(unsafe.Sizeof(Verb{})), ts+18568, 0, bp+136)
 83086  	if rc != TCL_OK {
 83087  		return rc
 83088  	}
 83089  
 83090  	iFlag = (*Verb)(unsafe.Pointer(bp + 72 + uintptr(*(*int32)(unsafe.Pointer(bp + 136)))*16)).Fi
 83091  	switch iFlag {
 83092  	case SQLITE_TESTCTRL_INTERNAL_FUNCTIONS:
 83093  		{
 83094  			*(*uintptr)(unsafe.Pointer(bp + 144)) = uintptr(0)
 83095  			if objc != 3 {
 83096  				tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+2050)
 83097  				return TCL_ERROR
 83098  			}
 83099  			if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), bp+144) != 0 {
 83100  				return TCL_ERROR
 83101  			}
 83102  			sqlite3.Xsqlite3_test_control(tls, SQLITE_TESTCTRL_INTERNAL_FUNCTIONS, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 144))))
 83103  			break
 83104  
 83105  		}
 83106  	case SQLITE_TESTCTRL_LOCALTIME_FAULT:
 83107  		{
 83108  			if objc != 3 {
 83109  				tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+18573)
 83110  				return TCL_ERROR
 83111  			}
 83112  			if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+152) != 0 {
 83113  				return TCL_ERROR
 83114  			}
 83115  			sqlite3.Xsqlite3_test_control(tls, iFlag, libc.VaList(bp+8, *(*int32)(unsafe.Pointer(bp + 152)), *(*uintptr)(unsafe.Pointer(&struct {
 83116  				f func(*libc.TLS, uintptr, uintptr) int32
 83117  			}{testLocaltime}))))
 83118  			break
 83119  
 83120  		}
 83121  
 83122  	case SQLITE_TESTCTRL_SORTER_MMAP:
 83123  		{
 83124  			if objc != 4 {
 83125  				tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+18579)
 83126  				return TCL_ERROR
 83127  			}
 83128  			if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), bp+160) != 0 {
 83129  				return TCL_ERROR
 83130  			}
 83131  			if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+168) != 0 {
 83132  				return TCL_ERROR
 83133  			}
 83134  			sqlite3.Xsqlite3_test_control(tls, SQLITE_TESTCTRL_SORTER_MMAP, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(bp + 160)), *(*int32)(unsafe.Pointer(bp + 168))))
 83135  			break
 83136  
 83137  		}
 83138  
 83139  	case SQLITE_TESTCTRL_IMPOSTER:
 83140  		{
 83141  			var zDbName uintptr
 83142  
 83143  			if objc != 6 {
 83144  				tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+18588)
 83145  				return TCL_ERROR
 83146  			}
 83147  			if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), bp+176) != 0 {
 83148  				return TCL_ERROR
 83149  			}
 83150  			zDbName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)))
 83151  			if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 4*8)), bp+184) != 0 {
 83152  				return TCL_ERROR
 83153  			}
 83154  			if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 5*8)), bp+188) != 0 {
 83155  				return TCL_ERROR
 83156  			}
 83157  			sqlite3.Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 176)), zDbName, *(*int32)(unsafe.Pointer(bp + 184)), *(*int32)(unsafe.Pointer(bp + 188))))
 83158  			break
 83159  
 83160  		}
 83161  	}
 83162  
 83163  	tcl.XTcl_ResetResult(tls, interp)
 83164  	return TCL_OK
 83165  }
 83166  
 83167  type Verb = struct {
 83168  	FzName       uintptr
 83169  	Fi           int32
 83170  	F__ccgo_pad1 [4]byte
 83171  }
 83172  
 83173  type win32FileLocker = struct {
 83174  	FevName uintptr
 83175  	Fh      HANDLE
 83176  	Fdelay1 int32
 83177  	Fdelay2 int32
 83178  	Fok     int32
 83179  	Ferr    int32
 83180  }
 83181  
 83182  type _PVFV = uintptr
 83183  type _PIFV = uintptr
 83184  type _PVFI = uintptr
 83185  
 83186  type _onexit_table_t1 = struct {
 83187  	F_first uintptr
 83188  	F_last  uintptr
 83189  	F_end   uintptr
 83190  }
 83191  
 83192  type _onexit_table_t = _onexit_table_t1
 83193  
 83194  type _beginthread_proc_type = uintptr
 83195  type _beginthreadex_proc_type = uintptr
 83196  
 83197  type _tls_callback_type = uintptr
 83198  
 83199  func win32_file_locker(tls *libc.TLS, pAppData uintptr) {
 83200  	var p uintptr = pAppData
 83201  	if (*win32FileLocker)(unsafe.Pointer(p)).FevName != 0 {
 83202  		var ev HANDLE = libc.XOpenEventA(tls, uint32(EVENT_MODIFY_STATE), FALSE, (*win32FileLocker)(unsafe.Pointer(p)).FevName)
 83203  		if ev != 0 {
 83204  			libc.XSetEvent(tls, ev)
 83205  			libc.XCloseHandle(tls, ev)
 83206  		}
 83207  	}
 83208  	if (*win32FileLocker)(unsafe.Pointer(p)).Fdelay1 != 0 {
 83209  		libc.XSleep(tls, uint32((*win32FileLocker)(unsafe.Pointer(p)).Fdelay1))
 83210  	}
 83211  	if libc.XLockFile(tls, (*win32FileLocker)(unsafe.Pointer(p)).Fh, uint32(0), uint32(0), uint32(100000000), uint32(0)) != 0 {
 83212  		libc.XSleep(tls, uint32((*win32FileLocker)(unsafe.Pointer(p)).Fdelay2))
 83213  		libc.XUnlockFile(tls, (*win32FileLocker)(unsafe.Pointer(p)).Fh, uint32(0), uint32(0), uint32(100000000), uint32(0))
 83214  		(*win32FileLocker)(unsafe.Pointer(p)).Fok = 1
 83215  	} else {
 83216  		(*win32FileLocker)(unsafe.Pointer(p)).Ferr = 1
 83217  	}
 83218  	libc.XCloseHandle(tls, (*win32FileLocker)(unsafe.Pointer(p)).Fh)
 83219  	(*win32FileLocker)(unsafe.Pointer(p)).Fh = uintptr(0)
 83220  	(*win32FileLocker)(unsafe.Pointer(p)).Fdelay1 = 0
 83221  	(*win32FileLocker)(unsafe.Pointer(p)).Fdelay2 = 0
 83222  }
 83223  
 83224  func win32_file_lock(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 83225  	bp := tls.Alloc(352)
 83226  	defer tls.Free(352)
 83227  
 83228  	var zFilename uintptr
 83229  
 83230  	var retry int32 = 0
 83231  	var ev HANDLE
 83232  	var wResult DWORD
 83233  
 83234  	if objc != 4 && objc != 1 {
 83235  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18609)
 83236  		return TCL_ERROR
 83237  	}
 83238  	if objc == 1 {
 83239  		sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+152, ts+18632,
 83240  			libc.VaList(bp, x.Fok, x.Ferr, x.Fdelay1, x.Fdelay2, x.Fh))
 83241  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+152, uintptr(0)))
 83242  		return TCL_OK
 83243  	}
 83244  	for x.Fh != 0 && retry < 30 {
 83245  		retry++
 83246  		libc.XSleep(tls, uint32(100))
 83247  	}
 83248  	if x.Fh != 0 {
 83249  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, ts+13383, uintptr(0)))
 83250  		return TCL_ERROR
 83251  	}
 83252  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), uintptr(unsafe.Pointer(&x))+16) != 0 {
 83253  		return TCL_ERROR
 83254  	}
 83255  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), uintptr(unsafe.Pointer(&x))+20) != 0 {
 83256  		return TCL_ERROR
 83257  	}
 83258  	zFilename = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))
 83259  	x.Fh = libc.XCreateFileA(tls, zFilename, 0x80000000|uint32(0x40000000),
 83260  		uint32(FILE_SHARE_READ|FILE_SHARE_WRITE), uintptr(0), uint32(OPEN_ALWAYS),
 83261  		uint32(FILE_ATTRIBUTE_NORMAL), uintptr(0))
 83262  	if !(int32(x.Fh) != 0) {
 83263  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, ts+18647, zFilename, uintptr(0)))
 83264  		return TCL_ERROR
 83265  	}
 83266  	ev = libc.XCreateEventA(tls, uintptr(0), TRUE, FALSE, x.FevName)
 83267  	if !(ev != 0) {
 83268  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+96, ts+18666, x.FevName, uintptr(0)))
 83269  		return TCL_ERROR
 83270  	}
 83271  	libc.X_beginthread(tls, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{win32_file_locker})), uint32(0), uintptr(unsafe.Pointer(&x)))
 83272  	libc.XSleep(tls, uint32(0))
 83273  	if libc.AssignUint32(&wResult, libc.XWaitForSingleObject(tls, ev, uint32(10000))) != DWORD(0x00000000)+DWORD(0) {
 83274  		sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+152, ts+18688, libc.VaList(bp+120, wResult))
 83275  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+128, ts+18693, bp+152, uintptr(0)))
 83276  		libc.XCloseHandle(tls, ev)
 83277  		return TCL_ERROR
 83278  	}
 83279  	libc.XCloseHandle(tls, ev)
 83280  	return TCL_OK
 83281  }
 83282  
 83283  var x = win32FileLocker{FevName: ts + 18707}
 83284  
 83285  func win32_exists_path(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 83286  	if objc != 2 {
 83287  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16301)
 83288  		return TCL_ERROR
 83289  	}
 83290  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, libc.Bool32(libc.Bool32(libc.XGetFileAttributesW(tls, tcl.XTcl_GetUnicode(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) != libc.Uint32(libc.Uint32FromInt32(-1))) != 0)))
 83291  	return TCL_OK
 83292  }
 83293  
 83294  func win32_find_file(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 83295  	bp := tls.Alloc(592)
 83296  	defer tls.Free(592)
 83297  
 83298  	var hFindFile HANDLE = libc.UintptrFromInt64(int64(-1))
 83299  
 83300  	var listObj uintptr
 83301  	var lastErrno DWORD
 83302  	if objc != 2 {
 83303  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18723)
 83304  		return TCL_ERROR
 83305  	}
 83306  	hFindFile = libc.XFindFirstFileW(tls, tcl.XTcl_GetUnicode(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp)
 83307  	if hFindFile == libc.UintptrFromInt64(int64(-1)) {
 83308  		tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewWideIntObj(tls, int64(libc.XGetLastError(tls))))
 83309  		return TCL_ERROR
 83310  	}
 83311  	listObj = tcl.XTcl_NewObj(tls)
 83312  	(*Tcl_Obj)(unsafe.Pointer(listObj)).FrefCount++
 83313  	for __ccgo := true; __ccgo; __ccgo = libc.XFindNextFileW(tls, hFindFile, bp) != 0 {
 83314  		tcl.XTcl_ListObjAppendElement(tls, interp, listObj, tcl.XTcl_NewUnicodeObj(tls,
 83315  			bp+44, -1))
 83316  		tcl.XTcl_ListObjAppendElement(tls, interp, listObj, tcl.XTcl_NewWideIntObj(tls,
 83317  			int64((*WIN32_FIND_DATAW)(unsafe.Pointer(bp)).FdwFileAttributes)))
 83318  	}
 83319  	lastErrno = libc.XGetLastError(tls)
 83320  	if lastErrno != DWORD(0) && lastErrno != DWORD(18) {
 83321  		libc.XFindClose(tls, hFindFile)
 83322  		for __ccgo1 := true; __ccgo1; __ccgo1 = 0 != 0 {
 83323  			var _objPtr uintptr = listObj
 83324  			if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 83325  				tcl.XTclFreeObj(tls, _objPtr)
 83326  			}
 83327  		}
 83328  		tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewWideIntObj(tls, int64(libc.XGetLastError(tls))))
 83329  		return TCL_ERROR
 83330  	}
 83331  	libc.XFindClose(tls, hFindFile)
 83332  	tcl.XTcl_SetObjResult(tls, interp, listObj)
 83333  	return TCL_OK
 83334  }
 83335  
 83336  func win32_delete_file(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 83337  	if objc != 2 {
 83338  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18731)
 83339  		return TCL_ERROR
 83340  	}
 83341  	if !(libc.XDeleteFileW(tls, tcl.XTcl_GetUnicode(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) != 0) {
 83342  		tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewWideIntObj(tls, int64(libc.XGetLastError(tls))))
 83343  		return TCL_ERROR
 83344  	}
 83345  	tcl.XTcl_ResetResult(tls, interp)
 83346  	return TCL_OK
 83347  }
 83348  
 83349  func win32_mkdir(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 83350  	if objc != 2 {
 83351  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18740)
 83352  		return TCL_ERROR
 83353  	}
 83354  	if !(libc.XCreateDirectoryW(tls, tcl.XTcl_GetUnicode(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0)) != 0) {
 83355  		tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewWideIntObj(tls, int64(libc.XGetLastError(tls))))
 83356  		return TCL_ERROR
 83357  	}
 83358  	tcl.XTcl_ResetResult(tls, interp)
 83359  	return TCL_OK
 83360  }
 83361  
 83362  func win32_rmdir(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 83363  	if objc != 2 {
 83364  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18740)
 83365  		return TCL_ERROR
 83366  	}
 83367  	if !(libc.XRemoveDirectoryW(tls, tcl.XTcl_GetUnicode(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) != 0) {
 83368  		tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewWideIntObj(tls, int64(libc.XGetLastError(tls))))
 83369  		return TCL_ERROR
 83370  	}
 83371  	tcl.XTcl_ResetResult(tls, interp)
 83372  	return TCL_OK
 83373  }
 83374  
 83375  func optimization_control(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 83376  	bp := tls.Alloc(68)
 83377  	defer tls.Free(68)
 83378  
 83379  	var i int32
 83380  
 83381  	var zOpt uintptr
 83382  
 83383  	var mask int32 = 0
 83384  
 83385  	if objc != 4 {
 83386  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18750)
 83387  		return TCL_ERROR
 83388  	}
 83389  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+56) != 0 {
 83390  		return TCL_ERROR
 83391  	}
 83392  	if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+64) != 0 {
 83393  		return TCL_ERROR
 83394  	}
 83395  	zOpt = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
 83396  	for i = 0; uint64(i) < uint64(unsafe.Sizeof(aOpt))/uint64(unsafe.Sizeof(struct {
 83397  		FzOptName    uintptr
 83398  		Fmask        int32
 83399  		F__ccgo_pad1 [4]byte
 83400  	}{})); i++ {
 83401  		if libc.Xstrcmp(tls, zOpt, aOpt[i].FzOptName) == 0 {
 83402  			mask = aOpt[i].Fmask
 83403  			break
 83404  		}
 83405  	}
 83406  	if *(*int32)(unsafe.Pointer(bp + 64)) != 0 {
 83407  		mask = ^mask
 83408  	}
 83409  	if uint64(i) >= uint64(unsafe.Sizeof(aOpt))/uint64(unsafe.Sizeof(struct {
 83410  		FzOptName    uintptr
 83411  		Fmask        int32
 83412  		F__ccgo_pad1 [4]byte
 83413  	}{})) {
 83414  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+18765,
 83415  			uintptr(0)))
 83416  		for i = 0; uint64(i) < uint64(unsafe.Sizeof(aOpt))/uint64(unsafe.Sizeof(struct {
 83417  			FzOptName    uintptr
 83418  			Fmask        int32
 83419  			F__ccgo_pad1 [4]byte
 83420  		}{})); i++ {
 83421  			tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+4894, aOpt[i].FzOptName, uintptr(0)))
 83422  		}
 83423  		return TCL_ERROR
 83424  	}
 83425  	sqlite3.Xsqlite3_test_control(tls, SQLITE_TESTCTRL_OPTIMIZATIONS, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 56)), mask))
 83426  	return TCL_OK
 83427  }
 83428  
 83429  var aOpt = [14]struct {
 83430  	FzOptName    uintptr
 83431  	Fmask        int32
 83432  	F__ccgo_pad1 [4]byte
 83433  }{
 83434  	{FzOptName: ts + 18806, Fmask: libc.Int32FromUint32(SQLITE_AllOpts)},
 83435  	{FzOptName: ts + 18810},
 83436  	{FzOptName: ts + 18815, Fmask: SQLITE_QueryFlattener},
 83437  	{FzOptName: ts + 18831, Fmask: SQLITE_GroupByOrder},
 83438  	{FzOptName: ts + 18845, Fmask: SQLITE_FactorOutConst},
 83439  	{FzOptName: ts + 18862, Fmask: SQLITE_DistinctOpt},
 83440  	{FzOptName: ts + 18875, Fmask: SQLITE_CoverIdxScan},
 83441  	{FzOptName: ts + 18890, Fmask: SQLITE_OrderByIdxJoin},
 83442  	{FzOptName: ts + 18908, Fmask: SQLITE_Transitive},
 83443  	{FzOptName: ts + 18919, Fmask: SQLITE_OmitNoopJoin},
 83444  	{FzOptName: ts + 18934, Fmask: SQLITE_Stat4},
 83445  	{FzOptName: ts + 18940, Fmask: SQLITE_SkipScan},
 83446  	{FzOptName: ts + 18950, Fmask: SQLITE_PushDown},
 83447  	{FzOptName: ts + 18960, Fmask: SQLITE_BalancedMerge},
 83448  }
 83449  
 83450  func tclLoadStaticExtensionCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 83451  	bp := tls.Alloc(80)
 83452  	defer tls.Free(80)
 83453  
 83454  	var zName uintptr
 83455  	var i int32
 83456  	var j int32
 83457  	var rc int32
 83458  	*(*uintptr)(unsafe.Pointer(bp + 72)) = uintptr(0)
 83459  	if objc < 3 {
 83460  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18975)
 83461  		return TCL_ERROR
 83462  	}
 83463  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+64) != 0 {
 83464  		return TCL_ERROR
 83465  	}
 83466  	for j = 2; j < objc; j++ {
 83467  		zName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(j)*8)))
 83468  		for i = 0; i < int32(uint64(unsafe.Sizeof(aExtension))/uint64(unsafe.Sizeof(struct {
 83469  			FzExtName uintptr
 83470  			FpInit    uintptr
 83471  		}{}))); i++ {
 83472  			if libc.Xstrcmp(tls, zName, aExtension[i].FzExtName) == 0 {
 83473  				break
 83474  			}
 83475  		}
 83476  		if i >= int32(uint64(unsafe.Sizeof(aExtension))/uint64(unsafe.Sizeof(struct {
 83477  			FzExtName uintptr
 83478  			FpInit    uintptr
 83479  		}{}))) {
 83480  			tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+18987, zName, uintptr(0)))
 83481  			return TCL_ERROR
 83482  		}
 83483  		if aExtension[i].FpInit != 0 {
 83484  			rc = (*struct {
 83485  				f func(*libc.TLS, uintptr, uintptr, uintptr) int32
 83486  			})(unsafe.Pointer(&struct{ uintptr }{aExtension[i].FpInit})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), bp+72, uintptr(0))
 83487  		} else {
 83488  			rc = SQLITE_OK
 83489  		}
 83490  		if rc != SQLITE_OK && rc != SQLITE_OK|int32(1)<<8 || *(*uintptr)(unsafe.Pointer(bp + 72)) != 0 {
 83491  			tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+19007, zName, ts+19026, *(*uintptr)(unsafe.Pointer(bp + 72)),
 83492  				uintptr(0)))
 83493  			sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 72)))
 83494  			return TCL_ERROR
 83495  		}
 83496  	}
 83497  	return TCL_OK
 83498  }
 83499  
 83500  var aExtension = [22]struct {
 83501  	FzExtName uintptr
 83502  	FpInit    uintptr
 83503  }{
 83504  	{FzExtName: ts + 19036, FpInit: 0},
 83505  	{FzExtName: ts + 19043, FpInit: 0},
 83506  	{FzExtName: ts + 4060, FpInit: 0},
 83507  	{FzExtName: ts + 19053, FpInit: 0},
 83508  	{FzExtName: ts + 4815, FpInit: 0},
 83509  	{FzExtName: ts + 4838, FpInit: 0},
 83510  	{FzExtName: ts + 4896, FpInit: 0},
 83511  	{FzExtName: ts + 4974, FpInit: 0},
 83512  	{FzExtName: ts + 19061, FpInit: 0},
 83513  	{FzExtName: ts + 5483, FpInit: 0},
 83514  	{FzExtName: ts + 5507, FpInit: 0},
 83515  	{FzExtName: ts + 19068, FpInit: 0},
 83516  	{FzExtName: ts + 6087, FpInit: 0},
 83517  	{FzExtName: ts + 6162, FpInit: 0},
 83518  	{FzExtName: ts + 6535, FpInit: 0},
 83519  	{FzExtName: ts + 6831, FpInit: 0},
 83520  	{FzExtName: ts + 6846, FpInit: 0},
 83521  	{FzExtName: ts + 19077, FpInit: 0},
 83522  	{FzExtName: ts + 19084, FpInit: 0},
 83523  	{FzExtName: ts + 19093, FpInit: 0},
 83524  	{FzExtName: ts + 8921, FpInit: 0},
 83525  	{FzExtName: ts + 9463, FpInit: 0},
 83526  }
 83527  
 83528  func sorter_test_fakeheap(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 83529  	bp := tls.Alloc(4)
 83530  	defer tls.Free(4)
 83531  
 83532  	if objc != 2 {
 83533  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10152)
 83534  		return TCL_ERROR
 83535  	}
 83536  
 83537  	if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp) != 0 {
 83538  		return TCL_ERROR
 83539  	}
 83540  
 83541  	if *(*int32)(unsafe.Pointer(bp)) != 0 {
 83542  		if sqlite3.Xsqlite3Config.FpHeap == uintptr(0) {
 83543  			sqlite3.Xsqlite3Config.FpHeap = libc.UintptrFromInt64(int64(-1))
 83544  		}
 83545  	} else {
 83546  		if sqlite3.Xsqlite3Config.FpHeap == libc.UintptrFromInt64(int64(-1)) {
 83547  			sqlite3.Xsqlite3Config.FpHeap = uintptr(0)
 83548  		}
 83549  	}
 83550  
 83551  	tcl.XTcl_ResetResult(tls, interp)
 83552  	return TCL_OK
 83553  }
 83554  
 83555  func sorter_test_sort4_helper(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 83556  	bp := tls.Alloc(80)
 83557  	defer tls.Free(80)
 83558  
 83559  	var zSql1 uintptr
 83560  	var zSql2 uintptr
 83561  
 83562  	var iStep int32
 83563  	var iCksum1 uint32
 83564  	var iCksum2 uint32
 83565  	var rc int32
 83566  	var iB int32
 83567  
 83568  	var a int32
 83569  	var a1 int32
 83570  	iCksum1 = uint32(0)
 83571  	iCksum2 = uint32(0)
 83572  
 83573  	if !(objc != 5) {
 83574  		goto __1
 83575  	}
 83576  	tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19100)
 83577  	return TCL_ERROR
 83578  __1:
 83579  	;
 83580  	if !(getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+56) != 0) {
 83581  		goto __2
 83582  	}
 83583  	return TCL_ERROR
 83584  __2:
 83585  	;
 83586  	zSql1 = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
 83587  	if !(tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+64) != 0) {
 83588  		goto __3
 83589  	}
 83590  	return TCL_ERROR
 83591  __3:
 83592  	;
 83593  	zSql2 = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 4*8)))
 83594  
 83595  	rc = sqlite3.Xsqlite3_prepare_v2(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), zSql1, -1, bp+72, uintptr(0))
 83596  	if !(rc != SQLITE_OK) {
 83597  		goto __4
 83598  	}
 83599  	goto sql_error
 83600  __4:
 83601  	;
 83602  	iB = sqlite3.Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp + 72))) - 1
 83603  	iStep = 0
 83604  __5:
 83605  	if !(iStep < *(*int32)(unsafe.Pointer(bp + 64)) && SQLITE_ROW == sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 72)))) {
 83606  		goto __7
 83607  	}
 83608  	a = sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 72)), 0)
 83609  	if !(a != sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 72)), iB)) {
 83610  		goto __8
 83611  	}
 83612  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+19119, 0))
 83613  	return TCL_ERROR
 83614  __8:
 83615  	;
 83616  	iCksum1 = iCksum1 + (iCksum1<<3 + uint32(a))
 83617  	goto __6
 83618  __6:
 83619  	iStep++
 83620  	goto __5
 83621  	goto __7
 83622  __7:
 83623  	;
 83624  	rc = sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 72)))
 83625  	if !(rc != SQLITE_OK) {
 83626  		goto __9
 83627  	}
 83628  	goto sql_error
 83629  __9:
 83630  	;
 83631  	rc = sqlite3.Xsqlite3_prepare_v2(tls, *(*uintptr)(unsafe.Pointer(bp + 56)), zSql2, -1, bp+72, uintptr(0))
 83632  	if !(rc != SQLITE_OK) {
 83633  		goto __10
 83634  	}
 83635  	goto sql_error
 83636  __10:
 83637  	;
 83638  	iStep = 0
 83639  __11:
 83640  	if !(SQLITE_ROW == sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 72)))) {
 83641  		goto __13
 83642  	}
 83643  	a1 = sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 72)), 0)
 83644  	iCksum2 = iCksum2 + (iCksum2<<3 + uint32(a1))
 83645  	goto __12
 83646  __12:
 83647  	iStep++
 83648  	goto __11
 83649  	goto __13
 83650  __13:
 83651  	;
 83652  	rc = sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 72)))
 83653  	if !(rc != SQLITE_OK) {
 83654  		goto __14
 83655  	}
 83656  	goto sql_error
 83657  __14:
 83658  	;
 83659  	if !(iCksum1 != iCksum2) {
 83660  		goto __15
 83661  	}
 83662  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+19138, 0))
 83663  	return TCL_ERROR
 83664  __15:
 83665  	;
 83666  	return TCL_OK
 83667  sql_error:
 83668  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+19156, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 56))), 0))
 83669  	return TCL_ERROR
 83670  }
 83671  
 83672  func test_bad_behavior(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 83673  	bp := tls.Alloc(44)
 83674  	defer tls.Free(44)
 83675  
 83676  	var xyz int32
 83677  	var i int32 = *(*int32)(unsafe.Pointer(clientData))
 83678  	var j int32
 83679  
 83680  	var a uintptr
 83681  	if objc != 2 {
 83682  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19168)
 83683  		return TCL_ERROR
 83684  	}
 83685  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp) != 0 {
 83686  		return TCL_ERROR
 83687  	}
 83688  	switch *(*int32)(unsafe.Pointer(bp)) {
 83689  	case 1:
 83690  		{
 83691  			xyz = 0x7fffff00 - i
 83692  			xyz = xyz + 0x100
 83693  			tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, xyz))
 83694  			break
 83695  
 83696  		}
 83697  	case 2:
 83698  		{
 83699  			*(*int32)(unsafe.Pointer(bp + 4 + 1*4)) = 5
 83700  			if *(*int32)(unsafe.Pointer(bp + 4 + uintptr(i)*4)) > 0 {
 83701  				*(*int32)(unsafe.Pointer(bp + 4 + 1*4))++
 83702  			}
 83703  			tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 4 + 1*4))))
 83704  			break
 83705  
 83706  		}
 83707  	case 3:
 83708  		{
 83709  			a = libc.Xmalloc(tls, uint64(unsafe.Sizeof(int32(0)))*uint64(10))
 83710  			for j = 0; j < 10; j++ {
 83711  				*(*int32)(unsafe.Pointer(a + uintptr(j)*4)) = j
 83712  			}
 83713  			libc.Xfree(tls, a)
 83714  			tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(a + uintptr(i)*4))))
 83715  			break
 83716  
 83717  		}
 83718  	case 4:
 83719  		{
 83720  			tcl.XTcl_Panic(tls, ts+19173, 0)
 83721  			break
 83722  
 83723  		}
 83724  	}
 83725  	return TCL_OK
 83726  }
 83727  
 83728  func test_register_dbstat_vtab(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 83729  	bp := tls.Alloc(64)
 83730  	defer tls.Free(64)
 83731  
 83732  	var zDb uintptr
 83733  
 83734  	if objc != 2 {
 83735  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+2050)
 83736  		return TCL_ERROR
 83737  	}
 83738  
 83739  	zDb = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))
 83740  	if tcl.XTcl_GetCommandInfo(tls, interp, zDb, bp) != 0 {
 83741  		var db uintptr = (*struct{ Fdb uintptr })(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp)).FobjClientData)).Fdb
 83742  		sqlite3.Xsqlite3DbstatRegister(tls, db)
 83743  	}
 83744  	return TCL_OK
 83745  }
 83746  
 83747  func test_sqlite3_db_config(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 83748  	bp := tls.Alloc(28)
 83749  	defer tls.Free(28)
 83750  
 83751  	var i int32
 83752  	*(*int32)(unsafe.Pointer(bp + 24)) = 0
 83753  	var zSetting uintptr
 83754  
 83755  	if objc != 4 && objc != 3 {
 83756  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19190)
 83757  		return TCL_ERROR
 83758  	}
 83759  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+16) != 0 {
 83760  		return TCL_ERROR
 83761  	}
 83762  	zSetting = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
 83763  	if sqlite3.Xsqlite3_strglob(tls, ts+19209, zSetting) == 0 {
 83764  		zSetting += uintptr(7)
 83765  	}
 83766  	if sqlite3.Xsqlite3_strglob(tls, ts+19218, zSetting) == 0 {
 83767  		zSetting += uintptr(9)
 83768  	}
 83769  	if sqlite3.Xsqlite3_strglob(tls, ts+19229, zSetting) == 0 {
 83770  		zSetting += uintptr(7)
 83771  	}
 83772  	for i = 0; i < int32(uint64(unsafe.Sizeof(aSetting))/uint64(unsafe.Sizeof(struct {
 83773  		FzName       uintptr
 83774  		FeVal        int32
 83775  		F__ccgo_pad1 [4]byte
 83776  	}{}))); i++ {
 83777  		if libc.Xstrcmp(tls, zSetting, aSetting[i].FzName) == 0 {
 83778  			break
 83779  		}
 83780  	}
 83781  	if i >= int32(uint64(unsafe.Sizeof(aSetting))/uint64(unsafe.Sizeof(struct {
 83782  		FzName       uintptr
 83783  		FeVal        int32
 83784  		F__ccgo_pad1 [4]byte
 83785  	}{}))) {
 83786  		tcl.XTcl_SetObjResult(tls, interp,
 83787  			tcl.XTcl_NewStringObj(tls, ts+19238, -1))
 83788  		return TCL_ERROR
 83789  	}
 83790  	if objc == 4 {
 83791  		if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+24) != 0 {
 83792  			return TCL_ERROR
 83793  		}
 83794  	} else {
 83795  		*(*int32)(unsafe.Pointer(bp + 24)) = -1
 83796  	}
 83797  	sqlite3.Xsqlite3_db_config(tls, *(*uintptr)(unsafe.Pointer(bp + 16)), aSetting[i].FeVal, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 24)), bp+24))
 83798  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 24))))
 83799  	return TCL_OK
 83800  }
 83801  
 83802  var aSetting = [14]struct {
 83803  	FzName       uintptr
 83804  	FeVal        int32
 83805  	F__ccgo_pad1 [4]byte
 83806  }{
 83807  	{FzName: ts + 19272, FeVal: SQLITE_DBCONFIG_ENABLE_FKEY},
 83808  	{FzName: ts + 19277, FeVal: SQLITE_DBCONFIG_ENABLE_TRIGGER},
 83809  	{FzName: ts + 19285, FeVal: SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER},
 83810  	{FzName: ts + 19300, FeVal: SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION},
 83811  	{FzName: ts + 19315, FeVal: SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE},
 83812  	{FzName: ts + 19332, FeVal: SQLITE_DBCONFIG_ENABLE_QPSG},
 83813  	{FzName: ts + 19337, FeVal: SQLITE_DBCONFIG_TRIGGER_EQP},
 83814  	{FzName: ts + 19349, FeVal: SQLITE_DBCONFIG_RESET_DATABASE},
 83815  	{FzName: ts + 19358, FeVal: SQLITE_DBCONFIG_DEFENSIVE},
 83816  	{FzName: ts + 19368, FeVal: SQLITE_DBCONFIG_WRITABLE_SCHEMA},
 83817  	{FzName: ts + 19384, FeVal: SQLITE_DBCONFIG_LEGACY_ALTER_TABLE},
 83818  	{FzName: ts + 19403, FeVal: SQLITE_DBCONFIG_DQS_DML},
 83819  	{FzName: ts + 19411, FeVal: SQLITE_DBCONFIG_DQS_DDL},
 83820  	{FzName: ts + 19419, FeVal: SQLITE_DBCONFIG_LEGACY_FILE_FORMAT},
 83821  }
 83822  
 83823  func test_sqlite3_txn_state(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 83824  	bp := tls.Alloc(8)
 83825  	defer tls.Free(8)
 83826  
 83827  	var zSchema uintptr
 83828  	var iTxn int32
 83829  
 83830  	if objc != 2 && objc != 3 {
 83831  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19438)
 83832  		return TCL_ERROR
 83833  	}
 83834  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp) != 0 {
 83835  		return TCL_ERROR
 83836  	}
 83837  	if objc == 3 {
 83838  		zSchema = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
 83839  	} else {
 83840  		zSchema = uintptr(0)
 83841  	}
 83842  	iTxn = sqlite3.Xsqlite3_txn_state(tls, *(*uintptr)(unsafe.Pointer(bp)), zSchema)
 83843  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, iTxn))
 83844  	return TCL_OK
 83845  }
 83846  
 83847  func test_dbconfig_maindbname_icecube(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 83848  	bp := tls.Alloc(16)
 83849  	defer tls.Free(16)
 83850  
 83851  	var rc int32
 83852  
 83853  	if objc != 2 {
 83854  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+2050)
 83855  		return TCL_ERROR
 83856  	} else {
 83857  		if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+8) != 0 {
 83858  			return TCL_ERROR
 83859  		}
 83860  		rc = sqlite3.Xsqlite3_db_config(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), SQLITE_DBCONFIG_MAINDBNAME, libc.VaList(bp, ts+19450))
 83861  		tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, rc))
 83862  		return TCL_OK
 83863  	}
 83864  	return int32(0)
 83865  }
 83866  
 83867  func test_mmap_warm(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 83868  	bp := tls.Alloc(8)
 83869  	defer tls.Free(8)
 83870  
 83871  	if objc != 2 && objc != 3 {
 83872  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19458)
 83873  		return TCL_ERROR
 83874  	} else {
 83875  		var rc int32
 83876  
 83877  		var zDb uintptr = uintptr(0)
 83878  		if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp) != 0 {
 83879  			return TCL_ERROR
 83880  		}
 83881  		if objc == 3 {
 83882  			zDb = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
 83883  		}
 83884  		rc = sqlite3_mmap_warm(tls, *(*uintptr)(unsafe.Pointer(bp)), zDb)
 83885  		tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3ErrName(tls, rc), -1))
 83886  		return TCL_OK
 83887  	}
 83888  	return int32(0)
 83889  }
 83890  
 83891  func test_write_db(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 83892  	bp := tls.Alloc(32)
 83893  	defer tls.Free(32)
 83894  
 83895  	*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
 83896  	*(*Tcl_WideInt)(unsafe.Pointer(bp + 8)) = int64(0)
 83897  	var aData uintptr = uintptr(0)
 83898  	*(*int32)(unsafe.Pointer(bp + 16)) = 0
 83899  	*(*uintptr)(unsafe.Pointer(bp + 24)) = uintptr(0)
 83900  	var rc int32
 83901  
 83902  	if objc != 4 {
 83903  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19470)
 83904  		return TCL_ERROR
 83905  	}
 83906  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp) != 0 {
 83907  		return TCL_ERROR
 83908  	}
 83909  	if tcl.XTcl_GetWideIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+8) != 0 {
 83910  		return TCL_ERROR
 83911  	}
 83912  	aData = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+16)
 83913  
 83914  	sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp)), ts+85, SQLITE_FCNTL_FILE_POINTER, bp+24)
 83915  	rc = (*struct {
 83916  		f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32
 83917  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24)))).FpMethods)).FxWrite})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), aData, *(*int32)(unsafe.Pointer(bp + 16)), *(*Tcl_WideInt)(unsafe.Pointer(bp + 8)))
 83918  
 83919  	tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(1))
 83920  	return TCL_OK
 83921  }
 83922  
 83923  func test_register_cksumvfs(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 83924  	if objc != 1 {
 83925  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+584)
 83926  		return TCL_ERROR
 83927  	} else {
 83928  		var rc int32 = sqlite3_register_cksumvfs(tls, uintptr(0))
 83929  		tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(1))
 83930  	}
 83931  	return TCL_OK
 83932  }
 83933  
 83934  func test_unregister_cksumvfs(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 83935  	if objc != 1 {
 83936  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+584)
 83937  		return TCL_ERROR
 83938  	} else {
 83939  		var rc int32 = sqlite3_unregister_cksumvfs(tls)
 83940  		tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(1))
 83941  	}
 83942  	return TCL_OK
 83943  }
 83944  
 83945  func test_decode_hexdb(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 83946  	bp := tls.Alloc(296)
 83947  	defer tls.Free(296)
 83948  
 83949  	var zIn uintptr = uintptr(0)
 83950  	var a uintptr = uintptr(0)
 83951  	*(*int32)(unsafe.Pointer(bp + 216)) = 0
 83952  	var lineno int32 = 0
 83953  	var i int32
 83954  	var iNext int32
 83955  	var iOffset int32 = 0
 83956  
 83957  	var rc int32
 83958  
 83959  	if objc != 2 {
 83960  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19485)
 83961  		return TCL_ERROR
 83962  	}
 83963  	zIn = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))
 83964  	for i = 0; *(*int8)(unsafe.Pointer(zIn + uintptr(i))) != 0; i = iNext {
 83965  		lineno++
 83966  		for iNext = i; *(*int8)(unsafe.Pointer(zIn + uintptr(iNext))) != 0 && int32(*(*int8)(unsafe.Pointer(zIn + uintptr(iNext)))) != '\n'; iNext++ {
 83967  		}
 83968  		if int32(*(*int8)(unsafe.Pointer(zIn + uintptr(iNext)))) == '\n' {
 83969  			iNext++
 83970  		}
 83971  		for int32(*(*int8)(unsafe.Pointer(zIn + uintptr(i)))) == ' ' || int32(*(*int8)(unsafe.Pointer(zIn + uintptr(i)))) == '\t' {
 83972  			i++
 83973  		}
 83974  		if a == uintptr(0) {
 83975  			rc = sscanf(tls, zIn+uintptr(i), ts+19491, libc.VaList(bp, bp+216, bp+220))
 83976  			if rc != 2 {
 83977  				continue
 83978  			}
 83979  			if *(*int32)(unsafe.Pointer(bp + 220)) < 512 || *(*int32)(unsafe.Pointer(bp + 220)) > 65536 || *(*int32)(unsafe.Pointer(bp + 220))&(*(*int32)(unsafe.Pointer(bp + 220))-1) != 0 {
 83980  				tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+19513, uintptr(0)))
 83981  				return TCL_ERROR
 83982  			}
 83983  			*(*int32)(unsafe.Pointer(bp + 216)) = (*(*int32)(unsafe.Pointer(bp + 216)) + *(*int32)(unsafe.Pointer(bp + 220)) - 1) & ^(*(*int32)(unsafe.Pointer(bp + 220)) - 1)
 83984  			if *(*int32)(unsafe.Pointer(bp + 216)) < 512 {
 83985  				tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+19534, uintptr(0)))
 83986  				return TCL_ERROR
 83987  			}
 83988  			a = libc.Xmalloc(tls, uint64(*(*int32)(unsafe.Pointer(bp + 216))))
 83989  			if a == uintptr(0) {
 83990  				tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+2069, uintptr(0)))
 83991  				return TCL_ERROR
 83992  			}
 83993  			libc.Xmemset(tls, a, 0, uint64(*(*int32)(unsafe.Pointer(bp + 216))))
 83994  			continue
 83995  		}
 83996  		rc = sscanf(tls, zIn+uintptr(i), ts+19551, libc.VaList(bp+64, bp+224, bp+228))
 83997  		if rc == 2 {
 83998  			iOffset = *(*int32)(unsafe.Pointer(bp + 228))
 83999  			continue
 84000  		}
 84001  		rc = sscanf(tls, zIn+uintptr(i), ts+19571,
 84002  			libc.VaList(bp+80, bp+224, bp+232, bp+232+1*4, bp+232+2*4, bp+232+3*4, bp+232+4*4, bp+232+5*4, bp+232+6*4, bp+232+7*4,
 84003  				bp+232+8*4, bp+232+9*4, bp+232+10*4, bp+232+11*4, bp+232+12*4, bp+232+13*4, bp+232+14*4, bp+232+15*4))
 84004  		if rc == 17 {
 84005  			*(*int32)(unsafe.Pointer(bp + 228)) = iOffset + *(*int32)(unsafe.Pointer(bp + 224))
 84006  			if *(*int32)(unsafe.Pointer(bp + 228))+16 <= *(*int32)(unsafe.Pointer(bp + 216)) {
 84007  				var ii int32
 84008  				for ii = 0; ii < 16; ii++ {
 84009  					*(*uint8)(unsafe.Pointer(a + uintptr(*(*int32)(unsafe.Pointer(bp + 228))+ii))) = uint8(*(*uint32)(unsafe.Pointer(bp + 232 + uintptr(ii)*4)) & uint32(0xff))
 84010  				}
 84011  			}
 84012  			continue
 84013  		}
 84014  	}
 84015  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, a, *(*int32)(unsafe.Pointer(bp + 216))))
 84016  	libc.Xfree(tls, a)
 84017  	return TCL_OK
 84018  }
 84019  
 84020  type AutovacPageData1 = struct {
 84021  	Finterp  uintptr
 84022  	FzScript uintptr
 84023  }
 84024  
 84025  type AutovacPageData = AutovacPageData1
 84026  
 84027  func test_autovacuum_pages_callback(tls *libc.TLS, pClientData uintptr, zSchema uintptr, nFilePages uint32, nFreePages uint32, nBytePerPage uint32) uint32 {
 84028  	bp := tls.Alloc(344)
 84029  	defer tls.Free(344)
 84030  
 84031  	var pData uintptr = pClientData
 84032  
 84033  	tcl.XTcl_DStringInit(tls, bp+24)
 84034  	tcl.XTcl_DStringAppend(tls, bp+24, (*AutovacPageData)(unsafe.Pointer(pData)).FzScript, -1)
 84035  	tcl.XTcl_DStringAppendElement(tls, bp+24, zSchema)
 84036  	sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+240, ts+17791, libc.VaList(bp, nFilePages))
 84037  	tcl.XTcl_DStringAppendElement(tls, bp+24, bp+240)
 84038  	sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+240, ts+17791, libc.VaList(bp+8, nFreePages))
 84039  	tcl.XTcl_DStringAppendElement(tls, bp+24, bp+240)
 84040  	sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+240, ts+17791, libc.VaList(bp+16, nBytePerPage))
 84041  	tcl.XTcl_DStringAppendElement(tls, bp+24, bp+240)
 84042  	tcl.XTcl_ResetResult(tls, (*AutovacPageData)(unsafe.Pointer(pData)).Finterp)
 84043  	tcl.XTcl_Eval(tls, (*AutovacPageData)(unsafe.Pointer(pData)).Finterp, (*Tcl_DString)(unsafe.Pointer(bp+24)).Fstring)
 84044  	tcl.XTcl_DStringFree(tls, bp+24)
 84045  	*(*uint32)(unsafe.Pointer(bp + 340)) = nFreePages
 84046  	tcl.XTcl_GetIntFromObj(tls, uintptr(0), tcl.XTcl_GetObjResult(tls, (*AutovacPageData)(unsafe.Pointer(pData)).Finterp), bp+340)
 84047  	return *(*uint32)(unsafe.Pointer(bp + 340))
 84048  }
 84049  
 84050  func test_autovacuum_pages(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 84051  	bp := tls.Alloc(1048)
 84052  	defer tls.Free(1048)
 84053  
 84054  	var pData uintptr
 84055  
 84056  	var rc int32
 84057  	var zScript uintptr
 84058  	if objc != 2 && objc != 3 {
 84059  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19625)
 84060  		return TCL_ERROR
 84061  	}
 84062  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+40) != 0 {
 84063  		return TCL_ERROR
 84064  	}
 84065  	if objc == 3 {
 84066  		zScript = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
 84067  	} else {
 84068  		zScript = uintptr(0)
 84069  	}
 84070  	if zScript != 0 {
 84071  		var nScript size_t = libc.Xstrlen(tls, zScript)
 84072  		pData = sqlite3.Xsqlite3_malloc64(tls, uint64(unsafe.Sizeof(AutovacPageData{}))+nScript+uint64(1))
 84073  		if pData == uintptr(0) {
 84074  			tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+2069, uintptr(0)))
 84075  			return TCL_ERROR
 84076  		}
 84077  		(*AutovacPageData)(unsafe.Pointer(pData)).Finterp = interp
 84078  		(*AutovacPageData)(unsafe.Pointer(pData)).FzScript = pData + 1*16
 84079  		libc.Xmemcpy(tls, (*AutovacPageData)(unsafe.Pointer(pData)).FzScript, zScript, nScript+uint64(1))
 84080  		rc = sqlite3.Xsqlite3_autovacuum_pages(tls, *(*uintptr)(unsafe.Pointer(bp + 40)), *(*uintptr)(unsafe.Pointer(&struct {
 84081  			f func(*libc.TLS, uintptr, uintptr, uint32, uint32, uint32) uint32
 84082  		}{test_autovacuum_pages_callback})),
 84083  			pData, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sqlite3.Xsqlite3_free})))
 84084  	} else {
 84085  		rc = sqlite3.Xsqlite3_autovacuum_pages(tls, *(*uintptr)(unsafe.Pointer(bp + 40)), uintptr(0), uintptr(0), uintptr(0))
 84086  	}
 84087  	if rc != 0 {
 84088  		sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([1000]int8{})), bp+48,
 84089  			ts+19637, libc.VaList(bp+16, rc))
 84090  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, bp+48, uintptr(0)))
 84091  		return TCL_ERROR
 84092  	}
 84093  	return TCL_OK
 84094  }
 84095  
 84096  func Sqlitetest1_Init(tls *libc.TLS, interp uintptr) int32 {
 84097  	var i int32
 84098  
 84099  	for i = 0; uint64(i) < uint64(unsafe.Sizeof(aCmd1))/uint64(unsafe.Sizeof(struct {
 84100  		FzName uintptr
 84101  		FxProc uintptr
 84102  	}{})); i++ {
 84103  		tcl.XTcl_CreateCommand(tls, interp, aCmd1[i].FzName, aCmd1[i].FxProc, uintptr(0), uintptr(0))
 84104  	}
 84105  	for i = 0; uint64(i) < uint64(unsafe.Sizeof(aObjCmd1))/uint64(unsafe.Sizeof(struct {
 84106  		FzName      uintptr
 84107  		FxProc      uintptr
 84108  		FclientData uintptr
 84109  	}{})); i++ {
 84110  		tcl.XTcl_CreateObjCommand(tls, interp, aObjCmd1[i].FzName,
 84111  			aObjCmd1[i].FxProc, aObjCmd1[i].FclientData, uintptr(0))
 84112  	}
 84113  	tcl.XTcl_LinkVar(tls, interp, ts+19675,
 84114  		uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_search_count)), TCL_LINK_INT)
 84115  	tcl.XTcl_LinkVar(tls, interp, ts+19695,
 84116  		uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_found_count)), TCL_LINK_INT)
 84117  	tcl.XTcl_LinkVar(tls, interp, ts+19714,
 84118  		uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_sort_count)), TCL_LINK_INT)
 84119  	tcl.XTcl_LinkVar(tls, interp, ts+19732,
 84120  		uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_max_blobsize)), TCL_LINK_INT)
 84121  	tcl.XTcl_LinkVar(tls, interp, ts+19753,
 84122  		uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_like_count)), TCL_LINK_INT)
 84123  	tcl.XTcl_LinkVar(tls, interp, ts+19771,
 84124  		uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_interrupt_count)), TCL_LINK_INT)
 84125  	tcl.XTcl_LinkVar(tls, interp, ts+19794,
 84126  		uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_open_file_count)), TCL_LINK_INT)
 84127  	tcl.XTcl_LinkVar(tls, interp, ts+19817,
 84128  		uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_current_time)), TCL_LINK_INT)
 84129  	tcl.XTcl_LinkVar(tls, interp, ts+19837,
 84130  		uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_xferopt_count)), TCL_LINK_INT)
 84131  	tcl.XTcl_LinkVar(tls, interp, ts+19859,
 84132  		uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_pager_readdb_count)), TCL_LINK_INT)
 84133  	tcl.XTcl_LinkVar(tls, interp, ts+19886,
 84134  		uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_pager_writedb_count)), TCL_LINK_INT)
 84135  	tcl.XTcl_LinkVar(tls, interp, ts+19914,
 84136  		uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_pager_writej_count)), TCL_LINK_INT)
 84137  	tcl.XTcl_LinkVar(tls, interp, ts+19941,
 84138  		uintptr(unsafe.Pointer(&unaligned_string_counter)), TCL_LINK_INT)
 84139  	tcl.XTcl_LinkVar(tls, interp, ts+19966,
 84140  		uintptr(unsafe.Pointer(&pzNeededCollation)), TCL_LINK_STRING|TCL_LINK_READ_ONLY)
 84141  	tcl.XTcl_LinkVar(tls, interp, ts+19995,
 84142  		uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_os_type)), TCL_LINK_LONG)
 84143  	{
 84144  		tcl.XTcl_LinkVar(tls, interp, ts+20010,
 84145  			uintptr(unsafe.Pointer(&query_plan)), TCL_LINK_STRING|TCL_LINK_READ_ONLY)
 84146  
 84147  	}
 84148  	tcl.XTcl_LinkVar(tls, interp, ts+20028,
 84149  		uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_opentemp_count)), TCL_LINK_INT)
 84150  	tcl.XTcl_LinkVar(tls, interp, ts+20050,
 84151  		uintptr(unsafe.Pointer(&sqlite_static_bind_value)), TCL_LINK_STRING)
 84152  	tcl.XTcl_LinkVar(tls, interp, ts+20075,
 84153  		uintptr(unsafe.Pointer(&sqlite_static_bind_nbyte)), TCL_LINK_INT)
 84154  	tcl.XTcl_LinkVar(tls, interp, ts+20100,
 84155  		uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_temp_directory)), TCL_LINK_STRING)
 84156  	tcl.XTcl_LinkVar(tls, interp, ts+20122,
 84157  		uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_data_directory)), TCL_LINK_STRING)
 84158  	tcl.XTcl_LinkVar(tls, interp, ts+20144,
 84159  		uintptr(unsafe.Pointer(&bitmask_size)), TCL_LINK_INT|TCL_LINK_READ_ONLY)
 84160  	tcl.XTcl_LinkVar(tls, interp, ts+20157,
 84161  		uintptr(unsafe.Pointer(&longdouble_size)), TCL_LINK_INT|TCL_LINK_READ_ONLY)
 84162  	tcl.XTcl_LinkVar(tls, interp, ts+20173,
 84163  		uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_sync_count)), TCL_LINK_INT)
 84164  	tcl.XTcl_LinkVar(tls, interp, ts+20191,
 84165  		uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_fullsync_count)), TCL_LINK_INT)
 84166  	return TCL_OK
 84167  }
 84168  
 84169  var iZero int32 = 0
 84170  var aCmd1 = [39]struct {
 84171  	FzName uintptr
 84172  	FxProc uintptr
 84173  }{
 84174  	{FzName: ts + 20213, FxProc: 0},
 84175  	{FzName: ts + 20222, FxProc: 0},
 84176  	{FzName: ts + 20231, FxProc: 0},
 84177  	{FzName: ts + 20251, FxProc: 0},
 84178  	{FzName: ts + 20273, FxProc: 0},
 84179  	{FzName: ts + 20294, FxProc: 0},
 84180  	{FzName: ts + 20314, FxProc: 0},
 84181  	{FzName: ts + 20335, FxProc: 0},
 84182  	{FzName: ts + 20359, FxProc: 0},
 84183  	{FzName: ts + 20382, FxProc: 0},
 84184  	{FzName: ts + 20405, FxProc: 0},
 84185  	{FzName: ts + 20431, FxProc: 0},
 84186  	{FzName: ts + 20454, FxProc: 0},
 84187  	{FzName: ts + 20477, FxProc: 0},
 84188  	{FzName: ts + 20498, FxProc: 0},
 84189  	{FzName: ts + 20524, FxProc: 0},
 84190  	{FzName: ts + 20544, FxProc: 0},
 84191  	{FzName: ts + 20561, FxProc: 0},
 84192  	{FzName: ts + 20574, FxProc: 0},
 84193  	{FzName: ts + 20590, FxProc: 0},
 84194  	{FzName: ts + 20615, FxProc: 0},
 84195  	{FzName: ts + 20629, FxProc: 0},
 84196  	{FzName: ts + 20646, FxProc: 0},
 84197  	{FzName: ts + 20670, FxProc: 0},
 84198  	{FzName: ts + 20695, FxProc: 0},
 84199  	{FzName: ts + 20716, FxProc: 0},
 84200  	{FzName: ts + 20746, FxProc: 0},
 84201  	{FzName: ts + 20759, FxProc: 0},
 84202  	{FzName: ts + 20771, FxProc: 0},
 84203  	{FzName: ts + 20782, FxProc: 0},
 84204  	{FzName: ts + 20794, FxProc: 0},
 84205  	{FzName: ts + 20808, FxProc: 0},
 84206  	{FzName: ts + 20826, FxProc: 0},
 84207  	{FzName: ts + 20849, FxProc: 0},
 84208  	{FzName: ts + 20873, FxProc: 0},
 84209  	{FzName: ts + 20896, FxProc: 0},
 84210  	{FzName: ts + 20917, FxProc: 0},
 84211  	{FzName: ts + 20924, FxProc: 0},
 84212  	{FzName: ts + 20939, FxProc: 0},
 84213  }
 84214  var aObjCmd1 = [173]struct {
 84215  	FzName      uintptr
 84216  	FxProc      uintptr
 84217  	FclientData uintptr
 84218  }{
 84219  	{FzName: ts + 20962, FxProc: 0},
 84220  	{FzName: ts + 20980, FxProc: 0},
 84221  	{FzName: ts + 20998, FxProc: 0, FclientData: 0},
 84222  	{FzName: ts + 21011, FxProc: 0},
 84223  	{FzName: ts + 21032, FxProc: 0},
 84224  	{FzName: ts + 21059, FxProc: 0},
 84225  	{FzName: ts + 21073, FxProc: 0},
 84226  	{FzName: ts + 21089, FxProc: 0},
 84227  	{FzName: ts + 21106, FxProc: 0},
 84228  	{FzName: ts + 21121, FxProc: 0},
 84229  	{FzName: ts + 21138, FxProc: 0},
 84230  	{FzName: ts + 21160, FxProc: 0},
 84231  	{FzName: ts + 21184, FxProc: 0},
 84232  	{FzName: ts + 21203, FxProc: 0},
 84233  	{FzName: ts + 21223, FxProc: 0},
 84234  	{FzName: ts + 21241, FxProc: 0},
 84235  	{FzName: ts + 21259, FxProc: 0},
 84236  	{FzName: ts + 21279, FxProc: 0},
 84237  	{FzName: ts + 21297, FxProc: 0},
 84238  	{FzName: ts + 21328, FxProc: 0},
 84239  	{FzName: ts + 21362, FxProc: 0},
 84240  	{FzName: ts + 21382, FxProc: 0},
 84241  	{FzName: ts + 21411, FxProc: 0},
 84242  	{FzName: ts + 21439, FxProc: 0},
 84243  	{FzName: ts + 21468, FxProc: 0},
 84244  	{FzName: ts + 21491, FxProc: 0},
 84245  	{FzName: ts + 21505, FxProc: 0},
 84246  	{FzName: ts + 21521, FxProc: 0},
 84247  	{FzName: ts + 21546, FxProc: 0},
 84248  	{FzName: ts + 21561, FxProc: 0},
 84249  	{FzName: ts + 21582, FxProc: 0},
 84250  	{FzName: ts + 21599, FxProc: 0},
 84251  	{FzName: ts + 21612, FxProc: 0},
 84252  	{FzName: ts + 21627, FxProc: 0},
 84253  	{FzName: ts + 21643, FxProc: 0},
 84254  	{FzName: ts + 21662, FxProc: 0},
 84255  	{FzName: ts + 21680, FxProc: 0},
 84256  	{FzName: ts + 21696, FxProc: 0},
 84257  	{FzName: ts + 21714, FxProc: 0},
 84258  	{FzName: ts + 21733, FxProc: 0},
 84259  	{FzName: ts + 21752, FxProc: 0},
 84260  	{FzName: ts + 21776, FxProc: 0},
 84261  	{FzName: ts + 21797, FxProc: 0},
 84262  	{FzName: ts + 21814, FxProc: 0},
 84263  	{FzName: ts + 21834, FxProc: 0},
 84264  	{FzName: ts + 21848, FxProc: 0},
 84265  	{FzName: ts + 21864, FxProc: 0},
 84266  	{FzName: ts + 21890, FxProc: 0},
 84267  	{FzName: ts + 21906, FxProc: 0},
 84268  	{FzName: ts + 21919, FxProc: 0},
 84269  	{FzName: ts + 21931, FxProc: 0},
 84270  	{FzName: ts + 21952, FxProc: 0},
 84271  	{FzName: ts + 21970, FxProc: 0},
 84272  	{FzName: ts + 21992, FxProc: 0},
 84273  	{FzName: ts + 22015, FxProc: 0},
 84274  	{FzName: ts + 22033, FxProc: 0},
 84275  	{FzName: ts + 22051, FxProc: 0},
 84276  	{FzName: ts + 22074, FxProc: 0},
 84277  	{FzName: ts + 22100, FxProc: 0},
 84278  	{FzName: ts + 22122, FxProc: 0},
 84279  	{FzName: ts + 22143, FxProc: 0},
 84280  	{FzName: ts + 22163, FxProc: 0},
 84281  	{FzName: ts + 22183, FxProc: 0},
 84282  	{FzName: ts + 22207, FxProc: 0},
 84283  	{FzName: ts + 22233, FxProc: 0},
 84284  	{FzName: ts + 22259, FxProc: 0},
 84285  	{FzName: ts + 22282, FxProc: 0},
 84286  	{FzName: ts + 22306, FxProc: 0},
 84287  	{FzName: ts + 22329, FxProc: 0},
 84288  	{FzName: ts + 22359, FxProc: 0},
 84289  	{FzName: ts + 22389, FxProc: 0},
 84290  	{FzName: ts + 22403, FxProc: 0},
 84291  	{FzName: ts + 22431, FxProc: 0},
 84292  	{FzName: ts + 22447, FxProc: 0},
 84293  	{FzName: ts + 22466, FxProc: 0},
 84294  	{FzName: ts + 22483, FxProc: 0},
 84295  	{FzName: ts + 22493, FxProc: 0},
 84296  	{FzName: ts + 22513, FxProc: 0},
 84297  	{FzName: ts + 22536, FxProc: 0},
 84298  	{FzName: ts + 22560, FxProc: 0},
 84299  	{FzName: ts + 22581, FxProc: 0},
 84300  	{FzName: ts + 22597, FxProc: 0},
 84301  	{FzName: ts + 22615, FxProc: 0},
 84302  	{FzName: ts + 22631, FxProc: 0},
 84303  	{FzName: ts + 22649, FxProc: 0},
 84304  	{FzName: ts + 22664, FxProc: 0},
 84305  	{FzName: ts + 22681, FxProc: 0},
 84306  	{FzName: ts + 22693, FxProc: 0},
 84307  	{FzName: ts + 22714, FxProc: 0},
 84308  	{FzName: ts + 22733, FxProc: 0},
 84309  	{FzName: ts + 22753, FxProc: 0},
 84310  	{FzName: ts + 22773, FxProc: 0},
 84311  	{FzName: ts + 22795, FxProc: 0},
 84312  	{FzName: ts + 22816, FxProc: 0, FclientData: 0},
 84313  	{FzName: ts + 22836, FxProc: 0, FclientData: 0},
 84314  	{FzName: ts + 22856, FxProc: 0, FclientData: 0},
 84315  	{FzName: ts + 22875, FxProc: 0, FclientData: 0},
 84316  	{FzName: ts + 22896, FxProc: 0, FclientData: 0},
 84317  	{FzName: ts + 22920, FxProc: 0, FclientData: 0},
 84318  	{FzName: ts + 22949, FxProc: 0, FclientData: 0},
 84319  	{FzName: ts + 22975, FxProc: 0, FclientData: 0},
 84320  	{FzName: ts + 23002, FxProc: 0, FclientData: 0},
 84321  	{FzName: ts + 23025, FxProc: 0, FclientData: 0},
 84322  	{FzName: ts + 23047, FxProc: 0, FclientData: 0},
 84323  	{FzName: ts + 23069, FxProc: 0},
 84324  	{FzName: ts + 23099, FxProc: 0, FclientData: 0},
 84325  	{FzName: ts + 23125,
 84326  		FxProc: 0, FclientData: 0},
 84327  	{FzName: ts + 23156, FxProc: 0, FclientData: 0},
 84328  	{FzName: ts + 23184, FxProc: 0, FclientData: 0},
 84329  	{FzName: ts + 23213, FxProc: 0},
 84330  	{FzName: ts + 23241, FxProc: 0},
 84331  	{FzName: ts + 23264, FxProc: 0},
 84332  	{FzName: ts + 23282, FxProc: 0},
 84333  	{FzName: ts + 23298, FxProc: 0},
 84334  	{FzName: ts + 23316, FxProc: 0},
 84335  	{FzName: ts + 23335, FxProc: 0},
 84336  	{FzName: ts + 23354, FxProc: 0},
 84337  	{FzName: ts + 23372, FxProc: 0},
 84338  	{FzName: ts + 23400, FxProc: 0},
 84339  	{FzName: ts + 23428, FxProc: 0},
 84340  	{FzName: ts + 23456, FxProc: 0},
 84341  	{FzName: ts + 23483, FxProc: 0},
 84342  	{FzName: ts + 23509, FxProc: 0},
 84343  	{FzName: ts + 23537, FxProc: 0},
 84344  	{FzName: ts + 23567, FxProc: 0},
 84345  	{FzName: ts + 23597, FxProc: 0},
 84346  	{FzName: ts + 23622, FxProc: 0},
 84347  	{FzName: ts + 23655, FxProc: 0},
 84348  	{FzName: ts + 23676, FxProc: 0},
 84349  	{FzName: ts + 23702, FxProc: 0},
 84350  	{FzName: ts + 23728, FxProc: 0},
 84351  	{FzName: ts + 23757, FxProc: 0},
 84352  	{FzName: ts + 23774, FxProc: 0},
 84353  	{FzName: ts + 23801, FxProc: 0},
 84354  	{FzName: ts + 23818, FxProc: 0},
 84355  	{FzName: ts + 23842, FxProc: 0},
 84356  	{FzName: ts + 23860, FxProc: 0},
 84357  	{FzName: ts + 23886, FxProc: 0},
 84358  	{FzName: ts + 23906, FxProc: 0},
 84359  	{FzName: ts + 23924, FxProc: 0},
 84360  	{FzName: ts + 23952, FxProc: 0},
 84361  	{FzName: ts + 23980, FxProc: 0},
 84362  	{FzName: ts + 24006, FxProc: 0},
 84363  	{FzName: ts + 24036, FxProc: 0},
 84364  	{FzName: ts + 24056, FxProc: 0},
 84365  	{FzName: ts + 24069, FxProc: 0},
 84366  	{FzName: ts + 24091, FxProc: 0},
 84367  	{FzName: ts + 24114, FxProc: 0},
 84368  	{FzName: ts + 24140, FxProc: 0},
 84369  	{FzName: ts + 24167, FxProc: 0},
 84370  	{FzName: ts + 24184, FxProc: 0},
 84371  	{FzName: ts + 24209, FxProc: 0},
 84372  	{FzName: ts + 24230, FxProc: 0},
 84373  	{FzName: ts + 24252, FxProc: 0},
 84374  	{FzName: ts + 24273, FxProc: 0},
 84375  	{FzName: ts + 24298, FxProc: 0},
 84376  	{FzName: ts + 24321, FxProc: 0},
 84377  	{FzName: ts + 24342, FxProc: 0},
 84378  	{FzName: ts + 24364, FxProc: 0},
 84379  	{FzName: ts + 24386, FxProc: 0},
 84380  	{FzName: ts + 24407, FxProc: 0},
 84381  	{FzName: ts + 24432, FxProc: 0},
 84382  	{FzName: ts + 24458, FxProc: 0},
 84383  	{FzName: ts + 24485, FxProc: 0},
 84384  	{FzName: ts + 24511, FxProc: 0},
 84385  	{FzName: ts + 24535, FxProc: 0},
 84386  	{FzName: ts + 24554, FxProc: 0},
 84387  	{FzName: ts + 24572, FxProc: 0},
 84388  	{FzName: ts + 24597, FxProc: 0},
 84389  	{FzName: ts + 24622, FxProc: 0},
 84390  	{FzName: ts + 24635, FxProc: 0},
 84391  	{FzName: ts + 24649, FxProc: 0},
 84392  	{FzName: ts + 24675, FxProc: 0},
 84393  }
 84394  var bitmask_size int32 = int32(uint64(unsafe.Sizeof(Bitmask(0))) * uint64(8))
 84395  var longdouble_size int32 = int32(unsafe.Sizeof(float64(0)))
 84396  var query_plan uintptr = ts + 24703
 84397  
 84398  var test_pagesize int32 = 1024
 84399  
 84400  func pager_test_reiniter(tls *libc.TLS, pNotUsed uintptr) {
 84401  	return
 84402  }
 84403  
 84404  func pager_open(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 84405  	bp := tls.Alloc(192)
 84406  	defer tls.Free(192)
 84407  
 84408  	var rc int32
 84409  
 84410  	if argc != 3 {
 84411  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 84412  			ts+24729, 0))
 84413  		return TCL_ERROR
 84414  	}
 84415  	if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+72) != 0 {
 84416  		return TCL_ERROR
 84417  	}
 84418  	rc = sqlite3.Xsqlite3PagerOpen(tls, sqlite3.Xsqlite3_vfs_find(tls, uintptr(0)), bp+80, *(*uintptr)(unsafe.Pointer(argv + 1*8)), 0, 0,
 84419  		SQLITE_OPEN_READWRITE|SQLITE_OPEN_CREATE|SQLITE_OPEN_MAIN_DB,
 84420  		*(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{pager_test_reiniter})))
 84421  	if rc != SQLITE_OK {
 84422  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, sqlite3.Xsqlite3ErrName(tls, rc), 0))
 84423  		return TCL_ERROR
 84424  	}
 84425  	sqlite3.Xsqlite3PagerSetCachesize(tls, *(*uintptr)(unsafe.Pointer(bp + 80)), *(*int32)(unsafe.Pointer(bp + 72)))
 84426  	*(*u32)(unsafe.Pointer(bp + 88)) = u32(test_pagesize)
 84427  	sqlite3.Xsqlite3PagerSetPagesize(tls, *(*uintptr)(unsafe.Pointer(bp + 80)), bp+88, -1)
 84428  	sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+92, ts+9889, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 80))))
 84429  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+92, 0))
 84430  	return TCL_OK
 84431  }
 84432  
 84433  func pager_close(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 84434  	bp := tls.Alloc(48)
 84435  	defer tls.Free(48)
 84436  
 84437  	var pPager uintptr
 84438  	var rc int32
 84439  	if argc != 2 {
 84440  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 84441  			ts+24747, 0))
 84442  		return TCL_ERROR
 84443  	}
 84444  	pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))
 84445  	rc = sqlite3.Xsqlite3PagerClose(tls, pPager, uintptr(0))
 84446  	if rc != SQLITE_OK {
 84447  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, sqlite3.Xsqlite3ErrName(tls, rc), 0))
 84448  		return TCL_ERROR
 84449  	}
 84450  	return TCL_OK
 84451  }
 84452  
 84453  func pager_rollback(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 84454  	bp := tls.Alloc(48)
 84455  	defer tls.Free(48)
 84456  
 84457  	var pPager uintptr
 84458  	var rc int32
 84459  	if argc != 2 {
 84460  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 84461  			ts+24747, 0))
 84462  		return TCL_ERROR
 84463  	}
 84464  	pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))
 84465  	rc = sqlite3.Xsqlite3PagerRollback(tls, pPager)
 84466  	if rc != SQLITE_OK {
 84467  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, sqlite3.Xsqlite3ErrName(tls, rc), 0))
 84468  		return TCL_ERROR
 84469  	}
 84470  	return TCL_OK
 84471  }
 84472  
 84473  func pager_commit(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 84474  	bp := tls.Alloc(64)
 84475  	defer tls.Free(64)
 84476  
 84477  	var pPager uintptr
 84478  	var rc int32
 84479  	if argc != 2 {
 84480  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 84481  			ts+24747, 0))
 84482  		return TCL_ERROR
 84483  	}
 84484  	pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))
 84485  	rc = sqlite3.Xsqlite3PagerCommitPhaseOne(tls, pPager, uintptr(0), 0)
 84486  	if rc != SQLITE_OK {
 84487  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, sqlite3.Xsqlite3ErrName(tls, rc), 0))
 84488  		return TCL_ERROR
 84489  	}
 84490  	rc = sqlite3.Xsqlite3PagerCommitPhaseTwo(tls, pPager)
 84491  	if rc != SQLITE_OK {
 84492  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, sqlite3.Xsqlite3ErrName(tls, rc), 0))
 84493  		return TCL_ERROR
 84494  	}
 84495  	return TCL_OK
 84496  }
 84497  
 84498  func pager_stmt_begin(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 84499  	bp := tls.Alloc(48)
 84500  	defer tls.Free(48)
 84501  
 84502  	var pPager uintptr
 84503  	var rc int32
 84504  	if argc != 2 {
 84505  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 84506  			ts+24747, 0))
 84507  		return TCL_ERROR
 84508  	}
 84509  	pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))
 84510  	rc = sqlite3.Xsqlite3PagerOpenSavepoint(tls, pPager, 1)
 84511  	if rc != SQLITE_OK {
 84512  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, sqlite3.Xsqlite3ErrName(tls, rc), 0))
 84513  		return TCL_ERROR
 84514  	}
 84515  	return TCL_OK
 84516  }
 84517  
 84518  func pager_stmt_rollback(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 84519  	bp := tls.Alloc(48)
 84520  	defer tls.Free(48)
 84521  
 84522  	var pPager uintptr
 84523  	var rc int32
 84524  	if argc != 2 {
 84525  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 84526  			ts+24747, 0))
 84527  		return TCL_ERROR
 84528  	}
 84529  	pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))
 84530  	rc = sqlite3.Xsqlite3PagerSavepoint(tls, pPager, SAVEPOINT_ROLLBACK, 0)
 84531  	sqlite3.Xsqlite3PagerSavepoint(tls, pPager, SAVEPOINT_RELEASE, 0)
 84532  	if rc != SQLITE_OK {
 84533  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, sqlite3.Xsqlite3ErrName(tls, rc), 0))
 84534  		return TCL_ERROR
 84535  	}
 84536  	return TCL_OK
 84537  }
 84538  
 84539  func pager_stmt_commit(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 84540  	bp := tls.Alloc(48)
 84541  	defer tls.Free(48)
 84542  
 84543  	var pPager uintptr
 84544  	var rc int32
 84545  	if argc != 2 {
 84546  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 84547  			ts+24747, 0))
 84548  		return TCL_ERROR
 84549  	}
 84550  	pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))
 84551  	rc = sqlite3.Xsqlite3PagerSavepoint(tls, pPager, SAVEPOINT_RELEASE, 0)
 84552  	if rc != SQLITE_OK {
 84553  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, sqlite3.Xsqlite3ErrName(tls, rc), 0))
 84554  		return TCL_ERROR
 84555  	}
 84556  	return TCL_OK
 84557  }
 84558  
 84559  func pager_stats(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 84560  	bp := tls.Alloc(140)
 84561  	defer tls.Free(140)
 84562  
 84563  	var pPager uintptr
 84564  	var i int32
 84565  	var a uintptr
 84566  	if argc != 2 {
 84567  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 84568  			ts+24747, 0))
 84569  		return TCL_ERROR
 84570  	}
 84571  	pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))
 84572  	a = sqlite3.Xsqlite3PagerStats(tls, pPager)
 84573  	for i = 0; i < 9; i++ {
 84574  		tcl.XTcl_AppendElement(tls, interp, zName[i])
 84575  		sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+40, ts+1333, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(a + uintptr(i)*4))))
 84576  		tcl.XTcl_AppendElement(tls, interp, bp+40)
 84577  	}
 84578  	return TCL_OK
 84579  }
 84580  
 84581  var zName = [9]uintptr{
 84582  	ts + 24752, ts + 24756, ts + 18297, ts + 11809, ts + 9558, ts + 24761,
 84583  	ts + 24765, ts + 24769, ts + 24774,
 84584  }
 84585  
 84586  func pager_pagecount(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 84587  	bp := tls.Alloc(160)
 84588  	defer tls.Free(160)
 84589  
 84590  	var pPager uintptr
 84591  
 84592  	if argc != 2 {
 84593  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 84594  			ts+24747, 0))
 84595  		return TCL_ERROR
 84596  	}
 84597  	pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))
 84598  	sqlite3.Xsqlite3PagerPagecount(tls, pPager, bp+56)
 84599  	sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+60, ts+1333, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(bp + 56))))
 84600  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+60, 0))
 84601  	return TCL_OK
 84602  }
 84603  
 84604  func page_get(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 84605  	bp := tls.Alloc(188)
 84606  	defer tls.Free(188)
 84607  
 84608  	var pPager uintptr
 84609  
 84610  	*(*uintptr)(unsafe.Pointer(bp + 80)) = uintptr(0)
 84611  
 84612  	var rc int32
 84613  	if argc != 3 {
 84614  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 84615  			ts+24779, 0))
 84616  		return TCL_ERROR
 84617  	}
 84618  	pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))
 84619  	if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+72) != 0 {
 84620  		return TCL_ERROR
 84621  	}
 84622  	rc = sqlite3.Xsqlite3PagerSharedLock(tls, pPager)
 84623  	if rc == SQLITE_OK {
 84624  		rc = sqlite3.Xsqlite3PagerGet(tls, pPager, uint32(*(*int32)(unsafe.Pointer(bp + 72))), bp+80, 0)
 84625  	}
 84626  	if rc != SQLITE_OK {
 84627  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, sqlite3.Xsqlite3ErrName(tls, rc), 0))
 84628  		return TCL_ERROR
 84629  	}
 84630  	sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+88, ts+9889, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 80))))
 84631  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+88, 0))
 84632  	return TCL_OK
 84633  }
 84634  
 84635  func page_lookup(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 84636  	bp := tls.Alloc(160)
 84637  	defer tls.Free(160)
 84638  
 84639  	var pPager uintptr
 84640  
 84641  	var pPage uintptr
 84642  
 84643  	if argc != 3 {
 84644  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 84645  			ts+24779, 0))
 84646  		return TCL_ERROR
 84647  	}
 84648  	pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))
 84649  	if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+56) != 0 {
 84650  		return TCL_ERROR
 84651  	}
 84652  	pPage = sqlite3.Xsqlite3PagerLookup(tls, pPager, uint32(*(*int32)(unsafe.Pointer(bp + 56))))
 84653  	if pPage != 0 {
 84654  		sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+60, ts+9889, libc.VaList(bp+32, pPage))
 84655  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+60, 0))
 84656  	}
 84657  	return TCL_OK
 84658  }
 84659  
 84660  func pager_truncate(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 84661  	bp := tls.Alloc(36)
 84662  	defer tls.Free(36)
 84663  
 84664  	var pPager uintptr
 84665  
 84666  	if argc != 3 {
 84667  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 84668  			ts+24779, 0))
 84669  		return TCL_ERROR
 84670  	}
 84671  	pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))
 84672  	if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+32) != 0 {
 84673  		return TCL_ERROR
 84674  	}
 84675  	sqlite3.Xsqlite3PagerTruncateImage(tls, pPager, uint32(*(*int32)(unsafe.Pointer(bp + 32))))
 84676  	return TCL_OK
 84677  }
 84678  
 84679  func page_unref(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 84680  	bp := tls.Alloc(32)
 84681  	defer tls.Free(32)
 84682  
 84683  	var pPage uintptr
 84684  	if argc != 2 {
 84685  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 84686  			ts+24789, 0))
 84687  		return TCL_ERROR
 84688  	}
 84689  	pPage = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))
 84690  	sqlite3.Xsqlite3PagerUnref(tls, pPage)
 84691  	return TCL_OK
 84692  }
 84693  
 84694  func page_read(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 84695  	bp := tls.Alloc(148)
 84696  	defer tls.Free(148)
 84697  
 84698  	var pPage uintptr
 84699  	if argc != 2 {
 84700  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 84701  			ts+24789, 0))
 84702  		return TCL_ERROR
 84703  	}
 84704  	pPage = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))
 84705  	libc.Xmemcpy(tls, bp+48, sqlite3.Xsqlite3PagerGetData(tls, pPage), uint64(unsafe.Sizeof([100]int8{})))
 84706  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, bp+48, 0))
 84707  	return TCL_OK
 84708  }
 84709  
 84710  func page_number(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 84711  	bp := tls.Alloc(156)
 84712  	defer tls.Free(156)
 84713  
 84714  	var pPage uintptr
 84715  	if argc != 2 {
 84716  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 84717  			ts+24789, 0))
 84718  		return TCL_ERROR
 84719  	}
 84720  	pPage = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))
 84721  	sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+56, ts+1333, libc.VaList(bp+32, sqlite3.Xsqlite3PagerPagenumber(tls, pPage)))
 84722  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+56, 0))
 84723  	return TCL_OK
 84724  }
 84725  
 84726  func page_write(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 84727  	bp := tls.Alloc(48)
 84728  	defer tls.Free(48)
 84729  
 84730  	var pPage uintptr
 84731  	var pData uintptr
 84732  	var rc int32
 84733  	if argc != 3 {
 84734  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 84735  			ts+24796, 0))
 84736  		return TCL_ERROR
 84737  	}
 84738  	pPage = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))
 84739  	rc = sqlite3.Xsqlite3PagerWrite(tls, pPage)
 84740  	if rc != SQLITE_OK {
 84741  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, sqlite3.Xsqlite3ErrName(tls, rc), 0))
 84742  		return TCL_ERROR
 84743  	}
 84744  	pData = sqlite3.Xsqlite3PagerGetData(tls, pPage)
 84745  	libc.Xstrncpy(tls, pData, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(test_pagesize-1))
 84746  	*(*int8)(unsafe.Pointer(pData + uintptr(test_pagesize-1))) = int8(0)
 84747  	return TCL_OK
 84748  }
 84749  
 84750  func fake_big_file(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 84751  	bp := tls.Alloc(96)
 84752  	defer tls.Free(96)
 84753  
 84754  	var pVfs uintptr
 84755  	*(*uintptr)(unsafe.Pointer(bp + 88)) = uintptr(0)
 84756  	var rc int32
 84757  
 84758  	var offset i64
 84759  	var zFile uintptr
 84760  	var nFile int32
 84761  	if argc != 3 {
 84762  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 84763  			ts+24808, 0))
 84764  		return TCL_ERROR
 84765  	}
 84766  	if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+80) != 0 {
 84767  		return TCL_ERROR
 84768  	}
 84769  
 84770  	pVfs = sqlite3.Xsqlite3_vfs_find(tls, uintptr(0))
 84771  	nFile = int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8))))
 84772  	zFile = sqlite3.Xsqlite3_malloc(tls, nFile+2)
 84773  	if zFile == uintptr(0) {
 84774  		return TCL_ERROR
 84775  	}
 84776  	libc.Xmemcpy(tls, zFile, *(*uintptr)(unsafe.Pointer(argv + 2*8)), uint64(nFile+1))
 84777  	*(*int8)(unsafe.Pointer(zFile + uintptr(nFile+1))) = int8(0)
 84778  	rc = sqlite3.Xsqlite3OsOpenMalloc(tls, pVfs, zFile, bp+88,
 84779  		SQLITE_OPEN_CREATE|SQLITE_OPEN_READWRITE|SQLITE_OPEN_MAIN_DB, uintptr(0))
 84780  	if rc != 0 {
 84781  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+24827, sqlite3.Xsqlite3ErrName(tls, rc), 0))
 84782  		sqlite3.Xsqlite3_free(tls, zFile)
 84783  		return TCL_ERROR
 84784  	}
 84785  	offset = i64(*(*int32)(unsafe.Pointer(bp + 80)))
 84786  	offset = offset * int64(1024*1024)
 84787  	rc = sqlite3.Xsqlite3OsWrite(tls, *(*uintptr)(unsafe.Pointer(bp + 88)), ts+24841, 14, offset)
 84788  	sqlite3.Xsqlite3OsCloseFree(tls, *(*uintptr)(unsafe.Pointer(bp + 88)))
 84789  	sqlite3.Xsqlite3_free(tls, zFile)
 84790  	if rc != 0 {
 84791  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, ts+24855, sqlite3.Xsqlite3ErrName(tls, rc), 0))
 84792  		return TCL_ERROR
 84793  	}
 84794  	return TCL_OK
 84795  }
 84796  
 84797  func testPendingByte(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 84798  	bp := tls.Alloc(44)
 84799  	defer tls.Free(44)
 84800  
 84801  	var rc int32
 84802  	if argc != 2 {
 84803  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 84804  			ts+24870, uintptr(0)))
 84805  		return TCL_ERROR
 84806  	}
 84807  	if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+40) != 0 {
 84808  		return TCL_ERROR
 84809  	}
 84810  	rc = sqlite3.Xsqlite3_test_control(tls, SQLITE_TESTCTRL_PENDING_BYTE, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(bp + 40))))
 84811  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, rc))
 84812  	return TCL_OK
 84813  }
 84814  
 84815  var faultSimInterp uintptr = uintptr(0)
 84816  var faultSimScriptSize int32 = 0
 84817  var faultSimScript uintptr
 84818  
 84819  func faultSimCallback(tls *libc.TLS, x int32) int32 {
 84820  	bp := tls.Alloc(38)
 84821  	defer tls.Free(38)
 84822  
 84823  	var i int32
 84824  	var isNeg int32
 84825  	var rc int32
 84826  	if x == 0 {
 84827  		libc.Xmemcpy(tls, faultSimScript+uintptr(faultSimScriptSize), ts+14193, uint64(2))
 84828  	} else {
 84829  		if x < 0 {
 84830  			isNeg = 1
 84831  			x = -x
 84832  		} else {
 84833  			isNeg = 0
 84834  		}
 84835  		*(*int8)(unsafe.Pointer(bp + 8 + 29)) = int8(0)
 84836  		i = int32(uint64(unsafe.Sizeof([30]int8{})) - uint64(2))
 84837  	__1:
 84838  		if !(i > 0 && x > 0) {
 84839  			goto __3
 84840  		}
 84841  		{
 84842  			*(*int8)(unsafe.Pointer(bp + 8 + uintptr(i))) = int8(x%10 + '0')
 84843  
 84844  		}
 84845  		goto __2
 84846  	__2:
 84847  		i--
 84848  		x = x / 10
 84849  		goto __1
 84850  		goto __3
 84851  	__3:
 84852  		;
 84853  		if isNeg != 0 {
 84854  			*(*int8)(unsafe.Pointer(bp + 8 + uintptr(libc.PostDecInt32(&i, 1)))) = int8('-')
 84855  		}
 84856  		libc.Xmemcpy(tls, faultSimScript+uintptr(faultSimScriptSize), bp+8+uintptr(i)+uintptr(1), uint64(unsafe.Sizeof([30]int8{}))-uint64(i))
 84857  	}
 84858  	rc = tcl.XTcl_Eval(tls, faultSimInterp, faultSimScript)
 84859  	if rc != 0 {
 84860  		fprintf(tls, libc.X__acrt_iob_func(tls, uint32(2)), ts+24885, libc.VaList(bp, faultSimScript))
 84861  		rc = SQLITE_ERROR
 84862  	} else {
 84863  		rc = libc.Xatoi(tls, tcl.XTcl_GetStringResult(tls, faultSimInterp))
 84864  	}
 84865  	tcl.XTcl_ResetResult(tls, faultSimInterp)
 84866  	return rc
 84867  }
 84868  
 84869  func faultInstallCmd(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 84870  	bp := tls.Alloc(64)
 84871  	defer tls.Free(64)
 84872  
 84873  	var zScript uintptr
 84874  	var nScript int32
 84875  	var rc int32
 84876  	if argc != 1 && argc != 2 {
 84877  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 84878  			ts+24921, uintptr(0)))
 84879  	}
 84880  	if argc == 2 {
 84881  		zScript = *(*uintptr)(unsafe.Pointer(argv + 1*8))
 84882  	} else {
 84883  		zScript = ts + 584
 84884  	}
 84885  	nScript = int32(libc.Xstrlen(tls, zScript))
 84886  	if faultSimScript != 0 {
 84887  		libc.Xfree(tls, faultSimScript)
 84888  		faultSimScript = uintptr(0)
 84889  	}
 84890  	if nScript == 0 {
 84891  		rc = sqlite3.Xsqlite3_test_control(tls, SQLITE_TESTCTRL_FAULT_INSTALL, libc.VaList(bp+32, 0))
 84892  	} else {
 84893  		faultSimScript = libc.Xmalloc(tls, uint64(nScript+100))
 84894  		if faultSimScript == uintptr(0) {
 84895  			tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+2069, uintptr(0)))
 84896  			return SQLITE_ERROR
 84897  		}
 84898  		libc.Xmemcpy(tls, faultSimScript, zScript, uint64(nScript))
 84899  		*(*int8)(unsafe.Pointer(faultSimScript + uintptr(nScript))) = int8(' ')
 84900  		faultSimScriptSize = nScript + 1
 84901  		faultSimInterp = interp
 84902  		rc = sqlite3.Xsqlite3_test_control(tls, SQLITE_TESTCTRL_FAULT_INSTALL, libc.VaList(bp+56, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, int32) int32 }{faultSimCallback}))))
 84903  	}
 84904  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, rc))
 84905  	return SQLITE_OK
 84906  }
 84907  
 84908  func testBitvecBuiltinTest(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 84909  	bp := tls.Alloc(452)
 84910  	defer tls.Free(452)
 84911  
 84912  	var rc int32
 84913  	var nProg int32 = 0
 84914  
 84915  	var z uintptr
 84916  	if argc != 3 {
 84917  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 84918  			ts+24930, uintptr(0)))
 84919  	}
 84920  	if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+48) != 0 {
 84921  		return TCL_ERROR
 84922  	}
 84923  	z = *(*uintptr)(unsafe.Pointer(argv + 2*8))
 84924  	for nProg < 99 && *(*int8)(unsafe.Pointer(z)) != 0 {
 84925  		for *(*int8)(unsafe.Pointer(z)) != 0 && !(int32(sqlite3.Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z)))])&0x04 != 0) {
 84926  			z++
 84927  		}
 84928  		if int32(*(*int8)(unsafe.Pointer(z))) == 0 {
 84929  			break
 84930  		}
 84931  		*(*int32)(unsafe.Pointer(bp + 52 + uintptr(libc.PostIncInt32(&nProg, 1))*4)) = libc.Xatoi(tls, z)
 84932  		for int32(sqlite3.Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z)))])&0x04 != 0 {
 84933  			z++
 84934  		}
 84935  	}
 84936  	*(*int32)(unsafe.Pointer(bp + 52 + uintptr(nProg)*4)) = 0
 84937  	rc = sqlite3.Xsqlite3_test_control(tls, SQLITE_TESTCTRL_BITVEC_TEST, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(bp + 48)), bp+52))
 84938  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, rc))
 84939  	return TCL_OK
 84940  }
 84941  
 84942  func Sqlitetest2_Init(tls *libc.TLS, interp uintptr) int32 {
 84943  	var i int32
 84944  	for i = 0; uint64(i) < uint64(unsafe.Sizeof(aCmd2))/uint64(unsafe.Sizeof(struct {
 84945  		FzName uintptr
 84946  		FxProc uintptr
 84947  	}{})); i++ {
 84948  		tcl.XTcl_CreateCommand(tls, interp, aCmd2[i].FzName, aCmd2[i].FxProc, uintptr(0), uintptr(0))
 84949  	}
 84950  	tcl.XTcl_LinkVar(tls, interp, ts+24945,
 84951  		uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_io_error_pending)), TCL_LINK_INT)
 84952  	tcl.XTcl_LinkVar(tls, interp, ts+24969,
 84953  		uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_io_error_persist)), TCL_LINK_INT)
 84954  	tcl.XTcl_LinkVar(tls, interp, ts+24993,
 84955  		uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_io_error_hit)), TCL_LINK_INT)
 84956  	tcl.XTcl_LinkVar(tls, interp, ts+25013,
 84957  		uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_io_error_hardhit)), TCL_LINK_INT)
 84958  	tcl.XTcl_LinkVar(tls, interp, ts+25037,
 84959  		uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_diskfull_pending)), TCL_LINK_INT)
 84960  	tcl.XTcl_LinkVar(tls, interp, ts+25061,
 84961  		uintptr(unsafe.Pointer(&sqlite3.Xsqlite3_diskfull)), TCL_LINK_INT)
 84962  	tcl.XTcl_LinkVar(tls, interp, ts+25077,
 84963  		uintptr(unsafe.Pointer(&sqlite3.Xsqlite3PendingByte)), TCL_LINK_INT|TCL_LINK_READ_ONLY)
 84964  	return TCL_OK
 84965  }
 84966  
 84967  var aCmd2 = [20]struct {
 84968  	FzName uintptr
 84969  	FxProc uintptr
 84970  }{
 84971  	{FzName: ts + 25097, FxProc: 0},
 84972  	{FzName: ts + 25108, FxProc: 0},
 84973  	{FzName: ts + 25120, FxProc: 0},
 84974  	{FzName: ts + 25133, FxProc: 0},
 84975  	{FzName: ts + 25148, FxProc: 0},
 84976  	{FzName: ts + 25165, FxProc: 0},
 84977  	{FzName: ts + 25183, FxProc: 0},
 84978  	{FzName: ts + 25203, FxProc: 0},
 84979  	{FzName: ts + 25215, FxProc: 0},
 84980  	{FzName: ts + 25231, FxProc: 0},
 84981  	{FzName: ts + 25240, FxProc: 0},
 84982  	{FzName: ts + 25252, FxProc: 0},
 84983  	{FzName: ts + 25263, FxProc: 0},
 84984  	{FzName: ts + 25273, FxProc: 0},
 84985  	{FzName: ts + 25284, FxProc: 0},
 84986  	{FzName: ts + 25296, FxProc: 0},
 84987  	{FzName: ts + 25311, FxProc: 0},
 84988  	{FzName: ts + 25325, FxProc: 0},
 84989  	{FzName: ts + 25350, FxProc: 0},
 84990  	{FzName: ts + 25384, FxProc: 0},
 84991  }
 84992  
 84993  type Btree = Btree1
 84994  type BtCursor = BtCursor1
 84995  type BtShared = BtShared1
 84996  
 84997  type MemPage1 = struct {
 84998  	FisInit          u8
 84999  	FintKey          u8
 85000  	FintKeyLeaf      u8
 85001  	F__ccgo_pad1     [1]byte
 85002  	Fpgno            Pgno
 85003  	Fleaf            u8
 85004  	FhdrOffset       u8
 85005  	FchildPtrSize    u8
 85006  	Fmax1bytePayload u8
 85007  	FnOverflow       u8
 85008  	F__ccgo_pad2     [1]byte
 85009  	FmaxLocal        u16
 85010  	FminLocal        u16
 85011  	FcellOffset      u16
 85012  	FnFree           int32
 85013  	FnCell           u16
 85014  	FmaskPage        u16
 85015  	FaiOvfl          [4]u16
 85016  	F__ccgo_pad3     [4]byte
 85017  	FapOvfl          [4]uintptr
 85018  	FpBt             uintptr
 85019  	FaData           uintptr
 85020  	FaDataEnd        uintptr
 85021  	FaCellIdx        uintptr
 85022  	FaDataOfst       uintptr
 85023  	FpDbPage         uintptr
 85024  	FxCellSize       uintptr
 85025  	FxParseCell      uintptr
 85026  }
 85027  
 85028  type MemPage = MemPage1
 85029  type BtLock1 = struct {
 85030  	FpBtree      uintptr
 85031  	FiTable      Pgno
 85032  	FeLock       u8
 85033  	F__ccgo_pad1 [3]byte
 85034  	FpNext       uintptr
 85035  }
 85036  
 85037  type BtLock = BtLock1
 85038  type CellInfo1 = struct {
 85039  	FnKey     i64
 85040  	FpPayload uintptr
 85041  	FnPayload u32
 85042  	FnLocal   u16
 85043  	FnSize    u16
 85044  }
 85045  
 85046  type CellInfo = CellInfo1
 85047  
 85048  type IntegrityCk1 = struct {
 85049  	FpBt       uintptr
 85050  	FpPager    uintptr
 85051  	FaPgRef    uintptr
 85052  	FnPage     Pgno
 85053  	FmxErr     int32
 85054  	FnErr      int32
 85055  	FbOomFault int32
 85056  	FzPfx      uintptr
 85057  	Fv1        Pgno
 85058  	Fv2        int32
 85059  	FerrMsg    StrAccum
 85060  	Fheap      uintptr
 85061  	Fdb        uintptr
 85062  }
 85063  
 85064  type IntegrityCk = IntegrityCk1
 85065  
 85066  var sDb sqlite31
 85067  var nRefSqlite3 int32 = 0
 85068  
 85069  func btree_open(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 85070  	bp := tls.Alloc(188)
 85071  	defer tls.Free(188)
 85072  
 85073  	var rc int32
 85074  
 85075  	var n int32
 85076  	var zFilename uintptr
 85077  	if argc != 3 {
 85078  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 85079  			ts+25419, 0))
 85080  		return TCL_ERROR
 85081  	}
 85082  	if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+72) != 0 {
 85083  		return TCL_ERROR
 85084  	}
 85085  	nRefSqlite3++
 85086  	if nRefSqlite3 == 1 {
 85087  		sDb.FpVfs = sqlite3.Xsqlite3_vfs_find(tls, uintptr(0))
 85088  		sDb.Fmutex = sqlite3.Xsqlite3MutexAlloc(tls, SQLITE_MUTEX_RECURSIVE)
 85089  		sqlite3.Xsqlite3_mutex_enter(tls, sDb.Fmutex)
 85090  	}
 85091  	n = int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))))
 85092  	zFilename = sqlite3.Xsqlite3_malloc(tls, n+2)
 85093  	if zFilename == uintptr(0) {
 85094  		return TCL_ERROR
 85095  	}
 85096  	libc.Xmemcpy(tls, zFilename, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint64(n+1))
 85097  	*(*int8)(unsafe.Pointer(zFilename + uintptr(n+1))) = int8(0)
 85098  	rc = sqlite3.Xsqlite3BtreeOpen(tls, sDb.FpVfs, zFilename, uintptr(unsafe.Pointer(&sDb)), bp+80, 0,
 85099  		SQLITE_OPEN_READWRITE|SQLITE_OPEN_CREATE|SQLITE_OPEN_MAIN_DB)
 85100  	sqlite3.Xsqlite3_free(tls, zFilename)
 85101  	if rc != SQLITE_OK {
 85102  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, sqlite3.Xsqlite3ErrName(tls, rc), 0))
 85103  		return TCL_ERROR
 85104  	}
 85105  	sqlite3.Xsqlite3BtreeSetCacheSize(tls, *(*uintptr)(unsafe.Pointer(bp + 80)), *(*int32)(unsafe.Pointer(bp + 72)))
 85106  	sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+88, ts+9889, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 80))))
 85107  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+88, 0))
 85108  	return TCL_OK
 85109  }
 85110  
 85111  func btree_close(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 85112  	bp := tls.Alloc(48)
 85113  	defer tls.Free(48)
 85114  
 85115  	var pBt uintptr
 85116  	var rc int32
 85117  	if argc != 2 {
 85118  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 85119  			ts+24747, 0))
 85120  		return TCL_ERROR
 85121  	}
 85122  	pBt = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))
 85123  	rc = sqlite3.Xsqlite3BtreeClose(tls, pBt)
 85124  	if rc != SQLITE_OK {
 85125  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, sqlite3.Xsqlite3ErrName(tls, rc), 0))
 85126  		return TCL_ERROR
 85127  	}
 85128  	nRefSqlite3--
 85129  	if nRefSqlite3 == 0 {
 85130  		sqlite3.Xsqlite3_mutex_leave(tls, sDb.Fmutex)
 85131  		sqlite3.Xsqlite3_mutex_free(tls, sDb.Fmutex)
 85132  		sDb.Fmutex = uintptr(0)
 85133  		sDb.FpVfs = uintptr(0)
 85134  	}
 85135  	return TCL_OK
 85136  }
 85137  
 85138  func btree_begin_transaction(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 85139  	bp := tls.Alloc(48)
 85140  	defer tls.Free(48)
 85141  
 85142  	var pBt uintptr
 85143  	var rc int32
 85144  	if argc != 2 {
 85145  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 85146  			ts+24747, 0))
 85147  		return TCL_ERROR
 85148  	}
 85149  	pBt = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))
 85150  	sqlite3.Xsqlite3BtreeEnter(tls, pBt)
 85151  	rc = sqlite3.Xsqlite3BtreeBeginTrans(tls, pBt, 1, uintptr(0))
 85152  	sqlite3.Xsqlite3BtreeLeave(tls, pBt)
 85153  	if rc != SQLITE_OK {
 85154  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, sqlite3.Xsqlite3ErrName(tls, rc), 0))
 85155  		return TCL_ERROR
 85156  	}
 85157  	return TCL_OK
 85158  }
 85159  
 85160  func btree_pager_stats(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 85161  	bp := tls.Alloc(140)
 85162  	defer tls.Free(140)
 85163  
 85164  	var pBt uintptr
 85165  	var i int32
 85166  	var a uintptr
 85167  
 85168  	if argc != 2 {
 85169  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 85170  			ts+24747, 0))
 85171  		return TCL_ERROR
 85172  	}
 85173  	pBt = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))
 85174  
 85175  	sqlite3.Xsqlite3_mutex_enter(tls, (*sqlite31)(unsafe.Pointer((*Btree)(unsafe.Pointer(pBt)).Fdb)).Fmutex)
 85176  
 85177  	sqlite3.Xsqlite3BtreeEnter(tls, pBt)
 85178  	a = sqlite3.Xsqlite3PagerStats(tls, sqlite3.Xsqlite3BtreePager(tls, pBt))
 85179  	for i = 0; i < 11; i++ {
 85180  		tcl.XTcl_AppendElement(tls, interp, zName1[i])
 85181  		sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+40, ts+1333, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(a + uintptr(i)*4))))
 85182  		tcl.XTcl_AppendElement(tls, interp, bp+40)
 85183  	}
 85184  	sqlite3.Xsqlite3BtreeLeave(tls, pBt)
 85185  
 85186  	sqlite3.Xsqlite3_mutex_leave(tls, (*sqlite31)(unsafe.Pointer((*Btree)(unsafe.Pointer(pBt)).Fdb)).Fmutex)
 85187  	return TCL_OK
 85188  }
 85189  
 85190  var zName1 = [11]uintptr{
 85191  	ts + 24752, ts + 24756, ts + 18297, ts + 11809, ts + 9558, ts + 24761,
 85192  	ts + 24765, ts + 24769, ts + 24774, ts + 25443, ts + 25448,
 85193  }
 85194  
 85195  func btree_cursor(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 85196  	bp := tls.Alloc(110)
 85197  	defer tls.Free(110)
 85198  
 85199  	var pBt uintptr
 85200  
 85201  	var pCur uintptr
 85202  	var rc int32 = SQLITE_OK
 85203  
 85204  	if argc != 4 {
 85205  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 85206  			ts+25454, 0))
 85207  		return TCL_ERROR
 85208  	}
 85209  	pBt = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))
 85210  	if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+72) != 0 {
 85211  		return TCL_ERROR
 85212  	}
 85213  	if tcl.XTcl_GetBoolean(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 3*8)), bp+76) != 0 {
 85214  		return TCL_ERROR
 85215  	}
 85216  	if *(*int32)(unsafe.Pointer(bp + 76)) != 0 {
 85217  		*(*int32)(unsafe.Pointer(bp + 76)) = BTREE_WRCSR
 85218  	}
 85219  	pCur = tcl.XTcl_Alloc(tls, uint32(sqlite3.Xsqlite3BtreeCursorSize(tls)))
 85220  	libc.Xmemset(tls, pCur, 0, uint64(sqlite3.Xsqlite3BtreeCursorSize(tls)))
 85221  	sqlite3.Xsqlite3_mutex_enter(tls, (*sqlite31)(unsafe.Pointer((*Btree)(unsafe.Pointer(pBt)).Fdb)).Fmutex)
 85222  	sqlite3.Xsqlite3BtreeEnter(tls, pBt)
 85223  	rc = sqlite3.Xsqlite3BtreeLockTable(tls, pBt, *(*int32)(unsafe.Pointer(bp + 72)), libc.BoolUint8(!!(*(*int32)(unsafe.Pointer(bp + 76)) != 0)))
 85224  	if rc == SQLITE_OK {
 85225  		rc = sqlite3.Xsqlite3BtreeCursor(tls, pBt, uint32(*(*int32)(unsafe.Pointer(bp + 72))), *(*int32)(unsafe.Pointer(bp + 76)), uintptr(0), pCur)
 85226  	}
 85227  	sqlite3.Xsqlite3BtreeLeave(tls, pBt)
 85228  	sqlite3.Xsqlite3_mutex_leave(tls, (*sqlite31)(unsafe.Pointer((*Btree)(unsafe.Pointer(pBt)).Fdb)).Fmutex)
 85229  	if rc != 0 {
 85230  		tcl.XTcl_Free(tls, pCur)
 85231  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, sqlite3.Xsqlite3ErrName(tls, rc), 0))
 85232  		return TCL_ERROR
 85233  	}
 85234  	sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+80, ts+9889, libc.VaList(bp+48, pCur))
 85235  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+80, 0))
 85236  	return SQLITE_OK
 85237  }
 85238  
 85239  func btree_close_cursor(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 85240  	bp := tls.Alloc(48)
 85241  	defer tls.Free(48)
 85242  
 85243  	var pCur uintptr
 85244  	var rc int32
 85245  
 85246  	if argc != 2 {
 85247  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 85248  			ts+24747, 0))
 85249  		return TCL_ERROR
 85250  	}
 85251  	pCur = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))
 85252  	{
 85253  		var pBt uintptr = (*BtCursor)(unsafe.Pointer(pCur)).FpBtree
 85254  		sqlite3.Xsqlite3_mutex_enter(tls, (*sqlite31)(unsafe.Pointer((*Btree)(unsafe.Pointer(pBt)).Fdb)).Fmutex)
 85255  		sqlite3.Xsqlite3BtreeEnter(tls, pBt)
 85256  		rc = sqlite3.Xsqlite3BtreeCloseCursor(tls, pCur)
 85257  		sqlite3.Xsqlite3BtreeLeave(tls, pBt)
 85258  		sqlite3.Xsqlite3_mutex_leave(tls, (*sqlite31)(unsafe.Pointer((*Btree)(unsafe.Pointer(pBt)).Fdb)).Fmutex)
 85259  
 85260  	}
 85261  	tcl.XTcl_Free(tls, pCur)
 85262  	if rc != 0 {
 85263  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, sqlite3.Xsqlite3ErrName(tls, rc), 0))
 85264  		return TCL_ERROR
 85265  	}
 85266  	return SQLITE_OK
 85267  }
 85268  
 85269  func btree_next(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 85270  	bp := tls.Alloc(172)
 85271  	defer tls.Free(172)
 85272  
 85273  	var pCur uintptr
 85274  	var rc int32
 85275  	var res int32 = 0
 85276  
 85277  	if argc != 2 {
 85278  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 85279  			ts+24747, 0))
 85280  		return TCL_ERROR
 85281  	}
 85282  	pCur = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))
 85283  	sqlite3.Xsqlite3BtreeEnter(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree)
 85284  	rc = sqlite3.Xsqlite3BtreeNext(tls, pCur, 0)
 85285  	if rc == SQLITE_DONE {
 85286  		res = 1
 85287  		rc = SQLITE_OK
 85288  	}
 85289  	sqlite3.Xsqlite3BtreeLeave(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree)
 85290  	if rc != 0 {
 85291  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, sqlite3.Xsqlite3ErrName(tls, rc), 0))
 85292  		return TCL_ERROR
 85293  	}
 85294  	sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+72, ts+1333, libc.VaList(bp+48, res))
 85295  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+72, 0))
 85296  	return SQLITE_OK
 85297  }
 85298  
 85299  func btree_first(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 85300  	bp := tls.Alloc(176)
 85301  	defer tls.Free(176)
 85302  
 85303  	var pCur uintptr
 85304  	var rc int32
 85305  	*(*int32)(unsafe.Pointer(bp + 72)) = 0
 85306  
 85307  	if argc != 2 {
 85308  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 85309  			ts+24747, 0))
 85310  		return TCL_ERROR
 85311  	}
 85312  	pCur = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))
 85313  	sqlite3.Xsqlite3BtreeEnter(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree)
 85314  	rc = sqlite3.Xsqlite3BtreeFirst(tls, pCur, bp+72)
 85315  	sqlite3.Xsqlite3BtreeLeave(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree)
 85316  	if rc != 0 {
 85317  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, sqlite3.Xsqlite3ErrName(tls, rc), 0))
 85318  		return TCL_ERROR
 85319  	}
 85320  	sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+76, ts+1333, libc.VaList(bp+48, *(*int32)(unsafe.Pointer(bp + 72))))
 85321  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+76, 0))
 85322  	return SQLITE_OK
 85323  }
 85324  
 85325  func btree_eof(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 85326  	bp := tls.Alloc(106)
 85327  	defer tls.Free(106)
 85328  
 85329  	var pCur uintptr
 85330  	var rc int32
 85331  
 85332  	if argc != 2 {
 85333  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 85334  			ts+24747, 0))
 85335  		return TCL_ERROR
 85336  	}
 85337  	pCur = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))
 85338  	sqlite3.Xsqlite3BtreeEnter(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree)
 85339  	rc = sqlite3.Xsqlite3BtreeEof(tls, pCur)
 85340  	sqlite3.Xsqlite3BtreeLeave(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree)
 85341  	sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+56, ts+1333, libc.VaList(bp+32, rc))
 85342  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+56, 0))
 85343  	return SQLITE_OK
 85344  }
 85345  
 85346  func btree_payload_size(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 85347  	bp := tls.Alloc(106)
 85348  	defer tls.Free(106)
 85349  
 85350  	var pCur uintptr
 85351  	var n u32
 85352  
 85353  	if argc != 2 {
 85354  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 85355  			ts+24747, 0))
 85356  		return TCL_ERROR
 85357  	}
 85358  	pCur = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))
 85359  	sqlite3.Xsqlite3BtreeEnter(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree)
 85360  	n = sqlite3.Xsqlite3BtreePayloadSize(tls, pCur)
 85361  	sqlite3.Xsqlite3BtreeLeave(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree)
 85362  	sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+56, ts+17791, libc.VaList(bp+32, n))
 85363  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+56, 0))
 85364  	return SQLITE_OK
 85365  }
 85366  
 85367  func btree_varint_test(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 85368  	bp := tls.Alloc(516)
 85369  	defer tls.Free(516)
 85370  
 85371  	var in u64
 85372  
 85373  	var n1 int32
 85374  	var n2 int32
 85375  	var i int32
 85376  	var j int32
 85377  
 85378  	if argc != 5 {
 85379  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 85380  			ts+25478, 0))
 85381  		return TCL_ERROR
 85382  	}
 85383  	if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+184) != 0 {
 85384  		return TCL_ERROR
 85385  	}
 85386  	if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+188) != 0 {
 85387  		return TCL_ERROR
 85388  	}
 85389  	if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 3*8)), bp+192) != 0 {
 85390  		return TCL_ERROR
 85391  	}
 85392  	if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 4*8)), bp+196) != 0 {
 85393  		return TCL_ERROR
 85394  	}
 85395  	in = u64(*(*u32)(unsafe.Pointer(bp + 184)))
 85396  	in = in * u64(*(*u32)(unsafe.Pointer(bp + 188)))
 85397  	for i = 0; i < int32(*(*u32)(unsafe.Pointer(bp + 192))); i++ {
 85398  		n1 = sqlite3.Xsqlite3PutVarint(tls, bp+200, in)
 85399  		if n1 > 9 || n1 < 1 {
 85400  			sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+300,
 85401  				ts+25513, libc.VaList(bp+32, n1))
 85402  			tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+300, 0))
 85403  			return TCL_ERROR
 85404  		}
 85405  		n2 = int32(sqlite3.Xsqlite3GetVarint(tls, bp+200, bp+504))
 85406  		if n1 != n2 {
 85407  			sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+300,
 85408  				ts+25563, libc.VaList(bp+56, n1, n2))
 85409  			tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, bp+300, 0))
 85410  			return TCL_ERROR
 85411  		}
 85412  		if in != *(*u64)(unsafe.Pointer(bp + 504)) {
 85413  			sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+300,
 85414  				ts+25611, libc.VaList(bp+88, in, *(*u64)(unsafe.Pointer(bp + 504))))
 85415  			tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+104, bp+300, 0))
 85416  			return TCL_ERROR
 85417  		}
 85418  		if in&uint64(0xffffffff) == in {
 85419  			n2 = int32(func() uint8 {
 85420  				if int32(*(*uint8)(unsafe.Pointer(bp + 200))) < int32(u8(0x80)) {
 85421  					return uint8(func() int32 { *(*u32)(unsafe.Pointer(bp + 512)) = u32(*(*uint8)(unsafe.Pointer(bp + 200))); return 1 }())
 85422  				}
 85423  				return sqlite3.Xsqlite3GetVarint32(tls, bp+200, bp+512)
 85424  			}())
 85425  			*(*u64)(unsafe.Pointer(bp + 504)) = u64(*(*u32)(unsafe.Pointer(bp + 512)))
 85426  			if n1 != n2 {
 85427  				sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+300,
 85428  					ts+25650,
 85429  					libc.VaList(bp+120, n1, n2))
 85430  				tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+136, bp+300, 0))
 85431  				return TCL_ERROR
 85432  			}
 85433  			if in != *(*u64)(unsafe.Pointer(bp + 504)) {
 85434  				sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+300,
 85435  					ts+25700,
 85436  					libc.VaList(bp+152, in, *(*u64)(unsafe.Pointer(bp + 504))))
 85437  				tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+168, bp+300, 0))
 85438  				return TCL_ERROR
 85439  			}
 85440  		}
 85441  
 85442  		for j = 0; j < 19; j++ {
 85443  			sqlite3.Xsqlite3GetVarint(tls, bp+200, bp+504)
 85444  		}
 85445  		in = in + u64(*(*u32)(unsafe.Pointer(bp + 196)))
 85446  	}
 85447  	return TCL_OK
 85448  }
 85449  
 85450  func btree_from_db(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 85451  	bp := tls.Alloc(236)
 85452  	defer tls.Free(236)
 85453  
 85454  	var db uintptr
 85455  	var pBt uintptr
 85456  	var iDb int32 = 0
 85457  
 85458  	if argc != 2 && argc != 3 {
 85459  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 85460  			ts+25756, 0))
 85461  		return TCL_ERROR
 85462  	}
 85463  
 85464  	if 1 != tcl.XTcl_GetCommandInfo(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+72) {
 85465  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25772, *(*uintptr)(unsafe.Pointer(argv + 1*8)), ts+11945, 0))
 85466  		return TCL_ERROR
 85467  	}
 85468  	if argc == 3 {
 85469  		iDb = libc.Xatoi(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)))
 85470  	}
 85471  
 85472  	db = *(*uintptr)(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 72)).FobjClientData))
 85473  
 85474  	pBt = (*Db)(unsafe.Pointer((*sqlite31)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FpBt
 85475  	sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+136, ts+9889, libc.VaList(bp+64, pBt))
 85476  	tcl.XTcl_SetResult(tls, interp, bp+136, uintptr(1))
 85477  	return TCL_OK
 85478  }
 85479  
 85480  func btree_ismemdb(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 85481  	bp := tls.Alloc(32)
 85482  	defer tls.Free(32)
 85483  
 85484  	var pBt uintptr
 85485  	var res int32
 85486  	var pFile uintptr
 85487  
 85488  	if argc != 2 {
 85489  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 85490  			ts+24747, 0))
 85491  		return TCL_ERROR
 85492  	}
 85493  	pBt = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))
 85494  	sqlite3.Xsqlite3_mutex_enter(tls, (*sqlite31)(unsafe.Pointer((*Btree)(unsafe.Pointer(pBt)).Fdb)).Fmutex)
 85495  	sqlite3.Xsqlite3BtreeEnter(tls, pBt)
 85496  	pFile = sqlite3.Xsqlite3PagerFile(tls, sqlite3.Xsqlite3BtreePager(tls, pBt))
 85497  	res = libc.Bool32((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods == uintptr(0))
 85498  	sqlite3.Xsqlite3BtreeLeave(tls, pBt)
 85499  	sqlite3.Xsqlite3_mutex_leave(tls, (*sqlite31)(unsafe.Pointer((*Btree)(unsafe.Pointer(pBt)).Fdb)).Fmutex)
 85500  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, libc.Bool32(res != 0)))
 85501  	return SQLITE_OK
 85502  }
 85503  
 85504  func btree_set_cache_size(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 85505  	bp := tls.Alloc(36)
 85506  	defer tls.Free(36)
 85507  
 85508  	var pBt uintptr
 85509  
 85510  	if argc != 3 {
 85511  		tcl.XTcl_AppendResult(tls,
 85512  			interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)), ts+25793, 0))
 85513  		return TCL_ERROR
 85514  	}
 85515  	pBt = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))
 85516  	if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+32) != 0 {
 85517  		return TCL_ERROR
 85518  	}
 85519  
 85520  	sqlite3.Xsqlite3_mutex_enter(tls, (*sqlite31)(unsafe.Pointer((*Btree)(unsafe.Pointer(pBt)).Fdb)).Fmutex)
 85521  	sqlite3.Xsqlite3BtreeEnter(tls, pBt)
 85522  	sqlite3.Xsqlite3BtreeSetCacheSize(tls, pBt, *(*int32)(unsafe.Pointer(bp + 32)))
 85523  	sqlite3.Xsqlite3BtreeLeave(tls, pBt)
 85524  	sqlite3.Xsqlite3_mutex_leave(tls, (*sqlite31)(unsafe.Pointer((*Btree)(unsafe.Pointer(pBt)).Fdb)).Fmutex)
 85525  	return TCL_OK
 85526  }
 85527  
 85528  func btree_insert(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 85529  	bp := tls.Alloc(68)
 85530  	defer tls.Free(68)
 85531  
 85532  	var pCur uintptr
 85533  
 85534  	if objc != 4 && objc != 3 {
 85535  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+25805)
 85536  		return TCL_ERROR
 85537  	}
 85538  
 85539  	libc.Xmemset(tls, bp+16, 0, uint64(unsafe.Sizeof(BtreePayload{})))
 85540  	if objc == 4 {
 85541  		if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+64) != 0 {
 85542  			return TCL_ERROR
 85543  		}
 85544  		(*BtreePayload)(unsafe.Pointer(bp + 16)).FnKey = sqlite3_int64(*(*int32)(unsafe.Pointer(bp + 64)))
 85545  		(*BtreePayload)(unsafe.Pointer(bp + 16)).FpData = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+16+36)
 85546  	} else {
 85547  		(*BtreePayload)(unsafe.Pointer(bp + 16)).FpKey = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+64)
 85548  		(*BtreePayload)(unsafe.Pointer(bp + 16)).FnKey = sqlite3_int64(*(*int32)(unsafe.Pointer(bp + 64)))
 85549  	}
 85550  	pCur = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))))
 85551  
 85552  	sqlite3.Xsqlite3_mutex_enter(tls, (*sqlite31)(unsafe.Pointer((*Btree)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBtree)).Fdb)).Fmutex)
 85553  	sqlite3.Xsqlite3BtreeEnter(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree)
 85554  	*(*int32)(unsafe.Pointer(bp + 64)) = sqlite3.Xsqlite3BtreeInsert(tls, pCur, bp+16, 0, 0)
 85555  	sqlite3.Xsqlite3BtreeLeave(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree)
 85556  	sqlite3.Xsqlite3_mutex_leave(tls, (*sqlite31)(unsafe.Pointer((*Btree)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBtree)).Fdb)).Fmutex)
 85557  
 85558  	tcl.XTcl_ResetResult(tls, interp)
 85559  	if *(*int32)(unsafe.Pointer(bp + 64)) != 0 {
 85560  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, sqlite3.Xsqlite3ErrName(tls, *(*int32)(unsafe.Pointer(bp + 64))), 0))
 85561  		return TCL_ERROR
 85562  	}
 85563  	return TCL_OK
 85564  }
 85565  
 85566  func Sqlitetest3_Init(tls *libc.TLS, interp uintptr) int32 {
 85567  	var i int32
 85568  
 85569  	for i = 0; uint64(i) < uint64(unsafe.Sizeof(aCmd3))/uint64(unsafe.Sizeof(struct {
 85570  		FzName uintptr
 85571  		FxProc uintptr
 85572  	}{})); i++ {
 85573  		tcl.XTcl_CreateCommand(tls, interp, aCmd3[i].FzName, aCmd3[i].FxProc, uintptr(0), uintptr(0))
 85574  	}
 85575  
 85576  	tcl.XTcl_CreateObjCommand(tls, interp, ts+25829, *(*uintptr)(unsafe.Pointer(&struct {
 85577  		f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32
 85578  	}{btree_insert})), uintptr(0), uintptr(0))
 85579  
 85580  	return TCL_OK
 85581  }
 85582  
 85583  var aCmd3 = [14]struct {
 85584  	FzName uintptr
 85585  	FxProc uintptr
 85586  }{
 85587  	{FzName: ts + 25842, FxProc: 0},
 85588  	{FzName: ts + 25853, FxProc: 0},
 85589  	{FzName: ts + 25865, FxProc: 0},
 85590  	{FzName: ts + 25889, FxProc: 0},
 85591  	{FzName: ts + 25907, FxProc: 0},
 85592  	{FzName: ts + 25920, FxProc: 0},
 85593  	{FzName: ts + 25939, FxProc: 0},
 85594  	{FzName: ts + 25950, FxProc: 0},
 85595  	{FzName: ts + 25960, FxProc: 0},
 85596  	{FzName: ts + 25979, FxProc: 0},
 85597  	{FzName: ts + 25991, FxProc: 0},
 85598  	{FzName: ts + 26009, FxProc: 0},
 85599  	{FzName: ts + 26023, FxProc: 0},
 85600  	{FzName: ts + 26037, FxProc: 0},
 85601  }
 85602  
 85603  func Sqlitetest4_Init(tls *libc.TLS, interp uintptr) int32 {
 85604  	return TCL_OK
 85605  }
 85606  
 85607  func binarize(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 85608  	bp := tls.Alloc(4)
 85609  	defer tls.Free(4)
 85610  
 85611  	var bytes uintptr
 85612  	var pRet uintptr
 85613  
 85614  	bytes = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp)
 85615  	pRet = tcl.XTcl_NewByteArrayObj(tls, bytes, *(*int32)(unsafe.Pointer(bp))+1)
 85616  	tcl.XTcl_SetObjResult(tls, interp, pRet)
 85617  	return TCL_OK
 85618  }
 85619  
 85620  func test_value_overhead(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 85621  	bp := tls.Alloc(96)
 85622  	defer tls.Free(96)
 85623  
 85624  	var i int32
 85625  
 85626  	if objc != 3 {
 85627  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949,
 85628  			tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+26058, 0))
 85629  		return TCL_ERROR
 85630  	}
 85631  
 85632  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+32) != 0 {
 85633  		return TCL_ERROR
 85634  	}
 85635  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+36) != 0 {
 85636  		return TCL_ERROR
 85637  	}
 85638  
 85639  	(*Mem)(unsafe.Pointer(bp + 40)).Fflags = u16(MEM_Str | MEM_Term | MEM_Static)
 85640  	(*Mem)(unsafe.Pointer(bp + 40)).Fz = ts + 26085
 85641  	(*Mem)(unsafe.Pointer(bp + 40)).Fenc = u8(SQLITE_UTF8)
 85642  
 85643  	for i = 0; i < *(*int32)(unsafe.Pointer(bp + 32)); i++ {
 85644  		if *(*int32)(unsafe.Pointer(bp + 36)) != 0 {
 85645  			sqlite3.Xsqlite3_value_text(tls, bp+40)
 85646  		}
 85647  	}
 85648  
 85649  	return TCL_OK
 85650  }
 85651  
 85652  func name_to_enc(tls *libc.TLS, interp uintptr, pObj uintptr) u8 {
 85653  	bp := tls.Alloc(104)
 85654  	defer tls.Free(104)
 85655  
 85656  	*(*[5]EncName)(unsafe.Pointer(bp + 24)) = [5]EncName{
 85657  		{FzName: ts + 26097, Fenc: u8(SQLITE_UTF8)},
 85658  		{FzName: ts + 26102, Fenc: u8(SQLITE_UTF16LE)},
 85659  		{FzName: ts + 26110, Fenc: u8(SQLITE_UTF16BE)},
 85660  		{FzName: ts + 26118, Fenc: u8(SQLITE_UTF16)},
 85661  		{},
 85662  	}
 85663  	var pEnc uintptr
 85664  	var z uintptr = tcl.XTcl_GetString(tls, pObj)
 85665  	for pEnc = bp + 24; (*EncName)(unsafe.Pointer(pEnc)).FzName != 0; pEnc += 16 {
 85666  		if 0 == sqlite3.Xsqlite3StrICmp(tls, z, (*EncName)(unsafe.Pointer(pEnc)).FzName) {
 85667  			break
 85668  		}
 85669  	}
 85670  	if !(int32((*EncName)(unsafe.Pointer(pEnc)).Fenc) != 0) {
 85671  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+26124, z, 0))
 85672  	}
 85673  	if int32((*EncName)(unsafe.Pointer(pEnc)).Fenc) == SQLITE_UTF16 {
 85674  		return u8(SQLITE_UTF16LE)
 85675  	}
 85676  	return (*EncName)(unsafe.Pointer(pEnc)).Fenc
 85677  }
 85678  
 85679  type EncName = struct {
 85680  	FzName       uintptr
 85681  	Fenc         u8
 85682  	F__ccgo_pad1 [7]byte
 85683  }
 85684  
 85685  func test_translate(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 85686  	bp := tls.Alloc(44)
 85687  	defer tls.Free(44)
 85688  
 85689  	var enc_from u8
 85690  	var enc_to u8
 85691  	var pVal uintptr
 85692  	var z uintptr
 85693  
 85694  	var xDel uintptr = uintptr(0)
 85695  
 85696  	if objc != 4 && objc != 5 {
 85697  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949,
 85698  			tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)),
 85699  			ts+26143, 0))
 85700  		return TCL_ERROR
 85701  	}
 85702  	if objc == 5 {
 85703  		xDel = *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sqlite3.Xsqlite3_free}))
 85704  	}
 85705  
 85706  	enc_from = name_to_enc(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
 85707  	if !(enc_from != 0) {
 85708  		return TCL_ERROR
 85709  	}
 85710  	enc_to = name_to_enc(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)))
 85711  	if !(enc_to != 0) {
 85712  		return TCL_ERROR
 85713  	}
 85714  
 85715  	pVal = sqlite3.Xsqlite3ValueNew(tls, uintptr(0))
 85716  
 85717  	if int32(enc_from) == SQLITE_UTF8 {
 85718  		z = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))
 85719  		if objc == 5 {
 85720  			z = sqlite3.Xsqlite3_mprintf(tls, ts, libc.VaList(bp+32, z))
 85721  		}
 85722  		sqlite3.Xsqlite3ValueSetStr(tls, pVal, -1, z, enc_from, xDel)
 85723  	} else {
 85724  		z = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+40)
 85725  		if objc == 5 {
 85726  			var zTmp uintptr = z
 85727  			z = sqlite3.Xsqlite3_malloc(tls, *(*int32)(unsafe.Pointer(bp + 40)))
 85728  			libc.Xmemcpy(tls, z, zTmp, uint64(*(*int32)(unsafe.Pointer(bp + 40))))
 85729  		}
 85730  		sqlite3.Xsqlite3ValueSetStr(tls, pVal, -1, z, enc_from, xDel)
 85731  	}
 85732  
 85733  	z = sqlite3.Xsqlite3ValueText(tls, pVal, enc_to)
 85734  	*(*int32)(unsafe.Pointer(bp + 40)) = sqlite3.Xsqlite3ValueBytes(tls, pVal, enc_to) + func() int32 {
 85735  		if int32(enc_to) == SQLITE_UTF8 {
 85736  			return 1
 85737  		}
 85738  		return 2
 85739  	}()
 85740  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, z, *(*int32)(unsafe.Pointer(bp + 40))))
 85741  
 85742  	sqlite3.Xsqlite3ValueFree(tls, pVal)
 85743  
 85744  	return TCL_OK
 85745  }
 85746  
 85747  func test_translate_selftest(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 85748  	sqlite3.Xsqlite3UtfSelfTest(tls)
 85749  	return SQLITE_OK
 85750  }
 85751  
 85752  func Sqlitetest5_Init(tls *libc.TLS, interp uintptr) int32 {
 85753  	var i int32
 85754  	for i = 0; uint64(i) < uint64(unsafe.Sizeof(aCmd4))/uint64(unsafe.Sizeof(struct {
 85755  		FzName uintptr
 85756  		FxProc uintptr
 85757  	}{})); i++ {
 85758  		tcl.XTcl_CreateObjCommand(tls, interp, aCmd4[i].FzName, aCmd4[i].FxProc, uintptr(0), uintptr(0))
 85759  	}
 85760  	return SQLITE_OK
 85761  }
 85762  
 85763  var aCmd4 = [4]struct {
 85764  	FzName uintptr
 85765  	FxProc uintptr
 85766  }{
 85767  	{FzName: ts + 26178, FxProc: 0},
 85768  	{FzName: ts + 26187, FxProc: 0},
 85769  	{FzName: ts + 26207, FxProc: 0},
 85770  	{FzName: ts + 26222, FxProc: 0},
 85771  }
 85772  
 85773  type CrashFile1 = struct {
 85774  	FpMethod     uintptr
 85775  	FpRealFile   uintptr
 85776  	FzName       uintptr
 85777  	Fflags       int32
 85778  	F__ccgo_pad1 [4]byte
 85779  	FzData       uintptr
 85780  	FnData       int32
 85781  	F__ccgo_pad2 [4]byte
 85782  	FiSize       i64
 85783  }
 85784  
 85785  type CrashFile = CrashFile1
 85786  type CrashGlobal1 = struct {
 85787  	FpWriteList             uintptr
 85788  	FpWriteListEnd          uintptr
 85789  	FiSectorSize            int32
 85790  	FiDeviceCharacteristics int32
 85791  	FiCrash                 int32
 85792  	FzCrashFile             [500]int8
 85793  }
 85794  
 85795  type CrashGlobal = CrashGlobal1
 85796  type WriteBuffer1 = struct {
 85797  	FiOffset     i64
 85798  	FnBuf        int32
 85799  	F__ccgo_pad1 [4]byte
 85800  	FzBuf        uintptr
 85801  	FpFile       uintptr
 85802  	FpNext       uintptr
 85803  }
 85804  
 85805  type WriteBuffer = WriteBuffer1
 85806  
 85807  var g = CrashGlobal{FiSectorSize: SQLITE_DEFAULT_SECTOR_SIZE}
 85808  
 85809  var sqlite3CrashTestEnable int32 = 0
 85810  
 85811  func crash_malloc(tls *libc.TLS, nByte int32) uintptr {
 85812  	return tcl.XTcl_AttemptAlloc(tls, uint32(size_t(nByte)))
 85813  }
 85814  
 85815  func crash_free(tls *libc.TLS, p uintptr) {
 85816  	tcl.XTcl_Free(tls, p)
 85817  }
 85818  
 85819  func crash_realloc(tls *libc.TLS, p uintptr, n int32) uintptr {
 85820  	return tcl.XTcl_AttemptRealloc(tls, p, uint32(size_t(n)))
 85821  }
 85822  
 85823  func writeDbFile(tls *libc.TLS, p uintptr, z uintptr, iAmt i64, iOff i64) int32 {
 85824  	var rc int32 = SQLITE_OK
 85825  	var iSkip int32 = 0
 85826  	if iAmt-i64(iSkip) > int64(0) {
 85827  		rc = sqlite3.Xsqlite3OsWrite(tls, (*CrashFile)(unsafe.Pointer(p)).FpRealFile, z+uintptr(iSkip), int32(iAmt-i64(iSkip)), iOff+i64(iSkip))
 85828  	}
 85829  	return rc
 85830  }
 85831  
 85832  func writeListSync(tls *libc.TLS, pFile uintptr, isCrash int32) int32 {
 85833  	bp := tls.Alloc(16)
 85834  	defer tls.Free(16)
 85835  
 85836  	var rc int32 = SQLITE_OK
 85837  	var iDc int32 = g.FiDeviceCharacteristics
 85838  	var pWrite uintptr
 85839  	var ppPtr uintptr
 85840  
 85841  	var pFinal uintptr = uintptr(0)
 85842  	if !(isCrash != 0) {
 85843  		for pWrite = g.FpWriteList; pWrite != 0; pWrite = (*WriteBuffer)(unsafe.Pointer(pWrite)).FpNext {
 85844  			if (*WriteBuffer)(unsafe.Pointer(pWrite)).FpFile == pFile {
 85845  				pFinal = pWrite
 85846  			}
 85847  		}
 85848  	} else if iDc&(SQLITE_IOCAP_SEQUENTIAL|SQLITE_IOCAP_SAFE_APPEND) != 0 {
 85849  		var nWrite int32 = 0
 85850  
 85851  		for pWrite = g.FpWriteList; pWrite != 0; pWrite = (*WriteBuffer)(unsafe.Pointer(pWrite)).FpNext {
 85852  			nWrite++
 85853  		}
 85854  		sqlite3.Xsqlite3_randomness(tls, int32(unsafe.Sizeof(int32(0))), bp)
 85855  		*(*int32)(unsafe.Pointer(bp)) = func() int32 {
 85856  			if *(*int32)(unsafe.Pointer(bp)) < 0 {
 85857  				return -1 * *(*int32)(unsafe.Pointer(bp))
 85858  			}
 85859  			return *(*int32)(unsafe.Pointer(bp))
 85860  		}() % nWrite
 85861  		for pWrite = g.FpWriteList; *(*int32)(unsafe.Pointer(bp)) > 0; pWrite = (*WriteBuffer)(unsafe.Pointer(pWrite)).FpNext {
 85862  			*(*int32)(unsafe.Pointer(bp))--
 85863  		}
 85864  		pFinal = pWrite
 85865  	}
 85866  
 85867  	ppPtr = uintptr(unsafe.Pointer(&g))
 85868  	for pWrite = *(*uintptr)(unsafe.Pointer(ppPtr)); rc == SQLITE_OK && pWrite != 0; pWrite = *(*uintptr)(unsafe.Pointer(ppPtr)) {
 85869  		var pRealFile uintptr = (*CrashFile)(unsafe.Pointer((*WriteBuffer)(unsafe.Pointer(pWrite)).FpFile)).FpRealFile
 85870  
 85871  		var eAction int32 = 0
 85872  		if !(isCrash != 0) {
 85873  			eAction = 2
 85874  			if (*WriteBuffer)(unsafe.Pointer(pWrite)).FpFile == pFile || iDc&SQLITE_IOCAP_SEQUENTIAL != 0 {
 85875  				eAction = 1
 85876  			}
 85877  		} else {
 85878  			sqlite3.Xsqlite3_randomness(tls, 1, bp+4)
 85879  
 85880  			if iDc&SQLITE_IOCAP_ATOMIC != 0 || (*WriteBuffer)(unsafe.Pointer(pWrite)).FzBuf == uintptr(0) {
 85881  				*(*int8)(unsafe.Pointer(bp + 4)) &= int8(0x01)
 85882  			}
 85883  
 85884  			if iDc&SQLITE_IOCAP_SEQUENTIAL != 0 && pWrite != pFinal {
 85885  				*(*int8)(unsafe.Pointer(bp + 4)) = int8(0)
 85886  			}
 85887  
 85888  			if iDc&SQLITE_IOCAP_SAFE_APPEND != 0 && (*WriteBuffer)(unsafe.Pointer(pWrite)).FzBuf != 0 {
 85889  				sqlite3.Xsqlite3OsFileSize(tls, pRealFile, bp+8)
 85890  				if *(*i64)(unsafe.Pointer(bp + 8)) == (*WriteBuffer)(unsafe.Pointer(pWrite)).FiOffset {
 85891  					*(*int8)(unsafe.Pointer(bp + 4)) = int8(0)
 85892  				}
 85893  			}
 85894  
 85895  			if int32(*(*int8)(unsafe.Pointer(bp + 4)))&0x06 == 0x06 {
 85896  				eAction = 3
 85897  			} else {
 85898  				eAction = func() int32 {
 85899  					if int32(*(*int8)(unsafe.Pointer(bp + 4)))&0x01 != 0 {
 85900  						return 2
 85901  					}
 85902  					return 1
 85903  				}()
 85904  			}
 85905  		}
 85906  
 85907  		switch eAction {
 85908  		case 1:
 85909  			{
 85910  				if (*WriteBuffer)(unsafe.Pointer(pWrite)).FzBuf != 0 {
 85911  					rc = writeDbFile(tls,
 85912  						(*WriteBuffer)(unsafe.Pointer(pWrite)).FpFile, (*WriteBuffer)(unsafe.Pointer(pWrite)).FzBuf, int64((*WriteBuffer)(unsafe.Pointer(pWrite)).FnBuf), (*WriteBuffer)(unsafe.Pointer(pWrite)).FiOffset)
 85913  				} else {
 85914  					rc = sqlite3.Xsqlite3OsTruncate(tls, pRealFile, (*WriteBuffer)(unsafe.Pointer(pWrite)).FiOffset)
 85915  				}
 85916  				*(*uintptr)(unsafe.Pointer(ppPtr)) = (*WriteBuffer)(unsafe.Pointer(pWrite)).FpNext
 85917  				crash_free(tls, pWrite)
 85918  				break
 85919  
 85920  			}
 85921  		case 2:
 85922  			{
 85923  				ppPtr = pWrite + 32
 85924  				break
 85925  
 85926  			}
 85927  		case 3:
 85928  			{
 85929  				var zGarbage uintptr
 85930  				var iFirst int32 = int32((*WriteBuffer)(unsafe.Pointer(pWrite)).FiOffset / i64(g.FiSectorSize))
 85931  				var iLast int32 = int32(((*WriteBuffer)(unsafe.Pointer(pWrite)).FiOffset + i64((*WriteBuffer)(unsafe.Pointer(pWrite)).FnBuf) - int64(1)) / i64(g.FiSectorSize))
 85932  
 85933  				zGarbage = crash_malloc(tls, g.FiSectorSize)
 85934  				if zGarbage != 0 {
 85935  					var i sqlite3_int64
 85936  					for i = sqlite3_int64(iFirst); rc == SQLITE_OK && i <= sqlite3_int64(iLast); i++ {
 85937  						sqlite3.Xsqlite3_randomness(tls, g.FiSectorSize, zGarbage)
 85938  						rc = writeDbFile(tls,
 85939  							(*WriteBuffer)(unsafe.Pointer(pWrite)).FpFile, zGarbage, int64(g.FiSectorSize), i*sqlite3_int64(g.FiSectorSize))
 85940  					}
 85941  					crash_free(tls, zGarbage)
 85942  				} else {
 85943  					rc = SQLITE_NOMEM
 85944  				}
 85945  
 85946  				ppPtr = pWrite + 32
 85947  				break
 85948  
 85949  			}
 85950  
 85951  		default:
 85952  		}
 85953  
 85954  		if pWrite == pFinal {
 85955  			break
 85956  		}
 85957  	}
 85958  
 85959  	if rc == SQLITE_OK && isCrash != 0 {
 85960  		libc.Xexit(tls, -1)
 85961  	}
 85962  
 85963  	for pWrite = g.FpWriteList; pWrite != 0 && (*WriteBuffer)(unsafe.Pointer(pWrite)).FpNext != 0; pWrite = (*WriteBuffer)(unsafe.Pointer(pWrite)).FpNext {
 85964  	}
 85965  	g.FpWriteListEnd = pWrite
 85966  
 85967  	return rc
 85968  }
 85969  
 85970  func writeListAppend(tls *libc.TLS, pFile uintptr, iOffset sqlite3_int64, zBuf uintptr, nBuf int32) int32 {
 85971  	var pNew uintptr
 85972  
 85973  	pNew = crash_malloc(tls, int32(uint64(unsafe.Sizeof(WriteBuffer{}))+uint64(nBuf)))
 85974  	if pNew == uintptr(0) {
 85975  		fprintf(tls, libc.X__acrt_iob_func(tls, uint32(2)), ts+26241, 0)
 85976  	}
 85977  	libc.Xmemset(tls, pNew, 0, uint64(unsafe.Sizeof(WriteBuffer{}))+uint64(nBuf))
 85978  	(*WriteBuffer)(unsafe.Pointer(pNew)).FiOffset = iOffset
 85979  	(*WriteBuffer)(unsafe.Pointer(pNew)).FnBuf = nBuf
 85980  	(*WriteBuffer)(unsafe.Pointer(pNew)).FpFile = pFile
 85981  	if zBuf != 0 {
 85982  		(*WriteBuffer)(unsafe.Pointer(pNew)).FzBuf = pNew + 1*40
 85983  		libc.Xmemcpy(tls, (*WriteBuffer)(unsafe.Pointer(pNew)).FzBuf, zBuf, uint64(nBuf))
 85984  	}
 85985  
 85986  	if g.FpWriteList != 0 {
 85987  		(*WriteBuffer)(unsafe.Pointer(g.FpWriteListEnd)).FpNext = pNew
 85988  	} else {
 85989  		g.FpWriteList = pNew
 85990  	}
 85991  	g.FpWriteListEnd = pNew
 85992  
 85993  	return SQLITE_OK
 85994  }
 85995  
 85996  func cfClose(tls *libc.TLS, pFile uintptr) int32 {
 85997  	var pCrash uintptr = pFile
 85998  	writeListSync(tls, pCrash, 0)
 85999  	sqlite3.Xsqlite3OsClose(tls, (*CrashFile)(unsafe.Pointer(pCrash)).FpRealFile)
 86000  	return SQLITE_OK
 86001  }
 86002  
 86003  func cfRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst sqlite_int64) int32 {
 86004  	var pCrash uintptr = pFile
 86005  	var nCopy int32 = func() int32 {
 86006  		if i64(iAmt) < (*CrashFile)(unsafe.Pointer(pCrash)).FiSize-iOfst {
 86007  			return int32(i64(iAmt))
 86008  		}
 86009  		return int32((*CrashFile)(unsafe.Pointer(pCrash)).FiSize - iOfst)
 86010  	}()
 86011  
 86012  	if nCopy > 0 {
 86013  		libc.Xmemcpy(tls, zBuf, (*CrashFile)(unsafe.Pointer(pCrash)).FzData+uintptr(iOfst), uint64(nCopy))
 86014  	}
 86015  
 86016  	if nCopy < iAmt {
 86017  		return SQLITE_IOERR | int32(2)<<8
 86018  	}
 86019  
 86020  	return SQLITE_OK
 86021  }
 86022  
 86023  func cfWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst sqlite_int64) int32 {
 86024  	var pCrash uintptr = pFile
 86025  	if sqlite_int64(iAmt)+iOfst > (*CrashFile)(unsafe.Pointer(pCrash)).FiSize {
 86026  		(*CrashFile)(unsafe.Pointer(pCrash)).FiSize = i64(int32(sqlite_int64(iAmt) + iOfst))
 86027  	}
 86028  	for (*CrashFile)(unsafe.Pointer(pCrash)).FiSize > i64((*CrashFile)(unsafe.Pointer(pCrash)).FnData) {
 86029  		var zNew uintptr
 86030  		var nNew int32 = (*CrashFile)(unsafe.Pointer(pCrash)).FnData*2 + 4096
 86031  		zNew = crash_realloc(tls, (*CrashFile)(unsafe.Pointer(pCrash)).FzData, nNew)
 86032  		if !(zNew != 0) {
 86033  			return SQLITE_NOMEM
 86034  		}
 86035  		libc.Xmemset(tls, zNew+uintptr((*CrashFile)(unsafe.Pointer(pCrash)).FnData), 0, uint64(nNew-(*CrashFile)(unsafe.Pointer(pCrash)).FnData))
 86036  		(*CrashFile)(unsafe.Pointer(pCrash)).FnData = nNew
 86037  		(*CrashFile)(unsafe.Pointer(pCrash)).FzData = zNew
 86038  	}
 86039  	libc.Xmemcpy(tls, (*CrashFile)(unsafe.Pointer(pCrash)).FzData+uintptr(iOfst), zBuf, uint64(iAmt))
 86040  	return writeListAppend(tls, pFile, iOfst, zBuf, iAmt)
 86041  }
 86042  
 86043  func cfTruncate(tls *libc.TLS, pFile uintptr, size sqlite_int64) int32 {
 86044  	var pCrash uintptr = pFile
 86045  
 86046  	if (*CrashFile)(unsafe.Pointer(pCrash)).FiSize > size {
 86047  		(*CrashFile)(unsafe.Pointer(pCrash)).FiSize = i64(int32(size))
 86048  	}
 86049  	return writeListAppend(tls, pFile, size, uintptr(0), 0)
 86050  }
 86051  
 86052  func cfSync(tls *libc.TLS, pFile uintptr, flags int32) int32 {
 86053  	var pCrash uintptr = pFile
 86054  	var isCrash int32 = 0
 86055  
 86056  	var zName uintptr = (*CrashFile)(unsafe.Pointer(pCrash)).FzName
 86057  	var zCrashFile uintptr = uintptr(unsafe.Pointer(&g)) + 28
 86058  	var nName int32 = int32(libc.Xstrlen(tls, zName))
 86059  	var nCrashFile int32 = int32(libc.Xstrlen(tls, zCrashFile))
 86060  
 86061  	if nCrashFile > 0 && int32(*(*int8)(unsafe.Pointer(zCrashFile + uintptr(nCrashFile-1)))) == '*' {
 86062  		nCrashFile--
 86063  		if nName > nCrashFile {
 86064  			nName = nCrashFile
 86065  		}
 86066  	}
 86067  
 86068  	if nName == nCrashFile && 0 == libc.Xmemcmp(tls, zName, zCrashFile, uint64(nName)) {
 86069  		if libc.PreDecInt32(&g.FiCrash, 1) == 0 {
 86070  			isCrash = 1
 86071  		}
 86072  	}
 86073  
 86074  	return writeListSync(tls, pCrash, isCrash)
 86075  }
 86076  
 86077  func cfFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 {
 86078  	var pCrash uintptr = pFile
 86079  	*(*sqlite_int64)(unsafe.Pointer(pSize)) = (*CrashFile)(unsafe.Pointer(pCrash)).FiSize
 86080  	return SQLITE_OK
 86081  }
 86082  
 86083  func cfLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 {
 86084  	return sqlite3.Xsqlite3OsLock(tls, (*CrashFile)(unsafe.Pointer(pFile)).FpRealFile, eLock)
 86085  }
 86086  
 86087  func cfUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 {
 86088  	return sqlite3.Xsqlite3OsUnlock(tls, (*CrashFile)(unsafe.Pointer(pFile)).FpRealFile, eLock)
 86089  }
 86090  
 86091  func cfCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int32 {
 86092  	return sqlite3.Xsqlite3OsCheckReservedLock(tls, (*CrashFile)(unsafe.Pointer(pFile)).FpRealFile, pResOut)
 86093  }
 86094  
 86095  func cfFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 {
 86096  	if op == SQLITE_FCNTL_SIZE_HINT {
 86097  		var pCrash uintptr = pFile
 86098  		var nByte i64 = *(*i64)(unsafe.Pointer(pArg))
 86099  		if nByte > (*CrashFile)(unsafe.Pointer(pCrash)).FiSize {
 86100  			if SQLITE_OK == writeListAppend(tls, pFile, nByte, uintptr(0), 0) {
 86101  				(*CrashFile)(unsafe.Pointer(pCrash)).FiSize = i64(int32(nByte))
 86102  			}
 86103  		}
 86104  		return SQLITE_OK
 86105  	}
 86106  	return sqlite3.Xsqlite3OsFileControl(tls, (*CrashFile)(unsafe.Pointer(pFile)).FpRealFile, op, pArg)
 86107  }
 86108  
 86109  func cfSectorSize(tls *libc.TLS, pFile uintptr) int32 {
 86110  	return g.FiSectorSize
 86111  }
 86112  
 86113  func cfDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 {
 86114  	return g.FiDeviceCharacteristics
 86115  }
 86116  
 86117  func cfShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int32) int32 {
 86118  	var pReal uintptr = (*CrashFile)(unsafe.Pointer(pFile)).FpRealFile
 86119  	return (*struct {
 86120  		f func(*libc.TLS, uintptr, int32, int32, int32) int32
 86121  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pReal)).FpMethods)).FxShmLock})).f(tls, pReal, ofst, n, flags)
 86122  }
 86123  
 86124  func cfShmBarrier(tls *libc.TLS, pFile uintptr) {
 86125  	var pReal uintptr = (*CrashFile)(unsafe.Pointer(pFile)).FpRealFile
 86126  	(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pReal)).FpMethods)).FxShmBarrier})).f(tls, pReal)
 86127  }
 86128  
 86129  func cfShmUnmap(tls *libc.TLS, pFile uintptr, delFlag int32) int32 {
 86130  	var pReal uintptr = (*CrashFile)(unsafe.Pointer(pFile)).FpRealFile
 86131  	return (*struct {
 86132  		f func(*libc.TLS, uintptr, int32) int32
 86133  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pReal)).FpMethods)).FxShmUnmap})).f(tls, pReal, delFlag)
 86134  }
 86135  
 86136  func cfShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, sz int32, w int32, pp uintptr) int32 {
 86137  	var pReal uintptr = (*CrashFile)(unsafe.Pointer(pFile)).FpRealFile
 86138  	return (*struct {
 86139  		f func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32
 86140  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pReal)).FpMethods)).FxShmMap})).f(tls, pReal, iRegion, sz, w, pp)
 86141  }
 86142  
 86143  var CrashFileVtab = sqlite3_io_methods{
 86144  	FiVersion:               2,
 86145  	FxClose:                 0,
 86146  	FxRead:                  0,
 86147  	FxWrite:                 0,
 86148  	FxTruncate:              0,
 86149  	FxSync:                  0,
 86150  	FxFileSize:              0,
 86151  	FxLock:                  0,
 86152  	FxUnlock:                0,
 86153  	FxCheckReservedLock:     0,
 86154  	FxFileControl:           0,
 86155  	FxSectorSize:            0,
 86156  	FxDeviceCharacteristics: 0,
 86157  	FxShmMap:                0,
 86158  	FxShmLock:               0,
 86159  	FxShmBarrier:            0,
 86160  	FxShmUnmap:              0,
 86161  }
 86162  
 86163  type crashAppData = struct{ FpOrig uintptr }
 86164  
 86165  func cfOpen(tls *libc.TLS, pCfVfs uintptr, zName uintptr, pFile uintptr, flags int32, pOutFlags uintptr) int32 {
 86166  	bp := tls.Alloc(8)
 86167  	defer tls.Free(8)
 86168  
 86169  	var pVfs uintptr = (*sqlite3_vfs)(unsafe.Pointer(pCfVfs)).FpAppData
 86170  	var rc int32
 86171  	var pWrapper uintptr = pFile
 86172  	var pReal uintptr = pWrapper + 1*56
 86173  
 86174  	libc.Xmemset(tls, pWrapper, 0, uint64(unsafe.Sizeof(CrashFile{})))
 86175  	rc = sqlite3.Xsqlite3OsOpen(tls, pVfs, zName, pReal, flags, pOutFlags)
 86176  
 86177  	if rc == SQLITE_OK {
 86178  		(*CrashFile)(unsafe.Pointer(pWrapper)).FpMethod = uintptr(unsafe.Pointer(&CrashFileVtab))
 86179  		(*CrashFile)(unsafe.Pointer(pWrapper)).FzName = zName
 86180  		(*CrashFile)(unsafe.Pointer(pWrapper)).FpRealFile = pReal
 86181  		rc = sqlite3.Xsqlite3OsFileSize(tls, pReal, bp)
 86182  		(*CrashFile)(unsafe.Pointer(pWrapper)).FiSize = i64(int32(*(*i64)(unsafe.Pointer(bp))))
 86183  		(*CrashFile)(unsafe.Pointer(pWrapper)).Fflags = flags
 86184  	}
 86185  	if rc == SQLITE_OK {
 86186  		(*CrashFile)(unsafe.Pointer(pWrapper)).FnData = int32(int64(4096) + (*CrashFile)(unsafe.Pointer(pWrapper)).FiSize)
 86187  		(*CrashFile)(unsafe.Pointer(pWrapper)).FzData = crash_malloc(tls, (*CrashFile)(unsafe.Pointer(pWrapper)).FnData)
 86188  		if (*CrashFile)(unsafe.Pointer(pWrapper)).FzData != 0 {
 86189  			var iOff i64
 86190  
 86191  			libc.Xmemset(tls, (*CrashFile)(unsafe.Pointer(pWrapper)).FzData, 0, uint64((*CrashFile)(unsafe.Pointer(pWrapper)).FnData))
 86192  			for iOff = int64(0); iOff < (*CrashFile)(unsafe.Pointer(pWrapper)).FiSize; iOff = iOff + int64(512) {
 86193  				var nRead int32 = int32((*CrashFile)(unsafe.Pointer(pWrapper)).FiSize - iOff)
 86194  				if nRead > 512 {
 86195  					nRead = 512
 86196  				}
 86197  				rc = sqlite3.Xsqlite3OsRead(tls, pReal, (*CrashFile)(unsafe.Pointer(pWrapper)).FzData+uintptr(iOff), nRead, iOff)
 86198  			}
 86199  		} else {
 86200  			rc = SQLITE_NOMEM
 86201  		}
 86202  	}
 86203  	if rc != SQLITE_OK && (*CrashFile)(unsafe.Pointer(pWrapper)).FpMethod != 0 {
 86204  		sqlite3.Xsqlite3OsClose(tls, pFile)
 86205  	}
 86206  	return rc
 86207  }
 86208  
 86209  func cfDelete(tls *libc.TLS, pCfVfs uintptr, zPath uintptr, dirSync int32) int32 {
 86210  	var pVfs uintptr = (*sqlite3_vfs)(unsafe.Pointer(pCfVfs)).FpAppData
 86211  	return (*struct {
 86212  		f func(*libc.TLS, uintptr, uintptr, int32) int32
 86213  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxDelete})).f(tls, pVfs, zPath, dirSync)
 86214  }
 86215  
 86216  func cfAccess(tls *libc.TLS, pCfVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 {
 86217  	var pVfs uintptr = (*sqlite3_vfs)(unsafe.Pointer(pCfVfs)).FpAppData
 86218  	return (*struct {
 86219  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 86220  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxAccess})).f(tls, pVfs, zPath, flags, pResOut)
 86221  }
 86222  
 86223  func cfFullPathname(tls *libc.TLS, pCfVfs uintptr, zPath uintptr, nPathOut int32, zPathOut uintptr) int32 {
 86224  	var pVfs uintptr = (*sqlite3_vfs)(unsafe.Pointer(pCfVfs)).FpAppData
 86225  	return (*struct {
 86226  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 86227  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxFullPathname})).f(tls, pVfs, zPath, nPathOut, zPathOut)
 86228  }
 86229  
 86230  func cfDlOpen(tls *libc.TLS, pCfVfs uintptr, zPath uintptr) uintptr {
 86231  	var pVfs uintptr = (*sqlite3_vfs)(unsafe.Pointer(pCfVfs)).FpAppData
 86232  	return (*struct {
 86233  		f func(*libc.TLS, uintptr, uintptr) uintptr
 86234  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxDlOpen})).f(tls, pVfs, zPath)
 86235  }
 86236  
 86237  func cfDlError(tls *libc.TLS, pCfVfs uintptr, nByte int32, zErrMsg uintptr) {
 86238  	var pVfs uintptr = (*sqlite3_vfs)(unsafe.Pointer(pCfVfs)).FpAppData
 86239  	(*struct {
 86240  		f func(*libc.TLS, uintptr, int32, uintptr)
 86241  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxDlError})).f(tls, pVfs, nByte, zErrMsg)
 86242  }
 86243  
 86244  func cfDlSym(tls *libc.TLS, pCfVfs uintptr, pH uintptr, zSym uintptr) uintptr {
 86245  	var pVfs uintptr = (*sqlite3_vfs)(unsafe.Pointer(pCfVfs)).FpAppData
 86246  	return (*struct {
 86247  		f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr
 86248  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxDlSym})).f(tls, pVfs, pH, zSym)
 86249  }
 86250  
 86251  func cfDlClose(tls *libc.TLS, pCfVfs uintptr, pHandle uintptr) {
 86252  	var pVfs uintptr = (*sqlite3_vfs)(unsafe.Pointer(pCfVfs)).FpAppData
 86253  	(*struct {
 86254  		f func(*libc.TLS, uintptr, uintptr)
 86255  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxDlClose})).f(tls, pVfs, pHandle)
 86256  }
 86257  
 86258  func cfRandomness(tls *libc.TLS, pCfVfs uintptr, nByte int32, zBufOut uintptr) int32 {
 86259  	var pVfs uintptr = (*sqlite3_vfs)(unsafe.Pointer(pCfVfs)).FpAppData
 86260  	return (*struct {
 86261  		f func(*libc.TLS, uintptr, int32, uintptr) int32
 86262  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxRandomness})).f(tls, pVfs, nByte, zBufOut)
 86263  }
 86264  
 86265  func cfSleep(tls *libc.TLS, pCfVfs uintptr, nMicro int32) int32 {
 86266  	var pVfs uintptr = (*sqlite3_vfs)(unsafe.Pointer(pCfVfs)).FpAppData
 86267  	return (*struct {
 86268  		f func(*libc.TLS, uintptr, int32) int32
 86269  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxSleep})).f(tls, pVfs, nMicro)
 86270  }
 86271  
 86272  func cfCurrentTime(tls *libc.TLS, pCfVfs uintptr, pTimeOut uintptr) int32 {
 86273  	var pVfs uintptr = (*sqlite3_vfs)(unsafe.Pointer(pCfVfs)).FpAppData
 86274  	return (*struct {
 86275  		f func(*libc.TLS, uintptr, uintptr) int32
 86276  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxCurrentTime})).f(tls, pVfs, pTimeOut)
 86277  }
 86278  
 86279  func cfGetLastError(tls *libc.TLS, pCfVfs uintptr, n int32, z uintptr) int32 {
 86280  	var pVfs uintptr = (*sqlite3_vfs)(unsafe.Pointer(pCfVfs)).FpAppData
 86281  	return (*struct {
 86282  		f func(*libc.TLS, uintptr, int32, uintptr) int32
 86283  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxGetLastError})).f(tls, pVfs, n, z)
 86284  }
 86285  
 86286  func processDevSymArgs(tls *libc.TLS, interp uintptr, objc int32, objv uintptr, piDeviceChar uintptr, piSectorSize uintptr) int32 {
 86287  	bp := tls.Alloc(316)
 86288  	defer tls.Free(316)
 86289  
 86290  	*(*[14]DeviceFlag)(unsafe.Pointer(bp + 88)) = [14]DeviceFlag{
 86291  		{FzName: ts + 26279, FiValue: SQLITE_IOCAP_ATOMIC},
 86292  		{FzName: ts + 26286, FiValue: SQLITE_IOCAP_ATOMIC512},
 86293  		{FzName: ts + 26296, FiValue: SQLITE_IOCAP_ATOMIC1K},
 86294  		{FzName: ts + 26305, FiValue: SQLITE_IOCAP_ATOMIC2K},
 86295  		{FzName: ts + 26314, FiValue: SQLITE_IOCAP_ATOMIC4K},
 86296  		{FzName: ts + 26323, FiValue: SQLITE_IOCAP_ATOMIC8K},
 86297  		{FzName: ts + 26332, FiValue: SQLITE_IOCAP_ATOMIC16K},
 86298  		{FzName: ts + 26342, FiValue: SQLITE_IOCAP_ATOMIC32K},
 86299  		{FzName: ts + 26352, FiValue: SQLITE_IOCAP_ATOMIC64K},
 86300  		{FzName: ts + 26362, FiValue: SQLITE_IOCAP_SEQUENTIAL},
 86301  		{FzName: ts + 26373, FiValue: SQLITE_IOCAP_SAFE_APPEND},
 86302  		{FzName: ts + 26385, FiValue: SQLITE_IOCAP_POWERSAFE_OVERWRITE},
 86303  		{FzName: ts + 26405, FiValue: SQLITE_IOCAP_BATCH_ATOMIC},
 86304  		{},
 86305  	}
 86306  	var i int32
 86307  	var iDc int32 = 0
 86308  	*(*int32)(unsafe.Pointer(bp + 68)) = 0
 86309  	var setSectorsize int32 = 0
 86310  	var setDeviceChar int32 = 0
 86311  
 86312  	for i = 0; i < objc; i = i + 2 {
 86313  		var zOpt uintptr = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+64)
 86314  
 86315  		if (*(*int32)(unsafe.Pointer(bp + 64)) > 11 || *(*int32)(unsafe.Pointer(bp + 64)) < 2 || libc.Xstrncmp(tls, ts+26418, zOpt, uint64(*(*int32)(unsafe.Pointer(bp + 64)))) != 0) &&
 86316  			(*(*int32)(unsafe.Pointer(bp + 64)) > 16 || *(*int32)(unsafe.Pointer(bp + 64)) < 2 || libc.Xstrncmp(tls, ts+26430, zOpt, uint64(*(*int32)(unsafe.Pointer(bp + 64)))) != 0) {
 86317  			tcl.XTcl_AppendResult(tls, interp,
 86318  				libc.VaList(bp, ts+26447, zOpt,
 86319  					ts+26461, 0))
 86320  			return TCL_ERROR
 86321  		}
 86322  		if i == objc-1 {
 86323  			tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26509, zOpt, ts+11945, 0))
 86324  			return TCL_ERROR
 86325  		}
 86326  
 86327  		if int32(*(*int8)(unsafe.Pointer(zOpt + 1))) == 's' {
 86328  			if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i+1)*8)), bp+68) != 0 {
 86329  				return TCL_ERROR
 86330  			}
 86331  			setSectorsize = 1
 86332  		} else {
 86333  			var j int32
 86334  
 86335  			if tcl.XTcl_ListObjGetElements(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i+1)*8)), bp+72, bp+80) != 0 {
 86336  				return TCL_ERROR
 86337  			}
 86338  			for j = 0; j < *(*int32)(unsafe.Pointer(bp + 72)); j++ {
 86339  				var rc int32
 86340  
 86341  				var pFlag uintptr = tcl.XTcl_DuplicateObj(tls, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 80)) + uintptr(j)*8)))
 86342  				(*Tcl_Obj)(unsafe.Pointer(pFlag)).FrefCount++
 86343  				tcl.XTcl_UtfToLower(tls, tcl.XTcl_GetString(tls, pFlag))
 86344  
 86345  				rc = tcl.XTcl_GetIndexFromObjStruct(tls,
 86346  					interp, pFlag, bp+88, int32(unsafe.Sizeof(DeviceFlag{})), ts+26540, 0, bp+312)
 86347  				for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
 86348  					var _objPtr uintptr = pFlag
 86349  					if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 86350  						tcl.XTclFreeObj(tls, _objPtr)
 86351  					}
 86352  				}
 86353  				if rc != 0 {
 86354  					return TCL_ERROR
 86355  				}
 86356  
 86357  				iDc = iDc | (*DeviceFlag)(unsafe.Pointer(bp+88+uintptr(*(*int32)(unsafe.Pointer(bp + 312)))*16)).FiValue
 86358  			}
 86359  			setDeviceChar = 1
 86360  		}
 86361  	}
 86362  
 86363  	if setDeviceChar != 0 {
 86364  		*(*int32)(unsafe.Pointer(piDeviceChar)) = iDc
 86365  	}
 86366  	if setSectorsize != 0 {
 86367  		*(*int32)(unsafe.Pointer(piSectorSize)) = *(*int32)(unsafe.Pointer(bp + 68))
 86368  	}
 86369  
 86370  	return TCL_OK
 86371  }
 86372  
 86373  type DeviceFlag = struct {
 86374  	FzName       uintptr
 86375  	FiValue      int32
 86376  	F__ccgo_pad1 [4]byte
 86377  }
 86378  
 86379  func crashNowCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 86380  	if objc != 1 {
 86381  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+584)
 86382  		return TCL_ERROR
 86383  	}
 86384  	writeListSync(tls, uintptr(0), 1)
 86385  
 86386  	return TCL_OK
 86387  }
 86388  
 86389  func crashEnableCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 86390  	bp := tls.Alloc(8)
 86391  	defer tls.Free(8)
 86392  
 86393  	*(*int32)(unsafe.Pointer(bp + 4)) = 0
 86394  
 86395  	if objc != 2 && objc != 3 {
 86396  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+26553)
 86397  		return TCL_ERROR
 86398  	}
 86399  
 86400  	if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp) != 0 {
 86401  		return TCL_ERROR
 86402  	}
 86403  	if objc == 3 && tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+4) != 0 {
 86404  		return TCL_ERROR
 86405  	}
 86406  
 86407  	if *(*int32)(unsafe.Pointer(bp)) != 0 && crashVfs.FpAppData != 0 || !(*(*int32)(unsafe.Pointer(bp)) != 0) && !(int32(crashVfs.FpAppData) != 0) {
 86408  		return TCL_OK
 86409  	}
 86410  
 86411  	if crashVfs.FpAppData == uintptr(0) {
 86412  		var pOriginalVfs uintptr = sqlite3.Xsqlite3_vfs_find(tls, uintptr(0))
 86413  		crashVfs.FmxPathname = (*sqlite3_vfs)(unsafe.Pointer(pOriginalVfs)).FmxPathname
 86414  		crashVfs.FpAppData = pOriginalVfs
 86415  		crashVfs.FszOsFile = int32(uint64(unsafe.Sizeof(CrashFile{})) + uint64((*sqlite3_vfs)(unsafe.Pointer(pOriginalVfs)).FszOsFile))
 86416  		sqlite3.Xsqlite3_vfs_register(tls, uintptr(unsafe.Pointer(&crashVfs)), *(*int32)(unsafe.Pointer(bp + 4)))
 86417  	} else {
 86418  		crashVfs.FpAppData = uintptr(0)
 86419  		sqlite3.Xsqlite3_vfs_unregister(tls, uintptr(unsafe.Pointer(&crashVfs)))
 86420  	}
 86421  
 86422  	return TCL_OK
 86423  }
 86424  
 86425  var crashVfs = sqlite3_vfs{
 86426  	FiVersion:      2,
 86427  	FzName:         ts + 26570,
 86428  	FxOpen:         0,
 86429  	FxDelete:       0,
 86430  	FxAccess:       0,
 86431  	FxFullPathname: 0,
 86432  	FxDlOpen:       0,
 86433  	FxDlError:      0,
 86434  	FxDlSym:        0,
 86435  	FxDlClose:      0,
 86436  	FxRandomness:   0,
 86437  	FxSleep:        0,
 86438  	FxCurrentTime:  0,
 86439  	FxGetLastError: 0,
 86440  }
 86441  
 86442  func crashParamsObjCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 86443  	bp := tls.Alloc(48)
 86444  	defer tls.Free(48)
 86445  
 86446  	var zCrashFile uintptr
 86447  
 86448  	*(*int32)(unsafe.Pointer(bp + 40)) = -1
 86449  	*(*int32)(unsafe.Pointer(bp + 44)) = -1
 86450  
 86451  	if !(objc < 3) {
 86452  		goto __1
 86453  	}
 86454  	tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+26576)
 86455  	goto error
 86456  __1:
 86457  	;
 86458  	zCrashFile = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(objc-1)*8)), bp+32)
 86459  	if !(uint64(*(*int32)(unsafe.Pointer(bp + 32))) >= uint64(unsafe.Sizeof([500]int8{}))) {
 86460  		goto __2
 86461  	}
 86462  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+26602, zCrashFile, ts+11945, 0))
 86463  	goto error
 86464  __2:
 86465  	;
 86466  	if !(tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(objc-2)*8)), bp+36) != 0) {
 86467  		goto __3
 86468  	}
 86469  	goto error
 86470  __3:
 86471  	;
 86472  	if !(processDevSymArgs(tls, interp, objc-3, objv+1*8, bp+40, bp+44) != 0) {
 86473  		goto __4
 86474  	}
 86475  	return TCL_ERROR
 86476  __4:
 86477  	;
 86478  	if !(*(*int32)(unsafe.Pointer(bp + 40)) >= 0) {
 86479  		goto __5
 86480  	}
 86481  	g.FiDeviceCharacteristics = *(*int32)(unsafe.Pointer(bp + 40))
 86482  __5:
 86483  	;
 86484  	if !(*(*int32)(unsafe.Pointer(bp + 44)) >= 0) {
 86485  		goto __6
 86486  	}
 86487  	g.FiSectorSize = *(*int32)(unsafe.Pointer(bp + 44))
 86488  __6:
 86489  	;
 86490  	g.FiCrash = *(*int32)(unsafe.Pointer(bp + 36))
 86491  	libc.Xmemcpy(tls, uintptr(unsafe.Pointer(&g))+28, zCrashFile, uint64(*(*int32)(unsafe.Pointer(bp + 32))+1))
 86492  	sqlite3CrashTestEnable = 1
 86493  	return TCL_OK
 86494  
 86495  error:
 86496  	return TCL_ERROR
 86497  }
 86498  
 86499  func devSymObjCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 86500  	bp := tls.Alloc(8)
 86501  	defer tls.Free(8)
 86502  
 86503  	*(*int32)(unsafe.Pointer(bp)) = -1
 86504  	*(*int32)(unsafe.Pointer(bp + 4)) = -1
 86505  
 86506  	if processDevSymArgs(tls, interp, objc-1, objv+1*8, bp, bp+4) != 0 {
 86507  		return TCL_ERROR
 86508  	}
 86509  	devsym_register(tls, *(*int32)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 4)))
 86510  
 86511  	return TCL_OK
 86512  }
 86513  
 86514  func writeCrashObjCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 86515  	bp := tls.Alloc(4)
 86516  	defer tls.Free(4)
 86517  
 86518  	*(*int32)(unsafe.Pointer(bp)) = 0
 86519  
 86520  	if objc != 2 {
 86521  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+26626)
 86522  		return TCL_ERROR
 86523  	}
 86524  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp) != 0 {
 86525  		return TCL_ERROR
 86526  	}
 86527  
 86528  	devsym_crash_on_write(tls, *(*int32)(unsafe.Pointer(bp)))
 86529  	return TCL_OK
 86530  }
 86531  
 86532  func dsUnregisterObjCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 86533  	if objc != 1 {
 86534  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+584)
 86535  		return TCL_ERROR
 86536  	}
 86537  
 86538  	devsym_unregister(tls)
 86539  	return TCL_OK
 86540  }
 86541  
 86542  func jtObjCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 86543  	bp := tls.Alloc(48)
 86544  	defer tls.Free(48)
 86545  
 86546  	var zParent uintptr = uintptr(0)
 86547  
 86548  	if objc != 2 && objc != 3 {
 86549  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+26633)
 86550  		return TCL_ERROR
 86551  	}
 86552  	zParent = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))
 86553  	if objc == 3 {
 86554  		if libc.Xstrcmp(tls, zParent, ts+26655) != 0 {
 86555  			tcl.XTcl_AppendResult(tls, interp,
 86556  				libc.VaList(bp, ts+11851, zParent, ts+26664, 0))
 86557  			return TCL_ERROR
 86558  		}
 86559  		zParent = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
 86560  	}
 86561  
 86562  	if !(int32(*(*int8)(unsafe.Pointer(zParent))) != 0) {
 86563  		zParent = uintptr(0)
 86564  	}
 86565  	if jt_register(tls, zParent, libc.Bool32(objc == 3)) != 0 {
 86566  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26684, 0))
 86567  		return TCL_ERROR
 86568  	}
 86569  
 86570  	return TCL_OK
 86571  }
 86572  
 86573  func jtUnregisterObjCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 86574  	if objc != 1 {
 86575  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+584)
 86576  		return TCL_ERROR
 86577  	}
 86578  
 86579  	jt_unregister(tls)
 86580  	return TCL_OK
 86581  }
 86582  
 86583  func Sqlitetest6_Init(tls *libc.TLS, interp uintptr) int32 {
 86584  	tcl.XTcl_CreateObjCommand(tls, interp, ts+26705, *(*uintptr)(unsafe.Pointer(&struct {
 86585  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 86586  	}{crashEnableCmd})), uintptr(0), uintptr(0))
 86587  	tcl.XTcl_CreateObjCommand(tls, interp, ts+26726, *(*uintptr)(unsafe.Pointer(&struct {
 86588  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 86589  	}{crashParamsObjCmd})), uintptr(0), uintptr(0))
 86590  	tcl.XTcl_CreateObjCommand(tls, interp, ts+26746, *(*uintptr)(unsafe.Pointer(&struct {
 86591  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 86592  	}{crashNowCmd})), uintptr(0), uintptr(0))
 86593  	tcl.XTcl_CreateObjCommand(tls, interp, ts+26764, *(*uintptr)(unsafe.Pointer(&struct {
 86594  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 86595  	}{devSymObjCmd})), uintptr(0), uintptr(0))
 86596  	tcl.XTcl_CreateObjCommand(tls, interp, ts+26788, *(*uintptr)(unsafe.Pointer(&struct {
 86597  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 86598  	}{writeCrashObjCmd})), uintptr(0), uintptr(0))
 86599  	tcl.XTcl_CreateObjCommand(tls, interp, ts+26811, *(*uintptr)(unsafe.Pointer(&struct {
 86600  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 86601  	}{dsUnregisterObjCmd})), uintptr(0), uintptr(0))
 86602  	tcl.XTcl_CreateObjCommand(tls, interp, ts+26829, *(*uintptr)(unsafe.Pointer(&struct {
 86603  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 86604  	}{jtObjCmd})), uintptr(0), uintptr(0))
 86605  	tcl.XTcl_CreateObjCommand(tls, interp, ts+26845, *(*uintptr)(unsafe.Pointer(&struct {
 86606  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 86607  	}{jtUnregisterObjCmd})), uintptr(0), uintptr(0))
 86608  	return TCL_OK
 86609  }
 86610  
 86611  func Sqlitetest7_Init(tls *libc.TLS, interp uintptr) int32 {
 86612  	return TCL_OK
 86613  }
 86614  
 86615  type echo_vtab1 = struct {
 86616  	Fbase          sqlite3_vtab
 86617  	Finterp        uintptr
 86618  	Fdb            uintptr
 86619  	FisPattern     int32
 86620  	FinTransaction int32
 86621  	FzThis         uintptr
 86622  	FzTableName    uintptr
 86623  	FzLogName      uintptr
 86624  	FnCol          int32
 86625  	F__ccgo_pad1   [4]byte
 86626  	FaIndex        uintptr
 86627  	FaCol          uintptr
 86628  }
 86629  
 86630  type echo_vtab = echo_vtab1
 86631  type echo_cursor1 = struct {
 86632  	Fbase  sqlite3_vtab_cursor
 86633  	FpStmt uintptr
 86634  }
 86635  
 86636  type echo_cursor = echo_cursor1
 86637  
 86638  func simulateVtabError(tls *libc.TLS, p uintptr, zMethod uintptr) int32 {
 86639  	bp := tls.Alloc(152)
 86640  	defer tls.Free(152)
 86641  
 86642  	var zErr uintptr
 86643  
 86644  	*(*int8)(unsafe.Pointer(bp + 24 + 127)) = int8(0)
 86645  	sqlite3.Xsqlite3_snprintf(tls, 127, bp+24, ts+26863, libc.VaList(bp, zMethod, (*echo_vtab)(unsafe.Pointer(p)).FzTableName))
 86646  	zErr = tcl.XTcl_GetVar2(tls, (*echo_vtab)(unsafe.Pointer(p)).Finterp, bp+24, uintptr(0), TCL_GLOBAL_ONLY)
 86647  	if zErr != 0 {
 86648  		(*echo_vtab)(unsafe.Pointer(p)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+26887, libc.VaList(bp+16, zErr))
 86649  	}
 86650  	return libc.Bool32(zErr != uintptr(0))
 86651  }
 86652  
 86653  func dequoteString(tls *libc.TLS, z uintptr) {
 86654  	var quote int32
 86655  	var i int32
 86656  	var j int32
 86657  	if z == uintptr(0) {
 86658  		return
 86659  	}
 86660  	quote = int32(*(*int8)(unsafe.Pointer(z)))
 86661  	switch quote {
 86662  	case '\'':
 86663  		break
 86664  	case '"':
 86665  		break
 86666  	case '`':
 86667  		break
 86668  	case '[':
 86669  		quote = ']'
 86670  		break
 86671  	default:
 86672  		return
 86673  	}
 86674  	i = 1
 86675  	j = 0
 86676  	for ; *(*int8)(unsafe.Pointer(z + uintptr(i))) != 0; i++ {
 86677  		if int32(*(*int8)(unsafe.Pointer(z + uintptr(i)))) == quote {
 86678  			if int32(*(*int8)(unsafe.Pointer(z + uintptr(i+1)))) == quote {
 86679  				*(*int8)(unsafe.Pointer(z + uintptr(libc.PostIncInt32(&j, 1)))) = int8(quote)
 86680  				i++
 86681  			} else {
 86682  				*(*int8)(unsafe.Pointer(z + uintptr(libc.PostIncInt32(&j, 1)))) = int8(0)
 86683  				break
 86684  			}
 86685  		} else {
 86686  			*(*int8)(unsafe.Pointer(z + uintptr(libc.PostIncInt32(&j, 1)))) = *(*int8)(unsafe.Pointer(z + uintptr(i)))
 86687  		}
 86688  	}
 86689  }
 86690  
 86691  func getColumnNames(tls *libc.TLS, db uintptr, zTab uintptr, paCol uintptr, pnCol uintptr) int32 {
 86692  	bp := tls.Alloc(24)
 86693  	defer tls.Free(24)
 86694  
 86695  	var aCol uintptr
 86696  	var zSql uintptr
 86697  
 86698  	var rc int32
 86699  	var nCol int32
 86700  	var zName uintptr
 86701  	var ii int32
 86702  	var nBytes int32
 86703  	var zSpace uintptr
 86704  	aCol = uintptr(0)
 86705  	*(*uintptr)(unsafe.Pointer(bp + 16)) = uintptr(0)
 86706  	rc = SQLITE_OK
 86707  	nCol = 0
 86708  
 86709  	zSql = sqlite3.Xsqlite3_mprintf(tls, ts+26907, libc.VaList(bp, zTab))
 86710  	if !!(zSql != 0) {
 86711  		goto __1
 86712  	}
 86713  	rc = SQLITE_NOMEM
 86714  	goto out
 86715  __1:
 86716  	;
 86717  	rc = sqlite3.Xsqlite3_prepare(tls, db, zSql, -1, bp+16, uintptr(0))
 86718  	sqlite3.Xsqlite3_free(tls, zSql)
 86719  
 86720  	if !(rc == SQLITE_OK) {
 86721  		goto __2
 86722  	}
 86723  	nCol = sqlite3.Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp + 16)))
 86724  
 86725  	nBytes = int32(uint64(unsafe.Sizeof(uintptr(0))) * uint64(nCol))
 86726  	ii = 0
 86727  __3:
 86728  	if !(ii < nCol) {
 86729  		goto __5
 86730  	}
 86731  	zName = sqlite3.Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 16)), ii)
 86732  	if !!(zName != 0) {
 86733  		goto __6
 86734  	}
 86735  	rc = SQLITE_NOMEM
 86736  	goto out
 86737  __6:
 86738  	;
 86739  	nBytes = nBytes + (int32(libc.Xstrlen(tls, zName)) + 1)
 86740  	goto __4
 86741  __4:
 86742  	ii++
 86743  	goto __3
 86744  	goto __5
 86745  __5:
 86746  	;
 86747  	aCol = sqlite3.Xsqlite3MallocZero(tls, uint64(nBytes))
 86748  	if !!(aCol != 0) {
 86749  		goto __7
 86750  	}
 86751  	rc = SQLITE_NOMEM
 86752  	goto out
 86753  __7:
 86754  	;
 86755  	zSpace = aCol + uintptr(nCol)*8
 86756  	ii = 0
 86757  __8:
 86758  	if !(ii < nCol) {
 86759  		goto __10
 86760  	}
 86761  	*(*uintptr)(unsafe.Pointer(aCol + uintptr(ii)*8)) = zSpace
 86762  	sqlite3.Xsqlite3_snprintf(tls, nBytes, zSpace, ts, libc.VaList(bp+8, sqlite3.Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 16)), ii)))
 86763  	zSpace += uintptr(int32(libc.Xstrlen(tls, zSpace)) + 1)
 86764  	goto __9
 86765  __9:
 86766  	ii++
 86767  	goto __8
 86768  	goto __10
 86769  __10:
 86770  	;
 86771  __2:
 86772  	;
 86773  	*(*uintptr)(unsafe.Pointer(paCol)) = aCol
 86774  	*(*int32)(unsafe.Pointer(pnCol)) = nCol
 86775  
 86776  out:
 86777  	sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 16)))
 86778  	return rc
 86779  }
 86780  
 86781  func getIndexArray(tls *libc.TLS, db uintptr, zTab uintptr, nCol int32, paIndex uintptr) int32 {
 86782  	bp := tls.Alloc(32)
 86783  	defer tls.Free(32)
 86784  
 86785  	var aIndex uintptr
 86786  	var rc int32
 86787  	var zSql uintptr
 86788  	var cid int32
 86789  	var zIdx uintptr
 86790  
 86791  	var rc2 int32
 86792  	*(*uintptr)(unsafe.Pointer(bp + 16)) = uintptr(0)
 86793  	aIndex = uintptr(0)
 86794  
 86795  	aIndex = sqlite3.Xsqlite3MallocZero(tls, uint64(unsafe.Sizeof(int32(0)))*uint64(nCol))
 86796  	if !!(aIndex != 0) {
 86797  		goto __1
 86798  	}
 86799  	rc = SQLITE_NOMEM
 86800  	goto get_index_array_out
 86801  __1:
 86802  	;
 86803  	zSql = sqlite3.Xsqlite3_mprintf(tls, ts+26924, libc.VaList(bp, zTab))
 86804  	if !!(zSql != 0) {
 86805  		goto __2
 86806  	}
 86807  	rc = SQLITE_NOMEM
 86808  	goto get_index_array_out
 86809  __2:
 86810  	;
 86811  	rc = sqlite3.Xsqlite3_prepare(tls, db, zSql, -1, bp+16, uintptr(0))
 86812  	sqlite3.Xsqlite3_free(tls, zSql)
 86813  
 86814  __3:
 86815  	if !(*(*uintptr)(unsafe.Pointer(bp + 16)) != 0 && sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16))) == SQLITE_ROW) {
 86816  		goto __4
 86817  	}
 86818  	zIdx = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 16)), 1)
 86819  	*(*uintptr)(unsafe.Pointer(bp + 24)) = uintptr(0)
 86820  	if !(zIdx == uintptr(0)) {
 86821  		goto __5
 86822  	}
 86823  	goto __3
 86824  __5:
 86825  	;
 86826  	zSql = sqlite3.Xsqlite3_mprintf(tls, ts+26946, libc.VaList(bp+8, zIdx))
 86827  	if !!(zSql != 0) {
 86828  		goto __6
 86829  	}
 86830  	rc = SQLITE_NOMEM
 86831  	goto get_index_array_out
 86832  __6:
 86833  	;
 86834  	rc = sqlite3.Xsqlite3_prepare(tls, db, zSql, -1, bp+24, uintptr(0))
 86835  	sqlite3.Xsqlite3_free(tls, zSql)
 86836  	if !(*(*uintptr)(unsafe.Pointer(bp + 24)) != 0 && sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24))) == SQLITE_ROW) {
 86837  		goto __7
 86838  	}
 86839  	cid = sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), 1)
 86840  
 86841  	*(*int32)(unsafe.Pointer(aIndex + uintptr(cid)*4)) = 1
 86842  __7:
 86843  	;
 86844  	if !(*(*uintptr)(unsafe.Pointer(bp + 24)) != 0) {
 86845  		goto __8
 86846  	}
 86847  	rc = sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 24)))
 86848  __8:
 86849  	;
 86850  	if !(rc != SQLITE_OK) {
 86851  		goto __9
 86852  	}
 86853  	goto get_index_array_out
 86854  __9:
 86855  	;
 86856  	goto __3
 86857  __4:
 86858  	;
 86859  get_index_array_out:
 86860  	if !(*(*uintptr)(unsafe.Pointer(bp + 16)) != 0) {
 86861  		goto __10
 86862  	}
 86863  	rc2 = sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 16)))
 86864  	if !(rc == SQLITE_OK) {
 86865  		goto __11
 86866  	}
 86867  	rc = rc2
 86868  __11:
 86869  	;
 86870  __10:
 86871  	;
 86872  	if !(rc != SQLITE_OK) {
 86873  		goto __12
 86874  	}
 86875  	sqlite3.Xsqlite3_free(tls, aIndex)
 86876  	aIndex = uintptr(0)
 86877  __12:
 86878  	;
 86879  	*(*uintptr)(unsafe.Pointer(paIndex)) = aIndex
 86880  	return rc
 86881  }
 86882  
 86883  func appendToEchoModule(tls *libc.TLS, interp uintptr, zArg uintptr) {
 86884  	var flags int32 = TCL_APPEND_VALUE | TCL_LIST_ELEMENT | TCL_GLOBAL_ONLY
 86885  	tcl.XTcl_SetVar2(tls, interp, ts+26968, uintptr(0), func() uintptr {
 86886  		if zArg != 0 {
 86887  			return zArg
 86888  		}
 86889  		return ts + 584
 86890  	}(), flags)
 86891  }
 86892  
 86893  func echoDeclareVtab(tls *libc.TLS, pVtab uintptr, db uintptr) int32 {
 86894  	bp := tls.Alloc(8)
 86895  	defer tls.Free(8)
 86896  
 86897  	var rc int32 = SQLITE_OK
 86898  
 86899  	if (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName != 0 {
 86900  		*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
 86901  		rc = sqlite3.Xsqlite3_prepare(tls, db,
 86902  			ts+26980,
 86903  			-1, bp, uintptr(0))
 86904  		if rc == SQLITE_OK {
 86905  			sqlite3.Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp)), 1, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName, -1, uintptr(0))
 86906  			if sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) == SQLITE_ROW {
 86907  				var rc2 int32
 86908  				var zCreateTable uintptr = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), 0)
 86909  				rc = sqlite3.Xsqlite3_declare_vtab(tls, db, zCreateTable)
 86910  				rc2 = sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp)))
 86911  				if rc == SQLITE_OK {
 86912  					rc = rc2
 86913  				}
 86914  			} else {
 86915  				rc = sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp)))
 86916  				if rc == SQLITE_OK {
 86917  					rc = SQLITE_ERROR
 86918  				}
 86919  			}
 86920  			if rc == SQLITE_OK {
 86921  				rc = getColumnNames(tls, db, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName, pVtab+88, pVtab+72)
 86922  			}
 86923  			if rc == SQLITE_OK {
 86924  				rc = getIndexArray(tls, db, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName, (*echo_vtab)(unsafe.Pointer(pVtab)).FnCol, pVtab+80)
 86925  			}
 86926  		}
 86927  	}
 86928  
 86929  	return rc
 86930  }
 86931  
 86932  func echoDestructor(tls *libc.TLS, pVtab uintptr) int32 {
 86933  	var p uintptr = pVtab
 86934  	sqlite3.Xsqlite3_free(tls, (*echo_vtab)(unsafe.Pointer(p)).FaIndex)
 86935  	sqlite3.Xsqlite3_free(tls, (*echo_vtab)(unsafe.Pointer(p)).FaCol)
 86936  	sqlite3.Xsqlite3_free(tls, (*echo_vtab)(unsafe.Pointer(p)).FzThis)
 86937  	sqlite3.Xsqlite3_free(tls, (*echo_vtab)(unsafe.Pointer(p)).FzTableName)
 86938  	sqlite3.Xsqlite3_free(tls, (*echo_vtab)(unsafe.Pointer(p)).FzLogName)
 86939  	sqlite3.Xsqlite3_free(tls, p)
 86940  	return 0
 86941  }
 86942  
 86943  type EchoModule1 = struct {
 86944  	Finterp uintptr
 86945  	Fdb     uintptr
 86946  }
 86947  
 86948  type EchoModule = EchoModule1
 86949  
 86950  func echoConstructor(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 {
 86951  	bp := tls.Alloc(32)
 86952  	defer tls.Free(32)
 86953  
 86954  	var rc int32
 86955  	var i int32
 86956  	var pVtab uintptr
 86957  
 86958  	pVtab = sqlite3.Xsqlite3MallocZero(tls, uint64(unsafe.Sizeof(echo_vtab{})))
 86959  	if !(pVtab != 0) {
 86960  		return SQLITE_NOMEM
 86961  	}
 86962  	(*echo_vtab)(unsafe.Pointer(pVtab)).Finterp = (*EchoModule)(unsafe.Pointer(pAux)).Finterp
 86963  	(*echo_vtab)(unsafe.Pointer(pVtab)).Fdb = db
 86964  
 86965  	(*echo_vtab)(unsafe.Pointer(pVtab)).FzThis = sqlite3.Xsqlite3_mprintf(tls, ts, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(argv + 2*8))))
 86966  	if !(int32((*echo_vtab)(unsafe.Pointer(pVtab)).FzThis) != 0) {
 86967  		echoDestructor(tls, pVtab)
 86968  		return SQLITE_NOMEM
 86969  	}
 86970  
 86971  	if argc > 3 {
 86972  		(*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName = sqlite3.Xsqlite3_mprintf(tls, ts, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + 3*8))))
 86973  		dequoteString(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)
 86974  		if (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName != 0 && int32(*(*int8)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName))) == '*' {
 86975  			var z uintptr = sqlite3.Xsqlite3_mprintf(tls, ts+27044, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(argv + 2*8)), (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName+1))
 86976  			sqlite3.Xsqlite3_free(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)
 86977  			(*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName = z
 86978  			(*echo_vtab)(unsafe.Pointer(pVtab)).FisPattern = 1
 86979  		}
 86980  		if !(int32((*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName) != 0) {
 86981  			echoDestructor(tls, pVtab)
 86982  			return SQLITE_NOMEM
 86983  		}
 86984  	}
 86985  
 86986  	for i = 0; i < argc; i++ {
 86987  		appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))
 86988  	}
 86989  
 86990  	rc = echoDeclareVtab(tls, pVtab, db)
 86991  	if rc != SQLITE_OK {
 86992  		echoDestructor(tls, pVtab)
 86993  		return rc
 86994  	}
 86995  
 86996  	*(*uintptr)(unsafe.Pointer(ppVtab)) = pVtab
 86997  	return SQLITE_OK
 86998  }
 86999  
 87000  func echoCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 {
 87001  	bp := tls.Alloc(24)
 87002  	defer tls.Free(24)
 87003  
 87004  	var rc int32 = SQLITE_OK
 87005  	appendToEchoModule(tls, (*EchoModule)(unsafe.Pointer(pAux)).Finterp, ts+27049)
 87006  	rc = echoConstructor(tls, db, pAux, argc, argv, ppVtab, pzErr)
 87007  
 87008  	if rc == SQLITE_OK && argc == 5 {
 87009  		var zSql uintptr
 87010  		var pVtab uintptr = *(*uintptr)(unsafe.Pointer(ppVtab))
 87011  		(*echo_vtab)(unsafe.Pointer(pVtab)).FzLogName = sqlite3.Xsqlite3_mprintf(tls, ts, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(argv + 4*8))))
 87012  		zSql = sqlite3.Xsqlite3_mprintf(tls, ts+27057, libc.VaList(bp+8, (*echo_vtab)(unsafe.Pointer(pVtab)).FzLogName))
 87013  		rc = sqlite3.Xsqlite3_exec(tls, db, zSql, uintptr(0), uintptr(0), uintptr(0))
 87014  		sqlite3.Xsqlite3_free(tls, zSql)
 87015  		if rc != SQLITE_OK {
 87016  			*(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts, libc.VaList(bp+16, sqlite3.Xsqlite3_errmsg(tls, db)))
 87017  		}
 87018  	}
 87019  
 87020  	if *(*uintptr)(unsafe.Pointer(ppVtab)) != 0 && rc != SQLITE_OK {
 87021  		echoDestructor(tls, *(*uintptr)(unsafe.Pointer(ppVtab)))
 87022  		*(*uintptr)(unsafe.Pointer(ppVtab)) = uintptr(0)
 87023  	}
 87024  
 87025  	if rc == SQLITE_OK {
 87026  		(*echo_vtab)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(ppVtab)))).FinTransaction = 1
 87027  	}
 87028  
 87029  	return rc
 87030  }
 87031  
 87032  func echoConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 {
 87033  	appendToEchoModule(tls, (*EchoModule)(unsafe.Pointer(pAux)).Finterp, ts+27081)
 87034  	return echoConstructor(tls, db, pAux, argc, argv, ppVtab, pzErr)
 87035  }
 87036  
 87037  func echoDisconnect(tls *libc.TLS, pVtab uintptr) int32 {
 87038  	appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, ts+27090)
 87039  	return echoDestructor(tls, pVtab)
 87040  }
 87041  
 87042  func echoDestroy(tls *libc.TLS, pVtab uintptr) int32 {
 87043  	bp := tls.Alloc(8)
 87044  	defer tls.Free(8)
 87045  
 87046  	var rc int32 = SQLITE_OK
 87047  	var p uintptr = pVtab
 87048  	appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, ts+27102)
 87049  
 87050  	if p != 0 && (*echo_vtab)(unsafe.Pointer(p)).FzLogName != 0 {
 87051  		var zSql uintptr
 87052  		zSql = sqlite3.Xsqlite3_mprintf(tls, ts+27111, libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(p)).FzLogName))
 87053  		rc = sqlite3.Xsqlite3_exec(tls, (*echo_vtab)(unsafe.Pointer(p)).Fdb, zSql, uintptr(0), uintptr(0), uintptr(0))
 87054  		sqlite3.Xsqlite3_free(tls, zSql)
 87055  	}
 87056  
 87057  	if rc == SQLITE_OK {
 87058  		rc = echoDestructor(tls, pVtab)
 87059  	}
 87060  	return rc
 87061  }
 87062  
 87063  func echoOpen(tls *libc.TLS, pVTab uintptr, ppCursor uintptr) int32 {
 87064  	var pCur uintptr
 87065  	if simulateVtabError(tls, pVTab, ts+27125) != 0 {
 87066  		return SQLITE_ERROR
 87067  	}
 87068  	pCur = sqlite3.Xsqlite3MallocZero(tls, uint64(unsafe.Sizeof(echo_cursor{})))
 87069  	*(*uintptr)(unsafe.Pointer(ppCursor)) = pCur
 87070  	return func() int32 {
 87071  		if pCur != 0 {
 87072  			return SQLITE_OK
 87073  		}
 87074  		return SQLITE_NOMEM
 87075  	}()
 87076  }
 87077  
 87078  func echoClose(tls *libc.TLS, cur uintptr) int32 {
 87079  	var rc int32
 87080  	var pCur uintptr = cur
 87081  	var pStmt uintptr = (*echo_cursor)(unsafe.Pointer(pCur)).FpStmt
 87082  	(*echo_cursor)(unsafe.Pointer(pCur)).FpStmt = uintptr(0)
 87083  	sqlite3.Xsqlite3_free(tls, pCur)
 87084  	rc = sqlite3.Xsqlite3_finalize(tls, pStmt)
 87085  	return rc
 87086  }
 87087  
 87088  func echoEof(tls *libc.TLS, cur uintptr) int32 {
 87089  	return func() int32 {
 87090  		if (*echo_cursor)(unsafe.Pointer(cur)).FpStmt != 0 {
 87091  			return 0
 87092  		}
 87093  		return 1
 87094  	}()
 87095  }
 87096  
 87097  func echoNext(tls *libc.TLS, cur uintptr) int32 {
 87098  	var rc int32 = SQLITE_OK
 87099  	var pCur uintptr = cur
 87100  
 87101  	if simulateVtabError(tls, (*sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab, ts+27131) != 0 {
 87102  		return SQLITE_ERROR
 87103  	}
 87104  
 87105  	if (*echo_cursor)(unsafe.Pointer(pCur)).FpStmt != 0 {
 87106  		rc = sqlite3.Xsqlite3_step(tls, (*echo_cursor)(unsafe.Pointer(pCur)).FpStmt)
 87107  		if rc == SQLITE_ROW {
 87108  			rc = SQLITE_OK
 87109  		} else {
 87110  			rc = sqlite3.Xsqlite3_finalize(tls, (*echo_cursor)(unsafe.Pointer(pCur)).FpStmt)
 87111  			(*echo_cursor)(unsafe.Pointer(pCur)).FpStmt = uintptr(0)
 87112  		}
 87113  	}
 87114  
 87115  	return rc
 87116  }
 87117  
 87118  func echoColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 {
 87119  	var iCol int32 = i + 1
 87120  	var pStmt uintptr = (*echo_cursor)(unsafe.Pointer(cur)).FpStmt
 87121  
 87122  	if simulateVtabError(tls, (*sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab, ts+27137) != 0 {
 87123  		return SQLITE_ERROR
 87124  	}
 87125  
 87126  	if !(pStmt != 0) {
 87127  		sqlite3.Xsqlite3_result_null(tls, ctx)
 87128  	} else {
 87129  		sqlite3.Xsqlite3_result_value(tls, ctx, sqlite3.Xsqlite3_column_value(tls, pStmt, iCol))
 87130  	}
 87131  	return SQLITE_OK
 87132  }
 87133  
 87134  func echoRowid(tls *libc.TLS, cur uintptr, pRowid uintptr) int32 {
 87135  	var pStmt uintptr = (*echo_cursor)(unsafe.Pointer(cur)).FpStmt
 87136  
 87137  	if simulateVtabError(tls, (*sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab, ts+2304) != 0 {
 87138  		return SQLITE_ERROR
 87139  	}
 87140  
 87141  	*(*sqlite_int64)(unsafe.Pointer(pRowid)) = sqlite3.Xsqlite3_column_int64(tls, pStmt, 0)
 87142  	return SQLITE_OK
 87143  }
 87144  
 87145  func hashString(tls *libc.TLS, zString uintptr) int32 {
 87146  	var val u32 = u32(0)
 87147  	var ii int32
 87148  	for ii = 0; *(*int8)(unsafe.Pointer(zString + uintptr(ii))) != 0; ii++ {
 87149  		val = val<<3 + u32(int32(*(*int8)(unsafe.Pointer(zString + uintptr(ii)))))
 87150  	}
 87151  	return int32(val & u32(0x7fffffff))
 87152  }
 87153  
 87154  func echoFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 {
 87155  	var rc int32
 87156  	var i int32
 87157  
 87158  	var pCur uintptr = pVtabCursor
 87159  	var pVtab uintptr = (*sqlite3_vtab_cursor)(unsafe.Pointer(pVtabCursor)).FpVtab
 87160  	var db uintptr = (*echo_vtab)(unsafe.Pointer(pVtab)).Fdb
 87161  
 87162  	if simulateVtabError(tls, pVtab, ts+27145) != 0 {
 87163  		return SQLITE_ERROR
 87164  	}
 87165  
 87166  	appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, ts+27145)
 87167  	appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, idxStr)
 87168  	for i = 0; i < argc; i++ {
 87169  		appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))
 87170  	}
 87171  
 87172  	sqlite3.Xsqlite3_finalize(tls, (*echo_cursor)(unsafe.Pointer(pCur)).FpStmt)
 87173  	(*echo_cursor)(unsafe.Pointer(pCur)).FpStmt = uintptr(0)
 87174  
 87175  	rc = sqlite3.Xsqlite3_prepare(tls, db, idxStr, -1, pCur+8, uintptr(0))
 87176  
 87177  	for i = 0; rc == SQLITE_OK && i < argc; i++ {
 87178  		rc = sqlite3.Xsqlite3_bind_value(tls, (*echo_cursor)(unsafe.Pointer(pCur)).FpStmt, i+1, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))
 87179  	}
 87180  
 87181  	if rc == SQLITE_OK {
 87182  		rc = echoNext(tls, pVtabCursor)
 87183  	}
 87184  
 87185  	return rc
 87186  }
 87187  
 87188  func string_concat(tls *libc.TLS, pzStr uintptr, zAppend uintptr, doFree int32, pRc uintptr) {
 87189  	bp := tls.Alloc(24)
 87190  	defer tls.Free(24)
 87191  
 87192  	var zIn uintptr = *(*uintptr)(unsafe.Pointer(pzStr))
 87193  	if !(zAppend != 0) && doFree != 0 && *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK {
 87194  		*(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM
 87195  	}
 87196  	if *(*int32)(unsafe.Pointer(pRc)) != SQLITE_OK {
 87197  		sqlite3.Xsqlite3_free(tls, zIn)
 87198  		zIn = uintptr(0)
 87199  	} else {
 87200  		if zIn != 0 {
 87201  			var zTemp uintptr = zIn
 87202  			zIn = sqlite3.Xsqlite3_mprintf(tls, ts+27044, libc.VaList(bp, zIn, zAppend))
 87203  			sqlite3.Xsqlite3_free(tls, zTemp)
 87204  		} else {
 87205  			zIn = sqlite3.Xsqlite3_mprintf(tls, ts, libc.VaList(bp+16, zAppend))
 87206  		}
 87207  		if !(zIn != 0) {
 87208  			*(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM
 87209  		}
 87210  	}
 87211  	*(*uintptr)(unsafe.Pointer(pzStr)) = zIn
 87212  	if doFree != 0 {
 87213  		sqlite3.Xsqlite3_free(tls, zAppend)
 87214  	}
 87215  }
 87216  
 87217  func echoSelectList(tls *libc.TLS, pTab uintptr, pIdxInfo uintptr) uintptr {
 87218  	bp := tls.Alloc(24)
 87219  	defer tls.Free(24)
 87220  
 87221  	var zRet uintptr = uintptr(0)
 87222  	if sqlite3.Xsqlite3_libversion_number(tls) < 3010000 {
 87223  		zRet = sqlite3.Xsqlite3_mprintf(tls, ts+27153, 0)
 87224  	} else {
 87225  		var i int32
 87226  		for i = 0; i < (*echo_vtab)(unsafe.Pointer(pTab)).FnCol; i++ {
 87227  			if (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FcolUsed&(uint64(1)<<func() int32 {
 87228  				if i >= 63 {
 87229  					return 63
 87230  				}
 87231  				return i
 87232  			}()) != 0 {
 87233  				zRet = sqlite3.Xsqlite3_mprintf(tls, ts+27157, libc.VaList(bp, zRet, *(*uintptr)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*8))))
 87234  			} else {
 87235  				zRet = sqlite3.Xsqlite3_mprintf(tls, ts+27164, libc.VaList(bp+16, zRet))
 87236  			}
 87237  			if !(zRet != 0) {
 87238  				break
 87239  			}
 87240  		}
 87241  	}
 87242  	return zRet
 87243  }
 87244  
 87245  func echoBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 {
 87246  	bp := tls.Alloc(100)
 87247  	defer tls.Free(100)
 87248  
 87249  	var ii int32
 87250  	*(*uintptr)(unsafe.Pointer(bp + 88)) = uintptr(0)
 87251  	var zCol uintptr = uintptr(0)
 87252  	var zNew uintptr
 87253  	var nArg int32 = 0
 87254  	var zSep uintptr = ts + 9392
 87255  	var pVtab uintptr = tab
 87256  	*(*uintptr)(unsafe.Pointer(bp + 80)) = uintptr(0)
 87257  	var interp uintptr = (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp
 87258  
 87259  	var nRow int32 = 0
 87260  	var useIdx int32 = 0
 87261  	*(*int32)(unsafe.Pointer(bp + 96)) = SQLITE_OK
 87262  	var useCost int32 = 0
 87263  	var cost float64 = float64(0)
 87264  	var isIgnoreUsable int32 = 0
 87265  	if tcl.XTcl_GetVar2(tls, interp, ts+27173, uintptr(0), TCL_GLOBAL_ONLY) != 0 {
 87266  		isIgnoreUsable = 1
 87267  	}
 87268  
 87269  	if simulateVtabError(tls, pVtab, ts+27199) != 0 {
 87270  		return SQLITE_ERROR
 87271  	}
 87272  
 87273  	if tcl.XTcl_GetVar2(tls, interp, ts+27210, uintptr(0), TCL_GLOBAL_ONLY) != 0 {
 87274  		cost = libc.Xatof(tls, tcl.XTcl_GetVar2(tls, interp, ts+27210, uintptr(0), TCL_GLOBAL_ONLY))
 87275  		useCost = 1
 87276  	} else {
 87277  		*(*uintptr)(unsafe.Pointer(bp + 88)) = sqlite3.Xsqlite3_mprintf(tls, ts+27227, libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName))
 87278  		if !(*(*uintptr)(unsafe.Pointer(bp + 88)) != 0) {
 87279  			return SQLITE_NOMEM
 87280  		}
 87281  		*(*int32)(unsafe.Pointer(bp + 96)) = sqlite3.Xsqlite3_prepare(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Fdb, *(*uintptr)(unsafe.Pointer(bp + 88)), -1, bp+80, uintptr(0))
 87282  		sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 88)))
 87283  		if *(*int32)(unsafe.Pointer(bp + 96)) != SQLITE_OK {
 87284  			return *(*int32)(unsafe.Pointer(bp + 96))
 87285  		}
 87286  		sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 80)))
 87287  		nRow = sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 80)), 0)
 87288  		*(*int32)(unsafe.Pointer(bp + 96)) = sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 80)))
 87289  		if *(*int32)(unsafe.Pointer(bp + 96)) != SQLITE_OK {
 87290  			return *(*int32)(unsafe.Pointer(bp + 96))
 87291  		}
 87292  	}
 87293  
 87294  	zCol = echoSelectList(tls, pVtab, pIdxInfo)
 87295  	if !(zCol != 0) {
 87296  		return SQLITE_NOMEM
 87297  	}
 87298  	*(*uintptr)(unsafe.Pointer(bp + 88)) = sqlite3.Xsqlite3_mprintf(tls, ts+27251, libc.VaList(bp+8, zCol, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName))
 87299  	if !(*(*uintptr)(unsafe.Pointer(bp + 88)) != 0) {
 87300  		return SQLITE_NOMEM
 87301  	}
 87302  
 87303  	for ii = 0; ii < (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint; ii++ {
 87304  		var pConstraint uintptr
 87305  		var pUsage uintptr
 87306  		var iCol int32
 87307  
 87308  		pConstraint = (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraint + uintptr(ii)*12
 87309  		pUsage = (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(ii)*8
 87310  
 87311  		if !(isIgnoreUsable != 0) && !(int32((*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fusable) != 0) {
 87312  			continue
 87313  		}
 87314  
 87315  		iCol = (*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).FiColumn
 87316  		if iCol < 0 || *(*int32)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pVtab)).FaIndex + uintptr(iCol)*4)) != 0 {
 87317  			var zNewCol uintptr
 87318  			if iCol >= 0 {
 87319  				zNewCol = *(*uintptr)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pVtab)).FaCol + uintptr(iCol)*8))
 87320  			} else {
 87321  				zNewCol = ts + 6427
 87322  			}
 87323  			var zOp uintptr = uintptr(0)
 87324  			useIdx = 1
 87325  			switch int32((*sqlite3_index_constraint)(unsafe.Pointer(pConstraint)).Fop) {
 87326  			case SQLITE_INDEX_CONSTRAINT_EQ:
 87327  				zOp = ts + 27274
 87328  				break
 87329  				fallthrough
 87330  			case SQLITE_INDEX_CONSTRAINT_LT:
 87331  				zOp = ts + 27276
 87332  				break
 87333  				fallthrough
 87334  			case SQLITE_INDEX_CONSTRAINT_GT:
 87335  				zOp = ts + 27278
 87336  				break
 87337  				fallthrough
 87338  			case SQLITE_INDEX_CONSTRAINT_LE:
 87339  				zOp = ts + 27280
 87340  				break
 87341  				fallthrough
 87342  			case SQLITE_INDEX_CONSTRAINT_GE:
 87343  				zOp = ts + 27283
 87344  				break
 87345  				fallthrough
 87346  			case SQLITE_INDEX_CONSTRAINT_MATCH:
 87347  				zOp = ts + 27286
 87348  				break
 87349  				fallthrough
 87350  			case SQLITE_INDEX_CONSTRAINT_LIKE:
 87351  				zOp = ts + 27291
 87352  				break
 87353  				fallthrough
 87354  			case SQLITE_INDEX_CONSTRAINT_GLOB:
 87355  				zOp = ts + 27296
 87356  				break
 87357  				fallthrough
 87358  			case SQLITE_INDEX_CONSTRAINT_REGEXP:
 87359  				zOp = ts + 6831
 87360  				break
 87361  			}
 87362  			if zOp != 0 {
 87363  				if int32(*(*int8)(unsafe.Pointer(zOp))) == 'L' {
 87364  					zNew = sqlite3.Xsqlite3_mprintf(tls, ts+27301,
 87365  						libc.VaList(bp+24, zSep, zNewCol))
 87366  				} else {
 87367  					zNew = sqlite3.Xsqlite3_mprintf(tls, ts+27336, libc.VaList(bp+40, zSep, zNewCol, zOp))
 87368  				}
 87369  				string_concat(tls, bp+88, zNew, 1, bp+96)
 87370  				zSep = ts + 9419
 87371  				(*sqlite3_index_constraint_usage)(unsafe.Pointer(pUsage)).FargvIndex = libc.PreIncInt32(&nArg, 1)
 87372  				(*sqlite3_index_constraint_usage)(unsafe.Pointer(pUsage)).Fomit = uint8(1)
 87373  			}
 87374  		}
 87375  	}
 87376  
 87377  	if (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnOrderBy == 1 && ((*sqlite3_index_orderby)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaOrderBy)).FiColumn < 0 || *(*int32)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pVtab)).FaIndex + uintptr((*sqlite3_index_orderby)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaOrderBy)).FiColumn)*4)) != 0) {
 87378  		var iCol int32 = (*sqlite3_index_orderby)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaOrderBy)).FiColumn
 87379  		var zNewCol uintptr
 87380  		if iCol >= 0 {
 87381  			zNewCol = *(*uintptr)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pVtab)).FaCol + uintptr(iCol)*8))
 87382  		} else {
 87383  			zNewCol = ts + 6427
 87384  		}
 87385  		var zDir uintptr
 87386  		if (*sqlite3_index_orderby)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaOrderBy)).Fdesc != 0 {
 87387  			zDir = ts + 27348
 87388  		} else {
 87389  			zDir = ts + 27353
 87390  		}
 87391  		zNew = sqlite3.Xsqlite3_mprintf(tls, ts+27357, libc.VaList(bp+64, zNewCol, zDir))
 87392  		string_concat(tls, bp+88, zNew, 1, bp+96)
 87393  		(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).ForderByConsumed = 1
 87394  	}
 87395  
 87396  	appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, ts+27199)
 87397  
 87398  	appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, *(*uintptr)(unsafe.Pointer(bp + 88)))
 87399  
 87400  	if !(*(*uintptr)(unsafe.Pointer(bp + 88)) != 0) {
 87401  		return *(*int32)(unsafe.Pointer(bp + 96))
 87402  	}
 87403  	(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = hashString(tls, *(*uintptr)(unsafe.Pointer(bp + 88)))
 87404  	(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = *(*uintptr)(unsafe.Pointer(bp + 88))
 87405  	(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FneedToFreeIdxStr = 1
 87406  	if useCost != 0 {
 87407  		(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = cost
 87408  	} else if useIdx != 0 {
 87409  		for ii = 0; uint64(ii) < uint64(unsafe.Sizeof(int32(0)))*uint64(8)-uint64(1); ii++ {
 87410  			if nRow&(int32(1)<<ii) != 0 {
 87411  				(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = float64(ii)
 87412  			}
 87413  		}
 87414  	} else {
 87415  		(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = float64(nRow)
 87416  	}
 87417  	return *(*int32)(unsafe.Pointer(bp + 96))
 87418  }
 87419  
 87420  func echoUpdate(tls *libc.TLS, tab uintptr, nData int32, apData uintptr, pRowid uintptr) int32 {
 87421  	bp := tls.Alloc(136)
 87422  	defer tls.Free(136)
 87423  
 87424  	var pVtab uintptr = tab
 87425  	var db uintptr = (*echo_vtab)(unsafe.Pointer(pVtab)).Fdb
 87426  	*(*int32)(unsafe.Pointer(bp + 104)) = SQLITE_OK
 87427  
 87428  	*(*uintptr)(unsafe.Pointer(bp + 128)) = uintptr(0)
 87429  	*(*uintptr)(unsafe.Pointer(bp + 96)) = uintptr(0)
 87430  	var bindArgZero int32 = 0
 87431  	var bindArgOne int32 = 0
 87432  	var i int32
 87433  
 87434  	if simulateVtabError(tls, pVtab, ts+27373) != 0 {
 87435  		return SQLITE_ERROR
 87436  	}
 87437  
 87438  	if nData > 1 && sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apData))) == SQLITE_INTEGER {
 87439  		var zSep uintptr = ts + 27381
 87440  		*(*uintptr)(unsafe.Pointer(bp + 96)) = sqlite3.Xsqlite3_mprintf(tls, ts+27386, libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName))
 87441  		if !(*(*uintptr)(unsafe.Pointer(bp + 96)) != 0) {
 87442  			*(*int32)(unsafe.Pointer(bp + 104)) = SQLITE_NOMEM
 87443  		}
 87444  
 87445  		bindArgOne = libc.Bool32(*(*uintptr)(unsafe.Pointer(apData + 1*8)) != 0 && sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apData + 1*8))) == SQLITE_INTEGER)
 87446  		bindArgZero = 1
 87447  
 87448  		if bindArgOne != 0 {
 87449  			string_concat(tls, bp+96, ts+27396, 0, bp+104)
 87450  			zSep = ts + 4758
 87451  		}
 87452  		for i = 2; i < nData; i++ {
 87453  			if *(*uintptr)(unsafe.Pointer(apData + uintptr(i)*8)) == uintptr(0) {
 87454  				continue
 87455  			}
 87456  			string_concat(tls, bp+96, sqlite3.Xsqlite3_mprintf(tls,
 87457  				ts+27411, libc.VaList(bp+8, zSep, *(*uintptr)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pVtab)).FaCol + uintptr(i-2)*8)), i)), 1, bp+104)
 87458  			zSep = ts + 4758
 87459  		}
 87460  		string_concat(tls, bp+96, sqlite3.Xsqlite3_mprintf(tls, ts+27421, libc.VaList(bp+32, nData)), 1, bp+104)
 87461  	} else if nData == 1 && sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apData))) == SQLITE_INTEGER {
 87462  		*(*uintptr)(unsafe.Pointer(bp + 96)) = sqlite3.Xsqlite3_mprintf(tls, ts+27438, libc.VaList(bp+40, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName))
 87463  		if !(*(*uintptr)(unsafe.Pointer(bp + 96)) != 0) {
 87464  			*(*int32)(unsafe.Pointer(bp + 104)) = SQLITE_NOMEM
 87465  		}
 87466  		bindArgZero = 1
 87467  	} else if nData > 2 && sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apData))) == SQLITE_NULL {
 87468  		var ii int32
 87469  		*(*uintptr)(unsafe.Pointer(bp + 112)) = uintptr(0)
 87470  		*(*uintptr)(unsafe.Pointer(bp + 120)) = uintptr(0)
 87471  
 87472  		*(*uintptr)(unsafe.Pointer(bp + 112)) = sqlite3.Xsqlite3_mprintf(tls, ts+27470, libc.VaList(bp+48, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName))
 87473  		if !(*(*uintptr)(unsafe.Pointer(bp + 112)) != 0) {
 87474  			*(*int32)(unsafe.Pointer(bp + 104)) = SQLITE_NOMEM
 87475  		}
 87476  		if sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apData + 1*8))) == SQLITE_INTEGER {
 87477  			bindArgOne = 1
 87478  			*(*uintptr)(unsafe.Pointer(bp + 120)) = sqlite3.Xsqlite3_mprintf(tls, ts+3405, 0)
 87479  			string_concat(tls, bp+112, ts+6427, 0, bp+104)
 87480  		}
 87481  
 87482  		for ii = 2; ii < nData; ii++ {
 87483  			string_concat(tls, bp+112,
 87484  				sqlite3.Xsqlite3_mprintf(tls, ts+27487, libc.VaList(bp+56, func() uintptr {
 87485  					if *(*uintptr)(unsafe.Pointer(bp + 120)) != 0 {
 87486  						return ts + 97
 87487  					}
 87488  					return ts + 584
 87489  				}(), *(*uintptr)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pVtab)).FaCol + uintptr(ii-2)*8)))), 1, bp+104)
 87490  			string_concat(tls, bp+120,
 87491  				sqlite3.Xsqlite3_mprintf(tls, ts+27492, libc.VaList(bp+72, func() uintptr {
 87492  					if *(*uintptr)(unsafe.Pointer(bp + 120)) != 0 {
 87493  						return ts + 97
 87494  					}
 87495  					return ts + 584
 87496  				}(), ii)), 1, bp+104)
 87497  		}
 87498  
 87499  		string_concat(tls, bp+96, *(*uintptr)(unsafe.Pointer(bp + 112)), 1, bp+104)
 87500  		string_concat(tls, bp+96, ts+27498, 0, bp+104)
 87501  		string_concat(tls, bp+96, *(*uintptr)(unsafe.Pointer(bp + 120)), 1, bp+104)
 87502  		string_concat(tls, bp+96, ts+585, 0, bp+104)
 87503  	} else {
 87504  		return SQLITE_ERROR
 87505  	}
 87506  
 87507  	if *(*int32)(unsafe.Pointer(bp + 104)) == SQLITE_OK {
 87508  		*(*int32)(unsafe.Pointer(bp + 104)) = sqlite3.Xsqlite3_prepare(tls, db, *(*uintptr)(unsafe.Pointer(bp + 96)), -1, bp+128, uintptr(0))
 87509  	}
 87510  
 87511  	sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 96)))
 87512  	if *(*int32)(unsafe.Pointer(bp + 104)) == SQLITE_OK {
 87513  		if bindArgZero != 0 {
 87514  			sqlite3.Xsqlite3_bind_value(tls, *(*uintptr)(unsafe.Pointer(bp + 128)), nData, *(*uintptr)(unsafe.Pointer(apData)))
 87515  		}
 87516  		if bindArgOne != 0 {
 87517  			sqlite3.Xsqlite3_bind_value(tls, *(*uintptr)(unsafe.Pointer(bp + 128)), 1, *(*uintptr)(unsafe.Pointer(apData + 1*8)))
 87518  		}
 87519  		for i = 2; i < nData && *(*int32)(unsafe.Pointer(bp + 104)) == SQLITE_OK; i++ {
 87520  			if *(*uintptr)(unsafe.Pointer(apData + uintptr(i)*8)) != 0 {
 87521  				*(*int32)(unsafe.Pointer(bp + 104)) = sqlite3.Xsqlite3_bind_value(tls, *(*uintptr)(unsafe.Pointer(bp + 128)), i, *(*uintptr)(unsafe.Pointer(apData + uintptr(i)*8)))
 87522  			}
 87523  		}
 87524  		if *(*int32)(unsafe.Pointer(bp + 104)) == SQLITE_OK {
 87525  			sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 128)))
 87526  			*(*int32)(unsafe.Pointer(bp + 104)) = sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 128)))
 87527  		} else {
 87528  			sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 128)))
 87529  		}
 87530  	}
 87531  
 87532  	if pRowid != 0 && *(*int32)(unsafe.Pointer(bp + 104)) == SQLITE_OK {
 87533  		*(*sqlite_int64)(unsafe.Pointer(pRowid)) = sqlite3.Xsqlite3_last_insert_rowid(tls, db)
 87534  	}
 87535  	if *(*int32)(unsafe.Pointer(bp + 104)) != SQLITE_OK {
 87536  		(*sqlite3_vtab)(unsafe.Pointer(tab)).FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+26887, libc.VaList(bp+88, sqlite3.Xsqlite3_errmsg(tls, db)))
 87537  	}
 87538  
 87539  	return *(*int32)(unsafe.Pointer(bp + 104))
 87540  }
 87541  
 87542  func echoTransactionCall(tls *libc.TLS, tab uintptr, zCall uintptr) int32 {
 87543  	bp := tls.Alloc(8)
 87544  	defer tls.Free(8)
 87545  
 87546  	var z uintptr
 87547  	var pVtab uintptr = tab
 87548  	z = sqlite3.Xsqlite3_mprintf(tls, ts+27508, libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName))
 87549  	if z == uintptr(0) {
 87550  		return SQLITE_NOMEM
 87551  	}
 87552  	appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, zCall)
 87553  	appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, z)
 87554  	sqlite3.Xsqlite3_free(tls, z)
 87555  	return SQLITE_OK
 87556  }
 87557  
 87558  func echoBegin(tls *libc.TLS, tab uintptr) int32 {
 87559  	var rc int32
 87560  	var pVtab uintptr = tab
 87561  	var interp uintptr = (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp
 87562  	var zVal uintptr
 87563  
 87564  	if simulateVtabError(tls, pVtab, ts+27517) != 0 {
 87565  		return SQLITE_ERROR
 87566  	}
 87567  
 87568  	rc = echoTransactionCall(tls, tab, ts+27517)
 87569  
 87570  	if rc == SQLITE_OK {
 87571  		zVal = tcl.XTcl_GetVar2(tls, interp, ts+27524, uintptr(0), TCL_GLOBAL_ONLY)
 87572  		if zVal != 0 && 0 == libc.Xstrcmp(tls, zVal, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName) {
 87573  			rc = SQLITE_ERROR
 87574  		}
 87575  	}
 87576  	if rc == SQLITE_OK {
 87577  		(*echo_vtab)(unsafe.Pointer(pVtab)).FinTransaction = 1
 87578  	}
 87579  	return rc
 87580  }
 87581  
 87582  func echoSync(tls *libc.TLS, tab uintptr) int32 {
 87583  	var rc int32
 87584  	var pVtab uintptr = tab
 87585  	var interp uintptr = (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp
 87586  	var zVal uintptr
 87587  
 87588  	if simulateVtabError(tls, pVtab, ts+27547) != 0 {
 87589  		return SQLITE_ERROR
 87590  	}
 87591  
 87592  	rc = echoTransactionCall(tls, tab, ts+27547)
 87593  
 87594  	if rc == SQLITE_OK {
 87595  		zVal = tcl.XTcl_GetVar2(tls, interp, ts+27553, uintptr(0), TCL_GLOBAL_ONLY)
 87596  		if zVal != 0 && 0 == libc.Xstrcmp(tls, zVal, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName) {
 87597  			rc = -1
 87598  		}
 87599  	}
 87600  	return rc
 87601  }
 87602  
 87603  func echoCommit(tls *libc.TLS, tab uintptr) int32 {
 87604  	var pVtab uintptr = tab
 87605  	var rc int32
 87606  
 87607  	if simulateVtabError(tls, pVtab, ts+27575) != 0 {
 87608  		return SQLITE_ERROR
 87609  	}
 87610  
 87611  	sqlite3.Xsqlite3BeginBenignMalloc(tls)
 87612  	rc = echoTransactionCall(tls, tab, ts+27575)
 87613  	sqlite3.Xsqlite3EndBenignMalloc(tls)
 87614  	(*echo_vtab)(unsafe.Pointer(pVtab)).FinTransaction = 0
 87615  	return rc
 87616  }
 87617  
 87618  func echoRollback(tls *libc.TLS, tab uintptr) int32 {
 87619  	var rc int32
 87620  	var pVtab uintptr = tab
 87621  
 87622  	rc = echoTransactionCall(tls, tab, ts+27583)
 87623  	(*echo_vtab)(unsafe.Pointer(pVtab)).FinTransaction = 0
 87624  	return rc
 87625  }
 87626  
 87627  func overloadedGlobFunction(tls *libc.TLS, pContext uintptr, nArg int32, apArg uintptr) {
 87628  	bp := tls.Alloc(216)
 87629  	defer tls.Free(216)
 87630  
 87631  	var interp uintptr = sqlite3.Xsqlite3_user_data(tls, pContext)
 87632  
 87633  	var i int32
 87634  	var rc int32
 87635  	tcl.XTcl_DStringInit(tls, bp)
 87636  	tcl.XTcl_DStringAppendElement(tls, bp, ts+27593)
 87637  	for i = 0; i < nArg; i++ {
 87638  		tcl.XTcl_DStringAppendElement(tls, bp, sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apArg + uintptr(i)*8))))
 87639  	}
 87640  	rc = tcl.XTcl_Eval(tls, interp, (*Tcl_DString)(unsafe.Pointer(bp)).Fstring)
 87641  	tcl.XTcl_DStringFree(tls, bp)
 87642  	if rc != 0 {
 87643  		sqlite3.Xsqlite3_result_error(tls, pContext, tcl.XTcl_GetStringResult(tls, interp), -1)
 87644  	} else {
 87645  		sqlite3.Xsqlite3_result_text(tls, pContext, tcl.XTcl_GetStringResult(tls, interp),
 87646  			-1, libc.UintptrFromInt32(-1))
 87647  	}
 87648  	tcl.XTcl_ResetResult(tls, interp)
 87649  }
 87650  
 87651  func echoFindFunction(tls *libc.TLS, vtab uintptr, nArg int32, zFuncName uintptr, pxFunc uintptr, ppArg uintptr) int32 {
 87652  	bp := tls.Alloc(64)
 87653  	defer tls.Free(64)
 87654  
 87655  	var pVtab uintptr = vtab
 87656  	var interp uintptr = (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp
 87657  
 87658  	if libc.Xstrcmp(tls, zFuncName, ts+27296) != 0 {
 87659  		return 0
 87660  	}
 87661  	if tcl.XTcl_GetCommandInfo(tls, interp, ts+27593, bp) == 0 {
 87662  		return 0
 87663  	}
 87664  	*(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct {
 87665  		f func(*libc.TLS, uintptr, int32, uintptr)
 87666  	}{overloadedGlobFunction}))
 87667  	*(*uintptr)(unsafe.Pointer(ppArg)) = interp
 87668  	return 1
 87669  }
 87670  
 87671  func echoRename(tls *libc.TLS, vtab uintptr, zNewName uintptr) int32 {
 87672  	bp := tls.Alloc(24)
 87673  	defer tls.Free(24)
 87674  
 87675  	var rc int32 = SQLITE_OK
 87676  	var p uintptr = vtab
 87677  
 87678  	if simulateVtabError(tls, p, ts+27614) != 0 {
 87679  		return SQLITE_ERROR
 87680  	}
 87681  
 87682  	if (*echo_vtab)(unsafe.Pointer(p)).FisPattern != 0 {
 87683  		var nThis int32 = int32(libc.Xstrlen(tls, (*echo_vtab)(unsafe.Pointer(p)).FzThis))
 87684  		var zSql uintptr = sqlite3.Xsqlite3_mprintf(tls, ts+27622,
 87685  			libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(p)).FzTableName, zNewName, (*echo_vtab)(unsafe.Pointer(p)).FzTableName+uintptr(nThis)))
 87686  		rc = sqlite3.Xsqlite3_exec(tls, (*echo_vtab)(unsafe.Pointer(p)).Fdb, zSql, uintptr(0), uintptr(0), uintptr(0))
 87687  		sqlite3.Xsqlite3_free(tls, zSql)
 87688  	}
 87689  
 87690  	return rc
 87691  }
 87692  
 87693  func echoSavepoint(tls *libc.TLS, pVTab uintptr, iSavepoint int32) int32 {
 87694  	return SQLITE_OK
 87695  }
 87696  
 87697  func echoRelease(tls *libc.TLS, pVTab uintptr, iSavepoint int32) int32 {
 87698  	return SQLITE_OK
 87699  }
 87700  
 87701  func echoRollbackTo(tls *libc.TLS, pVTab uintptr, iSavepoint int32) int32 {
 87702  	return SQLITE_OK
 87703  }
 87704  
 87705  var echoModule = sqlite3_module{
 87706  	FiVersion:      1,
 87707  	FxCreate:       0,
 87708  	FxConnect:      0,
 87709  	FxBestIndex:    0,
 87710  	FxDisconnect:   0,
 87711  	FxDestroy:      0,
 87712  	FxOpen:         0,
 87713  	FxClose:        0,
 87714  	FxFilter:       0,
 87715  	FxNext:         0,
 87716  	FxEof:          0,
 87717  	FxColumn:       0,
 87718  	FxRowid:        0,
 87719  	FxUpdate:       0,
 87720  	FxBegin:        0,
 87721  	FxSync:         0,
 87722  	FxCommit:       0,
 87723  	FxRollback:     0,
 87724  	FxFindFunction: 0,
 87725  	FxRename:       0,
 87726  }
 87727  
 87728  var echoModuleV2 = sqlite3_module{
 87729  	FiVersion:      2,
 87730  	FxCreate:       0,
 87731  	FxConnect:      0,
 87732  	FxBestIndex:    0,
 87733  	FxDisconnect:   0,
 87734  	FxDestroy:      0,
 87735  	FxOpen:         0,
 87736  	FxClose:        0,
 87737  	FxFilter:       0,
 87738  	FxNext:         0,
 87739  	FxEof:          0,
 87740  	FxColumn:       0,
 87741  	FxRowid:        0,
 87742  	FxUpdate:       0,
 87743  	FxBegin:        0,
 87744  	FxSync:         0,
 87745  	FxCommit:       0,
 87746  	FxRollback:     0,
 87747  	FxFindFunction: 0,
 87748  	FxRename:       0,
 87749  	FxSavepoint:    0,
 87750  	FxRelease:      0,
 87751  	FxRollbackTo:   0,
 87752  }
 87753  
 87754  func moduleDestroy(tls *libc.TLS, p uintptr) {
 87755  	var pMod uintptr = p
 87756  	sqlite3.Xsqlite3_create_function(tls, (*EchoModule)(unsafe.Pointer(pMod)).Fdb, ts+27652,
 87757  		SQLITE_ANY, 1, uintptr(0), uintptr(0), uintptr(0), uintptr(0))
 87758  	sqlite3.Xsqlite3_free(tls, p)
 87759  }
 87760  
 87761  func register_echo_module(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 87762  	bp := tls.Alloc(8)
 87763  	defer tls.Free(8)
 87764  
 87765  	var rc int32
 87766  
 87767  	var pMod uintptr
 87768  	if objc != 2 {
 87769  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+2050)
 87770  		return TCL_ERROR
 87771  	}
 87772  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp) != 0 {
 87773  		return TCL_ERROR
 87774  	}
 87775  
 87776  	pMod = sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(EchoModule{})))
 87777  	(*EchoModule)(unsafe.Pointer(pMod)).Finterp = interp
 87778  	(*EchoModule)(unsafe.Pointer(pMod)).Fdb = *(*uintptr)(unsafe.Pointer(bp))
 87779  	rc = sqlite3.Xsqlite3_create_module_v2(tls,
 87780  		*(*uintptr)(unsafe.Pointer(bp)), ts+27690, uintptr(unsafe.Pointer(&echoModule)), pMod, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{moduleDestroy})))
 87781  
 87782  	if rc == SQLITE_OK {
 87783  		pMod = sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(EchoModule{})))
 87784  		(*EchoModule)(unsafe.Pointer(pMod)).Finterp = interp
 87785  		(*EchoModule)(unsafe.Pointer(pMod)).Fdb = *(*uintptr)(unsafe.Pointer(bp))
 87786  		rc = sqlite3.Xsqlite3_create_module_v2(tls, *(*uintptr)(unsafe.Pointer(bp)), ts+27695,
 87787  			uintptr(unsafe.Pointer(&echoModuleV2)), pMod, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{moduleDestroy})))
 87788  	}
 87789  
 87790  	tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0))
 87791  	return TCL_OK
 87792  }
 87793  
 87794  func declare_vtab(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 87795  	bp := tls.Alloc(8)
 87796  	defer tls.Free(8)
 87797  
 87798  	var rc int32
 87799  	if objc != 3 {
 87800  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10061)
 87801  		return TCL_ERROR
 87802  	}
 87803  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp) != 0 {
 87804  		return TCL_ERROR
 87805  	}
 87806  	rc = sqlite3.Xsqlite3_declare_vtab(tls, *(*uintptr)(unsafe.Pointer(bp)), tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))))
 87807  	if rc != SQLITE_OK {
 87808  		tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp))), uintptr(1))
 87809  		return TCL_ERROR
 87810  	}
 87811  	return TCL_OK
 87812  }
 87813  
 87814  func Sqlitetest8_Init(tls *libc.TLS, interp uintptr) int32 {
 87815  	var i int32
 87816  	for i = 0; uint64(i) < uint64(unsafe.Sizeof(aObjCmd2))/uint64(unsafe.Sizeof(struct {
 87817  		FzName      uintptr
 87818  		FxProc      uintptr
 87819  		FclientData uintptr
 87820  	}{})); i++ {
 87821  		tcl.XTcl_CreateObjCommand(tls, interp, aObjCmd2[i].FzName,
 87822  			aObjCmd2[i].FxProc, aObjCmd2[i].FclientData, uintptr(0))
 87823  	}
 87824  	return TCL_OK
 87825  }
 87826  
 87827  var aObjCmd2 = [2]struct {
 87828  	FzName      uintptr
 87829  	FxProc      uintptr
 87830  	FclientData uintptr
 87831  }{
 87832  	{FzName: ts + 27703, FxProc: 0},
 87833  	{FzName: ts + 27724, FxProc: 0},
 87834  }
 87835  
 87836  func c_collation_test(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 87837  	bp := tls.Alloc(32)
 87838  	defer tls.Free(32)
 87839  
 87840  	var zErrFunction uintptr
 87841  
 87842  	var rc int32
 87843  	zErrFunction = ts + 27745
 87844  	if !(objc != 1) {
 87845  		goto __1
 87846  	}
 87847  	tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+584)
 87848  	return TCL_ERROR
 87849  __1:
 87850  	;
 87851  	rc = sqlite3.Xsqlite3_open(tls, ts+1757, bp+24)
 87852  	if !(rc != SQLITE_OK) {
 87853  		goto __2
 87854  	}
 87855  	zErrFunction = ts + 21599
 87856  	goto error_out
 87857  __2:
 87858  	;
 87859  	rc = sqlite3.Xsqlite3_create_collation(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), ts+13402, 456, uintptr(0), uintptr(0))
 87860  	if !(rc != SQLITE_MISUSE) {
 87861  		goto __3
 87862  	}
 87863  	sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 24)))
 87864  	zErrFunction = ts + 27749
 87865  	goto error_out
 87866  __3:
 87867  	;
 87868  	sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 24)))
 87869  	return TCL_OK
 87870  
 87871  error_out:
 87872  	tcl.XTcl_ResetResult(tls, interp)
 87873  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+27774, zErrFunction, 0))
 87874  	return TCL_ERROR
 87875  }
 87876  
 87877  func c_realloc_test(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 87878  	bp := tls.Alloc(24)
 87879  	defer tls.Free(24)
 87880  
 87881  	var p uintptr
 87882  	var zErrFunction uintptr
 87883  	zErrFunction = ts + 27745
 87884  
 87885  	if !(objc != 1) {
 87886  		goto __1
 87887  	}
 87888  	tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+584)
 87889  	return TCL_ERROR
 87890  __1:
 87891  	;
 87892  	p = sqlite3.Xsqlite3_malloc(tls, 5)
 87893  	if !!(p != 0) {
 87894  		goto __2
 87895  	}
 87896  	zErrFunction = ts + 27799
 87897  	goto error_out
 87898  __2:
 87899  	;
 87900  	p = sqlite3.Xsqlite3_realloc(tls, p, -1)
 87901  	if !(p != 0) {
 87902  		goto __3
 87903  	}
 87904  	zErrFunction = ts + 27814
 87905  	goto error_out
 87906  __3:
 87907  	;
 87908  	return TCL_OK
 87909  
 87910  error_out:
 87911  	tcl.XTcl_ResetResult(tls, interp)
 87912  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+27774, zErrFunction, 0))
 87913  	return TCL_ERROR
 87914  }
 87915  
 87916  func c_misuse_test(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 87917  	bp := tls.Alloc(40)
 87918  	defer tls.Free(40)
 87919  
 87920  	var zErrFunction uintptr
 87921  
 87922  	var rc int32
 87923  	zErrFunction = ts + 27745
 87924  	*(*uintptr)(unsafe.Pointer(bp + 24)) = uintptr(0)
 87925  
 87926  	if !(objc != 1) {
 87927  		goto __1
 87928  	}
 87929  	tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+584)
 87930  	return TCL_ERROR
 87931  __1:
 87932  	;
 87933  	rc = sqlite3.Xsqlite3_open(tls, ts+1757, bp+24)
 87934  	if !(rc != SQLITE_OK) {
 87935  		goto __2
 87936  	}
 87937  	zErrFunction = ts + 21599
 87938  	goto error_out
 87939  __2:
 87940  	;
 87941  	sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 24)))
 87942  
 87943  	rc = sqlite3.Xsqlite3_errcode(tls, *(*uintptr)(unsafe.Pointer(bp + 24)))
 87944  	if !(rc != SQLITE_MISUSE) {
 87945  		goto __3
 87946  	}
 87947  	zErrFunction = ts + 21505
 87948  	goto error_out
 87949  __3:
 87950  	;
 87951  	*(*uintptr)(unsafe.Pointer(bp + 32)) = uintptr(1234)
 87952  	rc = sqlite3.Xsqlite3_prepare(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), uintptr(0), 0, bp+32, uintptr(0))
 87953  	if !(rc != SQLITE_MISUSE) {
 87954  		goto __4
 87955  	}
 87956  	zErrFunction = ts + 21680
 87957  	goto error_out
 87958  __4:
 87959  	;
 87960  	*(*uintptr)(unsafe.Pointer(bp + 32)) = uintptr(1234)
 87961  	rc = sqlite3.Xsqlite3_prepare_v2(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), uintptr(0), 0, bp+32, uintptr(0))
 87962  	if !(rc != SQLITE_MISUSE) {
 87963  		goto __5
 87964  	}
 87965  	zErrFunction = ts + 21714
 87966  	goto error_out
 87967  __5:
 87968  	;
 87969  	*(*uintptr)(unsafe.Pointer(bp + 32)) = uintptr(1234)
 87970  	rc = sqlite3.Xsqlite3_prepare16(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), uintptr(0), 0, bp+32, uintptr(0))
 87971  	if !(rc != SQLITE_MISUSE) {
 87972  		goto __6
 87973  	}
 87974  	zErrFunction = ts + 21696
 87975  	goto error_out
 87976  __6:
 87977  	;
 87978  	*(*uintptr)(unsafe.Pointer(bp + 32)) = uintptr(1234)
 87979  	rc = sqlite3.Xsqlite3_prepare16_v2(tls, *(*uintptr)(unsafe.Pointer(bp + 24)), uintptr(0), 0, bp+32, uintptr(0))
 87980  	if !(rc != SQLITE_MISUSE) {
 87981  		goto __7
 87982  	}
 87983  	zErrFunction = ts + 21776
 87984  	goto error_out
 87985  __7:
 87986  	;
 87987  	return TCL_OK
 87988  
 87989  error_out:
 87990  	tcl.XTcl_ResetResult(tls, interp)
 87991  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+27774, zErrFunction, 0))
 87992  	return TCL_ERROR
 87993  }
 87994  
 87995  func Sqlitetest9_Init(tls *libc.TLS, interp uintptr) int32 {
 87996  	var i int32
 87997  	for i = 0; uint64(i) < uint64(unsafe.Sizeof(aObjCmd3))/uint64(unsafe.Sizeof(struct {
 87998  		FzName      uintptr
 87999  		FxProc      uintptr
 88000  		FclientData uintptr
 88001  	}{})); i++ {
 88002  		tcl.XTcl_CreateObjCommand(tls, interp, aObjCmd3[i].FzName,
 88003  			aObjCmd3[i].FxProc, aObjCmd3[i].FclientData, uintptr(0))
 88004  	}
 88005  	return TCL_OK
 88006  }
 88007  
 88008  var aObjCmd3 = [3]struct {
 88009  	FzName      uintptr
 88010  	FxProc      uintptr
 88011  	FclientData uintptr
 88012  }{
 88013  	{FzName: ts + 27830, FxProc: 0},
 88014  	{FzName: ts + 27844, FxProc: 0},
 88015  	{FzName: ts + 27859, FxProc: 0},
 88016  }
 88017  
 88018  func Sqlitetestasync_Init(tls *libc.TLS, interp uintptr) int32 {
 88019  	return TCL_OK
 88020  }
 88021  
 88022  func resetAutoExtObjCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 88023  	sqlite3.Xsqlite3_reset_auto_extension(tls)
 88024  	return SQLITE_OK
 88025  }
 88026  
 88027  func Sqlitetest_autoext_Init(tls *libc.TLS, interp uintptr) int32 {
 88028  	tcl.XTcl_CreateObjCommand(tls, interp, ts+27876,
 88029  		*(*uintptr)(unsafe.Pointer(&struct {
 88030  			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 88031  		}{resetAutoExtObjCmd})), uintptr(0), uintptr(0))
 88032  	return TCL_OK
 88033  }
 88034  
 88035  func backupTestCmd(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 88036  	bp := tls.Alloc(196)
 88037  	defer tls.Free(196)
 88038  
 88039  	*(*[5]BackupSubCommand)(unsafe.Pointer(bp)) = [5]BackupSubCommand{
 88040  		{FzCmd: ts + 9485, FnArg: 1, FzArg: ts + 27905},
 88041  		{FzCmd: ts + 27911, FeCmd: uint32(1), FzArg: ts + 584},
 88042  		{FzCmd: ts + 27918, FeCmd: uint32(2), FzArg: ts + 584},
 88043  		{FzCmd: ts + 27928, FeCmd: uint32(3), FzArg: ts + 584},
 88044  		{},
 88045  	}
 88046  
 88047  	var p uintptr = clientData
 88048  
 88049  	var rc int32
 88050  
 88051  	rc = tcl.XTcl_GetIndexFromObjStruct(tls,
 88052  		interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp, int32(unsafe.Sizeof(BackupSubCommand{})), ts+11691, 0, bp+120)
 88053  	if rc != TCL_OK {
 88054  		return rc
 88055  	}
 88056  	if objc != 2+(*BackupSubCommand)(unsafe.Pointer(bp+uintptr(*(*int32)(unsafe.Pointer(bp + 120)))*24)).FnArg {
 88057  		tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, (*BackupSubCommand)(unsafe.Pointer(bp+uintptr(*(*int32)(unsafe.Pointer(bp + 120)))*24)).FzArg)
 88058  		return TCL_ERROR
 88059  	}
 88060  
 88061  	switch (*BackupSubCommand)(unsafe.Pointer(bp + uintptr(*(*int32)(unsafe.Pointer(bp + 120)))*24)).FeCmd {
 88062  	case uint32(1):
 88063  		{
 88064  			var zCmdName uintptr
 88065  
 88066  			zCmdName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv)))
 88067  			tcl.XTcl_GetCommandInfo(tls, interp, zCmdName, bp+128)
 88068  			(*Tcl_CmdInfo)(unsafe.Pointer(bp + 128)).FdeleteProc = uintptr(0)
 88069  			tcl.XTcl_SetCommandInfo(tls, interp, zCmdName, bp+128)
 88070  			tcl.XTcl_DeleteCommand(tls, interp, zCmdName)
 88071  
 88072  			rc = sqlite3.Xsqlite3_backup_finish(tls, p)
 88073  			tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0))
 88074  			break
 88075  
 88076  		}
 88077  
 88078  	case uint32(0):
 88079  		{
 88080  			if TCL_OK != tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+192) {
 88081  				return TCL_ERROR
 88082  			}
 88083  			rc = sqlite3.Xsqlite3_backup_step(tls, p, *(*int32)(unsafe.Pointer(bp + 192)))
 88084  			tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0))
 88085  			break
 88086  
 88087  		}
 88088  
 88089  	case uint32(2):
 88090  		tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, sqlite3.Xsqlite3_backup_remaining(tls, p)))
 88091  		break
 88092  
 88093  	case uint32(3):
 88094  		tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, sqlite3.Xsqlite3_backup_pagecount(tls, p)))
 88095  		break
 88096  	}
 88097  
 88098  	return TCL_OK
 88099  }
 88100  
 88101  type BackupSubCommand = struct {
 88102  	FzCmd uintptr
 88103  	FeCmd uint32
 88104  	FnArg int32
 88105  	FzArg uintptr
 88106  }
 88107  
 88108  func backupTestFinish(tls *libc.TLS, clientData ClientData) {
 88109  	var pBackup uintptr = clientData
 88110  	sqlite3.Xsqlite3_backup_finish(tls, pBackup)
 88111  }
 88112  
 88113  func backupTestInit(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 88114  	bp := tls.Alloc(32)
 88115  	defer tls.Free(32)
 88116  
 88117  	var pBackup uintptr
 88118  
 88119  	var zDestName uintptr
 88120  	var zSrcName uintptr
 88121  	var zCmd uintptr
 88122  
 88123  	if objc != 6 {
 88124  		tcl.XTcl_WrongNumArgs(tls,
 88125  			interp, 1, objv, ts+27938)
 88126  		return TCL_ERROR
 88127  	}
 88128  
 88129  	zCmd = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))
 88130  	getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), bp+16)
 88131  	zDestName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)))
 88132  	getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 4*8))), bp+24)
 88133  	zSrcName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 5*8)))
 88134  
 88135  	pBackup = sqlite3.Xsqlite3_backup_init(tls, *(*uintptr)(unsafe.Pointer(bp + 16)), zDestName, *(*uintptr)(unsafe.Pointer(bp + 24)), zSrcName)
 88136  	if !(pBackup != 0) {
 88137  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+27984, 0))
 88138  		return TCL_ERROR
 88139  	}
 88140  
 88141  	tcl.XTcl_CreateObjCommand(tls, interp, zCmd, *(*uintptr)(unsafe.Pointer(&struct {
 88142  		f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32
 88143  	}{backupTestCmd})), pBackup, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, ClientData) }{backupTestFinish})))
 88144  	tcl.XTcl_SetObjResult(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)))
 88145  	return TCL_OK
 88146  }
 88147  
 88148  func Sqlitetestbackup_Init(tls *libc.TLS, interp uintptr) int32 {
 88149  	tcl.XTcl_CreateObjCommand(tls, interp, ts+28013, *(*uintptr)(unsafe.Pointer(&struct {
 88150  		f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32
 88151  	}{backupTestInit})), uintptr(0), uintptr(0))
 88152  	return TCL_OK
 88153  }
 88154  
 88155  type tcl_vtab1 = struct {
 88156  	Fbase   sqlite3_vtab
 88157  	Finterp uintptr
 88158  	FpCmd   uintptr
 88159  	Fdb     uintptr
 88160  }
 88161  
 88162  type tcl_vtab = tcl_vtab1
 88163  type tcl_cursor1 = struct {
 88164  	Fbase  sqlite3_vtab_cursor
 88165  	FpStmt uintptr
 88166  }
 88167  
 88168  type tcl_cursor = tcl_cursor1
 88169  
 88170  func tclDequote(tls *libc.TLS, z uintptr) {
 88171  	var q int8 = *(*int8)(unsafe.Pointer(z))
 88172  
 88173  	if int32(q) == '[' || int32(q) == '\'' || int32(q) == '"' || int32(q) == '`' {
 88174  		var iIn int32 = 1
 88175  		var iOut int32 = 0
 88176  		if int32(q) == '[' {
 88177  			q = int8(']')
 88178  		}
 88179  
 88180  		for *(*int8)(unsafe.Pointer(z + uintptr(iIn))) != 0 {
 88181  			if int32(*(*int8)(unsafe.Pointer(z + uintptr(iIn)))) == int32(q) {
 88182  				if int32(*(*int8)(unsafe.Pointer(z + uintptr(iIn+1)))) != int32(q) {
 88183  					iIn++
 88184  					break
 88185  				} else {
 88186  					iIn = iIn + 2
 88187  					*(*int8)(unsafe.Pointer(z + uintptr(libc.PostIncInt32(&iOut, 1)))) = q
 88188  				}
 88189  			} else {
 88190  				*(*int8)(unsafe.Pointer(z + uintptr(libc.PostIncInt32(&iOut, 1)))) = *(*int8)(unsafe.Pointer(z + uintptr(libc.PostIncInt32(&iIn, 1))))
 88191  			}
 88192  		}
 88193  
 88194  		*(*int8)(unsafe.Pointer(z + uintptr(iOut))) = int8(0)
 88195  	}
 88196  }
 88197  
 88198  func tclConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 {
 88199  	bp := tls.Alloc(8)
 88200  	defer tls.Free(8)
 88201  
 88202  	var interp uintptr = pAux
 88203  	var pTab uintptr = uintptr(0)
 88204  	var zCmd uintptr = uintptr(0)
 88205  	var pScript uintptr = uintptr(0)
 88206  	var rc int32 = SQLITE_OK
 88207  
 88208  	if argc != 4 {
 88209  		*(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+28028, 0)
 88210  		return SQLITE_ERROR
 88211  	}
 88212  
 88213  	zCmd = sqlite3.Xsqlite3_malloc64(tls, libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)))+uint64(1))
 88214  	pTab = sqlite3.Xsqlite3_malloc64(tls, uint64(unsafe.Sizeof(tcl_vtab{})))
 88215  	if zCmd != 0 && pTab != 0 {
 88216  		libc.Xmemcpy(tls, zCmd, *(*uintptr)(unsafe.Pointer(argv + 3*8)), libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)))+uint64(1))
 88217  		tclDequote(tls, zCmd)
 88218  		libc.Xmemset(tls, pTab, 0, uint64(unsafe.Sizeof(tcl_vtab{})))
 88219  
 88220  		(*tcl_vtab)(unsafe.Pointer(pTab)).FpCmd = tcl.XTcl_NewStringObj(tls, zCmd, -1)
 88221  		(*tcl_vtab)(unsafe.Pointer(pTab)).Finterp = interp
 88222  		(*tcl_vtab)(unsafe.Pointer(pTab)).Fdb = db
 88223  		(*Tcl_Obj)(unsafe.Pointer((*tcl_vtab)(unsafe.Pointer(pTab)).FpCmd)).FrefCount++
 88224  
 88225  		pScript = tcl.XTcl_DuplicateObj(tls, (*tcl_vtab)(unsafe.Pointer(pTab)).FpCmd)
 88226  		(*Tcl_Obj)(unsafe.Pointer(pScript)).FrefCount++
 88227  		tcl.XTcl_ListObjAppendElement(tls, interp, pScript, tcl.XTcl_NewStringObj(tls, ts+27081, -1))
 88228  
 88229  		rc = tcl.XTcl_EvalObjEx(tls, interp, pScript, TCL_EVAL_GLOBAL)
 88230  		if rc != TCL_OK {
 88231  			*(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts, libc.VaList(bp, tcl.XTcl_GetStringResult(tls, interp)))
 88232  			rc = SQLITE_ERROR
 88233  		} else {
 88234  			rc = sqlite3.Xsqlite3_declare_vtab(tls, db, tcl.XTcl_GetStringResult(tls, interp))
 88235  		}
 88236  
 88237  		if rc != SQLITE_OK {
 88238  			sqlite3.Xsqlite3_free(tls, pTab)
 88239  			pTab = uintptr(0)
 88240  		}
 88241  	} else {
 88242  		rc = SQLITE_NOMEM
 88243  	}
 88244  
 88245  	sqlite3.Xsqlite3_free(tls, zCmd)
 88246  	*(*uintptr)(unsafe.Pointer(ppVtab)) = pTab
 88247  	return rc
 88248  }
 88249  
 88250  func tclDisconnect(tls *libc.TLS, pVtab uintptr) int32 {
 88251  	var pTab uintptr = pVtab
 88252  	for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
 88253  		var _objPtr uintptr = (*tcl_vtab)(unsafe.Pointer(pTab)).FpCmd
 88254  		if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 88255  			tcl.XTclFreeObj(tls, _objPtr)
 88256  		}
 88257  	}
 88258  	sqlite3.Xsqlite3_free(tls, pTab)
 88259  	return SQLITE_OK
 88260  }
 88261  
 88262  func tclOpen(tls *libc.TLS, pVTab uintptr, ppCursor uintptr) int32 {
 88263  	var pCur uintptr
 88264  	pCur = sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(tcl_cursor{})))
 88265  	if pCur == uintptr(0) {
 88266  		return SQLITE_NOMEM
 88267  	}
 88268  	libc.Xmemset(tls, pCur, 0, uint64(unsafe.Sizeof(tcl_cursor{})))
 88269  	*(*uintptr)(unsafe.Pointer(ppCursor)) = pCur
 88270  	return SQLITE_OK
 88271  }
 88272  
 88273  func tclClose(tls *libc.TLS, cur uintptr) int32 {
 88274  	var pCur uintptr = cur
 88275  	if pCur != 0 {
 88276  		sqlite3.Xsqlite3_finalize(tls, (*tcl_cursor)(unsafe.Pointer(pCur)).FpStmt)
 88277  		sqlite3.Xsqlite3_free(tls, pCur)
 88278  	}
 88279  	return SQLITE_OK
 88280  }
 88281  
 88282  func tclNext(tls *libc.TLS, pVtabCursor uintptr) int32 {
 88283  	bp := tls.Alloc(8)
 88284  	defer tls.Free(8)
 88285  
 88286  	var pCsr uintptr = pVtabCursor
 88287  	if (*tcl_cursor)(unsafe.Pointer(pCsr)).FpStmt != 0 {
 88288  		var pTab uintptr = (*sqlite3_vtab_cursor)(unsafe.Pointer(pVtabCursor)).FpVtab
 88289  		var rc int32 = sqlite3.Xsqlite3_step(tls, (*tcl_cursor)(unsafe.Pointer(pCsr)).FpStmt)
 88290  		if rc != SQLITE_ROW {
 88291  			var zErr uintptr
 88292  			rc = sqlite3.Xsqlite3_finalize(tls, (*tcl_cursor)(unsafe.Pointer(pCsr)).FpStmt)
 88293  			(*tcl_cursor)(unsafe.Pointer(pCsr)).FpStmt = uintptr(0)
 88294  			if rc != SQLITE_OK {
 88295  				zErr = sqlite3.Xsqlite3_errmsg(tls, (*tcl_vtab)(unsafe.Pointer(pTab)).Fdb)
 88296  				(*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts, libc.VaList(bp, zErr))
 88297  			}
 88298  		}
 88299  	}
 88300  	return SQLITE_OK
 88301  }
 88302  
 88303  func tclFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 {
 88304  	bp := tls.Alloc(56)
 88305  	defer tls.Free(56)
 88306  
 88307  	var pCsr uintptr = pVtabCursor
 88308  	var pTab uintptr = (*sqlite3_vtab_cursor)(unsafe.Pointer(pVtabCursor)).FpVtab
 88309  	var interp uintptr = (*tcl_vtab)(unsafe.Pointer(pTab)).Finterp
 88310  	var pScript uintptr
 88311  	var pArg uintptr
 88312  	var ii int32
 88313  	var rc int32
 88314  
 88315  	pScript = tcl.XTcl_DuplicateObj(tls, (*tcl_vtab)(unsafe.Pointer(pTab)).FpCmd)
 88316  	(*Tcl_Obj)(unsafe.Pointer(pScript)).FrefCount++
 88317  	tcl.XTcl_ListObjAppendElement(tls, interp, pScript, tcl.XTcl_NewStringObj(tls, ts+27145, -1))
 88318  	tcl.XTcl_ListObjAppendElement(tls, interp, pScript, tcl.XTcl_NewIntObj(tls, idxNum))
 88319  	if idxStr != 0 {
 88320  		tcl.XTcl_ListObjAppendElement(tls, interp, pScript, tcl.XTcl_NewStringObj(tls, idxStr, -1))
 88321  	} else {
 88322  		tcl.XTcl_ListObjAppendElement(tls, interp, pScript, tcl.XTcl_NewStringObj(tls, ts+584, -1))
 88323  	}
 88324  
 88325  	pArg = tcl.XTcl_NewObj(tls)
 88326  	(*Tcl_Obj)(unsafe.Pointer(pArg)).FrefCount++
 88327  	for ii = 0; ii < argc; ii++ {
 88328  		var zVal uintptr = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8)))
 88329  		var pVal uintptr
 88330  		if zVal == uintptr(0) {
 88331  			pVal = tcl.XTcl_NewObj(tls)
 88332  			for rc = sqlite3.Xsqlite3_vtab_in_first(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8)), bp+32); rc == SQLITE_OK && *(*uintptr)(unsafe.Pointer(bp + 32)) != 0; rc = sqlite3.Xsqlite3_vtab_in_next(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8)), bp+32) {
 88333  				var pVal2 uintptr = uintptr(0)
 88334  				zVal = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))
 88335  				if zVal != 0 {
 88336  					pVal2 = tcl.XTcl_NewStringObj(tls, zVal, -1)
 88337  				} else {
 88338  					pVal2 = tcl.XTcl_NewObj(tls)
 88339  				}
 88340  				tcl.XTcl_ListObjAppendElement(tls, interp, pVal, pVal2)
 88341  			}
 88342  		} else {
 88343  			pVal = tcl.XTcl_NewStringObj(tls, zVal, -1)
 88344  		}
 88345  		tcl.XTcl_ListObjAppendElement(tls, interp, pArg, pVal)
 88346  	}
 88347  	tcl.XTcl_ListObjAppendElement(tls, interp, pScript, pArg)
 88348  	for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
 88349  		var _objPtr uintptr = pArg
 88350  		if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 88351  			tcl.XTclFreeObj(tls, _objPtr)
 88352  		}
 88353  	}
 88354  
 88355  	rc = tcl.XTcl_EvalObjEx(tls, interp, pScript, TCL_EVAL_GLOBAL)
 88356  	if rc != TCL_OK {
 88357  		var zErr uintptr = tcl.XTcl_GetStringResult(tls, interp)
 88358  		rc = SQLITE_ERROR
 88359  		(*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts, libc.VaList(bp, zErr))
 88360  	} else {
 88361  		var pRes uintptr = tcl.XTcl_GetObjResult(tls, interp)
 88362  		*(*uintptr)(unsafe.Pointer(bp + 48)) = uintptr(0)
 88363  
 88364  		rc = tcl.XTcl_ListObjGetElements(tls, interp, pRes, bp+40, bp+48)
 88365  		if rc != TCL_OK {
 88366  			var zErr uintptr = tcl.XTcl_GetStringResult(tls, interp)
 88367  			rc = SQLITE_ERROR
 88368  			(*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts, libc.VaList(bp+8, zErr))
 88369  		} else {
 88370  			for ii = 0; rc == SQLITE_OK && ii < *(*int32)(unsafe.Pointer(bp + 40)); ii = ii + 2 {
 88371  				var zCmd uintptr = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 48)) + uintptr(ii)*8)))
 88372  				var p uintptr = *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 48)) + uintptr(ii+1)*8))
 88373  				if sqlite3.Xsqlite3_stricmp(tls, ts+1947, zCmd) == 0 {
 88374  					var zSql uintptr = tcl.XTcl_GetString(tls, p)
 88375  					rc = sqlite3.Xsqlite3_prepare_v2(tls, (*tcl_vtab)(unsafe.Pointer(pTab)).Fdb, zSql, -1, pCsr+8, uintptr(0))
 88376  					if rc != SQLITE_OK {
 88377  						var zErr uintptr = sqlite3.Xsqlite3_errmsg(tls, (*tcl_vtab)(unsafe.Pointer(pTab)).Fdb)
 88378  						(*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+28054, libc.VaList(bp+16, zErr))
 88379  					}
 88380  				} else {
 88381  					rc = SQLITE_ERROR
 88382  					(*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+28054, libc.VaList(bp+24, zCmd))
 88383  				}
 88384  			}
 88385  		}
 88386  	}
 88387  
 88388  	if rc == SQLITE_OK {
 88389  		rc = tclNext(tls, pVtabCursor)
 88390  	}
 88391  	return rc
 88392  }
 88393  
 88394  func tclColumn(tls *libc.TLS, pVtabCursor uintptr, ctx uintptr, i int32) int32 {
 88395  	var pCsr uintptr = pVtabCursor
 88396  	sqlite3.Xsqlite3_result_value(tls, ctx, sqlite3.Xsqlite3_column_value(tls, (*tcl_cursor)(unsafe.Pointer(pCsr)).FpStmt, i+1))
 88397  	return SQLITE_OK
 88398  }
 88399  
 88400  func tclRowid(tls *libc.TLS, pVtabCursor uintptr, pRowid uintptr) int32 {
 88401  	var pCsr uintptr = pVtabCursor
 88402  	*(*sqlite_int64)(unsafe.Pointer(pRowid)) = sqlite3.Xsqlite3_column_int64(tls, (*tcl_cursor)(unsafe.Pointer(pCsr)).FpStmt, 0)
 88403  	return SQLITE_OK
 88404  }
 88405  
 88406  func tclEof(tls *libc.TLS, pVtabCursor uintptr) int32 {
 88407  	var pCsr uintptr = pVtabCursor
 88408  	return libc.Bool32((*tcl_cursor)(unsafe.Pointer(pCsr)).FpStmt == uintptr(0))
 88409  }
 88410  
 88411  func testBestIndexObjConstraints(tls *libc.TLS, interp uintptr, pIdxInfo uintptr) {
 88412  	var ii int32
 88413  	var pRes uintptr = tcl.XTcl_NewObj(tls)
 88414  	(*Tcl_Obj)(unsafe.Pointer(pRes)).FrefCount++
 88415  	for ii = 0; ii < (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint; ii++ {
 88416  		var pCons uintptr = (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraint + uintptr(ii)*12
 88417  		var pElem uintptr = tcl.XTcl_NewObj(tls)
 88418  		var zOp uintptr = ts + 3405
 88419  
 88420  		(*Tcl_Obj)(unsafe.Pointer(pElem)).FrefCount++
 88421  
 88422  		switch int32((*sqlite3_index_constraint)(unsafe.Pointer(pCons)).Fop) {
 88423  		case SQLITE_INDEX_CONSTRAINT_EQ:
 88424  			zOp = ts + 28069
 88425  			break
 88426  		case SQLITE_INDEX_CONSTRAINT_GT:
 88427  			zOp = ts + 28072
 88428  			break
 88429  		case SQLITE_INDEX_CONSTRAINT_LE:
 88430  			zOp = ts + 28075
 88431  			break
 88432  		case SQLITE_INDEX_CONSTRAINT_LT:
 88433  			zOp = ts + 28078
 88434  			break
 88435  		case SQLITE_INDEX_CONSTRAINT_GE:
 88436  			zOp = ts + 28081
 88437  			break
 88438  		case SQLITE_INDEX_CONSTRAINT_MATCH:
 88439  			zOp = ts + 28084
 88440  			break
 88441  		case SQLITE_INDEX_CONSTRAINT_LIKE:
 88442  			zOp = ts + 27291
 88443  			break
 88444  		case SQLITE_INDEX_CONSTRAINT_GLOB:
 88445  			zOp = ts + 27296
 88446  			break
 88447  		case SQLITE_INDEX_CONSTRAINT_REGEXP:
 88448  			zOp = ts + 6831
 88449  			break
 88450  		case SQLITE_INDEX_CONSTRAINT_NE:
 88451  			zOp = ts + 28090
 88452  			break
 88453  		case SQLITE_INDEX_CONSTRAINT_ISNOT:
 88454  			zOp = ts + 28093
 88455  			break
 88456  		case SQLITE_INDEX_CONSTRAINT_ISNOTNULL:
 88457  			zOp = ts + 28099
 88458  			break
 88459  		case SQLITE_INDEX_CONSTRAINT_ISNULL:
 88460  			zOp = ts + 28109
 88461  			break
 88462  		case SQLITE_INDEX_CONSTRAINT_IS:
 88463  			zOp = ts + 5851
 88464  			break
 88465  		case SQLITE_INDEX_CONSTRAINT_LIMIT:
 88466  			zOp = ts + 28116
 88467  			break
 88468  		case SQLITE_INDEX_CONSTRAINT_OFFSET:
 88469  			zOp = ts + 28122
 88470  			break
 88471  		}
 88472  
 88473  		tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+6194, -1))
 88474  		tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, zOp, -1))
 88475  		tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+28129, -1))
 88476  		tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewIntObj(tls, (*sqlite3_index_constraint)(unsafe.Pointer(pCons)).FiColumn))
 88477  		tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+28136, -1))
 88478  		tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewIntObj(tls, int32((*sqlite3_index_constraint)(unsafe.Pointer(pCons)).Fusable)))
 88479  
 88480  		tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pRes, pElem)
 88481  		for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
 88482  			var _objPtr uintptr = pElem
 88483  			if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 88484  				tcl.XTclFreeObj(tls, _objPtr)
 88485  			}
 88486  		}
 88487  	}
 88488  
 88489  	tcl.XTcl_SetObjResult(tls, interp, pRes)
 88490  	for __ccgo1 := true; __ccgo1; __ccgo1 = 0 != 0 {
 88491  		var _objPtr uintptr = pRes
 88492  		if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 88493  			tcl.XTclFreeObj(tls, _objPtr)
 88494  		}
 88495  	}
 88496  }
 88497  
 88498  func testBestIndexObjOrderby(tls *libc.TLS, interp uintptr, pIdxInfo uintptr) {
 88499  	var ii int32
 88500  	var pRes uintptr = tcl.XTcl_NewObj(tls)
 88501  	(*Tcl_Obj)(unsafe.Pointer(pRes)).FrefCount++
 88502  	for ii = 0; ii < (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnOrderBy; ii++ {
 88503  		var pOrder uintptr = (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaOrderBy + uintptr(ii)*8
 88504  		var pElem uintptr = tcl.XTcl_NewObj(tls)
 88505  		(*Tcl_Obj)(unsafe.Pointer(pElem)).FrefCount++
 88506  
 88507  		tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+28129, -1))
 88508  		tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewIntObj(tls, (*sqlite3_index_orderby)(unsafe.Pointer(pOrder)).FiColumn))
 88509  		tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewStringObj(tls, ts+28143, -1))
 88510  		tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pElem, tcl.XTcl_NewIntObj(tls, int32((*sqlite3_index_orderby)(unsafe.Pointer(pOrder)).Fdesc)))
 88511  
 88512  		tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pRes, pElem)
 88513  		for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
 88514  			var _objPtr uintptr = pElem
 88515  			if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 88516  				tcl.XTclFreeObj(tls, _objPtr)
 88517  			}
 88518  		}
 88519  	}
 88520  
 88521  	tcl.XTcl_SetObjResult(tls, interp, pRes)
 88522  	for __ccgo1 := true; __ccgo1; __ccgo1 = 0 != 0 {
 88523  		var _objPtr uintptr = pRes
 88524  		if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 88525  			tcl.XTclFreeObj(tls, _objPtr)
 88526  		}
 88527  	}
 88528  }
 88529  
 88530  func testBestIndexObj(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 88531  	bp := tls.Alloc(80)
 88532  	defer tls.Free(80)
 88533  
 88534  	*(*[7]uintptr)(unsafe.Pointer(bp)) = [7]uintptr{
 88535  		ts + 28148,
 88536  		ts + 28160,
 88537  		ts + 28168,
 88538  		ts + 28173,
 88539  		ts + 28182,
 88540  		ts + 28185,
 88541  		uintptr(0),
 88542  	}
 88543  
 88544  	var pIdxInfo uintptr = clientData
 88545  
 88546  	if objc < 2 {
 88547  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+2523)
 88548  		return TCL_ERROR
 88549  	}
 88550  	if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp, int32(unsafe.Sizeof(uintptr(0))), ts+2014, 0, bp+56) != 0 {
 88551  		return TCL_ERROR
 88552  	}
 88553  
 88554  	if *(*int32)(unsafe.Pointer(bp + 56)) < 4 && objc != 2 {
 88555  		tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+584)
 88556  		return TCL_ERROR
 88557  	}
 88558  	if *(*int32)(unsafe.Pointer(bp + 56)) == 4 && objc != 4 {
 88559  		tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+28195)
 88560  		return TCL_ERROR
 88561  	}
 88562  	if *(*int32)(unsafe.Pointer(bp + 56)) == 5 && objc != 3 && objc != 4 {
 88563  		tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+28209)
 88564  		return TCL_ERROR
 88565  	}
 88566  
 88567  	switch *(*int32)(unsafe.Pointer(bp + 56)) {
 88568  	case 0:
 88569  		testBestIndexObjConstraints(tls, interp, pIdxInfo)
 88570  		break
 88571  
 88572  	case 1:
 88573  		testBestIndexObjOrderby(tls, interp, pIdxInfo)
 88574  		break
 88575  
 88576  	case 2:
 88577  		tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewWideIntObj(tls, int64((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FcolUsed)))
 88578  		break
 88579  
 88580  	case 3:
 88581  		{
 88582  			var bDistinct int32 = sqlite3.Xsqlite3_vtab_distinct(tls, pIdxInfo)
 88583  			tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, bDistinct))
 88584  			break
 88585  
 88586  		}
 88587  
 88588  	case 4:
 88589  		{
 88590  			if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+60) != 0 ||
 88591  				tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+64) != 0 {
 88592  				return TCL_ERROR
 88593  			}
 88594  			tcl.XTcl_SetObjResult(tls, interp,
 88595  				tcl.XTcl_NewIntObj(tls, sqlite3.Xsqlite3_vtab_in(tls, pIdxInfo, *(*int32)(unsafe.Pointer(bp + 60)), *(*int32)(unsafe.Pointer(bp + 64)))))
 88596  			break
 88597  
 88598  		}
 88599  
 88600  	case 5:
 88601  		{
 88602  			*(*int32)(unsafe.Pointer(bp + 68)) = 0
 88603  			var rc int32
 88604  			*(*uintptr)(unsafe.Pointer(bp + 72)) = uintptr(0)
 88605  			var zVal uintptr = ts + 584
 88606  			if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+68) != 0 {
 88607  				return TCL_ERROR
 88608  			}
 88609  			rc = sqlite3.Xsqlite3_vtab_rhs_value(tls, pIdxInfo, *(*int32)(unsafe.Pointer(bp + 68)), bp+72)
 88610  			if rc != SQLITE_OK && rc != SQLITE_NOTFOUND {
 88611  				tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(1))
 88612  				return TCL_ERROR
 88613  			}
 88614  			if *(*uintptr)(unsafe.Pointer(bp + 72)) != 0 {
 88615  				zVal = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(bp + 72)))
 88616  			} else if objc == 4 {
 88617  				zVal = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)))
 88618  			}
 88619  			tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, zVal, -1))
 88620  			break
 88621  
 88622  		}
 88623  	}
 88624  
 88625  	return TCL_OK
 88626  }
 88627  
 88628  func tclBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 {
 88629  	bp := tls.Alloc(108)
 88630  	defer tls.Free(108)
 88631  
 88632  	var pTab uintptr = tab
 88633  	var interp uintptr = (*tcl_vtab)(unsafe.Pointer(pTab)).Finterp
 88634  	var rc int32 = SQLITE_OK
 88635  
 88636  	var pScript uintptr
 88637  
 88638  	pScript = tcl.XTcl_DuplicateObj(tls, (*tcl_vtab)(unsafe.Pointer(pTab)).FpCmd)
 88639  	(*Tcl_Obj)(unsafe.Pointer(pScript)).FrefCount++
 88640  	tcl.XTcl_ListObjAppendElement(tls, interp, pScript, tcl.XTcl_NewStringObj(tls, ts+27199, -1))
 88641  
 88642  	sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([24]int8{})), bp+56, ts+28225, libc.VaList(bp, libc.PostIncInt32(&iNext, 1)))
 88643  	tcl.XTcl_CreateObjCommand(tls, interp, bp+56, *(*uintptr)(unsafe.Pointer(&struct {
 88644  		f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32
 88645  	}{testBestIndexObj})), pIdxInfo, uintptr(0))
 88646  	tcl.XTcl_ListObjAppendElement(tls, interp, pScript, tcl.XTcl_NewStringObj(tls, bp+56, -1))
 88647  	rc = tcl.XTcl_EvalObjEx(tls, interp, pScript, TCL_EVAL_GLOBAL)
 88648  	tcl.XTcl_DeleteCommand(tls, interp, bp+56)
 88649  	for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
 88650  		var _objPtr uintptr = pScript
 88651  		if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 88652  			tcl.XTclFreeObj(tls, _objPtr)
 88653  		}
 88654  	}
 88655  
 88656  	if rc != TCL_OK {
 88657  		var zErr uintptr = tcl.XTcl_GetStringResult(tls, interp)
 88658  		rc = SQLITE_ERROR
 88659  		(*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts, libc.VaList(bp+8, zErr))
 88660  	} else {
 88661  		var pRes uintptr = tcl.XTcl_GetObjResult(tls, interp)
 88662  		*(*uintptr)(unsafe.Pointer(bp + 88)) = uintptr(0)
 88663  
 88664  		rc = tcl.XTcl_ListObjGetElements(tls, interp, pRes, bp+80, bp+88)
 88665  		if rc != TCL_OK {
 88666  			var zErr uintptr = tcl.XTcl_GetStringResult(tls, interp)
 88667  			rc = SQLITE_ERROR
 88668  			(*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts, libc.VaList(bp+16, zErr))
 88669  		} else {
 88670  			var ii int32
 88671  			var iArgv int32 = 1
 88672  			for ii = 0; rc == SQLITE_OK && ii < *(*int32)(unsafe.Pointer(bp + 80)); ii = ii + 2 {
 88673  				var zCmd uintptr = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + uintptr(ii)*8)))
 88674  				var p uintptr = *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + uintptr(ii+1)*8))
 88675  				if sqlite3.Xsqlite3_stricmp(tls, ts+28237, zCmd) == 0 {
 88676  					rc = tcl.XTcl_GetDoubleFromObj(tls, interp, p, pIdxInfo+64)
 88677  				} else if sqlite3.Xsqlite3_stricmp(tls, ts+28160, zCmd) == 0 {
 88678  					rc = tcl.XTcl_GetIntFromObj(tls, interp, p, pIdxInfo+60)
 88679  				} else if sqlite3.Xsqlite3_stricmp(tls, ts+28242, zCmd) == 0 {
 88680  					rc = tcl.XTcl_GetIntFromObj(tls, interp, p, pIdxInfo+40)
 88681  				} else if sqlite3.Xsqlite3_stricmp(tls, ts+28249, zCmd) == 0 {
 88682  					sqlite3.Xsqlite3_free(tls, (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr)
 88683  					(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = sqlite3.Xsqlite3_mprintf(tls, ts, libc.VaList(bp+24, tcl.XTcl_GetString(tls, p)))
 88684  					(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FneedToFreeIdxStr = 1
 88685  				} else if sqlite3.Xsqlite3_stricmp(tls, ts+28256, zCmd) == 0 {
 88686  					*(*Tcl_WideInt)(unsafe.Pointer(bp + 96)) = int64(0)
 88687  					rc = tcl.XTcl_GetWideIntFromObj(tls, interp, p, bp+96)
 88688  					(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = sqlite3_int64(tRowcnt(*(*Tcl_WideInt)(unsafe.Pointer(bp + 96))))
 88689  				} else if sqlite3.Xsqlite3_stricmp(tls, ts+28261, zCmd) == 0 ||
 88690  					sqlite3.Xsqlite3_stricmp(tls, ts+28265, zCmd) == 0 {
 88691  					rc = tcl.XTcl_GetIntFromObj(tls, interp, p, bp+104)
 88692  					if rc == SQLITE_OK {
 88693  						if *(*int32)(unsafe.Pointer(bp + 104)) < 0 || *(*int32)(unsafe.Pointer(bp + 104)) >= (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint {
 88694  							rc = SQLITE_ERROR
 88695  							(*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+28270, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(bp + 104))))
 88696  						} else {
 88697  							var bOmit int32 = libc.Bool32(int32(*(*int8)(unsafe.Pointer(zCmd))) == 'o' || int32(*(*int8)(unsafe.Pointer(zCmd))) == 'O')
 88698  							(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(*(*int32)(unsafe.Pointer(bp + 104)))*8)).FargvIndex = libc.PostIncInt32(&iArgv, 1)
 88699  							(*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(*(*int32)(unsafe.Pointer(bp + 104)))*8)).Fomit = uint8(bOmit)
 88700  						}
 88701  					}
 88702  				} else {
 88703  					rc = SQLITE_ERROR
 88704  					(*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+28054, libc.VaList(bp+40, zCmd))
 88705  				}
 88706  				if rc != SQLITE_OK && (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg == uintptr(0) {
 88707  					var zErr uintptr = tcl.XTcl_GetStringResult(tls, interp)
 88708  					(*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts, libc.VaList(bp+48, zErr))
 88709  				}
 88710  			}
 88711  		}
 88712  	}
 88713  
 88714  	return rc
 88715  }
 88716  
 88717  var iNext int32 = 43
 88718  
 88719  var tclModule = sqlite3_module{
 88720  	FxCreate:     0,
 88721  	FxConnect:    0,
 88722  	FxBestIndex:  0,
 88723  	FxDisconnect: 0,
 88724  	FxDestroy:    0,
 88725  	FxOpen:       0,
 88726  	FxClose:      0,
 88727  	FxFilter:     0,
 88728  	FxNext:       0,
 88729  	FxEof:        0,
 88730  	FxColumn:     0,
 88731  	FxRowid:      0,
 88732  }
 88733  
 88734  func register_tcl_module(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 88735  	bp := tls.Alloc(8)
 88736  	defer tls.Free(8)
 88737  
 88738  	if objc != 2 {
 88739  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+2050)
 88740  		return TCL_ERROR
 88741  	}
 88742  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp) != 0 {
 88743  		return TCL_ERROR
 88744  	}
 88745  	sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp)), ts+28285, uintptr(unsafe.Pointer(&tclModule)), interp)
 88746  	return TCL_OK
 88747  }
 88748  
 88749  func Sqlitetesttcl_Init(tls *libc.TLS, interp uintptr) int32 {
 88750  	var i int32
 88751  	for i = 0; uint64(i) < uint64(unsafe.Sizeof(aObjCmd4))/uint64(unsafe.Sizeof(struct {
 88752  		FzName      uintptr
 88753  		FxProc      uintptr
 88754  		FclientData uintptr
 88755  	}{})); i++ {
 88756  		tcl.XTcl_CreateObjCommand(tls, interp, aObjCmd4[i].FzName,
 88757  			aObjCmd4[i].FxProc, aObjCmd4[i].FclientData, uintptr(0))
 88758  	}
 88759  	return TCL_OK
 88760  }
 88761  
 88762  var aObjCmd4 = [1]struct {
 88763  	FzName      uintptr
 88764  	FxProc      uintptr
 88765  	FclientData uintptr
 88766  }{
 88767  	{FzName: ts + 28289, FxProc: 0},
 88768  }
 88769  
 88770  func ptrToText(tls *libc.TLS, p uintptr) uintptr {
 88771  	bp := tls.Alloc(8)
 88772  	defer tls.Free(8)
 88773  
 88774  	sqlite3.Xsqlite3_snprintf(tls, int32(uint64(unsafe.Sizeof(buf))-uint64(1)), uintptr(unsafe.Pointer(&buf)), ts+9889, libc.VaList(bp, p))
 88775  	return uintptr(unsafe.Pointer(&buf))
 88776  }
 88777  
 88778  var buf [100]int8
 88779  
 88780  func blobHandleFromObj1(tls *libc.TLS, interp uintptr, pObj uintptr, ppBlob uintptr) int32 {
 88781  	bp := tls.Alloc(8)
 88782  	defer tls.Free(8)
 88783  
 88784  	var z uintptr
 88785  
 88786  	z = tcl.XTcl_GetStringFromObj(tls, pObj, bp)
 88787  	if *(*int32)(unsafe.Pointer(bp)) == 0 {
 88788  		*(*uintptr)(unsafe.Pointer(ppBlob)) = uintptr(0)
 88789  	} else if *(*int32)(unsafe.Pointer(bp)) > 9 && 0 == libc.Xmemcmp(tls, ts+28309, z, uint64(9)) {
 88790  		var channel Tcl_Channel
 88791  		var instanceData ClientData
 88792  
 88793  		channel = tcl.XTcl_GetChannel(tls, interp, z, bp+4)
 88794  		if !(channel != 0) {
 88795  			return TCL_ERROR
 88796  		}
 88797  
 88798  		tcl.XTcl_Flush(tls, channel)
 88799  		tcl.XTcl_Seek(tls, channel, int64(0), SEEK_SET)
 88800  
 88801  		instanceData = tcl.XTcl_GetChannelInstanceData(tls, channel)
 88802  		*(*uintptr)(unsafe.Pointer(ppBlob)) = *(*uintptr)(unsafe.Pointer(instanceData))
 88803  	} else {
 88804  		*(*uintptr)(unsafe.Pointer(ppBlob)) = sqlite3TestTextToPtr(tls, z)
 88805  	}
 88806  
 88807  	return TCL_OK
 88808  }
 88809  
 88810  func blobStringFromObj(tls *libc.TLS, pObj uintptr) uintptr {
 88811  	bp := tls.Alloc(4)
 88812  	defer tls.Free(4)
 88813  
 88814  	var z uintptr
 88815  	z = tcl.XTcl_GetStringFromObj(tls, pObj, bp)
 88816  	return func() uintptr {
 88817  		if *(*int32)(unsafe.Pointer(bp)) != 0 {
 88818  			return z
 88819  		}
 88820  		return uintptr(0)
 88821  	}()
 88822  }
 88823  
 88824  func test_blob_open(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 88825  	bp := tls.Alloc(40)
 88826  	defer tls.Free(40)
 88827  
 88828  	var zDb uintptr
 88829  	var zTable uintptr
 88830  	var zColumn uintptr
 88831  
 88832  	var zVarname uintptr
 88833  
 88834  	*(*uintptr)(unsafe.Pointer(bp + 32)) = bp
 88835  	var rc int32
 88836  
 88837  	if objc != 8 {
 88838  		var zUsage uintptr = ts + 28319
 88839  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, zUsage)
 88840  		return TCL_ERROR
 88841  	}
 88842  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+8) != 0 {
 88843  		return TCL_ERROR
 88844  	}
 88845  	zDb = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
 88846  	zTable = blobStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)))
 88847  	zColumn = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 4*8)))
 88848  	if tcl.XTcl_GetWideIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 5*8)), bp+16) != 0 {
 88849  		return TCL_ERROR
 88850  	}
 88851  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 6*8)), bp) != 0 {
 88852  		return TCL_ERROR
 88853  	}
 88854  	zVarname = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 7*8)), bp+24)
 88855  
 88856  	if *(*int32)(unsafe.Pointer(bp + 24)) > 0 {
 88857  		rc = sqlite3.Xsqlite3_blob_open(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), zDb, zTable, zColumn, *(*Tcl_WideInt)(unsafe.Pointer(bp + 16)), *(*int32)(unsafe.Pointer(bp)), bp+32)
 88858  		tcl.XTcl_SetVar2(tls, interp, zVarname, uintptr(0), ptrToText(tls, *(*uintptr)(unsafe.Pointer(bp + 32))), 0)
 88859  	} else {
 88860  		rc = sqlite3.Xsqlite3_blob_open(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), zDb, zTable, zColumn, *(*Tcl_WideInt)(unsafe.Pointer(bp + 16)), *(*int32)(unsafe.Pointer(bp)), uintptr(0))
 88861  	}
 88862  
 88863  	if rc == SQLITE_OK {
 88864  		tcl.XTcl_ResetResult(tls, interp)
 88865  	} else {
 88866  		tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(1))
 88867  		return TCL_ERROR
 88868  	}
 88869  	return TCL_OK
 88870  }
 88871  
 88872  func test_blob_close(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 88873  	bp := tls.Alloc(8)
 88874  	defer tls.Free(8)
 88875  
 88876  	var rc int32
 88877  
 88878  	if objc != 2 {
 88879  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28364)
 88880  		return TCL_ERROR
 88881  	}
 88882  
 88883  	if blobHandleFromObj1(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp) != 0 {
 88884  		return TCL_ERROR
 88885  	}
 88886  	rc = sqlite3.Xsqlite3_blob_close(tls, *(*uintptr)(unsafe.Pointer(bp)))
 88887  
 88888  	if rc != 0 {
 88889  		tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(1))
 88890  	} else {
 88891  		tcl.XTcl_ResetResult(tls, interp)
 88892  	}
 88893  	return TCL_OK
 88894  }
 88895  
 88896  func test_blob_bytes(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 88897  	bp := tls.Alloc(8)
 88898  	defer tls.Free(8)
 88899  
 88900  	var nByte int32
 88901  
 88902  	if objc != 2 {
 88903  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28364)
 88904  		return TCL_ERROR
 88905  	}
 88906  
 88907  	if blobHandleFromObj1(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp) != 0 {
 88908  		return TCL_ERROR
 88909  	}
 88910  	nByte = sqlite3.Xsqlite3_blob_bytes(tls, *(*uintptr)(unsafe.Pointer(bp)))
 88911  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, nByte))
 88912  
 88913  	return TCL_OK
 88914  }
 88915  
 88916  func test_blob_read(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 88917  	bp := tls.Alloc(32)
 88918  	defer tls.Free(32)
 88919  
 88920  	var zBuf uintptr = uintptr(0)
 88921  	var rc int32
 88922  
 88923  	if objc != 4 {
 88924  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28371)
 88925  		return TCL_ERROR
 88926  	}
 88927  
 88928  	if blobHandleFromObj1(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+16) != 0 {
 88929  		return TCL_ERROR
 88930  	}
 88931  	if TCL_OK != tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+24) ||
 88932  		TCL_OK != tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+28) {
 88933  		return TCL_ERROR
 88934  	}
 88935  
 88936  	if *(*int32)(unsafe.Pointer(bp + 28)) > 0 {
 88937  		zBuf = tcl.XTcl_AttemptAlloc(tls, uint32(*(*int32)(unsafe.Pointer(bp + 28))))
 88938  		if zBuf == uintptr(0) {
 88939  			tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+28388, 0))
 88940  			return TCL_ERROR
 88941  		}
 88942  	}
 88943  	rc = sqlite3.Xsqlite3_blob_read(tls, *(*uintptr)(unsafe.Pointer(bp + 16)), zBuf, *(*int32)(unsafe.Pointer(bp + 28)), *(*int32)(unsafe.Pointer(bp + 24)))
 88944  	if rc == SQLITE_OK {
 88945  		tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, zBuf, *(*int32)(unsafe.Pointer(bp + 28))))
 88946  	} else {
 88947  		tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(1))
 88948  	}
 88949  	tcl.XTcl_Free(tls, zBuf)
 88950  
 88951  	return func() int32 {
 88952  		if rc == SQLITE_OK {
 88953  			return TCL_OK
 88954  		}
 88955  		return TCL_ERROR
 88956  	}()
 88957  }
 88958  
 88959  func test_blob_write(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 88960  	bp := tls.Alloc(16)
 88961  	defer tls.Free(16)
 88962  
 88963  	var rc int32
 88964  	var zBuf uintptr
 88965  
 88966  	if objc != 4 && objc != 5 {
 88967  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28449)
 88968  		return TCL_ERROR
 88969  	}
 88970  
 88971  	if blobHandleFromObj1(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp) != 0 {
 88972  		return TCL_ERROR
 88973  	}
 88974  	if TCL_OK != tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+8) {
 88975  		return TCL_ERROR
 88976  	}
 88977  
 88978  	zBuf = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+12)
 88979  	if objc == 5 && tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 4*8)), bp+12) != 0 {
 88980  		return TCL_ERROR
 88981  	}
 88982  	rc = sqlite3.Xsqlite3_blob_write(tls, *(*uintptr)(unsafe.Pointer(bp)), zBuf, *(*int32)(unsafe.Pointer(bp + 12)), *(*int32)(unsafe.Pointer(bp + 8)))
 88983  	if rc != SQLITE_OK {
 88984  		tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(1))
 88985  	}
 88986  
 88987  	return func() int32 {
 88988  		if rc == SQLITE_OK {
 88989  			return TCL_OK
 88990  		}
 88991  		return TCL_ERROR
 88992  	}()
 88993  }
 88994  
 88995  func Sqlitetest_blob_Init(tls *libc.TLS, interp uintptr) int32 {
 88996  	var i int32
 88997  	for i = 0; uint64(i) < uint64(unsafe.Sizeof(aObjCmd5))/uint64(unsafe.Sizeof(struct {
 88998  		FzName uintptr
 88999  		FxProc uintptr
 89000  	}{})); i++ {
 89001  		tcl.XTcl_CreateObjCommand(tls, interp, aObjCmd5[i].FzName, aObjCmd5[i].FxProc, uintptr(0), uintptr(0))
 89002  	}
 89003  	return TCL_OK
 89004  }
 89005  
 89006  var aObjCmd5 = [5]struct {
 89007  	FzName uintptr
 89008  	FxProc uintptr
 89009  }{
 89010  	{FzName: ts + 28476, FxProc: 0},
 89011  	{FzName: ts + 28494, FxProc: 0},
 89012  	{FzName: ts + 28513, FxProc: 0},
 89013  	{FzName: ts + 28532, FxProc: 0},
 89014  	{FzName: ts + 28550, FxProc: 0},
 89015  }
 89016  
 89017  func sqlite3BtreeSharedCacheReport(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 89018  	var pBt uintptr
 89019  	var pRet uintptr = tcl.XTcl_NewObj(tls)
 89020  	for pBt = sqlite3.Xsqlite3SharedCacheList; pBt != 0; pBt = (*BtShared)(unsafe.Pointer(pBt)).FpNext {
 89021  		var zFile uintptr = sqlite3.Xsqlite3PagerFilename(tls, (*BtShared)(unsafe.Pointer(pBt)).FpPager, 1)
 89022  		tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, zFile, -1))
 89023  		tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewIntObj(tls, (*BtShared)(unsafe.Pointer(pBt)).FnRef))
 89024  	}
 89025  	tcl.XTcl_SetObjResult(tls, interp, pRet)
 89026  	return TCL_OK
 89027  }
 89028  
 89029  func sqlite3BtreeCursorList(tls *libc.TLS, p uintptr) {
 89030  }
 89031  
 89032  func set_options(tls *libc.TLS, interp uintptr) {
 89033  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+28584, ts+14193,
 89034  		TCL_GLOBAL_ONLY)
 89035  
 89036  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+28603, ts+14193, TCL_GLOBAL_ONLY)
 89037  
 89038  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+28611, ts+14193, TCL_GLOBAL_ONLY)
 89039  
 89040  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+28629, ts+28642, TCL_GLOBAL_ONLY)
 89041  
 89042  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+28646, ts+28653, TCL_GLOBAL_ONLY)
 89043  
 89044  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+28655, ts+14193, TCL_GLOBAL_ONLY)
 89045  
 89046  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+28667, ts+14193, TCL_GLOBAL_ONLY)
 89047  
 89048  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+28673, ts+14193, TCL_GLOBAL_ONLY)
 89049  
 89050  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+28695, ts+14193, TCL_GLOBAL_ONLY)
 89051  
 89052  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+28707, ts+28653, TCL_GLOBAL_ONLY)
 89053  
 89054  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+28715, ts+28653, TCL_GLOBAL_ONLY)
 89055  
 89056  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+28719, ts+28653, TCL_GLOBAL_ONLY)
 89057  
 89058  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+28744, ts+28653, TCL_GLOBAL_ONLY)
 89059  
 89060  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+28749,
 89061  		ts+28764, TCL_GLOBAL_ONLY)
 89062  
 89063  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+28766, ts+14193, TCL_GLOBAL_ONLY)
 89064  
 89065  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+28775, ts+14193, TCL_GLOBAL_ONLY)
 89066  
 89067  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+28785, ts+14193, TCL_GLOBAL_ONLY)
 89068  
 89069  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+28797, ts+14193, TCL_GLOBAL_ONLY)
 89070  
 89071  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+13460, ts+28653, TCL_GLOBAL_ONLY)
 89072  
 89073  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+28811, ts+28653, TCL_GLOBAL_ONLY)
 89074  
 89075  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+28819, ts+14193, TCL_GLOBAL_ONLY)
 89076  
 89077  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+28824, ts+14193, TCL_GLOBAL_ONLY)
 89078  
 89079  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+28829, ts+28653, TCL_GLOBAL_ONLY)
 89080  
 89081  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+13580, ts+28653, TCL_GLOBAL_ONLY)
 89082  
 89083  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+28845, ts+28653, TCL_GLOBAL_ONLY)
 89084  
 89085  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+28854, ts+28653, TCL_GLOBAL_ONLY)
 89086  
 89087  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+28860, ts+28653, TCL_GLOBAL_ONLY)
 89088  
 89089  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+28871, ts+28653, TCL_GLOBAL_ONLY)
 89090  
 89091  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+1957, ts+28653, TCL_GLOBAL_ONLY)
 89092  
 89093  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+28882, ts+14193, TCL_GLOBAL_ONLY)
 89094  
 89095  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+28892, ts+14193, TCL_GLOBAL_ONLY)
 89096  
 89097  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+28904, ts+28653, TCL_GLOBAL_ONLY)
 89098  
 89099  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+28912, ts+28653, TCL_GLOBAL_ONLY)
 89100  
 89101  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+28918, ts+14193, TCL_GLOBAL_ONLY)
 89102  
 89103  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+28928, ts+14193, TCL_GLOBAL_ONLY)
 89104  
 89105  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+10121, ts+28653, TCL_GLOBAL_ONLY)
 89106  
 89107  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+28945, ts+28653, TCL_GLOBAL_ONLY)
 89108  
 89109  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+28950, ts+28653, TCL_GLOBAL_ONLY)
 89110  
 89111  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+13044, ts+28653, TCL_GLOBAL_ONLY)
 89112  
 89113  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+28958, ts+28653, TCL_GLOBAL_ONLY)
 89114  
 89115  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+28968, ts+28653, TCL_GLOBAL_ONLY)
 89116  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+28979,
 89117  		ts+14193, TCL_GLOBAL_ONLY)
 89118  
 89119  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+28998, ts+28653, TCL_GLOBAL_ONLY)
 89120  
 89121  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29010, ts+28653, TCL_GLOBAL_ONLY)
 89122  
 89123  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29023, ts+28653, TCL_GLOBAL_ONLY)
 89124  
 89125  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29031, ts+28653, TCL_GLOBAL_ONLY)
 89126  
 89127  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29036, ts+28653, TCL_GLOBAL_ONLY)
 89128  
 89129  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29042, ts+28653, TCL_GLOBAL_ONLY)
 89130  
 89131  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29046, ts+28653, TCL_GLOBAL_ONLY)
 89132  
 89133  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29061, ts+14193,
 89134  		TCL_GLOBAL_ONLY)
 89135  
 89136  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29081, ts+28653, TCL_GLOBAL_ONLY)
 89137  
 89138  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+13439, ts+28653, TCL_GLOBAL_ONLY)
 89139  
 89140  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29101, ts+28653, TCL_GLOBAL_ONLY)
 89141  
 89142  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29110, ts+28653, TCL_GLOBAL_ONLY)
 89143  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29119, ts+28653, TCL_GLOBAL_ONLY)
 89144  
 89145  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29129, ts+28653, TCL_GLOBAL_ONLY)
 89146  
 89147  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29138, ts+28653, TCL_GLOBAL_ONLY)
 89148  
 89149  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29147, ts+28653, TCL_GLOBAL_ONLY)
 89150  
 89151  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29158, ts+28653, TCL_GLOBAL_ONLY)
 89152  
 89153  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+4974, ts+28653, TCL_GLOBAL_ONLY)
 89154  
 89155  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29165, ts+28653, TCL_GLOBAL_ONLY)
 89156  
 89157  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29179, ts+28653, TCL_GLOBAL_ONLY)
 89158  
 89159  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29190, ts+14193, TCL_GLOBAL_ONLY)
 89160  
 89161  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29195, ts+14193, TCL_GLOBAL_ONLY)
 89162  
 89163  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29200, ts+14193, TCL_GLOBAL_ONLY)
 89164  
 89165  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29205, ts+28653, TCL_GLOBAL_ONLY)
 89166  
 89167  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29210, ts+14193, TCL_GLOBAL_ONLY)
 89168  
 89169  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29223, ts+28653, TCL_GLOBAL_ONLY)
 89170  
 89171  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29237, ts+28653, TCL_GLOBAL_ONLY)
 89172  
 89173  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29246, ts+14193, TCL_GLOBAL_ONLY)
 89174  
 89175  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29250, ts+14193, TCL_GLOBAL_ONLY)
 89176  
 89177  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+10868, ts+28653, TCL_GLOBAL_ONLY)
 89178  
 89179  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29265, ts+28653, TCL_GLOBAL_ONLY)
 89180  
 89181  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29277, ts+14193, TCL_GLOBAL_ONLY)
 89182  
 89183  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29290, ts+28653, TCL_GLOBAL_ONLY)
 89184  
 89185  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29299, ts+14193, TCL_GLOBAL_ONLY)
 89186  
 89187  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29308, ts+28653, TCL_GLOBAL_ONLY)
 89188  
 89189  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29318, ts+28653, TCL_GLOBAL_ONLY)
 89190  
 89191  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29328,
 89192  		func() uintptr {
 89193  			if uint64(unsafe.Sizeof(float64(0))) > uint64(unsafe.Sizeof(float64(0))) {
 89194  				return ts + 28653
 89195  			}
 89196  			return ts + 14193
 89197  		}(),
 89198  		TCL_GLOBAL_ONLY)
 89199  
 89200  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29340, ts+28653, TCL_GLOBAL_ONLY)
 89201  
 89202  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29349, ts+28653, TCL_GLOBAL_ONLY)
 89203  
 89204  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29362, ts+28653, TCL_GLOBAL_ONLY)
 89205  
 89206  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29372, ts+14193, TCL_GLOBAL_ONLY)
 89207  
 89208  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29382, ts+28653, TCL_GLOBAL_ONLY)
 89209  
 89210  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29389, ts+28653, TCL_GLOBAL_ONLY)
 89211  
 89212  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29393, ts+28653, TCL_GLOBAL_ONLY)
 89213  
 89214  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29407, ts+28653, TCL_GLOBAL_ONLY)
 89215  
 89216  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+9564, ts+28653, TCL_GLOBAL_ONLY)
 89217  
 89218  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29414, ts+28653, TCL_GLOBAL_ONLY)
 89219  
 89220  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29422, ts+28653, TCL_GLOBAL_ONLY)
 89221  
 89222  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29428, ts+14193, TCL_GLOBAL_ONLY)
 89223  
 89224  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29443, ts+28653, TCL_GLOBAL_ONLY)
 89225  
 89226  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29458, ts+28653, TCL_GLOBAL_ONLY)
 89227  
 89228  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29473, ts+28653, TCL_GLOBAL_ONLY)
 89229  
 89230  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+18934, ts+28653, TCL_GLOBAL_ONLY)
 89231  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29481, ts+28653, TCL_GLOBAL_ONLY)
 89232  
 89233  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29490, ts+14193, TCL_GLOBAL_ONLY)
 89234  
 89235  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29501, ts+14193, TCL_GLOBAL_ONLY)
 89236  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29520, ts+14193, TCL_GLOBAL_ONLY)
 89237  
 89238  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29541, ts+28653, TCL_GLOBAL_ONLY)
 89239  
 89240  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29554, ts+28653, TCL_GLOBAL_ONLY)
 89241  
 89242  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29563, ts+28653, TCL_GLOBAL_ONLY)
 89243  
 89244  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29570,
 89245  		func() uintptr {
 89246  			if 1 != 0 {
 89247  				return ts + 28653
 89248  			}
 89249  			return ts + 14193
 89250  		}(), TCL_GLOBAL_ONLY)
 89251  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29581,
 89252  		func() uintptr {
 89253  			if SQLITE_THREADSAFE == 1 {
 89254  				return ts + 28653
 89255  			}
 89256  			return ts + 14193
 89257  		}(), TCL_GLOBAL_ONLY)
 89258  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29593,
 89259  		func() uintptr {
 89260  			if SQLITE_THREADSAFE == 2 {
 89261  				return ts + 28653
 89262  			}
 89263  			return ts + 14193
 89264  		}(), TCL_GLOBAL_ONLY)
 89265  
 89266  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29605, ts+28653, TCL_GLOBAL_ONLY)
 89267  
 89268  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+13665, ts+28653, TCL_GLOBAL_ONLY)
 89269  
 89270  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29612, ts+28653, TCL_GLOBAL_ONLY)
 89271  
 89272  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29620, ts+28653, TCL_GLOBAL_ONLY)
 89273  
 89274  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+15733, ts+28653, TCL_GLOBAL_ONLY)
 89275  
 89276  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29633, ts+28653, TCL_GLOBAL_ONLY)
 89277  
 89278  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29640, ts+28653, TCL_GLOBAL_ONLY)
 89279  
 89280  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29645, ts+28653, TCL_GLOBAL_ONLY)
 89281  
 89282  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29650, ts+28653, TCL_GLOBAL_ONLY)
 89283  
 89284  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29654, ts+28653, TCL_GLOBAL_ONLY)
 89285  
 89286  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29658, ts+14193, TCL_GLOBAL_ONLY)
 89287  
 89288  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+13692, ts+28653, TCL_GLOBAL_ONLY)
 89289  
 89290  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29678, ts+14193, TCL_GLOBAL_ONLY)
 89291  
 89292  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29697, ts+14193, TCL_GLOBAL_ONLY)
 89293  
 89294  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29711, ts+14193, TCL_GLOBAL_ONLY)
 89295  
 89296  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29720, ts+14193, TCL_GLOBAL_ONLY)
 89297  
 89298  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29744, ts+14193, TCL_GLOBAL_ONLY)
 89299  
 89300  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29765, ts+14193, TCL_GLOBAL_ONLY)
 89301  
 89302  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29772, ts+14193, TCL_GLOBAL_ONLY)
 89303  
 89304  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29785, ts+14193, TCL_GLOBAL_ONLY)
 89305  
 89306  	tcl.XTcl_SetVar2(tls, interp, ts+28569, ts+29795, ts+28653, TCL_GLOBAL_ONLY)
 89307  
 89308  	{
 89309  		tcl.XTcl_LinkVar(tls, interp, ts+29806, uintptr(unsafe.Pointer(&cv_MAX_LENGTH)), TCL_LINK_INT|TCL_LINK_READ_ONLY)
 89310  	}
 89311  
 89312  	{
 89313  		tcl.XTcl_LinkVar(tls, interp, ts+29824, uintptr(unsafe.Pointer(&cv_MAX_COLUMN)), TCL_LINK_INT|TCL_LINK_READ_ONLY)
 89314  	}
 89315  
 89316  	{
 89317  		tcl.XTcl_LinkVar(tls, interp, ts+29842, uintptr(unsafe.Pointer(&cv_MAX_SQL_LENGTH)), TCL_LINK_INT|TCL_LINK_READ_ONLY)
 89318  	}
 89319  
 89320  	{
 89321  		tcl.XTcl_LinkVar(tls, interp, ts+29864, uintptr(unsafe.Pointer(&cv_MAX_EXPR_DEPTH)), TCL_LINK_INT|TCL_LINK_READ_ONLY)
 89322  	}
 89323  
 89324  	{
 89325  		tcl.XTcl_LinkVar(tls, interp, ts+29886, uintptr(unsafe.Pointer(&cv_MAX_COMPOUND_SELECT)), TCL_LINK_INT|TCL_LINK_READ_ONLY)
 89326  	}
 89327  
 89328  	{
 89329  		tcl.XTcl_LinkVar(tls, interp, ts+29913, uintptr(unsafe.Pointer(&cv_MAX_VDBE_OP)), TCL_LINK_INT|TCL_LINK_READ_ONLY)
 89330  	}
 89331  
 89332  	{
 89333  		tcl.XTcl_LinkVar(tls, interp, ts+29932, uintptr(unsafe.Pointer(&cv_MAX_FUNCTION_ARG)), TCL_LINK_INT|TCL_LINK_READ_ONLY)
 89334  	}
 89335  
 89336  	{
 89337  		tcl.XTcl_LinkVar(tls, interp, ts+29956, uintptr(unsafe.Pointer(&cv_MAX_VARIABLE_NUMBER)), TCL_LINK_INT|TCL_LINK_READ_ONLY)
 89338  	}
 89339  
 89340  	{
 89341  		tcl.XTcl_LinkVar(tls, interp, ts+29983, uintptr(unsafe.Pointer(&cv_MAX_PAGE_SIZE)), TCL_LINK_INT|TCL_LINK_READ_ONLY)
 89342  	}
 89343  
 89344  	{
 89345  		tcl.XTcl_LinkVar(tls, interp, ts+30004, uintptr(unsafe.Pointer(&cv_MAX_PAGE_COUNT)), TCL_LINK_INT|TCL_LINK_READ_ONLY)
 89346  	}
 89347  
 89348  	{
 89349  		tcl.XTcl_LinkVar(tls, interp, ts+30026, uintptr(unsafe.Pointer(&cv_MAX_LIKE_PATTERN_LENGTH)), TCL_LINK_INT|TCL_LINK_READ_ONLY)
 89350  	}
 89351  
 89352  	{
 89353  		tcl.XTcl_LinkVar(tls, interp, ts+30057, uintptr(unsafe.Pointer(&cv_MAX_TRIGGER_DEPTH)), TCL_LINK_INT|TCL_LINK_READ_ONLY)
 89354  	}
 89355  
 89356  	{
 89357  		tcl.XTcl_LinkVar(tls, interp, ts+30082, uintptr(unsafe.Pointer(&cv_DEFAULT_CACHE_SIZE)), TCL_LINK_INT|TCL_LINK_READ_ONLY)
 89358  	}
 89359  
 89360  	{
 89361  		tcl.XTcl_LinkVar(tls, interp, ts+30108, uintptr(unsafe.Pointer(&cv_DEFAULT_PAGE_SIZE)), TCL_LINK_INT|TCL_LINK_READ_ONLY)
 89362  	}
 89363  
 89364  	{
 89365  		tcl.XTcl_LinkVar(tls, interp, ts+30133, uintptr(unsafe.Pointer(&cv_DEFAULT_FILE_FORMAT)), TCL_LINK_INT|TCL_LINK_READ_ONLY)
 89366  	}
 89367  
 89368  	{
 89369  		tcl.XTcl_LinkVar(tls, interp, ts+30160, uintptr(unsafe.Pointer(&cv_DEFAULT_SYNCHRONOUS)), TCL_LINK_INT|TCL_LINK_READ_ONLY)
 89370  	}
 89371  
 89372  	{
 89373  		tcl.XTcl_LinkVar(tls, interp, ts+30187, uintptr(unsafe.Pointer(&cv_DEFAULT_WAL_SYNCHRONOUS)), TCL_LINK_INT|TCL_LINK_READ_ONLY)
 89374  	}
 89375  
 89376  	{
 89377  		tcl.XTcl_LinkVar(tls, interp, ts+30218, uintptr(unsafe.Pointer(&cv_MAX_ATTACHED)), TCL_LINK_INT|TCL_LINK_READ_ONLY)
 89378  	}
 89379  
 89380  	{
 89381  		tcl.XTcl_LinkVar(tls, interp, ts+30238, uintptr(unsafe.Pointer(&cv_MAX_DEFAULT_PAGE_SIZE)), TCL_LINK_INT|TCL_LINK_READ_ONLY)
 89382  	}
 89383  
 89384  	{
 89385  		tcl.XTcl_LinkVar(tls, interp, ts+30267, uintptr(unsafe.Pointer(&cv_MAX_WORKER_THREADS)), TCL_LINK_INT|TCL_LINK_READ_ONLY)
 89386  	}
 89387  
 89388  	{
 89389  		tcl.XTcl_LinkVar(tls, interp, ts+30293, uintptr(unsafe.Pointer(&cv_TEMP_STORE)),
 89390  			TCL_LINK_INT|TCL_LINK_READ_ONLY)
 89391  
 89392  	}
 89393  
 89394  	{
 89395  		tcl.XTcl_LinkVar(tls, interp, ts+30304, uintptr(unsafe.Pointer(&cv__MSC_VER)),
 89396  			TCL_LINK_INT|TCL_LINK_READ_ONLY)
 89397  
 89398  	}
 89399  	{
 89400  		tcl.XTcl_LinkVar(tls, interp, ts+30313, uintptr(unsafe.Pointer(&cv___GNUC__)),
 89401  			TCL_LINK_INT|TCL_LINK_READ_ONLY)
 89402  
 89403  	}
 89404  }
 89405  
 89406  var cv_MAX_LENGTH int32 = SQLITE_MAX_LENGTH
 89407  var cv_MAX_COLUMN int32 = SQLITE_MAX_COLUMN
 89408  var cv_MAX_SQL_LENGTH int32 = SQLITE_MAX_SQL_LENGTH
 89409  var cv_MAX_EXPR_DEPTH int32 = SQLITE_MAX_EXPR_DEPTH
 89410  var cv_MAX_COMPOUND_SELECT int32 = SQLITE_MAX_COMPOUND_SELECT
 89411  var cv_MAX_VDBE_OP int32 = SQLITE_MAX_VDBE_OP
 89412  var cv_MAX_FUNCTION_ARG int32 = SQLITE_MAX_FUNCTION_ARG
 89413  var cv_MAX_VARIABLE_NUMBER int32 = SQLITE_MAX_VARIABLE_NUMBER
 89414  var cv_MAX_PAGE_SIZE int32 = SQLITE_MAX_PAGE_SIZE
 89415  var cv_MAX_PAGE_COUNT int32 = SQLITE_MAX_PAGE_COUNT
 89416  var cv_MAX_LIKE_PATTERN_LENGTH int32 = SQLITE_MAX_LIKE_PATTERN_LENGTH
 89417  var cv_MAX_TRIGGER_DEPTH int32 = SQLITE_MAX_TRIGGER_DEPTH
 89418  var cv_DEFAULT_CACHE_SIZE int32 = -2000
 89419  var cv_DEFAULT_PAGE_SIZE int32 = SQLITE_DEFAULT_PAGE_SIZE
 89420  var cv_DEFAULT_FILE_FORMAT int32 = SQLITE_DEFAULT_FILE_FORMAT
 89421  var cv_DEFAULT_SYNCHRONOUS int32 = SQLITE_DEFAULT_SYNCHRONOUS
 89422  var cv_DEFAULT_WAL_SYNCHRONOUS int32 = SQLITE_DEFAULT_SYNCHRONOUS
 89423  var cv_MAX_ATTACHED int32 = SQLITE_MAX_ATTACHED
 89424  var cv_MAX_DEFAULT_PAGE_SIZE int32 = SQLITE_MAX_DEFAULT_PAGE_SIZE
 89425  var cv_MAX_WORKER_THREADS int32 = SQLITE_MAX_WORKER_THREADS
 89426  var cv_TEMP_STORE int32 = SQLITE_TEMP_STORE
 89427  var cv__MSC_VER int32 = 1
 89428  var cv___GNUC__ int32 = 1
 89429  
 89430  func Sqliteconfig_Init(tls *libc.TLS, interp uintptr) int32 {
 89431  	set_options(tls, interp)
 89432  	return TCL_OK
 89433  }
 89434  
 89435  func sqlite3Delete83Name(tls *libc.TLS, z uintptr) {
 89436  	var i int32
 89437  	var sz int32
 89438  	sz = int32(libc.Xstrlen(tls, z))
 89439  	for i = sz - 1; i > 0 && int32(*(*int8)(unsafe.Pointer(z + uintptr(i)))) != '/' && int32(*(*int8)(unsafe.Pointer(z + uintptr(i)))) != '.'; i-- {
 89440  	}
 89441  	if int32(*(*int8)(unsafe.Pointer(z + uintptr(i)))) == '.' && sz > i+4 {
 89442  		libc.Xmemmove(tls, z+uintptr(i+1), z+uintptr(sz-3), uint64(4))
 89443  	}
 89444  }
 89445  
 89446  func sqlite3DeleteUnlinkIfExists(tls *libc.TLS, pVfs uintptr, zFile uintptr, pbExists uintptr) int32 {
 89447  	var rc int32 = SQLITE_ERROR
 89448  	if pVfs != 0 {
 89449  		if pbExists != 0 {
 89450  			*(*int32)(unsafe.Pointer(pbExists)) = 1
 89451  		}
 89452  		rc = (*struct {
 89453  			f func(*libc.TLS, uintptr, uintptr, int32) int32
 89454  		})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxDelete})).f(tls, pVfs, zFile, 0)
 89455  		if rc == SQLITE_IOERR|int32(23)<<8 {
 89456  			if pbExists != 0 {
 89457  				*(*int32)(unsafe.Pointer(pbExists)) = 0
 89458  			}
 89459  			rc = SQLITE_OK
 89460  		}
 89461  	}
 89462  	return rc
 89463  }
 89464  
 89465  func sqlite3_delete_database(tls *libc.TLS, zFile uintptr) int32 {
 89466  	bp := tls.Alloc(156)
 89467  	defer tls.Free(156)
 89468  
 89469  	var zBuf uintptr
 89470  	var nBuf int32
 89471  	var rc int32 = 0
 89472  	var i int32
 89473  
 89474  	*(*[4]uintptr)(unsafe.Pointer(bp + 24)) = [4]uintptr{ts, ts + 30322, ts + 30333, ts + 30340}
 89475  
 89476  	*(*[6]MFile)(unsafe.Pointer(bp + 56)) = [6]MFile{
 89477  		{FzFmt: ts + 30347},
 89478  		{FzFmt: ts + 30354},
 89479  		{FzFmt: ts + 30369},
 89480  		{FzFmt: ts + 30347, Fb83: 1},
 89481  		{FzFmt: ts + 30354, FiOffset: SQLITE_MULTIPLEX_JOURNAL_8_3_OFFSET, Fb83: 1},
 89482  		{FzFmt: ts + 30369, FiOffset: SQLITE_MULTIPLEX_WAL_8_3_OFFSET, Fb83: 1},
 89483  	}
 89484  
 89485  	var pVfs uintptr = sqlite3.Xsqlite3_vfs_find(tls, ts+30380)
 89486  
 89487  	nBuf = int32(libc.Xstrlen(tls, zFile)) + 100
 89488  	zBuf = sqlite3.Xsqlite3_malloc(tls, nBuf)
 89489  	if zBuf == uintptr(0) {
 89490  		return SQLITE_NOMEM
 89491  	}
 89492  
 89493  	for i = 0; rc == 0 && uint64(i) < uint64(unsafe.Sizeof([4]uintptr{}))/uint64(unsafe.Sizeof(uintptr(0))); i++ {
 89494  		sqlite3.Xsqlite3_snprintf(tls, nBuf, zBuf, *(*uintptr)(unsafe.Pointer(bp + 24 + uintptr(i)*8)), libc.VaList(bp, zFile))
 89495  		rc = sqlite3DeleteUnlinkIfExists(tls, pVfs, zBuf, uintptr(0))
 89496  		if rc == 0 && i != 0 {
 89497  			sqlite3Delete83Name(tls, zBuf)
 89498  			rc = sqlite3DeleteUnlinkIfExists(tls, pVfs, zBuf, uintptr(0))
 89499  		}
 89500  	}
 89501  
 89502  	for i = 0; rc == 0 && uint64(i) < uint64(unsafe.Sizeof([6]MFile{}))/uint64(unsafe.Sizeof(MFile{})); i++ {
 89503  		var p uintptr = bp + 56 + uintptr(i)*16
 89504  		var iChunk int32
 89505  		for iChunk = 1; iChunk <= MX_CHUNK_NUMBER; iChunk++ {
 89506  			sqlite3.Xsqlite3_snprintf(tls, nBuf, zBuf, (*MFile)(unsafe.Pointer(p)).FzFmt, libc.VaList(bp+8, zFile, iChunk+(*MFile)(unsafe.Pointer(p)).FiOffset))
 89507  			if (*MFile)(unsafe.Pointer(p)).Fb83 != 0 {
 89508  				sqlite3Delete83Name(tls, zBuf)
 89509  			}
 89510  			rc = sqlite3DeleteUnlinkIfExists(tls, pVfs, zBuf, bp+152)
 89511  			if *(*int32)(unsafe.Pointer(bp + 152)) == 0 || rc != 0 {
 89512  				break
 89513  			}
 89514  		}
 89515  	}
 89516  
 89517  	sqlite3.Xsqlite3_free(tls, zBuf)
 89518  	return func() int32 {
 89519  		if rc != 0 {
 89520  			return SQLITE_ERROR
 89521  		}
 89522  		return SQLITE_OK
 89523  	}()
 89524  }
 89525  
 89526  type MFile = struct {
 89527  	FzFmt    uintptr
 89528  	FiOffset int32
 89529  	Fb83     int32
 89530  }
 89531  
 89532  func Sqlitetest_demovfs_Init(tls *libc.TLS, interp uintptr) int32 {
 89533  	return TCL_OK
 89534  }
 89535  
 89536  type devsym_file1 = struct {
 89537  	Fbase  sqlite3_file
 89538  	FpReal uintptr
 89539  }
 89540  
 89541  type devsym_file = devsym_file1
 89542  
 89543  type DevsymGlobal = struct {
 89544  	FpVfs        uintptr
 89545  	FiDeviceChar int32
 89546  	FiSectorSize int32
 89547  	FnWriteCrash int32
 89548  	F__ccgo_pad1 [4]byte
 89549  }
 89550  
 89551  var g1 = DevsymGlobal{FiSectorSize: 512}
 89552  
 89553  func devsymClose(tls *libc.TLS, pFile uintptr) int32 {
 89554  	var p uintptr = pFile
 89555  	sqlite3.Xsqlite3OsClose(tls, (*devsym_file)(unsafe.Pointer(p)).FpReal)
 89556  	return SQLITE_OK
 89557  }
 89558  
 89559  func devsymRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst sqlite_int64) int32 {
 89560  	var p uintptr = pFile
 89561  	return sqlite3.Xsqlite3OsRead(tls, (*devsym_file)(unsafe.Pointer(p)).FpReal, zBuf, iAmt, iOfst)
 89562  }
 89563  
 89564  func devsymWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst sqlite_int64) int32 {
 89565  	var p uintptr = pFile
 89566  	return sqlite3.Xsqlite3OsWrite(tls, (*devsym_file)(unsafe.Pointer(p)).FpReal, zBuf, iAmt, iOfst)
 89567  }
 89568  
 89569  func devsymTruncate(tls *libc.TLS, pFile uintptr, size sqlite_int64) int32 {
 89570  	var p uintptr = pFile
 89571  	return sqlite3.Xsqlite3OsTruncate(tls, (*devsym_file)(unsafe.Pointer(p)).FpReal, size)
 89572  }
 89573  
 89574  func devsymSync(tls *libc.TLS, pFile uintptr, flags int32) int32 {
 89575  	var p uintptr = pFile
 89576  	return sqlite3.Xsqlite3OsSync(tls, (*devsym_file)(unsafe.Pointer(p)).FpReal, flags)
 89577  }
 89578  
 89579  func devsymFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 {
 89580  	var p uintptr = pFile
 89581  	return sqlite3.Xsqlite3OsFileSize(tls, (*devsym_file)(unsafe.Pointer(p)).FpReal, pSize)
 89582  }
 89583  
 89584  func devsymLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 {
 89585  	var p uintptr = pFile
 89586  	return sqlite3.Xsqlite3OsLock(tls, (*devsym_file)(unsafe.Pointer(p)).FpReal, eLock)
 89587  }
 89588  
 89589  func devsymUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 {
 89590  	var p uintptr = pFile
 89591  	return sqlite3.Xsqlite3OsUnlock(tls, (*devsym_file)(unsafe.Pointer(p)).FpReal, eLock)
 89592  }
 89593  
 89594  func devsymCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int32 {
 89595  	var p uintptr = pFile
 89596  	return sqlite3.Xsqlite3OsCheckReservedLock(tls, (*devsym_file)(unsafe.Pointer(p)).FpReal, pResOut)
 89597  }
 89598  
 89599  func devsymFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 {
 89600  	var p uintptr = pFile
 89601  	return sqlite3.Xsqlite3OsFileControl(tls, (*devsym_file)(unsafe.Pointer(p)).FpReal, op, pArg)
 89602  }
 89603  
 89604  func devsymSectorSize(tls *libc.TLS, pFile uintptr) int32 {
 89605  	return g1.FiSectorSize
 89606  }
 89607  
 89608  func devsymDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 {
 89609  	return g1.FiDeviceChar
 89610  }
 89611  
 89612  func devsymShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int32) int32 {
 89613  	var p uintptr = pFile
 89614  	return (*struct {
 89615  		f func(*libc.TLS, uintptr, int32, int32, int32) int32
 89616  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*devsym_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmLock})).f(tls, (*devsym_file)(unsafe.Pointer(p)).FpReal, ofst, n, flags)
 89617  }
 89618  
 89619  func devsymShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, szRegion int32, isWrite int32, pp uintptr) int32 {
 89620  	var p uintptr = pFile
 89621  	return (*struct {
 89622  		f func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32
 89623  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*devsym_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmMap})).f(tls, (*devsym_file)(unsafe.Pointer(p)).FpReal, iRegion, szRegion, isWrite, pp)
 89624  }
 89625  
 89626  func devsymShmBarrier(tls *libc.TLS, pFile uintptr) {
 89627  	var p uintptr = pFile
 89628  	(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*devsym_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmBarrier})).f(tls, (*devsym_file)(unsafe.Pointer(p)).FpReal)
 89629  }
 89630  
 89631  func devsymShmUnmap(tls *libc.TLS, pFile uintptr, delFlag int32) int32 {
 89632  	var p uintptr = pFile
 89633  	return (*struct {
 89634  		f func(*libc.TLS, uintptr, int32) int32
 89635  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*devsym_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmUnmap})).f(tls, (*devsym_file)(unsafe.Pointer(p)).FpReal, delFlag)
 89636  }
 89637  
 89638  func devsymOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags int32, pOutFlags uintptr) int32 {
 89639  	var rc int32
 89640  	var p uintptr = pFile
 89641  	(*devsym_file)(unsafe.Pointer(p)).FpReal = p + 1*16
 89642  	rc = sqlite3.Xsqlite3OsOpen(tls, g1.FpVfs, zName, (*devsym_file)(unsafe.Pointer(p)).FpReal, flags, pOutFlags)
 89643  	if (*sqlite3_file)(unsafe.Pointer((*devsym_file)(unsafe.Pointer(p)).FpReal)).FpMethods != 0 {
 89644  		(*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods = uintptr(unsafe.Pointer(&devsym_io_methods))
 89645  	}
 89646  	return rc
 89647  }
 89648  
 89649  var devsym_io_methods = sqlite3_io_methods{
 89650  	FiVersion:               2,
 89651  	FxClose:                 0,
 89652  	FxRead:                  0,
 89653  	FxWrite:                 0,
 89654  	FxTruncate:              0,
 89655  	FxSync:                  0,
 89656  	FxFileSize:              0,
 89657  	FxLock:                  0,
 89658  	FxUnlock:                0,
 89659  	FxCheckReservedLock:     0,
 89660  	FxFileControl:           0,
 89661  	FxSectorSize:            0,
 89662  	FxDeviceCharacteristics: 0,
 89663  	FxShmMap:                0,
 89664  	FxShmLock:               0,
 89665  	FxShmBarrier:            0,
 89666  	FxShmUnmap:              0,
 89667  }
 89668  
 89669  func devsymDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 {
 89670  	return sqlite3.Xsqlite3OsDelete(tls, g1.FpVfs, zPath, dirSync)
 89671  }
 89672  
 89673  func devsymAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 {
 89674  	return sqlite3.Xsqlite3OsAccess(tls, g1.FpVfs, zPath, flags, pResOut)
 89675  }
 89676  
 89677  func devsymFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 {
 89678  	return sqlite3.Xsqlite3OsFullPathname(tls, g1.FpVfs, zPath, nOut, zOut)
 89679  }
 89680  
 89681  func devsymRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 {
 89682  	return sqlite3.Xsqlite3OsRandomness(tls, g1.FpVfs, nByte, zBufOut)
 89683  }
 89684  
 89685  func devsymSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 {
 89686  	return sqlite3.Xsqlite3OsSleep(tls, g1.FpVfs, nMicro)
 89687  }
 89688  
 89689  func devsymCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 {
 89690  	return (*struct {
 89691  		f func(*libc.TLS, uintptr, uintptr) int32
 89692  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(g1.FpVfs)).FxCurrentTime})).f(tls, g1.FpVfs, pTimeOut)
 89693  }
 89694  
 89695  func writecrashSectorSize(tls *libc.TLS, pFile uintptr) int32 {
 89696  	var p uintptr = pFile
 89697  	return sqlite3.Xsqlite3OsSectorSize(tls, (*devsym_file)(unsafe.Pointer(p)).FpReal)
 89698  }
 89699  
 89700  func writecrashDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 {
 89701  	var p uintptr = pFile
 89702  	return sqlite3.Xsqlite3OsDeviceCharacteristics(tls, (*devsym_file)(unsafe.Pointer(p)).FpReal)
 89703  }
 89704  
 89705  func writecrashWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst sqlite_int64) int32 {
 89706  	var p uintptr = pFile
 89707  	if g1.FnWriteCrash > 0 {
 89708  		g1.FnWriteCrash--
 89709  		if g1.FnWriteCrash == 0 {
 89710  			libc.Xabort(tls)
 89711  		}
 89712  	}
 89713  	return sqlite3.Xsqlite3OsWrite(tls, (*devsym_file)(unsafe.Pointer(p)).FpReal, zBuf, iAmt, iOfst)
 89714  }
 89715  
 89716  func writecrashOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags int32, pOutFlags uintptr) int32 {
 89717  	var rc int32
 89718  	var p uintptr = pFile
 89719  	(*devsym_file)(unsafe.Pointer(p)).FpReal = p + 1*16
 89720  	rc = sqlite3.Xsqlite3OsOpen(tls, g1.FpVfs, zName, (*devsym_file)(unsafe.Pointer(p)).FpReal, flags, pOutFlags)
 89721  	if (*sqlite3_file)(unsafe.Pointer((*devsym_file)(unsafe.Pointer(p)).FpReal)).FpMethods != 0 {
 89722  		(*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods = uintptr(unsafe.Pointer(&writecrash_io_methods))
 89723  	}
 89724  	return rc
 89725  }
 89726  
 89727  var writecrash_io_methods = sqlite3_io_methods{
 89728  	FiVersion:               2,
 89729  	FxClose:                 0,
 89730  	FxRead:                  0,
 89731  	FxWrite:                 0,
 89732  	FxTruncate:              0,
 89733  	FxSync:                  0,
 89734  	FxFileSize:              0,
 89735  	FxLock:                  0,
 89736  	FxUnlock:                0,
 89737  	FxCheckReservedLock:     0,
 89738  	FxFileControl:           0,
 89739  	FxSectorSize:            0,
 89740  	FxDeviceCharacteristics: 0,
 89741  	FxShmMap:                0,
 89742  	FxShmLock:               0,
 89743  	FxShmBarrier:            0,
 89744  	FxShmUnmap:              0,
 89745  }
 89746  
 89747  var devsym_vfs = sqlite3_vfs{
 89748  	FiVersion:      2,
 89749  	FszOsFile:      int32(unsafe.Sizeof(devsym_file{})),
 89750  	FmxPathname:    DEVSYM_MAX_PATHNAME,
 89751  	FzName:         ts + 30386,
 89752  	FxOpen:         0,
 89753  	FxDelete:       0,
 89754  	FxAccess:       0,
 89755  	FxFullPathname: 0,
 89756  	FxRandomness:   0,
 89757  	FxSleep:        0,
 89758  	FxCurrentTime:  0,
 89759  }
 89760  
 89761  var writecrash_vfs = sqlite3_vfs{
 89762  	FiVersion:      2,
 89763  	FszOsFile:      int32(unsafe.Sizeof(devsym_file{})),
 89764  	FmxPathname:    DEVSYM_MAX_PATHNAME,
 89765  	FzName:         ts + 30393,
 89766  	FxOpen:         0,
 89767  	FxDelete:       0,
 89768  	FxAccess:       0,
 89769  	FxFullPathname: 0,
 89770  	FxRandomness:   0,
 89771  	FxSleep:        0,
 89772  	FxCurrentTime:  0,
 89773  }
 89774  
 89775  func devsym_register(tls *libc.TLS, iDeviceChar int32, iSectorSize int32) {
 89776  	if g1.FpVfs == uintptr(0) {
 89777  		g1.FpVfs = sqlite3.Xsqlite3_vfs_find(tls, uintptr(0))
 89778  		*(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&devsym_vfs)) + 4)) += (*sqlite3_vfs)(unsafe.Pointer(g1.FpVfs)).FszOsFile
 89779  		*(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&writecrash_vfs)) + 4)) += (*sqlite3_vfs)(unsafe.Pointer(g1.FpVfs)).FszOsFile
 89780  		sqlite3.Xsqlite3_vfs_register(tls, uintptr(unsafe.Pointer(&devsym_vfs)), 0)
 89781  		sqlite3.Xsqlite3_vfs_register(tls, uintptr(unsafe.Pointer(&writecrash_vfs)), 0)
 89782  	}
 89783  	if iDeviceChar >= 0 {
 89784  		g1.FiDeviceChar = iDeviceChar
 89785  	} else {
 89786  		g1.FiDeviceChar = 0
 89787  	}
 89788  	if iSectorSize >= 0 {
 89789  		g1.FiSectorSize = iSectorSize
 89790  	} else {
 89791  		g1.FiSectorSize = 512
 89792  	}
 89793  }
 89794  
 89795  func devsym_unregister(tls *libc.TLS) {
 89796  	sqlite3.Xsqlite3_vfs_unregister(tls, uintptr(unsafe.Pointer(&devsym_vfs)))
 89797  	sqlite3.Xsqlite3_vfs_unregister(tls, uintptr(unsafe.Pointer(&writecrash_vfs)))
 89798  	g1.FpVfs = uintptr(0)
 89799  	g1.FiDeviceChar = 0
 89800  	g1.FiSectorSize = 0
 89801  }
 89802  
 89803  func devsym_crash_on_write(tls *libc.TLS, nWrite int32) {
 89804  	if g1.FpVfs == uintptr(0) {
 89805  		g1.FpVfs = sqlite3.Xsqlite3_vfs_find(tls, uintptr(0))
 89806  		*(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&devsym_vfs)) + 4)) += (*sqlite3_vfs)(unsafe.Pointer(g1.FpVfs)).FszOsFile
 89807  		*(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&writecrash_vfs)) + 4)) += (*sqlite3_vfs)(unsafe.Pointer(g1.FpVfs)).FszOsFile
 89808  		sqlite3.Xsqlite3_vfs_register(tls, uintptr(unsafe.Pointer(&devsym_vfs)), 0)
 89809  		sqlite3.Xsqlite3_vfs_register(tls, uintptr(unsafe.Pointer(&writecrash_vfs)), 0)
 89810  	}
 89811  	g1.FnWriteCrash = nWrite
 89812  }
 89813  
 89814  type fs_vtab1 = struct {
 89815  	Fbase sqlite3_vtab
 89816  	Fdb   uintptr
 89817  	FzDb  uintptr
 89818  	FzTbl uintptr
 89819  }
 89820  
 89821  type fs_vtab = fs_vtab1
 89822  type fs_cursor1 = struct {
 89823  	Fbase   sqlite3_vtab_cursor
 89824  	FpStmt  uintptr
 89825  	FzBuf   uintptr
 89826  	FnBuf   int32
 89827  	FnAlloc int32
 89828  }
 89829  
 89830  type fs_cursor = fs_cursor1
 89831  
 89832  type FsdirVtab1 = struct{ Fbase sqlite3_vtab }
 89833  
 89834  type FsdirVtab = FsdirVtab1
 89835  type FsdirCsr1 = struct {
 89836  	Fbase   sqlite3_vtab_cursor
 89837  	FzDir   uintptr
 89838  	FpDir   uintptr
 89839  	FiRowid sqlite3_int64
 89840  	FpEntry uintptr
 89841  }
 89842  
 89843  type FsdirCsr = FsdirCsr1
 89844  
 89845  func fsdirConnect1(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 {
 89846  	var pTab uintptr
 89847  
 89848  	if argc != 3 {
 89849  		*(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+28028, 0)
 89850  		return SQLITE_ERROR
 89851  	}
 89852  
 89853  	pTab = sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(FsdirVtab{})))
 89854  	if !(pTab != 0) {
 89855  		return SQLITE_NOMEM
 89856  	}
 89857  	libc.Xmemset(tls, pTab, 0, uint64(unsafe.Sizeof(FsdirVtab{})))
 89858  
 89859  	*(*uintptr)(unsafe.Pointer(ppVtab)) = pTab
 89860  	sqlite3.Xsqlite3_declare_vtab(tls, db, ts+30404)
 89861  
 89862  	return SQLITE_OK
 89863  }
 89864  
 89865  func fsdirDisconnect1(tls *libc.TLS, pVtab uintptr) int32 {
 89866  	sqlite3.Xsqlite3_free(tls, pVtab)
 89867  	return SQLITE_OK
 89868  }
 89869  
 89870  func fsdirBestIndex1(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 {
 89871  	var ii int32
 89872  
 89873  	(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 1000000000.0
 89874  
 89875  	for ii = 0; ii < (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint; ii++ {
 89876  		var p uintptr = (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraint + uintptr(ii)*12
 89877  		if (*sqlite3_index_constraint)(unsafe.Pointer(p)).FiColumn == 0 && (*sqlite3_index_constraint)(unsafe.Pointer(p)).Fusable != 0 && int32((*sqlite3_index_constraint)(unsafe.Pointer(p)).Fop) == SQLITE_INDEX_CONSTRAINT_EQ {
 89878  			var pUsage uintptr
 89879  			pUsage = (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(ii)*8
 89880  			(*sqlite3_index_constraint_usage)(unsafe.Pointer(pUsage)).Fomit = uint8(1)
 89881  			(*sqlite3_index_constraint_usage)(unsafe.Pointer(pUsage)).FargvIndex = 1
 89882  			(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 1
 89883  			(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 1.0
 89884  			break
 89885  		}
 89886  	}
 89887  
 89888  	return SQLITE_OK
 89889  }
 89890  
 89891  func fsdirOpen1(tls *libc.TLS, pVTab uintptr, ppCursor uintptr) int32 {
 89892  	var pCur uintptr
 89893  
 89894  	pCur = sqlite3.Xsqlite3_malloc(tls, int32(uint64(unsafe.Sizeof(FsdirCsr{}))+uint64(256)))
 89895  	if pCur == uintptr(0) {
 89896  		return SQLITE_NOMEM
 89897  	}
 89898  	libc.Xmemset(tls, pCur, 0, uint64(unsafe.Sizeof(FsdirCsr{})))
 89899  	*(*uintptr)(unsafe.Pointer(ppCursor)) = pCur
 89900  	return SQLITE_OK
 89901  }
 89902  
 89903  func fsdirClose1(tls *libc.TLS, cur uintptr) int32 {
 89904  	var pCur uintptr = cur
 89905  	if (*FsdirCsr)(unsafe.Pointer(pCur)).FpDir != 0 {
 89906  		closedir(tls, (*FsdirCsr)(unsafe.Pointer(pCur)).FpDir)
 89907  	}
 89908  	sqlite3.Xsqlite3_free(tls, (*FsdirCsr)(unsafe.Pointer(pCur)).FzDir)
 89909  	sqlite3.Xsqlite3_free(tls, pCur)
 89910  	return SQLITE_OK
 89911  }
 89912  
 89913  func fsdirNext1(tls *libc.TLS, cur uintptr) int32 {
 89914  	var pCsr uintptr = cur
 89915  
 89916  	if (*FsdirCsr)(unsafe.Pointer(pCsr)).FpDir != 0 {
 89917  		(*FsdirCsr)(unsafe.Pointer(pCsr)).FpEntry = readdir(tls, (*FsdirCsr)(unsafe.Pointer(pCsr)).FpDir)
 89918  		if (*FsdirCsr)(unsafe.Pointer(pCsr)).FpEntry == uintptr(0) {
 89919  			closedir(tls, (*FsdirCsr)(unsafe.Pointer(pCsr)).FpDir)
 89920  			(*FsdirCsr)(unsafe.Pointer(pCsr)).FpDir = uintptr(0)
 89921  		}
 89922  		(*FsdirCsr)(unsafe.Pointer(pCsr)).FiRowid++
 89923  	}
 89924  
 89925  	return SQLITE_OK
 89926  }
 89927  
 89928  func fsdirFilter1(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 {
 89929  	var pCsr uintptr = pVtabCursor
 89930  	var zDir uintptr
 89931  	var nDir int32
 89932  
 89933  	if idxNum != 1 || argc != 1 {
 89934  		return SQLITE_ERROR
 89935  	}
 89936  
 89937  	(*FsdirCsr)(unsafe.Pointer(pCsr)).FiRowid = int64(0)
 89938  	sqlite3.Xsqlite3_free(tls, (*FsdirCsr)(unsafe.Pointer(pCsr)).FzDir)
 89939  	if (*FsdirCsr)(unsafe.Pointer(pCsr)).FpDir != 0 {
 89940  		closedir(tls, (*FsdirCsr)(unsafe.Pointer(pCsr)).FpDir)
 89941  		(*FsdirCsr)(unsafe.Pointer(pCsr)).FpDir = uintptr(0)
 89942  	}
 89943  
 89944  	zDir = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv)))
 89945  	nDir = sqlite3.Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv)))
 89946  	(*FsdirCsr)(unsafe.Pointer(pCsr)).FzDir = sqlite3.Xsqlite3_malloc(tls, nDir+1)
 89947  	if (*FsdirCsr)(unsafe.Pointer(pCsr)).FzDir == uintptr(0) {
 89948  		return SQLITE_NOMEM
 89949  	}
 89950  	libc.Xmemcpy(tls, (*FsdirCsr)(unsafe.Pointer(pCsr)).FzDir, zDir, uint64(nDir+1))
 89951  
 89952  	(*FsdirCsr)(unsafe.Pointer(pCsr)).FpDir = opendir(tls, (*FsdirCsr)(unsafe.Pointer(pCsr)).FzDir)
 89953  	return fsdirNext1(tls, pVtabCursor)
 89954  }
 89955  
 89956  func fsdirEof1(tls *libc.TLS, cur uintptr) int32 {
 89957  	var pCsr uintptr = cur
 89958  	return libc.Bool32((*FsdirCsr)(unsafe.Pointer(pCsr)).FpDir == uintptr(0))
 89959  }
 89960  
 89961  func fsdirColumn1(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 {
 89962  	var pCsr uintptr = cur
 89963  	switch i {
 89964  	case 0:
 89965  		sqlite3.Xsqlite3_result_text(tls, ctx, (*FsdirCsr)(unsafe.Pointer(pCsr)).FzDir, -1, uintptr(0))
 89966  		break
 89967  
 89968  	case 1:
 89969  		sqlite3.Xsqlite3_result_text(tls, ctx, (*FsdirCsr)(unsafe.Pointer(pCsr)).FpEntry+8, -1, libc.UintptrFromInt32(-1))
 89970  		break
 89971  
 89972  	default:
 89973  	}
 89974  
 89975  	return SQLITE_OK
 89976  }
 89977  
 89978  func fsdirRowid1(tls *libc.TLS, cur uintptr, pRowid uintptr) int32 {
 89979  	var pCsr uintptr = cur
 89980  	*(*sqlite_int64)(unsafe.Pointer(pRowid)) = (*FsdirCsr)(unsafe.Pointer(pCsr)).FiRowid
 89981  	return SQLITE_OK
 89982  }
 89983  
 89984  type FstreeVtab1 = struct {
 89985  	Fbase sqlite3_vtab
 89986  	Fdb   uintptr
 89987  }
 89988  
 89989  type FstreeVtab = FstreeVtab1
 89990  type FstreeCsr1 = struct {
 89991  	Fbase        sqlite3_vtab_cursor
 89992  	FpStmt       uintptr
 89993  	Ffd          int32
 89994  	F__ccgo_pad1 [4]byte
 89995  }
 89996  
 89997  type FstreeCsr = FstreeCsr1
 89998  
 89999  func fstreeConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 {
 90000  	var pTab uintptr
 90001  
 90002  	if argc != 3 {
 90003  		*(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+28028, 0)
 90004  		return SQLITE_ERROR
 90005  	}
 90006  
 90007  	pTab = sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(FstreeVtab{})))
 90008  	if !(pTab != 0) {
 90009  		return SQLITE_NOMEM
 90010  	}
 90011  	libc.Xmemset(tls, pTab, 0, uint64(unsafe.Sizeof(FstreeVtab{})))
 90012  	(*FstreeVtab)(unsafe.Pointer(pTab)).Fdb = db
 90013  
 90014  	*(*uintptr)(unsafe.Pointer(ppVtab)) = pTab
 90015  	sqlite3.Xsqlite3_declare_vtab(tls, db, ts+30433)
 90016  
 90017  	return SQLITE_OK
 90018  }
 90019  
 90020  func fstreeDisconnect(tls *libc.TLS, pVtab uintptr) int32 {
 90021  	sqlite3.Xsqlite3_free(tls, pVtab)
 90022  	return SQLITE_OK
 90023  }
 90024  
 90025  func fstreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 {
 90026  	var ii int32
 90027  
 90028  	for ii = 0; ii < (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint; ii++ {
 90029  		var p uintptr = (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraint + uintptr(ii)*12
 90030  		if (*sqlite3_index_constraint)(unsafe.Pointer(p)).FiColumn == 0 && (*sqlite3_index_constraint)(unsafe.Pointer(p)).Fusable != 0 && (int32((*sqlite3_index_constraint)(unsafe.Pointer(p)).Fop) == SQLITE_INDEX_CONSTRAINT_GLOB ||
 90031  			int32((*sqlite3_index_constraint)(unsafe.Pointer(p)).Fop) == SQLITE_INDEX_CONSTRAINT_LIKE ||
 90032  			int32((*sqlite3_index_constraint)(unsafe.Pointer(p)).Fop) == SQLITE_INDEX_CONSTRAINT_EQ) {
 90033  			var pUsage uintptr
 90034  			pUsage = (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(ii)*8
 90035  			(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = int32((*sqlite3_index_constraint)(unsafe.Pointer(p)).Fop)
 90036  			(*sqlite3_index_constraint_usage)(unsafe.Pointer(pUsage)).FargvIndex = 1
 90037  			(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 100000.0
 90038  			return SQLITE_OK
 90039  		}
 90040  	}
 90041  
 90042  	(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 1000000000.0
 90043  	return SQLITE_OK
 90044  }
 90045  
 90046  func fstreeOpen(tls *libc.TLS, pVTab uintptr, ppCursor uintptr) int32 {
 90047  	var pCur uintptr
 90048  	pCur = sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(FstreeCsr{})))
 90049  	if pCur == uintptr(0) {
 90050  		return SQLITE_NOMEM
 90051  	}
 90052  	libc.Xmemset(tls, pCur, 0, uint64(unsafe.Sizeof(FstreeCsr{})))
 90053  	(*FstreeCsr)(unsafe.Pointer(pCur)).Ffd = -1
 90054  	*(*uintptr)(unsafe.Pointer(ppCursor)) = pCur
 90055  	return SQLITE_OK
 90056  }
 90057  
 90058  func fstreeCloseFd(tls *libc.TLS, pCsr uintptr) {
 90059  	if (*FstreeCsr)(unsafe.Pointer(pCsr)).Ffd >= 0 {
 90060  		libc.Xclose(tls, (*FstreeCsr)(unsafe.Pointer(pCsr)).Ffd)
 90061  		(*FstreeCsr)(unsafe.Pointer(pCsr)).Ffd = -1
 90062  	}
 90063  }
 90064  
 90065  func fstreeClose(tls *libc.TLS, cur uintptr) int32 {
 90066  	var pCsr uintptr = cur
 90067  	sqlite3.Xsqlite3_finalize(tls, (*FstreeCsr)(unsafe.Pointer(pCsr)).FpStmt)
 90068  	fstreeCloseFd(tls, pCsr)
 90069  	sqlite3.Xsqlite3_free(tls, pCsr)
 90070  	return SQLITE_OK
 90071  }
 90072  
 90073  func fstreeNext(tls *libc.TLS, cur uintptr) int32 {
 90074  	var pCsr uintptr = cur
 90075  	var rc int32
 90076  
 90077  	fstreeCloseFd(tls, pCsr)
 90078  	rc = sqlite3.Xsqlite3_step(tls, (*FstreeCsr)(unsafe.Pointer(pCsr)).FpStmt)
 90079  	if rc != SQLITE_ROW {
 90080  		rc = sqlite3.Xsqlite3_finalize(tls, (*FstreeCsr)(unsafe.Pointer(pCsr)).FpStmt)
 90081  		(*FstreeCsr)(unsafe.Pointer(pCsr)).FpStmt = uintptr(0)
 90082  	} else {
 90083  		rc = SQLITE_OK
 90084  		(*FstreeCsr)(unsafe.Pointer(pCsr)).Ffd = libc.Xopen(tls, sqlite3.Xsqlite3_column_text(tls, (*FstreeCsr)(unsafe.Pointer(pCsr)).FpStmt, 0), X_O_RDONLY, 0)
 90085  	}
 90086  
 90087  	return rc
 90088  }
 90089  
 90090  func fstreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 {
 90091  	bp := tls.Alloc(26)
 90092  	defer tls.Free(26)
 90093  
 90094  	var pCsr uintptr = pVtabCursor
 90095  	var pTab uintptr = (*FstreeCsr)(unsafe.Pointer(pCsr)).Fbase.FpVtab
 90096  	var rc int32
 90097  	var zSql uintptr = ts + 30469
 90098  	var zRoot uintptr
 90099  	var nRoot int32
 90100  	var zPrefix uintptr
 90101  	var nPrefix int32
 90102  	var zDir uintptr
 90103  	var nDir int32
 90104  	*(*[2]int8)(unsafe.Pointer(bp + 24)) = [2]int8{int8(0), int8(0)}
 90105  
 90106  	var zDrive uintptr = windirent_getenv(tls, ts+30701)
 90107  	if zDrive == uintptr(0) {
 90108  		zDrive = windirent_getenv(tls, ts+30713)
 90109  	}
 90110  	zRoot = sqlite3.Xsqlite3_mprintf(tls, ts+30725, libc.VaList(bp, zDrive, '/'))
 90111  	nRoot = sqlite3.Xsqlite3Strlen30(tls, zRoot)
 90112  	zPrefix = sqlite3.Xsqlite3_mprintf(tls, ts, libc.VaList(bp+16, zDrive))
 90113  	nPrefix = sqlite3.Xsqlite3Strlen30(tls, zPrefix)
 90114  
 90115  	zDir = zRoot
 90116  	nDir = nRoot
 90117  
 90118  	fstreeCloseFd(tls, pCsr)
 90119  	sqlite3.Xsqlite3_finalize(tls, (*FstreeCsr)(unsafe.Pointer(pCsr)).FpStmt)
 90120  	(*FstreeCsr)(unsafe.Pointer(pCsr)).FpStmt = uintptr(0)
 90121  	rc = sqlite3.Xsqlite3_prepare_v2(tls, (*FstreeVtab)(unsafe.Pointer(pTab)).Fdb, zSql, -1, pCsr+8, uintptr(0))
 90122  	if rc != SQLITE_OK {
 90123  		return rc
 90124  	}
 90125  
 90126  	if idxNum != 0 {
 90127  		var zQuery uintptr = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv)))
 90128  		switch idxNum {
 90129  		case SQLITE_INDEX_CONSTRAINT_GLOB:
 90130  			*(*int8)(unsafe.Pointer(bp + 24)) = int8('*')
 90131  			*(*int8)(unsafe.Pointer(bp + 24 + 1)) = int8('?')
 90132  			break
 90133  			fallthrough
 90134  		case SQLITE_INDEX_CONSTRAINT_LIKE:
 90135  			*(*int8)(unsafe.Pointer(bp + 24)) = int8('_')
 90136  			*(*int8)(unsafe.Pointer(bp + 24 + 1)) = int8('%')
 90137  			break
 90138  		}
 90139  
 90140  		if sqlite3.Xsqlite3_strnicmp(tls, zQuery, zPrefix, nPrefix) == 0 {
 90141  			var i int32
 90142  			for i = nPrefix; *(*int8)(unsafe.Pointer(zQuery + uintptr(i))) != 0; i++ {
 90143  				if int32(*(*int8)(unsafe.Pointer(zQuery + uintptr(i)))) == int32(*(*int8)(unsafe.Pointer(bp + 24))) || int32(*(*int8)(unsafe.Pointer(zQuery + uintptr(i)))) == int32(*(*int8)(unsafe.Pointer(bp + 24 + 1))) {
 90144  					break
 90145  				}
 90146  				if int32(*(*int8)(unsafe.Pointer(zQuery + uintptr(i)))) == '/' {
 90147  					nDir = i
 90148  				}
 90149  			}
 90150  			zDir = zQuery
 90151  		}
 90152  	}
 90153  	if nDir == 0 {
 90154  		nDir = 1
 90155  	}
 90156  
 90157  	sqlite3.Xsqlite3_bind_text(tls, (*FstreeCsr)(unsafe.Pointer(pCsr)).FpStmt, 1, zDir, nDir, libc.UintptrFromInt32(-1))
 90158  	sqlite3.Xsqlite3_bind_text(tls, (*FstreeCsr)(unsafe.Pointer(pCsr)).FpStmt, 2, zRoot, nRoot, libc.UintptrFromInt32(-1))
 90159  	sqlite3.Xsqlite3_bind_text(tls, (*FstreeCsr)(unsafe.Pointer(pCsr)).FpStmt, 3, zPrefix, nPrefix, libc.UintptrFromInt32(-1))
 90160  
 90161  	sqlite3.Xsqlite3_free(tls, zPrefix)
 90162  	sqlite3.Xsqlite3_free(tls, zRoot)
 90163  
 90164  	return fstreeNext(tls, pVtabCursor)
 90165  }
 90166  
 90167  func fstreeEof(tls *libc.TLS, cur uintptr) int32 {
 90168  	var pCsr uintptr = cur
 90169  	return libc.Bool32((*FstreeCsr)(unsafe.Pointer(pCsr)).FpStmt == uintptr(0))
 90170  }
 90171  
 90172  func fstreeColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 {
 90173  	bp := tls.Alloc(56)
 90174  	defer tls.Free(56)
 90175  
 90176  	var pCsr uintptr = cur
 90177  	if i == 0 {
 90178  		sqlite3.Xsqlite3_result_value(tls, ctx, sqlite3.Xsqlite3_column_value(tls, (*FstreeCsr)(unsafe.Pointer(pCsr)).FpStmt, 0))
 90179  	} else {
 90180  		libc.X_fstat64(tls, (*FstreeCsr)(unsafe.Pointer(pCsr)).Ffd, bp)
 90181  
 90182  		if int32((*_stat64)(unsafe.Pointer(bp)).Fst_mode)&X_S_IFMT == X_S_IFREG {
 90183  			if i == 1 {
 90184  				sqlite3.Xsqlite3_result_int64(tls, ctx, (*_stat64)(unsafe.Pointer(bp)).Fst_size)
 90185  			} else {
 90186  				var nRead int32
 90187  				var aBuf uintptr = sqlite3.Xsqlite3_malloc(tls, int32((*_stat64)(unsafe.Pointer(bp)).Fst_mode)+1)
 90188  				if !(aBuf != 0) {
 90189  					return SQLITE_NOMEM
 90190  				}
 90191  				nRead = libc.Xread(tls, (*FstreeCsr)(unsafe.Pointer(pCsr)).Ffd, aBuf, uint32((*_stat64)(unsafe.Pointer(bp)).Fst_mode))
 90192  				if nRead != int32((*_stat64)(unsafe.Pointer(bp)).Fst_mode) {
 90193  					return SQLITE_IOERR
 90194  				}
 90195  				sqlite3.Xsqlite3_result_blob(tls, ctx, aBuf, nRead, libc.UintptrFromInt32(-1))
 90196  				sqlite3.Xsqlite3_free(tls, aBuf)
 90197  			}
 90198  		}
 90199  	}
 90200  
 90201  	return SQLITE_OK
 90202  }
 90203  
 90204  func fstreeRowid(tls *libc.TLS, cur uintptr, pRowid uintptr) int32 {
 90205  	*(*sqlite_int64)(unsafe.Pointer(pRowid)) = int64(0)
 90206  	return SQLITE_OK
 90207  }
 90208  
 90209  func fsConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 {
 90210  	var pVtab uintptr
 90211  	var nByte int32
 90212  	var zTbl uintptr
 90213  	var zDb uintptr = *(*uintptr)(unsafe.Pointer(argv + 1*8))
 90214  
 90215  	if argc != 4 {
 90216  		*(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+28028, 0)
 90217  		return SQLITE_ERROR
 90218  	}
 90219  	zTbl = *(*uintptr)(unsafe.Pointer(argv + 3*8))
 90220  
 90221  	nByte = int32(uint64(unsafe.Sizeof(fs_vtab{})) + uint64(int32(libc.Xstrlen(tls, zTbl))) + uint64(1) + uint64(int32(libc.Xstrlen(tls, zDb))) + uint64(1))
 90222  	pVtab = sqlite3.Xsqlite3MallocZero(tls, uint64(nByte))
 90223  	if !(pVtab != 0) {
 90224  		return SQLITE_NOMEM
 90225  	}
 90226  
 90227  	(*fs_vtab)(unsafe.Pointer(pVtab)).FzTbl = pVtab + 1*48
 90228  	(*fs_vtab)(unsafe.Pointer(pVtab)).FzDb = (*fs_vtab)(unsafe.Pointer(pVtab)).FzTbl + uintptr(libc.Xstrlen(tls, zTbl)+uint64(1))
 90229  	(*fs_vtab)(unsafe.Pointer(pVtab)).Fdb = db
 90230  	libc.Xmemcpy(tls, (*fs_vtab)(unsafe.Pointer(pVtab)).FzTbl, zTbl, libc.Xstrlen(tls, zTbl))
 90231  	libc.Xmemcpy(tls, (*fs_vtab)(unsafe.Pointer(pVtab)).FzDb, zDb, libc.Xstrlen(tls, zDb))
 90232  	*(*uintptr)(unsafe.Pointer(ppVtab)) = pVtab
 90233  	sqlite3.Xsqlite3_declare_vtab(tls, db, ts+30730)
 90234  
 90235  	return SQLITE_OK
 90236  }
 90237  
 90238  func fsDisconnect(tls *libc.TLS, pVtab uintptr) int32 {
 90239  	sqlite3.Xsqlite3_free(tls, pVtab)
 90240  	return SQLITE_OK
 90241  }
 90242  
 90243  func fsOpen(tls *libc.TLS, pVTab uintptr, ppCursor uintptr) int32 {
 90244  	var pCur uintptr
 90245  	pCur = sqlite3.Xsqlite3MallocZero(tls, uint64(unsafe.Sizeof(fs_cursor{})))
 90246  	*(*uintptr)(unsafe.Pointer(ppCursor)) = pCur
 90247  	return SQLITE_OK
 90248  }
 90249  
 90250  func fsClose(tls *libc.TLS, cur uintptr) int32 {
 90251  	var pCur uintptr = cur
 90252  	sqlite3.Xsqlite3_finalize(tls, (*fs_cursor)(unsafe.Pointer(pCur)).FpStmt)
 90253  	sqlite3.Xsqlite3_free(tls, (*fs_cursor)(unsafe.Pointer(pCur)).FzBuf)
 90254  	sqlite3.Xsqlite3_free(tls, pCur)
 90255  	return SQLITE_OK
 90256  }
 90257  
 90258  func fsNext(tls *libc.TLS, cur uintptr) int32 {
 90259  	var pCur uintptr = cur
 90260  	var rc int32
 90261  
 90262  	rc = sqlite3.Xsqlite3_step(tls, (*fs_cursor)(unsafe.Pointer(pCur)).FpStmt)
 90263  	if rc == SQLITE_ROW || rc == SQLITE_DONE {
 90264  		rc = SQLITE_OK
 90265  	}
 90266  
 90267  	return rc
 90268  }
 90269  
 90270  func fsFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 {
 90271  	bp := tls.Alloc(32)
 90272  	defer tls.Free(32)
 90273  
 90274  	var rc int32
 90275  	var pCur uintptr = pVtabCursor
 90276  	var p uintptr = (*sqlite3_vtab_cursor)(unsafe.Pointer(pVtabCursor)).FpVtab
 90277  
 90278  	if idxNum == 1 {
 90279  		var zStmt uintptr = sqlite3.Xsqlite3_mprintf(tls,
 90280  			ts+30767, libc.VaList(bp, (*fs_vtab)(unsafe.Pointer(p)).FzDb, (*fs_vtab)(unsafe.Pointer(p)).FzTbl))
 90281  		if !(zStmt != 0) {
 90282  			return SQLITE_NOMEM
 90283  		}
 90284  		rc = sqlite3.Xsqlite3_prepare_v2(tls, (*fs_vtab)(unsafe.Pointer(p)).Fdb, zStmt, -1, pCur+8, uintptr(0))
 90285  		sqlite3.Xsqlite3_free(tls, zStmt)
 90286  		if rc == SQLITE_OK {
 90287  			sqlite3.Xsqlite3_bind_value(tls, (*fs_cursor)(unsafe.Pointer(pCur)).FpStmt, 1, *(*uintptr)(unsafe.Pointer(argv)))
 90288  		}
 90289  	} else {
 90290  		var zStmt uintptr = sqlite3.Xsqlite3_mprintf(tls, ts+3407, libc.VaList(bp+16, (*fs_vtab)(unsafe.Pointer(p)).FzDb, (*fs_vtab)(unsafe.Pointer(p)).FzTbl))
 90291  		if !(zStmt != 0) {
 90292  			return SQLITE_NOMEM
 90293  		}
 90294  		rc = sqlite3.Xsqlite3_prepare_v2(tls, (*fs_vtab)(unsafe.Pointer(p)).Fdb, zStmt, -1, pCur+8, uintptr(0))
 90295  		sqlite3.Xsqlite3_free(tls, zStmt)
 90296  	}
 90297  
 90298  	if rc == SQLITE_OK {
 90299  		rc = fsNext(tls, pVtabCursor)
 90300  	}
 90301  	return rc
 90302  }
 90303  
 90304  func fsColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 {
 90305  	bp := tls.Alloc(56)
 90306  	defer tls.Free(56)
 90307  
 90308  	var pCur uintptr = cur
 90309  
 90310  	if i == 0 {
 90311  		sqlite3.Xsqlite3_result_value(tls, ctx, sqlite3.Xsqlite3_column_value(tls, (*fs_cursor)(unsafe.Pointer(pCur)).FpStmt, 0))
 90312  	} else {
 90313  		var zFile uintptr = sqlite3.Xsqlite3_column_text(tls, (*fs_cursor)(unsafe.Pointer(pCur)).FpStmt, 1)
 90314  
 90315  		var fd int32
 90316  		var n int32
 90317  		fd = libc.Xopen(tls, zFile, X_O_RDONLY, 0)
 90318  		if fd < 0 {
 90319  			return SQLITE_IOERR
 90320  		}
 90321  		libc.X_fstat64(tls, fd, bp)
 90322  
 90323  		if (*_stat64)(unsafe.Pointer(bp)).Fst_size >= int64((*fs_cursor)(unsafe.Pointer(pCur)).FnAlloc) {
 90324  			var nNew sqlite3_int64 = (*_stat64)(unsafe.Pointer(bp)).Fst_size * int64(2)
 90325  			var zNew uintptr
 90326  			if nNew < int64(1024) {
 90327  				nNew = int64(1024)
 90328  			}
 90329  
 90330  			zNew = sqlite3.Xsqlite3Realloc(tls, (*fs_cursor)(unsafe.Pointer(pCur)).FzBuf, uint64(nNew))
 90331  			if zNew == uintptr(0) {
 90332  				libc.Xclose(tls, fd)
 90333  				return SQLITE_NOMEM
 90334  			}
 90335  			(*fs_cursor)(unsafe.Pointer(pCur)).FzBuf = zNew
 90336  			(*fs_cursor)(unsafe.Pointer(pCur)).FnAlloc = int32(nNew)
 90337  		}
 90338  
 90339  		n = libc.Xread(tls, fd, (*fs_cursor)(unsafe.Pointer(pCur)).FzBuf, uint32((*_stat64)(unsafe.Pointer(bp)).Fst_size))
 90340  		libc.Xclose(tls, fd)
 90341  		if int64(n) != (*_stat64)(unsafe.Pointer(bp)).Fst_size {
 90342  			return SQLITE_ERROR
 90343  		}
 90344  		(*fs_cursor)(unsafe.Pointer(pCur)).FnBuf = int32((*_stat64)(unsafe.Pointer(bp)).Fst_size)
 90345  		*(*int8)(unsafe.Pointer((*fs_cursor)(unsafe.Pointer(pCur)).FzBuf + uintptr((*fs_cursor)(unsafe.Pointer(pCur)).FnBuf))) = int8(0)
 90346  
 90347  		sqlite3.Xsqlite3_result_text(tls, ctx, (*fs_cursor)(unsafe.Pointer(pCur)).FzBuf, -1, libc.UintptrFromInt32(-1))
 90348  	}
 90349  	return SQLITE_OK
 90350  }
 90351  
 90352  func fsRowid(tls *libc.TLS, cur uintptr, pRowid uintptr) int32 {
 90353  	var pCur uintptr = cur
 90354  	*(*sqlite_int64)(unsafe.Pointer(pRowid)) = sqlite3.Xsqlite3_column_int64(tls, (*fs_cursor)(unsafe.Pointer(pCur)).FpStmt, 0)
 90355  	return SQLITE_OK
 90356  }
 90357  
 90358  func fsEof(tls *libc.TLS, cur uintptr) int32 {
 90359  	var pCur uintptr = cur
 90360  	return libc.Bool32(sqlite3.Xsqlite3_data_count(tls, (*fs_cursor)(unsafe.Pointer(pCur)).FpStmt) == 0)
 90361  }
 90362  
 90363  func fsBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 {
 90364  	var ii int32
 90365  
 90366  	for ii = 0; ii < (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint; ii++ {
 90367  		var pCons uintptr = (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraint + uintptr(ii)*12
 90368  		if (*sqlite3_index_constraint)(unsafe.Pointer(pCons)).FiColumn < 0 && (*sqlite3_index_constraint)(unsafe.Pointer(pCons)).Fusable != 0 &&
 90369  			int32((*sqlite3_index_constraint)(unsafe.Pointer(pCons)).Fop) == SQLITE_INDEX_CONSTRAINT_EQ {
 90370  			var pUsage uintptr
 90371  			pUsage = (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(ii)*8
 90372  			(*sqlite3_index_constraint_usage)(unsafe.Pointer(pUsage)).Fomit = uint8(0)
 90373  			(*sqlite3_index_constraint_usage)(unsafe.Pointer(pUsage)).FargvIndex = 1
 90374  			(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 1
 90375  			(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 1.0
 90376  			break
 90377  		}
 90378  	}
 90379  
 90380  	return SQLITE_OK
 90381  }
 90382  
 90383  var fsModule = sqlite3_module{
 90384  	FxCreate:     0,
 90385  	FxConnect:    0,
 90386  	FxBestIndex:  0,
 90387  	FxDisconnect: 0,
 90388  	FxDestroy:    0,
 90389  	FxOpen:       0,
 90390  	FxClose:      0,
 90391  	FxFilter:     0,
 90392  	FxNext:       0,
 90393  	FxEof:        0,
 90394  	FxColumn:     0,
 90395  	FxRowid:      0,
 90396  }
 90397  
 90398  var fsdirModule = sqlite3_module{
 90399  	FxCreate:     0,
 90400  	FxConnect:    0,
 90401  	FxBestIndex:  0,
 90402  	FxDisconnect: 0,
 90403  	FxDestroy:    0,
 90404  	FxOpen:       0,
 90405  	FxClose:      0,
 90406  	FxFilter:     0,
 90407  	FxNext:       0,
 90408  	FxEof:        0,
 90409  	FxColumn:     0,
 90410  	FxRowid:      0,
 90411  }
 90412  
 90413  var fstreeModule = sqlite3_module{
 90414  	FxCreate:     0,
 90415  	FxConnect:    0,
 90416  	FxBestIndex:  0,
 90417  	FxDisconnect: 0,
 90418  	FxDestroy:    0,
 90419  	FxOpen:       0,
 90420  	FxClose:      0,
 90421  	FxFilter:     0,
 90422  	FxNext:       0,
 90423  	FxEof:        0,
 90424  	FxColumn:     0,
 90425  	FxRowid:      0,
 90426  }
 90427  
 90428  func register_fs_module(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 90429  	bp := tls.Alloc(8)
 90430  	defer tls.Free(8)
 90431  
 90432  	if objc != 2 {
 90433  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+2050)
 90434  		return TCL_ERROR
 90435  	}
 90436  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp) != 0 {
 90437  		return TCL_ERROR
 90438  	}
 90439  	sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp)), ts+30801, uintptr(unsafe.Pointer(&fsModule)), interp)
 90440  	sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp)), ts+5325, uintptr(unsafe.Pointer(&fsdirModule)), uintptr(0))
 90441  	sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp)), ts+30804, uintptr(unsafe.Pointer(&fstreeModule)), uintptr(0))
 90442  	return TCL_OK
 90443  }
 90444  
 90445  func Sqlitetestfs_Init(tls *libc.TLS, interp uintptr) int32 {
 90446  	var i int32
 90447  	for i = 0; uint64(i) < uint64(unsafe.Sizeof(aObjCmd6))/uint64(unsafe.Sizeof(struct {
 90448  		FzName      uintptr
 90449  		FxProc      uintptr
 90450  		FclientData uintptr
 90451  	}{})); i++ {
 90452  		tcl.XTcl_CreateObjCommand(tls, interp, aObjCmd6[i].FzName,
 90453  			aObjCmd6[i].FxProc, aObjCmd6[i].FclientData, uintptr(0))
 90454  	}
 90455  	return TCL_OK
 90456  }
 90457  
 90458  var aObjCmd6 = [1]struct {
 90459  	FzName      uintptr
 90460  	FxProc      uintptr
 90461  	FclientData uintptr
 90462  }{
 90463  	{FzName: ts + 30811, FxProc: 0},
 90464  }
 90465  
 90466  func testContextMalloc(tls *libc.TLS, context uintptr, nByte int32) uintptr {
 90467  	var z uintptr = sqlite3.Xsqlite3_malloc(tls, nByte)
 90468  	if !(z != 0) && nByte > 0 {
 90469  		sqlite3.Xsqlite3_result_error_nomem(tls, context)
 90470  	}
 90471  	return z
 90472  }
 90473  
 90474  func randStr(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 90475  	bp := tls.Alloc(1004)
 90476  	defer tls.Free(1004)
 90477  
 90478  	var iMin int32
 90479  	var iMax int32
 90480  	var n int32
 90481  
 90482  	var i int32
 90483  
 90484  	iMin = sqlite3.Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv)))
 90485  	if iMin < 0 {
 90486  		iMin = 0
 90487  	}
 90488  	if uint64(iMin) >= uint64(unsafe.Sizeof([1000]uint8{})) {
 90489  		iMin = int32(uint64(unsafe.Sizeof([1000]uint8{})) - uint64(1))
 90490  	}
 90491  	iMax = sqlite3.Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))
 90492  	if iMax < iMin {
 90493  		iMax = iMin
 90494  	}
 90495  	if uint64(iMax) >= uint64(unsafe.Sizeof([1000]uint8{})) {
 90496  		iMax = int32(uint64(unsafe.Sizeof([1000]uint8{})) - uint64(1))
 90497  	}
 90498  	n = iMin
 90499  	if iMax > iMin {
 90500  		sqlite3.Xsqlite3_randomness(tls, int32(unsafe.Sizeof(int32(0))), bp)
 90501  		*(*int32)(unsafe.Pointer(bp)) &= 0x7fffffff
 90502  		n = n + *(*int32)(unsafe.Pointer(bp))%(iMax+1-iMin)
 90503  	}
 90504  
 90505  	sqlite3.Xsqlite3_randomness(tls, n, bp+4)
 90506  	for i = 0; i < n; i++ {
 90507  		*(*uint8)(unsafe.Pointer(bp + 4 + uintptr(i))) = zSrc[uint64(*(*uint8)(unsafe.Pointer(bp + 4 + uintptr(i))))%(uint64(unsafe.Sizeof(zSrc))-uint64(1))]
 90508  	}
 90509  	*(*uint8)(unsafe.Pointer(bp + 4 + uintptr(n))) = uint8(0)
 90510  	sqlite3.Xsqlite3_result_text(tls, context, bp+4, n, libc.UintptrFromInt32(-1))
 90511  }
 90512  
 90513  var zSrc = *(*[79]uint8)(unsafe.Pointer(ts + 30830))
 90514  
 90515  var test_destructor_count_var int32 = 0
 90516  
 90517  func destructor(tls *libc.TLS, p uintptr) {
 90518  	var zVal uintptr = p
 90519  
 90520  	zVal--
 90521  	sqlite3.Xsqlite3_free(tls, zVal)
 90522  	test_destructor_count_var--
 90523  }
 90524  
 90525  func test_destructor(tls *libc.TLS, pCtx uintptr, nArg int32, argv uintptr) {
 90526  	var zVal uintptr
 90527  	var len int32
 90528  
 90529  	test_destructor_count_var++
 90530  
 90531  	if sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) == SQLITE_NULL {
 90532  		return
 90533  	}
 90534  	len = sqlite3.Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv)))
 90535  	zVal = testContextMalloc(tls, pCtx, len+3)
 90536  	if !(zVal != 0) {
 90537  		return
 90538  	}
 90539  	*(*int8)(unsafe.Pointer(zVal + uintptr(len+1))) = int8(0)
 90540  	*(*int8)(unsafe.Pointer(zVal + uintptr(len+2))) = int8(0)
 90541  	zVal++
 90542  	libc.Xmemcpy(tls, zVal, sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))), uint64(len))
 90543  	sqlite3.Xsqlite3_result_text(tls, pCtx, zVal, -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{destructor})))
 90544  }
 90545  
 90546  func test_destructor16(tls *libc.TLS, pCtx uintptr, nArg int32, argv uintptr) {
 90547  	var zVal uintptr
 90548  	var len int32
 90549  
 90550  	test_destructor_count_var++
 90551  
 90552  	if sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) == SQLITE_NULL {
 90553  		return
 90554  	}
 90555  	len = sqlite3.Xsqlite3_value_bytes16(tls, *(*uintptr)(unsafe.Pointer(argv)))
 90556  	zVal = testContextMalloc(tls, pCtx, len+3)
 90557  	if !(zVal != 0) {
 90558  		return
 90559  	}
 90560  	*(*int8)(unsafe.Pointer(zVal + uintptr(len+1))) = int8(0)
 90561  	*(*int8)(unsafe.Pointer(zVal + uintptr(len+2))) = int8(0)
 90562  	zVal++
 90563  	libc.Xmemcpy(tls, zVal, sqlite3.Xsqlite3_value_text16(tls, *(*uintptr)(unsafe.Pointer(argv))), uint64(len))
 90564  	sqlite3.Xsqlite3_result_text16(tls, pCtx, zVal, -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{destructor})))
 90565  }
 90566  
 90567  func test_destructor_count(tls *libc.TLS, pCtx uintptr, nArg int32, argv uintptr) {
 90568  	sqlite3.Xsqlite3_result_int(tls, pCtx, test_destructor_count_var)
 90569  }
 90570  
 90571  func test_agg_errmsg16_step(tls *libc.TLS, a uintptr, b int32, c uintptr) {
 90572  }
 90573  
 90574  func test_agg_errmsg16_final(tls *libc.TLS, ctx uintptr) {
 90575  	var z uintptr
 90576  	var db uintptr = sqlite3.Xsqlite3_context_db_handle(tls, ctx)
 90577  	sqlite3.Xsqlite3_aggregate_context(tls, ctx, 2048)
 90578  	z = sqlite3.Xsqlite3_errmsg16(tls, db)
 90579  	sqlite3.Xsqlite3_result_text16(tls, ctx, z, -1, libc.UintptrFromInt32(-1))
 90580  }
 90581  
 90582  func free_test_auxdata(tls *libc.TLS, p uintptr) {
 90583  	sqlite3.Xsqlite3_free(tls, p)
 90584  }
 90585  
 90586  func test_auxdata(tls *libc.TLS, pCtx uintptr, nArg int32, argv uintptr) {
 90587  	var i int32
 90588  	var zRet uintptr = testContextMalloc(tls, pCtx, nArg*2)
 90589  	if !(zRet != 0) {
 90590  		return
 90591  	}
 90592  	libc.Xmemset(tls, zRet, 0, uint64(nArg*2))
 90593  	for i = 0; i < nArg; i++ {
 90594  		var z uintptr = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))
 90595  		if z != 0 {
 90596  			var n int32
 90597  			var zAux uintptr = sqlite3.Xsqlite3_get_auxdata(tls, pCtx, i)
 90598  			if zAux != 0 {
 90599  				*(*int8)(unsafe.Pointer(zRet + uintptr(i*2))) = int8('1')
 90600  
 90601  			} else {
 90602  				*(*int8)(unsafe.Pointer(zRet + uintptr(i*2))) = int8('0')
 90603  			}
 90604  			n = int32(libc.Xstrlen(tls, z)) + 1
 90605  			zAux = testContextMalloc(tls, pCtx, n)
 90606  			if zAux != 0 {
 90607  				libc.Xmemcpy(tls, zAux, z, uint64(n))
 90608  				sqlite3.Xsqlite3_set_auxdata(tls, pCtx, i, zAux, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{free_test_auxdata})))
 90609  			}
 90610  			*(*int8)(unsafe.Pointer(zRet + uintptr(i*2+1))) = int8(' ')
 90611  		}
 90612  	}
 90613  	sqlite3.Xsqlite3_result_text(tls, pCtx, zRet, 2*nArg-1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{free_test_auxdata})))
 90614  }
 90615  
 90616  func test_error(tls *libc.TLS, pCtx uintptr, nArg int32, argv uintptr) {
 90617  	sqlite3.Xsqlite3_result_error(tls, pCtx, sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))), -1)
 90618  	if nArg == 2 {
 90619  		sqlite3.Xsqlite3_result_error_code(tls, pCtx, sqlite3.Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))))
 90620  	}
 90621  }
 90622  
 90623  func counterFunc(tls *libc.TLS, pCtx uintptr, nArg int32, argv uintptr) {
 90624  	var pCounter uintptr = sqlite3.Xsqlite3_get_auxdata(tls, pCtx, 0)
 90625  	if pCounter == uintptr(0) {
 90626  		pCounter = sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(int32(0))))
 90627  		if pCounter == uintptr(0) {
 90628  			sqlite3.Xsqlite3_result_error_nomem(tls, pCtx)
 90629  			return
 90630  		}
 90631  		*(*int32)(unsafe.Pointer(pCounter)) = sqlite3.Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv)))
 90632  		sqlite3.Xsqlite3_set_auxdata(tls, pCtx, 0, pCounter, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sqlite3.Xsqlite3_free})))
 90633  	} else {
 90634  		*(*int32)(unsafe.Pointer(pCounter))++
 90635  	}
 90636  	sqlite3.Xsqlite3_result_int(tls, pCtx, *(*int32)(unsafe.Pointer(pCounter)))
 90637  }
 90638  
 90639  func test_isolation(tls *libc.TLS, pCtx uintptr, nArg int32, argv uintptr) {
 90640  	sqlite3.Xsqlite3_value_text16(tls, *(*uintptr)(unsafe.Pointer(argv)))
 90641  	sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv)))
 90642  	sqlite3.Xsqlite3_value_text16(tls, *(*uintptr)(unsafe.Pointer(argv)))
 90643  	sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv)))
 90644  	sqlite3.Xsqlite3_result_value(tls, pCtx, *(*uintptr)(unsafe.Pointer(argv + 1*8)))
 90645  }
 90646  
 90647  func test_eval(tls *libc.TLS, pCtx uintptr, nArg int32, argv uintptr) {
 90648  	bp := tls.Alloc(16)
 90649  	defer tls.Free(16)
 90650  
 90651  	var rc int32
 90652  	var db uintptr = sqlite3.Xsqlite3_context_db_handle(tls, pCtx)
 90653  	var zSql uintptr
 90654  
 90655  	zSql = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv)))
 90656  	rc = sqlite3.Xsqlite3_prepare_v2(tls, db, zSql, -1, bp+8, uintptr(0))
 90657  	if rc == SQLITE_OK {
 90658  		rc = sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
 90659  		if rc == SQLITE_ROW {
 90660  			sqlite3.Xsqlite3_result_value(tls, pCtx, sqlite3.Xsqlite3_column_value(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), 0))
 90661  		}
 90662  		rc = sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
 90663  	}
 90664  	if rc != 0 {
 90665  		var zErr uintptr
 90666  
 90667  		zErr = sqlite3.Xsqlite3_mprintf(tls, ts+30909, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, db)))
 90668  		sqlite3.Xsqlite3_result_text(tls, pCtx, zErr, -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sqlite3.Xsqlite3_free})))
 90669  		sqlite3.Xsqlite3_result_error_code(tls, pCtx, rc)
 90670  	}
 90671  }
 90672  
 90673  func testHexChar(tls *libc.TLS, c int8) int32 {
 90674  	if int32(c) >= '0' && int32(c) <= '9' {
 90675  		return int32(c) - '0'
 90676  	} else if int32(c) >= 'a' && int32(c) <= 'f' {
 90677  		return int32(c) - 'a' + 10
 90678  	} else if int32(c) >= 'A' && int32(c) <= 'F' {
 90679  		return int32(c) - 'A' + 10
 90680  	}
 90681  	return 0
 90682  }
 90683  
 90684  func testHexToBin(tls *libc.TLS, zIn uintptr, zOut uintptr) {
 90685  	for *(*int8)(unsafe.Pointer(zIn)) != 0 && *(*int8)(unsafe.Pointer(zIn + 1)) != 0 {
 90686  		*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zOut, 1))) = int8(testHexChar(tls, *(*int8)(unsafe.Pointer(zIn)))<<4 + testHexChar(tls, *(*int8)(unsafe.Pointer(zIn + 1))))
 90687  		zIn += uintptr(2)
 90688  	}
 90689  }
 90690  
 90691  func testHexToUtf16be(tls *libc.TLS, pCtx uintptr, nArg int32, argv uintptr) {
 90692  	var n int32
 90693  	var zIn uintptr
 90694  	var zOut uintptr
 90695  
 90696  	n = sqlite3.Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv)))
 90697  	zIn = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv)))
 90698  	zOut = sqlite3.Xsqlite3_malloc(tls, n/2)
 90699  	if zOut == uintptr(0) {
 90700  		sqlite3.Xsqlite3_result_error_nomem(tls, pCtx)
 90701  	} else {
 90702  		testHexToBin(tls, zIn, zOut)
 90703  		sqlite3.Xsqlite3_result_text16be(tls, pCtx, zOut, n/2, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sqlite3.Xsqlite3_free})))
 90704  	}
 90705  }
 90706  
 90707  func testHexToUtf8(tls *libc.TLS, pCtx uintptr, nArg int32, argv uintptr) {
 90708  	var n int32
 90709  	var zIn uintptr
 90710  	var zOut uintptr
 90711  
 90712  	n = sqlite3.Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv)))
 90713  	zIn = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv)))
 90714  	zOut = sqlite3.Xsqlite3_malloc(tls, n/2)
 90715  	if zOut == uintptr(0) {
 90716  		sqlite3.Xsqlite3_result_error_nomem(tls, pCtx)
 90717  	} else {
 90718  		testHexToBin(tls, zIn, zOut)
 90719  		sqlite3.Xsqlite3_result_text(tls, pCtx, zOut, n/2, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sqlite3.Xsqlite3_free})))
 90720  	}
 90721  }
 90722  
 90723  func testHexToUtf16le(tls *libc.TLS, pCtx uintptr, nArg int32, argv uintptr) {
 90724  	var n int32
 90725  	var zIn uintptr
 90726  	var zOut uintptr
 90727  
 90728  	n = sqlite3.Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv)))
 90729  	zIn = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv)))
 90730  	zOut = sqlite3.Xsqlite3_malloc(tls, n/2)
 90731  	if zOut == uintptr(0) {
 90732  		sqlite3.Xsqlite3_result_error_nomem(tls, pCtx)
 90733  	} else {
 90734  		testHexToBin(tls, zIn, zOut)
 90735  		sqlite3.Xsqlite3_result_text16le(tls, pCtx, zOut, n/2, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sqlite3.Xsqlite3_free})))
 90736  	}
 90737  }
 90738  
 90739  func real2hex(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 90740  	bp := tls.Alloc(28)
 90741  	defer tls.Free(28)
 90742  
 90743  	var i int32
 90744  	var bigEndian int32
 90745  	*(*sqlite3_uint64)(unsafe.Pointer(bp)) = uint64(1)
 90746  	bigEndian = libc.Bool32(int32(*(*uint8)(unsafe.Pointer(bp))) == 0)
 90747  	*(*float64)(unsafe.Pointer(bp)) = sqlite3.Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv)))
 90748  	for i = 0; i < 8; i++ {
 90749  		if bigEndian != 0 {
 90750  			*(*int8)(unsafe.Pointer(bp + 8 + uintptr(i*2))) = *(*int8)(unsafe.Pointer(ts + 30940 + uintptr(int32(*(*uint8)(unsafe.Pointer(bp + uintptr(i))))>>4)))
 90751  			*(*int8)(unsafe.Pointer(bp + 8 + uintptr(i*2+1))) = *(*int8)(unsafe.Pointer(ts + 30940 + uintptr(int32(*(*uint8)(unsafe.Pointer(bp + uintptr(i))))&0xf)))
 90752  		} else {
 90753  			*(*int8)(unsafe.Pointer(bp + 8 + uintptr(14-i*2))) = *(*int8)(unsafe.Pointer(ts + 30940 + uintptr(int32(*(*uint8)(unsafe.Pointer(bp + uintptr(i))))>>4)))
 90754  			*(*int8)(unsafe.Pointer(bp + 8 + uintptr(14-i*2+1))) = *(*int8)(unsafe.Pointer(ts + 30940 + uintptr(int32(*(*uint8)(unsafe.Pointer(bp + uintptr(i))))&0xf)))
 90755  		}
 90756  	}
 90757  	*(*int8)(unsafe.Pointer(bp + 8 + 16)) = int8(0)
 90758  	sqlite3.Xsqlite3_result_text(tls, context, bp+8, -1, libc.UintptrFromInt32(-1))
 90759  }
 90760  
 90761  func test_extract(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 90762  	bp := tls.Alloc(72)
 90763  	defer tls.Free(72)
 90764  
 90765  	var db uintptr = sqlite3.Xsqlite3_context_db_handle(tls, context)
 90766  	var pRec uintptr
 90767  	var pEndHdr uintptr
 90768  	var pHdr uintptr
 90769  	var pBody uintptr
 90770  
 90771  	var iIdx int32
 90772  	var iCurrent int32 = 0
 90773  
 90774  	pRec = sqlite3.Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(argv)))
 90775  	iIdx = sqlite3.Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))
 90776  
 90777  	pHdr = pRec + uintptr(sqlite3.Xsqlite3GetVarint(tls, pRec, bp))
 90778  	pBody = libc.AssignUintptr(&pEndHdr, pRec+uintptr(*(*u64)(unsafe.Pointer(bp))))
 90779  
 90780  	for iCurrent = 0; pHdr < pEndHdr && iCurrent <= iIdx; iCurrent++ {
 90781  		libc.Xmemset(tls, bp+8, 0, uint64(unsafe.Sizeof(Mem{})))
 90782  		(*Mem)(unsafe.Pointer(bp + 8)).Fdb = db
 90783  		(*Mem)(unsafe.Pointer(bp + 8)).Fenc = (*sqlite31)(unsafe.Pointer(db)).Fenc
 90784  		pHdr += uintptr(sqlite3.Xsqlite3GetVarint(tls, pHdr, bp+64))
 90785  		sqlite3.Xsqlite3VdbeSerialGet(tls, pBody, u32(*(*u64)(unsafe.Pointer(bp + 64))), bp+8)
 90786  		pBody += uintptr(sqlite3.Xsqlite3VdbeSerialTypeLen(tls, u32(*(*u64)(unsafe.Pointer(bp + 64)))))
 90787  
 90788  		if iCurrent == iIdx {
 90789  			sqlite3.Xsqlite3_result_value(tls, context, bp+8)
 90790  		}
 90791  
 90792  		if (*Mem)(unsafe.Pointer(bp+8)).FszMalloc != 0 {
 90793  			sqlite3.Xsqlite3DbFree(tls, db, (*Mem)(unsafe.Pointer(bp+8)).FzMalloc)
 90794  		}
 90795  	}
 90796  }
 90797  
 90798  func test_decode(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 90799  	bp := tls.Alloc(123)
 90800  	defer tls.Free(123)
 90801  
 90802  	var db uintptr = sqlite3.Xsqlite3_context_db_handle(tls, context)
 90803  	var pRec uintptr
 90804  	var pEndHdr uintptr
 90805  	var pHdr uintptr
 90806  	var pBody uintptr
 90807  
 90808  	var pRet uintptr
 90809  
 90810  	pRet = tcl.XTcl_NewObj(tls)
 90811  	(*Tcl_Obj)(unsafe.Pointer(pRet)).FrefCount++
 90812  
 90813  	pRec = sqlite3.Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(argv)))
 90814  
 90815  	pHdr = pRec + uintptr(sqlite3.Xsqlite3GetVarint(tls, pRec, bp+32))
 90816  	pBody = libc.AssignUintptr(&pEndHdr, pRec+uintptr(*(*u64)(unsafe.Pointer(bp + 32))))
 90817  	for pHdr < pEndHdr {
 90818  		var pVal uintptr = uintptr(0)
 90819  
 90820  		libc.Xmemset(tls, bp+40, 0, uint64(unsafe.Sizeof(Mem{})))
 90821  		(*Mem)(unsafe.Pointer(bp + 40)).Fdb = db
 90822  		(*Mem)(unsafe.Pointer(bp + 40)).Fenc = (*sqlite31)(unsafe.Pointer(db)).Fenc
 90823  		pHdr += uintptr(sqlite3.Xsqlite3GetVarint(tls, pHdr, bp+96))
 90824  		sqlite3.Xsqlite3VdbeSerialGet(tls, pBody, u32(*(*u64)(unsafe.Pointer(bp + 96))), bp+40)
 90825  		pBody += uintptr(sqlite3.Xsqlite3VdbeSerialTypeLen(tls, u32(*(*u64)(unsafe.Pointer(bp + 96)))))
 90826  
 90827  		switch sqlite3.Xsqlite3_value_type(tls, bp+40) {
 90828  		case SQLITE_TEXT:
 90829  			pVal = tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3_value_text(tls, bp+40), -1)
 90830  			break
 90831  
 90832  		case SQLITE_BLOB:
 90833  			{
 90834  				*(*[16]int8)(unsafe.Pointer(bp + 107)) = [16]int8{
 90835  					int8('0'), int8('1'), int8('2'), int8('3'), int8('4'), int8('5'), int8('6'), int8('7'),
 90836  					int8('8'), int8('9'), int8('a'), int8('b'), int8('c'), int8('d'), int8('e'), int8('f'),
 90837  				}
 90838  				var n int32 = sqlite3.Xsqlite3_value_bytes(tls, bp+40)
 90839  				var z uintptr = sqlite3.Xsqlite3_value_blob(tls, bp+40)
 90840  				var i int32
 90841  				pVal = tcl.XTcl_NewStringObj(tls, ts+6334, -1)
 90842  				for i = 0; i < n; i++ {
 90843  					*(*int8)(unsafe.Pointer(bp + 104)) = *(*int8)(unsafe.Pointer(bp + 107 + uintptr(int32(*(*u8)(unsafe.Pointer(z + uintptr(i))))>>4&0x0F)))
 90844  					*(*int8)(unsafe.Pointer(bp + 104 + 1)) = *(*int8)(unsafe.Pointer(bp + 107 + uintptr(int32(*(*u8)(unsafe.Pointer(z + uintptr(i))))&0x0F)))
 90845  					*(*int8)(unsafe.Pointer(bp + 104 + 2)) = int8(0)
 90846  					tcl.XTcl_AppendStringsToObj(tls, pVal, libc.VaList(bp, bp+104, 0))
 90847  				}
 90848  				tcl.XTcl_AppendStringsToObj(tls, pVal, libc.VaList(bp+16, ts+5624, 0))
 90849  				break
 90850  
 90851  			}
 90852  
 90853  		case SQLITE_FLOAT:
 90854  			pVal = tcl.XTcl_NewDoubleObj(tls, sqlite3.Xsqlite3_value_double(tls, bp+40))
 90855  			break
 90856  
 90857  		case SQLITE_INTEGER:
 90858  			pVal = tcl.XTcl_NewWideIntObj(tls, sqlite3.Xsqlite3_value_int64(tls, bp+40))
 90859  			break
 90860  
 90861  		case SQLITE_NULL:
 90862  			pVal = tcl.XTcl_NewStringObj(tls, ts+5846, -1)
 90863  			break
 90864  
 90865  		default:
 90866  		}
 90867  
 90868  		tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pRet, pVal)
 90869  
 90870  		if (*Mem)(unsafe.Pointer(bp+40)).FszMalloc != 0 {
 90871  			sqlite3.Xsqlite3DbFree(tls, db, (*Mem)(unsafe.Pointer(bp+40)).FzMalloc)
 90872  		}
 90873  	}
 90874  
 90875  	sqlite3.Xsqlite3_result_text(tls, context, tcl.XTcl_GetString(tls, pRet), -1, libc.UintptrFromInt32(-1))
 90876  	for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
 90877  		var _objPtr uintptr = pRet
 90878  		if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 90879  			tcl.XTclFreeObj(tls, _objPtr)
 90880  		}
 90881  	}
 90882  }
 90883  
 90884  func test_zeroblob(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 90885  	var nZero int32 = sqlite3.Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv)))
 90886  	sqlite3.Xsqlite3_result_zeroblob(tls, context, nZero)
 90887  }
 90888  
 90889  func test_getsubtype(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 90890  	sqlite3.Xsqlite3_result_int(tls, context, int32(sqlite3.Xsqlite3_value_subtype(tls, *(*uintptr)(unsafe.Pointer(argv)))))
 90891  }
 90892  
 90893  func test_frombind(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 90894  	var m sqlite3_uint64 = uint64(0)
 90895  	var i int32
 90896  	for i = 0; i < argc && i < 63; i++ {
 90897  		if sqlite3.Xsqlite3_value_frombind(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) != 0 {
 90898  			m = m | uint64(1)<<i
 90899  		}
 90900  	}
 90901  	sqlite3.Xsqlite3_result_int64(tls, context, sqlite3_int64(m))
 90902  }
 90903  
 90904  func test_setsubtype(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 90905  	sqlite3.Xsqlite3_result_value(tls, context, *(*uintptr)(unsafe.Pointer(argv)))
 90906  	sqlite3.Xsqlite3_result_subtype(tls, context, uint32(sqlite3.Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))))
 90907  }
 90908  
 90909  func registerTestFunctions(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pThunk uintptr) int32 {
 90910  	var i int32
 90911  
 90912  	for i = 0; uint64(i) < uint64(unsafe.Sizeof(aFuncs))/uint64(unsafe.Sizeof(struct {
 90913  		FzName       uintptr
 90914  		FnArg        int8
 90915  		F__ccgo_pad1 [3]byte
 90916  		FeTextRep    uint32
 90917  		FxFunc       uintptr
 90918  	}{})); i++ {
 90919  		sqlite3.Xsqlite3_create_function(tls, db, aFuncs[i].FzName, int32(aFuncs[i].FnArg),
 90920  			int32(aFuncs[i].FeTextRep), uintptr(0), aFuncs[i].FxFunc, uintptr(0), uintptr(0))
 90921  	}
 90922  
 90923  	sqlite3.Xsqlite3_create_function(tls, db, ts+30957, 0, SQLITE_ANY, uintptr(0), uintptr(0),
 90924  		*(*uintptr)(unsafe.Pointer(&struct {
 90925  			f func(*libc.TLS, uintptr, int32, uintptr)
 90926  		}{test_agg_errmsg16_step})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{test_agg_errmsg16_final})))
 90927  
 90928  	return SQLITE_OK
 90929  }
 90930  
 90931  var aFuncs = [20]struct {
 90932  	FzName       uintptr
 90933  	FnArg        int8
 90934  	F__ccgo_pad1 [3]byte
 90935  	FeTextRep    uint32
 90936  	FxFunc       uintptr
 90937  }{
 90938  	{FzName: ts + 30975, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0},
 90939  	{FzName: ts + 30983, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0},
 90940  	{FzName: ts + 30999, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0},
 90941  	{FzName: ts + 31017, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0},
 90942  	{FzName: ts + 31032, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0},
 90943  	{FzName: ts + 31047, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0},
 90944  	{FzName: ts + 31059, FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0},
 90945  	{FzName: ts + 31081, FnArg: int8(-1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0},
 90946  	{FzName: ts + 31094, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0},
 90947  	{FzName: ts + 31094, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0},
 90948  	{FzName: ts + 31105, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0},
 90949  	{FzName: ts + 31115, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0},
 90950  	{FzName: ts + 31130, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0},
 90951  	{FzName: ts + 31143, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0},
 90952  	{FzName: ts + 31152, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0},
 90953  	{FzName: ts + 31164, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0},
 90954  	{FzName: ts + 31177, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8 | SQLITE_DETERMINISTIC), FxFunc: 0},
 90955  	{FzName: ts + 31191, FnArg: int8(1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0},
 90956  	{FzName: ts + 31207, FnArg: int8(2), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0},
 90957  	{FzName: ts + 31223, FnArg: int8(-1), FeTextRep: uint32(SQLITE_UTF8), FxFunc: 0},
 90958  }
 90959  
 90960  func autoinstall_test_funcs(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 90961  	var rc int32 = sqlite3.Xsqlite3_auto_extension(tls, *(*uintptr)(unsafe.Pointer(&struct {
 90962  		f func(*libc.TLS, uintptr, uintptr, uintptr) int32
 90963  	}{registerTestFunctions})))
 90964  	if rc == SQLITE_OK {
 90965  		rc = sqlite3.Xsqlite3_auto_extension(tls, *(*uintptr)(unsafe.Pointer(&struct {
 90966  			f func(*libc.TLS, uintptr, uintptr, uintptr) int32
 90967  		}{Md5_Register})))
 90968  	}
 90969  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, rc))
 90970  	return TCL_OK
 90971  }
 90972  
 90973  func tStep(tls *libc.TLS, a uintptr, b int32, c uintptr) {
 90974  }
 90975  
 90976  func tFinal(tls *libc.TLS, a uintptr) {
 90977  }
 90978  
 90979  func abuse_create_function(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 90980  	bp := tls.Alloc(24)
 90981  	defer tls.Free(24)
 90982  
 90983  	var rc int32
 90984  	var mxArg int32
 90985  
 90986  	if !(getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+16) != 0) {
 90987  		goto __1
 90988  	}
 90989  	return TCL_ERROR
 90990  __1:
 90991  	;
 90992  	rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16)), ts+31237, 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 90993  		f func(*libc.TLS, uintptr, int32, uintptr)
 90994  	}{tStep})), *(*uintptr)(unsafe.Pointer(&struct {
 90995  		f func(*libc.TLS, uintptr, int32, uintptr)
 90996  	}{tStep})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{tFinal})))
 90997  	if !(rc != SQLITE_MISUSE) {
 90998  		goto __2
 90999  	}
 91000  	goto abuse_err
 91001  __2:
 91002  	;
 91003  	rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16)), ts+31237, 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 91004  		f func(*libc.TLS, uintptr, int32, uintptr)
 91005  	}{tStep})), *(*uintptr)(unsafe.Pointer(&struct {
 91006  		f func(*libc.TLS, uintptr, int32, uintptr)
 91007  	}{tStep})), uintptr(0))
 91008  	if !(rc != SQLITE_MISUSE) {
 91009  		goto __3
 91010  	}
 91011  	goto abuse_err
 91012  __3:
 91013  	;
 91014  	rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16)), ts+31237, 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 91015  		f func(*libc.TLS, uintptr, int32, uintptr)
 91016  	}{tStep})), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{tFinal})))
 91017  	if !(rc != SQLITE_MISUSE) {
 91018  		goto __4
 91019  	}
 91020  	goto abuse_err
 91021  __4:
 91022  	;
 91023  	rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16)), ts+31237, 1, SQLITE_UTF8, uintptr(0), uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{tFinal})))
 91024  	if !(rc != SQLITE_MISUSE) {
 91025  		goto __5
 91026  	}
 91027  	goto abuse_err
 91028  __5:
 91029  	;
 91030  	rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16)), ts+31237, 1, SQLITE_UTF8, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 91031  		f func(*libc.TLS, uintptr, int32, uintptr)
 91032  	}{tStep})), uintptr(0))
 91033  	if !(rc != SQLITE_MISUSE) {
 91034  		goto __6
 91035  	}
 91036  	goto abuse_err
 91037  __6:
 91038  	;
 91039  	rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16)), ts+31237, -2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 91040  		f func(*libc.TLS, uintptr, int32, uintptr)
 91041  	}{tStep})), uintptr(0), uintptr(0))
 91042  	if !(rc != SQLITE_MISUSE) {
 91043  		goto __7
 91044  	}
 91045  	goto abuse_err
 91046  __7:
 91047  	;
 91048  	rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16)), ts+31237, 128, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 91049  		f func(*libc.TLS, uintptr, int32, uintptr)
 91050  	}{tStep})), uintptr(0), uintptr(0))
 91051  	if !(rc != SQLITE_MISUSE) {
 91052  		goto __8
 91053  	}
 91054  	goto abuse_err
 91055  __8:
 91056  	;
 91057  	rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16)),
 91058  		ts+31240,
 91059  		1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 91060  			f func(*libc.TLS, uintptr, int32, uintptr)
 91061  		}{tStep})), uintptr(0), uintptr(0))
 91062  	if !(rc != SQLITE_MISUSE) {
 91063  		goto __9
 91064  	}
 91065  	goto abuse_err
 91066  __9:
 91067  	;
 91068  	sqlite3.Xsqlite3_limit(tls, *(*uintptr)(unsafe.Pointer(bp + 16)), SQLITE_LIMIT_FUNCTION_ARG, 10000)
 91069  	mxArg = sqlite3.Xsqlite3_limit(tls, *(*uintptr)(unsafe.Pointer(bp + 16)), SQLITE_LIMIT_FUNCTION_ARG, -1)
 91070  	rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16)),
 91071  		ts+31497,
 91072  		mxArg, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 91073  			f func(*libc.TLS, uintptr, int32, uintptr)
 91074  		}{tStep})), uintptr(0), uintptr(0))
 91075  	if !(rc != SQLITE_OK) {
 91076  		goto __10
 91077  	}
 91078  	goto abuse_err
 91079  __10:
 91080  	;
 91081  	return TCL_OK
 91082  
 91083  abuse_err:
 91084  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+31753,
 91085  		uintptr(0)))
 91086  	return TCL_ERROR
 91087  }
 91088  
 91089  func rankfunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) {
 91090  	var aMatchinfo uintptr
 91091  	var nMatchinfo int32
 91092  	var nCol int32
 91093  	var nPhrase int32
 91094  	var iPhrase int32
 91095  	var score float64
 91096  	var nHitCount int32
 91097  	var nGlobalHitCount int32
 91098  	var weight float64
 91099  	var iCol int32
 91100  
 91101  	var aPhraseinfo uintptr
 91102  	nCol = 0
 91103  	nPhrase = 0
 91104  	score = 0.0
 91105  
 91106  	if !(nVal < 1) {
 91107  		goto __1
 91108  	}
 91109  	goto wrong_number_args
 91110  __1:
 91111  	;
 91112  	aMatchinfo = sqlite3.Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(apVal)))
 91113  	nMatchinfo = int32(uint64(sqlite3.Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(apVal)))) / uint64(unsafe.Sizeof(int32(0))))
 91114  	if !(nMatchinfo >= 2) {
 91115  		goto __2
 91116  	}
 91117  	nPhrase = *(*int32)(unsafe.Pointer(aMatchinfo))
 91118  	nCol = *(*int32)(unsafe.Pointer(aMatchinfo + 1*4))
 91119  __2:
 91120  	;
 91121  	if !(nMatchinfo != 2+3*nCol*nPhrase) {
 91122  		goto __3
 91123  	}
 91124  	sqlite3.Xsqlite3_result_error(tls, pCtx,
 91125  		ts+31796, -1)
 91126  	return
 91127  __3:
 91128  	;
 91129  	if !(nVal != 1+nCol) {
 91130  		goto __4
 91131  	}
 91132  	goto wrong_number_args
 91133  __4:
 91134  	;
 91135  	iPhrase = 0
 91136  __5:
 91137  	if !(iPhrase < nPhrase) {
 91138  		goto __7
 91139  	}
 91140  
 91141  	aPhraseinfo = aMatchinfo + uintptr(2+iPhrase*nCol*3)*4
 91142  	iCol = 0
 91143  __8:
 91144  	if !(iCol < nCol) {
 91145  		goto __10
 91146  	}
 91147  	nHitCount = *(*int32)(unsafe.Pointer(aPhraseinfo + uintptr(3*iCol)*4))
 91148  	nGlobalHitCount = *(*int32)(unsafe.Pointer(aPhraseinfo + uintptr(3*iCol+1)*4))
 91149  	weight = sqlite3.Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(apVal + uintptr(iCol+1)*8)))
 91150  	if !(nHitCount > 0) {
 91151  		goto __11
 91152  	}
 91153  	score = score + float64(nHitCount)/float64(nGlobalHitCount)*weight
 91154  __11:
 91155  	;
 91156  	goto __9
 91157  __9:
 91158  	iCol++
 91159  	goto __8
 91160  	goto __10
 91161  __10:
 91162  	;
 91163  	goto __6
 91164  __6:
 91165  	iPhrase++
 91166  	goto __5
 91167  	goto __7
 91168  __7:
 91169  	;
 91170  	sqlite3.Xsqlite3_result_double(tls, pCtx, score)
 91171  	return
 91172  
 91173  wrong_number_args:
 91174  	sqlite3.Xsqlite3_result_error(tls, pCtx, ts+31845, -1)
 91175  }
 91176  
 91177  func install_fts3_rank_function(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 91178  	bp := tls.Alloc(8)
 91179  	defer tls.Free(8)
 91180  
 91181  	if objc != 2 {
 91182  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+2050)
 91183  		return TCL_ERROR
 91184  	}
 91185  
 91186  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp) != 0 {
 91187  		return TCL_ERROR
 91188  	}
 91189  	sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp)), ts+31890, -1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 91190  		f func(*libc.TLS, uintptr, int32, uintptr)
 91191  	}{rankfunc})), uintptr(0), uintptr(0))
 91192  	return TCL_OK
 91193  }
 91194  
 91195  func Sqlitetest_func_Init(tls *libc.TLS, interp uintptr) int32 {
 91196  	var i int32
 91197  
 91198  	for i = 0; uint64(i) < uint64(unsafe.Sizeof(aObjCmd7))/uint64(unsafe.Sizeof(struct {
 91199  		FzName uintptr
 91200  		FxProc uintptr
 91201  	}{})); i++ {
 91202  		tcl.XTcl_CreateObjCommand(tls, interp, aObjCmd7[i].FzName, aObjCmd7[i].FxProc, uintptr(0), uintptr(0))
 91203  	}
 91204  	sqlite3.Xsqlite3_initialize(tls)
 91205  	sqlite3.Xsqlite3_auto_extension(tls, *(*uintptr)(unsafe.Pointer(&struct {
 91206  		f func(*libc.TLS, uintptr, uintptr, uintptr) int32
 91207  	}{registerTestFunctions})))
 91208  	sqlite3.Xsqlite3_auto_extension(tls, *(*uintptr)(unsafe.Pointer(&struct {
 91209  		f func(*libc.TLS, uintptr, uintptr, uintptr) int32
 91210  	}{Md5_Register})))
 91211  	return TCL_OK
 91212  }
 91213  
 91214  var aObjCmd7 = [3]struct {
 91215  	FzName uintptr
 91216  	FxProc uintptr
 91217  }{
 91218  	{FzName: ts + 31895, FxProc: 0},
 91219  	{FzName: ts + 31922, FxProc: 0},
 91220  	{FzName: ts + 31944, FxProc: 0},
 91221  }
 91222  
 91223  func sqlite3TestBinToHex(tls *libc.TLS, zBuf uintptr, N int32) {
 91224  	bp := tls.Alloc(17)
 91225  	defer tls.Free(17)
 91226  
 91227  	*(*[17]uint8)(unsafe.Pointer(bp)) = *(*[17]uint8)(unsafe.Pointer(ts + 31971))
 91228  	var i int32
 91229  	var j int32
 91230  	var c uint8
 91231  	i = N * 2
 91232  	*(*uint8)(unsafe.Pointer(zBuf + uintptr(libc.PostDecInt32(&i, 1)))) = uint8(0)
 91233  	for j = N - 1; j >= 0; j-- {
 91234  		c = *(*uint8)(unsafe.Pointer(zBuf + uintptr(j)))
 91235  		*(*uint8)(unsafe.Pointer(zBuf + uintptr(libc.PostDecInt32(&i, 1)))) = *(*uint8)(unsafe.Pointer(bp + uintptr(int32(c)&0xf)))
 91236  		*(*uint8)(unsafe.Pointer(zBuf + uintptr(libc.PostDecInt32(&i, 1)))) = *(*uint8)(unsafe.Pointer(bp + uintptr(int32(c)>>4)))
 91237  	}
 91238  
 91239  }
 91240  
 91241  func sqlite3TestHexToBin(tls *libc.TLS, zIn uintptr, N int32, aOut uintptr) int32 {
 91242  	bp := tls.Alloc(256)
 91243  	defer tls.Free(256)
 91244  
 91245  	*(*[256]uint8)(unsafe.Pointer(bp)) = [256]uint8{
 91246  		uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0),
 91247  		uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0),
 91248  		uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0),
 91249  		uint8(1), uint8(2), uint8(3), uint8(4), uint8(5), uint8(6), uint8(7), uint8(8), uint8(9), uint8(10), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0),
 91250  		uint8(0), uint8(11), uint8(12), uint8(13), uint8(14), uint8(15), uint8(16), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0),
 91251  		uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0),
 91252  		uint8(0), uint8(11), uint8(12), uint8(13), uint8(14), uint8(15), uint8(16), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0),
 91253  		uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0),
 91254  		uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0),
 91255  		uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0),
 91256  		uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0),
 91257  		uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0),
 91258  		uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0),
 91259  		uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0),
 91260  		uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0),
 91261  		uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0),
 91262  	}
 91263  	var i int32
 91264  	var j int32
 91265  	var hi int32 = 1
 91266  	var c uint8
 91267  
 91268  	for i = libc.AssignInt32(&j, 0); i < N; i++ {
 91269  		c = *(*uint8)(unsafe.Pointer(bp + uintptr(*(*uint8)(unsafe.Pointer(zIn + uintptr(i))))))
 91270  		if int32(c) == 0 {
 91271  			continue
 91272  		}
 91273  		if hi != 0 {
 91274  			*(*uint8)(unsafe.Pointer(aOut + uintptr(j))) = uint8((int32(c) - 1) << 4)
 91275  			hi = 0
 91276  		} else {
 91277  			*(*uint8)(unsafe.Pointer(aOut + uintptr(libc.PostIncInt32(&j, 1)))) |= uint8(int32(c) - 1)
 91278  			hi = 1
 91279  		}
 91280  	}
 91281  	return j
 91282  }
 91283  
 91284  func hexio_read(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 91285  	bp := tls.Alloc(48)
 91286  	defer tls.Free(48)
 91287  
 91288  	var got int32
 91289  	var zFile uintptr
 91290  	var zBuf uintptr
 91291  	var in uintptr
 91292  
 91293  	if objc != 4 {
 91294  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+31988)
 91295  		return TCL_ERROR
 91296  	}
 91297  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+40) != 0 {
 91298  		return TCL_ERROR
 91299  	}
 91300  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+44) != 0 {
 91301  		return TCL_ERROR
 91302  	}
 91303  	zFile = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))
 91304  	zBuf = sqlite3.Xsqlite3_malloc(tls, *(*int32)(unsafe.Pointer(bp + 44))*2+1)
 91305  	if zBuf == uintptr(0) {
 91306  		return TCL_ERROR
 91307  	}
 91308  	in = libc.Xfopen(tls, zFile, ts+4402)
 91309  	if in == uintptr(0) {
 91310  		in = libc.Xfopen(tls, zFile, ts+32008)
 91311  	}
 91312  	if in == uintptr(0) {
 91313  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32010, zFile, 0))
 91314  		return TCL_ERROR
 91315  	}
 91316  	libc.Xfseek(tls, in, *(*int32)(unsafe.Pointer(bp + 40)), SEEK_SET)
 91317  	got = int32(libc.Xfread(tls, zBuf, uint64(1), uint64(*(*int32)(unsafe.Pointer(bp + 44))), in))
 91318  	libc.Xfclose(tls, in)
 91319  	if got < 0 {
 91320  		got = 0
 91321  	}
 91322  	sqlite3TestBinToHex(tls, zBuf, got)
 91323  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, zBuf, 0))
 91324  	sqlite3.Xsqlite3_free(tls, zBuf)
 91325  	return TCL_OK
 91326  }
 91327  
 91328  func hexio_write(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 91329  	bp := tls.Alloc(32)
 91330  	defer tls.Free(32)
 91331  
 91332  	var nOut int32
 91333  	var written int32
 91334  	var zFile uintptr
 91335  	var zIn uintptr
 91336  	var aOut uintptr
 91337  	var out uintptr
 91338  
 91339  	if objc != 4 {
 91340  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32034)
 91341  		return TCL_ERROR
 91342  	}
 91343  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+24) != 0 {
 91344  		return TCL_ERROR
 91345  	}
 91346  	zFile = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))
 91347  	zIn = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+28)
 91348  	aOut = sqlite3.Xsqlite3_malloc(tls, 1+*(*int32)(unsafe.Pointer(bp + 28))/2)
 91349  	if aOut == uintptr(0) {
 91350  		return TCL_ERROR
 91351  	}
 91352  	nOut = sqlite3TestHexToBin(tls, zIn, *(*int32)(unsafe.Pointer(bp + 28)), aOut)
 91353  	out = libc.Xfopen(tls, zFile, ts+32058)
 91354  	if out == uintptr(0) {
 91355  		out = libc.Xfopen(tls, zFile, ts+32062)
 91356  	}
 91357  	if out == uintptr(0) {
 91358  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32065, zFile, 0))
 91359  		return TCL_ERROR
 91360  	}
 91361  	libc.Xfseek(tls, out, *(*int32)(unsafe.Pointer(bp + 24)), SEEK_SET)
 91362  	written = int32(libc.Xfwrite(tls, aOut, uint64(1), uint64(nOut), out))
 91363  	sqlite3.Xsqlite3_free(tls, aOut)
 91364  	libc.Xfclose(tls, out)
 91365  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, written))
 91366  	return TCL_OK
 91367  }
 91368  
 91369  func hexio_get_int(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 91370  	bp := tls.Alloc(8)
 91371  	defer tls.Free(8)
 91372  
 91373  	var val int32
 91374  
 91375  	var nOut int32
 91376  	var zIn uintptr
 91377  	var aOut uintptr
 91378  
 91379  	if objc != 2 {
 91380  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32090)
 91381  		return TCL_ERROR
 91382  	}
 91383  	zIn = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp)
 91384  	aOut = sqlite3.Xsqlite3_malloc(tls, 1+*(*int32)(unsafe.Pointer(bp))/2)
 91385  	if aOut == uintptr(0) {
 91386  		return TCL_ERROR
 91387  	}
 91388  	nOut = sqlite3TestHexToBin(tls, zIn, *(*int32)(unsafe.Pointer(bp)), aOut)
 91389  	if nOut >= 4 {
 91390  		libc.Xmemcpy(tls, bp+4, aOut, uint64(4))
 91391  	} else {
 91392  		libc.Xmemset(tls, bp+4, 0, uint64(unsafe.Sizeof([4]uint8{})))
 91393  		libc.Xmemcpy(tls, bp+4+uintptr(4-nOut), aOut, uint64(nOut))
 91394  	}
 91395  	sqlite3.Xsqlite3_free(tls, aOut)
 91396  	val = int32(*(*uint8)(unsafe.Pointer(bp + 4)))<<24 | int32(*(*uint8)(unsafe.Pointer(bp + 4 + 1)))<<16 | int32(*(*uint8)(unsafe.Pointer(bp + 4 + 2)))<<8 | int32(*(*uint8)(unsafe.Pointer(bp + 4 + 3)))
 91397  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, val))
 91398  	return TCL_OK
 91399  }
 91400  
 91401  func hexio_render_int16(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 91402  	bp := tls.Alloc(14)
 91403  	defer tls.Free(14)
 91404  
 91405  	if objc != 2 {
 91406  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+2413)
 91407  		return TCL_ERROR
 91408  	}
 91409  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp) != 0 {
 91410  		return TCL_ERROR
 91411  	}
 91412  	*(*uint8)(unsafe.Pointer(bp + 4)) = uint8(*(*int32)(unsafe.Pointer(bp)) >> 8)
 91413  	*(*uint8)(unsafe.Pointer(bp + 4 + 1)) = uint8(*(*int32)(unsafe.Pointer(bp)))
 91414  	sqlite3TestBinToHex(tls, bp+4, 2)
 91415  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, bp+4, 4))
 91416  	return TCL_OK
 91417  }
 91418  
 91419  func hexio_render_int32(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 91420  	bp := tls.Alloc(14)
 91421  	defer tls.Free(14)
 91422  
 91423  	if objc != 2 {
 91424  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+2413)
 91425  		return TCL_ERROR
 91426  	}
 91427  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp) != 0 {
 91428  		return TCL_ERROR
 91429  	}
 91430  	*(*uint8)(unsafe.Pointer(bp + 4)) = uint8(*(*int32)(unsafe.Pointer(bp)) >> 24)
 91431  	*(*uint8)(unsafe.Pointer(bp + 4 + 1)) = uint8(*(*int32)(unsafe.Pointer(bp)) >> 16)
 91432  	*(*uint8)(unsafe.Pointer(bp + 4 + 2)) = uint8(*(*int32)(unsafe.Pointer(bp)) >> 8)
 91433  	*(*uint8)(unsafe.Pointer(bp + 4 + 3)) = uint8(*(*int32)(unsafe.Pointer(bp)))
 91434  	sqlite3TestBinToHex(tls, bp+4, 4)
 91435  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, bp+4, 8))
 91436  	return TCL_OK
 91437  }
 91438  
 91439  func utf8_to_utf8(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 91440  	bp := tls.Alloc(16)
 91441  	defer tls.Free(16)
 91442  
 91443  	tcl.XTcl_AppendResult(tls, interp,
 91444  		libc.VaList(bp, ts+32098, 0))
 91445  	return TCL_ERROR
 91446  }
 91447  
 91448  func getFts3Varint(tls *libc.TLS, p uintptr, v uintptr) int32 {
 91449  	var q uintptr = p
 91450  	var x sqlite_uint64 = uint64(0)
 91451  	var y sqlite_uint64 = uint64(1)
 91452  	for int32(*(*uint8)(unsafe.Pointer(q)))&0x80 == 0x80 {
 91453  		x = x + y*sqlite_uint64(int32(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&q, 1))))&0x7f)
 91454  		y <<= 7
 91455  	}
 91456  	x = x + y*sqlite_uint64(*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&q, 1))))
 91457  	*(*sqlite_int64)(unsafe.Pointer(v)) = sqlite_int64(x)
 91458  	return int32((int64(q) - int64(p)) / 1)
 91459  }
 91460  
 91461  func putFts3Varint(tls *libc.TLS, p uintptr, v sqlite_int64) int32 {
 91462  	var q uintptr = p
 91463  	var vu sqlite_uint64 = sqlite_uint64(v)
 91464  	for __ccgo := true; __ccgo; __ccgo = vu != uint64(0) {
 91465  		*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&q, 1))) = uint8(vu&uint64(0x7f) | uint64(0x80))
 91466  		vu >>= 7
 91467  	}
 91468  	*(*uint8)(unsafe.Pointer(q + libc.UintptrFromInt32(-1))) &= uint8(0x7f)
 91469  
 91470  	return int32((int64(q) - int64(p)) / 1)
 91471  }
 91472  
 91473  func read_fts3varint(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 91474  	bp := tls.Alloc(16)
 91475  	defer tls.Free(16)
 91476  
 91477  	var zBlob uintptr
 91478  
 91479  	var nVal int32
 91480  
 91481  	if objc != 3 {
 91482  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32152)
 91483  		return TCL_ERROR
 91484  	}
 91485  	zBlob = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp)
 91486  
 91487  	nVal = getFts3Varint(tls, zBlob, bp+8)
 91488  	tcl.XTcl_ObjSetVar2(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), uintptr(0), tcl.XTcl_NewWideIntObj(tls, *(*sqlite3_int64)(unsafe.Pointer(bp + 8))), 0)
 91489  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, nVal))
 91490  	return TCL_OK
 91491  }
 91492  
 91493  func make_fts3record(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 91494  	bp := tls.Alloc(28)
 91495  	defer tls.Free(28)
 91496  
 91497  	*(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0)
 91498  	*(*int32)(unsafe.Pointer(bp)) = 0
 91499  	var aOut uintptr = uintptr(0)
 91500  	var nOut int32 = 0
 91501  	var nAlloc int32 = 0
 91502  	var i int32
 91503  
 91504  	if objc != 2 {
 91505  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32165)
 91506  		return TCL_ERROR
 91507  	}
 91508  	if tcl.XTcl_ListObjGetElements(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp, bp+8) != 0 {
 91509  		return TCL_ERROR
 91510  	}
 91511  
 91512  	for i = 0; i < *(*int32)(unsafe.Pointer(bp)); i++ {
 91513  		if TCL_OK == tcl.XTcl_GetWideIntFromObj(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(i)*8)), bp+16) {
 91514  			if nOut+10 > nAlloc {
 91515  				var nNew int32
 91516  				if nAlloc != 0 {
 91517  					nNew = nAlloc * 2
 91518  				} else {
 91519  					nNew = 128
 91520  				}
 91521  				var aNew uintptr = sqlite3.Xsqlite3_realloc(tls, aOut, nNew)
 91522  				if aNew == uintptr(0) {
 91523  					sqlite3.Xsqlite3_free(tls, aOut)
 91524  					return TCL_ERROR
 91525  				}
 91526  				aOut = aNew
 91527  				nAlloc = nNew
 91528  			}
 91529  			nOut = nOut + putFts3Varint(tls, aOut+uintptr(nOut), *(*sqlite3_int64)(unsafe.Pointer(bp + 16)))
 91530  		} else {
 91531  			*(*int32)(unsafe.Pointer(bp + 24)) = 0
 91532  			var zVal uintptr = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(i)*8)), bp+24)
 91533  			for nOut+*(*int32)(unsafe.Pointer(bp + 24)) > nAlloc {
 91534  				var nNew int32
 91535  				if nAlloc != 0 {
 91536  					nNew = nAlloc * 2
 91537  				} else {
 91538  					nNew = 128
 91539  				}
 91540  				var aNew uintptr = sqlite3.Xsqlite3_realloc(tls, aOut, nNew)
 91541  				if aNew == uintptr(0) {
 91542  					sqlite3.Xsqlite3_free(tls, aOut)
 91543  					return TCL_ERROR
 91544  				}
 91545  				aOut = aNew
 91546  				nAlloc = nNew
 91547  			}
 91548  			libc.Xmemcpy(tls, aOut+uintptr(nOut), zVal, uint64(*(*int32)(unsafe.Pointer(bp + 24))))
 91549  			nOut = nOut + *(*int32)(unsafe.Pointer(bp + 24))
 91550  		}
 91551  	}
 91552  
 91553  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, aOut, nOut))
 91554  	sqlite3.Xsqlite3_free(tls, aOut)
 91555  	return TCL_OK
 91556  }
 91557  
 91558  func Sqlitetest_hexio_Init(tls *libc.TLS, interp uintptr) int32 {
 91559  	var i int32
 91560  	for i = 0; uint64(i) < uint64(unsafe.Sizeof(aObjCmd8))/uint64(unsafe.Sizeof(struct {
 91561  		FzName uintptr
 91562  		FxProc uintptr
 91563  	}{})); i++ {
 91564  		tcl.XTcl_CreateObjCommand(tls, interp, aObjCmd8[i].FzName, aObjCmd8[i].FxProc, uintptr(0), uintptr(0))
 91565  	}
 91566  	return TCL_OK
 91567  }
 91568  
 91569  var aObjCmd8 = [8]struct {
 91570  	FzName uintptr
 91571  	FxProc uintptr
 91572  }{
 91573  	{FzName: ts + 32170, FxProc: 0},
 91574  	{FzName: ts + 32181, FxProc: 0},
 91575  	{FzName: ts + 32193, FxProc: 0},
 91576  	{FzName: ts + 32207, FxProc: 0},
 91577  	{FzName: ts + 32226, FxProc: 0},
 91578  	{FzName: ts + 32245, FxProc: 0},
 91579  	{FzName: ts + 32258, FxProc: 0},
 91580  	{FzName: ts + 32274, FxProc: 0},
 91581  }
 91582  
 91583  type Wrapped = struct {
 91584  	Fpcache      sqlite3_pcache_methods2
 91585  	Fmem         sqlite3_mem_methods
 91586  	Fmutex       sqlite3_mutex_methods
 91587  	Fmem_init    int32
 91588  	Fmem_fail    int32
 91589  	Fmutex_init  int32
 91590  	Fmutex_fail  int32
 91591  	Fpcache_init int32
 91592  	Fpcache_fail int32
 91593  }
 91594  
 91595  var wrapped Wrapped
 91596  
 91597  func wrMemInit(tls *libc.TLS, pAppData uintptr) int32 {
 91598  	var rc int32
 91599  	if wrapped.Fmem_fail != 0 {
 91600  		rc = SQLITE_ERROR
 91601  	} else {
 91602  		rc = (*struct {
 91603  			f func(*libc.TLS, uintptr) int32
 91604  		})(unsafe.Pointer(&struct{ uintptr }{wrapped.Fmem.FxInit})).f(tls, wrapped.Fmem.FpAppData)
 91605  	}
 91606  	if rc == SQLITE_OK {
 91607  		wrapped.Fmem_init = 1
 91608  	}
 91609  	return rc
 91610  }
 91611  
 91612  func wrMemShutdown(tls *libc.TLS, pAppData uintptr) {
 91613  	(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fmem.FxShutdown})).f(tls, wrapped.Fmem.FpAppData)
 91614  	wrapped.Fmem_init = 0
 91615  }
 91616  
 91617  func wrMemMalloc(tls *libc.TLS, n int32) uintptr {
 91618  	return (*struct {
 91619  		f func(*libc.TLS, int32) uintptr
 91620  	})(unsafe.Pointer(&struct{ uintptr }{wrapped.Fmem.FxMalloc})).f(tls, n)
 91621  }
 91622  
 91623  func wrMemFree(tls *libc.TLS, p uintptr) {
 91624  	(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fmem.FxFree})).f(tls, p)
 91625  }
 91626  
 91627  func wrMemRealloc(tls *libc.TLS, p uintptr, n int32) uintptr {
 91628  	return (*struct {
 91629  		f func(*libc.TLS, uintptr, int32) uintptr
 91630  	})(unsafe.Pointer(&struct{ uintptr }{wrapped.Fmem.FxRealloc})).f(tls, p, n)
 91631  }
 91632  
 91633  func wrMemSize(tls *libc.TLS, p uintptr) int32 {
 91634  	return (*struct {
 91635  		f func(*libc.TLS, uintptr) int32
 91636  	})(unsafe.Pointer(&struct{ uintptr }{wrapped.Fmem.FxSize})).f(tls, p)
 91637  }
 91638  
 91639  func wrMemRoundup(tls *libc.TLS, n int32) int32 {
 91640  	return (*struct{ f func(*libc.TLS, int32) int32 })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fmem.FxRoundup})).f(tls, n)
 91641  }
 91642  
 91643  func wrMutexInit(tls *libc.TLS) int32 {
 91644  	var rc int32
 91645  	if wrapped.Fmutex_fail != 0 {
 91646  		rc = SQLITE_ERROR
 91647  	} else {
 91648  		rc = (*struct{ f func(*libc.TLS) int32 })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fmutex.FxMutexInit})).f(tls)
 91649  	}
 91650  	if rc == SQLITE_OK {
 91651  		wrapped.Fmutex_init = 1
 91652  	}
 91653  	return rc
 91654  }
 91655  
 91656  func wrMutexEnd(tls *libc.TLS) int32 {
 91657  	(*struct{ f func(*libc.TLS) int32 })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fmutex.FxMutexEnd})).f(tls)
 91658  	wrapped.Fmutex_init = 0
 91659  	return SQLITE_OK
 91660  }
 91661  
 91662  func wrMutexAlloc(tls *libc.TLS, e int32) uintptr {
 91663  	return (*struct {
 91664  		f func(*libc.TLS, int32) uintptr
 91665  	})(unsafe.Pointer(&struct{ uintptr }{wrapped.Fmutex.FxMutexAlloc})).f(tls, e)
 91666  }
 91667  
 91668  func wrMutexFree(tls *libc.TLS, p uintptr) {
 91669  	(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fmutex.FxMutexFree})).f(tls, p)
 91670  }
 91671  
 91672  func wrMutexEnter(tls *libc.TLS, p uintptr) {
 91673  	(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fmutex.FxMutexEnter})).f(tls, p)
 91674  }
 91675  
 91676  func wrMutexTry(tls *libc.TLS, p uintptr) int32 {
 91677  	return (*struct {
 91678  		f func(*libc.TLS, uintptr) int32
 91679  	})(unsafe.Pointer(&struct{ uintptr }{wrapped.Fmutex.FxMutexTry})).f(tls, p)
 91680  }
 91681  
 91682  func wrMutexLeave(tls *libc.TLS, p uintptr) {
 91683  	(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fmutex.FxMutexLeave})).f(tls, p)
 91684  }
 91685  
 91686  func wrMutexHeld(tls *libc.TLS, p uintptr) int32 {
 91687  	return (*struct {
 91688  		f func(*libc.TLS, uintptr) int32
 91689  	})(unsafe.Pointer(&struct{ uintptr }{wrapped.Fmutex.FxMutexHeld})).f(tls, p)
 91690  }
 91691  
 91692  func wrMutexNotheld(tls *libc.TLS, p uintptr) int32 {
 91693  	return (*struct {
 91694  		f func(*libc.TLS, uintptr) int32
 91695  	})(unsafe.Pointer(&struct{ uintptr }{wrapped.Fmutex.FxMutexNotheld})).f(tls, p)
 91696  }
 91697  
 91698  func wrPCacheInit(tls *libc.TLS, pArg uintptr) int32 {
 91699  	var rc int32
 91700  	if wrapped.Fpcache_fail != 0 {
 91701  		rc = SQLITE_ERROR
 91702  	} else {
 91703  		rc = (*struct {
 91704  			f func(*libc.TLS, uintptr) int32
 91705  		})(unsafe.Pointer(&struct{ uintptr }{wrapped.Fpcache.FxInit})).f(tls, wrapped.Fpcache.FpArg)
 91706  	}
 91707  	if rc == SQLITE_OK {
 91708  		wrapped.Fpcache_init = 1
 91709  	}
 91710  	return rc
 91711  }
 91712  
 91713  func wrPCacheShutdown(tls *libc.TLS, pArg uintptr) {
 91714  	(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fpcache.FxShutdown})).f(tls, wrapped.Fpcache.FpArg)
 91715  	wrapped.Fpcache_init = 0
 91716  }
 91717  
 91718  func wrPCacheCreate(tls *libc.TLS, a int32, b int32, c int32) uintptr {
 91719  	return (*struct {
 91720  		f func(*libc.TLS, int32, int32, int32) uintptr
 91721  	})(unsafe.Pointer(&struct{ uintptr }{wrapped.Fpcache.FxCreate})).f(tls, a, b, c)
 91722  }
 91723  
 91724  func wrPCacheCachesize(tls *libc.TLS, p uintptr, n int32) {
 91725  	(*struct {
 91726  		f func(*libc.TLS, uintptr, int32)
 91727  	})(unsafe.Pointer(&struct{ uintptr }{wrapped.Fpcache.FxCachesize})).f(tls, p, n)
 91728  }
 91729  
 91730  func wrPCachePagecount(tls *libc.TLS, p uintptr) int32 {
 91731  	return (*struct {
 91732  		f func(*libc.TLS, uintptr) int32
 91733  	})(unsafe.Pointer(&struct{ uintptr }{wrapped.Fpcache.FxPagecount})).f(tls, p)
 91734  }
 91735  
 91736  func wrPCacheFetch(tls *libc.TLS, p uintptr, a uint32, b int32) uintptr {
 91737  	return (*struct {
 91738  		f func(*libc.TLS, uintptr, uint32, int32) uintptr
 91739  	})(unsafe.Pointer(&struct{ uintptr }{wrapped.Fpcache.FxFetch})).f(tls, p, a, b)
 91740  }
 91741  
 91742  func wrPCacheUnpin(tls *libc.TLS, p uintptr, a uintptr, b int32) {
 91743  	(*struct {
 91744  		f func(*libc.TLS, uintptr, uintptr, int32)
 91745  	})(unsafe.Pointer(&struct{ uintptr }{wrapped.Fpcache.FxUnpin})).f(tls, p, a, b)
 91746  }
 91747  
 91748  func wrPCacheRekey(tls *libc.TLS, p uintptr, a uintptr, b uint32, c uint32) {
 91749  	(*struct {
 91750  		f func(*libc.TLS, uintptr, uintptr, uint32, uint32)
 91751  	})(unsafe.Pointer(&struct{ uintptr }{wrapped.Fpcache.FxRekey})).f(tls, p, a, b, c)
 91752  }
 91753  
 91754  func wrPCacheTruncate(tls *libc.TLS, p uintptr, a uint32) {
 91755  	(*struct {
 91756  		f func(*libc.TLS, uintptr, uint32)
 91757  	})(unsafe.Pointer(&struct{ uintptr }{wrapped.Fpcache.FxTruncate})).f(tls, p, a)
 91758  }
 91759  
 91760  func wrPCacheDestroy(tls *libc.TLS, p uintptr) {
 91761  	(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fpcache.FxDestroy})).f(tls, p)
 91762  }
 91763  
 91764  func installInitWrappers(tls *libc.TLS) {
 91765  	bp := tls.Alloc(288)
 91766  	defer tls.Free(288)
 91767  
 91768  	*(*sqlite3_mutex_methods)(unsafe.Pointer(bp + 48)) = sqlite3_mutex_methods{
 91769  		FxMutexInit: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS) int32 }{wrMutexInit})), FxMutexEnd: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS) int32 }{wrMutexEnd})), FxMutexAlloc: *(*uintptr)(unsafe.Pointer(&struct {
 91770  			f func(*libc.TLS, int32) uintptr
 91771  		}{wrMutexAlloc})),
 91772  		FxMutexFree: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{wrMutexFree})), FxMutexEnter: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{wrMutexEnter})), FxMutexTry: *(*uintptr)(unsafe.Pointer(&struct {
 91773  			f func(*libc.TLS, uintptr) int32
 91774  		}{wrMutexTry})),
 91775  		FxMutexLeave: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{wrMutexLeave})), FxMutexHeld: *(*uintptr)(unsafe.Pointer(&struct {
 91776  			f func(*libc.TLS, uintptr) int32
 91777  		}{wrMutexHeld})), FxMutexNotheld: *(*uintptr)(unsafe.Pointer(&struct {
 91778  			f func(*libc.TLS, uintptr) int32
 91779  		}{wrMutexNotheld})),
 91780  	}
 91781  	*(*sqlite3_pcache_methods2)(unsafe.Pointer(bp + 184)) = sqlite3_pcache_methods2{
 91782  		FiVersion: 1,
 91783  		FxInit: *(*uintptr)(unsafe.Pointer(&struct {
 91784  			f func(*libc.TLS, uintptr) int32
 91785  		}{wrPCacheInit})), FxShutdown: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{wrPCacheShutdown})), FxCreate: *(*uintptr)(unsafe.Pointer(&struct {
 91786  			f func(*libc.TLS, int32, int32, int32) uintptr
 91787  		}{wrPCacheCreate})),
 91788  		FxCachesize: *(*uintptr)(unsafe.Pointer(&struct {
 91789  			f func(*libc.TLS, uintptr, int32)
 91790  		}{wrPCacheCachesize})), FxPagecount: *(*uintptr)(unsafe.Pointer(&struct {
 91791  			f func(*libc.TLS, uintptr) int32
 91792  		}{wrPCachePagecount})), FxFetch: *(*uintptr)(unsafe.Pointer(&struct {
 91793  			f func(*libc.TLS, uintptr, uint32, int32) uintptr
 91794  		}{wrPCacheFetch})),
 91795  		FxUnpin: *(*uintptr)(unsafe.Pointer(&struct {
 91796  			f func(*libc.TLS, uintptr, uintptr, int32)
 91797  		}{wrPCacheUnpin})), FxRekey: *(*uintptr)(unsafe.Pointer(&struct {
 91798  			f func(*libc.TLS, uintptr, uintptr, uint32, uint32)
 91799  		}{wrPCacheRekey})), FxTruncate: *(*uintptr)(unsafe.Pointer(&struct {
 91800  			f func(*libc.TLS, uintptr, uint32)
 91801  		}{wrPCacheTruncate})),
 91802  		FxDestroy: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{wrPCacheDestroy})),
 91803  	}
 91804  	*(*sqlite3_mem_methods)(unsafe.Pointer(bp + 120)) = sqlite3_mem_methods{
 91805  		FxMalloc: *(*uintptr)(unsafe.Pointer(&struct {
 91806  			f func(*libc.TLS, int32) uintptr
 91807  		}{wrMemMalloc})), FxFree: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{wrMemFree})), FxRealloc: *(*uintptr)(unsafe.Pointer(&struct {
 91808  			f func(*libc.TLS, uintptr, int32) uintptr
 91809  		}{wrMemRealloc})),
 91810  		FxSize: *(*uintptr)(unsafe.Pointer(&struct {
 91811  			f func(*libc.TLS, uintptr) int32
 91812  		}{wrMemSize})), FxRoundup: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, int32) int32 }{wrMemRoundup})), FxInit: *(*uintptr)(unsafe.Pointer(&struct {
 91813  			f func(*libc.TLS, uintptr) int32
 91814  		}{wrMemInit})),
 91815  		FxShutdown: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{wrMemShutdown})),
 91816  	}
 91817  
 91818  	libc.Xmemset(tls, uintptr(unsafe.Pointer(&wrapped)), 0, uint64(unsafe.Sizeof(wrapped)))
 91819  
 91820  	sqlite3.Xsqlite3_shutdown(tls)
 91821  	sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_GETMUTEX, libc.VaList(bp, uintptr(unsafe.Pointer(&wrapped))+168))
 91822  	sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_GETMALLOC, libc.VaList(bp+8, uintptr(unsafe.Pointer(&wrapped))+104))
 91823  	sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_GETPCACHE2, libc.VaList(bp+16, uintptr(unsafe.Pointer(&wrapped))))
 91824  	sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_MUTEX, libc.VaList(bp+24, bp+48))
 91825  	sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_MALLOC, libc.VaList(bp+32, bp+120))
 91826  	sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_PCACHE2, libc.VaList(bp+40, bp+184))
 91827  }
 91828  
 91829  func init_wrapper_install(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 91830  	bp := tls.Alloc(24)
 91831  	defer tls.Free(24)
 91832  
 91833  	var i int32
 91834  	installInitWrappers(tls)
 91835  	for i = 1; i < objc; i++ {
 91836  		var z uintptr = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)))
 91837  		if libc.Xstrcmp(tls, z, ts+32290) == 0 {
 91838  			wrapped.Fmem_fail = 1
 91839  		} else if libc.Xstrcmp(tls, z, ts+28854) == 0 {
 91840  			wrapped.Fmutex_fail = 1
 91841  		} else if libc.Xstrcmp(tls, z, ts+32294) == 0 {
 91842  			wrapped.Fpcache_fail = 1
 91843  		} else {
 91844  			tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32301, z, ts+11945))
 91845  			return TCL_ERROR
 91846  		}
 91847  	}
 91848  	return TCL_OK
 91849  }
 91850  
 91851  func init_wrapper_uninstall(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 91852  	bp := tls.Alloc(24)
 91853  	defer tls.Free(24)
 91854  
 91855  	if objc != 1 {
 91856  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+584)
 91857  		return TCL_ERROR
 91858  	}
 91859  
 91860  	sqlite3.Xsqlite3_shutdown(tls)
 91861  	sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_MUTEX, libc.VaList(bp, uintptr(unsafe.Pointer(&wrapped))+168))
 91862  	sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_MALLOC, libc.VaList(bp+8, uintptr(unsafe.Pointer(&wrapped))+104))
 91863  	sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_PCACHE2, libc.VaList(bp+16, uintptr(unsafe.Pointer(&wrapped))))
 91864  	return TCL_OK
 91865  }
 91866  
 91867  func init_wrapper_clear(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 91868  	if objc != 1 {
 91869  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+584)
 91870  		return TCL_ERROR
 91871  	}
 91872  
 91873  	wrapped.Fmem_fail = 0
 91874  	wrapped.Fmutex_fail = 0
 91875  	wrapped.Fpcache_fail = 0
 91876  	return TCL_OK
 91877  }
 91878  
 91879  func init_wrapper_query(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 91880  	var pRet uintptr
 91881  
 91882  	if objc != 1 {
 91883  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+584)
 91884  		return TCL_ERROR
 91885  	}
 91886  
 91887  	pRet = tcl.XTcl_NewObj(tls)
 91888  	if wrapped.Fmutex_init != 0 {
 91889  		tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+28854, -1))
 91890  	}
 91891  	if wrapped.Fmem_init != 0 {
 91892  		tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+32290, -1))
 91893  	}
 91894  	if wrapped.Fpcache_init != 0 {
 91895  		tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, ts+32294, -1))
 91896  	}
 91897  
 91898  	tcl.XTcl_SetObjResult(tls, interp, pRet)
 91899  	return TCL_OK
 91900  }
 91901  
 91902  func Sqlitetest_init_Init(tls *libc.TLS, interp uintptr) int32 {
 91903  	var i int32
 91904  
 91905  	for i = 0; uint64(i) < uint64(unsafe.Sizeof(aObjCmd9))/uint64(unsafe.Sizeof(struct {
 91906  		FzName uintptr
 91907  		FxProc uintptr
 91908  	}{})); i++ {
 91909  		tcl.XTcl_CreateObjCommand(tls, interp, aObjCmd9[i].FzName, aObjCmd9[i].FxProc, uintptr(0), uintptr(0))
 91910  	}
 91911  
 91912  	return TCL_OK
 91913  }
 91914  
 91915  var aObjCmd9 = [4]struct {
 91916  	FzName uintptr
 91917  	FxProc uintptr
 91918  }{
 91919  	{FzName: ts + 32321, FxProc: 0},
 91920  	{FzName: ts + 32342, FxProc: 0},
 91921  	{FzName: ts + 32361, FxProc: 0},
 91922  	{FzName: ts + 32384, FxProc: 0},
 91923  }
 91924  
 91925  type sqlite3_intarray1 = struct {
 91926  	Fn           int32
 91927  	F__ccgo_pad1 [4]byte
 91928  	Fa           uintptr
 91929  	FxFree       uintptr
 91930  }
 91931  
 91932  type sqlite3_intarray = sqlite3_intarray1
 91933  
 91934  type intarray_vtab1 = struct {
 91935  	Fbase     sqlite3_vtab
 91936  	FpContent uintptr
 91937  }
 91938  
 91939  type intarray_vtab = intarray_vtab1
 91940  type intarray_cursor1 = struct {
 91941  	Fbase        sqlite3_vtab_cursor
 91942  	Fi           int32
 91943  	F__ccgo_pad1 [4]byte
 91944  }
 91945  
 91946  type intarray_cursor = intarray_cursor1
 91947  
 91948  func intarrayFree(tls *libc.TLS, p uintptr) {
 91949  	if (*sqlite3_intarray)(unsafe.Pointer(p)).FxFree != 0 {
 91950  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_intarray)(unsafe.Pointer(p)).FxFree})).f(tls, (*sqlite3_intarray)(unsafe.Pointer(p)).Fa)
 91951  	}
 91952  	sqlite3.Xsqlite3_free(tls, p)
 91953  }
 91954  
 91955  func intarrayDestroy(tls *libc.TLS, p uintptr) int32 {
 91956  	var pVtab uintptr = p
 91957  	sqlite3.Xsqlite3_free(tls, pVtab)
 91958  	return 0
 91959  }
 91960  
 91961  func intarrayCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 {
 91962  	var rc int32 = SQLITE_NOMEM
 91963  	var pVtab uintptr = sqlite3.Xsqlite3_malloc64(tls, uint64(unsafe.Sizeof(intarray_vtab{})))
 91964  
 91965  	if pVtab != 0 {
 91966  		libc.Xmemset(tls, pVtab, 0, uint64(unsafe.Sizeof(intarray_vtab{})))
 91967  		(*intarray_vtab)(unsafe.Pointer(pVtab)).FpContent = pAux
 91968  		rc = sqlite3.Xsqlite3_declare_vtab(tls, db, ts+32403)
 91969  	}
 91970  	*(*uintptr)(unsafe.Pointer(ppVtab)) = pVtab
 91971  	return rc
 91972  }
 91973  
 91974  func intarrayOpen(tls *libc.TLS, pVTab uintptr, ppCursor uintptr) int32 {
 91975  	var rc int32 = SQLITE_NOMEM
 91976  	var pCur uintptr
 91977  	pCur = sqlite3.Xsqlite3_malloc64(tls, uint64(unsafe.Sizeof(intarray_cursor{})))
 91978  	if pCur != 0 {
 91979  		libc.Xmemset(tls, pCur, 0, uint64(unsafe.Sizeof(intarray_cursor{})))
 91980  		*(*uintptr)(unsafe.Pointer(ppCursor)) = pCur
 91981  		rc = SQLITE_OK
 91982  	}
 91983  	return rc
 91984  }
 91985  
 91986  func intarrayClose(tls *libc.TLS, cur uintptr) int32 {
 91987  	var pCur uintptr = cur
 91988  	sqlite3.Xsqlite3_free(tls, pCur)
 91989  	return SQLITE_OK
 91990  }
 91991  
 91992  func intarrayColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 {
 91993  	var pCur uintptr = cur
 91994  	var pVtab uintptr = (*sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab
 91995  	if (*intarray_cursor)(unsafe.Pointer(pCur)).Fi >= 0 && (*intarray_cursor)(unsafe.Pointer(pCur)).Fi < (*sqlite3_intarray)(unsafe.Pointer((*intarray_vtab)(unsafe.Pointer(pVtab)).FpContent)).Fn {
 91996  		sqlite3.Xsqlite3_result_int64(tls, ctx, *(*sqlite3_int64)(unsafe.Pointer((*sqlite3_intarray)(unsafe.Pointer((*intarray_vtab)(unsafe.Pointer(pVtab)).FpContent)).Fa + uintptr((*intarray_cursor)(unsafe.Pointer(pCur)).Fi)*8)))
 91997  	}
 91998  	return SQLITE_OK
 91999  }
 92000  
 92001  func intarrayRowid(tls *libc.TLS, cur uintptr, pRowid uintptr) int32 {
 92002  	var pCur uintptr = cur
 92003  	*(*sqlite_int64)(unsafe.Pointer(pRowid)) = sqlite_int64((*intarray_cursor)(unsafe.Pointer(pCur)).Fi)
 92004  	return SQLITE_OK
 92005  }
 92006  
 92007  func intarrayEof(tls *libc.TLS, cur uintptr) int32 {
 92008  	var pCur uintptr = cur
 92009  	var pVtab uintptr = (*sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab
 92010  	return libc.Bool32((*intarray_cursor)(unsafe.Pointer(pCur)).Fi >= (*sqlite3_intarray)(unsafe.Pointer((*intarray_vtab)(unsafe.Pointer(pVtab)).FpContent)).Fn)
 92011  }
 92012  
 92013  func intarrayNext(tls *libc.TLS, cur uintptr) int32 {
 92014  	var pCur uintptr = cur
 92015  	(*intarray_cursor)(unsafe.Pointer(pCur)).Fi++
 92016  	return SQLITE_OK
 92017  }
 92018  
 92019  func intarrayFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 {
 92020  	var pCur uintptr = pVtabCursor
 92021  	(*intarray_cursor)(unsafe.Pointer(pCur)).Fi = 0
 92022  	return SQLITE_OK
 92023  }
 92024  
 92025  func intarrayBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 {
 92026  	return SQLITE_OK
 92027  }
 92028  
 92029  var intarrayModule = sqlite3_module{
 92030  	FxCreate:     0,
 92031  	FxConnect:    0,
 92032  	FxBestIndex:  0,
 92033  	FxDisconnect: 0,
 92034  	FxDestroy:    0,
 92035  	FxOpen:       0,
 92036  	FxClose:      0,
 92037  	FxFilter:     0,
 92038  	FxNext:       0,
 92039  	FxEof:        0,
 92040  	FxColumn:     0,
 92041  	FxRowid:      0,
 92042  }
 92043  
 92044  func sqlite3_intarray_create(tls *libc.TLS, db uintptr, zName uintptr, ppReturn uintptr) int32 {
 92045  	bp := tls.Alloc(16)
 92046  	defer tls.Free(16)
 92047  
 92048  	var rc int32 = SQLITE_OK
 92049  	var p uintptr
 92050  
 92051  	*(*uintptr)(unsafe.Pointer(ppReturn)) = libc.AssignUintptr(&p, sqlite3.Xsqlite3_malloc64(tls, uint64(unsafe.Sizeof(sqlite3_intarray{}))))
 92052  	if p == uintptr(0) {
 92053  		return SQLITE_NOMEM
 92054  	}
 92055  	libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(sqlite3_intarray{})))
 92056  	rc = sqlite3.Xsqlite3_create_module_v2(tls, db, zName, uintptr(unsafe.Pointer(&intarrayModule)), p,
 92057  		*(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{intarrayFree})))
 92058  	if rc == SQLITE_OK {
 92059  		var zSql uintptr
 92060  		zSql = sqlite3.Xsqlite3_mprintf(tls, ts+32445,
 92061  			libc.VaList(bp, zName, zName))
 92062  		rc = sqlite3.Xsqlite3_exec(tls, db, zSql, uintptr(0), uintptr(0), uintptr(0))
 92063  		sqlite3.Xsqlite3_free(tls, zSql)
 92064  	}
 92065  	return rc
 92066  }
 92067  
 92068  func sqlite3_intarray_bind(tls *libc.TLS, pIntArray uintptr, nElements int32, aElements uintptr, xFree uintptr) int32 {
 92069  	if (*sqlite3_intarray)(unsafe.Pointer(pIntArray)).FxFree != 0 {
 92070  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_intarray)(unsafe.Pointer(pIntArray)).FxFree})).f(tls, (*sqlite3_intarray)(unsafe.Pointer(pIntArray)).Fa)
 92071  	}
 92072  	(*sqlite3_intarray)(unsafe.Pointer(pIntArray)).Fn = nElements
 92073  	(*sqlite3_intarray)(unsafe.Pointer(pIntArray)).Fa = aElements
 92074  	(*sqlite3_intarray)(unsafe.Pointer(pIntArray)).FxFree = xFree
 92075  	return SQLITE_OK
 92076  }
 92077  
 92078  func test_intarray_create(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 92079  	bp := tls.Alloc(148)
 92080  	defer tls.Free(148)
 92081  
 92082  	var zName uintptr
 92083  
 92084  	var rc int32 = SQLITE_OK
 92085  
 92086  	if objc != 3 {
 92087  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+2050)
 92088  		return TCL_ERROR
 92089  	}
 92090  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32) != 0 {
 92091  		return TCL_ERROR
 92092  	}
 92093  	zName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
 92094  	rc = sqlite3_intarray_create(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), zName, bp+40)
 92095  	if rc != SQLITE_OK {
 92096  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0)))
 92097  		return TCL_ERROR
 92098  	}
 92099  	sqlite3TestMakePointerStr(tls, interp, bp+48, *(*uintptr)(unsafe.Pointer(bp + 40)))
 92100  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, bp+48, uintptr(0)))
 92101  	return TCL_OK
 92102  }
 92103  
 92104  func test_intarray_bind(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 92105  	bp := tls.Alloc(40)
 92106  	defer tls.Free(40)
 92107  
 92108  	var pArray uintptr
 92109  	var rc int32 = SQLITE_OK
 92110  	var i int32
 92111  	var n int32
 92112  	var a uintptr
 92113  
 92114  	if objc < 2 {
 92115  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32483)
 92116  		return TCL_ERROR
 92117  	}
 92118  	pArray = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))))
 92119  	n = objc - 2
 92120  	a = sqlite3.Xsqlite3_malloc64(tls, uint64(unsafe.Sizeof(sqlite3_int64(0)))*uint64(n))
 92121  	if a == uintptr(0) {
 92122  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32492, uintptr(0)))
 92123  		return TCL_ERROR
 92124  	}
 92125  	for i = 0; i < n; i++ {
 92126  		*(*Tcl_WideInt)(unsafe.Pointer(bp + 32)) = int64(0)
 92127  		tcl.XTcl_GetWideIntFromObj(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(objv + uintptr(i+2)*8)), bp+32)
 92128  		*(*sqlite3_int64)(unsafe.Pointer(a + uintptr(i)*8)) = *(*Tcl_WideInt)(unsafe.Pointer(bp + 32))
 92129  	}
 92130  	rc = sqlite3_intarray_bind(tls, pArray, n, a, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sqlite3.Xsqlite3_free})))
 92131  	if rc != SQLITE_OK {
 92132  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0)))
 92133  		return TCL_ERROR
 92134  	}
 92135  	return TCL_OK
 92136  }
 92137  
 92138  func Sqlitetestintarray_Init(tls *libc.TLS, interp uintptr) int32 {
 92139  	var i int32
 92140  	for i = 0; uint64(i) < uint64(unsafe.Sizeof(aObjCmd10))/uint64(unsafe.Sizeof(struct {
 92141  		FzName      uintptr
 92142  		FxProc      uintptr
 92143  		FclientData uintptr
 92144  	}{})); i++ {
 92145  		tcl.XTcl_CreateObjCommand(tls, interp, aObjCmd10[i].FzName,
 92146  			aObjCmd10[i].FxProc, aObjCmd10[i].FclientData, uintptr(0))
 92147  	}
 92148  	return TCL_OK
 92149  }
 92150  
 92151  var aObjCmd10 = [2]struct {
 92152  	FzName      uintptr
 92153  	FxProc      uintptr
 92154  	FclientData uintptr
 92155  }{
 92156  	{FzName: ts + 32505, FxProc: 0},
 92157  	{FzName: ts + 32529, FxProc: 0},
 92158  }
 92159  
 92160  type jt_file1 = struct {
 92161  	Fbase        sqlite3_file
 92162  	FzName       uintptr
 92163  	Fflags       int32
 92164  	FeLock       int32
 92165  	FnPage       u32
 92166  	FnPagesize   u32
 92167  	FpWritable   uintptr
 92168  	FaCksum      uintptr
 92169  	FnSync       int32
 92170  	F__ccgo_pad1 [4]byte
 92171  	FiMaxOff     sqlite3_int64
 92172  	FpNext       uintptr
 92173  	FpReal       uintptr
 92174  }
 92175  
 92176  type jt_file = jt_file1
 92177  
 92178  var jt_vfs = sqlite3_vfs{
 92179  	FiVersion:          2,
 92180  	FszOsFile:          int32(unsafe.Sizeof(jt_file{})),
 92181  	FmxPathname:        JT_MAX_PATHNAME,
 92182  	FzName:             ts + 32551,
 92183  	FxOpen:             0,
 92184  	FxDelete:           0,
 92185  	FxAccess:           0,
 92186  	FxFullPathname:     0,
 92187  	FxDlOpen:           0,
 92188  	FxDlError:          0,
 92189  	FxDlSym:            0,
 92190  	FxDlClose:          0,
 92191  	FxRandomness:       0,
 92192  	FxSleep:            0,
 92193  	FxCurrentTime:      0,
 92194  	FxGetLastError:     0,
 92195  	FxCurrentTimeInt64: 0,
 92196  }
 92197  
 92198  var jt_io_methods = sqlite3_io_methods{
 92199  	FiVersion:               1,
 92200  	FxClose:                 0,
 92201  	FxRead:                  0,
 92202  	FxWrite:                 0,
 92203  	FxTruncate:              0,
 92204  	FxSync:                  0,
 92205  	FxFileSize:              0,
 92206  	FxLock:                  0,
 92207  	FxUnlock:                0,
 92208  	FxCheckReservedLock:     0,
 92209  	FxFileControl:           0,
 92210  	FxSectorSize:            0,
 92211  	FxDeviceCharacteristics: 0,
 92212  }
 92213  
 92214  type JtGlobal = struct {
 92215  	FpVfs  uintptr
 92216  	FpList uintptr
 92217  }
 92218  
 92219  var g2 = JtGlobal{}
 92220  
 92221  func enterJtMutex(tls *libc.TLS) {
 92222  	sqlite3.Xsqlite3_mutex_enter(tls, sqlite3.Xsqlite3_mutex_alloc(tls, SQLITE_MUTEX_STATIC_PRNG))
 92223  }
 92224  
 92225  func leaveJtMutex(tls *libc.TLS) {
 92226  	sqlite3.Xsqlite3_mutex_leave(tls, sqlite3.Xsqlite3_mutex_alloc(tls, SQLITE_MUTEX_STATIC_PRNG))
 92227  }
 92228  
 92229  func stop_ioerr_simulation(tls *libc.TLS, piSave uintptr, piSave2 uintptr) {
 92230  	*(*int32)(unsafe.Pointer(piSave)) = libc.AtomicLoadInt32(&sqlite3.Xsqlite3_io_error_pending)
 92231  	*(*int32)(unsafe.Pointer(piSave2)) = sqlite3.Xsqlite3_io_error_hit
 92232  	libc.AtomicStoreInt32(&sqlite3.Xsqlite3_io_error_pending, int32(-1))
 92233  	sqlite3.Xsqlite3_io_error_hit = 0
 92234  }
 92235  
 92236  func start_ioerr_simulation(tls *libc.TLS, iSave int32, iSave2 int32) {
 92237  	libc.AtomicStoreInt32(&sqlite3.Xsqlite3_io_error_pending, iSave)
 92238  	sqlite3.Xsqlite3_io_error_hit = iSave2
 92239  }
 92240  
 92241  func closeTransaction(tls *libc.TLS, p uintptr) {
 92242  	sqlite3.Xsqlite3BitvecDestroy(tls, (*jt_file)(unsafe.Pointer(p)).FpWritable)
 92243  	sqlite3.Xsqlite3_free(tls, (*jt_file)(unsafe.Pointer(p)).FaCksum)
 92244  	(*jt_file)(unsafe.Pointer(p)).FpWritable = uintptr(0)
 92245  	(*jt_file)(unsafe.Pointer(p)).FaCksum = uintptr(0)
 92246  	(*jt_file)(unsafe.Pointer(p)).FnSync = 0
 92247  }
 92248  
 92249  func jtClose(tls *libc.TLS, pFile uintptr) int32 {
 92250  	var pp uintptr
 92251  	var p uintptr = pFile
 92252  
 92253  	closeTransaction(tls, p)
 92254  	enterJtMutex(tls)
 92255  	if (*jt_file)(unsafe.Pointer(p)).FzName != 0 {
 92256  		for pp = uintptr(unsafe.Pointer(&g2)) + 8; *(*uintptr)(unsafe.Pointer(pp)) != p; pp = *(*uintptr)(unsafe.Pointer(pp)) + 64 {
 92257  		}
 92258  		*(*uintptr)(unsafe.Pointer(pp)) = (*jt_file)(unsafe.Pointer(p)).FpNext
 92259  	}
 92260  	leaveJtMutex(tls)
 92261  	sqlite3.Xsqlite3OsClose(tls, (*jt_file)(unsafe.Pointer(p)).FpReal)
 92262  	return SQLITE_OK
 92263  }
 92264  
 92265  func jtRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst sqlite_int64) int32 {
 92266  	var p uintptr = pFile
 92267  	return sqlite3.Xsqlite3OsRead(tls, (*jt_file)(unsafe.Pointer(p)).FpReal, zBuf, iAmt, iOfst)
 92268  }
 92269  
 92270  func locateDatabaseHandle(tls *libc.TLS, zJournal uintptr, noLock int32) uintptr {
 92271  	var pMain uintptr = uintptr(0)
 92272  	enterJtMutex(tls)
 92273  	for pMain = g2.FpList; pMain != 0; pMain = (*jt_file)(unsafe.Pointer(pMain)).FpNext {
 92274  		var nName int32 = int32(libc.Xstrlen(tls, zJournal) - libc.Xstrlen(tls, ts+32554))
 92275  		if (*jt_file)(unsafe.Pointer(pMain)).Fflags&SQLITE_OPEN_MAIN_DB != 0 &&
 92276  			int32(libc.Xstrlen(tls, (*jt_file)(unsafe.Pointer(pMain)).FzName)) == nName &&
 92277  			0 == libc.Xmemcmp(tls, (*jt_file)(unsafe.Pointer(pMain)).FzName, zJournal, uint64(nName)) &&
 92278  			((*jt_file)(unsafe.Pointer(pMain)).FeLock >= SQLITE_LOCK_RESERVED || noLock != 0) {
 92279  			break
 92280  		}
 92281  	}
 92282  	leaveJtMutex(tls)
 92283  	return pMain
 92284  }
 92285  
 92286  func decodeUint32(tls *libc.TLS, z uintptr) u32 {
 92287  	return u32(int32(*(*uint8)(unsafe.Pointer(z)))<<24 + int32(*(*uint8)(unsafe.Pointer(z + 1)))<<16 + int32(*(*uint8)(unsafe.Pointer(z + 2)))<<8 + int32(*(*uint8)(unsafe.Pointer(z + 3))))
 92288  }
 92289  
 92290  func genCksum(tls *libc.TLS, z uintptr, n int32) u32 {
 92291  	var i int32
 92292  	var cksum u32 = u32(0)
 92293  	for i = 0; i < n; i++ {
 92294  		cksum = cksum + u32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))) + cksum<<3
 92295  	}
 92296  	return cksum
 92297  }
 92298  
 92299  func decodeJournalHdr(tls *libc.TLS, zBuf uintptr, pnRec uintptr, pnPage uintptr, pnSector uintptr, pnPagesize uintptr) int32 {
 92300  	bp := tls.Alloc(8)
 92301  	defer tls.Free(8)
 92302  
 92303  	*(*[8]uint8)(unsafe.Pointer(bp)) = [8]uint8{uint8(0xd9), uint8(0xd5), uint8(0x05), uint8(0xf9), uint8(0x20), uint8(0xa1), uint8(0x63), uint8(0xd7)}
 92304  	if libc.Xmemcmp(tls, bp, zBuf, uint64(8)) != 0 {
 92305  		return SQLITE_ERROR
 92306  	}
 92307  	if pnRec != 0 {
 92308  		*(*u32)(unsafe.Pointer(pnRec)) = decodeUint32(tls, zBuf+8)
 92309  	}
 92310  	if pnPage != 0 {
 92311  		*(*u32)(unsafe.Pointer(pnPage)) = decodeUint32(tls, zBuf+16)
 92312  	}
 92313  	if pnSector != 0 {
 92314  		*(*u32)(unsafe.Pointer(pnSector)) = decodeUint32(tls, zBuf+20)
 92315  	}
 92316  	if pnPagesize != 0 {
 92317  		*(*u32)(unsafe.Pointer(pnPagesize)) = decodeUint32(tls, zBuf+24)
 92318  	}
 92319  	return SQLITE_OK
 92320  }
 92321  
 92322  func openTransaction(tls *libc.TLS, pMain uintptr, pJournal uintptr) int32 {
 92323  	bp := tls.Alloc(8)
 92324  	defer tls.Free(8)
 92325  
 92326  	var aData uintptr
 92327  	var p uintptr = (*jt_file)(unsafe.Pointer(pMain)).FpReal
 92328  	var rc int32 = SQLITE_OK
 92329  
 92330  	closeTransaction(tls, pMain)
 92331  	aData = sqlite3.Xsqlite3_malloc(tls, int32((*jt_file)(unsafe.Pointer(pMain)).FnPagesize))
 92332  	(*jt_file)(unsafe.Pointer(pMain)).FpWritable = sqlite3.Xsqlite3BitvecCreate(tls, (*jt_file)(unsafe.Pointer(pMain)).FnPage)
 92333  	(*jt_file)(unsafe.Pointer(pMain)).FaCksum = sqlite3.Xsqlite3_malloc(tls, int32(uint64(unsafe.Sizeof(u32(0)))*uint64((*jt_file)(unsafe.Pointer(pMain)).FnPage+u32(1))))
 92334  	(*jt_file)(unsafe.Pointer(pJournal)).FiMaxOff = int64(0)
 92335  
 92336  	if !(int32((*jt_file)(unsafe.Pointer(pMain)).FpWritable) != 0) || !(int32((*jt_file)(unsafe.Pointer(pMain)).FaCksum) != 0) || !(aData != 0) {
 92337  		rc = SQLITE_IOERR | int32(12)<<8
 92338  	} else if (*jt_file)(unsafe.Pointer(pMain)).FnPage > u32(0) {
 92339  		var iTrunk u32
 92340  
 92341  		stop_ioerr_simulation(tls, bp, bp+4)
 92342  
 92343  		rc = sqlite3.Xsqlite3OsRead(tls, p, aData, int32((*jt_file)(unsafe.Pointer(pMain)).FnPagesize), int64(0))
 92344  		if rc == SQLITE_OK {
 92345  			var nDbsize u32 = decodeUint32(tls, aData+28)
 92346  			if nDbsize > u32(0) && libc.Xmemcmp(tls, aData+24, aData+92, uint64(4)) == 0 {
 92347  				var iPg u32
 92348  				for iPg = nDbsize + u32(1); iPg <= (*jt_file)(unsafe.Pointer(pMain)).FnPage; iPg++ {
 92349  					sqlite3.Xsqlite3BitvecSet(tls, (*jt_file)(unsafe.Pointer(pMain)).FpWritable, iPg)
 92350  				}
 92351  			}
 92352  		}
 92353  		iTrunk = decodeUint32(tls, aData+32)
 92354  		for rc == SQLITE_OK && iTrunk > u32(0) {
 92355  			var nLeaf u32
 92356  			var iLeaf u32
 92357  			var iOff sqlite3_int64 = i64(iTrunk-u32(1)) * i64((*jt_file)(unsafe.Pointer(pMain)).FnPagesize)
 92358  			rc = sqlite3.Xsqlite3OsRead(tls, p, aData, int32((*jt_file)(unsafe.Pointer(pMain)).FnPagesize), iOff)
 92359  			nLeaf = decodeUint32(tls, aData+4)
 92360  			for iLeaf = u32(0); rc == SQLITE_OK && iLeaf < nLeaf; iLeaf++ {
 92361  				var pgno u32 = decodeUint32(tls, aData+uintptr(u32(8)+u32(4)*iLeaf))
 92362  				sqlite3.Xsqlite3BitvecSet(tls, (*jt_file)(unsafe.Pointer(pMain)).FpWritable, pgno)
 92363  			}
 92364  			iTrunk = decodeUint32(tls, aData)
 92365  		}
 92366  
 92367  		if rc == SQLITE_OK {
 92368  			var ii int32
 92369  			for ii = 0; rc == SQLITE_OK && ii < int32((*jt_file)(unsafe.Pointer(pMain)).FnPage); ii++ {
 92370  				var iOff i64 = i64((*jt_file)(unsafe.Pointer(pMain)).FnPagesize) * i64(ii)
 92371  				if iOff == i64(sqlite3.Xsqlite3PendingByte) {
 92372  					continue
 92373  				}
 92374  				rc = sqlite3.Xsqlite3OsRead(tls, (*jt_file)(unsafe.Pointer(pMain)).FpReal, aData, int32((*jt_file)(unsafe.Pointer(pMain)).FnPagesize), iOff)
 92375  				*(*u32)(unsafe.Pointer((*jt_file)(unsafe.Pointer(pMain)).FaCksum + uintptr(ii)*4)) = genCksum(tls, aData, int32((*jt_file)(unsafe.Pointer(pMain)).FnPagesize))
 92376  				if ii+1 == int32((*jt_file)(unsafe.Pointer(pMain)).FnPage) && rc == SQLITE_IOERR|int32(2)<<8 {
 92377  					rc = SQLITE_OK
 92378  				}
 92379  			}
 92380  		}
 92381  
 92382  		start_ioerr_simulation(tls, *(*int32)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 4)))
 92383  	}
 92384  
 92385  	sqlite3.Xsqlite3_free(tls, aData)
 92386  	return rc
 92387  }
 92388  
 92389  func readJournalFile(tls *libc.TLS, p uintptr, pMain uintptr) int32 {
 92390  	bp := tls.Alloc(52)
 92391  	defer tls.Free(52)
 92392  
 92393  	var rc int32
 92394  
 92395  	var pReal uintptr
 92396  	var iOff sqlite3_int64
 92397  	var iSize sqlite3_int64
 92398  	var aPage uintptr
 92399  
 92400  	var cksum u32
 92401  	_ = cksum
 92402  	var pgno u32
 92403  
 92404  	var ii u32
 92405  	rc = SQLITE_OK
 92406  	pReal = (*jt_file)(unsafe.Pointer(p)).FpReal
 92407  	iOff = int64(0)
 92408  	iSize = (*jt_file)(unsafe.Pointer(p)).FiMaxOff
 92409  
 92410  	aPage = sqlite3.Xsqlite3_malloc(tls, int32((*jt_file)(unsafe.Pointer(pMain)).FnPagesize))
 92411  	if !!(aPage != 0) {
 92412  		goto __1
 92413  	}
 92414  	return SQLITE_IOERR | int32(12)<<8
 92415  __1:
 92416  	;
 92417  	stop_ioerr_simulation(tls, bp, bp+4)
 92418  
 92419  __2:
 92420  	if !(rc == SQLITE_OK && iOff < iSize) {
 92421  		goto __3
 92422  	}
 92423  
 92424  	rc = sqlite3.Xsqlite3OsRead(tls, pReal, bp+8, 28, iOff)
 92425  	if !(rc != SQLITE_OK ||
 92426  		decodeJournalHdr(tls, bp+8, bp+36, bp+40, bp+44, bp+48) != 0) {
 92427  		goto __4
 92428  	}
 92429  	goto finish_rjf
 92430  __4:
 92431  	;
 92432  	iOff = iOff + sqlite3_int64(*(*u32)(unsafe.Pointer(bp + 44)))
 92433  
 92434  	if !(*(*u32)(unsafe.Pointer(bp + 36)) == u32(0)) {
 92435  		goto __5
 92436  	}
 92437  
 92438  	if !(iSize >= iOff+sqlite3_int64(*(*u32)(unsafe.Pointer(bp + 44)))) {
 92439  		goto __6
 92440  	}
 92441  	rc = sqlite3.Xsqlite3OsRead(tls, pReal, bp+8, 28, iOff)
 92442  	if !(rc != SQLITE_OK || 0 == decodeJournalHdr(tls, bp+8, uintptr(0), uintptr(0), uintptr(0), uintptr(0))) {
 92443  		goto __7
 92444  	}
 92445  	goto __2
 92446  __7:
 92447  	;
 92448  __6:
 92449  	;
 92450  	*(*u32)(unsafe.Pointer(bp + 36)) = u32((iSize - iOff) / sqlite3_int64((*jt_file)(unsafe.Pointer(pMain)).FnPagesize+u32(8)))
 92451  __5:
 92452  	;
 92453  	ii = u32(0)
 92454  __8:
 92455  	if !(rc == SQLITE_OK && ii < *(*u32)(unsafe.Pointer(bp + 36)) && iOff < iSize) {
 92456  		goto __10
 92457  	}
 92458  	rc = sqlite3.Xsqlite3OsRead(tls, pReal, bp+8, 4, iOff)
 92459  	if !(rc == SQLITE_OK) {
 92460  		goto __11
 92461  	}
 92462  	pgno = decodeUint32(tls, bp+8)
 92463  	if !(pgno > u32(0) && pgno <= (*jt_file)(unsafe.Pointer(pMain)).FnPage) {
 92464  		goto __12
 92465  	}
 92466  	if !(0 == sqlite3.Xsqlite3BitvecTest(tls, (*jt_file)(unsafe.Pointer(pMain)).FpWritable, pgno)) {
 92467  		goto __13
 92468  	}
 92469  	rc = sqlite3.Xsqlite3OsRead(tls, pReal, aPage, int32((*jt_file)(unsafe.Pointer(pMain)).FnPagesize), iOff+int64(4))
 92470  	if !(rc == SQLITE_OK) {
 92471  		goto __14
 92472  	}
 92473  	cksum = genCksum(tls, aPage, int32((*jt_file)(unsafe.Pointer(pMain)).FnPagesize))
 92474  
 92475  __14:
 92476  	;
 92477  __13:
 92478  	;
 92479  	sqlite3.Xsqlite3BitvecSet(tls, (*jt_file)(unsafe.Pointer(pMain)).FpWritable, pgno)
 92480  __12:
 92481  	;
 92482  	iOff = iOff + sqlite3_int64(u32(8)+(*jt_file)(unsafe.Pointer(pMain)).FnPagesize)
 92483  __11:
 92484  	;
 92485  	goto __9
 92486  __9:
 92487  	ii++
 92488  	goto __8
 92489  	goto __10
 92490  __10:
 92491  	;
 92492  	iOff = (iOff + sqlite3_int64(*(*u32)(unsafe.Pointer(bp + 44))-u32(1))) / sqlite3_int64(*(*u32)(unsafe.Pointer(bp + 44))) * sqlite3_int64(*(*u32)(unsafe.Pointer(bp + 44)))
 92493  	goto __2
 92494  __3:
 92495  	;
 92496  finish_rjf:
 92497  	start_ioerr_simulation(tls, *(*int32)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 4)))
 92498  	sqlite3.Xsqlite3_free(tls, aPage)
 92499  	if !(rc == SQLITE_IOERR|int32(2)<<8) {
 92500  		goto __15
 92501  	}
 92502  	rc = SQLITE_OK
 92503  __15:
 92504  	;
 92505  	return rc
 92506  }
 92507  
 92508  func jtWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst sqlite_int64) int32 {
 92509  	var rc int32
 92510  	var p uintptr = pFile
 92511  	if (*jt_file)(unsafe.Pointer(p)).Fflags&SQLITE_OPEN_MAIN_JOURNAL != 0 {
 92512  		if iOfst == int64(0) {
 92513  			var pMain uintptr = locateDatabaseHandle(tls, (*jt_file)(unsafe.Pointer(p)).FzName, 0)
 92514  
 92515  			if iAmt == 28 {
 92516  				closeTransaction(tls, pMain)
 92517  			} else if iAmt != 12 {
 92518  				var z uintptr = zBuf
 92519  				(*jt_file)(unsafe.Pointer(pMain)).FnPage = decodeUint32(tls, z+16)
 92520  				(*jt_file)(unsafe.Pointer(pMain)).FnPagesize = decodeUint32(tls, z+24)
 92521  				if SQLITE_OK != libc.AssignInt32(&rc, openTransaction(tls, pMain, p)) {
 92522  					return rc
 92523  				}
 92524  			}
 92525  		}
 92526  		if (*jt_file)(unsafe.Pointer(p)).FiMaxOff < iOfst+sqlite_int64(iAmt) {
 92527  			(*jt_file)(unsafe.Pointer(p)).FiMaxOff = iOfst + sqlite_int64(iAmt)
 92528  		}
 92529  	}
 92530  
 92531  	if (*jt_file)(unsafe.Pointer(p)).Fflags&SQLITE_OPEN_MAIN_DB != 0 && (*jt_file)(unsafe.Pointer(p)).FpWritable != 0 {
 92532  		if iAmt < int32((*jt_file)(unsafe.Pointer(p)).FnPagesize) &&
 92533  			(*jt_file)(unsafe.Pointer(p)).FnPagesize%u32(iAmt) == u32(0) &&
 92534  			iOfst >= sqlite_int64(sqlite3.Xsqlite3PendingByte+512) &&
 92535  			iOfst+sqlite_int64(iAmt) <= sqlite_int64(u32(sqlite3.Xsqlite3PendingByte)+(*jt_file)(unsafe.Pointer(p)).FnPagesize) {
 92536  		} else {
 92537  			var pgno u32 = u32(iOfst/sqlite_int64((*jt_file)(unsafe.Pointer(p)).FnPagesize) + int64(1))
 92538  			_ = pgno
 92539  
 92540  		}
 92541  	}
 92542  
 92543  	rc = sqlite3.Xsqlite3OsWrite(tls, (*jt_file)(unsafe.Pointer(p)).FpReal, zBuf, iAmt, iOfst)
 92544  	if (*jt_file)(unsafe.Pointer(p)).Fflags&SQLITE_OPEN_MAIN_JOURNAL != 0 && iAmt == 12 {
 92545  		var pMain uintptr = locateDatabaseHandle(tls, (*jt_file)(unsafe.Pointer(p)).FzName, 0)
 92546  		var rc2 int32 = readJournalFile(tls, p, pMain)
 92547  		if rc == SQLITE_OK {
 92548  			rc = rc2
 92549  		}
 92550  	}
 92551  	return rc
 92552  }
 92553  
 92554  func jtTruncate(tls *libc.TLS, pFile uintptr, size sqlite_int64) int32 {
 92555  	var p uintptr = pFile
 92556  	if (*jt_file)(unsafe.Pointer(p)).Fflags&SQLITE_OPEN_MAIN_JOURNAL != 0 && size == int64(0) {
 92557  		var pMain uintptr = locateDatabaseHandle(tls, (*jt_file)(unsafe.Pointer(p)).FzName, 0)
 92558  		closeTransaction(tls, pMain)
 92559  	}
 92560  	if (*jt_file)(unsafe.Pointer(p)).Fflags&SQLITE_OPEN_MAIN_DB != 0 && (*jt_file)(unsafe.Pointer(p)).FpWritable != 0 {
 92561  		var pgno u32
 92562  		var locking_page u32 = u32(sqlite3.Xsqlite3PendingByte)/(*jt_file)(unsafe.Pointer(p)).FnPagesize + u32(1)
 92563  		_ = locking_page
 92564  		for pgno = u32(size/sqlite_int64((*jt_file)(unsafe.Pointer(p)).FnPagesize) + int64(1)); pgno <= (*jt_file)(unsafe.Pointer(p)).FnPage; pgno++ {
 92565  		}
 92566  	}
 92567  	return sqlite3.Xsqlite3OsTruncate(tls, (*jt_file)(unsafe.Pointer(p)).FpReal, size)
 92568  }
 92569  
 92570  func jtSync(tls *libc.TLS, pFile uintptr, flags int32) int32 {
 92571  	var p uintptr = pFile
 92572  
 92573  	if (*jt_file)(unsafe.Pointer(p)).Fflags&SQLITE_OPEN_MAIN_JOURNAL != 0 {
 92574  		var rc int32
 92575  		var pMain uintptr
 92576  
 92577  		pMain = locateDatabaseHandle(tls, (*jt_file)(unsafe.Pointer(p)).FzName, 0)
 92578  
 92579  		if pMain != 0 && (*jt_file)(unsafe.Pointer(pMain)).FpWritable != 0 {
 92580  			(*jt_file)(unsafe.Pointer(pMain)).FnSync++
 92581  			rc = readJournalFile(tls, p, pMain)
 92582  			if rc != SQLITE_OK {
 92583  				return rc
 92584  			}
 92585  		}
 92586  	}
 92587  
 92588  	return sqlite3.Xsqlite3OsSync(tls, (*jt_file)(unsafe.Pointer(p)).FpReal, flags)
 92589  }
 92590  
 92591  func jtFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 {
 92592  	var p uintptr = pFile
 92593  	return sqlite3.Xsqlite3OsFileSize(tls, (*jt_file)(unsafe.Pointer(p)).FpReal, pSize)
 92594  }
 92595  
 92596  func jtLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 {
 92597  	var rc int32
 92598  	var p uintptr = pFile
 92599  	rc = sqlite3.Xsqlite3OsLock(tls, (*jt_file)(unsafe.Pointer(p)).FpReal, eLock)
 92600  	if rc == SQLITE_OK && eLock > (*jt_file)(unsafe.Pointer(p)).FeLock {
 92601  		(*jt_file)(unsafe.Pointer(p)).FeLock = eLock
 92602  	}
 92603  	return rc
 92604  }
 92605  
 92606  func jtUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 {
 92607  	var rc int32
 92608  	var p uintptr = pFile
 92609  	rc = sqlite3.Xsqlite3OsUnlock(tls, (*jt_file)(unsafe.Pointer(p)).FpReal, eLock)
 92610  	if rc == SQLITE_OK && eLock < (*jt_file)(unsafe.Pointer(p)).FeLock {
 92611  		(*jt_file)(unsafe.Pointer(p)).FeLock = eLock
 92612  	}
 92613  	return rc
 92614  }
 92615  
 92616  func jtCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int32 {
 92617  	var p uintptr = pFile
 92618  	return sqlite3.Xsqlite3OsCheckReservedLock(tls, (*jt_file)(unsafe.Pointer(p)).FpReal, pResOut)
 92619  }
 92620  
 92621  func jtFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 {
 92622  	var p uintptr = pFile
 92623  	return (*struct {
 92624  		f func(*libc.TLS, uintptr, int32, uintptr) int32
 92625  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*jt_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxFileControl})).f(tls, (*jt_file)(unsafe.Pointer(p)).FpReal, op, pArg)
 92626  }
 92627  
 92628  func jtSectorSize(tls *libc.TLS, pFile uintptr) int32 {
 92629  	var p uintptr = pFile
 92630  	return sqlite3.Xsqlite3OsSectorSize(tls, (*jt_file)(unsafe.Pointer(p)).FpReal)
 92631  }
 92632  
 92633  func jtDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 {
 92634  	var p uintptr = pFile
 92635  	return sqlite3.Xsqlite3OsDeviceCharacteristics(tls, (*jt_file)(unsafe.Pointer(p)).FpReal)
 92636  }
 92637  
 92638  func jtOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags int32, pOutFlags uintptr) int32 {
 92639  	var rc int32
 92640  	var p uintptr = pFile
 92641  	(*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods = uintptr(0)
 92642  	(*jt_file)(unsafe.Pointer(p)).FpReal = p + 1*80
 92643  	(*sqlite3_file)(unsafe.Pointer((*jt_file)(unsafe.Pointer(p)).FpReal)).FpMethods = uintptr(0)
 92644  	rc = sqlite3.Xsqlite3OsOpen(tls, g2.FpVfs, zName, (*jt_file)(unsafe.Pointer(p)).FpReal, flags, pOutFlags)
 92645  
 92646  	if rc == SQLITE_OK {
 92647  		(*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods = uintptr(unsafe.Pointer(&jt_io_methods))
 92648  		(*jt_file)(unsafe.Pointer(p)).FeLock = 0
 92649  		(*jt_file)(unsafe.Pointer(p)).FzName = zName
 92650  		(*jt_file)(unsafe.Pointer(p)).Fflags = flags
 92651  		(*jt_file)(unsafe.Pointer(p)).FpNext = uintptr(0)
 92652  		(*jt_file)(unsafe.Pointer(p)).FpWritable = uintptr(0)
 92653  		(*jt_file)(unsafe.Pointer(p)).FaCksum = uintptr(0)
 92654  		enterJtMutex(tls)
 92655  		if zName != 0 {
 92656  			(*jt_file)(unsafe.Pointer(p)).FpNext = g2.FpList
 92657  			g2.FpList = p
 92658  		}
 92659  		leaveJtMutex(tls)
 92660  	}
 92661  	return rc
 92662  }
 92663  
 92664  func jtDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 {
 92665  	var nPath int32 = int32(libc.Xstrlen(tls, zPath))
 92666  	if nPath > 8 && 0 == libc.Xstrcmp(tls, ts+32554, zPath+uintptr(nPath-8)) {
 92667  		var pMain uintptr = locateDatabaseHandle(tls, zPath, 0)
 92668  		if pMain != 0 {
 92669  			closeTransaction(tls, pMain)
 92670  		}
 92671  	}
 92672  
 92673  	return sqlite3.Xsqlite3OsDelete(tls, g2.FpVfs, zPath, dirSync)
 92674  }
 92675  
 92676  func jtAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 {
 92677  	return sqlite3.Xsqlite3OsAccess(tls, g2.FpVfs, zPath, flags, pResOut)
 92678  }
 92679  
 92680  func jtFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 {
 92681  	return sqlite3.Xsqlite3OsFullPathname(tls, g2.FpVfs, zPath, nOut, zOut)
 92682  }
 92683  
 92684  func jtDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr {
 92685  	return (*struct {
 92686  		f func(*libc.TLS, uintptr, uintptr) uintptr
 92687  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(g2.FpVfs)).FxDlOpen})).f(tls, g2.FpVfs, zPath)
 92688  }
 92689  
 92690  func jtDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) {
 92691  	(*struct {
 92692  		f func(*libc.TLS, uintptr, int32, uintptr)
 92693  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(g2.FpVfs)).FxDlError})).f(tls, g2.FpVfs, nByte, zErrMsg)
 92694  }
 92695  
 92696  func jtDlSym(tls *libc.TLS, pVfs uintptr, p uintptr, zSym uintptr) uintptr {
 92697  	return (*struct {
 92698  		f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr
 92699  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(g2.FpVfs)).FxDlSym})).f(tls, g2.FpVfs, p, zSym)
 92700  }
 92701  
 92702  func jtDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) {
 92703  	(*struct {
 92704  		f func(*libc.TLS, uintptr, uintptr)
 92705  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(g2.FpVfs)).FxDlClose})).f(tls, g2.FpVfs, pHandle)
 92706  }
 92707  
 92708  func jtRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 {
 92709  	return sqlite3.Xsqlite3OsRandomness(tls, g2.FpVfs, nByte, zBufOut)
 92710  }
 92711  
 92712  func jtSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 {
 92713  	return sqlite3.Xsqlite3OsSleep(tls, g2.FpVfs, nMicro)
 92714  }
 92715  
 92716  func jtCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 {
 92717  	return (*struct {
 92718  		f func(*libc.TLS, uintptr, uintptr) int32
 92719  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(g2.FpVfs)).FxCurrentTime})).f(tls, g2.FpVfs, pTimeOut)
 92720  }
 92721  
 92722  func jtCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 {
 92723  	return (*struct {
 92724  		f func(*libc.TLS, uintptr, uintptr) int32
 92725  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(g2.FpVfs)).FxCurrentTimeInt64})).f(tls, g2.FpVfs, pTimeOut)
 92726  }
 92727  
 92728  func jtGetLastError(tls *libc.TLS, pVfs uintptr, n int32, z uintptr) int32 {
 92729  	return (*struct {
 92730  		f func(*libc.TLS, uintptr, int32, uintptr) int32
 92731  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(g2.FpVfs)).FxGetLastError})).f(tls, g2.FpVfs, n, z)
 92732  }
 92733  
 92734  func jt_register(tls *libc.TLS, zWrap uintptr, isDefault int32) int32 {
 92735  	g2.FpVfs = sqlite3.Xsqlite3_vfs_find(tls, zWrap)
 92736  	if g2.FpVfs == uintptr(0) {
 92737  		return SQLITE_ERROR
 92738  	}
 92739  	jt_vfs.FszOsFile = int32(uint64(unsafe.Sizeof(jt_file{})) + uint64((*sqlite3_vfs)(unsafe.Pointer(g2.FpVfs)).FszOsFile))
 92740  	if (*sqlite3_vfs)(unsafe.Pointer(g2.FpVfs)).FiVersion == 1 {
 92741  		jt_vfs.FiVersion = 1
 92742  	} else if (*sqlite3_vfs)(unsafe.Pointer(g2.FpVfs)).FxCurrentTimeInt64 == uintptr(0) {
 92743  		jt_vfs.FxCurrentTimeInt64 = uintptr(0)
 92744  	}
 92745  	sqlite3.Xsqlite3_vfs_register(tls, uintptr(unsafe.Pointer(&jt_vfs)), isDefault)
 92746  	return SQLITE_OK
 92747  }
 92748  
 92749  func jt_unregister(tls *libc.TLS) {
 92750  	sqlite3.Xsqlite3_vfs_unregister(tls, uintptr(unsafe.Pointer(&jt_vfs)))
 92751  }
 92752  
 92753  type MemFault = struct {
 92754  	FiCountdown   int32
 92755  	FnRepeat      int32
 92756  	FnBenign      int32
 92757  	FnFail        int32
 92758  	FnOkBefore    int32
 92759  	FnOkAfter     int32
 92760  	Fenable       u8
 92761  	F__ccgo_pad1  [3]byte
 92762  	FisInstalled  int32
 92763  	FisBenignMode int32
 92764  	F__ccgo_pad2  [4]byte
 92765  	Fm            sqlite3_mem_methods
 92766  }
 92767  
 92768  var memfault MemFault
 92769  
 92770  func sqlite3Fault(tls *libc.TLS) {
 92771  	cnt1++
 92772  }
 92773  
 92774  var cnt1 int32 = 0
 92775  
 92776  func sqlite3FirstFault(tls *libc.TLS) {
 92777  	cnt2++
 92778  }
 92779  
 92780  var cnt2 int32 = 0
 92781  
 92782  func faultsimStep(tls *libc.TLS) int32 {
 92783  	if !(int32(memfault.Fenable) != 0) {
 92784  		memfault.FnOkAfter++
 92785  		return 0
 92786  	}
 92787  	if memfault.FiCountdown > 0 {
 92788  		memfault.FiCountdown--
 92789  		memfault.FnOkBefore++
 92790  		return 0
 92791  	}
 92792  	if memfault.FnFail == 0 {
 92793  		sqlite3FirstFault(tls)
 92794  	}
 92795  	sqlite3Fault(tls)
 92796  	memfault.FnFail++
 92797  	if memfault.FisBenignMode > 0 {
 92798  		memfault.FnBenign++
 92799  	}
 92800  	memfault.FnRepeat--
 92801  	if memfault.FnRepeat <= 0 {
 92802  		memfault.Fenable = u8(0)
 92803  	}
 92804  	return 1
 92805  }
 92806  
 92807  func faultsimMalloc(tls *libc.TLS, n int32) uintptr {
 92808  	var p uintptr = uintptr(0)
 92809  	if !(faultsimStep(tls) != 0) {
 92810  		p = (*struct {
 92811  			f func(*libc.TLS, int32) uintptr
 92812  		})(unsafe.Pointer(&struct{ uintptr }{memfault.Fm.FxMalloc})).f(tls, n)
 92813  	}
 92814  	return p
 92815  }
 92816  
 92817  func faultsimRealloc(tls *libc.TLS, pOld uintptr, n int32) uintptr {
 92818  	var p uintptr = uintptr(0)
 92819  	if !(faultsimStep(tls) != 0) {
 92820  		p = (*struct {
 92821  			f func(*libc.TLS, uintptr, int32) uintptr
 92822  		})(unsafe.Pointer(&struct{ uintptr }{memfault.Fm.FxRealloc})).f(tls, pOld, n)
 92823  	}
 92824  	return p
 92825  }
 92826  
 92827  func faultsimConfig(tls *libc.TLS, nDelay int32, nRepeat int32) {
 92828  	memfault.FiCountdown = nDelay
 92829  	memfault.FnRepeat = nRepeat
 92830  	memfault.FnBenign = 0
 92831  	memfault.FnFail = 0
 92832  	memfault.FnOkBefore = 0
 92833  	memfault.FnOkAfter = 0
 92834  	memfault.Fenable = u8(libc.Bool32(nDelay >= 0))
 92835  
 92836  	memfault.FisBenignMode = 0
 92837  }
 92838  
 92839  func faultsimFailures(tls *libc.TLS) int32 {
 92840  	return memfault.FnFail
 92841  }
 92842  
 92843  func faultsimBenignFailures(tls *libc.TLS) int32 {
 92844  	return memfault.FnBenign
 92845  }
 92846  
 92847  func faultsimPending(tls *libc.TLS) int32 {
 92848  	if memfault.Fenable != 0 {
 92849  		return memfault.FiCountdown
 92850  	} else {
 92851  		return -1
 92852  	}
 92853  	return int32(0)
 92854  }
 92855  
 92856  func faultsimBeginBenign(tls *libc.TLS) {
 92857  	memfault.FisBenignMode++
 92858  }
 92859  
 92860  func faultsimEndBenign(tls *libc.TLS) {
 92861  	memfault.FisBenignMode--
 92862  }
 92863  
 92864  func faultsimInstall(tls *libc.TLS, install int32) int32 {
 92865  	bp := tls.Alloc(200)
 92866  	defer tls.Free(200)
 92867  
 92868  	var rc int32
 92869  
 92870  	install = func() int32 {
 92871  		if install != 0 {
 92872  			return 1
 92873  		}
 92874  		return 0
 92875  	}()
 92876  
 92877  	if install == memfault.FisInstalled {
 92878  		return SQLITE_ERROR
 92879  	}
 92880  
 92881  	if install != 0 {
 92882  		rc = sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_GETMALLOC, libc.VaList(bp, uintptr(unsafe.Pointer(&memfault))+40))
 92883  
 92884  		if rc == SQLITE_OK {
 92885  			*(*sqlite3_mem_methods)(unsafe.Pointer(bp + 72)) = memfault.Fm
 92886  			(*sqlite3_mem_methods)(unsafe.Pointer(bp + 72)).FxMalloc = *(*uintptr)(unsafe.Pointer(&struct {
 92887  				f func(*libc.TLS, int32) uintptr
 92888  			}{faultsimMalloc}))
 92889  			(*sqlite3_mem_methods)(unsafe.Pointer(bp + 72)).FxRealloc = *(*uintptr)(unsafe.Pointer(&struct {
 92890  				f func(*libc.TLS, uintptr, int32) uintptr
 92891  			}{faultsimRealloc}))
 92892  			rc = sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_MALLOC, libc.VaList(bp+8, bp+72))
 92893  		}
 92894  		sqlite3.Xsqlite3_test_control(tls, SQLITE_TESTCTRL_BENIGN_MALLOC_HOOKS,
 92895  			libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS) }{faultsimBeginBenign})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS) }{faultsimEndBenign}))))
 92896  	} else {
 92897  		libc.Xmemset(tls, bp+136, 0, uint64(unsafe.Sizeof(sqlite3_mem_methods{})))
 92898  		sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_MALLOC, libc.VaList(bp+32, bp+136))
 92899  		sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_GETMALLOC, libc.VaList(bp+40, bp+136))
 92900  
 92901  		rc = sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_MALLOC, libc.VaList(bp+48, uintptr(unsafe.Pointer(&memfault))+40))
 92902  		sqlite3.Xsqlite3_test_control(tls, SQLITE_TESTCTRL_BENIGN_MALLOC_HOOKS,
 92903  			libc.VaList(bp+56, uintptr(0), uintptr(0)))
 92904  	}
 92905  
 92906  	if rc == SQLITE_OK {
 92907  		memfault.FisInstalled = 1
 92908  	}
 92909  	return rc
 92910  }
 92911  
 92912  func pointerToText(tls *libc.TLS, p uintptr, z uintptr) {
 92913  	bp := tls.Alloc(20)
 92914  	defer tls.Free(20)
 92915  	*(*uintptr)(unsafe.Pointer(bp + 8)) = p
 92916  
 92917  	var i int32
 92918  	var k int32
 92919  
 92920  	if *(*uintptr)(unsafe.Pointer(bp + 8)) == uintptr(0) {
 92921  		libc.Xstrcpy(tls, z, ts+14193)
 92922  		return
 92923  	}
 92924  	if uint64(unsafe.Sizeof(sqlite3_uint64(0))) == uint64(unsafe.Sizeof(uintptr(0))) {
 92925  		libc.Xmemcpy(tls, bp, bp+8, uint64(unsafe.Sizeof(uintptr(0))))
 92926  	} else if uint64(unsafe.Sizeof(uint32(0))) == uint64(unsafe.Sizeof(uintptr(0))) {
 92927  		libc.Xmemcpy(tls, bp+16, bp+8, uint64(unsafe.Sizeof(uint32(0))))
 92928  		*(*sqlite3_uint64)(unsafe.Pointer(bp)) = sqlite3_uint64(*(*uint32)(unsafe.Pointer(bp + 16)))
 92929  	} else {
 92930  	}
 92931  	i = 0
 92932  	k = int32(uint64(unsafe.Sizeof(uintptr(0)))*uint64(2) - uint64(1))
 92933  __1:
 92934  	if !(uint64(i) < uint64(unsafe.Sizeof(uintptr(0)))*uint64(2)) {
 92935  		goto __3
 92936  	}
 92937  	{
 92938  		*(*int8)(unsafe.Pointer(z + uintptr(k))) = zHex[*(*sqlite3_uint64)(unsafe.Pointer(bp))&uint64(0xf)]
 92939  		*(*sqlite3_uint64)(unsafe.Pointer(bp)) >>= 4
 92940  
 92941  	}
 92942  	goto __2
 92943  __2:
 92944  	i++
 92945  	k--
 92946  	goto __1
 92947  	goto __3
 92948  __3:
 92949  	;
 92950  	*(*int8)(unsafe.Pointer(z + 16)) = int8(0)
 92951  }
 92952  
 92953  var zHex = *(*[17]int8)(unsafe.Pointer(ts + 30940))
 92954  
 92955  func hexToInt(tls *libc.TLS, h int32) int32 {
 92956  	if h >= '0' && h <= '9' {
 92957  		return h - '0'
 92958  	} else if h >= 'a' && h <= 'f' {
 92959  		return h - 'a' + 10
 92960  	} else {
 92961  		return -1
 92962  	}
 92963  	return int32(0)
 92964  }
 92965  
 92966  func textToPointer(tls *libc.TLS, z uintptr, pp uintptr) int32 {
 92967  	bp := tls.Alloc(12)
 92968  	defer tls.Free(12)
 92969  
 92970  	*(*sqlite3_uint64)(unsafe.Pointer(bp)) = uint64(0)
 92971  	var i int32
 92972  
 92973  	for i = 0; uint64(i) < uint64(unsafe.Sizeof(uintptr(0)))*uint64(2) && *(*int8)(unsafe.Pointer(z)) != 0; i++ {
 92974  		var v int32
 92975  		v = hexToInt(tls, int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1)))))
 92976  		if v < 0 {
 92977  			return TCL_ERROR
 92978  		}
 92979  		*(*sqlite3_uint64)(unsafe.Pointer(bp)) = *(*sqlite3_uint64)(unsafe.Pointer(bp))*uint64(16) + sqlite3_uint64(v)
 92980  	}
 92981  	if int32(*(*int8)(unsafe.Pointer(z))) != 0 {
 92982  		return TCL_ERROR
 92983  	}
 92984  	if uint64(unsafe.Sizeof(sqlite3_uint64(0))) == uint64(unsafe.Sizeof(uintptr(0))) {
 92985  		libc.Xmemcpy(tls, pp, bp, uint64(unsafe.Sizeof(sqlite3_uint64(0))))
 92986  	} else if uint64(unsafe.Sizeof(uint32(0))) == uint64(unsafe.Sizeof(uintptr(0))) {
 92987  		*(*uint32)(unsafe.Pointer(bp + 8)) = uint32(*(*sqlite3_uint64)(unsafe.Pointer(bp)))
 92988  		libc.Xmemcpy(tls, pp, bp+8, uint64(unsafe.Sizeof(uint32(0))))
 92989  	} else {
 92990  	}
 92991  	return TCL_OK
 92992  }
 92993  
 92994  func test_malloc(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 92995  	bp := tls.Alloc(120)
 92996  	defer tls.Free(120)
 92997  
 92998  	var p uintptr
 92999  
 93000  	if objc != 2 {
 93001  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32563)
 93002  		return TCL_ERROR
 93003  	}
 93004  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+16) != 0 {
 93005  		return TCL_ERROR
 93006  	}
 93007  	p = sqlite3.Xsqlite3_malloc(tls, int32(uint32(*(*int32)(unsafe.Pointer(bp + 16)))))
 93008  	pointerToText(tls, p, bp+20)
 93009  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, bp+20, uintptr(0)))
 93010  	return TCL_OK
 93011  }
 93012  
 93013  func test_realloc(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 93014  	bp := tls.Alloc(156)
 93015  	defer tls.Free(156)
 93016  
 93017  	var p uintptr
 93018  
 93019  	if objc != 3 {
 93020  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32570)
 93021  		return TCL_ERROR
 93022  	}
 93023  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+40) != 0 {
 93024  		return TCL_ERROR
 93025  	}
 93026  	if textToPointer(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+48) != 0 {
 93027  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32583, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0)))
 93028  		return TCL_ERROR
 93029  	}
 93030  	p = sqlite3.Xsqlite3_realloc(tls, *(*uintptr)(unsafe.Pointer(bp + 48)), int32(uint32(*(*int32)(unsafe.Pointer(bp + 40)))))
 93031  	pointerToText(tls, p, bp+56)
 93032  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, bp+56, uintptr(0)))
 93033  	return TCL_OK
 93034  }
 93035  
 93036  func test_free(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 93037  	bp := tls.Alloc(32)
 93038  	defer tls.Free(32)
 93039  
 93040  	if objc != 2 {
 93041  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32597)
 93042  		return TCL_ERROR
 93043  	}
 93044  	if textToPointer(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+24) != 0 {
 93045  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32583, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0)))
 93046  		return TCL_ERROR
 93047  	}
 93048  	sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 24)))
 93049  	return TCL_OK
 93050  }
 93051  
 93052  func test_memset(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 93053  	bp := tls.Alloc(172)
 93054  	defer tls.Free(172)
 93055  
 93056  	var i int32
 93057  	var zHex uintptr
 93058  	var zOut uintptr
 93059  
 93060  	if objc != 4 {
 93061  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32603)
 93062  		return TCL_ERROR
 93063  	}
 93064  	if textToPointer(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+56) != 0 {
 93065  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32583, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0)))
 93066  		return TCL_ERROR
 93067  	}
 93068  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+64) != 0 {
 93069  		return TCL_ERROR
 93070  	}
 93071  	if *(*int32)(unsafe.Pointer(bp + 64)) <= 0 {
 93072  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+32620, uintptr(0)))
 93073  		return TCL_ERROR
 93074  	}
 93075  	zHex = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+68)
 93076  	if uint64(*(*int32)(unsafe.Pointer(bp + 68))) > uint64(unsafe.Sizeof([100]int8{}))*uint64(2) {
 93077  		*(*int32)(unsafe.Pointer(bp + 68)) = int32(uint64(unsafe.Sizeof([100]int8{})) * uint64(2))
 93078  	}
 93079  	*(*int32)(unsafe.Pointer(bp + 68)) = sqlite3TestHexToBin(tls, zHex, *(*int32)(unsafe.Pointer(bp + 68)), bp+72)
 93080  	if *(*int32)(unsafe.Pointer(bp + 68)) == 0 {
 93081  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+32642, uintptr(0)))
 93082  		return TCL_ERROR
 93083  	}
 93084  	zOut = *(*uintptr)(unsafe.Pointer(bp + 56))
 93085  	for i = 0; i < *(*int32)(unsafe.Pointer(bp + 64)); i++ {
 93086  		*(*int8)(unsafe.Pointer(zOut + uintptr(i))) = *(*int8)(unsafe.Pointer(bp + 72 + uintptr(i%*(*int32)(unsafe.Pointer(bp + 68)))))
 93087  	}
 93088  	return TCL_OK
 93089  }
 93090  
 93091  func test_memget(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 93092  	bp := tls.Alloc(168)
 93093  	defer tls.Free(168)
 93094  
 93095  	var n int32
 93096  	var zBin uintptr
 93097  
 93098  	if objc != 3 {
 93099  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32650)
 93100  		return TCL_ERROR
 93101  	}
 93102  	if textToPointer(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+56) != 0 {
 93103  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32583, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0)))
 93104  		return TCL_ERROR
 93105  	}
 93106  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+64) != 0 {
 93107  		return TCL_ERROR
 93108  	}
 93109  	if *(*int32)(unsafe.Pointer(bp + 64)) <= 0 {
 93110  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+32620, uintptr(0)))
 93111  		return TCL_ERROR
 93112  	}
 93113  	zBin = *(*uintptr)(unsafe.Pointer(bp + 56))
 93114  	for *(*int32)(unsafe.Pointer(bp + 64)) > 0 {
 93115  		if uint64(*(*int32)(unsafe.Pointer(bp + 64))) > (uint64(unsafe.Sizeof([100]int8{}))-uint64(1))/uint64(2) {
 93116  			n = int32((uint64(unsafe.Sizeof([100]int8{})) - uint64(1)) / uint64(2))
 93117  		} else {
 93118  			n = *(*int32)(unsafe.Pointer(bp + 64))
 93119  		}
 93120  		libc.Xmemcpy(tls, bp+68, zBin, uint64(n))
 93121  		zBin += uintptr(n)
 93122  		*(*int32)(unsafe.Pointer(bp + 64)) -= n
 93123  		sqlite3TestBinToHex(tls, bp+68, n)
 93124  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+68, uintptr(0)))
 93125  	}
 93126  	return TCL_OK
 93127  }
 93128  
 93129  func test_memory_used(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 93130  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewWideIntObj(tls, sqlite3.Xsqlite3_memory_used(tls)))
 93131  	return TCL_OK
 93132  }
 93133  
 93134  func test_memory_highwater(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 93135  	bp := tls.Alloc(4)
 93136  	defer tls.Free(4)
 93137  
 93138  	*(*int32)(unsafe.Pointer(bp)) = 0
 93139  	if objc != 1 && objc != 2 {
 93140  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32663)
 93141  		return TCL_ERROR
 93142  	}
 93143  	if objc == 2 {
 93144  		if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp) != 0 {
 93145  			return TCL_ERROR
 93146  		}
 93147  	}
 93148  	tcl.XTcl_SetObjResult(tls, interp,
 93149  		tcl.XTcl_NewWideIntObj(tls, sqlite3.Xsqlite3_memory_highwater(tls, *(*int32)(unsafe.Pointer(bp)))))
 93150  	return TCL_OK
 93151  }
 93152  
 93153  func test_memdebug_backtrace(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 93154  	bp := tls.Alloc(4)
 93155  	defer tls.Free(4)
 93156  
 93157  	if objc != 2 {
 93158  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32671)
 93159  		return TCL_ERROR
 93160  	}
 93161  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp) != 0 {
 93162  		return TCL_ERROR
 93163  	}
 93164  	return TCL_OK
 93165  }
 93166  
 93167  func test_memdebug_dump(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 93168  	if objc != 2 {
 93169  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18731)
 93170  		return TCL_ERROR
 93171  	}
 93172  	return TCL_OK
 93173  }
 93174  
 93175  func test_memdebug_malloc_count(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 93176  	var nMalloc int32 = -1
 93177  	if objc != 1 {
 93178  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+584)
 93179  		return TCL_ERROR
 93180  	}
 93181  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, nMalloc))
 93182  	return TCL_OK
 93183  }
 93184  
 93185  func test_memdebug_fail(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 93186  	bp := tls.Alloc(36)
 93187  	defer tls.Free(36)
 93188  
 93189  	var ii int32
 93190  
 93191  	*(*int32)(unsafe.Pointer(bp + 32)) = 1
 93192  	var pBenignCnt uintptr = uintptr(0)
 93193  	var nBenign int32
 93194  	var nFail int32 = 0
 93195  
 93196  	if objc < 2 {
 93197  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32676)
 93198  		return TCL_ERROR
 93199  	}
 93200  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+24) != 0 {
 93201  		return TCL_ERROR
 93202  	}
 93203  
 93204  	for ii = 2; ii < objc; ii = ii + 2 {
 93205  		var zOption uintptr = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(ii)*8)), bp+28)
 93206  		var zErr uintptr = uintptr(0)
 93207  
 93208  		if *(*int32)(unsafe.Pointer(bp + 28)) > 1 && libc.Xstrncmp(tls, zOption, ts+32694, uint64(*(*int32)(unsafe.Pointer(bp + 28)))) == 0 {
 93209  			if ii == objc-1 {
 93210  				zErr = ts + 12638
 93211  			} else {
 93212  				if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(ii+1)*8)), bp+32) != 0 {
 93213  					return TCL_ERROR
 93214  				}
 93215  			}
 93216  		} else if *(*int32)(unsafe.Pointer(bp + 28)) > 1 && libc.Xstrncmp(tls, zOption, ts+32702, uint64(*(*int32)(unsafe.Pointer(bp + 28)))) == 0 {
 93217  			if ii == objc-1 {
 93218  				zErr = ts + 12638
 93219  			} else {
 93220  				pBenignCnt = *(*uintptr)(unsafe.Pointer(objv + uintptr(ii+1)*8))
 93221  			}
 93222  		} else {
 93223  			zErr = ts + 12444
 93224  		}
 93225  
 93226  		if zErr != 0 {
 93227  			tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, zErr, zOption, 0))
 93228  			return TCL_ERROR
 93229  		}
 93230  	}
 93231  
 93232  	nBenign = faultsimBenignFailures(tls)
 93233  	nFail = faultsimFailures(tls)
 93234  	faultsimConfig(tls, *(*int32)(unsafe.Pointer(bp + 24)), *(*int32)(unsafe.Pointer(bp + 32)))
 93235  
 93236  	if pBenignCnt != 0 {
 93237  		tcl.XTcl_ObjSetVar2(tls, interp, pBenignCnt, uintptr(0), tcl.XTcl_NewIntObj(tls, nBenign), 0)
 93238  	}
 93239  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, nFail))
 93240  	return TCL_OK
 93241  }
 93242  
 93243  func test_memdebug_pending(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 93244  	var nPending int32
 93245  	if objc != 1 {
 93246  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+584)
 93247  		return TCL_ERROR
 93248  	}
 93249  	nPending = faultsimPending(tls)
 93250  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, nPending))
 93251  	return TCL_OK
 93252  }
 93253  
 93254  var sqlite3_memdebug_title_count int32 = 0
 93255  
 93256  func test_memdebug_settitle(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 93257  	sqlite3_memdebug_title_count++
 93258  	if objc != 2 {
 93259  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32713)
 93260  		return TCL_ERROR
 93261  	}
 93262  	return TCL_OK
 93263  }
 93264  
 93265  var aMallocLog Tcl_HashTable
 93266  var mallocLogEnabled int32 = 0
 93267  
 93268  type MallocLog1 = struct {
 93269  	FnCall int32
 93270  	FnByte int32
 93271  }
 93272  
 93273  type MallocLog = MallocLog1
 93274  
 93275  func test_memdebug_log_clear(tls *libc.TLS) {
 93276  	bp := tls.Alloc(24)
 93277  	defer tls.Free(24)
 93278  
 93279  	var pEntry uintptr
 93280  	for pEntry = tcl.XTcl_FirstHashEntry(tls, uintptr(unsafe.Pointer(&aMallocLog)), bp); pEntry != 0; pEntry = tcl.XTcl_NextHashEntry(tls, bp) {
 93281  		var pLog uintptr = (*Tcl_HashEntry)(unsafe.Pointer(pEntry)).FclientData
 93282  		tcl.XTcl_Free(tls, pLog)
 93283  	}
 93284  	tcl.XTcl_DeleteHashTable(tls, uintptr(unsafe.Pointer(&aMallocLog)))
 93285  	tcl.XTcl_InitHashTable(tls, uintptr(unsafe.Pointer(&aMallocLog)), int32(uint64(10)*func() uint64 {
 93286  		if uint64(unsafe.Sizeof(int32(0))) >= uint64(unsafe.Sizeof(uintptr(0))) {
 93287  			return uint64(1)
 93288  		}
 93289  		return uint64(unsafe.Sizeof(uintptr(0))) / uint64(unsafe.Sizeof(int32(0)))
 93290  	}()))
 93291  }
 93292  
 93293  func test_memdebug_log(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 93294  	bp := tls.Alloc(128)
 93295  	defer tls.Free(128)
 93296  
 93297  	if !(isInit != 0) {
 93298  		tcl.XTcl_InitHashTable(tls, uintptr(unsafe.Pointer(&aMallocLog)), int32(uint64(10)*func() uint64 {
 93299  			if uint64(unsafe.Sizeof(int32(0))) >= uint64(unsafe.Sizeof(uintptr(0))) {
 93300  				return uint64(1)
 93301  			}
 93302  			return uint64(unsafe.Sizeof(uintptr(0))) / uint64(unsafe.Sizeof(int32(0)))
 93303  		}()))
 93304  		isInit = 1
 93305  	}
 93306  
 93307  	if objc < 2 {
 93308  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32719)
 93309  	}
 93310  	if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), uintptr(unsafe.Pointer(&MB_strs)), int32(unsafe.Sizeof(uintptr(0))), ts+2014, 0, bp) != 0 {
 93311  		return TCL_ERROR
 93312  	}
 93313  
 93314  	switch uint32(*(*int32)(unsafe.Pointer(bp))) {
 93315  	case uint32(0):
 93316  		mallocLogEnabled = 1
 93317  		break
 93318  	case uint32(1):
 93319  		mallocLogEnabled = 0
 93320  		break
 93321  	case uint32(2):
 93322  		{
 93323  			var pEntry uintptr
 93324  			var pRet uintptr = tcl.XTcl_NewObj(tls)
 93325  
 93326  			for pEntry = tcl.XTcl_FirstHashEntry(tls, uintptr(unsafe.Pointer(&aMallocLog)), bp+8); pEntry != 0; pEntry = tcl.XTcl_NextHashEntry(tls, bp+8) {
 93327  				var pLog uintptr = (*Tcl_HashEntry)(unsafe.Pointer(pEntry)).FclientData
 93328  				var aKey uintptr = func() uintptr {
 93329  					if (*Tcl_HashTable)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMallocLog)))).FkeyType == 1 || (*Tcl_HashTable)(unsafe.Pointer(uintptr(unsafe.Pointer(&aMallocLog)))).FkeyType == -1 {
 93330  						return *(*uintptr)(unsafe.Pointer(pEntry + 32))
 93331  					}
 93332  					return pEntry + 32
 93333  				}()
 93334  				var ii int32
 93335  
 93336  				*(*uintptr)(unsafe.Pointer(bp + 32)) = tcl.XTcl_NewIntObj(tls, (*MallocLog)(unsafe.Pointer(pLog)).FnCall)
 93337  				*(*uintptr)(unsafe.Pointer(bp + 32 + 1*8)) = tcl.XTcl_NewIntObj(tls, (*MallocLog)(unsafe.Pointer(pLog)).FnByte)
 93338  				for ii = 0; ii < MALLOC_LOG_FRAMES; ii++ {
 93339  					*(*uintptr)(unsafe.Pointer(bp + 32 + uintptr(ii+2)*8)) = tcl.XTcl_NewWideIntObj(tls, *(*Tcl_WideInt)(unsafe.Pointer(aKey + uintptr(ii)*8)))
 93340  				}
 93341  
 93342  				tcl.XTcl_ListObjAppendElement(tls, interp, pRet,
 93343  					tcl.XTcl_NewListObj(tls, MALLOC_LOG_FRAMES+2, bp+32))
 93344  			}
 93345  
 93346  			tcl.XTcl_SetObjResult(tls, interp, pRet)
 93347  			break
 93348  
 93349  		}
 93350  	case uint32(3):
 93351  		{
 93352  			test_memdebug_log_clear(tls)
 93353  			break
 93354  
 93355  		}
 93356  
 93357  	case uint32(4):
 93358  		{
 93359  			break
 93360  
 93361  		}
 93362  	}
 93363  
 93364  	return TCL_OK
 93365  }
 93366  
 93367  var isInit int32 = 0
 93368  var MB_strs = [5]uintptr{ts + 32735, ts + 32741, ts + 32746, ts + 32751, ts + 32757}
 93369  
 93370  func test_config_pagecache(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 93371  	bp := tls.Alloc(56)
 93372  	defer tls.Free(56)
 93373  
 93374  	var pRes uintptr
 93375  	if objc != 3 {
 93376  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32762)
 93377  		return TCL_ERROR
 93378  	}
 93379  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+48) != 0 {
 93380  		return TCL_ERROR
 93381  	}
 93382  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+52) != 0 {
 93383  		return TCL_ERROR
 93384  	}
 93385  	libc.Xfree(tls, buf1)
 93386  	buf1 = uintptr(0)
 93387  
 93388  	pRes = tcl.XTcl_NewObj(tls)
 93389  	tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pRes, tcl.XTcl_NewIntObj(tls, sqlite3.Xsqlite3Config.FszPage))
 93390  	tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pRes, tcl.XTcl_NewIntObj(tls, sqlite3.Xsqlite3Config.FnPage))
 93391  	tcl.XTcl_SetObjResult(tls, interp, pRes)
 93392  
 93393  	if *(*int32)(unsafe.Pointer(bp + 48)) < 0 {
 93394  		sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_PAGECACHE, libc.VaList(bp, uintptr(0), 0, 0))
 93395  	} else {
 93396  		buf1 = libc.Xmalloc(tls, uint64(*(*int32)(unsafe.Pointer(bp + 48))**(*int32)(unsafe.Pointer(bp + 52))))
 93397  		sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_PAGECACHE, libc.VaList(bp+24, buf1, *(*int32)(unsafe.Pointer(bp + 48)), *(*int32)(unsafe.Pointer(bp + 52))))
 93398  	}
 93399  	return TCL_OK
 93400  }
 93401  
 93402  var buf1 uintptr = uintptr(0)
 93403  
 93404  func test_alt_pcache(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 93405  	bp := tls.Alloc(32)
 93406  	defer tls.Free(32)
 93407  
 93408  	*(*int32)(unsafe.Pointer(bp + 20)) = 0
 93409  	*(*int32)(unsafe.Pointer(bp + 24)) = 0
 93410  	*(*int32)(unsafe.Pointer(bp + 28)) = 0
 93411  	if objc < 2 || objc > 5 {
 93412  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv,
 93413  			ts+32769)
 93414  		return TCL_ERROR
 93415  	}
 93416  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+16) != 0 {
 93417  		return TCL_ERROR
 93418  	}
 93419  	if objc >= 3 && tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+20) != 0 {
 93420  		return TCL_ERROR
 93421  	}
 93422  	if objc >= 4 && tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+24) != 0 {
 93423  		return TCL_ERROR
 93424  	}
 93425  	if objc >= 5 && tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 4*8)), bp+28) != 0 {
 93426  		return TCL_ERROR
 93427  	}
 93428  	if *(*int32)(unsafe.Pointer(bp + 20)) < 0 || *(*int32)(unsafe.Pointer(bp + 20)) > 100 {
 93429  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32816,
 93430  			uintptr(0)))
 93431  		return TCL_ERROR
 93432  	}
 93433  	installTestPCache(tls, *(*int32)(unsafe.Pointer(bp + 16)), uint32(*(*int32)(unsafe.Pointer(bp + 20))), uint32(*(*int32)(unsafe.Pointer(bp + 24))),
 93434  		uint32(*(*int32)(unsafe.Pointer(bp + 28))))
 93435  	return TCL_OK
 93436  }
 93437  
 93438  func test_config_memstatus(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 93439  	bp := tls.Alloc(12)
 93440  	defer tls.Free(12)
 93441  
 93442  	var rc int32
 93443  	if objc != 2 {
 93444  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18281)
 93445  		return TCL_ERROR
 93446  	}
 93447  	if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+8) != 0 {
 93448  		return TCL_ERROR
 93449  	}
 93450  	rc = sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_MEMSTATUS, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8))))
 93451  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, rc))
 93452  	return TCL_OK
 93453  }
 93454  
 93455  func test_config_lookaside(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 93456  	bp := tls.Alloc(24)
 93457  	defer tls.Free(24)
 93458  
 93459  	var pRet uintptr
 93460  	if objc != 3 {
 93461  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32859)
 93462  		return TCL_ERROR
 93463  	}
 93464  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+16) != 0 {
 93465  		return TCL_ERROR
 93466  	}
 93467  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+20) != 0 {
 93468  		return TCL_ERROR
 93469  	}
 93470  	pRet = tcl.XTcl_NewObj(tls)
 93471  	tcl.XTcl_ListObjAppendElement(tls,
 93472  		interp, pRet, tcl.XTcl_NewIntObj(tls, sqlite3.Xsqlite3Config.FszLookaside))
 93473  	tcl.XTcl_ListObjAppendElement(tls,
 93474  		interp, pRet, tcl.XTcl_NewIntObj(tls, sqlite3.Xsqlite3Config.FnLookaside))
 93475  	sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_LOOKASIDE, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 16)), *(*int32)(unsafe.Pointer(bp + 20))))
 93476  	tcl.XTcl_SetObjResult(tls, interp, pRet)
 93477  	return TCL_OK
 93478  }
 93479  
 93480  func test_db_config_lookaside(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 93481  	bp := tls.Alloc(84)
 93482  	defer tls.Free(84)
 93483  
 93484  	var rc int32
 93485  
 93486  	if objc != 5 {
 93487  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32870)
 93488  		return TCL_ERROR
 93489  	}
 93490  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+64) != 0 {
 93491  		return TCL_ERROR
 93492  	}
 93493  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+72) != 0 {
 93494  		return TCL_ERROR
 93495  	}
 93496  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+76) != 0 {
 93497  		return TCL_ERROR
 93498  	}
 93499  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 4*8)), bp+80) != 0 {
 93500  		return TCL_ERROR
 93501  	}
 93502  	if *(*int32)(unsafe.Pointer(bp + 72)) == 0 {
 93503  		rc = sqlite3.Xsqlite3_db_config(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), SQLITE_DBCONFIG_LOOKASIDE, libc.VaList(bp, uintptr(0), *(*int32)(unsafe.Pointer(bp + 76)), *(*int32)(unsafe.Pointer(bp + 80))))
 93504  	} else if *(*int32)(unsafe.Pointer(bp + 72)) >= 1 && *(*int32)(unsafe.Pointer(bp + 72)) <= 2 && uint64(*(*int32)(unsafe.Pointer(bp + 76))**(*int32)(unsafe.Pointer(bp + 80))) <= uint64(unsafe.Sizeof([10000]int8{})) {
 93505  		rc = sqlite3.Xsqlite3_db_config(tls, *(*uintptr)(unsafe.Pointer(bp + 64)), SQLITE_DBCONFIG_LOOKASIDE, libc.VaList(bp+24, uintptr(unsafe.Pointer(&azBuf))+uintptr(*(*int32)(unsafe.Pointer(bp + 72)))*10000, *(*int32)(unsafe.Pointer(bp + 76)), *(*int32)(unsafe.Pointer(bp + 80))))
 93506  	} else {
 93507  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+32887, uintptr(0)))
 93508  		return TCL_ERROR
 93509  	}
 93510  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, rc))
 93511  	return TCL_OK
 93512  }
 93513  
 93514  var azBuf [2][10000]int8
 93515  
 93516  func test_config_heap(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 93517  	bp := tls.Alloc(56)
 93518  	defer tls.Free(56)
 93519  
 93520  	var rc int32
 93521  
 93522  	var aArg uintptr = objv + 1*8
 93523  	var nArg int32 = objc - 1
 93524  
 93525  	if nArg != 2 {
 93526  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32925)
 93527  		return TCL_ERROR
 93528  	}
 93529  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(aArg)), bp+48) != 0 {
 93530  		return TCL_ERROR
 93531  	}
 93532  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(aArg + 1*8)), bp+52) != 0 {
 93533  		return TCL_ERROR
 93534  	}
 93535  
 93536  	if *(*int32)(unsafe.Pointer(bp + 48)) == 0 {
 93537  		libc.Xfree(tls, zBuf)
 93538  		zBuf = uintptr(0)
 93539  		rc = sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_HEAP, libc.VaList(bp, uintptr(0), 0, 0))
 93540  	} else {
 93541  		zBuf = libc.Xrealloc(tls, zBuf, uint64(*(*int32)(unsafe.Pointer(bp + 48))))
 93542  		rc = sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_HEAP, libc.VaList(bp+24, zBuf, *(*int32)(unsafe.Pointer(bp + 48)), *(*int32)(unsafe.Pointer(bp + 52))))
 93543  	}
 93544  
 93545  	tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(1))
 93546  	return TCL_OK
 93547  }
 93548  
 93549  var zBuf uintptr
 93550  
 93551  func test_config_heap_size(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 93552  	bp := tls.Alloc(12)
 93553  	defer tls.Free(12)
 93554  
 93555  	var rc int32
 93556  
 93557  	var aArg uintptr = objv + 1*8
 93558  	var nArg int32 = objc - 1
 93559  
 93560  	if nArg != 1 {
 93561  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16219)
 93562  		return TCL_ERROR
 93563  	}
 93564  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(aArg)), bp+8) != 0 {
 93565  		return TCL_ERROR
 93566  	}
 93567  
 93568  	rc = sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_WIN32_HEAPSIZE, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8))))
 93569  
 93570  	tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(1))
 93571  	return TCL_OK
 93572  }
 93573  
 93574  func test_config_error(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 93575  	bp := tls.Alloc(40)
 93576  	defer tls.Free(40)
 93577  
 93578  	if objc != 2 && objc != 1 {
 93579  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32941)
 93580  		return TCL_ERROR
 93581  	}
 93582  	if objc == 2 {
 93583  		if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32) != 0 {
 93584  			return TCL_ERROR
 93585  		}
 93586  		if sqlite3.Xsqlite3_db_config(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), 99999, 0) != SQLITE_ERROR {
 93587  			tcl.XTcl_AppendResult(tls, interp,
 93588  				libc.VaList(bp, ts+32946,
 93589  					uintptr(0)))
 93590  			return TCL_ERROR
 93591  		}
 93592  	} else {
 93593  		if sqlite3.Xsqlite3_config(tls, 99999, 0) != SQLITE_ERROR {
 93594  			tcl.XTcl_AppendResult(tls, interp,
 93595  				libc.VaList(bp+16, ts+33004,
 93596  					uintptr(0)))
 93597  			return TCL_ERROR
 93598  		}
 93599  	}
 93600  	return TCL_OK
 93601  }
 93602  
 93603  func test_config_uri(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 93604  	bp := tls.Alloc(12)
 93605  	defer tls.Free(12)
 93606  
 93607  	var rc int32
 93608  
 93609  	if objc != 2 {
 93610  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10152)
 93611  		return TCL_ERROR
 93612  	}
 93613  	if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+8) != 0 {
 93614  		return TCL_ERROR
 93615  	}
 93616  
 93617  	rc = sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_URI, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8))))
 93618  	tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(1))
 93619  
 93620  	return TCL_OK
 93621  }
 93622  
 93623  func test_config_cis(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 93624  	bp := tls.Alloc(12)
 93625  	defer tls.Free(12)
 93626  
 93627  	var rc int32
 93628  
 93629  	if objc != 2 {
 93630  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10152)
 93631  		return TCL_ERROR
 93632  	}
 93633  	if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+8) != 0 {
 93634  		return TCL_ERROR
 93635  	}
 93636  
 93637  	rc = sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_COVERING_INDEX_SCAN, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8))))
 93638  	tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(1))
 93639  
 93640  	return TCL_OK
 93641  }
 93642  
 93643  func test_config_pmasz(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 93644  	bp := tls.Alloc(12)
 93645  	defer tls.Free(12)
 93646  
 93647  	var rc int32
 93648  
 93649  	if objc != 2 {
 93650  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10152)
 93651  		return TCL_ERROR
 93652  	}
 93653  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+8) != 0 {
 93654  		return TCL_ERROR
 93655  	}
 93656  
 93657  	rc = sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_PMASZ, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8))))
 93658  	tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(1))
 93659  
 93660  	return TCL_OK
 93661  }
 93662  
 93663  func test_dump_memsys3(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 93664  	if objc != 2 {
 93665  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18731)
 93666  		return TCL_ERROR
 93667  	}
 93668  
 93669  	switch int32(clientData) {
 93670  	case 3:
 93671  		{
 93672  		}
 93673  		fallthrough
 93674  	case 5:
 93675  		{
 93676  		}
 93677  	}
 93678  	return TCL_OK
 93679  }
 93680  
 93681  func test_status(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 93682  	bp := tls.Alloc(16)
 93683  	defer tls.Free(16)
 93684  
 93685  	var rc int32
 93686  
 93687  	var i int32
 93688  	*(*int32)(unsafe.Pointer(bp)) = 0
 93689  
 93690  	var zOpName uintptr
 93691  	var pResult uintptr
 93692  	if objc != 3 {
 93693  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33055)
 93694  		return TCL_ERROR
 93695  	}
 93696  	zOpName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))
 93697  	for i = 0; i < int32(uint64(unsafe.Sizeof(aOp1))/uint64(unsafe.Sizeof(struct {
 93698  		FzName       uintptr
 93699  		Fop          int32
 93700  		F__ccgo_pad1 [4]byte
 93701  	}{}))); i++ {
 93702  		if libc.Xstrcmp(tls, aOp1[i].FzName, zOpName) == 0 {
 93703  			*(*int32)(unsafe.Pointer(bp)) = aOp1[i].Fop
 93704  			break
 93705  		}
 93706  	}
 93707  	if i >= int32(uint64(unsafe.Sizeof(aOp1))/uint64(unsafe.Sizeof(struct {
 93708  		FzName       uintptr
 93709  		Fop          int32
 93710  		F__ccgo_pad1 [4]byte
 93711  	}{}))) {
 93712  		if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp) != 0 {
 93713  			return TCL_ERROR
 93714  		}
 93715  	}
 93716  	if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+4) != 0 {
 93717  		return TCL_ERROR
 93718  	}
 93719  	*(*int32)(unsafe.Pointer(bp + 8)) = 0
 93720  	*(*int32)(unsafe.Pointer(bp + 12)) = 0
 93721  	rc = sqlite3.Xsqlite3_status(tls, *(*int32)(unsafe.Pointer(bp)), bp+8, bp+12, *(*int32)(unsafe.Pointer(bp + 4)))
 93722  	pResult = tcl.XTcl_NewObj(tls)
 93723  	tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pResult, tcl.XTcl_NewIntObj(tls, rc))
 93724  	tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pResult, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 8))))
 93725  	tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pResult, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 12))))
 93726  	tcl.XTcl_SetObjResult(tls, interp, pResult)
 93727  	return TCL_OK
 93728  }
 93729  
 93730  var aOp1 = [10]struct {
 93731  	FzName       uintptr
 93732  	Fop          int32
 93733  	F__ccgo_pad1 [4]byte
 93734  }{
 93735  	{FzName: ts + 33075},
 93736  	{FzName: ts + 33101, Fop: SQLITE_STATUS_MALLOC_SIZE},
 93737  	{FzName: ts + 33127, Fop: SQLITE_STATUS_PAGECACHE_USED},
 93738  	{FzName: ts + 33156, Fop: SQLITE_STATUS_PAGECACHE_OVERFLOW},
 93739  	{FzName: ts + 33189, Fop: SQLITE_STATUS_PAGECACHE_SIZE},
 93740  	{FzName: ts + 33218, Fop: SQLITE_STATUS_SCRATCH_USED},
 93741  	{FzName: ts + 33245, Fop: SQLITE_STATUS_SCRATCH_OVERFLOW},
 93742  	{FzName: ts + 33276, Fop: SQLITE_STATUS_SCRATCH_SIZE},
 93743  	{FzName: ts + 33303, Fop: SQLITE_STATUS_PARSER_STACK},
 93744  	{FzName: ts + 33330, Fop: SQLITE_STATUS_MALLOC_COUNT},
 93745  }
 93746  
 93747  func test_db_status(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 93748  	bp := tls.Alloc(24)
 93749  	defer tls.Free(24)
 93750  
 93751  	var rc int32
 93752  
 93753  	var i int32
 93754  	*(*int32)(unsafe.Pointer(bp + 8)) = 0
 93755  
 93756  	var zOpName uintptr
 93757  
 93758  	var pResult uintptr
 93759  	if objc != 4 {
 93760  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33357)
 93761  		return TCL_ERROR
 93762  	}
 93763  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp) != 0 {
 93764  		return TCL_ERROR
 93765  	}
 93766  	zOpName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
 93767  	if libc.Xmemcmp(tls, zOpName, ts+33380, uint64(7)) == 0 {
 93768  		zOpName += uintptr(7)
 93769  	}
 93770  	if libc.Xmemcmp(tls, zOpName, ts+33388, uint64(9)) == 0 {
 93771  		zOpName += uintptr(9)
 93772  	}
 93773  	for i = 0; i < int32(uint64(unsafe.Sizeof(aOp2))/uint64(unsafe.Sizeof(struct {
 93774  		FzName       uintptr
 93775  		Fop          int32
 93776  		F__ccgo_pad1 [4]byte
 93777  	}{}))); i++ {
 93778  		if libc.Xstrcmp(tls, aOp2[i].FzName, zOpName) == 0 {
 93779  			*(*int32)(unsafe.Pointer(bp + 8)) = aOp2[i].Fop
 93780  			break
 93781  		}
 93782  	}
 93783  	if i >= int32(uint64(unsafe.Sizeof(aOp2))/uint64(unsafe.Sizeof(struct {
 93784  		FzName       uintptr
 93785  		Fop          int32
 93786  		F__ccgo_pad1 [4]byte
 93787  	}{}))) {
 93788  		if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+8) != 0 {
 93789  			return TCL_ERROR
 93790  		}
 93791  	}
 93792  	if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+12) != 0 {
 93793  		return TCL_ERROR
 93794  	}
 93795  	*(*int32)(unsafe.Pointer(bp + 16)) = 0
 93796  	*(*int32)(unsafe.Pointer(bp + 20)) = 0
 93797  	rc = sqlite3.Xsqlite3_db_status(tls, *(*uintptr)(unsafe.Pointer(bp)), *(*int32)(unsafe.Pointer(bp + 8)), bp+16, bp+20, *(*int32)(unsafe.Pointer(bp + 12)))
 93798  	pResult = tcl.XTcl_NewObj(tls)
 93799  	tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pResult, tcl.XTcl_NewIntObj(tls, rc))
 93800  	tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pResult, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 16))))
 93801  	tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pResult, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 20))))
 93802  	tcl.XTcl_SetObjResult(tls, interp, pResult)
 93803  	return TCL_OK
 93804  }
 93805  
 93806  var aOp2 = [13]struct {
 93807  	FzName       uintptr
 93808  	Fop          int32
 93809  	F__ccgo_pad1 [4]byte
 93810  }{
 93811  	{FzName: ts + 33398},
 93812  	{FzName: ts + 33413, Fop: SQLITE_DBSTATUS_CACHE_USED},
 93813  	{FzName: ts + 33424, Fop: SQLITE_DBSTATUS_SCHEMA_USED},
 93814  	{FzName: ts + 33436, Fop: SQLITE_DBSTATUS_STMT_USED},
 93815  	{FzName: ts + 33446, Fop: SQLITE_DBSTATUS_LOOKASIDE_HIT},
 93816  	{FzName: ts + 33460, Fop: SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE},
 93817  	{FzName: ts + 33480, Fop: SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL},
 93818  	{FzName: ts + 33500, Fop: SQLITE_DBSTATUS_CACHE_HIT},
 93819  	{FzName: ts + 33510, Fop: SQLITE_DBSTATUS_CACHE_MISS},
 93820  	{FzName: ts + 33521, Fop: SQLITE_DBSTATUS_CACHE_WRITE},
 93821  	{FzName: ts + 33533, Fop: SQLITE_DBSTATUS_DEFERRED_FKS},
 93822  	{FzName: ts + 33546, Fop: SQLITE_DBSTATUS_CACHE_USED_SHARED},
 93823  	{FzName: ts + 33564, Fop: SQLITE_DBSTATUS_CACHE_SPILL},
 93824  }
 93825  
 93826  func test_install_malloc_faultsim(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 93827  	bp := tls.Alloc(4)
 93828  	defer tls.Free(4)
 93829  
 93830  	var rc int32
 93831  
 93832  	if objc != 2 {
 93833  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18281)
 93834  		return TCL_ERROR
 93835  	}
 93836  	if TCL_OK != tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp) {
 93837  		return TCL_ERROR
 93838  	}
 93839  	rc = faultsimInstall(tls, *(*int32)(unsafe.Pointer(bp)))
 93840  	tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(1))
 93841  	return TCL_OK
 93842  }
 93843  
 93844  func test_install_memsys3(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 93845  	var rc int32 = SQLITE_MISUSE
 93846  	tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(1))
 93847  	return TCL_OK
 93848  }
 93849  
 93850  func test_vfs_oom_test(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 93851  	bp := tls.Alloc(4)
 93852  	defer tls.Free(4)
 93853  
 93854  	if objc > 2 {
 93855  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33576)
 93856  		return TCL_ERROR
 93857  	} else if objc == 2 {
 93858  		if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp) != 0 {
 93859  			return TCL_ERROR
 93860  		}
 93861  		sqlite3.Xsqlite3_memdebug_vfs_oom_test = *(*int32)(unsafe.Pointer(bp))
 93862  	}
 93863  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, sqlite3.Xsqlite3_memdebug_vfs_oom_test))
 93864  	return TCL_OK
 93865  }
 93866  
 93867  func Sqlitetest_malloc_Init(tls *libc.TLS, interp uintptr) int32 {
 93868  	var i int32
 93869  	for i = 0; uint64(i) < uint64(unsafe.Sizeof(aObjCmd11))/uint64(unsafe.Sizeof(struct {
 93870  		FzName       uintptr
 93871  		FxProc       uintptr
 93872  		FclientData  int32
 93873  		F__ccgo_pad1 [4]byte
 93874  	}{})); i++ {
 93875  		var c ClientData = uintptr(intptr_t(aObjCmd11[i].FclientData))
 93876  		tcl.XTcl_CreateObjCommand(tls, interp, aObjCmd11[i].FzName, aObjCmd11[i].FxProc, c, uintptr(0))
 93877  	}
 93878  	return TCL_OK
 93879  }
 93880  
 93881  var aObjCmd11 = [32]struct {
 93882  	FzName       uintptr
 93883  	FxProc       uintptr
 93884  	FclientData  int32
 93885  	F__ccgo_pad1 [4]byte
 93886  }{
 93887  	{FzName: ts + 27799, FxProc: 0},
 93888  	{FzName: ts + 27814, FxProc: 0},
 93889  	{FzName: ts + 33586, FxProc: 0},
 93890  	{FzName: ts + 33599, FxProc: 0},
 93891  	{FzName: ts + 33606, FxProc: 0},
 93892  	{FzName: ts + 33613, FxProc: 0},
 93893  	{FzName: ts + 33633, FxProc: 0},
 93894  	{FzName: ts + 33658, FxProc: 0},
 93895  	{FzName: ts + 33685, FxProc: 0},
 93896  	{FzName: ts + 33707, FxProc: 0},
 93897  	{FzName: ts + 33729, FxProc: 0},
 93898  	{FzName: ts + 33754, FxProc: 0},
 93899  	{FzName: ts + 33780, FxProc: 0},
 93900  	{FzName: ts + 33810, FxProc: 0},
 93901  	{FzName: ts + 33831, FxProc: 0},
 93902  	{FzName: ts + 33856, FxProc: 0},
 93903  	{FzName: ts + 33882, FxProc: 0},
 93904  	{FzName: ts + 33897, FxProc: 0},
 93905  	{FzName: ts + 33915, FxProc: 0},
 93906  	{FzName: ts + 33939, FxProc: 0},
 93907  	{FzName: ts + 33959, FxProc: 0},
 93908  	{FzName: ts + 33984, FxProc: 0},
 93909  	{FzName: ts + 34009, FxProc: 0},
 93910  	{FzName: ts + 34034, FxProc: 0},
 93911  	{FzName: ts + 34055, FxProc: 0},
 93912  	{FzName: ts + 34074, FxProc: 0},
 93913  	{FzName: ts + 34093, FxProc: 0},
 93914  	{FzName: ts + 34114, FxProc: 0},
 93915  	{FzName: ts + 34142, FxProc: 0, FclientData: 3},
 93916  	{FzName: ts + 34163, FxProc: 0, FclientData: 5},
 93917  	{FzName: ts + 34184, FxProc: 0},
 93918  	{FzName: ts + 34208, FxProc: 0},
 93919  }
 93920  
 93921  type MD5Context1 = struct {
 93922  	FisInit int32
 93923  	Fbuf    [4]uint32
 93924  	Fbits   [2]uint32
 93925  	Fin     [64]uint8
 93926  }
 93927  
 93928  type MD5Context = MD5Context1
 93929  
 93930  func byteReverse(tls *libc.TLS, buf uintptr, longs uint32) {
 93931  	var t uint32
 93932  	for __ccgo := true; __ccgo; __ccgo = libc.PreDecUint32(&longs, 1) != 0 {
 93933  		t = (uint32(*(*uint8)(unsafe.Pointer(buf + 3)))<<8|uint32(*(*uint8)(unsafe.Pointer(buf + 2))))<<16 | (uint32(*(*uint8)(unsafe.Pointer(buf + 1)))<<8 | uint32(*(*uint8)(unsafe.Pointer(buf))))
 93934  		*(*uint32)(unsafe.Pointer(buf)) = t
 93935  		buf += uintptr(4)
 93936  	}
 93937  }
 93938  
 93939  func MD5Transform(tls *libc.TLS, buf uintptr, in uintptr) {
 93940  	var a uint32
 93941  	var b uint32
 93942  	var c uint32
 93943  	var d uint32
 93944  
 93945  	a = *(*uint32)(unsafe.Pointer(buf))
 93946  	b = *(*uint32)(unsafe.Pointer(buf + 1*4))
 93947  	c = *(*uint32)(unsafe.Pointer(buf + 2*4))
 93948  	d = *(*uint32)(unsafe.Pointer(buf + 3*4))
 93949  
 93950  	a = a + (d ^ b&(c^d) + *(*uint32)(unsafe.Pointer(in)) + 0xd76aa478)
 93951  	a = a<<7 | a>>(32-7)
 93952  	a = a + b
 93953  	d = d + (c ^ a&(b^c) + *(*uint32)(unsafe.Pointer(in + 1*4)) + 0xe8c7b756)
 93954  	d = d<<12 | d>>(32-12)
 93955  	d = d + a
 93956  	c = c + (b ^ d&(a^b) + *(*uint32)(unsafe.Pointer(in + 2*4)) + uint32(0x242070db))
 93957  	c = c<<17 | c>>(32-17)
 93958  	c = c + d
 93959  	b = b + (a ^ c&(d^a) + *(*uint32)(unsafe.Pointer(in + 3*4)) + 0xc1bdceee)
 93960  	b = b<<22 | b>>(32-22)
 93961  	b = b + c
 93962  	a = a + (d ^ b&(c^d) + *(*uint32)(unsafe.Pointer(in + 4*4)) + 0xf57c0faf)
 93963  	a = a<<7 | a>>(32-7)
 93964  	a = a + b
 93965  	d = d + (c ^ a&(b^c) + *(*uint32)(unsafe.Pointer(in + 5*4)) + uint32(0x4787c62a))
 93966  	d = d<<12 | d>>(32-12)
 93967  	d = d + a
 93968  	c = c + (b ^ d&(a^b) + *(*uint32)(unsafe.Pointer(in + 6*4)) + 0xa8304613)
 93969  	c = c<<17 | c>>(32-17)
 93970  	c = c + d
 93971  	b = b + (a ^ c&(d^a) + *(*uint32)(unsafe.Pointer(in + 7*4)) + 0xfd469501)
 93972  	b = b<<22 | b>>(32-22)
 93973  	b = b + c
 93974  	a = a + (d ^ b&(c^d) + *(*uint32)(unsafe.Pointer(in + 8*4)) + uint32(0x698098d8))
 93975  	a = a<<7 | a>>(32-7)
 93976  	a = a + b
 93977  	d = d + (c ^ a&(b^c) + *(*uint32)(unsafe.Pointer(in + 9*4)) + 0x8b44f7af)
 93978  	d = d<<12 | d>>(32-12)
 93979  	d = d + a
 93980  	c = c + (b ^ d&(a^b) + *(*uint32)(unsafe.Pointer(in + 10*4)) + 0xffff5bb1)
 93981  	c = c<<17 | c>>(32-17)
 93982  	c = c + d
 93983  	b = b + (a ^ c&(d^a) + *(*uint32)(unsafe.Pointer(in + 11*4)) + 0x895cd7be)
 93984  	b = b<<22 | b>>(32-22)
 93985  	b = b + c
 93986  	a = a + (d ^ b&(c^d) + *(*uint32)(unsafe.Pointer(in + 12*4)) + uint32(0x6b901122))
 93987  	a = a<<7 | a>>(32-7)
 93988  	a = a + b
 93989  	d = d + (c ^ a&(b^c) + *(*uint32)(unsafe.Pointer(in + 13*4)) + 0xfd987193)
 93990  	d = d<<12 | d>>(32-12)
 93991  	d = d + a
 93992  	c = c + (b ^ d&(a^b) + *(*uint32)(unsafe.Pointer(in + 14*4)) + 0xa679438e)
 93993  	c = c<<17 | c>>(32-17)
 93994  	c = c + d
 93995  	b = b + (a ^ c&(d^a) + *(*uint32)(unsafe.Pointer(in + 15*4)) + uint32(0x49b40821))
 93996  	b = b<<22 | b>>(32-22)
 93997  	b = b + c
 93998  
 93999  	a = a + (c ^ d&(b^c) + *(*uint32)(unsafe.Pointer(in + 1*4)) + 0xf61e2562)
 94000  	a = a<<5 | a>>(32-5)
 94001  	a = a + b
 94002  	d = d + (b ^ c&(a^b) + *(*uint32)(unsafe.Pointer(in + 6*4)) + 0xc040b340)
 94003  	d = d<<9 | d>>(32-9)
 94004  	d = d + a
 94005  	c = c + (a ^ b&(d^a) + *(*uint32)(unsafe.Pointer(in + 11*4)) + uint32(0x265e5a51))
 94006  	c = c<<14 | c>>(32-14)
 94007  	c = c + d
 94008  	b = b + (d ^ a&(c^d) + *(*uint32)(unsafe.Pointer(in)) + 0xe9b6c7aa)
 94009  	b = b<<20 | b>>(32-20)
 94010  	b = b + c
 94011  	a = a + (c ^ d&(b^c) + *(*uint32)(unsafe.Pointer(in + 5*4)) + 0xd62f105d)
 94012  	a = a<<5 | a>>(32-5)
 94013  	a = a + b
 94014  	d = d + (b ^ c&(a^b) + *(*uint32)(unsafe.Pointer(in + 10*4)) + uint32(0x02441453))
 94015  	d = d<<9 | d>>(32-9)
 94016  	d = d + a
 94017  	c = c + (a ^ b&(d^a) + *(*uint32)(unsafe.Pointer(in + 15*4)) + 0xd8a1e681)
 94018  	c = c<<14 | c>>(32-14)
 94019  	c = c + d
 94020  	b = b + (d ^ a&(c^d) + *(*uint32)(unsafe.Pointer(in + 4*4)) + 0xe7d3fbc8)
 94021  	b = b<<20 | b>>(32-20)
 94022  	b = b + c
 94023  	a = a + (c ^ d&(b^c) + *(*uint32)(unsafe.Pointer(in + 9*4)) + uint32(0x21e1cde6))
 94024  	a = a<<5 | a>>(32-5)
 94025  	a = a + b
 94026  	d = d + (b ^ c&(a^b) + *(*uint32)(unsafe.Pointer(in + 14*4)) + 0xc33707d6)
 94027  	d = d<<9 | d>>(32-9)
 94028  	d = d + a
 94029  	c = c + (a ^ b&(d^a) + *(*uint32)(unsafe.Pointer(in + 3*4)) + 0xf4d50d87)
 94030  	c = c<<14 | c>>(32-14)
 94031  	c = c + d
 94032  	b = b + (d ^ a&(c^d) + *(*uint32)(unsafe.Pointer(in + 8*4)) + uint32(0x455a14ed))
 94033  	b = b<<20 | b>>(32-20)
 94034  	b = b + c
 94035  	a = a + (c ^ d&(b^c) + *(*uint32)(unsafe.Pointer(in + 13*4)) + 0xa9e3e905)
 94036  	a = a<<5 | a>>(32-5)
 94037  	a = a + b
 94038  	d = d + (b ^ c&(a^b) + *(*uint32)(unsafe.Pointer(in + 2*4)) + 0xfcefa3f8)
 94039  	d = d<<9 | d>>(32-9)
 94040  	d = d + a
 94041  	c = c + (a ^ b&(d^a) + *(*uint32)(unsafe.Pointer(in + 7*4)) + uint32(0x676f02d9))
 94042  	c = c<<14 | c>>(32-14)
 94043  	c = c + d
 94044  	b = b + (d ^ a&(c^d) + *(*uint32)(unsafe.Pointer(in + 12*4)) + 0x8d2a4c8a)
 94045  	b = b<<20 | b>>(32-20)
 94046  	b = b + c
 94047  
 94048  	a = a + (b ^ c ^ d + *(*uint32)(unsafe.Pointer(in + 5*4)) + 0xfffa3942)
 94049  	a = a<<4 | a>>(32-4)
 94050  	a = a + b
 94051  	d = d + (a ^ b ^ c + *(*uint32)(unsafe.Pointer(in + 8*4)) + 0x8771f681)
 94052  	d = d<<11 | d>>(32-11)
 94053  	d = d + a
 94054  	c = c + (d ^ a ^ b + *(*uint32)(unsafe.Pointer(in + 11*4)) + uint32(0x6d9d6122))
 94055  	c = c<<16 | c>>(32-16)
 94056  	c = c + d
 94057  	b = b + (c ^ d ^ a + *(*uint32)(unsafe.Pointer(in + 14*4)) + 0xfde5380c)
 94058  	b = b<<23 | b>>(32-23)
 94059  	b = b + c
 94060  	a = a + (b ^ c ^ d + *(*uint32)(unsafe.Pointer(in + 1*4)) + 0xa4beea44)
 94061  	a = a<<4 | a>>(32-4)
 94062  	a = a + b
 94063  	d = d + (a ^ b ^ c + *(*uint32)(unsafe.Pointer(in + 4*4)) + uint32(0x4bdecfa9))
 94064  	d = d<<11 | d>>(32-11)
 94065  	d = d + a
 94066  	c = c + (d ^ a ^ b + *(*uint32)(unsafe.Pointer(in + 7*4)) + 0xf6bb4b60)
 94067  	c = c<<16 | c>>(32-16)
 94068  	c = c + d
 94069  	b = b + (c ^ d ^ a + *(*uint32)(unsafe.Pointer(in + 10*4)) + 0xbebfbc70)
 94070  	b = b<<23 | b>>(32-23)
 94071  	b = b + c
 94072  	a = a + (b ^ c ^ d + *(*uint32)(unsafe.Pointer(in + 13*4)) + uint32(0x289b7ec6))
 94073  	a = a<<4 | a>>(32-4)
 94074  	a = a + b
 94075  	d = d + (a ^ b ^ c + *(*uint32)(unsafe.Pointer(in)) + 0xeaa127fa)
 94076  	d = d<<11 | d>>(32-11)
 94077  	d = d + a
 94078  	c = c + (d ^ a ^ b + *(*uint32)(unsafe.Pointer(in + 3*4)) + 0xd4ef3085)
 94079  	c = c<<16 | c>>(32-16)
 94080  	c = c + d
 94081  	b = b + (c ^ d ^ a + *(*uint32)(unsafe.Pointer(in + 6*4)) + uint32(0x04881d05))
 94082  	b = b<<23 | b>>(32-23)
 94083  	b = b + c
 94084  	a = a + (b ^ c ^ d + *(*uint32)(unsafe.Pointer(in + 9*4)) + 0xd9d4d039)
 94085  	a = a<<4 | a>>(32-4)
 94086  	a = a + b
 94087  	d = d + (a ^ b ^ c + *(*uint32)(unsafe.Pointer(in + 12*4)) + 0xe6db99e5)
 94088  	d = d<<11 | d>>(32-11)
 94089  	d = d + a
 94090  	c = c + (d ^ a ^ b + *(*uint32)(unsafe.Pointer(in + 15*4)) + uint32(0x1fa27cf8))
 94091  	c = c<<16 | c>>(32-16)
 94092  	c = c + d
 94093  	b = b + (c ^ d ^ a + *(*uint32)(unsafe.Pointer(in + 2*4)) + 0xc4ac5665)
 94094  	b = b<<23 | b>>(32-23)
 94095  	b = b + c
 94096  
 94097  	a = a + (c ^ (b | ^d) + *(*uint32)(unsafe.Pointer(in)) + 0xf4292244)
 94098  	a = a<<6 | a>>(32-6)
 94099  	a = a + b
 94100  	d = d + (b ^ (a | ^c) + *(*uint32)(unsafe.Pointer(in + 7*4)) + uint32(0x432aff97))
 94101  	d = d<<10 | d>>(32-10)
 94102  	d = d + a
 94103  	c = c + (a ^ (d | ^b) + *(*uint32)(unsafe.Pointer(in + 14*4)) + 0xab9423a7)
 94104  	c = c<<15 | c>>(32-15)
 94105  	c = c + d
 94106  	b = b + (d ^ (c | ^a) + *(*uint32)(unsafe.Pointer(in + 5*4)) + 0xfc93a039)
 94107  	b = b<<21 | b>>(32-21)
 94108  	b = b + c
 94109  	a = a + (c ^ (b | ^d) + *(*uint32)(unsafe.Pointer(in + 12*4)) + uint32(0x655b59c3))
 94110  	a = a<<6 | a>>(32-6)
 94111  	a = a + b
 94112  	d = d + (b ^ (a | ^c) + *(*uint32)(unsafe.Pointer(in + 3*4)) + 0x8f0ccc92)
 94113  	d = d<<10 | d>>(32-10)
 94114  	d = d + a
 94115  	c = c + (a ^ (d | ^b) + *(*uint32)(unsafe.Pointer(in + 10*4)) + 0xffeff47d)
 94116  	c = c<<15 | c>>(32-15)
 94117  	c = c + d
 94118  	b = b + (d ^ (c | ^a) + *(*uint32)(unsafe.Pointer(in + 1*4)) + 0x85845dd1)
 94119  	b = b<<21 | b>>(32-21)
 94120  	b = b + c
 94121  	a = a + (c ^ (b | ^d) + *(*uint32)(unsafe.Pointer(in + 8*4)) + uint32(0x6fa87e4f))
 94122  	a = a<<6 | a>>(32-6)
 94123  	a = a + b
 94124  	d = d + (b ^ (a | ^c) + *(*uint32)(unsafe.Pointer(in + 15*4)) + 0xfe2ce6e0)
 94125  	d = d<<10 | d>>(32-10)
 94126  	d = d + a
 94127  	c = c + (a ^ (d | ^b) + *(*uint32)(unsafe.Pointer(in + 6*4)) + 0xa3014314)
 94128  	c = c<<15 | c>>(32-15)
 94129  	c = c + d
 94130  	b = b + (d ^ (c | ^a) + *(*uint32)(unsafe.Pointer(in + 13*4)) + uint32(0x4e0811a1))
 94131  	b = b<<21 | b>>(32-21)
 94132  	b = b + c
 94133  	a = a + (c ^ (b | ^d) + *(*uint32)(unsafe.Pointer(in + 4*4)) + 0xf7537e82)
 94134  	a = a<<6 | a>>(32-6)
 94135  	a = a + b
 94136  	d = d + (b ^ (a | ^c) + *(*uint32)(unsafe.Pointer(in + 11*4)) + 0xbd3af235)
 94137  	d = d<<10 | d>>(32-10)
 94138  	d = d + a
 94139  	c = c + (a ^ (d | ^b) + *(*uint32)(unsafe.Pointer(in + 2*4)) + uint32(0x2ad7d2bb))
 94140  	c = c<<15 | c>>(32-15)
 94141  	c = c + d
 94142  	b = b + (d ^ (c | ^a) + *(*uint32)(unsafe.Pointer(in + 9*4)) + 0xeb86d391)
 94143  	b = b<<21 | b>>(32-21)
 94144  	b = b + c
 94145  
 94146  	*(*uint32)(unsafe.Pointer(buf)) += a
 94147  	*(*uint32)(unsafe.Pointer(buf + 1*4)) += b
 94148  	*(*uint32)(unsafe.Pointer(buf + 2*4)) += c
 94149  	*(*uint32)(unsafe.Pointer(buf + 3*4)) += d
 94150  }
 94151  
 94152  func MD5Init(tls *libc.TLS, ctx uintptr) {
 94153  	(*MD5Context)(unsafe.Pointer(ctx)).FisInit = 1
 94154  	*(*uint32)(unsafe.Pointer(ctx + 4)) = uint32(0x67452301)
 94155  	*(*uint32)(unsafe.Pointer(ctx + 4 + 1*4)) = 0xefcdab89
 94156  	*(*uint32)(unsafe.Pointer(ctx + 4 + 2*4)) = 0x98badcfe
 94157  	*(*uint32)(unsafe.Pointer(ctx + 4 + 3*4)) = uint32(0x10325476)
 94158  	*(*uint32)(unsafe.Pointer(ctx + 20)) = uint32(0)
 94159  	*(*uint32)(unsafe.Pointer(ctx + 20 + 1*4)) = uint32(0)
 94160  }
 94161  
 94162  func MD5Update(tls *libc.TLS, ctx uintptr, buf uintptr, len uint32) {
 94163  	var t uint32
 94164  
 94165  	t = *(*uint32)(unsafe.Pointer(ctx + 20))
 94166  	if libc.AssignPtrUint32(ctx+20, t+len<<3) < t {
 94167  		*(*uint32)(unsafe.Pointer(ctx + 20 + 1*4))++
 94168  	}
 94169  	*(*uint32)(unsafe.Pointer(ctx + 20 + 1*4)) += len >> 29
 94170  
 94171  	t = t >> 3 & uint32(0x3f)
 94172  
 94173  	if t != 0 {
 94174  		var p uintptr = ctx + 28 + uintptr(t)
 94175  
 94176  		t = uint32(64) - t
 94177  		if len < t {
 94178  			libc.Xmemcpy(tls, p, buf, uint64(len))
 94179  			return
 94180  		}
 94181  		libc.Xmemcpy(tls, p, buf, uint64(t))
 94182  		byteReverse(tls, ctx+28, uint32(16))
 94183  		MD5Transform(tls, ctx+4, ctx+28)
 94184  		buf += uintptr(t)
 94185  		len = len - t
 94186  	}
 94187  
 94188  	for len >= uint32(64) {
 94189  		libc.Xmemcpy(tls, ctx+28, buf, uint64(64))
 94190  		byteReverse(tls, ctx+28, uint32(16))
 94191  		MD5Transform(tls, ctx+4, ctx+28)
 94192  		buf += uintptr(64)
 94193  		len = len - uint32(64)
 94194  	}
 94195  
 94196  	libc.Xmemcpy(tls, ctx+28, buf, uint64(len))
 94197  }
 94198  
 94199  func MD5Final(tls *libc.TLS, digest uintptr, ctx uintptr) {
 94200  	var count uint32
 94201  	var p uintptr
 94202  
 94203  	count = *(*uint32)(unsafe.Pointer(ctx + 20)) >> 3 & uint32(0x3F)
 94204  
 94205  	p = ctx + 28 + uintptr(count)
 94206  	*(*uint8)(unsafe.Pointer(libc.PostIncUintptr(&p, 1))) = uint8(0x80)
 94207  
 94208  	count = uint32(64-1) - count
 94209  
 94210  	if count < uint32(8) {
 94211  		libc.Xmemset(tls, p, 0, uint64(count))
 94212  		byteReverse(tls, ctx+28, uint32(16))
 94213  		MD5Transform(tls, ctx+4, ctx+28)
 94214  
 94215  		libc.Xmemset(tls, ctx+28, 0, uint64(56))
 94216  	} else {
 94217  		libc.Xmemset(tls, p, 0, uint64(count-uint32(8)))
 94218  	}
 94219  	byteReverse(tls, ctx+28, uint32(14))
 94220  
 94221  	libc.Xmemcpy(tls, ctx+28+uintptr(14*4), ctx+20, uint64(8))
 94222  
 94223  	MD5Transform(tls, ctx+4, ctx+28)
 94224  	byteReverse(tls, ctx+4, uint32(4))
 94225  	libc.Xmemcpy(tls, digest, ctx+4, uint64(16))
 94226  }
 94227  
 94228  func MD5DigestToBase16(tls *libc.TLS, digest uintptr, zBuf uintptr) {
 94229  	var i int32
 94230  	var j int32
 94231  
 94232  	for j = libc.AssignInt32(&i, 0); i < 16; i++ {
 94233  		var a int32 = int32(*(*uint8)(unsafe.Pointer(digest + uintptr(i))))
 94234  		*(*int8)(unsafe.Pointer(zBuf + uintptr(libc.PostIncInt32(&j, 1)))) = zEncode[a>>4&0xf]
 94235  		*(*int8)(unsafe.Pointer(zBuf + uintptr(libc.PostIncInt32(&j, 1)))) = zEncode[a&0xf]
 94236  	}
 94237  	*(*int8)(unsafe.Pointer(zBuf + uintptr(j))) = int8(0)
 94238  }
 94239  
 94240  var zEncode = *(*[17]int8)(unsafe.Pointer(ts + 30940))
 94241  
 94242  func MD5DigestToBase10x8(tls *libc.TLS, digest uintptr, zDigest uintptr) {
 94243  	bp := tls.Alloc(8)
 94244  	defer tls.Free(8)
 94245  
 94246  	var i int32
 94247  	var j int32
 94248  	var x uint32
 94249  	for i = libc.AssignInt32(&j, 0); i < 16; i = i + 2 {
 94250  		x = uint32(int32(*(*uint8)(unsafe.Pointer(digest + uintptr(i))))*256 + int32(*(*uint8)(unsafe.Pointer(digest + uintptr(i+1)))))
 94251  		if i > 0 {
 94252  			*(*int8)(unsafe.Pointer(zDigest + uintptr(libc.PostIncInt32(&j, 1)))) = int8('-')
 94253  		}
 94254  		sqlite3.Xsqlite3_snprintf(tls, 50-j, zDigest+uintptr(j), ts+34238, libc.VaList(bp, x))
 94255  		j = j + 5
 94256  	}
 94257  	*(*int8)(unsafe.Pointer(zDigest + uintptr(j))) = int8(0)
 94258  }
 94259  
 94260  func md5_cmd(tls *libc.TLS, cd uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 94261  	bp := tls.Alloc(206)
 94262  	defer tls.Free(206)
 94263  
 94264  	var converter uintptr
 94265  
 94266  	if argc != 2 {
 94267  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 94268  			ts+15307, uintptr(0)))
 94269  		return TCL_ERROR
 94270  	}
 94271  	MD5Init(tls, bp+48)
 94272  	MD5Update(tls, bp+48, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))))
 94273  	MD5Final(tls, bp+140, bp+48)
 94274  	converter = cd
 94275  	(*struct {
 94276  		f func(*libc.TLS, uintptr, uintptr)
 94277  	})(unsafe.Pointer(&struct{ uintptr }{converter})).f(tls, bp+140, bp+156)
 94278  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, bp+156, uintptr(0)))
 94279  	return TCL_OK
 94280  }
 94281  
 94282  func md5file_cmd(tls *libc.TLS, cd uintptr, interp uintptr, argc int32, argv uintptr) int32 {
 94283  	bp := tls.Alloc(10428)
 94284  	defer tls.Free(10428)
 94285  
 94286  	var in uintptr
 94287  	var ofst int32
 94288  	var amt int32
 94289  
 94290  	var converter uintptr
 94291  
 94292  	if argc != 2 && argc != 4 {
 94293  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+14949, *(*uintptr)(unsafe.Pointer(argv)),
 94294  			ts+34243, uintptr(0)))
 94295  		return TCL_ERROR
 94296  	}
 94297  	if argc == 4 {
 94298  		ofst = libc.Xatoi(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)))
 94299  		amt = libc.Xatoi(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8)))
 94300  	} else {
 94301  		ofst = 0
 94302  		amt = 2147483647
 94303  	}
 94304  	in = libc.Xfopen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)), ts+4402)
 94305  	if in == uintptr(0) {
 94306  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+34267, *(*uintptr)(unsafe.Pointer(argv + 1*8)),
 94307  			ts+34289, uintptr(0)))
 94308  		return TCL_ERROR
 94309  	}
 94310  	libc.Xfseek(tls, in, ofst, SEEK_SET)
 94311  	MD5Init(tls, bp+80)
 94312  	for amt > 0 {
 94313  		var n int32
 94314  		n = int32(libc.Xfread(tls, bp+172, uint64(1), func() uint64 {
 94315  			if uint64(unsafe.Sizeof([10240]int8{})) <= uint64(amt) {
 94316  				return uint64(unsafe.Sizeof([10240]int8{}))
 94317  			}
 94318  			return uint64(amt)
 94319  		}(), in))
 94320  		if n <= 0 {
 94321  			break
 94322  		}
 94323  		MD5Update(tls, bp+80, bp+172, uint32(n))
 94324  		amt = amt - n
 94325  	}
 94326  	libc.Xfclose(tls, in)
 94327  	MD5Final(tls, bp+10412, bp+80)
 94328  	converter = cd
 94329  	(*struct {
 94330  		f func(*libc.TLS, uintptr, uintptr)
 94331  	})(unsafe.Pointer(&struct{ uintptr }{converter})).f(tls, bp+10412, bp+172)
 94332  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, bp+172, uintptr(0)))
 94333  	return TCL_OK
 94334  }
 94335  
 94336  func Md5_Init(tls *libc.TLS, interp uintptr) int32 {
 94337  	tcl.XTcl_CreateCommand(tls, interp, ts+34303, *(*uintptr)(unsafe.Pointer(&struct {
 94338  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 94339  	}{md5_cmd})),
 94340  		*(*uintptr)(unsafe.Pointer(&struct {
 94341  			f func(*libc.TLS, uintptr, uintptr)
 94342  		}{MD5DigestToBase16})), uintptr(0))
 94343  	tcl.XTcl_CreateCommand(tls, interp, ts+34307, *(*uintptr)(unsafe.Pointer(&struct {
 94344  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 94345  	}{md5_cmd})),
 94346  		*(*uintptr)(unsafe.Pointer(&struct {
 94347  			f func(*libc.TLS, uintptr, uintptr)
 94348  		}{MD5DigestToBase10x8})), uintptr(0))
 94349  	tcl.XTcl_CreateCommand(tls, interp, ts+34316, *(*uintptr)(unsafe.Pointer(&struct {
 94350  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 94351  	}{md5file_cmd})),
 94352  		*(*uintptr)(unsafe.Pointer(&struct {
 94353  			f func(*libc.TLS, uintptr, uintptr)
 94354  		}{MD5DigestToBase16})), uintptr(0))
 94355  	tcl.XTcl_CreateCommand(tls, interp, ts+34324, *(*uintptr)(unsafe.Pointer(&struct {
 94356  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 94357  	}{md5file_cmd})),
 94358  		*(*uintptr)(unsafe.Pointer(&struct {
 94359  			f func(*libc.TLS, uintptr, uintptr)
 94360  		}{MD5DigestToBase10x8})), uintptr(0))
 94361  	return TCL_OK
 94362  }
 94363  
 94364  func md5step(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 94365  	var p uintptr
 94366  	var i int32
 94367  	if argc < 1 {
 94368  		return
 94369  	}
 94370  	p = sqlite3.Xsqlite3_aggregate_context(tls, context, int32(unsafe.Sizeof(MD5Context{})))
 94371  	if p == uintptr(0) {
 94372  		return
 94373  	}
 94374  	if !((*MD5Context)(unsafe.Pointer(p)).FisInit != 0) {
 94375  		MD5Init(tls, p)
 94376  	}
 94377  	for i = 0; i < argc; i++ {
 94378  		var zData uintptr = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))
 94379  		if zData != 0 {
 94380  			MD5Update(tls, p, zData, uint32(int32(libc.Xstrlen(tls, zData))))
 94381  		}
 94382  	}
 94383  }
 94384  
 94385  func md5finalize(tls *libc.TLS, context uintptr) {
 94386  	bp := tls.Alloc(49)
 94387  	defer tls.Free(49)
 94388  
 94389  	var p uintptr
 94390  
 94391  	p = sqlite3.Xsqlite3_aggregate_context(tls, context, int32(unsafe.Sizeof(MD5Context{})))
 94392  	MD5Final(tls, bp, p)
 94393  	MD5DigestToBase16(tls, bp, bp+16)
 94394  	sqlite3.Xsqlite3_result_text(tls, context, bp+16, -1, libc.UintptrFromInt32(-1))
 94395  }
 94396  
 94397  func Md5_Register(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pThunk uintptr) int32 {
 94398  	var rc int32 = sqlite3.Xsqlite3_create_function(tls, db, ts+34337, -1, SQLITE_UTF8, uintptr(0), uintptr(0),
 94399  		*(*uintptr)(unsafe.Pointer(&struct {
 94400  			f func(*libc.TLS, uintptr, int32, uintptr)
 94401  		}{md5step})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{md5finalize})))
 94402  	sqlite3.Xsqlite3_overload_function(tls, db, ts+34337, -1)
 94403  	return rc
 94404  }
 94405  
 94406  type multiplexGroup1 = struct {
 94407  	FaReal       uintptr
 94408  	FnReal       int32
 94409  	F__ccgo_pad1 [4]byte
 94410  	FzName       uintptr
 94411  	FnName       int32
 94412  	Fflags       int32
 94413  	FszChunk     uint32
 94414  	FbEnabled    uint8
 94415  	FbTruncate   uint8
 94416  	F__ccgo_pad2 [2]byte
 94417  }
 94418  
 94419  type multiplexGroup = multiplexGroup1
 94420  type multiplexConn1 = struct {
 94421  	Fbase   sqlite3_file
 94422  	FpGroup uintptr
 94423  }
 94424  
 94425  type multiplexConn = multiplexConn1
 94426  
 94427  type multiplexReal = struct {
 94428  	Fp uintptr
 94429  	Fz uintptr
 94430  }
 94431  
 94432  var gMultiplex struct {
 94433  	FpOrigVfs      uintptr
 94434  	FsThisVfs      sqlite3_vfs
 94435  	FsIoMethodsV1  sqlite3_io_methods
 94436  	FsIoMethodsV2  sqlite3_io_methods
 94437  	FisInitialized int32
 94438  	F__ccgo_pad1   [4]byte
 94439  }
 94440  
 94441  func multiplexStrlen30(tls *libc.TLS, z uintptr) int32 {
 94442  	var z2 uintptr = z
 94443  	if z == uintptr(0) {
 94444  		return 0
 94445  	}
 94446  	for *(*int8)(unsafe.Pointer(z2)) != 0 {
 94447  		z2++
 94448  	}
 94449  	return 0x3fffffff & int32((int64(z2)-int64(z))/1)
 94450  }
 94451  
 94452  func multiplexFilename(tls *libc.TLS, zBase uintptr, nBase int32, flags int32, iChunk int32, zOut uintptr) {
 94453  	bp := tls.Alloc(8)
 94454  	defer tls.Free(8)
 94455  
 94456  	var n int32 = nBase
 94457  	libc.Xmemcpy(tls, zOut, zBase, uint64(n+1))
 94458  	if iChunk != 0 && iChunk <= MX_CHUNK_NUMBER {
 94459  		sqlite3.Xsqlite3_snprintf(tls, 4, zOut+uintptr(n), ts+34344, libc.VaList(bp, iChunk))
 94460  		n = n + 3
 94461  	}
 94462  
 94463  	*(*int8)(unsafe.Pointer(zOut + uintptr(n+1))) = int8(0)
 94464  }
 94465  
 94466  func multiplexSubFilename(tls *libc.TLS, pGroup uintptr, iChunk int32) int32 {
 94467  	if iChunk >= (*multiplexGroup)(unsafe.Pointer(pGroup)).FnReal {
 94468  		var p uintptr
 94469  		p = sqlite3.Xsqlite3_realloc64(tls, (*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal, uint64(iChunk+1)*uint64(unsafe.Sizeof(multiplexReal{})))
 94470  		if p == uintptr(0) {
 94471  			return SQLITE_NOMEM
 94472  		}
 94473  		libc.Xmemset(tls, p+uintptr((*multiplexGroup)(unsafe.Pointer(pGroup)).FnReal)*16, 0, uint64(unsafe.Sizeof(multiplexReal{}))*uint64(iChunk+1-(*multiplexGroup)(unsafe.Pointer(pGroup)).FnReal))
 94474  		(*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal = p
 94475  		(*multiplexGroup)(unsafe.Pointer(pGroup)).FnReal = iChunk + 1
 94476  	}
 94477  	if (*multiplexGroup)(unsafe.Pointer(pGroup)).FzName != 0 && (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*16)).Fz == uintptr(0) {
 94478  		var z uintptr
 94479  		var n int32 = (*multiplexGroup)(unsafe.Pointer(pGroup)).FnName
 94480  		z = sqlite3.Xsqlite3_malloc64(tls, uint64(n+5))
 94481  		if z == uintptr(0) {
 94482  			return SQLITE_NOMEM
 94483  		}
 94484  		multiplexFilename(tls, (*multiplexGroup)(unsafe.Pointer(pGroup)).FzName, (*multiplexGroup)(unsafe.Pointer(pGroup)).FnName, (*multiplexGroup)(unsafe.Pointer(pGroup)).Fflags, iChunk, z)
 94485  		(*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal + uintptr(iChunk)*16)).Fz = sqlite3.Xsqlite3_create_filename(tls, z, ts+584, ts+584, 0, uintptr(0))
 94486  		sqlite3.Xsqlite3_free(tls, z)
 94487  		if (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*16)).Fz == uintptr(0) {
 94488  			return SQLITE_NOMEM
 94489  		}
 94490  	}
 94491  	return SQLITE_OK
 94492  }
 94493  
 94494  func multiplexSubOpen(tls *libc.TLS, pGroup uintptr, iChunk int32, rc uintptr, pOutFlags uintptr, createFlag int32) uintptr {
 94495  	bp := tls.Alloc(20)
 94496  	defer tls.Free(20)
 94497  
 94498  	var pSubOpen uintptr = uintptr(0)
 94499  	var pOrigVfs uintptr = gMultiplex.FpOrigVfs
 94500  
 94501  	*(*int32)(unsafe.Pointer(rc)) = multiplexSubFilename(tls, pGroup, iChunk)
 94502  	if *(*int32)(unsafe.Pointer(rc)) == SQLITE_OK && libc.AssignUintptr(&pSubOpen, (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*16)).Fp) == uintptr(0) {
 94503  		var flags int32
 94504  
 94505  		flags = (*multiplexGroup)(unsafe.Pointer(pGroup)).Fflags
 94506  		if createFlag != 0 {
 94507  			flags = flags | SQLITE_OPEN_CREATE
 94508  		} else if iChunk == 0 {
 94509  		} else if (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*16)).Fz == uintptr(0) {
 94510  			return uintptr(0)
 94511  		} else {
 94512  			*(*int32)(unsafe.Pointer(rc)) = (*struct {
 94513  				f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 94514  			})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pOrigVfs)).FxAccess})).f(tls, pOrigVfs, (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*16)).Fz,
 94515  				SQLITE_ACCESS_EXISTS, bp+16)
 94516  			if *(*int32)(unsafe.Pointer(rc)) != 0 || !(*(*int32)(unsafe.Pointer(bp + 16)) != 0) {
 94517  				if *(*int32)(unsafe.Pointer(rc)) != 0 {
 94518  					sqlite3.Xsqlite3_log(tls, *(*int32)(unsafe.Pointer(rc)), ts+34349,
 94519  						libc.VaList(bp, (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*16)).Fz))
 94520  				}
 94521  				return uintptr(0)
 94522  			}
 94523  			flags = flags & libc.CplInt32(SQLITE_OPEN_CREATE)
 94524  		}
 94525  		pSubOpen = sqlite3.Xsqlite3_malloc64(tls, uint64((*sqlite3_vfs)(unsafe.Pointer(pOrigVfs)).FszOsFile))
 94526  		if pSubOpen == uintptr(0) {
 94527  			*(*int32)(unsafe.Pointer(rc)) = SQLITE_IOERR | int32(12)<<8
 94528  			return uintptr(0)
 94529  		}
 94530  		(*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal + uintptr(iChunk)*16)).Fp = pSubOpen
 94531  		*(*int32)(unsafe.Pointer(rc)) = (*struct {
 94532  			f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32
 94533  		})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pOrigVfs)).FxOpen})).f(tls, pOrigVfs, (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*16)).Fz, pSubOpen,
 94534  			flags, pOutFlags)
 94535  		if *(*int32)(unsafe.Pointer(rc)) != SQLITE_OK {
 94536  			sqlite3.Xsqlite3_log(tls, *(*int32)(unsafe.Pointer(rc)), ts+34383,
 94537  				libc.VaList(bp+8, (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*16)).Fz))
 94538  			sqlite3.Xsqlite3_free(tls, pSubOpen)
 94539  			(*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal + uintptr(iChunk)*16)).Fp = uintptr(0)
 94540  			return uintptr(0)
 94541  		}
 94542  	}
 94543  	return pSubOpen
 94544  }
 94545  
 94546  func multiplexSubSize(tls *libc.TLS, pGroup uintptr, iChunk int32, rc uintptr) sqlite3_int64 {
 94547  	bp := tls.Alloc(8)
 94548  	defer tls.Free(8)
 94549  
 94550  	var pSub uintptr
 94551  	*(*sqlite3_int64)(unsafe.Pointer(bp)) = int64(0)
 94552  
 94553  	if *(*int32)(unsafe.Pointer(rc)) != 0 {
 94554  		return int64(0)
 94555  	}
 94556  	pSub = multiplexSubOpen(tls, pGroup, iChunk, rc, uintptr(0), 0)
 94557  	if pSub == uintptr(0) {
 94558  		return int64(0)
 94559  	}
 94560  	*(*int32)(unsafe.Pointer(rc)) = (*struct {
 94561  		f func(*libc.TLS, uintptr, uintptr) int32
 94562  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSub)).FpMethods)).FxFileSize})).f(tls, pSub, bp)
 94563  	return *(*sqlite3_int64)(unsafe.Pointer(bp))
 94564  }
 94565  
 94566  func multiplexControlFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) {
 94567  	bp := tls.Alloc(4)
 94568  	defer tls.Free(4)
 94569  
 94570  	var rc int32 = SQLITE_OK
 94571  	var db uintptr = sqlite3.Xsqlite3_context_db_handle(tls, context)
 94572  	var op int32 = 0
 94573  
 94574  	if !(db != 0) || argc != 2 {
 94575  		rc = SQLITE_ERROR
 94576  	} else {
 94577  		op = sqlite3.Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv)))
 94578  		*(*int32)(unsafe.Pointer(bp)) = sqlite3.Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))
 94579  
 94580  		switch op {
 94581  		case 1:
 94582  			op = MULTIPLEX_CTRL_ENABLE
 94583  			break
 94584  			fallthrough
 94585  		case 2:
 94586  			op = MULTIPLEX_CTRL_SET_CHUNK_SIZE
 94587  			break
 94588  			fallthrough
 94589  		case 3:
 94590  			op = MULTIPLEX_CTRL_SET_MAX_CHUNKS
 94591  			break
 94592  			fallthrough
 94593  		default:
 94594  			rc = SQLITE_NOTFOUND
 94595  			break
 94596  		}
 94597  	}
 94598  	if rc == SQLITE_OK {
 94599  		rc = sqlite3.Xsqlite3_file_control(tls, db, uintptr(0), op, bp)
 94600  	}
 94601  	sqlite3.Xsqlite3_result_error_code(tls, context, rc)
 94602  }
 94603  
 94604  func multiplexFuncInit(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi uintptr) int32 {
 94605  	var rc int32
 94606  	rc = sqlite3.Xsqlite3_create_function(tls, db, ts+34415, 2, SQLITE_ANY,
 94607  		uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
 94608  			f func(*libc.TLS, uintptr, int32, uintptr)
 94609  		}{multiplexControlFunc})), uintptr(0), uintptr(0))
 94610  	return rc
 94611  }
 94612  
 94613  func multiplexSubClose(tls *libc.TLS, pGroup uintptr, iChunk int32, pOrigVfs uintptr) {
 94614  	var pSubOpen uintptr = (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal + uintptr(iChunk)*16)).Fp
 94615  	if pSubOpen != 0 {
 94616  		(*struct {
 94617  			f func(*libc.TLS, uintptr) int32
 94618  		})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxClose})).f(tls, pSubOpen)
 94619  		if pOrigVfs != 0 && (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*16)).Fz != 0 {
 94620  			(*struct {
 94621  				f func(*libc.TLS, uintptr, uintptr, int32) int32
 94622  			})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pOrigVfs)).FxDelete})).f(tls, pOrigVfs, (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*16)).Fz, 0)
 94623  		}
 94624  		sqlite3.Xsqlite3_free(tls, (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*16)).Fp)
 94625  	}
 94626  	sqlite3.Xsqlite3_free_filename(tls, (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*16)).Fz)
 94627  	libc.Xmemset(tls, (*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*16, 0, uint64(unsafe.Sizeof(multiplexReal{})))
 94628  }
 94629  
 94630  func multiplexFreeComponents(tls *libc.TLS, pGroup uintptr) {
 94631  	var i int32
 94632  	for i = 0; i < (*multiplexGroup)(unsafe.Pointer(pGroup)).FnReal; i++ {
 94633  		multiplexSubClose(tls, pGroup, i, uintptr(0))
 94634  	}
 94635  	sqlite3.Xsqlite3_free(tls, (*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal)
 94636  	(*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal = uintptr(0)
 94637  	(*multiplexGroup)(unsafe.Pointer(pGroup)).FnReal = 0
 94638  }
 94639  
 94640  func multiplexOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pConn uintptr, flags int32, pOutFlags uintptr) int32 {
 94641  	bp := tls.Alloc(20)
 94642  	defer tls.Free(20)
 94643  
 94644  	*(*int32)(unsafe.Pointer(bp)) = SQLITE_OK
 94645  	var pMultiplexOpen uintptr
 94646  	var pGroup uintptr = uintptr(0)
 94647  	var pSubOpen uintptr = uintptr(0)
 94648  	var pOrigVfs uintptr = gMultiplex.FpOrigVfs
 94649  	var nName int32 = 0
 94650  	var sz int32 = 0
 94651  	var zToFree uintptr = uintptr(0)
 94652  
 94653  	_ = pVfs
 94654  	libc.Xmemset(tls, pConn, 0, uint64((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FszOsFile))
 94655  
 94656  	pMultiplexOpen = pConn
 94657  
 94658  	if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK {
 94659  		if zName != 0 {
 94660  			nName = multiplexStrlen30(tls, zName)
 94661  		} else {
 94662  			nName = 0
 94663  		}
 94664  		sz = int32(uint64(unsafe.Sizeof(multiplexGroup{})) +
 94665  			uint64(nName) + uint64(1))
 94666  		pGroup = sqlite3.Xsqlite3_malloc64(tls, uint64(sz))
 94667  		if pGroup == uintptr(0) {
 94668  			*(*int32)(unsafe.Pointer(bp)) = SQLITE_NOMEM
 94669  		}
 94670  	}
 94671  
 94672  	if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK {
 94673  		var zUri uintptr
 94674  		if flags&SQLITE_OPEN_URI != 0 {
 94675  			zUri = zName
 94676  		} else {
 94677  			zUri = uintptr(0)
 94678  		}
 94679  
 94680  		libc.Xmemset(tls, pGroup, 0, uint64(sz))
 94681  		(*multiplexConn)(unsafe.Pointer(pMultiplexOpen)).FpGroup = pGroup
 94682  		(*multiplexGroup)(unsafe.Pointer(pGroup)).FbEnabled = libc.Uint8(libc.Uint8FromInt32(-1))
 94683  		(*multiplexGroup)(unsafe.Pointer(pGroup)).FbTruncate = uint8(sqlite3.Xsqlite3_uri_boolean(tls, zUri, ts+18347,
 94684  			libc.Bool32(flags&SQLITE_OPEN_MAIN_DB == 0)))
 94685  		(*multiplexGroup)(unsafe.Pointer(pGroup)).FszChunk = uint32(int32(sqlite3.Xsqlite3_uri_int64(tls, zUri, ts+34433,
 94686  			int64(SQLITE_MULTIPLEX_CHUNK_SIZE))))
 94687  		(*multiplexGroup)(unsafe.Pointer(pGroup)).FszChunk = ((*multiplexGroup)(unsafe.Pointer(pGroup)).FszChunk + uint32(0xffff)) & libc.Uint32FromInt32(libc.CplInt32(0xffff))
 94688  		if zName != 0 {
 94689  			var p uintptr = pGroup + 1*40
 94690  			(*multiplexGroup)(unsafe.Pointer(pGroup)).FzName = p
 94691  			libc.Xmemcpy(tls, (*multiplexGroup)(unsafe.Pointer(pGroup)).FzName, zName, uint64(nName+1))
 94692  			(*multiplexGroup)(unsafe.Pointer(pGroup)).FnName = nName
 94693  		}
 94694  		if (*multiplexGroup)(unsafe.Pointer(pGroup)).FbEnabled != 0 {
 94695  			for uint32(sqlite3.Xsqlite3PendingByte)%(*multiplexGroup)(unsafe.Pointer(pGroup)).FszChunk >= (*multiplexGroup)(unsafe.Pointer(pGroup)).FszChunk-uint32(65536) {
 94696  				*(*uint32)(unsafe.Pointer(pGroup + 32)) += uint32(65536)
 94697  			}
 94698  		}
 94699  		(*multiplexGroup)(unsafe.Pointer(pGroup)).Fflags = flags & libc.CplInt32(SQLITE_OPEN_URI)
 94700  		*(*int32)(unsafe.Pointer(bp)) = multiplexSubFilename(tls, pGroup, 1)
 94701  		if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK {
 94702  			pSubOpen = multiplexSubOpen(tls, pGroup, 0, bp, pOutFlags, 0)
 94703  			if pSubOpen == uintptr(0) && *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK {
 94704  				*(*int32)(unsafe.Pointer(bp)) = SQLITE_CANTOPEN
 94705  			}
 94706  		}
 94707  		if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK {
 94708  			*(*int32)(unsafe.Pointer(bp)) = (*struct {
 94709  				f func(*libc.TLS, uintptr, uintptr) int32
 94710  			})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxFileSize})).f(tls, pSubOpen, bp+8)
 94711  			if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && zName != 0 {
 94712  				if flags&SQLITE_OPEN_SUPER_JOURNAL != 0 {
 94713  					(*multiplexGroup)(unsafe.Pointer(pGroup)).FbEnabled = uint8(0)
 94714  				} else if *(*sqlite3_int64)(unsafe.Pointer(bp + 8)) == int64(0) {
 94715  					if flags&SQLITE_OPEN_MAIN_JOURNAL != 0 {
 94716  						var iChunk int32 = 1
 94717  						for __ccgo := true; __ccgo; __ccgo = *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && *(*int32)(unsafe.Pointer(bp + 16)) != 0 {
 94718  							*(*int32)(unsafe.Pointer(bp)) = (*struct {
 94719  								f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 94720  							})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pOrigVfs)).FxAccess})).f(tls, pOrigVfs,
 94721  								(*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*16)).Fz, SQLITE_ACCESS_EXISTS, bp+16)
 94722  							if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && *(*int32)(unsafe.Pointer(bp + 16)) != 0 {
 94723  								*(*int32)(unsafe.Pointer(bp)) = (*struct {
 94724  									f func(*libc.TLS, uintptr, uintptr, int32) int32
 94725  								})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pOrigVfs)).FxDelete})).f(tls, pOrigVfs, (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*16)).Fz, 0)
 94726  								if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK {
 94727  									*(*int32)(unsafe.Pointer(bp)) = multiplexSubFilename(tls, pGroup, libc.PreIncInt32(&iChunk, 1))
 94728  								}
 94729  							}
 94730  						}
 94731  					}
 94732  				} else {
 94733  					*(*int32)(unsafe.Pointer(bp)) = (*struct {
 94734  						f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 94735  					})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pOrigVfs)).FxAccess})).f(tls, pOrigVfs, (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+1*16)).Fz,
 94736  						SQLITE_ACCESS_EXISTS, bp+16)
 94737  					*(*int32)(unsafe.Pointer(bp + 16)) = libc.Bool32(multiplexSubSize(tls, pGroup, 1, bp) > int64(0))
 94738  					if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && *(*int32)(unsafe.Pointer(bp + 16)) != 0 && *(*sqlite3_int64)(unsafe.Pointer(bp + 8)) == *(*sqlite3_int64)(unsafe.Pointer(bp + 8))&int64(0xffff0000) && *(*sqlite3_int64)(unsafe.Pointer(bp + 8)) > int64(0) &&
 94739  						*(*sqlite3_int64)(unsafe.Pointer(bp + 8)) != sqlite3_int64((*multiplexGroup)(unsafe.Pointer(pGroup)).FszChunk) {
 94740  						(*multiplexGroup)(unsafe.Pointer(pGroup)).FszChunk = uint32(int32(*(*sqlite3_int64)(unsafe.Pointer(bp + 8))))
 94741  					} else if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && !(*(*int32)(unsafe.Pointer(bp + 16)) != 0) && *(*sqlite3_int64)(unsafe.Pointer(bp + 8)) > sqlite3_int64((*multiplexGroup)(unsafe.Pointer(pGroup)).FszChunk) {
 94742  						(*multiplexGroup)(unsafe.Pointer(pGroup)).FbEnabled = uint8(0)
 94743  					}
 94744  				}
 94745  			}
 94746  		}
 94747  
 94748  		if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK {
 94749  			if (*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FiVersion == 1 {
 94750  				(*sqlite3_file)(unsafe.Pointer(pConn)).FpMethods = uintptr(unsafe.Pointer(&gMultiplex)) + 176
 94751  			} else {
 94752  				(*sqlite3_file)(unsafe.Pointer(pConn)).FpMethods = uintptr(unsafe.Pointer(&gMultiplex)) + 328
 94753  			}
 94754  		} else {
 94755  			multiplexFreeComponents(tls, pGroup)
 94756  			sqlite3.Xsqlite3_free(tls, pGroup)
 94757  		}
 94758  	}
 94759  	sqlite3.Xsqlite3_free(tls, zToFree)
 94760  	return *(*int32)(unsafe.Pointer(bp))
 94761  }
 94762  
 94763  func multiplexDelete(tls *libc.TLS, pVfs uintptr, zName uintptr, syncDir int32) int32 {
 94764  	bp := tls.Alloc(4)
 94765  	defer tls.Free(4)
 94766  
 94767  	var rc int32
 94768  	var pOrigVfs uintptr = gMultiplex.FpOrigVfs
 94769  	rc = (*struct {
 94770  		f func(*libc.TLS, uintptr, uintptr, int32) int32
 94771  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pOrigVfs)).FxDelete})).f(tls, pOrigVfs, zName, syncDir)
 94772  	if rc == SQLITE_OK {
 94773  		var nName int32 = int32(libc.Xstrlen(tls, zName))
 94774  		var z uintptr
 94775  		z = sqlite3.Xsqlite3_malloc64(tls, uint64(nName+5))
 94776  		if z == uintptr(0) {
 94777  			rc = SQLITE_IOERR | int32(12)<<8
 94778  		} else {
 94779  			var iChunk int32 = 0
 94780  
 94781  			for __ccgo := true; __ccgo; __ccgo = rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp)) != 0 {
 94782  				multiplexFilename(tls, zName, nName, SQLITE_OPEN_MAIN_JOURNAL, libc.PreIncInt32(&iChunk, 1), z)
 94783  				rc = (*struct {
 94784  					f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 94785  				})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pOrigVfs)).FxAccess})).f(tls, pOrigVfs, z, SQLITE_ACCESS_EXISTS, bp)
 94786  			}
 94787  			for rc == SQLITE_OK && iChunk > 1 {
 94788  				multiplexFilename(tls, zName, nName, SQLITE_OPEN_MAIN_JOURNAL, libc.PreDecInt32(&iChunk, 1), z)
 94789  				rc = (*struct {
 94790  					f func(*libc.TLS, uintptr, uintptr, int32) int32
 94791  				})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pOrigVfs)).FxDelete})).f(tls, pOrigVfs, z, syncDir)
 94792  			}
 94793  			if rc == SQLITE_OK {
 94794  				iChunk = 0
 94795  				for __ccgo1 := true; __ccgo1; __ccgo1 = rc == SQLITE_OK && *(*int32)(unsafe.Pointer(bp)) != 0 {
 94796  					multiplexFilename(tls, zName, nName, SQLITE_OPEN_WAL, libc.PreIncInt32(&iChunk, 1), z)
 94797  					rc = (*struct {
 94798  						f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 94799  					})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pOrigVfs)).FxAccess})).f(tls, pOrigVfs, z, SQLITE_ACCESS_EXISTS, bp)
 94800  				}
 94801  				for rc == SQLITE_OK && iChunk > 1 {
 94802  					multiplexFilename(tls, zName, nName, SQLITE_OPEN_WAL, libc.PreDecInt32(&iChunk, 1), z)
 94803  					rc = (*struct {
 94804  						f func(*libc.TLS, uintptr, uintptr, int32) int32
 94805  					})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pOrigVfs)).FxDelete})).f(tls, pOrigVfs, z, syncDir)
 94806  				}
 94807  			}
 94808  		}
 94809  		sqlite3.Xsqlite3_free(tls, z)
 94810  	}
 94811  	return rc
 94812  }
 94813  
 94814  func multiplexAccess(tls *libc.TLS, a uintptr, b uintptr, c int32, d uintptr) int32 {
 94815  	return (*struct {
 94816  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 94817  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(gMultiplex.FpOrigVfs)).FxAccess})).f(tls, gMultiplex.FpOrigVfs, b, c, d)
 94818  }
 94819  
 94820  func multiplexFullPathname(tls *libc.TLS, a uintptr, b uintptr, c int32, d uintptr) int32 {
 94821  	return (*struct {
 94822  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 94823  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(gMultiplex.FpOrigVfs)).FxFullPathname})).f(tls, gMultiplex.FpOrigVfs, b, c, d)
 94824  }
 94825  
 94826  func multiplexDlOpen(tls *libc.TLS, a uintptr, b uintptr) uintptr {
 94827  	return (*struct {
 94828  		f func(*libc.TLS, uintptr, uintptr) uintptr
 94829  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(gMultiplex.FpOrigVfs)).FxDlOpen})).f(tls, gMultiplex.FpOrigVfs, b)
 94830  }
 94831  
 94832  func multiplexDlError(tls *libc.TLS, a uintptr, b int32, c uintptr) {
 94833  	(*struct {
 94834  		f func(*libc.TLS, uintptr, int32, uintptr)
 94835  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(gMultiplex.FpOrigVfs)).FxDlError})).f(tls, gMultiplex.FpOrigVfs, b, c)
 94836  }
 94837  
 94838  func multiplexDlSym(tls *libc.TLS, a uintptr, b uintptr, c uintptr) uintptr {
 94839  	return (*struct {
 94840  		f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr
 94841  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(gMultiplex.FpOrigVfs)).FxDlSym})).f(tls, gMultiplex.FpOrigVfs, b, c)
 94842  }
 94843  
 94844  func multiplexDlClose(tls *libc.TLS, a uintptr, b uintptr) {
 94845  	(*struct {
 94846  		f func(*libc.TLS, uintptr, uintptr)
 94847  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(gMultiplex.FpOrigVfs)).FxDlClose})).f(tls, gMultiplex.FpOrigVfs, b)
 94848  }
 94849  
 94850  func multiplexRandomness(tls *libc.TLS, a uintptr, b int32, c uintptr) int32 {
 94851  	return (*struct {
 94852  		f func(*libc.TLS, uintptr, int32, uintptr) int32
 94853  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(gMultiplex.FpOrigVfs)).FxRandomness})).f(tls, gMultiplex.FpOrigVfs, b, c)
 94854  }
 94855  
 94856  func multiplexSleep(tls *libc.TLS, a uintptr, b int32) int32 {
 94857  	return (*struct {
 94858  		f func(*libc.TLS, uintptr, int32) int32
 94859  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(gMultiplex.FpOrigVfs)).FxSleep})).f(tls, gMultiplex.FpOrigVfs, b)
 94860  }
 94861  
 94862  func multiplexCurrentTime(tls *libc.TLS, a uintptr, b uintptr) int32 {
 94863  	return (*struct {
 94864  		f func(*libc.TLS, uintptr, uintptr) int32
 94865  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(gMultiplex.FpOrigVfs)).FxCurrentTime})).f(tls, gMultiplex.FpOrigVfs, b)
 94866  }
 94867  
 94868  func multiplexGetLastError(tls *libc.TLS, a uintptr, b int32, c uintptr) int32 {
 94869  	if (*sqlite3_vfs)(unsafe.Pointer(gMultiplex.FpOrigVfs)).FxGetLastError != 0 {
 94870  		return (*struct {
 94871  			f func(*libc.TLS, uintptr, int32, uintptr) int32
 94872  		})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(gMultiplex.FpOrigVfs)).FxGetLastError})).f(tls, gMultiplex.FpOrigVfs, b, c)
 94873  	} else {
 94874  		return 0
 94875  	}
 94876  	return int32(0)
 94877  }
 94878  
 94879  func multiplexCurrentTimeInt64(tls *libc.TLS, a uintptr, b uintptr) int32 {
 94880  	return (*struct {
 94881  		f func(*libc.TLS, uintptr, uintptr) int32
 94882  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(gMultiplex.FpOrigVfs)).FxCurrentTimeInt64})).f(tls, gMultiplex.FpOrigVfs, b)
 94883  }
 94884  
 94885  func multiplexClose(tls *libc.TLS, pConn uintptr) int32 {
 94886  	var p uintptr = pConn
 94887  	var pGroup uintptr = (*multiplexConn)(unsafe.Pointer(p)).FpGroup
 94888  	var rc int32 = SQLITE_OK
 94889  	multiplexFreeComponents(tls, pGroup)
 94890  	sqlite3.Xsqlite3_free(tls, pGroup)
 94891  	return rc
 94892  }
 94893  
 94894  func multiplexRead(tls *libc.TLS, pConn uintptr, pBuf uintptr, iAmt int32, iOfst sqlite3_int64) int32 {
 94895  	bp := tls.Alloc(4)
 94896  	defer tls.Free(4)
 94897  
 94898  	var p uintptr = pConn
 94899  	var pGroup uintptr = (*multiplexConn)(unsafe.Pointer(p)).FpGroup
 94900  	*(*int32)(unsafe.Pointer(bp)) = SQLITE_OK
 94901  	if !(int32((*multiplexGroup)(unsafe.Pointer(pGroup)).FbEnabled) != 0) {
 94902  		var pSubOpen uintptr = multiplexSubOpen(tls, pGroup, 0, bp, uintptr(0), 0)
 94903  		if pSubOpen == uintptr(0) {
 94904  			*(*int32)(unsafe.Pointer(bp)) = SQLITE_IOERR | int32(1)<<8
 94905  		} else {
 94906  			*(*int32)(unsafe.Pointer(bp)) = (*struct {
 94907  				f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32
 94908  			})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxRead})).f(tls, pSubOpen, pBuf, iAmt, iOfst)
 94909  		}
 94910  	} else {
 94911  		for iAmt > 0 {
 94912  			var i int32 = int32(iOfst / sqlite3_int64((*multiplexGroup)(unsafe.Pointer(pGroup)).FszChunk))
 94913  			var pSubOpen uintptr
 94914  			pSubOpen = multiplexSubOpen(tls, pGroup, i, bp, uintptr(0), 1)
 94915  			if pSubOpen != 0 {
 94916  				var extra int32 = int32(uint32(int32(iOfst%sqlite3_int64((*multiplexGroup)(unsafe.Pointer(pGroup)).FszChunk))+iAmt) - (*multiplexGroup)(unsafe.Pointer(pGroup)).FszChunk)
 94917  				if extra < 0 {
 94918  					extra = 0
 94919  				}
 94920  				iAmt = iAmt - extra
 94921  				*(*int32)(unsafe.Pointer(bp)) = (*struct {
 94922  					f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32
 94923  				})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxRead})).f(tls, pSubOpen, pBuf, iAmt,
 94924  					iOfst%sqlite3_int64((*multiplexGroup)(unsafe.Pointer(pGroup)).FszChunk))
 94925  				if *(*int32)(unsafe.Pointer(bp)) != SQLITE_OK {
 94926  					break
 94927  				}
 94928  				pBuf = pBuf + uintptr(iAmt)
 94929  				iOfst = iOfst + sqlite3_int64(iAmt)
 94930  				iAmt = extra
 94931  			} else {
 94932  				*(*int32)(unsafe.Pointer(bp)) = SQLITE_IOERR | int32(1)<<8
 94933  				break
 94934  			}
 94935  		}
 94936  	}
 94937  
 94938  	return *(*int32)(unsafe.Pointer(bp))
 94939  }
 94940  
 94941  func multiplexWrite(tls *libc.TLS, pConn uintptr, pBuf uintptr, iAmt int32, iOfst sqlite3_int64) int32 {
 94942  	bp := tls.Alloc(4)
 94943  	defer tls.Free(4)
 94944  
 94945  	var p uintptr = pConn
 94946  	var pGroup uintptr = (*multiplexConn)(unsafe.Pointer(p)).FpGroup
 94947  	*(*int32)(unsafe.Pointer(bp)) = SQLITE_OK
 94948  	if !(int32((*multiplexGroup)(unsafe.Pointer(pGroup)).FbEnabled) != 0) {
 94949  		var pSubOpen uintptr = multiplexSubOpen(tls, pGroup, 0, bp, uintptr(0), 0)
 94950  		if pSubOpen == uintptr(0) {
 94951  			*(*int32)(unsafe.Pointer(bp)) = SQLITE_IOERR | int32(3)<<8
 94952  		} else {
 94953  			*(*int32)(unsafe.Pointer(bp)) = (*struct {
 94954  				f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32
 94955  			})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxWrite})).f(tls, pSubOpen, pBuf, iAmt, iOfst)
 94956  		}
 94957  	} else {
 94958  		for *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && iAmt > 0 {
 94959  			var i int32 = int32(iOfst / sqlite3_int64((*multiplexGroup)(unsafe.Pointer(pGroup)).FszChunk))
 94960  			var pSubOpen uintptr = multiplexSubOpen(tls, pGroup, i, bp, uintptr(0), 1)
 94961  			if pSubOpen != 0 {
 94962  				var extra int32 = int32(uint32(int32(iOfst%sqlite3_int64((*multiplexGroup)(unsafe.Pointer(pGroup)).FszChunk))+iAmt) - (*multiplexGroup)(unsafe.Pointer(pGroup)).FszChunk)
 94963  				if extra < 0 {
 94964  					extra = 0
 94965  				}
 94966  				iAmt = iAmt - extra
 94967  				*(*int32)(unsafe.Pointer(bp)) = (*struct {
 94968  					f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32
 94969  				})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxWrite})).f(tls, pSubOpen, pBuf, iAmt,
 94970  					iOfst%sqlite3_int64((*multiplexGroup)(unsafe.Pointer(pGroup)).FszChunk))
 94971  				pBuf = pBuf + uintptr(iAmt)
 94972  				iOfst = iOfst + sqlite3_int64(iAmt)
 94973  				iAmt = extra
 94974  			}
 94975  		}
 94976  	}
 94977  	return *(*int32)(unsafe.Pointer(bp))
 94978  }
 94979  
 94980  func multiplexTruncate(tls *libc.TLS, pConn uintptr, size sqlite3_int64) int32 {
 94981  	bp := tls.Alloc(4)
 94982  	defer tls.Free(4)
 94983  
 94984  	var p uintptr = pConn
 94985  	var pGroup uintptr = (*multiplexConn)(unsafe.Pointer(p)).FpGroup
 94986  	*(*int32)(unsafe.Pointer(bp)) = SQLITE_OK
 94987  	if !(int32((*multiplexGroup)(unsafe.Pointer(pGroup)).FbEnabled) != 0) {
 94988  		var pSubOpen uintptr = multiplexSubOpen(tls, pGroup, 0, bp, uintptr(0), 0)
 94989  		if pSubOpen == uintptr(0) {
 94990  			*(*int32)(unsafe.Pointer(bp)) = SQLITE_IOERR | int32(6)<<8
 94991  		} else {
 94992  			*(*int32)(unsafe.Pointer(bp)) = (*struct {
 94993  				f func(*libc.TLS, uintptr, sqlite3_int64) int32
 94994  			})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxTruncate})).f(tls, pSubOpen, size)
 94995  		}
 94996  	} else {
 94997  		var i int32
 94998  		var iBaseGroup int32 = int32(size / sqlite3_int64((*multiplexGroup)(unsafe.Pointer(pGroup)).FszChunk))
 94999  		var pSubOpen uintptr
 95000  		var pOrigVfs uintptr = gMultiplex.FpOrigVfs
 95001  
 95002  		for i = (*multiplexGroup)(unsafe.Pointer(pGroup)).FnReal - 1; i > iBaseGroup && *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK; i-- {
 95003  			if (*multiplexGroup)(unsafe.Pointer(pGroup)).FbTruncate != 0 {
 95004  				multiplexSubClose(tls, pGroup, i, pOrigVfs)
 95005  			} else {
 95006  				pSubOpen = multiplexSubOpen(tls, pGroup, i, bp, uintptr(0), 0)
 95007  				if pSubOpen != 0 {
 95008  					*(*int32)(unsafe.Pointer(bp)) = (*struct {
 95009  						f func(*libc.TLS, uintptr, sqlite3_int64) int32
 95010  					})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxTruncate})).f(tls, pSubOpen, int64(0))
 95011  				}
 95012  			}
 95013  		}
 95014  		if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK {
 95015  			pSubOpen = multiplexSubOpen(tls, pGroup, iBaseGroup, bp, uintptr(0), 0)
 95016  			if pSubOpen != 0 {
 95017  				*(*int32)(unsafe.Pointer(bp)) = (*struct {
 95018  					f func(*libc.TLS, uintptr, sqlite3_int64) int32
 95019  				})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxTruncate})).f(tls, pSubOpen, size%sqlite3_int64((*multiplexGroup)(unsafe.Pointer(pGroup)).FszChunk))
 95020  			}
 95021  		}
 95022  		if *(*int32)(unsafe.Pointer(bp)) != 0 {
 95023  			*(*int32)(unsafe.Pointer(bp)) = SQLITE_IOERR | int32(6)<<8
 95024  		}
 95025  	}
 95026  	return *(*int32)(unsafe.Pointer(bp))
 95027  }
 95028  
 95029  func multiplexSync(tls *libc.TLS, pConn uintptr, flags int32) int32 {
 95030  	var p uintptr = pConn
 95031  	var pGroup uintptr = (*multiplexConn)(unsafe.Pointer(p)).FpGroup
 95032  	var rc int32 = SQLITE_OK
 95033  	var i int32
 95034  	for i = 0; i < (*multiplexGroup)(unsafe.Pointer(pGroup)).FnReal; i++ {
 95035  		var pSubOpen uintptr = (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal + uintptr(i)*16)).Fp
 95036  		if pSubOpen != 0 {
 95037  			var rc2 int32 = (*struct {
 95038  				f func(*libc.TLS, uintptr, int32) int32
 95039  			})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxSync})).f(tls, pSubOpen, flags)
 95040  			if rc2 != SQLITE_OK {
 95041  				rc = rc2
 95042  			}
 95043  		}
 95044  	}
 95045  	return rc
 95046  }
 95047  
 95048  func multiplexFileSize(tls *libc.TLS, pConn uintptr, pSize uintptr) int32 {
 95049  	bp := tls.Alloc(4)
 95050  	defer tls.Free(4)
 95051  
 95052  	var p uintptr = pConn
 95053  	var pGroup uintptr = (*multiplexConn)(unsafe.Pointer(p)).FpGroup
 95054  	*(*int32)(unsafe.Pointer(bp)) = SQLITE_OK
 95055  	var i int32
 95056  	if !(int32((*multiplexGroup)(unsafe.Pointer(pGroup)).FbEnabled) != 0) {
 95057  		var pSubOpen uintptr = multiplexSubOpen(tls, pGroup, 0, bp, uintptr(0), 0)
 95058  		if pSubOpen == uintptr(0) {
 95059  			*(*int32)(unsafe.Pointer(bp)) = SQLITE_IOERR | int32(7)<<8
 95060  		} else {
 95061  			*(*int32)(unsafe.Pointer(bp)) = (*struct {
 95062  				f func(*libc.TLS, uintptr, uintptr) int32
 95063  			})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxFileSize})).f(tls, pSubOpen, pSize)
 95064  		}
 95065  	} else {
 95066  		*(*sqlite3_int64)(unsafe.Pointer(pSize)) = int64(0)
 95067  		for i = 0; *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK; i++ {
 95068  			var sz sqlite3_int64 = multiplexSubSize(tls, pGroup, i, bp)
 95069  			if sz == int64(0) {
 95070  				break
 95071  			}
 95072  			*(*sqlite3_int64)(unsafe.Pointer(pSize)) = sqlite3_int64(i)*sqlite3_int64((*multiplexGroup)(unsafe.Pointer(pGroup)).FszChunk) + sz
 95073  		}
 95074  	}
 95075  	return *(*int32)(unsafe.Pointer(bp))
 95076  }
 95077  
 95078  func multiplexLock(tls *libc.TLS, pConn uintptr, lock int32) int32 {
 95079  	bp := tls.Alloc(4)
 95080  	defer tls.Free(4)
 95081  
 95082  	var p uintptr = pConn
 95083  
 95084  	var pSubOpen uintptr = multiplexSubOpen(tls, (*multiplexConn)(unsafe.Pointer(p)).FpGroup, 0, bp, uintptr(0), 0)
 95085  	if pSubOpen != 0 {
 95086  		return (*struct {
 95087  			f func(*libc.TLS, uintptr, int32) int32
 95088  		})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxLock})).f(tls, pSubOpen, lock)
 95089  	}
 95090  	return SQLITE_BUSY
 95091  }
 95092  
 95093  func multiplexUnlock(tls *libc.TLS, pConn uintptr, lock int32) int32 {
 95094  	bp := tls.Alloc(4)
 95095  	defer tls.Free(4)
 95096  
 95097  	var p uintptr = pConn
 95098  
 95099  	var pSubOpen uintptr = multiplexSubOpen(tls, (*multiplexConn)(unsafe.Pointer(p)).FpGroup, 0, bp, uintptr(0), 0)
 95100  	if pSubOpen != 0 {
 95101  		return (*struct {
 95102  			f func(*libc.TLS, uintptr, int32) int32
 95103  		})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxUnlock})).f(tls, pSubOpen, lock)
 95104  	}
 95105  	return SQLITE_IOERR | int32(8)<<8
 95106  }
 95107  
 95108  func multiplexCheckReservedLock(tls *libc.TLS, pConn uintptr, pResOut uintptr) int32 {
 95109  	bp := tls.Alloc(4)
 95110  	defer tls.Free(4)
 95111  
 95112  	var p uintptr = pConn
 95113  
 95114  	var pSubOpen uintptr = multiplexSubOpen(tls, (*multiplexConn)(unsafe.Pointer(p)).FpGroup, 0, bp, uintptr(0), 0)
 95115  	if pSubOpen != 0 {
 95116  		return (*struct {
 95117  			f func(*libc.TLS, uintptr, uintptr) int32
 95118  		})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxCheckReservedLock})).f(tls, pSubOpen, pResOut)
 95119  	}
 95120  	return SQLITE_IOERR | int32(14)<<8
 95121  }
 95122  
 95123  func multiplexFileControl(tls *libc.TLS, pConn uintptr, op int32, pArg uintptr) int32 {
 95124  	bp := tls.Alloc(44)
 95125  	defer tls.Free(44)
 95126  
 95127  	var p uintptr = pConn
 95128  	var pGroup uintptr = (*multiplexConn)(unsafe.Pointer(p)).FpGroup
 95129  	*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_ERROR
 95130  	var pSubOpen uintptr
 95131  
 95132  	if !(gMultiplex.FisInitialized != 0) {
 95133  		return SQLITE_MISUSE
 95134  	}
 95135  	switch op {
 95136  	case MULTIPLEX_CTRL_ENABLE:
 95137  		if pArg != 0 {
 95138  			var bEnabled int32 = *(*int32)(unsafe.Pointer(pArg))
 95139  			(*multiplexGroup)(unsafe.Pointer(pGroup)).FbEnabled = uint8(bEnabled)
 95140  			*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_OK
 95141  		}
 95142  		break
 95143  	case MULTIPLEX_CTRL_SET_CHUNK_SIZE:
 95144  		if pArg != 0 {
 95145  			var szChunk uint32 = *(*uint32)(unsafe.Pointer(pArg))
 95146  			if szChunk < uint32(1) {
 95147  				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_MISUSE
 95148  			} else {
 95149  				szChunk = szChunk + uint32(MAX_PAGE_SIZE-1)
 95150  				szChunk = szChunk & libc.Uint32FromInt32(libc.CplInt32(MAX_PAGE_SIZE-1))
 95151  				(*multiplexGroup)(unsafe.Pointer(pGroup)).FszChunk = szChunk
 95152  				*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_OK
 95153  			}
 95154  		}
 95155  		break
 95156  	case MULTIPLEX_CTRL_SET_MAX_CHUNKS:
 95157  		*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_OK
 95158  		break
 95159  	case SQLITE_FCNTL_SIZE_HINT:
 95160  		fallthrough
 95161  	case SQLITE_FCNTL_CHUNK_SIZE:
 95162  		*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_OK
 95163  		break
 95164  	case SQLITE_FCNTL_PRAGMA:
 95165  		{
 95166  			var aFcntl uintptr = pArg
 95167  
 95168  			if *(*uintptr)(unsafe.Pointer(aFcntl + 1*8)) != 0 && sqlite3.Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(aFcntl + 1*8)), ts+34443, 10) == 0 {
 95169  				*(*sqlite3_int64)(unsafe.Pointer(bp + 32)) = int64(0)
 95170  				multiplexFileSize(tls, pConn, bp+32)
 95171  
 95172  				if sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(aFcntl + 1*8)), ts+34454) == 0 {
 95173  					if *(*uintptr)(unsafe.Pointer(aFcntl + 2*8)) != 0 && *(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(aFcntl + 2*8)))) != 0 {
 95174  						if sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(aFcntl + 2*8)), ts+4178) == 0 ||
 95175  							sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(aFcntl + 2*8)), ts+28653) == 0 {
 95176  							(*multiplexGroup)(unsafe.Pointer(pGroup)).FbTruncate = uint8(1)
 95177  						} else if sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(aFcntl + 2*8)), ts+4542) == 0 ||
 95178  							sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(aFcntl + 2*8)), ts+14193) == 0 {
 95179  							(*multiplexGroup)(unsafe.Pointer(pGroup)).FbTruncate = uint8(0)
 95180  						}
 95181  					}
 95182  
 95183  					*(*uintptr)(unsafe.Pointer(aFcntl)) = sqlite3.Xsqlite3_mprintf(tls, func() uintptr {
 95184  						if (*multiplexGroup)(unsafe.Pointer(pGroup)).FbTruncate != 0 {
 95185  							return ts + 4178
 95186  						}
 95187  						return ts + 4542
 95188  					}(), 0)
 95189  					*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_OK
 95190  					break
 95191  				}
 95192  
 95193  				if sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(aFcntl + 1*8)), ts+34473) == 0 {
 95194  					*(*uintptr)(unsafe.Pointer(aFcntl)) = sqlite3.Xsqlite3_mprintf(tls, ts+1333, libc.VaList(bp, libc.Bool32(int32((*multiplexGroup)(unsafe.Pointer(pGroup)).FbEnabled) != 0)))
 95195  					*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_OK
 95196  					break
 95197  				}
 95198  
 95199  				if sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(aFcntl + 1*8)), ts+34491) == 0 &&
 95200  					(*multiplexGroup)(unsafe.Pointer(pGroup)).FbEnabled != 0 {
 95201  					*(*uintptr)(unsafe.Pointer(aFcntl)) = sqlite3.Xsqlite3_mprintf(tls, ts+17791, libc.VaList(bp+8, (*multiplexGroup)(unsafe.Pointer(pGroup)).FszChunk))
 95202  					*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_OK
 95203  					break
 95204  				}
 95205  
 95206  				if sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(aFcntl + 1*8)), ts+34511) == 0 {
 95207  					var n int32 = 0
 95208  					var ii int32
 95209  					for ii = 0; ii < (*multiplexGroup)(unsafe.Pointer(pGroup)).FnReal; ii++ {
 95210  						if (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(ii)*16)).Fp != uintptr(0) {
 95211  							n++
 95212  						}
 95213  					}
 95214  					*(*uintptr)(unsafe.Pointer(aFcntl)) = sqlite3.Xsqlite3_mprintf(tls, ts+1333, libc.VaList(bp+16, n))
 95215  					*(*int32)(unsafe.Pointer(bp + 40)) = SQLITE_OK
 95216  					break
 95217  				}
 95218  			}
 95219  
 95220  		}
 95221  		fallthrough
 95222  	default:
 95223  		pSubOpen = multiplexSubOpen(tls, pGroup, 0, bp+40, uintptr(0), 0)
 95224  		if pSubOpen != 0 {
 95225  			*(*int32)(unsafe.Pointer(bp + 40)) = (*struct {
 95226  				f func(*libc.TLS, uintptr, int32, uintptr) int32
 95227  			})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxFileControl})).f(tls, pSubOpen, op, pArg)
 95228  			if op == SQLITE_FCNTL_VFSNAME && *(*int32)(unsafe.Pointer(bp + 40)) == SQLITE_OK {
 95229  				*(*uintptr)(unsafe.Pointer(pArg)) = sqlite3.Xsqlite3_mprintf(tls, ts+34531, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(pArg))))
 95230  			}
 95231  		}
 95232  		break
 95233  	}
 95234  	return *(*int32)(unsafe.Pointer(bp + 40))
 95235  }
 95236  
 95237  func multiplexSectorSize(tls *libc.TLS, pConn uintptr) int32 {
 95238  	bp := tls.Alloc(4)
 95239  	defer tls.Free(4)
 95240  
 95241  	var p uintptr = pConn
 95242  
 95243  	var pSubOpen uintptr = multiplexSubOpen(tls, (*multiplexConn)(unsafe.Pointer(p)).FpGroup, 0, bp, uintptr(0), 0)
 95244  	if pSubOpen != 0 && (*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxSectorSize != 0 {
 95245  		return (*struct {
 95246  			f func(*libc.TLS, uintptr) int32
 95247  		})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxSectorSize})).f(tls, pSubOpen)
 95248  	}
 95249  	return DEFAULT_SECTOR_SIZE
 95250  }
 95251  
 95252  func multiplexDeviceCharacteristics(tls *libc.TLS, pConn uintptr) int32 {
 95253  	bp := tls.Alloc(4)
 95254  	defer tls.Free(4)
 95255  
 95256  	var p uintptr = pConn
 95257  
 95258  	var pSubOpen uintptr = multiplexSubOpen(tls, (*multiplexConn)(unsafe.Pointer(p)).FpGroup, 0, bp, uintptr(0), 0)
 95259  	if pSubOpen != 0 {
 95260  		return (*struct {
 95261  			f func(*libc.TLS, uintptr) int32
 95262  		})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxDeviceCharacteristics})).f(tls, pSubOpen)
 95263  	}
 95264  	return 0
 95265  }
 95266  
 95267  func multiplexShmMap(tls *libc.TLS, pConn uintptr, iRegion int32, szRegion int32, bExtend int32, pp uintptr) int32 {
 95268  	bp := tls.Alloc(4)
 95269  	defer tls.Free(4)
 95270  
 95271  	var p uintptr = pConn
 95272  
 95273  	var pSubOpen uintptr = multiplexSubOpen(tls, (*multiplexConn)(unsafe.Pointer(p)).FpGroup, 0, bp, uintptr(0), 0)
 95274  	if pSubOpen != 0 {
 95275  		return (*struct {
 95276  			f func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32
 95277  		})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxShmMap})).f(tls, pSubOpen, iRegion, szRegion, bExtend, pp)
 95278  	}
 95279  	return SQLITE_IOERR
 95280  }
 95281  
 95282  func multiplexShmLock(tls *libc.TLS, pConn uintptr, ofst int32, n int32, flags int32) int32 {
 95283  	bp := tls.Alloc(4)
 95284  	defer tls.Free(4)
 95285  
 95286  	var p uintptr = pConn
 95287  
 95288  	var pSubOpen uintptr = multiplexSubOpen(tls, (*multiplexConn)(unsafe.Pointer(p)).FpGroup, 0, bp, uintptr(0), 0)
 95289  	if pSubOpen != 0 {
 95290  		return (*struct {
 95291  			f func(*libc.TLS, uintptr, int32, int32, int32) int32
 95292  		})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxShmLock})).f(tls, pSubOpen, ofst, n, flags)
 95293  	}
 95294  	return SQLITE_BUSY
 95295  }
 95296  
 95297  func multiplexShmBarrier(tls *libc.TLS, pConn uintptr) {
 95298  	bp := tls.Alloc(4)
 95299  	defer tls.Free(4)
 95300  
 95301  	var p uintptr = pConn
 95302  
 95303  	var pSubOpen uintptr = multiplexSubOpen(tls, (*multiplexConn)(unsafe.Pointer(p)).FpGroup, 0, bp, uintptr(0), 0)
 95304  	if pSubOpen != 0 {
 95305  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxShmBarrier})).f(tls, pSubOpen)
 95306  	}
 95307  }
 95308  
 95309  func multiplexShmUnmap(tls *libc.TLS, pConn uintptr, deleteFlag int32) int32 {
 95310  	bp := tls.Alloc(4)
 95311  	defer tls.Free(4)
 95312  
 95313  	var p uintptr = pConn
 95314  
 95315  	var pSubOpen uintptr = multiplexSubOpen(tls, (*multiplexConn)(unsafe.Pointer(p)).FpGroup, 0, bp, uintptr(0), 0)
 95316  	if pSubOpen != 0 {
 95317  		return (*struct {
 95318  			f func(*libc.TLS, uintptr, int32) int32
 95319  		})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxShmUnmap})).f(tls, pSubOpen, deleteFlag)
 95320  	}
 95321  	return SQLITE_OK
 95322  }
 95323  
 95324  func sqlite3_multiplex_initialize(tls *libc.TLS, zOrigVfsName uintptr, makeDefault int32) int32 {
 95325  	var pOrigVfs uintptr
 95326  	if gMultiplex.FisInitialized != 0 {
 95327  		return SQLITE_MISUSE
 95328  	}
 95329  	pOrigVfs = sqlite3.Xsqlite3_vfs_find(tls, zOrigVfsName)
 95330  	if pOrigVfs == uintptr(0) {
 95331  		return SQLITE_ERROR
 95332  	}
 95333  
 95334  	gMultiplex.FisInitialized = 1
 95335  	gMultiplex.FpOrigVfs = pOrigVfs
 95336  	gMultiplex.FsThisVfs = *(*sqlite3_vfs)(unsafe.Pointer(pOrigVfs))
 95337  	*(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&gMultiplex)) + 8 + 4)) += int32(uint64(unsafe.Sizeof(multiplexConn{})))
 95338  	gMultiplex.FsThisVfs.FzName = ts + 34544
 95339  	gMultiplex.FsThisVfs.FxOpen = *(*uintptr)(unsafe.Pointer(&struct {
 95340  		f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32
 95341  	}{multiplexOpen}))
 95342  	gMultiplex.FsThisVfs.FxDelete = *(*uintptr)(unsafe.Pointer(&struct {
 95343  		f func(*libc.TLS, uintptr, uintptr, int32) int32
 95344  	}{multiplexDelete}))
 95345  	gMultiplex.FsThisVfs.FxAccess = *(*uintptr)(unsafe.Pointer(&struct {
 95346  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 95347  	}{multiplexAccess}))
 95348  	gMultiplex.FsThisVfs.FxFullPathname = *(*uintptr)(unsafe.Pointer(&struct {
 95349  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 95350  	}{multiplexFullPathname}))
 95351  	gMultiplex.FsThisVfs.FxDlOpen = *(*uintptr)(unsafe.Pointer(&struct {
 95352  		f func(*libc.TLS, uintptr, uintptr) uintptr
 95353  	}{multiplexDlOpen}))
 95354  	gMultiplex.FsThisVfs.FxDlError = *(*uintptr)(unsafe.Pointer(&struct {
 95355  		f func(*libc.TLS, uintptr, int32, uintptr)
 95356  	}{multiplexDlError}))
 95357  	gMultiplex.FsThisVfs.FxDlSym = *(*uintptr)(unsafe.Pointer(&struct {
 95358  		f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr
 95359  	}{multiplexDlSym}))
 95360  	gMultiplex.FsThisVfs.FxDlClose = *(*uintptr)(unsafe.Pointer(&struct {
 95361  		f func(*libc.TLS, uintptr, uintptr)
 95362  	}{multiplexDlClose}))
 95363  	gMultiplex.FsThisVfs.FxRandomness = *(*uintptr)(unsafe.Pointer(&struct {
 95364  		f func(*libc.TLS, uintptr, int32, uintptr) int32
 95365  	}{multiplexRandomness}))
 95366  	gMultiplex.FsThisVfs.FxSleep = *(*uintptr)(unsafe.Pointer(&struct {
 95367  		f func(*libc.TLS, uintptr, int32) int32
 95368  	}{multiplexSleep}))
 95369  	gMultiplex.FsThisVfs.FxCurrentTime = *(*uintptr)(unsafe.Pointer(&struct {
 95370  		f func(*libc.TLS, uintptr, uintptr) int32
 95371  	}{multiplexCurrentTime}))
 95372  	gMultiplex.FsThisVfs.FxGetLastError = *(*uintptr)(unsafe.Pointer(&struct {
 95373  		f func(*libc.TLS, uintptr, int32, uintptr) int32
 95374  	}{multiplexGetLastError}))
 95375  	gMultiplex.FsThisVfs.FxCurrentTimeInt64 = *(*uintptr)(unsafe.Pointer(&struct {
 95376  		f func(*libc.TLS, uintptr, uintptr) int32
 95377  	}{multiplexCurrentTimeInt64}))
 95378  
 95379  	gMultiplex.FsIoMethodsV1.FiVersion = 1
 95380  	gMultiplex.FsIoMethodsV1.FxClose = *(*uintptr)(unsafe.Pointer(&struct {
 95381  		f func(*libc.TLS, uintptr) int32
 95382  	}{multiplexClose}))
 95383  	gMultiplex.FsIoMethodsV1.FxRead = *(*uintptr)(unsafe.Pointer(&struct {
 95384  		f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32
 95385  	}{multiplexRead}))
 95386  	gMultiplex.FsIoMethodsV1.FxWrite = *(*uintptr)(unsafe.Pointer(&struct {
 95387  		f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32
 95388  	}{multiplexWrite}))
 95389  	gMultiplex.FsIoMethodsV1.FxTruncate = *(*uintptr)(unsafe.Pointer(&struct {
 95390  		f func(*libc.TLS, uintptr, sqlite3_int64) int32
 95391  	}{multiplexTruncate}))
 95392  	gMultiplex.FsIoMethodsV1.FxSync = *(*uintptr)(unsafe.Pointer(&struct {
 95393  		f func(*libc.TLS, uintptr, int32) int32
 95394  	}{multiplexSync}))
 95395  	gMultiplex.FsIoMethodsV1.FxFileSize = *(*uintptr)(unsafe.Pointer(&struct {
 95396  		f func(*libc.TLS, uintptr, uintptr) int32
 95397  	}{multiplexFileSize}))
 95398  	gMultiplex.FsIoMethodsV1.FxLock = *(*uintptr)(unsafe.Pointer(&struct {
 95399  		f func(*libc.TLS, uintptr, int32) int32
 95400  	}{multiplexLock}))
 95401  	gMultiplex.FsIoMethodsV1.FxUnlock = *(*uintptr)(unsafe.Pointer(&struct {
 95402  		f func(*libc.TLS, uintptr, int32) int32
 95403  	}{multiplexUnlock}))
 95404  	gMultiplex.FsIoMethodsV1.FxCheckReservedLock = *(*uintptr)(unsafe.Pointer(&struct {
 95405  		f func(*libc.TLS, uintptr, uintptr) int32
 95406  	}{multiplexCheckReservedLock}))
 95407  	gMultiplex.FsIoMethodsV1.FxFileControl = *(*uintptr)(unsafe.Pointer(&struct {
 95408  		f func(*libc.TLS, uintptr, int32, uintptr) int32
 95409  	}{multiplexFileControl}))
 95410  	gMultiplex.FsIoMethodsV1.FxSectorSize = *(*uintptr)(unsafe.Pointer(&struct {
 95411  		f func(*libc.TLS, uintptr) int32
 95412  	}{multiplexSectorSize}))
 95413  	gMultiplex.FsIoMethodsV1.FxDeviceCharacteristics = *(*uintptr)(unsafe.Pointer(&struct {
 95414  		f func(*libc.TLS, uintptr) int32
 95415  	}{multiplexDeviceCharacteristics}))
 95416  	gMultiplex.FsIoMethodsV2 = gMultiplex.FsIoMethodsV1
 95417  	gMultiplex.FsIoMethodsV2.FiVersion = 2
 95418  	gMultiplex.FsIoMethodsV2.FxShmMap = *(*uintptr)(unsafe.Pointer(&struct {
 95419  		f func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32
 95420  	}{multiplexShmMap}))
 95421  	gMultiplex.FsIoMethodsV2.FxShmLock = *(*uintptr)(unsafe.Pointer(&struct {
 95422  		f func(*libc.TLS, uintptr, int32, int32, int32) int32
 95423  	}{multiplexShmLock}))
 95424  	gMultiplex.FsIoMethodsV2.FxShmBarrier = *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{multiplexShmBarrier}))
 95425  	gMultiplex.FsIoMethodsV2.FxShmUnmap = *(*uintptr)(unsafe.Pointer(&struct {
 95426  		f func(*libc.TLS, uintptr, int32) int32
 95427  	}{multiplexShmUnmap}))
 95428  	sqlite3.Xsqlite3_vfs_register(tls, uintptr(unsafe.Pointer(&gMultiplex))+8, makeDefault)
 95429  
 95430  	sqlite3.Xsqlite3_auto_extension(tls, *(*uintptr)(unsafe.Pointer(&struct {
 95431  		f func(*libc.TLS, uintptr, uintptr, uintptr) int32
 95432  	}{multiplexFuncInit})))
 95433  
 95434  	return SQLITE_OK
 95435  }
 95436  
 95437  func sqlite3_multiplex_shutdown(tls *libc.TLS, eForce int32) int32 {
 95438  	var rc int32 = SQLITE_OK
 95439  	if gMultiplex.FisInitialized == 0 {
 95440  		return SQLITE_MISUSE
 95441  	}
 95442  	gMultiplex.FisInitialized = 0
 95443  	sqlite3.Xsqlite3_vfs_unregister(tls, uintptr(unsafe.Pointer(&gMultiplex))+8)
 95444  	libc.Xmemset(tls, uintptr(unsafe.Pointer(&gMultiplex)), 0, uint64(unsafe.Sizeof(gMultiplex)))
 95445  	return rc
 95446  }
 95447  
 95448  func test_multiplex_initialize(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 95449  	bp := tls.Alloc(4)
 95450  	defer tls.Free(4)
 95451  
 95452  	var zName uintptr
 95453  
 95454  	var rc int32
 95455  
 95456  	_ = clientData
 95457  
 95458  	if objc != 3 {
 95459  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+34554)
 95460  		return TCL_ERROR
 95461  	}
 95462  	zName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))
 95463  	if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp) != 0 {
 95464  		return TCL_ERROR
 95465  	}
 95466  	if int32(*(*int8)(unsafe.Pointer(zName))) == 0 {
 95467  		zName = uintptr(0)
 95468  	}
 95469  
 95470  	rc = sqlite3_multiplex_initialize(tls, zName, *(*int32)(unsafe.Pointer(bp)))
 95471  	tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0))
 95472  
 95473  	return TCL_OK
 95474  }
 95475  
 95476  func test_multiplex_shutdown(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 95477  	var rc int32
 95478  
 95479  	_ = clientData
 95480  
 95481  	if objc == 2 && libc.Xstrcmp(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), ts+34571) != 0 {
 95482  		objc = 3
 95483  	}
 95484  	if objc != 1 && objc != 2 {
 95485  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+34578)
 95486  		return TCL_ERROR
 95487  	}
 95488  
 95489  	rc = sqlite3_multiplex_shutdown(tls, libc.Bool32(objc == 2))
 95490  	tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0))
 95491  
 95492  	return TCL_OK
 95493  }
 95494  
 95495  func test_multiplex_control(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, objv uintptr) int32 {
 95496  	bp := tls.Alloc(176)
 95497  	defer tls.Free(176)
 95498  
 95499  	var rc int32
 95500  
 95501  	var db uintptr
 95502  	*(*int32)(unsafe.Pointer(bp + 172)) = 0
 95503  	var pArg uintptr = uintptr(0)
 95504  
 95505  	*(*[4]struct {
 95506  		FzName   uintptr
 95507  		Fop      int32
 95508  		Fargtype int32
 95509  	})(unsafe.Pointer(bp + 104)) = [4]struct {
 95510  		FzName   uintptr
 95511  		Fop      int32
 95512  		Fargtype int32
 95513  	}{
 95514  		{FzName: ts + 10145, Fop: MULTIPLEX_CTRL_ENABLE, Fargtype: 1},
 95515  		{FzName: ts + 34587, Fop: MULTIPLEX_CTRL_SET_CHUNK_SIZE, Fargtype: 1},
 95516  		{FzName: ts + 34598, Fop: MULTIPLEX_CTRL_SET_MAX_CHUNKS, Fargtype: 1},
 95517  		{},
 95518  	}
 95519  
 95520  	if objc != 5 {
 95521  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+34609)
 95522  		return TCL_ERROR
 95523  	}
 95524  
 95525  	if 0 == tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+40) {
 95526  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+34645, 0))
 95527  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), ts+11945, 0))
 95528  		return TCL_ERROR
 95529  	} else {
 95530  		db = *(*uintptr)(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 40)).FobjClientData))
 95531  	}
 95532  
 95533  	rc = tcl.XTcl_GetIndexFromObjStruct(tls,
 95534  		interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+104, int32(unsafe.Sizeof(struct {
 95535  			FzName   uintptr
 95536  			Fop      int32
 95537  			Fargtype int32
 95538  		}{})), ts+2014, 0, bp+168)
 95539  	if rc != TCL_OK {
 95540  		return rc
 95541  	}
 95542  
 95543  	switch (*struct {
 95544  		FzName   uintptr
 95545  		Fop      int32
 95546  		Fargtype int32
 95547  	})(unsafe.Pointer(bp + 104 + uintptr(*(*int32)(unsafe.Pointer(bp + 168)))*16)).Fargtype {
 95548  	case 1:
 95549  		if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 4*8)), bp+172) != 0 {
 95550  			return TCL_ERROR
 95551  		}
 95552  		pArg = bp + 172
 95553  		break
 95554  	default:
 95555  		tcl.XTcl_WrongNumArgs(tls, interp, 4, objv, ts+2523)
 95556  		return TCL_ERROR
 95557  	}
 95558  
 95559  	rc = sqlite3.Xsqlite3_file_control(tls, db, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), (*struct {
 95560  		FzName   uintptr
 95561  		Fop      int32
 95562  		Fargtype int32
 95563  	})(unsafe.Pointer(bp+104+uintptr(*(*int32)(unsafe.Pointer(bp + 168)))*16)).Fop, pArg)
 95564  	tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0))
 95565  	if rc == SQLITE_OK {
 95566  		return TCL_OK
 95567  	}
 95568  	return TCL_ERROR
 95569  }
 95570  
 95571  func Sqlitemultiplex_Init(tls *libc.TLS, interp uintptr) int32 {
 95572  	var i int32
 95573  
 95574  	for i = 0; uint64(i) < uint64(unsafe.Sizeof(aCmd5))/uint64(unsafe.Sizeof(struct {
 95575  		FzName uintptr
 95576  		FxProc uintptr
 95577  	}{})); i++ {
 95578  		tcl.XTcl_CreateObjCommand(tls, interp, aCmd5[i].FzName, aCmd5[i].FxProc, uintptr(0), uintptr(0))
 95579  	}
 95580  
 95581  	return TCL_OK
 95582  }
 95583  
 95584  var aCmd5 = [3]struct {
 95585  	FzName uintptr
 95586  	FxProc uintptr
 95587  }{
 95588  	{FzName: ts + 34677, FxProc: 0},
 95589  	{FzName: ts + 34706, FxProc: 0},
 95590  	{FzName: ts + 34733, FxProc: 0},
 95591  }
 95592  
 95593  type sqlite3_mutex = sqlite3_mutex1
 95594  
 95595  var aName = [15]uintptr{
 95596  	ts + 34759, ts + 34764, ts + 34774, ts + 34786,
 95597  	ts + 34797, ts + 34809, ts + 34821, ts + 34832,
 95598  	ts + 34844, ts + 34856, ts + 34868, ts + 34880,
 95599  	ts + 34892, ts + 34904, uintptr(0),
 95600  }
 95601  
 95602  type test_mutex_globals = struct {
 95603  	FisInstalled int32
 95604  	FdisableInit int32
 95605  	FdisableTry  int32
 95606  	FisInit      int32
 95607  	Fm           sqlite3_mutex_methods
 95608  	FaCounter    [14]int32
 95609  	FaStatic     [12]sqlite3_mutex
 95610  }
 95611  
 95612  var g3 = test_mutex_globals{}
 95613  
 95614  func counterMutexHeld(tls *libc.TLS, p uintptr) int32 {
 95615  	return (*struct {
 95616  		f func(*libc.TLS, uintptr) int32
 95617  	})(unsafe.Pointer(&struct{ uintptr }{g3.Fm.FxMutexHeld})).f(tls, (*sqlite3_mutex)(unsafe.Pointer(p)).FpReal)
 95618  }
 95619  
 95620  func counterMutexNotheld(tls *libc.TLS, p uintptr) int32 {
 95621  	return (*struct {
 95622  		f func(*libc.TLS, uintptr) int32
 95623  	})(unsafe.Pointer(&struct{ uintptr }{g3.Fm.FxMutexNotheld})).f(tls, (*sqlite3_mutex)(unsafe.Pointer(p)).FpReal)
 95624  }
 95625  
 95626  func counterMutexInit(tls *libc.TLS) int32 {
 95627  	var rc int32
 95628  	if g3.FdisableInit != 0 {
 95629  		return g3.FdisableInit
 95630  	}
 95631  	rc = (*struct{ f func(*libc.TLS) int32 })(unsafe.Pointer(&struct{ uintptr }{g3.Fm.FxMutexInit})).f(tls)
 95632  	g3.FisInit = 1
 95633  	return rc
 95634  }
 95635  
 95636  func counterMutexEnd(tls *libc.TLS) int32 {
 95637  	g3.FisInit = 0
 95638  	return (*struct{ f func(*libc.TLS) int32 })(unsafe.Pointer(&struct{ uintptr }{g3.Fm.FxMutexEnd})).f(tls)
 95639  }
 95640  
 95641  func counterMutexAlloc(tls *libc.TLS, eType int32) uintptr {
 95642  	var pReal uintptr
 95643  	var pRet uintptr = uintptr(0)
 95644  
 95645  	pReal = (*struct {
 95646  		f func(*libc.TLS, int32) uintptr
 95647  	})(unsafe.Pointer(&struct{ uintptr }{g3.Fm.FxMutexAlloc})).f(tls, eType)
 95648  	if !(pReal != 0) {
 95649  		return uintptr(0)
 95650  	}
 95651  
 95652  	if eType == SQLITE_MUTEX_FAST || eType == SQLITE_MUTEX_RECURSIVE {
 95653  		pRet = libc.Xmalloc(tls, uint64(unsafe.Sizeof(sqlite3_mutex{})))
 95654  	} else {
 95655  		var eStaticType int32 = eType - (SQLITE_MUTEX_STATIC_VFS3 + 1 - (SQLITE_MUTEX_STATIC_VFS3 + 1 - (SQLITE_MUTEX_RECURSIVE + 1)))
 95656  
 95657  		pRet = uintptr(unsafe.Pointer(&g3)) + 144 + uintptr(eStaticType)*16
 95658  	}
 95659  
 95660  	(*sqlite3_mutex)(unsafe.Pointer(pRet)).FeType = eType
 95661  	(*sqlite3_mutex)(unsafe.Pointer(pRet)).FpReal = pReal
 95662  	return pRet
 95663  }
 95664  
 95665  func counterMutexFree(tls *libc.TLS, p uintptr) {
 95666  	(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{g3.Fm.FxMutexFree})).f(tls, (*sqlite3_mutex)(unsafe.Pointer(p)).FpReal)
 95667  	if (*sqlite3_mutex)(unsafe.Pointer(p)).FeType == SQLITE_MUTEX_FAST || (*sqlite3_mutex)(unsafe.Pointer(p)).FeType == SQLITE_MUTEX_RECURSIVE {
 95668  		libc.Xfree(tls, p)
 95669  	}
 95670  }
 95671  
 95672  func counterMutexEnter(tls *libc.TLS, p uintptr) {
 95673  	*(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&g3)) + 88 + uintptr((*sqlite3_mutex)(unsafe.Pointer(p)).FeType)*4))++
 95674  	(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{g3.Fm.FxMutexEnter})).f(tls, (*sqlite3_mutex)(unsafe.Pointer(p)).FpReal)
 95675  }
 95676  
 95677  func counterMutexTry(tls *libc.TLS, p uintptr) int32 {
 95678  	*(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&g3)) + 88 + uintptr((*sqlite3_mutex)(unsafe.Pointer(p)).FeType)*4))++
 95679  	if g3.FdisableTry != 0 {
 95680  		return SQLITE_BUSY
 95681  	}
 95682  	return (*struct {
 95683  		f func(*libc.TLS, uintptr) int32
 95684  	})(unsafe.Pointer(&struct{ uintptr }{g3.Fm.FxMutexTry})).f(tls, (*sqlite3_mutex)(unsafe.Pointer(p)).FpReal)
 95685  }
 95686  
 95687  func counterMutexLeave(tls *libc.TLS, p uintptr) {
 95688  	(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{g3.Fm.FxMutexLeave})).f(tls, (*sqlite3_mutex)(unsafe.Pointer(p)).FpReal)
 95689  }
 95690  
 95691  func test_shutdown(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 95692  	var rc int32
 95693  
 95694  	if objc != 1 {
 95695  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+584)
 95696  		return TCL_ERROR
 95697  	}
 95698  
 95699  	rc = sqlite3.Xsqlite3_shutdown(tls)
 95700  	tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(1))
 95701  	return TCL_OK
 95702  }
 95703  
 95704  func test_initialize(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 95705  	var rc int32
 95706  
 95707  	if objc != 1 {
 95708  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+584)
 95709  		return TCL_ERROR
 95710  	}
 95711  
 95712  	rc = sqlite3.Xsqlite3_initialize(tls)
 95713  	tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(1))
 95714  	return TCL_OK
 95715  }
 95716  
 95717  func test_install_mutex_counters(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 95718  	bp := tls.Alloc(136)
 95719  	defer tls.Free(136)
 95720  
 95721  	var rc int32 = SQLITE_OK
 95722  
 95723  	*(*sqlite3_mutex_methods)(unsafe.Pointer(bp + 64)) = sqlite3_mutex_methods{
 95724  		FxMutexInit: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS) int32 }{counterMutexInit})),
 95725  		FxMutexEnd:  *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS) int32 }{counterMutexEnd})),
 95726  		FxMutexAlloc: *(*uintptr)(unsafe.Pointer(&struct {
 95727  			f func(*libc.TLS, int32) uintptr
 95728  		}{counterMutexAlloc})),
 95729  		FxMutexFree:  *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{counterMutexFree})),
 95730  		FxMutexEnter: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{counterMutexEnter})),
 95731  		FxMutexTry: *(*uintptr)(unsafe.Pointer(&struct {
 95732  			f func(*libc.TLS, uintptr) int32
 95733  		}{counterMutexTry})),
 95734  		FxMutexLeave: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{counterMutexLeave})),
 95735  		FxMutexHeld: *(*uintptr)(unsafe.Pointer(&struct {
 95736  			f func(*libc.TLS, uintptr) int32
 95737  		}{counterMutexHeld})),
 95738  		FxMutexNotheld: *(*uintptr)(unsafe.Pointer(&struct {
 95739  			f func(*libc.TLS, uintptr) int32
 95740  		}{counterMutexNotheld})),
 95741  	}
 95742  
 95743  	if objc != 2 {
 95744  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18281)
 95745  		return TCL_ERROR
 95746  	}
 95747  	if TCL_OK != tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+56) {
 95748  		return TCL_ERROR
 95749  	}
 95750  
 95751  	if *(*int32)(unsafe.Pointer(bp + 56)) == g3.FisInstalled {
 95752  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+34916, 0))
 95753  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, func() uintptr {
 95754  			if *(*int32)(unsafe.Pointer(bp + 56)) != 0 {
 95755  				return ts + 34936
 95756  			}
 95757  			return ts + 34954
 95758  		}(), 0))
 95759  		return TCL_ERROR
 95760  	}
 95761  
 95762  	if *(*int32)(unsafe.Pointer(bp + 56)) != 0 {
 95763  		rc = sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_GETMUTEX, libc.VaList(bp+32, uintptr(unsafe.Pointer(&g3))+16))
 95764  		if rc == SQLITE_OK {
 95765  			sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_MUTEX, libc.VaList(bp+40, bp+64))
 95766  		}
 95767  		g3.FdisableTry = 0
 95768  	} else {
 95769  		rc = sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_MUTEX, libc.VaList(bp+48, uintptr(unsafe.Pointer(&g3))+16))
 95770  		libc.Xmemset(tls, uintptr(unsafe.Pointer(&g3))+16, 0, uint64(unsafe.Sizeof(sqlite3_mutex_methods{})))
 95771  	}
 95772  
 95773  	if rc == SQLITE_OK {
 95774  		g3.FisInstalled = *(*int32)(unsafe.Pointer(bp + 56))
 95775  	}
 95776  
 95777  	tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(1))
 95778  	return TCL_OK
 95779  }
 95780  
 95781  func test_read_mutex_counters(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 95782  	var pRet uintptr
 95783  	var ii int32
 95784  
 95785  	if objc != 1 {
 95786  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+584)
 95787  		return TCL_ERROR
 95788  	}
 95789  
 95790  	pRet = tcl.XTcl_NewObj(tls)
 95791  	(*Tcl_Obj)(unsafe.Pointer(pRet)).FrefCount++
 95792  	for ii = 0; ii < SQLITE_MUTEX_STATIC_VFS3+1; ii++ {
 95793  		tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewStringObj(tls, aName[ii], -1))
 95794  		tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&g3)) + 88 + uintptr(ii)*4))))
 95795  	}
 95796  	tcl.XTcl_SetObjResult(tls, interp, pRet)
 95797  	for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
 95798  		var _objPtr uintptr = pRet
 95799  		if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 95800  			tcl.XTclFreeObj(tls, _objPtr)
 95801  		}
 95802  	}
 95803  
 95804  	return TCL_OK
 95805  }
 95806  
 95807  func test_clear_mutex_counters(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 95808  	var ii int32
 95809  
 95810  	if objc != 1 {
 95811  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+584)
 95812  		return TCL_ERROR
 95813  	}
 95814  
 95815  	for ii = 0; ii < SQLITE_MUTEX_STATIC_VFS3+1; ii++ {
 95816  		*(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&g3)) + 88 + uintptr(ii)*4)) = 0
 95817  	}
 95818  	return TCL_OK
 95819  }
 95820  
 95821  func test_alloc_mutex(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 95822  	bp := tls.Alloc(124)
 95823  	defer tls.Free(124)
 95824  
 95825  	var p uintptr = sqlite3.Xsqlite3_mutex_alloc(tls, SQLITE_MUTEX_FAST)
 95826  
 95827  	sqlite3.Xsqlite3_mutex_free(tls, p)
 95828  	sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+24, ts+9889, libc.VaList(bp, p))
 95829  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+8, bp+24, uintptr(0)))
 95830  	return TCL_OK
 95831  }
 95832  
 95833  func test_config(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 95834  	bp := tls.Alloc(68)
 95835  	defer tls.Free(68)
 95836  
 95837  	*(*[4]ConfigOption)(unsafe.Pointer(bp)) = [4]ConfigOption{
 95838  		{FzName: ts + 34968, FiValue: SQLITE_CONFIG_SINGLETHREAD},
 95839  		{FzName: ts + 34981, FiValue: SQLITE_CONFIG_MULTITHREAD},
 95840  		{FzName: ts + 34993, FiValue: SQLITE_CONFIG_SERIALIZED},
 95841  		{},
 95842  	}
 95843  	var s int32 = int32(unsafe.Sizeof(ConfigOption{}))
 95844  
 95845  	var rc int32
 95846  
 95847  	if objc != 2 {
 95848  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+584)
 95849  		return TCL_ERROR
 95850  	}
 95851  
 95852  	if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp, s, ts+17631, 0, bp+64) != 0 {
 95853  		if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+64) != 0 {
 95854  			return TCL_ERROR
 95855  		}
 95856  	} else {
 95857  		*(*int32)(unsafe.Pointer(bp + 64)) = (*ConfigOption)(unsafe.Pointer(bp + uintptr(*(*int32)(unsafe.Pointer(bp + 64)))*16)).FiValue
 95858  	}
 95859  
 95860  	rc = sqlite3.Xsqlite3_config(tls, *(*int32)(unsafe.Pointer(bp + 64)), 0)
 95861  	tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(1))
 95862  	return TCL_OK
 95863  }
 95864  
 95865  type ConfigOption = struct {
 95866  	FzName       uintptr
 95867  	FiValue      int32
 95868  	F__ccgo_pad1 [4]byte
 95869  }
 95870  
 95871  func getDbPointer1(tls *libc.TLS, pInterp uintptr, pObj uintptr) uintptr {
 95872  	bp := tls.Alloc(64)
 95873  	defer tls.Free(64)
 95874  
 95875  	var db uintptr
 95876  
 95877  	var zCmd uintptr = tcl.XTcl_GetString(tls, pObj)
 95878  	if tcl.XTcl_GetCommandInfo(tls, pInterp, zCmd, bp) != 0 {
 95879  		db = *(*uintptr)(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp)).FobjClientData))
 95880  	} else {
 95881  		db = sqlite3TestTextToPtr(tls, zCmd)
 95882  	}
 95883  
 95884  	return db
 95885  }
 95886  
 95887  func getStaticMutexPointer(tls *libc.TLS, pInterp uintptr, pObj uintptr) uintptr {
 95888  	bp := tls.Alloc(4)
 95889  	defer tls.Free(4)
 95890  
 95891  	if tcl.XTcl_GetIndexFromObjStruct(tls, pInterp, pObj, uintptr(unsafe.Pointer(&aName)), int32(unsafe.Sizeof(uintptr(0))), ts+35004, 0, bp) != 0 {
 95892  		return uintptr(0)
 95893  	}
 95894  
 95895  	return counterMutexAlloc(tls, *(*int32)(unsafe.Pointer(bp)))
 95896  }
 95897  
 95898  func test_enter_static_mutex(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 95899  	var pMutex uintptr
 95900  	if objc != 2 {
 95901  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+9762)
 95902  		return TCL_ERROR
 95903  	}
 95904  	pMutex = getStaticMutexPointer(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)))
 95905  	if !(pMutex != 0) {
 95906  		return TCL_ERROR
 95907  	}
 95908  	sqlite3.Xsqlite3_mutex_enter(tls, pMutex)
 95909  	return TCL_OK
 95910  }
 95911  
 95912  func test_leave_static_mutex(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 95913  	var pMutex uintptr
 95914  	if objc != 2 {
 95915  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+9762)
 95916  		return TCL_ERROR
 95917  	}
 95918  	pMutex = getStaticMutexPointer(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)))
 95919  	if !(pMutex != 0) {
 95920  		return TCL_ERROR
 95921  	}
 95922  	sqlite3.Xsqlite3_mutex_leave(tls, pMutex)
 95923  	return TCL_OK
 95924  }
 95925  
 95926  func test_enter_db_mutex(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 95927  	var db uintptr
 95928  	if objc != 2 {
 95929  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+2050)
 95930  		return TCL_ERROR
 95931  	}
 95932  	db = getDbPointer1(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)))
 95933  	if !(db != 0) {
 95934  		return TCL_ERROR
 95935  	}
 95936  	sqlite3.Xsqlite3_mutex_enter(tls, sqlite3.Xsqlite3_db_mutex(tls, db))
 95937  	return TCL_OK
 95938  }
 95939  
 95940  func test_leave_db_mutex(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 95941  	var db uintptr
 95942  	if objc != 2 {
 95943  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+2050)
 95944  		return TCL_ERROR
 95945  	}
 95946  	db = getDbPointer1(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)))
 95947  	if !(db != 0) {
 95948  		return TCL_ERROR
 95949  	}
 95950  	sqlite3.Xsqlite3_mutex_leave(tls, sqlite3.Xsqlite3_db_mutex(tls, db))
 95951  	return TCL_OK
 95952  }
 95953  
 95954  func Sqlitetest_mutex_Init(tls *libc.TLS, interp uintptr) int32 {
 95955  	var i int32
 95956  	for i = 0; uint64(i) < uint64(unsafe.Sizeof(aCmd6))/uint64(unsafe.Sizeof(struct {
 95957  		FzName uintptr
 95958  		FxProc uintptr
 95959  	}{})); i++ {
 95960  		tcl.XTcl_CreateObjCommand(tls, interp, aCmd6[i].FzName, aCmd6[i].FxProc, uintptr(0), uintptr(0))
 95961  	}
 95962  
 95963  	tcl.XTcl_LinkVar(tls, interp, ts+35015,
 95964  		uintptr(unsafe.Pointer(&g3))+4, TCL_LINK_INT)
 95965  	tcl.XTcl_LinkVar(tls, interp, ts+35034,
 95966  		uintptr(unsafe.Pointer(&g3))+8, TCL_LINK_INT)
 95967  	return SQLITE_OK
 95968  }
 95969  
 95970  var aCmd6 = [11]struct {
 95971  	FzName uintptr
 95972  	FxProc uintptr
 95973  }{
 95974  	{FzName: ts + 35052, FxProc: 0},
 95975  	{FzName: ts + 35069, FxProc: 0},
 95976  	{FzName: ts + 35088, FxProc: 0},
 95977  	{FzName: ts + 35103, FxProc: 0},
 95978  	{FzName: ts + 35122, FxProc: 0},
 95979  	{FzName: ts + 35141, FxProc: 0},
 95980  	{FzName: ts + 35156, FxProc: 0},
 95981  	{FzName: ts + 35171, FxProc: 0},
 95982  	{FzName: ts + 35191, FxProc: 0},
 95983  	{FzName: ts + 35214, FxProc: 0},
 95984  	{FzName: ts + 35234, FxProc: 0},
 95985  }
 95986  
 95987  type fs_real_file1 = struct {
 95988  	FpFile     uintptr
 95989  	FzName     uintptr
 95990  	FnDatabase int32
 95991  	FnJournal  int32
 95992  	FnBlob     int32
 95993  	FnRef      int32
 95994  	FpNext     uintptr
 95995  	FppThis    uintptr
 95996  }
 95997  
 95998  type fs_real_file = fs_real_file1
 95999  
 96000  type fs_file1 = struct {
 96001  	Fbase        sqlite3_file
 96002  	FeType       int32
 96003  	F__ccgo_pad1 [4]byte
 96004  	FpReal       uintptr
 96005  }
 96006  
 96007  type fs_file = fs_file1
 96008  
 96009  type tmp_file1 = struct {
 96010  	Fbase   sqlite3_file
 96011  	FnSize  int32
 96012  	FnAlloc int32
 96013  	FzAlloc uintptr
 96014  }
 96015  
 96016  type tmp_file = tmp_file1
 96017  
 96018  type fs_vfs_t1 = struct {
 96019  	Fbase      sqlite3_vfs
 96020  	FpFileList uintptr
 96021  	FpParent   uintptr
 96022  }
 96023  
 96024  type fs_vfs_t = fs_vfs_t1
 96025  
 96026  var fs_vfs = fs_vfs_t{
 96027  	Fbase: sqlite3_vfs{
 96028  		FiVersion:      1,
 96029  		FzName:         ts + 30801,
 96030  		FxOpen:         0,
 96031  		FxDelete:       0,
 96032  		FxAccess:       0,
 96033  		FxFullPathname: 0,
 96034  		FxDlOpen:       0,
 96035  		FxDlError:      0,
 96036  		FxDlSym:        0,
 96037  		FxDlClose:      0,
 96038  		FxRandomness:   0,
 96039  		FxSleep:        0,
 96040  		FxCurrentTime:  0,
 96041  	},
 96042  }
 96043  
 96044  var fs_io_methods = sqlite3_io_methods{
 96045  	FiVersion:               1,
 96046  	FxClose:                 0,
 96047  	FxRead:                  0,
 96048  	FxWrite:                 0,
 96049  	FxTruncate:              0,
 96050  	FxSync:                  0,
 96051  	FxFileSize:              0,
 96052  	FxLock:                  0,
 96053  	FxUnlock:                0,
 96054  	FxCheckReservedLock:     0,
 96055  	FxFileControl:           0,
 96056  	FxSectorSize:            0,
 96057  	FxDeviceCharacteristics: 0,
 96058  }
 96059  
 96060  var tmp_io_methods = sqlite3_io_methods{
 96061  	FiVersion:               1,
 96062  	FxClose:                 0,
 96063  	FxRead:                  0,
 96064  	FxWrite:                 0,
 96065  	FxTruncate:              0,
 96066  	FxSync:                  0,
 96067  	FxFileSize:              0,
 96068  	FxLock:                  0,
 96069  	FxUnlock:                0,
 96070  	FxCheckReservedLock:     0,
 96071  	FxFileControl:           0,
 96072  	FxSectorSize:            0,
 96073  	FxDeviceCharacteristics: 0,
 96074  }
 96075  
 96076  func tmpClose(tls *libc.TLS, pFile uintptr) int32 {
 96077  	var pTmp uintptr = pFile
 96078  	sqlite3.Xsqlite3_free(tls, (*tmp_file)(unsafe.Pointer(pTmp)).FzAlloc)
 96079  	return SQLITE_OK
 96080  }
 96081  
 96082  func tmpRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst sqlite_int64) int32 {
 96083  	var pTmp uintptr = pFile
 96084  	if sqlite_int64(iAmt)+iOfst > sqlite_int64((*tmp_file)(unsafe.Pointer(pTmp)).FnSize) {
 96085  		return SQLITE_IOERR | int32(2)<<8
 96086  	}
 96087  	libc.Xmemcpy(tls, zBuf, (*tmp_file)(unsafe.Pointer(pTmp)).FzAlloc+uintptr(iOfst), uint64(iAmt))
 96088  	return SQLITE_OK
 96089  }
 96090  
 96091  func tmpWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst sqlite_int64) int32 {
 96092  	var pTmp uintptr = pFile
 96093  	if sqlite_int64(iAmt)+iOfst > sqlite_int64((*tmp_file)(unsafe.Pointer(pTmp)).FnAlloc) {
 96094  		var nNew int32 = int32(int64(2) * (sqlite_int64(iAmt) + iOfst + sqlite_int64((*tmp_file)(unsafe.Pointer(pTmp)).FnAlloc)))
 96095  		var zNew uintptr = sqlite3.Xsqlite3_realloc(tls, (*tmp_file)(unsafe.Pointer(pTmp)).FzAlloc, nNew)
 96096  		if !(zNew != 0) {
 96097  			return SQLITE_NOMEM
 96098  		}
 96099  		(*tmp_file)(unsafe.Pointer(pTmp)).FzAlloc = zNew
 96100  		(*tmp_file)(unsafe.Pointer(pTmp)).FnAlloc = nNew
 96101  	}
 96102  	libc.Xmemcpy(tls, (*tmp_file)(unsafe.Pointer(pTmp)).FzAlloc+uintptr(iOfst), zBuf, uint64(iAmt))
 96103  	(*tmp_file)(unsafe.Pointer(pTmp)).FnSize = func() int32 {
 96104  		if sqlite_int64((*tmp_file)(unsafe.Pointer(pTmp)).FnSize) > iOfst+sqlite_int64(iAmt) {
 96105  			return (*tmp_file)(unsafe.Pointer(pTmp)).FnSize
 96106  		}
 96107  		return int32(iOfst + sqlite_int64(iAmt))
 96108  	}()
 96109  	return SQLITE_OK
 96110  }
 96111  
 96112  func tmpTruncate(tls *libc.TLS, pFile uintptr, size sqlite_int64) int32 {
 96113  	var pTmp uintptr = pFile
 96114  	(*tmp_file)(unsafe.Pointer(pTmp)).FnSize = func() int32 {
 96115  		if sqlite_int64((*tmp_file)(unsafe.Pointer(pTmp)).FnSize) < size {
 96116  			return (*tmp_file)(unsafe.Pointer(pTmp)).FnSize
 96117  		}
 96118  		return int32(size)
 96119  	}()
 96120  	return SQLITE_OK
 96121  }
 96122  
 96123  func tmpSync(tls *libc.TLS, pFile uintptr, flags int32) int32 {
 96124  	return SQLITE_OK
 96125  }
 96126  
 96127  func tmpFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 {
 96128  	var pTmp uintptr = pFile
 96129  	*(*sqlite_int64)(unsafe.Pointer(pSize)) = sqlite_int64((*tmp_file)(unsafe.Pointer(pTmp)).FnSize)
 96130  	return SQLITE_OK
 96131  }
 96132  
 96133  func tmpLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 {
 96134  	return SQLITE_OK
 96135  }
 96136  
 96137  func tmpUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 {
 96138  	return SQLITE_OK
 96139  }
 96140  
 96141  func tmpCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int32 {
 96142  	*(*int32)(unsafe.Pointer(pResOut)) = 0
 96143  	return SQLITE_OK
 96144  }
 96145  
 96146  func tmpFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 {
 96147  	return SQLITE_OK
 96148  }
 96149  
 96150  func tmpSectorSize(tls *libc.TLS, pFile uintptr) int32 {
 96151  	return 0
 96152  }
 96153  
 96154  func tmpDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 {
 96155  	return 0
 96156  }
 96157  
 96158  func fsClose1(tls *libc.TLS, pFile uintptr) int32 {
 96159  	var rc int32 = SQLITE_OK
 96160  	var p uintptr = pFile
 96161  	var pReal uintptr = (*fs_file)(unsafe.Pointer(p)).FpReal
 96162  
 96163  	(*fs_real_file)(unsafe.Pointer(pReal)).FnRef--
 96164  
 96165  	if (*fs_real_file)(unsafe.Pointer(pReal)).FnRef == 0 {
 96166  		*(*uintptr)(unsafe.Pointer((*fs_real_file)(unsafe.Pointer(pReal)).FppThis)) = (*fs_real_file)(unsafe.Pointer(pReal)).FpNext
 96167  		if (*fs_real_file)(unsafe.Pointer(pReal)).FpNext != 0 {
 96168  			(*fs_real_file)(unsafe.Pointer((*fs_real_file)(unsafe.Pointer(pReal)).FpNext)).FppThis = (*fs_real_file)(unsafe.Pointer(pReal)).FppThis
 96169  		}
 96170  		rc = (*struct {
 96171  			f func(*libc.TLS, uintptr) int32
 96172  		})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*fs_real_file)(unsafe.Pointer(pReal)).FpFile)).FpMethods)).FxClose})).f(tls, (*fs_real_file)(unsafe.Pointer(pReal)).FpFile)
 96173  		sqlite3.Xsqlite3_free(tls, pReal)
 96174  	}
 96175  
 96176  	return rc
 96177  }
 96178  
 96179  func fsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst sqlite_int64) int32 {
 96180  	var rc int32 = SQLITE_OK
 96181  	var p uintptr = pFile
 96182  	var pReal uintptr = (*fs_file)(unsafe.Pointer(p)).FpReal
 96183  	var pF uintptr = (*fs_real_file)(unsafe.Pointer(pReal)).FpFile
 96184  
 96185  	if (*fs_file)(unsafe.Pointer(p)).FeType == DATABASE_FILE && sqlite_int64(iAmt)+iOfst > sqlite_int64((*fs_real_file)(unsafe.Pointer(pReal)).FnDatabase) ||
 96186  		(*fs_file)(unsafe.Pointer(p)).FeType == JOURNAL_FILE && sqlite_int64(iAmt)+iOfst > sqlite_int64((*fs_real_file)(unsafe.Pointer(pReal)).FnJournal) {
 96187  		rc = SQLITE_IOERR | int32(2)<<8
 96188  	} else if (*fs_file)(unsafe.Pointer(p)).FeType == DATABASE_FILE {
 96189  		rc = (*struct {
 96190  			f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32
 96191  		})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pF)).FpMethods)).FxRead})).f(tls, pF, zBuf, iAmt, iOfst+int64(BLOCKSIZE))
 96192  	} else {
 96193  		var iRem int32 = iAmt
 96194  		var iBuf int32 = 0
 96195  		var ii int32 = int32(iOfst)
 96196  		for iRem > 0 && rc == SQLITE_OK {
 96197  			var iRealOff int32 = (*fs_real_file)(unsafe.Pointer(pReal)).FnBlob - BLOCKSIZE*(ii/BLOCKSIZE+1) + ii%BLOCKSIZE
 96198  			var iRealAmt int32 = func() int32 {
 96199  				if iRem < BLOCKSIZE-iRealOff%BLOCKSIZE {
 96200  					return iRem
 96201  				}
 96202  				return BLOCKSIZE - iRealOff%BLOCKSIZE
 96203  			}()
 96204  
 96205  			rc = (*struct {
 96206  				f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32
 96207  			})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pF)).FpMethods)).FxRead})).f(tls, pF, zBuf+uintptr(iBuf), iRealAmt, int64(iRealOff))
 96208  			ii = ii + iRealAmt
 96209  			iBuf = iBuf + iRealAmt
 96210  			iRem = iRem - iRealAmt
 96211  		}
 96212  	}
 96213  
 96214  	return rc
 96215  }
 96216  
 96217  func fsWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst sqlite_int64) int32 {
 96218  	var rc int32 = SQLITE_OK
 96219  	var p uintptr = pFile
 96220  	var pReal uintptr = (*fs_file)(unsafe.Pointer(p)).FpReal
 96221  	var pF uintptr = (*fs_real_file)(unsafe.Pointer(pReal)).FpFile
 96222  
 96223  	if (*fs_file)(unsafe.Pointer(p)).FeType == DATABASE_FILE {
 96224  		if sqlite_int64(iAmt)+iOfst+int64(BLOCKSIZE) > sqlite_int64((*fs_real_file)(unsafe.Pointer(pReal)).FnBlob-(*fs_real_file)(unsafe.Pointer(pReal)).FnJournal) {
 96225  			rc = SQLITE_FULL
 96226  		} else {
 96227  			rc = (*struct {
 96228  				f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32
 96229  			})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pF)).FpMethods)).FxWrite})).f(tls, pF, zBuf, iAmt, iOfst+int64(BLOCKSIZE))
 96230  			if rc == SQLITE_OK {
 96231  				(*fs_real_file)(unsafe.Pointer(pReal)).FnDatabase = func() int32 {
 96232  					if sqlite_int64((*fs_real_file)(unsafe.Pointer(pReal)).FnDatabase) > sqlite_int64(iAmt)+iOfst {
 96233  						return (*fs_real_file)(unsafe.Pointer(pReal)).FnDatabase
 96234  					}
 96235  					return int32(sqlite_int64(iAmt) + iOfst)
 96236  				}()
 96237  			}
 96238  		}
 96239  	} else {
 96240  		var iRem int32 = iAmt
 96241  		var iBuf int32 = 0
 96242  		var ii int32 = int32(iOfst)
 96243  		for iRem > 0 && rc == SQLITE_OK {
 96244  			var iRealOff int32 = (*fs_real_file)(unsafe.Pointer(pReal)).FnBlob - BLOCKSIZE*(ii/BLOCKSIZE+1) + ii%BLOCKSIZE
 96245  			var iRealAmt int32 = func() int32 {
 96246  				if iRem < BLOCKSIZE-iRealOff%BLOCKSIZE {
 96247  					return iRem
 96248  				}
 96249  				return BLOCKSIZE - iRealOff%BLOCKSIZE
 96250  			}()
 96251  
 96252  			if iRealOff < (*fs_real_file)(unsafe.Pointer(pReal)).FnDatabase+BLOCKSIZE {
 96253  				rc = SQLITE_FULL
 96254  			} else {
 96255  				rc = (*struct {
 96256  					f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32
 96257  				})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pF)).FpMethods)).FxWrite})).f(tls, pF, zBuf+uintptr(iBuf), iRealAmt, int64(iRealOff))
 96258  				ii = ii + iRealAmt
 96259  				iBuf = iBuf + iRealAmt
 96260  				iRem = iRem - iRealAmt
 96261  			}
 96262  		}
 96263  		if rc == SQLITE_OK {
 96264  			(*fs_real_file)(unsafe.Pointer(pReal)).FnJournal = func() int32 {
 96265  				if sqlite_int64((*fs_real_file)(unsafe.Pointer(pReal)).FnJournal) > sqlite_int64(iAmt)+iOfst {
 96266  					return (*fs_real_file)(unsafe.Pointer(pReal)).FnJournal
 96267  				}
 96268  				return int32(sqlite_int64(iAmt) + iOfst)
 96269  			}()
 96270  		}
 96271  	}
 96272  
 96273  	return rc
 96274  }
 96275  
 96276  func fsTruncate(tls *libc.TLS, pFile uintptr, size sqlite_int64) int32 {
 96277  	var p uintptr = pFile
 96278  	var pReal uintptr = (*fs_file)(unsafe.Pointer(p)).FpReal
 96279  	if (*fs_file)(unsafe.Pointer(p)).FeType == DATABASE_FILE {
 96280  		(*fs_real_file)(unsafe.Pointer(pReal)).FnDatabase = func() int32 {
 96281  			if sqlite_int64((*fs_real_file)(unsafe.Pointer(pReal)).FnDatabase) < size {
 96282  				return (*fs_real_file)(unsafe.Pointer(pReal)).FnDatabase
 96283  			}
 96284  			return int32(size)
 96285  		}()
 96286  	} else {
 96287  		(*fs_real_file)(unsafe.Pointer(pReal)).FnJournal = func() int32 {
 96288  			if sqlite_int64((*fs_real_file)(unsafe.Pointer(pReal)).FnJournal) < size {
 96289  				return (*fs_real_file)(unsafe.Pointer(pReal)).FnJournal
 96290  			}
 96291  			return int32(size)
 96292  		}()
 96293  	}
 96294  	return SQLITE_OK
 96295  }
 96296  
 96297  func fsSync(tls *libc.TLS, pFile uintptr, flags int32) int32 {
 96298  	bp := tls.Alloc(4)
 96299  	defer tls.Free(4)
 96300  
 96301  	var p uintptr = pFile
 96302  	var pReal uintptr = (*fs_file)(unsafe.Pointer(p)).FpReal
 96303  	var pRealFile uintptr = (*fs_real_file)(unsafe.Pointer(pReal)).FpFile
 96304  	var rc int32 = SQLITE_OK
 96305  
 96306  	if (*fs_file)(unsafe.Pointer(p)).FeType == DATABASE_FILE {
 96307  		*(*uint8)(unsafe.Pointer(bp)) = uint8(uint32((*fs_real_file)(unsafe.Pointer(pReal)).FnDatabase) & 0xFF000000 >> 24)
 96308  		*(*uint8)(unsafe.Pointer(bp + 1)) = uint8((*fs_real_file)(unsafe.Pointer(pReal)).FnDatabase & 0x00FF0000 >> 16)
 96309  		*(*uint8)(unsafe.Pointer(bp + 2)) = uint8((*fs_real_file)(unsafe.Pointer(pReal)).FnDatabase & 0x0000FF00 >> 8)
 96310  		*(*uint8)(unsafe.Pointer(bp + 3)) = uint8((*fs_real_file)(unsafe.Pointer(pReal)).FnDatabase & 0x000000FF)
 96311  		rc = (*struct {
 96312  			f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32
 96313  		})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pRealFile)).FpMethods)).FxWrite})).f(tls, pRealFile, bp, 4, int64(0))
 96314  	}
 96315  	if rc == SQLITE_OK {
 96316  		rc = (*struct {
 96317  			f func(*libc.TLS, uintptr, int32) int32
 96318  		})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pRealFile)).FpMethods)).FxSync})).f(tls, pRealFile, flags&libc.CplInt32(SQLITE_SYNC_DATAONLY))
 96319  	}
 96320  
 96321  	return rc
 96322  }
 96323  
 96324  func fsFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 {
 96325  	var p uintptr = pFile
 96326  	var pReal uintptr = (*fs_file)(unsafe.Pointer(p)).FpReal
 96327  	if (*fs_file)(unsafe.Pointer(p)).FeType == DATABASE_FILE {
 96328  		*(*sqlite_int64)(unsafe.Pointer(pSize)) = sqlite_int64((*fs_real_file)(unsafe.Pointer(pReal)).FnDatabase)
 96329  	} else {
 96330  		*(*sqlite_int64)(unsafe.Pointer(pSize)) = sqlite_int64((*fs_real_file)(unsafe.Pointer(pReal)).FnJournal)
 96331  	}
 96332  	return SQLITE_OK
 96333  }
 96334  
 96335  func fsLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 {
 96336  	return SQLITE_OK
 96337  }
 96338  
 96339  func fsUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 {
 96340  	return SQLITE_OK
 96341  }
 96342  
 96343  func fsCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int32 {
 96344  	*(*int32)(unsafe.Pointer(pResOut)) = 0
 96345  	return SQLITE_OK
 96346  }
 96347  
 96348  func fsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 {
 96349  	if op == SQLITE_FCNTL_PRAGMA {
 96350  		return SQLITE_NOTFOUND
 96351  	}
 96352  	return SQLITE_OK
 96353  }
 96354  
 96355  func fsSectorSize(tls *libc.TLS, pFile uintptr) int32 {
 96356  	return BLOCKSIZE
 96357  }
 96358  
 96359  func fsDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 {
 96360  	return 0
 96361  }
 96362  
 96363  func fsOpen1(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags int32, pOutFlags uintptr) int32 {
 96364  	bp := tls.Alloc(12)
 96365  	defer tls.Free(12)
 96366  
 96367  	var pFsVfs uintptr
 96368  	var p uintptr
 96369  	var pReal uintptr
 96370  	var eType int32
 96371  	var nName int32
 96372  	var rc int32
 96373  	var p2 uintptr
 96374  
 96375  	var real_flags int32
 96376  
 96377  	var pRealFile uintptr
 96378  	var pParent uintptr
 96379  	pFsVfs = pVfs
 96380  	p = pFile
 96381  	pReal = uintptr(0)
 96382  	rc = SQLITE_OK
 96383  
 96384  	if !(0 == flags&(SQLITE_OPEN_MAIN_DB|SQLITE_OPEN_MAIN_JOURNAL)) {
 96385  		goto __1
 96386  	}
 96387  	p2 = pFile
 96388  	libc.Xmemset(tls, p2, 0, uint64(unsafe.Sizeof(tmp_file{})))
 96389  	(*tmp_file)(unsafe.Pointer(p2)).Fbase.FpMethods = uintptr(unsafe.Pointer(&tmp_io_methods))
 96390  	return SQLITE_OK
 96391  __1:
 96392  	;
 96393  	eType = func() int32 {
 96394  		if flags&SQLITE_OPEN_MAIN_DB != 0 {
 96395  			return DATABASE_FILE
 96396  		}
 96397  		return JOURNAL_FILE
 96398  	}()
 96399  	(*fs_file)(unsafe.Pointer(p)).Fbase.FpMethods = uintptr(unsafe.Pointer(&fs_io_methods))
 96400  	(*fs_file)(unsafe.Pointer(p)).FeType = eType
 96401  
 96402  	nName = int32(libc.Xstrlen(tls, zName)) - func() int32 {
 96403  		if eType == JOURNAL_FILE {
 96404  			return 8
 96405  		}
 96406  		return 0
 96407  	}()
 96408  	pReal = (*fs_vfs_t)(unsafe.Pointer(pFsVfs)).FpFileList
 96409  __2:
 96410  	if !(pReal != 0 && libc.Xstrncmp(tls, (*fs_real_file)(unsafe.Pointer(pReal)).FzName, zName, uint64(nName)) != 0) {
 96411  		goto __4
 96412  	}
 96413  	goto __3
 96414  __3:
 96415  	pReal = (*fs_real_file)(unsafe.Pointer(pReal)).FpNext
 96416  	goto __2
 96417  	goto __4
 96418  __4:
 96419  	;
 96420  	if !!(pReal != 0) {
 96421  		goto __5
 96422  	}
 96423  	real_flags = flags&libc.CplInt32(SQLITE_OPEN_MAIN_DB) | SQLITE_OPEN_TEMP_DB
 96424  	pParent = (*fs_vfs_t)(unsafe.Pointer(pFsVfs)).FpParent
 96425  
 96426  	pReal = sqlite3.Xsqlite3_malloc(tls, int32(uint64(unsafe.Sizeof(fs_real_file{}))+uint64((*sqlite3_vfs)(unsafe.Pointer(pParent)).FszOsFile)))
 96427  	if !!(pReal != 0) {
 96428  		goto __6
 96429  	}
 96430  	rc = SQLITE_NOMEM
 96431  	goto open_out
 96432  __6:
 96433  	;
 96434  	libc.Xmemset(tls, pReal, 0, uint64(unsafe.Sizeof(fs_real_file{}))+uint64((*sqlite3_vfs)(unsafe.Pointer(pParent)).FszOsFile))
 96435  	(*fs_real_file)(unsafe.Pointer(pReal)).FzName = zName
 96436  	(*fs_real_file)(unsafe.Pointer(pReal)).FpFile = pReal + 1*48
 96437  
 96438  	rc = (*struct {
 96439  		f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32
 96440  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pParent)).FxOpen})).f(tls, pParent, zName, (*fs_real_file)(unsafe.Pointer(pReal)).FpFile, real_flags, pOutFlags)
 96441  	if !(rc != SQLITE_OK) {
 96442  		goto __7
 96443  	}
 96444  	goto open_out
 96445  __7:
 96446  	;
 96447  	pRealFile = (*fs_real_file)(unsafe.Pointer(pReal)).FpFile
 96448  
 96449  	rc = (*struct {
 96450  		f func(*libc.TLS, uintptr, uintptr) int32
 96451  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pRealFile)).FpMethods)).FxFileSize})).f(tls, pRealFile, bp)
 96452  	if !(rc != SQLITE_OK) {
 96453  		goto __8
 96454  	}
 96455  	goto open_out
 96456  __8:
 96457  	;
 96458  	if !(*(*sqlite3_int64)(unsafe.Pointer(bp)) == int64(0)) {
 96459  		goto __9
 96460  	}
 96461  	rc = (*struct {
 96462  		f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32
 96463  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pRealFile)).FpMethods)).FxWrite})).f(tls, pRealFile, ts+35255, 1, int64(BLOBSIZE-1))
 96464  	(*fs_real_file)(unsafe.Pointer(pReal)).FnBlob = BLOBSIZE
 96465  	goto __10
 96466  __9:
 96467  	(*fs_real_file)(unsafe.Pointer(pReal)).FnBlob = int32(*(*sqlite3_int64)(unsafe.Pointer(bp)))
 96468  	rc = (*struct {
 96469  		f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32
 96470  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pRealFile)).FpMethods)).FxRead})).f(tls, pRealFile, bp+8, 4, int64(0))
 96471  	(*fs_real_file)(unsafe.Pointer(pReal)).FnDatabase = int32(*(*uint8)(unsafe.Pointer(bp + 8)))<<24 + int32(*(*uint8)(unsafe.Pointer(bp + 8 + 1)))<<16 + int32(*(*uint8)(unsafe.Pointer(bp + 8 + 2)))<<8 + int32(*(*uint8)(unsafe.Pointer(bp + 8 + 3)))
 96472  	if !(rc == SQLITE_OK) {
 96473  		goto __11
 96474  	}
 96475  	rc = (*struct {
 96476  		f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32
 96477  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pRealFile)).FpMethods)).FxRead})).f(tls, pRealFile, bp+8, 4, int64((*fs_real_file)(unsafe.Pointer(pReal)).FnBlob-4))
 96478  	if !(*(*uint8)(unsafe.Pointer(bp + 8)) != 0 || *(*uint8)(unsafe.Pointer(bp + 8 + 1)) != 0 || *(*uint8)(unsafe.Pointer(bp + 8 + 2)) != 0 || *(*uint8)(unsafe.Pointer(bp + 8 + 3)) != 0) {
 96479  		goto __12
 96480  	}
 96481  	(*fs_real_file)(unsafe.Pointer(pReal)).FnJournal = (*fs_real_file)(unsafe.Pointer(pReal)).FnBlob
 96482  __12:
 96483  	;
 96484  __11:
 96485  	;
 96486  __10:
 96487  	;
 96488  	if !(rc == SQLITE_OK) {
 96489  		goto __13
 96490  	}
 96491  	(*fs_real_file)(unsafe.Pointer(pReal)).FpNext = (*fs_vfs_t)(unsafe.Pointer(pFsVfs)).FpFileList
 96492  	if !((*fs_real_file)(unsafe.Pointer(pReal)).FpNext != 0) {
 96493  		goto __14
 96494  	}
 96495  	(*fs_real_file)(unsafe.Pointer((*fs_real_file)(unsafe.Pointer(pReal)).FpNext)).FppThis = pReal + 32
 96496  __14:
 96497  	;
 96498  	(*fs_real_file)(unsafe.Pointer(pReal)).FppThis = pFsVfs + 168
 96499  	(*fs_vfs_t)(unsafe.Pointer(pFsVfs)).FpFileList = pReal
 96500  __13:
 96501  	;
 96502  __5:
 96503  	;
 96504  open_out:
 96505  	if !(pReal != 0) {
 96506  		goto __15
 96507  	}
 96508  	if !(rc == SQLITE_OK) {
 96509  		goto __16
 96510  	}
 96511  	(*fs_file)(unsafe.Pointer(p)).FpReal = pReal
 96512  	(*fs_real_file)(unsafe.Pointer(pReal)).FnRef++
 96513  	goto __17
 96514  __16:
 96515  	if !((*sqlite3_file)(unsafe.Pointer((*fs_real_file)(unsafe.Pointer(pReal)).FpFile)).FpMethods != 0) {
 96516  		goto __18
 96517  	}
 96518  	(*struct {
 96519  		f func(*libc.TLS, uintptr) int32
 96520  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*fs_real_file)(unsafe.Pointer(pReal)).FpFile)).FpMethods)).FxClose})).f(tls, (*fs_real_file)(unsafe.Pointer(pReal)).FpFile)
 96521  __18:
 96522  	;
 96523  	sqlite3.Xsqlite3_free(tls, pReal)
 96524  __17:
 96525  	;
 96526  __15:
 96527  	;
 96528  	return rc
 96529  }
 96530  
 96531  func fsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 {
 96532  	var rc int32 = SQLITE_OK
 96533  	var pFsVfs uintptr = pVfs
 96534  	var pReal uintptr
 96535  	var pF uintptr
 96536  	var nName int32 = int32(libc.Xstrlen(tls, zPath)) - 8
 96537  
 96538  	pReal = (*fs_vfs_t)(unsafe.Pointer(pFsVfs)).FpFileList
 96539  	for ; pReal != 0 && libc.Xstrncmp(tls, (*fs_real_file)(unsafe.Pointer(pReal)).FzName, zPath, uint64(nName)) != 0; pReal = (*fs_real_file)(unsafe.Pointer(pReal)).FpNext {
 96540  	}
 96541  	if pReal != 0 {
 96542  		pF = (*fs_real_file)(unsafe.Pointer(pReal)).FpFile
 96543  		rc = (*struct {
 96544  			f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32
 96545  		})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pF)).FpMethods)).FxWrite})).f(tls, pF, ts+35257, 4, int64((*fs_real_file)(unsafe.Pointer(pReal)).FnBlob-BLOCKSIZE))
 96546  		if rc == SQLITE_OK {
 96547  			(*fs_real_file)(unsafe.Pointer(pReal)).FnJournal = 0
 96548  		}
 96549  	}
 96550  	return rc
 96551  }
 96552  
 96553  func fsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 {
 96554  	var pFsVfs uintptr = pVfs
 96555  	var pReal uintptr
 96556  	var isJournal int32 = 0
 96557  	var nName int32 = int32(libc.Xstrlen(tls, zPath))
 96558  
 96559  	if flags != SQLITE_ACCESS_EXISTS {
 96560  		var pParent uintptr = (*fs_vfs_t)(unsafe.Pointer(pVfs)).FpParent
 96561  		return (*struct {
 96562  			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 96563  		})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pParent)).FxAccess})).f(tls, pParent, zPath, flags, pResOut)
 96564  	}
 96565  
 96566  	if nName > 8 && libc.Xstrcmp(tls, ts+32554, zPath+uintptr(nName-8)) == 0 {
 96567  		nName = nName - 8
 96568  		isJournal = 1
 96569  	}
 96570  
 96571  	pReal = (*fs_vfs_t)(unsafe.Pointer(pFsVfs)).FpFileList
 96572  	for ; pReal != 0 && libc.Xstrncmp(tls, (*fs_real_file)(unsafe.Pointer(pReal)).FzName, zPath, uint64(nName)) != 0; pReal = (*fs_real_file)(unsafe.Pointer(pReal)).FpNext {
 96573  	}
 96574  
 96575  	*(*int32)(unsafe.Pointer(pResOut)) = libc.Bool32(pReal != 0 && (!(isJournal != 0) || (*fs_real_file)(unsafe.Pointer(pReal)).FnJournal > 0))
 96576  	return SQLITE_OK
 96577  }
 96578  
 96579  func fsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 {
 96580  	var pParent uintptr = (*fs_vfs_t)(unsafe.Pointer(pVfs)).FpParent
 96581  	return (*struct {
 96582  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 96583  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pParent)).FxFullPathname})).f(tls, pParent, zPath, nOut, zOut)
 96584  }
 96585  
 96586  func fsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr {
 96587  	var pParent uintptr = (*fs_vfs_t)(unsafe.Pointer(pVfs)).FpParent
 96588  	return (*struct {
 96589  		f func(*libc.TLS, uintptr, uintptr) uintptr
 96590  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pParent)).FxDlOpen})).f(tls, pParent, zPath)
 96591  }
 96592  
 96593  func fsDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) {
 96594  	var pParent uintptr = (*fs_vfs_t)(unsafe.Pointer(pVfs)).FpParent
 96595  	(*struct {
 96596  		f func(*libc.TLS, uintptr, int32, uintptr)
 96597  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pParent)).FxDlError})).f(tls, pParent, nByte, zErrMsg)
 96598  }
 96599  
 96600  func fsDlSym(tls *libc.TLS, pVfs uintptr, pH uintptr, zSym uintptr) uintptr {
 96601  	var pParent uintptr = (*fs_vfs_t)(unsafe.Pointer(pVfs)).FpParent
 96602  	return (*struct {
 96603  		f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr
 96604  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pParent)).FxDlSym})).f(tls, pParent, pH, zSym)
 96605  }
 96606  
 96607  func fsDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) {
 96608  	var pParent uintptr = (*fs_vfs_t)(unsafe.Pointer(pVfs)).FpParent
 96609  	(*struct {
 96610  		f func(*libc.TLS, uintptr, uintptr)
 96611  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pParent)).FxDlClose})).f(tls, pParent, pHandle)
 96612  }
 96613  
 96614  func fsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 {
 96615  	var pParent uintptr = (*fs_vfs_t)(unsafe.Pointer(pVfs)).FpParent
 96616  	return (*struct {
 96617  		f func(*libc.TLS, uintptr, int32, uintptr) int32
 96618  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pParent)).FxRandomness})).f(tls, pParent, nByte, zBufOut)
 96619  }
 96620  
 96621  func fsSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 {
 96622  	var pParent uintptr = (*fs_vfs_t)(unsafe.Pointer(pVfs)).FpParent
 96623  	return (*struct {
 96624  		f func(*libc.TLS, uintptr, int32) int32
 96625  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pParent)).FxSleep})).f(tls, pParent, nMicro)
 96626  }
 96627  
 96628  func fsCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 {
 96629  	var pParent uintptr = (*fs_vfs_t)(unsafe.Pointer(pVfs)).FpParent
 96630  	return (*struct {
 96631  		f func(*libc.TLS, uintptr, uintptr) int32
 96632  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pParent)).FxCurrentTime})).f(tls, pParent, pTimeOut)
 96633  }
 96634  
 96635  func fs_register(tls *libc.TLS) int32 {
 96636  	if fs_vfs.FpParent != 0 {
 96637  		return SQLITE_OK
 96638  	}
 96639  	fs_vfs.FpParent = sqlite3.Xsqlite3_vfs_find(tls, uintptr(0))
 96640  	fs_vfs.Fbase.FmxPathname = (*sqlite3_vfs)(unsafe.Pointer(fs_vfs.FpParent)).FmxPathname
 96641  	fs_vfs.Fbase.FszOsFile = func() int32 {
 96642  		if uint64(unsafe.Sizeof(tmp_file{})) > uint64(unsafe.Sizeof(fs_file{})) {
 96643  			return int32(unsafe.Sizeof(tmp_file{}))
 96644  		}
 96645  		return int32(unsafe.Sizeof(fs_file{}))
 96646  	}()
 96647  	return sqlite3.Xsqlite3_vfs_register(tls, uintptr(unsafe.Pointer(&fs_vfs)), 0)
 96648  }
 96649  
 96650  func SqlitetestOnefile_Init(tls *libc.TLS) int32 {
 96651  	return fs_register(tls)
 96652  }
 96653  
 96654  type VfslogVfs1 = struct {
 96655  	Fbase        sqlite3_vfs
 96656  	FpVfs        uintptr
 96657  	FiNextFileId int32
 96658  	F__ccgo_pad1 [4]byte
 96659  	FpLog        uintptr
 96660  	FiOffset     sqlite3_int64
 96661  	FnBuf        int32
 96662  	FaBuf        [8192]int8
 96663  	F__ccgo_pad2 [4]byte
 96664  }
 96665  
 96666  type VfslogVfs = VfslogVfs1
 96667  type VfslogFile1 = struct {
 96668  	Fbase        sqlite3_file
 96669  	FpReal       uintptr
 96670  	FpVfslog     uintptr
 96671  	FiFileId     int32
 96672  	F__ccgo_pad1 [4]byte
 96673  }
 96674  
 96675  type VfslogFile = VfslogFile1
 96676  
 96677  var vfslog_vfs = sqlite3_vfs{
 96678  	FiVersion:          1,
 96679  	FszOsFile:          int32(unsafe.Sizeof(VfslogFile{})),
 96680  	FmxPathname:        INST_MAX_PATHNAME,
 96681  	FxOpen:             0,
 96682  	FxDelete:           0,
 96683  	FxAccess:           0,
 96684  	FxFullPathname:     0,
 96685  	FxDlOpen:           0,
 96686  	FxDlError:          0,
 96687  	FxDlSym:            0,
 96688  	FxDlClose:          0,
 96689  	FxRandomness:       0,
 96690  	FxSleep:            0,
 96691  	FxCurrentTime:      0,
 96692  	FxGetLastError:     0,
 96693  	FxCurrentTimeInt64: 0,
 96694  }
 96695  
 96696  var vfslog_io_methods = sqlite3_io_methods{
 96697  	FiVersion:               2,
 96698  	FxClose:                 0,
 96699  	FxRead:                  0,
 96700  	FxWrite:                 0,
 96701  	FxTruncate:              0,
 96702  	FxSync:                  0,
 96703  	FxFileSize:              0,
 96704  	FxLock:                  0,
 96705  	FxUnlock:                0,
 96706  	FxCheckReservedLock:     0,
 96707  	FxFileControl:           0,
 96708  	FxSectorSize:            0,
 96709  	FxDeviceCharacteristics: 0,
 96710  	FxShmMap:                0,
 96711  	FxShmLock:               0,
 96712  	FxShmBarrier:            0,
 96713  	FxShmUnmap:              0,
 96714  }
 96715  
 96716  func vfslog_time(tls *libc.TLS) sqlite3_uint64 {
 96717  	bp := tls.Alloc(8)
 96718  	defer tls.Free(8)
 96719  
 96720  	var u64time sqlite3_uint64 = uint64(0)
 96721  
 96722  	libc.XGetSystemTimeAsFileTime(tls, bp)
 96723  
 96724  	u64time = u64time | sqlite3_uint64((*FILETIME)(unsafe.Pointer(bp)).FdwHighDateTime)
 96725  	u64time <<= 32
 96726  	u64time = u64time | sqlite3_uint64((*FILETIME)(unsafe.Pointer(bp)).FdwLowDateTime)
 96727  
 96728  	return u64time / uint64(10)
 96729  }
 96730  
 96731  func vfslogClose(tls *libc.TLS, pFile uintptr) int32 {
 96732  	var t sqlite3_uint64
 96733  	var rc int32 = SQLITE_OK
 96734  	var p uintptr = pFile
 96735  
 96736  	t = vfslog_time(tls)
 96737  	if (*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods != 0 {
 96738  		rc = (*struct {
 96739  			f func(*libc.TLS, uintptr) int32
 96740  		})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxClose})).f(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal)
 96741  	}
 96742  	t = vfslog_time(tls) - t
 96743  	vfslog_call(tls, (*VfslogFile)(unsafe.Pointer(p)).FpVfslog, OS_CLOSE, (*VfslogFile)(unsafe.Pointer(p)).FiFileId, int64(t), rc, 0, 0)
 96744  	return rc
 96745  }
 96746  
 96747  func vfslogRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst sqlite_int64) int32 {
 96748  	var rc int32
 96749  	var t sqlite3_uint64
 96750  	var p uintptr = pFile
 96751  	t = vfslog_time(tls)
 96752  	rc = (*struct {
 96753  		f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32
 96754  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxRead})).f(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, zBuf, iAmt, iOfst)
 96755  	t = vfslog_time(tls) - t
 96756  	vfslog_call(tls, (*VfslogFile)(unsafe.Pointer(p)).FpVfslog, OS_READ, (*VfslogFile)(unsafe.Pointer(p)).FiFileId, int64(t), rc, iAmt, int32(iOfst))
 96757  	return rc
 96758  }
 96759  
 96760  func vfslogWrite(tls *libc.TLS, pFile uintptr, z uintptr, iAmt int32, iOfst sqlite_int64) int32 {
 96761  	var rc int32
 96762  	var t sqlite3_uint64
 96763  	var p uintptr = pFile
 96764  	t = vfslog_time(tls)
 96765  	rc = (*struct {
 96766  		f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32
 96767  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxWrite})).f(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, z, iAmt, iOfst)
 96768  	t = vfslog_time(tls) - t
 96769  	vfslog_call(tls, (*VfslogFile)(unsafe.Pointer(p)).FpVfslog, OS_WRITE, (*VfslogFile)(unsafe.Pointer(p)).FiFileId, int64(t), rc, iAmt, int32(iOfst))
 96770  	return rc
 96771  }
 96772  
 96773  func vfslogTruncate(tls *libc.TLS, pFile uintptr, size sqlite_int64) int32 {
 96774  	var rc int32
 96775  	var t sqlite3_uint64
 96776  	var p uintptr = pFile
 96777  	t = vfslog_time(tls)
 96778  	rc = (*struct {
 96779  		f func(*libc.TLS, uintptr, sqlite3_int64) int32
 96780  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxTruncate})).f(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, size)
 96781  	t = vfslog_time(tls) - t
 96782  	vfslog_call(tls, (*VfslogFile)(unsafe.Pointer(p)).FpVfslog, OS_TRUNCATE, (*VfslogFile)(unsafe.Pointer(p)).FiFileId, int64(t), rc, 0, int32(size))
 96783  	return rc
 96784  }
 96785  
 96786  func vfslogSync(tls *libc.TLS, pFile uintptr, flags int32) int32 {
 96787  	var rc int32
 96788  	var t sqlite3_uint64
 96789  	var p uintptr = pFile
 96790  	t = vfslog_time(tls)
 96791  	rc = (*struct {
 96792  		f func(*libc.TLS, uintptr, int32) int32
 96793  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxSync})).f(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, flags)
 96794  	t = vfslog_time(tls) - t
 96795  	vfslog_call(tls, (*VfslogFile)(unsafe.Pointer(p)).FpVfslog, OS_SYNC, (*VfslogFile)(unsafe.Pointer(p)).FiFileId, int64(t), rc, flags, 0)
 96796  	return rc
 96797  }
 96798  
 96799  func vfslogFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 {
 96800  	var rc int32
 96801  	var t sqlite3_uint64
 96802  	var p uintptr = pFile
 96803  	t = vfslog_time(tls)
 96804  	rc = (*struct {
 96805  		f func(*libc.TLS, uintptr, uintptr) int32
 96806  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxFileSize})).f(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, pSize)
 96807  	t = vfslog_time(tls) - t
 96808  	vfslog_call(tls, (*VfslogFile)(unsafe.Pointer(p)).FpVfslog, OS_FILESIZE, (*VfslogFile)(unsafe.Pointer(p)).FiFileId, int64(t), rc, 0, int32(*(*sqlite_int64)(unsafe.Pointer(pSize))))
 96809  	return rc
 96810  }
 96811  
 96812  func vfslogLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 {
 96813  	var rc int32
 96814  	var t sqlite3_uint64
 96815  	var p uintptr = pFile
 96816  	t = vfslog_time(tls)
 96817  	rc = (*struct {
 96818  		f func(*libc.TLS, uintptr, int32) int32
 96819  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxLock})).f(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, eLock)
 96820  	t = vfslog_time(tls) - t
 96821  	vfslog_call(tls, (*VfslogFile)(unsafe.Pointer(p)).FpVfslog, OS_LOCK, (*VfslogFile)(unsafe.Pointer(p)).FiFileId, int64(t), rc, eLock, 0)
 96822  	return rc
 96823  }
 96824  
 96825  func vfslogUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 {
 96826  	var rc int32
 96827  	var t sqlite3_uint64
 96828  	var p uintptr = pFile
 96829  	t = vfslog_time(tls)
 96830  	rc = (*struct {
 96831  		f func(*libc.TLS, uintptr, int32) int32
 96832  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxUnlock})).f(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, eLock)
 96833  	t = vfslog_time(tls) - t
 96834  	vfslog_call(tls, (*VfslogFile)(unsafe.Pointer(p)).FpVfslog, OS_UNLOCK, (*VfslogFile)(unsafe.Pointer(p)).FiFileId, int64(t), rc, eLock, 0)
 96835  	return rc
 96836  }
 96837  
 96838  func vfslogCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int32 {
 96839  	var rc int32
 96840  	var t sqlite3_uint64
 96841  	var p uintptr = pFile
 96842  	t = vfslog_time(tls)
 96843  	rc = (*struct {
 96844  		f func(*libc.TLS, uintptr, uintptr) int32
 96845  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxCheckReservedLock})).f(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, pResOut)
 96846  	t = vfslog_time(tls) - t
 96847  	vfslog_call(tls, (*VfslogFile)(unsafe.Pointer(p)).FpVfslog, OS_CHECKRESERVEDLOCK, (*VfslogFile)(unsafe.Pointer(p)).FiFileId, int64(t), rc, *(*int32)(unsafe.Pointer(pResOut)), 0)
 96848  	return rc
 96849  }
 96850  
 96851  func vfslogFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 {
 96852  	bp := tls.Alloc(8)
 96853  	defer tls.Free(8)
 96854  
 96855  	var p uintptr = pFile
 96856  	var rc int32 = (*struct {
 96857  		f func(*libc.TLS, uintptr, int32, uintptr) int32
 96858  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxFileControl})).f(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, op, pArg)
 96859  	if op == SQLITE_FCNTL_VFSNAME && rc == SQLITE_OK {
 96860  		*(*uintptr)(unsafe.Pointer(pArg)) = sqlite3.Xsqlite3_mprintf(tls, ts+35262, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pArg))))
 96861  	}
 96862  	return rc
 96863  }
 96864  
 96865  func vfslogSectorSize(tls *libc.TLS, pFile uintptr) int32 {
 96866  	var rc int32
 96867  	var t sqlite3_uint64
 96868  	var p uintptr = pFile
 96869  	t = vfslog_time(tls)
 96870  	rc = (*struct {
 96871  		f func(*libc.TLS, uintptr) int32
 96872  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxSectorSize})).f(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal)
 96873  	t = vfslog_time(tls) - t
 96874  	vfslog_call(tls, (*VfslogFile)(unsafe.Pointer(p)).FpVfslog, OS_SECTORSIZE, (*VfslogFile)(unsafe.Pointer(p)).FiFileId, int64(t), rc, 0, 0)
 96875  	return rc
 96876  }
 96877  
 96878  func vfslogDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 {
 96879  	var rc int32
 96880  	var t sqlite3_uint64
 96881  	var p uintptr = pFile
 96882  	t = vfslog_time(tls)
 96883  	rc = (*struct {
 96884  		f func(*libc.TLS, uintptr) int32
 96885  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxDeviceCharacteristics})).f(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal)
 96886  	t = vfslog_time(tls) - t
 96887  	vfslog_call(tls, (*VfslogFile)(unsafe.Pointer(p)).FpVfslog, OS_DEVCHAR, (*VfslogFile)(unsafe.Pointer(p)).FiFileId, int64(t), rc, 0, 0)
 96888  	return rc
 96889  }
 96890  
 96891  func vfslogShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int32) int32 {
 96892  	var rc int32
 96893  	var t sqlite3_uint64
 96894  	var p uintptr = pFile
 96895  	t = vfslog_time(tls)
 96896  	rc = (*struct {
 96897  		f func(*libc.TLS, uintptr, int32, int32, int32) int32
 96898  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmLock})).f(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, ofst, n, flags)
 96899  	t = vfslog_time(tls) - t
 96900  	vfslog_call(tls, (*VfslogFile)(unsafe.Pointer(p)).FpVfslog, OS_SHMLOCK, (*VfslogFile)(unsafe.Pointer(p)).FiFileId, int64(t), rc, 0, 0)
 96901  	return rc
 96902  }
 96903  
 96904  func vfslogShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, szRegion int32, isWrite int32, pp uintptr) int32 {
 96905  	var rc int32
 96906  	var t sqlite3_uint64
 96907  	var p uintptr = pFile
 96908  	t = vfslog_time(tls)
 96909  	rc = (*struct {
 96910  		f func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32
 96911  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmMap})).f(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, iRegion, szRegion, isWrite, pp)
 96912  	t = vfslog_time(tls) - t
 96913  	vfslog_call(tls, (*VfslogFile)(unsafe.Pointer(p)).FpVfslog, OS_SHMMAP, (*VfslogFile)(unsafe.Pointer(p)).FiFileId, int64(t), rc, 0, 0)
 96914  	return rc
 96915  }
 96916  
 96917  func vfslogShmBarrier(tls *libc.TLS, pFile uintptr) {
 96918  	var t sqlite3_uint64
 96919  	var p uintptr = pFile
 96920  	t = vfslog_time(tls)
 96921  	(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmBarrier})).f(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal)
 96922  	t = vfslog_time(tls) - t
 96923  	vfslog_call(tls, (*VfslogFile)(unsafe.Pointer(p)).FpVfslog, OS_SHMBARRIER, (*VfslogFile)(unsafe.Pointer(p)).FiFileId, int64(t), SQLITE_OK, 0, 0)
 96924  }
 96925  
 96926  func vfslogShmUnmap(tls *libc.TLS, pFile uintptr, deleteFlag int32) int32 {
 96927  	var rc int32
 96928  	var t sqlite3_uint64
 96929  	var p uintptr = pFile
 96930  	t = vfslog_time(tls)
 96931  	rc = (*struct {
 96932  		f func(*libc.TLS, uintptr, int32) int32
 96933  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmUnmap})).f(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, deleteFlag)
 96934  	t = vfslog_time(tls) - t
 96935  	vfslog_call(tls, (*VfslogFile)(unsafe.Pointer(p)).FpVfslog, OS_SHMUNMAP, (*VfslogFile)(unsafe.Pointer(p)).FiFileId, int64(t), rc, 0, 0)
 96936  	return rc
 96937  }
 96938  
 96939  func vfslogOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags int32, pOutFlags uintptr) int32 {
 96940  	var rc int32
 96941  	var t sqlite3_uint64
 96942  	var p uintptr = pFile
 96943  	var pLog uintptr = pVfs
 96944  
 96945  	(*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods = uintptr(unsafe.Pointer(&vfslog_io_methods))
 96946  	(*VfslogFile)(unsafe.Pointer(p)).FpReal = p + 1*32
 96947  	(*VfslogFile)(unsafe.Pointer(p)).FpVfslog = pVfs
 96948  	(*VfslogFile)(unsafe.Pointer(p)).FiFileId = libc.PreIncInt32(&(*VfslogVfs)(unsafe.Pointer(pLog)).FiNextFileId, 1)
 96949  
 96950  	t = vfslog_time(tls)
 96951  	rc = (*struct {
 96952  		f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32
 96953  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs)).FxOpen})).f(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, zName, (*VfslogFile)(unsafe.Pointer(p)).FpReal, flags, pOutFlags)
 96954  	t = vfslog_time(tls) - t
 96955  
 96956  	vfslog_call(tls, pVfs, OS_OPEN, (*VfslogFile)(unsafe.Pointer(p)).FiFileId, int64(t), rc, 0, 0)
 96957  	vfslog_string(tls, pVfs, zName)
 96958  	return rc
 96959  }
 96960  
 96961  func vfslogDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 {
 96962  	var rc int32
 96963  	var t sqlite3_uint64
 96964  	t = vfslog_time(tls)
 96965  	rc = (*struct {
 96966  		f func(*libc.TLS, uintptr, uintptr, int32) int32
 96967  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs)).FxDelete})).f(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, zPath, dirSync)
 96968  	t = vfslog_time(tls) - t
 96969  	vfslog_call(tls, pVfs, OS_DELETE, 0, int64(t), rc, dirSync, 0)
 96970  	vfslog_string(tls, pVfs, zPath)
 96971  	return rc
 96972  }
 96973  
 96974  func vfslogAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 {
 96975  	var rc int32
 96976  	var t sqlite3_uint64
 96977  	t = vfslog_time(tls)
 96978  	rc = (*struct {
 96979  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 96980  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs)).FxAccess})).f(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, zPath, flags, pResOut)
 96981  	t = vfslog_time(tls) - t
 96982  	vfslog_call(tls, pVfs, OS_ACCESS, 0, int64(t), rc, flags, *(*int32)(unsafe.Pointer(pResOut)))
 96983  	vfslog_string(tls, pVfs, zPath)
 96984  	return rc
 96985  }
 96986  
 96987  func vfslogFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 {
 96988  	return (*struct {
 96989  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 96990  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs)).FxFullPathname})).f(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, zPath, nOut, zOut)
 96991  }
 96992  
 96993  func vfslogDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr {
 96994  	return (*struct {
 96995  		f func(*libc.TLS, uintptr, uintptr) uintptr
 96996  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs)).FxDlOpen})).f(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, zPath)
 96997  }
 96998  
 96999  func vfslogDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) {
 97000  	(*struct {
 97001  		f func(*libc.TLS, uintptr, int32, uintptr)
 97002  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs)).FxDlError})).f(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, nByte, zErrMsg)
 97003  }
 97004  
 97005  func vfslogDlSym(tls *libc.TLS, pVfs uintptr, p uintptr, zSym uintptr) uintptr {
 97006  	return (*struct {
 97007  		f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr
 97008  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs)).FxDlSym})).f(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, p, zSym)
 97009  }
 97010  
 97011  func vfslogDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) {
 97012  	(*struct {
 97013  		f func(*libc.TLS, uintptr, uintptr)
 97014  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs)).FxDlClose})).f(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, pHandle)
 97015  }
 97016  
 97017  func vfslogRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 {
 97018  	return (*struct {
 97019  		f func(*libc.TLS, uintptr, int32, uintptr) int32
 97020  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs)).FxRandomness})).f(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, nByte, zBufOut)
 97021  }
 97022  
 97023  func vfslogSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 {
 97024  	return (*struct {
 97025  		f func(*libc.TLS, uintptr, int32) int32
 97026  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs)).FxSleep})).f(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, nMicro)
 97027  }
 97028  
 97029  func vfslogCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 {
 97030  	return (*struct {
 97031  		f func(*libc.TLS, uintptr, uintptr) int32
 97032  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs)).FxCurrentTime})).f(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, pTimeOut)
 97033  }
 97034  
 97035  func vfslogGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 {
 97036  	return (*struct {
 97037  		f func(*libc.TLS, uintptr, int32, uintptr) int32
 97038  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs)).FxGetLastError})).f(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, a, b)
 97039  }
 97040  
 97041  func vfslogCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, p uintptr) int32 {
 97042  	return (*struct {
 97043  		f func(*libc.TLS, uintptr, uintptr) int32
 97044  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs)).FxCurrentTimeInt64})).f(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, p)
 97045  }
 97046  
 97047  func vfslog_flush(tls *libc.TLS, p uintptr) {
 97048  	var pending int32 = libc.AtomicLoadInt32(&sqlite3.Xsqlite3_io_error_pending)
 97049  	var persist int32 = sqlite3.Xsqlite3_io_error_persist
 97050  	var diskfull int32 = sqlite3.Xsqlite3_diskfull_pending
 97051  
 97052  	libc.AtomicStoreInt32(&sqlite3.Xsqlite3_io_error_pending, int32(0))
 97053  	sqlite3.Xsqlite3_io_error_persist = 0
 97054  	sqlite3.Xsqlite3_diskfull_pending = 0
 97055  
 97056  	if (*VfslogVfs)(unsafe.Pointer(p)).FnBuf != 0 {
 97057  		(*struct {
 97058  			f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32
 97059  		})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogVfs)(unsafe.Pointer(p)).FpLog)).FpMethods)).FxWrite})).f(tls, (*VfslogVfs)(unsafe.Pointer(p)).FpLog, p+204, (*VfslogVfs)(unsafe.Pointer(p)).FnBuf, (*VfslogVfs)(unsafe.Pointer(p)).FiOffset)
 97060  		*(*sqlite3_int64)(unsafe.Pointer(p + 192)) += sqlite3_int64((*VfslogVfs)(unsafe.Pointer(p)).FnBuf)
 97061  		(*VfslogVfs)(unsafe.Pointer(p)).FnBuf = 0
 97062  	}
 97063  
 97064  	libc.AtomicStoreInt32(&sqlite3.Xsqlite3_io_error_pending, pending)
 97065  	sqlite3.Xsqlite3_io_error_persist = persist
 97066  	sqlite3.Xsqlite3_diskfull_pending = diskfull
 97067  }
 97068  
 97069  func put32bits(tls *libc.TLS, p uintptr, v uint32) {
 97070  	*(*uint8)(unsafe.Pointer(p)) = uint8(v >> 24)
 97071  	*(*uint8)(unsafe.Pointer(p + 1)) = uint8(v >> 16)
 97072  	*(*uint8)(unsafe.Pointer(p + 2)) = uint8(v >> 8)
 97073  	*(*uint8)(unsafe.Pointer(p + 3)) = uint8(v)
 97074  }
 97075  
 97076  func vfslog_call(tls *libc.TLS, pVfs uintptr, eEvent int32, iFileid int32, nClick sqlite3_int64, return_code int32, size int32, offset int32) {
 97077  	var p uintptr = pVfs
 97078  	var zRec uintptr
 97079  	if uint64(24+(*VfslogVfs)(unsafe.Pointer(p)).FnBuf) > uint64(unsafe.Sizeof([8192]int8{})) {
 97080  		vfslog_flush(tls, p)
 97081  	}
 97082  	zRec = p + 204 + uintptr((*VfslogVfs)(unsafe.Pointer(p)).FnBuf)
 97083  	put32bits(tls, zRec, uint32(eEvent))
 97084  	put32bits(tls, zRec+4, uint32(iFileid))
 97085  	put32bits(tls, zRec+8, uint32(nClick&int64(0xffff)))
 97086  	put32bits(tls, zRec+12, uint32(return_code))
 97087  	put32bits(tls, zRec+16, uint32(size))
 97088  	put32bits(tls, zRec+20, uint32(offset))
 97089  	*(*int32)(unsafe.Pointer(p + 200)) += 24
 97090  }
 97091  
 97092  func vfslog_string(tls *libc.TLS, pVfs uintptr, zStr uintptr) {
 97093  	var p uintptr = pVfs
 97094  	var zRec uintptr
 97095  	var nStr int32
 97096  	if zStr != 0 {
 97097  		nStr = int32(libc.Xstrlen(tls, zStr))
 97098  	} else {
 97099  		nStr = 0
 97100  	}
 97101  	if uint64(4+nStr+(*VfslogVfs)(unsafe.Pointer(p)).FnBuf) > uint64(unsafe.Sizeof([8192]int8{})) {
 97102  		vfslog_flush(tls, p)
 97103  	}
 97104  	zRec = p + 204 + uintptr((*VfslogVfs)(unsafe.Pointer(p)).FnBuf)
 97105  	put32bits(tls, zRec, uint32(nStr))
 97106  	if zStr != 0 {
 97107  		libc.Xmemcpy(tls, zRec+4, zStr, uint64(nStr))
 97108  	}
 97109  	*(*int32)(unsafe.Pointer(p + 200)) += 4 + nStr
 97110  }
 97111  
 97112  func vfslog_finalize(tls *libc.TLS, p uintptr) {
 97113  	if (*sqlite3_file)(unsafe.Pointer((*VfslogVfs)(unsafe.Pointer(p)).FpLog)).FpMethods != 0 {
 97114  		vfslog_flush(tls, p)
 97115  		(*struct {
 97116  			f func(*libc.TLS, uintptr) int32
 97117  		})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogVfs)(unsafe.Pointer(p)).FpLog)).FpMethods)).FxClose})).f(tls, (*VfslogVfs)(unsafe.Pointer(p)).FpLog)
 97118  	}
 97119  	sqlite3.Xsqlite3_free(tls, p)
 97120  }
 97121  
 97122  func sqlite3_vfslog_finalize(tls *libc.TLS, zVfs uintptr) int32 {
 97123  	var pVfs uintptr
 97124  	pVfs = sqlite3.Xsqlite3_vfs_find(tls, zVfs)
 97125  	if !(pVfs != 0) || (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxOpen != *(*uintptr)(unsafe.Pointer(&struct {
 97126  		f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32
 97127  	}{vfslogOpen})) {
 97128  		return SQLITE_ERROR
 97129  	}
 97130  	sqlite3.Xsqlite3_vfs_unregister(tls, pVfs)
 97131  	vfslog_finalize(tls, pVfs)
 97132  	return SQLITE_OK
 97133  }
 97134  
 97135  func sqlite3_vfslog_new(tls *libc.TLS, zVfs uintptr, zParentVfs uintptr, zLog uintptr) int32 {
 97136  	bp := tls.Alloc(4)
 97137  	defer tls.Free(4)
 97138  
 97139  	var p uintptr
 97140  	var pParent uintptr
 97141  	var nByte int32
 97142  
 97143  	var rc int32
 97144  	var zFile uintptr
 97145  	var nVfs int32
 97146  
 97147  	pParent = sqlite3.Xsqlite3_vfs_find(tls, zParentVfs)
 97148  	if !(pParent != 0) {
 97149  		return SQLITE_ERROR
 97150  	}
 97151  
 97152  	nVfs = int32(libc.Xstrlen(tls, zVfs))
 97153  	nByte = int32(uint64(unsafe.Sizeof(VfslogVfs{})) + uint64((*sqlite3_vfs)(unsafe.Pointer(pParent)).FszOsFile) + uint64(nVfs) + uint64(1) + uint64((*sqlite3_vfs)(unsafe.Pointer(pParent)).FmxPathname) + uint64(1))
 97154  	p = sqlite3.Xsqlite3_malloc(tls, nByte)
 97155  	libc.Xmemset(tls, p, 0, uint64(nByte))
 97156  
 97157  	(*VfslogVfs)(unsafe.Pointer(p)).FpVfs = pParent
 97158  	(*VfslogVfs)(unsafe.Pointer(p)).FpLog = p + 1*8400
 97159  	libc.Xmemcpy(tls, p, uintptr(unsafe.Pointer(&vfslog_vfs)), uint64(unsafe.Sizeof(sqlite3_vfs{})))
 97160  	(*VfslogVfs)(unsafe.Pointer(p)).Fbase.FzName = (*VfslogVfs)(unsafe.Pointer(p)).FpLog + uintptr((*sqlite3_vfs)(unsafe.Pointer(pParent)).FszOsFile)
 97161  	*(*int32)(unsafe.Pointer(p + 4)) += (*sqlite3_vfs)(unsafe.Pointer(pParent)).FszOsFile
 97162  	libc.Xmemcpy(tls, (*VfslogVfs)(unsafe.Pointer(p)).Fbase.FzName, zVfs, uint64(nVfs))
 97163  
 97164  	zFile = (*VfslogVfs)(unsafe.Pointer(p)).Fbase.FzName + uintptr(nVfs+1)
 97165  	(*struct {
 97166  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 97167  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pParent)).FxFullPathname})).f(tls, pParent, zLog, (*sqlite3_vfs)(unsafe.Pointer(pParent)).FmxPathname, zFile)
 97168  
 97169  	*(*int32)(unsafe.Pointer(bp)) = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_SUPER_JOURNAL
 97170  	(*struct {
 97171  		f func(*libc.TLS, uintptr, uintptr, int32) int32
 97172  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pParent)).FxDelete})).f(tls, pParent, zFile, 0)
 97173  	rc = (*struct {
 97174  		f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32
 97175  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pParent)).FxOpen})).f(tls, pParent, zFile, (*VfslogVfs)(unsafe.Pointer(p)).FpLog, *(*int32)(unsafe.Pointer(bp)), bp)
 97176  	if rc == SQLITE_OK {
 97177  		libc.Xmemcpy(tls, p+204, ts+35272, uint64(20))
 97178  		(*VfslogVfs)(unsafe.Pointer(p)).FiOffset = int64(0)
 97179  		(*VfslogVfs)(unsafe.Pointer(p)).FnBuf = 20
 97180  		rc = sqlite3.Xsqlite3_vfs_register(tls, p, 1)
 97181  	}
 97182  	if rc != 0 {
 97183  		vfslog_finalize(tls, p)
 97184  	}
 97185  	return rc
 97186  }
 97187  
 97188  func sqlite3_vfslog_annotate(tls *libc.TLS, zVfs uintptr, zMsg uintptr) int32 {
 97189  	var pVfs uintptr
 97190  	pVfs = sqlite3.Xsqlite3_vfs_find(tls, zVfs)
 97191  	if !(pVfs != 0) || (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxOpen != *(*uintptr)(unsafe.Pointer(&struct {
 97192  		f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32
 97193  	}{vfslogOpen})) {
 97194  		return SQLITE_ERROR
 97195  	}
 97196  	vfslog_call(tls, pVfs, OS_ANNOTATE, 0, int64(0), 0, 0, 0)
 97197  	vfslog_string(tls, pVfs, zMsg)
 97198  	return SQLITE_OK
 97199  }
 97200  
 97201  func vfslog_eventname(tls *libc.TLS, eEvent int32) uintptr {
 97202  	var zEvent uintptr = uintptr(0)
 97203  
 97204  	switch eEvent {
 97205  	case OS_CLOSE:
 97206  		zEvent = ts + 35293
 97207  		break
 97208  	case OS_READ:
 97209  		zEvent = ts + 35300
 97210  		break
 97211  	case OS_WRITE:
 97212  		zEvent = ts + 35306
 97213  		break
 97214  	case OS_TRUNCATE:
 97215  		zEvent = ts + 35313
 97216  		break
 97217  	case OS_SYNC:
 97218  		zEvent = ts + 27547
 97219  		break
 97220  	case OS_FILESIZE:
 97221  		zEvent = ts + 35323
 97222  		break
 97223  	case OS_LOCK:
 97224  		zEvent = ts + 35333
 97225  		break
 97226  	case OS_UNLOCK:
 97227  		zEvent = ts + 35339
 97228  		break
 97229  	case OS_CHECKRESERVEDLOCK:
 97230  		zEvent = ts + 35347
 97231  		break
 97232  	case OS_FILECONTROL:
 97233  		zEvent = ts + 35361
 97234  		break
 97235  	case OS_SECTORSIZE:
 97236  		zEvent = ts + 35374
 97237  		break
 97238  	case OS_DEVCHAR:
 97239  		zEvent = ts + 35386
 97240  		break
 97241  	case OS_OPEN:
 97242  		zEvent = ts + 27125
 97243  		break
 97244  	case OS_DELETE:
 97245  		zEvent = ts + 35398
 97246  		break
 97247  	case OS_ACCESS:
 97248  		zEvent = ts + 35406
 97249  		break
 97250  	case OS_FULLPATHNAME:
 97251  		zEvent = ts + 35414
 97252  		break
 97253  	case OS_RANDOMNESS:
 97254  		zEvent = ts + 35428
 97255  		break
 97256  	case OS_SLEEP:
 97257  		zEvent = ts + 35440
 97258  		break
 97259  	case OS_CURRENTTIME:
 97260  		zEvent = ts + 35447
 97261  		break
 97262  
 97263  	case OS_SHMUNMAP:
 97264  		zEvent = ts + 35460
 97265  		break
 97266  	case OS_SHMLOCK:
 97267  		zEvent = ts + 35470
 97268  		break
 97269  	case OS_SHMBARRIER:
 97270  		zEvent = ts + 35479
 97271  		break
 97272  	case OS_SHMMAP:
 97273  		zEvent = ts + 35491
 97274  		break
 97275  
 97276  	case OS_ANNOTATE:
 97277  		zEvent = ts + 35499
 97278  		break
 97279  	}
 97280  
 97281  	return zEvent
 97282  }
 97283  
 97284  type VfslogVtab1 = struct {
 97285  	Fbase  sqlite3_vtab
 97286  	FpFd   uintptr
 97287  	FnByte sqlite3_int64
 97288  	FzFile uintptr
 97289  }
 97290  
 97291  type VfslogVtab = VfslogVtab1
 97292  type VfslogCsr1 = struct {
 97293  	Fbase        sqlite3_vtab_cursor
 97294  	FiRowid      sqlite3_int64
 97295  	FiOffset     sqlite3_int64
 97296  	FzTransient  uintptr
 97297  	FnFile       int32
 97298  	F__ccgo_pad1 [4]byte
 97299  	FazFile      uintptr
 97300  	FaBuf        [1024]uint8
 97301  }
 97302  
 97303  type VfslogCsr = VfslogCsr1
 97304  
 97305  func get32bits(tls *libc.TLS, p uintptr) uint32 {
 97306  	return uint32(int32(*(*uint8)(unsafe.Pointer(p)))<<24 + int32(*(*uint8)(unsafe.Pointer(p + 1)))<<16 + int32(*(*uint8)(unsafe.Pointer(p + 2)))<<8 + int32(*(*uint8)(unsafe.Pointer(p + 3))))
 97307  }
 97308  
 97309  func dequote(tls *libc.TLS, z uintptr) {
 97310  	var quote int8
 97311  	quote = *(*int8)(unsafe.Pointer(z))
 97312  	if int32(quote) == '[' || int32(quote) == '\'' || int32(quote) == '"' || int32(quote) == '`' {
 97313  		var iIn int32 = 1
 97314  		var iOut int32 = 0
 97315  		if int32(quote) == '[' {
 97316  			quote = int8(']')
 97317  		}
 97318  		for *(*int8)(unsafe.Pointer(z + uintptr(iIn))) != 0 {
 97319  			if int32(*(*int8)(unsafe.Pointer(z + uintptr(iIn)))) == int32(quote) {
 97320  				if int32(*(*int8)(unsafe.Pointer(z + uintptr(iIn+1)))) != int32(quote) {
 97321  					break
 97322  				}
 97323  				*(*int8)(unsafe.Pointer(z + uintptr(libc.PostIncInt32(&iOut, 1)))) = quote
 97324  				iIn = iIn + 2
 97325  			} else {
 97326  				*(*int8)(unsafe.Pointer(z + uintptr(libc.PostIncInt32(&iOut, 1)))) = *(*int8)(unsafe.Pointer(z + uintptr(libc.PostIncInt32(&iIn, 1))))
 97327  			}
 97328  		}
 97329  		*(*int8)(unsafe.Pointer(z + uintptr(iOut))) = int8(0)
 97330  	}
 97331  }
 97332  
 97333  func vlogConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 {
 97334  	bp := tls.Alloc(12)
 97335  	defer tls.Free(12)
 97336  
 97337  	var pVfs uintptr
 97338  
 97339  	var p uintptr
 97340  	var rc int32
 97341  	var nByte int32
 97342  	var zFile uintptr
 97343  
 97344  	*(*uintptr)(unsafe.Pointer(ppVtab)) = uintptr(0)
 97345  	pVfs = sqlite3.Xsqlite3_vfs_find(tls, uintptr(0))
 97346  	nByte = int32(uint64(unsafe.Sizeof(VfslogVtab{})) + uint64((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FszOsFile) + uint64((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FmxPathname))
 97347  	p = sqlite3.Xsqlite3_malloc(tls, nByte)
 97348  	if p == uintptr(0) {
 97349  		return SQLITE_NOMEM
 97350  	}
 97351  	libc.Xmemset(tls, p, 0, uint64(nByte))
 97352  
 97353  	(*VfslogVtab)(unsafe.Pointer(p)).FpFd = p + 1*48
 97354  	(*VfslogVtab)(unsafe.Pointer(p)).FzFile = (*VfslogVtab)(unsafe.Pointer(p)).FpFd + uintptr((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FszOsFile)
 97355  
 97356  	zFile = sqlite3.Xsqlite3_mprintf(tls, ts, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(argv + 3*8))))
 97357  	if !(zFile != 0) {
 97358  		sqlite3.Xsqlite3_free(tls, p)
 97359  		return SQLITE_NOMEM
 97360  	}
 97361  	dequote(tls, zFile)
 97362  	(*struct {
 97363  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 97364  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxFullPathname})).f(tls, pVfs, zFile, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FmxPathname, (*VfslogVtab)(unsafe.Pointer(p)).FzFile)
 97365  	sqlite3.Xsqlite3_free(tls, zFile)
 97366  
 97367  	*(*int32)(unsafe.Pointer(bp + 8)) = SQLITE_OPEN_READWRITE | SQLITE_OPEN_SUPER_JOURNAL
 97368  	rc = (*struct {
 97369  		f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32
 97370  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxOpen})).f(tls, pVfs, (*VfslogVtab)(unsafe.Pointer(p)).FzFile, (*VfslogVtab)(unsafe.Pointer(p)).FpFd, *(*int32)(unsafe.Pointer(bp + 8)), bp+8)
 97371  
 97372  	if rc == SQLITE_OK {
 97373  		(*struct {
 97374  			f func(*libc.TLS, uintptr, uintptr) int32
 97375  		})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogVtab)(unsafe.Pointer(p)).FpFd)).FpMethods)).FxFileSize})).f(tls, (*VfslogVtab)(unsafe.Pointer(p)).FpFd, p+32)
 97376  		sqlite3.Xsqlite3_declare_vtab(tls, db,
 97377  			ts+35510)
 97378  		*(*uintptr)(unsafe.Pointer(ppVtab)) = p
 97379  	} else {
 97380  		sqlite3.Xsqlite3_free(tls, p)
 97381  	}
 97382  
 97383  	return rc
 97384  }
 97385  
 97386  func vlogBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 {
 97387  	(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 10.0
 97388  	return SQLITE_OK
 97389  }
 97390  
 97391  func vlogDisconnect(tls *libc.TLS, pVtab uintptr) int32 {
 97392  	var p uintptr = pVtab
 97393  	if (*sqlite3_file)(unsafe.Pointer((*VfslogVtab)(unsafe.Pointer(p)).FpFd)).FpMethods != 0 {
 97394  		(*struct {
 97395  			f func(*libc.TLS, uintptr) int32
 97396  		})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogVtab)(unsafe.Pointer(p)).FpFd)).FpMethods)).FxClose})).f(tls, (*VfslogVtab)(unsafe.Pointer(p)).FpFd)
 97397  		(*sqlite3_file)(unsafe.Pointer((*VfslogVtab)(unsafe.Pointer(p)).FpFd)).FpMethods = uintptr(0)
 97398  	}
 97399  	sqlite3.Xsqlite3_free(tls, p)
 97400  	return SQLITE_OK
 97401  }
 97402  
 97403  func vlogOpen(tls *libc.TLS, pVTab uintptr, ppCursor uintptr) int32 {
 97404  	var pCsr uintptr
 97405  
 97406  	pCsr = sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(VfslogCsr{})))
 97407  	if !(pCsr != 0) {
 97408  		return SQLITE_NOMEM
 97409  	}
 97410  	libc.Xmemset(tls, pCsr, 0, uint64(unsafe.Sizeof(VfslogCsr{})))
 97411  	*(*uintptr)(unsafe.Pointer(ppCursor)) = pCsr
 97412  	return SQLITE_OK
 97413  }
 97414  
 97415  func vlogClose(tls *libc.TLS, pCursor uintptr) int32 {
 97416  	var p uintptr = pCursor
 97417  	var i int32
 97418  	for i = 0; i < (*VfslogCsr)(unsafe.Pointer(p)).FnFile; i++ {
 97419  		sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer((*VfslogCsr)(unsafe.Pointer(p)).FazFile + uintptr(i)*8)))
 97420  	}
 97421  	sqlite3.Xsqlite3_free(tls, (*VfslogCsr)(unsafe.Pointer(p)).FazFile)
 97422  	sqlite3.Xsqlite3_free(tls, (*VfslogCsr)(unsafe.Pointer(p)).FzTransient)
 97423  	sqlite3.Xsqlite3_free(tls, p)
 97424  	return SQLITE_OK
 97425  }
 97426  
 97427  func vlogNext(tls *libc.TLS, pCursor uintptr) int32 {
 97428  	bp := tls.Alloc(4)
 97429  	defer tls.Free(4)
 97430  
 97431  	var pCsr uintptr = pCursor
 97432  	var p uintptr = (*sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab
 97433  	var rc int32 = SQLITE_OK
 97434  	var nRead int32
 97435  
 97436  	sqlite3.Xsqlite3_free(tls, (*VfslogCsr)(unsafe.Pointer(pCsr)).FzTransient)
 97437  	(*VfslogCsr)(unsafe.Pointer(pCsr)).FzTransient = uintptr(0)
 97438  
 97439  	nRead = 24
 97440  	if (*VfslogCsr)(unsafe.Pointer(pCsr)).FiOffset+sqlite3_int64(nRead) <= (*VfslogVtab)(unsafe.Pointer(p)).FnByte {
 97441  		var eEvent int32
 97442  		rc = (*struct {
 97443  			f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32
 97444  		})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogVtab)(unsafe.Pointer(p)).FpFd)).FpMethods)).FxRead})).f(tls, (*VfslogVtab)(unsafe.Pointer(p)).FpFd, pCsr+48, nRead, (*VfslogCsr)(unsafe.Pointer(pCsr)).FiOffset)
 97445  
 97446  		eEvent = int32(get32bits(tls, pCsr+48))
 97447  		if rc == SQLITE_OK &&
 97448  			(eEvent == OS_OPEN || eEvent == OS_DELETE || eEvent == OS_ACCESS) {
 97449  			rc = (*struct {
 97450  				f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32
 97451  			})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogVtab)(unsafe.Pointer(p)).FpFd)).FpMethods)).FxRead})).f(tls, (*VfslogVtab)(unsafe.Pointer(p)).FpFd, bp, 4, (*VfslogCsr)(unsafe.Pointer(pCsr)).FiOffset+sqlite3_int64(nRead))
 97452  			nRead = nRead + 4
 97453  			if rc == SQLITE_OK {
 97454  				var nStr int32 = int32(get32bits(tls, bp))
 97455  				var zStr uintptr = sqlite3.Xsqlite3_malloc(tls, nStr+1)
 97456  				rc = (*struct {
 97457  					f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32
 97458  				})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogVtab)(unsafe.Pointer(p)).FpFd)).FpMethods)).FxRead})).f(tls, (*VfslogVtab)(unsafe.Pointer(p)).FpFd, zStr, nStr, (*VfslogCsr)(unsafe.Pointer(pCsr)).FiOffset+sqlite3_int64(nRead))
 97459  				*(*int8)(unsafe.Pointer(zStr + uintptr(nStr))) = int8(0)
 97460  				nRead = nRead + nStr
 97461  
 97462  				if eEvent == OS_OPEN {
 97463  					var iFileid int32 = int32(get32bits(tls, pCsr+48+4))
 97464  					if iFileid >= (*VfslogCsr)(unsafe.Pointer(pCsr)).FnFile {
 97465  						var nNew int32 = int32(uint64(unsafe.Sizeof(uintptr(0))) * uint64(iFileid+1))
 97466  						(*VfslogCsr)(unsafe.Pointer(pCsr)).FazFile = sqlite3.Xsqlite3_realloc(tls, (*VfslogCsr)(unsafe.Pointer(pCsr)).FazFile, nNew)
 97467  						nNew = int32(uint64(nNew) - uint64(unsafe.Sizeof(uintptr(0)))*uint64((*VfslogCsr)(unsafe.Pointer(pCsr)).FnFile))
 97468  						libc.Xmemset(tls, (*VfslogCsr)(unsafe.Pointer(pCsr)).FazFile+uintptr((*VfslogCsr)(unsafe.Pointer(pCsr)).FnFile)*8, 0, uint64(nNew))
 97469  						(*VfslogCsr)(unsafe.Pointer(pCsr)).FnFile = iFileid + 1
 97470  					}
 97471  					sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer((*VfslogCsr)(unsafe.Pointer(pCsr)).FazFile + uintptr(iFileid)*8)))
 97472  					*(*uintptr)(unsafe.Pointer((*VfslogCsr)(unsafe.Pointer(pCsr)).FazFile + uintptr(iFileid)*8)) = zStr
 97473  				} else {
 97474  					(*VfslogCsr)(unsafe.Pointer(pCsr)).FzTransient = zStr
 97475  				}
 97476  			}
 97477  		}
 97478  	}
 97479  
 97480  	*(*sqlite3_int64)(unsafe.Pointer(pCsr + 8)) += int64(1)
 97481  	*(*sqlite3_int64)(unsafe.Pointer(pCsr + 16)) += sqlite3_int64(nRead)
 97482  	return rc
 97483  }
 97484  
 97485  func vlogEof(tls *libc.TLS, pCursor uintptr) int32 {
 97486  	var pCsr uintptr = pCursor
 97487  	var p uintptr = (*sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab
 97488  	return libc.Bool32((*VfslogCsr)(unsafe.Pointer(pCsr)).FiOffset >= (*VfslogVtab)(unsafe.Pointer(p)).FnByte)
 97489  }
 97490  
 97491  func vlogFilter(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 {
 97492  	var pCsr uintptr = pCursor
 97493  	(*VfslogCsr)(unsafe.Pointer(pCsr)).FiRowid = int64(0)
 97494  	(*VfslogCsr)(unsafe.Pointer(pCsr)).FiOffset = int64(20)
 97495  	return vlogNext(tls, pCursor)
 97496  }
 97497  
 97498  func vlogColumn(tls *libc.TLS, pCursor uintptr, ctx uintptr, i int32) int32 {
 97499  	var val uint32
 97500  	var pCsr uintptr = pCursor
 97501  
 97502  	val = get32bits(tls, pCsr+48+uintptr(4*i))
 97503  
 97504  	switch i {
 97505  	case 0:
 97506  		{
 97507  			sqlite3.Xsqlite3_result_text(tls, ctx, vfslog_eventname(tls, int32(val)), -1, uintptr(0))
 97508  			break
 97509  
 97510  		}
 97511  	case 1:
 97512  		{
 97513  			var zStr uintptr = (*VfslogCsr)(unsafe.Pointer(pCsr)).FzTransient
 97514  			if val != uint32(0) && val < uint32((*VfslogCsr)(unsafe.Pointer(pCsr)).FnFile) {
 97515  				zStr = *(*uintptr)(unsafe.Pointer((*VfslogCsr)(unsafe.Pointer(pCsr)).FazFile + uintptr(val)*8))
 97516  			}
 97517  			sqlite3.Xsqlite3_result_text(tls, ctx, zStr, -1, libc.UintptrFromInt32(-1))
 97518  			break
 97519  
 97520  		}
 97521  	default:
 97522  		sqlite3.Xsqlite3_result_int(tls, ctx, int32(val))
 97523  		break
 97524  	}
 97525  
 97526  	return SQLITE_OK
 97527  }
 97528  
 97529  func vlogRowid(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 {
 97530  	var pCsr uintptr = pCursor
 97531  	*(*sqlite_int64)(unsafe.Pointer(pRowid)) = (*VfslogCsr)(unsafe.Pointer(pCsr)).FiRowid
 97532  	return SQLITE_OK
 97533  }
 97534  
 97535  func sqlite3_vfslog_register(tls *libc.TLS, db uintptr) int32 {
 97536  	sqlite3.Xsqlite3_create_module(tls, db, ts+35565, uintptr(unsafe.Pointer(&vfslog_module)), uintptr(0))
 97537  	return SQLITE_OK
 97538  }
 97539  
 97540  var vfslog_module = sqlite3_module{
 97541  	FxCreate:     0,
 97542  	FxConnect:    0,
 97543  	FxBestIndex:  0,
 97544  	FxDisconnect: 0,
 97545  	FxDestroy:    0,
 97546  	FxOpen:       0,
 97547  	FxClose:      0,
 97548  	FxFilter:     0,
 97549  	FxNext:       0,
 97550  	FxEof:        0,
 97551  	FxColumn:     0,
 97552  	FxRowid:      0,
 97553  }
 97554  
 97555  func test_vfslog(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 97556  	bp := tls.Alloc(144)
 97557  	defer tls.Free(144)
 97558  
 97559  	var db uintptr
 97560  
 97561  	var rc int32 = SQLITE_ERROR
 97562  
 97563  	if objc < 2 {
 97564  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32719)
 97565  		return TCL_ERROR
 97566  	}
 97567  	if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), uintptr(unsafe.Pointer(&strs)), int32(unsafe.Sizeof(uintptr(0))), ts+2014, 0, bp+72) != 0 {
 97568  		return TCL_ERROR
 97569  	}
 97570  
 97571  	switch uint32(*(*int32)(unsafe.Pointer(bp + 72))) {
 97572  	case uint32(0):
 97573  		{
 97574  			var zVfs uintptr
 97575  			var zMsg uintptr
 97576  			if objc != 4 {
 97577  				tcl.XTcl_WrongNumArgs(tls, interp, 3, objv, ts+35572)
 97578  				return TCL_ERROR
 97579  			}
 97580  			zVfs = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
 97581  			zMsg = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)))
 97582  			rc = sqlite3_vfslog_annotate(tls, zVfs, zMsg)
 97583  			if rc != SQLITE_OK {
 97584  				tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+35576, 0))
 97585  				return TCL_ERROR
 97586  			}
 97587  			break
 97588  
 97589  		}
 97590  	case uint32(1):
 97591  		{
 97592  			var zVfs uintptr
 97593  			if objc != 3 {
 97594  				tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+35572)
 97595  				return TCL_ERROR
 97596  			}
 97597  			zVfs = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
 97598  			rc = sqlite3_vfslog_finalize(tls, zVfs)
 97599  			if rc != SQLITE_OK {
 97600  				tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+35576, 0))
 97601  				return TCL_ERROR
 97602  			}
 97603  			break
 97604  
 97605  		}
 97606  
 97607  	case uint32(2):
 97608  		{
 97609  			var zVfs uintptr
 97610  			var zParent uintptr
 97611  			var zLog uintptr
 97612  			if objc != 5 {
 97613  				tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+35583)
 97614  				return TCL_ERROR
 97615  			}
 97616  			zVfs = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
 97617  			zParent = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)))
 97618  			zLog = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 4*8)))
 97619  			if int32(*(*int8)(unsafe.Pointer(zParent))) == 0 {
 97620  				zParent = uintptr(0)
 97621  			}
 97622  			rc = sqlite3_vfslog_new(tls, zVfs, zParent, zLog)
 97623  			if rc != SQLITE_OK {
 97624  				tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+35576, 0))
 97625  				return TCL_ERROR
 97626  			}
 97627  			break
 97628  
 97629  		}
 97630  
 97631  	case uint32(3):
 97632  		{
 97633  			var zDb uintptr
 97634  			if objc != 3 {
 97635  				tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+2050)
 97636  				return TCL_ERROR
 97637  			}
 97638  			zDb = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
 97639  			if tcl.XTcl_GetCommandInfo(tls, interp, zDb, bp+80) != 0 {
 97640  				db = (*struct{ Fdb uintptr })(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 80)).FobjClientData)).Fdb
 97641  				rc = sqlite3_vfslog_register(tls, db)
 97642  			}
 97643  			if rc != SQLITE_OK {
 97644  				tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+35602, zDb, uintptr(0)))
 97645  				return TCL_ERROR
 97646  			}
 97647  			break
 97648  
 97649  		}
 97650  	}
 97651  
 97652  	return TCL_OK
 97653  }
 97654  
 97655  var strs = [5]uintptr{ts + 35623, ts + 35632, ts + 14009, ts + 35641, uintptr(0)}
 97656  
 97657  func SqlitetestOsinst_Init(tls *libc.TLS, interp uintptr) int32 {
 97658  	tcl.XTcl_CreateObjCommand(tls, interp, ts+35565, *(*uintptr)(unsafe.Pointer(&struct {
 97659  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 97660  	}{test_vfslog})), uintptr(0), uintptr(0))
 97661  	return TCL_OK
 97662  }
 97663  
 97664  type testpcacheGlobalType1 = struct {
 97665  	FpDummy        uintptr
 97666  	FnInstance     int32
 97667  	FdiscardChance uint32
 97668  	FprngSeed      uint32
 97669  	FhighStress    uint32
 97670  }
 97671  
 97672  type testpcacheGlobalType = testpcacheGlobalType1
 97673  
 97674  var testpcacheGlobal testpcacheGlobalType
 97675  
 97676  func testpcacheInit(tls *libc.TLS, pArg uintptr) int32 {
 97677  	testpcacheGlobal.FpDummy = sqlite3.Xsqlite3_malloc(tls, 10)
 97678  	if testpcacheGlobal.FpDummy == uintptr(0) {
 97679  		return SQLITE_NOMEM
 97680  	}
 97681  	return SQLITE_OK
 97682  }
 97683  
 97684  func testpcacheShutdown(tls *libc.TLS, pArg uintptr) {
 97685  	sqlite3.Xsqlite3_free(tls, testpcacheGlobal.FpDummy)
 97686  	testpcacheGlobal.FpDummy = uintptr(0)
 97687  }
 97688  
 97689  type testpcache1 = struct {
 97690  	FszPage      int32
 97691  	FszExtra     int32
 97692  	FbPurgeable  int32
 97693  	FnFree       int32
 97694  	FnPinned     int32
 97695  	FiRand       uint32
 97696  	FiMagic      uint32
 97697  	F__ccgo_pad1 [4]byte
 97698  	Fa           [217]struct {
 97699  		Fpage     sqlite3_pcache_page
 97700  		Fkey      uint32
 97701  		FisPinned int32
 97702  	}
 97703  }
 97704  
 97705  type testpcache = testpcache1
 97706  type testpcachePage = struct {
 97707  	Fpage     sqlite3_pcache_page
 97708  	Fkey      uint32
 97709  	FisPinned int32
 97710  }
 97711  
 97712  func testpcacheRandom(tls *libc.TLS, p uintptr) uint32 {
 97713  	var x uint32 = uint32(0)
 97714  	var i int32
 97715  	for i = 0; i < 4; i++ {
 97716  		(*testpcache)(unsafe.Pointer(p)).FiRand = (*testpcache)(unsafe.Pointer(p)).FiRand*uint32(69069) + uint32(5)
 97717  		x = x<<8 | (*testpcache)(unsafe.Pointer(p)).FiRand>>16&uint32(0xff)
 97718  	}
 97719  	return x
 97720  }
 97721  
 97722  func testpcacheCreate(tls *libc.TLS, szPage int32, szExtra int32, bPurgeable int32) uintptr {
 97723  	var nMem int32
 97724  	var x uintptr
 97725  	var p uintptr
 97726  	var i int32
 97727  
 97728  	szPage = (szPage + 7) & libc.CplInt32(7)
 97729  	nMem = int32(uint64(unsafe.Sizeof(testpcache{})) + uint64(TESTPCACHE_NPAGE*(szPage+szExtra)))
 97730  	p = sqlite3.Xsqlite3_malloc(tls, nMem)
 97731  	if p == uintptr(0) {
 97732  		return uintptr(0)
 97733  	}
 97734  	x = p + 1*5240
 97735  	(*testpcache)(unsafe.Pointer(p)).FszPage = szPage
 97736  	(*testpcache)(unsafe.Pointer(p)).FszExtra = szExtra
 97737  	(*testpcache)(unsafe.Pointer(p)).FnFree = TESTPCACHE_NPAGE
 97738  	(*testpcache)(unsafe.Pointer(p)).FnPinned = 0
 97739  	(*testpcache)(unsafe.Pointer(p)).FiRand = testpcacheGlobal.FprngSeed
 97740  	(*testpcache)(unsafe.Pointer(p)).FbPurgeable = bPurgeable
 97741  	(*testpcache)(unsafe.Pointer(p)).FiMagic = uint32(TESTPCACHE_VALID)
 97742  	i = 0
 97743  __1:
 97744  	if !(i < TESTPCACHE_NPAGE) {
 97745  		goto __3
 97746  	}
 97747  	{
 97748  		(*testpcachePage)(unsafe.Pointer(p + 32 + uintptr(i)*24)).Fkey = uint32(0)
 97749  		(*testpcachePage)(unsafe.Pointer(p + 32 + uintptr(i)*24)).FisPinned = 0
 97750  		(*testpcachePage)(unsafe.Pointer(p + 32 + uintptr(i)*24)).Fpage.FpBuf = x
 97751  		(*testpcachePage)(unsafe.Pointer(p + 32 + uintptr(i)*24)).Fpage.FpExtra = x + uintptr(szPage)
 97752  
 97753  	}
 97754  	goto __2
 97755  __2:
 97756  	i++
 97757  	x += uintptr(szPage + szExtra)
 97758  	goto __1
 97759  	goto __3
 97760  __3:
 97761  	;
 97762  	testpcacheGlobal.FnInstance++
 97763  	return p
 97764  }
 97765  
 97766  func testpcacheCachesize(tls *libc.TLS, pCache uintptr, newSize int32) {
 97767  	var p uintptr = pCache
 97768  	_ = p
 97769  
 97770  }
 97771  
 97772  func testpcachePagecount(tls *libc.TLS, pCache uintptr) int32 {
 97773  	var p uintptr = pCache
 97774  
 97775  	return TESTPCACHE_NPAGE - (*testpcache)(unsafe.Pointer(p)).FnFree
 97776  }
 97777  
 97778  func testpcacheFetch(tls *libc.TLS, pCache uintptr, key uint32, createFlag int32) uintptr {
 97779  	var p uintptr = pCache
 97780  	var i int32
 97781  	var j int32
 97782  
 97783  	for i = 0; i < TESTPCACHE_NPAGE; i++ {
 97784  		if (*testpcachePage)(unsafe.Pointer(p+32+uintptr(i)*24)).Fkey == key {
 97785  			if !((*testpcachePage)(unsafe.Pointer(p+32+uintptr(i)*24)).FisPinned != 0) {
 97786  				(*testpcache)(unsafe.Pointer(p)).FnPinned++
 97787  
 97788  				(*testpcachePage)(unsafe.Pointer(p + 32 + uintptr(i)*24)).FisPinned = 1
 97789  			}
 97790  			return p + 32 + uintptr(i)*24
 97791  		}
 97792  	}
 97793  
 97794  	if createFlag == 0 {
 97795  		return uintptr(0)
 97796  	}
 97797  
 97798  	if (*testpcache)(unsafe.Pointer(p)).FnPinned == TESTPCACHE_NPAGE {
 97799  		return uintptr(0)
 97800  	}
 97801  
 97802  	if (*testpcache)(unsafe.Pointer(p)).FnPinned >= TESTPCACHE_NPAGE-TESTPCACHE_RESERVE && createFlag < 2 {
 97803  		return uintptr(0)
 97804  	}
 97805  
 97806  	if testpcacheGlobal.FhighStress != 0 && createFlag < 2 {
 97807  		return uintptr(0)
 97808  	}
 97809  
 97810  	if (*testpcache)(unsafe.Pointer(p)).FnFree > TESTPCACHE_RESERVE || createFlag == 2 && (*testpcache)(unsafe.Pointer(p)).FnFree > 0 {
 97811  		j = int32(testpcacheRandom(tls, p) % uint32(TESTPCACHE_NPAGE))
 97812  		i = 0
 97813  	__1:
 97814  		if !(i < TESTPCACHE_NPAGE) {
 97815  			goto __3
 97816  		}
 97817  		{
 97818  			if (*testpcachePage)(unsafe.Pointer(p+32+uintptr(j)*24)).Fkey == uint32(0) {
 97819  				(*testpcachePage)(unsafe.Pointer(p + 32 + uintptr(j)*24)).Fkey = key
 97820  				(*testpcachePage)(unsafe.Pointer(p + 32 + uintptr(j)*24)).FisPinned = 1
 97821  				libc.Xmemset(tls, (*testpcachePage)(unsafe.Pointer(p+32+uintptr(j)*24)).Fpage.FpBuf, 0, uint64((*testpcache)(unsafe.Pointer(p)).FszPage))
 97822  				libc.Xmemset(tls, (*testpcachePage)(unsafe.Pointer(p+32+uintptr(j)*24)).Fpage.FpExtra, 0, uint64((*testpcache)(unsafe.Pointer(p)).FszExtra))
 97823  				(*testpcache)(unsafe.Pointer(p)).FnPinned++
 97824  				(*testpcache)(unsafe.Pointer(p)).FnFree--
 97825  
 97826  				return p + 32 + uintptr(j)*24
 97827  			}
 97828  
 97829  		}
 97830  		goto __2
 97831  	__2:
 97832  		i++
 97833  		j = (j + 1) % TESTPCACHE_NPAGE
 97834  		goto __1
 97835  		goto __3
 97836  	__3:
 97837  	}
 97838  
 97839  	if (*testpcache)(unsafe.Pointer(p)).FbPurgeable == 0 {
 97840  		return uintptr(0)
 97841  	}
 97842  
 97843  	j = int32(testpcacheRandom(tls, p) % uint32(TESTPCACHE_NPAGE))
 97844  	i = 0
 97845  __4:
 97846  	if !(i < TESTPCACHE_NPAGE) {
 97847  		goto __6
 97848  	}
 97849  	{
 97850  		if (*testpcachePage)(unsafe.Pointer(p+32+uintptr(j)*24)).Fkey > uint32(0) && (*testpcachePage)(unsafe.Pointer(p+32+uintptr(j)*24)).FisPinned == 0 {
 97851  			(*testpcachePage)(unsafe.Pointer(p + 32 + uintptr(j)*24)).Fkey = key
 97852  			(*testpcachePage)(unsafe.Pointer(p + 32 + uintptr(j)*24)).FisPinned = 1
 97853  			libc.Xmemset(tls, (*testpcachePage)(unsafe.Pointer(p+32+uintptr(j)*24)).Fpage.FpBuf, 0, uint64((*testpcache)(unsafe.Pointer(p)).FszPage))
 97854  			libc.Xmemset(tls, (*testpcachePage)(unsafe.Pointer(p+32+uintptr(j)*24)).Fpage.FpExtra, 0, uint64((*testpcache)(unsafe.Pointer(p)).FszExtra))
 97855  			(*testpcache)(unsafe.Pointer(p)).FnPinned++
 97856  
 97857  			return p + 32 + uintptr(j)*24
 97858  		}
 97859  
 97860  	}
 97861  	goto __5
 97862  __5:
 97863  	i++
 97864  	j = (j + 1) % TESTPCACHE_NPAGE
 97865  	goto __4
 97866  	goto __6
 97867  __6:
 97868  	;
 97869  	return uintptr(0)
 97870  }
 97871  
 97872  func testpcacheUnpin(tls *libc.TLS, pCache uintptr, pOldPage uintptr, discard int32) {
 97873  	var p uintptr = pCache
 97874  	var i int32
 97875  
 97876  	if (*testpcache)(unsafe.Pointer(p)).FbPurgeable != 0 &&
 97877  		uint32(100)-testpcacheGlobal.FdiscardChance <= testpcacheRandom(tls, p)%uint32(100) {
 97878  		discard = 1
 97879  	}
 97880  
 97881  	for i = 0; i < TESTPCACHE_NPAGE; i++ {
 97882  		if p+32+uintptr(i)*24 == pOldPage {
 97883  			(*testpcachePage)(unsafe.Pointer(p + 32 + uintptr(i)*24)).FisPinned = 0
 97884  			(*testpcache)(unsafe.Pointer(p)).FnPinned--
 97885  
 97886  			if discard != 0 {
 97887  				(*testpcachePage)(unsafe.Pointer(p + 32 + uintptr(i)*24)).Fkey = uint32(0)
 97888  				(*testpcache)(unsafe.Pointer(p)).FnFree++
 97889  
 97890  			}
 97891  			return
 97892  		}
 97893  	}
 97894  
 97895  }
 97896  
 97897  func testpcacheRekey(tls *libc.TLS, pCache uintptr, pOldPage uintptr, oldKey uint32, newKey uint32) {
 97898  	var p uintptr = pCache
 97899  	var i int32
 97900  
 97901  	for i = 0; i < TESTPCACHE_NPAGE; i++ {
 97902  		if (*testpcachePage)(unsafe.Pointer(p+32+uintptr(i)*24)).Fkey == newKey {
 97903  			(*testpcachePage)(unsafe.Pointer(p + 32 + uintptr(i)*24)).Fkey = uint32(0)
 97904  			(*testpcache)(unsafe.Pointer(p)).FnFree++
 97905  
 97906  			break
 97907  		}
 97908  	}
 97909  
 97910  	for i = 0; i < TESTPCACHE_NPAGE; i++ {
 97911  		if (*testpcachePage)(unsafe.Pointer(p+32+uintptr(i)*24)).Fkey == oldKey {
 97912  			(*testpcachePage)(unsafe.Pointer(p + 32 + uintptr(i)*24)).Fkey = newKey
 97913  			return
 97914  		}
 97915  	}
 97916  
 97917  }
 97918  
 97919  func testpcacheTruncate(tls *libc.TLS, pCache uintptr, iLimit uint32) {
 97920  	var p uintptr = pCache
 97921  	var i uint32
 97922  
 97923  	for i = uint32(0); i < uint32(TESTPCACHE_NPAGE); i++ {
 97924  		if (*testpcachePage)(unsafe.Pointer(p+32+uintptr(i)*24)).Fkey >= iLimit {
 97925  			(*testpcachePage)(unsafe.Pointer(p + 32 + uintptr(i)*24)).Fkey = uint32(0)
 97926  			if (*testpcachePage)(unsafe.Pointer(p+32+uintptr(i)*24)).FisPinned != 0 {
 97927  				(*testpcache)(unsafe.Pointer(p)).FnPinned--
 97928  
 97929  			}
 97930  			(*testpcache)(unsafe.Pointer(p)).FnFree++
 97931  
 97932  		}
 97933  	}
 97934  }
 97935  
 97936  func testpcacheDestroy(tls *libc.TLS, pCache uintptr) {
 97937  	var p uintptr = pCache
 97938  
 97939  	(*testpcache)(unsafe.Pointer(p)).FiMagic = TESTPCACHE_CLEAR
 97940  	sqlite3.Xsqlite3_free(tls, p)
 97941  	testpcacheGlobal.FnInstance--
 97942  }
 97943  
 97944  func installTestPCache(tls *libc.TLS, installFlag int32, discardChance uint32, prngSeed uint32, highStress uint32) {
 97945  	bp := tls.Alloc(24)
 97946  	defer tls.Free(24)
 97947  
 97948  	testpcacheGlobal.FdiscardChance = discardChance
 97949  	testpcacheGlobal.FprngSeed = prngSeed ^ prngSeed<<16
 97950  	testpcacheGlobal.FhighStress = highStress
 97951  	if installFlag != isInstalled {
 97952  		if installFlag != 0 {
 97953  			sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_GETPCACHE2, libc.VaList(bp, uintptr(unsafe.Pointer(&defaultPcache))))
 97954  
 97955  			sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_PCACHE2, libc.VaList(bp+8, uintptr(unsafe.Pointer(&testPcache))))
 97956  		} else {
 97957  			sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_PCACHE2, libc.VaList(bp+16, uintptr(unsafe.Pointer(&defaultPcache))))
 97958  		}
 97959  		isInstalled = installFlag
 97960  	}
 97961  }
 97962  
 97963  var testPcache = sqlite3_pcache_methods2{
 97964  	FiVersion:   1,
 97965  	FpArg:       0,
 97966  	FxInit:      0,
 97967  	FxShutdown:  0,
 97968  	FxCreate:    0,
 97969  	FxCachesize: 0,
 97970  	FxPagecount: 0,
 97971  	FxFetch:     0,
 97972  	FxUnpin:     0,
 97973  	FxRekey:     0,
 97974  	FxTruncate:  0,
 97975  	FxDestroy:   0,
 97976  }
 97977  var defaultPcache sqlite3_pcache_methods2
 97978  var isInstalled int32 = 0
 97979  
 97980  type quota_FILE1 = struct {
 97981  	Ff         uintptr
 97982  	FiOfst     sqlite3_int64
 97983  	FpFile     uintptr
 97984  	FzMbcsName uintptr
 97985  }
 97986  
 97987  type quota_FILE = quota_FILE1
 97988  
 97989  type quotaGroup1 = struct {
 97990  	FzPattern  uintptr
 97991  	FiLimit    sqlite3_int64
 97992  	FiSize     sqlite3_int64
 97993  	FxCallback uintptr
 97994  	FpArg      uintptr
 97995  	FxDestroy  uintptr
 97996  	FpNext     uintptr
 97997  	FppPrev    uintptr
 97998  	FpFiles    uintptr
 97999  }
 98000  
 98001  type quotaGroup = quotaGroup1
 98002  type quotaConn1 = struct {
 98003  	Fbase  sqlite3_file
 98004  	FpFile uintptr
 98005  }
 98006  
 98007  type quotaConn = quotaConn1
 98008  type quotaFile1 = struct {
 98009  	FzFilename     uintptr
 98010  	FpGroup        uintptr
 98011  	FiSize         sqlite3_int64
 98012  	FnRef          int32
 98013  	FdeleteOnClose int32
 98014  	FpNext         uintptr
 98015  	FppPrev        uintptr
 98016  }
 98017  
 98018  type quotaFile = quotaFile1
 98019  
 98020  var gQuota struct {
 98021  	FpOrigVfs      uintptr
 98022  	FsThisVfs      sqlite3_vfs
 98023  	FsIoMethodsV1  sqlite3_io_methods
 98024  	FsIoMethodsV2  sqlite3_io_methods
 98025  	FisInitialized int32
 98026  	F__ccgo_pad1   [4]byte
 98027  	FpMutex        uintptr
 98028  	FpGroup        uintptr
 98029  }
 98030  
 98031  func quotaEnter(tls *libc.TLS) {
 98032  	sqlite3.Xsqlite3_mutex_enter(tls, gQuota.FpMutex)
 98033  }
 98034  
 98035  func quotaLeave(tls *libc.TLS) {
 98036  	sqlite3.Xsqlite3_mutex_leave(tls, gQuota.FpMutex)
 98037  }
 98038  
 98039  func quotaGroupOpenFileCount(tls *libc.TLS, pGroup uintptr) int32 {
 98040  	var N int32 = 0
 98041  	var pFile uintptr = (*quotaGroup)(unsafe.Pointer(pGroup)).FpFiles
 98042  	for pFile != 0 {
 98043  		if (*quotaFile)(unsafe.Pointer(pFile)).FnRef != 0 {
 98044  			N++
 98045  		}
 98046  		pFile = (*quotaFile)(unsafe.Pointer(pFile)).FpNext
 98047  	}
 98048  	return N
 98049  }
 98050  
 98051  func quotaRemoveFile(tls *libc.TLS, pFile uintptr) {
 98052  	var pGroup uintptr = (*quotaFile)(unsafe.Pointer(pFile)).FpGroup
 98053  	*(*sqlite3_int64)(unsafe.Pointer(pGroup + 16)) -= (*quotaFile)(unsafe.Pointer(pFile)).FiSize
 98054  	*(*uintptr)(unsafe.Pointer((*quotaFile)(unsafe.Pointer(pFile)).FppPrev)) = (*quotaFile)(unsafe.Pointer(pFile)).FpNext
 98055  	if (*quotaFile)(unsafe.Pointer(pFile)).FpNext != 0 {
 98056  		(*quotaFile)(unsafe.Pointer((*quotaFile)(unsafe.Pointer(pFile)).FpNext)).FppPrev = (*quotaFile)(unsafe.Pointer(pFile)).FppPrev
 98057  	}
 98058  	sqlite3.Xsqlite3_free(tls, pFile)
 98059  }
 98060  
 98061  func quotaRemoveAllFiles(tls *libc.TLS, pGroup uintptr) {
 98062  	for (*quotaGroup)(unsafe.Pointer(pGroup)).FpFiles != 0 {
 98063  		quotaRemoveFile(tls, (*quotaGroup)(unsafe.Pointer(pGroup)).FpFiles)
 98064  	}
 98065  }
 98066  
 98067  func quotaGroupDeref(tls *libc.TLS, pGroup uintptr) {
 98068  	if (*quotaGroup)(unsafe.Pointer(pGroup)).FiLimit == int64(0) && quotaGroupOpenFileCount(tls, pGroup) == 0 {
 98069  		quotaRemoveAllFiles(tls, pGroup)
 98070  		*(*uintptr)(unsafe.Pointer((*quotaGroup)(unsafe.Pointer(pGroup)).FppPrev)) = (*quotaGroup)(unsafe.Pointer(pGroup)).FpNext
 98071  		if (*quotaGroup)(unsafe.Pointer(pGroup)).FpNext != 0 {
 98072  			(*quotaGroup)(unsafe.Pointer((*quotaGroup)(unsafe.Pointer(pGroup)).FpNext)).FppPrev = (*quotaGroup)(unsafe.Pointer(pGroup)).FppPrev
 98073  		}
 98074  		if (*quotaGroup)(unsafe.Pointer(pGroup)).FxDestroy != 0 {
 98075  			(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*quotaGroup)(unsafe.Pointer(pGroup)).FxDestroy})).f(tls, (*quotaGroup)(unsafe.Pointer(pGroup)).FpArg)
 98076  		}
 98077  		sqlite3.Xsqlite3_free(tls, pGroup)
 98078  	}
 98079  }
 98080  
 98081  func quotaStrglob(tls *libc.TLS, zGlob uintptr, z uintptr) int32 {
 98082  	var c int32
 98083  	var c2 int32
 98084  	var cx int32
 98085  	var invert int32
 98086  	var seen int32
 98087  
 98088  	for libc.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zGlob, 1))))) != 0 {
 98089  		if c == '*' {
 98090  			for libc.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zGlob, 1))))) == '*' || c == '?' {
 98091  				if c == '?' && int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1)))) == 0 {
 98092  					return 0
 98093  				}
 98094  			}
 98095  			if c == 0 {
 98096  				return 1
 98097  			} else if c == '[' {
 98098  				for *(*int8)(unsafe.Pointer(z)) != 0 && quotaStrglob(tls, zGlob-uintptr(1), z) == 0 {
 98099  					z++
 98100  				}
 98101  				return libc.Bool32(int32(*(*int8)(unsafe.Pointer(z))) != 0)
 98102  			}
 98103  			if c == '/' {
 98104  				cx = '\\'
 98105  			} else {
 98106  				cx = c
 98107  			}
 98108  			for libc.AssignInt32(&c2, int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1))))) != 0 {
 98109  				for c2 != c && c2 != cx {
 98110  					c2 = int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1))))
 98111  					if c2 == 0 {
 98112  						return 0
 98113  					}
 98114  				}
 98115  				if quotaStrglob(tls, zGlob, z) != 0 {
 98116  					return 1
 98117  				}
 98118  			}
 98119  			return 0
 98120  		} else if c == '?' {
 98121  			if int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1)))) == 0 {
 98122  				return 0
 98123  			}
 98124  		} else if c == '[' {
 98125  			var prior_c int32 = 0
 98126  			seen = 0
 98127  			invert = 0
 98128  			c = int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1))))
 98129  			if c == 0 {
 98130  				return 0
 98131  			}
 98132  			c2 = int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zGlob, 1))))
 98133  			if c2 == '^' {
 98134  				invert = 1
 98135  				c2 = int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zGlob, 1))))
 98136  			}
 98137  			if c2 == ']' {
 98138  				if c == ']' {
 98139  					seen = 1
 98140  				}
 98141  				c2 = int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zGlob, 1))))
 98142  			}
 98143  			for c2 != 0 && c2 != ']' {
 98144  				if c2 == '-' && int32(*(*int8)(unsafe.Pointer(zGlob))) != ']' && int32(*(*int8)(unsafe.Pointer(zGlob))) != 0 && prior_c > 0 {
 98145  					c2 = int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zGlob, 1))))
 98146  					if c >= prior_c && c <= c2 {
 98147  						seen = 1
 98148  					}
 98149  					prior_c = 0
 98150  				} else {
 98151  					if c == c2 {
 98152  						seen = 1
 98153  					}
 98154  					prior_c = c2
 98155  				}
 98156  				c2 = int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zGlob, 1))))
 98157  			}
 98158  			if c2 == 0 || seen^invert == 0 {
 98159  				return 0
 98160  			}
 98161  		} else if c == '/' {
 98162  			if int32(*(*int8)(unsafe.Pointer(z))) != '/' && int32(*(*int8)(unsafe.Pointer(z))) != '\\' {
 98163  				return 0
 98164  			}
 98165  			z++
 98166  		} else {
 98167  			if c != int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&z, 1)))) {
 98168  				return 0
 98169  			}
 98170  		}
 98171  	}
 98172  	return libc.Bool32(int32(*(*int8)(unsafe.Pointer(z))) == 0)
 98173  }
 98174  
 98175  func quotaGroupFind(tls *libc.TLS, zFilename uintptr) uintptr {
 98176  	var p uintptr
 98177  	for p = gQuota.FpGroup; p != 0 && quotaStrglob(tls, (*quotaGroup)(unsafe.Pointer(p)).FzPattern, zFilename) == 0; p = (*quotaGroup)(unsafe.Pointer(p)).FpNext {
 98178  	}
 98179  	return p
 98180  }
 98181  
 98182  func quotaSubOpen(tls *libc.TLS, pConn uintptr) uintptr {
 98183  	var p uintptr = pConn
 98184  	return p + 1*16
 98185  }
 98186  
 98187  func quotaFindFile(tls *libc.TLS, pGroup uintptr, zName uintptr, createFlag int32) uintptr {
 98188  	var pFile uintptr = (*quotaGroup)(unsafe.Pointer(pGroup)).FpFiles
 98189  	for pFile != 0 && libc.Xstrcmp(tls, (*quotaFile)(unsafe.Pointer(pFile)).FzFilename, zName) != 0 {
 98190  		pFile = (*quotaFile)(unsafe.Pointer(pFile)).FpNext
 98191  	}
 98192  	if pFile == uintptr(0) && createFlag != 0 {
 98193  		var nName int32 = int32(libc.Xstrlen(tls, zName) & uint64(0x3fffffff))
 98194  		pFile = sqlite3.Xsqlite3_malloc(tls, int32(uint64(unsafe.Sizeof(quotaFile{}))+uint64(nName)+uint64(1)))
 98195  		if pFile != 0 {
 98196  			libc.Xmemset(tls, pFile, 0, uint64(unsafe.Sizeof(quotaFile{})))
 98197  			(*quotaFile)(unsafe.Pointer(pFile)).FzFilename = pFile + 1*48
 98198  			libc.Xmemcpy(tls, (*quotaFile)(unsafe.Pointer(pFile)).FzFilename, zName, uint64(nName+1))
 98199  			(*quotaFile)(unsafe.Pointer(pFile)).FpNext = (*quotaGroup)(unsafe.Pointer(pGroup)).FpFiles
 98200  			if (*quotaGroup)(unsafe.Pointer(pGroup)).FpFiles != 0 {
 98201  				(*quotaFile)(unsafe.Pointer((*quotaGroup)(unsafe.Pointer(pGroup)).FpFiles)).FppPrev = pFile + 32
 98202  			}
 98203  			(*quotaFile)(unsafe.Pointer(pFile)).FppPrev = pGroup + 64
 98204  			(*quotaGroup)(unsafe.Pointer(pGroup)).FpFiles = pFile
 98205  			(*quotaFile)(unsafe.Pointer(pFile)).FpGroup = pGroup
 98206  		}
 98207  	}
 98208  	return pFile
 98209  }
 98210  
 98211  func quota_utf8_to_mbcs(tls *libc.TLS, zUtf8 uintptr) uintptr {
 98212  	var n size_t
 98213  	_ = n
 98214  	var nWide int32
 98215  	var nMbcs int32
 98216  	var zTmpWide LPWSTR
 98217  	var zMbcs uintptr
 98218  	var codepage int32
 98219  
 98220  	n = libc.Xstrlen(tls, zUtf8)
 98221  	nWide = libc.XMultiByteToWideChar(tls, uint32(CP_UTF8), uint32(0), zUtf8, -1, uintptr(0), 0)
 98222  	if nWide == 0 {
 98223  		return uintptr(0)
 98224  	}
 98225  	zTmpWide = sqlite3.Xsqlite3_malloc(tls, int32(uint64(nWide+1)*uint64(unsafe.Sizeof(WCHAR(0)))))
 98226  	if zTmpWide == uintptr(0) {
 98227  		return uintptr(0)
 98228  	}
 98229  	libc.XMultiByteToWideChar(tls, uint32(CP_UTF8), uint32(0), zUtf8, -1, zTmpWide, nWide)
 98230  	if libc.XAreFileApisANSI(tls) != 0 {
 98231  		codepage = CP_ACP
 98232  	} else {
 98233  		codepage = CP_OEMCP
 98234  	}
 98235  	nMbcs = libc.XWideCharToMultiByte(tls, uint32(codepage), uint32(0), zTmpWide, nWide, uintptr(0), 0, uintptr(0), uintptr(0))
 98236  	if nMbcs != 0 {
 98237  		zMbcs = sqlite3.Xsqlite3_malloc(tls, nMbcs+1)
 98238  	} else {
 98239  		zMbcs = uintptr(0)
 98240  	}
 98241  	if zMbcs != 0 {
 98242  		libc.XWideCharToMultiByte(tls, uint32(codepage), uint32(0), zTmpWide, nWide, zMbcs, nMbcs, uintptr(0), uintptr(0))
 98243  	}
 98244  	sqlite3.Xsqlite3_free(tls, zTmpWide)
 98245  	return zMbcs
 98246  }
 98247  
 98248  func quota_mbcs_free(tls *libc.TLS, zOld uintptr) {
 98249  	sqlite3.Xsqlite3_free(tls, zOld)
 98250  }
 98251  
 98252  func quotaOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pConn uintptr, flags int32, pOutFlags uintptr) int32 {
 98253  	var rc int32
 98254  	var pQuotaOpen uintptr
 98255  	var pFile uintptr
 98256  	var pGroup uintptr
 98257  	var pSubOpen uintptr
 98258  	var pOrigVfs uintptr = gQuota.FpOrigVfs
 98259  
 98260  	if flags&(SQLITE_OPEN_MAIN_DB|SQLITE_OPEN_WAL) == 0 {
 98261  		return (*struct {
 98262  			f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32
 98263  		})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pOrigVfs)).FxOpen})).f(tls, pOrigVfs, zName, pConn, flags, pOutFlags)
 98264  	}
 98265  
 98266  	quotaEnter(tls)
 98267  	pGroup = quotaGroupFind(tls, zName)
 98268  	if pGroup == uintptr(0) {
 98269  		rc = (*struct {
 98270  			f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32
 98271  		})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pOrigVfs)).FxOpen})).f(tls, pOrigVfs, zName, pConn, flags, pOutFlags)
 98272  	} else {
 98273  		pQuotaOpen = pConn
 98274  		pSubOpen = quotaSubOpen(tls, pConn)
 98275  		rc = (*struct {
 98276  			f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32
 98277  		})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pOrigVfs)).FxOpen})).f(tls, pOrigVfs, zName, pSubOpen, flags, pOutFlags)
 98278  		if rc == SQLITE_OK {
 98279  			pFile = quotaFindFile(tls, pGroup, zName, 1)
 98280  			if pFile == uintptr(0) {
 98281  				quotaLeave(tls)
 98282  				(*struct {
 98283  					f func(*libc.TLS, uintptr) int32
 98284  				})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxClose})).f(tls, pSubOpen)
 98285  				return SQLITE_NOMEM
 98286  			}
 98287  			(*quotaFile)(unsafe.Pointer(pFile)).FdeleteOnClose = libc.Bool32(flags&SQLITE_OPEN_DELETEONCLOSE != 0)
 98288  			(*quotaFile)(unsafe.Pointer(pFile)).FnRef++
 98289  			(*quotaConn)(unsafe.Pointer(pQuotaOpen)).FpFile = pFile
 98290  			if (*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FiVersion == 1 {
 98291  				(*quotaConn)(unsafe.Pointer(pQuotaOpen)).Fbase.FpMethods = uintptr(unsafe.Pointer(&gQuota)) + 176
 98292  			} else {
 98293  				(*quotaConn)(unsafe.Pointer(pQuotaOpen)).Fbase.FpMethods = uintptr(unsafe.Pointer(&gQuota)) + 328
 98294  			}
 98295  		}
 98296  	}
 98297  	quotaLeave(tls)
 98298  	return rc
 98299  }
 98300  
 98301  func quotaDelete(tls *libc.TLS, pVfs uintptr, zName uintptr, syncDir int32) int32 {
 98302  	var rc int32
 98303  	var pFile uintptr
 98304  	var pGroup uintptr
 98305  	var pOrigVfs uintptr = gQuota.FpOrigVfs
 98306  
 98307  	rc = (*struct {
 98308  		f func(*libc.TLS, uintptr, uintptr, int32) int32
 98309  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pOrigVfs)).FxDelete})).f(tls, pOrigVfs, zName, syncDir)
 98310  
 98311  	if rc == SQLITE_OK {
 98312  		quotaEnter(tls)
 98313  		pGroup = quotaGroupFind(tls, zName)
 98314  		if pGroup != 0 {
 98315  			pFile = quotaFindFile(tls, pGroup, zName, 0)
 98316  			if pFile != 0 {
 98317  				if (*quotaFile)(unsafe.Pointer(pFile)).FnRef != 0 {
 98318  					(*quotaFile)(unsafe.Pointer(pFile)).FdeleteOnClose = 1
 98319  				} else {
 98320  					quotaRemoveFile(tls, pFile)
 98321  					quotaGroupDeref(tls, pGroup)
 98322  				}
 98323  			}
 98324  		}
 98325  		quotaLeave(tls)
 98326  	}
 98327  	return rc
 98328  }
 98329  
 98330  func quotaClose(tls *libc.TLS, pConn uintptr) int32 {
 98331  	var p uintptr = pConn
 98332  	var pFile uintptr = (*quotaConn)(unsafe.Pointer(p)).FpFile
 98333  	var pSubOpen uintptr = quotaSubOpen(tls, pConn)
 98334  	var rc int32
 98335  	rc = (*struct {
 98336  		f func(*libc.TLS, uintptr) int32
 98337  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxClose})).f(tls, pSubOpen)
 98338  	quotaEnter(tls)
 98339  	(*quotaFile)(unsafe.Pointer(pFile)).FnRef--
 98340  	if (*quotaFile)(unsafe.Pointer(pFile)).FnRef == 0 {
 98341  		var pGroup uintptr = (*quotaFile)(unsafe.Pointer(pFile)).FpGroup
 98342  		if (*quotaFile)(unsafe.Pointer(pFile)).FdeleteOnClose != 0 {
 98343  			(*struct {
 98344  				f func(*libc.TLS, uintptr, uintptr, int32) int32
 98345  			})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(gQuota.FpOrigVfs)).FxDelete})).f(tls, gQuota.FpOrigVfs, (*quotaFile)(unsafe.Pointer(pFile)).FzFilename, 0)
 98346  			quotaRemoveFile(tls, pFile)
 98347  		}
 98348  		quotaGroupDeref(tls, pGroup)
 98349  	}
 98350  	quotaLeave(tls)
 98351  	return rc
 98352  }
 98353  
 98354  func quotaRead(tls *libc.TLS, pConn uintptr, pBuf uintptr, iAmt int32, iOfst sqlite3_int64) int32 {
 98355  	var pSubOpen uintptr = quotaSubOpen(tls, pConn)
 98356  	return (*struct {
 98357  		f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32
 98358  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxRead})).f(tls, pSubOpen, pBuf, iAmt, iOfst)
 98359  }
 98360  
 98361  func quotaWrite(tls *libc.TLS, pConn uintptr, pBuf uintptr, iAmt int32, iOfst sqlite3_int64) int32 {
 98362  	var p uintptr = pConn
 98363  	var pSubOpen uintptr = quotaSubOpen(tls, pConn)
 98364  	var iEnd sqlite3_int64 = iOfst + sqlite3_int64(iAmt)
 98365  	var pGroup uintptr
 98366  	var pFile uintptr = (*quotaConn)(unsafe.Pointer(p)).FpFile
 98367  	var szNew sqlite3_int64
 98368  
 98369  	if (*quotaFile)(unsafe.Pointer(pFile)).FiSize < iEnd {
 98370  		pGroup = (*quotaFile)(unsafe.Pointer(pFile)).FpGroup
 98371  		quotaEnter(tls)
 98372  		szNew = (*quotaGroup)(unsafe.Pointer(pGroup)).FiSize - (*quotaFile)(unsafe.Pointer(pFile)).FiSize + iEnd
 98373  		if szNew > (*quotaGroup)(unsafe.Pointer(pGroup)).FiLimit && (*quotaGroup)(unsafe.Pointer(pGroup)).FiLimit > int64(0) {
 98374  			if (*quotaGroup)(unsafe.Pointer(pGroup)).FxCallback != 0 {
 98375  				(*struct {
 98376  					f func(*libc.TLS, uintptr, uintptr, sqlite3_int64, uintptr)
 98377  				})(unsafe.Pointer(&struct{ uintptr }{(*quotaGroup)(unsafe.Pointer(pGroup)).FxCallback})).f(tls, (*quotaFile)(unsafe.Pointer(pFile)).FzFilename, pGroup+8, szNew,
 98378  					(*quotaGroup)(unsafe.Pointer(pGroup)).FpArg)
 98379  			}
 98380  			if szNew > (*quotaGroup)(unsafe.Pointer(pGroup)).FiLimit && (*quotaGroup)(unsafe.Pointer(pGroup)).FiLimit > int64(0) {
 98381  				quotaLeave(tls)
 98382  				return SQLITE_FULL
 98383  			}
 98384  		}
 98385  		(*quotaGroup)(unsafe.Pointer(pGroup)).FiSize = szNew
 98386  		(*quotaFile)(unsafe.Pointer(pFile)).FiSize = iEnd
 98387  		quotaLeave(tls)
 98388  	}
 98389  	return (*struct {
 98390  		f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32
 98391  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxWrite})).f(tls, pSubOpen, pBuf, iAmt, iOfst)
 98392  }
 98393  
 98394  func quotaTruncate(tls *libc.TLS, pConn uintptr, size sqlite3_int64) int32 {
 98395  	var p uintptr = pConn
 98396  	var pSubOpen uintptr = quotaSubOpen(tls, pConn)
 98397  	var rc int32 = (*struct {
 98398  		f func(*libc.TLS, uintptr, sqlite3_int64) int32
 98399  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxTruncate})).f(tls, pSubOpen, size)
 98400  	var pFile uintptr = (*quotaConn)(unsafe.Pointer(p)).FpFile
 98401  	var pGroup uintptr
 98402  	if rc == SQLITE_OK {
 98403  		quotaEnter(tls)
 98404  		pGroup = (*quotaFile)(unsafe.Pointer(pFile)).FpGroup
 98405  		*(*sqlite3_int64)(unsafe.Pointer(pGroup + 16)) -= (*quotaFile)(unsafe.Pointer(pFile)).FiSize
 98406  		(*quotaFile)(unsafe.Pointer(pFile)).FiSize = size
 98407  		*(*sqlite3_int64)(unsafe.Pointer(pGroup + 16)) += size
 98408  		quotaLeave(tls)
 98409  	}
 98410  	return rc
 98411  }
 98412  
 98413  func quotaSync(tls *libc.TLS, pConn uintptr, flags int32) int32 {
 98414  	var pSubOpen uintptr = quotaSubOpen(tls, pConn)
 98415  	return (*struct {
 98416  		f func(*libc.TLS, uintptr, int32) int32
 98417  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxSync})).f(tls, pSubOpen, flags)
 98418  }
 98419  
 98420  func quotaFileSize(tls *libc.TLS, pConn uintptr, pSize uintptr) int32 {
 98421  	bp := tls.Alloc(8)
 98422  	defer tls.Free(8)
 98423  
 98424  	var p uintptr = pConn
 98425  	var pSubOpen uintptr = quotaSubOpen(tls, pConn)
 98426  	var pFile uintptr = (*quotaConn)(unsafe.Pointer(p)).FpFile
 98427  	var pGroup uintptr
 98428  
 98429  	var rc int32
 98430  
 98431  	rc = (*struct {
 98432  		f func(*libc.TLS, uintptr, uintptr) int32
 98433  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxFileSize})).f(tls, pSubOpen, bp)
 98434  	if rc == SQLITE_OK {
 98435  		quotaEnter(tls)
 98436  		pGroup = (*quotaFile)(unsafe.Pointer(pFile)).FpGroup
 98437  		*(*sqlite3_int64)(unsafe.Pointer(pGroup + 16)) -= (*quotaFile)(unsafe.Pointer(pFile)).FiSize
 98438  		(*quotaFile)(unsafe.Pointer(pFile)).FiSize = *(*sqlite3_int64)(unsafe.Pointer(bp))
 98439  		*(*sqlite3_int64)(unsafe.Pointer(pGroup + 16)) += *(*sqlite3_int64)(unsafe.Pointer(bp))
 98440  		quotaLeave(tls)
 98441  		*(*sqlite3_int64)(unsafe.Pointer(pSize)) = *(*sqlite3_int64)(unsafe.Pointer(bp))
 98442  	}
 98443  	return rc
 98444  }
 98445  
 98446  func quotaLock(tls *libc.TLS, pConn uintptr, lock int32) int32 {
 98447  	var pSubOpen uintptr = quotaSubOpen(tls, pConn)
 98448  	return (*struct {
 98449  		f func(*libc.TLS, uintptr, int32) int32
 98450  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxLock})).f(tls, pSubOpen, lock)
 98451  }
 98452  
 98453  func quotaUnlock(tls *libc.TLS, pConn uintptr, lock int32) int32 {
 98454  	var pSubOpen uintptr = quotaSubOpen(tls, pConn)
 98455  	return (*struct {
 98456  		f func(*libc.TLS, uintptr, int32) int32
 98457  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxUnlock})).f(tls, pSubOpen, lock)
 98458  }
 98459  
 98460  func quotaCheckReservedLock(tls *libc.TLS, pConn uintptr, pResOut uintptr) int32 {
 98461  	var pSubOpen uintptr = quotaSubOpen(tls, pConn)
 98462  	return (*struct {
 98463  		f func(*libc.TLS, uintptr, uintptr) int32
 98464  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxCheckReservedLock})).f(tls, pSubOpen, pResOut)
 98465  }
 98466  
 98467  func quotaFileControl(tls *libc.TLS, pConn uintptr, op int32, pArg uintptr) int32 {
 98468  	bp := tls.Alloc(8)
 98469  	defer tls.Free(8)
 98470  
 98471  	var pSubOpen uintptr = quotaSubOpen(tls, pConn)
 98472  	var rc int32 = (*struct {
 98473  		f func(*libc.TLS, uintptr, int32, uintptr) int32
 98474  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxFileControl})).f(tls, pSubOpen, op, pArg)
 98475  	if op == SQLITE_FCNTL_VFSNAME && rc == SQLITE_OK {
 98476  		*(*uintptr)(unsafe.Pointer(pArg)) = sqlite3.Xsqlite3_mprintf(tls, ts+35650, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pArg))))
 98477  	}
 98478  	return rc
 98479  }
 98480  
 98481  func quotaSectorSize(tls *libc.TLS, pConn uintptr) int32 {
 98482  	var pSubOpen uintptr = quotaSubOpen(tls, pConn)
 98483  	return (*struct {
 98484  		f func(*libc.TLS, uintptr) int32
 98485  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxSectorSize})).f(tls, pSubOpen)
 98486  }
 98487  
 98488  func quotaDeviceCharacteristics(tls *libc.TLS, pConn uintptr) int32 {
 98489  	var pSubOpen uintptr = quotaSubOpen(tls, pConn)
 98490  	return (*struct {
 98491  		f func(*libc.TLS, uintptr) int32
 98492  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxDeviceCharacteristics})).f(tls, pSubOpen)
 98493  }
 98494  
 98495  func quotaShmMap(tls *libc.TLS, pConn uintptr, iRegion int32, szRegion int32, bExtend int32, pp uintptr) int32 {
 98496  	var pSubOpen uintptr = quotaSubOpen(tls, pConn)
 98497  	return (*struct {
 98498  		f func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32
 98499  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxShmMap})).f(tls, pSubOpen, iRegion, szRegion, bExtend, pp)
 98500  }
 98501  
 98502  func quotaShmLock(tls *libc.TLS, pConn uintptr, ofst int32, n int32, flags int32) int32 {
 98503  	var pSubOpen uintptr = quotaSubOpen(tls, pConn)
 98504  	return (*struct {
 98505  		f func(*libc.TLS, uintptr, int32, int32, int32) int32
 98506  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxShmLock})).f(tls, pSubOpen, ofst, n, flags)
 98507  }
 98508  
 98509  func quotaShmBarrier(tls *libc.TLS, pConn uintptr) {
 98510  	var pSubOpen uintptr = quotaSubOpen(tls, pConn)
 98511  	(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxShmBarrier})).f(tls, pSubOpen)
 98512  }
 98513  
 98514  func quotaShmUnmap(tls *libc.TLS, pConn uintptr, deleteFlag int32) int32 {
 98515  	var pSubOpen uintptr = quotaSubOpen(tls, pConn)
 98516  	return (*struct {
 98517  		f func(*libc.TLS, uintptr, int32) int32
 98518  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxShmUnmap})).f(tls, pSubOpen, deleteFlag)
 98519  }
 98520  
 98521  func sqlite3_quota_initialize(tls *libc.TLS, zOrigVfsName uintptr, makeDefault int32) int32 {
 98522  	var pOrigVfs uintptr
 98523  	if gQuota.FisInitialized != 0 {
 98524  		return SQLITE_MISUSE
 98525  	}
 98526  	pOrigVfs = sqlite3.Xsqlite3_vfs_find(tls, zOrigVfsName)
 98527  	if pOrigVfs == uintptr(0) {
 98528  		return SQLITE_ERROR
 98529  	}
 98530  
 98531  	gQuota.FpMutex = sqlite3.Xsqlite3_mutex_alloc(tls, SQLITE_MUTEX_FAST)
 98532  	if !(int32(gQuota.FpMutex) != 0) {
 98533  		return SQLITE_NOMEM
 98534  	}
 98535  	gQuota.FisInitialized = 1
 98536  	gQuota.FpOrigVfs = pOrigVfs
 98537  	gQuota.FsThisVfs = *(*sqlite3_vfs)(unsafe.Pointer(pOrigVfs))
 98538  	gQuota.FsThisVfs.FxOpen = *(*uintptr)(unsafe.Pointer(&struct {
 98539  		f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32
 98540  	}{quotaOpen}))
 98541  	gQuota.FsThisVfs.FxDelete = *(*uintptr)(unsafe.Pointer(&struct {
 98542  		f func(*libc.TLS, uintptr, uintptr, int32) int32
 98543  	}{quotaDelete}))
 98544  	*(*int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&gQuota)) + 8 + 4)) += int32(uint64(unsafe.Sizeof(quotaConn{})))
 98545  	gQuota.FsThisVfs.FzName = ts + 35659
 98546  	gQuota.FsIoMethodsV1.FiVersion = 1
 98547  	gQuota.FsIoMethodsV1.FxClose = *(*uintptr)(unsafe.Pointer(&struct {
 98548  		f func(*libc.TLS, uintptr) int32
 98549  	}{quotaClose}))
 98550  	gQuota.FsIoMethodsV1.FxRead = *(*uintptr)(unsafe.Pointer(&struct {
 98551  		f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32
 98552  	}{quotaRead}))
 98553  	gQuota.FsIoMethodsV1.FxWrite = *(*uintptr)(unsafe.Pointer(&struct {
 98554  		f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32
 98555  	}{quotaWrite}))
 98556  	gQuota.FsIoMethodsV1.FxTruncate = *(*uintptr)(unsafe.Pointer(&struct {
 98557  		f func(*libc.TLS, uintptr, sqlite3_int64) int32
 98558  	}{quotaTruncate}))
 98559  	gQuota.FsIoMethodsV1.FxSync = *(*uintptr)(unsafe.Pointer(&struct {
 98560  		f func(*libc.TLS, uintptr, int32) int32
 98561  	}{quotaSync}))
 98562  	gQuota.FsIoMethodsV1.FxFileSize = *(*uintptr)(unsafe.Pointer(&struct {
 98563  		f func(*libc.TLS, uintptr, uintptr) int32
 98564  	}{quotaFileSize}))
 98565  	gQuota.FsIoMethodsV1.FxLock = *(*uintptr)(unsafe.Pointer(&struct {
 98566  		f func(*libc.TLS, uintptr, int32) int32
 98567  	}{quotaLock}))
 98568  	gQuota.FsIoMethodsV1.FxUnlock = *(*uintptr)(unsafe.Pointer(&struct {
 98569  		f func(*libc.TLS, uintptr, int32) int32
 98570  	}{quotaUnlock}))
 98571  	gQuota.FsIoMethodsV1.FxCheckReservedLock = *(*uintptr)(unsafe.Pointer(&struct {
 98572  		f func(*libc.TLS, uintptr, uintptr) int32
 98573  	}{quotaCheckReservedLock}))
 98574  	gQuota.FsIoMethodsV1.FxFileControl = *(*uintptr)(unsafe.Pointer(&struct {
 98575  		f func(*libc.TLS, uintptr, int32, uintptr) int32
 98576  	}{quotaFileControl}))
 98577  	gQuota.FsIoMethodsV1.FxSectorSize = *(*uintptr)(unsafe.Pointer(&struct {
 98578  		f func(*libc.TLS, uintptr) int32
 98579  	}{quotaSectorSize}))
 98580  	gQuota.FsIoMethodsV1.FxDeviceCharacteristics = *(*uintptr)(unsafe.Pointer(&struct {
 98581  		f func(*libc.TLS, uintptr) int32
 98582  	}{quotaDeviceCharacteristics}))
 98583  	gQuota.FsIoMethodsV2 = gQuota.FsIoMethodsV1
 98584  	gQuota.FsIoMethodsV2.FiVersion = 2
 98585  	gQuota.FsIoMethodsV2.FxShmMap = *(*uintptr)(unsafe.Pointer(&struct {
 98586  		f func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32
 98587  	}{quotaShmMap}))
 98588  	gQuota.FsIoMethodsV2.FxShmLock = *(*uintptr)(unsafe.Pointer(&struct {
 98589  		f func(*libc.TLS, uintptr, int32, int32, int32) int32
 98590  	}{quotaShmLock}))
 98591  	gQuota.FsIoMethodsV2.FxShmBarrier = *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{quotaShmBarrier}))
 98592  	gQuota.FsIoMethodsV2.FxShmUnmap = *(*uintptr)(unsafe.Pointer(&struct {
 98593  		f func(*libc.TLS, uintptr, int32) int32
 98594  	}{quotaShmUnmap}))
 98595  	sqlite3.Xsqlite3_vfs_register(tls, uintptr(unsafe.Pointer(&gQuota))+8, makeDefault)
 98596  	return SQLITE_OK
 98597  }
 98598  
 98599  func sqlite3_quota_shutdown(tls *libc.TLS) int32 {
 98600  	var pGroup uintptr
 98601  	if gQuota.FisInitialized == 0 {
 98602  		return SQLITE_MISUSE
 98603  	}
 98604  	for pGroup = gQuota.FpGroup; pGroup != 0; pGroup = (*quotaGroup)(unsafe.Pointer(pGroup)).FpNext {
 98605  		if quotaGroupOpenFileCount(tls, pGroup) > 0 {
 98606  			return SQLITE_MISUSE
 98607  		}
 98608  	}
 98609  	for gQuota.FpGroup != 0 {
 98610  		pGroup = gQuota.FpGroup
 98611  		gQuota.FpGroup = (*quotaGroup)(unsafe.Pointer(pGroup)).FpNext
 98612  		(*quotaGroup)(unsafe.Pointer(pGroup)).FiLimit = int64(0)
 98613  
 98614  		quotaGroupDeref(tls, pGroup)
 98615  	}
 98616  	gQuota.FisInitialized = 0
 98617  	sqlite3.Xsqlite3_mutex_free(tls, gQuota.FpMutex)
 98618  	sqlite3.Xsqlite3_vfs_unregister(tls, uintptr(unsafe.Pointer(&gQuota))+8)
 98619  	libc.Xmemset(tls, uintptr(unsafe.Pointer(&gQuota)), 0, uint64(unsafe.Sizeof(gQuota)))
 98620  	return SQLITE_OK
 98621  }
 98622  
 98623  func sqlite3_quota_set(tls *libc.TLS, zPattern uintptr, iLimit sqlite3_int64, xCallback uintptr, pArg uintptr, xDestroy uintptr) int32 {
 98624  	var pGroup uintptr
 98625  	quotaEnter(tls)
 98626  	pGroup = gQuota.FpGroup
 98627  	for pGroup != 0 && libc.Xstrcmp(tls, (*quotaGroup)(unsafe.Pointer(pGroup)).FzPattern, zPattern) != 0 {
 98628  		pGroup = (*quotaGroup)(unsafe.Pointer(pGroup)).FpNext
 98629  	}
 98630  	if pGroup == uintptr(0) {
 98631  		var nPattern int32 = int32(libc.Xstrlen(tls, zPattern) & uint64(0x3fffffff))
 98632  		if iLimit <= int64(0) {
 98633  			quotaLeave(tls)
 98634  			return SQLITE_OK
 98635  		}
 98636  		pGroup = sqlite3.Xsqlite3_malloc(tls, int32(uint64(unsafe.Sizeof(quotaGroup{}))+uint64(nPattern)+uint64(1)))
 98637  		if pGroup == uintptr(0) {
 98638  			quotaLeave(tls)
 98639  			return SQLITE_NOMEM
 98640  		}
 98641  		libc.Xmemset(tls, pGroup, 0, uint64(unsafe.Sizeof(quotaGroup{})))
 98642  		(*quotaGroup)(unsafe.Pointer(pGroup)).FzPattern = pGroup + 1*72
 98643  		libc.Xmemcpy(tls, (*quotaGroup)(unsafe.Pointer(pGroup)).FzPattern, zPattern, uint64(nPattern+1))
 98644  		if gQuota.FpGroup != 0 {
 98645  			(*quotaGroup)(unsafe.Pointer(gQuota.FpGroup)).FppPrev = pGroup + 48
 98646  		}
 98647  		(*quotaGroup)(unsafe.Pointer(pGroup)).FpNext = gQuota.FpGroup
 98648  		(*quotaGroup)(unsafe.Pointer(pGroup)).FppPrev = uintptr(unsafe.Pointer(&gQuota)) + 496
 98649  		gQuota.FpGroup = pGroup
 98650  	}
 98651  	(*quotaGroup)(unsafe.Pointer(pGroup)).FiLimit = iLimit
 98652  	(*quotaGroup)(unsafe.Pointer(pGroup)).FxCallback = xCallback
 98653  	if (*quotaGroup)(unsafe.Pointer(pGroup)).FxDestroy != 0 && (*quotaGroup)(unsafe.Pointer(pGroup)).FpArg != pArg {
 98654  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*quotaGroup)(unsafe.Pointer(pGroup)).FxDestroy})).f(tls, (*quotaGroup)(unsafe.Pointer(pGroup)).FpArg)
 98655  	}
 98656  	(*quotaGroup)(unsafe.Pointer(pGroup)).FpArg = pArg
 98657  	(*quotaGroup)(unsafe.Pointer(pGroup)).FxDestroy = xDestroy
 98658  	quotaGroupDeref(tls, pGroup)
 98659  	quotaLeave(tls)
 98660  	return SQLITE_OK
 98661  }
 98662  
 98663  func sqlite3_quota_file(tls *libc.TLS, zFilename uintptr) int32 {
 98664  	bp := tls.Alloc(16)
 98665  	defer tls.Free(16)
 98666  
 98667  	var zFull uintptr = uintptr(0)
 98668  	var fd uintptr
 98669  	var rc int32
 98670  	*(*int32)(unsafe.Pointer(bp)) = 0
 98671  
 98672  	var nAlloc int32 = gQuota.FsThisVfs.FszOsFile + gQuota.FsThisVfs.FmxPathname + 2
 98673  
 98674  	fd = sqlite3.Xsqlite3_malloc(tls, nAlloc)
 98675  	if fd == uintptr(0) {
 98676  		rc = SQLITE_NOMEM
 98677  	} else {
 98678  		zFull = fd + uintptr(gQuota.FsThisVfs.FszOsFile)
 98679  		rc = (*struct {
 98680  			f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 98681  		})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(gQuota.FpOrigVfs)).FxFullPathname})).f(tls, gQuota.FpOrigVfs, zFilename,
 98682  			gQuota.FsThisVfs.FmxPathname+1, zFull)
 98683  	}
 98684  
 98685  	if rc == SQLITE_OK {
 98686  		*(*int8)(unsafe.Pointer(zFull + uintptr(libc.Xstrlen(tls, zFull)+uint64(1)))) = int8(0)
 98687  		rc = quotaOpen(tls, uintptr(unsafe.Pointer(&gQuota))+8, zFull, fd,
 98688  			SQLITE_OPEN_READONLY|SQLITE_OPEN_MAIN_DB, bp)
 98689  		if rc == SQLITE_OK {
 98690  			(*struct {
 98691  				f func(*libc.TLS, uintptr, uintptr) int32
 98692  			})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(fd)).FpMethods)).FxFileSize})).f(tls, fd, bp+8)
 98693  			(*struct {
 98694  				f func(*libc.TLS, uintptr) int32
 98695  			})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(fd)).FpMethods)).FxClose})).f(tls, fd)
 98696  		} else if rc == SQLITE_CANTOPEN {
 98697  			var pGroup uintptr
 98698  			var pFile uintptr
 98699  			quotaEnter(tls)
 98700  			pGroup = quotaGroupFind(tls, zFull)
 98701  			if pGroup != 0 {
 98702  				pFile = quotaFindFile(tls, pGroup, zFull, 0)
 98703  				if pFile != 0 {
 98704  					quotaRemoveFile(tls, pFile)
 98705  				}
 98706  			}
 98707  			quotaLeave(tls)
 98708  		}
 98709  	}
 98710  
 98711  	sqlite3.Xsqlite3_free(tls, fd)
 98712  	return rc
 98713  }
 98714  
 98715  func sqlite3_quota_fopen(tls *libc.TLS, zFilename uintptr, zMode uintptr) uintptr {
 98716  	var p uintptr
 98717  	var zFull uintptr
 98718  	var zFullTranslated uintptr
 98719  	var rc int32
 98720  	var pGroup uintptr
 98721  	var pFile uintptr
 98722  	p = uintptr(0)
 98723  	zFull = uintptr(0)
 98724  	zFullTranslated = uintptr(0)
 98725  
 98726  	zFull = sqlite3.Xsqlite3_malloc(tls, gQuota.FsThisVfs.FmxPathname+1)
 98727  	if !(zFull == uintptr(0)) {
 98728  		goto __1
 98729  	}
 98730  	return uintptr(0)
 98731  __1:
 98732  	;
 98733  	rc = (*struct {
 98734  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 98735  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(gQuota.FpOrigVfs)).FxFullPathname})).f(tls, gQuota.FpOrigVfs, zFilename,
 98736  		gQuota.FsThisVfs.FmxPathname+1, zFull)
 98737  	if !(rc != 0) {
 98738  		goto __2
 98739  	}
 98740  	goto quota_fopen_error
 98741  __2:
 98742  	;
 98743  	p = sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(quota_FILE{})))
 98744  	if !(p == uintptr(0)) {
 98745  		goto __3
 98746  	}
 98747  	goto quota_fopen_error
 98748  __3:
 98749  	;
 98750  	libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(quota_FILE{})))
 98751  	zFullTranslated = quota_utf8_to_mbcs(tls, zFull)
 98752  	if !(zFullTranslated == uintptr(0)) {
 98753  		goto __4
 98754  	}
 98755  	goto quota_fopen_error
 98756  __4:
 98757  	;
 98758  	(*quota_FILE)(unsafe.Pointer(p)).Ff = libc.Xfopen(tls, zFullTranslated, zMode)
 98759  	if !((*quota_FILE)(unsafe.Pointer(p)).Ff == uintptr(0)) {
 98760  		goto __5
 98761  	}
 98762  	goto quota_fopen_error
 98763  __5:
 98764  	;
 98765  	quotaEnter(tls)
 98766  	pGroup = quotaGroupFind(tls, zFull)
 98767  	if !(pGroup != 0) {
 98768  		goto __6
 98769  	}
 98770  	pFile = quotaFindFile(tls, pGroup, zFull, 1)
 98771  	if !(pFile == uintptr(0)) {
 98772  		goto __7
 98773  	}
 98774  	quotaLeave(tls)
 98775  	goto quota_fopen_error
 98776  __7:
 98777  	;
 98778  	(*quotaFile)(unsafe.Pointer(pFile)).FnRef++
 98779  	(*quota_FILE)(unsafe.Pointer(p)).FpFile = pFile
 98780  __6:
 98781  	;
 98782  	quotaLeave(tls)
 98783  	sqlite3.Xsqlite3_free(tls, zFull)
 98784  	(*quota_FILE)(unsafe.Pointer(p)).FzMbcsName = zFullTranslated
 98785  	return p
 98786  
 98787  quota_fopen_error:
 98788  	quota_mbcs_free(tls, zFullTranslated)
 98789  	sqlite3.Xsqlite3_free(tls, zFull)
 98790  	if !(p != 0 && (*quota_FILE)(unsafe.Pointer(p)).Ff != 0) {
 98791  		goto __8
 98792  	}
 98793  	libc.Xfclose(tls, (*quota_FILE)(unsafe.Pointer(p)).Ff)
 98794  __8:
 98795  	;
 98796  	sqlite3.Xsqlite3_free(tls, p)
 98797  	return uintptr(0)
 98798  }
 98799  
 98800  func sqlite3_quota_fread(tls *libc.TLS, pBuf uintptr, size size_t, nmemb size_t, p uintptr) size_t {
 98801  	return libc.Xfread(tls, pBuf, size, nmemb, (*quota_FILE)(unsafe.Pointer(p)).Ff)
 98802  }
 98803  
 98804  func sqlite3_quota_fwrite(tls *libc.TLS, pBuf uintptr, size size_t, nmemb size_t, p uintptr) size_t {
 98805  	var iOfst sqlite3_int64
 98806  	var iEnd sqlite3_int64
 98807  	var szNew sqlite3_int64
 98808  	var pFile uintptr
 98809  	var rc size_t
 98810  
 98811  	iOfst = sqlite3_int64(libc.Xftell(tls, (*quota_FILE)(unsafe.Pointer(p)).Ff))
 98812  	iEnd = sqlite3_int64(size_t(iOfst) + size*nmemb)
 98813  	pFile = (*quota_FILE)(unsafe.Pointer(p)).FpFile
 98814  	if pFile != 0 && (*quotaFile)(unsafe.Pointer(pFile)).FiSize < iEnd {
 98815  		var pGroup uintptr = (*quotaFile)(unsafe.Pointer(pFile)).FpGroup
 98816  		quotaEnter(tls)
 98817  		szNew = (*quotaGroup)(unsafe.Pointer(pGroup)).FiSize - (*quotaFile)(unsafe.Pointer(pFile)).FiSize + iEnd
 98818  		if szNew > (*quotaGroup)(unsafe.Pointer(pGroup)).FiLimit && (*quotaGroup)(unsafe.Pointer(pGroup)).FiLimit > int64(0) {
 98819  			if (*quotaGroup)(unsafe.Pointer(pGroup)).FxCallback != 0 {
 98820  				(*struct {
 98821  					f func(*libc.TLS, uintptr, uintptr, sqlite3_int64, uintptr)
 98822  				})(unsafe.Pointer(&struct{ uintptr }{(*quotaGroup)(unsafe.Pointer(pGroup)).FxCallback})).f(tls, (*quotaFile)(unsafe.Pointer(pFile)).FzFilename, pGroup+8, szNew,
 98823  					(*quotaGroup)(unsafe.Pointer(pGroup)).FpArg)
 98824  			}
 98825  			if szNew > (*quotaGroup)(unsafe.Pointer(pGroup)).FiLimit && (*quotaGroup)(unsafe.Pointer(pGroup)).FiLimit > int64(0) {
 98826  				iEnd = (*quotaGroup)(unsafe.Pointer(pGroup)).FiLimit - (*quotaGroup)(unsafe.Pointer(pGroup)).FiSize + (*quotaFile)(unsafe.Pointer(pFile)).FiSize
 98827  				nmemb = size_t(iEnd-iOfst) / size
 98828  				iEnd = sqlite3_int64(size_t(iOfst) + size*nmemb)
 98829  				szNew = (*quotaGroup)(unsafe.Pointer(pGroup)).FiSize - (*quotaFile)(unsafe.Pointer(pFile)).FiSize + iEnd
 98830  			}
 98831  		}
 98832  		(*quotaGroup)(unsafe.Pointer(pGroup)).FiSize = szNew
 98833  		(*quotaFile)(unsafe.Pointer(pFile)).FiSize = iEnd
 98834  		quotaLeave(tls)
 98835  	} else {
 98836  		pFile = uintptr(0)
 98837  	}
 98838  	rc = libc.Xfwrite(tls, pBuf, size, nmemb, (*quota_FILE)(unsafe.Pointer(p)).Ff)
 98839  
 98840  	if rc < nmemb && pFile != 0 {
 98841  		var nWritten size_t = rc
 98842  		var iNewEnd sqlite3_int64 = sqlite3_int64(size_t(iOfst) + size*nWritten)
 98843  		if iNewEnd < iEnd {
 98844  			iNewEnd = iEnd
 98845  		}
 98846  		quotaEnter(tls)
 98847  		*(*sqlite3_int64)(unsafe.Pointer((*quotaFile)(unsafe.Pointer(pFile)).FpGroup + 16)) += iNewEnd - (*quotaFile)(unsafe.Pointer(pFile)).FiSize
 98848  		(*quotaFile)(unsafe.Pointer(pFile)).FiSize = iNewEnd
 98849  		quotaLeave(tls)
 98850  	}
 98851  	return rc
 98852  }
 98853  
 98854  func sqlite3_quota_fclose(tls *libc.TLS, p uintptr) int32 {
 98855  	var rc int32
 98856  	var pFile uintptr
 98857  	rc = libc.Xfclose(tls, (*quota_FILE)(unsafe.Pointer(p)).Ff)
 98858  	pFile = (*quota_FILE)(unsafe.Pointer(p)).FpFile
 98859  	if pFile != 0 {
 98860  		quotaEnter(tls)
 98861  		(*quotaFile)(unsafe.Pointer(pFile)).FnRef--
 98862  		if (*quotaFile)(unsafe.Pointer(pFile)).FnRef == 0 {
 98863  			var pGroup uintptr = (*quotaFile)(unsafe.Pointer(pFile)).FpGroup
 98864  			if (*quotaFile)(unsafe.Pointer(pFile)).FdeleteOnClose != 0 {
 98865  				(*struct {
 98866  					f func(*libc.TLS, uintptr, uintptr, int32) int32
 98867  				})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(gQuota.FpOrigVfs)).FxDelete})).f(tls, gQuota.FpOrigVfs, (*quotaFile)(unsafe.Pointer(pFile)).FzFilename, 0)
 98868  				quotaRemoveFile(tls, pFile)
 98869  			}
 98870  			quotaGroupDeref(tls, pGroup)
 98871  		}
 98872  		quotaLeave(tls)
 98873  	}
 98874  	quota_mbcs_free(tls, (*quota_FILE)(unsafe.Pointer(p)).FzMbcsName)
 98875  	sqlite3.Xsqlite3_free(tls, p)
 98876  	return rc
 98877  }
 98878  
 98879  func sqlite3_quota_fflush(tls *libc.TLS, p uintptr, doFsync int32) int32 {
 98880  	var rc int32
 98881  	rc = libc.Xfflush(tls, (*quota_FILE)(unsafe.Pointer(p)).Ff)
 98882  	if rc == 0 && doFsync != 0 {
 98883  		rc = libc.X_commit(tls, libc.X_fileno(tls, (*quota_FILE)(unsafe.Pointer(p)).Ff))
 98884  	}
 98885  	return libc.Bool32(rc != 0)
 98886  }
 98887  
 98888  func sqlite3_quota_fseek(tls *libc.TLS, p uintptr, offset int32, whence int32) int32 {
 98889  	return libc.Xfseek(tls, (*quota_FILE)(unsafe.Pointer(p)).Ff, offset, whence)
 98890  }
 98891  
 98892  func sqlite3_quota_rewind(tls *libc.TLS, p uintptr) {
 98893  	libc.Xrewind(tls, (*quota_FILE)(unsafe.Pointer(p)).Ff)
 98894  }
 98895  
 98896  func sqlite3_quota_ftell(tls *libc.TLS, p uintptr) int32 {
 98897  	return libc.Xftell(tls, (*quota_FILE)(unsafe.Pointer(p)).Ff)
 98898  }
 98899  
 98900  func sqlite3_quota_ferror(tls *libc.TLS, p uintptr) int32 {
 98901  	return libc.Xferror(tls, (*quota_FILE)(unsafe.Pointer(p)).Ff)
 98902  }
 98903  
 98904  func sqlite3_quota_ftruncate(tls *libc.TLS, p uintptr, szNew sqlite3_int64) int32 {
 98905  	var pFile uintptr = (*quota_FILE)(unsafe.Pointer(p)).FpFile
 98906  	var rc int32
 98907  	if libc.AssignUintptr(&pFile, (*quota_FILE)(unsafe.Pointer(p)).FpFile) != uintptr(0) && (*quotaFile)(unsafe.Pointer(pFile)).FiSize < szNew {
 98908  		var pGroup uintptr
 98909  		if (*quotaFile)(unsafe.Pointer(pFile)).FiSize < szNew {
 98910  			return -1
 98911  		}
 98912  		pGroup = (*quotaFile)(unsafe.Pointer(pFile)).FpGroup
 98913  		quotaEnter(tls)
 98914  		*(*sqlite3_int64)(unsafe.Pointer(pGroup + 16)) += szNew - (*quotaFile)(unsafe.Pointer(pFile)).FiSize
 98915  		quotaLeave(tls)
 98916  	}
 98917  
 98918  	rc = libc.X_chsize(tls, libc.X_fileno(tls, (*quota_FILE)(unsafe.Pointer(p)).Ff), int32(szNew))
 98919  	if pFile != 0 && rc == 0 {
 98920  		var pGroup uintptr = (*quotaFile)(unsafe.Pointer(pFile)).FpGroup
 98921  		quotaEnter(tls)
 98922  		*(*sqlite3_int64)(unsafe.Pointer(pGroup + 16)) += szNew - (*quotaFile)(unsafe.Pointer(pFile)).FiSize
 98923  		(*quotaFile)(unsafe.Pointer(pFile)).FiSize = szNew
 98924  		quotaLeave(tls)
 98925  	}
 98926  	return rc
 98927  }
 98928  
 98929  func sqlite3_quota_file_mtime(tls *libc.TLS, p uintptr, pTime uintptr) int32 {
 98930  	bp := tls.Alloc(56)
 98931  	defer tls.Free(56)
 98932  
 98933  	var rc int32
 98934  
 98935  	rc = libc.X_stat64(tls, (*quota_FILE)(unsafe.Pointer(p)).FzMbcsName, bp)
 98936  	if rc == 0 {
 98937  		*(*time_t)(unsafe.Pointer(pTime)) = (*_stat64)(unsafe.Pointer(bp)).Fst_mtime
 98938  	}
 98939  	return rc
 98940  }
 98941  
 98942  func sqlite3_quota_file_truesize(tls *libc.TLS, p uintptr) sqlite3_int64 {
 98943  	bp := tls.Alloc(56)
 98944  	defer tls.Free(56)
 98945  
 98946  	var rc int32
 98947  
 98948  	rc = libc.X_stat64(tls, (*quota_FILE)(unsafe.Pointer(p)).FzMbcsName, bp)
 98949  	if rc == 0 {
 98950  		return (*_stat64)(unsafe.Pointer(bp)).Fst_size
 98951  	}
 98952  	return int64(-1)
 98953  }
 98954  
 98955  func sqlite3_quota_file_size(tls *libc.TLS, p uintptr) sqlite3_int64 {
 98956  	if (*quota_FILE)(unsafe.Pointer(p)).FpFile != 0 {
 98957  		return (*quotaFile)(unsafe.Pointer((*quota_FILE)(unsafe.Pointer(p)).FpFile)).FiSize
 98958  	}
 98959  	return int64(-1)
 98960  }
 98961  
 98962  func sqlite3_quota_file_available(tls *libc.TLS, p uintptr) int32 {
 98963  	var f uintptr = (*quota_FILE)(unsafe.Pointer(p)).Ff
 98964  	var pos1 int32
 98965  	var pos2 int32
 98966  	var rc int32
 98967  	pos1 = libc.Xftell(tls, f)
 98968  	if pos1 < 0 {
 98969  		return -1
 98970  	}
 98971  	rc = libc.Xfseek(tls, f, 0, SEEK_END)
 98972  	if rc != 0 {
 98973  		return -1
 98974  	}
 98975  	pos2 = libc.Xftell(tls, f)
 98976  	if pos2 < 0 {
 98977  		return -1
 98978  	}
 98979  	rc = libc.Xfseek(tls, f, pos1, SEEK_SET)
 98980  	if rc != 0 {
 98981  		return -1
 98982  	}
 98983  	return pos2 - pos1
 98984  }
 98985  
 98986  func sqlite3_quota_remove(tls *libc.TLS, zFilename uintptr) int32 {
 98987  	var zFull uintptr
 98988  	var nFull size_t
 98989  	var rc int32
 98990  	var pGroup uintptr
 98991  	var pFile uintptr
 98992  	var pNextFile uintptr
 98993  	var diff int32
 98994  	var c int8
 98995  
 98996  	zFull = sqlite3.Xsqlite3_malloc(tls, gQuota.FsThisVfs.FmxPathname+1)
 98997  	if zFull == uintptr(0) {
 98998  		return SQLITE_NOMEM
 98999  	}
 99000  	rc = (*struct {
 99001  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
 99002  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(gQuota.FpOrigVfs)).FxFullPathname})).f(tls, gQuota.FpOrigVfs, zFilename,
 99003  		gQuota.FsThisVfs.FmxPathname+1, zFull)
 99004  	if rc != 0 {
 99005  		sqlite3.Xsqlite3_free(tls, zFull)
 99006  		return rc
 99007  	}
 99008  
 99009  	nFull = libc.Xstrlen(tls, zFull)
 99010  	if nFull > uint64(0) && (int32(*(*int8)(unsafe.Pointer(zFull + uintptr(nFull-uint64(1))))) == '/' || int32(*(*int8)(unsafe.Pointer(zFull + uintptr(nFull-uint64(1))))) == '\\') {
 99011  		nFull--
 99012  		*(*int8)(unsafe.Pointer(zFull + uintptr(nFull))) = int8(0)
 99013  	}
 99014  
 99015  	quotaEnter(tls)
 99016  	pGroup = quotaGroupFind(tls, zFull)
 99017  	if pGroup != 0 {
 99018  		for pFile = (*quotaGroup)(unsafe.Pointer(pGroup)).FpFiles; pFile != 0 && rc == SQLITE_OK; pFile = pNextFile {
 99019  			pNextFile = (*quotaFile)(unsafe.Pointer(pFile)).FpNext
 99020  			diff = libc.Xstrncmp(tls, zFull, (*quotaFile)(unsafe.Pointer(pFile)).FzFilename, nFull)
 99021  			if diff == 0 && (int32(libc.AssignInt8(&c, *(*int8)(unsafe.Pointer((*quotaFile)(unsafe.Pointer(pFile)).FzFilename + uintptr(nFull))))) == 0 || int32(c) == '/' || int32(c) == '\\') {
 99022  				if (*quotaFile)(unsafe.Pointer(pFile)).FnRef != 0 {
 99023  					(*quotaFile)(unsafe.Pointer(pFile)).FdeleteOnClose = 1
 99024  				} else {
 99025  					rc = (*struct {
 99026  						f func(*libc.TLS, uintptr, uintptr, int32) int32
 99027  					})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(gQuota.FpOrigVfs)).FxDelete})).f(tls, gQuota.FpOrigVfs, (*quotaFile)(unsafe.Pointer(pFile)).FzFilename, 0)
 99028  					quotaRemoveFile(tls, pFile)
 99029  					quotaGroupDeref(tls, pGroup)
 99030  				}
 99031  			}
 99032  		}
 99033  	}
 99034  	quotaLeave(tls)
 99035  	sqlite3.Xsqlite3_free(tls, zFull)
 99036  	return rc
 99037  }
 99038  
 99039  type Tcl_StatBuf = _stat64
 99040  type Tcl_OldStat_1 = uintptr
 99041  
 99042  type TclStubs1 = struct {
 99043  	Fmagic                                  int32
 99044  	F__ccgo_pad1                            [4]byte
 99045  	Fhooks                                  uintptr
 99046  	Ftcl_PkgProvideEx                       uintptr
 99047  	Ftcl_PkgRequireEx                       uintptr
 99048  	Ftcl_Panic                              uintptr
 99049  	Ftcl_Alloc                              uintptr
 99050  	Ftcl_Free                               uintptr
 99051  	Ftcl_Realloc                            uintptr
 99052  	Ftcl_DbCkalloc                          uintptr
 99053  	Ftcl_DbCkfree                           uintptr
 99054  	Ftcl_DbCkrealloc                        uintptr
 99055  	Freserved9                              uintptr
 99056  	Freserved10                             uintptr
 99057  	Ftcl_SetTimer                           uintptr
 99058  	Ftcl_Sleep                              uintptr
 99059  	Ftcl_WaitForEvent                       uintptr
 99060  	Ftcl_AppendAllObjTypes                  uintptr
 99061  	Ftcl_AppendStringsToObj                 uintptr
 99062  	Ftcl_AppendToObj                        uintptr
 99063  	Ftcl_ConcatObj                          uintptr
 99064  	Ftcl_ConvertToType                      uintptr
 99065  	Ftcl_DbDecrRefCount                     uintptr
 99066  	Ftcl_DbIncrRefCount                     uintptr
 99067  	Ftcl_DbIsShared                         uintptr
 99068  	Ftcl_DbNewBooleanObj                    uintptr
 99069  	Ftcl_DbNewByteArrayObj                  uintptr
 99070  	Ftcl_DbNewDoubleObj                     uintptr
 99071  	Ftcl_DbNewListObj                       uintptr
 99072  	Ftcl_DbNewLongObj                       uintptr
 99073  	Ftcl_DbNewObj                           uintptr
 99074  	Ftcl_DbNewStringObj                     uintptr
 99075  	Ftcl_DuplicateObj                       uintptr
 99076  	FtclFreeObj                             uintptr
 99077  	Ftcl_GetBoolean                         uintptr
 99078  	Ftcl_GetBooleanFromObj                  uintptr
 99079  	Ftcl_GetByteArrayFromObj                uintptr
 99080  	Ftcl_GetDouble                          uintptr
 99081  	Ftcl_GetDoubleFromObj                   uintptr
 99082  	Ftcl_GetIndexFromObj                    uintptr
 99083  	Ftcl_GetInt                             uintptr
 99084  	Ftcl_GetIntFromObj                      uintptr
 99085  	Ftcl_GetLongFromObj                     uintptr
 99086  	Ftcl_GetObjType                         uintptr
 99087  	Ftcl_GetStringFromObj                   uintptr
 99088  	Ftcl_InvalidateStringRep                uintptr
 99089  	Ftcl_ListObjAppendList                  uintptr
 99090  	Ftcl_ListObjAppendElement               uintptr
 99091  	Ftcl_ListObjGetElements                 uintptr
 99092  	Ftcl_ListObjIndex                       uintptr
 99093  	Ftcl_ListObjLength                      uintptr
 99094  	Ftcl_ListObjReplace                     uintptr
 99095  	Ftcl_NewBooleanObj                      uintptr
 99096  	Ftcl_NewByteArrayObj                    uintptr
 99097  	Ftcl_NewDoubleObj                       uintptr
 99098  	Ftcl_NewIntObj                          uintptr
 99099  	Ftcl_NewListObj                         uintptr
 99100  	Ftcl_NewLongObj                         uintptr
 99101  	Ftcl_NewObj                             uintptr
 99102  	Ftcl_NewStringObj                       uintptr
 99103  	Ftcl_SetBooleanObj                      uintptr
 99104  	Ftcl_SetByteArrayLength                 uintptr
 99105  	Ftcl_SetByteArrayObj                    uintptr
 99106  	Ftcl_SetDoubleObj                       uintptr
 99107  	Ftcl_SetIntObj                          uintptr
 99108  	Ftcl_SetListObj                         uintptr
 99109  	Ftcl_SetLongObj                         uintptr
 99110  	Ftcl_SetObjLength                       uintptr
 99111  	Ftcl_SetStringObj                       uintptr
 99112  	Ftcl_AddErrorInfo                       uintptr
 99113  	Ftcl_AddObjErrorInfo                    uintptr
 99114  	Ftcl_AllowExceptions                    uintptr
 99115  	Ftcl_AppendElement                      uintptr
 99116  	Ftcl_AppendResult                       uintptr
 99117  	Ftcl_AsyncCreate                        uintptr
 99118  	Ftcl_AsyncDelete                        uintptr
 99119  	Ftcl_AsyncInvoke                        uintptr
 99120  	Ftcl_AsyncMark                          uintptr
 99121  	Ftcl_AsyncReady                         uintptr
 99122  	Ftcl_BackgroundError                    uintptr
 99123  	Ftcl_Backslash                          uintptr
 99124  	Ftcl_BadChannelOption                   uintptr
 99125  	Ftcl_CallWhenDeleted                    uintptr
 99126  	Ftcl_CancelIdleCall                     uintptr
 99127  	Ftcl_Close                              uintptr
 99128  	Ftcl_CommandComplete                    uintptr
 99129  	Ftcl_Concat                             uintptr
 99130  	Ftcl_ConvertElement                     uintptr
 99131  	Ftcl_ConvertCountedElement              uintptr
 99132  	Ftcl_CreateAlias                        uintptr
 99133  	Ftcl_CreateAliasObj                     uintptr
 99134  	Ftcl_CreateChannel                      uintptr
 99135  	Ftcl_CreateChannelHandler               uintptr
 99136  	Ftcl_CreateCloseHandler                 uintptr
 99137  	Ftcl_CreateCommand                      uintptr
 99138  	Ftcl_CreateEventSource                  uintptr
 99139  	Ftcl_CreateExitHandler                  uintptr
 99140  	Ftcl_CreateInterp                       uintptr
 99141  	Ftcl_CreateMathFunc                     uintptr
 99142  	Ftcl_CreateObjCommand                   uintptr
 99143  	Ftcl_CreateSlave                        uintptr
 99144  	Ftcl_CreateTimerHandler                 uintptr
 99145  	Ftcl_CreateTrace                        uintptr
 99146  	Ftcl_DeleteAssocData                    uintptr
 99147  	Ftcl_DeleteChannelHandler               uintptr
 99148  	Ftcl_DeleteCloseHandler                 uintptr
 99149  	Ftcl_DeleteCommand                      uintptr
 99150  	Ftcl_DeleteCommandFromToken             uintptr
 99151  	Ftcl_DeleteEvents                       uintptr
 99152  	Ftcl_DeleteEventSource                  uintptr
 99153  	Ftcl_DeleteExitHandler                  uintptr
 99154  	Ftcl_DeleteHashEntry                    uintptr
 99155  	Ftcl_DeleteHashTable                    uintptr
 99156  	Ftcl_DeleteInterp                       uintptr
 99157  	Ftcl_DetachPids                         uintptr
 99158  	Ftcl_DeleteTimerHandler                 uintptr
 99159  	Ftcl_DeleteTrace                        uintptr
 99160  	Ftcl_DontCallWhenDeleted                uintptr
 99161  	Ftcl_DoOneEvent                         uintptr
 99162  	Ftcl_DoWhenIdle                         uintptr
 99163  	Ftcl_DStringAppend                      uintptr
 99164  	Ftcl_DStringAppendElement               uintptr
 99165  	Ftcl_DStringEndSublist                  uintptr
 99166  	Ftcl_DStringFree                        uintptr
 99167  	Ftcl_DStringGetResult                   uintptr
 99168  	Ftcl_DStringInit                        uintptr
 99169  	Ftcl_DStringResult                      uintptr
 99170  	Ftcl_DStringSetLength                   uintptr
 99171  	Ftcl_DStringStartSublist                uintptr
 99172  	Ftcl_Eof                                uintptr
 99173  	Ftcl_ErrnoId                            uintptr
 99174  	Ftcl_ErrnoMsg                           uintptr
 99175  	Ftcl_Eval                               uintptr
 99176  	Ftcl_EvalFile                           uintptr
 99177  	Ftcl_EvalObj                            uintptr
 99178  	Ftcl_EventuallyFree                     uintptr
 99179  	Ftcl_Exit                               uintptr
 99180  	Ftcl_ExposeCommand                      uintptr
 99181  	Ftcl_ExprBoolean                        uintptr
 99182  	Ftcl_ExprBooleanObj                     uintptr
 99183  	Ftcl_ExprDouble                         uintptr
 99184  	Ftcl_ExprDoubleObj                      uintptr
 99185  	Ftcl_ExprLong                           uintptr
 99186  	Ftcl_ExprLongObj                        uintptr
 99187  	Ftcl_ExprObj                            uintptr
 99188  	Ftcl_ExprString                         uintptr
 99189  	Ftcl_Finalize                           uintptr
 99190  	Ftcl_FindExecutable                     uintptr
 99191  	Ftcl_FirstHashEntry                     uintptr
 99192  	Ftcl_Flush                              uintptr
 99193  	Ftcl_FreeResult                         uintptr
 99194  	Ftcl_GetAlias                           uintptr
 99195  	Ftcl_GetAliasObj                        uintptr
 99196  	Ftcl_GetAssocData                       uintptr
 99197  	Ftcl_GetChannel                         uintptr
 99198  	Ftcl_GetChannelBufferSize               uintptr
 99199  	Ftcl_GetChannelHandle                   uintptr
 99200  	Ftcl_GetChannelInstanceData             uintptr
 99201  	Ftcl_GetChannelMode                     uintptr
 99202  	Ftcl_GetChannelName                     uintptr
 99203  	Ftcl_GetChannelOption                   uintptr
 99204  	Ftcl_GetChannelType                     uintptr
 99205  	Ftcl_GetCommandInfo                     uintptr
 99206  	Ftcl_GetCommandName                     uintptr
 99207  	Ftcl_GetErrno                           uintptr
 99208  	Ftcl_GetHostName                        uintptr
 99209  	Ftcl_GetInterpPath                      uintptr
 99210  	Ftcl_GetMaster                          uintptr
 99211  	Ftcl_GetNameOfExecutable                uintptr
 99212  	Ftcl_GetObjResult                       uintptr
 99213  	Freserved167                            uintptr
 99214  	Ftcl_GetPathType                        uintptr
 99215  	Ftcl_Gets                               uintptr
 99216  	Ftcl_GetsObj                            uintptr
 99217  	Ftcl_GetServiceMode                     uintptr
 99218  	Ftcl_GetSlave                           uintptr
 99219  	Ftcl_GetStdChannel                      uintptr
 99220  	Ftcl_GetStringResult                    uintptr
 99221  	Ftcl_GetVar                             uintptr
 99222  	Ftcl_GetVar2                            uintptr
 99223  	Ftcl_GlobalEval                         uintptr
 99224  	Ftcl_GlobalEvalObj                      uintptr
 99225  	Ftcl_HideCommand                        uintptr
 99226  	Ftcl_Init                               uintptr
 99227  	Ftcl_InitHashTable                      uintptr
 99228  	Ftcl_InputBlocked                       uintptr
 99229  	Ftcl_InputBuffered                      uintptr
 99230  	Ftcl_InterpDeleted                      uintptr
 99231  	Ftcl_IsSafe                             uintptr
 99232  	Ftcl_JoinPath                           uintptr
 99233  	Ftcl_LinkVar                            uintptr
 99234  	Freserved188                            uintptr
 99235  	Ftcl_MakeFileChannel                    uintptr
 99236  	Ftcl_MakeSafe                           uintptr
 99237  	Ftcl_MakeTcpClientChannel               uintptr
 99238  	Ftcl_Merge                              uintptr
 99239  	Ftcl_NextHashEntry                      uintptr
 99240  	Ftcl_NotifyChannel                      uintptr
 99241  	Ftcl_ObjGetVar2                         uintptr
 99242  	Ftcl_ObjSetVar2                         uintptr
 99243  	Ftcl_OpenCommandChannel                 uintptr
 99244  	Ftcl_OpenFileChannel                    uintptr
 99245  	Ftcl_OpenTcpClient                      uintptr
 99246  	Ftcl_OpenTcpServer                      uintptr
 99247  	Ftcl_Preserve                           uintptr
 99248  	Ftcl_PrintDouble                        uintptr
 99249  	Ftcl_PutEnv                             uintptr
 99250  	Ftcl_PosixError                         uintptr
 99251  	Ftcl_QueueEvent                         uintptr
 99252  	Ftcl_Read                               uintptr
 99253  	Ftcl_ReapDetachedProcs                  uintptr
 99254  	Ftcl_RecordAndEval                      uintptr
 99255  	Ftcl_RecordAndEvalObj                   uintptr
 99256  	Ftcl_RegisterChannel                    uintptr
 99257  	Ftcl_RegisterObjType                    uintptr
 99258  	Ftcl_RegExpCompile                      uintptr
 99259  	Ftcl_RegExpExec                         uintptr
 99260  	Ftcl_RegExpMatch                        uintptr
 99261  	Ftcl_RegExpRange                        uintptr
 99262  	Ftcl_Release                            uintptr
 99263  	Ftcl_ResetResult                        uintptr
 99264  	Ftcl_ScanElement                        uintptr
 99265  	Ftcl_ScanCountedElement                 uintptr
 99266  	Ftcl_SeekOld                            uintptr
 99267  	Ftcl_ServiceAll                         uintptr
 99268  	Ftcl_ServiceEvent                       uintptr
 99269  	Ftcl_SetAssocData                       uintptr
 99270  	Ftcl_SetChannelBufferSize               uintptr
 99271  	Ftcl_SetChannelOption                   uintptr
 99272  	Ftcl_SetCommandInfo                     uintptr
 99273  	Ftcl_SetErrno                           uintptr
 99274  	Ftcl_SetErrorCode                       uintptr
 99275  	Ftcl_SetMaxBlockTime                    uintptr
 99276  	Ftcl_SetPanicProc                       uintptr
 99277  	Ftcl_SetRecursionLimit                  uintptr
 99278  	Ftcl_SetResult                          uintptr
 99279  	Ftcl_SetServiceMode                     uintptr
 99280  	Ftcl_SetObjErrorCode                    uintptr
 99281  	Ftcl_SetObjResult                       uintptr
 99282  	Ftcl_SetStdChannel                      uintptr
 99283  	Ftcl_SetVar                             uintptr
 99284  	Ftcl_SetVar2                            uintptr
 99285  	Ftcl_SignalId                           uintptr
 99286  	Ftcl_SignalMsg                          uintptr
 99287  	Ftcl_SourceRCFile                       uintptr
 99288  	Ftcl_SplitList                          uintptr
 99289  	Ftcl_SplitPath                          uintptr
 99290  	Ftcl_StaticPackage                      uintptr
 99291  	Ftcl_StringMatch                        uintptr
 99292  	Ftcl_TellOld                            uintptr
 99293  	Ftcl_TraceVar                           uintptr
 99294  	Ftcl_TraceVar2                          uintptr
 99295  	Ftcl_TranslateFileName                  uintptr
 99296  	Ftcl_Ungets                             uintptr
 99297  	Ftcl_UnlinkVar                          uintptr
 99298  	Ftcl_UnregisterChannel                  uintptr
 99299  	Ftcl_UnsetVar                           uintptr
 99300  	Ftcl_UnsetVar2                          uintptr
 99301  	Ftcl_UntraceVar                         uintptr
 99302  	Ftcl_UntraceVar2                        uintptr
 99303  	Ftcl_UpdateLinkedVar                    uintptr
 99304  	Ftcl_UpVar                              uintptr
 99305  	Ftcl_UpVar2                             uintptr
 99306  	Ftcl_VarEval                            uintptr
 99307  	Ftcl_VarTraceInfo                       uintptr
 99308  	Ftcl_VarTraceInfo2                      uintptr
 99309  	Ftcl_Write                              uintptr
 99310  	Ftcl_WrongNumArgs                       uintptr
 99311  	Ftcl_DumpActiveMemory                   uintptr
 99312  	Ftcl_ValidateAllMemory                  uintptr
 99313  	Ftcl_AppendResultVA                     uintptr
 99314  	Ftcl_AppendStringsToObjVA               uintptr
 99315  	Ftcl_HashStats                          uintptr
 99316  	Ftcl_ParseVar                           uintptr
 99317  	Ftcl_PkgPresent                         uintptr
 99318  	Ftcl_PkgPresentEx                       uintptr
 99319  	Ftcl_PkgProvide                         uintptr
 99320  	Ftcl_PkgRequire                         uintptr
 99321  	Ftcl_SetErrorCodeVA                     uintptr
 99322  	Ftcl_VarEvalVA                          uintptr
 99323  	Ftcl_WaitPid                            uintptr
 99324  	Ftcl_PanicVA                            uintptr
 99325  	Ftcl_GetVersion                         uintptr
 99326  	Ftcl_InitMemory                         uintptr
 99327  	Ftcl_StackChannel                       uintptr
 99328  	Ftcl_UnstackChannel                     uintptr
 99329  	Ftcl_GetStackedChannel                  uintptr
 99330  	Ftcl_SetMainLoop                        uintptr
 99331  	Freserved285                            uintptr
 99332  	Ftcl_AppendObjToObj                     uintptr
 99333  	Ftcl_CreateEncoding                     uintptr
 99334  	Ftcl_CreateThreadExitHandler            uintptr
 99335  	Ftcl_DeleteThreadExitHandler            uintptr
 99336  	Ftcl_DiscardResult                      uintptr
 99337  	Ftcl_EvalEx                             uintptr
 99338  	Ftcl_EvalObjv                           uintptr
 99339  	Ftcl_EvalObjEx                          uintptr
 99340  	Ftcl_ExitThread                         uintptr
 99341  	Ftcl_ExternalToUtf                      uintptr
 99342  	Ftcl_ExternalToUtfDString               uintptr
 99343  	Ftcl_FinalizeThread                     uintptr
 99344  	Ftcl_FinalizeNotifier                   uintptr
 99345  	Ftcl_FreeEncoding                       uintptr
 99346  	Ftcl_GetCurrentThread                   uintptr
 99347  	Ftcl_GetEncoding                        uintptr
 99348  	Ftcl_GetEncodingName                    uintptr
 99349  	Ftcl_GetEncodingNames                   uintptr
 99350  	Ftcl_GetIndexFromObjStruct              uintptr
 99351  	Ftcl_GetThreadData                      uintptr
 99352  	Ftcl_GetVar2Ex                          uintptr
 99353  	Ftcl_InitNotifier                       uintptr
 99354  	Ftcl_MutexLock                          uintptr
 99355  	Ftcl_MutexUnlock                        uintptr
 99356  	Ftcl_ConditionNotify                    uintptr
 99357  	Ftcl_ConditionWait                      uintptr
 99358  	Ftcl_NumUtfChars                        uintptr
 99359  	Ftcl_ReadChars                          uintptr
 99360  	Ftcl_RestoreResult                      uintptr
 99361  	Ftcl_SaveResult                         uintptr
 99362  	Ftcl_SetSystemEncoding                  uintptr
 99363  	Ftcl_SetVar2Ex                          uintptr
 99364  	Ftcl_ThreadAlert                        uintptr
 99365  	Ftcl_ThreadQueueEvent                   uintptr
 99366  	Ftcl_UniCharAtIndex                     uintptr
 99367  	Ftcl_UniCharToLower                     uintptr
 99368  	Ftcl_UniCharToTitle                     uintptr
 99369  	Ftcl_UniCharToUpper                     uintptr
 99370  	Ftcl_UniCharToUtf                       uintptr
 99371  	Ftcl_UtfAtIndex                         uintptr
 99372  	Ftcl_UtfCharComplete                    uintptr
 99373  	Ftcl_UtfBackslash                       uintptr
 99374  	Ftcl_UtfFindFirst                       uintptr
 99375  	Ftcl_UtfFindLast                        uintptr
 99376  	Ftcl_UtfNext                            uintptr
 99377  	Ftcl_UtfPrev                            uintptr
 99378  	Ftcl_UtfToExternal                      uintptr
 99379  	Ftcl_UtfToExternalDString               uintptr
 99380  	Ftcl_UtfToLower                         uintptr
 99381  	Ftcl_UtfToTitle                         uintptr
 99382  	Ftcl_UtfToUniChar                       uintptr
 99383  	Ftcl_UtfToUpper                         uintptr
 99384  	Ftcl_WriteChars                         uintptr
 99385  	Ftcl_WriteObj                           uintptr
 99386  	Ftcl_GetString                          uintptr
 99387  	Ftcl_GetDefaultEncodingDir              uintptr
 99388  	Ftcl_SetDefaultEncodingDir              uintptr
 99389  	Ftcl_AlertNotifier                      uintptr
 99390  	Ftcl_ServiceModeHook                    uintptr
 99391  	Ftcl_UniCharIsAlnum                     uintptr
 99392  	Ftcl_UniCharIsAlpha                     uintptr
 99393  	Ftcl_UniCharIsDigit                     uintptr
 99394  	Ftcl_UniCharIsLower                     uintptr
 99395  	Ftcl_UniCharIsSpace                     uintptr
 99396  	Ftcl_UniCharIsUpper                     uintptr
 99397  	Ftcl_UniCharIsWordChar                  uintptr
 99398  	Ftcl_UniCharLen                         uintptr
 99399  	Ftcl_UniCharNcmp                        uintptr
 99400  	Ftcl_UniCharToUtfDString                uintptr
 99401  	Ftcl_UtfToUniCharDString                uintptr
 99402  	Ftcl_GetRegExpFromObj                   uintptr
 99403  	Ftcl_EvalTokens                         uintptr
 99404  	Ftcl_FreeParse                          uintptr
 99405  	Ftcl_LogCommandInfo                     uintptr
 99406  	Ftcl_ParseBraces                        uintptr
 99407  	Ftcl_ParseCommand                       uintptr
 99408  	Ftcl_ParseExpr                          uintptr
 99409  	Ftcl_ParseQuotedString                  uintptr
 99410  	Ftcl_ParseVarName                       uintptr
 99411  	Ftcl_GetCwd                             uintptr
 99412  	Ftcl_Chdir                              uintptr
 99413  	Ftcl_Access                             uintptr
 99414  	Ftcl_Stat                               uintptr
 99415  	Ftcl_UtfNcmp                            uintptr
 99416  	Ftcl_UtfNcasecmp                        uintptr
 99417  	Ftcl_StringCaseMatch                    uintptr
 99418  	Ftcl_UniCharIsControl                   uintptr
 99419  	Ftcl_UniCharIsGraph                     uintptr
 99420  	Ftcl_UniCharIsPrint                     uintptr
 99421  	Ftcl_UniCharIsPunct                     uintptr
 99422  	Ftcl_RegExpExecObj                      uintptr
 99423  	Ftcl_RegExpGetInfo                      uintptr
 99424  	Ftcl_NewUnicodeObj                      uintptr
 99425  	Ftcl_SetUnicodeObj                      uintptr
 99426  	Ftcl_GetCharLength                      uintptr
 99427  	Ftcl_GetUniChar                         uintptr
 99428  	Ftcl_GetUnicode                         uintptr
 99429  	Ftcl_GetRange                           uintptr
 99430  	Ftcl_AppendUnicodeToObj                 uintptr
 99431  	Ftcl_RegExpMatchObj                     uintptr
 99432  	Ftcl_SetNotifier                        uintptr
 99433  	Ftcl_GetAllocMutex                      uintptr
 99434  	Ftcl_GetChannelNames                    uintptr
 99435  	Ftcl_GetChannelNamesEx                  uintptr
 99436  	Ftcl_ProcObjCmd                         uintptr
 99437  	Ftcl_ConditionFinalize                  uintptr
 99438  	Ftcl_MutexFinalize                      uintptr
 99439  	Ftcl_CreateThread                       uintptr
 99440  	Ftcl_ReadRaw                            uintptr
 99441  	Ftcl_WriteRaw                           uintptr
 99442  	Ftcl_GetTopChannel                      uintptr
 99443  	Ftcl_ChannelBuffered                    uintptr
 99444  	Ftcl_ChannelName                        uintptr
 99445  	Ftcl_ChannelVersion                     uintptr
 99446  	Ftcl_ChannelBlockModeProc               uintptr
 99447  	Ftcl_ChannelCloseProc                   uintptr
 99448  	Ftcl_ChannelClose2Proc                  uintptr
 99449  	Ftcl_ChannelInputProc                   uintptr
 99450  	Ftcl_ChannelOutputProc                  uintptr
 99451  	Ftcl_ChannelSeekProc                    uintptr
 99452  	Ftcl_ChannelSetOptionProc               uintptr
 99453  	Ftcl_ChannelGetOptionProc               uintptr
 99454  	Ftcl_ChannelWatchProc                   uintptr
 99455  	Ftcl_ChannelGetHandleProc               uintptr
 99456  	Ftcl_ChannelFlushProc                   uintptr
 99457  	Ftcl_ChannelHandlerProc                 uintptr
 99458  	Ftcl_JoinThread                         uintptr
 99459  	Ftcl_IsChannelShared                    uintptr
 99460  	Ftcl_IsChannelRegistered                uintptr
 99461  	Ftcl_CutChannel                         uintptr
 99462  	Ftcl_SpliceChannel                      uintptr
 99463  	Ftcl_ClearChannelHandlers               uintptr
 99464  	Ftcl_IsChannelExisting                  uintptr
 99465  	Ftcl_UniCharNcasecmp                    uintptr
 99466  	Ftcl_UniCharCaseMatch                   uintptr
 99467  	Ftcl_FindHashEntry                      uintptr
 99468  	Ftcl_CreateHashEntry                    uintptr
 99469  	Ftcl_InitCustomHashTable                uintptr
 99470  	Ftcl_InitObjHashTable                   uintptr
 99471  	Ftcl_CommandTraceInfo                   uintptr
 99472  	Ftcl_TraceCommand                       uintptr
 99473  	Ftcl_UntraceCommand                     uintptr
 99474  	Ftcl_AttemptAlloc                       uintptr
 99475  	Ftcl_AttemptDbCkalloc                   uintptr
 99476  	Ftcl_AttemptRealloc                     uintptr
 99477  	Ftcl_AttemptDbCkrealloc                 uintptr
 99478  	Ftcl_AttemptSetObjLength                uintptr
 99479  	Ftcl_GetChannelThread                   uintptr
 99480  	Ftcl_GetUnicodeFromObj                  uintptr
 99481  	Ftcl_GetMathFuncInfo                    uintptr
 99482  	Ftcl_ListMathFuncs                      uintptr
 99483  	Ftcl_SubstObj                           uintptr
 99484  	Ftcl_DetachChannel                      uintptr
 99485  	Ftcl_IsStandardChannel                  uintptr
 99486  	Ftcl_FSCopyFile                         uintptr
 99487  	Ftcl_FSCopyDirectory                    uintptr
 99488  	Ftcl_FSCreateDirectory                  uintptr
 99489  	Ftcl_FSDeleteFile                       uintptr
 99490  	Ftcl_FSLoadFile                         uintptr
 99491  	Ftcl_FSMatchInDirectory                 uintptr
 99492  	Ftcl_FSLink                             uintptr
 99493  	Ftcl_FSRemoveDirectory                  uintptr
 99494  	Ftcl_FSRenameFile                       uintptr
 99495  	Ftcl_FSLstat                            uintptr
 99496  	Ftcl_FSUtime                            uintptr
 99497  	Ftcl_FSFileAttrsGet                     uintptr
 99498  	Ftcl_FSFileAttrsSet                     uintptr
 99499  	Ftcl_FSFileAttrStrings                  uintptr
 99500  	Ftcl_FSStat                             uintptr
 99501  	Ftcl_FSAccess                           uintptr
 99502  	Ftcl_FSOpenFileChannel                  uintptr
 99503  	Ftcl_FSGetCwd                           uintptr
 99504  	Ftcl_FSChdir                            uintptr
 99505  	Ftcl_FSConvertToPathType                uintptr
 99506  	Ftcl_FSJoinPath                         uintptr
 99507  	Ftcl_FSSplitPath                        uintptr
 99508  	Ftcl_FSEqualPaths                       uintptr
 99509  	Ftcl_FSGetNormalizedPath                uintptr
 99510  	Ftcl_FSJoinToPath                       uintptr
 99511  	Ftcl_FSGetInternalRep                   uintptr
 99512  	Ftcl_FSGetTranslatedPath                uintptr
 99513  	Ftcl_FSEvalFile                         uintptr
 99514  	Ftcl_FSNewNativePath                    uintptr
 99515  	Ftcl_FSGetNativePath                    uintptr
 99516  	Ftcl_FSFileSystemInfo                   uintptr
 99517  	Ftcl_FSPathSeparator                    uintptr
 99518  	Ftcl_FSListVolumes                      uintptr
 99519  	Ftcl_FSRegister                         uintptr
 99520  	Ftcl_FSUnregister                       uintptr
 99521  	Ftcl_FSData                             uintptr
 99522  	Ftcl_FSGetTranslatedStringPath          uintptr
 99523  	Ftcl_FSGetFileSystemForPath             uintptr
 99524  	Ftcl_FSGetPathType                      uintptr
 99525  	Ftcl_OutputBuffered                     uintptr
 99526  	Ftcl_FSMountsChanged                    uintptr
 99527  	Ftcl_EvalTokensStandard                 uintptr
 99528  	Ftcl_GetTime                            uintptr
 99529  	Ftcl_CreateObjTrace                     uintptr
 99530  	Ftcl_GetCommandInfoFromToken            uintptr
 99531  	Ftcl_SetCommandInfoFromToken            uintptr
 99532  	Ftcl_DbNewWideIntObj                    uintptr
 99533  	Ftcl_GetWideIntFromObj                  uintptr
 99534  	Ftcl_NewWideIntObj                      uintptr
 99535  	Ftcl_SetWideIntObj                      uintptr
 99536  	Ftcl_AllocStatBuf                       uintptr
 99537  	Ftcl_Seek                               uintptr
 99538  	Ftcl_Tell                               uintptr
 99539  	Ftcl_ChannelWideSeekProc                uintptr
 99540  	Ftcl_DictObjPut                         uintptr
 99541  	Ftcl_DictObjGet                         uintptr
 99542  	Ftcl_DictObjRemove                      uintptr
 99543  	Ftcl_DictObjSize                        uintptr
 99544  	Ftcl_DictObjFirst                       uintptr
 99545  	Ftcl_DictObjNext                        uintptr
 99546  	Ftcl_DictObjDone                        uintptr
 99547  	Ftcl_DictObjPutKeyList                  uintptr
 99548  	Ftcl_DictObjRemoveKeyList               uintptr
 99549  	Ftcl_NewDictObj                         uintptr
 99550  	Ftcl_DbNewDictObj                       uintptr
 99551  	Ftcl_RegisterConfig                     uintptr
 99552  	Ftcl_CreateNamespace                    uintptr
 99553  	Ftcl_DeleteNamespace                    uintptr
 99554  	Ftcl_AppendExportList                   uintptr
 99555  	Ftcl_Export                             uintptr
 99556  	Ftcl_Import                             uintptr
 99557  	Ftcl_ForgetImport                       uintptr
 99558  	Ftcl_GetCurrentNamespace                uintptr
 99559  	Ftcl_GetGlobalNamespace                 uintptr
 99560  	Ftcl_FindNamespace                      uintptr
 99561  	Ftcl_FindCommand                        uintptr
 99562  	Ftcl_GetCommandFromObj                  uintptr
 99563  	Ftcl_GetCommandFullName                 uintptr
 99564  	Ftcl_FSEvalFileEx                       uintptr
 99565  	Ftcl_SetExitProc                        uintptr
 99566  	Ftcl_LimitAddHandler                    uintptr
 99567  	Ftcl_LimitRemoveHandler                 uintptr
 99568  	Ftcl_LimitReady                         uintptr
 99569  	Ftcl_LimitCheck                         uintptr
 99570  	Ftcl_LimitExceeded                      uintptr
 99571  	Ftcl_LimitSetCommands                   uintptr
 99572  	Ftcl_LimitSetTime                       uintptr
 99573  	Ftcl_LimitSetGranularity                uintptr
 99574  	Ftcl_LimitTypeEnabled                   uintptr
 99575  	Ftcl_LimitTypeExceeded                  uintptr
 99576  	Ftcl_LimitTypeSet                       uintptr
 99577  	Ftcl_LimitTypeReset                     uintptr
 99578  	Ftcl_LimitGetCommands                   uintptr
 99579  	Ftcl_LimitGetTime                       uintptr
 99580  	Ftcl_LimitGetGranularity                uintptr
 99581  	Ftcl_SaveInterpState                    uintptr
 99582  	Ftcl_RestoreInterpState                 uintptr
 99583  	Ftcl_DiscardInterpState                 uintptr
 99584  	Ftcl_SetReturnOptions                   uintptr
 99585  	Ftcl_GetReturnOptions                   uintptr
 99586  	Ftcl_IsEnsemble                         uintptr
 99587  	Ftcl_CreateEnsemble                     uintptr
 99588  	Ftcl_FindEnsemble                       uintptr
 99589  	Ftcl_SetEnsembleSubcommandList          uintptr
 99590  	Ftcl_SetEnsembleMappingDict             uintptr
 99591  	Ftcl_SetEnsembleUnknownHandler          uintptr
 99592  	Ftcl_SetEnsembleFlags                   uintptr
 99593  	Ftcl_GetEnsembleSubcommandList          uintptr
 99594  	Ftcl_GetEnsembleMappingDict             uintptr
 99595  	Ftcl_GetEnsembleUnknownHandler          uintptr
 99596  	Ftcl_GetEnsembleFlags                   uintptr
 99597  	Ftcl_GetEnsembleNamespace               uintptr
 99598  	Ftcl_SetTimeProc                        uintptr
 99599  	Ftcl_QueryTimeProc                      uintptr
 99600  	Ftcl_ChannelThreadActionProc            uintptr
 99601  	Ftcl_NewBignumObj                       uintptr
 99602  	Ftcl_DbNewBignumObj                     uintptr
 99603  	Ftcl_SetBignumObj                       uintptr
 99604  	Ftcl_GetBignumFromObj                   uintptr
 99605  	Ftcl_TakeBignumFromObj                  uintptr
 99606  	Ftcl_TruncateChannel                    uintptr
 99607  	Ftcl_ChannelTruncateProc                uintptr
 99608  	Ftcl_SetChannelErrorInterp              uintptr
 99609  	Ftcl_GetChannelErrorInterp              uintptr
 99610  	Ftcl_SetChannelError                    uintptr
 99611  	Ftcl_GetChannelError                    uintptr
 99612  	Ftcl_InitBignumFromDouble               uintptr
 99613  	Ftcl_GetNamespaceUnknownHandler         uintptr
 99614  	Ftcl_SetNamespaceUnknownHandler         uintptr
 99615  	Ftcl_GetEncodingFromObj                 uintptr
 99616  	Ftcl_GetEncodingSearchPath              uintptr
 99617  	Ftcl_SetEncodingSearchPath              uintptr
 99618  	Ftcl_GetEncodingNameFromEnvironment     uintptr
 99619  	Ftcl_PkgRequireProc                     uintptr
 99620  	Ftcl_AppendObjToErrorInfo               uintptr
 99621  	Ftcl_AppendLimitedToObj                 uintptr
 99622  	Ftcl_Format                             uintptr
 99623  	Ftcl_AppendFormatToObj                  uintptr
 99624  	Ftcl_ObjPrintf                          uintptr
 99625  	Ftcl_AppendPrintfToObj                  uintptr
 99626  	Ftcl_CancelEval                         uintptr
 99627  	Ftcl_Canceled                           uintptr
 99628  	Ftcl_CreatePipe                         uintptr
 99629  	Ftcl_NRCreateCommand                    uintptr
 99630  	Ftcl_NREvalObj                          uintptr
 99631  	Ftcl_NREvalObjv                         uintptr
 99632  	Ftcl_NRCmdSwap                          uintptr
 99633  	Ftcl_NRAddCallback                      uintptr
 99634  	Ftcl_NRCallObjProc                      uintptr
 99635  	Ftcl_GetFSDeviceFromStat                uintptr
 99636  	Ftcl_GetFSInodeFromStat                 uintptr
 99637  	Ftcl_GetModeFromStat                    uintptr
 99638  	Ftcl_GetLinkCountFromStat               uintptr
 99639  	Ftcl_GetUserIdFromStat                  uintptr
 99640  	Ftcl_GetGroupIdFromStat                 uintptr
 99641  	Ftcl_GetDeviceTypeFromStat              uintptr
 99642  	Ftcl_GetAccessTimeFromStat              uintptr
 99643  	Ftcl_GetModificationTimeFromStat        uintptr
 99644  	Ftcl_GetChangeTimeFromStat              uintptr
 99645  	Ftcl_GetSizeFromStat                    uintptr
 99646  	Ftcl_GetBlocksFromStat                  uintptr
 99647  	Ftcl_GetBlockSizeFromStat               uintptr
 99648  	Ftcl_SetEnsembleParameterList           uintptr
 99649  	Ftcl_GetEnsembleParameterList           uintptr
 99650  	Ftcl_ParseArgsObjv                      uintptr
 99651  	Ftcl_GetErrorLine                       uintptr
 99652  	Ftcl_SetErrorLine                       uintptr
 99653  	Ftcl_TransferResult                     uintptr
 99654  	Ftcl_InterpActive                       uintptr
 99655  	Ftcl_BackgroundException                uintptr
 99656  	Ftcl_ZlibDeflate                        uintptr
 99657  	Ftcl_ZlibInflate                        uintptr
 99658  	Ftcl_ZlibCRC32                          uintptr
 99659  	Ftcl_ZlibAdler32                        uintptr
 99660  	Ftcl_ZlibStreamInit                     uintptr
 99661  	Ftcl_ZlibStreamGetCommandName           uintptr
 99662  	Ftcl_ZlibStreamEof                      uintptr
 99663  	Ftcl_ZlibStreamChecksum                 uintptr
 99664  	Ftcl_ZlibStreamPut                      uintptr
 99665  	Ftcl_ZlibStreamGet                      uintptr
 99666  	Ftcl_ZlibStreamClose                    uintptr
 99667  	Ftcl_ZlibStreamReset                    uintptr
 99668  	Ftcl_SetStartupScript                   uintptr
 99669  	Ftcl_GetStartupScript                   uintptr
 99670  	Ftcl_CloseEx                            uintptr
 99671  	Ftcl_NRExprObj                          uintptr
 99672  	Ftcl_NRSubstObj                         uintptr
 99673  	Ftcl_LoadFile                           uintptr
 99674  	Ftcl_FindSymbol                         uintptr
 99675  	Ftcl_FSUnloadFile                       uintptr
 99676  	Ftcl_ZlibStreamSetCompressionDictionary uintptr
 99677  	Freserved631                            uintptr
 99678  	Freserved632                            uintptr
 99679  	Freserved633                            uintptr
 99680  	Freserved634                            uintptr
 99681  	Freserved635                            uintptr
 99682  	Freserved636                            uintptr
 99683  	Freserved637                            uintptr
 99684  	Freserved638                            uintptr
 99685  	Freserved639                            uintptr
 99686  	Freserved640                            uintptr
 99687  	Freserved641                            uintptr
 99688  	Freserved642                            uintptr
 99689  	Freserved643                            uintptr
 99690  	Freserved644                            uintptr
 99691  	Freserved645                            uintptr
 99692  	Freserved646                            uintptr
 99693  	Freserved647                            uintptr
 99694  	Freserved648                            uintptr
 99695  	FtclUnusedStubEntry                     uintptr
 99696  }
 99697  
 99698  type TclQuotaCallback1 = struct {
 99699  	Finterp  uintptr
 99700  	FpScript uintptr
 99701  }
 99702  
 99703  type TclQuotaCallback = TclQuotaCallback1
 99704  
 99705  func tclQuotaCallback(tls *libc.TLS, zFilename uintptr, piLimit uintptr, iSize sqlite3_int64, pArg uintptr) {
 99706  	bp := tls.Alloc(16)
 99707  	defer tls.Free(16)
 99708  
 99709  	var p uintptr
 99710  	var pEval uintptr
 99711  	var pVarname uintptr
 99712  
 99713  	var rc int32
 99714  
 99715  	p = pArg
 99716  	if p == uintptr(0) {
 99717  		return
 99718  	}
 99719  
 99720  	pVarname = tcl.XTcl_NewStringObj(tls, ts+35665, -1)
 99721  	(*Tcl_Obj)(unsafe.Pointer(pVarname)).FrefCount++
 99722  	sqlite3.Xsqlite3_randomness(tls, int32(unsafe.Sizeof(uint32(0))), bp)
 99723  	tcl.XTcl_AppendObjToObj(tls, pVarname, tcl.XTcl_NewIntObj(tls, int32(*(*uint32)(unsafe.Pointer(bp))&uint32(0x7FFFFFFF))))
 99724  	tcl.XTcl_ObjSetVar2(tls, (*TclQuotaCallback)(unsafe.Pointer(p)).Finterp, pVarname, uintptr(0), tcl.XTcl_NewWideIntObj(tls, *(*sqlite3_int64)(unsafe.Pointer(piLimit))), 0)
 99725  
 99726  	pEval = tcl.XTcl_DuplicateObj(tls, (*TclQuotaCallback)(unsafe.Pointer(p)).FpScript)
 99727  	(*Tcl_Obj)(unsafe.Pointer(pEval)).FrefCount++
 99728  	tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, tcl.XTcl_NewStringObj(tls, zFilename, -1))
 99729  	tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, pVarname)
 99730  	tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pEval, tcl.XTcl_NewWideIntObj(tls, iSize))
 99731  	rc = tcl.XTcl_EvalObjEx(tls, (*TclQuotaCallback)(unsafe.Pointer(p)).Finterp, pEval, TCL_EVAL_GLOBAL)
 99732  
 99733  	if rc == TCL_OK {
 99734  		var pLimit uintptr = tcl.XTcl_ObjGetVar2(tls, (*TclQuotaCallback)(unsafe.Pointer(p)).Finterp, pVarname, uintptr(0), 0)
 99735  		rc = tcl.XTcl_GetWideIntFromObj(tls, (*TclQuotaCallback)(unsafe.Pointer(p)).Finterp, pLimit, bp+8)
 99736  		*(*sqlite3_int64)(unsafe.Pointer(piLimit)) = *(*Tcl_WideInt)(unsafe.Pointer(bp + 8))
 99737  		tcl.XTcl_UnsetVar2(tls, (*TclQuotaCallback)(unsafe.Pointer(p)).Finterp, tcl.XTcl_GetString(tls, pVarname), uintptr(0), 0)
 99738  	}
 99739  
 99740  	for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
 99741  		var _objPtr uintptr = pEval
 99742  		if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 99743  			tcl.XTclFreeObj(tls, _objPtr)
 99744  		}
 99745  	}
 99746  	for __ccgo1 := true; __ccgo1; __ccgo1 = 0 != 0 {
 99747  		var _objPtr uintptr = pVarname
 99748  		if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 99749  			tcl.XTclFreeObj(tls, _objPtr)
 99750  		}
 99751  	}
 99752  	if rc != TCL_OK {
 99753  		tcl.XTcl_BackgroundError(tls, (*TclQuotaCallback)(unsafe.Pointer(p)).Finterp)
 99754  	}
 99755  }
 99756  
 99757  func tclCallbackDestructor(tls *libc.TLS, pObj uintptr) {
 99758  	var p uintptr = pObj
 99759  	if p != 0 {
 99760  		for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
 99761  			var _objPtr uintptr = (*TclQuotaCallback)(unsafe.Pointer(p)).FpScript
 99762  			if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
 99763  				tcl.XTclFreeObj(tls, _objPtr)
 99764  			}
 99765  		}
 99766  		sqlite3.Xsqlite3_free(tls, p)
 99767  	}
 99768  }
 99769  
 99770  func test_quota_initialize(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 99771  	bp := tls.Alloc(4)
 99772  	defer tls.Free(4)
 99773  
 99774  	var zName uintptr
 99775  
 99776  	var rc int32
 99777  
 99778  	if objc != 3 {
 99779  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+34554)
 99780  		return TCL_ERROR
 99781  	}
 99782  	zName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))
 99783  	if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp) != 0 {
 99784  		return TCL_ERROR
 99785  	}
 99786  	if int32(*(*int8)(unsafe.Pointer(zName))) == 0 {
 99787  		zName = uintptr(0)
 99788  	}
 99789  
 99790  	rc = sqlite3_quota_initialize(tls, zName, *(*int32)(unsafe.Pointer(bp)))
 99791  	tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0))
 99792  
 99793  	return TCL_OK
 99794  }
 99795  
 99796  func test_quota_shutdown(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 99797  	var rc int32
 99798  
 99799  	if objc != 1 {
 99800  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+584)
 99801  		return TCL_ERROR
 99802  	}
 99803  
 99804  	rc = sqlite3_quota_shutdown(tls)
 99805  	tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0))
 99806  
 99807  	return TCL_OK
 99808  }
 99809  
 99810  func test_quota_set(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 99811  	bp := tls.Alloc(12)
 99812  	defer tls.Free(12)
 99813  
 99814  	var zPattern uintptr
 99815  
 99816  	var pScript uintptr
 99817  	var rc int32
 99818  	var p uintptr
 99819  
 99820  	var xDestroy uintptr
 99821  	var xCallback uintptr
 99822  
 99823  	if objc != 4 {
 99824  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35676)
 99825  		return TCL_ERROR
 99826  	}
 99827  	zPattern = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))
 99828  	if tcl.XTcl_GetWideIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp) != 0 {
 99829  		return TCL_ERROR
 99830  	}
 99831  	pScript = *(*uintptr)(unsafe.Pointer(objv + 3*8))
 99832  	tcl.XTcl_GetStringFromObj(tls, pScript, bp+8)
 99833  
 99834  	if *(*int32)(unsafe.Pointer(bp + 8)) > 0 {
 99835  		p = sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(TclQuotaCallback{})))
 99836  		if !(p != 0) {
 99837  			tcl.XTcl_SetResult(tls, interp, ts+32492, uintptr(0))
 99838  			return TCL_OK
 99839  		}
 99840  		libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(TclQuotaCallback{})))
 99841  		(*TclQuotaCallback)(unsafe.Pointer(p)).Finterp = interp
 99842  		(*Tcl_Obj)(unsafe.Pointer(pScript)).FrefCount++
 99843  		(*TclQuotaCallback)(unsafe.Pointer(p)).FpScript = pScript
 99844  		xDestroy = *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{tclCallbackDestructor}))
 99845  		xCallback = *(*uintptr)(unsafe.Pointer(&struct {
 99846  			f func(*libc.TLS, uintptr, uintptr, sqlite3_int64, uintptr)
 99847  		}{tclQuotaCallback}))
 99848  	} else {
 99849  		p = uintptr(0)
 99850  		xDestroy = uintptr(0)
 99851  		xCallback = uintptr(0)
 99852  	}
 99853  
 99854  	rc = sqlite3_quota_set(tls, zPattern, *(*Tcl_WideInt)(unsafe.Pointer(bp)), xCallback, p, xDestroy)
 99855  
 99856  	tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0))
 99857  	return TCL_OK
 99858  }
 99859  
 99860  func test_quota_file(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 99861  	var zFilename uintptr
 99862  	var rc int32
 99863  
 99864  	if objc != 2 {
 99865  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18731)
 99866  		return TCL_ERROR
 99867  	}
 99868  	zFilename = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))
 99869  
 99870  	rc = sqlite3_quota_file(tls, zFilename)
 99871  
 99872  	tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0))
 99873  	return TCL_OK
 99874  }
 99875  
 99876  func test_quota_dump(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 99877  	bp := tls.Alloc(1008)
 99878  	defer tls.Free(1008)
 99879  
 99880  	var pResult uintptr
 99881  	var pGroupTerm uintptr
 99882  	var pFileTerm uintptr
 99883  	var pGroup uintptr
 99884  	var pFile uintptr
 99885  
 99886  	pResult = tcl.XTcl_NewObj(tls)
 99887  	quotaEnter(tls)
 99888  	for pGroup = gQuota.FpGroup; pGroup != 0; pGroup = (*quotaGroup)(unsafe.Pointer(pGroup)).FpNext {
 99889  		pGroupTerm = tcl.XTcl_NewObj(tls)
 99890  		tcl.XTcl_ListObjAppendElement(tls, interp, pGroupTerm,
 99891  			tcl.XTcl_NewStringObj(tls, (*quotaGroup)(unsafe.Pointer(pGroup)).FzPattern, -1))
 99892  		tcl.XTcl_ListObjAppendElement(tls, interp, pGroupTerm,
 99893  			tcl.XTcl_NewWideIntObj(tls, (*quotaGroup)(unsafe.Pointer(pGroup)).FiLimit))
 99894  		tcl.XTcl_ListObjAppendElement(tls, interp, pGroupTerm,
 99895  			tcl.XTcl_NewWideIntObj(tls, (*quotaGroup)(unsafe.Pointer(pGroup)).FiSize))
 99896  		for pFile = (*quotaGroup)(unsafe.Pointer(pGroup)).FpFiles; pFile != 0; pFile = (*quotaFile)(unsafe.Pointer(pFile)).FpNext {
 99897  			var i int32
 99898  
 99899  			pFileTerm = tcl.XTcl_NewObj(tls)
 99900  			sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([1000]int8{})), bp+8, ts, libc.VaList(bp, (*quotaFile)(unsafe.Pointer(pFile)).FzFilename))
 99901  			for i = 0; *(*int8)(unsafe.Pointer(bp + 8 + uintptr(i))) != 0; i++ {
 99902  				if int32(*(*int8)(unsafe.Pointer(bp + 8 + uintptr(i)))) == '\\' {
 99903  					*(*int8)(unsafe.Pointer(bp + 8 + uintptr(i))) = int8('/')
 99904  				}
 99905  			}
 99906  			tcl.XTcl_ListObjAppendElement(tls, interp, pFileTerm,
 99907  				tcl.XTcl_NewStringObj(tls, bp+8, -1))
 99908  			tcl.XTcl_ListObjAppendElement(tls, interp, pFileTerm,
 99909  				tcl.XTcl_NewWideIntObj(tls, (*quotaFile)(unsafe.Pointer(pFile)).FiSize))
 99910  			tcl.XTcl_ListObjAppendElement(tls, interp, pFileTerm,
 99911  				tcl.XTcl_NewWideIntObj(tls, int64((*quotaFile)(unsafe.Pointer(pFile)).FnRef)))
 99912  			tcl.XTcl_ListObjAppendElement(tls, interp, pFileTerm,
 99913  				tcl.XTcl_NewWideIntObj(tls, int64((*quotaFile)(unsafe.Pointer(pFile)).FdeleteOnClose)))
 99914  			tcl.XTcl_ListObjAppendElement(tls, interp, pGroupTerm, pFileTerm)
 99915  		}
 99916  		tcl.XTcl_ListObjAppendElement(tls, interp, pResult, pGroupTerm)
 99917  	}
 99918  	quotaLeave(tls)
 99919  	tcl.XTcl_SetObjResult(tls, interp, pResult)
 99920  	return TCL_OK
 99921  }
 99922  
 99923  func test_quota_fopen(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 99924  	bp := tls.Alloc(58)
 99925  	defer tls.Free(58)
 99926  
 99927  	var zFilename uintptr
 99928  	var zMode uintptr
 99929  	var p uintptr
 99930  
 99931  	if objc != 3 {
 99932  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35697)
 99933  		return TCL_ERROR
 99934  	}
 99935  	zFilename = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))
 99936  	zMode = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
 99937  	p = sqlite3_quota_fopen(tls, zFilename, zMode)
 99938  	sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+8, ts+9889, libc.VaList(bp, p))
 99939  	tcl.XTcl_SetResult(tls, interp, bp+8, uintptr(1))
 99940  	return TCL_OK
 99941  }
 99942  
 99943  func test_quota_fread(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 99944  	bp := tls.Alloc(8)
 99945  	defer tls.Free(8)
 99946  
 99947  	var p uintptr
 99948  	var zBuf uintptr
 99949  
 99950  	var got size_t
 99951  
 99952  	if objc != 4 {
 99953  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35711)
 99954  		return TCL_ERROR
 99955  	}
 99956  	p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))))
 99957  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp) != 0 {
 99958  		return TCL_ERROR
 99959  	}
 99960  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+4) != 0 {
 99961  		return TCL_ERROR
 99962  	}
 99963  	zBuf = sqlite3.Xsqlite3_malloc(tls, *(*int32)(unsafe.Pointer(bp))**(*int32)(unsafe.Pointer(bp + 4))+1)
 99964  	if zBuf == uintptr(0) {
 99965  		tcl.XTcl_SetResult(tls, interp, ts+2069, uintptr(0))
 99966  		return TCL_ERROR
 99967  	}
 99968  	got = sqlite3_quota_fread(tls, zBuf, uint64(*(*int32)(unsafe.Pointer(bp))), uint64(*(*int32)(unsafe.Pointer(bp + 4))), p)
 99969  	*(*int8)(unsafe.Pointer(zBuf + uintptr(got*size_t(*(*int32)(unsafe.Pointer(bp)))))) = int8(0)
 99970  	tcl.XTcl_SetResult(tls, interp, zBuf, uintptr(1))
 99971  	sqlite3.Xsqlite3_free(tls, zBuf)
 99972  	return TCL_OK
 99973  }
 99974  
 99975  func test_quota_fwrite(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
 99976  	bp := tls.Alloc(8)
 99977  	defer tls.Free(8)
 99978  
 99979  	var p uintptr
 99980  	var zBuf uintptr
 99981  
 99982  	var got size_t
 99983  
 99984  	if objc != 5 {
 99985  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35729)
 99986  		return TCL_ERROR
 99987  	}
 99988  	p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))))
 99989  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp) != 0 {
 99990  		return TCL_ERROR
 99991  	}
 99992  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+4) != 0 {
 99993  		return TCL_ERROR
 99994  	}
 99995  	zBuf = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 4*8)))
 99996  	got = sqlite3_quota_fwrite(tls, zBuf, uint64(*(*int32)(unsafe.Pointer(bp))), uint64(*(*int32)(unsafe.Pointer(bp + 4))), p)
 99997  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewWideIntObj(tls, int64(got)))
 99998  	return TCL_OK
 99999  }
100000  
100001  func test_quota_fclose(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
100002  	var p uintptr
100003  	var rc int32
100004  
100005  	if objc != 2 {
100006  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28364)
100007  		return TCL_ERROR
100008  	}
100009  	p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))))
100010  	rc = sqlite3_quota_fclose(tls, p)
100011  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, rc))
100012  	return TCL_OK
100013  }
100014  
100015  func test_quota_fflush(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
100016  	bp := tls.Alloc(4)
100017  	defer tls.Free(4)
100018  
100019  	var p uintptr
100020  	var rc int32
100021  	*(*int32)(unsafe.Pointer(bp)) = 0
100022  
100023  	if objc != 2 && objc != 3 {
100024  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35755)
100025  		return TCL_ERROR
100026  	}
100027  	p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))))
100028  	if objc == 3 {
100029  		if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp) != 0 {
100030  			return TCL_ERROR
100031  		}
100032  	}
100033  	rc = sqlite3_quota_fflush(tls, p, *(*int32)(unsafe.Pointer(bp)))
100034  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, rc))
100035  	return TCL_OK
100036  }
100037  
100038  func test_quota_fseek(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
100039  	bp := tls.Alloc(20)
100040  	defer tls.Free(20)
100041  
100042  	var p uintptr
100043  
100044  	var zWhence uintptr
100045  	var whence int32
100046  	var rc int32
100047  
100048  	if objc != 4 {
100049  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35773)
100050  		return TCL_ERROR
100051  	}
100052  	p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))))
100053  	if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+16) != 0 {
100054  		return TCL_ERROR
100055  	}
100056  	zWhence = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)))
100057  	if libc.Xstrcmp(tls, zWhence, ts+35794) == 0 {
100058  		whence = SEEK_SET
100059  	} else if libc.Xstrcmp(tls, zWhence, ts+35803) == 0 {
100060  		whence = SEEK_CUR
100061  	} else if libc.Xstrcmp(tls, zWhence, ts+35812) == 0 {
100062  		whence = SEEK_END
100063  	} else {
100064  		tcl.XTcl_AppendResult(tls, interp,
100065  			libc.VaList(bp, ts+35821, uintptr(0)))
100066  		return TCL_ERROR
100067  	}
100068  	rc = sqlite3_quota_fseek(tls, p, *(*int32)(unsafe.Pointer(bp + 16)), whence)
100069  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, rc))
100070  	return TCL_OK
100071  }
100072  
100073  func test_quota_rewind(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
100074  	var p uintptr
100075  	if objc != 2 {
100076  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28364)
100077  		return TCL_ERROR
100078  	}
100079  	p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))))
100080  	sqlite3_quota_rewind(tls, p)
100081  	return TCL_OK
100082  }
100083  
100084  func test_quota_ftell(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
100085  	var p uintptr
100086  	var x sqlite3_int64
100087  	if objc != 2 {
100088  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28364)
100089  		return TCL_ERROR
100090  	}
100091  	p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))))
100092  	x = sqlite3_int64(sqlite3_quota_ftell(tls, p))
100093  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewWideIntObj(tls, x))
100094  	return TCL_OK
100095  }
100096  
100097  func test_quota_ftruncate(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
100098  	bp := tls.Alloc(8)
100099  	defer tls.Free(8)
100100  
100101  	var p uintptr
100102  	var x sqlite3_int64
100103  
100104  	var rc int32
100105  	if objc != 3 {
100106  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35870)
100107  		return TCL_ERROR
100108  	}
100109  	p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))))
100110  	if tcl.XTcl_GetWideIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp) != 0 {
100111  		return TCL_ERROR
100112  	}
100113  	x = *(*Tcl_WideInt)(unsafe.Pointer(bp))
100114  	rc = sqlite3_quota_ftruncate(tls, p, x)
100115  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, rc))
100116  	return TCL_OK
100117  }
100118  
100119  func test_quota_file_size(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
100120  	var p uintptr
100121  	var x sqlite3_int64
100122  	if objc != 2 {
100123  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28364)
100124  		return TCL_ERROR
100125  	}
100126  	p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))))
100127  	x = sqlite3_quota_file_size(tls, p)
100128  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewWideIntObj(tls, x))
100129  	return TCL_OK
100130  }
100131  
100132  func test_quota_file_truesize(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
100133  	var p uintptr
100134  	var x sqlite3_int64
100135  	if objc != 2 {
100136  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28364)
100137  		return TCL_ERROR
100138  	}
100139  	p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))))
100140  	x = sqlite3_quota_file_truesize(tls, p)
100141  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewWideIntObj(tls, x))
100142  	return TCL_OK
100143  }
100144  
100145  func test_quota_file_mtime(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
100146  	bp := tls.Alloc(8)
100147  	defer tls.Free(8)
100148  
100149  	var p uintptr
100150  
100151  	if objc != 2 {
100152  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28364)
100153  		return TCL_ERROR
100154  	}
100155  	p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))))
100156  	*(*time_t)(unsafe.Pointer(bp)) = int64(0)
100157  	sqlite3_quota_file_mtime(tls, p, bp)
100158  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewWideIntObj(tls, *(*time_t)(unsafe.Pointer(bp))))
100159  	return TCL_OK
100160  }
100161  
100162  func test_quota_remove(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
100163  	var zFilename uintptr
100164  	var rc int32
100165  	if objc != 2 {
100166  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18731)
100167  		return TCL_ERROR
100168  	}
100169  	zFilename = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))
100170  	rc = sqlite3_quota_remove(tls, zFilename)
100171  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, rc))
100172  	return TCL_OK
100173  }
100174  
100175  func test_quota_glob(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
100176  	var zPattern uintptr
100177  	var zText uintptr
100178  	var rc int32
100179  	if objc != 3 {
100180  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+35882)
100181  		return TCL_ERROR
100182  	}
100183  	zPattern = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))
100184  	zText = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
100185  	rc = quotaStrglob(tls, zPattern, zText)
100186  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, rc))
100187  	return TCL_OK
100188  }
100189  
100190  func test_quota_file_available(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
100191  	var p uintptr
100192  	var x sqlite3_int64
100193  	if objc != 2 {
100194  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28364)
100195  		return TCL_ERROR
100196  	}
100197  	p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))))
100198  	x = sqlite3_int64(sqlite3_quota_file_available(tls, p))
100199  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewWideIntObj(tls, x))
100200  	return TCL_OK
100201  }
100202  
100203  func test_quota_ferror(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
100204  	var p uintptr
100205  	var x int32
100206  	if objc != 2 {
100207  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+28364)
100208  		return TCL_ERROR
100209  	}
100210  	p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))))
100211  	x = sqlite3_quota_ferror(tls, p)
100212  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, x))
100213  	return TCL_OK
100214  }
100215  
100216  func Sqlitequota_Init(tls *libc.TLS, interp uintptr) int32 {
100217  	var i int32
100218  
100219  	for i = 0; uint64(i) < uint64(unsafe.Sizeof(aCmd7))/uint64(unsafe.Sizeof(struct {
100220  		FzName uintptr
100221  		FxProc uintptr
100222  	}{})); i++ {
100223  		tcl.XTcl_CreateObjCommand(tls, interp, aCmd7[i].FzName, aCmd7[i].FxProc, uintptr(0), uintptr(0))
100224  	}
100225  
100226  	return TCL_OK
100227  }
100228  
100229  var aCmd7 = [21]struct {
100230  	FzName uintptr
100231  	FxProc uintptr
100232  }{
100233  	{FzName: ts + 35895, FxProc: 0},
100234  	{FzName: ts + 35920, FxProc: 0},
100235  	{FzName: ts + 35943, FxProc: 0},
100236  	{FzName: ts + 35961, FxProc: 0},
100237  	{FzName: ts + 35980, FxProc: 0},
100238  	{FzName: ts + 35999, FxProc: 0},
100239  	{FzName: ts + 36019, FxProc: 0},
100240  	{FzName: ts + 36039, FxProc: 0},
100241  	{FzName: ts + 36060, FxProc: 0},
100242  	{FzName: ts + 36081, FxProc: 0},
100243  	{FzName: ts + 36102, FxProc: 0},
100244  	{FzName: ts + 36122, FxProc: 0},
100245  	{FzName: ts + 36143, FxProc: 0},
100246  	{FzName: ts + 36163, FxProc: 0},
100247  	{FzName: ts + 36187, FxProc: 0},
100248  	{FzName: ts + 36211, FxProc: 0},
100249  	{FzName: ts + 36239, FxProc: 0},
100250  	{FzName: ts + 36264, FxProc: 0},
100251  	{FzName: ts + 36285, FxProc: 0},
100252  	{FzName: ts + 36304, FxProc: 0},
100253  	{FzName: ts + 36333, FxProc: 0},
100254  }
100255  
100256  type Tcl_OldStat_2 = uintptr
100257  
100258  type TclStubs2 = struct {
100259  	Fmagic                                  int32
100260  	F__ccgo_pad1                            [4]byte
100261  	Fhooks                                  uintptr
100262  	Ftcl_PkgProvideEx                       uintptr
100263  	Ftcl_PkgRequireEx                       uintptr
100264  	Ftcl_Panic                              uintptr
100265  	Ftcl_Alloc                              uintptr
100266  	Ftcl_Free                               uintptr
100267  	Ftcl_Realloc                            uintptr
100268  	Ftcl_DbCkalloc                          uintptr
100269  	Ftcl_DbCkfree                           uintptr
100270  	Ftcl_DbCkrealloc                        uintptr
100271  	Freserved9                              uintptr
100272  	Freserved10                             uintptr
100273  	Ftcl_SetTimer                           uintptr
100274  	Ftcl_Sleep                              uintptr
100275  	Ftcl_WaitForEvent                       uintptr
100276  	Ftcl_AppendAllObjTypes                  uintptr
100277  	Ftcl_AppendStringsToObj                 uintptr
100278  	Ftcl_AppendToObj                        uintptr
100279  	Ftcl_ConcatObj                          uintptr
100280  	Ftcl_ConvertToType                      uintptr
100281  	Ftcl_DbDecrRefCount                     uintptr
100282  	Ftcl_DbIncrRefCount                     uintptr
100283  	Ftcl_DbIsShared                         uintptr
100284  	Ftcl_DbNewBooleanObj                    uintptr
100285  	Ftcl_DbNewByteArrayObj                  uintptr
100286  	Ftcl_DbNewDoubleObj                     uintptr
100287  	Ftcl_DbNewListObj                       uintptr
100288  	Ftcl_DbNewLongObj                       uintptr
100289  	Ftcl_DbNewObj                           uintptr
100290  	Ftcl_DbNewStringObj                     uintptr
100291  	Ftcl_DuplicateObj                       uintptr
100292  	FtclFreeObj                             uintptr
100293  	Ftcl_GetBoolean                         uintptr
100294  	Ftcl_GetBooleanFromObj                  uintptr
100295  	Ftcl_GetByteArrayFromObj                uintptr
100296  	Ftcl_GetDouble                          uintptr
100297  	Ftcl_GetDoubleFromObj                   uintptr
100298  	Ftcl_GetIndexFromObj                    uintptr
100299  	Ftcl_GetInt                             uintptr
100300  	Ftcl_GetIntFromObj                      uintptr
100301  	Ftcl_GetLongFromObj                     uintptr
100302  	Ftcl_GetObjType                         uintptr
100303  	Ftcl_GetStringFromObj                   uintptr
100304  	Ftcl_InvalidateStringRep                uintptr
100305  	Ftcl_ListObjAppendList                  uintptr
100306  	Ftcl_ListObjAppendElement               uintptr
100307  	Ftcl_ListObjGetElements                 uintptr
100308  	Ftcl_ListObjIndex                       uintptr
100309  	Ftcl_ListObjLength                      uintptr
100310  	Ftcl_ListObjReplace                     uintptr
100311  	Ftcl_NewBooleanObj                      uintptr
100312  	Ftcl_NewByteArrayObj                    uintptr
100313  	Ftcl_NewDoubleObj                       uintptr
100314  	Ftcl_NewIntObj                          uintptr
100315  	Ftcl_NewListObj                         uintptr
100316  	Ftcl_NewLongObj                         uintptr
100317  	Ftcl_NewObj                             uintptr
100318  	Ftcl_NewStringObj                       uintptr
100319  	Ftcl_SetBooleanObj                      uintptr
100320  	Ftcl_SetByteArrayLength                 uintptr
100321  	Ftcl_SetByteArrayObj                    uintptr
100322  	Ftcl_SetDoubleObj                       uintptr
100323  	Ftcl_SetIntObj                          uintptr
100324  	Ftcl_SetListObj                         uintptr
100325  	Ftcl_SetLongObj                         uintptr
100326  	Ftcl_SetObjLength                       uintptr
100327  	Ftcl_SetStringObj                       uintptr
100328  	Ftcl_AddErrorInfo                       uintptr
100329  	Ftcl_AddObjErrorInfo                    uintptr
100330  	Ftcl_AllowExceptions                    uintptr
100331  	Ftcl_AppendElement                      uintptr
100332  	Ftcl_AppendResult                       uintptr
100333  	Ftcl_AsyncCreate                        uintptr
100334  	Ftcl_AsyncDelete                        uintptr
100335  	Ftcl_AsyncInvoke                        uintptr
100336  	Ftcl_AsyncMark                          uintptr
100337  	Ftcl_AsyncReady                         uintptr
100338  	Ftcl_BackgroundError                    uintptr
100339  	Ftcl_Backslash                          uintptr
100340  	Ftcl_BadChannelOption                   uintptr
100341  	Ftcl_CallWhenDeleted                    uintptr
100342  	Ftcl_CancelIdleCall                     uintptr
100343  	Ftcl_Close                              uintptr
100344  	Ftcl_CommandComplete                    uintptr
100345  	Ftcl_Concat                             uintptr
100346  	Ftcl_ConvertElement                     uintptr
100347  	Ftcl_ConvertCountedElement              uintptr
100348  	Ftcl_CreateAlias                        uintptr
100349  	Ftcl_CreateAliasObj                     uintptr
100350  	Ftcl_CreateChannel                      uintptr
100351  	Ftcl_CreateChannelHandler               uintptr
100352  	Ftcl_CreateCloseHandler                 uintptr
100353  	Ftcl_CreateCommand                      uintptr
100354  	Ftcl_CreateEventSource                  uintptr
100355  	Ftcl_CreateExitHandler                  uintptr
100356  	Ftcl_CreateInterp                       uintptr
100357  	Ftcl_CreateMathFunc                     uintptr
100358  	Ftcl_CreateObjCommand                   uintptr
100359  	Ftcl_CreateSlave                        uintptr
100360  	Ftcl_CreateTimerHandler                 uintptr
100361  	Ftcl_CreateTrace                        uintptr
100362  	Ftcl_DeleteAssocData                    uintptr
100363  	Ftcl_DeleteChannelHandler               uintptr
100364  	Ftcl_DeleteCloseHandler                 uintptr
100365  	Ftcl_DeleteCommand                      uintptr
100366  	Ftcl_DeleteCommandFromToken             uintptr
100367  	Ftcl_DeleteEvents                       uintptr
100368  	Ftcl_DeleteEventSource                  uintptr
100369  	Ftcl_DeleteExitHandler                  uintptr
100370  	Ftcl_DeleteHashEntry                    uintptr
100371  	Ftcl_DeleteHashTable                    uintptr
100372  	Ftcl_DeleteInterp                       uintptr
100373  	Ftcl_DetachPids                         uintptr
100374  	Ftcl_DeleteTimerHandler                 uintptr
100375  	Ftcl_DeleteTrace                        uintptr
100376  	Ftcl_DontCallWhenDeleted                uintptr
100377  	Ftcl_DoOneEvent                         uintptr
100378  	Ftcl_DoWhenIdle                         uintptr
100379  	Ftcl_DStringAppend                      uintptr
100380  	Ftcl_DStringAppendElement               uintptr
100381  	Ftcl_DStringEndSublist                  uintptr
100382  	Ftcl_DStringFree                        uintptr
100383  	Ftcl_DStringGetResult                   uintptr
100384  	Ftcl_DStringInit                        uintptr
100385  	Ftcl_DStringResult                      uintptr
100386  	Ftcl_DStringSetLength                   uintptr
100387  	Ftcl_DStringStartSublist                uintptr
100388  	Ftcl_Eof                                uintptr
100389  	Ftcl_ErrnoId                            uintptr
100390  	Ftcl_ErrnoMsg                           uintptr
100391  	Ftcl_Eval                               uintptr
100392  	Ftcl_EvalFile                           uintptr
100393  	Ftcl_EvalObj                            uintptr
100394  	Ftcl_EventuallyFree                     uintptr
100395  	Ftcl_Exit                               uintptr
100396  	Ftcl_ExposeCommand                      uintptr
100397  	Ftcl_ExprBoolean                        uintptr
100398  	Ftcl_ExprBooleanObj                     uintptr
100399  	Ftcl_ExprDouble                         uintptr
100400  	Ftcl_ExprDoubleObj                      uintptr
100401  	Ftcl_ExprLong                           uintptr
100402  	Ftcl_ExprLongObj                        uintptr
100403  	Ftcl_ExprObj                            uintptr
100404  	Ftcl_ExprString                         uintptr
100405  	Ftcl_Finalize                           uintptr
100406  	Ftcl_FindExecutable                     uintptr
100407  	Ftcl_FirstHashEntry                     uintptr
100408  	Ftcl_Flush                              uintptr
100409  	Ftcl_FreeResult                         uintptr
100410  	Ftcl_GetAlias                           uintptr
100411  	Ftcl_GetAliasObj                        uintptr
100412  	Ftcl_GetAssocData                       uintptr
100413  	Ftcl_GetChannel                         uintptr
100414  	Ftcl_GetChannelBufferSize               uintptr
100415  	Ftcl_GetChannelHandle                   uintptr
100416  	Ftcl_GetChannelInstanceData             uintptr
100417  	Ftcl_GetChannelMode                     uintptr
100418  	Ftcl_GetChannelName                     uintptr
100419  	Ftcl_GetChannelOption                   uintptr
100420  	Ftcl_GetChannelType                     uintptr
100421  	Ftcl_GetCommandInfo                     uintptr
100422  	Ftcl_GetCommandName                     uintptr
100423  	Ftcl_GetErrno                           uintptr
100424  	Ftcl_GetHostName                        uintptr
100425  	Ftcl_GetInterpPath                      uintptr
100426  	Ftcl_GetMaster                          uintptr
100427  	Ftcl_GetNameOfExecutable                uintptr
100428  	Ftcl_GetObjResult                       uintptr
100429  	Freserved167                            uintptr
100430  	Ftcl_GetPathType                        uintptr
100431  	Ftcl_Gets                               uintptr
100432  	Ftcl_GetsObj                            uintptr
100433  	Ftcl_GetServiceMode                     uintptr
100434  	Ftcl_GetSlave                           uintptr
100435  	Ftcl_GetStdChannel                      uintptr
100436  	Ftcl_GetStringResult                    uintptr
100437  	Ftcl_GetVar                             uintptr
100438  	Ftcl_GetVar2                            uintptr
100439  	Ftcl_GlobalEval                         uintptr
100440  	Ftcl_GlobalEvalObj                      uintptr
100441  	Ftcl_HideCommand                        uintptr
100442  	Ftcl_Init                               uintptr
100443  	Ftcl_InitHashTable                      uintptr
100444  	Ftcl_InputBlocked                       uintptr
100445  	Ftcl_InputBuffered                      uintptr
100446  	Ftcl_InterpDeleted                      uintptr
100447  	Ftcl_IsSafe                             uintptr
100448  	Ftcl_JoinPath                           uintptr
100449  	Ftcl_LinkVar                            uintptr
100450  	Freserved188                            uintptr
100451  	Ftcl_MakeFileChannel                    uintptr
100452  	Ftcl_MakeSafe                           uintptr
100453  	Ftcl_MakeTcpClientChannel               uintptr
100454  	Ftcl_Merge                              uintptr
100455  	Ftcl_NextHashEntry                      uintptr
100456  	Ftcl_NotifyChannel                      uintptr
100457  	Ftcl_ObjGetVar2                         uintptr
100458  	Ftcl_ObjSetVar2                         uintptr
100459  	Ftcl_OpenCommandChannel                 uintptr
100460  	Ftcl_OpenFileChannel                    uintptr
100461  	Ftcl_OpenTcpClient                      uintptr
100462  	Ftcl_OpenTcpServer                      uintptr
100463  	Ftcl_Preserve                           uintptr
100464  	Ftcl_PrintDouble                        uintptr
100465  	Ftcl_PutEnv                             uintptr
100466  	Ftcl_PosixError                         uintptr
100467  	Ftcl_QueueEvent                         uintptr
100468  	Ftcl_Read                               uintptr
100469  	Ftcl_ReapDetachedProcs                  uintptr
100470  	Ftcl_RecordAndEval                      uintptr
100471  	Ftcl_RecordAndEvalObj                   uintptr
100472  	Ftcl_RegisterChannel                    uintptr
100473  	Ftcl_RegisterObjType                    uintptr
100474  	Ftcl_RegExpCompile                      uintptr
100475  	Ftcl_RegExpExec                         uintptr
100476  	Ftcl_RegExpMatch                        uintptr
100477  	Ftcl_RegExpRange                        uintptr
100478  	Ftcl_Release                            uintptr
100479  	Ftcl_ResetResult                        uintptr
100480  	Ftcl_ScanElement                        uintptr
100481  	Ftcl_ScanCountedElement                 uintptr
100482  	Ftcl_SeekOld                            uintptr
100483  	Ftcl_ServiceAll                         uintptr
100484  	Ftcl_ServiceEvent                       uintptr
100485  	Ftcl_SetAssocData                       uintptr
100486  	Ftcl_SetChannelBufferSize               uintptr
100487  	Ftcl_SetChannelOption                   uintptr
100488  	Ftcl_SetCommandInfo                     uintptr
100489  	Ftcl_SetErrno                           uintptr
100490  	Ftcl_SetErrorCode                       uintptr
100491  	Ftcl_SetMaxBlockTime                    uintptr
100492  	Ftcl_SetPanicProc                       uintptr
100493  	Ftcl_SetRecursionLimit                  uintptr
100494  	Ftcl_SetResult                          uintptr
100495  	Ftcl_SetServiceMode                     uintptr
100496  	Ftcl_SetObjErrorCode                    uintptr
100497  	Ftcl_SetObjResult                       uintptr
100498  	Ftcl_SetStdChannel                      uintptr
100499  	Ftcl_SetVar                             uintptr
100500  	Ftcl_SetVar2                            uintptr
100501  	Ftcl_SignalId                           uintptr
100502  	Ftcl_SignalMsg                          uintptr
100503  	Ftcl_SourceRCFile                       uintptr
100504  	Ftcl_SplitList                          uintptr
100505  	Ftcl_SplitPath                          uintptr
100506  	Ftcl_StaticPackage                      uintptr
100507  	Ftcl_StringMatch                        uintptr
100508  	Ftcl_TellOld                            uintptr
100509  	Ftcl_TraceVar                           uintptr
100510  	Ftcl_TraceVar2                          uintptr
100511  	Ftcl_TranslateFileName                  uintptr
100512  	Ftcl_Ungets                             uintptr
100513  	Ftcl_UnlinkVar                          uintptr
100514  	Ftcl_UnregisterChannel                  uintptr
100515  	Ftcl_UnsetVar                           uintptr
100516  	Ftcl_UnsetVar2                          uintptr
100517  	Ftcl_UntraceVar                         uintptr
100518  	Ftcl_UntraceVar2                        uintptr
100519  	Ftcl_UpdateLinkedVar                    uintptr
100520  	Ftcl_UpVar                              uintptr
100521  	Ftcl_UpVar2                             uintptr
100522  	Ftcl_VarEval                            uintptr
100523  	Ftcl_VarTraceInfo                       uintptr
100524  	Ftcl_VarTraceInfo2                      uintptr
100525  	Ftcl_Write                              uintptr
100526  	Ftcl_WrongNumArgs                       uintptr
100527  	Ftcl_DumpActiveMemory                   uintptr
100528  	Ftcl_ValidateAllMemory                  uintptr
100529  	Ftcl_AppendResultVA                     uintptr
100530  	Ftcl_AppendStringsToObjVA               uintptr
100531  	Ftcl_HashStats                          uintptr
100532  	Ftcl_ParseVar                           uintptr
100533  	Ftcl_PkgPresent                         uintptr
100534  	Ftcl_PkgPresentEx                       uintptr
100535  	Ftcl_PkgProvide                         uintptr
100536  	Ftcl_PkgRequire                         uintptr
100537  	Ftcl_SetErrorCodeVA                     uintptr
100538  	Ftcl_VarEvalVA                          uintptr
100539  	Ftcl_WaitPid                            uintptr
100540  	Ftcl_PanicVA                            uintptr
100541  	Ftcl_GetVersion                         uintptr
100542  	Ftcl_InitMemory                         uintptr
100543  	Ftcl_StackChannel                       uintptr
100544  	Ftcl_UnstackChannel                     uintptr
100545  	Ftcl_GetStackedChannel                  uintptr
100546  	Ftcl_SetMainLoop                        uintptr
100547  	Freserved285                            uintptr
100548  	Ftcl_AppendObjToObj                     uintptr
100549  	Ftcl_CreateEncoding                     uintptr
100550  	Ftcl_CreateThreadExitHandler            uintptr
100551  	Ftcl_DeleteThreadExitHandler            uintptr
100552  	Ftcl_DiscardResult                      uintptr
100553  	Ftcl_EvalEx                             uintptr
100554  	Ftcl_EvalObjv                           uintptr
100555  	Ftcl_EvalObjEx                          uintptr
100556  	Ftcl_ExitThread                         uintptr
100557  	Ftcl_ExternalToUtf                      uintptr
100558  	Ftcl_ExternalToUtfDString               uintptr
100559  	Ftcl_FinalizeThread                     uintptr
100560  	Ftcl_FinalizeNotifier                   uintptr
100561  	Ftcl_FreeEncoding                       uintptr
100562  	Ftcl_GetCurrentThread                   uintptr
100563  	Ftcl_GetEncoding                        uintptr
100564  	Ftcl_GetEncodingName                    uintptr
100565  	Ftcl_GetEncodingNames                   uintptr
100566  	Ftcl_GetIndexFromObjStruct              uintptr
100567  	Ftcl_GetThreadData                      uintptr
100568  	Ftcl_GetVar2Ex                          uintptr
100569  	Ftcl_InitNotifier                       uintptr
100570  	Ftcl_MutexLock                          uintptr
100571  	Ftcl_MutexUnlock                        uintptr
100572  	Ftcl_ConditionNotify                    uintptr
100573  	Ftcl_ConditionWait                      uintptr
100574  	Ftcl_NumUtfChars                        uintptr
100575  	Ftcl_ReadChars                          uintptr
100576  	Ftcl_RestoreResult                      uintptr
100577  	Ftcl_SaveResult                         uintptr
100578  	Ftcl_SetSystemEncoding                  uintptr
100579  	Ftcl_SetVar2Ex                          uintptr
100580  	Ftcl_ThreadAlert                        uintptr
100581  	Ftcl_ThreadQueueEvent                   uintptr
100582  	Ftcl_UniCharAtIndex                     uintptr
100583  	Ftcl_UniCharToLower                     uintptr
100584  	Ftcl_UniCharToTitle                     uintptr
100585  	Ftcl_UniCharToUpper                     uintptr
100586  	Ftcl_UniCharToUtf                       uintptr
100587  	Ftcl_UtfAtIndex                         uintptr
100588  	Ftcl_UtfCharComplete                    uintptr
100589  	Ftcl_UtfBackslash                       uintptr
100590  	Ftcl_UtfFindFirst                       uintptr
100591  	Ftcl_UtfFindLast                        uintptr
100592  	Ftcl_UtfNext                            uintptr
100593  	Ftcl_UtfPrev                            uintptr
100594  	Ftcl_UtfToExternal                      uintptr
100595  	Ftcl_UtfToExternalDString               uintptr
100596  	Ftcl_UtfToLower                         uintptr
100597  	Ftcl_UtfToTitle                         uintptr
100598  	Ftcl_UtfToUniChar                       uintptr
100599  	Ftcl_UtfToUpper                         uintptr
100600  	Ftcl_WriteChars                         uintptr
100601  	Ftcl_WriteObj                           uintptr
100602  	Ftcl_GetString                          uintptr
100603  	Ftcl_GetDefaultEncodingDir              uintptr
100604  	Ftcl_SetDefaultEncodingDir              uintptr
100605  	Ftcl_AlertNotifier                      uintptr
100606  	Ftcl_ServiceModeHook                    uintptr
100607  	Ftcl_UniCharIsAlnum                     uintptr
100608  	Ftcl_UniCharIsAlpha                     uintptr
100609  	Ftcl_UniCharIsDigit                     uintptr
100610  	Ftcl_UniCharIsLower                     uintptr
100611  	Ftcl_UniCharIsSpace                     uintptr
100612  	Ftcl_UniCharIsUpper                     uintptr
100613  	Ftcl_UniCharIsWordChar                  uintptr
100614  	Ftcl_UniCharLen                         uintptr
100615  	Ftcl_UniCharNcmp                        uintptr
100616  	Ftcl_UniCharToUtfDString                uintptr
100617  	Ftcl_UtfToUniCharDString                uintptr
100618  	Ftcl_GetRegExpFromObj                   uintptr
100619  	Ftcl_EvalTokens                         uintptr
100620  	Ftcl_FreeParse                          uintptr
100621  	Ftcl_LogCommandInfo                     uintptr
100622  	Ftcl_ParseBraces                        uintptr
100623  	Ftcl_ParseCommand                       uintptr
100624  	Ftcl_ParseExpr                          uintptr
100625  	Ftcl_ParseQuotedString                  uintptr
100626  	Ftcl_ParseVarName                       uintptr
100627  	Ftcl_GetCwd                             uintptr
100628  	Ftcl_Chdir                              uintptr
100629  	Ftcl_Access                             uintptr
100630  	Ftcl_Stat                               uintptr
100631  	Ftcl_UtfNcmp                            uintptr
100632  	Ftcl_UtfNcasecmp                        uintptr
100633  	Ftcl_StringCaseMatch                    uintptr
100634  	Ftcl_UniCharIsControl                   uintptr
100635  	Ftcl_UniCharIsGraph                     uintptr
100636  	Ftcl_UniCharIsPrint                     uintptr
100637  	Ftcl_UniCharIsPunct                     uintptr
100638  	Ftcl_RegExpExecObj                      uintptr
100639  	Ftcl_RegExpGetInfo                      uintptr
100640  	Ftcl_NewUnicodeObj                      uintptr
100641  	Ftcl_SetUnicodeObj                      uintptr
100642  	Ftcl_GetCharLength                      uintptr
100643  	Ftcl_GetUniChar                         uintptr
100644  	Ftcl_GetUnicode                         uintptr
100645  	Ftcl_GetRange                           uintptr
100646  	Ftcl_AppendUnicodeToObj                 uintptr
100647  	Ftcl_RegExpMatchObj                     uintptr
100648  	Ftcl_SetNotifier                        uintptr
100649  	Ftcl_GetAllocMutex                      uintptr
100650  	Ftcl_GetChannelNames                    uintptr
100651  	Ftcl_GetChannelNamesEx                  uintptr
100652  	Ftcl_ProcObjCmd                         uintptr
100653  	Ftcl_ConditionFinalize                  uintptr
100654  	Ftcl_MutexFinalize                      uintptr
100655  	Ftcl_CreateThread                       uintptr
100656  	Ftcl_ReadRaw                            uintptr
100657  	Ftcl_WriteRaw                           uintptr
100658  	Ftcl_GetTopChannel                      uintptr
100659  	Ftcl_ChannelBuffered                    uintptr
100660  	Ftcl_ChannelName                        uintptr
100661  	Ftcl_ChannelVersion                     uintptr
100662  	Ftcl_ChannelBlockModeProc               uintptr
100663  	Ftcl_ChannelCloseProc                   uintptr
100664  	Ftcl_ChannelClose2Proc                  uintptr
100665  	Ftcl_ChannelInputProc                   uintptr
100666  	Ftcl_ChannelOutputProc                  uintptr
100667  	Ftcl_ChannelSeekProc                    uintptr
100668  	Ftcl_ChannelSetOptionProc               uintptr
100669  	Ftcl_ChannelGetOptionProc               uintptr
100670  	Ftcl_ChannelWatchProc                   uintptr
100671  	Ftcl_ChannelGetHandleProc               uintptr
100672  	Ftcl_ChannelFlushProc                   uintptr
100673  	Ftcl_ChannelHandlerProc                 uintptr
100674  	Ftcl_JoinThread                         uintptr
100675  	Ftcl_IsChannelShared                    uintptr
100676  	Ftcl_IsChannelRegistered                uintptr
100677  	Ftcl_CutChannel                         uintptr
100678  	Ftcl_SpliceChannel                      uintptr
100679  	Ftcl_ClearChannelHandlers               uintptr
100680  	Ftcl_IsChannelExisting                  uintptr
100681  	Ftcl_UniCharNcasecmp                    uintptr
100682  	Ftcl_UniCharCaseMatch                   uintptr
100683  	Ftcl_FindHashEntry                      uintptr
100684  	Ftcl_CreateHashEntry                    uintptr
100685  	Ftcl_InitCustomHashTable                uintptr
100686  	Ftcl_InitObjHashTable                   uintptr
100687  	Ftcl_CommandTraceInfo                   uintptr
100688  	Ftcl_TraceCommand                       uintptr
100689  	Ftcl_UntraceCommand                     uintptr
100690  	Ftcl_AttemptAlloc                       uintptr
100691  	Ftcl_AttemptDbCkalloc                   uintptr
100692  	Ftcl_AttemptRealloc                     uintptr
100693  	Ftcl_AttemptDbCkrealloc                 uintptr
100694  	Ftcl_AttemptSetObjLength                uintptr
100695  	Ftcl_GetChannelThread                   uintptr
100696  	Ftcl_GetUnicodeFromObj                  uintptr
100697  	Ftcl_GetMathFuncInfo                    uintptr
100698  	Ftcl_ListMathFuncs                      uintptr
100699  	Ftcl_SubstObj                           uintptr
100700  	Ftcl_DetachChannel                      uintptr
100701  	Ftcl_IsStandardChannel                  uintptr
100702  	Ftcl_FSCopyFile                         uintptr
100703  	Ftcl_FSCopyDirectory                    uintptr
100704  	Ftcl_FSCreateDirectory                  uintptr
100705  	Ftcl_FSDeleteFile                       uintptr
100706  	Ftcl_FSLoadFile                         uintptr
100707  	Ftcl_FSMatchInDirectory                 uintptr
100708  	Ftcl_FSLink                             uintptr
100709  	Ftcl_FSRemoveDirectory                  uintptr
100710  	Ftcl_FSRenameFile                       uintptr
100711  	Ftcl_FSLstat                            uintptr
100712  	Ftcl_FSUtime                            uintptr
100713  	Ftcl_FSFileAttrsGet                     uintptr
100714  	Ftcl_FSFileAttrsSet                     uintptr
100715  	Ftcl_FSFileAttrStrings                  uintptr
100716  	Ftcl_FSStat                             uintptr
100717  	Ftcl_FSAccess                           uintptr
100718  	Ftcl_FSOpenFileChannel                  uintptr
100719  	Ftcl_FSGetCwd                           uintptr
100720  	Ftcl_FSChdir                            uintptr
100721  	Ftcl_FSConvertToPathType                uintptr
100722  	Ftcl_FSJoinPath                         uintptr
100723  	Ftcl_FSSplitPath                        uintptr
100724  	Ftcl_FSEqualPaths                       uintptr
100725  	Ftcl_FSGetNormalizedPath                uintptr
100726  	Ftcl_FSJoinToPath                       uintptr
100727  	Ftcl_FSGetInternalRep                   uintptr
100728  	Ftcl_FSGetTranslatedPath                uintptr
100729  	Ftcl_FSEvalFile                         uintptr
100730  	Ftcl_FSNewNativePath                    uintptr
100731  	Ftcl_FSGetNativePath                    uintptr
100732  	Ftcl_FSFileSystemInfo                   uintptr
100733  	Ftcl_FSPathSeparator                    uintptr
100734  	Ftcl_FSListVolumes                      uintptr
100735  	Ftcl_FSRegister                         uintptr
100736  	Ftcl_FSUnregister                       uintptr
100737  	Ftcl_FSData                             uintptr
100738  	Ftcl_FSGetTranslatedStringPath          uintptr
100739  	Ftcl_FSGetFileSystemForPath             uintptr
100740  	Ftcl_FSGetPathType                      uintptr
100741  	Ftcl_OutputBuffered                     uintptr
100742  	Ftcl_FSMountsChanged                    uintptr
100743  	Ftcl_EvalTokensStandard                 uintptr
100744  	Ftcl_GetTime                            uintptr
100745  	Ftcl_CreateObjTrace                     uintptr
100746  	Ftcl_GetCommandInfoFromToken            uintptr
100747  	Ftcl_SetCommandInfoFromToken            uintptr
100748  	Ftcl_DbNewWideIntObj                    uintptr
100749  	Ftcl_GetWideIntFromObj                  uintptr
100750  	Ftcl_NewWideIntObj                      uintptr
100751  	Ftcl_SetWideIntObj                      uintptr
100752  	Ftcl_AllocStatBuf                       uintptr
100753  	Ftcl_Seek                               uintptr
100754  	Ftcl_Tell                               uintptr
100755  	Ftcl_ChannelWideSeekProc                uintptr
100756  	Ftcl_DictObjPut                         uintptr
100757  	Ftcl_DictObjGet                         uintptr
100758  	Ftcl_DictObjRemove                      uintptr
100759  	Ftcl_DictObjSize                        uintptr
100760  	Ftcl_DictObjFirst                       uintptr
100761  	Ftcl_DictObjNext                        uintptr
100762  	Ftcl_DictObjDone                        uintptr
100763  	Ftcl_DictObjPutKeyList                  uintptr
100764  	Ftcl_DictObjRemoveKeyList               uintptr
100765  	Ftcl_NewDictObj                         uintptr
100766  	Ftcl_DbNewDictObj                       uintptr
100767  	Ftcl_RegisterConfig                     uintptr
100768  	Ftcl_CreateNamespace                    uintptr
100769  	Ftcl_DeleteNamespace                    uintptr
100770  	Ftcl_AppendExportList                   uintptr
100771  	Ftcl_Export                             uintptr
100772  	Ftcl_Import                             uintptr
100773  	Ftcl_ForgetImport                       uintptr
100774  	Ftcl_GetCurrentNamespace                uintptr
100775  	Ftcl_GetGlobalNamespace                 uintptr
100776  	Ftcl_FindNamespace                      uintptr
100777  	Ftcl_FindCommand                        uintptr
100778  	Ftcl_GetCommandFromObj                  uintptr
100779  	Ftcl_GetCommandFullName                 uintptr
100780  	Ftcl_FSEvalFileEx                       uintptr
100781  	Ftcl_SetExitProc                        uintptr
100782  	Ftcl_LimitAddHandler                    uintptr
100783  	Ftcl_LimitRemoveHandler                 uintptr
100784  	Ftcl_LimitReady                         uintptr
100785  	Ftcl_LimitCheck                         uintptr
100786  	Ftcl_LimitExceeded                      uintptr
100787  	Ftcl_LimitSetCommands                   uintptr
100788  	Ftcl_LimitSetTime                       uintptr
100789  	Ftcl_LimitSetGranularity                uintptr
100790  	Ftcl_LimitTypeEnabled                   uintptr
100791  	Ftcl_LimitTypeExceeded                  uintptr
100792  	Ftcl_LimitTypeSet                       uintptr
100793  	Ftcl_LimitTypeReset                     uintptr
100794  	Ftcl_LimitGetCommands                   uintptr
100795  	Ftcl_LimitGetTime                       uintptr
100796  	Ftcl_LimitGetGranularity                uintptr
100797  	Ftcl_SaveInterpState                    uintptr
100798  	Ftcl_RestoreInterpState                 uintptr
100799  	Ftcl_DiscardInterpState                 uintptr
100800  	Ftcl_SetReturnOptions                   uintptr
100801  	Ftcl_GetReturnOptions                   uintptr
100802  	Ftcl_IsEnsemble                         uintptr
100803  	Ftcl_CreateEnsemble                     uintptr
100804  	Ftcl_FindEnsemble                       uintptr
100805  	Ftcl_SetEnsembleSubcommandList          uintptr
100806  	Ftcl_SetEnsembleMappingDict             uintptr
100807  	Ftcl_SetEnsembleUnknownHandler          uintptr
100808  	Ftcl_SetEnsembleFlags                   uintptr
100809  	Ftcl_GetEnsembleSubcommandList          uintptr
100810  	Ftcl_GetEnsembleMappingDict             uintptr
100811  	Ftcl_GetEnsembleUnknownHandler          uintptr
100812  	Ftcl_GetEnsembleFlags                   uintptr
100813  	Ftcl_GetEnsembleNamespace               uintptr
100814  	Ftcl_SetTimeProc                        uintptr
100815  	Ftcl_QueryTimeProc                      uintptr
100816  	Ftcl_ChannelThreadActionProc            uintptr
100817  	Ftcl_NewBignumObj                       uintptr
100818  	Ftcl_DbNewBignumObj                     uintptr
100819  	Ftcl_SetBignumObj                       uintptr
100820  	Ftcl_GetBignumFromObj                   uintptr
100821  	Ftcl_TakeBignumFromObj                  uintptr
100822  	Ftcl_TruncateChannel                    uintptr
100823  	Ftcl_ChannelTruncateProc                uintptr
100824  	Ftcl_SetChannelErrorInterp              uintptr
100825  	Ftcl_GetChannelErrorInterp              uintptr
100826  	Ftcl_SetChannelError                    uintptr
100827  	Ftcl_GetChannelError                    uintptr
100828  	Ftcl_InitBignumFromDouble               uintptr
100829  	Ftcl_GetNamespaceUnknownHandler         uintptr
100830  	Ftcl_SetNamespaceUnknownHandler         uintptr
100831  	Ftcl_GetEncodingFromObj                 uintptr
100832  	Ftcl_GetEncodingSearchPath              uintptr
100833  	Ftcl_SetEncodingSearchPath              uintptr
100834  	Ftcl_GetEncodingNameFromEnvironment     uintptr
100835  	Ftcl_PkgRequireProc                     uintptr
100836  	Ftcl_AppendObjToErrorInfo               uintptr
100837  	Ftcl_AppendLimitedToObj                 uintptr
100838  	Ftcl_Format                             uintptr
100839  	Ftcl_AppendFormatToObj                  uintptr
100840  	Ftcl_ObjPrintf                          uintptr
100841  	Ftcl_AppendPrintfToObj                  uintptr
100842  	Ftcl_CancelEval                         uintptr
100843  	Ftcl_Canceled                           uintptr
100844  	Ftcl_CreatePipe                         uintptr
100845  	Ftcl_NRCreateCommand                    uintptr
100846  	Ftcl_NREvalObj                          uintptr
100847  	Ftcl_NREvalObjv                         uintptr
100848  	Ftcl_NRCmdSwap                          uintptr
100849  	Ftcl_NRAddCallback                      uintptr
100850  	Ftcl_NRCallObjProc                      uintptr
100851  	Ftcl_GetFSDeviceFromStat                uintptr
100852  	Ftcl_GetFSInodeFromStat                 uintptr
100853  	Ftcl_GetModeFromStat                    uintptr
100854  	Ftcl_GetLinkCountFromStat               uintptr
100855  	Ftcl_GetUserIdFromStat                  uintptr
100856  	Ftcl_GetGroupIdFromStat                 uintptr
100857  	Ftcl_GetDeviceTypeFromStat              uintptr
100858  	Ftcl_GetAccessTimeFromStat              uintptr
100859  	Ftcl_GetModificationTimeFromStat        uintptr
100860  	Ftcl_GetChangeTimeFromStat              uintptr
100861  	Ftcl_GetSizeFromStat                    uintptr
100862  	Ftcl_GetBlocksFromStat                  uintptr
100863  	Ftcl_GetBlockSizeFromStat               uintptr
100864  	Ftcl_SetEnsembleParameterList           uintptr
100865  	Ftcl_GetEnsembleParameterList           uintptr
100866  	Ftcl_ParseArgsObjv                      uintptr
100867  	Ftcl_GetErrorLine                       uintptr
100868  	Ftcl_SetErrorLine                       uintptr
100869  	Ftcl_TransferResult                     uintptr
100870  	Ftcl_InterpActive                       uintptr
100871  	Ftcl_BackgroundException                uintptr
100872  	Ftcl_ZlibDeflate                        uintptr
100873  	Ftcl_ZlibInflate                        uintptr
100874  	Ftcl_ZlibCRC32                          uintptr
100875  	Ftcl_ZlibAdler32                        uintptr
100876  	Ftcl_ZlibStreamInit                     uintptr
100877  	Ftcl_ZlibStreamGetCommandName           uintptr
100878  	Ftcl_ZlibStreamEof                      uintptr
100879  	Ftcl_ZlibStreamChecksum                 uintptr
100880  	Ftcl_ZlibStreamPut                      uintptr
100881  	Ftcl_ZlibStreamGet                      uintptr
100882  	Ftcl_ZlibStreamClose                    uintptr
100883  	Ftcl_ZlibStreamReset                    uintptr
100884  	Ftcl_SetStartupScript                   uintptr
100885  	Ftcl_GetStartupScript                   uintptr
100886  	Ftcl_CloseEx                            uintptr
100887  	Ftcl_NRExprObj                          uintptr
100888  	Ftcl_NRSubstObj                         uintptr
100889  	Ftcl_LoadFile                           uintptr
100890  	Ftcl_FindSymbol                         uintptr
100891  	Ftcl_FSUnloadFile                       uintptr
100892  	Ftcl_ZlibStreamSetCompressionDictionary uintptr
100893  	Freserved631                            uintptr
100894  	Freserved632                            uintptr
100895  	Freserved633                            uintptr
100896  	Freserved634                            uintptr
100897  	Freserved635                            uintptr
100898  	Freserved636                            uintptr
100899  	Freserved637                            uintptr
100900  	Freserved638                            uintptr
100901  	Freserved639                            uintptr
100902  	Freserved640                            uintptr
100903  	Freserved641                            uintptr
100904  	Freserved642                            uintptr
100905  	Freserved643                            uintptr
100906  	Freserved644                            uintptr
100907  	Freserved645                            uintptr
100908  	Freserved646                            uintptr
100909  	Freserved647                            uintptr
100910  	Freserved648                            uintptr
100911  	FtclUnusedStubEntry                     uintptr
100912  }
100913  
100914  type Circle1 = struct {
100915  	FaBox [2]struct {
100916  		Fxmin float64
100917  		Fxmax float64
100918  		Fymin float64
100919  		Fymax float64
100920  	}
100921  	Fcenterx     float64
100922  	Fcentery     float64
100923  	Fradius      float64
100924  	FmxArea      float64
100925  	FeScoreType  int32
100926  	F__ccgo_pad1 [4]byte
100927  }
100928  
100929  type Circle = Circle1
100930  type Box = struct {
100931  	Fxmin float64
100932  	Fxmax float64
100933  	Fymin float64
100934  	Fymax float64
100935  }
100936  
100937  func circle_del(tls *libc.TLS, p uintptr) {
100938  	sqlite3.Xsqlite3_free(tls, p)
100939  }
100940  
100941  func circle_geom(tls *libc.TLS, p uintptr, nCoord int32, aCoord uintptr, pRes uintptr) int32 {
100942  	var i int32
100943  	var pCircle uintptr
100944  	var xmin float64
100945  	var xmax float64
100946  	var ymin float64
100947  	var ymax float64
100948  
100949  	xmin = *(*sqlite3_rtree_dbl)(unsafe.Pointer(aCoord))
100950  	xmax = *(*sqlite3_rtree_dbl)(unsafe.Pointer(aCoord + 1*8))
100951  	ymin = *(*sqlite3_rtree_dbl)(unsafe.Pointer(aCoord + 2*8))
100952  	ymax = *(*sqlite3_rtree_dbl)(unsafe.Pointer(aCoord + 3*8))
100953  	pCircle = (*sqlite3_rtree_geometry)(unsafe.Pointer(p)).FpUser
100954  	if pCircle == uintptr(0) {
100955  		if nCoord != 4 {
100956  			return SQLITE_ERROR
100957  		}
100958  
100959  		if (*sqlite3_rtree_geometry)(unsafe.Pointer(p)).FnParam != 3 || *(*sqlite3_rtree_dbl)(unsafe.Pointer((*sqlite3_rtree_geometry)(unsafe.Pointer(p)).FaParam + 2*8)) < 0.0 {
100960  			return SQLITE_ERROR
100961  		}
100962  
100963  		pCircle = libc.AssignPtrUintptr(p+24, sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Circle{}))))
100964  		if !(pCircle != 0) {
100965  			return SQLITE_NOMEM
100966  		}
100967  		(*sqlite3_rtree_geometry)(unsafe.Pointer(p)).FxDelUser = *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{circle_del}))
100968  
100969  		(*Circle)(unsafe.Pointer(pCircle)).Fcenterx = *(*sqlite3_rtree_dbl)(unsafe.Pointer((*sqlite3_rtree_geometry)(unsafe.Pointer(p)).FaParam))
100970  		(*Circle)(unsafe.Pointer(pCircle)).Fcentery = *(*sqlite3_rtree_dbl)(unsafe.Pointer((*sqlite3_rtree_geometry)(unsafe.Pointer(p)).FaParam + 1*8))
100971  		(*Circle)(unsafe.Pointer(pCircle)).Fradius = *(*sqlite3_rtree_dbl)(unsafe.Pointer((*sqlite3_rtree_geometry)(unsafe.Pointer(p)).FaParam + 2*8))
100972  
100973  		(*Box)(unsafe.Pointer(pCircle)).Fxmin = (*Circle)(unsafe.Pointer(pCircle)).Fcenterx
100974  		(*Box)(unsafe.Pointer(pCircle)).Fxmax = (*Circle)(unsafe.Pointer(pCircle)).Fcenterx
100975  		(*Box)(unsafe.Pointer(pCircle)).Fymin = (*Circle)(unsafe.Pointer(pCircle)).Fcentery + (*Circle)(unsafe.Pointer(pCircle)).Fradius
100976  		(*Box)(unsafe.Pointer(pCircle)).Fymax = (*Circle)(unsafe.Pointer(pCircle)).Fcentery - (*Circle)(unsafe.Pointer(pCircle)).Fradius
100977  		(*Box)(unsafe.Pointer(pCircle + 1*32)).Fxmin = (*Circle)(unsafe.Pointer(pCircle)).Fcenterx + (*Circle)(unsafe.Pointer(pCircle)).Fradius
100978  		(*Box)(unsafe.Pointer(pCircle + 1*32)).Fxmax = (*Circle)(unsafe.Pointer(pCircle)).Fcenterx - (*Circle)(unsafe.Pointer(pCircle)).Fradius
100979  		(*Box)(unsafe.Pointer(pCircle + 1*32)).Fymin = (*Circle)(unsafe.Pointer(pCircle)).Fcentery
100980  		(*Box)(unsafe.Pointer(pCircle + 1*32)).Fymax = (*Circle)(unsafe.Pointer(pCircle)).Fcentery
100981  		(*Circle)(unsafe.Pointer(pCircle)).FmxArea = (xmax-xmin)*(ymax-ymin) + 1.0
100982  	}
100983  
100984  	for i = 0; i < 4; i++ {
100985  		var x float64
100986  		if i&0x01 != 0 {
100987  			x = xmax
100988  		} else {
100989  			x = xmin
100990  		}
100991  		var y float64
100992  		if i&0x02 != 0 {
100993  			y = ymax
100994  		} else {
100995  			y = ymin
100996  		}
100997  		var d2 float64
100998  
100999  		d2 = (x - (*Circle)(unsafe.Pointer(pCircle)).Fcenterx) * (x - (*Circle)(unsafe.Pointer(pCircle)).Fcenterx)
101000  		d2 = d2 + (y-(*Circle)(unsafe.Pointer(pCircle)).Fcentery)*(y-(*Circle)(unsafe.Pointer(pCircle)).Fcentery)
101001  		if d2 < (*Circle)(unsafe.Pointer(pCircle)).Fradius*(*Circle)(unsafe.Pointer(pCircle)).Fradius {
101002  			*(*int32)(unsafe.Pointer(pRes)) = 1
101003  			return SQLITE_OK
101004  		}
101005  	}
101006  
101007  	for i = 0; i < 2; i++ {
101008  		if xmin <= (*Box)(unsafe.Pointer(pCircle+uintptr(i)*32)).Fxmin &&
101009  			xmax >= (*Box)(unsafe.Pointer(pCircle+uintptr(i)*32)).Fxmax &&
101010  			ymin <= (*Box)(unsafe.Pointer(pCircle+uintptr(i)*32)).Fymin &&
101011  			ymax >= (*Box)(unsafe.Pointer(pCircle+uintptr(i)*32)).Fymax {
101012  			*(*int32)(unsafe.Pointer(pRes)) = 1
101013  			return SQLITE_OK
101014  		}
101015  	}
101016  
101017  	*(*int32)(unsafe.Pointer(pRes)) = 0
101018  	return SQLITE_OK
101019  }
101020  
101021  func circle_query_func(tls *libc.TLS, p uintptr) int32 {
101022  	var i int32
101023  	var pCircle uintptr
101024  	var xmin float64
101025  	var xmax float64
101026  	var ymin float64
101027  	var ymax float64
101028  	var nWithin int32 = 0
101029  
101030  	xmin = *(*sqlite3_rtree_dbl)(unsafe.Pointer((*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FaCoord))
101031  	xmax = *(*sqlite3_rtree_dbl)(unsafe.Pointer((*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FaCoord + 1*8))
101032  	ymin = *(*sqlite3_rtree_dbl)(unsafe.Pointer((*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FaCoord + 2*8))
101033  	ymax = *(*sqlite3_rtree_dbl)(unsafe.Pointer((*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FaCoord + 3*8))
101034  	pCircle = (*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FpUser
101035  	if pCircle == uintptr(0) {
101036  		if (*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FnCoord != 4 {
101037  			return SQLITE_ERROR
101038  		}
101039  
101040  		if (*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FnParam != 4 && (*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FnParam != 1 {
101041  			return SQLITE_ERROR
101042  		}
101043  
101044  		pCircle = libc.AssignPtrUintptr(p+24, sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Circle{}))))
101045  		if !(pCircle != 0) {
101046  			return SQLITE_NOMEM
101047  		}
101048  		(*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FxDelUser = *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{circle_del}))
101049  
101050  		if (*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FnParam == 4 {
101051  			(*Circle)(unsafe.Pointer(pCircle)).Fcenterx = *(*sqlite3_rtree_dbl)(unsafe.Pointer((*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FaParam))
101052  			(*Circle)(unsafe.Pointer(pCircle)).Fcentery = *(*sqlite3_rtree_dbl)(unsafe.Pointer((*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FaParam + 1*8))
101053  			(*Circle)(unsafe.Pointer(pCircle)).Fradius = *(*sqlite3_rtree_dbl)(unsafe.Pointer((*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FaParam + 2*8))
101054  			(*Circle)(unsafe.Pointer(pCircle)).FeScoreType = libc.Int32FromFloat64(*(*sqlite3_rtree_dbl)(unsafe.Pointer((*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FaParam + 3*8)))
101055  		} else {
101056  			var z uintptr = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer((*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FapSqlParam)))
101057  			(*Circle)(unsafe.Pointer(pCircle)).Fcenterx = 0.0
101058  			(*Circle)(unsafe.Pointer(pCircle)).Fcentery = 0.0
101059  			(*Circle)(unsafe.Pointer(pCircle)).Fradius = 0.0
101060  			(*Circle)(unsafe.Pointer(pCircle)).FeScoreType = 0
101061  			for z != 0 && *(*int8)(unsafe.Pointer(z)) != 0 {
101062  				if int32(*(*int8)(unsafe.Pointer(z))) == 'r' && int32(*(*int8)(unsafe.Pointer(z + 1))) == ':' {
101063  					(*Circle)(unsafe.Pointer(pCircle)).Fradius = libc.Xatof(tls, z+2)
101064  				} else if int32(*(*int8)(unsafe.Pointer(z))) == 'x' && int32(*(*int8)(unsafe.Pointer(z + 1))) == ':' {
101065  					(*Circle)(unsafe.Pointer(pCircle)).Fcenterx = libc.Xatof(tls, z+2)
101066  				} else if int32(*(*int8)(unsafe.Pointer(z))) == 'y' && int32(*(*int8)(unsafe.Pointer(z + 1))) == ':' {
101067  					(*Circle)(unsafe.Pointer(pCircle)).Fcentery = libc.Xatof(tls, z+2)
101068  				} else if int32(*(*int8)(unsafe.Pointer(z))) == 'e' && int32(*(*int8)(unsafe.Pointer(z + 1))) == ':' {
101069  					(*Circle)(unsafe.Pointer(pCircle)).FeScoreType = libc.Int32FromFloat64(libc.Xatof(tls, z+2))
101070  				} else if int32(*(*int8)(unsafe.Pointer(z))) == ' ' {
101071  					z++
101072  					continue
101073  				}
101074  				for int32(*(*int8)(unsafe.Pointer(z))) != 0 && int32(*(*int8)(unsafe.Pointer(z))) != ' ' {
101075  					z++
101076  				}
101077  				for int32(*(*int8)(unsafe.Pointer(z))) == ' ' {
101078  					z++
101079  				}
101080  			}
101081  		}
101082  		if (*Circle)(unsafe.Pointer(pCircle)).Fradius < 0.0 {
101083  			sqlite3.Xsqlite3_free(tls, pCircle)
101084  			return SQLITE_NOMEM
101085  		}
101086  
101087  		(*Box)(unsafe.Pointer(pCircle)).Fxmin = (*Circle)(unsafe.Pointer(pCircle)).Fcenterx
101088  		(*Box)(unsafe.Pointer(pCircle)).Fxmax = (*Circle)(unsafe.Pointer(pCircle)).Fcenterx
101089  		(*Box)(unsafe.Pointer(pCircle)).Fymin = (*Circle)(unsafe.Pointer(pCircle)).Fcentery + (*Circle)(unsafe.Pointer(pCircle)).Fradius
101090  		(*Box)(unsafe.Pointer(pCircle)).Fymax = (*Circle)(unsafe.Pointer(pCircle)).Fcentery - (*Circle)(unsafe.Pointer(pCircle)).Fradius
101091  		(*Box)(unsafe.Pointer(pCircle + 1*32)).Fxmin = (*Circle)(unsafe.Pointer(pCircle)).Fcenterx + (*Circle)(unsafe.Pointer(pCircle)).Fradius
101092  		(*Box)(unsafe.Pointer(pCircle + 1*32)).Fxmax = (*Circle)(unsafe.Pointer(pCircle)).Fcenterx - (*Circle)(unsafe.Pointer(pCircle)).Fradius
101093  		(*Box)(unsafe.Pointer(pCircle + 1*32)).Fymin = (*Circle)(unsafe.Pointer(pCircle)).Fcentery
101094  		(*Box)(unsafe.Pointer(pCircle + 1*32)).Fymax = (*Circle)(unsafe.Pointer(pCircle)).Fcentery
101095  		(*Circle)(unsafe.Pointer(pCircle)).FmxArea = float64(200.0) * 200.0
101096  	}
101097  
101098  	for i = 0; i < 4; i++ {
101099  		var x float64
101100  		if i&0x01 != 0 {
101101  			x = xmax
101102  		} else {
101103  			x = xmin
101104  		}
101105  		var y float64
101106  		if i&0x02 != 0 {
101107  			y = ymax
101108  		} else {
101109  			y = ymin
101110  		}
101111  		var d2 float64
101112  
101113  		d2 = (x - (*Circle)(unsafe.Pointer(pCircle)).Fcenterx) * (x - (*Circle)(unsafe.Pointer(pCircle)).Fcenterx)
101114  		d2 = d2 + (y-(*Circle)(unsafe.Pointer(pCircle)).Fcentery)*(y-(*Circle)(unsafe.Pointer(pCircle)).Fcentery)
101115  		if d2 < (*Circle)(unsafe.Pointer(pCircle)).Fradius*(*Circle)(unsafe.Pointer(pCircle)).Fradius {
101116  			nWithin++
101117  		}
101118  	}
101119  
101120  	if nWithin == 0 {
101121  		for i = 0; i < 2; i++ {
101122  			if xmin <= (*Box)(unsafe.Pointer(pCircle+uintptr(i)*32)).Fxmin &&
101123  				xmax >= (*Box)(unsafe.Pointer(pCircle+uintptr(i)*32)).Fxmax &&
101124  				ymin <= (*Box)(unsafe.Pointer(pCircle+uintptr(i)*32)).Fymin &&
101125  				ymax >= (*Box)(unsafe.Pointer(pCircle+uintptr(i)*32)).Fymax {
101126  				nWithin = 1
101127  				break
101128  			}
101129  		}
101130  	}
101131  
101132  	if (*Circle)(unsafe.Pointer(pCircle)).FeScoreType == 1 {
101133  		(*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FrScore = sqlite3_rtree_dbl((*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FiLevel)
101134  	} else if (*Circle)(unsafe.Pointer(pCircle)).FeScoreType == 2 {
101135  		(*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FrScore = sqlite3_rtree_dbl(100 - (*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FiLevel)
101136  	} else if (*Circle)(unsafe.Pointer(pCircle)).FeScoreType == 3 {
101137  		if (*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FiLevel == 1 {
101138  			(*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FrScore = 1.0 - (xmax-xmin)*(ymax-ymin)/(*Circle)(unsafe.Pointer(pCircle)).FmxArea
101139  			if (*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FrScore < 0.01 {
101140  				(*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FrScore = 0.01
101141  			}
101142  		} else {
101143  			(*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FrScore = 0.0
101144  		}
101145  	} else if (*Circle)(unsafe.Pointer(pCircle)).FeScoreType == 4 {
101146  		(*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FrScore = sqlite3_rtree_dbl((*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FiLevel)
101147  		if (*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FiRowid&int64(1) != 0 {
101148  			nWithin = 0
101149  		}
101150  	} else {
101151  		(*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FrScore = sqlite3_rtree_dbl(100 - (*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FiLevel)
101152  		if (*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FiRowid&int64(1) != 0 {
101153  			nWithin = 0
101154  		}
101155  	}
101156  	if nWithin == 0 {
101157  		(*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FeWithin = NOT_WITHIN
101158  	} else if nWithin >= 4 {
101159  		(*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FeWithin = FULLY_WITHIN
101160  	} else {
101161  		(*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FeWithin = PARTLY_WITHIN
101162  	}
101163  	return SQLITE_OK
101164  }
101165  
101166  func bfs_query_func(tls *libc.TLS, p uintptr) int32 {
101167  	var x0 float64
101168  	var x1 float64
101169  	var y0 float64
101170  	var y1 float64
101171  	var bx0 float64
101172  	var bx1 float64
101173  	var by0 float64
101174  	var by1 float64
101175  
101176  	if (*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FnParam != 4 {
101177  		return SQLITE_ERROR
101178  	}
101179  	x0 = *(*sqlite3_rtree_dbl)(unsafe.Pointer((*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FaCoord))
101180  	x1 = *(*sqlite3_rtree_dbl)(unsafe.Pointer((*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FaCoord + 1*8))
101181  	y0 = *(*sqlite3_rtree_dbl)(unsafe.Pointer((*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FaCoord + 2*8))
101182  	y1 = *(*sqlite3_rtree_dbl)(unsafe.Pointer((*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FaCoord + 3*8))
101183  	bx0 = *(*sqlite3_rtree_dbl)(unsafe.Pointer((*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FaParam))
101184  	bx1 = *(*sqlite3_rtree_dbl)(unsafe.Pointer((*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FaParam + 1*8))
101185  	by0 = *(*sqlite3_rtree_dbl)(unsafe.Pointer((*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FaParam + 2*8))
101186  	by1 = *(*sqlite3_rtree_dbl)(unsafe.Pointer((*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FaParam + 3*8))
101187  	(*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FrScore = sqlite3_rtree_dbl(100 - (*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FiLevel)
101188  	if (*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FeParentWithin == FULLY_WITHIN {
101189  		(*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FeWithin = FULLY_WITHIN
101190  	} else if x0 >= bx0 && x1 <= bx1 && y0 >= by0 && y1 <= by1 {
101191  		(*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FeWithin = FULLY_WITHIN
101192  	} else if x1 >= bx0 && x0 <= bx1 && y1 >= by0 && y0 <= by1 {
101193  		(*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FeWithin = PARTLY_WITHIN
101194  	} else {
101195  		(*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FeWithin = NOT_WITHIN
101196  	}
101197  	return SQLITE_OK
101198  }
101199  
101200  type Cube1 = struct {
101201  	Fx      float64
101202  	Fy      float64
101203  	Fz      float64
101204  	Fwidth  float64
101205  	Fheight float64
101206  	Fdepth  float64
101207  }
101208  
101209  type Cube = Cube1
101210  
101211  func cube_context_free(tls *libc.TLS, p uintptr) {
101212  	sqlite3.Xsqlite3_free(tls, p)
101213  }
101214  
101215  var gHere int32 = 42
101216  
101217  func cube_geom(tls *libc.TLS, p uintptr, nCoord int32, aCoord uintptr, piRes uintptr) int32 {
101218  	var pCube uintptr = (*sqlite3_rtree_geometry)(unsafe.Pointer(p)).FpUser
101219  
101220  	if pCube == uintptr(0) {
101221  		if (*sqlite3_rtree_geometry)(unsafe.Pointer(p)).FnParam != 6 || nCoord != 6 ||
101222  			*(*sqlite3_rtree_dbl)(unsafe.Pointer((*sqlite3_rtree_geometry)(unsafe.Pointer(p)).FaParam + 3*8)) <= 0.0 || *(*sqlite3_rtree_dbl)(unsafe.Pointer((*sqlite3_rtree_geometry)(unsafe.Pointer(p)).FaParam + 4*8)) <= 0.0 || *(*sqlite3_rtree_dbl)(unsafe.Pointer((*sqlite3_rtree_geometry)(unsafe.Pointer(p)).FaParam + 5*8)) <= 0.0 {
101223  			return SQLITE_ERROR
101224  		}
101225  		pCube = sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Cube{})))
101226  		if !(pCube != 0) {
101227  			return SQLITE_NOMEM
101228  		}
101229  		(*Cube)(unsafe.Pointer(pCube)).Fx = *(*sqlite3_rtree_dbl)(unsafe.Pointer((*sqlite3_rtree_geometry)(unsafe.Pointer(p)).FaParam))
101230  		(*Cube)(unsafe.Pointer(pCube)).Fy = *(*sqlite3_rtree_dbl)(unsafe.Pointer((*sqlite3_rtree_geometry)(unsafe.Pointer(p)).FaParam + 1*8))
101231  		(*Cube)(unsafe.Pointer(pCube)).Fz = *(*sqlite3_rtree_dbl)(unsafe.Pointer((*sqlite3_rtree_geometry)(unsafe.Pointer(p)).FaParam + 2*8))
101232  		(*Cube)(unsafe.Pointer(pCube)).Fwidth = *(*sqlite3_rtree_dbl)(unsafe.Pointer((*sqlite3_rtree_geometry)(unsafe.Pointer(p)).FaParam + 3*8))
101233  		(*Cube)(unsafe.Pointer(pCube)).Fheight = *(*sqlite3_rtree_dbl)(unsafe.Pointer((*sqlite3_rtree_geometry)(unsafe.Pointer(p)).FaParam + 4*8))
101234  		(*Cube)(unsafe.Pointer(pCube)).Fdepth = *(*sqlite3_rtree_dbl)(unsafe.Pointer((*sqlite3_rtree_geometry)(unsafe.Pointer(p)).FaParam + 5*8))
101235  
101236  		(*sqlite3_rtree_geometry)(unsafe.Pointer(p)).FpUser = pCube
101237  		(*sqlite3_rtree_geometry)(unsafe.Pointer(p)).FxDelUser = *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{cube_context_free}))
101238  	}
101239  
101240  	*(*int32)(unsafe.Pointer(piRes)) = 0
101241  	if *(*sqlite3_rtree_dbl)(unsafe.Pointer(aCoord)) <= (*Cube)(unsafe.Pointer(pCube)).Fx+(*Cube)(unsafe.Pointer(pCube)).Fwidth &&
101242  		*(*sqlite3_rtree_dbl)(unsafe.Pointer(aCoord + 1*8)) >= (*Cube)(unsafe.Pointer(pCube)).Fx &&
101243  		*(*sqlite3_rtree_dbl)(unsafe.Pointer(aCoord + 2*8)) <= (*Cube)(unsafe.Pointer(pCube)).Fy+(*Cube)(unsafe.Pointer(pCube)).Fheight &&
101244  		*(*sqlite3_rtree_dbl)(unsafe.Pointer(aCoord + 3*8)) >= (*Cube)(unsafe.Pointer(pCube)).Fy &&
101245  		*(*sqlite3_rtree_dbl)(unsafe.Pointer(aCoord + 4*8)) <= (*Cube)(unsafe.Pointer(pCube)).Fz+(*Cube)(unsafe.Pointer(pCube)).Fdepth &&
101246  		*(*sqlite3_rtree_dbl)(unsafe.Pointer(aCoord + 5*8)) >= (*Cube)(unsafe.Pointer(pCube)).Fz {
101247  		*(*int32)(unsafe.Pointer(piRes)) = 1
101248  	}
101249  
101250  	return SQLITE_OK
101251  }
101252  
101253  func register_cube_geom(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
101254  	bp := tls.Alloc(8)
101255  	defer tls.Free(8)
101256  
101257  	var rc int32
101258  
101259  	if objc != 2 {
101260  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+2050)
101261  		return TCL_ERROR
101262  	}
101263  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp) != 0 {
101264  		return TCL_ERROR
101265  	}
101266  	rc = sqlite3.Xsqlite3_rtree_geometry_callback(tls, *(*uintptr)(unsafe.Pointer(bp)), ts+36354, *(*uintptr)(unsafe.Pointer(&struct {
101267  		f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32
101268  	}{cube_geom})), uintptr(unsafe.Pointer(&gHere)))
101269  	tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0))
101270  	return TCL_OK
101271  }
101272  
101273  func register_circle_geom(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
101274  	bp := tls.Alloc(8)
101275  	defer tls.Free(8)
101276  
101277  	var rc int32
101278  
101279  	if objc != 2 {
101280  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+2050)
101281  		return TCL_ERROR
101282  	}
101283  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp) != 0 {
101284  		return TCL_ERROR
101285  	}
101286  	rc = sqlite3.Xsqlite3_rtree_geometry_callback(tls, *(*uintptr)(unsafe.Pointer(bp)), ts+36359, *(*uintptr)(unsafe.Pointer(&struct {
101287  		f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32
101288  	}{circle_geom})), uintptr(0))
101289  	if rc == SQLITE_OK {
101290  		rc = sqlite3.Xsqlite3_rtree_query_callback(tls, *(*uintptr)(unsafe.Pointer(bp)), ts+36366,
101291  			*(*uintptr)(unsafe.Pointer(&struct {
101292  				f func(*libc.TLS, uintptr) int32
101293  			}{circle_query_func})), uintptr(0), uintptr(0))
101294  	}
101295  	if rc == SQLITE_OK {
101296  		rc = sqlite3.Xsqlite3_rtree_query_callback(tls, *(*uintptr)(unsafe.Pointer(bp)), ts+36374,
101297  			*(*uintptr)(unsafe.Pointer(&struct {
101298  				f func(*libc.TLS, uintptr) int32
101299  			}{bfs_query_func})), uintptr(0), uintptr(0))
101300  	}
101301  	tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0))
101302  	return TCL_OK
101303  }
101304  
101305  func Sqlitetestrtree_Init(tls *libc.TLS, interp uintptr) int32 {
101306  	tcl.XTcl_CreateObjCommand(tls, interp, ts+36393, *(*uintptr)(unsafe.Pointer(&struct {
101307  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
101308  	}{register_cube_geom})), uintptr(0), uintptr(0))
101309  	tcl.XTcl_CreateObjCommand(tls, interp, ts+36412, *(*uintptr)(unsafe.Pointer(&struct {
101310  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
101311  	}{register_circle_geom})), uintptr(0), uintptr(0))
101312  	return TCL_OK
101313  }
101314  
101315  type schema_vtab1 = struct {
101316  	Fbase sqlite3_vtab
101317  	Fdb   uintptr
101318  }
101319  
101320  type schema_vtab = schema_vtab1
101321  type schema_cursor1 = struct {
101322  	Fbase        sqlite3_vtab_cursor
101323  	FpDbList     uintptr
101324  	FpTableList  uintptr
101325  	FpColumnList uintptr
101326  	Frowid       int32
101327  	F__ccgo_pad1 [4]byte
101328  }
101329  
101330  type schema_cursor = schema_cursor1
101331  
101332  func schemaDestroy(tls *libc.TLS, pVtab uintptr) int32 {
101333  	sqlite3.Xsqlite3_free(tls, pVtab)
101334  	return 0
101335  }
101336  
101337  func schemaCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 {
101338  	var rc int32 = SQLITE_NOMEM
101339  	var pVtab uintptr = sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(schema_vtab{})))
101340  	if pVtab != 0 {
101341  		libc.Xmemset(tls, pVtab, 0, uint64(unsafe.Sizeof(schema_vtab{})))
101342  		(*schema_vtab)(unsafe.Pointer(pVtab)).Fdb = db
101343  		rc = sqlite3.Xsqlite3_declare_vtab(tls, db, ts+36433)
101344  	}
101345  	*(*uintptr)(unsafe.Pointer(ppVtab)) = pVtab
101346  	return rc
101347  }
101348  
101349  func schemaOpen(tls *libc.TLS, pVTab uintptr, ppCursor uintptr) int32 {
101350  	var rc int32 = SQLITE_NOMEM
101351  	var pCur uintptr
101352  	pCur = sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(schema_cursor{})))
101353  	if pCur != 0 {
101354  		libc.Xmemset(tls, pCur, 0, uint64(unsafe.Sizeof(schema_cursor{})))
101355  		*(*uintptr)(unsafe.Pointer(ppCursor)) = pCur
101356  		rc = SQLITE_OK
101357  	}
101358  	return rc
101359  }
101360  
101361  func schemaClose(tls *libc.TLS, cur uintptr) int32 {
101362  	var pCur uintptr = cur
101363  	sqlite3.Xsqlite3_finalize(tls, (*schema_cursor)(unsafe.Pointer(pCur)).FpDbList)
101364  	sqlite3.Xsqlite3_finalize(tls, (*schema_cursor)(unsafe.Pointer(pCur)).FpTableList)
101365  	sqlite3.Xsqlite3_finalize(tls, (*schema_cursor)(unsafe.Pointer(pCur)).FpColumnList)
101366  	sqlite3.Xsqlite3_free(tls, pCur)
101367  	return SQLITE_OK
101368  }
101369  
101370  func schemaColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 {
101371  	var pCur uintptr = cur
101372  	switch i {
101373  	case 0:
101374  		sqlite3.Xsqlite3_result_value(tls, ctx, sqlite3.Xsqlite3_column_value(tls, (*schema_cursor)(unsafe.Pointer(pCur)).FpDbList, 1))
101375  		break
101376  	case 1:
101377  		sqlite3.Xsqlite3_result_value(tls, ctx, sqlite3.Xsqlite3_column_value(tls, (*schema_cursor)(unsafe.Pointer(pCur)).FpTableList, 0))
101378  		break
101379  	default:
101380  		sqlite3.Xsqlite3_result_value(tls, ctx, sqlite3.Xsqlite3_column_value(tls, (*schema_cursor)(unsafe.Pointer(pCur)).FpColumnList, i-2))
101381  		break
101382  	}
101383  	return SQLITE_OK
101384  }
101385  
101386  func schemaRowid(tls *libc.TLS, cur uintptr, pRowid uintptr) int32 {
101387  	var pCur uintptr = cur
101388  	*(*sqlite_int64)(unsafe.Pointer(pRowid)) = sqlite_int64((*schema_cursor)(unsafe.Pointer(pCur)).Frowid)
101389  	return SQLITE_OK
101390  }
101391  
101392  func finalize(tls *libc.TLS, ppStmt uintptr) int32 {
101393  	var rc int32 = sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(ppStmt)))
101394  	*(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0)
101395  	return rc
101396  }
101397  
101398  func schemaEof(tls *libc.TLS, cur uintptr) int32 {
101399  	var pCur uintptr = cur
101400  	return func() int32 {
101401  		if (*schema_cursor)(unsafe.Pointer(pCur)).FpDbList != 0 {
101402  			return 0
101403  		}
101404  		return 1
101405  	}()
101406  }
101407  
101408  func schemaNext(tls *libc.TLS, cur uintptr) int32 {
101409  	bp := tls.Alloc(24)
101410  	defer tls.Free(24)
101411  
101412  	var rc int32
101413  	var pCur uintptr
101414  	var pVtab uintptr
101415  	var zSql uintptr
101416  	var pDbList uintptr
101417  	rc = SQLITE_OK
101418  	pCur = cur
101419  	pVtab = (*sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab
101420  	zSql = uintptr(0)
101421  
101422  __1:
101423  	if !(!(int32((*schema_cursor)(unsafe.Pointer(pCur)).FpColumnList) != 0) || SQLITE_ROW != sqlite3.Xsqlite3_step(tls, (*schema_cursor)(unsafe.Pointer(pCur)).FpColumnList)) {
101424  		goto __2
101425  	}
101426  	if !(SQLITE_OK != libc.AssignInt32(&rc, finalize(tls, pCur+24))) {
101427  		goto __3
101428  	}
101429  	goto next_exit
101430  __3:
101431  	;
101432  __4:
101433  	if !(!(int32((*schema_cursor)(unsafe.Pointer(pCur)).FpTableList) != 0) || SQLITE_ROW != sqlite3.Xsqlite3_step(tls, (*schema_cursor)(unsafe.Pointer(pCur)).FpTableList)) {
101434  		goto __5
101435  	}
101436  	if !(SQLITE_OK != libc.AssignInt32(&rc, finalize(tls, pCur+16))) {
101437  		goto __6
101438  	}
101439  	goto next_exit
101440  __6:
101441  	;
101442  __7:
101443  	if !(SQLITE_ROW != sqlite3.Xsqlite3_step(tls, (*schema_cursor)(unsafe.Pointer(pCur)).FpDbList)) {
101444  		goto __8
101445  	}
101446  	rc = finalize(tls, pCur+8)
101447  	goto next_exit
101448  	goto __7
101449  __8:
101450  	;
101451  	if !(sqlite3.Xsqlite3_column_int(tls, (*schema_cursor)(unsafe.Pointer(pCur)).FpDbList, 0) == 1) {
101452  		goto __9
101453  	}
101454  	zSql = sqlite3.Xsqlite3_mprintf(tls,
101455  		ts+36505, 0)
101456  	goto __10
101457  __9:
101458  	pDbList = (*schema_cursor)(unsafe.Pointer(pCur)).FpDbList
101459  	zSql = sqlite3.Xsqlite3_mprintf(tls,
101460  		ts+36560,
101461  		libc.VaList(bp, sqlite3.Xsqlite3_column_text(tls, pDbList, 1)))
101462  __10:
101463  	;
101464  	if !!(zSql != 0) {
101465  		goto __11
101466  	}
101467  	rc = SQLITE_NOMEM
101468  	goto next_exit
101469  __11:
101470  	;
101471  	rc = sqlite3.Xsqlite3_prepare(tls, (*schema_vtab)(unsafe.Pointer(pVtab)).Fdb, zSql, -1, pCur+16, uintptr(0))
101472  	sqlite3.Xsqlite3_free(tls, zSql)
101473  	if !(rc != SQLITE_OK) {
101474  		goto __12
101475  	}
101476  	goto next_exit
101477  __12:
101478  	;
101479  	goto __4
101480  __5:
101481  	;
101482  	zSql = sqlite3.Xsqlite3_mprintf(tls, ts+36613,
101483  		libc.VaList(bp+8, sqlite3.Xsqlite3_column_text(tls, (*schema_cursor)(unsafe.Pointer(pCur)).FpDbList, 1),
101484  			sqlite3.Xsqlite3_column_text(tls, (*schema_cursor)(unsafe.Pointer(pCur)).FpTableList, 0)))
101485  
101486  	if !!(zSql != 0) {
101487  		goto __13
101488  	}
101489  	rc = SQLITE_NOMEM
101490  	goto next_exit
101491  __13:
101492  	;
101493  	rc = sqlite3.Xsqlite3_prepare(tls, (*schema_vtab)(unsafe.Pointer(pVtab)).Fdb, zSql, -1, pCur+24, uintptr(0))
101494  	sqlite3.Xsqlite3_free(tls, zSql)
101495  	if !(rc != SQLITE_OK) {
101496  		goto __14
101497  	}
101498  	goto next_exit
101499  __14:
101500  	;
101501  	goto __1
101502  __2:
101503  	;
101504  	(*schema_cursor)(unsafe.Pointer(pCur)).Frowid++
101505  
101506  next_exit:
101507  	return rc
101508  }
101509  
101510  func schemaFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 {
101511  	var rc int32
101512  	var pVtab uintptr = (*sqlite3_vtab_cursor)(unsafe.Pointer(pVtabCursor)).FpVtab
101513  	var pCur uintptr = pVtabCursor
101514  	(*schema_cursor)(unsafe.Pointer(pCur)).Frowid = 0
101515  	finalize(tls, pCur+16)
101516  	finalize(tls, pCur+24)
101517  	finalize(tls, pCur+8)
101518  	rc = sqlite3.Xsqlite3_prepare(tls, (*schema_vtab)(unsafe.Pointer(pVtab)).Fdb, ts+36638, -1, pCur+8, uintptr(0))
101519  	return func() int32 {
101520  		if rc == SQLITE_OK {
101521  			return schemaNext(tls, pVtabCursor)
101522  		}
101523  		return rc
101524  	}()
101525  }
101526  
101527  func schemaBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 {
101528  	return SQLITE_OK
101529  }
101530  
101531  var schemaModule = sqlite3_module{
101532  	FxCreate:     0,
101533  	FxConnect:    0,
101534  	FxBestIndex:  0,
101535  	FxDisconnect: 0,
101536  	FxDestroy:    0,
101537  	FxOpen:       0,
101538  	FxClose:      0,
101539  	FxFilter:     0,
101540  	FxNext:       0,
101541  	FxEof:        0,
101542  	FxColumn:     0,
101543  	FxRowid:      0,
101544  }
101545  
101546  func register_schema_module(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
101547  	bp := tls.Alloc(8)
101548  	defer tls.Free(8)
101549  
101550  	if objc != 2 {
101551  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+2050)
101552  		return TCL_ERROR
101553  	}
101554  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp) != 0 {
101555  		return TCL_ERROR
101556  	}
101557  	sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp)), ts+4808, uintptr(unsafe.Pointer(&schemaModule)), uintptr(0))
101558  	return TCL_OK
101559  }
101560  
101561  func Sqlitetestschema_Init(tls *libc.TLS, interp uintptr) int32 {
101562  	var i int32
101563  	for i = 0; uint64(i) < uint64(unsafe.Sizeof(aObjCmd12))/uint64(unsafe.Sizeof(struct {
101564  		FzName      uintptr
101565  		FxProc      uintptr
101566  		FclientData uintptr
101567  	}{})); i++ {
101568  		tcl.XTcl_CreateObjCommand(tls, interp, aObjCmd12[i].FzName,
101569  			aObjCmd12[i].FxProc, aObjCmd12[i].FclientData, uintptr(0))
101570  	}
101571  	return TCL_OK
101572  }
101573  
101574  var aObjCmd12 = [1]struct {
101575  	FzName      uintptr
101576  	FxProc      uintptr
101577  	FclientData uintptr
101578  }{
101579  	{FzName: ts + 36659, FxProc: 0},
101580  }
101581  
101582  type SuperlockBusy1 = struct {
101583  	FxBusy       uintptr
101584  	FpBusyArg    uintptr
101585  	FnBusy       int32
101586  	F__ccgo_pad1 [4]byte
101587  }
101588  
101589  type SuperlockBusy = SuperlockBusy1
101590  
101591  type Superlock1 = struct {
101592  	Fdb          uintptr
101593  	FbWal        int32
101594  	F__ccgo_pad1 [4]byte
101595  }
101596  
101597  type Superlock = Superlock1
101598  
101599  func superlockBusyHandler(tls *libc.TLS, pCtx uintptr, UNUSED int32) int32 {
101600  	var pBusy uintptr = pCtx
101601  	if (*SuperlockBusy)(unsafe.Pointer(pBusy)).FxBusy == uintptr(0) {
101602  		return 0
101603  	}
101604  	return (*struct {
101605  		f func(*libc.TLS, uintptr, int32) int32
101606  	})(unsafe.Pointer(&struct{ uintptr }{(*SuperlockBusy)(unsafe.Pointer(pBusy)).FxBusy})).f(tls, (*SuperlockBusy)(unsafe.Pointer(pBusy)).FpBusyArg, libc.PostIncInt32(&(*SuperlockBusy)(unsafe.Pointer(pBusy)).FnBusy, 1))
101607  }
101608  
101609  func superlockIsWal(tls *libc.TLS, pLock uintptr) int32 {
101610  	bp := tls.Alloc(8)
101611  	defer tls.Free(8)
101612  
101613  	var rc int32
101614  
101615  	rc = sqlite3.Xsqlite3_prepare(tls, (*Superlock)(unsafe.Pointer(pLock)).Fdb, ts+36682, -1, bp, uintptr(0))
101616  	if rc != SQLITE_OK {
101617  		return rc
101618  	}
101619  
101620  	(*Superlock)(unsafe.Pointer(pLock)).FbWal = 0
101621  	if SQLITE_ROW == sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp))) {
101622  		var zMode uintptr = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp)), 0)
101623  		if zMode != 0 && libc.Xstrlen(tls, zMode) == uint64(3) && sqlite3.Xsqlite3_strnicmp(tls, ts+29650, zMode, 3) == 0 {
101624  			(*Superlock)(unsafe.Pointer(pLock)).FbWal = 1
101625  		}
101626  	}
101627  
101628  	return sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp)))
101629  }
101630  
101631  func superlockShmLock(tls *libc.TLS, fd uintptr, idx int32, nByte int32, pBusy uintptr) int32 {
101632  	var rc int32
101633  	var xShmLock uintptr = (*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(fd)).FpMethods)).FxShmLock
101634  	for __ccgo := true; __ccgo; __ccgo = rc == SQLITE_BUSY && superlockBusyHandler(tls, pBusy, 0) != 0 {
101635  		rc = (*struct {
101636  			f func(*libc.TLS, uintptr, int32, int32, int32) int32
101637  		})(unsafe.Pointer(&struct{ uintptr }{xShmLock})).f(tls, fd, idx, nByte, SQLITE_SHM_LOCK|SQLITE_SHM_EXCLUSIVE)
101638  	}
101639  	return rc
101640  }
101641  
101642  func superlockWalLock(tls *libc.TLS, db uintptr, pBusy uintptr) int32 {
101643  	bp := tls.Alloc(16)
101644  	defer tls.Free(16)
101645  
101646  	var rc int32
101647  	*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
101648  	*(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0)
101649  
101650  	rc = sqlite3.Xsqlite3_file_control(tls, db, ts+85, SQLITE_FCNTL_FILE_POINTER, bp)
101651  	if rc != SQLITE_OK {
101652  		return rc
101653  	}
101654  
101655  	rc = superlockShmLock(tls, *(*uintptr)(unsafe.Pointer(bp)), 2, 1, pBusy)
101656  	if rc != SQLITE_OK {
101657  		return rc
101658  	}
101659  
101660  	rc = (*struct {
101661  		f func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32
101662  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpMethods)).FxShmMap})).f(tls, *(*uintptr)(unsafe.Pointer(bp)), 0, 32*1024, 1, bp+8)
101663  	if rc != SQLITE_OK {
101664  		return rc
101665  	}
101666  	libc.Xmemset(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), 0, uint64(32))
101667  
101668  	rc = superlockShmLock(tls, *(*uintptr)(unsafe.Pointer(bp)), 3, SQLITE_SHM_NLOCK-3, pBusy)
101669  	return rc
101670  }
101671  
101672  func sqlite3demo_superunlock(tls *libc.TLS, pLock uintptr) {
101673  	bp := tls.Alloc(8)
101674  	defer tls.Free(8)
101675  
101676  	var p uintptr = pLock
101677  	if (*Superlock)(unsafe.Pointer(p)).FbWal != 0 {
101678  		var rc int32
101679  		var flags int32 = SQLITE_SHM_UNLOCK | SQLITE_SHM_EXCLUSIVE
101680  		*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
101681  		rc = sqlite3.Xsqlite3_file_control(tls, (*Superlock)(unsafe.Pointer(p)).Fdb, ts+85, SQLITE_FCNTL_FILE_POINTER, bp)
101682  		if rc == SQLITE_OK {
101683  			(*struct {
101684  				f func(*libc.TLS, uintptr, int32, int32, int32) int32
101685  			})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpMethods)).FxShmLock})).f(tls, *(*uintptr)(unsafe.Pointer(bp)), 2, 1, flags)
101686  			(*struct {
101687  				f func(*libc.TLS, uintptr, int32, int32, int32) int32
101688  			})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).FpMethods)).FxShmLock})).f(tls, *(*uintptr)(unsafe.Pointer(bp)), 3, SQLITE_SHM_NLOCK-3, flags)
101689  		}
101690  	}
101691  	sqlite3.Xsqlite3_close(tls, (*Superlock)(unsafe.Pointer(p)).Fdb)
101692  	sqlite3.Xsqlite3_free(tls, p)
101693  }
101694  
101695  func sqlite3demo_superlock(tls *libc.TLS, zPath uintptr, zVfs uintptr, xBusy uintptr, pBusyArg uintptr, ppLock uintptr) int32 {
101696  	bp := tls.Alloc(24)
101697  	defer tls.Free(24)
101698  
101699  	*(*SuperlockBusy)(unsafe.Pointer(bp)) = SuperlockBusy{}
101700  	var rc int32
101701  	var pLock uintptr
101702  
101703  	pLock = sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Superlock{})))
101704  	if !(pLock != 0) {
101705  		return SQLITE_NOMEM
101706  	}
101707  	libc.Xmemset(tls, pLock, 0, uint64(unsafe.Sizeof(Superlock{})))
101708  
101709  	rc = sqlite3.Xsqlite3_open_v2(tls,
101710  		zPath, pLock, SQLITE_OPEN_READWRITE|SQLITE_OPEN_CREATE, zVfs)
101711  
101712  	if rc == SQLITE_OK {
101713  		(*SuperlockBusy)(unsafe.Pointer(bp)).FxBusy = xBusy
101714  		(*SuperlockBusy)(unsafe.Pointer(bp)).FpBusyArg = pBusyArg
101715  		sqlite3.Xsqlite3_busy_handler(tls, (*Superlock)(unsafe.Pointer(pLock)).Fdb, *(*uintptr)(unsafe.Pointer(&struct {
101716  			f func(*libc.TLS, uintptr, int32) int32
101717  		}{superlockBusyHandler})), bp)
101718  		rc = sqlite3.Xsqlite3_exec(tls, (*Superlock)(unsafe.Pointer(pLock)).Fdb, ts+13217, uintptr(0), uintptr(0), uintptr(0))
101719  	}
101720  
101721  	if rc == SQLITE_OK {
101722  		if SQLITE_OK == libc.AssignInt32(&rc, superlockIsWal(tls, pLock)) && (*Superlock)(unsafe.Pointer(pLock)).FbWal != 0 {
101723  			rc = sqlite3.Xsqlite3_exec(tls, (*Superlock)(unsafe.Pointer(pLock)).Fdb, ts+11628, uintptr(0), uintptr(0), uintptr(0))
101724  			if rc == SQLITE_OK {
101725  				rc = superlockWalLock(tls, (*Superlock)(unsafe.Pointer(pLock)).Fdb, bp)
101726  			}
101727  		}
101728  	}
101729  
101730  	if rc != SQLITE_OK {
101731  		sqlite3demo_superunlock(tls, pLock)
101732  		*(*uintptr)(unsafe.Pointer(ppLock)) = uintptr(0)
101733  	} else {
101734  		*(*uintptr)(unsafe.Pointer(ppLock)) = pLock
101735  	}
101736  
101737  	return rc
101738  }
101739  
101740  type InterpAndScript1 = struct {
101741  	Finterp  uintptr
101742  	FpScript uintptr
101743  }
101744  
101745  type InterpAndScript = InterpAndScript1
101746  
101747  func superunlock_del(tls *libc.TLS, cd ClientData) {
101748  	sqlite3demo_superunlock(tls, cd)
101749  }
101750  
101751  func superunlock_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, objv uintptr) int32 {
101752  	if objc != 1 {
101753  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+584)
101754  		return TCL_ERROR
101755  	}
101756  	tcl.XTcl_DeleteCommand(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))))
101757  	return TCL_OK
101758  }
101759  
101760  func superlock_busy(tls *libc.TLS, pCtx uintptr, nBusy int32) int32 {
101761  	bp := tls.Alloc(4)
101762  	defer tls.Free(4)
101763  
101764  	var p uintptr = pCtx
101765  	var pEval uintptr
101766  	*(*int32)(unsafe.Pointer(bp)) = 0
101767  
101768  	pEval = tcl.XTcl_DuplicateObj(tls, (*InterpAndScript)(unsafe.Pointer(p)).FpScript)
101769  	(*Tcl_Obj)(unsafe.Pointer(pEval)).FrefCount++
101770  	tcl.XTcl_ListObjAppendElement(tls, (*InterpAndScript)(unsafe.Pointer(p)).Finterp, pEval, tcl.XTcl_NewIntObj(tls, nBusy))
101771  	tcl.XTcl_EvalObjEx(tls, (*InterpAndScript)(unsafe.Pointer(p)).Finterp, pEval, TCL_EVAL_GLOBAL)
101772  	tcl.XTcl_GetIntFromObj(tls, (*InterpAndScript)(unsafe.Pointer(p)).Finterp, tcl.XTcl_GetObjResult(tls, (*InterpAndScript)(unsafe.Pointer(p)).Finterp), bp)
101773  	for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
101774  		var _objPtr uintptr = pEval
101775  		if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
101776  			tcl.XTclFreeObj(tls, _objPtr)
101777  		}
101778  	}
101779  
101780  	return *(*int32)(unsafe.Pointer(bp))
101781  }
101782  
101783  func superlock_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, objv uintptr) int32 {
101784  	bp := tls.Alloc(40)
101785  	defer tls.Free(40)
101786  
101787  	var zPath uintptr
101788  	var zVfs uintptr = uintptr(0)
101789  	*(*InterpAndScript)(unsafe.Pointer(bp + 16)) = InterpAndScript{}
101790  	var xBusy uintptr = uintptr(0)
101791  	var rc int32
101792  
101793  	if objc < 3 || objc > 5 {
101794  		tcl.XTcl_WrongNumArgs(tls,
101795  			interp, 1, objv, ts+36707)
101796  		return TCL_ERROR
101797  	}
101798  
101799  	zPath = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
101800  
101801  	if objc > 3 {
101802  		zVfs = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)))
101803  		if libc.Xstrlen(tls, zVfs) == uint64(0) {
101804  			zVfs = uintptr(0)
101805  		}
101806  	}
101807  	if objc > 4 {
101808  		(*InterpAndScript)(unsafe.Pointer(bp + 16)).Finterp = interp
101809  		(*InterpAndScript)(unsafe.Pointer(bp + 16)).FpScript = *(*uintptr)(unsafe.Pointer(objv + 4*8))
101810  		xBusy = *(*uintptr)(unsafe.Pointer(&struct {
101811  			f func(*libc.TLS, uintptr, int32) int32
101812  		}{superlock_busy}))
101813  	}
101814  
101815  	rc = sqlite3demo_superlock(tls, zPath, zVfs, xBusy, bp+16, bp+32)
101816  
101817  	if rc != SQLITE_OK {
101818  		tcl.XTcl_ResetResult(tls, interp)
101819  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, sqlite3.Xsqlite3ErrStr(tls, rc), 0))
101820  		return TCL_ERROR
101821  	}
101822  
101823  	tcl.XTcl_CreateObjCommand(tls,
101824  		interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), *(*uintptr)(unsafe.Pointer(&struct {
101825  			f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32
101826  		}{superunlock_cmd})), *(*uintptr)(unsafe.Pointer(bp + 32)), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, ClientData) }{superunlock_del})))
101827  	tcl.XTcl_SetObjResult(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)))
101828  	return TCL_OK
101829  }
101830  
101831  func SqliteSuperlock_Init(tls *libc.TLS, interp uintptr) int32 {
101832  	tcl.XTcl_CreateObjCommand(tls, interp, ts+36748, *(*uintptr)(unsafe.Pointer(&struct {
101833  		f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32
101834  	}{superlock_cmd})), uintptr(0), uintptr(0))
101835  	return TCL_OK
101836  }
101837  
101838  func SqlitetestSyscall_Init(tls *libc.TLS, interp uintptr) int32 {
101839  	return TCL_OK
101840  }
101841  
101842  func sqlite3TestInit(tls *libc.TLS, interp uintptr) uintptr {
101843  	bp := tls.Alloc(64)
101844  	defer tls.Free(64)
101845  
101846  	if tcl.XTcl_GetCommandInfo(tls, interp, ts+14267, bp) == 0 {
101847  		Sqlite3_Init(tls, interp)
101848  	}
101849  	Md5_Init(tls, interp)
101850  	Sqliteconfig_Init(tls, interp)
101851  	Sqlitetest1_Init(tls, interp)
101852  	Sqlitetest2_Init(tls, interp)
101853  	Sqlitetest3_Init(tls, interp)
101854  	Sqlitetest4_Init(tls, interp)
101855  	Sqlitetest5_Init(tls, interp)
101856  	Sqlitetest6_Init(tls, interp)
101857  	Sqlitetest7_Init(tls, interp)
101858  	Sqlitetest8_Init(tls, interp)
101859  	Sqlitetest9_Init(tls, interp)
101860  	Sqlitetestasync_Init(tls, interp)
101861  	Sqlitetest_autoext_Init(tls, interp)
101862  	Sqlitetest_blob_Init(tls, interp)
101863  	Sqlitetest_demovfs_Init(tls, interp)
101864  	Sqlitetest_func_Init(tls, interp)
101865  	Sqlitetest_hexio_Init(tls, interp)
101866  	Sqlitetest_init_Init(tls, interp)
101867  	Sqlitetest_malloc_Init(tls, interp)
101868  	Sqlitetest_mutex_Init(tls, interp)
101869  	Sqlitetestschema_Init(tls, interp)
101870  	Sqlitetesttclvar_Init(tls, interp)
101871  	Sqlitetestfs_Init(tls, interp)
101872  	SqlitetestThread_Init(tls, interp)
101873  	SqlitetestOnefile_Init(tls)
101874  	SqlitetestOsinst_Init(tls, interp)
101875  	Sqlitetestbackup_Init(tls, interp)
101876  	Sqlitetestintarray_Init(tls, interp)
101877  	Sqlitetestvfs_Init(tls, interp)
101878  	Sqlitetestrtree_Init(tls, interp)
101879  	Sqlitetestrtreedoc_Init(tls, interp)
101880  	Sqlitequota_Init(tls, interp)
101881  	Sqlitemultiplex_Init(tls, interp)
101882  	SqliteSuperlock_Init(tls, interp)
101883  	SqlitetestSyscall_Init(tls, interp)
101884  	TestSession_Init(tls, interp)
101885  	Fts5tcl_Init(tls, interp)
101886  	SqliteRbu_Init(tls, interp)
101887  	Sqlitetesttcl_Init(tls, interp)
101888  
101889  	TestExpert_Init(tls, interp)
101890  	Sqlitetest_window_Init(tls, interp)
101891  	Sqlitetestvdbecov_Init(tls, interp)
101892  
101893  	tcl.XTcl_CreateObjCommand(tls,
101894  		interp, ts+36770, *(*uintptr)(unsafe.Pointer(&struct {
101895  			f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32
101896  		}{load_testfixture_extensions})), uintptr(0), uintptr(0))
101897  	return uintptr(0)
101898  }
101899  
101900  func load_testfixture_extensions(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, objv uintptr) int32 {
101901  	var slave uintptr
101902  	if objc != 2 {
101903  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+36798)
101904  		return TCL_ERROR
101905  	}
101906  
101907  	slave = tcl.XTcl_GetSlave(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))))
101908  	if !(slave != 0) {
101909  		return TCL_ERROR
101910  	}
101911  
101912  	sqlite3TestInit(tls, slave)
101913  	return TCL_OK
101914  }
101915  
101916  type tclvar_vtab1 = struct {
101917  	Fbase   sqlite3_vtab
101918  	Finterp uintptr
101919  }
101920  
101921  type tclvar_vtab = tclvar_vtab1
101922  type tclvar_cursor1 = struct {
101923  	Fbase   sqlite3_vtab_cursor
101924  	FpList1 uintptr
101925  	FpList2 uintptr
101926  	Fi1     int32
101927  	Fi2     int32
101928  }
101929  
101930  type tclvar_cursor = tclvar_cursor1
101931  
101932  func tclvarConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 {
101933  	var pVtab uintptr
101934  	pVtab = sqlite3.Xsqlite3MallocZero(tls, uint64(unsafe.Sizeof(tclvar_vtab{})))
101935  	if pVtab == uintptr(0) {
101936  		return SQLITE_NOMEM
101937  	}
101938  	*(*uintptr)(unsafe.Pointer(ppVtab)) = pVtab
101939  	(*tclvar_vtab)(unsafe.Pointer(pVtab)).Finterp = pAux
101940  	sqlite3.Xsqlite3_declare_vtab(tls, db, uintptr(unsafe.Pointer(&zSchema)))
101941  	return SQLITE_OK
101942  }
101943  
101944  var zSchema = *(*[100]int8)(unsafe.Pointer(ts + 36804))
101945  
101946  func tclvarDisconnect(tls *libc.TLS, pVtab uintptr) int32 {
101947  	sqlite3.Xsqlite3_free(tls, pVtab)
101948  	return SQLITE_OK
101949  }
101950  
101951  func tclvarOpen(tls *libc.TLS, pVTab uintptr, ppCursor uintptr) int32 {
101952  	var pCur uintptr
101953  	pCur = sqlite3.Xsqlite3MallocZero(tls, uint64(unsafe.Sizeof(tclvar_cursor{})))
101954  	*(*uintptr)(unsafe.Pointer(ppCursor)) = pCur
101955  	return SQLITE_OK
101956  }
101957  
101958  func tclvarClose(tls *libc.TLS, cur uintptr) int32 {
101959  	var pCur uintptr = cur
101960  	if (*tclvar_cursor)(unsafe.Pointer(pCur)).FpList1 != 0 {
101961  		for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
101962  			var _objPtr uintptr = (*tclvar_cursor)(unsafe.Pointer(pCur)).FpList1
101963  			if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
101964  				tcl.XTclFreeObj(tls, _objPtr)
101965  			}
101966  		}
101967  	}
101968  	if (*tclvar_cursor)(unsafe.Pointer(pCur)).FpList2 != 0 {
101969  		for __ccgo1 := true; __ccgo1; __ccgo1 = 0 != 0 {
101970  			var _objPtr uintptr = (*tclvar_cursor)(unsafe.Pointer(pCur)).FpList2
101971  			if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
101972  				tcl.XTclFreeObj(tls, _objPtr)
101973  			}
101974  		}
101975  	}
101976  	sqlite3.Xsqlite3_free(tls, pCur)
101977  	return SQLITE_OK
101978  }
101979  
101980  func next2(tls *libc.TLS, interp uintptr, pCur uintptr, pObj uintptr) int32 {
101981  	bp := tls.Alloc(4)
101982  	defer tls.Free(4)
101983  
101984  	var p uintptr
101985  
101986  	if pObj != 0 {
101987  		if !(int32((*tclvar_cursor)(unsafe.Pointer(pCur)).FpList2) != 0) {
101988  			p = tcl.XTcl_NewStringObj(tls, ts+36904, -1)
101989  			(*Tcl_Obj)(unsafe.Pointer(p)).FrefCount++
101990  			tcl.XTcl_ListObjAppendElement(tls, uintptr(0), p, pObj)
101991  			tcl.XTcl_EvalObjEx(tls, interp, p, TCL_EVAL_GLOBAL)
101992  			for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
101993  				var _objPtr uintptr = p
101994  				if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
101995  					tcl.XTclFreeObj(tls, _objPtr)
101996  				}
101997  			}
101998  			(*tclvar_cursor)(unsafe.Pointer(pCur)).FpList2 = tcl.XTcl_GetObjResult(tls, interp)
101999  			(*Tcl_Obj)(unsafe.Pointer((*tclvar_cursor)(unsafe.Pointer(pCur)).FpList2)).FrefCount++
102000  
102001  		} else {
102002  			*(*int32)(unsafe.Pointer(bp)) = 0
102003  			(*tclvar_cursor)(unsafe.Pointer(pCur)).Fi2++
102004  			tcl.XTcl_ListObjLength(tls, uintptr(0), (*tclvar_cursor)(unsafe.Pointer(pCur)).FpList2, bp)
102005  			if (*tclvar_cursor)(unsafe.Pointer(pCur)).Fi2 >= *(*int32)(unsafe.Pointer(bp)) {
102006  				for __ccgo1 := true; __ccgo1; __ccgo1 = 0 != 0 {
102007  					var _objPtr uintptr = (*tclvar_cursor)(unsafe.Pointer(pCur)).FpList2
102008  					if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
102009  						tcl.XTclFreeObj(tls, _objPtr)
102010  					}
102011  				}
102012  				(*tclvar_cursor)(unsafe.Pointer(pCur)).FpList2 = uintptr(0)
102013  				(*tclvar_cursor)(unsafe.Pointer(pCur)).Fi2 = 0
102014  				return 0
102015  			}
102016  		}
102017  	}
102018  
102019  	return 1
102020  }
102021  
102022  func tclvarNext(tls *libc.TLS, cur uintptr) int32 {
102023  	bp := tls.Alloc(16)
102024  	defer tls.Free(16)
102025  
102026  	*(*int32)(unsafe.Pointer(bp)) = 0
102027  	var ok int32 = 0
102028  
102029  	var pCur uintptr = cur
102030  	var interp uintptr = (*tclvar_vtab)(unsafe.Pointer((*sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).Finterp
102031  
102032  	tcl.XTcl_ListObjLength(tls, uintptr(0), (*tclvar_cursor)(unsafe.Pointer(pCur)).FpList1, bp)
102033  	for !(ok != 0) && (*tclvar_cursor)(unsafe.Pointer(pCur)).Fi1 < *(*int32)(unsafe.Pointer(bp)) {
102034  		tcl.XTcl_ListObjIndex(tls, uintptr(0), (*tclvar_cursor)(unsafe.Pointer(pCur)).FpList1, (*tclvar_cursor)(unsafe.Pointer(pCur)).Fi1, bp+8)
102035  		ok = next2(tls, interp, pCur, *(*uintptr)(unsafe.Pointer(bp + 8)))
102036  		if !(ok != 0) {
102037  			(*tclvar_cursor)(unsafe.Pointer(pCur)).Fi1++
102038  		}
102039  	}
102040  
102041  	return 0
102042  }
102043  
102044  func tclvarFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 {
102045  	var pCur uintptr = pVtabCursor
102046  	var interp uintptr = (*tclvar_vtab)(unsafe.Pointer((*sqlite3_vtab_cursor)(unsafe.Pointer(pVtabCursor)).FpVtab)).Finterp
102047  	var p uintptr = tcl.XTcl_NewStringObj(tls, ts+36916, -1)
102048  
102049  	var zEq uintptr = ts + 584
102050  	var zMatch uintptr = ts + 584
102051  	var zGlob uintptr = ts + 584
102052  	var zRegexp uintptr = ts + 584
102053  	var zLike uintptr = ts + 584
102054  	var i int32
102055  
102056  	for i = 0; *(*int8)(unsafe.Pointer(idxStr + uintptr(i))) != 0; i++ {
102057  		switch int32(*(*int8)(unsafe.Pointer(idxStr + uintptr(i)))) {
102058  		case 'e':
102059  			zEq = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))
102060  			break
102061  		case 'm':
102062  			zMatch = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))
102063  			break
102064  		case 'g':
102065  			zGlob = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))
102066  			break
102067  		case 'r':
102068  			zRegexp = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))
102069  			break
102070  		case 'l':
102071  			zLike = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))
102072  			break
102073  		default:
102074  		}
102075  	}
102076  
102077  	(*Tcl_Obj)(unsafe.Pointer(p)).FrefCount++
102078  	tcl.XTcl_ListObjAppendElement(tls, uintptr(0), p, tcl.XTcl_NewStringObj(tls, zEq, -1))
102079  	tcl.XTcl_ListObjAppendElement(tls, uintptr(0), p, tcl.XTcl_NewStringObj(tls, zMatch, -1))
102080  	tcl.XTcl_ListObjAppendElement(tls, uintptr(0), p, tcl.XTcl_NewStringObj(tls, zGlob, -1))
102081  	tcl.XTcl_ListObjAppendElement(tls, uintptr(0), p, tcl.XTcl_NewStringObj(tls, zRegexp, -1))
102082  	tcl.XTcl_ListObjAppendElement(tls, uintptr(0), p, tcl.XTcl_NewStringObj(tls, zLike, -1))
102083  
102084  	tcl.XTcl_EvalObjEx(tls, interp, p, TCL_EVAL_GLOBAL)
102085  	if (*tclvar_cursor)(unsafe.Pointer(pCur)).FpList1 != 0 {
102086  		for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
102087  			var _objPtr uintptr = (*tclvar_cursor)(unsafe.Pointer(pCur)).FpList1
102088  			if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
102089  				tcl.XTclFreeObj(tls, _objPtr)
102090  			}
102091  		}
102092  	}
102093  	if (*tclvar_cursor)(unsafe.Pointer(pCur)).FpList2 != 0 {
102094  		for __ccgo1 := true; __ccgo1; __ccgo1 = 0 != 0 {
102095  			var _objPtr uintptr = (*tclvar_cursor)(unsafe.Pointer(pCur)).FpList2
102096  			if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
102097  				tcl.XTclFreeObj(tls, _objPtr)
102098  			}
102099  		}
102100  		(*tclvar_cursor)(unsafe.Pointer(pCur)).FpList2 = uintptr(0)
102101  	}
102102  	(*tclvar_cursor)(unsafe.Pointer(pCur)).Fi1 = 0
102103  	(*tclvar_cursor)(unsafe.Pointer(pCur)).Fi2 = 0
102104  	(*tclvar_cursor)(unsafe.Pointer(pCur)).FpList1 = tcl.XTcl_GetObjResult(tls, interp)
102105  	(*Tcl_Obj)(unsafe.Pointer((*tclvar_cursor)(unsafe.Pointer(pCur)).FpList1)).FrefCount++
102106  
102107  	for __ccgo2 := true; __ccgo2; __ccgo2 = 0 != 0 {
102108  		var _objPtr uintptr = p
102109  		if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
102110  			tcl.XTclFreeObj(tls, _objPtr)
102111  		}
102112  	}
102113  	return tclvarNext(tls, pVtabCursor)
102114  }
102115  
102116  func tclvarColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 {
102117  	bp := tls.Alloc(32)
102118  	defer tls.Free(32)
102119  
102120  	var z1 uintptr
102121  	var z2 uintptr = ts + 584
102122  	var pCur uintptr = cur
102123  	var interp uintptr = (*tclvar_vtab)(unsafe.Pointer((*sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).Finterp
102124  
102125  	tcl.XTcl_ListObjIndex(tls, interp, (*tclvar_cursor)(unsafe.Pointer(pCur)).FpList1, (*tclvar_cursor)(unsafe.Pointer(pCur)).Fi1, bp+16)
102126  	tcl.XTcl_ListObjIndex(tls, interp, (*tclvar_cursor)(unsafe.Pointer(pCur)).FpList2, (*tclvar_cursor)(unsafe.Pointer(pCur)).Fi2, bp+24)
102127  	z1 = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(bp + 16)))
102128  	if *(*uintptr)(unsafe.Pointer(bp + 24)) != 0 {
102129  		z2 = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(bp + 24)))
102130  	}
102131  	switch i {
102132  	case 0:
102133  		{
102134  			sqlite3.Xsqlite3_result_text(tls, ctx, z1, -1, libc.UintptrFromInt32(-1))
102135  			break
102136  
102137  		}
102138  	case 1:
102139  		{
102140  			sqlite3.Xsqlite3_result_text(tls, ctx, z2, -1, libc.UintptrFromInt32(-1))
102141  			break
102142  
102143  		}
102144  	case 2:
102145  		{
102146  			var pVal uintptr = tcl.XTcl_GetVar2Ex(tls, interp, z1, func() uintptr {
102147  				if *(*int8)(unsafe.Pointer(z2)) != 0 {
102148  					return z2
102149  				}
102150  				return uintptr(0)
102151  			}(), TCL_GLOBAL_ONLY)
102152  			sqlite3.Xsqlite3_result_text(tls, ctx, tcl.XTcl_GetString(tls, pVal), -1, libc.UintptrFromInt32(-1))
102153  			break
102154  
102155  		}
102156  	case 3:
102157  		{
102158  			var z3 uintptr
102159  			if *(*uintptr)(unsafe.Pointer(bp + 24)) != 0 {
102160  				z3 = sqlite3.Xsqlite3_mprintf(tls, ts+36934, libc.VaList(bp, z1, z2))
102161  				sqlite3.Xsqlite3_result_text(tls, ctx, z3, -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sqlite3.Xsqlite3_free})))
102162  			} else {
102163  				sqlite3.Xsqlite3_result_text(tls, ctx, z1, -1, libc.UintptrFromInt32(-1))
102164  			}
102165  			break
102166  
102167  		}
102168  	}
102169  	return SQLITE_OK
102170  }
102171  
102172  func tclvarRowid(tls *libc.TLS, cur uintptr, pRowid uintptr) int32 {
102173  	*(*sqlite_int64)(unsafe.Pointer(pRowid)) = int64(0)
102174  	return SQLITE_OK
102175  }
102176  
102177  func tclvarEof(tls *libc.TLS, cur uintptr) int32 {
102178  	var pCur uintptr = cur
102179  	return func() int32 {
102180  		if (*tclvar_cursor)(unsafe.Pointer(pCur)).FpList2 != 0 {
102181  			return 0
102182  		}
102183  		return 1
102184  	}()
102185  }
102186  
102187  func tclvarAddToIdxstr(tls *libc.TLS, zStr uintptr, x int8) int32 {
102188  	var i int32
102189  	for i = 0; *(*int8)(unsafe.Pointer(zStr + uintptr(i))) != 0; i++ {
102190  		if int32(*(*int8)(unsafe.Pointer(zStr + uintptr(i)))) == int32(x) {
102191  			return 1
102192  		}
102193  	}
102194  	*(*int8)(unsafe.Pointer(zStr + uintptr(i))) = x
102195  	*(*int8)(unsafe.Pointer(zStr + uintptr(i+1))) = int8(0)
102196  	return 0
102197  }
102198  
102199  func tclvarSetOmit(tls *libc.TLS, interp uintptr) int32 {
102200  	bp := tls.Alloc(4)
102201  	defer tls.Free(4)
102202  
102203  	var rc int32
102204  	*(*int32)(unsafe.Pointer(bp)) = 0
102205  	var pRes uintptr
102206  	rc = tcl.XTcl_Eval(tls, interp,
102207  		ts+36941)
102208  	if rc == TCL_OK {
102209  		pRes = tcl.XTcl_GetObjResult(tls, interp)
102210  		rc = tcl.XTcl_GetBooleanFromObj(tls, uintptr(0), pRes, bp)
102211  	}
102212  	return libc.Bool32(rc == TCL_OK && *(*int32)(unsafe.Pointer(bp)) != 0)
102213  }
102214  
102215  func tclvarBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 {
102216  	var pTab uintptr = tab
102217  	var ii int32
102218  	var zStr uintptr = sqlite3.Xsqlite3_malloc(tls, 32)
102219  	var iStr int32 = 0
102220  
102221  	if zStr == uintptr(0) {
102222  		return SQLITE_NOMEM
102223  	}
102224  	*(*int8)(unsafe.Pointer(zStr)) = int8(0)
102225  
102226  	for ii = 0; ii < (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint; ii++ {
102227  		var pCons uintptr = (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraint + uintptr(ii)*12
102228  		var pUsage uintptr
102229  
102230  		pUsage = (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(ii)*8
102231  		if (*sqlite3_index_constraint)(unsafe.Pointer(pCons)).Fusable != 0 {
102232  			if int32((*sqlite3_index_constraint)(unsafe.Pointer(pCons)).Fop) == SQLITE_INDEX_CONSTRAINT_EQ && (*sqlite3_index_constraint)(unsafe.Pointer(pCons)).FiColumn == 0 {
102233  				if 0 == tclvarAddToIdxstr(tls, zStr, int8('e')) {
102234  					(*sqlite3_index_constraint_usage)(unsafe.Pointer(pUsage)).FargvIndex = libc.PreIncInt32(&iStr, 1)
102235  					(*sqlite3_index_constraint_usage)(unsafe.Pointer(pUsage)).Fomit = uint8(0)
102236  				}
102237  			}
102238  
102239  			if int32((*sqlite3_index_constraint)(unsafe.Pointer(pCons)).Fop) == SQLITE_INDEX_CONSTRAINT_MATCH && (*sqlite3_index_constraint)(unsafe.Pointer(pCons)).FiColumn == 0 {
102240  				if 0 == tclvarAddToIdxstr(tls, zStr, int8('m')) {
102241  					(*sqlite3_index_constraint_usage)(unsafe.Pointer(pUsage)).FargvIndex = libc.PreIncInt32(&iStr, 1)
102242  					(*sqlite3_index_constraint_usage)(unsafe.Pointer(pUsage)).Fomit = uint8(1)
102243  				}
102244  			}
102245  
102246  			if int32((*sqlite3_index_constraint)(unsafe.Pointer(pCons)).Fop) == SQLITE_INDEX_CONSTRAINT_GLOB && (*sqlite3_index_constraint)(unsafe.Pointer(pCons)).FiColumn == 2 {
102247  				if 0 == tclvarAddToIdxstr(tls, zStr, int8('g')) {
102248  					(*sqlite3_index_constraint_usage)(unsafe.Pointer(pUsage)).FargvIndex = libc.PreIncInt32(&iStr, 1)
102249  					(*sqlite3_index_constraint_usage)(unsafe.Pointer(pUsage)).Fomit = uint8(tclvarSetOmit(tls, (*tclvar_vtab)(unsafe.Pointer(pTab)).Finterp))
102250  				}
102251  			}
102252  
102253  			if int32((*sqlite3_index_constraint)(unsafe.Pointer(pCons)).Fop) == SQLITE_INDEX_CONSTRAINT_REGEXP && (*sqlite3_index_constraint)(unsafe.Pointer(pCons)).FiColumn == 2 {
102254  				if 0 == tclvarAddToIdxstr(tls, zStr, int8('r')) {
102255  					(*sqlite3_index_constraint_usage)(unsafe.Pointer(pUsage)).FargvIndex = libc.PreIncInt32(&iStr, 1)
102256  					(*sqlite3_index_constraint_usage)(unsafe.Pointer(pUsage)).Fomit = uint8(tclvarSetOmit(tls, (*tclvar_vtab)(unsafe.Pointer(pTab)).Finterp))
102257  				}
102258  			}
102259  
102260  			if int32((*sqlite3_index_constraint)(unsafe.Pointer(pCons)).Fop) == SQLITE_INDEX_CONSTRAINT_LIKE && (*sqlite3_index_constraint)(unsafe.Pointer(pCons)).FiColumn == 2 {
102261  				if 0 == tclvarAddToIdxstr(tls, zStr, int8('l')) {
102262  					(*sqlite3_index_constraint_usage)(unsafe.Pointer(pUsage)).FargvIndex = libc.PreIncInt32(&iStr, 1)
102263  					(*sqlite3_index_constraint_usage)(unsafe.Pointer(pUsage)).Fomit = uint8(tclvarSetOmit(tls, (*tclvar_vtab)(unsafe.Pointer(pTab)).Finterp))
102264  				}
102265  			}
102266  		}
102267  	}
102268  	(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = zStr
102269  	(*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FneedToFreeIdxStr = 1
102270  
102271  	return SQLITE_OK
102272  }
102273  
102274  func tclvarUpdate(tls *libc.TLS, tab uintptr, argc int32, argv uintptr, pRowid uintptr) int32 {
102275  	var pTab uintptr = tab
102276  	if argc == 1 {
102277  		var zVar uintptr = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv)))
102278  		tcl.XTcl_UnsetVar2(tls, (*tclvar_vtab)(unsafe.Pointer(pTab)).Finterp, zVar, uintptr(0), TCL_GLOBAL_ONLY)
102279  		return SQLITE_OK
102280  	}
102281  	if sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) == SQLITE_NULL {
102282  		var zValue uintptr = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 4*8)))
102283  		var zName uintptr
102284  		if sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + 5*8))) != SQLITE_TEXT {
102285  			(*sqlite3_vtab)(unsafe.Pointer(tab)).FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+37002, 0)
102286  			return SQLITE_ERROR
102287  		}
102288  		zName = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 5*8)))
102289  		if zValue != 0 {
102290  			tcl.XTcl_SetVar2(tls, (*tclvar_vtab)(unsafe.Pointer(pTab)).Finterp, zName, uintptr(0), zValue, TCL_GLOBAL_ONLY)
102291  		} else {
102292  			tcl.XTcl_UnsetVar2(tls, (*tclvar_vtab)(unsafe.Pointer(pTab)).Finterp, zName, uintptr(0), TCL_GLOBAL_ONLY)
102293  		}
102294  		return SQLITE_OK
102295  	}
102296  	if sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) == SQLITE_TEXT &&
102297  		sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == SQLITE_TEXT {
102298  		var zOldName uintptr = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv)))
102299  		var zNewName uintptr = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))
102300  		var zValue uintptr = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 4*8)))
102301  
102302  		if libc.Xstrcmp(tls, zOldName, zNewName) != 0 || zValue == uintptr(0) {
102303  			tcl.XTcl_UnsetVar2(tls, (*tclvar_vtab)(unsafe.Pointer(pTab)).Finterp, zOldName, uintptr(0), TCL_GLOBAL_ONLY)
102304  		}
102305  		if zValue != uintptr(0) {
102306  			tcl.XTcl_SetVar2(tls, (*tclvar_vtab)(unsafe.Pointer(pTab)).Finterp, zNewName, uintptr(0), zValue, TCL_GLOBAL_ONLY)
102307  		}
102308  		return SQLITE_OK
102309  	}
102310  	(*sqlite3_vtab)(unsafe.Pointer(tab)).FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+37037, 0)
102311  	return SQLITE_ERROR
102312  }
102313  
102314  var tclvarModule = sqlite3_module{
102315  	FxCreate:     0,
102316  	FxConnect:    0,
102317  	FxBestIndex:  0,
102318  	FxDisconnect: 0,
102319  	FxDestroy:    0,
102320  	FxOpen:       0,
102321  	FxClose:      0,
102322  	FxFilter:     0,
102323  	FxNext:       0,
102324  	FxEof:        0,
102325  	FxColumn:     0,
102326  	FxRowid:      0,
102327  	FxUpdate:     0,
102328  }
102329  
102330  func register_tclvar_module(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
102331  	bp := tls.Alloc(8)
102332  	defer tls.Free(8)
102333  
102334  	var rc int32 = TCL_OK
102335  
102336  	if objc != 2 {
102337  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+2050)
102338  		return TCL_ERROR
102339  	}
102340  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp) != 0 {
102341  		return TCL_ERROR
102342  	}
102343  	sqlite3.Xsqlite3_create_module(tls, *(*uintptr)(unsafe.Pointer(bp)), ts+29563, uintptr(unsafe.Pointer(&tclvarModule)), interp)
102344  	rc = tcl.XTcl_Eval(tls, interp,
102345  		ts+37068)
102346  	return rc
102347  }
102348  
102349  func Sqlitetesttclvar_Init(tls *libc.TLS, interp uintptr) int32 {
102350  	var i int32
102351  	for i = 0; uint64(i) < uint64(unsafe.Sizeof(aObjCmd13))/uint64(unsafe.Sizeof(struct {
102352  		FzName      uintptr
102353  		FxProc      uintptr
102354  		FclientData uintptr
102355  	}{})); i++ {
102356  		tcl.XTcl_CreateObjCommand(tls, interp, aObjCmd13[i].FzName,
102357  			aObjCmd13[i].FxProc, aObjCmd13[i].FclientData, uintptr(0))
102358  	}
102359  	return TCL_OK
102360  }
102361  
102362  var aObjCmd13 = [1]struct {
102363  	FzName      uintptr
102364  	FxProc      uintptr
102365  	FclientData uintptr
102366  }{
102367  	{FzName: ts + 37604, FxProc: 0},
102368  }
102369  
102370  type SqlThread1 = struct {
102371  	Fparent   Tcl_ThreadId
102372  	Finterp   uintptr
102373  	FzScript  uintptr
102374  	FzVarname uintptr
102375  }
102376  
102377  type SqlThread = SqlThread1
102378  
102379  type EvalEvent1 = struct {
102380  	Fbase    Tcl_Event
102381  	FzScript uintptr
102382  	Finterp  uintptr
102383  }
102384  
102385  type EvalEvent = EvalEvent1
102386  
102387  func tclScriptEvent(tls *libc.TLS, evPtr uintptr, flags int32) int32 {
102388  	var rc int32
102389  	var p uintptr = evPtr
102390  	rc = tcl.XTcl_Eval(tls, (*EvalEvent)(unsafe.Pointer(p)).Finterp, (*EvalEvent)(unsafe.Pointer(p)).FzScript)
102391  	if rc != TCL_OK {
102392  		tcl.XTcl_BackgroundError(tls, (*EvalEvent)(unsafe.Pointer(p)).Finterp)
102393  	}
102394  	_ = flags
102395  	return 1
102396  }
102397  
102398  func postToParent(tls *libc.TLS, p uintptr, pScript uintptr) {
102399  	bp := tls.Alloc(4)
102400  	defer tls.Free(4)
102401  
102402  	var pEvent uintptr
102403  	var zMsg uintptr
102404  
102405  	zMsg = tcl.XTcl_GetStringFromObj(tls, pScript, bp)
102406  	pEvent = tcl.XTcl_Alloc(tls, uint32(uint64(unsafe.Sizeof(EvalEvent{}))+uint64(*(*int32)(unsafe.Pointer(bp)))+uint64(1)))
102407  	(*EvalEvent)(unsafe.Pointer(pEvent)).Fbase.FnextPtr = uintptr(0)
102408  	(*EvalEvent)(unsafe.Pointer(pEvent)).Fbase.Fproc = *(*uintptr)(unsafe.Pointer(&struct {
102409  		f func(*libc.TLS, uintptr, int32) int32
102410  	}{tclScriptEvent}))
102411  	(*EvalEvent)(unsafe.Pointer(pEvent)).FzScript = pEvent + 1*32
102412  	libc.Xmemcpy(tls, (*EvalEvent)(unsafe.Pointer(pEvent)).FzScript, zMsg, uint64(*(*int32)(unsafe.Pointer(bp))+1))
102413  	(*EvalEvent)(unsafe.Pointer(pEvent)).Finterp = (*SqlThread)(unsafe.Pointer(p)).Finterp
102414  
102415  	tcl.XTcl_ThreadQueueEvent(tls, (*SqlThread)(unsafe.Pointer(p)).Fparent, pEvent, TCL_QUEUE_TAIL)
102416  	tcl.XTcl_ThreadAlert(tls, (*SqlThread)(unsafe.Pointer(p)).Fparent)
102417  }
102418  
102419  func tclScriptThread(tls *libc.TLS, pSqlThread ClientData) uint32 {
102420  	var interp uintptr
102421  	var pRes uintptr
102422  	var pList uintptr
102423  	var rc int32
102424  	var p uintptr = pSqlThread
102425  
102426  	interp = tcl.XTcl_CreateInterp(tls)
102427  	tcl.XTcl_CreateObjCommand(tls, interp, ts+37627, *(*uintptr)(unsafe.Pointer(&struct {
102428  		f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32
102429  	}{clock_seconds_proc})), uintptr(0), uintptr(0))
102430  	tcl.XTcl_CreateObjCommand(tls, interp, ts+37641, *(*uintptr)(unsafe.Pointer(&struct {
102431  		f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32
102432  	}{sqlthread_proc})), pSqlThread, uintptr(0))
102433  	Sqlitetest1_Init(tls, interp)
102434  	Sqlitetest_mutex_Init(tls, interp)
102435  	Sqlite3_Init(tls, interp)
102436  
102437  	rc = tcl.XTcl_Eval(tls, interp, (*SqlThread)(unsafe.Pointer(p)).FzScript)
102438  	pRes = tcl.XTcl_GetObjResult(tls, interp)
102439  	pList = tcl.XTcl_NewObj(tls)
102440  	(*Tcl_Obj)(unsafe.Pointer(pList)).FrefCount++
102441  	(*Tcl_Obj)(unsafe.Pointer(pRes)).FrefCount++
102442  
102443  	if rc != TCL_OK {
102444  		tcl.XTcl_ListObjAppendElement(tls, interp, pList, tcl.XTcl_NewStringObj(tls, ts+9674, -1))
102445  		tcl.XTcl_ListObjAppendElement(tls, interp, pList, pRes)
102446  		postToParent(tls, p, pList)
102447  		for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
102448  			var _objPtr uintptr = pList
102449  			if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
102450  				tcl.XTclFreeObj(tls, _objPtr)
102451  			}
102452  		}
102453  		pList = tcl.XTcl_NewObj(tls)
102454  	}
102455  
102456  	tcl.XTcl_ListObjAppendElement(tls, interp, pList, tcl.XTcl_NewStringObj(tls, ts+37651, -1))
102457  	tcl.XTcl_ListObjAppendElement(tls, interp, pList, tcl.XTcl_NewStringObj(tls, (*SqlThread)(unsafe.Pointer(p)).FzVarname, -1))
102458  	tcl.XTcl_ListObjAppendElement(tls, interp, pList, pRes)
102459  	postToParent(tls, p, pList)
102460  
102461  	tcl.XTcl_Free(tls, p)
102462  	for __ccgo1 := true; __ccgo1; __ccgo1 = 0 != 0 {
102463  		var _objPtr uintptr = pList
102464  		if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
102465  			tcl.XTclFreeObj(tls, _objPtr)
102466  		}
102467  	}
102468  	for __ccgo2 := true; __ccgo2; __ccgo2 = 0 != 0 {
102469  		var _objPtr uintptr = pRes
102470  		if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
102471  			tcl.XTclFreeObj(tls, _objPtr)
102472  		}
102473  	}
102474  	tcl.XTcl_DeleteInterp(tls, interp)
102475  	for tcl.XTcl_DoOneEvent(tls, libc.CplInt32(int32(1)<<1)|int32(1)<<1) != 0 {
102476  	}
102477  	tcl.XTcl_ExitThread(tls, 0)
102478  	return uint32(0)
102479  }
102480  
102481  func sqlthread_spawn(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
102482  	bp := tls.Alloc(32)
102483  	defer tls.Free(32)
102484  
102485  	var pNew uintptr
102486  	var rc int32
102487  
102488  	var zVarname uintptr
102489  
102490  	var zScript uintptr
102491  
102492  	var nStack int32 = 0
102493  	var flags int32 = 0000
102494  
102495  	_ = clientData
102496  	_ = objc
102497  
102498  	zVarname = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+16)
102499  	zScript = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+20)
102500  
102501  	pNew = tcl.XTcl_Alloc(tls, uint32(uint64(unsafe.Sizeof(SqlThread{}))+uint64(*(*int32)(unsafe.Pointer(bp + 16)))+uint64(*(*int32)(unsafe.Pointer(bp + 20)))+uint64(2)))
102502  	(*SqlThread)(unsafe.Pointer(pNew)).FzVarname = pNew + 1*32
102503  	(*SqlThread)(unsafe.Pointer(pNew)).FzScript = (*SqlThread)(unsafe.Pointer(pNew)).FzVarname + uintptr(*(*int32)(unsafe.Pointer(bp + 16))+1)
102504  	libc.Xmemcpy(tls, (*SqlThread)(unsafe.Pointer(pNew)).FzVarname, zVarname, uint64(*(*int32)(unsafe.Pointer(bp + 16))+1))
102505  	libc.Xmemcpy(tls, (*SqlThread)(unsafe.Pointer(pNew)).FzScript, zScript, uint64(*(*int32)(unsafe.Pointer(bp + 20))+1))
102506  	(*SqlThread)(unsafe.Pointer(pNew)).Fparent = tcl.XTcl_GetCurrentThread(tls)
102507  	(*SqlThread)(unsafe.Pointer(pNew)).Finterp = interp
102508  
102509  	rc = tcl.XTcl_CreateThread(tls, bp+24, *(*uintptr)(unsafe.Pointer(&struct {
102510  		f func(*libc.TLS, ClientData) uint32
102511  	}{tclScriptThread})), pNew, nStack, flags)
102512  	if rc != TCL_OK {
102513  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+37655, 0))
102514  		tcl.XTcl_Free(tls, pNew)
102515  		return TCL_ERROR
102516  	}
102517  
102518  	return TCL_OK
102519  }
102520  
102521  func sqlthread_parent(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
102522  	bp := tls.Alloc(20)
102523  	defer tls.Free(20)
102524  
102525  	var pEvent uintptr
102526  	var zMsg uintptr
102527  
102528  	var p uintptr = clientData
102529  
102530  	_ = objc
102531  
102532  	if p == uintptr(0) {
102533  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+37683, 0))
102534  		return TCL_ERROR
102535  	}
102536  
102537  	zMsg = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+16)
102538  	pEvent = tcl.XTcl_Alloc(tls, uint32(uint64(unsafe.Sizeof(EvalEvent{}))+uint64(*(*int32)(unsafe.Pointer(bp + 16)))+uint64(1)))
102539  	(*EvalEvent)(unsafe.Pointer(pEvent)).Fbase.FnextPtr = uintptr(0)
102540  	(*EvalEvent)(unsafe.Pointer(pEvent)).Fbase.Fproc = *(*uintptr)(unsafe.Pointer(&struct {
102541  		f func(*libc.TLS, uintptr, int32) int32
102542  	}{tclScriptEvent}))
102543  	(*EvalEvent)(unsafe.Pointer(pEvent)).FzScript = pEvent + 1*32
102544  	libc.Xmemcpy(tls, (*EvalEvent)(unsafe.Pointer(pEvent)).FzScript, zMsg, uint64(*(*int32)(unsafe.Pointer(bp + 16))+1))
102545  	(*EvalEvent)(unsafe.Pointer(pEvent)).Finterp = (*SqlThread)(unsafe.Pointer(p)).Finterp
102546  	tcl.XTcl_ThreadQueueEvent(tls, (*SqlThread)(unsafe.Pointer(p)).Fparent, pEvent, TCL_QUEUE_TAIL)
102547  	tcl.XTcl_ThreadAlert(tls, (*SqlThread)(unsafe.Pointer(p)).Fparent)
102548  
102549  	return TCL_OK
102550  }
102551  
102552  func xBusy(tls *libc.TLS, pArg uintptr, nBusy int32) int32 {
102553  	_ = pArg
102554  	_ = nBusy
102555  	sqlite3.Xsqlite3_sleep(tls, 50)
102556  	return 1
102557  }
102558  
102559  func sqlthread_open(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
102560  	bp := tls.Alloc(124)
102561  	defer tls.Free(124)
102562  
102563  	var zFilename uintptr
102564  
102565  	_ = clientData
102566  	_ = objc
102567  
102568  	zFilename = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
102569  	sqlite3.Xsqlite3_open(tls, zFilename, bp+16)
102570  	Md5_Register(tls, *(*uintptr)(unsafe.Pointer(bp + 16)), uintptr(0), uintptr(0))
102571  	sqlite3.Xsqlite3_busy_handler(tls, *(*uintptr)(unsafe.Pointer(bp + 16)), *(*uintptr)(unsafe.Pointer(&struct {
102572  		f func(*libc.TLS, uintptr, int32) int32
102573  	}{xBusy})), uintptr(0))
102574  
102575  	if sqlite3TestMakePointerStr(tls, interp, bp+24, *(*uintptr)(unsafe.Pointer(bp + 16))) != 0 {
102576  		return TCL_ERROR
102577  	}
102578  	tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, bp+24, 0))
102579  
102580  	return TCL_OK
102581  }
102582  
102583  func sqlthread_id(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
102584  	var id Tcl_ThreadId = tcl.XTcl_GetCurrentThread(tls)
102585  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, int32(id)))
102586  	_ = clientData
102587  	_ = objc
102588  	_ = objv
102589  	return TCL_OK
102590  }
102591  
102592  func sqlthread_proc(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
102593  	bp := tls.Alloc(164)
102594  	defer tls.Free(164)
102595  
102596  	*(*[5]struct {
102597  		FzName       uintptr
102598  		FxProc       uintptr
102599  		FnArg        int32
102600  		F__ccgo_pad1 [4]byte
102601  		FzUsage      uintptr
102602  	})(unsafe.Pointer(bp)) = [5]struct {
102603  		FzName       uintptr
102604  		FxProc       uintptr
102605  		FnArg        int32
102606  		F__ccgo_pad1 [4]byte
102607  		FzUsage      uintptr
102608  	}{
102609  		{FzName: ts + 37700, FxProc: *(*uintptr)(unsafe.Pointer(&struct {
102610  			f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32
102611  		}{sqlthread_parent})), FnArg: 1, FzUsage: ts + 10187},
102612  		{FzName: ts + 37707, FxProc: *(*uintptr)(unsafe.Pointer(&struct {
102613  			f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32
102614  		}{sqlthread_spawn})), FnArg: 2, FzUsage: ts + 37713},
102615  		{FzName: ts + 37728, FxProc: *(*uintptr)(unsafe.Pointer(&struct {
102616  			f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32
102617  		}{sqlthread_open})), FnArg: 1, FzUsage: ts + 37733},
102618  		{FzName: ts + 37740, FxProc: *(*uintptr)(unsafe.Pointer(&struct {
102619  			f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32
102620  		}{sqlthread_id})), FzUsage: ts + 584},
102621  		{},
102622  	}
102623  	var pSub uintptr
102624  	var rc int32
102625  
102626  	if objc < 2 {
102627  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+2523)
102628  		return TCL_ERROR
102629  	}
102630  
102631  	rc = tcl.XTcl_GetIndexFromObjStruct(tls,
102632  		interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp, int32(unsafe.Sizeof(struct {
102633  			FzName       uintptr
102634  			FxProc       uintptr
102635  			FnArg        int32
102636  			F__ccgo_pad1 [4]byte
102637  			FzUsage      uintptr
102638  		}{})), ts+2014, 0, bp+160)
102639  	if rc != TCL_OK {
102640  		return rc
102641  	}
102642  	pSub = bp + uintptr(*(*int32)(unsafe.Pointer(bp + 160)))*32
102643  
102644  	if objc < (*struct {
102645  		FzName       uintptr
102646  		FxProc       uintptr
102647  		FnArg        int32
102648  		F__ccgo_pad1 [4]byte
102649  		FzUsage      uintptr
102650  	})(unsafe.Pointer(pSub)).FnArg+2 {
102651  		tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, (*struct {
102652  			FzName       uintptr
102653  			FxProc       uintptr
102654  			FnArg        int32
102655  			F__ccgo_pad1 [4]byte
102656  			FzUsage      uintptr
102657  		})(unsafe.Pointer(pSub)).FzUsage)
102658  		return TCL_ERROR
102659  	}
102660  
102661  	return (*struct {
102662  		f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32
102663  	})(unsafe.Pointer(&struct{ uintptr }{(*struct {
102664  		FzName       uintptr
102665  		FxProc       uintptr
102666  		FnArg        int32
102667  		F__ccgo_pad1 [4]byte
102668  		FzUsage      uintptr
102669  	})(unsafe.Pointer(pSub)).FxProc})).f(tls, clientData, interp, objc, objv)
102670  }
102671  
102672  func clock_seconds_proc(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 {
102673  	bp := tls.Alloc(8)
102674  	defer tls.Free(8)
102675  
102676  	tcl.XTcl_GetTime(tls, bp)
102677  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, (*Tcl_Time)(unsafe.Pointer(bp)).Fsec))
102678  	_ = clientData
102679  	_ = objc
102680  	_ = objv
102681  	return TCL_OK
102682  }
102683  
102684  func SqlitetestThread_Init(tls *libc.TLS, interp uintptr) int32 {
102685  	tcl.XTcl_CreateObjCommand(tls, interp, ts+37641, *(*uintptr)(unsafe.Pointer(&struct {
102686  		f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32
102687  	}{sqlthread_proc})), uintptr(0), uintptr(0))
102688  	tcl.XTcl_CreateObjCommand(tls, interp, ts+37627, *(*uintptr)(unsafe.Pointer(&struct {
102689  		f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32
102690  	}{clock_seconds_proc})), uintptr(0), uintptr(0))
102691  	return TCL_OK
102692  }
102693  
102694  func Sqlitetestvdbecov_Init(tls *libc.TLS, interp uintptr) int32 {
102695  	return TCL_OK
102696  }
102697  
102698  type Testvfs1 = struct {
102699  	FzName        uintptr
102700  	FpParent      uintptr
102701  	FpVfs         uintptr
102702  	Finterp       uintptr
102703  	FpScript      uintptr
102704  	FpBuffer      uintptr
102705  	FisNoshm      int32
102706  	FisFullshm    int32
102707  	Fmask         int32
102708  	Fioerr_err    TestFaultInject
102709  	Ffull_err     TestFaultInject
102710  	Fcantopen_err TestFaultInject
102711  	FiDevchar     int32
102712  	FiSectorsize  int32
102713  }
102714  
102715  type Testvfs = Testvfs1
102716  type TestvfsBuffer1 = struct {
102717  	FzFile       uintptr
102718  	Fpgsz        int32
102719  	F__ccgo_pad1 [4]byte
102720  	FaPage       [1024]uintptr
102721  	FpFile       uintptr
102722  	FpNext       uintptr
102723  }
102724  
102725  type TestvfsBuffer = TestvfsBuffer1
102726  type TestvfsFile1 = struct {
102727  	Fbase sqlite3_file
102728  	FpFd  uintptr
102729  }
102730  
102731  type TestvfsFile = TestvfsFile1
102732  type TestvfsFd1 = struct {
102733  	FpVfs       uintptr
102734  	FzFilename  uintptr
102735  	FpReal      uintptr
102736  	FpShmId     uintptr
102737  	FpShm       uintptr
102738  	Fexcllock   u32
102739  	Fsharedlock u32
102740  	FpNext      uintptr
102741  }
102742  
102743  type TestvfsFd = TestvfsFd1
102744  
102745  type TestFaultInject1 = struct {
102746  	FiCnt   int32
102747  	FeFault int32
102748  	FnFail  int32
102749  }
102750  
102751  type TestFaultInject = TestFaultInject1
102752  
102753  var tvfs_io_methods = sqlite3_io_methods{
102754  	FiVersion:               3,
102755  	FxClose:                 0,
102756  	FxRead:                  0,
102757  	FxWrite:                 0,
102758  	FxTruncate:              0,
102759  	FxSync:                  0,
102760  	FxFileSize:              0,
102761  	FxLock:                  0,
102762  	FxUnlock:                0,
102763  	FxCheckReservedLock:     0,
102764  	FxFileControl:           0,
102765  	FxSectorSize:            0,
102766  	FxDeviceCharacteristics: 0,
102767  	FxShmMap:                0,
102768  	FxShmLock:               0,
102769  	FxShmBarrier:            0,
102770  	FxShmUnmap:              0,
102771  	FxFetch:                 0,
102772  	FxUnfetch:               0,
102773  }
102774  
102775  func tvfsResultCode(tls *libc.TLS, p uintptr, pRc uintptr) int32 {
102776  	bp := tls.Alloc(144)
102777  	defer tls.Free(144)
102778  
102779  	*(*[9]errcode)(unsafe.Pointer(bp)) = [9]errcode{
102780  		{FzCode: ts + 2127},
102781  		{FeCode: SQLITE_ERROR, FzCode: ts + 2114},
102782  		{FeCode: SQLITE_IOERR, FzCode: ts + 37743},
102783  		{FeCode: SQLITE_LOCKED, FzCode: ts + 37756},
102784  		{FeCode: SQLITE_BUSY, FzCode: ts + 37770},
102785  		{FeCode: SQLITE_READONLY, FzCode: ts + 37782},
102786  		{FeCode: SQLITE_READONLY | int32(5)<<8, FzCode: ts + 37798},
102787  		{FeCode: SQLITE_NOTFOUND, FzCode: ts + 37823},
102788  		{FeCode: -1, FzCode: ts + 37839},
102789  	}
102790  	var z uintptr
102791  	var i int32
102792  
102793  	z = tcl.XTcl_GetStringResult(tls, (*Testvfs)(unsafe.Pointer(p)).Finterp)
102794  	for i = 0; i < int32(uint64(unsafe.Sizeof([9]errcode{}))/uint64(unsafe.Sizeof(errcode{}))); i++ {
102795  		if 0 == libc.Xstrcmp(tls, z, (*errcode)(unsafe.Pointer(bp+uintptr(i)*16)).FzCode) {
102796  			*(*int32)(unsafe.Pointer(pRc)) = (*errcode)(unsafe.Pointer(bp + uintptr(i)*16)).FeCode
102797  			return 1
102798  		}
102799  	}
102800  
102801  	return 0
102802  }
102803  
102804  type errcode = struct {
102805  	FeCode       int32
102806  	F__ccgo_pad1 [4]byte
102807  	FzCode       uintptr
102808  }
102809  
102810  func tvfsInjectFault(tls *libc.TLS, p uintptr) int32 {
102811  	var ret int32 = 0
102812  	if (*TestFaultInject)(unsafe.Pointer(p)).FeFault != 0 {
102813  		(*TestFaultInject)(unsafe.Pointer(p)).FiCnt--
102814  		if (*TestFaultInject)(unsafe.Pointer(p)).FiCnt == 0 || (*TestFaultInject)(unsafe.Pointer(p)).FiCnt < 0 && (*TestFaultInject)(unsafe.Pointer(p)).FeFault == FAULT_INJECT_PERSISTENT {
102815  			ret = 1
102816  			(*TestFaultInject)(unsafe.Pointer(p)).FnFail++
102817  		}
102818  	}
102819  	return ret
102820  }
102821  
102822  func tvfsInjectIoerr(tls *libc.TLS, p uintptr) int32 {
102823  	return tvfsInjectFault(tls, p+60)
102824  }
102825  
102826  func tvfsInjectFullerr(tls *libc.TLS, p uintptr) int32 {
102827  	return tvfsInjectFault(tls, p+72)
102828  }
102829  
102830  func tvfsInjectCantopenerr(tls *libc.TLS, p uintptr) int32 {
102831  	return tvfsInjectFault(tls, p+84)
102832  }
102833  
102834  func tvfsExecTcl(tls *libc.TLS, p uintptr, zMethod uintptr, arg1 uintptr, arg2 uintptr, arg3 uintptr, arg4 uintptr) {
102835  	var rc int32
102836  	var pEval uintptr
102837  
102838  	pEval = tcl.XTcl_DuplicateObj(tls, (*Testvfs)(unsafe.Pointer(p)).FpScript)
102839  	(*Tcl_Obj)(unsafe.Pointer((*Testvfs)(unsafe.Pointer(p)).FpScript)).FrefCount++
102840  	tcl.XTcl_ListObjAppendElement(tls, (*Testvfs)(unsafe.Pointer(p)).Finterp, pEval, tcl.XTcl_NewStringObj(tls, zMethod, -1))
102841  	if arg1 != 0 {
102842  		tcl.XTcl_ListObjAppendElement(tls, (*Testvfs)(unsafe.Pointer(p)).Finterp, pEval, arg1)
102843  	}
102844  	if arg2 != 0 {
102845  		tcl.XTcl_ListObjAppendElement(tls, (*Testvfs)(unsafe.Pointer(p)).Finterp, pEval, arg2)
102846  	}
102847  	if arg3 != 0 {
102848  		tcl.XTcl_ListObjAppendElement(tls, (*Testvfs)(unsafe.Pointer(p)).Finterp, pEval, arg3)
102849  	}
102850  	if arg4 != 0 {
102851  		tcl.XTcl_ListObjAppendElement(tls, (*Testvfs)(unsafe.Pointer(p)).Finterp, pEval, arg4)
102852  	}
102853  
102854  	rc = tcl.XTcl_EvalObjEx(tls, (*Testvfs)(unsafe.Pointer(p)).Finterp, pEval, TCL_EVAL_GLOBAL)
102855  	if rc != TCL_OK {
102856  		tcl.XTcl_BackgroundError(tls, (*Testvfs)(unsafe.Pointer(p)).Finterp)
102857  		tcl.XTcl_ResetResult(tls, (*Testvfs)(unsafe.Pointer(p)).Finterp)
102858  	}
102859  }
102860  
102861  func tvfsClose(tls *libc.TLS, pFile uintptr) int32 {
102862  	var pTestfile uintptr = pFile
102863  	var pFd uintptr = (*TestvfsFile)(unsafe.Pointer(pTestfile)).FpFd
102864  	var p uintptr = (*sqlite3_vfs)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpVfs)).FpAppData
102865  
102866  	if (*Testvfs)(unsafe.Pointer(p)).FpScript != 0 && (*Testvfs)(unsafe.Pointer(p)).Fmask&TESTVFS_CLOSE_MASK != 0 {
102867  		tvfsExecTcl(tls, p, ts+35293,
102868  			tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, uintptr(0), uintptr(0))
102869  	}
102870  
102871  	if (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId != 0 {
102872  		for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
102873  			var _objPtr uintptr = (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId
102874  			if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
102875  				tcl.XTclFreeObj(tls, _objPtr)
102876  			}
102877  		}
102878  		(*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId = uintptr(0)
102879  	}
102880  	if (*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods != 0 {
102881  		tcl.XTcl_Free(tls, (*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)
102882  	}
102883  	sqlite3.Xsqlite3OsClose(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FpReal)
102884  	tcl.XTcl_Free(tls, pFd)
102885  	(*TestvfsFile)(unsafe.Pointer(pTestfile)).FpFd = uintptr(0)
102886  	return SQLITE_OK
102887  }
102888  
102889  func tvfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst sqlite_int64) int32 {
102890  	bp := tls.Alloc(4)
102891  	defer tls.Free(4)
102892  
102893  	*(*int32)(unsafe.Pointer(bp)) = SQLITE_OK
102894  	var pFd uintptr = (*TestvfsFile)(unsafe.Pointer(pFile)).FpFd
102895  	var p uintptr = (*sqlite3_vfs)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpVfs)).FpAppData
102896  	if (*Testvfs)(unsafe.Pointer(p)).FpScript != 0 && (*Testvfs)(unsafe.Pointer(p)).Fmask&TESTVFS_READ_MASK != 0 {
102897  		tvfsExecTcl(tls, p, ts+35300,
102898  			tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, uintptr(0), uintptr(0))
102899  		tvfsResultCode(tls, p, bp)
102900  	}
102901  	if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && (*Testvfs)(unsafe.Pointer(p)).Fmask&TESTVFS_READ_MASK != 0 && tvfsInjectIoerr(tls, p) != 0 {
102902  		*(*int32)(unsafe.Pointer(bp)) = SQLITE_IOERR
102903  	}
102904  	if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK {
102905  		*(*int32)(unsafe.Pointer(bp)) = sqlite3.Xsqlite3OsRead(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FpReal, zBuf, iAmt, iOfst)
102906  	}
102907  	return *(*int32)(unsafe.Pointer(bp))
102908  }
102909  
102910  func tvfsWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst sqlite_int64) int32 {
102911  	bp := tls.Alloc(4)
102912  	defer tls.Free(4)
102913  
102914  	*(*int32)(unsafe.Pointer(bp)) = SQLITE_OK
102915  	var pFd uintptr = (*TestvfsFile)(unsafe.Pointer(pFile)).FpFd
102916  	var p uintptr = (*sqlite3_vfs)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpVfs)).FpAppData
102917  
102918  	if (*Testvfs)(unsafe.Pointer(p)).FpScript != 0 && (*Testvfs)(unsafe.Pointer(p)).Fmask&TESTVFS_WRITE_MASK != 0 {
102919  		tvfsExecTcl(tls, p, ts+35306,
102920  			tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId,
102921  			tcl.XTcl_NewWideIntObj(tls, iOfst), tcl.XTcl_NewIntObj(tls, iAmt))
102922  		tvfsResultCode(tls, p, bp)
102923  		if *(*int32)(unsafe.Pointer(bp)) < 0 {
102924  			return SQLITE_OK
102925  		}
102926  	}
102927  
102928  	if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && tvfsInjectFullerr(tls, p) != 0 {
102929  		*(*int32)(unsafe.Pointer(bp)) = SQLITE_FULL
102930  	}
102931  	if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && (*Testvfs)(unsafe.Pointer(p)).Fmask&TESTVFS_WRITE_MASK != 0 && tvfsInjectIoerr(tls, p) != 0 {
102932  		*(*int32)(unsafe.Pointer(bp)) = SQLITE_IOERR
102933  	}
102934  
102935  	if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK {
102936  		*(*int32)(unsafe.Pointer(bp)) = sqlite3.Xsqlite3OsWrite(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FpReal, zBuf, iAmt, iOfst)
102937  	}
102938  	return *(*int32)(unsafe.Pointer(bp))
102939  }
102940  
102941  func tvfsTruncate(tls *libc.TLS, pFile uintptr, size sqlite_int64) int32 {
102942  	bp := tls.Alloc(4)
102943  	defer tls.Free(4)
102944  
102945  	*(*int32)(unsafe.Pointer(bp)) = SQLITE_OK
102946  	var pFd uintptr = (*TestvfsFile)(unsafe.Pointer(pFile)).FpFd
102947  	var p uintptr = (*sqlite3_vfs)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpVfs)).FpAppData
102948  
102949  	if (*Testvfs)(unsafe.Pointer(p)).FpScript != 0 && (*Testvfs)(unsafe.Pointer(p)).Fmask&TESTVFS_TRUNCATE_MASK != 0 {
102950  		tvfsExecTcl(tls, p, ts+35313,
102951  			tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, uintptr(0), uintptr(0))
102952  		tvfsResultCode(tls, p, bp)
102953  	}
102954  
102955  	if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK {
102956  		*(*int32)(unsafe.Pointer(bp)) = sqlite3.Xsqlite3OsTruncate(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FpReal, size)
102957  	}
102958  	return *(*int32)(unsafe.Pointer(bp))
102959  }
102960  
102961  func tvfsSync(tls *libc.TLS, pFile uintptr, flags int32) int32 {
102962  	bp := tls.Alloc(4)
102963  	defer tls.Free(4)
102964  
102965  	*(*int32)(unsafe.Pointer(bp)) = SQLITE_OK
102966  	var pFd uintptr = (*TestvfsFile)(unsafe.Pointer(pFile)).FpFd
102967  	var p uintptr = (*sqlite3_vfs)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpVfs)).FpAppData
102968  
102969  	if (*Testvfs)(unsafe.Pointer(p)).FpScript != 0 && (*Testvfs)(unsafe.Pointer(p)).Fmask&TESTVFS_SYNC_MASK != 0 {
102970  		var zFlags uintptr = uintptr(0)
102971  
102972  		switch flags {
102973  		case SQLITE_SYNC_NORMAL:
102974  			zFlags = ts + 16397
102975  			break
102976  			fallthrough
102977  		case SQLITE_SYNC_FULL:
102978  			zFlags = ts + 18334
102979  			break
102980  			fallthrough
102981  		case SQLITE_SYNC_NORMAL | SQLITE_SYNC_DATAONLY:
102982  			zFlags = ts + 37851
102983  			break
102984  			fallthrough
102985  		case SQLITE_SYNC_FULL | SQLITE_SYNC_DATAONLY:
102986  			zFlags = ts + 37867
102987  			break
102988  			fallthrough
102989  		default:
102990  		}
102991  
102992  		tvfsExecTcl(tls, p, ts+27547,
102993  			tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId,
102994  			tcl.XTcl_NewStringObj(tls, zFlags, -1), uintptr(0))
102995  		tvfsResultCode(tls, p, bp)
102996  	}
102997  
102998  	if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && tvfsInjectFullerr(tls, p) != 0 {
102999  		*(*int32)(unsafe.Pointer(bp)) = SQLITE_FULL
103000  	}
103001  
103002  	if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK {
103003  		*(*int32)(unsafe.Pointer(bp)) = sqlite3.Xsqlite3OsSync(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FpReal, flags)
103004  	}
103005  
103006  	return *(*int32)(unsafe.Pointer(bp))
103007  }
103008  
103009  func tvfsFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 {
103010  	var p uintptr = (*TestvfsFile)(unsafe.Pointer(pFile)).FpFd
103011  	return sqlite3.Xsqlite3OsFileSize(tls, (*TestvfsFd)(unsafe.Pointer(p)).FpReal, pSize)
103012  }
103013  
103014  func tvfsLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 {
103015  	bp := tls.Alloc(38)
103016  	defer tls.Free(38)
103017  
103018  	var pFd uintptr = (*TestvfsFile)(unsafe.Pointer(pFile)).FpFd
103019  	var p uintptr = (*sqlite3_vfs)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpVfs)).FpAppData
103020  	if (*Testvfs)(unsafe.Pointer(p)).FpScript != 0 && (*Testvfs)(unsafe.Pointer(p)).Fmask&TESTVFS_LOCK_MASK != 0 {
103021  		sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+8, ts+1333, libc.VaList(bp, eLock))
103022  		tvfsExecTcl(tls, p, ts+35333, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1),
103023  			tcl.XTcl_NewStringObj(tls, bp+8, -1), uintptr(0), uintptr(0))
103024  	}
103025  	return sqlite3.Xsqlite3OsLock(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FpReal, eLock)
103026  }
103027  
103028  func tvfsUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 {
103029  	bp := tls.Alloc(38)
103030  	defer tls.Free(38)
103031  
103032  	var pFd uintptr = (*TestvfsFile)(unsafe.Pointer(pFile)).FpFd
103033  	var p uintptr = (*sqlite3_vfs)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpVfs)).FpAppData
103034  	if (*Testvfs)(unsafe.Pointer(p)).FpScript != 0 && (*Testvfs)(unsafe.Pointer(p)).Fmask&TESTVFS_UNLOCK_MASK != 0 {
103035  		sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+8, ts+1333, libc.VaList(bp, eLock))
103036  		tvfsExecTcl(tls, p, ts+35339, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1),
103037  			tcl.XTcl_NewStringObj(tls, bp+8, -1), uintptr(0), uintptr(0))
103038  	}
103039  	if (*Testvfs)(unsafe.Pointer(p)).Fmask&TESTVFS_WRITE_MASK != 0 && tvfsInjectIoerr(tls, p) != 0 {
103040  		return SQLITE_IOERR | int32(8)<<8
103041  	}
103042  	return sqlite3.Xsqlite3OsUnlock(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FpReal, eLock)
103043  }
103044  
103045  func tvfsCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int32 {
103046  	var pFd uintptr = (*TestvfsFile)(unsafe.Pointer(pFile)).FpFd
103047  	var p uintptr = (*sqlite3_vfs)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpVfs)).FpAppData
103048  	if (*Testvfs)(unsafe.Pointer(p)).FpScript != 0 && (*Testvfs)(unsafe.Pointer(p)).Fmask&TESTVFS_CKLOCK_MASK != 0 {
103049  		tvfsExecTcl(tls, p, ts+37881, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1),
103050  			uintptr(0), uintptr(0), uintptr(0))
103051  	}
103052  	return sqlite3.Xsqlite3OsCheckReservedLock(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FpReal, pResOut)
103053  }
103054  
103055  func tvfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 {
103056  	bp := tls.Alloc(68)
103057  	defer tls.Free(68)
103058  
103059  	var pFd uintptr = (*TestvfsFile)(unsafe.Pointer(pFile)).FpFd
103060  	var p uintptr = (*sqlite3_vfs)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpVfs)).FpAppData
103061  	if op == SQLITE_FCNTL_PRAGMA {
103062  		var argv uintptr = pArg
103063  		if sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)), ts+9674) == 0 {
103064  			var rc int32 = SQLITE_ERROR
103065  			if *(*uintptr)(unsafe.Pointer(argv + 2*8)) != 0 {
103066  				var z uintptr = *(*uintptr)(unsafe.Pointer(argv + 2*8))
103067  				var x int32 = libc.Xatoi(tls, z)
103068  				if x != 0 {
103069  					rc = x
103070  					for int32(sqlite3.Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z)))])&0x04 != 0 {
103071  						z++
103072  					}
103073  					for int32(sqlite3.Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z)))])&0x01 != 0 {
103074  						z++
103075  					}
103076  				}
103077  				if *(*int8)(unsafe.Pointer(z)) != 0 {
103078  					*(*uintptr)(unsafe.Pointer(argv)) = sqlite3.Xsqlite3_mprintf(tls, ts, libc.VaList(bp, z))
103079  				}
103080  			}
103081  			return rc
103082  		}
103083  		if sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)), ts+4794) == 0 {
103084  			*(*uintptr)(unsafe.Pointer(argv)) = sqlite3.Xsqlite3_mprintf(tls, ts, libc.VaList(bp+8, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename))
103085  			return SQLITE_OK
103086  		}
103087  	}
103088  	if (*Testvfs)(unsafe.Pointer(p)).FpScript != 0 && (*Testvfs)(unsafe.Pointer(p)).Fmask&TESTVFS_FCNTL_MASK != 0 {
103089  		*(*[3]Fcntl)(unsafe.Pointer(bp + 16)) = [3]Fcntl{
103090  			{FiFnctl: SQLITE_FCNTL_BEGIN_ATOMIC_WRITE, FzFnctl: ts + 37900},
103091  			{FiFnctl: SQLITE_FCNTL_COMMIT_ATOMIC_WRITE, FzFnctl: ts + 37919},
103092  			{FiFnctl: SQLITE_FCNTL_ZIPVFS, FzFnctl: ts + 37939},
103093  		}
103094  		var i int32
103095  		for i = 0; uint64(i) < uint64(unsafe.Sizeof([3]Fcntl{}))/uint64(unsafe.Sizeof(Fcntl{})); i++ {
103096  			if op == (*Fcntl)(unsafe.Pointer(bp+16+uintptr(i)*16)).FiFnctl {
103097  				break
103098  			}
103099  		}
103100  		if uint64(i) < uint64(unsafe.Sizeof([3]Fcntl{}))/uint64(unsafe.Sizeof(Fcntl{})) {
103101  			*(*int32)(unsafe.Pointer(bp + 64)) = 0
103102  			tvfsExecTcl(tls, p, ts+35361,
103103  				tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1),
103104  				tcl.XTcl_NewStringObj(tls, (*Fcntl)(unsafe.Pointer(bp+16+uintptr(i)*16)).FzFnctl, -1),
103105  				uintptr(0), uintptr(0))
103106  			tvfsResultCode(tls, p, bp+64)
103107  			if *(*int32)(unsafe.Pointer(bp + 64)) != 0 {
103108  				return func() int32 {
103109  					if *(*int32)(unsafe.Pointer(bp + 64)) < 0 {
103110  						return SQLITE_OK
103111  					}
103112  					return *(*int32)(unsafe.Pointer(bp + 64))
103113  				}()
103114  			}
103115  		}
103116  	}
103117  	return sqlite3.Xsqlite3OsFileControl(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FpReal, op, pArg)
103118  }
103119  
103120  type Fcntl = struct {
103121  	FiFnctl      int32
103122  	F__ccgo_pad1 [4]byte
103123  	FzFnctl      uintptr
103124  }
103125  
103126  func tvfsSectorSize(tls *libc.TLS, pFile uintptr) int32 {
103127  	var pFd uintptr = (*TestvfsFile)(unsafe.Pointer(pFile)).FpFd
103128  	var p uintptr = (*sqlite3_vfs)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpVfs)).FpAppData
103129  	if (*Testvfs)(unsafe.Pointer(p)).FiSectorsize >= 0 {
103130  		return (*Testvfs)(unsafe.Pointer(p)).FiSectorsize
103131  	}
103132  	return sqlite3.Xsqlite3OsSectorSize(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FpReal)
103133  }
103134  
103135  func tvfsDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 {
103136  	var pFd uintptr = (*TestvfsFile)(unsafe.Pointer(pFile)).FpFd
103137  	var p uintptr = (*sqlite3_vfs)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpVfs)).FpAppData
103138  	if (*Testvfs)(unsafe.Pointer(p)).FiDevchar >= 0 {
103139  		return (*Testvfs)(unsafe.Pointer(p)).FiDevchar
103140  	}
103141  	return sqlite3.Xsqlite3OsDeviceCharacteristics(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FpReal)
103142  }
103143  
103144  func tvfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags int32, pOutFlags uintptr) int32 {
103145  	bp := tls.Alloc(4)
103146  	defer tls.Free(4)
103147  
103148  	var pTestfile uintptr = pFile
103149  	var pFd uintptr
103150  	var pId uintptr = uintptr(0)
103151  	var p uintptr = (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData
103152  
103153  	pFd = tcl.XTcl_Alloc(tls, uint32(uint64(unsafe.Sizeof(TestvfsFd{}))+uint64((*sqlite3_vfs)(unsafe.Pointer((*Testvfs)(unsafe.Pointer((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FpParent)).FszOsFile)))
103154  	libc.Xmemset(tls, pFd, 0, uint64(unsafe.Sizeof(TestvfsFd{}))+uint64((*sqlite3_vfs)(unsafe.Pointer((*Testvfs)(unsafe.Pointer((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FpParent)).FszOsFile))
103155  	(*TestvfsFd)(unsafe.Pointer(pFd)).FpShm = uintptr(0)
103156  	(*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId = uintptr(0)
103157  	(*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename = zName
103158  	(*TestvfsFd)(unsafe.Pointer(pFd)).FpVfs = pVfs
103159  	(*TestvfsFd)(unsafe.Pointer(pFd)).FpReal = pFd + 1*56
103160  	libc.Xmemset(tls, pTestfile, 0, uint64(unsafe.Sizeof(TestvfsFile{})))
103161  	(*TestvfsFile)(unsafe.Pointer(pTestfile)).FpFd = pFd
103162  
103163  	tcl.XTcl_ResetResult(tls, (*Testvfs)(unsafe.Pointer(p)).Finterp)
103164  	if (*Testvfs)(unsafe.Pointer(p)).FpScript != 0 && (*Testvfs)(unsafe.Pointer(p)).Fmask&TESTVFS_OPEN_MASK != 0 {
103165  		var pArg uintptr = tcl.XTcl_NewObj(tls)
103166  		(*Tcl_Obj)(unsafe.Pointer(pArg)).FrefCount++
103167  		if flags&SQLITE_OPEN_MAIN_DB != 0 {
103168  			var z uintptr = zName + uintptr(libc.Xstrlen(tls, zName)+uint64(1))
103169  			for *(*int8)(unsafe.Pointer(z)) != 0 {
103170  				tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pArg, tcl.XTcl_NewStringObj(tls, z, -1))
103171  				z += uintptr(libc.Xstrlen(tls, z) + uint64(1))
103172  				tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pArg, tcl.XTcl_NewStringObj(tls, z, -1))
103173  				z += uintptr(libc.Xstrlen(tls, z) + uint64(1))
103174  			}
103175  		}
103176  		tvfsExecTcl(tls, p, ts+27125, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), pArg, uintptr(0), uintptr(0))
103177  		for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
103178  			var _objPtr uintptr = pArg
103179  			if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
103180  				tcl.XTclFreeObj(tls, _objPtr)
103181  			}
103182  		}
103183  		if tvfsResultCode(tls, p, bp) != 0 {
103184  			if *(*int32)(unsafe.Pointer(bp)) != SQLITE_OK {
103185  				return *(*int32)(unsafe.Pointer(bp))
103186  			}
103187  		} else {
103188  			pId = tcl.XTcl_GetObjResult(tls, (*Testvfs)(unsafe.Pointer(p)).Finterp)
103189  		}
103190  	}
103191  
103192  	if (*Testvfs)(unsafe.Pointer(p)).Fmask&TESTVFS_OPEN_MASK != 0 && tvfsInjectIoerr(tls, p) != 0 {
103193  		return SQLITE_IOERR
103194  	}
103195  	if tvfsInjectCantopenerr(tls, p) != 0 {
103196  		return SQLITE_CANTOPEN
103197  	}
103198  	if tvfsInjectFullerr(tls, p) != 0 {
103199  		return SQLITE_FULL
103200  	}
103201  
103202  	if !(pId != 0) {
103203  		pId = tcl.XTcl_NewStringObj(tls, ts+37946, -1)
103204  	}
103205  	(*Tcl_Obj)(unsafe.Pointer(pId)).FrefCount++
103206  	(*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId = pId
103207  	tcl.XTcl_ResetResult(tls, (*Testvfs)(unsafe.Pointer(p)).Finterp)
103208  
103209  	*(*int32)(unsafe.Pointer(bp)) = sqlite3.Xsqlite3OsOpen(tls, (*Testvfs)(unsafe.Pointer((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FpParent, zName, (*TestvfsFd)(unsafe.Pointer(pFd)).FpReal, flags, pOutFlags)
103210  	if (*sqlite3_file)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpReal)).FpMethods != 0 {
103211  		var pMethods uintptr
103212  		var nByte int32
103213  
103214  		if (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FiVersion > 1 {
103215  			nByte = int32(unsafe.Sizeof(sqlite3_io_methods{}))
103216  		} else {
103217  			nByte = int32(uintptr(0) + 104)
103218  		}
103219  
103220  		pMethods = tcl.XTcl_Alloc(tls, uint32(nByte))
103221  		libc.Xmemcpy(tls, pMethods, uintptr(unsafe.Pointer(&tvfs_io_methods)), uint64(nByte))
103222  		(*sqlite3_io_methods)(unsafe.Pointer(pMethods)).FiVersion = (*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpReal)).FpMethods)).FiVersion
103223  		if (*sqlite3_io_methods)(unsafe.Pointer(pMethods)).FiVersion > (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FiVersion {
103224  			(*sqlite3_io_methods)(unsafe.Pointer(pMethods)).FiVersion = (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FiVersion
103225  		}
103226  		if (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FiVersion > 1 && (*Testvfs)(unsafe.Pointer((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FisNoshm != 0 {
103227  			(*sqlite3_io_methods)(unsafe.Pointer(pMethods)).FxShmUnmap = uintptr(0)
103228  			(*sqlite3_io_methods)(unsafe.Pointer(pMethods)).FxShmLock = uintptr(0)
103229  			(*sqlite3_io_methods)(unsafe.Pointer(pMethods)).FxShmBarrier = uintptr(0)
103230  			(*sqlite3_io_methods)(unsafe.Pointer(pMethods)).FxShmMap = uintptr(0)
103231  		}
103232  		(*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods = pMethods
103233  	}
103234  
103235  	return *(*int32)(unsafe.Pointer(bp))
103236  }
103237  
103238  func tvfsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 {
103239  	bp := tls.Alloc(4)
103240  	defer tls.Free(4)
103241  
103242  	*(*int32)(unsafe.Pointer(bp)) = SQLITE_OK
103243  	var p uintptr = (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData
103244  
103245  	if (*Testvfs)(unsafe.Pointer(p)).FpScript != 0 && (*Testvfs)(unsafe.Pointer(p)).Fmask&TESTVFS_DELETE_MASK != 0 {
103246  		tvfsExecTcl(tls, p, ts+35398,
103247  			tcl.XTcl_NewStringObj(tls, zPath, -1), tcl.XTcl_NewIntObj(tls, dirSync), uintptr(0), uintptr(0))
103248  		tvfsResultCode(tls, p, bp)
103249  	}
103250  	if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK {
103251  		*(*int32)(unsafe.Pointer(bp)) = sqlite3.Xsqlite3OsDelete(tls, (*Testvfs)(unsafe.Pointer((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FpParent, zPath, dirSync)
103252  	}
103253  	return *(*int32)(unsafe.Pointer(bp))
103254  }
103255  
103256  func tvfsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 {
103257  	bp := tls.Alloc(4)
103258  	defer tls.Free(4)
103259  
103260  	var p uintptr = (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData
103261  	if (*Testvfs)(unsafe.Pointer(p)).FpScript != 0 && (*Testvfs)(unsafe.Pointer(p)).Fmask&TESTVFS_ACCESS_MASK != 0 {
103262  		var zArg uintptr = uintptr(0)
103263  		if flags == SQLITE_ACCESS_EXISTS {
103264  			zArg = ts + 37951
103265  		}
103266  		if flags == SQLITE_ACCESS_READWRITE {
103267  			zArg = ts + 37972
103268  		}
103269  		if flags == SQLITE_ACCESS_READ {
103270  			zArg = ts + 37996
103271  		}
103272  		tvfsExecTcl(tls, p, ts+35406,
103273  			tcl.XTcl_NewStringObj(tls, zPath, -1), tcl.XTcl_NewStringObj(tls, zArg, -1), uintptr(0), uintptr(0))
103274  		if tvfsResultCode(tls, p, bp) != 0 {
103275  			if *(*int32)(unsafe.Pointer(bp)) != SQLITE_OK {
103276  				return *(*int32)(unsafe.Pointer(bp))
103277  			}
103278  		} else {
103279  			var interp uintptr = (*Testvfs)(unsafe.Pointer(p)).Finterp
103280  			if TCL_OK == tcl.XTcl_GetBooleanFromObj(tls, uintptr(0), tcl.XTcl_GetObjResult(tls, interp), pResOut) {
103281  				return SQLITE_OK
103282  			}
103283  		}
103284  	}
103285  	return sqlite3.Xsqlite3OsAccess(tls, (*Testvfs)(unsafe.Pointer((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FpParent, zPath, flags, pResOut)
103286  }
103287  
103288  func tvfsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 {
103289  	bp := tls.Alloc(4)
103290  	defer tls.Free(4)
103291  
103292  	var p uintptr = (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData
103293  	if (*Testvfs)(unsafe.Pointer(p)).FpScript != 0 && (*Testvfs)(unsafe.Pointer(p)).Fmask&TESTVFS_FULLPATHNAME_MASK != 0 {
103294  		tvfsExecTcl(tls, p, ts+35414, tcl.XTcl_NewStringObj(tls, zPath, -1), uintptr(0), uintptr(0), uintptr(0))
103295  		if tvfsResultCode(tls, p, bp) != 0 {
103296  			if *(*int32)(unsafe.Pointer(bp)) != SQLITE_OK {
103297  				return *(*int32)(unsafe.Pointer(bp))
103298  			}
103299  		}
103300  	}
103301  	return sqlite3.Xsqlite3OsFullPathname(tls, (*Testvfs)(unsafe.Pointer((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FpParent, zPath, nOut, zOut)
103302  }
103303  
103304  func tvfsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 {
103305  	return sqlite3.Xsqlite3OsRandomness(tls, (*Testvfs)(unsafe.Pointer((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FpParent, nByte, zBufOut)
103306  }
103307  
103308  func tvfsSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 {
103309  	return sqlite3.Xsqlite3OsSleep(tls, (*Testvfs)(unsafe.Pointer((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FpParent, nMicro)
103310  }
103311  
103312  func tvfsCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 {
103313  	return (*struct {
103314  		f func(*libc.TLS, uintptr, uintptr) int32
103315  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer((*Testvfs)(unsafe.Pointer((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FpParent)).FxCurrentTime})).f(tls, (*Testvfs)(unsafe.Pointer((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FpParent, pTimeOut)
103316  }
103317  
103318  func tvfsShmOpen(tls *libc.TLS, pFile uintptr) int32 {
103319  	bp := tls.Alloc(4)
103320  	defer tls.Free(4)
103321  
103322  	var p uintptr
103323  	*(*int32)(unsafe.Pointer(bp)) = SQLITE_OK
103324  	var pBuffer uintptr
103325  	var pFd uintptr
103326  
103327  	pFd = (*TestvfsFile)(unsafe.Pointer(pFile)).FpFd
103328  	p = (*sqlite3_vfs)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpVfs)).FpAppData
103329  
103330  	tcl.XTcl_ResetResult(tls, (*Testvfs)(unsafe.Pointer(p)).Finterp)
103331  	if (*Testvfs)(unsafe.Pointer(p)).FpScript != 0 && (*Testvfs)(unsafe.Pointer(p)).Fmask&TESTVFS_SHMOPEN_MASK != 0 {
103332  		tvfsExecTcl(tls, p, ts+38015, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), uintptr(0), uintptr(0), uintptr(0))
103333  		if tvfsResultCode(tls, p, bp) != 0 {
103334  			if *(*int32)(unsafe.Pointer(bp)) != SQLITE_OK {
103335  				return *(*int32)(unsafe.Pointer(bp))
103336  			}
103337  		}
103338  	}
103339  
103340  	if (*Testvfs)(unsafe.Pointer(p)).Fmask&TESTVFS_SHMOPEN_MASK != 0 && tvfsInjectIoerr(tls, p) != 0 {
103341  		return SQLITE_IOERR
103342  	}
103343  
103344  	for pBuffer = (*Testvfs)(unsafe.Pointer(p)).FpBuffer; pBuffer != 0; pBuffer = (*TestvfsBuffer)(unsafe.Pointer(pBuffer)).FpNext {
103345  		if 0 == libc.Xstrcmp(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, (*TestvfsBuffer)(unsafe.Pointer(pBuffer)).FzFile) {
103346  			break
103347  		}
103348  	}
103349  	if !(pBuffer != 0) {
103350  		var szName int32 = int32(libc.Xstrlen(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename))
103351  		var nByte int32 = int32(uint64(unsafe.Sizeof(TestvfsBuffer{})) + uint64(szName) + uint64(1))
103352  		pBuffer = tcl.XTcl_Alloc(tls, uint32(nByte))
103353  		libc.Xmemset(tls, pBuffer, 0, uint64(nByte))
103354  		(*TestvfsBuffer)(unsafe.Pointer(pBuffer)).FzFile = pBuffer + 1*8224
103355  		libc.Xmemcpy(tls, (*TestvfsBuffer)(unsafe.Pointer(pBuffer)).FzFile, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, uint64(szName+1))
103356  		(*TestvfsBuffer)(unsafe.Pointer(pBuffer)).FpNext = (*Testvfs)(unsafe.Pointer(p)).FpBuffer
103357  		(*Testvfs)(unsafe.Pointer(p)).FpBuffer = pBuffer
103358  	}
103359  
103360  	(*TestvfsFd)(unsafe.Pointer(pFd)).FpNext = (*TestvfsBuffer)(unsafe.Pointer(pBuffer)).FpFile
103361  	(*TestvfsBuffer)(unsafe.Pointer(pBuffer)).FpFile = pFd
103362  	(*TestvfsFd)(unsafe.Pointer(pFd)).FpShm = pBuffer
103363  	return *(*int32)(unsafe.Pointer(bp))
103364  }
103365  
103366  func tvfsAllocPage(tls *libc.TLS, p uintptr, iPage int32, pgsz int32) {
103367  	if *(*uintptr)(unsafe.Pointer(p + 16 + uintptr(iPage)*8)) == uintptr(0) {
103368  		*(*uintptr)(unsafe.Pointer(p + 16 + uintptr(iPage)*8)) = tcl.XTcl_Alloc(tls, uint32(pgsz))
103369  		libc.Xmemset(tls, *(*uintptr)(unsafe.Pointer(p + 16 + uintptr(iPage)*8)), 0, uint64(pgsz))
103370  		(*TestvfsBuffer)(unsafe.Pointer(p)).Fpgsz = pgsz
103371  	}
103372  }
103373  
103374  func tvfsShmMap(tls *libc.TLS, pFile uintptr, iPage int32, pgsz int32, isWrite int32, pp uintptr) int32 {
103375  	bp := tls.Alloc(4)
103376  	defer tls.Free(4)
103377  
103378  	*(*int32)(unsafe.Pointer(bp)) = SQLITE_OK
103379  	var pFd uintptr = (*TestvfsFile)(unsafe.Pointer(pFile)).FpFd
103380  	var p uintptr = (*sqlite3_vfs)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpVfs)).FpAppData
103381  
103382  	if (*Testvfs)(unsafe.Pointer(p)).FisFullshm != 0 {
103383  		var pReal uintptr = (*TestvfsFd)(unsafe.Pointer(pFd)).FpReal
103384  		return (*struct {
103385  			f func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32
103386  		})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pReal)).FpMethods)).FxShmMap})).f(tls, pReal, iPage, pgsz, isWrite, pp)
103387  	}
103388  
103389  	if uintptr(0) == (*TestvfsFd)(unsafe.Pointer(pFd)).FpShm {
103390  		*(*int32)(unsafe.Pointer(bp)) = tvfsShmOpen(tls, pFile)
103391  		if *(*int32)(unsafe.Pointer(bp)) != SQLITE_OK {
103392  			return *(*int32)(unsafe.Pointer(bp))
103393  		}
103394  	}
103395  
103396  	if (*Testvfs)(unsafe.Pointer(p)).FpScript != 0 && (*Testvfs)(unsafe.Pointer(p)).Fmask&TESTVFS_SHMMAP_MASK != 0 {
103397  		var pArg uintptr = tcl.XTcl_NewObj(tls)
103398  		(*Tcl_Obj)(unsafe.Pointer(pArg)).FrefCount++
103399  		tcl.XTcl_ListObjAppendElement(tls, (*Testvfs)(unsafe.Pointer(p)).Finterp, pArg, tcl.XTcl_NewIntObj(tls, iPage))
103400  		tcl.XTcl_ListObjAppendElement(tls, (*Testvfs)(unsafe.Pointer(p)).Finterp, pArg, tcl.XTcl_NewIntObj(tls, pgsz))
103401  		tcl.XTcl_ListObjAppendElement(tls, (*Testvfs)(unsafe.Pointer(p)).Finterp, pArg, tcl.XTcl_NewIntObj(tls, isWrite))
103402  		tvfsExecTcl(tls, p, ts+35491,
103403  			tcl.XTcl_NewStringObj(tls, (*TestvfsBuffer)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpShm)).FzFile, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, pArg, uintptr(0))
103404  		tvfsResultCode(tls, p, bp)
103405  		for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
103406  			var _objPtr uintptr = pArg
103407  			if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
103408  				tcl.XTclFreeObj(tls, _objPtr)
103409  			}
103410  		}
103411  	}
103412  	if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && (*Testvfs)(unsafe.Pointer(p)).Fmask&TESTVFS_SHMMAP_MASK != 0 && tvfsInjectIoerr(tls, p) != 0 {
103413  		*(*int32)(unsafe.Pointer(bp)) = SQLITE_IOERR
103414  	}
103415  
103416  	if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK && isWrite != 0 && !(int32(*(*uintptr)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpShm + 16 + uintptr(iPage)*8))) != 0) {
103417  		tvfsAllocPage(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FpShm, iPage, pgsz)
103418  	}
103419  	if *(*int32)(unsafe.Pointer(bp)) == SQLITE_OK || *(*int32)(unsafe.Pointer(bp)) == SQLITE_READONLY {
103420  		*(*uintptr)(unsafe.Pointer(pp)) = *(*uintptr)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpShm + 16 + uintptr(iPage)*8))
103421  	}
103422  
103423  	return *(*int32)(unsafe.Pointer(bp))
103424  }
103425  
103426  func tvfsShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int32) int32 {
103427  	bp := tls.Alloc(100)
103428  	defer tls.Free(100)
103429  
103430  	*(*int32)(unsafe.Pointer(bp + 96)) = SQLITE_OK
103431  	var pFd uintptr = (*TestvfsFile)(unsafe.Pointer(pFile)).FpFd
103432  	var p uintptr = (*sqlite3_vfs)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpVfs)).FpAppData
103433  	var nLock int32
103434  
103435  	if (*Testvfs)(unsafe.Pointer(p)).FisFullshm != 0 {
103436  		var pReal uintptr = (*TestvfsFd)(unsafe.Pointer(pFd)).FpReal
103437  		return (*struct {
103438  			f func(*libc.TLS, uintptr, int32, int32, int32) int32
103439  		})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pReal)).FpMethods)).FxShmLock})).f(tls, pReal, ofst, n, flags)
103440  	}
103441  
103442  	if (*Testvfs)(unsafe.Pointer(p)).FpScript != 0 && (*Testvfs)(unsafe.Pointer(p)).Fmask&TESTVFS_SHMLOCK_MASK != 0 {
103443  		sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([80]int8{})), bp+16, ts+17869, libc.VaList(bp, ofst, n))
103444  		nLock = int32(libc.Xstrlen(tls, bp+16))
103445  		if flags&SQLITE_SHM_LOCK != 0 {
103446  			libc.Xstrcpy(tls, bp+16+uintptr(nLock), ts+38024)
103447  		} else {
103448  			libc.Xstrcpy(tls, bp+16+uintptr(nLock), ts+38030)
103449  		}
103450  		nLock = nLock + int32(libc.Xstrlen(tls, bp+16+uintptr(nLock)))
103451  		if flags&SQLITE_SHM_SHARED != 0 {
103452  			libc.Xstrcpy(tls, bp+16+uintptr(nLock), ts+38038)
103453  		} else {
103454  			libc.Xstrcpy(tls, bp+16+uintptr(nLock), ts+38046)
103455  		}
103456  		tvfsExecTcl(tls, p, ts+35470,
103457  			tcl.XTcl_NewStringObj(tls, (*TestvfsBuffer)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpShm)).FzFile, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId,
103458  			tcl.XTcl_NewStringObj(tls, bp+16, -1), uintptr(0))
103459  		tvfsResultCode(tls, p, bp+96)
103460  	}
103461  
103462  	if *(*int32)(unsafe.Pointer(bp + 96)) == SQLITE_OK && (*Testvfs)(unsafe.Pointer(p)).Fmask&TESTVFS_SHMLOCK_MASK != 0 && tvfsInjectIoerr(tls, p) != 0 {
103463  		*(*int32)(unsafe.Pointer(bp + 96)) = SQLITE_IOERR
103464  	}
103465  
103466  	if *(*int32)(unsafe.Pointer(bp + 96)) == SQLITE_OK {
103467  		var isLock int32 = flags & SQLITE_SHM_LOCK
103468  		var isExcl int32 = flags & SQLITE_SHM_EXCLUSIVE
103469  		var mask u32 = u32((int32(1)<<n - 1) << ofst)
103470  		if isLock != 0 {
103471  			var p2 uintptr
103472  			for p2 = (*TestvfsBuffer)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpShm)).FpFile; p2 != 0; p2 = (*TestvfsFd)(unsafe.Pointer(p2)).FpNext {
103473  				if p2 == pFd {
103474  					continue
103475  				}
103476  				if (*TestvfsFd)(unsafe.Pointer(p2)).Fexcllock&mask != 0 || isExcl != 0 && (*TestvfsFd)(unsafe.Pointer(p2)).Fsharedlock&mask != 0 {
103477  					*(*int32)(unsafe.Pointer(bp + 96)) = SQLITE_BUSY
103478  					break
103479  				}
103480  			}
103481  			if *(*int32)(unsafe.Pointer(bp + 96)) == SQLITE_OK {
103482  				if isExcl != 0 {
103483  					*(*u32)(unsafe.Pointer(pFd + 40)) |= mask
103484  				}
103485  				if !(isExcl != 0) {
103486  					*(*u32)(unsafe.Pointer(pFd + 44)) |= mask
103487  				}
103488  			}
103489  		} else {
103490  			if isExcl != 0 {
103491  				*(*u32)(unsafe.Pointer(pFd + 40)) &= ^mask
103492  			}
103493  			if !(isExcl != 0) {
103494  				*(*u32)(unsafe.Pointer(pFd + 44)) &= ^mask
103495  			}
103496  		}
103497  	}
103498  
103499  	return *(*int32)(unsafe.Pointer(bp + 96))
103500  }
103501  
103502  func tvfsShmBarrier(tls *libc.TLS, pFile uintptr) {
103503  	var pFd uintptr = (*TestvfsFile)(unsafe.Pointer(pFile)).FpFd
103504  	var p uintptr = (*sqlite3_vfs)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpVfs)).FpAppData
103505  
103506  	if (*Testvfs)(unsafe.Pointer(p)).FpScript != 0 && (*Testvfs)(unsafe.Pointer(p)).Fmask&TESTVFS_SHMBARRIER_MASK != 0 {
103507  		var z uintptr
103508  		if (*TestvfsFd)(unsafe.Pointer(pFd)).FpShm != 0 {
103509  			z = (*TestvfsBuffer)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpShm)).FzFile
103510  		} else {
103511  			z = ts + 584
103512  		}
103513  		tvfsExecTcl(tls, p, ts+35479, tcl.XTcl_NewStringObj(tls, z, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, uintptr(0), uintptr(0))
103514  	}
103515  
103516  	if (*Testvfs)(unsafe.Pointer(p)).FisFullshm != 0 {
103517  		var pReal uintptr = (*TestvfsFd)(unsafe.Pointer(pFd)).FpReal
103518  		(*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pReal)).FpMethods)).FxShmBarrier})).f(tls, pReal)
103519  		return
103520  	}
103521  }
103522  
103523  func tvfsShmUnmap(tls *libc.TLS, pFile uintptr, deleteFlag int32) int32 {
103524  	bp := tls.Alloc(4)
103525  	defer tls.Free(4)
103526  
103527  	*(*int32)(unsafe.Pointer(bp)) = SQLITE_OK
103528  	var pFd uintptr = (*TestvfsFile)(unsafe.Pointer(pFile)).FpFd
103529  	var p uintptr = (*sqlite3_vfs)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpVfs)).FpAppData
103530  	var pBuffer uintptr = (*TestvfsFd)(unsafe.Pointer(pFd)).FpShm
103531  	var ppFd uintptr
103532  
103533  	if (*Testvfs)(unsafe.Pointer(p)).FisFullshm != 0 {
103534  		var pReal uintptr = (*TestvfsFd)(unsafe.Pointer(pFd)).FpReal
103535  		return (*struct {
103536  			f func(*libc.TLS, uintptr, int32) int32
103537  		})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pReal)).FpMethods)).FxShmUnmap})).f(tls, pReal, deleteFlag)
103538  	}
103539  
103540  	if !(pBuffer != 0) {
103541  		return SQLITE_OK
103542  	}
103543  
103544  	if (*Testvfs)(unsafe.Pointer(p)).FpScript != 0 && (*Testvfs)(unsafe.Pointer(p)).Fmask&TESTVFS_SHMCLOSE_MASK != 0 {
103545  		tvfsExecTcl(tls, p, ts+35460,
103546  			tcl.XTcl_NewStringObj(tls, (*TestvfsBuffer)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpShm)).FzFile, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, uintptr(0), uintptr(0))
103547  		tvfsResultCode(tls, p, bp)
103548  	}
103549  
103550  	for ppFd = pBuffer + 8208; *(*uintptr)(unsafe.Pointer(ppFd)) != pFd; ppFd = *(*uintptr)(unsafe.Pointer(ppFd)) + 48 {
103551  	}
103552  
103553  	*(*uintptr)(unsafe.Pointer(ppFd)) = (*TestvfsFd)(unsafe.Pointer(pFd)).FpNext
103554  	(*TestvfsFd)(unsafe.Pointer(pFd)).FpNext = uintptr(0)
103555  
103556  	if (*TestvfsBuffer)(unsafe.Pointer(pBuffer)).FpFile == uintptr(0) {
103557  		var i int32
103558  		var pp uintptr
103559  		for pp = p + 40; *(*uintptr)(unsafe.Pointer(pp)) != pBuffer; pp = *(*uintptr)(unsafe.Pointer(pp)) + 8216 {
103560  		}
103561  		*(*uintptr)(unsafe.Pointer(pp)) = (*TestvfsBuffer)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pp)))).FpNext
103562  		for i = 0; *(*uintptr)(unsafe.Pointer(pBuffer + 16 + uintptr(i)*8)) != 0; i++ {
103563  			tcl.XTcl_Free(tls, *(*uintptr)(unsafe.Pointer(pBuffer + 16 + uintptr(i)*8)))
103564  		}
103565  		tcl.XTcl_Free(tls, pBuffer)
103566  	}
103567  	(*TestvfsFd)(unsafe.Pointer(pFd)).FpShm = uintptr(0)
103568  
103569  	return *(*int32)(unsafe.Pointer(bp))
103570  }
103571  
103572  func tvfsFetch(tls *libc.TLS, pFile uintptr, iOfst sqlite3_int64, iAmt int32, pp uintptr) int32 {
103573  	var pFd uintptr = (*TestvfsFile)(unsafe.Pointer(pFile)).FpFd
103574  	return sqlite3.Xsqlite3OsFetch(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FpReal, iOfst, iAmt, pp)
103575  }
103576  
103577  func tvfsUnfetch(tls *libc.TLS, pFile uintptr, iOfst sqlite3_int64, p uintptr) int32 {
103578  	var pFd uintptr = (*TestvfsFile)(unsafe.Pointer(pFile)).FpFd
103579  	return sqlite3.Xsqlite3OsUnfetch(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FpReal, iOfst, p)
103580  }
103581  
103582  func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, objv uintptr) int32 {
103583  	bp := tls.Alloc(568)
103584  	defer tls.Free(568)
103585  
103586  	var p uintptr = cd
103587  	*(*[10]TestvfsSubcmd)(unsafe.Pointer(bp + 96)) = [10]TestvfsSubcmd{
103588  		{FzName: ts + 38057},
103589  		{FzName: ts + 10138, FeCmd: uint32(1)},
103590  		{FzName: ts + 38061, FeCmd: uint32(2)},
103591  		{FzName: ts + 38068, FeCmd: uint32(3)},
103592  		{FzName: ts + 38074, FeCmd: uint32(7)},
103593  		{FzName: ts + 38082, FeCmd: uint32(8)},
103594  		{FzName: ts + 38094, FeCmd: uint32(4)},
103595  		{FzName: ts + 38101, FeCmd: uint32(5)},
103596  		{FzName: ts + 38109, FeCmd: uint32(6)},
103597  		{},
103598  	}
103599  
103600  	if objc < 2 {
103601  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+1999)
103602  		return TCL_ERROR
103603  	}
103604  	if tcl.XTcl_GetIndexFromObjStruct(tls,
103605  		interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+96, int32(unsafe.Sizeof(TestvfsSubcmd{})), ts+38120, 0, bp+256) != 0 {
103606  		return TCL_ERROR
103607  	}
103608  	tcl.XTcl_ResetResult(tls, interp)
103609  
103610  	switch (*TestvfsSubcmd)(unsafe.Pointer(bp + 96 + uintptr(*(*int32)(unsafe.Pointer(bp + 256)))*16)).FeCmd {
103611  	case uint32(0):
103612  		{
103613  			var pObj uintptr
103614  			var rc int32
103615  			var pBuffer uintptr
103616  			var zName uintptr
103617  			if objc != 3 && objc != 4 {
103618  				tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+38131)
103619  				return TCL_ERROR
103620  			}
103621  			zName = tcl.XTcl_Alloc(tls, uint32((*sqlite3_vfs)(unsafe.Pointer((*Testvfs)(unsafe.Pointer(p)).FpParent)).FmxPathname))
103622  			rc = (*struct {
103623  				f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
103624  			})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer((*Testvfs)(unsafe.Pointer(p)).FpParent)).FxFullPathname})).f(tls,
103625  				(*Testvfs)(unsafe.Pointer(p)).FpParent, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))),
103626  				(*sqlite3_vfs)(unsafe.Pointer((*Testvfs)(unsafe.Pointer(p)).FpParent)).FmxPathname, zName)
103627  			if rc != SQLITE_OK {
103628  				tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+38144,
103629  					tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), 0))
103630  				tcl.XTcl_Free(tls, zName)
103631  				return TCL_ERROR
103632  			}
103633  			for pBuffer = (*Testvfs)(unsafe.Pointer(p)).FpBuffer; pBuffer != 0; pBuffer = (*TestvfsBuffer)(unsafe.Pointer(pBuffer)).FpNext {
103634  				if 0 == libc.Xstrcmp(tls, (*TestvfsBuffer)(unsafe.Pointer(pBuffer)).FzFile, zName) {
103635  					break
103636  				}
103637  			}
103638  			tcl.XTcl_Free(tls, zName)
103639  			if !(pBuffer != 0) {
103640  				tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+38170, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), 0))
103641  				return TCL_ERROR
103642  			}
103643  			if objc == 4 {
103644  				var a uintptr = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+260)
103645  				var pgsz int32 = (*TestvfsBuffer)(unsafe.Pointer(pBuffer)).Fpgsz
103646  				if pgsz == 0 {
103647  					pgsz = 65536
103648  				}
103649  				for *(*int32)(unsafe.Pointer(bp + 256)) = 0; *(*int32)(unsafe.Pointer(bp + 256))*pgsz < *(*int32)(unsafe.Pointer(bp + 260)); *(*int32)(unsafe.Pointer(bp + 256))++ {
103650  					var nByte int32 = pgsz
103651  					tvfsAllocPage(tls, pBuffer, *(*int32)(unsafe.Pointer(bp + 256)), pgsz)
103652  					if *(*int32)(unsafe.Pointer(bp + 260))-*(*int32)(unsafe.Pointer(bp + 256))*pgsz < pgsz {
103653  						nByte = *(*int32)(unsafe.Pointer(bp + 260))
103654  					}
103655  					libc.Xmemcpy(tls, *(*uintptr)(unsafe.Pointer(pBuffer + 16 + uintptr(*(*int32)(unsafe.Pointer(bp + 256)))*8)), a+uintptr(*(*int32)(unsafe.Pointer(bp + 256))*pgsz), uint64(nByte))
103656  				}
103657  			}
103658  
103659  			pObj = tcl.XTcl_NewObj(tls)
103660  			for *(*int32)(unsafe.Pointer(bp + 256)) = 0; *(*uintptr)(unsafe.Pointer(pBuffer + 16 + uintptr(*(*int32)(unsafe.Pointer(bp + 256)))*8)) != 0; *(*int32)(unsafe.Pointer(bp + 256))++ {
103661  				var pgsz int32 = (*TestvfsBuffer)(unsafe.Pointer(pBuffer)).Fpgsz
103662  				if pgsz == 0 {
103663  					pgsz = 65536
103664  				}
103665  				tcl.XTcl_AppendObjToObj(tls, pObj, tcl.XTcl_NewByteArrayObj(tls, *(*uintptr)(unsafe.Pointer(pBuffer + 16 + uintptr(*(*int32)(unsafe.Pointer(bp + 256)))*8)), pgsz))
103666  			}
103667  			tcl.XTcl_SetObjResult(tls, interp, pObj)
103668  			break
103669  
103670  		}
103671  
103672  	case uint32(2):
103673  		{
103674  			*(*uintptr)(unsafe.Pointer(bp + 272)) = uintptr(0)
103675  			*(*int32)(unsafe.Pointer(bp + 264)) = 0
103676  			var mask int32 = 0
103677  			if objc != 3 {
103678  				tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+32165)
103679  				return TCL_ERROR
103680  			}
103681  			if tcl.XTcl_ListObjGetElements(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+264, bp+272) != 0 {
103682  				return TCL_ERROR
103683  			}
103684  			tcl.XTcl_ResetResult(tls, interp)
103685  			for *(*int32)(unsafe.Pointer(bp + 256)) = 0; *(*int32)(unsafe.Pointer(bp + 256)) < *(*int32)(unsafe.Pointer(bp + 264)); *(*int32)(unsafe.Pointer(bp + 256))++ {
103686  				var iMethod int32
103687  				var zElem uintptr = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 272)) + uintptr(*(*int32)(unsafe.Pointer(bp + 256)))*8)))
103688  				for iMethod = 0; iMethod < int32(uint64(unsafe.Sizeof(vfsmethod))/uint64(unsafe.Sizeof(VfsMethod{}))); iMethod++ {
103689  					if libc.Xstrcmp(tls, zElem, vfsmethod[iMethod].FzName) == 0 {
103690  						mask = mask | vfsmethod[iMethod].Fmask
103691  						break
103692  					}
103693  				}
103694  				if iMethod == int32(uint64(unsafe.Sizeof(vfsmethod))/uint64(unsafe.Sizeof(VfsMethod{}))) {
103695  					tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+38185, zElem, 0))
103696  					return TCL_ERROR
103697  				}
103698  			}
103699  			(*Testvfs)(unsafe.Pointer(p)).Fmask = mask
103700  			break
103701  
103702  		}
103703  
103704  	case uint32(4):
103705  		{
103706  			if objc == 3 {
103707  				if (*Testvfs)(unsafe.Pointer(p)).FpScript != 0 {
103708  					for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
103709  						var _objPtr uintptr = (*Testvfs)(unsafe.Pointer(p)).FpScript
103710  						if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
103711  							tcl.XTclFreeObj(tls, _objPtr)
103712  						}
103713  					}
103714  					(*Testvfs)(unsafe.Pointer(p)).FpScript = uintptr(0)
103715  				}
103716  				tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+280)
103717  				if *(*int32)(unsafe.Pointer(bp + 280)) > 0 {
103718  					(*Testvfs)(unsafe.Pointer(p)).FpScript = tcl.XTcl_DuplicateObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
103719  					(*Tcl_Obj)(unsafe.Pointer((*Testvfs)(unsafe.Pointer(p)).FpScript)).FrefCount++
103720  				}
103721  			} else if objc != 2 {
103722  				tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13249)
103723  				return TCL_ERROR
103724  			}
103725  
103726  			tcl.XTcl_ResetResult(tls, interp)
103727  			if (*Testvfs)(unsafe.Pointer(p)).FpScript != 0 {
103728  				tcl.XTcl_SetObjResult(tls, interp, (*Testvfs)(unsafe.Pointer(p)).FpScript)
103729  			}
103730  
103731  			break
103732  
103733  		}
103734  
103735  	case uint32(8):
103736  		fallthrough
103737  	case uint32(3):
103738  		fallthrough
103739  	case uint32(7):
103740  		{
103741  			var pTest uintptr = uintptr(0)
103742  			var iRet int32
103743  
103744  			switch (*TestvfsSubcmd)(unsafe.Pointer(bp + 96 + uintptr(*(*int32)(unsafe.Pointer(bp + 256)))*16)).FeCmd {
103745  			case uint32(3):
103746  				pTest = p + 60
103747  				break
103748  			case uint32(7):
103749  				pTest = p + 72
103750  				break
103751  			case uint32(8):
103752  				pTest = p + 84
103753  				break
103754  			default:
103755  			}
103756  			iRet = (*TestFaultInject)(unsafe.Pointer(pTest)).FnFail
103757  			(*TestFaultInject)(unsafe.Pointer(pTest)).FnFail = 0
103758  			(*TestFaultInject)(unsafe.Pointer(pTest)).FeFault = 0
103759  			(*TestFaultInject)(unsafe.Pointer(pTest)).FiCnt = 0
103760  
103761  			if objc == 4 {
103762  				if TCL_OK != tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+284) ||
103763  					TCL_OK != tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+288) {
103764  					return TCL_ERROR
103765  				}
103766  				(*TestFaultInject)(unsafe.Pointer(pTest)).FeFault = func() int32 {
103767  					if *(*int32)(unsafe.Pointer(bp + 288)) != 0 {
103768  						return FAULT_INJECT_PERSISTENT
103769  					}
103770  					return FAULT_INJECT_TRANSIENT
103771  				}()
103772  				(*TestFaultInject)(unsafe.Pointer(pTest)).FiCnt = *(*int32)(unsafe.Pointer(bp + 284))
103773  			} else if objc != 2 {
103774  				tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+38202)
103775  				return TCL_ERROR
103776  			}
103777  			tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, iRet))
103778  			break
103779  
103780  		}
103781  
103782  	case uint32(1):
103783  		{
103784  			tcl.XTcl_DeleteCommand(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))))
103785  			break
103786  
103787  		}
103788  
103789  	case uint32(5):
103790  		{
103791  			*(*[16]DeviceFlag)(unsafe.Pointer(bp + 304)) = [16]DeviceFlag{
103792  				{FzName: ts + 38216, FiValue: -1},
103793  				{FzName: ts + 26279, FiValue: SQLITE_IOCAP_ATOMIC},
103794  				{FzName: ts + 26286, FiValue: SQLITE_IOCAP_ATOMIC512},
103795  				{FzName: ts + 26296, FiValue: SQLITE_IOCAP_ATOMIC1K},
103796  				{FzName: ts + 26305, FiValue: SQLITE_IOCAP_ATOMIC2K},
103797  				{FzName: ts + 26314, FiValue: SQLITE_IOCAP_ATOMIC4K},
103798  				{FzName: ts + 26323, FiValue: SQLITE_IOCAP_ATOMIC8K},
103799  				{FzName: ts + 26332, FiValue: SQLITE_IOCAP_ATOMIC16K},
103800  				{FzName: ts + 26342, FiValue: SQLITE_IOCAP_ATOMIC32K},
103801  				{FzName: ts + 26352, FiValue: SQLITE_IOCAP_ATOMIC64K},
103802  				{FzName: ts + 26362, FiValue: SQLITE_IOCAP_SEQUENTIAL},
103803  				{FzName: ts + 26373, FiValue: SQLITE_IOCAP_SAFE_APPEND},
103804  				{FzName: ts + 38224, FiValue: SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN},
103805  				{FzName: ts + 26385, FiValue: SQLITE_IOCAP_POWERSAFE_OVERWRITE},
103806  				{FzName: ts + 38246, FiValue: SQLITE_IOCAP_IMMUTABLE},
103807  				{},
103808  			}
103809  			var pRet uintptr
103810  			var iFlag int32
103811  
103812  			if objc > 3 {
103813  				tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+38256)
103814  				return TCL_ERROR
103815  			}
103816  			if objc == 3 {
103817  				var j int32
103818  				var iNew int32 = 0
103819  				*(*uintptr)(unsafe.Pointer(bp + 296)) = uintptr(0)
103820  				*(*int32)(unsafe.Pointer(bp + 292)) = 0
103821  
103822  				if tcl.XTcl_ListObjGetElements(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+292, bp+296) != 0 {
103823  					return TCL_ERROR
103824  				}
103825  
103826  				for j = 0; j < *(*int32)(unsafe.Pointer(bp + 292)); j++ {
103827  					*(*int32)(unsafe.Pointer(bp + 560)) = 0
103828  					if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 296)) + uintptr(j)*8)), bp+304,
103829  						int32(unsafe.Sizeof(DeviceFlag{})), ts+17631, 0, bp+560) != 0 {
103830  						return TCL_ERROR
103831  					}
103832  					if (*DeviceFlag)(unsafe.Pointer(bp+304+uintptr(*(*int32)(unsafe.Pointer(bp + 560)))*16)).FiValue < 0 && *(*int32)(unsafe.Pointer(bp + 292)) > 1 {
103833  						tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, ts+38268, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), 0))
103834  						return TCL_ERROR
103835  					}
103836  					iNew = iNew | (*DeviceFlag)(unsafe.Pointer(bp+304+uintptr(*(*int32)(unsafe.Pointer(bp + 560)))*16)).FiValue
103837  				}
103838  
103839  				(*Testvfs)(unsafe.Pointer(p)).FiDevchar = iNew | 0x10000000
103840  			}
103841  
103842  			pRet = tcl.XTcl_NewObj(tls)
103843  			for iFlag = 0; uint64(iFlag) < uint64(unsafe.Sizeof([16]DeviceFlag{}))/uint64(unsafe.Sizeof(DeviceFlag{})); iFlag++ {
103844  				if (*Testvfs)(unsafe.Pointer(p)).FiDevchar&(*DeviceFlag)(unsafe.Pointer(bp+304+uintptr(iFlag)*16)).FiValue != 0 {
103845  					tcl.XTcl_ListObjAppendElement(tls,
103846  						interp, pRet, tcl.XTcl_NewStringObj(tls, (*DeviceFlag)(unsafe.Pointer(bp+304+uintptr(iFlag)*16)).FzName, -1))
103847  				}
103848  			}
103849  			tcl.XTcl_SetObjResult(tls, interp, pRet)
103850  
103851  			break
103852  
103853  		}
103854  
103855  	case uint32(6):
103856  		{
103857  			if objc > 3 {
103858  				tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+38280)
103859  				return TCL_ERROR
103860  			}
103861  			if objc == 3 {
103862  				*(*int32)(unsafe.Pointer(bp + 564)) = 0
103863  				if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+564) != 0 {
103864  					return TCL_ERROR
103865  				}
103866  				(*Testvfs)(unsafe.Pointer(p)).FiSectorsize = *(*int32)(unsafe.Pointer(bp + 564))
103867  			}
103868  			tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, (*Testvfs)(unsafe.Pointer(p)).FiSectorsize))
103869  			break
103870  
103871  		}
103872  	}
103873  
103874  	return TCL_OK
103875  }
103876  
103877  type TestvfsSubcmd = struct {
103878  	FzName       uintptr
103879  	FeCmd        uint32
103880  	F__ccgo_pad1 [4]byte
103881  }
103882  
103883  type VfsMethod = struct {
103884  	FzName       uintptr
103885  	Fmask        int32
103886  	F__ccgo_pad1 [4]byte
103887  }
103888  
103889  var vfsmethod = [18]VfsMethod{
103890  	{FzName: ts + 38015, Fmask: TESTVFS_SHMOPEN_MASK},
103891  	{FzName: ts + 35470, Fmask: TESTVFS_SHMLOCK_MASK},
103892  	{FzName: ts + 35479, Fmask: TESTVFS_SHMBARRIER_MASK},
103893  	{FzName: ts + 35460, Fmask: TESTVFS_SHMCLOSE_MASK},
103894  	{FzName: ts + 35491, Fmask: TESTVFS_SHMMAP_MASK},
103895  	{FzName: ts + 27547, Fmask: TESTVFS_SYNC_MASK},
103896  	{FzName: ts + 35398, Fmask: TESTVFS_DELETE_MASK},
103897  	{FzName: ts + 35306, Fmask: TESTVFS_WRITE_MASK},
103898  	{FzName: ts + 35300, Fmask: TESTVFS_READ_MASK},
103899  	{FzName: ts + 35313, Fmask: TESTVFS_TRUNCATE_MASK},
103900  	{FzName: ts + 27125, Fmask: TESTVFS_OPEN_MASK},
103901  	{FzName: ts + 35293, Fmask: TESTVFS_CLOSE_MASK},
103902  	{FzName: ts + 35406, Fmask: TESTVFS_ACCESS_MASK},
103903  	{FzName: ts + 35414, Fmask: TESTVFS_FULLPATHNAME_MASK},
103904  	{FzName: ts + 35339, Fmask: TESTVFS_UNLOCK_MASK},
103905  	{FzName: ts + 35333, Fmask: TESTVFS_LOCK_MASK},
103906  	{FzName: ts + 37881, Fmask: TESTVFS_CKLOCK_MASK},
103907  	{FzName: ts + 35361, Fmask: TESTVFS_FCNTL_MASK},
103908  }
103909  
103910  func testvfs_obj_del(tls *libc.TLS, cd ClientData) {
103911  	var p uintptr = cd
103912  	if (*Testvfs)(unsafe.Pointer(p)).FpScript != 0 {
103913  		for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
103914  			var _objPtr uintptr = (*Testvfs)(unsafe.Pointer(p)).FpScript
103915  			if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
103916  				tcl.XTclFreeObj(tls, _objPtr)
103917  			}
103918  		}
103919  	}
103920  	sqlite3.Xsqlite3_vfs_unregister(tls, (*Testvfs)(unsafe.Pointer(p)).FpVfs)
103921  	libc.Xmemset(tls, (*Testvfs)(unsafe.Pointer(p)).FpVfs, 0, uint64(unsafe.Sizeof(sqlite3_vfs{})))
103922  	tcl.XTcl_Free(tls, (*Testvfs)(unsafe.Pointer(p)).FpVfs)
103923  	libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(Testvfs{})))
103924  	tcl.XTcl_Free(tls, p)
103925  }
103926  
103927  func testvfs_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, objv uintptr) int32 {
103928  	bp := tls.Alloc(28)
103929  	defer tls.Free(28)
103930  
103931  	var p uintptr
103932  	var pVfs uintptr
103933  	var zVfs uintptr
103934  	var nByte int32
103935  
103936  	var i int32
103937  
103938  	var zSwitch uintptr
103939  	*(*int32)(unsafe.Pointer(bp + 4)) = 0
103940  	*(*int32)(unsafe.Pointer(bp + 24)) = 0
103941  	*(*int32)(unsafe.Pointer(bp + 8)) = 0
103942  	*(*int32)(unsafe.Pointer(bp + 12)) = 0
103943  	*(*int32)(unsafe.Pointer(bp + 16)) = -1
103944  	*(*int32)(unsafe.Pointer(bp + 20)) = 3
103945  
103946  	if !(objc < 2 || 0 != objc%2) {
103947  		goto __1
103948  	}
103949  	goto bad_args
103950  __1:
103951  	;
103952  	i = 2
103953  __2:
103954  	if !(i < objc) {
103955  		goto __4
103956  	}
103957  	zSwitch = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp)
103958  
103959  	if !(*(*int32)(unsafe.Pointer(bp)) > 2 && 0 == libc.Xstrncmp(tls, ts+38288, zSwitch, uint64(*(*int32)(unsafe.Pointer(bp))))) {
103960  		goto __5
103961  	}
103962  	if !(tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i+1)*8)), bp+4) != 0) {
103963  		goto __7
103964  	}
103965  	return TCL_ERROR
103966  __7:
103967  	;
103968  	if !(*(*int32)(unsafe.Pointer(bp + 4)) != 0) {
103969  		goto __8
103970  	}
103971  	*(*int32)(unsafe.Pointer(bp + 24)) = 0
103972  __8:
103973  	;
103974  	goto __6
103975  __5:
103976  	if !(*(*int32)(unsafe.Pointer(bp)) > 2 && 0 == libc.Xstrncmp(tls, ts+26655, zSwitch, uint64(*(*int32)(unsafe.Pointer(bp))))) {
103977  		goto __9
103978  	}
103979  	if !(tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i+1)*8)), bp+8) != 0) {
103980  		goto __11
103981  	}
103982  	return TCL_ERROR
103983  __11:
103984  	;
103985  	goto __10
103986  __9:
103987  	if !(*(*int32)(unsafe.Pointer(bp)) > 2 && 0 == libc.Xstrncmp(tls, ts+38295, zSwitch, uint64(*(*int32)(unsafe.Pointer(bp))))) {
103988  		goto __12
103989  	}
103990  	if !(tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i+1)*8)), bp+12) != 0) {
103991  		goto __14
103992  	}
103993  	return TCL_ERROR
103994  __14:
103995  	;
103996  	goto __13
103997  __12:
103998  	if !(*(*int32)(unsafe.Pointer(bp)) > 2 && 0 == libc.Xstrncmp(tls, ts+38305, zSwitch, uint64(*(*int32)(unsafe.Pointer(bp))))) {
103999  		goto __15
104000  	}
104001  	if !(tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i+1)*8)), bp+16) != 0) {
104002  		goto __17
104003  	}
104004  	return TCL_ERROR
104005  __17:
104006  	;
104007  	goto __16
104008  __15:
104009  	if !(*(*int32)(unsafe.Pointer(bp)) > 2 && 0 == libc.Xstrncmp(tls, ts+38317, zSwitch, uint64(*(*int32)(unsafe.Pointer(bp))))) {
104010  		goto __18
104011  	}
104012  	if !(tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i+1)*8)), bp+20) != 0) {
104013  		goto __20
104014  	}
104015  	return TCL_ERROR
104016  __20:
104017  	;
104018  	goto __19
104019  __18:
104020  	if !(*(*int32)(unsafe.Pointer(bp)) > 2 && 0 == libc.Xstrncmp(tls, ts+38327, zSwitch, uint64(*(*int32)(unsafe.Pointer(bp))))) {
104021  		goto __21
104022  	}
104023  	if !(tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i+1)*8)), bp+24) != 0) {
104024  		goto __23
104025  	}
104026  	return TCL_ERROR
104027  __23:
104028  	;
104029  	if !(*(*int32)(unsafe.Pointer(bp + 24)) != 0) {
104030  		goto __24
104031  	}
104032  	*(*int32)(unsafe.Pointer(bp + 4)) = 0
104033  __24:
104034  	;
104035  	goto __22
104036  __21:
104037  	goto bad_args
104038  __22:
104039  	;
104040  __19:
104041  	;
104042  __16:
104043  	;
104044  __13:
104045  	;
104046  __10:
104047  	;
104048  __6:
104049  	;
104050  	goto __3
104051  __3:
104052  	i = i + 2
104053  	goto __2
104054  	goto __4
104055  __4:
104056  	;
104057  	if !(uint64(*(*int32)(unsafe.Pointer(bp + 12))) < uint64(unsafe.Sizeof(TestvfsFile{}))) {
104058  		goto __25
104059  	}
104060  	*(*int32)(unsafe.Pointer(bp + 12)) = int32(unsafe.Sizeof(TestvfsFile{}))
104061  __25:
104062  	;
104063  	zVfs = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))
104064  	nByte = int32(uint64(unsafe.Sizeof(Testvfs{})) + uint64(int32(libc.Xstrlen(tls, zVfs))) + uint64(1))
104065  	p = tcl.XTcl_Alloc(tls, uint32(nByte))
104066  	libc.Xmemset(tls, p, 0, uint64(nByte))
104067  	(*Testvfs)(unsafe.Pointer(p)).FiDevchar = -1
104068  	(*Testvfs)(unsafe.Pointer(p)).FiSectorsize = -1
104069  
104070  	tcl.XTcl_CreateObjCommand(tls, interp, zVfs, *(*uintptr)(unsafe.Pointer(&struct {
104071  		f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32
104072  	}{testvfs_obj_cmd})), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, ClientData) }{testvfs_obj_del})))
104073  	(*Testvfs)(unsafe.Pointer(p)).FpParent = sqlite3.Xsqlite3_vfs_find(tls, uintptr(0))
104074  	(*Testvfs)(unsafe.Pointer(p)).Finterp = interp
104075  
104076  	(*Testvfs)(unsafe.Pointer(p)).FzName = p + 1*104
104077  	libc.Xmemcpy(tls, (*Testvfs)(unsafe.Pointer(p)).FzName, zVfs, libc.Xstrlen(tls, zVfs)+uint64(1))
104078  
104079  	pVfs = tcl.XTcl_Alloc(tls, uint32(unsafe.Sizeof(sqlite3_vfs{})))
104080  	libc.Xmemcpy(tls, pVfs, uintptr(unsafe.Pointer(&tvfs_vfs)), uint64(unsafe.Sizeof(sqlite3_vfs{})))
104081  	(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData = p
104082  	(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FiVersion = *(*int32)(unsafe.Pointer(bp + 20))
104083  	(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FzName = (*Testvfs)(unsafe.Pointer(p)).FzName
104084  	(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FmxPathname = (*sqlite3_vfs)(unsafe.Pointer((*Testvfs)(unsafe.Pointer(p)).FpParent)).FmxPathname
104085  	if !(*(*int32)(unsafe.Pointer(bp + 16)) >= 0 && *(*int32)(unsafe.Pointer(bp + 16)) < (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FmxPathname) {
104086  		goto __26
104087  	}
104088  	(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FmxPathname = *(*int32)(unsafe.Pointer(bp + 16))
104089  __26:
104090  	;
104091  	(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FszOsFile = *(*int32)(unsafe.Pointer(bp + 12))
104092  	(*Testvfs)(unsafe.Pointer(p)).FpVfs = pVfs
104093  	(*Testvfs)(unsafe.Pointer(p)).FisNoshm = *(*int32)(unsafe.Pointer(bp + 4))
104094  	(*Testvfs)(unsafe.Pointer(p)).FisFullshm = *(*int32)(unsafe.Pointer(bp + 24))
104095  	(*Testvfs)(unsafe.Pointer(p)).Fmask = TESTVFS_ALL_MASK
104096  
104097  	sqlite3.Xsqlite3_vfs_register(tls, pVfs, *(*int32)(unsafe.Pointer(bp + 8)))
104098  
104099  	return TCL_OK
104100  
104101  bad_args:
104102  	tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+38336)
104103  	return TCL_ERROR
104104  }
104105  
104106  var tvfs_vfs = sqlite3_vfs{
104107  	FiVersion:      3,
104108  	FxOpen:         0,
104109  	FxDelete:       0,
104110  	FxAccess:       0,
104111  	FxFullPathname: 0,
104112  	FxRandomness:   0,
104113  	FxSleep:        0,
104114  	FxCurrentTime:  0,
104115  }
104116  
104117  func test_vfs_shmlock(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
104118  	bp := tls.Alloc(88)
104119  	defer tls.Free(88)
104120  
104121  	*(*[3]uintptr)(unsafe.Pointer(bp + 8)) = [3]uintptr{ts + 38440, ts + 13978, uintptr(0)}
104122  	*(*[3]uintptr)(unsafe.Pointer(bp + 40)) = [3]uintptr{ts + 38447, ts + 38452, uintptr(0)}
104123  	*(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
104124  	var rc int32 = SQLITE_OK
104125  	var zDbname uintptr = uintptr(0)
104126  	*(*int32)(unsafe.Pointer(bp + 32)) = 0
104127  	*(*int32)(unsafe.Pointer(bp + 64)) = 0
104128  	*(*int32)(unsafe.Pointer(bp + 68)) = 0
104129  	*(*int32)(unsafe.Pointer(bp + 72)) = 0
104130  
104131  	if objc != 7 {
104132  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv,
104133  			ts+38459)
104134  		return TCL_ERROR
104135  	}
104136  
104137  	zDbname = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
104138  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp) != 0 ||
104139  		tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+8, int32(unsafe.Sizeof(uintptr(0))), ts+38511, 0, bp+32) != 0 ||
104140  		tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 4*8)), bp+40, int32(unsafe.Sizeof(uintptr(0))), ts+38511, 0, bp+64) != 0 ||
104141  		tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 5*8)), bp+68) != 0 ||
104142  		tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 6*8)), bp+72) != 0 {
104143  		return TCL_ERROR
104144  	}
104145  
104146  	sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp)), zDbname, SQLITE_FCNTL_FILE_POINTER, bp+80)
104147  	if *(*uintptr)(unsafe.Pointer(bp + 80)) == uintptr(0) {
104148  		return TCL_ERROR
104149  	}
104150  	rc = (*struct {
104151  		f func(*libc.TLS, uintptr, int32, int32, int32) int32
104152  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 80)))).FpMethods)).FxShmLock})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 80)), *(*int32)(unsafe.Pointer(bp + 68)), *(*int32)(unsafe.Pointer(bp + 72)),
104153  		func() int32 {
104154  			if *(*int32)(unsafe.Pointer(bp + 32)) == 0 {
104155  				return SQLITE_SHM_SHARED
104156  			}
104157  			return SQLITE_SHM_EXCLUSIVE
104158  		}()|
104159  			func() int32 {
104160  				if *(*int32)(unsafe.Pointer(bp + 64)) == 0 {
104161  					return SQLITE_SHM_LOCK
104162  				}
104163  				return SQLITE_SHM_UNLOCK
104164  			}())
104165  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3ErrName(tls, rc), -1))
104166  	return TCL_OK
104167  }
104168  
104169  func test_vfs_set_readmark(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
104170  	bp := tls.Alloc(48)
104171  	defer tls.Free(48)
104172  
104173  	*(*uintptr)(unsafe.Pointer(bp + 16)) = uintptr(0)
104174  	var rc int32 = SQLITE_OK
104175  	var zDbname uintptr = uintptr(0)
104176  	*(*int32)(unsafe.Pointer(bp + 24)) = 0
104177  	*(*int32)(unsafe.Pointer(bp + 28)) = -1
104178  
104179  	*(*uintptr)(unsafe.Pointer(bp + 40)) = uintptr(0)
104180  	var aShm uintptr
104181  	var iOff int32
104182  
104183  	if objc != 4 && objc != 5 {
104184  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+38515)
104185  		return TCL_ERROR
104186  	}
104187  
104188  	zDbname = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
104189  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+16) != 0 ||
104190  		tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+24) != 0 ||
104191  		objc == 5 && tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 4*8)), bp+28) != 0 {
104192  		return TCL_ERROR
104193  	}
104194  
104195  	sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 16)), zDbname, SQLITE_FCNTL_FILE_POINTER, bp+32)
104196  	if *(*uintptr)(unsafe.Pointer(bp + 32)) == uintptr(0) {
104197  		return TCL_ERROR
104198  	}
104199  	rc = (*struct {
104200  		f func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32
104201  	})(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32)))).FpMethods)).FxShmMap})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), 0, 32*1024, 0, bp+40)
104202  	if rc != SQLITE_OK {
104203  		tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3ErrName(tls, rc), -1))
104204  		return TCL_ERROR
104205  	}
104206  	if *(*uintptr)(unsafe.Pointer(bp + 40)) == uintptr(0) {
104207  		tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+38538, 0))
104208  		return TCL_ERROR
104209  	}
104210  	aShm = *(*uintptr)(unsafe.Pointer(bp + 40))
104211  	iOff = 12*2 + 1 + *(*int32)(unsafe.Pointer(bp + 24))
104212  
104213  	if objc == 5 {
104214  		*(*u32)(unsafe.Pointer(aShm + uintptr(iOff)*4)) = u32(*(*int32)(unsafe.Pointer(bp + 28)))
104215  	}
104216  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, int32(*(*u32)(unsafe.Pointer(aShm + uintptr(iOff)*4)))))
104217  
104218  	return TCL_OK
104219  }
104220  
104221  func Sqlitetestvfs_Init(tls *libc.TLS, interp uintptr) int32 {
104222  	tcl.XTcl_CreateObjCommand(tls, interp, ts+38562, *(*uintptr)(unsafe.Pointer(&struct {
104223  		f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32
104224  	}{testvfs_cmd})), uintptr(0), uintptr(0))
104225  	tcl.XTcl_CreateObjCommand(tls, interp, ts+38570, *(*uintptr)(unsafe.Pointer(&struct {
104226  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
104227  	}{test_vfs_shmlock})), uintptr(0), uintptr(0))
104228  	tcl.XTcl_CreateObjCommand(tls, interp, ts+38582, *(*uintptr)(unsafe.Pointer(&struct {
104229  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
104230  	}{test_vfs_set_readmark})), uintptr(0), uintptr(0))
104231  	return TCL_OK
104232  }
104233  
104234  func windirent_getenv(tls *libc.TLS, name uintptr) uintptr {
104235  	var dwSize DWORD = uint32(uint64(unsafe.Sizeof(value)) / uint64(unsafe.Sizeof(int8(0))))
104236  	var dwRet DWORD
104237  
104238  	libc.Xmemset(tls, uintptr(unsafe.Pointer(&value)), 0, uint64(unsafe.Sizeof(value)))
104239  	dwRet = libc.XGetEnvironmentVariableA(tls, name, uintptr(unsafe.Pointer(&value)), dwSize)
104240  	if dwRet == DWORD(0) || dwRet > dwSize {
104241  		return uintptr(0)
104242  	} else {
104243  		return uintptr(unsafe.Pointer(&value))
104244  	}
104245  	return uintptr(0)
104246  }
104247  
104248  var value [32768]int8
104249  
104250  func opendir(tls *libc.TLS, dirname uintptr) LPDIR {
104251  	bp := tls.Alloc(304)
104252  	defer tls.Free(304)
104253  
104254  	var dirp LPDIR
104255  	var namesize SIZE_T
104256  	dirp = sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(DIR{})))
104257  	namesize = uint64(unsafe.Sizeof([260]int8{})) / uint64(unsafe.Sizeof(int8(0)))
104258  
104259  	if !(dirp == uintptr(0)) {
104260  		goto __1
104261  	}
104262  	return uintptr(0)
104263  __1:
104264  	;
104265  	libc.Xmemset(tls, dirp, 0, uint64(unsafe.Sizeof(DIR{})))
104266  
104267  	if !(sqlite3.Xsqlite3_stricmp(tls, dirname, ts+38599) == 0) {
104268  		goto __2
104269  	}
104270  	dirname = windirent_getenv(tls, ts+30713)
104271  __2:
104272  	;
104273  	libc.Xmemset(tls, bp+8, 0, uint64(unsafe.Sizeof(_finddata64i32_t{})))
104274  	libc.X_snprintf(tls, bp+8+36, namesize, ts+38601, libc.VaList(bp, dirname))
104275  	(*DIR)(unsafe.Pointer(dirp)).Fd_handle = libc.X_findfirst64i32(tls, bp+8+36, bp+8)
104276  
104277  	if !((*DIR)(unsafe.Pointer(dirp)).Fd_handle == int64(-1)) {
104278  		goto __3
104279  	}
104280  	closedir(tls, dirp)
104281  	return uintptr(0)
104282  __3:
104283  	;
104284  	if !((*_finddata64i32_t)(unsafe.Pointer(bp+8)).Fattrib&uint32(X_A_HIDDEN) != 0 || (*_finddata64i32_t)(unsafe.Pointer(bp+8)).Fattrib&uint32(X_A_SYSTEM) != 0) {
104285  		goto __4
104286  	}
104287  next:
104288  	libc.Xmemset(tls, bp+8, 0, uint64(unsafe.Sizeof(_finddata64i32_t{})))
104289  	if !(libc.X_findnext64i32(tls, (*DIR)(unsafe.Pointer(dirp)).Fd_handle, bp+8) == -1) {
104290  		goto __5
104291  	}
104292  	closedir(tls, dirp)
104293  	return uintptr(0)
104294  __5:
104295  	;
104296  	if !((*_finddata64i32_t)(unsafe.Pointer(bp+8)).Fattrib&uint32(X_A_HIDDEN) != 0 || (*_finddata64i32_t)(unsafe.Pointer(bp+8)).Fattrib&uint32(X_A_SYSTEM) != 0) {
104297  		goto __6
104298  	}
104299  	goto next
104300  __6:
104301  	;
104302  __4:
104303  	;
104304  	(*DIR)(unsafe.Pointer(dirp)).Fd_first.Fd_attributes = (*_finddata64i32_t)(unsafe.Pointer(bp + 8)).Fattrib
104305  	libc.Xstrncpy(tls, dirp+8+8, bp+8+36, uint64(FILENAME_MAX))
104306  	*(*int8)(unsafe.Pointer(dirp + 8 + 8 + 260)) = int8(0)
104307  
104308  	return dirp
104309  }
104310  
104311  func readdir(tls *libc.TLS, dirp LPDIR) LPDIRENT {
104312  	bp := tls.Alloc(296)
104313  	defer tls.Free(296)
104314  
104315  	if !(dirp == uintptr(0)) {
104316  		goto __1
104317  	}
104318  	return uintptr(0)
104319  __1:
104320  	;
104321  	if !(int32((*DIR)(unsafe.Pointer(dirp)).Fd_first.Fd_ino) == 0) {
104322  		goto __2
104323  	}
104324  	(*DIR)(unsafe.Pointer(dirp)).Fd_first.Fd_ino++
104325  	(*DIR)(unsafe.Pointer(dirp)).Fd_next.Fd_ino++
104326  
104327  	return dirp + 8
104328  __2:
104329  	;
104330  next:
104331  	libc.Xmemset(tls, bp, 0, uint64(unsafe.Sizeof(_finddata64i32_t{})))
104332  	if !(libc.X_findnext64i32(tls, (*DIR)(unsafe.Pointer(dirp)).Fd_handle, bp) == -1) {
104333  		goto __3
104334  	}
104335  	return uintptr(0)
104336  __3:
104337  	;
104338  	if !((*_finddata64i32_t)(unsafe.Pointer(bp)).Fattrib&uint32(X_A_HIDDEN) != 0 || (*_finddata64i32_t)(unsafe.Pointer(bp)).Fattrib&uint32(X_A_SYSTEM) != 0) {
104339  		goto __4
104340  	}
104341  	goto next
104342  __4:
104343  	;
104344  	(*DIR)(unsafe.Pointer(dirp)).Fd_next.Fd_ino++
104345  	(*DIR)(unsafe.Pointer(dirp)).Fd_next.Fd_attributes = (*_finddata64i32_t)(unsafe.Pointer(bp)).Fattrib
104346  	libc.Xstrncpy(tls, dirp+280+8, bp+36, uint64(FILENAME_MAX))
104347  	*(*int8)(unsafe.Pointer(dirp + 280 + 8 + 260)) = int8(0)
104348  
104349  	return dirp + 280
104350  }
104351  
104352  func readdir_r(tls *libc.TLS, dirp LPDIR, entry LPDIRENT, result uintptr) INT {
104353  	bp := tls.Alloc(296)
104354  	defer tls.Free(296)
104355  
104356  	if !(dirp == uintptr(0)) {
104357  		goto __1
104358  	}
104359  	return EBADF
104360  __1:
104361  	;
104362  	if !(int32((*DIR)(unsafe.Pointer(dirp)).Fd_first.Fd_ino) == 0) {
104363  		goto __2
104364  	}
104365  	(*DIR)(unsafe.Pointer(dirp)).Fd_first.Fd_ino++
104366  	(*DIR)(unsafe.Pointer(dirp)).Fd_next.Fd_ino++
104367  
104368  	(*DIRENT)(unsafe.Pointer(entry)).Fd_ino = (*DIR)(unsafe.Pointer(dirp)).Fd_first.Fd_ino
104369  	(*DIRENT)(unsafe.Pointer(entry)).Fd_attributes = (*DIR)(unsafe.Pointer(dirp)).Fd_first.Fd_attributes
104370  	libc.Xstrncpy(tls, entry+8, dirp+8+8, uint64(FILENAME_MAX))
104371  	*(*int8)(unsafe.Pointer(entry + 8 + 260)) = int8(0)
104372  
104373  	*(*LPDIRENT)(unsafe.Pointer(result)) = entry
104374  	return 0
104375  __2:
104376  	;
104377  next:
104378  	libc.Xmemset(tls, bp, 0, uint64(unsafe.Sizeof(_finddata64i32_t{})))
104379  	if !(libc.X_findnext64i32(tls, (*DIR)(unsafe.Pointer(dirp)).Fd_handle, bp) == -1) {
104380  		goto __3
104381  	}
104382  	*(*LPDIRENT)(unsafe.Pointer(result)) = uintptr(0)
104383  	return ENOENT
104384  __3:
104385  	;
104386  	if !((*_finddata64i32_t)(unsafe.Pointer(bp)).Fattrib&uint32(X_A_HIDDEN) != 0 || (*_finddata64i32_t)(unsafe.Pointer(bp)).Fattrib&uint32(X_A_SYSTEM) != 0) {
104387  		goto __4
104388  	}
104389  	goto next
104390  __4:
104391  	;
104392  	(*DIRENT)(unsafe.Pointer(entry)).Fd_ino = libc.Uint16(libc.Uint16FromInt32(-1))
104393  	(*DIRENT)(unsafe.Pointer(entry)).Fd_attributes = (*_finddata64i32_t)(unsafe.Pointer(bp)).Fattrib
104394  	libc.Xstrncpy(tls, entry+8, bp+36, uint64(FILENAME_MAX))
104395  	*(*int8)(unsafe.Pointer(entry + 8 + 260)) = int8(0)
104396  
104397  	*(*LPDIRENT)(unsafe.Pointer(result)) = entry
104398  	return 0
104399  }
104400  
104401  func closedir(tls *libc.TLS, dirp LPDIR) INT {
104402  	var result INT = 0
104403  
104404  	if dirp == uintptr(0) {
104405  		return EINVAL
104406  	}
104407  
104408  	if (*DIR)(unsafe.Pointer(dirp)).Fd_handle != int64(0) && (*DIR)(unsafe.Pointer(dirp)).Fd_handle != int64(-1) {
104409  		result = libc.X_findclose(tls, (*DIR)(unsafe.Pointer(dirp)).Fd_handle)
104410  	}
104411  
104412  	sqlite3.Xsqlite3_free(tls, dirp)
104413  	return result
104414  }
104415  
104416  type TestWindow1 = struct {
104417  	FxStep    uintptr
104418  	FxFinal   uintptr
104419  	FxValue   uintptr
104420  	FxInverse uintptr
104421  	Finterp   uintptr
104422  }
104423  
104424  type TestWindow = TestWindow1
104425  
104426  type TestWindowCtx1 = struct{ FpVal uintptr }
104427  
104428  type TestWindowCtx = TestWindowCtx1
104429  
104430  func doTestWindowStep(tls *libc.TLS, bInverse int32, ctx uintptr, nArg int32, apArg uintptr) {
104431  	var i int32
104432  	var p uintptr = sqlite3.Xsqlite3_user_data(tls, ctx)
104433  	var pEval uintptr = tcl.XTcl_DuplicateObj(tls, func() uintptr {
104434  		if bInverse != 0 {
104435  			return (*TestWindow)(unsafe.Pointer(p)).FxInverse
104436  		}
104437  		return (*TestWindow)(unsafe.Pointer(p)).FxStep
104438  	}())
104439  	var pCtx uintptr = sqlite3.Xsqlite3_aggregate_context(tls, ctx, int32(unsafe.Sizeof(TestWindowCtx{})))
104440  
104441  	(*Tcl_Obj)(unsafe.Pointer(pEval)).FrefCount++
104442  	if pCtx != 0 {
104443  		var zResult uintptr
104444  		var rc int32
104445  		if (*TestWindowCtx)(unsafe.Pointer(pCtx)).FpVal != 0 {
104446  			tcl.XTcl_ListObjAppendElement(tls, (*TestWindow)(unsafe.Pointer(p)).Finterp, pEval, tcl.XTcl_DuplicateObj(tls, (*TestWindowCtx)(unsafe.Pointer(pCtx)).FpVal))
104447  		} else {
104448  			tcl.XTcl_ListObjAppendElement(tls, (*TestWindow)(unsafe.Pointer(p)).Finterp, pEval, tcl.XTcl_NewStringObj(tls, ts+584, -1))
104449  		}
104450  		for i = 0; i < nArg; i++ {
104451  			var pArg uintptr
104452  			pArg = tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apArg + uintptr(i)*8))), -1)
104453  			tcl.XTcl_ListObjAppendElement(tls, (*TestWindow)(unsafe.Pointer(p)).Finterp, pEval, pArg)
104454  		}
104455  		rc = tcl.XTcl_EvalObjEx(tls, (*TestWindow)(unsafe.Pointer(p)).Finterp, pEval, TCL_EVAL_GLOBAL)
104456  		if rc != TCL_OK {
104457  			zResult = tcl.XTcl_GetStringResult(tls, (*TestWindow)(unsafe.Pointer(p)).Finterp)
104458  			sqlite3.Xsqlite3_result_error(tls, ctx, zResult, -1)
104459  		} else {
104460  			if (*TestWindowCtx)(unsafe.Pointer(pCtx)).FpVal != 0 {
104461  				for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
104462  					var _objPtr uintptr = (*TestWindowCtx)(unsafe.Pointer(pCtx)).FpVal
104463  					if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
104464  						tcl.XTclFreeObj(tls, _objPtr)
104465  					}
104466  				}
104467  			}
104468  			(*TestWindowCtx)(unsafe.Pointer(pCtx)).FpVal = tcl.XTcl_DuplicateObj(tls, tcl.XTcl_GetObjResult(tls, (*TestWindow)(unsafe.Pointer(p)).Finterp))
104469  			(*Tcl_Obj)(unsafe.Pointer((*TestWindowCtx)(unsafe.Pointer(pCtx)).FpVal)).FrefCount++
104470  		}
104471  	}
104472  	for __ccgo1 := true; __ccgo1; __ccgo1 = 0 != 0 {
104473  		var _objPtr uintptr = pEval
104474  		if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
104475  			tcl.XTclFreeObj(tls, _objPtr)
104476  		}
104477  	}
104478  }
104479  
104480  func doTestWindowFinalize(tls *libc.TLS, bValue int32, ctx uintptr) {
104481  	var p uintptr = sqlite3.Xsqlite3_user_data(tls, ctx)
104482  	var pEval uintptr = tcl.XTcl_DuplicateObj(tls, func() uintptr {
104483  		if bValue != 0 {
104484  			return (*TestWindow)(unsafe.Pointer(p)).FxValue
104485  		}
104486  		return (*TestWindow)(unsafe.Pointer(p)).FxFinal
104487  	}())
104488  	var pCtx uintptr = sqlite3.Xsqlite3_aggregate_context(tls, ctx, int32(unsafe.Sizeof(TestWindowCtx{})))
104489  
104490  	(*Tcl_Obj)(unsafe.Pointer(pEval)).FrefCount++
104491  	if pCtx != 0 {
104492  		var zResult uintptr
104493  		var rc int32
104494  		if (*TestWindowCtx)(unsafe.Pointer(pCtx)).FpVal != 0 {
104495  			tcl.XTcl_ListObjAppendElement(tls, (*TestWindow)(unsafe.Pointer(p)).Finterp, pEval, tcl.XTcl_DuplicateObj(tls, (*TestWindowCtx)(unsafe.Pointer(pCtx)).FpVal))
104496  		} else {
104497  			tcl.XTcl_ListObjAppendElement(tls, (*TestWindow)(unsafe.Pointer(p)).Finterp, pEval, tcl.XTcl_NewStringObj(tls, ts+584, -1))
104498  		}
104499  
104500  		rc = tcl.XTcl_EvalObjEx(tls, (*TestWindow)(unsafe.Pointer(p)).Finterp, pEval, TCL_EVAL_GLOBAL)
104501  		zResult = tcl.XTcl_GetStringResult(tls, (*TestWindow)(unsafe.Pointer(p)).Finterp)
104502  		if rc != TCL_OK {
104503  			sqlite3.Xsqlite3_result_error(tls, ctx, zResult, -1)
104504  		} else {
104505  			sqlite3.Xsqlite3_result_text(tls, ctx, zResult, -1, libc.UintptrFromInt32(-1))
104506  		}
104507  
104508  		if bValue == 0 {
104509  			if (*TestWindowCtx)(unsafe.Pointer(pCtx)).FpVal != 0 {
104510  				for __ccgo := true; __ccgo; __ccgo = 0 != 0 {
104511  					var _objPtr uintptr = (*TestWindowCtx)(unsafe.Pointer(pCtx)).FpVal
104512  					if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
104513  						tcl.XTclFreeObj(tls, _objPtr)
104514  					}
104515  				}
104516  			}
104517  			(*TestWindowCtx)(unsafe.Pointer(pCtx)).FpVal = uintptr(0)
104518  		}
104519  	}
104520  	for __ccgo1 := true; __ccgo1; __ccgo1 = 0 != 0 {
104521  		var _objPtr uintptr = pEval
104522  		if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer(_objPtr)).FrefCount, 1) <= 1 {
104523  			tcl.XTclFreeObj(tls, _objPtr)
104524  		}
104525  	}
104526  }
104527  
104528  func testWindowStep(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
104529  	doTestWindowStep(tls, 0, ctx, nArg, apArg)
104530  }
104531  
104532  func testWindowInverse(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
104533  	doTestWindowStep(tls, 1, ctx, nArg, apArg)
104534  }
104535  
104536  func testWindowFinal(tls *libc.TLS, ctx uintptr) {
104537  	doTestWindowFinalize(tls, 0, ctx)
104538  }
104539  
104540  func testWindowValue(tls *libc.TLS, ctx uintptr) {
104541  	doTestWindowFinalize(tls, 1, ctx)
104542  }
104543  
104544  func testWindowDestroy(tls *libc.TLS, pCtx uintptr) {
104545  	tcl.XTcl_Free(tls, pCtx)
104546  }
104547  
104548  func test_create_window(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
104549  	bp := tls.Alloc(8)
104550  	defer tls.Free(8)
104551  
104552  	var pNew uintptr
104553  
104554  	var zName uintptr
104555  	var rc int32
104556  
104557  	if objc != 7 {
104558  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+38606)
104559  		return TCL_ERROR
104560  	}
104561  
104562  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp) != 0 {
104563  		return TCL_ERROR
104564  	}
104565  	zName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))
104566  	pNew = tcl.XTcl_Alloc(tls, uint32(unsafe.Sizeof(TestWindow{})))
104567  	libc.Xmemset(tls, pNew, 0, uint64(unsafe.Sizeof(TestWindow{})))
104568  	(*TestWindow)(unsafe.Pointer(pNew)).FxStep = tcl.XTcl_DuplicateObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)))
104569  	(*TestWindow)(unsafe.Pointer(pNew)).FxFinal = tcl.XTcl_DuplicateObj(tls, *(*uintptr)(unsafe.Pointer(objv + 4*8)))
104570  	(*TestWindow)(unsafe.Pointer(pNew)).FxValue = tcl.XTcl_DuplicateObj(tls, *(*uintptr)(unsafe.Pointer(objv + 5*8)))
104571  	(*TestWindow)(unsafe.Pointer(pNew)).FxInverse = tcl.XTcl_DuplicateObj(tls, *(*uintptr)(unsafe.Pointer(objv + 6*8)))
104572  	(*TestWindow)(unsafe.Pointer(pNew)).Finterp = interp
104573  
104574  	(*Tcl_Obj)(unsafe.Pointer((*TestWindow)(unsafe.Pointer(pNew)).FxStep)).FrefCount++
104575  	(*Tcl_Obj)(unsafe.Pointer((*TestWindow)(unsafe.Pointer(pNew)).FxFinal)).FrefCount++
104576  	(*Tcl_Obj)(unsafe.Pointer((*TestWindow)(unsafe.Pointer(pNew)).FxValue)).FrefCount++
104577  	(*Tcl_Obj)(unsafe.Pointer((*TestWindow)(unsafe.Pointer(pNew)).FxInverse)).FrefCount++
104578  
104579  	rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp)), zName, -1, SQLITE_UTF8, pNew,
104580  		*(*uintptr)(unsafe.Pointer(&struct {
104581  			f func(*libc.TLS, uintptr, int32, uintptr)
104582  		}{testWindowStep})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{testWindowFinal})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{testWindowValue})), *(*uintptr)(unsafe.Pointer(&struct {
104583  			f func(*libc.TLS, uintptr, int32, uintptr)
104584  		}{testWindowInverse})),
104585  		*(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{testWindowDestroy})))
104586  	if rc != SQLITE_OK {
104587  		tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3ErrName(tls, rc), -1))
104588  		return TCL_ERROR
104589  	}
104590  
104591  	return TCL_OK
104592  }
104593  
104594  func test_create_window_misuse(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
104595  	bp := tls.Alloc(8)
104596  	defer tls.Free(8)
104597  
104598  	var rc int32
104599  
104600  	if !(objc != 2) {
104601  		goto __1
104602  	}
104603  	tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+2050)
104604  	return TCL_ERROR
104605  __1:
104606  	;
104607  	if !(getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp) != 0) {
104608  		goto __2
104609  	}
104610  	return TCL_ERROR
104611  __2:
104612  	;
104613  	rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp)), ts+38643, -1, SQLITE_UTF8, uintptr(0),
104614  		uintptr(0), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{testWindowFinal})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{testWindowValue})), *(*uintptr)(unsafe.Pointer(&struct {
104615  			f func(*libc.TLS, uintptr, int32, uintptr)
104616  		}{testWindowInverse})),
104617  		uintptr(0))
104618  	if !(rc != SQLITE_MISUSE) {
104619  		goto __3
104620  	}
104621  	goto error
104622  __3:
104623  	;
104624  	rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp)), ts+38643, -1, SQLITE_UTF8, uintptr(0),
104625  		*(*uintptr)(unsafe.Pointer(&struct {
104626  			f func(*libc.TLS, uintptr, int32, uintptr)
104627  		}{testWindowStep})), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{testWindowValue})), *(*uintptr)(unsafe.Pointer(&struct {
104628  			f func(*libc.TLS, uintptr, int32, uintptr)
104629  		}{testWindowInverse})),
104630  		uintptr(0))
104631  	if !(rc != SQLITE_MISUSE) {
104632  		goto __4
104633  	}
104634  	goto error
104635  __4:
104636  	;
104637  	rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp)), ts+38643, -1, SQLITE_UTF8, uintptr(0),
104638  		*(*uintptr)(unsafe.Pointer(&struct {
104639  			f func(*libc.TLS, uintptr, int32, uintptr)
104640  		}{testWindowStep})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{testWindowFinal})), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
104641  			f func(*libc.TLS, uintptr, int32, uintptr)
104642  		}{testWindowInverse})),
104643  		uintptr(0))
104644  	if !(rc != SQLITE_MISUSE) {
104645  		goto __5
104646  	}
104647  	goto error
104648  __5:
104649  	;
104650  	rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp)), ts+38643, -1, SQLITE_UTF8, uintptr(0),
104651  		*(*uintptr)(unsafe.Pointer(&struct {
104652  			f func(*libc.TLS, uintptr, int32, uintptr)
104653  		}{testWindowStep})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{testWindowFinal})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{testWindowValue})), uintptr(0),
104654  		uintptr(0))
104655  	if !(rc != SQLITE_MISUSE) {
104656  		goto __6
104657  	}
104658  	goto error
104659  __6:
104660  	;
104661  	return TCL_OK
104662  
104663  error:
104664  	tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, ts+38647, -1))
104665  	return TCL_ERROR
104666  }
104667  
104668  func sumintStep(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
104669  	var pInt uintptr
104670  
104671  	if sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apArg))) != SQLITE_INTEGER {
104672  		sqlite3.Xsqlite3_result_error(tls, ctx, ts+38665, -1)
104673  		return
104674  	}
104675  	pInt = sqlite3.Xsqlite3_aggregate_context(tls, ctx, int32(unsafe.Sizeof(sqlite3_int64(0))))
104676  	if pInt != 0 {
104677  		*(*sqlite3_int64)(unsafe.Pointer(pInt)) += sqlite3.Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(apArg)))
104678  	}
104679  }
104680  
104681  func sumintInverse(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) {
104682  	var pInt uintptr
104683  	pInt = sqlite3.Xsqlite3_aggregate_context(tls, ctx, int32(unsafe.Sizeof(sqlite3_int64(0))))
104684  	*(*sqlite3_int64)(unsafe.Pointer(pInt)) -= sqlite3.Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(apArg)))
104685  }
104686  
104687  func sumintFinal(tls *libc.TLS, ctx uintptr) {
104688  	var res sqlite3_int64 = int64(0)
104689  	var pInt uintptr
104690  	pInt = sqlite3.Xsqlite3_aggregate_context(tls, ctx, 0)
104691  	if pInt != 0 {
104692  		res = *(*sqlite3_int64)(unsafe.Pointer(pInt))
104693  	}
104694  	sqlite3.Xsqlite3_result_int64(tls, ctx, res)
104695  }
104696  
104697  func sumintValue(tls *libc.TLS, ctx uintptr) {
104698  	var res sqlite3_int64 = int64(0)
104699  	var pInt uintptr
104700  	pInt = sqlite3.Xsqlite3_aggregate_context(tls, ctx, 0)
104701  	if pInt != 0 {
104702  		res = *(*sqlite3_int64)(unsafe.Pointer(pInt))
104703  	}
104704  	sqlite3.Xsqlite3_result_int64(tls, ctx, res)
104705  }
104706  
104707  func test_create_sumint(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
104708  	bp := tls.Alloc(8)
104709  	defer tls.Free(8)
104710  
104711  	var rc int32
104712  
104713  	if objc != 2 {
104714  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+2050)
104715  		return TCL_ERROR
104716  	}
104717  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp) != 0 {
104718  		return TCL_ERROR
104719  	}
104720  
104721  	rc = sqlite3.Xsqlite3_create_window_function(tls, *(*uintptr)(unsafe.Pointer(bp)), ts+38682, 1, SQLITE_UTF8, uintptr(0),
104722  		*(*uintptr)(unsafe.Pointer(&struct {
104723  			f func(*libc.TLS, uintptr, int32, uintptr)
104724  		}{sumintStep})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sumintFinal})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sumintValue})), *(*uintptr)(unsafe.Pointer(&struct {
104725  			f func(*libc.TLS, uintptr, int32, uintptr)
104726  		}{sumintInverse})),
104727  		uintptr(0))
104728  
104729  	if rc != SQLITE_OK {
104730  		tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3ErrName(tls, rc), -1))
104731  		return TCL_ERROR
104732  	}
104733  	return TCL_OK
104734  }
104735  
104736  func test_override_sum(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 {
104737  	bp := tls.Alloc(8)
104738  	defer tls.Free(8)
104739  
104740  	var rc int32
104741  
104742  	if objc != 2 {
104743  		tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+2050)
104744  		return TCL_ERROR
104745  	}
104746  	if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp) != 0 {
104747  		return TCL_ERROR
104748  	}
104749  
104750  	rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp)), ts+38689, -1, SQLITE_UTF8, uintptr(0),
104751  		uintptr(0), *(*uintptr)(unsafe.Pointer(&struct {
104752  			f func(*libc.TLS, uintptr, int32, uintptr)
104753  		}{sumintStep})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sumintFinal})))
104754  
104755  	if rc != SQLITE_OK {
104756  		tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3ErrName(tls, rc), -1))
104757  		return TCL_ERROR
104758  	}
104759  	return TCL_OK
104760  }
104761  
104762  func Sqlitetest_window_Init(tls *libc.TLS, interp uintptr) int32 {
104763  	var i int32
104764  	for i = 0; uint64(i) < uint64(unsafe.Sizeof(aObjCmd14))/uint64(unsafe.Sizeof(struct {
104765  		FzName       uintptr
104766  		FxProc       uintptr
104767  		FclientData  int32
104768  		F__ccgo_pad1 [4]byte
104769  	}{})); i++ {
104770  		var c ClientData = uintptr(intptr_t(aObjCmd14[i].FclientData))
104771  		tcl.XTcl_CreateObjCommand(tls, interp, aObjCmd14[i].FzName, aObjCmd14[i].FxProc, c, uintptr(0))
104772  	}
104773  	return TCL_OK
104774  }
104775  
104776  var aObjCmd14 = [4]struct {
104777  	FzName       uintptr
104778  	FxProc       uintptr
104779  	FclientData  int32
104780  	F__ccgo_pad1 [4]byte
104781  }{
104782  	{FzName: ts + 38693, FxProc: 0},
104783  	{FzName: ts + 38724, FxProc: 0},
104784  	{FzName: ts + 38759, FxProc: 0},
104785  	{FzName: ts + 38778, FxProc: 0},
104786  }
104787  
104788  func init() {
104789  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&CrashFileVtab)) + 8)) = cfClose
104790  	*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&CrashFileVtab)) + 16)) = cfRead
104791  	*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&CrashFileVtab)) + 24)) = cfWrite
104792  	*(*func(*libc.TLS, uintptr, sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&CrashFileVtab)) + 32)) = cfTruncate
104793  	*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&CrashFileVtab)) + 40)) = cfSync
104794  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&CrashFileVtab)) + 48)) = cfFileSize
104795  	*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&CrashFileVtab)) + 56)) = cfLock
104796  	*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&CrashFileVtab)) + 64)) = cfUnlock
104797  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&CrashFileVtab)) + 72)) = cfCheckReservedLock
104798  	*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&CrashFileVtab)) + 80)) = cfFileControl
104799  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&CrashFileVtab)) + 88)) = cfSectorSize
104800  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&CrashFileVtab)) + 96)) = cfDeviceCharacteristics
104801  	*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&CrashFileVtab)) + 104)) = cfShmMap
104802  	*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&CrashFileVtab)) + 112)) = cfShmLock
104803  	*(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&CrashFileVtab)) + 120)) = cfShmBarrier
104804  	*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&CrashFileVtab)) + 128)) = cfShmUnmap
104805  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&CsvModule)) + 8)) = csvtabCreate
104806  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&CsvModule)) + 16)) = csvtabConnect
104807  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&CsvModule)) + 24)) = csvtabBestIndex
104808  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&CsvModule)) + 32)) = csvtabDisconnect
104809  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&CsvModule)) + 40)) = csvtabDisconnect
104810  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&CsvModule)) + 48)) = csvtabOpen
104811  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&CsvModule)) + 56)) = csvtabClose
104812  	*(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&CsvModule)) + 64)) = csvtabFilter
104813  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&CsvModule)) + 72)) = csvtabNext
104814  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&CsvModule)) + 80)) = csvtabEof
104815  	*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&CsvModule)) + 88)) = csvtabColumn
104816  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&CsvModule)) + 96)) = csvtabRowid
104817  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&CsvModuleFauxWrite)) + 8)) = csvtabCreate
104818  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&CsvModuleFauxWrite)) + 16)) = csvtabConnect
104819  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&CsvModuleFauxWrite)) + 24)) = csvtabBestIndex
104820  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&CsvModuleFauxWrite)) + 32)) = csvtabDisconnect
104821  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&CsvModuleFauxWrite)) + 40)) = csvtabDisconnect
104822  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&CsvModuleFauxWrite)) + 48)) = csvtabOpen
104823  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&CsvModuleFauxWrite)) + 56)) = csvtabClose
104824  	*(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&CsvModuleFauxWrite)) + 64)) = csvtabFilter
104825  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&CsvModuleFauxWrite)) + 72)) = csvtabNext
104826  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&CsvModuleFauxWrite)) + 80)) = csvtabEof
104827  	*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&CsvModuleFauxWrite)) + 88)) = csvtabColumn
104828  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&CsvModuleFauxWrite)) + 96)) = csvtabRowid
104829  	*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&CsvModuleFauxWrite)) + 104)) = csvtabUpdate
104830  	*(*func(*libc.TLS, ClientData, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&IncrblobChannelType)) + 16)) = incrblobClose
104831  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&IncrblobChannelType)) + 24)) = incrblobInput
104832  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&IncrblobChannelType)) + 32)) = incrblobOutput
104833  	*(*func(*libc.TLS, ClientData, int32, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&IncrblobChannelType)) + 40)) = incrblobSeek
104834  	*(*func(*libc.TLS, ClientData, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&IncrblobChannelType)) + 64)) = incrblobWatch
104835  	*(*func(*libc.TLS, ClientData, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&IncrblobChannelType)) + 72)) = incrblobHandle
104836  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd)) + 8)) = f5tCreateTokenizer
104837  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd)) + 32)) = f5tTokenizerReturn
104838  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd)) + 56)) = f5tTokenize
104839  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd)) + 80)) = f5tCreateFunction
104840  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd)) + 104)) = f5tMayBeCorrupt
104841  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd)) + 128)) = f5tTokenHash
104842  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd)) + 152)) = f5tRegisterMatchinfo
104843  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd)) + 176)) = f5tRegisterTok
104844  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd1)) + 8)) = *(*uintptr)(unsafe.Pointer(&struct {
104845  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
104846  	}{db_enter}))
104847  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd1)) + 24)) = *(*uintptr)(unsafe.Pointer(&struct {
104848  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
104849  	}{db_leave}))
104850  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd1)) + 40)) = *(*uintptr)(unsafe.Pointer(&struct {
104851  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
104852  	}{sqlite3_mprintf_int}))
104853  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd1)) + 56)) = *(*uintptr)(unsafe.Pointer(&struct {
104854  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
104855  	}{sqlite3_mprintf_int64}))
104856  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd1)) + 72)) = *(*uintptr)(unsafe.Pointer(&struct {
104857  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
104858  	}{sqlite3_mprintf_long}))
104859  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd1)) + 88)) = *(*uintptr)(unsafe.Pointer(&struct {
104860  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
104861  	}{sqlite3_mprintf_str}))
104862  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd1)) + 104)) = *(*uintptr)(unsafe.Pointer(&struct {
104863  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
104864  	}{sqlite3_snprintf_str}))
104865  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd1)) + 120)) = *(*uintptr)(unsafe.Pointer(&struct {
104866  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
104867  	}{sqlite3_mprintf_stronly}))
104868  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd1)) + 136)) = *(*uintptr)(unsafe.Pointer(&struct {
104869  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
104870  	}{sqlite3_mprintf_double}))
104871  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd1)) + 152)) = *(*uintptr)(unsafe.Pointer(&struct {
104872  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
104873  	}{sqlite3_mprintf_scaled}))
104874  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd1)) + 168)) = *(*uintptr)(unsafe.Pointer(&struct {
104875  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
104876  	}{sqlite3_mprintf_hexdouble}))
104877  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd1)) + 184)) = *(*uintptr)(unsafe.Pointer(&struct {
104878  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
104879  	}{test_mprintf_z}))
104880  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd1)) + 200)) = *(*uintptr)(unsafe.Pointer(&struct {
104881  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
104882  	}{test_mprintf_n}))
104883  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd1)) + 216)) = *(*uintptr)(unsafe.Pointer(&struct {
104884  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
104885  	}{test_snprintf_int}))
104886  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd1)) + 232)) = *(*uintptr)(unsafe.Pointer(&struct {
104887  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
104888  	}{test_last_rowid}))
104889  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd1)) + 248)) = *(*uintptr)(unsafe.Pointer(&struct {
104890  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
104891  	}{test_exec_printf}))
104892  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd1)) + 264)) = *(*uintptr)(unsafe.Pointer(&struct {
104893  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
104894  	}{test_exec_hex}))
104895  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd1)) + 280)) = *(*uintptr)(unsafe.Pointer(&struct {
104896  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
104897  	}{test_exec}))
104898  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd1)) + 296)) = *(*uintptr)(unsafe.Pointer(&struct {
104899  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
104900  	}{test_exec_nr}))
104901  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd1)) + 312)) = *(*uintptr)(unsafe.Pointer(&struct {
104902  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
104903  	}{test_get_table_printf}))
104904  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd1)) + 328)) = *(*uintptr)(unsafe.Pointer(&struct {
104905  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
104906  	}{sqlite_test_close}))
104907  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd1)) + 344)) = *(*uintptr)(unsafe.Pointer(&struct {
104908  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
104909  	}{sqlite_test_close_v2}))
104910  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd1)) + 360)) = *(*uintptr)(unsafe.Pointer(&struct {
104911  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
104912  	}{test_create_function}))
104913  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd1)) + 376)) = *(*uintptr)(unsafe.Pointer(&struct {
104914  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
104915  	}{test_create_aggregate}))
104916  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd1)) + 392)) = *(*uintptr)(unsafe.Pointer(&struct {
104917  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
104918  	}{test_drop_modules}))
104919  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd1)) + 408)) = *(*uintptr)(unsafe.Pointer(&struct {
104920  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
104921  	}{test_register_func}))
104922  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd1)) + 424)) = *(*uintptr)(unsafe.Pointer(&struct {
104923  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
104924  	}{sqlite_abort}))
104925  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd1)) + 440)) = *(*uintptr)(unsafe.Pointer(&struct {
104926  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
104927  	}{test_bind}))
104928  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd1)) + 456)) = *(*uintptr)(unsafe.Pointer(&struct {
104929  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
104930  	}{test_breakpoint}))
104931  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd1)) + 472)) = *(*uintptr)(unsafe.Pointer(&struct {
104932  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
104933  	}{test_key}))
104934  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd1)) + 488)) = *(*uintptr)(unsafe.Pointer(&struct {
104935  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
104936  	}{test_rekey}))
104937  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd1)) + 504)) = *(*uintptr)(unsafe.Pointer(&struct {
104938  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
104939  	}{test_interrupt}))
104940  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd1)) + 520)) = *(*uintptr)(unsafe.Pointer(&struct {
104941  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
104942  	}{delete_function}))
104943  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd1)) + 536)) = *(*uintptr)(unsafe.Pointer(&struct {
104944  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
104945  	}{delete_collation}))
104946  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd1)) + 552)) = *(*uintptr)(unsafe.Pointer(&struct {
104947  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
104948  	}{get_autocommit}))
104949  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd1)) + 568)) = *(*uintptr)(unsafe.Pointer(&struct {
104950  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
104951  	}{test_busy_timeout}))
104952  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd1)) + 584)) = *(*uintptr)(unsafe.Pointer(&struct {
104953  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
104954  	}{test_printf}))
104955  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd1)) + 600)) = *(*uintptr)(unsafe.Pointer(&struct {
104956  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
104957  	}{test_io_trace}))
104958  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd1)) + 616)) = *(*uintptr)(unsafe.Pointer(&struct {
104959  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
104960  	}{clang_sanitize_address}))
104961  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd2)) + 8)) = *(*uintptr)(unsafe.Pointer(&struct {
104962  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
104963  	}{pager_open}))
104964  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd2)) + 24)) = *(*uintptr)(unsafe.Pointer(&struct {
104965  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
104966  	}{pager_close}))
104967  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd2)) + 40)) = *(*uintptr)(unsafe.Pointer(&struct {
104968  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
104969  	}{pager_commit}))
104970  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd2)) + 56)) = *(*uintptr)(unsafe.Pointer(&struct {
104971  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
104972  	}{pager_rollback}))
104973  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd2)) + 72)) = *(*uintptr)(unsafe.Pointer(&struct {
104974  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
104975  	}{pager_stmt_begin}))
104976  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd2)) + 88)) = *(*uintptr)(unsafe.Pointer(&struct {
104977  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
104978  	}{pager_stmt_commit}))
104979  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd2)) + 104)) = *(*uintptr)(unsafe.Pointer(&struct {
104980  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
104981  	}{pager_stmt_rollback}))
104982  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd2)) + 120)) = *(*uintptr)(unsafe.Pointer(&struct {
104983  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
104984  	}{pager_stats}))
104985  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd2)) + 136)) = *(*uintptr)(unsafe.Pointer(&struct {
104986  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
104987  	}{pager_pagecount}))
104988  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd2)) + 152)) = *(*uintptr)(unsafe.Pointer(&struct {
104989  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
104990  	}{page_get}))
104991  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd2)) + 168)) = *(*uintptr)(unsafe.Pointer(&struct {
104992  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
104993  	}{page_lookup}))
104994  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd2)) + 184)) = *(*uintptr)(unsafe.Pointer(&struct {
104995  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
104996  	}{page_unref}))
104997  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd2)) + 200)) = *(*uintptr)(unsafe.Pointer(&struct {
104998  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
104999  	}{page_read}))
105000  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd2)) + 216)) = *(*uintptr)(unsafe.Pointer(&struct {
105001  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
105002  	}{page_write}))
105003  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd2)) + 232)) = *(*uintptr)(unsafe.Pointer(&struct {
105004  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
105005  	}{page_number}))
105006  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd2)) + 248)) = *(*uintptr)(unsafe.Pointer(&struct {
105007  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
105008  	}{pager_truncate}))
105009  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd2)) + 264)) = *(*uintptr)(unsafe.Pointer(&struct {
105010  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
105011  	}{fake_big_file}))
105012  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd2)) + 280)) = *(*uintptr)(unsafe.Pointer(&struct {
105013  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
105014  	}{testBitvecBuiltinTest}))
105015  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd2)) + 296)) = *(*uintptr)(unsafe.Pointer(&struct {
105016  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
105017  	}{testPendingByte}))
105018  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd2)) + 312)) = *(*uintptr)(unsafe.Pointer(&struct {
105019  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
105020  	}{faultInstallCmd}))
105021  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd3)) + 8)) = *(*uintptr)(unsafe.Pointer(&struct {
105022  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
105023  	}{btree_open}))
105024  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd3)) + 24)) = *(*uintptr)(unsafe.Pointer(&struct {
105025  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
105026  	}{btree_close}))
105027  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd3)) + 40)) = *(*uintptr)(unsafe.Pointer(&struct {
105028  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
105029  	}{btree_begin_transaction}))
105030  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd3)) + 56)) = *(*uintptr)(unsafe.Pointer(&struct {
105031  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
105032  	}{btree_pager_stats}))
105033  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd3)) + 72)) = *(*uintptr)(unsafe.Pointer(&struct {
105034  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
105035  	}{btree_cursor}))
105036  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd3)) + 88)) = *(*uintptr)(unsafe.Pointer(&struct {
105037  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
105038  	}{btree_close_cursor}))
105039  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd3)) + 104)) = *(*uintptr)(unsafe.Pointer(&struct {
105040  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
105041  	}{btree_next}))
105042  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd3)) + 120)) = *(*uintptr)(unsafe.Pointer(&struct {
105043  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
105044  	}{btree_eof}))
105045  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd3)) + 136)) = *(*uintptr)(unsafe.Pointer(&struct {
105046  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
105047  	}{btree_payload_size}))
105048  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd3)) + 152)) = *(*uintptr)(unsafe.Pointer(&struct {
105049  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
105050  	}{btree_first}))
105051  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd3)) + 168)) = *(*uintptr)(unsafe.Pointer(&struct {
105052  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
105053  	}{btree_varint_test}))
105054  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd3)) + 184)) = *(*uintptr)(unsafe.Pointer(&struct {
105055  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
105056  	}{btree_from_db}))
105057  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd3)) + 200)) = *(*uintptr)(unsafe.Pointer(&struct {
105058  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
105059  	}{btree_ismemdb}))
105060  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd3)) + 216)) = *(*uintptr)(unsafe.Pointer(&struct {
105061  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
105062  	}{btree_set_cache_size}))
105063  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd4)) + 8)) = *(*uintptr)(unsafe.Pointer(&struct {
105064  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
105065  	}{binarize}))
105066  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd4)) + 24)) = *(*uintptr)(unsafe.Pointer(&struct {
105067  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
105068  	}{test_value_overhead}))
105069  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd4)) + 40)) = *(*uintptr)(unsafe.Pointer(&struct {
105070  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
105071  	}{test_translate}))
105072  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd4)) + 56)) = *(*uintptr)(unsafe.Pointer(&struct {
105073  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
105074  	}{test_translate_selftest}))
105075  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd5)) + 8)) = test_multiplex_initialize
105076  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd5)) + 24)) = test_multiplex_shutdown
105077  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd5)) + 40)) = test_multiplex_control
105078  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd6)) + 8)) = *(*uintptr)(unsafe.Pointer(&struct {
105079  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
105080  	}{test_shutdown}))
105081  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd6)) + 24)) = *(*uintptr)(unsafe.Pointer(&struct {
105082  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
105083  	}{test_initialize}))
105084  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd6)) + 40)) = *(*uintptr)(unsafe.Pointer(&struct {
105085  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
105086  	}{test_config}))
105087  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd6)) + 56)) = *(*uintptr)(unsafe.Pointer(&struct {
105088  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
105089  	}{test_enter_static_mutex}))
105090  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd6)) + 72)) = *(*uintptr)(unsafe.Pointer(&struct {
105091  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
105092  	}{test_leave_static_mutex}))
105093  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd6)) + 88)) = *(*uintptr)(unsafe.Pointer(&struct {
105094  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
105095  	}{test_enter_db_mutex}))
105096  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd6)) + 104)) = *(*uintptr)(unsafe.Pointer(&struct {
105097  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
105098  	}{test_leave_db_mutex}))
105099  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd6)) + 120)) = *(*uintptr)(unsafe.Pointer(&struct {
105100  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
105101  	}{test_alloc_mutex}))
105102  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd6)) + 136)) = *(*uintptr)(unsafe.Pointer(&struct {
105103  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
105104  	}{test_install_mutex_counters}))
105105  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd6)) + 152)) = *(*uintptr)(unsafe.Pointer(&struct {
105106  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
105107  	}{test_read_mutex_counters}))
105108  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd6)) + 168)) = *(*uintptr)(unsafe.Pointer(&struct {
105109  		f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32
105110  	}{test_clear_mutex_counters}))
105111  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd7)) + 8)) = test_quota_initialize
105112  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd7)) + 24)) = test_quota_shutdown
105113  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd7)) + 40)) = test_quota_set
105114  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd7)) + 56)) = test_quota_file
105115  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd7)) + 72)) = test_quota_dump
105116  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd7)) + 88)) = test_quota_fopen
105117  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd7)) + 104)) = test_quota_fread
105118  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd7)) + 120)) = test_quota_fwrite
105119  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd7)) + 136)) = test_quota_fclose
105120  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd7)) + 152)) = test_quota_fflush
105121  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd7)) + 168)) = test_quota_fseek
105122  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd7)) + 184)) = test_quota_rewind
105123  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd7)) + 200)) = test_quota_ftell
105124  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd7)) + 216)) = test_quota_ftruncate
105125  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd7)) + 232)) = test_quota_file_size
105126  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd7)) + 248)) = test_quota_file_truesize
105127  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd7)) + 264)) = test_quota_file_mtime
105128  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd7)) + 280)) = test_quota_remove
105129  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd7)) + 296)) = test_quota_glob
105130  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd7)) + 312)) = test_quota_file_available
105131  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aCmd7)) + 328)) = test_quota_ferror
105132  	*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aExtension)) + 8)) = sqlite3_amatch_init
105133  	*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aExtension)) + 24)) = sqlite3_appendvfs_init
105134  	*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aExtension)) + 40)) = sqlite3_carray_init
105135  	*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aExtension)) + 56)) = sqlite3_closure_init
105136  	*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aExtension)) + 72)) = sqlite3_csv_init
105137  	*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aExtension)) + 88)) = sqlite3_decimal_init
105138  	*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aExtension)) + 104)) = sqlite3_eval_init
105139  	*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aExtension)) + 120)) = sqlite3_explain_init
105140  	*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aExtension)) + 136)) = sqlite3_fileio_init
105141  	*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aExtension)) + 152)) = sqlite3_fuzzer_init
105142  	*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aExtension)) + 168)) = sqlite3_ieee_init
105143  	*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aExtension)) + 184)) = sqlite3_nextchar_init
105144  	*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aExtension)) + 200)) = sqlite3_percentile_init
105145  	*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aExtension)) + 216)) = sqlite3_prefixes_init
105146  	*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aExtension)) + 232)) = sqlite3_qpvtab_init
105147  	*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aExtension)) + 248)) = sqlite3_regexp_init
105148  	*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aExtension)) + 264)) = sqlite3_remember_init
105149  	*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aExtension)) + 280)) = sqlite3_series_init
105150  	*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aExtension)) + 296)) = sqlite3_spellfix_init
105151  	*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aExtension)) + 312)) = sqlite3_totype_init
105152  	*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aExtension)) + 328)) = sqlite3_unionvtab_init
105153  	*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aExtension)) + 344)) = sqlite3_wholenumber_init
105154  	*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 16)) = decimalFunc
105155  	*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 40)) = decimalCmpFunc
105156  	*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 64)) = decimalAddFunc
105157  	*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 88)) = decimalSubFunc
105158  	*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc)) + 112)) = decimalMulFunc
105159  	*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc1)) + 16)) = ieee754func
105160  	*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc1)) + 40)) = ieee754func
105161  	*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc1)) + 64)) = ieee754func
105162  	*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc1)) + 88)) = ieee754func
105163  	*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc1)) + 112)) = ieee754func_to_blob
105164  	*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFunc1)) + 136)) = ieee754func_from_blob
105165  	*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFuncs)) + 16)) = randStr
105166  	*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFuncs)) + 40)) = test_destructor
105167  	*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFuncs)) + 64)) = test_destructor16
105168  	*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFuncs)) + 88)) = testHexToUtf16be
105169  	*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFuncs)) + 112)) = testHexToUtf16le
105170  	*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFuncs)) + 136)) = testHexToUtf8
105171  	*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFuncs)) + 160)) = test_destructor_count
105172  	*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFuncs)) + 184)) = test_auxdata
105173  	*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFuncs)) + 208)) = test_error
105174  	*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFuncs)) + 232)) = test_error
105175  	*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFuncs)) + 256)) = test_eval
105176  	*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFuncs)) + 280)) = test_isolation
105177  	*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFuncs)) + 304)) = counterFunc
105178  	*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFuncs)) + 328)) = real2hex
105179  	*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFuncs)) + 352)) = test_decode
105180  	*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFuncs)) + 376)) = test_extract
105181  	*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFuncs)) + 400)) = test_zeroblob
105182  	*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFuncs)) + 424)) = test_getsubtype
105183  	*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFuncs)) + 448)) = test_setsubtype
105184  	*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&aFuncs)) + 472)) = test_frombind
105185  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd)) + 8)) = test_sqlite3rbu
105186  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd)) + 24)) = test_sqlite3rbu_vacuum
105187  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd)) + 40)) = test_sqlite3rbu_create_vfs
105188  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd)) + 56)) = test_sqlite3rbu_destroy_vfs
105189  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd)) + 72)) = test_sqlite3rbu_internal_test
105190  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 8)) = test_sqlite3_db_config
105191  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 32)) = test_sqlite3_txn_state
105192  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 56)) = test_bad_behavior
105193  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 64)) = uintptr(unsafe.Pointer(&iZero))
105194  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 80)) = test_register_dbstat_vtab
105195  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 104)) = get_sqlite_pointer
105196  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 128)) = test_intarray_addr
105197  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 152)) = test_int64array_addr
105198  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 176)) = test_doublearray_addr
105199  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 200)) = test_textarray_addr
105200  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 224)) = test_bind_int
105201  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 248)) = test_bind_zeroblob
105202  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 272)) = test_bind_zeroblob64
105203  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 296)) = test_bind_int64
105204  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 320)) = test_bind_double
105205  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 344)) = test_bind_null
105206  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 368)) = test_bind_text
105207  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 392)) = test_bind_text16
105208  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 416)) = test_bind_blob
105209  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 440)) = test_bind_value_from_select
105210  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 464)) = test_bind_value_from_preupdate
105211  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 488)) = test_carray_bind
105212  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 512)) = test_bind_parameter_count
105213  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 536)) = test_bind_parameter_name
105214  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 560)) = test_bind_parameter_index
105215  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 584)) = test_clear_bindings
105216  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 608)) = test_sleep
105217  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 632)) = test_errcode
105218  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 656)) = test_ex_errcode
105219  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 680)) = test_errmsg
105220  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 704)) = test_error_offset
105221  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 728)) = test_errmsg16
105222  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 752)) = test_open
105223  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 776)) = test_open16
105224  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 800)) = test_open_v2
105225  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 824)) = test_complete16
105226  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 848)) = test_normalize
105227  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 872)) = test_prepare
105228  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 896)) = test_prepare16
105229  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 920)) = test_prepare_v2
105230  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 944)) = test_prepare_v3
105231  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 968)) = test_prepare_tkt3134
105232  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 992)) = test_prepare16_v2
105233  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 1016)) = test_finalize
105234  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 1040)) = test_stmt_status
105235  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 1064)) = test_reset
105236  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 1088)) = test_expired
105237  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 1112)) = test_transfer_bind
105238  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 1136)) = test_changes
105239  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 1160)) = test_step
105240  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 1184)) = test_sql
105241  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 1208)) = test_ex_sql
105242  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 1232)) = test_next_stmt
105243  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 1256)) = test_stmt_readonly
105244  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 1280)) = test_stmt_isexplain
105245  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 1304)) = test_stmt_busy
105246  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 1328)) = uses_stmt_journal
105247  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 1352)) = test_release_memory
105248  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 1376)) = test_db_release_memory
105249  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 1400)) = test_db_cacheflush
105250  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 1424)) = test_system_errno
105251  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 1448)) = test_db_filename
105252  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 1472)) = test_db_readonly
105253  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 1496)) = test_soft_heap_limit
105254  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 1520)) = test_soft_heap_limit
105255  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 1544)) = test_hard_heap_limit
105256  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 1568)) = test_thread_cleanup
105257  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 1592)) = test_pager_refcounts
105258  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 1616)) = test_load_extension
105259  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 1640)) = test_enable_load
105260  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 1664)) = test_extended_result_codes
105261  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 1688)) = test_limit
105262  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 1712)) = test_dbconfig_maindbname_icecube
105263  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 1736)) = save_prng_state
105264  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 1760)) = restore_prng_state
105265  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 1784)) = reset_prng_state
105266  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 1808)) = prng_seed
105267  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 1832)) = extra_schema_checks
105268  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 1856)) = database_never_corrupt
105269  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 1880)) = database_may_be_corrupt
105270  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 1904)) = optimization_control
105271  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 1928)) = win32_file_lock
105272  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 1952)) = win32_exists_path
105273  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 1976)) = win32_find_file
105274  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 2000)) = win32_delete_file
105275  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 2024)) = win32_mkdir
105276  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 2048)) = win32_rmdir
105277  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 2072)) = runAsObjProc
105278  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 2096)) = test_column_count
105279  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 2120)) = test_data_count
105280  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 2144)) = test_column_type
105281  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 2168)) = test_column_blob
105282  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 2192)) = test_column_double
105283  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 2216)) = test_column_int64
105284  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 2240)) = test_stmt_utf8
105285  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 2248)) = *(*uintptr)(unsafe.Pointer(&struct {
105286  		f func(*libc.TLS, uintptr, int32) uintptr
105287  	}{sqlite3.Xsqlite3_column_text}))
105288  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 2264)) = test_stmt_utf8
105289  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 2272)) = *(*uintptr)(unsafe.Pointer(&struct {
105290  		f func(*libc.TLS, uintptr, int32) uintptr
105291  	}{sqlite3.Xsqlite3_column_name}))
105292  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 2288)) = test_stmt_int
105293  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 2296)) = *(*uintptr)(unsafe.Pointer(&struct {
105294  		f func(*libc.TLS, uintptr, int32) int32
105295  	}{sqlite3.Xsqlite3_column_int}))
105296  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 2312)) = test_stmt_int
105297  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 2320)) = *(*uintptr)(unsafe.Pointer(&struct {
105298  		f func(*libc.TLS, uintptr, int32) int32
105299  	}{sqlite3.Xsqlite3_column_bytes}))
105300  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 2336)) = test_stmt_utf8
105301  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 2344)) = *(*uintptr)(unsafe.Pointer(&struct {
105302  		f func(*libc.TLS, uintptr, int32) uintptr
105303  	}{sqlite3.Xsqlite3_column_decltype}))
105304  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 2360)) = test_stmt_utf8
105305  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 2368)) = *(*uintptr)(unsafe.Pointer(&struct {
105306  		f func(*libc.TLS, uintptr, int32) uintptr
105307  	}{sqlite3.Xsqlite3_column_database_name}))
105308  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 2384)) = test_stmt_utf8
105309  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 2392)) = *(*uintptr)(unsafe.Pointer(&struct {
105310  		f func(*libc.TLS, uintptr, int32) uintptr
105311  	}{sqlite3.Xsqlite3_column_table_name}))
105312  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 2408)) = test_stmt_utf8
105313  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 2416)) = *(*uintptr)(unsafe.Pointer(&struct {
105314  		f func(*libc.TLS, uintptr, int32) uintptr
105315  	}{sqlite3.Xsqlite3_column_origin_name}))
105316  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 2432)) = test_stmt_int
105317  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 2440)) = *(*uintptr)(unsafe.Pointer(&struct {
105318  		f func(*libc.TLS, uintptr, int32) int32
105319  	}{sqlite3.Xsqlite3_column_bytes16}))
105320  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 2456)) = test_stmt_utf16
105321  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 2464)) = *(*uintptr)(unsafe.Pointer(&struct {
105322  		f func(*libc.TLS, uintptr, int32) uintptr
105323  	}{sqlite3.Xsqlite3_column_text16}))
105324  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 2480)) = test_stmt_utf16
105325  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 2488)) = *(*uintptr)(unsafe.Pointer(&struct {
105326  		f func(*libc.TLS, uintptr, int32) uintptr
105327  	}{sqlite3.Xsqlite3_column_name16}))
105328  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 2504)) = add_alignment_test_collations
105329  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 2528)) = test_stmt_utf16
105330  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 2536)) = *(*uintptr)(unsafe.Pointer(&struct {
105331  		f func(*libc.TLS, uintptr, int32) uintptr
105332  	}{sqlite3.Xsqlite3_column_decltype16}))
105333  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 2552)) = test_stmt_utf16
105334  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 2560)) = *(*uintptr)(unsafe.Pointer(&struct {
105335  		f func(*libc.TLS, uintptr, int32) uintptr
105336  	}{sqlite3.Xsqlite3_column_database_name16}))
105337  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 2576)) = test_stmt_utf16
105338  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 2584)) = *(*uintptr)(unsafe.Pointer(&struct {
105339  		f func(*libc.TLS, uintptr, int32) uintptr
105340  	}{sqlite3.Xsqlite3_column_table_name16}))
105341  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 2600)) = test_stmt_utf16
105342  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 2608)) = *(*uintptr)(unsafe.Pointer(&struct {
105343  		f func(*libc.TLS, uintptr, int32) uintptr
105344  	}{sqlite3.Xsqlite3_column_origin_name16}))
105345  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 2624)) = test_create_collation_v2
105346  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 2648)) = test_global_recover
105347  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 2672)) = working_64bit_int
105348  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 2696)) = vfs_unlink_test
105349  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 2720)) = vfs_initfail_test
105350  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 2744)) = vfs_unregister_all
105351  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 2768)) = vfs_reregister_all
105352  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 2792)) = file_control_test
105353  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 2816)) = file_control_lasterrno_test
105354  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 2840)) = file_control_lockproxy_test
105355  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 2864)) = file_control_chunksize_test
105356  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 2888)) = file_control_sizehint_test
105357  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 2912)) = file_control_data_version
105358  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 2936)) = file_control_win32_av_retry
105359  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 2960)) = file_control_win32_get_handle
105360  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 2984)) = file_control_win32_set_handle
105361  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 3008)) = file_control_persist_wal
105362  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 3032)) = file_control_powersafe_overwrite
105363  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 3056)) = file_control_vfsname
105364  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 3080)) = file_control_reservebytes
105365  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 3104)) = file_control_tempfilename
105366  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 3128)) = file_control_external_reader
105367  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 3152)) = vfs_list
105368  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 3176)) = test_create_function_v2
105369  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 3200)) = test_collate
105370  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 3224)) = test_collate_needed
105371  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 3248)) = test_function
105372  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 3272)) = test_utf16bin_collate
105373  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 3296)) = test_errstr
105374  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 3320)) = tcl_variable_type
105375  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 3344)) = test_enable_shared
105376  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 3368)) = sqlite3BtreeSharedCacheReport
105377  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 3392)) = test_libversion_number
105378  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 3416)) = test_table_column_metadata
105379  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 3440)) = test_blob_reopen
105380  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 3464)) = test_pcache_stats
105381  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 3488)) = test_unlock_notify
105382  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 3512)) = test_wal_checkpoint
105383  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 3536)) = test_wal_checkpoint_v2
105384  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 3560)) = test_wal_autocheckpoint
105385  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 3584)) = test_sqlite3_log
105386  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 3608)) = test_print_eqp
105387  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 3632)) = test_test_control
105388  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 3656)) = tclLoadStaticExtensionCmd
105389  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 3680)) = sorter_test_fakeheap
105390  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 3704)) = sorter_test_sort4_helper
105391  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 3728)) = vfsCurrentTimeInt64
105392  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 3752)) = test_snapshot_get
105393  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 3776)) = test_snapshot_open
105394  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 3800)) = test_snapshot_free
105395  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 3824)) = test_snapshot_cmp
105396  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 3848)) = test_snapshot_recover
105397  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 3872)) = test_snapshot_get_blob
105398  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 3896)) = test_snapshot_open_blob
105399  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 3920)) = test_snapshot_cmp_blob
105400  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 3944)) = test_delete_database
105401  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 3968)) = test_atomic_batch_write
105402  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 3992)) = test_mmap_warm
105403  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 4016)) = test_config_sorterref
105404  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 4040)) = test_autovacuum_pages
105405  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 4064)) = test_decode_hexdb
105406  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 4088)) = test_write_db
105407  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 4112)) = test_register_cksumvfs
105408  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd1)) + 4136)) = test_unregister_cksumvfs
105409  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd10)) + 8)) = test_intarray_create
105410  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd10)) + 32)) = test_intarray_bind
105411  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd11)) + 8)) = test_malloc
105412  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd11)) + 32)) = test_realloc
105413  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd11)) + 56)) = test_free
105414  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd11)) + 80)) = test_memset
105415  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd11)) + 104)) = test_memget
105416  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd11)) + 128)) = test_memory_used
105417  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd11)) + 152)) = test_memory_highwater
105418  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd11)) + 176)) = test_memdebug_backtrace
105419  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd11)) + 200)) = test_memdebug_dump
105420  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd11)) + 224)) = test_memdebug_fail
105421  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd11)) + 248)) = test_memdebug_pending
105422  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd11)) + 272)) = test_memdebug_settitle
105423  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd11)) + 296)) = test_memdebug_malloc_count
105424  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd11)) + 320)) = test_memdebug_log
105425  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd11)) + 344)) = test_config_pagecache
105426  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd11)) + 368)) = test_alt_pcache
105427  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd11)) + 392)) = test_status
105428  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd11)) + 416)) = test_db_status
105429  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd11)) + 440)) = test_install_malloc_faultsim
105430  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd11)) + 464)) = test_config_heap
105431  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd11)) + 488)) = test_config_heap_size
105432  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd11)) + 512)) = test_config_memstatus
105433  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd11)) + 536)) = test_config_lookaside
105434  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd11)) + 560)) = test_config_error
105435  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd11)) + 584)) = test_config_uri
105436  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd11)) + 608)) = test_config_cis
105437  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd11)) + 632)) = test_config_pmasz
105438  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd11)) + 656)) = test_db_config_lookaside
105439  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd11)) + 680)) = test_dump_memsys3
105440  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd11)) + 704)) = test_dump_memsys3
105441  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd11)) + 728)) = test_install_memsys3
105442  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd11)) + 752)) = test_vfs_oom_test
105443  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd12)) + 8)) = register_schema_module
105444  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd13)) + 8)) = register_tclvar_module
105445  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd14)) + 8)) = test_create_window
105446  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd14)) + 32)) = test_create_window_misuse
105447  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd14)) + 56)) = test_create_sumint
105448  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd14)) + 80)) = test_override_sum
105449  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd2)) + 8)) = register_echo_module
105450  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd2)) + 32)) = declare_vtab
105451  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd3)) + 8)) = c_misuse_test
105452  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd3)) + 32)) = c_realloc_test
105453  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd3)) + 56)) = c_collation_test
105454  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd4)) + 8)) = register_tcl_module
105455  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd5)) + 8)) = test_blob_open
105456  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd5)) + 24)) = test_blob_close
105457  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd5)) + 40)) = test_blob_bytes
105458  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd5)) + 56)) = test_blob_read
105459  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd5)) + 72)) = test_blob_write
105460  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd6)) + 8)) = register_fs_module
105461  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd7)) + 8)) = autoinstall_test_funcs
105462  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd7)) + 24)) = abuse_create_function
105463  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd7)) + 40)) = install_fts3_rank_function
105464  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd8)) + 8)) = hexio_read
105465  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd8)) + 24)) = hexio_write
105466  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd8)) + 40)) = hexio_get_int
105467  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd8)) + 56)) = hexio_render_int16
105468  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd8)) + 72)) = hexio_render_int32
105469  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd8)) + 88)) = utf8_to_utf8
105470  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd8)) + 104)) = read_fts3varint
105471  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd8)) + 120)) = make_fts3record
105472  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd9)) + 8)) = init_wrapper_install
105473  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd9)) + 24)) = init_wrapper_query
105474  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd9)) + 40)) = init_wrapper_uninstall
105475  	*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&aObjCmd9)) + 56)) = init_wrapper_clear
105476  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&amatchModule)) + 8)) = amatchConnect
105477  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&amatchModule)) + 16)) = amatchConnect
105478  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&amatchModule)) + 24)) = amatchBestIndex
105479  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&amatchModule)) + 32)) = amatchDisconnect
105480  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&amatchModule)) + 40)) = amatchDisconnect
105481  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&amatchModule)) + 48)) = amatchOpen
105482  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&amatchModule)) + 56)) = amatchClose
105483  	*(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&amatchModule)) + 64)) = amatchFilter
105484  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&amatchModule)) + 72)) = amatchNext
105485  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&amatchModule)) + 80)) = amatchEof
105486  	*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&amatchModule)) + 88)) = amatchColumn
105487  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&amatchModule)) + 96)) = amatchRowid
105488  	*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&amatchModule)) + 104)) = amatchUpdate
105489  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&apnd_io_methods)) + 8)) = apndClose
105490  	*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&apnd_io_methods)) + 16)) = apndRead
105491  	*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&apnd_io_methods)) + 24)) = apndWrite
105492  	*(*func(*libc.TLS, uintptr, sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&apnd_io_methods)) + 32)) = apndTruncate
105493  	*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&apnd_io_methods)) + 40)) = apndSync
105494  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&apnd_io_methods)) + 48)) = apndFileSize
105495  	*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&apnd_io_methods)) + 56)) = apndLock
105496  	*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&apnd_io_methods)) + 64)) = apndUnlock
105497  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&apnd_io_methods)) + 72)) = apndCheckReservedLock
105498  	*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&apnd_io_methods)) + 80)) = apndFileControl
105499  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&apnd_io_methods)) + 88)) = apndSectorSize
105500  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&apnd_io_methods)) + 96)) = apndDeviceCharacteristics
105501  	*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&apnd_io_methods)) + 104)) = apndShmMap
105502  	*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&apnd_io_methods)) + 112)) = apndShmLock
105503  	*(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&apnd_io_methods)) + 120)) = apndShmBarrier
105504  	*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&apnd_io_methods)) + 128)) = apndShmUnmap
105505  	*(*func(*libc.TLS, uintptr, sqlite3_int64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&apnd_io_methods)) + 136)) = apndFetch
105506  	*(*func(*libc.TLS, uintptr, sqlite3_int64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&apnd_io_methods)) + 144)) = apndUnfetch
105507  	*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&apnd_vfs)) + 40)) = apndOpen
105508  	*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&apnd_vfs)) + 48)) = apndDelete
105509  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&apnd_vfs)) + 56)) = apndAccess
105510  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&apnd_vfs)) + 64)) = apndFullPathname
105511  	*(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&apnd_vfs)) + 72)) = apndDlOpen
105512  	*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&apnd_vfs)) + 80)) = apndDlError
105513  	*(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&apnd_vfs)) + 88)) = apndDlSym
105514  	*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&apnd_vfs)) + 96)) = apndDlClose
105515  	*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&apnd_vfs)) + 104)) = apndRandomness
105516  	*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&apnd_vfs)) + 112)) = apndSleep
105517  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&apnd_vfs)) + 120)) = apndCurrentTime
105518  	*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&apnd_vfs)) + 128)) = apndGetLastError
105519  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&apnd_vfs)) + 136)) = apndCurrentTimeInt64
105520  	*(*func(*libc.TLS, uintptr, uintptr, sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&apnd_vfs)) + 144)) = apndSetSystemCall
105521  	*(*func(*libc.TLS, uintptr, uintptr) sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&apnd_vfs)) + 152)) = apndGetSystemCall
105522  	*(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&apnd_vfs)) + 160)) = apndNextSystemCall
105523  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&carrayModule)) + 16)) = carrayConnect
105524  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&carrayModule)) + 24)) = carrayBestIndex
105525  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&carrayModule)) + 32)) = carrayDisconnect
105526  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&carrayModule)) + 48)) = carrayOpen
105527  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&carrayModule)) + 56)) = carrayClose
105528  	*(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&carrayModule)) + 64)) = carrayFilter
105529  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&carrayModule)) + 72)) = carrayNext
105530  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&carrayModule)) + 80)) = carrayEof
105531  	*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&carrayModule)) + 88)) = carrayColumn
105532  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&carrayModule)) + 96)) = carrayRowid
105533  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&cksm_io_methods)) + 8)) = cksmClose
105534  	*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&cksm_io_methods)) + 16)) = cksmRead
105535  	*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&cksm_io_methods)) + 24)) = cksmWrite
105536  	*(*func(*libc.TLS, uintptr, sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&cksm_io_methods)) + 32)) = cksmTruncate
105537  	*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&cksm_io_methods)) + 40)) = cksmSync
105538  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&cksm_io_methods)) + 48)) = cksmFileSize
105539  	*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&cksm_io_methods)) + 56)) = cksmLock
105540  	*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&cksm_io_methods)) + 64)) = cksmUnlock
105541  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&cksm_io_methods)) + 72)) = cksmCheckReservedLock
105542  	*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&cksm_io_methods)) + 80)) = cksmFileControl
105543  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&cksm_io_methods)) + 88)) = cksmSectorSize
105544  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&cksm_io_methods)) + 96)) = cksmDeviceCharacteristics
105545  	*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&cksm_io_methods)) + 104)) = cksmShmMap
105546  	*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&cksm_io_methods)) + 112)) = cksmShmLock
105547  	*(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&cksm_io_methods)) + 120)) = cksmShmBarrier
105548  	*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&cksm_io_methods)) + 128)) = cksmShmUnmap
105549  	*(*func(*libc.TLS, uintptr, sqlite3_int64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&cksm_io_methods)) + 136)) = cksmFetch
105550  	*(*func(*libc.TLS, uintptr, sqlite3_int64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&cksm_io_methods)) + 144)) = cksmUnfetch
105551  	*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&cksm_vfs)) + 40)) = cksmOpen
105552  	*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&cksm_vfs)) + 48)) = cksmDelete
105553  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&cksm_vfs)) + 56)) = cksmAccess
105554  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&cksm_vfs)) + 64)) = cksmFullPathname
105555  	*(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&cksm_vfs)) + 72)) = cksmDlOpen
105556  	*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&cksm_vfs)) + 80)) = cksmDlError
105557  	*(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&cksm_vfs)) + 88)) = cksmDlSym
105558  	*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&cksm_vfs)) + 96)) = cksmDlClose
105559  	*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&cksm_vfs)) + 104)) = cksmRandomness
105560  	*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&cksm_vfs)) + 112)) = cksmSleep
105561  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&cksm_vfs)) + 120)) = cksmCurrentTime
105562  	*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&cksm_vfs)) + 128)) = cksmGetLastError
105563  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&cksm_vfs)) + 136)) = cksmCurrentTimeInt64
105564  	*(*func(*libc.TLS, uintptr, uintptr, sqlite3_syscall_ptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&cksm_vfs)) + 144)) = cksmSetSystemCall
105565  	*(*func(*libc.TLS, uintptr, uintptr) sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&cksm_vfs)) + 152)) = cksmGetSystemCall
105566  	*(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&cksm_vfs)) + 160)) = cksmNextSystemCall
105567  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&closureModule)) + 8)) = closureConnect
105568  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&closureModule)) + 16)) = closureConnect
105569  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&closureModule)) + 24)) = closureBestIndex
105570  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&closureModule)) + 32)) = closureDisconnect
105571  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&closureModule)) + 40)) = closureDisconnect
105572  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&closureModule)) + 48)) = closureOpen
105573  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&closureModule)) + 56)) = closureClose
105574  	*(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&closureModule)) + 64)) = closureFilter
105575  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&closureModule)) + 72)) = closureNext
105576  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&closureModule)) + 80)) = closureEof
105577  	*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&closureModule)) + 88)) = closureColumn
105578  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&closureModule)) + 96)) = closureRowid
105579  	*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&crashVfs)) + 40)) = cfOpen
105580  	*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&crashVfs)) + 48)) = cfDelete
105581  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&crashVfs)) + 56)) = cfAccess
105582  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&crashVfs)) + 64)) = cfFullPathname
105583  	*(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&crashVfs)) + 72)) = cfDlOpen
105584  	*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&crashVfs)) + 80)) = cfDlError
105585  	*(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&crashVfs)) + 88)) = cfDlSym
105586  	*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&crashVfs)) + 96)) = cfDlClose
105587  	*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&crashVfs)) + 104)) = cfRandomness
105588  	*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&crashVfs)) + 112)) = cfSleep
105589  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&crashVfs)) + 120)) = cfCurrentTime
105590  	*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&crashVfs)) + 128)) = cfGetLastError
105591  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&devsym_io_methods)) + 8)) = devsymClose
105592  	*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&devsym_io_methods)) + 16)) = devsymRead
105593  	*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&devsym_io_methods)) + 24)) = devsymWrite
105594  	*(*func(*libc.TLS, uintptr, sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&devsym_io_methods)) + 32)) = devsymTruncate
105595  	*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&devsym_io_methods)) + 40)) = devsymSync
105596  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&devsym_io_methods)) + 48)) = devsymFileSize
105597  	*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&devsym_io_methods)) + 56)) = devsymLock
105598  	*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&devsym_io_methods)) + 64)) = devsymUnlock
105599  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&devsym_io_methods)) + 72)) = devsymCheckReservedLock
105600  	*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&devsym_io_methods)) + 80)) = devsymFileControl
105601  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&devsym_io_methods)) + 88)) = devsymSectorSize
105602  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&devsym_io_methods)) + 96)) = devsymDeviceCharacteristics
105603  	*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&devsym_io_methods)) + 104)) = devsymShmMap
105604  	*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&devsym_io_methods)) + 112)) = devsymShmLock
105605  	*(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&devsym_io_methods)) + 120)) = devsymShmBarrier
105606  	*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&devsym_io_methods)) + 128)) = devsymShmUnmap
105607  	*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&devsym_vfs)) + 40)) = devsymOpen
105608  	*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&devsym_vfs)) + 48)) = devsymDelete
105609  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&devsym_vfs)) + 56)) = devsymAccess
105610  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&devsym_vfs)) + 64)) = devsymFullPathname
105611  	*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&devsym_vfs)) + 104)) = devsymRandomness
105612  	*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&devsym_vfs)) + 112)) = devsymSleep
105613  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&devsym_vfs)) + 120)) = devsymCurrentTime
105614  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&echoModule)) + 8)) = echoCreate
105615  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&echoModule)) + 16)) = echoConnect
105616  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&echoModule)) + 24)) = echoBestIndex
105617  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&echoModule)) + 32)) = echoDisconnect
105618  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&echoModule)) + 40)) = echoDestroy
105619  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&echoModule)) + 48)) = echoOpen
105620  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&echoModule)) + 56)) = echoClose
105621  	*(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&echoModule)) + 64)) = echoFilter
105622  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&echoModule)) + 72)) = echoNext
105623  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&echoModule)) + 80)) = echoEof
105624  	*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&echoModule)) + 88)) = echoColumn
105625  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&echoModule)) + 96)) = echoRowid
105626  	*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&echoModule)) + 104)) = echoUpdate
105627  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&echoModule)) + 112)) = echoBegin
105628  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&echoModule)) + 120)) = echoSync
105629  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&echoModule)) + 128)) = echoCommit
105630  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&echoModule)) + 136)) = echoRollback
105631  	*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&echoModule)) + 144)) = echoFindFunction
105632  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&echoModule)) + 152)) = echoRename
105633  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&echoModuleV2)) + 8)) = echoCreate
105634  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&echoModuleV2)) + 16)) = echoConnect
105635  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&echoModuleV2)) + 24)) = echoBestIndex
105636  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&echoModuleV2)) + 32)) = echoDisconnect
105637  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&echoModuleV2)) + 40)) = echoDestroy
105638  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&echoModuleV2)) + 48)) = echoOpen
105639  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&echoModuleV2)) + 56)) = echoClose
105640  	*(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&echoModuleV2)) + 64)) = echoFilter
105641  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&echoModuleV2)) + 72)) = echoNext
105642  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&echoModuleV2)) + 80)) = echoEof
105643  	*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&echoModuleV2)) + 88)) = echoColumn
105644  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&echoModuleV2)) + 96)) = echoRowid
105645  	*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&echoModuleV2)) + 104)) = echoUpdate
105646  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&echoModuleV2)) + 112)) = echoBegin
105647  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&echoModuleV2)) + 120)) = echoSync
105648  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&echoModuleV2)) + 128)) = echoCommit
105649  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&echoModuleV2)) + 136)) = echoRollback
105650  	*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&echoModuleV2)) + 144)) = echoFindFunction
105651  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&echoModuleV2)) + 152)) = echoRename
105652  	*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&echoModuleV2)) + 160)) = echoSavepoint
105653  	*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&echoModuleV2)) + 168)) = echoRelease
105654  	*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&echoModuleV2)) + 176)) = echoRollbackTo
105655  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&expertModule)) + 8)) = expertConnect
105656  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&expertModule)) + 16)) = expertConnect
105657  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&expertModule)) + 24)) = expertBestIndex
105658  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&expertModule)) + 32)) = expertDisconnect
105659  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&expertModule)) + 40)) = expertDisconnect
105660  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&expertModule)) + 48)) = expertOpen
105661  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&expertModule)) + 56)) = expertClose
105662  	*(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&expertModule)) + 64)) = expertFilter
105663  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&expertModule)) + 72)) = expertNext
105664  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&expertModule)) + 80)) = expertEof
105665  	*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&expertModule)) + 88)) = expertColumn
105666  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&expertModule)) + 96)) = expertRowid
105667  	*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&expertModule)) + 104)) = expertUpdate
105668  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&explainModule)) + 16)) = explainConnect
105669  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&explainModule)) + 24)) = explainBestIndex
105670  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&explainModule)) + 32)) = explainDisconnect
105671  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&explainModule)) + 48)) = explainOpen
105672  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&explainModule)) + 56)) = explainClose
105673  	*(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&explainModule)) + 64)) = explainFilter
105674  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&explainModule)) + 72)) = explainNext
105675  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&explainModule)) + 80)) = explainEof
105676  	*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&explainModule)) + 88)) = explainColumn
105677  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&explainModule)) + 96)) = explainRowid
105678  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fsModule)) + 8)) = fsConnect
105679  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fsModule)) + 16)) = fsConnect
105680  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fsModule)) + 24)) = fsBestIndex
105681  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fsModule)) + 32)) = fsDisconnect
105682  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fsModule)) + 40)) = fsDisconnect
105683  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fsModule)) + 48)) = fsOpen
105684  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fsModule)) + 56)) = fsClose
105685  	*(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fsModule)) + 64)) = fsFilter
105686  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fsModule)) + 72)) = fsNext
105687  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fsModule)) + 80)) = fsEof
105688  	*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fsModule)) + 88)) = fsColumn
105689  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fsModule)) + 96)) = fsRowid
105690  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fs_io_methods)) + 8)) = fsClose1
105691  	*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fs_io_methods)) + 16)) = fsRead
105692  	*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fs_io_methods)) + 24)) = fsWrite
105693  	*(*func(*libc.TLS, uintptr, sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fs_io_methods)) + 32)) = fsTruncate
105694  	*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fs_io_methods)) + 40)) = fsSync
105695  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fs_io_methods)) + 48)) = fsFileSize
105696  	*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fs_io_methods)) + 56)) = fsLock
105697  	*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fs_io_methods)) + 64)) = fsUnlock
105698  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fs_io_methods)) + 72)) = fsCheckReservedLock
105699  	*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fs_io_methods)) + 80)) = fsFileControl
105700  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fs_io_methods)) + 88)) = fsSectorSize
105701  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fs_io_methods)) + 96)) = fsDeviceCharacteristics
105702  	*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fs_vfs)) + 40)) = fsOpen1
105703  	*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fs_vfs)) + 48)) = fsDelete
105704  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fs_vfs)) + 56)) = fsAccess
105705  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fs_vfs)) + 64)) = fsFullPathname
105706  	*(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&fs_vfs)) + 72)) = fsDlOpen
105707  	*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&fs_vfs)) + 80)) = fsDlError
105708  	*(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&fs_vfs)) + 88)) = fsDlSym
105709  	*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&fs_vfs)) + 96)) = fsDlClose
105710  	*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fs_vfs)) + 104)) = fsRandomness
105711  	*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fs_vfs)) + 112)) = fsSleep
105712  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fs_vfs)) + 120)) = fsCurrentTime
105713  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fsdirModule)) + 8)) = fsdirConnect1
105714  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fsdirModule)) + 16)) = fsdirConnect1
105715  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fsdirModule)) + 24)) = fsdirBestIndex1
105716  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fsdirModule)) + 32)) = fsdirDisconnect1
105717  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fsdirModule)) + 40)) = fsdirDisconnect1
105718  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fsdirModule)) + 48)) = fsdirOpen1
105719  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fsdirModule)) + 56)) = fsdirClose1
105720  	*(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fsdirModule)) + 64)) = fsdirFilter1
105721  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fsdirModule)) + 72)) = fsdirNext1
105722  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fsdirModule)) + 80)) = fsdirEof1
105723  	*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fsdirModule)) + 88)) = fsdirColumn1
105724  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fsdirModule)) + 96)) = fsdirRowid1
105725  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fsdirModule1)) + 16)) = fsdirConnect
105726  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fsdirModule1)) + 24)) = fsdirBestIndex
105727  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fsdirModule1)) + 32)) = fsdirDisconnect
105728  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fsdirModule1)) + 48)) = fsdirOpen
105729  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fsdirModule1)) + 56)) = fsdirClose
105730  	*(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fsdirModule1)) + 64)) = fsdirFilter
105731  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fsdirModule1)) + 72)) = fsdirNext
105732  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fsdirModule1)) + 80)) = fsdirEof
105733  	*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fsdirModule1)) + 88)) = fsdirColumn
105734  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fsdirModule1)) + 96)) = fsdirRowid
105735  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fstreeModule)) + 8)) = fstreeConnect
105736  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fstreeModule)) + 16)) = fstreeConnect
105737  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fstreeModule)) + 24)) = fstreeBestIndex
105738  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fstreeModule)) + 32)) = fstreeDisconnect
105739  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fstreeModule)) + 40)) = fstreeDisconnect
105740  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fstreeModule)) + 48)) = fstreeOpen
105741  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fstreeModule)) + 56)) = fstreeClose
105742  	*(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fstreeModule)) + 64)) = fstreeFilter
105743  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fstreeModule)) + 72)) = fstreeNext
105744  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fstreeModule)) + 80)) = fstreeEof
105745  	*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fstreeModule)) + 88)) = fstreeColumn
105746  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fstreeModule)) + 96)) = fstreeRowid
105747  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5tok_module)) + 8)) = fts5tokConnectMethod
105748  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5tok_module)) + 16)) = fts5tokConnectMethod
105749  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5tok_module)) + 24)) = fts5tokBestIndexMethod
105750  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5tok_module)) + 32)) = fts5tokDisconnectMethod
105751  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5tok_module)) + 40)) = fts5tokDisconnectMethod
105752  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5tok_module)) + 48)) = fts5tokOpenMethod
105753  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5tok_module)) + 56)) = fts5tokCloseMethod
105754  	*(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5tok_module)) + 64)) = fts5tokFilterMethod
105755  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5tok_module)) + 72)) = fts5tokNextMethod
105756  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5tok_module)) + 80)) = fts5tokEofMethod
105757  	*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5tok_module)) + 88)) = fts5tokColumnMethod
105758  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fts5tok_module)) + 96)) = fts5tokRowidMethod
105759  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fuzzerModule)) + 8)) = fuzzerConnect
105760  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fuzzerModule)) + 16)) = fuzzerConnect
105761  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fuzzerModule)) + 24)) = fuzzerBestIndex
105762  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fuzzerModule)) + 32)) = fuzzerDisconnect
105763  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fuzzerModule)) + 40)) = fuzzerDisconnect
105764  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fuzzerModule)) + 48)) = fuzzerOpen
105765  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fuzzerModule)) + 56)) = fuzzerClose
105766  	*(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fuzzerModule)) + 64)) = fuzzerFilter
105767  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fuzzerModule)) + 72)) = fuzzerNext
105768  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fuzzerModule)) + 80)) = fuzzerEof
105769  	*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fuzzerModule)) + 88)) = fuzzerColumn
105770  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&fuzzerModule)) + 96)) = fuzzerRowid
105771  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&intarrayModule)) + 8)) = intarrayCreate
105772  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&intarrayModule)) + 16)) = intarrayCreate
105773  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&intarrayModule)) + 24)) = intarrayBestIndex
105774  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&intarrayModule)) + 32)) = intarrayDestroy
105775  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&intarrayModule)) + 40)) = intarrayDestroy
105776  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&intarrayModule)) + 48)) = intarrayOpen
105777  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&intarrayModule)) + 56)) = intarrayClose
105778  	*(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&intarrayModule)) + 64)) = intarrayFilter
105779  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&intarrayModule)) + 72)) = intarrayNext
105780  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&intarrayModule)) + 80)) = intarrayEof
105781  	*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&intarrayModule)) + 88)) = intarrayColumn
105782  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&intarrayModule)) + 96)) = intarrayRowid
105783  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jt_io_methods)) + 8)) = jtClose
105784  	*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jt_io_methods)) + 16)) = jtRead
105785  	*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jt_io_methods)) + 24)) = jtWrite
105786  	*(*func(*libc.TLS, uintptr, sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jt_io_methods)) + 32)) = jtTruncate
105787  	*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jt_io_methods)) + 40)) = jtSync
105788  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jt_io_methods)) + 48)) = jtFileSize
105789  	*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jt_io_methods)) + 56)) = jtLock
105790  	*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jt_io_methods)) + 64)) = jtUnlock
105791  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jt_io_methods)) + 72)) = jtCheckReservedLock
105792  	*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jt_io_methods)) + 80)) = jtFileControl
105793  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jt_io_methods)) + 88)) = jtSectorSize
105794  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jt_io_methods)) + 96)) = jtDeviceCharacteristics
105795  	*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jt_vfs)) + 40)) = jtOpen
105796  	*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jt_vfs)) + 48)) = jtDelete
105797  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jt_vfs)) + 56)) = jtAccess
105798  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jt_vfs)) + 64)) = jtFullPathname
105799  	*(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&jt_vfs)) + 72)) = jtDlOpen
105800  	*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&jt_vfs)) + 80)) = jtDlError
105801  	*(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&jt_vfs)) + 88)) = jtDlSym
105802  	*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&jt_vfs)) + 96)) = jtDlClose
105803  	*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jt_vfs)) + 104)) = jtRandomness
105804  	*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jt_vfs)) + 112)) = jtSleep
105805  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jt_vfs)) + 120)) = jtCurrentTime
105806  	*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jt_vfs)) + 128)) = jtGetLastError
105807  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&jt_vfs)) + 136)) = jtCurrentTimeInt64
105808  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&prefixesModule)) + 16)) = prefixesConnect
105809  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&prefixesModule)) + 24)) = prefixesBestIndex
105810  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&prefixesModule)) + 32)) = prefixesDisconnect
105811  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&prefixesModule)) + 48)) = prefixesOpen
105812  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&prefixesModule)) + 56)) = prefixesClose
105813  	*(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&prefixesModule)) + 64)) = prefixesFilter
105814  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&prefixesModule)) + 72)) = prefixesNext
105815  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&prefixesModule)) + 80)) = prefixesEof
105816  	*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&prefixesModule)) + 88)) = prefixesColumn
105817  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&prefixesModule)) + 96)) = prefixesRowid
105818  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&pzNeededCollation)) + 0)) = uintptr(unsafe.Pointer(&zNeededCollation))
105819  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&qpvtabModule)) + 16)) = qpvtabConnect
105820  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&qpvtabModule)) + 24)) = qpvtabBestIndex
105821  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&qpvtabModule)) + 32)) = qpvtabDisconnect
105822  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&qpvtabModule)) + 48)) = qpvtabOpen
105823  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&qpvtabModule)) + 56)) = qpvtabClose
105824  	*(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&qpvtabModule)) + 64)) = qpvtabFilter
105825  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&qpvtabModule)) + 72)) = qpvtabNext
105826  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&qpvtabModule)) + 80)) = qpvtabEof
105827  	*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&qpvtabModule)) + 88)) = qpvtabColumn
105828  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&qpvtabModule)) + 96)) = qpvtabRowid
105829  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&schemaModule)) + 8)) = schemaCreate
105830  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&schemaModule)) + 16)) = schemaCreate
105831  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&schemaModule)) + 24)) = schemaBestIndex
105832  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&schemaModule)) + 32)) = schemaDestroy
105833  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&schemaModule)) + 40)) = schemaDestroy
105834  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&schemaModule)) + 48)) = schemaOpen
105835  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&schemaModule)) + 56)) = schemaClose
105836  	*(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&schemaModule)) + 64)) = schemaFilter
105837  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&schemaModule)) + 72)) = schemaNext
105838  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&schemaModule)) + 80)) = schemaEof
105839  	*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&schemaModule)) + 88)) = schemaColumn
105840  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&schemaModule)) + 96)) = schemaRowid
105841  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&seriesModule)) + 16)) = seriesConnect
105842  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&seriesModule)) + 24)) = seriesBestIndex
105843  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&seriesModule)) + 32)) = seriesDisconnect
105844  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&seriesModule)) + 48)) = seriesOpen
105845  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&seriesModule)) + 56)) = seriesClose
105846  	*(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&seriesModule)) + 64)) = seriesFilter
105847  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&seriesModule)) + 72)) = seriesNext
105848  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&seriesModule)) + 80)) = seriesEof
105849  	*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&seriesModule)) + 88)) = seriesColumn
105850  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&seriesModule)) + 96)) = seriesRowid
105851  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&spellfix1Module)) + 8)) = spellfix1Create
105852  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&spellfix1Module)) + 16)) = spellfix1Connect
105853  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&spellfix1Module)) + 24)) = spellfix1BestIndex
105854  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&spellfix1Module)) + 32)) = spellfix1Disconnect
105855  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&spellfix1Module)) + 40)) = spellfix1Destroy
105856  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&spellfix1Module)) + 48)) = spellfix1Open
105857  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&spellfix1Module)) + 56)) = spellfix1Close
105858  	*(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&spellfix1Module)) + 64)) = spellfix1Filter
105859  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&spellfix1Module)) + 72)) = spellfix1Next
105860  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&spellfix1Module)) + 80)) = spellfix1Eof
105861  	*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&spellfix1Module)) + 88)) = spellfix1Column
105862  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&spellfix1Module)) + 96)) = spellfix1Rowid
105863  	*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&spellfix1Module)) + 104)) = spellfix1Update
105864  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&spellfix1Module)) + 152)) = spellfix1Rename
105865  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tclModule)) + 8)) = tclConnect
105866  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tclModule)) + 16)) = tclConnect
105867  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tclModule)) + 24)) = tclBestIndex
105868  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tclModule)) + 32)) = tclDisconnect
105869  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tclModule)) + 40)) = tclDisconnect
105870  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tclModule)) + 48)) = tclOpen
105871  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tclModule)) + 56)) = tclClose
105872  	*(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tclModule)) + 64)) = tclFilter
105873  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tclModule)) + 72)) = tclNext
105874  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tclModule)) + 80)) = tclEof
105875  	*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tclModule)) + 88)) = tclColumn
105876  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tclModule)) + 96)) = tclRowid
105877  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tclvarModule)) + 8)) = tclvarConnect
105878  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tclvarModule)) + 16)) = tclvarConnect
105879  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tclvarModule)) + 24)) = tclvarBestIndex
105880  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tclvarModule)) + 32)) = tclvarDisconnect
105881  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tclvarModule)) + 40)) = tclvarDisconnect
105882  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tclvarModule)) + 48)) = tclvarOpen
105883  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tclvarModule)) + 56)) = tclvarClose
105884  	*(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tclvarModule)) + 64)) = tclvarFilter
105885  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tclvarModule)) + 72)) = tclvarNext
105886  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tclvarModule)) + 80)) = tclvarEof
105887  	*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tclvarModule)) + 88)) = tclvarColumn
105888  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tclvarModule)) + 96)) = tclvarRowid
105889  	*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tclvarModule)) + 104)) = tclvarUpdate
105890  	*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&testPcache)) + 8)) = uintptr(unsafe.Pointer(&testpcacheGlobal))
105891  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&testPcache)) + 16)) = testpcacheInit
105892  	*(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&testPcache)) + 24)) = testpcacheShutdown
105893  	*(*func(*libc.TLS, int32, int32, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&testPcache)) + 32)) = testpcacheCreate
105894  	*(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&testPcache)) + 40)) = testpcacheCachesize
105895  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&testPcache)) + 48)) = testpcachePagecount
105896  	*(*func(*libc.TLS, uintptr, uint32, int32) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&testPcache)) + 56)) = testpcacheFetch
105897  	*(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer(uintptr(unsafe.Pointer(&testPcache)) + 64)) = testpcacheUnpin
105898  	*(*func(*libc.TLS, uintptr, uintptr, uint32, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&testPcache)) + 72)) = testpcacheRekey
105899  	*(*func(*libc.TLS, uintptr, uint32))(unsafe.Pointer(uintptr(unsafe.Pointer(&testPcache)) + 80)) = testpcacheTruncate
105900  	*(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&testPcache)) + 88)) = testpcacheDestroy
105901  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tmp_io_methods)) + 8)) = tmpClose
105902  	*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tmp_io_methods)) + 16)) = tmpRead
105903  	*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tmp_io_methods)) + 24)) = tmpWrite
105904  	*(*func(*libc.TLS, uintptr, sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tmp_io_methods)) + 32)) = tmpTruncate
105905  	*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tmp_io_methods)) + 40)) = tmpSync
105906  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tmp_io_methods)) + 48)) = tmpFileSize
105907  	*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tmp_io_methods)) + 56)) = tmpLock
105908  	*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tmp_io_methods)) + 64)) = tmpUnlock
105909  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tmp_io_methods)) + 72)) = tmpCheckReservedLock
105910  	*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tmp_io_methods)) + 80)) = tmpFileControl
105911  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tmp_io_methods)) + 88)) = tmpSectorSize
105912  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tmp_io_methods)) + 96)) = tmpDeviceCharacteristics
105913  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tvfs_io_methods)) + 8)) = tvfsClose
105914  	*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tvfs_io_methods)) + 16)) = tvfsRead
105915  	*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tvfs_io_methods)) + 24)) = tvfsWrite
105916  	*(*func(*libc.TLS, uintptr, sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tvfs_io_methods)) + 32)) = tvfsTruncate
105917  	*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tvfs_io_methods)) + 40)) = tvfsSync
105918  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tvfs_io_methods)) + 48)) = tvfsFileSize
105919  	*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tvfs_io_methods)) + 56)) = tvfsLock
105920  	*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tvfs_io_methods)) + 64)) = tvfsUnlock
105921  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tvfs_io_methods)) + 72)) = tvfsCheckReservedLock
105922  	*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tvfs_io_methods)) + 80)) = tvfsFileControl
105923  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tvfs_io_methods)) + 88)) = tvfsSectorSize
105924  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tvfs_io_methods)) + 96)) = tvfsDeviceCharacteristics
105925  	*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tvfs_io_methods)) + 104)) = tvfsShmMap
105926  	*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tvfs_io_methods)) + 112)) = tvfsShmLock
105927  	*(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&tvfs_io_methods)) + 120)) = tvfsShmBarrier
105928  	*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tvfs_io_methods)) + 128)) = tvfsShmUnmap
105929  	*(*func(*libc.TLS, uintptr, sqlite3_int64, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tvfs_io_methods)) + 136)) = tvfsFetch
105930  	*(*func(*libc.TLS, uintptr, sqlite3_int64, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tvfs_io_methods)) + 144)) = tvfsUnfetch
105931  	*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tvfs_vfs)) + 40)) = tvfsOpen
105932  	*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tvfs_vfs)) + 48)) = tvfsDelete
105933  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tvfs_vfs)) + 56)) = tvfsAccess
105934  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tvfs_vfs)) + 64)) = tvfsFullPathname
105935  	*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tvfs_vfs)) + 104)) = tvfsRandomness
105936  	*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tvfs_vfs)) + 112)) = tvfsSleep
105937  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&tvfs_vfs)) + 120)) = tvfsCurrentTime
105938  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&unionModule)) + 8)) = unionConnect
105939  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&unionModule)) + 16)) = unionConnect
105940  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&unionModule)) + 24)) = unionBestIndex
105941  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&unionModule)) + 32)) = unionDisconnect
105942  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&unionModule)) + 40)) = unionDisconnect
105943  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&unionModule)) + 48)) = unionOpen
105944  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&unionModule)) + 56)) = unionClose
105945  	*(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&unionModule)) + 64)) = unionFilter
105946  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&unionModule)) + 72)) = unionNext
105947  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&unionModule)) + 80)) = unionEof
105948  	*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&unionModule)) + 88)) = unionColumn
105949  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&unionModule)) + 96)) = unionRowid
105950  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfslog_io_methods)) + 8)) = vfslogClose
105951  	*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfslog_io_methods)) + 16)) = vfslogRead
105952  	*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfslog_io_methods)) + 24)) = vfslogWrite
105953  	*(*func(*libc.TLS, uintptr, sqlite3_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfslog_io_methods)) + 32)) = vfslogTruncate
105954  	*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfslog_io_methods)) + 40)) = vfslogSync
105955  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfslog_io_methods)) + 48)) = vfslogFileSize
105956  	*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfslog_io_methods)) + 56)) = vfslogLock
105957  	*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfslog_io_methods)) + 64)) = vfslogUnlock
105958  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfslog_io_methods)) + 72)) = vfslogCheckReservedLock
105959  	*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfslog_io_methods)) + 80)) = vfslogFileControl
105960  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfslog_io_methods)) + 88)) = vfslogSectorSize
105961  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfslog_io_methods)) + 96)) = vfslogDeviceCharacteristics
105962  	*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfslog_io_methods)) + 104)) = vfslogShmMap
105963  	*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfslog_io_methods)) + 112)) = vfslogShmLock
105964  	*(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&vfslog_io_methods)) + 120)) = vfslogShmBarrier
105965  	*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfslog_io_methods)) + 128)) = vfslogShmUnmap
105966  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfslog_module)) + 8)) = vlogConnect
105967  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfslog_module)) + 16)) = vlogConnect
105968  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfslog_module)) + 24)) = vlogBestIndex
105969  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfslog_module)) + 32)) = vlogDisconnect
105970  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfslog_module)) + 40)) = vlogDisconnect
105971  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfslog_module)) + 48)) = vlogOpen
105972  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfslog_module)) + 56)) = vlogClose
105973  	*(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfslog_module)) + 64)) = vlogFilter
105974  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfslog_module)) + 72)) = vlogNext
105975  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfslog_module)) + 80)) = vlogEof
105976  	*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfslog_module)) + 88)) = vlogColumn
105977  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfslog_module)) + 96)) = vlogRowid
105978  	*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfslog_vfs)) + 40)) = vfslogOpen
105979  	*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfslog_vfs)) + 48)) = vfslogDelete
105980  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfslog_vfs)) + 56)) = vfslogAccess
105981  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfslog_vfs)) + 64)) = vfslogFullPathname
105982  	*(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfslog_vfs)) + 72)) = vfslogDlOpen
105983  	*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&vfslog_vfs)) + 80)) = vfslogDlError
105984  	*(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfslog_vfs)) + 88)) = vfslogDlSym
105985  	*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&vfslog_vfs)) + 96)) = vfslogDlClose
105986  	*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfslog_vfs)) + 104)) = vfslogRandomness
105987  	*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfslog_vfs)) + 112)) = vfslogSleep
105988  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfslog_vfs)) + 120)) = vfslogCurrentTime
105989  	*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfslog_vfs)) + 128)) = vfslogGetLastError
105990  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&vfslog_vfs)) + 136)) = vfslogCurrentTimeInt64
105991  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&wholenumberModule)) + 8)) = wholenumberConnect
105992  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&wholenumberModule)) + 16)) = wholenumberConnect
105993  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&wholenumberModule)) + 24)) = wholenumberBestIndex
105994  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&wholenumberModule)) + 32)) = wholenumberDisconnect
105995  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&wholenumberModule)) + 40)) = wholenumberDisconnect
105996  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&wholenumberModule)) + 48)) = wholenumberOpen
105997  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&wholenumberModule)) + 56)) = wholenumberClose
105998  	*(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&wholenumberModule)) + 64)) = wholenumberFilter
105999  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&wholenumberModule)) + 72)) = wholenumberNext
106000  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&wholenumberModule)) + 80)) = wholenumberEof
106001  	*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&wholenumberModule)) + 88)) = wholenumberColumn
106002  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&wholenumberModule)) + 96)) = wholenumberRowid
106003  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&writecrash_io_methods)) + 8)) = devsymClose
106004  	*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&writecrash_io_methods)) + 16)) = devsymRead
106005  	*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&writecrash_io_methods)) + 24)) = writecrashWrite
106006  	*(*func(*libc.TLS, uintptr, sqlite_int64) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&writecrash_io_methods)) + 32)) = devsymTruncate
106007  	*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&writecrash_io_methods)) + 40)) = devsymSync
106008  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&writecrash_io_methods)) + 48)) = devsymFileSize
106009  	*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&writecrash_io_methods)) + 56)) = devsymLock
106010  	*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&writecrash_io_methods)) + 64)) = devsymUnlock
106011  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&writecrash_io_methods)) + 72)) = devsymCheckReservedLock
106012  	*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&writecrash_io_methods)) + 80)) = devsymFileControl
106013  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&writecrash_io_methods)) + 88)) = writecrashSectorSize
106014  	*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&writecrash_io_methods)) + 96)) = writecrashDeviceCharacteristics
106015  	*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&writecrash_io_methods)) + 104)) = devsymShmMap
106016  	*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&writecrash_io_methods)) + 112)) = devsymShmLock
106017  	*(*func(*libc.TLS, uintptr))(unsafe.Pointer(uintptr(unsafe.Pointer(&writecrash_io_methods)) + 120)) = devsymShmBarrier
106018  	*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&writecrash_io_methods)) + 128)) = devsymShmUnmap
106019  	*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&writecrash_vfs)) + 40)) = writecrashOpen
106020  	*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&writecrash_vfs)) + 48)) = devsymDelete
106021  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&writecrash_vfs)) + 56)) = devsymAccess
106022  	*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&writecrash_vfs)) + 64)) = devsymFullPathname
106023  	*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&writecrash_vfs)) + 104)) = devsymRandomness
106024  	*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&writecrash_vfs)) + 112)) = devsymSleep
106025  	*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(uintptr(unsafe.Pointer(&writecrash_vfs)) + 120)) = devsymCurrentTime
106026  }
106027  
106028  var ts1 = "%s\x00internal error!\x00SELECT * FROM main.%Q WHERE sample()\x00expert\x00PRAGMA table_xinfo=%Q\x00main\x00binary\x00, \x00%Q\x00 COLLATE %Q\x00 COLLATE %s\x00 DESC\x00PRAGMA index_list=%Q\x00PRAGMA index_xInfo=%Q\x00%s_idx_%08x\x00SELECT count(*) FROM sqlite_schema WHERE name=%Q AND type in ('index','table','view')\x00CREATE INDEX \"%w\" ON \"%w\"(%s)\x00CREATE INDEX %s ON %s(%s)\x00EXPLAIN QUERY PLAN %s\x00 USING INDEX \x00 USING COVERING INDEX \x00%s\n\x00%s;\n\x00SELECT 'CREATE TEMP' || substr(sql, 7) FROM sqlite_schema WHERE tbl_name = %Q AND type IN ('table', 'trigger') ORDER BY type;\x00ALTER TABLE temp.%Q RENAME TO %Q\x00INSERT INTO %Q VALUES(\x00%s?\x00\x00)\x00UPDATE %Q SET \x00%s%Q=?\x00DELETE FROM %Q\x00t592690916721053953805701627921227776\x00DROP TABLE t592690916721053953805701627921227776\x00SELECT type, name, sql, 1 FROM sqlite_schema WHERE type IN ('table','view') AND name NOT LIKE 'sqlite_%%'  UNION ALL SELECT type, name, sql, 2 FROM sqlite_schema WHERE type = 'trigger'  AND tbl_name IN(SELECT name FROM sqlite_schema WHERE type = 'view') ORDER BY 4, 1\x00CREATE TABLE x(\x00%s%Q COLLATE %s\x00CREATE VIRTUAL TABLE %Q USING expert(%Q)\x00SELECT max(i.seqno) FROM   sqlite_schema AS s,   pragma_index_list(s.name) AS l,   pragma_index_info(l.name) AS i WHERE s.type = 'table'\x00%sx.%Q IS rem(%d, x.%Q) COLLATE %s\x00%s%d\x00SELECT %s FROM %Q x ORDER BY %s\x00SELECT %s FROM temp.t592690916721053953805701627921227776 x ORDER BY %s\x00%d\x00 %d\x00DROP TABLE IF EXISTS temp.t592690916721053953805701627921227776\x00CREATE TABLE temp.t592690916721053953805701627921227776 AS SELECT * FROM %Q\x00SELECT s.rowid, s.name, l.name FROM   sqlite_schema AS s,   pragma_index_list(s.name) AS l WHERE s.type = 'table'\x00SELECT name, coll FROM pragma_index_xinfo(?) WHERE key\x00INSERT INTO sqlite_stat1 VALUES(?, ?, ?)\x00ANALYZE; PRAGMA writable_schema=1\x00rem\x00sample\x00ANALYZE sqlite_schema\x00:memory:\x00SELECT sql FROM sqlite_schema WHERE name NOT LIKE 'sqlite_%%' AND sql NOT LIKE 'CREATE VIRTUAL %%'\x00Cannot find a unique index name to propose.\x00%s;%s%s\n\x00 -- stat1: \x00no such handle: \x00sql\x00TABLE\x00analyze\x00count\x00report\x00STMT EREPORT\x00destroy\x00SUBCOMMAND ...\x00sub-command\x00indexes\x00plan\x00candidates\x00DB\x00sqlite3expert%d\x00out of memory\x00sqlite3_expert_new\x00SQLITE_DONE\x00SQLITE_ERROR\x00SQLITE_OK\x00SELECT fts5(?1)\x00error: \x00fts5_api_ptr\x00f5t_2_%lld\x00xColumnCount\x00xRowCount\x00xColumnTotalSize\x00COL\x00xTokenize\x00TEXT SCRIPT\x00xPhraseCount\x00xPhraseSize\x00PHRASE\x00xInstCount\x00xInst\x00IDX\x00xRowid\x00xColumnText\x00xColumnSize\x00xQueryPhrase\x00PHRASE SCRIPT\x00xSetAuxdata\x00VALUE\x00xGetAuxdata\x00CLEAR\x00xSetAuxdataInt\x00INTEGER\x00xGetAuxdataInt\x00xPhraseForeach\x00IPHRASE COLVAR OFFVAR SCRIPT\x00xPhraseColumnForeach\x00IPHRASE COLVAR SCRIPT\x00SUB-COMMAND\x00f5t_%lld\x00bytearray\x00boolean\x00double\x00wideInt\x00int\x00DB NAME SCRIPT\x00?-subst? DB NAME TEXT\x00-subst\x00unrecognized option: \x00no such tokenizer: \x00error in tokenizer.xCreate()\x00error in tokenizer.xTokenize()\x00document\x00aux\x00query\x00prefixquery\x00invalid\x00-colocated\x00sqlite3_fts5_token may only be used by tokenizer callback\x00?-colocated? TEXT START END\x00error in fts5_api.xCreateTokenizer()\x00NSLOT TOKEN\x00sqlite3_fts5_create_tokenizer\x00sqlite3_fts5_token\x00sqlite3_fts5_tokenize\x00sqlite3_fts5_create_function\x00sqlite3_fts5_may_be_corrupt\x00sqlite3_fts5_token_hash\x00sqlite3_fts5_register_matchinfo\x00sqlite3_fts5_register_fts5tokenize\x00unrecognized matchinfo flag: %c\x00pcx\x00matchinfo\x00CREATE TABLE x(input HIDDEN, token, start, end, position)\x00fts5tokenize\x00apndvfs\x00Start-Of-SQLite3-\x00apnd(%lld)/%z\x00SQLite format 3\x00%s: cost must be between 1 and %d\x00%s: maximum string length is %d\x00%s: iLang must be between 0 and %d\x00?\x00SELECT * FROM %Q.%Q\x00%s: %s\x00%s: %s has %d columns, expected 4\x00vocabulary_table\x00vocabulary_word\x00vocabulary_language\x00edit_distances\x00unrecognized argument: [%s]\n\x00no edit_distances table specified\x00CREATE TABLE x(word,distance,language,command HIDDEN,nword HIDDEN)\x000123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ^abcdefghijklmnopqrstuvwxyz~\x00SELECT \"%w\" FROM \"%w\"\x00 WHERE \"%w\">=?1 AND \"%w\"=?2 ORDER BY 1\x00SELECT \"%w\" FROM \"%w\" WHERE \"%w\">=?1 ORDER BY 1\x00*\x00DELETE from %s is not allowed\x00UPDATE of %s is not allowed\x00INSERT INTO %s allowed for column [command] only\x00approximate_match\x00int32\x00int64\x00char*\x00CREATE TABLE x(value,pointer hidden,count hidden,ctype hidden)\x00carray-bind\x00carray\x00unknown datatype: %Q\x00inttoptr\x00cksmvfs\x00ZV-\x00checksum fault offset %lld of \"%s\"\x00checksum_verification\x00enable%\x00yes\x00on\x00page_size\x00cksm/%z\x00verify_checksum\x00tablename\x00idcolumn\x00parentcolumn\x00CREATE TABLE x(id,depth,root HIDDEN,tablename HIDDEN,idcolumn HIDDEN,parentcolumn HIDDEN)\x00SELECT \"%w\".\"%w\" FROM \"%w\" WHERE \"%w\".\"%w\"=?1\x00transitive_closure\x00rb\x00cannot open '%s' for reading\x00line %d: unescaped %c character\x00line %d: unterminated %c-quoted field\n\x00more than one '%s' parameter\x00true\x00no\x00off\x00false\x00header\x00more than one 'header' parameter\x00testflags\x00columns\x00more than one 'columns' parameter\x00column= value must be positive\x00bad parameter: '%s'\x00must specify either filename= or data= but not both\x00%sc%d TEXT\x00,\x00%s\"%w\" TEXT\x00bad schema: '%s' - %s\x00filename\x00data\x00schema\x00csv\x00csv_wr\x00decimal_sum\x00decimal\x00decimal_cmp\x00decimal_add\x00decimal_sub\x00decimal_mul\x00 \x00eval\x00CREATE TABLE x(addr,opcode,p1,p2,p3,p4,p5,comment,sql HIDDEN)\x00EXPLAIN %s\x00explain\x00wb\x00wrong number of arguments to function writefile()\x00failed to create symlink: %s\x00failed to create directory: %s\x00failed to write file: %s\x00CREATE TABLE x(name,mode,mtime,data,path HIDDEN,dir HIDDEN)\x00cannot read directory: %s\x00%s/%s\x00cannot stat file: %s\x00table function fsdir requires an argument\x00table function fsdir requires a non-NULL argument\x00fsdir\x00readfile\x00writefile\x00lsmode\x00%s: ruleset must be between 0 and %d\x00%s: wrong number of CREATE VIRTUAL TABLE arguments\x00CREATE TABLE x(word,distance,ruleset)\x00fuzzer\x00ieee754(%lld,%d)\x00ieee754\x00ieee754_mantissa\x00ieee754_exponent\x00ieee754_to_blob\x00ieee754_from_blob\x00BEGIN; SELECT * FROM %s%q%ssqlite_schema\x00'\x00'.\x00PRAGMA %s%q%spage_size\x00sqlite3_mmap_warm_cache: Warmed up %d pages of %s\x00END\x00AND (%s)\x00collate \"%w\"\x00SELECT %s FROM %s WHERE %s>=(?1 || ?2) %s   AND %s<=(?1 || char(1114111)) %s   %s ORDER BY 1 %s ASC LIMIT 1\x00next_char\x00NULL\x00is\x00not\x00in(\x00in(select\x00in(with\x00?,?,?\x002nd argument to percentile() is not a number between 0.0 and 100.0\x002nd argument to percentile() is not the same for all input rows\x001st argument to percentile() is not numeric\x00Inf input to percentile()\x00percentile\x00CREATE TABLE prefixes(prefix TEXT, original_string TEXT HIDDEN)\x00prefixes\x00prefix_length\x00vn\x00ix\x00cn\x00op\x00ux\x00rhs\x00a\x00b\x00c\x00d\x00e\x00flags\x00CREATE TABLE x( vn TEXT, ix INT, cn TEXT, op INT, ux BOOLEAN, rhs TEXT, a, b, c, d, e, flags INT HIDDEN)\x00%lld\x00%!f\x00x'\x00%02x\x00nConstraint,%d,,,,\n\x00aConstraint,%d,%s,%d,%d,\x00\n\x00nOrderBy,%d,,,,\n\x00aOrderBy,%d,%s,%d,,\n\x00rowid\x00sqlite3_vtab_distinct,%d,,,,\n\x00idxFlags,%d,,,,\n\x00colUsed,%d,,,,\n\x00idxNum,%d,,,,\n\x00orderByConsumed,%d,,,,\n\x00qpvtab\x00unknown \\ escape\x00afnrtv\\()*.+?[$^{|}]\x00\a\f\n\r\t\v\x00unmatched '('\x00'*' without operand\x00'+' without operand\x00'?' without operand\x00'{m,n}' without operand\x00unmatched '{'\x00n less than m in '{m,n}'\x00both m and n are zero in '{m,n}'\x00POSIX character classes not supported\x00unclosed '['\x00unrecognized character\x00regexp\x00regexpi\x00remember\x00CREATE TABLE x(value,start hidden,stop hidden,step hidden)\x00first argument to \"generate_series()\" missing or unusable\x00generate_series() requires SQLite 3.8.12 or later\x00generate_series\x00.ABCDHLRMY9 ?\x00non-ASCII input to editdist()\x00NULL input to editdist()\x00SELECT iLang, cFrom, cTo, iCost FROM \"%w\" WHERE iLang>=0 ORDER BY iLang\x00editdist3\x00DROP TABLE IF EXISTS \"%w\".\"%w_vocab\"\x00CREATE TABLE x(word,rank,distance,langid, score, matchlen, phonehash HIDDEN, top HIDDEN, scope HIDDEN, srchcnt HIDDEN, soundslike HIDDEN, command HIDDEN)\x00CREATE TABLE IF NOT EXISTS \"%w\".\"%w_vocab\"(\n  id INTEGER PRIMARY KEY,\n  rank INT,\n  langid INT,\n  word TEXT,\n  k1 TEXT,\n  k2 TEXT\n);\n\x00CREATE INDEX IF NOT EXISTS \"%w\".\"%w_vocab_index_langid_k2\" ON \"%w_vocab\"(langid,k2);\x00edit_cost_table=\x00bad argument to spellfix1(): \"%s\"\x00SELECT id, word, rank, coalesce(k1,word)  FROM \"%w\".\"%w_vocab\" WHERE langid=%d AND k2>=?1 AND k2<?2\x00SELECT word, rank, NULL, langid, id FROM \"%w\".\"%w_vocab\"%s\x00 WHERE rowid=?\x00ROLLBACK\x00IGNORE\x00ABORT\x00REPLACE\x00DELETE FROM \"%w\".\"%w_vocab\"  WHERE id=%lld\x00NOT NULL constraint failed: %s.word\x00reset\x00null\x00unknown value for %s.command: \"%w\"\x00INSERT INTO \"%w\".\"%w_vocab\"(rank,langid,word,k1,k2) VALUES(%d,%d,%Q,nullif(%Q,%Q),%Q)\x00INSERT OR %s INTO \"%w\".\"%w_vocab\"(id,rank,langid,word,k1,k2) VALUES(%lld,%d,%d,%Q,nullif(%Q,%Q),%Q)\x00UPDATE OR %s \"%w\".\"%w_vocab\" SET id=%lld, rank=%d, langid=%d, word=%Q, k1=nullif(%Q,%Q), k2=%Q WHERE id=%lld\x00ALTER TABLE \"%w\".\"%w_vocab\" RENAME TO \"%w_vocab\"\x00spellfix1_translit\x00spellfix1_editdist\x00spellfix1_phonehash\x00spellfix1_scriptcode\x00spellfix1\x00922337203685477580\x00tointeger\x00toreal\x00sql error: %s\x00_rowid_\x00integer\x00no such rowid table: %s%s%s\x00.\x00SELECT group_concat(quote(name) || '.' || quote(type)) FROM pragma_table_info(?, ?)\x00source table schema mismatch\x00swarmvtab: no such SQL parameter: %s\x00maxopen\x00swarmvtab: illegal maxopen value\x00missing\x00swarmvtab: duplicate \"missing\" option\x00SELECT \"%w\"(?%s)\x00,?\x00openclose\x00swarmvtab: duplicate \"openclose\" option\x00SELECT \"%w\"(?,?%s)\x00swarmvtab: unrecognized option: %s\x00SELECT \"%w\"(?)\x00swarmvtab: parse error: %s\x00swarmvtab\x00unionvtab\x00temp\x00%s tables must be created in TEMP schema\x00wrong number of arguments for %s\x00SELECT * FROM (%z) ORDER BY 3\x00rowid range mismatch error\x00no source tables configured\x00SELECT 'CREATE TABLE xyz('    || group_concat(quote(name) || ' ' || type, ', ')    || ')',max((cid+1) * (type='INTEGER' COLLATE nocase AND pk=1))-1 FROM pragma_table_info(%Q, ?)\x00SELECT rowid, * FROM %Q %s %lld\x00WHERE _rowid_ <=\x00-- \x00%z%sSELECT rowid, * FROM %s%q%s%Q\x00 UNION ALL \x00%z WHERE rowid=%lld\x00WHERE\x00%z WHERE rowid>=%lld\x00AND\x00%z %s rowid<=%lld\x00CREATE TABLE x(value)\x00wholenumber\x00rbu_delta\x00step\x00close\x00create_rbu_delta\x00savestate\x00dbMain_eval\x00SQL\x00bp_progress\x00db\x00RBU\x00state\x00progress\x00close_no_error\x00temp_size_limit\x00LIMIT\x00temp_size\x00dbRbu_eval\x00METHOD\x00method\x00 - \x00oal\x00move\x00checkpoint\x00done\x00error\x00NAME TARGET-DB RBU-DB ?STATE-DB?\x00NAME TARGET-DB ?STATE-DB?\x00?-default? NAME PARENT\x00NAME\x00sqlite3rbu_db(0, 0)!=0\x00sqlite3rbu\x00sqlite3rbu_vacuum\x00sqlite3rbu_create_vfs\x00sqlite3rbu_destroy_vfs\x00sqlite3rbu_internal_test\x00%p\x00zero\x00user\x00user_is_zero\x00box\x00DB SCRIPT\x00partly\x00fully\x00aParam\x00aCoord\x00anQueue\x00iLevel\x00mxLevel\x00iRowid\x00rParentScore\x00eParentWithin\x00value\x00qbox\x00register_box_geom\x00register_box_query\x00DB SQL\x00error in sql_exec_changeset()\x00sqlite3session_streams\x00attach\x00changeset\x00delete\x00enable\x00BOOL\x00indirect\x00isempty\x00table_filter\x00SCRIPT\x00patchset\x00diff\x00FROMDB TBL\x00memory_used\x00changeset_size\x00object_config_size\x00CMD DB-HANDLE DB-NAME\x00n\x00i\x00f\x00t\x00FOREIGN_KEY\x00INSERT\x00UPDATE\x00DELETE\x00DATA\x00NOTFOUND\x00CONFLICT\x00CONSTRAINT\x00OMIT\x00-nosavepoint\x00-invert\x00?-nosavepoint? ?-inverse? DB CHANGESET CONFLICT-SCRIPT ?FILTER-SCRIPT?\x00DB CHANGESET CONFLICT-SCRIPT ?FILTER-SCRIPT?\x00DB CHANGESET\x00CHANGESET\x00LEFT RIGHT\x00-next\x00?-next? ?-invert? VARNAME CHANGESET SCRIPT\x00configure\x00REBASE-BLOB\x00rebase\x00OP VALUE\x00strm_size\x00sqlite3session\x00sqlite3session_foreach\x00sqlite3changeset_invert\x00sqlite3changeset_concat\x00sqlite3changeset_apply\x00sqlite3changeset_apply_v2\x00sqlite3changeset_apply_replace_all\x00sql_exec_changeset\x00sqlite3rebaser_create\x00sqlite3session_config\x00incrblob\x00incrblob_%d\x00sqlite_unlock_notify_arg\x00sqlite_unlock_notify_argcount\x00SQLITE_COPY\x00SQLITE_CREATE_INDEX\x00SQLITE_CREATE_TABLE\x00SQLITE_CREATE_TEMP_INDEX\x00SQLITE_CREATE_TEMP_TABLE\x00SQLITE_CREATE_TEMP_TRIGGER\x00SQLITE_CREATE_TEMP_VIEW\x00SQLITE_CREATE_TRIGGER\x00SQLITE_CREATE_VIEW\x00SQLITE_DELETE\x00SQLITE_DROP_INDEX\x00SQLITE_DROP_TABLE\x00SQLITE_DROP_TEMP_INDEX\x00SQLITE_DROP_TEMP_TABLE\x00SQLITE_DROP_TEMP_TRIGGER\x00SQLITE_DROP_TEMP_VIEW\x00SQLITE_DROP_TRIGGER\x00SQLITE_DROP_VIEW\x00SQLITE_INSERT\x00SQLITE_PRAGMA\x00SQLITE_READ\x00SQLITE_SELECT\x00SQLITE_TRANSACTION\x00SQLITE_UPDATE\x00SQLITE_ATTACH\x00SQLITE_DETACH\x00SQLITE_ALTER_TABLE\x00SQLITE_REINDEX\x00SQLITE_ANALYZE\x00SQLITE_CREATE_VTABLE\x00SQLITE_DROP_VTABLE\x00SQLITE_FUNCTION\x00SQLITE_SAVEPOINT\x00SQLITE_RECURSIVE\x00????\x00SQLITE_DENY\x00SQLITE_IGNORE\x00RELEASE _tcl_transaction\x00COMMIT\x00ROLLBACK TO _tcl_transaction ; RELEASE _tcl_transaction\x00option\x00?CALLBACK?\x00?DATABASE? FILENAME\x00cannot open target database: \x00backup failed: \x00CALLBACK\x00cache option ?arg?\x00flush\x00size\x00size n\x00cannot convert \"\x00\" to integer\x00bad option \"\x00\": must be flush or size\x00NAME SCRIPT\x00?OPTION? ?BOOLEAN?\x00unknown config option: \"\x00\"\x00CONFLICT-ALGORITHM TABLE FILENAME ?SEPARATOR? ?NULLINDICATOR?\x00\t\x00Error: non-null separator required for copy\x00rollback\x00abort\x00fail\x00ignore\x00replace\x00Error: \"\x00\", conflict-algorithm must be one of: rollback, abort, fail, ignore, or replace\x00SELECT * FROM '%q'\x00Error: no such table: \x00Error: \x00Error: can't malloc()\x00INSERT OR %q INTO '%q' VALUES(?\x00Error: cannot open file: \x00BEGIN\x00Error: %s line %d: expected %d columns of data but found %d\x00, failed while processing line: \x00?DATABASE? VALUE\x00-maxsize\x00-readonly\x00unknown option: \x00unable to set MEMDB content\x00extension loading is turned off at compile-time\x00-withoutnulls\x00unknown option: \"\x00?OPTIONS? SQL ?ARRAY-NAME? ?SCRIPT?\x00NAME ?SWITCHES? SCRIPT\x00-argcount\x00option requires an argument: \x00number of arguments must be non-negative\x00-deterministic\x00-directonly\x00-innocuous\x00-returntype\x00real\x00text\x00blob\x00any\x00type\x00\": must be -argcount, -deterministic, -directonly, -innocuous, or -returntype\x00?-readonly? ?DB? TABLE COLUMN ROWID\x00NULLVALUE\x00N CALLBACK\x00KEY\x00cannot open source database: \x00restore failed: \x00restore failed: source database busy\x00?DATABASE?\x00(step|sort|autoindex)\x00sort\x00autoindex\x00vmstep\x00bad argument: should be autoindex, step, sort or vmstep\x00MILLISECONDS\x00?CALLBACK? ?MASK?\x00trace type\x00SAVEPOINT _tcl_transaction\x00[TYPE] SCRIPT\x00transaction type\x00BEGIN EXCLUSIVE\x00BEGIN IMMEDIATE\x00?SCRIPT?\x00SUB-COMMAND ?ARGS?\x00hook ?SCRIPT?\x00INDEX\x00-use-legacy-prepare\x00-last-stmt-ptr\x00unknown argument: \x00authorizer\x00backup\x00bind_fallback\x00busy\x00cache\x00changes\x00collate\x00collation_needed\x00commit_hook\x00complete\x00config\x00copy\x00deserialize\x00enable_load_extension\x00errorcode\x00erroroffset\x00exists\x00function\x00interrupt\x00last_insert_rowid\x00nullvalue\x00onecolumn\x00preupdate\x00profile\x00rekey\x00restore\x00rollback_hook\x00serialize\x00status\x00timeout\x00total_changes\x00trace\x00trace_v2\x00transaction\x00unlock_notify\x00update_hook\x00version\x00wal_hook\x00defensive\x00dqs_ddl\x00dqs_dml\x00enable_fkey\x00enable_qpsg\x00enable_trigger\x00enable_view\x00fts3_tokenizer\x00legacy_alter_table\x00legacy_file_format\x00load_extension\x00no_ckpt_on_close\x00reset_database\x00trigger_eqp\x00trusted_schema\x00writable_schema\x00statement\x00row\x00deferred\x00exclusive\x00immediate\x00depth\x00hook\x00new\x00old\x00HANDLE ?FILENAME? ?-vfs VFSNAME? ?-readonly BOOLEAN? ?-create BOOLEAN? ?-nofollow BOOLEAN? ?-nomutex BOOLEAN? ?-fullmutex BOOLEAN? ?-uri BOOLEAN?\x00-version\x00-sourceid\x00-has-codec\x000\x00-key\x00-vfs\x00-create\x00-nofollow\x00-nomutex\x00-fullmutex\x00-uri\x00-translatefilename\x00sqlite3\x00sqlite\x003.39.3\x00if {[llength $argv]>=1} {\nset argv0 [lindex $argv 0]\nset argv [lrange $argv 1 end]\nsource $argv0\n} else {\nset line {}\nwhile {![eof stdin]} {\nif {$line!=\"\"} {\nputs -nonewline \"> \"\n} else {\nputs -nonewline \"% \"\n}\nflush stdout\nappend line [gets stdin]\nif {[info complete $line]} {\nif {[catch {uplevel #0 $line} result]} {\nputs stderr \"Error: $result\"\n} elseif {$result!=\"\"} {\nputs $result\n}\nset line {}\n} else {\nappend line \\n\n}\n}\n}\n\x00SQLITE_DEBUG_BREAK\x00attach debugger to process %d and press any key to continue.\n\x00utf-8\x00argc\x00argv0\x00argv\x00errorInfo\x00%s: %s\n\x00SQLITE-CONNECTION\x00command not found: \x00error code %s (%d) does not match sqlite3_errcode %s (%d)\x00OMIT_MISUSE\x00wrong # args: should be \"\x00 DB FORMAT STRING\x00 DB HEX\x00 DB\x00 DB SQL\x00%z%s%s\x00%s%n\x00abcdefghijklmnopqrstuvwxyz\x00 DB FORMAT STRING ?COUNT?\x00 DB\"\x00 FILENAME\"\x00%04x\x00tkt2213 is not fixed\x00text16\x00bytes\x00bytes16\x00noop\x00x_coalesce\x00hex8\x00hex16\x00tkt2213func\x00pointer_change\x00counter1\x00counter2\x00intreal\x00x_sqlite_exec\x00value of 40 handed to x_count\x00x_count totals to 42\x00x_count\x00legacy_count\x00 TEXT\"\x00 FORMAT INT INT INT\"\x00argument is not a valid 64-bit integer\x00 FORMAT INT INT ?STRING?\"\x00 INT FORMAT INT INT ?STRING?\"\x00N must be non-negative\x00 FORMAT INT INT DOUBLE\"\x00 FORMAT DOUBLE DOUBLE\"\x00 FORMAT STRING\"\x00%08x%08x\x002nd argument should be 16-characters of hex\x00?BOOLEAN?\x00DB BOOLEAN\x00DB dbname tblname colname\x00CHANNEL ROWID\x00DB-HANDLE NAME CMP-PROC DEL-PROC\x00sqlite3_create_collate_v2() failed to detect an invalid encoding\x00utf8\x00utf16\x00utf16le\x00utf16be\x00DB NAME NARG ENC SWITCHES...\x00encoding\x00-func\x00-step\x00-final\x00-destroy\x00switch\x00DB-HANDLE FILE ?PROC?\x00this build omits sqlite3_load_extension()\x00DB-HANDLE ONOFF\x00string\x00first argument should be one of: int int64 string double null value\x00 DB FUNCTION-NAME\x00 <STMT>\x00STMT PARAMETER RESETFLAG\x00SQLITE_STMTSTATUS_FULLSCAN_STEP\x00SQLITE_STMTSTATUS_SORT\x00SQLITE_STMTSTATUS_AUTOINDEX\x00SQLITE_STMTSTATUS_VM_STEP\x00SQLITE_STMTSTATUS_REPREPARE\x00SQLITE_STMTSTATUS_RUN\x00SQLITE_STMTSTATUS_MEMUSED\x00NBYTE\x00DB DBNAME\x00DB DBNAME SNAPSHOT\x00SNAPSHOT\x00SNAPSHOT1 SNAPSHOT2\x00bad SNAPSHOT\x00FILE\x00PATH\x00 DB STMT\x00 STMT\x00 FROM-STMT TO-STMT\x00 VM IDX VALUE (null|static|normal)\"\x00static\x00static-nbytes\x00normal\x00blob10\x00abc\x00xyz\x00pq\x004th argument should be \"null\" or \"static\" or \"normal\"\x00(%d) \x00test_collate\x00UTF-8\x00UTF-16LE\x00UTF-16BE\x00 <DB> <utf8> <utf16le> <utf16be>\x00utf16bin\x00utf16_unaligned\x00utf16_aligned\x00test_function\x00<error code>\x00STMT IDX N\x00 STMT N VALUE\x00NaN\x00SNaN\x00-NaN\x00-SNaN\x00+Inf\x00-Inf\x00Epsilon\x00-Epsilon\x00NaN0\x00-NaN0\x00 STMT N\x00 STMT N VALUE BYTES\x00 STMT N DATA BYTES\x00cannot use %d blob bytes, have %d\x00STMT N NEW|OLD IDX\x00expected new or old, got: \x00STMT N SELECT\x00error in SQL: \x00error runnning SQL: \x00-transient\x00-static\x00-int32\x00-int64\x00-double\x00-text\x00--\x00text data must be either -static or -transient\x00cannot be both -static and -transient\x00[OPTIONS] STMT IDX VALUE ...\x00STMT\x00STMT N\x00STMT NAME\x00 DB sql bytes ?tailvar?\x00 DB sql bytes tailvar\x00 DB sql bytes flags tailvar\x00\x00SELECT 1\x00 filename options-list\x00FILENAME FLAGS VFS\x00SQLITE_OPEN_READONLY\x00SQLITE_OPEN_READWRITE\x00SQLITE_OPEN_CREATE\x00SQLITE_OPEN_DELETEONCLOSE\x00SQLITE_OPEN_EXCLUSIVE\x00SQLITE_OPEN_AUTOPROXY\x00SQLITE_OPEN_MAIN_DB\x00SQLITE_OPEN_TEMP_DB\x00SQLITE_OPEN_TRANSIENT_DB\x00SQLITE_OPEN_MAIN_JOURNAL\x00SQLITE_OPEN_TEMP_JOURNAL\x00SQLITE_OPEN_SUBJOURNAL\x00SQLITE_OPEN_SUPER_JOURNAL\x00SQLITE_OPEN_NOMUTEX\x00SQLITE_OPEN_FULLMUTEX\x00SQLITE_OPEN_SHAREDCACHE\x00SQLITE_OPEN_PRIVATECACHE\x00SQLITE_OPEN_WAL\x00SQLITE_OPEN_URI\x00SQLITE_OPEN_EXRESCODE\x00flag\x00<utf-16 sql>\x00 STMT column\x00FLOAT\x00TEXT\x00BLOB\x00 DB function-name\x00VARIABLE\x00?N?\x001234567890000000\x00__one\x00__two\x00notadatabase\x00Unexpected non-zero errno: \x00DB [DBNAME]\x00%u\x00DB DBNAME SIZE\x00 DB PWD\x00 DB NRETRY DELAY\x00%d %d %d\x00%d %p\x00 DB HANDLE\x00 DB FLAG\x00%d %d\x00 DB ?AUXDB?\x00DB N\x00 DB ID VALUE\x00unknown limit type: \x00SQLITE_LIMIT_LENGTH\x00SQLITE_LIMIT_SQL_LENGTH\x00SQLITE_LIMIT_COLUMN\x00SQLITE_LIMIT_EXPR_DEPTH\x00SQLITE_LIMIT_COMPOUND_SELECT\x00SQLITE_LIMIT_VDBE_OP\x00SQLITE_LIMIT_FUNCTION_ARG\x00SQLITE_LIMIT_ATTACHED\x00SQLITE_LIMIT_LIKE_PATTERN_LENGTH\x00SQLITE_LIMIT_VARIABLE_NUMBER\x00SQLITE_LIMIT_TRIGGER_DEPTH\x00SQLITE_LIMIT_WORKER_THREADS\x00SQLITE_LIMIT_TOOSMALL\x00SQLITE_LIMIT_TOOBIG\x00SEED ?DB?\x00BOOLEAN\x00current\x00max\x00min\x00recyclable\x00DB ?NAME?\x00passive\x00full\x00restart\x00truncate\x00DB MODE ?NAME?\x00mode\x00DB VALUE\x00COMMAND ...\x00command has no objProc: \x00%d %d %d %s\n\x00SQLITE_TESTCTRL_LOCALTIME_FAULT\x00SQLITE_TESTCTRL_SORTER_MMAP\x00SQLITE_TESTCTRL_IMPOSTER\x00SQLITE_TESTCTRL_INTERNAL_FUNCTIONS\x00VERB ARGS...\x00VERB\x000|1|2\x00DB LIMIT\x00DB dbName onOff tnum\x00FILENAME DELAY1 DELAY2\x00%d %d %d %d %d\x00cannot open file: \x00cannot create event: \x000x%x\x00wait failed: \x00win32_file_lock\x00PATTERN\x00FILENAME\x00DIRECTORY\x00DB OPT BOOLEAN\x00unknown optimization - should be one of:\x00all\x00none\x00query-flattener\x00groupby-order\x00factor-constants\x00distinct-opt\x00cover-idx-scan\x00order-by-idx-join\x00transitive\x00omit-noop-join\x00stat4\x00skip-scan\x00push-down\x00balanced-merge\x00DB NAME ...\x00no such extension: \x00initialization of \x00 failed: \x00amatch\x00appendvfs\x00closure\x00fileio\x00nextchar\x00series\x00spellfix\x00totype\x00DB SQL1 NSTEP SQL2\x00data error: (a!=b)\x00checksum mismatch\x00sql error: \x00TYPE\x00Deliberate panic\x00DB SETTING [VALUE]\x00SQLITE_*\x00DBCONFIG_*\x00ENABLE_*\x00unknown sqlite3_db_config setting\x00FKEY\x00TRIGGER\x00FTS3_TOKENIZER\x00LOAD_EXTENSION\x00NO_CKPT_ON_CLOSE\x00QPSG\x00TRIGGER_EQP\x00RESET_DB\x00DEFENSIVE\x00WRITABLE_SCHEMA\x00LEGACY_ALTER_TABLE\x00DQS_DML\x00DQS_DDL\x00LEGACY_FILE_FORMAT\x00DB ?SCHEMA?\x00icecube\x00DB ?DBNAME?\x00DB OFFSET DATA\x00HEXDB\x00| size %d pagesize %d\x00bad 'pagesize' field\x00bad 'size' field\x00| page %d offset %d\x00| %d: %x %x %x %x %x %x %x %x %x %x %x %x %x %x %x %x\x00DB ?SCRIPT?\x00sqlite3_autovacuum_pages() returns %d\x00sqlite_search_count\x00sqlite_found_count\x00sqlite_sort_count\x00sqlite3_max_blobsize\x00sqlite_like_count\x00sqlite_interrupt_count\x00sqlite_open_file_count\x00sqlite_current_time\x00sqlite3_xferopt_count\x00sqlite3_pager_readdb_count\x00sqlite3_pager_writedb_count\x00sqlite3_pager_writej_count\x00unaligned_string_counter\x00sqlite_last_needed_collation\x00sqlite_os_type\x00sqlite_query_plan\x00sqlite_opentemp_count\x00sqlite_static_bind_value\x00sqlite_static_bind_nbyte\x00sqlite_temp_directory\x00sqlite_data_directory\x00bitmask_size\x00longdouble_size\x00sqlite_sync_count\x00sqlite_fullsync_count\x00db_enter\x00db_leave\x00sqlite3_mprintf_int\x00sqlite3_mprintf_int64\x00sqlite3_mprintf_long\x00sqlite3_mprintf_str\x00sqlite3_snprintf_str\x00sqlite3_mprintf_stronly\x00sqlite3_mprintf_double\x00sqlite3_mprintf_scaled\x00sqlite3_mprintf_hexdouble\x00sqlite3_mprintf_z_test\x00sqlite3_mprintf_n_test\x00sqlite3_snprintf_int\x00sqlite3_last_insert_rowid\x00sqlite3_exec_printf\x00sqlite3_exec_hex\x00sqlite3_exec\x00sqlite3_exec_nr\x00sqlite3_get_table_printf\x00sqlite3_close\x00sqlite3_close_v2\x00sqlite3_create_function\x00sqlite3_create_aggregate\x00sqlite3_drop_modules\x00sqlite_register_test_function\x00sqlite_abort\x00sqlite_bind\x00breakpoint\x00sqlite3_key\x00sqlite3_rekey\x00sqlite3_interrupt\x00sqlite_delete_function\x00sqlite_delete_collation\x00sqlite3_get_autocommit\x00sqlite3_busy_timeout\x00printf\x00sqlite3IoTrace\x00clang_sanitize_address\x00sqlite3_db_config\x00sqlite3_txn_state\x00bad_behavior\x00register_dbstat_vtab\x00sqlite3_connection_pointer\x00intarray_addr\x00int64array_addr\x00doublearray_addr\x00textarray_addr\x00sqlite3_bind_int\x00sqlite3_bind_zeroblob\x00sqlite3_bind_zeroblob64\x00sqlite3_bind_int64\x00sqlite3_bind_double\x00sqlite3_bind_null\x00sqlite3_bind_text\x00sqlite3_bind_text16\x00sqlite3_bind_blob\x00sqlite3_bind_value_from_select\x00sqlite3_bind_value_from_preupdate\x00sqlite3_carray_bind\x00sqlite3_bind_parameter_count\x00sqlite3_bind_parameter_name\x00sqlite3_bind_parameter_index\x00sqlite3_clear_bindings\x00sqlite3_sleep\x00sqlite3_errcode\x00sqlite3_extended_errcode\x00sqlite3_errmsg\x00sqlite3_error_offset\x00sqlite3_errmsg16\x00sqlite3_open\x00sqlite3_open16\x00sqlite3_open_v2\x00sqlite3_complete16\x00sqlite3_normalize\x00sqlite3_prepare\x00sqlite3_prepare16\x00sqlite3_prepare_v2\x00sqlite3_prepare_v3\x00sqlite3_prepare_tkt3134\x00sqlite3_prepare16_v2\x00sqlite3_finalize\x00sqlite3_stmt_status\x00sqlite3_reset\x00sqlite3_expired\x00sqlite3_transfer_bindings\x00sqlite3_changes\x00sqlite3_step\x00sqlite3_sql\x00sqlite3_expanded_sql\x00sqlite3_next_stmt\x00sqlite3_stmt_readonly\x00sqlite3_stmt_isexplain\x00sqlite3_stmt_busy\x00uses_stmt_journal\x00sqlite3_release_memory\x00sqlite3_db_release_memory\x00sqlite3_db_cacheflush\x00sqlite3_system_errno\x00sqlite3_db_filename\x00sqlite3_db_readonly\x00sqlite3_soft_heap_limit\x00sqlite3_soft_heap_limit64\x00sqlite3_hard_heap_limit64\x00sqlite3_thread_cleanup\x00sqlite3_pager_refcounts\x00sqlite3_load_extension\x00sqlite3_enable_load_extension\x00sqlite3_extended_result_codes\x00sqlite3_limit\x00dbconfig_maindbname_icecube\x00save_prng_state\x00restore_prng_state\x00reset_prng_state\x00prng_seed\x00extra_schema_checks\x00database_never_corrupt\x00database_may_be_corrupt\x00optimization_control\x00lock_win32_file\x00exists_win32_path\x00find_win32_file\x00delete_win32_file\x00make_win32_dir\x00remove_win32_dir\x00tcl_objproc\x00sqlite3_column_count\x00sqlite3_data_count\x00sqlite3_column_type\x00sqlite3_column_blob\x00sqlite3_column_double\x00sqlite3_column_int64\x00sqlite3_column_text\x00sqlite3_column_name\x00sqlite3_column_int\x00sqlite3_column_bytes\x00sqlite3_column_decltype\x00sqlite3_column_database_name\x00sqlite3_column_table_name\x00sqlite3_column_origin_name\x00sqlite3_column_bytes16\x00sqlite3_column_text16\x00sqlite3_column_name16\x00add_alignment_test_collations\x00sqlite3_column_decltype16\x00sqlite3_column_database_name16\x00sqlite3_column_table_name16\x00sqlite3_column_origin_name16\x00sqlite3_create_collation_v2\x00sqlite3_global_recover\x00working_64bit_int\x00vfs_unlink_test\x00vfs_initfail_test\x00vfs_unregister_all\x00vfs_reregister_all\x00file_control_test\x00file_control_lasterrno_test\x00file_control_lockproxy_test\x00file_control_chunksize_test\x00file_control_sizehint_test\x00file_control_data_version\x00file_control_win32_av_retry\x00file_control_win32_get_handle\x00file_control_win32_set_handle\x00file_control_persist_wal\x00file_control_powersafe_overwrite\x00file_control_vfsname\x00file_control_reservebytes\x00file_control_tempfilename\x00file_control_external_reader\x00sqlite3_vfs_list\x00sqlite3_create_function_v2\x00add_test_collate\x00add_test_collate_needed\x00add_test_function\x00add_test_utf16bin_collate\x00sqlite3_test_errstr\x00tcl_variable_type\x00sqlite3_enable_shared_cache\x00sqlite3_shared_cache_report\x00sqlite3_libversion_number\x00sqlite3_table_column_metadata\x00sqlite3_blob_reopen\x00pcache_stats\x00sqlite3_unlock_notify\x00sqlite3_wal_checkpoint\x00sqlite3_wal_checkpoint_v2\x00sqlite3_wal_autocheckpoint\x00test_sqlite3_log\x00print_explain_query_plan\x00sqlite3_test_control\x00load_static_extension\x00sorter_test_fakeheap\x00sorter_test_sort4_helper\x00vfs_current_time_int64\x00sqlite3_snapshot_get\x00sqlite3_snapshot_open\x00sqlite3_snapshot_free\x00sqlite3_snapshot_cmp\x00sqlite3_snapshot_recover\x00sqlite3_snapshot_get_blob\x00sqlite3_snapshot_open_blob\x00sqlite3_snapshot_cmp_blob\x00sqlite3_delete_database\x00atomic_batch_write\x00sqlite3_mmap_warm\x00sqlite3_config_sorterref\x00sqlite3_autovacuum_pages\x00decode_hexdb\x00test_write_db\x00sqlite3_register_cksumvfs\x00sqlite3_unregister_cksumvfs\x00*** OBSOLETE VARIABLE ***\x00 FILENAME N-PAGE\"\x00 ID\"\x00ref\x00page\x00err\x00hit\x00miss\x00ovfl\x00 ID PGNO\"\x00 PAGE\"\x00 PAGE DATA\"\x00 N-MEGABYTES FILE\"\x00open failed: \x00Hello, World!\x00write failed: \x00 PENDING-BYTE\"\x00fault simulator script failed: [%s]\x00 SCRIPT\"\x00 SIZE PROGRAM\"\x00sqlite_io_error_pending\x00sqlite_io_error_persist\x00sqlite_io_error_hit\x00sqlite_io_error_hardhit\x00sqlite_diskfull_pending\x00sqlite_diskfull\x00sqlite_pending_byte\x00pager_open\x00pager_close\x00pager_commit\x00pager_rollback\x00pager_stmt_begin\x00pager_stmt_commit\x00pager_stmt_rollback\x00pager_stats\x00pager_pagecount\x00page_get\x00page_lookup\x00page_unref\x00page_read\x00page_write\x00page_number\x00pager_truncate\x00fake_big_file\x00sqlite3BitvecBuiltinTest\x00sqlite3_test_control_pending_byte\x00sqlite3_test_control_fault_install\x00 FILENAME NCACHE FLAGS\"\x00read\x00write\x00 ID TABLENUM WRITEABLE\"\x00 START MULTIPLIER COUNT INCREMENT\"\x00putVarint returned %d - should be between 1 and 9\x00putVarint returned %d and getVarint returned %d\x00Wrote 0x%016llx and got back 0x%016llx\x00putVarint returned %d and GetVarint32 returned %d\x00Wrote 0x%016llx and got back 0x%016llx from GetVarint32\x00 DB-HANDLE ?N?\"\x00No such db-handle: \"\x00 BT NCACHE\"\x00?-intkey? CSR KEY VALUE\x00btree_insert\x00btree_open\x00btree_close\x00btree_begin_transaction\x00btree_pager_stats\x00btree_cursor\x00btree_close_cursor\x00btree_next\x00btree_eof\x00btree_payload_size\x00btree_first\x00btree_varint_test\x00btree_from_db\x00btree_ismemdb\x00btree_set_cache_size\x00 <repeat-count> <do-calls>\x00hello world\x00UTF8\x00UTF16LE\x00UTF16BE\x00UTF16\x00No such encoding: \x00 <string/blob> <from enc> <to enc>\x00binarize\x00test_value_overhead\x00test_translate\x00translate_selftest\x00out of memory in the crash simulator\n\x00atomic\x00atomic512\x00atomic1k\x00atomic2k\x00atomic4k\x00atomic8k\x00atomic16k\x00atomic32k\x00atomic64k\x00sequential\x00safe_append\x00powersafe_overwrite\x00batch-atomic\x00-sectorsize\x00-characteristics\x00Bad option: \"\x00\" - must be \"-characteristics\" or \"-sectorsize\"\x00Option requires an argument: \"\x00no such flag\x00ENABLE ?DEFAULT?\x00crash\x00?OPTIONS? DELAY CRASHFILE\x00Filename is too long: \"\x00NWRITE\x00?-default? PARENT-VFS\x00-default\x00\": must be -default\x00Error in jt_register\x00sqlite3_crash_enable\x00sqlite3_crashparams\x00sqlite3_crash_now\x00sqlite3_simulate_device\x00sqlite3_crash_on_write\x00unregister_devsim\x00register_jt_vfs\x00unregister_jt_vfs\x00echo_module_fail(%s,%s)\x00echo-vtab-error: %s\x00SELECT * FROM %Q\x00PRAGMA index_list(%s)\x00PRAGMA index_info(%s)\x00echo_module\x00SELECT sql FROM sqlite_schema WHERE type = 'table' AND name = ?\x00%s%s\x00xCreate\x00CREATE TABLE %Q(logmsg)\x00xConnect\x00xDisconnect\x00xDestroy\x00DROP TABLE %Q\x00xOpen\x00xNext\x00xColumn\x00xFilter\x00, *\x00%z, %s\x00%z, NULL\x00echo_module_ignore_usable\x00xBestIndex\x00echo_module_cost\x00SELECT count(*) FROM %Q\x00SELECT rowid%z FROM %Q\x00=\x00<\x00>\x00<=\x00>=\x00LIKE\x00like\x00glob\x00 %s %s LIKE (SELECT '%%'||?||'%%')\x00 %s %s %s ?\x00DESC\x00ASC\x00 ORDER BY %s %s\x00xUpdate\x00 SET\x00UPDATE %Q\x00 SET rowid=?1 \x00%s %Q=?%d\x00 WHERE rowid=?%d\x00DELETE FROM %Q WHERE rowid = ?1\x00INSERT INTO %Q (\x00%s%Q\x00%s?%d\x00) VALUES(\x00echo(%s)\x00xBegin\x00echo_module_begin_fail\x00xSync\x00echo_module_sync_fail\x00xCommit\x00xRollback\x00::echo_glob_overload\x00xRename\x00ALTER TABLE %s RENAME TO %s%s\x00function_that_does_not_exist_0982ma98\x00echo\x00echo_v2\x00register_echo_module\x00sqlite3_declare_vtab\x00N/A\x00sqlite3_create_collation\x00Error testing function: \x00sqlite3_malloc\x00sqlite3_realloc\x00c_misuse_test\x00c_realloc_test\x00c_collation_test\x00sqlite3_reset_auto_extension\x00npage\x00finish\x00remaining\x00pagecount\x00CMDNAME DESTHANDLE DESTNAME SRCHANDLE SRCNAME\x00sqlite3_backup_init() failed\x00sqlite3_backup\x00wrong number of arguments\x00unexpected: %s\x00eq\x00gt\x00le\x00lt\x00ge\x00match\x00ne\x00isnot\x00isnotnull\x00isnull\x00limit\x00offset\x00column\x00usable\x00desc\x00constraints\x00orderby\x00mask\x00distinct\x00in\x00rhs_value\x00INDEX BOOLEAN\x00INDEX ?DEFAULT?\x00bestindex%d\x00cost\x00idxnum\x00idxstr\x00rows\x00use\x00omit\x00unexpected: %d\x00tcl\x00register_tcl_module\x00incrblob_\x00DB DATABASE TABLE COLUMN ROWID FLAGS VARNAME\x00HANDLE\x00CHANNEL OFFSET N\x00out of memory in testdata/sqlite-src-3390300/src/test_blob.c\x00HANDLE OFFSET DATA ?NDATA?\x00sqlite3_blob_open\x00sqlite3_blob_close\x00sqlite3_blob_bytes\x00sqlite3_blob_read\x00sqlite3_blob_write\x00sqlite_options\x00malloc_usable_size\x00rowid32\x00casesensitivelike\x00configslower\x001.0\x00curdir\x001\x00win32malloc\x00debug\x00default_ckptfullfsync\x00direct_read\x00dirsync\x00lfs\x00pagecache_overflow_stats\x00mmap\x00worker_threads\x008\x00memdebug\x008_3_names\x00cursorhints\x00hiddencolumns\x00mathlib\x00mem3\x00mem5\x00offset_sql_func\x00snapshot\x00mutex\x00mutex_noop\x00altertable\x00api_armor\x00atomicwrite\x00geopoly\x00json1\x00has_codec\x00like_match_blobs\x00auth\x00autoinc\x00autoreset\x00autovacuum\x00default_autovacuum\x00between_opt\x00builtin_test\x00bloblit\x00cast\x00check\x00cte\x00columnmetadata\x00oversize_cell_check\x00compileoption_diags\x00compound\x00conflict\x00crashtest\x00datetime\x00decltype\x00deprecated\x00diskio\x00floatingpoint\x00foreignkey\x00fts1\x00fts2\x00fts3\x00fts5\x00fts3_unicode\x00fts4_deferred\x00gettable\x00icu\x00icu_collations\x00integrityck\x00legacyformat\x00like_opt\x00load_ext\x00localtime\x00lookaside\x00long_double\x00memorydb\x00memorymanage\x00mergesort\x00null_trim\x00or_opt\x00rbu\x00pager_pragmas\x00pragma\x00reindex\x00rtree\x00rtree_int_only\x00schema_pragmas\x00schema_version\x00session\x00stmtvtab\x00scanstatus\x00lock_proxy_pragmas\x00prefer_proxy_locking\x00shared_cache\x00subquery\x00tclvar\x00threadsafe\x00threadsafe1\x00threadsafe2\x00tempdb\x00trigger\x00truncate_opt\x00vacuum\x00view\x00vtab\x00wal\x00wsd\x00update_delete_limit\x00fast_secure_delete\x00secure_delete\x00userauth\x00multiplex_ext_overwrite\x00yytrackmaxstackdepth\x00sqllog\x00uri_00_error\x00normalize\x00windowfunc\x00SQLITE_MAX_LENGTH\x00SQLITE_MAX_COLUMN\x00SQLITE_MAX_SQL_LENGTH\x00SQLITE_MAX_EXPR_DEPTH\x00SQLITE_MAX_COMPOUND_SELECT\x00SQLITE_MAX_VDBE_OP\x00SQLITE_MAX_FUNCTION_ARG\x00SQLITE_MAX_VARIABLE_NUMBER\x00SQLITE_MAX_PAGE_SIZE\x00SQLITE_MAX_PAGE_COUNT\x00SQLITE_MAX_LIKE_PATTERN_LENGTH\x00SQLITE_MAX_TRIGGER_DEPTH\x00SQLITE_DEFAULT_CACHE_SIZE\x00SQLITE_DEFAULT_PAGE_SIZE\x00SQLITE_DEFAULT_FILE_FORMAT\x00SQLITE_DEFAULT_SYNCHRONOUS\x00SQLITE_DEFAULT_WAL_SYNCHRONOUS\x00SQLITE_MAX_ATTACHED\x00SQLITE_MAX_DEFAULT_PAGE_SIZE\x00SQLITE_MAX_WORKER_THREADS\x00TEMP_STORE\x00_MSC_VER\x00__GNUC__\x00%s-journal\x00%s-wal\x00%s-shm\x00%s%03d\x00%s-journal%03d\x00%s-wal%03d\x00win32\x00devsym\x00writecrash\x00CREATE TABLE xyz(dir, name);\x00CREATE TABLE xyz(path, size, data);\x00WITH r(d) AS (  SELECT CASE WHEN dir=?2 THEN ?3 ELSE dir END || '/' || name     FROM fsdir WHERE dir=?1 AND name NOT LIKE '.%'  UNION ALL  SELECT dir || '/' || name FROM r, fsdir WHERE dir=d AND name NOT LIKE '.%') SELECT d FROM r;\x00fstreeDrive\x00SystemDrive\x00%s%c\x00CREATE TABLE x(path TEXT, data TEXT)\x00SELECT * FROM %Q.%Q WHERE rowid=?\x00fs\x00fstree\x00register_fs_module\x00abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-!,:*^+=_|?/<> \x00sqlite3_prepare_v2() error: %s\x000123456789abcdef\x00test_agg_errmsg16\x00randstr\x00test_destructor\x00test_destructor16\x00hex_to_utf16be\x00hex_to_utf16le\x00hex_to_utf8\x00test_destructor_count\x00test_auxdata\x00test_error\x00test_eval\x00test_isolation\x00test_counter\x00real2hex\x00test_decode\x00test_extract\x00test_zeroblob\x00test_getsubtype\x00test_setsubtype\x00test_frombind\x00tx\x00funcxx_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789\x00nullx_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789\x00sqlite3_create_function abused test failed\x00invalid matchinfo blob passed to function rank()\x00wrong number of arguments to function rank()\x00rank\x00autoinstall_test_functions\x00abuse_create_function\x00install_fts3_rank_function\x000123456789ABCDEF\x00FILENAME OFFSET AMT\x00r\x00cannot open input file \x00FILENAME OFFSET HEXDATA\x00r+b\x00r+\x00cannot open output file \x00HEXDATA\x00[utf8_to_utf8] unavailable - SQLITE_DEBUG not defined\x00BLOB VARNAME\x00LIST\x00hexio_read\x00hexio_write\x00hexio_get_int\x00hexio_render_int16\x00hexio_render_int32\x00utf8_to_utf8\x00read_fts3varint\x00make_fts3record\x00mem\x00pcache\x00Unknown argument: \"\x00init_wrapper_install\x00init_wrapper_query\x00init_wrapper_uninstall\x00init_wrapper_clear\x00CREATE TABLE x(value INTEGER PRIMARY KEY)\x00CREATE VIRTUAL TABLE temp.%Q USING %Q\x00INTARRAY\x00SQLITE_NOMEM\x00sqlite3_intarray_create\x00sqlite3_intarray_bind\x00jt\x00-journal\x00NBYTES\x00PRIOR NBYTES\x00bad pointer: \x00PRIOR\x00ADDRESS SIZE HEX\x00size must be positive\x00no data\x00ADDRESS SIZE\x00?RESET?\x00DEPT\x00COUNTER ?OPTIONS?\x00-repeat\x00-benigncnt\x00TITLE\x00SUB-COMMAND ...\x00start\x00stop\x00dump\x00clear\x00sync\x00SIZE N\x00INSTALLFLAG DISCARDCHANCE PRNGSEEED HIGHSTRESS\x00discard-chance should be between 0 and 100\x00SIZE COUNT\x00BUFID SIZE COUNT\x00illegal arguments - see documentation\x00NBYTE NMINALLOC\x00[DB]\x00sqlite3_db_config(db, 99999) does not return SQLITE_ERROR\x00sqlite3_config(99999) does not return SQLITE_ERROR\x00PARAMETER RESETFLAG\x00SQLITE_STATUS_MEMORY_USED\x00SQLITE_STATUS_MALLOC_SIZE\x00SQLITE_STATUS_PAGECACHE_USED\x00SQLITE_STATUS_PAGECACHE_OVERFLOW\x00SQLITE_STATUS_PAGECACHE_SIZE\x00SQLITE_STATUS_SCRATCH_USED\x00SQLITE_STATUS_SCRATCH_OVERFLOW\x00SQLITE_STATUS_SCRATCH_SIZE\x00SQLITE_STATUS_PARSER_STACK\x00SQLITE_STATUS_MALLOC_COUNT\x00DB PARAMETER RESETFLAG\x00SQLITE_\x00DBSTATUS_\x00LOOKASIDE_USED\x00CACHE_USED\x00SCHEMA_USED\x00STMT_USED\x00LOOKASIDE_HIT\x00LOOKASIDE_MISS_SIZE\x00LOOKASIDE_MISS_FULL\x00CACHE_HIT\x00CACHE_MISS\x00CACHE_WRITE\x00DEFERRED_FKS\x00CACHE_USED_SHARED\x00CACHE_SPILL\x00?INTEGER?\x00sqlite3_free\x00memset\x00memget\x00sqlite3_memory_used\x00sqlite3_memory_highwater\x00sqlite3_memdebug_backtrace\x00sqlite3_memdebug_dump\x00sqlite3_memdebug_fail\x00sqlite3_memdebug_pending\x00sqlite3_memdebug_settitle\x00sqlite3_memdebug_malloc_count\x00sqlite3_memdebug_log\x00sqlite3_config_pagecache\x00sqlite3_config_alt_pcache\x00sqlite3_status\x00sqlite3_db_status\x00install_malloc_faultsim\x00sqlite3_config_heap\x00sqlite3_config_heap_size\x00sqlite3_config_memstatus\x00sqlite3_config_lookaside\x00sqlite3_config_error\x00sqlite3_config_uri\x00sqlite3_config_cis\x00sqlite3_config_pmasz\x00sqlite3_db_config_lookaside\x00sqlite3_dump_memsys3\x00sqlite3_dump_memsys5\x00sqlite3_install_memsys3\x00sqlite3_memdebug_vfs_oom_test\x00%05u\x00 FILENAME [OFFSET AMT]\"\x00unable to open file \"\x00\" for reading\x00md5\x00md5-10x8\x00md5file\x00md5file-10x8\x00md5sum\x00%03d\x00multiplexor.xAccess failure on %s\x00multiplexor.xOpen failure on %s\x00multiplex_control\x00chunksize\x00multiplex_\x00multiplex_truncate\x00multiplex_enabled\x00multiplex_chunksize\x00multiplex_filecount\x00multiplex/%z\x00multiplex\x00NAME MAKEDEFAULT\x00-force\x00?-force?\x00chunk_size\x00max_chunks\x00HANDLE DBNAME SUB-COMMAND INT-VALUE\x00expected database handle, got \"\x00sqlite3_multiplex_initialize\x00sqlite3_multiplex_shutdown\x00sqlite3_multiplex_control\x00fast\x00recursive\x00static_main\x00static_mem\x00static_open\x00static_prng\x00static_lru\x00static_pmem\x00static_app1\x00static_app2\x00static_app3\x00static_vfs1\x00static_vfs2\x00static_vfs3\x00mutex counters are \x00already installed\x00not installed\x00singlethread\x00multithread\x00serialized\x00mutex name\x00disable_mutex_init\x00disable_mutex_try\x00sqlite3_shutdown\x00sqlite3_initialize\x00sqlite3_config\x00enter_static_mutex\x00leave_static_mutex\x00enter_db_mutex\x00leave_db_mutex\x00alloc_dealloc_mutex\x00install_mutex_counters\x00read_mutex_counters\x00clear_mutex_counters\x00\x00\x00\x00\x00\x00\x00\x00vfslog/%z\x00sqlite_ostrace1.....\x00xClose\x00xRead\x00xWrite\x00xTruncate\x00xFilesize\x00xLock\x00xUnlock\x00xCheckResLock\x00xFileControl\x00xSectorSize\x00xDeviceChar\x00xDelete\x00xAccess\x00xFullPathname\x00xRandomness\x00xSleep\x00xCurrentTime\x00xShmUnmap\x00xShmLock\x00xShmBarrier\x00xShmMap\x00annotation\x00CREATE TABLE xxx(event, file, click, rc, size, offset)\x00vfslog\x00VFS\x00failed\x00VFS PARENT LOGFILE\x00bad sqlite3 handle: \x00annotate\x00finalize\x00register\x00quota/%z\x00quota\x00::piLimit_\x00PATTERN LIMIT SCRIPT\x00FILENAME MODE\x00HANDLE SIZE NELEM\x00HANDLE SIZE NELEM CONTENT\x00HANDLE ?HARDSYNC?\x00HANDLE OFFSET WHENCE\x00SEEK_SET\x00SEEK_CUR\x00SEEK_END\x00WHENCE should be SEEK_SET, SEEK_CUR, or SEEK_END\x00HANDLE SIZE\x00PATTERN TEXT\x00sqlite3_quota_initialize\x00sqlite3_quota_shutdown\x00sqlite3_quota_set\x00sqlite3_quota_file\x00sqlite3_quota_dump\x00sqlite3_quota_fopen\x00sqlite3_quota_fread\x00sqlite3_quota_fwrite\x00sqlite3_quota_fclose\x00sqlite3_quota_fflush\x00sqlite3_quota_fseek\x00sqlite3_quota_rewind\x00sqlite3_quota_ftell\x00sqlite3_quota_ftruncate\x00sqlite3_quota_file_size\x00sqlite3_quota_file_truesize\x00sqlite3_quota_file_mtime\x00sqlite3_quota_remove\x00sqlite3_quota_glob\x00sqlite3_quota_file_available\x00sqlite3_quota_ferror\x00cube\x00circle\x00Qcircle\x00breadthfirstsearch\x00register_cube_geom\x00register_circle_geom\x00CREATE TABLE x(database,tablename,cid,name,type,not_null,dflt_value,pk)\x00SELECT name FROM sqlite_temp_schema WHERE type='table'\x00SELECT name FROM %Q.sqlite_schema WHERE type='table'\x00PRAGMA %Q.table_info(%Q)\x00PRAGMA database_list\x00register_schema_module\x00PRAGMA main.journal_mode\x00CMDNAME PATH ?VFS? ?BUSY-HANDLER-SCRIPT?\x00sqlite3demo_superlock\x00load_testfixture_extensions\x00SLAVE\x00CREATE TABLE x(  name TEXT,  arrayname TEXT,  value TEXT,  fullname TEXT PRIMARY KEY) WITHOUT ROWID\x00array names\x00tclvar_filter_cmd\x00%s(%s)\x00expr {[info exists ::tclvar_set_omit] && $::tclvar_set_omit}\x00the 'fullname' column must be TEXT\x00prohibited TCL variable change\x00proc like {pattern str} {\n  set p [string map {% * _ ?} $pattern]\n  string match $p $str\n}\nproc tclvar_filter_cmd {eq match glob regexp like} {\n  set res {}\n  set pattern $eq\n  if {$pattern=={}} { set pattern $match }\n  if {$pattern=={}} { set pattern * }\n  foreach v [uplevel #0 info vars $pattern] {\n    if {($glob=={} || [string match $glob [uplevel #0 set $v]])\n     && ($like=={} || [like $like [uplevel #0 set $v]])\n     && ($regexp=={} || [regexp $regexp [uplevel #0 set $v]])\n    } {\n      lappend res $v\n    }\n  }\n  set res\n}\n\x00register_tclvar_module\x00clock_seconds\x00sqlthread\x00set\x00Error in Tcl_CreateThread()\x00no parent thread\x00parent\x00spawn\x00VARNAME SCRIPT\x00open\x00DBNAME\x00id\x00SQLITE_IOERR\x00SQLITE_LOCKED\x00SQLITE_BUSY\x00SQLITE_READONLY\x00SQLITE_READONLY_CANTINIT\x00SQLITE_NOTFOUND\x00SQLITE_OMIT\x00normal|dataonly\x00full|dataonly\x00xCheckReservedLock\x00BEGIN_ATOMIC_WRITE\x00COMMIT_ATOMIC_WRITE\x00ZIPVFS\x00anon\x00SQLITE_ACCESS_EXISTS\x00SQLITE_ACCESS_READWRITE\x00SQLITE_ACCESS_READ\x00xShmOpen\x00 lock\x00 unlock\x00 shared\x00 exclusive\x00shm\x00filter\x00ioerr\x00fullerr\x00cantopenerr\x00script\x00devchar\x00sectorsize\x00subcommand\x00FILE ?VALUE?\x00failed to get full path: \x00no such file: \x00unknown method: \x00?CNT PERSIST?\x00default\x00undeletable_when_open\x00immutable\x00?ATTR-LIST?\x00bad flags: \x00?VALUE?\x00-noshm\x00-szosfile\x00-mxpathname\x00-iversion\x00-fullshm\x00VFSNAME ?-noshm BOOL? ?-fullshm BOOL? ?-default BOOL? ?-mxpathname INT? ?-szosfile INT? ?-iversion INT?\x00shared\x00lock\x00unlock\x00DB DBNAME (shared|exclusive) (lock|unlock) OFFSET N\x00ARG\x00DB DBNAME SLOT ?VALUE?\x00*-shm is not yet mapped\x00testvfs\x00vfs_shmlock\x00vfs_set_readmark\x00/\x00%s\\*\x00DB NAME XSTEP XFINAL XVALUE XINVERSE\x00fff\x00misuse test error\x00invalid argument\x00sumint\x00sum\x00sqlite3_create_window_function\x00test_create_window_function_misuse\x00test_create_sumint\x00test_override_sum\x00"
106029  var ts = (*reflect.StringHeader)(unsafe.Pointer(&ts1)).Data