@tensorix/metahub 0.5.0 → 0.5.2

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/dist/db-worker.js CHANGED
@@ -1,4 +1,4 @@
1
- var wk=Object.defineProperty;var Sk=(e)=>e;function Ek(e,t){this[e]=Sk.bind(null,t)}var ur=(e,t)=>{for(var n in t)wk(e,n,{get:t[n],enumerable:!0,configurable:!0,set:Ek.bind(t,n)})};var he=(e,t)=>()=>(e&&(t=e(e=0)),t);var eh=`
1
+ var De=(e,t,r)=>()=>{if(e)try{t=e(e=0)}catch(n){r=[n]}if(r)throw r[0];return t};var qc=`
2
2
  CREATE TABLE IF NOT EXISTS meta (
3
3
  key TEXT PRIMARY KEY,
4
4
  value TEXT
@@ -308,7 +308,23 @@ CREATE TABLE IF NOT EXISTS blob_policy (
308
308
  redundancy TEXT, -- 'all' | 'any'
309
309
  __deleted INTEGER NOT NULL DEFAULT 0
310
310
  );
311
- `,th=`
311
+
312
+ -- Synced device roster (system tier, see tables.ts): one row per node id, written
313
+ -- by the device itself on open (describeSelf) and by anyone who renames it.
314
+ -- Replicates so every device shows the same name and icon for a peer — the only
315
+ -- record a purely bucket-joined device leaves besides its oplog stream. Each
316
+ -- column is its own LWW register, so a rename and a platform refresh never
317
+ -- clobber each other. meta.node_label survives as a node-local read fallback.
318
+ CREATE TABLE IF NOT EXISTS nodes (
319
+ id TEXT PRIMARY KEY, -- node_id
320
+ label TEXT, -- shared display name; any device may set it
321
+ platform TEXT, -- macos | windows | linux | ios | android | web
322
+ form TEXT, -- laptop | desktop | phone | server | browser
323
+ app TEXT, -- cli | server | desktop | web
324
+ first_seen INTEGER, -- epoch ms of the device's first self-description
325
+ __deleted INTEGER NOT NULL DEFAULT 0
326
+ );
327
+ `,Lc=`
312
328
  CREATE VIRTUAL TABLE IF NOT EXISTS search_fts USING fts5(
313
329
  kind UNINDEXED,
314
330
  id UNINDEXED,
@@ -316,38 +332,35 @@ CREATE VIRTUAL TABLE IF NOT EXISTS search_fts USING fts5(
316
332
  title,
317
333
  body
318
334
  );
319
- `;function kt(e=6){let t=crypto.getRandomValues(new Uint8Array(e)),n="";for(let i of t)n+="0123456789abcdefghijklmnopqrstuvwxyz".charAt(i%36);return n}function Bc(e,t="item"){return e.normalize("NFKD").replace(/[^\x20-\x7E]/g,"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,32).replace(/-+$/g,"")||t}function Zt(e,t,n=e){return`${e}_${Bc(t,n)}-${kt()}`}function jn(e){let t=e.indexOf("_");if(t<=0)return null;let n=e.slice(0,t);return xk.has(n)?n:null}var xk;var Ot=he(()=>{xk=new Set(["db","prop","rec","doc","blk","site","sf","chan"])});function nt(e){let t=e.query("SELECT value FROM meta WHERE key = 'node_id'").get();if(t)return t.value;let n=kt(8);return e.query("INSERT INTO meta (key, value) VALUES ('node_id', ?)").run(n),n}function Fn(e){return e.query("SELECT value FROM meta WHERE key = 'node_label'").get()?.value??null}function rh(e,t){if(t==null||t.trim()===""){e.query("DELETE FROM meta WHERE key = 'node_label'").run();return}e.query("INSERT INTO meta (key, value) VALUES ('node_label', ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value").run(t.trim())}function nh(e){let t=nt(e),n=e.query("SELECT node_id, label FROM peers WHERE node_id IS NOT NULL AND node_id <> '' GROUP BY node_id").all();return[{node_id:t,label:Fn(e),self:!0},...n.filter((i)=>i.node_id!==t).map((i)=>({...i,self:!1}))]}var yr=he(()=>{Ot()});function Wc(e,t){if(t<=65535)return{millis:e,counter:t};return{millis:e+Math.floor(t/65536),counter:t%65536}}function Hc(e){let{millis:t,counter:n}=Wc(e.millis,e.counter);return`${String(t).padStart(15,"0")}-${n.toString(16).padStart(4,"0")}-${e.node}`}function Zc(e){let t=e.indexOf("-"),n=e.indexOf("-",t+1);return{millis:Number(e.slice(0,t)),counter:parseInt(e.slice(t+1,n),16),node:e.slice(n+1)}}function ih(e,t){let n=e.query("SELECT value FROM meta WHERE key = 'hlc'").get();return n?Zc(n.value):{millis:0,counter:0,node:t}}function oh(e,t){e.query("INSERT INTO meta (key, value) VALUES ('hlc', ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value").run(Hc(t))}function sh(e,t,n=Date.now()){let i=ih(e,t),r=Math.max(i.millis,n),o=r===i.millis?i.counter+1:0,s={...Wc(r,o),node:t};return oh(e,s),Hc(s)}function ah(e,t,n,i=Date.now()){let r=ih(e,t),o=Zc(n);if(!Number.isFinite(o.millis)||!Number.isFinite(o.counter))return;let s=Math.max(r.millis,o.millis,i),c;if(s===r.millis&&s===o.millis)c=Math.max(r.counter,o.counter)+1;else if(s===r.millis)c=r.counter+1;else if(s===o.millis)c=o.counter+1;else c=0;oh(e,{...Wc(s,c),node:t})}function Mn(e){if(!e)return[];let t=e.replace(/\r\n?/g,`
335
+ `;function yt(e=6){let t=crypto.getRandomValues(new Uint8Array(e)),r="";for(let n of t)r+="0123456789abcdefghijklmnopqrstuvwxyz".charAt(n%36);return r}function Mi(e,t="item"){return e.normalize("NFKD").replace(/[^\x20-\x7E]/g,"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,32).replace(/-+$/g,"")||t}function Ot(e,t,r=e){return`${e}_${Mi(t,r)}-${yt()}`}function nn(e){let t=e.indexOf("_");if(t<=0)return null;let r=e.slice(0,t);return Um.has(r)?r:null}var Um;var bt=De(()=>{Um=new Set(["db","prop","rec","doc","blk","site","sf","chan"])});function je(e){let t=e.query("SELECT value FROM meta WHERE key = 'node_id'").get();if(t)return t.value;let r=yt(8);return e.query("INSERT INTO meta (key, value) VALUES ('node_id', ?)").run(r),r}function Cn(e,t){let r=e.query(`SELECT ${$c} FROM nodes WHERE id = ? AND __deleted = 0`).get(t);return r?Fc(r):null}function jm(e){return e.query(`SELECT ${$c} FROM nodes WHERE __deleted = 0`).all().map(Fc)}function zc(e){return e.query("SELECT value FROM meta WHERE key = 'node_label'").get()?.value??null}function Hm(e,t){if(t==null){e.query("DELETE FROM meta WHERE key = 'node_label'").run();return}e.query("INSERT INTO meta (key, value) VALUES ('node_label', ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value").run(t)}function Bi(e,t){let r=Cn(e,t)?.label;if(r)return r;let n=e.query("SELECT label FROM peers WHERE node_id = ? AND label IS NOT NULL AND label <> '' LIMIT 1").get(t);if(n?.label)return n.label;return t===je(e)?zc(e):null}function Mc(e){return Bi(e,je(e))}function Bc(e,t,r){let n=r??je(e),o=t==null||t.trim()===""?null:t.trim(),s=Cn(e,n);if(n===je(e))Hm(e,o);if(s&&s.label===o)return;if(!s&&o==null)return;Kt("node",()=>{be(e,"nodes",n,"label",o)})}function Uc(e,t={}){let r=je(e),n=Cn(e,r),o={};if(t.platform!==void 0&&(n?.platform??null)!==t.platform)o.platform=t.platform;if(t.form!==void 0&&(n?.form??null)!==t.form)o.form=t.form;if(t.app!==void 0&&(n?.app??null)!==t.app)o.app=t.app;if(n?.first_seen==null)o.first_seen=t.now??Date.now();if(!n?.label){let s=zc(e)??t.defaultLabel??null;if(s)o.label=s}if(Object.keys(o).length>0)Kt("node",()=>{for(let[s,a]of Object.entries(o))be(e,"nodes",r,s,a)});return Cn(e,r)}function Ui(e){let t=je(e),r=new Set([t]);for(let s of jm(e))r.add(s.node_id);let n=e.query("SELECT node_id FROM peers WHERE node_id IS NOT NULL AND node_id <> '' GROUP BY node_id").all();for(let s of n)r.add(s.node_id);let o=[...r].map((s)=>{let a=Cn(e,s);return{node_id:s,label:Bi(e,s),self:s===t,platform:a?.platform??null,form:a?.form??null,app:a?.app??null}});return o.sort((s,a)=>Number(a.self)-Number(s.self)),o}var $c="id, label, platform, form, app, first_seen",Fc=(e)=>({node_id:e.id,label:e.label,platform:e.platform??null,form:e.form??null,app:e.app??null,first_seen:e.first_seen});var Gt=De(()=>{bt();dt()});function ji(e,t){if(t<=65535)return{millis:e,counter:t};return{millis:e+Math.floor(t/65536),counter:t%65536}}function Hi(e){let{millis:t,counter:r}=ji(e.millis,e.counter);return`${String(t).padStart(15,"0")}-${r.toString(16).padStart(4,"0")}-${e.node}`}function Wi(e){let t=e.indexOf("-"),r=e.indexOf("-",t+1);return{millis:Number(e.slice(0,t)),counter:parseInt(e.slice(t+1,r),16),node:e.slice(r+1)}}function jc(e,t){let r=e.query("SELECT value FROM meta WHERE key = 'hlc'").get();return r?Wi(r.value):{millis:0,counter:0,node:t}}function Hc(e,t){e.query("INSERT INTO meta (key, value) VALUES ('hlc', ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value").run(Hi(t))}function Wc(e,t,r=Date.now()){let n=jc(e,t),o=Math.max(n.millis,r),s=o===n.millis?n.counter+1:0,a={...ji(o,s),node:t};return Hc(e,a),Hi(a)}function Zc(e,t,r,n=Date.now()){let o=jc(e,t),s=Wi(r);if(!Number.isFinite(s.millis)||!Number.isFinite(s.counter))return;let a=Math.max(o.millis,s.millis,n),u;if(a===o.millis&&a===s.millis)u=Math.max(o.counter,s.counter)+1;else if(a===o.millis)u=o.counter+1;else if(a===s.millis)u=s.counter+1;else u=0;Hc(e,{...ji(a,u),node:t})}function on(e){if(!e)return[];let t=e.replace(/\r\n?/g,`
320
336
  `).split(`
321
- `),n=[],i=[],r=null,o=0,s=()=>{if(i.length)n.push({text:i.join(`
322
- `),blankAfter:0}),i=[]},c=()=>{if(s(),n.length)n[n.length-1].blankAfter++};for(let d of t){if(r){i.push(d);let b=d.match(/^\s*(`{3,}|~{3,})\s*$/);if(b&&b[1][0]===r&&b[1].length>=o)s(),r=null,o=0;continue}let f=d.match(/^\s*(`{3,}|~{3,})/);if(f)s(),r=f[1][0],o=f[1].length,i.push(d);else if(d.trim()==="")c();else i.push(d)}s();for(let d=0;d<n.length-1;d++)n[d].blankAfter=Math.max(0,n[d].blankAfter-1);return n}function un(e){let t=e.filter((i)=>!!i.text&&i.text.length>0),n=[];return t.forEach((i,r)=>{n.push(...i.text.split(`
323
- `));let o=Math.max(0,i.blankAfter??0);if(r<t.length-1)n.push("");for(let s=0;s<o;s++)n.push("")}),n.join(`
324
- `)}function ch(e,t){let n=kk(e,t),i=new Set(n.map((c)=>c[0])),r=new Map(n.map((c)=>[c[1],c[0]])),o=t.map((c,d)=>r.has(d)?{keep:r.get(d)}:{insert:c}),s=[];for(let c=0;c<e.length;c++)if(!i.has(c))s.push(c);return{items:o,deleted:s}}function kk(e,t){let n=e.length,i=t.length,r=Array.from({length:n+1},()=>Array(i+1).fill(0));for(let d=n-1;d>=0;d--)for(let f=i-1;f>=0;f--)r[d][f]=e[d]===t[f]?r[d+1][f+1]+1:Math.max(r[d+1][f],r[d][f+1]);let o=[],s=0,c=0;while(s<n&&c<i)if(e[s]===t[c])o.push([s,c]),s++,c++;else if(r[s+1][c]>=r[s][c+1])s++;else c++;return o}function Tk(e){return Math.max(0,Math.trunc(Number.isFinite(e)?e:Date.now()))}function Hi(e=Date.now()){let t=Math.max(0,Tk(e)-2678400000);return String(t).padStart(15,"0")+"-"}function is(e,t=Date.now()){return e.dataset==="intent_receipts"&&e.hlc<Hi(t)}function Vc(e,t=Date.now()){return e.filter((n)=>!is(n,t))}function Wn(e,t=Date.now()){return e.query("DELETE FROM crdt_changes WHERE dataset = 'intent_receipts' AND hlc < ?").run(Hi(t)).changes}var Bn="intent_receipts";function Mr(e,t){if(os!==null)return t();os=(lh?lh+"/":"")+(e?e+":":"")+kt(8);try{return t()}finally{os=null}}function Ve(e,t=null){return(...n)=>Mr(t,()=>e(...n))}function uh(e,t,n){if(n!==null)return JSON.parse(n);return Dk.has(`${e}:${t}`)?0:null}function dh(e){if(e===null||e===void 0)return null;if(typeof e==="boolean")return e?1:0;if(typeof e==="number")return e;if(typeof e==="string")return e;return JSON.stringify(e)}function ss(e,t,n){e.query(`INSERT OR IGNORE INTO ${t} (id) VALUES (?)`).run(n)}function Rk(e,t){return e.query("SELECT 1 AS x FROM doc_blocks WHERE doc_id = ? LIMIT 1").get(t)!=null}function Ak(e,t){let n=e.query("SELECT text, blank_after FROM doc_blocks WHERE doc_id = ? AND __deleted = 0 ORDER BY order_key, id").all(t);ss(e,"documents",t),e.query("UPDATE documents SET body = ? WHERE id = ?").run(un(n.map((i)=>({text:i.text,blankAfter:i.blank_after??0}))),t)}function Ok(e,t,n,i,r){if(Zi.has(t))return;if(t==="records"){if(Gc.has(i)){ss(e,"records",n);let c=uh("records",i,r);e.query(`UPDATE records SET "${i}" = ? WHERE id = ?`).run(dh(c),n)}else if(ss(e,"records",n),r===null)e.query(`UPDATE records SET data = json_remove(data, '$."' || ? || '"') WHERE id = ?`).run(i,n);else e.query(`UPDATE records SET data = json_set(coalesce(data, '{}'), '$."' || ? || '"', json(?)) WHERE id = ?`).run(i,r,n);return}let o=Ik[t];if(!o||!o.cols.has(i))return;if(t==="documents"&&i==="body"&&Rk(e,n))return;ss(e,o.table,n);let s=uh(t,i,r);if(e.query(`UPDATE ${o.table} SET "${i}" = ? WHERE id = ?`).run(dh(s),n),t==="doc_blocks"){let c=e.query("SELECT doc_id FROM doc_blocks WHERE id = ?").get(n);if(c?.doc_id)Ak(e,c.doc_id)}}function cs(e,t){let n=e.query("INSERT OR IGNORE INTO crdt_changes (hlc, node_id, dataset, row_id, col, value, txn) VALUES (?, ?, ?, ?, ?, ?, ?)").run(t.hlc,t.node_id,t.dataset,t.row_id,t.col,t.value,t.txn??null).changes>0;if(e.query("SELECT MAX(hlc) AS h FROM crdt_changes WHERE dataset = ? AND row_id = ? AND col = ?").get(t.dataset,t.row_id,t.col).h!==t.hlc)return{inserted:n,winner:!1};try{Ok(e,t.dataset,t.row_id,t.col,t.value)}catch(r){if(n)e.query("DELETE FROM crdt_changes WHERE dataset = ? AND row_id = ? AND col = ? AND hlc = ?").run(t.dataset,t.row_id,t.col,t.hlc);throw r}return{inserted:n,winner:!0}}function xe(e,t,n,i,r){let o=$k??nt(e),s={hlc:sh(e,o),node_id:o,dataset:t,row_id:n,col:i,value:r===void 0?null:JSON.stringify(r),txn:os};return cs(e,s),s}function xr(e,t,n={}){let i=n.now??Date.now();Wn(e,i);let r=nt(e),o=0,s=0;if(e.transaction((d)=>{for(let f of d){if(is(f,i))continue;ah(e,r,f.hlc);try{if(cs(e,f).inserted)o++}catch(b){s++,console.error(`[ingest] skipped a change that failed to apply (dataset=${f.dataset} col=${f.col} row=${f.row_id}): ${b.message}`)}}})(t),s)console.error(`[ingest] ${s} change(s) skipped this batch (see above)`);return o}function Br(e,t,n={}){let i=n.excludeDatasets??[],r=["rowid > ?"],o=[t];if(i.length)r.push(`dataset NOT IN (${i.map(()=>"?").join(", ")})`),o.push(...i);if(n.onlyNode!=null)r.push("node_id = ?"),o.push(n.onlyNode);r.push("(dataset != ? OR hlc >= ?)"),o.push(Bn,Hi(n.now??Date.now()));let s=r.join(" AND "),c=n.limit!=null&&n.limit>0?` LIMIT ${Math.floor(n.limit)}`:"",d=e.query(`SELECT rowid AS seq, ${Vt} FROM crdt_changes WHERE ${s} ORDER BY rowid${c}`).all(...o),f=n.limit==null||n.limit<=0||d.length<n.limit,b;if(f){let x=e.query("SELECT MAX(rowid) AS m FROM crdt_changes").get();b=Math.max(t,x.m??t)}else b=d[d.length-1].seq;return{changes:d.map(({seq:x,...P})=>P),cursor:b}}var as,Vt,os=null,lh=null,fh,$k=null,Ik,Gc,Zi,Dk;var St=he(()=>{yr();Ot();as=["hlc","node_id","dataset","row_id","col","value","txn"],Vt=as.join(", "),fh=/^[a-z0-9_-]{1,16}$/;Ik={databases:{table:"databases",cols:new Set(["name","icon","meta","created_hlc","__deleted"])},properties:{table:"properties",cols:new Set(["database_id","name","type","config","position","__deleted"])},documents:{table:"documents",cols:new Set(["title","body","database_id","parent_id","created_hlc","order_key","__deleted"])},doc_blocks:{table:"doc_blocks",cols:new Set(["doc_id","text","order_key","blank_after","__deleted"])},sites:{table:"sites",cols:new Set(["name","title","created_hlc","visibility","spa","public_grants","__deleted"])},site_channels:{table:"site_channels",cols:new Set(["site_id","audience","hosting","controller_node_id","target_ref","canonical_url","policy_json","desired_state","created_hlc","__deleted"])},site_files:{table:"site_files",cols:new Set(["site_id","path","content_type","encoding","content","created_hlc","__deleted"])},blob_policy:{table:"blob_policy",cols:new Set(["full_nodes","redundancy","__deleted"])}},Gc=new Set(["database_id","created_hlc","order_key","__deleted"]),Zi=new Set([Bn]),Dk=new Set(["records:__deleted","databases:__deleted","properties:__deleted","documents:__deleted","doc_blocks:__deleted","doc_blocks:blank_after","sites:__deleted","sites:spa","site_channels:__deleted","site_files:__deleted","blob_policy:__deleted"])});function Hn(e){return e instanceof H?e.code:void 0}var H;var ut=he(()=>{H=class H extends Error{code;constructor(e,t){super(t);this.code=e;this.name="MhError"}}});function ph(e){return e.replace(/[^a-zA-Z0-9_]/g,"_")}function gh(e){return e.replace(/'/g,"''")}function mh(e,t){return`idx_rec_${ph(e)}_${ph(t)}`}function Pk(e,t,n){return e.query("SELECT 1 AS ok FROM sqlite_master WHERE type = 'index' AND name = ?").get(mh(t,n))!=null}function Kc(e,t,n){let i=mh(t,n);e.exec(`CREATE INDEX IF NOT EXISTS "${i}" ON records (data ->> '${gh(n)}', created_hlc) WHERE database_id = '${gh(t)}' AND __deleted = 0`)}function Jc(e,t,n){if(Pk(e,t,n.id))return;if(n.type!=="relation"&&n.type!=="doc"){if(e.query("SELECT COUNT(*) AS c FROM records WHERE database_id = ? AND __deleted = 0").get(t).c<2000)return}Kc(e,t,n.id)}function Xc(e,t){if(e==="select"||e==="multi_select"){let n=t?.options;if(!Array.isArray(n)||n.length===0||!n.every((i)=>typeof i==="string"))throw new H("invalid_input",`${e} requires config.options: string[]`)}if(e==="relation"){if(typeof t?.database!=="string")throw new H("invalid_input","relation requires config.database (target database id)")}}function Ck(e,t){return(e.query("SELECT MAX(position) AS m FROM properties WHERE database_id = ? AND __deleted = 0").get(t).m??0)+1}function Wr(e,t){let n=e.query(`SELECT ${hh} FROM properties WHERE id = ? AND __deleted = 0`).get(t);if(!n)return null;return{...n,config:n.config?JSON.parse(n.config):null}}function Yt(e,t){return e.query(`SELECT ${hh} FROM properties WHERE database_id = ? AND __deleted = 0 ORDER BY position`).all(t).map((i)=>({...i,config:i.config?JSON.parse(i.config):null}))}function yh(e,t,n){let i=Wr(e,t);if(!i)throw new H("not_found",`no such property: ${t}`);if(!Number.isFinite(n))throw new H("invalid_input","width must be a finite number");let r=Math.max(80,Math.min(2000,Math.round(n)));return Qc(e,t,{config:{...i.config??{},width:r}})}function vh(e,t){let n=Wr(e,t);if(!n)throw new H("not_found",`no such property: ${t}`);if(n.type!=="select"&&n.type!=="multi_select")throw new H("invalid_input",`${n.type} property has no options`);return{prop:n,options:n.config?.options??[]}}var _h,Nk,hh,ls,Qc,bh,wh,Sh;var dn=he(()=>{Ot();St();fn();ut();_h=new Set(["text","number","checkbox","select","multi_select","date","relation","doc","url"]),Nk=["id","database_id","name","type","config","position"],hh=Nk.join(", ");ls=Ve(function(t,n,i){if(!zt(t,n))throw new H("not_found",`no such database: ${n}`);if(!_h.has(i.type))throw new H("invalid_input",`unknown property type: ${i.type}`);Xc(i.type,i.config);let r=i.indexed?{...i.config??{},indexed:!0}:i.config??null,o=Zt("prop",i.name);if(xe(t,"properties",o,"database_id",n),xe(t,"properties",o,"name",i.name),xe(t,"properties",o,"type",i.type),xe(t,"properties",o,"config",r),xe(t,"properties",o,"position",i.position??Ck(t,n)),i.type==="relation"||i.type==="doc"||i.indexed===!0)Kc(t,n,o);return Wr(t,o)});Qc=Ve(function(t,n,i){let r=Wr(t,n);if(!r)throw new H("not_found",`no such property: ${n}`);let o=i.type!==void 0&&i.type!==r.type;if(i.type!==void 0&&!_h.has(i.type))throw new H("invalid_input",`unknown property type: ${i.type}`);let s=i.type??r.type,c;if(i.config!==void 0){let d={...r.config??{}};for(let[f,b]of Object.entries(i.config))if(b===null)delete d[f];else d[f]=b;c=d,Xc(s,c)}else if(o)Xc(i.type,r.config??void 0);if(i.name!==void 0)xe(t,"properties",n,"name",i.name);if(i.type!==void 0)xe(t,"properties",n,"type",i.type);if(c!==void 0)xe(t,"properties",n,"config",c);if(i.position!==void 0)xe(t,"properties",n,"position",i.position);if(o){let d=t.query("SELECT id FROM records WHERE database_id = ? AND __deleted = 0 AND data ->> ? IS NOT NULL").all(r.database_id,n);for(let f of d)xe(t,"records",f.id,n,null)}return Wr(t,n)});bh=Ve(function(t,n,i,r){let{prop:o,options:s}=vh(t,n);if(r=r.trim(),!r)throw new H("invalid_input","option name must not be empty");if(!s.includes(i))throw new H("not_found",`no such option: ${i}`);if(r===i)return{property:o,renamed:0};if(s.includes(r))throw new H("conflict",`option already exists: ${r}`);xe(t,"properties",n,"config",{...o.config??{},options:s.map((d)=>d===i?r:d)});let c=0;if(o.type==="select"){let d=t.query("SELECT id FROM records WHERE database_id = ? AND __deleted = 0 AND data ->> ? = ?").all(o.database_id,n,i);for(let f of d)xe(t,"records",f.id,n,r);c=d.length}else{let d=t.query("SELECT id, data ->> ? AS v FROM records WHERE database_id = ? AND __deleted = 0 AND data ->> ? IS NOT NULL").all(n,o.database_id,n);for(let f of d){let b=JSON.parse(f.v);if(!Array.isArray(b)||!b.includes(i))continue;xe(t,"records",f.id,n,[...new Set(b.map((x)=>x===i?r:x))]),c++}}return{property:Wr(t,n),renamed:c}}),wh=Ve(function(t,n,i){let{prop:r,options:o}=vh(t,n);if(!o.includes(i))throw new H("not_found",`no such option: ${i}`);if(o.length===1)throw new H("invalid_input","cannot remove the last option; delete the property instead");xe(t,"properties",n,"config",{...r.config??{},options:o.filter((c)=>c!==i)});let s=0;if(r.type==="select"){let c=t.query("SELECT id FROM records WHERE database_id = ? AND __deleted = 0 AND data ->> ? = ?").all(r.database_id,n,i);for(let d of c)xe(t,"records",d.id,n,null);s=c.length}else{let c=t.query("SELECT id, data ->> ? AS v FROM records WHERE database_id = ? AND __deleted = 0 AND data ->> ? IS NOT NULL").all(n,r.database_id,n);for(let d of c){let f=JSON.parse(d.v);if(!Array.isArray(f)||!f.includes(i))continue;xe(t,"records",d.id,n,f.filter((b)=>b!==i)),s++}}return{property:Wr(t,n),cleared:s}}),Sh=Ve(function(t,n){let i=Wr(t,n);if(!i)return!1;xe(t,"properties",n,"__deleted",1);let r=t.query("SELECT id FROM records WHERE database_id = ? AND __deleted = 0 AND data ->> ? IS NOT NULL").all(i.database_id,n);for(let o of r)xe(t,"records",o.id,n,void 0);return!0})});function kh(e){if(!e)return null;return{...e,meta:e.meta===null?null:JSON.parse(e.meta)}}function zt(e,t){return kh(e.query(`SELECT ${xh} FROM databases WHERE id = ? AND __deleted = 0`).get(t))}function Ih(e){return e.query(`SELECT ${xh} FROM databases WHERE __deleted = 0 ORDER BY created_hlc`).all().map((n)=>kh(n))}function Eh(e,t,n,i){return e.query(`SELECT id FROM ${t} WHERE ${n} = ? AND __deleted = 0`).all(i).map((r)=>r.id)}var qk,xh,Yc,Th,$h,Dh;var fn=he(()=>{Ot();St();ut();dn();pn();qk=["id","name","icon","meta","created_hlc"],xh=qk.join(", ");Yc=Ve(function(t,n){let i=Zt("db",n.name),r=xe(t,"databases",i,"name",n.name);if(xe(t,"databases",i,"created_hlc",r.hlc),n.icon!==void 0)xe(t,"databases",i,"icon",n.icon);return zt(t,i)}),Th=Ve(function(t,n,i){if(!zt(t,n))throw new H("not_found",`no such database: ${n}`);if(i.name!==void 0)xe(t,"databases",n,"name",i.name);if(i.icon!==void 0)xe(t,"databases",n,"icon",i.icon);if(i.meta!==void 0){if(i.meta!==null&&(typeof i.meta!=="object"||Array.isArray(i.meta)))throw new H("invalid_input","meta must be a JSON object or null");xe(t,"databases",n,"meta",i.meta)}return zt(t,n)}),$h=Ve(function(t,n,i={}){let r=zt(t,n);if(!r)throw new H("not_found",`no such database: ${n}`);let o=Yc(t,{name:i.name??r.name,icon:i.icon??r.icon??void 0});if(r.meta!==null){let{collapsed:b,...x}=r.meta;if(Object.keys(x).length)xe(t,"databases",o.id,"meta",x)}let s=new Map,c=new Set;for(let b of Yt(t,n)){let x=b.type==="relation"&&b.config?.database===n,P=x?{...b.config,database:o.id}:b.config??void 0,F=ls(t,o.id,{name:b.name,type:b.type,config:P,position:b.position});if(s.set(b.id,F.id),x)c.add(F.id)}let d=Zn(t,n),f=new Map;for(let b of d){let x={};for(let[P,F]of Object.entries(b.cells)){let ce=s.get(P);if(!ce)continue;if(c.has(ce)&&Array.isArray(F)&&F.length>0)continue;x[ce]=F}f.set(b.id,us(t,o.id,x).id)}for(let b of d){let x={};for(let[P,F]of Object.entries(b.cells)){let ce=s.get(P);if(ce&&c.has(ce)&&Array.isArray(F)&&F.length>0)x[ce]=F.map((ie)=>f.get(String(ie))??ie)}if(Object.keys(x).length)ds(t,f.get(b.id),x)}return zt(t,o.id)});Dh=Ve(function(t,n){if(!zt(t,n))return!1;xe(t,"databases",n,"__deleted",1);let i=(r)=>{for(let o of Eh(t,r,"database_id",n))xe(t,r,o,"__deleted",1)};i("properties"),i("records");for(let r of Eh(t,"documents","database_id",n))xe(t,"documents",r,"database_id",null);return t.query("DELETE FROM meta WHERE key = 'current_db' AND value = ?").run(n),!0})});function zk(e){return e!==null&&e!=="blk"}function Oh(e,t){return e.query("SELECT id FROM properties WHERE database_id = ? AND type = 'text' AND __deleted = 0 ORDER BY position LIMIT 1").get(t)?.id??null}function Uk(e,t,n,i){let r=Ah[t],o=r.nameCol;if(t==="rec"&&i){let P=Oh(e,i);if(P)o=`data ->> '${P.replace(/'/g,"''")}'`}let s=o??"''",c=[],d=[];c.push("(id >= ? AND id < ?)"),d.push(n,n+Rh);let f=`${t}_${n}`;if(c.push("(id >= ? AND id < ?)"),d.push(f,f+Rh),o)c.push(`lower(${o}) = lower(?)`),d.push(n);let b=`SELECT id, ${s} AS label FROM ${r.table} WHERE __deleted = 0 AND (${c.join(" OR ")})`;if(r.scoped&&i)b+=" AND database_id = ?",d.push(i);return e.query(b).all(...d).map((P)=>({kind:t,id:P.id,label:P.label??""}))}function fs(e,t,n={}){let i=n.kind?[n.kind]:zk(jn(t))?[jn(t)]:Lk,r=[],o=new Set;for(let s of i)for(let c of Uk(e,s,t,n.databaseId)){if(o.has(c.id))continue;o.add(c.id),r.push(c)}return r}function jk(e){return e.map((t)=>` ${t.id}${t.label?" "+t.label:""} (${t.kind})`).join(`
325
- `)}function Ph(e,t,n={}){let i=fs(e,t,n),r=i.filter((s)=>s.id===t);if(r.length===1)return r[0];if(r.length===0&&i.length===1)return i[0];if(i.length===0){let s=n.kind?Ah[n.kind].noun:"item";throw new H("not_found",`no such ${s}: ${t}`)}let o=r.length>1?r:i;throw new H("ambiguous",`ambiguous "${t}" — ${o.length} matches:
326
- ${jk(o)}
327
- add more characters.`)}var Ah,Lk,Rh="{";var el=he(()=>{Ot();ut();Ah={db:{table:"databases",nameCol:"name",scoped:!1,noun:"database"},prop:{table:"properties",nameCol:"name",scoped:!0,noun:"property"},rec:{table:"records",nameCol:null,scoped:!0,noun:"record"},doc:{table:"documents",nameCol:"title",scoped:!0,noun:"document"}},Lk=["db","prop","rec","doc"]});function tl(e,t){if(t!==null&&e>=t)throw Error(`fracdex: ${e} >= ${t}`);if(e.endsWith("0")||t!==null&&t.endsWith("0"))throw Error(`fracdex: trailing zero in ${e}/${t}`);if(t!==null){let o=0;while((e[o]??"0")===t[o])o++;if(o>0)return t.slice(0,o)+tl(e.slice(o),t.slice(o))}let i=e===""?0:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".indexOf(e[0]),r=t===null?62:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".indexOf(t[0]);if(r-i>1)return"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"[Math.round(0.5*(i+r))];if(t!==null&&t.length>1)return t.slice(0,1);return"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"[i]+tl(e.slice(1),null)}function dr(e,t){return tl(e??"",t)}function Nr(e,t,n){if(n<=0)return[];if(n===1)return[dr(e,t)];if(t===null){let o=dr(e,null),s=[o];for(let c=1;c<n;c++)o=dr(o,null),s.push(o);return s}if(e===null){let o=dr(null,t),s=[o];for(let c=1;c<n;c++)o=dr(null,o),s.unshift(o);return s}let i=Math.floor(n/2),r=dr(e,t);return[...Nr(e,r,i),r,...Nr(r,t,n-i-1)]}function Nh(e){return typeof e==="string"||typeof e==="number"||typeof e==="boolean"}function Fk(e){return typeof e==="boolean"?e?1:0:e}function Mk(e,t,n){let i=t.config?.database;if(!i)return n;let r=fs(e,n,{kind:"rec",databaseId:i}),o=r.find((s)=>s.id===n);if(o)return o.id;if(r.length===1)return r[0].id;if(r.length===0){if(jn(n)==="rec")return n;throw new H("not_found",`${t.name}: no such record in target database: ${n}`)}throw new H("ambiguous",`${t.name}: ambiguous relation "${n}" (${r.length} matches); use a full id`)}function Bk(e,t,n){let i=fs(e,n,{kind:"doc"}),r=i.find((o)=>o.id===n);if(r)return r.id;if(i.length===1)return i[0].id;if(i.length===0){if(jn(n)==="doc")return n;throw new H("not_found",`${t.name}: no such document: ${n}`)}throw new H("ambiguous",`${t.name}: ambiguous document "${n}" (${i.length} matches); use a full id`)}function nl(e,t,n){switch(t.type){case"text":case"url":case"date":{if(n===null)return null;if(typeof n!=="string")throw new H("invalid_input",`${t.name} expects a string`);return n}case"number":{if(n===null)return null;let i=typeof n==="number"?n:Number(n);if(!Number.isFinite(i))throw new H("invalid_input",`${t.name} expects a number`);return i}case"checkbox":{if(typeof n==="boolean")return n;if(n==="true"||n===1)return!0;if(n==="false"||n===0||n===null)return!1;throw new H("invalid_input",`${t.name} expects a boolean`)}case"select":{if(n===null)return null;let i=String(n);if(!t.config?.options?.includes(i))throw new H("invalid_input",`${t.name}: '${i}' is not an allowed option`);return i}case"multi_select":{let i=n===null?[]:Array.isArray(n)?n:[n],r=t.config?.options??[];for(let o of i)if(!r.includes(String(o)))throw new H("invalid_input",`${t.name}: '${o}' is not an allowed option`);return i.map(String)}case"relation":return(n===null?[]:Array.isArray(n)?n:[n]).map((r)=>Mk(e,t,String(r)));case"doc":return(n===null?[]:Array.isArray(n)?n:[n]).map((r)=>Bk(e,t,String(r)))}}function Wk(e){let t=new Map;for(let n of e){let i=n.name.toLowerCase(),r=t.get(i);if(r)r.push(n);else t.set(i,[n])}return t}function il(e,t){let n=new Map(e.map((o)=>[o.id,o])),i=Wk(e),r=[];for(let[o,s]of Object.entries(t)){let c=n.get(o);if(!c){let d=i.get(o.toLowerCase())??[];if(d.length>1)throw new H("ambiguous",`property name "${o}" matches ${d.length} properties; use a property id`);c=d[0]}if(!c)throw new H("not_found",`unknown property: ${o}`);r.push({prop:c,value:s})}return r}function Lh(e,t,n){return il(Yt(e,t),n).map(({prop:i,value:r})=>({prop:i,value:nl(e,i,r)}))}function zh(e,t){let n=JSON.parse(e.data||"{}"),i=new Map(t.map((s)=>[s.id,s])),r={},o={};for(let[s,c]of Object.entries(n)){let d=i.get(s);if(!d)continue;r[d.name]=c,o[d.id]=c}return{id:e.id,database_id:e.database_id,values:r,cells:o}}function Hk(e,t){let n=e.find((i)=>i.prop.type==="text"&&typeof i.value==="string"&&i.value);return Zt("rec",n?String(n.value):"",t)}function Ch(e,t){return e.query("SELECT 1 AS ok FROM sqlite_master WHERE type = 'table' AND name = ?").get(t)!=null}function Zk(e){return Ch(e,"meta")&&Ch(e,"crdt_changes")}function Vk(e,t,n,i){if(i)xe(e,"records",t,"order_key",n);else e.query("UPDATE records SET order_key = ? WHERE id = ?").run(n,t)}function Uh(e,t){return e.query(`SELECT order_key FROM records
337
+ `),r=[],n=[],o=null,s=0,a=()=>{if(n.length)r.push({text:n.join(`
338
+ `),blankAfter:0}),n=[]},u=()=>{if(a(),r.length)r[r.length-1].blankAfter++};for(let _ of t){if(o){n.push(_);let x=_.match(/^\s*(`{3,}|~{3,})\s*$/);if(x&&x[1][0]===o&&x[1].length>=s)a(),o=null,s=0;continue}let m=_.match(/^\s*(`{3,}|~{3,})/);if(m)a(),o=m[1][0],s=m[1].length,n.push(_);else if(_.trim()==="")u();else n.push(_)}a();for(let _=0;_<r.length-1;_++)r[_].blankAfter=Math.max(0,r[_].blankAfter-1);return r}function Nr(e){let t=e.filter((n)=>!!n.text&&n.text.length>0),r=[];return t.forEach((n,o)=>{r.push(...n.text.split(`
339
+ `));let s=Math.max(0,n.blankAfter??0);if(o<t.length-1)r.push("");for(let a=0;a<s;a++)r.push("")}),r.join(`
340
+ `)}function Gc(e,t){let r=Wm(e,t),n=new Set(r.map((u)=>u[0])),o=new Map(r.map((u)=>[u[1],u[0]])),s=t.map((u,_)=>o.has(_)?{keep:o.get(_)}:{insert:u}),a=[];for(let u=0;u<e.length;u++)if(!n.has(u))a.push(u);return{items:s,deleted:a}}function Wm(e,t){let r=e.length,n=t.length,o=Array.from({length:r+1},()=>Array(n+1).fill(0));for(let _=r-1;_>=0;_--)for(let m=n-1;m>=0;m--)o[_][m]=e[_]===t[m]?o[_+1][m+1]+1:Math.max(o[_+1][m],o[_][m+1]);let s=[],a=0,u=0;while(a<r&&u<n)if(e[a]===t[u])s.push([a,u]),a++,u++;else if(o[a+1][u]>=o[a][u+1])a++;else u++;return s}function Zm(e){return Math.max(0,Math.trunc(Number.isFinite(e)?e:Date.now()))}function qn(e=Date.now()){let t=Math.max(0,Zm(e)-2678400000);return String(t).padStart(15,"0")+"-"}function yo(e,t=Date.now()){return e.dataset==="intent_receipts"&&e.hlc<qn(t)}function Zi(e,t=Date.now()){return e.filter((r)=>!yo(r,t))}function an(e,t=Date.now()){return e.query("DELETE FROM crdt_changes WHERE dataset = 'intent_receipts' AND hlc < ?").run(qn(t)).changes}var sn="intent_receipts";function Kt(e,t){if(bo!==null)return t();bo=(Kc?Kc+"/":"")+(e?e+":":"")+yt(8);try{return t()}finally{bo=null}}function ze(e,t=null){return(...r)=>Kt(t,()=>e(...r))}function Vc(e,t,r){if(r!==null)return JSON.parse(r);return Vm.has(`${e}:${t}`)?0:null}function Jc(e){if(e===null||e===void 0)return null;if(typeof e==="boolean")return e?1:0;if(typeof e==="number")return e;if(typeof e==="string")return e;return JSON.stringify(e)}function wo(e,t,r){e.query(`INSERT OR IGNORE INTO ${t} (id) VALUES (?)`).run(r)}function Jm(e,t){return e.query("SELECT 1 AS x FROM doc_blocks WHERE doc_id = ? LIMIT 1").get(t)!=null}function Xm(e,t){let r=e.query("SELECT text, blank_after FROM doc_blocks WHERE doc_id = ? AND __deleted = 0 ORDER BY order_key, id").all(t);wo(e,"documents",t),e.query("UPDATE documents SET body = ? WHERE id = ?").run(Nr(r.map((n)=>({text:n.text,blankAfter:n.blank_after??0}))),t)}function Qm(e,t,r,n,o){if(Eo.has(t))return;if(t==="records"){if(Gi.has(n)){wo(e,"records",r);let u=Vc("records",n,o);e.query(`UPDATE records SET "${n}" = ? WHERE id = ?`).run(Jc(u),r)}else if(wo(e,"records",r),o===null)e.query(`UPDATE records SET data = json_remove(data, '$."' || ? || '"') WHERE id = ?`).run(n,r);else e.query(`UPDATE records SET data = json_set(coalesce(data, '{}'), '$."' || ? || '"', json(?)) WHERE id = ?`).run(n,o,r);return}let s=Km[t];if(!s||!s.cols.has(n))return;if(t==="documents"&&n==="body"&&Jm(e,r))return;wo(e,s.table,r);let a=Vc(t,n,o);if(e.query(`UPDATE ${s.table} SET "${n}" = ? WHERE id = ?`).run(Jc(a),r),t==="doc_blocks"){let u=e.query("SELECT doc_id FROM doc_blocks WHERE id = ?").get(r);if(u?.doc_id)Xm(e,u.doc_id)}}function So(e,t){let r=e.query("INSERT OR IGNORE INTO crdt_changes (hlc, node_id, dataset, row_id, col, value, txn) VALUES (?, ?, ?, ?, ?, ?, ?)").run(t.hlc,t.node_id,t.dataset,t.row_id,t.col,t.value,t.txn??null).changes>0;if(e.query("SELECT MAX(hlc) AS h FROM crdt_changes WHERE dataset = ? AND row_id = ? AND col = ?").get(t.dataset,t.row_id,t.col).h!==t.hlc)return{inserted:r,winner:!1};try{Qm(e,t.dataset,t.row_id,t.col,t.value)}catch(o){if(r)e.query("DELETE FROM crdt_changes WHERE dataset = ? AND row_id = ? AND col = ? AND hlc = ?").run(t.dataset,t.row_id,t.col,t.hlc);throw o}return{inserted:r,winner:!0}}function be(e,t,r,n,o){let s=Gm??je(e),a={hlc:Wc(e,s),node_id:s,dataset:t,row_id:r,col:n,value:o===void 0?null:JSON.stringify(o),txn:bo};return So(e,a),a}function rr(e,t,r={}){let n=r.now??Date.now();an(e,n);let o=je(e),s=0,a=0;if(e.transaction((_)=>{for(let m of _){if(yo(m,n))continue;Zc(e,o,m.hlc);try{if(So(e,m).inserted)s++}catch(x){a++,console.error(`[ingest] skipped a change that failed to apply (dataset=${m.dataset} col=${m.col} row=${m.row_id}): ${x.message}`)}}})(t),a)console.error(`[ingest] ${a} change(s) skipped this batch (see above)`);return s}function br(e,t,r={}){let n=r.excludeDatasets??[],o=["rowid > ?"],s=[t];if(n.length)o.push(`dataset NOT IN (${n.map(()=>"?").join(", ")})`),s.push(...n);if(r.onlyNode!=null)o.push("node_id = ?"),s.push(r.onlyNode);o.push("(dataset != ? OR hlc >= ?)"),s.push(sn,qn(r.now??Date.now()));let a=o.join(" AND "),u=r.limit!=null&&r.limit>0?` LIMIT ${Math.floor(r.limit)}`:"",_=e.query(`SELECT rowid AS seq, ${It} FROM crdt_changes WHERE ${a} ORDER BY rowid${u}`).all(...s),m=r.limit==null||r.limit<=0||_.length<r.limit,x;if(m){let D=e.query("SELECT MAX(rowid) AS m FROM crdt_changes").get();x=Math.max(t,D.m??t)}else x=_[_.length-1].seq;return{changes:_.map(({seq:D,...j})=>j),cursor:x}}var vo,It,bo=null,Kc=null,Xc,Gm=null,Km,Gi,Eo,Vm;var dt=De(()=>{Gt();bt();vo=["hlc","node_id","dataset","row_id","col","value","txn"],It=vo.join(", "),Xc=/^[a-z0-9_-]{1,16}$/;Km={databases:{table:"databases",cols:new Set(["name","icon","meta","created_hlc","__deleted"])},properties:{table:"properties",cols:new Set(["database_id","name","type","config","position","__deleted"])},documents:{table:"documents",cols:new Set(["title","body","database_id","parent_id","created_hlc","order_key","__deleted"])},doc_blocks:{table:"doc_blocks",cols:new Set(["doc_id","text","order_key","blank_after","__deleted"])},sites:{table:"sites",cols:new Set(["name","title","created_hlc","visibility","spa","public_grants","__deleted"])},site_channels:{table:"site_channels",cols:new Set(["site_id","audience","hosting","controller_node_id","target_ref","canonical_url","policy_json","desired_state","created_hlc","__deleted"])},site_files:{table:"site_files",cols:new Set(["site_id","path","content_type","encoding","content","created_hlc","__deleted"])},blob_policy:{table:"blob_policy",cols:new Set(["full_nodes","redundancy","__deleted"])},nodes:{table:"nodes",cols:new Set(["label","platform","form","app","first_seen","__deleted"])}},Gi=new Set(["database_id","created_hlc","order_key","__deleted"]),Eo=new Set([sn]),Vm=new Set(["records:__deleted","databases:__deleted","properties:__deleted","documents:__deleted","doc_blocks:__deleted","doc_blocks:blank_after","sites:__deleted","sites:spa","site_channels:__deleted","site_files:__deleted","blob_policy:__deleted","nodes:__deleted"])});function cn(e){return e instanceof Z?e.code:void 0}var Z;var Ye=De(()=>{Z=class Z extends Error{code;constructor(e,t){super(t);this.code=e;this.name="MhError"}}});function Qc(e){return e.replace(/[^a-zA-Z0-9_]/g,"_")}function Yc(e){return e.replace(/'/g,"''")}function el(e,t){return`idx_rec_${Qc(e)}_${Qc(t)}`}function Ym(e,t,r){return e.query("SELECT 1 AS ok FROM sqlite_master WHERE type = 'index' AND name = ?").get(el(t,r))!=null}function Ki(e,t,r){let n=el(t,r);e.exec(`CREATE INDEX IF NOT EXISTS "${n}" ON records (data ->> '${Yc(r)}', created_hlc) WHERE database_id = '${Yc(t)}' AND __deleted = 0`)}function Vi(e,t,r){if(Ym(e,t,r.id))return;if(r.type!=="relation"&&r.type!=="doc"){if(e.query("SELECT COUNT(*) AS c FROM records WHERE database_id = ? AND __deleted = 0").get(t).c<2000)return}Ki(e,t,r.id)}function Ji(e,t){if(e==="select"||e==="multi_select"){let r=t?.options;if(!Array.isArray(r)||r.length===0||!r.every((n)=>typeof n==="string"))throw new Z("invalid_input",`${e} requires config.options: string[]`)}if(e==="relation"){if(typeof t?.database!=="string")throw new Z("invalid_input","relation requires config.database (target database id)")}}function ty(e,t){return(e.query("SELECT MAX(position) AS m FROM properties WHERE database_id = ? AND __deleted = 0").get(t).m??0)+1}function wr(e,t){let r=e.query(`SELECT ${rl} FROM properties WHERE id = ? AND __deleted = 0`).get(t);if(!r)return null;return{...r,config:r.config?JSON.parse(r.config):null}}function Ct(e,t){return e.query(`SELECT ${rl} FROM properties WHERE database_id = ? AND __deleted = 0 ORDER BY position`).all(t).map((n)=>({...n,config:n.config?JSON.parse(n.config):null}))}function nl(e,t,r){let n=wr(e,t);if(!n)throw new Z("not_found",`no such property: ${t}`);if(!Number.isFinite(r))throw new Z("invalid_input","width must be a finite number");let o=Math.max(80,Math.min(2000,Math.round(r)));return Xi(e,t,{config:{...n.config??{},width:o}})}function ol(e,t){let r=wr(e,t);if(!r)throw new Z("not_found",`no such property: ${t}`);if(r.type!=="select"&&r.type!=="multi_select")throw new Z("invalid_input",`${r.type} property has no options`);return{prop:r,options:r.config?.options??[]}}var tl,ey,rl,xo,Xi,il,sl,al;var Cr=De(()=>{bt();dt();qr();Ye();tl=new Set(["text","number","checkbox","select","multi_select","date","relation","doc","url"]),ey=["id","database_id","name","type","config","position"],rl=ey.join(", ");xo=ze(function(t,r,n){if(!Pt(t,r))throw new Z("not_found",`no such database: ${r}`);if(!tl.has(n.type))throw new Z("invalid_input",`unknown property type: ${n.type}`);Ji(n.type,n.config);let o=n.indexed?{...n.config??{},indexed:!0}:n.config??null,s=Ot("prop",n.name);if(be(t,"properties",s,"database_id",r),be(t,"properties",s,"name",n.name),be(t,"properties",s,"type",n.type),be(t,"properties",s,"config",o),be(t,"properties",s,"position",n.position??ty(t,r)),n.type==="relation"||n.type==="doc"||n.indexed===!0)Ki(t,r,s);return wr(t,s)});Xi=ze(function(t,r,n){let o=wr(t,r);if(!o)throw new Z("not_found",`no such property: ${r}`);let s=n.type!==void 0&&n.type!==o.type;if(n.type!==void 0&&!tl.has(n.type))throw new Z("invalid_input",`unknown property type: ${n.type}`);let a=n.type??o.type,u;if(n.config!==void 0){let _={...o.config??{}};for(let[m,x]of Object.entries(n.config))if(x===null)delete _[m];else _[m]=x;u=_,Ji(a,u)}else if(s)Ji(n.type,o.config??void 0);if(n.name!==void 0)be(t,"properties",r,"name",n.name);if(n.type!==void 0)be(t,"properties",r,"type",n.type);if(u!==void 0)be(t,"properties",r,"config",u);if(n.position!==void 0)be(t,"properties",r,"position",n.position);if(s){let _=t.query("SELECT id FROM records WHERE database_id = ? AND __deleted = 0 AND data ->> ? IS NOT NULL").all(o.database_id,r);for(let m of _)be(t,"records",m.id,r,null)}return wr(t,r)});il=ze(function(t,r,n,o){let{prop:s,options:a}=ol(t,r);if(o=o.trim(),!o)throw new Z("invalid_input","option name must not be empty");if(!a.includes(n))throw new Z("not_found",`no such option: ${n}`);if(o===n)return{property:s,renamed:0};if(a.includes(o))throw new Z("conflict",`option already exists: ${o}`);be(t,"properties",r,"config",{...s.config??{},options:a.map((_)=>_===n?o:_)});let u=0;if(s.type==="select"){let _=t.query("SELECT id FROM records WHERE database_id = ? AND __deleted = 0 AND data ->> ? = ?").all(s.database_id,r,n);for(let m of _)be(t,"records",m.id,r,o);u=_.length}else{let _=t.query("SELECT id, data ->> ? AS v FROM records WHERE database_id = ? AND __deleted = 0 AND data ->> ? IS NOT NULL").all(r,s.database_id,r);for(let m of _){let x=JSON.parse(m.v);if(!Array.isArray(x)||!x.includes(n))continue;be(t,"records",m.id,r,[...new Set(x.map((D)=>D===n?o:D))]),u++}}return{property:wr(t,r),renamed:u}}),sl=ze(function(t,r,n){let{prop:o,options:s}=ol(t,r);if(!s.includes(n))throw new Z("not_found",`no such option: ${n}`);if(s.length===1)throw new Z("invalid_input","cannot remove the last option; delete the property instead");be(t,"properties",r,"config",{...o.config??{},options:s.filter((u)=>u!==n)});let a=0;if(o.type==="select"){let u=t.query("SELECT id FROM records WHERE database_id = ? AND __deleted = 0 AND data ->> ? = ?").all(o.database_id,r,n);for(let _ of u)be(t,"records",_.id,r,null);a=u.length}else{let u=t.query("SELECT id, data ->> ? AS v FROM records WHERE database_id = ? AND __deleted = 0 AND data ->> ? IS NOT NULL").all(r,o.database_id,r);for(let _ of u){let m=JSON.parse(_.v);if(!Array.isArray(m)||!m.includes(n))continue;be(t,"records",_.id,r,m.filter((x)=>x!==n)),a++}}return{property:wr(t,r),cleared:a}}),al=ze(function(t,r){let n=wr(t,r);if(!n)return!1;be(t,"properties",r,"__deleted",1);let o=t.query("SELECT id FROM records WHERE database_id = ? AND __deleted = 0 AND data ->> ? IS NOT NULL").all(n.database_id,r);for(let s of o)be(t,"records",s.id,r,void 0);return!0})});function ul(e){if(!e)return null;return{...e,meta:e.meta===null?null:JSON.parse(e.meta)}}function Pt(e,t){return ul(e.query(`SELECT ${ll} FROM databases WHERE id = ? AND __deleted = 0`).get(t))}function pl(e){return e.query(`SELECT ${ll} FROM databases WHERE __deleted = 0 ORDER BY created_hlc`).all().map((r)=>ul(r))}function cl(e,t,r,n){return e.query(`SELECT id FROM ${t} WHERE ${r} = ? AND __deleted = 0`).all(n).map((o)=>o.id)}var ry,ll,Qi,dl,fl,_l;var qr=De(()=>{bt();dt();Ye();Cr();Lr();ry=["id","name","icon","meta","created_hlc"],ll=ry.join(", ");Qi=ze(function(t,r){let n=Ot("db",r.name),o=be(t,"databases",n,"name",r.name);if(be(t,"databases",n,"created_hlc",o.hlc),r.icon!==void 0)be(t,"databases",n,"icon",r.icon);return Pt(t,n)}),dl=ze(function(t,r,n){if(!Pt(t,r))throw new Z("not_found",`no such database: ${r}`);if(n.name!==void 0)be(t,"databases",r,"name",n.name);if(n.icon!==void 0)be(t,"databases",r,"icon",n.icon);if(n.meta!==void 0){if(n.meta!==null&&(typeof n.meta!=="object"||Array.isArray(n.meta)))throw new Z("invalid_input","meta must be a JSON object or null");be(t,"databases",r,"meta",n.meta)}return Pt(t,r)}),fl=ze(function(t,r,n={}){let o=Pt(t,r);if(!o)throw new Z("not_found",`no such database: ${r}`);let s=Qi(t,{name:n.name??o.name,icon:n.icon??o.icon??void 0});if(o.meta!==null){let{collapsed:x,...D}=o.meta;if(Object.keys(D).length)be(t,"databases",s.id,"meta",D)}let a=new Map,u=new Set;for(let x of Ct(t,r)){let D=x.type==="relation"&&x.config?.database===r,j=D?{...x.config,database:s.id}:x.config??void 0,Y=xo(t,s.id,{name:x.name,type:x.type,config:j,position:x.position});if(a.set(x.id,Y.id),D)u.add(Y.id)}let _=ln(t,r),m=new Map;for(let x of _){let D={};for(let[j,Y]of Object.entries(x.cells)){let _e=a.get(j);if(!_e)continue;if(u.has(_e)&&Array.isArray(Y)&&Y.length>0)continue;D[_e]=Y}m.set(x.id,To(t,s.id,D).id)}for(let x of _){let D={};for(let[j,Y]of Object.entries(x.cells)){let _e=a.get(j);if(_e&&u.has(_e)&&Array.isArray(Y)&&Y.length>0)D[_e]=Y.map((de)=>m.get(String(de))??de)}if(Object.keys(D).length)ko(t,m.get(x.id),D)}return Pt(t,s.id)});_l=ze(function(t,r){if(!Pt(t,r))return!1;be(t,"databases",r,"__deleted",1);let n=(o)=>{for(let s of cl(t,o,"database_id",r))be(t,o,s,"__deleted",1)};n("properties"),n("records");for(let o of cl(t,"documents","database_id",r))be(t,"documents",o,"database_id",null);return t.query("DELETE FROM meta WHERE key = 'current_db' AND value = ?").run(r),!0})});function iy(e){return e!==null&&e!=="blk"}function hl(e,t){return e.query("SELECT id FROM properties WHERE database_id = ? AND type = 'text' AND __deleted = 0 ORDER BY position LIMIT 1").get(t)?.id??null}function sy(e,t,r,n){let o=ny[t],s=o.nameCol;if(t==="rec"&&n){let j=hl(e,n);if(j)s=`data ->> '${j.replace(/'/g,"''")}'`}let a=s??"''",u=[],_=[];u.push("(id >= ? AND id < ?)"),_.push(r,r+gl);let m=`${t}_${r}`;if(u.push("(id >= ? AND id < ?)"),_.push(m,m+gl),s)u.push(`lower(${s}) = lower(?)`),_.push(r);let x=`SELECT id, ${a} AS label FROM ${o.table} WHERE __deleted = 0 AND (${u.join(" OR ")})`;if(o.scoped&&n)x+=" AND database_id = ?",_.push(n);return e.query(x).all(..._).map((j)=>({kind:t,id:j.id,label:j.label??""}))}function Yi(e,t,r={}){let n=r.kind?[r.kind]:iy(nn(t))?[nn(t)]:oy,o=[],s=new Set;for(let a of n)for(let u of sy(e,a,t,r.databaseId)){if(s.has(u.id))continue;s.add(u.id),o.push(u)}return o}var ny,oy,gl="{";var es=De(()=>{bt();Ye();ny={db:{table:"databases",nameCol:"name",scoped:!1,noun:"database"},prop:{table:"properties",nameCol:"name",scoped:!0,noun:"property"},rec:{table:"records",nameCol:null,scoped:!0,noun:"record"},doc:{table:"documents",nameCol:"title",scoped:!0,noun:"document"}},oy=["db","prop","rec","doc"]});function ts(e,t){if(t!==null&&e>=t)throw Error(`fracdex: ${e} >= ${t}`);if(e.endsWith("0")||t!==null&&t.endsWith("0"))throw Error(`fracdex: trailing zero in ${e}/${t}`);if(t!==null){let s=0;while((e[s]??"0")===t[s])s++;if(s>0)return t.slice(0,s)+ts(e.slice(s),t.slice(s))}let n=e===""?0:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".indexOf(e[0]),o=t===null?62:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".indexOf(t[0]);if(o-n>1)return"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"[Math.round(0.5*(n+o))];if(t!==null&&t.length>1)return t.slice(0,1);return"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"[n]+ts(e.slice(1),null)}function Bt(e,t){return ts(e??"",t)}function dr(e,t,r){if(r<=0)return[];if(r===1)return[Bt(e,t)];if(t===null){let s=Bt(e,null),a=[s];for(let u=1;u<r;u++)s=Bt(s,null),a.push(s);return a}if(e===null){let s=Bt(null,t),a=[s];for(let u=1;u<r;u++)s=Bt(null,s),a.unshift(s);return a}let n=Math.floor(r/2),o=Bt(e,t);return[...dr(e,o,n),o,...dr(o,t,r-n-1)]}function ml(e){return typeof e==="string"||typeof e==="number"||typeof e==="boolean"}function ay(e){return typeof e==="boolean"?e?1:0:e}function cy(e,t,r){let n=t.config?.database;if(!n)return r;let o=Yi(e,r,{kind:"rec",databaseId:n}),s=o.find((a)=>a.id===r);if(s)return s.id;if(o.length===1)return o[0].id;if(o.length===0){if(nn(r)==="rec")return r;throw new Z("not_found",`${t.name}: no such record in target database: ${r}`)}throw new Z("ambiguous",`${t.name}: ambiguous relation "${r}" (${o.length} matches); use a full id`)}function ly(e,t,r){let n=Yi(e,r,{kind:"doc"}),o=n.find((s)=>s.id===r);if(o)return o.id;if(n.length===1)return n[0].id;if(n.length===0){if(nn(r)==="doc")return r;throw new Z("not_found",`${t.name}: no such document: ${r}`)}throw new Z("ambiguous",`${t.name}: ambiguous document "${r}" (${n.length} matches); use a full id`)}function ns(e,t,r){switch(t.type){case"text":case"url":case"date":{if(r===null)return null;if(typeof r!=="string")throw new Z("invalid_input",`${t.name} expects a string`);return r}case"number":{if(r===null)return null;let n=typeof r==="number"?r:Number(r);if(!Number.isFinite(n))throw new Z("invalid_input",`${t.name} expects a number`);return n}case"checkbox":{if(typeof r==="boolean")return r;if(r==="true"||r===1)return!0;if(r==="false"||r===0||r===null)return!1;throw new Z("invalid_input",`${t.name} expects a boolean`)}case"select":{if(r===null)return null;let n=String(r);if(!t.config?.options?.includes(n))throw new Z("invalid_input",`${t.name}: '${n}' is not an allowed option`);return n}case"multi_select":{let n=r===null?[]:Array.isArray(r)?r:[r],o=t.config?.options??[];for(let s of n)if(!o.includes(String(s)))throw new Z("invalid_input",`${t.name}: '${s}' is not an allowed option`);return n.map(String)}case"relation":return(r===null?[]:Array.isArray(r)?r:[r]).map((o)=>cy(e,t,String(o)));case"doc":return(r===null?[]:Array.isArray(r)?r:[r]).map((o)=>ly(e,t,String(o)))}}function uy(e){let t=new Map;for(let r of e){let n=r.name.toLowerCase(),o=t.get(n);if(o)o.push(r);else t.set(n,[r])}return t}function os(e,t){let r=new Map(e.map((s)=>[s.id,s])),n=uy(e),o=[];for(let[s,a]of Object.entries(t)){let u=r.get(s);if(!u){let _=n.get(s.toLowerCase())??[];if(_.length>1)throw new Z("ambiguous",`property name "${s}" matches ${_.length} properties; use a property id`);u=_[0]}if(!u)throw new Z("not_found",`unknown property: ${s}`);o.push({prop:u,value:a})}return o}function wl(e,t,r){return os(Ct(e,t),r).map(({prop:n,value:o})=>({prop:n,value:ns(e,n,o)}))}function vl(e,t){let r=JSON.parse(e.data||"{}"),n=new Map(t.map((a)=>[a.id,a])),o={},s={};for(let[a,u]of Object.entries(r)){let _=n.get(a);if(!_)continue;o[_.name]=u,s[_.id]=u}return{id:e.id,database_id:e.database_id,values:o,cells:s}}function dy(e,t){let r=e.find((n)=>n.prop.type==="text"&&typeof n.value==="string"&&n.value);return Ot("rec",r?String(r.value):"",t)}function yl(e,t){return e.query("SELECT 1 AS ok FROM sqlite_master WHERE type = 'table' AND name = ?").get(t)!=null}function fy(e){return yl(e,"meta")&&yl(e,"crdt_changes")}function py(e,t,r,n){if(n)be(e,"records",t,"order_key",r);else e.query("UPDATE records SET order_key = ? WHERE id = ?").run(r,t)}function El(e,t){return e.query(`SELECT order_key FROM records
328
341
  WHERE database_id = ? AND __deleted = 0 AND order_key IS NOT NULL
329
- ORDER BY order_key DESC, id DESC LIMIT 1`).get(t)?.order_key??null}function rl(e,t){return e.query(`SELECT id, database_id, created_hlc, order_key FROM records
342
+ ORDER BY order_key DESC, id DESC LIMIT 1`).get(t)?.order_key??null}function rs(e,t){return e.query(`SELECT id, database_id, created_hlc, order_key FROM records
330
343
  WHERE database_id = ? AND __deleted = 0
331
- ORDER BY order_key IS NULL, order_key, created_hlc, id`).all(t)}function Gk(e,t){let n=rl(e,t),i=Nr(null,null,n.length);n.forEach((r,o)=>{if(r.order_key!==i[o])xe(e,"records",r.id,"order_key",i[o])})}function Hr(e,t){let n=e.query("SELECT id, database_id, data FROM records WHERE id = ? AND __deleted = 0").get(t);if(!n)return null;return zh(n,Yt(e,n.database_id))}function qh(e){return e.replace(/'/g,"''")}function Zn(e,t,n={}){let i=Yt(e,t),r=n.filter&&Object.keys(n.filter).length?il(i,n.filter).map(({prop:de,value:Pe})=>({prop:de,value:nl(e,de,Pe)})):[],o=r.filter((de)=>Nh(de.value)),s=r.filter((de)=>!Nh(de.value)),c,d=!1;if(n.sort){let de=n.sort;if(de.startsWith("-"))d=!0,de=de.slice(1);if(de!=="created"&&de!=="created_hlc"){let Pe=i.find((Ye)=>Ye.id===de);if(!Pe){let Ye=i.filter((Ue)=>Ue.name.toLowerCase()===de.toLowerCase());if(Ye.length>1)throw new H("ambiguous",`sort field "${de}" matches ${Ye.length} properties; use a property id`);Pe=Ye[0]}if(!Pe)throw new H("not_found",`unknown sort field: ${de}`);c=Pe}}for(let de of o)Jc(e,t,de.prop);if(c)Jc(e,t,c);let f=["database_id = ?","__deleted = 0"],b=[t];for(let de of o)f.push(`data ->> '${qh(de.prop.id)}' = ?`),b.push(Fk(de.value));let x=n.sort==null,P=c?`data ->> '${qh(c.id)}'`:"created_hlc",F=`SELECT id, database_id, data FROM records WHERE ${f.join(" AND ")} `+(x?"ORDER BY order_key IS NULL, order_key, id":`ORDER BY ${P} ${d?"DESC":"ASC"}, id`);if(n.limit!=null&&s.length===0)F+=" LIMIT ?",b.push(n.limit);let ie=e.query(F).all(...b).map((de)=>zh(de,i));if(s.length){if(ie=ie.filter((de)=>s.every((Pe)=>JSON.stringify(de.cells[Pe.prop.id]??null)===JSON.stringify(Pe.value))),n.limit!=null)ie=ie.slice(0,n.limit)}return ie}var ps,ol,us,jh,sl,ds,Fh;var pn=he(()=>{Ot();St();fn();dn();el();ut();ps=Ve(function(t,n){let i=Zk(t),r=n?[{database_id:n}]:t.query(`SELECT DISTINCT database_id FROM records
332
- WHERE database_id IS NOT NULL AND __deleted = 0 AND order_key IS NULL`).all();for(let o of r){let s=t.query(`SELECT id FROM records
344
+ ORDER BY order_key IS NULL, order_key, created_hlc, id`).all(t)}function _y(e,t){let r=rs(e,t),n=dr(null,null,r.length);r.forEach((o,s)=>{if(o.order_key!==n[s])be(e,"records",o.id,"order_key",n[s])})}function vr(e,t){let r=e.query("SELECT id, database_id, data FROM records WHERE id = ? AND __deleted = 0").get(t);if(!r)return null;return vl(r,Ct(e,r.database_id))}function bl(e){return e.replace(/'/g,"''")}function ln(e,t,r={}){let n=Ct(e,t),o=r.filter&&Object.keys(r.filter).length?os(n,r.filter).map(({prop:ge,value:Le})=>({prop:ge,value:ns(e,ge,Le)})):[],s=o.filter((ge)=>ml(ge.value)),a=o.filter((ge)=>!ml(ge.value)),u,_=!1;if(r.sort){let ge=r.sort;if(ge.startsWith("-"))_=!0,ge=ge.slice(1);if(ge!=="created"&&ge!=="created_hlc"){let Le=n.find((Ze)=>Ze.id===ge);if(!Le){let Ze=n.filter(($e)=>$e.name.toLowerCase()===ge.toLowerCase());if(Ze.length>1)throw new Z("ambiguous",`sort field "${ge}" matches ${Ze.length} properties; use a property id`);Le=Ze[0]}if(!Le)throw new Z("not_found",`unknown sort field: ${ge}`);u=Le}}for(let ge of s)Vi(e,t,ge.prop);if(u)Vi(e,t,u);let m=["database_id = ?","__deleted = 0"],x=[t];for(let ge of s)m.push(`data ->> '${bl(ge.prop.id)}' = ?`),x.push(ay(ge.value));let D=r.sort==null,j=u?`data ->> '${bl(u.id)}'`:"created_hlc",Y=`SELECT id, database_id, data FROM records WHERE ${m.join(" AND ")} `+(D?"ORDER BY order_key IS NULL, order_key, id":`ORDER BY ${j} ${_?"DESC":"ASC"}, id`);if(r.limit!=null&&a.length===0)Y+=" LIMIT ?",x.push(r.limit);let de=e.query(Y).all(...x).map((ge)=>vl(ge,n));if(a.length){if(de=de.filter((ge)=>a.every((Le)=>JSON.stringify(ge.cells[Le.prop.id]??null)===JSON.stringify(Le.value))),r.limit!=null)de=de.slice(0,r.limit)}return de}var Ro,is,To,Sl,ss,ko,xl;var Lr=De(()=>{bt();dt();qr();Cr();es();Ye();Ro=ze(function(t,r){let n=fy(t),o=r?[{database_id:r}]:t.query(`SELECT DISTINCT database_id FROM records
345
+ WHERE database_id IS NOT NULL AND __deleted = 0 AND order_key IS NULL`).all();for(let s of o){let a=t.query(`SELECT id FROM records
333
346
  WHERE database_id = ? AND __deleted = 0 AND order_key IS NULL
334
- ORDER BY created_hlc, id`).all(o.database_id);if(!s.length)continue;let c=Uh(t,o.database_id),d=Nr(c,null,s.length);s.forEach((f,b)=>Vk(t,f.id,d[b],i))}}),ol=Ve(function(t,n,i){let r=Hk(i,Bc(n.name,"rec")),o=dr(Uh(t,n.id),null),s=xe(t,"records",r,"database_id",n.id);xe(t,"records",r,"created_hlc",s.hlc),xe(t,"records",r,"order_key",o);for(let{prop:c,value:d}of i)xe(t,"records",r,c.id,d);return Hr(t,r)}),us=Ve(function(t,n,i){let r=zt(t,n);if(!r)throw new H("not_found",`no such database: ${n}`);return ol(t,r,Lh(t,r.id,i))});jh=Ve(function(t,n,i,r){if(r!=="before"&&r!=="after")throw new H("invalid_input",`unknown move position: ${r}`);let o=t.query("SELECT id, database_id FROM records WHERE id = ? AND __deleted = 0").get(n);if(!o)throw new H("not_found",`no such record: ${n}`);let s=t.query("SELECT id, database_id FROM records WHERE id = ? AND __deleted = 0").get(i);if(!s)throw new H("not_found",`no such record: ${i}`);if(o.database_id!==s.database_id)throw new H("invalid_input","cannot move a record across databases");if(n===i)return Hr(t,n);ps(t,o.database_id);let c=rl(t,o.database_id).filter((x)=>x.id!==n),d=c.findIndex((x)=>x.id===i);if(d<0)throw new H("not_found",`no such target record: ${i}`);let f=r==="before"?c[d-1]?.order_key??null:c[d].order_key,b=r==="before"?c[d].order_key:c[d+1]?.order_key??null;if(f!==null&&b!==null&&f>=b)Gk(t,o.database_id),c=rl(t,o.database_id).filter((x)=>x.id!==n),d=c.findIndex((x)=>x.id===i),f=r==="before"?c[d-1]?.order_key??null:c[d].order_key,b=r==="before"?c[d].order_key:c[d+1]?.order_key??null;return xe(t,"records",n,"order_key",dr(f,b)),Hr(t,n)}),sl=Ve(function(t,n,i){let r=t.query("SELECT id, database_id, data FROM records WHERE id = ? AND __deleted = 0").get(n);if(!r)throw new H("not_found",`no such record: ${n}`);let o=JSON.parse(r.data||"{}");for(let{prop:s,value:c}of i){let d=Object.hasOwn(o,s.id);if(!(c===void 0?!d:d&&JSON.stringify(c)===JSON.stringify(o[s.id])))xe(t,"records",n,s.id,c)}return Hr(t,n)}),ds=Ve(function(t,n,i){let r=t.query("SELECT id, database_id FROM records WHERE id = ? AND __deleted = 0").get(n);if(!r)throw new H("not_found",`no such record: ${n}`);return sl(t,n,Lh(t,r.database_id,i))}),Fh=Ve(function(t,n){if(!t.query("SELECT id FROM records WHERE id = ? AND __deleted = 0").get(n))return!1;return xe(t,"records",n,"__deleted",1),!0})});function Vn(e,t){return e.query("SELECT id, text, order_key, blank_after FROM doc_blocks WHERE doc_id = ? AND __deleted = 0 ORDER BY order_key, id").all(t)}function Yk(e){return Zt("blk",e.split(`
335
- `,1)[0]??"")}function eT(e,t,n){let i=Yk(n.text);if(xe(e,"doc_blocks",i,"doc_id",t),xe(e,"doc_blocks",i,"order_key",n.order_key),n.blankAfter)xe(e,"doc_blocks",i,"blank_after",n.blankAfter);xe(e,"doc_blocks",i,"text",n.text)}function Gn(e,t,n,i,r){let o=Nr(i,r,n.length);n.forEach((s,c)=>eT(e,t,{text:s.text,order_key:o[c],blankAfter:s.blankAfter}))}function Kn(e,t){if(e.query("SELECT 1 AS x FROM doc_blocks WHERE doc_id = ? LIMIT 1").get(t))return;let n=e.query("SELECT body FROM documents WHERE id = ?").get(t),i=Mn(n?.body??"");if(i.length)Gn(e,t,i,null,null)}function al(e,t,n){let i=Vn(e,t),r=Mn(n),o=ch(i.map((d)=>d.text),r.map((d)=>d.text));for(let d of o.deleted)xe(e,"doc_blocks",i[d].id,"__deleted",1);let{items:s}=o,c=0;while(c<s.length){let d=s[c];if("keep"in d){let P=i[d.keep],F=r[c].blankAfter;if((P.blank_after??0)!==F)xe(e,"doc_blocks",P.id,"blank_after",F);c++;continue}let f=c;while(f<s.length&&"insert"in s[f])f++;let b=c>0?i[s[c-1].keep].order_key:null,x=f<s.length?i[s[f].keep].order_key:null;Gn(e,t,r.slice(c,f),b,x),c=f}}function Ut(e,t){return e.query(`SELECT MAX(hlc) AS h FROM crdt_changes
347
+ ORDER BY created_hlc, id`).all(s.database_id);if(!a.length)continue;let u=El(t,s.database_id),_=dr(u,null,a.length);a.forEach((m,x)=>py(t,m.id,_[x],n))}}),is=ze(function(t,r,n){let o=dy(n,Mi(r.name,"rec")),s=Bt(El(t,r.id),null),a=be(t,"records",o,"database_id",r.id);be(t,"records",o,"created_hlc",a.hlc),be(t,"records",o,"order_key",s);for(let{prop:u,value:_}of n)be(t,"records",o,u.id,_);return vr(t,o)}),To=ze(function(t,r,n){let o=Pt(t,r);if(!o)throw new Z("not_found",`no such database: ${r}`);return is(t,o,wl(t,o.id,n))});Sl=ze(function(t,r,n,o){if(o!=="before"&&o!=="after")throw new Z("invalid_input",`unknown move position: ${o}`);let s=t.query("SELECT id, database_id FROM records WHERE id = ? AND __deleted = 0").get(r);if(!s)throw new Z("not_found",`no such record: ${r}`);let a=t.query("SELECT id, database_id FROM records WHERE id = ? AND __deleted = 0").get(n);if(!a)throw new Z("not_found",`no such record: ${n}`);if(s.database_id!==a.database_id)throw new Z("invalid_input","cannot move a record across databases");if(r===n)return vr(t,r);Ro(t,s.database_id);let u=rs(t,s.database_id).filter((D)=>D.id!==r),_=u.findIndex((D)=>D.id===n);if(_<0)throw new Z("not_found",`no such target record: ${n}`);let m=o==="before"?u[_-1]?.order_key??null:u[_].order_key,x=o==="before"?u[_].order_key:u[_+1]?.order_key??null;if(m!==null&&x!==null&&m>=x)_y(t,s.database_id),u=rs(t,s.database_id).filter((D)=>D.id!==r),_=u.findIndex((D)=>D.id===n),m=o==="before"?u[_-1]?.order_key??null:u[_].order_key,x=o==="before"?u[_].order_key:u[_+1]?.order_key??null;return be(t,"records",r,"order_key",Bt(m,x)),vr(t,r)}),ss=ze(function(t,r,n){let o=t.query("SELECT id, database_id, data FROM records WHERE id = ? AND __deleted = 0").get(r);if(!o)throw new Z("not_found",`no such record: ${r}`);let s=JSON.parse(o.data||"{}");for(let{prop:a,value:u}of n){let _=Object.hasOwn(s,a.id);if(!(u===void 0?!_:_&&JSON.stringify(u)===JSON.stringify(s[a.id])))be(t,"records",r,a.id,u)}return vr(t,r)}),ko=ze(function(t,r,n){let o=t.query("SELECT id, database_id FROM records WHERE id = ? AND __deleted = 0").get(r);if(!o)throw new Z("not_found",`no such record: ${r}`);return ss(t,r,wl(t,o.database_id,n))}),xl=ze(function(t,r){if(!t.query("SELECT id FROM records WHERE id = ? AND __deleted = 0").get(r))return!1;return be(t,"records",r,"__deleted",1),!0})});function un(e,t){return e.query("SELECT id, text, order_key, blank_after FROM doc_blocks WHERE doc_id = ? AND __deleted = 0 ORDER BY order_key, id").all(t)}function by(e){return Ot("blk",e.split(`
348
+ `,1)[0]??"")}function wy(e,t,r){let n=by(r.text);if(be(e,"doc_blocks",n,"doc_id",t),be(e,"doc_blocks",n,"order_key",r.order_key),r.blankAfter)be(e,"doc_blocks",n,"blank_after",r.blankAfter);be(e,"doc_blocks",n,"text",r.text)}function dn(e,t,r,n,o){let s=dr(n,o,r.length);r.forEach((a,u)=>wy(e,t,{text:a.text,order_key:s[u],blankAfter:a.blankAfter}))}function fn(e,t){if(e.query("SELECT 1 AS x FROM doc_blocks WHERE doc_id = ? LIMIT 1").get(t))return;let r=e.query("SELECT body FROM documents WHERE id = ?").get(t),n=on(r?.body??"");if(n.length)dn(e,t,n,null,null)}function as(e,t,r){let n=un(e,t),o=on(r),s=Gc(n.map((_)=>_.text),o.map((_)=>_.text));for(let _ of s.deleted)be(e,"doc_blocks",n[_].id,"__deleted",1);let{items:a}=s,u=0;while(u<a.length){let _=a[u];if("keep"in _){let j=n[_.keep],Y=o[u].blankAfter;if((j.blank_after??0)!==Y)be(e,"doc_blocks",j.id,"blank_after",Y);u++;continue}let m=u;while(m<a.length&&"insert"in a[m])m++;let x=u>0?n[a[u-1].keep].order_key:null,D=m<a.length?n[a[m].keep].order_key:null;dn(e,t,o.slice(u,m),x,D),u=m}}function Tt(e,t){return e.query(`SELECT MAX(hlc) AS h FROM crdt_changes
336
349
  WHERE (dataset = 'documents' AND row_id = ?)
337
- OR (dataset = 'doc_blocks' AND row_id IN (SELECT id FROM doc_blocks WHERE doc_id = ?))`).get(t,t).h??""}function mt(e,t){return e.query(`SELECT ${Jk} FROM documents WHERE id = ? AND __deleted = 0`).get(t)}function Wh(e,t={}){let n=`SELECT ${Qk} FROM documents WHERE __deleted = 0`;if(t.parent_id!==void 0)return e.query(`${n} AND parent_id = ? ${gs}`).all(t.parent_id);if(t.database_id)return e.query(`${n} AND database_id = ? ${gs}`).all(t.database_id);return e.query(`${n} ${gs}`).all()}function ll(e){return e===null?{clause:"parent_id IS NULL",args:[]}:{clause:"parent_id = ?",args:[e]}}function tT(e){return Mh(e,"meta")&&Mh(e,"crdt_changes")}function Mh(e,t){return e.query("SELECT 1 AS ok FROM sqlite_master WHERE type = 'table' AND name = ?").get(t)!=null}function Hh(e,t,n){let i=ll(t),r=n?" AND id <> ?":"";return e.query(`SELECT order_key FROM documents WHERE ${i.clause}${r}
350
+ OR (dataset = 'doc_blocks' AND row_id IN (SELECT id FROM doc_blocks WHERE doc_id = ?))`).get(t,t).h??""}function nt(e,t){return e.query(`SELECT ${hy} FROM documents WHERE id = ? AND __deleted = 0`).get(t)}function Rl(e,t={}){let r=`SELECT ${yy} FROM documents WHERE __deleted = 0`;if(t.parent_id!==void 0)return e.query(`${r} AND parent_id = ? ${Ao}`).all(t.parent_id);if(t.database_id)return e.query(`${r} AND database_id = ? ${Ao}`).all(t.database_id);return e.query(`${r} ${Ao}`).all()}function ls(e){return e===null?{clause:"parent_id IS NULL",args:[]}:{clause:"parent_id = ?",args:[e]}}function vy(e){return Tl(e,"meta")&&Tl(e,"crdt_changes")}function Tl(e,t){return e.query("SELECT 1 AS ok FROM sqlite_master WHERE type = 'table' AND name = ?").get(t)!=null}function Al(e,t,r){let n=ls(t),o=r?" AND id <> ?":"";return e.query(`SELECT order_key FROM documents WHERE ${n.clause}${o}
338
351
  AND __deleted = 0 AND order_key IS NOT NULL
339
- ORDER BY order_key DESC, id DESC LIMIT 1`).get(...i.args,...n?[n]:[])?.order_key??null}function Zh(e,t){let n=ll(t);return e.query(`SELECT id, order_key FROM documents WHERE ${n.clause} AND __deleted = 0 ${gs}`).all(...n.args)}function rT(e,t){let n=Zh(e,t),i=Nr(null,null,n.length);n.forEach((r,o)=>{if(r.order_key!==i[o])xe(e,"documents",r.id,"order_key",i[o])})}function Vh(e,t){let n=tT(e),i=ll(t),r=e.query(`SELECT id FROM documents WHERE ${i.clause} AND __deleted = 0 AND order_key IS NULL
340
- ORDER BY created_hlc, id`).all(...i.args);if(!r.length)return;let o=Nr(Hh(e,t),null,r.length);r.forEach((s,c)=>{if(n)xe(e,"documents",s.id,"order_key",o[c]);else e.query("UPDATE documents SET order_key = ? WHERE id = ?").run(o[c],s.id)})}function ms(e,t,n,i){let r=n;while(r){if(r===t)throw new H("invalid_input",`cannot set parent_id: would create a cycle (${t})`);r=mt(e,r)?.parent_id??null}let o=mt(e,t);if(o&&(o.parent_id??null)!==n)xe(e,"documents",t,"parent_id",n);let s;if(!i)s=dr(Hh(e,n,t),null);else{Vh(e,n);let c=()=>{let b=Zh(e,n).filter((P)=>P.id!==t),x=b.findIndex((P)=>P.id===i.targetId);if(x<0)throw new H("not_found",`no such target document: ${i.targetId}`);return i.where==="before"?[b[x-1]?.order_key??null,b[x].order_key]:[b[x].order_key,b[x+1]?.order_key??null]},[d,f]=c();if(d!==null&&f!==null&&d>=f)rT(e,n),[d,f]=c();s=dr(d,f)}xe(e,"documents",t,"order_key",s)}function Bh(e,t,n,i){return e.query(`SELECT id FROM ${t} WHERE ${n} = ? AND __deleted = 0`).all(i).map((r)=>r.id)}function Xh(e,t){if(t==="")return 0;let n=0,i=e.indexOf(t);while(i!==-1)n++,i=e.indexOf(t,i+t.length);return n}var Kk,Jk,Xk,Qk,cl,gs="ORDER BY order_key IS NULL, order_key, created_hlc, id",Gh,ul,Kh,_s,$O,IO,DO,RO,Jh;var Jn=he(()=>{Ot();St();ut();Kk=["id","title","body","database_id","parent_id","created_hlc","order_key"],Jk=Kk.join(", "),Xk=["id","title","database_id","parent_id","created_hlc","order_key"],Qk=Xk.join(", ");cl=Ve(function(t,n){let i=Zt("doc",n.title),r=xe(t,"documents",i,"title",n.title);if(xe(t,"documents",i,"created_hlc",r.hlc),n.database_id!==void 0)xe(t,"documents",i,"database_id",n.database_id);if(n.parent_id!==void 0)xe(t,"documents",i,"parent_id",n.parent_id);if(ms(t,i,n.parent_id??null),n.body!==void 0){let o=Mn(n.body);if(o.length)Gn(t,i,o,null,null)}return mt(t,i)});Gh=Ve(function(t){let n=t.query("SELECT DISTINCT parent_id FROM documents WHERE __deleted = 0 AND order_key IS NULL").all();for(let i of n)Vh(t,i.parent_id)});ul=Ve(function(t,n,i,r){let o=mt(t,n);if(!o)throw new H("not_found",`no such document: ${n}`);if(n===i)return o;let s=mt(t,i);if(!s)throw new H("not_found",`no such target document: ${i}`);if(r==="into")ms(t,n,i);else ms(t,n,s.parent_id,{targetId:i,where:r});return mt(t,n)}),Kh=Ve(function(t,n,i={}){let r=mt(t,n);if(!r)throw new H("not_found",`no such document: ${n}`);Kn(t,n);let o=Vn(t,n),s=i.parentId!==void 0?i.parentId:r.parent_id,c=cl(t,{title:i.title??r.title,database_id:r.database_id??void 0,parent_id:s??void 0});if(o.length)Gn(t,c.id,o.map((d)=>({text:d.text,blankAfter:d.blank_after})),null,null);if(s===r.parent_id)ul(t,c.id,r.id,"after");return mt(t,c.id)}),_s=Ve(function(t,n,i,r={}){let o=mt(t,n);if(!o)throw new H("not_found",`no such document: ${n}`);if(r.ifMatch!==void 0&&Ut(t,n)!==r.ifMatch)throw new H("stale",`stale: document changed since ${r.ifMatch}; re-read first`);if(i.title!==void 0&&i.title!==(o.title??""))xe(t,"documents",n,"title",i.title);if(i.database_id!==void 0&&i.database_id!==(o.database_id??null))xe(t,"documents",n,"database_id",i.database_id);if(i.parent_id!==void 0){let s=i.parent_id??null;if((mt(t,n).parent_id??null)!==s)ms(t,n,s)}if(i.body!==void 0)Kn(t,n),al(t,n,i.body);return mt(t,n)}),$O=Ve(function(t,n,i){if(!mt(t,n))throw new H("not_found",`no such document: ${n}`);if(i.ifMatch!==void 0&&Ut(t,n)!==i.ifMatch)throw new H("stale",`stale: document changed since ${i.ifMatch}; re-read first`);if(i.old==="")throw new H("invalid_input","--old must not be empty");Kn(t,n);let r=Vn(t,n),o=un(r.map((d)=>({text:d.text,blankAfter:d.blank_after}))),s=Xh(o,i.old);if(s===0)throw new H("invalid_input","anchor not found: no match for --old");if(s>1&&!i.replaceAll)throw new H("ambiguous",`${s} matches for --old; add surrounding context or use --replace-all`);if(!i.old.includes(`
352
+ ORDER BY order_key DESC, id DESC LIMIT 1`).get(...n.args,...r?[r]:[])?.order_key??null}function Dl(e,t){let r=ls(t);return e.query(`SELECT id, order_key FROM documents WHERE ${r.clause} AND __deleted = 0 ${Ao}`).all(...r.args)}function Ey(e,t){let r=Dl(e,t),n=dr(null,null,r.length);r.forEach((o,s)=>{if(o.order_key!==n[s])be(e,"documents",o.id,"order_key",n[s])})}function Ol(e,t){let r=vy(e),n=ls(t),o=e.query(`SELECT id FROM documents WHERE ${n.clause} AND __deleted = 0 AND order_key IS NULL
353
+ ORDER BY created_hlc, id`).all(...n.args);if(!o.length)return;let s=dr(Al(e,t),null,o.length);o.forEach((a,u)=>{if(r)be(e,"documents",a.id,"order_key",s[u]);else e.query("UPDATE documents SET order_key = ? WHERE id = ?").run(s[u],a.id)})}function Do(e,t,r,n){let o=r;while(o){if(o===t)throw new Z("invalid_input",`cannot set parent_id: would create a cycle (${t})`);o=nt(e,o)?.parent_id??null}let s=nt(e,t);if(s&&(s.parent_id??null)!==r)be(e,"documents",t,"parent_id",r);let a;if(!n)a=Bt(Al(e,r,t),null);else{Ol(e,r);let u=()=>{let x=Dl(e,r).filter((j)=>j.id!==t),D=x.findIndex((j)=>j.id===n.targetId);if(D<0)throw new Z("not_found",`no such target document: ${n.targetId}`);return n.where==="before"?[x[D-1]?.order_key??null,x[D].order_key]:[x[D].order_key,x[D+1]?.order_key??null]},[_,m]=u();if(_!==null&&m!==null&&_>=m)Ey(e,r),[_,m]=u();a=Bt(_,m)}be(e,"documents",t,"order_key",a)}function kl(e,t,r,n){return e.query(`SELECT id FROM ${t} WHERE ${r} = ? AND __deleted = 0`).all(n).map((o)=>o.id)}function Cl(e,t){if(t==="")return 0;let r=0,n=e.indexOf(t);while(n!==-1)r++,n=e.indexOf(t,n+t.length);return r}var gy,hy,my,yy,cs,Ao="ORDER BY order_key IS NULL, order_key, created_hlc, id",Il,us,Pl,Oo,kS,RS,AS,DS,Nl;var pn=De(()=>{bt();dt();Ye();gy=["id","title","body","database_id","parent_id","created_hlc","order_key"],hy=gy.join(", "),my=["id","title","database_id","parent_id","created_hlc","order_key"],yy=my.join(", ");cs=ze(function(t,r){let n=Ot("doc",r.title),o=be(t,"documents",n,"title",r.title);if(be(t,"documents",n,"created_hlc",o.hlc),r.database_id!==void 0)be(t,"documents",n,"database_id",r.database_id);if(r.parent_id!==void 0)be(t,"documents",n,"parent_id",r.parent_id);if(Do(t,n,r.parent_id??null),r.body!==void 0){let s=on(r.body);if(s.length)dn(t,n,s,null,null)}return nt(t,n)});Il=ze(function(t){let r=t.query("SELECT DISTINCT parent_id FROM documents WHERE __deleted = 0 AND order_key IS NULL").all();for(let n of r)Ol(t,n.parent_id)});us=ze(function(t,r,n,o){let s=nt(t,r);if(!s)throw new Z("not_found",`no such document: ${r}`);if(r===n)return s;let a=nt(t,n);if(!a)throw new Z("not_found",`no such target document: ${n}`);if(o==="into")Do(t,r,n);else Do(t,r,a.parent_id,{targetId:n,where:o});return nt(t,r)}),Pl=ze(function(t,r,n={}){let o=nt(t,r);if(!o)throw new Z("not_found",`no such document: ${r}`);fn(t,r);let s=un(t,r),a=n.parentId!==void 0?n.parentId:o.parent_id,u=cs(t,{title:n.title??o.title,database_id:o.database_id??void 0,parent_id:a??void 0});if(s.length)dn(t,u.id,s.map((_)=>({text:_.text,blankAfter:_.blank_after})),null,null);if(a===o.parent_id)us(t,u.id,o.id,"after");return nt(t,u.id)}),Oo=ze(function(t,r,n,o={}){let s=nt(t,r);if(!s)throw new Z("not_found",`no such document: ${r}`);if(o.ifMatch!==void 0&&Tt(t,r)!==o.ifMatch)throw new Z("stale",`stale: document changed since ${o.ifMatch}; re-read first`);if(n.title!==void 0&&n.title!==(s.title??""))be(t,"documents",r,"title",n.title);if(n.database_id!==void 0&&n.database_id!==(s.database_id??null))be(t,"documents",r,"database_id",n.database_id);if(n.parent_id!==void 0){let a=n.parent_id??null;if((nt(t,r).parent_id??null)!==a)Do(t,r,a)}if(n.body!==void 0)fn(t,r),as(t,r,n.body);return nt(t,r)}),kS=ze(function(t,r,n){if(!nt(t,r))throw new Z("not_found",`no such document: ${r}`);if(n.ifMatch!==void 0&&Tt(t,r)!==n.ifMatch)throw new Z("stale",`stale: document changed since ${n.ifMatch}; re-read first`);if(n.old==="")throw new Z("invalid_input","--old must not be empty");fn(t,r);let o=un(t,r),s=Nr(o.map((_)=>({text:_.text,blankAfter:_.blank_after}))),a=Cl(s,n.old);if(a===0)throw new Z("invalid_input","anchor not found: no match for --old");if(a>1&&!n.replaceAll)throw new Z("ambiguous",`${a} matches for --old; add surrounding context or use --replace-all`);if(!n.old.includes(`
341
354
 
342
- `)){let d=r.filter((b)=>b.text.includes(i.old)),f=d.map((b)=>i.replaceAll?b.text.replaceAll(i.old,()=>i.new):b.text.replace(i.old,()=>i.new));if(f.every((b)=>b.length>0&&!b.includes(`
355
+ `)){let _=o.filter((x)=>x.text.includes(n.old)),m=_.map((x)=>n.replaceAll?x.text.replaceAll(n.old,()=>n.new):x.text.replace(n.old,()=>n.new));if(m.every((x)=>x.length>0&&!x.includes(`
343
356
 
344
- `))){let b=i.replaceAll?d:d.slice(0,1),x=!1;return b.forEach((P,F)=>{if(f[F]!==P.text)xe(t,"doc_blocks",P.id,"text",f[F]),x=!0}),{id:n,changed:x,replaced:i.replaceAll?s:1,version:Ut(t,n)}}}let c=i.replaceAll?o.replaceAll(i.old,()=>i.new):o.replace(i.old,()=>i.new);return al(t,n,c),{id:n,changed:c!==o,replaced:i.replaceAll?s:1,version:Ut(t,n)}}),IO=Ve(function(t,n,i){if(!mt(t,n))throw new H("not_found",`no such document: ${n}`);if(i.edits.length===0)throw new H("invalid_input","no edits given");if(i.ifMatch!==void 0&&Ut(t,n)!==i.ifMatch)throw new H("stale",`stale: document changed since ${i.ifMatch}; re-read first`);Kn(t,n);let r=un(Vn(t,n).map((c)=>({text:c.text,blankAfter:c.blank_after}))),o=r,s=0;if(i.edits.forEach((c,d)=>{if(c.old==="")throw new H("invalid_input",`edit[${d}]: old must not be empty`);let f=Xh(o,c.old);if(f===0)throw new H("invalid_input",`edit[${d}]: anchor not found: no match for old`);if(f>1&&!c.replaceAll)throw new H("ambiguous",`edit[${d}]: ${f} matches for old; add surrounding context or set replaceAll`);let b=c.new??"";o=c.replaceAll?o.replaceAll(c.old,()=>b):o.replace(c.old,()=>b),s+=c.replaceAll?f:1}),o!==r)al(t,n,o);return{id:n,changed:o!==r,replaced:s,version:Ut(t,n)}}),DO=Ve(function(t,n,i){if(!mt(t,n))throw new H("not_found",`no such document: ${n}`);Kn(t,n);let r=Mn(i);if(r.length){let o=Vn(t,n),s=o.length?o[o.length-1].order_key:null;Gn(t,n,r,s,null)}return{id:n,changed:r.length>0,replaced:r.length,version:Ut(t,n)}}),RO=Ve(function(t,n,i){if(!mt(t,n))throw new H("not_found",`no such document: ${n}`);Kn(t,n);let r=Mn(i);if(r.length){let o=Vn(t,n),s=o.length?o[0].order_key:null;Gn(t,n,r,null,s)}return{id:n,changed:r.length>0,replaced:r.length,version:Ut(t,n)}}),Jh=Ve(function(t,n){if(!mt(t,n))return!1;xe(t,"documents",n,"__deleted",1);for(let i of Bh(t,"doc_blocks","doc_id",n))xe(t,"doc_blocks",i,"__deleted",1);for(let i of Bh(t,"documents","parent_id",n))xe(t,"documents",i,"parent_id",null);return!0})});function Qh(e){hs=e}function Yh(e,t){return hs?hs(e,t):Promise.resolve(null)}function ey(){return hs!==null}function Vi(e){let t=e.query("SELECT full_nodes, redundancy FROM blob_policy WHERE id = ? AND __deleted = 0").get(dl),n=[];if(t?.full_nodes)try{let r=JSON.parse(t.full_nodes);if(Array.isArray(r))n=r.filter((o)=>typeof o==="string")}catch{}let i=t?.redundancy==="any"?"any":"all";return{fullNodes:n,redundancy:i}}function nT(e){e.query("UPDATE blob_cache SET anchored = 0").run(),e.query("DELETE FROM meta WHERE key = ?").run(iT)}function sT(e){if(!e)return[];let t=[];for(let n of e.matchAll(oT))t.push(n[1]);return t}function ry(e){let t=new Set,n=e.query("SELECT content FROM site_files WHERE encoding = 'blob' AND __deleted = 0").all();for(let r of n)if(r.content)t.add(r.content);let i=e.query("SELECT text FROM doc_blocks WHERE __deleted = 0 AND text LIKE '%/blob/%'").all();for(let r of i)for(let o of sT(r.text))t.add(o);return t}function ny(e){return e.query("SELECT hash, size FROM blob_cache WHERE pending = 1").all()}function iy(e,t){return e.query("SELECT content_type FROM blob_cache WHERE hash = ?").get(t)?.content_type??null}var dl="default",hs=null,ty=(e,t)=>{Mr(null,()=>{let n=new Set,i=t.filter((o)=>o&&!n.has(o)&&n.add(o)!=null);if(xe(e,"blob_policy",dl,"full_nodes",i),Vi(e).redundancy==null)xe(e,"blob_policy",dl,"redundancy","all")}),nT(e)},iT="blob_verified_at",oT;var Gi=he(()=>{St();yr();oT=/\/blob\/([0-9a-f]{16,64})/g});function oy(e){try{let t=new URL(e),n=t.port&&t.port!==aT[t.protocol]?`:${t.port}`:"";return t.hostname+n}catch{return e.trim().replace(/^[a-z]+:\/\//i,"").replace(/\/.*$/,"").replace(/:(80|443)$/,"")}}function Xn(e,t,n){let i=n?.trim()||"metahub";return`s3://${oy(e)}/${t}/${i}`}var aT;var Ki=he(()=>{aT={"https:":"443","http:":"80"}});function cT(e){e.exec(eh);try{e.exec(th)}catch{}}function ay(e){return e.query("SELECT 1 AS ok FROM sqlite_master WHERE name = 'search_fts'").get()!=null}function Dt(e,t,n){return e.query(`PRAGMA table_info(${t})`).all().some((r)=>r.name===n)}function gn(e,t){return e.query("SELECT 1 AS ok FROM sqlite_master WHERE type = 'table' AND name = ?").get(t)!=null}function lT(e){if(!Dt(e,"records","data"))e.exec("ALTER TABLE records ADD COLUMN data TEXT NOT NULL DEFAULT '{}'");if(!Dt(e,"records","order_key"))e.exec("ALTER TABLE records ADD COLUMN order_key TEXT");if(!gn(e,"record_values"))return;e.transaction(()=>{e.exec(`
357
+ `))){let x=n.replaceAll?_:_.slice(0,1),D=!1;return x.forEach((j,Y)=>{if(m[Y]!==j.text)be(t,"doc_blocks",j.id,"text",m[Y]),D=!0}),{id:r,changed:D,replaced:n.replaceAll?a:1,version:Tt(t,r)}}}let u=n.replaceAll?s.replaceAll(n.old,()=>n.new):s.replace(n.old,()=>n.new);return as(t,r,u),{id:r,changed:u!==s,replaced:n.replaceAll?a:1,version:Tt(t,r)}}),RS=ze(function(t,r,n){if(!nt(t,r))throw new Z("not_found",`no such document: ${r}`);if(n.edits.length===0)throw new Z("invalid_input","no edits given");if(n.ifMatch!==void 0&&Tt(t,r)!==n.ifMatch)throw new Z("stale",`stale: document changed since ${n.ifMatch}; re-read first`);fn(t,r);let o=Nr(un(t,r).map((u)=>({text:u.text,blankAfter:u.blank_after}))),s=o,a=0;if(n.edits.forEach((u,_)=>{if(u.old==="")throw new Z("invalid_input",`edit[${_}]: old must not be empty`);let m=Cl(s,u.old);if(m===0)throw new Z("invalid_input",`edit[${_}]: anchor not found: no match for old`);if(m>1&&!u.replaceAll)throw new Z("ambiguous",`edit[${_}]: ${m} matches for old; add surrounding context or set replaceAll`);let x=u.new??"";s=u.replaceAll?s.replaceAll(u.old,()=>x):s.replace(u.old,()=>x),a+=u.replaceAll?m:1}),s!==o)as(t,r,s);return{id:r,changed:s!==o,replaced:a,version:Tt(t,r)}}),AS=ze(function(t,r,n){if(!nt(t,r))throw new Z("not_found",`no such document: ${r}`);fn(t,r);let o=on(n);if(o.length){let s=un(t,r),a=s.length?s[s.length-1].order_key:null;dn(t,r,o,a,null)}return{id:r,changed:o.length>0,replaced:o.length,version:Tt(t,r)}}),DS=ze(function(t,r,n){if(!nt(t,r))throw new Z("not_found",`no such document: ${r}`);fn(t,r);let o=on(n);if(o.length){let s=un(t,r),a=s.length?s[0].order_key:null;dn(t,r,o,null,a)}return{id:r,changed:o.length>0,replaced:o.length,version:Tt(t,r)}}),Nl=ze(function(t,r){if(!nt(t,r))return!1;be(t,"documents",r,"__deleted",1);for(let n of kl(t,"doc_blocks","doc_id",r))be(t,"doc_blocks",n,"__deleted",1);for(let n of kl(t,"documents","parent_id",r))be(t,"documents",n,"parent_id",null);return!0})});function ql(e){Io=e}function Ll(e,t){return Io?Io(e,t):Promise.resolve(null)}function $l(){return Io!==null}function Ln(e){let t=e.query("SELECT full_nodes, redundancy FROM blob_policy WHERE id = ? AND __deleted = 0").get(ds),r=[];if(t?.full_nodes)try{let o=JSON.parse(t.full_nodes);if(Array.isArray(o))r=o.filter((s)=>typeof s==="string")}catch{}let n=t?.redundancy==="any"?"any":"all";return{fullNodes:r,redundancy:n}}function Sy(e){e.query("UPDATE blob_cache SET anchored = 0").run(),e.query("DELETE FROM meta WHERE key = ?").run(xy)}function ky(e){if(!e)return[];let t=[];for(let r of e.matchAll(Ty))t.push(r[1]);return t}function zl(e){let t=new Set,r=e.query("SELECT content FROM site_files WHERE encoding = 'blob' AND __deleted = 0").all();for(let o of r)if(o.content)t.add(o.content);let n=e.query("SELECT text FROM doc_blocks WHERE __deleted = 0 AND text LIKE '%/blob/%'").all();for(let o of n)for(let s of ky(o.text))t.add(s);return t}function Ml(e){return e.query("SELECT hash, size FROM blob_cache WHERE pending = 1").all()}function Bl(e,t){return e.query("SELECT content_type FROM blob_cache WHERE hash = ?").get(t)?.content_type??null}var ds="default",Io=null,Fl=(e,t)=>{Kt(null,()=>{let r=new Set,n=t.filter((s)=>s&&!r.has(s)&&r.add(s)!=null);if(be(e,"blob_policy",ds,"full_nodes",n),Ln(e).redundancy==null)be(e,"blob_policy",ds,"redundancy","all")}),Sy(e)},xy="blob_verified_at",Ty;var $n=De(()=>{dt();Gt();Ty=/\/blob\/([0-9a-f]{16,64})/g});function Ul(e){try{let t=new URL(e),r=t.port&&t.port!==Ry[t.protocol]?`:${t.port}`:"";return t.hostname+r}catch{return e.trim().replace(/^[a-z]+:\/\//i,"").replace(/\/.*$/,"").replace(/:(80|443)$/,"")}}function _n(e,t,r){let n=r?.trim()||"metahub";return`s3://${Ul(e)}/${t}/${n}`}var Ry;var Fn=De(()=>{Ry={"https:":"443","http:":"80"}});function Ay(e){e.exec(qc);try{e.exec(Lc)}catch{}}function jl(e){return e.query("SELECT 1 AS ok FROM sqlite_master WHERE name = 'search_fts'").get()!=null}function gt(e,t,r){return e.query(`PRAGMA table_info(${t})`).all().some((o)=>o.name===r)}function $r(e,t){return e.query("SELECT 1 AS ok FROM sqlite_master WHERE type = 'table' AND name = ?").get(t)!=null}function Dy(e){if(!gt(e,"records","data"))e.exec("ALTER TABLE records ADD COLUMN data TEXT NOT NULL DEFAULT '{}'");if(!gt(e,"records","order_key"))e.exec("ALTER TABLE records ADD COLUMN order_key TEXT");if(!$r(e,"record_values"))return;e.transaction(()=>{e.exec(`
345
358
  UPDATE records SET data = coalesce((
346
359
  SELECT json_group_object(rv.property_id, json(rv.value))
347
360
  FROM record_values rv WHERE rv.record_id = records.id
348
361
  ), '{}')
349
362
  WHERE id IN (SELECT DISTINCT record_id FROM record_values);
350
- `),e.exec("DROP TABLE record_values"),ps(e)})(),ps(e)}function uT(e){if(!Dt(e,"shares","served_base"))e.exec("ALTER TABLE shares ADD COLUMN served_base TEXT");if(!Dt(e,"shares","grants"))e.exec("ALTER TABLE shares ADD COLUMN grants TEXT");if(!Dt(e,"shares","request_id"))e.exec("ALTER TABLE shares ADD COLUMN request_id TEXT");e.exec("CREATE UNIQUE INDEX IF NOT EXISTS idx_shares_request_id ON shares(request_id) WHERE request_id IS NOT NULL")}function dT(e){let t=[["token","TEXT"],["label","TEXT"],["node_id","TEXT"],["enabled","INTEGER NOT NULL DEFAULT 1"],["last_sync_at","INTEGER"],["last_success_at","INTEGER"],["last_status","TEXT"],["last_error","TEXT"],["kind","TEXT NOT NULL DEFAULT 'http'"],["config","TEXT"]];for(let[n,i]of t)if(!Dt(e,"peers",n))e.exec(`ALTER TABLE peers ADD COLUMN ${n} ${i}`);e.exec("UPDATE peers SET last_success_at = last_sync_at WHERE last_success_at IS NULL AND last_status = 'ok' AND last_sync_at IS NOT NULL")}function fT(e){if(!Dt(e,"doc_blocks","blank_after"))e.exec("ALTER TABLE doc_blocks ADD COLUMN blank_after INTEGER NOT NULL DEFAULT 0")}function pT(e){if(!Dt(e,"blob_cache","pinned"))e.exec("ALTER TABLE blob_cache ADD COLUMN pinned INTEGER NOT NULL DEFAULT 0");if(!Dt(e,"blob_cache","pending"))e.exec("ALTER TABLE blob_cache ADD COLUMN pending INTEGER NOT NULL DEFAULT 1");if(!Dt(e,"blob_cache","anchored"))e.exec("ALTER TABLE blob_cache ADD COLUMN anchored INTEGER NOT NULL DEFAULT 0");e.exec("DROP TABLE IF EXISTS blob_presence")}function gT(e){if(!Dt(e,"documents","order_key"))e.exec("ALTER TABLE documents ADD COLUMN order_key TEXT");Gh(e)}function mT(e){if(!Dt(e,"crdt_changes","txn"))e.exec("ALTER TABLE crdt_changes ADD COLUMN txn TEXT");e.exec("CREATE INDEX IF NOT EXISTS idx_changes_txn ON crdt_changes(txn) WHERE txn IS NOT NULL"),e.exec("CREATE INDEX IF NOT EXISTS idx_changes_intent_receipt_hlc ON crdt_changes(hlc) WHERE dataset = 'intent_receipts'")}function _T(e){if(Dt(e,"crdt_changes","seq"))return;e.transaction(()=>{if(e.exec(`
363
+ `),e.exec("DROP TABLE record_values"),Ro(e)})(),Ro(e)}function Oy(e){if(!gt(e,"shares","served_base"))e.exec("ALTER TABLE shares ADD COLUMN served_base TEXT");if(!gt(e,"shares","grants"))e.exec("ALTER TABLE shares ADD COLUMN grants TEXT");if(!gt(e,"shares","request_id"))e.exec("ALTER TABLE shares ADD COLUMN request_id TEXT");e.exec("CREATE UNIQUE INDEX IF NOT EXISTS idx_shares_request_id ON shares(request_id) WHERE request_id IS NOT NULL")}function Iy(e){let t=[["token","TEXT"],["label","TEXT"],["node_id","TEXT"],["enabled","INTEGER NOT NULL DEFAULT 1"],["last_sync_at","INTEGER"],["last_success_at","INTEGER"],["last_status","TEXT"],["last_error","TEXT"],["kind","TEXT NOT NULL DEFAULT 'http'"],["config","TEXT"]];for(let[r,n]of t)if(!gt(e,"peers",r))e.exec(`ALTER TABLE peers ADD COLUMN ${r} ${n}`);e.exec("UPDATE peers SET last_success_at = last_sync_at WHERE last_success_at IS NULL AND last_status = 'ok' AND last_sync_at IS NOT NULL")}function Py(e){if(!gt(e,"doc_blocks","blank_after"))e.exec("ALTER TABLE doc_blocks ADD COLUMN blank_after INTEGER NOT NULL DEFAULT 0")}function Ny(e){if(!gt(e,"blob_cache","pinned"))e.exec("ALTER TABLE blob_cache ADD COLUMN pinned INTEGER NOT NULL DEFAULT 0");if(!gt(e,"blob_cache","pending"))e.exec("ALTER TABLE blob_cache ADD COLUMN pending INTEGER NOT NULL DEFAULT 1");if(!gt(e,"blob_cache","anchored"))e.exec("ALTER TABLE blob_cache ADD COLUMN anchored INTEGER NOT NULL DEFAULT 0");e.exec("DROP TABLE IF EXISTS blob_presence")}function Cy(e){if(!gt(e,"documents","order_key"))e.exec("ALTER TABLE documents ADD COLUMN order_key TEXT");Il(e)}function qy(e){if(!gt(e,"crdt_changes","txn"))e.exec("ALTER TABLE crdt_changes ADD COLUMN txn TEXT");e.exec("CREATE INDEX IF NOT EXISTS idx_changes_txn ON crdt_changes(txn) WHERE txn IS NOT NULL"),e.exec("CREATE INDEX IF NOT EXISTS idx_changes_intent_receipt_hlc ON crdt_changes(hlc) WHERE dataset = 'intent_receipts'")}function Ly(e){if(gt(e,"crdt_changes","seq"))return;e.transaction(()=>{if(e.exec(`
351
364
  DROP TABLE IF EXISTS crdt_changes_new;
352
365
  CREATE TABLE crdt_changes_new (
353
366
  seq INTEGER PRIMARY KEY AUTOINCREMENT,
@@ -372,7 +385,7 @@ ${jk(o)}
372
385
  WHERE dataset = 'intent_receipts';
373
386
  CREATE INDEX IF NOT EXISTS idx_changes_docref ON crdt_changes(value)
374
387
  WHERE dataset = 'doc_blocks' AND col = 'doc_id';
375
- `),gn(e,"peers"))e.exec("UPDATE peers SET push_cursor = 0, pull_cursor = 0")})()}function hT(e){if(!gn(e,"peers"))return;let t=e.query("SELECT url, config FROM peers WHERE kind = 's3' AND config IS NOT NULL").all();if(t.length===0)return;let n=[],i=new Set;for(let s of t){let c;try{c=JSON.parse(s.config)}catch{continue}if(!c.endpoint||!c.bucket||!c.prefix)continue;let d=Xn(c.endpoint,c.bucket,c.prefix);if(d===s.url){i.add(d);continue}if(i.has(d)||e.query("SELECT 1 FROM peers WHERE url = ?").get(d)||gn(e,"storage_cursors")&&e.query("SELECT 1 FROM storage_cursors WHERE peer_url = ?").get(d))continue;i.add(d),n.push({oldUrl:s.url,newUrl:d})}if(n.length===0)return;let r=new Map(n.map(({oldUrl:s,newUrl:c})=>[s,c]));e.transaction(()=>{for(let{oldUrl:s,newUrl:c}of n){if(gn(e,"storage_cursors"))e.query("UPDATE storage_cursors SET peer_url = ? WHERE peer_url = ?").run(c,s);e.query("UPDATE peers SET url = ? WHERE url = ?").run(c,s)}if(gn(e,"blob_policy")){let s=Vi(e).fullNodes;if(s.some((c)=>r.has(c)))ty(e,s.map((c)=>r.get(c)??c))}})()}function yT(e){if(Dt(e,"databases","meta"))return;e.exec("ALTER TABLE databases ADD COLUMN meta TEXT"),e.exec(`
388
+ `),$r(e,"peers"))e.exec("UPDATE peers SET push_cursor = 0, pull_cursor = 0")})()}function $y(e){if(!$r(e,"peers"))return;let t=e.query("SELECT url, config FROM peers WHERE kind = 's3' AND config IS NOT NULL").all();if(t.length===0)return;let r=[],n=new Set;for(let a of t){let u;try{u=JSON.parse(a.config)}catch{continue}if(!u.endpoint||!u.bucket||!u.prefix)continue;let _=_n(u.endpoint,u.bucket,u.prefix);if(_===a.url){n.add(_);continue}if(n.has(_)||e.query("SELECT 1 FROM peers WHERE url = ?").get(_)||$r(e,"storage_cursors")&&e.query("SELECT 1 FROM storage_cursors WHERE peer_url = ?").get(_))continue;n.add(_),r.push({oldUrl:a.url,newUrl:_})}if(r.length===0)return;let o=new Map(r.map(({oldUrl:a,newUrl:u})=>[a,u]));e.transaction(()=>{for(let{oldUrl:a,newUrl:u}of r){if($r(e,"storage_cursors"))e.query("UPDATE storage_cursors SET peer_url = ? WHERE peer_url = ?").run(u,a);e.query("UPDATE peers SET url = ? WHERE url = ?").run(u,a)}if($r(e,"blob_policy")){let a=Ln(e).fullNodes;if(a.some((u)=>o.has(u)))Fl(e,a.map((u)=>o.get(u)??u))}})()}function Fy(e){if(gt(e,"databases","meta"))return;e.exec("ALTER TABLE databases ADD COLUMN meta TEXT"),e.exec(`
376
389
  UPDATE databases SET meta = (
377
390
  SELECT c.value FROM crdt_changes c
378
391
  WHERE c.dataset = 'databases' AND c.col = 'meta' AND c.row_id = databases.id
@@ -381,166 +394,165 @@ ${jk(o)}
381
394
  WHERE id IN (
382
395
  SELECT DISTINCT row_id FROM crdt_changes WHERE dataset = 'databases' AND col = 'meta'
383
396
  )
384
- `)}function vT(e){let t=(n,i)=>{e.exec(`
385
- UPDATE sites SET ${n} = COALESCE((
397
+ `)}function zy(e){let t=(r,n)=>{e.exec(`
398
+ UPDATE sites SET ${r} = COALESCE((
386
399
  SELECT json_extract(c.value, '$') FROM crdt_changes c
387
- WHERE c.dataset = 'sites' AND c.col = '${n}' AND c.row_id = sites.id
400
+ WHERE c.dataset = 'sites' AND c.col = '${r}' AND c.row_id = sites.id
388
401
  ORDER BY c.hlc DESC LIMIT 1
389
- ), ${i})
402
+ ), ${n})
390
403
  WHERE id IN (
391
- SELECT DISTINCT row_id FROM crdt_changes WHERE dataset = 'sites' AND col = '${n}'
404
+ SELECT DISTINCT row_id FROM crdt_changes WHERE dataset = 'sites' AND col = '${r}'
392
405
  )
393
- `)};if(!Dt(e,"sites","visibility"))e.exec("ALTER TABLE sites ADD COLUMN visibility TEXT"),t("visibility","NULL");if(!Dt(e,"sites","spa"))e.exec("ALTER TABLE sites ADD COLUMN spa INTEGER NOT NULL DEFAULT 0"),t("spa","0");if(!Dt(e,"sites","public_grants"))e.exec("ALTER TABLE sites ADD COLUMN public_grants TEXT"),t("public_grants","NULL")}function bT(e){if(!gn(e,"site_channels"))return;let t=e.query("SELECT value FROM meta WHERE key = ?").get(sy),n=t?Number(t.value):0,i=e.query(`SELECT seq, ${Vt} FROM crdt_changes
394
- WHERE dataset = 'site_channels' AND seq > ? ORDER BY seq`).all(n);if(i.length===0)return;e.transaction((r)=>{for(let o of r)cs(e,o);e.query("INSERT INTO meta (key, value) VALUES (?, ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value").run(sy,String(r[r.length-1].seq))})(i)}function fl(e){cT(e),mT(e),yT(e),_T(e),lT(e),dT(e),hT(e),fT(e),gT(e),pT(e),uT(e),vT(e),bT(e)}var sy="site_channels_replay_seq";var ys=he(()=>{pn();Jn();Gi();Ki();St()});function V(e,t,n){function i(c,d){if(!c._zod)Object.defineProperty(c,"_zod",{value:{def:d,constr:s,traits:new Set},enumerable:!1});if(c._zod.traits.has(e))return;c._zod.traits.add(e),t(c,d);let f=s.prototype,b=Object.keys(f);for(let x=0;x<b.length;x++){let P=b[x];if(!(P in c))c[P]=f[P].bind(c)}}let r=n?.Parent??Object;class o extends r{}Object.defineProperty(o,"name",{value:e});function s(c){var d;let f=n?.Parent?new o:this;i(f,c),(d=f._zod).deferred??(d.deferred=[]);for(let b of f._zod.deferred)b();return f}return Object.defineProperty(s,"init",{value:i}),Object.defineProperty(s,Symbol.hasInstance,{value:(c)=>{if(n?.Parent&&c instanceof n.Parent)return!0;return c?._zod?.traits?.has(e)}}),Object.defineProperty(s,"name",{value:e}),s}function ht(e){if(e)Object.assign(mn,e);return mn}var cy,pl,gl,kr,_n,mn;var hn=he(()=>{pl=Object.freeze({status:"aborted"});gl=Symbol("zod_brand");kr=class kr extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}};_n=class _n extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`);this.name="ZodEncodeError"}};(cy=globalThis).__zod_globalConfig??(cy.__zod_globalConfig={});mn=globalThis.__zod_globalConfig});var ke={};ur(ke,{BIGINT_FORMAT_RANGES:()=>El,Class:()=>fy,NUMBER_FORMAT_RANGES:()=>Sl,aborted:()=>Kr,allowsEval:()=>yl,assert:()=>kT,assertEqual:()=>wT,assertIs:()=>ET,assertNever:()=>xT,assertNotEqual:()=>ST,assignProp:()=>Vr,base64ToUint8Array:()=>uy,base64urlToUint8Array:()=>MT,cached:()=>Yn,captureStackTrace:()=>bs,cleanEnum:()=>FT,cleanRegex:()=>Qi,clone:()=>jt,cloneDef:()=>$T,createTransparentProxy:()=>PT,defineLazy:()=>Qe,esc:()=>vs,escapeRegex:()=>fr,explicitlyAborted:()=>xl,extend:()=>qT,finalizeIssue:()=>Ft,floatSafeRemainder:()=>_l,getElementAtPath:()=>IT,getEnumValues:()=>Xi,getLengthableOrigin:()=>to,getParsedType:()=>OT,getSizableOrigin:()=>eo,hexToUint8Array:()=>WT,isObject:()=>yn,isPlainObject:()=>Gr,issue:()=>ei,joinValues:()=>te,jsonStringifyReplacer:()=>Qn,merge:()=>zT,mergeDefs:()=>Cr,normalizeParams:()=>Ie,nullish:()=>Zr,numKeys:()=>AT,objectClone:()=>TT,omit:()=>CT,optionalKeys:()=>wl,parsedType:()=>Se,partial:()=>UT,pick:()=>NT,prefixIssues:()=>Gt,primitiveTypes:()=>bl,promiseAllObject:()=>DT,propertyKeyTypes:()=>Yi,randomString:()=>RT,required:()=>jT,safeExtend:()=>LT,shallowClone:()=>vl,slugify:()=>hl,stringifyPrimitive:()=>we,uint8ArrayToBase64:()=>dy,uint8ArrayToBase64url:()=>BT,uint8ArrayToHex:()=>HT,unwrapMessage:()=>Ji});function wT(e){return e}function ST(e){return e}function ET(e){}function xT(e){throw Error("Unexpected value in exhaustive check")}function kT(e){}function Xi(e){let t=Object.values(e).filter((i)=>typeof i==="number");return Object.entries(e).filter(([i,r])=>t.indexOf(+i)===-1).map(([i,r])=>r)}function te(e,t="|"){return e.map((n)=>we(n)).join(t)}function Qn(e,t){if(typeof t==="bigint")return t.toString();return t}function Yn(e){return{get value(){{let n=e();return Object.defineProperty(this,"value",{value:n}),n}throw Error("cached value already set")}}}function Zr(e){return e===null||e===void 0}function Qi(e){let t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}function _l(e,t){let n=e/t,i=Math.round(n),r=Number.EPSILON*Math.max(Math.abs(n),1);if(Math.abs(n-i)<r)return 0;return n-i}function Qe(e,t,n){let i=void 0;Object.defineProperty(e,t,{get(){if(i===ly)return;if(i===void 0)i=ly,i=n();return i},set(r){Object.defineProperty(e,t,{value:r})},configurable:!0})}function TT(e){return Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e))}function Vr(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function Cr(...e){let t={};for(let n of e){let i=Object.getOwnPropertyDescriptors(n);Object.assign(t,i)}return Object.defineProperties({},t)}function $T(e){return Cr(e._zod.def)}function IT(e,t){if(!t)return e;return t.reduce((n,i)=>n?.[i],e)}function DT(e){let t=Object.keys(e),n=t.map((i)=>e[i]);return Promise.all(n).then((i)=>{let r={};for(let o=0;o<t.length;o++)r[t[o]]=i[o];return r})}function RT(e=10){let n="";for(let i=0;i<e;i++)n+="abcdefghijklmnopqrstuvwxyz"[Math.floor(Math.random()*26)];return n}function vs(e){return JSON.stringify(e)}function hl(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function yn(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}function Gr(e){if(yn(e)===!1)return!1;let t=e.constructor;if(t===void 0)return!0;if(typeof t!=="function")return!0;let n=t.prototype;if(yn(n)===!1)return!1;if(Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)return!1;return!0}function vl(e){if(Gr(e))return{...e};if(Array.isArray(e))return[...e];if(e instanceof Map)return new Map(e);if(e instanceof Set)return new Set(e);return e}function AT(e){let t=0;for(let n in e)if(Object.prototype.hasOwnProperty.call(e,n))t++;return t}function fr(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function jt(e,t,n){let i=new e._zod.constr(t??e._zod.def);if(!t||n?.parent)i._zod.parent=e;return i}function Ie(e){let t=e;if(!t)return{};if(typeof t==="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");t.error=t.message}if(delete t.message,typeof t.error==="string")return{...t,error:()=>t.error};return t}function PT(e){let t;return new Proxy({},{get(n,i,r){return t??(t=e()),Reflect.get(t,i,r)},set(n,i,r,o){return t??(t=e()),Reflect.set(t,i,r,o)},has(n,i){return t??(t=e()),Reflect.has(t,i)},deleteProperty(n,i){return t??(t=e()),Reflect.deleteProperty(t,i)},ownKeys(n){return t??(t=e()),Reflect.ownKeys(t)},getOwnPropertyDescriptor(n,i){return t??(t=e()),Reflect.getOwnPropertyDescriptor(t,i)},defineProperty(n,i,r){return t??(t=e()),Reflect.defineProperty(t,i,r)}})}function we(e){if(typeof e==="bigint")return e.toString()+"n";if(typeof e==="string")return`"${e}"`;return`${e}`}function wl(e){return Object.keys(e).filter((t)=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}function NT(e,t){let n=e._zod.def,i=n.checks;if(i&&i.length>0)throw Error(".pick() cannot be used on object schemas containing refinements");let o=Cr(e._zod.def,{get shape(){let s={};for(let c in t){if(!(c in n.shape))throw Error(`Unrecognized key: "${c}"`);if(!t[c])continue;s[c]=n.shape[c]}return Vr(this,"shape",s),s},checks:[]});return jt(e,o)}function CT(e,t){let n=e._zod.def,i=n.checks;if(i&&i.length>0)throw Error(".omit() cannot be used on object schemas containing refinements");let o=Cr(e._zod.def,{get shape(){let s={...e._zod.def.shape};for(let c in t){if(!(c in n.shape))throw Error(`Unrecognized key: "${c}"`);if(!t[c])continue;delete s[c]}return Vr(this,"shape",s),s},checks:[]});return jt(e,o)}function qT(e,t){if(!Gr(t))throw Error("Invalid input to extend: expected a plain object");let n=e._zod.def.checks;if(n&&n.length>0){let o=e._zod.def.shape;for(let s in t)if(Object.getOwnPropertyDescriptor(o,s)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let r=Cr(e._zod.def,{get shape(){let o={...e._zod.def.shape,...t};return Vr(this,"shape",o),o}});return jt(e,r)}function LT(e,t){if(!Gr(t))throw Error("Invalid input to safeExtend: expected a plain object");let n=Cr(e._zod.def,{get shape(){let i={...e._zod.def.shape,...t};return Vr(this,"shape",i),i}});return jt(e,n)}function zT(e,t){if(e._zod.def.checks?.length)throw Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let n=Cr(e._zod.def,{get shape(){let i={...e._zod.def.shape,...t._zod.def.shape};return Vr(this,"shape",i),i},get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]});return jt(e,n)}function UT(e,t,n){let r=t._zod.def.checks;if(r&&r.length>0)throw Error(".partial() cannot be used on object schemas containing refinements");let s=Cr(t._zod.def,{get shape(){let c=t._zod.def.shape,d={...c};if(n)for(let f in n){if(!(f in c))throw Error(`Unrecognized key: "${f}"`);if(!n[f])continue;d[f]=e?new e({type:"optional",innerType:c[f]}):c[f]}else for(let f in c)d[f]=e?new e({type:"optional",innerType:c[f]}):c[f];return Vr(this,"shape",d),d},checks:[]});return jt(t,s)}function jT(e,t,n){let i=Cr(t._zod.def,{get shape(){let r=t._zod.def.shape,o={...r};if(n)for(let s in n){if(!(s in o))throw Error(`Unrecognized key: "${s}"`);if(!n[s])continue;o[s]=new e({type:"nonoptional",innerType:r[s]})}else for(let s in r)o[s]=new e({type:"nonoptional",innerType:r[s]});return Vr(this,"shape",o),o}});return jt(t,i)}function Kr(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function xl(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue===!1)return!0;return!1}function Gt(e,t){return t.map((n)=>{var i;return(i=n).path??(i.path=[]),n.path.unshift(e),n})}function Ji(e){return typeof e==="string"?e:e?.message}function Ft(e,t,n){let i=e.message?e.message:Ji(e.inst?._zod.def?.error?.(e))??Ji(t?.error?.(e))??Ji(n.customError?.(e))??Ji(n.localeError?.(e))??"Invalid input",{inst:r,continue:o,input:s,...c}=e;if(c.path??(c.path=[]),c.message=i,t?.reportInput)c.input=s;return c}function eo(e){if(e instanceof Set)return"set";if(e instanceof Map)return"map";if(e instanceof File)return"file";return"unknown"}function to(e){if(Array.isArray(e))return"array";if(typeof e==="string")return"string";return"unknown"}function Se(e){let t=typeof e;switch(t){case"number":return Number.isNaN(e)?"nan":"number";case"object":{if(e===null)return"null";if(Array.isArray(e))return"array";let n=e;if(n&&Object.getPrototypeOf(n)!==Object.prototype&&"constructor"in n&&n.constructor)return n.constructor.name}}return t}function ei(...e){let[t,n,i]=e;if(typeof t==="string")return{message:t,code:"custom",input:n,inst:i};return{...t}}function FT(e){return Object.entries(e).filter(([t,n])=>Number.isNaN(Number.parseInt(t,10))).map((t)=>t[1])}function uy(e){let t=atob(e),n=new Uint8Array(t.length);for(let i=0;i<t.length;i++)n[i]=t.charCodeAt(i);return n}function dy(e){let t="";for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return btoa(t)}function MT(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),n="=".repeat((4-t.length%4)%4);return uy(t+n)}function BT(e){return dy(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function WT(e){let t=e.replace(/^0x/,"");if(t.length%2!==0)throw Error("Invalid hex string length");let n=new Uint8Array(t.length/2);for(let i=0;i<t.length;i+=2)n[i/2]=Number.parseInt(t.slice(i,i+2),16);return n}function HT(e){return Array.from(e).map((t)=>t.toString(16).padStart(2,"0")).join("")}class fy{constructor(...e){}}var ly,bs,yl,OT=(e)=>{let t=typeof e;switch(t){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(e)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":if(Array.isArray(e))return"array";if(e===null)return"null";if(e.then&&typeof e.then==="function"&&e.catch&&typeof e.catch==="function")return"promise";if(typeof Map<"u"&&e instanceof Map)return"map";if(typeof Set<"u"&&e instanceof Set)return"set";if(typeof Date<"u"&&e instanceof Date)return"date";if(typeof File<"u"&&e instanceof File)return"file";return"object";default:throw Error(`Unknown data type: ${t}`)}},Yi,bl,Sl,El;var Le=he(()=>{hn();ly=Symbol("evaluating");bs="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};yl=Yn(()=>{if(mn.jitless)return!1;if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(e){return!1}});Yi=new Set(["string","number","symbol"]),bl=new Set(["string","number","bigint","boolean","symbol","undefined"]);Sl={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-340282346638528860000000000000000000000,340282346638528860000000000000000000000],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},El={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]}});function no(e,t=(n)=>n.message){let n={},i=[];for(let r of e.issues)if(r.path.length>0)n[r.path[0]]=n[r.path[0]]||[],n[r.path[0]].push(t(r));else i.push(t(r));return{formErrors:i,fieldErrors:n}}function io(e,t=(n)=>n.message){let n={_errors:[]},i=(r,o=[])=>{for(let s of r.issues)if(s.code==="invalid_union"&&s.errors.length)s.errors.map((c)=>i({issues:c},[...o,...s.path]));else if(s.code==="invalid_key")i({issues:s.issues},[...o,...s.path]);else if(s.code==="invalid_element")i({issues:s.issues},[...o,...s.path]);else{let c=[...o,...s.path];if(c.length===0)n._errors.push(t(s));else{let d=n,f=0;while(f<c.length){let b=c[f];if(f!==c.length-1)d[b]=d[b]||{_errors:[]};else d[b]=d[b]||{_errors:[]},d[b]._errors.push(t(s));d=d[b],f++}}}};return i(e),n}function kl(e,t=(n)=>n.message){let n={errors:[]},i=(r,o=[])=>{var s,c;for(let d of r.issues)if(d.code==="invalid_union"&&d.errors.length)d.errors.map((f)=>i({issues:f},[...o,...d.path]));else if(d.code==="invalid_key")i({issues:d.issues},[...o,...d.path]);else if(d.code==="invalid_element")i({issues:d.issues},[...o,...d.path]);else{let f=[...o,...d.path];if(f.length===0){n.errors.push(t(d));continue}let b=n,x=0;while(x<f.length){let P=f[x],F=x===f.length-1;if(typeof P==="string")b.properties??(b.properties={}),(s=b.properties)[P]??(s[P]={errors:[]}),b=b.properties[P];else b.items??(b.items=[]),(c=b.items)[P]??(c[P]={errors:[]}),b=b.items[P];if(F)b.errors.push(t(d));x++}}};return i(e),n}function gy(e){let t=[],n=e.map((i)=>typeof i==="object"?i.key:i);for(let i of n)if(typeof i==="number")t.push(`[${i}]`);else if(typeof i==="symbol")t.push(`[${JSON.stringify(String(i))}]`);else if(/[^\w$]/.test(i))t.push(`[${JSON.stringify(i)}]`);else{if(t.length)t.push(".");t.push(i)}return t.join("")}function Tl(e){let t=[],n=[...e.issues].sort((i,r)=>(i.path??[]).length-(r.path??[]).length);for(let i of n)if(t.push(`✖ ${i.message}`),i.path?.length)t.push(` → at ${gy(i.path)}`);return t.join(`
395
- `)}var py=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,Qn,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},ro,Kt;var $l=he(()=>{hn();Le();ro=V("$ZodError",py),Kt=V("$ZodError",py,{Parent:Error})});var ti=(e)=>(t,n,i,r)=>{let o=i?{...i,async:!1}:{async:!1},s=t._zod.run({value:n,issues:[]},o);if(s instanceof Promise)throw new kr;if(s.issues.length){let c=new(r?.Err??e)(s.issues.map((d)=>Ft(d,o,ht())));throw bs(c,r?.callee),c}return s.value},ws,ri=(e)=>async(t,n,i,r)=>{let o=i?{...i,async:!0}:{async:!0},s=t._zod.run({value:n,issues:[]},o);if(s instanceof Promise)s=await s;if(s.issues.length){let c=new(r?.Err??e)(s.issues.map((d)=>Ft(d,o,ht())));throw bs(c,r?.callee),c}return s.value},Ss,ni=(e)=>(t,n,i)=>{let r=i?{...i,async:!1}:{async:!1},o=t._zod.run({value:n,issues:[]},r);if(o instanceof Promise)throw new kr;return o.issues.length?{success:!1,error:new(e??ro)(o.issues.map((s)=>Ft(s,r,ht())))}:{success:!0,data:o.value}},Il,ii=(e)=>async(t,n,i)=>{let r=i?{...i,async:!0}:{async:!0},o=t._zod.run({value:n,issues:[]},r);if(o instanceof Promise)o=await o;return o.issues.length?{success:!1,error:new e(o.issues.map((s)=>Ft(s,r,ht())))}:{success:!0,data:o.value}},Dl,Es=(e)=>(t,n,i)=>{let r=i?{...i,direction:"backward"}:{direction:"backward"};return ti(e)(t,n,r)},VT,xs=(e)=>(t,n,i)=>ti(e)(t,n,i),GT,ks=(e)=>async(t,n,i)=>{let r=i?{...i,direction:"backward"}:{direction:"backward"};return ri(e)(t,n,r)},KT,Ts=(e)=>async(t,n,i)=>ri(e)(t,n,i),JT,$s=(e)=>(t,n,i)=>{let r=i?{...i,direction:"backward"}:{direction:"backward"};return ni(e)(t,n,r)},XT,Is=(e)=>(t,n,i)=>ni(e)(t,n,i),QT,Ds=(e)=>async(t,n,i)=>{let r=i?{...i,direction:"backward"}:{direction:"backward"};return ii(e)(t,n,r)},YT,Rs=(e)=>async(t,n,i)=>ii(e)(t,n,i),e$;var Rl=he(()=>{hn();$l();Le();ws=ti(Kt),Ss=ri(Kt),Il=ni(Kt),Dl=ii(Kt),VT=Es(Kt),GT=xs(Kt),KT=ks(Kt),JT=Ts(Kt),XT=$s(Kt),QT=Is(Kt),YT=Ds(Kt),e$=Rs(Kt)});var er={};ur(er,{base64:()=>Zl,base64url:()=>As,bigint:()=>Yl,boolean:()=>tu,browserEmail:()=>c$,cidrv4:()=>Wl,cidrv6:()=>Hl,cuid:()=>Al,cuid2:()=>Ol,date:()=>Kl,datetime:()=>Xl,domain:()=>d$,duration:()=>Ll,e164:()=>Gl,email:()=>Ul,emoji:()=>jl,extendedDuration:()=>t$,guid:()=>zl,hex:()=>f$,hostname:()=>u$,html5Email:()=>o$,httpProtocol:()=>Vl,idnEmail:()=>a$,integer:()=>eu,ipv4:()=>Fl,ipv6:()=>Ml,ksuid:()=>Cl,lowercase:()=>iu,mac:()=>Bl,md5_base64:()=>g$,md5_base64url:()=>m$,md5_hex:()=>p$,nanoid:()=>ql,null:()=>ru,number:()=>oo,rfc5322Email:()=>s$,sha1_base64:()=>h$,sha1_base64url:()=>y$,sha1_hex:()=>_$,sha256_base64:()=>b$,sha256_base64url:()=>w$,sha256_hex:()=>v$,sha384_base64:()=>E$,sha384_base64url:()=>x$,sha384_hex:()=>S$,sha512_base64:()=>T$,sha512_base64url:()=>$$,sha512_hex:()=>k$,string:()=>Ql,time:()=>Jl,ulid:()=>Pl,undefined:()=>nu,unicodeEmail:()=>my,uppercase:()=>ou,uuid:()=>vn,uuid4:()=>r$,uuid6:()=>n$,uuid7:()=>i$,xid:()=>Nl});function jl(){return new RegExp(l$,"u")}function hy(e){return typeof e.precision==="number"?e.precision===-1?"(?:[01]\\d|2[0-3]):[0-5]\\d":e.precision===0?"(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d":`(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{${e.precision}}`:"(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?"}function Jl(e){return new RegExp(`^${hy(e)}$`)}function Xl(e){let t=hy({precision:e.precision}),n=["Z"];if(e.local)n.push("");if(e.offset)n.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let i=`${t}(?:${n.join("|")})`;return new RegExp(`^${_y}T(?:${i})$`)}function so(e,t){return new RegExp(`^[A-Za-z0-9+/]{${e}}${t}$`)}function ao(e){return new RegExp(`^[A-Za-z0-9_-]{${e}}$`)}var Al,Ol,Pl,Nl,Cl,ql,Ll,t$,zl,vn=(e)=>{if(!e)return/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/;return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`)},r$,n$,i$,Ul,o$,s$,my,a$,c$,l$="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Fl,Ml,Bl=(e)=>{let t=fr(e??":");return new RegExp(`^(?:[0-9A-F]{2}${t}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${t}){5}[0-9a-f]{2}$`)},Wl,Hl,Zl,As,u$,d$,Vl,Gl,_y="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",Kl,Ql=(e)=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},Yl,eu,oo,tu,ru,nu,iu,ou,f$,p$,g$,m$,_$,h$,y$,v$,b$,w$,S$,E$,x$,k$,T$,$$;var Os=he(()=>{Le();Al=/^[cC][0-9a-z]{6,}$/,Ol=/^[0-9a-z]+$/,Pl=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,Nl=/^[0-9a-vA-V]{20}$/,Cl=/^[A-Za-z0-9]{27}$/,ql=/^[a-zA-Z0-9_-]{21}$/,Ll=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,t$=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,zl=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,r$=vn(4),n$=vn(6),i$=vn(7),Ul=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,o$=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,s$=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,my=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,a$=my,c$=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;Fl=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Ml=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,Wl=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,Hl=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Zl=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,As=/^[A-Za-z0-9_-]*$/,u$=/^(?=.{1,253}\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\.?$/,d$=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,Vl=/^https?$/,Gl=/^\+[1-9]\d{6,14}$/,Kl=new RegExp(`^${_y}$`);Yl=/^-?\d+n?$/,eu=/^-?\d+$/,oo=/^-?\d+(?:\.\d+)?$/,tu=/^(?:true|false)$/i,ru=/^null$/i,nu=/^undefined$/i,iu=/^[^A-Z]*$/,ou=/^[^a-z]*$/,f$=/^[0-9a-fA-F]*$/;p$=/^[0-9a-fA-F]{32}$/,g$=so(22,"=="),m$=ao(22),_$=/^[0-9a-fA-F]{40}$/,h$=so(27,"="),y$=ao(27),v$=/^[0-9a-fA-F]{64}$/,b$=so(43,"="),w$=ao(43),S$=/^[0-9a-fA-F]{96}$/,E$=so(64,""),x$=ao(64),k$=/^[0-9a-fA-F]{128}$/,T$=so(86,"=="),$$=ao(86)});function yy(e,t,n){if(e.issues.length)t.issues.push(...Gt(n,e.issues))}var gt,vy,Ps,Ns,su,au,cu,lu,uu,du,fu,pu,gu,oi,mu,_u,hu,yu,vu,bu,wu,Su,Eu;var Cs=he(()=>{hn();Os();Le();gt=V("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),vy={number:"number",bigint:"bigint",object:"date"},Ps=V("$ZodCheckLessThan",(e,t)=>{gt.init(e,t);let n=vy[typeof t.value];e._zod.onattach.push((i)=>{let r=i._zod.bag,o=(t.inclusive?r.maximum:r.exclusiveMaximum)??Number.POSITIVE_INFINITY;if(t.value<o)if(t.inclusive)r.maximum=t.value;else r.exclusiveMaximum=t.value}),e._zod.check=(i)=>{if(t.inclusive?i.value<=t.value:i.value<t.value)return;i.issues.push({origin:n,code:"too_big",maximum:typeof t.value==="object"?t.value.getTime():t.value,input:i.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Ns=V("$ZodCheckGreaterThan",(e,t)=>{gt.init(e,t);let n=vy[typeof t.value];e._zod.onattach.push((i)=>{let r=i._zod.bag,o=(t.inclusive?r.minimum:r.exclusiveMinimum)??Number.NEGATIVE_INFINITY;if(t.value>o)if(t.inclusive)r.minimum=t.value;else r.exclusiveMinimum=t.value}),e._zod.check=(i)=>{if(t.inclusive?i.value>=t.value:i.value>t.value)return;i.issues.push({origin:n,code:"too_small",minimum:typeof t.value==="object"?t.value.getTime():t.value,input:i.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),su=V("$ZodCheckMultipleOf",(e,t)=>{gt.init(e,t),e._zod.onattach.push((n)=>{var i;(i=n._zod.bag).multipleOf??(i.multipleOf=t.value)}),e._zod.check=(n)=>{if(typeof n.value!==typeof t.value)throw Error("Cannot mix number and bigint in multiple_of check.");if(typeof n.value==="bigint"?n.value%t.value===BigInt(0):_l(n.value,t.value)===0)return;n.issues.push({origin:typeof n.value,code:"not_multiple_of",divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),au=V("$ZodCheckNumberFormat",(e,t)=>{gt.init(e,t),t.format=t.format||"float64";let n=t.format?.includes("int"),i=n?"int":"number",[r,o]=Sl[t.format];e._zod.onattach.push((s)=>{let c=s._zod.bag;if(c.format=t.format,c.minimum=r,c.maximum=o,n)c.pattern=eu}),e._zod.check=(s)=>{let c=s.value;if(n){if(!Number.isInteger(c)){s.issues.push({expected:i,format:t.format,code:"invalid_type",continue:!1,input:c,inst:e});return}if(!Number.isSafeInteger(c)){if(c>0)s.issues.push({input:c,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:i,inclusive:!0,continue:!t.abort});else s.issues.push({input:c,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:i,inclusive:!0,continue:!t.abort});return}}if(c<r)s.issues.push({origin:"number",input:c,code:"too_small",minimum:r,inclusive:!0,inst:e,continue:!t.abort});if(c>o)s.issues.push({origin:"number",input:c,code:"too_big",maximum:o,inclusive:!0,inst:e,continue:!t.abort})}}),cu=V("$ZodCheckBigIntFormat",(e,t)=>{gt.init(e,t);let[n,i]=El[t.format];e._zod.onattach.push((r)=>{let o=r._zod.bag;o.format=t.format,o.minimum=n,o.maximum=i}),e._zod.check=(r)=>{let o=r.value;if(o<n)r.issues.push({origin:"bigint",input:o,code:"too_small",minimum:n,inclusive:!0,inst:e,continue:!t.abort});if(o>i)r.issues.push({origin:"bigint",input:o,code:"too_big",maximum:i,inclusive:!0,inst:e,continue:!t.abort})}}),lu=V("$ZodCheckMaxSize",(e,t)=>{var n;gt.init(e,t),(n=e._zod.def).when??(n.when=(i)=>{let r=i.value;return!Zr(r)&&r.size!==void 0}),e._zod.onattach.push((i)=>{let r=i._zod.bag.maximum??Number.POSITIVE_INFINITY;if(t.maximum<r)i._zod.bag.maximum=t.maximum}),e._zod.check=(i)=>{let r=i.value;if(r.size<=t.maximum)return;i.issues.push({origin:eo(r),code:"too_big",maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),uu=V("$ZodCheckMinSize",(e,t)=>{var n;gt.init(e,t),(n=e._zod.def).when??(n.when=(i)=>{let r=i.value;return!Zr(r)&&r.size!==void 0}),e._zod.onattach.push((i)=>{let r=i._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(t.minimum>r)i._zod.bag.minimum=t.minimum}),e._zod.check=(i)=>{let r=i.value;if(r.size>=t.minimum)return;i.issues.push({origin:eo(r),code:"too_small",minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),du=V("$ZodCheckSizeEquals",(e,t)=>{var n;gt.init(e,t),(n=e._zod.def).when??(n.when=(i)=>{let r=i.value;return!Zr(r)&&r.size!==void 0}),e._zod.onattach.push((i)=>{let r=i._zod.bag;r.minimum=t.size,r.maximum=t.size,r.size=t.size}),e._zod.check=(i)=>{let r=i.value,o=r.size;if(o===t.size)return;let s=o>t.size;i.issues.push({origin:eo(r),...s?{code:"too_big",maximum:t.size}:{code:"too_small",minimum:t.size},inclusive:!0,exact:!0,input:i.value,inst:e,continue:!t.abort})}}),fu=V("$ZodCheckMaxLength",(e,t)=>{var n;gt.init(e,t),(n=e._zod.def).when??(n.when=(i)=>{let r=i.value;return!Zr(r)&&r.length!==void 0}),e._zod.onattach.push((i)=>{let r=i._zod.bag.maximum??Number.POSITIVE_INFINITY;if(t.maximum<r)i._zod.bag.maximum=t.maximum}),e._zod.check=(i)=>{let r=i.value;if(r.length<=t.maximum)return;let s=to(r);i.issues.push({origin:s,code:"too_big",maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),pu=V("$ZodCheckMinLength",(e,t)=>{var n;gt.init(e,t),(n=e._zod.def).when??(n.when=(i)=>{let r=i.value;return!Zr(r)&&r.length!==void 0}),e._zod.onattach.push((i)=>{let r=i._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(t.minimum>r)i._zod.bag.minimum=t.minimum}),e._zod.check=(i)=>{let r=i.value;if(r.length>=t.minimum)return;let s=to(r);i.issues.push({origin:s,code:"too_small",minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),gu=V("$ZodCheckLengthEquals",(e,t)=>{var n;gt.init(e,t),(n=e._zod.def).when??(n.when=(i)=>{let r=i.value;return!Zr(r)&&r.length!==void 0}),e._zod.onattach.push((i)=>{let r=i._zod.bag;r.minimum=t.length,r.maximum=t.length,r.length=t.length}),e._zod.check=(i)=>{let r=i.value,o=r.length;if(o===t.length)return;let s=to(r),c=o>t.length;i.issues.push({origin:s,...c?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:i.value,inst:e,continue:!t.abort})}}),oi=V("$ZodCheckStringFormat",(e,t)=>{var n,i;if(gt.init(e,t),e._zod.onattach.push((r)=>{let o=r._zod.bag;if(o.format=t.format,t.pattern)o.patterns??(o.patterns=new Set),o.patterns.add(t.pattern)}),t.pattern)(n=e._zod).check??(n.check=(r)=>{if(t.pattern.lastIndex=0,t.pattern.test(r.value))return;r.issues.push({origin:"string",code:"invalid_format",format:t.format,input:r.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})});else(i=e._zod).check??(i.check=()=>{})}),mu=V("$ZodCheckRegex",(e,t)=>{oi.init(e,t),e._zod.check=(n)=>{if(t.pattern.lastIndex=0,t.pattern.test(n.value))return;n.issues.push({origin:"string",code:"invalid_format",format:"regex",input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),_u=V("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=iu),oi.init(e,t)}),hu=V("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=ou),oi.init(e,t)}),yu=V("$ZodCheckIncludes",(e,t)=>{gt.init(e,t);let n=fr(t.includes),i=new RegExp(typeof t.position==="number"?`^.{${t.position}}${n}`:n);t.pattern=i,e._zod.onattach.push((r)=>{let o=r._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(i)}),e._zod.check=(r)=>{if(r.value.includes(t.includes,t.position))return;r.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:r.value,inst:e,continue:!t.abort})}}),vu=V("$ZodCheckStartsWith",(e,t)=>{gt.init(e,t);let n=new RegExp(`^${fr(t.prefix)}.*`);t.pattern??(t.pattern=n),e._zod.onattach.push((i)=>{let r=i._zod.bag;r.patterns??(r.patterns=new Set),r.patterns.add(n)}),e._zod.check=(i)=>{if(i.value.startsWith(t.prefix))return;i.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:i.value,inst:e,continue:!t.abort})}}),bu=V("$ZodCheckEndsWith",(e,t)=>{gt.init(e,t);let n=new RegExp(`.*${fr(t.suffix)}$`);t.pattern??(t.pattern=n),e._zod.onattach.push((i)=>{let r=i._zod.bag;r.patterns??(r.patterns=new Set),r.patterns.add(n)}),e._zod.check=(i)=>{if(i.value.endsWith(t.suffix))return;i.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:i.value,inst:e,continue:!t.abort})}});wu=V("$ZodCheckProperty",(e,t)=>{gt.init(e,t),e._zod.check=(n)=>{let i=t.schema._zod.run({value:n.value[t.property],issues:[]},{});if(i instanceof Promise)return i.then((r)=>yy(r,n,t.property));yy(i,n,t.property);return}}),Su=V("$ZodCheckMimeType",(e,t)=>{gt.init(e,t);let n=new Set(t.mime);e._zod.onattach.push((i)=>{i._zod.bag.mime=t.mime}),e._zod.check=(i)=>{if(n.has(i.value.type))return;i.issues.push({code:"invalid_value",values:t.mime,input:i.value.type,inst:e,continue:!t.abort})}}),Eu=V("$ZodCheckOverwrite",(e,t)=>{gt.init(e,t),e._zod.check=(n)=>{n.value=t.tx(n.value)}})});class qs{constructor(e=[]){if(this.content=[],this.indent=0,this)this.args=e}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if(typeof e==="function"){e(this,{execution:"sync"}),e(this,{execution:"async"});return}let n=e.split(`
396
- `).filter((o)=>o),i=Math.min(...n.map((o)=>o.length-o.trimStart().length)),r=n.map((o)=>o.slice(i)).map((o)=>" ".repeat(this.indent*2)+o);for(let o of r)this.content.push(o)}compile(){let e=Function,t=this?.args,i=[...(this?.content??[""]).map((r)=>` ${r}`)];return new e(...t,i.join(`
397
- `))}}var xu;var ku=he(()=>{xu={major:4,minor:4,patch:3}});function Vu(e){if(e==="")return!0;if(/\s/.test(e))return!1;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}function Cy(e){if(!As.test(e))return!1;let t=e.replace(/[-_]/g,(i)=>i==="-"?"+":"/"),n=t.padEnd(Math.ceil(t.length/4)*4,"=");return Vu(n)}function qy(e,t=null){try{let n=e.split(".");if(n.length!==3)return!1;let[i]=n;if(!i)return!1;let r=JSON.parse(atob(i));if("typ"in r&&r?.typ!=="JWT")return!1;if(!r.alg)return!1;if(t&&(!("alg"in r)||r.alg!==t))return!1;return!0}catch{return!1}}function wy(e,t,n){if(e.issues.length)t.issues.push(...Gt(n,e.issues));t.value[n]=e.value}function js(e,t,n,i,r,o){let s=n in i;if(e.issues.length){if(r&&o&&!s)return;t.issues.push(...Gt(n,e.issues))}if(!s&&!r){if(!e.issues.length)t.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[n]});return}if(e.value===void 0){if(s)t.value[n]=void 0}else t.value[n]=e.value}function Ly(e){let t=Object.keys(e.shape);for(let i of t)if(!e.shape?.[i]?._zod?.traits?.has("$ZodType"))throw Error(`Invalid element at key "${i}": expected a Zod schema`);let n=wl(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function zy(e,t,n,i,r,o){let s=[],c=r.keySet,d=r.catchall._zod,f=d.def.type,b=d.optin==="optional",x=d.optout==="optional";for(let P in t){if(P==="__proto__")continue;if(c.has(P))continue;if(f==="never"){s.push(P);continue}let F=d.run({value:t[P],issues:[]},i);if(F instanceof Promise)e.push(F.then((ce)=>js(ce,n,P,t,b,x)));else js(F,n,P,t,b,x)}if(s.length)n.issues.push({code:"unrecognized_keys",keys:s,input:t,inst:o});if(!e.length)return n;return Promise.all(e).then(()=>n)}function Sy(e,t,n,i){for(let o of e)if(o.issues.length===0)return t.value=o.value,t;let r=e.filter((o)=>!Kr(o));if(r.length===1)return t.value=r[0].value,r[0];return t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map((o)=>o.issues.map((s)=>Ft(s,i,ht())))}),t}function Ey(e,t,n,i){let r=e.filter((o)=>o.issues.length===0);if(r.length===1)return t.value=r[0].value,t;if(r.length===0)t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map((o)=>o.issues.map((s)=>Ft(s,i,ht())))});else t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:[],inclusive:!1});return t}function Tu(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e===+t)return{valid:!0,data:e};if(Gr(e)&&Gr(t)){let n=Object.keys(t),i=Object.keys(e).filter((o)=>n.indexOf(o)!==-1),r={...e,...t};for(let o of i){let s=Tu(e[o],t[o]);if(!s.valid)return{valid:!1,mergeErrorPath:[o,...s.mergeErrorPath]};r[o]=s.data}return{valid:!0,data:r}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let n=[];for(let i=0;i<e.length;i++){let r=e[i],o=t[i],s=Tu(r,o);if(!s.valid)return{valid:!1,mergeErrorPath:[i,...s.mergeErrorPath]};n.push(s.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function xy(e,t,n){let i=new Map,r;for(let c of t.issues)if(c.code==="unrecognized_keys"){r??(r=c);for(let d of c.keys){if(!i.has(d))i.set(d,{});i.get(d).l=!0}}else e.issues.push(c);for(let c of n.issues)if(c.code==="unrecognized_keys")for(let d of c.keys){if(!i.has(d))i.set(d,{});i.get(d).r=!0}else e.issues.push(c);let o=[...i].filter(([,c])=>c.l&&c.r).map(([c])=>c);if(o.length&&r)e.issues.push({...r,keys:o});if(Kr(e))return e;let s=Tu(t.value,n.value);if(!s.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(s.mergeErrorPath)}`);return e.value=s.data,e}function ky(e,t){for(let n=e.length-1;n>=0;n--)if(e[n]._zod[t]!=="optional")return n+1;return 0}function Ty(e,t,n){if(e.issues.length)t.issues.push(...Gt(n,e.issues));t.value[n]=e.value}function $y(e,t,n,i,r){for(let o=0;o<n.length;o++){let s=e[o],c=o<i.length;if(s.issues.length){if(!c&&o>=r){t.value.length=o;break}t.issues.push(...Gt(o,s.issues))}t.value[o]=s.value}for(let o=t.value.length-1;o>=i.length;o--)if(n[o]._zod.optout==="optional"&&t.value[o]===void 0)t.value.length=o;else break;return t}function Iy(e,t,n,i,r,o,s){if(e.issues.length)if(Yi.has(typeof i))n.issues.push(...Gt(i,e.issues));else n.issues.push({code:"invalid_key",origin:"map",input:r,inst:o,issues:e.issues.map((c)=>Ft(c,s,ht()))});if(t.issues.length)if(Yi.has(typeof i))n.issues.push(...Gt(i,t.issues));else n.issues.push({origin:"map",code:"invalid_element",input:r,inst:o,key:i,issues:t.issues.map((c)=>Ft(c,s,ht()))});n.value.set(e.value,t.value)}function Dy(e,t){if(e.issues.length)t.issues.push(...e.issues);t.value.add(e.value)}function Ry(e,t){if(t===void 0&&(e.issues.length||e.fallback))return{issues:[],value:void 0};return e}function Ay(e,t){if(e.value===void 0)e.value=t.defaultValue;return e}function Oy(e,t){if(!e.issues.length&&e.value===void 0)e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t});return e}function Ls(e,t,n){if(e.issues.length)return e.aborted=!0,e;return t._zod.run({value:e.value,issues:e.issues,fallback:e.fallback},n)}function zs(e,t,n){if(e.issues.length)return e.aborted=!0,e;if((n.direction||"forward")==="forward"){let r=t.transform(e.value,e);if(r instanceof Promise)return r.then((o)=>Us(e,o,t.out,n));return Us(e,r,t.out,n)}else{let r=t.reverseTransform(e.value,e);if(r instanceof Promise)return r.then((o)=>Us(e,o,t.in,n));return Us(e,r,t.in,n)}}function Us(e,t,n,i){if(e.issues.length)return e.aborted=!0,e;return n._zod.run({value:t,issues:e.issues},i)}function Py(e){return e.value=Object.freeze(e.value),e}function Ny(e,t,n,i){if(!e){let r={code:"custom",input:n,inst:i,path:[...i._zod.def.path??[]],continue:!i._zod.def.abort};if(i._zod.def.params)r.params=i._zod.def.params;t.issues.push(ei(r))}}var He,bn,dt,$u,Iu,Du,Ru,Au,Ou,Pu,Nu,Cu,qu,Lu,zu,Uu,ju,Fu,Mu,Bu,Wu,Hu,Zu,Gu,Ku,Ju,Xu,Qu,Fs,Yu,co,Ms,ed,td,rd,nd,id,od,sd,ad,cd,ld,Uy,ud,lo,dd,fd,pd,Bs,gd,md,_d,hd,yd,vd,bd,Ws,wd,Sd,Ed,xd,kd,Td,$d,Id,Hs,uo,Dd,Rd,Ad,Od,Pd,Nd,Cd;var qd=he(()=>{Cs();hn();Rl();Os();Le();ku();Le();He=V("$ZodType",(e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=xu;let i=[...e._zod.def.checks??[]];if(e._zod.traits.has("$ZodCheck"))i.unshift(e);for(let r of i)for(let o of r._zod.onattach)o(e);if(i.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let r=(s,c,d)=>{let f=Kr(s),b;for(let x of c){if(x._zod.def.when){if(xl(s))continue;if(!x._zod.def.when(s))continue}else if(f)continue;let P=s.issues.length,F=x._zod.check(s);if(F instanceof Promise&&d?.async===!1)throw new kr;if(b||F instanceof Promise)b=(b??Promise.resolve()).then(async()=>{if(await F,s.issues.length===P)return;if(!f)f=Kr(s,P)});else{if(s.issues.length===P)continue;if(!f)f=Kr(s,P)}}if(b)return b.then(()=>s);return s},o=(s,c,d)=>{if(Kr(s))return s.aborted=!0,s;let f=r(c,i,d);if(f instanceof Promise){if(d.async===!1)throw new kr;return f.then((b)=>e._zod.parse(b,d))}return e._zod.parse(f,d)};e._zod.run=(s,c)=>{if(c.skipChecks)return e._zod.parse(s,c);if(c.direction==="backward"){let f=e._zod.parse({value:s.value,issues:[]},{...c,skipChecks:!0});if(f instanceof Promise)return f.then((b)=>o(b,s,c));return o(f,s,c)}let d=e._zod.parse(s,c);if(d instanceof Promise){if(c.async===!1)throw new kr;return d.then((f)=>r(f,i,c))}return r(d,i,c)}}Qe(e,"~standard",()=>({validate:(r)=>{try{let o=Il(e,r);return o.success?{value:o.data}:{issues:o.error?.issues}}catch(o){return Dl(e,r).then((s)=>s.success?{value:s.data}:{issues:s.error?.issues})}},vendor:"zod",version:1}))}),bn=V("$ZodString",(e,t)=>{He.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??Ql(e._zod.bag),e._zod.parse=(n,i)=>{if(t.coerce)try{n.value=String(n.value)}catch(r){}if(typeof n.value==="string")return n;return n.issues.push({expected:"string",code:"invalid_type",input:n.value,inst:e}),n}}),dt=V("$ZodStringFormat",(e,t)=>{oi.init(e,t),bn.init(e,t)}),$u=V("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=zl),dt.init(e,t)}),Iu=V("$ZodUUID",(e,t)=>{if(t.version){let i={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(i===void 0)throw Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=vn(i))}else t.pattern??(t.pattern=vn());dt.init(e,t)}),Du=V("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=Ul),dt.init(e,t)}),Ru=V("$ZodURL",(e,t)=>{dt.init(e,t),e._zod.check=(n)=>{try{let i=n.value.trim();if(!t.normalize&&t.protocol?.source===Vl.source){if(!/^https?:\/\//i.test(i)){n.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:n.value,inst:e,continue:!t.abort});return}}let r=new URL(i);if(t.hostname){if(t.hostname.lastIndex=0,!t.hostname.test(r.hostname))n.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort})}if(t.protocol){if(t.protocol.lastIndex=0,!t.protocol.test(r.protocol.endsWith(":")?r.protocol.slice(0,-1):r.protocol))n.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort})}if(t.normalize)n.value=r.href;else n.value=i;return}catch(i){n.issues.push({code:"invalid_format",format:"url",input:n.value,inst:e,continue:!t.abort})}}}),Au=V("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=jl()),dt.init(e,t)}),Ou=V("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=ql),dt.init(e,t)}),Pu=V("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=Al),dt.init(e,t)}),Nu=V("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=Ol),dt.init(e,t)}),Cu=V("$ZodULID",(e,t)=>{t.pattern??(t.pattern=Pl),dt.init(e,t)}),qu=V("$ZodXID",(e,t)=>{t.pattern??(t.pattern=Nl),dt.init(e,t)}),Lu=V("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=Cl),dt.init(e,t)}),zu=V("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=Xl(t)),dt.init(e,t)}),Uu=V("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=Kl),dt.init(e,t)}),ju=V("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=Jl(t)),dt.init(e,t)}),Fu=V("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=Ll),dt.init(e,t)}),Mu=V("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=Fl),dt.init(e,t),e._zod.bag.format="ipv4"}),Bu=V("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=Ml),dt.init(e,t),e._zod.bag.format="ipv6",e._zod.check=(n)=>{try{new URL(`http://[${n.value}]`)}catch{n.issues.push({code:"invalid_format",format:"ipv6",input:n.value,inst:e,continue:!t.abort})}}}),Wu=V("$ZodMAC",(e,t)=>{t.pattern??(t.pattern=Bl(t.delimiter)),dt.init(e,t),e._zod.bag.format="mac"}),Hu=V("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=Wl),dt.init(e,t)}),Zu=V("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=Hl),dt.init(e,t),e._zod.check=(n)=>{let i=n.value.split("/");try{if(i.length!==2)throw Error();let[r,o]=i;if(!o)throw Error();let s=Number(o);if(`${s}`!==o)throw Error();if(s<0||s>128)throw Error();new URL(`http://[${r}]`)}catch{n.issues.push({code:"invalid_format",format:"cidrv6",input:n.value,inst:e,continue:!t.abort})}}});Gu=V("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=Zl),dt.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=(n)=>{if(Vu(n.value))return;n.issues.push({code:"invalid_format",format:"base64",input:n.value,inst:e,continue:!t.abort})}});Ku=V("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=As),dt.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=(n)=>{if(Cy(n.value))return;n.issues.push({code:"invalid_format",format:"base64url",input:n.value,inst:e,continue:!t.abort})}}),Ju=V("$ZodE164",(e,t)=>{t.pattern??(t.pattern=Gl),dt.init(e,t)});Xu=V("$ZodJWT",(e,t)=>{dt.init(e,t),e._zod.check=(n)=>{if(qy(n.value,t.alg))return;n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:e,continue:!t.abort})}}),Qu=V("$ZodCustomStringFormat",(e,t)=>{dt.init(e,t),e._zod.check=(n)=>{if(t.fn(n.value))return;n.issues.push({code:"invalid_format",format:t.format,input:n.value,inst:e,continue:!t.abort})}}),Fs=V("$ZodNumber",(e,t)=>{He.init(e,t),e._zod.pattern=e._zod.bag.pattern??oo,e._zod.parse=(n,i)=>{if(t.coerce)try{n.value=Number(n.value)}catch(s){}let r=n.value;if(typeof r==="number"&&!Number.isNaN(r)&&Number.isFinite(r))return n;let o=typeof r==="number"?Number.isNaN(r)?"NaN":!Number.isFinite(r)?"Infinity":void 0:void 0;return n.issues.push({expected:"number",code:"invalid_type",input:r,inst:e,...o?{received:o}:{}}),n}}),Yu=V("$ZodNumberFormat",(e,t)=>{au.init(e,t),Fs.init(e,t)}),co=V("$ZodBoolean",(e,t)=>{He.init(e,t),e._zod.pattern=tu,e._zod.parse=(n,i)=>{if(t.coerce)try{n.value=Boolean(n.value)}catch(o){}let r=n.value;if(typeof r==="boolean")return n;return n.issues.push({expected:"boolean",code:"invalid_type",input:r,inst:e}),n}}),Ms=V("$ZodBigInt",(e,t)=>{He.init(e,t),e._zod.pattern=Yl,e._zod.parse=(n,i)=>{if(t.coerce)try{n.value=BigInt(n.value)}catch(r){}if(typeof n.value==="bigint")return n;return n.issues.push({expected:"bigint",code:"invalid_type",input:n.value,inst:e}),n}}),ed=V("$ZodBigIntFormat",(e,t)=>{cu.init(e,t),Ms.init(e,t)}),td=V("$ZodSymbol",(e,t)=>{He.init(e,t),e._zod.parse=(n,i)=>{let r=n.value;if(typeof r==="symbol")return n;return n.issues.push({expected:"symbol",code:"invalid_type",input:r,inst:e}),n}}),rd=V("$ZodUndefined",(e,t)=>{He.init(e,t),e._zod.pattern=nu,e._zod.values=new Set([void 0]),e._zod.parse=(n,i)=>{let r=n.value;if(typeof r>"u")return n;return n.issues.push({expected:"undefined",code:"invalid_type",input:r,inst:e}),n}}),nd=V("$ZodNull",(e,t)=>{He.init(e,t),e._zod.pattern=ru,e._zod.values=new Set([null]),e._zod.parse=(n,i)=>{let r=n.value;if(r===null)return n;return n.issues.push({expected:"null",code:"invalid_type",input:r,inst:e}),n}}),id=V("$ZodAny",(e,t)=>{He.init(e,t),e._zod.parse=(n)=>n}),od=V("$ZodUnknown",(e,t)=>{He.init(e,t),e._zod.parse=(n)=>n}),sd=V("$ZodNever",(e,t)=>{He.init(e,t),e._zod.parse=(n,i)=>(n.issues.push({expected:"never",code:"invalid_type",input:n.value,inst:e}),n)}),ad=V("$ZodVoid",(e,t)=>{He.init(e,t),e._zod.parse=(n,i)=>{let r=n.value;if(typeof r>"u")return n;return n.issues.push({expected:"void",code:"invalid_type",input:r,inst:e}),n}}),cd=V("$ZodDate",(e,t)=>{He.init(e,t),e._zod.parse=(n,i)=>{if(t.coerce)try{n.value=new Date(n.value)}catch(c){}let r=n.value,o=r instanceof Date;if(o&&!Number.isNaN(r.getTime()))return n;return n.issues.push({expected:"date",code:"invalid_type",input:r,...o?{received:"Invalid Date"}:{},inst:e}),n}});ld=V("$ZodArray",(e,t)=>{He.init(e,t),e._zod.parse=(n,i)=>{let r=n.value;if(!Array.isArray(r))return n.issues.push({expected:"array",code:"invalid_type",input:r,inst:e}),n;n.value=Array(r.length);let o=[];for(let s=0;s<r.length;s++){let c=r[s],d=t.element._zod.run({value:c,issues:[]},i);if(d instanceof Promise)o.push(d.then((f)=>wy(f,n,s)));else wy(d,n,s)}if(o.length)return Promise.all(o).then(()=>n);return n}});Uy=V("$ZodObject",(e,t)=>{if(He.init(e,t),!Object.getOwnPropertyDescriptor(t,"shape")?.get){let c=t.shape;Object.defineProperty(t,"shape",{get:()=>{let d={...c};return Object.defineProperty(t,"shape",{value:d}),d}})}let i=Yn(()=>Ly(t));Qe(e._zod,"propValues",()=>{let c=t.shape,d={};for(let f in c){let b=c[f]._zod;if(b.values){d[f]??(d[f]=new Set);for(let x of b.values)d[f].add(x)}}return d});let r=yn,o=t.catchall,s;e._zod.parse=(c,d)=>{s??(s=i.value);let f=c.value;if(!r(f))return c.issues.push({expected:"object",code:"invalid_type",input:f,inst:e}),c;c.value={};let b=[],x=s.shape;for(let P of s.keys){let F=x[P],ce=F._zod.optin==="optional",ie=F._zod.optout==="optional",de=F._zod.run({value:f[P],issues:[]},d);if(de instanceof Promise)b.push(de.then((Pe)=>js(Pe,c,P,f,ce,ie)));else js(de,c,P,f,ce,ie)}if(!o)return b.length?Promise.all(b).then(()=>c):c;return zy(b,f,c,d,i.value,e)}}),ud=V("$ZodObjectJIT",(e,t)=>{Uy.init(e,t);let n=e._zod.parse,i=Yn(()=>Ly(t)),r=(P)=>{let F=new qs(["shape","payload","ctx"]),ce=i.value,ie=(Ue)=>{let Je=vs(Ue);return`shape[${Je}]._zod.run({ value: input[${Je}], issues: [] }, ctx)`};F.write("const input = payload.value;");let de=Object.create(null),Pe=0;for(let Ue of ce.keys)de[Ue]=`key_${Pe++}`;F.write("const newResult = {};");for(let Ue of ce.keys){let Je=de[Ue],et=vs(Ue),_t=P[Ue],It=_t?._zod?.optin==="optional",Er=_t?._zod?.optout==="optional";if(F.write(`const ${Je} = ${ie(Ue)};`),It&&Er)F.write(`
398
- if (${Je}.issues.length) {
399
- if (${et} in input) {
400
- payload.issues = payload.issues.concat(${Je}.issues.map(iss => ({
406
+ `)};if(!gt(e,"sites","visibility"))e.exec("ALTER TABLE sites ADD COLUMN visibility TEXT"),t("visibility","NULL");if(!gt(e,"sites","spa"))e.exec("ALTER TABLE sites ADD COLUMN spa INTEGER NOT NULL DEFAULT 0"),t("spa","0");if(!gt(e,"sites","public_grants"))e.exec("ALTER TABLE sites ADD COLUMN public_grants TEXT"),t("public_grants","NULL")}function Hl(e,t){if(!$r(e,t))return;let r=`${t}_replay_seq`,n=e.query("SELECT value FROM meta WHERE key = ?").get(r),o=n?Number(n.value):0,s=e.query(`SELECT seq, ${It} FROM crdt_changes
407
+ WHERE dataset = ? AND seq > ? ORDER BY seq`).all(t,o);if(s.length===0)return;e.transaction((a)=>{for(let u of a)So(e,u);e.query("INSERT INTO meta (key, value) VALUES (?, ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value").run(r,String(a[a.length-1].seq))})(s)}function My(e){Hl(e,"site_channels")}function By(e){Hl(e,"nodes")}function fs(e){Ay(e),qy(e),Fy(e),Ly(e),Dy(e),Iy(e),$y(e),Py(e),Cy(e),Ny(e),Oy(e),zy(e),My(e),By(e)}var Po=De(()=>{Lr();pn();$n();Fn();dt()});function ce(e,t,r){function n(u,_){if(!u._zod)Object.defineProperty(u,"_zod",{value:{def:_,constr:a,traits:new Set},enumerable:!1});if(u._zod.traits.has(e))return;u._zod.traits.add(e),t(u,_);let m=a.prototype,x=Object.keys(m);for(let D=0;D<x.length;D++){let j=x[D];if(!(j in u))u[j]=m[j].bind(u)}}let o=r?.Parent??Object;class s extends o{}Object.defineProperty(s,"name",{value:e});function a(u){var _;let m=r?.Parent?new s:this;n(m,u),(_=m._zod).deferred??(_.deferred=[]);for(let x of m._zod.deferred)x();return m}return Object.defineProperty(a,"init",{value:n}),Object.defineProperty(a,Symbol.hasInstance,{value:(u)=>{if(r?.Parent&&u instanceof r.Parent)return!0;return u?._zod?.traits?.has(e)}}),Object.defineProperty(a,"name",{value:e}),a}function Vt(e){if(e)Object.assign(gn,e);return gn}var Wl,US,fr,zn,gn;var Fr=De(()=>{US=Symbol("zod_brand");fr=class fr extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}};zn=class zn extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`);this.name="ZodEncodeError"}};(Wl=globalThis).__zod_globalConfig??(Wl.__zod_globalConfig={});gn=globalThis.__zod_globalConfig});function Co(e){let t=Object.values(e).filter((n)=>typeof n==="number");return Object.entries(e).filter(([n,o])=>t.indexOf(+n)===-1).map(([n,o])=>o)}function _s(e,t="|"){return e.map((r)=>ys(r)).join(t)}function Bn(e,t){if(typeof t==="bigint")return t.toString();return t}function qo(e){return{get value(){{let r=e();return Object.defineProperty(this,"value",{value:r}),r}throw Error("cached value already set")}}}function Lo(e){return e===null||e===void 0}function $o(e){let t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}function Gl(e,t){let r=e/t,n=Math.round(r),o=Number.EPSILON*Math.max(Math.abs(r),1);if(Math.abs(r-n)<o)return 0;return r-n}function Ve(e,t,r){let n=void 0;Object.defineProperty(e,t,{get(){if(n===Zl)return;if(n===void 0)n=Zl,n=r();return n},set(o){Object.defineProperty(e,t,{value:o})},configurable:!0})}function zr(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function Er(...e){let t={};for(let r of e){let n=Object.getOwnPropertyDescriptors(r);Object.assign(t,n)}return Object.defineProperties({},t)}function gs(e){return JSON.stringify(e)}function Kl(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function Mn(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}function hn(e){if(Mn(e)===!1)return!1;let t=e.constructor;if(t===void 0)return!0;if(typeof t!=="function")return!0;let r=t.prototype;if(Mn(r)===!1)return!1;if(Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)return!1;return!0}function ms(e){if(hn(e))return{...e};if(Array.isArray(e))return[...e];if(e instanceof Map)return new Map(e);if(e instanceof Set)return new Set(e);return e}function Sr(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function nr(e,t,r){let n=new e._zod.constr(t??e._zod.def);if(!t||r?.parent)n._zod.parent=e;return n}function Ne(e){let t=e;if(!t)return{};if(typeof t==="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");t.error=t.message}if(delete t.message,typeof t.error==="string")return{...t,error:()=>t.error};return t}function ys(e){if(typeof e==="bigint")return e.toString()+"n";if(typeof e==="string")return`"${e}"`;return`${e}`}function Xl(e){return Object.keys(e).filter((t)=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}function Uy(e,t){let r=e._zod.def,n=r.checks;if(n&&n.length>0)throw Error(".pick() cannot be used on object schemas containing refinements");let s=Er(e._zod.def,{get shape(){let a={};for(let u in t){if(!(u in r.shape))throw Error(`Unrecognized key: "${u}"`);if(!t[u])continue;a[u]=r.shape[u]}return zr(this,"shape",a),a},checks:[]});return nr(e,s)}function jy(e,t){let r=e._zod.def,n=r.checks;if(n&&n.length>0)throw Error(".omit() cannot be used on object schemas containing refinements");let s=Er(e._zod.def,{get shape(){let a={...e._zod.def.shape};for(let u in t){if(!(u in r.shape))throw Error(`Unrecognized key: "${u}"`);if(!t[u])continue;delete a[u]}return zr(this,"shape",a),a},checks:[]});return nr(e,s)}function Hy(e,t){if(!hn(t))throw Error("Invalid input to extend: expected a plain object");let r=e._zod.def.checks;if(r&&r.length>0){let s=e._zod.def.shape;for(let a in t)if(Object.getOwnPropertyDescriptor(s,a)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let o=Er(e._zod.def,{get shape(){let s={...e._zod.def.shape,...t};return zr(this,"shape",s),s}});return nr(e,o)}function Wy(e,t){if(!hn(t))throw Error("Invalid input to safeExtend: expected a plain object");let r=Er(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return zr(this,"shape",n),n}});return nr(e,r)}function Zy(e,t){if(e._zod.def.checks?.length)throw Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let r=Er(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t._zod.def.shape};return zr(this,"shape",n),n},get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]});return nr(e,r)}function Gy(e,t,r){let o=t._zod.def.checks;if(o&&o.length>0)throw Error(".partial() cannot be used on object schemas containing refinements");let a=Er(t._zod.def,{get shape(){let u=t._zod.def.shape,_={...u};if(r)for(let m in r){if(!(m in u))throw Error(`Unrecognized key: "${m}"`);if(!r[m])continue;_[m]=e?new e({type:"optional",innerType:u[m]}):u[m]}else for(let m in u)_[m]=e?new e({type:"optional",innerType:u[m]}):u[m];return zr(this,"shape",_),_},checks:[]});return nr(t,a)}function Ky(e,t,r){let n=Er(t._zod.def,{get shape(){let o=t._zod.def.shape,s={...o};if(r)for(let a in r){if(!(a in s))throw Error(`Unrecognized key: "${a}"`);if(!r[a])continue;s[a]=new e({type:"nonoptional",innerType:o[a]})}else for(let a in o)s[a]=new e({type:"nonoptional",innerType:o[a]});return zr(this,"shape",s),s}});return nr(t,n)}function Mr(e,t=0){if(e.aborted===!0)return!0;for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue!==!0)return!0;return!1}function Yl(e,t=0){if(e.aborted===!0)return!0;for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue===!1)return!0;return!1}function Fo(e,t){return t.map((r)=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(e),r})}function No(e){return typeof e==="string"?e:e?.message}function pr(e,t,r){let n=e.message?e.message:No(e.inst?._zod.def?.error?.(e))??No(t?.error?.(e))??No(r.customError?.(e))??No(r.localeError?.(e))??"Invalid input",{inst:o,continue:s,input:a,...u}=e;if(u.path??(u.path=[]),u.message=n,t?.reportInput)u.input=a;return u}function zo(e){if(Array.isArray(e))return"array";if(typeof e==="string")return"string";return"unknown"}function eu(e){let t=typeof e;switch(t){case"number":return Number.isNaN(e)?"nan":"number";case"object":{if(e===null)return"null";if(Array.isArray(e))return"array";let r=e;if(r&&Object.getPrototypeOf(r)!==Object.prototype&&"constructor"in r&&r.constructor)return r.constructor.name}}return t}function Br(...e){let[t,r,n]=e;if(typeof t==="string")return{message:t,code:"custom",input:r,inst:n};return{...t}}var Zl,hs,Vl,Jl,Ql;var Jt=De(()=>{Fr();Zl=Symbol("evaluating");hs="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};Vl=qo(()=>{if(gn.jitless)return!1;if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(e){return!1}});Jl=new Set(["string","number","symbol"]);Ql={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-340282346638528860000000000000000000000,340282346638528860000000000000000000000],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]}});function ru(e,t=(r)=>r.message){let r={},n=[];for(let o of e.issues)if(o.path.length>0)r[o.path[0]]=r[o.path[0]]||[],r[o.path[0]].push(t(o));else n.push(t(o));return{formErrors:n,fieldErrors:r}}function nu(e,t=(r)=>r.message){let r={_errors:[]},n=(o,s=[])=>{for(let a of o.issues)if(a.code==="invalid_union"&&a.errors.length)a.errors.map((u)=>n({issues:u},[...s,...a.path]));else if(a.code==="invalid_key")n({issues:a.issues},[...s,...a.path]);else if(a.code==="invalid_element")n({issues:a.issues},[...s,...a.path]);else{let u=[...s,...a.path];if(u.length===0)r._errors.push(t(a));else{let _=r,m=0;while(m<u.length){let x=u[m];if(m!==u.length-1)_[x]=_[x]||{_errors:[]};else _[x]=_[x]||{_errors:[]},_[x]._errors.push(t(a));_=_[x],m++}}}};return n(e),r}var tu=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,Bn,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Mo,bs;var ws=De(()=>{Fr();Jt();Mo=ce("$ZodError",tu),bs=ce("$ZodError",tu,{Parent:Error})});var Bo=(e)=>(t,r,n,o)=>{let s=n?{...n,async:!1}:{async:!1},a=t._zod.run({value:r,issues:[]},s);if(a instanceof Promise)throw new fr;if(a.issues.length){let u=new(o?.Err??e)(a.issues.map((_)=>pr(_,s,Vt())));throw hs(u,o?.callee),u}return a.value},Uo=(e)=>async(t,r,n,o)=>{let s=n?{...n,async:!0}:{async:!0},a=t._zod.run({value:r,issues:[]},s);if(a instanceof Promise)a=await a;if(a.issues.length){let u=new(o?.Err??e)(a.issues.map((_)=>pr(_,s,Vt())));throw hs(u,o?.callee),u}return a.value},Un=(e)=>(t,r,n)=>{let o=n?{...n,async:!1}:{async:!1},s=t._zod.run({value:r,issues:[]},o);if(s instanceof Promise)throw new fr;return s.issues.length?{success:!1,error:new(e??Mo)(s.issues.map((a)=>pr(a,o,Vt())))}:{success:!0,data:s.value}},ou,jn=(e)=>async(t,r,n)=>{let o=n?{...n,async:!0}:{async:!0},s=t._zod.run({value:r,issues:[]},o);if(s instanceof Promise)s=await s;return s.issues.length?{success:!1,error:new e(s.issues.map((a)=>pr(a,o,Vt())))}:{success:!0,data:s.value}},iu,su=(e)=>(t,r,n)=>{let o=n?{...n,direction:"backward"}:{direction:"backward"};return Bo(e)(t,r,o)},au=(e)=>(t,r,n)=>Bo(e)(t,r,n),cu=(e)=>async(t,r,n)=>{let o=n?{...n,direction:"backward"}:{direction:"backward"};return Uo(e)(t,r,o)},lu=(e)=>async(t,r,n)=>Uo(e)(t,r,n),uu=(e)=>(t,r,n)=>{let o=n?{...n,direction:"backward"}:{direction:"backward"};return Un(e)(t,r,o)},du=(e)=>(t,r,n)=>Un(e)(t,r,n),fu=(e)=>async(t,r,n)=>{let o=n?{...n,direction:"backward"}:{direction:"backward"};return jn(e)(t,r,o)},pu=(e)=>async(t,r,n)=>jn(e)(t,r,n);var vs=De(()=>{Fr();ws();Jt();ou=Un(bs),iu=jn(bs)});function Su(){return new RegExp(Jy,"u")}function Nu(e){return typeof e.precision==="number"?e.precision===-1?"(?:[01]\\d|2[0-3]):[0-5]\\d":e.precision===0?"(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d":`(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{${e.precision}}`:"(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?"}function Cu(e){return new RegExp(`^${Nu(e)}$`)}function qu(e){let t=Nu({precision:e.precision}),r=["Z"];if(e.local)r.push("");if(e.offset)r.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let n=`${t}(?:${r.join("|")})`;return new RegExp(`^${Iu}T(?:${n})$`)}var _u,gu,hu,mu,yu,bu,wu,vu,Es=(e)=>{if(!e)return/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/;return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`)},Eu,Jy="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",xu,Tu,ku,Ru,Au,Ss,Du,Ou,Iu="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",Pu,Lu=(e)=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},$u,Fu,zu,Mu,Bu;var Ho=De(()=>{_u=/^[cC][0-9a-z]{6,}$/,gu=/^[0-9a-z]+$/,hu=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,mu=/^[0-9a-vA-V]{20}$/,yu=/^[A-Za-z0-9]{27}$/,bu=/^[a-zA-Z0-9_-]{21}$/,wu=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,vu=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Eu=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;xu=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Tu=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,ku=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,Ru=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Au=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Ss=/^[A-Za-z0-9_-]*$/,Du=/^https?$/,Ou=/^\+[1-9]\d{6,14}$/,Pu=new RegExp(`^${Iu}$`);$u=/^-?\d+$/,Fu=/^-?\d+(?:\.\d+)?$/,zu=/^(?:true|false)$/i,Mu=/^[^A-Z]*$/,Bu=/^[^a-z]*$/});var ht,Uu,xs,Ts,ju,Hu,Wu,Zu,Gu,Hn,Ku,Vu,Ju,Xu,Qu,Yu,ed;var Wo=De(()=>{Fr();Ho();Jt();ht=ce("$ZodCheck",(e,t)=>{var r;e._zod??(e._zod={}),e._zod.def=t,(r=e._zod).onattach??(r.onattach=[])}),Uu={number:"number",bigint:"bigint",object:"date"},xs=ce("$ZodCheckLessThan",(e,t)=>{ht.init(e,t);let r=Uu[typeof t.value];e._zod.onattach.push((n)=>{let o=n._zod.bag,s=(t.inclusive?o.maximum:o.exclusiveMaximum)??Number.POSITIVE_INFINITY;if(t.value<s)if(t.inclusive)o.maximum=t.value;else o.exclusiveMaximum=t.value}),e._zod.check=(n)=>{if(t.inclusive?n.value<=t.value:n.value<t.value)return;n.issues.push({origin:r,code:"too_big",maximum:typeof t.value==="object"?t.value.getTime():t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Ts=ce("$ZodCheckGreaterThan",(e,t)=>{ht.init(e,t);let r=Uu[typeof t.value];e._zod.onattach.push((n)=>{let o=n._zod.bag,s=(t.inclusive?o.minimum:o.exclusiveMinimum)??Number.NEGATIVE_INFINITY;if(t.value>s)if(t.inclusive)o.minimum=t.value;else o.exclusiveMinimum=t.value}),e._zod.check=(n)=>{if(t.inclusive?n.value>=t.value:n.value>t.value)return;n.issues.push({origin:r,code:"too_small",minimum:typeof t.value==="object"?t.value.getTime():t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),ju=ce("$ZodCheckMultipleOf",(e,t)=>{ht.init(e,t),e._zod.onattach.push((r)=>{var n;(n=r._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=(r)=>{if(typeof r.value!==typeof t.value)throw Error("Cannot mix number and bigint in multiple_of check.");if(typeof r.value==="bigint"?r.value%t.value===BigInt(0):Gl(r.value,t.value)===0)return;r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:t.value,input:r.value,inst:e,continue:!t.abort})}}),Hu=ce("$ZodCheckNumberFormat",(e,t)=>{ht.init(e,t),t.format=t.format||"float64";let r=t.format?.includes("int"),n=r?"int":"number",[o,s]=Ql[t.format];e._zod.onattach.push((a)=>{let u=a._zod.bag;if(u.format=t.format,u.minimum=o,u.maximum=s,r)u.pattern=$u}),e._zod.check=(a)=>{let u=a.value;if(r){if(!Number.isInteger(u)){a.issues.push({expected:n,format:t.format,code:"invalid_type",continue:!1,input:u,inst:e});return}if(!Number.isSafeInteger(u)){if(u>0)a.issues.push({input:u,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,inclusive:!0,continue:!t.abort});else a.issues.push({input:u,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,inclusive:!0,continue:!t.abort});return}}if(u<o)a.issues.push({origin:"number",input:u,code:"too_small",minimum:o,inclusive:!0,inst:e,continue:!t.abort});if(u>s)a.issues.push({origin:"number",input:u,code:"too_big",maximum:s,inclusive:!0,inst:e,continue:!t.abort})}}),Wu=ce("$ZodCheckMaxLength",(e,t)=>{var r;ht.init(e,t),(r=e._zod.def).when??(r.when=(n)=>{let o=n.value;return!Lo(o)&&o.length!==void 0}),e._zod.onattach.push((n)=>{let o=n._zod.bag.maximum??Number.POSITIVE_INFINITY;if(t.maximum<o)n._zod.bag.maximum=t.maximum}),e._zod.check=(n)=>{let o=n.value;if(o.length<=t.maximum)return;let a=zo(o);n.issues.push({origin:a,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Zu=ce("$ZodCheckMinLength",(e,t)=>{var r;ht.init(e,t),(r=e._zod.def).when??(r.when=(n)=>{let o=n.value;return!Lo(o)&&o.length!==void 0}),e._zod.onattach.push((n)=>{let o=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(t.minimum>o)n._zod.bag.minimum=t.minimum}),e._zod.check=(n)=>{let o=n.value;if(o.length>=t.minimum)return;let a=zo(o);n.issues.push({origin:a,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Gu=ce("$ZodCheckLengthEquals",(e,t)=>{var r;ht.init(e,t),(r=e._zod.def).when??(r.when=(n)=>{let o=n.value;return!Lo(o)&&o.length!==void 0}),e._zod.onattach.push((n)=>{let o=n._zod.bag;o.minimum=t.length,o.maximum=t.length,o.length=t.length}),e._zod.check=(n)=>{let o=n.value,s=o.length;if(s===t.length)return;let a=zo(o),u=s>t.length;n.issues.push({origin:a,...u?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),Hn=ce("$ZodCheckStringFormat",(e,t)=>{var r,n;if(ht.init(e,t),e._zod.onattach.push((o)=>{let s=o._zod.bag;if(s.format=t.format,t.pattern)s.patterns??(s.patterns=new Set),s.patterns.add(t.pattern)}),t.pattern)(r=e._zod).check??(r.check=(o)=>{if(t.pattern.lastIndex=0,t.pattern.test(o.value))return;o.issues.push({origin:"string",code:"invalid_format",format:t.format,input:o.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})});else(n=e._zod).check??(n.check=()=>{})}),Ku=ce("$ZodCheckRegex",(e,t)=>{Hn.init(e,t),e._zod.check=(r)=>{if(t.pattern.lastIndex=0,t.pattern.test(r.value))return;r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),Vu=ce("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Mu),Hn.init(e,t)}),Ju=ce("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Bu),Hn.init(e,t)}),Xu=ce("$ZodCheckIncludes",(e,t)=>{ht.init(e,t);let r=Sr(t.includes),n=new RegExp(typeof t.position==="number"?`^.{${t.position}}${r}`:r);t.pattern=n,e._zod.onattach.push((o)=>{let s=o._zod.bag;s.patterns??(s.patterns=new Set),s.patterns.add(n)}),e._zod.check=(o)=>{if(o.value.includes(t.includes,t.position))return;o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:o.value,inst:e,continue:!t.abort})}}),Qu=ce("$ZodCheckStartsWith",(e,t)=>{ht.init(e,t);let r=new RegExp(`^${Sr(t.prefix)}.*`);t.pattern??(t.pattern=r),e._zod.onattach.push((n)=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),e._zod.check=(n)=>{if(n.value.startsWith(t.prefix))return;n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),Yu=ce("$ZodCheckEndsWith",(e,t)=>{ht.init(e,t);let r=new RegExp(`.*${Sr(t.suffix)}$`);t.pattern??(t.pattern=r),e._zod.onattach.push((n)=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),e._zod.check=(n)=>{if(n.value.endsWith(t.suffix))return;n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}}),ed=ce("$ZodCheckOverwrite",(e,t)=>{ht.init(e,t),e._zod.check=(r)=>{r.value=t.tx(r.value)}})});class ks{constructor(e=[]){if(this.content=[],this.indent=0,this)this.args=e}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if(typeof e==="function"){e(this,{execution:"sync"}),e(this,{execution:"async"});return}let r=e.split(`
408
+ `).filter((s)=>s),n=Math.min(...r.map((s)=>s.length-s.trimStart().length)),o=r.map((s)=>s.slice(n)).map((s)=>" ".repeat(this.indent*2)+s);for(let s of o)this.content.push(s)}compile(){let e=Function,t=this?.args,n=[...(this?.content??[""]).map((o)=>` ${o}`)];return new e(...t,n.join(`
409
+ `))}}var rd;var Rs=De(()=>{rd={major:4,minor:4,patch:3}});function Od(e){if(e==="")return!0;if(/\s/.test(e))return!1;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}function Xy(e){if(!Ss.test(e))return!1;let t=e.replace(/[-_]/g,(n)=>n==="-"?"+":"/"),r=t.padEnd(Math.ceil(t.length/4)*4,"=");return Od(r)}function Qy(e,t=null){try{let r=e.split(".");if(r.length!==3)return!1;let[n]=r;if(!n)return!1;let o=JSON.parse(atob(n));if("typ"in o&&o?.typ!=="JWT")return!1;if(!o.alg)return!1;if(t&&(!("alg"in o)||o.alg!==t))return!1;return!0}catch{return!1}}function nd(e,t,r){if(e.issues.length)t.issues.push(...Fo(r,e.issues));t.value[r]=e.value}function Go(e,t,r,n,o,s){let a=r in n;if(e.issues.length){if(o&&s&&!a)return;t.issues.push(...Fo(r,e.issues))}if(!a&&!o){if(!e.issues.length)t.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[r]});return}if(e.value===void 0){if(a)t.value[r]=void 0}else t.value[r]=e.value}function Md(e){let t=Object.keys(e.shape);for(let n of t)if(!e.shape?.[n]?._zod?.traits?.has("$ZodType"))throw Error(`Invalid element at key "${n}": expected a Zod schema`);let r=Xl(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(r)}}function Bd(e,t,r,n,o,s){let a=[],u=o.keySet,_=o.catchall._zod,m=_.def.type,x=_.optin==="optional",D=_.optout==="optional";for(let j in t){if(j==="__proto__")continue;if(u.has(j))continue;if(m==="never"){a.push(j);continue}let Y=_.run({value:t[j],issues:[]},n);if(Y instanceof Promise)e.push(Y.then((_e)=>Go(_e,r,j,t,x,D)));else Go(Y,r,j,t,x,D)}if(a.length)r.issues.push({code:"unrecognized_keys",keys:a,input:t,inst:s});if(!e.length)return r;return Promise.all(e).then(()=>r)}function od(e,t,r,n){for(let s of e)if(s.issues.length===0)return t.value=s.value,t;let o=e.filter((s)=>!Mr(s));if(o.length===1)return t.value=o[0].value,o[0];return t.issues.push({code:"invalid_union",input:t.value,inst:r,errors:e.map((s)=>s.issues.map((a)=>pr(a,n,Vt())))}),t}function As(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e===+t)return{valid:!0,data:e};if(hn(e)&&hn(t)){let r=Object.keys(t),n=Object.keys(e).filter((s)=>r.indexOf(s)!==-1),o={...e,...t};for(let s of n){let a=As(e[s],t[s]);if(!a.valid)return{valid:!1,mergeErrorPath:[s,...a.mergeErrorPath]};o[s]=a.data}return{valid:!0,data:o}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let r=[];for(let n=0;n<e.length;n++){let o=e[n],s=t[n],a=As(o,s);if(!a.valid)return{valid:!1,mergeErrorPath:[n,...a.mergeErrorPath]};r.push(a.data)}return{valid:!0,data:r}}return{valid:!1,mergeErrorPath:[]}}function id(e,t,r){let n=new Map,o;for(let u of t.issues)if(u.code==="unrecognized_keys"){o??(o=u);for(let _ of u.keys){if(!n.has(_))n.set(_,{});n.get(_).l=!0}}else e.issues.push(u);for(let u of r.issues)if(u.code==="unrecognized_keys")for(let _ of u.keys){if(!n.has(_))n.set(_,{});n.get(_).r=!0}else e.issues.push(u);let s=[...n].filter(([,u])=>u.l&&u.r).map(([u])=>u);if(s.length&&o)e.issues.push({...o,keys:s});if(Mr(e))return e;let a=As(t.value,r.value);if(!a.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(a.mergeErrorPath)}`);return e.value=a.data,e}function sd(e,t){if(t===void 0&&(e.issues.length||e.fallback))return{issues:[],value:void 0};return e}function ad(e,t){if(e.value===void 0)e.value=t.defaultValue;return e}function cd(e,t){if(!e.issues.length&&e.value===void 0)e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t});return e}function Zo(e,t,r){if(e.issues.length)return e.aborted=!0,e;return t._zod.run({value:e.value,issues:e.issues,fallback:e.fallback},r)}function ld(e){return e.value=Object.freeze(e.value),e}function ud(e,t,r,n){if(!e){let o={code:"custom",input:r,inst:n,path:[...n._zod.def.path??[]],continue:!n._zod.def.abort};if(n._zod.def.params)o.params=n._zod.def.params;t.issues.push(Br(o))}}var it,Ko,rt,dd,fd,pd,_d,gd,hd,md,yd,bd,wd,vd,Ed,Sd,xd,Td,kd,Rd,Ad,Dd,Id,Pd,Nd,Cd,Ds,qd,Ld,$d,Fd,zd,Yy,Ud,jd,Hd,Wd,Zd,Gd,Os,Kd,Vd,Jd,Xd,Qd,Yd,ef,tf,rf;var nf=De(()=>{Wo();Fr();vs();Ho();Jt();Rs();Jt();it=ce("$ZodType",(e,t)=>{var r;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=rd;let n=[...e._zod.def.checks??[]];if(e._zod.traits.has("$ZodCheck"))n.unshift(e);for(let o of n)for(let s of o._zod.onattach)s(e);if(n.length===0)(r=e._zod).deferred??(r.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let o=(a,u,_)=>{let m=Mr(a),x;for(let D of u){if(D._zod.def.when){if(Yl(a))continue;if(!D._zod.def.when(a))continue}else if(m)continue;let j=a.issues.length,Y=D._zod.check(a);if(Y instanceof Promise&&_?.async===!1)throw new fr;if(x||Y instanceof Promise)x=(x??Promise.resolve()).then(async()=>{if(await Y,a.issues.length===j)return;if(!m)m=Mr(a,j)});else{if(a.issues.length===j)continue;if(!m)m=Mr(a,j)}}if(x)return x.then(()=>a);return a},s=(a,u,_)=>{if(Mr(a))return a.aborted=!0,a;let m=o(u,n,_);if(m instanceof Promise){if(_.async===!1)throw new fr;return m.then((x)=>e._zod.parse(x,_))}return e._zod.parse(m,_)};e._zod.run=(a,u)=>{if(u.skipChecks)return e._zod.parse(a,u);if(u.direction==="backward"){let m=e._zod.parse({value:a.value,issues:[]},{...u,skipChecks:!0});if(m instanceof Promise)return m.then((x)=>s(x,a,u));return s(m,a,u)}let _=e._zod.parse(a,u);if(_ instanceof Promise){if(u.async===!1)throw new fr;return _.then((m)=>o(m,n,u))}return o(_,n,u)}}Ve(e,"~standard",()=>({validate:(o)=>{try{let s=ou(e,o);return s.success?{value:s.data}:{issues:s.error?.issues}}catch(s){return iu(e,o).then((a)=>a.success?{value:a.data}:{issues:a.error?.issues})}},vendor:"zod",version:1}))}),Ko=ce("$ZodString",(e,t)=>{it.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??Lu(e._zod.bag),e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=String(r.value)}catch(o){}if(typeof r.value==="string")return r;return r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:e}),r}}),rt=ce("$ZodStringFormat",(e,t)=>{Hn.init(e,t),Ko.init(e,t)}),dd=ce("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=vu),rt.init(e,t)}),fd=ce("$ZodUUID",(e,t)=>{if(t.version){let n={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(n===void 0)throw Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=Es(n))}else t.pattern??(t.pattern=Es());rt.init(e,t)}),pd=ce("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=Eu),rt.init(e,t)}),_d=ce("$ZodURL",(e,t)=>{rt.init(e,t),e._zod.check=(r)=>{try{let n=r.value.trim();if(!t.normalize&&t.protocol?.source===Du.source){if(!/^https?:\/\//i.test(n)){r.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:r.value,inst:e,continue:!t.abort});return}}let o=new URL(n);if(t.hostname){if(t.hostname.lastIndex=0,!t.hostname.test(o.hostname))r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:r.value,inst:e,continue:!t.abort})}if(t.protocol){if(t.protocol.lastIndex=0,!t.protocol.test(o.protocol.endsWith(":")?o.protocol.slice(0,-1):o.protocol))r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:r.value,inst:e,continue:!t.abort})}if(t.normalize)r.value=o.href;else r.value=n;return}catch(n){r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:e,continue:!t.abort})}}}),gd=ce("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=Su()),rt.init(e,t)}),hd=ce("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=bu),rt.init(e,t)}),md=ce("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=_u),rt.init(e,t)}),yd=ce("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=gu),rt.init(e,t)}),bd=ce("$ZodULID",(e,t)=>{t.pattern??(t.pattern=hu),rt.init(e,t)}),wd=ce("$ZodXID",(e,t)=>{t.pattern??(t.pattern=mu),rt.init(e,t)}),vd=ce("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=yu),rt.init(e,t)}),Ed=ce("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=qu(t)),rt.init(e,t)}),Sd=ce("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=Pu),rt.init(e,t)}),xd=ce("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=Cu(t)),rt.init(e,t)}),Td=ce("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=wu),rt.init(e,t)}),kd=ce("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=xu),rt.init(e,t),e._zod.bag.format="ipv4"}),Rd=ce("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=Tu),rt.init(e,t),e._zod.bag.format="ipv6",e._zod.check=(r)=>{try{new URL(`http://[${r.value}]`)}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:e,continue:!t.abort})}}}),Ad=ce("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=ku),rt.init(e,t)}),Dd=ce("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=Ru),rt.init(e,t),e._zod.check=(r)=>{let n=r.value.split("/");try{if(n.length!==2)throw Error();let[o,s]=n;if(!s)throw Error();let a=Number(s);if(`${a}`!==s)throw Error();if(a<0||a>128)throw Error();new URL(`http://[${o}]`)}catch{r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:e,continue:!t.abort})}}});Id=ce("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=Au),rt.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=(r)=>{if(Od(r.value))return;r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:e,continue:!t.abort})}});Pd=ce("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=Ss),rt.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=(r)=>{if(Xy(r.value))return;r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:e,continue:!t.abort})}}),Nd=ce("$ZodE164",(e,t)=>{t.pattern??(t.pattern=Ou),rt.init(e,t)});Cd=ce("$ZodJWT",(e,t)=>{rt.init(e,t),e._zod.check=(r)=>{if(Qy(r.value,t.alg))return;r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:e,continue:!t.abort})}}),Ds=ce("$ZodNumber",(e,t)=>{it.init(e,t),e._zod.pattern=e._zod.bag.pattern??Fu,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=Number(r.value)}catch(a){}let o=r.value;if(typeof o==="number"&&!Number.isNaN(o)&&Number.isFinite(o))return r;let s=typeof o==="number"?Number.isNaN(o)?"NaN":!Number.isFinite(o)?"Infinity":void 0:void 0;return r.issues.push({expected:"number",code:"invalid_type",input:o,inst:e,...s?{received:s}:{}}),r}}),qd=ce("$ZodNumberFormat",(e,t)=>{Hu.init(e,t),Ds.init(e,t)}),Ld=ce("$ZodBoolean",(e,t)=>{it.init(e,t),e._zod.pattern=zu,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=Boolean(r.value)}catch(s){}let o=r.value;if(typeof o==="boolean")return r;return r.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:e}),r}}),$d=ce("$ZodUnknown",(e,t)=>{it.init(e,t),e._zod.parse=(r)=>r}),Fd=ce("$ZodNever",(e,t)=>{it.init(e,t),e._zod.parse=(r,n)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:e}),r)});zd=ce("$ZodArray",(e,t)=>{it.init(e,t),e._zod.parse=(r,n)=>{let o=r.value;if(!Array.isArray(o))return r.issues.push({expected:"array",code:"invalid_type",input:o,inst:e}),r;r.value=Array(o.length);let s=[];for(let a=0;a<o.length;a++){let u=o[a],_=t.element._zod.run({value:u,issues:[]},n);if(_ instanceof Promise)s.push(_.then((m)=>nd(m,r,a)));else nd(_,r,a)}if(s.length)return Promise.all(s).then(()=>r);return r}});Yy=ce("$ZodObject",(e,t)=>{if(it.init(e,t),!Object.getOwnPropertyDescriptor(t,"shape")?.get){let u=t.shape;Object.defineProperty(t,"shape",{get:()=>{let _={...u};return Object.defineProperty(t,"shape",{value:_}),_}})}let n=qo(()=>Md(t));Ve(e._zod,"propValues",()=>{let u=t.shape,_={};for(let m in u){let x=u[m]._zod;if(x.values){_[m]??(_[m]=new Set);for(let D of x.values)_[m].add(D)}}return _});let o=Mn,s=t.catchall,a;e._zod.parse=(u,_)=>{a??(a=n.value);let m=u.value;if(!o(m))return u.issues.push({expected:"object",code:"invalid_type",input:m,inst:e}),u;u.value={};let x=[],D=a.shape;for(let j of a.keys){let Y=D[j],_e=Y._zod.optin==="optional",de=Y._zod.optout==="optional",ge=Y._zod.run({value:m[j],issues:[]},_);if(ge instanceof Promise)x.push(ge.then((Le)=>Go(Le,u,j,m,_e,de)));else Go(ge,u,j,m,_e,de)}if(!s)return x.length?Promise.all(x).then(()=>u):u;return Bd(x,m,u,_,n.value,e)}}),Ud=ce("$ZodObjectJIT",(e,t)=>{Yy.init(e,t);let r=e._zod.parse,n=qo(()=>Md(t)),o=(j)=>{let Y=new ks(["shape","payload","ctx"]),_e=n.value,de=($e)=>{let Ue=gs($e);return`shape[${Ue}]._zod.run({ value: input[${Ue}], issues: [] }, ctx)`};Y.write("const input = payload.value;");let ge=Object.create(null),Le=0;for(let $e of _e.keys)ge[$e]=`key_${Le++}`;Y.write("const newResult = {};");for(let $e of _e.keys){let Ue=ge[$e],tt=gs($e),Rr=j[$e],$t=Rr?._zod?.optin==="optional",An=Rr?._zod?.optout==="optional";if(Y.write(`const ${Ue} = ${de($e)};`),$t&&An)Y.write(`
410
+ if (${Ue}.issues.length) {
411
+ if (${tt} in input) {
412
+ payload.issues = payload.issues.concat(${Ue}.issues.map(iss => ({
401
413
  ...iss,
402
- path: iss.path ? [${et}, ...iss.path] : [${et}]
414
+ path: iss.path ? [${tt}, ...iss.path] : [${tt}]
403
415
  })));
404
416
  }
405
417
  }
406
418
 
407
- if (${Je}.value === undefined) {
408
- if (${et} in input) {
409
- newResult[${et}] = undefined;
419
+ if (${Ue}.value === undefined) {
420
+ if (${tt} in input) {
421
+ newResult[${tt}] = undefined;
410
422
  }
411
423
  } else {
412
- newResult[${et}] = ${Je}.value;
424
+ newResult[${tt}] = ${Ue}.value;
413
425
  }
414
426
 
415
- `);else if(!It)F.write(`
416
- const ${Je}_present = ${et} in input;
417
- if (${Je}.issues.length) {
418
- payload.issues = payload.issues.concat(${Je}.issues.map(iss => ({
427
+ `);else if(!$t)Y.write(`
428
+ const ${Ue}_present = ${tt} in input;
429
+ if (${Ue}.issues.length) {
430
+ payload.issues = payload.issues.concat(${Ue}.issues.map(iss => ({
419
431
  ...iss,
420
- path: iss.path ? [${et}, ...iss.path] : [${et}]
432
+ path: iss.path ? [${tt}, ...iss.path] : [${tt}]
421
433
  })));
422
434
  }
423
- if (!${Je}_present && !${Je}.issues.length) {
435
+ if (!${Ue}_present && !${Ue}.issues.length) {
424
436
  payload.issues.push({
425
437
  code: "invalid_type",
426
438
  expected: "nonoptional",
427
439
  input: undefined,
428
- path: [${et}]
440
+ path: [${tt}]
429
441
  });
430
442
  }
431
443
 
432
- if (${Je}_present) {
433
- if (${Je}.value === undefined) {
434
- newResult[${et}] = undefined;
444
+ if (${Ue}_present) {
445
+ if (${Ue}.value === undefined) {
446
+ newResult[${tt}] = undefined;
435
447
  } else {
436
- newResult[${et}] = ${Je}.value;
448
+ newResult[${tt}] = ${Ue}.value;
437
449
  }
438
450
  }
439
451
 
440
- `);else F.write(`
441
- if (${Je}.issues.length) {
442
- payload.issues = payload.issues.concat(${Je}.issues.map(iss => ({
452
+ `);else Y.write(`
453
+ if (${Ue}.issues.length) {
454
+ payload.issues = payload.issues.concat(${Ue}.issues.map(iss => ({
443
455
  ...iss,
444
- path: iss.path ? [${et}, ...iss.path] : [${et}]
456
+ path: iss.path ? [${tt}, ...iss.path] : [${tt}]
445
457
  })));
446
458
  }
447
459
 
448
- if (${Je}.value === undefined) {
449
- if (${et} in input) {
450
- newResult[${et}] = undefined;
460
+ if (${Ue}.value === undefined) {
461
+ if (${tt} in input) {
462
+ newResult[${tt}] = undefined;
451
463
  }
452
464
  } else {
453
- newResult[${et}] = ${Je}.value;
465
+ newResult[${tt}] = ${Ue}.value;
454
466
  }
455
467
 
456
- `)}F.write("payload.value = newResult;"),F.write("return payload;");let Ye=F.compile();return(Ue,Je)=>Ye(P,Ue,Je)},o,s=yn,c=!mn.jitless,f=c&&yl.value,b=t.catchall,x;e._zod.parse=(P,F)=>{x??(x=i.value);let ce=P.value;if(!s(ce))return P.issues.push({expected:"object",code:"invalid_type",input:ce,inst:e}),P;if(c&&f&&F?.async===!1&&F.jitless!==!0){if(!o)o=r(t.shape);if(P=o(P,F),!b)return P;return zy([],ce,P,F,x,e)}return n(P,F)}});lo=V("$ZodUnion",(e,t)=>{He.init(e,t),Qe(e._zod,"optin",()=>t.options.some((i)=>i._zod.optin==="optional")?"optional":void 0),Qe(e._zod,"optout",()=>t.options.some((i)=>i._zod.optout==="optional")?"optional":void 0),Qe(e._zod,"values",()=>{if(t.options.every((i)=>i._zod.values))return new Set(t.options.flatMap((i)=>Array.from(i._zod.values)));return}),Qe(e._zod,"pattern",()=>{if(t.options.every((i)=>i._zod.pattern)){let i=t.options.map((r)=>r._zod.pattern);return new RegExp(`^(${i.map((r)=>Qi(r.source)).join("|")})$`)}return});let n=t.options.length===1?t.options[0]._zod.run:null;e._zod.parse=(i,r)=>{if(n)return n(i,r);let o=!1,s=[];for(let c of t.options){let d=c._zod.run({value:i.value,issues:[]},r);if(d instanceof Promise)s.push(d),o=!0;else{if(d.issues.length===0)return d;s.push(d)}}if(!o)return Sy(s,i,e,r);return Promise.all(s).then((c)=>Sy(c,i,e,r))}});dd=V("$ZodXor",(e,t)=>{lo.init(e,t),t.inclusive=!1;let n=t.options.length===1?t.options[0]._zod.run:null;e._zod.parse=(i,r)=>{if(n)return n(i,r);let o=!1,s=[];for(let c of t.options){let d=c._zod.run({value:i.value,issues:[]},r);if(d instanceof Promise)s.push(d),o=!0;else s.push(d)}if(!o)return Ey(s,i,e,r);return Promise.all(s).then((c)=>Ey(c,i,e,r))}}),fd=V("$ZodDiscriminatedUnion",(e,t)=>{t.inclusive=!1,lo.init(e,t);let n=e._zod.parse;Qe(e._zod,"propValues",()=>{let r={};for(let o of t.options){let s=o._zod.propValues;if(!s||Object.keys(s).length===0)throw Error(`Invalid discriminated union option at index "${t.options.indexOf(o)}"`);for(let[c,d]of Object.entries(s)){if(!r[c])r[c]=new Set;for(let f of d)r[c].add(f)}}return r});let i=Yn(()=>{let r=t.options,o=new Map;for(let s of r){let c=s._zod.propValues?.[t.discriminator];if(!c||c.size===0)throw Error(`Invalid discriminated union option at index "${t.options.indexOf(s)}"`);for(let d of c){if(o.has(d))throw Error(`Duplicate discriminator value "${String(d)}"`);o.set(d,s)}}return o});e._zod.parse=(r,o)=>{let s=r.value;if(!yn(s))return r.issues.push({code:"invalid_type",expected:"object",input:s,inst:e}),r;let c=i.value.get(s?.[t.discriminator]);if(c)return c._zod.run(r,o);if(t.unionFallback||o.direction==="backward")return n(r,o);return r.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:t.discriminator,options:Array.from(i.value.keys()),input:s,path:[t.discriminator],inst:e}),r}}),pd=V("$ZodIntersection",(e,t)=>{He.init(e,t),e._zod.parse=(n,i)=>{let r=n.value,o=t.left._zod.run({value:r,issues:[]},i),s=t.right._zod.run({value:r,issues:[]},i);if(o instanceof Promise||s instanceof Promise)return Promise.all([o,s]).then(([d,f])=>xy(n,d,f));return xy(n,o,s)}});Bs=V("$ZodTuple",(e,t)=>{He.init(e,t);let n=t.items;e._zod.parse=(i,r)=>{let o=i.value;if(!Array.isArray(o))return i.issues.push({input:o,inst:e,expected:"tuple",code:"invalid_type"}),i;i.value=[];let s=[],c=ky(n,"optin"),d=ky(n,"optout");if(!t.rest){if(o.length<c)return i.issues.push({code:"too_small",minimum:c,inclusive:!0,input:o,inst:e,origin:"array"}),i;if(o.length>n.length)i.issues.push({code:"too_big",maximum:n.length,inclusive:!0,input:o,inst:e,origin:"array"})}let f=Array(n.length);for(let b=0;b<n.length;b++){let x=n[b]._zod.run({value:o[b],issues:[]},r);if(x instanceof Promise)s.push(x.then((P)=>{f[b]=P}));else f[b]=x}if(t.rest){let b=n.length-1,x=o.slice(n.length);for(let P of x){b++;let F=t.rest._zod.run({value:P,issues:[]},r);if(F instanceof Promise)s.push(F.then((ce)=>Ty(ce,i,b)));else Ty(F,i,b)}}if(s.length)return Promise.all(s).then(()=>$y(f,i,n,o,d));return $y(f,i,n,o,d)}});gd=V("$ZodRecord",(e,t)=>{He.init(e,t),e._zod.parse=(n,i)=>{let r=n.value;if(!Gr(r))return n.issues.push({expected:"record",code:"invalid_type",input:r,inst:e}),n;let o=[],s=t.keyType._zod.values;if(s){n.value={};let c=new Set;for(let f of s)if(typeof f==="string"||typeof f==="number"||typeof f==="symbol"){c.add(typeof f==="number"?f.toString():f);let b=t.keyType._zod.run({value:f,issues:[]},i);if(b instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(b.issues.length){n.issues.push({code:"invalid_key",origin:"record",issues:b.issues.map((F)=>Ft(F,i,ht())),input:f,path:[f],inst:e});continue}let x=b.value,P=t.valueType._zod.run({value:r[f],issues:[]},i);if(P instanceof Promise)o.push(P.then((F)=>{if(F.issues.length)n.issues.push(...Gt(f,F.issues));n.value[x]=F.value}));else{if(P.issues.length)n.issues.push(...Gt(f,P.issues));n.value[x]=P.value}}let d;for(let f in r)if(!c.has(f))d=d??[],d.push(f);if(d&&d.length>0)n.issues.push({code:"unrecognized_keys",input:r,inst:e,keys:d})}else{n.value={};for(let c of Reflect.ownKeys(r)){if(c==="__proto__")continue;if(!Object.prototype.propertyIsEnumerable.call(r,c))continue;let d=t.keyType._zod.run({value:c,issues:[]},i);if(d instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(typeof c==="string"&&oo.test(c)&&d.issues.length){let x=t.keyType._zod.run({value:Number(c),issues:[]},i);if(x instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(x.issues.length===0)d=x}if(d.issues.length){if(t.mode==="loose")n.value[c]=r[c];else n.issues.push({code:"invalid_key",origin:"record",issues:d.issues.map((x)=>Ft(x,i,ht())),input:c,path:[c],inst:e});continue}let b=t.valueType._zod.run({value:r[c],issues:[]},i);if(b instanceof Promise)o.push(b.then((x)=>{if(x.issues.length)n.issues.push(...Gt(c,x.issues));n.value[d.value]=x.value}));else{if(b.issues.length)n.issues.push(...Gt(c,b.issues));n.value[d.value]=b.value}}}if(o.length)return Promise.all(o).then(()=>n);return n}}),md=V("$ZodMap",(e,t)=>{He.init(e,t),e._zod.parse=(n,i)=>{let r=n.value;if(!(r instanceof Map))return n.issues.push({expected:"map",code:"invalid_type",input:r,inst:e}),n;let o=[];n.value=new Map;for(let[s,c]of r){let d=t.keyType._zod.run({value:s,issues:[]},i),f=t.valueType._zod.run({value:c,issues:[]},i);if(d instanceof Promise||f instanceof Promise)o.push(Promise.all([d,f]).then(([b,x])=>{Iy(b,x,n,s,r,e,i)}));else Iy(d,f,n,s,r,e,i)}if(o.length)return Promise.all(o).then(()=>n);return n}});_d=V("$ZodSet",(e,t)=>{He.init(e,t),e._zod.parse=(n,i)=>{let r=n.value;if(!(r instanceof Set))return n.issues.push({input:r,inst:e,expected:"set",code:"invalid_type"}),n;let o=[];n.value=new Set;for(let s of r){let c=t.valueType._zod.run({value:s,issues:[]},i);if(c instanceof Promise)o.push(c.then((d)=>Dy(d,n)));else Dy(c,n)}if(o.length)return Promise.all(o).then(()=>n);return n}});hd=V("$ZodEnum",(e,t)=>{He.init(e,t);let n=Xi(t.entries),i=new Set(n);e._zod.values=i,e._zod.pattern=new RegExp(`^(${n.filter((r)=>Yi.has(typeof r)).map((r)=>typeof r==="string"?fr(r):r.toString()).join("|")})$`),e._zod.parse=(r,o)=>{let s=r.value;if(i.has(s))return r;return r.issues.push({code:"invalid_value",values:n,input:s,inst:e}),r}}),yd=V("$ZodLiteral",(e,t)=>{if(He.init(e,t),t.values.length===0)throw Error("Cannot create literal schema with no valid values");let n=new Set(t.values);e._zod.values=n,e._zod.pattern=new RegExp(`^(${t.values.map((i)=>typeof i==="string"?fr(i):i?fr(i.toString()):String(i)).join("|")})$`),e._zod.parse=(i,r)=>{let o=i.value;if(n.has(o))return i;return i.issues.push({code:"invalid_value",values:t.values,input:o,inst:e}),i}}),vd=V("$ZodFile",(e,t)=>{He.init(e,t),e._zod.parse=(n,i)=>{let r=n.value;if(r instanceof File)return n;return n.issues.push({expected:"file",code:"invalid_type",input:r,inst:e}),n}}),bd=V("$ZodTransform",(e,t)=>{He.init(e,t),e._zod.optin="optional",e._zod.parse=(n,i)=>{if(i.direction==="backward")throw new _n(e.constructor.name);let r=t.transform(n.value,n);if(i.async)return(r instanceof Promise?r:Promise.resolve(r)).then((s)=>(n.value=s,n.fallback=!0,n));if(r instanceof Promise)throw new kr;return n.value=r,n.fallback=!0,n}});Ws=V("$ZodOptional",(e,t)=>{He.init(e,t),e._zod.optin="optional",e._zod.optout="optional",Qe(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),Qe(e._zod,"pattern",()=>{let n=t.innerType._zod.pattern;return n?new RegExp(`^(${Qi(n.source)})?$`):void 0}),e._zod.parse=(n,i)=>{if(t.innerType._zod.optin==="optional"){let r=n.value,o=t.innerType._zod.run(n,i);if(o instanceof Promise)return o.then((s)=>Ry(s,r));return Ry(o,r)}if(n.value===void 0)return n;return t.innerType._zod.run(n,i)}}),wd=V("$ZodExactOptional",(e,t)=>{Ws.init(e,t),Qe(e._zod,"values",()=>t.innerType._zod.values),Qe(e._zod,"pattern",()=>t.innerType._zod.pattern),e._zod.parse=(n,i)=>t.innerType._zod.run(n,i)}),Sd=V("$ZodNullable",(e,t)=>{He.init(e,t),Qe(e._zod,"optin",()=>t.innerType._zod.optin),Qe(e._zod,"optout",()=>t.innerType._zod.optout),Qe(e._zod,"pattern",()=>{let n=t.innerType._zod.pattern;return n?new RegExp(`^(${Qi(n.source)}|null)$`):void 0}),Qe(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(n,i)=>{if(n.value===null)return n;return t.innerType._zod.run(n,i)}}),Ed=V("$ZodDefault",(e,t)=>{He.init(e,t),e._zod.optin="optional",Qe(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,i)=>{if(i.direction==="backward")return t.innerType._zod.run(n,i);if(n.value===void 0)return n.value=t.defaultValue,n;let r=t.innerType._zod.run(n,i);if(r instanceof Promise)return r.then((o)=>Ay(o,t));return Ay(r,t)}});xd=V("$ZodPrefault",(e,t)=>{He.init(e,t),e._zod.optin="optional",Qe(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,i)=>{if(i.direction==="backward")return t.innerType._zod.run(n,i);if(n.value===void 0)n.value=t.defaultValue;return t.innerType._zod.run(n,i)}}),kd=V("$ZodNonOptional",(e,t)=>{He.init(e,t),Qe(e._zod,"values",()=>{let n=t.innerType._zod.values;return n?new Set([...n].filter((i)=>i!==void 0)):void 0}),e._zod.parse=(n,i)=>{let r=t.innerType._zod.run(n,i);if(r instanceof Promise)return r.then((o)=>Oy(o,e));return Oy(r,e)}});Td=V("$ZodSuccess",(e,t)=>{He.init(e,t),e._zod.parse=(n,i)=>{if(i.direction==="backward")throw new _n("ZodSuccess");let r=t.innerType._zod.run(n,i);if(r instanceof Promise)return r.then((o)=>(n.value=o.issues.length===0,n));return n.value=r.issues.length===0,n}}),$d=V("$ZodCatch",(e,t)=>{He.init(e,t),e._zod.optin="optional",Qe(e._zod,"optout",()=>t.innerType._zod.optout),Qe(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,i)=>{if(i.direction==="backward")return t.innerType._zod.run(n,i);let r=t.innerType._zod.run(n,i);if(r instanceof Promise)return r.then((o)=>{if(n.value=o.value,o.issues.length)n.value=t.catchValue({...n,error:{issues:o.issues.map((s)=>Ft(s,i,ht()))},input:n.value}),n.issues=[],n.fallback=!0;return n});if(n.value=r.value,r.issues.length)n.value=t.catchValue({...n,error:{issues:r.issues.map((o)=>Ft(o,i,ht()))},input:n.value}),n.issues=[],n.fallback=!0;return n}}),Id=V("$ZodNaN",(e,t)=>{He.init(e,t),e._zod.parse=(n,i)=>{if(typeof n.value!=="number"||!Number.isNaN(n.value))return n.issues.push({input:n.value,inst:e,expected:"nan",code:"invalid_type"}),n;return n}}),Hs=V("$ZodPipe",(e,t)=>{He.init(e,t),Qe(e._zod,"values",()=>t.in._zod.values),Qe(e._zod,"optin",()=>t.in._zod.optin),Qe(e._zod,"optout",()=>t.out._zod.optout),Qe(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(n,i)=>{if(i.direction==="backward"){let o=t.out._zod.run(n,i);if(o instanceof Promise)return o.then((s)=>Ls(s,t.in,i));return Ls(o,t.in,i)}let r=t.in._zod.run(n,i);if(r instanceof Promise)return r.then((o)=>Ls(o,t.out,i));return Ls(r,t.out,i)}});uo=V("$ZodCodec",(e,t)=>{He.init(e,t),Qe(e._zod,"values",()=>t.in._zod.values),Qe(e._zod,"optin",()=>t.in._zod.optin),Qe(e._zod,"optout",()=>t.out._zod.optout),Qe(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(n,i)=>{if((i.direction||"forward")==="forward"){let o=t.in._zod.run(n,i);if(o instanceof Promise)return o.then((s)=>zs(s,t,i));return zs(o,t,i)}else{let o=t.out._zod.run(n,i);if(o instanceof Promise)return o.then((s)=>zs(s,t,i));return zs(o,t,i)}}});Dd=V("$ZodPreprocess",(e,t)=>{Hs.init(e,t)}),Rd=V("$ZodReadonly",(e,t)=>{He.init(e,t),Qe(e._zod,"propValues",()=>t.innerType._zod.propValues),Qe(e._zod,"values",()=>t.innerType._zod.values),Qe(e._zod,"optin",()=>t.innerType?._zod?.optin),Qe(e._zod,"optout",()=>t.innerType?._zod?.optout),e._zod.parse=(n,i)=>{if(i.direction==="backward")return t.innerType._zod.run(n,i);let r=t.innerType._zod.run(n,i);if(r instanceof Promise)return r.then(Py);return Py(r)}});Ad=V("$ZodTemplateLiteral",(e,t)=>{He.init(e,t);let n=[];for(let i of t.parts)if(typeof i==="object"&&i!==null){if(!i._zod.pattern)throw Error(`Invalid template literal part, no pattern found: ${[...i._zod.traits].shift()}`);let r=i._zod.pattern instanceof RegExp?i._zod.pattern.source:i._zod.pattern;if(!r)throw Error(`Invalid template literal part: ${i._zod.traits}`);let o=r.startsWith("^")?1:0,s=r.endsWith("$")?r.length-1:r.length;n.push(r.slice(o,s))}else if(i===null||bl.has(typeof i))n.push(fr(`${i}`));else throw Error(`Invalid template literal part: ${i}`);e._zod.pattern=new RegExp(`^${n.join("")}$`),e._zod.parse=(i,r)=>{if(typeof i.value!=="string")return i.issues.push({input:i.value,inst:e,expected:"string",code:"invalid_type"}),i;if(e._zod.pattern.lastIndex=0,!e._zod.pattern.test(i.value))return i.issues.push({input:i.value,inst:e,code:"invalid_format",format:t.format??"template_literal",pattern:e._zod.pattern.source}),i;return i}}),Od=V("$ZodFunction",(e,t)=>(He.init(e,t),e._def=t,e._zod.def=t,e.implement=(n)=>{if(typeof n!=="function")throw Error("implement() must be called with a function");return function(...i){let r=e._def.input?ws(e._def.input,i):i,o=Reflect.apply(n,this,r);if(e._def.output)return ws(e._def.output,o);return o}},e.implementAsync=(n)=>{if(typeof n!=="function")throw Error("implementAsync() must be called with a function");return async function(...i){let r=e._def.input?await Ss(e._def.input,i):i,o=await Reflect.apply(n,this,r);if(e._def.output)return await Ss(e._def.output,o);return o}},e._zod.parse=(n,i)=>{if(typeof n.value!=="function")return n.issues.push({code:"invalid_type",expected:"function",input:n.value,inst:e}),n;if(e._def.output&&e._def.output._zod.def.type==="promise")n.value=e.implementAsync(n.value);else n.value=e.implement(n.value);return n},e.input=(...n)=>{let i=e.constructor;if(Array.isArray(n[0]))return new i({type:"function",input:new Bs({type:"tuple",items:n[0],rest:n[1]}),output:e._def.output});return new i({type:"function",input:n[0],output:e._def.output})},e.output=(n)=>new e.constructor({type:"function",input:e._def.input,output:n}),e)),Pd=V("$ZodPromise",(e,t)=>{He.init(e,t),e._zod.parse=(n,i)=>Promise.resolve(n.value).then((r)=>t.innerType._zod.run({value:r,issues:[]},i))}),Nd=V("$ZodLazy",(e,t)=>{He.init(e,t),Qe(e._zod,"innerType",()=>{let n=t;if(!n._cachedInner)n._cachedInner=t.getter();return n._cachedInner}),Qe(e._zod,"pattern",()=>e._zod.innerType?._zod?.pattern),Qe(e._zod,"propValues",()=>e._zod.innerType?._zod?.propValues),Qe(e._zod,"optin",()=>e._zod.innerType?._zod?.optin??void 0),Qe(e._zod,"optout",()=>e._zod.innerType?._zod?.optout??void 0),e._zod.parse=(n,i)=>e._zod.innerType._zod.run(n,i)}),Cd=V("$ZodCustom",(e,t)=>{gt.init(e,t),He.init(e,t),e._zod.parse=(n,i)=>n,e._zod.check=(n)=>{let i=n.value,r=t.fn(i);if(r instanceof Promise)return r.then((o)=>Ny(o,n,i,e));Ny(r,n,i,e);return}})});function Ld(){return{localeError:D$()}}var D$=()=>{let e={string:{unit:"حرف",verb:"أن يحوي"},file:{unit:"بايت",verb:"أن يحوي"},array:{unit:"عنصر",verb:"أن يحوي"},set:{unit:"عنصر",verb:"أن يحوي"}};function t(r){return e[r]??null}let n={regex:"مدخل",email:"بريد إلكتروني",url:"رابط",emoji:"إيموجي",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"تاريخ ووقت بمعيار ISO",date:"تاريخ بمعيار ISO",time:"وقت بمعيار ISO",duration:"مدة بمعيار ISO",ipv4:"عنوان IPv4",ipv6:"عنوان IPv6",cidrv4:"مدى عناوين بصيغة IPv4",cidrv6:"مدى عناوين بصيغة IPv6",base64:"نَص بترميز base64-encoded",base64url:"نَص بترميز base64url-encoded",json_string:"نَص على هيئة JSON",e164:"رقم هاتف بمعيار E.164",jwt:"JWT",template_literal:"مدخل"},i={nan:"NaN"};return(r)=>{switch(r.code){case"invalid_type":{let o=i[r.expected]??r.expected,s=Se(r.input),c=i[s]??s;if(/^[A-Z]/.test(r.expected))return`مدخلات غير مقبولة: يفترض إدخال instanceof ${r.expected}، ولكن تم إدخال ${c}`;return`مدخلات غير مقبولة: يفترض إدخال ${o}، ولكن تم إدخال ${c}`}case"invalid_value":if(r.values.length===1)return`مدخلات غير مقبولة: يفترض إدخال ${we(r.values[0])}`;return`اختيار غير مقبول: يتوقع انتقاء أحد هذه الخيارات: ${te(r.values,"|")}`;case"too_big":{let o=r.inclusive?"<=":"<",s=t(r.origin);if(s)return` أكبر من اللازم: يفترض أن تكون ${r.origin??"القيمة"} ${o} ${r.maximum.toString()} ${s.unit??"عنصر"}`;return`أكبر من اللازم: يفترض أن تكون ${r.origin??"القيمة"} ${o} ${r.maximum.toString()}`}case"too_small":{let o=r.inclusive?">=":">",s=t(r.origin);if(s)return`أصغر من اللازم: يفترض لـ ${r.origin} أن يكون ${o} ${r.minimum.toString()} ${s.unit}`;return`أصغر من اللازم: يفترض لـ ${r.origin} أن يكون ${o} ${r.minimum.toString()}`}case"invalid_format":{let o=r;if(o.format==="starts_with")return`نَص غير مقبول: يجب أن يبدأ بـ "${r.prefix}"`;if(o.format==="ends_with")return`نَص غير مقبول: يجب أن ينتهي بـ "${o.suffix}"`;if(o.format==="includes")return`نَص غير مقبول: يجب أن يتضمَّن "${o.includes}"`;if(o.format==="regex")return`نَص غير مقبول: يجب أن يطابق النمط ${o.pattern}`;return`${n[o.format]??r.format} غير مقبول`}case"not_multiple_of":return`رقم غير مقبول: يجب أن يكون من مضاعفات ${r.divisor}`;case"unrecognized_keys":return`معرف${r.keys.length>1?"ات":""} غريب${r.keys.length>1?"ة":""}: ${te(r.keys,"، ")}`;case"invalid_key":return`معرف غير مقبول في ${r.origin}`;case"invalid_union":return"مدخل غير مقبول";case"invalid_element":return`مدخل غير مقبول في ${r.origin}`;default:return"مدخل غير مقبول"}}};var jy=he(()=>{Le()});function zd(){return{localeError:R$()}}var R$=()=>{let e={string:{unit:"simvol",verb:"olmalıdır"},file:{unit:"bayt",verb:"olmalıdır"},array:{unit:"element",verb:"olmalıdır"},set:{unit:"element",verb:"olmalıdır"}};function t(r){return e[r]??null}let n={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"},i={nan:"NaN"};return(r)=>{switch(r.code){case"invalid_type":{let o=i[r.expected]??r.expected,s=Se(r.input),c=i[s]??s;if(/^[A-Z]/.test(r.expected))return`Yanlış dəyər: gözlənilən instanceof ${r.expected}, daxil olan ${c}`;return`Yanlış dəyər: gözlənilən ${o}, daxil olan ${c}`}case"invalid_value":if(r.values.length===1)return`Yanlış dəyər: gözlənilən ${we(r.values[0])}`;return`Yanlış seçim: aşağıdakılardan biri olmalıdır: ${te(r.values,"|")}`;case"too_big":{let o=r.inclusive?"<=":"<",s=t(r.origin);if(s)return`Çox böyük: gözlənilən ${r.origin??"dəyər"} ${o}${r.maximum.toString()} ${s.unit??"element"}`;return`Çox böyük: gözlənilən ${r.origin??"dəyər"} ${o}${r.maximum.toString()}`}case"too_small":{let o=r.inclusive?">=":">",s=t(r.origin);if(s)return`Çox kiçik: gözlənilən ${r.origin} ${o}${r.minimum.toString()} ${s.unit}`;return`Çox kiçik: gözlənilən ${r.origin} ${o}${r.minimum.toString()}`}case"invalid_format":{let o=r;if(o.format==="starts_with")return`Yanlış mətn: "${o.prefix}" ilə başlamalıdır`;if(o.format==="ends_with")return`Yanlış mətn: "${o.suffix}" ilə bitməlidir`;if(o.format==="includes")return`Yanlış mətn: "${o.includes}" daxil olmalıdır`;if(o.format==="regex")return`Yanlış mətn: ${o.pattern} şablonuna uyğun olmalıdır`;return`Yanlış ${n[o.format]??r.format}`}case"not_multiple_of":return`Yanlış ədəd: ${r.divisor} ilə bölünə bilən olmalıdır`;case"unrecognized_keys":return`Tanınmayan açar${r.keys.length>1?"lar":""}: ${te(r.keys,", ")}`;case"invalid_key":return`${r.origin} daxilində yanlış açar`;case"invalid_union":return"Yanlış dəyər";case"invalid_element":return`${r.origin} daxilində yanlış dəyər`;default:return"Yanlış dəyər"}}};var Fy=he(()=>{Le()});function My(e,t,n,i){let r=Math.abs(e),o=r%10,s=r%100;if(s>=11&&s<=19)return i;if(o===1)return t;if(o>=2&&o<=4)return n;return i}function Ud(){return{localeError:A$()}}var A$=()=>{let e={string:{unit:{one:"сімвал",few:"сімвалы",many:"сімвалаў"},verb:"мець"},array:{unit:{one:"элемент",few:"элементы",many:"элементаў"},verb:"мець"},set:{unit:{one:"элемент",few:"элементы",many:"элементаў"},verb:"мець"},file:{unit:{one:"байт",few:"байты",many:"байтаў"},verb:"мець"}};function t(r){return e[r]??null}let n={regex:"увод",email:"email адрас",url:"URL",emoji:"эмодзі",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO дата і час",date:"ISO дата",time:"ISO час",duration:"ISO працягласць",ipv4:"IPv4 адрас",ipv6:"IPv6 адрас",cidrv4:"IPv4 дыяпазон",cidrv6:"IPv6 дыяпазон",base64:"радок у фармаце base64",base64url:"радок у фармаце base64url",json_string:"JSON радок",e164:"нумар E.164",jwt:"JWT",template_literal:"увод"},i={nan:"NaN",number:"лік",array:"масіў"};return(r)=>{switch(r.code){case"invalid_type":{let o=i[r.expected]??r.expected,s=Se(r.input),c=i[s]??s;if(/^[A-Z]/.test(r.expected))return`Няправільны ўвод: чакаўся instanceof ${r.expected}, атрымана ${c}`;return`Няправільны ўвод: чакаўся ${o}, атрымана ${c}`}case"invalid_value":if(r.values.length===1)return`Няправільны ўвод: чакалася ${we(r.values[0])}`;return`Няправільны варыянт: чакаўся адзін з ${te(r.values,"|")}`;case"too_big":{let o=r.inclusive?"<=":"<",s=t(r.origin);if(s){let c=Number(r.maximum),d=My(c,s.unit.one,s.unit.few,s.unit.many);return`Занадта вялікі: чакалася, што ${r.origin??"значэнне"} павінна ${s.verb} ${o}${r.maximum.toString()} ${d}`}return`Занадта вялікі: чакалася, што ${r.origin??"значэнне"} павінна быць ${o}${r.maximum.toString()}`}case"too_small":{let o=r.inclusive?">=":">",s=t(r.origin);if(s){let c=Number(r.minimum),d=My(c,s.unit.one,s.unit.few,s.unit.many);return`Занадта малы: чакалася, што ${r.origin} павінна ${s.verb} ${o}${r.minimum.toString()} ${d}`}return`Занадта малы: чакалася, што ${r.origin} павінна быць ${o}${r.minimum.toString()}`}case"invalid_format":{let o=r;if(o.format==="starts_with")return`Няправільны радок: павінен пачынацца з "${o.prefix}"`;if(o.format==="ends_with")return`Няправільны радок: павінен заканчвацца на "${o.suffix}"`;if(o.format==="includes")return`Няправільны радок: павінен змяшчаць "${o.includes}"`;if(o.format==="regex")return`Няправільны радок: павінен адпавядаць шаблону ${o.pattern}`;return`Няправільны ${n[o.format]??r.format}`}case"not_multiple_of":return`Няправільны лік: павінен быць кратным ${r.divisor}`;case"unrecognized_keys":return`Нераспазнаны ${r.keys.length>1?"ключы":"ключ"}: ${te(r.keys,", ")}`;case"invalid_key":return`Няправільны ключ у ${r.origin}`;case"invalid_union":return"Няправільны ўвод";case"invalid_element":return`Няправільнае значэнне ў ${r.origin}`;default:return"Няправільны ўвод"}}};var By=he(()=>{Le()});function jd(){return{localeError:O$()}}var O$=()=>{let e={string:{unit:"символа",verb:"да съдържа"},file:{unit:"байта",verb:"да съдържа"},array:{unit:"елемента",verb:"да съдържа"},set:{unit:"елемента",verb:"да съдържа"}};function t(r){return e[r]??null}let n={regex:"вход",email:"имейл адрес",url:"URL",emoji:"емоджи",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO време",date:"ISO дата",time:"ISO време",duration:"ISO продължителност",ipv4:"IPv4 адрес",ipv6:"IPv6 адрес",cidrv4:"IPv4 диапазон",cidrv6:"IPv6 диапазон",base64:"base64-кодиран низ",base64url:"base64url-кодиран низ",json_string:"JSON низ",e164:"E.164 номер",jwt:"JWT",template_literal:"вход"},i={nan:"NaN",number:"число",array:"масив"};return(r)=>{switch(r.code){case"invalid_type":{let o=i[r.expected]??r.expected,s=Se(r.input),c=i[s]??s;if(/^[A-Z]/.test(r.expected))return`Невалиден вход: очакван instanceof ${r.expected}, получен ${c}`;return`Невалиден вход: очакван ${o}, получен ${c}`}case"invalid_value":if(r.values.length===1)return`Невалиден вход: очакван ${we(r.values[0])}`;return`Невалидна опция: очаквано едно от ${te(r.values,"|")}`;case"too_big":{let o=r.inclusive?"<=":"<",s=t(r.origin);if(s)return`Твърде голямо: очаква се ${r.origin??"стойност"} да съдържа ${o}${r.maximum.toString()} ${s.unit??"елемента"}`;return`Твърде голямо: очаква се ${r.origin??"стойност"} да бъде ${o}${r.maximum.toString()}`}case"too_small":{let o=r.inclusive?">=":">",s=t(r.origin);if(s)return`Твърде малко: очаква се ${r.origin} да съдържа ${o}${r.minimum.toString()} ${s.unit}`;return`Твърде малко: очаква се ${r.origin} да бъде ${o}${r.minimum.toString()}`}case"invalid_format":{let o=r;if(o.format==="starts_with")return`Невалиден низ: трябва да започва с "${o.prefix}"`;if(o.format==="ends_with")return`Невалиден низ: трябва да завършва с "${o.suffix}"`;if(o.format==="includes")return`Невалиден низ: трябва да включва "${o.includes}"`;if(o.format==="regex")return`Невалиден низ: трябва да съвпада с ${o.pattern}`;let s="Невалиден";if(o.format==="emoji")s="Невалидно";if(o.format==="datetime")s="Невалидно";if(o.format==="date")s="Невалидна";if(o.format==="time")s="Невалидно";if(o.format==="duration")s="Невалидна";return`${s} ${n[o.format]??r.format}`}case"not_multiple_of":return`Невалидно число: трябва да бъде кратно на ${r.divisor}`;case"unrecognized_keys":return`Неразпознат${r.keys.length>1?"и":""} ключ${r.keys.length>1?"ове":""}: ${te(r.keys,", ")}`;case"invalid_key":return`Невалиден ключ в ${r.origin}`;case"invalid_union":return"Невалиден вход";case"invalid_element":return`Невалидна стойност в ${r.origin}`;default:return"Невалиден вход"}}};var Wy=he(()=>{Le()});function Fd(){return{localeError:P$()}}var P$=()=>{let e={string:{unit:"caràcters",verb:"contenir"},file:{unit:"bytes",verb:"contenir"},array:{unit:"elements",verb:"contenir"},set:{unit:"elements",verb:"contenir"}};function t(r){return e[r]??null}let n={regex:"entrada",email:"adreça electrònica",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data i hora ISO",date:"data ISO",time:"hora ISO",duration:"durada ISO",ipv4:"adreça IPv4",ipv6:"adreça IPv6",cidrv4:"rang IPv4",cidrv6:"rang IPv6",base64:"cadena codificada en base64",base64url:"cadena codificada en base64url",json_string:"cadena JSON",e164:"número E.164",jwt:"JWT",template_literal:"entrada"},i={nan:"NaN"};return(r)=>{switch(r.code){case"invalid_type":{let o=i[r.expected]??r.expected,s=Se(r.input),c=i[s]??s;if(/^[A-Z]/.test(r.expected))return`Tipus invàlid: s'esperava instanceof ${r.expected}, s'ha rebut ${c}`;return`Tipus invàlid: s'esperava ${o}, s'ha rebut ${c}`}case"invalid_value":if(r.values.length===1)return`Valor invàlid: s'esperava ${we(r.values[0])}`;return`Opció invàlida: s'esperava una de ${te(r.values," o ")}`;case"too_big":{let o=r.inclusive?"com a màxim":"menys de",s=t(r.origin);if(s)return`Massa gran: s'esperava que ${r.origin??"el valor"} contingués ${o} ${r.maximum.toString()} ${s.unit??"elements"}`;return`Massa gran: s'esperava que ${r.origin??"el valor"} fos ${o} ${r.maximum.toString()}`}case"too_small":{let o=r.inclusive?"com a mínim":"més de",s=t(r.origin);if(s)return`Massa petit: s'esperava que ${r.origin} contingués ${o} ${r.minimum.toString()} ${s.unit}`;return`Massa petit: s'esperava que ${r.origin} fos ${o} ${r.minimum.toString()}`}case"invalid_format":{let o=r;if(o.format==="starts_with")return`Format invàlid: ha de començar amb "${o.prefix}"`;if(o.format==="ends_with")return`Format invàlid: ha d'acabar amb "${o.suffix}"`;if(o.format==="includes")return`Format invàlid: ha d'incloure "${o.includes}"`;if(o.format==="regex")return`Format invàlid: ha de coincidir amb el patró ${o.pattern}`;return`Format invàlid per a ${n[o.format]??r.format}`}case"not_multiple_of":return`Número invàlid: ha de ser múltiple de ${r.divisor}`;case"unrecognized_keys":return`Clau${r.keys.length>1?"s":""} no reconeguda${r.keys.length>1?"s":""}: ${te(r.keys,", ")}`;case"invalid_key":return`Clau invàlida a ${r.origin}`;case"invalid_union":return"Entrada invàlida";case"invalid_element":return`Element invàlid a ${r.origin}`;default:return"Entrada invàlida"}}};var Hy=he(()=>{Le()});function Md(){return{localeError:N$()}}var N$=()=>{let e={string:{unit:"znaků",verb:"mít"},file:{unit:"bajtů",verb:"mít"},array:{unit:"prvků",verb:"mít"},set:{unit:"prvků",verb:"mít"}};function t(r){return e[r]??null}let n={regex:"regulární výraz",email:"e-mailová adresa",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"datum a čas ve formátu ISO",date:"datum ve formátu ISO",time:"čas ve formátu ISO",duration:"doba trvání ISO",ipv4:"IPv4 adresa",ipv6:"IPv6 adresa",cidrv4:"rozsah IPv4",cidrv6:"rozsah IPv6",base64:"řetězec zakódovaný ve formátu base64",base64url:"řetězec zakódovaný ve formátu base64url",json_string:"řetězec ve formátu JSON",e164:"číslo E.164",jwt:"JWT",template_literal:"vstup"},i={nan:"NaN",number:"číslo",string:"řetězec",function:"funkce",array:"pole"};return(r)=>{switch(r.code){case"invalid_type":{let o=i[r.expected]??r.expected,s=Se(r.input),c=i[s]??s;if(/^[A-Z]/.test(r.expected))return`Neplatný vstup: očekáváno instanceof ${r.expected}, obdrženo ${c}`;return`Neplatný vstup: očekáváno ${o}, obdrženo ${c}`}case"invalid_value":if(r.values.length===1)return`Neplatný vstup: očekáváno ${we(r.values[0])}`;return`Neplatná možnost: očekávána jedna z hodnot ${te(r.values,"|")}`;case"too_big":{let o=r.inclusive?"<=":"<",s=t(r.origin);if(s)return`Hodnota je příliš velká: ${r.origin??"hodnota"} musí mít ${o}${r.maximum.toString()} ${s.unit??"prvků"}`;return`Hodnota je příliš velká: ${r.origin??"hodnota"} musí být ${o}${r.maximum.toString()}`}case"too_small":{let o=r.inclusive?">=":">",s=t(r.origin);if(s)return`Hodnota je příliš malá: ${r.origin??"hodnota"} musí mít ${o}${r.minimum.toString()} ${s.unit??"prvků"}`;return`Hodnota je příliš malá: ${r.origin??"hodnota"} musí být ${o}${r.minimum.toString()}`}case"invalid_format":{let o=r;if(o.format==="starts_with")return`Neplatný řetězec: musí začínat na "${o.prefix}"`;if(o.format==="ends_with")return`Neplatný řetězec: musí končit na "${o.suffix}"`;if(o.format==="includes")return`Neplatný řetězec: musí obsahovat "${o.includes}"`;if(o.format==="regex")return`Neplatný řetězec: musí odpovídat vzoru ${o.pattern}`;return`Neplatný formát ${n[o.format]??r.format}`}case"not_multiple_of":return`Neplatné číslo: musí být násobkem ${r.divisor}`;case"unrecognized_keys":return`Neznámé klíče: ${te(r.keys,", ")}`;case"invalid_key":return`Neplatný klíč v ${r.origin}`;case"invalid_union":return"Neplatný vstup";case"invalid_element":return`Neplatná hodnota v ${r.origin}`;default:return"Neplatný vstup"}}};var Zy=he(()=>{Le()});function Bd(){return{localeError:C$()}}var C$=()=>{let e={string:{unit:"tegn",verb:"havde"},file:{unit:"bytes",verb:"havde"},array:{unit:"elementer",verb:"indeholdt"},set:{unit:"elementer",verb:"indeholdt"}};function t(r){return e[r]??null}let n={regex:"input",email:"e-mailadresse",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dato- og klokkeslæt",date:"ISO-dato",time:"ISO-klokkeslæt",duration:"ISO-varighed",ipv4:"IPv4-område",ipv6:"IPv6-område",cidrv4:"IPv4-spektrum",cidrv6:"IPv6-spektrum",base64:"base64-kodet streng",base64url:"base64url-kodet streng",json_string:"JSON-streng",e164:"E.164-nummer",jwt:"JWT",template_literal:"input"},i={nan:"NaN",string:"streng",number:"tal",boolean:"boolean",array:"liste",object:"objekt",set:"sæt",file:"fil"};return(r)=>{switch(r.code){case"invalid_type":{let o=i[r.expected]??r.expected,s=Se(r.input),c=i[s]??s;if(/^[A-Z]/.test(r.expected))return`Ugyldigt input: forventede instanceof ${r.expected}, fik ${c}`;return`Ugyldigt input: forventede ${o}, fik ${c}`}case"invalid_value":if(r.values.length===1)return`Ugyldig værdi: forventede ${we(r.values[0])}`;return`Ugyldigt valg: forventede en af følgende ${te(r.values,"|")}`;case"too_big":{let o=r.inclusive?"<=":"<",s=t(r.origin),c=i[r.origin]??r.origin;if(s)return`For stor: forventede ${c??"value"} ${s.verb} ${o} ${r.maximum.toString()} ${s.unit??"elementer"}`;return`For stor: forventede ${c??"value"} havde ${o} ${r.maximum.toString()}`}case"too_small":{let o=r.inclusive?">=":">",s=t(r.origin),c=i[r.origin]??r.origin;if(s)return`For lille: forventede ${c} ${s.verb} ${o} ${r.minimum.toString()} ${s.unit}`;return`For lille: forventede ${c} havde ${o} ${r.minimum.toString()}`}case"invalid_format":{let o=r;if(o.format==="starts_with")return`Ugyldig streng: skal starte med "${o.prefix}"`;if(o.format==="ends_with")return`Ugyldig streng: skal ende med "${o.suffix}"`;if(o.format==="includes")return`Ugyldig streng: skal indeholde "${o.includes}"`;if(o.format==="regex")return`Ugyldig streng: skal matche mønsteret ${o.pattern}`;return`Ugyldig ${n[o.format]??r.format}`}case"not_multiple_of":return`Ugyldigt tal: skal være deleligt med ${r.divisor}`;case"unrecognized_keys":return`${r.keys.length>1?"Ukendte nøgler":"Ukendt nøgle"}: ${te(r.keys,", ")}`;case"invalid_key":return`Ugyldig nøgle i ${r.origin}`;case"invalid_union":return"Ugyldigt input: matcher ingen af de tilladte typer";case"invalid_element":return`Ugyldig værdi i ${r.origin}`;default:return"Ugyldigt input"}}};var Vy=he(()=>{Le()});function Wd(){return{localeError:q$()}}var q$=()=>{let e={string:{unit:"Zeichen",verb:"zu haben"},file:{unit:"Bytes",verb:"zu haben"},array:{unit:"Elemente",verb:"zu haben"},set:{unit:"Elemente",verb:"zu haben"}};function t(r){return e[r]??null}let n={regex:"Eingabe",email:"E-Mail-Adresse",url:"URL",emoji:"Emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-Datum und -Uhrzeit",date:"ISO-Datum",time:"ISO-Uhrzeit",duration:"ISO-Dauer",ipv4:"IPv4-Adresse",ipv6:"IPv6-Adresse",cidrv4:"IPv4-Bereich",cidrv6:"IPv6-Bereich",base64:"Base64-codierter String",base64url:"Base64-URL-codierter String",json_string:"JSON-String",e164:"E.164-Nummer",jwt:"JWT",template_literal:"Eingabe"},i={nan:"NaN",number:"Zahl",array:"Array"};return(r)=>{switch(r.code){case"invalid_type":{let o=i[r.expected]??r.expected,s=Se(r.input),c=i[s]??s;if(/^[A-Z]/.test(r.expected))return`Ungültige Eingabe: erwartet instanceof ${r.expected}, erhalten ${c}`;return`Ungültige Eingabe: erwartet ${o}, erhalten ${c}`}case"invalid_value":if(r.values.length===1)return`Ungültige Eingabe: erwartet ${we(r.values[0])}`;return`Ungültige Option: erwartet eine von ${te(r.values,"|")}`;case"too_big":{let o=r.inclusive?"<=":"<",s=t(r.origin);if(s)return`Zu groß: erwartet, dass ${r.origin??"Wert"} ${o}${r.maximum.toString()} ${s.unit??"Elemente"} hat`;return`Zu groß: erwartet, dass ${r.origin??"Wert"} ${o}${r.maximum.toString()} ist`}case"too_small":{let o=r.inclusive?">=":">",s=t(r.origin);if(s)return`Zu klein: erwartet, dass ${r.origin} ${o}${r.minimum.toString()} ${s.unit} hat`;return`Zu klein: erwartet, dass ${r.origin} ${o}${r.minimum.toString()} ist`}case"invalid_format":{let o=r;if(o.format==="starts_with")return`Ungültiger String: muss mit "${o.prefix}" beginnen`;if(o.format==="ends_with")return`Ungültiger String: muss mit "${o.suffix}" enden`;if(o.format==="includes")return`Ungültiger String: muss "${o.includes}" enthalten`;if(o.format==="regex")return`Ungültiger String: muss dem Muster ${o.pattern} entsprechen`;return`Ungültig: ${n[o.format]??r.format}`}case"not_multiple_of":return`Ungültige Zahl: muss ein Vielfaches von ${r.divisor} sein`;case"unrecognized_keys":return`${r.keys.length>1?"Unbekannte Schlüssel":"Unbekannter Schlüssel"}: ${te(r.keys,", ")}`;case"invalid_key":return`Ungültiger Schlüssel in ${r.origin}`;case"invalid_union":return"Ungültige Eingabe";case"invalid_element":return`Ungültiger Wert in ${r.origin}`;default:return"Ungültige Eingabe"}}};var Gy=he(()=>{Le()});function Hd(){return{localeError:L$()}}var L$=()=>{let e={string:{unit:"χαρακτήρες",verb:"να έχει"},file:{unit:"bytes",verb:"να έχει"},array:{unit:"στοιχεία",verb:"να έχει"},set:{unit:"στοιχεία",verb:"να έχει"},map:{unit:"καταχωρήσεις",verb:"να έχει"}};function t(r){return e[r]??null}let n={regex:"είσοδος",email:"διεύθυνση email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO ημερομηνία και ώρα",date:"ISO ημερομηνία",time:"ISO ώρα",duration:"ISO διάρκεια",ipv4:"διεύθυνση IPv4",ipv6:"διεύθυνση IPv6",mac:"διεύθυνση MAC",cidrv4:"εύρος IPv4",cidrv6:"εύρος IPv6",base64:"συμβολοσειρά κωδικοποιημένη σε base64",base64url:"συμβολοσειρά κωδικοποιημένη σε base64url",json_string:"συμβολοσειρά JSON",e164:"αριθμός E.164",jwt:"JWT",template_literal:"είσοδος"},i={nan:"NaN"};return(r)=>{switch(r.code){case"invalid_type":{let o=i[r.expected]??r.expected,s=Se(r.input),c=i[s]??s;if(typeof r.expected==="string"&&/^[A-Z]/.test(r.expected))return`Μη έγκυρη είσοδος: αναμενόταν instanceof ${r.expected}, λήφθηκε ${c}`;return`Μη έγκυρη είσοδος: αναμενόταν ${o}, λήφθηκε ${c}`}case"invalid_value":if(r.values.length===1)return`Μη έγκυρη είσοδος: αναμενόταν ${we(r.values[0])}`;return`Μη έγκυρη επιλογή: αναμενόταν ένα από ${te(r.values,"|")}`;case"too_big":{let o=r.inclusive?"<=":"<",s=t(r.origin);if(s)return`Πολύ μεγάλο: αναμενόταν ${r.origin??"τιμή"} να έχει ${o}${r.maximum.toString()} ${s.unit??"στοιχεία"}`;return`Πολύ μεγάλο: αναμενόταν ${r.origin??"τιμή"} να είναι ${o}${r.maximum.toString()}`}case"too_small":{let o=r.inclusive?">=":">",s=t(r.origin);if(s)return`Πολύ μικρό: αναμενόταν ${r.origin} να έχει ${o}${r.minimum.toString()} ${s.unit}`;return`Πολύ μικρό: αναμενόταν ${r.origin} να είναι ${o}${r.minimum.toString()}`}case"invalid_format":{let o=r;if(o.format==="starts_with")return`Μη έγκυρη συμβολοσειρά: πρέπει να ξεκινά με "${o.prefix}"`;if(o.format==="ends_with")return`Μη έγκυρη συμβολοσειρά: πρέπει να τελειώνει με "${o.suffix}"`;if(o.format==="includes")return`Μη έγκυρη συμβολοσειρά: πρέπει να περιέχει "${o.includes}"`;if(o.format==="regex")return`Μη έγκυρη συμβολοσειρά: πρέπει να ταιριάζει με το μοτίβο ${o.pattern}`;return`Μη έγκυρο: ${n[o.format]??r.format}`}case"not_multiple_of":return`Μη έγκυρος αριθμός: πρέπει να είναι πολλαπλάσιο του ${r.divisor}`;case"unrecognized_keys":return`Άγνωστ${r.keys.length>1?"α":"ο"} κλειδ${r.keys.length>1?"ιά":"ί"}: ${te(r.keys,", ")}`;case"invalid_key":return`Μη έγκυρο κλειδί στο ${r.origin}`;case"invalid_union":return"Μη έγκυρη είσοδος";case"invalid_element":return`Μη έγκυρη τιμή στο ${r.origin}`;default:return"Μη έγκυρη είσοδος"}}};var Ky=he(()=>{Le()});function fo(){return{localeError:z$()}}var z$=()=>{let e={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"},map:{unit:"entries",verb:"to have"}};function t(r){return e[r]??null}let n={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",mac:"MAC address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"},i={nan:"NaN"};return(r)=>{switch(r.code){case"invalid_type":{let o=i[r.expected]??r.expected,s=Se(r.input),c=i[s]??s;return`Invalid input: expected ${o}, received ${c}`}case"invalid_value":if(r.values.length===1)return`Invalid input: expected ${we(r.values[0])}`;return`Invalid option: expected one of ${te(r.values,"|")}`;case"too_big":{let o=r.inclusive?"<=":"<",s=t(r.origin);if(s)return`Too big: expected ${r.origin??"value"} to have ${o}${r.maximum.toString()} ${s.unit??"elements"}`;return`Too big: expected ${r.origin??"value"} to be ${o}${r.maximum.toString()}`}case"too_small":{let o=r.inclusive?">=":">",s=t(r.origin);if(s)return`Too small: expected ${r.origin} to have ${o}${r.minimum.toString()} ${s.unit}`;return`Too small: expected ${r.origin} to be ${o}${r.minimum.toString()}`}case"invalid_format":{let o=r;if(o.format==="starts_with")return`Invalid string: must start with "${o.prefix}"`;if(o.format==="ends_with")return`Invalid string: must end with "${o.suffix}"`;if(o.format==="includes")return`Invalid string: must include "${o.includes}"`;if(o.format==="regex")return`Invalid string: must match pattern ${o.pattern}`;return`Invalid ${n[o.format]??r.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${r.divisor}`;case"unrecognized_keys":return`Unrecognized key${r.keys.length>1?"s":""}: ${te(r.keys,", ")}`;case"invalid_key":return`Invalid key in ${r.origin}`;case"invalid_union":if(r.options&&Array.isArray(r.options)&&r.options.length>0)return`Invalid discriminator value. Expected ${r.options.map((s)=>`'${s}'`).join(" | ")}`;return"Invalid input";case"invalid_element":return`Invalid value in ${r.origin}`;default:return"Invalid input"}}};var Zd=he(()=>{Le()});function Vd(){return{localeError:U$()}}var U$=()=>{let e={string:{unit:"karaktrojn",verb:"havi"},file:{unit:"bajtojn",verb:"havi"},array:{unit:"elementojn",verb:"havi"},set:{unit:"elementojn",verb:"havi"}};function t(r){return e[r]??null}let n={regex:"enigo",email:"retadreso",url:"URL",emoji:"emoĝio",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-datotempo",date:"ISO-dato",time:"ISO-tempo",duration:"ISO-daŭro",ipv4:"IPv4-adreso",ipv6:"IPv6-adreso",cidrv4:"IPv4-rango",cidrv6:"IPv6-rango",base64:"64-ume kodita karaktraro",base64url:"URL-64-ume kodita karaktraro",json_string:"JSON-karaktraro",e164:"E.164-nombro",jwt:"JWT",template_literal:"enigo"},i={nan:"NaN",number:"nombro",array:"tabelo",null:"senvalora"};return(r)=>{switch(r.code){case"invalid_type":{let o=i[r.expected]??r.expected,s=Se(r.input),c=i[s]??s;if(/^[A-Z]/.test(r.expected))return`Nevalida enigo: atendiĝis instanceof ${r.expected}, riceviĝis ${c}`;return`Nevalida enigo: atendiĝis ${o}, riceviĝis ${c}`}case"invalid_value":if(r.values.length===1)return`Nevalida enigo: atendiĝis ${we(r.values[0])}`;return`Nevalida opcio: atendiĝis unu el ${te(r.values,"|")}`;case"too_big":{let o=r.inclusive?"<=":"<",s=t(r.origin);if(s)return`Tro granda: atendiĝis ke ${r.origin??"valoro"} havu ${o}${r.maximum.toString()} ${s.unit??"elementojn"}`;return`Tro granda: atendiĝis ke ${r.origin??"valoro"} havu ${o}${r.maximum.toString()}`}case"too_small":{let o=r.inclusive?">=":">",s=t(r.origin);if(s)return`Tro malgranda: atendiĝis ke ${r.origin} havu ${o}${r.minimum.toString()} ${s.unit}`;return`Tro malgranda: atendiĝis ke ${r.origin} estu ${o}${r.minimum.toString()}`}case"invalid_format":{let o=r;if(o.format==="starts_with")return`Nevalida karaktraro: devas komenciĝi per "${o.prefix}"`;if(o.format==="ends_with")return`Nevalida karaktraro: devas finiĝi per "${o.suffix}"`;if(o.format==="includes")return`Nevalida karaktraro: devas inkluzivi "${o.includes}"`;if(o.format==="regex")return`Nevalida karaktraro: devas kongrui kun la modelo ${o.pattern}`;return`Nevalida ${n[o.format]??r.format}`}case"not_multiple_of":return`Nevalida nombro: devas esti oblo de ${r.divisor}`;case"unrecognized_keys":return`Nekonata${r.keys.length>1?"j":""} ŝlosilo${r.keys.length>1?"j":""}: ${te(r.keys,", ")}`;case"invalid_key":return`Nevalida ŝlosilo en ${r.origin}`;case"invalid_union":return"Nevalida enigo";case"invalid_element":return`Nevalida valoro en ${r.origin}`;default:return"Nevalida enigo"}}};var Jy=he(()=>{Le()});function Gd(){return{localeError:j$()}}var j$=()=>{let e={string:{unit:"caracteres",verb:"tener"},file:{unit:"bytes",verb:"tener"},array:{unit:"elementos",verb:"tener"},set:{unit:"elementos",verb:"tener"}};function t(r){return e[r]??null}let n={regex:"entrada",email:"dirección de correo electrónico",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"fecha y hora ISO",date:"fecha ISO",time:"hora ISO",duration:"duración ISO",ipv4:"dirección IPv4",ipv6:"dirección IPv6",cidrv4:"rango IPv4",cidrv6:"rango IPv6",base64:"cadena codificada en base64",base64url:"URL codificada en base64",json_string:"cadena JSON",e164:"número E.164",jwt:"JWT",template_literal:"entrada"},i={nan:"NaN",string:"texto",number:"número",boolean:"booleano",array:"arreglo",object:"objeto",set:"conjunto",file:"archivo",date:"fecha",bigint:"número grande",symbol:"símbolo",undefined:"indefinido",null:"nulo",function:"función",map:"mapa",record:"registro",tuple:"tupla",enum:"enumeración",union:"unión",literal:"literal",promise:"promesa",void:"vacío",never:"nunca",unknown:"desconocido",any:"cualquiera"};return(r)=>{switch(r.code){case"invalid_type":{let o=i[r.expected]??r.expected,s=Se(r.input),c=i[s]??s;if(/^[A-Z]/.test(r.expected))return`Entrada inválida: se esperaba instanceof ${r.expected}, recibido ${c}`;return`Entrada inválida: se esperaba ${o}, recibido ${c}`}case"invalid_value":if(r.values.length===1)return`Entrada inválida: se esperaba ${we(r.values[0])}`;return`Opción inválida: se esperaba una de ${te(r.values,"|")}`;case"too_big":{let o=r.inclusive?"<=":"<",s=t(r.origin),c=i[r.origin]??r.origin;if(s)return`Demasiado grande: se esperaba que ${c??"valor"} tuviera ${o}${r.maximum.toString()} ${s.unit??"elementos"}`;return`Demasiado grande: se esperaba que ${c??"valor"} fuera ${o}${r.maximum.toString()}`}case"too_small":{let o=r.inclusive?">=":">",s=t(r.origin),c=i[r.origin]??r.origin;if(s)return`Demasiado pequeño: se esperaba que ${c} tuviera ${o}${r.minimum.toString()} ${s.unit}`;return`Demasiado pequeño: se esperaba que ${c} fuera ${o}${r.minimum.toString()}`}case"invalid_format":{let o=r;if(o.format==="starts_with")return`Cadena inválida: debe comenzar con "${o.prefix}"`;if(o.format==="ends_with")return`Cadena inválida: debe terminar en "${o.suffix}"`;if(o.format==="includes")return`Cadena inválida: debe incluir "${o.includes}"`;if(o.format==="regex")return`Cadena inválida: debe coincidir con el patrón ${o.pattern}`;return`Inválido ${n[o.format]??r.format}`}case"not_multiple_of":return`Número inválido: debe ser múltiplo de ${r.divisor}`;case"unrecognized_keys":return`Llave${r.keys.length>1?"s":""} desconocida${r.keys.length>1?"s":""}: ${te(r.keys,", ")}`;case"invalid_key":return`Llave inválida en ${i[r.origin]??r.origin}`;case"invalid_union":return"Entrada inválida";case"invalid_element":return`Valor inválido en ${i[r.origin]??r.origin}`;default:return"Entrada inválida"}}};var Xy=he(()=>{Le()});function Kd(){return{localeError:F$()}}var F$=()=>{let e={string:{unit:"کاراکتر",verb:"داشته باشد"},file:{unit:"بایت",verb:"داشته باشد"},array:{unit:"آیتم",verb:"داشته باشد"},set:{unit:"آیتم",verb:"داشته باشد"}};function t(r){return e[r]??null}let n={regex:"ورودی",email:"آدرس ایمیل",url:"URL",emoji:"ایموجی",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"تاریخ و زمان ایزو",date:"تاریخ ایزو",time:"زمان ایزو",duration:"مدت زمان ایزو",ipv4:"IPv4 آدرس",ipv6:"IPv6 آدرس",cidrv4:"IPv4 دامنه",cidrv6:"IPv6 دامنه",base64:"base64-encoded رشته",base64url:"base64url-encoded رشته",json_string:"JSON رشته",e164:"E.164 عدد",jwt:"JWT",template_literal:"ورودی"},i={nan:"NaN",number:"عدد",array:"آرایه"};return(r)=>{switch(r.code){case"invalid_type":{let o=i[r.expected]??r.expected,s=Se(r.input),c=i[s]??s;if(/^[A-Z]/.test(r.expected))return`ورودی نامعتبر: می‌بایست instanceof ${r.expected} می‌بود، ${c} دریافت شد`;return`ورودی نامعتبر: می‌بایست ${o} می‌بود، ${c} دریافت شد`}case"invalid_value":if(r.values.length===1)return`ورودی نامعتبر: می‌بایست ${we(r.values[0])} می‌بود`;return`گزینه نامعتبر: می‌بایست یکی از ${te(r.values,"|")} می‌بود`;case"too_big":{let o=r.inclusive?"<=":"<",s=t(r.origin);if(s)return`خیلی بزرگ: ${r.origin??"مقدار"} باید ${o}${r.maximum.toString()} ${s.unit??"عنصر"} باشد`;return`خیلی بزرگ: ${r.origin??"مقدار"} باید ${o}${r.maximum.toString()} باشد`}case"too_small":{let o=r.inclusive?">=":">",s=t(r.origin);if(s)return`خیلی کوچک: ${r.origin} باید ${o}${r.minimum.toString()} ${s.unit} باشد`;return`خیلی کوچک: ${r.origin} باید ${o}${r.minimum.toString()} باشد`}case"invalid_format":{let o=r;if(o.format==="starts_with")return`رشته نامعتبر: باید با "${o.prefix}" شروع شود`;if(o.format==="ends_with")return`رشته نامعتبر: باید با "${o.suffix}" تمام شود`;if(o.format==="includes")return`رشته نامعتبر: باید شامل "${o.includes}" باشد`;if(o.format==="regex")return`رشته نامعتبر: باید با الگوی ${o.pattern} مطابقت داشته باشد`;return`${n[o.format]??r.format} نامعتبر`}case"not_multiple_of":return`عدد نامعتبر: باید مضرب ${r.divisor} باشد`;case"unrecognized_keys":return`کلید${r.keys.length>1?"های":""} ناشناس: ${te(r.keys,", ")}`;case"invalid_key":return`کلید ناشناس در ${r.origin}`;case"invalid_union":return"ورودی نامعتبر";case"invalid_element":return`مقدار نامعتبر در ${r.origin}`;default:return"ورودی نامعتبر"}}};var Qy=he(()=>{Le()});function Jd(){return{localeError:M$()}}var M$=()=>{let e={string:{unit:"merkkiä",subject:"merkkijonon"},file:{unit:"tavua",subject:"tiedoston"},array:{unit:"alkiota",subject:"listan"},set:{unit:"alkiota",subject:"joukon"},number:{unit:"",subject:"luvun"},bigint:{unit:"",subject:"suuren kokonaisluvun"},int:{unit:"",subject:"kokonaisluvun"},date:{unit:"",subject:"päivämäärän"}};function t(r){return e[r]??null}let n={regex:"säännöllinen lauseke",email:"sähköpostiosoite",url:"URL-osoite",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-aikaleima",date:"ISO-päivämäärä",time:"ISO-aika",duration:"ISO-kesto",ipv4:"IPv4-osoite",ipv6:"IPv6-osoite",cidrv4:"IPv4-alue",cidrv6:"IPv6-alue",base64:"base64-koodattu merkkijono",base64url:"base64url-koodattu merkkijono",json_string:"JSON-merkkijono",e164:"E.164-luku",jwt:"JWT",template_literal:"templaattimerkkijono"},i={nan:"NaN"};return(r)=>{switch(r.code){case"invalid_type":{let o=i[r.expected]??r.expected,s=Se(r.input),c=i[s]??s;if(/^[A-Z]/.test(r.expected))return`Virheellinen tyyppi: odotettiin instanceof ${r.expected}, oli ${c}`;return`Virheellinen tyyppi: odotettiin ${o}, oli ${c}`}case"invalid_value":if(r.values.length===1)return`Virheellinen syöte: täytyy olla ${we(r.values[0])}`;return`Virheellinen valinta: täytyy olla yksi seuraavista: ${te(r.values,"|")}`;case"too_big":{let o=r.inclusive?"<=":"<",s=t(r.origin);if(s)return`Liian suuri: ${s.subject} täytyy olla ${o}${r.maximum.toString()} ${s.unit}`.trim();return`Liian suuri: arvon täytyy olla ${o}${r.maximum.toString()}`}case"too_small":{let o=r.inclusive?">=":">",s=t(r.origin);if(s)return`Liian pieni: ${s.subject} täytyy olla ${o}${r.minimum.toString()} ${s.unit}`.trim();return`Liian pieni: arvon täytyy olla ${o}${r.minimum.toString()}`}case"invalid_format":{let o=r;if(o.format==="starts_with")return`Virheellinen syöte: täytyy alkaa "${o.prefix}"`;if(o.format==="ends_with")return`Virheellinen syöte: täytyy loppua "${o.suffix}"`;if(o.format==="includes")return`Virheellinen syöte: täytyy sisältää "${o.includes}"`;if(o.format==="regex")return`Virheellinen syöte: täytyy vastata säännöllistä lauseketta ${o.pattern}`;return`Virheellinen ${n[o.format]??r.format}`}case"not_multiple_of":return`Virheellinen luku: täytyy olla luvun ${r.divisor} monikerta`;case"unrecognized_keys":return`${r.keys.length>1?"Tuntemattomat avaimet":"Tuntematon avain"}: ${te(r.keys,", ")}`;case"invalid_key":return"Virheellinen avain tietueessa";case"invalid_union":return"Virheellinen unioni";case"invalid_element":return"Virheellinen arvo joukossa";default:return"Virheellinen syöte"}}};var Yy=he(()=>{Le()});function Xd(){return{localeError:B$()}}var B$=()=>{let e={string:{unit:"caractères",verb:"avoir"},file:{unit:"octets",verb:"avoir"},array:{unit:"éléments",verb:"avoir"},set:{unit:"éléments",verb:"avoir"}};function t(r){return e[r]??null}let n={regex:"entrée",email:"adresse e-mail",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"date et heure ISO",date:"date ISO",time:"heure ISO",duration:"durée ISO",ipv4:"adresse IPv4",ipv6:"adresse IPv6",cidrv4:"plage IPv4",cidrv6:"plage IPv6",base64:"chaîne encodée en base64",base64url:"chaîne encodée en base64url",json_string:"chaîne JSON",e164:"numéro E.164",jwt:"JWT",template_literal:"entrée"},i={string:"chaîne",number:"nombre",int:"entier",boolean:"booléen",bigint:"grand entier",symbol:"symbole",undefined:"indéfini",null:"null",never:"jamais",void:"vide",date:"date",array:"tableau",object:"objet",tuple:"tuple",record:"enregistrement",map:"carte",set:"ensemble",file:"fichier",nonoptional:"non-optionnel",nan:"NaN",function:"fonction"};return(r)=>{switch(r.code){case"invalid_type":{let o=i[r.expected]??r.expected,s=Se(r.input),c=i[s]??s;if(/^[A-Z]/.test(r.expected))return`Entrée invalide : instanceof ${r.expected} attendu, ${c} reçu`;return`Entrée invalide : ${o} attendu, ${c} reçu`}case"invalid_value":if(r.values.length===1)return`Entrée invalide : ${we(r.values[0])} attendu`;return`Option invalide : une valeur parmi ${te(r.values,"|")} attendue`;case"too_big":{let o=r.inclusive?"<=":"<",s=t(r.origin);if(s)return`Trop grand : ${i[r.origin]??"valeur"} doit ${s.verb} ${o}${r.maximum.toString()} ${s.unit??"élément(s)"}`;return`Trop grand : ${i[r.origin]??"valeur"} doit être ${o}${r.maximum.toString()}`}case"too_small":{let o=r.inclusive?">=":">",s=t(r.origin);if(s)return`Trop petit : ${i[r.origin]??"valeur"} doit ${s.verb} ${o}${r.minimum.toString()} ${s.unit}`;return`Trop petit : ${i[r.origin]??"valeur"} doit être ${o}${r.minimum.toString()}`}case"invalid_format":{let o=r;if(o.format==="starts_with")return`Chaîne invalide : doit commencer par "${o.prefix}"`;if(o.format==="ends_with")return`Chaîne invalide : doit se terminer par "${o.suffix}"`;if(o.format==="includes")return`Chaîne invalide : doit inclure "${o.includes}"`;if(o.format==="regex")return`Chaîne invalide : doit correspondre au modèle ${o.pattern}`;return`${n[o.format]??r.format} invalide`}case"not_multiple_of":return`Nombre invalide : doit être un multiple de ${r.divisor}`;case"unrecognized_keys":return`Clé${r.keys.length>1?"s":""} non reconnue${r.keys.length>1?"s":""} : ${te(r.keys,", ")}`;case"invalid_key":return`Clé invalide dans ${r.origin}`;case"invalid_union":return"Entrée invalide";case"invalid_element":return`Valeur invalide dans ${r.origin}`;default:return"Entrée invalide"}}};var ev=he(()=>{Le()});function Qd(){return{localeError:W$()}}var W$=()=>{let e={string:{unit:"caractères",verb:"avoir"},file:{unit:"octets",verb:"avoir"},array:{unit:"éléments",verb:"avoir"},set:{unit:"éléments",verb:"avoir"}};function t(r){return e[r]??null}let n={regex:"entrée",email:"adresse courriel",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"date-heure ISO",date:"date ISO",time:"heure ISO",duration:"durée ISO",ipv4:"adresse IPv4",ipv6:"adresse IPv6",cidrv4:"plage IPv4",cidrv6:"plage IPv6",base64:"chaîne encodée en base64",base64url:"chaîne encodée en base64url",json_string:"chaîne JSON",e164:"numéro E.164",jwt:"JWT",template_literal:"entrée"},i={nan:"NaN"};return(r)=>{switch(r.code){case"invalid_type":{let o=i[r.expected]??r.expected,s=Se(r.input),c=i[s]??s;if(/^[A-Z]/.test(r.expected))return`Entrée invalide : attendu instanceof ${r.expected}, reçu ${c}`;return`Entrée invalide : attendu ${o}, reçu ${c}`}case"invalid_value":if(r.values.length===1)return`Entrée invalide : attendu ${we(r.values[0])}`;return`Option invalide : attendu l'une des valeurs suivantes ${te(r.values,"|")}`;case"too_big":{let o=r.inclusive?"≤":"<",s=t(r.origin);if(s)return`Trop grand : attendu que ${r.origin??"la valeur"} ait ${o}${r.maximum.toString()} ${s.unit}`;return`Trop grand : attendu que ${r.origin??"la valeur"} soit ${o}${r.maximum.toString()}`}case"too_small":{let o=r.inclusive?"≥":">",s=t(r.origin);if(s)return`Trop petit : attendu que ${r.origin} ait ${o}${r.minimum.toString()} ${s.unit}`;return`Trop petit : attendu que ${r.origin} soit ${o}${r.minimum.toString()}`}case"invalid_format":{let o=r;if(o.format==="starts_with")return`Chaîne invalide : doit commencer par "${o.prefix}"`;if(o.format==="ends_with")return`Chaîne invalide : doit se terminer par "${o.suffix}"`;if(o.format==="includes")return`Chaîne invalide : doit inclure "${o.includes}"`;if(o.format==="regex")return`Chaîne invalide : doit correspondre au motif ${o.pattern}`;return`${n[o.format]??r.format} invalide`}case"not_multiple_of":return`Nombre invalide : doit être un multiple de ${r.divisor}`;case"unrecognized_keys":return`Clé${r.keys.length>1?"s":""} non reconnue${r.keys.length>1?"s":""} : ${te(r.keys,", ")}`;case"invalid_key":return`Clé invalide dans ${r.origin}`;case"invalid_union":return"Entrée invalide";case"invalid_element":return`Valeur invalide dans ${r.origin}`;default:return"Entrée invalide"}}};var tv=he(()=>{Le()});function Yd(){return{localeError:H$()}}var H$=()=>{let e={string:{label:"מחרוזת",gender:"f"},number:{label:"מספר",gender:"m"},boolean:{label:"ערך בוליאני",gender:"m"},bigint:{label:"BigInt",gender:"m"},date:{label:"תאריך",gender:"m"},array:{label:"מערך",gender:"m"},object:{label:"אובייקט",gender:"m"},null:{label:"ערך ריק (null)",gender:"m"},undefined:{label:"ערך לא מוגדר (undefined)",gender:"m"},symbol:{label:"סימבול (Symbol)",gender:"m"},function:{label:"פונקציה",gender:"f"},map:{label:"מפה (Map)",gender:"f"},set:{label:"קבוצה (Set)",gender:"f"},file:{label:"קובץ",gender:"m"},promise:{label:"Promise",gender:"m"},NaN:{label:"NaN",gender:"m"},unknown:{label:"ערך לא ידוע",gender:"m"},value:{label:"ערך",gender:"m"}},t={string:{unit:"תווים",shortLabel:"קצר",longLabel:"ארוך"},file:{unit:"בייטים",shortLabel:"קטן",longLabel:"גדול"},array:{unit:"פריטים",shortLabel:"קטן",longLabel:"גדול"},set:{unit:"פריטים",shortLabel:"קטן",longLabel:"גדול"},number:{unit:"",shortLabel:"קטן",longLabel:"גדול"}},n=(f)=>f?e[f]:void 0,i=(f)=>{let b=n(f);if(b)return b.label;return f??e.unknown.label},r=(f)=>`ה${i(f)}`,o=(f)=>(n(f)?.gender??"m")==="f"?"צריכה להיות":"צריך להיות",s=(f)=>{if(!f)return null;return t[f]??null},c={regex:{label:"קלט",gender:"m"},email:{label:"כתובת אימייל",gender:"f"},url:{label:"כתובת רשת",gender:"f"},emoji:{label:"אימוג'י",gender:"m"},uuid:{label:"UUID",gender:"m"},nanoid:{label:"nanoid",gender:"m"},guid:{label:"GUID",gender:"m"},cuid:{label:"cuid",gender:"m"},cuid2:{label:"cuid2",gender:"m"},ulid:{label:"ULID",gender:"m"},xid:{label:"XID",gender:"m"},ksuid:{label:"KSUID",gender:"m"},datetime:{label:"תאריך וזמן ISO",gender:"m"},date:{label:"תאריך ISO",gender:"m"},time:{label:"זמן ISO",gender:"m"},duration:{label:"משך זמן ISO",gender:"m"},ipv4:{label:"כתובת IPv4",gender:"f"},ipv6:{label:"כתובת IPv6",gender:"f"},cidrv4:{label:"טווח IPv4",gender:"m"},cidrv6:{label:"טווח IPv6",gender:"m"},base64:{label:"מחרוזת בבסיס 64",gender:"f"},base64url:{label:"מחרוזת בבסיס 64 לכתובות רשת",gender:"f"},json_string:{label:"מחרוזת JSON",gender:"f"},e164:{label:"מספר E.164",gender:"m"},jwt:{label:"JWT",gender:"m"},ends_with:{label:"קלט",gender:"m"},includes:{label:"קלט",gender:"m"},lowercase:{label:"קלט",gender:"m"},starts_with:{label:"קלט",gender:"m"},uppercase:{label:"קלט",gender:"m"}},d={nan:"NaN"};return(f)=>{switch(f.code){case"invalid_type":{let b=f.expected,x=d[b??""]??i(b),P=Se(f.input),F=d[P]??e[P]?.label??P;if(/^[A-Z]/.test(f.expected))return`קלט לא תקין: צריך להיות instanceof ${f.expected}, התקבל ${F}`;return`קלט לא תקין: צריך להיות ${x}, התקבל ${F}`}case"invalid_value":{if(f.values.length===1)return`ערך לא תקין: הערך חייב להיות ${we(f.values[0])}`;let b=f.values.map((F)=>we(F));if(f.values.length===2)return`ערך לא תקין: האפשרויות המתאימות הן ${b[0]} או ${b[1]}`;let x=b[b.length-1];return`ערך לא תקין: האפשרויות המתאימות הן ${b.slice(0,-1).join(", ")} או ${x}`}case"too_big":{let b=s(f.origin),x=r(f.origin??"value");if(f.origin==="string")return`${b?.longLabel??"ארוך"} מדי: ${x} צריכה להכיל ${f.maximum.toString()} ${b?.unit??""} ${f.inclusive?"או פחות":"לכל היותר"}`.trim();if(f.origin==="number"){let ce=f.inclusive?`קטן או שווה ל-${f.maximum}`:`קטן מ-${f.maximum}`;return`גדול מדי: ${x} צריך להיות ${ce}`}if(f.origin==="array"||f.origin==="set"){let ce=f.origin==="set"?"צריכה":"צריך",ie=f.inclusive?`${f.maximum} ${b?.unit??""} או פחות`:`פחות מ-${f.maximum} ${b?.unit??""}`;return`גדול מדי: ${x} ${ce} להכיל ${ie}`.trim()}let P=f.inclusive?"<=":"<",F=o(f.origin??"value");if(b?.unit)return`${b.longLabel} מדי: ${x} ${F} ${P}${f.maximum.toString()} ${b.unit}`;return`${b?.longLabel??"גדול"} מדי: ${x} ${F} ${P}${f.maximum.toString()}`}case"too_small":{let b=s(f.origin),x=r(f.origin??"value");if(f.origin==="string")return`${b?.shortLabel??"קצר"} מדי: ${x} צריכה להכיל ${f.minimum.toString()} ${b?.unit??""} ${f.inclusive?"או יותר":"לפחות"}`.trim();if(f.origin==="number"){let ce=f.inclusive?`גדול או שווה ל-${f.minimum}`:`גדול מ-${f.minimum}`;return`קטן מדי: ${x} צריך להיות ${ce}`}if(f.origin==="array"||f.origin==="set"){let ce=f.origin==="set"?"צריכה":"צריך";if(f.minimum===1&&f.inclusive){let de=f.origin==="set"?"לפחות פריט אחד":"לפחות פריט אחד";return`קטן מדי: ${x} ${ce} להכיל ${de}`}let ie=f.inclusive?`${f.minimum} ${b?.unit??""} או יותר`:`יותר מ-${f.minimum} ${b?.unit??""}`;return`קטן מדי: ${x} ${ce} להכיל ${ie}`.trim()}let P=f.inclusive?">=":">",F=o(f.origin??"value");if(b?.unit)return`${b.shortLabel} מדי: ${x} ${F} ${P}${f.minimum.toString()} ${b.unit}`;return`${b?.shortLabel??"קטן"} מדי: ${x} ${F} ${P}${f.minimum.toString()}`}case"invalid_format":{let b=f;if(b.format==="starts_with")return`המחרוזת חייבת להתחיל ב "${b.prefix}"`;if(b.format==="ends_with")return`המחרוזת חייבת להסתיים ב "${b.suffix}"`;if(b.format==="includes")return`המחרוזת חייבת לכלול "${b.includes}"`;if(b.format==="regex")return`המחרוזת חייבת להתאים לתבנית ${b.pattern}`;let x=c[b.format],P=x?.label??b.format,ce=(x?.gender??"m")==="f"?"תקינה":"תקין";return`${P} לא ${ce}`}case"not_multiple_of":return`מספר לא תקין: חייב להיות מכפלה של ${f.divisor}`;case"unrecognized_keys":return`מפתח${f.keys.length>1?"ות":""} לא מזוה${f.keys.length>1?"ים":"ה"}: ${te(f.keys,", ")}`;case"invalid_key":return"שדה לא תקין באובייקט";case"invalid_union":return"קלט לא תקין";case"invalid_element":return`ערך לא תקין ב${r(f.origin??"array")}`;default:return"קלט לא תקין"}}};var rv=he(()=>{Le()});function ef(){return{localeError:Z$()}}var Z$=()=>{let e={string:{unit:"znakova",verb:"imati"},file:{unit:"bajtova",verb:"imati"},array:{unit:"stavki",verb:"imati"},set:{unit:"stavki",verb:"imati"}};function t(r){return e[r]??null}let n={regex:"unos",email:"email adresa",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datum i vrijeme",date:"ISO datum",time:"ISO vrijeme",duration:"ISO trajanje",ipv4:"IPv4 adresa",ipv6:"IPv6 adresa",cidrv4:"IPv4 raspon",cidrv6:"IPv6 raspon",base64:"base64 kodirani tekst",base64url:"base64url kodirani tekst",json_string:"JSON tekst",e164:"E.164 broj",jwt:"JWT",template_literal:"unos"},i={nan:"NaN",string:"tekst",number:"broj",boolean:"boolean",array:"niz",object:"objekt",set:"skup",file:"datoteka",date:"datum",bigint:"bigint",symbol:"simbol",undefined:"undefined",null:"null",function:"funkcija",map:"mapa"};return(r)=>{switch(r.code){case"invalid_type":{let o=i[r.expected]??r.expected,s=Se(r.input),c=i[s]??s;if(/^[A-Z]/.test(r.expected))return`Neispravan unos: očekuje se instanceof ${r.expected}, a primljeno je ${c}`;return`Neispravan unos: očekuje se ${o}, a primljeno je ${c}`}case"invalid_value":if(r.values.length===1)return`Neispravna vrijednost: očekivano ${we(r.values[0])}`;return`Neispravna opcija: očekivano jedno od ${te(r.values,"|")}`;case"too_big":{let o=r.inclusive?"<=":"<",s=t(r.origin),c=i[r.origin]??r.origin;if(s)return`Preveliko: očekivano da ${c??"vrijednost"} ima ${o}${r.maximum.toString()} ${s.unit??"elemenata"}`;return`Preveliko: očekivano da ${c??"vrijednost"} bude ${o}${r.maximum.toString()}`}case"too_small":{let o=r.inclusive?">=":">",s=t(r.origin),c=i[r.origin]??r.origin;if(s)return`Premalo: očekivano da ${c} ima ${o}${r.minimum.toString()} ${s.unit}`;return`Premalo: očekivano da ${c} bude ${o}${r.minimum.toString()}`}case"invalid_format":{let o=r;if(o.format==="starts_with")return`Neispravan tekst: mora započinjati s "${o.prefix}"`;if(o.format==="ends_with")return`Neispravan tekst: mora završavati s "${o.suffix}"`;if(o.format==="includes")return`Neispravan tekst: mora sadržavati "${o.includes}"`;if(o.format==="regex")return`Neispravan tekst: mora odgovarati uzorku ${o.pattern}`;return`Neispravna ${n[o.format]??r.format}`}case"not_multiple_of":return`Neispravan broj: mora biti višekratnik od ${r.divisor}`;case"unrecognized_keys":return`Neprepoznat${r.keys.length>1?"i ključevi":" ključ"}: ${te(r.keys,", ")}`;case"invalid_key":return`Neispravan ključ u ${i[r.origin]??r.origin}`;case"invalid_union":return"Neispravan unos";case"invalid_element":return`Neispravna vrijednost u ${i[r.origin]??r.origin}`;default:return"Neispravan unos"}}};var nv=he(()=>{Le()});function tf(){return{localeError:V$()}}var V$=()=>{let e={string:{unit:"karakter",verb:"legyen"},file:{unit:"byte",verb:"legyen"},array:{unit:"elem",verb:"legyen"},set:{unit:"elem",verb:"legyen"}};function t(r){return e[r]??null}let n={regex:"bemenet",email:"email cím",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO időbélyeg",date:"ISO dátum",time:"ISO idő",duration:"ISO időintervallum",ipv4:"IPv4 cím",ipv6:"IPv6 cím",cidrv4:"IPv4 tartomány",cidrv6:"IPv6 tartomány",base64:"base64-kódolt string",base64url:"base64url-kódolt string",json_string:"JSON string",e164:"E.164 szám",jwt:"JWT",template_literal:"bemenet"},i={nan:"NaN",number:"szám",array:"tömb"};return(r)=>{switch(r.code){case"invalid_type":{let o=i[r.expected]??r.expected,s=Se(r.input),c=i[s]??s;if(/^[A-Z]/.test(r.expected))return`Érvénytelen bemenet: a várt érték instanceof ${r.expected}, a kapott érték ${c}`;return`Érvénytelen bemenet: a várt érték ${o}, a kapott érték ${c}`}case"invalid_value":if(r.values.length===1)return`Érvénytelen bemenet: a várt érték ${we(r.values[0])}`;return`Érvénytelen opció: valamelyik érték várt ${te(r.values,"|")}`;case"too_big":{let o=r.inclusive?"<=":"<",s=t(r.origin);if(s)return`Túl nagy: ${r.origin??"érték"} mérete túl nagy ${o}${r.maximum.toString()} ${s.unit??"elem"}`;return`Túl nagy: a bemeneti érték ${r.origin??"érték"} túl nagy: ${o}${r.maximum.toString()}`}case"too_small":{let o=r.inclusive?">=":">",s=t(r.origin);if(s)return`Túl kicsi: a bemeneti érték ${r.origin} mérete túl kicsi ${o}${r.minimum.toString()} ${s.unit}`;return`Túl kicsi: a bemeneti érték ${r.origin} túl kicsi ${o}${r.minimum.toString()}`}case"invalid_format":{let o=r;if(o.format==="starts_with")return`Érvénytelen string: "${o.prefix}" értékkel kell kezdődnie`;if(o.format==="ends_with")return`Érvénytelen string: "${o.suffix}" értékkel kell végződnie`;if(o.format==="includes")return`Érvénytelen string: "${o.includes}" értéket kell tartalmaznia`;if(o.format==="regex")return`Érvénytelen string: ${o.pattern} mintának kell megfelelnie`;return`Érvénytelen ${n[o.format]??r.format}`}case"not_multiple_of":return`Érvénytelen szám: ${r.divisor} többszörösének kell lennie`;case"unrecognized_keys":return`Ismeretlen kulcs${r.keys.length>1?"s":""}: ${te(r.keys,", ")}`;case"invalid_key":return`Érvénytelen kulcs ${r.origin}`;case"invalid_union":return"Érvénytelen bemenet";case"invalid_element":return`Érvénytelen érték: ${r.origin}`;default:return"Érvénytelen bemenet"}}};var iv=he(()=>{Le()});function ov(e,t,n){return Math.abs(e)===1?t:n}function si(e){if(!e)return"";let t=["ա","ե","ը","ի","ո","ու","օ"],n=e[e.length-1];return e+(t.includes(n)?"ն":"ը")}function rf(){return{localeError:G$()}}var G$=()=>{let e={string:{unit:{one:"նշան",many:"նշաններ"},verb:"ունենալ"},file:{unit:{one:"բայթ",many:"բայթեր"},verb:"ունենալ"},array:{unit:{one:"տարր",many:"տարրեր"},verb:"ունենալ"},set:{unit:{one:"տարր",many:"տարրեր"},verb:"ունենալ"}};function t(r){return e[r]??null}let n={regex:"մուտք",email:"էլ. հասցե",url:"URL",emoji:"էմոջի",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO ամսաթիվ և ժամ",date:"ISO ամսաթիվ",time:"ISO ժամ",duration:"ISO տևողություն",ipv4:"IPv4 հասցե",ipv6:"IPv6 հասցե",cidrv4:"IPv4 միջակայք",cidrv6:"IPv6 միջակայք",base64:"base64 ձևաչափով տող",base64url:"base64url ձևաչափով տող",json_string:"JSON տող",e164:"E.164 համար",jwt:"JWT",template_literal:"մուտք"},i={nan:"NaN",number:"թիվ",array:"զանգված"};return(r)=>{switch(r.code){case"invalid_type":{let o=i[r.expected]??r.expected,s=Se(r.input),c=i[s]??s;if(/^[A-Z]/.test(r.expected))return`Սխալ մուտքագրում․ սպասվում էր instanceof ${r.expected}, ստացվել է ${c}`;return`Սխալ մուտքագրում․ սպասվում էր ${o}, ստացվել է ${c}`}case"invalid_value":if(r.values.length===1)return`Սխալ մուտքագրում․ սպասվում էր ${we(r.values[1])}`;return`Սխալ տարբերակ․ սպասվում էր հետևյալներից մեկը՝ ${te(r.values,"|")}`;case"too_big":{let o=r.inclusive?"<=":"<",s=t(r.origin);if(s){let c=Number(r.maximum),d=ov(c,s.unit.one,s.unit.many);return`Չափազանց մեծ արժեք․ սպասվում է, որ ${si(r.origin??"արժեք")} կունենա ${o}${r.maximum.toString()} ${d}`}return`Չափազանց մեծ արժեք․ սպասվում է, որ ${si(r.origin??"արժեք")} լինի ${o}${r.maximum.toString()}`}case"too_small":{let o=r.inclusive?">=":">",s=t(r.origin);if(s){let c=Number(r.minimum),d=ov(c,s.unit.one,s.unit.many);return`Չափազանց փոքր արժեք․ սպասվում է, որ ${si(r.origin)} կունենա ${o}${r.minimum.toString()} ${d}`}return`Չափազանց փոքր արժեք․ սպասվում է, որ ${si(r.origin)} լինի ${o}${r.minimum.toString()}`}case"invalid_format":{let o=r;if(o.format==="starts_with")return`Սխալ տող․ պետք է սկսվի "${o.prefix}"-ով`;if(o.format==="ends_with")return`Սխալ տող․ պետք է ավարտվի "${o.suffix}"-ով`;if(o.format==="includes")return`Սխալ տող․ պետք է պարունակի "${o.includes}"`;if(o.format==="regex")return`Սխալ տող․ պետք է համապատասխանի ${o.pattern} ձևաչափին`;return`Սխալ ${n[o.format]??r.format}`}case"not_multiple_of":return`Սխալ թիվ․ պետք է բազմապատիկ լինի ${r.divisor}-ի`;case"unrecognized_keys":return`Չճանաչված բանալի${r.keys.length>1?"ներ":""}. ${te(r.keys,", ")}`;case"invalid_key":return`Սխալ բանալի ${si(r.origin)}-ում`;case"invalid_union":return"Սխալ մուտքագրում";case"invalid_element":return`Սխալ արժեք ${si(r.origin)}-ում`;default:return"Սխալ մուտքագրում"}}};var sv=he(()=>{Le()});function nf(){return{localeError:K$()}}var K$=()=>{let e={string:{unit:"karakter",verb:"memiliki"},file:{unit:"byte",verb:"memiliki"},array:{unit:"item",verb:"memiliki"},set:{unit:"item",verb:"memiliki"}};function t(r){return e[r]??null}let n={regex:"input",email:"alamat email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"tanggal dan waktu format ISO",date:"tanggal format ISO",time:"jam format ISO",duration:"durasi format ISO",ipv4:"alamat IPv4",ipv6:"alamat IPv6",cidrv4:"rentang alamat IPv4",cidrv6:"rentang alamat IPv6",base64:"string dengan enkode base64",base64url:"string dengan enkode base64url",json_string:"string JSON",e164:"angka E.164",jwt:"JWT",template_literal:"input"},i={nan:"NaN"};return(r)=>{switch(r.code){case"invalid_type":{let o=i[r.expected]??r.expected,s=Se(r.input),c=i[s]??s;if(/^[A-Z]/.test(r.expected))return`Input tidak valid: diharapkan instanceof ${r.expected}, diterima ${c}`;return`Input tidak valid: diharapkan ${o}, diterima ${c}`}case"invalid_value":if(r.values.length===1)return`Input tidak valid: diharapkan ${we(r.values[0])}`;return`Pilihan tidak valid: diharapkan salah satu dari ${te(r.values,"|")}`;case"too_big":{let o=r.inclusive?"<=":"<",s=t(r.origin);if(s)return`Terlalu besar: diharapkan ${r.origin??"value"} memiliki ${o}${r.maximum.toString()} ${s.unit??"elemen"}`;return`Terlalu besar: diharapkan ${r.origin??"value"} menjadi ${o}${r.maximum.toString()}`}case"too_small":{let o=r.inclusive?">=":">",s=t(r.origin);if(s)return`Terlalu kecil: diharapkan ${r.origin} memiliki ${o}${r.minimum.toString()} ${s.unit}`;return`Terlalu kecil: diharapkan ${r.origin} menjadi ${o}${r.minimum.toString()}`}case"invalid_format":{let o=r;if(o.format==="starts_with")return`String tidak valid: harus dimulai dengan "${o.prefix}"`;if(o.format==="ends_with")return`String tidak valid: harus berakhir dengan "${o.suffix}"`;if(o.format==="includes")return`String tidak valid: harus menyertakan "${o.includes}"`;if(o.format==="regex")return`String tidak valid: harus sesuai pola ${o.pattern}`;return`${n[o.format]??r.format} tidak valid`}case"not_multiple_of":return`Angka tidak valid: harus kelipatan dari ${r.divisor}`;case"unrecognized_keys":return`Kunci tidak dikenali ${r.keys.length>1?"s":""}: ${te(r.keys,", ")}`;case"invalid_key":return`Kunci tidak valid di ${r.origin}`;case"invalid_union":return"Input tidak valid";case"invalid_element":return`Nilai tidak valid di ${r.origin}`;default:return"Input tidak valid"}}};var av=he(()=>{Le()});function of(){return{localeError:J$()}}var J$=()=>{let e={string:{unit:"stafi",verb:"að hafa"},file:{unit:"bæti",verb:"að hafa"},array:{unit:"hluti",verb:"að hafa"},set:{unit:"hluti",verb:"að hafa"}};function t(r){return e[r]??null}let n={regex:"gildi",email:"netfang",url:"vefslóð",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dagsetning og tími",date:"ISO dagsetning",time:"ISO tími",duration:"ISO tímalengd",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded strengur",base64url:"base64url-encoded strengur",json_string:"JSON strengur",e164:"E.164 tölugildi",jwt:"JWT",template_literal:"gildi"},i={nan:"NaN",number:"númer",array:"fylki"};return(r)=>{switch(r.code){case"invalid_type":{let o=i[r.expected]??r.expected,s=Se(r.input),c=i[s]??s;if(/^[A-Z]/.test(r.expected))return`Rangt gildi: Þú slóst inn ${c} þar sem á að vera instanceof ${r.expected}`;return`Rangt gildi: Þú slóst inn ${c} þar sem á að vera ${o}`}case"invalid_value":if(r.values.length===1)return`Rangt gildi: gert ráð fyrir ${we(r.values[0])}`;return`Ógilt val: má vera eitt af eftirfarandi ${te(r.values,"|")}`;case"too_big":{let o=r.inclusive?"<=":"<",s=t(r.origin);if(s)return`Of stórt: gert er ráð fyrir að ${r.origin??"gildi"} hafi ${o}${r.maximum.toString()} ${s.unit??"hluti"}`;return`Of stórt: gert er ráð fyrir að ${r.origin??"gildi"} sé ${o}${r.maximum.toString()}`}case"too_small":{let o=r.inclusive?">=":">",s=t(r.origin);if(s)return`Of lítið: gert er ráð fyrir að ${r.origin} hafi ${o}${r.minimum.toString()} ${s.unit}`;return`Of lítið: gert er ráð fyrir að ${r.origin} sé ${o}${r.minimum.toString()}`}case"invalid_format":{let o=r;if(o.format==="starts_with")return`Ógildur strengur: verður að byrja á "${o.prefix}"`;if(o.format==="ends_with")return`Ógildur strengur: verður að enda á "${o.suffix}"`;if(o.format==="includes")return`Ógildur strengur: verður að innihalda "${o.includes}"`;if(o.format==="regex")return`Ógildur strengur: verður að fylgja mynstri ${o.pattern}`;return`Rangt ${n[o.format]??r.format}`}case"not_multiple_of":return`Röng tala: verður að vera margfeldi af ${r.divisor}`;case"unrecognized_keys":return`Óþekkt ${r.keys.length>1?"ir lyklar":"ur lykill"}: ${te(r.keys,", ")}`;case"invalid_key":return`Rangur lykill í ${r.origin}`;case"invalid_union":return"Rangt gildi";case"invalid_element":return`Rangt gildi í ${r.origin}`;default:return"Rangt gildi"}}};var cv=he(()=>{Le()});function sf(){return{localeError:X$()}}var X$=()=>{let e={string:{unit:"caratteri",verb:"avere"},file:{unit:"byte",verb:"avere"},array:{unit:"elementi",verb:"avere"},set:{unit:"elementi",verb:"avere"}};function t(r){return e[r]??null}let n={regex:"input",email:"indirizzo email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data e ora ISO",date:"data ISO",time:"ora ISO",duration:"durata ISO",ipv4:"indirizzo IPv4",ipv6:"indirizzo IPv6",cidrv4:"intervallo IPv4",cidrv6:"intervallo IPv6",base64:"stringa codificata in base64",base64url:"URL codificata in base64",json_string:"stringa JSON",e164:"numero E.164",jwt:"JWT",template_literal:"input"},i={nan:"NaN",number:"numero",array:"vettore"};return(r)=>{switch(r.code){case"invalid_type":{let o=i[r.expected]??r.expected,s=Se(r.input),c=i[s]??s;if(/^[A-Z]/.test(r.expected))return`Input non valido: atteso instanceof ${r.expected}, ricevuto ${c}`;return`Input non valido: atteso ${o}, ricevuto ${c}`}case"invalid_value":if(r.values.length===1)return`Input non valido: atteso ${we(r.values[0])}`;return`Opzione non valida: atteso uno tra ${te(r.values,"|")}`;case"too_big":{let o=r.inclusive?"<=":"<",s=t(r.origin);if(s)return`Troppo grande: ${r.origin??"valore"} deve avere ${o}${r.maximum.toString()} ${s.unit??"elementi"}`;return`Troppo grande: ${r.origin??"valore"} deve essere ${o}${r.maximum.toString()}`}case"too_small":{let o=r.inclusive?">=":">",s=t(r.origin);if(s)return`Troppo piccolo: ${r.origin} deve avere ${o}${r.minimum.toString()} ${s.unit}`;return`Troppo piccolo: ${r.origin} deve essere ${o}${r.minimum.toString()}`}case"invalid_format":{let o=r;if(o.format==="starts_with")return`Stringa non valida: deve iniziare con "${o.prefix}"`;if(o.format==="ends_with")return`Stringa non valida: deve terminare con "${o.suffix}"`;if(o.format==="includes")return`Stringa non valida: deve includere "${o.includes}"`;if(o.format==="regex")return`Stringa non valida: deve corrispondere al pattern ${o.pattern}`;return`Input non valido: ${n[o.format]??r.format}`}case"not_multiple_of":return`Numero non valido: deve essere un multiplo di ${r.divisor}`;case"unrecognized_keys":return`Chiav${r.keys.length>1?"i":"e"} non riconosciut${r.keys.length>1?"e":"a"}: ${te(r.keys,", ")}`;case"invalid_key":return`Chiave non valida in ${r.origin}`;case"invalid_union":return"Input non valido";case"invalid_element":return`Valore non valido in ${r.origin}`;default:return"Input non valido"}}};var lv=he(()=>{Le()});function af(){return{localeError:Q$()}}var Q$=()=>{let e={string:{unit:"文字",verb:"である"},file:{unit:"バイト",verb:"である"},array:{unit:"要素",verb:"である"},set:{unit:"要素",verb:"である"}};function t(r){return e[r]??null}let n={regex:"入力値",email:"メールアドレス",url:"URL",emoji:"絵文字",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO日時",date:"ISO日付",time:"ISO時刻",duration:"ISO期間",ipv4:"IPv4アドレス",ipv6:"IPv6アドレス",cidrv4:"IPv4範囲",cidrv6:"IPv6範囲",base64:"base64エンコード文字列",base64url:"base64urlエンコード文字列",json_string:"JSON文字列",e164:"E.164番号",jwt:"JWT",template_literal:"入力値"},i={nan:"NaN",number:"数値",array:"配列"};return(r)=>{switch(r.code){case"invalid_type":{let o=i[r.expected]??r.expected,s=Se(r.input),c=i[s]??s;if(/^[A-Z]/.test(r.expected))return`無効な入力: instanceof ${r.expected}が期待されましたが、${c}が入力されました`;return`無効な入力: ${o}が期待されましたが、${c}が入力されました`}case"invalid_value":if(r.values.length===1)return`無効な入力: ${we(r.values[0])}が期待されました`;return`無効な選択: ${te(r.values,"、")}のいずれかである必要があります`;case"too_big":{let o=r.inclusive?"以下である":"より小さい",s=t(r.origin);if(s)return`大きすぎる値: ${r.origin??"値"}は${r.maximum.toString()}${s.unit??"要素"}${o}必要があります`;return`大きすぎる値: ${r.origin??"値"}は${r.maximum.toString()}${o}必要があります`}case"too_small":{let o=r.inclusive?"以上である":"より大きい",s=t(r.origin);if(s)return`小さすぎる値: ${r.origin}は${r.minimum.toString()}${s.unit}${o}必要があります`;return`小さすぎる値: ${r.origin}は${r.minimum.toString()}${o}必要があります`}case"invalid_format":{let o=r;if(o.format==="starts_with")return`無効な文字列: "${o.prefix}"で始まる必要があります`;if(o.format==="ends_with")return`無効な文字列: "${o.suffix}"で終わる必要があります`;if(o.format==="includes")return`無効な文字列: "${o.includes}"を含む必要があります`;if(o.format==="regex")return`無効な文字列: パターン${o.pattern}に一致する必要があります`;return`無効な${n[o.format]??r.format}`}case"not_multiple_of":return`無効な数値: ${r.divisor}の倍数である必要があります`;case"unrecognized_keys":return`認識されていないキー${r.keys.length>1?"群":""}: ${te(r.keys,"、")}`;case"invalid_key":return`${r.origin}内の無効なキー`;case"invalid_union":return"無効な入力";case"invalid_element":return`${r.origin}内の無効な値`;default:return"無効な入力"}}};var uv=he(()=>{Le()});function cf(){return{localeError:Y$()}}var Y$=()=>{let e={string:{unit:"სიმბოლო",verb:"უნდა შეიცავდეს"},file:{unit:"ბაიტი",verb:"უნდა შეიცავდეს"},array:{unit:"ელემენტი",verb:"უნდა შეიცავდეს"},set:{unit:"ელემენტი",verb:"უნდა შეიცავდეს"}};function t(r){return e[r]??null}let n={regex:"შეყვანა",email:"ელ-ფოსტის მისამართი",url:"URL",emoji:"ემოჯი",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"თარიღი-დრო",date:"თარიღი",time:"დრო",duration:"ხანგრძლივობა",ipv4:"IPv4 მისამართი",ipv6:"IPv6 მისამართი",cidrv4:"IPv4 დიაპაზონი",cidrv6:"IPv6 დიაპაზონი",base64:"base64-კოდირებული ველი",base64url:"base64url-კოდირებული ველი",json_string:"JSON ველი",e164:"E.164 ნომერი",jwt:"JWT",template_literal:"შეყვანა"},i={nan:"NaN",number:"რიცხვი",string:"ველი",boolean:"ბულეანი",function:"ფუნქცია",array:"მასივი"};return(r)=>{switch(r.code){case"invalid_type":{let o=i[r.expected]??r.expected,s=Se(r.input),c=i[s]??s;if(/^[A-Z]/.test(r.expected))return`არასწორი შეყვანა: მოსალოდნელი instanceof ${r.expected}, მიღებული ${c}`;return`არასწორი შეყვანა: მოსალოდნელი ${o}, მიღებული ${c}`}case"invalid_value":if(r.values.length===1)return`არასწორი შეყვანა: მოსალოდნელი ${we(r.values[0])}`;return`არასწორი ვარიანტი: მოსალოდნელია ერთ-ერთი ${te(r.values,"|")}-დან`;case"too_big":{let o=r.inclusive?"<=":"<",s=t(r.origin);if(s)return`ზედმეტად დიდი: მოსალოდნელი ${r.origin??"მნიშვნელობა"} ${s.verb} ${o}${r.maximum.toString()} ${s.unit}`;return`ზედმეტად დიდი: მოსალოდნელი ${r.origin??"მნიშვნელობა"} იყოს ${o}${r.maximum.toString()}`}case"too_small":{let o=r.inclusive?">=":">",s=t(r.origin);if(s)return`ზედმეტად პატარა: მოსალოდნელი ${r.origin} ${s.verb} ${o}${r.minimum.toString()} ${s.unit}`;return`ზედმეტად პატარა: მოსალოდნელი ${r.origin} იყოს ${o}${r.minimum.toString()}`}case"invalid_format":{let o=r;if(o.format==="starts_with")return`არასწორი ველი: უნდა იწყებოდეს "${o.prefix}"-ით`;if(o.format==="ends_with")return`არასწორი ველი: უნდა მთავრდებოდეს "${o.suffix}"-ით`;if(o.format==="includes")return`არასწორი ველი: უნდა შეიცავდეს "${o.includes}"-ს`;if(o.format==="regex")return`არასწორი ველი: უნდა შეესაბამებოდეს შაბლონს ${o.pattern}`;return`არასწორი ${n[o.format]??r.format}`}case"not_multiple_of":return`არასწორი რიცხვი: უნდა იყოს ${r.divisor}-ის ჯერადი`;case"unrecognized_keys":return`უცნობი გასაღებ${r.keys.length>1?"ები":"ი"}: ${te(r.keys,", ")}`;case"invalid_key":return`არასწორი გასაღები ${r.origin}-ში`;case"invalid_union":return"არასწორი შეყვანა";case"invalid_element":return`არასწორი მნიშვნელობა ${r.origin}-ში`;default:return"არასწორი შეყვანა"}}};var dv=he(()=>{Le()});function po(){return{localeError:eI()}}var eI=()=>{let e={string:{unit:"តួអក្សរ",verb:"គួរមាន"},file:{unit:"បៃ",verb:"គួរមាន"},array:{unit:"ធាតុ",verb:"គួរមាន"},set:{unit:"ធាតុ",verb:"គួរមាន"}};function t(r){return e[r]??null}let n={regex:"ទិន្នន័យបញ្ចូល",email:"អាសយដ្ឋានអ៊ីមែល",url:"URL",emoji:"សញ្ញាអារម្មណ៍",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"កាលបរិច្ឆេទ និងម៉ោង ISO",date:"កាលបរិច្ឆេទ ISO",time:"ម៉ោង ISO",duration:"រយៈពេល ISO",ipv4:"អាសយដ្ឋាន IPv4",ipv6:"អាសយដ្ឋាន IPv6",cidrv4:"ដែនអាសយដ្ឋាន IPv4",cidrv6:"ដែនអាសយដ្ឋាន IPv6",base64:"ខ្សែអក្សរអ៊ិកូដ base64",base64url:"ខ្សែអក្សរអ៊ិកូដ base64url",json_string:"ខ្សែអក្សរ JSON",e164:"លេខ E.164",jwt:"JWT",template_literal:"ទិន្នន័យបញ្ចូល"},i={nan:"NaN",number:"លេខ",array:"អារេ (Array)",null:"គ្មានតម្លៃ (null)"};return(r)=>{switch(r.code){case"invalid_type":{let o=i[r.expected]??r.expected,s=Se(r.input),c=i[s]??s;if(/^[A-Z]/.test(r.expected))return`ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ instanceof ${r.expected} ប៉ុន្តែទទួលបាន ${c}`;return`ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ ${o} ប៉ុន្តែទទួលបាន ${c}`}case"invalid_value":if(r.values.length===1)return`ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ ${we(r.values[0])}`;return`ជម្រើសមិនត្រឹមត្រូវ៖ ត្រូវជាមួយក្នុងចំណោម ${te(r.values,"|")}`;case"too_big":{let o=r.inclusive?"<=":"<",s=t(r.origin);if(s)return`ធំពេក៖ ត្រូវការ ${r.origin??"តម្លៃ"} ${o} ${r.maximum.toString()} ${s.unit??"ធាតុ"}`;return`ធំពេក៖ ត្រូវការ ${r.origin??"តម្លៃ"} ${o} ${r.maximum.toString()}`}case"too_small":{let o=r.inclusive?">=":">",s=t(r.origin);if(s)return`តូចពេក៖ ត្រូវការ ${r.origin} ${o} ${r.minimum.toString()} ${s.unit}`;return`តូចពេក៖ ត្រូវការ ${r.origin} ${o} ${r.minimum.toString()}`}case"invalid_format":{let o=r;if(o.format==="starts_with")return`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវចាប់ផ្តើមដោយ "${o.prefix}"`;if(o.format==="ends_with")return`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវបញ្ចប់ដោយ "${o.suffix}"`;if(o.format==="includes")return`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវមាន "${o.includes}"`;if(o.format==="regex")return`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវតែផ្គូផ្គងនឹងទម្រង់ដែលបានកំណត់ ${o.pattern}`;return`មិនត្រឹមត្រូវ៖ ${n[o.format]??r.format}`}case"not_multiple_of":return`លេខមិនត្រឹមត្រូវ៖ ត្រូវតែជាពហុគុណនៃ ${r.divisor}`;case"unrecognized_keys":return`រកឃើញសោមិនស្គាល់៖ ${te(r.keys,", ")}`;case"invalid_key":return`សោមិនត្រឹមត្រូវនៅក្នុង ${r.origin}`;case"invalid_union":return"ទិន្នន័យមិនត្រឹមត្រូវ";case"invalid_element":return`ទិន្នន័យមិនត្រឹមត្រូវនៅក្នុង ${r.origin}`;default:return"ទិន្នន័យមិនត្រឹមត្រូវ"}}};var lf=he(()=>{Le()});function uf(){return po()}var fv=he(()=>{lf()});function df(){return{localeError:tI()}}var tI=()=>{let e={string:{unit:"문자",verb:"to have"},file:{unit:"바이트",verb:"to have"},array:{unit:"개",verb:"to have"},set:{unit:"개",verb:"to have"}};function t(r){return e[r]??null}let n={regex:"입력",email:"이메일 주소",url:"URL",emoji:"이모지",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO 날짜시간",date:"ISO 날짜",time:"ISO 시간",duration:"ISO 기간",ipv4:"IPv4 주소",ipv6:"IPv6 주소",cidrv4:"IPv4 범위",cidrv6:"IPv6 범위",base64:"base64 인코딩 문자열",base64url:"base64url 인코딩 문자열",json_string:"JSON 문자열",e164:"E.164 번호",jwt:"JWT",template_literal:"입력"},i={nan:"NaN"};return(r)=>{switch(r.code){case"invalid_type":{let o=i[r.expected]??r.expected,s=Se(r.input),c=i[s]??s;if(/^[A-Z]/.test(r.expected))return`잘못된 입력: 예상 타입은 instanceof ${r.expected}, 받은 타입은 ${c}입니다`;return`잘못된 입력: 예상 타입은 ${o}, 받은 타입은 ${c}입니다`}case"invalid_value":if(r.values.length===1)return`잘못된 입력: 값은 ${we(r.values[0])} 이어야 합니다`;return`잘못된 옵션: ${te(r.values,"또는 ")} 중 하나여야 합니다`;case"too_big":{let o=r.inclusive?"이하":"미만",s=o==="미만"?"이어야 합니다":"여야 합니다",c=t(r.origin),d=c?.unit??"요소";if(c)return`${r.origin??"값"}이 너무 큽니다: ${r.maximum.toString()}${d} ${o}${s}`;return`${r.origin??"값"}이 너무 큽니다: ${r.maximum.toString()} ${o}${s}`}case"too_small":{let o=r.inclusive?"이상":"초과",s=o==="이상"?"이어야 합니다":"여야 합니다",c=t(r.origin),d=c?.unit??"요소";if(c)return`${r.origin??"값"}이 너무 작습니다: ${r.minimum.toString()}${d} ${o}${s}`;return`${r.origin??"값"}이 너무 작습니다: ${r.minimum.toString()} ${o}${s}`}case"invalid_format":{let o=r;if(o.format==="starts_with")return`잘못된 문자열: "${o.prefix}"(으)로 시작해야 합니다`;if(o.format==="ends_with")return`잘못된 문자열: "${o.suffix}"(으)로 끝나야 합니다`;if(o.format==="includes")return`잘못된 문자열: "${o.includes}"을(를) 포함해야 합니다`;if(o.format==="regex")return`잘못된 문자열: 정규식 ${o.pattern} 패턴과 일치해야 합니다`;return`잘못된 ${n[o.format]??r.format}`}case"not_multiple_of":return`잘못된 숫자: ${r.divisor}의 배수여야 합니다`;case"unrecognized_keys":return`인식할 수 없는 키: ${te(r.keys,", ")}`;case"invalid_key":return`잘못된 키: ${r.origin}`;case"invalid_union":return"잘못된 입력";case"invalid_element":return`잘못된 값: ${r.origin}`;default:return"잘못된 입력"}}};var pv=he(()=>{Le()});function gv(e){let t=Math.abs(e),n=t%10,i=t%100;if(i>=11&&i<=19||n===0)return"many";if(n===1)return"one";return"few"}function ff(){return{localeError:rI()}}var go=(e)=>e.charAt(0).toUpperCase()+e.slice(1),rI=()=>{let e={string:{unit:{one:"simbolis",few:"simboliai",many:"simbolių"},verb:{smaller:{inclusive:"turi būti ne ilgesnė kaip",notInclusive:"turi būti trumpesnė kaip"},bigger:{inclusive:"turi būti ne trumpesnė kaip",notInclusive:"turi būti ilgesnė kaip"}}},file:{unit:{one:"baitas",few:"baitai",many:"baitų"},verb:{smaller:{inclusive:"turi būti ne didesnis kaip",notInclusive:"turi būti mažesnis kaip"},bigger:{inclusive:"turi būti ne mažesnis kaip",notInclusive:"turi būti didesnis kaip"}}},array:{unit:{one:"elementą",few:"elementus",many:"elementų"},verb:{smaller:{inclusive:"turi turėti ne daugiau kaip",notInclusive:"turi turėti mažiau kaip"},bigger:{inclusive:"turi turėti ne mažiau kaip",notInclusive:"turi turėti daugiau kaip"}}},set:{unit:{one:"elementą",few:"elementus",many:"elementų"},verb:{smaller:{inclusive:"turi turėti ne daugiau kaip",notInclusive:"turi turėti mažiau kaip"},bigger:{inclusive:"turi turėti ne mažiau kaip",notInclusive:"turi turėti daugiau kaip"}}}};function t(r,o,s,c){let d=e[r]??null;if(d===null)return d;return{unit:d.unit[o],verb:d.verb[c][s?"inclusive":"notInclusive"]}}let n={regex:"įvestis",email:"el. pašto adresas",url:"URL",emoji:"jaustukas",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO data ir laikas",date:"ISO data",time:"ISO laikas",duration:"ISO trukmė",ipv4:"IPv4 adresas",ipv6:"IPv6 adresas",cidrv4:"IPv4 tinklo prefiksas (CIDR)",cidrv6:"IPv6 tinklo prefiksas (CIDR)",base64:"base64 užkoduota eilutė",base64url:"base64url užkoduota eilutė",json_string:"JSON eilutė",e164:"E.164 numeris",jwt:"JWT",template_literal:"įvestis"},i={nan:"NaN",number:"skaičius",bigint:"sveikasis skaičius",string:"eilutė",boolean:"loginė reikšmė",undefined:"neapibrėžta reikšmė",function:"funkcija",symbol:"simbolis",array:"masyvas",object:"objektas",null:"nulinė reikšmė"};return(r)=>{switch(r.code){case"invalid_type":{let o=i[r.expected]??r.expected,s=Se(r.input),c=i[s]??s;if(/^[A-Z]/.test(r.expected))return`Gautas tipas ${c}, o tikėtasi - instanceof ${r.expected}`;return`Gautas tipas ${c}, o tikėtasi - ${o}`}case"invalid_value":if(r.values.length===1)return`Privalo būti ${we(r.values[0])}`;return`Privalo būti vienas iš ${te(r.values,"|")} pasirinkimų`;case"too_big":{let o=i[r.origin]??r.origin,s=t(r.origin,gv(Number(r.maximum)),r.inclusive??!1,"smaller");if(s?.verb)return`${go(o??r.origin??"reikšmė")} ${s.verb} ${r.maximum.toString()} ${s.unit??"elementų"}`;let c=r.inclusive?"ne didesnis kaip":"mažesnis kaip";return`${go(o??r.origin??"reikšmė")} turi būti ${c} ${r.maximum.toString()} ${s?.unit}`}case"too_small":{let o=i[r.origin]??r.origin,s=t(r.origin,gv(Number(r.minimum)),r.inclusive??!1,"bigger");if(s?.verb)return`${go(o??r.origin??"reikšmė")} ${s.verb} ${r.minimum.toString()} ${s.unit??"elementų"}`;let c=r.inclusive?"ne mažesnis kaip":"didesnis kaip";return`${go(o??r.origin??"reikšmė")} turi būti ${c} ${r.minimum.toString()} ${s?.unit}`}case"invalid_format":{let o=r;if(o.format==="starts_with")return`Eilutė privalo prasidėti "${o.prefix}"`;if(o.format==="ends_with")return`Eilutė privalo pasibaigti "${o.suffix}"`;if(o.format==="includes")return`Eilutė privalo įtraukti "${o.includes}"`;if(o.format==="regex")return`Eilutė privalo atitikti ${o.pattern}`;return`Neteisingas ${n[o.format]??r.format}`}case"not_multiple_of":return`Skaičius privalo būti ${r.divisor} kartotinis.`;case"unrecognized_keys":return`Neatpažint${r.keys.length>1?"i":"as"} rakt${r.keys.length>1?"ai":"as"}: ${te(r.keys,", ")}`;case"invalid_key":return"Rastas klaidingas raktas";case"invalid_union":return"Klaidinga įvestis";case"invalid_element":{let o=i[r.origin]??r.origin;return`${go(o??r.origin??"reikšmė")} turi klaidingą įvestį`}default:return"Klaidinga įvestis"}}};var mv=he(()=>{Le()});function pf(){return{localeError:nI()}}var nI=()=>{let e={string:{unit:"знаци",verb:"да имаат"},file:{unit:"бајти",verb:"да имаат"},array:{unit:"ставки",verb:"да имаат"},set:{unit:"ставки",verb:"да имаат"}};function t(r){return e[r]??null}let n={regex:"внес",email:"адреса на е-пошта",url:"URL",emoji:"емоџи",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO датум и време",date:"ISO датум",time:"ISO време",duration:"ISO времетраење",ipv4:"IPv4 адреса",ipv6:"IPv6 адреса",cidrv4:"IPv4 опсег",cidrv6:"IPv6 опсег",base64:"base64-енкодирана низа",base64url:"base64url-енкодирана низа",json_string:"JSON низа",e164:"E.164 број",jwt:"JWT",template_literal:"внес"},i={nan:"NaN",number:"број",array:"низа"};return(r)=>{switch(r.code){case"invalid_type":{let o=i[r.expected]??r.expected,s=Se(r.input),c=i[s]??s;if(/^[A-Z]/.test(r.expected))return`Грешен внес: се очекува instanceof ${r.expected}, примено ${c}`;return`Грешен внес: се очекува ${o}, примено ${c}`}case"invalid_value":if(r.values.length===1)return`Invalid input: expected ${we(r.values[0])}`;return`Грешана опција: се очекува една ${te(r.values,"|")}`;case"too_big":{let o=r.inclusive?"<=":"<",s=t(r.origin);if(s)return`Премногу голем: се очекува ${r.origin??"вредноста"} да има ${o}${r.maximum.toString()} ${s.unit??"елементи"}`;return`Премногу голем: се очекува ${r.origin??"вредноста"} да биде ${o}${r.maximum.toString()}`}case"too_small":{let o=r.inclusive?">=":">",s=t(r.origin);if(s)return`Премногу мал: се очекува ${r.origin} да има ${o}${r.minimum.toString()} ${s.unit}`;return`Премногу мал: се очекува ${r.origin} да биде ${o}${r.minimum.toString()}`}case"invalid_format":{let o=r;if(o.format==="starts_with")return`Неважечка низа: мора да започнува со "${o.prefix}"`;if(o.format==="ends_with")return`Неважечка низа: мора да завршува со "${o.suffix}"`;if(o.format==="includes")return`Неважечка низа: мора да вклучува "${o.includes}"`;if(o.format==="regex")return`Неважечка низа: мора да одгоара на патернот ${o.pattern}`;return`Invalid ${n[o.format]??r.format}`}case"not_multiple_of":return`Грешен број: мора да биде делив со ${r.divisor}`;case"unrecognized_keys":return`${r.keys.length>1?"Непрепознаени клучеви":"Непрепознаен клуч"}: ${te(r.keys,", ")}`;case"invalid_key":return`Грешен клуч во ${r.origin}`;case"invalid_union":return"Грешен внес";case"invalid_element":return`Грешна вредност во ${r.origin}`;default:return"Грешен внес"}}};var _v=he(()=>{Le()});function gf(){return{localeError:iI()}}var iI=()=>{let e={string:{unit:"aksara",verb:"mempunyai"},file:{unit:"bait",verb:"mempunyai"},array:{unit:"elemen",verb:"mempunyai"},set:{unit:"elemen",verb:"mempunyai"}};function t(r){return e[r]??null}let n={regex:"input",email:"alamat e-mel",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"tarikh masa ISO",date:"tarikh ISO",time:"masa ISO",duration:"tempoh ISO",ipv4:"alamat IPv4",ipv6:"alamat IPv6",cidrv4:"julat IPv4",cidrv6:"julat IPv6",base64:"string dikodkan base64",base64url:"string dikodkan base64url",json_string:"string JSON",e164:"nombor E.164",jwt:"JWT",template_literal:"input"},i={nan:"NaN",number:"nombor"};return(r)=>{switch(r.code){case"invalid_type":{let o=i[r.expected]??r.expected,s=Se(r.input),c=i[s]??s;if(/^[A-Z]/.test(r.expected))return`Input tidak sah: dijangka instanceof ${r.expected}, diterima ${c}`;return`Input tidak sah: dijangka ${o}, diterima ${c}`}case"invalid_value":if(r.values.length===1)return`Input tidak sah: dijangka ${we(r.values[0])}`;return`Pilihan tidak sah: dijangka salah satu daripada ${te(r.values,"|")}`;case"too_big":{let o=r.inclusive?"<=":"<",s=t(r.origin);if(s)return`Terlalu besar: dijangka ${r.origin??"nilai"} ${s.verb} ${o}${r.maximum.toString()} ${s.unit??"elemen"}`;return`Terlalu besar: dijangka ${r.origin??"nilai"} adalah ${o}${r.maximum.toString()}`}case"too_small":{let o=r.inclusive?">=":">",s=t(r.origin);if(s)return`Terlalu kecil: dijangka ${r.origin} ${s.verb} ${o}${r.minimum.toString()} ${s.unit}`;return`Terlalu kecil: dijangka ${r.origin} adalah ${o}${r.minimum.toString()}`}case"invalid_format":{let o=r;if(o.format==="starts_with")return`String tidak sah: mesti bermula dengan "${o.prefix}"`;if(o.format==="ends_with")return`String tidak sah: mesti berakhir dengan "${o.suffix}"`;if(o.format==="includes")return`String tidak sah: mesti mengandungi "${o.includes}"`;if(o.format==="regex")return`String tidak sah: mesti sepadan dengan corak ${o.pattern}`;return`${n[o.format]??r.format} tidak sah`}case"not_multiple_of":return`Nombor tidak sah: perlu gandaan ${r.divisor}`;case"unrecognized_keys":return`Kunci tidak dikenali: ${te(r.keys,", ")}`;case"invalid_key":return`Kunci tidak sah dalam ${r.origin}`;case"invalid_union":return"Input tidak sah";case"invalid_element":return`Nilai tidak sah dalam ${r.origin}`;default:return"Input tidak sah"}}};var hv=he(()=>{Le()});function mf(){return{localeError:oI()}}var oI=()=>{let e={string:{unit:"tekens",verb:"heeft"},file:{unit:"bytes",verb:"heeft"},array:{unit:"elementen",verb:"heeft"},set:{unit:"elementen",verb:"heeft"}};function t(r){return e[r]??null}let n={regex:"invoer",email:"emailadres",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datum en tijd",date:"ISO datum",time:"ISO tijd",duration:"ISO duur",ipv4:"IPv4-adres",ipv6:"IPv6-adres",cidrv4:"IPv4-bereik",cidrv6:"IPv6-bereik",base64:"base64-gecodeerde tekst",base64url:"base64 URL-gecodeerde tekst",json_string:"JSON string",e164:"E.164-nummer",jwt:"JWT",template_literal:"invoer"},i={nan:"NaN",number:"getal"};return(r)=>{switch(r.code){case"invalid_type":{let o=i[r.expected]??r.expected,s=Se(r.input),c=i[s]??s;if(/^[A-Z]/.test(r.expected))return`Ongeldige invoer: verwacht instanceof ${r.expected}, ontving ${c}`;return`Ongeldige invoer: verwacht ${o}, ontving ${c}`}case"invalid_value":if(r.values.length===1)return`Ongeldige invoer: verwacht ${we(r.values[0])}`;return`Ongeldige optie: verwacht één van ${te(r.values,"|")}`;case"too_big":{let o=r.inclusive?"<=":"<",s=t(r.origin),c=r.origin==="date"?"laat":r.origin==="string"?"lang":"groot";if(s)return`Te ${c}: verwacht dat ${r.origin??"waarde"} ${o}${r.maximum.toString()} ${s.unit??"elementen"} ${s.verb}`;return`Te ${c}: verwacht dat ${r.origin??"waarde"} ${o}${r.maximum.toString()} is`}case"too_small":{let o=r.inclusive?">=":">",s=t(r.origin),c=r.origin==="date"?"vroeg":r.origin==="string"?"kort":"klein";if(s)return`Te ${c}: verwacht dat ${r.origin} ${o}${r.minimum.toString()} ${s.unit} ${s.verb}`;return`Te ${c}: verwacht dat ${r.origin} ${o}${r.minimum.toString()} is`}case"invalid_format":{let o=r;if(o.format==="starts_with")return`Ongeldige tekst: moet met "${o.prefix}" beginnen`;if(o.format==="ends_with")return`Ongeldige tekst: moet op "${o.suffix}" eindigen`;if(o.format==="includes")return`Ongeldige tekst: moet "${o.includes}" bevatten`;if(o.format==="regex")return`Ongeldige tekst: moet overeenkomen met patroon ${o.pattern}`;return`Ongeldig: ${n[o.format]??r.format}`}case"not_multiple_of":return`Ongeldig getal: moet een veelvoud van ${r.divisor} zijn`;case"unrecognized_keys":return`Onbekende key${r.keys.length>1?"s":""}: ${te(r.keys,", ")}`;case"invalid_key":return`Ongeldige key in ${r.origin}`;case"invalid_union":return"Ongeldige invoer";case"invalid_element":return`Ongeldige waarde in ${r.origin}`;default:return"Ongeldige invoer"}}};var yv=he(()=>{Le()});function _f(){return{localeError:sI()}}var sI=()=>{let e={string:{unit:"tegn",verb:"å ha"},file:{unit:"bytes",verb:"å ha"},array:{unit:"elementer",verb:"å inneholde"},set:{unit:"elementer",verb:"å inneholde"}};function t(r){return e[r]??null}let n={regex:"input",email:"e-postadresse",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dato- og klokkeslett",date:"ISO-dato",time:"ISO-klokkeslett",duration:"ISO-varighet",ipv4:"IPv4-område",ipv6:"IPv6-område",cidrv4:"IPv4-spekter",cidrv6:"IPv6-spekter",base64:"base64-enkodet streng",base64url:"base64url-enkodet streng",json_string:"JSON-streng",e164:"E.164-nummer",jwt:"JWT",template_literal:"input"},i={nan:"NaN",number:"tall",array:"liste"};return(r)=>{switch(r.code){case"invalid_type":{let o=i[r.expected]??r.expected,s=Se(r.input),c=i[s]??s;if(/^[A-Z]/.test(r.expected))return`Ugyldig input: forventet instanceof ${r.expected}, fikk ${c}`;return`Ugyldig input: forventet ${o}, fikk ${c}`}case"invalid_value":if(r.values.length===1)return`Ugyldig verdi: forventet ${we(r.values[0])}`;return`Ugyldig valg: forventet en av ${te(r.values,"|")}`;case"too_big":{let o=r.inclusive?"<=":"<",s=t(r.origin);if(s)return`For stor(t): forventet ${r.origin??"value"} til å ha ${o}${r.maximum.toString()} ${s.unit??"elementer"}`;return`For stor(t): forventet ${r.origin??"value"} til å ha ${o}${r.maximum.toString()}`}case"too_small":{let o=r.inclusive?">=":">",s=t(r.origin);if(s)return`For lite(n): forventet ${r.origin} til å ha ${o}${r.minimum.toString()} ${s.unit}`;return`For lite(n): forventet ${r.origin} til å ha ${o}${r.minimum.toString()}`}case"invalid_format":{let o=r;if(o.format==="starts_with")return`Ugyldig streng: må starte med "${o.prefix}"`;if(o.format==="ends_with")return`Ugyldig streng: må ende med "${o.suffix}"`;if(o.format==="includes")return`Ugyldig streng: må inneholde "${o.includes}"`;if(o.format==="regex")return`Ugyldig streng: må matche mønsteret ${o.pattern}`;return`Ugyldig ${n[o.format]??r.format}`}case"not_multiple_of":return`Ugyldig tall: må være et multiplum av ${r.divisor}`;case"unrecognized_keys":return`${r.keys.length>1?"Ukjente nøkler":"Ukjent nøkkel"}: ${te(r.keys,", ")}`;case"invalid_key":return`Ugyldig nøkkel i ${r.origin}`;case"invalid_union":return"Ugyldig input";case"invalid_element":return`Ugyldig verdi i ${r.origin}`;default:return"Ugyldig input"}}};var vv=he(()=>{Le()});function hf(){return{localeError:aI()}}var aI=()=>{let e={string:{unit:"harf",verb:"olmalıdır"},file:{unit:"bayt",verb:"olmalıdır"},array:{unit:"unsur",verb:"olmalıdır"},set:{unit:"unsur",verb:"olmalıdır"}};function t(r){return e[r]??null}let n={regex:"giren",email:"epostagâh",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO hengâmı",date:"ISO tarihi",time:"ISO zamanı",duration:"ISO müddeti",ipv4:"IPv4 nişânı",ipv6:"IPv6 nişânı",cidrv4:"IPv4 menzili",cidrv6:"IPv6 menzili",base64:"base64-şifreli metin",base64url:"base64url-şifreli metin",json_string:"JSON metin",e164:"E.164 sayısı",jwt:"JWT",template_literal:"giren"},i={nan:"NaN",number:"numara",array:"saf",null:"gayb"};return(r)=>{switch(r.code){case"invalid_type":{let o=i[r.expected]??r.expected,s=Se(r.input),c=i[s]??s;if(/^[A-Z]/.test(r.expected))return`Fâsit giren: umulan instanceof ${r.expected}, alınan ${c}`;return`Fâsit giren: umulan ${o}, alınan ${c}`}case"invalid_value":if(r.values.length===1)return`Fâsit giren: umulan ${we(r.values[0])}`;return`Fâsit tercih: mûteberler ${te(r.values,"|")}`;case"too_big":{let o=r.inclusive?"<=":"<",s=t(r.origin);if(s)return`Fazla büyük: ${r.origin??"value"}, ${o}${r.maximum.toString()} ${s.unit??"elements"} sahip olmalıydı.`;return`Fazla büyük: ${r.origin??"value"}, ${o}${r.maximum.toString()} olmalıydı.`}case"too_small":{let o=r.inclusive?">=":">",s=t(r.origin);if(s)return`Fazla küçük: ${r.origin}, ${o}${r.minimum.toString()} ${s.unit} sahip olmalıydı.`;return`Fazla küçük: ${r.origin}, ${o}${r.minimum.toString()} olmalıydı.`}case"invalid_format":{let o=r;if(o.format==="starts_with")return`Fâsit metin: "${o.prefix}" ile başlamalı.`;if(o.format==="ends_with")return`Fâsit metin: "${o.suffix}" ile bitmeli.`;if(o.format==="includes")return`Fâsit metin: "${o.includes}" ihtivâ etmeli.`;if(o.format==="regex")return`Fâsit metin: ${o.pattern} nakşına uymalı.`;return`Fâsit ${n[o.format]??r.format}`}case"not_multiple_of":return`Fâsit sayı: ${r.divisor} katı olmalıydı.`;case"unrecognized_keys":return`Tanınmayan anahtar ${r.keys.length>1?"s":""}: ${te(r.keys,", ")}`;case"invalid_key":return`${r.origin} için tanınmayan anahtar var.`;case"invalid_union":return"Giren tanınamadı.";case"invalid_element":return`${r.origin} için tanınmayan kıymet var.`;default:return"Kıymet tanınamadı."}}};var bv=he(()=>{Le()});function yf(){return{localeError:cI()}}var cI=()=>{let e={string:{unit:"توکي",verb:"ولري"},file:{unit:"بایټس",verb:"ولري"},array:{unit:"توکي",verb:"ولري"},set:{unit:"توکي",verb:"ولري"}};function t(r){return e[r]??null}let n={regex:"ورودي",email:"بریښنالیک",url:"یو آر ال",emoji:"ایموجي",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"نیټه او وخت",date:"نېټه",time:"وخت",duration:"موده",ipv4:"د IPv4 پته",ipv6:"د IPv6 پته",cidrv4:"د IPv4 ساحه",cidrv6:"د IPv6 ساحه",base64:"base64-encoded متن",base64url:"base64url-encoded متن",json_string:"JSON متن",e164:"د E.164 شمېره",jwt:"JWT",template_literal:"ورودي"},i={nan:"NaN",number:"عدد",array:"ارې"};return(r)=>{switch(r.code){case"invalid_type":{let o=i[r.expected]??r.expected,s=Se(r.input),c=i[s]??s;if(/^[A-Z]/.test(r.expected))return`ناسم ورودي: باید instanceof ${r.expected} وای, مګر ${c} ترلاسه شو`;return`ناسم ورودي: باید ${o} وای, مګر ${c} ترلاسه شو`}case"invalid_value":if(r.values.length===1)return`ناسم ورودي: باید ${we(r.values[0])} وای`;return`ناسم انتخاب: باید یو له ${te(r.values,"|")} څخه وای`;case"too_big":{let o=r.inclusive?"<=":"<",s=t(r.origin);if(s)return`ډیر لوی: ${r.origin??"ارزښت"} باید ${o}${r.maximum.toString()} ${s.unit??"عنصرونه"} ولري`;return`ډیر لوی: ${r.origin??"ارزښت"} باید ${o}${r.maximum.toString()} وي`}case"too_small":{let o=r.inclusive?">=":">",s=t(r.origin);if(s)return`ډیر کوچنی: ${r.origin} باید ${o}${r.minimum.toString()} ${s.unit} ولري`;return`ډیر کوچنی: ${r.origin} باید ${o}${r.minimum.toString()} وي`}case"invalid_format":{let o=r;if(o.format==="starts_with")return`ناسم متن: باید د "${o.prefix}" سره پیل شي`;if(o.format==="ends_with")return`ناسم متن: باید د "${o.suffix}" سره پای ته ورسيږي`;if(o.format==="includes")return`ناسم متن: باید "${o.includes}" ولري`;if(o.format==="regex")return`ناسم متن: باید د ${o.pattern} سره مطابقت ولري`;return`${n[o.format]??r.format} ناسم دی`}case"not_multiple_of":return`ناسم عدد: باید د ${r.divisor} مضرب وي`;case"unrecognized_keys":return`ناسم ${r.keys.length>1?"کلیډونه":"کلیډ"}: ${te(r.keys,", ")}`;case"invalid_key":return`ناسم کلیډ په ${r.origin} کې`;case"invalid_union":return"ناسمه ورودي";case"invalid_element":return`ناسم عنصر په ${r.origin} کې`;default:return"ناسمه ورودي"}}};var wv=he(()=>{Le()});function vf(){return{localeError:lI()}}var lI=()=>{let e={string:{unit:"znaków",verb:"mieć"},file:{unit:"bajtów",verb:"mieć"},array:{unit:"elementów",verb:"mieć"},set:{unit:"elementów",verb:"mieć"}};function t(r){return e[r]??null}let n={regex:"wyrażenie",email:"adres email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data i godzina w formacie ISO",date:"data w formacie ISO",time:"godzina w formacie ISO",duration:"czas trwania ISO",ipv4:"adres IPv4",ipv6:"adres IPv6",cidrv4:"zakres IPv4",cidrv6:"zakres IPv6",base64:"ciąg znaków zakodowany w formacie base64",base64url:"ciąg znaków zakodowany w formacie base64url",json_string:"ciąg znaków w formacie JSON",e164:"liczba E.164",jwt:"JWT",template_literal:"wejście"},i={nan:"NaN",number:"liczba",array:"tablica"};return(r)=>{switch(r.code){case"invalid_type":{let o=i[r.expected]??r.expected,s=Se(r.input),c=i[s]??s;if(/^[A-Z]/.test(r.expected))return`Nieprawidłowe dane wejściowe: oczekiwano instanceof ${r.expected}, otrzymano ${c}`;return`Nieprawidłowe dane wejściowe: oczekiwano ${o}, otrzymano ${c}`}case"invalid_value":if(r.values.length===1)return`Nieprawidłowe dane wejściowe: oczekiwano ${we(r.values[0])}`;return`Nieprawidłowa opcja: oczekiwano jednej z wartości ${te(r.values,"|")}`;case"too_big":{let o=r.inclusive?"<=":"<",s=t(r.origin);if(s)return`Za duża wartość: oczekiwano, że ${r.origin??"wartość"} będzie mieć ${o}${r.maximum.toString()} ${s.unit??"elementów"}`;return`Zbyt duż(y/a/e): oczekiwano, że ${r.origin??"wartość"} będzie wynosić ${o}${r.maximum.toString()}`}case"too_small":{let o=r.inclusive?">=":">",s=t(r.origin);if(s)return`Za mała wartość: oczekiwano, że ${r.origin??"wartość"} będzie mieć ${o}${r.minimum.toString()} ${s.unit??"elementów"}`;return`Zbyt mał(y/a/e): oczekiwano, że ${r.origin??"wartość"} będzie wynosić ${o}${r.minimum.toString()}`}case"invalid_format":{let o=r;if(o.format==="starts_with")return`Nieprawidłowy ciąg znaków: musi zaczynać się od "${o.prefix}"`;if(o.format==="ends_with")return`Nieprawidłowy ciąg znaków: musi kończyć się na "${o.suffix}"`;if(o.format==="includes")return`Nieprawidłowy ciąg znaków: musi zawierać "${o.includes}"`;if(o.format==="regex")return`Nieprawidłowy ciąg znaków: musi odpowiadać wzorcowi ${o.pattern}`;return`Nieprawidłow(y/a/e) ${n[o.format]??r.format}`}case"not_multiple_of":return`Nieprawidłowa liczba: musi być wielokrotnością ${r.divisor}`;case"unrecognized_keys":return`Nierozpoznane klucze${r.keys.length>1?"s":""}: ${te(r.keys,", ")}`;case"invalid_key":return`Nieprawidłowy klucz w ${r.origin}`;case"invalid_union":return"Nieprawidłowe dane wejściowe";case"invalid_element":return`Nieprawidłowa wartość w ${r.origin}`;default:return"Nieprawidłowe dane wejściowe"}}};var Sv=he(()=>{Le()});function bf(){return{localeError:uI()}}var uI=()=>{let e={string:{unit:"caracteres",verb:"ter"},file:{unit:"bytes",verb:"ter"},array:{unit:"itens",verb:"ter"},set:{unit:"itens",verb:"ter"}};function t(r){return e[r]??null}let n={regex:"padrão",email:"endereço de e-mail",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data e hora ISO",date:"data ISO",time:"hora ISO",duration:"duração ISO",ipv4:"endereço IPv4",ipv6:"endereço IPv6",cidrv4:"faixa de IPv4",cidrv6:"faixa de IPv6",base64:"texto codificado em base64",base64url:"URL codificada em base64",json_string:"texto JSON",e164:"número E.164",jwt:"JWT",template_literal:"entrada"},i={nan:"NaN",number:"número",null:"nulo"};return(r)=>{switch(r.code){case"invalid_type":{let o=i[r.expected]??r.expected,s=Se(r.input),c=i[s]??s;if(/^[A-Z]/.test(r.expected))return`Tipo inválido: esperado instanceof ${r.expected}, recebido ${c}`;return`Tipo inválido: esperado ${o}, recebido ${c}`}case"invalid_value":if(r.values.length===1)return`Entrada inválida: esperado ${we(r.values[0])}`;return`Opção inválida: esperada uma das ${te(r.values,"|")}`;case"too_big":{let o=r.inclusive?"<=":"<",s=t(r.origin);if(s)return`Muito grande: esperado que ${r.origin??"valor"} tivesse ${o}${r.maximum.toString()} ${s.unit??"elementos"}`;return`Muito grande: esperado que ${r.origin??"valor"} fosse ${o}${r.maximum.toString()}`}case"too_small":{let o=r.inclusive?">=":">",s=t(r.origin);if(s)return`Muito pequeno: esperado que ${r.origin} tivesse ${o}${r.minimum.toString()} ${s.unit}`;return`Muito pequeno: esperado que ${r.origin} fosse ${o}${r.minimum.toString()}`}case"invalid_format":{let o=r;if(o.format==="starts_with")return`Texto inválido: deve começar com "${o.prefix}"`;if(o.format==="ends_with")return`Texto inválido: deve terminar com "${o.suffix}"`;if(o.format==="includes")return`Texto inválido: deve incluir "${o.includes}"`;if(o.format==="regex")return`Texto inválido: deve corresponder ao padrão ${o.pattern}`;return`${n[o.format]??r.format} inválido`}case"not_multiple_of":return`Número inválido: deve ser múltiplo de ${r.divisor}`;case"unrecognized_keys":return`Chave${r.keys.length>1?"s":""} desconhecida${r.keys.length>1?"s":""}: ${te(r.keys,", ")}`;case"invalid_key":return`Chave inválida em ${r.origin}`;case"invalid_union":return"Entrada inválida";case"invalid_element":return`Valor inválido em ${r.origin}`;default:return"Campo inválido"}}};var Ev=he(()=>{Le()});function wf(){return{localeError:dI()}}var dI=()=>{let e={string:{unit:"caractere",verb:"să aibă"},file:{unit:"octeți",verb:"să aibă"},array:{unit:"elemente",verb:"să aibă"},set:{unit:"elemente",verb:"să aibă"},map:{unit:"intrări",verb:"să aibă"}};function t(r){return e[r]??null}let n={regex:"intrare",email:"adresă de email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"dată și oră ISO",date:"dată ISO",time:"oră ISO",duration:"durată ISO",ipv4:"adresă IPv4",ipv6:"adresă IPv6",mac:"adresă MAC",cidrv4:"interval IPv4",cidrv6:"interval IPv6",base64:"șir codat base64",base64url:"șir codat base64url",json_string:"șir JSON",e164:"număr E.164",jwt:"JWT",template_literal:"intrare"},i={nan:"NaN",string:"șir",number:"număr",boolean:"boolean",function:"funcție",array:"matrice",object:"obiect",undefined:"nedefinit",symbol:"simbol",bigint:"număr mare",void:"void",never:"never",map:"hartă",set:"set"};return(r)=>{switch(r.code){case"invalid_type":{let o=i[r.expected]??r.expected,s=Se(r.input),c=i[s]??s;return`Intrare invalidă: așteptat ${o}, primit ${c}`}case"invalid_value":if(r.values.length===1)return`Intrare invalidă: așteptat ${we(r.values[0])}`;return`Opțiune invalidă: așteptat una dintre ${te(r.values,"|")}`;case"too_big":{let o=r.inclusive?"<=":"<",s=t(r.origin);if(s)return`Prea mare: așteptat ca ${r.origin??"valoarea"} ${s.verb} ${o}${r.maximum.toString()} ${s.unit??"elemente"}`;return`Prea mare: așteptat ca ${r.origin??"valoarea"} să fie ${o}${r.maximum.toString()}`}case"too_small":{let o=r.inclusive?">=":">",s=t(r.origin);if(s)return`Prea mic: așteptat ca ${r.origin} ${s.verb} ${o}${r.minimum.toString()} ${s.unit}`;return`Prea mic: așteptat ca ${r.origin} să fie ${o}${r.minimum.toString()}`}case"invalid_format":{let o=r;if(o.format==="starts_with")return`Șir invalid: trebuie să înceapă cu "${o.prefix}"`;if(o.format==="ends_with")return`Șir invalid: trebuie să se termine cu "${o.suffix}"`;if(o.format==="includes")return`Șir invalid: trebuie să includă "${o.includes}"`;if(o.format==="regex")return`Șir invalid: trebuie să se potrivească cu modelul ${o.pattern}`;return`Format invalid: ${n[o.format]??r.format}`}case"not_multiple_of":return`Număr invalid: trebuie să fie multiplu de ${r.divisor}`;case"unrecognized_keys":return`Chei nerecunoscute: ${te(r.keys,", ")}`;case"invalid_key":return`Cheie invalidă în ${r.origin}`;case"invalid_union":return"Intrare invalidă";case"invalid_element":return`Valoare invalidă în ${r.origin}`;default:return"Intrare invalidă"}}};var xv=he(()=>{Le()});function kv(e,t,n,i){let r=Math.abs(e),o=r%10,s=r%100;if(s>=11&&s<=19)return i;if(o===1)return t;if(o>=2&&o<=4)return n;return i}function Sf(){return{localeError:fI()}}var fI=()=>{let e={string:{unit:{one:"символ",few:"символа",many:"символов"},verb:"иметь"},file:{unit:{one:"байт",few:"байта",many:"байт"},verb:"иметь"},array:{unit:{one:"элемент",few:"элемента",many:"элементов"},verb:"иметь"},set:{unit:{one:"элемент",few:"элемента",many:"элементов"},verb:"иметь"}};function t(r){return e[r]??null}let n={regex:"ввод",email:"email адрес",url:"URL",emoji:"эмодзи",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO дата и время",date:"ISO дата",time:"ISO время",duration:"ISO длительность",ipv4:"IPv4 адрес",ipv6:"IPv6 адрес",cidrv4:"IPv4 диапазон",cidrv6:"IPv6 диапазон",base64:"строка в формате base64",base64url:"строка в формате base64url",json_string:"JSON строка",e164:"номер E.164",jwt:"JWT",template_literal:"ввод"},i={nan:"NaN",number:"число",array:"массив"};return(r)=>{switch(r.code){case"invalid_type":{let o=i[r.expected]??r.expected,s=Se(r.input),c=i[s]??s;if(/^[A-Z]/.test(r.expected))return`Неверный ввод: ожидалось instanceof ${r.expected}, получено ${c}`;return`Неверный ввод: ожидалось ${o}, получено ${c}`}case"invalid_value":if(r.values.length===1)return`Неверный ввод: ожидалось ${we(r.values[0])}`;return`Неверный вариант: ожидалось одно из ${te(r.values,"|")}`;case"too_big":{let o=r.inclusive?"<=":"<",s=t(r.origin);if(s){let c=Number(r.maximum),d=kv(c,s.unit.one,s.unit.few,s.unit.many);return`Слишком большое значение: ожидалось, что ${r.origin??"значение"} будет иметь ${o}${r.maximum.toString()} ${d}`}return`Слишком большое значение: ожидалось, что ${r.origin??"значение"} будет ${o}${r.maximum.toString()}`}case"too_small":{let o=r.inclusive?">=":">",s=t(r.origin);if(s){let c=Number(r.minimum),d=kv(c,s.unit.one,s.unit.few,s.unit.many);return`Слишком маленькое значение: ожидалось, что ${r.origin} будет иметь ${o}${r.minimum.toString()} ${d}`}return`Слишком маленькое значение: ожидалось, что ${r.origin} будет ${o}${r.minimum.toString()}`}case"invalid_format":{let o=r;if(o.format==="starts_with")return`Неверная строка: должна начинаться с "${o.prefix}"`;if(o.format==="ends_with")return`Неверная строка: должна заканчиваться на "${o.suffix}"`;if(o.format==="includes")return`Неверная строка: должна содержать "${o.includes}"`;if(o.format==="regex")return`Неверная строка: должна соответствовать шаблону ${o.pattern}`;return`Неверный ${n[o.format]??r.format}`}case"not_multiple_of":return`Неверное число: должно быть кратным ${r.divisor}`;case"unrecognized_keys":return`Нераспознанн${r.keys.length>1?"ые":"ый"} ключ${r.keys.length>1?"и":""}: ${te(r.keys,", ")}`;case"invalid_key":return`Неверный ключ в ${r.origin}`;case"invalid_union":return"Неверные входные данные";case"invalid_element":return`Неверное значение в ${r.origin}`;default:return"Неверные входные данные"}}};var Tv=he(()=>{Le()});function Ef(){return{localeError:pI()}}var pI=()=>{let e={string:{unit:"znakov",verb:"imeti"},file:{unit:"bajtov",verb:"imeti"},array:{unit:"elementov",verb:"imeti"},set:{unit:"elementov",verb:"imeti"}};function t(r){return e[r]??null}let n={regex:"vnos",email:"e-poštni naslov",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datum in čas",date:"ISO datum",time:"ISO čas",duration:"ISO trajanje",ipv4:"IPv4 naslov",ipv6:"IPv6 naslov",cidrv4:"obseg IPv4",cidrv6:"obseg IPv6",base64:"base64 kodiran niz",base64url:"base64url kodiran niz",json_string:"JSON niz",e164:"E.164 številka",jwt:"JWT",template_literal:"vnos"},i={nan:"NaN",number:"število",array:"tabela"};return(r)=>{switch(r.code){case"invalid_type":{let o=i[r.expected]??r.expected,s=Se(r.input),c=i[s]??s;if(/^[A-Z]/.test(r.expected))return`Neveljaven vnos: pričakovano instanceof ${r.expected}, prejeto ${c}`;return`Neveljaven vnos: pričakovano ${o}, prejeto ${c}`}case"invalid_value":if(r.values.length===1)return`Neveljaven vnos: pričakovano ${we(r.values[0])}`;return`Neveljavna možnost: pričakovano eno izmed ${te(r.values,"|")}`;case"too_big":{let o=r.inclusive?"<=":"<",s=t(r.origin);if(s)return`Preveliko: pričakovano, da bo ${r.origin??"vrednost"} imelo ${o}${r.maximum.toString()} ${s.unit??"elementov"}`;return`Preveliko: pričakovano, da bo ${r.origin??"vrednost"} ${o}${r.maximum.toString()}`}case"too_small":{let o=r.inclusive?">=":">",s=t(r.origin);if(s)return`Premajhno: pričakovano, da bo ${r.origin} imelo ${o}${r.minimum.toString()} ${s.unit}`;return`Premajhno: pričakovano, da bo ${r.origin} ${o}${r.minimum.toString()}`}case"invalid_format":{let o=r;if(o.format==="starts_with")return`Neveljaven niz: mora se začeti z "${o.prefix}"`;if(o.format==="ends_with")return`Neveljaven niz: mora se končati z "${o.suffix}"`;if(o.format==="includes")return`Neveljaven niz: mora vsebovati "${o.includes}"`;if(o.format==="regex")return`Neveljaven niz: mora ustrezati vzorcu ${o.pattern}`;return`Neveljaven ${n[o.format]??r.format}`}case"not_multiple_of":return`Neveljavno število: mora biti večkratnik ${r.divisor}`;case"unrecognized_keys":return`Neprepoznan${r.keys.length>1?"i ključi":" ključ"}: ${te(r.keys,", ")}`;case"invalid_key":return`Neveljaven ključ v ${r.origin}`;case"invalid_union":return"Neveljaven vnos";case"invalid_element":return`Neveljavna vrednost v ${r.origin}`;default:return"Neveljaven vnos"}}};var $v=he(()=>{Le()});function xf(){return{localeError:gI()}}var gI=()=>{let e={string:{unit:"tecken",verb:"att ha"},file:{unit:"bytes",verb:"att ha"},array:{unit:"objekt",verb:"att innehålla"},set:{unit:"objekt",verb:"att innehålla"}};function t(r){return e[r]??null}let n={regex:"reguljärt uttryck",email:"e-postadress",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-datum och tid",date:"ISO-datum",time:"ISO-tid",duration:"ISO-varaktighet",ipv4:"IPv4-intervall",ipv6:"IPv6-intervall",cidrv4:"IPv4-spektrum",cidrv6:"IPv6-spektrum",base64:"base64-kodad sträng",base64url:"base64url-kodad sträng",json_string:"JSON-sträng",e164:"E.164-nummer",jwt:"JWT",template_literal:"mall-literal"},i={nan:"NaN",number:"antal",array:"lista"};return(r)=>{switch(r.code){case"invalid_type":{let o=i[r.expected]??r.expected,s=Se(r.input),c=i[s]??s;if(/^[A-Z]/.test(r.expected))return`Ogiltig inmatning: förväntat instanceof ${r.expected}, fick ${c}`;return`Ogiltig inmatning: förväntat ${o}, fick ${c}`}case"invalid_value":if(r.values.length===1)return`Ogiltig inmatning: förväntat ${we(r.values[0])}`;return`Ogiltigt val: förväntade en av ${te(r.values,"|")}`;case"too_big":{let o=r.inclusive?"<=":"<",s=t(r.origin);if(s)return`För stor(t): förväntade ${r.origin??"värdet"} att ha ${o}${r.maximum.toString()} ${s.unit??"element"}`;return`För stor(t): förväntat ${r.origin??"värdet"} att ha ${o}${r.maximum.toString()}`}case"too_small":{let o=r.inclusive?">=":">",s=t(r.origin);if(s)return`För lite(t): förväntade ${r.origin??"värdet"} att ha ${o}${r.minimum.toString()} ${s.unit}`;return`För lite(t): förväntade ${r.origin??"värdet"} att ha ${o}${r.minimum.toString()}`}case"invalid_format":{let o=r;if(o.format==="starts_with")return`Ogiltig sträng: måste börja med "${o.prefix}"`;if(o.format==="ends_with")return`Ogiltig sträng: måste sluta med "${o.suffix}"`;if(o.format==="includes")return`Ogiltig sträng: måste innehålla "${o.includes}"`;if(o.format==="regex")return`Ogiltig sträng: måste matcha mönstret "${o.pattern}"`;return`Ogiltig(t) ${n[o.format]??r.format}`}case"not_multiple_of":return`Ogiltigt tal: måste vara en multipel av ${r.divisor}`;case"unrecognized_keys":return`${r.keys.length>1?"Okända nycklar":"Okänd nyckel"}: ${te(r.keys,", ")}`;case"invalid_key":return`Ogiltig nyckel i ${r.origin??"värdet"}`;case"invalid_union":return"Ogiltig input";case"invalid_element":return`Ogiltigt värde i ${r.origin??"värdet"}`;default:return"Ogiltig input"}}};var Iv=he(()=>{Le()});function kf(){return{localeError:mI()}}var mI=()=>{let e={string:{unit:"எழுத்துக்கள்",verb:"கொண்டிருக்க வேண்டும்"},file:{unit:"பைட்டுகள்",verb:"கொண்டிருக்க வேண்டும்"},array:{unit:"உறுப்புகள்",verb:"கொண்டிருக்க வேண்டும்"},set:{unit:"உறுப்புகள்",verb:"கொண்டிருக்க வேண்டும்"}};function t(r){return e[r]??null}let n={regex:"உள்ளீடு",email:"மின்னஞ்சல் முகவரி",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO தேதி நேரம்",date:"ISO தேதி",time:"ISO நேரம்",duration:"ISO கால அளவு",ipv4:"IPv4 முகவரி",ipv6:"IPv6 முகவரி",cidrv4:"IPv4 வரம்பு",cidrv6:"IPv6 வரம்பு",base64:"base64-encoded சரம்",base64url:"base64url-encoded சரம்",json_string:"JSON சரம்",e164:"E.164 எண்",jwt:"JWT",template_literal:"input"},i={nan:"NaN",number:"எண்",array:"அணி",null:"வெறுமை"};return(r)=>{switch(r.code){case"invalid_type":{let o=i[r.expected]??r.expected,s=Se(r.input),c=i[s]??s;if(/^[A-Z]/.test(r.expected))return`தவறான உள்ளீடு: எதிர்பார்க்கப்பட்டது instanceof ${r.expected}, பெறப்பட்டது ${c}`;return`தவறான உள்ளீடு: எதிர்பார்க்கப்பட்டது ${o}, பெறப்பட்டது ${c}`}case"invalid_value":if(r.values.length===1)return`தவறான உள்ளீடு: எதிர்பார்க்கப்பட்டது ${we(r.values[0])}`;return`தவறான விருப்பம்: எதிர்பார்க்கப்பட்டது ${te(r.values,"|")} இல் ஒன்று`;case"too_big":{let o=r.inclusive?"<=":"<",s=t(r.origin);if(s)return`மிக பெரியது: எதிர்பார்க்கப்பட்டது ${r.origin??"மதிப்பு"} ${o}${r.maximum.toString()} ${s.unit??"உறுப்புகள்"} ஆக இருக்க வேண்டும்`;return`மிக பெரியது: எதிர்பார்க்கப்பட்டது ${r.origin??"மதிப்பு"} ${o}${r.maximum.toString()} ஆக இருக்க வேண்டும்`}case"too_small":{let o=r.inclusive?">=":">",s=t(r.origin);if(s)return`மிகச் சிறியது: எதிர்பார்க்கப்பட்டது ${r.origin} ${o}${r.minimum.toString()} ${s.unit} ஆக இருக்க வேண்டும்`;return`மிகச் சிறியது: எதிர்பார்க்கப்பட்டது ${r.origin} ${o}${r.minimum.toString()} ஆக இருக்க வேண்டும்`}case"invalid_format":{let o=r;if(o.format==="starts_with")return`தவறான சரம்: "${o.prefix}" இல் தொடங்க வேண்டும்`;if(o.format==="ends_with")return`தவறான சரம்: "${o.suffix}" இல் முடிவடைய வேண்டும்`;if(o.format==="includes")return`தவறான சரம்: "${o.includes}" ஐ உள்ளடக்க வேண்டும்`;if(o.format==="regex")return`தவறான சரம்: ${o.pattern} முறைபாட்டுடன் பொருந்த வேண்டும்`;return`தவறான ${n[o.format]??r.format}`}case"not_multiple_of":return`தவறான எண்: ${r.divisor} இன் பலமாக இருக்க வேண்டும்`;case"unrecognized_keys":return`அடையாளம் தெரியாத விசை${r.keys.length>1?"கள்":""}: ${te(r.keys,", ")}`;case"invalid_key":return`${r.origin} இல் தவறான விசை`;case"invalid_union":return"தவறான உள்ளீடு";case"invalid_element":return`${r.origin} இல் தவறான மதிப்பு`;default:return"தவறான உள்ளீடு"}}};var Dv=he(()=>{Le()});function Tf(){return{localeError:_I()}}var _I=()=>{let e={string:{unit:"ตัวอักษร",verb:"ควรมี"},file:{unit:"ไบต์",verb:"ควรมี"},array:{unit:"รายการ",verb:"ควรมี"},set:{unit:"รายการ",verb:"ควรมี"}};function t(r){return e[r]??null}let n={regex:"ข้อมูลที่ป้อน",email:"ที่อยู่อีเมล",url:"URL",emoji:"อิโมจิ",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"วันที่เวลาแบบ ISO",date:"วันที่แบบ ISO",time:"เวลาแบบ ISO",duration:"ช่วงเวลาแบบ ISO",ipv4:"ที่อยู่ IPv4",ipv6:"ที่อยู่ IPv6",cidrv4:"ช่วง IP แบบ IPv4",cidrv6:"ช่วง IP แบบ IPv6",base64:"ข้อความแบบ Base64",base64url:"ข้อความแบบ Base64 สำหรับ URL",json_string:"ข้อความแบบ JSON",e164:"เบอร์โทรศัพท์ระหว่างประเทศ (E.164)",jwt:"โทเคน JWT",template_literal:"ข้อมูลที่ป้อน"},i={nan:"NaN",number:"ตัวเลข",array:"อาร์เรย์ (Array)",null:"ไม่มีค่า (null)"};return(r)=>{switch(r.code){case"invalid_type":{let o=i[r.expected]??r.expected,s=Se(r.input),c=i[s]??s;if(/^[A-Z]/.test(r.expected))return`ประเภทข้อมูลไม่ถูกต้อง: ควรเป็น instanceof ${r.expected} แต่ได้รับ ${c}`;return`ประเภทข้อมูลไม่ถูกต้อง: ควรเป็น ${o} แต่ได้รับ ${c}`}case"invalid_value":if(r.values.length===1)return`ค่าไม่ถูกต้อง: ควรเป็น ${we(r.values[0])}`;return`ตัวเลือกไม่ถูกต้อง: ควรเป็นหนึ่งใน ${te(r.values,"|")}`;case"too_big":{let o=r.inclusive?"ไม่เกิน":"น้อยกว่า",s=t(r.origin);if(s)return`เกินกำหนด: ${r.origin??"ค่า"} ควรมี${o} ${r.maximum.toString()} ${s.unit??"รายการ"}`;return`เกินกำหนด: ${r.origin??"ค่า"} ควรมี${o} ${r.maximum.toString()}`}case"too_small":{let o=r.inclusive?"อย่างน้อย":"มากกว่า",s=t(r.origin);if(s)return`น้อยกว่ากำหนด: ${r.origin} ควรมี${o} ${r.minimum.toString()} ${s.unit}`;return`น้อยกว่ากำหนด: ${r.origin} ควรมี${o} ${r.minimum.toString()}`}case"invalid_format":{let o=r;if(o.format==="starts_with")return`รูปแบบไม่ถูกต้อง: ข้อความต้องขึ้นต้นด้วย "${o.prefix}"`;if(o.format==="ends_with")return`รูปแบบไม่ถูกต้อง: ข้อความต้องลงท้ายด้วย "${o.suffix}"`;if(o.format==="includes")return`รูปแบบไม่ถูกต้อง: ข้อความต้องมี "${o.includes}" อยู่ในข้อความ`;if(o.format==="regex")return`รูปแบบไม่ถูกต้อง: ต้องตรงกับรูปแบบที่กำหนด ${o.pattern}`;return`รูปแบบไม่ถูกต้อง: ${n[o.format]??r.format}`}case"not_multiple_of":return`ตัวเลขไม่ถูกต้อง: ต้องเป็นจำนวนที่หารด้วย ${r.divisor} ได้ลงตัว`;case"unrecognized_keys":return`พบคีย์ที่ไม่รู้จัก: ${te(r.keys,", ")}`;case"invalid_key":return`คีย์ไม่ถูกต้องใน ${r.origin}`;case"invalid_union":return"ข้อมูลไม่ถูกต้อง: ไม่ตรงกับรูปแบบยูเนียนที่กำหนดไว้";case"invalid_element":return`ข้อมูลไม่ถูกต้องใน ${r.origin}`;default:return"ข้อมูลไม่ถูกต้อง"}}};var Rv=he(()=>{Le()});function $f(){return{localeError:hI()}}var hI=()=>{let e={string:{unit:"karakter",verb:"olmalı"},file:{unit:"bayt",verb:"olmalı"},array:{unit:"öğe",verb:"olmalı"},set:{unit:"öğe",verb:"olmalı"}};function t(r){return e[r]??null}let n={regex:"girdi",email:"e-posta adresi",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO tarih ve saat",date:"ISO tarih",time:"ISO saat",duration:"ISO süre",ipv4:"IPv4 adresi",ipv6:"IPv6 adresi",cidrv4:"IPv4 aralığı",cidrv6:"IPv6 aralığı",base64:"base64 ile şifrelenmiş metin",base64url:"base64url ile şifrelenmiş metin",json_string:"JSON dizesi",e164:"E.164 sayısı",jwt:"JWT",template_literal:"Şablon dizesi"},i={nan:"NaN"};return(r)=>{switch(r.code){case"invalid_type":{let o=i[r.expected]??r.expected,s=Se(r.input),c=i[s]??s;if(/^[A-Z]/.test(r.expected))return`Geçersiz değer: beklenen instanceof ${r.expected}, alınan ${c}`;return`Geçersiz değer: beklenen ${o}, alınan ${c}`}case"invalid_value":if(r.values.length===1)return`Geçersiz değer: beklenen ${we(r.values[0])}`;return`Geçersiz seçenek: aşağıdakilerden biri olmalı: ${te(r.values,"|")}`;case"too_big":{let o=r.inclusive?"<=":"<",s=t(r.origin);if(s)return`Çok büyük: beklenen ${r.origin??"değer"} ${o}${r.maximum.toString()} ${s.unit??"öğe"}`;return`Çok büyük: beklenen ${r.origin??"değer"} ${o}${r.maximum.toString()}`}case"too_small":{let o=r.inclusive?">=":">",s=t(r.origin);if(s)return`Çok küçük: beklenen ${r.origin} ${o}${r.minimum.toString()} ${s.unit}`;return`Çok küçük: beklenen ${r.origin} ${o}${r.minimum.toString()}`}case"invalid_format":{let o=r;if(o.format==="starts_with")return`Geçersiz metin: "${o.prefix}" ile başlamalı`;if(o.format==="ends_with")return`Geçersiz metin: "${o.suffix}" ile bitmeli`;if(o.format==="includes")return`Geçersiz metin: "${o.includes}" içermeli`;if(o.format==="regex")return`Geçersiz metin: ${o.pattern} desenine uymalı`;return`Geçersiz ${n[o.format]??r.format}`}case"not_multiple_of":return`Geçersiz sayı: ${r.divisor} ile tam bölünebilmeli`;case"unrecognized_keys":return`Tanınmayan anahtar${r.keys.length>1?"lar":""}: ${te(r.keys,", ")}`;case"invalid_key":return`${r.origin} içinde geçersiz anahtar`;case"invalid_union":return"Geçersiz değer";case"invalid_element":return`${r.origin} içinde geçersiz değer`;default:return"Geçersiz değer"}}};var Av=he(()=>{Le()});function mo(){return{localeError:yI()}}var yI=()=>{let e={string:{unit:"символів",verb:"матиме"},file:{unit:"байтів",verb:"матиме"},array:{unit:"елементів",verb:"матиме"},set:{unit:"елементів",verb:"матиме"}};function t(r){return e[r]??null}let n={regex:"вхідні дані",email:"адреса електронної пошти",url:"URL",emoji:"емодзі",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"дата та час ISO",date:"дата ISO",time:"час ISO",duration:"тривалість ISO",ipv4:"адреса IPv4",ipv6:"адреса IPv6",cidrv4:"діапазон IPv4",cidrv6:"діапазон IPv6",base64:"рядок у кодуванні base64",base64url:"рядок у кодуванні base64url",json_string:"рядок JSON",e164:"номер E.164",jwt:"JWT",template_literal:"вхідні дані"},i={nan:"NaN",number:"число",array:"масив"};return(r)=>{switch(r.code){case"invalid_type":{let o=i[r.expected]??r.expected,s=Se(r.input),c=i[s]??s;if(/^[A-Z]/.test(r.expected))return`Неправильні вхідні дані: очікується instanceof ${r.expected}, отримано ${c}`;return`Неправильні вхідні дані: очікується ${o}, отримано ${c}`}case"invalid_value":if(r.values.length===1)return`Неправильні вхідні дані: очікується ${we(r.values[0])}`;return`Неправильна опція: очікується одне з ${te(r.values,"|")}`;case"too_big":{let o=r.inclusive?"<=":"<",s=t(r.origin);if(s)return`Занадто велике: очікується, що ${r.origin??"значення"} ${s.verb} ${o}${r.maximum.toString()} ${s.unit??"елементів"}`;return`Занадто велике: очікується, що ${r.origin??"значення"} буде ${o}${r.maximum.toString()}`}case"too_small":{let o=r.inclusive?">=":">",s=t(r.origin);if(s)return`Занадто мале: очікується, що ${r.origin} ${s.verb} ${o}${r.minimum.toString()} ${s.unit}`;return`Занадто мале: очікується, що ${r.origin} буде ${o}${r.minimum.toString()}`}case"invalid_format":{let o=r;if(o.format==="starts_with")return`Неправильний рядок: повинен починатися з "${o.prefix}"`;if(o.format==="ends_with")return`Неправильний рядок: повинен закінчуватися на "${o.suffix}"`;if(o.format==="includes")return`Неправильний рядок: повинен містити "${o.includes}"`;if(o.format==="regex")return`Неправильний рядок: повинен відповідати шаблону ${o.pattern}`;return`Неправильний ${n[o.format]??r.format}`}case"not_multiple_of":return`Неправильне число: повинно бути кратним ${r.divisor}`;case"unrecognized_keys":return`Нерозпізнаний ключ${r.keys.length>1?"і":""}: ${te(r.keys,", ")}`;case"invalid_key":return`Неправильний ключ у ${r.origin}`;case"invalid_union":return"Неправильні вхідні дані";case"invalid_element":return`Неправильне значення у ${r.origin}`;default:return"Неправильні вхідні дані"}}};var If=he(()=>{Le()});function Df(){return mo()}var Ov=he(()=>{If()});function Rf(){return{localeError:vI()}}var vI=()=>{let e={string:{unit:"حروف",verb:"ہونا"},file:{unit:"بائٹس",verb:"ہونا"},array:{unit:"آئٹمز",verb:"ہونا"},set:{unit:"آئٹمز",verb:"ہونا"}};function t(r){return e[r]??null}let n={regex:"ان پٹ",email:"ای میل ایڈریس",url:"یو آر ایل",emoji:"ایموجی",uuid:"یو یو آئی ڈی",uuidv4:"یو یو آئی ڈی وی 4",uuidv6:"یو یو آئی ڈی وی 6",nanoid:"نینو آئی ڈی",guid:"جی یو آئی ڈی",cuid:"سی یو آئی ڈی",cuid2:"سی یو آئی ڈی 2",ulid:"یو ایل آئی ڈی",xid:"ایکس آئی ڈی",ksuid:"کے ایس یو آئی ڈی",datetime:"آئی ایس او ڈیٹ ٹائم",date:"آئی ایس او تاریخ",time:"آئی ایس او وقت",duration:"آئی ایس او مدت",ipv4:"آئی پی وی 4 ایڈریس",ipv6:"آئی پی وی 6 ایڈریس",cidrv4:"آئی پی وی 4 رینج",cidrv6:"آئی پی وی 6 رینج",base64:"بیس 64 ان کوڈڈ سٹرنگ",base64url:"بیس 64 یو آر ایل ان کوڈڈ سٹرنگ",json_string:"جے ایس او این سٹرنگ",e164:"ای 164 نمبر",jwt:"جے ڈبلیو ٹی",template_literal:"ان پٹ"},i={nan:"NaN",number:"نمبر",array:"آرے",null:"نل"};return(r)=>{switch(r.code){case"invalid_type":{let o=i[r.expected]??r.expected,s=Se(r.input),c=i[s]??s;if(/^[A-Z]/.test(r.expected))return`غلط ان پٹ: instanceof ${r.expected} متوقع تھا، ${c} موصول ہوا`;return`غلط ان پٹ: ${o} متوقع تھا، ${c} موصول ہوا`}case"invalid_value":if(r.values.length===1)return`غلط ان پٹ: ${we(r.values[0])} متوقع تھا`;return`غلط آپشن: ${te(r.values,"|")} میں سے ایک متوقع تھا`;case"too_big":{let o=r.inclusive?"<=":"<",s=t(r.origin);if(s)return`بہت بڑا: ${r.origin??"ویلیو"} کے ${o}${r.maximum.toString()} ${s.unit??"عناصر"} ہونے متوقع تھے`;return`بہت بڑا: ${r.origin??"ویلیو"} کا ${o}${r.maximum.toString()} ہونا متوقع تھا`}case"too_small":{let o=r.inclusive?">=":">",s=t(r.origin);if(s)return`بہت چھوٹا: ${r.origin} کے ${o}${r.minimum.toString()} ${s.unit} ہونے متوقع تھے`;return`بہت چھوٹا: ${r.origin} کا ${o}${r.minimum.toString()} ہونا متوقع تھا`}case"invalid_format":{let o=r;if(o.format==="starts_with")return`غلط سٹرنگ: "${o.prefix}" سے شروع ہونا چاہیے`;if(o.format==="ends_with")return`غلط سٹرنگ: "${o.suffix}" پر ختم ہونا چاہیے`;if(o.format==="includes")return`غلط سٹرنگ: "${o.includes}" شامل ہونا چاہیے`;if(o.format==="regex")return`غلط سٹرنگ: پیٹرن ${o.pattern} سے میچ ہونا چاہیے`;return`غلط ${n[o.format]??r.format}`}case"not_multiple_of":return`غلط نمبر: ${r.divisor} کا مضاعف ہونا چاہیے`;case"unrecognized_keys":return`غیر تسلیم شدہ کی${r.keys.length>1?"ز":""}: ${te(r.keys,"، ")}`;case"invalid_key":return`${r.origin} میں غلط کی`;case"invalid_union":return"غلط ان پٹ";case"invalid_element":return`${r.origin} میں غلط ویلیو`;default:return"غلط ان پٹ"}}};var Pv=he(()=>{Le()});function Af(){return{localeError:bI()}}var bI=()=>{let e={string:{unit:"belgi",verb:"bo‘lishi kerak"},file:{unit:"bayt",verb:"bo‘lishi kerak"},array:{unit:"element",verb:"bo‘lishi kerak"},set:{unit:"element",verb:"bo‘lishi kerak"},map:{unit:"yozuv",verb:"bo‘lishi kerak"}};function t(r){return e[r]??null}let n={regex:"kirish",email:"elektron pochta manzili",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO sana va vaqti",date:"ISO sana",time:"ISO vaqt",duration:"ISO davomiylik",ipv4:"IPv4 manzil",ipv6:"IPv6 manzil",mac:"MAC manzil",cidrv4:"IPv4 diapazon",cidrv6:"IPv6 diapazon",base64:"base64 kodlangan satr",base64url:"base64url kodlangan satr",json_string:"JSON satr",e164:"E.164 raqam",jwt:"JWT",template_literal:"kirish"},i={nan:"NaN",number:"raqam",array:"massiv"};return(r)=>{switch(r.code){case"invalid_type":{let o=i[r.expected]??r.expected,s=Se(r.input),c=i[s]??s;if(/^[A-Z]/.test(r.expected))return`Noto‘g‘ri kirish: kutilgan instanceof ${r.expected}, qabul qilingan ${c}`;return`Noto‘g‘ri kirish: kutilgan ${o}, qabul qilingan ${c}`}case"invalid_value":if(r.values.length===1)return`Noto‘g‘ri kirish: kutilgan ${we(r.values[0])}`;return`Noto‘g‘ri variant: quyidagilardan biri kutilgan ${te(r.values,"|")}`;case"too_big":{let o=r.inclusive?"<=":"<",s=t(r.origin);if(s)return`Juda katta: kutilgan ${r.origin??"qiymat"} ${o}${r.maximum.toString()} ${s.unit} ${s.verb}`;return`Juda katta: kutilgan ${r.origin??"qiymat"} ${o}${r.maximum.toString()}`}case"too_small":{let o=r.inclusive?">=":">",s=t(r.origin);if(s)return`Juda kichik: kutilgan ${r.origin} ${o}${r.minimum.toString()} ${s.unit} ${s.verb}`;return`Juda kichik: kutilgan ${r.origin} ${o}${r.minimum.toString()}`}case"invalid_format":{let o=r;if(o.format==="starts_with")return`Noto‘g‘ri satr: "${o.prefix}" bilan boshlanishi kerak`;if(o.format==="ends_with")return`Noto‘g‘ri satr: "${o.suffix}" bilan tugashi kerak`;if(o.format==="includes")return`Noto‘g‘ri satr: "${o.includes}" ni o‘z ichiga olishi kerak`;if(o.format==="regex")return`Noto‘g‘ri satr: ${o.pattern} shabloniga mos kelishi kerak`;return`Noto‘g‘ri ${n[o.format]??r.format}`}case"not_multiple_of":return`Noto‘g‘ri raqam: ${r.divisor} ning karralisi bo‘lishi kerak`;case"unrecognized_keys":return`Noma’lum kalit${r.keys.length>1?"lar":""}: ${te(r.keys,", ")}`;case"invalid_key":return`${r.origin} dagi kalit noto‘g‘ri`;case"invalid_union":return"Noto‘g‘ri kirish";case"invalid_element":return`${r.origin} da noto‘g‘ri qiymat`;default:return"Noto‘g‘ri kirish"}}};var Nv=he(()=>{Le()});function Of(){return{localeError:wI()}}var wI=()=>{let e={string:{unit:"ký tự",verb:"có"},file:{unit:"byte",verb:"có"},array:{unit:"phần tử",verb:"có"},set:{unit:"phần tử",verb:"có"}};function t(r){return e[r]??null}let n={regex:"đầu vào",email:"địa chỉ email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ngày giờ ISO",date:"ngày ISO",time:"giờ ISO",duration:"khoảng thời gian ISO",ipv4:"địa chỉ IPv4",ipv6:"địa chỉ IPv6",cidrv4:"dải IPv4",cidrv6:"dải IPv6",base64:"chuỗi mã hóa base64",base64url:"chuỗi mã hóa base64url",json_string:"chuỗi JSON",e164:"số E.164",jwt:"JWT",template_literal:"đầu vào"},i={nan:"NaN",number:"số",array:"mảng"};return(r)=>{switch(r.code){case"invalid_type":{let o=i[r.expected]??r.expected,s=Se(r.input),c=i[s]??s;if(/^[A-Z]/.test(r.expected))return`Đầu vào không hợp lệ: mong đợi instanceof ${r.expected}, nhận được ${c}`;return`Đầu vào không hợp lệ: mong đợi ${o}, nhận được ${c}`}case"invalid_value":if(r.values.length===1)return`Đầu vào không hợp lệ: mong đợi ${we(r.values[0])}`;return`Tùy chọn không hợp lệ: mong đợi một trong các giá trị ${te(r.values,"|")}`;case"too_big":{let o=r.inclusive?"<=":"<",s=t(r.origin);if(s)return`Quá lớn: mong đợi ${r.origin??"giá trị"} ${s.verb} ${o}${r.maximum.toString()} ${s.unit??"phần tử"}`;return`Quá lớn: mong đợi ${r.origin??"giá trị"} ${o}${r.maximum.toString()}`}case"too_small":{let o=r.inclusive?">=":">",s=t(r.origin);if(s)return`Quá nhỏ: mong đợi ${r.origin} ${s.verb} ${o}${r.minimum.toString()} ${s.unit}`;return`Quá nhỏ: mong đợi ${r.origin} ${o}${r.minimum.toString()}`}case"invalid_format":{let o=r;if(o.format==="starts_with")return`Chuỗi không hợp lệ: phải bắt đầu bằng "${o.prefix}"`;if(o.format==="ends_with")return`Chuỗi không hợp lệ: phải kết thúc bằng "${o.suffix}"`;if(o.format==="includes")return`Chuỗi không hợp lệ: phải bao gồm "${o.includes}"`;if(o.format==="regex")return`Chuỗi không hợp lệ: phải khớp với mẫu ${o.pattern}`;return`${n[o.format]??r.format} không hợp lệ`}case"not_multiple_of":return`Số không hợp lệ: phải là bội số của ${r.divisor}`;case"unrecognized_keys":return`Khóa không được nhận dạng: ${te(r.keys,", ")}`;case"invalid_key":return`Khóa không hợp lệ trong ${r.origin}`;case"invalid_union":return"Đầu vào không hợp lệ";case"invalid_element":return`Giá trị không hợp lệ trong ${r.origin}`;default:return"Đầu vào không hợp lệ"}}};var Cv=he(()=>{Le()});function Pf(){return{localeError:SI()}}var SI=()=>{let e={string:{unit:"字符",verb:"包含"},file:{unit:"字节",verb:"包含"},array:{unit:"项",verb:"包含"},set:{unit:"项",verb:"包含"}};function t(r){return e[r]??null}let n={regex:"输入",email:"电子邮件",url:"URL",emoji:"表情符号",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO日期时间",date:"ISO日期",time:"ISO时间",duration:"ISO时长",ipv4:"IPv4地址",ipv6:"IPv6地址",cidrv4:"IPv4网段",cidrv6:"IPv6网段",base64:"base64编码字符串",base64url:"base64url编码字符串",json_string:"JSON字符串",e164:"E.164号码",jwt:"JWT",template_literal:"输入"},i={nan:"NaN",number:"数字",array:"数组",null:"空值(null)"};return(r)=>{switch(r.code){case"invalid_type":{let o=i[r.expected]??r.expected,s=Se(r.input),c=i[s]??s;if(/^[A-Z]/.test(r.expected))return`无效输入:期望 instanceof ${r.expected},实际接收 ${c}`;return`无效输入:期望 ${o},实际接收 ${c}`}case"invalid_value":if(r.values.length===1)return`无效输入:期望 ${we(r.values[0])}`;return`无效选项:期望以下之一 ${te(r.values,"|")}`;case"too_big":{let o=r.inclusive?"<=":"<",s=t(r.origin);if(s)return`数值过大:期望 ${r.origin??"值"} ${o}${r.maximum.toString()} ${s.unit??"个元素"}`;return`数值过大:期望 ${r.origin??"值"} ${o}${r.maximum.toString()}`}case"too_small":{let o=r.inclusive?">=":">",s=t(r.origin);if(s)return`数值过小:期望 ${r.origin} ${o}${r.minimum.toString()} ${s.unit}`;return`数值过小:期望 ${r.origin} ${o}${r.minimum.toString()}`}case"invalid_format":{let o=r;if(o.format==="starts_with")return`无效字符串:必须以 "${o.prefix}" 开头`;if(o.format==="ends_with")return`无效字符串:必须以 "${o.suffix}" 结尾`;if(o.format==="includes")return`无效字符串:必须包含 "${o.includes}"`;if(o.format==="regex")return`无效字符串:必须满足正则表达式 ${o.pattern}`;return`无效${n[o.format]??r.format}`}case"not_multiple_of":return`无效数字:必须是 ${r.divisor} 的倍数`;case"unrecognized_keys":return`出现未知的键(key): ${te(r.keys,", ")}`;case"invalid_key":return`${r.origin} 中的键(key)无效`;case"invalid_union":return"无效输入";case"invalid_element":return`${r.origin} 中包含无效值(value)`;default:return"无效输入"}}};var qv=he(()=>{Le()});function Nf(){return{localeError:EI()}}var EI=()=>{let e={string:{unit:"字元",verb:"擁有"},file:{unit:"位元組",verb:"擁有"},array:{unit:"項目",verb:"擁有"},set:{unit:"項目",verb:"擁有"}};function t(r){return e[r]??null}let n={regex:"輸入",email:"郵件地址",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO 日期時間",date:"ISO 日期",time:"ISO 時間",duration:"ISO 期間",ipv4:"IPv4 位址",ipv6:"IPv6 位址",cidrv4:"IPv4 範圍",cidrv6:"IPv6 範圍",base64:"base64 編碼字串",base64url:"base64url 編碼字串",json_string:"JSON 字串",e164:"E.164 數值",jwt:"JWT",template_literal:"輸入"},i={nan:"NaN"};return(r)=>{switch(r.code){case"invalid_type":{let o=i[r.expected]??r.expected,s=Se(r.input),c=i[s]??s;if(/^[A-Z]/.test(r.expected))return`無效的輸入值:預期為 instanceof ${r.expected},但收到 ${c}`;return`無效的輸入值:預期為 ${o},但收到 ${c}`}case"invalid_value":if(r.values.length===1)return`無效的輸入值:預期為 ${we(r.values[0])}`;return`無效的選項:預期為以下其中之一 ${te(r.values,"|")}`;case"too_big":{let o=r.inclusive?"<=":"<",s=t(r.origin);if(s)return`數值過大:預期 ${r.origin??"值"} 應為 ${o}${r.maximum.toString()} ${s.unit??"個元素"}`;return`數值過大:預期 ${r.origin??"值"} 應為 ${o}${r.maximum.toString()}`}case"too_small":{let o=r.inclusive?">=":">",s=t(r.origin);if(s)return`數值過小:預期 ${r.origin} 應為 ${o}${r.minimum.toString()} ${s.unit}`;return`數值過小:預期 ${r.origin} 應為 ${o}${r.minimum.toString()}`}case"invalid_format":{let o=r;if(o.format==="starts_with")return`無效的字串:必須以 "${o.prefix}" 開頭`;if(o.format==="ends_with")return`無效的字串:必須以 "${o.suffix}" 結尾`;if(o.format==="includes")return`無效的字串:必須包含 "${o.includes}"`;if(o.format==="regex")return`無效的字串:必須符合格式 ${o.pattern}`;return`無效的 ${n[o.format]??r.format}`}case"not_multiple_of":return`無效的數字:必須為 ${r.divisor} 的倍數`;case"unrecognized_keys":return`無法識別的鍵值${r.keys.length>1?"們":""}:${te(r.keys,"、")}`;case"invalid_key":return`${r.origin} 中有無效的鍵值`;case"invalid_union":return"無效的輸入值";case"invalid_element":return`${r.origin} 中有無效的值`;default:return"無效的輸入值"}}};var Lv=he(()=>{Le()});function Cf(){return{localeError:xI()}}var xI=()=>{let e={string:{unit:"àmi",verb:"ní"},file:{unit:"bytes",verb:"ní"},array:{unit:"nkan",verb:"ní"},set:{unit:"nkan",verb:"ní"}};function t(r){return e[r]??null}let n={regex:"ẹ̀rọ ìbáwọlé",email:"àdírẹ́sì ìmẹ́lì",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"àkókò ISO",date:"ọjọ́ ISO",time:"àkókò ISO",duration:"àkókò tó pé ISO",ipv4:"àdírẹ́sì IPv4",ipv6:"àdírẹ́sì IPv6",cidrv4:"àgbègbè IPv4",cidrv6:"àgbègbè IPv6",base64:"ọ̀rọ̀ tí a kọ́ ní base64",base64url:"ọ̀rọ̀ base64url",json_string:"ọ̀rọ̀ JSON",e164:"nọ́mbà E.164",jwt:"JWT",template_literal:"ẹ̀rọ ìbáwọlé"},i={nan:"NaN",number:"nọ́mbà",array:"akopọ"};return(r)=>{switch(r.code){case"invalid_type":{let o=i[r.expected]??r.expected,s=Se(r.input),c=i[s]??s;if(/^[A-Z]/.test(r.expected))return`Ìbáwọlé aṣìṣe: a ní láti fi instanceof ${r.expected}, àmọ̀ a rí ${c}`;return`Ìbáwọlé aṣìṣe: a ní láti fi ${o}, àmọ̀ a rí ${c}`}case"invalid_value":if(r.values.length===1)return`Ìbáwọlé aṣìṣe: a ní láti fi ${we(r.values[0])}`;return`Àṣàyàn aṣìṣe: yan ọ̀kan lára ${te(r.values,"|")}`;case"too_big":{let o=r.inclusive?"<=":"<",s=t(r.origin);if(s)return`Tó pọ̀ jù: a ní láti jẹ́ pé ${r.origin??"iye"} ${s.verb} ${o}${r.maximum} ${s.unit}`;return`Tó pọ̀ jù: a ní láti jẹ́ ${o}${r.maximum}`}case"too_small":{let o=r.inclusive?">=":">",s=t(r.origin);if(s)return`Kéré ju: a ní láti jẹ́ pé ${r.origin} ${s.verb} ${o}${r.minimum} ${s.unit}`;return`Kéré ju: a ní láti jẹ́ ${o}${r.minimum}`}case"invalid_format":{let o=r;if(o.format==="starts_with")return`Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ bẹ̀rẹ̀ pẹ̀lú "${o.prefix}"`;if(o.format==="ends_with")return`Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ parí pẹ̀lú "${o.suffix}"`;if(o.format==="includes")return`Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ ní "${o.includes}"`;if(o.format==="regex")return`Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ bá àpẹẹrẹ mu ${o.pattern}`;return`Aṣìṣe: ${n[o.format]??r.format}`}case"not_multiple_of":return`Nọ́mbà aṣìṣe: gbọ́dọ̀ jẹ́ èyà pípín ti ${r.divisor}`;case"unrecognized_keys":return`Bọtìnì àìmọ̀: ${te(r.keys,", ")}`;case"invalid_key":return`Bọtìnì aṣìṣe nínú ${r.origin}`;case"invalid_union":return"Ìbáwọlé aṣìṣe";case"invalid_element":return`Iye aṣìṣe nínú ${r.origin}`;default:return"Ìbáwọlé aṣìṣe"}}};var zv=he(()=>{Le()});var _o={};ur(_o,{ar:()=>Ld,az:()=>zd,be:()=>Ud,bg:()=>jd,ca:()=>Fd,cs:()=>Md,da:()=>Bd,de:()=>Wd,el:()=>Hd,en:()=>fo,eo:()=>Vd,es:()=>Gd,fa:()=>Kd,fi:()=>Jd,fr:()=>Xd,frCA:()=>Qd,he:()=>Yd,hr:()=>ef,hu:()=>tf,hy:()=>rf,id:()=>nf,is:()=>of,it:()=>sf,ja:()=>af,ka:()=>cf,kh:()=>uf,km:()=>po,ko:()=>df,lt:()=>ff,mk:()=>pf,ms:()=>gf,nl:()=>mf,no:()=>_f,ota:()=>hf,pl:()=>vf,ps:()=>yf,pt:()=>bf,ro:()=>wf,ru:()=>Sf,sl:()=>Ef,sv:()=>xf,ta:()=>kf,th:()=>Tf,tr:()=>$f,ua:()=>Df,uk:()=>mo,ur:()=>Rf,uz:()=>Af,vi:()=>Of,yo:()=>Cf,zhCN:()=>Pf,zhTW:()=>Nf});var qf=he(()=>{jy();Fy();By();Wy();Hy();Zy();Vy();Gy();Ky();Zd();Jy();Xy();Qy();Yy();ev();tv();rv();nv();iv();sv();av();cv();lv();uv();dv();fv();lf();pv();mv();_v();hv();yv();vv();bv();wv();Sv();Ev();xv();Tv();$v();Iv();Dv();Rv();Av();Ov();If();Pv();Nv();Cv();qv();Lv();zv()});class Uf{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...t){let n=t[0];if(this._map.set(e,n),n&&typeof n==="object"&&"id"in n)this._idmap.set(n.id,e);return this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){let t=this._map.get(e);if(t&&typeof t==="object"&&"id"in t)this._idmap.delete(t.id);return this._map.delete(e),this}get(e){let t=e._zod.parent;if(t){let n={...this.get(t)??{}};delete n.id;let i={...n,...this._map.get(e)};return Object.keys(i).length?i:void 0}return this._map.get(e)}has(e){return this._map.has(e)}}function Zs(){return new Uf}var Uv,Lf,zf,Rt;var ho=he(()=>{Lf=Symbol("ZodOutput"),zf=Symbol("ZodInput");(Uv=globalThis).__zod_globalRegistry??(Uv.__zod_globalRegistry=Zs());Rt=globalThis.__zod_globalRegistry});function jf(e,t){return new e({type:"string",...Ie(t)})}function Ff(e,t){return new e({type:"string",coerce:!0,...Ie(t)})}function Vs(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...Ie(t)})}function yo(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...Ie(t)})}function Gs(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...Ie(t)})}function Ks(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...Ie(t)})}function Js(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...Ie(t)})}function Xs(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...Ie(t)})}function vo(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...Ie(t)})}function Qs(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...Ie(t)})}function Ys(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...Ie(t)})}function ea(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...Ie(t)})}function ta(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...Ie(t)})}function ra(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...Ie(t)})}function na(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...Ie(t)})}function ia(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...Ie(t)})}function oa(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...Ie(t)})}function sa(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...Ie(t)})}function Mf(e,t){return new e({type:"string",format:"mac",check:"string_format",abort:!1,...Ie(t)})}function aa(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...Ie(t)})}function ca(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...Ie(t)})}function la(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...Ie(t)})}function ua(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...Ie(t)})}function da(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...Ie(t)})}function fa(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...Ie(t)})}function Wf(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...Ie(t)})}function Hf(e,t){return new e({type:"string",format:"date",check:"string_format",...Ie(t)})}function Zf(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...Ie(t)})}function Vf(e,t){return new e({type:"string",format:"duration",check:"string_format",...Ie(t)})}function Gf(e,t){return new e({type:"number",checks:[],...Ie(t)})}function Kf(e,t){return new e({type:"number",coerce:!0,checks:[],...Ie(t)})}function Jf(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...Ie(t)})}function Xf(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"float32",...Ie(t)})}function Qf(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"float64",...Ie(t)})}function Yf(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"int32",...Ie(t)})}function ep(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"uint32",...Ie(t)})}function tp(e,t){return new e({type:"boolean",...Ie(t)})}function rp(e,t){return new e({type:"boolean",coerce:!0,...Ie(t)})}function np(e,t){return new e({type:"bigint",...Ie(t)})}function ip(e,t){return new e({type:"bigint",coerce:!0,...Ie(t)})}function op(e,t){return new e({type:"bigint",check:"bigint_format",abort:!1,format:"int64",...Ie(t)})}function sp(e,t){return new e({type:"bigint",check:"bigint_format",abort:!1,format:"uint64",...Ie(t)})}function ap(e,t){return new e({type:"symbol",...Ie(t)})}function cp(e,t){return new e({type:"undefined",...Ie(t)})}function lp(e,t){return new e({type:"null",...Ie(t)})}function up(e){return new e({type:"any"})}function dp(e){return new e({type:"unknown"})}function fp(e,t){return new e({type:"never",...Ie(t)})}function pp(e,t){return new e({type:"void",...Ie(t)})}function gp(e,t){return new e({type:"date",...Ie(t)})}function mp(e,t){return new e({type:"date",coerce:!0,...Ie(t)})}function _p(e,t){return new e({type:"nan",...Ie(t)})}function Tr(e,t){return new Ps({check:"less_than",...Ie(t),value:e,inclusive:!1})}function tr(e,t){return new Ps({check:"less_than",...Ie(t),value:e,inclusive:!0})}function $r(e,t){return new Ns({check:"greater_than",...Ie(t),value:e,inclusive:!1})}function Mt(e,t){return new Ns({check:"greater_than",...Ie(t),value:e,inclusive:!0})}function pa(e){return $r(0,e)}function ga(e){return Tr(0,e)}function ma(e){return tr(0,e)}function _a(e){return Mt(0,e)}function Jr(e,t){return new su({check:"multiple_of",...Ie(t),value:e})}function Xr(e,t){return new lu({check:"max_size",...Ie(t),maximum:e})}function Ir(e,t){return new uu({check:"min_size",...Ie(t),minimum:e})}function wn(e,t){return new du({check:"size_equals",...Ie(t),size:e})}function Sn(e,t){return new fu({check:"max_length",...Ie(t),maximum:e})}function qr(e,t){return new pu({check:"min_length",...Ie(t),minimum:e})}function En(e,t){return new gu({check:"length_equals",...Ie(t),length:e})}function ai(e,t){return new mu({check:"string_format",format:"regex",...Ie(t),pattern:e})}function ci(e){return new _u({check:"string_format",format:"lowercase",...Ie(e)})}function li(e){return new hu({check:"string_format",format:"uppercase",...Ie(e)})}function ui(e,t){return new yu({check:"string_format",format:"includes",...Ie(t),includes:e})}function di(e,t){return new vu({check:"string_format",format:"starts_with",...Ie(t),prefix:e})}function fi(e,t){return new bu({check:"string_format",format:"ends_with",...Ie(t),suffix:e})}function ha(e,t,n){return new wu({check:"property",property:e,schema:t,...Ie(n)})}function pi(e,t){return new Su({check:"mime_type",mime:e,...Ie(t)})}function vr(e){return new Eu({check:"overwrite",tx:e})}function gi(e){return vr((t)=>t.normalize(e))}function mi(){return vr((e)=>e.trim())}function _i(){return vr((e)=>e.toLowerCase())}function hi(){return vr((e)=>e.toUpperCase())}function yi(){return vr((e)=>hl(e))}function hp(e,t,n){return new e({type:"array",element:t,...Ie(n)})}function TI(e,t,n){return new e({type:"union",options:t,...Ie(n)})}function $I(e,t,n){return new e({type:"union",options:t,inclusive:!1,...Ie(n)})}function II(e,t,n,i){return new e({type:"union",options:n,discriminator:t,...Ie(i)})}function DI(e,t,n){return new e({type:"intersection",left:t,right:n})}function RI(e,t,n,i){let r=n instanceof He;return new e({type:"tuple",items:t,rest:r?n:null,...Ie(r?i:n)})}function AI(e,t,n,i){return new e({type:"record",keyType:t,valueType:n,...Ie(i)})}function OI(e,t,n,i){return new e({type:"map",keyType:t,valueType:n,...Ie(i)})}function PI(e,t,n){return new e({type:"set",valueType:t,...Ie(n)})}function NI(e,t,n){let i=Array.isArray(t)?Object.fromEntries(t.map((r)=>[r,r])):t;return new e({type:"enum",entries:i,...Ie(n)})}function CI(e,t,n){return new e({type:"enum",entries:t,...Ie(n)})}function qI(e,t,n){return new e({type:"literal",values:Array.isArray(t)?t:[t],...Ie(n)})}function yp(e,t){return new e({type:"file",...Ie(t)})}function LI(e,t){return new e({type:"transform",transform:t})}function zI(e,t){return new e({type:"optional",innerType:t})}function UI(e,t){return new e({type:"nullable",innerType:t})}function jI(e,t,n){return new e({type:"default",innerType:t,get defaultValue(){return typeof n==="function"?n():vl(n)}})}function FI(e,t,n){return new e({type:"nonoptional",innerType:t,...Ie(n)})}function MI(e,t){return new e({type:"success",innerType:t})}function BI(e,t,n){return new e({type:"catch",innerType:t,catchValue:typeof n==="function"?n:()=>n})}function WI(e,t,n){return new e({type:"pipe",in:t,out:n})}function HI(e,t){return new e({type:"readonly",innerType:t})}function ZI(e,t,n){return new e({type:"template_literal",parts:t,...Ie(n)})}function VI(e,t){return new e({type:"lazy",getter:t})}function GI(e,t){return new e({type:"promise",innerType:t})}function vp(e,t,n){let i=Ie(n);return i.abort??(i.abort=!0),new e({type:"custom",check:"custom",fn:t,...i})}function bp(e,t,n){return new e({type:"custom",check:"custom",fn:t,...Ie(n)})}function wp(e,t){let n=jv((i)=>(i.addIssue=(r)=>{if(typeof r==="string")i.issues.push(ei(r,i.value,n._zod.def));else{let o=r;if(o.fatal)o.continue=!1;o.code??(o.code="custom"),o.input??(o.input=i.value),o.inst??(o.inst=n),o.continue??(o.continue=!n._zod.def.abort),i.issues.push(ei(o))}},e(i.value,i)),t);return n}function jv(e,t){let n=new gt({check:"custom",...Ie(t)});return n._zod.check=e,n}function Sp(e){let t=new gt({check:"describe"});return t._zod.onattach=[(n)=>{let i=Rt.get(n)??{};Rt.add(n,{...i,description:e})}],t._zod.check=()=>{},t}function Ep(e){let t=new gt({check:"meta"});return t._zod.onattach=[(n)=>{let i=Rt.get(n)??{};Rt.add(n,{...i,...e})}],t._zod.check=()=>{},t}function xp(e,t){let n=Ie(t),i=n.truthy??["true","1","yes","on","y","enabled"],r=n.falsy??["false","0","no","off","n","disabled"];if(n.case!=="sensitive")i=i.map((F)=>typeof F==="string"?F.toLowerCase():F),r=r.map((F)=>typeof F==="string"?F.toLowerCase():F);let o=new Set(i),s=new Set(r),c=e.Codec??uo,d=e.Boolean??co,b=new(e.String??bn)({type:"string",error:n.error}),x=new d({type:"boolean",error:n.error}),P=new c({type:"pipe",in:b,out:x,transform:(F,ce)=>{let ie=F;if(n.case!=="sensitive")ie=ie.toLowerCase();if(o.has(ie))return!0;else if(s.has(ie))return!1;else return ce.issues.push({code:"invalid_value",expected:"stringbool",values:[...o,...s],input:ce.value,inst:P,continue:!1}),{}},reverseTransform:(F,ce)=>{if(F===!0)return i[0]||"true";else return r[0]||"false"},error:n.error});return P}function vi(e,t,n,i={}){let r=Ie(i),o={...Ie(i),check:"string_format",type:"string",format:t,fn:typeof n==="function"?n:(c)=>n.test(c),...r};if(n instanceof RegExp)o.pattern=n;return new e(o)}var Bf;var Fv=he(()=>{Cs();ho();qd();Le();Bf={Any:null,Minute:-1,Second:0,Millisecond:3,Microsecond:6}});function Qr(e){let t=e?.target??"draft-2020-12";if(t==="draft-4")t="draft-04";if(t==="draft-7")t="draft-07";return{processors:e.processors??{},metadataRegistry:e?.metadata??Rt,target:t,unrepresentable:e?.unrepresentable??"throw",override:e?.override??(()=>{}),io:e?.io??"output",counter:0,seen:new Map,cycles:e?.cycles??"ref",reused:e?.reused??"inline",external:e?.external??void 0}}function it(e,t,n={path:[],schemaPath:[]}){var i;let r=e._zod.def,o=t.seen.get(e);if(o){if(o.count++,n.schemaPath.includes(e))o.cycle=n.path;return o.schema}let s={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,s);let c=e._zod.toJSONSchema?.();if(c)s.schema=c;else{let b={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,s.schema,b);else{let P=s.schema,F=t.processors[r.type];if(!F)throw Error(`[toJSONSchema]: Non-representable type encountered: ${r.type}`);F(e,t,P,b)}let x=e._zod.parent;if(x){if(!s.ref)s.ref=x;it(x,t,b),t.seen.get(x).isParent=!0}}let d=t.metadataRegistry.get(e);if(d)Object.assign(s.schema,d);if(t.io==="input"&&Bt(e))delete s.schema.examples,delete s.schema.default;if(t.io==="input"&&"_prefault"in s.schema)(i=s.schema).default??(i.default=s.schema._prefault);return delete s.schema._prefault,t.seen.get(e).schema}function Yr(e,t){let n=e.seen.get(t);if(!n)throw Error("Unprocessed schema. This is a bug in Zod.");let i=new Map;for(let s of e.seen.entries()){let c=e.metadataRegistry.get(s[0])?.id;if(c){let d=i.get(c);if(d&&d!==s[0])throw Error(`Duplicate schema id "${c}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);i.set(c,s[0])}}let r=(s)=>{let c=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){let x=e.external.registry.get(s[0])?.id,P=e.external.uri??((ce)=>ce);if(x)return{ref:P(x)};let F=s[1].defId??s[1].schema.id??`schema${e.counter++}`;return s[1].defId=F,{defId:F,ref:`${P("__shared")}#/${c}/${F}`}}if(s[1]===n)return{ref:"#"};let f=`${"#"}/${c}/`,b=s[1].schema.id??`__schema${e.counter++}`;return{defId:b,ref:f+b}},o=(s)=>{if(s[1].schema.$ref)return;let c=s[1],{ref:d,defId:f}=r(s);if(c.def={...c.schema},f)c.defId=f;let b=c.schema;for(let x in b)delete b[x];b.$ref=d};if(e.cycles==="throw")for(let s of e.seen.entries()){let c=s[1];if(c.cycle)throw Error(`Cycle detected: #/${c.cycle?.join("/")}/<root>
468
+ `)}Y.write("payload.value = newResult;"),Y.write("return payload;");let Ze=Y.compile();return($e,Ue)=>Ze(j,$e,Ue)},s,a=Mn,u=!gn.jitless,m=u&&Vl.value,x=t.catchall,D;e._zod.parse=(j,Y)=>{D??(D=n.value);let _e=j.value;if(!a(_e))return j.issues.push({expected:"object",code:"invalid_type",input:_e,inst:e}),j;if(u&&m&&Y?.async===!1&&Y.jitless!==!0){if(!s)s=o(t.shape);if(j=s(j,Y),!x)return j;return Bd([],_e,j,Y,D,e)}return r(j,Y)}});jd=ce("$ZodUnion",(e,t)=>{it.init(e,t),Ve(e._zod,"optin",()=>t.options.some((n)=>n._zod.optin==="optional")?"optional":void 0),Ve(e._zod,"optout",()=>t.options.some((n)=>n._zod.optout==="optional")?"optional":void 0),Ve(e._zod,"values",()=>{if(t.options.every((n)=>n._zod.values))return new Set(t.options.flatMap((n)=>Array.from(n._zod.values)));return}),Ve(e._zod,"pattern",()=>{if(t.options.every((n)=>n._zod.pattern)){let n=t.options.map((o)=>o._zod.pattern);return new RegExp(`^(${n.map((o)=>$o(o.source)).join("|")})$`)}return});let r=t.options.length===1?t.options[0]._zod.run:null;e._zod.parse=(n,o)=>{if(r)return r(n,o);let s=!1,a=[];for(let u of t.options){let _=u._zod.run({value:n.value,issues:[]},o);if(_ instanceof Promise)a.push(_),s=!0;else{if(_.issues.length===0)return _;a.push(_)}}if(!s)return od(a,n,e,o);return Promise.all(a).then((u)=>od(u,n,e,o))}}),Hd=ce("$ZodIntersection",(e,t)=>{it.init(e,t),e._zod.parse=(r,n)=>{let o=r.value,s=t.left._zod.run({value:o,issues:[]},n),a=t.right._zod.run({value:o,issues:[]},n);if(s instanceof Promise||a instanceof Promise)return Promise.all([s,a]).then(([_,m])=>id(r,_,m));return id(r,s,a)}});Wd=ce("$ZodEnum",(e,t)=>{it.init(e,t);let r=Co(t.entries),n=new Set(r);e._zod.values=n,e._zod.pattern=new RegExp(`^(${r.filter((o)=>Jl.has(typeof o)).map((o)=>typeof o==="string"?Sr(o):o.toString()).join("|")})$`),e._zod.parse=(o,s)=>{let a=o.value;if(n.has(a))return o;return o.issues.push({code:"invalid_value",values:r,input:a,inst:e}),o}}),Zd=ce("$ZodLiteral",(e,t)=>{if(it.init(e,t),t.values.length===0)throw Error("Cannot create literal schema with no valid values");let r=new Set(t.values);e._zod.values=r,e._zod.pattern=new RegExp(`^(${t.values.map((n)=>typeof n==="string"?Sr(n):n?Sr(n.toString()):String(n)).join("|")})$`),e._zod.parse=(n,o)=>{let s=n.value;if(r.has(s))return n;return n.issues.push({code:"invalid_value",values:t.values,input:s,inst:e}),n}}),Gd=ce("$ZodTransform",(e,t)=>{it.init(e,t),e._zod.optin="optional",e._zod.parse=(r,n)=>{if(n.direction==="backward")throw new zn(e.constructor.name);let o=t.transform(r.value,r);if(n.async)return(o instanceof Promise?o:Promise.resolve(o)).then((a)=>(r.value=a,r.fallback=!0,r));if(o instanceof Promise)throw new fr;return r.value=o,r.fallback=!0,r}});Os=ce("$ZodOptional",(e,t)=>{it.init(e,t),e._zod.optin="optional",e._zod.optout="optional",Ve(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),Ve(e._zod,"pattern",()=>{let r=t.innerType._zod.pattern;return r?new RegExp(`^(${$o(r.source)})?$`):void 0}),e._zod.parse=(r,n)=>{if(t.innerType._zod.optin==="optional"){let o=r.value,s=t.innerType._zod.run(r,n);if(s instanceof Promise)return s.then((a)=>sd(a,o));return sd(s,o)}if(r.value===void 0)return r;return t.innerType._zod.run(r,n)}}),Kd=ce("$ZodExactOptional",(e,t)=>{Os.init(e,t),Ve(e._zod,"values",()=>t.innerType._zod.values),Ve(e._zod,"pattern",()=>t.innerType._zod.pattern),e._zod.parse=(r,n)=>t.innerType._zod.run(r,n)}),Vd=ce("$ZodNullable",(e,t)=>{it.init(e,t),Ve(e._zod,"optin",()=>t.innerType._zod.optin),Ve(e._zod,"optout",()=>t.innerType._zod.optout),Ve(e._zod,"pattern",()=>{let r=t.innerType._zod.pattern;return r?new RegExp(`^(${$o(r.source)}|null)$`):void 0}),Ve(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(r,n)=>{if(r.value===null)return r;return t.innerType._zod.run(r,n)}}),Jd=ce("$ZodDefault",(e,t)=>{it.init(e,t),e._zod.optin="optional",Ve(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>{if(n.direction==="backward")return t.innerType._zod.run(r,n);if(r.value===void 0)return r.value=t.defaultValue,r;let o=t.innerType._zod.run(r,n);if(o instanceof Promise)return o.then((s)=>ad(s,t));return ad(o,t)}});Xd=ce("$ZodPrefault",(e,t)=>{it.init(e,t),e._zod.optin="optional",Ve(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>{if(n.direction==="backward")return t.innerType._zod.run(r,n);if(r.value===void 0)r.value=t.defaultValue;return t.innerType._zod.run(r,n)}}),Qd=ce("$ZodNonOptional",(e,t)=>{it.init(e,t),Ve(e._zod,"values",()=>{let r=t.innerType._zod.values;return r?new Set([...r].filter((n)=>n!==void 0)):void 0}),e._zod.parse=(r,n)=>{let o=t.innerType._zod.run(r,n);if(o instanceof Promise)return o.then((s)=>cd(s,e));return cd(o,e)}});Yd=ce("$ZodCatch",(e,t)=>{it.init(e,t),e._zod.optin="optional",Ve(e._zod,"optout",()=>t.innerType._zod.optout),Ve(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>{if(n.direction==="backward")return t.innerType._zod.run(r,n);let o=t.innerType._zod.run(r,n);if(o instanceof Promise)return o.then((s)=>{if(r.value=s.value,s.issues.length)r.value=t.catchValue({...r,error:{issues:s.issues.map((a)=>pr(a,n,Vt()))},input:r.value}),r.issues=[],r.fallback=!0;return r});if(r.value=o.value,o.issues.length)r.value=t.catchValue({...r,error:{issues:o.issues.map((s)=>pr(s,n,Vt()))},input:r.value}),r.issues=[],r.fallback=!0;return r}}),ef=ce("$ZodPipe",(e,t)=>{it.init(e,t),Ve(e._zod,"values",()=>t.in._zod.values),Ve(e._zod,"optin",()=>t.in._zod.optin),Ve(e._zod,"optout",()=>t.out._zod.optout),Ve(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(r,n)=>{if(n.direction==="backward"){let s=t.out._zod.run(r,n);if(s instanceof Promise)return s.then((a)=>Zo(a,t.in,n));return Zo(s,t.in,n)}let o=t.in._zod.run(r,n);if(o instanceof Promise)return o.then((s)=>Zo(s,t.out,n));return Zo(o,t.out,n)}});tf=ce("$ZodReadonly",(e,t)=>{it.init(e,t),Ve(e._zod,"propValues",()=>t.innerType._zod.propValues),Ve(e._zod,"values",()=>t.innerType._zod.values),Ve(e._zod,"optin",()=>t.innerType?._zod?.optin),Ve(e._zod,"optout",()=>t.innerType?._zod?.optout),e._zod.parse=(r,n)=>{if(n.direction==="backward")return t.innerType._zod.run(r,n);let o=t.innerType._zod.run(r,n);if(o instanceof Promise)return o.then(ld);return ld(o)}});rf=ce("$ZodCustom",(e,t)=>{ht.init(e,t),it.init(e,t),e._zod.parse=(r,n)=>r,e._zod.check=(r)=>{let n=r.value,o=t.fn(n);if(o instanceof Promise)return o.then((s)=>ud(s,r,n,e));ud(o,r,n,e);return}})});function Is(){return{localeError:eb()}}var eb=()=>{let e={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"},map:{unit:"entries",verb:"to have"}};function t(o){return e[o]??null}let r={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",mac:"MAC address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"},n={nan:"NaN"};return(o)=>{switch(o.code){case"invalid_type":{let s=n[o.expected]??o.expected,a=eu(o.input),u=n[a]??a;return`Invalid input: expected ${s}, received ${u}`}case"invalid_value":if(o.values.length===1)return`Invalid input: expected ${ys(o.values[0])}`;return`Invalid option: expected one of ${_s(o.values,"|")}`;case"too_big":{let s=o.inclusive?"<=":"<",a=t(o.origin);if(a)return`Too big: expected ${o.origin??"value"} to have ${s}${o.maximum.toString()} ${a.unit??"elements"}`;return`Too big: expected ${o.origin??"value"} to be ${s}${o.maximum.toString()}`}case"too_small":{let s=o.inclusive?">=":">",a=t(o.origin);if(a)return`Too small: expected ${o.origin} to have ${s}${o.minimum.toString()} ${a.unit}`;return`Too small: expected ${o.origin} to be ${s}${o.minimum.toString()}`}case"invalid_format":{let s=o;if(s.format==="starts_with")return`Invalid string: must start with "${s.prefix}"`;if(s.format==="ends_with")return`Invalid string: must end with "${s.suffix}"`;if(s.format==="includes")return`Invalid string: must include "${s.includes}"`;if(s.format==="regex")return`Invalid string: must match pattern ${s.pattern}`;return`Invalid ${r[s.format]??o.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${o.divisor}`;case"unrecognized_keys":return`Unrecognized key${o.keys.length>1?"s":""}: ${_s(o.keys,", ")}`;case"invalid_key":return`Invalid key in ${o.origin}`;case"invalid_union":if(o.options&&Array.isArray(o.options)&&o.options.length>0)return`Invalid discriminator value. Expected ${o.options.map((a)=>`'${a}'`).join(" | ")}`;return"Invalid input";case"invalid_element":return`Invalid value in ${o.origin}`;default:return"Invalid input"}}};var of=De(()=>{Jt()});var Ps=()=>{};class cf{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...t){let r=t[0];if(this._map.set(e,r),r&&typeof r==="object"&&"id"in r)this._idmap.set(r.id,e);return this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){let t=this._map.get(e);if(t&&typeof t==="object"&&"id"in t)this._idmap.delete(t.id);return this._map.delete(e),this}get(e){let t=e._zod.parent;if(t){let r={...this.get(t)??{}};delete r.id;let n={...r,...this._map.get(e)};return Object.keys(n).length?n:void 0}return this._map.get(e)}has(e){return this._map.has(e)}}function tb(){return new cf}var af,ux,dx,Ur;var Ns=De(()=>{ux=Symbol("ZodOutput"),dx=Symbol("ZodInput");(af=globalThis).__zod_globalRegistry??(af.__zod_globalRegistry=tb());Ur=globalThis.__zod_globalRegistry});function lf(e,t){return new e({type:"string",...Ne(t)})}function uf(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...Ne(t)})}function Cs(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...Ne(t)})}function df(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...Ne(t)})}function ff(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...Ne(t)})}function pf(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...Ne(t)})}function _f(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...Ne(t)})}function gf(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...Ne(t)})}function hf(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...Ne(t)})}function mf(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...Ne(t)})}function yf(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...Ne(t)})}function bf(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...Ne(t)})}function wf(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...Ne(t)})}function vf(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...Ne(t)})}function Ef(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...Ne(t)})}function Sf(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...Ne(t)})}function xf(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...Ne(t)})}function Tf(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...Ne(t)})}function kf(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...Ne(t)})}function Rf(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...Ne(t)})}function Af(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...Ne(t)})}function Df(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...Ne(t)})}function Of(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...Ne(t)})}function If(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...Ne(t)})}function Pf(e,t){return new e({type:"string",format:"date",check:"string_format",...Ne(t)})}function Nf(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...Ne(t)})}function Cf(e,t){return new e({type:"string",format:"duration",check:"string_format",...Ne(t)})}function qf(e,t){return new e({type:"number",checks:[],...Ne(t)})}function Lf(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...Ne(t)})}function $f(e,t){return new e({type:"boolean",...Ne(t)})}function Ff(e){return new e({type:"unknown"})}function zf(e,t){return new e({type:"never",...Ne(t)})}function Vo(e,t){return new xs({check:"less_than",...Ne(t),value:e,inclusive:!1})}function Wn(e,t){return new xs({check:"less_than",...Ne(t),value:e,inclusive:!0})}function Jo(e,t){return new Ts({check:"greater_than",...Ne(t),value:e,inclusive:!1})}function Zn(e,t){return new Ts({check:"greater_than",...Ne(t),value:e,inclusive:!0})}function Xo(e,t){return new ju({check:"multiple_of",...Ne(t),value:e})}function Qo(e,t){return new Wu({check:"max_length",...Ne(t),maximum:e})}function mn(e,t){return new Zu({check:"min_length",...Ne(t),minimum:e})}function Yo(e,t){return new Gu({check:"length_equals",...Ne(t),length:e})}function qs(e,t){return new Ku({check:"string_format",format:"regex",...Ne(t),pattern:e})}function Ls(e){return new Vu({check:"string_format",format:"lowercase",...Ne(e)})}function $s(e){return new Ju({check:"string_format",format:"uppercase",...Ne(e)})}function Fs(e,t){return new Xu({check:"string_format",format:"includes",...Ne(t),includes:e})}function zs(e,t){return new Qu({check:"string_format",format:"starts_with",...Ne(t),prefix:e})}function Ms(e,t){return new Yu({check:"string_format",format:"ends_with",...Ne(t),suffix:e})}function xr(e){return new ed({check:"overwrite",tx:e})}function Bs(e){return xr((t)=>t.normalize(e))}function Us(){return xr((e)=>e.trim())}function js(){return xr((e)=>e.toLowerCase())}function Hs(){return xr((e)=>e.toUpperCase())}function Ws(){return xr((e)=>Kl(e))}function Mf(e,t,r){return new e({type:"array",element:t,...Ne(r)})}function Bf(e,t,r){return new e({type:"custom",check:"custom",fn:t,...Ne(r)})}function Uf(e,t){let r=rb((n)=>(n.addIssue=(o)=>{if(typeof o==="string")n.issues.push(Br(o,n.value,r._zod.def));else{let s=o;if(s.fatal)s.continue=!1;s.code??(s.code="custom"),s.input??(s.input=n.value),s.inst??(s.inst=r),s.continue??(s.continue=!r._zod.def.abort),n.issues.push(Br(s))}},e(n.value,n)),t);return r}function rb(e,t){let r=new ht({check:"custom",...Ne(t)});return r._zod.check=e,r}var jf=De(()=>{Wo();Jt()});function Zs(e){let t=e?.target??"draft-2020-12";if(t==="draft-4")t="draft-04";if(t==="draft-7")t="draft-07";return{processors:e.processors??{},metadataRegistry:e?.metadata??Ur,target:t,unrepresentable:e?.unrepresentable??"throw",override:e?.override??(()=>{}),io:e?.io??"output",counter:0,seen:new Map,cycles:e?.cycles??"ref",reused:e?.reused??"inline",external:e?.external??void 0}}function _t(e,t,r={path:[],schemaPath:[]}){var n;let o=e._zod.def,s=t.seen.get(e);if(s){if(s.count++,r.schemaPath.includes(e))s.cycle=r.path;return s.schema}let a={schema:{},count:1,cycle:void 0,path:r.path};t.seen.set(e,a);let u=e._zod.toJSONSchema?.();if(u)a.schema=u;else{let x={...r,schemaPath:[...r.schemaPath,e],path:r.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,a.schema,x);else{let j=a.schema,Y=t.processors[o.type];if(!Y)throw Error(`[toJSONSchema]: Non-representable type encountered: ${o.type}`);Y(e,t,j,x)}let D=e._zod.parent;if(D){if(!a.ref)a.ref=D;_t(D,t,x),t.seen.get(D).isParent=!0}}let _=t.metadataRegistry.get(e);if(_)Object.assign(a.schema,_);if(t.io==="input"&&kt(e))delete a.schema.examples,delete a.schema.default;if(t.io==="input"&&"_prefault"in a.schema)(n=a.schema).default??(n.default=a.schema._prefault);return delete a.schema._prefault,t.seen.get(e).schema}function Gs(e,t){let r=e.seen.get(t);if(!r)throw Error("Unprocessed schema. This is a bug in Zod.");let n=new Map;for(let a of e.seen.entries()){let u=e.metadataRegistry.get(a[0])?.id;if(u){let _=n.get(u);if(_&&_!==a[0])throw Error(`Duplicate schema id "${u}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);n.set(u,a[0])}}let o=(a)=>{let u=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){let D=e.external.registry.get(a[0])?.id,j=e.external.uri??((_e)=>_e);if(D)return{ref:j(D)};let Y=a[1].defId??a[1].schema.id??`schema${e.counter++}`;return a[1].defId=Y,{defId:Y,ref:`${j("__shared")}#/${u}/${Y}`}}if(a[1]===r)return{ref:"#"};let m=`${"#"}/${u}/`,x=a[1].schema.id??`__schema${e.counter++}`;return{defId:x,ref:m+x}},s=(a)=>{if(a[1].schema.$ref)return;let u=a[1],{ref:_,defId:m}=o(a);if(u.def={...u.schema},m)u.defId=m;let x=u.schema;for(let D in x)delete x[D];x.$ref=_};if(e.cycles==="throw")for(let a of e.seen.entries()){let u=a[1];if(u.cycle)throw Error(`Cycle detected: #/${u.cycle?.join("/")}/<root>
457
469
 
458
- Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let s of e.seen.entries()){let c=s[1];if(t===s[0]){o(s);continue}if(e.external){let f=e.external.registry.get(s[0])?.id;if(t!==s[0]&&f){o(s);continue}}if(e.metadataRegistry.get(s[0])?.id){o(s);continue}if(c.cycle){o(s);continue}if(c.count>1){if(e.reused==="ref"){o(s);continue}}}}function en(e,t){let n=e.seen.get(t);if(!n)throw Error("Unprocessed schema. This is a bug in Zod.");let i=(c)=>{let d=e.seen.get(c);if(d.ref===null)return;let f=d.def??d.schema,b={...f},x=d.ref;if(d.ref=null,x){i(x);let F=e.seen.get(x),ce=F.schema;if(ce.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0"))f.allOf=f.allOf??[],f.allOf.push(ce);else Object.assign(f,ce);if(Object.assign(f,b),c._zod.parent===x)for(let de in f){if(de==="$ref"||de==="allOf")continue;if(!(de in b))delete f[de]}if(ce.$ref&&F.def)for(let de in f){if(de==="$ref"||de==="allOf")continue;if(de in F.def&&JSON.stringify(f[de])===JSON.stringify(F.def[de]))delete f[de]}}let P=c._zod.parent;if(P&&P!==x){i(P);let F=e.seen.get(P);if(F?.schema.$ref){if(f.$ref=F.schema.$ref,F.def)for(let ce in f){if(ce==="$ref"||ce==="allOf")continue;if(ce in F.def&&JSON.stringify(f[ce])===JSON.stringify(F.def[ce]))delete f[ce]}}}e.override({zodSchema:c,jsonSchema:f,path:d.path??[]})};for(let c of[...e.seen.entries()].reverse())i(c[0]);let r={};if(e.target==="draft-2020-12")r.$schema="https://json-schema.org/draft/2020-12/schema";else if(e.target==="draft-07")r.$schema="http://json-schema.org/draft-07/schema#";else if(e.target==="draft-04")r.$schema="http://json-schema.org/draft-04/schema#";else if(e.target==="openapi-3.0");if(e.external?.uri){let c=e.external.registry.get(t)?.id;if(!c)throw Error("Schema is missing an `id` property");r.$id=e.external.uri(c)}Object.assign(r,n.def??n.schema);let o=e.metadataRegistry.get(t)?.id;if(o!==void 0&&r.id===o)delete r.id;let s=e.external?.defs??{};for(let c of e.seen.entries()){let d=c[1];if(d.def&&d.defId){if(d.def.id===d.defId)delete d.def.id;s[d.defId]=d.def}}if(e.external);else if(Object.keys(s).length>0)if(e.target==="draft-2020-12")r.$defs=s;else r.definitions=s;try{let c=JSON.parse(JSON.stringify(r));return Object.defineProperty(c,"~standard",{value:{...t["~standard"],jsonSchema:{input:bi(t,"input",e.processors),output:bi(t,"output",e.processors)}},enumerable:!1,writable:!1}),c}catch(c){throw Error("Error converting schema to JSON.")}}function Bt(e,t){let n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);let i=e._zod.def;if(i.type==="transform")return!0;if(i.type==="array")return Bt(i.element,n);if(i.type==="set")return Bt(i.valueType,n);if(i.type==="lazy")return Bt(i.getter(),n);if(i.type==="promise"||i.type==="optional"||i.type==="nonoptional"||i.type==="nullable"||i.type==="readonly"||i.type==="default"||i.type==="prefault")return Bt(i.innerType,n);if(i.type==="intersection")return Bt(i.left,n)||Bt(i.right,n);if(i.type==="record"||i.type==="map")return Bt(i.keyType,n)||Bt(i.valueType,n);if(i.type==="pipe"){if(e._zod.traits.has("$ZodCodec"))return!0;return Bt(i.in,n)||Bt(i.out,n)}if(i.type==="object"){for(let r in i.shape)if(Bt(i.shape[r],n))return!0;return!1}if(i.type==="union"){for(let r of i.options)if(Bt(r,n))return!0;return!1}if(i.type==="tuple"){for(let r of i.items)if(Bt(r,n))return!0;if(i.rest&&Bt(i.rest,n))return!0;return!1}return!1}var kp=(e,t={})=>(n)=>{let i=Qr({...n,processors:t});return it(e,i),Yr(i,e),en(i,e)},bi=(e,t,n={})=>(i)=>{let{libraryOptions:r,target:o}=i??{},s=Qr({...r??{},target:o,io:t,processors:n});return it(e,s),Yr(s,e),en(s,e)};var bo=he(()=>{ho()});function wa(e,t){if("_idmap"in e){let i=e,r=Qr({...t,processors:ya}),o={};for(let d of i._idmap.entries()){let[f,b]=d;it(b,r)}let s={},c={registry:i,uri:t?.uri,defs:o};r.external=c;for(let d of i._idmap.entries()){let[f,b]=d;Yr(r,b),s[f]=en(r,b)}if(Object.keys(o).length>0){let d=r.target==="draft-2020-12"?"$defs":"definitions";s.__shared={[d]:o}}return{schemas:s}}let n=Qr({...t,processors:ya});return it(e,n),Yr(n,e),en(n,e)}var KI,Tp=(e,t,n,i)=>{let r=n;r.type="string";let{minimum:o,maximum:s,format:c,patterns:d,contentEncoding:f}=e._zod.bag;if(typeof o==="number")r.minLength=o;if(typeof s==="number")r.maxLength=s;if(c){if(r.format=KI[c]??c,r.format==="")delete r.format;if(c==="time")delete r.format}if(f)r.contentEncoding=f;if(d&&d.size>0){let b=[...d];if(b.length===1)r.pattern=b[0].source;else if(b.length>1)r.allOf=[...b.map((x)=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:x.source}))]}},$p=(e,t,n,i)=>{let r=n,{minimum:o,maximum:s,format:c,multipleOf:d,exclusiveMaximum:f,exclusiveMinimum:b}=e._zod.bag;if(typeof c==="string"&&c.includes("int"))r.type="integer";else r.type="number";let x=typeof b==="number"&&b>=(o??Number.NEGATIVE_INFINITY),P=typeof f==="number"&&f<=(s??Number.POSITIVE_INFINITY),F=t.target==="draft-04"||t.target==="openapi-3.0";if(x)if(F)r.minimum=b,r.exclusiveMinimum=!0;else r.exclusiveMinimum=b;else if(typeof o==="number")r.minimum=o;if(P)if(F)r.maximum=f,r.exclusiveMaximum=!0;else r.exclusiveMaximum=f;else if(typeof s==="number")r.maximum=s;if(typeof d==="number")r.multipleOf=d},Ip=(e,t,n,i)=>{n.type="boolean"},Dp=(e,t,n,i)=>{if(t.unrepresentable==="throw")throw Error("BigInt cannot be represented in JSON Schema")},Rp=(e,t,n,i)=>{if(t.unrepresentable==="throw")throw Error("Symbols cannot be represented in JSON Schema")},Ap=(e,t,n,i)=>{if(t.target==="openapi-3.0")n.type="string",n.nullable=!0,n.enum=[null];else n.type="null"},Op=(e,t,n,i)=>{if(t.unrepresentable==="throw")throw Error("Undefined cannot be represented in JSON Schema")},Pp=(e,t,n,i)=>{if(t.unrepresentable==="throw")throw Error("Void cannot be represented in JSON Schema")},Np=(e,t,n,i)=>{n.not={}},Cp=(e,t,n,i)=>{},qp=(e,t,n,i)=>{},Lp=(e,t,n,i)=>{if(t.unrepresentable==="throw")throw Error("Date cannot be represented in JSON Schema")},zp=(e,t,n,i)=>{let r=e._zod.def,o=Xi(r.entries);if(o.every((s)=>typeof s==="number"))n.type="number";if(o.every((s)=>typeof s==="string"))n.type="string";n.enum=o},Up=(e,t,n,i)=>{let r=e._zod.def,o=[];for(let s of r.values)if(s===void 0){if(t.unrepresentable==="throw")throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof s==="bigint")if(t.unrepresentable==="throw")throw Error("BigInt literals cannot be represented in JSON Schema");else o.push(Number(s));else o.push(s);if(o.length===0);else if(o.length===1){let s=o[0];if(n.type=s===null?"null":typeof s,t.target==="draft-04"||t.target==="openapi-3.0")n.enum=[s];else n.const=s}else{if(o.every((s)=>typeof s==="number"))n.type="number";if(o.every((s)=>typeof s==="string"))n.type="string";if(o.every((s)=>typeof s==="boolean"))n.type="boolean";if(o.every((s)=>s===null))n.type="null";n.enum=o}},jp=(e,t,n,i)=>{if(t.unrepresentable==="throw")throw Error("NaN cannot be represented in JSON Schema")},Fp=(e,t,n,i)=>{let r=n,o=e._zod.pattern;if(!o)throw Error("Pattern not found in template literal");r.type="string",r.pattern=o.source},Mp=(e,t,n,i)=>{let r=n,o={type:"string",format:"binary",contentEncoding:"binary"},{minimum:s,maximum:c,mime:d}=e._zod.bag;if(s!==void 0)o.minLength=s;if(c!==void 0)o.maxLength=c;if(d)if(d.length===1)o.contentMediaType=d[0],Object.assign(r,o);else Object.assign(r,o),r.anyOf=d.map((f)=>({contentMediaType:f}));else Object.assign(r,o)},Bp=(e,t,n,i)=>{n.type="boolean"},Wp=(e,t,n,i)=>{if(t.unrepresentable==="throw")throw Error("Custom types cannot be represented in JSON Schema")},Hp=(e,t,n,i)=>{if(t.unrepresentable==="throw")throw Error("Function types cannot be represented in JSON Schema")},Zp=(e,t,n,i)=>{if(t.unrepresentable==="throw")throw Error("Transforms cannot be represented in JSON Schema")},Vp=(e,t,n,i)=>{if(t.unrepresentable==="throw")throw Error("Map cannot be represented in JSON Schema")},Gp=(e,t,n,i)=>{if(t.unrepresentable==="throw")throw Error("Set cannot be represented in JSON Schema")},Kp=(e,t,n,i)=>{let r=n,o=e._zod.def,{minimum:s,maximum:c}=e._zod.bag;if(typeof s==="number")r.minItems=s;if(typeof c==="number")r.maxItems=c;r.type="array",r.items=it(o.element,t,{...i,path:[...i.path,"items"]})},Jp=(e,t,n,i)=>{let r=n,o=e._zod.def;r.type="object",r.properties={};let s=o.shape;for(let f in s)r.properties[f]=it(s[f],t,{...i,path:[...i.path,"properties",f]});let c=new Set(Object.keys(s)),d=new Set([...c].filter((f)=>{let b=o.shape[f]._zod;if(t.io==="input")return b.optin===void 0;else return b.optout===void 0}));if(d.size>0)r.required=Array.from(d);if(o.catchall?._zod.def.type==="never")r.additionalProperties=!1;else if(!o.catchall){if(t.io==="output")r.additionalProperties=!1}else if(o.catchall)r.additionalProperties=it(o.catchall,t,{...i,path:[...i.path,"additionalProperties"]})},va=(e,t,n,i)=>{let r=e._zod.def,o=r.inclusive===!1,s=r.options.map((c,d)=>it(c,t,{...i,path:[...i.path,o?"oneOf":"anyOf",d]}));if(o)n.oneOf=s;else n.anyOf=s},Xp=(e,t,n,i)=>{let r=e._zod.def,o=it(r.left,t,{...i,path:[...i.path,"allOf",0]}),s=it(r.right,t,{...i,path:[...i.path,"allOf",1]}),c=(f)=>("allOf"in f)&&Object.keys(f).length===1,d=[...c(o)?o.allOf:[o],...c(s)?s.allOf:[s]];n.allOf=d},Qp=(e,t,n,i)=>{let r=n,o=e._zod.def;r.type="array";let s=t.target==="draft-2020-12"?"prefixItems":"items",c=t.target==="draft-2020-12"?"items":t.target==="openapi-3.0"?"items":"additionalItems",d=o.items.map((P,F)=>it(P,t,{...i,path:[...i.path,s,F]})),f=o.rest?it(o.rest,t,{...i,path:[...i.path,c,...t.target==="openapi-3.0"?[o.items.length]:[]]}):null;if(t.target==="draft-2020-12"){if(r.prefixItems=d,f)r.items=f}else if(t.target==="openapi-3.0"){if(r.items={anyOf:d},f)r.items.anyOf.push(f);if(r.minItems=d.length,!f)r.maxItems=d.length}else if(r.items=d,f)r.additionalItems=f;let{minimum:b,maximum:x}=e._zod.bag;if(typeof b==="number")r.minItems=b;if(typeof x==="number")r.maxItems=x},Yp=(e,t,n,i)=>{let r=n,o=e._zod.def;r.type="object";let s=o.keyType,d=s._zod.bag?.patterns;if(o.mode==="loose"&&d&&d.size>0){let b=it(o.valueType,t,{...i,path:[...i.path,"patternProperties","*"]});r.patternProperties={};for(let x of d)r.patternProperties[x.source]=b}else{if(t.target==="draft-07"||t.target==="draft-2020-12")r.propertyNames=it(o.keyType,t,{...i,path:[...i.path,"propertyNames"]});r.additionalProperties=it(o.valueType,t,{...i,path:[...i.path,"additionalProperties"]})}let f=s._zod.values;if(f){let b=[...f].filter((x)=>typeof x==="string"||typeof x==="number");if(b.length>0)r.required=b}},eg=(e,t,n,i)=>{let r=e._zod.def,o=it(r.innerType,t,i),s=t.seen.get(e);if(t.target==="openapi-3.0")s.ref=r.innerType,n.nullable=!0;else n.anyOf=[o,{type:"null"}]},tg=(e,t,n,i)=>{let r=e._zod.def;it(r.innerType,t,i);let o=t.seen.get(e);o.ref=r.innerType},rg=(e,t,n,i)=>{let r=e._zod.def;it(r.innerType,t,i);let o=t.seen.get(e);o.ref=r.innerType,n.default=JSON.parse(JSON.stringify(r.defaultValue))},ng=(e,t,n,i)=>{let r=e._zod.def;it(r.innerType,t,i);let o=t.seen.get(e);if(o.ref=r.innerType,t.io==="input")n._prefault=JSON.parse(JSON.stringify(r.defaultValue))},ig=(e,t,n,i)=>{let r=e._zod.def;it(r.innerType,t,i);let o=t.seen.get(e);o.ref=r.innerType;let s;try{s=r.catchValue(void 0)}catch{throw Error("Dynamic catch values are not supported in JSON Schema")}n.default=s},og=(e,t,n,i)=>{let r=e._zod.def,o=r.in._zod.traits.has("$ZodTransform"),s=t.io==="input"?o?r.out:r.in:r.out;it(s,t,i);let c=t.seen.get(e);c.ref=s},sg=(e,t,n,i)=>{let r=e._zod.def;it(r.innerType,t,i);let o=t.seen.get(e);o.ref=r.innerType,n.readOnly=!0},ag=(e,t,n,i)=>{let r=e._zod.def;it(r.innerType,t,i);let o=t.seen.get(e);o.ref=r.innerType},ba=(e,t,n,i)=>{let r=e._zod.def;it(r.innerType,t,i);let o=t.seen.get(e);o.ref=r.innerType},cg=(e,t,n,i)=>{let r=e._zod.innerType;it(r,t,i);let o=t.seen.get(e);o.ref=r},ya;var wo=he(()=>{bo();Le();KI={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},ya={string:Tp,number:$p,boolean:Ip,bigint:Dp,symbol:Rp,null:Ap,undefined:Op,void:Pp,never:Np,any:Cp,unknown:qp,date:Lp,enum:zp,literal:Up,nan:jp,template_literal:Fp,file:Mp,success:Bp,custom:Wp,function:Hp,transform:Zp,map:Vp,set:Gp,array:Kp,object:Jp,union:va,intersection:Xp,tuple:Qp,record:Yp,nullable:eg,nonoptional:tg,default:rg,prefault:ng,catch:ig,pipe:og,readonly:sg,promise:ag,optional:ba,lazy:cg}});class lg{get metadataRegistry(){return this.ctx.metadataRegistry}get target(){return this.ctx.target}get unrepresentable(){return this.ctx.unrepresentable}get override(){return this.ctx.override}get io(){return this.ctx.io}get counter(){return this.ctx.counter}set counter(e){this.ctx.counter=e}get seen(){return this.ctx.seen}constructor(e){let t=e?.target??"draft-2020-12";if(t==="draft-4")t="draft-04";if(t==="draft-7")t="draft-07";this.ctx=Qr({processors:ya,target:t,...e?.metadata&&{metadata:e.metadata},...e?.unrepresentable&&{unrepresentable:e.unrepresentable},...e?.override&&{override:e.override},...e?.io&&{io:e.io}})}process(e,t={path:[],schemaPath:[]}){return it(e,this.ctx,t)}emit(e,t){if(t){if(t.cycles)this.ctx.cycles=t.cycles;if(t.reused)this.ctx.reused=t.reused;if(t.external)this.ctx.external=t.external}Yr(this.ctx,e);let n=en(this.ctx,e),{"~standard":i,...r}=n;return r}}var Mv=he(()=>{wo();bo()});var Bv={};var Wv=()=>{};var Lr={};ur(Lr,{$ZodAny:()=>id,$ZodArray:()=>ld,$ZodAsyncError:()=>kr,$ZodBase64:()=>Gu,$ZodBase64URL:()=>Ku,$ZodBigInt:()=>Ms,$ZodBigIntFormat:()=>ed,$ZodBoolean:()=>co,$ZodCIDRv4:()=>Hu,$ZodCIDRv6:()=>Zu,$ZodCUID:()=>Pu,$ZodCUID2:()=>Nu,$ZodCatch:()=>$d,$ZodCheck:()=>gt,$ZodCheckBigIntFormat:()=>cu,$ZodCheckEndsWith:()=>bu,$ZodCheckGreaterThan:()=>Ns,$ZodCheckIncludes:()=>yu,$ZodCheckLengthEquals:()=>gu,$ZodCheckLessThan:()=>Ps,$ZodCheckLowerCase:()=>_u,$ZodCheckMaxLength:()=>fu,$ZodCheckMaxSize:()=>lu,$ZodCheckMimeType:()=>Su,$ZodCheckMinLength:()=>pu,$ZodCheckMinSize:()=>uu,$ZodCheckMultipleOf:()=>su,$ZodCheckNumberFormat:()=>au,$ZodCheckOverwrite:()=>Eu,$ZodCheckProperty:()=>wu,$ZodCheckRegex:()=>mu,$ZodCheckSizeEquals:()=>du,$ZodCheckStartsWith:()=>vu,$ZodCheckStringFormat:()=>oi,$ZodCheckUpperCase:()=>hu,$ZodCodec:()=>uo,$ZodCustom:()=>Cd,$ZodCustomStringFormat:()=>Qu,$ZodDate:()=>cd,$ZodDefault:()=>Ed,$ZodDiscriminatedUnion:()=>fd,$ZodE164:()=>Ju,$ZodEmail:()=>Du,$ZodEmoji:()=>Au,$ZodEncodeError:()=>_n,$ZodEnum:()=>hd,$ZodError:()=>ro,$ZodExactOptional:()=>wd,$ZodFile:()=>vd,$ZodFunction:()=>Od,$ZodGUID:()=>$u,$ZodIPv4:()=>Mu,$ZodIPv6:()=>Bu,$ZodISODate:()=>Uu,$ZodISODateTime:()=>zu,$ZodISODuration:()=>Fu,$ZodISOTime:()=>ju,$ZodIntersection:()=>pd,$ZodJWT:()=>Xu,$ZodKSUID:()=>Lu,$ZodLazy:()=>Nd,$ZodLiteral:()=>yd,$ZodMAC:()=>Wu,$ZodMap:()=>md,$ZodNaN:()=>Id,$ZodNanoID:()=>Ou,$ZodNever:()=>sd,$ZodNonOptional:()=>kd,$ZodNull:()=>nd,$ZodNullable:()=>Sd,$ZodNumber:()=>Fs,$ZodNumberFormat:()=>Yu,$ZodObject:()=>Uy,$ZodObjectJIT:()=>ud,$ZodOptional:()=>Ws,$ZodPipe:()=>Hs,$ZodPrefault:()=>xd,$ZodPreprocess:()=>Dd,$ZodPromise:()=>Pd,$ZodReadonly:()=>Rd,$ZodRealError:()=>Kt,$ZodRecord:()=>gd,$ZodRegistry:()=>Uf,$ZodSet:()=>_d,$ZodString:()=>bn,$ZodStringFormat:()=>dt,$ZodSuccess:()=>Td,$ZodSymbol:()=>td,$ZodTemplateLiteral:()=>Ad,$ZodTransform:()=>bd,$ZodTuple:()=>Bs,$ZodType:()=>He,$ZodULID:()=>Cu,$ZodURL:()=>Ru,$ZodUUID:()=>Iu,$ZodUndefined:()=>rd,$ZodUnion:()=>lo,$ZodUnknown:()=>od,$ZodVoid:()=>ad,$ZodXID:()=>qu,$ZodXor:()=>dd,$brand:()=>gl,$constructor:()=>V,$input:()=>zf,$output:()=>Lf,Doc:()=>qs,JSONSchema:()=>Bv,JSONSchemaGenerator:()=>lg,NEVER:()=>pl,TimePrecision:()=>Bf,_any:()=>up,_array:()=>hp,_base64:()=>la,_base64url:()=>ua,_bigint:()=>np,_boolean:()=>tp,_catch:()=>BI,_check:()=>jv,_cidrv4:()=>aa,_cidrv6:()=>ca,_coercedBigint:()=>ip,_coercedBoolean:()=>rp,_coercedDate:()=>mp,_coercedNumber:()=>Kf,_coercedString:()=>Ff,_cuid:()=>ea,_cuid2:()=>ta,_custom:()=>vp,_date:()=>gp,_decode:()=>xs,_decodeAsync:()=>Ts,_default:()=>jI,_discriminatedUnion:()=>II,_e164:()=>da,_email:()=>Vs,_emoji:()=>Qs,_encode:()=>Es,_encodeAsync:()=>ks,_endsWith:()=>fi,_enum:()=>NI,_file:()=>yp,_float32:()=>Xf,_float64:()=>Qf,_gt:()=>$r,_gte:()=>Mt,_guid:()=>yo,_includes:()=>ui,_int:()=>Jf,_int32:()=>Yf,_int64:()=>op,_intersection:()=>DI,_ipv4:()=>oa,_ipv6:()=>sa,_isoDate:()=>Hf,_isoDateTime:()=>Wf,_isoDuration:()=>Vf,_isoTime:()=>Zf,_jwt:()=>fa,_ksuid:()=>ia,_lazy:()=>VI,_length:()=>En,_literal:()=>qI,_lowercase:()=>ci,_lt:()=>Tr,_lte:()=>tr,_mac:()=>Mf,_map:()=>OI,_max:()=>tr,_maxLength:()=>Sn,_maxSize:()=>Xr,_mime:()=>pi,_min:()=>Mt,_minLength:()=>qr,_minSize:()=>Ir,_multipleOf:()=>Jr,_nan:()=>_p,_nanoid:()=>Ys,_nativeEnum:()=>CI,_negative:()=>ga,_never:()=>fp,_nonnegative:()=>_a,_nonoptional:()=>FI,_nonpositive:()=>ma,_normalize:()=>gi,_null:()=>lp,_nullable:()=>UI,_number:()=>Gf,_optional:()=>zI,_overwrite:()=>vr,_parse:()=>ti,_parseAsync:()=>ri,_pipe:()=>WI,_positive:()=>pa,_promise:()=>GI,_property:()=>ha,_readonly:()=>HI,_record:()=>AI,_refine:()=>bp,_regex:()=>ai,_safeDecode:()=>Is,_safeDecodeAsync:()=>Rs,_safeEncode:()=>$s,_safeEncodeAsync:()=>Ds,_safeParse:()=>ni,_safeParseAsync:()=>ii,_set:()=>PI,_size:()=>wn,_slugify:()=>yi,_startsWith:()=>di,_string:()=>jf,_stringFormat:()=>vi,_stringbool:()=>xp,_success:()=>MI,_superRefine:()=>wp,_symbol:()=>ap,_templateLiteral:()=>ZI,_toLowerCase:()=>_i,_toUpperCase:()=>hi,_transform:()=>LI,_trim:()=>mi,_tuple:()=>RI,_uint32:()=>ep,_uint64:()=>sp,_ulid:()=>ra,_undefined:()=>cp,_union:()=>TI,_unknown:()=>dp,_uppercase:()=>li,_url:()=>vo,_uuid:()=>Gs,_uuidv4:()=>Ks,_uuidv6:()=>Js,_uuidv7:()=>Xs,_void:()=>pp,_xid:()=>na,_xor:()=>$I,clone:()=>jt,config:()=>ht,createStandardJSONSchemaMethod:()=>bi,createToJSONSchemaMethod:()=>kp,decode:()=>GT,decodeAsync:()=>JT,describe:()=>Sp,encode:()=>VT,encodeAsync:()=>KT,extractDefs:()=>Yr,finalize:()=>en,flattenError:()=>no,formatError:()=>io,globalConfig:()=>mn,globalRegistry:()=>Rt,initializeContext:()=>Qr,isValidBase64:()=>Vu,isValidBase64URL:()=>Cy,isValidJWT:()=>qy,locales:()=>_o,meta:()=>Ep,parse:()=>ws,parseAsync:()=>Ss,prettifyError:()=>Tl,process:()=>it,regexes:()=>er,registry:()=>Zs,safeDecode:()=>QT,safeDecodeAsync:()=>e$,safeEncode:()=>XT,safeEncodeAsync:()=>YT,safeParse:()=>Il,safeParseAsync:()=>Dl,toDotPath:()=>gy,toJSONSchema:()=>wa,treeifyError:()=>kl,util:()=>ke,version:()=>xu});var rr=he(()=>{Le();Os();qf();wo();Mv();Wv();hn();Rl();$l();qd();Cs();ku();ho();Fv();bo()});var Sa={};ur(Sa,{endsWith:()=>fi,gt:()=>$r,gte:()=>Mt,includes:()=>ui,length:()=>En,lowercase:()=>ci,lt:()=>Tr,lte:()=>tr,maxLength:()=>Sn,maxSize:()=>Xr,mime:()=>pi,minLength:()=>qr,minSize:()=>Ir,multipleOf:()=>Jr,negative:()=>ga,nonnegative:()=>_a,nonpositive:()=>ma,normalize:()=>gi,overwrite:()=>vr,positive:()=>pa,property:()=>ha,regex:()=>ai,size:()=>wn,slugify:()=>yi,startsWith:()=>di,toLowerCase:()=>_i,toUpperCase:()=>hi,trim:()=>mi,uppercase:()=>li});var Ea=he(()=>{rr()});var wi={};ur(wi,{ZodISODate:()=>ka,ZodISODateTime:()=>xa,ZodISODuration:()=>$a,ZodISOTime:()=>Ta,date:()=>dg,datetime:()=>ug,duration:()=>pg,time:()=>fg});function ug(e){return Wf(xa,e)}function dg(e){return Hf(ka,e)}function fg(e){return Zf(Ta,e)}function pg(e){return Vf($a,e)}var xa,ka,Ta,$a;var So=he(()=>{rr();xo();xa=V("ZodISODateTime",(e,t)=>{zu.init(e,t),ft.init(e,t)});ka=V("ZodISODate",(e,t)=>{Uu.init(e,t),ft.init(e,t)});Ta=V("ZodISOTime",(e,t)=>{ju.init(e,t),ft.init(e,t)});$a=V("ZodISODuration",(e,t)=>{Fu.init(e,t),ft.init(e,t)})});var Hv=(e,t)=>{ro.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:(n)=>io(e,n)},flatten:{value:(n)=>no(e,n)},addIssue:{value:(n)=>{e.issues.push(n),e.message=JSON.stringify(e.issues,Qn,2)}},addIssues:{value:(n)=>{e.issues.push(...n),e.message=JSON.stringify(e.issues,Qn,2)}},isEmpty:{get(){return e.issues.length===0}}})},XI,Jt;var gg=he(()=>{rr();rr();Le();XI=V("ZodError",Hv),Jt=V("ZodError",Hv,{Parent:Error})});var mg,_g,hg,yg,vg,bg,wg,Sg,Eg,xg,kg,Tg;var $g=he(()=>{rr();gg();mg=ti(Jt),_g=ri(Jt),hg=ni(Jt),yg=ii(Jt),vg=Es(Jt),bg=xs(Jt),wg=ks(Jt),Sg=Ts(Jt),Eg=$s(Jt),xg=Is(Jt),kg=Ds(Jt),Tg=Rs(Jt)});var Eo={};ur(Eo,{ZodAny:()=>Cg,ZodArray:()=>Ug,ZodBase64:()=>Ba,ZodBase64URL:()=>Wa,ZodBigInt:()=>Ii,ZodBigIntFormat:()=>Va,ZodBoolean:()=>$i,ZodCIDRv4:()=>Fa,ZodCIDRv6:()=>Ma,ZodCUID:()=>Na,ZodCUID2:()=>Ca,ZodCatch:()=>am,ZodCodec:()=>qo,ZodCustom:()=>Lo,ZodCustomStringFormat:()=>ki,ZodDate:()=>Ao,ZodDefault:()=>tm,ZodDiscriminatedUnion:()=>Fg,ZodE164:()=>Ha,ZodEmail:()=>Aa,ZodEmoji:()=>Oa,ZodEnum:()=>Ei,ZodExactOptional:()=>Qg,ZodFile:()=>Jg,ZodFunction:()=>hm,ZodGUID:()=>To,ZodIPv4:()=>Ua,ZodIPv6:()=>ja,ZodIntersection:()=>Mg,ZodJWT:()=>Za,ZodKSUID:()=>za,ZodLazy:()=>gm,ZodLiteral:()=>Kg,ZodMAC:()=>Ig,ZodMap:()=>Vg,ZodNaN:()=>lm,ZodNanoID:()=>Pa,ZodNever:()=>Lg,ZodNonOptional:()=>Ya,ZodNull:()=>Pg,ZodNullable:()=>em,ZodNumber:()=>Ti,ZodNumberFormat:()=>kn,ZodObject:()=>Po,ZodOptional:()=>Qa,ZodPipe:()=>Co,ZodPrefault:()=>nm,ZodPreprocess:()=>um,ZodPromise:()=>_m,ZodReadonly:()=>dm,ZodRecord:()=>Si,ZodSet:()=>Gg,ZodString:()=>xi,ZodStringFormat:()=>ft,ZodSuccess:()=>sm,ZodSymbol:()=>Ag,ZodTemplateLiteral:()=>pm,ZodTransform:()=>Xg,ZodTuple:()=>Wg,ZodType:()=>Ke,ZodULID:()=>qa,ZodURL:()=>Ro,ZodUUID:()=>Dr,ZodUndefined:()=>Og,ZodUnion:()=>No,ZodUnknown:()=>qg,ZodVoid:()=>zg,ZodXID:()=>La,ZodXor:()=>jg,_ZodString:()=>Ra,_default:()=>rm,_function:()=>Yb,any:()=>Rb,array:()=>Oo,base64:()=>pb,base64url:()=>gb,bigint:()=>kb,boolean:()=>Rg,catch:()=>cm,check:()=>ew,cidrv4:()=>db,cidrv6:()=>fb,codec:()=>Kb,cuid:()=>nb,cuid2:()=>ib,custom:()=>tw,date:()=>Ob,describe:()=>rw,discriminatedUnion:()=>zb,e164:()=>mb,email:()=>Vv,emoji:()=>tb,enum:()=>Ja,exactOptional:()=>Yg,file:()=>Hb,float32:()=>wb,float64:()=>Sb,function:()=>Yb,guid:()=>Gv,hash:()=>bb,hex:()=>vb,hostname:()=>yb,httpUrl:()=>eb,instanceof:()=>iw,int:()=>Ia,int32:()=>Eb,int64:()=>Tb,intersection:()=>Bg,invertCodec:()=>Jb,ipv4:()=>cb,ipv6:()=>ub,json:()=>sw,jwt:()=>_b,keyof:()=>Pb,ksuid:()=>ab,lazy:()=>mm,literal:()=>Wb,looseObject:()=>qb,looseRecord:()=>jb,mac:()=>lb,map:()=>Fb,meta:()=>nw,nan:()=>Gb,nanoid:()=>rb,nativeEnum:()=>Bb,never:()=>Ga,nonoptional:()=>om,null:()=>Ng,nullable:()=>Io,nullish:()=>Zb,number:()=>Dg,object:()=>Nb,optional:()=>$o,partialRecord:()=>Ub,pipe:()=>Da,prefault:()=>im,preprocess:()=>aw,promise:()=>Qb,readonly:()=>fm,record:()=>Zg,refine:()=>ym,set:()=>Mb,strictObject:()=>Cb,string:()=>ko,stringFormat:()=>hb,stringbool:()=>ow,success:()=>Vb,superRefine:()=>vm,symbol:()=>Ib,templateLiteral:()=>Xb,transform:()=>Xa,tuple:()=>Hg,uint32:()=>xb,uint64:()=>$b,ulid:()=>ob,undefined:()=>Db,union:()=>Ka,unknown:()=>xn,url:()=>Yv,uuid:()=>Kv,uuidv4:()=>Jv,uuidv6:()=>Xv,uuidv7:()=>Qv,void:()=>Ab,xid:()=>sb,xor:()=>Lb});function Do(e,t,n){let i=Object.getPrototypeOf(e),r=Zv.get(i);if(!r)r=new Set,Zv.set(i,r);if(r.has(t))return;r.add(t);for(let o in n){let s=n[o];Object.defineProperty(i,o,{configurable:!0,enumerable:!1,get(){let c=s.bind(this);return Object.defineProperty(this,o,{configurable:!0,writable:!0,enumerable:!0,value:c}),c},set(c){Object.defineProperty(this,o,{configurable:!0,writable:!0,enumerable:!0,value:c})}})}}function ko(e){return jf(xi,e)}function Vv(e){return Vs(Aa,e)}function Gv(e){return yo(To,e)}function Kv(e){return Gs(Dr,e)}function Jv(e){return Ks(Dr,e)}function Xv(e){return Js(Dr,e)}function Qv(e){return Xs(Dr,e)}function Yv(e){return vo(Ro,e)}function eb(e){return vo(Ro,{protocol:er.httpProtocol,hostname:er.domain,...ke.normalizeParams(e)})}function tb(e){return Qs(Oa,e)}function rb(e){return Ys(Pa,e)}function nb(e){return ea(Na,e)}function ib(e){return ta(Ca,e)}function ob(e){return ra(qa,e)}function sb(e){return na(La,e)}function ab(e){return ia(za,e)}function cb(e){return oa(Ua,e)}function lb(e){return Mf(Ig,e)}function ub(e){return sa(ja,e)}function db(e){return aa(Fa,e)}function fb(e){return ca(Ma,e)}function pb(e){return la(Ba,e)}function gb(e){return ua(Wa,e)}function mb(e){return da(Ha,e)}function _b(e){return fa(Za,e)}function hb(e,t,n={}){return vi(ki,e,t,n)}function yb(e){return vi(ki,"hostname",er.hostname,e)}function vb(e){return vi(ki,"hex",er.hex,e)}function bb(e,t){let n=t?.enc??"hex",i=`${e}_${n}`,r=er[i];if(!r)throw Error(`Unrecognized hash format: ${i}`);return vi(ki,i,r,t)}function Dg(e){return Gf(Ti,e)}function Ia(e){return Jf(kn,e)}function wb(e){return Xf(kn,e)}function Sb(e){return Qf(kn,e)}function Eb(e){return Yf(kn,e)}function xb(e){return ep(kn,e)}function Rg(e){return tp($i,e)}function kb(e){return np(Ii,e)}function Tb(e){return op(Va,e)}function $b(e){return sp(Va,e)}function Ib(e){return ap(Ag,e)}function Db(e){return cp(Og,e)}function Ng(e){return lp(Pg,e)}function Rb(){return up(Cg)}function xn(){return dp(qg)}function Ga(e){return fp(Lg,e)}function Ab(e){return pp(zg,e)}function Ob(e){return gp(Ao,e)}function Oo(e,t){return hp(Ug,e,t)}function Pb(e){let t=e._zod.def.shape;return Ja(Object.keys(t))}function Nb(e,t){let n={type:"object",shape:e??{},...ke.normalizeParams(t)};return new Po(n)}function Cb(e,t){return new Po({type:"object",shape:e,catchall:Ga(),...ke.normalizeParams(t)})}function qb(e,t){return new Po({type:"object",shape:e,catchall:xn(),...ke.normalizeParams(t)})}function Ka(e,t){return new No({type:"union",options:e,...ke.normalizeParams(t)})}function Lb(e,t){return new jg({type:"union",options:e,inclusive:!1,...ke.normalizeParams(t)})}function zb(e,t,n){return new Fg({type:"union",options:t,discriminator:e,...ke.normalizeParams(n)})}function Bg(e,t){return new Mg({type:"intersection",left:e,right:t})}function Hg(e,t,n){let i=t instanceof He,r=i?n:t;return new Wg({type:"tuple",items:e,rest:i?t:null,...ke.normalizeParams(r)})}function Zg(e,t,n){if(!t||!t._zod)return new Si({type:"record",keyType:ko(),valueType:e,...ke.normalizeParams(t)});return new Si({type:"record",keyType:e,valueType:t,...ke.normalizeParams(n)})}function Ub(e,t,n){let i=jt(e);return i._zod.values=void 0,new Si({type:"record",keyType:i,valueType:t,...ke.normalizeParams(n)})}function jb(e,t,n){return new Si({type:"record",keyType:e,valueType:t,mode:"loose",...ke.normalizeParams(n)})}function Fb(e,t,n){return new Vg({type:"map",keyType:e,valueType:t,...ke.normalizeParams(n)})}function Mb(e,t){return new Gg({type:"set",valueType:e,...ke.normalizeParams(t)})}function Ja(e,t){let n=Array.isArray(e)?Object.fromEntries(e.map((i)=>[i,i])):e;return new Ei({type:"enum",entries:n,...ke.normalizeParams(t)})}function Bb(e,t){return new Ei({type:"enum",entries:e,...ke.normalizeParams(t)})}function Wb(e,t){return new Kg({type:"literal",values:Array.isArray(e)?e:[e],...ke.normalizeParams(t)})}function Hb(e){return yp(Jg,e)}function Xa(e){return new Xg({type:"transform",transform:e})}function $o(e){return new Qa({type:"optional",innerType:e})}function Yg(e){return new Qg({type:"optional",innerType:e})}function Io(e){return new em({type:"nullable",innerType:e})}function Zb(e){return $o(Io(e))}function rm(e,t){return new tm({type:"default",innerType:e,get defaultValue(){return typeof t==="function"?t():ke.shallowClone(t)}})}function im(e,t){return new nm({type:"prefault",innerType:e,get defaultValue(){return typeof t==="function"?t():ke.shallowClone(t)}})}function om(e,t){return new Ya({type:"nonoptional",innerType:e,...ke.normalizeParams(t)})}function Vb(e){return new sm({type:"success",innerType:e})}function cm(e,t){return new am({type:"catch",innerType:e,catchValue:typeof t==="function"?t:()=>t})}function Gb(e){return _p(lm,e)}function Da(e,t){return new Co({type:"pipe",in:e,out:t})}function Kb(e,t,n){return new qo({type:"pipe",in:e,out:t,transform:n.decode,reverseTransform:n.encode})}function Jb(e){let t=e._zod.def;return new qo({type:"pipe",in:t.out,out:t.in,transform:t.reverseTransform,reverseTransform:t.transform})}function fm(e){return new dm({type:"readonly",innerType:e})}function Xb(e,t){return new pm({type:"template_literal",parts:e,...ke.normalizeParams(t)})}function mm(e){return new gm({type:"lazy",getter:e})}function Qb(e){return new _m({type:"promise",innerType:e})}function Yb(e){return new hm({type:"function",input:Array.isArray(e?.input)?Hg(e?.input):e?.input??Oo(xn()),output:e?.output??xn()})}function ew(e){let t=new gt({check:"custom"});return t._zod.check=e,t}function tw(e,t){return vp(Lo,e??(()=>!0),t)}function ym(e,t={}){return bp(Lo,e,t)}function vm(e,t){return wp(e,t)}function iw(e,t={}){let n=new Lo({type:"custom",check:"custom",fn:(i)=>i instanceof e,abort:!0,...ke.normalizeParams(t)});return n._zod.bag.Class=e,n._zod.check=(i)=>{if(!(i.value instanceof e))i.issues.push({code:"invalid_type",expected:e.name,input:i.value,inst:n,path:[...n._zod.def.path??[]]})},n}function sw(e){let t=mm(()=>Ka([ko(e),Dg(),Rg(),Ng(),Oo(t),Zg(ko(),t)]));return t}function aw(e,t){return new um({type:"pipe",in:Xa(e),out:t})}var Zv,Ke,Ra,xi,ft,Aa,To,Dr,Ro,Oa,Pa,Na,Ca,qa,La,za,Ua,Ig,ja,Fa,Ma,Ba,Wa,Ha,Za,ki,Ti,kn,$i,Ii,Va,Ag,Og,Pg,Cg,qg,Lg,zg,Ao,Ug,Po,No,jg,Fg,Mg,Wg,Si,Vg,Gg,Ei,Kg,Jg,Xg,Qa,Qg,em,tm,nm,Ya,sm,am,lm,Co,qo,um,dm,pm,gm,_m,hm,Lo,rw,nw,ow=(...e)=>xp({Codec:qo,Boolean:$i,String:xi},...e);var xo=he(()=>{rr();rr();wo();bo();Ea();So();$g();Zv=new WeakMap;Ke=V("ZodType",(e,t)=>(He.init(e,t),Object.assign(e["~standard"],{jsonSchema:{input:bi(e,"input"),output:bi(e,"output")}}),e.toJSONSchema=kp(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.parse=(n,i)=>mg(e,n,i,{callee:e.parse}),e.safeParse=(n,i)=>hg(e,n,i),e.parseAsync=async(n,i)=>_g(e,n,i,{callee:e.parseAsync}),e.safeParseAsync=async(n,i)=>yg(e,n,i),e.spa=e.safeParseAsync,e.encode=(n,i)=>vg(e,n,i),e.decode=(n,i)=>bg(e,n,i),e.encodeAsync=async(n,i)=>wg(e,n,i),e.decodeAsync=async(n,i)=>Sg(e,n,i),e.safeEncode=(n,i)=>Eg(e,n,i),e.safeDecode=(n,i)=>xg(e,n,i),e.safeEncodeAsync=async(n,i)=>kg(e,n,i),e.safeDecodeAsync=async(n,i)=>Tg(e,n,i),Do(e,"ZodType",{check(...n){let i=this.def;return this.clone(ke.mergeDefs(i,{checks:[...i.checks??[],...n.map((r)=>typeof r==="function"?{_zod:{check:r,def:{check:"custom"},onattach:[]}}:r)]}),{parent:!0})},with(...n){return this.check(...n)},clone(n,i){return jt(this,n,i)},brand(){return this},register(n,i){return n.add(this,i),this},refine(n,i){return this.check(ym(n,i))},superRefine(n,i){return this.check(vm(n,i))},overwrite(n){return this.check(vr(n))},optional(){return $o(this)},exactOptional(){return Yg(this)},nullable(){return Io(this)},nullish(){return $o(Io(this))},nonoptional(n){return om(this,n)},array(){return Oo(this)},or(n){return Ka([this,n])},and(n){return Bg(this,n)},transform(n){return Da(this,Xa(n))},default(n){return rm(this,n)},prefault(n){return im(this,n)},catch(n){return cm(this,n)},pipe(n){return Da(this,n)},readonly(){return fm(this)},describe(n){let i=this.clone();return Rt.add(i,{description:n}),i},meta(...n){if(n.length===0)return Rt.get(this);let i=this.clone();return Rt.add(i,n[0]),i},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(n){return n(this)}}),Object.defineProperty(e,"description",{get(){return Rt.get(e)?.description},configurable:!0}),e)),Ra=V("_ZodString",(e,t)=>{bn.init(e,t),Ke.init(e,t),e._zod.processJSONSchema=(i,r,o)=>Tp(e,i,r,o);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,Do(e,"_ZodString",{regex(...i){return this.check(ai(...i))},includes(...i){return this.check(ui(...i))},startsWith(...i){return this.check(di(...i))},endsWith(...i){return this.check(fi(...i))},min(...i){return this.check(qr(...i))},max(...i){return this.check(Sn(...i))},length(...i){return this.check(En(...i))},nonempty(...i){return this.check(qr(1,...i))},lowercase(i){return this.check(ci(i))},uppercase(i){return this.check(li(i))},trim(){return this.check(mi())},normalize(...i){return this.check(gi(...i))},toLowerCase(){return this.check(_i())},toUpperCase(){return this.check(hi())},slugify(){return this.check(yi())}})}),xi=V("ZodString",(e,t)=>{bn.init(e,t),Ra.init(e,t),e.email=(n)=>e.check(Vs(Aa,n)),e.url=(n)=>e.check(vo(Ro,n)),e.jwt=(n)=>e.check(fa(Za,n)),e.emoji=(n)=>e.check(Qs(Oa,n)),e.guid=(n)=>e.check(yo(To,n)),e.uuid=(n)=>e.check(Gs(Dr,n)),e.uuidv4=(n)=>e.check(Ks(Dr,n)),e.uuidv6=(n)=>e.check(Js(Dr,n)),e.uuidv7=(n)=>e.check(Xs(Dr,n)),e.nanoid=(n)=>e.check(Ys(Pa,n)),e.guid=(n)=>e.check(yo(To,n)),e.cuid=(n)=>e.check(ea(Na,n)),e.cuid2=(n)=>e.check(ta(Ca,n)),e.ulid=(n)=>e.check(ra(qa,n)),e.base64=(n)=>e.check(la(Ba,n)),e.base64url=(n)=>e.check(ua(Wa,n)),e.xid=(n)=>e.check(na(La,n)),e.ksuid=(n)=>e.check(ia(za,n)),e.ipv4=(n)=>e.check(oa(Ua,n)),e.ipv6=(n)=>e.check(sa(ja,n)),e.cidrv4=(n)=>e.check(aa(Fa,n)),e.cidrv6=(n)=>e.check(ca(Ma,n)),e.e164=(n)=>e.check(da(Ha,n)),e.datetime=(n)=>e.check(ug(n)),e.date=(n)=>e.check(dg(n)),e.time=(n)=>e.check(fg(n)),e.duration=(n)=>e.check(pg(n))});ft=V("ZodStringFormat",(e,t)=>{dt.init(e,t),Ra.init(e,t)}),Aa=V("ZodEmail",(e,t)=>{Du.init(e,t),ft.init(e,t)});To=V("ZodGUID",(e,t)=>{$u.init(e,t),ft.init(e,t)});Dr=V("ZodUUID",(e,t)=>{Iu.init(e,t),ft.init(e,t)});Ro=V("ZodURL",(e,t)=>{Ru.init(e,t),ft.init(e,t)});Oa=V("ZodEmoji",(e,t)=>{Au.init(e,t),ft.init(e,t)});Pa=V("ZodNanoID",(e,t)=>{Ou.init(e,t),ft.init(e,t)});Na=V("ZodCUID",(e,t)=>{Pu.init(e,t),ft.init(e,t)});Ca=V("ZodCUID2",(e,t)=>{Nu.init(e,t),ft.init(e,t)});qa=V("ZodULID",(e,t)=>{Cu.init(e,t),ft.init(e,t)});La=V("ZodXID",(e,t)=>{qu.init(e,t),ft.init(e,t)});za=V("ZodKSUID",(e,t)=>{Lu.init(e,t),ft.init(e,t)});Ua=V("ZodIPv4",(e,t)=>{Mu.init(e,t),ft.init(e,t)});Ig=V("ZodMAC",(e,t)=>{Wu.init(e,t),ft.init(e,t)});ja=V("ZodIPv6",(e,t)=>{Bu.init(e,t),ft.init(e,t)});Fa=V("ZodCIDRv4",(e,t)=>{Hu.init(e,t),ft.init(e,t)});Ma=V("ZodCIDRv6",(e,t)=>{Zu.init(e,t),ft.init(e,t)});Ba=V("ZodBase64",(e,t)=>{Gu.init(e,t),ft.init(e,t)});Wa=V("ZodBase64URL",(e,t)=>{Ku.init(e,t),ft.init(e,t)});Ha=V("ZodE164",(e,t)=>{Ju.init(e,t),ft.init(e,t)});Za=V("ZodJWT",(e,t)=>{Xu.init(e,t),ft.init(e,t)});ki=V("ZodCustomStringFormat",(e,t)=>{Qu.init(e,t),ft.init(e,t)});Ti=V("ZodNumber",(e,t)=>{Fs.init(e,t),Ke.init(e,t),e._zod.processJSONSchema=(i,r,o)=>$p(e,i,r,o),Do(e,"ZodNumber",{gt(i,r){return this.check($r(i,r))},gte(i,r){return this.check(Mt(i,r))},min(i,r){return this.check(Mt(i,r))},lt(i,r){return this.check(Tr(i,r))},lte(i,r){return this.check(tr(i,r))},max(i,r){return this.check(tr(i,r))},int(i){return this.check(Ia(i))},safe(i){return this.check(Ia(i))},positive(i){return this.check($r(0,i))},nonnegative(i){return this.check(Mt(0,i))},negative(i){return this.check(Tr(0,i))},nonpositive(i){return this.check(tr(0,i))},multipleOf(i,r){return this.check(Jr(i,r))},step(i,r){return this.check(Jr(i,r))},finite(){return this}});let n=e._zod.bag;e.minValue=Math.max(n.minimum??Number.NEGATIVE_INFINITY,n.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(n.maximum??Number.POSITIVE_INFINITY,n.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(n.format??"").includes("int")||Number.isSafeInteger(n.multipleOf??0.5),e.isFinite=!0,e.format=n.format??null});kn=V("ZodNumberFormat",(e,t)=>{Yu.init(e,t),Ti.init(e,t)});$i=V("ZodBoolean",(e,t)=>{co.init(e,t),Ke.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Ip(e,n,i,r)});Ii=V("ZodBigInt",(e,t)=>{Ms.init(e,t),Ke.init(e,t),e._zod.processJSONSchema=(i,r,o)=>Dp(e,i,r,o),e.gte=(i,r)=>e.check(Mt(i,r)),e.min=(i,r)=>e.check(Mt(i,r)),e.gt=(i,r)=>e.check($r(i,r)),e.gte=(i,r)=>e.check(Mt(i,r)),e.min=(i,r)=>e.check(Mt(i,r)),e.lt=(i,r)=>e.check(Tr(i,r)),e.lte=(i,r)=>e.check(tr(i,r)),e.max=(i,r)=>e.check(tr(i,r)),e.positive=(i)=>e.check($r(BigInt(0),i)),e.negative=(i)=>e.check(Tr(BigInt(0),i)),e.nonpositive=(i)=>e.check(tr(BigInt(0),i)),e.nonnegative=(i)=>e.check(Mt(BigInt(0),i)),e.multipleOf=(i,r)=>e.check(Jr(i,r));let n=e._zod.bag;e.minValue=n.minimum??null,e.maxValue=n.maximum??null,e.format=n.format??null});Va=V("ZodBigIntFormat",(e,t)=>{ed.init(e,t),Ii.init(e,t)});Ag=V("ZodSymbol",(e,t)=>{td.init(e,t),Ke.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Rp(e,n,i,r)});Og=V("ZodUndefined",(e,t)=>{rd.init(e,t),Ke.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Op(e,n,i,r)});Pg=V("ZodNull",(e,t)=>{nd.init(e,t),Ke.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Ap(e,n,i,r)});Cg=V("ZodAny",(e,t)=>{id.init(e,t),Ke.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Cp(e,n,i,r)});qg=V("ZodUnknown",(e,t)=>{od.init(e,t),Ke.init(e,t),e._zod.processJSONSchema=(n,i,r)=>qp(e,n,i,r)});Lg=V("ZodNever",(e,t)=>{sd.init(e,t),Ke.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Np(e,n,i,r)});zg=V("ZodVoid",(e,t)=>{ad.init(e,t),Ke.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Pp(e,n,i,r)});Ao=V("ZodDate",(e,t)=>{cd.init(e,t),Ke.init(e,t),e._zod.processJSONSchema=(i,r,o)=>Lp(e,i,r,o),e.min=(i,r)=>e.check(Mt(i,r)),e.max=(i,r)=>e.check(tr(i,r));let n=e._zod.bag;e.minDate=n.minimum?new Date(n.minimum):null,e.maxDate=n.maximum?new Date(n.maximum):null});Ug=V("ZodArray",(e,t)=>{ld.init(e,t),Ke.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Kp(e,n,i,r),e.element=t.element,Do(e,"ZodArray",{min(n,i){return this.check(qr(n,i))},nonempty(n){return this.check(qr(1,n))},max(n,i){return this.check(Sn(n,i))},length(n,i){return this.check(En(n,i))},unwrap(){return this.element}})});Po=V("ZodObject",(e,t)=>{ud.init(e,t),Ke.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Jp(e,n,i,r),ke.defineLazy(e,"shape",()=>t.shape),Do(e,"ZodObject",{keyof(){return Ja(Object.keys(this._zod.def.shape))},catchall(n){return this.clone({...this._zod.def,catchall:n})},passthrough(){return this.clone({...this._zod.def,catchall:xn()})},loose(){return this.clone({...this._zod.def,catchall:xn()})},strict(){return this.clone({...this._zod.def,catchall:Ga()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(n){return ke.extend(this,n)},safeExtend(n){return ke.safeExtend(this,n)},merge(n){return ke.merge(this,n)},pick(n){return ke.pick(this,n)},omit(n){return ke.omit(this,n)},partial(...n){return ke.partial(Qa,this,n[0])},required(...n){return ke.required(Ya,this,n[0])}})});No=V("ZodUnion",(e,t)=>{lo.init(e,t),Ke.init(e,t),e._zod.processJSONSchema=(n,i,r)=>va(e,n,i,r),e.options=t.options});jg=V("ZodXor",(e,t)=>{No.init(e,t),dd.init(e,t),e._zod.processJSONSchema=(n,i,r)=>va(e,n,i,r),e.options=t.options});Fg=V("ZodDiscriminatedUnion",(e,t)=>{No.init(e,t),fd.init(e,t)});Mg=V("ZodIntersection",(e,t)=>{pd.init(e,t),Ke.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Xp(e,n,i,r)});Wg=V("ZodTuple",(e,t)=>{Bs.init(e,t),Ke.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Qp(e,n,i,r),e.rest=(n)=>e.clone({...e._zod.def,rest:n})});Si=V("ZodRecord",(e,t)=>{gd.init(e,t),Ke.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Yp(e,n,i,r),e.keyType=t.keyType,e.valueType=t.valueType});Vg=V("ZodMap",(e,t)=>{md.init(e,t),Ke.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Vp(e,n,i,r),e.keyType=t.keyType,e.valueType=t.valueType,e.min=(...n)=>e.check(Ir(...n)),e.nonempty=(n)=>e.check(Ir(1,n)),e.max=(...n)=>e.check(Xr(...n)),e.size=(...n)=>e.check(wn(...n))});Gg=V("ZodSet",(e,t)=>{_d.init(e,t),Ke.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Gp(e,n,i,r),e.min=(...n)=>e.check(Ir(...n)),e.nonempty=(n)=>e.check(Ir(1,n)),e.max=(...n)=>e.check(Xr(...n)),e.size=(...n)=>e.check(wn(...n))});Ei=V("ZodEnum",(e,t)=>{hd.init(e,t),Ke.init(e,t),e._zod.processJSONSchema=(i,r,o)=>zp(e,i,r,o),e.enum=t.entries,e.options=Object.values(t.entries);let n=new Set(Object.keys(t.entries));e.extract=(i,r)=>{let o={};for(let s of i)if(n.has(s))o[s]=t.entries[s];else throw Error(`Key ${s} not found in enum`);return new Ei({...t,checks:[],...ke.normalizeParams(r),entries:o})},e.exclude=(i,r)=>{let o={...t.entries};for(let s of i)if(n.has(s))delete o[s];else throw Error(`Key ${s} not found in enum`);return new Ei({...t,checks:[],...ke.normalizeParams(r),entries:o})}});Kg=V("ZodLiteral",(e,t)=>{yd.init(e,t),Ke.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Up(e,n,i,r),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});Jg=V("ZodFile",(e,t)=>{vd.init(e,t),Ke.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Mp(e,n,i,r),e.min=(n,i)=>e.check(Ir(n,i)),e.max=(n,i)=>e.check(Xr(n,i)),e.mime=(n,i)=>e.check(pi(Array.isArray(n)?n:[n],i))});Xg=V("ZodTransform",(e,t)=>{bd.init(e,t),Ke.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Zp(e,n,i,r),e._zod.parse=(n,i)=>{if(i.direction==="backward")throw new _n(e.constructor.name);n.addIssue=(o)=>{if(typeof o==="string")n.issues.push(ke.issue(o,n.value,t));else{let s=o;if(s.fatal)s.continue=!1;s.code??(s.code="custom"),s.input??(s.input=n.value),s.inst??(s.inst=e),n.issues.push(ke.issue(s))}};let r=t.transform(n.value,n);if(r instanceof Promise)return r.then((o)=>(n.value=o,n.fallback=!0,n));return n.value=r,n.fallback=!0,n}});Qa=V("ZodOptional",(e,t)=>{Ws.init(e,t),Ke.init(e,t),e._zod.processJSONSchema=(n,i,r)=>ba(e,n,i,r),e.unwrap=()=>e._zod.def.innerType});Qg=V("ZodExactOptional",(e,t)=>{wd.init(e,t),Ke.init(e,t),e._zod.processJSONSchema=(n,i,r)=>ba(e,n,i,r),e.unwrap=()=>e._zod.def.innerType});em=V("ZodNullable",(e,t)=>{Sd.init(e,t),Ke.init(e,t),e._zod.processJSONSchema=(n,i,r)=>eg(e,n,i,r),e.unwrap=()=>e._zod.def.innerType});tm=V("ZodDefault",(e,t)=>{Ed.init(e,t),Ke.init(e,t),e._zod.processJSONSchema=(n,i,r)=>rg(e,n,i,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});nm=V("ZodPrefault",(e,t)=>{xd.init(e,t),Ke.init(e,t),e._zod.processJSONSchema=(n,i,r)=>ng(e,n,i,r),e.unwrap=()=>e._zod.def.innerType});Ya=V("ZodNonOptional",(e,t)=>{kd.init(e,t),Ke.init(e,t),e._zod.processJSONSchema=(n,i,r)=>tg(e,n,i,r),e.unwrap=()=>e._zod.def.innerType});sm=V("ZodSuccess",(e,t)=>{Td.init(e,t),Ke.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Bp(e,n,i,r),e.unwrap=()=>e._zod.def.innerType});am=V("ZodCatch",(e,t)=>{$d.init(e,t),Ke.init(e,t),e._zod.processJSONSchema=(n,i,r)=>ig(e,n,i,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});lm=V("ZodNaN",(e,t)=>{Id.init(e,t),Ke.init(e,t),e._zod.processJSONSchema=(n,i,r)=>jp(e,n,i,r)});Co=V("ZodPipe",(e,t)=>{Hs.init(e,t),Ke.init(e,t),e._zod.processJSONSchema=(n,i,r)=>og(e,n,i,r),e.in=t.in,e.out=t.out});qo=V("ZodCodec",(e,t)=>{Co.init(e,t),uo.init(e,t)});um=V("ZodPreprocess",(e,t)=>{Co.init(e,t),Dd.init(e,t)}),dm=V("ZodReadonly",(e,t)=>{Rd.init(e,t),Ke.init(e,t),e._zod.processJSONSchema=(n,i,r)=>sg(e,n,i,r),e.unwrap=()=>e._zod.def.innerType});pm=V("ZodTemplateLiteral",(e,t)=>{Ad.init(e,t),Ke.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Fp(e,n,i,r)});gm=V("ZodLazy",(e,t)=>{Nd.init(e,t),Ke.init(e,t),e._zod.processJSONSchema=(n,i,r)=>cg(e,n,i,r),e.unwrap=()=>e._zod.def.getter()});_m=V("ZodPromise",(e,t)=>{Pd.init(e,t),Ke.init(e,t),e._zod.processJSONSchema=(n,i,r)=>ag(e,n,i,r),e.unwrap=()=>e._zod.def.innerType});hm=V("ZodFunction",(e,t)=>{Od.init(e,t),Ke.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Hp(e,n,i,r)});Lo=V("ZodCustom",(e,t)=>{Cd.init(e,t),Ke.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Wp(e,n,i,r)});rw=Sp,nw=Ep});function eD(e){ht({customError:e})}function tD(){return ht().customError}var YI,bm;var cw=he(()=>{rr();YI={invalid_type:"invalid_type",too_big:"too_big",too_small:"too_small",invalid_format:"invalid_format",not_multiple_of:"not_multiple_of",unrecognized_keys:"unrecognized_keys",invalid_union:"invalid_union",invalid_key:"invalid_key",invalid_element:"invalid_element",invalid_value:"invalid_value",custom:"custom"};(function(e){})(bm||(bm={}))});function nD(e,t){let n=e.$schema;if(n==="https://json-schema.org/draft/2020-12/schema")return"draft-2020-12";if(n==="http://json-schema.org/draft-07/schema#")return"draft-7";if(n==="http://json-schema.org/draft-04/schema#")return"draft-4";return t??"draft-2020-12"}function iD(e,t){if(!e.startsWith("#"))throw Error("External $ref is not supported, only local refs (#/...) are allowed");let n=e.slice(1).split("/").filter(Boolean);if(n.length===0)return t.rootSchema;let i=t.version==="draft-2020-12"?"$defs":"definitions";if(n[0]===i){let r=n[1];if(!r||!t.defs[r])throw Error(`Reference not found: ${e}`);return t.defs[r]}throw Error(`Reference not found: ${e}`)}function lw(e,t){if(e.not!==void 0){if(typeof e.not==="object"&&Object.keys(e.not).length===0)return Oe.never();throw Error("not is not supported in Zod (except { not: {} } for never)")}if(e.unevaluatedItems!==void 0)throw Error("unevaluatedItems is not supported");if(e.unevaluatedProperties!==void 0)throw Error("unevaluatedProperties is not supported");if(e.if!==void 0||e.then!==void 0||e.else!==void 0)throw Error("Conditional schemas (if/then/else) are not supported");if(e.dependentSchemas!==void 0||e.dependentRequired!==void 0)throw Error("dependentSchemas and dependentRequired are not supported");if(e.$ref){let r=e.$ref;if(t.refs.has(r))return t.refs.get(r);if(t.processing.has(r))return Oe.lazy(()=>{if(!t.refs.has(r))throw Error(`Circular reference not resolved: ${r}`);return t.refs.get(r)});t.processing.add(r);let o=iD(r,t),s=Pt(o,t);return t.refs.set(r,s),t.processing.delete(r),s}if(e.enum!==void 0){let r=e.enum;if(t.version==="openapi-3.0"&&e.nullable===!0&&r.length===1&&r[0]===null)return Oe.null();if(r.length===0)return Oe.never();if(r.length===1)return Oe.literal(r[0]);if(r.every((s)=>typeof s==="string"))return Oe.enum(r);let o=r.map((s)=>Oe.literal(s));if(o.length<2)return o[0];return Oe.union([o[0],o[1],...o.slice(2)])}if(e.const!==void 0)return Oe.literal(e.const);let n=e.type;if(Array.isArray(n)){let r=n.map((o)=>{let s={...e,type:o};return lw(s,t)});if(r.length===0)return Oe.never();if(r.length===1)return r[0];return Oe.union(r)}if(!n)return Oe.any();let i;switch(n){case"string":{let r=Oe.string();if(e.format){let o=e.format;if(o==="email")r=r.check(Oe.email());else if(o==="uri"||o==="uri-reference")r=r.check(Oe.url());else if(o==="uuid"||o==="guid")r=r.check(Oe.uuid());else if(o==="date-time")r=r.check(Oe.iso.datetime());else if(o==="date")r=r.check(Oe.iso.date());else if(o==="time")r=r.check(Oe.iso.time());else if(o==="duration")r=r.check(Oe.iso.duration());else if(o==="ipv4")r=r.check(Oe.ipv4());else if(o==="ipv6")r=r.check(Oe.ipv6());else if(o==="mac")r=r.check(Oe.mac());else if(o==="cidr")r=r.check(Oe.cidrv4());else if(o==="cidr-v6")r=r.check(Oe.cidrv6());else if(o==="base64")r=r.check(Oe.base64());else if(o==="base64url")r=r.check(Oe.base64url());else if(o==="e164")r=r.check(Oe.e164());else if(o==="jwt")r=r.check(Oe.jwt());else if(o==="emoji")r=r.check(Oe.emoji());else if(o==="nanoid")r=r.check(Oe.nanoid());else if(o==="cuid")r=r.check(Oe.cuid());else if(o==="cuid2")r=r.check(Oe.cuid2());else if(o==="ulid")r=r.check(Oe.ulid());else if(o==="xid")r=r.check(Oe.xid());else if(o==="ksuid")r=r.check(Oe.ksuid())}if(typeof e.minLength==="number")r=r.min(e.minLength);if(typeof e.maxLength==="number")r=r.max(e.maxLength);if(e.pattern)r=r.regex(new RegExp(e.pattern));i=r;break}case"number":case"integer":{let r=n==="integer"?Oe.number().int():Oe.number();if(typeof e.minimum==="number")r=r.min(e.minimum);if(typeof e.maximum==="number")r=r.max(e.maximum);if(typeof e.exclusiveMinimum==="number")r=r.gt(e.exclusiveMinimum);else if(e.exclusiveMinimum===!0&&typeof e.minimum==="number")r=r.gt(e.minimum);if(typeof e.exclusiveMaximum==="number")r=r.lt(e.exclusiveMaximum);else if(e.exclusiveMaximum===!0&&typeof e.maximum==="number")r=r.lt(e.maximum);if(typeof e.multipleOf==="number")r=r.multipleOf(e.multipleOf);i=r;break}case"boolean":{i=Oe.boolean();break}case"null":{i=Oe.null();break}case"object":{let r={},o=e.properties||{},s=new Set(e.required||[]);for(let[d,f]of Object.entries(o)){let b=Pt(f,t);r[d]=s.has(d)?b:b.optional()}if(e.propertyNames){let d=Pt(e.propertyNames,t),f=e.additionalProperties&&typeof e.additionalProperties==="object"?Pt(e.additionalProperties,t):Oe.any();if(Object.keys(r).length===0){i=Oe.record(d,f);break}let b=Oe.object(r).passthrough(),x=Oe.looseRecord(d,f);i=Oe.intersection(b,x);break}if(e.patternProperties){let d=e.patternProperties,f=Object.keys(d),b=[];for(let P of f){let F=Pt(d[P],t),ce=Oe.string().regex(new RegExp(P));b.push(Oe.looseRecord(ce,F))}let x=[];if(Object.keys(r).length>0)x.push(Oe.object(r).passthrough());if(x.push(...b),x.length===0)i=Oe.object({}).passthrough();else if(x.length===1)i=x[0];else{let P=Oe.intersection(x[0],x[1]);for(let F=2;F<x.length;F++)P=Oe.intersection(P,x[F]);i=P}break}let c=Oe.object(r);if(e.additionalProperties===!1)i=c.strict();else if(typeof e.additionalProperties==="object")i=c.catchall(Pt(e.additionalProperties,t));else i=c.passthrough();break}case"array":{let{prefixItems:r,items:o}=e;if(r&&Array.isArray(r)){let s=r.map((d)=>Pt(d,t)),c=o&&typeof o==="object"&&!Array.isArray(o)?Pt(o,t):void 0;if(c)i=Oe.tuple(s).rest(c);else i=Oe.tuple(s);if(typeof e.minItems==="number")i=i.check(Oe.minLength(e.minItems));if(typeof e.maxItems==="number")i=i.check(Oe.maxLength(e.maxItems))}else if(Array.isArray(o)){let s=o.map((d)=>Pt(d,t)),c=e.additionalItems&&typeof e.additionalItems==="object"?Pt(e.additionalItems,t):void 0;if(c)i=Oe.tuple(s).rest(c);else i=Oe.tuple(s);if(typeof e.minItems==="number")i=i.check(Oe.minLength(e.minItems));if(typeof e.maxItems==="number")i=i.check(Oe.maxLength(e.maxItems))}else if(o!==void 0){let s=Pt(o,t),c=Oe.array(s);if(typeof e.minItems==="number")c=c.min(e.minItems);if(typeof e.maxItems==="number")c=c.max(e.maxItems);i=c}else i=Oe.array(Oe.any());break}default:throw Error(`Unsupported type: ${n}`)}return i}function Pt(e,t){if(typeof e==="boolean")return e?Oe.any():Oe.never();let n=lw(e,t),i=e.type||e.enum!==void 0||e.const!==void 0;if(e.anyOf&&Array.isArray(e.anyOf)){let c=e.anyOf.map((f)=>Pt(f,t)),d=Oe.union(c);n=i?Oe.intersection(n,d):d}if(e.oneOf&&Array.isArray(e.oneOf)){let c=e.oneOf.map((f)=>Pt(f,t)),d=Oe.xor(c);n=i?Oe.intersection(n,d):d}if(e.allOf&&Array.isArray(e.allOf))if(e.allOf.length===0)n=i?n:Oe.any();else{let c=i?n:Pt(e.allOf[0],t),d=i?0:1;for(let f=d;f<e.allOf.length;f++)c=Oe.intersection(c,Pt(e.allOf[f],t));n=c}if(e.nullable===!0&&t.version==="openapi-3.0")n=Oe.nullable(n);if(e.readOnly===!0)n=Oe.readonly(n);if(e.default!==void 0)n=n.default(e.default);let r={},o=["$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor"];for(let c of o)if(c in e)r[c]=e[c];let s=["contentEncoding","contentMediaType","contentSchema"];for(let c of s)if(c in e)r[c]=e[c];for(let c of Object.keys(e))if(!rD.has(c))r[c]=e[c];if(Object.keys(r).length>0)t.registry.add(n,r);if(e.description)n=n.describe(e.description);return n}function uw(e,t){if(typeof e==="boolean")return e?Oe.any():Oe.never();let n;try{n=JSON.parse(JSON.stringify(e))}catch{throw Error("fromJSONSchema input is not valid JSON (possibly cyclic); use $defs/$ref for recursive schemas")}let i=nD(n,t?.defaultTarget),r=n.$defs||n.definitions||{},o={version:i,defs:r,refs:new Map,processing:new Set,rootSchema:n,registry:t?.registry??Rt};return Pt(n,o)}var Oe,rD;var dw=he(()=>{ho();Ea();So();xo();Oe={...Eo,...Sa,iso:wi},rD=new Set(["$schema","$ref","$defs","definitions","$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor","type","enum","const","anyOf","oneOf","allOf","not","properties","required","additionalProperties","patternProperties","propertyNames","minProperties","maxProperties","items","prefixItems","additionalItems","minItems","maxItems","uniqueItems","contains","minContains","maxContains","minLength","maxLength","pattern","format","minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf","description","default","contentEncoding","contentMediaType","contentSchema","unevaluatedItems","unevaluatedProperties","if","then","else","dependentSchemas","dependentRequired","nullable","readOnly"])});var wm={};ur(wm,{bigint:()=>cD,boolean:()=>aD,date:()=>lD,number:()=>sD,string:()=>oD});function oD(e){return Ff(xi,e)}function sD(e){return Kf(Ti,e)}function aD(e){return rp($i,e)}function cD(e){return ip(Ii,e)}function lD(e){return mp(Ao,e)}var fw=he(()=>{rr();xo()});var Ze={};ur(Ze,{$brand:()=>gl,$input:()=>zf,$output:()=>Lf,NEVER:()=>pl,TimePrecision:()=>Bf,ZodAny:()=>Cg,ZodArray:()=>Ug,ZodBase64:()=>Ba,ZodBase64URL:()=>Wa,ZodBigInt:()=>Ii,ZodBigIntFormat:()=>Va,ZodBoolean:()=>$i,ZodCIDRv4:()=>Fa,ZodCIDRv6:()=>Ma,ZodCUID:()=>Na,ZodCUID2:()=>Ca,ZodCatch:()=>am,ZodCodec:()=>qo,ZodCustom:()=>Lo,ZodCustomStringFormat:()=>ki,ZodDate:()=>Ao,ZodDefault:()=>tm,ZodDiscriminatedUnion:()=>Fg,ZodE164:()=>Ha,ZodEmail:()=>Aa,ZodEmoji:()=>Oa,ZodEnum:()=>Ei,ZodError:()=>XI,ZodExactOptional:()=>Qg,ZodFile:()=>Jg,ZodFirstPartyTypeKind:()=>bm,ZodFunction:()=>hm,ZodGUID:()=>To,ZodIPv4:()=>Ua,ZodIPv6:()=>ja,ZodISODate:()=>ka,ZodISODateTime:()=>xa,ZodISODuration:()=>$a,ZodISOTime:()=>Ta,ZodIntersection:()=>Mg,ZodIssueCode:()=>YI,ZodJWT:()=>Za,ZodKSUID:()=>za,ZodLazy:()=>gm,ZodLiteral:()=>Kg,ZodMAC:()=>Ig,ZodMap:()=>Vg,ZodNaN:()=>lm,ZodNanoID:()=>Pa,ZodNever:()=>Lg,ZodNonOptional:()=>Ya,ZodNull:()=>Pg,ZodNullable:()=>em,ZodNumber:()=>Ti,ZodNumberFormat:()=>kn,ZodObject:()=>Po,ZodOptional:()=>Qa,ZodPipe:()=>Co,ZodPrefault:()=>nm,ZodPreprocess:()=>um,ZodPromise:()=>_m,ZodReadonly:()=>dm,ZodRealError:()=>Jt,ZodRecord:()=>Si,ZodSet:()=>Gg,ZodString:()=>xi,ZodStringFormat:()=>ft,ZodSuccess:()=>sm,ZodSymbol:()=>Ag,ZodTemplateLiteral:()=>pm,ZodTransform:()=>Xg,ZodTuple:()=>Wg,ZodType:()=>Ke,ZodULID:()=>qa,ZodURL:()=>Ro,ZodUUID:()=>Dr,ZodUndefined:()=>Og,ZodUnion:()=>No,ZodUnknown:()=>qg,ZodVoid:()=>zg,ZodXID:()=>La,ZodXor:()=>jg,_ZodString:()=>Ra,_default:()=>rm,_function:()=>Yb,any:()=>Rb,array:()=>Oo,base64:()=>pb,base64url:()=>gb,bigint:()=>kb,boolean:()=>Rg,catch:()=>cm,check:()=>ew,cidrv4:()=>db,cidrv6:()=>fb,clone:()=>jt,codec:()=>Kb,coerce:()=>wm,config:()=>ht,core:()=>Lr,cuid:()=>nb,cuid2:()=>ib,custom:()=>tw,date:()=>Ob,decode:()=>bg,decodeAsync:()=>Sg,describe:()=>rw,discriminatedUnion:()=>zb,e164:()=>mb,email:()=>Vv,emoji:()=>tb,encode:()=>vg,encodeAsync:()=>wg,endsWith:()=>fi,enum:()=>Ja,exactOptional:()=>Yg,file:()=>Hb,flattenError:()=>no,float32:()=>wb,float64:()=>Sb,formatError:()=>io,fromJSONSchema:()=>uw,function:()=>Yb,getErrorMap:()=>tD,globalRegistry:()=>Rt,gt:()=>$r,gte:()=>Mt,guid:()=>Gv,hash:()=>bb,hex:()=>vb,hostname:()=>yb,httpUrl:()=>eb,includes:()=>ui,instanceof:()=>iw,int:()=>Ia,int32:()=>Eb,int64:()=>Tb,intersection:()=>Bg,invertCodec:()=>Jb,ipv4:()=>cb,ipv6:()=>ub,iso:()=>wi,json:()=>sw,jwt:()=>_b,keyof:()=>Pb,ksuid:()=>ab,lazy:()=>mm,length:()=>En,literal:()=>Wb,locales:()=>_o,looseObject:()=>qb,looseRecord:()=>jb,lowercase:()=>ci,lt:()=>Tr,lte:()=>tr,mac:()=>lb,map:()=>Fb,maxLength:()=>Sn,maxSize:()=>Xr,meta:()=>nw,mime:()=>pi,minLength:()=>qr,minSize:()=>Ir,multipleOf:()=>Jr,nan:()=>Gb,nanoid:()=>rb,nativeEnum:()=>Bb,negative:()=>ga,never:()=>Ga,nonnegative:()=>_a,nonoptional:()=>om,nonpositive:()=>ma,normalize:()=>gi,null:()=>Ng,nullable:()=>Io,nullish:()=>Zb,number:()=>Dg,object:()=>Nb,optional:()=>$o,overwrite:()=>vr,parse:()=>mg,parseAsync:()=>_g,partialRecord:()=>Ub,pipe:()=>Da,positive:()=>pa,prefault:()=>im,preprocess:()=>aw,prettifyError:()=>Tl,promise:()=>Qb,property:()=>ha,readonly:()=>fm,record:()=>Zg,refine:()=>ym,regex:()=>ai,regexes:()=>er,registry:()=>Zs,safeDecode:()=>xg,safeDecodeAsync:()=>Tg,safeEncode:()=>Eg,safeEncodeAsync:()=>kg,safeParse:()=>hg,safeParseAsync:()=>yg,set:()=>Mb,setErrorMap:()=>eD,size:()=>wn,slugify:()=>yi,startsWith:()=>di,strictObject:()=>Cb,string:()=>ko,stringFormat:()=>hb,stringbool:()=>ow,success:()=>Vb,superRefine:()=>vm,symbol:()=>Ib,templateLiteral:()=>Xb,toJSONSchema:()=>wa,toLowerCase:()=>_i,toUpperCase:()=>hi,transform:()=>Xa,treeifyError:()=>kl,trim:()=>mi,tuple:()=>Hg,uint32:()=>xb,uint64:()=>$b,ulid:()=>ob,undefined:()=>Db,union:()=>Ka,unknown:()=>xn,uppercase:()=>li,url:()=>Yv,util:()=>ke,uuid:()=>Kv,uuidv4:()=>Jv,uuidv6:()=>Xv,uuidv7:()=>Qv,void:()=>Ab,xid:()=>sb,xor:()=>Lb});var Sm=he(()=>{rr();rr();Zd();rr();wo();dw();qf();So();So();fw();xo();Ea();gg();$g();cw();ht(fo())});var Em=he(()=>{Sm();Sm()});var pw,UN,jN,gw,FN,MN,mw="/sync",_w="/health",hw="/api/pair";var ec=he(()=>{Em();pw=Ze.object({hlc:Ze.string().describe("Hybrid Logical Clock timestamp"),node_id:Ze.string().describe("Origin node that produced the change"),dataset:Ze.string().describe("CRDT dataset, e.g. databases / records / documents"),row_id:Ze.string().describe("Row identifier within the dataset"),col:Ze.string().describe("Column / property identifier"),value:Ze.string().nullable().describe("JSON-encoded field value, or null"),txn:Ze.string().nullable().optional().describe("Change-group id (one logical mutation)")}),UN=Ze.object({node_id:Ze.string().describe("Calling client's node id"),since:Ze.number().describe("Server cursor the client last pulled"),changes:Ze.array(pw).describe("Client's changes to push"),limit:Ze.number().optional().describe("Max changes to return (pagination for hydration)"),exclude_datasets:Ze.array(Ze.string()).optional().describe("Datasets to omit from the pull (partial replica)")}),jN=Ze.object({node_id:Ze.string().describe("Server's node id"),changes:Ze.array(pw).describe("Server changes after `since`"),cursor:Ze.number().describe("New server cursor for the client to store")}),gw=Ze.object({ok:Ze.boolean(),node:Ze.string().describe("Server's node id"),capabilities:Ze.array(Ze.string()).optional().describe("Optional protocol features supported by this server"),version:Ze.string().optional().describe("Core version, for mixed-version workspace warnings")}),FN=Ze.object({code:Ze.string().describe("One-time pairing code minted by this server"),node_id:Ze.string().describe("Calling device's node id"),grant:Ze.string().describe("Durable credential the caller issues to us"),self_url:Ze.string().optional().describe("Caller's reachable server URL (for mutual sync)")}),MN=Ze.object({node_id:Ze.string().describe("This server's node id"),grant:Ze.string().describe("Durable credential we issue to the caller")})});function uD(e,t){return e.query("SELECT pull_cursor, push_cursor, token FROM peers WHERE url = ?").get(t)??{pull_cursor:0,push_cursor:0,token:null}}function dD(e,t,n){e.query("INSERT INTO peers (url, pull_cursor, push_cursor) VALUES (?, ?, ?) ON CONFLICT(url) DO UPDATE SET pull_cursor = excluded.pull_cursor, push_cursor = excluded.push_cursor").run(t,n.pull_cursor,n.push_cursor)}function fD(e,t,n){if(n.length===0)return t;let i=new Set(n.map(yw)),r=e.query("SELECT rowid AS seq, hlc, node_id, dataset, row_id, col FROM crdt_changes WHERE rowid > ? ORDER BY rowid").all(t),o=t;for(let s of r){if(!i.has(yw(s)))break;o=s.seq}return o}async function tc(e,t,n={}){let i=typeof n==="string"?{token:n}:n,r=nt(e),o=uD(e,t),s=i.token??o.token??void 0,c=Br(e,o.push_cursor),d={"content-type":"application/json"};if(s)d.authorization=`Bearer ${s}`;let f=await fetch(new URL(mw,t),{method:"POST",headers:d,body:JSON.stringify({node_id:r,since:o.pull_cursor,changes:c.changes,...i.pullLimit!=null?{limit:i.pullLimit}:{},...i.excludeDatasets?.length?{exclude_datasets:i.excludeDatasets}:{}}),signal:AbortSignal.timeout(i.timeoutMs??30000)});if(!f.ok)throw new H(f.status===401||f.status===403?"auth":"network",`sync failed: ${f.status} ${await f.text()}`);let b=await f.json(),x=b.changes??[],P=xr(e,x);return dD(e,t,{pull_cursor:b.cursor,push_cursor:fD(e,c.cursor,x)}),{pushed:c.changes.length,pulled:P,received:x.length}}var yw=(e)=>`${e.hlc}\x00${e.node_id}\x00${e.dataset}\x00${e.row_id}\x00${e.col}`;var xm=he(()=>{yr();St();ec();ut()});async function bw(e,t,n,i,r=Date.now()){let o=`${t}\x00${n}`;if(r-(vw.get(o)??0)>=1e5){let f={node:n,priority:i,expiresAt:r+300000};await e.put(gD(t,n),new TextEncoder().encode(JSON.stringify(f)),{contentType:"application/json"}),vw.set(o,r)}let s=null,c=[];for(let f of await e.list(pD(t))){if(!f.key.endsWith(".lease"))continue;let b=await e.get(f.key);if(!b)continue;let x;try{x=JSON.parse(new TextDecoder().decode(b))}catch{continue}if(!x.node||x.expiresAt<=r){if(x.expiresAt<=r-300000)c.push(f.key);continue}if(!s||x.priority>s.priority||x.priority===s.priority&&x.node<s.node)s=x}let d=s?s.node===n:!0;if(d)for(let f of c)await e.del(f);return d}var pD=(e)=>`${e}/publisher/`,gD=(e,t)=>`${e}/publisher/${t}.lease`,vw;var ww=he(()=>{vw=new Map});function nr(e){let t=new Uint8Array(e.byteLength);return t.set(e),t.buffer}function ir(e){let t="";for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return btoa(t)}function br(e){let t=atob(e),n=new Uint8Array(t.length);for(let i=0;i<t.length;i++)n[i]=t.charCodeAt(i);return n}function rc(){return crypto.getRandomValues(new Uint8Array(_D))}async function Sw(e,t){let n=await crypto.subtle.importKey("raw",nr(new TextEncoder().encode(e)),"PBKDF2",!1,["deriveKey"]);return crypto.subtle.deriveKey({name:"PBKDF2",salt:nr(t),iterations:km,hash:"SHA-256"},n,{name:"AES-GCM",length:256},!1,["encrypt","decrypt"])}async function Ew(e,t){let n=crypto.getRandomValues(new Uint8Array(mD)),i=await Sw(t,n),r=crypto.getRandomValues(new Uint8Array(Di)),o=new Uint8Array(await crypto.subtle.encrypt({name:"AES-GCM",iv:nr(r)},i,nr(e))),s=new Uint8Array(r.length+o.length);return s.set(r,0),s.set(o,r.length),{v:1,kdf:"PBKDF2-SHA256",iter:km,salt:ir(n),wrap:"AES-GCM",wrapped_key:ir(s)}}async function Tm(e,t){if(e.v!==1||e.kdf!=="PBKDF2-SHA256"||e.wrap!=="AES-GCM")throw new H("invalid_input","unsupported key envelope format");let n=br(e.salt),i=await Sw(t,n),r=br(e.wrapped_key),o=r.subarray(0,Di),s=r.subarray(Di);try{let c=await crypto.subtle.decrypt({name:"AES-GCM",iv:nr(o)},i,nr(s));return new Uint8Array(c)}catch{throw new H("auth","wrong passphrase — could not unwrap the master key")}}async function xw(e,t){let n=await crypto.subtle.importKey("raw",nr(new TextEncoder().encode(e)),"PBKDF2",!1,["deriveBits"]),i=await crypto.subtle.deriveBits({name:"PBKDF2",salt:nr(t),iterations:km,hash:"SHA-256"},n,256);return new Uint8Array(i)}async function kw(e){return crypto.subtle.importKey("raw",nr(e),{name:"AES-GCM"},!1,["encrypt","decrypt"])}async function zr(e,t){let n=await kw(e),i=crypto.getRandomValues(new Uint8Array(Di)),r=new Uint8Array(await crypto.subtle.encrypt({name:"AES-GCM",iv:nr(i)},n,nr(t))),o=new Uint8Array(i.length+r.length);return o.set(i,0),o.set(r,i.length),o}async function Tn(e,t){let n=await kw(e),i=t.subarray(0,Di),r=t.subarray(Di);try{let o=await crypto.subtle.decrypt({name:"AES-GCM",iv:nr(i)},n,nr(r));return new Uint8Array(o)}catch{throw new H("auth","could not decrypt — wrong master key or corrupt data")}}var km=600000,mD=16,Di=12,_D=32;var zo=he(()=>{ut()});function Dw(e){if(e.virtualHostedStyle!=null)return e.virtualHostedStyle;try{return new URL(e.endpoint).hostname.startsWith(`${e.bucket}.`)}catch{return!1}}function Rw(e){$m=e}function Xt(e){if(!$m)throw new H("network","no S3 storage client is registered for this runtime");return $m(e)}function Aw(){return hD}function jo(e){let t=(e||"").replace(/^\/+|\/+$/g,"");return t?`${t}/spaces/default`:"spaces/default"}function Am(e){let t=new Uint8Array(e.byteLength);return t.set(e),t.buffer}async function Pw(e){let t=new Response(Am(e)).body.pipeThrough(new CompressionStream("gzip"));return new Uint8Array(await new Response(t).arrayBuffer())}async function Nw(e){let t=new Response(Am(e)).body.pipeThrough(new DecompressionStream("gzip"));return new Uint8Array(await new Response(t).arrayBuffer())}function TD(e){return e.map((t)=>JSON.stringify(t)).join(`
459
- `)}async function Cw(e,t){let n=await Pw(new TextEncoder().encode(TD(e)));return t?zr(t,n):n}async function qw(e,t){let n=t?await Tn(t,e):e,i=new TextDecoder().decode(await Nw(n));if(!i)return[];return i.split(`
460
- `).filter((r)=>r.length>0).map((r)=>JSON.parse(r))}function nc(e){if(!e.encrypt)return null;if(!e.masterKey)throw new H("invalid_input","encrypted bucket but master key missing — refusing to read/write plaintext");return br(e.masterKey)}async function zw(e,t,n){let i=Xt(e),r=Lw(jo(e.prefix),t),o=nc(e),s=o?await zr(o,n):n;try{return await i.put(r,s,{ifNoneMatch:!0,contentType:"application/octet-stream"}),!0}catch(c){if(Hn(c)==="conflict")return!1;throw c}}async function Om(e,t){let i=await Xt(e).get(Lw(jo(e.prefix),t));if(!i)return null;let r=nc(e);return r?Tn(r,i):i}async function $D(e){let t=await crypto.subtle.digest("SHA-256",Am(new TextEncoder().encode(e)));return[...new Uint8Array(t)].map((n)=>n.toString(16).padStart(2,"0")).join("").slice(0,16)}function ID(e,t){return e.query("SELECT push_cursor FROM peers WHERE url = ?").get(t)?.push_cursor??0}function $w(e,t,n){e.query("UPDATE peers SET push_cursor = ? WHERE url = ?").run(n,t)}function Pm(e,t,n){return e.query("SELECT last_key FROM storage_cursors WHERE peer_url = ? AND node_id = ?").get(t,n)?.last_key??null}function Nm(e,t,n,i){e.query("INSERT INTO storage_cursors (peer_url, node_id, last_key) VALUES (?, ?, ?) ON CONFLICT(peer_url, node_id) DO UPDATE SET last_key = excluded.last_key").run(t,n,i)}function DD(e,t){let n=Pm(e,t,Ow);return new Set(n?n.split(`
461
- `).filter(Boolean):[])}function RD(e,t,n){Nm(e,t,Ow,[...n].join(`
462
- `))}function AD(e,t=Date.now()){let n=e.query(`SELECT ${Vt} FROM crdt_changes c
470
+ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let a of e.seen.entries()){let u=a[1];if(t===a[0]){s(a);continue}if(e.external){let m=e.external.registry.get(a[0])?.id;if(t!==a[0]&&m){s(a);continue}}if(e.metadataRegistry.get(a[0])?.id){s(a);continue}if(u.cycle){s(a);continue}if(u.count>1){if(e.reused==="ref"){s(a);continue}}}}function Ks(e,t){let r=e.seen.get(t);if(!r)throw Error("Unprocessed schema. This is a bug in Zod.");let n=(u)=>{let _=e.seen.get(u);if(_.ref===null)return;let m=_.def??_.schema,x={...m},D=_.ref;if(_.ref=null,D){n(D);let Y=e.seen.get(D),_e=Y.schema;if(_e.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0"))m.allOf=m.allOf??[],m.allOf.push(_e);else Object.assign(m,_e);if(Object.assign(m,x),u._zod.parent===D)for(let ge in m){if(ge==="$ref"||ge==="allOf")continue;if(!(ge in x))delete m[ge]}if(_e.$ref&&Y.def)for(let ge in m){if(ge==="$ref"||ge==="allOf")continue;if(ge in Y.def&&JSON.stringify(m[ge])===JSON.stringify(Y.def[ge]))delete m[ge]}}let j=u._zod.parent;if(j&&j!==D){n(j);let Y=e.seen.get(j);if(Y?.schema.$ref){if(m.$ref=Y.schema.$ref,Y.def)for(let _e in m){if(_e==="$ref"||_e==="allOf")continue;if(_e in Y.def&&JSON.stringify(m[_e])===JSON.stringify(Y.def[_e]))delete m[_e]}}}e.override({zodSchema:u,jsonSchema:m,path:_.path??[]})};for(let u of[...e.seen.entries()].reverse())n(u[0]);let o={};if(e.target==="draft-2020-12")o.$schema="https://json-schema.org/draft/2020-12/schema";else if(e.target==="draft-07")o.$schema="http://json-schema.org/draft-07/schema#";else if(e.target==="draft-04")o.$schema="http://json-schema.org/draft-04/schema#";else if(e.target==="openapi-3.0");if(e.external?.uri){let u=e.external.registry.get(t)?.id;if(!u)throw Error("Schema is missing an `id` property");o.$id=e.external.uri(u)}Object.assign(o,r.def??r.schema);let s=e.metadataRegistry.get(t)?.id;if(s!==void 0&&o.id===s)delete o.id;let a=e.external?.defs??{};for(let u of e.seen.entries()){let _=u[1];if(_.def&&_.defId){if(_.def.id===_.defId)delete _.def.id;a[_.defId]=_.def}}if(e.external);else if(Object.keys(a).length>0)if(e.target==="draft-2020-12")o.$defs=a;else o.definitions=a;try{let u=JSON.parse(JSON.stringify(o));return Object.defineProperty(u,"~standard",{value:{...t["~standard"],jsonSchema:{input:Gn(t,"input",e.processors),output:Gn(t,"output",e.processors)}},enumerable:!1,writable:!1}),u}catch(u){throw Error("Error converting schema to JSON.")}}function kt(e,t){let r=t??{seen:new Set};if(r.seen.has(e))return!1;r.seen.add(e);let n=e._zod.def;if(n.type==="transform")return!0;if(n.type==="array")return kt(n.element,r);if(n.type==="set")return kt(n.valueType,r);if(n.type==="lazy")return kt(n.getter(),r);if(n.type==="promise"||n.type==="optional"||n.type==="nonoptional"||n.type==="nullable"||n.type==="readonly"||n.type==="default"||n.type==="prefault")return kt(n.innerType,r);if(n.type==="intersection")return kt(n.left,r)||kt(n.right,r);if(n.type==="record"||n.type==="map")return kt(n.keyType,r)||kt(n.valueType,r);if(n.type==="pipe"){if(e._zod.traits.has("$ZodCodec"))return!0;return kt(n.in,r)||kt(n.out,r)}if(n.type==="object"){for(let o in n.shape)if(kt(n.shape[o],r))return!0;return!1}if(n.type==="union"){for(let o of n.options)if(kt(o,r))return!0;return!1}if(n.type==="tuple"){for(let o of n.items)if(kt(o,r))return!0;if(n.rest&&kt(n.rest,r))return!0;return!1}return!1}var Hf=(e,t={})=>(r)=>{let n=Zs({...r,processors:t});return _t(e,n),Gs(n,e),Ks(n,e)},Gn=(e,t,r={})=>(n)=>{let{libraryOptions:o,target:s}=n??{},a=Zs({...o??{},target:s,io:t,processors:r});return _t(e,a),Gs(a,e),Ks(a,e)};var ei=De(()=>{Ns()});var nb,Wf=(e,t,r,n)=>{let o=r;o.type="string";let{minimum:s,maximum:a,format:u,patterns:_,contentEncoding:m}=e._zod.bag;if(typeof s==="number")o.minLength=s;if(typeof a==="number")o.maxLength=a;if(u){if(o.format=nb[u]??u,o.format==="")delete o.format;if(u==="time")delete o.format}if(m)o.contentEncoding=m;if(_&&_.size>0){let x=[..._];if(x.length===1)o.pattern=x[0].source;else if(x.length>1)o.allOf=[...x.map((D)=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:D.source}))]}},Zf=(e,t,r,n)=>{let o=r,{minimum:s,maximum:a,format:u,multipleOf:_,exclusiveMaximum:m,exclusiveMinimum:x}=e._zod.bag;if(typeof u==="string"&&u.includes("int"))o.type="integer";else o.type="number";let D=typeof x==="number"&&x>=(s??Number.NEGATIVE_INFINITY),j=typeof m==="number"&&m<=(a??Number.POSITIVE_INFINITY),Y=t.target==="draft-04"||t.target==="openapi-3.0";if(D)if(Y)o.minimum=x,o.exclusiveMinimum=!0;else o.exclusiveMinimum=x;else if(typeof s==="number")o.minimum=s;if(j)if(Y)o.maximum=m,o.exclusiveMaximum=!0;else o.exclusiveMaximum=m;else if(typeof a==="number")o.maximum=a;if(typeof _==="number")o.multipleOf=_},Gf=(e,t,r,n)=>{r.type="boolean"},Kf=(e,t,r,n)=>{r.not={}},Vf=(e,t,r,n)=>{},Jf=(e,t,r,n)=>{let o=e._zod.def,s=Co(o.entries);if(s.every((a)=>typeof a==="number"))r.type="number";if(s.every((a)=>typeof a==="string"))r.type="string";r.enum=s},Xf=(e,t,r,n)=>{let o=e._zod.def,s=[];for(let a of o.values)if(a===void 0){if(t.unrepresentable==="throw")throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof a==="bigint")if(t.unrepresentable==="throw")throw Error("BigInt literals cannot be represented in JSON Schema");else s.push(Number(a));else s.push(a);if(s.length===0);else if(s.length===1){let a=s[0];if(r.type=a===null?"null":typeof a,t.target==="draft-04"||t.target==="openapi-3.0")r.enum=[a];else r.const=a}else{if(s.every((a)=>typeof a==="number"))r.type="number";if(s.every((a)=>typeof a==="string"))r.type="string";if(s.every((a)=>typeof a==="boolean"))r.type="boolean";if(s.every((a)=>a===null))r.type="null";r.enum=s}},Qf=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw Error("Custom types cannot be represented in JSON Schema")},Yf=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw Error("Transforms cannot be represented in JSON Schema")},ep=(e,t,r,n)=>{let o=r,s=e._zod.def,{minimum:a,maximum:u}=e._zod.bag;if(typeof a==="number")o.minItems=a;if(typeof u==="number")o.maxItems=u;o.type="array",o.items=_t(s.element,t,{...n,path:[...n.path,"items"]})},tp=(e,t,r,n)=>{let o=r,s=e._zod.def;o.type="object",o.properties={};let a=s.shape;for(let m in a)o.properties[m]=_t(a[m],t,{...n,path:[...n.path,"properties",m]});let u=new Set(Object.keys(a)),_=new Set([...u].filter((m)=>{let x=s.shape[m]._zod;if(t.io==="input")return x.optin===void 0;else return x.optout===void 0}));if(_.size>0)o.required=Array.from(_);if(s.catchall?._zod.def.type==="never")o.additionalProperties=!1;else if(!s.catchall){if(t.io==="output")o.additionalProperties=!1}else if(s.catchall)o.additionalProperties=_t(s.catchall,t,{...n,path:[...n.path,"additionalProperties"]})},rp=(e,t,r,n)=>{let o=e._zod.def,s=o.inclusive===!1,a=o.options.map((u,_)=>_t(u,t,{...n,path:[...n.path,s?"oneOf":"anyOf",_]}));if(s)r.oneOf=a;else r.anyOf=a},np=(e,t,r,n)=>{let o=e._zod.def,s=_t(o.left,t,{...n,path:[...n.path,"allOf",0]}),a=_t(o.right,t,{...n,path:[...n.path,"allOf",1]}),u=(m)=>("allOf"in m)&&Object.keys(m).length===1,_=[...u(s)?s.allOf:[s],...u(a)?a.allOf:[a]];r.allOf=_},op=(e,t,r,n)=>{let o=e._zod.def,s=_t(o.innerType,t,n),a=t.seen.get(e);if(t.target==="openapi-3.0")a.ref=o.innerType,r.nullable=!0;else r.anyOf=[s,{type:"null"}]},ip=(e,t,r,n)=>{let o=e._zod.def;_t(o.innerType,t,n);let s=t.seen.get(e);s.ref=o.innerType},sp=(e,t,r,n)=>{let o=e._zod.def;_t(o.innerType,t,n);let s=t.seen.get(e);s.ref=o.innerType,r.default=JSON.parse(JSON.stringify(o.defaultValue))},ap=(e,t,r,n)=>{let o=e._zod.def;_t(o.innerType,t,n);let s=t.seen.get(e);if(s.ref=o.innerType,t.io==="input")r._prefault=JSON.parse(JSON.stringify(o.defaultValue))},cp=(e,t,r,n)=>{let o=e._zod.def;_t(o.innerType,t,n);let s=t.seen.get(e);s.ref=o.innerType;let a;try{a=o.catchValue(void 0)}catch{throw Error("Dynamic catch values are not supported in JSON Schema")}r.default=a},lp=(e,t,r,n)=>{let o=e._zod.def,s=o.in._zod.traits.has("$ZodTransform"),a=t.io==="input"?s?o.out:o.in:o.out;_t(a,t,n);let u=t.seen.get(e);u.ref=a},up=(e,t,r,n)=>{let o=e._zod.def;_t(o.innerType,t,n);let s=t.seen.get(e);s.ref=o.innerType,r.readOnly=!0},Vs=(e,t,r,n)=>{let o=e._zod.def;_t(o.innerType,t,n);let s=t.seen.get(e);s.ref=o.innerType};var dp=De(()=>{ei();Jt();nb={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""}});var fp=()=>{};var or=De(()=>{Jt();Ho();Ps();fp();Fr();vs();ws();nf();Wo();Rs();Ns();jf();ei()});var Js=De(()=>{or()});function pp(e){return If(ub,e)}function _p(e){return Pf(db,e)}function gp(e){return Nf(fb,e)}function hp(e){return Cf(pb,e)}var ub,db,fb,pb;var Xs=De(()=>{or();Qs();ub=ce("ZodISODateTime",(e,t)=>{Ed.init(e,t),ot.init(e,t)});db=ce("ZodISODate",(e,t)=>{Sd.init(e,t),ot.init(e,t)});fb=ce("ZodISOTime",(e,t)=>{xd.init(e,t),ot.init(e,t)});pb=ce("ZodISODuration",(e,t)=>{Td.init(e,t),ot.init(e,t)})});var gb=(e,t)=>{Mo.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:(r)=>nu(e,r)},flatten:{value:(r)=>ru(e,r)},addIssue:{value:(r)=>{e.issues.push(r),e.message=JSON.stringify(e.issues,Bn,2)}},addIssues:{value:(r)=>{e.issues.push(...r),e.message=JSON.stringify(e.issues,Bn,2)}},isEmpty:{get(){return e.issues.length===0}}})},qt;var Ys=De(()=>{or();or();Jt();qt=ce("ZodError",gb,{Parent:Error})});var yp,bp,wp,vp,Ep,Sp,xp,Tp,kp,Rp,Ap,Dp;var ea=De(()=>{or();Ys();yp=Bo(qt),bp=Uo(qt),wp=Un(qt),vp=jn(qt),Ep=su(qt),Sp=au(qt),xp=cu(qt),Tp=lu(qt),kp=uu(qt),Rp=du(qt),Ap=fu(qt),Dp=pu(qt)});function Vn(e,t,r){let n=Object.getPrototypeOf(e),o=Op.get(n);if(!o)o=new Set,Op.set(n,o);if(o.has(t))return;o.add(t);for(let s in r){let a=r[s];Object.defineProperty(n,s,{configurable:!0,enumerable:!1,get(){let u=a.bind(this);return Object.defineProperty(this,s,{configurable:!0,writable:!0,enumerable:!0,value:u}),u},set(u){Object.defineProperty(this,s,{configurable:!0,writable:!0,enumerable:!0,value:u})}})}}function at(e){return lf(mb,e)}function ri(e){return qf(Fp,e)}function Pp(e){return Lf(qb,e)}function $b(e){return $f(Lb,e)}function Np(){return Ff(Fb)}function Mb(e){return zf(zb,e)}function Jn(e,t){return Mf(Bb,e,t)}function jr(e,t){let r={type:"object",shape:e??{},...Ne(t)};return new Ub(r)}function Hb(e,t){return new jb({type:"union",options:e,...Ne(t)})}function Zb(e,t){return new Wb({type:"intersection",left:e,right:t})}function ni(e,t){let r=Array.isArray(e)?Object.fromEntries(e.map((n)=>[n,n])):e;return new ta({type:"enum",entries:r,...Ne(t)})}function Kb(e,t){return new Gb({type:"literal",values:Array.isArray(e)?e:[e],...Ne(t)})}function Jb(e){return new Vb({type:"transform",transform:e})}function Cp(e){return new zp({type:"optional",innerType:e})}function Qb(e){return new Xb({type:"optional",innerType:e})}function qp(e){return new Yb({type:"nullable",innerType:e})}function tw(e,t){return new ew({type:"default",innerType:e,get defaultValue(){return typeof t==="function"?t():ms(t)}})}function nw(e,t){return new rw({type:"prefault",innerType:e,get defaultValue(){return typeof t==="function"?t():ms(t)}})}function ow(e,t){return new Mp({type:"nonoptional",innerType:e,...Ne(t)})}function sw(e,t){return new iw({type:"catch",innerType:e,catchValue:typeof t==="function"?t:()=>t})}function Lp(e,t){return new aw({type:"pipe",in:e,out:t})}function lw(e){return new cw({type:"readonly",innerType:e})}function dw(e,t={}){return Bf(uw,e,t)}function fw(e,t){return Uf(e,t)}var Op,st,$p,mb,ot,yb,Ip,ti,bb,wb,vb,Eb,Sb,xb,Tb,kb,Rb,Ab,Db,Ob,Ib,Pb,Nb,Cb,Fp,qb,Lb,Fb,zb,Bb,Ub,jb,Wb,ta,Gb,Vb,zp,Xb,Yb,ew,rw,Mp,iw,aw,cw,uw;var Qs=De(()=>{or();or();dp();ei();Js();Xs();ea();Op=new WeakMap;st=ce("ZodType",(e,t)=>(it.init(e,t),Object.assign(e["~standard"],{jsonSchema:{input:Gn(e,"input"),output:Gn(e,"output")}}),e.toJSONSchema=Hf(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.parse=(r,n)=>yp(e,r,n,{callee:e.parse}),e.safeParse=(r,n)=>wp(e,r,n),e.parseAsync=async(r,n)=>bp(e,r,n,{callee:e.parseAsync}),e.safeParseAsync=async(r,n)=>vp(e,r,n),e.spa=e.safeParseAsync,e.encode=(r,n)=>Ep(e,r,n),e.decode=(r,n)=>Sp(e,r,n),e.encodeAsync=async(r,n)=>xp(e,r,n),e.decodeAsync=async(r,n)=>Tp(e,r,n),e.safeEncode=(r,n)=>kp(e,r,n),e.safeDecode=(r,n)=>Rp(e,r,n),e.safeEncodeAsync=async(r,n)=>Ap(e,r,n),e.safeDecodeAsync=async(r,n)=>Dp(e,r,n),Vn(e,"ZodType",{check(...r){let n=this.def;return this.clone(Er(n,{checks:[...n.checks??[],...r.map((o)=>typeof o==="function"?{_zod:{check:o,def:{check:"custom"},onattach:[]}}:o)]}),{parent:!0})},with(...r){return this.check(...r)},clone(r,n){return nr(this,r,n)},brand(){return this},register(r,n){return r.add(this,n),this},refine(r,n){return this.check(dw(r,n))},superRefine(r,n){return this.check(fw(r,n))},overwrite(r){return this.check(xr(r))},optional(){return Cp(this)},exactOptional(){return Qb(this)},nullable(){return qp(this)},nullish(){return Cp(qp(this))},nonoptional(r){return ow(this,r)},array(){return Jn(this)},or(r){return Hb([this,r])},and(r){return Zb(this,r)},transform(r){return Lp(this,Jb(r))},default(r){return tw(this,r)},prefault(r){return nw(this,r)},catch(r){return sw(this,r)},pipe(r){return Lp(this,r)},readonly(){return lw(this)},describe(r){let n=this.clone();return Ur.add(n,{description:r}),n},meta(...r){if(r.length===0)return Ur.get(this);let n=this.clone();return Ur.add(n,r[0]),n},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(r){return r(this)}}),Object.defineProperty(e,"description",{get(){return Ur.get(e)?.description},configurable:!0}),e)),$p=ce("_ZodString",(e,t)=>{Ko.init(e,t),st.init(e,t),e._zod.processJSONSchema=(n,o,s)=>Wf(e,n,o,s);let r=e._zod.bag;e.format=r.format??null,e.minLength=r.minimum??null,e.maxLength=r.maximum??null,Vn(e,"_ZodString",{regex(...n){return this.check(qs(...n))},includes(...n){return this.check(Fs(...n))},startsWith(...n){return this.check(zs(...n))},endsWith(...n){return this.check(Ms(...n))},min(...n){return this.check(mn(...n))},max(...n){return this.check(Qo(...n))},length(...n){return this.check(Yo(...n))},nonempty(...n){return this.check(mn(1,...n))},lowercase(n){return this.check(Ls(n))},uppercase(n){return this.check($s(n))},trim(){return this.check(Us())},normalize(...n){return this.check(Bs(...n))},toLowerCase(){return this.check(js())},toUpperCase(){return this.check(Hs())},slugify(){return this.check(Ws())}})}),mb=ce("ZodString",(e,t)=>{Ko.init(e,t),$p.init(e,t),e.email=(r)=>e.check(uf(yb,r)),e.url=(r)=>e.check(gf(bb,r)),e.jwt=(r)=>e.check(Of(Cb,r)),e.emoji=(r)=>e.check(hf(wb,r)),e.guid=(r)=>e.check(Cs(Ip,r)),e.uuid=(r)=>e.check(df(ti,r)),e.uuidv4=(r)=>e.check(ff(ti,r)),e.uuidv6=(r)=>e.check(pf(ti,r)),e.uuidv7=(r)=>e.check(_f(ti,r)),e.nanoid=(r)=>e.check(mf(vb,r)),e.guid=(r)=>e.check(Cs(Ip,r)),e.cuid=(r)=>e.check(yf(Eb,r)),e.cuid2=(r)=>e.check(bf(Sb,r)),e.ulid=(r)=>e.check(wf(xb,r)),e.base64=(r)=>e.check(Rf(Ib,r)),e.base64url=(r)=>e.check(Af(Pb,r)),e.xid=(r)=>e.check(vf(Tb,r)),e.ksuid=(r)=>e.check(Ef(kb,r)),e.ipv4=(r)=>e.check(Sf(Rb,r)),e.ipv6=(r)=>e.check(xf(Ab,r)),e.cidrv4=(r)=>e.check(Tf(Db,r)),e.cidrv6=(r)=>e.check(kf(Ob,r)),e.e164=(r)=>e.check(Df(Nb,r)),e.datetime=(r)=>e.check(pp(r)),e.date=(r)=>e.check(_p(r)),e.time=(r)=>e.check(gp(r)),e.duration=(r)=>e.check(hp(r))});ot=ce("ZodStringFormat",(e,t)=>{rt.init(e,t),$p.init(e,t)}),yb=ce("ZodEmail",(e,t)=>{pd.init(e,t),ot.init(e,t)}),Ip=ce("ZodGUID",(e,t)=>{dd.init(e,t),ot.init(e,t)}),ti=ce("ZodUUID",(e,t)=>{fd.init(e,t),ot.init(e,t)}),bb=ce("ZodURL",(e,t)=>{_d.init(e,t),ot.init(e,t)}),wb=ce("ZodEmoji",(e,t)=>{gd.init(e,t),ot.init(e,t)}),vb=ce("ZodNanoID",(e,t)=>{hd.init(e,t),ot.init(e,t)}),Eb=ce("ZodCUID",(e,t)=>{md.init(e,t),ot.init(e,t)}),Sb=ce("ZodCUID2",(e,t)=>{yd.init(e,t),ot.init(e,t)}),xb=ce("ZodULID",(e,t)=>{bd.init(e,t),ot.init(e,t)}),Tb=ce("ZodXID",(e,t)=>{wd.init(e,t),ot.init(e,t)}),kb=ce("ZodKSUID",(e,t)=>{vd.init(e,t),ot.init(e,t)}),Rb=ce("ZodIPv4",(e,t)=>{kd.init(e,t),ot.init(e,t)}),Ab=ce("ZodIPv6",(e,t)=>{Rd.init(e,t),ot.init(e,t)}),Db=ce("ZodCIDRv4",(e,t)=>{Ad.init(e,t),ot.init(e,t)}),Ob=ce("ZodCIDRv6",(e,t)=>{Dd.init(e,t),ot.init(e,t)}),Ib=ce("ZodBase64",(e,t)=>{Id.init(e,t),ot.init(e,t)}),Pb=ce("ZodBase64URL",(e,t)=>{Pd.init(e,t),ot.init(e,t)}),Nb=ce("ZodE164",(e,t)=>{Nd.init(e,t),ot.init(e,t)}),Cb=ce("ZodJWT",(e,t)=>{Cd.init(e,t),ot.init(e,t)}),Fp=ce("ZodNumber",(e,t)=>{Ds.init(e,t),st.init(e,t),e._zod.processJSONSchema=(n,o,s)=>Zf(e,n,o,s),Vn(e,"ZodNumber",{gt(n,o){return this.check(Jo(n,o))},gte(n,o){return this.check(Zn(n,o))},min(n,o){return this.check(Zn(n,o))},lt(n,o){return this.check(Vo(n,o))},lte(n,o){return this.check(Wn(n,o))},max(n,o){return this.check(Wn(n,o))},int(n){return this.check(Pp(n))},safe(n){return this.check(Pp(n))},positive(n){return this.check(Jo(0,n))},nonnegative(n){return this.check(Zn(0,n))},negative(n){return this.check(Vo(0,n))},nonpositive(n){return this.check(Wn(0,n))},multipleOf(n,o){return this.check(Xo(n,o))},step(n,o){return this.check(Xo(n,o))},finite(){return this}});let r=e._zod.bag;e.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??0.5),e.isFinite=!0,e.format=r.format??null});qb=ce("ZodNumberFormat",(e,t)=>{qd.init(e,t),Fp.init(e,t)});Lb=ce("ZodBoolean",(e,t)=>{Ld.init(e,t),st.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Gf(e,r,n,o)});Fb=ce("ZodUnknown",(e,t)=>{$d.init(e,t),st.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Vf(e,r,n,o)});zb=ce("ZodNever",(e,t)=>{Fd.init(e,t),st.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Kf(e,r,n,o)});Bb=ce("ZodArray",(e,t)=>{zd.init(e,t),st.init(e,t),e._zod.processJSONSchema=(r,n,o)=>ep(e,r,n,o),e.element=t.element,Vn(e,"ZodArray",{min(r,n){return this.check(mn(r,n))},nonempty(r){return this.check(mn(1,r))},max(r,n){return this.check(Qo(r,n))},length(r,n){return this.check(Yo(r,n))},unwrap(){return this.element}})});Ub=ce("ZodObject",(e,t)=>{Ud.init(e,t),st.init(e,t),e._zod.processJSONSchema=(r,n,o)=>tp(e,r,n,o),Ve(e,"shape",()=>t.shape),Vn(e,"ZodObject",{keyof(){return ni(Object.keys(this._zod.def.shape))},catchall(r){return this.clone({...this._zod.def,catchall:r})},passthrough(){return this.clone({...this._zod.def,catchall:Np()})},loose(){return this.clone({...this._zod.def,catchall:Np()})},strict(){return this.clone({...this._zod.def,catchall:Mb()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(r){return Hy(this,r)},safeExtend(r){return Wy(this,r)},merge(r){return Zy(this,r)},pick(r){return Uy(this,r)},omit(r){return jy(this,r)},partial(...r){return Gy(zp,this,r[0])},required(...r){return Ky(Mp,this,r[0])}})});jb=ce("ZodUnion",(e,t)=>{jd.init(e,t),st.init(e,t),e._zod.processJSONSchema=(r,n,o)=>rp(e,r,n,o),e.options=t.options});Wb=ce("ZodIntersection",(e,t)=>{Hd.init(e,t),st.init(e,t),e._zod.processJSONSchema=(r,n,o)=>np(e,r,n,o)});ta=ce("ZodEnum",(e,t)=>{Wd.init(e,t),st.init(e,t),e._zod.processJSONSchema=(n,o,s)=>Jf(e,n,o,s),e.enum=t.entries,e.options=Object.values(t.entries);let r=new Set(Object.keys(t.entries));e.extract=(n,o)=>{let s={};for(let a of n)if(r.has(a))s[a]=t.entries[a];else throw Error(`Key ${a} not found in enum`);return new ta({...t,checks:[],...Ne(o),entries:s})},e.exclude=(n,o)=>{let s={...t.entries};for(let a of n)if(r.has(a))delete s[a];else throw Error(`Key ${a} not found in enum`);return new ta({...t,checks:[],...Ne(o),entries:s})}});Gb=ce("ZodLiteral",(e,t)=>{Zd.init(e,t),st.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Xf(e,r,n,o),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});Vb=ce("ZodTransform",(e,t)=>{Gd.init(e,t),st.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Yf(e,r,n,o),e._zod.parse=(r,n)=>{if(n.direction==="backward")throw new zn(e.constructor.name);r.addIssue=(s)=>{if(typeof s==="string")r.issues.push(Br(s,r.value,t));else{let a=s;if(a.fatal)a.continue=!1;a.code??(a.code="custom"),a.input??(a.input=r.value),a.inst??(a.inst=e),r.issues.push(Br(a))}};let o=t.transform(r.value,r);if(o instanceof Promise)return o.then((s)=>(r.value=s,r.fallback=!0,r));return r.value=o,r.fallback=!0,r}});zp=ce("ZodOptional",(e,t)=>{Os.init(e,t),st.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Vs(e,r,n,o),e.unwrap=()=>e._zod.def.innerType});Xb=ce("ZodExactOptional",(e,t)=>{Kd.init(e,t),st.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Vs(e,r,n,o),e.unwrap=()=>e._zod.def.innerType});Yb=ce("ZodNullable",(e,t)=>{Vd.init(e,t),st.init(e,t),e._zod.processJSONSchema=(r,n,o)=>op(e,r,n,o),e.unwrap=()=>e._zod.def.innerType});ew=ce("ZodDefault",(e,t)=>{Jd.init(e,t),st.init(e,t),e._zod.processJSONSchema=(r,n,o)=>sp(e,r,n,o),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});rw=ce("ZodPrefault",(e,t)=>{Xd.init(e,t),st.init(e,t),e._zod.processJSONSchema=(r,n,o)=>ap(e,r,n,o),e.unwrap=()=>e._zod.def.innerType});Mp=ce("ZodNonOptional",(e,t)=>{Qd.init(e,t),st.init(e,t),e._zod.processJSONSchema=(r,n,o)=>ip(e,r,n,o),e.unwrap=()=>e._zod.def.innerType});iw=ce("ZodCatch",(e,t)=>{Yd.init(e,t),st.init(e,t),e._zod.processJSONSchema=(r,n,o)=>cp(e,r,n,o),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});aw=ce("ZodPipe",(e,t)=>{ef.init(e,t),st.init(e,t),e._zod.processJSONSchema=(r,n,o)=>lp(e,r,n,o),e.in=t.in,e.out=t.out});cw=ce("ZodReadonly",(e,t)=>{tf.init(e,t),st.init(e,t),e._zod.processJSONSchema=(r,n,o)=>up(e,r,n,o),e.unwrap=()=>e._zod.def.innerType});uw=ce("ZodCustom",(e,t)=>{rf.init(e,t),st.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Qf(e,r,n,o)})});var Bp;var Up=De(()=>{(function(e){})(Bp||(Bp={}))});var jp=()=>{};var na=De(()=>{or();or();of();Ps();Xs();jp();Qs();Js();Ys();ea();Up();Vt(Is())});var oa=De(()=>{na();na()});var Hp,fk,pk,Wp,_k,gk,Zp="/sync",Gp="/health",Kp="/api/pair";var oi=De(()=>{oa();Hp=jr({hlc:at().describe("Hybrid Logical Clock timestamp"),node_id:at().describe("Origin node that produced the change"),dataset:at().describe("CRDT dataset, e.g. databases / records / documents"),row_id:at().describe("Row identifier within the dataset"),col:at().describe("Column / property identifier"),value:at().nullable().describe("JSON-encoded field value, or null"),txn:at().nullable().optional().describe("Change-group id (one logical mutation)")}),fk=jr({node_id:at().describe("Calling client's node id"),since:ri().describe("Server cursor the client last pulled"),changes:Jn(Hp).describe("Client's changes to push"),limit:ri().optional().describe("Max changes to return (pagination for hydration)"),exclude_datasets:Jn(at()).optional().describe("Datasets to omit from the pull (partial replica)")}),pk=jr({node_id:at().describe("Server's node id"),changes:Jn(Hp).describe("Server changes after `since`"),cursor:ri().describe("New server cursor for the client to store")}),Wp=jr({ok:$b(),node:at().describe("Server's node id"),capabilities:Jn(at()).optional().describe("Optional protocol features supported by this server"),version:at().optional().describe("Core version, for mixed-version workspace warnings")}),_k=jr({code:at().describe("One-time pairing code minted by this server"),node_id:at().describe("Calling device's node id"),grant:at().describe("Durable credential the caller issues to us"),self_url:at().optional().describe("Caller's reachable server URL (for mutual sync)")}),gk=jr({node_id:at().describe("This server's node id"),grant:at().describe("Durable credential we issue to the caller")})});function _w(e,t){return e.query("SELECT pull_cursor, push_cursor, token FROM peers WHERE url = ?").get(t)??{pull_cursor:0,push_cursor:0,token:null}}function gw(e,t,r){e.query("INSERT INTO peers (url, pull_cursor, push_cursor) VALUES (?, ?, ?) ON CONFLICT(url) DO UPDATE SET pull_cursor = excluded.pull_cursor, push_cursor = excluded.push_cursor").run(t,r.pull_cursor,r.push_cursor)}function hw(e,t,r){if(r.length===0)return t;let n=new Set(r.map(Vp)),o=e.query("SELECT rowid AS seq, hlc, node_id, dataset, row_id, col FROM crdt_changes WHERE rowid > ? ORDER BY rowid").all(t),s=t;for(let a of o){if(!n.has(Vp(a)))break;s=a.seq}return s}async function ii(e,t,r={}){let n=typeof r==="string"?{token:r}:r,o=je(e),s=_w(e,t),a=n.token??s.token??void 0,u=br(e,s.push_cursor),_={"content-type":"application/json"};if(a)_.authorization=`Bearer ${a}`;let m=await fetch(new URL(Zp,t),{method:"POST",headers:_,body:JSON.stringify({node_id:o,since:s.pull_cursor,changes:u.changes,...n.pullLimit!=null?{limit:n.pullLimit}:{},...n.excludeDatasets?.length?{exclude_datasets:n.excludeDatasets}:{}}),signal:AbortSignal.timeout(n.timeoutMs??30000)});if(!m.ok)throw new Z(m.status===401||m.status===403?"auth":"network",`sync failed: ${m.status} ${await m.text()}`);let x=await m.json(),D=x.changes??[],j=rr(e,D);return gw(e,t,{pull_cursor:x.cursor,push_cursor:hw(e,u.cursor,D)}),{pushed:u.changes.length,pulled:j,received:D.length}}var Vp=(e)=>`${e.hlc}\x00${e.node_id}\x00${e.dataset}\x00${e.row_id}\x00${e.col}`;var ia=De(()=>{Gt();dt();oi();Ye()});async function Xp(e,t,r,n,o=Date.now()){let s=`${t}\x00${r}`;if(o-(Jp.get(s)??0)>=1e5){let m={node:r,priority:n,expiresAt:o+300000};await e.put(yw(t,r),new TextEncoder().encode(JSON.stringify(m)),{contentType:"application/json"}),Jp.set(s,o)}let a=null,u=[];for(let m of await e.list(mw(t))){if(!m.key.endsWith(".lease"))continue;let x=await e.get(m.key);if(!x)continue;let D;try{D=JSON.parse(new TextDecoder().decode(x))}catch{continue}if(!D.node||D.expiresAt<=o){if(D.expiresAt<=o-300000)u.push(m.key);continue}if(!a||D.priority>a.priority||D.priority===a.priority&&D.node<a.node)a=D}let _=a?a.node===r:!0;if(_)for(let m of u)await e.del(m);return _}var mw=(e)=>`${e}/publisher/`,yw=(e,t)=>`${e}/publisher/${t}.lease`,Jp;var Qp=De(()=>{Jp=new Map});function Xt(e){let t=new Uint8Array(e.byteLength);return t.set(e),t.buffer}function ir(e){let t="";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return btoa(t)}function Qt(e){let t=atob(e),r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r}function sa(){return crypto.getRandomValues(new Uint8Array(ww))}async function e_(e,t){let r=await crypto.subtle.importKey("raw",Xt(new TextEncoder().encode(e)),"PBKDF2",!1,["deriveKey"]);return crypto.subtle.deriveKey({name:"PBKDF2",salt:Xt(t),iterations:Yp,hash:"SHA-256"},r,{name:"AES-GCM",length:256},!1,["encrypt","decrypt"])}async function t_(e,t){let r=crypto.getRandomValues(new Uint8Array(bw)),n=await e_(t,r),o=crypto.getRandomValues(new Uint8Array(yn)),s=new Uint8Array(await crypto.subtle.encrypt({name:"AES-GCM",iv:Xt(o)},n,Xt(e))),a=new Uint8Array(o.length+s.length);return a.set(o,0),a.set(s,o.length),{v:1,kdf:"PBKDF2-SHA256",iter:Yp,salt:ir(r),wrap:"AES-GCM",wrapped_key:ir(a)}}async function aa(e,t){if(e.v!==1||e.kdf!=="PBKDF2-SHA256"||e.wrap!=="AES-GCM")throw new Z("invalid_input","unsupported key envelope format");let r=Qt(e.salt),n=await e_(t,r),o=Qt(e.wrapped_key),s=o.subarray(0,yn),a=o.subarray(yn);try{let u=await crypto.subtle.decrypt({name:"AES-GCM",iv:Xt(s)},n,Xt(a));return new Uint8Array(u)}catch{throw new Z("auth","wrong passphrase — could not unwrap the master key")}}async function r_(e){return crypto.subtle.importKey("raw",Xt(e),{name:"AES-GCM"},!1,["encrypt","decrypt"])}async function gr(e,t){let r=await r_(e),n=crypto.getRandomValues(new Uint8Array(yn)),o=new Uint8Array(await crypto.subtle.encrypt({name:"AES-GCM",iv:Xt(n)},r,Xt(t))),s=new Uint8Array(n.length+o.length);return s.set(n,0),s.set(o,n.length),s}async function Hr(e,t){let r=await r_(e),n=t.subarray(0,yn),o=t.subarray(yn);try{let s=await crypto.subtle.decrypt({name:"AES-GCM",iv:Xt(n)},r,Xt(o));return new Uint8Array(s)}catch{throw new Z("auth","could not decrypt — wrong master key or corrupt data")}}var Yp=600000,bw=16,yn=12,ww=32;var Xn=De(()=>{Ye()});function s_(e){if(e.virtualHostedStyle!=null)return e.virtualHostedStyle;try{return new URL(e.endpoint).hostname.startsWith(`${e.bucket}.`)}catch{return!1}}function a_(e){ca=e}function Ut(e){if(!ca)throw new Z("network","no S3 storage client is registered for this runtime");return ca(e)}function Yn(e){let t=(e||"").replace(/^\/+|\/+$/g,"");return t?`${t}/spaces/default`:"spaces/default"}function fa(e){let t=new Uint8Array(e.byteLength);return t.set(e),t.buffer}async function l_(e){let t=new Response(fa(e)).body.pipeThrough(new CompressionStream("gzip"));return new Uint8Array(await new Response(t).arrayBuffer())}async function u_(e){let t=new Response(fa(e)).body.pipeThrough(new DecompressionStream("gzip"));return new Uint8Array(await new Response(t).arrayBuffer())}function Dw(e){return e.map((t)=>JSON.stringify(t)).join(`
471
+ `)}async function d_(e,t){let r=await l_(new TextEncoder().encode(Dw(e)));return t?gr(t,r):r}async function f_(e,t){let r=t?await Hr(t,e):e,n=new TextDecoder().decode(await u_(r));if(!n)return[];return n.split(`
472
+ `).filter((o)=>o.length>0).map((o)=>JSON.parse(o))}function si(e){if(!e.encrypt)return null;if(!e.masterKey)throw new Z("invalid_input","encrypted bucket but master key missing — refusing to read/write plaintext");return Qt(e.masterKey)}async function __(e,t,r){let n=Ut(e),o=p_(Yn(e.prefix),t),s=si(e),a=s?await gr(s,r):r;try{return await n.put(o,a,{ifNoneMatch:!0,contentType:"application/octet-stream"}),!0}catch(u){if(cn(u)==="conflict")return!1;throw u}}async function pa(e,t){let n=await Ut(e).get(p_(Yn(e.prefix),t));if(!n)return null;let o=si(e);return o?Hr(o,n):n}async function Ow(e){let t=await crypto.subtle.digest("SHA-256",fa(new TextEncoder().encode(e)));return[...new Uint8Array(t)].map((r)=>r.toString(16).padStart(2,"0")).join("").slice(0,16)}function Iw(e,t){return e.query("SELECT push_cursor FROM peers WHERE url = ?").get(t)?.push_cursor??0}function o_(e,t,r){e.query("UPDATE peers SET push_cursor = ? WHERE url = ?").run(r,t)}function _a(e,t,r){return e.query("SELECT last_key FROM storage_cursors WHERE peer_url = ? AND node_id = ?").get(t,r)?.last_key??null}function ga(e,t,r,n){e.query("INSERT INTO storage_cursors (peer_url, node_id, last_key) VALUES (?, ?, ?) ON CONFLICT(peer_url, node_id) DO UPDATE SET last_key = excluded.last_key").run(t,r,n)}function Pw(e,t){let r=_a(e,t,c_);return new Set(r?r.split(`
473
+ `).filter(Boolean):[])}function Nw(e,t,r){ga(e,t,c_,[...r].join(`
474
+ `))}function Cw(e,t=Date.now()){let r=e.query(`SELECT ${It} FROM crdt_changes c
463
475
  WHERE NOT EXISTS (
464
476
  SELECT 1 FROM crdt_changes k
465
477
  WHERE k.dataset = c.dataset AND k.row_id = c.row_id AND k.col = c.col AND k.hlc > c.hlc
466
- )`).all();return Vc(n,t)}function OD(e){let t={};for(let n of e)if(!t[n.node_id]||n.hlc>t[n.node_id])t[n.node_id]=n.hlc;return t}function PD(e){let t=e.query("SELECT node_id, MAX(hlc) AS h FROM crdt_changes GROUP BY node_id").all(),n={};for(let i of t)n[i.node_id]=i.h;return n}function ND(e,t){for(let n in t)if(!e[n]||e[n]<t[n])return!1;return!0}async function CD(e,t){let n=await Pw(new TextEncoder().encode(JSON.stringify(e)));return t?zr(t,n):n}async function qD(e,t){try{let n=t?await Tn(t,e):e;return JSON.parse(new TextDecoder().decode(await Nw(n)))}catch{return null}}function LD(e,t){let n=new Set;for(let i of e){let r=i.key.slice(t.length),o=r.indexOf("/");if(o>0)n.add(r.slice(0,o))}return[...n]}async function zD(e,t){let n=ED(t);return LD(await e.list(n,void 0,"/"),n)}async function Cm(e,t,n){if(!t.encrypt)return null;let i=jo(t.prefix),r=kD(i),o=async(f)=>ir(await Tm(JSON.parse(new TextDecoder().decode(f)),n)),s=await e.get(r);if(s)return o(s);let c=rc(),d=await Ew(c,n);try{return await e.put(r,new TextEncoder().encode(JSON.stringify(d)),{contentType:"application/json",ifNoneMatch:!0}),ir(c)}catch(f){if(Hn(f)==="conflict"){let b=await e.get(r);if(b)return o(b)}throw f}}async function Iw(e,t,n,i=vD){let r=Date.now();Wn(e,r);let o=nc(n),s=jo(n.prefix),c=nt(e),d=(await t.list(Dm(s,c))).map((ie)=>ie.key).filter((ie)=>ie.endsWith(".seg")).sort(),f=d.length?d[d.length-1]:null,b=AD(e,r);if(b.length===0)return null;let x=b.reduce((ie,de)=>de.hlc>ie?de.hlc:ie,""),P=await $D(b.map((ie)=>JSON.stringify(ie)).sort().join(`
467
- `)),F=`${Uo(s)}${x}${Im}${P}.snap`;await t.put(F,await Cw(b,o),{contentType:"application/octet-stream"}),await t.put(Rm(F),await CD({frontier:OD(b),ownNode:c,ownSegHigh:f},o),{contentType:"application/octet-stream"});for(let ie of await t.list(Uo(s))){if(!ie.key.endsWith(".snap"))continue;if(ie.key.slice(Uo(s).length).split(Im)[0]<x)await t.del(ie.key),await t.del(Rm(ie.key))}let ce=d.slice(0,Math.max(0,d.length-i));for(let ie of ce)await t.del(ie);return{key:F,changes:b.length}}function Uw(e){return parseInt(e.slice(0,15),10)}function UD(e){return Date.now()-Uw(e.hlc)}function jD(e,t){let n=Uo(t),i=null;for(let r of e){let o=r.slice(n.length).split(Im)[0];if(i===null||o>i)i=o}return i}async function jw(e,t,n,i,r={}){Wn(e);let o=nt(e),s=nc(i),c=jo(i.prefix),d=ID(e,t),f=Br(e,d,{onlyNode:o}),b=0,x=!1;if(f.changes.length===0)$w(e,t,f.cursor);else{let ie=r.minPushChanges??1,de=r.maxPushAgeMs??0;if(r.forcePush||f.changes.length>=ie||UD(f.changes[0])>=de){let Ye=xD(c,o,f.cursor);await n.put(Tw(c,o),new TextEncoder().encode(Ye),{contentType:"text/plain"}),await n.put(Ye,await Cw(f.changes,s),{contentType:"application/octet-stream"}),$w(e,t,f.cursor),b=f.changes.length}else x=!0}let P=[],F=0;if(r.pull??!0){P=(await n.list(Uo(c))).map((ie)=>ie.key).filter((ie)=>ie.endsWith(".snap")),F+=await FD(e,t,P,n,s);for(let ie of await zD(n,c)){if(ie===o)continue;let de=Pm(e,t,ie),Pe=await n.get(Tw(c,ie));if(Pe){let Ue=new TextDecoder().decode(Pe);if(de&&Ue<=de)continue}let Ye=(await n.list(Dm(c,ie),de??void 0)).filter((Ue)=>Ue.key.endsWith(".seg"));for(let Ue of Ye){let Je=await n.get(Ue.key);if(!Je)continue;let et=await qw(Je,s);F+=xr(e,et),Nm(e,t,ie,Ue.key)}}}let ce=!1;if(r.publish){let ie=e.query("SELECT COUNT(*) AS n FROM crdt_changes").get().n;if(ie>0){let de=jD(P,c),Pe=r.snapshotMinDelta??bD,Ye=r.snapshotDeltaRatio??wD,Ue=r.snapshotMaxIntervalMs??SD,Je=de===null?ie:e.query("SELECT COUNT(*) AS n FROM crdt_changes WHERE hlc > ?").get(de).n;if((de===null||Je>=Math.max(Pe,ie*Ye)||Je>0&&Date.now()-Uw(de)>=Ue)&&await bw(n,c,o,r.priority??0))await Iw(e,n,i,r.snapshotRetainSegments),ce=!0}}if(r.publish&&!ce&&b>0){let ie=r.snapshotEverySegments??200;if((await n.list(Dm(c,o))).filter((Pe)=>Pe.key.endsWith(".seg")).length>=ie)await Iw(e,n,i,r.snapshotRetainSegments)}return{pushed:b,pulled:F,pendingPush:x}}async function FD(e,t,n,i,r){if(n.length===0)return 0;let o=DD(e,t),s=PD(e),c=0;for(let f of[...n].sort().reverse()){if(o.has(f))continue;let b=await i.get(Rm(f)),x=b?await qD(b,r):null;if(x&&ND(s,x.frontier)){o.add(f);continue}let P=await i.get(f);if(!P)continue;let F=await qw(P,r);c+=xr(e,F),o.add(f);for(let ce of F)if(!s[ce.node_id]||ce.hlc>s[ce.node_id])s[ce.node_id]=ce.hlc;if(x?.ownSegHigh){let ce=Pm(e,t,x.ownNode);if(!ce||ce<x.ownSegHigh)Nm(e,t,x.ownNode,x.ownSegHigh)}}let d=new Set(n);return RD(e,t,[...o].filter((f)=>d.has(f))),c}var $m=null,hD=null,Ow="__snapshot__",yD=16,Im="~",vD=40,bD=200,wD=0.5,SD=1800000,ED=(e)=>`${e}/oplog/`,Dm=(e,t)=>`${e}/oplog/${t}/`,Tw=(e,t)=>`${e}/oplog/${t}/HEAD`,xD=(e,t,n)=>`${e}/oplog/${t}/${String(n).padStart(yD,"0")}.seg`,Uo=(e)=>`${e}/snapshot/`,kD=(e)=>`${e}/keys/main.json`,Lw=(e,t)=>`${e}/blobs/${t}`,Rm=(e)=>`${e}.vc`;var Ri=he(()=>{yr();St();ww();ut();zo()});var MD=32,BD=3,sC;var Fw=he(()=>{ut();sC=(MD+BD)*8/5});var Mw=he(()=>{ut()});function WD(e){let t=e.query("SELECT value FROM meta WHERE key = ?").get("site_publish_rollbacks");if(!t?.value)return[];try{let n=JSON.parse(t.value);if(!Array.isArray(n))return[];return n.filter((i)=>!!i&&typeof i.siteId==="string"&&typeof i.peerUrl==="string"&&typeof i.targetUrl==="string"&&Number.isFinite(i.requiredSeq)&&Number.isFinite(i.createdAt)&&typeof i.lastError==="string")}catch{return[]}}function HD(e,t){if(t.length===0){e.query("DELETE FROM meta WHERE key = ?").run("site_publish_rollbacks");return}e.query("INSERT INTO meta (key,value) VALUES (?,?) ON CONFLICT(key) DO UPDATE SET value=excluded.value").run("site_publish_rollbacks",JSON.stringify(t))}function Bw(e,t){let n=e.query("SELECT push_cursor,last_status FROM peers WHERE url = ?").get(t);if(!n||n.last_status!=="ok")return 0;let i=WD(e),r=i.filter((o)=>o.peerUrl!==t||o.requiredSeq>n.push_cursor);return HD(e,r),i.length-r.length}var Hw;var Ww=he(()=>{Hw={name:"@tensorix/metahub",version:"0.5.0",description:"Metahub core library and CLI",license:"AGPL-3.0-only",type:"module",main:"./dist/index.js",module:"./dist/index.js",types:"./dist/index.d.ts",exports:{".":{types:"./dist/index.d.ts",import:"./dist/index.js"},"./package.json":"./package.json"},bin:{metahub:"./dist/cli.js",mh:"./dist/cli.js"},files:["dist","README.md","README.zh-CN.md","LICENSE"],scripts:{dev:"bun --hot src/cli/index.ts",build:"bun run scripts/build.ts","build:shell":"bun run scripts/build-shell.ts","build:share-viewer":"bun run scripts/build-share-viewer.ts","build:binaries":"bun run scripts/compile-binaries.ts","build:binaries:host":"HOST_ONLY=1 bun run scripts/compile-binaries.ts",prepublishOnly:"bun run build",test:"bun test",release:"bun run scripts/tag-release.ts"},dependencies:{"@clack/prompts":"^1.5.0","@codemirror/commands":"6.10.4","@codemirror/state":"6.7.0","@codemirror/view":"6.43.4","@joplin/turndown-plugin-gfm":"^1.0.67","@sqlite.org/sqlite-wasm":"^3.53.0-build1",aws4fetch:"^1.0.20",citty:"^0.1.6","highlight.js":"^11.11.1",jsqr:"^1.4.0",preact:"^10.29.2","qrcode-generator":"^2.0.4",turndown:"^7.2.4",zod:"^4.4.3"},devDependencies:{"@happy-dom/global-registrator":"^20.10.2","@prettier/plugin-php":"^0.25.0","@types/bun":"latest","@types/turndown":"^5.0.6","@wasm-fmt/clang-format":"^22.1.8","@wasm-fmt/gofmt":"^0.7.3","@wasm-fmt/lua_fmt":"^0.3.3","@wasm-fmt/ruff_fmt":"^0.15.20","@wasm-fmt/taplo_fmt":"^0.2.5","mvdan-sh":"^0.10.1",prettier:"^3.6","sql-formatter":"^15",typescript:"^5"}}});function qm(){return{v:1,tables:[]}}function GD(e){return typeof e==="string"&&Lm.includes(e)}function Zw(e){let t=new Map;for(let i of e){let r=t.get(i.db)??new Set;for(let o of i.ops)r.add(o);t.set(i.db,r)}let n=[];for(let[i,r]of t){let o=Lm.filter((s)=>r.has(s));if(o.length)n.push({db:i,ops:o})}return n.sort((i,r)=>i.db<r.db?-1:i.db>r.db?1:0),{v:1,tables:n}}function Ur(e){if(!e)return qm();let t;try{t=JSON.parse(e)}catch{return qm()}try{return Fo(t)}catch{return qm()}}function Fo(e){if(typeof e!=="object"||e===null||Array.isArray(e))throw new H("invalid_input","grants must be an object {v:1, tables:[...]}");let t=e;if(t.v!==1)throw new H("invalid_input","grants version must be 1");if(!Array.isArray(t.tables))throw new H("invalid_input","grants.tables must be an array");let n=[];for(let i of t.tables){if(typeof i!=="object"||i===null)throw new H("invalid_input","each grant table must be an object {db, ops}");let{db:r,ops:o}=i;if(typeof r!=="string"||!r)throw new H("invalid_input","grant table `db` must be a database id");if(!Array.isArray(o)||!o.every(GD))throw new H("invalid_input",`grant ops must be a subset of ${Lm.join("|")} (delete is never grantable)`);n.push({db:r,ops:o})}return Zw(n)}function ic(e){return JSON.stringify(Zw(e.tables))}function Vw(e){return e.tables.some((t)=>t.ops.some((n)=>n!=="read"))}var Lm;var $n=he(()=>{ut();fn();dn();pn();St();Lm=["read","create","update"]});function oc(e,t){let n=t.permission??"view";if(!KD.has(t.kind))throw new H("invalid_input",`unknown share kind: ${t.kind}`);if(n!=="view"&&n!=="edit")throw new H("invalid_input",`unknown share permission: ${n}`);let i=t.requestId?.trim()||null;if(i&&!/^[A-Za-z0-9_-]{16,80}$/.test(i))throw new H("invalid_input","share request id is invalid");if(i){let d=Bo(e,i);if(d){if(d.kind!==t.kind||d.target_id!==t.target_id)throw new H("conflict","share request id was already used for another target");return d}}let r=null;if(t.grants!=null){let d;try{d=JSON.parse(t.grants)}catch{throw new H("invalid_input","grants must be a JSON GrantSet")}r=ic(Fo(d))}let o=kt(12);while(pr(e,o))o=kt(12);let c=n==="edit"||Vw(Ur(r))?"g"+kt(8):null;return e.query(`INSERT INTO shares (${Mo}) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(o,t.kind,t.target_id,n,"server",t.pwSalt??null,t.pwHash??null,t.expiresAt??null,c,t.servedBase??null,null,null,null,null,Date.now(),i,r),pr(e,o)}function Bo(e,t){return e.query(`SELECT ${Mo} FROM shares WHERE request_id = ?`).get(t)??null}function pr(e,t){return e.query(`SELECT ${Mo} FROM shares WHERE slug = ?`).get(t)??null}function sc(e){return e.query(`SELECT ${Mo} FROM shares ORDER BY created_at DESC`).all()}function ac(e,t){return e.query(`SELECT ${Mo} FROM shares WHERE target_id = ? ORDER BY created_at DESC`).all(t)}function or(e,t){return e.query("DELETE FROM shares WHERE slug = ?").run(t).changes>0}function Gw(e){let t=new Uint8Array(e.byteLength);return t.set(e),t.buffer}async function YD(e,t){let n=await crypto.subtle.importKey("raw",Gw(new TextEncoder().encode(e)),"PBKDF2",!1,["deriveBits"]),i=await crypto.subtle.deriveBits({name:"PBKDF2",salt:Gw(t),iterations:JD,hash:"SHA-256"},n,QD);return new Uint8Array(i)}async function cc(e){let t=crypto.getRandomValues(new Uint8Array(XD)),n=await YD(e,t);return{salt:ir(t),hash:ir(n)}}var KD,Mo="slug, kind, target_id, permission, transport, pw_salt, pw_hash, expires_at, guest_node_id, served_base, s3_peer_url, s3_object_prefix, s3_presign_exp, s3_key_b64, created_at, request_id, grants",JD=600000,XD=16,QD=256;var Ai=he(()=>{ut();Ot();zo();$n();KD=new Set(["doc","database","site"])});function zm(e){let t=eR;for(let n=0;n<e.length;n++)t^=BigInt(e.charCodeAt(n)),t=t*tR&rR;return t.toString(16).padStart(16,"0")}var eR=0xcbf29ce484222325n,tR=0x100000001b3n,rR=0xffffffffffffffffn;function Um(e){let t=[],n=[];if(e.grantedDbIds.length>0){let i=e.grantedDbIds.map(()=>"?").join(", ");t.push(`SELECT 'databases' AS dataset, id AS row_id FROM databases WHERE id IN (${i})`),n.push(...e.grantedDbIds),t.push(`SELECT 'properties', id FROM properties WHERE database_id IN (${i})`),n.push(...e.grantedDbIds),t.push(`SELECT 'records', id FROM records WHERE database_id IN (${i})`),n.push(...e.grantedDbIds)}if(e.siteId)t.push("SELECT 'sites', id FROM sites WHERE id = ?"),n.push(e.siteId),t.push("SELECT 'site_files', id FROM site_files WHERE site_id = ?"),n.push(e.siteId);if(t.length===0)t.push("SELECT '' AS dataset, '' AS row_id WHERE 0");return{sql:t.join(" UNION ALL "),params:n}}function Xw(e,t){let n=Um(t);return e.query(`SELECT dataset, row_id FROM (${n.sql}) ORDER BY dataset, row_id`).all(...n.params)}function jm(e,t,n){switch(n.dataset){case"databases":return t.grantedDbIds.includes(n.row_id)&&e.query("SELECT 1 FROM databases WHERE id = ?").get(n.row_id)!=null;case"properties":case"records":{let i=e.query(`SELECT database_id FROM ${n.dataset} WHERE id = ?`).get(n.row_id);return i?.database_id!=null&&t.grantedDbIds.includes(i.database_id)}case"sites":return t.siteId===n.row_id&&e.query("SELECT 1 FROM sites WHERE id = ?").get(n.row_id)!=null;case"site_files":{if(!t.siteId)return!1;return e.query("SELECT site_id FROM site_files WHERE id = ?").get(n.row_id)?.site_id===t.siteId}default:return!1}}function Qw(e,t,n){let i=Um(n),r=e.query(`WITH m(dataset, row_id) AS (${i.sql})
478
+ )`).all();return Zi(r,t)}function qw(e){let t={};for(let r of e)if(!t[r.node_id]||r.hlc>t[r.node_id])t[r.node_id]=r.hlc;return t}function Lw(e){let t=e.query("SELECT node_id, MAX(hlc) AS h FROM crdt_changes GROUP BY node_id").all(),r={};for(let n of t)r[n.node_id]=n.h;return r}function $w(e,t){for(let r in t)if(!e[r]||e[r]<t[r])return!1;return!0}async function Fw(e,t){let r=await l_(new TextEncoder().encode(JSON.stringify(e)));return t?gr(t,r):r}async function zw(e,t){try{let r=t?await Hr(t,e):e;return JSON.parse(new TextDecoder().decode(await u_(r)))}catch{return null}}function Mw(e,t){let r=new Set;for(let n of e){let o=n.key.slice(t.length),s=o.indexOf("/");if(s>0)r.add(o.slice(0,s))}return[...r]}async function Bw(e,t){let r=kw(t);return Mw(await e.list(r,void 0,"/"),r)}async function ha(e,t,r){if(!t.encrypt)return null;let n=Yn(t.prefix),o=Aw(n),s=async(m)=>ir(await aa(JSON.parse(new TextDecoder().decode(m)),r)),a=await e.get(o);if(a)return s(a);let u=sa(),_=await t_(u,r);try{return await e.put(o,new TextEncoder().encode(JSON.stringify(_)),{contentType:"application/json",ifNoneMatch:!0}),ir(u)}catch(m){if(cn(m)==="conflict"){let x=await e.get(o);if(x)return s(x)}throw m}}async function i_(e,t,r,n=Ew){let o=Date.now();an(e,o);let s=si(r),a=Yn(r.prefix),u=je(e),_=(await t.list(ua(a,u))).map((de)=>de.key).filter((de)=>de.endsWith(".seg")).sort(),m=_.length?_[_.length-1]:null,x=Cw(e,o);if(x.length===0)return null;let D=x.reduce((de,ge)=>ge.hlc>de?ge.hlc:de,""),j=await Ow(x.map((de)=>JSON.stringify(de)).sort().join(`
479
+ `)),Y=`${Qn(a)}${D}${la}${j}.snap`;await t.put(Y,await d_(x,s),{contentType:"application/octet-stream"}),await t.put(da(Y),await Fw({frontier:qw(x),ownNode:u,ownSegHigh:m},s),{contentType:"application/octet-stream"});for(let de of await t.list(Qn(a))){if(!de.key.endsWith(".snap"))continue;if(de.key.slice(Qn(a).length).split(la)[0]<D)await t.del(de.key),await t.del(da(de.key))}let _e=_.slice(0,Math.max(0,_.length-n));for(let de of _e)await t.del(de);return{key:Y,changes:x.length}}function g_(e){return parseInt(e.slice(0,15),10)}function Uw(e){return Date.now()-g_(e.hlc)}function jw(e,t){let r=Qn(t),n=null;for(let o of e){let s=o.slice(r.length).split(la)[0];if(n===null||s>n)n=s}return n}async function h_(e,t,r,n,o={}){an(e);let s=je(e),a=si(n),u=Yn(n.prefix),_=Iw(e,t),m=br(e,_,{onlyNode:s}),x=0,D=!1;if(m.changes.length===0)o_(e,t,m.cursor);else{let de=o.minPushChanges??1,ge=o.maxPushAgeMs??0;if(o.forcePush||m.changes.length>=de||Uw(m.changes[0])>=ge){let Ze=Rw(u,s,m.cursor);await r.put(n_(u,s),new TextEncoder().encode(Ze),{contentType:"text/plain"}),await r.put(Ze,await d_(m.changes,a),{contentType:"application/octet-stream"}),o_(e,t,m.cursor),x=m.changes.length}else D=!0}let j=[],Y=0;if(o.pull??!0){j=(await r.list(Qn(u))).map((de)=>de.key).filter((de)=>de.endsWith(".snap")),Y+=await Hw(e,t,j,r,a);for(let de of await Bw(r,u)){if(de===s)continue;let ge=_a(e,t,de),Le=await r.get(n_(u,de));if(Le){let $e=new TextDecoder().decode(Le);if(ge&&$e<=ge)continue}let Ze=(await r.list(ua(u,de),ge??void 0)).filter(($e)=>$e.key.endsWith(".seg"));for(let $e of Ze){let Ue=await r.get($e.key);if(!Ue)continue;let tt=await f_(Ue,a);Y+=rr(e,tt),ga(e,t,de,$e.key)}}}let _e=!1;if(o.publish){let de=e.query("SELECT COUNT(*) AS n FROM crdt_changes").get().n;if(de>0){let ge=jw(j,u),Le=o.snapshotMinDelta??Sw,Ze=o.snapshotDeltaRatio??xw,$e=o.snapshotMaxIntervalMs??Tw,Ue=ge===null?de:e.query("SELECT COUNT(*) AS n FROM crdt_changes WHERE hlc > ?").get(ge).n;if((ge===null||Ue>=Math.max(Le,de*Ze)||Ue>0&&Date.now()-g_(ge)>=$e)&&await Xp(r,u,s,o.priority??0))await i_(e,r,n,o.snapshotRetainSegments),_e=!0}}if(o.publish&&!_e&&x>0){let de=o.snapshotEverySegments??200;if((await r.list(ua(u,s))).filter((Le)=>Le.key.endsWith(".seg")).length>=de)await i_(e,r,n,o.snapshotRetainSegments)}return{pushed:x,pulled:Y,pendingPush:D}}async function Hw(e,t,r,n,o){if(r.length===0)return 0;let s=Pw(e,t),a=Lw(e),u=0;for(let m of[...r].sort().reverse()){if(s.has(m))continue;let x=await n.get(da(m)),D=x?await zw(x,o):null;if(D&&$w(a,D.frontier)){s.add(m);continue}let j=await n.get(m);if(!j)continue;let Y=await f_(j,o);u+=rr(e,Y),s.add(m);for(let _e of Y)if(!a[_e.node_id]||_e.hlc>a[_e.node_id])a[_e.node_id]=_e.hlc;if(D?.ownSegHigh){let _e=_a(e,t,D.ownNode);if(!_e||_e<D.ownSegHigh)ga(e,t,D.ownNode,D.ownSegHigh)}}let _=new Set(r);return Nw(e,t,[...s].filter((m)=>_.has(m))),u}var ca=null,c_="__snapshot__",vw=16,la="~",Ew=40,Sw=200,xw=0.5,Tw=1800000,kw=(e)=>`${e}/oplog/`,ua=(e,t)=>`${e}/oplog/${t}/`,n_=(e,t)=>`${e}/oplog/${t}/HEAD`,Rw=(e,t,r)=>`${e}/oplog/${t}/${String(r).padStart(vw,"0")}.seg`,Qn=(e)=>`${e}/snapshot/`,Aw=(e)=>`${e}/keys/main.json`,p_=(e,t)=>`${e}/blobs/${t}`,da=(e)=>`${e}.vc`;var bn=De(()=>{Gt();dt();Qp();Ye();Xn()});var Ww=32,Zw=3,Nk;var m_=De(()=>{Ye();Nk=(Ww+Zw)*8/5});var y_=De(()=>{Ye()});function Gw(e){let t=e.query("SELECT value FROM meta WHERE key = ?").get("site_publish_rollbacks");if(!t?.value)return[];try{let r=JSON.parse(t.value);if(!Array.isArray(r))return[];return r.filter((n)=>!!n&&typeof n.siteId==="string"&&typeof n.peerUrl==="string"&&typeof n.targetUrl==="string"&&Number.isFinite(n.requiredSeq)&&Number.isFinite(n.createdAt)&&typeof n.lastError==="string")}catch{return[]}}function Kw(e,t){if(t.length===0){e.query("DELETE FROM meta WHERE key = ?").run("site_publish_rollbacks");return}e.query("INSERT INTO meta (key,value) VALUES (?,?) ON CONFLICT(key) DO UPDATE SET value=excluded.value").run("site_publish_rollbacks",JSON.stringify(t))}function b_(e,t){let r=e.query("SELECT push_cursor,last_status FROM peers WHERE url = ?").get(t);if(!r||r.last_status!=="ok")return 0;let n=Gw(e),o=n.filter((s)=>s.peerUrl!==t||s.requiredSeq>r.push_cursor);return Kw(e,o),n.length-o.length}var v_;var w_=De(()=>{v_={name:"@tensorix/metahub",version:"0.5.2",description:"Metahub core library and CLI",license:"AGPL-3.0-only",type:"module",main:"./dist/index.js",module:"./dist/index.js",types:"./dist/index.d.ts",exports:{".":{types:"./dist/index.d.ts",import:"./dist/index.js"},"./package.json":"./package.json"},bin:{metahub:"./dist/cli.js",mh:"./dist/cli.js"},files:["dist","README.md","README.zh-CN.md","LICENSE"],scripts:{dev:"bun --hot src/cli/index.ts",build:"bun run scripts/build.ts","build:shell":"bun run scripts/build-shell.ts","build:share-viewer":"bun run scripts/build-share-viewer.ts","build:binaries":"bun run scripts/compile-binaries.ts","build:binaries:host":"HOST_ONLY=1 bun run scripts/compile-binaries.ts",prepublishOnly:"bun run build",test:"bun test",release:"bun run scripts/tag-release.ts"},dependencies:{"@clack/prompts":"^1.5.0","@codemirror/commands":"6.10.4","@codemirror/state":"6.7.0","@codemirror/view":"6.43.4","@joplin/turndown-plugin-gfm":"^1.0.67","@sqlite.org/sqlite-wasm":"^3.53.0-build1",aws4fetch:"^1.0.20",citty:"^0.1.6","highlight.js":"^11.11.1",jsqr:"^1.4.0",preact:"^10.29.2","qrcode-generator":"^2.0.4",turndown:"^7.2.4",zod:"^4.4.3"},devDependencies:{"@happy-dom/global-registrator":"^20.10.2","@prettier/plugin-php":"^0.25.0","@types/bun":"latest","@types/turndown":"^5.0.6","@wasm-fmt/clang-format":"^22.1.8","@wasm-fmt/gofmt":"^0.7.3","@wasm-fmt/lua_fmt":"^0.3.3","@wasm-fmt/ruff_fmt":"^0.15.20","@wasm-fmt/taplo_fmt":"^0.2.5","mvdan-sh":"^0.10.1",prettier:"^3.6","sql-formatter":"^15",typescript:"^5"}}});function ma(){return{v:1,tables:[]}}function Xw(e){return typeof e==="string"&&ya.includes(e)}function E_(e){let t=new Map;for(let n of e){let o=t.get(n.db)??new Set;for(let s of n.ops)o.add(s);t.set(n.db,o)}let r=[];for(let[n,o]of t){let s=ya.filter((a)=>o.has(a));if(s.length)r.push({db:n,ops:s})}return r.sort((n,o)=>n.db<o.db?-1:n.db>o.db?1:0),{v:1,tables:r}}function hr(e){if(!e)return ma();let t;try{t=JSON.parse(e)}catch{return ma()}try{return eo(t)}catch{return ma()}}function eo(e){if(typeof e!=="object"||e===null||Array.isArray(e))throw new Z("invalid_input","grants must be an object {v:1, tables:[...]}");let t=e;if(t.v!==1)throw new Z("invalid_input","grants version must be 1");if(!Array.isArray(t.tables))throw new Z("invalid_input","grants.tables must be an array");let r=[];for(let n of t.tables){if(typeof n!=="object"||n===null)throw new Z("invalid_input","each grant table must be an object {db, ops}");let{db:o,ops:s}=n;if(typeof o!=="string"||!o)throw new Z("invalid_input","grant table `db` must be a database id");if(!Array.isArray(s)||!s.every(Xw))throw new Z("invalid_input",`grant ops must be a subset of ${ya.join("|")} (delete is never grantable)`);r.push({db:o,ops:s})}return E_(r)}function ai(e){return JSON.stringify(E_(e.tables))}function S_(e){return e.tables.some((t)=>t.ops.some((r)=>r!=="read"))}var ya;var Wr=De(()=>{Ye();qr();Cr();Lr();dt();ya=["read","create","update"]});function ba(e,t){let r=t.permission??"view";if(!Qw.has(t.kind))throw new Z("invalid_input",`unknown share kind: ${t.kind}`);if(r!=="view"&&r!=="edit")throw new Z("invalid_input",`unknown share permission: ${r}`);let n=t.requestId?.trim()||null;if(n&&!/^[A-Za-z0-9_-]{16,80}$/.test(n))throw new Z("invalid_input","share request id is invalid");if(n){let _=T_(e,n);if(_){if(_.kind!==t.kind||_.target_id!==t.target_id)throw new Z("conflict","share request id was already used for another target");return _}}let o=null;if(t.grants!=null){let _;try{_=JSON.parse(t.grants)}catch{throw new Z("invalid_input","grants must be a JSON GrantSet")}o=ai(eo(_))}let s=yt(12);while(sr(e,s))s=yt(12);let u=r==="edit"||S_(hr(o))?"g"+yt(8):null;return e.query(`INSERT INTO shares (${to}) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(s,t.kind,t.target_id,r,"server",t.pwSalt??null,t.pwHash??null,t.expiresAt??null,u,t.servedBase??null,null,null,null,null,Date.now(),n,o),sr(e,s)}function T_(e,t){return e.query(`SELECT ${to} FROM shares WHERE request_id = ?`).get(t)??null}function sr(e,t){return e.query(`SELECT ${to} FROM shares WHERE slug = ?`).get(t)??null}function wa(e){return e.query(`SELECT ${to} FROM shares ORDER BY created_at DESC`).all()}function va(e,t){return e.query(`SELECT ${to} FROM shares WHERE target_id = ? ORDER BY created_at DESC`).all(t)}function Yt(e,t){return e.query("DELETE FROM shares WHERE slug = ?").run(t).changes>0}function x_(e){let t=new Uint8Array(e.byteLength);return t.set(e),t.buffer}async function rv(e,t){let r=await crypto.subtle.importKey("raw",x_(new TextEncoder().encode(e)),"PBKDF2",!1,["deriveBits"]),n=await crypto.subtle.deriveBits({name:"PBKDF2",salt:x_(t),iterations:Yw,hash:"SHA-256"},r,tv);return new Uint8Array(n)}async function Ea(e){let t=crypto.getRandomValues(new Uint8Array(ev)),r=await rv(e,t);return{salt:ir(t),hash:ir(r)}}var Qw,to="slug, kind, target_id, permission, transport, pw_salt, pw_hash, expires_at, guest_node_id, served_base, s3_peer_url, s3_object_prefix, s3_presign_exp, s3_key_b64, created_at, request_id, grants",Yw=600000,ev=16,tv=256;var wn=De(()=>{Ye();bt();Xn();Wr();Qw=new Set(["doc","database","site"])});function Sa(e){let t=nv;for(let r=0;r<e.length;r++)t^=BigInt(e.charCodeAt(r)),t=t*ov&iv;return t.toString(16).padStart(16,"0")}var nv=0xcbf29ce484222325n,ov=0x100000001b3n,iv=0xffffffffffffffffn;function xa(e){let t=[],r=[];if(e.grantedDbIds.length>0){let n=e.grantedDbIds.map(()=>"?").join(", ");t.push(`SELECT 'databases' AS dataset, id AS row_id FROM databases WHERE id IN (${n})`),r.push(...e.grantedDbIds),t.push(`SELECT 'properties', id FROM properties WHERE database_id IN (${n})`),r.push(...e.grantedDbIds),t.push(`SELECT 'records', id FROM records WHERE database_id IN (${n})`),r.push(...e.grantedDbIds)}if(e.siteId)t.push("SELECT 'sites', id FROM sites WHERE id = ?"),r.push(e.siteId),t.push("SELECT 'site_files', id FROM site_files WHERE site_id = ?"),r.push(e.siteId);if(t.length===0)t.push("SELECT '' AS dataset, '' AS row_id WHERE 0");return{sql:t.join(" UNION ALL "),params:r}}function A_(e,t){let r=xa(t);return e.query(`SELECT dataset, row_id FROM (${r.sql}) ORDER BY dataset, row_id`).all(...r.params)}function Ta(e,t,r){switch(r.dataset){case"databases":return t.grantedDbIds.includes(r.row_id)&&e.query("SELECT 1 FROM databases WHERE id = ?").get(r.row_id)!=null;case"properties":case"records":{let n=e.query(`SELECT database_id FROM ${r.dataset} WHERE id = ?`).get(r.row_id);return n?.database_id!=null&&t.grantedDbIds.includes(n.database_id)}case"sites":return t.siteId===r.row_id&&e.query("SELECT 1 FROM sites WHERE id = ?").get(r.row_id)!=null;case"site_files":{if(!t.siteId)return!1;return e.query("SELECT site_id FROM site_files WHERE id = ?").get(r.row_id)?.site_id===t.siteId}default:return!1}}function D_(e,t,r){let n=xa(r),o=e.query(`WITH m(dataset, row_id) AS (${n.sql})
468
480
  SELECT dataset, row_id FROM m
469
- EXCEPT SELECT dataset, row_id FROM room_rows WHERE peer_key = ?`).all(...i.params,t),o=e.query(`WITH m(dataset, row_id) AS (${i.sql})
481
+ EXCEPT SELECT dataset, row_id FROM room_rows WHERE peer_key = ?`).all(...n.params,t),s=e.query(`WITH m(dataset, row_id) AS (${n.sql})
470
482
  SELECT dataset, row_id FROM room_rows WHERE peer_key = ?
471
- EXCEPT SELECT dataset, row_id FROM m`).all(...i.params,t);return{entered:r,left:o}}function lc(e,t,n){let i=e.query("DELETE FROM room_rows WHERE peer_key = ? AND dataset = ? AND row_id = ?");for(let o of n.left)i.run(t,o.dataset,o.row_id);let r=e.query("INSERT OR IGNORE INTO room_rows (peer_key, dataset, row_id) VALUES (?, ?, ?)");for(let o of n.entered)r.run(t,o.dataset,o.row_id)}function Yw(e,t,n){e.query("DELETE FROM room_rows WHERE peer_key = ?").run(t),lc(e,t,{entered:n,left:[]})}function eS(e,t,n,i={}){let r=["c.seq > ?"],o=[n,t];if(i.excludeGuestBase!=null)r.push("NOT (c.node_id = ? OR c.node_id LIKE ? || '-%')"),o.push(i.excludeGuestBase,i.excludeGuestBase);let s=i.limit!=null&&i.limit>0?` LIMIT ${Math.floor(i.limit)}`:"",c=e.query(`SELECT c.seq AS seq, ${Jw} FROM crdt_changes c
483
+ EXCEPT SELECT dataset, row_id FROM m`).all(...n.params,t);return{entered:o,left:s}}function ci(e,t,r){let n=e.query("DELETE FROM room_rows WHERE peer_key = ? AND dataset = ? AND row_id = ?");for(let s of r.left)n.run(t,s.dataset,s.row_id);let o=e.query("INSERT OR IGNORE INTO room_rows (peer_key, dataset, row_id) VALUES (?, ?, ?)");for(let s of r.entered)o.run(t,s.dataset,s.row_id)}function O_(e,t,r){e.query("DELETE FROM room_rows WHERE peer_key = ?").run(t),ci(e,t,{entered:r,left:[]})}function I_(e,t,r,n={}){let o=["c.seq > ?"],s=[r,t];if(n.excludeGuestBase!=null)o.push("NOT (c.node_id = ? OR c.node_id LIKE ? || '-%')"),s.push(n.excludeGuestBase,n.excludeGuestBase);let a=n.limit!=null&&n.limit>0?` LIMIT ${Math.floor(n.limit)}`:"",u=e.query(`SELECT c.seq AS seq, ${R_} FROM crdt_changes c
472
484
  JOIN room_rows r ON r.peer_key = ? AND r.dataset = c.dataset AND r.row_id = c.row_id
473
- WHERE ${r.join(" AND ")} ORDER BY c.seq${s}`).all(...o),d=i.limit==null||i.limit<=0||c.length<i.limit,f;if(d){let b=e.query("SELECT MAX(seq) AS m FROM crdt_changes").get();f=Math.max(t,b.m??t)}else f=c[c.length-1].seq;return{changes:c.map(({seq:b,...x})=>x),cursor:f}}function Fm(e,t,n){return e.query(`SELECT ${Vt} FROM crdt_changes c
485
+ WHERE ${o.join(" AND ")} ORDER BY c.seq${a}`).all(...s),_=n.limit==null||n.limit<=0||u.length<n.limit,m;if(_){let x=e.query("SELECT MAX(seq) AS m FROM crdt_changes").get();m=Math.max(t,x.m??t)}else m=u[u.length-1].seq;return{changes:u.map(({seq:x,...D})=>D),cursor:m}}function ka(e,t,r){return e.query(`SELECT ${It} FROM crdt_changes c
474
486
  WHERE c.dataset = ? AND c.row_id = ? AND NOT EXISTS (
475
487
  SELECT 1 FROM crdt_changes k
476
488
  WHERE k.dataset = c.dataset AND k.row_id = c.row_id AND k.col = c.col AND k.hlc > c.hlc
477
- )`).all(t,n)}function uc(e,t){let n=Um(t);return e.query(`WITH m(dataset, row_id) AS (${n.sql})
478
- SELECT ${Jw} FROM crdt_changes c
489
+ )`).all(t,r)}function li(e,t){let r=xa(t);return e.query(`WITH m(dataset, row_id) AS (${r.sql})
490
+ SELECT ${R_} FROM crdt_changes c
479
491
  JOIN m ON m.dataset = c.dataset AND m.row_id = c.row_id
480
492
  WHERE NOT EXISTS (
481
493
  SELECT 1 FROM crdt_changes k
482
494
  WHERE k.dataset = c.dataset AND k.row_id = c.row_id AND k.col = c.col AND k.hlc > c.hlc
483
- )`).all(...n.params)}function dc(e){let t=e.map((n)=>`${n.dataset}\x00${n.row_id}\x00${n.col}\x00${n.hlc}`).sort();return zm(t.map((n)=>n+"\x1E").join(""))}var Kw,Jw;var Mm=he(()=>{St();Kw=["databases","properties","records","sites","site_files"],Jw=as.map((e)=>"c."+e).join(", ")});var tS=he(()=>{$n();Ai()});var rS=he(()=>{ut();pn();St();Ot();$n()});var fc=1,pc=1048576,a3;var Bm=he(()=>{ut();St();ys();Ot();tS();rS();Mm();a3=Object.fromEntries(Kw.map((e)=>[e,e]))});function nR(e,t){e.query("INSERT INTO peers (url, kind, enabled, pull_cursor, push_cursor) VALUES (?, 'room', 1, 0, 0) ON CONFLICT(url) DO NOTHING").run(t)}function Wo(e,t){let n=e.query("SELECT pull_cursor, push_cursor FROM peers WHERE url = ?").get(t);return{pull:n?.pull_cursor??0,push:n?.push_cursor??0}}function Wm(e,t,n){e.query("UPDATE peers SET pull_cursor = ?, push_cursor = ? WHERE url = ?").run(n.pull,n.push,t)}function iS(e,t){for(let n of e)if(n.node_id!==t&&!n.node_id.startsWith(t+"-"))throw new H("auth",`room returned an op authored by ${JSON.stringify(n.node_id)} — refusing to ingest`)}function oS(e,t,n){let i=new Set,r=[];for(let o of n){let s=`${o.dataset} ${o.row_id}`;if(i.has(s))continue;i.add(s);let c={dataset:o.dataset,row_id:o.row_id};if(jm(e,t.scope,c))r.push(c)}return r}function iR(e,t,n){return e.transaction(()=>{let{push:r}=Wo(e,t.peerKey),o=Qw(e,t.peerKey,t.scope),s=eS(e,r,t.peerKey,{limit:n,excludeGuestBase:t.guestBase}),c=[...s.changes],d=[];for(let f of o.entered){if(c.length>=n&&d.length>0)break;if(c.push(...Fm(e,f.dataset,f.row_id)),d.push(f),c.length>=n)break}return{diff:o,shipped:d,changes:c,pushCursor:s.cursor,pendingBaselines:d.length<o.entered.length,incrementFull:s.changes.length>=n}})()}async function sS(e,t,n,i={}){let r=i.limit??500;nR(e,t.peerKey);let o=Wo(e,t.peerKey).pull,s=iR(e,t,r),c={protocol:fc,mh_version:i.mhVersion,node_id:nt(e),since:o,changes:s.changes,evict:s.diff.left,digest:i.digest?dc(uc(e,t.scope)):void 0},d=await n(c);if(d.protocol!==fc)throw new H("conflict",`room answered protocol ${d.protocol} — upgrade required`);if(d.share_state==="expired")return{pushed:0,pulled:0,evicted:0,pending:!1,healed:!1,needBlobs:[],shareState:"expired"};iS(d.changes,t.guestBase);let f=xr(e,d.changes);if(e.transaction(()=>{lc(e,t.peerKey,{entered:[...s.shipped,...oS(e,t,d.changes)],left:s.diff.left}),Wm(e,t.peerKey,{pull:d.cursor,push:s.pushCursor})})(),d.need_baseline.length>0)await oR(e,t,n,d.need_baseline);let b=!1;if(i.digest&&d.digest!==void 0){if(dc(uc(e,t.scope))!==d.digest)await sR(e,t,n),b=!0}return{pushed:s.changes.length,pulled:f,evicted:s.diff.left.length,pending:s.pendingBaselines||s.incrementFull||d.more===!0,healed:b,needBlobs:d.need_blobs??[],shareState:"active"}}async function oR(e,t,n,i){let r=[],o=[],s=[];for(let d of i)if(jm(e,t.scope,d))r.push(...Fm(e,d.dataset,d.row_id)),s.push(d);else o.push(d);let c=await aS(e,t,n,r,o);if(c.share_state==="expired")return;e.transaction(()=>{lc(e,t.peerKey,{entered:[...s,...oS(e,t,c.changes)],left:o});let d=Wo(e,t.peerKey);Wm(e,t.peerKey,{pull:c.cursor,push:d.push})})()}async function sR(e,t,n){let i=Xw(e,t.scope),r=uc(e,t.scope),o=await aS(e,t,n,r,[],i);if(o.share_state==="expired")return;e.transaction(()=>{Yw(e,t.peerKey,i);let s=Wo(e,t.peerKey);Wm(e,t.peerKey,{pull:o.cursor,push:s.push})})()}async function aS(e,t,n,i,r,o){let s=await n({protocol:fc,node_id:nt(e),since:Wo(e,t.peerKey).pull,changes:i,evict:r,members:o});if(s.share_state==="expired")return s;return iS(s.changes,t.guestBase),xr(e,s.changes),s}var nS=16;var cS=he(()=>{ut();yr();St();Mm();Bm()});function wr(e){return`${e.base.replace(/\/+$/,"")}/r/${e.slug}/`}var Oi={};ur(Oi,{destroyRoom:()=>Sr,provisionRoomForShare:()=>Vm,pushRoomBlobs:()=>pS,registerRoomBlobResolver:()=>Hm,roomPeerKey:()=>mc,roomTransport:()=>fS,roomUrlOf:()=>wr,syncRoomPeer:()=>Zm,teardownRoomForShare:()=>yc});function Hm(e){lS=e}function mc(e){return`room://${e}`}function Rr(e,t,n,i){let r={...t,lifecycle:n,...i?{cleanupError:i}:{cleanupError:void 0}};return Gm(e,{url:mc(t.slug),config:r,label:`room ${t.slug}`}),r}function _c(e,t){return`${e.base.replace(/\/+$/,"")}/r/${encodeURIComponent(e.slug)}/${t}`}function hc(e,t=!0){return{authorization:`Bearer ${e.ownerSecret}`,...t?{"content-type":"application/json"}:{}}}async function uS(e,t){try{return await fetch(_c(e,"owner/provision"),{method:"POST",headers:hc(e),body:JSON.stringify({slug:t.slug,guestBase:e.guestBase,grants:t.grants,pwHash:t.pw_hash,pwSalt:t.pw_salt,expiresAt:t.expires_at}),signal:AbortSignal.timeout(30000)})}catch(n){throw new H("network",`edge worker unreachable: ${n.message}`)}}function dS(e){if(e.status===401)return new H("auth","edge worker refused the owner secret");if(e.status===404)return new H("not_found","the deployed edge worker has no room support — run `mh edge deploy` to upgrade it");return new H("network",`room provisioning failed: HTTP ${e.status}`)}function fS(e){return async(t)=>{let n;try{n=await fetch(_c(e,"owner/sync"),{method:"POST",headers:hc(e),body:JSON.stringify(t),signal:AbortSignal.timeout(30000)})}catch(i){throw new H("network",`room ${e.slug} unreachable: ${i.message}`)}if(n.status===409)throw new H("conflict","room protocol outdated — run `mh edge deploy`");if(n.status===401)throw new H("auth",`room ${e.slug} refused the owner secret`);if(n.status===404)throw new H("not_found",`room ${e.slug} is not provisioned — re-create the share with --room`);if(!n.ok)throw new H("network",`room sync failed: HTTP ${n.status}`);return await n.json()}}async function Zm(e,t,n={}){if(!t.config)throw new H("invalid_input",`room peer ${t.url} has no config`);let i=JSON.parse(t.config);if(i.lifecycle==="cleanup_pending"){if(!await Sr(i).catch(()=>!1))throw new H("network",i.cleanupError||`room ${i.slug} cleanup is still pending`);return Nt(e,t.url),or(e,i.slug),gc.delete(t.url),{pushed:0,pulled:0,pendingPush:!1}}let r=pr(e,i.slug);if(!r){if(await Sr(i).catch(()=>!1))return Nt(e,t.url),{pushed:0,pulled:0,pendingPush:!1};throw i=Rr(e,i,"cleanup_pending","share row is gone but remote room destruction is unconfirmed"),new H("network",i.cleanupError)}if(i.lifecycle==="provisioning"){let F;try{F=await uS(i,r)}catch(de){if(await Sr(i).catch(()=>!1))Nt(e,t.url),or(e,r.slug);else Rr(e,i,"cleanup_pending",de.message);throw de}if(!F.ok){let de=dS(F);if(F.status===401||F.status===404||await Sr(i).catch(()=>!1))Nt(e,t.url),or(e,r.slug);else Rr(e,i,"cleanup_pending",de.message);throw de}let ce=Rr(e,i,"active"),ie=yt(e,t.url);try{return await Zm(e,ie,n)}catch(de){if(await Sr(ce).catch(()=>!1))Nt(e,t.url),or(e,r.slug);else Rr(e,ce,"cleanup_pending",de.message);throw de}}let o={grantedDbIds:Ur(r.grants).tables.map((F)=>F.db),siteId:r.kind==="site"?r.target_id:null},s=i.guestBase??r.guest_node_id;if(!s)throw new H("invalid_input",`room peer ${t.url} has no guest base id — revoke and re-create the share with --room`);let c=gc.get(t.url)??{rounds:0,lastGrants:r.grants},d=fS(i),f=0,b=0,x=[],P=!1;for(let F=0;F<aR;F++){c.rounds++;let ce=c.rounds%nS===0||c.lastGrants!==r.grants;c.lastGrants=r.grants,gc.set(t.url,c);let ie=await sS(e,{peerKey:t.url,scope:o,guestBase:s},d,{digest:ce});if(ie.shareState==="expired")return await Sr(i).catch(()=>{return}),Nt(e,t.url),{pushed:f,pulled:b,pendingPush:!1};if(f+=ie.pushed,b+=ie.pulled,x=ie.needBlobs,P=ie.pending,!ie.pending)break}if(x.length>0)await pS(e,i,x,n.resolveBlob);return{pushed:f,pulled:b,pendingPush:P}}async function pS(e,t,n,i){let r=i??lS;if(!r)return 0;let o=0;for(let s of n){if(!/^[0-9a-f]{16,64}$/.test(s))continue;let c=await r(e,s).catch(()=>null);if(!c)continue;let d=Math.max(1,Math.ceil(c.byteLength/pc)),f=!0;for(let b=0;b<d&&f;b++){let x=c.subarray(b*pc,(b+1)*pc),P=new Uint8Array(x.byteLength);P.set(x),f=!!(await fetch(`${_c(t,`owner/blob/${s}`)}?idx=${b}&total=${d}`,{method:"POST",headers:{...hc(t,!1),"content-type":"application/octet-stream"},body:P.buffer,signal:AbortSignal.timeout(30000)}).catch(()=>null))?.ok}if(f)o++}return o}async function Vm(e,t,n,i){let r={base:n.endpoint.replace(/\/+$/,""),slug:t.slug,ownerSecret:n.token,guestBase:t.guest_node_id??"g"+kt(8),lifecycle:"provisioning"},o=mc(t.slug);Gm(e,{url:o,config:r,label:`room ${t.slug}`});let s;try{s=await uS(r,t)}catch(f){let b=f.message;if(await Sr(r).catch(()=>!1))Nt(e,o);else Rr(e,r,"cleanup_pending",b);throw f}if(!s.ok){let f=dS(s);if(s.status===401||s.status===404)throw Nt(e,o),f;let b=f.message;if(await Sr(r).catch(()=>!1))Nt(e,o);else Rr(e,r,"cleanup_pending",b);throw f}let c=Rr(e,r,"active"),d=yt(e,o);try{await Zm(e,d,{resolveBlob:i})}catch(f){let b=f.message;if(await Sr(c).catch(()=>!1))Nt(e,o);else Rr(e,c,"cleanup_pending",b);throw f}return{url:wr(c),peerKey:o}}async function Sr(e){let t=await fetch(_c(e,"owner/destroy"),{method:"POST",headers:hc(e),signal:AbortSignal.timeout(30000)});return t.ok||t.status===404}async function yc(e,t){let n=yt(e,mc(t));if(!n||n.kind!=="room"||!n.config)return"absent";let i=JSON.parse(n.config),r=Rr(e,i,"cleanup_pending","remote room destruction is unconfirmed");if(!await Sr(r).catch(()=>!1))return"cleanup_pending";return Nt(e,n.url),gc.delete(n.url),"destroyed"}var lS,gc,aR=50;var In=he(()=>{ut();Ot();Ai();$n();Ho();cS();Bm();gc=new Map});function dR(e){let t=e.slice(e.lastIndexOf(".")+1).toLowerCase();return uR[t]??"application/octet-stream"}function Xm(e){let t=e.trim().toLowerCase().replace(/[^a-z0-9-]+/g,"-").replace(/^-+|-+$/g,"");if(!t)throw new H("invalid_input",`invalid site name: ${JSON.stringify(e)}`);return t}function Qm(e){let t=[];for(let n of e.split("/")){if(n===""||n===".")continue;if(n==="..")t.pop();else t.push(n)}return t.join("/")}function _S(e){return e.visibility==="public"}function gr(e,t){return e.query(`SELECT ${Jm} FROM sites WHERE id = ? AND __deleted = 0`).get(t)}function hS(e,t){let n=e.query("SELECT __deleted AS d FROM sites WHERE id = ?").get(t);if(!n)return"absent";return n.d?"tombstoned":"live"}function Ym(e,t){let n;try{n=Xm(t)}catch{return null}return e.query(`SELECT ${Jm} FROM sites WHERE name = ? AND __deleted = 0 ORDER BY created_hlc DESC LIMIT 1`).get(n)}function yS(e){return e.query(`SELECT ${Jm} FROM sites WHERE __deleted = 0 ORDER BY created_hlc`).all()}function tn(e,t){let i=(t.startsWith("site_")?gr(e,t):null)??Ym(e,t);if(!i)throw new H("not_found",`no such site: ${t}`);return i}function Km(e,t,n){return e.query("SELECT content_type, encoding, content FROM site_files WHERE site_id = ? AND path = ? AND __deleted = 0 ORDER BY created_hlc LIMIT 1").get(t,n)}function vS(e,t,n,i={}){let r=n===""||n.endsWith("/")?`${n}index.html`:n,o=Qm(r);if(o){let c=Km(e,t,o);if(c)return{row:c,status:200}}if(i.spa){let c=n.split("/").pop()??"";if(!/\.[a-z0-9]+$/i.test(c)){let d=Km(e,t,"index.html");if(d)return{row:d,status:200}}}let s=Km(e,t,"404.html");if(s)return{row:s,status:404};return null}function bS(e,t){return e.query(`SELECT id, site_id, path, content_type, encoding,
495
+ )`).all(...r.params)}function ui(e){let t=e.map((r)=>`${r.dataset}\x00${r.row_id}\x00${r.col}\x00${r.hlc}`).sort();return Sa(t.map((r)=>r+"\x1E").join(""))}var k_,R_;var Ra=De(()=>{dt();k_=["databases","properties","records","sites","site_files"],R_=vo.map((e)=>"c."+e).join(", ")});var P_=De(()=>{Wr();wn()});var N_=De(()=>{Ye();Lr();dt();bt();Wr()});var di=1,fi=1048576,CR;var Aa=De(()=>{Ye();dt();Po();bt();P_();N_();Ra();CR=Object.fromEntries(k_.map((e)=>[e,e]))});function sv(e,t){e.query("INSERT INTO peers (url, kind, enabled, pull_cursor, push_cursor) VALUES (?, 'room', 1, 0, 0) ON CONFLICT(url) DO NOTHING").run(t)}function ro(e,t){let r=e.query("SELECT pull_cursor, push_cursor FROM peers WHERE url = ?").get(t);return{pull:r?.pull_cursor??0,push:r?.push_cursor??0}}function Da(e,t,r){e.query("UPDATE peers SET pull_cursor = ?, push_cursor = ? WHERE url = ?").run(r.pull,r.push,t)}function q_(e,t){for(let r of e)if(r.node_id!==t&&!r.node_id.startsWith(t+"-"))throw new Z("auth",`room returned an op authored by ${JSON.stringify(r.node_id)} — refusing to ingest`)}function L_(e,t,r){let n=new Set,o=[];for(let s of r){let a=`${s.dataset} ${s.row_id}`;if(n.has(a))continue;n.add(a);let u={dataset:s.dataset,row_id:s.row_id};if(Ta(e,t.scope,u))o.push(u)}return o}function av(e,t,r){return e.transaction(()=>{let{push:o}=ro(e,t.peerKey),s=D_(e,t.peerKey,t.scope),a=I_(e,o,t.peerKey,{limit:r,excludeGuestBase:t.guestBase}),u=[...a.changes],_=[];for(let m of s.entered){if(u.length>=r&&_.length>0)break;if(u.push(...ka(e,m.dataset,m.row_id)),_.push(m),u.length>=r)break}return{diff:s,shipped:_,changes:u,pushCursor:a.cursor,pendingBaselines:_.length<s.entered.length,incrementFull:a.changes.length>=r}})()}async function $_(e,t,r,n={}){let o=n.limit??500;sv(e,t.peerKey);let s=ro(e,t.peerKey).pull,a=av(e,t,o),u={protocol:di,mh_version:n.mhVersion,node_id:je(e),since:s,changes:a.changes,evict:a.diff.left,digest:n.digest?ui(li(e,t.scope)):void 0},_=await r(u);if(_.protocol!==di)throw new Z("conflict",`room answered protocol ${_.protocol} — upgrade required`);if(_.share_state==="expired")return{pushed:0,pulled:0,evicted:0,pending:!1,healed:!1,needBlobs:[],shareState:"expired"};q_(_.changes,t.guestBase);let m=rr(e,_.changes);if(e.transaction(()=>{ci(e,t.peerKey,{entered:[...a.shipped,...L_(e,t,_.changes)],left:a.diff.left}),Da(e,t.peerKey,{pull:_.cursor,push:a.pushCursor})})(),_.need_baseline.length>0)await cv(e,t,r,_.need_baseline);let x=!1;if(n.digest&&_.digest!==void 0){if(ui(li(e,t.scope))!==_.digest)await lv(e,t,r),x=!0}return{pushed:a.changes.length,pulled:m,evicted:a.diff.left.length,pending:a.pendingBaselines||a.incrementFull||_.more===!0,healed:x,needBlobs:_.need_blobs??[],shareState:"active"}}async function cv(e,t,r,n){let o=[],s=[],a=[];for(let _ of n)if(Ta(e,t.scope,_))o.push(...ka(e,_.dataset,_.row_id)),a.push(_);else s.push(_);let u=await F_(e,t,r,o,s);if(u.share_state==="expired")return;e.transaction(()=>{ci(e,t.peerKey,{entered:[...a,...L_(e,t,u.changes)],left:s});let _=ro(e,t.peerKey);Da(e,t.peerKey,{pull:u.cursor,push:_.push})})()}async function lv(e,t,r){let n=A_(e,t.scope),o=li(e,t.scope),s=await F_(e,t,r,o,[],n);if(s.share_state==="expired")return;e.transaction(()=>{O_(e,t.peerKey,n);let a=ro(e,t.peerKey);Da(e,t.peerKey,{pull:s.cursor,push:a.push})})()}async function F_(e,t,r,n,o,s){let a=await r({protocol:di,node_id:je(e),since:ro(e,t.peerKey).pull,changes:n,evict:o,members:s});if(a.share_state==="expired")return a;return q_(a.changes,t.guestBase),rr(e,a.changes),a}var C_=16;var z_=De(()=>{Ye();Gt();dt();Ra();Aa()});function Zr(e){return`${e.base.replace(/\/+$/,"")}/r/${e.slug}/`}function B_(e){M_=e}function Oa(e){return`room://${e}`}function cr(e,t,r,n){let o={...t,lifecycle:r,...n?{cleanupError:n}:{cleanupError:void 0}};return Ia(e,{url:Oa(t.slug),config:o,label:`room ${t.slug}`}),o}function _i(e,t){return`${e.base.replace(/\/+$/,"")}/r/${encodeURIComponent(e.slug)}/${t}`}function gi(e,t=!0){return{authorization:`Bearer ${e.ownerSecret}`,...t?{"content-type":"application/json"}:{}}}async function U_(e,t){try{return await fetch(_i(e,"owner/provision"),{method:"POST",headers:gi(e),body:JSON.stringify({slug:t.slug,guestBase:e.guestBase,grants:t.grants,pwHash:t.pw_hash,pwSalt:t.pw_salt,expiresAt:t.expires_at}),signal:AbortSignal.timeout(30000)})}catch(r){throw new Z("network",`edge worker unreachable: ${r.message}`)}}function j_(e){if(e.status===401)return new Z("auth","edge worker refused the owner secret");if(e.status===404)return new Z("not_found","the deployed edge worker has no room support — run `mh edge deploy` to upgrade it");return new Z("network",`room provisioning failed: HTTP ${e.status}`)}function uv(e){return async(t)=>{let r;try{r=await fetch(_i(e,"owner/sync"),{method:"POST",headers:gi(e),body:JSON.stringify(t),signal:AbortSignal.timeout(30000)})}catch(n){throw new Z("network",`room ${e.slug} unreachable: ${n.message}`)}if(r.status===409)throw new Z("conflict","room protocol outdated — run `mh edge deploy`");if(r.status===401)throw new Z("auth",`room ${e.slug} refused the owner secret`);if(r.status===404)throw new Z("not_found",`room ${e.slug} is not provisioned — re-create the share with --room`);if(!r.ok)throw new Z("network",`room sync failed: HTTP ${r.status}`);return await r.json()}}async function hi(e,t,r={}){if(!t.config)throw new Z("invalid_input",`room peer ${t.url} has no config`);let n=JSON.parse(t.config);if(n.lifecycle==="cleanup_pending"){if(!await ar(n).catch(()=>!1))throw new Z("network",n.cleanupError||`room ${n.slug} cleanup is still pending`);return wt(e,t.url),Yt(e,n.slug),pi.delete(t.url),{pushed:0,pulled:0,pendingPush:!1}}let o=sr(e,n.slug);if(!o){if(await ar(n).catch(()=>!1))return wt(e,t.url),{pushed:0,pulled:0,pendingPush:!1};throw n=cr(e,n,"cleanup_pending","share row is gone but remote room destruction is unconfirmed"),new Z("network",n.cleanupError)}if(n.lifecycle==="provisioning"){let Y;try{Y=await U_(n,o)}catch(ge){if(await ar(n).catch(()=>!1))wt(e,t.url),Yt(e,o.slug);else cr(e,n,"cleanup_pending",ge.message);throw ge}if(!Y.ok){let ge=j_(Y);if(Y.status===401||Y.status===404||await ar(n).catch(()=>!1))wt(e,t.url),Yt(e,o.slug);else cr(e,n,"cleanup_pending",ge.message);throw ge}let _e=cr(e,n,"active"),de=vt(e,t.url);try{return await hi(e,de,r)}catch(ge){if(await ar(_e).catch(()=>!1))wt(e,t.url),Yt(e,o.slug);else cr(e,_e,"cleanup_pending",ge.message);throw ge}}let s={grantedDbIds:hr(o.grants).tables.map((Y)=>Y.db),siteId:o.kind==="site"?o.target_id:null},a=n.guestBase??o.guest_node_id;if(!a)throw new Z("invalid_input",`room peer ${t.url} has no guest base id — revoke and re-create the share with --room`);let u=pi.get(t.url)??{rounds:0,lastGrants:o.grants},_=uv(n),m=0,x=0,D=[],j=!1;for(let Y=0;Y<dv;Y++){u.rounds++;let _e=u.rounds%C_===0||u.lastGrants!==o.grants;u.lastGrants=o.grants,pi.set(t.url,u);let de=await $_(e,{peerKey:t.url,scope:s,guestBase:a},_,{digest:_e});if(de.shareState==="expired")return await ar(n).catch(()=>{return}),wt(e,t.url),{pushed:m,pulled:x,pendingPush:!1};if(m+=de.pushed,x+=de.pulled,D=de.needBlobs,j=de.pending,!de.pending)break}if(D.length>0)await fv(e,n,D,r.resolveBlob);return{pushed:m,pulled:x,pendingPush:j}}async function fv(e,t,r,n){let o=n??M_;if(!o)return 0;let s=0;for(let a of r){if(!/^[0-9a-f]{16,64}$/.test(a))continue;let u=await o(e,a).catch(()=>null);if(!u)continue;let _=Math.max(1,Math.ceil(u.byteLength/fi)),m=!0;for(let x=0;x<_&&m;x++){let D=u.subarray(x*fi,(x+1)*fi),j=new Uint8Array(D.byteLength);j.set(D),m=!!(await fetch(`${_i(t,`owner/blob/${a}`)}?idx=${x}&total=${_}`,{method:"POST",headers:{...gi(t,!1),"content-type":"application/octet-stream"},body:j.buffer,signal:AbortSignal.timeout(30000)}).catch(()=>null))?.ok}if(m)s++}return s}async function H_(e,t,r,n){let o={base:r.endpoint.replace(/\/+$/,""),slug:t.slug,ownerSecret:r.token,guestBase:t.guest_node_id??"g"+yt(8),lifecycle:"provisioning"},s=Oa(t.slug);Ia(e,{url:s,config:o,label:`room ${t.slug}`});let a;try{a=await U_(o,t)}catch(m){let x=m.message;if(await ar(o).catch(()=>!1))wt(e,s);else cr(e,o,"cleanup_pending",x);throw m}if(!a.ok){let m=j_(a);if(a.status===401||a.status===404)throw wt(e,s),m;let x=m.message;if(await ar(o).catch(()=>!1))wt(e,s);else cr(e,o,"cleanup_pending",x);throw m}let u=cr(e,o,"active"),_=vt(e,s);try{await hi(e,_,{resolveBlob:n})}catch(m){let x=m.message;if(await ar(u).catch(()=>!1))wt(e,s);else cr(e,u,"cleanup_pending",x);throw m}return{url:Zr(u),peerKey:s}}async function ar(e){let t=await fetch(_i(e,"owner/destroy"),{method:"POST",headers:gi(e),signal:AbortSignal.timeout(30000)});return t.ok||t.status===404}async function no(e,t){let r=vt(e,Oa(t));if(!r||r.kind!=="room"||!r.config)return"absent";let n=JSON.parse(r.config),o=cr(e,n,"cleanup_pending","remote room destruction is unconfirmed");if(!await ar(o).catch(()=>!1))return"cleanup_pending";return wt(e,r.url),pi.delete(r.url),"destroyed"}var M_,pi,dv=50;var mi=De(()=>{Ye();bt();wn();Wr();oo();z_();Aa();pi=new Map});function hv(e){let t=e.slice(e.lastIndexOf(".")+1).toLowerCase();return gv[t]??"application/octet-stream"}function Ca(e){let t=e.trim().toLowerCase().replace(/[^a-z0-9-]+/g,"-").replace(/^-+|-+$/g,"");if(!t)throw new Z("invalid_input",`invalid site name: ${JSON.stringify(e)}`);return t}function qa(e){let t=[];for(let r of e.split("/")){if(r===""||r===".")continue;if(r==="..")t.pop();else t.push(r)}return t.join("/")}function G_(e){return e.visibility==="public"}function er(e,t){return e.query(`SELECT ${Na} FROM sites WHERE id = ? AND __deleted = 0`).get(t)}function K_(e,t){let r=e.query("SELECT __deleted AS d FROM sites WHERE id = ?").get(t);if(!r)return"absent";return r.d?"tombstoned":"live"}function La(e,t){let r;try{r=Ca(t)}catch{return null}return e.query(`SELECT ${Na} FROM sites WHERE name = ? AND __deleted = 0 ORDER BY created_hlc DESC LIMIT 1`).get(r)}function V_(e){return e.query(`SELECT ${Na} FROM sites WHERE __deleted = 0 ORDER BY created_hlc`).all()}function Gr(e,t){let n=(t.startsWith("site_")?er(e,t):null)??La(e,t);if(!n)throw new Z("not_found",`no such site: ${t}`);return n}function Pa(e,t,r){return e.query("SELECT content_type, encoding, content FROM site_files WHERE site_id = ? AND path = ? AND __deleted = 0 ORDER BY created_hlc LIMIT 1").get(t,r)}function J_(e,t,r,n={}){let o=r===""||r.endsWith("/")?`${r}index.html`:r,s=qa(o);if(s){let u=Pa(e,t,s);if(u)return{row:u,status:200}}if(n.spa){let u=r.split("/").pop()??"";if(!/\.[a-z0-9]+$/i.test(u)){let _=Pa(e,t,"index.html");if(_)return{row:_,status:200}}}let a=Pa(e,t,"404.html");if(a)return{row:a,status:404};return null}function X_(e,t){return e.query(`SELECT id, site_id, path, content_type, encoding,
484
496
  CASE encoding
485
497
  WHEN 'utf8' THEN LENGTH(CAST(content AS BLOB))
486
498
  WHEN 'base64' THEN (LENGTH(content) / 4) * 3
487
499
  ELSE (SELECT size FROM blob_cache WHERE hash = content)
488
500
  END AS size
489
- FROM site_files WHERE site_id = ? AND __deleted = 0 ORDER BY path`).all(t)}function wS(e,t){let n=t.content??"";if(t.encoding==="utf8")return new TextEncoder().encode(n).byteLength;if(t.encoding==="base64")return Math.floor(n.length/4)*3;return e.query("SELECT size FROM blob_cache WHERE hash = ?").get(n)?.size??null}function pR(e){let t=e.toLowerCase();return t.startsWith("text/")||t.startsWith("application/json")||t.startsWith("application/manifest+json")||t.startsWith("application/xml")||t.startsWith("application/javascript")||t.startsWith("image/svg+xml")}function gS(e){if(typeof e==="string")return new TextEncoder().encode(e);return e instanceof Uint8Array?e:new Uint8Array(e)}function gR(e){let t="";for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return btoa(t)}function SS(e){if(e!=="public"&&e!=="private")throw new H("invalid_input",`visibility must be "public" or "private", got ${JSON.stringify(e)}`)}function TS(e,t,n){return e.query("SELECT id FROM site_files WHERE site_id = ? AND path = ? ORDER BY created_hlc LIMIT 1").get(t,n)?.id??null}function mR(e,t,n,i,r,o){let s=e.query(`SELECT ${mS} FROM site_files WHERE site_id = ? AND path = ? AND __deleted = 0 ORDER BY created_hlc LIMIT 1`).get(t,n);if(!s)return null;return s.content_type===i&&s.encoding===r&&s.content===o?s:null}function _R(e,t,n,i,r,o){let s=mR(e,t,n,i,r,o);if(s)return{...s,changed:!1};let c=TS(e,t,n),d=c??Zt("sf",n);return Mr(null,()=>{if(!c){let b=xe(e,"site_files",d,"site_id",t);xe(e,"site_files",d,"path",n),xe(e,"site_files",d,"created_hlc",b.hlc)}xe(e,"site_files",d,"content_type",i),xe(e,"site_files",d,"encoding",r),xe(e,"site_files",d,"content",o),xe(e,"site_files",d,"__deleted",0)}),{...e.query(`SELECT ${mS} FROM site_files WHERE id = ?`).get(d),changed:!0}}function $S(e,t,n,i){let r=Qm(n);if(!r)throw new H("invalid_input",`invalid file path: ${JSON.stringify(n)}`);let o=i.contentType??dR(r),s,c;if(pR(o))s="utf8",c=typeof i.data==="string"?i.data:new TextDecoder().decode(gS(i.data));else{let d=gS(i.data);if(d.byteLength>fR)throw new H("invalid_input","binary too large for inline storage (needs a server-backed blob)");s="base64",c=gR(d)}return _R(e,t,r,o,s,c)}function DS(e){let t=e.query("SELECT site_id, COUNT(*) AS n FROM site_files WHERE __deleted = 0 GROUP BY site_id").all();return new Map(t.map((n)=>[n.site_id,n.n]))}function RS(e,t){return e.query("SELECT COUNT(*) AS n FROM site_files WHERE site_id = ? AND __deleted = 0").get(t).n}var cR,Jm,lR,mS,uR,fR=262144,ES,vc,xS,kS,IS;var Pi=he(()=>{ut();St();Ot();$n();cR=["id","name","title","created_hlc","visibility","spa","public_grants"],Jm=cR.join(", "),lR=["id","site_id","path","content_type","encoding","content"],mS=lR.join(", "),uR={html:"text/html; charset=utf-8",htm:"text/html; charset=utf-8",css:"text/css; charset=utf-8",js:"text/javascript; charset=utf-8",mjs:"text/javascript; charset=utf-8",json:"application/json; charset=utf-8",svg:"image/svg+xml",txt:"text/plain; charset=utf-8",md:"text/markdown; charset=utf-8",xml:"application/xml; charset=utf-8",webmanifest:"application/manifest+json",ico:"image/x-icon",png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",webp:"image/webp",avif:"image/avif",woff:"font/woff",woff2:"font/woff2",ttf:"font/ttf",otf:"font/otf",pdf:"application/pdf",wasm:"application/wasm",mp4:"video/mp4",m4v:"video/mp4",webm:"video/webm",ogv:"video/ogg",mov:"video/quicktime",mkv:"video/x-matroska",mp3:"audio/mpeg",wav:"audio/wav",ogg:"audio/ogg",oga:"audio/ogg",m4a:"audio/mp4",aac:"audio/aac",flac:"audio/flac",opus:"audio/opus",weba:"audio/webm",csv:"text/csv; charset=utf-8",zip:"application/zip",gz:"application/gzip",tar:"application/x-tar",doc:"application/msword",docx:"application/vnd.openxmlformats-officedocument.wordprocessingml.document",xls:"application/vnd.ms-excel",xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",ppt:"application/vnd.ms-powerpoint",pptx:"application/vnd.openxmlformats-officedocument.presentationml.presentation"};ES=Ve(function(t,n){let i=Xm(n.name);if(Ym(t,i))throw new H("conflict",`site name already exists: ${i}`);if(n.visibility!==void 0)SS(n.visibility);let r=Zt("site",i),o=xe(t,"sites",r,"name",i);if(xe(t,"sites",r,"created_hlc",o.hlc),n.title!==void 0)xe(t,"sites",r,"title",n.title);if(n.visibility!==void 0)xe(t,"sites",r,"visibility",n.visibility);return gr(t,r)}),vc=Ve(function(t,n,i){if(!gr(t,n))throw new H("not_found",`no such site: ${n}`);if(i.visibility!==void 0)SS(i.visibility);if(i.name!==void 0){let r=Xm(i.name),o=Ym(t,r);if(o&&o.id!==n)throw new H("conflict",`site name already exists: ${r}`);xe(t,"sites",n,"name",r)}if(i.title!==void 0)xe(t,"sites",n,"title",i.title);if(i.visibility!==void 0)xe(t,"sites",n,"visibility",i.visibility);if(i.spa!==void 0)xe(t,"sites",n,"spa",i.spa?1:0);return gr(t,n)}),xS=Ve(function(t,n,i){if(!gr(t,n))throw new H("not_found",`no such site: ${n}`);let r=i==null?null:ic(Fo(i));return xe(t,"sites",n,"public_grants",r),gr(t,n)}),kS=Ve(function(t,n){if(!gr(t,n))return!1;let i=t.query("SELECT id FROM site_files WHERE site_id = ? AND __deleted = 0").all(n);for(let r of i)xe(t,"site_files",r.id,"__deleted",1);return xe(t,"sites",n,"__deleted",1),!0});IS=Ve(function(t,n,i){let r=TS(t,n,Qm(i));if(!r)return!1;let o=t.query("SELECT __deleted AS d FROM site_files WHERE id = ?").get(r);if(!o||o.d)return!1;return xe(t,"site_files",r,"__deleted",1),!0})});function e_(e){return(e.audience==="public"||e.audience==="link")&&(e.hosting==="device"||e.hosting==="edge")&&(e.desired_state==="active"||e.desired_state==="revoked")}function sr(e,t){return(t?e.query(`SELECT ${Zo} FROM site_channels
490
- WHERE site_id = ? AND __deleted = 0 ORDER BY created_hlc, id`).all(t):e.query(`SELECT ${Zo} FROM site_channels
491
- WHERE __deleted = 0 ORDER BY created_hlc, id`).all()).filter(e_)}function Ni(e,t){let n=e.query(`SELECT ${Zo} FROM site_channels WHERE id = ? AND __deleted = 0`).get(t);return n&&e_(n)?n:null}function yR(e,t){let n=sr(e,t).filter((i)=>i.audience==="public"&&i.desired_state==="active");for(let i of n)Ar(e,i.id,"revoked");return n.length}function AS(e,t,n){let i=sr(e,t).filter((r)=>r.audience==="public"&&r.desired_state==="active");for(let r of i)Ci(e,{id:r.id,siteId:r.site_id,audience:"public",hosting:r.hosting,controllerNodeId:r.controller_node_id,targetRef:r.target_ref,canonicalUrl:r.canonical_url,policy:n,desiredState:"active"});return i.length}function vR(e){if(e==null)return null;try{return JSON.parse(e)}catch{return null}}function bR(e,t,n){let i=sr(e,t).filter((o)=>o.audience==="public"&&o.hosting==="device"&&o.desired_state==="active"&&o.canonical_url!=null),r=0;for(let o of i){let s;try{let c=new URL(o.canonical_url);c.pathname=`/sites/${encodeURIComponent(n)}/`,c.search="",c.hash="",s=c.toString()}catch{continue}Ci(e,{id:o.id,siteId:o.site_id,audience:"public",hosting:"device",controllerNodeId:o.controller_node_id,targetRef:o.target_ref,canonicalUrl:s,policy:vR(o.policy_json),desiredState:"active"}),r++}return r}function OS(e,t,n,i){return e.transaction(()=>Mr("site.update",()=>{let r=vc(e,t,{...n,visibility:n.visibility==="public"?"private":n.visibility});if(n.visibility==="private")yR(e,t);if(n.visibility==="public")i?.recordPublic?.(r);if(n.name!==void 0)bR(e,t,r.name);return gr(e,t)}))()}function PS(e,t){return e.transaction(()=>Mr("site.delete",()=>{if(!kS(e,t))return!1;return wR(e,t),!0}))()}function wR(e,t){let n=sr(e,t).filter((i)=>i.desired_state==="active");for(let i of n)Ar(e,i.id,"revoked");return n.length}function Tt(e,t){return e.query(`INSERT INTO site_channel_observations
501
+ FROM site_files WHERE site_id = ? AND __deleted = 0 ORDER BY path`).all(t)}function Q_(e,t){let r=t.content??"";if(t.encoding==="utf8")return new TextEncoder().encode(r).byteLength;if(t.encoding==="base64")return Math.floor(r.length/4)*3;return e.query("SELECT size FROM blob_cache WHERE hash = ?").get(r)?.size??null}function yv(e){let t=e.toLowerCase();return t.startsWith("text/")||t.startsWith("application/json")||t.startsWith("application/manifest+json")||t.startsWith("application/xml")||t.startsWith("application/javascript")||t.startsWith("image/svg+xml")}function W_(e){if(typeof e==="string")return new TextEncoder().encode(e);return e instanceof Uint8Array?e:new Uint8Array(e)}function bv(e){let t="";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return btoa(t)}function Y_(e){if(e!=="public"&&e!=="private")throw new Z("invalid_input",`visibility must be "public" or "private", got ${JSON.stringify(e)}`)}function ng(e,t,r){return e.query("SELECT id FROM site_files WHERE site_id = ? AND path = ? ORDER BY created_hlc LIMIT 1").get(t,r)?.id??null}function wv(e,t,r,n,o,s){let a=e.query(`SELECT ${Z_} FROM site_files WHERE site_id = ? AND path = ? AND __deleted = 0 ORDER BY created_hlc LIMIT 1`).get(t,r);if(!a)return null;return a.content_type===n&&a.encoding===o&&a.content===s?a:null}function vv(e,t,r,n,o,s){let a=wv(e,t,r,n,o,s);if(a)return{...a,changed:!1};let u=ng(e,t,r),_=u??Ot("sf",r);return Kt(null,()=>{if(!u){let x=be(e,"site_files",_,"site_id",t);be(e,"site_files",_,"path",r),be(e,"site_files",_,"created_hlc",x.hlc)}be(e,"site_files",_,"content_type",n),be(e,"site_files",_,"encoding",o),be(e,"site_files",_,"content",s),be(e,"site_files",_,"__deleted",0)}),{...e.query(`SELECT ${Z_} FROM site_files WHERE id = ?`).get(_),changed:!0}}function og(e,t,r,n){let o=qa(r);if(!o)throw new Z("invalid_input",`invalid file path: ${JSON.stringify(r)}`);let s=n.contentType??hv(o),a,u;if(yv(s))a="utf8",u=typeof n.data==="string"?n.data:new TextDecoder().decode(W_(n.data));else{let _=W_(n.data);if(_.byteLength>mv)throw new Z("invalid_input","binary too large for inline storage (needs a server-backed blob)");a="base64",u=bv(_)}return vv(e,t,o,s,a,u)}function sg(e){let t=e.query("SELECT site_id, COUNT(*) AS n FROM site_files WHERE __deleted = 0 GROUP BY site_id").all();return new Map(t.map((r)=>[r.site_id,r.n]))}function ag(e,t){return e.query("SELECT COUNT(*) AS n FROM site_files WHERE site_id = ? AND __deleted = 0").get(t).n}var pv,Na,_v,Z_,gv,mv=262144,eg,yi,tg,rg,ig;var vn=De(()=>{Ye();dt();bt();Wr();pv=["id","name","title","created_hlc","visibility","spa","public_grants"],Na=pv.join(", "),_v=["id","site_id","path","content_type","encoding","content"],Z_=_v.join(", "),gv={html:"text/html; charset=utf-8",htm:"text/html; charset=utf-8",css:"text/css; charset=utf-8",js:"text/javascript; charset=utf-8",mjs:"text/javascript; charset=utf-8",json:"application/json; charset=utf-8",svg:"image/svg+xml",txt:"text/plain; charset=utf-8",md:"text/markdown; charset=utf-8",xml:"application/xml; charset=utf-8",webmanifest:"application/manifest+json",ico:"image/x-icon",png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",webp:"image/webp",avif:"image/avif",woff:"font/woff",woff2:"font/woff2",ttf:"font/ttf",otf:"font/otf",pdf:"application/pdf",wasm:"application/wasm",mp4:"video/mp4",m4v:"video/mp4",webm:"video/webm",ogv:"video/ogg",mov:"video/quicktime",mkv:"video/x-matroska",mp3:"audio/mpeg",wav:"audio/wav",ogg:"audio/ogg",oga:"audio/ogg",m4a:"audio/mp4",aac:"audio/aac",flac:"audio/flac",opus:"audio/opus",weba:"audio/webm",csv:"text/csv; charset=utf-8",zip:"application/zip",gz:"application/gzip",tar:"application/x-tar",doc:"application/msword",docx:"application/vnd.openxmlformats-officedocument.wordprocessingml.document",xls:"application/vnd.ms-excel",xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",ppt:"application/vnd.ms-powerpoint",pptx:"application/vnd.openxmlformats-officedocument.presentationml.presentation"};eg=ze(function(t,r){let n=Ca(r.name);if(La(t,n))throw new Z("conflict",`site name already exists: ${n}`);if(r.visibility!==void 0)Y_(r.visibility);let o=Ot("site",n),s=be(t,"sites",o,"name",n);if(be(t,"sites",o,"created_hlc",s.hlc),r.title!==void 0)be(t,"sites",o,"title",r.title);if(r.visibility!==void 0)be(t,"sites",o,"visibility",r.visibility);return er(t,o)}),yi=ze(function(t,r,n){if(!er(t,r))throw new Z("not_found",`no such site: ${r}`);if(n.visibility!==void 0)Y_(n.visibility);if(n.name!==void 0){let o=Ca(n.name),s=La(t,o);if(s&&s.id!==r)throw new Z("conflict",`site name already exists: ${o}`);be(t,"sites",r,"name",o)}if(n.title!==void 0)be(t,"sites",r,"title",n.title);if(n.visibility!==void 0)be(t,"sites",r,"visibility",n.visibility);if(n.spa!==void 0)be(t,"sites",r,"spa",n.spa?1:0);return er(t,r)}),tg=ze(function(t,r,n){if(!er(t,r))throw new Z("not_found",`no such site: ${r}`);let o=n==null?null:ai(eo(n));return be(t,"sites",r,"public_grants",o),er(t,r)}),rg=ze(function(t,r){if(!er(t,r))return!1;let n=t.query("SELECT id FROM site_files WHERE site_id = ? AND __deleted = 0").all(r);for(let o of n)be(t,"site_files",o.id,"__deleted",1);return be(t,"sites",r,"__deleted",1),!0});ig=ze(function(t,r,n){let o=ng(t,r,qa(n));if(!o)return!1;let s=t.query("SELECT __deleted AS d FROM site_files WHERE id = ?").get(o);if(!s||s.d)return!1;return be(t,"site_files",o,"__deleted",1),!0})});function $a(e){return(e.audience==="public"||e.audience==="link")&&(e.hosting==="device"||e.hosting==="edge")&&(e.desired_state==="active"||e.desired_state==="revoked")}function jt(e,t){return(t?e.query(`SELECT ${io} FROM site_channels
502
+ WHERE site_id = ? AND __deleted = 0 ORDER BY created_hlc, id`).all(t):e.query(`SELECT ${io} FROM site_channels
503
+ WHERE __deleted = 0 ORDER BY created_hlc, id`).all()).filter($a)}function En(e,t){let r=e.query(`SELECT ${io} FROM site_channels WHERE id = ? AND __deleted = 0`).get(t);return r&&$a(r)?r:null}function Sv(e,t){let r=jt(e,t).filter((n)=>n.audience==="public"&&n.desired_state==="active");for(let n of r)mr(e,n.id,"revoked");return r.length}function cg(e,t,r){let n=jt(e,t).filter((o)=>o.audience==="public"&&o.desired_state==="active");for(let o of n)so(e,{id:o.id,siteId:o.site_id,audience:"public",hosting:o.hosting,controllerNodeId:o.controller_node_id,targetRef:o.target_ref,canonicalUrl:o.canonical_url,policy:r,desiredState:"active"});return n.length}function xv(e){if(e==null)return null;try{return JSON.parse(e)}catch{return null}}function Tv(e,t,r){let n=jt(e,t).filter((s)=>s.audience==="public"&&s.hosting==="device"&&s.desired_state==="active"&&s.canonical_url!=null),o=0;for(let s of n){let a;try{let u=new URL(s.canonical_url);u.pathname=`/sites/${encodeURIComponent(r)}/`,u.search="",u.hash="",a=u.toString()}catch{continue}so(e,{id:s.id,siteId:s.site_id,audience:"public",hosting:"device",controllerNodeId:s.controller_node_id,targetRef:s.target_ref,canonicalUrl:a,policy:xv(s.policy_json),desiredState:"active"}),o++}return o}function lg(e,t,r,n){return e.transaction(()=>Kt("site.update",()=>{let o=yi(e,t,{...r,visibility:r.visibility==="public"?"private":r.visibility});if(r.visibility==="private")Sv(e,t);if(r.visibility==="public")n?.recordPublic?.(o);if(r.name!==void 0)Tv(e,t,o.name);return er(e,t)}))()}function ug(e,t){return e.transaction(()=>Kt("site.delete",()=>{if(!rg(e,t))return!1;return kv(e,t),!0}))()}function kv(e,t){let r=jt(e,t).filter((n)=>n.desired_state==="active");for(let n of r)mr(e,n.id,"revoked");return r.length}function Rt(e,t){return e.query(`INSERT INTO site_channel_observations
492
504
  (channel_id,status,last_verified_at,last_error)
493
505
  VALUES (?,?,?,?)
494
506
  ON CONFLICT(channel_id) DO UPDATE SET
495
507
  status=excluded.status,
496
508
  last_verified_at=excluded.last_verified_at,
497
- last_error=excluded.last_error`).run(t.channelId,t.status,t.lastVerifiedAt??null,t.lastError??null),{channelId:t.channelId,status:t.status,lastVerifiedAt:t.lastVerifiedAt??null,lastError:t.lastError??null}}function NS(e,t){e.query("DELETE FROM site_channel_observations WHERE channel_id = ?").run(t)}function bc(e,t){let n=e.query(`SELECT channel_id,status,last_verified_at,last_error
498
- FROM site_channel_observations WHERE channel_id = ?`).get(t);return n?{channelId:n.channel_id,status:n.status,lastVerifiedAt:n.last_verified_at,lastError:n.last_error}:null}function t_(e,t){let n=nt(e);return sr(e,t).map((i)=>{let r=bc(e,i.id),o;if(i.desired_state==="active")o=r?.status??"unverified";else if(i.hosting==="device"&&i.target_ref===n)o="revoked";else if(r?.status==="revoked"||r?.status==="cleanup_pending"||r?.status==="rollback_pending"||r?.status==="error")o=r.status;else o=i.controller_node_id===n?"cleanup_pending":"waiting_controller";return{id:i.id,siteId:i.site_id,audience:i.audience,hosting:i.hosting,controllerNodeId:i.controller_node_id,targetRef:i.target_ref,canonicalUrl:i.canonical_url,policyJson:i.policy_json,desiredState:i.desired_state,status:o,lastVerifiedAt:r?.lastVerifiedAt??null,lastError:r?.lastError??null}})}function CS(e,t){let n=e.query(`SELECT ${Zo} FROM site_channels
499
- WHERE site_id = ? AND audience = 'public' AND __deleted = 0 ORDER BY created_hlc, id`).all(t.id);if(n.length===0){let s=_S(t);return{serving:s,configured:s,anomaly:null}}let i=n.filter(e_),r=i.filter((s)=>s.desired_state==="active"),o=nt(e);return{serving:r.some((s)=>s.hosting==="device"&&s.target_ref===o),configured:r.length>0,anomaly:n.length>i.length?"malformed_public_channel":null}}var hR,Zo,Ci,Ar;var Vo=he(()=>{St();ut();Ot();yr();Pi();hR=["id","site_id","audience","hosting","controller_node_id","target_ref","canonical_url","policy_json","desired_state","created_hlc","__deleted"],Zo=hR.join(", ");Ci=Ve(function(t,n){if(!gr(t,n.siteId))throw new H("not_found",`no such site: ${n.siteId}`);let i=n.controllerNodeId??nt(t),r=n.id?Ni(t,n.id):t.query(`SELECT ${Zo} FROM site_channels
509
+ last_error=excluded.last_error`).run(t.channelId,t.status,t.lastVerifiedAt??null,t.lastError??null),{channelId:t.channelId,status:t.status,lastVerifiedAt:t.lastVerifiedAt??null,lastError:t.lastError??null}}function dg(e,t){e.query("DELETE FROM site_channel_observations WHERE channel_id = ?").run(t)}function bi(e,t){let r=e.query(`SELECT channel_id,status,last_verified_at,last_error
510
+ FROM site_channel_observations WHERE channel_id = ?`).get(t);return r?{channelId:r.channel_id,status:r.status,lastVerifiedAt:r.last_verified_at,lastError:r.last_error}:null}function Fa(e,t){let r=je(e);return jt(e,t).map((n)=>{let o=bi(e,n.id),s;if(n.desired_state==="active")s=o?.status??"unverified";else if(n.hosting==="device"&&n.target_ref===r)s="revoked";else if(o?.status==="revoked"||o?.status==="cleanup_pending"||o?.status==="rollback_pending"||o?.status==="error")s=o.status;else s=n.controller_node_id===r?"cleanup_pending":"waiting_controller";return{id:n.id,siteId:n.site_id,audience:n.audience,hosting:n.hosting,controllerNodeId:n.controller_node_id,targetRef:n.target_ref,canonicalUrl:n.canonical_url,policyJson:n.policy_json,desiredState:n.desired_state,status:s,lastVerifiedAt:o?.lastVerifiedAt??null,lastError:o?.lastError??null}})}function fg(e,t){let r=e.query(`SELECT ${io} FROM site_channels
511
+ WHERE site_id = ? AND audience = 'public' AND __deleted = 0 ORDER BY created_hlc, id`).all(t.id);if(r.length===0){let a=G_(t);return{serving:a,configured:a,anomaly:null}}let n=r.filter($a),o=n.filter((a)=>a.desired_state==="active"),s=je(e);return{serving:o.some((a)=>a.hosting==="device"&&a.target_ref===s),configured:o.length>0,anomaly:r.length>n.length?"malformed_public_channel":null}}var Ev,io,so,mr;var ao=De(()=>{dt();Ye();bt();Gt();vn();Ev=["id","site_id","audience","hosting","controller_node_id","target_ref","canonical_url","policy_json","desired_state","created_hlc","__deleted"],io=Ev.join(", ");so=ze(function(t,r){if(!er(t,r.siteId))throw new Z("not_found",`no such site: ${r.siteId}`);let n=r.controllerNodeId??je(t),o=r.id?En(t,r.id):t.query(`SELECT ${io} FROM site_channels
500
512
  WHERE site_id = ? AND audience = ? AND hosting = ? AND target_ref = ?
501
513
  AND __deleted = 0
502
- ORDER BY created_hlc LIMIT 1`).get(n.siteId,n.audience,n.hosting,n.targetRef),o=r?.id??Zt("chan",`${n.audience}-${n.hosting}-${n.siteId}`,"channel"),s={audience:n.audience,hosting:n.hosting,controller_node_id:i,target_ref:n.targetRef,canonical_url:n.canonicalUrl??null,policy_json:n.policy==null?null:JSON.stringify(n.policy),desired_state:n.desiredState??"active"};return t.transaction(()=>{if(!r){let c=xe(t,"site_channels",o,"site_id",n.siteId);xe(t,"site_channels",o,"created_hlc",c.hlc)}for(let[c,d]of Object.entries(s)){if(r&&r[c]===d)continue;xe(t,"site_channels",o,c,d)}})(),Ni(t,o)}),Ar=Ve(function(t,n,i){if(!Ni(t,n))throw new H("not_found",`no such site channel: ${n}`);return xe(t,"site_channels",n,"desired_state",i),Ni(t,n)})});var LS={};ur(LS,{CONTROLLER_STATE_MISSING:()=>r_,reconcileSiteChannels:()=>qS,reconcileSiteChannelsQuietly:()=>Go});async function Go(e){try{return await qS(e),null}catch(t){let n=t instanceof Error?t.message:String(t);return console.error(`site channel reconcile failed: ${n}`),n}}async function qS(e){let t=nt(e),n=sr(e),i=new Set;for(let o of n){if(o.desired_state!=="active")continue;if(hS(e,o.site_id)==="tombstoned"){Ar(e,o.id,"revoked"),i.add(o.id);continue}if(o.audience!=="link"||o.controller_node_id!==t)continue;if(!pr(e,o.target_ref))Tt(e,{channelId:o.id,status:"error",lastError:`${r_}: 本机缺少该链接的凭据记录`});else if(bc(e,o.id)?.lastError?.startsWith(r_))NS(e,o.id)}let r=n.map((o)=>i.has(o.id)?Ni(e,o.id)??o:o).filter((o)=>o.controller_node_id===t&&o.desired_state==="revoked"&&o.audience==="link"&&!(o.hosting==="edge"&&bc(e,o.id)?.status==="revoked"));for(let o of r){let s=pr(e,o.target_ref);try{if(o.hosting==="edge"){let{teardownRoomForShare:c}=await Promise.resolve().then(() => (In(),Oi)),d=await c(e,o.target_ref);if(d==="cleanup_pending"){Tt(e,{channelId:o.id,status:"cleanup_pending",lastError:"Edge 尚未确认销毁 Room"});continue}if(d==="absent"){Tt(e,{channelId:o.id,status:"cleanup_pending",lastError:"Edge Room 记录缺失,销毁未确认"});continue}}else if(!s){Tt(e,{channelId:o.id,status:"revoked",lastVerifiedAt:Date.now()});continue}if(s)or(e,s.slug);Tt(e,{channelId:o.id,status:"revoked",lastVerifiedAt:Date.now()})}catch(c){Tt(e,{channelId:o.id,status:"cleanup_pending",lastError:c instanceof Error?c.message:String(c)})}}}var r_="controller_state_missing";var n_=he(()=>{yr();Vo();Ai();Pi()});function Ct(e){return e.query(`SELECT ${jS} FROM peers ORDER BY url`).all()}function yt(e,t){return e.query(`SELECT ${jS} FROM peers WHERE url = ?`).get(t)??null}function FS(e,t){e.query(`INSERT INTO peers (url, token, label, node_id, enabled, pull_cursor, push_cursor)
514
+ ORDER BY created_hlc LIMIT 1`).get(r.siteId,r.audience,r.hosting,r.targetRef),s=o?.id??Ot("chan",`${r.audience}-${r.hosting}-${r.siteId}`,"channel"),a={audience:r.audience,hosting:r.hosting,controller_node_id:n,target_ref:r.targetRef,canonical_url:r.canonicalUrl??null,policy_json:r.policy==null?null:JSON.stringify(r.policy),desired_state:r.desiredState??"active"};return t.transaction(()=>{if(!o){let u=be(t,"site_channels",s,"site_id",r.siteId);be(t,"site_channels",s,"created_hlc",u.hlc)}for(let[u,_]of Object.entries(a)){if(o&&o[u]===_)continue;be(t,"site_channels",s,u,_)}})(),En(t,s)}),mr=ze(function(t,r,n){if(!En(t,r))throw new Z("not_found",`no such site channel: ${r}`);return be(t,"site_channels",r,"desired_state",n),En(t,r)})});async function Sn(e){try{return await Rv(e),null}catch(t){let r=t instanceof Error?t.message:String(t);return console.error(`site channel reconcile failed: ${r}`),r}}async function Rv(e){let t=je(e),r=jt(e),n=new Set;for(let s of r){if(s.desired_state!=="active")continue;if(K_(e,s.site_id)==="tombstoned"){mr(e,s.id,"revoked"),n.add(s.id);continue}if(s.audience!=="link"||s.controller_node_id!==t)continue;if(!sr(e,s.target_ref))Rt(e,{channelId:s.id,status:"error",lastError:`${pg}: 本机缺少该链接的凭据记录`});else if(bi(e,s.id)?.lastError?.startsWith(pg))dg(e,s.id)}let o=r.map((s)=>n.has(s.id)?En(e,s.id)??s:s).filter((s)=>s.controller_node_id===t&&s.desired_state==="revoked"&&s.audience==="link"&&!(s.hosting==="edge"&&bi(e,s.id)?.status==="revoked"));for(let s of o){let a=sr(e,s.target_ref);try{if(s.hosting==="edge"){await Promise.resolve().then(() => mi());let _=await no(e,s.target_ref);if(_==="cleanup_pending"){Rt(e,{channelId:s.id,status:"cleanup_pending",lastError:"Edge 尚未确认销毁 Room"});continue}if(_==="absent"){Rt(e,{channelId:s.id,status:"cleanup_pending",lastError:"Edge Room 记录缺失,销毁未确认"});continue}}else if(!a){Rt(e,{channelId:s.id,status:"revoked",lastVerifiedAt:Date.now()});continue}if(a)Yt(e,a.slug);Rt(e,{channelId:s.id,status:"revoked",lastVerifiedAt:Date.now()})}catch(u){Rt(e,{channelId:s.id,status:"cleanup_pending",lastError:u instanceof Error?u.message:String(u)})}}}var pg="controller_state_missing";var za=De(()=>{Gt();ao();wn();vn()});function Ht(e){return e.query(`SELECT ${hg} FROM peers ORDER BY url`).all()}function vt(e,t){return e.query(`SELECT ${hg} FROM peers WHERE url = ?`).get(t)??null}function mg(e,t){e.query(`INSERT INTO peers (url, token, label, node_id, enabled, pull_cursor, push_cursor)
503
515
  VALUES (?, ?, ?, ?, 1, 0, 0)
504
516
  ON CONFLICT(url) DO UPDATE SET
505
517
  token = coalesce(excluded.token, peers.token),
506
518
  label = coalesce(excluded.label, peers.label),
507
519
  node_id = coalesce(excluded.node_id, peers.node_id),
508
- enabled = 1`).run(t.url,t.token??null,t.label??null,t.node_id??null)}function MS(e,t){e.query(`INSERT INTO peers (url, kind, config, label, enabled, pull_cursor, push_cursor)
520
+ enabled = 1`).run(t.url,t.token??null,t.label??null,t.node_id??null)}function yg(e,t){e.query(`INSERT INTO peers (url, kind, config, label, enabled, pull_cursor, push_cursor)
509
521
  VALUES (?, 's3', ?, ?, 1, 0, 0)
510
522
  ON CONFLICT(url) DO UPDATE SET
511
523
  kind = 's3',
512
524
  config = excluded.config,
513
525
  label = coalesce(excluded.label, peers.label),
514
- enabled = 1`).run(t.url,JSON.stringify(t.config),t.label??null)}function Gm(e,t){e.query(`INSERT INTO peers (url, kind, config, label, enabled, pull_cursor, push_cursor)
526
+ enabled = 1`).run(t.url,JSON.stringify(t.config),t.label??null)}function Ia(e,t){e.query(`INSERT INTO peers (url, kind, config, label, enabled, pull_cursor, push_cursor)
515
527
  VALUES (?, 'room', ?, ?, 1, 0, 0)
516
528
  ON CONFLICT(url) DO UPDATE SET
517
529
  kind = 'room',
518
530
  config = excluded.config,
519
531
  label = coalesce(excluded.label, peers.label),
520
- enabled = 1`).run(t.url,JSON.stringify(t.config),t.label??null)}function Nt(e,t){return e.transaction(()=>{let i=e.query("DELETE FROM peers WHERE url = ?").run(t).changes>0;return e.query("DELETE FROM peer_grants WHERE peer_url = ?").run(t),e.query("DELETE FROM storage_cursors WHERE peer_url = ?").run(t),e.query("DELETE FROM room_rows WHERE peer_key = ?").run(t),i})()}function US(e,t,n,i){let r=Date.now();if(n==="ok"){e.query("UPDATE peers SET last_sync_at = ?, last_success_at = ?, last_status = ?, last_error = ? WHERE url = ?").run(r,r,n,i??null,t);return}e.query("UPDATE peers SET last_sync_at = ?, last_status = ?, last_error = ? WHERE url = ?").run(r,n,i??null,t)}async function i_(e,t,n){let i=zS.get(e);if(!i)i=new Map,zS.set(e,i);let r=i.get(t);if(r)return r;let o=xR(e,t,n).finally(()=>{if(i.get(t)===o)i.delete(t)});return i.set(t,o),o}function SR(e,t){if(!t)return null;if(t.capabilities&&!t.capabilities.includes("site_channels"))return"对端未升级(不支持站点渠道):站点发布/分享的变更在它升级前不会生效";if(t.version&&t.version!==e)return`对端运行 core ${t.version},本机为 ${e};混合版本工作区的新功能可能不生效`;return null}async function ER(e){try{let t=await fetch(new URL(_w,e),{signal:AbortSignal.timeout(5000)});if(!t.ok)return null;let n=gw.safeParse(await t.json());return n.success?n.data:null}catch{return null}}async function xR(e,t,n){try{let i=yt(e,t),r;if(i?.kind==="s3"){if(!i.config)throw Error(`storage peer ${t} has no config`);let d=JSON.parse(i.config),f={...n?.storage,publish:n?.storage?.publish??d.publish,priority:n?.storage?.priority??d.priority};r=await jw(e,t,Xt(d),d,f)}else if(i?.kind==="room"){let{syncRoomPeer:d}=await Promise.resolve().then(() => (In(),Oi));r=await d(e,i)}else r=await tc(e,t,{timeoutMs:n?.timeoutMs});US(e,t,"ok",null);let o=[];try{if(i?.kind!=="s3"&&i?.kind!=="room")Bw(e,t)}catch(d){o.push(`site rollback bookkeeping failed: ${d.message}`)}if(i?.kind!=="s3"&&i?.kind!=="room"){let d=SR(Hw.version,await ER(t));if(d)o.push(`${t}: ${d}`)}let{reconcileSiteChannelsQuietly:s}=await Promise.resolve().then(() => (n_(),LS)),c=await s(e);if(c)o.push(`site channel reconcile failed: ${c}`);return{url:t,ok:!0,pushed:r.pushed,pulled:r.pulled,pendingPush:r.pendingPush,...o.length?{warnings:o}:{}}}catch(i){let r=i.message;return US(e,t,"error",r),{url:t,ok:!1,error:r}}}var jS="url, pull_cursor, push_cursor, token, label, node_id, enabled, last_sync_at, last_success_at, last_status, last_error, kind, config",zS;var Ho=he(()=>{ut();xm();Ki();Ri();Fw();Mw();zo();ec();Ww();Ki();zS=new WeakMap});class c_{constructor({accessKeyId:e,secretAccessKey:t,sessionToken:n,service:i,region:r,cache:o,retries:s,initRetryMs:c}){if(e==null)throw TypeError("accessKeyId is a required option");if(t==null)throw TypeError("secretAccessKey is a required option");this.accessKeyId=e,this.secretAccessKey=t,this.sessionToken=n,this.service=i,this.region=r,this.cache=o||new Map,this.retries=s!=null?s:10,this.initRetryMs=c||50}async sign(e,t){if(e instanceof Request){let{method:r,url:o,headers:s,body:c}=e;if(t=Object.assign({method:r,url:o,headers:s},t),t.body==null&&s.has("Content-Type"))t.body=c!=null&&s.has("X-Amz-Content-Sha256")?c:await e.clone().arrayBuffer();e=o}let n=new JS(Object.assign({url:e.toString()},t,this,t&&t.aws)),i=Object.assign({},t,await n.sign());delete i.aws;try{return new Request(i.url.toString(),i)}catch(r){if(r instanceof TypeError)return new Request(i.url.toString(),Object.assign({duplex:"half"},i));throw r}}async fetch(e,t){for(let n=0;n<=this.retries;n++){let i=fetch(await this.sign(e,t));if(n===this.retries)return i;let r=await i;if(r.status<500&&r.status!==429)return r;await new Promise((o)=>setTimeout(o,Math.random()*this.initRetryMs*Math.pow(2,n)))}throw Error("An unknown error occurred, ensure retries is not negative")}}class JS{constructor({method:e,url:t,headers:n,body:i,accessKeyId:r,secretAccessKey:o,sessionToken:s,service:c,region:d,cache:f,datetime:b,signQuery:x,appendSessionToken:P,allHeaders:F,singleEncode:ce}){if(t==null)throw TypeError("url is a required option");if(r==null)throw TypeError("accessKeyId is a required option");if(o==null)throw TypeError("secretAccessKey is a required option");this.method=e||(i?"POST":"GET"),this.url=new URL(t),this.headers=new Headers(n||{}),this.body=i,this.accessKeyId=r,this.secretAccessKey=o,this.sessionToken=s;let ie,de;if(!c||!d)[ie,de]=IR(this.url,this.headers);if(this.service=c||ie||"",this.region=d||de||"us-east-1",this.cache=f||new Map,this.datetime=b||new Date().toISOString().replace(/[:-]|\.\d{3}/g,""),this.signQuery=x,this.appendSessionToken=P||this.service==="iotdevicegateway",this.headers.delete("Host"),this.service==="s3"&&!this.signQuery&&!this.headers.has("X-Amz-Content-Sha256"))this.headers.set("X-Amz-Content-Sha256","UNSIGNED-PAYLOAD");let Pe=this.signQuery?this.url.searchParams:this.headers;if(Pe.set("X-Amz-Date",this.datetime),this.sessionToken&&!this.appendSessionToken)Pe.set("X-Amz-Security-Token",this.sessionToken);if(this.signableHeaders=["host",...this.headers.keys()].filter((Ue)=>F||!$R.has(Ue)).sort(),this.signedHeaders=this.signableHeaders.join(";"),this.canonicalHeaders=this.signableHeaders.map((Ue)=>Ue+":"+(Ue==="host"?this.url.host:(this.headers.get(Ue)||"").replace(/\s+/g," "))).join(`
521
- `),this.credentialString=[this.datetime.slice(0,8),this.region,this.service,"aws4_request"].join("/"),this.signQuery){if(this.service==="s3"&&!Pe.has("X-Amz-Expires"))Pe.set("X-Amz-Expires","86400");Pe.set("X-Amz-Algorithm","AWS4-HMAC-SHA256"),Pe.set("X-Amz-Credential",this.accessKeyId+"/"+this.credentialString),Pe.set("X-Amz-SignedHeaders",this.signedHeaders)}if(this.service==="s3")try{this.encodedPath=decodeURIComponent(this.url.pathname.replace(/\+/g," "))}catch(Ue){this.encodedPath=this.url.pathname}else this.encodedPath=this.url.pathname.replace(/\/+/g,"/");if(!ce)this.encodedPath=encodeURIComponent(this.encodedPath).replace(/%2F/g,"/");this.encodedPath=KS(this.encodedPath);let Ye=new Set;this.encodedSearch=[...this.url.searchParams].filter(([Ue])=>{if(!Ue)return!1;if(this.service==="s3"){if(Ye.has(Ue))return!1;Ye.add(Ue)}return!0}).map((Ue)=>Ue.map((Je)=>KS(encodeURIComponent(Je)))).sort(([Ue,Je],[et,_t])=>Ue<et?-1:Ue>et?1:Je<_t?-1:Je>_t?1:0).map((Ue)=>Ue.join("=")).join("&")}async sign(){if(this.signQuery){if(this.url.searchParams.set("X-Amz-Signature",await this.signature()),this.sessionToken&&this.appendSessionToken)this.url.searchParams.set("X-Amz-Security-Token",this.sessionToken)}else this.headers.set("Authorization",await this.authHeader());return{method:this.method,url:this.url,headers:this.headers,body:this.body}}async authHeader(){return["AWS4-HMAC-SHA256 Credential="+this.accessKeyId+"/"+this.credentialString,"SignedHeaders="+this.signedHeaders,"Signature="+await this.signature()].join(", ")}async signature(){let e=this.datetime.slice(0,8),t=[this.secretAccessKey,e,this.region,this.service].join(),n=this.cache.get(t);if(!n){let i=await Ko("AWS4"+this.secretAccessKey,e),r=await Ko(i,this.region),o=await Ko(r,this.service);n=await Ko(o,"aws4_request"),this.cache.set(t,n)}return s_(await Ko(n,await this.stringToSign()))}async stringToSign(){return["AWS4-HMAC-SHA256",this.datetime,this.credentialString,s_(await VS(await this.canonicalString()))].join(`
532
+ enabled = 1`).run(t.url,JSON.stringify(t.config),t.label??null)}function wt(e,t){return e.transaction(()=>{let n=e.query("DELETE FROM peers WHERE url = ?").run(t).changes>0;return e.query("DELETE FROM peer_grants WHERE peer_url = ?").run(t),e.query("DELETE FROM storage_cursors WHERE peer_url = ?").run(t),e.query("DELETE FROM room_rows WHERE peer_key = ?").run(t),n})()}function gg(e,t,r,n){let o=Date.now();if(r==="ok"){e.query("UPDATE peers SET last_sync_at = ?, last_success_at = ?, last_status = ?, last_error = ? WHERE url = ?").run(o,o,r,n??null,t);return}e.query("UPDATE peers SET last_sync_at = ?, last_status = ?, last_error = ? WHERE url = ?").run(o,r,n??null,t)}async function Ma(e,t,r){let n=_g.get(e);if(!n)n=new Map,_g.set(e,n);let o=n.get(t);if(o)return o;let s=Ov(e,t,r).finally(()=>{if(n.get(t)===s)n.delete(t)});return n.set(t,s),s}function Av(e,t){if(!t)return null;if(t.capabilities&&!t.capabilities.includes("site_channels"))return"对端未升级(不支持站点渠道):站点发布/分享的变更在它升级前不会生效";if(t.version&&t.version!==e)return`对端运行 core ${t.version},本机为 ${e};混合版本工作区的新功能可能不生效`;return null}async function Dv(e){try{let t=await fetch(new URL(Gp,e),{signal:AbortSignal.timeout(5000)});if(!t.ok)return null;let r=Wp.safeParse(await t.json());return r.success?r.data:null}catch{return null}}async function Ov(e,t,r){try{let n=vt(e,t),o;if(n?.kind==="s3"){if(!n.config)throw Error(`storage peer ${t} has no config`);let _=JSON.parse(n.config),m={...r?.storage,publish:r?.storage?.publish??_.publish,priority:r?.storage?.priority??_.priority};o=await h_(e,t,Ut(_),_,m)}else if(n?.kind==="room"){await Promise.resolve().then(() => mi());o=await hi(e,n)}else o=await ii(e,t,{timeoutMs:r?.timeoutMs});gg(e,t,"ok",null);let s=[];try{if(n?.kind!=="s3"&&n?.kind!=="room")b_(e,t)}catch(_){s.push(`site rollback bookkeeping failed: ${_.message}`)}if(n?.kind!=="s3"&&n?.kind!=="room"){let _=Av(v_.version,await Dv(t));if(_)s.push(`${t}: ${_}`)}await Promise.resolve().then(() => za());let u=await Sn(e);if(u)s.push(`site channel reconcile failed: ${u}`);return{url:t,ok:!0,pushed:o.pushed,pulled:o.pulled,pendingPush:o.pendingPush,...s.length?{warnings:s}:{}}}catch(n){let o=n.message;return gg(e,t,"error",o),{url:t,ok:!1,error:o}}}var hg="url, pull_cursor, push_cursor, token, label, node_id, enabled, last_sync_at, last_success_at, last_status, last_error, kind, config",_g;var oo=De(()=>{Ye();ia();Fn();bn();m_();y_();Xn();oi();w_();Fn();_g=new WeakMap});class Ha{constructor({accessKeyId:e,secretAccessKey:t,sessionToken:r,service:n,region:o,cache:s,retries:a,initRetryMs:u}){if(e==null)throw TypeError("accessKeyId is a required option");if(t==null)throw TypeError("secretAccessKey is a required option");this.accessKeyId=e,this.secretAccessKey=t,this.sessionToken=r,this.service=n,this.region=o,this.cache=s||new Map,this.retries=a!=null?a:10,this.initRetryMs=u||50}async sign(e,t){if(e instanceof Request){let{method:o,url:s,headers:a,body:u}=e;if(t=Object.assign({method:o,url:s,headers:a},t),t.body==null&&a.has("Content-Type"))t.body=u!=null&&a.has("X-Amz-Content-Sha256")?u:await e.clone().arrayBuffer();e=s}let r=new kg(Object.assign({url:e.toString()},t,this,t&&t.aws)),n=Object.assign({},t,await r.sign());delete n.aws;try{return new Request(n.url.toString(),n)}catch(o){if(o instanceof TypeError)return new Request(n.url.toString(),Object.assign({duplex:"half"},n));throw o}}async fetch(e,t){for(let r=0;r<=this.retries;r++){let n=fetch(await this.sign(e,t));if(r===this.retries)return n;let o=await n;if(o.status<500&&o.status!==429)return o;await new Promise((s)=>setTimeout(s,Math.random()*this.initRetryMs*Math.pow(2,r)))}throw Error("An unknown error occurred, ensure retries is not negative")}}class kg{constructor({method:e,url:t,headers:r,body:n,accessKeyId:o,secretAccessKey:s,sessionToken:a,service:u,region:_,cache:m,datetime:x,signQuery:D,appendSessionToken:j,allHeaders:Y,singleEncode:_e}){if(t==null)throw TypeError("url is a required option");if(o==null)throw TypeError("accessKeyId is a required option");if(s==null)throw TypeError("secretAccessKey is a required option");this.method=e||(n?"POST":"GET"),this.url=new URL(t),this.headers=new Headers(r||{}),this.body=n,this.accessKeyId=o,this.secretAccessKey=s,this.sessionToken=a;let de,ge;if(!u||!_)[de,ge]=Cv(this.url,this.headers);if(this.service=u||de||"",this.region=_||ge||"us-east-1",this.cache=m||new Map,this.datetime=x||new Date().toISOString().replace(/[:-]|\.\d{3}/g,""),this.signQuery=D,this.appendSessionToken=j||this.service==="iotdevicegateway",this.headers.delete("Host"),this.service==="s3"&&!this.signQuery&&!this.headers.has("X-Amz-Content-Sha256"))this.headers.set("X-Amz-Content-Sha256","UNSIGNED-PAYLOAD");let Le=this.signQuery?this.url.searchParams:this.headers;if(Le.set("X-Amz-Date",this.datetime),this.sessionToken&&!this.appendSessionToken)Le.set("X-Amz-Security-Token",this.sessionToken);if(this.signableHeaders=["host",...this.headers.keys()].filter(($e)=>Y||!Nv.has($e)).sort(),this.signedHeaders=this.signableHeaders.join(";"),this.canonicalHeaders=this.signableHeaders.map(($e)=>$e+":"+($e==="host"?this.url.host:(this.headers.get($e)||"").replace(/\s+/g," "))).join(`
533
+ `),this.credentialString=[this.datetime.slice(0,8),this.region,this.service,"aws4_request"].join("/"),this.signQuery){if(this.service==="s3"&&!Le.has("X-Amz-Expires"))Le.set("X-Amz-Expires","86400");Le.set("X-Amz-Algorithm","AWS4-HMAC-SHA256"),Le.set("X-Amz-Credential",this.accessKeyId+"/"+this.credentialString),Le.set("X-Amz-SignedHeaders",this.signedHeaders)}if(this.service==="s3")try{this.encodedPath=decodeURIComponent(this.url.pathname.replace(/\+/g," "))}catch($e){this.encodedPath=this.url.pathname}else this.encodedPath=this.url.pathname.replace(/\/+/g,"/");if(!_e)this.encodedPath=encodeURIComponent(this.encodedPath).replace(/%2F/g,"/");this.encodedPath=Tg(this.encodedPath);let Ze=new Set;this.encodedSearch=[...this.url.searchParams].filter(([$e])=>{if(!$e)return!1;if(this.service==="s3"){if(Ze.has($e))return!1;Ze.add($e)}return!0}).map(($e)=>$e.map((Ue)=>Tg(encodeURIComponent(Ue)))).sort(([$e,Ue],[tt,Rr])=>$e<tt?-1:$e>tt?1:Ue<Rr?-1:Ue>Rr?1:0).map(($e)=>$e.join("=")).join("&")}async sign(){if(this.signQuery){if(this.url.searchParams.set("X-Amz-Signature",await this.signature()),this.sessionToken&&this.appendSessionToken)this.url.searchParams.set("X-Amz-Security-Token",this.sessionToken)}else this.headers.set("Authorization",await this.authHeader());return{method:this.method,url:this.url,headers:this.headers,body:this.body}}async authHeader(){return["AWS4-HMAC-SHA256 Credential="+this.accessKeyId+"/"+this.credentialString,"SignedHeaders="+this.signedHeaders,"Signature="+await this.signature()].join(", ")}async signature(){let e=this.datetime.slice(0,8),t=[this.secretAccessKey,e,this.region,this.service].join(),r=this.cache.get(t);if(!r){let n=await co("AWS4"+this.secretAccessKey,e),o=await co(n,this.region),s=await co(o,this.service);r=await co(s,"aws4_request"),this.cache.set(t,r)}return Ua(await co(r,await this.stringToSign()))}async stringToSign(){return["AWS4-HMAC-SHA256",this.datetime,this.credentialString,Ua(await Sg(await this.canonicalString()))].join(`
522
534
  `)}async canonicalString(){return[this.method.toUpperCase(),this.encodedPath,this.encodedSearch,this.canonicalHeaders+`
523
535
  `,this.signedHeaders,await this.hexBodyHash()].join(`
524
- `)}async hexBodyHash(){let e=this.headers.get("X-Amz-Content-Sha256")||(this.service==="s3"&&this.signQuery?"UNSIGNED-PAYLOAD":null);if(e==null){if(this.body&&typeof this.body!=="string"&&!("byteLength"in this.body))throw Error("body must be a string, ArrayBuffer or ArrayBufferView, unless you include the X-Amz-Content-Sha256 header");e=s_(await VS(this.body||""))}return e}}async function Ko(e,t){let n=await crypto.subtle.importKey("raw",typeof e==="string"?a_.encode(e):e,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return crypto.subtle.sign("HMAC",n,a_.encode(t))}async function VS(e){return crypto.subtle.digest("SHA-256",typeof e==="string"?a_.encode(e):e)}function s_(e){let t=new Uint8Array(e),n="";for(let i=0;i<t.length;i++){let r=t[i];n+=GS[r>>>4&15],n+=GS[r&15]}return n}function KS(e){return e.replace(/[!'()*]/g,(t)=>"%"+t.charCodeAt(0).toString(16).toUpperCase())}function IR(e,t){let{hostname:n,pathname:i}=e;if(n.endsWith(".on.aws")){let c=n.match(/^[^.]{1,63}\.lambda-url\.([^.]{1,63})\.on\.aws$/);return c!=null?["lambda",c[1]||""]:["",""]}if(n.endsWith(".r2.cloudflarestorage.com"))return["s3","auto"];if(n.endsWith(".backblazeb2.com")){let c=n.match(/^(?:[^.]{1,63}\.)?s3\.([^.]{1,63})\.backblazeb2\.com$/);return c!=null?["s3",c[1]||""]:["",""]}let r=n.replace("dualstack.","").match(/([^.]{1,63})\.(?:([^.]{0,63})\.)?amazonaws\.com(?:\.cn)?$/),o=r&&r[1]||"",s=r&&r[2];if(s==="us-gov")s="us-gov-west-1";else if(s==="s3"||s==="s3-accelerate")s="us-east-1",o="s3";else if(o==="iot")if(n.startsWith("iot."))o="execute-api";else if(n.startsWith("data.jobs.iot."))o="iot-jobs-data";else o=i==="/mqtt"?"iotdevicegateway":"iotdata";else if(o==="autoscaling"){let c=(t.get("X-Amz-Target")||"").split(".")[0];if(c==="AnyScaleFrontendService")o="application-autoscaling";else if(c==="AnyScaleScalingPlannerFrontendService")o="autoscaling-plans"}else if(s==null&&o.startsWith("s3-"))s=o.slice(3).replace(/^fips-|^external-1/,""),o="s3";else if(o.endsWith("-fips"))o=o.slice(0,-5);else if(s&&/-\d$/.test(o)&&!/-\d$/.test(s))[o,s]=[s,o];return[TR[o]||o,s||""]}var a_,TR,$R,GS;var XS=he(()=>{a_=new TextEncoder,TR={appstream2:"appstream",cloudhsmv2:"cloudhsm",email:"ses",marketplace:"aws-marketplace",mobile:"AWSMobileHubService",pinpoint:"mobiletargeting",queue:"sqs","git-codecommit":"codecommit","mturk-requester-sandbox":"mturk-requester","personalize-runtime":"personalize"},$R=new Set(["authorization","content-type","content-length","user-agent","presigned-expires","expect","x-amzn-trace-id","range","connection"]);GS=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"]});function l_(e){return new c_({accessKeyId:e.accessKeyId,secretAccessKey:e.secretAccessKey,region:e.region||"auto",service:"s3"})}function u_(e){let t=new URL(e.endpoint).origin;return Dw(e)?t:`${t}/${e.bucket}`}function d_(e,t){return`${u_(e)}/${t.split("/").map(encodeURIComponent).join("/")}`}async function Jo(e,t,n){let i=l_(e),r=new URL(d_(e,t));return r.searchParams.set("X-Amz-Expires",String(Math.min(Math.max(1,Math.floor(n)),Dn))),(await i.sign(r.toString(),{method:"GET",aws:{signQuery:!0}})).url}var Dn=604800;var wc=he(()=>{XS();Ri()});function JR(e,t){let n=e.query("SELECT value FROM meta WHERE key = ?").get(t);return n?n.value:null}function E_(e,t,n){if(n===null){e.query("DELETE FROM meta WHERE key = ?").run(t);return}e.query("INSERT INTO meta (key, value) VALUES (?, ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value").run(t,n)}function Xo(e){let t=JR(e,"edge_config");if(!t)return null;try{let n=JSON.parse(t);if(!n||typeof n.endpoint!=="string"||typeof n.token!=="string")return null;if(n.cf&&"apiToken"in n.cf)delete n.cf.apiToken,E_(e,"edge_config",JSON.stringify(n));if(!Array.isArray(n.capabilities))n.capabilities=n.cf?["inbox","room"]:["inbox"],E_(e,"edge_config",JSON.stringify(n));return n}catch{return null}}function x_(e,t){if(t?.cf&&"apiToken"in t.cf)throw Error("Cloudflare API token must not be persisted");let n=t?{...t,capabilities:t.capabilities??(t.cf?["inbox","room"]:["inbox"])}:null;E_(e,"edge_config",n?JSON.stringify(n):null)}function zi(e){return e.capabilities??(e.cf?["inbox","room"]:["inbox"])}var rn="3";function On(e){let t=(e||"").replace(/^\/+|\/+$/g,"");return t?`${t}/shares`:"shares"}function IE(e){let t=new Set,n=/\/blob\/([0-9a-f]{16,64})/g,i;while(i=n.exec(e))t.add(i[1].toLowerCase());return[...t]}function k_(e,t){let n=new TextEncoder().encode(JSON.stringify(t));return e.encrypt&&e.masterKey?zr(br(e.masterKey),n):Promise.resolve(n)}async function $c(e,t){let i=await Xt(e).get(Qo(On(e.prefix),t)).catch(()=>null);if(!i)return null;try{let r=e.encrypt&&e.masterKey?await Tn(br(e.masterKey),i):i;return JSON.parse(new TextDecoder().decode(r))}catch{return null}}async function AE(e,t){let n=Xt(t.config),i=On(t.config.prefix),r={v:1,kind:t.kind,title:""},o=[];if(t.kind==="doc"){let f=mt(e,t.targetId);if(!f)throw new H("not_found",`no such document: ${t.targetId}`);r.title=f.title,r.body=f.body??"",o=IE(r.body)}else{let f=zt(e,t.targetId);if(!f)throw new H("not_found",`no such database: ${t.targetId}`);r.title=f.name;let b=Yt(e,t.targetId).sort((P,F)=>P.position-F.position);r.properties=b.map((P)=>({id:P.id,name:P.name,type:P.type}));let x=Zn(e,t.targetId);r.records=x.map((P)=>({cells:P.cells})),o=IE(JSON.stringify(x.map((P)=>P.cells)))}let s=[],c={};if(o.length>0&&!ey())throw new H("network","no blob-bytes resolver is registered for this runtime");for(let f of o){let b=await Yh(e,f);if(!b)continue;let x=RE(i,t.slug,f);await n.put(x,await zr(t.shareKey,b),{contentType:"application/octet-stream"}),s.push(x),c[f]={url:await Jo(t.config,x,t.expiresSec),ct:iy(e,f)??"application/octet-stream"}}if(Object.keys(c).length)r.blobs=c;let d=DE(i,t.slug);return await n.put(d,await zr(t.shareKey,new TextEncoder().encode(JSON.stringify(r))),{contentType:"application/octet-stream"}),s.push(d),{manifestUrl:await Jo(t.config,d,t.expiresSec),objects:s,title:r.title}}async function QR(e,t){if(!t)return;let n=Aw();if(!n){console.warn(`share: this runtime cannot open bucket CORS; run it from a device that holds the bucket credentials so the viewer origin ${t} is allowed`);return}try{await n(e,[t],{merge:!0})}catch(i){console.warn(`share: could not add viewer origin to bucket CORS (${i.message}); the viewer may be blocked until CORS allows ${t}`)}}async function OE(e,t){let n=T_(t.expiresSec),i,r;if(t.password){let b=crypto.getRandomValues(new Uint8Array(16));i=await xw(t.password,b),r=ir(b)}else i=rc();let{manifestUrl:o,objects:s,title:c}=await AE(e,{slug:t.slug,kind:t.kind,targetId:t.targetId,config:t.config,shareKey:i,expiresSec:n}),d=Date.now()+n*1000,f={v:1,slug:t.slug,kind:t.kind,target_id:t.targetId,title:c,permission:"view",created_at:Date.now(),presign_exp:d,has_password:!!t.password,objects:s,key:ir(i),salt:r,content_updated_at:Date.now()};return await Xt(t.config).put(Qo(On(t.config.prefix),t.slug),await k_(t.config,f),{contentType:"application/octet-stream"}),await QR(t.config,t.viewerOrigin),{manifestUrl:o,presignExp:d,keyB64:t.password?void 0:ir(i),saltB64:r,title:c}}async function PE(e,t,n,i=Dn){let r=await $c(t,n);if(!r)throw new H("not_found",`no such bucket share: ${n}`);let o=br(r.key),s=T_(i),{manifestUrl:c,objects:d,title:f}=await AE(e,{slug:n,kind:r.kind,targetId:r.target_id,config:t,shareKey:o,expiresSec:s}),b=Date.now()+s*1000,x={...r,title:f,presign_exp:b,objects:d,content_updated_at:Date.now()};return await Xt(t).put(Qo(On(t.prefix),n),await k_(t,x),{contentType:"application/octet-stream"}),{manifestUrl:c,presignExp:b,keyB64:r.has_password?void 0:r.key,saltB64:r.salt,title:f}}async function YR(e,t){if(!e.blobs)return e;let n={};for(let[i,r]of Object.entries(e.blobs))n[i]={...r,url:await t(i)};return{...e,blobs:n}}async function NE(e,t,n=Dn){let i=await $c(e,t);if(!i)throw new H("not_found",`no such bucket share: ${t}`);let r=Xt(e),o=On(e.prefix),s=br(i.key),c=T_(n),d=DE(o,t),f=await r.get(d).catch(()=>null);if(!f)throw new H("not_found",`bucket share ${t} has no manifest`);let b=JSON.parse(new TextDecoder().decode(await Tn(s,f))),x=await YR(b,(F)=>Jo(e,RE(o,t,F),c));await r.put(d,await zr(s,new TextEncoder().encode(JSON.stringify(x))),{contentType:"application/octet-stream"});let P=Date.now()+c*1000;return await r.put(Qo(o,t),await k_(e,{...i,presign_exp:P}),{contentType:"application/octet-stream"}),{manifestUrl:await Jo(e,d,c),presignExp:P,keyB64:i.has_password?void 0:i.key,saltB64:i.salt,title:i.title}}async function Ic(e){let t=Xt(e),n=On(e.prefix),r=(await t.list(`${n}/`,void 0,"/").catch(()=>[])).map((s)=>s.key.slice(`${n}/`.length).replace(/\/$/,"")).filter((s)=>s&&!s.includes("/")),o=[];for(let s of r){let c=await $c(e,s);if(c)o.push(c)}return o}async function CE(e,t){let n=Xt(e),i=On(e.prefix);await n.del(Qo(i,t)).catch(()=>{return});let o=(await $c(e,t).catch(()=>null))?.objects??(await n.list(`${i}/${t}/`).catch(()=>[])).map((s)=>s.key);for(let s of o)await n.del(s).catch(()=>{return})}function T_(e){return Math.min(Math.max(60,Math.floor(e)),Dn)}var Qo=(e,t)=>`${e}/${t}/meta.json`,DE=(e,t)=>`${e}/${t}/manifest.bin`,RE=(e,t,n)=>`${e}/${t}/blobs/${n}`;var qE=he(()=>{ut();Jn();fn();dn();pn();Gi();Ri();wc();zo()});var GE={};ur(GE,{assertShareCombo:()=>WE,createShareAction:()=>aA,createdShareByRequestId:()=>cA,listServerSharesLocal:()=>HE,listShareBuckets:()=>UE,listShareServers:()=>jE,listSharesAggregated:()=>uA,listSharesLocal:()=>ZE,renewShareAction:()=>fA,revokeShareAction:()=>VE,revokeShareByRequestId:()=>lA});function LE(e,t){let n=Ci(e,{siteId:t.siteId,audience:"link",hosting:t.hosting==="room"?"edge":"device",targetRef:t.slug,canonicalUrl:t.url,policy:{permission:t.permission,hasPassword:t.hasPassword,expiresAt:t.expiresAt}});Tt(e,{channelId:n.id,status:"ready",lastVerifiedAt:Date.now()})}function nA(e,t,n){try{if(t==="doc")return mt(e,n)?.title||n;if(t==="database")return zt(e,n)?.name||n;if(t==="site"){let i=gr(e,n);return i?.title||i?.name||n}}catch{}return n}function zE(e,t,n){if(t==="site"){let r=tn(e,n);return{id:r.id,title:r.name}}let i=Ph(e,n,{kind:t==="database"?"db":"doc"});return{id:i.id,title:i.label}}function iA(e,t){let n=yt(e,t);if(!n||n.kind!=="s3"||!n.config)throw new H("not_found",`no such object-storage bucket: ${t}`);return{config:JSON.parse(n.config),label:n.label??t}}function UE(e){return Ct(e).filter((t)=>t.kind==="s3").map((t)=>({url:t.url,label:t.label??t.url}))}function jE(e){return Ct(e).filter((t)=>t.kind==="http").map((t)=>({url:t.url,label:t.label??t.url,enabled:t.enabled===1,lastStatus:t.last_status,lastSuccessAt:t.last_success_at}))}function oA(e,t){if(t)return t;let n=UE(e);if(n.length===0)throw new H("invalid_input","no object-storage bucket attached — add one with `mh config peer add --s3`");if(n.length>1)throw new H("invalid_input",`multiple buckets — pass --bucket <url> (one of: ${n.map((i)=>i.url).join(", ")})`);return n[0].url}function FE(e,t){if(t)return t.replace(/\/+$/,"");return(e.query("SELECT value FROM meta WHERE key='cfg_share_viewer_url'").get()?.value||eA).replace(/\/+$/,"")}function sA(e){try{return new URL(e).origin}catch{return}}function ME(e,t,n,i){let r=`m=${encodeURIComponent(t)}&`+(n?`k=${n}`:`s=${i}`);return`${e}/#${r}`}function BE(e,t){try{return new URL(e,`${t.replace(/\/+$/,"")}/`).toString()}catch{return e}}function WE(e){let t=(n)=>{throw new H("invalid_input",n)};if(e.transport==="s3"){if(e.hosting==="room")t("Edge room hosting requires the server transport");if(e.hasGrants)t("data grants need the server transport — a static object-storage share has no API surface");if(e.permission==="edit")t("object-storage shares are read-only — use the server transport to allow editing");if(e.kind==="site")t("sites can't be shared via object storage — use the server transport")}if(e.hosting==="room"&&e.kind!=="site")t("Edge rooms currently host site shares only")}async function aA(e,t){let n=t.permission??"view",i=t.transport??"server",r=t.hosting??"server";if(WE({kind:t.kind,transport:i,hosting:r,permission:n,hasGrants:!!t.grants}),i==="s3"){let ie=zE(e,t.kind,t.ref),de=oA(e,t.bucketUrl),{config:Pe,label:Ye}=iA(e,de),Ue=FE(e,t.viewerBase),Je=pA(e),et=await OE(e,{slug:Je,kind:t.kind,targetId:ie.id,config:Pe,password:t.password,expiresSec:t.expiresMs!=null?Math.floor(t.expiresMs/1000):tA,viewerOrigin:sA(Ue)});return{slug:Je,kind:t.kind,permission:"view",transport:"s3",hosting:"s3",url:ME(Ue,et.manifestUrl,et.keyB64,et.saltB64),expiresAt:et.presignExp,source:`桶 ${Ye}`}}let o=t.server?yt(e,t.server):null;if(t.server&&o&&o.kind!=="s3"){let ie=t.requestId||`share_${kt(24)}`,de={"content-type":"application/json",...o.token?{authorization:`Bearer ${o.token}`}:{}},Pe=null,Ye=null;try{Pe=await fetch(`${t.server.replace(/\/+$/,"")}/api/share`,{method:"POST",headers:de,body:JSON.stringify({...t,requestId:ie,server:void 0}),signal:AbortSignal.timeout($_)})}catch(Er){Ye=Er.message}let Ue=Pe?await Pe.json().catch(()=>null):null,Je=Ue,et=Pe&&!Pe.ok?Je?.error||`remote share failed: ${Pe.status}`:null,_t=Dc.safeParse(Pe?.ok?Ue:null);if(_t.success&&(_t.data.kind!==t.kind||_t.data.permission!==n||_t.data.hosting!==r))_t=Dc.safeParse(null);if(!_t.success){let Er=await fetch(`${t.server.replace(/\/+$/,"")}/api/share/request?id=${encodeURIComponent(ie)}`,{headers:o.token?{authorization:`Bearer ${o.token}`}:{},signal:AbortSignal.timeout($_)}).catch(()=>null),Nc=Er?.ok?await Er.json().catch(()=>null):null;if(_t=Dc.safeParse(Nc),_t.success&&(_t.data.kind!==t.kind||_t.data.permission!==n||_t.data.hosting!==r))_t=Dc.safeParse(null)}if(!_t.success)throw await fetch(`${t.server.replace(/\/+$/,"")}/api/share/request?id=${encodeURIComponent(ie)}`,{method:"DELETE",headers:o.token?{authorization:`Bearer ${o.token}`}:{},signal:AbortSignal.timeout($_)}).catch(()=>null),new H("network",Ye?`could not confirm remote share creation: ${Ye}`:et?`${et}; request-id recovery failed and compensation was requested`:"remote share returned an invalid response and was compensated");let It=_t.data;return{slug:It.slug,kind:t.kind,permission:n,transport:"server",hosting:It.hosting,url:BE(It.url,t.server),expiresAt:It.expiresAt,source:o.label??t.server}}let s=zE(e,t.kind,t.ref),c=t.requestId?Bo(e,t.requestId):null;if(c){if(c.kind!==t.kind||c.target_id!==s.id)throw new H("conflict","share request id was already used for another target");let ie=yt(e,`room://${c.slug}`),de=ie?.kind==="room"&&ie.config?JSON.parse(ie.config):null,Pe=de&&(de.lifecycle??"active")==="active";if(de&&!Pe)throw new H("conflict","Edge Room is not active; cleanup or provisioning is still pending");if(r==="room"&&!Pe)throw new H("conflict","Edge Room creation did not finish; retry with a new request");let Ye=c.served_base??t.server??"",Ue={slug:c.slug,kind:c.kind,permission:c.permission,transport:"server",hosting:Pe?"room":"server",url:Pe?wr(de):`${Ye.replace(/\/+$/,"")}/share/${c.slug}`,expiresAt:c.expires_at,source:Pe?"Edge Room":Ye||"本机服务器"};if(c.kind==="site")LE(e,{siteId:c.target_id,slug:c.slug,hosting:Pe?"room":"server",url:Ue.url,permission:c.permission,hasPassword:!!c.pw_hash,expiresAt:c.expires_at});return Ue}let d=r==="room"?Xo(e):null;if(r==="room"){if(!d)throw new H("invalid_input","Edge is not configured");if(!zi(d).includes("room"))throw new H("conflict","Configured Edge host supports inbox only, not Room hosting")}let f=null,b=null;if(t.password){let ie=await cc(t.password);f=ie.salt,b=ie.hash}let x=t.server?t.server.replace(/\/+$/,""):null,P=oc(e,{kind:t.kind,target_id:s.id,permission:n,pwSalt:f,pwHash:b,expiresAt:t.expiresMs!=null?Date.now()+t.expiresMs:null,servedBase:x,grants:t.grants??null,requestId:t.requestId??null}),F=null;if(r==="room")try{let{provisionRoomForShare:ie}=await Promise.resolve().then(() => (In(),Oi));F=(await ie(e,P,d)).url}catch(ie){let{teardownRoomForShare:de}=await Promise.resolve().then(() => (In(),Oi));if(await de(e,P.slug).catch(()=>"cleanup_pending")!=="cleanup_pending")or(e,P.slug);throw ie}let ce={slug:P.slug,kind:t.kind,permission:n,transport:"server",hosting:r,url:F??`${x??""}/share/${P.slug}`,expiresAt:P.expires_at,source:F?"Edge Room":x||"本机服务器"};if(P.kind==="site")LE(e,{siteId:P.target_id,slug:P.slug,hosting:r,url:ce.url,permission:P.permission,hasPassword:!!P.pw_hash,expiresAt:P.expires_at});return ce}function HE(e,t){let n=[],i=t?ac(e,t):sc(e);for(let r of i){let o=yt(e,`room://${r.slug}`),s=o?.kind==="room"&&o.config?JSON.parse(o.config):null,c=s?.base&&s.slug&&(s.lifecycle??"active")==="active"?wr({base:s.base,slug:s.slug}):null;n.push({slug:r.slug,kind:r.kind,target_id:r.target_id,title:nA(e,r.kind,r.target_id),permission:r.permission,transport:"server",source:s?s.lifecycle==="cleanup_pending"?"Edge Room(撤销待确认)":`房间 ${r.slug}`:r.served_base||"本机服务器",sourceKind:s?"room":"server",hosting:c?"room":"server",...s?{hosting:"room",lifecycle:s.lifecycle??"active"}:{},expiresAt:r.expires_at,hasPassword:!!r.pw_hash,url:s?c??void 0:r.served_base?`${r.served_base}/share/${r.slug}`:`/share/${r.slug}`})}return n}async function ZE(e,t){let n=HE(e,t);for(let i of Ct(e).filter((r)=>r.kind==="s3"&&r.config)){let r=JSON.parse(i.config),o=await Ic(r).catch(()=>[]);for(let s of o){if(t&&s.target_id!==t)continue;n.push({slug:s.slug,kind:s.kind,target_id:s.target_id,title:s.title||s.target_id,permission:s.permission,transport:"s3",source:`桶 ${i.label??i.url}`,sourceKind:"bucket",hosting:"s3",expiresAt:s.presign_exp,hasPassword:s.has_password,contentUpdatedAt:s.content_updated_at??s.created_at})}}return n}function cA(e,t){let n=Bo(e,t);if(!n)return null;let i=yt(e,`room://${n.slug}`),r=i?.kind==="room"&&i.config?JSON.parse(i.config):null,o=r&&(r.lifecycle??"active")==="active";if(r&&!o)return null;let s=n.served_base??"";return{slug:n.slug,kind:n.kind,permission:n.permission,transport:"server",hosting:o?"room":"server",url:o?wr(r):`${s.replace(/\/+$/,"")}/share/${n.slug}`,expiresAt:n.expires_at,source:o?"Edge Room":s||"本机服务器"}}async function lA(e,t){let n=Bo(e,t);return n?VE(e,n.slug):{ok:!1,status:"not_found"}}async function uA(e,t){let n=new Map;for(let i of await ZE(e,t))n.set(i.slug,i);return await Promise.all(jE(e).map(async({url:i,label:r})=>{let o=yt(e,i);if(!o?.token)return;let s=await dA(i,o.token,t).catch(()=>[]);for(let c of s)if(!n.has(c.slug))n.set(c.slug,{...c,source:r,sourceKind:"peer",sourceUrl:i})})),[...n.values()]}async function dA(e,t,n){let i=`${e.replace(/\/+$/,"")}/api/shares${n?`?target=${encodeURIComponent(n)}`:""}`,r=await Promise.race([fetch(i,{headers:{authorization:`Bearer ${t}`}}),new Promise((o,s)=>setTimeout(()=>s(Error("timeout")),rA))]);if(!r.ok)return[];return(await r.json()).map((o)=>({...o,...o.url?{url:BE(o.url,e)}:{}}))}async function VE(e,t){if(pr(e,t)){let n=sr(e).filter((s)=>s.audience==="link"&&s.target_ref===t&&s.desired_state==="active");for(let s of n)Ar(e,s.id,"revoked");let{teardownRoomForShare:i}=await Promise.resolve().then(() => (In(),Oi));if(await i(e,t)==="cleanup_pending"){for(let s of n)Tt(e,{channelId:s.id,status:"cleanup_pending",lastError:"Edge 尚未确认销毁 Room"});return{ok:!1,status:"cleanup_pending"}}let o=or(e,t);for(let s of n)Tt(e,{channelId:s.id,status:"revoked",lastVerifiedAt:Date.now()});return{ok:o,status:"revoked"}}for(let n of Ct(e).filter((i)=>i.kind==="s3"&&i.config)){let i=JSON.parse(n.config);if((await Ic(i).catch(()=>[])).some((o)=>o.slug===t))return await CE(i,t),{ok:!0,status:"revoked"}}return{ok:!1,status:"not_found"}}async function fA(e,t,n,i){for(let r of Ct(e).filter((o)=>o.kind==="s3"&&o.config)){let o=JSON.parse(r.config),c=(await Ic(o).catch(()=>[])).find((b)=>b.slug===t);if(!c)continue;let d=FE(e,n),f=i?.refreshContent?await PE(e,o,t):await NE(o,t);return{slug:t,kind:c.kind,permission:"view",transport:"s3",hosting:"s3",url:ME(d,f.manifestUrl,f.keyB64,f.saltB64),expiresAt:f.presignExp,source:`桶 ${r.label??r.url}`}}throw new H("not_found",`no such object-storage share: ${t}`)}function pA(e){let t=kt(12);while(pr(e,t))t=kt(12);return t}var eA="https://share.mh.tensorix.org",tA,rA=4000,$_=1e4,Dc;var KE=he(()=>{Em();ut();Ot();el();Pi();Jn();fn();Ho();Ai();qE();wc();Vo();tA=Dn,Dc=Ze.object({slug:Ze.string().min(1).max(128),kind:Ze.enum(["doc","database","site"]),permission:Ze.enum(["view","edit"]),transport:Ze.literal("server"),hosting:Ze.enum(["server","room"]),url:Ze.string().url(),expiresAt:Ze.number().nullable(),source:Ze.string()})});globalThis.sqlite3Worker1Promiser=function e(t=e.defaultConfig){if(arguments.length===1&&typeof arguments[0]==="function"){let x=t;t=Object.assign(Object.create(null),e.defaultConfig),t.onready=x}else t=Object.assign(Object.create(null),e.defaultConfig,t);let n=Object.create(null),i=function(){},r=t.onerror||i,o=t.debug||i,s=t.generateMessageId?void 0:Object.create(null),c=t.generateMessageId||function(x){return x.type+"#"+(s[x.type]=(s[x.type]||0)+1)},d=(...x)=>{throw Error(x.join(" "))};if(!t.worker)t.worker=e.defaultConfig.worker;if(typeof t.worker==="function")t.worker=t.worker();let f,b;return t.worker.onmessage=function(x){x=x.data,o("worker1.onmessage",x);let P=n[x.messageId];if(!P){if(x&&x.type==="sqlite3-api"&&x.result==="worker1-ready"){if(t.onready)t.onready(b);return}if(P=n[x.type],P&&P.onrow){P.onrow(x);return}if(t.onunhandled)t.onunhandled(arguments[0]);else r("sqlite3Worker1Promiser() unhandled worker message:",x);return}switch(delete n[x.messageId],x.type){case"error":P.reject(x);return;case"open":if(!f)f=x.dbId;break;case"close":if(x.dbId===f)f=void 0;break;default:break}try{P.resolve(x)}catch(F){P.reject(F)}},b=function(){let x;if(arguments.length===1)x=arguments[0];else if(arguments.length===2)x=Object.create(null),x.type=arguments[0],x.args=arguments[1],x.dbId=x.args.dbId;else d("Invalid arguments for sqlite3Worker1Promiser()-created factory.");if(!x.dbId&&x.type!=="open")x.dbId=f;x.messageId=c(x),x.departureTime=performance.now();let P=Object.create(null);P.message=x;let F;if(x.type==="exec"&&x.args){if(typeof x.args.callback==="function")F=x.messageId+":row",P.onrow=x.args.callback,x.args.callback=F,n[F]=P;else if(typeof x.args.callback==="string")d("exec callback may not be a string when using the Promise interface.")}let ce=new Promise(function(ie,de){P.resolve=ie,P.reject=de,n[x.messageId]=P,o("Posting",x.type,"message to Worker dbId="+(f||"default")+":",x),t.worker.postMessage(x)});if(F)ce=ce.finally(()=>delete n[F]);return ce}};globalThis.sqlite3Worker1Promiser.defaultConfig={worker:function(){return new Worker(new URL("sqlite3-worker1.mjs",import.meta.url),{type:"module"})},onerror:(...e)=>console.error("sqlite3Worker1Promiser():",...e)};globalThis.sqlite3Worker1Promiser.v2=function e(t=e.defaultConfig){let n;if(typeof t=="function")n=t,t={};else if(typeof t?.onready==="function")n=t.onready,delete t.onready;let i=Object.create(null);t=Object.assign(t||Object.create(null),{onready:async function(o){try{if(n)await n(o);i.resolve(o)}catch(s){i.reject(s)}}});let r=new Promise(function(o,s){i.resolve=o,i.reject=s});try{this.original(t)}catch(o){i.reject(o)}return r}.bind({original:sqlite3Worker1Promiser});globalThis.sqlite3Worker1Promiser.v2.defaultConfig=globalThis.sqlite3Worker1Promiser.defaultConfig;var DA=sqlite3Worker1Promiser.v2;delete globalThis.sqlite3Worker1Promiser;async function jc(e={}){var t,n=e,i=!!globalThis.window,r=!!globalThis.WorkerGlobalScope;globalThis.process?.versions?.node&&globalThis.process?.type;var o="./this.program",s=import.meta.url,c="";function d(a){if(n.locateFile)return n.locateFile(a,c);return c+a}var f,b;if(i||r){try{c=new URL(".",s).href}catch{}if(r)b=(a)=>{var u=new XMLHttpRequest;return u.open("GET",a,!1),u.responseType="arraybuffer",u.send(null),new Uint8Array(u.response)};f=async(a)=>{var u=await fetch(a,{credentials:"same-origin"});if(u.ok)return u.arrayBuffer();throw Error(u.status+" : "+u.url)}}var x=console.log.bind(console),P=console.error.bind(console),F,ce=!1,ie,de,Pe=!1;function Ye(){var a=Pr.buffer;ar=new Int8Array(a),ji=new Int16Array(a),on=new Uint8Array(a),dx=new Uint16Array(a),at=new Int32Array(a),pt=new Uint32Array(a),lx=new Float32Array(a),ux=new Float64Array(a),qt=new BigInt64Array(a),fx=new BigUint64Array(a)}function Ue(){if(n.wasmMemory)Pr=n.wasmMemory;else{var a=n.INITIAL_MEMORY||8388608;Pr=new WebAssembly.Memory({initial:a/65536,maximum:32768})}Ye()}function Je(){if(n.preRun){if(typeof n.preRun=="function")n.preRun=[n.preRun];while(n.preRun.length)gx(n.preRun.shift())}O_(N_)}function et(){if(Pe=!0,!n.noFSInit&&!y.initialized)y.init();Fr.init(),zn.__wasm_call_ctors(),y.ignorePermissions=!1}function _t(){if(n.postRun){if(typeof n.postRun=="function")n.postRun=[n.postRun];while(n.postRun.length)px(n.postRun.shift())}O_(P_)}function It(a){n.onAbort?.(a),a=`Aborted(${a})`,P(a),ce=!0,a+=". Build with -sASSERTIONS for more info.";var u=new WebAssembly.RuntimeError(a);throw de?.(u),u}var Er;function Nc(){if(n.locateFile)return d("sqlite3.wasm");return new URL("sqlite3.wasm",import.meta.url).href}function nx(a){if(a==Er&&F)return new Uint8Array(F);if(b)return b(a);throw"both async and sync fetching of the wasm failed"}async function ix(a){if(!F)try{var u=await f(a);return new Uint8Array(u)}catch{}return nx(a)}async function ox(a,u){try{var h=await ix(a);return await WebAssembly.instantiate(h,u)}catch(g){P(`failed to asynchronously prepare wasm: ${g}`),It(g)}}async function sx(a,u,h){if(!a)try{var g=fetch(u,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(g,h)}catch(l){P(`wasm streaming compile failed: ${l}`),P("falling back to ArrayBuffer instantiation")}return ox(u,h)}function ax(){return{env:K_,wasi_snapshot_preview1:K_}}async function cx(){function a(g,l){return zn=g.exports,yk(zn),zn}function u(g){return a(g.instance)}var h=ax();if(n.instantiateWasm)return new Promise((g,l)=>{n.instantiateWasm(h,(p,m)=>{g(a(p,m))})});return Er??=Nc(),u(await sx(F,Er,h))}var ji,at,qt,ar,lx,ux,dx,pt,fx,on,O_=(a)=>{while(a.length>0)a.shift()(n)},P_=[],px=(a)=>P_.push(a),N_=[],gx=(a)=>N_.push(a),Pr,ct={isAbs:(a)=>a.charAt(0)==="/",splitPath:(a)=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(a).slice(1),normalizeArray:(a,u)=>{var h=0;for(var g=a.length-1;g>=0;g--){var l=a[g];if(l===".")a.splice(g,1);else if(l==="..")a.splice(g,1),h++;else if(h)a.splice(g,1),h--}if(u)for(;h;h--)a.unshift("..");return a},normalize:(a)=>{var u=ct.isAbs(a),h=a.slice(-1)==="/";if(a=ct.normalizeArray(a.split("/").filter((g)=>!!g),!u).join("/"),!a&&!u)a=".";if(a&&h)a+="/";return(u?"/":"")+a},dirname:(a)=>{var u=ct.splitPath(a),h=u[0],g=u[1];if(!h&&!g)return".";if(g)g=g.slice(0,-1);return h+g},basename:(a)=>a&&a.match(/([^\/]+|\/)\/*$/)[1],join:(...a)=>ct.normalize(a.join("/")),join2:(a,u)=>ct.normalize(a+"/"+u)},mx=()=>(a)=>(crypto.getRandomValues(a),0),C_=(a)=>(C_=mx())(a),Cn={resolve:(...a)=>{var u="",h=!1;for(var g=a.length-1;g>=-1&&!h;g--){var l=g>=0?a[g]:y.cwd();if(typeof l!="string")throw TypeError("Arguments to path.resolve must be strings");else if(!l)return"";u=l+"/"+u,h=ct.isAbs(l)}return u=ct.normalizeArray(u.split("/").filter((p)=>!!p),!h).join("/"),(h?"/":"")+u||"."},relative:(a,u)=>{a=Cn.resolve(a).slice(1),u=Cn.resolve(u).slice(1);function h(O){var X=0;for(;X<O.length;X++)if(O[X]!=="")break;var M=O.length-1;for(;M>=0;M--)if(O[M]!=="")break;if(X>M)return[];return O.slice(X,M-X+1)}var g=h(a.split("/")),l=h(u.split("/")),p=Math.min(g.length,l.length),m=p;for(var E=0;E<p;E++)if(g[E]!==l[E]){m=E;break}var w=[];for(var E=m;E<g.length;E++)w.push("..");return w=w.concat(l.slice(m)),w.join("/")}},q_=new TextDecoder,L_=(a,u,h,g)=>{var l=u+h;if(g)return l;while(a[u]&&!(u>=l))++u;return u},Fi=(a,u=0,h,g)=>{var l=L_(a,u,h,g);return q_.decode(a.buffer?a.subarray(u,l):new Uint8Array(a.slice(u,l)))},Cc=[],es=(a)=>{var u=0;for(var h=0;h<a.length;++h){var g=a.charCodeAt(h);if(g<=127)u++;else if(g<=2047)u+=2;else if(g>=55296&&g<=57343)u+=4,++h;else u+=3}return u},z_=(a,u,h,g)=>{if(!(g>0))return 0;var l=h,p=h+g-1;for(var m=0;m<a.length;++m){var E=a.codePointAt(m);if(E<=127){if(h>=p)break;u[h++]=E}else if(E<=2047){if(h+1>=p)break;u[h++]=192|E>>6,u[h++]=128|E&63}else if(E<=65535){if(h+2>=p)break;u[h++]=224|E>>12,u[h++]=128|E>>6&63,u[h++]=128|E&63}else{if(h+3>=p)break;u[h++]=240|E>>18,u[h++]=128|E>>12&63,u[h++]=128|E>>6&63,u[h++]=128|E&63,m++}}return u[h]=0,h-l},qc=(a,u,h)=>{var g=h>0?h:es(a)+1,l=Array(g),p=z_(a,l,0,l.length);if(u)l.length=p;return l},_x=()=>{if(!Cc.length){var a=null;if(globalThis.window?.prompt){if(a=window.prompt("Input: "),a!==null)a+=`
525
- `}if(!a)return null;Cc=qc(a,!0)}return Cc.shift()},Fr={ttys:[],init(){},shutdown(){},register(a,u){Fr.ttys[a]={input:[],output:[],ops:u},y.registerDevice(a,Fr.stream_ops)},stream_ops:{open(a){var u=Fr.ttys[a.node.rdev];if(!u)throw new y.ErrnoError(43);a.tty=u,a.seekable=!1},close(a){a.tty.ops.fsync(a.tty)},fsync(a){a.tty.ops.fsync(a.tty)},read(a,u,h,g,l){if(!a.tty||!a.tty.ops.get_char)throw new y.ErrnoError(60);var p=0;for(var m=0;m<g;m++){var E;try{E=a.tty.ops.get_char(a.tty)}catch(w){throw new y.ErrnoError(29)}if(E===void 0&&p===0)throw new y.ErrnoError(6);if(E===null||E===void 0)break;p++,u[h+m]=E}if(p)a.node.atime=Date.now();return p},write(a,u,h,g,l){if(!a.tty||!a.tty.ops.put_char)throw new y.ErrnoError(60);try{for(var p=0;p<g;p++)a.tty.ops.put_char(a.tty,u[h+p])}catch(m){throw new y.ErrnoError(29)}if(g)a.node.mtime=a.node.ctime=Date.now();return p}},default_tty_ops:{get_char(a){return _x()},put_char(a,u){if(u===null||u===10)x(Fi(a.output)),a.output=[];else if(u!=0)a.output.push(u)},fsync(a){if(a.output?.length>0)x(Fi(a.output)),a.output=[]},ioctl_tcgets(a){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(a,u,h){return 0},ioctl_tiocgwinsz(a){return[24,80]}},default_tty1_ops:{put_char(a,u){if(u===null||u===10)P(Fi(a.output)),a.output=[];else if(u!=0)a.output.push(u)},fsync(a){if(a.output?.length>0)P(Fi(a.output)),a.output=[]}}},hx=(a,u)=>on.fill(0,a,a+u),U_=(a,u)=>Math.ceil(a/u)*u,j_=(a)=>{a=U_(a,65536);var u=G_(65536,a);if(u)hx(u,a);return u},We={ops_table:null,mount(a){return We.createNode(null,"/",16895,0)},createNode(a,u,h,g){if(y.isBlkdev(h)||y.isFIFO(h))throw new y.ErrnoError(63);We.ops_table||={dir:{node:{getattr:We.node_ops.getattr,setattr:We.node_ops.setattr,lookup:We.node_ops.lookup,mknod:We.node_ops.mknod,rename:We.node_ops.rename,unlink:We.node_ops.unlink,rmdir:We.node_ops.rmdir,readdir:We.node_ops.readdir,symlink:We.node_ops.symlink},stream:{llseek:We.stream_ops.llseek}},file:{node:{getattr:We.node_ops.getattr,setattr:We.node_ops.setattr},stream:{llseek:We.stream_ops.llseek,read:We.stream_ops.read,write:We.stream_ops.write,mmap:We.stream_ops.mmap,msync:We.stream_ops.msync}},link:{node:{getattr:We.node_ops.getattr,setattr:We.node_ops.setattr,readlink:We.node_ops.readlink},stream:{}},chrdev:{node:{getattr:We.node_ops.getattr,setattr:We.node_ops.setattr},stream:y.chrdev_stream_ops}};var l=y.createNode(a,u,h,g);if(y.isDir(l.mode))l.node_ops=We.ops_table.dir.node,l.stream_ops=We.ops_table.dir.stream,l.contents={};else if(y.isFile(l.mode))l.node_ops=We.ops_table.file.node,l.stream_ops=We.ops_table.file.stream,l.usedBytes=0,l.contents=We.emptyFileContents??=new Uint8Array(0);else if(y.isLink(l.mode))l.node_ops=We.ops_table.link.node,l.stream_ops=We.ops_table.link.stream;else if(y.isChrdev(l.mode))l.node_ops=We.ops_table.chrdev.node,l.stream_ops=We.ops_table.chrdev.stream;if(l.atime=l.mtime=l.ctime=Date.now(),a)a.contents[u]=l,a.atime=a.mtime=a.ctime=l.atime;return l},getFileDataAsTypedArray(a){return a.contents.subarray(0,a.usedBytes)},expandFileStorage(a,u){var h=a.contents.length;if(h>=u)return;if(u=Math.max(u,h*(h<1048576?2:1.125)>>>0),h)u=Math.max(u,256);var g=We.getFileDataAsTypedArray(a);a.contents=new Uint8Array(u),a.contents.set(g)},resizeFileStorage(a,u){if(a.usedBytes==u)return;var h=a.contents;a.contents=new Uint8Array(u),a.contents.set(h.subarray(0,Math.min(u,a.usedBytes))),a.usedBytes=u},node_ops:{getattr(a){var u={};if(u.dev=y.isChrdev(a.mode)?a.id:1,u.ino=a.id,u.mode=a.mode,u.nlink=1,u.uid=0,u.gid=0,u.rdev=a.rdev,y.isDir(a.mode))u.size=4096;else if(y.isFile(a.mode))u.size=a.usedBytes;else if(y.isLink(a.mode))u.size=a.link.length;else u.size=0;return u.atime=new Date(a.atime),u.mtime=new Date(a.mtime),u.ctime=new Date(a.ctime),u.blksize=4096,u.blocks=Math.ceil(u.size/u.blksize),u},setattr(a,u){for(let h of["mode","atime","mtime","ctime"])if(u[h]!=null)a[h]=u[h];if(u.size!==void 0)We.resizeFileStorage(a,u.size)},lookup(a,u){if(!We.doesNotExistError)We.doesNotExistError=new y.ErrnoError(44),We.doesNotExistError.stack="<generic error, no stack>";throw We.doesNotExistError},mknod(a,u,h,g){return We.createNode(a,u,h,g)},rename(a,u,h){var g;try{g=y.lookupNode(u,h)}catch(p){}if(g){if(y.isDir(a.mode))for(var l in g.contents)throw new y.ErrnoError(55);y.hashRemoveNode(g)}delete a.parent.contents[a.name],u.contents[h]=a,a.name=h,u.ctime=u.mtime=a.parent.ctime=a.parent.mtime=Date.now()},unlink(a,u){delete a.contents[u],a.ctime=a.mtime=Date.now()},rmdir(a,u){for(var h in y.lookupNode(a,u).contents)throw new y.ErrnoError(55);delete a.contents[u],a.ctime=a.mtime=Date.now()},readdir(a){return[".","..",...Object.keys(a.contents)]},symlink(a,u,h){var g=We.createNode(a,u,41471,0);return g.link=h,g},readlink(a){if(!y.isLink(a.mode))throw new y.ErrnoError(28);return a.link}},stream_ops:{read(a,u,h,g,l){var p=a.node.contents;if(l>=a.node.usedBytes)return 0;var m=Math.min(a.node.usedBytes-l,g);return u.set(p.subarray(l,l+m),h),m},write(a,u,h,g,l,p){if(u.buffer===ar.buffer)p=!1;if(!g)return 0;var m=a.node;if(m.mtime=m.ctime=Date.now(),p)m.contents=u.subarray(h,h+g),m.usedBytes=g;else if(m.usedBytes===0&&l===0)m.contents=u.slice(h,h+g),m.usedBytes=g;else We.expandFileStorage(m,l+g),m.contents.set(u.subarray(h,h+g),l),m.usedBytes=Math.max(m.usedBytes,l+g);return g},llseek(a,u,h){var g=u;if(h===1)g+=a.position;else if(h===2){if(y.isFile(a.node.mode))g+=a.node.usedBytes}if(g<0)throw new y.ErrnoError(28);return g},mmap(a,u,h,g,l){if(!y.isFile(a.node.mode))throw new y.ErrnoError(43);var p,m,E=a.node.contents;if(!(l&2)&&E.buffer===ar.buffer)m=!1,p=E.byteOffset;else{if(m=!0,p=j_(u),!p)throw new y.ErrnoError(48);if(E){if(h>0||h+u<E.length)if(E.subarray)E=E.subarray(h,h+u);else E=Array.prototype.slice.call(E,h,h+u);ar.set(E,p)}}return{ptr:p,allocated:m}},msync(a,u,h,g,l){return We.stream_ops.write(a,u,0,g,h,!1),0}}},yx=(a)=>{if(typeof a!="string")return a;var u={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[a];if(typeof u>"u")throw Error(`Unknown file open mode: ${a}`);return u},F_=(a)=>{if(typeof a=="string")a=qc(a,!0);if(!a.subarray)a=new Uint8Array(a);return a},Lc=(a,u)=>{var h=0;if(a)h|=365;if(u)h|=146;return h},vx=async(a)=>{var u=await f(a);return new Uint8Array(u)},bx=(...a)=>y.createDataFile(...a),wx=(a)=>a,sn=0,Mi=null,Sx=(a)=>{if(sn--,n.monitorRunDependencies?.(sn),sn==0){if(Mi){var u=Mi;Mi=null,u()}}},Ex=(a)=>{sn++,n.monitorRunDependencies?.(sn)},M_=[],xx=async(a,u)=>{if(typeof Browser<"u")Browser.init();for(var h of M_)if(h.canHandle(u))return h.handle(a,u);return a},B_=async(a,u,h,g,l,p,m,E)=>{var w=u?Cn.resolve(ct.join2(a,u)):a,O=wx(`cp ${w}`);Ex(O);try{var X=h;if(typeof h=="string")X=await vx(h);if(X=await xx(X,w),E?.(),!p)bx(a,u,X,g,l,m)}finally{Sx(O)}},kx=(a,u,h,g,l,p,m,E,w,O)=>{B_(a,u,h,g,l,E,w,O).then(p).catch(m)},y={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,filesystems:null,syncFSRequests:0,ErrnoError:class{name="ErrnoError";constructor(a){this.errno=a}},FSStream:class{shared={};get object(){return this.node}set object(a){this.node=a}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(a){this.shared.flags=a}get position(){return this.shared.position}set position(a){this.shared.position=a}},FSNode:class{node_ops={};stream_ops={};readMode=365;writeMode=146;mounted=null;constructor(a,u,h,g){if(!a)a=this;this.parent=a,this.mount=a.mount,this.id=y.nextInode++,this.name=u,this.mode=h,this.rdev=g,this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(a){a?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(a){a?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return y.isDir(this.mode)}get isDevice(){return y.isChrdev(this.mode)}},lookupPath(a,u={}){if(!a)throw new y.ErrnoError(44);if(u.follow_mount??=!0,!ct.isAbs(a))a=y.cwd()+"/"+a;e:for(var h=0;h<40;h++){var g=a.split("/").filter((O)=>!!O),l=y.root,p="/";for(var m=0;m<g.length;m++){var E=m===g.length-1;if(E&&u.parent)break;if(g[m]===".")continue;if(g[m]===".."){if(p=ct.dirname(p),y.isRoot(l)){a=p+"/"+g.slice(m+1).join("/"),h--;continue e}else l=l.parent;continue}p=ct.join2(p,g[m]);try{l=y.lookupNode(l,g[m])}catch(O){if(O?.errno===44&&E&&u.noent_okay)return{path:p};throw O}if(y.isMountpoint(l)&&(!E||u.follow_mount))l=l.mounted.root;if(y.isLink(l.mode)&&(!E||u.follow)){if(!l.node_ops.readlink)throw new y.ErrnoError(52);var w=l.node_ops.readlink(l);if(!ct.isAbs(w))w=ct.dirname(p)+"/"+w;a=w+"/"+g.slice(m+1).join("/");continue e}}return{path:p,node:l}}throw new y.ErrnoError(32)},getPath(a){var u;while(!0){if(y.isRoot(a)){var h=a.mount.mountpoint;if(!u)return h;return h[h.length-1]!=="/"?`${h}/${u}`:h+u}u=u?`${a.name}/${u}`:a.name,a=a.parent}},hashName(a,u){var h=0;for(var g=0;g<u.length;g++)h=(h<<5)-h+u.charCodeAt(g)|0;return(a+h>>>0)%y.nameTable.length},hashAddNode(a){var u=y.hashName(a.parent.id,a.name);a.name_next=y.nameTable[u],y.nameTable[u]=a},hashRemoveNode(a){var u=y.hashName(a.parent.id,a.name);if(y.nameTable[u]===a)y.nameTable[u]=a.name_next;else{var h=y.nameTable[u];while(h){if(h.name_next===a){h.name_next=a.name_next;break}h=h.name_next}}},lookupNode(a,u){var h=y.mayLookup(a);if(h)throw new y.ErrnoError(h);var g=y.hashName(a.id,u);for(var l=y.nameTable[g];l;l=l.name_next){var p=l.name;if(l.parent.id===a.id&&p===u)return l}return y.lookup(a,u)},createNode(a,u,h,g){var l=new y.FSNode(a,u,h,g);return y.hashAddNode(l),l},destroyNode(a){y.hashRemoveNode(a)},isRoot(a){return a===a.parent},isMountpoint(a){return!!a.mounted},isFile(a){return(a&61440)===32768},isDir(a){return(a&61440)===16384},isLink(a){return(a&61440)===40960},isChrdev(a){return(a&61440)===8192},isBlkdev(a){return(a&61440)===24576},isFIFO(a){return(a&61440)===4096},isSocket(a){return(a&49152)===49152},flagsToPermissionString(a){var u=["r","w","rw"][a&3];if(a&512)u+="w";return u},nodePermissions(a,u){if(y.ignorePermissions)return 0;if(u.includes("r")&&!(a.mode&292))return 2;if(u.includes("w")&&!(a.mode&146))return 2;if(u.includes("x")&&!(a.mode&73))return 2;return 0},mayLookup(a){if(!y.isDir(a.mode))return 54;var u=y.nodePermissions(a,"x");if(u)return u;if(!a.node_ops.lookup)return 2;return 0},mayCreate(a,u){if(!y.isDir(a.mode))return 54;try{return y.lookupNode(a,u),20}catch(h){}return y.nodePermissions(a,"wx")},mayDelete(a,u,h){var g;try{g=y.lookupNode(a,u)}catch(p){return p.errno}var l=y.nodePermissions(a,"wx");if(l)return l;if(h){if(!y.isDir(g.mode))return 54;if(y.isRoot(g)||y.getPath(g)===y.cwd())return 10}else if(y.isDir(g.mode))return 31;return 0},mayOpen(a,u){if(!a)return 44;if(y.isLink(a.mode))return 32;var h=y.flagsToPermissionString(u);if(y.isDir(a.mode)){if(h!=="r"||u&576)return 31}return y.nodePermissions(a,h)},checkOpExists(a,u){if(!a)throw new y.ErrnoError(u);return a},MAX_OPEN_FDS:4096,nextfd(){for(var a=0;a<=y.MAX_OPEN_FDS;a++)if(!y.streams[a])return a;throw new y.ErrnoError(33)},getStreamChecked(a){var u=y.getStream(a);if(!u)throw new y.ErrnoError(8);return u},getStream:(a)=>y.streams[a],createStream(a,u=-1){if(a=Object.assign(new y.FSStream,a),u==-1)u=y.nextfd();return a.fd=u,y.streams[u]=a,a},closeStream(a){y.streams[a]=null},dupStream(a,u=-1){var h=y.createStream(a,u);return h.stream_ops?.dup?.(h),h},doSetAttr(a,u,h){var g=a?.stream_ops.setattr,l=g?a:u;g??=u.node_ops.setattr,y.checkOpExists(g,63),g(l,h)},chrdev_stream_ops:{open(a){a.stream_ops=y.getDevice(a.node.rdev).stream_ops,a.stream_ops.open?.(a)},llseek(){throw new y.ErrnoError(70)}},major:(a)=>a>>8,minor:(a)=>a&255,makedev:(a,u)=>a<<8|u,registerDevice(a,u){y.devices[a]={stream_ops:u}},getDevice:(a)=>y.devices[a],getMounts(a){var u=[],h=[a];while(h.length){var g=h.pop();u.push(g),h.push(...g.mounts)}return u},syncfs(a,u){if(typeof a=="function")u=a,a=!1;if(y.syncFSRequests++,y.syncFSRequests>1)P(`warning: ${y.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var h=y.getMounts(y.root.mount),g=0;function l(E){return y.syncFSRequests--,u(E)}function p(E){if(E){if(!p.errored)return p.errored=!0,l(E);return}if(++g>=h.length)l(null)}for(var m of h)if(m.type.syncfs)m.type.syncfs(m,a,p);else p(null)},mount(a,u,h){var g=h==="/",l=!h,p;if(g&&y.root)throw new y.ErrnoError(10);else if(!g&&!l){var m=y.lookupPath(h,{follow_mount:!1});if(h=m.path,p=m.node,y.isMountpoint(p))throw new y.ErrnoError(10);if(!y.isDir(p.mode))throw new y.ErrnoError(54)}var E={type:a,opts:u,mountpoint:h,mounts:[]},w=a.mount(E);if(w.mount=E,E.root=w,g)y.root=w;else if(p){if(p.mounted=E,p.mount)p.mount.mounts.push(E)}return w},unmount(a){var u=y.lookupPath(a,{follow_mount:!1});if(!y.isMountpoint(u.node))throw new y.ErrnoError(28);var h=u.node,g=h.mounted,l=y.getMounts(g);for(var[p,m]of Object.entries(y.nameTable))while(m){var E=m.name_next;if(l.includes(m.mount))y.destroyNode(m);m=E}h.mounted=null;var w=h.mount.mounts.indexOf(g);h.mount.mounts.splice(w,1)},lookup(a,u){return a.node_ops.lookup(a,u)},mknod(a,u,h){var g=y.lookupPath(a,{parent:!0}).node,l=ct.basename(a);if(!l)throw new y.ErrnoError(28);if(l==="."||l==="..")throw new y.ErrnoError(20);var p=y.mayCreate(g,l);if(p)throw new y.ErrnoError(p);if(!g.node_ops.mknod)throw new y.ErrnoError(63);return g.node_ops.mknod(g,l,u,h)},statfs(a){return y.statfsNode(y.lookupPath(a,{follow:!0}).node)},statfsStream(a){return y.statfsNode(a.node)},statfsNode(a){var u={bsize:4096,frsize:4096,blocks:1e6,bfree:500000,bavail:500000,files:y.nextInode,ffree:y.nextInode-1,fsid:42,flags:2,namelen:255};if(a.node_ops.statfs)Object.assign(u,a.node_ops.statfs(a.mount.opts.root));return u},create(a,u=438){return u&=4095,u|=32768,y.mknod(a,u,0)},mkdir(a,u=511){return u&=1023,u|=16384,y.mknod(a,u,0)},mkdirTree(a,u){var h=a.split("/"),g="";for(var l of h){if(!l)continue;if(g||ct.isAbs(a))g+="/";g+=l;try{y.mkdir(g,u)}catch(p){if(p.errno!=20)throw p}}},mkdev(a,u,h){if(typeof h>"u")h=u,u=438;return u|=8192,y.mknod(a,u,h)},symlink(a,u){if(!Cn.resolve(a))throw new y.ErrnoError(44);var h=y.lookupPath(u,{parent:!0}).node;if(!h)throw new y.ErrnoError(44);var g=ct.basename(u),l=y.mayCreate(h,g);if(l)throw new y.ErrnoError(l);if(!h.node_ops.symlink)throw new y.ErrnoError(63);return h.node_ops.symlink(h,g,a)},rename(a,u){var h=ct.dirname(a),g=ct.dirname(u),l=ct.basename(a),p=ct.basename(u),m=y.lookupPath(a,{parent:!0}),E=m.node,w;if(m=y.lookupPath(u,{parent:!0}),w=m.node,!E||!w)throw new y.ErrnoError(44);if(E.mount!==w.mount)throw new y.ErrnoError(75);var O=y.lookupNode(E,l),X=Cn.relative(a,g);if(X.charAt(0)!==".")throw new y.ErrnoError(28);if(X=Cn.relative(u,h),X.charAt(0)!==".")throw new y.ErrnoError(55);var M;try{M=y.lookupNode(w,p)}catch(Z){}if(O===M)return;var q=y.isDir(O.mode),L=y.mayDelete(E,l,q);if(L)throw new y.ErrnoError(L);if(L=M?y.mayDelete(w,p,q):y.mayCreate(w,p),L)throw new y.ErrnoError(L);if(!E.node_ops.rename)throw new y.ErrnoError(63);if(y.isMountpoint(O)||M&&y.isMountpoint(M))throw new y.ErrnoError(10);if(w!==E){if(L=y.nodePermissions(E,"w"),L)throw new y.ErrnoError(L)}y.hashRemoveNode(O);try{E.node_ops.rename(O,w,p),O.parent=w}catch(Z){throw Z}finally{y.hashAddNode(O)}},rmdir(a){var u=y.lookupPath(a,{parent:!0}).node,h=ct.basename(a),g=y.lookupNode(u,h),l=y.mayDelete(u,h,!0);if(l)throw new y.ErrnoError(l);if(!u.node_ops.rmdir)throw new y.ErrnoError(63);if(y.isMountpoint(g))throw new y.ErrnoError(10);u.node_ops.rmdir(u,h),y.destroyNode(g)},readdir(a){var u=y.lookupPath(a,{follow:!0}).node;return y.checkOpExists(u.node_ops.readdir,54)(u)},unlink(a){var u=y.lookupPath(a,{parent:!0}).node;if(!u)throw new y.ErrnoError(44);var h=ct.basename(a),g=y.lookupNode(u,h),l=y.mayDelete(u,h,!1);if(l)throw new y.ErrnoError(l);if(!u.node_ops.unlink)throw new y.ErrnoError(63);if(y.isMountpoint(g))throw new y.ErrnoError(10);u.node_ops.unlink(u,h),y.destroyNode(g)},readlink(a){var u=y.lookupPath(a).node;if(!u)throw new y.ErrnoError(44);if(!u.node_ops.readlink)throw new y.ErrnoError(28);return u.node_ops.readlink(u)},stat(a,u){var h=y.lookupPath(a,{follow:!u}).node;return y.checkOpExists(h.node_ops.getattr,63)(h)},fstat(a){var u=y.getStreamChecked(a),h=u.node,g=u.stream_ops.getattr,l=g?u:h;return g??=h.node_ops.getattr,y.checkOpExists(g,63),g(l)},lstat(a){return y.stat(a,!0)},doChmod(a,u,h,g){y.doSetAttr(a,u,{mode:h&4095|u.mode&-4096,ctime:Date.now(),dontFollow:g})},chmod(a,u,h){var g;if(typeof a=="string")g=y.lookupPath(a,{follow:!h}).node;else g=a;y.doChmod(null,g,u,h)},lchmod(a,u){y.chmod(a,u,!0)},fchmod(a,u){var h=y.getStreamChecked(a);y.doChmod(h,h.node,u,!1)},doChown(a,u,h){y.doSetAttr(a,u,{timestamp:Date.now(),dontFollow:h})},chown(a,u,h,g){var l;if(typeof a=="string")l=y.lookupPath(a,{follow:!g}).node;else l=a;y.doChown(null,l,g)},lchown(a,u,h){y.chown(a,u,h,!0)},fchown(a,u,h){var g=y.getStreamChecked(a);y.doChown(g,g.node,!1)},doTruncate(a,u,h){if(y.isDir(u.mode))throw new y.ErrnoError(31);if(!y.isFile(u.mode))throw new y.ErrnoError(28);var g=y.nodePermissions(u,"w");if(g)throw new y.ErrnoError(g);y.doSetAttr(a,u,{size:h,timestamp:Date.now()})},truncate(a,u){if(u<0)throw new y.ErrnoError(28);var h;if(typeof a=="string")h=y.lookupPath(a,{follow:!0}).node;else h=a;y.doTruncate(null,h,u)},ftruncate(a,u){var h=y.getStreamChecked(a);if(u<0||(h.flags&2097155)===0)throw new y.ErrnoError(28);y.doTruncate(h,h.node,u)},utime(a,u,h){var g=y.lookupPath(a,{follow:!0}).node;y.checkOpExists(g.node_ops.setattr,63)(g,{atime:u,mtime:h})},open(a,u,h=438){if(a==="")throw new y.ErrnoError(44);if(u=yx(u),u&64)h=h&4095|32768;else h=0;var g,l;if(typeof a=="object")g=a;else{l=a.endsWith("/");var p=y.lookupPath(a,{follow:!(u&131072),noent_okay:!0});g=p.node,a=p.path}var m=!1;if(u&64)if(g){if(u&128)throw new y.ErrnoError(20)}else if(l)throw new y.ErrnoError(31);else g=y.mknod(a,h|511,0),m=!0;if(!g)throw new y.ErrnoError(44);if(y.isChrdev(g.mode))u&=-513;if(u&65536&&!y.isDir(g.mode))throw new y.ErrnoError(54);if(!m){var E=y.mayOpen(g,u);if(E)throw new y.ErrnoError(E)}if(u&512&&!m)y.truncate(g,0);u&=-131713;var w=y.createStream({node:g,path:y.getPath(g),flags:u,seekable:!0,position:0,stream_ops:g.stream_ops,ungotten:[],error:!1});if(w.stream_ops.open)w.stream_ops.open(w);if(m)y.chmod(g,h&511);return w},close(a){if(y.isClosed(a))throw new y.ErrnoError(8);if(a.getdents)a.getdents=null;try{if(a.stream_ops.close)a.stream_ops.close(a)}catch(u){throw u}finally{y.closeStream(a.fd)}a.fd=null},isClosed(a){return a.fd===null},llseek(a,u,h){if(y.isClosed(a))throw new y.ErrnoError(8);if(!a.seekable||!a.stream_ops.llseek)throw new y.ErrnoError(70);if(h!=0&&h!=1&&h!=2)throw new y.ErrnoError(28);return a.position=a.stream_ops.llseek(a,u,h),a.ungotten=[],a.position},read(a,u,h,g,l){if(g<0||l<0)throw new y.ErrnoError(28);if(y.isClosed(a))throw new y.ErrnoError(8);if((a.flags&2097155)===1)throw new y.ErrnoError(8);if(y.isDir(a.node.mode))throw new y.ErrnoError(31);if(!a.stream_ops.read)throw new y.ErrnoError(28);var p=typeof l<"u";if(!p)l=a.position;else if(!a.seekable)throw new y.ErrnoError(70);var m=a.stream_ops.read(a,u,h,g,l);if(!p)a.position+=m;return m},write(a,u,h,g,l,p){if(g<0||l<0)throw new y.ErrnoError(28);if(y.isClosed(a))throw new y.ErrnoError(8);if((a.flags&2097155)===0)throw new y.ErrnoError(8);if(y.isDir(a.node.mode))throw new y.ErrnoError(31);if(!a.stream_ops.write)throw new y.ErrnoError(28);if(a.seekable&&a.flags&1024)y.llseek(a,0,2);var m=typeof l<"u";if(!m)l=a.position;else if(!a.seekable)throw new y.ErrnoError(70);var E=a.stream_ops.write(a,u,h,g,l,p);if(!m)a.position+=E;return E},mmap(a,u,h,g,l){if((g&2)!==0&&(l&2)===0&&(a.flags&2097155)!==2)throw new y.ErrnoError(2);if((a.flags&2097155)===1)throw new y.ErrnoError(2);if(!a.stream_ops.mmap)throw new y.ErrnoError(43);if(!u)throw new y.ErrnoError(28);return a.stream_ops.mmap(a,u,h,g,l)},msync(a,u,h,g,l){if(!a.stream_ops.msync)return 0;return a.stream_ops.msync(a,u,h,g,l)},ioctl(a,u,h){if(!a.stream_ops.ioctl)throw new y.ErrnoError(59);return a.stream_ops.ioctl(a,u,h)},readFile(a,u={}){if(u.flags=u.flags||0,u.encoding=u.encoding||"binary",u.encoding!=="utf8"&&u.encoding!=="binary")It(`Invalid encoding type "${u.encoding}"`);var h=y.open(a,u.flags),g=y.stat(a).size,l=new Uint8Array(g);if(y.read(h,l,0,g,0),u.encoding==="utf8")l=Fi(l);return y.close(h),l},writeFile(a,u,h={}){h.flags=h.flags||577;var g=y.open(a,h.flags,h.mode);u=F_(u),y.write(g,u,0,u.byteLength,void 0,h.canOwn),y.close(g)},cwd:()=>y.currentPath,chdir(a){var u=y.lookupPath(a,{follow:!0});if(u.node===null)throw new y.ErrnoError(44);if(!y.isDir(u.node.mode))throw new y.ErrnoError(54);var h=y.nodePermissions(u.node,"x");if(h)throw new y.ErrnoError(h);y.currentPath=u.path},createDefaultDirectories(){y.mkdir("/tmp"),y.mkdir("/home"),y.mkdir("/home/web_user")},createDefaultDevices(){y.mkdir("/dev"),y.registerDevice(y.makedev(1,3),{read:()=>0,write:(g,l,p,m,E)=>m,llseek:()=>0}),y.mkdev("/dev/null",y.makedev(1,3)),Fr.register(y.makedev(5,0),Fr.default_tty_ops),Fr.register(y.makedev(6,0),Fr.default_tty1_ops),y.mkdev("/dev/tty",y.makedev(5,0)),y.mkdev("/dev/tty1",y.makedev(6,0));var a=new Uint8Array(1024),u=0,h=()=>{if(u===0)C_(a),u=a.byteLength;return a[--u]};y.createDevice("/dev","random",h),y.createDevice("/dev","urandom",h),y.mkdir("/dev/shm"),y.mkdir("/dev/shm/tmp")},createSpecialDirectories(){y.mkdir("/proc");var a=y.mkdir("/proc/self");y.mkdir("/proc/self/fd"),y.mount({mount(){var u=y.createNode(a,"fd",16895,73);return u.stream_ops={llseek:We.stream_ops.llseek},u.node_ops={lookup(h,g){var l=+g,p=y.getStreamChecked(l),m={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>p.path},id:l+1};return m.parent=m,m},readdir(){return Array.from(y.streams.entries()).filter(([h,g])=>g).map(([h,g])=>h.toString())}},u}},{},"/proc/self/fd")},createStandardStreams(a,u,h){if(a)y.createDevice("/dev","stdin",a);else y.symlink("/dev/tty","/dev/stdin");if(u)y.createDevice("/dev","stdout",null,u);else y.symlink("/dev/tty","/dev/stdout");if(h)y.createDevice("/dev","stderr",null,h);else y.symlink("/dev/tty1","/dev/stderr");y.open("/dev/stdin",0),y.open("/dev/stdout",1),y.open("/dev/stderr",1)},staticInit(){y.nameTable=Array(4096),y.mount(We,{},"/"),y.createDefaultDirectories(),y.createDefaultDevices(),y.createSpecialDirectories(),y.filesystems={MEMFS:We}},init(a,u,h){y.initialized=!0,a??=n.stdin,u??=n.stdout,h??=n.stderr,y.createStandardStreams(a,u,h)},quit(){y.initialized=!1;for(var a of y.streams)if(a)y.close(a)},findObject(a,u){var h=y.analyzePath(a,u);if(!h.exists)return null;return h.object},analyzePath(a,u){try{var h=y.lookupPath(a,{follow:!u});a=h.path}catch(l){}var g={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var h=y.lookupPath(a,{parent:!0});g.parentExists=!0,g.parentPath=h.path,g.parentObject=h.node,g.name=ct.basename(a),h=y.lookupPath(a,{follow:!u}),g.exists=!0,g.path=h.path,g.object=h.node,g.name=h.node.name,g.isRoot=h.path==="/"}catch(l){g.error=l.errno}return g},createPath(a,u,h,g){a=typeof a=="string"?a:y.getPath(a);var l=u.split("/").reverse();while(l.length){var p=l.pop();if(!p)continue;var m=ct.join2(a,p);try{y.mkdir(m)}catch(E){if(E.errno!=20)throw E}a=m}return m},createFile(a,u,h,g,l){var p=ct.join2(typeof a=="string"?a:y.getPath(a),u),m=Lc(g,l);return y.create(p,m)},createDataFile(a,u,h,g,l,p){var m=u;if(a)a=typeof a=="string"?a:y.getPath(a),m=u?ct.join2(a,u):a;var E=Lc(g,l),w=y.create(m,E);if(h){h=F_(h),y.chmod(w,E|146);var O=y.open(w,577);y.write(O,h,0,h.length,0,p),y.close(O),y.chmod(w,E)}},createDevice(a,u,h,g){var l=ct.join2(typeof a=="string"?a:y.getPath(a),u),p=Lc(!!h,!!g);y.createDevice.major??=64;var m=y.makedev(y.createDevice.major++,0);return y.registerDevice(m,{open(E){E.seekable=!1},close(E){if(g?.buffer?.length)g(10)},read(E,w,O,X,M){var q=0;for(var L=0;L<X;L++){var Z;try{Z=h()}catch(K){throw new y.ErrnoError(29)}if(Z===void 0&&q===0)throw new y.ErrnoError(6);if(Z===null||Z===void 0)break;q++,w[O+L]=Z}if(q)E.node.atime=Date.now();return q},write(E,w,O,X,M){for(var q=0;q<X;q++)try{g(w[O+q])}catch(L){throw new y.ErrnoError(29)}if(X)E.node.mtime=E.node.ctime=Date.now();return q}}),y.mkdev(l,p,m)},forceLoadFile(a){if(a.isDevice||a.isFolder||a.link||a.contents)return!0;if(globalThis.XMLHttpRequest)It("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");else try{a.contents=b(a.url)}catch(u){throw new y.ErrnoError(29)}},createLazyFile(a,u,h,g,l){class p{lengthKnown=!1;chunks=[];get(X){if(X>this.length-1||X<0)return;var M=X%this.chunkSize,q=X/this.chunkSize|0;return this.getter(q)[M]}setDataGetter(X){this.getter=X}cacheLength(){var X=new XMLHttpRequest;if(X.open("HEAD",h,!1),X.send(null),!(X.status>=200&&X.status<300||X.status===304))It("Couldn't load "+h+". Status: "+X.status);var M=Number(X.getResponseHeader("Content-length")),q,L=(q=X.getResponseHeader("Accept-Ranges"))&&q==="bytes",Z=(q=X.getResponseHeader("Content-Encoding"))&&q==="gzip",K=1048576;if(!L)K=M;var pe=(D,Y)=>{if(D>Y)It("invalid range ("+D+", "+Y+") or no bytes requested!");if(Y>M-1)It("only "+M+" bytes available! programmer error!");var re=new XMLHttpRequest;if(re.open("GET",h,!1),M!==K)re.setRequestHeader("Range","bytes="+D+"-"+Y);if(re.responseType="arraybuffer",re.overrideMimeType)re.overrideMimeType("text/plain; charset=x-user-defined");if(re.send(null),!(re.status>=200&&re.status<300||re.status===304))It("Couldn't load "+h+". Status: "+re.status);if(re.response!==void 0)return new Uint8Array(re.response||[]);return qc(re.responseText||"",!0)},A=this;if(A.setDataGetter((D)=>{var Y=D*K,re=(D+1)*K-1;if(re=Math.min(re,M-1),typeof A.chunks[D]>"u")A.chunks[D]=pe(Y,re);if(typeof A.chunks[D]>"u")It("doXHR failed!");return A.chunks[D]}),Z||!M)K=M=1,M=this.getter(0).length,K=M,x("LazyFiles on gzip forces download of the whole file when length is accessed");this._length=M,this._chunkSize=K,this.lengthKnown=!0}get length(){if(!this.lengthKnown)this.cacheLength();return this._length}get chunkSize(){if(!this.lengthKnown)this.cacheLength();return this._chunkSize}}if(globalThis.XMLHttpRequest){if(!r)It("Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc");var m={isDevice:!1,contents:new p}}else var m={isDevice:!1,url:h};var E=y.createFile(a,u,m,g,l);if(m.contents)E.contents=m.contents;else if(m.url)E.contents=null,E.url=m.url;Object.defineProperties(E,{usedBytes:{get:function(){return this.contents.length}}});var w={};for(let[X,M]of Object.entries(E.stream_ops))w[X]=(...q)=>(y.forceLoadFile(E),M(...q));function O(X,M,q,L,Z){var K=X.node.contents;if(Z>=K.length)return 0;var pe=Math.min(K.length-Z,L);if(K.slice)for(var A=0;A<pe;A++)M[q+A]=K[Z+A];else for(var A=0;A<pe;A++)M[q+A]=K.get(Z+A);return pe}return w.read=(X,M,q,L,Z)=>(y.forceLoadFile(E),O(X,M,q,L,Z)),w.mmap=(X,M,q,L,Z)=>{y.forceLoadFile(E);var K=j_(M);if(!K)throw new y.ErrnoError(48);return O(X,ar,K,M,q),{ptr:K,allocated:!0}},E.stream_ops=w,E}},Tx=(a,u,h)=>{if(!a)return"";var g=L_(on,a,u,h);return q_.decode(on.subarray(a,g))},Xe={calculateAt(a,u,h){if(ct.isAbs(u))return u;var g;if(a===-100)g=y.cwd();else g=Xe.getStreamFromFD(a).path;if(u.length==0){if(!h)throw new y.ErrnoError(44);return g}return g+"/"+u},writeStat(a,u){pt[a>>2]=u.dev,pt[a+4>>2]=u.mode,pt[a+8>>2]=u.nlink,pt[a+12>>2]=u.uid,pt[a+16>>2]=u.gid,pt[a+20>>2]=u.rdev,qt[a+24>>3]=BigInt(u.size),at[a+32>>2]=4096,at[a+36>>2]=u.blocks;var h=u.atime.getTime(),g=u.mtime.getTime(),l=u.ctime.getTime();return qt[a+40>>3]=BigInt(Math.floor(h/1000)),pt[a+48>>2]=h%1000*1000*1000,qt[a+56>>3]=BigInt(Math.floor(g/1000)),pt[a+64>>2]=g%1000*1000*1000,qt[a+72>>3]=BigInt(Math.floor(l/1000)),pt[a+80>>2]=l%1000*1000*1000,qt[a+88>>3]=BigInt(u.ino),0},writeStatFs(a,u){pt[a+4>>2]=u.bsize,pt[a+60>>2]=u.bsize,qt[a+8>>3]=BigInt(u.blocks),qt[a+16>>3]=BigInt(u.bfree),qt[a+24>>3]=BigInt(u.bavail),qt[a+32>>3]=BigInt(u.files),qt[a+40>>3]=BigInt(u.ffree),pt[a+48>>2]=u.fsid,pt[a+64>>2]=u.flags,pt[a+56>>2]=u.namelen},doMsync(a,u,h,g,l){if(!y.isFile(u.node.mode))throw new y.ErrnoError(43);if(g&2)return 0;var p=on.slice(a,a+h);y.msync(u,p,l,h,g)},getStreamFromFD(a){return y.getStreamChecked(a)},varargs:void 0,getStr(a){return Tx(a)}};function $x(a,u){try{return a=Xe.getStr(a),y.chmod(a,u),0}catch(h){if(typeof y>"u"||h.name!=="ErrnoError")throw h;return-h.errno}}function Ix(a,u,h,g){try{if(u=Xe.getStr(u),u=Xe.calculateAt(a,u),h&-8)return-28;var l=y.lookupPath(u,{follow:!0}).node;if(!l)return-44;var p="";if(h&4)p+="r";if(h&2)p+="w";if(h&1)p+="x";if(p&&y.nodePermissions(l,p))return-2;return 0}catch(m){if(typeof y>"u"||m.name!=="ErrnoError")throw m;return-m.errno}}function Dx(a,u){try{return y.fchmod(a,u),0}catch(h){if(typeof y>"u"||h.name!=="ErrnoError")throw h;return-h.errno}}function Rx(a,u,h){try{return y.fchown(a,u,h),0}catch(g){if(typeof y>"u"||g.name!=="ErrnoError")throw g;return-g.errno}}var ts=()=>{var a=at[+Xe.varargs>>2];return Xe.varargs+=4,a},qn=ts;function Ax(a,u,h){Xe.varargs=h;try{var g=Xe.getStreamFromFD(a);switch(u){case 0:var l=ts();if(l<0)return-28;while(y.streams[l])l++;return y.dupStream(g,l).fd;case 1:case 2:return 0;case 3:return g.flags;case 4:var l=ts();return g.flags|=l,0;case 12:var l=qn(),p=0;return ji[l+p>>1]=2,0;case 13:case 14:return 0}return-28}catch(m){if(typeof y>"u"||m.name!=="ErrnoError")throw m;return-m.errno}}function Ox(a,u){try{return Xe.writeStat(u,y.fstat(a))}catch(h){if(typeof y>"u"||h.name!=="ErrnoError")throw h;return-h.errno}}var Px=9007199254740992,Nx=-9007199254740992,Ln=(a)=>a<Nx||a>Px?NaN:Number(a);function Cx(a,u){u=Ln(u);try{if(isNaN(u))return-61;return y.ftruncate(a,u),0}catch(h){if(typeof y>"u"||h.name!=="ErrnoError")throw h;return-h.errno}}var an=(a,u,h)=>z_(a,on,u,h);function qx(a,u){try{if(u===0)return-28;var h=y.cwd(),g=es(h)+1;if(u<g)return-68;return an(h,a,u),g}catch(l){if(typeof y>"u"||l.name!=="ErrnoError")throw l;return-l.errno}}function Lx(a,u,h){Xe.varargs=h;try{var g=Xe.getStreamFromFD(a);switch(u){case 21509:if(!g.tty)return-59;return 0;case 21505:if(!g.tty)return-59;if(g.tty.ops.ioctl_tcgets){var l=g.tty.ops.ioctl_tcgets(g),M=qn();at[M>>2]=l.c_iflag||0,at[M+4>>2]=l.c_oflag||0,at[M+8>>2]=l.c_cflag||0,at[M+12>>2]=l.c_lflag||0;for(var p=0;p<32;p++)ar[M+p+17]=l.c_cc[p]||0;return 0}return 0;case 21510:case 21511:case 21512:if(!g.tty)return-59;return 0;case 21506:case 21507:case 21508:if(!g.tty)return-59;if(g.tty.ops.ioctl_tcsets){var M=qn(),m=at[M>>2],E=at[M+4>>2],w=at[M+8>>2],O=at[M+12>>2],X=[];for(var p=0;p<32;p++)X.push(ar[M+p+17]);return g.tty.ops.ioctl_tcsets(g.tty,u,{c_iflag:m,c_oflag:E,c_cflag:w,c_lflag:O,c_cc:X})}return 0;case 21519:if(!g.tty)return-59;var M=qn();return at[M>>2]=0,0;case 21520:if(!g.tty)return-59;return-28;case 21537:case 21531:var M=qn();return y.ioctl(g,u,M);case 21523:if(!g.tty)return-59;if(g.tty.ops.ioctl_tiocgwinsz){var q=g.tty.ops.ioctl_tiocgwinsz(g.tty),M=qn();ji[M>>1]=q[0],ji[M+2>>1]=q[1]}return 0;case 21524:if(!g.tty)return-59;return 0;case 21515:if(!g.tty)return-59;return 0;default:return-28}}catch(L){if(typeof y>"u"||L.name!=="ErrnoError")throw L;return-L.errno}}function zx(a,u){try{return a=Xe.getStr(a),Xe.writeStat(u,y.lstat(a))}catch(h){if(typeof y>"u"||h.name!=="ErrnoError")throw h;return-h.errno}}function Ux(a,u,h){try{return u=Xe.getStr(u),u=Xe.calculateAt(a,u),y.mkdir(u,h,0),0}catch(g){if(typeof y>"u"||g.name!=="ErrnoError")throw g;return-g.errno}}function jx(a,u,h,g){try{u=Xe.getStr(u);var l=g&256,p=g&4096;return g=g&-6401,u=Xe.calculateAt(a,u,p),Xe.writeStat(h,l?y.lstat(u):y.stat(u))}catch(m){if(typeof y>"u"||m.name!=="ErrnoError")throw m;return-m.errno}}function Fx(a,u,h,g){Xe.varargs=g;try{u=Xe.getStr(u),u=Xe.calculateAt(a,u);var l=g?ts():0;return y.open(u,h,l).fd}catch(p){if(typeof y>"u"||p.name!=="ErrnoError")throw p;return-p.errno}}function Mx(a,u,h,g){try{if(u=Xe.getStr(u),u=Xe.calculateAt(a,u),g<=0)return-28;var l=y.readlink(u),p=Math.min(g,es(l)),m=ar[h+p];return an(l,h,g+1),ar[h+p]=m,p}catch(E){if(typeof y>"u"||E.name!=="ErrnoError")throw E;return-E.errno}}function Bx(a){try{return a=Xe.getStr(a),y.rmdir(a),0}catch(u){if(typeof y>"u"||u.name!=="ErrnoError")throw u;return-u.errno}}function Wx(a,u){try{return a=Xe.getStr(a),Xe.writeStat(u,y.stat(a))}catch(h){if(typeof y>"u"||h.name!=="ErrnoError")throw h;return-h.errno}}function Hx(a,u,h){try{if(u=Xe.getStr(u),u=Xe.calculateAt(a,u),!h)y.unlink(u);else if(h===512)y.rmdir(u);else return-28;return 0}catch(g){if(typeof y>"u"||g.name!=="ErrnoError")throw g;return-g.errno}}var W_=(a)=>pt[a>>2]+at[a+4>>2]*4294967296;function Zx(a,u,h,g){try{u=Xe.getStr(u),u=Xe.calculateAt(a,u,!0);var l=Date.now(),p,m;if(!h)p=l,m=l;else{var E=W_(h),w=at[h+8>>2];if(w==1073741823)p=l;else if(w==1073741822)p=null;else p=E*1000+w/1e6;if(h+=16,E=W_(h),w=at[h+8>>2],w==1073741823)m=l;else if(w==1073741822)m=null;else m=E*1000+w/1e6}if((m??p)!==null)y.utime(u,p,m);return 0}catch(O){if(typeof y>"u"||O.name!=="ErrnoError")throw O;return-O.errno}}var Vx=(a)=>a%4===0&&(a%100!==0||a%400===0),Gx=[0,31,60,91,121,152,182,213,244,274,305,335],Kx=[0,31,59,90,120,151,181,212,243,273,304,334],Jx=(a)=>(Vx(a.getFullYear())?Gx:Kx)[a.getMonth()]+a.getDate()-1;function Xx(a,u){a=Ln(a);var h=new Date(a*1000);at[u>>2]=h.getSeconds(),at[u+4>>2]=h.getMinutes(),at[u+8>>2]=h.getHours(),at[u+12>>2]=h.getDate(),at[u+16>>2]=h.getMonth(),at[u+20>>2]=h.getFullYear()-1900,at[u+24>>2]=h.getDay();var g=Jx(h)|0;at[u+28>>2]=g,at[u+36>>2]=-(h.getTimezoneOffset()*60);var l=new Date(h.getFullYear(),0,1),p=new Date(h.getFullYear(),6,1).getTimezoneOffset(),m=l.getTimezoneOffset(),E=(p!=m&&h.getTimezoneOffset()==Math.min(m,p))|0;at[u+32>>2]=E}function Qx(a,u,h,g,l,p,m){l=Ln(l);try{var E=Xe.getStreamFromFD(g),w=y.mmap(E,a,l,u,h),O=w.ptr;return at[p>>2]=w.allocated,pt[m>>2]=O,0}catch(X){if(typeof y>"u"||X.name!=="ErrnoError")throw X;return-X.errno}}function Yx(a,u,h,g,l,p){p=Ln(p);try{var m=Xe.getStreamFromFD(l);if(h&2)Xe.doMsync(a,m,u,g,p)}catch(E){if(typeof y>"u"||E.name!=="ErrnoError")throw E;return-E.errno}}var ek=(a,u,h,g)=>{var l=new Date().getFullYear(),p=new Date(l,0,1),m=new Date(l,6,1),E=p.getTimezoneOffset(),w=m.getTimezoneOffset(),O=Math.max(E,w);pt[a>>2]=O*60,at[u>>2]=Number(E!=w);var X=(L)=>{var Z=L>=0?"-":"+",K=Math.abs(L);return`UTC${Z}${String(Math.floor(K/60)).padStart(2,"0")}${String(K%60).padStart(2,"0")}`},M=X(E),q=X(w);if(w<E)an(M,h,17),an(q,g,17);else an(M,g,17),an(q,h,17)},H_=()=>performance.now(),Z_=()=>Date.now(),tk=1,rk=(a)=>a>=0&&a<=3;function nk(a,u,h){if(u=Ln(u),!rk(a))return 28;var g;if(a===0)g=Z_();else if(tk)g=H_();else return 52;var l=Math.round(g*1000*1000);return qt[h>>3]=BigInt(l),0}var V_=()=>2147483648,ik=()=>V_(),ok=(a)=>{var u=(a-Pr.buffer.byteLength+65535)/65536|0;try{return Pr.grow(u),Ye(),1}catch(h){}},sk=(a)=>{var u=on.length;a>>>=0;var h=V_();if(a>h)return!1;for(var g=1;g<=4;g*=2){var l=u*(1+0.2/g);if(l=Math.min(l,a+100663296),ok(Math.min(h,U_(Math.max(a,l),65536))))return!0}return!1},zc={},ak=()=>o||"./this.program",Bi=()=>{if(!Bi.strings){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(globalThis.navigator?.language??"C").replace("-","_")+".UTF-8",_:ak()};for(var u in zc)if(zc[u]===void 0)delete a[u];else a[u]=zc[u];var h=[];for(var u in a)h.push(`${u}=${a[u]}`);Bi.strings=h}return Bi.strings},ck=(a,u)=>{var h=0,g=0;for(var l of Bi()){var p=u+h;pt[a+g>>2]=p,h+=an(l,p,1/0)+1,g+=4}return 0},lk=(a,u)=>{var h=Bi();pt[a>>2]=h.length;var g=0;for(var l of h)g+=es(l)+1;return pt[u>>2]=g,0};function uk(a){try{var u=Xe.getStreamFromFD(a);return y.close(u),0}catch(h){if(typeof y>"u"||h.name!=="ErrnoError")throw h;return h.errno}}function dk(a,u){try{var h=0,g=0,l=0,p=Xe.getStreamFromFD(a),m=p.tty?2:y.isDir(p.mode)?3:y.isLink(p.mode)?7:4;return ar[u]=m,ji[u+2>>1]=l,qt[u+8>>3]=BigInt(h),qt[u+16>>3]=BigInt(g),0}catch(E){if(typeof y>"u"||E.name!=="ErrnoError")throw E;return E.errno}}var fk=(a,u,h,g)=>{var l=0;for(var p=0;p<h;p++){var m=pt[u>>2],E=pt[u+4>>2];u+=8;var w=y.read(a,ar,m,E,g);if(w<0)return-1;if(l+=w,w<E)break;if(typeof g<"u")g+=w}return l};function pk(a,u,h,g){try{var l=fk(Xe.getStreamFromFD(a),u,h);return pt[g>>2]=l,0}catch(p){if(typeof y>"u"||p.name!=="ErrnoError")throw p;return p.errno}}function gk(a,u,h,g){u=Ln(u);try{if(isNaN(u))return 61;var l=Xe.getStreamFromFD(a);if(y.llseek(l,u,h),qt[g>>3]=BigInt(l.position),l.getdents&&u===0&&h===0)l.getdents=null;return 0}catch(p){if(typeof y>"u"||p.name!=="ErrnoError")throw p;return p.errno}}function mk(a){try{var u=Xe.getStreamFromFD(a);return u.stream_ops?.fsync?.(u)}catch(h){if(typeof y>"u"||h.name!=="ErrnoError")throw h;return h.errno}}var _k=(a,u,h,g)=>{var l=0;for(var p=0;p<h;p++){var m=pt[u>>2],E=pt[u+4>>2];u+=8;var w=y.write(a,ar,m,E,g);if(w<0)return-1;if(l+=w,w<E)break;if(typeof g<"u")g+=w}return l};function hk(a,u,h,g){try{var l=_k(Xe.getStreamFromFD(a),u,h);return pt[g>>2]=l,0}catch(p){if(typeof y>"u"||p.name!=="ErrnoError")throw p;return p.errno}}if(y.createPreloadedFile=kx,y.preloadFile=B_,y.staticInit(),Ue(),n.noExitRuntime)n.noExitRuntime;if(n.preloadPlugins)M_=n.preloadPlugins;if(n.print)x=n.print;if(n.printErr)P=n.printErr;if(n.wasmBinary)F=n.wasmBinary;if(n.arguments)n.arguments;if(n.thisProgram)o=n.thisProgram;if(n.preInit){if(typeof n.preInit=="function")n.preInit=[n.preInit];while(n.preInit.length>0)n.preInit.shift()()}n.wasmMemory=Pr;var G_;function yk(a){n._sqlite3_status64=a.sqlite3_status64,n._sqlite3_status=a.sqlite3_status,n._sqlite3_db_status64=a.sqlite3_db_status64,n._sqlite3_msize=a.sqlite3_msize,n._sqlite3_db_status=a.sqlite3_db_status,n._sqlite3_vfs_find=a.sqlite3_vfs_find,n._sqlite3_initialize=a.sqlite3_initialize,n._sqlite3_malloc=a.sqlite3_malloc,n._sqlite3_free=a.sqlite3_free,n._sqlite3_vfs_register=a.sqlite3_vfs_register,n._sqlite3_vfs_unregister=a.sqlite3_vfs_unregister,n._sqlite3_malloc64=a.sqlite3_malloc64,n._sqlite3_realloc=a.sqlite3_realloc,n._sqlite3_realloc64=a.sqlite3_realloc64,n._sqlite3_value_text=a.sqlite3_value_text,n._sqlite3_randomness=a.sqlite3_randomness,n._sqlite3_stricmp=a.sqlite3_stricmp,n._sqlite3_strnicmp=a.sqlite3_strnicmp,n._sqlite3_uri_parameter=a.sqlite3_uri_parameter,n._sqlite3_uri_boolean=a.sqlite3_uri_boolean,n._sqlite3_serialize=a.sqlite3_serialize,n._sqlite3_prepare_v2=a.sqlite3_prepare_v2,n._sqlite3_step=a.sqlite3_step,n._sqlite3_column_int64=a.sqlite3_column_int64,n._sqlite3_reset=a.sqlite3_reset,n._sqlite3_exec=a.sqlite3_exec,n._sqlite3_column_int=a.sqlite3_column_int,n._sqlite3_finalize=a.sqlite3_finalize,n._sqlite3_file_control=a.sqlite3_file_control,n._sqlite3_column_name=a.sqlite3_column_name,n._sqlite3_column_text=a.sqlite3_column_text,n._sqlite3_column_type=a.sqlite3_column_type,n._sqlite3_errmsg=a.sqlite3_errmsg,n._sqlite3_deserialize=a.sqlite3_deserialize,n._sqlite3_clear_bindings=a.sqlite3_clear_bindings,n._sqlite3_value_blob=a.sqlite3_value_blob,n._sqlite3_value_bytes=a.sqlite3_value_bytes,n._sqlite3_value_double=a.sqlite3_value_double,n._sqlite3_value_int=a.sqlite3_value_int,n._sqlite3_value_int64=a.sqlite3_value_int64,n._sqlite3_value_subtype=a.sqlite3_value_subtype,n._sqlite3_value_pointer=a.sqlite3_value_pointer,n._sqlite3_value_type=a.sqlite3_value_type,n._sqlite3_value_nochange=a.sqlite3_value_nochange,n._sqlite3_value_frombind=a.sqlite3_value_frombind,n._sqlite3_value_dup=a.sqlite3_value_dup,n._sqlite3_value_free=a.sqlite3_value_free,n._sqlite3_result_blob=a.sqlite3_result_blob,n._sqlite3_result_error_toobig=a.sqlite3_result_error_toobig,n._sqlite3_result_error_nomem=a.sqlite3_result_error_nomem,n._sqlite3_result_double=a.sqlite3_result_double,n._sqlite3_result_error=a.sqlite3_result_error,n._sqlite3_result_int=a.sqlite3_result_int,n._sqlite3_result_int64=a.sqlite3_result_int64,n._sqlite3_result_null=a.sqlite3_result_null,n._sqlite3_result_pointer=a.sqlite3_result_pointer,n._sqlite3_result_subtype=a.sqlite3_result_subtype,n._sqlite3_result_text=a.sqlite3_result_text,n._sqlite3_result_zeroblob=a.sqlite3_result_zeroblob,n._sqlite3_result_zeroblob64=a.sqlite3_result_zeroblob64,n._sqlite3_result_error_code=a.sqlite3_result_error_code,n._sqlite3_user_data=a.sqlite3_user_data,n._sqlite3_context_db_handle=a.sqlite3_context_db_handle,n._sqlite3_vtab_nochange=a.sqlite3_vtab_nochange,n._sqlite3_vtab_in_first=a.sqlite3_vtab_in_first,n._sqlite3_vtab_in_next=a.sqlite3_vtab_in_next,n._sqlite3_aggregate_context=a.sqlite3_aggregate_context,n._sqlite3_get_auxdata=a.sqlite3_get_auxdata,n._sqlite3_set_auxdata=a.sqlite3_set_auxdata,n._sqlite3_column_count=a.sqlite3_column_count,n._sqlite3_data_count=a.sqlite3_data_count,n._sqlite3_column_blob=a.sqlite3_column_blob,n._sqlite3_column_bytes=a.sqlite3_column_bytes,n._sqlite3_column_double=a.sqlite3_column_double,n._sqlite3_column_value=a.sqlite3_column_value,n._sqlite3_column_decltype=a.sqlite3_column_decltype,n._sqlite3_column_database_name=a.sqlite3_column_database_name,n._sqlite3_column_table_name=a.sqlite3_column_table_name,n._sqlite3_column_origin_name=a.sqlite3_column_origin_name,n._sqlite3_bind_blob=a.sqlite3_bind_blob,n._sqlite3_bind_double=a.sqlite3_bind_double,n._sqlite3_bind_int=a.sqlite3_bind_int,n._sqlite3_bind_int64=a.sqlite3_bind_int64,n._sqlite3_bind_null=a.sqlite3_bind_null,n._sqlite3_bind_pointer=a.sqlite3_bind_pointer,n._sqlite3_bind_text=a.sqlite3_bind_text,n._sqlite3_bind_zeroblob=a.sqlite3_bind_zeroblob,n._sqlite3_bind_parameter_count=a.sqlite3_bind_parameter_count,n._sqlite3_bind_parameter_name=a.sqlite3_bind_parameter_name,n._sqlite3_bind_parameter_index=a.sqlite3_bind_parameter_index,n._sqlite3_db_handle=a.sqlite3_db_handle,n._sqlite3_stmt_readonly=a.sqlite3_stmt_readonly,n._sqlite3_stmt_isexplain=a.sqlite3_stmt_isexplain,n._sqlite3_stmt_explain=a.sqlite3_stmt_explain,n._sqlite3_stmt_busy=a.sqlite3_stmt_busy,n._sqlite3_next_stmt=a.sqlite3_next_stmt,n._sqlite3_stmt_status=a.sqlite3_stmt_status,n._sqlite3_sql=a.sqlite3_sql,n._sqlite3_expanded_sql=a.sqlite3_expanded_sql,n._sqlite3_preupdate_old=a.sqlite3_preupdate_old,n._sqlite3_preupdate_count=a.sqlite3_preupdate_count,n._sqlite3_preupdate_depth=a.sqlite3_preupdate_depth,n._sqlite3_preupdate_blobwrite=a.sqlite3_preupdate_blobwrite,n._sqlite3_preupdate_new=a.sqlite3_preupdate_new,n._sqlite3_value_numeric_type=a.sqlite3_value_numeric_type,n._sqlite3_set_authorizer=a.sqlite3_set_authorizer,n._sqlite3_strglob=a.sqlite3_strglob,n._sqlite3_strlike=a.sqlite3_strlike,n._sqlite3_auto_extension=a.sqlite3_auto_extension,n._sqlite3_cancel_auto_extension=a.sqlite3_cancel_auto_extension,n._sqlite3_reset_auto_extension=a.sqlite3_reset_auto_extension,n._sqlite3_prepare_v3=a.sqlite3_prepare_v3,n._sqlite3_create_module=a.sqlite3_create_module,n._sqlite3_create_module_v2=a.sqlite3_create_module_v2,n._sqlite3_drop_modules=a.sqlite3_drop_modules,n._sqlite3_declare_vtab=a.sqlite3_declare_vtab,n._sqlite3_vtab_on_conflict=a.sqlite3_vtab_on_conflict,n._sqlite3_vtab_collation=a.sqlite3_vtab_collation,n._sqlite3_vtab_in=a.sqlite3_vtab_in,n._sqlite3_vtab_rhs_value=a.sqlite3_vtab_rhs_value,n._sqlite3_vtab_distinct=a.sqlite3_vtab_distinct,n._sqlite3_keyword_name=a.sqlite3_keyword_name,n._sqlite3_keyword_count=a.sqlite3_keyword_count,n._sqlite3_keyword_check=a.sqlite3_keyword_check,n._sqlite3_complete=a.sqlite3_complete,n._sqlite3_libversion=a.sqlite3_libversion,n._sqlite3_libversion_number=a.sqlite3_libversion_number,n._sqlite3_shutdown=a.sqlite3_shutdown,n._sqlite3_last_insert_rowid=a.sqlite3_last_insert_rowid,n._sqlite3_set_last_insert_rowid=a.sqlite3_set_last_insert_rowid,n._sqlite3_changes64=a.sqlite3_changes64,n._sqlite3_changes=a.sqlite3_changes,n._sqlite3_total_changes64=a.sqlite3_total_changes64,n._sqlite3_total_changes=a.sqlite3_total_changes,n._sqlite3_txn_state=a.sqlite3_txn_state,n._sqlite3_close_v2=a.sqlite3_close_v2,n._sqlite3_busy_handler=a.sqlite3_busy_handler,n._sqlite3_progress_handler=a.sqlite3_progress_handler,n._sqlite3_busy_timeout=a.sqlite3_busy_timeout,n._sqlite3_interrupt=a.sqlite3_interrupt,n._sqlite3_is_interrupted=a.sqlite3_is_interrupted,n._sqlite3_create_function=a.sqlite3_create_function,n._sqlite3_create_function_v2=a.sqlite3_create_function_v2,n._sqlite3_create_window_function=a.sqlite3_create_window_function,n._sqlite3_overload_function=a.sqlite3_overload_function,n._sqlite3_trace_v2=a.sqlite3_trace_v2,n._sqlite3_commit_hook=a.sqlite3_commit_hook,n._sqlite3_update_hook=a.sqlite3_update_hook,n._sqlite3_rollback_hook=a.sqlite3_rollback_hook,n._sqlite3_preupdate_hook=a.sqlite3_preupdate_hook,n._sqlite3_set_errmsg=a.sqlite3_set_errmsg,n._sqlite3_error_offset=a.sqlite3_error_offset,n._sqlite3_errcode=a.sqlite3_errcode,n._sqlite3_extended_errcode=a.sqlite3_extended_errcode,n._sqlite3_errstr=a.sqlite3_errstr,n._sqlite3_limit=a.sqlite3_limit,n._sqlite3_open=a.sqlite3_open,n._sqlite3_open_v2=a.sqlite3_open_v2,n._sqlite3_create_collation=a.sqlite3_create_collation,n._sqlite3_create_collation_v2=a.sqlite3_create_collation_v2,n._sqlite3_collation_needed=a.sqlite3_collation_needed,n._sqlite3_get_autocommit=a.sqlite3_get_autocommit,n._sqlite3_table_column_metadata=a.sqlite3_table_column_metadata,n._sqlite3_extended_result_codes=a.sqlite3_extended_result_codes,n._sqlite3_uri_key=a.sqlite3_uri_key,n._sqlite3_uri_int64=a.sqlite3_uri_int64,n._sqlite3_db_name=a.sqlite3_db_name,n._sqlite3_db_filename=a.sqlite3_db_filename,n._sqlite3_db_readonly=a.sqlite3_db_readonly,n._sqlite3_compileoption_used=a.sqlite3_compileoption_used,n._sqlite3_compileoption_get=a.sqlite3_compileoption_get,n._sqlite3session_diff=a.sqlite3session_diff,n._sqlite3session_attach=a.sqlite3session_attach,n._sqlite3session_create=a.sqlite3session_create,n._sqlite3session_delete=a.sqlite3session_delete,n._sqlite3session_table_filter=a.sqlite3session_table_filter,n._sqlite3session_changeset=a.sqlite3session_changeset,n._sqlite3session_changeset_strm=a.sqlite3session_changeset_strm,n._sqlite3session_patchset_strm=a.sqlite3session_patchset_strm,n._sqlite3session_patchset=a.sqlite3session_patchset,n._sqlite3session_enable=a.sqlite3session_enable,n._sqlite3session_indirect=a.sqlite3session_indirect,n._sqlite3session_isempty=a.sqlite3session_isempty,n._sqlite3session_memory_used=a.sqlite3session_memory_used,n._sqlite3session_object_config=a.sqlite3session_object_config,n._sqlite3session_changeset_size=a.sqlite3session_changeset_size,n._sqlite3changeset_start=a.sqlite3changeset_start,n._sqlite3changeset_start_v2=a.sqlite3changeset_start_v2,n._sqlite3changeset_start_strm=a.sqlite3changeset_start_strm,n._sqlite3changeset_start_v2_strm=a.sqlite3changeset_start_v2_strm,n._sqlite3changeset_next=a.sqlite3changeset_next,n._sqlite3changeset_op=a.sqlite3changeset_op,n._sqlite3changeset_pk=a.sqlite3changeset_pk,n._sqlite3changeset_old=a.sqlite3changeset_old,n._sqlite3changeset_new=a.sqlite3changeset_new,n._sqlite3changeset_conflict=a.sqlite3changeset_conflict,n._sqlite3changeset_fk_conflicts=a.sqlite3changeset_fk_conflicts,n._sqlite3changeset_finalize=a.sqlite3changeset_finalize,n._sqlite3changeset_invert=a.sqlite3changeset_invert,n._sqlite3changeset_invert_strm=a.sqlite3changeset_invert_strm,n._sqlite3changeset_apply_v2=a.sqlite3changeset_apply_v2,n._sqlite3changeset_apply_v3=a.sqlite3changeset_apply_v3,n._sqlite3changeset_apply=a.sqlite3changeset_apply,n._sqlite3changeset_apply_v3_strm=a.sqlite3changeset_apply_v3_strm,n._sqlite3changeset_apply_v2_strm=a.sqlite3changeset_apply_v2_strm,n._sqlite3changeset_apply_strm=a.sqlite3changeset_apply_strm,n._sqlite3changegroup_new=a.sqlite3changegroup_new,n._sqlite3changegroup_add=a.sqlite3changegroup_add,n._sqlite3changegroup_output=a.sqlite3changegroup_output,n._sqlite3changegroup_add_strm=a.sqlite3changegroup_add_strm,n._sqlite3changegroup_output_strm=a.sqlite3changegroup_output_strm,n._sqlite3changegroup_delete=a.sqlite3changegroup_delete,n._sqlite3changeset_concat=a.sqlite3changeset_concat,n._sqlite3changeset_concat_strm=a.sqlite3changeset_concat_strm,n._sqlite3session_config=a.sqlite3session_config,n._sqlite3_sourceid=a.sqlite3_sourceid,n._sqlite3__wasm_pstack_ptr=a.sqlite3__wasm_pstack_ptr,n._sqlite3__wasm_pstack_restore=a.sqlite3__wasm_pstack_restore,n._sqlite3__wasm_pstack_alloc=a.sqlite3__wasm_pstack_alloc,n._sqlite3__wasm_pstack_remaining=a.sqlite3__wasm_pstack_remaining,n._sqlite3__wasm_pstack_quota=a.sqlite3__wasm_pstack_quota,n._sqlite3__wasm_test_struct=a.sqlite3__wasm_test_struct,n._sqlite3__wasm_enum_json=a.sqlite3__wasm_enum_json,n._sqlite3__wasm_vfs_unlink=a.sqlite3__wasm_vfs_unlink,n._sqlite3__wasm_db_vfs=a.sqlite3__wasm_db_vfs,n._sqlite3__wasm_db_reset=a.sqlite3__wasm_db_reset,n._sqlite3__wasm_db_export_chunked=a.sqlite3__wasm_db_export_chunked,n._sqlite3__wasm_db_serialize=a.sqlite3__wasm_db_serialize,n._sqlite3__wasm_vfs_create_file=a.sqlite3__wasm_vfs_create_file,n._sqlite3__wasm_posix_create_file=a.sqlite3__wasm_posix_create_file,n._sqlite3__wasm_kvvfsMakeKey=a.sqlite3__wasm_kvvfsMakeKey,n._sqlite3__wasm_kvvfs_methods=a.sqlite3__wasm_kvvfs_methods,n._sqlite3__wasm_vtab_config=a.sqlite3__wasm_vtab_config,n._sqlite3__wasm_db_config_ip=a.sqlite3__wasm_db_config_ip,n._sqlite3__wasm_db_config_pii=a.sqlite3__wasm_db_config_pii,n._sqlite3__wasm_db_config_s=a.sqlite3__wasm_db_config_s,n._sqlite3__wasm_config_i=a.sqlite3__wasm_config_i,n._sqlite3__wasm_config_ii=a.sqlite3__wasm_config_ii,n._sqlite3__wasm_config_j=a.sqlite3__wasm_config_j,n._sqlite3__wasm_qfmt_token=a.sqlite3__wasm_qfmt_token,n._sqlite3__wasm_kvvfs_decode=a.sqlite3__wasm_kvvfs_decode,n._sqlite3__wasm_kvvfs_encode=a.sqlite3__wasm_kvvfs_encode,n._sqlite3__wasm_init_wasmfs=a.sqlite3__wasm_init_wasmfs,n._sqlite3__wasm_test_intptr=a.sqlite3__wasm_test_intptr,n._sqlite3__wasm_test_voidptr=a.sqlite3__wasm_test_voidptr,n._sqlite3__wasm_test_int64_max=a.sqlite3__wasm_test_int64_max,n._sqlite3__wasm_test_int64_min=a.sqlite3__wasm_test_int64_min,n._sqlite3__wasm_test_int64_times2=a.sqlite3__wasm_test_int64_times2,n._sqlite3__wasm_test_int64_minmax=a.sqlite3__wasm_test_int64_minmax,n._sqlite3__wasm_test_int64ptr=a.sqlite3__wasm_test_int64ptr,n._sqlite3__wasm_test_stack_overflow=a.sqlite3__wasm_test_stack_overflow,n._sqlite3__wasm_test_str_hello=a.sqlite3__wasm_test_str_hello,n._sqlite3__wasm_SQLTester_strglob=a.sqlite3__wasm_SQLTester_strglob,n._malloc=a.malloc,n._free=a.free,n._realloc=a.realloc,G_=a.emscripten_builtin_memalign,a._emscripten_stack_restore,a._emscripten_stack_alloc,a.emscripten_stack_get_current,a.__indirect_function_table}var K_={__syscall_chmod:$x,__syscall_faccessat:Ix,__syscall_fchmod:Dx,__syscall_fchown32:Rx,__syscall_fcntl64:Ax,__syscall_fstat64:Ox,__syscall_ftruncate64:Cx,__syscall_getcwd:qx,__syscall_ioctl:Lx,__syscall_lstat64:zx,__syscall_mkdirat:Ux,__syscall_newfstatat:jx,__syscall_openat:Fx,__syscall_readlinkat:Mx,__syscall_rmdir:Bx,__syscall_stat64:Wx,__syscall_unlinkat:Hx,__syscall_utimensat:Zx,_localtime_js:Xx,_mmap_js:Qx,_munmap_js:Yx,_tzset_js:ek,clock_time_get:nk,emscripten_date_now:Z_,emscripten_get_heap_max:ik,emscripten_get_now:H_,emscripten_resize_heap:sk,environ_get:ck,environ_sizes_get:lk,fd_close:uk,fd_fdstat_get:dk,fd_read:pk,fd_seek:gk,fd_sync:mk,fd_write:hk,memory:Pr};function Uc(){if(sn>0){Mi=Uc;return}if(Je(),sn>0){Mi=Uc;return}function a(){if(n.calledRun=!0,ce)return;et(),ie?.(n),n.onRuntimeInitialized?.(),_t()}if(n.setStatus)n.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>n.setStatus(""),1),a()},1);else a()}var zn=await cx();if(Uc(),n.runSQLite3PostLoadInit=async function(a,u,h){delete u.runSQLite3PostLoadInit,globalThis.sqlite3ApiBootstrap=async function g(l=globalThis.sqlite3ApiConfig||g.defaultConfig){if(g.sqlite3)return(g.sqlite3.config||console).warn("sqlite3ApiBootstrap() called multiple times.","Config and external initializers are ignored on calls after the first."),g.sqlite3;let p=(...T)=>Object.assign(Object.create(null),...T),m=p({exports:void 0,memory:void 0,bigIntEnabled:!!globalThis.BigInt64Array,debug:console.debug.bind(console),warn:console.warn.bind(console),error:console.error.bind(console),log:console.log.bind(console),wasmfsOpfsDir:"/opfs",useStdAlloc:!1},l);Object.assign(m,{allocExportName:m.useStdAlloc?"malloc":"sqlite3_malloc",deallocExportName:m.useStdAlloc?"free":"sqlite3_free",reallocExportName:m.useStdAlloc?"realloc":"sqlite3_realloc"}),["exports","memory","functionTable","wasmfsOpfsDir"].forEach((T)=>{if(typeof m[T]==="function")m[T]=m[T]()});let E=p(),w=p(),O=(T)=>E.sqlite3_js_rc_str&&E.sqlite3_js_rc_str(T)||"Unknown result code #"+T,X=(T)=>typeof T==="number"&&T===(T|0)&&T<=2147483647&&T>=-2147483648;class M extends Error{constructor(...T){let N;if(T.length)if(X(T[0]))if(N=T[0],T.length===1)super(O(T[0]));else{let J=O(N);if(typeof T[1]==="object")super(J,T[1]);else{T[0]=J+":";super(T.join(" "))}}else if(T.length===2&&typeof T[1]==="object")super(...T);else super(T.join(" "));this.resultCode=N||E.SQLITE_ERROR,this.name="SQLite3Error"}}M.toss=(...T)=>{throw new M(...T)};let q=M.toss;if(m.wasmfsOpfsDir&&!/^\/[^/]+$/.test(m.wasmfsOpfsDir))q("config.wasmfsOpfsDir must be falsy or in the form '/dir-name'.");let L=function T(N){if(!T._max)T._max=BigInt("0x7fffffffffffffff"),T._min=~T._max;return N>=T._min&&N<=T._max},Z=(T)=>T>=-2147483647n-1n&&T<=2147483647n,K=function T(N){if(!T._min)T._min=Number.MIN_SAFE_INTEGER,T._max=Number.MAX_SAFE_INTEGER;return N>=T._min&&N<=T._max},pe=(T)=>T&&T.constructor&&X(T.constructor.BYTES_PER_ELEMENT)?T:!1,A=(T)=>T&&(T instanceof Uint8Array||T instanceof Int8Array||T instanceof ArrayBuffer),D=(T)=>T&&(T instanceof Uint8Array||T instanceof Int8Array||T instanceof ArrayBuffer),Y=(T)=>A(T)||q("Value is not of a supported TypedArray type."),re=function(T){if(D(T))return w.typedArrayToString(T instanceof ArrayBuffer?new Uint8Array(T):T,0,T.length);else if(Array.isArray(T))return T.join("");else if(w.isPtr(T))T=w.cstrToJs(T);return T};class W extends Error{constructor(...T){if(T.length===2&&typeof T[1]==="object")super(...T);else if(T.length)super(T.join(" "));else super("Allocation failed.");this.resultCode=E.SQLITE_NOMEM,this.name="WasmAllocError"}}W.toss=(...T)=>{throw new W(...T)},Object.assign(E,{sqlite3_bind_blob:void 0,sqlite3_bind_text:void 0,sqlite3_create_function_v2:(T,N,J,ae,G,ye,Ee,ve,Te)=>{},sqlite3_create_function:(T,N,J,ae,G,ye,Ee,ve)=>{},sqlite3_create_window_function:(T,N,J,ae,G,ye,Ee,ve,Te,U)=>{},sqlite3_prepare_v3:(T,N,J,ae,G,ye)=>{},sqlite3_prepare_v2:(T,N,J,ae,G)=>{},sqlite3_exec:(T,N,J,ae,G)=>{},sqlite3_randomness:(T,N)=>{}});let Q={affirmBindableTypedArray:Y,flexibleString:re,bigIntFits32:Z,bigIntFits64:L,bigIntFitsDouble:K,isBindableTypedArray:A,isInt32:X,isSQLableTypedArray:D,isTypedArray:pe,isUIThread:()=>globalThis.window===globalThis&&!!globalThis.document,toss:function(...T){throw Error(T.join(" "))},toss3:q,typedArrayPart:w.typedArrayPart,nu:p,assert:function(T,N){if(!T)Q.toss("Assertion failed:",N)},affirmDbHeader:function(T){if(T instanceof ArrayBuffer)T=new Uint8Array(T);let N="SQLite format 3";if(15>T.byteLength)q("Input does not contain an SQLite3 database header.");for(let J=0;J<15;++J)if(N.charCodeAt(J)!==T[J])q("Input does not contain an SQLite3 database header.")},affirmIsDb:function(T){if(T instanceof ArrayBuffer)T=new Uint8Array(T);let N=T.byteLength;if(N<512||N%512!==0)q("Byte array size",N,"is invalid for an SQLite3 db.");Q.affirmDbHeader(T)}};Object.assign(w,{exports:m.exports||q("Missing API config.exports (WASM module exports)."),memory:m.memory||m.exports.memory||q("API config object requires a WebAssembly.Memory object","in either config.exports.memory (exported)","or config.memory (imported)."),pointerSize:typeof m.exports.sqlite3_libversion()==="number"?4:8,bigIntEnabled:!!m.bigIntEnabled,functionTable:m.functionTable,alloc:void 0,realloc:void 0,dealloc:void 0}),w.allocFromTypedArray=function(T){if(T instanceof ArrayBuffer)T=new Uint8Array(T);Y(T);let N=w.alloc(T.byteLength||1);return w.heapForSize(T.constructor).set(T.byteLength?T:[0],Number(N)),N};{let{allocExportName:T,deallocExportName:N,reallocExportName:J}=m;for(let ae of[T,N,J])if(!(w.exports[ae]instanceof Function))q("Missing required exports[",ae,"] function.");w.alloc=function ae(G){return ae.impl(G)||W.toss("Failed to allocate",G," bytes.")},w.alloc.impl=w.exports[T],w.realloc=function ae(G,ye){let Ee=ae.impl(w.ptr.coerce(G),ye);return ye?Ee||W.toss("Failed to reallocate",ye," bytes."):w.ptr.null},w.realloc.impl=w.exports[J],w.dealloc=function ae(G){ae.impl(w.ptr.coerce(G))},w.dealloc.impl=w.exports[N]}w.compileOptionUsed=function T(N){if(!arguments.length){if(T._result)return T._result;else if(!T._opt)T._rx=/^([^=]+)=(.+)/,T._rxInt=/^-?\d+$/,T._opt=function(Ee,ve){let Te=T._rx.exec(Ee);ve[0]=Te?Te[1]:Ee,ve[1]=Te?T._rxInt.test(Te[2])?+Te[2]:Te[2]:!0};let J=p(),ae=[0,0],G=0,ye;while(ye=E.sqlite3_compileoption_get(G++))T._opt(ye,ae),J[ae[0]]=ae[1];return T._result=J}else if(Array.isArray(N)){let J=p();return N.forEach((ae)=>{J[ae]=E.sqlite3_compileoption_used(ae)}),J}else if(typeof N==="object")return Object.keys(N).forEach((J)=>{N[J]=E.sqlite3_compileoption_used(J)}),N;return typeof N==="string"?!!E.sqlite3_compileoption_used(N):!1},w.pstack=p({restore:w.exports.sqlite3__wasm_pstack_restore,alloc:function(T){if(typeof T==="string"&&!(T=w.sizeofIR(T)))W.toss("Invalid value for pstack.alloc(",arguments[0],")");return w.exports.sqlite3__wasm_pstack_alloc(T)||W.toss("Could not allocate",T,"bytes from the pstack.")},allocChunks:function(T,N){if(typeof N==="string"&&!(N=w.sizeofIR(N)))W.toss("Invalid size value for allocChunks(",arguments[1],")");let J=w.pstack.alloc(T*N),ae=[J],G=1,ye=N;for(;G<T;++G,ye+=N)ae.push(w.ptr.add(J,ye));return ae},allocPtr:(T=1,N=!0)=>T===1?w.pstack.alloc(N?8:w.ptr.size):w.pstack.allocChunks(T,N?8:w.ptr.size),call:function(T){let N=w.pstack.pointer;try{return T(_e)}finally{w.pstack.restore(N)}}}),Object.defineProperties(w.pstack,{pointer:{configurable:!1,iterable:!0,writeable:!1,get:w.exports.sqlite3__wasm_pstack_ptr},quota:{configurable:!1,iterable:!0,writeable:!1,get:w.exports.sqlite3__wasm_pstack_quota},remaining:{configurable:!1,iterable:!0,writeable:!1,get:w.exports.sqlite3__wasm_pstack_remaining}}),E.sqlite3_randomness=(...T)=>{if(T.length===1&&Q.isTypedArray(T[0])&&T[0].BYTES_PER_ELEMENT===1){let N=T[0];if(N.byteLength===0)return w.exports.sqlite3_randomness(0,w.ptr.null),N;let J=w.pstack.pointer;try{let ae=N.byteLength,G=0,ye=w.exports.sqlite3_randomness,Ee=w.heap8u(),ve=ae<512?ae:512,Te=w.pstack.alloc(ve);do{let U=ae>ve?ve:ae;ye(U,Te),N.set(w.typedArrayPart(Ee,Te,w.ptr.add(Te,U)),G),ae-=U,G+=U}while(ae>0)}catch(ae){m.error("Highly unexpected (and ignored!) exception in sqlite3_randomness():",ae)}finally{w.pstack.restore(J)}return N}w.exports.sqlite3_randomness(...T)},E.sqlite3_wasmfs_opfs_dir=function(){if(this.dir!==void 0)return this.dir;let T=m.wasmfsOpfsDir;if(!T||!globalThis.FileSystemHandle||!globalThis.FileSystemDirectoryHandle||!globalThis.FileSystemFileHandle||!w.exports.sqlite3__wasm_init_wasmfs)return this.dir="";try{if(T&&w.xCallWrapped("sqlite3__wasm_init_wasmfs","i32",["string"],T)===0)return this.dir=T;else return this.dir=""}catch(N){return this.dir=""}}.bind(p()),E.sqlite3_wasmfs_filename_is_persistent=function(T){let N=E.sqlite3_wasmfs_opfs_dir();return N&&T?T.startsWith(N+"/"):!1},E.sqlite3_js_db_uses_vfs=function(T,N,J=0){try{let ae=E.sqlite3_vfs_find(N);if(!ae)return!1;else if(!T)return ae===E.sqlite3_vfs_find(0)?ae:!1;else return ae===E.sqlite3_js_db_vfs(T,J)?ae:!1}catch(ae){return!1}},E.sqlite3_js_vfs_list=function(){let T=[],N=E.sqlite3_vfs_find(w.ptr.null);while(N){let J=new E.sqlite3_vfs(N);T.push(w.cstrToJs(J.$zName)),N=J.$pNext,J.dispose()}return T},E.sqlite3_js_db_export=function(T,N=0){if(T=w.xWrap.testConvertArg("sqlite3*",T),!T)q("Invalid sqlite3* argument.");if(!w.bigIntEnabled)q("BigInt support is not enabled.");let J=w.scopedAllocPush(),ae;try{let G=w.scopedAlloc(8+w.ptr.size),ye=w.ptr.add(G,8),Ee=N?w.isPtr(N)?N:w.scopedAllocCString(""+N):w.ptr.null,ve=w.exports.sqlite3__wasm_db_serialize(T,Ee,ye,G,0);if(ve)q("Database serialization failed with code",_e.capi.sqlite3_js_rc_str(ve));ae=w.peekPtr(ye);let Te=w.peek(G,"i64");return ve=Te?w.heap8u().slice(Number(ae),Number(ae)+Number(Te)):new Uint8Array,ve}finally{if(ae)w.exports.sqlite3_free(ae);w.scopedAllocPop(J)}},E.sqlite3_js_db_vfs=(T,N=w.ptr.null)=>Q.sqlite3__wasm_db_vfs(T,N),E.sqlite3_js_aggregate_context=(T,N)=>E.sqlite3_aggregate_context(T,N)||(N?W.toss("Cannot allocate",N,"bytes for sqlite3_aggregate_context()"):0),E.sqlite3_js_posix_create_file=function(T,N,J){let ae;if(N&&w.isPtr(N))ae=N;else if(N instanceof ArrayBuffer||N instanceof Uint8Array){if(ae=w.allocFromTypedArray(N),arguments.length<3||!Q.isInt32(J)||J<0)J=N.byteLength}else M.toss("Invalid 2nd argument for sqlite3_js_posix_create_file().");try{if(!Q.isInt32(J)||J<0)M.toss("Invalid 3rd argument for sqlite3_js_posix_create_file().");let G=Q.sqlite3__wasm_posix_create_file(T,ae,J);if(G)M.toss("Creation of file failed with sqlite3 result code",E.sqlite3_js_rc_str(G))}finally{if(ae&&ae!==N)w.dealloc(ae)}},E.sqlite3_js_vfs_create_file=function(T,N,J,ae){m.warn("sqlite3_js_vfs_create_file() is deprecated and","should be avoided because it can lead to C-level crashes.","See its documentation for alternatives.");let G;if(J)if(w.isPtr(J))G=J;else{if(J instanceof ArrayBuffer)J=new Uint8Array(J);if(J instanceof Uint8Array){if(G=w.allocFromTypedArray(J),arguments.length<4||!Q.isInt32(ae)||ae<0)ae=J.byteLength}else M.toss("Invalid 3rd argument type for sqlite3_js_vfs_create_file().")}else G=0;if(!Q.isInt32(ae)||ae<0){if(G&&G!==J)w.dealloc(G);M.toss("Invalid 4th argument for sqlite3_js_vfs_create_file().")}try{let ye=Q.sqlite3__wasm_vfs_create_file(T,N,G,ae);if(ye)M.toss("Creation of file failed with sqlite3 result code",E.sqlite3_js_rc_str(ye))}finally{if(G&&G!==J)w.dealloc(G)}},E.sqlite3_js_sql_to_string=(T)=>{if(typeof T==="string")return T;let N=re(v);return N===v?void 0:N},E.sqlite3_db_config=function(T,N,...J){switch(N){case E.SQLITE_DBCONFIG_ENABLE_FKEY:case E.SQLITE_DBCONFIG_ENABLE_TRIGGER:case E.SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER:case E.SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION:case E.SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE:case E.SQLITE_DBCONFIG_ENABLE_QPSG:case E.SQLITE_DBCONFIG_TRIGGER_EQP:case E.SQLITE_DBCONFIG_RESET_DATABASE:case E.SQLITE_DBCONFIG_DEFENSIVE:case E.SQLITE_DBCONFIG_WRITABLE_SCHEMA:case E.SQLITE_DBCONFIG_LEGACY_ALTER_TABLE:case E.SQLITE_DBCONFIG_DQS_DML:case E.SQLITE_DBCONFIG_DQS_DDL:case E.SQLITE_DBCONFIG_ENABLE_VIEW:case E.SQLITE_DBCONFIG_LEGACY_FILE_FORMAT:case E.SQLITE_DBCONFIG_TRUSTED_SCHEMA:case E.SQLITE_DBCONFIG_STMT_SCANSTATUS:case E.SQLITE_DBCONFIG_REVERSE_SCANORDER:case E.SQLITE_DBCONFIG_ENABLE_ATTACH_CREATE:case E.SQLITE_DBCONFIG_ENABLE_ATTACH_WRITE:case E.SQLITE_DBCONFIG_ENABLE_COMMENTS:case E.SQLITE_DBCONFIG_FP_DIGITS:if(!this.ip)this.ip=w.xWrap("sqlite3__wasm_db_config_ip","int",["sqlite3*","int","int","*"]);return this.ip(T,N,J[0],J[1]||0);case E.SQLITE_DBCONFIG_LOOKASIDE:if(!this.pii)this.pii=w.xWrap("sqlite3__wasm_db_config_pii","int",["sqlite3*","int","*","int","int"]);return this.pii(T,N,J[0],J[1],J[2]);case E.SQLITE_DBCONFIG_MAINDBNAME:if(!this.s)this.s=w.xWrap("sqlite3__wasm_db_config_s","int",["sqlite3*","int","string:static"]);return this.s(T,N,J[0]);default:return E.SQLITE_MISUSE}}.bind(p()),E.sqlite3_value_to_js=function(T,N=!0){let J,ae=E.sqlite3_value_type(T);switch(ae){case E.SQLITE_INTEGER:if(w.bigIntEnabled){if(J=E.sqlite3_value_int64(T),Q.bigIntFitsDouble(J))J=Number(J)}else J=E.sqlite3_value_double(T);break;case E.SQLITE_FLOAT:J=E.sqlite3_value_double(T);break;case E.SQLITE_TEXT:J=E.sqlite3_value_text(T);break;case E.SQLITE_BLOB:{let G=E.sqlite3_value_bytes(T),ye=E.sqlite3_value_blob(T);if(G&&!ye)_e.WasmAllocError.toss("Cannot allocate memory for blob argument of",G,"byte(s)");J=G?w.heap8u().slice(Number(ye),Number(ye)+Number(G)):null;break}case E.SQLITE_NULL:J=null;break;default:if(N)q(E.SQLITE_MISMATCH,"Unhandled sqlite3_value_type():",ae);J=void 0}return J},E.sqlite3_values_to_js=function(T,N,J=!0){let ae,G=[];for(ae=0;ae<T;++ae)G.push(E.sqlite3_value_to_js(w.peekPtr(w.ptr.add(N,w.ptr.size*ae)),J));return G},E.sqlite3_result_error_js=function(T,N){if(N instanceof W)E.sqlite3_result_error_nomem(T);else E.sqlite3_result_error(T,""+N,-1)},E.sqlite3_result_js=function(T,N){if(N instanceof Error){E.sqlite3_result_error_js(T,N);return}try{switch(typeof N){case"undefined":break;case"boolean":E.sqlite3_result_int(T,N?1:0);break;case"bigint":if(Q.bigIntFits32(N))E.sqlite3_result_int(T,Number(N));else if(Q.bigIntFitsDouble(N))E.sqlite3_result_double(T,Number(N));else if(w.bigIntEnabled)if(Q.bigIntFits64(N))E.sqlite3_result_int64(T,N);else q("BigInt value",N.toString(),"is too BigInt for int64.");else q("BigInt value",N.toString(),"is too BigInt.");break;case"number":{let J;if(Q.isInt32(N))J=E.sqlite3_result_int;else if(w.bigIntEnabled&&Number.isInteger(N)&&Q.bigIntFits64(BigInt(N)))J=E.sqlite3_result_int64;else J=E.sqlite3_result_double;J(T,N);break}case"string":{let[J,ae]=w.allocCString(N,!0);E.sqlite3_result_text(T,J,ae,E.SQLITE_WASM_DEALLOC);break}case"object":if(N===null){E.sqlite3_result_null(T);break}else if(Q.isBindableTypedArray(N)){let J=w.allocFromTypedArray(N);E.sqlite3_result_blob(T,J,N.byteLength,E.SQLITE_WASM_DEALLOC);break}default:q("Don't not how to handle this UDF result value:",typeof N,N)}}catch(J){E.sqlite3_result_error_js(T,J)}},E.sqlite3_column_js=function(T,N,J=!0){let ae=E.sqlite3_column_value(T,N);return ae===0?void 0:E.sqlite3_value_to_js(ae,J)};{let T=function(N,J,ae){if(ae=E[ae],!this.ptr)this.ptr=w.allocPtr();else w.pokePtr(this.ptr,0);let G=ae(N,J,this.ptr);if(G)return M.toss(G,arguments[2]+"() failed with code "+G);let ye=w.peekPtr(this.ptr);return ye?E.sqlite3_value_to_js(ye,!0):void 0}.bind(p());E.sqlite3_preupdate_new_js=(N,J)=>T(N,J,"sqlite3_preupdate_new"),E.sqlite3_preupdate_old_js=(N,J)=>T(N,J,"sqlite3_preupdate_old"),E.sqlite3changeset_new_js=(N,J)=>T(N,J,"sqlite3changeset_new"),E.sqlite3changeset_old_js=(N,J)=>T(N,J,"sqlite3changeset_old")}E.sqlite3_js_retry_busy=function(T,N,J){for(let ae=1;ae<=T;++ae)try{if(J&&ae>1)J(ae);let G=N();if(E.SQLITE_BUSY===G){if(ae===T)throw new M(G,["sqlite3_js_retry_busy() max retry attempts (",T,") reached."].join(""));continue}return G}catch(G){if(ae<T&&G instanceof M&&G.resultCode===E.SQLITE_BUSY)continue;throw G}};let _e={WasmAllocError:W,SQLite3Error:M,capi:E,util:Q,wasm:w,config:m,version:p(),client:void 0,asyncPostInit:async function T(){if(T.isReady instanceof Promise)return T.isReady;let N=this.initializersAsync;delete this.initializersAsync;let J=async()=>{if(!_e.__isUnderTest)delete _e.util,delete _e.StructBinder,delete _e.opfs;return _e},ae=(ye)=>{throw m.error("an async sqlite3 initializer failed:",ye),ye};if(!N||!N.length)return T.isReady=J().catch(ae);N=N.map((ye)=>ye instanceof Function?async(Ee)=>ye(_e):ye),N.push(J);let G=Promise.resolve(_e);while(N.length)G=G.then(N.shift());return T.isReady=G.catch(ae)}.bind(g),scriptInfo:void 0};if(typeof h<"u")_e.__isUnderTest=!!h;try{g.initializers.forEach((T)=>{T(_e)})}catch(T){throw console.error("sqlite3 bootstrap initializer threw:",T),T}if(delete g.initializers,g.sqlite3=_e,typeof a<"u")a.debugModule("sqlite3ApiBootstrap() complete",_e),_e.scriptInfo=a;if(_e.__isUnderTest){if(typeof u<"u")_e.config.emscripten=u;let T=_e.scriptInfo?.instantiateWasm;if(T)_e.wasm.module=T.module,_e.wasm.instance=T.instance,_e.wasm.imports=T.imports}return delete globalThis.sqlite3ApiConfig,delete globalThis.sqlite3ApiBootstrap,delete g.defaultConfig,_e.asyncPostInit().then((T)=>{if(typeof a<"u")a.debugModule("sqlite3.asyncPostInit() complete",T);return delete T.asyncPostInit,delete T.scriptInfo,delete T.emscripten,T})},globalThis.sqlite3ApiBootstrap.initializers=[],globalThis.sqlite3ApiBootstrap.initializersAsync=[],globalThis.sqlite3ApiBootstrap.defaultConfig=Object.create(null),globalThis.sqlite3ApiBootstrap.sqlite3=void 0,globalThis.sqlite3ApiBootstrap.initializers.push(function(g){g.version={libVersion:"3.53.0",libVersionNumber:3053000,sourceId:"2026-04-09 11:41:38 4525003a53a7fc63ca75c59b22c79608659ca12f0131f52c18637f829977f20b",downloadVersion:3530000,scm:{"sha3-256":"4525003a53a7fc63ca75c59b22c79608659ca12f0131f52c18637f829977f20b",branch:"trunk",tags:"release major-release version-3.53.0",datetime:"2026-04-09T11:41:38.498Z"}}}),globalThis.WhWasmUtilInstaller=function(l){if(l.bigIntEnabled===void 0)l.bigIntEnabled=!!globalThis.BigInt64Array;let p=(..._)=>{throw Error(_.join(" "))};if(!l.pointerSize&&!l.pointerIR&&l.alloc&&l.dealloc){let _=l.alloc(1);l.pointerSize=typeof _==="bigint"?8:4,l.dealloc(_)}if(l.pointerSize&&!l.pointerIR)l.pointerIR=l.pointerSize===4?"i32":"i64";let m=l.pointerIR??="i32",E=l.pointerSize??=m==="i32"?4:m==="i64"?8:0;if(delete l.pointerSize,delete l.pointerIR,m!=="i32"&&m!=="i64")p("Invalid pointerIR:",m);else if(E!==8&&E!==4)p("Invalid pointerSize:",E);let w=l.bigIntEnabled?(_)=>BigInt(_||0):(_)=>p("BigInt support is disabled in this build."),X=E===4?(_)=>Number(_||0):w,M=X(0),q=function(..._){let S=X(0);for(let I of _)S+=X(I);return S};{let _=Object.create(null);Object.defineProperty(l,"ptr",{enumerable:!0,get:()=>_,set:()=>p("The ptr property is read-only.")}),function S(I,C){return Object.defineProperty(_,I,{enumerable:!0,get:()=>C,set:()=>p("ptr["+I+"] is read-only.")}),S}("null",M)("size",E)("ir",m)("coerce",X)("add",q)("addn",m===4?q:(...S)=>Number(q(...S)))}if(!l.exports)Object.defineProperty(l,"exports",{enumerable:!0,configurable:!0,get:()=>l.instance?.exports});let L=Object.create(null);L.heapSize=0,L.memory=null,L.freeFuncIndexes=[],L.scopedAlloc=[],L.scopedAlloc.pushPtr=(_)=>(L.scopedAlloc[L.scopedAlloc.length-1].push(_),_),L.utf8Decoder=new TextDecoder,L.utf8Encoder=new TextEncoder("utf-8"),l.sizeofIR=(_)=>{switch(_){case"i8":return 1;case"i16":return 2;case"i32":case"f32":case"float":return 4;case"i64":case"f64":case"double":return 8;case"*":return E;default:return(""+_).endsWith("*")?E:void 0}};let Z=function(){if(!L.memory)L.memory=l.memory instanceof WebAssembly.Memory?l.memory:l.exports.memory;else if(L.heapSize===L.memory.buffer.byteLength)return L;let _=L.memory.buffer;if(L.HEAP8=new Int8Array(_),L.HEAP8U=new Uint8Array(_),L.HEAP16=new Int16Array(_),L.HEAP16U=new Uint16Array(_),L.HEAP32=new Int32Array(_),L.HEAP32U=new Uint32Array(_),L.HEAP32F=new Float32Array(_),L.HEAP64F=new Float64Array(_),l.bigIntEnabled)if(typeof BigInt64Array<"u")L.HEAP64=new BigInt64Array(_),L.HEAP64U=new BigUint64Array(_);else p("BigInt support is enabled, but the BigInt64Array type is missing.");return L.heapSize=_.byteLength,L};l.heap8=()=>Z().HEAP8,l.heap8u=()=>Z().HEAP8U,l.heap16=()=>Z().HEAP16,l.heap16u=()=>Z().HEAP16U,l.heap32=()=>Z().HEAP32,l.heap32u=()=>Z().HEAP32U,l.heapForSize=function(_,S=!0){let I=L.memory&&L.heapSize===L.memory.buffer.byteLength?L:Z();switch(_){case Int8Array:return I.HEAP8;case Uint8Array:return I.HEAP8U;case Int16Array:return I.HEAP16;case Uint16Array:return I.HEAP16U;case Int32Array:return I.HEAP32;case Uint32Array:return I.HEAP32U;case 8:return S?I.HEAP8U:I.HEAP8;case 16:return S?I.HEAP16U:I.HEAP16;case 32:return S?I.HEAP32U:I.HEAP32;case 64:if(I.HEAP64)return S?I.HEAP64U:I.HEAP64;break;default:if(l.bigIntEnabled){if(_===globalThis.BigUint64Array)return I.HEAP64U;else if(_===globalThis.BigInt64Array)return I.HEAP64;break}}p("Invalid heapForSize() size: expecting 8, 16, 32,","or (if BigInt is enabled) 64.")};let K=l.functionTable;delete l.functionTable,l.functionTable=K?()=>K:()=>l.exports.__indirect_function_table,l.functionEntry=function(_){let S=l.functionTable();return _<S.length?S.get(X(_)):void 0},l.jsFuncToWasm=function _(S,I){if(!_._)_._={sigTypes:Object.assign(Object.create(null),{i:"i32",p:m,P:m,s:m,j:"i64",f:"f32",d:"f64"}),typeCodes:Object.assign(Object.create(null),{f64:124,f32:125,i64:126,i32:127}),uleb128Encode:(R,z,ee)=>{if(ee<128)R[z](ee);else R[z](ee%128|128,ee>>7)},rxJSig:/^(\w)\((\w*)\)$/,sigParams:(R)=>{let z=_._.rxJSig.exec(R);return z?z[2]:R.substr(1)},letterType:(R)=>_._.sigTypes[R]||p("Invalid signature letter:",R),pushSigType:(R,z)=>R.push(_._.typeCodes[_._.letterType(z)])};if(typeof S==="string"){let R=I;I=S,S=R}let C=_._,ne=C.sigParams(I),ue=[1,96];C.uleb128Encode(ue,"push",ne.length);for(let R of ne)C.pushSigType(ue,R);if(I[0]==="v")ue.push(0);else ue.push(1),C.pushSigType(ue,I[0]);return C.uleb128Encode(ue,"unshift",ue.length),ue.unshift(0,97,115,109,1,0,0,0,1),ue.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0),new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array(ue)),{e:{f:S}}).exports.f};let pe=function(S,I,C){if(C&&!L.scopedAlloc.length)p("No scopedAllocPush() scope is active.");if(typeof S==="string"){let z=I;I=S,S=z}if(typeof I!=="string"||!(S instanceof Function))p("Invalid arguments: expecting (function,signature) or (signature,function).");let ne=l.functionTable(),ue=X(ne.length),R;while(R=L.freeFuncIndexes.pop())if(ne.get(R)){R=null;continue}else break;if(!R)R=X(ue),ne.grow(X(1));try{if(ne.set(R,S),C)L.scopedAlloc.pushPtr(R);return R}catch(z){if(!(z instanceof TypeError)){if(R===ue)L.freeFuncIndexes.push(ue);throw z}}try{let z=l.jsFuncToWasm(S,I);if(ne.set(R,z),C)L.scopedAlloc.pushPtr(R)}catch(z){if(R===ue)L.freeFuncIndexes.push(ue);throw z}return R};l.installFunction=(_,S)=>pe(_,S,!1),l.scopedInstallFunction=(_,S)=>pe(_,S,!0),l.uninstallFunction=function(_){if(!_&&M!==_)return;let S=l.functionTable();L.freeFuncIndexes.push(_);let I=S.get(_);return S.set(_,null),I},l.peek=function(S,I="i8"){if(I.endsWith("*"))I=m;let C=L.memory&&L.heapSize===L.memory.buffer.byteLength?L:Z(),ne=Array.isArray(S)?[]:void 0,ue;do{if(ne)S=arguments[0].shift();switch(I){case"i1":case"i8":ue=C.HEAP8[Number(S)>>0];break;case"i16":ue=C.HEAP16[Number(S)>>1];break;case"i32":ue=C.HEAP32[Number(S)>>2];break;case"float":case"f32":ue=C.HEAP32F[Number(S)>>2];break;case"double":case"f64":ue=Number(C.HEAP64F[Number(S)>>3]);break;case"i64":if(C.HEAP64){ue=w(C.HEAP64[Number(S)>>3]);break}default:p("Invalid type for peek():",I)}if(ne)ne.push(ue)}while(ne&&arguments[0].length);return ne||ue},l.poke=function(_,S,I="i8"){if(I.endsWith("*"))I=m;let C=L.memory&&L.heapSize===L.memory.buffer.byteLength?L:Z();for(let ne of Array.isArray(_)?_:[_])switch(I){case"i1":case"i8":C.HEAP8[Number(ne)>>0]=S;continue;case"i16":C.HEAP16[Number(ne)>>1]=S;continue;case"i32":C.HEAP32[Number(ne)>>2]=S;continue;case"float":case"f32":C.HEAP32F[Number(ne)>>2]=S;continue;case"double":case"f64":C.HEAP64F[Number(ne)>>3]=S;continue;case"i64":if(C.HEAP64){C.HEAP64[Number(ne)>>3]=w(S);continue}default:p("Invalid type for poke(): "+I)}return this},l.peekPtr=(..._)=>l.peek(_.length===1?_[0]:_,m),l.pokePtr=(_,S=0)=>l.poke(_,S,m),l.peek8=(..._)=>l.peek(_.length===1?_[0]:_,"i8"),l.poke8=(_,S)=>l.poke(_,S,"i8"),l.peek16=(..._)=>l.peek(_.length===1?_[0]:_,"i16"),l.poke16=(_,S)=>l.poke(_,S,"i16"),l.peek32=(..._)=>l.peek(_.length===1?_[0]:_,"i32"),l.poke32=(_,S)=>l.poke(_,S,"i32"),l.peek64=(..._)=>l.peek(_.length===1?_[0]:_,"i64"),l.poke64=(_,S)=>l.poke(_,S,"i64"),l.peek32f=(..._)=>l.peek(_.length===1?_[0]:_,"f32"),l.poke32f=(_,S)=>l.poke(_,S,"f32"),l.peek64f=(..._)=>l.peek(_.length===1?_[0]:_,"f64"),l.poke64f=(_,S)=>l.poke(_,S,"f64"),l.getMemValue=l.peek,l.getPtrValue=l.peekPtr,l.setMemValue=l.poke,l.setPtrValue=l.pokePtr,l.isPtr32=(_)=>typeof _==="number"&&_>=0&&_===(_|0),l.isPtr64=(_)=>typeof _==="bigint"?_>=0:l.isPtr32(_),l.isPtr=E===4?l.isPtr32:l.isPtr64,l.cstrlen=function(_){if(!_||!l.isPtr(_))return null;_=Number(_);let S=Z().HEAP8U,I=_;for(;S[I]!==0;++I);return I-_};let A=typeof SharedArrayBuffer>"u"?function(){}:SharedArrayBuffer,D=(_)=>_.buffer instanceof A;l.isSharedTypedArray=D;let Y=(_,S,I)=>{if(E===8){if(typeof S==="bigint")S=Number(S);if(typeof I==="bigint")I=Number(I)}return D(_)?_.slice(S,I):_.subarray(S,I)};l.typedArrayPart=Y;let re=(_,S,I)=>L.utf8Decoder.decode(Y(_,S,I));l.typedArrayToString=re,l.cstrToJs=function(_){let S=l.cstrlen(_);return S?re(Z().HEAP8U,Number(_),Number(_)+S):S===null?S:""},l.jstrlen=function(_){if(typeof _!=="string")return null;let S=_.length,I=0;for(let C=0;C<S;++C){let ne=_.charCodeAt(C);if(ne>=55296&&ne<=57343)ne=65536+((ne&1023)<<10)|_.charCodeAt(++C)&1023;if(ne<=127)++I;else if(ne<=2047)I+=2;else if(ne<=65535)I+=3;else I+=4}return I},l.jstrcpy=function(_,S,I=0,C=-1,ne=!0){if(!S||!(S instanceof Int8Array)&&!(S instanceof Uint8Array))p("jstrcpy() target must be an Int8Array or Uint8Array.");if(C=Number(C),I=Number(I),C<0)C=S.length-I;if(!(C>0)||!(I>=0))return 0;let ue=0,R=_.length,z=I,ee=I+C-(ne?1:0);for(;ue<R&&I<ee;++ue){let se=_.charCodeAt(ue);if(se>=55296&&se<=57343)se=65536+((se&1023)<<10)|_.charCodeAt(++ue)&1023;if(se<=127){if(I>=ee)break;S[I++]=se}else if(se<=2047){if(I+1>=ee)break;S[I++]=192|se>>6,S[I++]=128|se&63}else if(se<=65535){if(I+2>=ee)break;S[I++]=224|se>>12,S[I++]=128|se>>6&63,S[I++]=128|se&63}else{if(I+3>=ee)break;S[I++]=240|se>>18,S[I++]=128|se>>12&63,S[I++]=128|se>>6&63,S[I++]=128|se&63}}if(ne)S[I++]=0;return I-z},l.cstrncpy=function(_,S,I){if(!_||!S)p("cstrncpy() does not accept NULL strings.");if(I<0)I=l.cstrlen(strPtr)+1;else if(!(I>0))return 0;let C=l.heap8u(),ne=0,ue,R=Number(_),z=Number(S);for(;ne<I&&(ue=C[z+ne]);++ne)C[R+ne]=ue;if(ne<I)C[R+ne++]=0;return ne},l.jstrToUintArray=(_,S=!1)=>L.utf8Encoder.encode(S?_+"\x00":_);let W=(_,S)=>{if(!(_.alloc instanceof Function)||!(_.dealloc instanceof Function))p("Object is missing alloc() and/or dealloc() function(s)","required by",S+"().")},Q=function(_,S,I,C){if(W(l,C),typeof _!=="string")return null;let ne=L.utf8Encoder.encode(_),ue=I(ne.length+1),R=ue;try{let z=Z().HEAP8U;return z.set(ne,Number(ue)),z[q(ue,ne.length)]=0,R=M,S?[ue,ne.length]:ue}finally{if(R)l.dealloc(R)}};l.allocCString=(_,S=!1)=>Q(_,S,l.alloc,"allocCString()"),l.scopedAllocPush=function(){W(l,"scopedAllocPush");let _=[];return L.scopedAlloc.push(_),_},l.scopedAllocPop=function(_){W(l,"scopedAllocPop");let S=arguments.length?L.scopedAlloc.indexOf(_):L.scopedAlloc.length-1;if(S<0)p("Invalid state object for scopedAllocPop().");if(arguments.length===0)_=L.scopedAlloc[S];L.scopedAlloc.splice(S,1);for(let I;I=_.pop();)if(l.functionEntry(I))l.uninstallFunction(I);else l.dealloc(I)},l.scopedAlloc=function(_){if(!L.scopedAlloc.length)p("No scopedAllocPush() scope is active.");let S=X(l.alloc(_));return L.scopedAlloc.pushPtr(S)},Object.defineProperty(l.scopedAlloc,"level",{configurable:!1,enumerable:!1,get:()=>L.scopedAlloc.length,set:()=>p("The 'active' property is read-only.")}),l.scopedAllocCString=(_,S=!1)=>Q(_,S,l.scopedAlloc,"scopedAllocCString()");let _e=function(_,S){let I=l[_?"scopedAlloc":"alloc"]((S.length+1)*l.ptr.size),C=0;return S.forEach((ne)=>{l.pokePtr(q(I,l.ptr.size*C++),l[_?"scopedAllocCString":"allocCString"](""+ne))}),l.pokePtr(q(I,l.ptr.size*C),0),I};l.scopedAllocMainArgv=(_)=>_e(!0,_),l.allocMainArgv=(_)=>_e(!1,_),l.cArgvToJs=(_,S)=>{let I=[];for(let C=0;C<_;++C){let ne=l.peekPtr(q(S,l.ptr.size*C));I.push(ne?l.cstrToJs(ne):null)}return I},l.scopedAllocCall=function(_){l.scopedAllocPush();try{return _()}finally{l.scopedAllocPop()}};let T=function(_,S,I){W(l,I);let C=S?"i64":m,ne=l[I](_*(S?8:E));if(l.poke(ne,0,C),_===1)return ne;let ue=[ne];for(let R=1;R<_;++R)ne=q(ne,S?8:E),ue[R]=ne,l.poke(ne,0,C);return ue};l.allocPtr=(_=1,S=!0)=>T(_,S,"alloc"),l.scopedAllocPtr=(_=1,S=!0)=>T(_,S,"scopedAlloc"),l.xGet=function(_){return l.exports[_]||p("Cannot find exported symbol:",_)};let N=(_,S)=>p(_+"() requires",S,"argument(s).");l.xCall=function(_,...S){let I=_ instanceof Function?_:l.xGet(_);if(!(I instanceof Function))p("Exported symbol",_,"is not a function.");if(I.length!==S.length)N(I===_?I.name:_,I.length);return arguments.length===2&&Array.isArray(arguments[1])?I.apply(null,arguments[1]):I.apply(null,S)},L.xWrap=Object.create(null),L.xWrap.convert=Object.create(null),L.xWrap.convert.arg=new Map,L.xWrap.convert.result=new Map;let J=L.xWrap.convert.arg,ae=L.xWrap.convert.result,G=X;J.set("i64",w).set("i32",(_)=>_|0).set("i16",(_)=>(_|0)&65535).set("i8",(_)=>(_|0)&255).set("f32",(_)=>Number(_).valueOf()).set("float",J.get("f32")).set("f64",J.get("f32")).set("double",J.get("f64")).set("int",J.get("i32")).set("null",(_)=>_).set(null,J.get("null")).set("**",G).set("*",G),ae.set("*",G).set("pointer",G).set("number",(_)=>Number(_)).set("void",(_)=>{return}).set(void 0,ae.get("void")).set("null",(_)=>_).set(null,ae.get("null"));for(let _ of["i8","i16","i32","i64","int","f32","float","f64","double"])J.set(_+"*",G),ae.set(_+"*",G),ae.set(_,J.get(_)||p("Maintenance required: missing arg converter for",_));let ye=(_)=>typeof _==="string"?l.scopedAllocCString(_):X(_);J.set("string",ye).set("utf8",ye),ae.set("string",(_)=>l.cstrToJs(_)).set("utf8",ae.get("string")).set("string:dealloc",(_)=>{try{return _?l.cstrToJs(_):null}finally{l.dealloc(_)}}).set("utf8:dealloc",ae.get("string:dealloc")).set("json",(_)=>JSON.parse(l.cstrToJs(_))).set("json:dealloc",(_)=>{try{return _?JSON.parse(l.cstrToJs(_)):null}finally{l.dealloc(_)}});let Ee=class{constructor(_){this.name=_.name||"unnamed adapter"}convertArg(_,S,I){p("AbstractArgAdapter must be subclassed.")}};J.FuncPtrAdapter=class _ extends Ee{constructor(S){super(S);if(J.FuncPtrAdapter.warnOnUse)console.warn("xArg.FuncPtrAdapter is an internal-only API","and is not intended to be invoked from","client-level code. Invoked with:",S);if(this.name=S.name||"unnamed",this.signature=S.signature,S.contextKey instanceof Function){if(this.contextKey=S.contextKey,!S.bindScope)S.bindScope="context"}if(this.bindScope=S.bindScope||p("FuncPtrAdapter options requires a bindScope (explicit or implied)."),_.bindScopes.indexOf(S.bindScope)<0)p("Invalid options.bindScope ("+S.bindMod+") for FuncPtrAdapter. Expecting one of: ("+_.bindScopes.join(", ")+")");this.isTransient=this.bindScope==="transient",this.isContext=this.bindScope==="context",this.isPermanent=this.bindScope==="permanent",this.singleton=this.bindScope==="singleton"?[]:void 0,this.callProxy=S.callProxy instanceof Function?S.callProxy:void 0}contextKey(S,I){return this}contextMap(S){let I=this.__cmap||(this.__cmap=new Map),C=I.get(S);if(C===void 0)I.set(S,C=[]);return C}convertArg(S,I,C){let ne=this.singleton;if(!ne&&this.isContext)ne=this.contextMap(this.contextKey(I,C));if(ne&&ne.length===2&&ne[0]===S)return ne[1];if(S instanceof Function){if(this.callProxy)S=this.callProxy(S);let ue=pe(S,this.signature,this.isTransient);if(_.debugFuncInstall)_.debugOut("FuncPtrAdapter installed",this,this.contextKey(I,C),"@"+ue,S);if(ne){if(ne[1]){if(_.debugFuncInstall)_.debugOut("FuncPtrAdapter uninstalling",this,this.contextKey(I,C),"@"+ne[1],S);try{L.scopedAlloc.pushPtr(ne[1])}catch(R){}}ne[0]=arguments[0]||M,ne[1]=ue}return ue}else if(l.isPtr(S)||S===null||S===void 0){if(ne&&ne[1]&&ne[1]!==S){if(_.debugFuncInstall)_.debugOut("FuncPtrAdapter uninstalling",this,this.contextKey(I,C),"@"+ne[1],S);try{L.scopedAlloc.pushPtr(ne[1])}catch(ue){}ne[0]=ne[1]=S||M}return S||M}else throw TypeError("Invalid FuncPtrAdapter argument type. Expecting a function pointer or a "+(this.name?this.name+" ":"")+"function matching signature "+this.signature+".")}},J.FuncPtrAdapter.warnOnUse=!1,J.FuncPtrAdapter.debugFuncInstall=!1,J.FuncPtrAdapter.debugOut=console.debug.bind(console),J.FuncPtrAdapter.bindScopes=["transient","context","singleton","permanent"];let ve=(_)=>J.get(_)||p("Argument adapter not found:",_),Te=(_)=>ae.get(_)||p("Result adapter not found:",_);L.xWrap.convertArg=(_,...S)=>ve(_)(...S),L.xWrap.convertArgNoCheck=(_,...S)=>J.get(_)(...S),L.xWrap.convertResult=(_,S)=>_===null?S:_?Te(_)(S):void 0,L.xWrap.convertResultNoCheck=(_,S)=>_===null?S:_?ae.get(_)(S):void 0,l.xWrap=function _(S,I,...C){if(arguments.length===3&&Array.isArray(arguments[2]))C=arguments[2];if(l.isPtr(S))S=l.functionEntry(S)||p("Function pointer not found in WASM function table.");let ne=S instanceof Function,ue=ne?S:l.xGet(S);if(ne)S=ue.name||"unnamed function";if(C.length!==ue.length)N(S,ue.length);if(ue.length===0&&(I===null||I==="null"))return ue;Te(I);for(let z of C)if(z instanceof Ee)J.set(z,(...ee)=>z.convertArg(...ee));else ve(z);let R=L.xWrap;if(ue.length===0)return(...z)=>z.length?N(S,ue.length):R.convertResult(I,ue.call(null));return function(...z){if(z.length!==ue.length)N(S,ue.length);let ee=l.scopedAllocPush();try{let se=0;if(_.debug)console.debug("xWrap() preparing: resultType ",I,"xf",ue,"argTypes",C,"args",z);for(;se<z.length;++se)z[se]=R.convertArgNoCheck(C[se],z[se],z,se);if(_.debug)console.debug("xWrap() calling: resultType ",I,"xf",ue,"argTypes",C,"args",z);return R.convertResultNoCheck(I,ue.apply(null,z))}finally{l.scopedAllocPop(ee)}}};let U=function(_,S,I,C,ne,ue){if(typeof I==="string"){if(S===1)return ue.get(I);else if(S===2){if(!C)return ue.delete(I),_;else if(!(C instanceof Function))p(ne,"requires a function argument.");return ue.set(I,C),_}}p("Invalid arguments to",ne)};return l.xWrap.resultAdapter=function _(S,I){return U(_,arguments.length,S,I,"resultAdapter()",ae)},l.xWrap.argAdapter=function _(S,I){return U(_,arguments.length,S,I,"argAdapter()",J)},l.xWrap.FuncPtrAdapter=J.FuncPtrAdapter,l.xCallWrapped=function(_,S,I,...C){if(Array.isArray(arguments[3]))C=arguments[3];return l.xWrap(_,S,I||[]).apply(null,C||[])},l.xWrap.testConvertArg=L.xWrap.convertArg,l.xWrap.testConvertResult=L.xWrap.convertResult,l},globalThis.WhWasmUtilInstaller.yawl=function(l){let p=()=>fetch(l.uri,{credentials:"same-origin"}),m=this,E=function(w){if(l.wasmUtilTarget){let O=(...M)=>{throw Error(M.join(" "))},X=l.wasmUtilTarget;if(X.module=w.module,X.instance=w.instance,!X.instance.exports.memory)X.memory=l?.imports?.env?.memory||O("Missing 'memory' object!");if(!X.alloc&&w.instance.exports.malloc){let M=w.instance.exports;X.alloc=function(q){return M.malloc(q)||O("Allocation of",q,"bytes failed.")},X.dealloc=function(q){q&&M.free(q)}}m(X)}if(w.config=l,l.onload)l.onload(w);return w};return WebAssembly.instantiateStreaming?()=>WebAssembly.instantiateStreaming(p(),l.imports||{}).then(E):()=>p().then((w)=>w.arrayBuffer()).then((w)=>WebAssembly.instantiate(w,l.imports||{})).then(E)}.bind(globalThis.WhWasmUtilInstaller),globalThis.Jaccwabyt=function g(l){let p=(...j)=>{throw Error(j.join(" "))};{let j=l.heap;if(j instanceof WebAssembly.Memory)j=function(){return new Uint8Array(this.buffer)}.bind(j);else if(!(j instanceof Function))p("config.heap must be WebAssembly.Memory instance or","a function which returns one.");l.heap=j}["alloc","dealloc"].forEach(function(j){l[j]instanceof Function||p("Config option '"+j+"' must be a function.")});let m=g,E=l.heap,w=l.alloc,O=l.dealloc;l.realloc;let X=l.log||console.debug.bind(console),M=l.memberPrefix||"",q=l.memberSuffix||"",L=globalThis.BigInt,Z=globalThis.BigInt64Array,K=l.bigIntEnabled??!!Z,pe,A=l.pointerSize||l.ptrSize||(typeof(pe=w(1))==="bigint"?8:4),D=l.pointerIR||l.ptrIR||(A===4?"i32":"i64");if(pe)O(pe),pe=void 0;if(A!==4&&A!==8)p("Invalid pointer size:",A);if(D!=="i32"&&D!=="i64")p("Invalid pointer representation:",D);let Y=K&&L?(j)=>L(j||0):(j)=>p("BigInt support is disabled in this build."),re=D=="i32"?Number:Y,W=re(0),Q=function(...j){let le=W;for(let me=0;me<j.length;++me)le+=re(j[me]);return le},_e=function(...j){return Q(this.pointer,...j)};if(!m.debugFlags)m.__makeDebugFlags=function(j=null){if(j&&j.__flags)j=j.__flags;let le=function me($e){if(arguments.length===0)return me.__flags;if($e<0)delete me.__flags.getter,delete me.__flags.setter,delete me.__flags.alloc,delete me.__flags.dealloc;else me.__flags.getter=(1&$e)!==0,me.__flags.setter=(2&$e)!==0,me.__flags.alloc=(4&$e)!==0,me.__flags.dealloc=(8&$e)!==0;return me._flags};if(Object.defineProperty(le,"__flags",{iterable:!1,writable:!1,value:Object.create(j)}),!j)le(0);return le},m.debugFlags=m.__makeDebugFlags();let T=!0,N=(j)=>j[1]==="(",J=(j)=>j==="p"||j==="P"||j==="s",ae=(j)=>j==="P",G=(j)=>j?N(j)?"p":j[0]:void 0,ye=function(j){switch(G(j)){case"c":case"C":return"i8";case"i":return"i32";case"p":case"P":case"s":return D;case"j":return"i64";case"f":return"float";case"d":return"double"}p("Unhandled signature IR:",j)},Ee=function(j){switch(G(j)){case"c":case"C":return 1;case"i":return 4;case"p":case"P":case"s":return A;case"j":return 8;case"f":return 4;case"d":return 8}p("Unhandled signature sizeof:",j)},ve=Z?()=>!0:()=>p("BigInt64Array is not available."),Te=function(j){switch(G(j)){case"p":case"P":case"s":switch(A){case 4:return"getInt32";case 8:return ve()&&"getBigInt64"}break;case"i":return"getInt32";case"c":return"getInt8";case"C":return"getUint8";case"j":return ve()&&"getBigInt64";case"f":return"getFloat32";case"d":return"getFloat64"}p("Unhandled DataView getter for signature:",j)},U=function(j){switch(G(j)){case"p":case"P":case"s":switch(A){case 4:return"setInt32";case 8:return ve()&&"setBigInt64"}break;case"i":return"setInt32";case"c":return"setInt8";case"C":return"setUint8";case"j":return ve()&&"setBigInt64";case"f":return"setFloat32";case"d":return"setFloat64"}p("Unhandled DataView setter for signature:",j)},_=function(j){switch(G(j)){case"i":case"f":case"c":case"C":case"d":return Number;case"j":return Y;case"p":case"P":case"s":switch(A){case 4:return Number;case 8:return Y}break}p("Unhandled DataView set wrapper for signature:",j)},S=(j,le)=>j+"::"+le,I=function(j,le){return()=>p(S(j,le),"is read-only.")},C=function j(le,me=!0){let $e=j.map.get(le);if(!$e&&me)j.map.set(le,$e=j.create(le));return $e};C.map=new WeakMap,C.create=(j)=>Object.assign(Object.create(null),{o:j,p:void 0,ownsPointer:!1,zod:!1,xb:0});let ne=(j)=>C.map.delete(j),ue=(j)=>typeof j==="number"&&j===(j|0)&&j>=0,z=A===4?ue:(j)=>typeof j==="bigint"&&j>=0||ue(j),ee=(j)=>z(j)&&j>0,se=function(j,le,me){let $e=C(le,!1);if(!$e)return;if(ne(le),!me&&!(me=$e.p)){console.warn("Cannot(?) happen: __freeStruct() found no instanceInfo");return}if(Array.isArray(le.ondispose)){let qe;while(qe=le.ondispose.pop())try{if(qe instanceof Function)qe.call(le);else if(qe instanceof Wt)qe.dispose();else if(z(qe))O(qe)}catch(st){console.warn("ondispose() for",j.structName,"@",me,"threw. NOT propagating it.",st)}}else if(le.ondispose instanceof Function)try{le.ondispose()}catch(qe){console.warn("ondispose() for",j.structName,"@",me,"threw. NOT propagating it.",qe)}if(delete le.ondispose,j.debugFlags.__flags.dealloc)X("debug.dealloc:",$e.ownsPointer?"":"EXTERNAL",j.structName,"instance:",j.structInfo.sizeof,"bytes @"+me);if($e.ownsPointer){if($e.zod||j.structInfo.zeroOnDispose)E().fill(0,Number(me),Number(me)+j.structInfo.sizeof+$e.xb);O(me)}},be=()=>({configurable:!1,writable:!1,iterable:!1}),Ae=(j)=>({...be(),value:j}),je=function(le,me,$e){let qe,st=(rt)=>{ee(rt)||p("Invalid pointer value",arguments[0],"for",le.structName,"constructor.")};if(arguments.length>=3)if($e&&typeof $e==="object")qe=$e,$e=qe?.wrap;else st($e),qe={wrap:$e};else qe={};let Et=!$e,Lt=0,Ht=!1;if($e)st($e),Ht=!!qe?.takeOwnership;else{let rt=qe?.extraBytes??0;if(rt<0||rt!==(rt|0))p("Invalid extraBytes value:",qe?.extraBytes);Lt=le.structInfo.sizeof+rt,$e=w(Lt)||p("Allocation of",le.structName,"structure failed."),Ht=!0}try{if(qe?.debugFlags)me.debugFlags(qe.debugFlags);if(le.debugFlags.__flags.alloc)X("debug.alloc:",Et?"":"EXTERNAL",le.structName,"instance:",le.structInfo.sizeof,"bytes @"+$e);if(Et)E().fill(0,Number($e),Number($e)+Lt);let rt=C(me);if(rt.p=$e,rt.ownsPointer=Ht,rt.xb=Lt?Lt-le.structInfo.sizeof:0,rt.zod=!!qe?.zeroOnDispose,qe?.ondispose&&qe.ondispose!==$e)me.addOnDispose(qe.ondispose)}catch(rt){throw se(le,me,$e),rt}},Be=function j(le){return j.rxSig1??=/^[ipPsjfdcC]$/,j.rxSig2??=/^[vipPsjfdcC]\([ipPsjfdcC]*\)$/,j.rxSig1.test(le)||j.rxSig2.test(le)},ot=function(j){let le=this.get(j);if(!le)le=[Object.create(null),Object.create(null),Object.create(null)],this.set(j,le);return le}.bind(new WeakMap),vt=function(j,le,me,$e){let qe=ot(j)[le];if(arguments.length===3)return qe[me];if($e)return qe[me]=$e;return delete qe[me]},cr=function(j,...le){return vt(this,0,j,...le)},cn=function(j,le){Be(le)&&p(j,"(",le,") collides with a data type signature.")},B=function(j,...le){return cn("Setter adaptor",j),vt(this,1,j,...le)},oe=function(j,...le){return cn("Struct adaptor",j),vt(this,2,j,...le)},fe=function(j,le){let me=typeof le==="string"?vt(j,2,le):le;if(typeof me!=="object")p("Invalid struct mapping object. Arg =",le,JSON.stringify(me));return me},De=Ae((j)=>M+j+q),Ce=function(j,le,me=!0){let $e=j.members[le];if(!$e&&(M||q)){for(let qe of Object.values(j.members))if(qe.key===le){$e=qe;break}if(!$e&&me)p(S(j.name||j.structName,le),"is not a mapped struct member.")}return $e},ze=function j(le,me,$e=!1){if(!j._)j._=(st)=>st.replace(/[^vipPsjrdcC]/g,"").replace(/[pPscC]/g,"i");let qe=Ce(le.structInfo,me,!0);return $e?j._(qe.signature):qe.signature},Ne=Ae(function(){let j=[];for(let le of Object.keys(this.structInfo.members))j.push(this.memberKey(le));return j}),Me=new TextDecoder("utf-8"),tt=new TextEncoder,lt=typeof SharedArrayBuffer>"u"?function(){}:SharedArrayBuffer,Ge=function(j,le,me){if(A===8)le=Number(le),me=Number(me);return Me.decode(j.buffer instanceof lt?j.slice(le,me):j.subarray(le,me))},At=function(j,le,me=!1){let $e=Ce(j.structInfo,le,me);return $e&&$e.signature.length===1&&$e.signature[0]==="s"?$e:!1},lr=function(j){if(j.signature==="s")return;p("Invalid member type signature for C-string value:",JSON.stringify(j))},Un=function(le,me){let $e=Ce(le.structInfo,me,!0);lr($e);let qe=le[$e.key];if(!qe)return null;let st=qe,Et=E();for(;Et[st]!==0;++st);return qe===st?"":Ge(Et,qe,st)},hr=function(j,...le){if(j.ondispose){if(!Array.isArray(j.ondispose))j.ondispose=[j.ondispose]}else j.ondispose=[];j.ondispose.push(...le)},ln=function(j){let le=tt.encode(j),me=w(le.length+1);if(!me)p("Allocation error while duplicating string:",j);let $e=E();return $e.set(le,Number(me)),$e[Q(me,le.length)]=0,me},Wi=function(j,le,me){let $e=Ce(j.structInfo,le,!0);lr($e);let qe=ln(me);return j[$e.key]=qe,hr(j,qe),j},Wt=function(le,me){if(arguments[2]!==Ae)p("Do not call the StructType constructor","from client-level code.");Object.defineProperties(this,{structName:Ae(le),structInfo:Ae(me)})};Wt.prototype=Object.create(null,{dispose:Ae(function(){se(this.constructor,this)}),lookupMember:Ae(function(j,le=!0){return Ce(this.structInfo,j,le)}),memberToJsString:Ae(function(j){return Un(this,j)}),memberIsString:Ae(function(j,le=!0){return At(this,j,le)}),memberKey:De,memberKeys:Ne,memberSignature:Ae(function(j,le=!1){return ze(this,j,le)}),memoryDump:Ae(function(){let j=this.pointer;return j?new Uint8Array(E().slice(Number(j),Number(j)+this.structInfo.sizeof)):null}),extraBytes:{configurable:!1,enumerable:!1,get:function(){return C(this,!1)?.xb??0}},zeroOnDispose:{configurable:!1,enumerable:!1,get:function(){return C(this,!1)?.zod??!!this.structInfo.zeroOnDispose}},pointer:{configurable:!1,enumerable:!1,get:function(){return C(this,!1)?.p},set:()=>p("Cannot assign the 'pointer' property of a struct.")},setMemberCString:Ae(function(j,le){return Wi(this,j,le)})}),Object.assign(Wt.prototype,{addOnDispose:function(...j){return hr(this,...j),this}}),Object.defineProperties(Wt,{allocCString:Ae(ln),isA:Ae((j)=>j instanceof Wt),hasExternalPointer:Ae((j)=>{let le=C(j,!1);return!!(le?.p&&!le?.ownsPointer)}),memberKey:De});let rs=function(j){return j.get||(j.adaptGet?Qt.adaptGet(j.adaptGet):void 0)},J_=function(j){return j.set||(j.adaptSet?Qt.adaptSet(j.adaptSet):void 0)},vk=function j(le,me,$e){let qe=j.innerStructs??=new Map,st=le.memberKey(me);if($e.signature!==void 0)p("'signature' cannot be used on an embedded struct (",le.structName,".",st,").");if(J_($e))p("'set' and 'adaptSet' are not permitted for nested struct members.");$e.structName??=le.structName+"::"+me,$e.key=st,$e.name=me,$e.constructor=this.call(this,$e.structName,$e);let Et=rs($e),Lt=Object.assign(Object.create(null),{configurable:!1,enumerable:!1,set:I(le.structName,st),get:function(){let Ht=this.debugFlags.__flags,rt=this.pointer,xt=rt+"."+st,Fe=qe.get(xt);if(Ht.getter)X("debug.getter: k =",xt);if(!Fe)Fe=new $e.constructor(Q(rt,$e.offset)),qe.set(xt,Fe),this.addOnDispose(()=>Fe.dispose()),Fe.addOnDispose(()=>qe.delete(xt));if(Et)Fe=Et.apply(this,[Fe,st]);if(Ht.getter)X("debug.getter: result =",Fe);return Fe}});Object.defineProperty(le.prototype,st,Lt)},bk=function j(le,me,$e){if($e=fe(this,$e),$e.members)return vk.call(this,le,me,$e);if(!j.cache){j.cache={getters:{},setters:{},sw:{}};let xt=["i","c","C","p","P","s","f","d","v()"];if(K)xt.push("j");xt.forEach(function(Fe){j.cache.getters[Fe]=Te(Fe),j.cache.setters[Fe]=U(Fe),j.cache.sw[Fe]=_(Fe)}),j.sigCheck=function(Fe,bt,ns,Q_){if(Object.prototype.hasOwnProperty.call(Fe,ns))p(Fe.structName,"already has a property named",ns+".");Be(Q_)||p("Malformed signature for",S(Fe.structName,bt)+":",Q_)}}let qe=le.memberKey(me);j.sigCheck(le.prototype,me,qe,$e.signature),$e.key=qe,$e.name=me;let st=G($e.signature),Et=S(le.structName,qe),Lt=le.debugFlags.__flags,Ht=rs($e),rt=Object.create(null);if(rt.configurable=!1,rt.enumerable=!1,rt.get=function(){if(Lt.getter)X("debug.getter:",j.cache.getters[st],"for",ye(st),Et,"@",this.pointer,"+",$e.offset,"sz",$e.sizeof);let xt=new DataView(E().buffer,Number(this.pointer)+$e.offset,$e.sizeof)[j.cache.getters[st]](0,T);if(Ht)xt=Ht.apply(this,[qe,xt]);if(Lt.getter)X("debug.getter:",Et,"result =",xt);return xt},$e.readOnly)rt.set=I(le.prototype.structName,qe);else{let xt=J_($e);rt.set=function(Fe){if(Lt.setter)X("debug.setter:",j.cache.setters[st],"for",ye(st),Et,"@",this.pointer,"+",$e.offset,"sz",$e.sizeof,Fe);if(!this.pointer)p("Cannot set native property on a disposed",this.structName,"instance.");if(xt)Fe=xt.apply(this,[qe,Fe]);if(Fe===null||Fe===void 0)Fe=W;else if(J($e.signature)&&!z(Fe))if(ae($e.signature)&&Fe instanceof Wt){if(Fe=Fe.pointer||W,Lt.setter)X("debug.setter:",Et,"resolved to",Fe)}else p("Invalid value for pointer-type",Et+".");new DataView(E().buffer,Number(this.pointer)+$e.offset,$e.sizeof)[j.cache.setters[st]](0,j.cache.sw[st](Fe),T)}}Object.defineProperty(le.prototype,qe,rt)},X_=function j(le,me,$e=Object.create(null)){let qe=function Fe(bt){if(!(this instanceof Fe))p("The",le,"constructor may only be called via 'new'.");je(Fe,this,...arguments)},st=this,Et=(Fe)=>typeof Fe==="string"&&Be(Fe)?{signature:Fe}:fe(st,Fe);if(arguments.length===1)me=Et(le),le=me.structName||me.name;else if(arguments.length===2)me=Et(me),me.name??=le;else me=Et(me);if(le??=me.structName,le??=$e.structName,!le)p("One of 'name' or 'structName' are required.");if(me.adapt)Object.keys(me.adapt.struct||{}).forEach((Fe)=>{oe.call(j,Fe,me.adapt.struct[Fe])}),Object.keys(me.adapt.set||{}).forEach((Fe)=>{B.call(j,Fe,me.adapt.set[Fe])}),Object.keys(me.adapt.get||{}).forEach((Fe)=>{cr.call(j,Fe,me.adapt.get[Fe])});if(!me.members&&!me.sizeof)me.sizeof=Ee(me.signature);let Lt=Ae(m.__makeDebugFlags(Qt.debugFlags));Object.defineProperties(qe,{debugFlags:Lt,isA:Ae((Fe)=>Fe instanceof qe),memberKey:De,memberKeys:Ne,structInfo:Ae(me),structName:Ae(le),ptrAdd:Ae(Q)}),qe.prototype=new Wt(le,me,Ae),Object.defineProperties(qe.prototype,{debugFlags:Lt,constructor:Ae(qe),ptrAdd:Ae(_e)});let Ht=!1,rt=0,xt=!!me.autoCalcSizeOffset;if(!xt){if(!me.sizeof)p(le,"description is missing its sizeof property.");me.offset??=0}else me.offset??=0;if(Object.keys(me.members||{}).forEach((Fe)=>{let bt=Et(me.members[Fe]);if(!bt.members&&!bt.sizeof){if(bt.sizeof=Ee(bt.signature),!bt.sizeof)p(S(le,Fe),"is missing a sizeof property.",bt)}if(bt.offset===void 0)if(xt)bt.offset=rt;else p(S(le,Fe),"is missing its offset.",JSON.stringify(bt));if(me.members[Fe]=bt,!Ht||Ht.offset<bt.offset)Ht=bt;let ns=!!bt.autoCalc;if(xt)bt.autoCalcSizeOffset=!0;if(bk.call(st,qe,Fe,bt),ns)bt.autoCalcSizeOffset=!0;else delete bt.autoCalcSizeOffset;rt+=bt.sizeof}),!Ht)p("No member property descriptions found.");if(!me.sizeof)me.sizeof=rt;if(me.sizeof===1)me.signature==="c"||me.signature==="C"||p("Unexpected sizeof==1 member",S(le,k),"with signature",me.signature);else{if(me.sizeof%4!==0)console.warn("Invalid struct member description",me),p(le,"sizeof is not aligned. sizeof="+me.sizeof);if(me.offset%4!==0)console.warn("Invalid struct member description",me),p(le,"offset is not aligned. offset="+me.offset)}if(me.sizeof<rt)console.warn("Suspect struct description:",me,"offset =",rt),p("Mismatch in the calculated vs. the provided sizeof/offset info.","Expected sizeof",rt,"but got",me.sizeof,"for",me);return delete me.autoCalcSizeOffset,qe},Qt=function j(le,me){return arguments.length==1?X_.call(j,le):X_.call(j,le,me)};if(Qt.StructType=Wt,Qt.config=l,Qt.allocCString=ln,Qt.adaptGet=cr,Qt.adaptSet=B,Qt.adaptStruct=oe,Qt.ptrAdd=Q,!Qt.debugFlags)Qt.debugFlags=m.__makeDebugFlags(m.debugFlags);return Qt},globalThis.sqlite3ApiBootstrap.initializers.push(function(g){let l=(...A)=>{throw Error(A.join(" "))},p=g.capi,m=g.wasm,E=g.util;globalThis.WhWasmUtilInstaller(m),delete globalThis.WhWasmUtilInstaller;let w={core:[["sqlite3_aggregate_context","void*","sqlite3_context*","int"],["sqlite3_bind_double","int","sqlite3_stmt*","int","f64"],["sqlite3_bind_int","int","sqlite3_stmt*","int","int"],["sqlite3_bind_null",void 0,"sqlite3_stmt*","int"],["sqlite3_bind_parameter_count","int","sqlite3_stmt*"],["sqlite3_bind_parameter_index","int","sqlite3_stmt*","string"],["sqlite3_bind_parameter_name","string","sqlite3_stmt*","int"],["sqlite3_bind_pointer","int","sqlite3_stmt*","int","*","string:static","*"],["sqlite3_bind_zeroblob","int","sqlite3_stmt*","int","int"],["sqlite3_busy_handler","int",["sqlite3*",new m.xWrap.FuncPtrAdapter({signature:"i(pi)",contextKey:(A,D)=>A[0]}),"*"]],["sqlite3_busy_timeout","int","sqlite3*","int"],["sqlite3_changes","int","sqlite3*"],["sqlite3_clear_bindings","int","sqlite3_stmt*"],["sqlite3_collation_needed","int","sqlite3*","*","*"],["sqlite3_column_blob","*","sqlite3_stmt*","int"],["sqlite3_column_bytes","int","sqlite3_stmt*","int"],["sqlite3_column_count","int","sqlite3_stmt*"],["sqlite3_column_decltype","string","sqlite3_stmt*","int"],["sqlite3_column_double","f64","sqlite3_stmt*","int"],["sqlite3_column_int","int","sqlite3_stmt*","int"],["sqlite3_column_name","string","sqlite3_stmt*","int"],["sqlite3_column_type","int","sqlite3_stmt*","int"],["sqlite3_column_value","sqlite3_value*","sqlite3_stmt*","int"],["sqlite3_commit_hook","void*",["sqlite3*",new m.xWrap.FuncPtrAdapter({name:"sqlite3_commit_hook",signature:"i(p)",contextKey:(A)=>A[0]}),"*"]],["sqlite3_compileoption_get","string","int"],["sqlite3_compileoption_used","int","string"],["sqlite3_complete","int","string:flexible"],["sqlite3_context_db_handle","sqlite3*","sqlite3_context*"],["sqlite3_data_count","int","sqlite3_stmt*"],["sqlite3_db_filename","string","sqlite3*","string"],["sqlite3_db_handle","sqlite3*","sqlite3_stmt*"],["sqlite3_db_name","string","sqlite3*","int"],["sqlite3_db_readonly","int","sqlite3*","string"],["sqlite3_db_status","int","sqlite3*","int","*","*","int"],["sqlite3_errcode","int","sqlite3*"],["sqlite3_errmsg","string","sqlite3*"],["sqlite3_error_offset","int","sqlite3*"],["sqlite3_errstr","string","int"],["sqlite3_exec","int",["sqlite3*","string:flexible",new m.xWrap.FuncPtrAdapter({signature:"i(pipp)",bindScope:"transient",callProxy:(A)=>{let D;return(Y,re,W,Q)=>{try{let _e=m.cArgvToJs(re,W);if(!D)D=m.cArgvToJs(re,Q);return A(_e,D)|0}catch(_e){return _e.resultCode||p.SQLITE_ERROR}}}}),"*","**"]],["sqlite3_expanded_sql","string","sqlite3_stmt*"],["sqlite3_extended_errcode","int","sqlite3*"],["sqlite3_extended_result_codes","int","sqlite3*","int"],["sqlite3_file_control","int","sqlite3*","string","int","*"],["sqlite3_finalize","int","sqlite3_stmt*"],["sqlite3_free",void 0,"*"],["sqlite3_get_autocommit","int","sqlite3*"],["sqlite3_get_auxdata","*","sqlite3_context*","int"],["sqlite3_initialize",void 0],["sqlite3_interrupt",void 0,"sqlite3*"],["sqlite3_is_interrupted","int","sqlite3*"],["sqlite3_keyword_count","int"],["sqlite3_keyword_name","int",["int","**","*"]],["sqlite3_keyword_check","int",["string","int"]],["sqlite3_libversion","string"],["sqlite3_libversion_number","int"],["sqlite3_limit","int",["sqlite3*","int","int"]],["sqlite3_malloc","*","int"],["sqlite3_next_stmt","sqlite3_stmt*",["sqlite3*","sqlite3_stmt*"]],["sqlite3_open","int","string","*"],["sqlite3_open_v2","int","string","*","int","string"],["sqlite3_realloc","*","*","int"],["sqlite3_reset","int","sqlite3_stmt*"],["sqlite3_result_blob",void 0,"sqlite3_context*","*","int","*"],["sqlite3_result_double",void 0,"sqlite3_context*","f64"],["sqlite3_result_error",void 0,"sqlite3_context*","string","int"],["sqlite3_result_error_code",void 0,"sqlite3_context*","int"],["sqlite3_result_error_nomem",void 0,"sqlite3_context*"],["sqlite3_result_error_toobig",void 0,"sqlite3_context*"],["sqlite3_result_int",void 0,"sqlite3_context*","int"],["sqlite3_result_null",void 0,"sqlite3_context*"],["sqlite3_result_pointer",void 0,"sqlite3_context*","*","string:static","*"],["sqlite3_result_subtype",void 0,"sqlite3_value*","int"],["sqlite3_result_text",void 0,"sqlite3_context*","string","int","*"],["sqlite3_result_zeroblob",void 0,"sqlite3_context*","int"],["sqlite3_rollback_hook","void*",["sqlite3*",new m.xWrap.FuncPtrAdapter({name:"sqlite3_rollback_hook",signature:"v(p)",contextKey:(A)=>A[0]}),"*"]],["sqlite3_set_auxdata",void 0,["sqlite3_context*","int","*","*"]],["sqlite3_set_errmsg","int","sqlite3*","int","string"],["sqlite3_shutdown",void 0],["sqlite3_sourceid","string"],["sqlite3_sql","string","sqlite3_stmt*"],["sqlite3_status","int","int","*","*","int"],["sqlite3_step","int","sqlite3_stmt*"],["sqlite3_stmt_busy","int","sqlite3_stmt*"],["sqlite3_stmt_readonly","int","sqlite3_stmt*"],["sqlite3_stmt_status","int","sqlite3_stmt*","int","int"],["sqlite3_strglob","int","string","string"],["sqlite3_stricmp","int","string","string"],["sqlite3_strlike","int","string","string","int"],["sqlite3_strnicmp","int","string","string","int"],["sqlite3_table_column_metadata","int","sqlite3*","string","string","string","**","**","*","*","*"],["sqlite3_total_changes","int","sqlite3*"],["sqlite3_trace_v2","int",["sqlite3*","int",new m.xWrap.FuncPtrAdapter({name:"sqlite3_trace_v2::callback",signature:"i(ippp)",contextKey:(A,D)=>A[0]}),"*"]],["sqlite3_txn_state","int",["sqlite3*","string"]],["sqlite3_uri_boolean","int","sqlite3_filename","string","int"],["sqlite3_uri_key","string","sqlite3_filename","int"],["sqlite3_uri_parameter","string","sqlite3_filename","string"],["sqlite3_user_data","void*","sqlite3_context*"],["sqlite3_value_blob","*","sqlite3_value*"],["sqlite3_value_bytes","int","sqlite3_value*"],["sqlite3_value_double","f64","sqlite3_value*"],["sqlite3_value_dup","sqlite3_value*","sqlite3_value*"],["sqlite3_value_free",void 0,"sqlite3_value*"],["sqlite3_value_frombind","int","sqlite3_value*"],["sqlite3_value_int","int","sqlite3_value*"],["sqlite3_value_nochange","int","sqlite3_value*"],["sqlite3_value_numeric_type","int","sqlite3_value*"],["sqlite3_value_pointer","*","sqlite3_value*","string:static"],["sqlite3_value_subtype","int","sqlite3_value*"],["sqlite3_value_type","int","sqlite3_value*"],["sqlite3_vfs_find","*","string"],["sqlite3_vfs_register","int","sqlite3_vfs*","int"],["sqlite3_vfs_unregister","int","sqlite3_vfs*"]],int64:[["sqlite3_bind_int64","int",["sqlite3_stmt*","int","i64"]],["sqlite3_changes64","i64",["sqlite3*"]],["sqlite3_column_int64","i64",["sqlite3_stmt*","int"]],["sqlite3_deserialize","int","sqlite3*","string","*","i64","i64","int"],["sqlite3_last_insert_rowid","i64",["sqlite3*"]],["sqlite3_malloc64","*","i64"],["sqlite3_msize","i64","*"],["sqlite3_overload_function","int",["sqlite3*","string","int"]],["sqlite3_realloc64","*","*","i64"],["sqlite3_result_int64",void 0,"*","i64"],["sqlite3_result_zeroblob64","int","*","i64"],["sqlite3_serialize","*","sqlite3*","string","*","int"],["sqlite3_set_last_insert_rowid",void 0,["sqlite3*","i64"]],["sqlite3_status64","int","int","*","*","int"],["sqlite3_db_status64","int","sqlite3*","int","*","*","int"],["sqlite3_total_changes64","i64",["sqlite3*"]],["sqlite3_update_hook","*",["sqlite3*",new m.xWrap.FuncPtrAdapter({name:"sqlite3_update_hook::callback",signature:"v(pippj)",contextKey:(A)=>A[0],callProxy:(A)=>(D,Y,re,W,Q)=>{A(D,Y,m.cstrToJs(re),m.cstrToJs(W),Q)}}),"*"]],["sqlite3_uri_int64","i64",["sqlite3_filename","string","i64"]],["sqlite3_value_int64","i64","sqlite3_value*"]],wasmInternal:[["sqlite3__wasm_db_reset","int","sqlite3*"],["sqlite3__wasm_db_vfs","sqlite3_vfs*","sqlite3*","string"],["sqlite3__wasm_vfs_create_file","int","sqlite3_vfs*","string","*","int"],["sqlite3__wasm_posix_create_file","int","string","*","int"],["sqlite3__wasm_vfs_unlink","int","sqlite3_vfs*","string"],["sqlite3__wasm_qfmt_token","string:dealloc","string","int"]]};if(m.exports.sqlite3_progress_handler)w.core.push(["sqlite3_progress_handler",void 0,["sqlite3*","int",new m.xWrap.FuncPtrAdapter({name:"xProgressHandler",signature:"i(p)",bindScope:"context",contextKey:(A,D)=>A[0]}),"*"]]);if(m.exports.sqlite3_stmt_explain)w.core.push(["sqlite3_stmt_explain","int","sqlite3_stmt*","int"],["sqlite3_stmt_isexplain","int","sqlite3_stmt*"]);if(m.exports.sqlite3_set_authorizer)w.core.push(["sqlite3_set_authorizer","int",["sqlite3*",new m.xWrap.FuncPtrAdapter({name:"sqlite3_set_authorizer::xAuth",signature:"i(pissss)",contextKey:(A,D)=>A[0],callProxy:(A)=>(D,Y,re,W,Q,_e)=>{try{return re=re&&m.cstrToJs(re),W=W&&m.cstrToJs(W),Q=Q&&m.cstrToJs(Q),_e=_e&&m.cstrToJs(_e),A(D,Y,re,W,Q,_e)|0}catch(T){return T.resultCode||p.SQLITE_ERROR}}}),"*"]]);if(m.exports.sqlite3_column_origin_name)w.core.push(["sqlite3_column_database_name","string","sqlite3_stmt*","int"],["sqlite3_column_origin_name","string","sqlite3_stmt*","int"],["sqlite3_column_table_name","string","sqlite3_stmt*","int"]);if(m.bigIntEnabled&&!!m.exports.sqlite3_declare_vtab)w.int64.push(["sqlite3_create_module","int",["sqlite3*","string","sqlite3_module*","*"]],["sqlite3_create_module_v2","int",["sqlite3*","string","sqlite3_module*","*","*"]],["sqlite3_declare_vtab","int",["sqlite3*","string:flexible"]],["sqlite3_drop_modules","int",["sqlite3*","**"]],["sqlite3_vtab_collation","string","sqlite3_index_info*","int"],["sqlite3_vtab_distinct","int","sqlite3_index_info*"],["sqlite3_vtab_in","int","sqlite3_index_info*","int","int"],["sqlite3_vtab_in_first","int","sqlite3_value*","**"],["sqlite3_vtab_in_next","int","sqlite3_value*","**"],["sqlite3_vtab_nochange","int","sqlite3_context*"],["sqlite3_vtab_on_conflict","int","sqlite3*"],["sqlite3_vtab_rhs_value","int","sqlite3_index_info*","int","**"]);if(m.bigIntEnabled&&!!m.exports.sqlite3_preupdate_hook)w.int64.push(["sqlite3_preupdate_blobwrite","int","sqlite3*"],["sqlite3_preupdate_count","int","sqlite3*"],["sqlite3_preupdate_depth","int","sqlite3*"],["sqlite3_preupdate_hook","*",["sqlite3*",new m.xWrap.FuncPtrAdapter({name:"sqlite3_preupdate_hook",signature:"v(ppippjj)",contextKey:(A)=>A[0],callProxy:(A)=>(D,Y,re,W,Q,_e,T)=>{A(D,Y,re,m.cstrToJs(W),m.cstrToJs(Q),_e,T)}}),"*"]],["sqlite3_preupdate_new","int",["sqlite3*","int","**"]],["sqlite3_preupdate_old","int",["sqlite3*","int","**"]]);if(m.bigIntEnabled&&!!m.exports.sqlite3changegroup_add&&!!m.exports.sqlite3session_create&&!!m.exports.sqlite3_preupdate_hook){let A={signature:"i(ps)",callProxy:(D)=>(Y,re)=>{try{return D(Y,m.cstrToJs(re))|0}catch(W){return W.resultCode||p.SQLITE_ERROR}}};w.int64.push(["sqlite3changegroup_add","int",["sqlite3_changegroup*","int","void*"]],["sqlite3changegroup_add_strm","int",["sqlite3_changegroup*",new m.xWrap.FuncPtrAdapter({name:"xInput",signature:"i(ppp)",bindScope:"transient"}),"void*"]],["sqlite3changegroup_delete",void 0,["sqlite3_changegroup*"]],["sqlite3changegroup_new","int",["**"]],["sqlite3changegroup_output","int",["sqlite3_changegroup*","int*","**"]],["sqlite3changegroup_output_strm","int",["sqlite3_changegroup*",new m.xWrap.FuncPtrAdapter({name:"xOutput",signature:"i(ppi)",bindScope:"transient"}),"void*"]],["sqlite3changeset_apply","int",["sqlite3*","int","void*",new m.xWrap.FuncPtrAdapter({name:"xFilter",bindScope:"transient",...A}),new m.xWrap.FuncPtrAdapter({name:"xConflict",signature:"i(pip)",bindScope:"transient"}),"void*"]],["sqlite3changeset_apply_strm","int",["sqlite3*",new m.xWrap.FuncPtrAdapter({name:"xInput",signature:"i(ppp)",bindScope:"transient"}),"void*",new m.xWrap.FuncPtrAdapter({name:"xFilter",bindScope:"transient",...A}),new m.xWrap.FuncPtrAdapter({name:"xConflict",signature:"i(pip)",bindScope:"transient"}),"void*"]],["sqlite3changeset_apply_v2","int",["sqlite3*","int","void*",new m.xWrap.FuncPtrAdapter({name:"xFilter",bindScope:"transient",...A}),new m.xWrap.FuncPtrAdapter({name:"xConflict",signature:"i(pip)",bindScope:"transient"}),"void*","**","int*","int"]],["sqlite3changeset_apply_v2_strm","int",["sqlite3*",new m.xWrap.FuncPtrAdapter({name:"xInput",signature:"i(ppp)",bindScope:"transient"}),"void*",new m.xWrap.FuncPtrAdapter({name:"xFilter",bindScope:"transient",...A}),new m.xWrap.FuncPtrAdapter({name:"xConflict",signature:"i(pip)",bindScope:"transient"}),"void*","**","int*","int"]],["sqlite3changeset_apply_v3","int",["sqlite3*","int","void*",new m.xWrap.FuncPtrAdapter({name:"xFilter",signature:"i(pp)",bindScope:"transient"}),new m.xWrap.FuncPtrAdapter({name:"xConflict",signature:"i(pip)",bindScope:"transient"}),"void*","**","int*","int"]],["sqlite3changeset_apply_v3_strm","int",["sqlite3*",new m.xWrap.FuncPtrAdapter({name:"xInput",signature:"i(ppp)",bindScope:"transient"}),"void*",new m.xWrap.FuncPtrAdapter({name:"xFilter",signature:"i(pp)",bindScope:"transient"}),new m.xWrap.FuncPtrAdapter({name:"xConflict",signature:"i(pip)",bindScope:"transient"}),"void*","**","int*","int"]],["sqlite3changeset_concat","int",["int","void*","int","void*","int*","**"]],["sqlite3changeset_concat_strm","int",[new m.xWrap.FuncPtrAdapter({name:"xInputA",signature:"i(ppp)",bindScope:"transient"}),"void*",new m.xWrap.FuncPtrAdapter({name:"xInputB",signature:"i(ppp)",bindScope:"transient"}),"void*",new m.xWrap.FuncPtrAdapter({name:"xOutput",signature:"i(ppi)",bindScope:"transient"}),"void*"]],["sqlite3changeset_conflict","int",["sqlite3_changeset_iter*","int","**"]],["sqlite3changeset_finalize","int",["sqlite3_changeset_iter*"]],["sqlite3changeset_fk_conflicts","int",["sqlite3_changeset_iter*","int*"]],["sqlite3changeset_invert","int",["int","void*","int*","**"]],["sqlite3changeset_invert_strm","int",[new m.xWrap.FuncPtrAdapter({name:"xInput",signature:"i(ppp)",bindScope:"transient"}),"void*",new m.xWrap.FuncPtrAdapter({name:"xOutput",signature:"i(ppi)",bindScope:"transient"}),"void*"]],["sqlite3changeset_new","int",["sqlite3_changeset_iter*","int","**"]],["sqlite3changeset_next","int",["sqlite3_changeset_iter*"]],["sqlite3changeset_old","int",["sqlite3_changeset_iter*","int","**"]],["sqlite3changeset_op","int",["sqlite3_changeset_iter*","**","int*","int*","int*"]],["sqlite3changeset_pk","int",["sqlite3_changeset_iter*","**","int*"]],["sqlite3changeset_start","int",["**","int","*"]],["sqlite3changeset_start_strm","int",["**",new m.xWrap.FuncPtrAdapter({name:"xInput",signature:"i(ppp)",bindScope:"transient"}),"void*"]],["sqlite3changeset_start_v2","int",["**","int","*","int"]],["sqlite3changeset_start_v2_strm","int",["**",new m.xWrap.FuncPtrAdapter({name:"xInput",signature:"i(ppp)",bindScope:"transient"}),"void*","int"]],["sqlite3session_attach","int",["sqlite3_session*","string"]],["sqlite3session_changeset","int",["sqlite3_session*","int*","**"]],["sqlite3session_changeset_size","i64",["sqlite3_session*"]],["sqlite3session_changeset_strm","int",["sqlite3_session*",new m.xWrap.FuncPtrAdapter({name:"xOutput",signature:"i(ppp)",bindScope:"transient"}),"void*"]],["sqlite3session_config","int",["int","void*"]],["sqlite3session_create","int",["sqlite3*","string","**"]],["sqlite3session_diff","int",["sqlite3_session*","string","string","**"]],["sqlite3session_enable","int",["sqlite3_session*","int"]],["sqlite3session_indirect","int",["sqlite3_session*","int"]],["sqlite3session_isempty","int",["sqlite3_session*"]],["sqlite3session_memory_used","i64",["sqlite3_session*"]],["sqlite3session_object_config","int",["sqlite3_session*","int","void*"]],["sqlite3session_patchset","int",["sqlite3_session*","*","**"]],["sqlite3session_patchset_strm","int",["sqlite3_session*",new m.xWrap.FuncPtrAdapter({name:"xOutput",signature:"i(ppp)",bindScope:"transient"}),"void*"]],["sqlite3session_table_filter",void 0,["sqlite3_session*",new m.xWrap.FuncPtrAdapter({name:"xFilter",...A,contextKey:(D,Y)=>D[0]}),"*"]])}g.StructBinder=globalThis.Jaccwabyt({heap:m.heap8u,alloc:m.alloc,dealloc:m.dealloc,bigIntEnabled:m.bigIntEnabled,pointerIR:m.ptr.ir,memberPrefix:"$"}),delete globalThis.Jaccwabyt;{let A=m.xWrap.argAdapter("string");m.xWrap.argAdapter("string:flexible",(W)=>A(E.flexibleString(W))),m.xWrap.argAdapter("string:static",function(W){if(m.isPtr(W))return W;return W=""+W,this[W]||(this[W]=m.allocCString(W))}.bind(Object.create(null)));let D=m.xWrap.argAdapter("*"),Y=function(){};if(m.xWrap.argAdapter("sqlite3_filename",D)("sqlite3_context*",D)("sqlite3_value*",D)("void*",D)("sqlite3_changegroup*",D)("sqlite3_changeset_iter*",D)("sqlite3_session*",D)("sqlite3_stmt*",(W)=>D(W instanceof(g?.oo1?.Stmt||Y)?W.pointer:W))("sqlite3*",(W)=>D(W instanceof(g?.oo1?.DB||Y)?W.pointer:W))("sqlite3_vfs*",(W)=>{if(typeof W==="string")return p.sqlite3_vfs_find(W)||g.SQLite3Error.toss(p.SQLITE_NOTFOUND,"Unknown sqlite3_vfs name:",W);return D(W instanceof(p.sqlite3_vfs||Y)?W.pointer:W)}),m.exports.sqlite3_declare_vtab)m.xWrap.argAdapter("sqlite3_index_info*",(W)=>D(W instanceof(p.sqlite3_index_info||Y)?W.pointer:W))("sqlite3_module*",(W)=>D(W instanceof(p.sqlite3_module||Y)?W.pointer:W));let re=m.xWrap.resultAdapter("*");m.xWrap.resultAdapter("sqlite3*",re)("sqlite3_context*",re)("sqlite3_stmt*",re)("sqlite3_value*",re)("sqlite3_vfs*",re)("void*",re);for(let W of w.core)p[W[0]]=m.xWrap.apply(null,W);for(let W of w.wasmInternal)E[W[0]]=m.xWrap.apply(null,W);for(let W of w.int64)p[W[0]]=m.bigIntEnabled?m.xWrap.apply(null,W):()=>l(W[0]+"() is unavailable due to lack","of BigInt support in this build.");delete w.core,delete w.int64,delete w.wasmInternal,E.sqlite3__wasm_db_error=function(W,Q,_e){if(!W)return p.SQLITE_MISUSE;if(Q instanceof g.WasmAllocError)Q=p.SQLITE_NOMEM,_e=0;else if(Q instanceof Error)_e=_e||""+Q,Q=Q.resultCode||p.SQLITE_ERROR;return p.sqlite3_set_errmsg(W,Q,_e)||Q}}{let A=m.xCall("sqlite3__wasm_enum_json");if(!A)l("Maintenance required: increase sqlite3__wasm_enum_json()'s","static buffer size!");m.ctype=JSON.parse(m.cstrToJs(A));let D=["access","authorizer","blobFinalizers","changeset","config","dataTypes","dbConfig","dbStatus","encodings","fcntl","flock","ioCap","limits","openFlags","prepareFlags","resultCodes","sqlite3Status","stmtStatus","syncFlags","trace","txnState","udfFlags","version"];if(m.bigIntEnabled)D.push("serialize","session","vtab");for(let W of D)for(let Q of Object.entries(m.ctype[W]))p[Q[0]]=Q[1];if(!m.functionEntry(p.SQLITE_WASM_DEALLOC))l("Internal error: cannot resolve exported function","entry SQLITE_WASM_DEALLOC (=="+p.SQLITE_WASM_DEALLOC+").");let Y=Object.create(null);for(let W of Object.entries(m.ctype.resultCodes))Y[W[1]]=W[0];p.sqlite3_js_rc_str=(W)=>Y[W];let re=Object.assign(Object.create(null),{WasmTestStruct:!0,sqlite3_index_info:!m.bigIntEnabled,sqlite3_index_constraint:!m.bigIntEnabled,sqlite3_index_orderby:!m.bigIntEnabled,sqlite3_index_constraint_usage:!m.bigIntEnabled});for(let W of m.ctype.structs)if(!re[W.name])p[W.name]=g.StructBinder(W);if(p.sqlite3_index_info){for(let W of["sqlite3_index_constraint","sqlite3_index_orderby","sqlite3_index_constraint_usage"])p.sqlite3_index_info[W]=p[W],delete p[W];p.sqlite3_vtab_config=m.xWrap("sqlite3__wasm_vtab_config","int",["sqlite3*","int","int"])}}let O=(A,D,Y)=>E.sqlite3__wasm_db_error(A,p.SQLITE_MISUSE,D+"() requires "+Y+" argument"+(Y===1?"":"s")+"."),X=(A)=>E.sqlite3__wasm_db_error(A,p.SQLITE_FORMAT,"SQLITE_UTF8 is the only supported encoding."),M=(A)=>m.xWrap.argAdapter("sqlite3*")(A),q=(A)=>m.isPtr(A)?m.cstrToJs(A):A,L=function(A,D){A=M(A);let Y=this.dbMap.get(A);if(!D)return this.dbMap.delete(A),Y;else if(!Y&&D>0)this.dbMap.set(A,Y=Object.create(null));return Y}.bind(Object.assign(Object.create(null),{dbMap:new Map}));if(L.addCollation=function(A,D){let Y=L(A,1);if(!Y.collation)Y.collation=new Set;Y.collation.add(q(D).toLowerCase())},L._addUDF=function(A,D,Y,re){D=q(D).toLowerCase();let W=re.get(D);if(!W)re.set(D,W=new Set);W.add(Y<0?-1:Y)},L.addFunction=function(A,D,Y){let re=L(A,1);if(!re.udf)re.udf=new Map;this._addUDF(A,D,Y,re.udf)},m.exports.sqlite3_create_window_function)L.addWindowFunc=function(A,D,Y){let re=L(A,1);if(!re.wudf)re.wudf=new Map;this._addUDF(A,D,Y,re.wudf)};L.cleanup=function(A){A=M(A);for(let re of[["sqlite3_busy_handler",3],["sqlite3_commit_hook",3],["sqlite3_preupdate_hook",3],["sqlite3_progress_handler",4],["sqlite3_rollback_hook",3],["sqlite3_set_authorizer",3],["sqlite3_trace_v2",4],["sqlite3_update_hook",3]]){let[W,Q]=re;if(!m.exports[W])continue;let _e=[A];_e.length=Q;try{p[W](..._e)}catch(T){g.config.warn("close-time call of",W+"(",_e,") threw:",T)}}let D=L(A,0);if(!D)return;if(D.collation){for(let re of D.collation)try{p.sqlite3_create_collation_v2(A,re,p.SQLITE_UTF8,0,0,0)}catch(W){}delete D.collation}let Y;for(Y=0;Y<2;++Y){let re=Y?D.wudf:D.udf;if(!re)continue;let W=Y?p.sqlite3_create_window_function:p.sqlite3_create_function_v2;for(let Q of re){let _e=Q[0],T=Q[1],N=[A,_e,0,p.SQLITE_UTF8,0,0,0,0,0];if(Y)N.push(0);for(let J of T)try{N[2]=J,W.apply(null,N)}catch(ae){}T.clear()}re.clear()}delete D.udf,delete D.wudf};{let A=m.xWrap("sqlite3_close_v2","int","sqlite3*");p.sqlite3_close_v2=function(D){if(arguments.length!==1)return O(D,"sqlite3_close_v2",1);if(D)try{L.cleanup(D)}catch(Y){}return A(D)}}if(p.sqlite3session_create){let A=m.xWrap("sqlite3session_delete",void 0,["sqlite3_session*"]);p.sqlite3session_delete=function(D){if(arguments.length!==1)return O(pDb,"sqlite3session_delete",1);else if(D)p.sqlite3session_table_filter(D,0,0);A(D)}}{let A=(Y,re)=>"argv["+re+"]:"+Y[0]+":"+m.cstrToJs(Y[1]).toLowerCase(),D=m.xWrap("sqlite3_create_collation_v2","int",["sqlite3*","string","int","*",new m.xWrap.FuncPtrAdapter({name:"xCompare",signature:"i(pipip)",contextKey:A}),new m.xWrap.FuncPtrAdapter({name:"xDestroy",signature:"v(p)",contextKey:A})]);p.sqlite3_create_collation_v2=function(Y,re,W,Q,_e,T){if(arguments.length!==6)return O(Y,"sqlite3_create_collation_v2",6);else if((W&15)===0)W|=p.SQLITE_UTF8;else if(p.SQLITE_UTF8!==(W&15))return X(Y);try{let N=D(Y,re,W,Q,_e,T);if(N===0&&_e instanceof Function)L.addCollation(Y,re);return N}catch(N){return E.sqlite3__wasm_db_error(Y,N)}},p.sqlite3_create_collation=(Y,re,W,Q,_e)=>arguments.length===5?p.sqlite3_create_collation_v2(Y,re,W,Q,_e,0):O(Y,"sqlite3_create_collation",5)}{let A=function(W,Q){return W[0]+":"+(W[2]<0?-1:W[2])+":"+Q+":"+m.cstrToJs(W[1]).toLowerCase()},D=Object.assign(Object.create(null),{xInverseAndStep:{signature:"v(pip)",contextKey:A,callProxy:(W)=>(Q,_e,T)=>{try{W(Q,...p.sqlite3_values_to_js(_e,T))}catch(N){p.sqlite3_result_error_js(Q,N)}}},xFinalAndValue:{signature:"v(p)",contextKey:A,callProxy:(W)=>(Q)=>{try{p.sqlite3_result_js(Q,W(Q))}catch(_e){p.sqlite3_result_error_js(Q,_e)}}},xFunc:{signature:"v(pip)",contextKey:A,callProxy:(W)=>(Q,_e,T)=>{try{p.sqlite3_result_js(Q,W(Q,...p.sqlite3_values_to_js(_e,T)))}catch(N){p.sqlite3_result_error_js(Q,N)}}},xDestroy:{signature:"v(p)",contextKey:A,callProxy:(W)=>(Q)=>{try{W(Q)}catch(_e){console.error("UDF xDestroy method threw:",_e)}}}}),Y=m.xWrap("sqlite3_create_function_v2","int",["sqlite3*","string","int","int","*",new m.xWrap.FuncPtrAdapter({name:"xFunc",...D.xFunc}),new m.xWrap.FuncPtrAdapter({name:"xStep",...D.xInverseAndStep}),new m.xWrap.FuncPtrAdapter({name:"xFinal",...D.xFinalAndValue}),new m.xWrap.FuncPtrAdapter({name:"xDestroy",...D.xDestroy})]),re=m.exports.sqlite3_create_window_function?m.xWrap("sqlite3_create_window_function","int",["sqlite3*","string","int","int","*",new m.xWrap.FuncPtrAdapter({name:"xStep",...D.xInverseAndStep}),new m.xWrap.FuncPtrAdapter({name:"xFinal",...D.xFinalAndValue}),new m.xWrap.FuncPtrAdapter({name:"xValue",...D.xFinalAndValue}),new m.xWrap.FuncPtrAdapter({name:"xInverse",...D.xInverseAndStep}),new m.xWrap.FuncPtrAdapter({name:"xDestroy",...D.xDestroy})]):void 0;if(p.sqlite3_create_function_v2=function W(Q,_e,T,N,J,ae,G,ye,Ee){if(W.length!==arguments.length)return O(Q,"sqlite3_create_function_v2",W.length);else if((N&15)===0)N|=p.SQLITE_UTF8;else if(p.SQLITE_UTF8!==(N&15))return X(Q);try{let ve=Y(Q,_e,T,N,J,ae,G,ye,Ee);if(ve===0&&(ae instanceof Function||G instanceof Function||ye instanceof Function||Ee instanceof Function))L.addFunction(Q,_e,T);return ve}catch(ve){return console.error("sqlite3_create_function_v2() setup threw:",ve),E.sqlite3__wasm_db_error(Q,ve,"Creation of UDF threw: "+ve)}},p.sqlite3_create_function=function W(Q,_e,T,N,J,ae,G,ye){return W.length===arguments.length?p.sqlite3_create_function_v2(Q,_e,T,N,J,ae,G,ye,0):O(Q,"sqlite3_create_function",W.length)},re)p.sqlite3_create_window_function=function W(Q,_e,T,N,J,ae,G,ye,Ee,ve){if(W.length!==arguments.length)return O(Q,"sqlite3_create_window_function",W.length);else if((N&15)===0)N|=p.SQLITE_UTF8;else if(p.SQLITE_UTF8!==(N&15))return X(Q);try{let Te=re(Q,_e,T,N,J,ae,G,ye,Ee,ve);if(Te===0&&(ae instanceof Function||G instanceof Function||ye instanceof Function||Ee instanceof Function||ve instanceof Function))L.addWindowFunc(Q,_e,T);return Te}catch(Te){return console.error("sqlite3_create_window_function() setup threw:",Te),E.sqlite3__wasm_db_error(Q,Te,"Creation of UDF threw: "+Te)}};else delete p.sqlite3_create_window_function;if(p.sqlite3_create_function_v2.udfSetResult=p.sqlite3_create_function.udfSetResult=p.sqlite3_result_js,p.sqlite3_create_window_function)p.sqlite3_create_window_function.udfSetResult=p.sqlite3_result_js;if(p.sqlite3_create_function_v2.udfConvertArgs=p.sqlite3_create_function.udfConvertArgs=p.sqlite3_values_to_js,p.sqlite3_create_window_function)p.sqlite3_create_window_function.udfConvertArgs=p.sqlite3_values_to_js;if(p.sqlite3_create_function_v2.udfSetError=p.sqlite3_create_function.udfSetError=p.sqlite3_result_error_js,p.sqlite3_create_window_function)p.sqlite3_create_window_function.udfSetError=p.sqlite3_result_error_js}{let A=(Y,re)=>{if(typeof Y==="string")re=-1;else if(E.isSQLableTypedArray(Y))re=Y.byteLength,Y=m.typedArrayToString(Y instanceof ArrayBuffer?new Uint8Array(Y):Y);else if(Array.isArray(Y))Y=Y.join(""),re=-1;return[Y,re]},D={basic:m.xWrap("sqlite3_prepare_v3","int",["sqlite3*","string","int","int","**","**"]),full:m.xWrap("sqlite3_prepare_v3","int",["sqlite3*","*","int","int","**","**"])};p.sqlite3_prepare_v3=function Y(re,W,Q,_e,T,N){if(Y.length!==arguments.length)return O(re,"sqlite3_prepare_v3",Y.length);let[J,ae]=A(W,Number(Q));switch(typeof J){case"string":return D.basic(re,J,ae,_e,T,null);case typeof m.ptr.null:return D.full(re,m.ptr.coerce(J),ae,_e,T,N);default:return E.sqlite3__wasm_db_error(re,p.SQLITE_MISUSE,"Invalid SQL argument type for sqlite3_prepare_v2/v3(). typeof="+typeof J)}},p.sqlite3_prepare_v2=function Y(re,W,Q,_e,T){return Y.length===arguments.length?p.sqlite3_prepare_v3(re,W,Q,0,_e,T):O(re,"sqlite3_prepare_v2",Y.length)}}{let A=m.xWrap("sqlite3_bind_text","int",["sqlite3_stmt*","int","string","int","*"]),D=m.xWrap("sqlite3_bind_blob","int",["sqlite3_stmt*","int","*","int","*"]);p.sqlite3_bind_text=function Y(re,W,Q,_e,T){if(Y.length!==arguments.length)return O(p.sqlite3_db_handle(re),"sqlite3_bind_text",Y.length);else if(m.isPtr(Q)||Q===null)return A(re,W,Q,_e,T);else if(Q instanceof ArrayBuffer)Q=new Uint8Array(Q);else if(Array.isArray(pMem))Q=pMem.join("");let N,J;try{if(E.isSQLableTypedArray(Q))N=m.allocFromTypedArray(Q),J=Q.byteLength;else if(typeof Q==="string")[N,J]=m.allocCString(Q);else return E.sqlite3__wasm_db_error(p.sqlite3_db_handle(re),p.SQLITE_MISUSE,"Invalid 3rd argument type for sqlite3_bind_text().");return A(re,W,N,J,p.SQLITE_WASM_DEALLOC)}catch(ae){return m.dealloc(N),E.sqlite3__wasm_db_error(p.sqlite3_db_handle(re),ae)}},p.sqlite3_bind_blob=function Y(re,W,Q,_e,T){if(Y.length!==arguments.length)return O(p.sqlite3_db_handle(re),"sqlite3_bind_blob",Y.length);else if(m.isPtr(Q)||Q===null)return D(re,W,Q,_e,T);else if(Q instanceof ArrayBuffer)Q=new Uint8Array(Q);else if(Array.isArray(Q))Q=Q.join("");let N,J;try{if(E.isBindableTypedArray(Q))N=m.allocFromTypedArray(Q),J=_e>=0?_e:Q.byteLength;else if(typeof Q==="string")[N,J]=m.allocCString(Q);else return E.sqlite3__wasm_db_error(p.sqlite3_db_handle(re),p.SQLITE_MISUSE,"Invalid 3rd argument type for sqlite3_bind_blob().");return D(re,W,N,J,p.SQLITE_WASM_DEALLOC)}catch(ae){return m.dealloc(N),E.sqlite3__wasm_db_error(p.sqlite3_db_handle(re),ae)}}}if(!p.sqlite3_column_text){let A=m.xWrap.argAdapter("sqlite3_stmt*"),D=m.xWrap.argAdapter("int"),Y=m.xWrap.argAdapter("sqlite3_value*"),re=(W,Q)=>m.typedArrayToString(m.heap8u(),Number(W),Number(W)+Q);p.sqlite3_column_text=function(W,Q){let _e=A(W),T=D(Q),N=m.exports.sqlite3_column_text(_e,T);return N?re(N,m.exports.sqlite3_column_bytes(_e,T)):null},p.sqlite3_value_text=function(W){let Q=Y(W),_e=m.exports.sqlite3_value_text(Q);return _e?re(_e,m.exports.sqlite3_value_bytes(Q)):null}}p.sqlite3_config=function(A,...D){if(arguments.length<2)return p.SQLITE_MISUSE;switch(A){case p.SQLITE_CONFIG_COVERING_INDEX_SCAN:case p.SQLITE_CONFIG_MEMSTATUS:case p.SQLITE_CONFIG_SMALL_MALLOC:case p.SQLITE_CONFIG_SORTERREF_SIZE:case p.SQLITE_CONFIG_STMTJRNL_SPILL:case p.SQLITE_CONFIG_URI:return m.exports.sqlite3__wasm_config_i(A,D[0]);case p.SQLITE_CONFIG_LOOKASIDE:return m.exports.sqlite3__wasm_config_ii(A,D[0],D[1]);case p.SQLITE_CONFIG_MEMDB_MAXSIZE:return m.exports.sqlite3__wasm_config_j(A,D[0]);case p.SQLITE_CONFIG_GETMALLOC:case p.SQLITE_CONFIG_GETMUTEX:case p.SQLITE_CONFIG_GETPCACHE2:case p.SQLITE_CONFIG_GETPCACHE:case p.SQLITE_CONFIG_HEAP:case p.SQLITE_CONFIG_LOG:case p.SQLITE_CONFIG_MALLOC:case p.SQLITE_CONFIG_MMAP_SIZE:case p.SQLITE_CONFIG_MULTITHREAD:case p.SQLITE_CONFIG_MUTEX:case p.SQLITE_CONFIG_PAGECACHE:case p.SQLITE_CONFIG_PCACHE2:case p.SQLITE_CONFIG_PCACHE:case p.SQLITE_CONFIG_PCACHE_HDRSZ:case p.SQLITE_CONFIG_PMASZ:case p.SQLITE_CONFIG_SERIALIZED:case p.SQLITE_CONFIG_SINGLETHREAD:case p.SQLITE_CONFIG_SQLLOG:case p.SQLITE_CONFIG_WIN32_HEAPSIZE:default:return p.SQLITE_NOTFOUND}};{let A=new Set;p.sqlite3_auto_extension=function(D){if(D instanceof Function)D=m.installFunction("i(ppp)",D);else if(arguments.length!==1||!m.isPtr(D))return p.SQLITE_MISUSE;let Y=m.exports.sqlite3_auto_extension(D);if(D!==arguments[0])if(Y===0)A.add(D);else m.uninstallFunction(D);return Y},p.sqlite3_cancel_auto_extension=function(D){if(!D||arguments.length!==1||!m.isPtr(D))return 0;return m.exports.sqlite3_cancel_auto_extension(D)},p.sqlite3_reset_auto_extension=function(){m.exports.sqlite3_reset_auto_extension();for(let D of A)m.uninstallFunction(D);A.clear()}}m.xWrap.FuncPtrAdapter.warnOnUse=!0;let Z=g.StructBinder,K=function A(D,Y,re,W=A.installMethodArgcCheck){if(!(D instanceof Z.StructType))l("Usage error: target object is-not-a StructType.");else if(!(re instanceof Function)&&!m.isPtr(re))l("Usage error: expecting a Function or WASM pointer to one.");if(arguments.length===1)return(N,J)=>A(D,N,J,W);if(!A.argcProxy)A.argcProxy=function(N,J,ae,G){return function(...ye){if(ae.length!==arguments.length)l("Argument mismatch for",N.structInfo.name+"::"+J+": Native signature is:",G);return ae.apply(this,ye)}},A.removeFuncList=function(){if(this.ondispose.__removeFuncList)this.ondispose.__removeFuncList.forEach((N,J)=>{if(m.isPtr(N))try{m.uninstallFunction(N)}catch(ae){}}),delete this.ondispose.__removeFuncList};let Q=D.memberSignature(Y);if(Q.length<2)l("Member",Y,"does not have a function pointer signature:",Q);let _e=D.memberKey(Y),T=W&&!m.isPtr(re)?A.argcProxy(D,_e,re,Q):re;if(m.isPtr(T)){if(T&&!m.functionEntry(T))l("Pointer",T,"is not a WASM function table entry.");D[_e]=T}else{let N=m.installFunction(T,Q);if(D[_e]=N,!D.ondispose||!D.ondispose.__removeFuncList)D.addOnDispose("ondispose.__removeFuncList handler",A.removeFuncList),D.ondispose.__removeFuncList=[];D.ondispose.__removeFuncList.push(_e,N)}return(N,J)=>A(D,N,J,W)};K.installMethodArgcCheck=!1;let pe=function(A,D,Y=K.installMethodArgcCheck){let re=new Map;for(let W of Object.keys(D)){let Q=D[W],_e=re.get(Q);if(_e){let T=A.memberKey(W);A[T]=A[A.memberKey(_e)]}else K(A,W,Q,Y),re.set(Q,W)}return A};Z.StructType.prototype.installMethod=function(D,Y,re=K.installMethodArgcCheck){return arguments.length<3&&D&&typeof D==="object"?pe(this,...arguments):K(this,...arguments)},Z.StructType.prototype.installMethods=function(A,D=K.installMethodArgcCheck){return pe(this,A,D)}}),globalThis.sqlite3ApiBootstrap.initializers.push(function(g){let l=(...U)=>{throw new g.SQLite3Error(...U)},p=g.capi,m=g.wasm,E=g.util,w=function(U){return(..._)=>U("sqlite3.oo1:",..._)};g.__isUnderTest?w(console.debug.bind(console)):w(g.config.debug),g.__isUnderTest?w(console.warn.bind(console)):w(g.config.warn),g.__isUnderTest?w(console.error.bind(console)):w(g.config.error);let O=new WeakMap,X=new Set,M=new WeakMap,q=(U,_,S)=>{let I=Object.getOwnPropertyDescriptor(U,_);return I?I.value:S},L=function(U,_){if(_){if(U instanceof A)U=U.pointer;l(_,"sqlite3 result code",_+":",U?p.sqlite3_errmsg(U):p.sqlite3_errstr(_))}return arguments[0]},Z=m.installFunction("i(ippp)",function(U,_,S,I){if(p.SQLITE_TRACE_STMT===U)console.log("SQL TRACE #"+ ++this.counter,"via sqlite3@"+_+"["+p.sqlite3_db_filename(_,null)+"]",m.cstrToJs(I))}.bind({counter:0})),K=Object.create(null),pe=function U(..._){let S=U.normalizeArgs(..._),I;if(I=S["sqlite3*"]){if(!S["sqlite3*:takeOwnership"])X.add(this);this.filename=p.sqlite3_db_filename(I,"main")}else{let{filename:C,vfs:ne,flags:ue}=S;if(typeof C!=="string"&&!m.isPtr(C)||typeof ue!=="string"||ne&&typeof ne!=="string"&&!m.isPtr(ne))g.config.error("Invalid DB ctor args",S,arguments),l("Invalid arguments for DB constructor:",arguments,"opts:",S);let R=0;if(ue.indexOf("c")>=0)R|=p.SQLITE_OPEN_CREATE|p.SQLITE_OPEN_READWRITE;if(ue.indexOf("w")>=0)R|=p.SQLITE_OPEN_READWRITE;if(R===0)R|=p.SQLITE_OPEN_READONLY;R|=p.SQLITE_OPEN_EXRESCODE;let z=m.pstack.pointer;try{let ee=m.pstack.allocPtr(),se=p.sqlite3_open_v2(C,ee,R,ne||m.ptr.null);if(I=m.peekPtr(ee),L(I,se),p.sqlite3_extended_result_codes(I,1),ue.indexOf("t")>=0)p.sqlite3_trace_v2(I,p.SQLITE_TRACE_STMT,Z,I)}catch(ee){if(I)p.sqlite3_close_v2(I);throw ee}finally{m.pstack.restore(z)}this.filename=m.isPtr(C)?m.cstrToJs(C):C}if(O.set(this,I),M.set(this,Object.create(null)),!S["sqlite3*"])try{let C=K[p.sqlite3_js_db_vfs(I)||l("Internal error: cannot get VFS for new db handle.")];if(C)if(C instanceof Function)C(this,g);else L(I,p.sqlite3_exec(I,C,0,0,0))}catch(C){throw this.close(),C}};pe.setVfsPostOpenCallback=function(U,_){if(!(_ instanceof Function))l("dbCtorHelper.setVfsPostOpenCallback() should not be used with a non-function argument.",arguments);K[U]=_},pe.normalizeArgs=function(U=":memory:",_="c",S=null){let I={};if(arguments.length===1&&arguments[0]&&typeof arguments[0]==="object"){if(Object.assign(I,arguments[0]),I.flags===void 0)I.flags="c";if(I.vfs===void 0)I.vfs=null;if(I.filename===void 0)I.filename=":memory:"}else I.filename=U,I.flags=_,I.vfs=S;return I};let A=function(...U){pe.apply(this,U)};A.dbCtorHelper=pe;let D={null:1,number:2,string:3,boolean:4,blob:5};if(m.bigIntEnabled)D.bigint=D.number;let Y=function(){if(D!==arguments[2])l(p.SQLITE_MISUSE,"Do not call the Stmt constructor directly. Use DB.prepare().");if(this.db=arguments[0],O.set(this,arguments[1]),arguments.length>3&&!arguments[3])X.add(this)},re=function(U){if(!U.pointer)l("DB has been closed.");return U},W=function(U,_){if(_!==(_|0)||_<0||_>=U.columnCount)l("Column index",_,"is out of range.");return U},Q=function(U,_){let S=Object.create(null);switch(S.opt=Object.create(null),_.length){case 1:if(typeof _[0]==="string"||E.isSQLableTypedArray(_[0]))S.sql=_[0];else if(Array.isArray(_[0]))S.sql=_[0];else if(_[0]&&typeof _[0]==="object")S.opt=_[0],S.sql=S.opt.sql;break;case 2:S.sql=_[0],S.opt=_[1];break;default:l("Invalid argument count for exec().")}if(S.sql=E.flexibleString(S.sql),typeof S.sql!=="string")l("Missing SQL argument or unsupported SQL value type.");let I=S.opt;switch(I.returnValue){case"resultRows":if(!I.resultRows)I.resultRows=[];S.returnVal=()=>I.resultRows;break;case"saveSql":if(!I.saveSql)I.saveSql=[];S.returnVal=()=>I.saveSql;break;case void 0:case"this":S.returnVal=()=>U;break;default:l("Invalid returnValue value:",I.returnValue)}if(!I.callback&&!I.returnValue&&I.rowMode!==void 0){if(!I.resultRows)I.resultRows=[];S.returnVal=()=>I.resultRows}if(I.callback||I.resultRows)switch(I.rowMode===void 0?"array":I.rowMode){case"object":S.cbArg=(C,ne)=>{if(!ne.columnNames)ne.columnNames=C.getColumnNames([]);let ue=C.get([]),R=Object.create(null);for(let z in ne.columnNames)R[ne.columnNames[z]]=ue[z];return R};break;case"array":S.cbArg=(C)=>C.get([]);break;case"stmt":if(Array.isArray(I.resultRows))l("exec(): invalid rowMode for a resultRows array: must","be one of 'array', 'object',","a result column number, or column name reference.");S.cbArg=(C)=>C;break;default:if(E.isInt32(I.rowMode)){S.cbArg=(C)=>C.get(I.rowMode);break}else if(typeof I.rowMode==="string"&&I.rowMode.length>1&&I.rowMode[0]==="$"){let C=I.rowMode.substr(1);S.cbArg=(ne)=>{let ue=ne.get(Object.create(null))[C];return ue===void 0?l(p.SQLITE_NOTFOUND,"exec(): unknown result column:",C):ue};break}l("Invalid rowMode:",I.rowMode)}return S},_e=(U,_,S,...I)=>{let C=U.prepare(_);try{let ne=C.bind(S).step()?C.get(...I):void 0;return C.reset(),ne}finally{C.finalize()}},T=(U,_,S,I)=>U.exec({sql:_,bind:S,rowMode:I,returnValue:"resultRows"});A.checkRc=(U,_)=>L(U,_),A.prototype={isOpen:function(){return!!this.pointer},affirmOpen:function(){return re(this)},close:function(){let U=this.pointer;if(U){if(this.onclose&&this.onclose.before instanceof Function)try{this.onclose.before(this)}catch(_){}if(Object.keys(M.get(this)).forEach((_,S)=>{if(S&&S.pointer)try{S.finalize()}catch(I){}}),O.delete(this),M.delete(this),!X.delete(this))p.sqlite3_close_v2(U);if(this.onclose&&this.onclose.after instanceof Function)try{this.onclose.after(this)}catch(_){}delete this.filename}},changes:function(U=!1,_=!1){let S=re(this).pointer;if(U)return _?p.sqlite3_total_changes64(S):p.sqlite3_total_changes(S);else return _?p.sqlite3_changes64(S):p.sqlite3_changes(S)},dbFilename:function(U="main"){return p.sqlite3_db_filename(re(this).pointer,U)},dbName:function(U=0){return p.sqlite3_db_name(re(this).pointer,U)},dbVfsName:function(U=0){let _,S=p.sqlite3_js_db_vfs(re(this).pointer,U);if(S){let I=new p.sqlite3_vfs(S);try{_=m.cstrToJs(I.$zName)}finally{I.dispose()}}return _},prepare:function(U){re(this);let _=m.pstack.pointer,S,I;try{S=m.pstack.alloc(8),A.checkRc(this,p.sqlite3_prepare_v2(this.pointer,U,-1,S,null)),I=m.peekPtr(S)}finally{m.pstack.restore(_)}if(!I)l("Cannot prepare empty SQL.");let C=new Y(this,I,D);return M.get(this)[I]=C,C},exec:function(){re(this);let U=Q(this,arguments);if(!U.sql)return l("exec() requires an SQL string.");let _=U.opt,S=_.callback,I=Array.isArray(_.resultRows)?_.resultRows:void 0,C,ne=_.bind,ue=!!(U.cbArg||_.columnNames||I),R=m.scopedAllocPush(),z=Array.isArray(_.saveSql)?_.saveSql:void 0;try{let ee=E.isSQLableTypedArray(U.sql),se=ee?U.sql.byteLength:m.jstrlen(U.sql),be=m.scopedAlloc(2*m.ptr.size+(se+1)),Ae=m.ptr.add(be,m.ptr.size),je=m.ptr.add(Ae,m.ptr.size),Be=m.ptr.add(je,se);if(ee)m.heap8().set(U.sql,je);else m.jstrcpy(U.sql,m.heap8(),je,se,!1);m.poke8(m.ptr.add(je,se),0);while(je&&m.peek8(je)){m.pokePtr([be,Ae],0),A.checkRc(this,p.sqlite3_prepare_v3(this.pointer,je,se,0,be,Ae));let ot=m.peekPtr(be);if(je=m.peekPtr(Ae),se=Number(m.ptr.add(Be,-je)),!ot)continue;if(z)z.push(p.sqlite3_sql(ot).trim());if(C=new Y(this,ot,D),ne&&C.parameterCount)C.bind(ne),ne=null;if(ue&&C.columnCount){let vt=Array.isArray(_.columnNames)?0:1;if(ue=!1,U.cbArg||I){let cr=Object.create(null);for(;C.step();ye.delete(C)){if(vt++===0)C.getColumnNames(cr.columnNames=_.columnNames||[]);ye.add(C);let cn=U.cbArg(C,cr);if(I)I.push(cn);if(S&&S.call(_,cn,C)===!1)break}ye.delete(C)}if(vt===0)C.getColumnNames(_.columnNames)}else C.step();C.reset().finalize(),C=null}}finally{if(C)ye.delete(C),C.finalize();m.scopedAllocPop(R)}return U.returnVal()},createFunction:function(_,S,I){let C=(cr)=>cr instanceof Function;switch(arguments.length){case 1:I=_,_=I.name,S=I.xFunc||0;break;case 2:if(!C(S))I=S,S=I.xFunc||0;break;case 3:break;default:break}if(!I)I={};if(typeof _!=="string")l("Invalid arguments: missing function name.");let ne=I.xStep||0,ue=I.xFinal||0,R=I.xValue||0,z=I.xInverse||0,ee=void 0;if(C(S)){if(ee=!1,C(ne)||C(ue))l("Ambiguous arguments: scalar or aggregate?");ne=ue=null}else if(C(ne)){if(!C(ue))l("Missing xFinal() callback for aggregate or window UDF.");S=null}else if(C(ue))l("Missing xStep() callback for aggregate or window UDF.");else l("Missing function-type properties.");if(ee===!1){if(C(R)||C(z))l("xValue and xInverse are not permitted for non-window UDFs.")}else if(C(R)){if(!C(z))l("xInverse must be provided if xValue is.");ee=!0}else if(C(z))l("xValue must be provided if xInverse is.");let se=I.pApp;if(se!==void 0&&se!==null&&!m.isPtr(se))l("Invalid value for pApp property. Must be a legal WASM pointer value.");let be=I.xDestroy||0;if(be&&!C(be))l("xDestroy property must be a function.");let Ae=0;if(q(I,"deterministic"))Ae|=p.SQLITE_DETERMINISTIC;if(q(I,"directOnly"))Ae|=p.SQLITE_DIRECTONLY;if(q(I,"innocuous"))Ae|=p.SQLITE_INNOCUOUS;_=_.toLowerCase();let je=S||ne,Be=q(I,"arity"),ot=typeof Be==="number"?Be:je.length?je.length-1:0,vt;if(ee)vt=p.sqlite3_create_window_function(this.pointer,_,ot,p.SQLITE_UTF8|Ae,se||0,ne,ue,R,z,be);else vt=p.sqlite3_create_function_v2(this.pointer,_,ot,p.SQLITE_UTF8|Ae,se||0,S,ne,ue,be);return A.checkRc(this,vt),this},selectValue:function(U,_,S){return _e(this,U,_,0,S)},selectValues:function(U,_,S){let I=this.prepare(U),C=[];try{I.bind(_);while(I.step())C.push(I.get(0,S));I.reset()}finally{I.finalize()}return C},selectArray:function(U,_){return _e(this,U,_,[])},selectObject:function(U,_){return _e(this,U,_,{})},selectArrays:function(U,_){return T(this,U,_,"array")},selectObjects:function(U,_){return T(this,U,_,"object")},openStatementCount:function(){return this.pointer?Object.keys(M.get(this)).length:0},transaction:function(U){let _="BEGIN";if(arguments.length>1){if(/[^a-zA-Z]/.test(arguments[0]))l(p.SQLITE_MISUSE,"Invalid argument for BEGIN qualifier.");_+=" "+arguments[0],U=arguments[1]}re(this).exec(_);try{let S=U(this);return this.exec("COMMIT"),S}catch(S){throw this.exec("ROLLBACK"),S}},savepoint:function(U){re(this).exec("SAVEPOINT oo1");try{let _=U(this);return this.exec("RELEASE oo1"),_}catch(_){throw this.exec("ROLLBACK to SAVEPOINT oo1; RELEASE SAVEPOINT oo1"),_}},checkRc:function(U){return L(this,U)}},A.wrapHandle=function(U,_=!1){if(!U||!m.isPtr(U))throw new g.SQLite3Error(p.SQLITE_MISUSE,"Argument must be a WASM sqlite3 pointer");return new A({"sqlite3*":U,"sqlite3*:takeOwnership":!!_})};let N=function(U){if(!U.pointer)l("Stmt has been closed.");return U},J=function(U){let _=D[U===null||U===void 0?"null":typeof U];switch(_){case D.boolean:case D.null:case D.number:case D.string:return _;case D.bigint:return m.bigIntEnabled?_:void 0;default:return E.isBindableTypedArray(U)?D.blob:void 0}},ae=function(U){return J(U)||l("Unsupported bind() argument type:",typeof U)},G=function(U,_){let S=typeof _==="number"?_:p.sqlite3_bind_parameter_index(U.pointer,_);if(S===0||!E.isInt32(S))l("Invalid bind() parameter name: "+_);else if(S<1||S>U.parameterCount)l("Bind index",_,"is out of range.");return S},ye=new Set,Ee=new Set,ve=function(U,_){if(ye.has(U))l("Operation is illegal when statement is locked:",_);return U},Te=function U(_,S,I,C){if(ve(N(_),"bind()"),!U._)U._tooBigInt=(ue)=>l("BigInt value is too big to store without precision loss:",ue),U._={string:function(ue,R,z,ee){let[se,be]=m.allocCString(z,!0);return(ee?p.sqlite3_bind_blob:p.sqlite3_bind_text)(ue.pointer,R,se,be,p.SQLITE_WASM_DEALLOC)}};ae(C),S=G(_,S);let ne=0;switch(C===null||C===void 0?D.null:I){case D.null:ne=p.sqlite3_bind_null(_.pointer,S);break;case D.string:ne=U._.string(_,S,C,!1);break;case D.number:{let ue;if(E.isInt32(C))ue=p.sqlite3_bind_int;else if(typeof C==="bigint")if(!E.bigIntFits64(C))U._tooBigInt(C);else if(m.bigIntEnabled)ue=p.sqlite3_bind_int64;else if(E.bigIntFitsDouble(C))C=Number(C),ue=p.sqlite3_bind_double;else U._tooBigInt(C);else if(C=Number(C),m.bigIntEnabled&&Number.isInteger(C))ue=p.sqlite3_bind_int64;else ue=p.sqlite3_bind_double;ne=ue(_.pointer,S,C);break}case D.boolean:ne=p.sqlite3_bind_int(_.pointer,S,C?1:0);break;case D.blob:{if(typeof C==="string"){ne=U._.string(_,S,C,!0);break}else if(C instanceof ArrayBuffer)C=new Uint8Array(C);else if(!E.isBindableTypedArray(C))l("Binding a value as a blob requires","that it be a string, Uint8Array, Int8Array, or ArrayBuffer.");let ue=m.alloc(C.byteLength||1);m.heap8().set(C.byteLength?C:[0],Number(ue)),ne=p.sqlite3_bind_blob(_.pointer,S,ue,C.byteLength,p.SQLITE_WASM_DEALLOC);break}default:g.config.warn("Unsupported bind() argument type:",C),l("Unsupported bind() argument type: "+typeof C)}if(ne)A.checkRc(_.db.pointer,ne);return _};Y.prototype={finalize:function(){let U=this.pointer;if(U){ve(this,"finalize()");let _=X.delete(this)?0:p.sqlite3_finalize(U);return delete M.get(this.db)[U],O.delete(this),ye.delete(this),Ee.delete(this),delete this.parameterCount,delete this.db,_}},clearBindings:function(){return ve(N(this),"clearBindings()"),p.sqlite3_clear_bindings(this.pointer),Ee.delete(this),this},reset:function(U){if(ve(this,"reset()"),U)this.clearBindings();let _=p.sqlite3_reset(N(this).pointer);return Ee.delete(this),L(this.db,_),this},bind:function(){N(this);let U,_;switch(arguments.length){case 1:U=1,_=arguments[0];break;case 2:U=arguments[0],_=arguments[1];break;default:l("Invalid bind() arguments.")}if(_===void 0)return this;else if(!this.parameterCount)l("This statement has no bindable parameters.");if(Ee.delete(this),_===null)return Te(this,U,D.null,_);else if(Array.isArray(_)){if(arguments.length!==1)l("When binding an array, an index argument is not permitted.");return _.forEach((S,I)=>Te(this,I+1,ae(S),S)),this}else if(_ instanceof ArrayBuffer)_=new Uint8Array(_);if(typeof _==="object"&&!E.isBindableTypedArray(_)){if(arguments.length!==1)l("When binding an object, an index argument is not permitted.");return Object.keys(_).forEach((S)=>Te(this,S,ae(_[S]),_[S])),this}else return Te(this,U,ae(_),_);l("Should not reach this point.")},bindAsBlob:function(U,_){if(N(this),arguments.length===1)_=U,U=1;let S=ae(_);if(D.string!==S&&D.blob!==S&&D.null!==S)l("Invalid value type for bindAsBlob()");return Te(this,U,D.blob,_)},step:function(){ve(this,"step()");let U=p.sqlite3_step(N(this).pointer);switch(U){case p.SQLITE_DONE:return Ee.delete(this),!1;case p.SQLITE_ROW:return Ee.add(this),!0;default:Ee.delete(this),g.config.warn("sqlite3_step() rc=",U,p.sqlite3_js_rc_str(U),"SQL =",p.sqlite3_sql(this.pointer)),A.checkRc(this.db.pointer,U)}},stepReset:function(){return this.step(),this.reset()},stepFinalize:function(){try{let U=this.step();return this.reset(),U}finally{try{this.finalize()}catch(U){}}},get:function(U,_){if(!Ee.has(N(this)))l("Stmt.step() has not (recently) returned true.");if(Array.isArray(U)){let S=0,I=this.columnCount;while(S<I)U[S]=this.get(S++);return U}else if(U&&typeof U==="object"){let S=0,I=this.columnCount;while(S<I)U[p.sqlite3_column_name(this.pointer,S)]=this.get(S++);return U}switch(W(this,U),_===void 0?p.sqlite3_column_type(this.pointer,U):_){case p.SQLITE_NULL:return null;case p.SQLITE_INTEGER:if(m.bigIntEnabled){let S=p.sqlite3_column_int64(this.pointer,U);if(S>=Number.MIN_SAFE_INTEGER&&S<=Number.MAX_SAFE_INTEGER)return Number(S).valueOf();return S}else{let S=p.sqlite3_column_double(this.pointer,U);if(S>Number.MAX_SAFE_INTEGER||S<Number.MIN_SAFE_INTEGER)l("Integer is out of range for JS integer range: "+S);return E.isInt32(S)?S|0:S}case p.SQLITE_FLOAT:return p.sqlite3_column_double(this.pointer,U);case p.SQLITE_TEXT:return p.sqlite3_column_text(this.pointer,U);case p.SQLITE_BLOB:{let S=p.sqlite3_column_bytes(this.pointer,U),I=p.sqlite3_column_blob(this.pointer,U),C=new Uint8Array(S);if(S){if(C.set(m.heap8u().slice(Number(I),Number(I)+S),0),this.db._blobXfer instanceof Array)this.db._blobXfer.push(C.buffer)}return C}default:l("Don't know how to translate","type of result column #"+U+".")}l("Not reached.")},getInt:function(U){return this.get(U,p.SQLITE_INTEGER)},getFloat:function(U){return this.get(U,p.SQLITE_FLOAT)},getString:function(U){return this.get(U,p.SQLITE_TEXT)},getBlob:function(U){return this.get(U,p.SQLITE_BLOB)},getJSON:function(U){let _=this.get(U,p.SQLITE_STRING);return _===null?_:JSON.parse(_)},getColumnName:function(U){return p.sqlite3_column_name(W(N(this),U).pointer,U)},getColumnNames:function(U=[]){W(N(this),0);let _=this.columnCount;for(let S=0;S<_;++S)U.push(p.sqlite3_column_name(this.pointer,S));return U},getParamIndex:function(U){return N(this).parameterCount?p.sqlite3_bind_parameter_index(this.pointer,U):void 0},getParamName:function(U){return N(this).parameterCount?p.sqlite3_bind_parameter_name(this.pointer,U):void 0},isBusy:function(){return p.sqlite3_stmt_busy(N(this))!==0},isReadOnly:function(){return p.sqlite3_stmt_readonly(N(this))!==0}};{let U={enumerable:!0,get:function(){return O.get(this)},set:()=>l("The pointer property is read-only.")};Object.defineProperty(Y.prototype,"pointer",U),Object.defineProperty(A.prototype,"pointer",U)}Object.defineProperty(Y.prototype,"columnCount",{enumerable:!1,get:function(){return p.sqlite3_column_count(this.pointer)},set:()=>l("The columnCount property is read-only.")}),Object.defineProperty(Y.prototype,"parameterCount",{enumerable:!1,get:function(){return p.sqlite3_bind_parameter_count(this.pointer)},set:()=>l("The parameterCount property is read-only.")}),Y.wrapHandle=function(U,_,S=!1){if(!(U instanceof A)||!U.pointer)throw new g.SQLite3Error(g.SQLITE_MISUSE,"First argument must be an opened sqlite3.oo1.DB instance");if(!_||!m.isPtr(_))throw new g.SQLite3Error(g.SQLITE_MISUSE,"Second argument must be a WASM sqlite3_stmt pointer");return new Y(U,_,D,!!S)},g.oo1={DB:A,Stmt:Y}}),globalThis.sqlite3ApiBootstrap.initializers.push(function(g){let l=g.util;g.initWorker1API=function(){let p=(...Z)=>{throw Error(Z.join(" "))};if(!(globalThis.WorkerGlobalScope instanceof Function))p("initWorker1API() must be run from a Worker thread.");let m=this.sqlite3||p("Missing this.sqlite3 object."),E=m.oo1.DB,w=function(Z){let K=O.idMap.get(Z);if(K)return K;return K="db#"+ ++O.idSeq+":"+Math.floor(Math.random()*1e8)+":"+Math.floor(Math.random()*1e8),O.idMap.set(Z,K),K},O={dbList:[],idSeq:0,idMap:new WeakMap,xfer:[],open:function(Z){let K=new E(Z);if(this.dbs[w(K)]=K,this.dbList.indexOf(K)<0)this.dbList.push(K);return K},close:function(Z,K){if(Z){delete this.dbs[w(Z)];let pe=Z.filename,A=l.sqlite3__wasm_db_vfs(Z.pointer,0);Z.close();let D=this.dbList.indexOf(Z);if(D>=0)this.dbList.splice(D,1);if(K&&pe&&A)l.sqlite3__wasm_vfs_unlink(A,pe)}},post:function(Z,K){if(K&&K.length)globalThis.postMessage(Z,Array.from(K)),K.length=0;else globalThis.postMessage(Z)},dbs:Object.create(null),getDb:function(Z,K=!0){return this.dbs[Z]||(K?p("Unknown (or closed) DB ID:",Z):void 0)}},X=function(Z=O.dbList[0]){return Z&&Z.pointer?Z:p("DB is not opened.")},M=function(Z,K=!0){let pe=O.getDb(Z.dbId,!1)||O.dbList[0];return K?X(pe):pe},q=function(){return O.dbList[0]&&w(O.dbList[0])},L={open:function(Z){let K=Object.create(null),pe=Z.args||Object.create(null);if(pe.simulateError)p("Throwing because of simulateError flag.");let A=Object.create(null);K.vfs=pe.vfs,K.filename=pe.filename||"";let D=O.open(K);return A.filename=D.filename,A.persistent=!!m.capi.sqlite3_js_db_uses_vfs(D.pointer,"opfs"),A.dbId=w(D),A.vfs=D.dbVfsName(),A},close:function(Z){let K=M(Z,!1),pe={filename:K&&K.filename};if(K){let A=Z.args&&typeof Z.args==="object"?!!Z.args.unlink:!1;O.close(K,A)}return pe},exec:function(Z){let K=typeof Z.args==="string"?{sql:Z.args}:Z.args||Object.create(null);if(K.rowMode==="stmt")p("Invalid rowMode for 'exec': stmt mode","does not work in the Worker API.");else if(!K.sql)p("'exec' requires input SQL.");let pe=M(Z);if(K.callback||Array.isArray(K.resultRows))pe._blobXfer=O.xfer;let A=K.callback,D=0,Y=!!K.columnNames;if(typeof A==="string"){if(!Y)K.columnNames=[];K.callback=function(re,W){O.post({type:A,columnNames:K.columnNames,rowNumber:++D,row:re},O.xfer)}}try{let re=K.countChanges?pe.changes(!0,K.countChanges===64):void 0;if(pe.exec(K),re!==void 0)K.changeCount=pe.changes(!0,K.countChanges===64)-re;let W=K.lastInsertRowId?m.capi.sqlite3_last_insert_rowid(pe):void 0;if(W!==void 0)K.lastInsertRowId=W;if(K.callback instanceof Function)K.callback=A,O.post({type:A,columnNames:K.columnNames,rowNumber:null,row:void 0})}finally{if(delete pe._blobXfer,K.callback)K.callback=A}return K},"config-get":function(){let Z=Object.create(null),K=m.config;return["bigIntEnabled"].forEach(function(pe){if(Object.getOwnPropertyDescriptor(K,pe))Z[pe]=K[pe]}),Z.version=m.version,Z.vfsList=m.capi.sqlite3_js_vfs_list(),Z},export:function(Z){let K=M(Z),pe={byteArray:m.capi.sqlite3_js_db_export(K.pointer),filename:K.filename,mimetype:"application/x-sqlite3"};return O.xfer.push(pe.byteArray.buffer),pe},toss:function(Z){p("Testing worker exception")}};globalThis.onmessage=async function(Z){Z=Z.data;let K,pe=Z.dbId,A=Z.type,D=performance.now();try{if(L.hasOwnProperty(A)&&L[A]instanceof Function)K=await L[A](Z);else p("Unknown db worker message type:",Z.type)}catch(Y){if(A="error",K={operation:Z.type,message:Y.message,errorClass:Y.name,input:Z},Y.stack)K.stack=typeof Y.stack==="string"?Y.stack.split(/\n\s*/):Y.stack}if(!pe)pe=K.dbId||q();O.post({type:A,dbId:pe,messageId:Z.messageId,workerReceivedTime:D,workerRespondTime:performance.now(),departureTime:Z.departureTime,result:K},O.xfer)},globalThis.postMessage({type:"sqlite3-api",result:"worker1-ready"})}.bind({sqlite3:g})}),globalThis.sqlite3ApiBootstrap.initializers.push(function(g){let{wasm:l,capi:p}=g,m=g.util.toss3,E=Object.create(null);g.vfs=E,p.sqlite3_vfs.prototype.registerVfs=function(w=!1){if(!(this instanceof g.capi.sqlite3_vfs))m("Expecting a sqlite3_vfs-type argument.");let O=p.sqlite3_vfs_register(this,w?1:0);if(O)m("sqlite3_vfs_register(",this,") failed with rc",O);if(this.pointer!==p.sqlite3_vfs_find(this.$zName))m("BUG: sqlite3_vfs_find(vfs.$zName) failed for just-installed VFS",this);return this},E.installVfs=function(w){let O=0,X=["io","vfs"];for(let M of X){let q=w[M];if(q){if(++O,q.struct.installMethods(q.methods,!!q.applyArgcCheck),M==="vfs"){if(!q.struct.$zName&&typeof q.name==="string")q.struct.addOnDispose(q.struct.$zName=l.allocCString(q.name));q.struct.registerVfs(!!q.asDefault)}}}if(!O)m("Misuse: installVfs() options object requires at least","one of:",X);return this}}),globalThis.sqlite3ApiBootstrap.initializers.push(function(g){if(!g.wasm.exports.sqlite3_declare_vtab)return;let{wasm:l,capi:p}=g,m=g.util.toss3,E=Object.create(null);g.vtab=E;let w=p.sqlite3_index_info;w.prototype.nthConstraint=function(M,q=!1){if(M<0||M>=this.$nConstraint)return!1;let L=l.ptr.add(this.$aConstraint,w.sqlite3_index_constraint.structInfo.sizeof*M);return q?L:new w.sqlite3_index_constraint(L)},w.prototype.nthConstraintUsage=function(M,q=!1){if(M<0||M>=this.$nConstraint)return!1;let L=l.ptr.add(this.$aConstraintUsage,w.sqlite3_index_constraint_usage.structInfo.sizeof*M);return q?L:new w.sqlite3_index_constraint_usage(L)},w.prototype.nthOrderBy=function(M,q=!1){if(M<0||M>=this.$nOrderBy)return!1;let L=l.ptr.add(this.$aOrderBy,w.sqlite3_index_orderby.structInfo.sizeof*M);return q?L:new w.sqlite3_index_orderby(L)};let O=function(M,q){return function(L,Z=!1){if(arguments.length===0)L=new q;if(L instanceof q)return this.set(L.pointer,L),L;else if(!l.isPtr(L))g.SQLite3Error.toss("Invalid argument to",M+"()");let K=this.get(L);if(Z)this.delete(L);return K}.bind(new Map)},X=function(M,q){let L=O(M,q);return Object.assign(Object.create(null),{StructType:q,create:(Z)=>{let K=L();return l.pokePtr(Z,K.pointer),K},get:(Z)=>L(Z),unget:(Z)=>L(Z,!0),dispose:(Z)=>L(Z,!0)?.dispose?.()})};E.xVtab=X("xVtab",p.sqlite3_vtab),E.xCursor=X("xCursor",p.sqlite3_vtab_cursor),E.xIndexInfo=(M)=>new p.sqlite3_index_info(M),E.xError=function M(q,L,Z){if(M.errorReporter instanceof Function)try{M.errorReporter("sqlite3_module::"+q+"(): "+L.message)}catch(pe){}let K;if(L instanceof g.WasmAllocError)K=p.SQLITE_NOMEM;else if(arguments.length>2)K=Z;else if(L instanceof g.SQLite3Error)K=L.resultCode;return K||p.SQLITE_ERROR},E.xError.errorReporter=g.config.error.bind(g.config),E.xRowid=(M,q)=>l.poke(M,q,"i64"),E.setupModule=function(M){let q=!1,L=this instanceof p.sqlite3_module?this:M.struct||(q=new p.sqlite3_module);try{let Z=M.methods||m("Missing 'methods' object.");for(let K of Object.entries({xConnect:"xCreate",xDisconnect:"xDestroy"})){let pe=K[0],A=K[1];if(Z[pe]===!0)Z[pe]=Z[A];else if(Z[A]===!0)Z[A]=Z[pe]}if(M.catchExceptions){let K=function(D,Y){if(["xConnect","xCreate"].indexOf(D)>=0)return function(re,W,Q,_e,T,N){try{return Y(...arguments)||0}catch(J){if(!(J instanceof g.WasmAllocError))l.dealloc(l.peekPtr(N)),l.pokePtr(N,l.allocCString(J.message));return E.xError(D,J)}};else return function(...re){try{return Y(...re)||0}catch(W){return E.xError(D,W)}}},pe=["xCreate","xConnect","xBestIndex","xDisconnect","xDestroy","xOpen","xClose","xFilter","xNext","xEof","xColumn","xRowid","xUpdate","xBegin","xSync","xCommit","xRollback","xFindFunction","xRename","xSavepoint","xRelease","xRollbackTo","xShadowName"],A=Object.create(null);for(let D of pe){let Y=Z[D];if(!(Y instanceof Function))continue;else if(D==="xConnect"&&Z.xCreate===Y)A[D]=Z.xCreate;else if(D==="xCreate"&&Z.xConnect===Y)A[D]=Z.xConnect;else A[D]=K(D,Y)}L.installMethods(A,!1)}else L.installMethods(Z,!!M.applyArgcCheck);if(L.$iVersion===0){let K;if(typeof M.iVersion==="number")K=M.iVersion;else if(L.$xIntegrity)K=4;else if(L.$xShadowName)K=3;else if(L.$xSavePoint||L.$xRelease||L.$xRollbackTo)K=2;else K=1;L.$iVersion=K}}catch(Z){if(q)q.dispose();throw Z}return L},p.sqlite3_module.prototype.setupModule=function(M){return E.setupModule.call(this,M)}}),globalThis.sqlite3ApiBootstrap.initializers.push(function(g){if(g.config.disable?.vfs?.kvvfs)return;let l=g.capi,p=l.sqlite3_kvvfs_methods,m=l.KVVfsFile,E=g.capi.sqlite3_vfs_find("kvvfs");if(delete l.sqlite3_kvvfs_methods,delete l.KVVfsFile,!E)return;let{util:w,wasm:O}=g,X=w.toss3,M=new p(O.exports.sqlite3__wasm_kvvfs_methods());w.assert(32<=M.$nKeySize,"unexpected kvvfsMethods.$nKeySize: "+M.$nKeySize);let q=Object.assign(Object.create(null),{rxJournalSuffix:/-journal$/,zKeyJrnl:O.allocCString("jrnl"),zKeySz:O.allocCString("sz"),keySize:M.$nKeySize,buffer:Object.assign(Object.create(null),{n:M.$nBufferSize,pool:Object.create(null)})});q.memBuffer=(B=0)=>q.buffer.pool[B]??=O.alloc(q.buffer.n),q.memBufferFree=(B)=>{let oe=q.buffer.pool[B];if(oe)O.dealloc(oe),delete q.buffer.pool[B]};let L=()=>{},Z=g.__isUnderTest?(...B)=>g.config.debug?.("kvvfs:",...B):L,K=(...B)=>g.config.warn?.("kvvfs:",...B),pe=(...B)=>g.config.error?.("kvvfs:",...B);class A{#e=Object.create(null);#i=null;#o=0;constructor(){this.clear()}#t(){return this.#i??=Object.keys(this.#e)}key(B){if(B<0||B>=this.#o)return null;return this.#t()[B]}getItem(B){return this.#e[B]??null}setItem(B,oe){if(!(B in this.#e))++this.#o,this.#i=null;this.#e[B]=""+oe}removeItem(B){if(B in this.#e)delete this.#e[B],--this.#o,this.#i=null}clear(){this.#e=Object.create(null),this.#i=null,this.#o=0}get length(){return this.#o}}let D=(B)=>B==="local"||B==="session",Y=(B)=>D(B)?"kvvfs-"+B+"-":"",re=function(B,oe=!1){if(D(B))return;let fe=new Blob([B]).size;if(!fe)X(l.SQLITE_MISUSE,"Empty name is not permitted.");let ge=q.keySize-1;if(q.rxJournalSuffix.test(B)){if(!oe)X(l.SQLITE_MISUSE,"Storage names may not have a '-journal' suffix.")}else if(["-wal","-shm"].filter((Ce)=>B.endsWith(Ce)).length)X(l.SQLITE_MISUSE,"Storage names may not have a -wal or -shm suffix.");else ge-=8;if(fe>ge)X(l.SQLITE_RANGE,"Storage name is too long. Limit =",ge);let De;for(De=0;De<fe;++De){let Ce=B.codePointAt(De);if(Ce<32)X(l.SQLITE_RANGE,"Illegal character ("+Ce+"d) in storage name:",B)}},W=(B,oe=void 0)=>Object.assign(Object.create(null),{jzClass:B,refc:1,deleteAtRefc0:!1,storage:oe||new A,keyPrefix:Y(B),files:[],listeners:void 0}),Q=g.kvvfs=Object.create(null);if(g.__isUnderTest)Q.log=Object.assign(Object.create(null),{xOpen:!1,xClose:!1,xWrite:!1,xRead:!1,xSync:!1,xAccess:!1,xFileControl:!1,xRcrdRead:!1,xRcrdWrite:!1,xRcrdDelete:!1});let _e=function(B){let oe=q.rxJournalSuffix.test(B.jzClass)?B.jzClass.replace(q.rxJournalSuffix,""):B.jzClass+"-journal";if(Q?.log?.xClose&&Z("cleaning up storage handles [",B.jzClass,oe,"]",B),delete q.storagePool[B.jzClass],delete q.storagePool[oe],!g.__isUnderTest)delete B.storage,delete B.refc},T=(B)=>q.storagePool[B.jzClass]=q.storagePool[B.jzClass+"-journal"]=B,N=".";if(q.storagePool=Object.assign(Object.create(null),{[N]:W(N)}),globalThis.Storage){if(globalThis.localStorage instanceof globalThis.Storage)q.storagePool.local=W("local",globalThis.localStorage);if(globalThis.sessionStorage instanceof globalThis.Storage)q.storagePool.session=W("session",globalThis.sessionStorage)}q.builtinStorageNames=Object.keys(q.storagePool);let J=(B)=>q.builtinStorageNames.indexOf(B)>-1;for(let B of Object.keys(q.storagePool)){let oe=q.storagePool[B];q.storagePool[B+"-journal"]=oe}q.setError=(B=void 0,oe=l.SQLITE_ERROR)=>{if(B)return q.lastError=B,B.resultCode|0||oe;return delete q.lastError,0},q.popError=()=>{let B=q.lastError;return delete q.lastError,B};let ae=(B)=>{K("kvvfs.listener handler threw:",B)},G=O.exports.sqlite3__wasm_kvvfs_decode,ye=O.exports.sqlite3__wasm_kvvfs_encode,Ee=async function(B,oe,...fe){try{if(oe.keyPrefix&&fe[0])fe[0]=fe[0].replace(oe.keyPrefix,"");let ge,De,Ce,ze;for(let Ne of oe.listeners){let Me=Object.create(null);Me.storageName=oe.jzClass,Me.type=B,Ne.decodePages;let tt=Ne.events[B];if(tt){if(!Ne.includeJournal&&fe[0]==="jrnl")continue;if(B==="write"&&Ne.decodePages&&+fe[0]>0){if(Me.data=[fe[0]],ze?.[fe[0]]){Me.data[1]=ze[fe[0]];continue}ge??=new TextEncoder("utf-8"),De??=q.memBuffer(10),Ce??=q.memBuffer(11);let lt=ge.encode(fe[1]),Ge=O.heap8u();Ge.set(lt,Number(De)),Ge[O.ptr.addn(De,lt.length)]=0;let At=G(De,Ce,q.buffer.n);if(At>0)ze??=Object.create(null),ze[fe[0]]=Me.data[1]=Ge.slice(Number(Ce),O.ptr.addn(Ce,At));else continue}else Me.data=fe.length?fe.length===1?fe[0]:fe:void 0;try{tt(Me)?.catch?.(ae)}catch(lt){K("notifyListeners [",oe.jzClass,"]",B,lt)}}}}catch(ge){ae(ge)}},ve=(B)=>typeof B==="string"?q.storagePool[B]:q.storagePool[O.cstrToJs(B)],Te=O.exports.sqlite3__wasm_kvvfsMakeKey,U=(B,oe,fe)=>oe&&B.keyPrefix?Te(oe,fe):fe,_=(B,oe,fe)=>O.cstrToJs(U(B,oe,fe)),S=(B)=>+B.storage.getItem(B.keyPrefix+"sz"),I=new Map,C={vfs:Object.create(null),ioDb:Object.create(null),ioJrnl:Object.create(null)},ne=new l.sqlite3_vfs(M.$pVfs),ue=new l.sqlite3_io_methods(M.$pIoDb),R=new l.sqlite3_io_methods(M.$pIoJrnl),z=Object.create(null),ee=Object.assign(Object.create(null),{pFileHandles:I,cache:q,storageForZClass:ve,KVVfsStorage:A,disablePageSizeChange:!0});if(Q.log)Q.internal=ee;let se={recordHandler:{xRcrdRead:(B,oe,fe,ge)=>{try{let De=O.cstrToJs(B),Ce=ve(De);if(!Ce)return-1;let ze=_(Ce,B,oe);Q?.log?.xRcrdRead&&K("xRcrdRead",De,ze,ge,Ce);let Ne=Ce.storage.getItem(ze);if(Ne===null)return-1;let Me=Ne.length;if(ge<=0)return Me;else if(ge===1)return O.poke(fe,0),Me;if(ge+1<Me)X(l.SQLITE_RANGE,"xRcrdRead()",De,ze,"input buffer is too small: need",Me,"but have",ge);let tt=q.memBuffer(0),lt=O.heap8(),Ge;for(Ge=0;Ge<Me;++Ge)lt[O.ptr.add(tt,Ge)]=Ne.codePointAt(Ge)&255;return lt.copyWithin(Number(fe),Number(tt),O.ptr.addn(tt,Ge)),lt[O.ptr.add(fe,Me)]=0,ge}catch(De){return pe("kvrecordRead()",De),q.setError(De),-2}},xRcrdWrite:(B,oe,fe)=>{try{let ge=ve(B),De=_(ge,B,oe),Ce=O.cstrToJs(fe);return Q?.log?.xRcrdWrite&&K("xRcrdWrite",De,ge),ge.storage.setItem(De,Ce),ge.listeners&&Ee("write",ge,De,Ce),0}catch(ge){return pe("kvrecordWrite()",ge),q.setError(ge,l.SQLITE_IOERR)}},xRcrdDelete:(B,oe)=>{try{let fe=ve(B),ge=_(fe,B,oe);return Q?.log?.xRcrdDelete&&K("xRcrdDelete",ge,fe),fe.storage.removeItem(ge),fe.listeners&&Ee("delete",fe,ge),0}catch(fe){return pe("kvrecordDelete()",fe),q.setError(fe,l.SQLITE_IOERR)}}},vfs:{xOpen:function(B,oe,fe,ge,De){q.popError();let Ce;try{if(!oe)Ce=O.allocCString(""+fe+"."+(Math.random()*1e5|0)),oe=Ce;let ze=O.cstrToJs(oe);if(Q?.log?.xOpen&&Z("xOpen",ze,"flags =",ge),re(ze,!0),ge&(l.SQLITE_OPEN_MAIN_DB|l.SQLITE_OPEN_TEMP_DB|l.SQLITE_OPEN_TRANSIENT_DB)&&q.rxJournalSuffix.test(ze))X(l.SQLITE_ERROR,"DB files may not have a '-journal' suffix.");let Ne=ve(ze);if(!Ne&&!(ge&l.SQLITE_OPEN_CREATE))X(l.SQLITE_ERROR,"Storage not found:",ze);let Me=C.vfs.xOpen(B,oe,fe,ge,De);if(Me)return Me;let tt=!!(l.SQLITE_OPEN_DELETEONCLOSE&ge);if(O.isPtr(arguments[1])){if(l.sqlite3_uri_boolean(oe,"delete-on-close",0))tt=!0}let lt=new m(fe);if(w.assert(lt.$zClass,"Missing f.$zClass"),lt.addOnDispose(Ce),Ce=void 0,Ne)++Ne.refc,Ne.files.push(lt),O.poke32(De,ge);else{O.poke32(De,ge|l.SQLITE_OPEN_CREATE),w.assert(!lt.$isJournal,"Opening a journal before its db? "+ze);let Ge=ze.replace(q.rxJournalSuffix,"");Ne=W(Ge),T(Ne),Ne.files.push(lt),Ne.deleteAtRefc0=tt,Q?.log?.xOpen&&Z("xOpen installed storage handle [",Ge,Ge+"-journal","]",Ne)}return I.set(fe,{store:Ne,file:lt,jzClass:ze}),Ne.listeners&&Ee("open",Ne,Ne.files.length),0}catch(ze){return K("xOpen:",ze),q.setError(ze)}finally{Ce&&O.dealloc(Ce)}},xDelete:function(B,oe,fe){q.popError();try{let ge=O.cstrToJs(oe);if(q.rxJournalSuffix.test(ge))z.xRcrdDelete(oe,q.zKeyJrnl);return 0}catch(ge){return K("xDelete",ge),q.setError(ge)}},xAccess:function(B,oe,fe,ge){q.popError();try{let De=ve(oe),Ce=De?.jzClass||O.cstrToJs(oe);if(Q?.log?.xAccess)Z("xAccess",Ce,"flags =",fe,"*pResOut =",O.peek32(ge),"store =",De);if(!De)try{re(Ce)}catch(ze){return O.poke32(ge,0),0}if(De){let ze=De.keyPrefix+(q.rxJournalSuffix.test(Ce)?"jrnl":"1"),Ne=De.storage.getItem(ze)?0:1;O.poke32(ge,Ne)}else O.poke32(ge,0);return 0}catch(De){return pe("xAccess",De),q.setError(De)}},xRandomness:function(B,oe,fe){let ge=O.heap8u(),De=0,Ce=Number(fe);for(;De<oe;++De)ge[Ce+De]=Math.random()*255000&255;return oe},xGetLastError:function(B,oe,fe){let ge=q.popError();if(Z("xGetLastError",ge),ge){let De=O.scopedAllocPush();try{let[Ce,ze]=O.scopedAllocCString(ge.message,!0);if(O.cstrncpy(fe,Ce,oe),ze>oe)O.poke8(O.ptr.add(fe,oe,-1),0);return Z("set xGetLastError",ge.message),ge.resultCode|0||l.SQLITE_IOERR}catch(Ce){return l.SQLITE_NOMEM}finally{O.scopedAllocPop(De)}}return 0}},ioDb:{xClose:function(B){q.popError();try{let oe=I.get(B);if(Q?.log?.xClose&&Z("xClose",B,oe),oe){I.delete(B);let fe=oe.store;if(fe.files=fe.files.filter((ge)=>ge!==oe.file),--fe.refc<=0&&fe.deleteAtRefc0)_e(fe);C.ioDb.xClose(B),oe.file.dispose(),fe.listeners&&Ee("close",fe,fe.files.length)}return 0}catch(oe){return pe("xClose",oe),q.setError(oe)}},xFileControl:function(B,oe,fe){q.popError();try{let ge=I.get(B);if(w.assert(ge,"Missing KVVfsFile handle"),Q?.log?.xFileControl&&Z("xFileControl",ge,"op =",oe),oe===l.SQLITE_FCNTL_PRAGMA&&ee.disablePageSizeChange){let Ce=O.peekPtr(O.ptr.add(fe,O.ptr.size));if(O.cstrToJs(Ce)==="page_size"){Q?.log?.xFileControl&&Z("xFileControl pragma",O.cstrToJs(Ce));let ze=O.peekPtr(O.ptr.add(fe,2*O.ptr.size));if(ze)return Q?.log?.xFileControl&&K("xFileControl pragma",ge,"NOT setting page size to",O.cstrToJs(ze)),ge.file.$szPage=-1,0;else if(ge.file.$szPage>0)return Q?.log?.xFileControl&&K("xFileControl",ge,"getting page size",ge.file.$szPage),O.pokePtr(fe,O.allocCString(""+ge.file.$szPage)),0}}let De=C.ioDb.xFileControl(B,oe,fe);if(De==0&&l.SQLITE_FCNTL_SYNC===oe)ge.store.listeners&&Ee("sync",ge.store,!1);return De}catch(ge){return pe("xFileControl",ge),q.setError(ge)}},xSync:function(B,oe){q.popError();try{let fe=I.get(B);Q?.log?.xSync&&Z("xSync",fe),w.assert(fe,"Missing KVVfsFile handle");let ge=C.ioDb.xSync(B,oe);if(ge==0&&fe.store.listeners)Ee("sync",fe.store,!0);return ge}catch(fe){return pe("xSync",fe),q.setError(fe)}}},ioJrnl:{xClose:!0}};try{w.assert(q.buffer.n>132096,"Heap buffer is not large enough");for(let B of Object.entries(se.recordHandler)){let oe=B[0],fe=B[1];z[oe]=fe,M[M.memberKey(oe)]=O.installFunction(M.memberSignature(oe),fe)}for(let B of Object.entries(se.vfs)){let oe=B[0],fe=B[1],ge=ne.memberKey(oe),De=ne.structInfo.members[oe]||w.toss("Missing pVfs.structInfo[",oe,"]");C.vfs[oe]=O.functionEntry(ne[ge]),ne[ge]=O.installFunction(De.signature,fe)}for(let B of Object.entries(se.ioDb)){let oe=B[0],fe=B[1],ge=ue.memberKey(oe);C.ioDb[oe]=O.functionEntry(ue[ge])||w.toss("Missing native pIoDb[",ge,"]"),ue[ge]=O.installFunction(ue.memberSignature(oe),fe)}for(let B of Object.entries(se.ioJrnl)){let oe=B[0],fe=B[1],ge=R.memberKey(oe);if(C.ioJrnl[oe]=O.functionEntry(R[ge])||w.toss("Missing native pIoJrnl[",ge,"]"),fe===!0)R[ge]=ue[ge]||w.toss("Missing copied pIoDb[",ge,"]");else R[ge]=O.installFunction(R.memberSignature(oe),fe)}}finally{M.dispose(),ne.dispose(),ue.dispose(),R.dispose()}let be=function B(oe){if(oe==="")return B("local")+B("session");let fe=ve(oe);if(!fe)return 0;if(fe.files.length)if(globalThis.localStorage===fe.storage||globalThis.sessionStorage===fe.storage);else X(l.SQLITE_ACCESS,"Cannot clear in-use database storage.");let ge=fe.storage,De=[],Ce,ze=ge.length;for(Ce=0;Ce<ze;++Ce){let Ne=ge.key(Ce);if(!fe.keyPrefix||Ne.startsWith(fe.keyPrefix))De.push(Ne)}return De.forEach((Ne)=>ge.removeItem(Ne)),De.length},Ae=function B(oe){if(oe==="")return B("local")+B("session");let fe=ve(oe);if(!fe)return 0;let ge=fe.storage,De,Ce=0;for(De=0;De<ge.length;++De){let ze=ge.key(De);if(!fe.keyPrefix||ze.startsWith(fe.keyPrefix))Ce+=ze.length,Ce+=ge.getItem(ze).length}return Ce*2},je=function(...oe){let fe;if(oe.length===1&&typeof oe[0]==="object")fe=oe[0];else if(oe.length)fe=Object.assign(Object.create(null),{name:oe[0]});let ge=fe?ve(fe.name):null;if(!ge)X(l.SQLITE_NOTFOUND,"There is no kvvfs storage named",fe?.name);let De=ge.storage,Ce=Object.assign(Object.create(null),{name:ge.jzClass,timestamp:Date.now(),pages:[]}),ze=Object.create(null),Ne=ge.keyPrefix,Me=Ne?/^kvvfs-[^-]+-(\w+)/:void 0,tt=0,lt=De.length;for(;tt<lt;++tt){let Ge=De.key(tt);if(!Ne||Ge.startsWith(Ne)){let At=(Ne?Me.exec(Ge):void 0)?.[1]??Ge;switch(At){case"jrnl":if(fe.includeJournal)Ce.journal=De.getItem(Ge);break;case"sz":Ce.size=+De.getItem(Ge);break;default:if(At=+At,!w.isInt32(At)||At<=0)X(l.SQLITE_RANGE,"Malformed kvvfs key: "+Ge);if(fe.decodePages){let lr=De.getItem(Ge),Un=lr.length,hr=q.memBuffer(0),ln=q.memBuffer(1),Wi=O.heap8u(),Wt=0;for(;Wt<Un;++Wt)Wi[O.ptr.add(hr,Wt)]=lr.codePointAt(Wt)&255;Wi[O.ptr.add(hr,Wt)]=0;let rs=G(hr,ln,q.buffer.n);ze[At]=Wi.slice(Number(ln),O.ptr.addn(ln,rs))}else ze[At]=De.getItem(Ge);break}}}if(fe.decodePages)q.memBufferFree(1);return Object.keys(ze).map((Ge)=>+Ge).sort().forEach((Ge)=>Ce.pages.push(ze[Ge])),Ce},Be=function(B,oe=!1){if(!B?.timestamp||!B.name||B.size===void 0||!Array.isArray(B.pages))X(l.SQLITE_MISUSE,"Malformed export object.");else if(!B.size||B.size!==(B.size|0)||B.size>=2147483647)X(l.SQLITE_RANGE,"Invalid db size: "+B.size);re(B.name);let fe=ve(B.name),ge=!fe;if(fe){if(!oe)X(l.SQLITE_ACCESS,"Storage '"+B.name+"' already exists and","overwrite was not specified.");else if(!fe.files||!fe.jzClass)X(l.SQLITE_ERROR,"Internal storage object",B.name,"seems to be malformed.");else if(fe.files.length)X(l.SQLITE_IOERR_ACCESS,"Cannot import db storage while it is in use.");be(B.name)}else fe=W(B.name);let De=Y(B.name),Ce;try{let ze=fe.storage;if(ze.setItem(De+"sz",B.size),B.journal)ze.setItem(De+"jrnl",B.journal);if(B.pages[0]instanceof Uint8Array)B.pages.forEach((Ne,Me)=>{let tt=Ne.length;Ce??=q.memBuffer(1);let lt=q.memBuffer(0),Ge=O.heap8u();Ge.set(Ne,Number(lt)),Ge[O.ptr.addn(lt,tt)]=0;let At=ye(lt,tt,Ce);w.assert(At<q.buffer.n,"Impossibly long output - possibly smashed the heap"),w.assert(O.peek8(O.ptr.add(Ce,At))===0,"Expecting NUL-terminated encoded output");let lr=O.cstrToJs(Ce);ze.setItem(De+(Me+1),lr)});else if(B.pages[0])B.pages.forEach((Ne,Me)=>ze.setItem(De+(Me+1),Ne));if(ge)T(fe)}catch{if(!ge)try{be(B.name)}catch(ze){}}finally{if(Ce)q.memBufferFree(1)}return this},ot=function(B){let oe=ve(B);if(oe){++oe.refc;return}re(B),T(W(B))},vt=function(B){let oe=ve(B);if(!oe||D(oe.jzClass)||J(oe.jzClass)||q.rxJournalSuffix.test(B))return!1;if(oe.refc>oe.files.length||oe.files.length===0){if(--oe.refc<=0)_e(oe);return!0}return!1},cr=function(B){if(!B||typeof B!=="object")X(l.SQLITE_MISUSE,"Expecting a listener object.");let oe=ve(B.storage);if(!oe)if(B.storage&&B.reserve)ot(B.storage),oe=ve(B.storage),w.assert(oe,"Unexpectedly cannot fetch reserved storage "+B.storage);else X(l.SQLITE_NOTFOUND,"No such storage:",B.storage);if(B.events)(oe.listeners??=[]).push(B)},cn=function(B){let oe=ve(B?.storage);if(oe?.listeners&&B.events){let fe=oe.listeners.length;oe.listeners=oe.listeners.filter((De)=>De!==B);let ge=fe>oe.listeners.length;if(!oe.listeners.length)oe.listeners=void 0;return ge}return!1};if(g.kvvfs.reserve=ot,g.kvvfs.import=Be,g.kvvfs.export=je,g.kvvfs.unlink=vt,g.kvvfs.listen=cr,g.kvvfs.unlisten=cn,g.kvvfs.exists=(B)=>!!ve(B),g.kvvfs.estimateSize=Ae,g.kvvfs.clear=be,globalThis.Storage)l.sqlite3_js_kvvfs_size=(B="")=>Ae(B),l.sqlite3_js_kvvfs_clear=(B="")=>be(B);if(g.oo1?.DB){let B=g.oo1.DB;g.oo1.JsStorageDb=function(fe=g.oo1.JsStorageDb.defaultStorageName){let ge=B.dbCtorHelper.normalizeArgs(...arguments);switch(ge.vfs="kvvfs",ge.filename){case":sessionStorage:":ge.filename="session";break;case":localStorage:":ge.filename="local";break}let De=/(file:(\/\/)?)([^?]+)/.exec(ge.filename);re(De?De[3]:ge.filename),B.dbCtorHelper.call(this,ge)},g.oo1.JsStorageDb.defaultStorageName=q.storagePool.session?"session":N;let oe=g.oo1.JsStorageDb;oe.prototype=Object.create(B.prototype),oe.clearStorage=be,oe.prototype.clearStorage=function(){return oe.clearStorage(this.affirmOpen().dbFilename(),!0)},oe.storageSize=Ae,oe.prototype.storageSize=function(){return oe.storageSize(this.affirmOpen().dbFilename(),!0)}}if(g.__isUnderTest&&g.vtab){let B=Object.assign(Object.create(null),{rowid:{type:"INTEGER"},name:{type:"TEXT"},nRef:{type:"INTEGER"},nOpen:{type:"INTEGER"},isTransient:{type:"INTEGER"},dbSize:{type:"INTEGER"}});Object.keys(B).forEach((ze,Ne)=>B[ze].colId=Ne);let oe=g.vtab,fe=Object.assign(Object.create(null),{row:function(){return q.storagePool[this.names[this.rowid]]}});Object.assign(Object.create(fe),{rowid:0,names:Object.keys(q.storagePool).filter((ze)=>!q.rxJournalSuffix.test(ze))});let ge=function(ze,Ne){let Me=ze instanceof l.sqlite3_vtab_cursor?ze:oe.xCursor.get(ze);if(Ne||!Me.vTabState)Me.vTabState=Object.assign(Object.create(fe),{rowid:0,names:Object.keys(q.storagePool).filter((tt)=>!q.rxJournalSuffix.test(tt))});return Me.vTabState},De=()=>{},Ce=function ze(){return ze.mod??=new g.capi.sqlite3_module().setupModule({catchExceptions:!0,methods:{xConnect:function(Ne,Me,tt,lt,Ge,At){De("xConnect");try{let lr=[];Object.keys(B).forEach((hr)=>{lr.push(hr+" "+B[hr].type)});let Un=l.sqlite3_declare_vtab(Ne,"CREATE TABLE ignored("+lr.join(",")+")");if(Un===0){let hr=oe.xVtab.create(Ge);w.assert(hr===oe.xVtab.get(O.peekPtr(Ge)),"output pointer check failed")}return Un}catch(lr){return oe.xError("xConnect",lr,l.SQLITE_ERROR)}},xCreate:O.ptr.null,xDisconnect:function(Ne){return De("xDisconnect",...arguments),oe.xVtab.dispose(Ne),0},xOpen:function(Ne,Me){return De("xOpen",...arguments),oe.xCursor.create(Me),0},xClose:function(Ne){De("xClose",...arguments);let Me=oe.xCursor.unget(Ne);return delete Me.vTabState,Me.dispose(),0},xNext:function(Ne){De("xNext",...arguments);let Me=oe.xCursor.get(Ne);return++ge(Me).rowid,0},xColumn:function(Ne,Me,tt){De("xColumn",...arguments);let lt=ge(Ne),Ge=lt.row();switch(w.assert(Ge,"Unexpected xColumn call"),tt){case B.rowid.colId:l.sqlite3_result_int(Me,lt.rowid);break;case B.name.colId:l.sqlite3_result_text(Me,Ge.jzClass,-1,l.SQLITE_TRANSIENT);break;case B.nRef.colId:l.sqlite3_result_int(Me,Ge.refc);break;case B.nOpen.colId:l.sqlite3_result_int(Me,Ge.files.length);break;case B.isTransient.colId:l.sqlite3_result_int(Me,!!Ge.deleteAtRefc0);break;case B.dbSize.colId:l.sqlite3_result_int(Me,S(Ge));break;default:return l.sqlite3_result_error(Me,"Invalid column id: "+tt),l.SQLITE_RANGE}return 0},xRowid:function(Ne,Me){De("xRowid",...arguments);let tt=ge(Ne);return oe.xRowid(Me,tt.rowid),0},xEof:function(Ne){let Me=ge(Ne);return De("xEof?="+!Me.row(),...arguments),!Me.row()},xFilter:function(Ne,Me,tt,lt,Ge){return De("xFilter",...arguments),ge(Ne,!0),0},xBestIndex:function(Ne,Me){De("xBestIndex",...arguments);let tt=new l.sqlite3_index_info(Me);return tt.$estimatedRows=q.storagePool.size,tt.$estimatedCost=1,tt.dispose(),0}}})};g.kvvfs.create_module=function(ze,Ne="sqlite_kvvfs"){return l.sqlite3_create_module(ze,Ne,Ce(),O.ptr.null)}}}),globalThis.sqlite3ApiBootstrap.initializers.push(function(g){if(g.config.disable?.vfs?.opfs&&g.config.disable.vfs["opfs-vfs"])return;let l=g.util.toss;g.capi;let p=g.util;g.wasm;let m=g.opfs=Object.create(null);m.thisThreadHasOPFS=()=>globalThis.FileSystemHandle&&globalThis.FileSystemDirectoryHandle&&globalThis.FileSystemFileHandle&&globalThis.FileSystemFileHandle.prototype.createSyncAccessHandle&&navigator?.storage?.getDirectory,m.getRootDir=async function w(){return w.promise??=navigator.storage.getDirectory().then((O)=>(m.rootDirectory=O,O)).catch((O)=>{throw delete w.promise,O})},m.getResolvedPath=function(w,O){let X=new URL(w,"file://irrelevant").pathname;return O?X.split("/").filter((M)=>!!M):X},m.getDirForFilename=async function(O,X=!1){let M=m.getResolvedPath(O,!0),q=M.pop(),L=await m.getRootDir();for(let Z of M)if(Z)L=await L.getDirectoryHandle(Z,{create:!!X});return[L,q]},m.mkdir=async function(w){try{return await m.getDirForFilename(w+"/filepart",!0),!0}catch(O){return!1}},m.entryExists=async function(w){try{let[O,X]=await m.getDirForFilename(w);return await O.getFileHandle(X),!0}catch(O){return!1}},m.randomFilename=function w(O=16){if(!w._chars)w._chars="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ012346789",w._n=w._chars.length;let X=[],M=0;for(;M<O;++M){let q=Math.random()*(w._n*64)%w._n|0;X[M]=w._chars[q]}return X.join("")},m.treeList=async function(){let w=async function X(M,q){q.name=M.name,q.dirs=[],q.files=[];for await(let L of M.values())if(L.kind==="directory"){let Z=Object.create(null);q.dirs.push(Z),await X(L,Z)}else q.files.push(L.name)},O=Object.create(null);return await w(await m.getRootDir(),O),O},m.rmfr=async function(){let w=await m.getRootDir(),O={recurse:!0};for await(let X of w.values())w.removeEntry(X.name,O)},m.unlink=async function(w,O=!1,X=!1){try{let[M,q]=await m.getDirForFilename(w,!1);return await M.removeEntry(q,{recursive:O}),!0}catch(M){if(X)throw Error("unlink(",arguments[0],") failed: "+M.message,{cause:M});return!1}},m.traverse=async function(w){let O={recursive:!0,directory:await m.getRootDir()};if(typeof w==="function")w={callback:w};w=Object.assign(O,w||{}),async function X(M,q){for await(let L of M.values())if(w.callback(L,M,q)===!1)return!1;else if(w.recursive&&L.kind==="directory"){if(await X(L,q+1)===!1)break}}(w.directory,0)};let E=async function(w,O){let[X,M]=await m.getDirForFilename(w,!0),q=await(await X.getFileHandle(M,{create:!0})).createSyncAccessHandle(),L=0,Z,K=!1;try{q.truncate(0);while((Z=await O())!==void 0){if(Z instanceof ArrayBuffer)Z=new Uint8Array(Z);if(!K&&L===0&&Z.byteLength>=15)p.affirmDbHeader(Z),K=!0;q.write(Z,{at:L}),L+=Z.byteLength}if(L<512||L%512!==0)l("Input size",L,"is not correct for an SQLite database.");if(!K){let pe=new Uint8Array(20);q.read(pe,{at:0}),p.affirmDbHeader(pe)}return q.write(new Uint8Array([1,1]),{at:18}),L}catch(pe){throw await q.close(),q=void 0,await X.removeEntry(M).catch(()=>{}),pe}finally{if(q)await q.close()}};m.importDb=async function(w,O){if(O instanceof Function)return E(w,O);if(O instanceof ArrayBuffer)O=new Uint8Array(O);p.affirmIsDb(O);let X=O.byteLength,[M,q]=await m.getDirForFilename(w,!0),L,Z=0;try{if(L=await(await M.getFileHandle(q,{create:!0})).createSyncAccessHandle(),L.truncate(0),Z=L.write(O,{at:0}),Z!=X)l("Expected to write "+X+" bytes but wrote "+Z+".");return L.write(new Uint8Array([1,1]),{at:18}),Z}catch(K){if(L)await L.close(),L=void 0;throw await M.removeEntry(q).catch(()=>{}),K}finally{if(L)await L.close()}},m.vfsInstallationFeatureCheck=function(w){if(!globalThis.SharedArrayBuffer||!globalThis.Atomics)l("Cannot install OPFS: Missing SharedArrayBuffer and/or Atomics.","The server must emit the COOP/COEP response headers to enable those.","See https://sqlite.org/wasm/doc/trunk/persistence.md#coop-coep");else if(typeof WorkerGlobalScope>"u")l("The OPFS sqlite3_vfs cannot run in the main thread","because it requires Atomics.wait().");else if(!globalThis.FileSystemHandle||!globalThis.FileSystemDirectoryHandle||!globalThis.FileSystemFileHandle?.prototype?.createSyncAccessHandle||!navigator?.storage?.getDirectory)l("Missing required OPFS APIs.");else if(w==="opfs-wl"&&!globalThis.Atomics.waitAsync)l("The",w,"VFS requires Atomics.waitAsync(), which is not available.")},m.initOptions=function(O,X){let M=new URL(globalThis.location.href).searchParams;if(M.has(O+"-disable"))return;try{m.vfsInstallationFeatureCheck(O)}catch(q){return}if(X=p.nu(X),X.vfsName=O,X.verbose??=M.has("opfs-verbose")?+M.get("opfs-verbose"):1,X.sanityChecks??=M.has("opfs-sanity-check"),!m.proxyUri){if(m.proxyUri="sqlite3-opfs-async-proxy.js",g.scriptInfo?.sqlite3Dir)m.proxyUri=g.scriptInfo.sqlite3Dir+m.proxyUri}if(X.proxyUri??=m.proxyUri,typeof X.proxyUri==="function")X.proxyUri=X.proxyUri();return m.options=X},m.createVfsState=function(){let w=p.nu(),O=m.options;w.verbose=O.verbose;let X=[g.config.error,g.config.warn,g.config.log],M=O.vfsName||l("Maintenance required: missing VFS name"),q=(G,...ye)=>{if(w.verbose>G)X[G](M+":",...ye)},L=(...G)=>q(2,...G),Z=(...G)=>q(1,...G),K=(...G)=>q(0,...G),pe=g.capi,A=g.wasm,D=w.vfs=new pe.sqlite3_vfs,Y=D.ioMethods=new pe.sqlite3_io_methods;Y.$iVersion=1,D.$iVersion=2,D.$szOsFile=pe.sqlite3_file.structInfo.sizeof,D.$mxPathname=1024,D.$zName=A.allocCString(M),D.addOnDispose("$zName",D.$zName,Y),D.metrics=p.nu({counters:p.nu(),dump:function(){let G,ye=0,Ee=0,ve=0;for(G in w.opIds){let Te=re[G];ye+=Te.count,Ee+=Te.time,ve+=Te.wait,Te.avgTime=Te.count&&Te.time?Te.time/Te.count:0,Te.avgWait=Te.count&&Te.wait?Te.wait/Te.count:0}g.config.log(globalThis.location.href,"metrics for",globalThis.location.href,":",re,`
526
- Total of`,ye,"op(s) for",Ee,"ms (incl. "+ve+" ms of waiting on the async side)"),g.config.log("Serialization metrics:",D.metrics.counters.s11n),D.worker?.postMessage?.({type:"opfs-async-metrics"})},reset:function(){let G,ye=(Te)=>Te.count=Te.time=Te.wait=0,Ee=D.metrics.counters;for(G in w.opIds)ye(Ee[G]=Object.create(null));let ve=Ee.s11n=Object.create(null);ve=ve.serialize=Object.create(null),ve.count=ve.time=0,ve=Ee.s11n.deserialize=Object.create(null),ve.count=ve.time=0}}),w.asyncIdleWaitTime=150,w.asyncS11nExceptions=1,w.fileBufferSize=65536,w.sabS11nOffset=w.fileBufferSize,w.sabS11nSize=D.$mxPathname*2,w.sabIO=new SharedArrayBuffer(w.fileBufferSize+w.sabS11nSize),w.opIds=Object.create(null);{let G=0;w.opIds.whichOp=G++,w.opIds.rc=G++,w.opIds.xAccess=G++,w.opIds.xClose=G++,w.opIds.xDelete=G++,w.opIds.xDeleteNoWait=G++,w.opIds.xFileSize=G++,w.opIds.xLock=G++,w.opIds.xOpen=G++,w.opIds.xRead=G++,w.opIds.xSleep=G++,w.opIds.xSync=G++,w.opIds.xTruncate=G++,w.opIds.xUnlock=G++,w.opIds.xWrite=G++,w.opIds.mkdir=G++,w.opIds["opfs-async-metrics"]=G++,w.opIds["opfs-async-shutdown"]=G++,w.opIds.retry=G++,w.sabOP=new SharedArrayBuffer(G*4)}w.sq3Codes=Object.create(null);for(let G of["SQLITE_ACCESS_EXISTS","SQLITE_ACCESS_READWRITE","SQLITE_BUSY","SQLITE_CANTOPEN","SQLITE_ERROR","SQLITE_IOERR","SQLITE_IOERR_ACCESS","SQLITE_IOERR_CLOSE","SQLITE_IOERR_DELETE","SQLITE_IOERR_FSYNC","SQLITE_IOERR_LOCK","SQLITE_IOERR_READ","SQLITE_IOERR_SHORT_READ","SQLITE_IOERR_TRUNCATE","SQLITE_IOERR_UNLOCK","SQLITE_IOERR_WRITE","SQLITE_LOCK_EXCLUSIVE","SQLITE_LOCK_NONE","SQLITE_LOCK_PENDING","SQLITE_LOCK_RESERVED","SQLITE_LOCK_SHARED","SQLITE_LOCKED","SQLITE_MISUSE","SQLITE_NOTFOUND","SQLITE_OPEN_CREATE","SQLITE_OPEN_DELETEONCLOSE","SQLITE_OPEN_MAIN_DB","SQLITE_OPEN_READONLY","SQLITE_LOCK_NONE","SQLITE_LOCK_SHARED","SQLITE_LOCK_RESERVED","SQLITE_LOCK_PENDING","SQLITE_LOCK_EXCLUSIVE"])w.sq3Codes[G]=pe[G]??l("Maintenance required: not found:",G);w.opfsFlags=Object.assign(Object.create(null),{OPFS_UNLOCK_ASAP:1,OPFS_UNLINK_BEFORE_OPEN:2,defaultUnlockAsap:!1}),D.metrics.reset();let re=D.metrics.counters,W=D.opRun=(G,...ye)=>{let Ee=w.opIds[G]||l(D.vfsName+": Invalid op ID:",G);w.s11n.serialize(...ye),Atomics.store(w.sabOPView,w.opIds.rc,-1),Atomics.store(w.sabOPView,w.opIds.whichOp,Ee),Atomics.notify(w.sabOPView,w.opIds.whichOp);let ve=performance.now();while(Atomics.wait(w.sabOPView,w.opIds.rc,-1)!=="not-equal");let Te=Atomics.load(w.sabOPView,w.opIds.rc);if(re[G].wait+=performance.now()-ve,Te&&w.asyncS11nExceptions){let U=w.s11n.deserialize();if(U)K(G+"() async error:",...U)}return Te},Q=Object.create(null);Q.op=void 0,Q.start=void 0;let _e=D.mTimeStart=(G)=>{Q.start=performance.now(),Q.op=G,++re[G].count},T=D.mTimeEnd=()=>re[Q.op].time+=performance.now()-Q.start,N=D.__openFiles=Object.create(null);D.ioSyncWrappers=p.nu({xCheckReservedLock:function(G,ye){return A.poke(ye,0,"i32"),0},xClose:function(G){_e("xClose");let ye=0,Ee=N[G];if(Ee){if(delete N[G],ye=W("xClose",G),Ee.sq3File)Ee.sq3File.dispose()}return T(),ye},xDeviceCharacteristics:function(G){return pe.SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN},xFileControl:function(G,ye,Ee){return pe.SQLITE_NOTFOUND},xFileSize:function(G,ye){_e("xFileSize");let Ee=W("xFileSize",G);if(Ee==0)try{let ve=w.s11n.deserialize()[0];A.poke(ye,ve,"i64")}catch(ve){K("Unexpected error reading xFileSize() result:",ve),Ee=w.sq3Codes.SQLITE_IOERR}return T(),Ee},xRead:function(G,ye,Ee,ve){_e("xRead");let Te=N[G],U;try{if(U=W("xRead",G,Ee,Number(ve)),U===0||pe.SQLITE_IOERR_SHORT_READ===U)A.heap8u().set(Te.sabView.subarray(0,Ee),Number(ye))}catch(_){K("xRead(",arguments,") failed:",_,Te),U=pe.SQLITE_IOERR_READ}return T(),U},xSync:function(G,ye){_e("xSync");let Ee=W("xSync",G,ye);return T(),Ee},xTruncate:function(G,ye){_e("xTruncate");let Ee=W("xTruncate",G,Number(ye));return T(),Ee},xWrite:function(G,ye,Ee,ve){_e("xWrite");let Te=N[G],U;try{Te.sabView.set(A.heap8u().subarray(Number(ye),Number(ye)+Ee)),U=W("xWrite",G,Ee,Number(ve))}catch(_){K("xWrite(",arguments,") failed:",_,Te),U=pe.SQLITE_IOERR_WRITE}return T(),U}}),D.vfsSyncWrappers={xAccess:function(G,ye,Ee,ve){_e("xAccess");let Te=W("xAccess",A.cstrToJs(ye));return A.poke(ve,Te?0:1,"i32"),T(),0},xCurrentTime:function(G,ye){return A.poke(ye,2440587.5+new Date().getTime()/86400000,"double"),0},xCurrentTimeInt64:function(G,ye){return A.poke(ye,210866760000000+new Date().getTime(),"i64"),0},xDelete:function(G,ye,Ee){_e("xDelete");let ve=W("xDelete",A.cstrToJs(ye),Ee,!1);return T(),ve},xFullPathname:function(G,ye,Ee,ve){return A.cstrncpy(ve,ye,Ee)<Ee?0:pe.SQLITE_CANTOPEN},xGetLastError:function(G,ye,Ee){return g.config.warn("OPFS xGetLastError() has nothing sensible to return."),0},xOpen:function(ye,Ee,ve,Te,U){_e("xOpen");let _=0,S,I;if(!Ee)S=m.randomFilename(),Ee=I=A.allocCString(S);else if(A.isPtr(Ee)){if(pe.sqlite3_uri_boolean(Ee,"opfs-unlock-asap",0))_|=w.opfsFlags.OPFS_UNLOCK_ASAP;if(pe.sqlite3_uri_boolean(Ee,"delete-before-open",0))_|=w.opfsFlags.OPFS_UNLINK_BEFORE_OPEN;S=A.cstrToJs(Ee)}else return g.config.error("Impossible zName value in xOpen?",Ee),pe.SQLITE_CANTOPEN;let C=p.nu({fid:ve,filename:S,sab:new SharedArrayBuffer(w.fileBufferSize),flags:Te,readOnly:!(pe.SQLITE_OPEN_CREATE&Te)&&!!(Te&pe.SQLITE_OPEN_READONLY)}),ne=W("xOpen",ve,S,Te,_);if(ne){if(I)A.dealloc(I)}else{if(C.readOnly)A.poke(U,pe.SQLITE_OPEN_READONLY,"i32");if(N[ve]=C,C.sabView=w.sabFileBufView,C.sq3File=new pe.sqlite3_file(ve),I)C.sq3File.addOnDispose(I);C.sq3File.$pMethods=Y.pointer,C.lockType=pe.SQLITE_LOCK_NONE}return T(),ne}};let J=pe.sqlite3_vfs_find(null);if(J){let G=new pe.sqlite3_vfs(J);D.$xRandomness=G.$xRandomness,D.$xSleep=G.$xSleep,G.dispose()}if(!D.$xRandomness)D.vfsSyncWrappers.xRandomness=function(G,ye,Ee){let ve=A.heap8u(),Te=0,U=Number(Ee);for(;Te<ye;++Te)ve[U+Te]=Math.random()*255000&255;return Te};if(!D.$xSleep)D.vfsSyncWrappers.xSleep=function(G,ye){return _e("xSleep"),Atomics.wait(w.sabOPView,w.opIds.xSleep,0,ye),T(),0};let ae=function(){if(w.s11n)return w.s11n;let G=new TextDecoder,ye=new TextEncoder("utf-8"),Ee=new Uint8Array(w.sabIO,w.sabS11nOffset,w.sabS11nSize),ve=new DataView(w.sabIO,w.sabS11nOffset,w.sabS11nSize);w.s11n=Object.create(null);let Te=Object.create(null);Te.number={id:1,size:8,getter:"getFloat64",setter:"setFloat64"},Te.bigint={id:2,size:8,getter:"getBigInt64",setter:"setBigInt64"},Te.boolean={id:3,size:4,getter:"getInt32",setter:"setInt32"},Te.string={id:4};let U=(S)=>Te[typeof S]||l("Maintenance required: this value type cannot be serialized.",S),_=(S)=>{switch(S){case Te.number.id:return Te.number;case Te.bigint.id:return Te.bigint;case Te.boolean.id:return Te.boolean;case Te.string.id:return Te.string;default:l("Invalid type ID:",S)}};return w.s11n.deserialize=function(S=!1){performance.now();let I=Ee[0],C=I?[]:null;if(I){let ne=[],ue=1,R,z,ee;for(R=0;R<I;++R,++ue)ne.push(_(Ee[ue]));for(R=0;R<I;++R){let se=ne[R];if(se.getter)ee=ve[se.getter](ue,w.littleEndian),ue+=se.size;else z=ve.getInt32(ue,w.littleEndian),ue+=4,ee=G.decode(Ee.slice(ue,ue+z)),ue+=z;C.push(ee)}}if(S)Ee[0]=0;return C},w.s11n.serialize=function(...S){if(performance.now(),S.length){let I=[],C=0,ne=1;Ee[0]=S.length&255;for(;C<S.length;++C,++ne)I.push(U(S[C])),Ee[ne]=I[C].id;for(C=0;C<S.length;++C){let ue=I[C];if(ue.setter)ve[ue.setter](ne,S[C],w.littleEndian),ne+=ue.size;else{let R=ye.encode(S[C]);ve.setInt32(ne,R.byteLength,w.littleEndian),ne+=4,Ee.set(R,ne),ne+=R.byteLength}}}else Ee[0]=0},w.s11n};return D.initS11n=ae,D.bindVfs=function(G,ye){return Object.assign(D.ioSyncWrappers,G),new Promise(function(Ee,ve){let Te=void 0,U=(R)=>(Te=!0,D.dispose(),ve(R)),_=()=>{try{ye(g,D)}catch(R){return U(R)}return Te=!1,Ee(g)},S=m.options;S.proxyUri+(S.proxyUri.indexOf("?")<0?"?":"&")+M;let I=new URL("sqlite3-opfs-async-proxy.js",import.meta.url);I.searchParams.set("vfs",M);let C=D.worker=new Worker(I.toString()),ne=setTimeout(()=>{if(Te===void 0)U(Error("Timeout while waiting for OPFS async proxy worker."))},4000);C._originalOnError=C.onerror,C.onerror=function(R){K("Error initializing OPFS asyncer:",R),U(Error("Loading OPFS async Worker failed for unknown reasons."))},D.opRun;let ue=function(){let R=A.scopedAllocPush(),z=new pe.sqlite3_file;try{let ee=z.pointer,se=pe.SQLITE_OPEN_CREATE|pe.SQLITE_OPEN_READWRITE|pe.SQLITE_OPEN_MAIN_DB,be=A.scopedAlloc(8),Ae="/sanity/check/file"+randomFilename(8),je=A.scopedAllocCString(Ae),Be;if(w.s11n.serialize("This is ä string."),Be=w.s11n.deserialize(),L("deserialize() says:",Be),Be[0]!=="This is ä string.")l("String d13n error.");if(D.vfsSyncWrappers.xAccess(D.pointer,je,0,be),Be=A.peek(be,"i32"),L("xAccess(",Ae,") exists ?=",Be),Be=D.vfsSyncWrappers.xOpen(D.pointer,je,ee,se,be),L("open rc =",Be,"state.sabOPView[xOpen] =",w.sabOPView[w.opIds.xOpen]),Be!==0){K("open failed with code",Be);return}if(D.vfsSyncWrappers.xAccess(D.pointer,je,0,be),Be=A.peek(be,"i32"),!Be)l("xAccess() failed to detect file.");if(Be=D.ioSyncWrappers.xSync(z.pointer,0),Be)l("sync failed w/ rc",Be);if(Be=D.ioSyncWrappers.xTruncate(z.pointer,1024),Be)l("truncate failed w/ rc",Be);if(A.poke(be,0,"i64"),Be=D.ioSyncWrappers.xFileSize(z.pointer,be),Be)l("xFileSize failed w/ rc",Be);if(L("xFileSize says:",A.peek(be,"i64")),Be=D.ioSyncWrappers.xWrite(z.pointer,je,10,1),Be)l("xWrite() failed!");let ot=A.scopedAlloc(16);Be=D.ioSyncWrappers.xRead(z.pointer,ot,6,2),A.poke(ot+6,0);let vt=A.cstrToJs(ot);if(L("xRead() got:",vt),vt!=="sanity")l("Unexpected xRead() value.");if(D.vfsSyncWrappers.xSleep)L("xSleep()ing before close()ing..."),D.vfsSyncWrappers.xSleep(D.pointer,2000),L("waking up from xSleep()");if(Be=D.ioSyncWrappers.xClose(ee),L("xClose rc =",Be,"sabOPView =",w.sabOPView),L("Deleting file:",Ae),D.vfsSyncWrappers.xDelete(D.pointer,je,4660),D.vfsSyncWrappers.xAccess(D.pointer,je,0,be),Be=A.peek(be,"i32"),Be)l("Expecting 0 from xAccess(",Ae,") after xDelete().");Z("End of OPFS sanity checks.")}finally{z.dispose(),A.scopedAllocPop(R)}};C.onmessage=function({data:R}){switch(R.type){case"opfs-unavailable":U(Error(R.payload.join(" ")));break;case"opfs-async-loaded":delete w.vfs,C.postMessage({type:"opfs-async-init",args:p.nu(w)});break;case"opfs-async-inited":if(Te===!0)break;clearTimeout(ne),ne=null;try{if(g.vfs.installVfs({io:{struct:D.ioMethods,methods:D.ioSyncWrappers},vfs:{struct:D,methods:D.vfsSyncWrappers}}),w.sabOPView=new Int32Array(w.sabOP),w.sabFileBufView=new Uint8Array(w.sabIO,0,w.fileBufferSize),w.sabS11nView=new Uint8Array(w.sabIO,w.sabS11nOffset,w.sabS11nSize),D.initS11n(),delete D.initS11n,S.sanityChecks)Z("Running sanity checks because of opfs-sanity-check URL arg..."),ue();if(m.thisThreadHasOPFS())m.getRootDir().then((z)=>{C.onerror=C._originalOnError,delete C._originalOnError,L("End of OPFS sqlite3_vfs setup.",D),_()}).catch(U);else _()}catch(z){K(z),U(z)}break;case"debug":Z("debug message from worker:",R);break;default:{let z="Unexpected message from the OPFS async worker: "+JSON.stringify(R);K(z),U(Error(z));break}}}})},w}}),globalThis.sqlite3ApiBootstrap.initializers.push(function(g){if(!g.opfs||g.config.disable?.vfs?.opfs)return;let l=g.util,p=g.opfs||g.util.toss("Missing sqlite3.opfs"),m=async function(E){if(E=p.initOptions("opfs",E),!E)return g;let w=g.capi,O=p.createVfsState().vfs,X=O.metrics.counters,M=O.mTimeStart,q=O.mTimeEnd,L=O.opRun,Z=O.__openFiles;return O.bindVfs(l.nu({xLock:function(K,pe){M("xLock"),++X.xLock.count;let A=Z[K],D=0;if(A.lockType)A.lockType=pe;else if(D=L("xLock",K,pe),D===0)A.lockType=pe;return q(),D},xUnlock:function(K,pe){M("xUnlock"),++X.xUnlock.count;let A=Z[K],D=0;if(w.SQLITE_LOCK_NONE===pe&&A.lockType)D=L("xUnlock",K,pe);if(D===0)A.lockType=pe;return q(),D}}),function(K,pe){if(K.oo1){let A=function(...D){let Y=K.oo1.DB.dbCtorHelper.normalizeArgs(...D);Y.vfs=pe.$zName,K.oo1.DB.dbCtorHelper.call(this,Y)};A.prototype=Object.create(K.oo1.DB.prototype),K.oo1.OpfsDb=A,A.importDb=p.importDb,K.oo1.DB.dbCtorHelper.setVfsPostOpenCallback(O.pointer,function(D,Y){Y.capi.sqlite3_busy_timeout(D,1e4)})}})};globalThis.sqlite3ApiBootstrap.initializersAsync.push(async(E)=>m().catch((w)=>{E.config.warn("Ignoring inability to install 'opfs' sqlite3_vfs:",w)}))}),globalThis.sqlite3ApiBootstrap.initializers.push(function(g){if(g.config.disable?.vfs?.["opfs-sahpool"])return;let l=g.util.toss,p=g.util.toss3,m=Object.create(null),E=g.capi,w=g.util,O=g.wasm,X=4096,M=512,q=4,L=8,Z=M+q,K=M,pe=Z,A=X,D=E.SQLITE_OPEN_MAIN_DB|E.SQLITE_OPEN_MAIN_JOURNAL|E.SQLITE_OPEN_SUPER_JOURNAL|E.SQLITE_OPEN_WAL,Y=E.SQLITE_OPEN_MEMORY,re=".opaque",W=()=>Math.random().toString(36).slice(2),Q=new TextDecoder,_e=new TextEncoder,T=Object.assign(Object.create(null),{name:"opfs-sahpool",directory:void 0,initialCapacity:6,clearOnInit:!1,verbosity:2,forceReinitIfPreviouslyFailed:!1}),N=[g.config.error,g.config.warn,g.config.log];g.config.log;let J=g.config.warn;g.config.error;let ae=new Map,G=(R)=>ae.get(R),ye=(R,z)=>{if(z)ae.set(R,z);else ae.delete(R)},Ee=new Map,ve=(R)=>Ee.get(R),Te=(R,z)=>{if(z)Ee.set(R,z);else Ee.delete(R)},U={xCheckReservedLock:function(R,z){let ee=ve(R);return ee.log("xCheckReservedLock"),ee.storeErr(),O.poke32(z,1),0},xClose:function(R){let z=ve(R);z.storeErr();let ee=z.getOFileForS3File(R);if(ee)try{if(z.log(`xClose ${ee.path}`),z.mapS3FileToOFile(R,!1),ee.sah.flush(),ee.flags&E.SQLITE_OPEN_DELETEONCLOSE)z.deletePath(ee.path)}catch(se){return z.storeErr(se,E.SQLITE_IOERR)}return 0},xDeviceCharacteristics:function(R){return E.SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN},xFileControl:function(R,z,ee){return E.SQLITE_NOTFOUND},xFileSize:function(R,z){let ee=ve(R);ee.log("xFileSize");let se=ee.getOFileForS3File(R).sah.getSize()-A;return O.poke64(z,BigInt(se)),0},xLock:function(R,z){let ee=ve(R);ee.log(`xLock ${z}`),ee.storeErr();let se=ee.getOFileForS3File(R);return se.lockType=z,0},xRead:function(R,z,ee,se){let be=ve(R);be.storeErr();let Ae=be.getOFileForS3File(R);be.log(`xRead ${Ae.path} ${ee} @ ${se}`);try{let je=Ae.sah.read(O.heap8u().subarray(Number(z),Number(z)+ee),{at:A+Number(se)});if(je<ee)return O.heap8u().fill(0,Number(z)+je,Number(z)+ee),E.SQLITE_IOERR_SHORT_READ;return 0}catch(je){return be.storeErr(je,E.SQLITE_IOERR)}},xSectorSize:function(R){return X},xSync:function(R,z){let ee=ve(R);ee.log(`xSync ${z}`),ee.storeErr();let se=ee.getOFileForS3File(R);try{return se.sah.flush(),0}catch(be){return ee.storeErr(be,E.SQLITE_IOERR)}},xTruncate:function(R,z){let ee=ve(R);ee.log(`xTruncate ${z}`),ee.storeErr();let se=ee.getOFileForS3File(R);try{return se.sah.truncate(A+Number(z)),0}catch(be){return ee.storeErr(be,E.SQLITE_IOERR)}},xUnlock:function(R,z){let ee=ve(R);ee.log("xUnlock");let se=ee.getOFileForS3File(R);return se.lockType=z,0},xWrite:function(R,z,ee,se){let be=ve(R);be.storeErr();let Ae=be.getOFileForS3File(R);be.log(`xWrite ${Ae.path} ${ee} ${se}`);try{return ee===Ae.sah.write(O.heap8u().subarray(Number(z),Number(z)+ee),{at:A+Number(se)})?0:l("Unknown write() failure.")}catch(je){return be.storeErr(je,E.SQLITE_IOERR)}}},_=new E.sqlite3_io_methods;_.$iVersion=1,g.vfs.installVfs({io:{struct:_,methods:U}});let S={xAccess:function(R,z,ee,se){let be=G(R);be.storeErr();try{let Ae=be.getPath(z);O.poke32(se,be.hasFilename(Ae)?1:0)}catch(Ae){O.poke32(se,0)}return 0},xCurrentTime:function(R,z){return O.poke(z,2440587.5+new Date().getTime()/86400000,"double"),0},xCurrentTimeInt64:function(R,z){return O.poke(z,210866760000000+new Date().getTime(),"i64"),0},xDelete:function(R,z,ee){let se=G(R);se.log(`xDelete ${O.cstrToJs(z)}`),se.storeErr();try{return se.deletePath(se.getPath(z)),0}catch(be){return se.storeErr(be),E.SQLITE_IOERR_DELETE}},xFullPathname:function(R,z,ee,se){return O.cstrncpy(se,z,ee)<ee?0:E.SQLITE_CANTOPEN},xGetLastError:function(R,z,ee){let se=G(R),be=se.popErr();if(se.log(`xGetLastError ${z} e =`,be),be){let Ae=O.scopedAllocPush();try{let[je,Be]=O.scopedAllocCString(be.message,!0);if(O.cstrncpy(ee,je,z),Be>z)O.poke8(O.ptr.add(ee,z,-1),0)}catch(je){return E.SQLITE_NOMEM}finally{O.scopedAllocPop(Ae)}}return be?be.sqlite3Rc||E.SQLITE_IOERR:0},xOpen:function(z,ee,se,be,Ae){let je=G(z);try{be&=~Y,je.log(`xOpen ${O.cstrToJs(ee)} ${be}`);let Be=ee&&O.peek8(ee)?je.getPath(ee):W(),ot=je.getSAHForPath(Be);if(!ot&&be&E.SQLITE_OPEN_CREATE)if(je.getFileCount()<je.getCapacity())ot=je.nextAvailableSAH(),je.setAssociatedPath(ot,Be,be);else l("SAH pool is full. Cannot create file",Be);if(!ot)l("file not found:",Be);let vt={path:Be,flags:be,sah:ot};je.mapS3FileToOFile(se,vt),vt.lockType=E.SQLITE_LOCK_NONE;let cr=new E.sqlite3_file(se);return cr.$pMethods=_.pointer,cr.dispose(),O.poke32(Ae,be),0}catch(Be){return je.storeErr(Be),E.SQLITE_CANTOPEN}}},I=function(R){if(g.capi.sqlite3_vfs_find(R))p("VFS name is already registered:",R);let z=new E.sqlite3_vfs,ee=E.sqlite3_vfs_find(null),se=ee?new E.sqlite3_vfs(ee):null;if(z.$iVersion=2,z.$szOsFile=E.sqlite3_file.structInfo.sizeof,z.$mxPathname=M,z.addOnDispose(z.$zName=O.allocCString(R),()=>ye(z.pointer,0)),se)z.$xRandomness=se.$xRandomness,z.$xSleep=se.$xSleep,se.dispose();if(!z.$xRandomness&&!S.xRandomness)S.xRandomness=function(be,Ae,je){let Be=O.heap8u(),ot=0,vt=Number(je);for(;ot<Ae;++ot)Be[vt+ot]=Math.random()*255000&255;return ot};if(!z.$xSleep&&!S.xSleep)S.xSleep=(be,Ae)=>0;return g.vfs.installVfs({vfs:{struct:z,methods:S}}),z};class C{vfsDir;#e;#i;#o;#t=new Map;#r=new Map;#s=new Set;#c=new Map;#n=new Uint8Array(Z);#l;#a;#d;constructor(R=Object.create(null)){this.#d=R.verbosity??T.verbosity,this.vfsName=R.name||T.name,this.#a=I(this.vfsName),ye(this.#a.pointer,this),this.vfsDir=R.directory||"."+this.vfsName,this.#l=new DataView(this.#n.buffer,this.#n.byteOffset),this.isReady=this.reset(!!(R.clearOnInit??T.clearOnInit)).then(()=>{if(this.$error)throw this.$error;return this.getCapacity()?Promise.resolve(void 0):this.addCapacity(R.initialCapacity||T.initialCapacity)})}#u(R,...z){if(this.#d>R)N[R](this.vfsName+":",...z)}log(...R){this.#u(2,...R)}warn(...R){this.#u(1,...R)}error(...R){this.#u(0,...R)}getVfs(){return this.#a}getCapacity(){return this.#t.size}getFileCount(){return this.#r.size}getFileNames(){let R=[];for(let z of this.#r.keys())R.push(z);return R}async addCapacity(R){for(let z=0;z<R;++z){let ee=W(),se=await(await this.#i.getFileHandle(ee,{create:!0})).createSyncAccessHandle();this.#t.set(se,ee),this.setAssociatedPath(se,"",0)}return this.getCapacity()}async reduceCapacity(R){let z=0;for(let ee of Array.from(this.#s)){if(z===R||this.getFileCount()===this.getCapacity())break;let se=this.#t.get(ee);ee.close(),await this.#i.removeEntry(se),this.#t.delete(ee),this.#s.delete(ee),++z}return z}releaseAccessHandles(){for(let R of this.#t.keys())R.close();this.#t.clear(),this.#r.clear(),this.#s.clear()}async acquireAccessHandles(R=!1){let z=[];for await(let[ee,se]of this.#i)if(se.kind==="file")z.push([ee,se]);return Promise.all(z.map(async([ee,se])=>{try{let be=await se.createSyncAccessHandle();if(this.#t.set(be,ee),R)be.truncate(A),this.setAssociatedPath(be,"",0);else{let Ae=this.getAssociatedPath(be);if(Ae)this.#r.set(Ae,be);else this.#s.add(be)}}catch(be){throw this.storeErr(be),this.releaseAccessHandles(),be}}))}getAssociatedPath(R){R.read(this.#n,{at:0});let z=this.#l.getUint32(K);if(this.#n[0]&&(z&E.SQLITE_OPEN_DELETEONCLOSE||(z&D)===0))return J(`Removing file with unexpected flags ${z.toString(16)}`,this.#n),this.setAssociatedPath(R,"",0),"";let ee=new Uint32Array(L/4);R.read(ee,{at:pe});let se=this.computeDigest(this.#n,z);if(ee.every((be,Ae)=>be===se[Ae])){let be=this.#n.findIndex((Ae)=>Ae===0);if(be===0)R.truncate(A);return be?Q.decode(this.#n.subarray(0,be)):""}else return J("Disassociating file with bad digest."),this.setAssociatedPath(R,"",0),""}setAssociatedPath(R,z,ee){let se=_e.encodeInto(z,this.#n);if(M<=se.written+1)l("Path too long:",z);if(z&&ee)ee|=Y;this.#n.fill(0,se.written,M),this.#l.setUint32(K,ee);let be=this.computeDigest(this.#n,ee);if(R.write(this.#n,{at:0}),R.write(be,{at:pe}),R.flush(),z)this.#r.set(z,R),this.#s.delete(R);else R.truncate(A),this.#s.add(R)}computeDigest(R,z){if(z&Y){let ee=3735928559,se=1103547991;for(let be of R)ee=Math.imul(ee^be,2654435761),se=Math.imul(se^be,104729);return new Uint32Array([ee>>>0,se>>>0])}else return new Uint32Array([0,0])}async reset(R){await this.isReady;let z=await navigator.storage.getDirectory(),ee;for(let se of this.vfsDir.split("/"))if(se)ee=z,z=await z.getDirectoryHandle(se,{create:!0});return this.#e=z,this.#o=ee,this.#i=await this.#e.getDirectoryHandle(re,{create:!0}),this.releaseAccessHandles(),this.acquireAccessHandles(R)}getPath(R){if(O.isPtr(R))R=O.cstrToJs(R);return(R instanceof URL?R:new URL(R,"file://localhost/")).pathname}deletePath(R){let z=this.#r.get(R);if(z)this.#r.delete(R),this.setAssociatedPath(z,"",0);return!!z}storeErr(R,z){if(R)R.sqlite3Rc=z||E.SQLITE_IOERR,this.error(R);return this.$error=R,z}popErr(){let R=this.$error;return this.$error=void 0,R}nextAvailableSAH(){let[R]=this.#s.keys();return R}getOFileForS3File(R){return this.#c.get(R)}mapS3FileToOFile(R,z){if(z)this.#c.set(R,z),Te(R,this);else this.#c.delete(R),Te(R,!1)}hasFilename(R){return this.#r.has(R)}getSAHForPath(R){return this.#r.get(R)}async removeVfs(){if(!this.#a.pointer||!this.#i)return!1;E.sqlite3_vfs_unregister(this.#a.pointer),this.#a.dispose(),delete m[this.vfsName];try{this.releaseAccessHandles(),await this.#e.removeEntry(re,{recursive:!0}),this.#i=void 0,await this.#o.removeEntry(this.#e.name,{recursive:!0}),this.#e=this.#o=void 0}catch(R){g.config.error(this.vfsName,"removeVfs() failed with no recovery strategy:",R)}return!0}pauseVfs(){if(this.#c.size>0)g.SQLite3Error.toss(E.SQLITE_MISUSE,"Cannot pause VFS",this.vfsName,"because it has opened files.");if(this.#t.size>0)E.sqlite3_vfs_unregister(this.vfsName),this.releaseAccessHandles();return this}isPaused(){return this.#t.size===0}async unpauseVfs(){if(this.#t.size===0)return this.acquireAccessHandles(!1).then(()=>E.sqlite3_vfs_register(this.#a,0),this);return this}exportFile(R){//! Documented elsewhere in this file.
527
- let z=this.#r.get(R)||l("File not found:",R),ee=z.getSize()-A,se=new Uint8Array(ee>0?ee:0);if(ee>0){let be=z.read(se,{at:A});if(be!=ee)l("Expected to read "+ee+" bytes but read "+be+".")}return se}async importDbChunked(R,z){//! Impl for importDb() when its 2nd arg is a function.
528
- let ee=this.#r.get(R)||this.nextAvailableSAH()||l("No available handles to import to.");ee.truncate(0);let se=0,be,Ae=!1;try{while((be=await z())!==void 0){if(be instanceof ArrayBuffer)be=new Uint8Array(be);if(!Ae&&se===0&&be.byteLength>=15)w.affirmDbHeader(be),Ae=!0;ee.write(be,{at:A+se}),se+=be.byteLength}if(se<512||se%512!==0)l("Input size",se,"is not correct for an SQLite database.");if(!Ae){let je=new Uint8Array(20);ee.read(je,{at:0}),w.affirmDbHeader(je)}ee.write(new Uint8Array([1,1]),{at:A+18})}catch(je){throw this.setAssociatedPath(ee,"",0),je}return this.setAssociatedPath(ee,R,E.SQLITE_OPEN_MAIN_DB),se}importDb(R,z){//! Documented elsewhere in this file.
529
- if(z instanceof ArrayBuffer)z=new Uint8Array(z);else if(z instanceof Function)return this.importDbChunked(R,z);let ee=this.#r.get(R)||this.nextAvailableSAH()||l("No available handles to import to."),se=z.byteLength;if(se<512||se%512!=0)l("Byte array size is invalid for an SQLite db.");let be="SQLite format 3";for(let je=0;je<15;++je)if(be.charCodeAt(je)!==z[je])l("Input does not contain an SQLite database header.");let Ae=ee.write(z,{at:A});if(Ae!=se)this.setAssociatedPath(ee,"",0),l("Expected to write "+se+" bytes but wrote "+Ae+".");else ee.write(new Uint8Array([1,1]),{at:A+18}),this.setAssociatedPath(ee,R,E.SQLITE_OPEN_MAIN_DB);return Ae}}class ne{#e;constructor(R){this.#e=R,this.vfsName=R.vfsName}async addCapacity(R){return this.#e.addCapacity(R)}async reduceCapacity(R){return this.#e.reduceCapacity(R)}getCapacity(){return this.#e.getCapacity(this.#e)}getFileCount(){return this.#e.getFileCount()}getFileNames(){return this.#e.getFileNames()}async reserveMinimumCapacity(R){let z=this.#e.getCapacity();return z<R?this.#e.addCapacity(R-z):z}exportFile(R){return this.#e.exportFile(R)}importDb(R,z){return this.#e.importDb(R,z)}async wipeFiles(){return this.#e.reset(!0)}unlink(R){return this.#e.deletePath(R)}async removeVfs(){return this.#e.removeVfs()}pauseVfs(){return this.#e.pauseVfs(),this}async unpauseVfs(){return this.#e.unpauseVfs().then(()=>this)}isPaused(){return this.#e.isPaused()}}let ue=async()=>{let R=await navigator.storage.getDirectory(),z=".opfs-sahpool-sync-check-"+W(),ee=(await(await R.getFileHandle(z,{create:!0})).createSyncAccessHandle()).close();if(await ee,await R.removeEntry(z),ee?.then)l("The local OPFS API is too old for opfs-sahpool:","it has an async FileSystemSyncAccessHandle.close() method.");return!0};g.installOpfsSAHPoolVfs=async function(R=Object.create(null)){R=Object.assign(Object.create(null),T,R||{});let z=R.name;if(R.$testThrowPhase1)throw R.$testThrowPhase1;if(m[z])try{return await m[z]}catch(ee){if(R.forceReinitIfPreviouslyFailed)delete m[z];else throw ee}if(!globalThis.FileSystemHandle||!globalThis.FileSystemDirectoryHandle||!globalThis.FileSystemFileHandle||!globalThis.FileSystemFileHandle.prototype.createSyncAccessHandle||!navigator?.storage?.getDirectory)return m[z]=Promise.reject(Error("Missing required OPFS APIs."));return m[z]=ue().then(async function(){if(R.$testThrowPhase2)throw R.$testThrowPhase2;let ee=new C(R);return ee.isReady.then(async()=>{let se=new ne(ee);if(g.oo1){let be=g.oo1,Ae=ee.getVfs(),je=function(...Be){let ot=be.DB.dbCtorHelper.normalizeArgs(...Be);ot.vfs=Ae.$zName,be.DB.dbCtorHelper.call(this,ot)};je.prototype=Object.create(be.DB.prototype),se.OpfsSAHPoolDb=je}return ee.log("VFS initialized."),se}).catch(async(se)=>{throw await ee.removeVfs().catch(()=>{}),se})}).catch((ee)=>m[z]=Promise.reject(ee))}}),globalThis.sqlite3ApiBootstrap.initializers.push(function(g){if(!g.opfs||g.config.disable?.vfs?.["opfs-wl"])return;let l=g.util;g.util.toss;let p=g.opfs,m="opfs-wl",E=async function(w){if(w=p.initOptions(m,w),!w)return g;g.capi;let O=p.createVfsState().vfs;O.metrics.counters;let{mTimeStart:X,mTimeEnd:M,opRun:q,__openFiles:L}=O;return O.bindVfs(l.nu({xLock:function(Z,K){X("xLock");let pe=L[Z],A=q("xLock",Z,K);if(!A)pe.lockType=K;return M(),A},xUnlock:function(Z,K){X("xUnlock");let pe=L[Z],A=q("xUnlock",Z,K);if(!A)pe.lockType=K;return M(),A}}),function(Z,K){if(Z.oo1){let pe=function(...A){let D=Z.oo1.DB.dbCtorHelper.normalizeArgs(...A);D.vfs=K.$zName,Z.oo1.DB.dbCtorHelper.call(this,D)};pe.prototype=Object.create(Z.oo1.DB.prototype),Z.oo1.OpfsWlDb=pe,pe.importDb=p.importDb}})};globalThis.sqlite3ApiBootstrap.initializersAsync.push(async(w)=>E().catch((O)=>{w.config.warn("Ignoring inability to install the",m,"sqlite3_vfs:",O)}))});try{let g=Object.assign(Object.create(null),{memory:typeof Pr<"u"?Pr:u.wasmMemory,exports:typeof zn<"u"?zn:Object.prototype.hasOwnProperty.call(u,"wasmExports")?u.wasmExports:u.asm},globalThis.sqlite3ApiBootstrap.defaultConfig,globalThis.sqlite3ApiConfig||{});a.debugModule("Bootstrapping lib config",g);let l=globalThis.sqlite3ApiBootstrap(g);return delete globalThis.sqlite3ApiBootstrap,l}catch(g){throw console.error("sqlite3ApiBootstrap() error:",g),g}},Pe)t=n;else t=new Promise((a,u)=>{ie=a,de=u});return t}jc=function(){let e=jc;if(!e)throw Error("Expecting sqlite3InitModule to be defined by the Emscripten build.");let t=globalThis.sqlite3InitModuleState=Object.assign(Object.create(null),{moduleScript:globalThis?.document?.currentScript,isWorker:typeof WorkerGlobalScope<"u",location:globalThis.location,urlParams:globalThis?.location?.href?new URL(globalThis.location.href).searchParams:new URLSearchParams,wasmFilename:"sqlite3.wasm"});if(t.debugModule=t.urlParams.has("sqlite3.debugModule")?(...i)=>console.warn("sqlite3.debugModule:",...i):()=>{},t.urlParams.has("sqlite3.dir"))t.sqlite3Dir=t.urlParams.get("sqlite3.dir")+"/";else if(t.moduleScript){let i=t.moduleScript.src.split("/");i.pop(),t.sqlite3Dir=i.join("/")+"/"}let n=globalThis.sqlite3InitModule=function i(...r){return t.emscriptenLocateFile=r[0]?.locateFile,t.emscriptenInstantiateWasm=r[0]?.instantiateWasm,e(...r).then((o)=>{t.debugModule("sqlite3InitModule() sIMS =",t),t.debugModule("sqlite3InitModule() EmscriptenModule =",o);let s=o.runSQLite3PostLoadInit(t,o,!!i.__isUnderTest);return t.debugModule("sqlite3InitModule() sqlite3 =",s),s}).catch((o)=>{throw console.error("Exception loading sqlite3 module:",o),o})};if(n.ready=e.ready,t.moduleScript){let i=t.moduleScript.src.split("/");i.pop(),t.scriptDir=i.join("/")+"/"}return t.debugModule("extern-post-js.c-pp.js sqlite3InitModuleState =",t),n}();var Y_=jc;class Mc{db;txDepth=0;constructor(e){this.db=e}query(e){let t=this.db;return{get(...n){return t.selectObject(e,Fc(n))??null},all(...n){return t.selectObjects(e,Fc(n))},run(...n){return t.exec({sql:e,bind:Fc(n)}),{changes:t.changes()}}}}exec(e){this.db.exec({sql:e})}transaction(e){return(...t)=>{let n=`mh_tx_${this.txDepth}`;this.exec(this.txDepth===0?"BEGIN":`SAVEPOINT ${n}`),this.txDepth++;try{let i=e(...t);return this.txDepth--,this.exec(this.txDepth===0?"COMMIT":`RELEASE ${n}`),i}catch(i){throw this.txDepth--,this.exec(this.txDepth===0?"ROLLBACK":`ROLLBACK TO ${n}; RELEASE ${n}`),i}}}}function Fc(e){if(e.length===0)return;return e.map((t)=>t===void 0?null:t)}ys();yr();Ot();ut();St();Gi();xm();Ho();Ki();var BS=(e)=>{let t=/^[a-z0-9+]+:\/\/([^/]+)/i.exec(e);return t?t[1]:e};function kR(e,t,n,i,r,o){let s=e.kind==="s3",c=s?i:n,d=Math.max(0,c-e.pushCursor),f=s?["backend"]:["replica"],b=s?e.url:e.nodeId;if(b&&t.includes(b))f.push("blob_anchor");if(s&&e.publish)f.push("publisher");return{kind:s?"bucket":"device",url:e.url,label:e.label??(s?e.bucket??BS(e.url):BS(e.url)),freshness:!e.enabled?"disabled":e.lastStatus==="error"?"error":e.lastSuccessAt==null?"never":d>0?"behind":r-e.lastSuccessAt>o?"stale":"current",syncedAt:e.lastSuccessAt,error:e.lastStatus==="error"?e.lastError??null:null,acknowledgedSeq:e.pushCursor,highWaterSeq:c,lag:d,roles:f}}function o_(e){let t={kind:"self",url:null,label:e.selfLabel??"本机",freshness:"live",syncedAt:null,error:null,acknowledgedSeq:e.globalHighWaterSeq,highWaterSeq:e.globalHighWaterSeq,lag:0,roles:e.blobFullNodes.includes(e.selfNodeId)?["replica","blob_anchor"]:["replica"]},n=(s)=>s==="current"?0:s==="stale"?1:s==="behind"?2:s==="error"?3:s==="never"?4:5,i=e.now??Date.now(),r=e.staleAfterMs??86400000,o=e.peers.map((s)=>kR(s,e.blobFullNodes,e.globalHighWaterSeq,e.ownHighWaterSeq,i,r)).sort((s,c)=>Number(s.kind==="bucket")-Number(c.kind==="bucket")||n(s.freshness)-n(c.freshness)||s.label.localeCompare(c.label));return[t,...o]}function WS(e){let n=o_(e).filter((d)=>d.kind!=="self"&&d.freshness!=="disabled"),i=n.filter((d)=>d.syncedAt!=null&&d.acknowledgedSeq>=d.highWaterSeq),r=i.length?i.reduce((d,f)=>d==null||(f.syncedAt??0)<d?f.syncedAt:d,null):null,o=n.reduce((d,f)=>Math.max(d,f.lag),0),s=[];if(n.length===0)s.push({kind:"no_backup",placeUrl:null,placeLabel:null,message:null});for(let d of n)if(d.freshness==="error")s.push({kind:"peer_error",placeUrl:d.url,placeLabel:d.label,message:d.error});if(e.pendingBlobCount>0)s.push({kind:"pending_blobs",placeUrl:null,placeLabel:null,message:null});for(let d of n)if(d.freshness==="behind")s.push({kind:"behind",placeUrl:d.url,placeLabel:d.label,message:null});for(let d of n)if(d.freshness==="never")s.push({kind:"never_synced",placeUrl:d.url,placeLabel:d.label,message:null});for(let d of n)if(d.freshness==="stale")s.push({kind:"stale",placeUrl:d.url,placeLabel:d.label,message:null});let c={places:1+i.length,pendingBlobCount:e.pendingBlobCount,pendingBlobBytes:e.pendingBlobBytes,pendingChanges:o,oldestSyncedAt:r,issues:s};if(n.length===0)return{state:"no_backup",...c};if(n.some((d)=>d.freshness==="error"))return{state:"peer_error",...c};if(e.pendingBlobCount>0)return{state:"pending_blobs",...c};if(o>0)return{state:"unsynced_changes",...c};if(n.some((d)=>d.freshness==="never"))return{state:"syncing",...c};if(n.some((d)=>d.freshness==="stale"))return{state:"stale",...c};return{state:"healthy",...c}}yr();Gi();Ho();function HS(e){let t=nt(e),n=e.query("SELECT MAX(seq) AS global_seq, MAX(CASE WHEN node_id = ? THEN seq END) AS own_seq FROM crdt_changes").get(t),i=e.query("SELECT value FROM meta WHERE key = 'cfg_sync_interval'").get(),r=Number(i?.value),o=Math.max(900000,Number.isFinite(r)&&r>0?r*3:0),s=Ct(e).filter((f)=>f.kind==="http"||f.kind==="s3").map((f)=>{let b=null,x;if(f.kind==="s3"&&f.config)try{let P=JSON.parse(f.config);b=P.bucket??null,x=P.publish}catch{}return{url:f.url,kind:f.kind,label:f.label,nodeId:f.node_id,enabled:!!f.enabled,lastSuccessAt:f.last_success_at,lastStatus:f.last_status,lastError:f.last_error,pushCursor:f.push_cursor,bucket:b,publish:x}}),c=ny(e),d={selfNodeId:t,selfLabel:Fn(e),peers:s,pendingBlobCount:c.length,pendingBlobBytes:c.reduce((f,b)=>f+b.size,0),blobFullNodes:Vi(e).fullNodes,globalHighWaterSeq:n.global_seq??0,ownHighWaterSeq:n.own_seq??0,staleAfterMs:o};return{state:WS(d),places:o_(d)}}n_();yr();Pi();Vo();function ZS(e,t){let n=nt(e),i=Ar(e,t,"revoked");if(i.audience==="public"&&!sr(e,i.site_id).some((r)=>r.audience==="public"&&r.desired_state==="active"))vc(e,i.site_id,{visibility:"private"});if(i.hosting==="device"&&i.target_ref===n)return Tt(e,{channelId:i.id,status:"revoked",lastVerifiedAt:Date.now()}),{channel:i,needsReconcile:!1};if(i.controller_node_id===n)return{channel:i,needsReconcile:!0};return Tt(e,{channelId:i.id,status:"cleanup_pending",lastError:"等待控制设备上线并应用撤销"}),{channel:i,needsReconcile:!1}}Ri();ut();Ri();wc();function QS(e){return e.replace(/&amp;/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#39;/g,"'")}function DR(e){let t=l_(e),n=u_(e),i=(o)=>d_(e,o);async function r(o,s){let c=await o.text().catch(()=>"");throw Error(`S3 ${s} failed: ${o.status} ${c.slice(0,200)}`)}return{async list(o,s,c){let d=[],f;do{let b=new URL(n);if(b.searchParams.set("list-type","2"),b.searchParams.set("prefix",o),b.searchParams.set("max-keys","1000"),s)b.searchParams.set("start-after",s);if(c)b.searchParams.set("delimiter",c);if(f)b.searchParams.set("continuation-token",f);let x=await t.fetch(b.toString(),{method:"GET"});if(!x.ok)await r(x,"list");let P=await x.text(),F=/<Contents>([\s\S]*?)<\/Contents>/g,ce;while(ce=F.exec(P)){let ie=ce[1],de=/<Key>([^<]+)<\/Key>/.exec(ie)?.[1];if(!de)continue;d.push({key:QS(de),etag:/<ETag>([^<]*)<\/ETag>/.exec(ie)?.[1]})}if(c){let ie=/<CommonPrefixes>([\s\S]*?)<\/CommonPrefixes>/g;while(ce=ie.exec(P)){let de=/<Prefix>([^<]+)<\/Prefix>/.exec(ce[1])?.[1];if(de)d.push({key:QS(de)})}}f=/<IsTruncated>true<\/IsTruncated>/.test(P)?/<NextContinuationToken>([^<]+)<\/NextContinuationToken>/.exec(P)?.[1]:void 0}while(f);return d},async get(o){let s=await t.fetch(i(o));if(s.status===404)return null;if(!s.ok)await r(s,"get");return new Uint8Array(await s.arrayBuffer())},async put(o,s,c){let d={};if(c?.contentType)d["content-type"]=c.contentType;if(c?.ifNoneMatch)d["if-none-match"]="*";if(c?.ifMatch)d["if-match"]=c.ifMatch;let f=await t.fetch(i(o),{method:"PUT",body:s,headers:Object.keys(d).length?d:void 0});if((c?.ifNoneMatch||c?.ifMatch)&&f.status===412)throw new H("conflict",`S3 conditional put failed (${c?.ifMatch?"If-Match":"exists"}): ${o}`);if(!f.ok)await r(f,"put")},async del(o){let s=await t.fetch(i(o),{method:"DELETE"});if(!s.ok&&s.status!==404)await r(s,"delete")}}}Rw(DR);var RR=Math.floor(167772160);function AR(e){if(e instanceof ArrayBuffer)return e;let t=new Uint8Array(e.byteLength);return t.set(e),t.buffer}async function OR(e){let t=await crypto.subtle.digest("SHA-256",AR(e));return[...new Uint8Array(t)].map((n)=>n.toString(16).padStart(2,"0")).join("")}async function f_(e,t){return(await OR(e)).slice(0,t.length)===t}var Sc=null;function PR(){if(Sc)return Sc;return Sc=new Promise((e,t)=>{let n=indexedDB.open("mh-blobs",1);n.onupgradeneeded=()=>{let i=n.result;if(!i.objectStoreNames.contains("spool"))i.createObjectStore("spool",{keyPath:"hash"});if(!i.objectStoreNames.contains("meta"))i.createObjectStore("meta",{keyPath:"hash"})},n.onsuccess=()=>e(n.result),n.onerror=()=>t(n.error)}),Sc}function Rn(e,t,n){return PR().then((i)=>new Promise((r,o)=>{let s=n(i.transaction(e,t).objectStore(e));s.onsuccess=()=>r(s.result),s.onerror=()=>o(s.error)}))}function p_(e){return Rn("spool","readonly",(t)=>t.get(e))}async function YS(){return(await Rn("spool","readonly",(t)=>t.getAll())??[]).filter((t)=>!t.durable)}async function eE(e){await Rn("spool","readwrite",(t)=>t.delete(e))}var tE=(e)=>`/blob/${e}`;async function NR(e,t,n){let i=await Rn("meta","readonly",(o)=>o.get(e)),r={hash:e,size:t,accessed:Date.now(),pinned:i?.pinned??0,content_type:n??i?.content_type};await Rn("meta","readwrite",(o)=>o.put(r))}async function rE(e,t,n){await(await caches.open("mh-blob-v1")).put(tE(e),new Response(t,{headers:{"content-type":n,"cache-control":"public, max-age=31536000, immutable"}})),await NR(e,t.byteLength,n),await CR()}async function CR(){let e=await Rn("meta","readonly",(r)=>r.getAll())??[],t=e.reduce((r,o)=>r+o.size,0);if(t<=209715200)return;let n=await caches.open("mh-blob-v1"),i=e.filter((r)=>!r.pinned).sort((r,o)=>r.accessed-o.accessed);for(let r of i){if(t<=RR)break;await n.delete(tE(r.hash)),await Rn("meta","readwrite",(o)=>o.delete(r.hash)),t-=r.size}}ec();fn();dn();pn();Jn();St();Jn();dn();ut();var qR=1500;function g_(e){return Number(e.slice(0,15))}function qi(e){return new Date(g_(e)).toISOString()}function An(e){let t=e??"",n=null,i=t.indexOf("/");if(i>0)n=t.slice(0,i),t=t.slice(i+1);let r=t.startsWith("repair:")?"repair":t.startsWith("revert:")?"revert":"user";return{actor:n,kind:r}}function m_(e){return An(e).kind}function Li(e){let t=[],n=[];for(let i of e){let r=n[n.length-1];if(r&&(r.txn!==null&&i.txn!==null?r.txn!==i.txn:r.node_id!==i.node_id||g_(i.hlc)-g_(r.hlc)>qR))t.push(n),n=[];n.push(i)}if(n.length)t.push(n);return t}function mr(e){return e!==null&&e!=="0"&&e!=="false"&&e!=="null"}function Ec(e,t){let n=new Map;for(let i of e){if(i.hlc>t)continue;let r=n.get(i.col);if(!r||i.hlc>r.hlc)n.set(i.col,{value:i.value,hlc:i.hlc})}return n}function kc(e,t,n){return e.query(`SELECT ${Vt} FROM crdt_changes WHERE dataset = ? AND row_id = ? ORDER BY hlc`).all(t,n)}function LR(e,t){return e.query("SELECT DISTINCT row_id FROM crdt_changes WHERE dataset = 'doc_blocks' AND col = 'doc_id' AND value = ?").all(JSON.stringify(t)).map((n)=>n.row_id)}function nE(e,t){let n=LR(e,t),i=n.map(()=>"?").join(","),r=n.length?` OR (dataset = 'doc_blocks' AND row_id IN (${i}))`:"";return e.query(`SELECT ${Vt} FROM crdt_changes
530
- WHERE (dataset = 'documents' AND row_id = ?)${r}
531
- ORDER BY hlc`).all(t,...n)}function iE(e,t){let n=nE(e,t);if(!n.length)throw new H("not_found",`no such document: ${t}`);let i=new Map,r=[];for(let o of Li(n)){let s=new Set,c=new Set,d=new Map,f=!1,b=!1,x=0;for(let ie of o)if(ie.dataset==="documents"){if(d.set(ie.col,ie.value),ie.col==="created_hlc")f=!0;else if(ie.col==="__deleted")b=mr(ie.value)}else if(x++,ie.col==="__deleted"&&mr(ie.value))c.add(ie.row_id);else if(ie.col==="text")s.add(ie.row_id);let P=!1,F=0;for(let[ie,de]of d){let Pe=!i.has(ie)||i.get(ie)!==de;if(i.set(ie,de),!Pe)continue;if(F++,ie==="title")P=!0}if(F===0&&x===0)continue;let ce=o[o.length-1];r.push({version:ce.hlc,at:qi(ce.hlc),node_id:ce.node_id,kind:m_(ce.txn),actor:An(ce.txn).actor,changes:o.length,created:f,deleted:b,title_changed:P,blocks_changed:s.size,blocks_deleted:c.size})}return r.reverse()}function __(e,t,n){if(!n)throw new H("invalid_input","missing version cutoff");let i=nE(e,t).filter((f)=>f.hlc<=n);if(!i.length)throw new H("not_found",`no version of document ${t} at or before ${n}`);let r=Ec(i.filter((f)=>f.dataset==="documents"),n),o=(f)=>{let b=r.get(f);return b?.value==null?void 0:JSON.parse(b.value)},s=new Map;for(let f of i){if(f.dataset!=="doc_blocks")continue;(s.get(f.row_id)??s.set(f.row_id,[]).get(f.row_id)).push(f)}let c=[];for(let[f,b]of s){let x=Ec(b,n),P=(ce)=>{let ie=x.get(ce);return ie?.value==null?void 0:JSON.parse(ie.value)};if(P("doc_id")!==t)continue;if(x.get("__deleted")&&mr(x.get("__deleted").value))continue;let F=P("text");if(typeof F!=="string"||!F)continue;c.push({id:f,text:F,order_key:P("order_key")??null,blankAfter:P("blank_after")??0})}c.sort((f,b)=>{if(f.order_key!==b.order_key){if(f.order_key===null)return-1;if(b.order_key===null)return 1;return f.order_key<b.order_key?-1:1}return f.id<b.id?-1:1});let d=s.size?un(c):o("body")??"";return{id:t,title:o("title")??"",body:d,deleted:r.get("__deleted")?mr(r.get("__deleted").value):!1,version:i[i.length-1].hlc}}var oE=Ve(function(t,n,i,r={}){let o=mt(t,n);if(!o&&!t.query("SELECT 1 AS x FROM documents WHERE id = ?").get(n))throw new H("not_found",`no such document: ${n}`);if(r.ifMatch!==void 0&&Ut(t,n)!==r.ifMatch)throw new H("stale",`stale: document changed since ${r.ifMatch}; re-read first`);let s=__(t,n,i);if(s.deleted)throw new H("invalid_input","target version is a deleted state; use doc delete instead");let c=!o;if(!o)xe(t,"documents",n,"__deleted",0),o=mt(t,n);let d={};if(s.title!==o.title)d.title=s.title;if(s.body!==(o.body??""))d.body=s.body;if(Object.keys(d).length)_s(t,n,d);return{id:n,changed:Object.keys(d).length>0||c,restored:s.version,version:Ut(t,n),undeleted:c}},"revert"),xc=new Set(["database_id","created_hlc","order_key","__deleted"]);function sE(e){let t=new Set,n=!1,i=!1,r=!1;for(let s of e)if(s.col==="created_hlc")n=!0;else if(s.col==="__deleted")i=mr(s.value);else if(s.col==="order_key")r=!0;else if(!xc.has(s.col))t.add(s.col);let o=e[e.length-1];return{version:o.hlc,at:qi(o.hlc),node_id:o.node_id,kind:m_(o.txn),actor:An(o.txn).actor,changes:e.length,created:n,deleted:i,fields:[...t],moved:r}}function aE(e,t){let n=kc(e,"records",t);if(!n.length)throw new H("not_found",`no such record: ${t}`);return Li(n).map(sE).reverse()}function cE(e,t,n={}){if(!e.query("SELECT 1 AS x FROM databases WHERE id = ?").get(t))throw new H("not_found",`no such database: ${t}`);let i=e.query("SELECT id FROM properties WHERE database_id = ? AND type = 'text' AND __deleted = 0 ORDER BY position LIMIT 1").get(t)?.id??null,r=e.query(`SELECT ${Vt} FROM crdt_changes
536
+ `)}async hexBodyHash(){let e=this.headers.get("X-Amz-Content-Sha256")||(this.service==="s3"&&this.signQuery?"UNSIGNED-PAYLOAD":null);if(e==null){if(this.body&&typeof this.body!=="string"&&!("byteLength"in this.body))throw Error("body must be a string, ArrayBuffer or ArrayBufferView, unless you include the X-Amz-Content-Sha256 header");e=Ua(await Sg(this.body||""))}return e}}async function co(e,t){let r=await crypto.subtle.importKey("raw",typeof e==="string"?ja.encode(e):e,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return crypto.subtle.sign("HMAC",r,ja.encode(t))}async function Sg(e){return crypto.subtle.digest("SHA-256",typeof e==="string"?ja.encode(e):e)}function Ua(e){let t=new Uint8Array(e),r="";for(let n=0;n<t.length;n++){let o=t[n];r+=xg[o>>>4&15],r+=xg[o&15]}return r}function Tg(e){return e.replace(/[!'()*]/g,(t)=>"%"+t.charCodeAt(0).toString(16).toUpperCase())}function Cv(e,t){let{hostname:r,pathname:n}=e;if(r.endsWith(".on.aws")){let u=r.match(/^[^.]{1,63}\.lambda-url\.([^.]{1,63})\.on\.aws$/);return u!=null?["lambda",u[1]||""]:["",""]}if(r.endsWith(".r2.cloudflarestorage.com"))return["s3","auto"];if(r.endsWith(".backblazeb2.com")){let u=r.match(/^(?:[^.]{1,63}\.)?s3\.([^.]{1,63})\.backblazeb2\.com$/);return u!=null?["s3",u[1]||""]:["",""]}let o=r.replace("dualstack.","").match(/([^.]{1,63})\.(?:([^.]{0,63})\.)?amazonaws\.com(?:\.cn)?$/),s=o&&o[1]||"",a=o&&o[2];if(a==="us-gov")a="us-gov-west-1";else if(a==="s3"||a==="s3-accelerate")a="us-east-1",s="s3";else if(s==="iot")if(r.startsWith("iot."))s="execute-api";else if(r.startsWith("data.jobs.iot."))s="iot-jobs-data";else s=n==="/mqtt"?"iotdevicegateway":"iotdata";else if(s==="autoscaling"){let u=(t.get("X-Amz-Target")||"").split(".")[0];if(u==="AnyScaleFrontendService")s="application-autoscaling";else if(u==="AnyScaleScalingPlannerFrontendService")s="autoscaling-plans"}else if(a==null&&s.startsWith("s3-"))a=s.slice(3).replace(/^fips-|^external-1/,""),s="s3";else if(s.endsWith("-fips"))s=s.slice(0,-5);else if(a&&/-\d$/.test(s)&&!/-\d$/.test(a))[s,a]=[a,s];return[Pv[s]||s,a||""]}var ja,Pv,Nv,xg;var Rg=De(()=>{ja=new TextEncoder,Pv={appstream2:"appstream",cloudhsmv2:"cloudhsm",email:"ses",marketplace:"aws-marketplace",mobile:"AWSMobileHubService",pinpoint:"mobiletargeting",queue:"sqs","git-codecommit":"codecommit","mturk-requester-sandbox":"mturk-requester","personalize-runtime":"personalize"},Nv=new Set(["authorization","content-type","content-length","user-agent","presigned-expires","expect","x-amzn-trace-id","range","connection"]);xg=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"]});function Wa(e){return new Ha({accessKeyId:e.accessKeyId,secretAccessKey:e.secretAccessKey,region:e.region||"auto",service:"s3"})}function Za(e){let t=new URL(e.endpoint).origin;return s_(e)?t:`${t}/${e.bucket}`}function Ga(e,t){return`${Za(e)}/${t.split("/").map(encodeURIComponent).join("/")}`}async function lo(e,t,r){let n=Wa(e),o=new URL(Ga(e,t));return o.searchParams.set("X-Amz-Expires",String(Math.min(Math.max(1,Math.floor(r)),xn))),(await n.sign(o.toString(),{method:"GET",aws:{signQuery:!0}})).url}var xn=604800;var wi=De(()=>{Rg();bn()});function nE(e,t){let r=e.query("SELECT value FROM meta WHERE key = ?").get(t);return r?r.value:null}function ic(e,t,r){if(r===null){e.query("DELETE FROM meta WHERE key = ?").run(t);return}e.query("INSERT INTO meta (key, value) VALUES (?, ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value").run(t,r)}function ki(e){let t=nE(e,"edge_config");if(!t)return null;try{let r=JSON.parse(t);if(!r||typeof r.endpoint!=="string"||typeof r.token!=="string")return null;if(r.cf&&"apiToken"in r.cf)delete r.cf.apiToken,ic(e,"edge_config",JSON.stringify(r));if(!Array.isArray(r.capabilities))r.capabilities=r.cf?["inbox","room"]:["inbox"],ic(e,"edge_config",JSON.stringify(r));return r}catch{return null}}function sc(e,t){if(t?.cf&&"apiToken"in t.cf)throw Error("Cloudflare API token must not be persisted");let r=t?{...t,capabilities:t.capabilities??(t.cf?["inbox","room"]:["inbox"])}:null;ic(e,"edge_config",r?JSON.stringify(r):null)}function uo(e){return e.capabilities??(e.cf?["inbox","room"]:["inbox"])}var Tr="3";function fo(e){let t=(e||"").replace(/^\/+|\/+$/g,"");return t?`${t}/shares`:"shares"}function ih(e){let t=new Set,r=/\/blob\/([0-9a-f]{16,64})/g,n;while(n=r.exec(e))t.add(n[1].toLowerCase());return[...t]}function ch(e,t){let r=new TextEncoder().encode(JSON.stringify(t));return e.encrypt&&e.masterKey?gr(Qt(e.masterKey),r):Promise.resolve(r)}async function cc(e,t){let n=await Ut(e).get(ac(fo(e.prefix),t)).catch(()=>null);if(!n)return null;try{let o=e.encrypt&&e.masterKey?await Hr(Qt(e.masterKey),n):n;return JSON.parse(new TextDecoder().decode(o))}catch{return null}}async function iE(e,t){let r=Ut(t.config),n=fo(t.config.prefix),o={v:1,kind:t.kind,title:""},s=[];if(t.kind==="doc"){let m=nt(e,t.targetId);if(!m)throw new Z("not_found",`no such document: ${t.targetId}`);o.title=m.title,o.body=m.body??"",s=ih(o.body)}else{let m=Pt(e,t.targetId);if(!m)throw new Z("not_found",`no such database: ${t.targetId}`);o.title=m.name;let x=Ct(e,t.targetId).sort((j,Y)=>j.position-Y.position);o.properties=x.map((j)=>({id:j.id,name:j.name,type:j.type}));let D=ln(e,t.targetId);o.records=D.map((j)=>({cells:j.cells})),s=ih(JSON.stringify(D.map((j)=>j.cells)))}let a=[],u={};if(s.length>0&&!$l())throw new Z("network","no blob-bytes resolver is registered for this runtime");for(let m of s){let x=await Ll(e,m);if(!x)continue;let D=ah(n,t.slug,m);await r.put(D,await gr(t.shareKey,x),{contentType:"application/octet-stream"}),a.push(D),u[m]={url:await lo(t.config,D,t.expiresSec),ct:Bl(e,m)??"application/octet-stream"}}if(Object.keys(u).length)o.blobs=u;let _=sh(n,t.slug);return await r.put(_,await gr(t.shareKey,new TextEncoder().encode(JSON.stringify(o))),{contentType:"application/octet-stream"}),a.push(_),{manifestUrl:await lo(t.config,_,t.expiresSec),objects:a,title:o.title}}async function lh(e,t,r,n=xn){let o=await cc(t,r);if(!o)throw new Z("not_found",`no such bucket share: ${r}`);let s=Qt(o.key),a=fh(n),{manifestUrl:u,objects:_,title:m}=await iE(e,{slug:r,kind:o.kind,targetId:o.target_id,config:t,shareKey:s,expiresSec:a}),x=Date.now()+a*1000,D={...o,title:m,presign_exp:x,objects:_,content_updated_at:Date.now()};return await Ut(t).put(ac(fo(t.prefix),r),await ch(t,D),{contentType:"application/octet-stream"}),{manifestUrl:u,presignExp:x,keyB64:o.has_password?void 0:o.key,saltB64:o.salt,title:m}}async function sE(e,t){if(!e.blobs)return e;let r={};for(let[n,o]of Object.entries(e.blobs))r[n]={...o,url:await t(n)};return{...e,blobs:r}}async function uh(e,t,r=xn){let n=await cc(e,t);if(!n)throw new Z("not_found",`no such bucket share: ${t}`);let o=Ut(e),s=fo(e.prefix),a=Qt(n.key),u=fh(r),_=sh(s,t),m=await o.get(_).catch(()=>null);if(!m)throw new Z("not_found",`bucket share ${t} has no manifest`);let x=JSON.parse(new TextDecoder().decode(await Hr(a,m))),D=await sE(x,(Y)=>lo(e,ah(s,t,Y),u));await o.put(_,await gr(a,new TextEncoder().encode(JSON.stringify(D))),{contentType:"application/octet-stream"});let j=Date.now()+u*1000;return await o.put(ac(s,t),await ch(e,{...n,presign_exp:j}),{contentType:"application/octet-stream"}),{manifestUrl:await lo(e,_,u),presignExp:j,keyB64:n.has_password?void 0:n.key,saltB64:n.salt,title:n.title}}async function dh(e){let t=Ut(e),r=fo(e.prefix),o=(await t.list(`${r}/`,void 0,"/").catch(()=>[])).map((a)=>a.key.slice(`${r}/`.length).replace(/\/$/,"")).filter((a)=>a&&!a.includes("/")),s=[];for(let a of o){let u=await cc(e,a);if(u)s.push(u)}return s}function fh(e){return Math.min(Math.max(60,Math.floor(e)),xn)}var ac=(e,t)=>`${e}/${t}/meta.json`,sh=(e,t)=>`${e}/${t}/manifest.bin`,ah=(e,t,r)=>`${e}/${t}/blobs/${r}`;var ph=De(()=>{Ye();pn();qr();Cr();Lr();$n();bn();wi();Xn()});function cE(e,t){if(t)return t.replace(/\/+$/,"");return(e.query("SELECT value FROM meta WHERE key='cfg_share_viewer_url'").get()?.value||aE).replace(/\/+$/,"")}function lE(e,t,r,n){let o=`m=${encodeURIComponent(t)}&`+(r?`k=${r}`:`s=${n}`);return`${e}/#${o}`}async function _h(e,t,r,n){for(let o of Ht(e).filter((s)=>s.kind==="s3"&&s.config)){let s=JSON.parse(o.config),u=(await dh(s).catch(()=>[])).find((x)=>x.slug===t);if(!u)continue;let _=cE(e,r),m=n?.refreshContent?await lh(e,s,t):await uh(s,t);return{slug:t,kind:u.kind,permission:"view",transport:"s3",hosting:"s3",url:lE(_,m.manifestUrl,m.keyB64,m.saltB64),expiresAt:m.presignExp,source:`桶 ${o.label??o.url}`}}throw new Z("not_found",`no such object-storage share: ${t}`)}var aE="https://share.mh.tensorix.org",XD;var gh=De(()=>{oa();Ye();bt();es();vn();pn();qr();oo();wn();ph();wi();ao();XD=jr({slug:at().min(1).max(128),kind:ni(["doc","database","site"]),permission:ni(["view","edit"]),transport:Kb("server"),hosting:ni(["server","room"]),url:at().url(),expiresAt:ri().nullable(),source:at()})});globalThis.sqlite3Worker1Promiser=function e(t=e.defaultConfig){if(arguments.length===1&&typeof arguments[0]==="function"){let D=t;t=Object.assign(Object.create(null),e.defaultConfig),t.onready=D}else t=Object.assign(Object.create(null),e.defaultConfig,t);let r=Object.create(null),n=function(){},o=t.onerror||n,s=t.debug||n,a=t.generateMessageId?void 0:Object.create(null),u=t.generateMessageId||function(D){return D.type+"#"+(a[D.type]=(a[D.type]||0)+1)},_=(...D)=>{throw Error(D.join(" "))};if(!t.worker)t.worker=e.defaultConfig.worker;if(typeof t.worker==="function")t.worker=t.worker();let m,x;return t.worker.onmessage=function(D){D=D.data,s("worker1.onmessage",D);let j=r[D.messageId];if(!j){if(D&&D.type==="sqlite3-api"&&D.result==="worker1-ready"){if(t.onready)t.onready(x);return}if(j=r[D.type],j&&j.onrow){j.onrow(D);return}if(t.onunhandled)t.onunhandled(arguments[0]);else o("sqlite3Worker1Promiser() unhandled worker message:",D);return}switch(delete r[D.messageId],D.type){case"error":j.reject(D);return;case"open":if(!m)m=D.dbId;break;case"close":if(D.dbId===m)m=void 0;break;default:break}try{j.resolve(D)}catch(Y){j.reject(Y)}},x=function(){let D;if(arguments.length===1)D=arguments[0];else if(arguments.length===2)D=Object.create(null),D.type=arguments[0],D.args=arguments[1],D.dbId=D.args.dbId;else _("Invalid arguments for sqlite3Worker1Promiser()-created factory.");if(!D.dbId&&D.type!=="open")D.dbId=m;D.messageId=u(D),D.departureTime=performance.now();let j=Object.create(null);j.message=D;let Y;if(D.type==="exec"&&D.args){if(typeof D.args.callback==="function")Y=D.messageId+":row",j.onrow=D.args.callback,D.args.callback=Y,r[Y]=j;else if(typeof D.args.callback==="string")_("exec callback may not be a string when using the Promise interface.")}let _e=new Promise(function(de,ge){j.resolve=de,j.reject=ge,r[D.messageId]=j,s("Posting",D.type,"message to Worker dbId="+(m||"default")+":",D),t.worker.postMessage(D)});if(Y)_e=_e.finally(()=>delete r[Y]);return _e}};globalThis.sqlite3Worker1Promiser.defaultConfig={worker:function(){return new Worker(new URL("sqlite3-worker1.mjs",import.meta.url),{type:"module"})},onerror:(...e)=>console.error("sqlite3Worker1Promiser():",...e)};globalThis.sqlite3Worker1Promiser.v2=function e(t=e.defaultConfig){let r;if(typeof t=="function")r=t,t={};else if(typeof t?.onready==="function")r=t.onready,delete t.onready;let n=Object.create(null);t=Object.assign(t||Object.create(null),{onready:async function(s){try{if(r)await r(s);n.resolve(s)}catch(a){n.reject(a)}}});let o=new Promise(function(s,a){n.resolve=s,n.reject=a});try{this.original(t)}catch(s){n.reject(s)}return o}.bind({original:sqlite3Worker1Promiser});globalThis.sqlite3Worker1Promiser.v2.defaultConfig=globalThis.sqlite3Worker1Promiser.defaultConfig;var RE=sqlite3Worker1Promiser.v2;delete globalThis.sqlite3Worker1Promiser;async function $i(e={}){var t,r=e,n=!!globalThis.window,o=!!globalThis.WorkerGlobalScope;globalThis.process?.versions?.node&&globalThis.process?.type;var s="./this.program",a=import.meta.url,u="";function _(i){if(r.locateFile)return r.locateFile(i,u);return u+i}var m,x;if(n||o){try{u=new URL(".",a).href}catch{}if(o)x=(i)=>{var l=new XMLHttpRequest;return l.open("GET",i,!1),l.responseType="arraybuffer",l.send(null),new Uint8Array(l.response)};m=async(i)=>{var l=await fetch(i,{credentials:"same-origin"});if(l.ok)return l.arrayBuffer();throw Error(l.status+" : "+l.url)}}var D=console.log.bind(console),j=console.error.bind(console),Y,_e=!1,de,ge,Le=!1;function Ze(){var i=ur.buffer;Ft=new Int8Array(i),Dn=new Int16Array(i),Ar=new Uint8Array(i),Ph=new Uint16Array(i),Je=new Int32Array(i),et=new Uint32Array(i),Oh=new Float32Array(i),Ih=new Float64Array(i),St=new BigInt64Array(i),Nh=new BigUint64Array(i)}function $e(){if(r.wasmMemory)ur=r.wasmMemory;else{var i=r.INITIAL_MEMORY||8388608;ur=new WebAssembly.Memory({initial:i/65536,maximum:32768})}Ze()}function Ue(){if(r.preRun){if(typeof r.preRun=="function")r.preRun=[r.preRun];while(r.preRun.length)qh(r.preRun.shift())}pc(gc)}function tt(){if(Le=!0,!r.noFSInit&&!y.initialized)y.init();yr.init(),tn.__wasm_call_ctors(),y.ignorePermissions=!1}function Rr(){if(r.postRun){if(typeof r.postRun=="function")r.postRun=[r.postRun];while(r.postRun.length)Ch(r.postRun.shift())}pc(_c)}function $t(i){r.onAbort?.(i),i=`Aborted(${i})`,j(i),_e=!0,i+=". Build with -sASSERTIONS for more info.";var l=new WebAssembly.RuntimeError(i);throw ge?.(l),l}var An;function Sh(){if(r.locateFile)return _("sqlite3.wasm");return new URL("sqlite3.wasm",import.meta.url).href}function xh(i){if(i==An&&Y)return new Uint8Array(Y);if(x)return x(i);throw"both async and sync fetching of the wasm failed"}async function Th(i){if(!Y)try{var l=await m(i);return new Uint8Array(l)}catch{}return xh(i)}async function kh(i,l){try{var h=await Th(i);return await WebAssembly.instantiate(h,l)}catch(f){j(`failed to asynchronously prepare wasm: ${f}`),$t(f)}}async function Rh(i,l,h){if(!i)try{var f=fetch(l,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(f,h)}catch(c){j(`wasm streaming compile failed: ${c}`),j("falling back to ArrayBuffer instantiation")}return kh(l,h)}function Ah(){return{env:Oc,wasi_snapshot_preview1:Oc}}async function Dh(){function i(f,c){return tn=f.exports,zm(tn),tn}function l(f){return i(f.instance)}var h=Ah();if(r.instantiateWasm)return new Promise((f,c)=>{r.instantiateWasm(h,(d,p)=>{f(i(d,p))})});return An??=Sh(),l(await Rh(Y,An,h))}var Dn,Je,St,Ft,Oh,Ih,Ph,et,Nh,Ar,pc=(i)=>{while(i.length>0)i.shift()(r)},_c=[],Ch=(i)=>_c.push(i),gc=[],qh=(i)=>gc.push(i),ur,Xe={isAbs:(i)=>i.charAt(0)==="/",splitPath:(i)=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(i).slice(1),normalizeArray:(i,l)=>{var h=0;for(var f=i.length-1;f>=0;f--){var c=i[f];if(c===".")i.splice(f,1);else if(c==="..")i.splice(f,1),h++;else if(h)i.splice(f,1),h--}if(l)for(;h;h--)i.unshift("..");return i},normalize:(i)=>{var l=Xe.isAbs(i),h=i.slice(-1)==="/";if(i=Xe.normalizeArray(i.split("/").filter((f)=>!!f),!l).join("/"),!i&&!l)i=".";if(i&&h)i+="/";return(l?"/":"")+i},dirname:(i)=>{var l=Xe.splitPath(i),h=l[0],f=l[1];if(!h&&!f)return".";if(f)f=f.slice(0,-1);return h+f},basename:(i)=>i&&i.match(/([^\/]+|\/)\/*$/)[1],join:(...i)=>Xe.normalize(i.join("/")),join2:(i,l)=>Xe.normalize(i+"/"+l)},Lh=()=>(i)=>(crypto.getRandomValues(i),0),hc=(i)=>(hc=Lh())(i),Qr={resolve:(...i)=>{var l="",h=!1;for(var f=i.length-1;f>=-1&&!h;f--){var c=f>=0?i[f]:y.cwd();if(typeof c!="string")throw TypeError("Arguments to path.resolve must be strings");else if(!c)return"";l=c+"/"+l,h=Xe.isAbs(c)}return l=Xe.normalizeArray(l.split("/").filter((d)=>!!d),!h).join("/"),(h?"/":"")+l||"."},relative:(i,l)=>{i=Qr.resolve(i).slice(1),l=Qr.resolve(l).slice(1);function h(I){var V=0;for(;V<I.length;V++)if(I[V]!=="")break;var M=I.length-1;for(;M>=0;M--)if(I[M]!=="")break;if(V>M)return[];return I.slice(V,M-V+1)}var f=h(i.split("/")),c=h(l.split("/")),d=Math.min(f.length,c.length),p=d;for(var E=0;E<d;E++)if(f[E]!==c[E]){p=E;break}var b=[];for(var E=p;E<f.length;E++)b.push("..");return b=b.concat(c.slice(p)),b.join("/")}},mc=new TextDecoder,yc=(i,l,h,f)=>{var c=l+h;if(f)return c;while(i[l]&&!(l>=c))++l;return l},On=(i,l=0,h,f)=>{var c=yc(i,l,h,f);return mc.decode(i.buffer?i.subarray(l,c):new Uint8Array(i.slice(l,c)))},Pi=[],_o=(i)=>{var l=0;for(var h=0;h<i.length;++h){var f=i.charCodeAt(h);if(f<=127)l++;else if(f<=2047)l+=2;else if(f>=55296&&f<=57343)l+=4,++h;else l+=3}return l},bc=(i,l,h,f)=>{if(!(f>0))return 0;var c=h,d=h+f-1;for(var p=0;p<i.length;++p){var E=i.codePointAt(p);if(E<=127){if(h>=d)break;l[h++]=E}else if(E<=2047){if(h+1>=d)break;l[h++]=192|E>>6,l[h++]=128|E&63}else if(E<=65535){if(h+2>=d)break;l[h++]=224|E>>12,l[h++]=128|E>>6&63,l[h++]=128|E&63}else{if(h+3>=d)break;l[h++]=240|E>>18,l[h++]=128|E>>12&63,l[h++]=128|E>>6&63,l[h++]=128|E&63,p++}}return l[h]=0,h-c},Ni=(i,l,h)=>{var f=h>0?h:_o(i)+1,c=Array(f),d=bc(i,c,0,c.length);if(l)c.length=d;return c},$h=()=>{if(!Pi.length){var i=null;if(globalThis.window?.prompt){if(i=window.prompt("Input: "),i!==null)i+=`
537
+ `}if(!i)return null;Pi=Ni(i,!0)}return Pi.shift()},yr={ttys:[],init(){},shutdown(){},register(i,l){yr.ttys[i]={input:[],output:[],ops:l},y.registerDevice(i,yr.stream_ops)},stream_ops:{open(i){var l=yr.ttys[i.node.rdev];if(!l)throw new y.ErrnoError(43);i.tty=l,i.seekable=!1},close(i){i.tty.ops.fsync(i.tty)},fsync(i){i.tty.ops.fsync(i.tty)},read(i,l,h,f,c){if(!i.tty||!i.tty.ops.get_char)throw new y.ErrnoError(60);var d=0;for(var p=0;p<f;p++){var E;try{E=i.tty.ops.get_char(i.tty)}catch(b){throw new y.ErrnoError(29)}if(E===void 0&&d===0)throw new y.ErrnoError(6);if(E===null||E===void 0)break;d++,l[h+p]=E}if(d)i.node.atime=Date.now();return d},write(i,l,h,f,c){if(!i.tty||!i.tty.ops.put_char)throw new y.ErrnoError(60);try{for(var d=0;d<f;d++)i.tty.ops.put_char(i.tty,l[h+d])}catch(p){throw new y.ErrnoError(29)}if(f)i.node.mtime=i.node.ctime=Date.now();return d}},default_tty_ops:{get_char(i){return $h()},put_char(i,l){if(l===null||l===10)D(On(i.output)),i.output=[];else if(l!=0)i.output.push(l)},fsync(i){if(i.output?.length>0)D(On(i.output)),i.output=[]},ioctl_tcgets(i){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(i,l,h){return 0},ioctl_tiocgwinsz(i){return[24,80]}},default_tty1_ops:{put_char(i,l){if(l===null||l===10)j(On(i.output)),i.output=[];else if(l!=0)i.output.push(l)},fsync(i){if(i.output?.length>0)j(On(i.output)),i.output=[]}}},Fh=(i,l)=>Ar.fill(0,i,i+l),wc=(i,l)=>Math.ceil(i/l)*l,vc=(i)=>{i=wc(i,65536);var l=Dc(65536,i);if(l)Fh(l,i);return l},Fe={ops_table:null,mount(i){return Fe.createNode(null,"/",16895,0)},createNode(i,l,h,f){if(y.isBlkdev(h)||y.isFIFO(h))throw new y.ErrnoError(63);Fe.ops_table||={dir:{node:{getattr:Fe.node_ops.getattr,setattr:Fe.node_ops.setattr,lookup:Fe.node_ops.lookup,mknod:Fe.node_ops.mknod,rename:Fe.node_ops.rename,unlink:Fe.node_ops.unlink,rmdir:Fe.node_ops.rmdir,readdir:Fe.node_ops.readdir,symlink:Fe.node_ops.symlink},stream:{llseek:Fe.stream_ops.llseek}},file:{node:{getattr:Fe.node_ops.getattr,setattr:Fe.node_ops.setattr},stream:{llseek:Fe.stream_ops.llseek,read:Fe.stream_ops.read,write:Fe.stream_ops.write,mmap:Fe.stream_ops.mmap,msync:Fe.stream_ops.msync}},link:{node:{getattr:Fe.node_ops.getattr,setattr:Fe.node_ops.setattr,readlink:Fe.node_ops.readlink},stream:{}},chrdev:{node:{getattr:Fe.node_ops.getattr,setattr:Fe.node_ops.setattr},stream:y.chrdev_stream_ops}};var c=y.createNode(i,l,h,f);if(y.isDir(c.mode))c.node_ops=Fe.ops_table.dir.node,c.stream_ops=Fe.ops_table.dir.stream,c.contents={};else if(y.isFile(c.mode))c.node_ops=Fe.ops_table.file.node,c.stream_ops=Fe.ops_table.file.stream,c.usedBytes=0,c.contents=Fe.emptyFileContents??=new Uint8Array(0);else if(y.isLink(c.mode))c.node_ops=Fe.ops_table.link.node,c.stream_ops=Fe.ops_table.link.stream;else if(y.isChrdev(c.mode))c.node_ops=Fe.ops_table.chrdev.node,c.stream_ops=Fe.ops_table.chrdev.stream;if(c.atime=c.mtime=c.ctime=Date.now(),i)i.contents[l]=c,i.atime=i.mtime=i.ctime=c.atime;return c},getFileDataAsTypedArray(i){return i.contents.subarray(0,i.usedBytes)},expandFileStorage(i,l){var h=i.contents.length;if(h>=l)return;if(l=Math.max(l,h*(h<1048576?2:1.125)>>>0),h)l=Math.max(l,256);var f=Fe.getFileDataAsTypedArray(i);i.contents=new Uint8Array(l),i.contents.set(f)},resizeFileStorage(i,l){if(i.usedBytes==l)return;var h=i.contents;i.contents=new Uint8Array(l),i.contents.set(h.subarray(0,Math.min(l,i.usedBytes))),i.usedBytes=l},node_ops:{getattr(i){var l={};if(l.dev=y.isChrdev(i.mode)?i.id:1,l.ino=i.id,l.mode=i.mode,l.nlink=1,l.uid=0,l.gid=0,l.rdev=i.rdev,y.isDir(i.mode))l.size=4096;else if(y.isFile(i.mode))l.size=i.usedBytes;else if(y.isLink(i.mode))l.size=i.link.length;else l.size=0;return l.atime=new Date(i.atime),l.mtime=new Date(i.mtime),l.ctime=new Date(i.ctime),l.blksize=4096,l.blocks=Math.ceil(l.size/l.blksize),l},setattr(i,l){for(let h of["mode","atime","mtime","ctime"])if(l[h]!=null)i[h]=l[h];if(l.size!==void 0)Fe.resizeFileStorage(i,l.size)},lookup(i,l){if(!Fe.doesNotExistError)Fe.doesNotExistError=new y.ErrnoError(44),Fe.doesNotExistError.stack="<generic error, no stack>";throw Fe.doesNotExistError},mknod(i,l,h,f){return Fe.createNode(i,l,h,f)},rename(i,l,h){var f;try{f=y.lookupNode(l,h)}catch(d){}if(f){if(y.isDir(i.mode))for(var c in f.contents)throw new y.ErrnoError(55);y.hashRemoveNode(f)}delete i.parent.contents[i.name],l.contents[h]=i,i.name=h,l.ctime=l.mtime=i.parent.ctime=i.parent.mtime=Date.now()},unlink(i,l){delete i.contents[l],i.ctime=i.mtime=Date.now()},rmdir(i,l){for(var h in y.lookupNode(i,l).contents)throw new y.ErrnoError(55);delete i.contents[l],i.ctime=i.mtime=Date.now()},readdir(i){return[".","..",...Object.keys(i.contents)]},symlink(i,l,h){var f=Fe.createNode(i,l,41471,0);return f.link=h,f},readlink(i){if(!y.isLink(i.mode))throw new y.ErrnoError(28);return i.link}},stream_ops:{read(i,l,h,f,c){var d=i.node.contents;if(c>=i.node.usedBytes)return 0;var p=Math.min(i.node.usedBytes-c,f);return l.set(d.subarray(c,c+p),h),p},write(i,l,h,f,c,d){if(l.buffer===Ft.buffer)d=!1;if(!f)return 0;var p=i.node;if(p.mtime=p.ctime=Date.now(),d)p.contents=l.subarray(h,h+f),p.usedBytes=f;else if(p.usedBytes===0&&c===0)p.contents=l.slice(h,h+f),p.usedBytes=f;else Fe.expandFileStorage(p,c+f),p.contents.set(l.subarray(h,h+f),c),p.usedBytes=Math.max(p.usedBytes,c+f);return f},llseek(i,l,h){var f=l;if(h===1)f+=i.position;else if(h===2){if(y.isFile(i.node.mode))f+=i.node.usedBytes}if(f<0)throw new y.ErrnoError(28);return f},mmap(i,l,h,f,c){if(!y.isFile(i.node.mode))throw new y.ErrnoError(43);var d,p,E=i.node.contents;if(!(c&2)&&E.buffer===Ft.buffer)p=!1,d=E.byteOffset;else{if(p=!0,d=vc(l),!d)throw new y.ErrnoError(48);if(E){if(h>0||h+l<E.length)if(E.subarray)E=E.subarray(h,h+l);else E=Array.prototype.slice.call(E,h,h+l);Ft.set(E,d)}}return{ptr:d,allocated:p}},msync(i,l,h,f,c){return Fe.stream_ops.write(i,l,0,f,h,!1),0}}},zh=(i)=>{if(typeof i!="string")return i;var l={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[i];if(typeof l>"u")throw Error(`Unknown file open mode: ${i}`);return l},Ec=(i)=>{if(typeof i=="string")i=Ni(i,!0);if(!i.subarray)i=new Uint8Array(i);return i},Ci=(i,l)=>{var h=0;if(i)h|=365;if(l)h|=146;return h},Mh=async(i)=>{var l=await m(i);return new Uint8Array(l)},Bh=(...i)=>y.createDataFile(...i),Uh=(i)=>i,Dr=0,In=null,jh=(i)=>{if(Dr--,r.monitorRunDependencies?.(Dr),Dr==0){if(In){var l=In;In=null,l()}}},Hh=(i)=>{Dr++,r.monitorRunDependencies?.(Dr)},Sc=[],Wh=async(i,l)=>{if(typeof Browser<"u")Browser.init();for(var h of Sc)if(h.canHandle(l))return h.handle(i,l);return i},xc=async(i,l,h,f,c,d,p,E)=>{var b=l?Qr.resolve(Xe.join2(i,l)):i,I=Uh(`cp ${b}`);Hh(I);try{var V=h;if(typeof h=="string")V=await Mh(h);if(V=await Wh(V,b),E?.(),!d)Bh(i,l,V,f,c,p)}finally{jh(I)}},Zh=(i,l,h,f,c,d,p,E,b,I)=>{xc(i,l,h,f,c,E,b,I).then(d).catch(p)},y={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,filesystems:null,syncFSRequests:0,ErrnoError:class{name="ErrnoError";constructor(i){this.errno=i}},FSStream:class{shared={};get object(){return this.node}set object(i){this.node=i}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(i){this.shared.flags=i}get position(){return this.shared.position}set position(i){this.shared.position=i}},FSNode:class{node_ops={};stream_ops={};readMode=365;writeMode=146;mounted=null;constructor(i,l,h,f){if(!i)i=this;this.parent=i,this.mount=i.mount,this.id=y.nextInode++,this.name=l,this.mode=h,this.rdev=f,this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(i){i?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(i){i?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return y.isDir(this.mode)}get isDevice(){return y.isChrdev(this.mode)}},lookupPath(i,l={}){if(!i)throw new y.ErrnoError(44);if(l.follow_mount??=!0,!Xe.isAbs(i))i=y.cwd()+"/"+i;e:for(var h=0;h<40;h++){var f=i.split("/").filter((I)=>!!I),c=y.root,d="/";for(var p=0;p<f.length;p++){var E=p===f.length-1;if(E&&l.parent)break;if(f[p]===".")continue;if(f[p]===".."){if(d=Xe.dirname(d),y.isRoot(c)){i=d+"/"+f.slice(p+1).join("/"),h--;continue e}else c=c.parent;continue}d=Xe.join2(d,f[p]);try{c=y.lookupNode(c,f[p])}catch(I){if(I?.errno===44&&E&&l.noent_okay)return{path:d};throw I}if(y.isMountpoint(c)&&(!E||l.follow_mount))c=c.mounted.root;if(y.isLink(c.mode)&&(!E||l.follow)){if(!c.node_ops.readlink)throw new y.ErrnoError(52);var b=c.node_ops.readlink(c);if(!Xe.isAbs(b))b=Xe.dirname(d)+"/"+b;i=b+"/"+f.slice(p+1).join("/");continue e}}return{path:d,node:c}}throw new y.ErrnoError(32)},getPath(i){var l;while(!0){if(y.isRoot(i)){var h=i.mount.mountpoint;if(!l)return h;return h[h.length-1]!=="/"?`${h}/${l}`:h+l}l=l?`${i.name}/${l}`:i.name,i=i.parent}},hashName(i,l){var h=0;for(var f=0;f<l.length;f++)h=(h<<5)-h+l.charCodeAt(f)|0;return(i+h>>>0)%y.nameTable.length},hashAddNode(i){var l=y.hashName(i.parent.id,i.name);i.name_next=y.nameTable[l],y.nameTable[l]=i},hashRemoveNode(i){var l=y.hashName(i.parent.id,i.name);if(y.nameTable[l]===i)y.nameTable[l]=i.name_next;else{var h=y.nameTable[l];while(h){if(h.name_next===i){h.name_next=i.name_next;break}h=h.name_next}}},lookupNode(i,l){var h=y.mayLookup(i);if(h)throw new y.ErrnoError(h);var f=y.hashName(i.id,l);for(var c=y.nameTable[f];c;c=c.name_next){var d=c.name;if(c.parent.id===i.id&&d===l)return c}return y.lookup(i,l)},createNode(i,l,h,f){var c=new y.FSNode(i,l,h,f);return y.hashAddNode(c),c},destroyNode(i){y.hashRemoveNode(i)},isRoot(i){return i===i.parent},isMountpoint(i){return!!i.mounted},isFile(i){return(i&61440)===32768},isDir(i){return(i&61440)===16384},isLink(i){return(i&61440)===40960},isChrdev(i){return(i&61440)===8192},isBlkdev(i){return(i&61440)===24576},isFIFO(i){return(i&61440)===4096},isSocket(i){return(i&49152)===49152},flagsToPermissionString(i){var l=["r","w","rw"][i&3];if(i&512)l+="w";return l},nodePermissions(i,l){if(y.ignorePermissions)return 0;if(l.includes("r")&&!(i.mode&292))return 2;if(l.includes("w")&&!(i.mode&146))return 2;if(l.includes("x")&&!(i.mode&73))return 2;return 0},mayLookup(i){if(!y.isDir(i.mode))return 54;var l=y.nodePermissions(i,"x");if(l)return l;if(!i.node_ops.lookup)return 2;return 0},mayCreate(i,l){if(!y.isDir(i.mode))return 54;try{return y.lookupNode(i,l),20}catch(h){}return y.nodePermissions(i,"wx")},mayDelete(i,l,h){var f;try{f=y.lookupNode(i,l)}catch(d){return d.errno}var c=y.nodePermissions(i,"wx");if(c)return c;if(h){if(!y.isDir(f.mode))return 54;if(y.isRoot(f)||y.getPath(f)===y.cwd())return 10}else if(y.isDir(f.mode))return 31;return 0},mayOpen(i,l){if(!i)return 44;if(y.isLink(i.mode))return 32;var h=y.flagsToPermissionString(l);if(y.isDir(i.mode)){if(h!=="r"||l&576)return 31}return y.nodePermissions(i,h)},checkOpExists(i,l){if(!i)throw new y.ErrnoError(l);return i},MAX_OPEN_FDS:4096,nextfd(){for(var i=0;i<=y.MAX_OPEN_FDS;i++)if(!y.streams[i])return i;throw new y.ErrnoError(33)},getStreamChecked(i){var l=y.getStream(i);if(!l)throw new y.ErrnoError(8);return l},getStream:(i)=>y.streams[i],createStream(i,l=-1){if(i=Object.assign(new y.FSStream,i),l==-1)l=y.nextfd();return i.fd=l,y.streams[l]=i,i},closeStream(i){y.streams[i]=null},dupStream(i,l=-1){var h=y.createStream(i,l);return h.stream_ops?.dup?.(h),h},doSetAttr(i,l,h){var f=i?.stream_ops.setattr,c=f?i:l;f??=l.node_ops.setattr,y.checkOpExists(f,63),f(c,h)},chrdev_stream_ops:{open(i){i.stream_ops=y.getDevice(i.node.rdev).stream_ops,i.stream_ops.open?.(i)},llseek(){throw new y.ErrnoError(70)}},major:(i)=>i>>8,minor:(i)=>i&255,makedev:(i,l)=>i<<8|l,registerDevice(i,l){y.devices[i]={stream_ops:l}},getDevice:(i)=>y.devices[i],getMounts(i){var l=[],h=[i];while(h.length){var f=h.pop();l.push(f),h.push(...f.mounts)}return l},syncfs(i,l){if(typeof i=="function")l=i,i=!1;if(y.syncFSRequests++,y.syncFSRequests>1)j(`warning: ${y.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var h=y.getMounts(y.root.mount),f=0;function c(E){return y.syncFSRequests--,l(E)}function d(E){if(E){if(!d.errored)return d.errored=!0,c(E);return}if(++f>=h.length)c(null)}for(var p of h)if(p.type.syncfs)p.type.syncfs(p,i,d);else d(null)},mount(i,l,h){var f=h==="/",c=!h,d;if(f&&y.root)throw new y.ErrnoError(10);else if(!f&&!c){var p=y.lookupPath(h,{follow_mount:!1});if(h=p.path,d=p.node,y.isMountpoint(d))throw new y.ErrnoError(10);if(!y.isDir(d.mode))throw new y.ErrnoError(54)}var E={type:i,opts:l,mountpoint:h,mounts:[]},b=i.mount(E);if(b.mount=E,E.root=b,f)y.root=b;else if(d){if(d.mounted=E,d.mount)d.mount.mounts.push(E)}return b},unmount(i){var l=y.lookupPath(i,{follow_mount:!1});if(!y.isMountpoint(l.node))throw new y.ErrnoError(28);var h=l.node,f=h.mounted,c=y.getMounts(f);for(var[d,p]of Object.entries(y.nameTable))while(p){var E=p.name_next;if(c.includes(p.mount))y.destroyNode(p);p=E}h.mounted=null;var b=h.mount.mounts.indexOf(f);h.mount.mounts.splice(b,1)},lookup(i,l){return i.node_ops.lookup(i,l)},mknod(i,l,h){var f=y.lookupPath(i,{parent:!0}).node,c=Xe.basename(i);if(!c)throw new y.ErrnoError(28);if(c==="."||c==="..")throw new y.ErrnoError(20);var d=y.mayCreate(f,c);if(d)throw new y.ErrnoError(d);if(!f.node_ops.mknod)throw new y.ErrnoError(63);return f.node_ops.mknod(f,c,l,h)},statfs(i){return y.statfsNode(y.lookupPath(i,{follow:!0}).node)},statfsStream(i){return y.statfsNode(i.node)},statfsNode(i){var l={bsize:4096,frsize:4096,blocks:1e6,bfree:500000,bavail:500000,files:y.nextInode,ffree:y.nextInode-1,fsid:42,flags:2,namelen:255};if(i.node_ops.statfs)Object.assign(l,i.node_ops.statfs(i.mount.opts.root));return l},create(i,l=438){return l&=4095,l|=32768,y.mknod(i,l,0)},mkdir(i,l=511){return l&=1023,l|=16384,y.mknod(i,l,0)},mkdirTree(i,l){var h=i.split("/"),f="";for(var c of h){if(!c)continue;if(f||Xe.isAbs(i))f+="/";f+=c;try{y.mkdir(f,l)}catch(d){if(d.errno!=20)throw d}}},mkdev(i,l,h){if(typeof h>"u")h=l,l=438;return l|=8192,y.mknod(i,l,h)},symlink(i,l){if(!Qr.resolve(i))throw new y.ErrnoError(44);var h=y.lookupPath(l,{parent:!0}).node;if(!h)throw new y.ErrnoError(44);var f=Xe.basename(l),c=y.mayCreate(h,f);if(c)throw new y.ErrnoError(c);if(!h.node_ops.symlink)throw new y.ErrnoError(63);return h.node_ops.symlink(h,f,i)},rename(i,l){var h=Xe.dirname(i),f=Xe.dirname(l),c=Xe.basename(i),d=Xe.basename(l),p=y.lookupPath(i,{parent:!0}),E=p.node,b;if(p=y.lookupPath(l,{parent:!0}),b=p.node,!E||!b)throw new y.ErrnoError(44);if(E.mount!==b.mount)throw new y.ErrnoError(75);var I=y.lookupNode(E,c),V=Qr.relative(i,f);if(V.charAt(0)!==".")throw new y.ErrnoError(28);if(V=Qr.relative(l,h),V.charAt(0)!==".")throw new y.ErrnoError(55);var M;try{M=y.lookupNode(b,d)}catch(H){}if(I===M)return;var C=y.isDir(I.mode),q=y.mayDelete(E,c,C);if(q)throw new y.ErrnoError(q);if(q=M?y.mayDelete(b,d,C):y.mayCreate(b,d),q)throw new y.ErrnoError(q);if(!E.node_ops.rename)throw new y.ErrnoError(63);if(y.isMountpoint(I)||M&&y.isMountpoint(M))throw new y.ErrnoError(10);if(b!==E){if(q=y.nodePermissions(E,"w"),q)throw new y.ErrnoError(q)}y.hashRemoveNode(I);try{E.node_ops.rename(I,b,d),I.parent=b}catch(H){throw H}finally{y.hashAddNode(I)}},rmdir(i){var l=y.lookupPath(i,{parent:!0}).node,h=Xe.basename(i),f=y.lookupNode(l,h),c=y.mayDelete(l,h,!0);if(c)throw new y.ErrnoError(c);if(!l.node_ops.rmdir)throw new y.ErrnoError(63);if(y.isMountpoint(f))throw new y.ErrnoError(10);l.node_ops.rmdir(l,h),y.destroyNode(f)},readdir(i){var l=y.lookupPath(i,{follow:!0}).node;return y.checkOpExists(l.node_ops.readdir,54)(l)},unlink(i){var l=y.lookupPath(i,{parent:!0}).node;if(!l)throw new y.ErrnoError(44);var h=Xe.basename(i),f=y.lookupNode(l,h),c=y.mayDelete(l,h,!1);if(c)throw new y.ErrnoError(c);if(!l.node_ops.unlink)throw new y.ErrnoError(63);if(y.isMountpoint(f))throw new y.ErrnoError(10);l.node_ops.unlink(l,h),y.destroyNode(f)},readlink(i){var l=y.lookupPath(i).node;if(!l)throw new y.ErrnoError(44);if(!l.node_ops.readlink)throw new y.ErrnoError(28);return l.node_ops.readlink(l)},stat(i,l){var h=y.lookupPath(i,{follow:!l}).node;return y.checkOpExists(h.node_ops.getattr,63)(h)},fstat(i){var l=y.getStreamChecked(i),h=l.node,f=l.stream_ops.getattr,c=f?l:h;return f??=h.node_ops.getattr,y.checkOpExists(f,63),f(c)},lstat(i){return y.stat(i,!0)},doChmod(i,l,h,f){y.doSetAttr(i,l,{mode:h&4095|l.mode&-4096,ctime:Date.now(),dontFollow:f})},chmod(i,l,h){var f;if(typeof i=="string")f=y.lookupPath(i,{follow:!h}).node;else f=i;y.doChmod(null,f,l,h)},lchmod(i,l){y.chmod(i,l,!0)},fchmod(i,l){var h=y.getStreamChecked(i);y.doChmod(h,h.node,l,!1)},doChown(i,l,h){y.doSetAttr(i,l,{timestamp:Date.now(),dontFollow:h})},chown(i,l,h,f){var c;if(typeof i=="string")c=y.lookupPath(i,{follow:!f}).node;else c=i;y.doChown(null,c,f)},lchown(i,l,h){y.chown(i,l,h,!0)},fchown(i,l,h){var f=y.getStreamChecked(i);y.doChown(f,f.node,!1)},doTruncate(i,l,h){if(y.isDir(l.mode))throw new y.ErrnoError(31);if(!y.isFile(l.mode))throw new y.ErrnoError(28);var f=y.nodePermissions(l,"w");if(f)throw new y.ErrnoError(f);y.doSetAttr(i,l,{size:h,timestamp:Date.now()})},truncate(i,l){if(l<0)throw new y.ErrnoError(28);var h;if(typeof i=="string")h=y.lookupPath(i,{follow:!0}).node;else h=i;y.doTruncate(null,h,l)},ftruncate(i,l){var h=y.getStreamChecked(i);if(l<0||(h.flags&2097155)===0)throw new y.ErrnoError(28);y.doTruncate(h,h.node,l)},utime(i,l,h){var f=y.lookupPath(i,{follow:!0}).node;y.checkOpExists(f.node_ops.setattr,63)(f,{atime:l,mtime:h})},open(i,l,h=438){if(i==="")throw new y.ErrnoError(44);if(l=zh(l),l&64)h=h&4095|32768;else h=0;var f,c;if(typeof i=="object")f=i;else{c=i.endsWith("/");var d=y.lookupPath(i,{follow:!(l&131072),noent_okay:!0});f=d.node,i=d.path}var p=!1;if(l&64)if(f){if(l&128)throw new y.ErrnoError(20)}else if(c)throw new y.ErrnoError(31);else f=y.mknod(i,h|511,0),p=!0;if(!f)throw new y.ErrnoError(44);if(y.isChrdev(f.mode))l&=-513;if(l&65536&&!y.isDir(f.mode))throw new y.ErrnoError(54);if(!p){var E=y.mayOpen(f,l);if(E)throw new y.ErrnoError(E)}if(l&512&&!p)y.truncate(f,0);l&=-131713;var b=y.createStream({node:f,path:y.getPath(f),flags:l,seekable:!0,position:0,stream_ops:f.stream_ops,ungotten:[],error:!1});if(b.stream_ops.open)b.stream_ops.open(b);if(p)y.chmod(f,h&511);return b},close(i){if(y.isClosed(i))throw new y.ErrnoError(8);if(i.getdents)i.getdents=null;try{if(i.stream_ops.close)i.stream_ops.close(i)}catch(l){throw l}finally{y.closeStream(i.fd)}i.fd=null},isClosed(i){return i.fd===null},llseek(i,l,h){if(y.isClosed(i))throw new y.ErrnoError(8);if(!i.seekable||!i.stream_ops.llseek)throw new y.ErrnoError(70);if(h!=0&&h!=1&&h!=2)throw new y.ErrnoError(28);return i.position=i.stream_ops.llseek(i,l,h),i.ungotten=[],i.position},read(i,l,h,f,c){if(f<0||c<0)throw new y.ErrnoError(28);if(y.isClosed(i))throw new y.ErrnoError(8);if((i.flags&2097155)===1)throw new y.ErrnoError(8);if(y.isDir(i.node.mode))throw new y.ErrnoError(31);if(!i.stream_ops.read)throw new y.ErrnoError(28);var d=typeof c<"u";if(!d)c=i.position;else if(!i.seekable)throw new y.ErrnoError(70);var p=i.stream_ops.read(i,l,h,f,c);if(!d)i.position+=p;return p},write(i,l,h,f,c,d){if(f<0||c<0)throw new y.ErrnoError(28);if(y.isClosed(i))throw new y.ErrnoError(8);if((i.flags&2097155)===0)throw new y.ErrnoError(8);if(y.isDir(i.node.mode))throw new y.ErrnoError(31);if(!i.stream_ops.write)throw new y.ErrnoError(28);if(i.seekable&&i.flags&1024)y.llseek(i,0,2);var p=typeof c<"u";if(!p)c=i.position;else if(!i.seekable)throw new y.ErrnoError(70);var E=i.stream_ops.write(i,l,h,f,c,d);if(!p)i.position+=E;return E},mmap(i,l,h,f,c){if((f&2)!==0&&(c&2)===0&&(i.flags&2097155)!==2)throw new y.ErrnoError(2);if((i.flags&2097155)===1)throw new y.ErrnoError(2);if(!i.stream_ops.mmap)throw new y.ErrnoError(43);if(!l)throw new y.ErrnoError(28);return i.stream_ops.mmap(i,l,h,f,c)},msync(i,l,h,f,c){if(!i.stream_ops.msync)return 0;return i.stream_ops.msync(i,l,h,f,c)},ioctl(i,l,h){if(!i.stream_ops.ioctl)throw new y.ErrnoError(59);return i.stream_ops.ioctl(i,l,h)},readFile(i,l={}){if(l.flags=l.flags||0,l.encoding=l.encoding||"binary",l.encoding!=="utf8"&&l.encoding!=="binary")$t(`Invalid encoding type "${l.encoding}"`);var h=y.open(i,l.flags),f=y.stat(i).size,c=new Uint8Array(f);if(y.read(h,c,0,f,0),l.encoding==="utf8")c=On(c);return y.close(h),c},writeFile(i,l,h={}){h.flags=h.flags||577;var f=y.open(i,h.flags,h.mode);l=Ec(l),y.write(f,l,0,l.byteLength,void 0,h.canOwn),y.close(f)},cwd:()=>y.currentPath,chdir(i){var l=y.lookupPath(i,{follow:!0});if(l.node===null)throw new y.ErrnoError(44);if(!y.isDir(l.node.mode))throw new y.ErrnoError(54);var h=y.nodePermissions(l.node,"x");if(h)throw new y.ErrnoError(h);y.currentPath=l.path},createDefaultDirectories(){y.mkdir("/tmp"),y.mkdir("/home"),y.mkdir("/home/web_user")},createDefaultDevices(){y.mkdir("/dev"),y.registerDevice(y.makedev(1,3),{read:()=>0,write:(f,c,d,p,E)=>p,llseek:()=>0}),y.mkdev("/dev/null",y.makedev(1,3)),yr.register(y.makedev(5,0),yr.default_tty_ops),yr.register(y.makedev(6,0),yr.default_tty1_ops),y.mkdev("/dev/tty",y.makedev(5,0)),y.mkdev("/dev/tty1",y.makedev(6,0));var i=new Uint8Array(1024),l=0,h=()=>{if(l===0)hc(i),l=i.byteLength;return i[--l]};y.createDevice("/dev","random",h),y.createDevice("/dev","urandom",h),y.mkdir("/dev/shm"),y.mkdir("/dev/shm/tmp")},createSpecialDirectories(){y.mkdir("/proc");var i=y.mkdir("/proc/self");y.mkdir("/proc/self/fd"),y.mount({mount(){var l=y.createNode(i,"fd",16895,73);return l.stream_ops={llseek:Fe.stream_ops.llseek},l.node_ops={lookup(h,f){var c=+f,d=y.getStreamChecked(c),p={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>d.path},id:c+1};return p.parent=p,p},readdir(){return Array.from(y.streams.entries()).filter(([h,f])=>f).map(([h,f])=>h.toString())}},l}},{},"/proc/self/fd")},createStandardStreams(i,l,h){if(i)y.createDevice("/dev","stdin",i);else y.symlink("/dev/tty","/dev/stdin");if(l)y.createDevice("/dev","stdout",null,l);else y.symlink("/dev/tty","/dev/stdout");if(h)y.createDevice("/dev","stderr",null,h);else y.symlink("/dev/tty1","/dev/stderr");y.open("/dev/stdin",0),y.open("/dev/stdout",1),y.open("/dev/stderr",1)},staticInit(){y.nameTable=Array(4096),y.mount(Fe,{},"/"),y.createDefaultDirectories(),y.createDefaultDevices(),y.createSpecialDirectories(),y.filesystems={MEMFS:Fe}},init(i,l,h){y.initialized=!0,i??=r.stdin,l??=r.stdout,h??=r.stderr,y.createStandardStreams(i,l,h)},quit(){y.initialized=!1;for(var i of y.streams)if(i)y.close(i)},findObject(i,l){var h=y.analyzePath(i,l);if(!h.exists)return null;return h.object},analyzePath(i,l){try{var h=y.lookupPath(i,{follow:!l});i=h.path}catch(c){}var f={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var h=y.lookupPath(i,{parent:!0});f.parentExists=!0,f.parentPath=h.path,f.parentObject=h.node,f.name=Xe.basename(i),h=y.lookupPath(i,{follow:!l}),f.exists=!0,f.path=h.path,f.object=h.node,f.name=h.node.name,f.isRoot=h.path==="/"}catch(c){f.error=c.errno}return f},createPath(i,l,h,f){i=typeof i=="string"?i:y.getPath(i);var c=l.split("/").reverse();while(c.length){var d=c.pop();if(!d)continue;var p=Xe.join2(i,d);try{y.mkdir(p)}catch(E){if(E.errno!=20)throw E}i=p}return p},createFile(i,l,h,f,c){var d=Xe.join2(typeof i=="string"?i:y.getPath(i),l),p=Ci(f,c);return y.create(d,p)},createDataFile(i,l,h,f,c,d){var p=l;if(i)i=typeof i=="string"?i:y.getPath(i),p=l?Xe.join2(i,l):i;var E=Ci(f,c),b=y.create(p,E);if(h){h=Ec(h),y.chmod(b,E|146);var I=y.open(b,577);y.write(I,h,0,h.length,0,d),y.close(I),y.chmod(b,E)}},createDevice(i,l,h,f){var c=Xe.join2(typeof i=="string"?i:y.getPath(i),l),d=Ci(!!h,!!f);y.createDevice.major??=64;var p=y.makedev(y.createDevice.major++,0);return y.registerDevice(p,{open(E){E.seekable=!1},close(E){if(f?.buffer?.length)f(10)},read(E,b,I,V,M){var C=0;for(var q=0;q<V;q++){var H;try{H=h()}catch(G){throw new y.ErrnoError(29)}if(H===void 0&&C===0)throw new y.ErrnoError(6);if(H===null||H===void 0)break;C++,b[I+q]=H}if(C)E.node.atime=Date.now();return C},write(E,b,I,V,M){for(var C=0;C<V;C++)try{f(b[I+C])}catch(q){throw new y.ErrnoError(29)}if(V)E.node.mtime=E.node.ctime=Date.now();return C}}),y.mkdev(c,d,p)},forceLoadFile(i){if(i.isDevice||i.isFolder||i.link||i.contents)return!0;if(globalThis.XMLHttpRequest)$t("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");else try{i.contents=x(i.url)}catch(l){throw new y.ErrnoError(29)}},createLazyFile(i,l,h,f,c){class d{lengthKnown=!1;chunks=[];get(V){if(V>this.length-1||V<0)return;var M=V%this.chunkSize,C=V/this.chunkSize|0;return this.getter(C)[M]}setDataGetter(V){this.getter=V}cacheLength(){var V=new XMLHttpRequest;if(V.open("HEAD",h,!1),V.send(null),!(V.status>=200&&V.status<300||V.status===304))$t("Couldn't load "+h+". Status: "+V.status);var M=Number(V.getResponseHeader("Content-length")),C,q=(C=V.getResponseHeader("Accept-Ranges"))&&C==="bytes",H=(C=V.getResponseHeader("Content-Encoding"))&&C==="gzip",G=1048576;if(!q)G=M;var le=(R,X)=>{if(R>X)$t("invalid range ("+R+", "+X+") or no bytes requested!");if(X>M-1)$t("only "+M+" bytes available! programmer error!");var ee=new XMLHttpRequest;if(ee.open("GET",h,!1),M!==G)ee.setRequestHeader("Range","bytes="+R+"-"+X);if(ee.responseType="arraybuffer",ee.overrideMimeType)ee.overrideMimeType("text/plain; charset=x-user-defined");if(ee.send(null),!(ee.status>=200&&ee.status<300||ee.status===304))$t("Couldn't load "+h+". Status: "+ee.status);if(ee.response!==void 0)return new Uint8Array(ee.response||[]);return Ni(ee.responseText||"",!0)},O=this;if(O.setDataGetter((R)=>{var X=R*G,ee=(R+1)*G-1;if(ee=Math.min(ee,M-1),typeof O.chunks[R]>"u")O.chunks[R]=le(X,ee);if(typeof O.chunks[R]>"u")$t("doXHR failed!");return O.chunks[R]}),H||!M)G=M=1,M=this.getter(0).length,G=M,D("LazyFiles on gzip forces download of the whole file when length is accessed");this._length=M,this._chunkSize=G,this.lengthKnown=!0}get length(){if(!this.lengthKnown)this.cacheLength();return this._length}get chunkSize(){if(!this.lengthKnown)this.cacheLength();return this._chunkSize}}if(globalThis.XMLHttpRequest){if(!o)$t("Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc");var p={isDevice:!1,contents:new d}}else var p={isDevice:!1,url:h};var E=y.createFile(i,l,p,f,c);if(p.contents)E.contents=p.contents;else if(p.url)E.contents=null,E.url=p.url;Object.defineProperties(E,{usedBytes:{get:function(){return this.contents.length}}});var b={};for(let[V,M]of Object.entries(E.stream_ops))b[V]=(...C)=>(y.forceLoadFile(E),M(...C));function I(V,M,C,q,H){var G=V.node.contents;if(H>=G.length)return 0;var le=Math.min(G.length-H,q);if(G.slice)for(var O=0;O<le;O++)M[C+O]=G[H+O];else for(var O=0;O<le;O++)M[C+O]=G.get(H+O);return le}return b.read=(V,M,C,q,H)=>(y.forceLoadFile(E),I(V,M,C,q,H)),b.mmap=(V,M,C,q,H)=>{y.forceLoadFile(E);var G=vc(M);if(!G)throw new y.ErrnoError(48);return I(V,Ft,G,M,C),{ptr:G,allocated:!0}},E.stream_ops=b,E}},Gh=(i,l,h)=>{if(!i)return"";var f=yc(Ar,i,l,h);return mc.decode(Ar.subarray(i,f))},Be={calculateAt(i,l,h){if(Xe.isAbs(l))return l;var f;if(i===-100)f=y.cwd();else f=Be.getStreamFromFD(i).path;if(l.length==0){if(!h)throw new y.ErrnoError(44);return f}return f+"/"+l},writeStat(i,l){et[i>>2]=l.dev,et[i+4>>2]=l.mode,et[i+8>>2]=l.nlink,et[i+12>>2]=l.uid,et[i+16>>2]=l.gid,et[i+20>>2]=l.rdev,St[i+24>>3]=BigInt(l.size),Je[i+32>>2]=4096,Je[i+36>>2]=l.blocks;var h=l.atime.getTime(),f=l.mtime.getTime(),c=l.ctime.getTime();return St[i+40>>3]=BigInt(Math.floor(h/1000)),et[i+48>>2]=h%1000*1000*1000,St[i+56>>3]=BigInt(Math.floor(f/1000)),et[i+64>>2]=f%1000*1000*1000,St[i+72>>3]=BigInt(Math.floor(c/1000)),et[i+80>>2]=c%1000*1000*1000,St[i+88>>3]=BigInt(l.ino),0},writeStatFs(i,l){et[i+4>>2]=l.bsize,et[i+60>>2]=l.bsize,St[i+8>>3]=BigInt(l.blocks),St[i+16>>3]=BigInt(l.bfree),St[i+24>>3]=BigInt(l.bavail),St[i+32>>3]=BigInt(l.files),St[i+40>>3]=BigInt(l.ffree),et[i+48>>2]=l.fsid,et[i+64>>2]=l.flags,et[i+56>>2]=l.namelen},doMsync(i,l,h,f,c){if(!y.isFile(l.node.mode))throw new y.ErrnoError(43);if(f&2)return 0;var d=Ar.slice(i,i+h);y.msync(l,d,c,h,f)},getStreamFromFD(i){return y.getStreamChecked(i)},varargs:void 0,getStr(i){return Gh(i)}};function Kh(i,l){try{return i=Be.getStr(i),y.chmod(i,l),0}catch(h){if(typeof y>"u"||h.name!=="ErrnoError")throw h;return-h.errno}}function Vh(i,l,h,f){try{if(l=Be.getStr(l),l=Be.calculateAt(i,l),h&-8)return-28;var c=y.lookupPath(l,{follow:!0}).node;if(!c)return-44;var d="";if(h&4)d+="r";if(h&2)d+="w";if(h&1)d+="x";if(d&&y.nodePermissions(c,d))return-2;return 0}catch(p){if(typeof y>"u"||p.name!=="ErrnoError")throw p;return-p.errno}}function Jh(i,l){try{return y.fchmod(i,l),0}catch(h){if(typeof y>"u"||h.name!=="ErrnoError")throw h;return-h.errno}}function Xh(i,l,h){try{return y.fchown(i,l,h),0}catch(f){if(typeof y>"u"||f.name!=="ErrnoError")throw f;return-f.errno}}var go=()=>{var i=Je[+Be.varargs>>2];return Be.varargs+=4,i},Yr=go;function Qh(i,l,h){Be.varargs=h;try{var f=Be.getStreamFromFD(i);switch(l){case 0:var c=go();if(c<0)return-28;while(y.streams[c])c++;return y.dupStream(f,c).fd;case 1:case 2:return 0;case 3:return f.flags;case 4:var c=go();return f.flags|=c,0;case 12:var c=Yr(),d=0;return Dn[c+d>>1]=2,0;case 13:case 14:return 0}return-28}catch(p){if(typeof y>"u"||p.name!=="ErrnoError")throw p;return-p.errno}}function Yh(i,l){try{return Be.writeStat(l,y.fstat(i))}catch(h){if(typeof y>"u"||h.name!=="ErrnoError")throw h;return-h.errno}}var em=9007199254740992,tm=-9007199254740992,en=(i)=>i<tm||i>em?NaN:Number(i);function rm(i,l){l=en(l);try{if(isNaN(l))return-61;return y.ftruncate(i,l),0}catch(h){if(typeof y>"u"||h.name!=="ErrnoError")throw h;return-h.errno}}var Or=(i,l,h)=>bc(i,Ar,l,h);function nm(i,l){try{if(l===0)return-28;var h=y.cwd(),f=_o(h)+1;if(l<f)return-68;return Or(h,i,l),f}catch(c){if(typeof y>"u"||c.name!=="ErrnoError")throw c;return-c.errno}}function om(i,l,h){Be.varargs=h;try{var f=Be.getStreamFromFD(i);switch(l){case 21509:if(!f.tty)return-59;return 0;case 21505:if(!f.tty)return-59;if(f.tty.ops.ioctl_tcgets){var c=f.tty.ops.ioctl_tcgets(f),M=Yr();Je[M>>2]=c.c_iflag||0,Je[M+4>>2]=c.c_oflag||0,Je[M+8>>2]=c.c_cflag||0,Je[M+12>>2]=c.c_lflag||0;for(var d=0;d<32;d++)Ft[M+d+17]=c.c_cc[d]||0;return 0}return 0;case 21510:case 21511:case 21512:if(!f.tty)return-59;return 0;case 21506:case 21507:case 21508:if(!f.tty)return-59;if(f.tty.ops.ioctl_tcsets){var M=Yr(),p=Je[M>>2],E=Je[M+4>>2],b=Je[M+8>>2],I=Je[M+12>>2],V=[];for(var d=0;d<32;d++)V.push(Ft[M+d+17]);return f.tty.ops.ioctl_tcsets(f.tty,l,{c_iflag:p,c_oflag:E,c_cflag:b,c_lflag:I,c_cc:V})}return 0;case 21519:if(!f.tty)return-59;var M=Yr();return Je[M>>2]=0,0;case 21520:if(!f.tty)return-59;return-28;case 21537:case 21531:var M=Yr();return y.ioctl(f,l,M);case 21523:if(!f.tty)return-59;if(f.tty.ops.ioctl_tiocgwinsz){var C=f.tty.ops.ioctl_tiocgwinsz(f.tty),M=Yr();Dn[M>>1]=C[0],Dn[M+2>>1]=C[1]}return 0;case 21524:if(!f.tty)return-59;return 0;case 21515:if(!f.tty)return-59;return 0;default:return-28}}catch(q){if(typeof y>"u"||q.name!=="ErrnoError")throw q;return-q.errno}}function im(i,l){try{return i=Be.getStr(i),Be.writeStat(l,y.lstat(i))}catch(h){if(typeof y>"u"||h.name!=="ErrnoError")throw h;return-h.errno}}function sm(i,l,h){try{return l=Be.getStr(l),l=Be.calculateAt(i,l),y.mkdir(l,h,0),0}catch(f){if(typeof y>"u"||f.name!=="ErrnoError")throw f;return-f.errno}}function am(i,l,h,f){try{l=Be.getStr(l);var c=f&256,d=f&4096;return f=f&-6401,l=Be.calculateAt(i,l,d),Be.writeStat(h,c?y.lstat(l):y.stat(l))}catch(p){if(typeof y>"u"||p.name!=="ErrnoError")throw p;return-p.errno}}function cm(i,l,h,f){Be.varargs=f;try{l=Be.getStr(l),l=Be.calculateAt(i,l);var c=f?go():0;return y.open(l,h,c).fd}catch(d){if(typeof y>"u"||d.name!=="ErrnoError")throw d;return-d.errno}}function lm(i,l,h,f){try{if(l=Be.getStr(l),l=Be.calculateAt(i,l),f<=0)return-28;var c=y.readlink(l),d=Math.min(f,_o(c)),p=Ft[h+d];return Or(c,h,f+1),Ft[h+d]=p,d}catch(E){if(typeof y>"u"||E.name!=="ErrnoError")throw E;return-E.errno}}function um(i){try{return i=Be.getStr(i),y.rmdir(i),0}catch(l){if(typeof y>"u"||l.name!=="ErrnoError")throw l;return-l.errno}}function dm(i,l){try{return i=Be.getStr(i),Be.writeStat(l,y.stat(i))}catch(h){if(typeof y>"u"||h.name!=="ErrnoError")throw h;return-h.errno}}function fm(i,l,h){try{if(l=Be.getStr(l),l=Be.calculateAt(i,l),!h)y.unlink(l);else if(h===512)y.rmdir(l);else return-28;return 0}catch(f){if(typeof y>"u"||f.name!=="ErrnoError")throw f;return-f.errno}}var Tc=(i)=>et[i>>2]+Je[i+4>>2]*4294967296;function pm(i,l,h,f){try{l=Be.getStr(l),l=Be.calculateAt(i,l,!0);var c=Date.now(),d,p;if(!h)d=c,p=c;else{var E=Tc(h),b=Je[h+8>>2];if(b==1073741823)d=c;else if(b==1073741822)d=null;else d=E*1000+b/1e6;if(h+=16,E=Tc(h),b=Je[h+8>>2],b==1073741823)p=c;else if(b==1073741822)p=null;else p=E*1000+b/1e6}if((p??d)!==null)y.utime(l,d,p);return 0}catch(I){if(typeof y>"u"||I.name!=="ErrnoError")throw I;return-I.errno}}var _m=(i)=>i%4===0&&(i%100!==0||i%400===0),gm=[0,31,60,91,121,152,182,213,244,274,305,335],hm=[0,31,59,90,120,151,181,212,243,273,304,334],mm=(i)=>(_m(i.getFullYear())?gm:hm)[i.getMonth()]+i.getDate()-1;function ym(i,l){i=en(i);var h=new Date(i*1000);Je[l>>2]=h.getSeconds(),Je[l+4>>2]=h.getMinutes(),Je[l+8>>2]=h.getHours(),Je[l+12>>2]=h.getDate(),Je[l+16>>2]=h.getMonth(),Je[l+20>>2]=h.getFullYear()-1900,Je[l+24>>2]=h.getDay();var f=mm(h)|0;Je[l+28>>2]=f,Je[l+36>>2]=-(h.getTimezoneOffset()*60);var c=new Date(h.getFullYear(),0,1),d=new Date(h.getFullYear(),6,1).getTimezoneOffset(),p=c.getTimezoneOffset(),E=(d!=p&&h.getTimezoneOffset()==Math.min(p,d))|0;Je[l+32>>2]=E}function bm(i,l,h,f,c,d,p){c=en(c);try{var E=Be.getStreamFromFD(f),b=y.mmap(E,i,c,l,h),I=b.ptr;return Je[d>>2]=b.allocated,et[p>>2]=I,0}catch(V){if(typeof y>"u"||V.name!=="ErrnoError")throw V;return-V.errno}}function wm(i,l,h,f,c,d){d=en(d);try{var p=Be.getStreamFromFD(c);if(h&2)Be.doMsync(i,p,l,f,d)}catch(E){if(typeof y>"u"||E.name!=="ErrnoError")throw E;return-E.errno}}var vm=(i,l,h,f)=>{var c=new Date().getFullYear(),d=new Date(c,0,1),p=new Date(c,6,1),E=d.getTimezoneOffset(),b=p.getTimezoneOffset(),I=Math.max(E,b);et[i>>2]=I*60,Je[l>>2]=Number(E!=b);var V=(q)=>{var H=q>=0?"-":"+",G=Math.abs(q);return`UTC${H}${String(Math.floor(G/60)).padStart(2,"0")}${String(G%60).padStart(2,"0")}`},M=V(E),C=V(b);if(b<E)Or(M,h,17),Or(C,f,17);else Or(M,f,17),Or(C,h,17)},kc=()=>performance.now(),Rc=()=>Date.now(),Em=1,Sm=(i)=>i>=0&&i<=3;function xm(i,l,h){if(l=en(l),!Sm(i))return 28;var f;if(i===0)f=Rc();else if(Em)f=kc();else return 52;var c=Math.round(f*1000*1000);return St[h>>3]=BigInt(c),0}var Ac=()=>2147483648,Tm=()=>Ac(),km=(i)=>{var l=(i-ur.buffer.byteLength+65535)/65536|0;try{return ur.grow(l),Ze(),1}catch(h){}},Rm=(i)=>{var l=Ar.length;i>>>=0;var h=Ac();if(i>h)return!1;for(var f=1;f<=4;f*=2){var c=l*(1+0.2/f);if(c=Math.min(c,i+100663296),km(Math.min(h,wc(Math.max(i,c),65536))))return!0}return!1},qi={},Am=()=>s||"./this.program",Pn=()=>{if(!Pn.strings){var i={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(globalThis.navigator?.language??"C").replace("-","_")+".UTF-8",_:Am()};for(var l in qi)if(qi[l]===void 0)delete i[l];else i[l]=qi[l];var h=[];for(var l in i)h.push(`${l}=${i[l]}`);Pn.strings=h}return Pn.strings},Dm=(i,l)=>{var h=0,f=0;for(var c of Pn()){var d=l+h;et[i+f>>2]=d,h+=Or(c,d,1/0)+1,f+=4}return 0},Om=(i,l)=>{var h=Pn();et[i>>2]=h.length;var f=0;for(var c of h)f+=_o(c)+1;return et[l>>2]=f,0};function Im(i){try{var l=Be.getStreamFromFD(i);return y.close(l),0}catch(h){if(typeof y>"u"||h.name!=="ErrnoError")throw h;return h.errno}}function Pm(i,l){try{var h=0,f=0,c=0,d=Be.getStreamFromFD(i),p=d.tty?2:y.isDir(d.mode)?3:y.isLink(d.mode)?7:4;return Ft[l]=p,Dn[l+2>>1]=c,St[l+8>>3]=BigInt(h),St[l+16>>3]=BigInt(f),0}catch(E){if(typeof y>"u"||E.name!=="ErrnoError")throw E;return E.errno}}var Nm=(i,l,h,f)=>{var c=0;for(var d=0;d<h;d++){var p=et[l>>2],E=et[l+4>>2];l+=8;var b=y.read(i,Ft,p,E,f);if(b<0)return-1;if(c+=b,b<E)break;if(typeof f<"u")f+=b}return c};function Cm(i,l,h,f){try{var c=Nm(Be.getStreamFromFD(i),l,h);return et[f>>2]=c,0}catch(d){if(typeof y>"u"||d.name!=="ErrnoError")throw d;return d.errno}}function qm(i,l,h,f){l=en(l);try{if(isNaN(l))return 61;var c=Be.getStreamFromFD(i);if(y.llseek(c,l,h),St[f>>3]=BigInt(c.position),c.getdents&&l===0&&h===0)c.getdents=null;return 0}catch(d){if(typeof y>"u"||d.name!=="ErrnoError")throw d;return d.errno}}function Lm(i){try{var l=Be.getStreamFromFD(i);return l.stream_ops?.fsync?.(l)}catch(h){if(typeof y>"u"||h.name!=="ErrnoError")throw h;return h.errno}}var $m=(i,l,h,f)=>{var c=0;for(var d=0;d<h;d++){var p=et[l>>2],E=et[l+4>>2];l+=8;var b=y.write(i,Ft,p,E,f);if(b<0)return-1;if(c+=b,b<E)break;if(typeof f<"u")f+=b}return c};function Fm(i,l,h,f){try{var c=$m(Be.getStreamFromFD(i),l,h);return et[f>>2]=c,0}catch(d){if(typeof y>"u"||d.name!=="ErrnoError")throw d;return d.errno}}if(y.createPreloadedFile=Zh,y.preloadFile=xc,y.staticInit(),$e(),r.noExitRuntime)r.noExitRuntime;if(r.preloadPlugins)Sc=r.preloadPlugins;if(r.print)D=r.print;if(r.printErr)j=r.printErr;if(r.wasmBinary)Y=r.wasmBinary;if(r.arguments)r.arguments;if(r.thisProgram)s=r.thisProgram;if(r.preInit){if(typeof r.preInit=="function")r.preInit=[r.preInit];while(r.preInit.length>0)r.preInit.shift()()}r.wasmMemory=ur;var Dc;function zm(i){r._sqlite3_status64=i.sqlite3_status64,r._sqlite3_status=i.sqlite3_status,r._sqlite3_db_status64=i.sqlite3_db_status64,r._sqlite3_msize=i.sqlite3_msize,r._sqlite3_db_status=i.sqlite3_db_status,r._sqlite3_vfs_find=i.sqlite3_vfs_find,r._sqlite3_initialize=i.sqlite3_initialize,r._sqlite3_malloc=i.sqlite3_malloc,r._sqlite3_free=i.sqlite3_free,r._sqlite3_vfs_register=i.sqlite3_vfs_register,r._sqlite3_vfs_unregister=i.sqlite3_vfs_unregister,r._sqlite3_malloc64=i.sqlite3_malloc64,r._sqlite3_realloc=i.sqlite3_realloc,r._sqlite3_realloc64=i.sqlite3_realloc64,r._sqlite3_value_text=i.sqlite3_value_text,r._sqlite3_randomness=i.sqlite3_randomness,r._sqlite3_stricmp=i.sqlite3_stricmp,r._sqlite3_strnicmp=i.sqlite3_strnicmp,r._sqlite3_uri_parameter=i.sqlite3_uri_parameter,r._sqlite3_uri_boolean=i.sqlite3_uri_boolean,r._sqlite3_serialize=i.sqlite3_serialize,r._sqlite3_prepare_v2=i.sqlite3_prepare_v2,r._sqlite3_step=i.sqlite3_step,r._sqlite3_column_int64=i.sqlite3_column_int64,r._sqlite3_reset=i.sqlite3_reset,r._sqlite3_exec=i.sqlite3_exec,r._sqlite3_column_int=i.sqlite3_column_int,r._sqlite3_finalize=i.sqlite3_finalize,r._sqlite3_file_control=i.sqlite3_file_control,r._sqlite3_column_name=i.sqlite3_column_name,r._sqlite3_column_text=i.sqlite3_column_text,r._sqlite3_column_type=i.sqlite3_column_type,r._sqlite3_errmsg=i.sqlite3_errmsg,r._sqlite3_deserialize=i.sqlite3_deserialize,r._sqlite3_clear_bindings=i.sqlite3_clear_bindings,r._sqlite3_value_blob=i.sqlite3_value_blob,r._sqlite3_value_bytes=i.sqlite3_value_bytes,r._sqlite3_value_double=i.sqlite3_value_double,r._sqlite3_value_int=i.sqlite3_value_int,r._sqlite3_value_int64=i.sqlite3_value_int64,r._sqlite3_value_subtype=i.sqlite3_value_subtype,r._sqlite3_value_pointer=i.sqlite3_value_pointer,r._sqlite3_value_type=i.sqlite3_value_type,r._sqlite3_value_nochange=i.sqlite3_value_nochange,r._sqlite3_value_frombind=i.sqlite3_value_frombind,r._sqlite3_value_dup=i.sqlite3_value_dup,r._sqlite3_value_free=i.sqlite3_value_free,r._sqlite3_result_blob=i.sqlite3_result_blob,r._sqlite3_result_error_toobig=i.sqlite3_result_error_toobig,r._sqlite3_result_error_nomem=i.sqlite3_result_error_nomem,r._sqlite3_result_double=i.sqlite3_result_double,r._sqlite3_result_error=i.sqlite3_result_error,r._sqlite3_result_int=i.sqlite3_result_int,r._sqlite3_result_int64=i.sqlite3_result_int64,r._sqlite3_result_null=i.sqlite3_result_null,r._sqlite3_result_pointer=i.sqlite3_result_pointer,r._sqlite3_result_subtype=i.sqlite3_result_subtype,r._sqlite3_result_text=i.sqlite3_result_text,r._sqlite3_result_zeroblob=i.sqlite3_result_zeroblob,r._sqlite3_result_zeroblob64=i.sqlite3_result_zeroblob64,r._sqlite3_result_error_code=i.sqlite3_result_error_code,r._sqlite3_user_data=i.sqlite3_user_data,r._sqlite3_context_db_handle=i.sqlite3_context_db_handle,r._sqlite3_vtab_nochange=i.sqlite3_vtab_nochange,r._sqlite3_vtab_in_first=i.sqlite3_vtab_in_first,r._sqlite3_vtab_in_next=i.sqlite3_vtab_in_next,r._sqlite3_aggregate_context=i.sqlite3_aggregate_context,r._sqlite3_get_auxdata=i.sqlite3_get_auxdata,r._sqlite3_set_auxdata=i.sqlite3_set_auxdata,r._sqlite3_column_count=i.sqlite3_column_count,r._sqlite3_data_count=i.sqlite3_data_count,r._sqlite3_column_blob=i.sqlite3_column_blob,r._sqlite3_column_bytes=i.sqlite3_column_bytes,r._sqlite3_column_double=i.sqlite3_column_double,r._sqlite3_column_value=i.sqlite3_column_value,r._sqlite3_column_decltype=i.sqlite3_column_decltype,r._sqlite3_column_database_name=i.sqlite3_column_database_name,r._sqlite3_column_table_name=i.sqlite3_column_table_name,r._sqlite3_column_origin_name=i.sqlite3_column_origin_name,r._sqlite3_bind_blob=i.sqlite3_bind_blob,r._sqlite3_bind_double=i.sqlite3_bind_double,r._sqlite3_bind_int=i.sqlite3_bind_int,r._sqlite3_bind_int64=i.sqlite3_bind_int64,r._sqlite3_bind_null=i.sqlite3_bind_null,r._sqlite3_bind_pointer=i.sqlite3_bind_pointer,r._sqlite3_bind_text=i.sqlite3_bind_text,r._sqlite3_bind_zeroblob=i.sqlite3_bind_zeroblob,r._sqlite3_bind_parameter_count=i.sqlite3_bind_parameter_count,r._sqlite3_bind_parameter_name=i.sqlite3_bind_parameter_name,r._sqlite3_bind_parameter_index=i.sqlite3_bind_parameter_index,r._sqlite3_db_handle=i.sqlite3_db_handle,r._sqlite3_stmt_readonly=i.sqlite3_stmt_readonly,r._sqlite3_stmt_isexplain=i.sqlite3_stmt_isexplain,r._sqlite3_stmt_explain=i.sqlite3_stmt_explain,r._sqlite3_stmt_busy=i.sqlite3_stmt_busy,r._sqlite3_next_stmt=i.sqlite3_next_stmt,r._sqlite3_stmt_status=i.sqlite3_stmt_status,r._sqlite3_sql=i.sqlite3_sql,r._sqlite3_expanded_sql=i.sqlite3_expanded_sql,r._sqlite3_preupdate_old=i.sqlite3_preupdate_old,r._sqlite3_preupdate_count=i.sqlite3_preupdate_count,r._sqlite3_preupdate_depth=i.sqlite3_preupdate_depth,r._sqlite3_preupdate_blobwrite=i.sqlite3_preupdate_blobwrite,r._sqlite3_preupdate_new=i.sqlite3_preupdate_new,r._sqlite3_value_numeric_type=i.sqlite3_value_numeric_type,r._sqlite3_set_authorizer=i.sqlite3_set_authorizer,r._sqlite3_strglob=i.sqlite3_strglob,r._sqlite3_strlike=i.sqlite3_strlike,r._sqlite3_auto_extension=i.sqlite3_auto_extension,r._sqlite3_cancel_auto_extension=i.sqlite3_cancel_auto_extension,r._sqlite3_reset_auto_extension=i.sqlite3_reset_auto_extension,r._sqlite3_prepare_v3=i.sqlite3_prepare_v3,r._sqlite3_create_module=i.sqlite3_create_module,r._sqlite3_create_module_v2=i.sqlite3_create_module_v2,r._sqlite3_drop_modules=i.sqlite3_drop_modules,r._sqlite3_declare_vtab=i.sqlite3_declare_vtab,r._sqlite3_vtab_on_conflict=i.sqlite3_vtab_on_conflict,r._sqlite3_vtab_collation=i.sqlite3_vtab_collation,r._sqlite3_vtab_in=i.sqlite3_vtab_in,r._sqlite3_vtab_rhs_value=i.sqlite3_vtab_rhs_value,r._sqlite3_vtab_distinct=i.sqlite3_vtab_distinct,r._sqlite3_keyword_name=i.sqlite3_keyword_name,r._sqlite3_keyword_count=i.sqlite3_keyword_count,r._sqlite3_keyword_check=i.sqlite3_keyword_check,r._sqlite3_complete=i.sqlite3_complete,r._sqlite3_libversion=i.sqlite3_libversion,r._sqlite3_libversion_number=i.sqlite3_libversion_number,r._sqlite3_shutdown=i.sqlite3_shutdown,r._sqlite3_last_insert_rowid=i.sqlite3_last_insert_rowid,r._sqlite3_set_last_insert_rowid=i.sqlite3_set_last_insert_rowid,r._sqlite3_changes64=i.sqlite3_changes64,r._sqlite3_changes=i.sqlite3_changes,r._sqlite3_total_changes64=i.sqlite3_total_changes64,r._sqlite3_total_changes=i.sqlite3_total_changes,r._sqlite3_txn_state=i.sqlite3_txn_state,r._sqlite3_close_v2=i.sqlite3_close_v2,r._sqlite3_busy_handler=i.sqlite3_busy_handler,r._sqlite3_progress_handler=i.sqlite3_progress_handler,r._sqlite3_busy_timeout=i.sqlite3_busy_timeout,r._sqlite3_interrupt=i.sqlite3_interrupt,r._sqlite3_is_interrupted=i.sqlite3_is_interrupted,r._sqlite3_create_function=i.sqlite3_create_function,r._sqlite3_create_function_v2=i.sqlite3_create_function_v2,r._sqlite3_create_window_function=i.sqlite3_create_window_function,r._sqlite3_overload_function=i.sqlite3_overload_function,r._sqlite3_trace_v2=i.sqlite3_trace_v2,r._sqlite3_commit_hook=i.sqlite3_commit_hook,r._sqlite3_update_hook=i.sqlite3_update_hook,r._sqlite3_rollback_hook=i.sqlite3_rollback_hook,r._sqlite3_preupdate_hook=i.sqlite3_preupdate_hook,r._sqlite3_set_errmsg=i.sqlite3_set_errmsg,r._sqlite3_error_offset=i.sqlite3_error_offset,r._sqlite3_errcode=i.sqlite3_errcode,r._sqlite3_extended_errcode=i.sqlite3_extended_errcode,r._sqlite3_errstr=i.sqlite3_errstr,r._sqlite3_limit=i.sqlite3_limit,r._sqlite3_open=i.sqlite3_open,r._sqlite3_open_v2=i.sqlite3_open_v2,r._sqlite3_create_collation=i.sqlite3_create_collation,r._sqlite3_create_collation_v2=i.sqlite3_create_collation_v2,r._sqlite3_collation_needed=i.sqlite3_collation_needed,r._sqlite3_get_autocommit=i.sqlite3_get_autocommit,r._sqlite3_table_column_metadata=i.sqlite3_table_column_metadata,r._sqlite3_extended_result_codes=i.sqlite3_extended_result_codes,r._sqlite3_uri_key=i.sqlite3_uri_key,r._sqlite3_uri_int64=i.sqlite3_uri_int64,r._sqlite3_db_name=i.sqlite3_db_name,r._sqlite3_db_filename=i.sqlite3_db_filename,r._sqlite3_db_readonly=i.sqlite3_db_readonly,r._sqlite3_compileoption_used=i.sqlite3_compileoption_used,r._sqlite3_compileoption_get=i.sqlite3_compileoption_get,r._sqlite3session_diff=i.sqlite3session_diff,r._sqlite3session_attach=i.sqlite3session_attach,r._sqlite3session_create=i.sqlite3session_create,r._sqlite3session_delete=i.sqlite3session_delete,r._sqlite3session_table_filter=i.sqlite3session_table_filter,r._sqlite3session_changeset=i.sqlite3session_changeset,r._sqlite3session_changeset_strm=i.sqlite3session_changeset_strm,r._sqlite3session_patchset_strm=i.sqlite3session_patchset_strm,r._sqlite3session_patchset=i.sqlite3session_patchset,r._sqlite3session_enable=i.sqlite3session_enable,r._sqlite3session_indirect=i.sqlite3session_indirect,r._sqlite3session_isempty=i.sqlite3session_isempty,r._sqlite3session_memory_used=i.sqlite3session_memory_used,r._sqlite3session_object_config=i.sqlite3session_object_config,r._sqlite3session_changeset_size=i.sqlite3session_changeset_size,r._sqlite3changeset_start=i.sqlite3changeset_start,r._sqlite3changeset_start_v2=i.sqlite3changeset_start_v2,r._sqlite3changeset_start_strm=i.sqlite3changeset_start_strm,r._sqlite3changeset_start_v2_strm=i.sqlite3changeset_start_v2_strm,r._sqlite3changeset_next=i.sqlite3changeset_next,r._sqlite3changeset_op=i.sqlite3changeset_op,r._sqlite3changeset_pk=i.sqlite3changeset_pk,r._sqlite3changeset_old=i.sqlite3changeset_old,r._sqlite3changeset_new=i.sqlite3changeset_new,r._sqlite3changeset_conflict=i.sqlite3changeset_conflict,r._sqlite3changeset_fk_conflicts=i.sqlite3changeset_fk_conflicts,r._sqlite3changeset_finalize=i.sqlite3changeset_finalize,r._sqlite3changeset_invert=i.sqlite3changeset_invert,r._sqlite3changeset_invert_strm=i.sqlite3changeset_invert_strm,r._sqlite3changeset_apply_v2=i.sqlite3changeset_apply_v2,r._sqlite3changeset_apply_v3=i.sqlite3changeset_apply_v3,r._sqlite3changeset_apply=i.sqlite3changeset_apply,r._sqlite3changeset_apply_v3_strm=i.sqlite3changeset_apply_v3_strm,r._sqlite3changeset_apply_v2_strm=i.sqlite3changeset_apply_v2_strm,r._sqlite3changeset_apply_strm=i.sqlite3changeset_apply_strm,r._sqlite3changegroup_new=i.sqlite3changegroup_new,r._sqlite3changegroup_add=i.sqlite3changegroup_add,r._sqlite3changegroup_output=i.sqlite3changegroup_output,r._sqlite3changegroup_add_strm=i.sqlite3changegroup_add_strm,r._sqlite3changegroup_output_strm=i.sqlite3changegroup_output_strm,r._sqlite3changegroup_delete=i.sqlite3changegroup_delete,r._sqlite3changeset_concat=i.sqlite3changeset_concat,r._sqlite3changeset_concat_strm=i.sqlite3changeset_concat_strm,r._sqlite3session_config=i.sqlite3session_config,r._sqlite3_sourceid=i.sqlite3_sourceid,r._sqlite3__wasm_pstack_ptr=i.sqlite3__wasm_pstack_ptr,r._sqlite3__wasm_pstack_restore=i.sqlite3__wasm_pstack_restore,r._sqlite3__wasm_pstack_alloc=i.sqlite3__wasm_pstack_alloc,r._sqlite3__wasm_pstack_remaining=i.sqlite3__wasm_pstack_remaining,r._sqlite3__wasm_pstack_quota=i.sqlite3__wasm_pstack_quota,r._sqlite3__wasm_test_struct=i.sqlite3__wasm_test_struct,r._sqlite3__wasm_enum_json=i.sqlite3__wasm_enum_json,r._sqlite3__wasm_vfs_unlink=i.sqlite3__wasm_vfs_unlink,r._sqlite3__wasm_db_vfs=i.sqlite3__wasm_db_vfs,r._sqlite3__wasm_db_reset=i.sqlite3__wasm_db_reset,r._sqlite3__wasm_db_export_chunked=i.sqlite3__wasm_db_export_chunked,r._sqlite3__wasm_db_serialize=i.sqlite3__wasm_db_serialize,r._sqlite3__wasm_vfs_create_file=i.sqlite3__wasm_vfs_create_file,r._sqlite3__wasm_posix_create_file=i.sqlite3__wasm_posix_create_file,r._sqlite3__wasm_kvvfsMakeKey=i.sqlite3__wasm_kvvfsMakeKey,r._sqlite3__wasm_kvvfs_methods=i.sqlite3__wasm_kvvfs_methods,r._sqlite3__wasm_vtab_config=i.sqlite3__wasm_vtab_config,r._sqlite3__wasm_db_config_ip=i.sqlite3__wasm_db_config_ip,r._sqlite3__wasm_db_config_pii=i.sqlite3__wasm_db_config_pii,r._sqlite3__wasm_db_config_s=i.sqlite3__wasm_db_config_s,r._sqlite3__wasm_config_i=i.sqlite3__wasm_config_i,r._sqlite3__wasm_config_ii=i.sqlite3__wasm_config_ii,r._sqlite3__wasm_config_j=i.sqlite3__wasm_config_j,r._sqlite3__wasm_qfmt_token=i.sqlite3__wasm_qfmt_token,r._sqlite3__wasm_kvvfs_decode=i.sqlite3__wasm_kvvfs_decode,r._sqlite3__wasm_kvvfs_encode=i.sqlite3__wasm_kvvfs_encode,r._sqlite3__wasm_init_wasmfs=i.sqlite3__wasm_init_wasmfs,r._sqlite3__wasm_test_intptr=i.sqlite3__wasm_test_intptr,r._sqlite3__wasm_test_voidptr=i.sqlite3__wasm_test_voidptr,r._sqlite3__wasm_test_int64_max=i.sqlite3__wasm_test_int64_max,r._sqlite3__wasm_test_int64_min=i.sqlite3__wasm_test_int64_min,r._sqlite3__wasm_test_int64_times2=i.sqlite3__wasm_test_int64_times2,r._sqlite3__wasm_test_int64_minmax=i.sqlite3__wasm_test_int64_minmax,r._sqlite3__wasm_test_int64ptr=i.sqlite3__wasm_test_int64ptr,r._sqlite3__wasm_test_stack_overflow=i.sqlite3__wasm_test_stack_overflow,r._sqlite3__wasm_test_str_hello=i.sqlite3__wasm_test_str_hello,r._sqlite3__wasm_SQLTester_strglob=i.sqlite3__wasm_SQLTester_strglob,r._malloc=i.malloc,r._free=i.free,r._realloc=i.realloc,Dc=i.emscripten_builtin_memalign,i._emscripten_stack_restore,i._emscripten_stack_alloc,i.emscripten_stack_get_current,i.__indirect_function_table}var Oc={__syscall_chmod:Kh,__syscall_faccessat:Vh,__syscall_fchmod:Jh,__syscall_fchown32:Xh,__syscall_fcntl64:Qh,__syscall_fstat64:Yh,__syscall_ftruncate64:rm,__syscall_getcwd:nm,__syscall_ioctl:om,__syscall_lstat64:im,__syscall_mkdirat:sm,__syscall_newfstatat:am,__syscall_openat:cm,__syscall_readlinkat:lm,__syscall_rmdir:um,__syscall_stat64:dm,__syscall_unlinkat:fm,__syscall_utimensat:pm,_localtime_js:ym,_mmap_js:bm,_munmap_js:wm,_tzset_js:vm,clock_time_get:xm,emscripten_date_now:Rc,emscripten_get_heap_max:Tm,emscripten_get_now:kc,emscripten_resize_heap:Rm,environ_get:Dm,environ_sizes_get:Om,fd_close:Im,fd_fdstat_get:Pm,fd_read:Cm,fd_seek:qm,fd_sync:Lm,fd_write:Fm,memory:ur};function Li(){if(Dr>0){In=Li;return}if(Ue(),Dr>0){In=Li;return}function i(){if(r.calledRun=!0,_e)return;tt(),de?.(r),r.onRuntimeInitialized?.(),Rr()}if(r.setStatus)r.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>r.setStatus(""),1),i()},1);else i()}var tn=await Dh();if(Li(),r.runSQLite3PostLoadInit=async function(i,l,h){delete l.runSQLite3PostLoadInit,globalThis.sqlite3ApiBootstrap=async function f(c=globalThis.sqlite3ApiConfig||f.defaultConfig){if(f.sqlite3)return(f.sqlite3.config||console).warn("sqlite3ApiBootstrap() called multiple times.","Config and external initializers are ignored on calls after the first."),f.sqlite3;let d=(...S)=>Object.assign(Object.create(null),...S),p=d({exports:void 0,memory:void 0,bigIntEnabled:!!globalThis.BigInt64Array,debug:console.debug.bind(console),warn:console.warn.bind(console),error:console.error.bind(console),log:console.log.bind(console),wasmfsOpfsDir:"/opfs",useStdAlloc:!1},c);Object.assign(p,{allocExportName:p.useStdAlloc?"malloc":"sqlite3_malloc",deallocExportName:p.useStdAlloc?"free":"sqlite3_free",reallocExportName:p.useStdAlloc?"realloc":"sqlite3_realloc"}),["exports","memory","functionTable","wasmfsOpfsDir"].forEach((S)=>{if(typeof p[S]==="function")p[S]=p[S]()});let E=d(),b=d(),I=(S)=>E.sqlite3_js_rc_str&&E.sqlite3_js_rc_str(S)||"Unknown result code #"+S,V=(S)=>typeof S==="number"&&S===(S|0)&&S<=2147483647&&S>=-2147483648;class M extends Error{constructor(...S){let P;if(S.length)if(V(S[0]))if(P=S[0],S.length===1)super(I(S[0]));else{let K=I(P);if(typeof S[1]==="object")super(K,S[1]);else{S[0]=K+":";super(S.join(" "))}}else if(S.length===2&&typeof S[1]==="object")super(...S);else super(S.join(" "));this.resultCode=P||E.SQLITE_ERROR,this.name="SQLite3Error"}}M.toss=(...S)=>{throw new M(...S)};let C=M.toss;if(p.wasmfsOpfsDir&&!/^\/[^/]+$/.test(p.wasmfsOpfsDir))C("config.wasmfsOpfsDir must be falsy or in the form '/dir-name'.");let q=function S(P){if(!S._max)S._max=BigInt("0x7fffffffffffffff"),S._min=~S._max;return P>=S._min&&P<=S._max},H=(S)=>S>=-2147483647n-1n&&S<=2147483647n,G=function S(P){if(!S._min)S._min=Number.MIN_SAFE_INTEGER,S._max=Number.MAX_SAFE_INTEGER;return P>=S._min&&P<=S._max},le=(S)=>S&&S.constructor&&V(S.constructor.BYTES_PER_ELEMENT)?S:!1,O=(S)=>S&&(S instanceof Uint8Array||S instanceof Int8Array||S instanceof ArrayBuffer),R=(S)=>S&&(S instanceof Uint8Array||S instanceof Int8Array||S instanceof ArrayBuffer),X=(S)=>O(S)||C("Value is not of a supported TypedArray type."),ee=function(S){if(R(S))return b.typedArrayToString(S instanceof ArrayBuffer?new Uint8Array(S):S,0,S.length);else if(Array.isArray(S))return S.join("");else if(b.isPtr(S))S=b.cstrToJs(S);return S};class U extends Error{constructor(...S){if(S.length===2&&typeof S[1]==="object")super(...S);else if(S.length)super(S.join(" "));else super("Allocation failed.");this.resultCode=E.SQLITE_NOMEM,this.name="WasmAllocError"}}U.toss=(...S)=>{throw new U(...S)},Object.assign(E,{sqlite3_bind_blob:void 0,sqlite3_bind_text:void 0,sqlite3_create_function_v2:(S,P,K,oe,W,he,we,me,ve)=>{},sqlite3_create_function:(S,P,K,oe,W,he,we,me)=>{},sqlite3_create_window_function:(S,P,K,oe,W,he,we,me,ve,F)=>{},sqlite3_prepare_v3:(S,P,K,oe,W,he)=>{},sqlite3_prepare_v2:(S,P,K,oe,W)=>{},sqlite3_exec:(S,P,K,oe,W)=>{},sqlite3_randomness:(S,P)=>{}});let J={affirmBindableTypedArray:X,flexibleString:ee,bigIntFits32:H,bigIntFits64:q,bigIntFitsDouble:G,isBindableTypedArray:O,isInt32:V,isSQLableTypedArray:R,isTypedArray:le,isUIThread:()=>globalThis.window===globalThis&&!!globalThis.document,toss:function(...S){throw Error(S.join(" "))},toss3:C,typedArrayPart:b.typedArrayPart,nu:d,assert:function(S,P){if(!S)J.toss("Assertion failed:",P)},affirmDbHeader:function(S){if(S instanceof ArrayBuffer)S=new Uint8Array(S);let P="SQLite format 3";if(15>S.byteLength)C("Input does not contain an SQLite3 database header.");for(let K=0;K<15;++K)if(P.charCodeAt(K)!==S[K])C("Input does not contain an SQLite3 database header.")},affirmIsDb:function(S){if(S instanceof ArrayBuffer)S=new Uint8Array(S);let P=S.byteLength;if(P<512||P%512!==0)C("Byte array size",P,"is invalid for an SQLite3 db.");J.affirmDbHeader(S)}};Object.assign(b,{exports:p.exports||C("Missing API config.exports (WASM module exports)."),memory:p.memory||p.exports.memory||C("API config object requires a WebAssembly.Memory object","in either config.exports.memory (exported)","or config.memory (imported)."),pointerSize:typeof p.exports.sqlite3_libversion()==="number"?4:8,bigIntEnabled:!!p.bigIntEnabled,functionTable:p.functionTable,alloc:void 0,realloc:void 0,dealloc:void 0}),b.allocFromTypedArray=function(S){if(S instanceof ArrayBuffer)S=new Uint8Array(S);X(S);let P=b.alloc(S.byteLength||1);return b.heapForSize(S.constructor).set(S.byteLength?S:[0],Number(P)),P};{let{allocExportName:S,deallocExportName:P,reallocExportName:K}=p;for(let oe of[S,P,K])if(!(b.exports[oe]instanceof Function))C("Missing required exports[",oe,"] function.");b.alloc=function oe(W){return oe.impl(W)||U.toss("Failed to allocate",W," bytes.")},b.alloc.impl=b.exports[S],b.realloc=function oe(W,he){let we=oe.impl(b.ptr.coerce(W),he);return he?we||U.toss("Failed to reallocate",he," bytes."):b.ptr.null},b.realloc.impl=b.exports[K],b.dealloc=function oe(W){oe.impl(b.ptr.coerce(W))},b.dealloc.impl=b.exports[P]}b.compileOptionUsed=function S(P){if(!arguments.length){if(S._result)return S._result;else if(!S._opt)S._rx=/^([^=]+)=(.+)/,S._rxInt=/^-?\d+$/,S._opt=function(we,me){let ve=S._rx.exec(we);me[0]=ve?ve[1]:we,me[1]=ve?S._rxInt.test(ve[2])?+ve[2]:ve[2]:!0};let K=d(),oe=[0,0],W=0,he;while(he=E.sqlite3_compileoption_get(W++))S._opt(he,oe),K[oe[0]]=oe[1];return S._result=K}else if(Array.isArray(P)){let K=d();return P.forEach((oe)=>{K[oe]=E.sqlite3_compileoption_used(oe)}),K}else if(typeof P==="object")return Object.keys(P).forEach((K)=>{P[K]=E.sqlite3_compileoption_used(K)}),P;return typeof P==="string"?!!E.sqlite3_compileoption_used(P):!1},b.pstack=d({restore:b.exports.sqlite3__wasm_pstack_restore,alloc:function(S){if(typeof S==="string"&&!(S=b.sizeofIR(S)))U.toss("Invalid value for pstack.alloc(",arguments[0],")");return b.exports.sqlite3__wasm_pstack_alloc(S)||U.toss("Could not allocate",S,"bytes from the pstack.")},allocChunks:function(S,P){if(typeof P==="string"&&!(P=b.sizeofIR(P)))U.toss("Invalid size value for allocChunks(",arguments[1],")");let K=b.pstack.alloc(S*P),oe=[K],W=1,he=P;for(;W<S;++W,he+=P)oe.push(b.ptr.add(K,he));return oe},allocPtr:(S=1,P=!0)=>S===1?b.pstack.alloc(P?8:b.ptr.size):b.pstack.allocChunks(S,P?8:b.ptr.size),call:function(S){let P=b.pstack.pointer;try{return S(pe)}finally{b.pstack.restore(P)}}}),Object.defineProperties(b.pstack,{pointer:{configurable:!1,iterable:!0,writeable:!1,get:b.exports.sqlite3__wasm_pstack_ptr},quota:{configurable:!1,iterable:!0,writeable:!1,get:b.exports.sqlite3__wasm_pstack_quota},remaining:{configurable:!1,iterable:!0,writeable:!1,get:b.exports.sqlite3__wasm_pstack_remaining}}),E.sqlite3_randomness=(...S)=>{if(S.length===1&&J.isTypedArray(S[0])&&S[0].BYTES_PER_ELEMENT===1){let P=S[0];if(P.byteLength===0)return b.exports.sqlite3_randomness(0,b.ptr.null),P;let K=b.pstack.pointer;try{let oe=P.byteLength,W=0,he=b.exports.sqlite3_randomness,we=b.heap8u(),me=oe<512?oe:512,ve=b.pstack.alloc(me);do{let F=oe>me?me:oe;he(F,ve),P.set(b.typedArrayPart(we,ve,b.ptr.add(ve,F)),W),oe-=F,W+=F}while(oe>0)}catch(oe){p.error("Highly unexpected (and ignored!) exception in sqlite3_randomness():",oe)}finally{b.pstack.restore(K)}return P}b.exports.sqlite3_randomness(...S)},E.sqlite3_wasmfs_opfs_dir=function(){if(this.dir!==void 0)return this.dir;let S=p.wasmfsOpfsDir;if(!S||!globalThis.FileSystemHandle||!globalThis.FileSystemDirectoryHandle||!globalThis.FileSystemFileHandle||!b.exports.sqlite3__wasm_init_wasmfs)return this.dir="";try{if(S&&b.xCallWrapped("sqlite3__wasm_init_wasmfs","i32",["string"],S)===0)return this.dir=S;else return this.dir=""}catch(P){return this.dir=""}}.bind(d()),E.sqlite3_wasmfs_filename_is_persistent=function(S){let P=E.sqlite3_wasmfs_opfs_dir();return P&&S?S.startsWith(P+"/"):!1},E.sqlite3_js_db_uses_vfs=function(S,P,K=0){try{let oe=E.sqlite3_vfs_find(P);if(!oe)return!1;else if(!S)return oe===E.sqlite3_vfs_find(0)?oe:!1;else return oe===E.sqlite3_js_db_vfs(S,K)?oe:!1}catch(oe){return!1}},E.sqlite3_js_vfs_list=function(){let S=[],P=E.sqlite3_vfs_find(b.ptr.null);while(P){let K=new E.sqlite3_vfs(P);S.push(b.cstrToJs(K.$zName)),P=K.$pNext,K.dispose()}return S},E.sqlite3_js_db_export=function(S,P=0){if(S=b.xWrap.testConvertArg("sqlite3*",S),!S)C("Invalid sqlite3* argument.");if(!b.bigIntEnabled)C("BigInt support is not enabled.");let K=b.scopedAllocPush(),oe;try{let W=b.scopedAlloc(8+b.ptr.size),he=b.ptr.add(W,8),we=P?b.isPtr(P)?P:b.scopedAllocCString(""+P):b.ptr.null,me=b.exports.sqlite3__wasm_db_serialize(S,we,he,W,0);if(me)C("Database serialization failed with code",pe.capi.sqlite3_js_rc_str(me));oe=b.peekPtr(he);let ve=b.peek(W,"i64");return me=ve?b.heap8u().slice(Number(oe),Number(oe)+Number(ve)):new Uint8Array,me}finally{if(oe)b.exports.sqlite3_free(oe);b.scopedAllocPop(K)}},E.sqlite3_js_db_vfs=(S,P=b.ptr.null)=>J.sqlite3__wasm_db_vfs(S,P),E.sqlite3_js_aggregate_context=(S,P)=>E.sqlite3_aggregate_context(S,P)||(P?U.toss("Cannot allocate",P,"bytes for sqlite3_aggregate_context()"):0),E.sqlite3_js_posix_create_file=function(S,P,K){let oe;if(P&&b.isPtr(P))oe=P;else if(P instanceof ArrayBuffer||P instanceof Uint8Array){if(oe=b.allocFromTypedArray(P),arguments.length<3||!J.isInt32(K)||K<0)K=P.byteLength}else M.toss("Invalid 2nd argument for sqlite3_js_posix_create_file().");try{if(!J.isInt32(K)||K<0)M.toss("Invalid 3rd argument for sqlite3_js_posix_create_file().");let W=J.sqlite3__wasm_posix_create_file(S,oe,K);if(W)M.toss("Creation of file failed with sqlite3 result code",E.sqlite3_js_rc_str(W))}finally{if(oe&&oe!==P)b.dealloc(oe)}},E.sqlite3_js_vfs_create_file=function(S,P,K,oe){p.warn("sqlite3_js_vfs_create_file() is deprecated and","should be avoided because it can lead to C-level crashes.","See its documentation for alternatives.");let W;if(K)if(b.isPtr(K))W=K;else{if(K instanceof ArrayBuffer)K=new Uint8Array(K);if(K instanceof Uint8Array){if(W=b.allocFromTypedArray(K),arguments.length<4||!J.isInt32(oe)||oe<0)oe=K.byteLength}else M.toss("Invalid 3rd argument type for sqlite3_js_vfs_create_file().")}else W=0;if(!J.isInt32(oe)||oe<0){if(W&&W!==K)b.dealloc(W);M.toss("Invalid 4th argument for sqlite3_js_vfs_create_file().")}try{let he=J.sqlite3__wasm_vfs_create_file(S,P,W,oe);if(he)M.toss("Creation of file failed with sqlite3 result code",E.sqlite3_js_rc_str(he))}finally{if(W&&W!==K)b.dealloc(W)}},E.sqlite3_js_sql_to_string=(S)=>{if(typeof S==="string")return S;let P=ee(v);return P===v?void 0:P},E.sqlite3_db_config=function(S,P,...K){switch(P){case E.SQLITE_DBCONFIG_ENABLE_FKEY:case E.SQLITE_DBCONFIG_ENABLE_TRIGGER:case E.SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER:case E.SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION:case E.SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE:case E.SQLITE_DBCONFIG_ENABLE_QPSG:case E.SQLITE_DBCONFIG_TRIGGER_EQP:case E.SQLITE_DBCONFIG_RESET_DATABASE:case E.SQLITE_DBCONFIG_DEFENSIVE:case E.SQLITE_DBCONFIG_WRITABLE_SCHEMA:case E.SQLITE_DBCONFIG_LEGACY_ALTER_TABLE:case E.SQLITE_DBCONFIG_DQS_DML:case E.SQLITE_DBCONFIG_DQS_DDL:case E.SQLITE_DBCONFIG_ENABLE_VIEW:case E.SQLITE_DBCONFIG_LEGACY_FILE_FORMAT:case E.SQLITE_DBCONFIG_TRUSTED_SCHEMA:case E.SQLITE_DBCONFIG_STMT_SCANSTATUS:case E.SQLITE_DBCONFIG_REVERSE_SCANORDER:case E.SQLITE_DBCONFIG_ENABLE_ATTACH_CREATE:case E.SQLITE_DBCONFIG_ENABLE_ATTACH_WRITE:case E.SQLITE_DBCONFIG_ENABLE_COMMENTS:case E.SQLITE_DBCONFIG_FP_DIGITS:if(!this.ip)this.ip=b.xWrap("sqlite3__wasm_db_config_ip","int",["sqlite3*","int","int","*"]);return this.ip(S,P,K[0],K[1]||0);case E.SQLITE_DBCONFIG_LOOKASIDE:if(!this.pii)this.pii=b.xWrap("sqlite3__wasm_db_config_pii","int",["sqlite3*","int","*","int","int"]);return this.pii(S,P,K[0],K[1],K[2]);case E.SQLITE_DBCONFIG_MAINDBNAME:if(!this.s)this.s=b.xWrap("sqlite3__wasm_db_config_s","int",["sqlite3*","int","string:static"]);return this.s(S,P,K[0]);default:return E.SQLITE_MISUSE}}.bind(d()),E.sqlite3_value_to_js=function(S,P=!0){let K,oe=E.sqlite3_value_type(S);switch(oe){case E.SQLITE_INTEGER:if(b.bigIntEnabled){if(K=E.sqlite3_value_int64(S),J.bigIntFitsDouble(K))K=Number(K)}else K=E.sqlite3_value_double(S);break;case E.SQLITE_FLOAT:K=E.sqlite3_value_double(S);break;case E.SQLITE_TEXT:K=E.sqlite3_value_text(S);break;case E.SQLITE_BLOB:{let W=E.sqlite3_value_bytes(S),he=E.sqlite3_value_blob(S);if(W&&!he)pe.WasmAllocError.toss("Cannot allocate memory for blob argument of",W,"byte(s)");K=W?b.heap8u().slice(Number(he),Number(he)+Number(W)):null;break}case E.SQLITE_NULL:K=null;break;default:if(P)C(E.SQLITE_MISMATCH,"Unhandled sqlite3_value_type():",oe);K=void 0}return K},E.sqlite3_values_to_js=function(S,P,K=!0){let oe,W=[];for(oe=0;oe<S;++oe)W.push(E.sqlite3_value_to_js(b.peekPtr(b.ptr.add(P,b.ptr.size*oe)),K));return W},E.sqlite3_result_error_js=function(S,P){if(P instanceof U)E.sqlite3_result_error_nomem(S);else E.sqlite3_result_error(S,""+P,-1)},E.sqlite3_result_js=function(S,P){if(P instanceof Error){E.sqlite3_result_error_js(S,P);return}try{switch(typeof P){case"undefined":break;case"boolean":E.sqlite3_result_int(S,P?1:0);break;case"bigint":if(J.bigIntFits32(P))E.sqlite3_result_int(S,Number(P));else if(J.bigIntFitsDouble(P))E.sqlite3_result_double(S,Number(P));else if(b.bigIntEnabled)if(J.bigIntFits64(P))E.sqlite3_result_int64(S,P);else C("BigInt value",P.toString(),"is too BigInt for int64.");else C("BigInt value",P.toString(),"is too BigInt.");break;case"number":{let K;if(J.isInt32(P))K=E.sqlite3_result_int;else if(b.bigIntEnabled&&Number.isInteger(P)&&J.bigIntFits64(BigInt(P)))K=E.sqlite3_result_int64;else K=E.sqlite3_result_double;K(S,P);break}case"string":{let[K,oe]=b.allocCString(P,!0);E.sqlite3_result_text(S,K,oe,E.SQLITE_WASM_DEALLOC);break}case"object":if(P===null){E.sqlite3_result_null(S);break}else if(J.isBindableTypedArray(P)){let K=b.allocFromTypedArray(P);E.sqlite3_result_blob(S,K,P.byteLength,E.SQLITE_WASM_DEALLOC);break}default:C("Don't not how to handle this UDF result value:",typeof P,P)}}catch(K){E.sqlite3_result_error_js(S,K)}},E.sqlite3_column_js=function(S,P,K=!0){let oe=E.sqlite3_column_value(S,P);return oe===0?void 0:E.sqlite3_value_to_js(oe,K)};{let S=function(P,K,oe){if(oe=E[oe],!this.ptr)this.ptr=b.allocPtr();else b.pokePtr(this.ptr,0);let W=oe(P,K,this.ptr);if(W)return M.toss(W,arguments[2]+"() failed with code "+W);let he=b.peekPtr(this.ptr);return he?E.sqlite3_value_to_js(he,!0):void 0}.bind(d());E.sqlite3_preupdate_new_js=(P,K)=>S(P,K,"sqlite3_preupdate_new"),E.sqlite3_preupdate_old_js=(P,K)=>S(P,K,"sqlite3_preupdate_old"),E.sqlite3changeset_new_js=(P,K)=>S(P,K,"sqlite3changeset_new"),E.sqlite3changeset_old_js=(P,K)=>S(P,K,"sqlite3changeset_old")}E.sqlite3_js_retry_busy=function(S,P,K){for(let oe=1;oe<=S;++oe)try{if(K&&oe>1)K(oe);let W=P();if(E.SQLITE_BUSY===W){if(oe===S)throw new M(W,["sqlite3_js_retry_busy() max retry attempts (",S,") reached."].join(""));continue}return W}catch(W){if(oe<S&&W instanceof M&&W.resultCode===E.SQLITE_BUSY)continue;throw W}};let pe={WasmAllocError:U,SQLite3Error:M,capi:E,util:J,wasm:b,config:p,version:d(),client:void 0,asyncPostInit:async function S(){if(S.isReady instanceof Promise)return S.isReady;let P=this.initializersAsync;delete this.initializersAsync;let K=async()=>{if(!pe.__isUnderTest)delete pe.util,delete pe.StructBinder,delete pe.opfs;return pe},oe=(he)=>{throw p.error("an async sqlite3 initializer failed:",he),he};if(!P||!P.length)return S.isReady=K().catch(oe);P=P.map((he)=>he instanceof Function?async(we)=>he(pe):he),P.push(K);let W=Promise.resolve(pe);while(P.length)W=W.then(P.shift());return S.isReady=W.catch(oe)}.bind(f),scriptInfo:void 0};if(typeof h<"u")pe.__isUnderTest=!!h;try{f.initializers.forEach((S)=>{S(pe)})}catch(S){throw console.error("sqlite3 bootstrap initializer threw:",S),S}if(delete f.initializers,f.sqlite3=pe,typeof i<"u")i.debugModule("sqlite3ApiBootstrap() complete",pe),pe.scriptInfo=i;if(pe.__isUnderTest){if(typeof l<"u")pe.config.emscripten=l;let S=pe.scriptInfo?.instantiateWasm;if(S)pe.wasm.module=S.module,pe.wasm.instance=S.instance,pe.wasm.imports=S.imports}return delete globalThis.sqlite3ApiConfig,delete globalThis.sqlite3ApiBootstrap,delete f.defaultConfig,pe.asyncPostInit().then((S)=>{if(typeof i<"u")i.debugModule("sqlite3.asyncPostInit() complete",S);return delete S.asyncPostInit,delete S.scriptInfo,delete S.emscripten,S})},globalThis.sqlite3ApiBootstrap.initializers=[],globalThis.sqlite3ApiBootstrap.initializersAsync=[],globalThis.sqlite3ApiBootstrap.defaultConfig=Object.create(null),globalThis.sqlite3ApiBootstrap.sqlite3=void 0,globalThis.sqlite3ApiBootstrap.initializers.push(function(f){f.version={libVersion:"3.53.0",libVersionNumber:3053000,sourceId:"2026-04-09 11:41:38 4525003a53a7fc63ca75c59b22c79608659ca12f0131f52c18637f829977f20b",downloadVersion:3530000,scm:{"sha3-256":"4525003a53a7fc63ca75c59b22c79608659ca12f0131f52c18637f829977f20b",branch:"trunk",tags:"release major-release version-3.53.0",datetime:"2026-04-09T11:41:38.498Z"}}}),globalThis.WhWasmUtilInstaller=function(c){if(c.bigIntEnabled===void 0)c.bigIntEnabled=!!globalThis.BigInt64Array;let d=(...g)=>{throw Error(g.join(" "))};if(!c.pointerSize&&!c.pointerIR&&c.alloc&&c.dealloc){let g=c.alloc(1);c.pointerSize=typeof g==="bigint"?8:4,c.dealloc(g)}if(c.pointerSize&&!c.pointerIR)c.pointerIR=c.pointerSize===4?"i32":"i64";let p=c.pointerIR??="i32",E=c.pointerSize??=p==="i32"?4:p==="i64"?8:0;if(delete c.pointerSize,delete c.pointerIR,p!=="i32"&&p!=="i64")d("Invalid pointerIR:",p);else if(E!==8&&E!==4)d("Invalid pointerSize:",E);let b=c.bigIntEnabled?(g)=>BigInt(g||0):(g)=>d("BigInt support is disabled in this build."),V=E===4?(g)=>Number(g||0):b,M=V(0),C=function(...g){let w=V(0);for(let T of g)w+=V(T);return w};{let g=Object.create(null);Object.defineProperty(c,"ptr",{enumerable:!0,get:()=>g,set:()=>d("The ptr property is read-only.")}),function w(T,N){return Object.defineProperty(g,T,{enumerable:!0,get:()=>N,set:()=>d("ptr["+T+"] is read-only.")}),w}("null",M)("size",E)("ir",p)("coerce",V)("add",C)("addn",p===4?C:(...w)=>Number(C(...w)))}if(!c.exports)Object.defineProperty(c,"exports",{enumerable:!0,configurable:!0,get:()=>c.instance?.exports});let q=Object.create(null);q.heapSize=0,q.memory=null,q.freeFuncIndexes=[],q.scopedAlloc=[],q.scopedAlloc.pushPtr=(g)=>(q.scopedAlloc[q.scopedAlloc.length-1].push(g),g),q.utf8Decoder=new TextDecoder,q.utf8Encoder=new TextEncoder("utf-8"),c.sizeofIR=(g)=>{switch(g){case"i8":return 1;case"i16":return 2;case"i32":case"f32":case"float":return 4;case"i64":case"f64":case"double":return 8;case"*":return E;default:return(""+g).endsWith("*")?E:void 0}};let H=function(){if(!q.memory)q.memory=c.memory instanceof WebAssembly.Memory?c.memory:c.exports.memory;else if(q.heapSize===q.memory.buffer.byteLength)return q;let g=q.memory.buffer;if(q.HEAP8=new Int8Array(g),q.HEAP8U=new Uint8Array(g),q.HEAP16=new Int16Array(g),q.HEAP16U=new Uint16Array(g),q.HEAP32=new Int32Array(g),q.HEAP32U=new Uint32Array(g),q.HEAP32F=new Float32Array(g),q.HEAP64F=new Float64Array(g),c.bigIntEnabled)if(typeof BigInt64Array<"u")q.HEAP64=new BigInt64Array(g),q.HEAP64U=new BigUint64Array(g);else d("BigInt support is enabled, but the BigInt64Array type is missing.");return q.heapSize=g.byteLength,q};c.heap8=()=>H().HEAP8,c.heap8u=()=>H().HEAP8U,c.heap16=()=>H().HEAP16,c.heap16u=()=>H().HEAP16U,c.heap32=()=>H().HEAP32,c.heap32u=()=>H().HEAP32U,c.heapForSize=function(g,w=!0){let T=q.memory&&q.heapSize===q.memory.buffer.byteLength?q:H();switch(g){case Int8Array:return T.HEAP8;case Uint8Array:return T.HEAP8U;case Int16Array:return T.HEAP16;case Uint16Array:return T.HEAP16U;case Int32Array:return T.HEAP32;case Uint32Array:return T.HEAP32U;case 8:return w?T.HEAP8U:T.HEAP8;case 16:return w?T.HEAP16U:T.HEAP16;case 32:return w?T.HEAP32U:T.HEAP32;case 64:if(T.HEAP64)return w?T.HEAP64U:T.HEAP64;break;default:if(c.bigIntEnabled){if(g===globalThis.BigUint64Array)return T.HEAP64U;else if(g===globalThis.BigInt64Array)return T.HEAP64;break}}d("Invalid heapForSize() size: expecting 8, 16, 32,","or (if BigInt is enabled) 64.")};let G=c.functionTable;delete c.functionTable,c.functionTable=G?()=>G:()=>c.exports.__indirect_function_table,c.functionEntry=function(g){let w=c.functionTable();return g<w.length?w.get(V(g)):void 0},c.jsFuncToWasm=function g(w,T){if(!g._)g._={sigTypes:Object.assign(Object.create(null),{i:"i32",p,P:p,s:p,j:"i64",f:"f32",d:"f64"}),typeCodes:Object.assign(Object.create(null),{f64:124,f32:125,i64:126,i32:127}),uleb128Encode:(A,L,Q)=>{if(Q<128)A[L](Q);else A[L](Q%128|128,Q>>7)},rxJSig:/^(\w)\((\w*)\)$/,sigParams:(A)=>{let L=g._.rxJSig.exec(A);return L?L[2]:A.substr(1)},letterType:(A)=>g._.sigTypes[A]||d("Invalid signature letter:",A),pushSigType:(A,L)=>A.push(g._.typeCodes[g._.letterType(L)])};if(typeof w==="string"){let A=T;T=w,w=A}let N=g._,te=N.sigParams(T),se=[1,96];N.uleb128Encode(se,"push",te.length);for(let A of te)N.pushSigType(se,A);if(T[0]==="v")se.push(0);else se.push(1),N.pushSigType(se,T[0]);return N.uleb128Encode(se,"unshift",se.length),se.unshift(0,97,115,109,1,0,0,0,1),se.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0),new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array(se)),{e:{f:w}}).exports.f};let le=function(w,T,N){if(N&&!q.scopedAlloc.length)d("No scopedAllocPush() scope is active.");if(typeof w==="string"){let L=T;T=w,w=L}if(typeof T!=="string"||!(w instanceof Function))d("Invalid arguments: expecting (function,signature) or (signature,function).");let te=c.functionTable(),se=V(te.length),A;while(A=q.freeFuncIndexes.pop())if(te.get(A)){A=null;continue}else break;if(!A)A=V(se),te.grow(V(1));try{if(te.set(A,w),N)q.scopedAlloc.pushPtr(A);return A}catch(L){if(!(L instanceof TypeError)){if(A===se)q.freeFuncIndexes.push(se);throw L}}try{let L=c.jsFuncToWasm(w,T);if(te.set(A,L),N)q.scopedAlloc.pushPtr(A)}catch(L){if(A===se)q.freeFuncIndexes.push(se);throw L}return A};c.installFunction=(g,w)=>le(g,w,!1),c.scopedInstallFunction=(g,w)=>le(g,w,!0),c.uninstallFunction=function(g){if(!g&&M!==g)return;let w=c.functionTable();q.freeFuncIndexes.push(g);let T=w.get(g);return w.set(g,null),T},c.peek=function(w,T="i8"){if(T.endsWith("*"))T=p;let N=q.memory&&q.heapSize===q.memory.buffer.byteLength?q:H(),te=Array.isArray(w)?[]:void 0,se;do{if(te)w=arguments[0].shift();switch(T){case"i1":case"i8":se=N.HEAP8[Number(w)>>0];break;case"i16":se=N.HEAP16[Number(w)>>1];break;case"i32":se=N.HEAP32[Number(w)>>2];break;case"float":case"f32":se=N.HEAP32F[Number(w)>>2];break;case"double":case"f64":se=Number(N.HEAP64F[Number(w)>>3]);break;case"i64":if(N.HEAP64){se=b(N.HEAP64[Number(w)>>3]);break}default:d("Invalid type for peek():",T)}if(te)te.push(se)}while(te&&arguments[0].length);return te||se},c.poke=function(g,w,T="i8"){if(T.endsWith("*"))T=p;let N=q.memory&&q.heapSize===q.memory.buffer.byteLength?q:H();for(let te of Array.isArray(g)?g:[g])switch(T){case"i1":case"i8":N.HEAP8[Number(te)>>0]=w;continue;case"i16":N.HEAP16[Number(te)>>1]=w;continue;case"i32":N.HEAP32[Number(te)>>2]=w;continue;case"float":case"f32":N.HEAP32F[Number(te)>>2]=w;continue;case"double":case"f64":N.HEAP64F[Number(te)>>3]=w;continue;case"i64":if(N.HEAP64){N.HEAP64[Number(te)>>3]=b(w);continue}default:d("Invalid type for poke(): "+T)}return this},c.peekPtr=(...g)=>c.peek(g.length===1?g[0]:g,p),c.pokePtr=(g,w=0)=>c.poke(g,w,p),c.peek8=(...g)=>c.peek(g.length===1?g[0]:g,"i8"),c.poke8=(g,w)=>c.poke(g,w,"i8"),c.peek16=(...g)=>c.peek(g.length===1?g[0]:g,"i16"),c.poke16=(g,w)=>c.poke(g,w,"i16"),c.peek32=(...g)=>c.peek(g.length===1?g[0]:g,"i32"),c.poke32=(g,w)=>c.poke(g,w,"i32"),c.peek64=(...g)=>c.peek(g.length===1?g[0]:g,"i64"),c.poke64=(g,w)=>c.poke(g,w,"i64"),c.peek32f=(...g)=>c.peek(g.length===1?g[0]:g,"f32"),c.poke32f=(g,w)=>c.poke(g,w,"f32"),c.peek64f=(...g)=>c.peek(g.length===1?g[0]:g,"f64"),c.poke64f=(g,w)=>c.poke(g,w,"f64"),c.getMemValue=c.peek,c.getPtrValue=c.peekPtr,c.setMemValue=c.poke,c.setPtrValue=c.pokePtr,c.isPtr32=(g)=>typeof g==="number"&&g>=0&&g===(g|0),c.isPtr64=(g)=>typeof g==="bigint"?g>=0:c.isPtr32(g),c.isPtr=E===4?c.isPtr32:c.isPtr64,c.cstrlen=function(g){if(!g||!c.isPtr(g))return null;g=Number(g);let w=H().HEAP8U,T=g;for(;w[T]!==0;++T);return T-g};let O=typeof SharedArrayBuffer>"u"?function(){}:SharedArrayBuffer,R=(g)=>g.buffer instanceof O;c.isSharedTypedArray=R;let X=(g,w,T)=>{if(E===8){if(typeof w==="bigint")w=Number(w);if(typeof T==="bigint")T=Number(T)}return R(g)?g.slice(w,T):g.subarray(w,T)};c.typedArrayPart=X;let ee=(g,w,T)=>q.utf8Decoder.decode(X(g,w,T));c.typedArrayToString=ee,c.cstrToJs=function(g){let w=c.cstrlen(g);return w?ee(H().HEAP8U,Number(g),Number(g)+w):w===null?w:""},c.jstrlen=function(g){if(typeof g!=="string")return null;let w=g.length,T=0;for(let N=0;N<w;++N){let te=g.charCodeAt(N);if(te>=55296&&te<=57343)te=65536+((te&1023)<<10)|g.charCodeAt(++N)&1023;if(te<=127)++T;else if(te<=2047)T+=2;else if(te<=65535)T+=3;else T+=4}return T},c.jstrcpy=function(g,w,T=0,N=-1,te=!0){if(!w||!(w instanceof Int8Array)&&!(w instanceof Uint8Array))d("jstrcpy() target must be an Int8Array or Uint8Array.");if(N=Number(N),T=Number(T),N<0)N=w.length-T;if(!(N>0)||!(T>=0))return 0;let se=0,A=g.length,L=T,Q=T+N-(te?1:0);for(;se<A&&T<Q;++se){let ne=g.charCodeAt(se);if(ne>=55296&&ne<=57343)ne=65536+((ne&1023)<<10)|g.charCodeAt(++se)&1023;if(ne<=127){if(T>=Q)break;w[T++]=ne}else if(ne<=2047){if(T+1>=Q)break;w[T++]=192|ne>>6,w[T++]=128|ne&63}else if(ne<=65535){if(T+2>=Q)break;w[T++]=224|ne>>12,w[T++]=128|ne>>6&63,w[T++]=128|ne&63}else{if(T+3>=Q)break;w[T++]=240|ne>>18,w[T++]=128|ne>>12&63,w[T++]=128|ne>>6&63,w[T++]=128|ne&63}}if(te)w[T++]=0;return T-L},c.cstrncpy=function(g,w,T){if(!g||!w)d("cstrncpy() does not accept NULL strings.");if(T<0)T=c.cstrlen(strPtr)+1;else if(!(T>0))return 0;let N=c.heap8u(),te=0,se,A=Number(g),L=Number(w);for(;te<T&&(se=N[L+te]);++te)N[A+te]=se;if(te<T)N[A+te++]=0;return te},c.jstrToUintArray=(g,w=!1)=>q.utf8Encoder.encode(w?g+"\x00":g);let U=(g,w)=>{if(!(g.alloc instanceof Function)||!(g.dealloc instanceof Function))d("Object is missing alloc() and/or dealloc() function(s)","required by",w+"().")},J=function(g,w,T,N){if(U(c,N),typeof g!=="string")return null;let te=q.utf8Encoder.encode(g),se=T(te.length+1),A=se;try{let L=H().HEAP8U;return L.set(te,Number(se)),L[C(se,te.length)]=0,A=M,w?[se,te.length]:se}finally{if(A)c.dealloc(A)}};c.allocCString=(g,w=!1)=>J(g,w,c.alloc,"allocCString()"),c.scopedAllocPush=function(){U(c,"scopedAllocPush");let g=[];return q.scopedAlloc.push(g),g},c.scopedAllocPop=function(g){U(c,"scopedAllocPop");let w=arguments.length?q.scopedAlloc.indexOf(g):q.scopedAlloc.length-1;if(w<0)d("Invalid state object for scopedAllocPop().");if(arguments.length===0)g=q.scopedAlloc[w];q.scopedAlloc.splice(w,1);for(let T;T=g.pop();)if(c.functionEntry(T))c.uninstallFunction(T);else c.dealloc(T)},c.scopedAlloc=function(g){if(!q.scopedAlloc.length)d("No scopedAllocPush() scope is active.");let w=V(c.alloc(g));return q.scopedAlloc.pushPtr(w)},Object.defineProperty(c.scopedAlloc,"level",{configurable:!1,enumerable:!1,get:()=>q.scopedAlloc.length,set:()=>d("The 'active' property is read-only.")}),c.scopedAllocCString=(g,w=!1)=>J(g,w,c.scopedAlloc,"scopedAllocCString()");let pe=function(g,w){let T=c[g?"scopedAlloc":"alloc"]((w.length+1)*c.ptr.size),N=0;return w.forEach((te)=>{c.pokePtr(C(T,c.ptr.size*N++),c[g?"scopedAllocCString":"allocCString"](""+te))}),c.pokePtr(C(T,c.ptr.size*N),0),T};c.scopedAllocMainArgv=(g)=>pe(!0,g),c.allocMainArgv=(g)=>pe(!1,g),c.cArgvToJs=(g,w)=>{let T=[];for(let N=0;N<g;++N){let te=c.peekPtr(C(w,c.ptr.size*N));T.push(te?c.cstrToJs(te):null)}return T},c.scopedAllocCall=function(g){c.scopedAllocPush();try{return g()}finally{c.scopedAllocPop()}};let S=function(g,w,T){U(c,T);let N=w?"i64":p,te=c[T](g*(w?8:E));if(c.poke(te,0,N),g===1)return te;let se=[te];for(let A=1;A<g;++A)te=C(te,w?8:E),se[A]=te,c.poke(te,0,N);return se};c.allocPtr=(g=1,w=!0)=>S(g,w,"alloc"),c.scopedAllocPtr=(g=1,w=!0)=>S(g,w,"scopedAlloc"),c.xGet=function(g){return c.exports[g]||d("Cannot find exported symbol:",g)};let P=(g,w)=>d(g+"() requires",w,"argument(s).");c.xCall=function(g,...w){let T=g instanceof Function?g:c.xGet(g);if(!(T instanceof Function))d("Exported symbol",g,"is not a function.");if(T.length!==w.length)P(T===g?T.name:g,T.length);return arguments.length===2&&Array.isArray(arguments[1])?T.apply(null,arguments[1]):T.apply(null,w)},q.xWrap=Object.create(null),q.xWrap.convert=Object.create(null),q.xWrap.convert.arg=new Map,q.xWrap.convert.result=new Map;let K=q.xWrap.convert.arg,oe=q.xWrap.convert.result,W=V;K.set("i64",b).set("i32",(g)=>g|0).set("i16",(g)=>(g|0)&65535).set("i8",(g)=>(g|0)&255).set("f32",(g)=>Number(g).valueOf()).set("float",K.get("f32")).set("f64",K.get("f32")).set("double",K.get("f64")).set("int",K.get("i32")).set("null",(g)=>g).set(null,K.get("null")).set("**",W).set("*",W),oe.set("*",W).set("pointer",W).set("number",(g)=>Number(g)).set("void",(g)=>{return}).set(void 0,oe.get("void")).set("null",(g)=>g).set(null,oe.get("null"));for(let g of["i8","i16","i32","i64","int","f32","float","f64","double"])K.set(g+"*",W),oe.set(g+"*",W),oe.set(g,K.get(g)||d("Maintenance required: missing arg converter for",g));let he=(g)=>typeof g==="string"?c.scopedAllocCString(g):V(g);K.set("string",he).set("utf8",he),oe.set("string",(g)=>c.cstrToJs(g)).set("utf8",oe.get("string")).set("string:dealloc",(g)=>{try{return g?c.cstrToJs(g):null}finally{c.dealloc(g)}}).set("utf8:dealloc",oe.get("string:dealloc")).set("json",(g)=>JSON.parse(c.cstrToJs(g))).set("json:dealloc",(g)=>{try{return g?JSON.parse(c.cstrToJs(g)):null}finally{c.dealloc(g)}});let we=class{constructor(g){this.name=g.name||"unnamed adapter"}convertArg(g,w,T){d("AbstractArgAdapter must be subclassed.")}};K.FuncPtrAdapter=class g extends we{constructor(w){super(w);if(K.FuncPtrAdapter.warnOnUse)console.warn("xArg.FuncPtrAdapter is an internal-only API","and is not intended to be invoked from","client-level code. Invoked with:",w);if(this.name=w.name||"unnamed",this.signature=w.signature,w.contextKey instanceof Function){if(this.contextKey=w.contextKey,!w.bindScope)w.bindScope="context"}if(this.bindScope=w.bindScope||d("FuncPtrAdapter options requires a bindScope (explicit or implied)."),g.bindScopes.indexOf(w.bindScope)<0)d("Invalid options.bindScope ("+w.bindMod+") for FuncPtrAdapter. Expecting one of: ("+g.bindScopes.join(", ")+")");this.isTransient=this.bindScope==="transient",this.isContext=this.bindScope==="context",this.isPermanent=this.bindScope==="permanent",this.singleton=this.bindScope==="singleton"?[]:void 0,this.callProxy=w.callProxy instanceof Function?w.callProxy:void 0}contextKey(w,T){return this}contextMap(w){let T=this.__cmap||(this.__cmap=new Map),N=T.get(w);if(N===void 0)T.set(w,N=[]);return N}convertArg(w,T,N){let te=this.singleton;if(!te&&this.isContext)te=this.contextMap(this.contextKey(T,N));if(te&&te.length===2&&te[0]===w)return te[1];if(w instanceof Function){if(this.callProxy)w=this.callProxy(w);let se=le(w,this.signature,this.isTransient);if(g.debugFuncInstall)g.debugOut("FuncPtrAdapter installed",this,this.contextKey(T,N),"@"+se,w);if(te){if(te[1]){if(g.debugFuncInstall)g.debugOut("FuncPtrAdapter uninstalling",this,this.contextKey(T,N),"@"+te[1],w);try{q.scopedAlloc.pushPtr(te[1])}catch(A){}}te[0]=arguments[0]||M,te[1]=se}return se}else if(c.isPtr(w)||w===null||w===void 0){if(te&&te[1]&&te[1]!==w){if(g.debugFuncInstall)g.debugOut("FuncPtrAdapter uninstalling",this,this.contextKey(T,N),"@"+te[1],w);try{q.scopedAlloc.pushPtr(te[1])}catch(se){}te[0]=te[1]=w||M}return w||M}else throw TypeError("Invalid FuncPtrAdapter argument type. Expecting a function pointer or a "+(this.name?this.name+" ":"")+"function matching signature "+this.signature+".")}},K.FuncPtrAdapter.warnOnUse=!1,K.FuncPtrAdapter.debugFuncInstall=!1,K.FuncPtrAdapter.debugOut=console.debug.bind(console),K.FuncPtrAdapter.bindScopes=["transient","context","singleton","permanent"];let me=(g)=>K.get(g)||d("Argument adapter not found:",g),ve=(g)=>oe.get(g)||d("Result adapter not found:",g);q.xWrap.convertArg=(g,...w)=>me(g)(...w),q.xWrap.convertArgNoCheck=(g,...w)=>K.get(g)(...w),q.xWrap.convertResult=(g,w)=>g===null?w:g?ve(g)(w):void 0,q.xWrap.convertResultNoCheck=(g,w)=>g===null?w:g?oe.get(g)(w):void 0,c.xWrap=function g(w,T,...N){if(arguments.length===3&&Array.isArray(arguments[2]))N=arguments[2];if(c.isPtr(w))w=c.functionEntry(w)||d("Function pointer not found in WASM function table.");let te=w instanceof Function,se=te?w:c.xGet(w);if(te)w=se.name||"unnamed function";if(N.length!==se.length)P(w,se.length);if(se.length===0&&(T===null||T==="null"))return se;ve(T);for(let L of N)if(L instanceof we)K.set(L,(...Q)=>L.convertArg(...Q));else me(L);let A=q.xWrap;if(se.length===0)return(...L)=>L.length?P(w,se.length):A.convertResult(T,se.call(null));return function(...L){if(L.length!==se.length)P(w,se.length);let Q=c.scopedAllocPush();try{let ne=0;if(g.debug)console.debug("xWrap() preparing: resultType ",T,"xf",se,"argTypes",N,"args",L);for(;ne<L.length;++ne)L[ne]=A.convertArgNoCheck(N[ne],L[ne],L,ne);if(g.debug)console.debug("xWrap() calling: resultType ",T,"xf",se,"argTypes",N,"args",L);return A.convertResultNoCheck(T,se.apply(null,L))}finally{c.scopedAllocPop(Q)}}};let F=function(g,w,T,N,te,se){if(typeof T==="string"){if(w===1)return se.get(T);else if(w===2){if(!N)return se.delete(T),g;else if(!(N instanceof Function))d(te,"requires a function argument.");return se.set(T,N),g}}d("Invalid arguments to",te)};return c.xWrap.resultAdapter=function g(w,T){return F(g,arguments.length,w,T,"resultAdapter()",oe)},c.xWrap.argAdapter=function g(w,T){return F(g,arguments.length,w,T,"argAdapter()",K)},c.xWrap.FuncPtrAdapter=K.FuncPtrAdapter,c.xCallWrapped=function(g,w,T,...N){if(Array.isArray(arguments[3]))N=arguments[3];return c.xWrap(g,w,T||[]).apply(null,N||[])},c.xWrap.testConvertArg=q.xWrap.convertArg,c.xWrap.testConvertResult=q.xWrap.convertResult,c},globalThis.WhWasmUtilInstaller.yawl=function(c){let d=()=>fetch(c.uri,{credentials:"same-origin"}),p=this,E=function(b){if(c.wasmUtilTarget){let I=(...M)=>{throw Error(M.join(" "))},V=c.wasmUtilTarget;if(V.module=b.module,V.instance=b.instance,!V.instance.exports.memory)V.memory=c?.imports?.env?.memory||I("Missing 'memory' object!");if(!V.alloc&&b.instance.exports.malloc){let M=b.instance.exports;V.alloc=function(C){return M.malloc(C)||I("Allocation of",C,"bytes failed.")},V.dealloc=function(C){C&&M.free(C)}}p(V)}if(b.config=c,c.onload)c.onload(b);return b};return WebAssembly.instantiateStreaming?()=>WebAssembly.instantiateStreaming(d(),c.imports||{}).then(E):()=>d().then((b)=>b.arrayBuffer()).then((b)=>WebAssembly.instantiate(b,c.imports||{})).then(E)}.bind(globalThis.WhWasmUtilInstaller),globalThis.Jaccwabyt=function f(c){let d=(...z)=>{throw Error(z.join(" "))};{let z=c.heap;if(z instanceof WebAssembly.Memory)z=function(){return new Uint8Array(this.buffer)}.bind(z);else if(!(z instanceof Function))d("config.heap must be WebAssembly.Memory instance or","a function which returns one.");c.heap=z}["alloc","dealloc"].forEach(function(z){c[z]instanceof Function||d("Config option '"+z+"' must be a function.")});let p=f,{heap:E,alloc:b,dealloc:I}=c;c.realloc;let V=c.log||console.debug.bind(console),M=c.memberPrefix||"",C=c.memberSuffix||"",{BigInt:q,BigInt64Array:H}=globalThis,G=c.bigIntEnabled??!!H,le,O=c.pointerSize||c.ptrSize||(typeof(le=b(1))==="bigint"?8:4),R=c.pointerIR||c.ptrIR||(O===4?"i32":"i64");if(le)I(le),le=void 0;if(O!==4&&O!==8)d("Invalid pointer size:",O);if(R!=="i32"&&R!=="i64")d("Invalid pointer representation:",R);let X=G&&q?(z)=>q(z||0):(z)=>d("BigInt support is disabled in this build."),ee=R=="i32"?Number:X,U=ee(0),J=function(...z){let ie=U;for(let fe=0;fe<z.length;++fe)ie+=ee(z[fe]);return ie},pe=function(...z){return J(this.pointer,...z)};if(!p.debugFlags)p.__makeDebugFlags=function(z=null){if(z&&z.__flags)z=z.__flags;let ie=function fe(Ee){if(arguments.length===0)return fe.__flags;if(Ee<0)delete fe.__flags.getter,delete fe.__flags.setter,delete fe.__flags.alloc,delete fe.__flags.dealloc;else fe.__flags.getter=(1&Ee)!==0,fe.__flags.setter=(2&Ee)!==0,fe.__flags.alloc=(4&Ee)!==0,fe.__flags.dealloc=(8&Ee)!==0;return fe._flags};if(Object.defineProperty(ie,"__flags",{iterable:!1,writable:!1,value:Object.create(z)}),!z)ie(0);return ie},p.debugFlags=p.__makeDebugFlags();let S=!0,P=(z)=>z[1]==="(",K=(z)=>z==="p"||z==="P"||z==="s",oe=(z)=>z==="P",W=(z)=>z?P(z)?"p":z[0]:void 0,he=function(z){switch(W(z)){case"c":case"C":return"i8";case"i":return"i32";case"p":case"P":case"s":return R;case"j":return"i64";case"f":return"float";case"d":return"double"}d("Unhandled signature IR:",z)},we=function(z){switch(W(z)){case"c":case"C":return 1;case"i":return 4;case"p":case"P":case"s":return O;case"j":return 8;case"f":return 4;case"d":return 8}d("Unhandled signature sizeof:",z)},me=H?()=>!0:()=>d("BigInt64Array is not available."),ve=function(z){switch(W(z)){case"p":case"P":case"s":switch(O){case 4:return"getInt32";case 8:return me()&&"getBigInt64"}break;case"i":return"getInt32";case"c":return"getInt8";case"C":return"getUint8";case"j":return me()&&"getBigInt64";case"f":return"getFloat32";case"d":return"getFloat64"}d("Unhandled DataView getter for signature:",z)},F=function(z){switch(W(z)){case"p":case"P":case"s":switch(O){case 4:return"setInt32";case 8:return me()&&"setBigInt64"}break;case"i":return"setInt32";case"c":return"setInt8";case"C":return"setUint8";case"j":return me()&&"setBigInt64";case"f":return"setFloat32";case"d":return"setFloat64"}d("Unhandled DataView setter for signature:",z)},g=function(z){switch(W(z)){case"i":case"f":case"c":case"C":case"d":return Number;case"j":return X;case"p":case"P":case"s":switch(O){case 4:return Number;case 8:return X}break}d("Unhandled DataView set wrapper for signature:",z)},w=(z,ie)=>z+"::"+ie,T=function(z,ie){return()=>d(w(z,ie),"is read-only.")},N=function z(ie,fe=!0){let Ee=z.map.get(ie);if(!Ee&&fe)z.map.set(ie,Ee=z.create(ie));return Ee};N.map=new WeakMap,N.create=(z)=>Object.assign(Object.create(null),{o:z,p:void 0,ownsPointer:!1,zod:!1,xb:0});let te=(z)=>N.map.delete(z),se=(z)=>typeof z==="number"&&z===(z|0)&&z>=0,L=O===4?se:(z)=>typeof z==="bigint"&&z>=0||se(z),Q=(z)=>L(z)&&z>0,ne=function(z,ie,fe){let Ee=N(ie,!1);if(!Ee)return;if(te(ie),!fe&&!(fe=Ee.p)){console.warn("Cannot(?) happen: __freeStruct() found no instanceInfo");return}if(Array.isArray(ie.ondispose)){let Ae;while(Ae=ie.ondispose.pop())try{if(Ae instanceof Function)Ae.call(ie);else if(Ae instanceof At)Ae.dispose();else if(L(Ae))I(Ae)}catch(Ke){console.warn("ondispose() for",z.structName,"@",fe,"threw. NOT propagating it.",Ke)}}else if(ie.ondispose instanceof Function)try{ie.ondispose()}catch(Ae){console.warn("ondispose() for",z.structName,"@",fe,"threw. NOT propagating it.",Ae)}if(delete ie.ondispose,z.debugFlags.__flags.dealloc)V("debug.dealloc:",Ee.ownsPointer?"":"EXTERNAL",z.structName,"instance:",z.structInfo.sizeof,"bytes @"+fe);if(Ee.ownsPointer){if(Ee.zod||z.structInfo.zeroOnDispose)E().fill(0,Number(fe),Number(fe)+z.structInfo.sizeof+Ee.xb);I(fe)}},ye=()=>({configurable:!1,writable:!1,iterable:!1}),Te=(z)=>({...ye(),value:z}),Ie=function(ie,fe,Ee){let Ae,Ke=(We)=>{Q(We)||d("Invalid pointer value",arguments[0],"for",ie.structName,"constructor.")};if(arguments.length>=3)if(Ee&&typeof Ee==="object")Ae=Ee,Ee=Ae?.wrap;else Ke(Ee),Ae={wrap:Ee};else Ae={};let ft=!Ee,xt=0,Dt=!1;if(Ee)Ke(Ee),Dt=!!Ae?.takeOwnership;else{let We=Ae?.extraBytes??0;if(We<0||We!==(We|0))d("Invalid extraBytes value:",Ae?.extraBytes);xt=ie.structInfo.sizeof+We,Ee=b(xt)||d("Allocation of",ie.structName,"structure failed."),Dt=!0}try{if(Ae?.debugFlags)fe.debugFlags(Ae.debugFlags);if(ie.debugFlags.__flags.alloc)V("debug.alloc:",ft?"":"EXTERNAL",ie.structName,"instance:",ie.structInfo.sizeof,"bytes @"+Ee);if(ft)E().fill(0,Number(Ee),Number(Ee)+xt);let We=N(fe);if(We.p=Ee,We.ownsPointer=Dt,We.xb=xt?xt-ie.structInfo.sizeof:0,We.zod=!!Ae?.zeroOnDispose,Ae?.ondispose&&Ae.ondispose!==Ee)fe.addOnDispose(Ae.ondispose)}catch(We){throw ne(ie,fe,Ee),We}},qe=function z(ie){return z.rxSig1??=/^[ipPsjfdcC]$/,z.rxSig2??=/^[vipPsjfdcC]\([ipPsjfdcC]*\)$/,z.rxSig1.test(ie)||z.rxSig2.test(ie)},Ge=function(z){let ie=this.get(z);if(!ie)ie=[Object.create(null),Object.create(null),Object.create(null)],this.set(z,ie);return ie}.bind(new WeakMap),ct=function(z,ie,fe,Ee){let Ae=Ge(z)[ie];if(arguments.length===3)return Ae[fe];if(Ee)return Ae[fe]=Ee;return delete Ae[fe]},zt=function(z,...ie){return ct(this,0,z,...ie)},Ir=function(z,ie){qe(ie)&&d(z,"(",ie,") collides with a data type signature.")},B=function(z,...ie){return Ir("Setter adaptor",z),ct(this,1,z,...ie)},re=function(z,...ie){return Ir("Struct adaptor",z),ct(this,2,z,...ie)},ae=function(z,ie){let fe=typeof ie==="string"?ct(z,2,ie):ie;if(typeof fe!=="object")d("Invalid struct mapping object. Arg =",ie,JSON.stringify(fe));return fe},Se=Te((z)=>M+z+C),Re=function(z,ie,fe=!0){let Ee=z.members[ie];if(!Ee&&(M||C)){for(let Ae of Object.values(z.members))if(Ae.key===ie){Ee=Ae;break}if(!Ee&&fe)d(w(z.name||z.structName,ie),"is not a mapped struct member.")}return Ee},Oe=function z(ie,fe,Ee=!1){if(!z._)z._=(Ke)=>Ke.replace(/[^vipPsjrdcC]/g,"").replace(/[pPscC]/g,"i");let Ae=Re(ie.structInfo,fe,!0);return Ee?z._(Ae.signature):Ae.signature},ke=Te(function(){let z=[];for(let ie of Object.keys(this.structInfo.members))z.push(this.memberKey(ie));return z}),Ce=new TextDecoder("utf-8"),He=new TextEncoder,Qe=typeof SharedArrayBuffer>"u"?function(){}:SharedArrayBuffer,Me=function(z,ie,fe){if(O===8)ie=Number(ie),fe=Number(fe);return Ce.decode(z.buffer instanceof Qe?z.slice(ie,fe):z.subarray(ie,fe))},mt=function(z,ie,fe=!1){let Ee=Re(z.structInfo,ie,fe);return Ee&&Ee.signature.length===1&&Ee.signature[0]==="s"?Ee:!1},Mt=function(z){if(z.signature==="s")return;d("Invalid member type signature for C-string value:",JSON.stringify(z))},rn=function(ie,fe){let Ee=Re(ie.structInfo,fe,!0);Mt(Ee);let Ae=ie[Ee.key];if(!Ae)return null;let Ke=Ae,ft=E();for(;ft[Ke]!==0;++Ke);return Ae===Ke?"":Me(ft,Ae,Ke)},Zt=function(z,...ie){if(z.ondispose){if(!Array.isArray(z.ondispose))z.ondispose=[z.ondispose]}else z.ondispose=[];z.ondispose.push(...ie)},Pr=function(z){let ie=He.encode(z),fe=b(ie.length+1);if(!fe)d("Allocation error while duplicating string:",z);let Ee=E();return Ee.set(ie,Number(fe)),Ee[J(fe,ie.length)]=0,fe},Nn=function(z,ie,fe){let Ee=Re(z.structInfo,ie,!0);Mt(Ee);let Ae=Pr(fe);return z[Ee.key]=Ae,Zt(z,Ae),z},At=function(ie,fe){if(arguments[2]!==Te)d("Do not call the StructType constructor","from client-level code.");Object.defineProperties(this,{structName:Te(ie),structInfo:Te(fe)})};At.prototype=Object.create(null,{dispose:Te(function(){ne(this.constructor,this)}),lookupMember:Te(function(z,ie=!0){return Re(this.structInfo,z,ie)}),memberToJsString:Te(function(z){return rn(this,z)}),memberIsString:Te(function(z,ie=!0){return mt(this,z,ie)}),memberKey:Se,memberKeys:ke,memberSignature:Te(function(z,ie=!1){return Oe(this,z,ie)}),memoryDump:Te(function(){let z=this.pointer;return z?new Uint8Array(E().slice(Number(z),Number(z)+this.structInfo.sizeof)):null}),extraBytes:{configurable:!1,enumerable:!1,get:function(){return N(this,!1)?.xb??0}},zeroOnDispose:{configurable:!1,enumerable:!1,get:function(){return N(this,!1)?.zod??!!this.structInfo.zeroOnDispose}},pointer:{configurable:!1,enumerable:!1,get:function(){return N(this,!1)?.p},set:()=>d("Cannot assign the 'pointer' property of a struct.")},setMemberCString:Te(function(z,ie){return Nn(this,z,ie)})}),Object.assign(At.prototype,{addOnDispose:function(...z){return Zt(this,...z),this}}),Object.defineProperties(At,{allocCString:Te(Pr),isA:Te((z)=>z instanceof At),hasExternalPointer:Te((z)=>{let ie=N(z,!1);return!!(ie?.p&&!ie?.ownsPointer)}),memberKey:Se});let ho=function(z){return z.get||(z.adaptGet?Nt.adaptGet(z.adaptGet):void 0)},Ic=function(z){return z.set||(z.adaptSet?Nt.adaptSet(z.adaptSet):void 0)},Mm=function z(ie,fe,Ee){let Ae=z.innerStructs??=new Map,Ke=ie.memberKey(fe);if(Ee.signature!==void 0)d("'signature' cannot be used on an embedded struct (",ie.structName,".",Ke,").");if(Ic(Ee))d("'set' and 'adaptSet' are not permitted for nested struct members.");Ee.structName??=ie.structName+"::"+fe,Ee.key=Ke,Ee.name=fe,Ee.constructor=this.call(this,Ee.structName,Ee);let ft=ho(Ee),xt=Object.assign(Object.create(null),{configurable:!1,enumerable:!1,set:T(ie.structName,Ke),get:function(){let Dt=this.debugFlags.__flags,We=this.pointer,pt=We+"."+Ke,Pe=Ae.get(pt);if(Dt.getter)V("debug.getter: k =",pt);if(!Pe)Pe=new Ee.constructor(J(We,Ee.offset)),Ae.set(pt,Pe),this.addOnDispose(()=>Pe.dispose()),Pe.addOnDispose(()=>Ae.delete(pt));if(ft)Pe=ft.apply(this,[Pe,Ke]);if(Dt.getter)V("debug.getter: result =",Pe);return Pe}});Object.defineProperty(ie.prototype,Ke,xt)},Bm=function z(ie,fe,Ee){if(Ee=ae(this,Ee),Ee.members)return Mm.call(this,ie,fe,Ee);if(!z.cache){z.cache={getters:{},setters:{},sw:{}};let pt=["i","c","C","p","P","s","f","d","v()"];if(G)pt.push("j");pt.forEach(function(Pe){z.cache.getters[Pe]=ve(Pe),z.cache.setters[Pe]=F(Pe),z.cache.sw[Pe]=g(Pe)}),z.sigCheck=function(Pe,lt,mo,Nc){if(Object.prototype.hasOwnProperty.call(Pe,mo))d(Pe.structName,"already has a property named",mo+".");qe(Nc)||d("Malformed signature for",w(Pe.structName,lt)+":",Nc)}}let Ae=ie.memberKey(fe);z.sigCheck(ie.prototype,fe,Ae,Ee.signature),Ee.key=Ae,Ee.name=fe;let Ke=W(Ee.signature),ft=w(ie.structName,Ae),xt=ie.debugFlags.__flags,Dt=ho(Ee),We=Object.create(null);if(We.configurable=!1,We.enumerable=!1,We.get=function(){if(xt.getter)V("debug.getter:",z.cache.getters[Ke],"for",he(Ke),ft,"@",this.pointer,"+",Ee.offset,"sz",Ee.sizeof);let pt=new DataView(E().buffer,Number(this.pointer)+Ee.offset,Ee.sizeof)[z.cache.getters[Ke]](0,S);if(Dt)pt=Dt.apply(this,[Ae,pt]);if(xt.getter)V("debug.getter:",ft,"result =",pt);return pt},Ee.readOnly)We.set=T(ie.prototype.structName,Ae);else{let pt=Ic(Ee);We.set=function(Pe){if(xt.setter)V("debug.setter:",z.cache.setters[Ke],"for",he(Ke),ft,"@",this.pointer,"+",Ee.offset,"sz",Ee.sizeof,Pe);if(!this.pointer)d("Cannot set native property on a disposed",this.structName,"instance.");if(pt)Pe=pt.apply(this,[Ae,Pe]);if(Pe===null||Pe===void 0)Pe=U;else if(K(Ee.signature)&&!L(Pe))if(oe(Ee.signature)&&Pe instanceof At){if(Pe=Pe.pointer||U,xt.setter)V("debug.setter:",ft,"resolved to",Pe)}else d("Invalid value for pointer-type",ft+".");new DataView(E().buffer,Number(this.pointer)+Ee.offset,Ee.sizeof)[z.cache.setters[Ke]](0,z.cache.sw[Ke](Pe),S)}}Object.defineProperty(ie.prototype,Ae,We)},Pc=function z(ie,fe,Ee=Object.create(null)){let Ae=function Pe(lt){if(!(this instanceof Pe))d("The",ie,"constructor may only be called via 'new'.");Ie(Pe,this,...arguments)},Ke=this,ft=(Pe)=>typeof Pe==="string"&&qe(Pe)?{signature:Pe}:ae(Ke,Pe);if(arguments.length===1)fe=ft(ie),ie=fe.structName||fe.name;else if(arguments.length===2)fe=ft(fe),fe.name??=ie;else fe=ft(fe);if(ie??=fe.structName,ie??=Ee.structName,!ie)d("One of 'name' or 'structName' are required.");if(fe.adapt)Object.keys(fe.adapt.struct||{}).forEach((Pe)=>{re.call(z,Pe,fe.adapt.struct[Pe])}),Object.keys(fe.adapt.set||{}).forEach((Pe)=>{B.call(z,Pe,fe.adapt.set[Pe])}),Object.keys(fe.adapt.get||{}).forEach((Pe)=>{zt.call(z,Pe,fe.adapt.get[Pe])});if(!fe.members&&!fe.sizeof)fe.sizeof=we(fe.signature);let xt=Te(p.__makeDebugFlags(Nt.debugFlags));Object.defineProperties(Ae,{debugFlags:xt,isA:Te((Pe)=>Pe instanceof Ae),memberKey:Se,memberKeys:ke,structInfo:Te(fe),structName:Te(ie),ptrAdd:Te(J)}),Ae.prototype=new At(ie,fe,Te),Object.defineProperties(Ae.prototype,{debugFlags:xt,constructor:Te(Ae),ptrAdd:Te(pe)});let Dt=!1,We=0,pt=!!fe.autoCalcSizeOffset;if(!pt){if(!fe.sizeof)d(ie,"description is missing its sizeof property.");fe.offset??=0}else fe.offset??=0;if(Object.keys(fe.members||{}).forEach((Pe)=>{let lt=ft(fe.members[Pe]);if(!lt.members&&!lt.sizeof){if(lt.sizeof=we(lt.signature),!lt.sizeof)d(w(ie,Pe),"is missing a sizeof property.",lt)}if(lt.offset===void 0)if(pt)lt.offset=We;else d(w(ie,Pe),"is missing its offset.",JSON.stringify(lt));if(fe.members[Pe]=lt,!Dt||Dt.offset<lt.offset)Dt=lt;let mo=!!lt.autoCalc;if(pt)lt.autoCalcSizeOffset=!0;if(Bm.call(Ke,Ae,Pe,lt),mo)lt.autoCalcSizeOffset=!0;else delete lt.autoCalcSizeOffset;We+=lt.sizeof}),!Dt)d("No member property descriptions found.");if(!fe.sizeof)fe.sizeof=We;if(fe.sizeof===1)fe.signature==="c"||fe.signature==="C"||d("Unexpected sizeof==1 member",w(ie,k),"with signature",fe.signature);else{if(fe.sizeof%4!==0)console.warn("Invalid struct member description",fe),d(ie,"sizeof is not aligned. sizeof="+fe.sizeof);if(fe.offset%4!==0)console.warn("Invalid struct member description",fe),d(ie,"offset is not aligned. offset="+fe.offset)}if(fe.sizeof<We)console.warn("Suspect struct description:",fe,"offset =",We),d("Mismatch in the calculated vs. the provided sizeof/offset info.","Expected sizeof",We,"but got",fe.sizeof,"for",fe);return delete fe.autoCalcSizeOffset,Ae},Nt=function z(ie,fe){return arguments.length==1?Pc.call(z,ie):Pc.call(z,ie,fe)};if(Nt.StructType=At,Nt.config=c,Nt.allocCString=Pr,Nt.adaptGet=zt,Nt.adaptSet=B,Nt.adaptStruct=re,Nt.ptrAdd=J,!Nt.debugFlags)Nt.debugFlags=p.__makeDebugFlags(p.debugFlags);return Nt},globalThis.sqlite3ApiBootstrap.initializers.push(function(f){let c=(...O)=>{throw Error(O.join(" "))},{capi:d,wasm:p,util:E}=f;globalThis.WhWasmUtilInstaller(p),delete globalThis.WhWasmUtilInstaller;let b={core:[["sqlite3_aggregate_context","void*","sqlite3_context*","int"],["sqlite3_bind_double","int","sqlite3_stmt*","int","f64"],["sqlite3_bind_int","int","sqlite3_stmt*","int","int"],["sqlite3_bind_null",void 0,"sqlite3_stmt*","int"],["sqlite3_bind_parameter_count","int","sqlite3_stmt*"],["sqlite3_bind_parameter_index","int","sqlite3_stmt*","string"],["sqlite3_bind_parameter_name","string","sqlite3_stmt*","int"],["sqlite3_bind_pointer","int","sqlite3_stmt*","int","*","string:static","*"],["sqlite3_bind_zeroblob","int","sqlite3_stmt*","int","int"],["sqlite3_busy_handler","int",["sqlite3*",new p.xWrap.FuncPtrAdapter({signature:"i(pi)",contextKey:(O,R)=>O[0]}),"*"]],["sqlite3_busy_timeout","int","sqlite3*","int"],["sqlite3_changes","int","sqlite3*"],["sqlite3_clear_bindings","int","sqlite3_stmt*"],["sqlite3_collation_needed","int","sqlite3*","*","*"],["sqlite3_column_blob","*","sqlite3_stmt*","int"],["sqlite3_column_bytes","int","sqlite3_stmt*","int"],["sqlite3_column_count","int","sqlite3_stmt*"],["sqlite3_column_decltype","string","sqlite3_stmt*","int"],["sqlite3_column_double","f64","sqlite3_stmt*","int"],["sqlite3_column_int","int","sqlite3_stmt*","int"],["sqlite3_column_name","string","sqlite3_stmt*","int"],["sqlite3_column_type","int","sqlite3_stmt*","int"],["sqlite3_column_value","sqlite3_value*","sqlite3_stmt*","int"],["sqlite3_commit_hook","void*",["sqlite3*",new p.xWrap.FuncPtrAdapter({name:"sqlite3_commit_hook",signature:"i(p)",contextKey:(O)=>O[0]}),"*"]],["sqlite3_compileoption_get","string","int"],["sqlite3_compileoption_used","int","string"],["sqlite3_complete","int","string:flexible"],["sqlite3_context_db_handle","sqlite3*","sqlite3_context*"],["sqlite3_data_count","int","sqlite3_stmt*"],["sqlite3_db_filename","string","sqlite3*","string"],["sqlite3_db_handle","sqlite3*","sqlite3_stmt*"],["sqlite3_db_name","string","sqlite3*","int"],["sqlite3_db_readonly","int","sqlite3*","string"],["sqlite3_db_status","int","sqlite3*","int","*","*","int"],["sqlite3_errcode","int","sqlite3*"],["sqlite3_errmsg","string","sqlite3*"],["sqlite3_error_offset","int","sqlite3*"],["sqlite3_errstr","string","int"],["sqlite3_exec","int",["sqlite3*","string:flexible",new p.xWrap.FuncPtrAdapter({signature:"i(pipp)",bindScope:"transient",callProxy:(O)=>{let R;return(X,ee,U,J)=>{try{let pe=p.cArgvToJs(ee,U);if(!R)R=p.cArgvToJs(ee,J);return O(pe,R)|0}catch(pe){return pe.resultCode||d.SQLITE_ERROR}}}}),"*","**"]],["sqlite3_expanded_sql","string","sqlite3_stmt*"],["sqlite3_extended_errcode","int","sqlite3*"],["sqlite3_extended_result_codes","int","sqlite3*","int"],["sqlite3_file_control","int","sqlite3*","string","int","*"],["sqlite3_finalize","int","sqlite3_stmt*"],["sqlite3_free",void 0,"*"],["sqlite3_get_autocommit","int","sqlite3*"],["sqlite3_get_auxdata","*","sqlite3_context*","int"],["sqlite3_initialize",void 0],["sqlite3_interrupt",void 0,"sqlite3*"],["sqlite3_is_interrupted","int","sqlite3*"],["sqlite3_keyword_count","int"],["sqlite3_keyword_name","int",["int","**","*"]],["sqlite3_keyword_check","int",["string","int"]],["sqlite3_libversion","string"],["sqlite3_libversion_number","int"],["sqlite3_limit","int",["sqlite3*","int","int"]],["sqlite3_malloc","*","int"],["sqlite3_next_stmt","sqlite3_stmt*",["sqlite3*","sqlite3_stmt*"]],["sqlite3_open","int","string","*"],["sqlite3_open_v2","int","string","*","int","string"],["sqlite3_realloc","*","*","int"],["sqlite3_reset","int","sqlite3_stmt*"],["sqlite3_result_blob",void 0,"sqlite3_context*","*","int","*"],["sqlite3_result_double",void 0,"sqlite3_context*","f64"],["sqlite3_result_error",void 0,"sqlite3_context*","string","int"],["sqlite3_result_error_code",void 0,"sqlite3_context*","int"],["sqlite3_result_error_nomem",void 0,"sqlite3_context*"],["sqlite3_result_error_toobig",void 0,"sqlite3_context*"],["sqlite3_result_int",void 0,"sqlite3_context*","int"],["sqlite3_result_null",void 0,"sqlite3_context*"],["sqlite3_result_pointer",void 0,"sqlite3_context*","*","string:static","*"],["sqlite3_result_subtype",void 0,"sqlite3_value*","int"],["sqlite3_result_text",void 0,"sqlite3_context*","string","int","*"],["sqlite3_result_zeroblob",void 0,"sqlite3_context*","int"],["sqlite3_rollback_hook","void*",["sqlite3*",new p.xWrap.FuncPtrAdapter({name:"sqlite3_rollback_hook",signature:"v(p)",contextKey:(O)=>O[0]}),"*"]],["sqlite3_set_auxdata",void 0,["sqlite3_context*","int","*","*"]],["sqlite3_set_errmsg","int","sqlite3*","int","string"],["sqlite3_shutdown",void 0],["sqlite3_sourceid","string"],["sqlite3_sql","string","sqlite3_stmt*"],["sqlite3_status","int","int","*","*","int"],["sqlite3_step","int","sqlite3_stmt*"],["sqlite3_stmt_busy","int","sqlite3_stmt*"],["sqlite3_stmt_readonly","int","sqlite3_stmt*"],["sqlite3_stmt_status","int","sqlite3_stmt*","int","int"],["sqlite3_strglob","int","string","string"],["sqlite3_stricmp","int","string","string"],["sqlite3_strlike","int","string","string","int"],["sqlite3_strnicmp","int","string","string","int"],["sqlite3_table_column_metadata","int","sqlite3*","string","string","string","**","**","*","*","*"],["sqlite3_total_changes","int","sqlite3*"],["sqlite3_trace_v2","int",["sqlite3*","int",new p.xWrap.FuncPtrAdapter({name:"sqlite3_trace_v2::callback",signature:"i(ippp)",contextKey:(O,R)=>O[0]}),"*"]],["sqlite3_txn_state","int",["sqlite3*","string"]],["sqlite3_uri_boolean","int","sqlite3_filename","string","int"],["sqlite3_uri_key","string","sqlite3_filename","int"],["sqlite3_uri_parameter","string","sqlite3_filename","string"],["sqlite3_user_data","void*","sqlite3_context*"],["sqlite3_value_blob","*","sqlite3_value*"],["sqlite3_value_bytes","int","sqlite3_value*"],["sqlite3_value_double","f64","sqlite3_value*"],["sqlite3_value_dup","sqlite3_value*","sqlite3_value*"],["sqlite3_value_free",void 0,"sqlite3_value*"],["sqlite3_value_frombind","int","sqlite3_value*"],["sqlite3_value_int","int","sqlite3_value*"],["sqlite3_value_nochange","int","sqlite3_value*"],["sqlite3_value_numeric_type","int","sqlite3_value*"],["sqlite3_value_pointer","*","sqlite3_value*","string:static"],["sqlite3_value_subtype","int","sqlite3_value*"],["sqlite3_value_type","int","sqlite3_value*"],["sqlite3_vfs_find","*","string"],["sqlite3_vfs_register","int","sqlite3_vfs*","int"],["sqlite3_vfs_unregister","int","sqlite3_vfs*"]],int64:[["sqlite3_bind_int64","int",["sqlite3_stmt*","int","i64"]],["sqlite3_changes64","i64",["sqlite3*"]],["sqlite3_column_int64","i64",["sqlite3_stmt*","int"]],["sqlite3_deserialize","int","sqlite3*","string","*","i64","i64","int"],["sqlite3_last_insert_rowid","i64",["sqlite3*"]],["sqlite3_malloc64","*","i64"],["sqlite3_msize","i64","*"],["sqlite3_overload_function","int",["sqlite3*","string","int"]],["sqlite3_realloc64","*","*","i64"],["sqlite3_result_int64",void 0,"*","i64"],["sqlite3_result_zeroblob64","int","*","i64"],["sqlite3_serialize","*","sqlite3*","string","*","int"],["sqlite3_set_last_insert_rowid",void 0,["sqlite3*","i64"]],["sqlite3_status64","int","int","*","*","int"],["sqlite3_db_status64","int","sqlite3*","int","*","*","int"],["sqlite3_total_changes64","i64",["sqlite3*"]],["sqlite3_update_hook","*",["sqlite3*",new p.xWrap.FuncPtrAdapter({name:"sqlite3_update_hook::callback",signature:"v(pippj)",contextKey:(O)=>O[0],callProxy:(O)=>(R,X,ee,U,J)=>{O(R,X,p.cstrToJs(ee),p.cstrToJs(U),J)}}),"*"]],["sqlite3_uri_int64","i64",["sqlite3_filename","string","i64"]],["sqlite3_value_int64","i64","sqlite3_value*"]],wasmInternal:[["sqlite3__wasm_db_reset","int","sqlite3*"],["sqlite3__wasm_db_vfs","sqlite3_vfs*","sqlite3*","string"],["sqlite3__wasm_vfs_create_file","int","sqlite3_vfs*","string","*","int"],["sqlite3__wasm_posix_create_file","int","string","*","int"],["sqlite3__wasm_vfs_unlink","int","sqlite3_vfs*","string"],["sqlite3__wasm_qfmt_token","string:dealloc","string","int"]]};if(p.exports.sqlite3_progress_handler)b.core.push(["sqlite3_progress_handler",void 0,["sqlite3*","int",new p.xWrap.FuncPtrAdapter({name:"xProgressHandler",signature:"i(p)",bindScope:"context",contextKey:(O,R)=>O[0]}),"*"]]);if(p.exports.sqlite3_stmt_explain)b.core.push(["sqlite3_stmt_explain","int","sqlite3_stmt*","int"],["sqlite3_stmt_isexplain","int","sqlite3_stmt*"]);if(p.exports.sqlite3_set_authorizer)b.core.push(["sqlite3_set_authorizer","int",["sqlite3*",new p.xWrap.FuncPtrAdapter({name:"sqlite3_set_authorizer::xAuth",signature:"i(pissss)",contextKey:(O,R)=>O[0],callProxy:(O)=>(R,X,ee,U,J,pe)=>{try{return ee=ee&&p.cstrToJs(ee),U=U&&p.cstrToJs(U),J=J&&p.cstrToJs(J),pe=pe&&p.cstrToJs(pe),O(R,X,ee,U,J,pe)|0}catch(S){return S.resultCode||d.SQLITE_ERROR}}}),"*"]]);if(p.exports.sqlite3_column_origin_name)b.core.push(["sqlite3_column_database_name","string","sqlite3_stmt*","int"],["sqlite3_column_origin_name","string","sqlite3_stmt*","int"],["sqlite3_column_table_name","string","sqlite3_stmt*","int"]);if(p.bigIntEnabled&&!!p.exports.sqlite3_declare_vtab)b.int64.push(["sqlite3_create_module","int",["sqlite3*","string","sqlite3_module*","*"]],["sqlite3_create_module_v2","int",["sqlite3*","string","sqlite3_module*","*","*"]],["sqlite3_declare_vtab","int",["sqlite3*","string:flexible"]],["sqlite3_drop_modules","int",["sqlite3*","**"]],["sqlite3_vtab_collation","string","sqlite3_index_info*","int"],["sqlite3_vtab_distinct","int","sqlite3_index_info*"],["sqlite3_vtab_in","int","sqlite3_index_info*","int","int"],["sqlite3_vtab_in_first","int","sqlite3_value*","**"],["sqlite3_vtab_in_next","int","sqlite3_value*","**"],["sqlite3_vtab_nochange","int","sqlite3_context*"],["sqlite3_vtab_on_conflict","int","sqlite3*"],["sqlite3_vtab_rhs_value","int","sqlite3_index_info*","int","**"]);if(p.bigIntEnabled&&!!p.exports.sqlite3_preupdate_hook)b.int64.push(["sqlite3_preupdate_blobwrite","int","sqlite3*"],["sqlite3_preupdate_count","int","sqlite3*"],["sqlite3_preupdate_depth","int","sqlite3*"],["sqlite3_preupdate_hook","*",["sqlite3*",new p.xWrap.FuncPtrAdapter({name:"sqlite3_preupdate_hook",signature:"v(ppippjj)",contextKey:(O)=>O[0],callProxy:(O)=>(R,X,ee,U,J,pe,S)=>{O(R,X,ee,p.cstrToJs(U),p.cstrToJs(J),pe,S)}}),"*"]],["sqlite3_preupdate_new","int",["sqlite3*","int","**"]],["sqlite3_preupdate_old","int",["sqlite3*","int","**"]]);if(p.bigIntEnabled&&!!p.exports.sqlite3changegroup_add&&!!p.exports.sqlite3session_create&&!!p.exports.sqlite3_preupdate_hook){let O={signature:"i(ps)",callProxy:(R)=>(X,ee)=>{try{return R(X,p.cstrToJs(ee))|0}catch(U){return U.resultCode||d.SQLITE_ERROR}}};b.int64.push(["sqlite3changegroup_add","int",["sqlite3_changegroup*","int","void*"]],["sqlite3changegroup_add_strm","int",["sqlite3_changegroup*",new p.xWrap.FuncPtrAdapter({name:"xInput",signature:"i(ppp)",bindScope:"transient"}),"void*"]],["sqlite3changegroup_delete",void 0,["sqlite3_changegroup*"]],["sqlite3changegroup_new","int",["**"]],["sqlite3changegroup_output","int",["sqlite3_changegroup*","int*","**"]],["sqlite3changegroup_output_strm","int",["sqlite3_changegroup*",new p.xWrap.FuncPtrAdapter({name:"xOutput",signature:"i(ppi)",bindScope:"transient"}),"void*"]],["sqlite3changeset_apply","int",["sqlite3*","int","void*",new p.xWrap.FuncPtrAdapter({name:"xFilter",bindScope:"transient",...O}),new p.xWrap.FuncPtrAdapter({name:"xConflict",signature:"i(pip)",bindScope:"transient"}),"void*"]],["sqlite3changeset_apply_strm","int",["sqlite3*",new p.xWrap.FuncPtrAdapter({name:"xInput",signature:"i(ppp)",bindScope:"transient"}),"void*",new p.xWrap.FuncPtrAdapter({name:"xFilter",bindScope:"transient",...O}),new p.xWrap.FuncPtrAdapter({name:"xConflict",signature:"i(pip)",bindScope:"transient"}),"void*"]],["sqlite3changeset_apply_v2","int",["sqlite3*","int","void*",new p.xWrap.FuncPtrAdapter({name:"xFilter",bindScope:"transient",...O}),new p.xWrap.FuncPtrAdapter({name:"xConflict",signature:"i(pip)",bindScope:"transient"}),"void*","**","int*","int"]],["sqlite3changeset_apply_v2_strm","int",["sqlite3*",new p.xWrap.FuncPtrAdapter({name:"xInput",signature:"i(ppp)",bindScope:"transient"}),"void*",new p.xWrap.FuncPtrAdapter({name:"xFilter",bindScope:"transient",...O}),new p.xWrap.FuncPtrAdapter({name:"xConflict",signature:"i(pip)",bindScope:"transient"}),"void*","**","int*","int"]],["sqlite3changeset_apply_v3","int",["sqlite3*","int","void*",new p.xWrap.FuncPtrAdapter({name:"xFilter",signature:"i(pp)",bindScope:"transient"}),new p.xWrap.FuncPtrAdapter({name:"xConflict",signature:"i(pip)",bindScope:"transient"}),"void*","**","int*","int"]],["sqlite3changeset_apply_v3_strm","int",["sqlite3*",new p.xWrap.FuncPtrAdapter({name:"xInput",signature:"i(ppp)",bindScope:"transient"}),"void*",new p.xWrap.FuncPtrAdapter({name:"xFilter",signature:"i(pp)",bindScope:"transient"}),new p.xWrap.FuncPtrAdapter({name:"xConflict",signature:"i(pip)",bindScope:"transient"}),"void*","**","int*","int"]],["sqlite3changeset_concat","int",["int","void*","int","void*","int*","**"]],["sqlite3changeset_concat_strm","int",[new p.xWrap.FuncPtrAdapter({name:"xInputA",signature:"i(ppp)",bindScope:"transient"}),"void*",new p.xWrap.FuncPtrAdapter({name:"xInputB",signature:"i(ppp)",bindScope:"transient"}),"void*",new p.xWrap.FuncPtrAdapter({name:"xOutput",signature:"i(ppi)",bindScope:"transient"}),"void*"]],["sqlite3changeset_conflict","int",["sqlite3_changeset_iter*","int","**"]],["sqlite3changeset_finalize","int",["sqlite3_changeset_iter*"]],["sqlite3changeset_fk_conflicts","int",["sqlite3_changeset_iter*","int*"]],["sqlite3changeset_invert","int",["int","void*","int*","**"]],["sqlite3changeset_invert_strm","int",[new p.xWrap.FuncPtrAdapter({name:"xInput",signature:"i(ppp)",bindScope:"transient"}),"void*",new p.xWrap.FuncPtrAdapter({name:"xOutput",signature:"i(ppi)",bindScope:"transient"}),"void*"]],["sqlite3changeset_new","int",["sqlite3_changeset_iter*","int","**"]],["sqlite3changeset_next","int",["sqlite3_changeset_iter*"]],["sqlite3changeset_old","int",["sqlite3_changeset_iter*","int","**"]],["sqlite3changeset_op","int",["sqlite3_changeset_iter*","**","int*","int*","int*"]],["sqlite3changeset_pk","int",["sqlite3_changeset_iter*","**","int*"]],["sqlite3changeset_start","int",["**","int","*"]],["sqlite3changeset_start_strm","int",["**",new p.xWrap.FuncPtrAdapter({name:"xInput",signature:"i(ppp)",bindScope:"transient"}),"void*"]],["sqlite3changeset_start_v2","int",["**","int","*","int"]],["sqlite3changeset_start_v2_strm","int",["**",new p.xWrap.FuncPtrAdapter({name:"xInput",signature:"i(ppp)",bindScope:"transient"}),"void*","int"]],["sqlite3session_attach","int",["sqlite3_session*","string"]],["sqlite3session_changeset","int",["sqlite3_session*","int*","**"]],["sqlite3session_changeset_size","i64",["sqlite3_session*"]],["sqlite3session_changeset_strm","int",["sqlite3_session*",new p.xWrap.FuncPtrAdapter({name:"xOutput",signature:"i(ppp)",bindScope:"transient"}),"void*"]],["sqlite3session_config","int",["int","void*"]],["sqlite3session_create","int",["sqlite3*","string","**"]],["sqlite3session_diff","int",["sqlite3_session*","string","string","**"]],["sqlite3session_enable","int",["sqlite3_session*","int"]],["sqlite3session_indirect","int",["sqlite3_session*","int"]],["sqlite3session_isempty","int",["sqlite3_session*"]],["sqlite3session_memory_used","i64",["sqlite3_session*"]],["sqlite3session_object_config","int",["sqlite3_session*","int","void*"]],["sqlite3session_patchset","int",["sqlite3_session*","*","**"]],["sqlite3session_patchset_strm","int",["sqlite3_session*",new p.xWrap.FuncPtrAdapter({name:"xOutput",signature:"i(ppp)",bindScope:"transient"}),"void*"]],["sqlite3session_table_filter",void 0,["sqlite3_session*",new p.xWrap.FuncPtrAdapter({name:"xFilter",...O,contextKey:(R,X)=>R[0]}),"*"]])}f.StructBinder=globalThis.Jaccwabyt({heap:p.heap8u,alloc:p.alloc,dealloc:p.dealloc,bigIntEnabled:p.bigIntEnabled,pointerIR:p.ptr.ir,memberPrefix:"$"}),delete globalThis.Jaccwabyt;{let O=p.xWrap.argAdapter("string");p.xWrap.argAdapter("string:flexible",(U)=>O(E.flexibleString(U))),p.xWrap.argAdapter("string:static",function(U){if(p.isPtr(U))return U;return U=""+U,this[U]||(this[U]=p.allocCString(U))}.bind(Object.create(null)));let R=p.xWrap.argAdapter("*"),X=function(){};if(p.xWrap.argAdapter("sqlite3_filename",R)("sqlite3_context*",R)("sqlite3_value*",R)("void*",R)("sqlite3_changegroup*",R)("sqlite3_changeset_iter*",R)("sqlite3_session*",R)("sqlite3_stmt*",(U)=>R(U instanceof(f?.oo1?.Stmt||X)?U.pointer:U))("sqlite3*",(U)=>R(U instanceof(f?.oo1?.DB||X)?U.pointer:U))("sqlite3_vfs*",(U)=>{if(typeof U==="string")return d.sqlite3_vfs_find(U)||f.SQLite3Error.toss(d.SQLITE_NOTFOUND,"Unknown sqlite3_vfs name:",U);return R(U instanceof(d.sqlite3_vfs||X)?U.pointer:U)}),p.exports.sqlite3_declare_vtab)p.xWrap.argAdapter("sqlite3_index_info*",(U)=>R(U instanceof(d.sqlite3_index_info||X)?U.pointer:U))("sqlite3_module*",(U)=>R(U instanceof(d.sqlite3_module||X)?U.pointer:U));let ee=p.xWrap.resultAdapter("*");p.xWrap.resultAdapter("sqlite3*",ee)("sqlite3_context*",ee)("sqlite3_stmt*",ee)("sqlite3_value*",ee)("sqlite3_vfs*",ee)("void*",ee);for(let U of b.core)d[U[0]]=p.xWrap.apply(null,U);for(let U of b.wasmInternal)E[U[0]]=p.xWrap.apply(null,U);for(let U of b.int64)d[U[0]]=p.bigIntEnabled?p.xWrap.apply(null,U):()=>c(U[0]+"() is unavailable due to lack","of BigInt support in this build.");delete b.core,delete b.int64,delete b.wasmInternal,E.sqlite3__wasm_db_error=function(U,J,pe){if(!U)return d.SQLITE_MISUSE;if(J instanceof f.WasmAllocError)J=d.SQLITE_NOMEM,pe=0;else if(J instanceof Error)pe=pe||""+J,J=J.resultCode||d.SQLITE_ERROR;return d.sqlite3_set_errmsg(U,J,pe)||J}}{let O=p.xCall("sqlite3__wasm_enum_json");if(!O)c("Maintenance required: increase sqlite3__wasm_enum_json()'s","static buffer size!");p.ctype=JSON.parse(p.cstrToJs(O));let R=["access","authorizer","blobFinalizers","changeset","config","dataTypes","dbConfig","dbStatus","encodings","fcntl","flock","ioCap","limits","openFlags","prepareFlags","resultCodes","sqlite3Status","stmtStatus","syncFlags","trace","txnState","udfFlags","version"];if(p.bigIntEnabled)R.push("serialize","session","vtab");for(let U of R)for(let J of Object.entries(p.ctype[U]))d[J[0]]=J[1];if(!p.functionEntry(d.SQLITE_WASM_DEALLOC))c("Internal error: cannot resolve exported function","entry SQLITE_WASM_DEALLOC (=="+d.SQLITE_WASM_DEALLOC+").");let X=Object.create(null);for(let U of Object.entries(p.ctype.resultCodes))X[U[1]]=U[0];d.sqlite3_js_rc_str=(U)=>X[U];let ee=Object.assign(Object.create(null),{WasmTestStruct:!0,sqlite3_index_info:!p.bigIntEnabled,sqlite3_index_constraint:!p.bigIntEnabled,sqlite3_index_orderby:!p.bigIntEnabled,sqlite3_index_constraint_usage:!p.bigIntEnabled});for(let U of p.ctype.structs)if(!ee[U.name])d[U.name]=f.StructBinder(U);if(d.sqlite3_index_info){for(let U of["sqlite3_index_constraint","sqlite3_index_orderby","sqlite3_index_constraint_usage"])d.sqlite3_index_info[U]=d[U],delete d[U];d.sqlite3_vtab_config=p.xWrap("sqlite3__wasm_vtab_config","int",["sqlite3*","int","int"])}}let I=(O,R,X)=>E.sqlite3__wasm_db_error(O,d.SQLITE_MISUSE,R+"() requires "+X+" argument"+(X===1?"":"s")+"."),V=(O)=>E.sqlite3__wasm_db_error(O,d.SQLITE_FORMAT,"SQLITE_UTF8 is the only supported encoding."),M=(O)=>p.xWrap.argAdapter("sqlite3*")(O),C=(O)=>p.isPtr(O)?p.cstrToJs(O):O,q=function(O,R){O=M(O);let X=this.dbMap.get(O);if(!R)return this.dbMap.delete(O),X;else if(!X&&R>0)this.dbMap.set(O,X=Object.create(null));return X}.bind(Object.assign(Object.create(null),{dbMap:new Map}));if(q.addCollation=function(O,R){let X=q(O,1);if(!X.collation)X.collation=new Set;X.collation.add(C(R).toLowerCase())},q._addUDF=function(O,R,X,ee){R=C(R).toLowerCase();let U=ee.get(R);if(!U)ee.set(R,U=new Set);U.add(X<0?-1:X)},q.addFunction=function(O,R,X){let ee=q(O,1);if(!ee.udf)ee.udf=new Map;this._addUDF(O,R,X,ee.udf)},p.exports.sqlite3_create_window_function)q.addWindowFunc=function(O,R,X){let ee=q(O,1);if(!ee.wudf)ee.wudf=new Map;this._addUDF(O,R,X,ee.wudf)};q.cleanup=function(O){O=M(O);for(let ee of[["sqlite3_busy_handler",3],["sqlite3_commit_hook",3],["sqlite3_preupdate_hook",3],["sqlite3_progress_handler",4],["sqlite3_rollback_hook",3],["sqlite3_set_authorizer",3],["sqlite3_trace_v2",4],["sqlite3_update_hook",3]]){let[U,J]=ee;if(!p.exports[U])continue;let pe=[O];pe.length=J;try{d[U](...pe)}catch(S){f.config.warn("close-time call of",U+"(",pe,") threw:",S)}}let R=q(O,0);if(!R)return;if(R.collation){for(let ee of R.collation)try{d.sqlite3_create_collation_v2(O,ee,d.SQLITE_UTF8,0,0,0)}catch(U){}delete R.collation}let X;for(X=0;X<2;++X){let ee=X?R.wudf:R.udf;if(!ee)continue;let U=X?d.sqlite3_create_window_function:d.sqlite3_create_function_v2;for(let J of ee){let pe=J[0],S=J[1],P=[O,pe,0,d.SQLITE_UTF8,0,0,0,0,0];if(X)P.push(0);for(let K of S)try{P[2]=K,U.apply(null,P)}catch(oe){}S.clear()}ee.clear()}delete R.udf,delete R.wudf};{let O=p.xWrap("sqlite3_close_v2","int","sqlite3*");d.sqlite3_close_v2=function(R){if(arguments.length!==1)return I(R,"sqlite3_close_v2",1);if(R)try{q.cleanup(R)}catch(X){}return O(R)}}if(d.sqlite3session_create){let O=p.xWrap("sqlite3session_delete",void 0,["sqlite3_session*"]);d.sqlite3session_delete=function(R){if(arguments.length!==1)return I(pDb,"sqlite3session_delete",1);else if(R)d.sqlite3session_table_filter(R,0,0);O(R)}}{let O=(X,ee)=>"argv["+ee+"]:"+X[0]+":"+p.cstrToJs(X[1]).toLowerCase(),R=p.xWrap("sqlite3_create_collation_v2","int",["sqlite3*","string","int","*",new p.xWrap.FuncPtrAdapter({name:"xCompare",signature:"i(pipip)",contextKey:O}),new p.xWrap.FuncPtrAdapter({name:"xDestroy",signature:"v(p)",contextKey:O})]);d.sqlite3_create_collation_v2=function(X,ee,U,J,pe,S){if(arguments.length!==6)return I(X,"sqlite3_create_collation_v2",6);else if((U&15)===0)U|=d.SQLITE_UTF8;else if(d.SQLITE_UTF8!==(U&15))return V(X);try{let P=R(X,ee,U,J,pe,S);if(P===0&&pe instanceof Function)q.addCollation(X,ee);return P}catch(P){return E.sqlite3__wasm_db_error(X,P)}},d.sqlite3_create_collation=(X,ee,U,J,pe)=>arguments.length===5?d.sqlite3_create_collation_v2(X,ee,U,J,pe,0):I(X,"sqlite3_create_collation",5)}{let O=function(U,J){return U[0]+":"+(U[2]<0?-1:U[2])+":"+J+":"+p.cstrToJs(U[1]).toLowerCase()},R=Object.assign(Object.create(null),{xInverseAndStep:{signature:"v(pip)",contextKey:O,callProxy:(U)=>(J,pe,S)=>{try{U(J,...d.sqlite3_values_to_js(pe,S))}catch(P){d.sqlite3_result_error_js(J,P)}}},xFinalAndValue:{signature:"v(p)",contextKey:O,callProxy:(U)=>(J)=>{try{d.sqlite3_result_js(J,U(J))}catch(pe){d.sqlite3_result_error_js(J,pe)}}},xFunc:{signature:"v(pip)",contextKey:O,callProxy:(U)=>(J,pe,S)=>{try{d.sqlite3_result_js(J,U(J,...d.sqlite3_values_to_js(pe,S)))}catch(P){d.sqlite3_result_error_js(J,P)}}},xDestroy:{signature:"v(p)",contextKey:O,callProxy:(U)=>(J)=>{try{U(J)}catch(pe){console.error("UDF xDestroy method threw:",pe)}}}}),X=p.xWrap("sqlite3_create_function_v2","int",["sqlite3*","string","int","int","*",new p.xWrap.FuncPtrAdapter({name:"xFunc",...R.xFunc}),new p.xWrap.FuncPtrAdapter({name:"xStep",...R.xInverseAndStep}),new p.xWrap.FuncPtrAdapter({name:"xFinal",...R.xFinalAndValue}),new p.xWrap.FuncPtrAdapter({name:"xDestroy",...R.xDestroy})]),ee=p.exports.sqlite3_create_window_function?p.xWrap("sqlite3_create_window_function","int",["sqlite3*","string","int","int","*",new p.xWrap.FuncPtrAdapter({name:"xStep",...R.xInverseAndStep}),new p.xWrap.FuncPtrAdapter({name:"xFinal",...R.xFinalAndValue}),new p.xWrap.FuncPtrAdapter({name:"xValue",...R.xFinalAndValue}),new p.xWrap.FuncPtrAdapter({name:"xInverse",...R.xInverseAndStep}),new p.xWrap.FuncPtrAdapter({name:"xDestroy",...R.xDestroy})]):void 0;if(d.sqlite3_create_function_v2=function U(J,pe,S,P,K,oe,W,he,we){if(U.length!==arguments.length)return I(J,"sqlite3_create_function_v2",U.length);else if((P&15)===0)P|=d.SQLITE_UTF8;else if(d.SQLITE_UTF8!==(P&15))return V(J);try{let me=X(J,pe,S,P,K,oe,W,he,we);if(me===0&&(oe instanceof Function||W instanceof Function||he instanceof Function||we instanceof Function))q.addFunction(J,pe,S);return me}catch(me){return console.error("sqlite3_create_function_v2() setup threw:",me),E.sqlite3__wasm_db_error(J,me,"Creation of UDF threw: "+me)}},d.sqlite3_create_function=function U(J,pe,S,P,K,oe,W,he){return U.length===arguments.length?d.sqlite3_create_function_v2(J,pe,S,P,K,oe,W,he,0):I(J,"sqlite3_create_function",U.length)},ee)d.sqlite3_create_window_function=function U(J,pe,S,P,K,oe,W,he,we,me){if(U.length!==arguments.length)return I(J,"sqlite3_create_window_function",U.length);else if((P&15)===0)P|=d.SQLITE_UTF8;else if(d.SQLITE_UTF8!==(P&15))return V(J);try{let ve=ee(J,pe,S,P,K,oe,W,he,we,me);if(ve===0&&(oe instanceof Function||W instanceof Function||he instanceof Function||we instanceof Function||me instanceof Function))q.addWindowFunc(J,pe,S);return ve}catch(ve){return console.error("sqlite3_create_window_function() setup threw:",ve),E.sqlite3__wasm_db_error(J,ve,"Creation of UDF threw: "+ve)}};else delete d.sqlite3_create_window_function;if(d.sqlite3_create_function_v2.udfSetResult=d.sqlite3_create_function.udfSetResult=d.sqlite3_result_js,d.sqlite3_create_window_function)d.sqlite3_create_window_function.udfSetResult=d.sqlite3_result_js;if(d.sqlite3_create_function_v2.udfConvertArgs=d.sqlite3_create_function.udfConvertArgs=d.sqlite3_values_to_js,d.sqlite3_create_window_function)d.sqlite3_create_window_function.udfConvertArgs=d.sqlite3_values_to_js;if(d.sqlite3_create_function_v2.udfSetError=d.sqlite3_create_function.udfSetError=d.sqlite3_result_error_js,d.sqlite3_create_window_function)d.sqlite3_create_window_function.udfSetError=d.sqlite3_result_error_js}{let O=(X,ee)=>{if(typeof X==="string")ee=-1;else if(E.isSQLableTypedArray(X))ee=X.byteLength,X=p.typedArrayToString(X instanceof ArrayBuffer?new Uint8Array(X):X);else if(Array.isArray(X))X=X.join(""),ee=-1;return[X,ee]},R={basic:p.xWrap("sqlite3_prepare_v3","int",["sqlite3*","string","int","int","**","**"]),full:p.xWrap("sqlite3_prepare_v3","int",["sqlite3*","*","int","int","**","**"])};d.sqlite3_prepare_v3=function X(ee,U,J,pe,S,P){if(X.length!==arguments.length)return I(ee,"sqlite3_prepare_v3",X.length);let[K,oe]=O(U,Number(J));switch(typeof K){case"string":return R.basic(ee,K,oe,pe,S,null);case typeof p.ptr.null:return R.full(ee,p.ptr.coerce(K),oe,pe,S,P);default:return E.sqlite3__wasm_db_error(ee,d.SQLITE_MISUSE,"Invalid SQL argument type for sqlite3_prepare_v2/v3(). typeof="+typeof K)}},d.sqlite3_prepare_v2=function X(ee,U,J,pe,S){return X.length===arguments.length?d.sqlite3_prepare_v3(ee,U,J,0,pe,S):I(ee,"sqlite3_prepare_v2",X.length)}}{let O=p.xWrap("sqlite3_bind_text","int",["sqlite3_stmt*","int","string","int","*"]),R=p.xWrap("sqlite3_bind_blob","int",["sqlite3_stmt*","int","*","int","*"]);d.sqlite3_bind_text=function X(ee,U,J,pe,S){if(X.length!==arguments.length)return I(d.sqlite3_db_handle(ee),"sqlite3_bind_text",X.length);else if(p.isPtr(J)||J===null)return O(ee,U,J,pe,S);else if(J instanceof ArrayBuffer)J=new Uint8Array(J);else if(Array.isArray(pMem))J=pMem.join("");let P,K;try{if(E.isSQLableTypedArray(J))P=p.allocFromTypedArray(J),K=J.byteLength;else if(typeof J==="string")[P,K]=p.allocCString(J);else return E.sqlite3__wasm_db_error(d.sqlite3_db_handle(ee),d.SQLITE_MISUSE,"Invalid 3rd argument type for sqlite3_bind_text().");return O(ee,U,P,K,d.SQLITE_WASM_DEALLOC)}catch(oe){return p.dealloc(P),E.sqlite3__wasm_db_error(d.sqlite3_db_handle(ee),oe)}},d.sqlite3_bind_blob=function X(ee,U,J,pe,S){if(X.length!==arguments.length)return I(d.sqlite3_db_handle(ee),"sqlite3_bind_blob",X.length);else if(p.isPtr(J)||J===null)return R(ee,U,J,pe,S);else if(J instanceof ArrayBuffer)J=new Uint8Array(J);else if(Array.isArray(J))J=J.join("");let P,K;try{if(E.isBindableTypedArray(J))P=p.allocFromTypedArray(J),K=pe>=0?pe:J.byteLength;else if(typeof J==="string")[P,K]=p.allocCString(J);else return E.sqlite3__wasm_db_error(d.sqlite3_db_handle(ee),d.SQLITE_MISUSE,"Invalid 3rd argument type for sqlite3_bind_blob().");return R(ee,U,P,K,d.SQLITE_WASM_DEALLOC)}catch(oe){return p.dealloc(P),E.sqlite3__wasm_db_error(d.sqlite3_db_handle(ee),oe)}}}if(!d.sqlite3_column_text){let O=p.xWrap.argAdapter("sqlite3_stmt*"),R=p.xWrap.argAdapter("int"),X=p.xWrap.argAdapter("sqlite3_value*"),ee=(U,J)=>p.typedArrayToString(p.heap8u(),Number(U),Number(U)+J);d.sqlite3_column_text=function(U,J){let pe=O(U),S=R(J),P=p.exports.sqlite3_column_text(pe,S);return P?ee(P,p.exports.sqlite3_column_bytes(pe,S)):null},d.sqlite3_value_text=function(U){let J=X(U),pe=p.exports.sqlite3_value_text(J);return pe?ee(pe,p.exports.sqlite3_value_bytes(J)):null}}d.sqlite3_config=function(O,...R){if(arguments.length<2)return d.SQLITE_MISUSE;switch(O){case d.SQLITE_CONFIG_COVERING_INDEX_SCAN:case d.SQLITE_CONFIG_MEMSTATUS:case d.SQLITE_CONFIG_SMALL_MALLOC:case d.SQLITE_CONFIG_SORTERREF_SIZE:case d.SQLITE_CONFIG_STMTJRNL_SPILL:case d.SQLITE_CONFIG_URI:return p.exports.sqlite3__wasm_config_i(O,R[0]);case d.SQLITE_CONFIG_LOOKASIDE:return p.exports.sqlite3__wasm_config_ii(O,R[0],R[1]);case d.SQLITE_CONFIG_MEMDB_MAXSIZE:return p.exports.sqlite3__wasm_config_j(O,R[0]);case d.SQLITE_CONFIG_GETMALLOC:case d.SQLITE_CONFIG_GETMUTEX:case d.SQLITE_CONFIG_GETPCACHE2:case d.SQLITE_CONFIG_GETPCACHE:case d.SQLITE_CONFIG_HEAP:case d.SQLITE_CONFIG_LOG:case d.SQLITE_CONFIG_MALLOC:case d.SQLITE_CONFIG_MMAP_SIZE:case d.SQLITE_CONFIG_MULTITHREAD:case d.SQLITE_CONFIG_MUTEX:case d.SQLITE_CONFIG_PAGECACHE:case d.SQLITE_CONFIG_PCACHE2:case d.SQLITE_CONFIG_PCACHE:case d.SQLITE_CONFIG_PCACHE_HDRSZ:case d.SQLITE_CONFIG_PMASZ:case d.SQLITE_CONFIG_SERIALIZED:case d.SQLITE_CONFIG_SINGLETHREAD:case d.SQLITE_CONFIG_SQLLOG:case d.SQLITE_CONFIG_WIN32_HEAPSIZE:default:return d.SQLITE_NOTFOUND}};{let O=new Set;d.sqlite3_auto_extension=function(R){if(R instanceof Function)R=p.installFunction("i(ppp)",R);else if(arguments.length!==1||!p.isPtr(R))return d.SQLITE_MISUSE;let X=p.exports.sqlite3_auto_extension(R);if(R!==arguments[0])if(X===0)O.add(R);else p.uninstallFunction(R);return X},d.sqlite3_cancel_auto_extension=function(R){if(!R||arguments.length!==1||!p.isPtr(R))return 0;return p.exports.sqlite3_cancel_auto_extension(R)},d.sqlite3_reset_auto_extension=function(){p.exports.sqlite3_reset_auto_extension();for(let R of O)p.uninstallFunction(R);O.clear()}}p.xWrap.FuncPtrAdapter.warnOnUse=!0;let H=f.StructBinder,G=function O(R,X,ee,U=O.installMethodArgcCheck){if(!(R instanceof H.StructType))c("Usage error: target object is-not-a StructType.");else if(!(ee instanceof Function)&&!p.isPtr(ee))c("Usage error: expecting a Function or WASM pointer to one.");if(arguments.length===1)return(P,K)=>O(R,P,K,U);if(!O.argcProxy)O.argcProxy=function(P,K,oe,W){return function(...he){if(oe.length!==arguments.length)c("Argument mismatch for",P.structInfo.name+"::"+K+": Native signature is:",W);return oe.apply(this,he)}},O.removeFuncList=function(){if(this.ondispose.__removeFuncList)this.ondispose.__removeFuncList.forEach((P,K)=>{if(p.isPtr(P))try{p.uninstallFunction(P)}catch(oe){}}),delete this.ondispose.__removeFuncList};let J=R.memberSignature(X);if(J.length<2)c("Member",X,"does not have a function pointer signature:",J);let pe=R.memberKey(X),S=U&&!p.isPtr(ee)?O.argcProxy(R,pe,ee,J):ee;if(p.isPtr(S)){if(S&&!p.functionEntry(S))c("Pointer",S,"is not a WASM function table entry.");R[pe]=S}else{let P=p.installFunction(S,J);if(R[pe]=P,!R.ondispose||!R.ondispose.__removeFuncList)R.addOnDispose("ondispose.__removeFuncList handler",O.removeFuncList),R.ondispose.__removeFuncList=[];R.ondispose.__removeFuncList.push(pe,P)}return(P,K)=>O(R,P,K,U)};G.installMethodArgcCheck=!1;let le=function(O,R,X=G.installMethodArgcCheck){let ee=new Map;for(let U of Object.keys(R)){let J=R[U],pe=ee.get(J);if(pe){let S=O.memberKey(U);O[S]=O[O.memberKey(pe)]}else G(O,U,J,X),ee.set(J,U)}return O};H.StructType.prototype.installMethod=function(R,X,ee=G.installMethodArgcCheck){return arguments.length<3&&R&&typeof R==="object"?le(this,...arguments):G(this,...arguments)},H.StructType.prototype.installMethods=function(O,R=G.installMethodArgcCheck){return le(this,O,R)}}),globalThis.sqlite3ApiBootstrap.initializers.push(function(f){let c=(...F)=>{throw new f.SQLite3Error(...F)},{capi:d,wasm:p,util:E}=f,b=function(F){return(...g)=>F("sqlite3.oo1:",...g)};f.__isUnderTest?b(console.debug.bind(console)):b(f.config.debug),f.__isUnderTest?b(console.warn.bind(console)):b(f.config.warn),f.__isUnderTest?b(console.error.bind(console)):b(f.config.error);let I=new WeakMap,V=new Set,M=new WeakMap,C=(F,g,w)=>{let T=Object.getOwnPropertyDescriptor(F,g);return T?T.value:w},q=function(F,g){if(g){if(F instanceof O)F=F.pointer;c(g,"sqlite3 result code",g+":",F?d.sqlite3_errmsg(F):d.sqlite3_errstr(g))}return arguments[0]},H=p.installFunction("i(ippp)",function(F,g,w,T){if(d.SQLITE_TRACE_STMT===F)console.log("SQL TRACE #"+ ++this.counter,"via sqlite3@"+g+"["+d.sqlite3_db_filename(g,null)+"]",p.cstrToJs(T))}.bind({counter:0})),G=Object.create(null),le=function F(...g){let w=F.normalizeArgs(...g),T;if(T=w["sqlite3*"]){if(!w["sqlite3*:takeOwnership"])V.add(this);this.filename=d.sqlite3_db_filename(T,"main")}else{let{filename:N,vfs:te,flags:se}=w;if(typeof N!=="string"&&!p.isPtr(N)||typeof se!=="string"||te&&typeof te!=="string"&&!p.isPtr(te))f.config.error("Invalid DB ctor args",w,arguments),c("Invalid arguments for DB constructor:",arguments,"opts:",w);let A=0;if(se.indexOf("c")>=0)A|=d.SQLITE_OPEN_CREATE|d.SQLITE_OPEN_READWRITE;if(se.indexOf("w")>=0)A|=d.SQLITE_OPEN_READWRITE;if(A===0)A|=d.SQLITE_OPEN_READONLY;A|=d.SQLITE_OPEN_EXRESCODE;let L=p.pstack.pointer;try{let Q=p.pstack.allocPtr(),ne=d.sqlite3_open_v2(N,Q,A,te||p.ptr.null);if(T=p.peekPtr(Q),q(T,ne),d.sqlite3_extended_result_codes(T,1),se.indexOf("t")>=0)d.sqlite3_trace_v2(T,d.SQLITE_TRACE_STMT,H,T)}catch(Q){if(T)d.sqlite3_close_v2(T);throw Q}finally{p.pstack.restore(L)}this.filename=p.isPtr(N)?p.cstrToJs(N):N}if(I.set(this,T),M.set(this,Object.create(null)),!w["sqlite3*"])try{let N=G[d.sqlite3_js_db_vfs(T)||c("Internal error: cannot get VFS for new db handle.")];if(N)if(N instanceof Function)N(this,f);else q(T,d.sqlite3_exec(T,N,0,0,0))}catch(N){throw this.close(),N}};le.setVfsPostOpenCallback=function(F,g){if(!(g instanceof Function))c("dbCtorHelper.setVfsPostOpenCallback() should not be used with a non-function argument.",arguments);G[F]=g},le.normalizeArgs=function(F=":memory:",g="c",w=null){let T={};if(arguments.length===1&&arguments[0]&&typeof arguments[0]==="object"){if(Object.assign(T,arguments[0]),T.flags===void 0)T.flags="c";if(T.vfs===void 0)T.vfs=null;if(T.filename===void 0)T.filename=":memory:"}else T.filename=F,T.flags=g,T.vfs=w;return T};let O=function(...F){le.apply(this,F)};O.dbCtorHelper=le;let R={null:1,number:2,string:3,boolean:4,blob:5};if(p.bigIntEnabled)R.bigint=R.number;let X=function(){if(R!==arguments[2])c(d.SQLITE_MISUSE,"Do not call the Stmt constructor directly. Use DB.prepare().");if(this.db=arguments[0],I.set(this,arguments[1]),arguments.length>3&&!arguments[3])V.add(this)},ee=function(F){if(!F.pointer)c("DB has been closed.");return F},U=function(F,g){if(g!==(g|0)||g<0||g>=F.columnCount)c("Column index",g,"is out of range.");return F},J=function(F,g){let w=Object.create(null);switch(w.opt=Object.create(null),g.length){case 1:if(typeof g[0]==="string"||E.isSQLableTypedArray(g[0]))w.sql=g[0];else if(Array.isArray(g[0]))w.sql=g[0];else if(g[0]&&typeof g[0]==="object")w.opt=g[0],w.sql=w.opt.sql;break;case 2:w.sql=g[0],w.opt=g[1];break;default:c("Invalid argument count for exec().")}if(w.sql=E.flexibleString(w.sql),typeof w.sql!=="string")c("Missing SQL argument or unsupported SQL value type.");let T=w.opt;switch(T.returnValue){case"resultRows":if(!T.resultRows)T.resultRows=[];w.returnVal=()=>T.resultRows;break;case"saveSql":if(!T.saveSql)T.saveSql=[];w.returnVal=()=>T.saveSql;break;case void 0:case"this":w.returnVal=()=>F;break;default:c("Invalid returnValue value:",T.returnValue)}if(!T.callback&&!T.returnValue&&T.rowMode!==void 0){if(!T.resultRows)T.resultRows=[];w.returnVal=()=>T.resultRows}if(T.callback||T.resultRows)switch(T.rowMode===void 0?"array":T.rowMode){case"object":w.cbArg=(N,te)=>{if(!te.columnNames)te.columnNames=N.getColumnNames([]);let se=N.get([]),A=Object.create(null);for(let L in te.columnNames)A[te.columnNames[L]]=se[L];return A};break;case"array":w.cbArg=(N)=>N.get([]);break;case"stmt":if(Array.isArray(T.resultRows))c("exec(): invalid rowMode for a resultRows array: must","be one of 'array', 'object',","a result column number, or column name reference.");w.cbArg=(N)=>N;break;default:if(E.isInt32(T.rowMode)){w.cbArg=(N)=>N.get(T.rowMode);break}else if(typeof T.rowMode==="string"&&T.rowMode.length>1&&T.rowMode[0]==="$"){let N=T.rowMode.substr(1);w.cbArg=(te)=>{let se=te.get(Object.create(null))[N];return se===void 0?c(d.SQLITE_NOTFOUND,"exec(): unknown result column:",N):se};break}c("Invalid rowMode:",T.rowMode)}return w},pe=(F,g,w,...T)=>{let N=F.prepare(g);try{let te=N.bind(w).step()?N.get(...T):void 0;return N.reset(),te}finally{N.finalize()}},S=(F,g,w,T)=>F.exec({sql:g,bind:w,rowMode:T,returnValue:"resultRows"});O.checkRc=(F,g)=>q(F,g),O.prototype={isOpen:function(){return!!this.pointer},affirmOpen:function(){return ee(this)},close:function(){let F=this.pointer;if(F){if(this.onclose&&this.onclose.before instanceof Function)try{this.onclose.before(this)}catch(g){}if(Object.keys(M.get(this)).forEach((g,w)=>{if(w&&w.pointer)try{w.finalize()}catch(T){}}),I.delete(this),M.delete(this),!V.delete(this))d.sqlite3_close_v2(F);if(this.onclose&&this.onclose.after instanceof Function)try{this.onclose.after(this)}catch(g){}delete this.filename}},changes:function(F=!1,g=!1){let w=ee(this).pointer;if(F)return g?d.sqlite3_total_changes64(w):d.sqlite3_total_changes(w);else return g?d.sqlite3_changes64(w):d.sqlite3_changes(w)},dbFilename:function(F="main"){return d.sqlite3_db_filename(ee(this).pointer,F)},dbName:function(F=0){return d.sqlite3_db_name(ee(this).pointer,F)},dbVfsName:function(F=0){let g,w=d.sqlite3_js_db_vfs(ee(this).pointer,F);if(w){let T=new d.sqlite3_vfs(w);try{g=p.cstrToJs(T.$zName)}finally{T.dispose()}}return g},prepare:function(F){ee(this);let g=p.pstack.pointer,w,T;try{w=p.pstack.alloc(8),O.checkRc(this,d.sqlite3_prepare_v2(this.pointer,F,-1,w,null)),T=p.peekPtr(w)}finally{p.pstack.restore(g)}if(!T)c("Cannot prepare empty SQL.");let N=new X(this,T,R);return M.get(this)[T]=N,N},exec:function(){ee(this);let F=J(this,arguments);if(!F.sql)return c("exec() requires an SQL string.");let g=F.opt,w=g.callback,T=Array.isArray(g.resultRows)?g.resultRows:void 0,N,te=g.bind,se=!!(F.cbArg||g.columnNames||T),A=p.scopedAllocPush(),L=Array.isArray(g.saveSql)?g.saveSql:void 0;try{let Q=E.isSQLableTypedArray(F.sql),ne=Q?F.sql.byteLength:p.jstrlen(F.sql),ye=p.scopedAlloc(2*p.ptr.size+(ne+1)),Te=p.ptr.add(ye,p.ptr.size),Ie=p.ptr.add(Te,p.ptr.size),qe=p.ptr.add(Ie,ne);if(Q)p.heap8().set(F.sql,Ie);else p.jstrcpy(F.sql,p.heap8(),Ie,ne,!1);p.poke8(p.ptr.add(Ie,ne),0);while(Ie&&p.peek8(Ie)){p.pokePtr([ye,Te],0),O.checkRc(this,d.sqlite3_prepare_v3(this.pointer,Ie,ne,0,ye,Te));let Ge=p.peekPtr(ye);if(Ie=p.peekPtr(Te),ne=Number(p.ptr.add(qe,-Ie)),!Ge)continue;if(L)L.push(d.sqlite3_sql(Ge).trim());if(N=new X(this,Ge,R),te&&N.parameterCount)N.bind(te),te=null;if(se&&N.columnCount){let ct=Array.isArray(g.columnNames)?0:1;if(se=!1,F.cbArg||T){let zt=Object.create(null);for(;N.step();he.delete(N)){if(ct++===0)N.getColumnNames(zt.columnNames=g.columnNames||[]);he.add(N);let Ir=F.cbArg(N,zt);if(T)T.push(Ir);if(w&&w.call(g,Ir,N)===!1)break}he.delete(N)}if(ct===0)N.getColumnNames(g.columnNames)}else N.step();N.reset().finalize(),N=null}}finally{if(N)he.delete(N),N.finalize();p.scopedAllocPop(A)}return F.returnVal()},createFunction:function(g,w,T){let N=(zt)=>zt instanceof Function;switch(arguments.length){case 1:T=g,g=T.name,w=T.xFunc||0;break;case 2:if(!N(w))T=w,w=T.xFunc||0;break;case 3:break;default:break}if(!T)T={};if(typeof g!=="string")c("Invalid arguments: missing function name.");let te=T.xStep||0,se=T.xFinal||0,A=T.xValue||0,L=T.xInverse||0,Q=void 0;if(N(w)){if(Q=!1,N(te)||N(se))c("Ambiguous arguments: scalar or aggregate?");te=se=null}else if(N(te)){if(!N(se))c("Missing xFinal() callback for aggregate or window UDF.");w=null}else if(N(se))c("Missing xStep() callback for aggregate or window UDF.");else c("Missing function-type properties.");if(Q===!1){if(N(A)||N(L))c("xValue and xInverse are not permitted for non-window UDFs.")}else if(N(A)){if(!N(L))c("xInverse must be provided if xValue is.");Q=!0}else if(N(L))c("xValue must be provided if xInverse is.");let ne=T.pApp;if(ne!==void 0&&ne!==null&&!p.isPtr(ne))c("Invalid value for pApp property. Must be a legal WASM pointer value.");let ye=T.xDestroy||0;if(ye&&!N(ye))c("xDestroy property must be a function.");let Te=0;if(C(T,"deterministic"))Te|=d.SQLITE_DETERMINISTIC;if(C(T,"directOnly"))Te|=d.SQLITE_DIRECTONLY;if(C(T,"innocuous"))Te|=d.SQLITE_INNOCUOUS;g=g.toLowerCase();let Ie=w||te,qe=C(T,"arity"),Ge=typeof qe==="number"?qe:Ie.length?Ie.length-1:0,ct;if(Q)ct=d.sqlite3_create_window_function(this.pointer,g,Ge,d.SQLITE_UTF8|Te,ne||0,te,se,A,L,ye);else ct=d.sqlite3_create_function_v2(this.pointer,g,Ge,d.SQLITE_UTF8|Te,ne||0,w,te,se,ye);return O.checkRc(this,ct),this},selectValue:function(F,g,w){return pe(this,F,g,0,w)},selectValues:function(F,g,w){let T=this.prepare(F),N=[];try{T.bind(g);while(T.step())N.push(T.get(0,w));T.reset()}finally{T.finalize()}return N},selectArray:function(F,g){return pe(this,F,g,[])},selectObject:function(F,g){return pe(this,F,g,{})},selectArrays:function(F,g){return S(this,F,g,"array")},selectObjects:function(F,g){return S(this,F,g,"object")},openStatementCount:function(){return this.pointer?Object.keys(M.get(this)).length:0},transaction:function(F){let g="BEGIN";if(arguments.length>1){if(/[^a-zA-Z]/.test(arguments[0]))c(d.SQLITE_MISUSE,"Invalid argument for BEGIN qualifier.");g+=" "+arguments[0],F=arguments[1]}ee(this).exec(g);try{let w=F(this);return this.exec("COMMIT"),w}catch(w){throw this.exec("ROLLBACK"),w}},savepoint:function(F){ee(this).exec("SAVEPOINT oo1");try{let g=F(this);return this.exec("RELEASE oo1"),g}catch(g){throw this.exec("ROLLBACK to SAVEPOINT oo1; RELEASE SAVEPOINT oo1"),g}},checkRc:function(F){return q(this,F)}},O.wrapHandle=function(F,g=!1){if(!F||!p.isPtr(F))throw new f.SQLite3Error(d.SQLITE_MISUSE,"Argument must be a WASM sqlite3 pointer");return new O({"sqlite3*":F,"sqlite3*:takeOwnership":!!g})};let P=function(F){if(!F.pointer)c("Stmt has been closed.");return F},K=function(F){let g=R[F===null||F===void 0?"null":typeof F];switch(g){case R.boolean:case R.null:case R.number:case R.string:return g;case R.bigint:return p.bigIntEnabled?g:void 0;default:return E.isBindableTypedArray(F)?R.blob:void 0}},oe=function(F){return K(F)||c("Unsupported bind() argument type:",typeof F)},W=function(F,g){let w=typeof g==="number"?g:d.sqlite3_bind_parameter_index(F.pointer,g);if(w===0||!E.isInt32(w))c("Invalid bind() parameter name: "+g);else if(w<1||w>F.parameterCount)c("Bind index",g,"is out of range.");return w},he=new Set,we=new Set,me=function(F,g){if(he.has(F))c("Operation is illegal when statement is locked:",g);return F},ve=function F(g,w,T,N){if(me(P(g),"bind()"),!F._)F._tooBigInt=(se)=>c("BigInt value is too big to store without precision loss:",se),F._={string:function(se,A,L,Q){let[ne,ye]=p.allocCString(L,!0);return(Q?d.sqlite3_bind_blob:d.sqlite3_bind_text)(se.pointer,A,ne,ye,d.SQLITE_WASM_DEALLOC)}};oe(N),w=W(g,w);let te=0;switch(N===null||N===void 0?R.null:T){case R.null:te=d.sqlite3_bind_null(g.pointer,w);break;case R.string:te=F._.string(g,w,N,!1);break;case R.number:{let se;if(E.isInt32(N))se=d.sqlite3_bind_int;else if(typeof N==="bigint")if(!E.bigIntFits64(N))F._tooBigInt(N);else if(p.bigIntEnabled)se=d.sqlite3_bind_int64;else if(E.bigIntFitsDouble(N))N=Number(N),se=d.sqlite3_bind_double;else F._tooBigInt(N);else if(N=Number(N),p.bigIntEnabled&&Number.isInteger(N))se=d.sqlite3_bind_int64;else se=d.sqlite3_bind_double;te=se(g.pointer,w,N);break}case R.boolean:te=d.sqlite3_bind_int(g.pointer,w,N?1:0);break;case R.blob:{if(typeof N==="string"){te=F._.string(g,w,N,!0);break}else if(N instanceof ArrayBuffer)N=new Uint8Array(N);else if(!E.isBindableTypedArray(N))c("Binding a value as a blob requires","that it be a string, Uint8Array, Int8Array, or ArrayBuffer.");let se=p.alloc(N.byteLength||1);p.heap8().set(N.byteLength?N:[0],Number(se)),te=d.sqlite3_bind_blob(g.pointer,w,se,N.byteLength,d.SQLITE_WASM_DEALLOC);break}default:f.config.warn("Unsupported bind() argument type:",N),c("Unsupported bind() argument type: "+typeof N)}if(te)O.checkRc(g.db.pointer,te);return g};X.prototype={finalize:function(){let F=this.pointer;if(F){me(this,"finalize()");let g=V.delete(this)?0:d.sqlite3_finalize(F);return delete M.get(this.db)[F],I.delete(this),he.delete(this),we.delete(this),delete this.parameterCount,delete this.db,g}},clearBindings:function(){return me(P(this),"clearBindings()"),d.sqlite3_clear_bindings(this.pointer),we.delete(this),this},reset:function(F){if(me(this,"reset()"),F)this.clearBindings();let g=d.sqlite3_reset(P(this).pointer);return we.delete(this),q(this.db,g),this},bind:function(){P(this);let F,g;switch(arguments.length){case 1:F=1,g=arguments[0];break;case 2:F=arguments[0],g=arguments[1];break;default:c("Invalid bind() arguments.")}if(g===void 0)return this;else if(!this.parameterCount)c("This statement has no bindable parameters.");if(we.delete(this),g===null)return ve(this,F,R.null,g);else if(Array.isArray(g)){if(arguments.length!==1)c("When binding an array, an index argument is not permitted.");return g.forEach((w,T)=>ve(this,T+1,oe(w),w)),this}else if(g instanceof ArrayBuffer)g=new Uint8Array(g);if(typeof g==="object"&&!E.isBindableTypedArray(g)){if(arguments.length!==1)c("When binding an object, an index argument is not permitted.");return Object.keys(g).forEach((w)=>ve(this,w,oe(g[w]),g[w])),this}else return ve(this,F,oe(g),g);c("Should not reach this point.")},bindAsBlob:function(F,g){if(P(this),arguments.length===1)g=F,F=1;let w=oe(g);if(R.string!==w&&R.blob!==w&&R.null!==w)c("Invalid value type for bindAsBlob()");return ve(this,F,R.blob,g)},step:function(){me(this,"step()");let F=d.sqlite3_step(P(this).pointer);switch(F){case d.SQLITE_DONE:return we.delete(this),!1;case d.SQLITE_ROW:return we.add(this),!0;default:we.delete(this),f.config.warn("sqlite3_step() rc=",F,d.sqlite3_js_rc_str(F),"SQL =",d.sqlite3_sql(this.pointer)),O.checkRc(this.db.pointer,F)}},stepReset:function(){return this.step(),this.reset()},stepFinalize:function(){try{let F=this.step();return this.reset(),F}finally{try{this.finalize()}catch(F){}}},get:function(F,g){if(!we.has(P(this)))c("Stmt.step() has not (recently) returned true.");if(Array.isArray(F)){let w=0,T=this.columnCount;while(w<T)F[w]=this.get(w++);return F}else if(F&&typeof F==="object"){let w=0,T=this.columnCount;while(w<T)F[d.sqlite3_column_name(this.pointer,w)]=this.get(w++);return F}switch(U(this,F),g===void 0?d.sqlite3_column_type(this.pointer,F):g){case d.SQLITE_NULL:return null;case d.SQLITE_INTEGER:if(p.bigIntEnabled){let w=d.sqlite3_column_int64(this.pointer,F);if(w>=Number.MIN_SAFE_INTEGER&&w<=Number.MAX_SAFE_INTEGER)return Number(w).valueOf();return w}else{let w=d.sqlite3_column_double(this.pointer,F);if(w>Number.MAX_SAFE_INTEGER||w<Number.MIN_SAFE_INTEGER)c("Integer is out of range for JS integer range: "+w);return E.isInt32(w)?w|0:w}case d.SQLITE_FLOAT:return d.sqlite3_column_double(this.pointer,F);case d.SQLITE_TEXT:return d.sqlite3_column_text(this.pointer,F);case d.SQLITE_BLOB:{let w=d.sqlite3_column_bytes(this.pointer,F),T=d.sqlite3_column_blob(this.pointer,F),N=new Uint8Array(w);if(w){if(N.set(p.heap8u().slice(Number(T),Number(T)+w),0),this.db._blobXfer instanceof Array)this.db._blobXfer.push(N.buffer)}return N}default:c("Don't know how to translate","type of result column #"+F+".")}c("Not reached.")},getInt:function(F){return this.get(F,d.SQLITE_INTEGER)},getFloat:function(F){return this.get(F,d.SQLITE_FLOAT)},getString:function(F){return this.get(F,d.SQLITE_TEXT)},getBlob:function(F){return this.get(F,d.SQLITE_BLOB)},getJSON:function(F){let g=this.get(F,d.SQLITE_STRING);return g===null?g:JSON.parse(g)},getColumnName:function(F){return d.sqlite3_column_name(U(P(this),F).pointer,F)},getColumnNames:function(F=[]){U(P(this),0);let g=this.columnCount;for(let w=0;w<g;++w)F.push(d.sqlite3_column_name(this.pointer,w));return F},getParamIndex:function(F){return P(this).parameterCount?d.sqlite3_bind_parameter_index(this.pointer,F):void 0},getParamName:function(F){return P(this).parameterCount?d.sqlite3_bind_parameter_name(this.pointer,F):void 0},isBusy:function(){return d.sqlite3_stmt_busy(P(this))!==0},isReadOnly:function(){return d.sqlite3_stmt_readonly(P(this))!==0}};{let F={enumerable:!0,get:function(){return I.get(this)},set:()=>c("The pointer property is read-only.")};Object.defineProperty(X.prototype,"pointer",F),Object.defineProperty(O.prototype,"pointer",F)}Object.defineProperty(X.prototype,"columnCount",{enumerable:!1,get:function(){return d.sqlite3_column_count(this.pointer)},set:()=>c("The columnCount property is read-only.")}),Object.defineProperty(X.prototype,"parameterCount",{enumerable:!1,get:function(){return d.sqlite3_bind_parameter_count(this.pointer)},set:()=>c("The parameterCount property is read-only.")}),X.wrapHandle=function(F,g,w=!1){if(!(F instanceof O)||!F.pointer)throw new f.SQLite3Error(f.SQLITE_MISUSE,"First argument must be an opened sqlite3.oo1.DB instance");if(!g||!p.isPtr(g))throw new f.SQLite3Error(f.SQLITE_MISUSE,"Second argument must be a WASM sqlite3_stmt pointer");return new X(F,g,R,!!w)},f.oo1={DB:O,Stmt:X}}),globalThis.sqlite3ApiBootstrap.initializers.push(function(f){let c=f.util;f.initWorker1API=function(){let d=(...H)=>{throw Error(H.join(" "))};if(!(globalThis.WorkerGlobalScope instanceof Function))d("initWorker1API() must be run from a Worker thread.");let p=this.sqlite3||d("Missing this.sqlite3 object."),E=p.oo1.DB,b=function(H){let G=I.idMap.get(H);if(G)return G;return G="db#"+ ++I.idSeq+":"+Math.floor(Math.random()*1e8)+":"+Math.floor(Math.random()*1e8),I.idMap.set(H,G),G},I={dbList:[],idSeq:0,idMap:new WeakMap,xfer:[],open:function(H){let G=new E(H);if(this.dbs[b(G)]=G,this.dbList.indexOf(G)<0)this.dbList.push(G);return G},close:function(H,G){if(H){delete this.dbs[b(H)];let le=H.filename,O=c.sqlite3__wasm_db_vfs(H.pointer,0);H.close();let R=this.dbList.indexOf(H);if(R>=0)this.dbList.splice(R,1);if(G&&le&&O)c.sqlite3__wasm_vfs_unlink(O,le)}},post:function(H,G){if(G&&G.length)globalThis.postMessage(H,Array.from(G)),G.length=0;else globalThis.postMessage(H)},dbs:Object.create(null),getDb:function(H,G=!0){return this.dbs[H]||(G?d("Unknown (or closed) DB ID:",H):void 0)}},V=function(H=I.dbList[0]){return H&&H.pointer?H:d("DB is not opened.")},M=function(H,G=!0){let le=I.getDb(H.dbId,!1)||I.dbList[0];return G?V(le):le},C=function(){return I.dbList[0]&&b(I.dbList[0])},q={open:function(H){let G=Object.create(null),le=H.args||Object.create(null);if(le.simulateError)d("Throwing because of simulateError flag.");let O=Object.create(null);G.vfs=le.vfs,G.filename=le.filename||"";let R=I.open(G);return O.filename=R.filename,O.persistent=!!p.capi.sqlite3_js_db_uses_vfs(R.pointer,"opfs"),O.dbId=b(R),O.vfs=R.dbVfsName(),O},close:function(H){let G=M(H,!1),le={filename:G&&G.filename};if(G){let O=H.args&&typeof H.args==="object"?!!H.args.unlink:!1;I.close(G,O)}return le},exec:function(H){let G=typeof H.args==="string"?{sql:H.args}:H.args||Object.create(null);if(G.rowMode==="stmt")d("Invalid rowMode for 'exec': stmt mode","does not work in the Worker API.");else if(!G.sql)d("'exec' requires input SQL.");let le=M(H);if(G.callback||Array.isArray(G.resultRows))le._blobXfer=I.xfer;let O=G.callback,R=0,X=!!G.columnNames;if(typeof O==="string"){if(!X)G.columnNames=[];G.callback=function(ee,U){I.post({type:O,columnNames:G.columnNames,rowNumber:++R,row:ee},I.xfer)}}try{let ee=G.countChanges?le.changes(!0,G.countChanges===64):void 0;if(le.exec(G),ee!==void 0)G.changeCount=le.changes(!0,G.countChanges===64)-ee;let U=G.lastInsertRowId?p.capi.sqlite3_last_insert_rowid(le):void 0;if(U!==void 0)G.lastInsertRowId=U;if(G.callback instanceof Function)G.callback=O,I.post({type:O,columnNames:G.columnNames,rowNumber:null,row:void 0})}finally{if(delete le._blobXfer,G.callback)G.callback=O}return G},"config-get":function(){let H=Object.create(null),G=p.config;return["bigIntEnabled"].forEach(function(le){if(Object.getOwnPropertyDescriptor(G,le))H[le]=G[le]}),H.version=p.version,H.vfsList=p.capi.sqlite3_js_vfs_list(),H},export:function(H){let G=M(H),le={byteArray:p.capi.sqlite3_js_db_export(G.pointer),filename:G.filename,mimetype:"application/x-sqlite3"};return I.xfer.push(le.byteArray.buffer),le},toss:function(H){d("Testing worker exception")}};globalThis.onmessage=async function(H){H=H.data;let G,le=H.dbId,O=H.type,R=performance.now();try{if(q.hasOwnProperty(O)&&q[O]instanceof Function)G=await q[O](H);else d("Unknown db worker message type:",H.type)}catch(X){if(O="error",G={operation:H.type,message:X.message,errorClass:X.name,input:H},X.stack)G.stack=typeof X.stack==="string"?X.stack.split(/\n\s*/):X.stack}if(!le)le=G.dbId||C();I.post({type:O,dbId:le,messageId:H.messageId,workerReceivedTime:R,workerRespondTime:performance.now(),departureTime:H.departureTime,result:G},I.xfer)},globalThis.postMessage({type:"sqlite3-api",result:"worker1-ready"})}.bind({sqlite3:f})}),globalThis.sqlite3ApiBootstrap.initializers.push(function(f){let{wasm:c,capi:d}=f,p=f.util.toss3,E=Object.create(null);f.vfs=E,d.sqlite3_vfs.prototype.registerVfs=function(b=!1){if(!(this instanceof f.capi.sqlite3_vfs))p("Expecting a sqlite3_vfs-type argument.");let I=d.sqlite3_vfs_register(this,b?1:0);if(I)p("sqlite3_vfs_register(",this,") failed with rc",I);if(this.pointer!==d.sqlite3_vfs_find(this.$zName))p("BUG: sqlite3_vfs_find(vfs.$zName) failed for just-installed VFS",this);return this},E.installVfs=function(b){let I=0,V=["io","vfs"];for(let M of V){let C=b[M];if(C){if(++I,C.struct.installMethods(C.methods,!!C.applyArgcCheck),M==="vfs"){if(!C.struct.$zName&&typeof C.name==="string")C.struct.addOnDispose(C.struct.$zName=c.allocCString(C.name));C.struct.registerVfs(!!C.asDefault)}}}if(!I)p("Misuse: installVfs() options object requires at least","one of:",V);return this}}),globalThis.sqlite3ApiBootstrap.initializers.push(function(f){if(!f.wasm.exports.sqlite3_declare_vtab)return;let{wasm:c,capi:d}=f,p=f.util.toss3,E=Object.create(null);f.vtab=E;let b=d.sqlite3_index_info;b.prototype.nthConstraint=function(M,C=!1){if(M<0||M>=this.$nConstraint)return!1;let q=c.ptr.add(this.$aConstraint,b.sqlite3_index_constraint.structInfo.sizeof*M);return C?q:new b.sqlite3_index_constraint(q)},b.prototype.nthConstraintUsage=function(M,C=!1){if(M<0||M>=this.$nConstraint)return!1;let q=c.ptr.add(this.$aConstraintUsage,b.sqlite3_index_constraint_usage.structInfo.sizeof*M);return C?q:new b.sqlite3_index_constraint_usage(q)},b.prototype.nthOrderBy=function(M,C=!1){if(M<0||M>=this.$nOrderBy)return!1;let q=c.ptr.add(this.$aOrderBy,b.sqlite3_index_orderby.structInfo.sizeof*M);return C?q:new b.sqlite3_index_orderby(q)};let I=function(M,C){return function(q,H=!1){if(arguments.length===0)q=new C;if(q instanceof C)return this.set(q.pointer,q),q;else if(!c.isPtr(q))f.SQLite3Error.toss("Invalid argument to",M+"()");let G=this.get(q);if(H)this.delete(q);return G}.bind(new Map)},V=function(M,C){let q=I(M,C);return Object.assign(Object.create(null),{StructType:C,create:(H)=>{let G=q();return c.pokePtr(H,G.pointer),G},get:(H)=>q(H),unget:(H)=>q(H,!0),dispose:(H)=>q(H,!0)?.dispose?.()})};E.xVtab=V("xVtab",d.sqlite3_vtab),E.xCursor=V("xCursor",d.sqlite3_vtab_cursor),E.xIndexInfo=(M)=>new d.sqlite3_index_info(M),E.xError=function M(C,q,H){if(M.errorReporter instanceof Function)try{M.errorReporter("sqlite3_module::"+C+"(): "+q.message)}catch(le){}let G;if(q instanceof f.WasmAllocError)G=d.SQLITE_NOMEM;else if(arguments.length>2)G=H;else if(q instanceof f.SQLite3Error)G=q.resultCode;return G||d.SQLITE_ERROR},E.xError.errorReporter=f.config.error.bind(f.config),E.xRowid=(M,C)=>c.poke(M,C,"i64"),E.setupModule=function(M){let C=!1,q=this instanceof d.sqlite3_module?this:M.struct||(C=new d.sqlite3_module);try{let H=M.methods||p("Missing 'methods' object.");for(let G of Object.entries({xConnect:"xCreate",xDisconnect:"xDestroy"})){let le=G[0],O=G[1];if(H[le]===!0)H[le]=H[O];else if(H[O]===!0)H[O]=H[le]}if(M.catchExceptions){let G=function(R,X){if(["xConnect","xCreate"].indexOf(R)>=0)return function(ee,U,J,pe,S,P){try{return X(...arguments)||0}catch(K){if(!(K instanceof f.WasmAllocError))c.dealloc(c.peekPtr(P)),c.pokePtr(P,c.allocCString(K.message));return E.xError(R,K)}};else return function(...ee){try{return X(...ee)||0}catch(U){return E.xError(R,U)}}},le=["xCreate","xConnect","xBestIndex","xDisconnect","xDestroy","xOpen","xClose","xFilter","xNext","xEof","xColumn","xRowid","xUpdate","xBegin","xSync","xCommit","xRollback","xFindFunction","xRename","xSavepoint","xRelease","xRollbackTo","xShadowName"],O=Object.create(null);for(let R of le){let X=H[R];if(!(X instanceof Function))continue;else if(R==="xConnect"&&H.xCreate===X)O[R]=H.xCreate;else if(R==="xCreate"&&H.xConnect===X)O[R]=H.xConnect;else O[R]=G(R,X)}q.installMethods(O,!1)}else q.installMethods(H,!!M.applyArgcCheck);if(q.$iVersion===0){let G;if(typeof M.iVersion==="number")G=M.iVersion;else if(q.$xIntegrity)G=4;else if(q.$xShadowName)G=3;else if(q.$xSavePoint||q.$xRelease||q.$xRollbackTo)G=2;else G=1;q.$iVersion=G}}catch(H){if(C)C.dispose();throw H}return q},d.sqlite3_module.prototype.setupModule=function(M){return E.setupModule.call(this,M)}}),globalThis.sqlite3ApiBootstrap.initializers.push(function(f){if(f.config.disable?.vfs?.kvvfs)return;let c=f.capi,{sqlite3_kvvfs_methods:d,KVVfsFile:p}=c,E=f.capi.sqlite3_vfs_find("kvvfs");if(delete c.sqlite3_kvvfs_methods,delete c.KVVfsFile,!E)return;let{util:b,wasm:I}=f,V=b.toss3,M=new d(I.exports.sqlite3__wasm_kvvfs_methods());b.assert(32<=M.$nKeySize,"unexpected kvvfsMethods.$nKeySize: "+M.$nKeySize);let C=Object.assign(Object.create(null),{rxJournalSuffix:/-journal$/,zKeyJrnl:I.allocCString("jrnl"),zKeySz:I.allocCString("sz"),keySize:M.$nKeySize,buffer:Object.assign(Object.create(null),{n:M.$nBufferSize,pool:Object.create(null)})});C.memBuffer=(B=0)=>C.buffer.pool[B]??=I.alloc(C.buffer.n),C.memBufferFree=(B)=>{let re=C.buffer.pool[B];if(re)I.dealloc(re),delete C.buffer.pool[B]};let q=()=>{},H=f.__isUnderTest?(...B)=>f.config.debug?.("kvvfs:",...B):q,G=(...B)=>f.config.warn?.("kvvfs:",...B),le=(...B)=>f.config.error?.("kvvfs:",...B);class O{#e=Object.create(null);#o=null;#i=0;constructor(){this.clear()}#t(){return this.#o??=Object.keys(this.#e)}key(B){if(B<0||B>=this.#i)return null;return this.#t()[B]}getItem(B){return this.#e[B]??null}setItem(B,re){if(!(B in this.#e))++this.#i,this.#o=null;this.#e[B]=""+re}removeItem(B){if(B in this.#e)delete this.#e[B],--this.#i,this.#o=null}clear(){this.#e=Object.create(null),this.#o=null,this.#i=0}get length(){return this.#i}}let R=(B)=>B==="local"||B==="session",X=(B)=>R(B)?"kvvfs-"+B+"-":"",ee=function(B,re=!1){if(R(B))return;let ae=new Blob([B]).size;if(!ae)V(c.SQLITE_MISUSE,"Empty name is not permitted.");let ue=C.keySize-1;if(C.rxJournalSuffix.test(B)){if(!re)V(c.SQLITE_MISUSE,"Storage names may not have a '-journal' suffix.")}else if(["-wal","-shm"].filter((Re)=>B.endsWith(Re)).length)V(c.SQLITE_MISUSE,"Storage names may not have a -wal or -shm suffix.");else ue-=8;if(ae>ue)V(c.SQLITE_RANGE,"Storage name is too long. Limit =",ue);let Se;for(Se=0;Se<ae;++Se){let Re=B.codePointAt(Se);if(Re<32)V(c.SQLITE_RANGE,"Illegal character ("+Re+"d) in storage name:",B)}},U=(B,re=void 0)=>Object.assign(Object.create(null),{jzClass:B,refc:1,deleteAtRefc0:!1,storage:re||new O,keyPrefix:X(B),files:[],listeners:void 0}),J=f.kvvfs=Object.create(null);if(f.__isUnderTest)J.log=Object.assign(Object.create(null),{xOpen:!1,xClose:!1,xWrite:!1,xRead:!1,xSync:!1,xAccess:!1,xFileControl:!1,xRcrdRead:!1,xRcrdWrite:!1,xRcrdDelete:!1});let pe=function(B){let re=C.rxJournalSuffix.test(B.jzClass)?B.jzClass.replace(C.rxJournalSuffix,""):B.jzClass+"-journal";if(J?.log?.xClose&&H("cleaning up storage handles [",B.jzClass,re,"]",B),delete C.storagePool[B.jzClass],delete C.storagePool[re],!f.__isUnderTest)delete B.storage,delete B.refc},S=(B)=>C.storagePool[B.jzClass]=C.storagePool[B.jzClass+"-journal"]=B,P=".";if(C.storagePool=Object.assign(Object.create(null),{[P]:U(P)}),globalThis.Storage){if(globalThis.localStorage instanceof globalThis.Storage)C.storagePool.local=U("local",globalThis.localStorage);if(globalThis.sessionStorage instanceof globalThis.Storage)C.storagePool.session=U("session",globalThis.sessionStorage)}C.builtinStorageNames=Object.keys(C.storagePool);let K=(B)=>C.builtinStorageNames.indexOf(B)>-1;for(let B of Object.keys(C.storagePool)){let re=C.storagePool[B];C.storagePool[B+"-journal"]=re}C.setError=(B=void 0,re=c.SQLITE_ERROR)=>{if(B)return C.lastError=B,B.resultCode|0||re;return delete C.lastError,0},C.popError=()=>{let B=C.lastError;return delete C.lastError,B};let oe=(B)=>{G("kvvfs.listener handler threw:",B)},W=I.exports.sqlite3__wasm_kvvfs_decode,he=I.exports.sqlite3__wasm_kvvfs_encode,we=async function(B,re,...ae){try{if(re.keyPrefix&&ae[0])ae[0]=ae[0].replace(re.keyPrefix,"");let ue,Se,Re,Oe;for(let ke of re.listeners){let Ce=Object.create(null);Ce.storageName=re.jzClass,Ce.type=B,ke.decodePages;let He=ke.events[B];if(He){if(!ke.includeJournal&&ae[0]==="jrnl")continue;if(B==="write"&&ke.decodePages&&+ae[0]>0){if(Ce.data=[ae[0]],Oe?.[ae[0]]){Ce.data[1]=Oe[ae[0]];continue}ue??=new TextEncoder("utf-8"),Se??=C.memBuffer(10),Re??=C.memBuffer(11);let Qe=ue.encode(ae[1]),Me=I.heap8u();Me.set(Qe,Number(Se)),Me[I.ptr.addn(Se,Qe.length)]=0;let mt=W(Se,Re,C.buffer.n);if(mt>0)Oe??=Object.create(null),Oe[ae[0]]=Ce.data[1]=Me.slice(Number(Re),I.ptr.addn(Re,mt));else continue}else Ce.data=ae.length?ae.length===1?ae[0]:ae:void 0;try{He(Ce)?.catch?.(oe)}catch(Qe){G("notifyListeners [",re.jzClass,"]",B,Qe)}}}}catch(ue){oe(ue)}},me=(B)=>typeof B==="string"?C.storagePool[B]:C.storagePool[I.cstrToJs(B)],ve=I.exports.sqlite3__wasm_kvvfsMakeKey,F=(B,re,ae)=>re&&B.keyPrefix?ve(re,ae):ae,g=(B,re,ae)=>I.cstrToJs(F(B,re,ae)),w=(B)=>+B.storage.getItem(B.keyPrefix+"sz"),T=new Map,N={vfs:Object.create(null),ioDb:Object.create(null),ioJrnl:Object.create(null)},te=new c.sqlite3_vfs(M.$pVfs),se=new c.sqlite3_io_methods(M.$pIoDb),A=new c.sqlite3_io_methods(M.$pIoJrnl),L=Object.create(null),Q=Object.assign(Object.create(null),{pFileHandles:T,cache:C,storageForZClass:me,KVVfsStorage:O,disablePageSizeChange:!0});if(J.log)J.internal=Q;let ne={recordHandler:{xRcrdRead:(B,re,ae,ue)=>{try{let Se=I.cstrToJs(B),Re=me(Se);if(!Re)return-1;let Oe=g(Re,B,re);J?.log?.xRcrdRead&&G("xRcrdRead",Se,Oe,ue,Re);let ke=Re.storage.getItem(Oe);if(ke===null)return-1;let Ce=ke.length;if(ue<=0)return Ce;else if(ue===1)return I.poke(ae,0),Ce;if(ue+1<Ce)V(c.SQLITE_RANGE,"xRcrdRead()",Se,Oe,"input buffer is too small: need",Ce,"but have",ue);let He=C.memBuffer(0),Qe=I.heap8(),Me;for(Me=0;Me<Ce;++Me)Qe[I.ptr.add(He,Me)]=ke.codePointAt(Me)&255;return Qe.copyWithin(Number(ae),Number(He),I.ptr.addn(He,Me)),Qe[I.ptr.add(ae,Ce)]=0,ue}catch(Se){return le("kvrecordRead()",Se),C.setError(Se),-2}},xRcrdWrite:(B,re,ae)=>{try{let ue=me(B),Se=g(ue,B,re),Re=I.cstrToJs(ae);return J?.log?.xRcrdWrite&&G("xRcrdWrite",Se,ue),ue.storage.setItem(Se,Re),ue.listeners&&we("write",ue,Se,Re),0}catch(ue){return le("kvrecordWrite()",ue),C.setError(ue,c.SQLITE_IOERR)}},xRcrdDelete:(B,re)=>{try{let ae=me(B),ue=g(ae,B,re);return J?.log?.xRcrdDelete&&G("xRcrdDelete",ue,ae),ae.storage.removeItem(ue),ae.listeners&&we("delete",ae,ue),0}catch(ae){return le("kvrecordDelete()",ae),C.setError(ae,c.SQLITE_IOERR)}}},vfs:{xOpen:function(B,re,ae,ue,Se){C.popError();let Re;try{if(!re)Re=I.allocCString(""+ae+"."+(Math.random()*1e5|0)),re=Re;let Oe=I.cstrToJs(re);if(J?.log?.xOpen&&H("xOpen",Oe,"flags =",ue),ee(Oe,!0),ue&(c.SQLITE_OPEN_MAIN_DB|c.SQLITE_OPEN_TEMP_DB|c.SQLITE_OPEN_TRANSIENT_DB)&&C.rxJournalSuffix.test(Oe))V(c.SQLITE_ERROR,"DB files may not have a '-journal' suffix.");let ke=me(Oe);if(!ke&&!(ue&c.SQLITE_OPEN_CREATE))V(c.SQLITE_ERROR,"Storage not found:",Oe);let Ce=N.vfs.xOpen(B,re,ae,ue,Se);if(Ce)return Ce;let He=!!(c.SQLITE_OPEN_DELETEONCLOSE&ue);if(I.isPtr(arguments[1])){if(c.sqlite3_uri_boolean(re,"delete-on-close",0))He=!0}let Qe=new p(ae);if(b.assert(Qe.$zClass,"Missing f.$zClass"),Qe.addOnDispose(Re),Re=void 0,ke)++ke.refc,ke.files.push(Qe),I.poke32(Se,ue);else{I.poke32(Se,ue|c.SQLITE_OPEN_CREATE),b.assert(!Qe.$isJournal,"Opening a journal before its db? "+Oe);let Me=Oe.replace(C.rxJournalSuffix,"");ke=U(Me),S(ke),ke.files.push(Qe),ke.deleteAtRefc0=He,J?.log?.xOpen&&H("xOpen installed storage handle [",Me,Me+"-journal","]",ke)}return T.set(ae,{store:ke,file:Qe,jzClass:Oe}),ke.listeners&&we("open",ke,ke.files.length),0}catch(Oe){return G("xOpen:",Oe),C.setError(Oe)}finally{Re&&I.dealloc(Re)}},xDelete:function(B,re,ae){C.popError();try{let ue=I.cstrToJs(re);if(C.rxJournalSuffix.test(ue))L.xRcrdDelete(re,C.zKeyJrnl);return 0}catch(ue){return G("xDelete",ue),C.setError(ue)}},xAccess:function(B,re,ae,ue){C.popError();try{let Se=me(re),Re=Se?.jzClass||I.cstrToJs(re);if(J?.log?.xAccess)H("xAccess",Re,"flags =",ae,"*pResOut =",I.peek32(ue),"store =",Se);if(!Se)try{ee(Re)}catch(Oe){return I.poke32(ue,0),0}if(Se){let Oe=Se.keyPrefix+(C.rxJournalSuffix.test(Re)?"jrnl":"1"),ke=Se.storage.getItem(Oe)?0:1;I.poke32(ue,ke)}else I.poke32(ue,0);return 0}catch(Se){return le("xAccess",Se),C.setError(Se)}},xRandomness:function(B,re,ae){let ue=I.heap8u(),Se=0,Re=Number(ae);for(;Se<re;++Se)ue[Re+Se]=Math.random()*255000&255;return re},xGetLastError:function(B,re,ae){let ue=C.popError();if(H("xGetLastError",ue),ue){let Se=I.scopedAllocPush();try{let[Re,Oe]=I.scopedAllocCString(ue.message,!0);if(I.cstrncpy(ae,Re,re),Oe>re)I.poke8(I.ptr.add(ae,re,-1),0);return H("set xGetLastError",ue.message),ue.resultCode|0||c.SQLITE_IOERR}catch(Re){return c.SQLITE_NOMEM}finally{I.scopedAllocPop(Se)}}return 0}},ioDb:{xClose:function(B){C.popError();try{let re=T.get(B);if(J?.log?.xClose&&H("xClose",B,re),re){T.delete(B);let ae=re.store;if(ae.files=ae.files.filter((ue)=>ue!==re.file),--ae.refc<=0&&ae.deleteAtRefc0)pe(ae);N.ioDb.xClose(B),re.file.dispose(),ae.listeners&&we("close",ae,ae.files.length)}return 0}catch(re){return le("xClose",re),C.setError(re)}},xFileControl:function(B,re,ae){C.popError();try{let ue=T.get(B);if(b.assert(ue,"Missing KVVfsFile handle"),J?.log?.xFileControl&&H("xFileControl",ue,"op =",re),re===c.SQLITE_FCNTL_PRAGMA&&Q.disablePageSizeChange){let Re=I.peekPtr(I.ptr.add(ae,I.ptr.size));if(I.cstrToJs(Re)==="page_size"){J?.log?.xFileControl&&H("xFileControl pragma",I.cstrToJs(Re));let Oe=I.peekPtr(I.ptr.add(ae,2*I.ptr.size));if(Oe)return J?.log?.xFileControl&&G("xFileControl pragma",ue,"NOT setting page size to",I.cstrToJs(Oe)),ue.file.$szPage=-1,0;else if(ue.file.$szPage>0)return J?.log?.xFileControl&&G("xFileControl",ue,"getting page size",ue.file.$szPage),I.pokePtr(ae,I.allocCString(""+ue.file.$szPage)),0}}let Se=N.ioDb.xFileControl(B,re,ae);if(Se==0&&c.SQLITE_FCNTL_SYNC===re)ue.store.listeners&&we("sync",ue.store,!1);return Se}catch(ue){return le("xFileControl",ue),C.setError(ue)}},xSync:function(B,re){C.popError();try{let ae=T.get(B);J?.log?.xSync&&H("xSync",ae),b.assert(ae,"Missing KVVfsFile handle");let ue=N.ioDb.xSync(B,re);if(ue==0&&ae.store.listeners)we("sync",ae.store,!0);return ue}catch(ae){return le("xSync",ae),C.setError(ae)}}},ioJrnl:{xClose:!0}};try{b.assert(C.buffer.n>132096,"Heap buffer is not large enough");for(let B of Object.entries(ne.recordHandler)){let re=B[0],ae=B[1];L[re]=ae,M[M.memberKey(re)]=I.installFunction(M.memberSignature(re),ae)}for(let B of Object.entries(ne.vfs)){let re=B[0],ae=B[1],ue=te.memberKey(re),Se=te.structInfo.members[re]||b.toss("Missing pVfs.structInfo[",re,"]");N.vfs[re]=I.functionEntry(te[ue]),te[ue]=I.installFunction(Se.signature,ae)}for(let B of Object.entries(ne.ioDb)){let re=B[0],ae=B[1],ue=se.memberKey(re);N.ioDb[re]=I.functionEntry(se[ue])||b.toss("Missing native pIoDb[",ue,"]"),se[ue]=I.installFunction(se.memberSignature(re),ae)}for(let B of Object.entries(ne.ioJrnl)){let re=B[0],ae=B[1],ue=A.memberKey(re);if(N.ioJrnl[re]=I.functionEntry(A[ue])||b.toss("Missing native pIoJrnl[",ue,"]"),ae===!0)A[ue]=se[ue]||b.toss("Missing copied pIoDb[",ue,"]");else A[ue]=I.installFunction(A.memberSignature(re),ae)}}finally{M.dispose(),te.dispose(),se.dispose(),A.dispose()}let ye=function B(re){if(re==="")return B("local")+B("session");let ae=me(re);if(!ae)return 0;if(ae.files.length)if(globalThis.localStorage===ae.storage||globalThis.sessionStorage===ae.storage);else V(c.SQLITE_ACCESS,"Cannot clear in-use database storage.");let ue=ae.storage,Se=[],Re,Oe=ue.length;for(Re=0;Re<Oe;++Re){let ke=ue.key(Re);if(!ae.keyPrefix||ke.startsWith(ae.keyPrefix))Se.push(ke)}return Se.forEach((ke)=>ue.removeItem(ke)),Se.length},Te=function B(re){if(re==="")return B("local")+B("session");let ae=me(re);if(!ae)return 0;let ue=ae.storage,Se,Re=0;for(Se=0;Se<ue.length;++Se){let Oe=ue.key(Se);if(!ae.keyPrefix||Oe.startsWith(ae.keyPrefix))Re+=Oe.length,Re+=ue.getItem(Oe).length}return Re*2},Ie=function(...re){let ae;if(re.length===1&&typeof re[0]==="object")ae=re[0];else if(re.length)ae=Object.assign(Object.create(null),{name:re[0]});let ue=ae?me(ae.name):null;if(!ue)V(c.SQLITE_NOTFOUND,"There is no kvvfs storage named",ae?.name);let Se=ue.storage,Re=Object.assign(Object.create(null),{name:ue.jzClass,timestamp:Date.now(),pages:[]}),Oe=Object.create(null),ke=ue.keyPrefix,Ce=ke?/^kvvfs-[^-]+-(\w+)/:void 0,He=0,Qe=Se.length;for(;He<Qe;++He){let Me=Se.key(He);if(!ke||Me.startsWith(ke)){let mt=(ke?Ce.exec(Me):void 0)?.[1]??Me;switch(mt){case"jrnl":if(ae.includeJournal)Re.journal=Se.getItem(Me);break;case"sz":Re.size=+Se.getItem(Me);break;default:if(mt=+mt,!b.isInt32(mt)||mt<=0)V(c.SQLITE_RANGE,"Malformed kvvfs key: "+Me);if(ae.decodePages){let Mt=Se.getItem(Me),rn=Mt.length,Zt=C.memBuffer(0),Pr=C.memBuffer(1),Nn=I.heap8u(),At=0;for(;At<rn;++At)Nn[I.ptr.add(Zt,At)]=Mt.codePointAt(At)&255;Nn[I.ptr.add(Zt,At)]=0;let ho=W(Zt,Pr,C.buffer.n);Oe[mt]=Nn.slice(Number(Pr),I.ptr.addn(Pr,ho))}else Oe[mt]=Se.getItem(Me);break}}}if(ae.decodePages)C.memBufferFree(1);return Object.keys(Oe).map((Me)=>+Me).sort().forEach((Me)=>Re.pages.push(Oe[Me])),Re},qe=function(B,re=!1){if(!B?.timestamp||!B.name||B.size===void 0||!Array.isArray(B.pages))V(c.SQLITE_MISUSE,"Malformed export object.");else if(!B.size||B.size!==(B.size|0)||B.size>=2147483647)V(c.SQLITE_RANGE,"Invalid db size: "+B.size);ee(B.name);let ae=me(B.name),ue=!ae;if(ae){if(!re)V(c.SQLITE_ACCESS,"Storage '"+B.name+"' already exists and","overwrite was not specified.");else if(!ae.files||!ae.jzClass)V(c.SQLITE_ERROR,"Internal storage object",B.name,"seems to be malformed.");else if(ae.files.length)V(c.SQLITE_IOERR_ACCESS,"Cannot import db storage while it is in use.");ye(B.name)}else ae=U(B.name);let Se=X(B.name),Re;try{let Oe=ae.storage;if(Oe.setItem(Se+"sz",B.size),B.journal)Oe.setItem(Se+"jrnl",B.journal);if(B.pages[0]instanceof Uint8Array)B.pages.forEach((ke,Ce)=>{let He=ke.length;Re??=C.memBuffer(1);let Qe=C.memBuffer(0),Me=I.heap8u();Me.set(ke,Number(Qe)),Me[I.ptr.addn(Qe,He)]=0;let mt=he(Qe,He,Re);b.assert(mt<C.buffer.n,"Impossibly long output - possibly smashed the heap"),b.assert(I.peek8(I.ptr.add(Re,mt))===0,"Expecting NUL-terminated encoded output");let Mt=I.cstrToJs(Re);Oe.setItem(Se+(Ce+1),Mt)});else if(B.pages[0])B.pages.forEach((ke,Ce)=>Oe.setItem(Se+(Ce+1),ke));if(ue)S(ae)}catch{if(!ue)try{ye(B.name)}catch(Oe){}}finally{if(Re)C.memBufferFree(1)}return this},Ge=function(B){let re=me(B);if(re){++re.refc;return}ee(B),S(U(B))},ct=function(B){let re=me(B);if(!re||R(re.jzClass)||K(re.jzClass)||C.rxJournalSuffix.test(B))return!1;if(re.refc>re.files.length||re.files.length===0){if(--re.refc<=0)pe(re);return!0}return!1},zt=function(B){if(!B||typeof B!=="object")V(c.SQLITE_MISUSE,"Expecting a listener object.");let re=me(B.storage);if(!re)if(B.storage&&B.reserve)Ge(B.storage),re=me(B.storage),b.assert(re,"Unexpectedly cannot fetch reserved storage "+B.storage);else V(c.SQLITE_NOTFOUND,"No such storage:",B.storage);if(B.events)(re.listeners??=[]).push(B)},Ir=function(B){let re=me(B?.storage);if(re?.listeners&&B.events){let ae=re.listeners.length;re.listeners=re.listeners.filter((Se)=>Se!==B);let ue=ae>re.listeners.length;if(!re.listeners.length)re.listeners=void 0;return ue}return!1};if(f.kvvfs.reserve=Ge,f.kvvfs.import=qe,f.kvvfs.export=Ie,f.kvvfs.unlink=ct,f.kvvfs.listen=zt,f.kvvfs.unlisten=Ir,f.kvvfs.exists=(B)=>!!me(B),f.kvvfs.estimateSize=Te,f.kvvfs.clear=ye,globalThis.Storage)c.sqlite3_js_kvvfs_size=(B="")=>Te(B),c.sqlite3_js_kvvfs_clear=(B="")=>ye(B);if(f.oo1?.DB){let B=f.oo1.DB;f.oo1.JsStorageDb=function(ae=f.oo1.JsStorageDb.defaultStorageName){let ue=B.dbCtorHelper.normalizeArgs(...arguments);switch(ue.vfs="kvvfs",ue.filename){case":sessionStorage:":ue.filename="session";break;case":localStorage:":ue.filename="local";break}let Se=/(file:(\/\/)?)([^?]+)/.exec(ue.filename);ee(Se?Se[3]:ue.filename),B.dbCtorHelper.call(this,ue)},f.oo1.JsStorageDb.defaultStorageName=C.storagePool.session?"session":P;let re=f.oo1.JsStorageDb;re.prototype=Object.create(B.prototype),re.clearStorage=ye,re.prototype.clearStorage=function(){return re.clearStorage(this.affirmOpen().dbFilename(),!0)},re.storageSize=Te,re.prototype.storageSize=function(){return re.storageSize(this.affirmOpen().dbFilename(),!0)}}if(f.__isUnderTest&&f.vtab){let B=Object.assign(Object.create(null),{rowid:{type:"INTEGER"},name:{type:"TEXT"},nRef:{type:"INTEGER"},nOpen:{type:"INTEGER"},isTransient:{type:"INTEGER"},dbSize:{type:"INTEGER"}});Object.keys(B).forEach((Oe,ke)=>B[Oe].colId=ke);let re=f.vtab,ae=Object.assign(Object.create(null),{row:function(){return C.storagePool[this.names[this.rowid]]}});Object.assign(Object.create(ae),{rowid:0,names:Object.keys(C.storagePool).filter((Oe)=>!C.rxJournalSuffix.test(Oe))});let ue=function(Oe,ke){let Ce=Oe instanceof c.sqlite3_vtab_cursor?Oe:re.xCursor.get(Oe);if(ke||!Ce.vTabState)Ce.vTabState=Object.assign(Object.create(ae),{rowid:0,names:Object.keys(C.storagePool).filter((He)=>!C.rxJournalSuffix.test(He))});return Ce.vTabState},Se=()=>{},Re=function Oe(){return Oe.mod??=new f.capi.sqlite3_module().setupModule({catchExceptions:!0,methods:{xConnect:function(ke,Ce,He,Qe,Me,mt){Se("xConnect");try{let Mt=[];Object.keys(B).forEach((Zt)=>{Mt.push(Zt+" "+B[Zt].type)});let rn=c.sqlite3_declare_vtab(ke,"CREATE TABLE ignored("+Mt.join(",")+")");if(rn===0){let Zt=re.xVtab.create(Me);b.assert(Zt===re.xVtab.get(I.peekPtr(Me)),"output pointer check failed")}return rn}catch(Mt){return re.xError("xConnect",Mt,c.SQLITE_ERROR)}},xCreate:I.ptr.null,xDisconnect:function(ke){return Se("xDisconnect",...arguments),re.xVtab.dispose(ke),0},xOpen:function(ke,Ce){return Se("xOpen",...arguments),re.xCursor.create(Ce),0},xClose:function(ke){Se("xClose",...arguments);let Ce=re.xCursor.unget(ke);return delete Ce.vTabState,Ce.dispose(),0},xNext:function(ke){Se("xNext",...arguments);let Ce=re.xCursor.get(ke);return++ue(Ce).rowid,0},xColumn:function(ke,Ce,He){Se("xColumn",...arguments);let Qe=ue(ke),Me=Qe.row();switch(b.assert(Me,"Unexpected xColumn call"),He){case B.rowid.colId:c.sqlite3_result_int(Ce,Qe.rowid);break;case B.name.colId:c.sqlite3_result_text(Ce,Me.jzClass,-1,c.SQLITE_TRANSIENT);break;case B.nRef.colId:c.sqlite3_result_int(Ce,Me.refc);break;case B.nOpen.colId:c.sqlite3_result_int(Ce,Me.files.length);break;case B.isTransient.colId:c.sqlite3_result_int(Ce,!!Me.deleteAtRefc0);break;case B.dbSize.colId:c.sqlite3_result_int(Ce,w(Me));break;default:return c.sqlite3_result_error(Ce,"Invalid column id: "+He),c.SQLITE_RANGE}return 0},xRowid:function(ke,Ce){Se("xRowid",...arguments);let He=ue(ke);return re.xRowid(Ce,He.rowid),0},xEof:function(ke){let Ce=ue(ke);return Se("xEof?="+!Ce.row(),...arguments),!Ce.row()},xFilter:function(ke,Ce,He,Qe,Me){return Se("xFilter",...arguments),ue(ke,!0),0},xBestIndex:function(ke,Ce){Se("xBestIndex",...arguments);let He=new c.sqlite3_index_info(Ce);return He.$estimatedRows=C.storagePool.size,He.$estimatedCost=1,He.dispose(),0}}})};f.kvvfs.create_module=function(Oe,ke="sqlite_kvvfs"){return c.sqlite3_create_module(Oe,ke,Re(),I.ptr.null)}}}),globalThis.sqlite3ApiBootstrap.initializers.push(function(f){if(f.config.disable?.vfs?.opfs&&f.config.disable.vfs["opfs-vfs"])return;let c=f.util.toss;f.capi;let d=f.util;f.wasm;let p=f.opfs=Object.create(null);p.thisThreadHasOPFS=()=>globalThis.FileSystemHandle&&globalThis.FileSystemDirectoryHandle&&globalThis.FileSystemFileHandle&&globalThis.FileSystemFileHandle.prototype.createSyncAccessHandle&&navigator?.storage?.getDirectory,p.getRootDir=async function b(){return b.promise??=navigator.storage.getDirectory().then((I)=>(p.rootDirectory=I,I)).catch((I)=>{throw delete b.promise,I})},p.getResolvedPath=function(b,I){let V=new URL(b,"file://irrelevant").pathname;return I?V.split("/").filter((M)=>!!M):V},p.getDirForFilename=async function(I,V=!1){let M=p.getResolvedPath(I,!0),C=M.pop(),q=await p.getRootDir();for(let H of M)if(H)q=await q.getDirectoryHandle(H,{create:!!V});return[q,C]},p.mkdir=async function(b){try{return await p.getDirForFilename(b+"/filepart",!0),!0}catch(I){return!1}},p.entryExists=async function(b){try{let[I,V]=await p.getDirForFilename(b);return await I.getFileHandle(V),!0}catch(I){return!1}},p.randomFilename=function b(I=16){if(!b._chars)b._chars="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ012346789",b._n=b._chars.length;let V=[],M=0;for(;M<I;++M){let C=Math.random()*(b._n*64)%b._n|0;V[M]=b._chars[C]}return V.join("")},p.treeList=async function(){let b=async function V(M,C){C.name=M.name,C.dirs=[],C.files=[];for await(let q of M.values())if(q.kind==="directory"){let H=Object.create(null);C.dirs.push(H),await V(q,H)}else C.files.push(q.name)},I=Object.create(null);return await b(await p.getRootDir(),I),I},p.rmfr=async function(){let b=await p.getRootDir(),I={recurse:!0};for await(let V of b.values())b.removeEntry(V.name,I)},p.unlink=async function(b,I=!1,V=!1){try{let[M,C]=await p.getDirForFilename(b,!1);return await M.removeEntry(C,{recursive:I}),!0}catch(M){if(V)throw Error("unlink(",arguments[0],") failed: "+M.message,{cause:M});return!1}},p.traverse=async function(b){let I={recursive:!0,directory:await p.getRootDir()};if(typeof b==="function")b={callback:b};b=Object.assign(I,b||{}),async function V(M,C){for await(let q of M.values())if(b.callback(q,M,C)===!1)return!1;else if(b.recursive&&q.kind==="directory"){if(await V(q,C+1)===!1)break}}(b.directory,0)};let E=async function(b,I){let[V,M]=await p.getDirForFilename(b,!0),C=await(await V.getFileHandle(M,{create:!0})).createSyncAccessHandle(),q=0,H,G=!1;try{C.truncate(0);while((H=await I())!==void 0){if(H instanceof ArrayBuffer)H=new Uint8Array(H);if(!G&&q===0&&H.byteLength>=15)d.affirmDbHeader(H),G=!0;C.write(H,{at:q}),q+=H.byteLength}if(q<512||q%512!==0)c("Input size",q,"is not correct for an SQLite database.");if(!G){let le=new Uint8Array(20);C.read(le,{at:0}),d.affirmDbHeader(le)}return C.write(new Uint8Array([1,1]),{at:18}),q}catch(le){throw await C.close(),C=void 0,await V.removeEntry(M).catch(()=>{}),le}finally{if(C)await C.close()}};p.importDb=async function(b,I){if(I instanceof Function)return E(b,I);if(I instanceof ArrayBuffer)I=new Uint8Array(I);d.affirmIsDb(I);let V=I.byteLength,[M,C]=await p.getDirForFilename(b,!0),q,H=0;try{if(q=await(await M.getFileHandle(C,{create:!0})).createSyncAccessHandle(),q.truncate(0),H=q.write(I,{at:0}),H!=V)c("Expected to write "+V+" bytes but wrote "+H+".");return q.write(new Uint8Array([1,1]),{at:18}),H}catch(G){if(q)await q.close(),q=void 0;throw await M.removeEntry(C).catch(()=>{}),G}finally{if(q)await q.close()}},p.vfsInstallationFeatureCheck=function(b){if(!globalThis.SharedArrayBuffer||!globalThis.Atomics)c("Cannot install OPFS: Missing SharedArrayBuffer and/or Atomics.","The server must emit the COOP/COEP response headers to enable those.","See https://sqlite.org/wasm/doc/trunk/persistence.md#coop-coep");else if(typeof WorkerGlobalScope>"u")c("The OPFS sqlite3_vfs cannot run in the main thread","because it requires Atomics.wait().");else if(!globalThis.FileSystemHandle||!globalThis.FileSystemDirectoryHandle||!globalThis.FileSystemFileHandle?.prototype?.createSyncAccessHandle||!navigator?.storage?.getDirectory)c("Missing required OPFS APIs.");else if(b==="opfs-wl"&&!globalThis.Atomics.waitAsync)c("The",b,"VFS requires Atomics.waitAsync(), which is not available.")},p.initOptions=function(I,V){let M=new URL(globalThis.location.href).searchParams;if(M.has(I+"-disable"))return;try{p.vfsInstallationFeatureCheck(I)}catch(C){return}if(V=d.nu(V),V.vfsName=I,V.verbose??=M.has("opfs-verbose")?+M.get("opfs-verbose"):1,V.sanityChecks??=M.has("opfs-sanity-check"),!p.proxyUri){if(p.proxyUri="sqlite3-opfs-async-proxy.js",f.scriptInfo?.sqlite3Dir)p.proxyUri=f.scriptInfo.sqlite3Dir+p.proxyUri}if(V.proxyUri??=p.proxyUri,typeof V.proxyUri==="function")V.proxyUri=V.proxyUri();return p.options=V},p.createVfsState=function(){let b=d.nu(),I=p.options;b.verbose=I.verbose;let V=[f.config.error,f.config.warn,f.config.log],M=I.vfsName||c("Maintenance required: missing VFS name"),C=(W,...he)=>{if(b.verbose>W)V[W](M+":",...he)},q=(...W)=>C(2,...W),H=(...W)=>C(1,...W),G=(...W)=>C(0,...W),{capi:le,wasm:O}=f,R=b.vfs=new le.sqlite3_vfs,X=R.ioMethods=new le.sqlite3_io_methods;X.$iVersion=1,R.$iVersion=2,R.$szOsFile=le.sqlite3_file.structInfo.sizeof,R.$mxPathname=1024,R.$zName=O.allocCString(M),R.addOnDispose("$zName",R.$zName,X),R.metrics=d.nu({counters:d.nu(),dump:function(){let W,he=0,we=0,me=0;for(W in b.opIds){let ve=ee[W];he+=ve.count,we+=ve.time,me+=ve.wait,ve.avgTime=ve.count&&ve.time?ve.time/ve.count:0,ve.avgWait=ve.count&&ve.wait?ve.wait/ve.count:0}f.config.log(globalThis.location.href,"metrics for",globalThis.location.href,":",ee,`
538
+ Total of`,he,"op(s) for",we,"ms (incl. "+me+" ms of waiting on the async side)"),f.config.log("Serialization metrics:",R.metrics.counters.s11n),R.worker?.postMessage?.({type:"opfs-async-metrics"})},reset:function(){let W,he=(ve)=>ve.count=ve.time=ve.wait=0,we=R.metrics.counters;for(W in b.opIds)he(we[W]=Object.create(null));let me=we.s11n=Object.create(null);me=me.serialize=Object.create(null),me.count=me.time=0,me=we.s11n.deserialize=Object.create(null),me.count=me.time=0}}),b.asyncIdleWaitTime=150,b.asyncS11nExceptions=1,b.fileBufferSize=65536,b.sabS11nOffset=b.fileBufferSize,b.sabS11nSize=R.$mxPathname*2,b.sabIO=new SharedArrayBuffer(b.fileBufferSize+b.sabS11nSize),b.opIds=Object.create(null);{let W=0;b.opIds.whichOp=W++,b.opIds.rc=W++,b.opIds.xAccess=W++,b.opIds.xClose=W++,b.opIds.xDelete=W++,b.opIds.xDeleteNoWait=W++,b.opIds.xFileSize=W++,b.opIds.xLock=W++,b.opIds.xOpen=W++,b.opIds.xRead=W++,b.opIds.xSleep=W++,b.opIds.xSync=W++,b.opIds.xTruncate=W++,b.opIds.xUnlock=W++,b.opIds.xWrite=W++,b.opIds.mkdir=W++,b.opIds["opfs-async-metrics"]=W++,b.opIds["opfs-async-shutdown"]=W++,b.opIds.retry=W++,b.sabOP=new SharedArrayBuffer(W*4)}b.sq3Codes=Object.create(null);for(let W of["SQLITE_ACCESS_EXISTS","SQLITE_ACCESS_READWRITE","SQLITE_BUSY","SQLITE_CANTOPEN","SQLITE_ERROR","SQLITE_IOERR","SQLITE_IOERR_ACCESS","SQLITE_IOERR_CLOSE","SQLITE_IOERR_DELETE","SQLITE_IOERR_FSYNC","SQLITE_IOERR_LOCK","SQLITE_IOERR_READ","SQLITE_IOERR_SHORT_READ","SQLITE_IOERR_TRUNCATE","SQLITE_IOERR_UNLOCK","SQLITE_IOERR_WRITE","SQLITE_LOCK_EXCLUSIVE","SQLITE_LOCK_NONE","SQLITE_LOCK_PENDING","SQLITE_LOCK_RESERVED","SQLITE_LOCK_SHARED","SQLITE_LOCKED","SQLITE_MISUSE","SQLITE_NOTFOUND","SQLITE_OPEN_CREATE","SQLITE_OPEN_DELETEONCLOSE","SQLITE_OPEN_MAIN_DB","SQLITE_OPEN_READONLY","SQLITE_LOCK_NONE","SQLITE_LOCK_SHARED","SQLITE_LOCK_RESERVED","SQLITE_LOCK_PENDING","SQLITE_LOCK_EXCLUSIVE"])b.sq3Codes[W]=le[W]??c("Maintenance required: not found:",W);b.opfsFlags=Object.assign(Object.create(null),{OPFS_UNLOCK_ASAP:1,OPFS_UNLINK_BEFORE_OPEN:2,defaultUnlockAsap:!1}),R.metrics.reset();let ee=R.metrics.counters,U=R.opRun=(W,...he)=>{let we=b.opIds[W]||c(R.vfsName+": Invalid op ID:",W);b.s11n.serialize(...he),Atomics.store(b.sabOPView,b.opIds.rc,-1),Atomics.store(b.sabOPView,b.opIds.whichOp,we),Atomics.notify(b.sabOPView,b.opIds.whichOp);let me=performance.now();while(Atomics.wait(b.sabOPView,b.opIds.rc,-1)!=="not-equal");let ve=Atomics.load(b.sabOPView,b.opIds.rc);if(ee[W].wait+=performance.now()-me,ve&&b.asyncS11nExceptions){let F=b.s11n.deserialize();if(F)G(W+"() async error:",...F)}return ve},J=Object.create(null);J.op=void 0,J.start=void 0;let pe=R.mTimeStart=(W)=>{J.start=performance.now(),J.op=W,++ee[W].count},S=R.mTimeEnd=()=>ee[J.op].time+=performance.now()-J.start,P=R.__openFiles=Object.create(null);R.ioSyncWrappers=d.nu({xCheckReservedLock:function(W,he){return O.poke(he,0,"i32"),0},xClose:function(W){pe("xClose");let he=0,we=P[W];if(we){if(delete P[W],he=U("xClose",W),we.sq3File)we.sq3File.dispose()}return S(),he},xDeviceCharacteristics:function(W){return le.SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN},xFileControl:function(W,he,we){return le.SQLITE_NOTFOUND},xFileSize:function(W,he){pe("xFileSize");let we=U("xFileSize",W);if(we==0)try{let me=b.s11n.deserialize()[0];O.poke(he,me,"i64")}catch(me){G("Unexpected error reading xFileSize() result:",me),we=b.sq3Codes.SQLITE_IOERR}return S(),we},xRead:function(W,he,we,me){pe("xRead");let ve=P[W],F;try{if(F=U("xRead",W,we,Number(me)),F===0||le.SQLITE_IOERR_SHORT_READ===F)O.heap8u().set(ve.sabView.subarray(0,we),Number(he))}catch(g){G("xRead(",arguments,") failed:",g,ve),F=le.SQLITE_IOERR_READ}return S(),F},xSync:function(W,he){pe("xSync");let we=U("xSync",W,he);return S(),we},xTruncate:function(W,he){pe("xTruncate");let we=U("xTruncate",W,Number(he));return S(),we},xWrite:function(W,he,we,me){pe("xWrite");let ve=P[W],F;try{ve.sabView.set(O.heap8u().subarray(Number(he),Number(he)+we)),F=U("xWrite",W,we,Number(me))}catch(g){G("xWrite(",arguments,") failed:",g,ve),F=le.SQLITE_IOERR_WRITE}return S(),F}}),R.vfsSyncWrappers={xAccess:function(W,he,we,me){pe("xAccess");let ve=U("xAccess",O.cstrToJs(he));return O.poke(me,ve?0:1,"i32"),S(),0},xCurrentTime:function(W,he){return O.poke(he,2440587.5+new Date().getTime()/86400000,"double"),0},xCurrentTimeInt64:function(W,he){return O.poke(he,210866760000000+new Date().getTime(),"i64"),0},xDelete:function(W,he,we){pe("xDelete");let me=U("xDelete",O.cstrToJs(he),we,!1);return S(),me},xFullPathname:function(W,he,we,me){return O.cstrncpy(me,he,we)<we?0:le.SQLITE_CANTOPEN},xGetLastError:function(W,he,we){return f.config.warn("OPFS xGetLastError() has nothing sensible to return."),0},xOpen:function(he,we,me,ve,F){pe("xOpen");let g=0,w,T;if(!we)w=p.randomFilename(),we=T=O.allocCString(w);else if(O.isPtr(we)){if(le.sqlite3_uri_boolean(we,"opfs-unlock-asap",0))g|=b.opfsFlags.OPFS_UNLOCK_ASAP;if(le.sqlite3_uri_boolean(we,"delete-before-open",0))g|=b.opfsFlags.OPFS_UNLINK_BEFORE_OPEN;w=O.cstrToJs(we)}else return f.config.error("Impossible zName value in xOpen?",we),le.SQLITE_CANTOPEN;let N=d.nu({fid:me,filename:w,sab:new SharedArrayBuffer(b.fileBufferSize),flags:ve,readOnly:!(le.SQLITE_OPEN_CREATE&ve)&&!!(ve&le.SQLITE_OPEN_READONLY)}),te=U("xOpen",me,w,ve,g);if(te){if(T)O.dealloc(T)}else{if(N.readOnly)O.poke(F,le.SQLITE_OPEN_READONLY,"i32");if(P[me]=N,N.sabView=b.sabFileBufView,N.sq3File=new le.sqlite3_file(me),T)N.sq3File.addOnDispose(T);N.sq3File.$pMethods=X.pointer,N.lockType=le.SQLITE_LOCK_NONE}return S(),te}};let K=le.sqlite3_vfs_find(null);if(K){let W=new le.sqlite3_vfs(K);R.$xRandomness=W.$xRandomness,R.$xSleep=W.$xSleep,W.dispose()}if(!R.$xRandomness)R.vfsSyncWrappers.xRandomness=function(W,he,we){let me=O.heap8u(),ve=0,F=Number(we);for(;ve<he;++ve)me[F+ve]=Math.random()*255000&255;return ve};if(!R.$xSleep)R.vfsSyncWrappers.xSleep=function(W,he){return pe("xSleep"),Atomics.wait(b.sabOPView,b.opIds.xSleep,0,he),S(),0};let oe=function(){if(b.s11n)return b.s11n;let W=new TextDecoder,he=new TextEncoder("utf-8"),we=new Uint8Array(b.sabIO,b.sabS11nOffset,b.sabS11nSize),me=new DataView(b.sabIO,b.sabS11nOffset,b.sabS11nSize);b.s11n=Object.create(null);let ve=Object.create(null);ve.number={id:1,size:8,getter:"getFloat64",setter:"setFloat64"},ve.bigint={id:2,size:8,getter:"getBigInt64",setter:"setBigInt64"},ve.boolean={id:3,size:4,getter:"getInt32",setter:"setInt32"},ve.string={id:4};let F=(w)=>ve[typeof w]||c("Maintenance required: this value type cannot be serialized.",w),g=(w)=>{switch(w){case ve.number.id:return ve.number;case ve.bigint.id:return ve.bigint;case ve.boolean.id:return ve.boolean;case ve.string.id:return ve.string;default:c("Invalid type ID:",w)}};return b.s11n.deserialize=function(w=!1){performance.now();let T=we[0],N=T?[]:null;if(T){let te=[],se=1,A,L,Q;for(A=0;A<T;++A,++se)te.push(g(we[se]));for(A=0;A<T;++A){let ne=te[A];if(ne.getter)Q=me[ne.getter](se,b.littleEndian),se+=ne.size;else L=me.getInt32(se,b.littleEndian),se+=4,Q=W.decode(we.slice(se,se+L)),se+=L;N.push(Q)}}if(w)we[0]=0;return N},b.s11n.serialize=function(...w){if(performance.now(),w.length){let T=[],N=0,te=1;we[0]=w.length&255;for(;N<w.length;++N,++te)T.push(F(w[N])),we[te]=T[N].id;for(N=0;N<w.length;++N){let se=T[N];if(se.setter)me[se.setter](te,w[N],b.littleEndian),te+=se.size;else{let A=he.encode(w[N]);me.setInt32(te,A.byteLength,b.littleEndian),te+=4,we.set(A,te),te+=A.byteLength}}}else we[0]=0},b.s11n};return R.initS11n=oe,R.bindVfs=function(W,he){return Object.assign(R.ioSyncWrappers,W),new Promise(function(we,me){let ve=void 0,F=(A)=>(ve=!0,R.dispose(),me(A)),g=()=>{try{he(f,R)}catch(A){return F(A)}return ve=!1,we(f)},w=p.options;w.proxyUri+(w.proxyUri.indexOf("?")<0?"?":"&")+M;let T=new URL("sqlite3-opfs-async-proxy.js",import.meta.url);T.searchParams.set("vfs",M);let N=R.worker=new Worker(T.toString()),te=setTimeout(()=>{if(ve===void 0)F(Error("Timeout while waiting for OPFS async proxy worker."))},4000);N._originalOnError=N.onerror,N.onerror=function(A){G("Error initializing OPFS asyncer:",A),F(Error("Loading OPFS async Worker failed for unknown reasons."))},R.opRun;let se=function(){let A=O.scopedAllocPush(),L=new le.sqlite3_file;try{let Q=L.pointer,ne=le.SQLITE_OPEN_CREATE|le.SQLITE_OPEN_READWRITE|le.SQLITE_OPEN_MAIN_DB,ye=O.scopedAlloc(8),Te="/sanity/check/file"+randomFilename(8),Ie=O.scopedAllocCString(Te),qe;if(b.s11n.serialize("This is ä string."),qe=b.s11n.deserialize(),q("deserialize() says:",qe),qe[0]!=="This is ä string.")c("String d13n error.");if(R.vfsSyncWrappers.xAccess(R.pointer,Ie,0,ye),qe=O.peek(ye,"i32"),q("xAccess(",Te,") exists ?=",qe),qe=R.vfsSyncWrappers.xOpen(R.pointer,Ie,Q,ne,ye),q("open rc =",qe,"state.sabOPView[xOpen] =",b.sabOPView[b.opIds.xOpen]),qe!==0){G("open failed with code",qe);return}if(R.vfsSyncWrappers.xAccess(R.pointer,Ie,0,ye),qe=O.peek(ye,"i32"),!qe)c("xAccess() failed to detect file.");if(qe=R.ioSyncWrappers.xSync(L.pointer,0),qe)c("sync failed w/ rc",qe);if(qe=R.ioSyncWrappers.xTruncate(L.pointer,1024),qe)c("truncate failed w/ rc",qe);if(O.poke(ye,0,"i64"),qe=R.ioSyncWrappers.xFileSize(L.pointer,ye),qe)c("xFileSize failed w/ rc",qe);if(q("xFileSize says:",O.peek(ye,"i64")),qe=R.ioSyncWrappers.xWrite(L.pointer,Ie,10,1),qe)c("xWrite() failed!");let Ge=O.scopedAlloc(16);qe=R.ioSyncWrappers.xRead(L.pointer,Ge,6,2),O.poke(Ge+6,0);let ct=O.cstrToJs(Ge);if(q("xRead() got:",ct),ct!=="sanity")c("Unexpected xRead() value.");if(R.vfsSyncWrappers.xSleep)q("xSleep()ing before close()ing..."),R.vfsSyncWrappers.xSleep(R.pointer,2000),q("waking up from xSleep()");if(qe=R.ioSyncWrappers.xClose(Q),q("xClose rc =",qe,"sabOPView =",b.sabOPView),q("Deleting file:",Te),R.vfsSyncWrappers.xDelete(R.pointer,Ie,4660),R.vfsSyncWrappers.xAccess(R.pointer,Ie,0,ye),qe=O.peek(ye,"i32"),qe)c("Expecting 0 from xAccess(",Te,") after xDelete().");H("End of OPFS sanity checks.")}finally{L.dispose(),O.scopedAllocPop(A)}};N.onmessage=function({data:A}){switch(A.type){case"opfs-unavailable":F(Error(A.payload.join(" ")));break;case"opfs-async-loaded":delete b.vfs,N.postMessage({type:"opfs-async-init",args:d.nu(b)});break;case"opfs-async-inited":if(ve===!0)break;clearTimeout(te),te=null;try{if(f.vfs.installVfs({io:{struct:R.ioMethods,methods:R.ioSyncWrappers},vfs:{struct:R,methods:R.vfsSyncWrappers}}),b.sabOPView=new Int32Array(b.sabOP),b.sabFileBufView=new Uint8Array(b.sabIO,0,b.fileBufferSize),b.sabS11nView=new Uint8Array(b.sabIO,b.sabS11nOffset,b.sabS11nSize),R.initS11n(),delete R.initS11n,w.sanityChecks)H("Running sanity checks because of opfs-sanity-check URL arg..."),se();if(p.thisThreadHasOPFS())p.getRootDir().then((L)=>{N.onerror=N._originalOnError,delete N._originalOnError,q("End of OPFS sqlite3_vfs setup.",R),g()}).catch(F);else g()}catch(L){G(L),F(L)}break;case"debug":H("debug message from worker:",A);break;default:{let L="Unexpected message from the OPFS async worker: "+JSON.stringify(A);G(L),F(Error(L));break}}}})},b}}),globalThis.sqlite3ApiBootstrap.initializers.push(function(f){if(!f.opfs||f.config.disable?.vfs?.opfs)return;let c=f.util,d=f.opfs||f.util.toss("Missing sqlite3.opfs"),p=async function(E){if(E=d.initOptions("opfs",E),!E)return f;let b=f.capi,I=d.createVfsState().vfs,V=I.metrics.counters,{mTimeStart:M,mTimeEnd:C,opRun:q,__openFiles:H}=I;return I.bindVfs(c.nu({xLock:function(G,le){M("xLock"),++V.xLock.count;let O=H[G],R=0;if(O.lockType)O.lockType=le;else if(R=q("xLock",G,le),R===0)O.lockType=le;return C(),R},xUnlock:function(G,le){M("xUnlock"),++V.xUnlock.count;let O=H[G],R=0;if(b.SQLITE_LOCK_NONE===le&&O.lockType)R=q("xUnlock",G,le);if(R===0)O.lockType=le;return C(),R}}),function(G,le){if(G.oo1){let O=function(...R){let X=G.oo1.DB.dbCtorHelper.normalizeArgs(...R);X.vfs=le.$zName,G.oo1.DB.dbCtorHelper.call(this,X)};O.prototype=Object.create(G.oo1.DB.prototype),G.oo1.OpfsDb=O,O.importDb=d.importDb,G.oo1.DB.dbCtorHelper.setVfsPostOpenCallback(I.pointer,function(R,X){X.capi.sqlite3_busy_timeout(R,1e4)})}})};globalThis.sqlite3ApiBootstrap.initializersAsync.push(async(E)=>p().catch((b)=>{E.config.warn("Ignoring inability to install 'opfs' sqlite3_vfs:",b)}))}),globalThis.sqlite3ApiBootstrap.initializers.push(function(f){if(f.config.disable?.vfs?.["opfs-sahpool"])return;let c=f.util.toss,d=f.util.toss3,p=Object.create(null),{capi:E,util:b,wasm:I}=f,V=4096,M=512,C=4,q=8,H=M+C,G=M,le=H,O=V,R=E.SQLITE_OPEN_MAIN_DB|E.SQLITE_OPEN_MAIN_JOURNAL|E.SQLITE_OPEN_SUPER_JOURNAL|E.SQLITE_OPEN_WAL,X=E.SQLITE_OPEN_MEMORY,ee=".opaque",U=()=>Math.random().toString(36).slice(2),J=new TextDecoder,pe=new TextEncoder,S=Object.assign(Object.create(null),{name:"opfs-sahpool",directory:void 0,initialCapacity:6,clearOnInit:!1,verbosity:2,forceReinitIfPreviouslyFailed:!1}),P=[f.config.error,f.config.warn,f.config.log];f.config.log;let K=f.config.warn;f.config.error;let oe=new Map,W=(A)=>oe.get(A),he=(A,L)=>{if(L)oe.set(A,L);else oe.delete(A)},we=new Map,me=(A)=>we.get(A),ve=(A,L)=>{if(L)we.set(A,L);else we.delete(A)},F={xCheckReservedLock:function(A,L){let Q=me(A);return Q.log("xCheckReservedLock"),Q.storeErr(),I.poke32(L,1),0},xClose:function(A){let L=me(A);L.storeErr();let Q=L.getOFileForS3File(A);if(Q)try{if(L.log(`xClose ${Q.path}`),L.mapS3FileToOFile(A,!1),Q.sah.flush(),Q.flags&E.SQLITE_OPEN_DELETEONCLOSE)L.deletePath(Q.path)}catch(ne){return L.storeErr(ne,E.SQLITE_IOERR)}return 0},xDeviceCharacteristics:function(A){return E.SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN},xFileControl:function(A,L,Q){return E.SQLITE_NOTFOUND},xFileSize:function(A,L){let Q=me(A);Q.log("xFileSize");let ne=Q.getOFileForS3File(A).sah.getSize()-O;return I.poke64(L,BigInt(ne)),0},xLock:function(A,L){let Q=me(A);Q.log(`xLock ${L}`),Q.storeErr();let ne=Q.getOFileForS3File(A);return ne.lockType=L,0},xRead:function(A,L,Q,ne){let ye=me(A);ye.storeErr();let Te=ye.getOFileForS3File(A);ye.log(`xRead ${Te.path} ${Q} @ ${ne}`);try{let Ie=Te.sah.read(I.heap8u().subarray(Number(L),Number(L)+Q),{at:O+Number(ne)});if(Ie<Q)return I.heap8u().fill(0,Number(L)+Ie,Number(L)+Q),E.SQLITE_IOERR_SHORT_READ;return 0}catch(Ie){return ye.storeErr(Ie,E.SQLITE_IOERR)}},xSectorSize:function(A){return V},xSync:function(A,L){let Q=me(A);Q.log(`xSync ${L}`),Q.storeErr();let ne=Q.getOFileForS3File(A);try{return ne.sah.flush(),0}catch(ye){return Q.storeErr(ye,E.SQLITE_IOERR)}},xTruncate:function(A,L){let Q=me(A);Q.log(`xTruncate ${L}`),Q.storeErr();let ne=Q.getOFileForS3File(A);try{return ne.sah.truncate(O+Number(L)),0}catch(ye){return Q.storeErr(ye,E.SQLITE_IOERR)}},xUnlock:function(A,L){let Q=me(A);Q.log("xUnlock");let ne=Q.getOFileForS3File(A);return ne.lockType=L,0},xWrite:function(A,L,Q,ne){let ye=me(A);ye.storeErr();let Te=ye.getOFileForS3File(A);ye.log(`xWrite ${Te.path} ${Q} ${ne}`);try{return Q===Te.sah.write(I.heap8u().subarray(Number(L),Number(L)+Q),{at:O+Number(ne)})?0:c("Unknown write() failure.")}catch(Ie){return ye.storeErr(Ie,E.SQLITE_IOERR)}}},g=new E.sqlite3_io_methods;g.$iVersion=1,f.vfs.installVfs({io:{struct:g,methods:F}});let w={xAccess:function(A,L,Q,ne){let ye=W(A);ye.storeErr();try{let Te=ye.getPath(L);I.poke32(ne,ye.hasFilename(Te)?1:0)}catch(Te){I.poke32(ne,0)}return 0},xCurrentTime:function(A,L){return I.poke(L,2440587.5+new Date().getTime()/86400000,"double"),0},xCurrentTimeInt64:function(A,L){return I.poke(L,210866760000000+new Date().getTime(),"i64"),0},xDelete:function(A,L,Q){let ne=W(A);ne.log(`xDelete ${I.cstrToJs(L)}`),ne.storeErr();try{return ne.deletePath(ne.getPath(L)),0}catch(ye){return ne.storeErr(ye),E.SQLITE_IOERR_DELETE}},xFullPathname:function(A,L,Q,ne){return I.cstrncpy(ne,L,Q)<Q?0:E.SQLITE_CANTOPEN},xGetLastError:function(A,L,Q){let ne=W(A),ye=ne.popErr();if(ne.log(`xGetLastError ${L} e =`,ye),ye){let Te=I.scopedAllocPush();try{let[Ie,qe]=I.scopedAllocCString(ye.message,!0);if(I.cstrncpy(Q,Ie,L),qe>L)I.poke8(I.ptr.add(Q,L,-1),0)}catch(Ie){return E.SQLITE_NOMEM}finally{I.scopedAllocPop(Te)}}return ye?ye.sqlite3Rc||E.SQLITE_IOERR:0},xOpen:function(L,Q,ne,ye,Te){let Ie=W(L);try{ye&=~X,Ie.log(`xOpen ${I.cstrToJs(Q)} ${ye}`);let qe=Q&&I.peek8(Q)?Ie.getPath(Q):U(),Ge=Ie.getSAHForPath(qe);if(!Ge&&ye&E.SQLITE_OPEN_CREATE)if(Ie.getFileCount()<Ie.getCapacity())Ge=Ie.nextAvailableSAH(),Ie.setAssociatedPath(Ge,qe,ye);else c("SAH pool is full. Cannot create file",qe);if(!Ge)c("file not found:",qe);let ct={path:qe,flags:ye,sah:Ge};Ie.mapS3FileToOFile(ne,ct),ct.lockType=E.SQLITE_LOCK_NONE;let zt=new E.sqlite3_file(ne);return zt.$pMethods=g.pointer,zt.dispose(),I.poke32(Te,ye),0}catch(qe){return Ie.storeErr(qe),E.SQLITE_CANTOPEN}}},T=function(A){if(f.capi.sqlite3_vfs_find(A))d("VFS name is already registered:",A);let L=new E.sqlite3_vfs,Q=E.sqlite3_vfs_find(null),ne=Q?new E.sqlite3_vfs(Q):null;if(L.$iVersion=2,L.$szOsFile=E.sqlite3_file.structInfo.sizeof,L.$mxPathname=M,L.addOnDispose(L.$zName=I.allocCString(A),()=>he(L.pointer,0)),ne)L.$xRandomness=ne.$xRandomness,L.$xSleep=ne.$xSleep,ne.dispose();if(!L.$xRandomness&&!w.xRandomness)w.xRandomness=function(ye,Te,Ie){let qe=I.heap8u(),Ge=0,ct=Number(Ie);for(;Ge<Te;++Ge)qe[ct+Ge]=Math.random()*255000&255;return Ge};if(!L.$xSleep&&!w.xSleep)w.xSleep=(ye,Te)=>0;return f.vfs.installVfs({vfs:{struct:L,methods:w}}),L};class N{vfsDir;#e;#o;#i;#t=new Map;#r=new Map;#s=new Set;#c=new Map;#n=new Uint8Array(H);#l;#a;#d;constructor(A=Object.create(null)){this.#d=A.verbosity??S.verbosity,this.vfsName=A.name||S.name,this.#a=T(this.vfsName),he(this.#a.pointer,this),this.vfsDir=A.directory||"."+this.vfsName,this.#l=new DataView(this.#n.buffer,this.#n.byteOffset),this.isReady=this.reset(!!(A.clearOnInit??S.clearOnInit)).then(()=>{if(this.$error)throw this.$error;return this.getCapacity()?Promise.resolve(void 0):this.addCapacity(A.initialCapacity||S.initialCapacity)})}#u(A,...L){if(this.#d>A)P[A](this.vfsName+":",...L)}log(...A){this.#u(2,...A)}warn(...A){this.#u(1,...A)}error(...A){this.#u(0,...A)}getVfs(){return this.#a}getCapacity(){return this.#t.size}getFileCount(){return this.#r.size}getFileNames(){let A=[];for(let L of this.#r.keys())A.push(L);return A}async addCapacity(A){for(let L=0;L<A;++L){let Q=U(),ne=await(await this.#o.getFileHandle(Q,{create:!0})).createSyncAccessHandle();this.#t.set(ne,Q),this.setAssociatedPath(ne,"",0)}return this.getCapacity()}async reduceCapacity(A){let L=0;for(let Q of Array.from(this.#s)){if(L===A||this.getFileCount()===this.getCapacity())break;let ne=this.#t.get(Q);Q.close(),await this.#o.removeEntry(ne),this.#t.delete(Q),this.#s.delete(Q),++L}return L}releaseAccessHandles(){for(let A of this.#t.keys())A.close();this.#t.clear(),this.#r.clear(),this.#s.clear()}async acquireAccessHandles(A=!1){let L=[];for await(let[Q,ne]of this.#o)if(ne.kind==="file")L.push([Q,ne]);return Promise.all(L.map(async([Q,ne])=>{try{let ye=await ne.createSyncAccessHandle();if(this.#t.set(ye,Q),A)ye.truncate(O),this.setAssociatedPath(ye,"",0);else{let Te=this.getAssociatedPath(ye);if(Te)this.#r.set(Te,ye);else this.#s.add(ye)}}catch(ye){throw this.storeErr(ye),this.releaseAccessHandles(),ye}}))}getAssociatedPath(A){A.read(this.#n,{at:0});let L=this.#l.getUint32(G);if(this.#n[0]&&(L&E.SQLITE_OPEN_DELETEONCLOSE||(L&R)===0))return K(`Removing file with unexpected flags ${L.toString(16)}`,this.#n),this.setAssociatedPath(A,"",0),"";let Q=new Uint32Array(q/4);A.read(Q,{at:le});let ne=this.computeDigest(this.#n,L);if(Q.every((ye,Te)=>ye===ne[Te])){let ye=this.#n.findIndex((Te)=>Te===0);if(ye===0)A.truncate(O);return ye?J.decode(this.#n.subarray(0,ye)):""}else return K("Disassociating file with bad digest."),this.setAssociatedPath(A,"",0),""}setAssociatedPath(A,L,Q){let ne=pe.encodeInto(L,this.#n);if(M<=ne.written+1)c("Path too long:",L);if(L&&Q)Q|=X;this.#n.fill(0,ne.written,M),this.#l.setUint32(G,Q);let ye=this.computeDigest(this.#n,Q);if(A.write(this.#n,{at:0}),A.write(ye,{at:le}),A.flush(),L)this.#r.set(L,A),this.#s.delete(A);else A.truncate(O),this.#s.add(A)}computeDigest(A,L){if(L&X){let Q=3735928559,ne=1103547991;for(let ye of A)Q=Math.imul(Q^ye,2654435761),ne=Math.imul(ne^ye,104729);return new Uint32Array([Q>>>0,ne>>>0])}else return new Uint32Array([0,0])}async reset(A){await this.isReady;let L=await navigator.storage.getDirectory(),Q;for(let ne of this.vfsDir.split("/"))if(ne)Q=L,L=await L.getDirectoryHandle(ne,{create:!0});return this.#e=L,this.#i=Q,this.#o=await this.#e.getDirectoryHandle(ee,{create:!0}),this.releaseAccessHandles(),this.acquireAccessHandles(A)}getPath(A){if(I.isPtr(A))A=I.cstrToJs(A);return(A instanceof URL?A:new URL(A,"file://localhost/")).pathname}deletePath(A){let L=this.#r.get(A);if(L)this.#r.delete(A),this.setAssociatedPath(L,"",0);return!!L}storeErr(A,L){if(A)A.sqlite3Rc=L||E.SQLITE_IOERR,this.error(A);return this.$error=A,L}popErr(){let A=this.$error;return this.$error=void 0,A}nextAvailableSAH(){let[A]=this.#s.keys();return A}getOFileForS3File(A){return this.#c.get(A)}mapS3FileToOFile(A,L){if(L)this.#c.set(A,L),ve(A,this);else this.#c.delete(A),ve(A,!1)}hasFilename(A){return this.#r.has(A)}getSAHForPath(A){return this.#r.get(A)}async removeVfs(){if(!this.#a.pointer||!this.#o)return!1;E.sqlite3_vfs_unregister(this.#a.pointer),this.#a.dispose(),delete p[this.vfsName];try{this.releaseAccessHandles(),await this.#e.removeEntry(ee,{recursive:!0}),this.#o=void 0,await this.#i.removeEntry(this.#e.name,{recursive:!0}),this.#e=this.#i=void 0}catch(A){f.config.error(this.vfsName,"removeVfs() failed with no recovery strategy:",A)}return!0}pauseVfs(){if(this.#c.size>0)f.SQLite3Error.toss(E.SQLITE_MISUSE,"Cannot pause VFS",this.vfsName,"because it has opened files.");if(this.#t.size>0)E.sqlite3_vfs_unregister(this.vfsName),this.releaseAccessHandles();return this}isPaused(){return this.#t.size===0}async unpauseVfs(){if(this.#t.size===0)return this.acquireAccessHandles(!1).then(()=>E.sqlite3_vfs_register(this.#a,0),this);return this}exportFile(A){//! Documented elsewhere in this file.
539
+ let L=this.#r.get(A)||c("File not found:",A),Q=L.getSize()-O,ne=new Uint8Array(Q>0?Q:0);if(Q>0){let ye=L.read(ne,{at:O});if(ye!=Q)c("Expected to read "+Q+" bytes but read "+ye+".")}return ne}async importDbChunked(A,L){//! Impl for importDb() when its 2nd arg is a function.
540
+ let Q=this.#r.get(A)||this.nextAvailableSAH()||c("No available handles to import to.");Q.truncate(0);let ne=0,ye,Te=!1;try{while((ye=await L())!==void 0){if(ye instanceof ArrayBuffer)ye=new Uint8Array(ye);if(!Te&&ne===0&&ye.byteLength>=15)b.affirmDbHeader(ye),Te=!0;Q.write(ye,{at:O+ne}),ne+=ye.byteLength}if(ne<512||ne%512!==0)c("Input size",ne,"is not correct for an SQLite database.");if(!Te){let Ie=new Uint8Array(20);Q.read(Ie,{at:0}),b.affirmDbHeader(Ie)}Q.write(new Uint8Array([1,1]),{at:O+18})}catch(Ie){throw this.setAssociatedPath(Q,"",0),Ie}return this.setAssociatedPath(Q,A,E.SQLITE_OPEN_MAIN_DB),ne}importDb(A,L){//! Documented elsewhere in this file.
541
+ if(L instanceof ArrayBuffer)L=new Uint8Array(L);else if(L instanceof Function)return this.importDbChunked(A,L);let Q=this.#r.get(A)||this.nextAvailableSAH()||c("No available handles to import to."),ne=L.byteLength;if(ne<512||ne%512!=0)c("Byte array size is invalid for an SQLite db.");let ye="SQLite format 3";for(let Ie=0;Ie<15;++Ie)if(ye.charCodeAt(Ie)!==L[Ie])c("Input does not contain an SQLite database header.");let Te=Q.write(L,{at:O});if(Te!=ne)this.setAssociatedPath(Q,"",0),c("Expected to write "+ne+" bytes but wrote "+Te+".");else Q.write(new Uint8Array([1,1]),{at:O+18}),this.setAssociatedPath(Q,A,E.SQLITE_OPEN_MAIN_DB);return Te}}class te{#e;constructor(A){this.#e=A,this.vfsName=A.vfsName}async addCapacity(A){return this.#e.addCapacity(A)}async reduceCapacity(A){return this.#e.reduceCapacity(A)}getCapacity(){return this.#e.getCapacity(this.#e)}getFileCount(){return this.#e.getFileCount()}getFileNames(){return this.#e.getFileNames()}async reserveMinimumCapacity(A){let L=this.#e.getCapacity();return L<A?this.#e.addCapacity(A-L):L}exportFile(A){return this.#e.exportFile(A)}importDb(A,L){return this.#e.importDb(A,L)}async wipeFiles(){return this.#e.reset(!0)}unlink(A){return this.#e.deletePath(A)}async removeVfs(){return this.#e.removeVfs()}pauseVfs(){return this.#e.pauseVfs(),this}async unpauseVfs(){return this.#e.unpauseVfs().then(()=>this)}isPaused(){return this.#e.isPaused()}}let se=async()=>{let A=await navigator.storage.getDirectory(),L=".opfs-sahpool-sync-check-"+U(),Q=(await(await A.getFileHandle(L,{create:!0})).createSyncAccessHandle()).close();if(await Q,await A.removeEntry(L),Q?.then)c("The local OPFS API is too old for opfs-sahpool:","it has an async FileSystemSyncAccessHandle.close() method.");return!0};f.installOpfsSAHPoolVfs=async function(A=Object.create(null)){A=Object.assign(Object.create(null),S,A||{});let L=A.name;if(A.$testThrowPhase1)throw A.$testThrowPhase1;if(p[L])try{return await p[L]}catch(Q){if(A.forceReinitIfPreviouslyFailed)delete p[L];else throw Q}if(!globalThis.FileSystemHandle||!globalThis.FileSystemDirectoryHandle||!globalThis.FileSystemFileHandle||!globalThis.FileSystemFileHandle.prototype.createSyncAccessHandle||!navigator?.storage?.getDirectory)return p[L]=Promise.reject(Error("Missing required OPFS APIs."));return p[L]=se().then(async function(){if(A.$testThrowPhase2)throw A.$testThrowPhase2;let Q=new N(A);return Q.isReady.then(async()=>{let ne=new te(Q);if(f.oo1){let ye=f.oo1,Te=Q.getVfs(),Ie=function(...qe){let Ge=ye.DB.dbCtorHelper.normalizeArgs(...qe);Ge.vfs=Te.$zName,ye.DB.dbCtorHelper.call(this,Ge)};Ie.prototype=Object.create(ye.DB.prototype),ne.OpfsSAHPoolDb=Ie}return Q.log("VFS initialized."),ne}).catch(async(ne)=>{throw await Q.removeVfs().catch(()=>{}),ne})}).catch((Q)=>p[L]=Promise.reject(Q))}}),globalThis.sqlite3ApiBootstrap.initializers.push(function(f){if(!f.opfs||f.config.disable?.vfs?.["opfs-wl"])return;let c=f.util;f.util.toss;let d=f.opfs,p="opfs-wl",E=async function(b){if(b=d.initOptions(p,b),!b)return f;f.capi;let I=d.createVfsState().vfs;I.metrics.counters;let{mTimeStart:V,mTimeEnd:M,opRun:C,__openFiles:q}=I;return I.bindVfs(c.nu({xLock:function(H,G){V("xLock");let le=q[H],O=C("xLock",H,G);if(!O)le.lockType=G;return M(),O},xUnlock:function(H,G){V("xUnlock");let le=q[H],O=C("xUnlock",H,G);if(!O)le.lockType=G;return M(),O}}),function(H,G){if(H.oo1){let le=function(...O){let R=H.oo1.DB.dbCtorHelper.normalizeArgs(...O);R.vfs=G.$zName,H.oo1.DB.dbCtorHelper.call(this,R)};le.prototype=Object.create(H.oo1.DB.prototype),H.oo1.OpfsWlDb=le,le.importDb=d.importDb}})};globalThis.sqlite3ApiBootstrap.initializersAsync.push(async(b)=>E().catch((I)=>{b.config.warn("Ignoring inability to install the",p,"sqlite3_vfs:",I)}))});try{let f=Object.assign(Object.create(null),{memory:typeof ur<"u"?ur:l.wasmMemory,exports:typeof tn<"u"?tn:Object.prototype.hasOwnProperty.call(l,"wasmExports")?l.wasmExports:l.asm},globalThis.sqlite3ApiBootstrap.defaultConfig,globalThis.sqlite3ApiConfig||{});i.debugModule("Bootstrapping lib config",f);let c=globalThis.sqlite3ApiBootstrap(f);return delete globalThis.sqlite3ApiBootstrap,c}catch(f){throw console.error("sqlite3ApiBootstrap() error:",f),f}},Le)t=r;else t=new Promise((i,l)=>{de=i,ge=l});return t}$i=function(){let e=$i;if(!e)throw Error("Expecting sqlite3InitModule to be defined by the Emscripten build.");let t=globalThis.sqlite3InitModuleState=Object.assign(Object.create(null),{moduleScript:globalThis?.document?.currentScript,isWorker:typeof WorkerGlobalScope<"u",location:globalThis.location,urlParams:globalThis?.location?.href?new URL(globalThis.location.href).searchParams:new URLSearchParams,wasmFilename:"sqlite3.wasm"});if(t.debugModule=t.urlParams.has("sqlite3.debugModule")?(...n)=>console.warn("sqlite3.debugModule:",...n):()=>{},t.urlParams.has("sqlite3.dir"))t.sqlite3Dir=t.urlParams.get("sqlite3.dir")+"/";else if(t.moduleScript){let n=t.moduleScript.src.split("/");n.pop(),t.sqlite3Dir=n.join("/")+"/"}let r=globalThis.sqlite3InitModule=function n(...o){return t.emscriptenLocateFile=o[0]?.locateFile,t.emscriptenInstantiateWasm=o[0]?.instantiateWasm,e(...o).then((s)=>{t.debugModule("sqlite3InitModule() sIMS =",t),t.debugModule("sqlite3InitModule() EmscriptenModule =",s);let a=s.runSQLite3PostLoadInit(t,s,!!n.__isUnderTest);return t.debugModule("sqlite3InitModule() sqlite3 =",a),a}).catch((s)=>{throw console.error("Exception loading sqlite3 module:",s),s})};if(r.ready=e.ready,t.moduleScript){let n=t.moduleScript.src.split("/");n.pop(),t.scriptDir=n.join("/")+"/"}return t.debugModule("extern-post-js.c-pp.js sqlite3InitModuleState =",t),r}();var Cc=$i;class zi{db;txDepth=0;constructor(e){this.db=e}query(e){let t=this.db;return{get(...r){return t.selectObject(e,Fi(r))??null},all(...r){return t.selectObjects(e,Fi(r))},run(...r){return t.exec({sql:e,bind:Fi(r)}),{changes:t.changes()}}}}exec(e){this.db.exec({sql:e})}transaction(e){return(...t)=>{let r=`mh_tx_${this.txDepth}`;this.exec(this.txDepth===0?"BEGIN":`SAVEPOINT ${r}`),this.txDepth++;try{let n=e(...t);return this.txDepth--,this.exec(this.txDepth===0?"COMMIT":`RELEASE ${r}`),n}catch(n){throw this.txDepth--,this.exec(this.txDepth===0?"ROLLBACK":`ROLLBACK TO ${r}; RELEASE ${r}`),n}}}}function Fi(e){if(e.length===0)return;return e.map((t)=>t===void 0?null:t)}Po();Gt();bt();Ye();dt();$n();ia();oo();Fn();var bg=(e)=>{let t=/^[a-z0-9+]+:\/\/([^/]+)/i.exec(e);return t?t[1]:e};function Iv(e,t,r,n,o,s){let a=e.kind==="s3",u=a?n:r,_=Math.max(0,u-e.pushCursor),m=a?["backend"]:["replica"],x=a?e.url:e.nodeId;if(x&&t.includes(x))m.push("blob_anchor");if(a&&e.publish)m.push("publisher");return{kind:a?"bucket":"device",url:e.url,label:e.label??(a?e.bucket??bg(e.url):bg(e.url)),freshness:!e.enabled?"disabled":e.lastStatus==="error"?"error":e.lastSuccessAt==null?"never":_>0?"behind":o-e.lastSuccessAt>s?"stale":"current",syncedAt:e.lastSuccessAt,error:e.lastStatus==="error"?e.lastError??null:null,acknowledgedSeq:e.pushCursor,highWaterSeq:u,lag:_,roles:m}}function Ba(e){let t={kind:"self",url:null,label:e.selfLabel??"本机",freshness:"live",syncedAt:null,error:null,acknowledgedSeq:e.globalHighWaterSeq,highWaterSeq:e.globalHighWaterSeq,lag:0,roles:e.blobFullNodes.includes(e.selfNodeId)?["replica","blob_anchor"]:["replica"]},r=(a)=>a==="current"?0:a==="stale"?1:a==="behind"?2:a==="error"?3:a==="never"?4:5,n=e.now??Date.now(),o=e.staleAfterMs??86400000,s=e.peers.map((a)=>Iv(a,e.blobFullNodes,e.globalHighWaterSeq,e.ownHighWaterSeq,n,o)).sort((a,u)=>Number(a.kind==="bucket")-Number(u.kind==="bucket")||r(a.freshness)-r(u.freshness)||a.label.localeCompare(u.label));return[t,...s]}function wg(e){let r=Ba(e).filter((_)=>_.kind!=="self"&&_.freshness!=="disabled"),n=r.filter((_)=>_.syncedAt!=null&&_.acknowledgedSeq>=_.highWaterSeq),o=n.length?n.reduce((_,m)=>_==null||(m.syncedAt??0)<_?m.syncedAt:_,null):null,s=r.reduce((_,m)=>Math.max(_,m.lag),0),a=[];if(r.length===0)a.push({kind:"no_backup",placeUrl:null,placeLabel:null,message:null});for(let _ of r)if(_.freshness==="error")a.push({kind:"peer_error",placeUrl:_.url,placeLabel:_.label,message:_.error});if(e.pendingBlobCount>0)a.push({kind:"pending_blobs",placeUrl:null,placeLabel:null,message:null});for(let _ of r)if(_.freshness==="behind")a.push({kind:"behind",placeUrl:_.url,placeLabel:_.label,message:null});for(let _ of r)if(_.freshness==="never")a.push({kind:"never_synced",placeUrl:_.url,placeLabel:_.label,message:null});for(let _ of r)if(_.freshness==="stale")a.push({kind:"stale",placeUrl:_.url,placeLabel:_.label,message:null});let u={places:1+n.length,pendingBlobCount:e.pendingBlobCount,pendingBlobBytes:e.pendingBlobBytes,pendingChanges:s,oldestSyncedAt:o,issues:a};if(r.length===0)return{state:"no_backup",...u};if(r.some((_)=>_.freshness==="error"))return{state:"peer_error",...u};if(e.pendingBlobCount>0)return{state:"pending_blobs",...u};if(s>0)return{state:"unsynced_changes",...u};if(r.some((_)=>_.freshness==="never"))return{state:"syncing",...u};if(r.some((_)=>_.freshness==="stale"))return{state:"stale",...u};return{state:"healthy",...u}}Gt();$n();oo();function vg(e){let t=je(e),r=e.query("SELECT MAX(seq) AS global_seq, MAX(CASE WHEN node_id = ? THEN seq END) AS own_seq FROM crdt_changes").get(t),n=e.query("SELECT value FROM meta WHERE key = 'cfg_sync_interval'").get(),o=Number(n?.value),s=Math.max(900000,Number.isFinite(o)&&o>0?o*3:0),a=Ht(e).filter((m)=>m.kind==="http"||m.kind==="s3").map((m)=>{let x=null,D;if(m.kind==="s3"&&m.config)try{let j=JSON.parse(m.config);x=j.bucket??null,D=j.publish}catch{}return{url:m.url,kind:m.kind,label:m.label,nodeId:m.node_id,enabled:!!m.enabled,lastSuccessAt:m.last_success_at,lastStatus:m.last_status,lastError:m.last_error,pushCursor:m.push_cursor,bucket:x,publish:D}}),u=Ml(e),_={selfNodeId:t,selfLabel:Mc(e),peers:a,pendingBlobCount:u.length,pendingBlobBytes:u.reduce((m,x)=>m+x.size,0),blobFullNodes:Ln(e).fullNodes,globalHighWaterSeq:r.global_seq??0,ownHighWaterSeq:r.own_seq??0,staleAfterMs:s};return{state:wg(_),places:Ba(_)}}za();Gt();vn();ao();function Eg(e,t){let r=je(e),n=mr(e,t,"revoked");if(n.audience==="public"&&!jt(e,n.site_id).some((o)=>o.audience==="public"&&o.desired_state==="active"))yi(e,n.site_id,{visibility:"private"});if(n.hosting==="device"&&n.target_ref===r)return Rt(e,{channelId:n.id,status:"revoked",lastVerifiedAt:Date.now()}),{channel:n,needsReconcile:!1};if(n.controller_node_id===r)return{channel:n,needsReconcile:!0};return Rt(e,{channelId:n.id,status:"cleanup_pending",lastError:"等待控制设备上线并应用撤销"}),{channel:n,needsReconcile:!1}}bn();Ye();bn();wi();function Ag(e){return e.replace(/&amp;/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#39;/g,"'")}function qv(e){let t=Wa(e),r=Za(e),n=(s)=>Ga(e,s);async function o(s,a){let u=await s.text().catch(()=>"");throw Error(`S3 ${a} failed: ${s.status} ${u.slice(0,200)}`)}return{async list(s,a,u){let _=[],m;do{let x=new URL(r);if(x.searchParams.set("list-type","2"),x.searchParams.set("prefix",s),x.searchParams.set("max-keys","1000"),a)x.searchParams.set("start-after",a);if(u)x.searchParams.set("delimiter",u);if(m)x.searchParams.set("continuation-token",m);let D=await t.fetch(x.toString(),{method:"GET"});if(!D.ok)await o(D,"list");let j=await D.text(),Y=/<Contents>([\s\S]*?)<\/Contents>/g,_e;while(_e=Y.exec(j)){let de=_e[1],ge=/<Key>([^<]+)<\/Key>/.exec(de)?.[1];if(!ge)continue;_.push({key:Ag(ge),etag:/<ETag>([^<]*)<\/ETag>/.exec(de)?.[1]})}if(u){let de=/<CommonPrefixes>([\s\S]*?)<\/CommonPrefixes>/g;while(_e=de.exec(j)){let ge=/<Prefix>([^<]+)<\/Prefix>/.exec(_e[1])?.[1];if(ge)_.push({key:Ag(ge)})}}m=/<IsTruncated>true<\/IsTruncated>/.test(j)?/<NextContinuationToken>([^<]+)<\/NextContinuationToken>/.exec(j)?.[1]:void 0}while(m);return _},async get(s){let a=await t.fetch(n(s));if(a.status===404)return null;if(!a.ok)await o(a,"get");return new Uint8Array(await a.arrayBuffer())},async put(s,a,u){let _={};if(u?.contentType)_["content-type"]=u.contentType;if(u?.ifNoneMatch)_["if-none-match"]="*";if(u?.ifMatch)_["if-match"]=u.ifMatch;let m=await t.fetch(n(s),{method:"PUT",body:a,headers:Object.keys(_).length?_:void 0});if((u?.ifNoneMatch||u?.ifMatch)&&m.status===412)throw new Z("conflict",`S3 conditional put failed (${u?.ifMatch?"If-Match":"exists"}): ${s}`);if(!m.ok)await o(m,"put")},async del(s){let a=await t.fetch(n(s),{method:"DELETE"});if(!a.ok&&a.status!==404)await o(a,"delete")}}}a_(qv);var Lv=Math.floor(167772160);function $v(e){if(e instanceof ArrayBuffer)return e;let t=new Uint8Array(e.byteLength);return t.set(e),t.buffer}async function Fv(e){let t=await crypto.subtle.digest("SHA-256",$v(e));return[...new Uint8Array(t)].map((r)=>r.toString(16).padStart(2,"0")).join("")}async function Ka(e,t){return(await Fv(e)).slice(0,t.length)===t}var vi=null;function zv(){if(vi)return vi;return vi=new Promise((e,t)=>{let r=indexedDB.open("mh-blobs",1);r.onupgradeneeded=()=>{let n=r.result;if(!n.objectStoreNames.contains("spool"))n.createObjectStore("spool",{keyPath:"hash"});if(!n.objectStoreNames.contains("meta"))n.createObjectStore("meta",{keyPath:"hash"})},r.onsuccess=()=>e(r.result),r.onerror=()=>t(r.error)}),vi}function Kr(e,t,r){return zv().then((n)=>new Promise((o,s)=>{let a=r(n.transaction(e,t).objectStore(e));a.onsuccess=()=>o(a.result),a.onerror=()=>s(a.error)}))}function Va(e){return Kr("spool","readonly",(t)=>t.get(e))}async function Dg(){return(await Kr("spool","readonly",(t)=>t.getAll())??[]).filter((t)=>!t.durable)}async function Og(e){await Kr("spool","readwrite",(t)=>t.delete(e))}var Ig=(e)=>`/blob/${e}`;async function Mv(e,t,r){let n=await Kr("meta","readonly",(s)=>s.get(e)),o={hash:e,size:t,accessed:Date.now(),pinned:n?.pinned??0,content_type:r??n?.content_type};await Kr("meta","readwrite",(s)=>s.put(o))}async function Pg(e,t,r){await(await caches.open("mh-blob-v1")).put(Ig(e),new Response(t,{headers:{"content-type":r,"cache-control":"public, max-age=31536000, immutable"}})),await Mv(e,t.byteLength,r),await Bv()}async function Bv(){let e=await Kr("meta","readonly",(o)=>o.getAll())??[],t=e.reduce((o,s)=>o+s.size,0);if(t<=209715200)return;let r=await caches.open("mh-blob-v1"),n=e.filter((o)=>!o.pinned).sort((o,s)=>o.accessed-s.accessed);for(let o of n){if(t<=Lv)break;await r.delete(Ig(o.hash)),await Kr("meta","readwrite",(s)=>s.delete(o.hash)),t-=o.size}}oi();qr();Cr();Lr();pn();dt();pn();Cr();Ye();var Uv=1500;function Ja(e){return Number(e.slice(0,15))}function Tn(e){return new Date(Ja(e)).toISOString()}function Vr(e){let t=e??"",r=null,n=t.indexOf("/");if(n>0)r=t.slice(0,n),t=t.slice(n+1);let o=t.startsWith("repair:")?"repair":t.startsWith("revert:")?"revert":"user";return{actor:r,kind:o}}function Xa(e){return Vr(e).kind}function kn(e){let t=[],r=[];for(let n of e){let o=r[r.length-1];if(o&&(o.txn!==null&&n.txn!==null?o.txn!==n.txn:o.node_id!==n.node_id||Ja(n.hlc)-Ja(o.hlc)>Uv))t.push(r),r=[];r.push(n)}if(r.length)t.push(r);return t}function Wt(e){return e!==null&&e!=="0"&&e!=="false"&&e!=="null"}function Ei(e,t){let r=new Map;for(let n of e){if(n.hlc>t)continue;let o=r.get(n.col);if(!o||n.hlc>o.hlc)r.set(n.col,{value:n.value,hlc:n.hlc})}return r}function xi(e,t,r){return e.query(`SELECT ${It} FROM crdt_changes WHERE dataset = ? AND row_id = ? ORDER BY hlc`).all(t,r)}function jv(e,t){return e.query("SELECT DISTINCT row_id FROM crdt_changes WHERE dataset = 'doc_blocks' AND col = 'doc_id' AND value = ?").all(JSON.stringify(t)).map((r)=>r.row_id)}function Ng(e,t){let r=jv(e,t),n=r.map(()=>"?").join(","),o=r.length?` OR (dataset = 'doc_blocks' AND row_id IN (${n}))`:"";return e.query(`SELECT ${It} FROM crdt_changes
542
+ WHERE (dataset = 'documents' AND row_id = ?)${o}
543
+ ORDER BY hlc`).all(t,...r)}function Cg(e,t){let r=Ng(e,t);if(!r.length)throw new Z("not_found",`no such document: ${t}`);let n=new Map,o=[];for(let s of kn(r)){let a=new Set,u=new Set,_=new Map,m=!1,x=!1,D=0;for(let de of s)if(de.dataset==="documents"){if(_.set(de.col,de.value),de.col==="created_hlc")m=!0;else if(de.col==="__deleted")x=Wt(de.value)}else if(D++,de.col==="__deleted"&&Wt(de.value))u.add(de.row_id);else if(de.col==="text")a.add(de.row_id);let j=!1,Y=0;for(let[de,ge]of _){let Le=!n.has(de)||n.get(de)!==ge;if(n.set(de,ge),!Le)continue;if(Y++,de==="title")j=!0}if(Y===0&&D===0)continue;let _e=s[s.length-1];o.push({version:_e.hlc,at:Tn(_e.hlc),node_id:_e.node_id,kind:Xa(_e.txn),actor:Vr(_e.txn).actor,changes:s.length,created:m,deleted:x,title_changed:j,blocks_changed:a.size,blocks_deleted:u.size})}return o.reverse()}function Qa(e,t,r){if(!r)throw new Z("invalid_input","missing version cutoff");let n=Ng(e,t).filter((m)=>m.hlc<=r);if(!n.length)throw new Z("not_found",`no version of document ${t} at or before ${r}`);let o=Ei(n.filter((m)=>m.dataset==="documents"),r),s=(m)=>{let x=o.get(m);return x?.value==null?void 0:JSON.parse(x.value)},a=new Map;for(let m of n){if(m.dataset!=="doc_blocks")continue;(a.get(m.row_id)??a.set(m.row_id,[]).get(m.row_id)).push(m)}let u=[];for(let[m,x]of a){let D=Ei(x,r),j=(_e)=>{let de=D.get(_e);return de?.value==null?void 0:JSON.parse(de.value)};if(j("doc_id")!==t)continue;if(D.get("__deleted")&&Wt(D.get("__deleted").value))continue;let Y=j("text");if(typeof Y!=="string"||!Y)continue;u.push({id:m,text:Y,order_key:j("order_key")??null,blankAfter:j("blank_after")??0})}u.sort((m,x)=>{if(m.order_key!==x.order_key){if(m.order_key===null)return-1;if(x.order_key===null)return 1;return m.order_key<x.order_key?-1:1}return m.id<x.id?-1:1});let _=a.size?Nr(u):s("body")??"";return{id:t,title:s("title")??"",body:_,deleted:o.get("__deleted")?Wt(o.get("__deleted").value):!1,version:n[n.length-1].hlc}}var qg=ze(function(t,r,n,o={}){let s=nt(t,r);if(!s&&!t.query("SELECT 1 AS x FROM documents WHERE id = ?").get(r))throw new Z("not_found",`no such document: ${r}`);if(o.ifMatch!==void 0&&Tt(t,r)!==o.ifMatch)throw new Z("stale",`stale: document changed since ${o.ifMatch}; re-read first`);let a=Qa(t,r,n);if(a.deleted)throw new Z("invalid_input","target version is a deleted state; use doc delete instead");let u=!s;if(!s)be(t,"documents",r,"__deleted",0),s=nt(t,r);let _={};if(a.title!==s.title)_.title=a.title;if(a.body!==(s.body??""))_.body=a.body;if(Object.keys(_).length)Oo(t,r,_);return{id:r,changed:Object.keys(_).length>0||u,restored:a.version,version:Tt(t,r),undeleted:u}},"revert"),Si=new Set(["database_id","created_hlc","order_key","__deleted"]);function Lg(e){let t=new Set,r=!1,n=!1,o=!1;for(let a of e)if(a.col==="created_hlc")r=!0;else if(a.col==="__deleted")n=Wt(a.value);else if(a.col==="order_key")o=!0;else if(!Si.has(a.col))t.add(a.col);let s=e[e.length-1];return{version:s.hlc,at:Tn(s.hlc),node_id:s.node_id,kind:Xa(s.txn),actor:Vr(s.txn).actor,changes:e.length,created:r,deleted:n,fields:[...t],moved:o}}function $g(e,t){let r=xi(e,"records",t);if(!r.length)throw new Z("not_found",`no such record: ${t}`);return kn(r).map(Lg).reverse()}function Fg(e,t,r={}){if(!e.query("SELECT 1 AS x FROM databases WHERE id = ?").get(t))throw new Z("not_found",`no such database: ${t}`);let n=e.query("SELECT id FROM properties WHERE database_id = ? AND type = 'text' AND __deleted = 0 ORDER BY position LIMIT 1").get(t)?.id??null,o=e.query(`SELECT ${It} FROM crdt_changes
532
544
  WHERE dataset = 'records' AND row_id IN (SELECT id FROM records WHERE database_id = ?)
533
- ORDER BY row_id, hlc`).all(t),o=[],s=0;for(let c=1;c<=r.length;c++){if(c!==r.length&&r[c].row_id===r[s].row_id)continue;let d=r[s].row_id,f=new Map;for(let b of Li(r.slice(s,c))){let x=new Set;for(let ce of b)if(!xc.has(ce.col))x.add(ce.col);let P=new Map;for(let ce of x)if(f.has(ce))P.set(ce,f.get(ce));for(let ce of b){if(xc.has(ce.col))continue;if(ce.value===null)f.delete(ce.col);else f.set(ce.col,JSON.parse(ce.value))}let F=[];for(let ce of x){let ie={prop:ce};if(P.has(ce))ie.before=P.get(ce);if(f.has(ce))ie.after=f.get(ce);F.push(ie)}o.push({...sE(b),record_id:d,record_title:i&&f.has(i)?String(f.get(i)??""):null,diffs:F})}s=c}return o.sort((c,d)=>c.version<d.version?1:-1),o.slice(0,n.limit??100)}function h_(e,t,n){if(!n)throw new H("invalid_input","missing version cutoff");let i=kc(e,"records",t).filter((c)=>c.hlc<=n);if(!i.length)throw new H("not_found",`no version of record ${t} at or before ${n}`);let r=Ec(i,n),o={};for(let[c,d]of r){if(xc.has(c))continue;if(d.value===null)continue;o[c]=JSON.parse(d.value)}let s=r.get("database_id");return{id:t,database_id:s?.value==null?null:JSON.parse(s.value),deleted:r.get("__deleted")?mr(r.get("__deleted").value):!1,data:o,version:i[i.length-1].hlc}}var lE=Ve(function(t,n,i){let r=t.query("SELECT database_id, data, __deleted FROM records WHERE id = ?").get(n);if(!r)throw new H("not_found",`no such record: ${n}`);let o=h_(t,n,i);if(o.deleted)throw new H("invalid_input","target version is a deleted state; use record delete instead");let s=new Set(r.database_id?Yt(t,r.database_id).map((b)=>b.id):[]),c=JSON.parse(r.data||"{}"),d=[];for(let b of s){let x=Object.hasOwn(o.data,b),P=Object.hasOwn(c,b);if(x&&(!P||JSON.stringify(o.data[b])!==JSON.stringify(c[b])))xe(t,"records",n,b,o.data[b]),d.push(b);else if(!x&&P)xe(t,"records",n,b,void 0),d.push(b)}let f=r.__deleted!==0;if(f)xe(t,"records",n,"__deleted",0);return{id:n,changed:d.length>0||f,fields:d,undeleted:f,restored:o.version}},"revert"),uE=["name","type","config","position"];function dE(e,t){let n=kc(e,"properties",t);if(!n.length)throw new H("not_found",`no such property: ${t}`);let i=new Map(e.query("SELECT txn, COUNT(*) AS n FROM crdt_changes WHERE dataset = 'records' AND col = ? AND txn IS NOT NULL GROUP BY txn").all(t).map((r)=>[r.txn,r.n]));return Li(n).map((r)=>{let o=new Set,s=!1,c=!1;for(let f of r)if(f.col==="database_id")s=!0;else if(f.col==="__deleted")c=mr(f.value);else if(uE.includes(f.col))o.add(f.col);let d=r[r.length-1];return{version:d.hlc,at:qi(d.hlc),node_id:d.node_id,kind:m_(d.txn),actor:An(d.txn).actor,changes:r.length,created:s,deleted:c,fields:[...o],cells_cleared:d.txn?i.get(d.txn)??0:0}}).reverse()}function zR(e,t,n){if(!n)throw new H("invalid_input","missing version cutoff");let i=kc(e,"properties",t).filter((s)=>s.hlc<=n);if(!i.length)throw new H("not_found",`no version of property ${t} at or before ${n}`);let r=Ec(i,n),o=(s)=>{let c=r.get(s);return c?.value==null?void 0:JSON.parse(c.value)};return{id:t,database_id:o("database_id")??null,name:o("name")??"",type:o("type")??"text",config:o("config")??null,position:o("position")??null,deleted:r.get("__deleted")?mr(r.get("__deleted").value):!1,version:i[i.length-1].hlc}}var fE=Ve(function(t,n,i){let r=t.query("SELECT database_id, name, type, config, position, __deleted FROM properties WHERE id = ?").get(n);if(!r)throw new H("not_found",`no such property: ${n}`);let o=zR(t,n,i);if(o.deleted)throw new H("invalid_input","target version is a deleted state; use prop remove instead");let s={name:r.name,type:r.type,config:r.config?JSON.parse(r.config):null,position:r.position},c={name:o.name,type:o.type,config:o.config,position:o.position},d=[];for(let de of uE)if(JSON.stringify(c[de]??null)!==JSON.stringify(s[de]??null))xe(t,"properties",n,de,c[de]),d.push(de);let f=r.__deleted!==0;if(f)xe(t,"properties",n,"__deleted",0);let b=new Set(t.query("SELECT DISTINCT txn FROM crdt_changes WHERE dataset = 'properties' AND row_id = ? AND hlc > ? AND txn IS NOT NULL").all(n,i).map((de)=>de.txn)),x=t.query("SELECT row_id, hlc, value, txn FROM crdt_changes WHERE dataset = 'records' AND col = ? ORDER BY row_id, hlc").all(n),P=(de)=>de!==null&&(b.has(de)||An(de).kind==="repair"),F=0,ce=0,ie=0;while(ie<x.length){let de=x[ie].row_id,Pe=x[ie],Ye=null;for(;ie<x.length&&x[ie].row_id===de;ie++)if(Pe=x[ie],!P(Pe.txn))Ye=Pe;if(Pe.hlc<=i)continue;if(!P(Pe.txn)){ce++;continue}let Ue=Ye?Ye.value:null;if(Ue===Pe.value)continue;xe(t,"records",de,n,Ue===null?void 0:JSON.parse(Ue)),F++}return{id:n,changed:d.length>0||f||F>0,fields:d,restored_cells:F,skipped_cells:ce,undeleted:f,restored:o.version}},"revert");function pE(e,t,n){return e.query("SELECT hlc, node_id, value FROM crdt_changes WHERE dataset = 'records' AND row_id = ? AND col = ? ORDER BY hlc DESC").all(t,n).map((r)=>({version:r.hlc,at:qi(r.hlc),node_id:r.node_id,value:r.value===null?void 0:JSON.parse(r.value),cleared:r.value===null}))}St();ut();function gE(e,t){if(e==="records")return Gc.has(t);return t==="created_hlc"||t==="__deleted"}function mE(){return{sql:[...Zi].map(()=>"dataset != ?"),params:[...Zi]}}function y_(e,t,n){let i=mE(),r=["txn = ?",...i.sql],o=[t,...i.params];if(n)r.push("hlc < ?"),o.push(n);return e.query(`SELECT ${Vt} FROM crdt_changes WHERE ${r.join(" AND ")} ORDER BY hlc`).all(...o)}function _E(e,t,n){if(!t)return null;if(!n.dbNames.has(t)){let i=e.query("SELECT name FROM databases WHERE id = ?").get(t);n.dbNames.set(t,i?.name??null)}return n.dbNames.get(t)}function UR(e,t,n){if(!n.titleProps.has(t)){let i=e.query("SELECT id FROM properties WHERE database_id = ? AND type = 'text' AND __deleted = 0 ORDER BY position LIMIT 1").get(t);n.titleProps.set(t,i?.id??null)}return n.titleProps.get(t)??null}function jR(e,t,n,i){if(t==="records"){let r=e.query("SELECT database_id, data FROM records WHERE id = ?").get(n);if(!r)return{label:null,database_id:null};let o=r.database_id?UR(e,r.database_id,i):null,s=JSON.parse(r.data||"{}");return{label:o&&s[o]!=null?String(s[o]):null,database_id:r.database_id}}if(t==="documents"){let r=e.query("SELECT title, database_id FROM documents WHERE id = ?").get(n);return{label:r?.title??null,database_id:r?.database_id??null}}if(t==="properties"){let r=e.query("SELECT name, database_id FROM properties WHERE id = ?").get(n);return{label:r?.name??null,database_id:r?.database_id??null}}if(t==="databases")return{label:_E(e,n,i),database_id:n};if(t==="sites"){let r=e.query("SELECT title, name FROM sites WHERE id = ?").get(n);return{label:r?.title??r?.name??null,database_id:null}}return{label:null,database_id:null}}function hE(e,t,n){for(let o of t)if(o.dataset==="doc_blocks"&&o.row_id===n&&o.col==="doc_id"&&o.value)return JSON.parse(o.value);let i=e.query("SELECT doc_id FROM doc_blocks WHERE id = ?").get(n);if(i?.doc_id)return i.doc_id;let r=e.query("SELECT value FROM crdt_changes WHERE dataset = 'doc_blocks' AND row_id = ? AND col = 'doc_id' AND value IS NOT NULL ORDER BY hlc DESC LIMIT 1").get(n);return r?JSON.parse(r.value):null}function yE(e,t,n){let i=new Map,r=(f,b)=>{let x=f+"\x00"+b,P=i.get(x);if(!P)P={dataset:f,id:b,created:!1,deleted:!1,fields:new Set,blocksChanged:new Set,blocksDeleted:new Set},i.set(x,P);return P};for(let f of t){if(f.dataset==="doc_blocks"){let x=hE(e,t,f.row_id),P=x?r("documents",x):r("doc_blocks",f.row_id);if(f.col==="__deleted"&&mr(f.value))P.blocksDeleted.add(f.row_id);else P.blocksChanged.add(f.row_id);continue}let b=r(f.dataset,f.row_id);if(f.col==="created_hlc"||f.dataset==="properties"&&f.col==="database_id")b.created=!0;else if(f.col==="__deleted")b.deleted=mr(f.value);if(!gE(f.dataset,f.col))b.fields.add(f.col)}let o=[...i.values()].map((f)=>{let{label:b,database_id:x}=jR(e,f.dataset,f.id,n);return{dataset:f.dataset,id:f.id,label:b,database_id:x,database_label:f.dataset==="databases"?null:_E(e,x,n),created:f.created,deleted:f.deleted,fields:f.fields.size,blocks_changed:[...f.blocksChanged].filter((P)=>!f.blocksDeleted.has(P)).length,blocks_deleted:f.blocksDeleted.size}}),s=t[t.length-1],{actor:c,kind:d}=An(s.txn);return{version:s.hlc,at:qi(s.hlc),node_id:s.node_id,kind:d,actor:c,txn:s.txn,changes:t.length,entities:o}}function vE(e,t={}){let n=Math.max(1,Math.min(t.limit??50,200));if(t.actor!==void 0&&!fh.test(t.actor))throw new H("invalid_input",`invalid actor tag: ${t.actor}`);let i=Math.min(Math.max(n*40,800),8000),r=mE(),o=[...r.sql],s=[...r.params];if(t.before)o.push("hlc < ?"),s.push(t.before);if(t.actor!==void 0)o.push("txn >= ?","txn < ?"),s.push(t.actor+"/",t.actor+"0");let c=e.query(`SELECT ${Vt} FROM crdt_changes
534
- ${o.length?"WHERE "+o.join(" AND "):""}
535
- ORDER BY hlc DESC LIMIT ?`).all(...s,i),d=c.length<i;c.reverse();let f=Li(c);if(!d&&f.length>0){let de=f[0][0].txn;if(de!==null)f[0]=y_(e,de,t.before);else if(f.length>1)f=f.slice(1)}let b={dbNames:new Map,titleProps:new Map},x=f.reverse(),P=x.slice(0,n),F=P.map((de)=>yE(e,de,b)),ie=(!d||x.length>n)&&P.length?P[P.length-1][0].hlc:null;return{entries:F,next:ie}}function bE(e,t,n,i,r){return e.query("SELECT value FROM crdt_changes WHERE dataset = ? AND row_id = ? AND col = ? AND hlc < ? ORDER BY hlc DESC LIMIT 1").get(t,n,i,r)??void 0}function FR(e,t,n){if(t!=="records")return n;return e.query("SELECT name FROM properties WHERE id = ?").get(n)?.name??n}function wE(e,t){let n=y_(e,t);if(!n.length)throw new H("not_found",`no change group: ${t}`);let r=yE(e,n,{dbNames:new Map,titleProps:new Map}),o=new Map,s=new Map;for(let f of n){let b=f.dataset+"\x00"+f.row_id+"\x00"+f.col;if(!o.has(b))o.set(b,f);s.set(b,f)}let c=r.entities.map((f)=>({...f,diffs:[],block_diffs:[]})),d=new Map(c.map((f)=>[f.dataset+"\x00"+f.id,f]));for(let[f,b]of s){let x=o.get(f),P=(F)=>{let ce={col:b.dataset==="doc_blocks"?b.row_id:b.col,label:F},ie=bE(e,b.dataset,b.row_id,b.col,x.hlc);if(ie&&ie.value!==null)ce.before=JSON.parse(ie.value);if(b.value!==null)ce.after=JSON.parse(b.value);return ce};if(b.dataset==="doc_blocks"){if(b.col!=="text")continue;let F=hE(e,n,b.row_id);d.get(F?"documents\x00"+F:"doc_blocks\x00"+b.row_id)?.block_diffs.push(P("block"));continue}if(gE(b.dataset,b.col))continue;d.get(b.dataset+"\x00"+b.row_id)?.diffs.push(P(FR(e,b.dataset,b.col)))}return{...r,entities:c}}var SE=Ve(function(t,n){let i=y_(t,n);if(!i.length)throw new H("not_found",`no change group: ${n}`);let r=new Map;for(let f of i){let b=f.dataset+"\x00"+f.row_id,x=r.get(b);if(!x)r.set(b,x=[]);x.push(f)}let o=0,s=0,c=0,d=0;for(let f of r.values()){let{dataset:b,row_id:x}=f[0],P=f[0].hlc;if(!t.query("SELECT 1 AS x FROM crdt_changes WHERE dataset = ? AND row_id = ? AND hlc < ? LIMIT 1").get(b,x,P)){if(t.query("SELECT 1 AS x FROM crdt_changes WHERE dataset = ? AND row_id = ? AND txn IS NOT ? LIMIT 1").get(b,x,n)){d++;continue}let de=[...f].reverse().find((Pe)=>Pe.col==="__deleted");if(de&&mr(de.value))continue;xe(t,b,x,"__deleted",1),c++;continue}let ce=new Map;for(let ie of f)if(!ce.has(ie.col))ce.set(ie.col,ie);for(let[ie,de]of ce){let Pe=t.query("SELECT value, txn FROM crdt_changes WHERE dataset = ? AND row_id = ? AND col = ? ORDER BY hlc DESC LIMIT 1").get(b,x,ie);if(Pe.txn!==n){s++;continue}let Ye=bE(t,b,x,ie,de.hlc),Ue=Ye===void 0?ie==="__deleted"?0:void 0:Ye.value===null?void 0:JSON.parse(Ye.value);if((Ue===void 0?null:JSON.stringify(Ue))===Pe.value)continue;xe(t,b,x,ie,Ue),o++}}return{txn:n,changed:o>0||c>0,restored_registers:o,skipped_registers:s,removed_rows:c,skipped_rows:d}},"revert");ys();St();var xE="('text','url','select','multi_select','date')",kE="1";function v_(e,t){return e.query("SELECT value FROM meta WHERE key = ?").get(t)?.value??null}function b_(e,t,n){e.query("INSERT INTO meta (key, value) VALUES (?, ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value").run(t,n)}function MR(e,t){e.query("DELETE FROM search_fts WHERE kind = 'document' AND id = ?").run(t);let n=e.query("SELECT id, title, body, database_id FROM documents WHERE id = ? AND __deleted = 0").get(t);if(n)e.query("INSERT INTO search_fts (kind, id, database_id, title, body) VALUES ('document', ?, ?, ?, ?)").run(n.id,n.database_id,n.title??"",n.body??"")}function w_(e,t,...n){return e.query(`SELECT r.id AS id, r.database_id AS database_id, group_concat(je.value, ' ') AS body
545
+ ORDER BY row_id, hlc`).all(t),s=[],a=0;for(let u=1;u<=o.length;u++){if(u!==o.length&&o[u].row_id===o[a].row_id)continue;let _=o[a].row_id,m=new Map;for(let x of kn(o.slice(a,u))){let D=new Set;for(let _e of x)if(!Si.has(_e.col))D.add(_e.col);let j=new Map;for(let _e of D)if(m.has(_e))j.set(_e,m.get(_e));for(let _e of x){if(Si.has(_e.col))continue;if(_e.value===null)m.delete(_e.col);else m.set(_e.col,JSON.parse(_e.value))}let Y=[];for(let _e of D){let de={prop:_e};if(j.has(_e))de.before=j.get(_e);if(m.has(_e))de.after=m.get(_e);Y.push(de)}s.push({...Lg(x),record_id:_,record_title:n&&m.has(n)?String(m.get(n)??""):null,diffs:Y})}a=u}return s.sort((u,_)=>u.version<_.version?1:-1),s.slice(0,r.limit??100)}function Ya(e,t,r){if(!r)throw new Z("invalid_input","missing version cutoff");let n=xi(e,"records",t).filter((u)=>u.hlc<=r);if(!n.length)throw new Z("not_found",`no version of record ${t} at or before ${r}`);let o=Ei(n,r),s={};for(let[u,_]of o){if(Si.has(u))continue;if(_.value===null)continue;s[u]=JSON.parse(_.value)}let a=o.get("database_id");return{id:t,database_id:a?.value==null?null:JSON.parse(a.value),deleted:o.get("__deleted")?Wt(o.get("__deleted").value):!1,data:s,version:n[n.length-1].hlc}}var zg=ze(function(t,r,n){let o=t.query("SELECT database_id, data, __deleted FROM records WHERE id = ?").get(r);if(!o)throw new Z("not_found",`no such record: ${r}`);let s=Ya(t,r,n);if(s.deleted)throw new Z("invalid_input","target version is a deleted state; use record delete instead");let a=new Set(o.database_id?Ct(t,o.database_id).map((x)=>x.id):[]),u=JSON.parse(o.data||"{}"),_=[];for(let x of a){let D=Object.hasOwn(s.data,x),j=Object.hasOwn(u,x);if(D&&(!j||JSON.stringify(s.data[x])!==JSON.stringify(u[x])))be(t,"records",r,x,s.data[x]),_.push(x);else if(!D&&j)be(t,"records",r,x,void 0),_.push(x)}let m=o.__deleted!==0;if(m)be(t,"records",r,"__deleted",0);return{id:r,changed:_.length>0||m,fields:_,undeleted:m,restored:s.version}},"revert"),Mg=["name","type","config","position"];function Bg(e,t){let r=xi(e,"properties",t);if(!r.length)throw new Z("not_found",`no such property: ${t}`);let n=new Map(e.query("SELECT txn, COUNT(*) AS n FROM crdt_changes WHERE dataset = 'records' AND col = ? AND txn IS NOT NULL GROUP BY txn").all(t).map((o)=>[o.txn,o.n]));return kn(r).map((o)=>{let s=new Set,a=!1,u=!1;for(let m of o)if(m.col==="database_id")a=!0;else if(m.col==="__deleted")u=Wt(m.value);else if(Mg.includes(m.col))s.add(m.col);let _=o[o.length-1];return{version:_.hlc,at:Tn(_.hlc),node_id:_.node_id,kind:Xa(_.txn),actor:Vr(_.txn).actor,changes:o.length,created:a,deleted:u,fields:[...s],cells_cleared:_.txn?n.get(_.txn)??0:0}}).reverse()}function Hv(e,t,r){if(!r)throw new Z("invalid_input","missing version cutoff");let n=xi(e,"properties",t).filter((a)=>a.hlc<=r);if(!n.length)throw new Z("not_found",`no version of property ${t} at or before ${r}`);let o=Ei(n,r),s=(a)=>{let u=o.get(a);return u?.value==null?void 0:JSON.parse(u.value)};return{id:t,database_id:s("database_id")??null,name:s("name")??"",type:s("type")??"text",config:s("config")??null,position:s("position")??null,deleted:o.get("__deleted")?Wt(o.get("__deleted").value):!1,version:n[n.length-1].hlc}}var Ug=ze(function(t,r,n){let o=t.query("SELECT database_id, name, type, config, position, __deleted FROM properties WHERE id = ?").get(r);if(!o)throw new Z("not_found",`no such property: ${r}`);let s=Hv(t,r,n);if(s.deleted)throw new Z("invalid_input","target version is a deleted state; use prop remove instead");let a={name:o.name,type:o.type,config:o.config?JSON.parse(o.config):null,position:o.position},u={name:s.name,type:s.type,config:s.config,position:s.position},_=[];for(let ge of Mg)if(JSON.stringify(u[ge]??null)!==JSON.stringify(a[ge]??null))be(t,"properties",r,ge,u[ge]),_.push(ge);let m=o.__deleted!==0;if(m)be(t,"properties",r,"__deleted",0);let x=new Set(t.query("SELECT DISTINCT txn FROM crdt_changes WHERE dataset = 'properties' AND row_id = ? AND hlc > ? AND txn IS NOT NULL").all(r,n).map((ge)=>ge.txn)),D=t.query("SELECT row_id, hlc, value, txn FROM crdt_changes WHERE dataset = 'records' AND col = ? ORDER BY row_id, hlc").all(r),j=(ge)=>ge!==null&&(x.has(ge)||Vr(ge).kind==="repair"),Y=0,_e=0,de=0;while(de<D.length){let ge=D[de].row_id,Le=D[de],Ze=null;for(;de<D.length&&D[de].row_id===ge;de++)if(Le=D[de],!j(Le.txn))Ze=Le;if(Le.hlc<=n)continue;if(!j(Le.txn)){_e++;continue}let $e=Ze?Ze.value:null;if($e===Le.value)continue;be(t,"records",ge,r,$e===null?void 0:JSON.parse($e)),Y++}return{id:r,changed:_.length>0||m||Y>0,fields:_,restored_cells:Y,skipped_cells:_e,undeleted:m,restored:s.version}},"revert");function jg(e,t,r){return e.query("SELECT hlc, node_id, value FROM crdt_changes WHERE dataset = 'records' AND row_id = ? AND col = ? ORDER BY hlc DESC").all(t,r).map((o)=>({version:o.hlc,at:Tn(o.hlc),node_id:o.node_id,value:o.value===null?void 0:JSON.parse(o.value),cleared:o.value===null}))}dt();Ye();var Wv={databases:{tier:"content",synced:!0},properties:{tier:"content",synced:!0},records:{tier:"content",synced:!0},documents:{tier:"content",synced:!0},doc_blocks:{tier:"content",synced:!0},sites:{tier:"content",synced:!0},site_files:{tier:"content",synced:!0},site_channels:{tier:"system",synced:!0},blob_policy:{tier:"system",synced:!0},nodes:{tier:"system",synced:!0},meta:{tier:"local",synced:!1},crdt_changes:{tier:"local",synced:!1},peers:{tier:"local",synced:!1},storage_cursors:{tier:"local",synced:!1},room_rows:{tier:"local",synced:!1},peer_grants:{tier:"local",synced:!1},pairing_codes:{tier:"local",synced:!1},shares:{tier:"local",synced:!1},site_channel_observations:{tier:"local",synced:!1},blob_cache:{tier:"local",synced:!1},drop_rejects:{tier:"local",synced:!1},search_fts:{tier:"local",synced:!1}},Ti=(e)=>Object.entries(Wv).filter(([,t])=>e(t)).map(([t])=>t),nD=Ti((e)=>e.synced),oD=Ti((e)=>e.tier==="content"),Hg=Ti((e)=>e.tier==="system"),iD=Ti((e)=>e.tier==="local");function Wg(e,t){if(e==="records")return Gi.has(t);return t==="created_hlc"||t==="__deleted"}function Zg(){let e=[...Eo,...Hg];return{sql:e.map(()=>"dataset != ?"),params:e}}function ec(e,t,r){let n=Zg(),o=["txn = ?",...n.sql],s=[t,...n.params];if(r)o.push("hlc < ?"),s.push(r);return e.query(`SELECT ${It} FROM crdt_changes WHERE ${o.join(" AND ")} ORDER BY hlc`).all(...s)}function Gg(e,t,r){if(!t)return null;if(!r.dbNames.has(t)){let n=e.query("SELECT name FROM databases WHERE id = ?").get(t);r.dbNames.set(t,n?.name??null)}return r.dbNames.get(t)}function Zv(e,t,r){if(!r.titleProps.has(t)){let n=e.query("SELECT id FROM properties WHERE database_id = ? AND type = 'text' AND __deleted = 0 ORDER BY position LIMIT 1").get(t);r.titleProps.set(t,n?.id??null)}return r.titleProps.get(t)??null}function Gv(e,t,r,n){if(t==="records"){let o=e.query("SELECT database_id, data FROM records WHERE id = ?").get(r);if(!o)return{label:null,database_id:null};let s=o.database_id?Zv(e,o.database_id,n):null,a=JSON.parse(o.data||"{}");return{label:s&&a[s]!=null?String(a[s]):null,database_id:o.database_id}}if(t==="documents"){let o=e.query("SELECT title, database_id FROM documents WHERE id = ?").get(r);return{label:o?.title??null,database_id:o?.database_id??null}}if(t==="properties"){let o=e.query("SELECT name, database_id FROM properties WHERE id = ?").get(r);return{label:o?.name??null,database_id:o?.database_id??null}}if(t==="databases")return{label:Gg(e,r,n),database_id:r};if(t==="sites"){let o=e.query("SELECT title, name FROM sites WHERE id = ?").get(r);return{label:o?.title??o?.name??null,database_id:null}}return{label:null,database_id:null}}function Kg(e,t,r){for(let s of t)if(s.dataset==="doc_blocks"&&s.row_id===r&&s.col==="doc_id"&&s.value)return JSON.parse(s.value);let n=e.query("SELECT doc_id FROM doc_blocks WHERE id = ?").get(r);if(n?.doc_id)return n.doc_id;let o=e.query("SELECT value FROM crdt_changes WHERE dataset = 'doc_blocks' AND row_id = ? AND col = 'doc_id' AND value IS NOT NULL ORDER BY hlc DESC LIMIT 1").get(r);return o?JSON.parse(o.value):null}function Vg(e,t,r){let n=new Map,o=(m,x)=>{let D=m+"\x00"+x,j=n.get(D);if(!j)j={dataset:m,id:x,created:!1,deleted:!1,fields:new Set,blocksChanged:new Set,blocksDeleted:new Set},n.set(D,j);return j};for(let m of t){if(m.dataset==="doc_blocks"){let D=Kg(e,t,m.row_id),j=D?o("documents",D):o("doc_blocks",m.row_id);if(m.col==="__deleted"&&Wt(m.value))j.blocksDeleted.add(m.row_id);else j.blocksChanged.add(m.row_id);continue}let x=o(m.dataset,m.row_id);if(m.col==="created_hlc"||m.dataset==="properties"&&m.col==="database_id")x.created=!0;else if(m.col==="__deleted")x.deleted=Wt(m.value);if(!Wg(m.dataset,m.col))x.fields.add(m.col)}let s=[...n.values()].map((m)=>{let{label:x,database_id:D}=Gv(e,m.dataset,m.id,r);return{dataset:m.dataset,id:m.id,label:x,database_id:D,database_label:m.dataset==="databases"?null:Gg(e,D,r),created:m.created,deleted:m.deleted,fields:m.fields.size,blocks_changed:[...m.blocksChanged].filter((j)=>!m.blocksDeleted.has(j)).length,blocks_deleted:m.blocksDeleted.size}}),a=t[t.length-1],{actor:u,kind:_}=Vr(a.txn);return{version:a.hlc,at:Tn(a.hlc),node_id:a.node_id,kind:_,actor:u,txn:a.txn,changes:t.length,entities:s}}function Jg(e,t={}){let r=Math.max(1,Math.min(t.limit??50,200));if(t.actor!==void 0&&!Xc.test(t.actor))throw new Z("invalid_input",`invalid actor tag: ${t.actor}`);let n=Math.min(Math.max(r*40,800),8000),o=Zg(),s=[...o.sql],a=[...o.params];if(t.before)s.push("hlc < ?"),a.push(t.before);if(t.actor!==void 0)s.push("txn >= ?","txn < ?"),a.push(t.actor+"/",t.actor+"0");let u=e.query(`SELECT ${It} FROM crdt_changes
546
+ ${s.length?"WHERE "+s.join(" AND "):""}
547
+ ORDER BY hlc DESC LIMIT ?`).all(...a,n),_=u.length<n;u.reverse();let m=kn(u);if(!_&&m.length>0){let ge=m[0][0].txn;if(ge!==null)m[0]=ec(e,ge,t.before);else if(m.length>1)m=m.slice(1)}let x={dbNames:new Map,titleProps:new Map},D=m.reverse(),j=D.slice(0,r),Y=j.map((ge)=>Vg(e,ge,x)),de=(!_||D.length>r)&&j.length?j[j.length-1][0].hlc:null;return{entries:Y,next:de}}function Xg(e,t,r,n,o){return e.query("SELECT value FROM crdt_changes WHERE dataset = ? AND row_id = ? AND col = ? AND hlc < ? ORDER BY hlc DESC LIMIT 1").get(t,r,n,o)??void 0}function Kv(e,t,r){if(t!=="records")return r;return e.query("SELECT name FROM properties WHERE id = ?").get(r)?.name??r}function Qg(e,t){let r=ec(e,t);if(!r.length)throw new Z("not_found",`no change group: ${t}`);let o=Vg(e,r,{dbNames:new Map,titleProps:new Map}),s=new Map,a=new Map;for(let m of r){let x=m.dataset+"\x00"+m.row_id+"\x00"+m.col;if(!s.has(x))s.set(x,m);a.set(x,m)}let u=o.entities.map((m)=>({...m,diffs:[],block_diffs:[]})),_=new Map(u.map((m)=>[m.dataset+"\x00"+m.id,m]));for(let[m,x]of a){let D=s.get(m),j=(Y)=>{let _e={col:x.dataset==="doc_blocks"?x.row_id:x.col,label:Y},de=Xg(e,x.dataset,x.row_id,x.col,D.hlc);if(de&&de.value!==null)_e.before=JSON.parse(de.value);if(x.value!==null)_e.after=JSON.parse(x.value);return _e};if(x.dataset==="doc_blocks"){if(x.col!=="text")continue;let Y=Kg(e,r,x.row_id);_.get(Y?"documents\x00"+Y:"doc_blocks\x00"+x.row_id)?.block_diffs.push(j("block"));continue}if(Wg(x.dataset,x.col))continue;_.get(x.dataset+"\x00"+x.row_id)?.diffs.push(j(Kv(e,x.dataset,x.col)))}return{...o,entities:u}}var Yg=ze(function(t,r){let n=ec(t,r);if(!n.length)throw new Z("not_found",`no change group: ${r}`);let o=new Map;for(let m of n){let x=m.dataset+"\x00"+m.row_id,D=o.get(x);if(!D)o.set(x,D=[]);D.push(m)}let s=0,a=0,u=0,_=0;for(let m of o.values()){let{dataset:x,row_id:D}=m[0],j=m[0].hlc;if(!t.query("SELECT 1 AS x FROM crdt_changes WHERE dataset = ? AND row_id = ? AND hlc < ? LIMIT 1").get(x,D,j)){if(t.query("SELECT 1 AS x FROM crdt_changes WHERE dataset = ? AND row_id = ? AND txn IS NOT ? LIMIT 1").get(x,D,r)){_++;continue}let ge=[...m].reverse().find((Le)=>Le.col==="__deleted");if(ge&&Wt(ge.value))continue;be(t,x,D,"__deleted",1),u++;continue}let _e=new Map;for(let de of m)if(!_e.has(de.col))_e.set(de.col,de);for(let[de,ge]of _e){let Le=t.query("SELECT value, txn FROM crdt_changes WHERE dataset = ? AND row_id = ? AND col = ? ORDER BY hlc DESC LIMIT 1").get(x,D,de);if(Le.txn!==r){a++;continue}let Ze=Xg(t,x,D,de,ge.hlc),$e=Ze===void 0?de==="__deleted"?0:void 0:Ze.value===null?void 0:JSON.parse(Ze.value);if(($e===void 0?null:JSON.stringify($e))===Le.value)continue;be(t,x,D,de,$e),s++}}return{txn:r,changed:s>0||u>0,restored_registers:s,skipped_registers:a,removed_rows:u,skipped_rows:_}},"revert");Po();dt();var th="('text','url','select','multi_select','date')",rh="1";function tc(e,t){return e.query("SELECT value FROM meta WHERE key = ?").get(t)?.value??null}function rc(e,t,r){e.query("INSERT INTO meta (key, value) VALUES (?, ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value").run(t,r)}function Vv(e,t){e.query("DELETE FROM search_fts WHERE kind = 'document' AND id = ?").run(t);let r=e.query("SELECT id, title, body, database_id FROM documents WHERE id = ? AND __deleted = 0").get(t);if(r)e.query("INSERT INTO search_fts (kind, id, database_id, title, body) VALUES ('document', ?, ?, ?, ?)").run(r.id,r.database_id,r.title??"",r.body??"")}function nc(e,t,...r){return e.query(`SELECT r.id AS id, r.database_id AS database_id, group_concat(je.value, ' ') AS body
536
548
  FROM records r, json_each(r.data) je
537
549
  JOIN properties p ON p.id = je.key AND p.__deleted = 0
538
- WHERE ${t} AND r.__deleted = 0 AND p.type IN ${xE}
539
- GROUP BY r.id`).all(...n)}function S_(e,t){e.query("INSERT INTO search_fts (kind, id, database_id, title, body) VALUES ('record', ?, ?, ?, ?)").run(t.id,t.database_id,t.id,t.body??"")}function BR(e,t){e.query("DELETE FROM search_fts WHERE kind = 'record' AND id = ?").run(t);let n=w_(e,"r.id = ?",t)[0];if(n)S_(e,n)}function WR(e,t){e.query("DELETE FROM search_fts WHERE kind = 'record' AND database_id = ?").run(t);for(let n of w_(e,"r.database_id = ?",t))S_(e,n)}function HR(e){e.query("DELETE FROM search_fts").run();for(let n of e.query("SELECT id, title, body, database_id FROM documents WHERE __deleted = 0").all())e.query("INSERT INTO search_fts (kind, id, database_id, title, body) VALUES ('document', ?, ?, ?, ?)").run(n.id,n.database_id,n.title??"",n.body??"");for(let n of w_(e,"1 = 1"))S_(e,n);let t=e.query("SELECT MAX(rowid) AS m FROM crdt_changes").get().m??0;b_(e,"search_seq",String(t)),b_(e,"search_index_version",kE)}function ZR(e){let t=Number(v_(e,"search_seq")??"0"),{changes:n,cursor:i}=Br(e,t);if(n.length===0)return;let r=new Set,o=new Set,s=new Set;for(let c of n)switch(c.dataset){case"documents":r.add(c.row_id);break;case"doc_blocks":{let d=e.query("SELECT doc_id FROM doc_blocks WHERE id = ?").get(c.row_id);if(d?.doc_id)r.add(d.doc_id);break}case"records":o.add(c.row_id);break;case"properties":if(c.col==="type"||c.col==="__deleted"||c.col==="database_id"){let d=e.query("SELECT database_id FROM properties WHERE id = ?").get(c.row_id);if(d?.database_id)s.add(d.database_id)}break}for(let c of r)MR(e,c);for(let c of s)WR(e,c);for(let c of o){let d=e.query("SELECT database_id FROM records WHERE id = ?").get(c);if(d?.database_id&&s.has(d.database_id))continue;BR(e,c)}b_(e,"search_seq",String(i))}function VR(e){if(!ay(e))return!1;let t=v_(e,"search_index_version"),n=v_(e,"search_seq");return e.transaction(()=>{if(t!==kE||n===null)HR(e);else ZR(e)})(),!0}function GR(e,t,n){let i=t.split(/\s+/).filter(Boolean).map((o)=>`"${o.replace(/"/g,'""')}"`).join(" ");if(!i)return[];return e.query("SELECT kind, id, database_id, title, snippet(search_fts, -1, '[', ']', '…', 10) AS snippet FROM search_fts WHERE search_fts MATCH ? ORDER BY rank LIMIT ?").all(i,n).map((o)=>({type:o.kind,id:o.id,database_id:o.database_id,title:o.title||void 0,snippet:o.snippet}))}function EE(e,t){let n=e.toLowerCase().indexOf(t.toLowerCase());if(n<0)return e.slice(0,80);let i=Math.max(0,n-30);return`${i>0?"…":""}${e.slice(i,n+t.length+50)}…`}function KR(e,t,n){let i=`%${t.replace(/[%_\\]/g,"\\$&")}%`,r=[],o=e.query("SELECT id, title, body, database_id FROM documents WHERE __deleted = 0 AND (title LIKE ? ESCAPE '\\' OR body LIKE ? ESCAPE '\\') LIMIT ?").all(i,i,n);for(let s of o)r.push({type:"document",id:s.id,database_id:s.database_id,title:s.title??void 0,snippet:EE(s.body||s.title||"",t)});if(r.length<n){let s=e.query(`SELECT r.id AS id, r.database_id AS database_id, group_concat(je.value, ' ') AS body
550
+ WHERE ${t} AND r.__deleted = 0 AND p.type IN ${th}
551
+ GROUP BY r.id`).all(...r)}function oc(e,t){e.query("INSERT INTO search_fts (kind, id, database_id, title, body) VALUES ('record', ?, ?, ?, ?)").run(t.id,t.database_id,t.id,t.body??"")}function Jv(e,t){e.query("DELETE FROM search_fts WHERE kind = 'record' AND id = ?").run(t);let r=nc(e,"r.id = ?",t)[0];if(r)oc(e,r)}function Xv(e,t){e.query("DELETE FROM search_fts WHERE kind = 'record' AND database_id = ?").run(t);for(let r of nc(e,"r.database_id = ?",t))oc(e,r)}function Qv(e){e.query("DELETE FROM search_fts").run();for(let r of e.query("SELECT id, title, body, database_id FROM documents WHERE __deleted = 0").all())e.query("INSERT INTO search_fts (kind, id, database_id, title, body) VALUES ('document', ?, ?, ?, ?)").run(r.id,r.database_id,r.title??"",r.body??"");for(let r of nc(e,"1 = 1"))oc(e,r);let t=e.query("SELECT MAX(rowid) AS m FROM crdt_changes").get().m??0;rc(e,"search_seq",String(t)),rc(e,"search_index_version",rh)}function Yv(e){let t=Number(tc(e,"search_seq")??"0"),{changes:r,cursor:n}=br(e,t);if(r.length===0)return;let o=new Set,s=new Set,a=new Set;for(let u of r)switch(u.dataset){case"documents":o.add(u.row_id);break;case"doc_blocks":{let _=e.query("SELECT doc_id FROM doc_blocks WHERE id = ?").get(u.row_id);if(_?.doc_id)o.add(_.doc_id);break}case"records":s.add(u.row_id);break;case"properties":if(u.col==="type"||u.col==="__deleted"||u.col==="database_id"){let _=e.query("SELECT database_id FROM properties WHERE id = ?").get(u.row_id);if(_?.database_id)a.add(_.database_id)}break}for(let u of o)Vv(e,u);for(let u of a)Xv(e,u);for(let u of s){let _=e.query("SELECT database_id FROM records WHERE id = ?").get(u);if(_?.database_id&&a.has(_.database_id))continue;Jv(e,u)}rc(e,"search_seq",String(n))}function eE(e){if(!jl(e))return!1;let t=tc(e,"search_index_version"),r=tc(e,"search_seq");return e.transaction(()=>{if(t!==rh||r===null)Qv(e);else Yv(e)})(),!0}function tE(e,t,r){let n=t.split(/\s+/).filter(Boolean).map((s)=>`"${s.replace(/"/g,'""')}"`).join(" ");if(!n)return[];return e.query("SELECT kind, id, database_id, title, snippet(search_fts, -1, '[', ']', '…', 10) AS snippet FROM search_fts WHERE search_fts MATCH ? ORDER BY rank LIMIT ?").all(n,r).map((s)=>({type:s.kind,id:s.id,database_id:s.database_id,title:s.title||void 0,snippet:s.snippet}))}function eh(e,t){let r=e.toLowerCase().indexOf(t.toLowerCase());if(r<0)return e.slice(0,80);let n=Math.max(0,r-30);return`${n>0?"…":""}${e.slice(n,r+t.length+50)}…`}function rE(e,t,r){let n=`%${t.replace(/[%_\\]/g,"\\$&")}%`,o=[],s=e.query("SELECT id, title, body, database_id FROM documents WHERE __deleted = 0 AND (title LIKE ? ESCAPE '\\' OR body LIKE ? ESCAPE '\\') LIMIT ?").all(n,n,r);for(let a of s)o.push({type:"document",id:a.id,database_id:a.database_id,title:a.title??void 0,snippet:eh(a.body||a.title||"",t)});if(o.length<r){let a=e.query(`SELECT r.id AS id, r.database_id AS database_id, group_concat(je.value, ' ') AS body
540
552
  FROM records r, json_each(r.data) je
541
553
  JOIN properties p ON p.id = je.key AND p.__deleted = 0
542
- WHERE r.__deleted = 0 AND p.type IN ${xE}
543
- GROUP BY r.id HAVING body LIKE ? ESCAPE '\\' LIMIT ?`).all(i,n-r.length);for(let c of s)r.push({type:"record",id:c.id,database_id:c.database_id,snippet:EE(c.body||"",t)})}return r}function TE(e,t,n={}){let i=n.limit??20;if(VR(e))try{let r=GR(e,t,i);if(r.length)return r}catch{}return KR(e,t,i)}Pi();Vo();$n();Ai();In();ut();function XR(e){if(e===401)return"auth";if(e===404)return"not_found";if(e===429)return"rate_limited";return"network"}function Tc(e,t,n=fetch){let i=e.replace(/\/+$/,"");async function r(s,c={},d=!0){let f;try{f=await n(i+s,{...c,signal:c.signal??AbortSignal.timeout(15000),headers:{...c.body!=null?{"content-type":"application/json"}:{},...d?{authorization:`Bearer ${t}`}:{},...c.headers}})}catch(x){throw new H("network",`inbox host unreachable: ${x.message}`)}let b=await f.json().catch(()=>null);if(!f.ok)throw new H(XR(f.status),`inbox host: ${b?.error??`HTTP ${f.status}`}`);return b}let o=(s)=>`/v1/inbox/${encodeURIComponent(s)}`;return{async register(s,c){await r(o(s),{method:"PUT",body:JSON.stringify(c)})},async unregister(s){return(await r(o(s),{method:"DELETE"})).deleted},async listEnvelopes(s,c,d){return(await r(`${o(s)}/envelopes?after_id=${c}&limit=${d}`)).rows},async ackEnvelopes(s,c){if(c.length===0)return 0;return(await r(`${o(s)}/envelopes`,{method:"DELETE",body:JSON.stringify({ids:c})})).deleted},async stats(s){return r(`${o(s)}/stats`)},async health(){return r("/health",{},!1)},async ownerHealth(){return r("/owner/health")}}}ut();async function $E(e,t,n){let i;try{let c=new URL(e.trim());if(c.protocol!=="https:"&&c.hostname!=="localhost")throw Error(`${n==="edge"?"Edge":"Inbox"} endpoint must use HTTPS`);i=c.toString().replace(/\/+$/,"")}catch(c){throw new H("invalid_input",c.message||"invalid Edge endpoint")}let r=t.trim();if(!r)throw new H("invalid_input","owner token is required");let o=Tc(i,r),s=n==="edge"?await o.ownerHealth():await o.health();if(!s.ok)throw new H("network",`${n==="edge"?"Edge":"Inbox host"} at ${i} is not healthy`);if(n==="edge"&&s.version!==rn)throw new H("conflict",`Edge version ${s.version??"unknown"} is incompatible; expected ${rn}`);return{endpoint:i,token:r,version:s.version,capabilities:n==="edge"?["inbox","room"]:["inbox"]}}var I_=15000,JE=2000,Or=self.location.origin,Re=null,_r={state:"booting",paired:!1,node:null};function Ac(e){self.postMessage(e)}function jr(e){_r={..._r,...e},Ac({event:"status",status:_r})}function $t(){if(!Re)throw new H("network","本地副本未就绪");return Re}var R_=null,QE=null;function YE(){let e=new R_.OpfsSAHPoolDb("/metahub.db");QE=e;let t=new Mc(e);fl(t),Re=t}var gA=(async()=>{R_=await(await Y_()).installOpfsSAHPoolVfs({name:"metahub-replica"}),YE();let t=Re,n=nt(t),i=yt(t,Or)?.token!=null,r=Oc(t);if(r)Pc();jr({state:"ready",node:n,paired:i,bucketDirty:r})})().catch((e)=>{throw jr({state:"error",error:e instanceof Error?e.message:String(e)}),e}),Pn=null,XE=new Set;function mA(e){if(yt(e,Or)?.token!=null)return!0;return Ct(e).some((t)=>t.enabled===1&&(t.kind==="s3"||t.kind==="room"))}function nn(e){return Ct(e).filter((t)=>t.enabled===1&&t.kind==="s3")}function _A(e){return Ct(e).filter((t)=>t.enabled===1&&t.kind==="room")}async function A_(e,t){let n=await p_(t).catch(()=>{return});if(n)return new Uint8Array(n.bytes);for(let i of nn($t())){if(!i.config)continue;let r=await Om(JSON.parse(i.config),t).catch(()=>null);if(r&&await f_(r,t))return new Uint8Array(r)}return null}Hm(A_);Qh(A_);function Oc(e){let t=nt(e);return nn(e).some((n)=>Br(e,n.push_cursor,{onlyNode:t}).changes.length>0)}var hA=25,ex=1e4,Ui=null;function Pc(){if(Ui)return;Ui=setTimeout(()=>{if(Ui=null,navigator.onLine!==!1)Nn(!0)},ex)}function D_(){if(!Ui)return;clearTimeout(Ui),Ui=null}function yA(){let e=Re;if(!e)return;let t=nn(e).length>0&&Oc(e);if(jr({bucketDirty:t,bucketError:void 0}),t)Pc();else D_()}function vA(e,t){e.query(`UPDATE peers SET
554
+ WHERE r.__deleted = 0 AND p.type IN ${th}
555
+ GROUP BY r.id HAVING body LIKE ? ESCAPE '\\' LIMIT ?`).all(n,r-o.length);for(let u of a)o.push({type:"record",id:u.id,database_id:u.database_id,snippet:eh(u.body||"",t)})}return o}function nh(e,t,r={}){let n=r.limit??20;if(eE(e))try{let o=tE(e,t,n);if(o.length)return o}catch{}return rE(e,t,n)}vn();ao();Wr();wn();mi();Ye();function oE(e){if(e===401)return"auth";if(e===404)return"not_found";if(e===429)return"rate_limited";return"network"}function Ri(e,t,r=fetch){let n=e.replace(/\/+$/,"");async function o(a,u={},_=!0){let m;try{m=await r(n+a,{...u,signal:u.signal??AbortSignal.timeout(15000),headers:{...u.body!=null?{"content-type":"application/json"}:{},..._?{authorization:`Bearer ${t}`}:{},...u.headers}})}catch(D){throw new Z("network",`inbox host unreachable: ${D.message}`)}let x=await m.json().catch(()=>null);if(!m.ok)throw new Z(oE(m.status),`inbox host: ${x?.error??`HTTP ${m.status}`}`);return x}let s=(a)=>`/v1/inbox/${encodeURIComponent(a)}`;return{async register(a,u){await o(s(a),{method:"PUT",body:JSON.stringify(u)})},async unregister(a){return(await o(s(a),{method:"DELETE"})).deleted},async listEnvelopes(a,u,_){return(await o(`${s(a)}/envelopes?after_id=${u}&limit=${_}`)).rows},async ackEnvelopes(a,u){if(u.length===0)return 0;return(await o(`${s(a)}/envelopes`,{method:"DELETE",body:JSON.stringify({ids:u})})).deleted},async stats(a){return o(`${s(a)}/stats`)},async health(){return o("/health",{},!1)},async ownerHealth(){return o("/owner/health")}}}Ye();async function oh(e,t,r){let n;try{let u=new URL(e.trim());if(u.protocol!=="https:"&&u.hostname!=="localhost")throw Error(`${r==="edge"?"Edge":"Inbox"} endpoint must use HTTPS`);n=u.toString().replace(/\/+$/,"")}catch(u){throw new Z("invalid_input",u.message||"invalid Edge endpoint")}let o=t.trim();if(!o)throw new Z("invalid_input","owner token is required");let s=Ri(n,o),a=r==="edge"?await s.ownerHealth():await s.health();if(!a.ok)throw new Z("network",`${r==="edge"?"Edge":"Inbox host"} at ${n} is not healthy`);if(r==="edge"&&a.version!==Tr)throw new Z("conflict",`Edge version ${a.version??"unknown"} is incompatible; expected ${Tr}`);return{endpoint:n,token:o,version:a.version,capabilities:r==="edge"?["inbox","room"]:["inbox"]}}var lc=15000,hh=2000,lr=self.location.origin,xe=null,Lt={state:"booting",paired:!1,node:null};function Di(e){self.postMessage(e)}function tr(e){Lt={...Lt,...e},Di({event:"status",status:Lt})}function Et(){if(!xe)throw new Z("network","本地副本未就绪");return xe}var dc=null,yh=null;function bh(){let e=new dc.OpfsSAHPoolDb("/metahub.db");yh=e;let t=new zi(e);fs(t),xe=t;let r=uE();Uc(t,{app:"web",platform:r,form:"browser",defaultLabel:dE(r)})}function uE(){let e=self.navigator,t=(e.userAgentData?.platform??e.platform??"").toLowerCase(),r=(e.userAgent??"").toLowerCase();if(t.includes("iphone")||t.includes("ipad")||/iphone|ipad/.test(r))return"ios";if(t.includes("android")||r.includes("android"))return"android";if(t.includes("mac"))return"macos";if(t.includes("win"))return"windows";if(t.includes("linux")||t.includes("cros"))return"linux";return"web"}function dE(e){let t=self.navigator?.userAgent??"",r=/edg\//i.test(t)?"Edge":/firefox\//i.test(t)?"Firefox":/chrome\//i.test(t)?"Chrome":/safari\//i.test(t)?"Safari":"浏览器",n={macos:"macOS",windows:"Windows",linux:"Linux",ios:"iOS",android:"Android",web:""}[e??"web"]??"";return n?`${r} · ${n}`:r}var fE=(async()=>{dc=await(await Cc()).installOpfsSAHPoolVfs({name:"metahub-replica"}),bh();let t=xe,r=je(t),n=vt(t,lr)?.token!=null,o=Oi(t);if(o)Ii();tr({state:"ready",node:r,paired:n,bucketDirty:o})})().catch((e)=>{throw tr({state:"error",error:e instanceof Error?e.message:String(e)}),e}),Jr=null,mh=new Set;function pE(e){if(vt(e,lr)?.token!=null)return!0;return Ht(e).some((t)=>t.enabled===1&&(t.kind==="s3"||t.kind==="room"))}function kr(e){return Ht(e).filter((t)=>t.enabled===1&&t.kind==="s3")}function _E(e){return Ht(e).filter((t)=>t.enabled===1&&t.kind==="room")}async function fc(e,t){let r=await Va(t).catch(()=>{return});if(r)return new Uint8Array(r.bytes);for(let n of kr(Et())){if(!n.config)continue;let o=await pa(JSON.parse(n.config),t).catch(()=>null);if(o&&await Ka(o,t))return new Uint8Array(o)}return null}B_(fc);ql(fc);function Oi(e){let t=je(e);return kr(e).some((r)=>br(e,r.push_cursor,{onlyNode:t}).changes.length>0)}var gE=25,wh=1e4,Rn=null;function Ii(){if(Rn)return;Rn=setTimeout(()=>{if(Rn=null,navigator.onLine!==!1)Xr(!0)},wh)}function uc(){if(!Rn)return;clearTimeout(Rn),Rn=null}function hE(){let e=xe;if(!e)return;let t=kr(e).length>0&&Oi(e);if(tr({bucketDirty:t,bucketError:void 0}),t)Ii();else uc()}function mE(e,t){e.query(`UPDATE peers SET
544
556
  pull_cursor = ?,
545
557
  push_cursor = ?,
546
558
  token = ?,
@@ -553,4 +565,4 @@ if(z instanceof ArrayBuffer)z=new Uint8Array(z);else if(z instanceof Function)re
553
565
  last_error = ?,
554
566
  kind = ?,
555
567
  config = ?
556
- WHERE url = ?`).run(t.pull_cursor,t.push_cursor,t.token,t.label,t.node_id,t.enabled,t.last_sync_at,t.last_success_at,t.last_status,t.last_error,t.kind,t.config,t.url)}async function bA(e){let t=nn(e);if(!t.length)return;let n;try{n=await YS()}catch{return}for(let i of n){let r=!1;for(let o of t){if(!o.config)continue;try{await zw(JSON.parse(o.config),i.hash,new Uint8Array(i.bytes)),r=!0;break}catch{}}if(r)await rE(i.hash,i.bytes,i.content_type).catch(()=>{}),await eE(i.hash).catch(()=>{})}}async function Nn(e=!1){if(!Re)return{pushed:0,pulled:0,ok:!0};let t=Re;if(!mA(t))return{pushed:0,pulled:0,ok:!0};if(Pn)return Pn;return Pn=(async()=>{let n=t.query("SELECT MAX(rowid) AS m FROM crdt_changes").get().m??0,i=0,r=0,o=[],s=[],c=nn(t).length>0;if(c&&e)jr({bucketSyncing:!0,bucketError:void 0});let d=!1;if(yt(t,Or)?.token!=null)try{let x=0;for(;;){let P=yt(t,Or)?.pull_cursor??0,F=await tc(t,Or,{pullLimit:JE});if(i+=F.pushed,r+=F.pulled,x+=F.received??F.pulled,(F.received??F.pulled)<JE)break;if((yt(t,Or)?.pull_cursor??0)===P)break;jr({state:"hydrating",hydrated:x})}d=!0}catch(x){o.push(`server: ${x instanceof Error?x.message:String(x)}`)}for(let x of nn(t)){let P=d&&!e&&XE.has(x.url),F=await i_(t,x.url,{storage:{minPushChanges:hA,maxPushAgeMs:ex,forcePush:e,pull:!P}});if(F.ok){if(i+=F.pushed??0,r+=F.pulled??0,!P)XE.add(x.url)}else{let ce=`${x.label??x.url}: ${F.error}`;o.push(ce),s.push(ce)}}for(let x of _A(t)){let P=await i_(t,x.url);if(P.ok)i+=P.pushed??0,r+=P.pulled??0;else o.push(`${x.label??x.url}: ${P.error}`)}if(!d&&c)await bA(t);await Go(t);let f=c?Oc(t):!1;if(f&&s.length===0)Pc();else D_();let b=t.query("SELECT DISTINCT dataset, row_id FROM crdt_changes WHERE rowid > ?").all(n);if(jr({state:"ready",hydrated:void 0,lastSync:{at:Date.now(),ok:o.length===0,pushed:i,pulled:r,error:o.join("; ")||void 0},bucketDirty:f,bucketSyncing:!1,bucketError:s.join("; ")||void 0}),b.length||i)Ac({event:"synced",datasets:[...new Set(b.map((x)=>x.dataset))],rowIds:b.map((x)=>x.row_id),pushed:i,pulled:r});return{pushed:i,pulled:r,ok:o.length===0}})().finally(()=>{if(Re&&nn(Re).length>0&&!_r.bucketSyncing)if(Oc(Re)&&!_r.bucketError)Pc();else D_();Pn=null}),Pn}var wA=150000,Yo=I_,SA=180000;function EA(){if(!Re)return!1;if(yt(Re,Or)?.token!=null)return!1;return Ct(Re).some((e)=>e.enabled===1&&(e.kind==="s3"||e.kind==="room"))}async function tx(){try{if(navigator.onLine!==!1&&EA()){let e=await Nn();Yo=e.pushed>0||e.pulled>0?I_:Math.min(Yo*2,wA)}else Yo=I_}finally{setTimeout(tx,Yo)}}setTimeout(tx,Yo);async function xA(e){let t=$t(),n={code:e,node_id:nt(t),grant:kt(32)},i=await fetch(new URL(hw,Or),{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(n)});if(!i.ok)throw new H(i.status===401||i.status===403?"auth":"network",`pairing failed: ${i.status} ${await i.text()}`);let r=await i.json();return FS(t,{url:Or,token:r.grant,node_id:r.node_id,label:"server"}),jr({paired:!0}),Nn(),{node_id:r.node_id}}function kA(){let e=Nt($t(),Or);return jr({paired:!1}),{ok:e}}var rx={status:()=>_r,pair:(e)=>xA(e),unpair:()=>kA(),sync:()=>Nn(!0).then(()=>_r.lastSync),addStorageReplica:async(e,t)=>{let n=$t(),i={publish:!0,priority:10,...e};if(i.encrypt)i.masterKey=await Cm(Xt(i),i,t)??void 0;let r=Xn(i.endpoint,i.bucket,i.prefix);if(Pn)await Pn;let o=yt(n,r);if(MS(n,{url:r,config:i,label:i.bucket}),await Nn(!0),_r.bucketError){if(o)vA(n,o);else Nt(n,r);throw new H("network",`storage peer first sync failed: ${_r.bucketError}`)}return{url:r,lastSync:_r.lastSync}},removeStorageReplica:(e)=>({ok:Nt($t(),e)}),storagePeerConfig:(e)=>{let t=yt(Re,e);return t?.config?JSON.parse(t.config):null},dataMap:()=>HS($t()),listStoragePeers:()=>Ct(Re).filter((e)=>e.kind==="s3").map((e)=>({url:e.url,label:e.label,enabled:e.enabled===1,status:e.last_status,error:e.last_error,lastSyncAt:e.last_success_at,lastAttemptAt:e.last_sync_at})),edgeStatus:async()=>{let e=$t(),t=Xo(e),n=Ct(e).filter((i)=>i.kind==="room"&&i.config).map((i)=>{let r=JSON.parse(i.config);return{slug:r.slug,url:wr(r),status:i.last_status,lastSuccessAt:i.last_success_at,error:i.last_error}});if(!t)return{configured:!1,expectedVersion:rn,aligned:!1,reachable:!1,managed:!1,rooms:n,defaults:null,pending:null};try{let i=await Tc(t.endpoint,t.token).ownerHealth();return{configured:!0,endpoint:t.endpoint,capabilities:zi(t),version:i.version??null,expectedVersion:rn,aligned:i.version===rn,reachable:i.ok,managed:!1,rooms:n,defaults:null,pending:null}}catch(i){return{configured:!0,endpoint:t.endpoint,capabilities:zi(t),version:null,expectedVersion:rn,aligned:!1,reachable:!1,error:i.message,managed:!1,rooms:n,defaults:null,pending:null}}},connectEdge:async(e,t)=>{let n=await $E(e,t,"edge");return x_($t(),{endpoint:n.endpoint,token:n.token,capabilities:n.capabilities,deployedVersion:n.version}),{...await rx.edgeStatus(),status:"connected",wired:[],warnings:[]}},disconnectEdge:()=>{let e=$t();if(Ct(e).some((t)=>t.kind==="room"))throw new H("conflict","请先撤销所有 Edge Room 再断开");return x_(e,null),{ok:!0}},listLocalShares:(e)=>{let t=$t();return(e?ac(t,e):sc(t)).map((i)=>{let r=yt(t,`room://${i.slug}`),o=r?.config?JSON.parse(r.config):null,s=o?.lifecycle??"active",c=o&&s==="active"?wr(o):void 0,d=i.kind==="site"?tn(t,i.target_id):null;return{slug:i.slug,kind:i.kind,target_id:i.target_id,title:d?.title||d?.name||i.target_id,permission:i.permission,transport:"server",source:o?s==="cleanup_pending"?"Edge Room(撤销待确认)":"Edge Room":"本机",sourceKind:o?"room":"server",hosting:o?"room":"server",...o?{lifecycle:s}:{},expiresAt:i.expires_at,hasPassword:!!i.pw_hash,url:c}})},createLocalShare:async(e)=>{let t=$t();if(e.kind!=="site"||e.hosting!=="room")throw new H("invalid_input","此设备不驻留在线托管,目前仅支持通过 Edge 发布站点");let n=Xo(t);if(!n)throw new H("invalid_input","请先连接 Edge");if(!zi(n).includes("room"))throw new H("conflict","当前 Edge 仅支持 inbox,不支持 Room 托管");let i=tn(t,e.ref),r=e.password?await cc(e.password):null,o=oc(t,{kind:"site",target_id:i.id,permission:e.permission,pwSalt:r?.salt,pwHash:r?.hash,expiresAt:e.expiresMs!=null?Date.now()+e.expiresMs:null,grants:e.grants,requestId:e.requestId});try{let s=await Vm(t,o,n,A_),c=Ci(t,{siteId:i.id,audience:"link",hosting:"edge",targetRef:o.slug,canonicalUrl:s.url,policy:{permission:o.permission,hasPassword:!!o.pw_hash,expiresAt:o.expires_at}});return Tt(t,{channelId:c.id,status:"ready",lastVerifiedAt:Date.now()}),{slug:o.slug,kind:"site",permission:o.permission,transport:"server",hosting:"room",url:s.url,expiresAt:o.expires_at,source:"Edge Room"}}catch(s){if(await yc(t,o.slug)!=="cleanup_pending")or(t,o.slug);throw s}},revokeLocalShare:async(e)=>{let t=$t();if(!pr(t,e))return{ok:!1,status:"not_found"};let n=sr(t).filter((o)=>o.audience==="link"&&o.target_ref===e&&o.desired_state==="active");for(let o of n)Ar(t,o.id,"revoked");if(await yc(t,e)==="cleanup_pending"){for(let o of n)Tt(t,{channelId:o.id,status:"cleanup_pending",lastError:"Edge 尚未确认销毁 Room"});return{ok:!1,status:"cleanup_pending"}}let r=or(t,e);for(let o of n)Tt(t,{channelId:o.id,status:"revoked",lastVerifiedAt:Date.now()});return{ok:r,status:"revoked"}},renewLocalShare:async(e,t)=>{let n=$t(),{renewShareAction:i}=await Promise.resolve().then(() => (KE(),GE));return i(n,e,void 0,t)},listDatabases:()=>Ih(Re),createDatabase:(e)=>Yc(Re,e),updateDatabase:(e,t)=>Th(Re,e,t),duplicateDatabase:(e,t)=>$h(Re,e,t??{}),deleteDatabase:(e)=>({ok:Dh(Re,e)}),listDatabaseActivity:(e,t)=>cE(Re,e,{limit:t}),listAuditEntries:(e)=>vE(Re,e??{}),auditEntryDetail:(e)=>wE(Re,e),revertChangeGroup:(e)=>SE(Re,e),listProperties:(e)=>Yt(Re,e),addProperty:(e,t)=>ls(Re,e,t),updateProperty:(e,t)=>Qc(Re,e,t),setPropertyWidth:(e,t)=>yh(Re,e,t),removeProperty:(e)=>({ok:Sh(Re,e)}),renameSelectOption:(e,t,n)=>bh(Re,e,t,n),removeSelectOption:(e,t)=>wh(Re,e,t),listPropertyRevisions:(e)=>dE(Re,e),revertProperty:(e,t)=>fE(Re,e,t),listRecords:(e,t)=>Zn(Re,e,t??{}),createRecord:(e,t)=>us(Re,e,t),getRecord:(e)=>{let t=Hr(Re,e);if(!t)throw new H("not_found",`no such record: ${e}`);return t},updateRecord:(e,t)=>ds(Re,e,t),moveRecord:(e,t,n)=>jh(Re,e,t,n),deleteRecord:(e)=>({ok:Fh(Re,e)}),listRecordRevisions:(e)=>aE(Re,e),recordAtVersion:(e,t)=>h_(Re,e,t),recordFieldHistory:(e,t)=>pE(Re,e,t),revertRecord:(e,t)=>lE(Re,e,t),listDocuments:(e)=>Wh(Re,e??{}),createDocument:(e)=>cl(Re,e),getDocument:(e)=>{let t=mt(Re,e);if(!t)throw new H("not_found",`no such document: ${e}`);return{...t,version:Ut(Re,t.id)}},updateDocument:(e,t,n)=>{let i=_s(Re,e,t,{ifMatch:n});return{...i,version:Ut(Re,i.id)}},duplicateDocument:(e,t)=>{let n=Kh(Re,e,{title:t?.title,parentId:t?.parent_id});return{...n,version:Ut(Re,n.id)}},moveDocument:(e,t,n)=>ul(Re,e,t,n),listDocumentRevisions:(e)=>iE(Re,e),documentAtVersion:(e,t)=>__(Re,e,t),revertDocument:(e,t,n)=>oE(Re,e,t,{ifMatch:n}),deleteDocument:(e)=>({ok:Jh(Re,e)}),siteFile:async(e,t)=>{if((_r.lastSync?.at?Date.now()-_r.lastSync.at:1/0)>SA)await Nn(!0).catch(()=>{});let i=Re,r;try{r=tn(i,e)}catch{return null}let o=vS(i,r.id,t,{spa:r.spa===1});if(!o)return null;return{...o.row,status:o.status,public:CS(i,r).serving}},blobBytes:async(e)=>{let t=await p_(e).catch(()=>{return});if(t)return t.bytes;for(let n of nn(Re)){if(!n.config)continue;try{let i=await Om(JSON.parse(n.config),e);if(i&&await f_(i,e))return new Uint8Array(i).buffer}catch{}}return null},blobRefs:()=>[...ry(Re)],listSites:()=>{let e=DS(Re);return yS(Re).map((t)=>({...t,file_count:e.get(t.id)??0}))},listSiteFiles:(e)=>bS(Re,e),createSite:(e)=>{if(e.visibility==="public")throw new H("invalid_input","此浏览器通过同步存储桶交换数据、不驻留在线;请在在线主节点管理公开发布");return{...ES(Re,e),file_count:0}},updateSite:(e,t)=>{if(t.visibility==="public")throw new H("invalid_input","此浏览器通过同步存储桶交换数据、不驻留在线;请在在线主节点管理公开发布");return{...OS(Re,e,t),file_count:RS(Re,e)}},deleteSite:async(e)=>{let t=PS(Re,e);return await Go(Re),{ok:t}},getSiteGrants:(e)=>({grants:Ur(tn(Re,e).public_grants)}),setSiteGrants:(e,t)=>{let n=tn(Re,e),i=xS(Re,n.id,t.tables.length?t:null);return AS(Re,n.id,Ur(i.public_grants)),{grants:Ur(i.public_grants)}},siteHosting:()=>({publicBaseUrl:null,scope:null,node:nt(Re),pendingRollbacks:[],publishedSites:[],channels:t_(Re)}),revokeSiteChannel:async(e)=>{let t=$t(),{needsReconcile:n}=ZS(t,e);if(n)await Go(t);let i=t_(t).find((r)=>r.id===e);if(!i)throw new H("not_found",`no such site channel: ${e}`);return i},putSiteFile:(e,t,n,i)=>{let{content:r,...o}=$S(Re,e,t,{data:n,contentType:i});return{...o,size:wS(Re,{encoding:o.encoding,content:r})}},deleteSiteFile:(e,t)=>({ok:IS(Re,e,t)}),reset:async()=>{try{QE?.close()}catch{}return Re=null,await R_?.wipeFiles(),YE(),jr({state:"ready",paired:!1,node:nt($t()),hydrated:void 0,lastSync:void 0}),{ok:!0}},nodes:()=>nh(Re),setNodeLabel:(e)=>(rh($t(),e),{node_id:nt($t()),label:Fn($t()),self:!0}),search:(e,t)=>TE(Re,e,{limit:t})},TA=/^(create|update|delete|move|duplicate|revert|add|remove|set|put)/,Rc=null;function $A(){if(Rc)clearTimeout(Rc);Rc=setTimeout(()=>{if(Rc=null,navigator.onLine!==!1)Nn()},800)}self.onmessage=async(e)=>{let{id:t,op:n,args:i}=e.data;try{await gA;let r=rx[n];if(!r)throw new H("invalid_input",`unknown op: ${n}`);let o=await r(...i??[]);if(Ac({id:t,ok:!0,result:o}),TA.test(n))yA(),$A()}catch(r){let o=r instanceof Error?r.message:String(r),s=Hn(r)??void 0;Ac({id:t,ok:!1,error:{message:o,code:s}})}};
568
+ WHERE url = ?`).run(t.pull_cursor,t.push_cursor,t.token,t.label,t.node_id,t.enabled,t.last_sync_at,t.last_success_at,t.last_status,t.last_error,t.kind,t.config,t.url)}async function yE(e){let t=kr(e);if(!t.length)return;let r;try{r=await Dg()}catch{return}for(let n of r){let o=!1;for(let s of t){if(!s.config)continue;try{await __(JSON.parse(s.config),n.hash,new Uint8Array(n.bytes)),o=!0;break}catch{}}if(o)await Pg(n.hash,n.bytes,n.content_type).catch(()=>{}),await Og(n.hash).catch(()=>{})}}async function Xr(e=!1){if(!xe)return{pushed:0,pulled:0,ok:!0};let t=xe;if(!pE(t))return{pushed:0,pulled:0,ok:!0};if(Jr)return Jr;return Jr=(async()=>{tr({syncing:!0});let r=t.query("SELECT MAX(rowid) AS m FROM crdt_changes").get().m??0,n=0,o=0,s=[],a=[],u=kr(t).length>0;if(u&&e)tr({bucketSyncing:!0,bucketError:void 0});let _=!1;if(vt(t,lr)?.token!=null)try{let D=0;for(;;){let j=vt(t,lr)?.pull_cursor??0,Y=await ii(t,lr,{pullLimit:hh});if(n+=Y.pushed,o+=Y.pulled,D+=Y.received??Y.pulled,(Y.received??Y.pulled)<hh)break;if((vt(t,lr)?.pull_cursor??0)===j)break;tr({state:"hydrating",hydrated:D})}_=!0}catch(D){s.push(`server: ${D instanceof Error?D.message:String(D)}`)}for(let D of kr(t)){let j=_&&!e&&mh.has(D.url),Y=await Ma(t,D.url,{storage:{minPushChanges:gE,maxPushAgeMs:wh,forcePush:e,pull:!j}});if(Y.ok){if(n+=Y.pushed??0,o+=Y.pulled??0,!j)mh.add(D.url)}else{let _e=`${D.label??D.url}: ${Y.error}`;s.push(_e),a.push(_e)}}for(let D of _E(t)){let j=await Ma(t,D.url);if(j.ok)n+=j.pushed??0,o+=j.pulled??0;else s.push(`${D.label??D.url}: ${j.error}`)}if(!_&&u)await yE(t);await Sn(t);let m=u?Oi(t):!1;if(m&&a.length===0)Ii();else uc();let x=t.query("SELECT DISTINCT dataset, row_id FROM crdt_changes WHERE rowid > ?").all(r);if(tr({state:"ready",hydrated:void 0,lastSync:{at:Date.now(),ok:s.length===0,pushed:n,pulled:o,error:s.join("; ")||void 0},bucketDirty:m,bucketSyncing:!1,syncing:!1,bucketError:a.join("; ")||void 0}),x.length||n)Di({event:"synced",datasets:[...new Set(x.map((D)=>D.dataset))],rowIds:x.map((D)=>D.row_id),pushed:n,pulled:o});return{pushed:n,pulled:o,ok:s.length===0}})().finally(()=>{if(Lt.syncing)tr({syncing:!1});if(xe&&kr(xe).length>0&&!Lt.bucketSyncing)if(Oi(xe)&&!Lt.bucketError)Ii();else uc();Jr=null}),Jr}var bE=150000,po=lc,wE=180000;function vE(){if(!xe)return!1;if(vt(xe,lr)?.token!=null)return!1;return Ht(xe).some((e)=>e.enabled===1&&(e.kind==="s3"||e.kind==="room"))}async function vh(){try{if(navigator.onLine!==!1&&vE()){let e=await Xr();po=e.pushed>0||e.pulled>0?lc:Math.min(po*2,bE)}else po=lc}finally{setTimeout(vh,po)}}setTimeout(vh,po);async function EE(e){let t=Et(),r={code:e,node_id:je(t),grant:yt(32)},n=await fetch(new URL(Kp,lr),{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(r)});if(!n.ok)throw new Z(n.status===401||n.status===403?"auth":"network",`pairing failed: ${n.status} ${await n.text()}`);let o=await n.json();return mg(t,{url:lr,token:o.grant,node_id:o.node_id,label:"server"}),tr({paired:!0}),Xr(),{node_id:o.node_id}}function SE(){let e=wt(Et(),lr);return tr({paired:!1}),{ok:e}}var Eh={status:()=>Lt,pair:(e)=>EE(e),unpair:()=>SE(),sync:()=>Xr(!0).then(()=>Lt.lastSync),addStorageReplica:async(e,t)=>{let r=Et(),n={publish:!0,priority:10,...e};if(n.encrypt)n.masterKey=await ha(Ut(n),n,t)??void 0;let o=_n(n.endpoint,n.bucket,n.prefix);if(Jr)await Jr;let s=vt(r,o);if(yg(r,{url:o,config:n,label:n.bucket}),await Xr(!0),Lt.bucketError){if(s)mE(r,s);else wt(r,o);throw new Z("network",`storage peer first sync failed: ${Lt.bucketError}`)}return{url:o,lastSync:Lt.lastSync}},removeStorageReplica:(e)=>({ok:wt(Et(),e)}),storagePeerConfig:(e)=>{let t=vt(xe,e);return t?.config?JSON.parse(t.config):null},dataMap:()=>vg(Et()),listStoragePeers:()=>Ht(xe).filter((e)=>e.kind==="s3").map((e)=>{let t={};try{t=e.config?JSON.parse(e.config):{}}catch{}return{url:e.url,label:e.label,enabled:e.enabled===1,status:e.last_status,error:e.last_error,lastSyncAt:e.last_success_at,lastAttemptAt:e.last_sync_at,endpoint:t.endpoint??null,bucket:t.bucket??null,region:t.region??null,provider:t.provider??null}}),edgeStatus:async()=>{let e=Et(),t=ki(e),r=Ht(e).filter((n)=>n.kind==="room"&&n.config).map((n)=>{let o=JSON.parse(n.config);return{slug:o.slug,url:Zr(o),status:n.last_status,lastSuccessAt:n.last_success_at,error:n.last_error}});if(!t)return{configured:!1,expectedVersion:Tr,aligned:!1,reachable:!1,managed:!1,rooms:r,defaults:null,pending:null};try{let n=await Ri(t.endpoint,t.token).ownerHealth();return{configured:!0,endpoint:t.endpoint,capabilities:uo(t),version:n.version??null,expectedVersion:Tr,aligned:n.version===Tr,reachable:n.ok,managed:!1,rooms:r,defaults:null,pending:null}}catch(n){return{configured:!0,endpoint:t.endpoint,capabilities:uo(t),version:null,expectedVersion:Tr,aligned:!1,reachable:!1,error:n.message,managed:!1,rooms:r,defaults:null,pending:null}}},connectEdge:async(e,t)=>{let r=await oh(e,t,"edge");return sc(Et(),{endpoint:r.endpoint,token:r.token,capabilities:r.capabilities,deployedVersion:r.version}),{...await Eh.edgeStatus(),status:"connected",wired:[],warnings:[]}},disconnectEdge:()=>{let e=Et();if(Ht(e).some((t)=>t.kind==="room"))throw new Z("conflict","请先撤销所有 Edge Room 再断开");return sc(e,null),{ok:!0}},listLocalShares:(e)=>{let t=Et();return(e?va(t,e):wa(t)).map((n)=>{let o=vt(t,`room://${n.slug}`),s=o?.config?JSON.parse(o.config):null,a=s?.lifecycle??"active",u=s&&a==="active"?Zr(s):void 0,_=n.kind==="site"?Gr(t,n.target_id):null;return{slug:n.slug,kind:n.kind,target_id:n.target_id,title:_?.title||_?.name||n.target_id,permission:n.permission,transport:"server",source:s?a==="cleanup_pending"?"Edge Room(撤销待确认)":"Edge Room":"本机",sourceKind:s?"room":"server",hosting:s?"room":"server",...s?{lifecycle:a}:{},expiresAt:n.expires_at,hasPassword:!!n.pw_hash,url:u}})},createLocalShare:async(e)=>{let t=Et();if(e.kind!=="site"||e.hosting!=="room")throw new Z("invalid_input","此设备不驻留在线托管,目前仅支持通过 Edge 发布站点");let r=ki(t);if(!r)throw new Z("invalid_input","请先连接 Edge");if(!uo(r).includes("room"))throw new Z("conflict","当前 Edge 仅支持 inbox,不支持 Room 托管");let n=Gr(t,e.ref),o=e.password?await Ea(e.password):null,s=ba(t,{kind:"site",target_id:n.id,permission:e.permission,pwSalt:o?.salt,pwHash:o?.hash,expiresAt:e.expiresMs!=null?Date.now()+e.expiresMs:null,grants:e.grants,requestId:e.requestId});try{let a=await H_(t,s,r,fc),u=so(t,{siteId:n.id,audience:"link",hosting:"edge",targetRef:s.slug,canonicalUrl:a.url,policy:{permission:s.permission,hasPassword:!!s.pw_hash,expiresAt:s.expires_at}});return Rt(t,{channelId:u.id,status:"ready",lastVerifiedAt:Date.now()}),{slug:s.slug,kind:"site",permission:s.permission,transport:"server",hosting:"room",url:a.url,expiresAt:s.expires_at,source:"Edge Room"}}catch(a){if(await no(t,s.slug)!=="cleanup_pending")Yt(t,s.slug);throw a}},revokeLocalShare:async(e)=>{let t=Et();if(!sr(t,e))return{ok:!1,status:"not_found"};let r=jt(t).filter((s)=>s.audience==="link"&&s.target_ref===e&&s.desired_state==="active");for(let s of r)mr(t,s.id,"revoked");if(await no(t,e)==="cleanup_pending"){for(let s of r)Rt(t,{channelId:s.id,status:"cleanup_pending",lastError:"Edge 尚未确认销毁 Room"});return{ok:!1,status:"cleanup_pending"}}let o=Yt(t,e);for(let s of r)Rt(t,{channelId:s.id,status:"revoked",lastVerifiedAt:Date.now()});return{ok:o,status:"revoked"}},renewLocalShare:async(e,t)=>{let r=Et();await Promise.resolve().then(() => gh());return _h(r,e,void 0,t)},listDatabases:()=>pl(xe),createDatabase:(e)=>Qi(xe,e),updateDatabase:(e,t)=>dl(xe,e,t),duplicateDatabase:(e,t)=>fl(xe,e,t??{}),deleteDatabase:(e)=>({ok:_l(xe,e)}),listDatabaseActivity:(e,t)=>Fg(xe,e,{limit:t}),listAuditEntries:(e)=>Jg(xe,e??{}),auditEntryDetail:(e)=>Qg(xe,e),revertChangeGroup:(e)=>Yg(xe,e),listProperties:(e)=>Ct(xe,e),addProperty:(e,t)=>xo(xe,e,t),updateProperty:(e,t)=>Xi(xe,e,t),setPropertyWidth:(e,t)=>nl(xe,e,t),removeProperty:(e)=>({ok:al(xe,e)}),renameSelectOption:(e,t,r)=>il(xe,e,t,r),removeSelectOption:(e,t)=>sl(xe,e,t),listPropertyRevisions:(e)=>Bg(xe,e),revertProperty:(e,t)=>Ug(xe,e,t),listRecords:(e,t)=>ln(xe,e,t??{}),createRecord:(e,t)=>To(xe,e,t),getRecord:(e)=>{let t=vr(xe,e);if(!t)throw new Z("not_found",`no such record: ${e}`);return t},updateRecord:(e,t)=>ko(xe,e,t),moveRecord:(e,t,r)=>Sl(xe,e,t,r),deleteRecord:(e)=>({ok:xl(xe,e)}),listRecordRevisions:(e)=>$g(xe,e),recordAtVersion:(e,t)=>Ya(xe,e,t),recordFieldHistory:(e,t)=>jg(xe,e,t),revertRecord:(e,t)=>zg(xe,e,t),listDocuments:(e)=>Rl(xe,e??{}),createDocument:(e)=>cs(xe,e),getDocument:(e)=>{let t=nt(xe,e);if(!t)throw new Z("not_found",`no such document: ${e}`);return{...t,version:Tt(xe,t.id)}},updateDocument:(e,t,r)=>{let n=Oo(xe,e,t,{ifMatch:r});return{...n,version:Tt(xe,n.id)}},duplicateDocument:(e,t)=>{let r=Pl(xe,e,{title:t?.title,parentId:t?.parent_id});return{...r,version:Tt(xe,r.id)}},moveDocument:(e,t,r)=>us(xe,e,t,r),listDocumentRevisions:(e)=>Cg(xe,e),documentAtVersion:(e,t)=>Qa(xe,e,t),revertDocument:(e,t,r)=>qg(xe,e,t,{ifMatch:r}),deleteDocument:(e)=>({ok:Nl(xe,e)}),siteFile:async(e,t)=>{if((Lt.lastSync?.at?Date.now()-Lt.lastSync.at:1/0)>wE)await Xr(!0).catch(()=>{});let n=xe,o;try{o=Gr(n,e)}catch{return null}let s=J_(n,o.id,t,{spa:o.spa===1});if(!s)return null;return{...s.row,status:s.status,public:fg(n,o).serving}},blobBytes:async(e)=>{let t=await Va(e).catch(()=>{return});if(t)return t.bytes;for(let r of kr(xe)){if(!r.config)continue;try{let n=await pa(JSON.parse(r.config),e);if(n&&await Ka(n,e))return new Uint8Array(n).buffer}catch{}}return null},blobRefs:()=>[...zl(xe)],listSites:()=>{let e=sg(xe);return V_(xe).map((t)=>({...t,file_count:e.get(t.id)??0}))},listSiteFiles:(e)=>X_(xe,e),createSite:(e)=>{if(e.visibility==="public")throw new Z("invalid_input","此浏览器通过同步存储桶交换数据、不驻留在线;请在在线主节点管理公开发布");return{...eg(xe,e),file_count:0}},updateSite:(e,t)=>{if(t.visibility==="public")throw new Z("invalid_input","此浏览器通过同步存储桶交换数据、不驻留在线;请在在线主节点管理公开发布");return{...lg(xe,e,t),file_count:ag(xe,e)}},deleteSite:async(e)=>{let t=ug(xe,e);return await Sn(xe),{ok:t}},getSiteGrants:(e)=>({grants:hr(Gr(xe,e).public_grants)}),setSiteGrants:(e,t)=>{let r=Gr(xe,e),n=tg(xe,r.id,t.tables.length?t:null);return cg(xe,r.id,hr(n.public_grants)),{grants:hr(n.public_grants)}},siteHosting:()=>({publicBaseUrl:null,scope:null,node:je(xe),pendingRollbacks:[],publishedSites:[],channels:Fa(xe)}),revokeSiteChannel:async(e)=>{let t=Et(),{needsReconcile:r}=Eg(t,e);if(r)await Sn(t);let n=Fa(t).find((o)=>o.id===e);if(!n)throw new Z("not_found",`no such site channel: ${e}`);return n},putSiteFile:(e,t,r,n)=>{let{content:o,...s}=og(xe,e,t,{data:r,contentType:n});return{...s,size:Q_(xe,{encoding:s.encoding,content:o})}},deleteSiteFile:(e,t)=>({ok:ig(xe,e,t)}),reset:async()=>{try{yh?.close()}catch{}return xe=null,await dc?.wipeFiles(),bh(),tr({state:"ready",paired:!1,node:je(Et()),hydrated:void 0,lastSync:void 0}),{ok:!0}},nodes:()=>Ui(xe),setNodeLabel:(e,t)=>{let r=Et(),n=t??je(r);return Bc(r,e,n),Ui(r).find((o)=>o.node_id===n)},search:(e,t)=>nh(xe,e,{limit:t})},xE=/^(create|update|delete|move|duplicate|revert|add|remove|set|put)/,Ai=null;function TE(){if(Ai)clearTimeout(Ai);Ai=setTimeout(()=>{if(Ai=null,navigator.onLine!==!1)Xr()},800)}self.onmessage=async(e)=>{let{id:t,op:r,args:n}=e.data;try{await fE;let o=Eh[r];if(!o)throw new Z("invalid_input",`unknown op: ${r}`);let s=await o(...n??[]);if(Di({id:t,ok:!0,result:s}),xE.test(r))hE(),TE()}catch(o){let s=o instanceof Error?o.message:String(o),a=cn(o)??void 0;Di({id:t,ok:!1,error:{message:s,code:a}})}};