// Code generated for linux/loong64 by 'ccgo -o vfs_linux_loong64.go c/vfs.c -Isqlite-amalgamation-3450200 -D SQLITE_OS_UNIX -extended-errors -hide=vfsAccess -hide=vfsClose -hide=vfsFileSize -hide=vfsFullPathname -hide=vfsOpen -hide=vfsRead -ignore-link-errors -import modernc.org/sqlite/lib --package-name vfs --prefix-external X', DO NOT EDIT.

//go:build linux && loong64
// +build linux,loong64

package vfs

import (
	"reflect"
	"unsafe"

	"modernc.org/libc"

	"modernc.org/sqlite/lib"
)

var (
	_ reflect.Type
	_ unsafe.Pointer
)

const ARG_MAX = 131072
const AT_EACCESS = 0x200
const AT_EMPTY_PATH = 0x1000
const AT_NO_AUTOMOUNT = 0x800
const AT_RECURSIVE = 0x8000
const AT_REMOVEDIR = 0x200
const AT_STATX_DONT_SYNC = 0x4000
const AT_STATX_FORCE_SYNC = 0x2000
const AT_STATX_SYNC_AS_STAT = 0x0000
const AT_STATX_SYNC_TYPE = 0x6000
const AT_SYMLINK_FOLLOW = 0x400
const AT_SYMLINK_NOFOLLOW = 0x100
const BC_BASE_MAX = 99
const BC_DIM_MAX = 2048
const BC_SCALE_MAX = 99
const BC_STRING_MAX = 1000
const BIG_ENDIAN = "__BIG_ENDIAN"
const BYTE_ORDER = "__BYTE_ORDER"
const CANBSIZ = 255
const CHARCLASS_NAME_MAX = 14
const CHAR_BIT = 8
const CHAR_MAX = 255
const CHAR_MIN = 0
const CLOCKS_PER_SEC = 1000000
const CLOCK_BOOTTIME = 7
const CLOCK_BOOTTIME_ALARM = 9
const CLOCK_MONOTONIC = 1
const CLOCK_MONOTONIC_COARSE = 6
const CLOCK_MONOTONIC_RAW = 4
const CLOCK_PROCESS_CPUTIME_ID = 2
const CLOCK_REALTIME = 0
const CLOCK_REALTIME_ALARM = 8
const CLOCK_REALTIME_COARSE = 5
const CLOCK_SGI_CYCLE = 10
const CLOCK_TAI = 11
const CLOCK_THREAD_CPUTIME_ID = 3
const COLL_WEIGHTS_MAX = 2
const DELAYTIMER_MAX = 0x7fffffff
const DEV_BSIZE = 512
const DN_ACCESS = 0x00000001
const DN_ATTRIB = 0x00000020
const DN_CREATE = 0x00000004
const DN_DELETE = 0x00000008
const DN_MODIFY = 0x00000002
const DN_MULTISHOT = 0x80000000
const DN_RENAME = 0x00000010
const E2BIG = 7
const EACCES = 13
const EADDRINUSE = 98
const EADDRNOTAVAIL = 99
const EADV = 68
const EAFNOSUPPORT = 97
const EAGAIN = 11
const EALREADY = 114
const EBADE = 52
const EBADF = 9
const EBADFD = 77
const EBADMSG = 74
const EBADR = 53
const EBADRQC = 56
const EBADSLT = 57
const EBFONT = 59
const EBUSY = 16
const ECANCELED = 125
const ECHILD = 10
const ECHRNG = 44
const ECOMM = 70
const ECONNABORTED = 103
const ECONNREFUSED = 111
const ECONNRESET = 104
const EDEADLK = 35
const EDEADLOCK = "EDEADLK"
const EDESTADDRREQ = 89
const EDOM = 33
const EDOTDOT = 73
const EDQUOT = 122
const EEXIST = 17
const EFAULT = 14
const EFBIG = 27
const EHOSTDOWN = 112
const EHOSTUNREACH = 113
const EHWPOISON = 133
const EIDRM = 43
const EILSEQ = 84
const EINPROGRESS = 115
const EINTR = 4
const EINVAL = 22
const EIO = 5
const EISCONN = 106
const EISDIR = 21
const EISNAM = 120
const EKEYEXPIRED = 127
const EKEYREJECTED = 129
const EKEYREVOKED = 128
const EL2HLT = 51
const EL2NSYNC = 45
const EL3HLT = 46
const EL3RST = 47
const ELIBACC = 79
const ELIBBAD = 80
const ELIBEXEC = 83
const ELIBMAX = 82
const ELIBSCN = 81
const ELNRNG = 48
const ELOOP = 40
const EMEDIUMTYPE = 124
const EMFILE = 24
const EMLINK = 31
const EMSGSIZE = 90
const EMULTIHOP = 72
const ENAMETOOLONG = 36
const ENAVAIL = 119
const ENETDOWN = 100
const ENETRESET = 102
const ENETUNREACH = 101
const ENFILE = 23
const ENOANO = 55
const ENOBUFS = 105
const ENOCSI = 50
const ENODATA = 61
const ENODEV = 19
const ENOENT = 2
const ENOEXEC = 8
const ENOKEY = 126
const ENOLCK = 37
const ENOLINK = 67
const ENOMEDIUM = 123
const ENOMEM = 12
const ENOMSG = 42
const ENONET = 64
const ENOPKG = 65
const ENOPROTOOPT = 92
const ENOSPC = 28
const ENOSR = 63
const ENOSTR = 60
const ENOSYS = 38
const ENOTBLK = 15
const ENOTCONN = 107
const ENOTDIR = 20
const ENOTEMPTY = 39
const ENOTNAM = 118
const ENOTRECOVERABLE = 131
const ENOTSOCK = 88
const ENOTSUP = "EOPNOTSUPP"
const ENOTTY = 25
const ENOTUNIQ = 76
const ENXIO = 6
const EOPNOTSUPP = 95
const EOVERFLOW = 75
const EOWNERDEAD = 130
const EPERM = 1
const EPFNOSUPPORT = 96
const EPIPE = 32
const EPROTO = 71
const EPROTONOSUPPORT = 93
const EPROTOTYPE = 91
const ERANGE = 34
const EREMCHG = 78
const EREMOTE = 66
const EREMOTEIO = 121
const ERESTART = 85
const ERFKILL = 132
const EROFS = 30
const ESHUTDOWN = 108
const ESOCKTNOSUPPORT = 94
const ESPIPE = 29
const ESRCH = 3
const ESRMNT = 69
const ESTALE = 116
const ESTRPIPE = 86
const ETIME = 62
const ETIMEDOUT = 110
const ETOOMANYREFS = 109
const ETXTBSY = 26
const EUCLEAN = 117
const EUNATCH = 49
const EUSERS = 87
const EWOULDBLOCK = "EAGAIN"
const EXDEV = 18
const EXFULL = 54
const EXPR_NEST_MAX = 32
const FALLOC_FL_KEEP_SIZE = 1
const FALLOC_FL_PUNCH_HOLE = 2
const FAPPEND = "O_APPEND"
const FASYNC = "O_ASYNC"
const FD_CLOEXEC = 1
const FD_SETSIZE = 1024
const FFSYNC = "O_SYNC"
const FILESIZEBITS = 64
const FNDELAY = "O_NDELAY"
const FNONBLOCK = "O_NONBLOCK"
const FTS5_TOKENIZE_AUX = 0x0008
const FTS5_TOKENIZE_DOCUMENT = 0x0004
const FTS5_TOKENIZE_PREFIX = 0x0002
const FTS5_TOKENIZE_QUERY = 0x0001
const FTS5_TOKEN_COLOCATED = 0x0001
const FULLY_WITHIN = 2
const F_ADD_SEALS = 1033
const F_CANCELLK = 1029
const F_DUPFD = 0
const F_DUPFD_CLOEXEC = 1030
const F_GETFD = 1
const F_GETFL = 3
const F_GETLEASE = 1025
const F_GETLK = 5
const F_GETOWN = 9
const F_GETOWNER_UIDS = 17
const F_GETOWN_EX = 16
const F_GETPIPE_SZ = 1032
const F_GETSIG = 11
const F_GET_FILE_RW_HINT = 1037
const F_GET_RW_HINT = 1035
const F_GET_SEALS = 1034
const F_LOCK = 1
const F_NOTIFY = 1026
const F_OFD_GETLK = 36
const F_OFD_SETLK = 37
const F_OFD_SETLKW = 38
const F_OK = 0
const F_OWNER_GID = 2
const F_OWNER_PGRP = 2
const F_OWNER_PID = 1
const F_OWNER_TID = 0
const F_RDLCK = 0
const F_SEAL_FUTURE_WRITE = 0x0010
const F_SEAL_GROW = 0x0004
const F_SEAL_SEAL = 0x0001
const F_SEAL_SHRINK = 0x0002
const F_SEAL_WRITE = 0x0008
const F_SETFD = 2
const F_SETFL = 4
const F_SETLEASE = 1024
const F_SETLK = 6
const F_SETLKW = 7
const F_SETOWN = 8
const F_SETOWN_EX = 15
const F_SETPIPE_SZ = 1031
const F_SETSIG = 10
const F_SET_FILE_RW_HINT = 1038
const F_SET_RW_HINT = 1036
const F_TEST = 3
const F_TLOCK = 2
const F_ULOCK = 0
const F_UNLCK = 2
const F_WRLCK = 1
const HOST_NAME_MAX = 255
const INT_MAX = 0x7fffffff
const IOV_MAX = 1024
const ITIMER_PROF = 2
const ITIMER_REAL = 0
const ITIMER_VIRTUAL = 1
const LINE_MAX = 4096
const LITTLE_ENDIAN = "__LITTLE_ENDIAN"
const LLONG_MAX = 0x7fffffffffffffff
const LOCK_EX = 2
const LOCK_NB = 4
const LOCK_SH = 1
const LOCK_UN = 8
const LOGIN_NAME_MAX = 256
const LONG_BIT = 64
const LONG_MAX = "__LONG_MAX"
const L_INCR = 1
const L_SET = 0
const L_XTND = 2
const MAXHOSTNAMELEN = 64
const MAXNAMLEN = 255
const MAXPATHLEN = 4096
const MAXPATHNAME = 4096
const MAXSYMLINKS = 20
const MAX_HANDLE_SZ = 128
const MB_LEN_MAX = 4
const MQ_PRIO_MAX = 32768
const NAME_MAX = 255
const NBBY = 8
const NCARGS = 131072
const NGROUPS = 32
const NGROUPS_MAX = 32
const NL_ARGMAX = 9
const NL_LANGMAX = 32
const NL_MSGMAX = 32767
const NL_NMAX = 16
const NL_SETMAX = 255
const NL_TEXTMAX = 2048
const NOFILE = 256
const NOT_WITHIN = 0
const NZERO = 20
const O_APPEND = 02000
const O_ASYNC = 020000
const O_CLOEXEC = 02000000
const O_CREAT = 64
const O_DIRECT = 040000
const O_DIRECTORY = 0200000
const O_DSYNC = 010000
const O_EXCL = 128
const O_EXEC = "O_PATH"
const O_LARGEFILE = 0100000
const O_NDELAY = "O_NONBLOCK"
const O_NOATIME = 01000000
const O_NOCTTY = 0400
const O_NOFOLLOW = 0400000
const O_NONBLOCK = 04000
const O_PATH = 010000000
const O_RDONLY = 0
const O_RDWR = 2
const O_RSYNC = 04010000
const O_SEARCH = "O_PATH"
const O_SYNC = 04010000
const O_TMPFILE = 020200000
const O_TRUNC = 01000
const O_TTY_INIT = 0
const O_WRONLY = 01
const PARTLY_WITHIN = 1
const PATH_MAX = 4096
const PDP_ENDIAN = "__PDP_ENDIAN"
const PIPE_BUF = 4096
const POSIX_CLOSE_RESTART = 0
const POSIX_FADV_DONTNEED = 4
const POSIX_FADV_NOREUSE = 5
const POSIX_FADV_NORMAL = 0
const POSIX_FADV_RANDOM = 1
const POSIX_FADV_SEQUENTIAL = 2
const POSIX_FADV_WILLNEED = 3
const PRIO_MAX = 20
const PRIO_PGRP = 1
const PRIO_PROCESS = 0
const PRIO_USER = 2
const PTHREAD_DESTRUCTOR_ITERATIONS = 4
const PTHREAD_KEYS_MAX = 128
const PTHREAD_STACK_MIN = 2048
const RE_DUP_MAX = 255
const RLIMIT_AS = 9
const RLIMIT_CORE = 4
const RLIMIT_CPU = 0
const RLIMIT_DATA = 2
const RLIMIT_FSIZE = 1
const RLIMIT_LOCKS = 10
const RLIMIT_MEMLOCK = 8
const RLIMIT_MSGQUEUE = 12
const RLIMIT_NICE = 13
const RLIMIT_NLIMITS = 16
const RLIMIT_NOFILE = 7
const RLIMIT_NPROC = 6
const RLIMIT_RSS = 5
const RLIMIT_RTPRIO = 14
const RLIMIT_RTTIME = 15
const RLIMIT_SIGPENDING = 11
const RLIMIT_STACK = 3
const RLIM_NLIMITS = "RLIMIT_NLIMITS"
const RLIM_SAVED_CUR = "RLIM_INFINITY"
const RLIM_SAVED_MAX = "RLIM_INFINITY"
const RUSAGE_SELF = 0
const RUSAGE_THREAD = 1
const RWF_WRITE_LIFE_NOT_SET = 0
const RWH_WRITE_LIFE_EXTREME = 5
const RWH_WRITE_LIFE_LONG = 4
const RWH_WRITE_LIFE_MEDIUM = 3
const RWH_WRITE_LIFE_NONE = 1
const RWH_WRITE_LIFE_SHORT = 2
const R_OK = 4
const SCHAR_MAX = 127
const SEEK_DATA = 3
const SEEK_HOLE = 4
const SEM_NSEMS_MAX = 256
const SEM_VALUE_MAX = 0x7fffffff
const SHRT_MAX = 0x7fff
const SPLICE_F_GIFT = 8
const SPLICE_F_MORE = 4
const SPLICE_F_MOVE = 1
const SPLICE_F_NONBLOCK = 2
const SQLITE3_TEXT = 3
const SQLITE_ABORT = 4
const SQLITE_ACCESS_EXISTS = 0
const SQLITE_ACCESS_READ = 2
const SQLITE_ACCESS_READWRITE = 1
const SQLITE_ALTER_TABLE = 26
const SQLITE_ANALYZE = 28
const SQLITE_ANY = 5
const SQLITE_ATTACH = 24
const SQLITE_AUTH = 23
const SQLITE_BLOB = 4
const SQLITE_BUSY = 5
const SQLITE_CANTOPEN = 14
const SQLITE_CHECKPOINT_FULL = 1
const SQLITE_CHECKPOINT_PASSIVE = 0
const SQLITE_CHECKPOINT_RESTART = 2
const SQLITE_CHECKPOINT_TRUNCATE = 3
const SQLITE_CONFIG_COVERING_INDEX_SCAN = 20
const SQLITE_CONFIG_GETMALLOC = 5
const SQLITE_CONFIG_GETMUTEX = 11
const SQLITE_CONFIG_GETPCACHE = 15
const SQLITE_CONFIG_GETPCACHE2 = 19
const SQLITE_CONFIG_HEAP = 8
const SQLITE_CONFIG_LOG = 16
const SQLITE_CONFIG_LOOKASIDE = 13
const SQLITE_CONFIG_MALLOC = 4
const SQLITE_CONFIG_MEMDB_MAXSIZE = 29
const SQLITE_CONFIG_MEMSTATUS = 9
const SQLITE_CONFIG_MMAP_SIZE = 22
const SQLITE_CONFIG_MULTITHREAD = 2
const SQLITE_CONFIG_MUTEX = 10
const SQLITE_CONFIG_PAGECACHE = 7
const SQLITE_CONFIG_PCACHE = 14
const SQLITE_CONFIG_PCACHE2 = 18
const SQLITE_CONFIG_PCACHE_HDRSZ = 24
const SQLITE_CONFIG_PMASZ = 25
const SQLITE_CONFIG_SCRATCH = 6
const SQLITE_CONFIG_SERIALIZED = 3
const SQLITE_CONFIG_SINGLETHREAD = 1
const SQLITE_CONFIG_SMALL_MALLOC = 27
const SQLITE_CONFIG_SORTERREF_SIZE = 28
const SQLITE_CONFIG_SQLLOG = 21
const SQLITE_CONFIG_STMTJRNL_SPILL = 26
const SQLITE_CONFIG_URI = 17
const SQLITE_CONFIG_WIN32_HEAPSIZE = 23
const SQLITE_CONSTRAINT = 19
const SQLITE_COPY = 0
const SQLITE_CORRUPT = 11
const SQLITE_CREATE_INDEX = 1
const SQLITE_CREATE_TABLE = 2
const SQLITE_CREATE_TEMP_INDEX = 3
const SQLITE_CREATE_TEMP_TABLE = 4
const SQLITE_CREATE_TEMP_TRIGGER = 5
const SQLITE_CREATE_TEMP_VIEW = 6
const SQLITE_CREATE_TRIGGER = 7
const SQLITE_CREATE_VIEW = 8
const SQLITE_CREATE_VTABLE = 29
const SQLITE_DBCONFIG_DEFENSIVE = 1010
const SQLITE_DBCONFIG_DQS_DDL = 1014
const SQLITE_DBCONFIG_DQS_DML = 1013
const SQLITE_DBCONFIG_ENABLE_FKEY = 1002
const SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER = 1004
const SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION = 1005
const SQLITE_DBCONFIG_ENABLE_QPSG = 1007
const SQLITE_DBCONFIG_ENABLE_TRIGGER = 1003
const SQLITE_DBCONFIG_ENABLE_VIEW = 1015
const SQLITE_DBCONFIG_LEGACY_ALTER_TABLE = 1012
const SQLITE_DBCONFIG_LEGACY_FILE_FORMAT = 1016
const SQLITE_DBCONFIG_LOOKASIDE = 1001
const SQLITE_DBCONFIG_MAINDBNAME = 1000
const SQLITE_DBCONFIG_MAX = 1019
const SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE = 1006
const SQLITE_DBCONFIG_RESET_DATABASE = 1009
const SQLITE_DBCONFIG_REVERSE_SCANORDER = 1019
const SQLITE_DBCONFIG_STMT_SCANSTATUS = 1018
const SQLITE_DBCONFIG_TRIGGER_EQP = 1008
const SQLITE_DBCONFIG_TRUSTED_SCHEMA = 1017
const SQLITE_DBCONFIG_WRITABLE_SCHEMA = 1011
const SQLITE_DBSTATUS_CACHE_HIT = 7
const SQLITE_DBSTATUS_CACHE_MISS = 8
const SQLITE_DBSTATUS_CACHE_SPILL = 12
const SQLITE_DBSTATUS_CACHE_USED = 1
const SQLITE_DBSTATUS_CACHE_USED_SHARED = 11
const SQLITE_DBSTATUS_CACHE_WRITE = 9
const SQLITE_DBSTATUS_DEFERRED_FKS = 10
const SQLITE_DBSTATUS_LOOKASIDE_HIT = 4
const SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL = 6
const SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE = 5
const SQLITE_DBSTATUS_LOOKASIDE_USED = 0
const SQLITE_DBSTATUS_MAX = 12
const SQLITE_DBSTATUS_SCHEMA_USED = 2
const SQLITE_DBSTATUS_STMT_USED = 3
const SQLITE_DELETE = 9
const SQLITE_DENY = 1
const SQLITE_DESERIALIZE_FREEONCLOSE = 1
const SQLITE_DESERIALIZE_READONLY = 4
const SQLITE_DESERIALIZE_RESIZEABLE = 2
const SQLITE_DETACH = 25
const SQLITE_DETERMINISTIC = 0x000000800
const SQLITE_DIRECTONLY = 0x000080000
const SQLITE_DONE = 101
const SQLITE_DROP_INDEX = 10
const SQLITE_DROP_TABLE = 11
const SQLITE_DROP_TEMP_INDEX = 12
const SQLITE_DROP_TEMP_TABLE = 13
const SQLITE_DROP_TEMP_TRIGGER = 14
const SQLITE_DROP_TEMP_VIEW = 15
const SQLITE_DROP_TRIGGER = 16
const SQLITE_DROP_VIEW = 17
const SQLITE_DROP_VTABLE = 30
const SQLITE_EMPTY = 16
const SQLITE_ERROR = 1
const SQLITE_EXTERN = "extern"
const SQLITE_FAIL = 3
const SQLITE_FCNTL_BEGIN_ATOMIC_WRITE = 31
const SQLITE_FCNTL_BUSYHANDLER = 15
const SQLITE_FCNTL_CHUNK_SIZE = 6
const SQLITE_FCNTL_CKPT_DONE = 37
const SQLITE_FCNTL_CKPT_START = 39
const SQLITE_FCNTL_CKSM_FILE = 41
const SQLITE_FCNTL_COMMIT_ATOMIC_WRITE = 32
const SQLITE_FCNTL_COMMIT_PHASETWO = 22
const SQLITE_FCNTL_DATA_VERSION = 35
const SQLITE_FCNTL_EXTERNAL_READER = 40
const SQLITE_FCNTL_FILE_POINTER = 7
const SQLITE_FCNTL_GET_LOCKPROXYFILE = 2
const SQLITE_FCNTL_HAS_MOVED = 20
const SQLITE_FCNTL_JOURNAL_POINTER = 28
const SQLITE_FCNTL_LAST_ERRNO = 4
const SQLITE_FCNTL_LOCKSTATE = 1
const SQLITE_FCNTL_LOCK_TIMEOUT = 34
const SQLITE_FCNTL_MMAP_SIZE = 18
const SQLITE_FCNTL_OVERWRITE = 11
const SQLITE_FCNTL_PDB = 30
const SQLITE_FCNTL_PERSIST_WAL = 10
const SQLITE_FCNTL_POWERSAFE_OVERWRITE = 13
const SQLITE_FCNTL_PRAGMA = 14
const SQLITE_FCNTL_RBU = 26
const SQLITE_FCNTL_RESERVE_BYTES = 38
const SQLITE_FCNTL_RESET_CACHE = 42
const SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE = 33
const SQLITE_FCNTL_SET_LOCKPROXYFILE = 3
const SQLITE_FCNTL_SIZE_HINT = 5
const SQLITE_FCNTL_SIZE_LIMIT = 36
const SQLITE_FCNTL_SYNC = 21
const SQLITE_FCNTL_SYNC_OMITTED = 8
const SQLITE_FCNTL_TEMPFILENAME = 16
const SQLITE_FCNTL_TRACE = 19
const SQLITE_FCNTL_VFSNAME = 12
const SQLITE_FCNTL_VFS_POINTER = 27
const SQLITE_FCNTL_WAL_BLOCK = 24
const SQLITE_FCNTL_WIN32_AV_RETRY = 9
const SQLITE_FCNTL_WIN32_GET_HANDLE = 29
const SQLITE_FCNTL_WIN32_SET_HANDLE = 23
const SQLITE_FCNTL_ZIPVFS = 25
const SQLITE_FLOAT = 2
const SQLITE_FORMAT = 24
const SQLITE_FULL = 13
const SQLITE_FUNCTION = 31
const SQLITE_GET_LOCKPROXYFILE = "SQLITE_FCNTL_GET_LOCKPROXYFILE"
const SQLITE_IGNORE = 2
const SQLITE_INDEX_CONSTRAINT_EQ = 2
const SQLITE_INDEX_CONSTRAINT_FUNCTION = 150
const SQLITE_INDEX_CONSTRAINT_GE = 32
const SQLITE_INDEX_CONSTRAINT_GLOB = 66
const SQLITE_INDEX_CONSTRAINT_GT = 4
const SQLITE_INDEX_CONSTRAINT_IS = 72
const SQLITE_INDEX_CONSTRAINT_ISNOT = 69
const SQLITE_INDEX_CONSTRAINT_ISNOTNULL = 70
const SQLITE_INDEX_CONSTRAINT_ISNULL = 71
const SQLITE_INDEX_CONSTRAINT_LE = 8
const SQLITE_INDEX_CONSTRAINT_LIKE = 65
const SQLITE_INDEX_CONSTRAINT_LIMIT = 73
const SQLITE_INDEX_CONSTRAINT_LT = 16
const SQLITE_INDEX_CONSTRAINT_MATCH = 64
const SQLITE_INDEX_CONSTRAINT_NE = 68
const SQLITE_INDEX_CONSTRAINT_OFFSET = 74
const SQLITE_INDEX_CONSTRAINT_REGEXP = 67
const SQLITE_INDEX_SCAN_UNIQUE = 1
const SQLITE_INNOCUOUS = 0x000200000
const SQLITE_INSERT = 18
const SQLITE_INTEGER = 1
const SQLITE_INTERNAL = 2
const SQLITE_INTERRUPT = 9
const SQLITE_IOCAP_ATOMIC = 0x00000001
const SQLITE_IOCAP_ATOMIC16K = 0x00000040
const SQLITE_IOCAP_ATOMIC1K = 0x00000004
const SQLITE_IOCAP_ATOMIC2K = 0x00000008
const SQLITE_IOCAP_ATOMIC32K = 0x00000080
const SQLITE_IOCAP_ATOMIC4K = 0x00000010
const SQLITE_IOCAP_ATOMIC512 = 0x00000002
const SQLITE_IOCAP_ATOMIC64K = 0x00000100
const SQLITE_IOCAP_ATOMIC8K = 0x00000020
const SQLITE_IOCAP_BATCH_ATOMIC = 0x00004000
const SQLITE_IOCAP_IMMUTABLE = 0x00002000
const SQLITE_IOCAP_POWERSAFE_OVERWRITE = 0x00001000
const SQLITE_IOCAP_SAFE_APPEND = 0x00000200
const SQLITE_IOCAP_SEQUENTIAL = 0x00000400
const SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN = 0x00000800
const SQLITE_IOERR = 10
const SQLITE_LAST_ERRNO = "SQLITE_FCNTL_LAST_ERRNO"
const SQLITE_LIMIT_ATTACHED = 7
const SQLITE_LIMIT_COLUMN = 2
const SQLITE_LIMIT_COMPOUND_SELECT = 4
const SQLITE_LIMIT_EXPR_DEPTH = 3
const SQLITE_LIMIT_FUNCTION_ARG = 6
const SQLITE_LIMIT_LENGTH = 0
const SQLITE_LIMIT_LIKE_PATTERN_LENGTH = 8
const SQLITE_LIMIT_SQL_LENGTH = 1
const SQLITE_LIMIT_TRIGGER_DEPTH = 10
const SQLITE_LIMIT_VARIABLE_NUMBER = 9
const SQLITE_LIMIT_VDBE_OP = 5
const SQLITE_LIMIT_WORKER_THREADS = 11
const SQLITE_LOCKED = 6
const SQLITE_LOCK_EXCLUSIVE = 4
const SQLITE_LOCK_NONE = 0
const SQLITE_LOCK_PENDING = 3
const SQLITE_LOCK_RESERVED = 2
const SQLITE_LOCK_SHARED = 1
const SQLITE_MISMATCH = 20
const SQLITE_MISUSE = 21
const SQLITE_MUTEX_FAST = 0
const SQLITE_MUTEX_RECURSIVE = 1
const SQLITE_MUTEX_STATIC_APP1 = 8
const SQLITE_MUTEX_STATIC_APP2 = 9
const SQLITE_MUTEX_STATIC_APP3 = 10
const SQLITE_MUTEX_STATIC_LRU = 6
const SQLITE_MUTEX_STATIC_LRU2 = 7
const SQLITE_MUTEX_STATIC_MAIN = 2
const SQLITE_MUTEX_STATIC_MASTER = 2
const SQLITE_MUTEX_STATIC_MEM = 3
const SQLITE_MUTEX_STATIC_MEM2 = 4
const SQLITE_MUTEX_STATIC_OPEN = 4
const SQLITE_MUTEX_STATIC_PMEM = 7
const SQLITE_MUTEX_STATIC_PRNG = 5
const SQLITE_MUTEX_STATIC_VFS1 = 11
const SQLITE_MUTEX_STATIC_VFS2 = 12
const SQLITE_MUTEX_STATIC_VFS3 = 13
const SQLITE_NOLFS = 22
const SQLITE_NOMEM = 7
const SQLITE_NOTADB = 26
const SQLITE_NOTFOUND = 12
const SQLITE_NOTICE = 27
const SQLITE_NULL = 5
const SQLITE_OK = 0
const SQLITE_OPEN_AUTOPROXY = 0x00000020
const SQLITE_OPEN_CREATE = 4
const SQLITE_OPEN_DELETEONCLOSE = 0x00000008
const SQLITE_OPEN_EXCLUSIVE = 16
const SQLITE_OPEN_EXRESCODE = 0x02000000
const SQLITE_OPEN_FULLMUTEX = 0x00010000
const SQLITE_OPEN_MAIN_DB = 0x00000100
const SQLITE_OPEN_MAIN_JOURNAL = 2048
const SQLITE_OPEN_MASTER_JOURNAL = 0x00004000
const SQLITE_OPEN_MEMORY = 0x00000080
const SQLITE_OPEN_NOFOLLOW = 0x01000000
const SQLITE_OPEN_NOMUTEX = 0x00008000
const SQLITE_OPEN_PRIVATECACHE = 0x00040000
const SQLITE_OPEN_READONLY = 1
const SQLITE_OPEN_READWRITE = 2
const SQLITE_OPEN_SHAREDCACHE = 0x00020000
const SQLITE_OPEN_SUBJOURNAL = 0x00002000
const SQLITE_OPEN_SUPER_JOURNAL = 0x00004000
const SQLITE_OPEN_TEMP_DB = 0x00000200
const SQLITE_OPEN_TEMP_JOURNAL = 0x00001000
const SQLITE_OPEN_TRANSIENT_DB = 0x00000400
const SQLITE_OPEN_URI = 0x00000040
const SQLITE_OPEN_WAL = 0x00080000
const SQLITE_OS_UNIX = 1
const SQLITE_PERM = 3
const SQLITE_PRAGMA = 19
const SQLITE_PREPARE_NORMALIZE = 0x02
const SQLITE_PREPARE_NO_VTAB = 0x04
const SQLITE_PREPARE_PERSISTENT = 0x01
const SQLITE_PROTOCOL = 15
const SQLITE_RANGE = 25
const SQLITE_READ = 20
const SQLITE_READONLY = 8
const SQLITE_RECURSIVE = 33
const SQLITE_REINDEX = 27
const SQLITE_REPLACE = 5
const SQLITE_RESULT_SUBTYPE = 0x001000000
const SQLITE_ROLLBACK = 1
const SQLITE_ROW = 100
const SQLITE_SAVEPOINT = 32
const SQLITE_SCANSTAT_COMPLEX = 0x0001
const SQLITE_SCANSTAT_EST = 2
const SQLITE_SCANSTAT_EXPLAIN = 4
const SQLITE_SCANSTAT_NAME = 3
const SQLITE_SCANSTAT_NCYCLE = 7
const SQLITE_SCANSTAT_NLOOP = 0
const SQLITE_SCANSTAT_NVISIT = 1
const SQLITE_SCANSTAT_PARENTID = 6
const SQLITE_SCANSTAT_SELECTID = 5
const SQLITE_SCHEMA = 17
const SQLITE_SELECT = 21
const SQLITE_SERIALIZE_NOCOPY = 0x001
const SQLITE_SET_LOCKPROXYFILE = "SQLITE_FCNTL_SET_LOCKPROXYFILE"
const SQLITE_SHM_EXCLUSIVE = 8
const SQLITE_SHM_LOCK = 2
const SQLITE_SHM_NLOCK = 8
const SQLITE_SHM_SHARED = 4
const SQLITE_SHM_UNLOCK = 1
const SQLITE_SOURCE_ID = "2024-03-12 11:06:23 d8cd6d49b46a395b13955387d05e9e1a2a47e54fb99f3c9b59835bbefad6af77"
const SQLITE_STATUS_MALLOC_COUNT = 9
const SQLITE_STATUS_MALLOC_SIZE = 5
const SQLITE_STATUS_MEMORY_USED = 0
const SQLITE_STATUS_PAGECACHE_OVERFLOW = 2
const SQLITE_STATUS_PAGECACHE_SIZE = 7
const SQLITE_STATUS_PAGECACHE_USED = 1
const SQLITE_STATUS_PARSER_STACK = 6
const SQLITE_STATUS_SCRATCH_OVERFLOW = 4
const SQLITE_STATUS_SCRATCH_SIZE = 8
const SQLITE_STATUS_SCRATCH_USED = 3
const SQLITE_STDCALL = "SQLITE_APICALL"
const SQLITE_STMTSTATUS_AUTOINDEX = 3
const SQLITE_STMTSTATUS_FILTER_HIT = 8
const SQLITE_STMTSTATUS_FILTER_MISS = 7
const SQLITE_STMTSTATUS_FULLSCAN_STEP = 1
const SQLITE_STMTSTATUS_MEMUSED = 99
const SQLITE_STMTSTATUS_REPREPARE = 5
const SQLITE_STMTSTATUS_RUN = 6
const SQLITE_STMTSTATUS_SORT = 2
const SQLITE_STMTSTATUS_VM_STEP = 4
const SQLITE_SUBTYPE = 0x000100000
const SQLITE_SYNC_DATAONLY = 0x00010
const SQLITE_SYNC_FULL = 0x00003
const SQLITE_SYNC_NORMAL = 0x00002
const SQLITE_TESTCTRL_ALWAYS = 13
const SQLITE_TESTCTRL_ASSERT = 12
const SQLITE_TESTCTRL_BENIGN_MALLOC_HOOKS = 10
const SQLITE_TESTCTRL_BITVEC_TEST = 8
const SQLITE_TESTCTRL_BYTEORDER = 22
const SQLITE_TESTCTRL_EXPLAIN_STMT = 19
const SQLITE_TESTCTRL_EXTRA_SCHEMA_CHECKS = 29
const SQLITE_TESTCTRL_FAULT_INSTALL = 9
const SQLITE_TESTCTRL_FIRST = 5
const SQLITE_TESTCTRL_FK_NO_ACTION = 7
const SQLITE_TESTCTRL_IMPOSTER = 25
const SQLITE_TESTCTRL_INTERNAL_FUNCTIONS = 17
const SQLITE_TESTCTRL_ISINIT = 23
const SQLITE_TESTCTRL_ISKEYWORD = 16
const SQLITE_TESTCTRL_JSON_SELFCHECK = 14
const SQLITE_TESTCTRL_LAST = 34
const SQLITE_TESTCTRL_LOCALTIME_FAULT = 18
const SQLITE_TESTCTRL_LOGEST = 33
const SQLITE_TESTCTRL_NEVER_CORRUPT = 20
const SQLITE_TESTCTRL_ONCE_RESET_THRESHOLD = 19
const SQLITE_TESTCTRL_OPTIMIZATIONS = 15
const SQLITE_TESTCTRL_PARSER_COVERAGE = 26
const SQLITE_TESTCTRL_PENDING_BYTE = 11
const SQLITE_TESTCTRL_PRNG_RESET = 7
const SQLITE_TESTCTRL_PRNG_RESTORE = 6
const SQLITE_TESTCTRL_PRNG_SAVE = 5
const SQLITE_TESTCTRL_PRNG_SEED = 28
const SQLITE_TESTCTRL_RESERVE = 14
const SQLITE_TESTCTRL_RESULT_INTREAL = 27
const SQLITE_TESTCTRL_SCRATCHMALLOC = 17
const SQLITE_TESTCTRL_SEEK_COUNT = 30
const SQLITE_TESTCTRL_SORTER_MMAP = 24
const SQLITE_TESTCTRL_TRACEFLAGS = 31
const SQLITE_TESTCTRL_TUNE = 32
const SQLITE_TESTCTRL_USELONGDOUBLE = 34
const SQLITE_TESTCTRL_VDBE_COVERAGE = 21
const SQLITE_TEXT = 3
const SQLITE_TOOBIG = 18
const SQLITE_TRACE_CLOSE = 0x08
const SQLITE_TRACE_PROFILE = 0x02
const SQLITE_TRACE_ROW = 0x04
const SQLITE_TRACE_STMT = 0x01
const SQLITE_TRANSACTION = 22
const SQLITE_TXN_NONE = 0
const SQLITE_TXN_READ = 1
const SQLITE_TXN_WRITE = 2
const SQLITE_UPDATE = 23
const SQLITE_UTF16 = 4
const SQLITE_UTF16BE = 3
const SQLITE_UTF16LE = 2
const SQLITE_UTF16_ALIGNED = 8
const SQLITE_UTF8 = 1
const SQLITE_VERSION = "3.45.2"
const SQLITE_VERSION_NUMBER = 3045002
const SQLITE_VFS_BUFFERSZ = 8192
const SQLITE_VTAB_CONSTRAINT_SUPPORT = 1
const SQLITE_VTAB_DIRECTONLY = 3
const SQLITE_VTAB_INNOCUOUS = 2
const SQLITE_VTAB_USES_ALL_SCHEMAS = 4
const SQLITE_WARNING = 28
const SQLITE_WIN32_DATA_DIRECTORY_TYPE = 1
const SQLITE_WIN32_TEMP_DIRECTORY_TYPE = 2
const SSIZE_MAX = "LONG_MAX"
const STATX_ALL = 0xfff
const STATX_ATIME = 0x20
const STATX_BASIC_STATS = 0x7ff
const STATX_BLOCKS = 0x400
const STATX_BTIME = 0x800
const STATX_CTIME = 0x80
const STATX_GID = 0x10
const STATX_INO = 0x100
const STATX_MODE = 2
const STATX_MTIME = 0x40
const STATX_NLINK = 4
const STATX_SIZE = 0x200
const STATX_TYPE = 1
const STATX_UID = 8
const STDERR_FILENO = 2
const STDIN_FILENO = 0
const STDOUT_FILENO = 1
const SYMLOOP_MAX = 40
const SYNC_FILE_RANGE_WAIT_AFTER = 4
const SYNC_FILE_RANGE_WAIT_BEFORE = 1
const SYNC_FILE_RANGE_WRITE = 2
const S_IEXEC = "S_IXUSR"
const S_IFBLK = 0060000
const S_IFCHR = 0020000
const S_IFDIR = 0040000
const S_IFIFO = 0010000
const S_IFLNK = 0120000
const S_IFMT = 0170000
const S_IFREG = 0100000
const S_IFSOCK = 0140000
const S_IREAD = "S_IRUSR"
const S_IRGRP = 0040
const S_IROTH = 0004
const S_IRUSR = 0400
const S_IRWXG = 0070
const S_IRWXO = 0007
const S_IRWXU = 0700
const S_ISGID = 02000
const S_ISUID = 04000
const S_ISVTX = 01000
const S_IWGRP = 0020
const S_IWOTH = 0002
const S_IWRITE = "S_IWUSR"
const S_IWUSR = 0200
const S_IXGRP = 0010
const S_IXOTH = 0001
const S_IXUSR = 0100
const TIMER_ABSTIME = 1
const TIME_UTC = 1
const TTY_NAME_MAX = 32
const TZNAME_MAX = 6
const UCHAR_MAX = 255
const UINT_MAX = 0xffffffff
const USHRT_MAX = 0xffff
const UTIME_NOW = 0x3fffffff
const UTIME_OMIT = 0x3ffffffe
const WORD_BIT = 32
const W_OK = 2
const X_OK = 1
const _ABILP64 = 3
const _CS_GNU_LIBC_VERSION = 2
const _CS_GNU_LIBPTHREAD_VERSION = 3
const _CS_PATH = 0
const _CS_POSIX_V5_WIDTH_RESTRICTED_ENVS = 4
const _CS_POSIX_V6_ILP32_OFF32_CFLAGS = 1116
const _CS_POSIX_V6_ILP32_OFF32_LDFLAGS = 1117
const _CS_POSIX_V6_ILP32_OFF32_LIBS = 1118
const _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS = 1119
const _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS = 1120
const _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS = 1121
const _CS_POSIX_V6_ILP32_OFFBIG_LIBS = 1122
const _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS = 1123
const _CS_POSIX_V6_LP64_OFF64_CFLAGS = 1124
const _CS_POSIX_V6_LP64_OFF64_LDFLAGS = 1125
const _CS_POSIX_V6_LP64_OFF64_LIBS = 1126
const _CS_POSIX_V6_LP64_OFF64_LINTFLAGS = 1127
const _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS = 1128
const _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS = 1129
const _CS_POSIX_V6_LPBIG_OFFBIG_LIBS = 1130
const _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS = 1131
const _CS_POSIX_V6_WIDTH_RESTRICTED_ENVS = 1
const _CS_POSIX_V7_ILP32_OFF32_CFLAGS = 1132
const _CS_POSIX_V7_ILP32_OFF32_LDFLAGS = 1133
const _CS_POSIX_V7_ILP32_OFF32_LIBS = 1134
const _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS = 1135
const _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS = 1136
const _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS = 1137
const _CS_POSIX_V7_ILP32_OFFBIG_LIBS = 1138
const _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS = 1139
const _CS_POSIX_V7_LP64_OFF64_CFLAGS = 1140
const _CS_POSIX_V7_LP64_OFF64_LDFLAGS = 1141
const _CS_POSIX_V7_LP64_OFF64_LIBS = 1142
const _CS_POSIX_V7_LP64_OFF64_LINTFLAGS = 1143
const _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS = 1144
const _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS = 1145
const _CS_POSIX_V7_LPBIG_OFFBIG_LIBS = 1146
const _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS = 1147
const _CS_POSIX_V7_THREADS_CFLAGS = 1150
const _CS_POSIX_V7_THREADS_LDFLAGS = 1151
const _CS_POSIX_V7_WIDTH_RESTRICTED_ENVS = 5
const _CS_V6_ENV = 1148
const _CS_V7_ENV = 1149
const _GNU_SOURCE = 1
const _LOONGARCH_ARCH = "loongarch64"
const _LOONGARCH_ARCH_LOONGARCH64 = 1
const _LOONGARCH_FPSET = 32
const _LOONGARCH_SIM = "_ABILP64"
const _LOONGARCH_SPFPSET = 32
const _LOONGARCH_SZINT = 32
const _LOONGARCH_SZLONG = 64
const _LOONGARCH_SZPTR = 64
const _LOONGARCH_TUNE = "loongarch64"
const _LOONGARCH_TUNE_LOONGARCH64 = 1
const _LP64 = 1
const _PC_2_SYMLINKS = 20
const _PC_ALLOC_SIZE_MIN = 18
const _PC_ASYNC_IO = 10
const _PC_CHOWN_RESTRICTED = 6
const _PC_FILESIZEBITS = 13
const _PC_LINK_MAX = 0
const _PC_MAX_CANON = 1
const _PC_MAX_INPUT = 2
const _PC_NAME_MAX = 3
const _PC_NO_TRUNC = 7
const _PC_PATH_MAX = 4
const _PC_PIPE_BUF = 5
const _PC_PRIO_IO = 11
const _PC_REC_INCR_XFER_SIZE = 14
const _PC_REC_MAX_XFER_SIZE = 15
const _PC_REC_MIN_XFER_SIZE = 16
const _PC_REC_XFER_ALIGN = 17
const _PC_SOCK_MAXBUF = 12
const _PC_SYMLINK_MAX = 19
const _PC_SYNC_IO = 9
const _PC_VDISABLE = 8
const _POSIX2_BC_BASE_MAX = 99
const _POSIX2_BC_DIM_MAX = 2048
const _POSIX2_BC_SCALE_MAX = 99
const _POSIX2_BC_STRING_MAX = 1000
const _POSIX2_CHARCLASS_NAME_MAX = 14
const _POSIX2_COLL_WEIGHTS_MAX = 2
const _POSIX2_C_BIND = "_POSIX_VERSION"
const _POSIX2_EXPR_NEST_MAX = 32
const _POSIX2_LINE_MAX = 2048
const _POSIX2_RE_DUP_MAX = 255
const _POSIX2_VERSION = "_POSIX_VERSION"
const _POSIX_ADVISORY_INFO = "_POSIX_VERSION"
const _POSIX_AIO_LISTIO_MAX = 2
const _POSIX_AIO_MAX = 1
const _POSIX_ARG_MAX = 4096
const _POSIX_ASYNCHRONOUS_IO = "_POSIX_VERSION"
const _POSIX_BARRIERS = "_POSIX_VERSION"
const _POSIX_CHILD_MAX = 25
const _POSIX_CHOWN_RESTRICTED = 1
const _POSIX_CLOCKRES_MIN = 20000000
const _POSIX_CLOCK_SELECTION = "_POSIX_VERSION"
const _POSIX_CPUTIME = "_POSIX_VERSION"
const _POSIX_DELAYTIMER_MAX = 32
const _POSIX_FSYNC = "_POSIX_VERSION"
const _POSIX_HOST_NAME_MAX = 255
const _POSIX_IPV6 = "_POSIX_VERSION"
const _POSIX_JOB_CONTROL = 1
const _POSIX_LINK_MAX = 8
const _POSIX_LOGIN_NAME_MAX = 9
const _POSIX_MAPPED_FILES = "_POSIX_VERSION"
const _POSIX_MAX_CANON = 255
const _POSIX_MAX_INPUT = 255
const _POSIX_MEMLOCK = "_POSIX_VERSION"
const _POSIX_MEMLOCK_RANGE = "_POSIX_VERSION"
const _POSIX_MEMORY_PROTECTION = "_POSIX_VERSION"
const _POSIX_MESSAGE_PASSING = "_POSIX_VERSION"
const _POSIX_MONOTONIC_CLOCK = "_POSIX_VERSION"
const _POSIX_MQ_OPEN_MAX = 8
const _POSIX_MQ_PRIO_MAX = 32
const _POSIX_NAME_MAX = 14
const _POSIX_NGROUPS_MAX = 8
const _POSIX_NO_TRUNC = 1
const _POSIX_OPEN_MAX = 20
const _POSIX_PATH_MAX = 256
const _POSIX_PIPE_BUF = 512
const _POSIX_RAW_SOCKETS = "_POSIX_VERSION"
const _POSIX_READER_WRITER_LOCKS = "_POSIX_VERSION"
const _POSIX_REALTIME_SIGNALS = "_POSIX_VERSION"
const _POSIX_REGEXP = 1
const _POSIX_RE_DUP_MAX = 255
const _POSIX_RTSIG_MAX = 8
const _POSIX_SAVED_IDS = 1
const _POSIX_SEMAPHORES = "_POSIX_VERSION"
const _POSIX_SEM_NSEMS_MAX = 256
const _POSIX_SEM_VALUE_MAX = 32767
const _POSIX_SHARED_MEMORY_OBJECTS = "_POSIX_VERSION"
const _POSIX_SHELL = 1
const _POSIX_SIGQUEUE_MAX = 32
const _POSIX_SPAWN = "_POSIX_VERSION"
const _POSIX_SPIN_LOCKS = "_POSIX_VERSION"
const _POSIX_SSIZE_MAX = 32767
const _POSIX_SS_REPL_MAX = 4
const _POSIX_STREAM_MAX = 8
const _POSIX_SYMLINK_MAX = 255
const _POSIX_SYMLOOP_MAX = 8
const _POSIX_THREADS = "_POSIX_VERSION"
const _POSIX_THREAD_ATTR_STACKADDR = "_POSIX_VERSION"
const _POSIX_THREAD_ATTR_STACKSIZE = "_POSIX_VERSION"
const _POSIX_THREAD_CPUTIME = "_POSIX_VERSION"
const _POSIX_THREAD_DESTRUCTOR_ITERATIONS = 4
const _POSIX_THREAD_KEYS_MAX = 128
const _POSIX_THREAD_PRIORITY_SCHEDULING = "_POSIX_VERSION"
const _POSIX_THREAD_PROCESS_SHARED = "_POSIX_VERSION"
const _POSIX_THREAD_SAFE_FUNCTIONS = "_POSIX_VERSION"
const _POSIX_THREAD_THREADS_MAX = 64
const _POSIX_TIMEOUTS = "_POSIX_VERSION"
const _POSIX_TIMERS = "_POSIX_VERSION"
const _POSIX_TIMER_MAX = 32
const _POSIX_TRACE_EVENT_NAME_MAX = 30
const _POSIX_TRACE_NAME_MAX = 8
const _POSIX_TRACE_SYS_MAX = 8
const _POSIX_TRACE_USER_EVENT_MAX = 32
const _POSIX_TTY_NAME_MAX = 9
const _POSIX_TZNAME_MAX = 6
const _POSIX_V6_LP64_OFF64 = 1
const _POSIX_V7_LP64_OFF64 = 1
const _POSIX_VDISABLE = 0
const _POSIX_VERSION = 200809
const _SC_2_CHAR_TERM = 95
const _SC_2_C_BIND = 47
const _SC_2_C_DEV = 48
const _SC_2_FORT_DEV = 49
const _SC_2_FORT_RUN = 50
const _SC_2_LOCALEDEF = 52
const _SC_2_PBS = 168
const _SC_2_PBS_ACCOUNTING = 169
const _SC_2_PBS_CHECKPOINT = 175
const _SC_2_PBS_LOCATE = 170
const _SC_2_PBS_MESSAGE = 171
const _SC_2_PBS_TRACK = 172
const _SC_2_SW_DEV = 51
const _SC_2_UPE = 97
const _SC_2_VERSION = 46
const _SC_ADVISORY_INFO = 132
const _SC_AIO_LISTIO_MAX = 23
const _SC_AIO_MAX = 24
const _SC_AIO_PRIO_DELTA_MAX = 25
const _SC_ARG_MAX = 0
const _SC_ASYNCHRONOUS_IO = 12
const _SC_ATEXIT_MAX = 87
const _SC_AVPHYS_PAGES = 86
const _SC_BARRIERS = 133
const _SC_BC_BASE_MAX = 36
const _SC_BC_DIM_MAX = 37
const _SC_BC_SCALE_MAX = 38
const _SC_BC_STRING_MAX = 39
const _SC_CHILD_MAX = 1
const _SC_CLK_TCK = 2
const _SC_CLOCK_SELECTION = 137
const _SC_COLL_WEIGHTS_MAX = 40
const _SC_CPUTIME = 138
const _SC_DELAYTIMER_MAX = 26
const _SC_EXPR_NEST_MAX = 42
const _SC_FSYNC = 15
const _SC_GETGR_R_SIZE_MAX = 69
const _SC_GETPW_R_SIZE_MAX = 70
const _SC_HOST_NAME_MAX = 180
const _SC_IOV_MAX = 60
const _SC_IPV6 = 235
const _SC_JOB_CONTROL = 7
const _SC_LINE_MAX = 43
const _SC_LOGIN_NAME_MAX = 71
const _SC_MAPPED_FILES = 16
const _SC_MEMLOCK = 17
const _SC_MEMLOCK_RANGE = 18
const _SC_MEMORY_PROTECTION = 19
const _SC_MESSAGE_PASSING = 20
const _SC_MINSIGSTKSZ = 249
const _SC_MONOTONIC_CLOCK = 149
const _SC_MQ_OPEN_MAX = 27
const _SC_MQ_PRIO_MAX = 28
const _SC_NGROUPS_MAX = 3
const _SC_NPROCESSORS_CONF = 83
const _SC_NPROCESSORS_ONLN = 84
const _SC_NZERO = 109
const _SC_OPEN_MAX = 4
const _SC_PAGESIZE = 30
const _SC_PAGE_SIZE = 30
const _SC_PASS_MAX = 88
const _SC_PHYS_PAGES = 85
const _SC_PRIORITIZED_IO = 13
const _SC_PRIORITY_SCHEDULING = 10
const _SC_RAW_SOCKETS = 236
const _SC_READER_WRITER_LOCKS = 153
const _SC_REALTIME_SIGNALS = 9
const _SC_REGEXP = 155
const _SC_RE_DUP_MAX = 44
const _SC_RTSIG_MAX = 31
const _SC_SAVED_IDS = 8
const _SC_SEMAPHORES = 21
const _SC_SEM_NSEMS_MAX = 32
const _SC_SEM_VALUE_MAX = 33
const _SC_SHARED_MEMORY_OBJECTS = 22
const _SC_SHELL = 157
const _SC_SIGQUEUE_MAX = 34
const _SC_SIGSTKSZ = 250
const _SC_SPAWN = 159
const _SC_SPIN_LOCKS = 154
const _SC_SPORADIC_SERVER = 160
const _SC_SS_REPL_MAX = 241
const _SC_STREAMS = 174
const _SC_STREAM_MAX = 5
const _SC_SYMLOOP_MAX = 173
const _SC_SYNCHRONIZED_IO = 14
const _SC_THREADS = 67
const _SC_THREAD_ATTR_STACKADDR = 77
const _SC_THREAD_ATTR_STACKSIZE = 78
const _SC_THREAD_CPUTIME = 139
const _SC_THREAD_DESTRUCTOR_ITERATIONS = 73
const _SC_THREAD_KEYS_MAX = 74
const _SC_THREAD_PRIORITY_SCHEDULING = 79
const _SC_THREAD_PRIO_INHERIT = 80
const _SC_THREAD_PRIO_PROTECT = 81
const _SC_THREAD_PROCESS_SHARED = 82
const _SC_THREAD_ROBUST_PRIO_INHERIT = 247
const _SC_THREAD_ROBUST_PRIO_PROTECT = 248
const _SC_THREAD_SAFE_FUNCTIONS = 68
const _SC_THREAD_SPORADIC_SERVER = 161
const _SC_THREAD_STACK_MIN = 75
const _SC_THREAD_THREADS_MAX = 76
const _SC_TIMEOUTS = 164
const _SC_TIMERS = 11
const _SC_TIMER_MAX = 35
const _SC_TRACE = 181
const _SC_TRACE_EVENT_FILTER = 182
const _SC_TRACE_EVENT_NAME_MAX = 242
const _SC_TRACE_INHERIT = 183
const _SC_TRACE_LOG = 184
const _SC_TRACE_NAME_MAX = 243
const _SC_TRACE_SYS_MAX = 244
const _SC_TRACE_USER_EVENT_MAX = 245
const _SC_TTY_NAME_MAX = 72
const _SC_TYPED_MEMORY_OBJECTS = 165
const _SC_TZNAME_MAX = 6
const _SC_UIO_MAXIOV = 60
const _SC_V6_ILP32_OFF32 = 176
const _SC_V6_ILP32_OFFBIG = 177
const _SC_V6_LP64_OFF64 = 178
const _SC_V6_LPBIG_OFFBIG = 179
const _SC_V7_ILP32_OFF32 = 237
const _SC_V7_ILP32_OFFBIG = 238
const _SC_V7_LP64_OFF64 = 239
const _SC_V7_LPBIG_OFFBIG = 240
const _SC_VERSION = 29
const _SC_XBS5_ILP32_OFF32 = 125
const _SC_XBS5_ILP32_OFFBIG = 126
const _SC_XBS5_LP64_OFF64 = 127
const _SC_XBS5_LPBIG_OFFBIG = 128
const _SC_XOPEN_CRYPT = 92
const _SC_XOPEN_ENH_I18N = 93
const _SC_XOPEN_LEGACY = 129
const _SC_XOPEN_REALTIME = 130
const _SC_XOPEN_REALTIME_THREADS = 131
const _SC_XOPEN_SHM = 94
const _SC_XOPEN_STREAMS = 246
const _SC_XOPEN_UNIX = 91
const _SC_XOPEN_VERSION = 89
const _SC_XOPEN_XCU_VERSION = 90
const _SC_XOPEN_XPG2 = 98
const _SC_XOPEN_XPG3 = 99
const _SC_XOPEN_XPG4 = 100
const _STDC_PREDEF_H = 1
const _XOPEN_ENH_I18N = 1
const _XOPEN_IOV_MAX = 16
const _XOPEN_NAME_MAX = 255
const _XOPEN_PATH_MAX = 1024
const _XOPEN_UNIX = 1
const _XOPEN_VERSION = 700
const __ACCUM_EPSILON__ = "0x1P-15K"
const __ACCUM_FBIT__ = 15
const __ACCUM_IBIT__ = 16
const __ACCUM_MAX__ = "0X7FFFFFFFP-15K"
const __ATOMIC_ACQUIRE = 2
const __ATOMIC_ACQ_REL = 4
const __ATOMIC_CONSUME = 1
const __ATOMIC_RELAXED = 0
const __ATOMIC_RELEASE = 3
const __ATOMIC_SEQ_CST = 5
const __BIGGEST_ALIGNMENT__ = 16
const __BIG_ENDIAN = 4321
const __BYTE_ORDER = 1234
const __BYTE_ORDER__ = "__ORDER_LITTLE_ENDIAN__"
const __CCGO__ = 1
const __CHAR_BIT__ = 8
const __DA_FBIT__ = 31
const __DA_IBIT__ = 32
const __DBL_DECIMAL_DIG__ = 17
const __DBL_DIG__ = 15
const __DBL_HAS_DENORM__ = 1
const __DBL_HAS_INFINITY__ = 1
const __DBL_HAS_QUIET_NAN__ = 1
const __DBL_IS_IEC_60559__ = 1
const __DBL_MANT_DIG__ = 53
const __DBL_MAX_10_EXP__ = 308
const __DBL_MAX_EXP__ = 1024
const __DECIMAL_DIG__ = 36
const __DEC_EVAL_METHOD__ = 2
const __DQ_FBIT__ = 63
const __DQ_IBIT__ = 0
const __ELF__ = 1
const __FINITE_MATH_ONLY__ = 0
const __FLOAT128_TYPE__ = 1
const __FLOAT_WORD_ORDER__ = "__ORDER_LITTLE_ENDIAN__"
const __FLT128_DECIMAL_DIG__ = 36
const __FLT128_DENORM_MIN__ = 6.47517511943802511092443895822764655e-4966
const __FLT128_DIG__ = 33
const __FLT128_EPSILON__ = 1.92592994438723585305597794258492732e-34
const __FLT128_HAS_DENORM__ = 1
const __FLT128_HAS_INFINITY__ = 1
const __FLT128_HAS_QUIET_NAN__ = 1
const __FLT128_IS_IEC_60559__ = 1
const __FLT128_MANT_DIG__ = 113
const __FLT128_MAX_10_EXP__ = 4932
const __FLT128_MAX_EXP__ = 16384
const __FLT128_MAX__ = "1.18973149535723176508575932662800702e+4932"
const __FLT128_MIN__ = 3.36210314311209350626267781732175260e-4932
const __FLT128_NORM_MAX__ = "1.18973149535723176508575932662800702e+4932"
const __FLT32X_DECIMAL_DIG__ = 17
const __FLT32X_DENORM_MIN__ = 4.94065645841246544176568792868221372e-324
const __FLT32X_DIG__ = 15
const __FLT32X_EPSILON__ = 2.22044604925031308084726333618164062e-16
const __FLT32X_HAS_DENORM__ = 1
const __FLT32X_HAS_INFINITY__ = 1
const __FLT32X_HAS_QUIET_NAN__ = 1
const __FLT32X_IS_IEC_60559__ = 1
const __FLT32X_MANT_DIG__ = 53
const __FLT32X_MAX_10_EXP__ = 308
const __FLT32X_MAX_EXP__ = 1024
const __FLT32X_MAX__ = 1.79769313486231570814527423731704357e+308
const __FLT32X_MIN__ = 2.22507385850720138309023271733240406e-308
const __FLT32X_NORM_MAX__ = 1.79769313486231570814527423731704357e+308
const __FLT32_DECIMAL_DIG__ = 9
const __FLT32_DENORM_MIN__ = 1.40129846432481707092372958328991613e-45
const __FLT32_DIG__ = 6
const __FLT32_EPSILON__ = 1.19209289550781250000000000000000000e-7
const __FLT32_HAS_DENORM__ = 1
const __FLT32_HAS_INFINITY__ = 1
const __FLT32_HAS_QUIET_NAN__ = 1
const __FLT32_IS_IEC_60559__ = 1
const __FLT32_MANT_DIG__ = 24
const __FLT32_MAX_10_EXP__ = 38
const __FLT32_MAX_EXP__ = 128
const __FLT32_MAX__ = 3.40282346638528859811704183484516925e+38
const __FLT32_MIN__ = 1.17549435082228750796873653722224568e-38
const __FLT32_NORM_MAX__ = 3.40282346638528859811704183484516925e+38
const __FLT64X_DECIMAL_DIG__ = 36
const __FLT64X_DENORM_MIN__ = 6.47517511943802511092443895822764655e-4966
const __FLT64X_DIG__ = 33
const __FLT64X_EPSILON__ = 1.92592994438723585305597794258492732e-34
const __FLT64X_HAS_DENORM__ = 1
const __FLT64X_HAS_INFINITY__ = 1
const __FLT64X_HAS_QUIET_NAN__ = 1
const __FLT64X_IS_IEC_60559__ = 1
const __FLT64X_MANT_DIG__ = 113
const __FLT64X_MAX_10_EXP__ = 4932
const __FLT64X_MAX_EXP__ = 16384
const __FLT64X_MAX__ = "1.18973149535723176508575932662800702e+4932"
const __FLT64X_MIN__ = 3.36210314311209350626267781732175260e-4932
const __FLT64X_NORM_MAX__ = "1.18973149535723176508575932662800702e+4932"
const __FLT64_DECIMAL_DIG__ = 17
const __FLT64_DENORM_MIN__ = 4.94065645841246544176568792868221372e-324
const __FLT64_DIG__ = 15
const __FLT64_EPSILON__ = 2.22044604925031308084726333618164062e-16
const __FLT64_HAS_DENORM__ = 1
const __FLT64_HAS_INFINITY__ = 1
const __FLT64_HAS_QUIET_NAN__ = 1
const __FLT64_IS_IEC_60559__ = 1
const __FLT64_MANT_DIG__ = 53
const __FLT64_MAX_10_EXP__ = 308
const __FLT64_MAX_EXP__ = 1024
const __FLT64_MAX__ = 1.79769313486231570814527423731704357e+308
const __FLT64_MIN__ = 2.22507385850720138309023271733240406e-308
const __FLT64_NORM_MAX__ = 1.79769313486231570814527423731704357e+308
const __FLT_DECIMAL_DIG__ = 9
const __FLT_DENORM_MIN__ = 1.40129846432481707092372958328991613e-45
const __FLT_DIG__ = 6
const __FLT_EPSILON__ = 1.19209289550781250000000000000000000e-7
const __FLT_EVAL_METHOD_TS_18661_3__ = 0
const __FLT_EVAL_METHOD__ = 0
const __FLT_HAS_DENORM__ = 1
const __FLT_HAS_INFINITY__ = 1
const __FLT_HAS_QUIET_NAN__ = 1
const __FLT_IS_IEC_60559__ = 1
const __FLT_MANT_DIG__ = 24
const __FLT_MAX_10_EXP__ = 38
const __FLT_MAX_EXP__ = 128
const __FLT_MAX__ = 3.40282346638528859811704183484516925e+38
const __FLT_MIN__ = 1.17549435082228750796873653722224568e-38
const __FLT_NORM_MAX__ = 3.40282346638528859811704183484516925e+38
const __FLT_RADIX__ = 2
const __FP_FAST_FMA = 1
const __FP_FAST_FMAF = 1
const __FP_FAST_FMAF32 = 1
const __FP_FAST_FMAF32x = 1
const __FP_FAST_FMAF64 = 1
const __FRACT_EPSILON__ = "0x1P-15R"
const __FRACT_FBIT__ = 15
const __FRACT_IBIT__ = 0
const __FRACT_MAX__ = "0X7FFFP-15R"
const __FUNCTION__ = "__func__"
const __GCC_ATOMIC_BOOL_LOCK_FREE = 2
const __GCC_ATOMIC_CHAR16_T_LOCK_FREE = 2
const __GCC_ATOMIC_CHAR32_T_LOCK_FREE = 2
const __GCC_ATOMIC_CHAR_LOCK_FREE = 2
const __GCC_ATOMIC_INT_LOCK_FREE = 2
const __GCC_ATOMIC_LLONG_LOCK_FREE = 2
const __GCC_ATOMIC_LONG_LOCK_FREE = 2
const __GCC_ATOMIC_POINTER_LOCK_FREE = 2
const __GCC_ATOMIC_SHORT_LOCK_FREE = 2
const __GCC_ATOMIC_TEST_AND_SET_TRUEVAL = 1
const __GCC_ATOMIC_WCHAR_T_LOCK_FREE = 2
const __GCC_HAVE_DWARF2_CFI_ASM = 1
const __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 = 1
const __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 = 1
const __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 = 1
const __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 = 1
const __GCC_IEC_559 = 2
const __GCC_IEC_559_COMPLEX = 2
const __GNUC_EXECUTION_CHARSET_NAME = "UTF-8"
const __GNUC_MINOR__ = 0
const __GNUC_PATCHLEVEL__ = 1
const __GNUC_RH_RELEASE__ = 0
const __GNUC_STDC_INLINE__ = 1
const __GNUC_WIDE_EXECUTION_CHARSET_NAME = "UTF-32LE"
const __GNUC__ = 14
const __GXX_ABI_VERSION = 1019
const __HAVE_SPECULATION_SAFE_VALUE = 1
const __HA_FBIT__ = 7
const __HA_IBIT__ = 8
const __HQ_FBIT__ = 15
const __HQ_IBIT__ = 0
const __INT16_MAX__ = 0x7fff
const __INT32_MAX__ = 0x7fffffff
const __INT32_TYPE__ = "int"
const __INT64_MAX__ = 0x7fffffffffffffff
const __INT8_MAX__ = 0x7f
const __INTMAX_MAX__ = 0x7fffffffffffffff
const __INTMAX_WIDTH__ = 64
const __INTPTR_MAX__ = 0x7fffffffffffffff
const __INTPTR_WIDTH__ = 64
const __INT_FAST16_MAX__ = 0x7fffffffffffffff
const __INT_FAST16_WIDTH__ = 64
const __INT_FAST32_MAX__ = 0x7fffffffffffffff
const __INT_FAST32_WIDTH__ = 64
const __INT_FAST64_MAX__ = 0x7fffffffffffffff
const __INT_FAST64_WIDTH__ = 64
const __INT_FAST8_MAX__ = 0x7f
const __INT_FAST8_WIDTH__ = 8
const __INT_LEAST16_MAX__ = 0x7fff
const __INT_LEAST16_WIDTH__ = 16
const __INT_LEAST32_MAX__ = 0x7fffffff
const __INT_LEAST32_TYPE__ = "int"
const __INT_LEAST32_WIDTH__ = 32
const __INT_LEAST64_MAX__ = 0x7fffffffffffffff
const __INT_LEAST64_WIDTH__ = 64
const __INT_LEAST8_MAX__ = 0x7f
const __INT_LEAST8_WIDTH__ = 8
const __INT_MAX__ = 0x7fffffff
const __INT_WIDTH__ = 32
const __LACCUM_EPSILON__ = "0x1P-31LK"
const __LACCUM_FBIT__ = 31
const __LACCUM_IBIT__ = 32
const __LACCUM_MAX__ = "0X7FFFFFFFFFFFFFFFP-31LK"
const __LDBL_DECIMAL_DIG__ = 36
const __LDBL_DENORM_MIN__ = 6.47517511943802511092443895822764655e-4966
const __LDBL_DIG__ = 33
const __LDBL_EPSILON__ = 1.92592994438723585305597794258492732e-34
const __LDBL_HAS_DENORM__ = 1
const __LDBL_HAS_INFINITY__ = 1
const __LDBL_HAS_QUIET_NAN__ = 1
const __LDBL_IS_IEC_60559__ = 1
const __LDBL_MANT_DIG__ = 113
const __LDBL_MAX_10_EXP__ = 4932
const __LDBL_MAX_EXP__ = 16384
const __LDBL_MAX__ = "1.18973149535723176508575932662800702e+4932"
const __LDBL_MIN__ = 3.36210314311209350626267781732175260e-4932
const __LDBL_NORM_MAX__ = "1.18973149535723176508575932662800702e+4932"
const __LFRACT_EPSILON__ = "0x1P-31LR"
const __LFRACT_FBIT__ = 31
const __LFRACT_IBIT__ = 0
const __LFRACT_MAX__ = "0X7FFFFFFFP-31LR"
const __LITTLE_ENDIAN = 1234
const __LLACCUM_EPSILON__ = "0x1P-63LLK"
const __LLACCUM_FBIT__ = 63
const __LLACCUM_IBIT__ = 64
const __LLACCUM_MAX__ = "0X7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFP-63LLK"
const __LLFRACT_EPSILON__ = "0x1P-63LLR"
const __LLFRACT_FBIT__ = 63
const __LLFRACT_IBIT__ = 0
const __LLFRACT_MAX__ = "0X7FFFFFFFFFFFFFFFP-63LLR"
const __LONG_LONG_MAX__ = 0x7fffffffffffffff
const __LONG_LONG_WIDTH__ = 64
const __LONG_MAX = 0x7fffffffffffffff
const __LONG_MAX__ = 0x7fffffffffffffff
const __LONG_WIDTH__ = 64
const __LOONGARCH_ARCH_LOONGARCH64 = 1
const __LOONGARCH_TUNE_LOONGARCH64 = 1
const __LP64__ = 1
const __NO_INLINE__ = 1
const __ORDER_BIG_ENDIAN__ = 4321
const __ORDER_LITTLE_ENDIAN__ = 1234
const __ORDER_PDP_ENDIAN__ = 3412
const __PDP_ENDIAN = 3412
const __PRAGMA_REDEFINE_EXTNAME = 1
const __PRETTY_FUNCTION__ = "__func__"
const __PTRDIFF_MAX__ = 0x7fffffffffffffff
const __PTRDIFF_WIDTH__ = 64
const __QQ_FBIT__ = 7
const __QQ_IBIT__ = 0
const __REGISTER_PREFIX__ = "$"
const __SACCUM_EPSILON__ = "0x1P-7HK"
const __SACCUM_FBIT__ = 7
const __SACCUM_IBIT__ = 8
const __SACCUM_MAX__ = "0X7FFFP-7HK"
const __SA_FBIT__ = 15
const __SA_IBIT__ = 16
const __SCHAR_MAX__ = 0x7f
const __SCHAR_WIDTH__ = 8
const __SFRACT_EPSILON__ = "0x1P-7HR"
const __SFRACT_FBIT__ = 7
const __SFRACT_IBIT__ = 0
const __SFRACT_MAX__ = "0X7FP-7HR"
const __SHRT_MAX__ = 0x7fff
const __SHRT_WIDTH__ = 16
const __SIG_ATOMIC_MAX__ = 0x7fffffff
const __SIG_ATOMIC_TYPE__ = "int"
const __SIG_ATOMIC_WIDTH__ = 32
const __SIZEOF_DOUBLE__ = 8
const __SIZEOF_FLOAT__ = 4
const __SIZEOF_INT128__ = 16
const __SIZEOF_INT__ = 4
const __SIZEOF_LONG_DOUBLE__ = 8
const __SIZEOF_LONG_LONG__ = 8
const __SIZEOF_LONG__ = 8
const __SIZEOF_POINTER__ = 8
const __SIZEOF_PTRDIFF_T__ = 8
const __SIZEOF_SHORT__ = 2
const __SIZEOF_SIZE_T__ = 8
const __SIZEOF_WCHAR_T__ = 4
const __SIZEOF_WINT_T__ = 4
const __SIZE_MAX__ = 0xffffffffffffffff
const __SIZE_WIDTH__ = 64
const __SQ_FBIT__ = 31
const __SQ_IBIT__ = 0
const __STDC_HOSTED__ = 1
const __STDC_IEC_559_COMPLEX__ = 1
const __STDC_IEC_559__ = 1
const __STDC_IEC_60559_BFP__ = 201404
const __STDC_IEC_60559_COMPLEX__ = 201404
const __STDC_ISO_10646__ = 201706
const __STDC_UTF_16__ = 1
const __STDC_UTF_32__ = 1
const __STDC_VERSION__ = 201710
const __STDC__ = 1
const __TA_FBIT__ = 63
const __TA_IBIT__ = 64
const __TQ_FBIT__ = 127
const __TQ_IBIT__ = 0
const __UACCUM_EPSILON__ = "0x1P-16UK"
const __UACCUM_FBIT__ = 16
const __UACCUM_IBIT__ = 16
const __UACCUM_MAX__ = "0XFFFFFFFFP-16UK"
const __UACCUM_MIN__ = "0.0UK"
const __UDA_FBIT__ = 32
const __UDA_IBIT__ = 32
const __UDQ_FBIT__ = 64
const __UDQ_IBIT__ = 0
const __UFRACT_EPSILON__ = "0x1P-16UR"
const __UFRACT_FBIT__ = 16
const __UFRACT_IBIT__ = 0
const __UFRACT_MAX__ = "0XFFFFP-16UR"
const __UFRACT_MIN__ = "0.0UR"
const __UHA_FBIT__ = 8
const __UHA_IBIT__ = 8
const __UHQ_FBIT__ = 16
const __UHQ_IBIT__ = 0
const __UINT16_MAX__ = 0xffff
const __UINT32_MAX__ = 0xffffffff
const __UINT64_MAX__ = 0xffffffffffffffff
const __UINT8_MAX__ = 0xff
const __UINTMAX_MAX__ = 0xffffffffffffffff
const __UINTPTR_MAX__ = 0xffffffffffffffff
const __UINT_FAST16_MAX__ = 0xffffffffffffffff
const __UINT_FAST32_MAX__ = 0xffffffffffffffff
const __UINT_FAST64_MAX__ = 0xffffffffffffffff
const __UINT_FAST8_MAX__ = 0xff
const __UINT_LEAST16_MAX__ = 0xffff
const __UINT_LEAST32_MAX__ = 0xffffffff
const __UINT_LEAST64_MAX__ = 0xffffffffffffffff
const __UINT_LEAST8_MAX__ = 0xff
const __ULACCUM_EPSILON__ = "0x1P-32ULK"
const __ULACCUM_FBIT__ = 32
const __ULACCUM_IBIT__ = 32
const __ULACCUM_MAX__ = "0XFFFFFFFFFFFFFFFFP-32ULK"
const __ULACCUM_MIN__ = "0.0ULK"
const __ULFRACT_EPSILON__ = "0x1P-32ULR"
const __ULFRACT_FBIT__ = 32
const __ULFRACT_IBIT__ = 0
const __ULFRACT_MAX__ = "0XFFFFFFFFP-32ULR"
const __ULFRACT_MIN__ = "0.0ULR"
const __ULLACCUM_EPSILON__ = "0x1P-64ULLK"
const __ULLACCUM_FBIT__ = 64
const __ULLACCUM_IBIT__ = 64
const __ULLACCUM_MAX__ = "0XFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFP-64ULLK"
const __ULLACCUM_MIN__ = "0.0ULLK"
const __ULLFRACT_EPSILON__ = "0x1P-64ULLR"
const __ULLFRACT_FBIT__ = 64
const __ULLFRACT_IBIT__ = 0
const __ULLFRACT_MAX__ = "0XFFFFFFFFFFFFFFFFP-64ULLR"
const __ULLFRACT_MIN__ = "0.0ULLR"
const __UQQ_FBIT__ = 8
const __UQQ_IBIT__ = 0
const __USACCUM_EPSILON__ = "0x1P-8UHK"
const __USACCUM_FBIT__ = 8
const __USACCUM_IBIT__ = 8
const __USACCUM_MAX__ = "0XFFFFP-8UHK"
const __USACCUM_MIN__ = "0.0UHK"
const __USA_FBIT__ = 16
const __USA_IBIT__ = 16
const __USE_TIME_BITS64 = 1
const __USFRACT_EPSILON__ = "0x1P-8UHR"
const __USFRACT_FBIT__ = 8
const __USFRACT_IBIT__ = 0
const __USFRACT_MAX__ = "0XFFP-8UHR"
const __USFRACT_MIN__ = "0.0UHR"
const __USQ_FBIT__ = 32
const __USQ_IBIT__ = 0
const __UTA_FBIT__ = 64
const __UTA_IBIT__ = 64
const __UTQ_FBIT__ = 128
const __UTQ_IBIT__ = 0
const __VERSION__ = "14.0.1 20240228 (Red Hat 14.0.1-0)"
const __WCHAR_MAX__ = 0x7fffffff
const __WCHAR_TYPE__ = "int"
const __WCHAR_WIDTH__ = 32
const __WINT_MAX__ = 0xffffffff
const __WINT_MIN__ = 0
const __WINT_WIDTH__ = 32
const __builtin_copysignq = "__builtin_copysignf128"
const __builtin_fabsq = "__builtin_fabsf128"
const __builtin_huge_valq = "__builtin_huge_valf128"
const __builtin_infq = "__builtin_inff128"
const __builtin_nanq = "__builtin_nanf128"
const __builtin_nansq = "__builtin_nansf128"
const __gnu_linux__ = 1
const __inline = "inline"
const __linux = 1
const __linux__ = 1
const __loongarch64 = 1
const __loongarch__ = 1
const __loongarch_arch = "loongarch64"
const __loongarch_double_float = 1
const __loongarch_frlen = 64
const __loongarch_grlen = 64
const __loongarch_hard_float = 1
const __loongarch_lp64 = 1
const __loongarch_tune = "loongarch64"
const __restrict = "restrict"
const __restrict_arr = "restrict"
const __tm_gmtoff = "tm_gmtoff"
const __tm_zone = "tm_zone"
const __unix = 1
const __unix__ = 1
const linux = 1
const loff_t = "off_t"
const prlimit64 = "prlimit"
const static_assert = "_Static_assert"
const unix = 1

