flatsql 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "flatsql",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "description": "SQL queries over raw FlatBuffer storage - zero conversion, real-time indexing, pure streaming",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -67,10 +67,11 @@
67
67
  "test:wasm": "node wasm/test-bulk-ingest.mjs",
68
68
  "dev": "tsc --watch",
69
69
  "serve": "vite docs --port 8081",
70
+ "check:nav": "node scripts/check-sdn-stack-nav.mjs flatsql docs/index.html",
70
71
  "bench": "node bench/flatsql-perf.mjs",
71
72
  "bench:perf": "node bench/flatsql-perf.mjs",
72
73
  "bench:perf:profile": "node bench/flatsql-perf.mjs --profile",
73
- "prepublishOnly": "npm run build && npm run test:wasi && npm run test:wasmedge && npm test -- --runInBand --runTestsByPath test/package-exports.test.ts",
74
+ "prepublishOnly": "npm run build && npm run test:wasi && npm run test:wasmedge && npm test -- --runInBand --runTestsByPath test/package-exports.test.ts test/wasm-generic-extractor.test.ts test/wasm-pointer.test.ts",
74
75
  "emsdk:install": "bash scripts/install-emsdk.sh",
75
76
  "emsdk:env": "echo 'Run: source packages/emsdk/emsdk_env.sh'",
76
77
  "test:wasi": "node --experimental-wasm-exnref --experimental-vm-modules node_modules/jest/bin/jest.js --runTestsByPath test/wasi.test.ts test/standalone-wasm-imports.test.ts",
