mpackdb
All repositories: gitoria
63.2 KB
var ne=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,n)=>(typeof require<"u"?require:e)[n]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var Ie=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var gr=Ie((Gi,_r)=>{"use strict";var wr=()=>process.platform==="linux",Qe=null,Hn=()=>{if(!Qe)if(wr()&&process.report){let t=process.report.excludeNetwork;process.report.excludeNetwork=!0,Qe=process.report.getReport(),process.report.excludeNetwork=t}else Qe={};return Qe};_r.exports={isLinux:wr,getReport:Hn}});var Sr=Ie((Ji,br)=>{"use strict";var Re=ne("fs"),Gn="/usr/bin/ldd",Jn="/proc/self/exe",et=2048,Yn=t=>{let e=Re.openSync(t,"r"),n=Buffer.alloc(et),r=Re.readSync(e,n,0,et,0);return Re.close(e,()=>{}),n.subarray(0,r)},Wn=t=>new Promise((e,n)=>{Re.open(t,"r",(r,i)=>{if(r)n(r);else{let s=Buffer.alloc(et);Re.read(i,s,0,et,0,(l,d)=>{e(s.subarray(0,d)),Re.close(i,()=>{})})}})});br.exports={LDD_PATH:Gn,SELF_PATH:Jn,readFileSync:Yn,readFile:Wn}});var Ir=Ie((Yi,kr)=>{"use strict";var Xn=t=>{if(t.length<64||t.readUInt32BE(0)!==2135247942||t.readUInt8(4)!==2||t.readUInt8(5)!==1)return null;let e=t.readUInt32LE(32),n=t.readUInt16LE(54),r=t.readUInt16LE(56);for(let i=0;i<r;i++){let s=e+i*n;if(t.readUInt32LE(s)===3){let d=t.readUInt32LE(s+8),c=t.readUInt32LE(s+32);return t.subarray(d,d+c).toString().replace(/\0.*$/g,"")}}return null};kr.exports={interpreterPath:Xn}});var zr=Ie((Wi,jr)=>{"use strict";var Tr=ne("child_process"),{isLinux:Ce,getReport:Ur}=gr(),{LDD_PATH:tt,SELF_PATH:vr,readFile:kt,readFileSync:It}=Sr(),{interpreterPath:Or}=Ir(),ue,de,he,Ar="getconf GNU_LIBC_VERSION 2>&1 || true; ldd --version 2>&1 || true",ke="",Lr=()=>ke||new Promise(t=>{Tr.exec(Ar,(e,n)=>{ke=e?" ":n,t(ke)})}),Pr=()=>{if(!ke)try{ke=Tr.execSync(Ar,{encoding:"utf8"})}catch{ke=" "}return ke},we="glibc",Br=/LIBC[a-z0-9 \-).]*?(\d+\.\d+)/i,Le="musl",Zn=t=>t.includes("libc.musl-")||t.includes("ld-musl-"),Mr=()=>{let t=Ur();return t.header&&t.header.glibcVersionRuntime?we:Array.isArray(t.sharedObjects)&&t.sharedObjects.some(Zn)?Le:null},Dr=t=>{let[e,n]=t.split(/[\r\n]+/);return e&&e.includes(we)?we:n&&n.includes(Le)?Le:null},Nr=t=>{if(t){if(t.includes("/ld-musl-"))return Le;if(t.includes("/ld-linux-"))return we}return null},Rr=t=>(t=t.toString(),t.includes("musl")?Le:t.includes("GNU C Library")?we:null),Qn=async()=>{if(de!==void 0)return de;de=null;try{let t=await kt(tt);de=Rr(t)}catch{}return de},ei=()=>{if(de!==void 0)return de;de=null;try{let t=It(tt);de=Rr(t)}catch{}return de},ti=async()=>{if(ue!==void 0)return ue;ue=null;try{let t=await kt(vr),e=Or(t);ue=Nr(e)}catch{}return ue},ri=()=>{if(ue!==void 0)return ue;ue=null;try{let t=It(vr),e=Or(t);ue=Nr(e)}catch{}return ue},Cr=async()=>{let t=null;if(Ce()&&(t=await ti(),!t&&(t=await Qn(),t||(t=Mr()),!t))){let e=await Lr();t=Dr(e)}return t},Kr=()=>{let t=null;if(Ce()&&(t=ri(),!t&&(t=ei(),t||(t=Mr()),!t))){let e=Pr();t=Dr(e)}return t},ni=async()=>Ce()&&await Cr()!==we,ii=()=>Ce()&&Kr()!==we,si=async()=>{if(he!==void 0)return he;he=null;try{let e=(await kt(tt)).match(Br);e&&(he=e[1])}catch{}return he},ai=()=>{if(he!==void 0)return he;he=null;try{let e=It(tt).match(Br);e&&(he=e[1])}catch{}return he},Fr=()=>{let t=Ur();return t.header&&t.header.glibcVersionRuntime?t.header.glibcVersionRuntime:null},Er=t=>t.trim().split(/\s+/)[1],Vr=t=>{let[e,n,r]=t.split(/[\r\n]+/);return e&&e.includes(we)?Er(e):n&&r&&n.includes(Le)?Er(r):null},li=async()=>{let t=null;if(Ce()&&(t=await si(),t||(t=Fr()),!t)){let e=await Lr();t=Vr(e)}return t},fi=()=>{let t=null;if(Ce()&&(t=ai(),t||(t=Fr()),!t)){let e=Pr();t=Vr(e)}return t};jr.exports={GLIBC:we,MUSL:Le,family:Cr,familySync:Kr,isNonGlibcLinux:ni,isNonGlibcLinuxSync:ii,version:li,versionSync:fi}});var nn=Ie((Xi,rn)=>{var oi=ne("fs"),le=ne("path"),ci=ne("url"),Hr=ne("os"),Gr=typeof __webpack_require__=="function"?__non_webpack_require__:ne,ui=process.config&&process.config.variables||{},di=!!process.env.PREBUILDS_ONLY,Ot=process.versions,Tt=Ot.modules;(Ot.deno||process.isBun)&&(Tt="unsupported");var Et=xi()?"electron":yi()?"node-webkit":"node",rt=process.env.npm_config_arch||Hr.arch(),nt=process.env.npm_config_platform||Hr.platform(),Jr=process.env.LIBC||(pi(nt)?"musl":"glibc"),Ut=process.env.ARM_VERSION||(rt==="arm64"?"8":ui.arm_version)||"",Yr=(Ot.uv||"").split(".")[0];rn.exports=ye;function ye(t){return Gr(ye.resolve(t))}ye.resolve=ye.path=function(t){t=le.resolve(t||".");var e="",n;try{e=Gr(le.join(t,"package.json")).name;var r=e.toUpperCase().replace(/-/g,"_");process.env[r+"_PREBUILD"]&&(t=process.env[r+"_PREBUILD"])}catch(b){n=b}if(!di){var i=qr(le.join(t,"build/Release"),$r);if(i)return i;var s=qr(le.join(t,"build/Debug"),$r);if(s)return s}var l=U(t);if(l)return l;var d=U(le.dirname(process.execPath));if(d)return d;var c=(e[0]=="@"?"":"@"+e+"/")+e+"-"+nt+"-"+rt,h;try{var m=le.dirname(ne("module").createRequire(ci.pathToFileURL(le.join(t,"package.json"))).resolve(c));return T(m)}catch(b){h=b}var y=["platform="+nt,"arch="+rt,"runtime="+Et,"abi="+Tt,"uv="+Yr,Ut?"armv="+Ut:"","libc="+Jr,"node="+process.versions.node,process.versions.electron?"electron="+process.versions.electron:"",typeof __webpack_require__=="function"?"webpack=true":""].filter(Boolean).join(" ");let x="No native build was found for "+y+`attempted loading from: `+t+" and package: "+c+``;throw n&&(x+="Error finding package.json: "+n.message+``),h&&(x+="Error resolving package: "+h.message+``),new Error(x);function U(b){var R=vt(le.join(b,"prebuilds")).map(Wr),j=R.filter(Xr(nt,rt)).sort(Zr)[0];if(j)return T(le.join(b,"prebuilds",j.name))}function T(b){var R=vt(b).map(Qr),j=R.filter(en(Et,Tt)),C=j.sort(tn(Et))[0];if(C)return le.join(b,C.file)}};function vt(t){try{return oi.readdirSync(t)}catch{return[]}}function qr(t,e){var n=vt(t).filter(e);return n[0]&&le.join(t,n[0])}function $r(t){return/\.node$/.test(t)}function Wr(t){var e=t.split("-");if(e.length===2){var n=e[0],r=e[1].split("+");if(n&&r.length&&r.every(Boolean))return{name:t,platform:n,architectures:r}}}function Xr(t,e){return function(n){return n==null||n.platform!==t?!1:n.architectures.includes(e)}}function Zr(t,e){return t.architectures.length-e.architectures.length}function Qr(t){var e=t.split("."),n=e.pop(),r={file:t,specificity:0};if(n==="node"){for(var i=0;i<e.length;i++){var s=e[i];if(s==="node"||s==="electron"||s==="node-webkit")r.runtime=s;else if(s==="napi")r.napi=!0;else if(s.slice(0,3)==="abi")r.abi=s.slice(3);else if(s.slice(0,2)==="uv")r.uv=s.slice(2);else if(s.slice(0,4)==="armv")r.armv=s.slice(4);else if(s==="glibc"||s==="musl")r.libc=s;else continue;r.specificity++}return r}}function en(t,e){return function(n){return!(n==null||n.runtime!==t&&!hi(n)||n.abi!==e&&!n.napi||n.uv&&n.uv!==Yr||n.armv&&n.armv!==Ut||n.libc&&n.libc!==Jr)}}function hi(t){return t.runtime==="node"&&t.napi}function tn(t){return function(e,n){return e.runtime!==n.runtime?e.runtime===t?-1:1:e.abi!==n.abi?e.abi?-1:1:e.specificity!==n.specificity?e.specificity>n.specificity?-1:1:0}}function yi(){return!!(process.versions&&process.versions.nw)}function xi(){return process.versions&&process.versions.electron||process.env.ELECTRON_RUN_AS_NODE?!0:typeof window<"u"&&window.process&&window.process.type==="renderer"}function pi(t){if(t!=="linux")return!1;let{familySync:e,MUSL:n}=zr();return e()===n}ye.parseTags=Qr;ye.matchTags=en;ye.compareTags=tn;ye.parseTuple=Wr;ye.matchTuple=Xr;ye.compareTuples=Zr});var sn=Ie((Qi,Lt)=>{var At=typeof __webpack_require__=="function"?__non_webpack_require__:ne;typeof At.addon=="function"?Lt.exports=At.addon.bind(At):Lt.exports=nn()});var ln=Ie((ts,an)=>{an.exports=sn()(__dirname)});var Ee=class{#t;#r;#e;#n;constructor(e,n=()=>!0,r={}){this.#t=e,this.#r=n,this.#n=r}then(e,n){this.toArray().then(e,n)}async*[Symbol.asyncIterator](){this.#e||(this.#e=this.#t.recordGenerator(this.#r,this.#n)),yield*this.#e}next(){return this.#e||(this.#e=this.#t.recordGenerator(this.#r,this.#n)),this.#e.next()}async toArray(){let e=[];for await(let n of this)e.push(n);return e}};import{dirname as dn,basename as hn,extname as yn,resolve as Pt}from"path";import{createReadStream as Ii,createWriteStream as xn}from"fs";import{mkdir as Ei,open as Bt,stat as pn,readFile as mn,writeFile as wn,rename as Ti,unlink as Ui}from"fs/promises";var at;try{at=new TextDecoder}catch{}var g,se,a=0;var ct=[],Ue=ct,Fe=0,$={},V,pe,ie=0,ae=0,X,me,ee=[],F,Rt={useRecords:!1,mapsAsObjects:!0},Ve=class{},ut=new Ve;ut.name="MessagePack 0xC1";var be=!1,Ht=2,lt,ft,ot;try{new Function("")}catch{Ht=1/0}var Se=class t{constructor(e){e&&(e.useRecords===!1&&e.mapsAsObjects===void 0&&(e.mapsAsObjects=!0),e.sequential&&e.trusted!==!1&&(e.trusted=!0,!e.structures&&e.useRecords!=!1&&(e.structures=[],e.maxSharedStructures||(e.maxSharedStructures=0))),e.structures?e.structures.sharedLength=e.structures.length:e.getStructures&&((e.structures=[]).uninitialized=!0,e.structures.sharedLength=0),e.int64AsNumber&&(e.int64AsType="number")),Object.assign(this,e)}unpack(e,n){if(g)return nr(()=>(He(),this?this.unpack(e,n):t.prototype.unpack.call(Rt,e,n)));!e.buffer&&e.constructor===ArrayBuffer&&(e=typeof Buffer<"u"?Buffer.from(e):new Uint8Array(e)),typeof n=="object"?(se=n.end||e.length,a=n.start||0):(a=0,se=n>-1?n:e.length),Fe=0,ae=0,pe=null,Ue=ct,X=null,g=e;try{F=e.dataView||(e.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength))}catch(r){throw g=null,e instanceof Uint8Array?r:new Error("Source must be a Uint8Array or Buffer but was a "+(e&&typeof e=="object"?e.constructor.name:typeof e))}if(this instanceof t){if($=this,this.structures)return V=this.structures,qe(n);(!V||V.length>0)&&(V=[])}else $=Rt,(!V||V.length>0)&&(V=[]);return qe(n)}unpackMultiple(e,n){let r,i=0;try{be=!0;let s=e.length,l=this?this.unpack(e,s):Ge.unpack(e,s);if(n){if(n(l,i,a)===!1)return;for(;a<s;)if(i=a,n(qe(),i,a)===!1)return}else{for(r=[l];a<s;)i=a,r.push(qe());return r}}catch(s){throw s.lastPosition=i,s.values=r,s}finally{be=!1,He()}}_mergeStructures(e,n){ft&&(e=ft.call(this,e)),e=e||[],Object.isFrozen(e)&&(e=e.map(r=>r.slice(0)));for(let r=0,i=e.length;r<i;r++){let s=e[r];s&&(s.isShared=!0,r>=32&&(s.highByte=r-32>>5))}e.sharedLength=e.length;for(let r in n||[])if(r>=0){let i=e[r],s=n[r];s&&(i&&((e.restoreStructures||(e.restoreStructures=[]))[r]=i),e[r]=s)}return this.structures=e}decode(e,n){return this.unpack(e,n)}};function qe(t){try{if(!$.trusted&&!be){let n=V.sharedLength||0;n<V.length&&(V.length=n)}let e;if($.randomAccessStructure&&g[a]<64&&g[a]>=32&<?(e=lt(g,a,se,$),g=null,!(t&&t.lazy)&&e&&(e=e.toJSON()),a=se):e=J(),X&&(a=X.postBundlePosition,X=null),be&&(V.restoreStructures=null),a==se)V&&V.restoreStructures&&Ct(),V=null,g=null,me&&(me=null);else{if(a>se)throw new Error("Unexpected end of MessagePack data");if(!be){let n;try{n=JSON.stringify(e,(r,i)=>typeof i=="bigint"?`${i}n`:i).slice(0,100)}catch(r){n="(JSON view not available "+r+")"}throw new Error("Data read, but end of buffer not reached "+n)}}return e}catch(e){throw V&&V.restoreStructures&&Ct(),He(),(e instanceof RangeError||e.message.startsWith("Unexpected end of buffer")||a>se)&&(e.incomplete=!0),e}}function Ct(){for(let t in V.restoreStructures)V[t]=V.restoreStructures[t];V.restoreStructures=null}function J(){let t=g[a++];if(t<160)if(t<128){if(t<64)return t;{let e=V[t&63]||$.getStructures&&Gt()[t&63];return e?(e.read||(e.read=dt(e,t&63)),e.read()):t}}else if(t<144)if(t-=128,$.mapsAsObjects){let e={};for(let n=0;n<t;n++){let r=tr();r==="__proto__"&&(r="__proto_"),e[r]=J()}return e}else{let e=new Map;for(let n=0;n<t;n++)e.set(J(),J());return e}else{t-=144;let e=new Array(t);for(let n=0;n<t;n++)e[n]=J();return $.freezeData?Object.freeze(e):e}else if(t<192){let e=t-160;if(ae>=a)return pe.slice(a-ie,(a+=e)-ie);if(ae==0&&se<140){let n=e<16?ht(e):er(e);if(n!=null)return n}return $e(e)}else{let e;switch(t){case 192:return null;case 193:return X?(e=J(),e>0?X[1].slice(X.position1,X.position1+=e):X[0].slice(X.position0,X.position0-=e)):ut;case 194:return!1;case 195:return!0;case 196:if(e=g[a++],e===void 0)throw new Error("Unexpected end of buffer");return st(e);case 197:return e=F.getUint16(a),a+=2,st(e);case 198:return e=F.getUint32(a),a+=4,st(e);case 199:return Te(g[a++]);case 200:return e=F.getUint16(a),a+=2,Te(e);case 201:return e=F.getUint32(a),a+=4,Te(e);case 202:if(e=F.getFloat32(a),$.useFloat32>2){let n=Oe[(g[a]&127)<<1|g[a+1]>>7];return a+=4,(n*e+(e>0?.5:-.5)>>0)/n}return a+=4,e;case 203:return e=F.getFloat64(a),a+=8,e;case 204:return g[a++];case 205:return e=F.getUint16(a),a+=2,e;case 206:return e=F.getUint32(a),a+=4,e;case 207:return $.int64AsType==="number"?(e=F.getUint32(a)*4294967296,e+=F.getUint32(a+4)):$.int64AsType==="string"?e=F.getBigUint64(a).toString():$.int64AsType==="auto"?(e=F.getBigUint64(a),e<=BigInt(2)<<BigInt(52)&&(e=Number(e))):e=F.getBigUint64(a),a+=8,e;case 208:return F.getInt8(a++);case 209:return e=F.getInt16(a),a+=2,e;case 210:return e=F.getInt32(a),a+=4,e;case 211:return $.int64AsType==="number"?(e=F.getInt32(a)*4294967296,e+=F.getUint32(a+4)):$.int64AsType==="string"?e=F.getBigInt64(a).toString():$.int64AsType==="auto"?(e=F.getBigInt64(a),e>=BigInt(-2)<<BigInt(52)&&e<=BigInt(2)<<BigInt(52)&&(e=Number(e))):e=F.getBigInt64(a),a+=8,e;case 212:if(e=g[a++],e==114)return qt(g[a++]&63);{let n=ee[e];if(n)return n.read?(a++,n.read(J())):n.noBuffer?(a++,n()):n(g.subarray(a,++a));throw new Error("Unknown extension "+e)}case 213:return e=g[a],e==114?(a++,qt(g[a++]&63,g[a++])):Te(2);case 214:return Te(4);case 215:return Te(8);case 216:return Te(16);case 217:return e=g[a++],ae>=a?pe.slice(a-ie,(a+=e)-ie):Jt(e);case 218:return e=F.getUint16(a),a+=2,ae>=a?pe.slice(a-ie,(a+=e)-ie):Yt(e);case 219:return e=F.getUint32(a),a+=4,ae>=a?pe.slice(a-ie,(a+=e)-ie):Wt(e);case 220:return e=F.getUint16(a),a+=2,Ft(e);case 221:return e=F.getUint32(a),a+=4,Ft(e);case 222:return e=F.getUint16(a),a+=2,Vt(e);case 223:return e=F.getUint32(a),a+=4,Vt(e);default:if(t>=224)return t-256;if(t===void 0){let n=new Error("Unexpected end of MessagePack data");throw n.incomplete=!0,n}throw new Error("Unknown MessagePack token "+t)}}}var bn=/^[a-zA-Z_$][a-zA-Z\d_$]*$/;function dt(t,e){function n(){if(n.count++>Ht){let i=t.read=new Function("r","return function(){return "+($.freezeData?"Object.freeze":"")+"({"+t.map(s=>s==="__proto__"?"__proto_:r()":bn.test(s)?s+":r()":"["+JSON.stringify(s)+"]:r()").join(",")+"})}")(J);return t.highByte===0&&(t.read=Kt(e,t.read)),i()}let r={};for(let i=0,s=t.length;i<s;i++){let l=t[i];l==="__proto__"&&(l="__proto_"),r[l]=J()}return $.freezeData?Object.freeze(r):r}return n.count=0,t.highByte===0?Kt(e,n):n}var Kt=(t,e)=>function(){let n=g[a++];if(n===0)return e();let r=t<32?-(t+(n<<5)):t+(n<<5),i=V[r]||Gt()[r];if(!i)throw new Error("Record id is not defined for "+r);return i.read||(i.read=dt(i,t)),i.read()};function Gt(){let t=nr(()=>(g=null,$.getStructures()));return V=$._mergeStructures(t,V)}var $e=ve,Jt=ve,Yt=ve,Wt=ve,Xt=!1;function Zt(t){Xt=!0,$e=e(1),Jt=e(2),Yt=e(3),Wt=e(5);function e(n){return function(i){let s=Ue[Fe++];if(s==null){if(X)return ve(i);let d=g.byteOffset,c=t(a-n+d,se+d,g.buffer);if(typeof c=="string")s=c,Ue=ct;else if(Ue=c,Fe=1,ae=1,s=Ue[0],s===void 0)throw new Error("Unexpected end of buffer")}let l=s.length;return l<=i?(a+=i,s):(pe=s,ie=a,ae=a+l,a+=i,s.slice(0,i))}}}function ve(t){let e;if(t<16&&(e=ht(t)))return e;if(t>64&&at)return at.decode(g.subarray(a,a+=t));let n=a+t,r=[];for(e="";a<n;){let i=g[a++];if((i&128)===0)r.push(i);else if((i&224)===192){let s=g[a++]&63;r.push((i&31)<<6|s)}else if((i&240)===224){let s=g[a++]&63,l=g[a++]&63;r.push((i&31)<<12|s<<6|l)}else if((i&248)===240){let s=g[a++]&63,l=g[a++]&63,d=g[a++]&63,c=(i&7)<<18|s<<12|l<<6|d;c>65535&&(c-=65536,r.push(c>>>10&1023|55296),c=56320|c&1023),r.push(c)}else r.push(i);r.length>=4096&&(e+=Z.apply(String,r),r.length=0)}return r.length>0&&(e+=Z.apply(String,r)),e}function Qt(t,e,n){let r=g;g=t,a=e;try{return ve(n)}finally{g=r}}function Ft(t){let e=new Array(t);for(let n=0;n<t;n++)e[n]=J();return $.freezeData?Object.freeze(e):e}function Vt(t){if($.mapsAsObjects){let e={};for(let n=0;n<t;n++){let r=tr();r==="__proto__"&&(r="__proto_"),e[r]=J()}return e}else{let e=new Map;for(let n=0;n<t;n++)e.set(J(),J());return e}}var Z=String.fromCharCode;function er(t){let e=a,n=new Array(t);for(let r=0;r<t;r++){let i=g[a++];if((i&128)>0){a=e;return}n[r]=i}return Z.apply(String,n)}function ht(t){if(t<4)if(t<2){if(t===0)return"";{let e=g[a++];if((e&128)>1){a-=1;return}return Z(e)}}else{let e=g[a++],n=g[a++];if((e&128)>0||(n&128)>0){a-=2;return}if(t<3)return Z(e,n);let r=g[a++];if((r&128)>0){a-=3;return}return Z(e,n,r)}else{let e=g[a++],n=g[a++],r=g[a++],i=g[a++];if((e&128)>0||(n&128)>0||(r&128)>0||(i&128)>0){a-=4;return}if(t<6){if(t===4)return Z(e,n,r,i);{let s=g[a++];if((s&128)>0){a-=5;return}return Z(e,n,r,i,s)}}else if(t<8){let s=g[a++],l=g[a++];if((s&128)>0||(l&128)>0){a-=6;return}if(t<7)return Z(e,n,r,i,s,l);let d=g[a++];if((d&128)>0){a-=7;return}return Z(e,n,r,i,s,l,d)}else{let s=g[a++],l=g[a++],d=g[a++],c=g[a++];if((s&128)>0||(l&128)>0||(d&128)>0||(c&128)>0){a-=8;return}if(t<10){if(t===8)return Z(e,n,r,i,s,l,d,c);{let h=g[a++];if((h&128)>0){a-=9;return}return Z(e,n,r,i,s,l,d,c,h)}}else if(t<12){let h=g[a++],m=g[a++];if((h&128)>0||(m&128)>0){a-=10;return}if(t<11)return Z(e,n,r,i,s,l,d,c,h,m);let y=g[a++];if((y&128)>0){a-=11;return}return Z(e,n,r,i,s,l,d,c,h,m,y)}else{let h=g[a++],m=g[a++],y=g[a++],x=g[a++];if((h&128)>0||(m&128)>0||(y&128)>0||(x&128)>0){a-=12;return}if(t<14){if(t===12)return Z(e,n,r,i,s,l,d,c,h,m,y,x);{let U=g[a++];if((U&128)>0){a-=13;return}return Z(e,n,r,i,s,l,d,c,h,m,y,x,U)}}else{let U=g[a++],T=g[a++];if((U&128)>0||(T&128)>0){a-=14;return}if(t<15)return Z(e,n,r,i,s,l,d,c,h,m,y,x,U,T);let b=g[a++];if((b&128)>0){a-=15;return}return Z(e,n,r,i,s,l,d,c,h,m,y,x,U,T,b)}}}}}function jt(){let t=g[a++],e;if(t<192)e=t-160;else switch(t){case 217:e=g[a++];break;case 218:e=F.getUint16(a),a+=2;break;case 219:e=F.getUint32(a),a+=4;break;default:throw new Error("Expected string")}return ve(e)}function st(t){return $.copyBuffers?Uint8Array.prototype.slice.call(g,a,a+=t):g.subarray(a,a+=t)}function Te(t){let e=g[a++];if(ee[e]){let n;return ee[e](g.subarray(a,n=a+=t),r=>{a=r;try{return J()}finally{a=n}})}else throw new Error("Unknown extension type "+e)}var zt=new Array(4096);function tr(){let t=g[a++];if(t>=160&&t<192){if(t=t-160,ae>=a)return pe.slice(a-ie,(a+=t)-ie);if(!(ae==0&&se<180))return $e(t)}else return a--,rr(J());let e=(t<<5^(t>1?F.getUint16(a):t>0?g[a]:0))&4095,n=zt[e],r=a,i=a+t-3,s,l=0;if(n&&n.bytes==t){for(;r<i;){if(s=F.getUint32(r),s!=n[l++]){r=1879048192;break}r+=4}for(i+=3;r<i;)if(s=g[r++],s!=n[l++]){r=1879048192;break}if(r===i)return a=r,n.string;i-=3,r=a}for(n=[],zt[e]=n,n.bytes=t;r<i;)s=F.getUint32(r),n.push(s),r+=4;for(i+=3;r<i;)s=g[r++],n.push(s);let d=t<16?ht(t):er(t);return d!=null?n.string=d:n.string=$e(t)}function rr(t){if(typeof t=="string")return t;if(typeof t=="number"||typeof t=="boolean"||typeof t=="bigint")return t.toString();if(t==null)return t+"";if($.allowArraysInMapKeys&&Array.isArray(t)&&t.flat().every(e=>["string","number","boolean","bigint"].includes(typeof e)))return t.flat().toString();throw new Error(`Invalid property type for record: ${typeof t}`)}var qt=(t,e)=>{let n=J().map(rr),r=t;e!==void 0&&(t=t<32?-((e<<5)+t):(e<<5)+t,n.highByte=e);let i=V[t];return i&&(i.isShared||be)&&((V.restoreStructures||(V.restoreStructures=[]))[t]=i),V[t]=n,n.read=dt(n,r),n.read()};ee[0]=()=>{};ee[0].noBuffer=!0;ee[66]=t=>{let e=t.byteLength%8||8,n=BigInt(t[0]&128?t[0]-256:t[0]);for(let r=1;r<e;r++)n<<=BigInt(8),n+=BigInt(t[r]);if(t.byteLength!==e){let r=new DataView(t.buffer,t.byteOffset,t.byteLength),i=(s,l)=>{let d=l-s;if(d<=40){let y=r.getBigUint64(s);for(let x=s+8;x<l;x+=8)y<<=64n,y|=r.getBigUint64(x);return y}let c=s+(d>>4<<3),h=i(s,c),m=i(c,l);return h<<BigInt((l-c)*8)|m};n=n<<BigInt((r.byteLength-e)*8)|i(e,r.byteLength)}return n};var $t={Error,EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError,AggregateError:typeof AggregateError=="function"?AggregateError:null};ee[101]=()=>{let t=J();if(!$t[t[0]]){let e=Error(t[1],{cause:t[2]});return e.name=t[0],e}return $t[t[0]](t[1],{cause:t[2]})};ee[105]=t=>{if($.structuredClone===!1)throw new Error("Structured clone extension is disabled");let e=F.getUint32(a-4);me||(me=new Map);let n=g[a],r;n>=144&&n<160||n==220||n==221?r=[]:n>=128&&n<144||n==222||n==223?r=new Map:(n>=199&&n<=201||n>=212&&n<=216)&&g[a+1]===115?r=new Set:r={};let i={target:r};me.set(e,i);let s=J();if(i.used)Object.assign(r,s);else return i.target=s;if(r instanceof Map)for(let[l,d]of s.entries())r.set(l,d);if(r instanceof Set)for(let l of Array.from(s))r.add(l);return r};ee[112]=t=>{if($.structuredClone===!1)throw new Error("Structured clone extension is disabled");let e=F.getUint32(a-4),n=me.get(e);return n.used=!0,n.target};ee[115]=()=>new Set(J());var yt=["Int8","Uint8","Uint8Clamped","Int16","Uint16","Int32","Uint32","Float32","Float64","BigInt64","BigUint64"].map(t=>t+"Array"),Sn=typeof globalThis=="object"?globalThis:window;ee[116]=t=>{let e=t[0],n=Uint8Array.prototype.slice.call(t,1).buffer,r=yt[e];if(!r){if(e===16)return n;if(e===17)return new DataView(n);throw new Error("Could not find typed array for code "+e)}return new Sn[r](n)};ee[120]=()=>{let t=J();return new RegExp(t[0],t[1])};var kn=[];ee[98]=t=>{let e=(t[0]<<24)+(t[1]<<16)+(t[2]<<8)+t[3],n=a;return a+=e-t.length,X=kn,X=[jt(),jt()],X.position0=0,X.position1=0,X.postBundlePosition=a,a=n,J()};ee[255]=t=>t.length==4?new Date((t[0]*16777216+(t[1]<<16)+(t[2]<<8)+t[3])*1e3):t.length==8?new Date(((t[0]<<22)+(t[1]<<14)+(t[2]<<6)+(t[3]>>2))/1e6+((t[3]&3)*4294967296+t[4]*16777216+(t[5]<<16)+(t[6]<<8)+t[7])*1e3):t.length==12?new Date(((t[0]<<24)+(t[1]<<16)+(t[2]<<8)+t[3])/1e6+((t[4]&128?-281474976710656:0)+t[6]*1099511627776+t[7]*4294967296+t[8]*16777216+(t[9]<<16)+(t[10]<<8)+t[11])*1e3):new Date("invalid");function nr(t){ot&&ot();let e=se,n=a,r=Fe,i=ie,s=ae,l=pe,d=Ue,c=me,h=X,m=new Uint8Array(g.slice(0,se)),y=V,x=V.slice(0,V.length),U=$,T=be,b=t();return se=e,a=n,Fe=r,ie=i,ae=s,pe=l,Ue=d,me=c,X=h,g=m,be=T,V=y,V.splice(0,V.length,...x),$=U,F=new DataView(g.buffer,g.byteOffset,g.byteLength),b}function He(){g=null,me=null,V=null}var Oe=new Array(147);for(let t=0;t<256;t++)Oe[t]=+("1e"+Math.floor(45.15-t*.30103));var Ge=new Se({useRecords:!1}),xt=Ge.unpack,In=Ge.unpackMultiple,En=Ge.unpack,Je={NEVER:0,ALWAYS:1,DECIMAL_ROUND:3,DECIMAL_FIT:4},Tn=new Float32Array(1),Li=new Uint8Array(Tn.buffer,0,4);function ir(t,e,n){lt=t,ft=e,ot=n}var We;try{We=new TextEncoder}catch{}var wt,fr,Be=typeof Buffer<"u",Ye=Be?function(t){return Buffer.allocUnsafeSlow(t)}:Uint8Array,or=Be?Buffer:Uint8Array,sr=Be?4294967296:2144337920,u,je,H,f=0,Q,G=null,cr,Un=21760,vn=/[\u0080-\uFFFF]/,oe=Symbol("record-id"),Me=class extends Se{constructor(e){super(e),this.offset=0;let n,r,i,s,l,d=or.prototype.utf8Write?function(o,k){return u.utf8Write(o,k,u.byteLength-k)}:We&&We.encodeInto?function(o,k){return We.encodeInto(o,u.subarray(k)).written}:!1,c=this;e||(e={});let h=e&&e.sequential,m=e.structures||e.saveStructures,y=e.maxSharedStructures;if(y==null&&(y=m?32:0),y>8160)throw new Error("Maximum maxSharedStructure is 8160");e.structuredClone&&e.moreTypes==null&&(this.moreTypes=!0);let x=e.maxOwnStructures;x==null&&(x=m?32:64),!this.structures&&e.useRecords!=!1&&(this.structures=[]);let U=y>32||x+y>64,T=y+64,b=y+x+64;if(b>8256)throw new Error("Maximum maxSharedStructure + maxOwnStructure is 8192");let R=[],j=0,C=0;this.pack=this.encode=function(o,k){if(u||(u=new Ye(8192),H=u.dataView||(u.dataView=new DataView(u.buffer,0,8192)),f=0),Q=u.length-10,Q-f<2048?(u=new Ye(u.length),H=u.dataView||(u.dataView=new DataView(u.buffer,0,u.length)),Q=u.length-10,f=0):f=f+7&2147483640,r=f,k&Rn&&(f+=k&255),l=c.structuredClone?new Map:null,c.bundleStrings&&typeof o!="string"?(G=[],G.size=1/0):G=null,s=c.structures,s){s.uninitialized&&(s=c._mergeStructures(c.getStructures()));let w=s.sharedLength||0;if(w>y)throw new Error("Shared structures is larger than maximum shared structures, try increasing maxSharedStructures to "+s.sharedLength);if(!s.transitions){s.transitions=Object.create(null);for(let _=0;_<w;_++){let B=s[_];if(!B)continue;let M,L=s.transitions;for(let z=0,q=B.length;z<q;z++){let fe=B[z];M=L[fe],M||(M=L[fe]=Object.create(null)),L=M}L[oe]=_+64}this.lastNamedStructuresLength=w}h||(s.nextId=w+64)}i&&(i=!1);let S;try{c.randomAccessStructure&&o&&o.constructor&&o.constructor===Object?K(o):O(o);let w=G;if(G&&lr(r,O,0),l&&l.idsToInsert){let _=l.idsToInsert.sort((z,q)=>z.offset>q.offset?1:-1),B=_.length,M=-1;for(;w&&B>0;){let z=_[--B].offset+r;z<w.stringsPosition+r&&M===-1&&(M=0),z>w.position+r?M>=0&&(M+=6):(M>=0&&(H.setUint32(w.position+r,H.getUint32(w.position+r)+M),M=-1),w=w.previous,B++)}M>=0&&w&&H.setUint32(w.position+r,H.getUint32(w.position+r)+M),f+=_.length*6,f>Q&&D(f),c.offset=f;let L=On(u.subarray(r,f),_);return l=null,L}return c.offset=f,k&Dn?(u.start=r,u.end=f,u):u.subarray(r,f)}catch(w){throw S=w,w}finally{if(s&&(W(),i&&c.saveStructures)){let w=s.sharedLength||0,_=u.subarray(r,f),B=ur(s,c);if(!S)return c.saveStructures(B,B.isCompatible)===!1?c.pack(o,k):(c.lastNamedStructuresLength=w,u.length>1073741824&&(u=null),_)}u.length>1073741824&&(u=null),k&Nn&&(f=r)}};let W=()=>{C<10&&C++;let o=s.sharedLength||0;if(s.length>o&&!h&&(s.length=o),j>1e4)s.transitions=null,C=0,j=0,R.length>0&&(R=[]);else if(R.length>0&&!h){for(let k=0,S=R.length;k<S;k++)R[k][oe]=0;R=[]}},v=o=>{var k=o.length;k<16?u[f++]=144|k:k<65536?(u[f++]=220,u[f++]=k>>8,u[f++]=k&255):(u[f++]=221,H.setUint32(f,k),f+=4);for(let S=0;S<k;S++)O(o[S])},O=o=>{f>Q&&(u=D(f));var k=typeof o,S;if(k==="string"){let w=o.length;if(G&&w>=4&&w<4096){if((G.size+=w)>Un){let L,z=(G[0]?G[0].length*3+G[1].length:0)+10;f+z>Q&&(u=D(f+z));let q;G.position?(q=G,u[f]=200,f+=3,u[f++]=98,L=f-r,f+=4,lr(r,O,0),H.setUint16(L+r-3,f-r-L)):(u[f++]=214,u[f++]=98,L=f-r,f+=4),G=["",""],G.previous=q,G.size=0,G.position=L}let M=vn.test(o);G[M?0:1]+=o,u[f++]=193,O(M?-w:w);return}let _;w<32?_=1:w<256?_=2:w<65536?_=3:_=5;let B=w*3;if(f+B>Q&&(u=D(f+B)),w<64||!d){let M,L,z,q=f+_;for(M=0;M<w;M++)L=o.charCodeAt(M),L<128?u[q++]=L:L<2048?(u[q++]=L>>6|192,u[q++]=L&63|128):(L&64512)===55296&&((z=o.charCodeAt(M+1))&64512)===56320?(L=65536+((L&1023)<<10)+(z&1023),M++,u[q++]=L>>18|240,u[q++]=L>>12&63|128,u[q++]=L>>6&63|128,u[q++]=L&63|128):(u[q++]=L>>12|224,u[q++]=L>>6&63|128,u[q++]=L&63|128);S=q-f-_}else S=d(o,f+_);S<32?u[f++]=160|S:S<256?(_<2&&u.copyWithin(f+2,f+1,f+1+S),u[f++]=217,u[f++]=S):S<65536?(_<3&&u.copyWithin(f+3,f+2,f+2+S),u[f++]=218,u[f++]=S>>8,u[f++]=S&255):(_<5&&u.copyWithin(f+5,f+3,f+3+S),u[f++]=219,H.setUint32(f,S),f+=4),f+=S}else if(k==="number")if(o>>>0===o)o<32||o<128&&this.useRecords===!1||o<64&&!this.randomAccessStructure?u[f++]=o:o<256?(u[f++]=204,u[f++]=o):o<65536?(u[f++]=205,u[f++]=o>>8,u[f++]=o&255):(u[f++]=206,H.setUint32(f,o),f+=4);else if(o>>0===o)o>=-32?u[f++]=256+o:o>=-128?(u[f++]=208,u[f++]=o+256):o>=-32768?(u[f++]=209,H.setInt16(f,o),f+=2):(u[f++]=210,H.setInt32(f,o),f+=4);else{let w;if((w=this.useFloat32)>0&&o<4294967296&&o>=-2147483648){u[f++]=202,H.setFloat32(f,o);let _;if(w<4||(_=o*Oe[(u[f]&127)<<1|u[f+1]>>7])>>0===_){f+=4;return}else f--}u[f++]=203,H.setFloat64(f,o),f+=8}else if(k==="object"||k==="function")if(!o)u[f++]=192;else{if(l){let _=l.get(o);if(_){if(!_.id){let B=l.idsToInsert||(l.idsToInsert=[]);_.id=B.push(_)}u[f++]=214,u[f++]=112,H.setUint32(f,_.id),f+=4;return}else l.set(o,{offset:f-r})}let w=o.constructor;if(w===Object)E(o);else if(w===Array)v(o);else if(w===Map)if(this.mapAsEmptyObject)u[f++]=128;else{S=o.size,S<16?u[f++]=128|S:S<65536?(u[f++]=222,u[f++]=S>>8,u[f++]=S&255):(u[f++]=223,H.setUint32(f,S),f+=4);for(let[_,B]of o)O(_),O(B)}else{for(let _=0,B=wt.length;_<B;_++){let M=fr[_];if(o instanceof M){let L=wt[_];if(L.write){L.type&&(u[f++]=212,u[f++]=L.type,u[f++]=0);let Ke=L.write.call(this,o);Ke===o?Array.isArray(o)?v(o):E(o):O(Ke);return}let z=u,q=H,fe=f;u=null;let ge;try{ge=L.pack.call(this,o,Ke=>(u=z,z=null,f+=Ke,f>Q&&D(f),{target:u,targetView:H,position:f-Ke}),O)}finally{z&&(u=z,H=q,f=fe,Q=u.length-10)}ge&&(ge.length+f>Q&&D(ge.length+f),f=ar(ge,u,f,L.type));return}}if(Array.isArray(o))v(o);else{if(o.toJSON){let _=o.toJSON();if(_!==o)return O(_)}if(k==="function")return O(this.writeFunction&&this.writeFunction(o));E(o)}}}else if(k==="boolean")u[f++]=o?195:194;else if(k==="bigint"){if(o<9223372036854776e3&&o>=-9223372036854776e3)u[f++]=211,H.setBigInt64(f,o);else if(o<18446744073709552e3&&o>0)u[f++]=207,H.setBigUint64(f,o);else if(this.largeBigIntToFloat)u[f++]=203,H.setFloat64(f,Number(o));else{if(this.largeBigIntToString)return O(o.toString());if(this.useBigIntExtension||this.moreTypes){let w=o<0?BigInt(-1):BigInt(0),_;if(o>>BigInt(65536)===w){let B=BigInt(18446744073709552e3)-BigInt(1),M=[];for(;M.push(o&B),o>>BigInt(63)!==w;)o>>=BigInt(64);_=new Uint8Array(new BigUint64Array(M).buffer),_.reverse()}else{let B=o<0,M=(B?~o:o).toString(16);if(M.length%2?M="0"+M:parseInt(M.charAt(0),16)>=8&&(M="00"+M),Be)_=Buffer.from(M,"hex");else{_=new Uint8Array(M.length/2);for(let L=0;L<_.length;L++)_[L]=parseInt(M.slice(L*2,L*2+2),16)}if(B)for(let L=0;L<_.length;L++)_[L]=~_[L]}_.length+f>Q&&D(_.length+f),f=ar(_,u,f,66);return}else throw new RangeError(o+" was too large to fit in MessagePack 64-bit integer format, use useBigIntExtension, or set largeBigIntToFloat to convert to float-64, or set largeBigIntToString to convert to string")}f+=8}else if(k==="undefined")this.encodeUndefinedAsNil?u[f++]=192:(u[f++]=212,u[f++]=0,u[f++]=0);else throw new Error("Unknown type: "+k)},P=this.variableMapSize||this.coercibleKeyAsNumber||this.skipValues?o=>{let k;if(this.skipValues){k=[];for(let _ in o)(typeof o.hasOwnProperty!="function"||o.hasOwnProperty(_))&&!this.skipValues.includes(o[_])&&k.push(_)}else k=Object.keys(o);let S=k.length;S<16?u[f++]=128|S:S<65536?(u[f++]=222,u[f++]=S>>8,u[f++]=S&255):(u[f++]=223,H.setUint32(f,S),f+=4);let w;if(this.coercibleKeyAsNumber)for(let _=0;_<S;_++){w=k[_];let B=Number(w);O(isNaN(B)?w:B),O(o[w])}else for(let _=0;_<S;_++)O(w=k[_]),O(o[w])}:o=>{u[f++]=222;let k=f-r;f+=2;let S=0;for(let w in o)(typeof o.hasOwnProperty!="function"||o.hasOwnProperty(w))&&(O(w),O(o[w]),S++);if(S>65535)throw new Error('Object is too large to serialize with fast 16-bit map size, use the "variableMapSize" option to serialize this object');u[k+++r]=S>>8,u[k+r]=S&255},I=this.useRecords===!1?P:e.progressiveRecords&&!U?o=>{let k,S=s.transitions||(s.transitions=Object.create(null)),w=f++-r,_;for(let B in o)if(typeof o.hasOwnProperty!="function"||o.hasOwnProperty(B)){if(k=S[B],k)S=k;else{let M=Object.keys(o),L=S;S=s.transitions;let z=0;for(let q=0,fe=M.length;q<fe;q++){let ge=M[q];k=S[ge],k||(k=S[ge]=Object.create(null),z++),S=k}w+r+1==f?(f--,A(S,M,z)):N(S,M,w,z),_=!0,S=L[B]}O(o[B])}if(!_){let B=S[oe];B?u[w+r]=B:N(S,Object.keys(o),w,0)}}:o=>{let k,S=s.transitions||(s.transitions=Object.create(null)),w=0;for(let B in o)(typeof o.hasOwnProperty!="function"||o.hasOwnProperty(B))&&(k=S[B],k||(k=S[B]=Object.create(null),w++),S=k);let _=S[oe];_?_>=96&&U?(u[f++]=((_-=96)&31)+96,u[f++]=_>>5):u[f++]=_:A(S,S.__keys__||Object.keys(o),w);for(let B in o)(typeof o.hasOwnProperty!="function"||o.hasOwnProperty(B))&&O(o[B])},p=typeof this.useRecords=="function"&&this.useRecords,E=p?o=>{p(o)?I(o):P(o)}:I,D=o=>{let k;if(o>16777216){if(o-r>sr)throw new Error("Packed buffer would be larger than maximum buffer size");k=Math.min(sr,Math.round(Math.max((o-r)*(o>67108864?1.25:2),4194304)/4096)*4096)}else k=(Math.max(o-r<<2,u.length-1)>>12)+1<<12;let S=new Ye(k);return H=S.dataView||(S.dataView=new DataView(S.buffer,0,k)),o=Math.min(o,u.length),u.copy?u.copy(S,0,r,o):S.set(u.slice(r,o)),f-=r,r=0,Q=S.length-10,u=S},A=(o,k,S)=>{let w=s.nextId;w||(w=64),w<T&&this.shouldShareStructure&&!this.shouldShareStructure(k)?(w=s.nextOwnId,w<b||(w=T),s.nextOwnId=w+1):(w>=b&&(w=T),s.nextId=w+1);let _=k.highByte=w>=96&&U?w-96>>5:-1;o[oe]=w,o.__keys__=k,s[w-64]=k,w<T?(k.isShared=!0,s.sharedLength=w-63,i=!0,_>=0?(u[f++]=(w&31)+96,u[f++]=_):u[f++]=w):(_>=0?(u[f++]=213,u[f++]=114,u[f++]=(w&31)+96,u[f++]=_):(u[f++]=212,u[f++]=114,u[f++]=w),S&&(j+=C*S),R.length>=x&&(R.shift()[oe]=0),R.push(o),O(k))},N=(o,k,S,w)=>{let _=u,B=f,M=Q,L=r;u=je,f=0,r=0,u||(je=u=new Ye(8192)),Q=u.length-10,A(o,k,w),je=u;let z=f;if(u=_,f=B,Q=M,r=L,z>1){let q=f+z-1;q>Q&&D(q);let fe=S+r;u.copyWithin(fe+z,fe+1,f),u.set(je.slice(0,z),fe),f=q}else u[S+r]=je[0]},K=o=>{let k=cr(o,u,r,f,s,D,(S,w,_)=>{if(_)return i=!0;f=w;let B=u;return O(S),W(),B!==u?{position:f,targetView:H,target:u}:f},this);if(k===0)return E(o);f=k}}useBuffer(e){u=e,u.dataView||(u.dataView=new DataView(u.buffer,u.byteOffset,u.byteLength)),H=u.dataView,f=0}set position(e){f=e}get position(){return f}clearSharedData(){this.structures&&(this.structures=[]),this.typedStructs&&(this.typedStructs=[])}};fr=[Date,Set,Error,RegExp,ArrayBuffer,Object.getPrototypeOf(Uint8Array.prototype).constructor,DataView,Ve];wt=[{pack(t,e,n){let r=t.getTime()/1e3;if((this.useTimestamp32||t.getMilliseconds()===0)&&r>=0&&r<4294967296){let{target:i,targetView:s,position:l}=e(6);i[l++]=214,i[l++]=255,s.setUint32(l,r)}else if(r>0&&r<4294967296){let{target:i,targetView:s,position:l}=e(10);i[l++]=215,i[l++]=255,s.setUint32(l,t.getMilliseconds()*4e6+(r/1e3/4294967296>>0)),s.setUint32(l+4,r)}else if(isNaN(r)){if(this.onInvalidDate)return e(0),n(this.onInvalidDate());let{target:i,targetView:s,position:l}=e(3);i[l++]=212,i[l++]=255,i[l++]=255}else{let{target:i,targetView:s,position:l}=e(15);i[l++]=199,i[l++]=12,i[l++]=255,s.setUint32(l,t.getMilliseconds()*1e6),s.setBigInt64(l+4,BigInt(Math.floor(r)))}}},{pack(t,e,n){if(this.setAsEmptyObject)return e(0),n({});let r=Array.from(t),{target:i,position:s}=e(this.moreTypes?3:0);this.moreTypes&&(i[s++]=212,i[s++]=115,i[s++]=0),n(r)}},{pack(t,e,n){let{target:r,position:i}=e(this.moreTypes?3:0);this.moreTypes&&(r[i++]=212,r[i++]=101,r[i++]=0),n([t.name,t.message,t.cause])}},{pack(t,e,n){let{target:r,position:i}=e(this.moreTypes?3:0);this.moreTypes&&(r[i++]=212,r[i++]=120,r[i++]=0),n([t.source,t.flags])}},{pack(t,e){this.moreTypes?pt(t,16,e):mt(Be?Buffer.from(t):new Uint8Array(t),e)}},{pack(t,e){let n=t.constructor;n!==or&&this.moreTypes?pt(t,yt.indexOf(n.name),e):mt(t,e)}},{pack(t,e){this.moreTypes?pt(t,17,e):mt(Be?Buffer.from(t):new Uint8Array(t),e)}},{pack(t,e){let{target:n,position:r}=e(1);n[r]=193}}];function pt(t,e,n,r){let i=t.byteLength;if(i+1<256){var{target:s,position:l}=n(4+i);s[l++]=199,s[l++]=i+1}else if(i+1<65536){var{target:s,position:l}=n(5+i);s[l++]=200,s[l++]=i+1>>8,s[l++]=i+1&255}else{var{target:s,position:l,targetView:d}=n(7+i);s[l++]=201,d.setUint32(l,i+1),l+=4}s[l++]=116,s[l++]=e,t.buffer||(t=new Uint8Array(t)),s.set(new Uint8Array(t.buffer,t.byteOffset,t.byteLength),l)}function mt(t,e){let n=t.byteLength;var r,i;if(n<256){var{target:r,position:i}=e(n+2);r[i++]=196,r[i++]=n}else if(n<65536){var{target:r,position:i}=e(n+3);r[i++]=197,r[i++]=n>>8,r[i++]=n&255}else{var{target:r,position:i,targetView:s}=e(n+5);r[i++]=198,s.setUint32(i,n),i+=4}r.set(t,i)}function ar(t,e,n,r){let i=t.length;switch(i){case 1:e[n++]=212;break;case 2:e[n++]=213;break;case 4:e[n++]=214;break;case 8:e[n++]=215;break;case 16:e[n++]=216;break;default:i<256?(e[n++]=199,e[n++]=i):i<65536?(e[n++]=200,e[n++]=i>>8,e[n++]=i&255):(e[n++]=201,e[n++]=i>>24,e[n++]=i>>16&255,e[n++]=i>>8&255,e[n++]=i&255)}return e[n++]=r,e.set(t,n),n+=i,n}function On(t,e){let n,r=e.length*6,i=t.length-r;for(;n=e.pop();){let s=n.offset,l=n.id;t.copyWithin(s+r,s,i),r-=6;let d=s+r;t[d++]=214,t[d++]=105,t[d++]=l>>24,t[d++]=l>>16&255,t[d++]=l>>8&255,t[d++]=l&255,i=s}return t}function lr(t,e,n){if(G.length>0){H.setUint32(G.position+t,f+n-G.position-t),G.stringsPosition=f-t;let r=G;G=null,e(r[0]),e(r[1])}}function ur(t,e){return t.isCompatible=n=>{let r=!n||(e.lastNamedStructuresLength||0)===n.length;return r||e._mergeStructures(n),r},t}function dr(t,e){cr=t,ur=e}var hr=new Me({useRecords:!1}),_t=hr.pack,An=hr.pack;var{NEVER:Ln,ALWAYS:Pn,DECIMAL_ROUND:Bn,DECIMAL_FIT:Mn}=Je,Dn=512,Nn=1024,Rn=2048;var gt=3,Ne=0,ze=2,Xe=1,St=16,xr=["num","object","string","ascii"];xr[St]="date";var Cn=[!1,!0,!0,!1,!1,!0,!0,!1],pr;try{new Function(""),pr=!0}catch{}var Ae,Kn=typeof Buffer<"u",Ze,ce;try{Ze=new TextEncoder}catch{}var Fn=Kn?function(t,e,n){return t.utf8Write(e,n,t.byteLength-n)}:Ze&&Ze.encodeInto?function(t,e,n){return Ze.encodeInto(e,t.subarray(n)).written}:!1;dr(mr,$n);function mr(t,e,n,r,i,s,l,d){let c=d.typedStructs||(d.typedStructs=[]),h=e.dataView,m=(c.lastStringStart||100)+r,y=e.length-10,x=r;r>y&&(e=s(r),h=e.dataView,r-=n,x-=n,m-=n,n=0,y=e.length-10);let U,T=m,b=c.transitions||(c.transitions=Object.create(null)),R=c.nextId||c.length,j=R<15?1:R<240?2:R<61440?3:R<15728640?4:0;if(j===0)return 0;r+=j;let C=[],W,v=0;for(let P in t){let I=t[P],p=b[P];switch(p||(b[P]=p={key:P,parent:b,enumerationOffset:0,ascii0:null,ascii8:null,num8:null,string16:null,object16:null,num32:null,float64:null,date64:null}),r>y&&(e=s(r),h=e.dataView,r-=n,x-=n,m-=n,T-=n,n=0,y=e.length-10),typeof I){case"number":let E=I;if(R<200||!p.num64){if(E>>0===E&&E<536870912&&E>-520093696){E<246&&E>=0&&(p.num8&&!(R>200&&p.num32)||E<32&&!p.num32)?(b=p.num8||te(p,Ne,1),e[r++]=E):(b=p.num32||te(p,Ne,4),h.setUint32(r,E,!0),r+=4);break}else if(E<4294967296&&E>=-2147483648&&(h.setFloat32(r,E,!0),Cn[e[r+3]>>>5])){let K;if((K=E*Oe[(e[r+3]&127)<<1|e[r+2]>>7])>>0===K){b=p.num32||te(p,Ne,4),r+=4;break}}}b=p.num64||te(p,Ne,8),h.setFloat64(r,E,!0),r+=8;break;case"string":let D=I.length;if(U=T-m,(D<<2)+T>y&&(e=s((D<<2)+T),h=e.dataView,r-=n,x-=n,m-=n,T-=n,n=0,y=e.length-10),D>65280+U>>2){C.push(P,I,r-x);break}let A,N=T;if(D<64){let K,o,k;for(K=0;K<D;K++)o=I.charCodeAt(K),o<128?e[T++]=o:o<2048?(A=!0,e[T++]=o>>6|192,e[T++]=o&63|128):(o&64512)===55296&&((k=I.charCodeAt(K+1))&64512)===56320?(A=!0,o=65536+((o&1023)<<10)+(k&1023),K++,e[T++]=o>>18|240,e[T++]=o>>12&63|128,e[T++]=o>>6&63|128,e[T++]=o&63|128):(A=!0,e[T++]=o>>12|224,e[T++]=o>>6&63|128,e[T++]=o&63|128)}else T+=Fn(e,I,T),A=T-N>D;if(U<160||U<246&&(p.ascii8||p.string8)){if(A)(b=p.string8)||(c.length>10&&(b=p.ascii8)?(b.__type=ze,p.ascii8=null,p.string8=b,l(null,0,!0)):b=te(p,ze,1));else if(U===0&&!W){W=!0,b=p.ascii0||te(p,gt,0);break}else!(b=p.ascii8)&&!(c.length>10&&(b=p.string8))&&(b=te(p,gt,1));e[r++]=U}else b=p.string16||te(p,ze,2),h.setUint16(r,U,!0),r+=2;break;case"object":if(I){I.constructor===Date?(b=p.date64||te(p,St,8),h.setFloat64(r,I.getTime(),!0),r+=8):C.push(P,I,v);break}else p=yr(p,r,h,-10),p?(b=p,r=Ae):C.push(P,I,v);break;case"boolean":b=p.num8||p.ascii8||te(p,Ne,1),e[r++]=I?249:248;break;case"undefined":p=yr(p,r,h,-9),p?(b=p,r=Ae):C.push(P,I,v);break;default:C.push(P,I,v)}v++}for(let P=0,I=C.length;P<I;){let p=C[P++],E=C[P++],D=C[P++],A=b[p];A||(b[p]=A={key:p,parent:b,enumerationOffset:D-v,ascii0:null,ascii8:null,num8:null,string16:null,object16:null,num32:null,float64:null});let N;if(E){let K;U=T-m,U<65280?(b=A.object16,b?K=2:(b=A.object32)?K=4:(b=te(A,Xe,2),K=2)):(b=A.object32||te(A,Xe,4),K=4),N=l(E,T),typeof N=="object"?(T=N.position,h=N.targetView,e=N.target,m-=n,r-=n,x-=n,n=0):T=N,K===2?(h.setUint16(r,U,!0),r+=2):(h.setUint32(r,U,!0),r+=4)}else b=A.object16||te(A,Xe,2),h.setInt16(r,E===null?-10:-9,!0),r+=2;v++}let O=b[oe];if(O==null){O=d.typedStructs.length;let P=[],I=b,p,E;for(;(E=I.__type)!==void 0;){let D=I.__size;I=I.__parent,p=I.key;let A=[E,D,p];I.enumerationOffset&&A.push(I.enumerationOffset),P.push(A),I=I.parent}P.reverse(),b[oe]=O,d.typedStructs[O]=P,l(null,0,!0)}switch(j){case 1:if(O>=16)return 0;e[x]=O+32;break;case 2:if(O>=256)return 0;e[x]=56,e[x+1]=O;break;case 3:if(O>=65536)return 0;e[x]=57,h.setUint16(x+1,O,!0);break;case 4:if(O>=16777216)return 0;h.setUint32(x,(O<<8)+58,!0);break}if(r<m){if(m===T)return r;e.copyWithin(r,m,T),T+=r-m,c.lastStringStart=r-x}else if(r>m)return m===T?r:(c.lastStringStart=r-x,mr(t,e,n,x,i,s,l,d));return T}function yr(t,e,n,r){let i;if(i=t.ascii8||t.num8)return n.setInt8(e,r,!0),Ae=e+1,i;if(i=t.string16||t.object16)return n.setInt16(e,r,!0),Ae=e+2,i;if(i=t.num32)return n.setUint32(e,3758096640+r,!0),Ae=e+4,i;if(i=t.num64)return n.setFloat64(e,NaN,!0),n.setInt8(e,r),Ae=e+8,i;Ae=e}function te(t,e,n){let r=xr[e]+(n<<3),i=t[r]||(t[r]=Object.create(null));return i.__type=e,i.__size=n,i.__parent=t,i}function Vn(t){if(!(t instanceof Map))return t;let e=t.get("typed")||[];Object.isFrozen(e)&&(e=e.map(i=>i.slice(0)));let n=t.get("named"),r=Object.create(null);for(let i=0,s=e.length;i<s;i++){let l=e[i],d=r;for(let[c,h,m]of l){let y=d[m];y||(d[m]=y={key:m,parent:d,enumerationOffset:0,ascii0:null,ascii8:null,num8:null,string16:null,object16:null,num32:null,float64:null,date64:null}),d=te(y,c,h)}d[oe]=i}return e.transitions=r,this.typedStructs=e,this.lastTypedStructuresLength=e.length,n}var bt=Symbol.for("source");function jn(t,e,n,r){let i=t[e++]-32;if(i>=24)switch(i){case 24:i=t[e++];break;case 25:i=t[e++]+(t[e++]<<8);break;case 26:i=t[e++]+(t[e++]<<8)+(t[e++]<<16);break;case 27:i=t[e++]+(t[e++]<<8)+(t[e++]<<16)+(t[e++]<<24);break}let s=r.typedStructs&&r.typedStructs[i];if(!s){if(t=Uint8Array.prototype.slice.call(t,e,n),n-=e,e=0,!r.getStructures)throw new Error(`Reference to shared structure ${i} without getStructures method`);if(r._mergeStructures(r.getStructures()),!r.typedStructs)throw new Error("Could not find any shared typed structures");if(r.lastTypedStructuresLength=r.typedStructs.length,s=r.typedStructs[i],!s)throw new Error("Could not find typed structure "+i)}var l=s.construct,d=s.fullConstruct;if(!l){l=s.construct=function(){},d=s.fullConstruct=function(){},d.prototype=r.structPrototype||{};var c=l.prototype=r.structPrototype?Object.create(r.structPrototype):{};let m=[],y=0,x;for(let U=0,T=s.length;U<T;U++){let b=s[U],[R,j,C,W]=b;C==="__proto__"&&(C="__proto_");let v={key:C,offset:y};W?m.splice(U+W,0,v):m.push(v);let O;switch(j){case 0:O=()=>0;break;case 1:O=(I,p)=>{let E=I.bytes[p+v.offset];return E>=246?De(E):E};break;case 2:O=(I,p)=>{let E=I.bytes,A=(E.dataView||(E.dataView=new DataView(E.buffer,E.byteOffset,E.byteLength))).getUint16(p+v.offset,!0);return A>=65280?De(A&255):A};break;case 4:O=(I,p)=>{let E=I.bytes,A=(E.dataView||(E.dataView=new DataView(E.buffer,E.byteOffset,E.byteLength))).getUint32(p+v.offset,!0);return A>=4294967040?De(A&255):A};break}v.getRef=O,y+=j;let P;switch(R){case gt:x&&!x.next&&(x.next=v),x=v,v.multiGetCount=0,P=function(I){let p=I.bytes,E=I.position,D=y+E,A=O(I,E);if(typeof A!="number")return A;let N,K=v.next;for(;K&&(N=K.getRef(I,E),typeof N!="number");)N=null,K=K.next;return N==null&&(N=I.bytesEnd-D),I.srcString?I.srcString.slice(A,N):Qt(p,A+D,N-A)};break;case ze:case Xe:x&&!x.next&&(x.next=v),x=v,P=function(I){let p=I.position,E=y+p,D=O(I,p);if(typeof D!="number")return D;let A=I.bytes,N,K=v.next;for(;K&&(N=K.getRef(I,p),typeof N!="number");)N=null,K=K.next;if(N==null&&(N=I.bytesEnd-E),R===ze)return A.toString("utf8",D+E,N+E);ce=I;try{return r.unpack(A,{start:D+E,end:N+E})}finally{ce=null}};break;case Ne:switch(j){case 4:P=function(I){let p=I.bytes,E=p.dataView||(p.dataView=new DataView(p.buffer,p.byteOffset,p.byteLength)),D=I.position+v.offset,A=E.getInt32(D,!0);if(A<536870912){if(A>-520093696)return A;if(A>-536870912)return De(A&255)}let N=E.getFloat32(D,!0),K=Oe[(p[D+3]&127)<<1|p[D+2]>>7];return(K*N+(N>0?.5:-.5)>>0)/K};break;case 8:P=function(I){let p=I.bytes,D=(p.dataView||(p.dataView=new DataView(p.buffer,p.byteOffset,p.byteLength))).getFloat64(I.position+v.offset,!0);if(isNaN(D)){let A=p[I.position+v.offset];if(A>=246)return De(A)}return D};break;case 1:P=function(I){let E=I.bytes[I.position+v.offset];return E<246?E:De(E)};break}break;case St:P=function(I){let p=I.bytes,E=p.dataView||(p.dataView=new DataView(p.buffer,p.byteOffset,p.byteLength));return new Date(E.getFloat64(I.position+v.offset,!0))};break}v.get=P}if(pr){let U=[],T=[],b=0,R;for(let C of m){if(r.alwaysLazyProperty&&r.alwaysLazyProperty(C.key)){R=!0;continue}Object.defineProperty(c,C.key,{get:zn(C.get),enumerable:!0});let W="v"+b++;T.push(W),U.push("o["+JSON.stringify(C.key)+"]="+W+"(s)")}R&&U.push("__proto__:this");let j=new Function(...T,"var c=this;return function(s){var o=new c();"+U.join(";")+";return o;}").apply(d,m.map(C=>C.get));Object.defineProperty(c,"toJSON",{value(C){return j.call(this,this[bt])}})}else Object.defineProperty(c,"toJSON",{value(U){let T={};for(let b=0,R=m.length;b<R;b++){let j=m[b].key;T[j]=this[j]}return T}})}var h=new l;return h[bt]={bytes:t,position:e,srcString:"",bytesEnd:n},h}function De(t){switch(t){case 246:return null;case 247:return;case 248:return!1;case 249:return!0}throw new Error("Unknown constant")}function zn(t){return function(){return t(this[bt])}}function qn(){ce&&(ce.bytes=Uint8Array.prototype.slice.call(ce.bytes,ce.position,ce.bytesEnd),ce.position=0,ce.bytesEnd=ce.bytes.length)}function $n(t,e){if(e.typedStructs){let r=new Map;r.set("named",t),r.set("typed",e.typedStructs),t=r}let n=e.lastTypedStructuresLength||0;return t.isCompatible=r=>{let i=!0;return r instanceof Map?((r.get("named")||[]).length!==(e.lastNamedStructuresLength||0)&&(i=!1),(r.get("typed")||[]).length!==n&&(i=!1)):(r instanceof Array||Array.isArray(r))&&r.length!==(e.lastNamedStructuresLength||0)&&(i=!1),i||e._mergeStructures(r),i},e.lastTypedStructuresLength=e.typedStructs&&e.typedStructs.length,t}ir(jn,Vn,qn);import{createRequire as _i}from"module";var gi=process.env.MSGPACKR_NATIVE_ACCELERATION_DISABLED!==void 0&&process.env.MSGPACKR_NATIVE_ACCELERATION_DISABLED.toLowerCase()==="true";if(!gi){let t;try{typeof ne=="function"?t=ln():t=_i(import.meta.url)("msgpackr-extract"),t&&Zt(t.extractStrings)}catch{}}function fn(t){let e=_t(t),n=4+e.length,r=Buffer.allocUnsafe(n);return r.writeInt32LE(n,0),e.copy(r,4),r}function xe(t){return xt(t)}function on(){let t=Date.now().toString(36).padStart(9,"0"),e=Math.random().toString(36).slice(2,5).padStart(3,"0");return t+e}var re={NUMBER:0,UUID:1,STRING:2},_e={LEXICAL:0,NUMERIC:1};import{writeFile as cn,readFile as un,open as Pe,rename as bi}from"fs/promises";import{createWriteStream as Si}from"fs";import{resolve as ki}from"path";var Y=4096,it=class{_dbDir;_dbName;_indexes;_indexTypes;_primaryKeyType;_persistIntervalId=null;_indexPaths={};_deltaIndexes={};_tombstones={};_persistThreshold=1e3;_totalDeltaCount=0;constructor(e,n,r,i,s){this._dbDir=e,this._dbName=n,this._indexes=r,this._indexTypes=i,this._primaryKeyType=s}async init(e,{forceRebuild:n=!1}={}){for(let r of this._indexes){this._deltaIndexes[r]=[],this._tombstones[r]=new Map;let i=ki(this._dbDir,`${this._dbName}.${r}.txt`);if(this._indexPaths[r]=i,n){await this._rebuildIndex(e,r);continue}try{let s=await Pe(i,"r"),l=await s.stat();await s.close(),l.size===0&&await this._rebuildIndex(e,r)}catch(s){if(s.code==="ENOENT")await this._rebuildIndex(e,r);else throw s}}}async _rebuildIndex(e,n){let r=`${this._indexPaths[n]}.${Date.now()}.tmp`,i=Si(r,{flags:"w",encoding:"utf-8"}),s=this._getDocsAndLocationsFromDataFile(e),l=[];for await(let{doc:d,loc:c}of s)if(d&&d[n]!==void 0){let h=d[n];l.push({key:h,loc:c})}l.sort((d,c)=>this._compareKeys(d.key,c.key));for(let d of l)i.write(`${d.key},${d.loc[0]},${d.loc[1]}`);await new Promise(d=>i.end(d)),await bi(r,this._indexPaths[n])}async*_getDocsAndLocationsFromDataFile(e){let n;try{n=await Pe(e,"r");let r=await n.stat(),i=0;for(;i<r.size;){let s=Buffer.alloc(4);await n.read(s,0,4,i);let l=s.readInt32LE(0);if(l<=0||i+l>r.size)break;let d=Buffer.alloc(l);await n.read(d,0,l,i),yield{doc:xe(d.subarray(4)),loc:[i,l]},i+=l}}catch(r){if(r.code!=="ENOENT")throw r}finally{await n?.close()}}_compareKeys(e,n){return typeof e=="number"&&typeof n=="number"?e-n:String(e).localeCompare(String(n))}startAutoPersist(e,n){this._persistThreshold=n,e>0&&(this._persistIntervalId=setInterval(async()=>{this._totalDeltaCount>0&&await this.persist()},e),this._persistIntervalId.unref())}async close(){this._persistIntervalId&&(clearInterval(this._persistIntervalId),this._persistIntervalId=null),await this.persist()}async persist(){for(let e of this._indexes){let n=[],r=this._indexPaths[e];try{n=(await un(r,"utf-8")).trim().split(``).filter(Boolean).map(h=>{let[m,y,x]=h.split(",");return{key:this._parseKey(m,e),loc:[parseInt(y),parseInt(x)]}})}catch(c){if(c.code!=="ENOENT")throw c}let i=this._tombstones[e],s=n.filter(c=>!i.has(c.loc[0])),l=this._deltaIndexes[e]||[],d=[...s,...l];if(d.sort((c,h)=>this._compareKeys(c.key,h.key)),d.length>0){let c=d.map(h=>`${h.key},${h.loc[0]},${h.loc[1]}`).join(``)+``;await cn(r,c,"utf-8")}else await cn(r,"","utf-8");this._deltaIndexes[e]=[],this._tombstones[e].clear()}this._totalDeltaCount=0}_parseKey(e,n){let r=this._indexTypes[n];if(r===_e.NUMERIC){let i=parseInt(e,10);if(!isNaN(i))return i}else if(r===_e.LEXICAL)return e;if(this._primaryKeyType===re.NUMBER){let i=parseInt(e,10);if(!isNaN(i))return i}return e}async _binarySearchOnDisk(e,n){try{let r=await Pe(this._indexPaths[e],"r"),i=await r.stat(),s=Math.ceil(i.size/Y),l=0,d=s-1,c=Buffer.alloc(1024);for(;l<=d;){let m=Math.floor((l+d)/2),y=m*Y,{bytesRead:x}=await r.read(c,0,1024,y);if(x===0)break;let T=c.subarray(0,x).toString("utf-8").split(``),b=this._parseKey(T[0].split(",")[0],e),R=this._parseKey(T[T.length-2]?.split(",")[0]||b,e);this._compareKeys(R,n)<0?l=m+1:d=m-1}return await r.close(),Math.max(0,l-1)*Y}catch(r){if(r.code==="ENOENT")return-1;throw r}}async findLastEntry(e,n){let r=this._parseKey(n,e),i=this._deltaIndexes[e]||[];for(let d=i.length-1;d>=0;d--){let c=i[d];if(this._compareKeys(c.key,r)===0)return c}let s=await this._findLastEntryOnDisk(e,r);return s?this._tombstones[e].has(s.loc[0])?null:s:null}async _findLastEntryOnDisk(e,n){let r=await this._binarySearchOnDisk(e,n);if(r===-1)return null;let i=null,s=await Pe(this._indexPaths[e],"r"),l=Buffer.alloc(Y),d=r;try{let c=await s.stat();for(;d<c.size;){let{bytesRead:h}=await s.read(l,0,Y,d);if(h===0)break;let y=l.slice(0,h).toString("utf-8").split(``),x=!1;for(let U of y){if(!U)continue;let[T,b,R]=U.split(","),j=this._parseKey(T,e);this._compareKeys(j,n)===0&&(x=!0,i={key:j,loc:[parseInt(b),parseInt(R)]})}if(x)break;d+=Y}}finally{await s.close()}return i}insert(e,n){for(let r of this._indexes)e[r]!==void 0&&(this._deltaIndexes[r].push({key:e[r],loc:n}),this._totalDeltaCount++);this._totalDeltaCount>=this._persistThreshold&&this.persist().catch(r=>console.error("Index persist error:",r))}async remove(e,n){let r=e[n],i=this._deltaIndexes[n]||[],s=i.findIndex(l=>this._compareKeys(l.key,r)===0);if(s!==-1){let l=i[s].loc[0];for(let d of this._indexes)this._deltaIndexes[d]=(this._deltaIndexes[d]||[]).filter(c=>c.loc[0]!==l)}else{let l=await this._findLastEntryOnDisk(n,r);if(l)for(let d of this._indexes)e[d]!==void 0&&this._tombstones[d].set(l.loc[0],!0)}}async getAllLocations(){let e=this._indexes[0],n=this._indexPaths[e],r=[];try{r=(await un(n,"utf-8")).trim().split(``).filter(Boolean).map(h=>{let[,m,y]=h.split(",");return{loc:[parseInt(m),parseInt(y)]}})}catch(c){if(c.code!=="ENOENT")throw c}let i=this._tombstones[e]||new Map,s=r.filter(c=>!i.has(c.loc[0])),l=this._deltaIndexes[e]||[],d=new Map;for(let c of s)d.set(`${c.loc[0]}:${c.loc[1]}`,c.loc);for(let c of l)d.set(`${c.loc[0]}:${c.loc[1]}`,c.loc);return Array.from(d.values())}async get(e,n){let r=this._parseKey(n,e),i=await this._getOnDisk(e,r),s=(this._deltaIndexes[e]||[]).filter(c=>this._compareKeys(c.key,r)===0),l=this._tombstones[e]||new Map,d=new Map;for(let c of i)l.has(c.loc[0])||d.set(`${c.loc[0]}:${c.loc[1]}`,c);for(let c of s)d.set(`${c.loc[0]}:${c.loc[1]}`,c);return Array.from(d.values())}async _getOnDisk(e,n){let r=await this._binarySearchOnDisk(e,n);if(r===-1)return[];let i=[],s=await Pe(this._indexPaths[e],"r"),l=Buffer.alloc(Y),d=r;try{let c=await s.stat();for(;d<c.size;){let{bytesRead:h}=await s.read(l,0,Y,d);if(h===0)break;let y=l.subarray(0,h).toString("utf-8").split(``),x,U=!1;for(let T of y){if(!T)continue;let[b,R,j]=T.split(",");x===void 0&&(x=this._parseKey(b,e));let C=this._parseKey(b,e);this._compareKeys(C,n)===0&&(U=!0,i.push({key:C,loc:[parseInt(R),parseInt(j)]}))}if(i.length>0&&!U||U===!1&&x&&this._compareKeys(x,n)>0)break;d+=Y}}finally{await s.close()}return i}async*entries(e,{from:n,to:r,direction:i="asc"}={}){let s=i==="desc",l=this._tombstones[e]||new Map,d=(this._deltaIndexes[e]||[]).filter(v=>!l.has(v.loc[0])).slice().sort((v,O)=>this._compareKeys(v.key,O.key)),c;if(s){if(c=d.length-1,n!==void 0)for(;c>=0&&this._compareKeys(d[c].key,n)>0;)c--}else if(c=0,n!==void 0)for(;c<d.length&&this._compareKeys(d[c].key,n)<0;)c++;let h=v=>r===void 0?!1:s?this._compareKeys(v,r)<0:this._compareKeys(v,r)>0,m,y=0,x=0;try{m=await Pe(this._indexPaths[e],"r"),y=(await m.stat()).size,s&&n===void 0?x=Math.max(0,Math.floor((y-1)/Y)*Y):n!==void 0&&(x=await this._binarySearchOnDisk(e,n),x===-1&&(x=s?Math.max(0,Math.floor((y-1)/Y)*Y):0))}catch(v){if(v.code!=="ENOENT")throw v}let U=Buffer.alloc(Y),T=new Set,b=this;async function*R(){if(!m)return;let v=x;try{for(;v<y;){let{bytesRead:O}=await m.read(U,0,Y,v);if(O===0)break;let P=U.subarray(0,O).toString("utf-8").split(``);for(let I of P){if(!I)continue;let[p,E,D]=I.split(","),A=b._parseKey(p,e);if(r!==void 0&&b._compareKeys(A,r)>0)return;let N=[parseInt(E),parseInt(D)];l.has(N[0])||n!==void 0&&b._compareKeys(A,n)<0||(yield{key:A,loc:N})}v+=Y}}finally{await m.close()}}async function*j(){if(!m)return;let v=x;try{let O=[];for(;v<y;){let{bytesRead:P}=await m.read(U,0,Y,v);if(P===0)break;let I=U.subarray(0,P).toString("utf-8").split(``);for(let p of I){if(!p)continue;let[E,D,A]=p.split(","),N=b._parseKey(E,e);if(n!==void 0&&b._compareKeys(N,n)>0||r!==void 0&&b._compareKeys(N,r)<0)continue;let K=[parseInt(D),parseInt(A)];l.has(K[0])||O.push({key:N,loc:K})}v+=Y}for(let P=O.length-1;P>=0;P--)yield O[P];for(v=x-Y;v>=0;){let{bytesRead:P}=await m.read(U,0,Y,v);if(P===0)break;let I=U.subarray(0,P).toString("utf-8").split(``),p=[];for(let E of I){if(!E)continue;let[D,A,N]=E.split(","),K=b._parseKey(D,e);if(r!==void 0&&b._compareKeys(K,r)<0)return;let o=[parseInt(A),parseInt(N)];l.has(o[0])||p.push({key:K,loc:o})}for(let E=p.length-1;E>=0;E--)yield p[E];v-=Y}}finally{await m.close()}}let C=s?j():R(),W=await C.next();for(;;){let v=!W.done,O=s?c>=0:c<d.length;if(!v&&!O)break;if(O&&h(d[c].key)){s?c=-1:c=d.length;continue}let P;if(!v)P=d[s?c--:c++];else if(!O)P=W.value,W=await C.next();else{let p=this._compareKeys(W.value.key,d[c].key);(s?p>=0:p<=0)?(P=W.value,W=await C.next()):P=d[s?c--:c++]}if(h(P.key)){W.done||await C.return();return}let I=`${P.loc[0]}:${P.loc[1]}`;T.has(I)||(T.add(I),yield P)}}async*_getDocsByLocation(e,n){let r=await Pe(e,"r");try{for(let i of n)if(i&&i.length===2&&i[1]>0){let[s,l]=i,d=Buffer.alloc(l);await r.read(d,0,l,s),yield xe(d.subarray(4))}}finally{await r.close()}}};var Mt=class{_dbFile=null;_primaryKeyType=null;_primaryKey=null;_classToUse=null;_indexes=[];_indexTypes={};_uniqueIndexes=new Set;_initPromise=null;_initState=0;_dataPath=null;_dataStream=null;_lockPath=null;_lockDepth=0;_indexManager=null;_meta={nextId:0,deleted:[]};_debug=!1;_indexPersistInterval=6e4;_indexPersistThreshold=1e3;_processExitHandler=null;_compact=!0;constructor(e,{primaryKey:n,primaryKeyType:r,indexes:i,debug:s,indexPersistInterval:l,indexPersistThreshold:d,compact:c}={}){this._dbFile=e||this._dbFile,this._debug=s||this._debug,c!==void 0&&(this._compact=c),l!==void 0&&(this._indexPersistInterval=l),d!==void 0&&(this._indexPersistThreshold=d),n&&(n.startsWith("*")?(this._primaryKey=n.slice(1),this._primaryKeyType=re.NUMBER):n.startsWith("@")?(this._primaryKey=n.slice(1),this._primaryKeyType=re.UUID):(this._primaryKey=n,this._primaryKeyType=re.STRING),r!==void 0&&(this._primaryKeyType=r)),this._primaryKey&&this._uniqueIndexes.add(this._primaryKey);let h=[...new Set([...this._primaryKey?[this._primaryKey]:[],...i||[],...this._indexes||[]])];this._indexes=[];for(let m of h){let y=m,x=!1;y.startsWith("!")&&(x=!0,y=y.slice(1)),y.startsWith("*")?(y=y.slice(1),this._indexTypes[y]=_e.NUMERIC):y.startsWith("@")?(y=y.slice(1),this._indexTypes[y]=_e.LEXICAL):y===this._primaryKey&&this._primaryKeyType===re.NUMBER?this._indexTypes[y]=_e.NUMERIC:this._indexTypes[y]=_e.LEXICAL,x&&this._uniqueIndexes.add(y),this._indexes.push(y)}}async init(){return this._initState===2?this:this._initState===1?this._initPromise:(this._initState=1,this._initPromise=new Promise(async e=>{if(!this._dbFile)throw new Error("No database file specified.");let n=dn(this._dbFile),r=hn(this._dbFile,yn(this._dbFile));await Ei(n,{recursive:!0}),this._dataPath=Pt(n,`${r}.mpack`),this._metaPath=Pt(n,`${r}.meta.json`),this._lockPath=Pt(n,`${r}.lock`);try{this._meta=JSON.parse(await mn(this._metaPath))}catch{this._meta={nextId:0,deleted:[]}}if(this._initState=2,this._compact&&await this.compact(),this._dataStream=xn(this._dataPath,{flags:"a"}),this._indexes.length>0){let i=dn(this._dbFile),s=hn(this._dbFile,yn(this._dbFile));this._indexManager=new it(i,s,this._indexes,this._indexTypes,this._primaryKeyType),await this._indexManager.init(this._dataPath),this._indexManager.startAutoPersist(this._indexPersistInterval,this._indexPersistThreshold),this._processExitHandler=async()=>{await this.close(),process.exit(0)},process.once("SIGINT",this._processExitHandler),process.once("SIGTERM",this._processExitHandler)}this._initPromise=null,e(this)}))}async insert(e,{skipPrimaryKey:n=!1}={}){await this.init(),await this._acquireLock("insert",e);try{let r=this._classToUse?Object.assign(new this._classToUse,e):{...e};if(this._primaryKey&&!n&&!r[this._primaryKey]&&(this._primaryKeyType===re.NUMBER?r[this._primaryKey]=this._meta.nextId++:this._primaryKeyType===re.UUID&&(r[this._primaryKey]=on())),this._indexManager&&this._uniqueIndexes.size>0){let c=this._primaryKey&&!n&&!e[this._primaryKey]&&(this._primaryKeyType===re.NUMBER||this._primaryKeyType===re.UUID),h=new Set(this._meta.deleted);for(let m of this._uniqueIndexes){if(c&&m===this._primaryKey)continue;let y=r[m];if(y===void 0)continue;if((await this._indexManager.get(m,y)).filter(T=>!h.has(T.loc[0])).length>0){let T=new Error(`Duplicate key: ${m}=${y}`);throw T.code="DUPLICATE_KEY",T.field=m,T.value=y,T}}}let i=fn(r),l=(await pn(this._dataPath).catch(()=>({size:0}))).size;await new Promise(c=>this._dataStream.write(i,c));let d=[l,i.length];return this._indexManager&&this._indexManager.insert(r,d),this._primaryKey&&this._primaryKeyType===re.NUMBER&&!n&&!e[this._primaryKey]&&await this.persistMeta(),this._primaryKey?r[this._primaryKey]:r}finally{await this._releaseLock()}}async update(e,n,{upsert:r=!1,index:i}={}){let s=await this.delete(e,{index:i,callback:async l=>this.insert(typeof n=="function"?await n(l):n,{skipPrimaryKey:!0})});return r&&s.length===0&&(s=await this.insert(typeof n=="function"?await n({}):n)),s}async upsert(e,n,{index:r}={}){return this.update(e,n,{upsert:!0,index:r})}async delete(e,{index:n,callback:r=async i=>i}={}){await this.init(),await this._acquireLock("delete",e);try{let i=[];for await(let[s,l]of this.find(e,{mode:"mixed",index:n}))this._meta.deleted.push(l),this._indexManager&&await this._indexManager.remove(s,this._primaryKey),i.push(r(s));return await this.persistMeta(),Promise.all(i)}finally{await this._releaseLock()}}find(e,n={}){if(typeof e>"u"||e===null||typeof e=="function")return new Ee(this,e,n);if(!this._primaryKey)throw new Error("No primary key specified.");return this._indexManager?new Ee(this,null,{...n,_indexLookup:{field:this._primaryKey,value:e}}):new Ee(this,r=>r[this._primaryKey]===e,n)}boundingBox(e,n){let r=e.map(h=>h.x),i=e.map(h=>h.y),s=Math.min(...r),l=Math.max(...r),d=Math.min(...i),c=Math.max(...i);return this.find(n||null,{index:[{field:"x",from:s,to:l},{field:"y",from:d,to:c}]})}async withLock(e){await this.init(),await this._acquireLock("withLock");try{return await e()}finally{await this._releaseLock()}}async*recordGenerator(e=null,{mode:n="record",_indexLookup:r,index:i}={}){if(await this.init(),await this.refresh(),r&&this._indexManager){yield*this._indexedLookup(r.field,r.value,n);return}if(i&&this._indexManager){yield*this._indexedStream(i,e,n);return}this._dataStream&&this._dataStream.writableLength>0&&await new Promise(m=>this._dataStream.once("drain",m));try{await pn(this._dataPath)}catch{return}let s=new Set(this._meta.deleted),l=Ii(this._dataPath),d=[],c=0,h=0;for await(let m of l)for(d.push(m),c+=m.length;!(c<4);){let y;d[0].length>=4?y=d[0]:y=Buffer.concat(d,4);let x=y.readInt32LE(0);if(x<=4)throw new Error(`Invalid record size read from stream: ${x}`);if(c<x)break;if(s.has(h)){[h,c]=_n(x,h,c,d);continue}switch(n){case"raw":yield Buffer.concat(d,x).subarray(0,x);break;case"mixed":case"record":let U=Buffer.concat(d,x).subarray(0,x),T=xe(U.subarray(4)),b=this._classToUse?Object.assign(new this._classToUse,T):T;e?e(b)&&(yield n==="mixed"?[b,h,x]:b):yield n==="mixed"?[b,h,x]:b;break;case"offset":if(e){let R=Buffer.concat(d,x).subarray(0,x),j=xe(R.subarray(4));e(j)&&(yield[h,x])}else yield[h,x];break;default:throw new Error(`Invalid mode: ${n}`)}[h,c]=_n(x,h,c,d)}}async*_indexedLookup(e,n,r="record"){let i=await this._indexManager.get(e,n);if(i.length===0)return;let s=new Set(this._meta.deleted),l=await Bt(this._dataPath,"r");try{for(let d of i){let[c,h]=d.loc;if(s.has(c))continue;let m=Buffer.alloc(h);switch(await l.read(m,0,h,c),r){case"raw":yield m;break;case"mixed":{let y=xe(m.subarray(4));yield[this._classToUse?Object.assign(new this._classToUse,y):y,c,h];break}default:{let y=xe(m.subarray(4));yield this._classToUse?Object.assign(new this._classToUse,y):y;break}}}}finally{await l.close()}}async*_indexedStream(e,n,r="record"){let i=Array.isArray(e)?e:[e],s=new Set(this._meta.deleted),l=[];for(let h of i){let m=new Map;if(h.value!==void 0){let y=await this._indexManager.get(h.field,h.value);for(let x of y)s.has(x.loc[0])||m.set(x.loc[0],x.loc)}else for await(let y of this._indexManager.entries(h.field,{from:h.from,to:h.to,direction:h.direction}))s.has(y.loc[0])||m.set(y.loc[0],y.loc);l.push(m)}let d;if(l.length===1)d=Array.from(l[0].values());else{l.sort((y,x)=>y.size-x.size);let[h,...m]=l;d=[];for(let[y,x]of h)m.every(U=>U.has(y))&&d.push(x)}let c=await Bt(this._dataPath,"r");try{for(let[h,m]of d){let y=Buffer.alloc(m);if(await c.read(y,0,m,h),r==="raw")yield y;else{let x=xe(y.subarray(4)),U=this._classToUse?Object.assign(new this._classToUse,x):x;if(n&&!n(U))continue;r==="mixed"?yield[U,h,m]:yield U}}}finally{await c.close()}}async refresh(){try{this._meta=JSON.parse(await mn(this._metaPath))}catch{}}async persistMeta(){let e={...this._meta};this._primaryKeyType!==re.NUMBER&&delete e.nextId,await wn(this._metaPath,JSON.stringify(e))}async compact(){await this._acquireLock("compact");try{let e=xn(this._dataPath+".tmp",{flags:"w"});for await(let n of this.find(null,{mode:"raw"}))e.write(n);await new Promise((n,r)=>{e.end(i=>i?r(i):n())}),await Ti(this._dataPath+".tmp",this._dataPath),this._meta.deleted=[],await this.persistMeta(),this._indexManager&&await this._indexManager.init(this._dataPath,{forceRebuild:!0})}finally{await this._releaseLock()}}async _acquireLock(e,n,r=0){if(this._lockDepth>0){this._lockDepth++;return}try{await wn(this._lockPath,String(process.pid),{flag:"wx"}),this._lockDepth=1}catch(i){if(i.code==="EEXIST")return this.debug(`Waiting for lock file ${e} retry #${r}`,n),await new Promise(s=>setTimeout(s,100)),this._acquireLock(e,n,r+1);throw i}}async _releaseLock(){this._lockDepth--,this._lockDepth<=0&&(this._lockDepth=0,await Ui(this._lockPath).catch(()=>{}))}async _getDocByLocation([e,n]){if(!e||n===0)return null;let r=await Bt(this._dataPath,"r");try{let i=Buffer.alloc(n);return await r.read(i,0,n,e),xe(i)}finally{await r.close()}}async close(){this._indexManager&&await this._indexManager.close(),this._dataStream&&await new Promise((e,n)=>{this._dataStream.end(r=>r?n(r):e())}),this._processExitHandler&&(process.off("SIGINT",this._processExitHandler),process.off("SIGTERM",this._processExitHandler),this._processExitHandler=null)}debug(...e){this._debug&&console.log(...e)}};function _n(t,e,n,r){e+=t,n-=t;let i=t;for(;i>0&&r.length>0;){let s=r[0];i>=s.length?(i-=s.length,r.shift()):(r[0]=s.subarray(i),i=0)}return[e,n]}var gn=Mt;function Dt(t){return t&&t!==null&&typeof t=="object"&&!Array.isArray(t)}function vi(t,...e){let n=new WeakSet,r=(i,s)=>{if(!(!Dt(i)||!Dt(s))&&!n.has(s)){n.add(s);for(let l in s)if(Dt(s[l])&&i[l])r(i[l],s[l]);else try{i[l]=s[l]}catch{}}};for(let i of e)r(t,i);return t}var Nt=class{constructor(e={},n=!0){n?vi(this,e):Object.assign(this,e)}};export{Ee as Cursor,_e as IndexType,gn as MPackDB,Nt as Model,re as PrimaryKeyType,gn as default};//# sourceMappingURL=mpackdb.min.js.map
Branches
- mastermain branch
Latest commits
- cde73eb4release 1.0.6caramboleyo
- d01dda02add index hints, intersection, boundingBox; remove findByIndexcaramboleyo
- b8ffc1a0release 1.0.5caramboleyo
- d47876a1reimplemented lost features like indexed find and more testscaramboleyo
- 7f08da9afixed insert ignoring model definitioncaramboleyo
- 705774a9added flush before findcaramboleyo
- b4db6391initial commitcaramboleyo