type __builtin_va_list = uintptr

type __predefined_size_t = uint64

type __predefined_wchar_t = int32

type __predefined_ptrdiff_t = int64

type va_list = uintptr

type sqlite_int64 = int64

type sqlite_uint64 = uint64

type sqlite3_int64 = int64

type sqlite3_uint64 = uint64

type sqlite3_callback = uintptr

type sqlite3_file = struct {
	pMethods uintptr
}

type sqlite3_file1 = struct {
	pMethods uintptr
}

type sqlite3_io_methods = struct {
	iVersion               int32
	xClose                 uintptr
	xRead                  uintptr
	xWrite                 uintptr
	xTruncate              uintptr
	xSync                  uintptr
	xFileSize              uintptr
	xLock                  uintptr
	xUnlock                uintptr
	xCheckReservedLock     uintptr
	xFileControl           uintptr
	xSectorSize            uintptr
	xDeviceCharacteristics uintptr
	xShmMap                uintptr
	xShmLock               uintptr
	xShmBarrier            uintptr
	xShmUnmap              uintptr
	xFetch                 uintptr
	xUnfetch               uintptr
}

type sqlite3_io_methods1 = struct {
	iVersion               int32
	xClose                 uintptr
	xRead                  uintptr
	xWrite                 uintptr
	xTruncate              uintptr
	xSync                  uintptr
	xFileSize              uintptr
	xLock                  uintptr
	xUnlock                uintptr
	xCheckReservedLock     uintptr
	xFileControl           uintptr
	xSectorSize            uintptr
	xDeviceCharacteristics uintptr
	xShmMap                uintptr
	xShmLock               uintptr
	xShmBarrier            uintptr
	xShmUnmap              uintptr
	xFetch                 uintptr
	xUnfetch               uintptr
}