Binary file
Binary file
package/wasm/flatsql.js CHANGED
@@ -1,2 +1,2 @@
1
- async function FlatSQL(moduleArg={}){var moduleRtn;var Module=moduleArg;var ENVIRONMENT_IS_WEB=!!globalThis.window;var ENVIRONMENT_IS_WORKER=!!globalThis.WorkerGlobalScope;var ENVIRONMENT_IS_NODE=globalThis.process?.versions?.node&&globalThis.process?.type!="renderer";if(ENVIRONMENT_IS_NODE){const{createRequire}=await import("module");var require=createRequire(import.meta.url)}var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var _scriptName=import.meta.url;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require("fs");if(_scriptName.startsWith("file:")){scriptDirectory=require("path").dirname(require("url").fileURLToPath(_scriptName))+"/"}readBinary=filename=>{filename=isFileURI(filename)?new URL(filename):filename;var ret=fs.readFileSync(filename);return ret};readAsync=async(filename,binary=true)=>{filename=isFileURI(filename)?new URL(filename):filename;var ret=fs.readFileSync(filename,binary?undefined:"utf8");return ret};if(process.argv.length>1){thisProgram=process.argv[1].replace(/\\/g,"/")}arguments_=process.argv.slice(2);quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){try{scriptDirectory=new URL(".",_scriptName).href}catch{}{if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=async url=>{var response=await fetch(url,{credentials:"same-origin"});if(response.ok){return response.arrayBuffer()}throw new Error(response.status+" : "+response.url)}}}else{}var out=console.log.bind(console);var err=console.error.bind(console);var wasmBinary;var ABORT=false;var isFileURI=filename=>filename.startsWith("file://");var readyPromiseResolve,readyPromiseReject;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var HEAP64,HEAPU64;var runtimeInitialized=false;function updateMemoryViews(){var b=wasmMemory.buffer;HEAP8=new Int8Array(b);HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);HEAPU16=new Uint16Array(b);HEAP32=new Int32Array(b);HEAPU32=new Uint32Array(b);HEAPF32=new Float32Array(b);HEAPF64=new Float64Array(b);HEAP64=new BigInt64Array(b);HEAPU64=new BigUint64Array(b)}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(onPreRuns)}function initRuntime(){runtimeInitialized=true;wasmExports["Da"]()}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(onPostRuns)}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject?.(e);throw e}var wasmBinaryFile;function findWasmBinary(){if(Module["locateFile"]){return locateFile("flatsql.wasm")}return new URL("flatsql.wasm",import.meta.url).href}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}async function getWasmBinary(binaryFile){if(!wasmBinary){try{var response=await readAsync(binaryFile);return new Uint8Array(response)}catch{}}return getBinarySync(binaryFile)}async function instantiateArrayBuffer(binaryFile,imports){try{var binary=await getWasmBinary(binaryFile);var instance=await WebAssembly.instantiate(binary,imports);return instance}catch(reason){err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)}}async function instantiateAsync(binary,binaryFile,imports){if(!binary&&!ENVIRONMENT_IS_NODE){try{var response=fetch(binaryFile,{credentials:"same-origin"});var instantiationResult=await WebAssembly.instantiateStreaming(response,imports);return instantiationResult}catch(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation")}}return instantiateArrayBuffer(binaryFile,imports)}function getWasmImports(){var imports={a:wasmImports};return imports}async function createWasm(){function receiveInstance(instance,module){wasmExports=instance.exports;wasmExports=applySignatureConversions(wasmExports);assignWasmExports(wasmExports);updateMemoryViews();return wasmExports}function receiveInstantiationResult(result){return receiveInstance(result["instance"])}var info=getWasmImports();if(Module["instantiateWasm"]){return new Promise((resolve,reject)=>{Module["instantiateWasm"](info,(inst,mod)=>{resolve(receiveInstance(inst,mod))})})}wasmBinaryFile??=findWasmBinary();var result=await instantiateAsync(wasmBinary,wasmBinaryFile,info);var exports=receiveInstantiationResult(result);return exports}class ExitStatus{name="ExitStatus";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var onPostRuns=[];var addOnPostRun=cb=>onPostRuns.push(cb);var onPreRuns=[];var addOnPreRun=cb=>onPreRuns.push(cb);var noExitRuntime=true;var stackRestore=val=>__emscripten_stack_restore(val);var stackSave=()=>_emscripten_stack_get_current();var exceptionCaught=[];var uncaughtExceptionCount=0;var INT53_MAX=9007199254740992;var INT53_MIN=-9007199254740992;var bigintToI53Checked=num=>num<INT53_MIN||num>INT53_MAX?NaN:Number(num);function ___cxa_begin_catch(ptr){ptr>>>=0;var info=new ExceptionInfo(ptr);if(!info.get_caught()){info.set_caught(true);uncaughtExceptionCount--}info.set_rethrown(false);exceptionCaught.push(info);return ___cxa_get_exception_ptr(ptr)}var exceptionLast=0;var ___cxa_end_catch=()=>{_setThrew(0,0);var info=exceptionCaught.pop();___cxa_decrement_exception_refcount(info.excPtr);exceptionLast=0};class ExceptionInfo{constructor(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24}set_type(type){HEAPU32[this.ptr+4>>>2>>>0]=type}get_type(){return HEAPU32[this.ptr+4>>>2>>>0]}set_destructor(destructor){HEAPU32[this.ptr+8>>>2>>>0]=destructor}get_destructor(){return HEAPU32[this.ptr+8>>>2>>>0]}set_caught(caught){caught=caught?1:0;HEAP8[this.ptr+12>>>0]=caught}get_caught(){return HEAP8[this.ptr+12>>>0]!=0}set_rethrown(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>>0]=rethrown}get_rethrown(){return HEAP8[this.ptr+13>>>0]!=0}init(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor)}set_adjusted_ptr(adjustedPtr){HEAPU32[this.ptr+16>>>2>>>0]=adjustedPtr}get_adjusted_ptr(){return HEAPU32[this.ptr+16>>>2>>>0]}}var setTempRet0=val=>__emscripten_tempret_set(val);var findMatchingCatch=args=>{var thrown=exceptionLast;if(!thrown){setTempRet0(0);return 0}var info=new ExceptionInfo(thrown);info.set_adjusted_ptr(thrown);var thrownType=info.get_type();if(!thrownType){setTempRet0(0);return thrown}for(var caughtType of args){if(caughtType===0||caughtType===thrownType){break}var adjusted_ptr_addr=info.ptr+16;if(___cxa_can_catch(caughtType,thrownType,adjusted_ptr_addr)){setTempRet0(caughtType);return thrown}}setTempRet0(thrownType);return thrown};function ___cxa_find_matching_catch_2(){return findMatchingCatch([])}function ___cxa_find_matching_catch_3(arg0){arg0>>>=0;return findMatchingCatch([arg0])}var ___cxa_rethrow=()=>{var info=exceptionCaught.pop();if(!info){abort("no exception to throw")}var ptr=info.excPtr;if(!info.get_rethrown()){exceptionCaught.push(info);info.set_rethrown(true);info.set_caught(false);uncaughtExceptionCount++}___cxa_increment_exception_refcount(ptr);exceptionLast=ptr;throw exceptionLast};function ___cxa_throw(ptr,type,destructor){ptr>>>=0;type>>>=0;destructor>>>=0;var info=new ExceptionInfo(ptr);info.init(type,destructor);___cxa_increment_exception_refcount(ptr);exceptionLast=ptr;uncaughtExceptionCount++;throw exceptionLast}var ___cxa_uncaught_exceptions=()=>uncaughtExceptionCount;function ___resumeException(ptr){ptr>>>=0;if(!exceptionLast){exceptionLast=ptr}throw exceptionLast}function ___syscall_chmod(path,mode){path>>>=0}function ___syscall_faccessat(dirfd,path,amode,flags){path>>>=0}var ___syscall_fchmod=(fd,mode)=>{};var ___syscall_fchown32=(fd,owner,group)=>{};var UTF8Decoder=globalThis.TextDecoder&&new TextDecoder;var findStringEnd=(heapOrArray,idx,maxBytesToRead,ignoreNul)=>{var maxIdx=idx+maxBytesToRead;if(ignoreNul)return maxIdx;while(heapOrArray[idx]&&!(idx>=maxIdx))++idx;return idx};var UTF8ArrayToString=(heapOrArray,idx=0,maxBytesToRead,ignoreNul)=>{idx>>>=0;var endPtr=findStringEnd(heapOrArray,idx,maxBytesToRead,ignoreNul);if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx<endPtr){var u0=heapOrArray[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heapOrArray[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heapOrArray[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heapOrArray[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead,ignoreNul)=>{ptr>>>=0;return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead,ignoreNul):""};var SYSCALLS={varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};function ___syscall_fcntl64(fd,cmd,varargs){varargs>>>=0;SYSCALLS.varargs=varargs;return 0}function ___syscall_fstat64(fd,buf){buf>>>=0}function ___syscall_ftruncate64(fd,length){length=bigintToI53Checked(length)}function ___syscall_getcwd(buf,size){buf>>>=0;size>>>=0}function ___syscall_lstat64(path,buf){path>>>=0;buf>>>=0}function ___syscall_mkdirat(dirfd,path,mode){path>>>=0}function ___syscall_newfstatat(dirfd,path,buf,flags){path>>>=0;buf>>>=0}function ___syscall_openat(dirfd,path,flags,varargs){path>>>=0;varargs>>>=0;SYSCALLS.varargs=varargs}function ___syscall_readlinkat(dirfd,path,buf,bufsize){path>>>=0;buf>>>=0;bufsize>>>=0}function ___syscall_rmdir(path){path>>>=0}function ___syscall_stat64(path,buf){path>>>=0;buf>>>=0}function ___syscall_unlinkat(dirfd,path,flags){path>>>=0}function ___syscall_utimensat(dirfd,path,times,flags){path>>>=0;times>>>=0}var __abort_js=()=>abort("");var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};function __localtime_js(time,tmPtr){time=bigintToI53Checked(time);tmPtr>>>=0;var date=new Date(time*1e3);HEAP32[tmPtr>>>2>>>0]=date.getSeconds();HEAP32[tmPtr+4>>>2>>>0]=date.getMinutes();HEAP32[tmPtr+8>>>2>>>0]=date.getHours();HEAP32[tmPtr+12>>>2>>>0]=date.getDate();HEAP32[tmPtr+16>>>2>>>0]=date.getMonth();HEAP32[tmPtr+20>>>2>>>0]=date.getFullYear()-1900;HEAP32[tmPtr+24>>>2>>>0]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>>2>>>0]=yday;HEAP32[tmPtr+36>>>2>>>0]=-(date.getTimezoneOffset()*60);var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>>2>>>0]=dst}var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{outIdx>>>=0;if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.codePointAt(i);if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++>>>0]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++>>>0]=192|u>>6;heap[outIdx++>>>0]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++>>>0]=224|u>>12;heap[outIdx++>>>0]=128|u>>6&63;heap[outIdx++>>>0]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++>>>0]=240|u>>18;heap[outIdx++>>>0]=128|u>>12&63;heap[outIdx++>>>0]=128|u>>6&63;heap[outIdx++>>>0]=128|u&63;i++}}heap[outIdx>>>0]=0;return outIdx-startIdx};var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);var __tzset_js=function(timezone,daylight,std_name,dst_name){timezone>>>=0;daylight>>>=0;std_name>>>=0;dst_name>>>=0;var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>>2>>>0]=stdTimezoneOffset*60;HEAP32[daylight>>>2>>>0]=Number(winterOffset!=summerOffset);var extractZone=timezoneOffset=>{var sign=timezoneOffset>=0?"-":"+";var absOffset=Math.abs(timezoneOffset);var hours=String(Math.floor(absOffset/60)).padStart(2,"0");var minutes=String(absOffset%60).padStart(2,"0");return`UTC${sign}${hours}${minutes}`};var winterName=extractZone(winterOffset);var summerName=extractZone(summerOffset);if(summerOffset<winterOffset){stringToUTF8(winterName,std_name,17);stringToUTF8(summerName,dst_name,17)}else{stringToUTF8(winterName,dst_name,17);stringToUTF8(summerName,std_name,17)}};var _emscripten_get_now=()=>performance.now();var _emscripten_date_now=()=>Date.now();var nowIsMonotonic=1;var checkWasiClock=clock_id=>clock_id>=0&&clock_id<=3;function _clock_time_get(clk_id,ignored_precision,ptime){ignored_precision=bigintToI53Checked(ignored_precision);ptime>>>=0;if(!checkWasiClock(clk_id)){return 28}var now;if(clk_id===0){now=_emscripten_date_now()}else if(nowIsMonotonic){now=_emscripten_get_now()}else{return 52}var nsec=Math.round(now*1e3*1e3);HEAP64[ptime>>>3>>>0]=BigInt(nsec);return 0}var getHeapMax=()=>4294901760;var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var growMemory=size=>{var oldHeapSize=wasmMemory.buffer.byteLength;var pages=(size-oldHeapSize+65535)/65536|0;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};function _emscripten_resize_heap(requestedSize){requestedSize>>>=0;var oldSize=HEAPU8.length;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignMemory(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false}var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(globalThis.navigator?.language??"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};function _environ_get(__environ,environ_buf){__environ>>>=0;environ_buf>>>=0;var bufSize=0;var envp=0;for(var string of getEnvStrings()){var ptr=environ_buf+bufSize;HEAPU32[__environ+envp>>>2>>>0]=ptr;bufSize+=stringToUTF8(string,ptr,Infinity)+1;envp+=4}return 0}var lengthBytesUTF8=str=>{var len=0;for(var i=0;i<str.length;++i){var c=str.charCodeAt(i);if(c<=127){len++}else if(c<=2047){len+=2}else if(c>=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};function _environ_sizes_get(penviron_count,penviron_buf_size){penviron_count>>>=0;penviron_buf_size>>>=0;var strings=getEnvStrings();HEAPU32[penviron_count>>>2>>>0]=strings.length;var bufSize=0;for(var string of strings){bufSize+=lengthBytesUTF8(string)+1}HEAPU32[penviron_buf_size>>>2>>>0]=bufSize;return 0}var _fd_close=fd=>52;function _fd_fdstat_get(fd,pbuf){pbuf>>>=0;var rightsBase=0;var rightsInheriting=0;var flags=0;{var type=2;if(fd==0){rightsBase=2}else if(fd==1||fd==2){rightsBase=64}flags=1}HEAP8[pbuf>>>0]=type;HEAP16[pbuf+2>>>1>>>0]=flags;HEAP64[pbuf+8>>>3>>>0]=BigInt(rightsBase);HEAP64[pbuf+16>>>3>>>0]=BigInt(rightsInheriting);return 0}function _fd_read(fd,iov,iovcnt,pnum){iov>>>=0;iovcnt>>>=0;pnum>>>=0;return 52}function _fd_seek(fd,offset,whence,newOffset){offset=bigintToI53Checked(offset);newOffset>>>=0;return 70}var _fd_sync=fd=>52;var printCharBuffers=[null,[],[]];var printChar=(stream,curr)=>{var buffer=printCharBuffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer));buffer.length=0}else{buffer.push(curr)}};function _fd_write(fd,iov,iovcnt,pnum){iov>>>=0;iovcnt>>>=0;pnum>>>=0;var num=0;for(var i=0;i<iovcnt;i++){var ptr=HEAPU32[iov>>>2>>>0];var len=HEAPU32[iov+4>>>2>>>0];iov+=8;for(var j=0;j<len;j++){printChar(fd,HEAPU8[ptr+j>>>0])}num+=len}HEAPU32[pnum>>>2>>>0]=num;return 0}function _llvm_eh_typeid_for(type){type>>>=0;return type}var getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer>>>0)};var stackAlloc=sz=>__emscripten_stack_alloc(sz);var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="pointer")return ret>>>0;if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func(...cArgs);function onDone(ret){if(stack!==0)stackRestore(stack);return convertReturnValue(ret)}ret=onDone(ret);return ret};var cwrap=(ident,returnType,argTypes,opts)=>{var numericArgs=!argTypes||argTypes.every(type=>type==="number"||type==="boolean");var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return(...args)=>ccall(ident,returnType,argTypes,args,opts)};{if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(Module["print"])out=Module["print"];if(Module["printErr"])err=Module["printErr"];if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].shift()()}}}Module["ccall"]=ccall;Module["cwrap"]=cwrap;Module["UTF8ToString"]=UTF8ToString;Module["stringToUTF8"]=stringToUTF8;Module["lengthBytesUTF8"]=lengthBytesUTF8;var _free,_malloc,_flatsql_create_db,_flatsql_destroy_db,_flatsql_register_file_id,_flatsql_enable_demo_extractors,_flatsql_ingest,_flatsql_ingest_one,_flatsql_register_source,_flatsql_create_unified_views,_flatsql_ingest_with_source,_flatsql_ingest_one_with_source,_flatsql_query,_flatsql_query_params,_flatsql_query_many,_flatsql_batch_result_count,_flatsql_select_batch_result,_flatsql_get_error,_flatsql_build_query_cache_key,_flatsql_build_response_artifact_cache_key,_flatsql_register_query_template,_flatsql_query_template,_flatsql_clear_query_cache,_flatsql_configure_query_cache,_flatsql_query_cache_hits,_flatsql_query_cache_misses,_flatsql_query_cache_size,_flatsql_query_cache_generation,_flatsql_query_cache_max_entries,_flatsql_query_cache_max_rows,_flatsql_result_column_count,_flatsql_result_row_count,_flatsql_result_column_name,_flatsql_result_cell_type,_flatsql_result_cell_number,_flatsql_result_cell_string,_flatsql_result_cell_blob,_flatsql_result_cell_blob_size,_flatsql_export_data,_flatsql_query_raw_flatbuffer_stream,_flatsql_response_artifact_data,_flatsql_response_artifact_size,_flatsql_response_artifact_row_count,_flatsql_response_artifact_column_count,_flatsql_export_size,_flatsql_load_and_rebuild,_flatsql_reserve_storage,_flatsql_load_from_db,_flatsql_create_test_user,_flatsql_test_buffer_size,_flatsql_create_test_post,_flatsql_create_test_mpe,_flatsql_create_test_telemetry,_flatsql_create_test_publish_event,_flatsql_get_stats_count,_flatsql_get_stat_table_name,_flatsql_get_stat_file_id,_flatsql_get_stat_record_count,_flatsql_reset_ingest_profile,_flatsql_get_ingest_profile_record_count,_flatsql_get_ingest_profile_byte_count,_flatsql_get_ingest_profile_decode_nanos,_flatsql_get_ingest_profile_append_nanos,_flatsql_get_ingest_profile_index_nanos,_flatsql_mark_deleted,_flatsql_get_deleted_count,_flatsql_clear_tombstones,_flatsql_get_sources_count,_flatsql_get_source_name,_flatsql_get_flatbuffer_by_id,_flatsql_get_flatbuffer_by_email,_flatsql_get_flatbuffer_by_index,_flatsql_get_raw_flatbuffer_size,_flatsql_get_raw_flatbuffer_sequence,_flatsql_get_storage_buffer,_flatsql_get_storage_size,_flatsql_set_encryption_key,_flatsql_is_encrypted,_flatsql_encrypt_buffer,_flatsql_decrypt_buffer,_flatsql_set_hmac_verification,_flatsql_is_hmac_enabled,_flatsql_compute_hmac,_flatsql_verify_hmac,_setThrew,__emscripten_tempret_set,__emscripten_stack_restore,__emscripten_stack_alloc,_emscripten_stack_get_current,___cxa_decrement_exception_refcount,___cxa_increment_exception_refcount,___cxa_can_catch,___cxa_get_exception_ptr,dynCall_v,dynCall_ii,dynCall_iii,dynCall_viiiiii,dynCall_vii,dynCall_viii,dynCall_iiii,dynCall_iiiiii,dynCall_vi,dynCall_viiii,dynCall_jii,dynCall_viiiii,dynCall_iiiiiii,dynCall_iiiii,dynCall_iiij,dynCall_iiid,dynCall_viijij,dynCall_viiijj,dynCall_jiiiii,dynCall_viiiiiiiiii,dynCall_vij,dynCall_iiji,dynCall_iijiii,dynCall_viij,dynCall_iid,dynCall_i,dynCall_dii,dynCall_di,dynCall_viidi,dynCall_vid,dynCall_vidd,dynCall_dd,dynCall_ddd,dynCall_jiiii,dynCall_viiiiiiii,dynCall_iiiddddddddi,dynCall_iijj,dynCall_iiiij,dynCall_iij,dynCall_iijii,dynCall_iidiiii,dynCall_j,dynCall_iiiiid,dynCall_viijii,dynCall_iiiiiiii,dynCall_iiiiiiiiiii,dynCall_iiiiiiiiiiiii,dynCall_fiii,dynCall_diii,dynCall_viiiiiii,dynCall_iiiiiiiiiiii,dynCall_viiiiiiiiiiiiiii,dynCall_iiiiiiiii,dynCall_iiiiij,dynCall_iiiiijj,dynCall_iiiiiijj,memory,__indirect_function_table,wasmMemory,wasmTable;function assignWasmExports(wasmExports){_free=Module["_free"]=wasmExports["Fa"];_malloc=Module["_malloc"]=wasmExports["Ga"];_flatsql_create_db=Module["_flatsql_create_db"]=wasmExports["Ha"];_flatsql_destroy_db=Module["_flatsql_destroy_db"]=wasmExports["Ia"];_flatsql_register_file_id=Module["_flatsql_register_file_id"]=wasmExports["Ja"];_flatsql_enable_demo_extractors=Module["_flatsql_enable_demo_extractors"]=wasmExports["Ka"];_flatsql_ingest=Module["_flatsql_ingest"]=wasmExports["La"];_flatsql_ingest_one=Module["_flatsql_ingest_one"]=wasmExports["Ma"];_flatsql_register_source=Module["_flatsql_register_source"]=wasmExports["Na"];_flatsql_create_unified_views=Module["_flatsql_create_unified_views"]=wasmExports["Oa"];_flatsql_ingest_with_source=Module["_flatsql_ingest_with_source"]=wasmExports["Pa"];_flatsql_ingest_one_with_source=Module["_flatsql_ingest_one_with_source"]=wasmExports["Qa"];_flatsql_query=Module["_flatsql_query"]=wasmExports["Ra"];_flatsql_query_params=Module["_flatsql_query_params"]=wasmExports["Sa"];_flatsql_query_many=Module["_flatsql_query_many"]=wasmExports["Ta"];_flatsql_batch_result_count=Module["_flatsql_batch_result_count"]=wasmExports["Ua"];_flatsql_select_batch_result=Module["_flatsql_select_batch_result"]=wasmExports["Va"];_flatsql_get_error=Module["_flatsql_get_error"]=wasmExports["Wa"];_flatsql_build_query_cache_key=Module["_flatsql_build_query_cache_key"]=wasmExports["Xa"];_flatsql_build_response_artifact_cache_key=Module["_flatsql_build_response_artifact_cache_key"]=wasmExports["Ya"];_flatsql_register_query_template=Module["_flatsql_register_query_template"]=wasmExports["Za"];_flatsql_query_template=Module["_flatsql_query_template"]=wasmExports["_a"];_flatsql_clear_query_cache=Module["_flatsql_clear_query_cache"]=wasmExports["$a"];_flatsql_configure_query_cache=Module["_flatsql_configure_query_cache"]=wasmExports["ab"];_flatsql_query_cache_hits=Module["_flatsql_query_cache_hits"]=wasmExports["bb"];_flatsql_query_cache_misses=Module["_flatsql_query_cache_misses"]=wasmExports["cb"];_flatsql_query_cache_size=Module["_flatsql_query_cache_size"]=wasmExports["db"];_flatsql_query_cache_generation=Module["_flatsql_query_cache_generation"]=wasmExports["eb"];_flatsql_query_cache_max_entries=Module["_flatsql_query_cache_max_entries"]=wasmExports["fb"];_flatsql_query_cache_max_rows=Module["_flatsql_query_cache_max_rows"]=wasmExports["gb"];_flatsql_result_column_count=Module["_flatsql_result_column_count"]=wasmExports["hb"];_flatsql_result_row_count=Module["_flatsql_result_row_count"]=wasmExports["ib"];_flatsql_result_column_name=Module["_flatsql_result_column_name"]=wasmExports["jb"];_flatsql_result_cell_type=Module["_flatsql_result_cell_type"]=wasmExports["kb"];_flatsql_result_cell_number=Module["_flatsql_result_cell_number"]=wasmExports["lb"];_flatsql_result_cell_string=Module["_flatsql_result_cell_string"]=wasmExports["mb"];_flatsql_result_cell_blob=Module["_flatsql_result_cell_blob"]=wasmExports["nb"];_flatsql_result_cell_blob_size=Module["_flatsql_result_cell_blob_size"]=wasmExports["ob"];_flatsql_export_data=Module["_flatsql_export_data"]=wasmExports["pb"];_flatsql_query_raw_flatbuffer_stream=Module["_flatsql_query_raw_flatbuffer_stream"]=wasmExports["qb"];_flatsql_response_artifact_data=Module["_flatsql_response_artifact_data"]=wasmExports["rb"];_flatsql_response_artifact_size=Module["_flatsql_response_artifact_size"]=wasmExports["sb"];_flatsql_response_artifact_row_count=Module["_flatsql_response_artifact_row_count"]=wasmExports["tb"];_flatsql_response_artifact_column_count=Module["_flatsql_response_artifact_column_count"]=wasmExports["ub"];_flatsql_export_size=Module["_flatsql_export_size"]=wasmExports["vb"];_flatsql_load_and_rebuild=Module["_flatsql_load_and_rebuild"]=wasmExports["wb"];_flatsql_reserve_storage=Module["_flatsql_reserve_storage"]=wasmExports["xb"];_flatsql_load_from_db=Module["_flatsql_load_from_db"]=wasmExports["yb"];_flatsql_create_test_user=Module["_flatsql_create_test_user"]=wasmExports["zb"];_flatsql_test_buffer_size=Module["_flatsql_test_buffer_size"]=wasmExports["Ab"];_flatsql_create_test_post=Module["_flatsql_create_test_post"]=wasmExports["Bb"];_flatsql_create_test_mpe=Module["_flatsql_create_test_mpe"]=wasmExports["Cb"];_flatsql_create_test_telemetry=Module["_flatsql_create_test_telemetry"]=wasmExports["Db"];_flatsql_create_test_publish_event=Module["_flatsql_create_test_publish_event"]=wasmExports["Eb"];_flatsql_get_stats_count=Module["_flatsql_get_stats_count"]=wasmExports["Fb"];_flatsql_get_stat_table_name=Module["_flatsql_get_stat_table_name"]=wasmExports["Gb"];_flatsql_get_stat_file_id=Module["_flatsql_get_stat_file_id"]=wasmExports["Hb"];_flatsql_get_stat_record_count=Module["_flatsql_get_stat_record_count"]=wasmExports["Ib"];_flatsql_reset_ingest_profile=Module["_flatsql_reset_ingest_profile"]=wasmExports["Jb"];_flatsql_get_ingest_profile_record_count=Module["_flatsql_get_ingest_profile_record_count"]=wasmExports["Kb"];_flatsql_get_ingest_profile_byte_count=Module["_flatsql_get_ingest_profile_byte_count"]=wasmExports["Lb"];_flatsql_get_ingest_profile_decode_nanos=Module["_flatsql_get_ingest_profile_decode_nanos"]=wasmExports["Mb"];_flatsql_get_ingest_profile_append_nanos=Module["_flatsql_get_ingest_profile_append_nanos"]=wasmExports["Nb"];_flatsql_get_ingest_profile_index_nanos=Module["_flatsql_get_ingest_profile_index_nanos"]=wasmExports["Ob"];_flatsql_mark_deleted=Module["_flatsql_mark_deleted"]=wasmExports["Pb"];_flatsql_get_deleted_count=Module["_flatsql_get_deleted_count"]=wasmExports["Qb"];_flatsql_clear_tombstones=Module["_flatsql_clear_tombstones"]=wasmExports["Rb"];_flatsql_get_sources_count=Module["_flatsql_get_sources_count"]=wasmExports["Sb"];_flatsql_get_source_name=Module["_flatsql_get_source_name"]=wasmExports["Tb"];_flatsql_get_flatbuffer_by_id=Module["_flatsql_get_flatbuffer_by_id"]=wasmExports["Ub"];_flatsql_get_flatbuffer_by_email=Module["_flatsql_get_flatbuffer_by_email"]=wasmExports["Vb"];_flatsql_get_flatbuffer_by_index=Module["_flatsql_get_flatbuffer_by_index"]=wasmExports["Wb"];_flatsql_get_raw_flatbuffer_size=Module["_flatsql_get_raw_flatbuffer_size"]=wasmExports["Xb"];_flatsql_get_raw_flatbuffer_sequence=Module["_flatsql_get_raw_flatbuffer_sequence"]=wasmExports["Yb"];_flatsql_get_storage_buffer=Module["_flatsql_get_storage_buffer"]=wasmExports["Zb"];_flatsql_get_storage_size=Module["_flatsql_get_storage_size"]=wasmExports["_b"];_flatsql_set_encryption_key=Module["_flatsql_set_encryption_key"]=wasmExports["$b"];_flatsql_is_encrypted=Module["_flatsql_is_encrypted"]=wasmExports["ac"];_flatsql_encrypt_buffer=Module["_flatsql_encrypt_buffer"]=wasmExports["bc"];_flatsql_decrypt_buffer=Module["_flatsql_decrypt_buffer"]=wasmExports["cc"];_flatsql_set_hmac_verification=Module["_flatsql_set_hmac_verification"]=wasmExports["dc"];_flatsql_is_hmac_enabled=Module["_flatsql_is_hmac_enabled"]=wasmExports["ec"];_flatsql_compute_hmac=Module["_flatsql_compute_hmac"]=wasmExports["fc"];_flatsql_verify_hmac=Module["_flatsql_verify_hmac"]=wasmExports["gc"];_setThrew=wasmExports["hc"];__emscripten_tempret_set=wasmExports["ic"];__emscripten_stack_restore=wasmExports["jc"];__emscripten_stack_alloc=wasmExports["kc"];_emscripten_stack_get_current=wasmExports["lc"];___cxa_decrement_exception_refcount=wasmExports["mc"];___cxa_increment_exception_refcount=wasmExports["nc"];___cxa_can_catch=wasmExports["oc"];___cxa_get_exception_ptr=wasmExports["pc"];dynCall_v=wasmExports["qc"];dynCall_ii=wasmExports["rc"];dynCall_iii=wasmExports["sc"];dynCall_viiiiii=wasmExports["tc"];dynCall_vii=wasmExports["uc"];dynCall_viii=wasmExports["vc"];dynCall_iiii=wasmExports["wc"];dynCall_iiiiii=wasmExports["xc"];dynCall_vi=wasmExports["yc"];dynCall_viiii=wasmExports["zc"];dynCall_jii=wasmExports["Ac"];dynCall_viiiii=wasmExports["Bc"];dynCall_iiiiiii=wasmExports["Cc"];dynCall_iiiii=wasmExports["Dc"];dynCall_iiij=wasmExports["Ec"];dynCall_iiid=wasmExports["Fc"];dynCall_viijij=wasmExports["Gc"];dynCall_viiijj=wasmExports["Hc"];dynCall_jiiiii=wasmExports["Ic"];dynCall_viiiiiiiiii=wasmExports["Jc"];dynCall_vij=wasmExports["Kc"];dynCall_iiji=wasmExports["Lc"];dynCall_iijiii=wasmExports["Mc"];dynCall_viij=wasmExports["Nc"];dynCall_iid=wasmExports["Oc"];dynCall_i=wasmExports["Pc"];dynCall_dii=wasmExports["Qc"];dynCall_di=wasmExports["Rc"];dynCall_viidi=wasmExports["Sc"];dynCall_vid=wasmExports["Tc"];dynCall_vidd=wasmExports["dynCall_vidd"];dynCall_dd=wasmExports["dynCall_dd"];dynCall_ddd=wasmExports["dynCall_ddd"];dynCall_jiiii=wasmExports["Uc"];dynCall_viiiiiiii=wasmExports["Vc"];dynCall_iiiddddddddi=wasmExports["Wc"];dynCall_iijj=wasmExports["dynCall_iijj"];dynCall_iiiij=wasmExports["dynCall_iiiij"];dynCall_iij=wasmExports["dynCall_iij"];dynCall_iijii=wasmExports["dynCall_iijii"];dynCall_iidiiii=wasmExports["dynCall_iidiiii"];dynCall_j=wasmExports["Xc"];dynCall_iiiiid=wasmExports["Yc"];dynCall_viijii=wasmExports["dynCall_viijii"];dynCall_iiiiiiii=wasmExports["Zc"];dynCall_iiiiiiiiiii=wasmExports["dynCall_iiiiiiiiiii"];dynCall_iiiiiiiiiiiii=wasmExports["dynCall_iiiiiiiiiiiii"];dynCall_fiii=wasmExports["_c"];dynCall_diii=wasmExports["$c"];dynCall_viiiiiii=wasmExports["ad"];dynCall_iiiiiiiiiiii=wasmExports["bd"];dynCall_viiiiiiiiiiiiiii=wasmExports["cd"];dynCall_iiiiiiiii=wasmExports["dynCall_iiiiiiiii"];dynCall_iiiiij=wasmExports["dynCall_iiiiij"];dynCall_iiiiijj=wasmExports["dynCall_iiiiijj"];dynCall_iiiiiijj=wasmExports["dynCall_iiiiiijj"];memory=wasmMemory=wasmExports["Ca"];__indirect_function_table=wasmTable=wasmExports["Ea"]}var wasmImports={o:___cxa_begin_catch,p:___cxa_end_catch,a:___cxa_find_matching_catch_2,g:___cxa_find_matching_catch_3,P:___cxa_rethrow,m:___cxa_throw,W:___cxa_uncaught_exceptions,d:___resumeException,ua:___syscall_chmod,wa:___syscall_faccessat,va:___syscall_fchmod,ta:___syscall_fchown32,x:___syscall_fcntl64,sa:___syscall_fstat64,na:___syscall_ftruncate64,ma:___syscall_getcwd,pa:___syscall_lstat64,ia:___syscall_mkdirat,qa:___syscall_newfstatat,ea:___syscall_openat,ca:___syscall_readlinkat,ba:___syscall_rmdir,ra:___syscall_stat64,$:___syscall_unlinkat,_:___syscall_utimensat,T:__abort_js,ga:__localtime_js,ha:__tzset_js,fa:_clock_time_get,M:_emscripten_date_now,L:_emscripten_get_now,Y:_emscripten_resize_heap,ka:_environ_get,la:_environ_sizes_get,N:_fd_close,Z:_fd_fdstat_get,da:_fd_read,ja:_fd_seek,oa:_fd_sync,aa:_fd_write,w:invoke_di,G:invoke_dii,F:invoke_diii,J:invoke_fiii,t:invoke_i,c:invoke_ii,H:invoke_iid,e:invoke_iii,E:invoke_iiid,xa:invoke_iiiddddddddi,i:invoke_iiii,l:invoke_iiiii,V:invoke_iiiiid,n:invoke_iiiiii,s:invoke_iiiiiii,K:invoke_iiiiiiii,C:invoke_iiiiiiiiiiii,Ba:invoke_iiij,z:invoke_iiji,za:invoke_iijiii,X:invoke_j,I:invoke_jii,A:invoke_jiiii,Q:invoke_jiiiii,f:invoke_v,k:invoke_vi,D:invoke_vid,b:invoke_vii,O:invoke_viidi,h:invoke_viii,j:invoke_viiii,u:invoke_viiiii,r:invoke_viiiiii,v:invoke_viiiiiii,ya:invoke_viiiiiiii,y:invoke_viiiiiiiiii,B:invoke_viiiiiiiiiiiiiii,R:invoke_viiijj,S:invoke_viij,Aa:invoke_viijij,U:invoke_vij,q:_llvm_eh_typeid_for};function invoke_v(index){var sp=stackSave();try{dynCall_v(index)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_ii(index,a1){var sp=stackSave();try{return dynCall_ii(index,a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iii(index,a1,a2){var sp=stackSave();try{return dynCall_iii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{dynCall_viiiiii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vii(index,a1,a2){var sp=stackSave();try{dynCall_vii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vij(index,a1,a2){var sp=stackSave();try{dynCall_vij(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiii(index,a1,a2,a3){var sp=stackSave();try{return dynCall_iiii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viii(index,a1,a2,a3){var sp=stackSave();try{dynCall_viii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_iiiiii(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vi(index,a1){var sp=stackSave();try{dynCall_vi(index,a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiii(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_viiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_jii(index,a1,a2){var sp=stackSave();try{return dynCall_jii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0);return 0n}}function invoke_viiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{dynCall_viiiii(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_iiiiiii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_iiiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiij(index,a1,a2,a3){var sp=stackSave();try{return dynCall_iiij(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiid(index,a1,a2,a3){var sp=stackSave();try{return dynCall_iiid(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viijij(index,a1,a2,a3,a4,a5){var sp=stackSave();try{dynCall_viijij(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viij(index,a1,a2,a3){var sp=stackSave();try{dynCall_viij(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiijj(index,a1,a2,a3,a4,a5){var sp=stackSave();try{dynCall_viiijj(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_jiiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_jiiiii(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0);return 0n}}function invoke_viiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{dynCall_viiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiji(index,a1,a2,a3){var sp=stackSave();try{return dynCall_iiji(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iijiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_iijiii(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iid(index,a1,a2){var sp=stackSave();try{return dynCall_iid(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_i(index){var sp=stackSave();try{return dynCall_i(index)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_dii(index,a1,a2){var sp=stackSave();try{return dynCall_dii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_di(index,a1){var sp=stackSave();try{return dynCall_di(index,a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viidi(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_viidi(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vid(index,a1,a2){var sp=stackSave();try{dynCall_vid(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_jiiii(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_jiiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0);return 0n}}function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{dynCall_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiddddddddi(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){var sp=stackSave();try{return dynCall_iiiddddddddi(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_j(index){var sp=stackSave();try{return dynCall_j(index)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0);return 0n}}function invoke_iiiiid(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_iiiiid(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return dynCall_iiiiiiii(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_fiii(index,a1,a2,a3){var sp=stackSave();try{return dynCall_fiii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_diii(index,a1,a2,a3){var sp=stackSave();try{return dynCall_diii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{dynCall_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){var sp=stackSave();try{return dynCall_iiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15){var sp=stackSave();try{dynCall_viiiiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function applySignatureConversions(wasmExports){wasmExports=Object.assign({},wasmExports);var makeWrapper_pp=f=>a0=>f(a0)>>>0;var makeWrapper_p=f=>()=>f()>>>0;wasmExports["Ga"]=makeWrapper_pp(wasmExports["Ga"]);wasmExports["kc"]=makeWrapper_pp(wasmExports["kc"]);wasmExports["lc"]=makeWrapper_p(wasmExports["lc"]);wasmExports["pc"]=makeWrapper_pp(wasmExports["pc"]);return wasmExports}function run(){preRun();function doRun(){Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve?.(Module);Module["onRuntimeInitialized"]?.();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(()=>{setTimeout(()=>Module["setStatus"](""),1);doRun()},1)}else{doRun()}}var wasmExports;wasmExports=await (createWasm());run();if(runtimeInitialized){moduleRtn=Module}else{moduleRtn=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject})}
1
+ async function FlatSQL(moduleArg={}){var moduleRtn;var Module=moduleArg;var ENVIRONMENT_IS_WEB=!!globalThis.window;var ENVIRONMENT_IS_WORKER=!!globalThis.WorkerGlobalScope;var ENVIRONMENT_IS_NODE=globalThis.process?.versions?.node&&globalThis.process?.type!="renderer";if(ENVIRONMENT_IS_NODE){const{createRequire}=await import("module");var require=createRequire(import.meta.url)}var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var _scriptName=import.meta.url;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require("fs");if(_scriptName.startsWith("file:")){scriptDirectory=require("path").dirname(require("url").fileURLToPath(_scriptName))+"/"}readBinary=filename=>{filename=isFileURI(filename)?new URL(filename):filename;var ret=fs.readFileSync(filename);return ret};readAsync=async(filename,binary=true)=>{filename=isFileURI(filename)?new URL(filename):filename;var ret=fs.readFileSync(filename,binary?undefined:"utf8");return ret};if(process.argv.length>1){thisProgram=process.argv[1].replace(/\\/g,"/")}arguments_=process.argv.slice(2);quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){try{scriptDirectory=new URL(".",_scriptName).href}catch{}{if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=async url=>{var response=await fetch(url,{credentials:"same-origin"});if(response.ok){return response.arrayBuffer()}throw new Error(response.status+" : "+response.url)}}}else{}var out=console.log.bind(console);var err=console.error.bind(console);var wasmBinary;var ABORT=false;var isFileURI=filename=>filename.startsWith("file://");var readyPromiseResolve,readyPromiseReject;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var HEAP64,HEAPU64;var runtimeInitialized=false;function updateMemoryViews(){var b=wasmMemory.buffer;HEAP8=new Int8Array(b);HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);HEAPU16=new Uint16Array(b);HEAP32=new Int32Array(b);HEAPU32=new Uint32Array(b);HEAPF32=new Float32Array(b);HEAPF64=new Float64Array(b);HEAP64=new BigInt64Array(b);HEAPU64=new BigUint64Array(b)}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(onPreRuns)}function initRuntime(){runtimeInitialized=true;wasmExports["Ea"]()}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(onPostRuns)}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject?.(e);throw e}var wasmBinaryFile;function findWasmBinary(){if(Module["locateFile"]){return locateFile("flatsql.wasm")}return new URL("flatsql.wasm",import.meta.url).href}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}async function getWasmBinary(binaryFile){if(!wasmBinary){try{var response=await readAsync(binaryFile);return new Uint8Array(response)}catch{}}return getBinarySync(binaryFile)}async function instantiateArrayBuffer(binaryFile,imports){try{var binary=await getWasmBinary(binaryFile);var instance=await WebAssembly.instantiate(binary,imports);return instance}catch(reason){err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)}}async function instantiateAsync(binary,binaryFile,imports){if(!binary&&!ENVIRONMENT_IS_NODE){try{var response=fetch(binaryFile,{credentials:"same-origin"});var instantiationResult=await WebAssembly.instantiateStreaming(response,imports);return instantiationResult}catch(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation")}}return instantiateArrayBuffer(binaryFile,imports)}function getWasmImports(){var imports={a:wasmImports};return imports}async function createWasm(){function receiveInstance(instance,module){wasmExports=instance.exports;wasmExports=applySignatureConversions(wasmExports);assignWasmExports(wasmExports);updateMemoryViews();return wasmExports}function receiveInstantiationResult(result){return receiveInstance(result["instance"])}var info=getWasmImports();if(Module["instantiateWasm"]){return new Promise((resolve,reject)=>{Module["instantiateWasm"](info,(inst,mod)=>{resolve(receiveInstance(inst,mod))})})}wasmBinaryFile??=findWasmBinary();var result=await instantiateAsync(wasmBinary,wasmBinaryFile,info);var exports=receiveInstantiationResult(result);return exports}class ExitStatus{name="ExitStatus";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var onPostRuns=[];var addOnPostRun=cb=>onPostRuns.push(cb);var onPreRuns=[];var addOnPreRun=cb=>onPreRuns.push(cb);var noExitRuntime=true;var stackRestore=val=>__emscripten_stack_restore(val);var stackSave=()=>_emscripten_stack_get_current();var exceptionCaught=[];var uncaughtExceptionCount=0;var INT53_MAX=9007199254740992;var INT53_MIN=-9007199254740992;var bigintToI53Checked=num=>num<INT53_MIN||num>INT53_MAX?NaN:Number(num);function ___cxa_begin_catch(ptr){ptr>>>=0;var info=new ExceptionInfo(ptr);if(!info.get_caught()){info.set_caught(true);uncaughtExceptionCount--}info.set_rethrown(false);exceptionCaught.push(info);return ___cxa_get_exception_ptr(ptr)}var exceptionLast=0;var ___cxa_end_catch=()=>{_setThrew(0,0);var info=exceptionCaught.pop();___cxa_decrement_exception_refcount(info.excPtr);exceptionLast=0};class ExceptionInfo{constructor(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24}set_type(type){HEAPU32[this.ptr+4>>>2>>>0]=type}get_type(){return HEAPU32[this.ptr+4>>>2>>>0]}set_destructor(destructor){HEAPU32[this.ptr+8>>>2>>>0]=destructor}get_destructor(){return HEAPU32[this.ptr+8>>>2>>>0]}set_caught(caught){caught=caught?1:0;HEAP8[this.ptr+12>>>0]=caught}get_caught(){return HEAP8[this.ptr+12>>>0]!=0}set_rethrown(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>>0]=rethrown}get_rethrown(){return HEAP8[this.ptr+13>>>0]!=0}init(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor)}set_adjusted_ptr(adjustedPtr){HEAPU32[this.ptr+16>>>2>>>0]=adjustedPtr}get_adjusted_ptr(){return HEAPU32[this.ptr+16>>>2>>>0]}}var setTempRet0=val=>__emscripten_tempret_set(val);var findMatchingCatch=args=>{var thrown=exceptionLast;if(!thrown){setTempRet0(0);return 0}var info=new ExceptionInfo(thrown);info.set_adjusted_ptr(thrown);var thrownType=info.get_type();if(!thrownType){setTempRet0(0);return thrown}for(var caughtType of args){if(caughtType===0||caughtType===thrownType){break}var adjusted_ptr_addr=info.ptr+16;if(___cxa_can_catch(caughtType,thrownType,adjusted_ptr_addr)){setTempRet0(caughtType);return thrown}}setTempRet0(thrownType);return thrown};function ___cxa_find_matching_catch_2(){return findMatchingCatch([])}function ___cxa_find_matching_catch_3(arg0){arg0>>>=0;return findMatchingCatch([arg0])}function ___cxa_find_matching_catch_4(arg0,arg1){arg0>>>=0;arg1>>>=0;return findMatchingCatch([arg0,arg1])}var ___cxa_rethrow=()=>{var info=exceptionCaught.pop();if(!info){abort("no exception to throw")}var ptr=info.excPtr;if(!info.get_rethrown()){exceptionCaught.push(info);info.set_rethrown(true);info.set_caught(false);uncaughtExceptionCount++}___cxa_increment_exception_refcount(ptr);exceptionLast=ptr;throw exceptionLast};function ___cxa_throw(ptr,type,destructor){ptr>>>=0;type>>>=0;destructor>>>=0;var info=new ExceptionInfo(ptr);info.init(type,destructor);___cxa_increment_exception_refcount(ptr);exceptionLast=ptr;uncaughtExceptionCount++;throw exceptionLast}var ___cxa_uncaught_exceptions=()=>uncaughtExceptionCount;function ___resumeException(ptr){ptr>>>=0;if(!exceptionLast){exceptionLast=ptr}throw exceptionLast}function ___syscall_chmod(path,mode){path>>>=0}function ___syscall_faccessat(dirfd,path,amode,flags){path>>>=0}var ___syscall_fchmod=(fd,mode)=>{};var ___syscall_fchown32=(fd,owner,group)=>{};var UTF8Decoder=globalThis.TextDecoder&&new TextDecoder;var findStringEnd=(heapOrArray,idx,maxBytesToRead,ignoreNul)=>{var maxIdx=idx+maxBytesToRead;if(ignoreNul)return maxIdx;while(heapOrArray[idx]&&!(idx>=maxIdx))++idx;return idx};var UTF8ArrayToString=(heapOrArray,idx=0,maxBytesToRead,ignoreNul)=>{idx>>>=0;var endPtr=findStringEnd(heapOrArray,idx,maxBytesToRead,ignoreNul);if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx<endPtr){var u0=heapOrArray[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heapOrArray[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heapOrArray[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heapOrArray[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead,ignoreNul)=>{ptr>>>=0;return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead,ignoreNul):""};var SYSCALLS={varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};function ___syscall_fcntl64(fd,cmd,varargs){varargs>>>=0;SYSCALLS.varargs=varargs;return 0}function ___syscall_fstat64(fd,buf){buf>>>=0}function ___syscall_ftruncate64(fd,length){length=bigintToI53Checked(length)}function ___syscall_getcwd(buf,size){buf>>>=0;size>>>=0}function ___syscall_lstat64(path,buf){path>>>=0;buf>>>=0}function ___syscall_mkdirat(dirfd,path,mode){path>>>=0}function ___syscall_newfstatat(dirfd,path,buf,flags){path>>>=0;buf>>>=0}function ___syscall_openat(dirfd,path,flags,varargs){path>>>=0;varargs>>>=0;SYSCALLS.varargs=varargs}function ___syscall_readlinkat(dirfd,path,buf,bufsize){path>>>=0;buf>>>=0;bufsize>>>=0}function ___syscall_rmdir(path){path>>>=0}function ___syscall_stat64(path,buf){path>>>=0;buf>>>=0}function ___syscall_unlinkat(dirfd,path,flags){path>>>=0}function ___syscall_utimensat(dirfd,path,times,flags){path>>>=0;times>>>=0}var __abort_js=()=>abort("");var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};function __localtime_js(time,tmPtr){time=bigintToI53Checked(time);tmPtr>>>=0;var date=new Date(time*1e3);HEAP32[tmPtr>>>2>>>0]=date.getSeconds();HEAP32[tmPtr+4>>>2>>>0]=date.getMinutes();HEAP32[tmPtr+8>>>2>>>0]=date.getHours();HEAP32[tmPtr+12>>>2>>>0]=date.getDate();HEAP32[tmPtr+16>>>2>>>0]=date.getMonth();HEAP32[tmPtr+20>>>2>>>0]=date.getFullYear()-1900;HEAP32[tmPtr+24>>>2>>>0]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>>2>>>0]=yday;HEAP32[tmPtr+36>>>2>>>0]=-(date.getTimezoneOffset()*60);var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>>2>>>0]=dst}var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{outIdx>>>=0;if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.codePointAt(i);if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++>>>0]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++>>>0]=192|u>>6;heap[outIdx++>>>0]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++>>>0]=224|u>>12;heap[outIdx++>>>0]=128|u>>6&63;heap[outIdx++>>>0]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++>>>0]=240|u>>18;heap[outIdx++>>>0]=128|u>>12&63;heap[outIdx++>>>0]=128|u>>6&63;heap[outIdx++>>>0]=128|u&63;i++}}heap[outIdx>>>0]=0;return outIdx-startIdx};var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);var __tzset_js=function(timezone,daylight,std_name,dst_name){timezone>>>=0;daylight>>>=0;std_name>>>=0;dst_name>>>=0;var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>>2>>>0]=stdTimezoneOffset*60;HEAP32[daylight>>>2>>>0]=Number(winterOffset!=summerOffset);var extractZone=timezoneOffset=>{var sign=timezoneOffset>=0?"-":"+";var absOffset=Math.abs(timezoneOffset);var hours=String(Math.floor(absOffset/60)).padStart(2,"0");var minutes=String(absOffset%60).padStart(2,"0");return`UTC${sign}${hours}${minutes}`};var winterName=extractZone(winterOffset);var summerName=extractZone(summerOffset);if(summerOffset<winterOffset){stringToUTF8(winterName,std_name,17);stringToUTF8(summerName,dst_name,17)}else{stringToUTF8(winterName,dst_name,17);stringToUTF8(summerName,std_name,17)}};var _emscripten_get_now=()=>performance.now();var _emscripten_date_now=()=>Date.now();var nowIsMonotonic=1;var checkWasiClock=clock_id=>clock_id>=0&&clock_id<=3;function _clock_time_get(clk_id,ignored_precision,ptime){ignored_precision=bigintToI53Checked(ignored_precision);ptime>>>=0;if(!checkWasiClock(clk_id)){return 28}var now;if(clk_id===0){now=_emscripten_date_now()}else if(nowIsMonotonic){now=_emscripten_get_now()}else{return 52}var nsec=Math.round(now*1e3*1e3);HEAP64[ptime>>>3>>>0]=BigInt(nsec);return 0}var getHeapMax=()=>4294901760;var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var growMemory=size=>{var oldHeapSize=wasmMemory.buffer.byteLength;var pages=(size-oldHeapSize+65535)/65536|0;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};function _emscripten_resize_heap(requestedSize){requestedSize>>>=0;var oldSize=HEAPU8.length;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignMemory(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false}var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(globalThis.navigator?.language??"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};function _environ_get(__environ,environ_buf){__environ>>>=0;environ_buf>>>=0;var bufSize=0;var envp=0;for(var string of getEnvStrings()){var ptr=environ_buf+bufSize;HEAPU32[__environ+envp>>>2>>>0]=ptr;bufSize+=stringToUTF8(string,ptr,Infinity)+1;envp+=4}return 0}var lengthBytesUTF8=str=>{var len=0;for(var i=0;i<str.length;++i){var c=str.charCodeAt(i);if(c<=127){len++}else if(c<=2047){len+=2}else if(c>=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};function _environ_sizes_get(penviron_count,penviron_buf_size){penviron_count>>>=0;penviron_buf_size>>>=0;var strings=getEnvStrings();HEAPU32[penviron_count>>>2>>>0]=strings.length;var bufSize=0;for(var string of strings){bufSize+=lengthBytesUTF8(string)+1}HEAPU32[penviron_buf_size>>>2>>>0]=bufSize;return 0}var _fd_close=fd=>52;function _fd_fdstat_get(fd,pbuf){pbuf>>>=0;var rightsBase=0;var rightsInheriting=0;var flags=0;{var type=2;if(fd==0){rightsBase=2}else if(fd==1||fd==2){rightsBase=64}flags=1}HEAP8[pbuf>>>0]=type;HEAP16[pbuf+2>>>1>>>0]=flags;HEAP64[pbuf+8>>>3>>>0]=BigInt(rightsBase);HEAP64[pbuf+16>>>3>>>0]=BigInt(rightsInheriting);return 0}function _fd_read(fd,iov,iovcnt,pnum){iov>>>=0;iovcnt>>>=0;pnum>>>=0;return 52}function _fd_seek(fd,offset,whence,newOffset){offset=bigintToI53Checked(offset);newOffset>>>=0;return 70}var _fd_sync=fd=>52;var printCharBuffers=[null,[],[]];var printChar=(stream,curr)=>{var buffer=printCharBuffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer));buffer.length=0}else{buffer.push(curr)}};function _fd_write(fd,iov,iovcnt,pnum){iov>>>=0;iovcnt>>>=0;pnum>>>=0;var num=0;for(var i=0;i<iovcnt;i++){var ptr=HEAPU32[iov>>>2>>>0];var len=HEAPU32[iov+4>>>2>>>0];iov+=8;for(var j=0;j<len;j++){printChar(fd,HEAPU8[ptr+j>>>0])}num+=len}HEAPU32[pnum>>>2>>>0]=num;return 0}function _llvm_eh_typeid_for(type){type>>>=0;return type}var getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer>>>0)};var stackAlloc=sz=>__emscripten_stack_alloc(sz);var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="pointer")return ret>>>0;if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func(...cArgs);function onDone(ret){if(stack!==0)stackRestore(stack);return convertReturnValue(ret)}ret=onDone(ret);return ret};var cwrap=(ident,returnType,argTypes,opts)=>{var numericArgs=!argTypes||argTypes.every(type=>type==="number"||type==="boolean");var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return(...args)=>ccall(ident,returnType,argTypes,args,opts)};{if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(Module["print"])out=Module["print"];if(Module["printErr"])err=Module["printErr"];if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].shift()()}}}Module["ccall"]=ccall;Module["cwrap"]=cwrap;Module["UTF8ToString"]=UTF8ToString;Module["stringToUTF8"]=stringToUTF8;Module["lengthBytesUTF8"]=lengthBytesUTF8;var _free,_malloc,_flatsql_create_db,_flatsql_destroy_db,_flatsql_register_file_id,_flatsql_enable_demo_extractors,_flatsql_ingest,_flatsql_ingest_one,_flatsql_register_source,_flatsql_create_unified_views,_flatsql_ingest_with_source,_flatsql_ingest_one_with_source,_flatsql_query,_flatsql_query_params,_flatsql_query_many,_flatsql_batch_result_count,_flatsql_select_batch_result,_flatsql_get_error,_flatsql_build_query_cache_key,_flatsql_build_response_artifact_cache_key,_flatsql_register_query_template,_flatsql_query_template,_flatsql_clear_query_cache,_flatsql_configure_query_cache,_flatsql_query_cache_hits,_flatsql_query_cache_misses,_flatsql_query_cache_size,_flatsql_query_cache_generation,_flatsql_query_cache_max_entries,_flatsql_query_cache_max_rows,_flatsql_result_column_count,_flatsql_result_row_count,_flatsql_result_column_name,_flatsql_result_cell_type,_flatsql_result_cell_number,_flatsql_result_cell_string,_flatsql_result_cell_blob,_flatsql_result_cell_blob_size,_flatsql_export_data,_flatsql_query_raw_flatbuffer_stream,_flatsql_response_artifact_data,_flatsql_response_artifact_size,_flatsql_response_artifact_cache_hit,_flatsql_configure_raw_stream_cache,_flatsql_raw_stream_cache_hits,_flatsql_raw_stream_cache_misses,_flatsql_raw_stream_cache_size,_flatsql_raw_stream_cache_total_bytes,_flatsql_response_artifact_row_count,_flatsql_response_artifact_column_count,_flatsql_export_size,_flatsql_load_and_rebuild,_flatsql_reserve_storage,_flatsql_load_from_db,_flatsql_create_test_user,_flatsql_test_buffer_size,_flatsql_create_test_post,_flatsql_create_test_mpe,_flatsql_create_test_telemetry,_flatsql_create_test_publish_event,_flatsql_get_stats_count,_flatsql_get_stat_table_name,_flatsql_get_stat_file_id,_flatsql_get_stat_record_count,_flatsql_reset_ingest_profile,_flatsql_get_ingest_profile_record_count,_flatsql_get_ingest_profile_byte_count,_flatsql_get_ingest_profile_decode_nanos,_flatsql_get_ingest_profile_append_nanos,_flatsql_get_ingest_profile_index_nanos,_flatsql_mark_deleted,_flatsql_get_deleted_count,_flatsql_clear_tombstones,_flatsql_get_sources_count,_flatsql_get_source_name,_flatsql_get_flatbuffer_by_id,_flatsql_get_flatbuffer_by_email,_flatsql_get_flatbuffer_by_index,_flatsql_get_raw_flatbuffer_size,_flatsql_get_raw_flatbuffer_sequence,_flatsql_get_storage_buffer,_flatsql_get_storage_size,_flatsql_set_encryption_key,_flatsql_is_encrypted,_flatsql_encrypt_buffer,_flatsql_decrypt_buffer,_flatsql_set_hmac_verification,_flatsql_is_hmac_enabled,_flatsql_compute_hmac,_flatsql_verify_hmac,_setThrew,__emscripten_tempret_set,__emscripten_stack_restore,__emscripten_stack_alloc,_emscripten_stack_get_current,___cxa_decrement_exception_refcount,___cxa_increment_exception_refcount,___cxa_can_catch,___cxa_get_exception_ptr,dynCall_v,dynCall_ii,dynCall_iii,dynCall_viiiiii,dynCall_vii,dynCall_viii,dynCall_iiii,dynCall_iiiiii,dynCall_vi,dynCall_viiii,dynCall_jii,dynCall_viiiii,dynCall_iiiiiii,dynCall_iiiii,dynCall_iiij,dynCall_iiid,dynCall_viijij,dynCall_viiijj,dynCall_jiiiii,dynCall_viiiiiiiiii,dynCall_vij,dynCall_iiji,dynCall_iijiii,dynCall_viij,dynCall_iid,dynCall_i,dynCall_dii,dynCall_di,dynCall_viidi,dynCall_vid,dynCall_vidd,dynCall_dd,dynCall_ddd,dynCall_jiiii,dynCall_viiiiiiii,dynCall_iiiddddddddi,dynCall_iijj,dynCall_iiiij,dynCall_iij,dynCall_iijii,dynCall_iidiiii,dynCall_j,dynCall_iiiiid,dynCall_viijii,dynCall_iiiiiiii,dynCall_iiiiiiiiiii,dynCall_iiiiiiiiiiiii,dynCall_fiii,dynCall_diii,dynCall_viiiiiii,dynCall_iiiiiiiiiiii,dynCall_viiiiiiiiiiiiiii,dynCall_iiiiiiiii,dynCall_iiiiij,dynCall_iiiiijj,dynCall_iiiiiijj,memory,__indirect_function_table,wasmMemory,wasmTable;function assignWasmExports(wasmExports){_free=Module["_free"]=wasmExports["Ga"];_malloc=Module["_malloc"]=wasmExports["Ha"];_flatsql_create_db=Module["_flatsql_create_db"]=wasmExports["Ia"];_flatsql_destroy_db=Module["_flatsql_destroy_db"]=wasmExports["Ja"];_flatsql_register_file_id=Module["_flatsql_register_file_id"]=wasmExports["Ka"];_flatsql_enable_demo_extractors=Module["_flatsql_enable_demo_extractors"]=wasmExports["La"];_flatsql_ingest=Module["_flatsql_ingest"]=wasmExports["Ma"];_flatsql_ingest_one=Module["_flatsql_ingest_one"]=wasmExports["Na"];_flatsql_register_source=Module["_flatsql_register_source"]=wasmExports["Oa"];_flatsql_create_unified_views=Module["_flatsql_create_unified_views"]=wasmExports["Pa"];_flatsql_ingest_with_source=Module["_flatsql_ingest_with_source"]=wasmExports["Qa"];_flatsql_ingest_one_with_source=Module["_flatsql_ingest_one_with_source"]=wasmExports["Ra"];_flatsql_query=Module["_flatsql_query"]=wasmExports["Sa"];_flatsql_query_params=Module["_flatsql_query_params"]=wasmExports["Ta"];_flatsql_query_many=Module["_flatsql_query_many"]=wasmExports["Ua"];_flatsql_batch_result_count=Module["_flatsql_batch_result_count"]=wasmExports["Va"];_flatsql_select_batch_result=Module["_flatsql_select_batch_result"]=wasmExports["Wa"];_flatsql_get_error=Module["_flatsql_get_error"]=wasmExports["Xa"];_flatsql_build_query_cache_key=Module["_flatsql_build_query_cache_key"]=wasmExports["Ya"];_flatsql_build_response_artifact_cache_key=Module["_flatsql_build_response_artifact_cache_key"]=wasmExports["Za"];_flatsql_register_query_template=Module["_flatsql_register_query_template"]=wasmExports["_a"];_flatsql_query_template=Module["_flatsql_query_template"]=wasmExports["$a"];_flatsql_clear_query_cache=Module["_flatsql_clear_query_cache"]=wasmExports["ab"];_flatsql_configure_query_cache=Module["_flatsql_configure_query_cache"]=wasmExports["bb"];_flatsql_query_cache_hits=Module["_flatsql_query_cache_hits"]=wasmExports["cb"];_flatsql_query_cache_misses=Module["_flatsql_query_cache_misses"]=wasmExports["db"];_flatsql_query_cache_size=Module["_flatsql_query_cache_size"]=wasmExports["eb"];_flatsql_query_cache_generation=Module["_flatsql_query_cache_generation"]=wasmExports["fb"];_flatsql_query_cache_max_entries=Module["_flatsql_query_cache_max_entries"]=wasmExports["gb"];_flatsql_query_cache_max_rows=Module["_flatsql_query_cache_max_rows"]=wasmExports["hb"];_flatsql_result_column_count=Module["_flatsql_result_column_count"]=wasmExports["ib"];_flatsql_result_row_count=Module["_flatsql_result_row_count"]=wasmExports["jb"];_flatsql_result_column_name=Module["_flatsql_result_column_name"]=wasmExports["kb"];_flatsql_result_cell_type=Module["_flatsql_result_cell_type"]=wasmExports["lb"];_flatsql_result_cell_number=Module["_flatsql_result_cell_number"]=wasmExports["mb"];_flatsql_result_cell_string=Module["_flatsql_result_cell_string"]=wasmExports["nb"];_flatsql_result_cell_blob=Module["_flatsql_result_cell_blob"]=wasmExports["ob"];_flatsql_result_cell_blob_size=Module["_flatsql_result_cell_blob_size"]=wasmExports["pb"];_flatsql_export_data=Module["_flatsql_export_data"]=wasmExports["qb"];_flatsql_query_raw_flatbuffer_stream=Module["_flatsql_query_raw_flatbuffer_stream"]=wasmExports["rb"];_flatsql_response_artifact_data=Module["_flatsql_response_artifact_data"]=wasmExports["sb"];_flatsql_response_artifact_size=Module["_flatsql_response_artifact_size"]=wasmExports["tb"];_flatsql_response_artifact_cache_hit=Module["_flatsql_response_artifact_cache_hit"]=wasmExports["ub"];_flatsql_configure_raw_stream_cache=Module["_flatsql_configure_raw_stream_cache"]=wasmExports["vb"];_flatsql_raw_stream_cache_hits=Module["_flatsql_raw_stream_cache_hits"]=wasmExports["wb"];_flatsql_raw_stream_cache_misses=Module["_flatsql_raw_stream_cache_misses"]=wasmExports["xb"];_flatsql_raw_stream_cache_size=Module["_flatsql_raw_stream_cache_size"]=wasmExports["yb"];_flatsql_raw_stream_cache_total_bytes=Module["_flatsql_raw_stream_cache_total_bytes"]=wasmExports["zb"];_flatsql_response_artifact_row_count=Module["_flatsql_response_artifact_row_count"]=wasmExports["Ab"];_flatsql_response_artifact_column_count=Module["_flatsql_response_artifact_column_count"]=wasmExports["Bb"];_flatsql_export_size=Module["_flatsql_export_size"]=wasmExports["Cb"];_flatsql_load_and_rebuild=Module["_flatsql_load_and_rebuild"]=wasmExports["Db"];_flatsql_reserve_storage=Module["_flatsql_reserve_storage"]=wasmExports["Eb"];_flatsql_load_from_db=Module["_flatsql_load_from_db"]=wasmExports["Fb"];_flatsql_create_test_user=Module["_flatsql_create_test_user"]=wasmExports["Gb"];_flatsql_test_buffer_size=Module["_flatsql_test_buffer_size"]=wasmExports["Hb"];_flatsql_create_test_post=Module["_flatsql_create_test_post"]=wasmExports["Ib"];_flatsql_create_test_mpe=Module["_flatsql_create_test_mpe"]=wasmExports["Jb"];_flatsql_create_test_telemetry=Module["_flatsql_create_test_telemetry"]=wasmExports["Kb"];_flatsql_create_test_publish_event=Module["_flatsql_create_test_publish_event"]=wasmExports["Lb"];_flatsql_get_stats_count=Module["_flatsql_get_stats_count"]=wasmExports["Mb"];_flatsql_get_stat_table_name=Module["_flatsql_get_stat_table_name"]=wasmExports["Nb"];_flatsql_get_stat_file_id=Module["_flatsql_get_stat_file_id"]=wasmExports["Ob"];_flatsql_get_stat_record_count=Module["_flatsql_get_stat_record_count"]=wasmExports["Pb"];_flatsql_reset_ingest_profile=Module["_flatsql_reset_ingest_profile"]=wasmExports["Qb"];_flatsql_get_ingest_profile_record_count=Module["_flatsql_get_ingest_profile_record_count"]=wasmExports["Rb"];_flatsql_get_ingest_profile_byte_count=Module["_flatsql_get_ingest_profile_byte_count"]=wasmExports["Sb"];_flatsql_get_ingest_profile_decode_nanos=Module["_flatsql_get_ingest_profile_decode_nanos"]=wasmExports["Tb"];_flatsql_get_ingest_profile_append_nanos=Module["_flatsql_get_ingest_profile_append_nanos"]=wasmExports["Ub"];_flatsql_get_ingest_profile_index_nanos=Module["_flatsql_get_ingest_profile_index_nanos"]=wasmExports["Vb"];_flatsql_mark_deleted=Module["_flatsql_mark_deleted"]=wasmExports["Wb"];_flatsql_get_deleted_count=Module["_flatsql_get_deleted_count"]=wasmExports["Xb"];_flatsql_clear_tombstones=Module["_flatsql_clear_tombstones"]=wasmExports["Yb"];_flatsql_get_sources_count=Module["_flatsql_get_sources_count"]=wasmExports["Zb"];_flatsql_get_source_name=Module["_flatsql_get_source_name"]=wasmExports["_b"];_flatsql_get_flatbuffer_by_id=Module["_flatsql_get_flatbuffer_by_id"]=wasmExports["$b"];_flatsql_get_flatbuffer_by_email=Module["_flatsql_get_flatbuffer_by_email"]=wasmExports["ac"];_flatsql_get_flatbuffer_by_index=Module["_flatsql_get_flatbuffer_by_index"]=wasmExports["bc"];_flatsql_get_raw_flatbuffer_size=Module["_flatsql_get_raw_flatbuffer_size"]=wasmExports["cc"];_flatsql_get_raw_flatbuffer_sequence=Module["_flatsql_get_raw_flatbuffer_sequence"]=wasmExports["dc"];_flatsql_get_storage_buffer=Module["_flatsql_get_storage_buffer"]=wasmExports["ec"];_flatsql_get_storage_size=Module["_flatsql_get_storage_size"]=wasmExports["fc"];_flatsql_set_encryption_key=Module["_flatsql_set_encryption_key"]=wasmExports["gc"];_flatsql_is_encrypted=Module["_flatsql_is_encrypted"]=wasmExports["hc"];_flatsql_encrypt_buffer=Module["_flatsql_encrypt_buffer"]=wasmExports["ic"];_flatsql_decrypt_buffer=Module["_flatsql_decrypt_buffer"]=wasmExports["jc"];_flatsql_set_hmac_verification=Module["_flatsql_set_hmac_verification"]=wasmExports["kc"];_flatsql_is_hmac_enabled=Module["_flatsql_is_hmac_enabled"]=wasmExports["lc"];_flatsql_compute_hmac=Module["_flatsql_compute_hmac"]=wasmExports["mc"];_flatsql_verify_hmac=Module["_flatsql_verify_hmac"]=wasmExports["nc"];_setThrew=wasmExports["oc"];__emscripten_tempret_set=wasmExports["pc"];__emscripten_stack_restore=wasmExports["qc"];__emscripten_stack_alloc=wasmExports["rc"];_emscripten_stack_get_current=wasmExports["sc"];___cxa_decrement_exception_refcount=wasmExports["tc"];___cxa_increment_exception_refcount=wasmExports["uc"];___cxa_can_catch=wasmExports["vc"];___cxa_get_exception_ptr=wasmExports["wc"];dynCall_v=wasmExports["xc"];dynCall_ii=wasmExports["yc"];dynCall_iii=wasmExports["zc"];dynCall_viiiiii=wasmExports["Ac"];dynCall_vii=wasmExports["Bc"];dynCall_viii=wasmExports["Cc"];dynCall_iiii=wasmExports["Dc"];dynCall_iiiiii=wasmExports["Ec"];dynCall_vi=wasmExports["Fc"];dynCall_viiii=wasmExports["Gc"];dynCall_jii=wasmExports["Hc"];dynCall_viiiii=wasmExports["Ic"];dynCall_iiiiiii=wasmExports["Jc"];dynCall_iiiii=wasmExports["Kc"];dynCall_iiij=wasmExports["Lc"];dynCall_iiid=wasmExports["Mc"];dynCall_viijij=wasmExports["Nc"];dynCall_viiijj=wasmExports["Oc"];dynCall_jiiiii=wasmExports["Pc"];dynCall_viiiiiiiiii=wasmExports["Qc"];dynCall_vij=wasmExports["Rc"];dynCall_iiji=wasmExports["Sc"];dynCall_iijiii=wasmExports["Tc"];dynCall_viij=wasmExports["Uc"];dynCall_iid=wasmExports["Vc"];dynCall_i=wasmExports["Wc"];dynCall_dii=wasmExports["Xc"];dynCall_di=wasmExports["Yc"];dynCall_viidi=wasmExports["Zc"];dynCall_vid=wasmExports["_c"];dynCall_vidd=wasmExports["dynCall_vidd"];dynCall_dd=wasmExports["dynCall_dd"];dynCall_ddd=wasmExports["dynCall_ddd"];dynCall_jiiii=wasmExports["$c"];dynCall_viiiiiiii=wasmExports["ad"];dynCall_iiiddddddddi=wasmExports["bd"];dynCall_iijj=wasmExports["dynCall_iijj"];dynCall_iiiij=wasmExports["dynCall_iiiij"];dynCall_iij=wasmExports["dynCall_iij"];dynCall_iijii=wasmExports["dynCall_iijii"];dynCall_iidiiii=wasmExports["dynCall_iidiiii"];dynCall_j=wasmExports["cd"];dynCall_iiiiid=wasmExports["dd"];dynCall_viijii=wasmExports["dynCall_viijii"];dynCall_iiiiiiii=wasmExports["ed"];dynCall_iiiiiiiiiii=wasmExports["dynCall_iiiiiiiiiii"];dynCall_iiiiiiiiiiiii=wasmExports["dynCall_iiiiiiiiiiiii"];dynCall_fiii=wasmExports["fd"];dynCall_diii=wasmExports["gd"];dynCall_viiiiiii=wasmExports["hd"];dynCall_iiiiiiiiiiii=wasmExports["id"];dynCall_viiiiiiiiiiiiiii=wasmExports["jd"];dynCall_iiiiiiiii=wasmExports["dynCall_iiiiiiiii"];dynCall_iiiiij=wasmExports["dynCall_iiiiij"];dynCall_iiiiijj=wasmExports["dynCall_iiiiijj"];dynCall_iiiiiijj=wasmExports["dynCall_iiiiiijj"];memory=wasmMemory=wasmExports["Da"];__indirect_function_table=wasmTable=wasmExports["Fa"]}var wasmImports={l:___cxa_begin_catch,q:___cxa_end_catch,a:___cxa_find_matching_catch_2,g:___cxa_find_matching_catch_3,F:___cxa_find_matching_catch_4,R:___cxa_rethrow,n:___cxa_throw,X:___cxa_uncaught_exceptions,d:___resumeException,va:___syscall_chmod,xa:___syscall_faccessat,wa:___syscall_fchmod,ua:___syscall_fchown32,x:___syscall_fcntl64,ta:___syscall_fstat64,oa:___syscall_ftruncate64,na:___syscall_getcwd,qa:___syscall_lstat64,ja:___syscall_mkdirat,ra:___syscall_newfstatat,fa:___syscall_openat,da:___syscall_readlinkat,ca:___syscall_rmdir,sa:___syscall_stat64,aa:___syscall_unlinkat,$:___syscall_utimensat,V:__abort_js,ha:__localtime_js,ia:__tzset_js,ga:_clock_time_get,O:_emscripten_date_now,N:_emscripten_get_now,Z:_emscripten_resize_heap,la:_environ_get,ma:_environ_sizes_get,P:_fd_close,_:_fd_fdstat_get,ea:_fd_read,ka:_fd_seek,pa:_fd_sync,ba:_fd_write,w:invoke_di,H:invoke_dii,G:invoke_diii,L:invoke_fiii,t:invoke_i,c:invoke_ii,I:invoke_iid,e:invoke_iii,E:invoke_iiid,ya:invoke_iiiddddddddi,i:invoke_iiii,m:invoke_iiiii,W:invoke_iiiiid,o:invoke_iiiiii,s:invoke_iiiiiii,M:invoke_iiiiiiii,C:invoke_iiiiiiiiiiii,Ca:invoke_iiij,z:invoke_iiji,Aa:invoke_iijiii,Y:invoke_j,J:invoke_jii,A:invoke_jiiii,S:invoke_jiiiii,f:invoke_v,k:invoke_vi,D:invoke_vid,b:invoke_vii,Q:invoke_viidi,h:invoke_viii,j:invoke_viiii,u:invoke_viiiii,r:invoke_viiiiii,v:invoke_viiiiiii,za:invoke_viiiiiiii,y:invoke_viiiiiiiiii,B:invoke_viiiiiiiiiiiiiii,T:invoke_viiijj,U:invoke_viij,Ba:invoke_viijij,K:invoke_vij,p:_llvm_eh_typeid_for};function invoke_v(index){var sp=stackSave();try{dynCall_v(index)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_ii(index,a1){var sp=stackSave();try{return dynCall_ii(index,a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iii(index,a1,a2){var sp=stackSave();try{return dynCall_iii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{dynCall_viiiiii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vii(index,a1,a2){var sp=stackSave();try{dynCall_vii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vij(index,a1,a2){var sp=stackSave();try{dynCall_vij(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiii(index,a1,a2,a3){var sp=stackSave();try{return dynCall_iiii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viii(index,a1,a2,a3){var sp=stackSave();try{dynCall_viii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_iiiiii(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vi(index,a1){var sp=stackSave();try{dynCall_vi(index,a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiii(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_viiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_jii(index,a1,a2){var sp=stackSave();try{return dynCall_jii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0);return 0n}}function invoke_viiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{dynCall_viiiii(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_iiiiiii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_iiiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiij(index,a1,a2,a3){var sp=stackSave();try{return dynCall_iiij(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiid(index,a1,a2,a3){var sp=stackSave();try{return dynCall_iiid(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viijij(index,a1,a2,a3,a4,a5){var sp=stackSave();try{dynCall_viijij(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viij(index,a1,a2,a3){var sp=stackSave();try{dynCall_viij(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiijj(index,a1,a2,a3,a4,a5){var sp=stackSave();try{dynCall_viiijj(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_jiiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_jiiiii(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0);return 0n}}function invoke_viiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{dynCall_viiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiji(index,a1,a2,a3){var sp=stackSave();try{return dynCall_iiji(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iijiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_iijiii(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iid(index,a1,a2){var sp=stackSave();try{return dynCall_iid(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_i(index){var sp=stackSave();try{return dynCall_i(index)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_dii(index,a1,a2){var sp=stackSave();try{return dynCall_dii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_di(index,a1){var sp=stackSave();try{return dynCall_di(index,a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viidi(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_viidi(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vid(index,a1,a2){var sp=stackSave();try{dynCall_vid(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_jiiii(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_jiiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0);return 0n}}function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{dynCall_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiddddddddi(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){var sp=stackSave();try{return dynCall_iiiddddddddi(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_j(index){var sp=stackSave();try{return dynCall_j(index)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0);return 0n}}function invoke_iiiiid(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_iiiiid(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return dynCall_iiiiiiii(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_fiii(index,a1,a2,a3){var sp=stackSave();try{return dynCall_fiii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_diii(index,a1,a2,a3){var sp=stackSave();try{return dynCall_diii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{dynCall_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){var sp=stackSave();try{return dynCall_iiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15){var sp=stackSave();try{dynCall_viiiiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function applySignatureConversions(wasmExports){wasmExports=Object.assign({},wasmExports);var makeWrapper_pp=f=>a0=>f(a0)>>>0;var makeWrapper_p=f=>()=>f()>>>0;wasmExports["Ha"]=makeWrapper_pp(wasmExports["Ha"]);wasmExports["rc"]=makeWrapper_pp(wasmExports["rc"]);wasmExports["sc"]=makeWrapper_p(wasmExports["sc"]);wasmExports["wc"]=makeWrapper_pp(wasmExports["wc"]);return wasmExports}function run(){preRun();function doRun(){Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve?.(Module);Module["onRuntimeInitialized"]?.();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(()=>{setTimeout(()=>Module["setStatus"](""),1);doRun()},1)}else{doRun()}}var wasmExports;wasmExports=await (createWasm());run();if(runtimeInitialized){moduleRtn=Module}else{moduleRtn=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject})}
2
2
  ;return moduleRtn}export default FlatSQL;
package/wasm/flatsql.wasm CHANGED
Binary file
package/wasm/index.d.ts CHANGED
@@ -125,6 +125,14 @@ export interface FlatSQLDatabase {
125
125
  * as a native size-prefixed response stream.
126
126
  */
127
127
  queryRawFlatBufferStream(sql: string, params?: QueryParam[]): Uint8Array;
128
+ lastRawStreamCacheHit(): boolean;
129
+ configureRawStreamCache(maxEntries: number, maxTotalBytes: number): void;
130
+ getRawStreamCacheStats(): {
131
+ hits: number;
132
+ misses: number;
133
+ entries: number;
134
+ totalBytes: number;
135
+ };
128
136
 
129
137
  /**
130
138
  * Export all data as a stream of size-prefixed FlatBuffers
@@ -474,4 +482,6 @@ export function initFlatSQL(options?: InitOptions | (() => Promise<any>)): Promi
474
482
  */
475
483
  export function wasIntegrityVerified(): boolean;
476
484
 
485
+ export function __testWasmPointerToByteOffset(ptr: number): number;
486
+
477
487
  export default initFlatSQL;
package/wasm/index.js CHANGED
@@ -293,6 +293,12 @@ export async function initFlatSQL(moduleFactoryOrOptions) {
293
293
  responseArtifactSize: Module.cwrap('flatsql_response_artifact_size', 'number', []),
294
294
  responseArtifactRowCount: Module.cwrap('flatsql_response_artifact_row_count', 'number', []),
295
295
  responseArtifactColumnCount: Module.cwrap('flatsql_response_artifact_column_count', 'number', []),
296
+ responseArtifactCacheHit: Module.cwrap('flatsql_response_artifact_cache_hit', 'number', []),
297
+ configureRawStreamCache: Module.cwrap('flatsql_configure_raw_stream_cache', 'number', ['number', 'number', 'number']),
298
+ rawStreamCacheHits: Module.cwrap('flatsql_raw_stream_cache_hits', 'number', ['number']),
299
+ rawStreamCacheMisses: Module.cwrap('flatsql_raw_stream_cache_misses', 'number', ['number']),
300
+ rawStreamCacheSize: Module.cwrap('flatsql_raw_stream_cache_size', 'number', ['number']),
301
+ rawStreamCacheTotalBytes: Module.cwrap('flatsql_raw_stream_cache_total_bytes', 'number', ['number']),
296
302
 
297
303
  // Export/Import
298
304
  exportData: Module.cwrap('flatsql_export_data', 'number', ['number']),
@@ -359,10 +365,32 @@ export function wasIntegrityVerified() {
359
365
  return integrityVerified;
360
366
  }
361
367
 
368
+ function wasmPointerToByteOffset(ptr) {
369
+ const numeric = Number(ptr);
370
+ if (!Number.isFinite(numeric)) {
371
+ throw new TypeError(`Invalid WASM pointer: ${ptr}`);
372
+ }
373
+ return numeric >>> 0;
374
+ }
375
+
376
+ export const __testWasmPointerToByteOffset = wasmPointerToByteOffset;
377
+
378
+ function heapBytes(ptr, size) {
379
+ return new Uint8Array(Module.HEAPU8.buffer, wasmPointerToByteOffset(ptr), size);
380
+ }
381
+
382
+ function copyHeapBytes(ptr, size) {
383
+ return heapBytes(ptr, size).slice();
384
+ }
385
+
386
+ function setHeapBytes(data, ptr) {
387
+ Module.HEAPU8.set(data, wasmPointerToByteOffset(ptr));
388
+ }
389
+
362
390
  function withHeapBytes(data, callback) {
363
391
  const ptr = Module._malloc(data.length);
364
392
  try {
365
- Module.HEAPU8.set(data, ptr);
393
+ setHeapBytes(data, ptr);
366
394
  return callback(ptr);
367
395
  } finally {
368
396
  Module._free(ptr);
@@ -468,7 +496,7 @@ function readCellValue(row, col) {
468
496
  const blobPtr = api.resultCellBlob(row, col);
469
497
  const blobSize = api.resultCellBlobSize(row, col);
470
498
  return blobPtr && blobSize > 0
471
- ? Array.from(new Uint8Array(Module.HEAPU8.buffer, blobPtr, blobSize))
499
+ ? Array.from(copyHeapBytes(blobPtr, blobSize))
472
500
  : [];
473
501
  }
474
502
  default:
@@ -525,19 +553,19 @@ export class FlatSQL {
525
553
  createTestUser(id, name, email, age) {
526
554
  const ptr = api.createTestUser(id, name, email, age);
527
555
  const size = api.testBufferSize();
528
- return new Uint8Array(Module.HEAPU8.buffer, ptr, size).slice();
556
+ return copyHeapBytes(ptr, size);
529
557
  }
530
558
 
531
559
  createTestPost(id, userId, title) {
532
560
  const ptr = api.createTestPost(id, userId, title);
533
561
  const size = api.testBufferSize();
534
- return new Uint8Array(Module.HEAPU8.buffer, ptr, size).slice();
562
+ return copyHeapBytes(ptr, size);
535
563
  }
536
564
 
537
565
  createTestPublishEvent(fileId, recordId, eventIndex, payloadSize) {
538
566
  const ptr = api.createTestPublishEvent(fileId, recordId, eventIndex, payloadSize);
539
567
  const size = api.testBufferSize();
540
- return new Uint8Array(Module.HEAPU8.buffer, ptr, size).slice();
568
+ return copyHeapBytes(ptr, size);
541
569
  }
542
570
 
543
571
  createTestMPE(entityId, epoch, meanMotion, eccentricity, inclination,
@@ -555,13 +583,13 @@ export class FlatSQL {
555
583
  meanElementTheory
556
584
  );
557
585
  const size = api.testBufferSize();
558
- return new Uint8Array(Module.HEAPU8.buffer, ptr, size).slice();
586
+ return copyHeapBytes(ptr, size);
559
587
  }
560
588
 
561
589
  createTestTelemetry(packetId, spacecraft, subsystem, mode, temperatureC, signalDb, timestampS) {
562
590
  const ptr = api.createTestTelemetry(packetId, spacecraft, subsystem, mode, temperatureC, signalDb, timestampS);
563
591
  const size = api.testBufferSize();
564
- return new Uint8Array(Module.HEAPU8.buffer, ptr, size).slice();
592
+ return copyHeapBytes(ptr, size);
565
593
  }
566
594
 
567
595
  /**
@@ -799,18 +827,39 @@ export class FlatSQLDatabase {
799
827
 
800
828
  const ptr = api.responseArtifactData();
801
829
  const size = api.responseArtifactSize();
802
- return ptr && size > 0 ? new Uint8Array(Module.HEAPU8.buffer, ptr, size).slice() : new Uint8Array();
830
+ return ptr && size > 0 ? copyHeapBytes(ptr, size) : new Uint8Array();
831
+ }
832
+
833
+ // True when the last queryRawFlatBufferStream call was served from the
834
+ // engine's response-artifact cache (no SQL re-execution).
835
+ lastRawStreamCacheHit() {
836
+ return api.responseArtifactCacheHit() !== 0;
837
+ }
838
+
839
+ configureRawStreamCache(maxEntries, maxTotalBytes) {
840
+ if (!api.configureRawStreamCache(this._handle, maxEntries, maxTotalBytes)) {
841
+ throw new Error(api.getError());
842
+ }
843
+ }
844
+
845
+ getRawStreamCacheStats() {
846
+ return {
847
+ hits: api.rawStreamCacheHits(this._handle),
848
+ misses: api.rawStreamCacheMisses(this._handle),
849
+ entries: api.rawStreamCacheSize(this._handle),
850
+ totalBytes: api.rawStreamCacheTotalBytes(this._handle)
851
+ };
803
852
  }
804
853
 
805
854
  exportData() {
806
855
  const ptr = api.exportData(this._handle);
807
856
  const size = api.exportSize();
808
- return new Uint8Array(Module.HEAPU8.buffer, ptr, size).slice();
857
+ return copyHeapBytes(ptr, size);
809
858
  }
810
859
 
811
860
  loadAndRebuild(data) {
812
861
  const ptr = Module._malloc(data.length);
813
- Module.HEAPU8.set(data, ptr);
862
+ setHeapBytes(data, ptr);
814
863
  api.loadAndRebuild(this._handle, ptr, data.length);
815
864
  Module._free(ptr);
816
865
  }
@@ -921,7 +970,7 @@ export class FlatSQLDatabase {
921
970
  if (!record) {
922
971
  return null;
923
972
  }
924
- return new Uint8Array(Module.HEAPU8.buffer, record.ptr, record.size).slice();
973
+ return copyHeapBytes(record.ptr, record.size);
925
974
  }
926
975
 
927
976
  getFlatBufferDataByIndex(tableName, columnName, value) {
@@ -929,7 +978,7 @@ export class FlatSQLDatabase {
929
978
  if (!record) {
930
979
  return null;
931
980
  }
932
- return new Uint8Array(Module.HEAPU8.buffer, record.ptr, record.size).slice();
981
+ return copyHeapBytes(record.ptr, record.size);
933
982
  }
934
983
 
935
984
  getStorageInfo() {
@@ -947,7 +996,7 @@ export class FlatSQLDatabase {
947
996
  */
948
997
  setEncryptionKey(key) {
949
998
  const ptr = Module._malloc(key.length);
950
- Module.HEAPU8.set(key, ptr);
999
+ setHeapBytes(key, ptr);
951
1000
  const result = api.setEncryptionKey(this._handle, ptr, key.length);
952
1001
  Module._free(ptr);
953
1002
  if (!result) throw new Error(api.getError());
@@ -969,11 +1018,11 @@ export class FlatSQLDatabase {
969
1018
  */
970
1019
  encryptBuffer(buffer, schema) {
971
1020
  const bufPtr = Module._malloc(buffer.length);
972
- Module.HEAPU8.set(buffer, bufPtr);
1021
+ setHeapBytes(buffer, bufPtr);
973
1022
  const schemaPtr = Module._malloc(schema.length);
974
- Module.HEAPU8.set(schema, schemaPtr);
1023
+ setHeapBytes(schema, schemaPtr);
975
1024
  const result = api.encryptBuffer(this._handle, bufPtr, buffer.length, schemaPtr, schema.length);
976
- const encrypted = new Uint8Array(Module.HEAPU8.buffer, bufPtr, buffer.length).slice();
1025
+ const encrypted = copyHeapBytes(bufPtr, buffer.length);
977
1026
  Module._free(bufPtr);
978
1027
  Module._free(schemaPtr);
979
1028
  if (!result) throw new Error(api.getError());
@@ -988,11 +1037,11 @@ export class FlatSQLDatabase {
988
1037
  */
989
1038
  decryptBuffer(buffer, schema) {
990
1039
  const bufPtr = Module._malloc(buffer.length);
991
- Module.HEAPU8.set(buffer, bufPtr);
1040
+ setHeapBytes(buffer, bufPtr);
992
1041
  const schemaPtr = Module._malloc(schema.length);
993
- Module.HEAPU8.set(schema, schemaPtr);
1042
+ setHeapBytes(schema, schemaPtr);
994
1043
  const result = api.decryptBuffer(this._handle, bufPtr, buffer.length, schemaPtr, schema.length);
995
- const decrypted = new Uint8Array(Module.HEAPU8.buffer, bufPtr, buffer.length).slice();
1044
+ const decrypted = copyHeapBytes(bufPtr, buffer.length);
996
1045
  Module._free(bufPtr);
997
1046
  Module._free(schemaPtr);
998
1047
  if (!result) throw new Error(api.getError());
@@ -1026,10 +1075,10 @@ export class FlatSQLDatabase {
1026
1075
  */
1027
1076
  computeHMAC(buffer) {
1028
1077
  const bufPtr = Module._malloc(buffer.length);
1029
- Module.HEAPU8.set(buffer, bufPtr);
1078
+ setHeapBytes(buffer, bufPtr);
1030
1079
  const macPtr = Module._malloc(32);
1031
1080
  const result = api.computeHMAC(this._handle, bufPtr, buffer.length, macPtr);
1032
- const mac = new Uint8Array(Module.HEAPU8.buffer, macPtr, 32).slice();
1081
+ const mac = copyHeapBytes(macPtr, 32);
1033
1082
  Module._free(bufPtr);
1034
1083
  Module._free(macPtr);
1035
1084
  if (!result) throw new Error('HMAC computation failed - is encryption key set?');
@@ -1044,9 +1093,9 @@ export class FlatSQLDatabase {
1044
1093
  */
1045
1094
  verifyHMAC(buffer, mac) {
1046
1095
  const bufPtr = Module._malloc(buffer.length);
1047
- Module.HEAPU8.set(buffer, bufPtr);
1096
+ setHeapBytes(buffer, bufPtr);
1048
1097
  const macPtr = Module._malloc(32);
1049
- Module.HEAPU8.set(mac, macPtr);
1098
+ setHeapBytes(mac, macPtr);
1050
1099
  const result = api.verifyHMAC(this._handle, bufPtr, buffer.length, macPtr);
1051
1100
  Module._free(bufPtr);
1052
1101
  Module._free(macPtr);
@@ -77,6 +77,14 @@ export class FlatSQLStandaloneDatabase {
77
77
  query(sql: string, params?: StandaloneQueryParam[]): StandaloneQueryResult;
78
78
  queryMany(queries: Array<{ sql: string; params?: StandaloneQueryParam[] }>): StandaloneQueryResult[];
79
79
  queryRawFlatBufferStream(sql: string, params?: StandaloneQueryParam[]): Uint8Array;
80
+ lastRawStreamCacheHit(): boolean;
81
+ configureRawStreamCache(maxEntries: number, maxTotalBytes: number): void;
82
+ getRawStreamCacheStats(): {
83
+ hits: number;
84
+ misses: number;
85
+ entries: number;
86
+ totalBytes: number;
87
+ };
80
88
  registerQueryTemplate(queryId: string, sql: string, cacheable?: boolean): void;
81
89
  queryTemplate(queryId: string, params?: StandaloneQueryParam[]): StandaloneQueryResult;
82
90
  clearQueryCache(): void;
@@ -630,6 +630,30 @@ export class FlatSQLStandaloneDatabase {
630
630
  return ptr && size > 0 ? this._runtime.readBytes(ptr, size) : new Uint8Array();
631
631
  }
632
632
 
633
+ // True when the last queryRawFlatBufferStream call was served from the
634
+ // engine's response-artifact cache (no SQL re-execution).
635
+ lastRawStreamCacheHit() {
636
+ return this._runtime.exports.flatsql_response_artifact_cache_hit() !== 0;
637
+ }
638
+
639
+ configureRawStreamCache(maxEntries, maxTotalBytes) {
640
+ const ok = this._runtime.exports.flatsql_configure_raw_stream_cache(
641
+ this._handle,
642
+ maxEntries,
643
+ maxTotalBytes
644
+ );
645
+ this._runtime.check(ok);
646
+ }
647
+
648
+ getRawStreamCacheStats() {
649
+ return {
650
+ hits: this._runtime.exports.flatsql_raw_stream_cache_hits(this._handle),
651
+ misses: this._runtime.exports.flatsql_raw_stream_cache_misses(this._handle),
652
+ entries: this._runtime.exports.flatsql_raw_stream_cache_size(this._handle),
653
+ totalBytes: this._runtime.exports.flatsql_raw_stream_cache_total_bytes(this._handle),
654
+ };
655
+ }
656
+
633
657
  registerQueryTemplate(queryId, sql, cacheable = true) {
634
658
  const success = this._runtime.withCString(queryId, (queryIdPtr) =>
635
659
  this._runtime.withCString(sql, (sqlPtr) =>