type sqlite3_filename = uintptr

type sqlite3_vfs = struct {
	iVersion          int32
	szOsFile          int32
	mxPathname        int32
	pNext             uintptr
	zName             uintptr
	pAppData          uintptr
	xOpen             uintptr
	xDelete           uintptr
	xAccess           uintptr
	xFullPathname     uintptr
	xDlOpen           uintptr
	xDlError          uintptr
	xDlSym            uintptr
	xDlClose          uintptr
	xRandomness       uintptr
	xSleep            uintptr
	xCurrentTime      uintptr
	xGetLastError     uintptr
	xCurrentTimeInt64 uintptr
	xSetSystemCall    uintptr
	xGetSystemCall    uintptr
	xNextSystemCall   uintptr
}

type sqlite3_syscall_ptr = uintptr

type sqlite3_vfs1 = struct {
	iVersion          int32
	szOsFile          int32
	mxPathname        int32
	pNext             uintptr
	zName             uintptr
	pAppData          uintptr
	xOpen             uintptr
	xDelete           uintptr
	xAccess           uintptr
	xFullPathname     uintptr
	xDlOpen           uintptr
	xDlError          uintptr
	xDlSym            uintptr
	xDlClose          uintptr
	xRandomness       uintptr
	xSleep            uintptr
	xCurrentTime      uintptr
	xGetLastError     uintptr
	xCurrentTimeInt64 uintptr
	xSetSystemCall    uintptr
	xGetSystemCall    uintptr
	xNextSystemCall   uintptr
}

type sqlite3_mem_methods = struct {
	xMalloc   uintptr
	xFree     uintptr
	xRealloc  uintptr
	xSize     uintptr
	xRoundup  uintptr
	xInit     uintptr
	xShutdown uintptr
	pAppData  uintptr
}

type sqlite3_mem_methods1 = struct {
	xMalloc   uintptr
	xFree     uintptr
	xRealloc  uintptr
	xSize     uintptr
	xRoundup  uintptr
	xInit     uintptr
	xShutdown uintptr
	pAppData  uintptr
}

type sqlite3_destructor_type = uintptr

type sqlite3_vtab = struct {
	pModule uintptr
	nRef    int32
	zErrMsg uintptr
}

type sqlite3_index_info = struct {
	nConstraint      int32
	aConstraint      uintptr
	nOrderBy         int32
	aOrderBy         uintptr
	aConstraintUsage uintptr
	idxNum           int32
	idxStr           uintptr
	needToFreeIdxStr int32
	orderByConsumed  int32
	estimatedCost    float64
	estimatedRows    sqlite3_int64
	idxFlags         int32
	colUsed          sqlite3_uint64
}

type sqlite3_vtab_cursor = struct {
	pVtab uintptr
}

type sqlite3_module = struct {
	iVersion      int32
	xCreate       uintptr
	xConnect      uintptr
	xBestIndex    uintptr
	xDisconnect   uintptr
	xDestroy      uintptr
	xOpen         uintptr
	xClose        uintptr
	xFilter       uintptr
	xNext         uintptr
	xEof          uintptr
	xColumn       uintptr
	xRowid        uintptr
	xUpdate       uintptr
	xBegin        uintptr
	xSync         uintptr
	xCommit       uintptr
	xRollback     uintptr
	xFindFunction uintptr
	xRename       uintptr
	xSavepoint    uintptr
	xRelease      uintptr
	xRollbackTo   uintptr
	xShadowName   uintptr
	xIntegrity    uintptr
}

type sqlite3_module1 = struct {
	iVersion      int32
	xCreate       uintptr
	xConnect      uintptr
	xBestIndex    uintptr
	xDisconnect   uintptr
	xDestroy      uintptr
	xOpen         uintptr
	xClose        uintptr
	xFilter       uintptr
	xNext         uintptr
	xEof          uintptr
	xColumn       uintptr
	xRowid        uintptr
	xUpdate       uintptr
	xBegin        uintptr
	xSync         uintptr
	xCommit       uintptr
	xRollback     uintptr
	xFindFunction uintptr
	xRename       uintptr
	xSavepoint    uintptr
	xRelease      uintptr
	xRollbackTo   uintptr
	xShadowName   uintptr
	xIntegrity    uintptr
}

type sqlite3_index_info1 = struct {
	nConstraint      int32
	aConstraint      uintptr
	nOrderBy         int32
	aOrderBy         uintptr
	aConstraintUsage uintptr
	idxNum           int32
	idxStr           uintptr
	needToFreeIdxStr int32
	orderByConsumed  int32
	estimatedCost    float64
	estimatedRows    sqlite3_int64
	idxFlags         int32
	colUsed          sqlite3_uint64
}

type sqlite3_vtab1 = struct {
	pModule uintptr
	nRef    int32
	zErrMsg uintptr
}

type sqlite3_vtab_cursor1 = struct {
	pVtab uintptr
}

type sqlite3_mutex_methods = struct {
	xMutexInit    uintptr
	xMutexEnd     uintptr
	xMutexAlloc   uintptr
	xMutexFree    uintptr
	xMutexEnter   uintptr
	xMutexTry     uintptr
	xMutexLeave   uintptr
	xMutexHeld    uintptr
	xMutexNotheld uintptr
}

type sqlite3_mutex_methods1 = struct {
	xMutexInit    uintptr
	xMutexEnd     uintptr
	xMutexAlloc   uintptr
	xMutexFree    uintptr
	xMutexEnter   uintptr
	xMutexTry     uintptr
	xMutexLeave   uintptr
	xMutexHeld    uintptr
	xMutexNotheld uintptr
}

type sqlite3_pcache_page = struct {
	pBuf   uintptr
	pExtra uintptr
}

type sqlite3_pcache_page1 = struct {
	pBuf   uintptr
	pExtra uintptr
}

type sqlite3_pcache_methods2 = struct {
	iVersion   int32
	pArg       uintptr
	xInit      uintptr
	xShutdown  uintptr
	xCreate    uintptr
	xCachesize uintptr
	xPagecount uintptr
	xFetch     uintptr
	xUnpin     uintptr
	xRekey     uintptr
	xTruncate  uintptr
	xDestroy   uintptr
	xShrink    uintptr
}

type sqlite3_pcache_methods21 = struct {
	iVersion   int32
	pArg       uintptr
	xInit      uintptr
	xShutdown  uintptr
	xCreate    uintptr
	xCachesize uintptr
	xPagecount uintptr
	xFetch     uintptr
	xUnpin     uintptr
	xRekey     uintptr
	xTruncate  uintptr
	xDestroy   uintptr
	xShrink    uintptr
}

type sqlite3_pcache_methods = struct {
	pArg       uintptr
	xInit      uintptr
	xShutdown  uintptr
	xCreate    uintptr
	xCachesize uintptr
	xPagecount uintptr
	xFetch     uintptr
	xUnpin     uintptr
	xRekey     uintptr
	xTruncate  uintptr
	xDestroy   uintptr
}

type sqlite3_pcache_methods1 = struct {
	pArg       uintptr
	xInit      uintptr
	xShutdown  uintptr
	xCreate    uintptr
	xCachesize uintptr
	xPagecount uintptr
	xFetch     uintptr
	xUnpin     uintptr
	xRekey     uintptr
	xTruncate  uintptr
	xDestroy   uintptr
}

type sqlite3_snapshot = struct {
	hidden [48]uint8
}

type sqlite3_rtree_geometry = struct {
	pContext uintptr
	nParam   int32
	aParam   uintptr
	pUser    uintptr
	xDelUser uintptr
}

type sqlite3_rtree_query_info = struct {
	pContext      uintptr
	nParam        int32
	aParam        uintptr
	pUser         uintptr
	xDelUser      uintptr
	aCoord        uintptr
	anQueue       uintptr
	nCoord        int32
	iLevel        int32
	mxLevel       int32
	iRowid        sqlite3_int64
	rParentScore  sqlite3_rtree_dbl
	eParentWithin int32
	eWithin       int32
	rScore        sqlite3_rtree_dbl
	apSqlParam    uintptr
}

type sqlite3_rtree_dbl = float64

type sqlite3_rtree_geometry1 = struct {
	pContext uintptr
	nParam   int32
	aParam   uintptr
	pUser    uintptr
	xDelUser uintptr
}

type sqlite3_rtree_query_info1 = struct {
	pContext      uintptr
	nParam        int32
	aParam        uintptr
	pUser         uintptr
	xDelUser      uintptr
	aCoord        uintptr
	anQueue       uintptr
	nCoord        int32
	iLevel        int32
	mxLevel       int32
	iRowid        sqlite3_int64
	rParentScore  sqlite3_rtree_dbl
	eParentWithin int32
	eWithin       int32
	rScore        sqlite3_rtree_dbl
	apSqlParam    uintptr
}

type Fts5ExtensionApi = struct {
	iVersion           int32
	xUserData          uintptr
	xColumnCount       uintptr
	xRowCount          uintptr
	xColumnTotalSize   uintptr
	xTokenize          uintptr
	xPhraseCount       uintptr
	xPhraseSize        uintptr
	xInstCount         uintptr
	xInst              uintptr
	xRowid             uintptr
	xColumnText        uintptr
	xColumnSize        uintptr
	xQueryPhrase       uintptr
	xSetAuxdata        uintptr
	xGetAuxdata        uintptr
	xPhraseFirst       uintptr
	xPhraseNext        uintptr
	xPhraseFirstColumn uintptr
	xPhraseNextColumn  uintptr
	xQueryToken        uintptr
	xInstToken         uintptr
}

type Fts5PhraseIter = struct {
	a uintptr
	b uintptr
}

type fts5_extension_function = uintptr

type Fts5PhraseIter1 = struct {
	a uintptr
	b uintptr
}

type Fts5ExtensionApi1 = struct {
	iVersion           int32
	xUserData          uintptr
	xColumnCount       uintptr
	xRowCount          uintptr
	xColumnTotalSize   uintptr
	xTokenize          uintptr
	xPhraseCount       uintptr
	xPhraseSize        uintptr
	xInstCount         uintptr
	xInst              uintptr
	xRowid             uintptr
	xColumnText        uintptr
	xColumnSize        uintptr
	xQueryPhrase       uintptr
	xSetAuxdata        uintptr
	xGetAuxdata        uintptr
	xPhraseFirst       uintptr
	xPhraseNext        uintptr
	xPhraseFirstColumn uintptr
	xPhraseNextColumn  uintptr
	xQueryToken        uintptr
	xInstToken         uintptr
}

type fts5_tokenizer = struct {
	xCreate   uintptr
	xDelete   uintptr
	xTokenize uintptr
}

type fts5_tokenizer1 = struct {
	xCreate   uintptr
	xDelete   uintptr
	xTokenize uintptr
}

type fts5_api = struct {
	iVersion         int32
	xCreateTokenizer uintptr
	xFindTokenizer   uintptr
	xCreateFunction  uintptr
}

type fts5_api1 = struct {
	iVersion         int32
	xCreateTokenizer uintptr
	xFindTokenizer   uintptr
	xCreateFunction  uintptr
}

type size_t = uint64

type locale_t = uintptr

type nlink_t = uint32

type blksize_t = int32

type ssize_t = int64

type register_t = int64

type time_t = int64

type suseconds_t = int64

type int8_t = int8

type int16_t = int16

type int32_t = int32

type int64_t = int64

type u_int64_t = uint64

type mode_t = uint32

type off_t = int64

type ino_t = uint64

type dev_t = uint64

type blkcnt_t = int64

type fsblkcnt_t = uint64

type fsfilcnt_t = uint64

type timer_t = uintptr

type clockid_t = int32

type clock_t = int64

type pid_t = int32

type id_t = uint32

type uid_t = uint32

type gid_t = uint32

type key_t = int32

type useconds_t = uint32

type pthread_t = uintptr

type pthread_once_t = int32

type pthread_key_t = uint32

type pthread_spinlock_t = int32

type pthread_mutexattr_t = struct {
	__attr uint32
}

type pthread_condattr_t = struct {
	__attr uint32
}

type pthread_barrierattr_t = struct {
	__attr uint32
}

type pthread_rwlockattr_t = struct {
	__attr [2]uint32
}

type pthread_attr_t = struct {
	__u struct {
		__vi [0][14]int32
		__s  [0][7]uint64
		__i  [14]int32
	}
}

type pthread_mutex_t = struct {
	__u struct {
		__vi [0][10]int32
		__p  [0][5]uintptr
		__i  [10]int32
	}
}

type pthread_cond_t = struct {
	__u struct {
		__vi [0][12]int32
		__p  [0][6]uintptr
		__i  [12]int32
	}
}

type pthread_rwlock_t = struct {
	__u struct {
		__vi [0][14]int32
		__p  [0][7]uintptr
		__i  [14]int32
	}
}

type pthread_barrier_t = struct {
	__u struct {
		__vi [0][8]int32
		__p  [0][4]uintptr
		__i  [8]int32
	}
}

type u_int8_t = uint8

type u_int16_t = uint16

type u_int32_t = uint32

type caddr_t = uintptr

type u_char = uint8

type u_short = uint16

type ushort = uint16

type u_int = uint32

type uint1 = uint32

type u_long = uint64

type ulong = uint64

type quad_t = int64

type u_quad_t = uint64

type uint16_t = uint16

type uint32_t = uint32

type uint64_t = uint64

type timeval = struct {
	tv_sec  time_t
	tv_usec suseconds_t
}

type timespec = struct {
	tv_sec  time_t
	tv_nsec int64
}

type sigset_t = struct {
	__bits [16]uint64
}

type __sigset_t = sigset_t

type fd_mask = uint64

type fd_set = struct {
	fds_bits [16]uint64
}

type stat = struct {
	st_dev     dev_t
	st_ino     ino_t
	st_mode    mode_t
	st_nlink   nlink_t
	st_uid     uid_t
	st_gid     gid_t
	st_rdev    dev_t
	__pad      uint64
	st_size    off_t
	st_blksize blksize_t
	__pad2     int32
	st_blocks  blkcnt_t
	st_atim    timespec
	st_mtim    timespec
	st_ctim    timespec
	__unused   [2]uint32
}

type statx_timestamp = struct {
	tv_sec  int64_t
	tv_nsec uint32_t
	__pad   uint32_t
}

type statx = struct {
	stx_mask            uint32_t
	stx_blksize         uint32_t
	stx_attributes      uint64_t
	stx_nlink           uint32_t
	stx_uid             uint32_t
	stx_gid             uint32_t
	stx_mode            uint16_t
	__pad0              [1]uint16_t
	stx_ino             uint64_t
	stx_size            uint64_t
	stx_blocks          uint64_t
	stx_attributes_mask uint64_t
	stx_atime           statx_timestamp
	stx_btime           statx_timestamp
	stx_ctime           statx_timestamp
	stx_mtime           statx_timestamp
	stx_rdev_major      uint32_t
	stx_rdev_minor      uint32_t
	stx_dev_major       uint32_t
	stx_dev_minor       uint32_t
	__pad1              [14]uint64_t
}

type itimerval = struct {
	it_interval timeval
	it_value    timeval
}

type timezone = struct {
	tz_minuteswest int32
	tz_dsttime     int32
}

type rlim_t = uint64

type rlimit = struct {
	rlim_cur rlim_t
	rlim_max rlim_t
}

type rusage = struct {
	ru_utime    timeval
	ru_stime    timeval
	ru_maxrss   int64
	ru_ixrss    int64
	ru_idrss    int64
	ru_isrss    int64
	ru_minflt   int64
	ru_majflt   int64
	ru_nswap    int64
	ru_inblock  int64
	ru_oublock  int64
	ru_msgsnd   int64
	ru_msgrcv   int64
	ru_nsignals int64
	ru_nvcsw    int64
	ru_nivcsw   int64
	__reserved  [16]int64
}

type intptr_t = int64

type tm = struct {
	tm_sec    int32
	tm_min    int32
	tm_hour   int32
	tm_mday   int32
	tm_mon    int32
	tm_year   int32
	tm_wday   int32
	tm_yday   int32
	tm_isdst  int32
	tm_gmtoff int64
	tm_zone   uintptr
}

type itimerspec = struct {
	it_interval timespec
	it_value    timespec
}

type iovec = struct {
	iov_base uintptr
	iov_len  size_t
}

type flock = struct {
	l_type   int16
	l_whence int16
	l_start  off_t
	l_len    off_t
	l_pid    pid_t
}

type file_handle = struct {
	handle_bytes uint32
	handle_type  int32
}

type f_owner_ex = struct {
	type1 int32
	pid   pid_t
}

// #define hook __builtin_printf("TRC %s:%i:\n", __func__, __LINE__);

/*
** Size of the write buffer used by journal files in bytes.
 */

/*
** The maximum pathname length supported by this VFS.
 */

// C documentation
//
//	/*
//	** When using this VFS, the sqlite3_file* handles that SQLite uses are
//	** actually pointers to instances of type VFSFile.
//	*/
type VFSFile = struct {
	base        sqlite3_file
	fsFile      uintptr
	fd          int32
	aBuffer     uintptr
	nBuffer     int32
	iBufferOfst sqlite3_int64
}

type VFSFile1 = struct {
	base        sqlite3_file
	fsFile      uintptr
	fd          int32
	aBuffer     uintptr
	nBuffer     int32
	iBufferOfst sqlite3_int64
}

// C documentation
//
//	/*
//	** Write directly to the file passed as the first argument. Even if the
//	** file has a write-buffer (VFSFile.aBuffer), ignore it.
//	*/
func vfsDirectWrite(tls *libc.TLS, p uintptr, zBuf uintptr, iAmt int32, iOfst sqlite_int64) (r int32) {
	bp := tls.Alloc(32)
	defer tls.Free(32)
	var nWrite size_t
	var ofst off_t
	_, _ = nWrite, ofst
	libc.X__builtin_printf(tls, __ccgo_ts, libc.VaList(bp+8, uintptr(unsafe.Pointer(&__func__)), int32(178)))
	libc.X__builtin_abort(tls)
	ofst = libc.Xlseek(tls, (*VFSFile)(unsafe.Pointer(p)).fd, int64(int64(iOfst)), 0)
	if int64(int64(ofst)) != iOfst {
		return libc.Int32FromInt32(SQLITE_IOERR) | libc.Int32FromInt32(3)<<libc.Int32FromInt32(8)
	}
	nWrite = uint64(libc.Xwrite(tls, (*VFSFile)(unsafe.Pointer(p)).fd, zBuf, uint64(uint64(iAmt))))
	if nWrite != uint64(uint64(iAmt)) {
		return libc.Int32FromInt32(SQLITE_IOERR) | libc.Int32FromInt32(3)<<libc.Int32FromInt32(8)
	}
	return SQLITE_OK
}

var __func__ = [15]int8{'v', 'f', 's', 'D', 'i', 'r', 'e', 'c', 't', 'W', 'r', 'i', 't', 'e'} /* Return value from write() */

// C documentation
//
//	/*
//	** Flush the contents of the VFSFile.aBuffer buffer to disk. This is a
//	** no-op if this particular file does not have a buffer (i.e. it is not
//	** a journal file) or if the buffer is currently empty.
//	*/
func vfsFlushBuffer(tls *libc.TLS, p uintptr) (r int32) {
	bp := tls.Alloc(32)
	defer tls.Free(32)
	var rc int32
	_ = rc
	libc.X__builtin_printf(tls, __ccgo_ts, libc.VaList(bp+8, uintptr(unsafe.Pointer(&__func__1)), int32(198)))
	libc.X__builtin_abort(tls)
	rc = SQLITE_OK
	if (*VFSFile)(unsafe.Pointer(p)).nBuffer != 0 {
		rc = vfsDirectWrite(tls, p, (*VFSFile)(unsafe.Pointer(p)).aBuffer, (*VFSFile)(unsafe.Pointer(p)).nBuffer, (*VFSFile)(unsafe.Pointer(p)).iBufferOfst)
		(*VFSFile)(unsafe.Pointer(p)).nBuffer = 0
	}
	return rc
}

var __func__1 = [15]int8{'v', 'f', 's', 'F', 'l', 'u', 's', 'h', 'B', 'u', 'f', 'f', 'e', 'r'}

// C documentation
//
//	/*
//	** Write data to a crash-file.
//	*/
func vfsWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst sqlite_int64) (r int32) {
	bp := tls.Alloc(32)
	defer tls.Free(32)
	var i sqlite3_int64
	var n, nCopy, rc int32
	var p, z uintptr
	var v1 bool
	_, _, _, _, _, _, _ = i, n, nCopy, p, rc, z, v1
	libc.X__builtin_printf(tls, __ccgo_ts, libc.VaList(bp+8, uintptr(unsafe.Pointer(&__func__2)), int32(273)))
	libc.X__builtin_abort(tls)
	p = pFile
	if (*VFSFile)(unsafe.Pointer(p)).aBuffer != 0 {
		z = zBuf    /* Pointer to remaining data to write */
		n = iAmt    /* Number of bytes at z */
		i = iOfst   /* File offset to write to */
		for n > 0 { /* Number of bytes to copy into buffer */
			/* If the buffer is full, or if this data is not being written directly
			 ** following the data already buffered, flush the buffer. Flushing
			 ** the buffer is a no-op if it is empty.
			 */
			if (*VFSFile)(unsafe.Pointer(p)).nBuffer == int32(SQLITE_VFS_BUFFERSZ) || (*VFSFile)(unsafe.Pointer(p)).iBufferOfst+int64((*VFSFile)(unsafe.Pointer(p)).nBuffer) != i {
				rc = vfsFlushBuffer(tls, p)
				if rc != SQLITE_OK {
					return rc
				}
			}
			if v1 = (*VFSFile)(unsafe.Pointer(p)).nBuffer == 0 || (*VFSFile)(unsafe.Pointer(p)).iBufferOfst+int64((*VFSFile)(unsafe.Pointer(p)).nBuffer) == i; !v1 {
				libc.X__assert_fail(tls, __ccgo_ts+13, __ccgo_ts+59, int32(294), uintptr(unsafe.Pointer(&__func__2)))
			}
			_ = v1 || libc.Bool(libc.Int32FromInt32(0) != 0)
			(*VFSFile)(unsafe.Pointer(p)).iBufferOfst = i - int64((*VFSFile)(unsafe.Pointer(p)).nBuffer)
			/* Copy as much data as possible into the buffer. */
			nCopy = int32(SQLITE_VFS_BUFFERSZ) - (*VFSFile)(unsafe.Pointer(p)).nBuffer
			if nCopy > n {
				nCopy = n
			}
			libc.Xmemcpy(tls, (*VFSFile)(unsafe.Pointer(p)).aBuffer+uintptr((*VFSFile)(unsafe.Pointer(p)).nBuffer), z, uint64(uint64(nCopy)))
			*(*int32)(unsafe.Pointer(p + 32)) += nCopy
			n -= nCopy
			i += int64(int64(nCopy))
			z += uintptr(nCopy)
		}
	} else {
		return vfsDirectWrite(tls, p, zBuf, iAmt, iOfst)
	}
	return SQLITE_OK
}

var __func__2 = [9]int8{'v', 'f', 's', 'W', 'r', 'i', 't', 'e'}

// C documentation
//
//	/*
//	** Truncate a file. This is a no-op for this VFS (see header comments at
//	** the top of the file).
//	*/
func vfsTruncate(tls *libc.TLS, pFile uintptr, size sqlite_int64) (r int32) {
	return SQLITE_OK
}

// C documentation
//
//	/*
//	** Sync the contents of the file to the persistent media.
//	*/
func vfsSync(tls *libc.TLS, pFile uintptr, flags int32) (r int32) {
	bp := tls.Alloc(32)
	defer tls.Free(32)
	var p uintptr
	var rc, v1 int32
	_, _, _ = p, rc, v1
	libc.X__builtin_printf(tls, __ccgo_ts, libc.VaList(bp+8, uintptr(unsafe.Pointer(&__func__3)), int32(331)))
	libc.X__builtin_abort(tls)
	p = pFile
	rc = vfsFlushBuffer(tls, p)
	if rc != SQLITE_OK {
		return rc
	}
	rc = libc.Xfsync(tls, (*VFSFile)(unsafe.Pointer(p)).fd)
	if rc == 0 {
		v1 = SQLITE_OK
	} else {
		v1 = libc.Int32FromInt32(SQLITE_IOERR) | libc.Int32FromInt32(4)<<libc.Int32FromInt32(8)
	}
	return v1
}

var __func__3 = [8]int8{'v', 'f', 's', 'S', 'y', 'n', 'c'}

// C documentation
//
//	/*
//	** Locking functions. The xLock() and xUnlock() methods are both no-ops.
//	** The xCheckReservedLock() always indicates that no other process holds
//	** a reserved lock on the database file. This ensures that if a hot-journal
//	** file is found in the file-system it is rolled back.
//	*/
func vfsLock(tls *libc.TLS, pFile uintptr, eLock int32) (r int32) {
	return SQLITE_OK
}

func vfsUnlock(tls *libc.TLS, pFile uintptr, eLock int32) (r int32) {
	return SQLITE_OK
}

func vfsCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) (r int32) {
	*(*int32)(unsafe.Pointer(pResOut)) = 0
	return SQLITE_OK
}

// C documentation
//
//	/*
//	** No xFileControl() verbs are implemented by this VFS.
//	*/
func vfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) (r int32) {
	return int32(SQLITE_NOTFOUND)
}

// C documentation
//
//	/*
//	** The xSectorSize() and xDeviceCharacteristics() methods. These two
//	** may return special values allowing SQLite to optimize file-system
//	** access to some extent. But it is also safe to simply return 0.
//	*/
func vfsSectorSize(tls *libc.TLS, pFile uintptr) (r int32) {
	return 0
}

func vfsDeviceCharacteristics(tls *libc.TLS, pFile uintptr) (r int32) {
	return 0
}

// C documentation
//
//	/*
//	** Delete the file identified by argument zPath. If the dirSync parameter
//	** is non-zero, then ensure the file-system modification to delete the
//	** file has been synced to disk before returning.
//	*/
func vfsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) (r int32) {
	bp := tls.Alloc(4128)
	defer tls.Free(4128)
	var dfd, i, rc, v2 int32
	var _ /* zDir at bp+0 */ [4097]int8
	_, _, _, _ = dfd, i, rc, v2
	libc.X__builtin_printf(tls, __ccgo_ts, libc.VaList(bp+4112, uintptr(unsafe.Pointer(&__func__4)), int32(473)))
	libc.X__builtin_abort(tls) /* Return code */
	rc = libc.Xunlink(tls, zPath)
	if rc != 0 && *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) == int32(ENOENT) {
		return SQLITE_OK
	}
	if rc == 0 && dirSync != 0 { /* Name of directory containing file zPath */
		/* Figure out the directory name from the path of the file deleted. */
		sqlite3.Xsqlite3_snprintf(tls, int32(MAXPATHNAME), bp, __ccgo_ts+67, libc.VaList(bp+4112, zPath))
		(*(*[4097]int8)(unsafe.Pointer(bp)))[int32(MAXPATHNAME)] = int8('\000')
		i = int32(libc.Xstrlen(tls, bp))
		for {
			if !(i > int32(1) && int32((*(*[4097]int8)(unsafe.Pointer(bp)))[i]) != int32('/')) {
				break
			}
			goto _1
		_1:
			;
			i++
		}
		(*(*[4097]int8)(unsafe.Pointer(bp)))[i] = int8('\000')
		/* Open a file-descriptor on the directory. Sync. Close. */
		dfd = libc.Xopen(tls, bp, O_RDONLY, libc.VaList(bp+4112, 0))
		if dfd < 0 {
			rc = -int32(1)
		} else {
			rc = libc.Xfsync(tls, dfd)
			libc.Xclose(tls, dfd)
		}
	}
	if rc == 0 {
		v2 = SQLITE_OK
	} else {
		v2 = libc.Int32FromInt32(SQLITE_IOERR) | libc.Int32FromInt32(10)<<libc.Int32FromInt32(8)
	}
	return v2
}

var __func__4 = [10]int8{'v', 'f', 's', 'D', 'e', 'l', 'e', 't', 'e'}

// C documentation
//
//	/*
//	** The following four VFS methods:
//	**
//	**   xDlOpen
//	**   xDlError
//	**   xDlSym
//	**   xDlClose
//	**
//	** are supposed to implement the functionality needed by SQLite to load
//	** extensions compiled as shared objects. This simple VFS does not support
//	** this functionality, so the following functions are no-ops.
//	*/
func vfsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) (r uintptr) {
	return uintptr(0)
}

func vfsDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) {
	sqlite3.Xsqlite3_snprintf(tls, nByte, zErrMsg, __ccgo_ts+70, 0)
	*(*int8)(unsafe.Pointer(zErrMsg + uintptr(nByte-int32(1)))) = int8('\000')
}

func vfsDlSym(tls *libc.TLS, pVfs uintptr, pH uintptr, z uintptr) (r uintptr) {
	return uintptr(0)
}

func vfsDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) {
	return
}

// C documentation
//
//	/*
//	** Parameter zByte points to a buffer nByte bytes in size. Populate this
//	** buffer with pseudo-random data.
//	*/
func vfsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zByte uintptr) (r int32) {
	return SQLITE_OK
}

// C documentation
//
//	/*
//	** Sleep for at least nMicro microseconds. Return the (approximate) number
//	** of microseconds slept for.
//	*/
func vfsSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) (r int32) {
	libc.Xsleep(tls, uint32(nMicro/int32(1000000)))
	libc.Xusleep(tls, uint32(nMicro%int32(1000000)))
	return nMicro
}

// C documentation
//
//	/*
//	** Set *pTime to the current UTC time expressed as a Julian day. Return
//	** SQLITE_OK if successful, or an error code otherwise.
//	**
//	**   http://en.wikipedia.org/wiki/Julian_day
//	**
//	** This implementation is not very good. The current time is rounded to
//	** an integer number of seconds. Also, assuming time_t is a signed 32-bit
//	** value, it will stop working some time in the year 2038 AD (the so-called
//	** "year 2038" problem that afflicts systems that store time this way).
//	*/
func vfsCurrentTime(tls *libc.TLS, pVfs uintptr, pTime uintptr) (r int32) {
	var t time_t
	_ = t
	t = libc.Xtime(tls, uintptr(0))
	*(*float64)(unsafe.Pointer(pTime)) = float64(float64(t))/float64(86400) + float64(2.4405875e+06)
	return SQLITE_OK
}

// C documentation
//
//	/*
//	** This function returns a pointer to the VFS implemented in this file.
//	** To make the VFS available to SQLite:
//	**
//	**   sqlite3_vfs_register(sqlite3_fsFS(), 0);
//	*/
func Xsqlite3_fsFS(tls *libc.TLS, zName uintptr, pAppData uintptr) (r uintptr) {
	var p uintptr = libc.Xmalloc(tls, libc.Tsize_t(unsafe.Sizeof(sqlite3_vfs{})))
	if !(p != 0) {
		return libc.UintptrFromInt32(0)
	}
	*(*sqlite3_vfs)(unsafe.Pointer(p)) = sqlite3_vfs{
		iVersion:      int32(1),
		szOsFile:      int32(48),
		mxPathname:    int32(MAXPATHNAME),
		zName:         zName,
		pAppData:      pAppData,
		xOpen:         __ccgo_fp(vfsOpen),
		xDelete:       __ccgo_fp(vfsDelete),
		xAccess:       __ccgo_fp(vfsAccess),
		xFullPathname: __ccgo_fp(vfsFullPathname),
		xDlOpen:       __ccgo_fp(vfsDlOpen),
		xDlError:      __ccgo_fp(vfsDlError),
		xDlSym:        __ccgo_fp(vfsDlSym),
		xDlClose:      __ccgo_fp(vfsDlClose),
		xRandomness:   __ccgo_fp(vfsRandomness),
		xSleep:        __ccgo_fp(vfsSleep),
		xCurrentTime:  __ccgo_fp(vfsCurrentTime),
	}
	return p
}

func __ccgo_fp(f interface{}) uintptr {
	type iface [2]uintptr
	return (*iface)(unsafe.Pointer(&f))[1]
}

var __ccgo_ts = (*reflect.StringHeader)(unsafe.Pointer(&__ccgo_ts1)).Data

var __ccgo_ts1 = "TODO %s:%i:\n\x00p->nBuffer==0 || p->iBufferOfst+p->nBuffer==i\x00c/vfs.c\x00%s\x00Loadable extensions are not supported\x00"
