@rizom/ops 0.2.0-alpha.674 → 0.2.0-alpha.675

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/index.js CHANGED
@@ -224,7 +224,7 @@ for (const spec of specs) {
224
224
  }
225
225
  `;var DN=w(()=>{zn()});function ku(e){if(e===null||typeof e!=="object"||Array.isArray(e))return!1;let t=_7(e);return t===Object.prototype||t===null}function E7(e){return e instanceof Error&&"code"in e&&typeof e.code==="string"}function Um(e){return E7(e)&&e.code==="ENOENT"}var _7;var Au=w(()=>{_7=Object.getPrototypeOf});import{lstat as SE,mkdir as LN,readFile as BN,unlink as I7,writeFile as jN}from"fs/promises";import{join as cn}from"path";import{isDeepStrictEqual as k7}from"util";function MN(e){return cn("deploy","runtime",A7.parse(e.tag))}function FN(e){let t={"@rizom/brain":$t.parse(e.brainVersion)};for(let r of[...e.sitePackages].sort()){let o=r.lastIndexOf("@"),n=UN.parse(r.slice(0,o)),i=$t.parse(r.slice(o+1));if(t[n]!==void 0&&t[n]!==i)throw Error(`Conflicting runtime dependency pin: ${r}`);t[n]=i}return qN.parse({name:"rover-pilot-runtime",private:!0,packageManager:"bun@1.4.0",dependencies:t,overrides:{"postcss-selector-parser":"7.1.6"}})}async function vE(e){try{return await SE(e),!0}catch(t){if(Um(t))return!1;throw t}}async function ZN(e){if(!(await SE(e)).isFile())throw Error(`Runtime lock input must be a regular file: ${e}`)}async function JN(e){if(!(await SE(e)).isDirectory())throw Error(`Runtime lock input must be a directory: ${e}`)}async function KN(e){for(let t of["deploy",cn("deploy","runtime")]){let r=cn(e,t);if(await vE(r))await JN(r)}}async function bE(e,t){let r=cn(e,"package.json"),o=cn(e,"bun.lock");await ZN(r),await ZN(o);let n=qN.parse(JSON.parse(await BN(r,"utf8")));if(!k7(n,FN(t)))throw Error(`Runtime dependency manifest does not match ${t.tag}`);if(!(await BN(o,"utf8")).trim())throw Error(`Empty runtime dependency lock: ${o}`)}async function wE(e,t){await KN(e);let r=cn(e,MN(t));if(await JN(r),await vE(cn(r,".incomplete")))throw Error(`Incomplete runtime dependency lock: ${r}`);await bE(r,t)}async function HN(e,t,r=Lt){if(Bun.version!=="1.4.0")throw Error("Runtime dependency locks must be generated with Bun 1.4.0");let o=FN(t);await KN(e);let n=cn(e,MN(t));if(await vE(n))return await wE(e,t),"existing";await LN(cn(e,"deploy","runtime"),{recursive:!0}),await LN(n);let i=cn(n,".incomplete");return await jN(i,`Runtime dependency resolution has not completed.
226
226
  `,{flag:"wx"}),await jN(cn(n,"package.json"),`${JSON.stringify(o,null,2)}
227
- `,{flag:"wx"}),await r(process.execPath,["install","--lockfile-only","--ignore-scripts"],{cwd:n}),await bE(n,t),await r(process.execPath,["install","--frozen-lockfile","--ignore-scripts","--dry-run"],{cwd:n}),await bE(n,t),await I7(i),"created"}var A7,UN,qN;var xE=w(()=>{Au();he();Pn();zn();A7=l.string().regex(/^[a-zA-Z0-9_][a-zA-Z0-9_.-]{0,127}$/),UN=l.string().regex(/^(?:@[a-z0-9][a-z0-9._-]*\/)?[a-z0-9][a-z0-9._-]*$/),qN=l.strictObject({name:l.literal("rover-pilot-runtime"),private:l.literal(!0),packageManager:l.literal("bun@1.4.0"),dependencies:l.record(UN,$t),overrides:l.strictObject({"postcss-selector-parser":l.literal("7.1.6")})})});import{createHash as T7}from"crypto";function Tu(e,t=[]){let r=`brain-${e}`,o=[...new Set(t)].sort();if(o.length===0)return r;let n=`${r}--${o.map((a)=>a.replace(/^@/,"").replace("/","-").replace(/@(?=[^@]*$)/,"-")).join("--")}`,s=`--s${T7("sha256").update(JSON.stringify([e,...o])).digest("hex").slice(0,12)}`;return`${n.length+s.length<=$7?n:r}${s}`}function qm(e){if(!e)return[];return[VN(e.package,e.version),VN(e.theme,e.themeVersion)].filter((t)=>t!==void 0)}function VN(e,t){if(!e?.startsWith("@rizom/"))return;if(t===void 0)throw Error(`Package ${e} has no explicit version pin`);return`${e}@${t}`}function WN(e){let t=new Map;for(let r of e){let o=[...new Set(qm(r.siteOverride))].sort(),n=Tu(r.brainVersion,o),i=t.get(n);if(i&&(i.brainVersion!==r.brainVersion||!Bun.deepEquals(i.sitePackages,o)))throw Error(`Image tag collision for distinct runtime requirements: ${n}`);t.set(n,{tag:n,brainVersion:r.brainVersion,sitePackages:o})}return[...t.values()].sort((r,o)=>r.tag.localeCompare(o.tag))}function R7(e,t){let r=new Map;for(let o of[...e,...t]){let n=o.lastIndexOf("@"),i=n>0?o.slice(0,n):o,s=r.get(i);if(s&&s!==o)throw Error(`Fleet shared images have conflicting pins for ${i}: ${s} and ${o}`);r.set(i,o)}return[...r.values()].sort()}async function Mm(e){let t=e.brainVersionInput?.trim()??"";if(t){let o=R7([],(e.sitePackagesInput??"").split(/\s+/).filter(Boolean)),n=Tu(t,o);if(!e.allowTagOverwrite&&await e.imageExists(n))throw Error(`Image tag ${n} already exists; published tags are immutable. Pick a new version, or pass overwrite=true only when replacing a tag whose containers were never deployed.`);return[{tag:n,brainVersion:t,sitePackages:o}]}let r=[];for(let o of WN(e.users))if(!await e.imageExists(o.tag))r.push(o);else await e.verifyImage(o);return r}async function O7(e,t,r){try{return await e("docker",["manifest","inspect",`${t}:${r}`]),!0}catch(o){if(o instanceof Error&&/exited with code/.test(o.message))return!1;throw o}}async function C7(e){let t=e.env??process.env,r=e.runCommand??Lt,o=e.log??console.log,n=t.BRAIN_VERSION_INPUT?.trim()??"",i=t.SITE_PACKAGES_INPUT?.trim()??"",s=t.ALLOW_TAG_OVERWRITE?.trim()==="true",{users:a}=await ut(e.rootDir),c=await Mm({users:a,brainVersionInput:n,sitePackagesInput:i,allowTagOverwrite:s,imageExists:(u)=>O7(r,e.imageRepository,u),verifyImage:(u)=>NN(e.imageRepository,u,r)});for(let u of c){try{await wE(e.rootDir,u)}catch(d){throw Error(`Missing or invalid runtime lock for ${u.tag}; run brains-ops images:lock and commit its reviewed package.json and bun.lock before building.`,{cause:d})}o(`build needed: ${u.tag} (brain ${u.brainVersion}${u.sitePackages.length>0?`, sites ${u.sitePackages.join(" ")}`:""})`)}if(c.length===0)o("All declared images already exist; nothing to build.");return e.writeOutput("images_json",JSON.stringify(c.map((u)=>({tag:u.tag,brain_version:u.brainVersion,site_packages:u.sitePackages.join(" ")})))),c}var $7=128;var Fm=w(()=>{DN();xE();Mr();zn()});var QN,P7,z7,N7,lo,$u,D7,_E,L7,GN,B7,j7,YN,U0e,XN;var Jm=w(()=>{F_();QN=["primary","secondary"],P7=l.custom((e)=>typeof e==="function","Expected a React component"),z7=l.strictObject({show:l.boolean().optional(),label:l.string().min(1).optional(),slot:l.enum(QN).optional(),priority:l.number().optional()}),N7=l.strictObject({id:l.string().min(1),template:l.string().min(1),content:l.unknown().optional(),dataQuery:l.looseObject({entityType:l.string().optional(),template:l.string().optional(),query:l.record(l.string(),l.unknown()).optional()}).optional(),order:l.number().optional()}),lo=l.string().regex(/^[A-Za-z]{2,3}(-[A-Za-z0-9]{2,8})*$/,{message:"must be a language tag such as en or zh-TW"}),$u=l.strictObject({title:l.string().optional(),description:l.string().optional(),navigationLabel:l.string().optional()}),D7=l.strictObject({id:l.string().min(1),path:l.string().startsWith("/"),title:l.string().optional(),pageLabel:l.string().optional(),description:l.string().optional(),sections:l.array(N7).optional(),layout:l.string().min(1).optional(),fullscreen:l.boolean().optional(),pluginId:l.string().optional(),sourceEntityType:l.string().optional(),external:l.boolean().optional(),navigation:z7.optional(),translations:l.record(lo,$u).optional()}),_E=l.strictObject({label:l.string().min(1),pluralName:l.string().min(1).optional(),layout:l.string().min(1).optional(),detailTemplate:l.string().min(1).optional(),paginate:l.boolean().optional(),pageSize:l.number().int().positive().optional(),citable:l.boolean().optional(),navigation:l.strictObject({show:l.boolean().optional(),slot:l.enum(QN).optional(),priority:l.number().optional()}).optional()}),L7=l.strictObject({schema:l.custom((e)=>e instanceof l.ZodType,"Expected a Zod schema"),component:l.custom((e)=>typeof e==="function","Expected a React component"),title:l.string().min(1),description:l.string(),requiredPermission:l.enum(["admin","trusted","public"]).optional(),fullscreen:l.boolean().optional()}),GN=l.strictObject({namespace:l.string().min(1),sections:l.record(l.string(),L7)}),B7=l.record(l.string(),l.json()),j7=l.record(l.string(),l.record(l.string(),B7)),YN={layouts:l.record(l.string(),P7).refine((e)=>typeof e.default==="function",{message:'Site layouts must include a "default" component'}),routes:l.array(D7),content:j7.optional(),sections:l.union([GN,l.array(GN)]).optional(),themeOverride:l.string().optional(),headScripts:l.array(l.string()).optional(),entityDisplay:l.record(l.string(),_E),staticAssets:l.record(l.string(),l.string()).optional(),languages:l.array(lo).min(1).optional()},U0e=l.strictObject(YN).partial(),XN=l.strictObject(YN).superRefine((e,t)=>{let r=e.languages??[],o=new Set;for(let[c,u]of r.entries()){let d=u.toLowerCase();if(o.has(d))t.addIssue({code:"custom",path:["languages",c],message:`Language "${u}" is declared twice`});o.add(d)}let n=r.slice(1).map((c)=>`/${c.toLowerCase()}`),i=new Set;for(let[c,u]of e.routes.entries()){if(i.has(u.id))t.addIssue({code:"custom",path:["routes",c,"id"],message:`Duplicate route id "${u.id}"`});i.add(u.id);let d=u.path.toLowerCase(),f=n.find((h)=>d===h||d.startsWith(`${h}/`));if(f)t.addIssue({code:"custom",path:["routes",c,"path"],message:`Route path "${u.path}" is under ${f}, where another language's pages are built`});let m=u.layout??"default";if(!e.layouts[m])t.addIssue({code:"custom",path:["routes",c,"layout"],message:`Unknown layout "${m}"`});for(let[h,b]of(u.sections??[]).entries()){let y=/^([^:.\s]+)\.([^:.\s]+)$/.exec(b.template);if(y)t.addIssue({code:"custom",path:["routes",c,"sections",h,"template"],message:`Section template "${b.template}" is written "${y[1]}:${y[2]}"`})}}let s=Array.isArray(e.sections)?e.sections:e.sections?[e.sections]:[],a=new Map(s.map((c)=>[c.namespace,c]));if(a.size!==s.length)t.addIssue({code:"custom",path:["sections"],message:"Section group namespaces must be unique"});for(let[c,u]of Object.entries(e.content??{})){let d=a.get(c);if(!d){t.addIssue({code:"custom",path:["content",c],message:`Content namespace "${c}" has no section group`});continue}for(let[f,m]of Object.entries(u)){let h=d.sections[f];if(!h){t.addIssue({code:"custom",path:["content",c,f],message:`Content section "${c}:${f}" is not defined`});continue}let b=h.schema.safeParse(m);if(!b.success)t.addIssue({code:"custom",path:["content",c,f],message:`Content does not satisfy the "${c}:${f}" schema: ${l.prettifyError(b.error)}`})}}})});var e2,t2,r2,Km,n2,U7,o2,i2,q7,s2,a2,M7,Hm;var EE=w(()=>{Mt();he();Jm();Jm();e2=l.object({id:l.string(),template:l.string(),content:l.unknown().optional(),dataQuery:l.looseObject({entityType:l.string().optional(),template:l.string().optional(),query:l.looseObject({id:l.string().optional(),limit:l.number().optional(),offset:l.number().optional()}).optional()}).optional(),order:l.number().optional()}),t2=["primary","secondary"],r2=l.object({show:l.boolean().default(!1),label:l.string().optional(),slot:l.enum(t2).default("primary"),priority:l.number().min(0).max(100).default(50)}).optional(),Km=l.object({id:l.string(),path:l.string(),title:l.string().default(""),pageLabel:l.string().optional(),description:l.string().default(""),sections:l.array(e2).default([]),layout:l.string().default("default"),fullscreen:l.boolean().optional(),pluginId:l.string().optional(),sourceEntityType:l.string().optional(),external:l.boolean().optional(),navigation:r2,translations:l.record(lo,$u).optional(),languages:l.array(lo).optional()}),n2=l.object({routes:l.array(Km),pluginId:l.string()}),U7=_e({channel:"plugin:site-builder:route:register",request:n2,response:l.void(),delivery:"command"}),o2=l.strictObject({}),i2=l.array(Km),q7=_e({channel:"site-builder:routes:list",request:o2,response:i2,delivery:"request"}),s2=l.strictObject({}),a2=l.array(Km),M7=_e({channel:"plugin:site-builder:pages",request:s2,response:a2,delivery:"collect"}),Hm=l.object({label:l.string(),href:l.string(),priority:l.number()})});var c2,l2,u2,F7;var d2=w(()=>{Mt();he();c2=l.object({pluginId:l.string(),slotName:l.string(),render:l.custom((e)=>typeof e==="function"),priority:l.number().optional()}),l2=l.strictObject({}),u2=l.array(c2),F7=_e({channel:"plugin:site-builder:slots",request:l2,response:u2,delivery:"collect"})});var f2="site:metadata:updated",Vm,p2,m2,nc,h2,J7,K7,H7;var IE=w(()=>{Mt();he();EE();Vm=l.object({heading:l.string().describe("Main CTA heading text"),buttonText:l.string().describe("Call-to-action button text"),buttonLink:l.string().describe("URL or anchor for the CTA button")}),p2=l.object({title:l.string().optional(),description:l.string().optional(),copyright:l.string().optional(),cta:Vm.optional()}),m2=l.object({blurb:l.string().optional().describe("Short italic subtitle under the section title")}),nc=l.object({represents:l.enum(["brain","anchor"]).default("anchor").describe("Identity represented by the site"),title:l.string().describe("The site's title"),description:l.string().describe("The site's description"),url:l.string().optional().describe("Canonical site URL"),copyright:l.string().optional().describe("Copyright notice text"),logo:l.boolean().optional().describe("Whether to display logo instead of title text in header"),themeMode:l.enum(["light","dark"]).optional().describe("Default theme mode"),analyticsScript:l.string().optional().describe("Analytics script HTML"),cta:Vm.optional().describe("Call-to-action configuration"),sections:l.record(l.string(),m2).optional().describe("Optional per-section blurbs, keyed by section id (e.g. 'essays', 'presentations', 'about'). Used by homepage templates that render editorial section headers."),translations:l.record(lo,p2).optional().describe("The site's title, description, copyright and call to action in its other languages, keyed by language tag. A site is built in a language only once it has one.")}),h2=l.strictObject({}),J7=_e({channel:"site:metadata:get",request:h2,response:nc,delivery:"request"}),K7=oi(f2,nc),H7=nc.extend({copyright:l.string(),navigation:l.object({primary:l.array(Hm),secondary:l.array(Hm)}),socialLinks:l.array(uE).optional().describe("Social media links from profile metadata"),photo:l.string().optional().describe("The anchor's photo, as ![alt](entity://image/<id>)")})});var r_e;var kE=w(()=>{he();r_e=l.record(l.string(),l.unknown())});var Ru=w(()=>{kE()});var g2=w(()=>{Mt();Ru()});var y2=w(()=>{Ru();Mt()});var b2=w(()=>{Ru();Mt()});var b_e;var S2=w(()=>{he();b_e=l.record(l.string(),l.unknown())});var w_e;var v2=w(()=>{he();ba();w_e=l.record(l.string(),l.unknown())});var w2=w(()=>{ba()});var x2=w(()=>{Ru();g2();y2();b2();S2();v2();w2();kE()});var nW;var _2=w(()=>{he();nW=l.object({slug:l.string(),title:l.string(),type:l.string(),entityId:l.string(),contentHash:l.string()})});var TE=w(()=>{x2();_2()});var E2=w(()=>{TE();he()});var oW,iW,sW;var Gm=w(()=>{he();Mt();oW={url:l.string(),typeLabel:l.string(),listUrl:l.string(),listLabel:l.string()},iW={url:l.string().nullable().default(null),typeLabel:l.string().nullable().default(null),listUrl:l.string().nullable().default(null),listLabel:l.string().nullable().default(null)},sW=l.object({name:l.string(),description:l.string(),schema:l.unknown(),basePrompt:l.string().optional(),useKnowledgeContext:l.boolean().optional(),requiredPermission:l.enum(["admin","trusted","public"]),formatter:l.unknown().optional(),overlayFormatter:l.unknown().optional(),layout:l.object({component:l.unknown().optional(),fullscreen:l.boolean().optional(),formats:l.unknown().optional()}).optional(),dataSourceId:l.string().optional()})});var Qm=w(()=>{Gm()});var A2=w(()=>{Qm()});var $E=()=>{};var cW,lW,oc,T2,uW;var $2=w(()=>{Mt();he();$E();cW=l.enum(["admin","trusted","public"]),lW=l.enum(["create","update","delete","extract","publish"]),oc=l.enum(["never","admin","trusted","public"]),T2=l.strictObject({create:oc.optional(),update:oc.optional(),delete:oc.optional(),extract:oc.optional(),publish:oc.optional()}),uW=l.record(l.string(),T2)});var R2=w(()=>{Qm();Gm()});var dW,fW,Ym,pW,mW,hW;var O2=w(()=>{he();dW=l.enum(["site-content-preview","site-content-production"]),fW=l.enum(["web","image","pdf","epub"]),Ym=l.custom((e)=>typeof e==="function"),pW=l.object({name:l.string(),schema:l.unknown(),description:l.string().optional(),pluginId:l.string(),renderers:l.object({web:l.union([Ym,l.string()]).optional(),image:l.union([Ym,l.string()]).optional(),pdf:l.union([Ym,l.string()]).optional(),epub:l.union([Ym,l.string()]).optional()})}),mW=l.object({enableContentGeneration:l.boolean().default(!1),outputDir:l.string(),workingDir:l.string().optional(),environment:l.enum(["preview","production"]).default("preview"),siteConfig:l.object({title:l.string(),description:l.string(),url:l.string().optional()}).optional()}),hW=l.object({success:l.boolean(),routesBuilt:l.number(),errors:l.array(l.string()).optional(),warnings:l.array(l.string()).optional()})});var C2=w(()=>{Gm();A2();Qm();$2();$E();R2();O2()});var RE=ge(function(yW,Xm){(function(){function e(g,E){Object.defineProperty(o.prototype,g,{get:function(){console.warn("%s(...) is deprecated in plain JavaScript React classes. %s",E[0],E[1])}})}function t(g){if(g===null||typeof g!=="object")return null;return g=De&&g[De]||g["@@iterator"],typeof g==="function"?g:null}function r(g,E){g=(g=g.constructor)&&(g.displayName||g.name)||"ReactClass";var D=g+"."+E;Qe[D]||(console.error("Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.",E,g),Qe[D]=!0)}function o(g,E,D){this.props=g,this.context=E,this.refs=Nt,this.updater=D||St}function n(){}function i(g,E,D){this.props=g,this.context=E,this.refs=Nt,this.updater=D||St}function s(){}function a(g){return""+g}function c(g){try{a(g);var E=!1}catch(q){E=!0}if(E){E=console;var D=E.error,J=typeof Symbol==="function"&&Symbol.toStringTag&&g[Symbol.toStringTag]||g.constructor.name||"Object";return D.call(E,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",J),a(g)}}function u(g){if(g==null)return null;if(typeof g==="function")return g.$$typeof===In?null:g.displayName||g.name||null;if(typeof g==="string")return g;switch(g){case H:return"Fragment";case re:return"Profiler";case G:return"StrictMode";case ve:return"Suspense";case ke:return"SuspenseList";case Ue:return"Activity"}if(typeof g==="object")switch(typeof g.tag==="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),g.$$typeof){case N:return"Portal";case pe:return g.displayName||"Context";case ae:return(g._context.displayName||"Context")+".Consumer";case be:var E=g.render;return g=g.displayName,g||(g=E.displayName||E.name||"",g=g!==""?"ForwardRef("+g+")":"ForwardRef"),g;case Ie:return E=g.displayName||null,E!==null?E:u(g.type)||"Memo";case we:E=g._payload,g=g._init;try{return u(g(E))}catch(D){}}return null}function d(g){if(g===H)return"<>";if(typeof g==="object"&&g!==null&&g.$$typeof===we)return"<...>";try{var E=u(g);return E?"<"+E+">":"<...>"}catch(D){return"<...>"}}function f(){var g=Le.A;return g===null?null:g.getOwner()}function m(){return Error("react-stack-top-frame")}function h(g){if(ro.call(g,"key")){var E=Object.getOwnPropertyDescriptor(g,"key").get;if(E&&E.isReactWarning)return!1}return g.key!==void 0}function b(g,E){function D(){es||(es=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",E))}D.isReactWarning=!0,Object.defineProperty(g,"key",{get:D,configurable:!0})}function y(){var g=u(this.type);return ts[g]||(ts[g]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),g=this.props.ref,g!==void 0?g:null}function S(g,E,D,J,q,te){var se=D.ref;return g={$$typeof:M,type:g,key:E,props:D,_owner:J},(se!==void 0?se:null)!==null?Object.defineProperty(g,"ref",{enumerable:!1,get:y}):Object.defineProperty(g,"ref",{enumerable:!1,value:null}),g._store={},Object.defineProperty(g._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(g,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(g,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:q}),Object.defineProperty(g,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:te}),Object.freeze&&(Object.freeze(g.props),Object.freeze(g)),g}function x(g,E){return E=S(g.type,E,g.props,g._owner,g._debugStack,g._debugTask),g._store&&(E._store.validated=g._store.validated),E}function _(g){A(g)?g._store&&(g._store.validated=1):typeof g==="object"&&g!==null&&g.$$typeof===we&&(g._payload.status==="fulfilled"?A(g._payload.value)&&g._payload.value._store&&(g._payload.value._store.validated=1):g._store&&(g._store.validated=1))}function A(g){return typeof g==="object"&&g!==null&&g.$$typeof===M}function O(g){var E={"=":"=0",":":"=2"};return"$"+g.replace(/[=:]/g,function(D){return E[D]})}function L(g,E){return typeof g==="object"&&g!==null&&g.key!=null?(c(g.key),O(""+g.key)):E.toString(36)}function z(g){switch(g.status){case"fulfilled":return g.value;case"rejected":throw g.reason;default:switch(typeof g.status==="string"?g.then(s,s):(g.status="pending",g.then(function(E){g.status==="pending"&&(g.status="fulfilled",g.value=E)},function(E){g.status==="pending"&&(g.status="rejected",g.reason=E)})),g.status){case"fulfilled":return g.value;case"rejected":throw g.reason}}throw g}function K(g,E,D,J,q){var te=typeof g;if(te==="undefined"||te==="boolean")g=null;var se=!1;if(g===null)se=!0;else switch(te){case"bigint":case"string":case"number":se=!0;break;case"object":switch(g.$$typeof){case M:case N:se=!0;break;case we:return se=g._init,K(se(g._payload),E,D,J,q)}}if(se){se=g,q=q(se);var ye=J===""?"."+L(se,0):J;return $r(q)?(D="",ye!=null&&(D=ye.replace(fa,"$&/")+"/"),K(q,E,D,"",function($e){return $e})):q!=null&&(A(q)&&(q.key!=null&&(se&&se.key===q.key||c(q.key)),D=x(q,D+(q.key==null||se&&se.key===q.key?"":(""+q.key).replace(fa,"$&/")+"/")+ye),J!==""&&se!=null&&A(se)&&se.key==null&&se._store&&!se._store.validated&&(D._store.validated=2),q=D),E.push(q)),1}if(se=0,ye=J===""?".":J+":",$r(g))for(var fe=0;fe<g.length;fe++)J=g[fe],te=ye+L(J,fe),se+=K(J,E,D,te,q);else if(fe=t(g),typeof fe==="function")for(fe===g.entries&&(Fo||console.warn("Using Maps as children is not supported. Use an array of keyed ReactElements instead."),Fo=!0),g=fe.call(g),fe=0;!(J=g.next()).done;)J=J.value,te=ye+L(J,fe++),se+=K(J,E,D,te,q);else if(te==="object"){if(typeof g.then==="function")return K(z(g),E,D,J,q);throw E=String(g),Error("Objects are not valid as a React child (found: "+(E==="[object Object]"?"object with keys {"+Object.keys(g).join(", ")+"}":E)+"). If you meant to render a collection of children, use an array instead.")}return se}function P(g,E,D){if(g==null)return g;var J=[],q=0;return K(g,J,"","",function(te){return E.call(D,te,q++)}),J}function W(g){if(g._status===-1){var E=g._ioInfo;E!=null&&(E.start=E.end=performance.now()),E=g._result;var D=E();if(D.then(function(q){if(g._status===0||g._status===-1){g._status=1,g._result=q;var te=g._ioInfo;te!=null&&(te.end=performance.now()),D.status===void 0&&(D.status="fulfilled",D.value=q)}},function(q){if(g._status===0||g._status===-1){g._status=2,g._result=q;var te=g._ioInfo;te!=null&&(te.end=performance.now()),D.status===void 0&&(D.status="rejected",D.reason=q)}}),E=g._ioInfo,E!=null){E.value=D;var J=D.displayName;typeof J==="string"&&(E.name=J)}g._status===-1&&(g._status=0,g._result=D)}if(g._status===1)return E=g._result,E===void 0&&console.error(`lazy: Expected the result of a dynamic import() call. Instead received: %s
227
+ `,{flag:"wx"}),await r(process.execPath,["install","--lockfile-only","--ignore-scripts"],{cwd:n}),await bE(n,t),await r(process.execPath,["install","--frozen-lockfile","--ignore-scripts","--dry-run"],{cwd:n}),await bE(n,t),await I7(i),"created"}var A7,UN,qN;var xE=w(()=>{Au();he();Pn();zn();A7=l.string().regex(/^[a-zA-Z0-9_][a-zA-Z0-9_.-]{0,127}$/),UN=l.string().regex(/^(?:@[a-z0-9][a-z0-9._-]*\/)?[a-z0-9][a-z0-9._-]*$/),qN=l.strictObject({name:l.literal("rover-pilot-runtime"),private:l.literal(!0),packageManager:l.literal("bun@1.4.0"),dependencies:l.record(UN,$t),overrides:l.strictObject({"postcss-selector-parser":l.literal("7.1.6")})})});import{createHash as T7}from"crypto";function Tu(e,t=[]){let r=`brain-${e}`,o=[...new Set(t)].sort();if(o.length===0)return r;let n=`${r}--${o.map((a)=>a.replace(/^@/,"").replace("/","-").replace(/@(?=[^@]*$)/,"-")).join("--")}`,s=`--s${T7("sha256").update(JSON.stringify([e,...o])).digest("hex").slice(0,12)}`;return`${n.length+s.length<=$7?n:r}${s}`}function qm(e){if(!e)return[];return[VN(e.package,e.version),VN(e.theme,e.themeVersion)].filter((t)=>t!==void 0)}function VN(e,t){if(!e?.startsWith("@rizom/"))return;if(t===void 0)throw Error(`Package ${e} has no explicit version pin`);return`${e}@${t}`}function WN(e){let t=new Map;for(let r of e){let o=[...new Set(qm(r.siteOverride))].sort(),n=Tu(r.brainVersion,o),i=t.get(n);if(i&&(i.brainVersion!==r.brainVersion||!Bun.deepEquals(i.sitePackages,o)))throw Error(`Image tag collision for distinct runtime requirements: ${n}`);t.set(n,{tag:n,brainVersion:r.brainVersion,sitePackages:o})}return[...t.values()].sort((r,o)=>r.tag.localeCompare(o.tag))}function R7(e,t){let r=new Map;for(let o of[...e,...t]){let n=o.lastIndexOf("@"),i=n>0?o.slice(0,n):o,s=r.get(i);if(s&&s!==o)throw Error(`Fleet shared images have conflicting pins for ${i}: ${s} and ${o}`);r.set(i,o)}return[...r.values()].sort()}async function Mm(e){let t=e.brainVersionInput?.trim()??"";if(t){let o=R7([],(e.sitePackagesInput??"").split(/\s+/).filter(Boolean)),n=Tu(t,o);if(!e.allowTagOverwrite&&await e.imageExists(n))throw Error(`Image tag ${n} already exists; published tags are immutable. Pick a new version, or pass overwrite=true only when replacing a tag whose containers were never deployed.`);return[{tag:n,brainVersion:t,sitePackages:o}]}let r=[];for(let o of WN(e.users))if(!await e.imageExists(o.tag))r.push(o);else await e.verifyImage(o);return r}async function O7(e,t,r){try{return await e("docker",["manifest","inspect",`${t}:${r}`]),!0}catch(o){if(o instanceof Error&&/exited with code/.test(o.message))return!1;throw o}}async function C7(e){let t=e.env??process.env,r=e.runCommand??Lt,o=e.log??console.log,n=t.BRAIN_VERSION_INPUT?.trim()??"",i=t.SITE_PACKAGES_INPUT?.trim()??"",s=t.ALLOW_TAG_OVERWRITE?.trim()==="true",{users:a}=await ut(e.rootDir),c=await Mm({users:a,brainVersionInput:n,sitePackagesInput:i,allowTagOverwrite:s,imageExists:(u)=>O7(r,e.imageRepository,u),verifyImage:(u)=>NN(e.imageRepository,u,r)});for(let u of c){try{await wE(e.rootDir,u)}catch(d){throw Error(`Missing or invalid runtime lock for ${u.tag}; run brains-ops images:lock and commit its reviewed package.json and bun.lock before building.`,{cause:d})}o(`build needed: ${u.tag} (brain ${u.brainVersion}${u.sitePackages.length>0?`, sites ${u.sitePackages.join(" ")}`:""})`)}if(c.length===0)o("All declared images already exist; nothing to build.");return e.writeOutput("images_json",JSON.stringify(c.map((u)=>({tag:u.tag,brain_version:u.brainVersion,site_packages:u.sitePackages.join(" ")})))),c}var $7=128;var Fm=w(()=>{DN();xE();Mr();zn()});var QN,P7,z7,N7,lo,$u,D7,_E,L7,GN,B7,j7,YN,Z0e,XN;var Jm=w(()=>{F_();QN=["primary","secondary"],P7=l.custom((e)=>typeof e==="function","Expected a React component"),z7=l.strictObject({show:l.boolean().optional(),label:l.string().min(1).optional(),slot:l.enum(QN).optional(),priority:l.number().optional()}),N7=l.strictObject({id:l.string().min(1),template:l.string().min(1),content:l.unknown().optional(),dataQuery:l.looseObject({entityType:l.string().optional(),template:l.string().optional(),query:l.record(l.string(),l.unknown()).optional()}).optional(),order:l.number().optional()}),lo=l.string().regex(/^[A-Za-z]{2,3}(-[A-Za-z0-9]{2,8})*$/,{message:"must be a language tag such as en or zh-TW"}),$u=l.strictObject({title:l.string().optional(),description:l.string().optional(),navigationLabel:l.string().optional()}),D7=l.strictObject({id:l.string().min(1),path:l.string().startsWith("/"),title:l.string().optional(),pageLabel:l.string().optional(),description:l.string().optional(),sections:l.array(N7).optional(),layout:l.string().min(1).optional(),fullscreen:l.boolean().optional(),pluginId:l.string().optional(),sourceEntityType:l.string().optional(),external:l.boolean().optional(),navigation:z7.optional(),translations:l.record(lo,$u).optional()}),_E=l.strictObject({label:l.string().min(1),pluralName:l.string().min(1).optional(),layout:l.string().min(1).optional(),detailTemplate:l.string().min(1).optional(),paginate:l.boolean().optional(),pageSize:l.number().int().positive().optional(),citable:l.boolean().optional(),navigation:l.strictObject({show:l.boolean().optional(),slot:l.enum(QN).optional(),priority:l.number().optional()}).optional()}),L7=l.strictObject({schema:l.custom((e)=>e instanceof l.ZodType,"Expected a Zod schema"),component:l.custom((e)=>typeof e==="function","Expected a React component"),title:l.string().min(1),description:l.string(),requiredPermission:l.enum(["admin","trusted","public"]).optional(),fullscreen:l.boolean().optional()}),GN=l.strictObject({namespace:l.string().min(1),sections:l.record(l.string(),L7)}),B7=l.record(l.string(),l.json()),j7=l.record(l.string(),l.record(l.string(),B7)),YN={layouts:l.record(l.string(),P7).refine((e)=>typeof e.default==="function",{message:'Site layouts must include a "default" component'}),routes:l.array(D7),content:j7.optional(),sections:l.union([GN,l.array(GN)]).optional(),themeOverride:l.string().optional(),headScripts:l.array(l.string()).optional(),entityDisplay:l.record(l.string(),_E),staticAssets:l.record(l.string(),l.string()).optional(),languages:l.array(lo).min(1).optional()},Z0e=l.strictObject(YN).partial(),XN=l.strictObject(YN).superRefine((e,t)=>{let r=e.languages??[],o=new Set;for(let[c,u]of r.entries()){let d=u.toLowerCase();if(o.has(d))t.addIssue({code:"custom",path:["languages",c],message:`Language "${u}" is declared twice`});o.add(d)}let n=r.slice(1).map((c)=>`/${c.toLowerCase()}`),i=new Set;for(let[c,u]of e.routes.entries()){if(i.has(u.id))t.addIssue({code:"custom",path:["routes",c,"id"],message:`Duplicate route id "${u.id}"`});i.add(u.id);let d=u.path.toLowerCase(),f=n.find((h)=>d===h||d.startsWith(`${h}/`));if(f)t.addIssue({code:"custom",path:["routes",c,"path"],message:`Route path "${u.path}" is under ${f}, where another language's pages are built`});let m=u.layout??"default";if(!e.layouts[m])t.addIssue({code:"custom",path:["routes",c,"layout"],message:`Unknown layout "${m}"`});for(let[h,b]of(u.sections??[]).entries()){let y=/^([^:.\s]+)\.([^:.\s]+)$/.exec(b.template);if(y)t.addIssue({code:"custom",path:["routes",c,"sections",h,"template"],message:`Section template "${b.template}" is written "${y[1]}:${y[2]}"`})}}let s=Array.isArray(e.sections)?e.sections:e.sections?[e.sections]:[],a=new Map(s.map((c)=>[c.namespace,c]));if(a.size!==s.length)t.addIssue({code:"custom",path:["sections"],message:"Section group namespaces must be unique"});for(let[c,u]of Object.entries(e.content??{})){let d=a.get(c);if(!d){t.addIssue({code:"custom",path:["content",c],message:`Content namespace "${c}" has no section group`});continue}for(let[f,m]of Object.entries(u)){let h=d.sections[f];if(!h){t.addIssue({code:"custom",path:["content",c,f],message:`Content section "${c}:${f}" is not defined`});continue}let b=h.schema.safeParse(m);if(!b.success)t.addIssue({code:"custom",path:["content",c,f],message:`Content does not satisfy the "${c}:${f}" schema: ${l.prettifyError(b.error)}`})}}})});var e2,t2,r2,Km,n2,U7,o2,i2,q7,s2,a2,M7,Hm;var EE=w(()=>{Mt();he();Jm();Jm();e2=l.object({id:l.string(),template:l.string(),content:l.unknown().optional(),dataQuery:l.looseObject({entityType:l.string().optional(),template:l.string().optional(),query:l.looseObject({id:l.string().optional(),limit:l.number().optional(),offset:l.number().optional()}).optional()}).optional(),order:l.number().optional()}),t2=["primary","secondary"],r2=l.object({show:l.boolean().default(!1),label:l.string().optional(),slot:l.enum(t2).default("primary"),priority:l.number().min(0).max(100).default(50)}).optional(),Km=l.object({id:l.string(),path:l.string(),title:l.string().default(""),pageLabel:l.string().optional(),description:l.string().default(""),sections:l.array(e2).default([]),layout:l.string().default("default"),fullscreen:l.boolean().optional(),pluginId:l.string().optional(),sourceEntityType:l.string().optional(),external:l.boolean().optional(),navigation:r2,translations:l.record(lo,$u).optional(),languages:l.array(lo).optional()}),n2=l.object({routes:l.array(Km),pluginId:l.string()}),U7=_e({channel:"plugin:site-builder:route:register",request:n2,response:l.void(),delivery:"command"}),o2=l.strictObject({}),i2=l.array(Km),q7=_e({channel:"site-builder:routes:list",request:o2,response:i2,delivery:"request"}),s2=l.strictObject({}),a2=l.array(Km),M7=_e({channel:"plugin:site-builder:pages",request:s2,response:a2,delivery:"collect"}),Hm=l.object({label:l.string(),href:l.string(),priority:l.number()})});var c2,l2,u2,F7;var d2=w(()=>{Mt();he();c2=l.object({pluginId:l.string(),slotName:l.string(),render:l.custom((e)=>typeof e==="function"),priority:l.number().optional()}),l2=l.strictObject({}),u2=l.array(c2),F7=_e({channel:"plugin:site-builder:slots",request:l2,response:u2,delivery:"collect"})});var f2="site:metadata:updated",Vm,p2,m2,nc,h2,J7,K7,H7;var IE=w(()=>{Mt();he();EE();Vm=l.object({heading:l.string().describe("Main CTA heading text"),buttonText:l.string().describe("Call-to-action button text"),buttonLink:l.string().describe("URL or anchor for the CTA button")}),p2=l.object({title:l.string().optional(),description:l.string().optional(),copyright:l.string().optional(),cta:Vm.optional()}),m2=l.object({blurb:l.string().optional().describe("Short italic subtitle under the section title")}),nc=l.object({represents:l.enum(["brain","anchor"]).default("anchor").describe("Identity represented by the site"),title:l.string().describe("The site's title"),description:l.string().describe("The site's description"),url:l.string().optional().describe("Canonical site URL"),copyright:l.string().optional().describe("Copyright notice text"),logo:l.boolean().optional().describe("Whether to display logo instead of title text in header"),themeMode:l.enum(["light","dark"]).optional().describe("Default theme mode"),analyticsScript:l.string().optional().describe("Analytics script HTML"),cta:Vm.optional().describe("Call-to-action configuration"),sections:l.record(l.string(),m2).optional().describe("Optional per-section blurbs, keyed by section id (e.g. 'essays', 'presentations', 'about'). Used by homepage templates that render editorial section headers."),translations:l.record(lo,p2).optional().describe("The site's title, description, copyright and call to action in its other languages, keyed by language tag. A site is built in a language only once it has one.")}),h2=l.strictObject({}),J7=_e({channel:"site:metadata:get",request:h2,response:nc,delivery:"request"}),K7=oi(f2,nc),H7=nc.extend({copyright:l.string(),navigation:l.object({primary:l.array(Hm),secondary:l.array(Hm)}),socialLinks:l.array(uE).optional().describe("Social media links from profile metadata"),photo:l.string().optional().describe("The anchor's photo, as ![alt](entity://image/<id>)")})});var t_e;var kE=w(()=>{he();t_e=l.record(l.string(),l.unknown())});var Ru=w(()=>{kE()});var g2=w(()=>{Mt();Ru()});var y2=w(()=>{Ru();Mt()});var b2=w(()=>{Ru();Mt()});var y_e;var S2=w(()=>{he();y_e=l.record(l.string(),l.unknown())});var v_e;var v2=w(()=>{he();ba();v_e=l.record(l.string(),l.unknown())});var w2=w(()=>{ba()});var x2=w(()=>{Ru();g2();y2();b2();S2();v2();w2();kE()});var nW;var _2=w(()=>{he();nW=l.object({slug:l.string(),title:l.string(),type:l.string(),entityId:l.string(),contentHash:l.string()})});var TE=w(()=>{x2();_2()});var E2=w(()=>{TE();he()});var oW,iW,sW;var Gm=w(()=>{he();Mt();oW={url:l.string(),typeLabel:l.string(),listUrl:l.string(),listLabel:l.string()},iW={url:l.string().nullable().default(null),typeLabel:l.string().nullable().default(null),listUrl:l.string().nullable().default(null),listLabel:l.string().nullable().default(null)},sW=l.object({name:l.string(),description:l.string(),schema:l.unknown(),basePrompt:l.string().optional(),useKnowledgeContext:l.boolean().optional(),requiredPermission:l.enum(["admin","trusted","public"]),formatter:l.unknown().optional(),overlayFormatter:l.unknown().optional(),layout:l.object({component:l.unknown().optional(),fullscreen:l.boolean().optional(),formats:l.unknown().optional()}).optional(),dataSourceId:l.string().optional()})});var Qm=w(()=>{Gm()});var A2=w(()=>{Qm()});var $E=()=>{};var cW,lW,oc,T2,uW;var $2=w(()=>{Mt();he();$E();cW=l.enum(["admin","trusted","public"]),lW=l.enum(["create","update","delete","extract","publish"]),oc=l.enum(["never","admin","trusted","public"]),T2=l.strictObject({create:oc.optional(),update:oc.optional(),delete:oc.optional(),extract:oc.optional(),publish:oc.optional()}),uW=l.record(l.string(),T2)});var R2=w(()=>{Qm();Gm()});var dW,fW,Ym,pW,mW,hW;var O2=w(()=>{he();dW=l.enum(["site-content-preview","site-content-production"]),fW=l.enum(["web","image","pdf","epub"]),Ym=l.custom((e)=>typeof e==="function"),pW=l.object({name:l.string(),schema:l.unknown(),description:l.string().optional(),pluginId:l.string(),renderers:l.object({web:l.union([Ym,l.string()]).optional(),image:l.union([Ym,l.string()]).optional(),pdf:l.union([Ym,l.string()]).optional(),epub:l.union([Ym,l.string()]).optional()})}),mW=l.object({enableContentGeneration:l.boolean().default(!1),outputDir:l.string(),workingDir:l.string().optional(),environment:l.enum(["preview","production"]).default("preview"),siteConfig:l.object({title:l.string(),description:l.string(),url:l.string().optional()}).optional()}),hW=l.object({success:l.boolean(),routesBuilt:l.number(),errors:l.array(l.string()).optional(),warnings:l.array(l.string()).optional()})});var C2=w(()=>{Gm();A2();Qm();$2();$E();R2();O2()});var RE=ge(function(yW,Xm){(function(){function e(g,E){Object.defineProperty(o.prototype,g,{get:function(){console.warn("%s(...) is deprecated in plain JavaScript React classes. %s",E[0],E[1])}})}function t(g){if(g===null||typeof g!=="object")return null;return g=De&&g[De]||g["@@iterator"],typeof g==="function"?g:null}function r(g,E){g=(g=g.constructor)&&(g.displayName||g.name)||"ReactClass";var D=g+"."+E;Qe[D]||(console.error("Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.",E,g),Qe[D]=!0)}function o(g,E,D){this.props=g,this.context=E,this.refs=Nt,this.updater=D||St}function n(){}function i(g,E,D){this.props=g,this.context=E,this.refs=Nt,this.updater=D||St}function s(){}function a(g){return""+g}function c(g){try{a(g);var E=!1}catch(q){E=!0}if(E){E=console;var D=E.error,J=typeof Symbol==="function"&&Symbol.toStringTag&&g[Symbol.toStringTag]||g.constructor.name||"Object";return D.call(E,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",J),a(g)}}function u(g){if(g==null)return null;if(typeof g==="function")return g.$$typeof===In?null:g.displayName||g.name||null;if(typeof g==="string")return g;switch(g){case H:return"Fragment";case re:return"Profiler";case G:return"StrictMode";case ve:return"Suspense";case ke:return"SuspenseList";case Ue:return"Activity"}if(typeof g==="object")switch(typeof g.tag==="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),g.$$typeof){case N:return"Portal";case pe:return g.displayName||"Context";case ae:return(g._context.displayName||"Context")+".Consumer";case be:var E=g.render;return g=g.displayName,g||(g=E.displayName||E.name||"",g=g!==""?"ForwardRef("+g+")":"ForwardRef"),g;case Ie:return E=g.displayName||null,E!==null?E:u(g.type)||"Memo";case we:E=g._payload,g=g._init;try{return u(g(E))}catch(D){}}return null}function d(g){if(g===H)return"<>";if(typeof g==="object"&&g!==null&&g.$$typeof===we)return"<...>";try{var E=u(g);return E?"<"+E+">":"<...>"}catch(D){return"<...>"}}function f(){var g=Le.A;return g===null?null:g.getOwner()}function m(){return Error("react-stack-top-frame")}function h(g){if(ro.call(g,"key")){var E=Object.getOwnPropertyDescriptor(g,"key").get;if(E&&E.isReactWarning)return!1}return g.key!==void 0}function b(g,E){function D(){es||(es=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",E))}D.isReactWarning=!0,Object.defineProperty(g,"key",{get:D,configurable:!0})}function y(){var g=u(this.type);return ts[g]||(ts[g]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),g=this.props.ref,g!==void 0?g:null}function S(g,E,D,J,q,te){var se=D.ref;return g={$$typeof:M,type:g,key:E,props:D,_owner:J},(se!==void 0?se:null)!==null?Object.defineProperty(g,"ref",{enumerable:!1,get:y}):Object.defineProperty(g,"ref",{enumerable:!1,value:null}),g._store={},Object.defineProperty(g._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(g,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(g,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:q}),Object.defineProperty(g,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:te}),Object.freeze&&(Object.freeze(g.props),Object.freeze(g)),g}function x(g,E){return E=S(g.type,E,g.props,g._owner,g._debugStack,g._debugTask),g._store&&(E._store.validated=g._store.validated),E}function _(g){A(g)?g._store&&(g._store.validated=1):typeof g==="object"&&g!==null&&g.$$typeof===we&&(g._payload.status==="fulfilled"?A(g._payload.value)&&g._payload.value._store&&(g._payload.value._store.validated=1):g._store&&(g._store.validated=1))}function A(g){return typeof g==="object"&&g!==null&&g.$$typeof===M}function O(g){var E={"=":"=0",":":"=2"};return"$"+g.replace(/[=:]/g,function(D){return E[D]})}function L(g,E){return typeof g==="object"&&g!==null&&g.key!=null?(c(g.key),O(""+g.key)):E.toString(36)}function z(g){switch(g.status){case"fulfilled":return g.value;case"rejected":throw g.reason;default:switch(typeof g.status==="string"?g.then(s,s):(g.status="pending",g.then(function(E){g.status==="pending"&&(g.status="fulfilled",g.value=E)},function(E){g.status==="pending"&&(g.status="rejected",g.reason=E)})),g.status){case"fulfilled":return g.value;case"rejected":throw g.reason}}throw g}function K(g,E,D,J,q){var te=typeof g;if(te==="undefined"||te==="boolean")g=null;var se=!1;if(g===null)se=!0;else switch(te){case"bigint":case"string":case"number":se=!0;break;case"object":switch(g.$$typeof){case M:case N:se=!0;break;case we:return se=g._init,K(se(g._payload),E,D,J,q)}}if(se){se=g,q=q(se);var ye=J===""?"."+L(se,0):J;return $r(q)?(D="",ye!=null&&(D=ye.replace(fa,"$&/")+"/"),K(q,E,D,"",function($e){return $e})):q!=null&&(A(q)&&(q.key!=null&&(se&&se.key===q.key||c(q.key)),D=x(q,D+(q.key==null||se&&se.key===q.key?"":(""+q.key).replace(fa,"$&/")+"/")+ye),J!==""&&se!=null&&A(se)&&se.key==null&&se._store&&!se._store.validated&&(D._store.validated=2),q=D),E.push(q)),1}if(se=0,ye=J===""?".":J+":",$r(g))for(var fe=0;fe<g.length;fe++)J=g[fe],te=ye+L(J,fe),se+=K(J,E,D,te,q);else if(fe=t(g),typeof fe==="function")for(fe===g.entries&&(Fo||console.warn("Using Maps as children is not supported. Use an array of keyed ReactElements instead."),Fo=!0),g=fe.call(g),fe=0;!(J=g.next()).done;)J=J.value,te=ye+L(J,fe++),se+=K(J,E,D,te,q);else if(te==="object"){if(typeof g.then==="function")return K(z(g),E,D,J,q);throw E=String(g),Error("Objects are not valid as a React child (found: "+(E==="[object Object]"?"object with keys {"+Object.keys(g).join(", ")+"}":E)+"). If you meant to render a collection of children, use an array instead.")}return se}function P(g,E,D){if(g==null)return g;var J=[],q=0;return K(g,J,"","",function(te){return E.call(D,te,q++)}),J}function W(g){if(g._status===-1){var E=g._ioInfo;E!=null&&(E.start=E.end=performance.now()),E=g._result;var D=E();if(D.then(function(q){if(g._status===0||g._status===-1){g._status=1,g._result=q;var te=g._ioInfo;te!=null&&(te.end=performance.now()),D.status===void 0&&(D.status="fulfilled",D.value=q)}},function(q){if(g._status===0||g._status===-1){g._status=2,g._result=q;var te=g._ioInfo;te!=null&&(te.end=performance.now()),D.status===void 0&&(D.status="rejected",D.reason=q)}}),E=g._ioInfo,E!=null){E.value=D;var J=D.displayName;typeof J==="string"&&(E.name=J)}g._status===-1&&(g._status=0,g._result=D)}if(g._status===1)return E=g._result,E===void 0&&console.error(`lazy: Expected the result of a dynamic import() call. Instead received: %s
228
228
 
229
229
  Your code should look like:
230
230
  const MyComponent = lazy(() => import('./MyComponent'))
@@ -380,9 +380,9 @@ ${t.comment}`:t.comment}this.doc.range[2]=t.offset;break}default:this.errors.pus
380
380
  `)+1;while(t!==0)this.onNewLine(this.offset+t),t=this.source.indexOf(`
381
381
  `,t)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let t=e.items[e.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,t.value){let r="end"in t.value?t.value.end:void 0;if((Array.isArray(r)?r[r.length-1]:void 0)?.type==="comment")r?.push(this.sourceToken);else e.items.push({start:[this.sourceToken]})}else if(t.sep)t.sep.push(this.sourceToken);else t.start.push(this.sourceToken);return;case"space":case"comment":if(t.value)e.items.push({start:[this.sourceToken]});else if(t.sep)t.sep.push(this.sourceToken);else{if(this.atIndentedComment(t.start,e.indent)){let o=e.items[e.items.length-2]?.value?.end;if(Array.isArray(o)){Fh(o,t.start),o.push(this.sourceToken),e.items.pop();return}}t.start.push(this.sourceToken)}return}if(this.indent>=e.indent){let r=!this.onKeyLine&&this.indent===e.indent,o=r&&(t.sep||t.explicitKey)&&this.type!=="seq-item-ind",n=[];if(o&&t.sep&&!t.value){let i=[];for(let s=0;s<t.sep.length;++s){let a=t.sep[s];switch(a.type){case"newline":i.push(s);break;case"space":break;case"comment":if(a.indent>e.indent)i.length=0;break;default:i.length=0}}if(i.length>=2)n=t.sep.splice(i[1])}switch(this.type){case"anchor":case"tag":if(o||t.value)n.push(this.sourceToken),e.items.push({start:n}),this.onKeyLine=!0;else if(t.sep)t.sep.push(this.sourceToken);else t.start.push(this.sourceToken);return;case"explicit-key-ind":if(!t.sep&&!t.explicitKey)t.start.push(this.sourceToken),t.explicitKey=!0;else if(o||t.value)n.push(this.sourceToken),e.items.push({start:n,explicitKey:!0});else this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]});this.onKeyLine=!0;return;case"map-value-ind":if(t.explicitKey)if(!t.sep)if(mi(t.start,"newline"))Object.assign(t,{key:null,sep:[this.sourceToken]});else{let i=yc(t.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:i,key:null,sep:[this.sourceToken]}]})}else if(t.value)e.items.push({start:[],key:null,sep:[this.sourceToken]});else if(mi(t.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:n,key:null,sep:[this.sourceToken]}]});else if(nB(t.key)&&!mi(t.sep,"newline")){let i=yc(t.start),s=t.key,a=t.sep;a.push(this.sourceToken),delete t.key,delete t.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:i,key:s,sep:a}]})}else if(n.length>0)t.sep=t.sep.concat(n,this.sourceToken);else t.sep.push(this.sourceToken);else if(!t.sep)Object.assign(t,{key:null,sep:[this.sourceToken]});else if(t.value||o)e.items.push({start:n,key:null,sep:[this.sourceToken]});else if(mi(t.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]});else t.sep.push(this.sourceToken);this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let i=this.flowScalar(this.type);if(o||t.value)e.items.push({start:n,key:i,sep:[]}),this.onKeyLine=!0;else if(t.sep)this.stack.push(i);else Object.assign(t,{key:i,sep:[]}),this.onKeyLine=!0;return}default:{let i=this.startBlockValue(e);if(i){if(i.type==="block-seq"){if(!t.explicitKey&&t.sep&&!mi(t.sep,"newline")){yield*this.pop({type:"error",offset:this.offset,message:"Unexpected block-seq-ind on same line with key",source:this.source});return}}else if(r)e.items.push({start:n});this.stack.push(i);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(e){let t=e.items[e.items.length-1];switch(this.type){case"newline":if(t.value){let r="end"in t.value?t.value.end:void 0;if((Array.isArray(r)?r[r.length-1]:void 0)?.type==="comment")r?.push(this.sourceToken);else e.items.push({start:[this.sourceToken]})}else t.start.push(this.sourceToken);return;case"space":case"comment":if(t.value)e.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(t.start,e.indent)){let o=e.items[e.items.length-2]?.value?.end;if(Array.isArray(o)){Fh(o,t.start),o.push(this.sourceToken),e.items.pop();return}}t.start.push(this.sourceToken)}return;case"anchor":case"tag":if(t.value||this.indent<=e.indent)break;t.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==e.indent)break;if(t.value||mi(t.start,"seq-item-ind"))e.items.push({start:[this.sourceToken]});else t.start.push(this.sourceToken);return}if(this.indent>e.indent){let r=this.startBlockValue(e);if(r){this.stack.push(r);return}}yield*this.pop(),yield*this.step()}*flowCollection(e){let t=e.items[e.items.length-1];if(this.type==="flow-error-end"){let r;do yield*this.pop(),r=this.peek(1);while(r?.type==="flow-collection")}else if(e.end.length===0){switch(this.type){case"comma":case"explicit-key-ind":if(!t||t.sep)e.items.push({start:[this.sourceToken]});else t.start.push(this.sourceToken);return;case"map-value-ind":if(!t||t.value)e.items.push({start:[],key:null,sep:[this.sourceToken]});else if(t.sep)t.sep.push(this.sourceToken);else Object.assign(t,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":if(!t||t.value)e.items.push({start:[this.sourceToken]});else if(t.sep)t.sep.push(this.sourceToken);else t.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let o=this.flowScalar(this.type);if(!t||t.value)e.items.push({start:[],key:o,sep:[]});else if(t.sep)this.stack.push(o);else Object.assign(t,{key:o,sep:[]});return}case"flow-map-end":case"flow-seq-end":e.end.push(this.sourceToken);return}let r=this.startBlockValue(e);if(r)this.stack.push(r);else yield*this.pop(),yield*this.step()}else{let r=this.peek(2);if(r.type==="block-map"&&(this.type==="map-value-ind"&&r.indent===e.indent||this.type==="newline"&&!r.items[r.items.length-1].sep))yield*this.pop(),yield*this.step();else if(this.type==="map-value-ind"&&r.type!=="flow-collection"){let o=Mh(r),n=yc(o);rB(e);let i=e.end.splice(1,e.end.length);i.push(this.sourceToken);let s={type:"block-map",offset:e.offset,indent:e.indent,items:[{start:n,key:e,sep:i}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=s}else yield*this.lineEnd(e)}}flowScalar(e){if(this.onNewLine){let t=this.source.indexOf(`
382
382
  `)+1;while(t!==0)this.onNewLine(this.offset+t),t=this.source.indexOf(`
383
- `,t)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;let t=Mh(e),r=yc(t);return r.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:r,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;let t=Mh(e),r=yc(t);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:r,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(e,t){if(this.type!=="comment")return!1;if(this.indent<=t)return!1;return e.every((r)=>r.type==="newline"||r.type==="space")}*documentEnd(e){if(this.type!=="doc-mode"){if(e.end)e.end.push(this.sourceToken);else e.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}*lineEnd(e){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*this.pop(),yield*this.step();break;case"newline":this.onKeyLine=!1;case"space":case"comment":default:if(e.end)e.end.push(this.sourceToken);else e.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}}eoe.Parser=oB});var lB=ge(function(loe){var iB=jI(),roe=Hu(),Xu=Vu(),noe=WE(),ooe=Me(),ioe=WI(),sB=GI();function aB(e){let t=e.prettyErrors!==!1;return{lineCounter:e.lineCounter||t&&new ioe.LineCounter||null,prettyErrors:t}}function soe(e,t={}){let{lineCounter:r,prettyErrors:o}=aB(t),n=new sB.Parser(r?.addNewLine),i=new iB.Composer(t),s=Array.from(i.compose(n.parse(e)));if(o&&r)for(let a of s)a.errors.forEach(Xu.prettifyError(e,r)),a.warnings.forEach(Xu.prettifyError(e,r));if(s.length>0)return s;return Object.assign([],{empty:!0},i.streamInfo())}function cB(e,t={}){let{lineCounter:r,prettyErrors:o}=aB(t),n=new sB.Parser(r?.addNewLine),i=new iB.Composer(t),s=null;for(let a of i.compose(n.parse(e),!0,e.length))if(!s)s=a;else if(s.options.logLevel!=="silent"){s.errors.push(new Xu.YAMLParseError(a.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}if(o&&r)s.errors.forEach(Xu.prettifyError(e,r)),s.warnings.forEach(Xu.prettifyError(e,r));return s}function aoe(e,t,r){let o=void 0;if(typeof t==="function")o=t;else if(r===void 0&&t&&typeof t==="object")r=t;let n=cB(e,r);if(!n)return null;if(n.warnings.forEach((i)=>noe.warn(n.options.logLevel,i)),n.errors.length>0)if(n.options.logLevel!=="silent")throw n.errors[0];else n.errors=[];return n.toJS(Object.assign({reviver:o},r))}function coe(e,t,r){let o=null;if(typeof t==="function"||Array.isArray(t))o=t;else if(r===void 0&&t)r=t;if(typeof r==="string")r=r.length;if(typeof r==="number"){let n=Math.round(r);r=n<1?void 0:n>8?{indent:8}:{indent:n}}if(e===void 0){let{keepUndefined:n}=r??t??{};if(!n)return}if(ooe.isDocument(e)&&!o)return e.toString(r);return new roe.Document(e,o,r).toString(r)}loe.parse=aoe;loe.parseAllDocuments=soe;loe.parseDocument=cB;loe.stringify=coe});var moe,hoe,goe,QI,yoe,hi,boe,Soe,voe,woe,dTe,xoe,_oe,Eoe,Jh,uB,Ioe,koe,Aoe,Toe,$oe,Roe,Ooe,Coe,Poe,zoe,po,mo,Noe,bc,YI,Doe,Loe,Boe,joe,Zoe,Uoe,qoe,Moe,Foe,Ln,Joe,Koe,Hoe;var ed=w(()=>{moe=jI(),hoe=Hu(),goe=_I(),QI=Vu(),yoe=Pu(),hi=Me(),boe=ui(),Soe=Et(),voe=fi(),woe=pi(),dTe=Uh(),xoe=VI(),_oe=WI(),Eoe=GI(),Jh=lB(),uB=Ou();Ioe=moe.Composer,koe=hoe.Document,Aoe=goe.Schema,Toe=QI.YAMLError,$oe=QI.YAMLParseError,Roe=QI.YAMLWarning,Ooe=yoe.Alias,Coe=hi.isAlias,Poe=hi.isCollection,zoe=hi.isDocument,po=hi.isMap,mo=hi.isNode,Noe=hi.isPair,bc=hi.isScalar,YI=hi.isSeq,Doe=boe.Pair,Loe=Soe.Scalar,Boe=voe.YAMLMap,joe=woe.YAMLSeq,Zoe=xoe.Lexer,Uoe=_oe.LineCounter,qoe=Eoe.Parser,Moe=Jh.parse,Foe=Jh.parseAllDocuments,Ln=Jh.parseDocument,Joe=Jh.stringify,Koe=uB.visit,Hoe=uB.visitAsync});var hB={};Ut(hB,{assertPilotUsersRemoved:()=>ek,createPilotOffboardDriver:()=>XI,offboardPilotUsers:()=>fB});import{access as Voe,readdir as Woe,readFile as Goe,rm as td,writeFile as Qoe}from"fs/promises";import{basename as Yoe,join as ho}from"path";async function fB(e,t){let r=[...new Set(t.handles.map((f)=>pr.parse(f)))].sort((f,m)=>f.localeCompare(m));if(r.length===0)throw Error("At least one pilot handle is required");let o=t.dryRun??!0,n=`sunset:${r.join(",")}`;if(!o&&t.confirmation!==n)throw Error(`Exact confirmation required: ${n}`);let i=t.env??process.env,s=t.logger??console.info,a=await ut(e),c=r.map((f)=>Xoe(a,f,i)),u=t.driver??XI({env:i,fetchImpl:t.fetchImpl,contentRepoTokenName:a.pilot.contentRepoAdminToken}),d=await Promise.all(c.map(async(f)=>({target:f,inspection:await u.inspect(f)})));if(tie(d),rie(d,o,s),!o){for(let f of d)if(!f.inspection.contentRepoArchived)await u.archiveContentRepo(f.target),s(`[${f.target.handle}] archived ${f.target.contentRepo}`);for(let f of d)for(let m of f.inspection.dnsRecords)await u.deleteDnsRecord(f.target,m),s(`[${f.target.handle}] deleted DNS ${m.name}`);for(let f of d)if(f.inspection.server)await u.deleteServer(f.target,f.inspection.server),s(`[${f.target.handle}] deleted ${f.target.instanceName}`);await eie(c,u,t.sleep??((f)=>new Promise((m)=>setTimeout(m,f)))),await nie(e,r),await ao(e),await ek(e,r),s(`Removed desired state for ${r.length} pilot user(s)`)}return{dryRun:o,handles:r,confirmation:n,plans:d}}function Xoe(e,t,r){let o=e.users.find((d)=>d.handle===t),n=`${t}${e.pilot.domainSuffix}`,i=o?.domain??n,s=PE(i,{sharedDomain:e.pilot.domainSuffix}),a=o?.cloudflareZoneId??Kh(r,"CF_ZONE_ID"),c=o?.contentRepo??`${e.pilot.contentRepoPrefix}${t}-content`,u=c.includes("/")?c:`${e.pilot.githubOrg}/${c}`;return{handle:t,instanceName:`rover-${t}`,domain:i,previewDomain:s,...i===n?{}:{wwwDomain:`www.${i}`},contentRepo:u,cloudflareZoneId:a}}async function eie(e,t,r){for(let o of e)for(let n=1;n<=20;n+=1){let i=await t.inspect(o);if(!i.server&&i.dnsRecords.length===0&&i.contentRepoArchived)break;if(n===20)throw Error(`[${o.handle}] provider cleanup did not converge`);await r(1500)}}function tie(e){for(let{target:t,inspection:r}of e){if(r.server&&r.server.name!==t.instanceName)throw Error(`[${t.handle}] unexpected server name: ${r.server.name}`);let o=new Set([t.domain,t.previewDomain,...t.wwwDomain?[t.wwwDomain]:[]]);for(let n of r.dnsRecords){if(!o.has(n.name))throw Error(`[${t.handle}] refusing unexpected DNS record ${n.name}`);if(n.type==="A"&&r.server?.ip&&n.content!==r.server.ip)throw Error(`[${t.handle}] ${n.name} does not point to the retiring server`)}}}function rie(e,t,r){r(`${t?"Dry run":"Apply"}: ${e.map(({target:o})=>o.handle).join(", ")}`);for(let{target:o,inspection:n}of e){let i=n.server?`delete ${o.instanceName}`:"already absent",s=n.dnsRecords.length>0?n.dnsRecords.map((c)=>`${c.type} ${c.name}`).join(", "):"already absent",a=n.contentRepoArchived?"already archived":`archive ${o.contentRepo}`;r(`[${o.handle}] server: ${i}; DNS: ${s}; repo: ${a}`)}r("Runtime backups: none")}async function nie(e,t){let r=new Set(t),o=ho(e,"cohorts");for(let n of(await Woe(o)).filter((i)=>i.endsWith(".yaml"))){let i=ho(o,n),s=await Goe(i,"utf8"),a=Ln(s);if(a.errors.length>0)throw Error(`${n}: ${a.errors[0]?.message??"invalid YAML"}`);let c=a.get("members",!0);if(!YI(c))throw Error(`${n}: members must be a sequence`);let u=c.items.filter((d)=>!bc(d)||typeof d.value!=="string"||!r.has(d.value));if(u.length===c.items.length)continue;if(u.length===0){await td(i);continue}c.items=u,qr.parse(a.toJS()),await Qoe(i,a.toString())}for(let n of t)await Promise.all([td(ho(e,"users",`${n}.yaml`),{force:!0}),td(ho(e,"users",`${n}.secrets.yaml`),{force:!0}),td(ho(e,"users",`${n}.secrets.yaml.age`),{force:!0}),td(ho(e,"users",n),{recursive:!0,force:!0})])}function XI(e){let t=e.fetchImpl??fetch,r=Kh(e.env,"HCLOUD_TOKEN"),o=Kh(e.env,"CF_API_TOKEN"),n=Kh(e.env,e.contentRepoTokenName);return{async inspect(i){let[s,a,c]=await Promise.all([oie(t,r,i.instanceName),Promise.all([i.domain,i.previewDomain,...i.wwwDomain?[i.wwwDomain]:[]].map((u)=>iie(t,o,i.cloudflareZoneId,u))).then((u)=>u.flat()),sie(t,n,i.contentRepo)]);if(s.length>1)throw Error(`[${i.handle}] expected at most one server, found ${s.length}`);return{...s[0]?{server:s[0]}:{},dnsRecords:a,contentRepoArchived:c.archived}},async archiveContentRepo(i){await Sc(t,`https://api.github.com/repos/${i.contentRepo}`,{method:"PATCH",headers:pB(n),body:JSON.stringify({archived:!0})},"GitHub repository archive")},async deleteDnsRecord(i,s){if(vc(await Sc(t,`https://api.cloudflare.com/client/v4/zones/${i.cloudflareZoneId}/dns_records/${s.id}`,{method:"DELETE",headers:mB(o)},"Cloudflare DNS delete")).success!==!0)throw Error(`Cloudflare DNS delete failed for ${s.name}`)},async deleteServer(i,s){await Sc(t,`https://api.hetzner.cloud/v1/servers/${s.id}`,{method:"DELETE",headers:{Authorization:`Bearer ${r}`}},"Hetzner server delete",!0)}}}async function oie(e,t,r){let o=new URL("https://api.hetzner.cloud/v1/servers");o.searchParams.set("label_selector",`brain=${r}`);let i=vc(await Sc(e,o.toString(),{headers:{Authorization:`Bearer ${t}`}},"Hetzner server lookup")).servers;if(!Array.isArray(i))throw Error("Hetzner server lookup returned an invalid payload");return i.map((s)=>{let a=vc(s),c=dB(a.public_net),u=dB(c?.ipv4);return{id:aie(a.id,"Hetzner server id"),name:rd(a.name,"Hetzner server name"),...typeof u?.ip==="string"?{ip:u.ip}:{}}})}async function iie(e,t,r,o){let n=new URL(`https://api.cloudflare.com/client/v4/zones/${r}/dns_records`);n.searchParams.set("name",o);let i=vc(await Sc(e,n.toString(),{headers:mB(t)},"Cloudflare DNS lookup")),s=i.result;if(i.success!==!0||!Array.isArray(s))throw Error(`Cloudflare DNS lookup failed for ${o}`);return s.map((a)=>{let c=vc(a),u=rd(c.type,"Cloudflare record type");if(u!=="A"&&u!=="CNAME")throw Error(`Unsupported Cloudflare record type ${u} for ${o}`);return{id:rd(c.id,"Cloudflare record id"),name:rd(c.name,"Cloudflare record name"),type:u,content:rd(c.content,"Cloudflare record content")}})}async function sie(e,t,r){let o=vc(await Sc(e,`https://api.github.com/repos/${r}`,{headers:pB(t)},"GitHub repository lookup"));if(typeof o.archived!=="boolean")throw Error(`Invalid repository archive state for ${r}`);return{archived:o.archived}}async function Sc(e,t,r,o,n=!1){let i=await e(t,r),s=await i.text();if(!i.ok)throw Error(`${o} failed (${i.status}): ${s}`);if(!s&&n)return{};try{return JSON.parse(s)}catch{throw Error(`${o} returned an invalid JSON response`)}}function pB(e){return{Accept:"application/vnd.github+json",Authorization:`Bearer ${e}`,"Content-Type":"application/json","X-GitHub-Api-Version":"2022-11-28"}}function mB(e){return{Authorization:`Bearer ${e}`}}function Kh(e,t){let r=e[t];if(!r)throw Error(`Missing required environment variable: ${t}`);return r}function vc(e){if(!gs(e))throw Error("Provider returned an unexpected payload");return e}function dB(e){return gs(e)?e:void 0}function rd(e,t){if(typeof e!=="string"||e.length===0)throw Error(`Missing ${t}`);return e}function aie(e,t){if(typeof e!=="number")throw Error(`Missing ${t}`);return e}async function cie(e){try{return await Voe(e),!0}catch{return!1}}async function ek(e,t){for(let r of t)for(let o of[ho(e,"users",`${r}.yaml`),ho(e,"users",`${r}.secrets.yaml.age`),ho(e,"users",r)])if(await cie(o))throw Error(`Offboarded user state remains: ${Yoe(o)}`)}var tk=w(()=>{ed();Mr();zE();tc();Pn()});var p6={};Ut(p6,{upgradePilotRepo:()=>xle});import{readFile as ble}from"fs/promises";import{join as Sle}from"path";async function f6(e){let t=Sle(e,"package.json"),o=vle.parse(JSON.parse(await ble(t,"utf8"))).devDependencies?.["@rizom/ops"];if(!o)throw Error(`${t} does not pin @rizom/ops as a devDependency`);return o}async function wle(e,t){let o=await Bun.spawn(e,{cwd:t,stdout:"inherit",stderr:"inherit"}).exited;if(o!==0)throw Error(`${e.join(" ")} failed with exit ${o}`)}async function xle(e,t={}){let r=t.exec??wle,o=await f6(e),n=t.version??"latest";await r(["bun","add","--dev","--exact",`@rizom/ops@${n}`],e);let i=await f6(e);return await r(["bun","x","brains-ops","init","."],e),{from:o,to:i}}var vle;var m6=w(()=>{he();vle=l.object({devDependencies:l.record(l.string(),l.string()).optional()})});function b6(e){if(e==="core")return{bundles:["core","media","web","chat"]};if(e==="default")return{bundles:["core","media","automation","web","chat","site","publishing","federation"],add:["obsidian-vault"],remove:[...Ile]};return{bundles:["core","media","automation","web","chat","site","publishing","federation"],add:["obsidian-vault"]}}function kle(e){let t=_le.parse(e);return si.parse({brainVersion:t.brainVersion,bundleContract:ii,...b6(t.preset),githubOrg:t.githubOrg,contentRepoPrefix:t.contentRepoPrefix,domainSuffix:t.domainSuffix,aiApiKey:t.aiApiKey,gitSyncToken:t.gitSyncToken,contentRepoAdminToken:t.contentRepoAdminToken,agePublicKey:t.agePublicKey})}function Ale(e){let t=Ele.parse(e),r=t.presetOverride?b6(t.presetOverride):void 0;return qr.parse({members:[...t.members],...t.brainVersionOverride?{brainVersionOverride:t.brainVersionOverride}:{},...r?{bundlesOverride:r.bundles,...r.add?{addOverride:r.add}:{},...r.remove?{removeOverride:r.remove}:{}}:{},...t.aiApiKeyOverride?{aiApiKeyOverride:t.aiApiKeyOverride}:{},...t.gitSyncTokenOverride?{gitSyncTokenOverride:t.gitSyncTokenOverride}:{}})}function S6(e){let t=Ln(e,{keepSourceTokens:!0});if(t.errors.length>0)throw Error(`Invalid desired-state YAML: ${t.errors[0]?.message}`);if(!po(t.contents))throw Error("Desired-state YAML must contain a mapping");return t}function tT(e,t){if(!po(e.contents))return;return e.contents.items.find((r)=>bc(r.key)&&r.key.value===t)}function h6(e,t){if(!mo(e)||!mo(t))return;if(e.commentBefore!==void 0)t.commentBefore=e.commentBefore;if(e.comment!==void 0)t.comment=e.comment;if(e.spaceBefore!==void 0)t.spaceBefore=e.spaceBefore}function g6(e,t){if(!e||!mo(t))return;let r=[mo(e.key)?e.key.commentBefore:void 0,mo(e.key)?e.key.comment:void 0,mo(e.value)?e.value.commentBefore:void 0,mo(e.value)?e.value.comment:void 0].filter((o)=>o!==void 0);if(r.length===0)return;t.commentBefore=[t.commentBefore,...r].filter((o)=>o!==void 0).join(`
383
+ `,t)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;let t=Mh(e),r=yc(t);return r.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:r,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;let t=Mh(e),r=yc(t);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:r,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(e,t){if(this.type!=="comment")return!1;if(this.indent<=t)return!1;return e.every((r)=>r.type==="newline"||r.type==="space")}*documentEnd(e){if(this.type!=="doc-mode"){if(e.end)e.end.push(this.sourceToken);else e.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}*lineEnd(e){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*this.pop(),yield*this.step();break;case"newline":this.onKeyLine=!1;case"space":case"comment":default:if(e.end)e.end.push(this.sourceToken);else e.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}}eoe.Parser=oB});var lB=ge(function(loe){var iB=jI(),roe=Hu(),Xu=Vu(),noe=WE(),ooe=Me(),ioe=WI(),sB=GI();function aB(e){let t=e.prettyErrors!==!1;return{lineCounter:e.lineCounter||t&&new ioe.LineCounter||null,prettyErrors:t}}function soe(e,t={}){let{lineCounter:r,prettyErrors:o}=aB(t),n=new sB.Parser(r?.addNewLine),i=new iB.Composer(t),s=Array.from(i.compose(n.parse(e)));if(o&&r)for(let a of s)a.errors.forEach(Xu.prettifyError(e,r)),a.warnings.forEach(Xu.prettifyError(e,r));if(s.length>0)return s;return Object.assign([],{empty:!0},i.streamInfo())}function cB(e,t={}){let{lineCounter:r,prettyErrors:o}=aB(t),n=new sB.Parser(r?.addNewLine),i=new iB.Composer(t),s=null;for(let a of i.compose(n.parse(e),!0,e.length))if(!s)s=a;else if(s.options.logLevel!=="silent"){s.errors.push(new Xu.YAMLParseError(a.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}if(o&&r)s.errors.forEach(Xu.prettifyError(e,r)),s.warnings.forEach(Xu.prettifyError(e,r));return s}function aoe(e,t,r){let o=void 0;if(typeof t==="function")o=t;else if(r===void 0&&t&&typeof t==="object")r=t;let n=cB(e,r);if(!n)return null;if(n.warnings.forEach((i)=>noe.warn(n.options.logLevel,i)),n.errors.length>0)if(n.options.logLevel!=="silent")throw n.errors[0];else n.errors=[];return n.toJS(Object.assign({reviver:o},r))}function coe(e,t,r){let o=null;if(typeof t==="function"||Array.isArray(t))o=t;else if(r===void 0&&t)r=t;if(typeof r==="string")r=r.length;if(typeof r==="number"){let n=Math.round(r);r=n<1?void 0:n>8?{indent:8}:{indent:n}}if(e===void 0){let{keepUndefined:n}=r??t??{};if(!n)return}if(ooe.isDocument(e)&&!o)return e.toString(r);return new roe.Document(e,o,r).toString(r)}loe.parse=aoe;loe.parseAllDocuments=soe;loe.parseDocument=cB;loe.stringify=coe});var moe,hoe,goe,QI,yoe,hi,boe,Soe,voe,woe,uTe,xoe,_oe,Eoe,Jh,uB,Ioe,koe,Aoe,Toe,$oe,Roe,Ooe,Coe,Poe,zoe,po,mo,Noe,bc,YI,Doe,Loe,Boe,joe,Zoe,Uoe,qoe,Moe,Foe,Ln,Joe,Koe,Hoe;var ed=w(()=>{moe=jI(),hoe=Hu(),goe=_I(),QI=Vu(),yoe=Pu(),hi=Me(),boe=ui(),Soe=Et(),voe=fi(),woe=pi(),uTe=Uh(),xoe=VI(),_oe=WI(),Eoe=GI(),Jh=lB(),uB=Ou();Ioe=moe.Composer,koe=hoe.Document,Aoe=goe.Schema,Toe=QI.YAMLError,$oe=QI.YAMLParseError,Roe=QI.YAMLWarning,Ooe=yoe.Alias,Coe=hi.isAlias,Poe=hi.isCollection,zoe=hi.isDocument,po=hi.isMap,mo=hi.isNode,Noe=hi.isPair,bc=hi.isScalar,YI=hi.isSeq,Doe=boe.Pair,Loe=Soe.Scalar,Boe=voe.YAMLMap,joe=woe.YAMLSeq,Zoe=xoe.Lexer,Uoe=_oe.LineCounter,qoe=Eoe.Parser,Moe=Jh.parse,Foe=Jh.parseAllDocuments,Ln=Jh.parseDocument,Joe=Jh.stringify,Koe=uB.visit,Hoe=uB.visitAsync});var hB={};Ut(hB,{assertPilotUsersRemoved:()=>ek,createPilotOffboardDriver:()=>XI,offboardPilotUsers:()=>fB});import{access as Voe,readdir as Woe,readFile as Goe,rm as td,writeFile as Qoe}from"fs/promises";import{basename as Yoe,join as ho}from"path";async function fB(e,t){let r=[...new Set(t.handles.map((f)=>pr.parse(f)))].sort((f,m)=>f.localeCompare(m));if(r.length===0)throw Error("At least one pilot handle is required");let o=t.dryRun??!0,n=`sunset:${r.join(",")}`;if(!o&&t.confirmation!==n)throw Error(`Exact confirmation required: ${n}`);let i=t.env??process.env,s=t.logger??console.info,a=await ut(e),c=r.map((f)=>Xoe(a,f,i)),u=t.driver??XI({env:i,fetchImpl:t.fetchImpl,contentRepoTokenName:a.pilot.contentRepoAdminToken}),d=await Promise.all(c.map(async(f)=>({target:f,inspection:await u.inspect(f)})));if(tie(d),rie(d,o,s),!o){for(let f of d)if(!f.inspection.contentRepoArchived)await u.archiveContentRepo(f.target),s(`[${f.target.handle}] archived ${f.target.contentRepo}`);for(let f of d)for(let m of f.inspection.dnsRecords)await u.deleteDnsRecord(f.target,m),s(`[${f.target.handle}] deleted DNS ${m.name}`);for(let f of d)if(f.inspection.server)await u.deleteServer(f.target,f.inspection.server),s(`[${f.target.handle}] deleted ${f.target.instanceName}`);await eie(c,u,t.sleep??((f)=>new Promise((m)=>setTimeout(m,f)))),await nie(e,r),await ao(e),await ek(e,r),s(`Removed desired state for ${r.length} pilot user(s)`)}return{dryRun:o,handles:r,confirmation:n,plans:d}}function Xoe(e,t,r){let o=e.users.find((d)=>d.handle===t),n=`${t}${e.pilot.domainSuffix}`,i=o?.domain??n,s=PE(i,{sharedDomain:e.pilot.domainSuffix}),a=o?.cloudflareZoneId??Kh(r,"CF_ZONE_ID"),c=o?.contentRepo??`${e.pilot.contentRepoPrefix}${t}-content`,u=c.includes("/")?c:`${e.pilot.githubOrg}/${c}`;return{handle:t,instanceName:`rover-${t}`,domain:i,previewDomain:s,...i===n?{}:{wwwDomain:`www.${i}`},contentRepo:u,cloudflareZoneId:a}}async function eie(e,t,r){for(let o of e)for(let n=1;n<=20;n+=1){let i=await t.inspect(o);if(!i.server&&i.dnsRecords.length===0&&i.contentRepoArchived)break;if(n===20)throw Error(`[${o.handle}] provider cleanup did not converge`);await r(1500)}}function tie(e){for(let{target:t,inspection:r}of e){if(r.server&&r.server.name!==t.instanceName)throw Error(`[${t.handle}] unexpected server name: ${r.server.name}`);let o=new Set([t.domain,t.previewDomain,...t.wwwDomain?[t.wwwDomain]:[]]);for(let n of r.dnsRecords){if(!o.has(n.name))throw Error(`[${t.handle}] refusing unexpected DNS record ${n.name}`);if(n.type==="A"&&r.server?.ip&&n.content!==r.server.ip)throw Error(`[${t.handle}] ${n.name} does not point to the retiring server`)}}}function rie(e,t,r){r(`${t?"Dry run":"Apply"}: ${e.map(({target:o})=>o.handle).join(", ")}`);for(let{target:o,inspection:n}of e){let i=n.server?`delete ${o.instanceName}`:"already absent",s=n.dnsRecords.length>0?n.dnsRecords.map((c)=>`${c.type} ${c.name}`).join(", "):"already absent",a=n.contentRepoArchived?"already archived":`archive ${o.contentRepo}`;r(`[${o.handle}] server: ${i}; DNS: ${s}; repo: ${a}`)}r("Runtime backups: none")}async function nie(e,t){let r=new Set(t),o=ho(e,"cohorts");for(let n of(await Woe(o)).filter((i)=>i.endsWith(".yaml"))){let i=ho(o,n),s=await Goe(i,"utf8"),a=Ln(s);if(a.errors.length>0)throw Error(`${n}: ${a.errors[0]?.message??"invalid YAML"}`);let c=a.get("members",!0);if(!YI(c))throw Error(`${n}: members must be a sequence`);let u=c.items.filter((d)=>!bc(d)||typeof d.value!=="string"||!r.has(d.value));if(u.length===c.items.length)continue;if(u.length===0){await td(i);continue}c.items=u,qr.parse(a.toJS()),await Qoe(i,a.toString())}for(let n of t)await Promise.all([td(ho(e,"users",`${n}.yaml`),{force:!0}),td(ho(e,"users",`${n}.secrets.yaml`),{force:!0}),td(ho(e,"users",`${n}.secrets.yaml.age`),{force:!0}),td(ho(e,"users",n),{recursive:!0,force:!0})])}function XI(e){let t=e.fetchImpl??fetch,r=Kh(e.env,"HCLOUD_TOKEN"),o=Kh(e.env,"CF_API_TOKEN"),n=Kh(e.env,e.contentRepoTokenName);return{async inspect(i){let[s,a,c]=await Promise.all([oie(t,r,i.instanceName),Promise.all([i.domain,i.previewDomain,...i.wwwDomain?[i.wwwDomain]:[]].map((u)=>iie(t,o,i.cloudflareZoneId,u))).then((u)=>u.flat()),sie(t,n,i.contentRepo)]);if(s.length>1)throw Error(`[${i.handle}] expected at most one server, found ${s.length}`);return{...s[0]?{server:s[0]}:{},dnsRecords:a,contentRepoArchived:c.archived}},async archiveContentRepo(i){await Sc(t,`https://api.github.com/repos/${i.contentRepo}`,{method:"PATCH",headers:pB(n),body:JSON.stringify({archived:!0})},"GitHub repository archive")},async deleteDnsRecord(i,s){if(vc(await Sc(t,`https://api.cloudflare.com/client/v4/zones/${i.cloudflareZoneId}/dns_records/${s.id}`,{method:"DELETE",headers:mB(o)},"Cloudflare DNS delete")).success!==!0)throw Error(`Cloudflare DNS delete failed for ${s.name}`)},async deleteServer(i,s){await Sc(t,`https://api.hetzner.cloud/v1/servers/${s.id}`,{method:"DELETE",headers:{Authorization:`Bearer ${r}`}},"Hetzner server delete",!0)}}}async function oie(e,t,r){let o=new URL("https://api.hetzner.cloud/v1/servers");o.searchParams.set("label_selector",`brain=${r}`);let i=vc(await Sc(e,o.toString(),{headers:{Authorization:`Bearer ${t}`}},"Hetzner server lookup")).servers;if(!Array.isArray(i))throw Error("Hetzner server lookup returned an invalid payload");return i.map((s)=>{let a=vc(s),c=dB(a.public_net),u=dB(c?.ipv4);return{id:aie(a.id,"Hetzner server id"),name:rd(a.name,"Hetzner server name"),...typeof u?.ip==="string"?{ip:u.ip}:{}}})}async function iie(e,t,r,o){let n=new URL(`https://api.cloudflare.com/client/v4/zones/${r}/dns_records`);n.searchParams.set("name",o);let i=vc(await Sc(e,n.toString(),{headers:mB(t)},"Cloudflare DNS lookup")),s=i.result;if(i.success!==!0||!Array.isArray(s))throw Error(`Cloudflare DNS lookup failed for ${o}`);return s.map((a)=>{let c=vc(a),u=rd(c.type,"Cloudflare record type");if(u!=="A"&&u!=="CNAME")throw Error(`Unsupported Cloudflare record type ${u} for ${o}`);return{id:rd(c.id,"Cloudflare record id"),name:rd(c.name,"Cloudflare record name"),type:u,content:rd(c.content,"Cloudflare record content")}})}async function sie(e,t,r){let o=vc(await Sc(e,`https://api.github.com/repos/${r}`,{headers:pB(t)},"GitHub repository lookup"));if(typeof o.archived!=="boolean")throw Error(`Invalid repository archive state for ${r}`);return{archived:o.archived}}async function Sc(e,t,r,o,n=!1){let i=await e(t,r),s=await i.text();if(!i.ok)throw Error(`${o} failed (${i.status}): ${s}`);if(!s&&n)return{};try{return JSON.parse(s)}catch{throw Error(`${o} returned an invalid JSON response`)}}function pB(e){return{Accept:"application/vnd.github+json",Authorization:`Bearer ${e}`,"Content-Type":"application/json","X-GitHub-Api-Version":"2022-11-28"}}function mB(e){return{Authorization:`Bearer ${e}`}}function Kh(e,t){let r=e[t];if(!r)throw Error(`Missing required environment variable: ${t}`);return r}function vc(e){if(!gs(e))throw Error("Provider returned an unexpected payload");return e}function dB(e){return gs(e)?e:void 0}function rd(e,t){if(typeof e!=="string"||e.length===0)throw Error(`Missing ${t}`);return e}function aie(e,t){if(typeof e!=="number")throw Error(`Missing ${t}`);return e}async function cie(e){try{return await Voe(e),!0}catch{return!1}}async function ek(e,t){for(let r of t)for(let o of[ho(e,"users",`${r}.yaml`),ho(e,"users",`${r}.secrets.yaml.age`),ho(e,"users",r)])if(await cie(o))throw Error(`Offboarded user state remains: ${Yoe(o)}`)}var tk=w(()=>{ed();Mr();zE();tc();Pn()});var p6={};Ut(p6,{upgradePilotRepo:()=>xle});import{readFile as ble}from"fs/promises";import{join as Sle}from"path";async function f6(e){let t=Sle(e,"package.json"),o=vle.parse(JSON.parse(await ble(t,"utf8"))).devDependencies?.["@rizom/ops"];if(!o)throw Error(`${t} does not pin @rizom/ops as a devDependency`);return o}async function wle(e,t){let o=await Bun.spawn(e,{cwd:t,stdout:"inherit",stderr:"inherit"}).exited;if(o!==0)throw Error(`${e.join(" ")} failed with exit ${o}`)}async function xle(e,t={}){let r=t.exec??wle,o=await f6(e),n=t.version??"latest";await r(["bun","add","--dev","--exact",`@rizom/ops@${n}`],e);let i=await f6(e);return await r(["bun","x","brains-ops","init","."],e),{from:o,to:i}}var vle;var m6=w(()=>{he();vle=l.object({devDependencies:l.record(l.string(),l.string()).optional()})});function b6(e){if(e==="core")return{bundles:["core","media","web","chat"]};if(e==="default")return{bundles:["core","media","automation","web","chat","site","publishing","federation"],add:["obsidian-vault"],remove:[...Ile]};return{bundles:["core","media","automation","web","chat","site","publishing","federation"],add:["obsidian-vault"]}}function kle(e){let t=_le.parse(e);return si.parse({brainVersion:t.brainVersion,bundleContract:ii,...b6(t.preset),githubOrg:t.githubOrg,contentRepoPrefix:t.contentRepoPrefix,domainSuffix:t.domainSuffix,aiApiKey:t.aiApiKey,gitSyncToken:t.gitSyncToken,contentRepoAdminToken:t.contentRepoAdminToken,agePublicKey:t.agePublicKey})}function Ale(e){let t=Ele.parse(e),r=t.presetOverride?b6(t.presetOverride):void 0;return qr.parse({members:[...t.members],...t.brainVersionOverride?{brainVersionOverride:t.brainVersionOverride}:{},...r?{bundlesOverride:r.bundles,...r.add?{addOverride:r.add}:{},...r.remove?{removeOverride:r.remove}:{}}:{},...t.aiApiKeyOverride?{aiApiKeyOverride:t.aiApiKeyOverride}:{},...t.gitSyncTokenOverride?{gitSyncTokenOverride:t.gitSyncTokenOverride}:{}})}function S6(e){let t=Ln(e,{keepSourceTokens:!0});if(t.errors.length>0)throw Error(`Invalid desired-state YAML: ${t.errors[0]?.message}`);if(!po(t.contents))throw Error("Desired-state YAML must contain a mapping");return t}function tT(e,t){if(!po(e.contents))return;return e.contents.items.find((r)=>bc(r.key)&&r.key.value===t)}function h6(e,t){if(!mo(e)||!mo(t))return;if(e.commentBefore!==void 0)t.commentBefore=e.commentBefore;if(e.comment!==void 0)t.comment=e.comment;if(e.spaceBefore!==void 0)t.spaceBefore=e.spaceBefore}function g6(e,t){if(!e||!mo(t))return;let r=[mo(e.key)?e.key.commentBefore:void 0,mo(e.key)?e.key.comment:void 0,mo(e.value)?e.value.commentBefore:void 0,mo(e.value)?e.value.comment:void 0].filter((o)=>o!==void 0);if(r.length===0)return;t.commentBefore=[t.commentBefore,...r].filter((o)=>o!==void 0).join(`
384
384
  `)}function v6(e,t,r,o){if(!po(e.contents))throw Error("Desired-state YAML must contain a mapping");let n=e.contents.items.findIndex((s)=>bc(s.key)&&s.key.value===t),i=e.createPair(r,[...o]);if(n>=0){let s=e.contents.items[n];h6(s?.key,i.key),h6(s?.value,i.value),e.contents.items.splice(n,1,i)}else e.contents.add(i);return i}function w6(e){let t=S6(e),r=kle(t.toJS()),o=tT(t,"schemaVersion"),n=tT(t,"model");g6(o,tT(t,"brainVersion")?.key),t.delete("schemaVersion"),t.set("bundleContract",ii);let i=v6(t,"preset","bundles",r.bundles);if(g6(n,i.key),t.delete("model"),r.add)t.set("add",r.add);else t.delete("add");if(r.remove)t.set("remove",r.remove);else t.delete("remove");return si.parse(t.toJS()),t.toString({lineWidth:0})}function x6(e){let t=S6(e),r=Ale(t.toJS());if(r.bundlesOverride)v6(t,"presetOverride","bundlesOverride",r.bundlesOverride);else t.delete("presetOverride"),t.delete("bundlesOverride");if(r.addOverride)t.set("addOverride",r.addOverride);else t.delete("addOverride");if(r.removeOverride)t.set("removeOverride",r.removeOverride);else t.delete("removeOverride");return qr.parse(t.toJS()),t.toString({lineWidth:0})}var y6,qd,_le,Ele,Ile;var _6=w(()=>{no();he();ed();Pn();y6=l.enum(["core","default","pro"]),qd=l.string().min(1),_le=l.strictObject({schemaVersion:l.literal(1),brainVersion:$t,model:l.literal("rover"),githubOrg:l.string().min(1),contentRepoPrefix:l.string().min(1),domainSuffix:l.string().min(1),preset:y6,aiApiKey:qd,gitSyncToken:qd,contentRepoAdminToken:qd,agePublicKey:l.string().startsWith("age1").min(1)}),Ele=l.strictObject({members:l.array(pr).min(1),brainVersionOverride:$t.optional(),presetOverride:y6.optional(),aiApiKeyOverride:qd.optional(),gitSyncTokenOverride:qd.optional()}).superRefine((e,t)=>{if(new Set(e.members).size!==e.members.length)t.addIssue({code:l.ZodIssueCode.custom,path:["members"],message:"cohort members must be unique"})}),Ile=["series","portfolio","content-pipeline","social-media","newsletter","stock-photo"]});function I6(e,t){let r=Ln(e,{keepSourceTokens:!0});if(r.errors.length>0||!po(r.contents))throw Error(`Invalid ${t} YAML`);return r}function Cle(e,t){return e.length===t.length&&e.every((r,o)=>r===t[o])}function k6(e,t,r){if(!Cle(t,r.sourceBundles))throw Error(`${e} source bundles changed after review: expected [${r.sourceBundles.join(", ")}], received [${t.join(", ")}]`)}function A6(e){let t=sn(e,Ole);if(!t.ok)throw Error(`Invalid capability bundle review: ${t.error}`);return t.data}function T6(e,t){let r=I6(e,"pilot desired-state"),o=$le.parse(r.toJS());return k6("pilot.yaml",o.bundles,t),r.set("bundleContract",ii),r.set("bundles",t.targetBundles),si.parse(r.toJS()),r.toString({lineWidth:0})}function $6(e,t,r){let o=I6(e,`cohort ${t}`),n=Rle.parse(o.toJS());if(n.bundlesOverride===void 0){if(r!==void 0)throw Error(`Capability bundle review names inheriting cohort ${t}`)}else{if(r===void 0)throw Error(`Cohort ${t} has an explicit legacy bundle selection but no reviewed mapping`);k6(`cohort ${t}`,n.bundlesOverride,r),o.set("bundlesOverride",r.targetBundles)}return qr.parse(o.toJS()),o.toString({lineWidth:0})}var Tle,rT,Kg,$le,Rle,E6,Ole;var R6=w(()=>{no();he();ed();Pn();Tle=l.enum(["core","site","publishing","team"]),rT=l.array(Tle).min(1),Kg=l.array(l.string().min(1)),$le=l.strictObject({brainVersion:$t,bundles:rT,add:Kg.optional(),remove:Kg.optional(),githubOrg:l.string().min(1),contentRepoPrefix:l.string().min(1),domainSuffix:l.string().min(1),aiApiKey:l.string().min(1),gitSyncToken:l.string().min(1),contentRepoAdminToken:l.string().min(1),agePublicKey:l.string().startsWith("age1").min(1)}),Rle=l.strictObject({members:l.array(pr).min(1),brainVersionOverride:$t.optional(),bundlesOverride:rT.optional(),addOverride:Kg.optional(),removeOverride:Kg.optional(),aiApiKeyOverride:l.string().min(1).optional(),gitSyncTokenOverride:l.string().min(1).optional()}),E6=l.strictObject({sourceBundles:rT,targetBundles:l.array(Bm).min(1)}),Ole=l.strictObject({bundleContract:l.literal(ii),pilot:E6,cohorts:l.record(pr,E6)})});var N6={};Ut(N6,{loadCapabilityBundleReview:()=>Ule,loadReviewedSitePins:()=>Zle,parseReviewedSitePins:()=>z6,stageLegacyCrossover:()=>Mle});import{access as Ple,cp as zle,mkdir as O6,readFile as Hc,readdir as P6,writeFile as Kc}from"fs/promises";import{basename as Nle,join as Hn,relative as Hg,resolve as C6}from"path";import{fileURLToPath as Dle}from"url";function z6(e){let t=sn(e,Lle);if(!t.ok)throw Error(`Invalid reviewed site pins: ${t.error}`);return t.data.sites}async function Zle(e){return z6(await Hc(e,"utf8"))}async function Ule(e){return A6(await Hc(e,"utf8"))}async function qle(e,t){let r=Hn(e,"users"),o=(await P6(r,{withFileTypes:!0})).filter((s)=>s.isFile()&&/\.ya?ml$/.test(s.name)).map((s)=>s.name).sort(),n=new Set(Object.keys(t??{})),i=[];for(let s of o){let a=Hn(r,s),c=await Hc(a,"utf8"),u=Ln(c,{keepSourceTokens:!0});if(u.errors.length>0||!po(u.contents))throw Error(`Invalid user desired-state YAML: ${s}`);let d=Ble.parse(u.toJS());if(!d.siteOverride)continue;let f=t?.[d.handle];if(!f)throw Error(`User ${d.handle} has a siteOverride but no reviewed site pin`);if(n.delete(d.handle),f.package!==d.siteOverride.package||f.theme!==d.siteOverride.theme)throw Error(`Reviewed site pin identity does not match user ${d.handle}`);if(d.siteOverride.version!==void 0&&d.siteOverride.version!==f.version)throw Error(`Reviewed site version does not match the existing pin for user ${d.handle}`);if(d.siteOverride.themeVersion!==void 0&&d.siteOverride.themeVersion!==f.themeVersion)throw Error(`Reviewed theme version does not match the existing pin for user ${d.handle}`);if(u.setIn(["siteOverride","version"],f.version),f.themeVersion!==void 0)u.setIn(["siteOverride","themeVersion"],f.themeVersion);else u.deleteIn(["siteOverride","themeVersion"]);jm.parse(u.toJS());let m=u.toString({lineWidth:0});if(m!==c)await Kc(a,m),i.push(Hg(e,a))}if(n.size>0)throw Error(`Reviewed site pins do not match site users: ${[...n].sort().join(", ")}`);return i}async function Mle(e,t,r={}){let o=C6(e),n=C6(t);if(o===n||n.startsWith(`${o}/`))throw Error("Crossover output must be outside the source repository");await zle(o,n,{recursive:!0,errorOnExist:!0,force:!1,filter:(A)=>{let O=Nle(A);return O!==".git"&&O!==".operator"&&O!==".brains-ops"&&O!==".turbo"&&O!=="dist"&&O!=="node_modules"&&O!==".env"&&O!==".env.local"&&!O.endsWith(".secrets.yaml")}});let i=[],s=Hn(n,"docs","canonical-crossover-record.md");try{await Ple(s)}catch{await O6(Hn(n,"docs"),{recursive:!0}),await Kc(s,await Hc(jle,"utf8")),i.push("docs/canonical-crossover-record.md")}let a=Hn(n,"pilot.yaml"),c=await Hc(a,"utf8"),d=Ln(c).toJS();if(!ku(d))throw Error(`${a} is not a YAML mapping`);let f=Array.isArray(d.bundles),m=r.bundleReview,h;if(f){if(!m)throw Error("Current canonical desired state requires an explicit capability bundle review manifest");h=T6(c,m.pilot)}else h=w6(c);await Kc(a,h),i.push("pilot.yaml");let b=Hn(n,"cohorts"),y=(await P6(b,{withFileTypes:!0})).filter((A)=>A.isFile()&&/\.ya?ml$/.test(A.name)).map((A)=>A.name).sort(),S=new Set(Object.keys(m?.cohorts??{}));for(let A of y){let O=Hn(b,A),L=await Hc(O,"utf8"),z=A.replace(/\.ya?ml$/,""),K=m?.cohorts[z];if(K)S.delete(z);await Kc(O,f?$6(L,z,K):x6(L)),i.push(Hg(n,O))}if(f&&S.size>0)throw Error(`Capability bundle review names unknown cohorts: ${[...S].sort().join(", ")}`);i.push(...await qle(n,r.sitePins));let x=await ut(n),_=th(x.pilot.githubOrg);for(let A of x.users){let O=await _(A),L=Hn(n,"users",A.handle);if(await O6(L,{recursive:!0}),O.brainYaml){let z=Hn(L,"brain.yaml");await Kc(z,O.brainYaml),i.push(Hg(n,z))}if(O.envFile){let z=Hn(L,".env");await Kc(z,O.envFile),i.push(Hg(n,z))}}return await ao(n,{registry:x}),i.push("views/users.md"),{outputDir:n,changedFiles:[...new Set(i)].sort()}}var Lle,Ble,jle;var D6=w(()=>{no();Au();he();ed();LE();_6();R6();Mr();tc();Pn();Lle=l.strictObject({sites:l.record(pr,dE)}),Ble=l.object({handle:pr,siteOverride:l.object({package:l.string().min(1),version:$t.optional(),theme:l.string().min(1).optional(),themeVersion:$t.optional()}).optional()}).passthrough(),jle=Dle(new URL("../templates/rover-pilot/docs/canonical-crossover-record.md",import.meta.url))});var L6="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";import{webcrypto as B6}from"crypto";function Jle(e){if(e<0)throw RangeError("Wrong ID size");try{if(!Ni||Ni.length<e)Ni=Buffer.allocUnsafe(e*Fle),B6.getRandomValues(Ni),Vc=0;else if(Vc+e>Ni.length)B6.getRandomValues(Ni),Vc=0}catch(t){throw Ni=void 0,t}Vc+=e}function j6(e=21){Jle(e|=0);let t="";for(let r=Vc-e;r<Vc;r++)t+=L6[Ni[r]&63];return t}var Fle=128,Ni,Vc;var Z6=()=>{};function Ro(e=12){return j6(e)}var Md=w(()=>{Z6()});import{openSync as Kle,writeSync as Hle}from"fs";class kr{static instance=null;level;context;useStderr;format;logFile;fileHandle;constructor(e={},t){if(this.level=e.level??Ws.INFO,this.context=e.context??void 0,this.useStderr=e.useStderr??!1,this.format=e.format??"text",this.logFile=e.logFile,t!==void 0)this.fileHandle=t;else if(this.logFile)try{this.fileHandle=Kle(this.logFile,"a")}catch{}}static getInstance(e){if(!kr.instance)kr.instance=new kr(e);else{if(e?.useStderr!==void 0)kr.instance.useStderr=e.useStderr;if(e?.level!==void 0)kr.instance.level=e.level}return kr.instance}static resetInstance(){kr.instance=null}static createFresh(e){return new kr(e)}formatEntry(e,t,r){let o=new Date().toISOString();if(this.format==="json"){let n={ts:o,level:e,msg:t};if(this.context)n.ctx=this.context;if(r.length>0)n.data=r;return JSON.stringify(n)}return this.context?`[${o}] [${this.context}] ${t}`:`[${o}] ${t}`}write(e,t,r,o){if(this.format==="json")e(this.formatEntry(t,r,o));else if(o.length>0)e(this.formatEntry(t,r,[]),...o);else e(this.formatEntry(t,r,[]));if(this.fileHandle!==void 0){let n=this.formatJsonEntry(t,r,o);try{Hle(this.fileHandle,n+`
385
- `)}catch{}}}formatJsonEntry(e,t,r){let o={ts:new Date().toISOString(),level:e,msg:t};if(this.context)o.ctx=this.context;if(r.length>0)o.data=r;return JSON.stringify(o)}silly(e,...t){if(this.level<=Ws.SILLY)this.write(console.debug.bind(console),"silly",e,t)}verbose(e,...t){if(this.level<=Ws.VERBOSE)this.write(console.debug.bind(console),"verbose",e,t)}debug(e,...t){if(this.level<=Ws.DEBUG)this.write(console.debug.bind(console),"debug",e,t)}info(e,...t){if(this.level<=Ws.INFO){let r=this.useStderr?console.error.bind(console):console.info.bind(console);this.write(r,"info",e,t)}}warn(e,...t){if(this.level<=Ws.WARN)this.write(console.warn.bind(console),"warn",e,t)}error(e,...t){if(this.level<=Ws.ERROR)this.write(console.error.bind(console),"error",e,t)}child(e){return new kr({level:this.level,context:e,useStderr:this.useStderr,format:this.format},this.fileHandle)}setUseStderr(e){this.useStderr=e}}var Ws,bPe;var nT=w(()=>{Ws={SILLY:0,VERBOSE:1,DEBUG:2,INFO:3,WARN:4,ERROR:5,NONE:6};bPe=kr.getInstance()});var oT,Vle,Wc,xPe;var Fd=w(()=>{Mt();he();oT=l.enum(["file_operations","content_operations","data_processing","batch_processing"]),Vle=l.looseObject({pluginId:l.string().optional(),progressToken:l.union([l.string(),l.number()]).optional(),operationType:oT,operationTarget:l.string().optional(),interfaceType:l.string().optional(),conversationId:l.string().optional(),channelId:l.string().optional(),requestedByActor:ri.optional(),requestedByUserId:l.string().optional(),requestedByInterface:l.string().optional(),silent:l.boolean().optional(),provenance:ni.optional()}),Wc=l.looseObject({pluginId:l.string().optional(),progressToken:l.union([l.string(),l.number()]).optional(),operationType:oT,operationTarget:l.string().optional(),interfaceType:l.string().optional(),conversationId:l.string().optional(),channelId:l.string().optional(),requestedByActor:ri.optional(),requestedByUserId:l.string().optional(),requestedByInterface:l.string().optional(),silent:l.boolean().optional(),provenance:ni.optional(),rootJobId:l.string()}),xPe=l.enum(["none","skip","replace","coalesce"])});var Wle,Di=15000;var Jd=w(()=>{Fd();he();Wle=l.object({id:l.string(),type:l.string(),data:l.string(),status:l.enum(["pending","processing","completed","failed"]),source:l.string().nullable(),priority:l.number(),retryCount:l.number(),maxRetries:l.number(),lastError:l.string().nullable(),lastErrorPublic:l.unknown(),createdAt:l.number(),scheduledFor:l.number(),startedAt:l.number().nullable(),completedAt:l.number().nullable(),attemptId:l.string().nullable(),workerSlotId:l.string().nullable(),workerSessionId:l.string().nullable(),leaseExpiresAt:l.number().nullable(),attemptHeartbeatAt:l.number().nullable(),runtimeUpdatedAt:l.number().nullable(),metadata:Wc,progress:l.custom((e)=>typeof e==="object"&&e!==null&&("progress"in e)&&typeof e.progress==="number").nullable(),result:l.unknown().nullable().optional()})});var iT,U6,Oe,Gle,Qle,q6,M6,F6;var Oo=w(()=>{Mt();he();Fd();iT=l.enum(["pending","processing","completed","failed"]),U6=l.enum(["completed","failed"]),Oe={PENDING:"pending",PROCESSING:"processing",COMPLETED:"completed",FAILED:"failed"},Gle=l.object({id:l.string(),type:l.string(),status:iT,data:l.unknown(),result:l.unknown().optional(),lastError:l.string().optional().nullable(),attempts:l.number(),maxRetries:l.number(),priority:l.number(),createdAt:l.date(),updatedAt:l.date(),processedAt:l.date().optional().nullable(),completedAt:l.date().optional().nullable(),failedAt:l.date().optional().nullable()}),Qle=l.object({jobId:l.string(),type:l.string(),status:U6,result:l.unknown().optional(),error:l.string().optional()}),q6=l.object({success:l.literal(!1),error:l.string().optional()}),M6=l.object({id:l.string(),type:l.enum(["job","batch"]),status:iT,message:l.string().optional(),progress:l.object({current:l.number(),total:l.number(),percentage:l.number()}).optional(),aggregationKey:l.string().optional(),batchDetails:l.object({totalOperations:l.number(),completedOperations:l.number(),failedOperations:l.number(),currentOperation:l.string().optional(),errors:l.array(l.string()).optional()}).optional(),jobDetails:l.object({jobType:l.string(),priority:l.number(),retryCount:l.number()}).optional(),metadata:Wc}),F6=oi(aE.progress,M6)});var Ce,Gt;var gn=w(()=>{Ce=class Ce extends Error{code;extendedCode;rawCode;constructor(e,t,r,o,n){if(t!==void 0)e=`${t}: ${e}`;super(e,{cause:n});this.code=t,this.extendedCode=r,this.rawCode=o,this.name="LibsqlError"}};Gt=class Gt extends Ce{statementIndex;constructor(e,t,r,o,n,i){super(e,r,o,n,i);this.statementIndex=t,this.name="LibsqlBatchError"}}});function J6(e){let t=Yle.exec(e);if(t===null)throw new Ce(`The URL '${e}' is not in a valid format`,"URL_INVALID");let r=t.groups,o=r.scheme,n=r.authority!==void 0?Xle(r.authority):void 0,i=Gs(r.path),s=r.query!==void 0?tue(r.query):void 0,a=r.fragment!==void 0?Gs(r.fragment):void 0;return{scheme:o,authority:n,path:i,query:s,fragment:a}}function Xle(e){let t=eue.exec(e);if(t===null)throw new Ce("The authority part of the URL is not in a valid format","URL_INVALID");let r=t.groups,o=Gs(r.host_br??r.host),n=r.port?parseInt(r.port,10):void 0,i=r.username!==void 0?{username:Gs(r.username),password:r.password!==void 0?Gs(r.password):void 0}:void 0;return{host:o,port:n,userinfo:i}}function tue(e){let t=e.split("&"),r=[];for(let o of t){if(o==="")continue;let n,i,s=o.indexOf("=");if(s<0)n=o,i="";else n=o.substring(0,s),i=o.substring(s+1);r.push({key:Gs(n.replaceAll("+"," ")),value:Gs(i.replaceAll("+"," "))})}return{pairs:r}}function Gs(e){try{return decodeURIComponent(e)}catch(t){if(t instanceof URIError)throw new Ce(`URL component has invalid percent encoding: ${t}`,"URL_INVALID",void 0,void 0,t);throw t}}function Kd(e,t,r){if(t===void 0)throw new Ce(`URL with scheme ${JSON.stringify(e+":")} requires authority (the "//" part)`,"URL_INVALID");let o=`${e}:`,n=rue(t.host),i=nue(t.port),a=`//${oue(t.userinfo)}${n}${i}`,c=r.split("/").map(encodeURIComponent).join("/");if(c!==""&&!c.startsWith("/"))c="/"+c;return new URL(`${o}${a}${c}`)}function rue(e){return e.includes(":")?`[${encodeURI(e)}]`:encodeURI(e)}function nue(e){return e!==void 0?`:${e}`:""}function oue(e){if(e===void 0)return"";let t=encodeURIComponent(e.username),r=e.password!==void 0?`:${encodeURIComponent(e.password)}`:"";return`${t}${r}@`}var Yle,eue;var Vg=w(()=>{gn();Yle=(()=>new RegExp("^(?<scheme>[A-Za-z][A-Za-z.+-]*):(//(?<authority>[^/?#]*))?(?<path>[^?#]*)(\\?(?<query>[^#]*))?(#(?<fragment>.*))?$","su"))();eue=(()=>new RegExp("^((?<username>[^:]*)(:(?<password>.*))?@)?((?<host>[^:\\[\\]]*)|(\\[(?<host_br>[^\\[\\]]*)\\]))(:(?<port>[0-9]*))?$","su"))()});var Qc,K6,H6,Hd,Wg,iue,Qt,V6,Q6=(e)=>e.replace(/=/g,"").replace(/[+\/]/g,(t)=>t=="+"?"-":"_"),Y6=(e)=>e.replace(/[^A-Za-z0-9\+\/]/g,""),X6=(e)=>{let t,r,o,n,i="",s=e.length%3;for(let a=0;a<e.length;){if((r=e.charCodeAt(a++))>255||(o=e.charCodeAt(a++))>255||(n=e.charCodeAt(a++))>255)throw TypeError("invalid character found");t=r<<16|o<<8|n,i+=Hd[t>>18&63]+Hd[t>>12&63]+Hd[t>>6&63]+Hd[t&63]}return s?i.slice(0,s-3)+"===".substring(s):i},cT,sT,Gg=(e,t=!1)=>t?Q6(sT(e)):sT(e),sue=(e)=>{if(e.length<2){var t=e.charCodeAt(0);return t<128?e:t<2048?Qt(192|t>>>6)+Qt(128|t&63):Qt(224|t>>>12&15)+Qt(128|t>>>6&63)+Qt(128|t&63)}else{var t=65536+(e.charCodeAt(0)-55296)*1024+(e.charCodeAt(1)-56320);return Qt(240|t>>>18&7)+Qt(128|t>>>12&63)+Qt(128|t>>>6&63)+Qt(128|t&63)}},aue,e4=(e)=>e.replace(aue,sue),W6,Gc=(e,t=!1)=>t?Q6(W6(e)):W6(e),G6=(e)=>Gc(e,!0),cue,lue=(e)=>{switch(e.length){case 4:var t=(7&e.charCodeAt(0))<<18|(63&e.charCodeAt(1))<<12|(63&e.charCodeAt(2))<<6|63&e.charCodeAt(3),r=t-65536;return Qt((r>>>10)+55296)+Qt((r&1023)+56320);case 3:return Qt((15&e.charCodeAt(0))<<12|(63&e.charCodeAt(1))<<6|63&e.charCodeAt(2));default:return Qt((31&e.charCodeAt(0))<<6|63&e.charCodeAt(1))}},t4=(e)=>e.replace(cue,lue),r4=(e)=>{if(e=e.replace(/\s+/g,""),!iue.test(e))throw TypeError("malformed base64.");e+="==".slice(2-(e.length&3));let t,r,o,n=[];for(let i=0;i<e.length;)if(t=Wg[e.charAt(i++)]<<18|Wg[e.charAt(i++)]<<12|(r=Wg[e.charAt(i++)])<<6|(o=Wg[e.charAt(i++)]),r===64)n.push(Qt(t>>16&255));else if(o===64)n.push(Qt(t>>16&255,t>>8&255));else n.push(Qt(t>>16&255,t>>8&255,t&255));return n.join("")},lT,n4,o4=(e)=>n4(i4(e)),uue,i4=(e)=>Y6(e.replace(/[-_]/g,(t)=>t=="-"?"+":"/")),aT=(e)=>uue(i4(e)),due=(e)=>{if(typeof e!=="string")return!1;let t=e.replace(/\s+/g,"").replace(/={0,2}$/,"");return!/[^\s0-9a-zA-Z\+/]/.test(t)||!/[^\s0-9a-zA-Z\-_]/.test(t)},s4=(e)=>({value:e,enumerable:!1,writable:!0,configurable:!0}),a4=function(){let e=(t,r)=>Object.defineProperty(String.prototype,t,s4(r));e("fromBase64",function(){return aT(this)}),e("toBase64",function(t){return Gc(this,t)}),e("toBase64URI",function(){return Gc(this,!0)}),e("toBase64URL",function(){return Gc(this,!0)}),e("toUint8Array",function(){return o4(this)})},c4=function(){let e=(t,r)=>Object.defineProperty(Uint8Array.prototype,t,s4(r));e("toBase64",function(t){return Gg(this,t)}),e("toBase64URI",function(){return Gg(this,!0)}),e("toBase64URL",function(){return Gg(this,!0)})},fue=()=>{a4(),c4()},Yc;var Qg=w(()=>{Qc=typeof Buffer==="function",K6=typeof TextDecoder==="function"?new TextDecoder("utf-8",{ignoreBOM:!0}):void 0,H6=typeof TextEncoder==="function"?new TextEncoder:void 0,Hd=Array.prototype.slice.call("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="),Wg=((e)=>{let t={};return e.forEach((r,o)=>t[r]=o),t})(Hd),iue=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,Qt=String.fromCharCode.bind(String),V6=typeof Uint8Array.from==="function"?Uint8Array.from.bind(Uint8Array):(e)=>new Uint8Array(Array.prototype.slice.call(e,0)),cT=typeof btoa==="function"?(e)=>btoa(e):Qc?(e)=>Buffer.from(e,"binary").toString("base64"):X6,sT=Qc?(e)=>Buffer.from(e).toString("base64"):(e)=>{let r=[];for(let o=0,n=e.length;o<n;o+=4096)r.push(Qt.apply(null,e.subarray(o,o+4096)));return cT(r.join(""))},aue=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,W6=Qc?(e)=>Buffer.from(e,"utf8").toString("base64"):H6?(e)=>sT(H6.encode(e)):(e)=>cT(e4(e)),cue=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,lT=typeof atob==="function"?(e)=>atob(Y6(e)):Qc?(e)=>Buffer.from(e,"base64").toString("binary"):r4,n4=Qc?(e)=>V6(Buffer.from(e,"base64")):(e)=>V6(lT(e).split("").map((t)=>t.charCodeAt(0))),uue=Qc?(e)=>Buffer.from(e,"base64").toString("utf8"):K6?(e)=>K6.decode(n4(e)):(e)=>t4(lT(e)),Yc={version:"3.8.0",VERSION:"3.8.0",atob:lT,atobPolyfill:r4,btoa:cT,btoaPolyfill:X6,fromBase64:aT,toBase64:Gc,encode:Gc,encodeURI:G6,encodeURL:G6,utob:e4,btou:t4,decode:aT,isValid:due,fromUint8Array:Gg,toUint8Array:o4,extendString:a4,extendUint8Array:c4,extendBuiltins:fue}});function Li(e){if(e==="write")return"BEGIN IMMEDIATE";else if(e==="read")return"BEGIN TRANSACTION READONLY";else if(e==="deferred")return"BEGIN DEFERRED";else throw RangeError('Unknown transaction mode, supported values are "write", "read" and "deferred"')}class Xc{columns;columnTypes;rows;rowsAffected;lastInsertRowid;constructor(e,t,r,o,n){this.columns=e,this.columnTypes=t,this.rows=r,this.rowsAffected=o,this.lastInsertRowid=n}toJSON(){return{columns:this.columns,columnTypes:this.columnTypes,rows:this.rows.map(pue),rowsAffected:this.rowsAffected,lastInsertRowid:this.lastInsertRowid!==void 0?""+this.lastInsertRowid:null}}}function pue(e){return Array.prototype.map.call(e,mue)}function mue(e){if(typeof e==="bigint")return""+e;else if(e instanceof ArrayBuffer)return Yc.fromUint8Array(new Uint8Array(e));else return e}var Vn="https://github.com/libsql/libsql-client-ts#supported-urls";var el=w(()=>{Qg()});function u4(e){return e.scheme==="file"&&(e.path===":memory:"||e.path.startsWith(":memory:?"))}function Vd(e,t){if(typeof e!=="object")throw TypeError(`Expected client configuration as object, got ${typeof e}`);let{url:r,authToken:o,tls:n,intMode:i,concurrency:s}=e;s=Math.max(0,s||20),i??="number";let a=[];if(r===l4)r="file::memory:";let c=J6(r),u=c.scheme.toLowerCase(),d=u==="file"&&c.path===l4&&c.authority===void 0,f;if(d)f={cache:{values:["shared","private"],update:(y,S)=>a.push(`${y}=${S}`)}};else f={tls:{values:["0","1"],update:(y,S)=>n=S==="1"},authToken:{update:(y,S)=>o=S}};for(let{key:y,value:S}of c.query?.pairs??[]){if(!Object.hasOwn(f,y))throw new Ce(`Unsupported URL query parameter ${JSON.stringify(y)}`,"URL_PARAM_NOT_SUPPORTED");let x=f[y];if(x.values!==void 0&&!x.values.includes(S))throw new Ce(`Unknown value for the "${y}" query argument: ${JSON.stringify(S)}. Supported values are: [${x.values.map((_)=>'"'+_+'"').join(", ")}]`,"URL_INVALID");if(x.update!==void 0)x?.update(y,S)}let m=a.length===0?"":`?${a.join("&")}`,h=c.path+m,b;if(u==="libsql")if(n===!1){if(c.authority?.port===void 0)throw new Ce('A "libsql:" URL with ?tls=0 must specify an explicit port',"URL_INVALID");b=t?"http":"ws"}else b=t?"https":"wss";else b=u;if(b==="http"||b==="ws")n??=!1;else n??=!0;if(b!=="http"&&b!=="ws"&&b!=="https"&&b!=="wss"&&b!=="file")throw new Ce(`The client supports only "libsql:", "wss:", "ws:", "https:", "http:" and "file:" URLs, got ${JSON.stringify(c.scheme+":")}. For more information, please read ${Vn}`,"URL_SCHEME_NOT_SUPPORTED");if(i!=="number"&&i!=="bigint"&&i!=="string")throw TypeError(`Invalid value for intMode, expected "number", "bigint" or "string", got ${JSON.stringify(i)}`);if(c.fragment!==void 0)throw new Ce(`URL fragments are not supported: ${JSON.stringify("#"+c.fragment)}`,"URL_INVALID");if(d)return{scheme:"file",tls:!1,path:h,intMode:i,concurrency:s,syncUrl:e.syncUrl,syncInterval:e.syncInterval,readYourWrites:e.readYourWrites,offline:e.offline,fetch:e.fetch,timeout:e.timeout,authToken:void 0,encryptionKey:void 0,remoteEncryptionKey:void 0,authority:void 0};return{scheme:b,tls:n,authority:c.authority,path:h,authToken:o,intMode:i,concurrency:s,encryptionKey:e.encryptionKey,remoteEncryptionKey:e.remoteEncryptionKey,syncUrl:e.syncUrl,syncInterval:e.syncInterval,readYourWrites:e.readYourWrites,offline:e.offline,fetch:e.fetch,timeout:e.timeout}}var l4=":memory:";var Wd=w(()=>{gn();Vg();el()});var f4=ge(function(Yr){var hue=Yr&&Yr.__createBinding||(Object.create?function(e,t,r,o){if(o===void 0)o=r;var n=Object.getOwnPropertyDescriptor(t,r);if(!n||("get"in n?!t.__esModule:n.writable||n.configurable))n={enumerable:!0,get:function(){return t[r]}};Object.defineProperty(e,o,n)}:function(e,t,r,o){if(o===void 0)o=r;e[o]=t[r]}),gue=Yr&&Yr.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),d4=Yr&&Yr.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null){for(var r in e)if(r!=="default"&&Object.prototype.hasOwnProperty.call(e,r))hue(t,e,r)}return gue(t,e),t};Object.defineProperty(Yr,"__esModule",{value:!0});Yr.load=Yr.currentTarget=void 0;var yue=d4(Zr("path")),bue=d4(Zr("fs"));function Sue(){let e=null;switch(process.platform){case"android":switch(process.arch){case"arm":return"android-arm-eabi";case"arm64":return"android-arm64"}e="Android";break;case"win32":switch(process.arch){case"x64":return"win32-x64-msvc";case"arm64":return"win32-arm64-msvc";case"ia32":return"win32-ia32-msvc"}e="Windows";break;case"darwin":switch(process.arch){case"x64":return"darwin-x64";case"arm64":return"darwin-arm64"}e="macOS";break;case"linux":switch(process.arch){case"x64":case"arm64":return vue()?`linux-${process.arch}-gnu`:`linux-${process.arch}-musl`;case"arm":return"linux-arm-gnueabihf"}e="Linux";break;case"freebsd":if(process.arch==="x64")return"freebsd-x64";e="FreeBSD";break}if(e)throw Error(`Neon: unsupported ${e} architecture: ${process.arch}`);throw Error(`Neon: unsupported system: ${process.platform}`)}Yr.currentTarget=Sue;function vue(){let e=process.report?.getReport();if(typeof e!=="object"||!e||!("header"in e))return!1;let t=e.header;return typeof t==="object"&&!!t&&"glibcVersionRuntime"in t}function wue(e){let t=yue.join(e,"index.node");return bue.existsSync(t)?Zr(t):null}Yr.load=wue});var h4=ge(function(MPe,m4){var p4=()=>process.platform==="linux",uT=null,xue=()=>{if(!uT)uT=p4()&&process.report?process.report.getReport():{};return uT};m4.exports={isLinux:p4,getReport:xue}});var b4=ge(function(FPe,y4){var g4=Zr("fs"),_ue=(e)=>g4.readFileSync(e,"utf-8"),Eue=(e)=>new Promise((t,r)=>{g4.readFile(e,"utf-8",(o,n)=>{if(o)r(o);else t(n)})});y4.exports={LDD_PATH:"/usr/bin/ldd",readFileSync:_ue,readFile:Eue}});var N4=ge(function(JPe,z4){var v4=Zr("child_process"),{isLinux:tl,getReport:w4}=h4(),{LDD_PATH:Yg,readFile:x4,readFileSync:_4}=b4(),Wn,Gn,Bi="",E4=()=>{if(!Bi)return new Promise((e)=>{v4.exec("getconf GNU_LIBC_VERSION 2>&1 || true; ldd --version 2>&1 || true",(t,r)=>{Bi=t?" ":r,e(Bi)})});return Bi},I4=()=>{if(!Bi)try{Bi=v4.execSync("getconf GNU_LIBC_VERSION 2>&1 || true; ldd --version 2>&1 || true",{encoding:"utf8"})}catch(e){Bi=" "}return Bi},Co="glibc",k4=/GLIBC\s(\d+\.\d+)/,Qs="musl",Iue=Co.toUpperCase(),kue=Qs.toLowerCase(),Aue=(e)=>e.includes("libc.musl-")||e.includes("ld-musl-"),A4=()=>{let e=w4();if(e.header&&e.header.glibcVersionRuntime)return Co;if(Array.isArray(e.sharedObjects)){if(e.sharedObjects.some(Aue))return Qs}return null},T4=(e)=>{let[t,r]=e.split(/[\r\n]+/);if(t&&t.includes(Co))return Co;if(r&&r.includes(Qs))return Qs;return null},$4=(e)=>{if(e.includes(kue))return Qs;if(e.includes(Iue))return Co;return null},Tue=async()=>{if(Wn!==void 0)return Wn;Wn=null;try{let e=await x4(Yg);Wn=$4(e)}catch(e){}return Wn},$ue=()=>{if(Wn!==void 0)return Wn;Wn=null;try{let e=_4(Yg);Wn=$4(e)}catch(e){}return Wn},R4=async()=>{let e=null;if(tl()){if(e=await Tue(),!e)e=A4();if(!e){let t=await E4();e=T4(t)}}return e},O4=()=>{let e=null;if(tl()){if(e=$ue(),!e)e=A4();if(!e){let t=I4();e=T4(t)}}return e},Rue=async()=>tl()&&await R4()!==Co,Oue=()=>tl()&&O4()!==Co,Cue=async()=>{if(Gn!==void 0)return Gn;Gn=null;try{let t=(await x4(Yg)).match(k4);if(t)Gn=t[1]}catch(e){}return Gn},Pue=()=>{if(Gn!==void 0)return Gn;Gn=null;try{let t=_4(Yg).match(k4);if(t)Gn=t[1]}catch(e){}return Gn},C4=()=>{let e=w4();if(e.header&&e.header.glibcVersionRuntime)return e.header.glibcVersionRuntime;return null},S4=(e)=>e.trim().split(/\s+/)[1],P4=(e)=>{let[t,r,o]=e.split(/[\r\n]+/);if(t&&t.includes(Co))return S4(t);if(r&&o&&r.includes(Qs))return S4(o);return null},zue=async()=>{let e=null;if(tl()){if(e=await Cue(),!e)e=C4();if(!e){let t=await E4();e=P4(t)}}return e},Nue=()=>{let e=null;if(tl()){if(e=Pue(),!e)e=C4();if(!e){let t=I4();e=P4(t)}}return e};z4.exports={GLIBC:Co,MUSL:Qs,family:R4,familySync:O4,isNonGlibcLinux:Rue,isNonGlibcLinuxSync:Oue,version:zue,versionSync:Nue}});var L4=ge(function(KPe,D4){var Due={ALLOW:0,DENY:1};D4.exports=Due});var j4=ge(function(HPe,B4){var dT={value:"SqliteError",writable:!0,enumerable:!1,configurable:!0};function Ys(e,t,r){if(new.target!==Ys)return new Ys(e,t);if(typeof t!=="string")throw TypeError("Expected second argument to be a string");Error.call(this,e),dT.value=""+e,Object.defineProperty(this,"message",dT),Error.captureStackTrace(this,Ys),this.code=t,this.rawCode=r}Object.setPrototypeOf(Ys,Error);Object.setPrototypeOf(Ys.prototype,Error.prototype);Object.defineProperty(Ys.prototype,"name",dT);B4.exports=Ys});var H4=ge(function(VPe,Xg){var __dirname="/home/runner/work/brains/brains/node_modules/libsql",{load:Lue,currentTarget:Bue}=f4(),{familySync:Z4,GLIBC:jue,MUSL:Zue}=N4();function Uue(){if(process.env.LIBSQL_JS_DEV)return Lue(__dirname);let e=Bue();if(Z4()==jue)switch(e){case"linux-x64-musl":e="linux-x64-gnu";break;case"linux-arm64-musl":e="linux-arm64-gnu";break}if(e==="linux-arm-gnueabihf"&&Z4()==Zue)e="linux-arm-musleabihf";return Zr(`@libsql/${e}`)}var{databaseOpen:que,databaseOpenWithSync:Mue,databaseInTransaction:Fue,databaseInterrupt:Jue,databaseClose:Kue,databaseSyncSync:Hue,databaseSyncUntilSync:Vue,databaseExecSync:Wue,databasePrepareSync:Gue,databaseDefaultSafeIntegers:Que,databaseAuthorizer:Yue,databaseLoadExtension:Xue,databaseMaxWriteReplicationIndex:ede,statementRaw:tde,statementIsReader:rde,statementGet:U4,statementRun:q4,statementInterrupt:nde,statementRowsSync:M4,statementColumns:ode,statementSafeIntegers:ide,rowsNext:sde}=Uue(),ade=L4(),F4=j4();function rl(e){if(e.libsqlError)return new F4(e.message,e.code,e.rawCode);return e}class J4{constructor(e,t){let r=t?.encryptionCipher??"aes256cbc";if(t&&t.syncUrl){var o="";if(t.syncAuth)console.warn("Warning: The `syncAuth` option is deprecated, please use `authToken` option instead."),o=t.syncAuth;else if(t.authToken)o=t.authToken;let i=t?.encryptionKey??"",s=t?.syncPeriod??0,a=t?.readYourWrites??!0,c=t?.offline??!1,u=t?.remoteEncryptionKey??"";this.db=Mue(e,t.syncUrl,o,r,i,s,a,c,u)}else{let i=t?.authToken??"",s=t?.encryptionKey??"",a=t?.timeout??0,c=t?.remoteEncryptionKey??"";this.db=que(e,i,r,s,a,c)}this.memory=e===":memory:",this.readonly=!1,this.name="",this.open=!0;let n=this.db;Object.defineProperties(this,{inTransaction:{get(){return Fue(n)}}})}sync(){return Hue.call(this.db)}syncUntil(e){return Vue.call(this.db,e)}prepare(e){try{let t=Gue.call(this.db,e);return new K4(t)}catch(t){throw rl(t)}}transaction(e){if(typeof e!=="function")throw TypeError("Expected first argument to be a function");let t=this,r=(n)=>(...i)=>{t.exec("BEGIN "+n);try{let s=e(...i);return t.exec("COMMIT"),s}catch(s){throw t.exec("ROLLBACK"),s}},o={default:{value:r("")},deferred:{value:r("DEFERRED")},immediate:{value:r("IMMEDIATE")},exclusive:{value:r("EXCLUSIVE")},database:{value:this,enumerable:!0}};return Object.defineProperties(o.default.value,o),Object.defineProperties(o.deferred.value,o),Object.defineProperties(o.immediate.value,o),Object.defineProperties(o.exclusive.value,o),o.default.value}pragma(e,t){if(t==null)t={};if(typeof e!=="string")throw TypeError("Expected first argument to be a string");if(typeof t!=="object")throw TypeError("Expected second argument to be an options object");let r=t.simple,o=this.prepare(`PRAGMA ${e}`,this,!0);return r?o.pluck().get():o.all()}backup(e,t){throw Error("not implemented")}serialize(e){throw Error("not implemented")}function(e,t,r){if(t==null)t={};if(typeof t==="function")r=t,t={};if(typeof e!=="string")throw TypeError("Expected first argument to be a string");if(typeof r!=="function")throw TypeError("Expected last argument to be a function");if(typeof t!=="object")throw TypeError("Expected second argument to be an options object");if(!e)throw TypeError("User-defined function name cannot be an empty string");throw Error("not implemented")}aggregate(e,t){if(typeof e!=="string")throw TypeError("Expected first argument to be a string");if(typeof t!=="object"||t===null)throw TypeError("Expected second argument to be an options object");if(!e)throw TypeError("User-defined function name cannot be an empty string");throw Error("not implemented")}table(e,t){if(typeof e!=="string")throw TypeError("Expected first argument to be a string");if(!e)throw TypeError("Virtual table module name cannot be an empty string");throw Error("not implemented")}authorizer(e){Yue.call(this.db,e)}loadExtension(...e){Xue.call(this.db,...e)}maxWriteReplicationIndex(){return ede.call(this.db)}exec(e){try{Wue.call(this.db,e)}catch(t){throw rl(t)}}interrupt(){Jue.call(this.db)}close(){Kue.call(this.db),this.open=!1}defaultSafeIntegers(e){return Que.call(this.db,e??!0),this}unsafeMode(...e){throw Error("not implemented")}}class K4{constructor(e){this.stmt=e,this.pluckMode=!1}raw(e){return tde.call(this.stmt,e??!0),this}pluck(e){return this.pluckMode=e??!0,this}get reader(){return rde.call(this.stmt)}run(...e){try{if(e.length==1&&typeof e[0]==="object")return q4.call(this.stmt,e[0]);else return q4.call(this.stmt,e.flat())}catch(t){throw rl(t)}}get(...e){try{if(e.length==1&&typeof e[0]==="object")return U4.call(this.stmt,e[0]);else return U4.call(this.stmt,e.flat())}catch(t){throw rl(t)}}iterate(...e){var t=void 0;if(e.length==1&&typeof e[0]==="object")t=M4.call(this.stmt,e[0]);else t=M4.call(this.stmt,e.flat());return{nextRows:Array(100),nextRowIndex:100,next(){try{if(this.nextRowIndex===100)sde.call(t,this.nextRows),this.nextRowIndex=0;let o=this.nextRows[this.nextRowIndex];if(this.nextRows[this.nextRowIndex]=void 0,!o)return{done:!0};return this.nextRowIndex++,{value:o,done:!1}}catch(o){throw rl(o)}},[Symbol.iterator](){return this}}}all(...e){try{let t=[];for(let r of this.iterate(...e))if(this.pluckMode)t.push(r[Object.keys(r)[0]]);else t.push(r);return t}catch(t){throw rl(t)}}interrupt(){nde.call(this.stmt)}columns(){return ode.call(this.stmt)}safeIntegers(e){return ide.call(this.stmt,e??!0),this}}Xg.exports=J4;Xg.exports.Authorization=ade;Xg.exports.SqliteError=F4});import{Buffer as W4}from"buffer";function G4(e){if(e.scheme!=="file")throw new Ce(`URL scheme ${JSON.stringify(e.scheme+":")} is not supported by the local sqlite3 client. For more information, please read ${Vn}`,"URL_SCHEME_NOT_SUPPORTED");let t=e.authority;if(t!==void 0){let s=t.host.toLowerCase();if(s!==""&&s!=="localhost")throw new Ce(`Invalid host in file URL: ${JSON.stringify(t.host)}. A "file:" URL with an absolute path should start with one slash ("file:/absolute/path.db") or with three slashes ("file:///absolute/path.db"). For more information, please read ${Vn}`,"URL_INVALID");if(t.port!==void 0)throw new Ce("File URL cannot have a port","URL_INVALID");if(t.userinfo!==void 0)throw new Ce("File URL cannot have username and password","URL_INVALID")}let r=u4(e);if(r&&e.syncUrl)throw new Ce(`Embedded replica must use file for local db but URI with in-memory mode were provided instead: ${e.path}`,"URL_INVALID");let o=e.path;if(r)o=`${e.scheme}:${e.path}`;let n={authToken:e.authToken,encryptionKey:e.encryptionKey,remoteEncryptionKey:e.remoteEncryptionKey,syncUrl:e.syncUrl,syncPeriod:e.syncInterval,readYourWrites:e.readYourWrites,offline:e.offline,timeout:e.timeout},i=new Gd.default(o,n);return Pt(i,"SELECT 1 AS checkThatTheDatabaseCanBeOpened",e.intMode),new Q4(o,n,i,e.intMode)}class Q4{#e;#t;#r;#n;closed;protocol;constructor(e,t,r,o){this.#e=e,this.#t=t,this.#r=r,this.#n=o,this.closed=!1,this.protocol="file"}async execute(e,t){let r;if(typeof e==="string")r={sql:e,args:t||[]};else r=e;return this.#o(),Pt(this.#i(),r,this.#n)}async batch(e,t="deferred"){this.#o();let r=this.#i();try{Pt(r,Li(t),this.#n);let o=[];for(let n=0;n<e.length;n++)try{if(!r.inTransaction)throw new Gt("The transaction has been rolled back",n,"TRANSACTION_CLOSED");let i=e[n],s=Array.isArray(i)?{sql:i[0],args:i[1]||[]}:i;o.push(Pt(r,s,this.#n))}catch(i){if(i instanceof Gt)throw i;if(i instanceof Ce)throw new Gt(i.message,n,i.code,i.extendedCode,i.rawCode,i.cause instanceof Error?i.cause:void 0);throw i}return Pt(r,"COMMIT",this.#n),o}finally{if(r.inTransaction)Pt(r,"ROLLBACK",this.#n)}}async migrate(e){this.#o();let t=this.#i();try{Pt(t,"PRAGMA foreign_keys=off",this.#n),Pt(t,Li("deferred"),this.#n);let r=[];for(let o=0;o<e.length;o++)try{if(!t.inTransaction)throw new Gt("The transaction has been rolled back",o,"TRANSACTION_CLOSED");r.push(Pt(t,e[o],this.#n))}catch(n){if(n instanceof Gt)throw n;if(n instanceof Ce)throw new Gt(n.message,o,n.code,n.extendedCode,n.rawCode,n.cause instanceof Error?n.cause:void 0);throw n}return Pt(t,"COMMIT",this.#n),r}finally{if(t.inTransaction)Pt(t,"ROLLBACK",this.#n);Pt(t,"PRAGMA foreign_keys=on",this.#n)}}async transaction(e="write"){let t=this.#i();return Pt(t,Li(e),this.#n),this.#r=null,new Y4(t,this.#n)}async executeMultiple(e){this.#o();let t=this.#i();try{return X4(t,e)}finally{if(t.inTransaction)Pt(t,"ROLLBACK",this.#n)}}async sync(){this.#o();let e=await this.#i().sync();return{frames_synced:e.frames_synced,frame_no:e.frame_no}}async reconnect(){try{if(!this.closed&&this.#r!==null)this.#r.close()}finally{this.#r=new Gd.default(this.#e,this.#t),this.closed=!1}}close(){if(this.closed=!0,this.#r!==null)this.#r.close(),this.#r=null}#o(){if(this.closed)throw new Ce("The client is closed","CLIENT_CLOSED")}#i(){if(this.#r===null)this.#r=new Gd.default(this.#e,this.#t);return this.#r}}class Y4{#e;#t;constructor(e,t){this.#e=e,this.#t=t}async execute(e,t){let r;if(typeof e==="string")r={sql:e,args:t||[]};else r=e;return this.#r(),Pt(this.#e,r,this.#t)}async batch(e){let t=[];for(let r=0;r<e.length;r++)try{this.#r();let o=e[r],n=Array.isArray(o)?{sql:o[0],args:o[1]||[]}:o;t.push(Pt(this.#e,n,this.#t))}catch(o){if(o instanceof Gt)throw o;if(o instanceof Ce)throw new Gt(o.message,r,o.code,o.extendedCode,o.rawCode,o.cause instanceof Error?o.cause:void 0);throw o}return t}async executeMultiple(e){return this.#r(),X4(this.#e,e)}async rollback(){if(!this.#e.open)return;this.#r(),Pt(this.#e,"ROLLBACK",this.#t)}async commit(){this.#r(),Pt(this.#e,"COMMIT",this.#t)}close(){if(this.#e.inTransaction)Pt(this.#e,"ROLLBACK",this.#t)}get closed(){return!this.#e.inTransaction}#r(){if(this.closed)throw new Ce("The transaction is closed","TRANSACTION_CLOSED")}}function Pt(e,t,r){let o,n;if(typeof t==="string")o=t,n=[];else if(o=t.sql,Array.isArray(t.args))n=t.args.map((i)=>V4(i,r));else{n={};for(let i in t.args){let s=i[0]==="@"||i[0]==="$"||i[0]===":"?i.substring(1):i;n[s]=V4(t.args[i],r)}}try{let i=e.prepare(o);i.safeIntegers(!0);let s=!0;try{i.raw(!0)}catch{s=!1}if(s){let a=Array.from(i.columns().map((m)=>m.name)),c=Array.from(i.columns().map((m)=>m.type??"")),u=i.all(n).map((m)=>cde(m,a,r)),d=0,f=void 0;return new Xc(a,c,u,0,void 0)}else{let a=i.run(n),c=a.changes,u=BigInt(a.lastInsertRowid);return new Xc([],[],[],c,u)}}catch(i){throw eq(i)}}function cde(e,t,r){let o={};Object.defineProperty(o,"length",{value:e.length});for(let n=0;n<e.length;++n){let i=lde(e[n],r);Object.defineProperty(o,n,{value:i});let s=t[n];if(!Object.hasOwn(o,s))Object.defineProperty(o,s,{value:i,enumerable:!0,configurable:!0,writable:!0})}return o}function lde(e,t){if(typeof e==="bigint")if(t==="number"){if(e<ude||e>dde)throw RangeError("Received integer which cannot be safely represented as a JavaScript number");return Number(e)}else if(t==="bigint")return e;else if(t==="string")return""+e;else throw Error("Invalid value for IntMode");else if(e instanceof W4)return e.buffer;return e}function V4(e,t){if(typeof e==="number"){if(!Number.isFinite(e))throw RangeError("Only finite numbers (not Infinity or NaN) can be passed as arguments");return e}else if(typeof e==="bigint"){if(e<fde||e>pde)throw RangeError("bigint is too large to be represented as a 64-bit integer and passed as argument");return e}else if(typeof e==="boolean")switch(t){case"bigint":return e?1n:0n;case"string":return e?"1":"0";default:return e?1:0}else if(e instanceof ArrayBuffer)return W4.from(e);else if(e instanceof Date)return e.valueOf();else if(e===void 0)throw TypeError("undefined cannot be passed as argument to the database");else return e}function X4(e,t){try{e.exec(t)}catch(r){throw eq(r)}}function eq(e){if(e instanceof Gd.default.SqliteError){let t=e.code,r=mde(e.rawCode);return new Ce(e.message,r,t,e.rawCode,e)}return e}function mde(e){if(e===void 0)return"SQLITE_UNKNOWN";let t=e&255;return hde[t]??`SQLITE_UNKNOWN_${t.toString()}`}var Gd,ude,dde=9007199254740991n,fde,pde=9223372036854775807n,hde;var tq=w(()=>{gn();Wd();el();Gd=Ol(H4(),1);gn();ude=-9007199254740991n;fde=-9223372036854775808n;hde={1:"SQLITE_ERROR",2:"SQLITE_INTERNAL",3:"SQLITE_PERM",4:"SQLITE_ABORT",5:"SQLITE_BUSY",6:"SQLITE_LOCKED",7:"SQLITE_NOMEM",8:"SQLITE_READONLY",9:"SQLITE_INTERRUPT",10:"SQLITE_IOERR",11:"SQLITE_CORRUPT",12:"SQLITE_NOTFOUND",13:"SQLITE_FULL",14:"SQLITE_CANTOPEN",15:"SQLITE_PROTOCOL",16:"SQLITE_EMPTY",17:"SQLITE_SCHEMA",18:"SQLITE_TOOBIG",19:"SQLITE_CONSTRAINT",20:"SQLITE_MISMATCH",21:"SQLITE_MISUSE",22:"SQLITE_NOLFS",23:"SQLITE_AUTH",24:"SQLITE_FORMAT",25:"SQLITE_RANGE",26:"SQLITE_NOTADB",27:"SQLITE_NOTICE",28:"SQLITE_WARNING"}});var ji;var fT=w(()=>{if(typeof WebSocket<"u")ji=WebSocket;else if(typeof global<"u")ji=global.WebSocket;else if(typeof window<"u")ji=window.WebSocket;else if(typeof self<"u")ji=self.WebSocket});class nl{constructor(){this.intMode="number"}intMode}var We,Pe,Qd,xt,Yd,ol,Xs,yn,or,Qn;var _t=w(()=>{We=class We extends Error{constructor(e){super(e);this.name="ClientError"}};Pe=class Pe extends We{constructor(e){super(e);this.name="ProtoError"}};Qd=class Qd extends We{code;proto;constructor(e,t){super(e);this.name="ResponseError",this.code=t.code,this.proto=t,this.stack=void 0}};xt=class xt extends We{constructor(e,t){if(t!==void 0){super(`${e}: ${t}`);this.cause=t}else super(e);this.name="ClosedError"}};Yd=class Yd extends We{constructor(e){super(e);this.name="WebSocketUnsupportedError"}};ol=class ol extends We{constructor(e){super(e);this.name="WebSocketError"}};Xs=class Xs extends We{status;constructor(e,t){super(e);this.status=t,this.name="HttpServerError"}};yn=class yn extends We{constructor(e){super(e);this.name="ProtocolVersionError"}};or=class or extends We{constructor(e){super(e);this.name="InternalError"}};Qn=class Qn extends We{constructor(e){super(e);this.name="MisuseError"}}});function Ar(e){if(typeof e==="string")return e;throw il(e,"string")}function Lr(e){if(e===null||e===void 0)return;else if(typeof e==="string")return e;throw il(e,"string or null")}function Po(e){if(typeof e==="number")return e;throw il(e,"number")}function Zi(e){if(typeof e==="boolean")return e;throw il(e,"boolean")}function Xd(e){if(Array.isArray(e))return e;throw il(e,"array")}function kt(e){if(e!==null&&typeof e==="object"&&!Array.isArray(e))return e;throw il(e,"object")}function bn(e,t){return Xd(e).map((r)=>t(kt(r)))}function il(e,t){if(e===void 0)return new Pe(`Expected ${t}, but the property was missing`);let r=typeof e;if(e===null)r="null";else if(Array.isArray(e))r="array";return new Pe(`Expected ${t}, received ${r}`)}function ea(e,t){return t(kt(e))}var sl=w(()=>{_t()});class rq{#e;#t;constructor(e){this.#e=e,this.#t=!1}begin(){this.#e.push("{"),this.#t=!0}end(){this.#e.push("}"),this.#t=!1}#r(e){if(this.#t)this.#e.push('"'),this.#t=!1;else this.#e.push(',"');this.#e.push(e),this.#e.push('":')}string(e,t){this.#r(e),this.#e.push(JSON.stringify(t))}stringRaw(e,t){this.#r(e),this.#e.push('"'),this.#e.push(t),this.#e.push('"')}number(e,t){this.#r(e),this.#e.push(""+t)}boolean(e,t){this.#r(e),this.#e.push(t?"true":"false")}object(e,t,r){this.#r(e),this.begin(),r(this,t),this.end()}arrayObjects(e,t,r){this.#r(e),this.#e.push("[");for(let o=0;o<t.length;++o){if(o!==0)this.#e.push(",");this.begin(),r(this,t[o]),this.end()}this.#e.push("]")}}function ef(e,t){let r=[],o=new rq(r);return o.begin(),t(o,e),o.end(),r.join("")}var ta=0,tf=1,rf=2,nq=5;class oq{#e;#t;#r;constructor(e){this.#e=e,this.#t=new DataView(e.buffer,e.byteOffset,e.byteLength),this.#r=0}varint(){let e=0;for(let t=0;;t+=7){let r=this.#e[this.#r++];if(e|=(r&127)<<t,!(r&128))break}return e}varintBig(){let e=0n;for(let t=0n;;t+=7n){let r=this.#e[this.#r++];if(e|=BigInt(r&127)<<t,!(r&128))break}return e}bytes(e){let t=new Uint8Array(this.#e.buffer,this.#e.byteOffset+this.#r,e);return this.#r+=e,t}double(){let e=this.#t.getFloat64(this.#r,!0);return this.#r+=8,e}skipVarint(){for(;;)if(!(this.#e[this.#r++]&128))break}skip(e){this.#r+=e}eof(){return this.#r>=this.#e.byteLength}}class iq{#e;#t;constructor(e){this.#e=e,this.#t=-1}setup(e){this.#t=e}#r(e){if(this.#t!==e)throw new Pe(`Expected wire type ${e}, got ${this.#t}`);this.#t=-1}bytes(){this.#r(rf);let e=this.#e.varint();return this.#e.bytes(e)}string(){return new TextDecoder().decode(this.bytes())}message(e){return Ui(this.bytes(),e)}int32(){return this.#r(ta),this.#e.varint()}uint32(){return this.int32()}bool(){return this.int32()!==0}uint64(){return this.#r(ta),this.#e.varintBig()}sint64(){let e=this.uint64();return e>>1n^-(e&1n)}double(){return this.#r(tf),this.#e.double()}maybeSkip(){if(this.#t<0)return;else if(this.#t===ta)this.#e.skipVarint();else if(this.#t===tf)this.#e.skip(8);else if(this.#t===rf){let e=this.#e.varint();this.#e.skip(e)}else if(this.#t===nq)this.#e.skip(4);else throw new Pe(`Unexpected wire type ${this.#t}`);this.#t=-1}}function Ui(e,t){let r=new oq(e),o=new iq(r),n=t.default();while(!r.eof()){let i=r.varint(),s=i>>3,a=i&7;o.setup(a);let c=t[s];if(c!==void 0){let u=c(o,n);if(u!==void 0)n=u}o.maybeSkip()}return n}var pT=w(()=>{_t()});class mT{#e;#t;#r;#n;constructor(){this.#e=new ArrayBuffer(256),this.#t=new Uint8Array(this.#e),this.#r=new DataView(this.#e),this.#n=0}#o(e){if(this.#n+e<=this.#e.byteLength)return;let t=this.#e.byteLength;while(t<this.#n+e)t*=2;let r=new ArrayBuffer(t),o=new Uint8Array(r),n=new DataView(r);o.set(new Uint8Array(this.#e,0,this.#n)),this.#e=r,this.#t=o,this.#r=n}#i(e){this.#o(5),e=0|e;do{let t=e&127;e>>>=7,t|=e?128:0,this.#t[this.#n++]=t}while(e)}#a(e){this.#o(10),e=e&0xffffffffffffffffn;do{let t=Number(e&0x7fn);e>>=7n,t|=e?128:0,this.#t[this.#n++]=t}while(e)}#s(e,t){this.#i(e<<3|t)}bytes(e,t){this.#s(e,rf),this.#i(t.byteLength),this.#o(t.byteLength),this.#t.set(t,this.#n),this.#n+=t.byteLength}string(e,t){this.bytes(e,new TextEncoder().encode(t))}message(e,t,r){let o=new mT;r(o,t),this.bytes(e,o.data())}int32(e,t){this.#s(e,ta),this.#i(t)}uint32(e,t){this.int32(e,t)}bool(e,t){this.int32(e,t?1:0)}sint64(e,t){this.#s(e,ta),this.#a(t<<1n^t>>63n)}double(e,t){this.#s(e,tf),this.#o(8),this.#r.setFloat64(this.#n,t,!0),this.#n+=8}data(){return new Uint8Array(this.#e,0,this.#n)}}function nf(e,t){let r=new mT;return t(r,e),r.data()}var sq=()=>{};var hT=w(()=>{sl();pT();sq()});class qi{#e;#t;constructor(){this.#e=new Set,this.#t=new Set}alloc(){for(let t of this.#t){if(this.#t.delete(t),this.#e.add(t),!this.#e.has(this.#e.size-1))this.#t.add(this.#e.size-1);return t}let e=this.#e.size;return this.#e.add(e),e}free(e){if(!this.#e.delete(e))throw new or("Freeing an id that is not allocated");if(this.#t.delete(this.#e.size),e<this.#e.size)this.#t.add(e)}}var gT=w(()=>{_t()});function Ke(e,t){throw new or(t)}var Xr=w(()=>{_t()});function al(e){if(e===null)return null;else if(typeof e==="string")return e;else if(typeof e==="number"){if(!Number.isFinite(e))throw RangeError("Only finite numbers (not Infinity or NaN) can be passed as arguments");return e}else if(typeof e==="bigint"){if(e<yde||e>bde)throw RangeError("This bigint value is too large to be represented as a 64-bit integer and passed as argument");return e}else if(typeof e==="boolean")return e?1n:0n;else if(e instanceof ArrayBuffer)return new Uint8Array(e);else if(e instanceof Uint8Array)return e;else if(e instanceof Date)return+e.valueOf();else if(typeof e==="object")return""+e.toString();else throw TypeError("Unsupported type of value")}function yT(e,t){if(e===null)return null;else if(typeof e==="number")return e;else if(typeof e==="string")return e;else if(typeof e==="bigint")if(t==="number"){let r=Number(e);if(!Number.isSafeInteger(r))throw RangeError("Received integer which is too large to be safely represented as a JavaScript number");return r}else if(t==="bigint")return e;else if(t==="string")return""+e;else throw new Qn("Invalid value for IntMode");else if(e instanceof Uint8Array)return e.slice().buffer;else if(e===void 0)throw new Pe("Received unrecognized type of Value");else throw Ke(e,"Impossible type of Value")}var yde,bde=9223372036854775807n;var bT=w(()=>{_t();Xr();yde=-9223372036854775808n});function ra(e){return{affectedRowCount:e.affectedRowCount,lastInsertRowid:e.lastInsertRowid,columnNames:e.cols.map((t)=>t.name),columnDecltypes:e.cols.map((t)=>t.decltype)}}function ty(e,t){let r=ra(e),o=e.rows.map((n)=>aq(r.columnNames,n,t));return{...r,rows:o}}function ry(e,t){let r=ra(e),o;if(e.rows.length>0)o=aq(r.columnNames,e.rows[0],t);return{...r,row:o}}function ny(e,t){let r=ra(e),o;if(e.rows.length>0&&r.columnNames.length>0)o=yT(e.rows[0][0],t);return{...r,value:o}}function aq(e,t,r){let o={};Object.defineProperty(o,"length",{value:t.length});for(let n=0;n<t.length;++n){let i=yT(t[n],r);Object.defineProperty(o,n,{value:i});let s=e[n];if(s!==void 0&&!Object.hasOwn(o,s))Object.defineProperty(o,s,{value:i,enumerable:!0,configurable:!0,writable:!0})}return o}function zo(e){return new Qd(e.message,e)}var of=w(()=>{_t();bT()});class na{#e;#t;#r;constructor(e,t){this.#e=e,this.#t=t,this.#r=void 0}_getSqlId(e){if(this.#e!==e)throw new Qn("Attempted to use SQL text opened with other object");else if(this.#r!==void 0)throw new xt("SQL text is closed",this.#r);return this.#t}close(){this._setClosed(new We("SQL text was manually closed"))}_setClosed(e){if(this.#r===void 0)this.#r=e,this.#e._closeSql(this.#t)}get closed(){return this.#r!==void 0}}function sf(e,t){if(t instanceof na)return{sqlId:t._getSqlId(e)};else return{sql:""+t}}var cl=w(()=>{_t()});class Mi{#e;#t;constructor(){this.#e=[],this.#t=[]}get length(){return this.#e.length+this.#t.length}push(e){this.#e.push(e)}shift(){if(this.#t.length===0&&this.#e.length>0)this.#t=this.#e.reverse(),this.#e=[];return this.#t.pop()}first(){return this.#t.length!==0?this.#t[this.#t.length-1]:this.#e[0]}}class af{sql;_args;_namedArgs;constructor(e){this.sql=e,this._args=[],this._namedArgs=new Map}bindIndexes(e){this._args.length=0;for(let t of e)this._args.push(al(t));return this}bindIndex(e,t){if(e!==(e|0)||e<=0)throw RangeError("Index of a positional argument must be positive integer");while(this._args.length<e)this._args.push(null);return this._args[e-1]=al(t),this}bindName(e,t){return this._namedArgs.set(e,al(t)),this}unbindAll(){return this._args.length=0,this._namedArgs.clear(),this}}function oy(e,t,r){let o,n=[],i=[];if(t instanceof af){o=t.sql,n=t._args;for(let[c,u]of t._namedArgs.entries())i.push({name:c,value:u})}else if(Array.isArray(t))if(o=t[0],Array.isArray(t[1]))n=t[1].map((c)=>al(c));else i=Object.entries(t[1]).map(([c,u])=>({name:c,value:al(u)}));else o=t;let{sql:s,sqlId:a}=sf(e,o);return{sql:s,sqlId:a,args:n,namedArgs:i,wantRows:r}}var iy=w(()=>{cl();bT()});class sy{_stream;#e;_steps;#t;constructor(e,t){this._stream=e,this.#e=t,this._steps=[],this.#t=!1}step(){return new ST(this)}execute(){if(this.#t)throw new Qn("This batch has already been executed");this.#t=!0;let e={steps:this._steps.map((t)=>t.proto)};if(this.#e)return vde(this._stream,this._steps,e);else return Sde(this._stream,this._steps,e)}}function Sde(e,t,r){return e._batch(r).then((o)=>{for(let n=0;n<t.length;++n){let i=o.stepResults.get(n),s=o.stepErrors.get(n);t[n].callback(i,s)}})}async function vde(e,t,r){let o=await e._openCursor(r);try{let n=0,i=void 0,s=[];for(;;){let a=await o.next();if(a===void 0)break;if(a.type==="step_begin"){if(a.step<n||a.step>=t.length)throw new Pe("Server produced StepBeginEntry for unexpected step");else if(i!==void 0)throw new Pe("Server produced StepBeginEntry before terminating previous step");for(let c=n;c<a.step;++c)t[c].callback(void 0,void 0);n=a.step+1,i=a,s=[]}else if(a.type==="step_end"){if(i===void 0)throw new Pe("Server produced StepEndEntry but no step is active");let c={cols:i.cols,rows:s,affectedRowCount:a.affectedRowCount,lastInsertRowid:a.lastInsertRowid};t[i.step].callback(c,void 0),i=void 0,s=[]}else if(a.type==="step_error"){if(i===void 0){if(a.step>=t.length)throw new Pe("Server produced StepErrorEntry for unexpected step");for(let c=n;c<a.step;++c)t[c].callback(void 0,void 0)}else{if(a.step!==i.step)throw new Pe("Server produced StepErrorEntry for unexpected step");i=void 0,s=[]}t[a.step].callback(void 0,a.error),n=a.step+1}else if(a.type==="row"){if(i===void 0)throw new Pe("Server produced RowEntry but no step is active");s.push(a.row)}else if(a.type==="error")throw zo(a.error);else if(a.type==="none")throw new Pe("Server produced unrecognized CursorEntry");else throw Ke(a,"Impossible CursorEntry")}if(i!==void 0)throw new Pe("Server closed Cursor before terminating active step");for(let a=n;a<t.length;++a)t[a].callback(void 0,void 0)}finally{o.close()}}class ST{_batch;#e;_index;constructor(e){this._batch=e,this.#e=[],this._index=void 0}condition(e){return this.#e.push(e._proto),this}query(e){return this.#t(e,!0,ty)}queryRow(e){return this.#t(e,!0,ry)}queryValue(e){return this.#t(e,!0,ny)}run(e){return this.#t(e,!1,ra)}#t(e,t,r){if(this._index!==void 0)throw new Qn("This BatchStep has already been added to the batch");let o=oy(this._batch._stream._sqlOwner(),e,t),n;if(this.#e.length===0)n=void 0;else if(this.#e.length===1)n=this.#e[0];else n={type:"and",conds:this.#e.slice()};let i={stmt:o,condition:n};return new Promise((s,a)=>{let c=(u,d)=>{if(u!==void 0&&d!==void 0)a(new Pe("Server returned both result and error"));else if(d!==void 0)a(zo(d));else if(u!==void 0)s(r(u,this._batch._stream.intMode));else s(void 0)};this._index=this._batch._steps.length,this._batch._steps.push({proto:i,callback:c})})}}class dt{_batch;_proto;constructor(e,t){this._batch=e,this._proto=t}static ok(e){return new dt(e._batch,{type:"ok",step:cq(e)})}static error(e){return new dt(e._batch,{type:"error",step:cq(e)})}static not(e){return new dt(e._batch,{type:"not",cond:e._proto})}static and(e,t){for(let r of t)lq(e,r);return new dt(e,{type:"and",conds:t.map((r)=>r._proto)})}static or(e,t){for(let r of t)lq(e,r);return new dt(e,{type:"or",conds:t.map((r)=>r._proto)})}static isAutocommit(e){return e._stream.client()._ensureVersion(3,"BatchCond.isAutocommit()"),new dt(e,{type:"is_autocommit"})}}function cq(e){if(e._index===void 0)throw new Qn("Cannot add a condition referencing a step that has not been added to the batch");return e._index}function lq(e,t){if(t._batch!==e)throw new Qn("Cannot mix BatchCond objects for different Batch objects")}var vT=w(()=>{_t();of();iy();Xr()});function uq(e){return{paramNames:e.params.map((t)=>t.name),columns:e.cols,isExplain:e.isExplain,isReadonly:e.isReadonly}}class ll{constructor(e){this.intMode=e}query(e){return this.#e(e,!0,ty)}queryRow(e){return this.#e(e,!0,ry)}queryValue(e){return this.#e(e,!0,ny)}run(e){return this.#e(e,!1,ra)}#e(e,t,r){let o=oy(this._sqlOwner(),e,t);return this._execute(o).then((n)=>r(n,this.intMode))}batch(e=!1){return new sy(this,e)}describe(e){let t=sf(this._sqlOwner(),e);return this._describe(t).then(uq)}sequence(e){let t=sf(this._sqlOwner(),e);return this._sequence(t)}intMode}var ay=w(()=>{vT();of();cl();iy()});class cf{}var wde=1000,xde=10,wT;var dq=w(()=>{_t();wT=class wT extends cf{#e;#t;#r;#n;#o;#i;#a;constructor(e,t,r){super();this.#e=e,this.#t=t,this.#r=r,this.#n=new Mi,this.#o=new Mi,this.#i=void 0,this.#a=!1}async next(){for(;;){if(this.#i!==void 0)throw new xt("Cursor is closed",this.#i);while(!this.#a&&this.#o.length<xde)this.#o.push(this.#s());let e=this.#n.shift();if(this.#a||e!==void 0)return e;await this.#o.shift().then((t)=>{if(t===void 0)return;for(let r of t.entries)this.#n.push(r);this.#a||=t.done})}}#s(){return this.#t._sendCursorRequest(this,{type:"fetch_cursor",cursorId:this.#r,maxCount:wde}).then((e)=>e,(e)=>{this._setClosed(e);return})}_setClosed(e){if(this.#i!==void 0)return;this.#i=e,this.#t._sendCursorRequest(this,{type:"close_cursor",cursorId:this.#r}).catch(()=>{return}),this.#t._cursorClosed(this)}close(){this._setClosed(new We("Cursor was manually closed"))}get closed(){return this.#i!==void 0}}});var lf;var xT=w(()=>{_t();ay();dq();lf=class lf extends ll{#e;#t;#r;#n;#o;#i;static open(e){let t=e._streamIdAlloc.alloc(),r=new lf(e,t),o=()=>{return},n=(s)=>r.#l(s),i={type:"open_stream",streamId:t};return e._sendRequest(i,{responseCallback:o,errorCallback:n}),r}constructor(e,t){super(e.intMode);this.#e=e,this.#t=t,this.#r=new Mi,this.#n=void 0,this.#o=!1,this.#i=void 0}client(){return this.#e}_sqlOwner(){return this.#e}_execute(e){return this.#a({type:"execute",streamId:this.#t,stmt:e}).then((t)=>t.result)}_batch(e){return this.#a({type:"batch",streamId:this.#t,batch:e}).then((t)=>t.result)}_describe(e){return this.#e._ensureVersion(2,"describe()"),this.#a({type:"describe",streamId:this.#t,sql:e.sql,sqlId:e.sqlId}).then((t)=>t.result)}_sequence(e){return this.#e._ensureVersion(2,"sequence()"),this.#a({type:"sequence",streamId:this.#t,sql:e.sql,sqlId:e.sqlId}).then((t)=>{return})}getAutocommit(){return this.#e._ensureVersion(3,"getAutocommit()"),this.#a({type:"get_autocommit",streamId:this.#t}).then((e)=>e.isAutocommit)}#a(e){return new Promise((t,r)=>{this.#s({type:"request",request:e,responseCallback:t,errorCallback:r})})}_openCursor(e){return this.#e._ensureVersion(3,"cursor"),new Promise((t,r)=>{this.#s({type:"cursor",batch:e,cursorCallback:t,errorCallback:r})})}_sendCursorRequest(e,t){if(e!==this.#n)throw new or("Cursor not associated with the stream attempted to execute a request");return new Promise((r,o)=>{if(this.#i!==void 0)o(new xt("Stream is closed",this.#i));else this.#e._sendRequest(t,{responseCallback:r,errorCallback:o})})}_cursorClosed(e){if(e!==this.#n)throw new or("Cursor was closed, but it was not associated with the stream");this.#n=void 0,this.#c()}#s(e){if(this.#i!==void 0)e.errorCallback(new xt("Stream is closed",this.#i));else if(this.#o)e.errorCallback(new xt("Stream is closing",void 0));else this.#r.push(e),this.#c()}#c(){for(;;){let e=this.#r.first();if(e===void 0&&this.#n===void 0&&this.#o){this.#l(new We("Stream was gracefully closed"));break}else if(e?.type==="request"&&this.#n===void 0){let{request:t,responseCallback:r,errorCallback:o}=e;this.#r.shift(),this.#e._sendRequest(t,{responseCallback:r,errorCallback:o})}else if(e?.type==="cursor"&&this.#n===void 0){let{batch:t,cursorCallback:r}=e;this.#r.shift();let o=this.#e._cursorIdAlloc.alloc(),n=new wT(this.#e,this,o),i={type:"open_cursor",streamId:this.#t,cursorId:o,batch:t},s=()=>{return},a=(c)=>n._setClosed(c);this.#e._sendRequest(i,{responseCallback:s,errorCallback:a}),this.#n=n,r(n)}else break}}#l(e){if(this.#i!==void 0)return;if(this.#i=e,this.#n!==void 0)this.#n._setClosed(e);for(;;){let n=this.#r.shift();if(n!==void 0)n.errorCallback(e);else break}let t={type:"close_stream",streamId:this.#t},r=()=>this.#e._streamIdAlloc.free(this.#t),o=()=>{return};this.#e._sendRequest(t,{responseCallback:r,errorCallback:o})}close(){this.#l(new We("Stream was manually closed"))}closeGracefully(){this.#o=!0,this.#c()}get closed(){return this.#i!==void 0||this.#o}}});function uf(e,t){if(t.sql!==void 0)e.string("sql",t.sql);if(t.sqlId!==void 0)e.number("sql_id",t.sqlId);e.arrayObjects("args",t.args,fq),e.arrayObjects("named_args",t.namedArgs,_de),e.boolean("want_rows",t.wantRows)}function _de(e,t){e.string("name",t.name),e.object("value",t.value,fq)}function ul(e,t){e.arrayObjects("steps",t.steps,Ede)}function Ede(e,t){if(t.condition!==void 0)e.object("condition",t.condition,_T);e.object("stmt",t.stmt,uf)}function _T(e,t){if(e.stringRaw("type",t.type),t.type==="ok"||t.type==="error")e.number("step",t.step);else if(t.type==="not")e.object("cond",t.cond,_T);else if(t.type==="and"||t.type==="or")e.arrayObjects("conds",t.conds,_T);else if(t.type==="is_autocommit");else throw Ke(t,"Impossible type of BatchCond")}function fq(e,t){if(t===null)e.stringRaw("type","null");else if(typeof t==="bigint")e.stringRaw("type","integer"),e.stringRaw("value",""+t);else if(typeof t==="number")e.stringRaw("type","float"),e.number("value",t);else if(typeof t==="string")e.stringRaw("type","text"),e.string("value",t);else if(t instanceof Uint8Array)e.stringRaw("type","blob"),e.stringRaw("base64",Yc.fromUint8Array(t));else if(t===void 0);else throw Ke(t,"Impossible type of Value")}var ET=w(()=>{Qg();Xr()});function pq(e,t){if(e.stringRaw("type",t.type),t.type==="hello"){if(t.jwt!==void 0)e.string("jwt",t.jwt)}else if(t.type==="request")e.number("request_id",t.requestId),e.object("request",t.request,Ide);else throw Ke(t,"Impossible type of ClientMsg")}function Ide(e,t){if(e.stringRaw("type",t.type),t.type==="open_stream")e.number("stream_id",t.streamId);else if(t.type==="close_stream")e.number("stream_id",t.streamId);else if(t.type==="execute")e.number("stream_id",t.streamId),e.object("stmt",t.stmt,uf);else if(t.type==="batch")e.number("stream_id",t.streamId),e.object("batch",t.batch,ul);else if(t.type==="open_cursor")e.number("stream_id",t.streamId),e.number("cursor_id",t.cursorId),e.object("batch",t.batch,ul);else if(t.type==="close_cursor")e.number("cursor_id",t.cursorId);else if(t.type==="fetch_cursor")e.number("cursor_id",t.cursorId),e.number("max_count",t.maxCount);else if(t.type==="sequence"){if(e.number("stream_id",t.streamId),t.sql!==void 0)e.string("sql",t.sql);if(t.sqlId!==void 0)e.number("sql_id",t.sqlId)}else if(t.type==="describe"){if(e.number("stream_id",t.streamId),t.sql!==void 0)e.string("sql",t.sql);if(t.sqlId!==void 0)e.number("sql_id",t.sqlId)}else if(t.type==="store_sql")e.number("sql_id",t.sqlId),e.string("sql",t.sql);else if(t.type==="close_sql")e.number("sql_id",t.sqlId);else if(t.type==="get_autocommit")e.number("stream_id",t.streamId);else throw Ke(t,"Impossible type of Request")}var mq=w(()=>{ET();Xr()});function df(e,t){if(t.sql!==void 0)e.string(1,t.sql);if(t.sqlId!==void 0)e.int32(2,t.sqlId);for(let r of t.args)e.message(3,r,gq);for(let r of t.namedArgs)e.message(4,r,kde);e.bool(5,t.wantRows)}function kde(e,t){e.string(1,t.name),e.message(2,t.value,gq)}function dl(e,t){for(let r of t.steps)e.message(1,r,Ade)}function Ade(e,t){if(t.condition!==void 0)e.message(1,t.condition,IT);e.message(2,t.stmt,df)}function IT(e,t){if(t.type==="ok")e.uint32(1,t.step);else if(t.type==="error")e.uint32(2,t.step);else if(t.type==="not")e.message(3,t.cond,IT);else if(t.type==="and")e.message(4,t.conds,hq);else if(t.type==="or")e.message(5,t.conds,hq);else if(t.type==="is_autocommit")e.message(6,void 0,yq);else throw Ke(t,"Impossible type of BatchCond")}function hq(e,t){for(let r of t)e.message(1,r,IT)}function gq(e,t){if(t===null)e.message(1,void 0,yq);else if(typeof t==="bigint")e.sint64(2,t);else if(typeof t==="number")e.double(3,t);else if(typeof t==="string")e.string(4,t);else if(t instanceof Uint8Array)e.bytes(5,t);else if(t===void 0);else throw Ke(t,"Impossible type of Value")}function yq(e,t){}var kT=w(()=>{Xr()});function bq(e,t){if(t.type==="hello")e.message(1,t,Tde);else if(t.type==="request")e.message(2,t,$de);else throw Ke(t,"Impossible type of ClientMsg")}function Tde(e,t){if(t.jwt!==void 0)e.string(1,t.jwt)}function $de(e,t){e.int32(1,t.requestId);let r=t.request;if(r.type==="open_stream")e.message(2,r,Rde);else if(r.type==="close_stream")e.message(3,r,Ode);else if(r.type==="execute")e.message(4,r,Cde);else if(r.type==="batch")e.message(5,r,Pde);else if(r.type==="open_cursor")e.message(6,r,zde);else if(r.type==="close_cursor")e.message(7,r,Nde);else if(r.type==="fetch_cursor")e.message(8,r,Dde);else if(r.type==="sequence")e.message(9,r,Lde);else if(r.type==="describe")e.message(10,r,Bde);else if(r.type==="store_sql")e.message(11,r,jde);else if(r.type==="close_sql")e.message(12,r,Zde);else if(r.type==="get_autocommit")e.message(13,r,Ude);else throw Ke(r,"Impossible type of Request")}function Rde(e,t){e.int32(1,t.streamId)}function Ode(e,t){e.int32(1,t.streamId)}function Cde(e,t){e.int32(1,t.streamId),e.message(2,t.stmt,df)}function Pde(e,t){e.int32(1,t.streamId),e.message(2,t.batch,dl)}function zde(e,t){e.int32(1,t.streamId),e.int32(2,t.cursorId),e.message(3,t.batch,dl)}function Nde(e,t){e.int32(1,t.cursorId)}function Dde(e,t){e.int32(1,t.cursorId),e.uint32(2,t.maxCount)}function Lde(e,t){if(e.int32(1,t.streamId),t.sql!==void 0)e.string(2,t.sql);if(t.sqlId!==void 0)e.int32(3,t.sqlId)}function Bde(e,t){if(e.int32(1,t.streamId),t.sql!==void 0)e.string(2,t.sql);if(t.sqlId!==void 0)e.int32(3,t.sqlId)}function jde(e,t){e.int32(1,t.sqlId),e.string(2,t.sql)}function Zde(e,t){e.int32(1,t.sqlId)}function Ude(e,t){e.int32(1,t.streamId)}var Sq=w(()=>{kT();Xr()});function Fi(e){let t=Ar(e.message),r=Lr(e.code);return{message:t,code:r}}function ff(e){let t=bn(e.cols,vq),r=Xd(e.rows).map((s)=>bn(s,wq)),o=Po(e.affected_row_count),n=Lr(e.last_insert_rowid),i=n!==void 0?BigInt(n):void 0;return{cols:t,rows:r,affectedRowCount:o,lastInsertRowid:i}}function vq(e){let t=Lr(e.name),r=Lr(e.decltype);return{name:t,decltype:r}}function cy(e){let t=new Map;Xd(e.step_results).forEach((o,n)=>{if(o!==null)t.set(n,ff(kt(o)))});let r=new Map;return Xd(e.step_errors).forEach((o,n)=>{if(o!==null)r.set(n,Fi(kt(o)))}),{stepResults:t,stepErrors:r}}function ly(e){let t=Ar(e.type);if(t==="step_begin"){let r=Po(e.step),o=bn(e.cols,vq);return{type:"step_begin",step:r,cols:o}}else if(t==="step_end"){let r=Po(e.affected_row_count),o=Lr(e.last_insert_rowid),n=o!==void 0?BigInt(o):void 0;return{type:"step_end",affectedRowCount:r,lastInsertRowid:n}}else if(t==="step_error"){let r=Po(e.step),o=Fi(kt(e.error));return{type:"step_error",step:r,error:o}}else if(t==="row")return{type:"row",row:bn(e.row,wq)};else if(t==="error")return{type:"error",error:Fi(kt(e.error))};else throw new Pe("Unexpected type of CursorEntry")}function uy(e){let t=bn(e.params,qde),r=bn(e.cols,Mde),o=Zi(e.is_explain),n=Zi(e.is_readonly);return{params:t,cols:r,isExplain:o,isReadonly:n}}function qde(e){return{name:Lr(e.name)}}function Mde(e){let t=Ar(e.name),r=Lr(e.decltype);return{name:t,decltype:r}}function wq(e){let t=Ar(e.type);if(t==="null")return null;else if(t==="integer"){let r=Ar(e.value);return BigInt(r)}else if(t==="float")return Po(e.value);else if(t==="text")return Ar(e.value);else if(t==="blob")return Yc.toUint8Array(Ar(e.base64));else throw new Pe("Unexpected type of Value")}var dy=w(()=>{Qg();_t();sl()});function xq(e){let t=Ar(e.type);if(t==="hello_ok")return{type:"hello_ok"};else if(t==="hello_error")return{type:"hello_error",error:Fi(kt(e.error))};else if(t==="response_ok"){let r=Po(e.request_id),o=Fde(kt(e.response));return{type:"response_ok",requestId:r,response:o}}else if(t==="response_error"){let r=Po(e.request_id),o=Fi(kt(e.error));return{type:"response_error",requestId:r,error:o}}else throw new Pe("Unexpected type of ServerMsg")}function Fde(e){let t=Ar(e.type);if(t==="open_stream")return{type:"open_stream"};else if(t==="close_stream")return{type:"close_stream"};else if(t==="execute")return{type:"execute",result:ff(kt(e.result))};else if(t==="batch")return{type:"batch",result:cy(kt(e.result))};else if(t==="open_cursor")return{type:"open_cursor"};else if(t==="close_cursor")return{type:"close_cursor"};else if(t==="fetch_cursor"){let r=bn(e.entries,ly),o=Zi(e.done);return{type:"fetch_cursor",entries:r,done:o}}else if(t==="sequence")return{type:"sequence"};else if(t==="describe")return{type:"describe",result:uy(kt(e.result))};else if(t==="store_sql")return{type:"store_sql"};else if(t==="close_sql")return{type:"close_sql"};else if(t==="get_autocommit")return{type:"get_autocommit",isAutocommit:Zi(e.is_autocommit)};else throw new Pe("Unexpected type of Response")}var _q=w(()=>{_t();sl();dy()});var en,Ji,Eq,Iq,fl,Jde,Kde,fy,Hde,Vde,Wde,pl,Gde,Qde,Yde;var py=w(()=>{en={default(){return{message:"",code:void 0}},1(e,t){t.message=e.string()},2(e,t){t.code=e.string()}},Ji={default(){return{cols:[],rows:[],affectedRowCount:0,lastInsertRowid:void 0}},1(e,t){t.cols.push(e.message(Eq))},2(e,t){t.rows.push(e.message(Iq))},3(e,t){t.affectedRowCount=Number(e.uint64())},4(e,t){t.lastInsertRowid=e.sint64()}},Eq={default(){return{name:void 0,decltype:void 0}},1(e,t){t.name=e.string()},2(e,t){t.decltype=e.string()}},Iq={default(){return[]},1(e,t){t.push(e.message(Yde))}},fl={default(){return{stepResults:new Map,stepErrors:new Map}},1(e,t){let[r,o]=e.message(Jde);t.stepResults.set(r,o)},2(e,t){let[r,o]=e.message(Kde);t.stepErrors.set(r,o)}},Jde={default(){return[0,Ji.default()]},1(e,t){t[0]=e.uint32()},2(e,t){t[1]=e.message(Ji)}},Kde={default(){return[0,en.default()]},1(e,t){t[0]=e.uint32()},2(e,t){t[1]=e.message(en)}},fy={default(){return{type:"none"}},1(e){return e.message(Hde)},2(e){return e.message(Vde)},3(e){return e.message(Wde)},4(e){return{type:"row",row:e.message(Iq)}},5(e){return{type:"error",error:e.message(en)}}},Hde={default(){return{type:"step_begin",step:0,cols:[]}},1(e,t){t.step=e.uint32()},2(e,t){t.cols.push(e.message(Eq))}},Vde={default(){return{type:"step_end",affectedRowCount:0,lastInsertRowid:void 0}},1(e,t){t.affectedRowCount=e.uint32()},2(e,t){t.lastInsertRowid=e.uint64()}},Wde={default(){return{type:"step_error",step:0,error:en.default()}},1(e,t){t.step=e.uint32()},2(e,t){t.error=e.message(en)}},pl={default(){return{params:[],cols:[],isExplain:!1,isReadonly:!1}},1(e,t){t.params.push(e.message(Gde))},2(e,t){t.cols.push(e.message(Qde))},3(e,t){t.isExplain=e.bool()},4(e,t){t.isReadonly=e.bool()}},Gde={default(){return{name:void 0}},1(e,t){t.name=e.string()}},Qde={default(){return{name:"",decltype:void 0}},1(e,t){t.name=e.string()},2(e,t){t.decltype=e.string()}},Yde={default(){return},1(e){return null},2(e){return e.sint64()},3(e){return e.double()},4(e){return e.string()},5(e){return e.bytes()}}});var kq,Xde,efe,tfe,rfe,nfe,ofe,ife,sfe;var Aq=w(()=>{py();kq={default(){return{type:"none"}},1(e){return{type:"hello_ok"}},2(e){return e.message(Xde)},3(e){return e.message(tfe)},4(e){return e.message(efe)}},Xde={default(){return{type:"hello_error",error:en.default()}},1(e,t){t.error=e.message(en)}},efe={default(){return{type:"response_error",requestId:0,error:en.default()}},1(e,t){t.requestId=e.int32()},2(e,t){t.error=e.message(en)}},tfe={default(){return{type:"response_ok",requestId:0,response:{type:"none"}}},1(e,t){t.requestId=e.int32()},2(e,t){t.response={type:"open_stream"}},3(e,t){t.response={type:"close_stream"}},4(e,t){t.response=e.message(rfe)},5(e,t){t.response=e.message(nfe)},6(e,t){t.response={type:"open_cursor"}},7(e,t){t.response={type:"close_cursor"}},8(e,t){t.response=e.message(ofe)},9(e,t){t.response={type:"sequence"}},10(e,t){t.response=e.message(ife)},11(e,t){t.response={type:"store_sql"}},12(e,t){t.response={type:"close_sql"}},13(e,t){t.response=e.message(sfe)}},rfe={default(){return{type:"execute",result:Ji.default()}},1(e,t){t.result=e.message(Ji)}},nfe={default(){return{type:"batch",result:fl.default()}},1(e,t){t.result=e.message(fl)}},ofe={default(){return{type:"fetch_cursor",entries:[],done:!1}},1(e,t){t.entries.push(e.message(fy))},2(e,t){t.done=e.bool()}},ife={default(){return{type:"describe",result:pl.default()}},1(e,t){t.result=e.message(pl)}},sfe={default(){return{type:"get_autocommit",isAutocommit:!1}},1(e,t){t.isAutocommit=e.bool()}}});var Tq,AT,my;var hy=w(()=>{hT();_t();gT();of();cl();Xr();xT();mq();Sq();_q();Aq();Tq=new Map([["hrana2",{version:2,encoding:"json"}],["hrana1",{version:1,encoding:"json"}]]),AT=new Map([["hrana3-protobuf",{version:3,encoding:"protobuf"}],["hrana3",{version:3,encoding:"json"}],["hrana2",{version:2,encoding:"json"}],["hrana1",{version:1,encoding:"json"}]]);my=class my extends nl{#e;#t;#r;#n;#o;#i;#a;#s;#c;_streamIdAlloc;_cursorIdAlloc;#l;constructor(e,t){super();this.#e=e,this.#t=[],this.#r=!1,this.#n=void 0,this.#o=!1,this.#i=void 0,this.#a=!1,this.#s=new Map,this.#c=new qi,this._streamIdAlloc=new qi,this._cursorIdAlloc=new qi,this.#l=new qi,this.#e.binaryType="arraybuffer",this.#e.addEventListener("open",()=>this.#f()),this.#e.addEventListener("close",(r)=>this.#g(r)),this.#e.addEventListener("error",(r)=>this.#p(r)),this.#e.addEventListener("message",(r)=>this.#y(r)),this.#d({type:"hello",jwt:t})}#d(e){if(this.#n!==void 0)throw new or("Trying to send a message on a closed client");if(this.#r)this.#m(e);else{let t=()=>this.#m(e),r=()=>{return};this.#t.push({openCallback:t,errorCallback:r})}}#f(){let e=this.#e.protocol;if(e===void 0){this.#u(new We("The `WebSocket.protocol` property is undefined. This most likely means that the WebSocket implementation provided by the environment is broken. If you are using Miniflare 2, please update to Miniflare 3, which fixes this problem."));return}else if(e==="")this.#i={version:1,encoding:"json"};else if(this.#i=AT.get(e),this.#i===void 0){this.#u(new Pe(`Unrecognized WebSocket subprotocol: ${JSON.stringify(e)}`));return}for(let t of this.#t)t.openCallback();this.#t.length=0,this.#r=!0}#m(e){let t=this.#i.encoding;if(t==="json"){let r=ef(e,pq);this.#e.send(r)}else if(t==="protobuf"){let r=nf(e,bq);this.#e.send(r)}else throw Ke(t,"Impossible encoding")}getVersion(){return new Promise((e,t)=>{if(this.#a=!0,this.#n!==void 0)t(this.#n);else if(!this.#r){let r=()=>e(this.#i.version);this.#t.push({openCallback:r,errorCallback:t})}else e(this.#i.version)})}_ensureVersion(e,t){if(this.#i===void 0||!this.#a)throw new yn(`${t} is supported only on protocol version ${e} and higher, but the version supported by the WebSocket server is not yet known. Use Client.getVersion() to wait until the version is available.`);else if(this.#i.version<e)throw new yn(`${t} is supported on protocol version ${e} and higher, but the WebSocket server only supports version ${this.#i.version}`)}_sendRequest(e,t){if(this.#n!==void 0){t.errorCallback(new xt("Client is closed",this.#n));return}let r=this.#c.alloc();this.#s.set(r,{...t,type:e.type}),this.#d({type:"request",requestId:r,request:e})}#p(e){let r=e.message??"WebSocket was closed due to an error";this.#u(new ol(r))}#g(e){let t=`WebSocket was closed with code ${e.code}`;if(e.reason)t+=`: ${e.reason}`;this.#u(new ol(t))}#u(e){if(this.#n!==void 0)return;this.#n=e;for(let t of this.#t)t.errorCallback(e);this.#t.length=0;for(let[t,r]of this.#s.entries())r.errorCallback(e),this.#c.free(t);this.#s.clear(),this.#e.close()}#y(e){if(this.#n!==void 0)return;try{let t,r=this.#i.encoding;if(r==="json"){if(typeof e.data!=="string"){this.#e.close(3003,"Only text messages are accepted with JSON encoding"),this.#u(new Pe("Received non-text message from server with JSON encoding"));return}t=ea(JSON.parse(e.data),xq)}else if(r==="protobuf"){if(!(e.data instanceof ArrayBuffer)){this.#e.close(3003,"Only binary messages are accepted with Protobuf encoding"),this.#u(new Pe("Received non-binary message from server with Protobuf encoding"));return}t=Ui(new Uint8Array(e.data),kq)}else throw Ke(r,"Impossible encoding");this.#b(t)}catch(t){this.#e.close(3007,"Could not handle message"),this.#u(t)}}#b(e){if(e.type==="none")throw new Pe("Received an unrecognized ServerMsg");else if(e.type==="hello_ok"||e.type==="hello_error"){if(this.#o)throw new Pe("Received a duplicated hello response");if(this.#o=!0,e.type==="hello_error")throw zo(e.error);return}else if(!this.#o)throw new Pe("Received a non-hello message before a hello response");if(e.type==="response_ok"){let t=e.requestId,r=this.#s.get(t);if(this.#s.delete(t),r===void 0)throw new Pe("Received unexpected OK response");this.#c.free(t);try{if(r.type!==e.response.type)throw console.dir({responseState:r,msg:e}),new Pe("Received unexpected type of response");r.responseCallback(e.response)}catch(o){throw r.errorCallback(o),o}}else if(e.type==="response_error"){let t=e.requestId,r=this.#s.get(t);if(this.#s.delete(t),r===void 0)throw new Pe("Received unexpected error response");this.#c.free(t),r.errorCallback(zo(e.error))}else throw Ke(e,"Impossible ServerMsg type")}openStream(){return lf.open(this)}storeSql(e){this._ensureVersion(2,"storeSql()");let t=this.#l.alloc(),r=new na(this,t),o=()=>{return},n=(s)=>r._setClosed(s),i={type:"store_sql",sqlId:t,sql:e};return this._sendRequest(i,{responseCallback:o,errorCallback:n}),r}_closeSql(e){if(this.#n!==void 0)return;let t=()=>this.#l.free(e),r=(n)=>this.#u(n),o={type:"close_sql",sqlId:e};this._sendRequest(o,{responseCallback:t,errorCallback:r})}close(){this.#u(new We("Client was manually closed"))}get closed(){return this.#n!==void 0}}});var oa;var $q=w(()=>{if(typeof queueMicrotask<"u")oa=queueMicrotask;else{let e=Promise.resolve();oa=(t)=>{e.then(t)}}});class TT{#e;#t;#r;constructor(e){this.#e=new Uint8Array(new ArrayBuffer(e)),this.#t=0,this.#r=0}get length(){return this.#r-this.#t}data(){return this.#e.slice(this.#t,this.#r)}push(e){this.#n(e.byteLength),this.#e.set(e,this.#r),this.#r+=e.byteLength}#n(e){if(this.#r+e<=this.#e.byteLength)return;let t=this.#r-this.#t;if(t+e<=this.#e.byteLength&&2*this.#r>=this.#e.byteLength)this.#e.copyWithin(0,this.#t,this.#r);else{let r=this.#e.byteLength;do r*=2;while(t+e>r);let o=new Uint8Array(new ArrayBuffer(r));o.set(this.#e.slice(this.#t,this.#r),0),this.#e=o}this.#r=t,this.#t=0}shift(e){this.#t+=e}}function Rq(e){let t=Lr(e.baton),r=Lr(e.base_url),o=bn(e.results,afe);return{baton:t,baseUrl:r,results:o}}function afe(e){let t=Ar(e.type);if(t==="ok")return{type:"ok",response:cfe(kt(e.response))};else if(t==="error")return{type:"error",error:Fi(kt(e.error))};else throw new Pe("Unexpected type of StreamResult")}function cfe(e){let t=Ar(e.type);if(t==="close")return{type:"close"};else if(t==="execute")return{type:"execute",result:ff(kt(e.result))};else if(t==="batch")return{type:"batch",result:cy(kt(e.result))};else if(t==="sequence")return{type:"sequence"};else if(t==="describe")return{type:"describe",result:uy(kt(e.result))};else if(t==="store_sql")return{type:"store_sql"};else if(t==="close_sql")return{type:"close_sql"};else if(t==="get_autocommit")return{type:"get_autocommit",isAutocommit:Zi(e.is_autocommit)};else throw new Pe("Unexpected type of StreamResponse")}function Oq(e){let t=Lr(e.baton),r=Lr(e.base_url);return{baton:t,baseUrl:r}}var $T=w(()=>{_t();sl();dy()});var Cq,lfe,ufe,dfe,ffe,pfe,mfe,Pq;var RT=w(()=>{py();Cq={default(){return{baton:void 0,baseUrl:void 0,results:[]}},1(e,t){t.baton=e.string()},2(e,t){t.baseUrl=e.string()},3(e,t){t.results.push(e.message(lfe))}},lfe={default(){return{type:"none"}},1(e){return{type:"ok",response:e.message(ufe)}},2(e){return{type:"error",error:e.message(en)}}},ufe={default(){return{type:"none"}},1(e){return{type:"close"}},2(e){return e.message(dfe)},3(e){return e.message(ffe)},4(e){return{type:"sequence"}},5(e){return e.message(pfe)},6(e){return{type:"store_sql"}},7(e){return{type:"close_sql"}},8(e){return e.message(mfe)}},dfe={default(){return{type:"execute",result:Ji.default()}},1(e,t){t.result=e.message(Ji)}},ffe={default(){return{type:"batch",result:fl.default()}},1(e,t){t.result=e.message(fl)}},pfe={default(){return{type:"describe",result:pl.default()}},1(e,t){t.result=e.message(pl)}},mfe={default(){return{type:"get_autocommit",isAutocommit:!1}},1(e,t){t.isAutocommit=e.bool()}},Pq={default(){return{baton:void 0,baseUrl:void 0}},1(e,t){t.baton=e.string()},2(e,t){t.baseUrl=e.string()}}});var OT;var zq=w(()=>{sl();pT();_t();Xr();$T();RT();dy();py();OT=class OT extends cf{#e;#t;#r;#n;#o;#i;constructor(e,t){super();this.#e=e,this.#t=t,this.#r=void 0,this.#n=new TT(16384),this.#o=void 0,this.#i=!1}async open(e){if(e.body===null)throw new Pe("No response body for cursor request");this.#r=e.body[Symbol.asyncIterator]();let t=await this.#a(Oq,Pq);if(t===void 0)throw new Pe("Empty response to cursor request");return t}next(){return this.#a(ly,fy)}close(){this._setClosed(new We("Cursor was manually closed"))}_setClosed(e){if(this.#o!==void 0)return;if(this.#o=e,this.#e._cursorClosed(this),this.#r!==void 0)this.#r.return()}get closed(){return this.#o!==void 0}async#a(e,t){for(;;){if(this.#i)return;else if(this.#o!==void 0)throw new xt("Cursor is closed",this.#o);if(this.#t==="json"){let n=this.#s();if(n!==void 0){let i=new TextDecoder().decode(n),s=JSON.parse(i);return ea(s,e)}}else if(this.#t==="protobuf"){let n=this.#c();if(n!==void 0)return Ui(n,t)}else throw Ke(this.#t,"Impossible encoding");if(this.#r===void 0)throw new or("Attempted to read from HTTP cursor before it was opened");let{value:r,done:o}=await this.#r.next();if(o&&this.#n.length===0)this.#i=!0;else if(o)throw new Pe("Unexpected end of cursor stream");else this.#n.push(r)}}#s(){let e=this.#n.data(),t=10,r=e.indexOf(10);if(r<0)return;let o=e.slice(0,r);return this.#n.shift(r+1),o}#c(){let e=this.#n.data(),t=0,r=0;for(;;){if(r>=e.byteLength)return;let n=e[r];if(t|=(n&127)<<7*r,r+=1,!(n&128))break}if(e.byteLength<r+t)return;let o=e.slice(r,r+t);return this.#n.shift(r+t),o}}});function Nq(e,t){if(t.baton!==void 0)e.string("baton",t.baton);e.arrayObjects("requests",t.requests,hfe)}function hfe(e,t){if(e.stringRaw("type",t.type),t.type==="close");else if(t.type==="execute")e.object("stmt",t.stmt,uf);else if(t.type==="batch")e.object("batch",t.batch,ul);else if(t.type==="sequence"){if(t.sql!==void 0)e.string("sql",t.sql);if(t.sqlId!==void 0)e.number("sql_id",t.sqlId)}else if(t.type==="describe"){if(t.sql!==void 0)e.string("sql",t.sql);if(t.sqlId!==void 0)e.number("sql_id",t.sqlId)}else if(t.type==="store_sql")e.number("sql_id",t.sqlId),e.string("sql",t.sql);else if(t.type==="close_sql")e.number("sql_id",t.sqlId);else if(t.type==="get_autocommit");else throw Ke(t,"Impossible type of StreamRequest")}function Dq(e,t){if(t.baton!==void 0)e.string("baton",t.baton);e.object("batch",t.batch,ul)}var CT=w(()=>{ET();Xr()});function Lq(e,t){if(t.baton!==void 0)e.string(1,t.baton);for(let r of t.requests)e.message(2,r,gfe)}function gfe(e,t){if(t.type==="close")e.message(1,t,yfe);else if(t.type==="execute")e.message(2,t,bfe);else if(t.type==="batch")e.message(3,t,Sfe);else if(t.type==="sequence")e.message(4,t,vfe);else if(t.type==="describe")e.message(5,t,wfe);else if(t.type==="store_sql")e.message(6,t,xfe);else if(t.type==="close_sql")e.message(7,t,_fe);else if(t.type==="get_autocommit")e.message(8,t,Efe);else throw Ke(t,"Impossible type of StreamRequest")}function yfe(e,t){}function bfe(e,t){e.message(1,t.stmt,df)}function Sfe(e,t){e.message(1,t.batch,dl)}function vfe(e,t){if(t.sql!==void 0)e.string(1,t.sql);if(t.sqlId!==void 0)e.int32(2,t.sqlId)}function wfe(e,t){if(t.sql!==void 0)e.string(1,t.sql);if(t.sqlId!==void 0)e.int32(2,t.sqlId)}function xfe(e,t){e.int32(1,t.sqlId),e.string(2,t.sql)}function _fe(e,t){e.int32(1,t.sqlId)}function Efe(e,t){}function Bq(e,t){if(t.baton!==void 0)e.string(1,t.baton);e.message(2,t.batch,dl)}var PT=w(()=>{kT();Xr()});function Ife(e,t){if(t.results.length!==e.length)throw new Pe("Server returned unexpected number of pipeline results");for(let r=0;r<e.length;++r){let o=t.results[r],n=e[r];if(o.type==="ok"){if(o.response.type!==n.request.type)throw new Pe("Received unexpected type of response");n.responseCallback(o.response)}else if(o.type==="error")n.errorCallback(zo(o.error));else if(o.type==="none")throw new Pe("Received unrecognized type of StreamResult");else throw Ke(o,"Received impossible type of StreamResult")}}async function kfe(e,t){if(t==="json"){let r=await e.json();return ea(r,Rq)}if(t==="protobuf"){let r=await e.arrayBuffer();return Ui(new Uint8Array(r),Cq)}throw await e.body?.cancel(),Ke(t,"Impossible encoding")}async function Afe(e){let t=e.headers.get("content-type")??"text/plain",r=`Server returned HTTP status ${e.status}`;if(t==="application/json"){let o=await e.json();if("message"in o)return zo(o);return new Xs(r,e.status)}if(t==="text/plain"){let o=(await e.text()).trim();if(o!=="")r+=`: ${o}`;return new Xs(r,e.status)}return await e.body?.cancel(),new Xs(r,e.status)}var gy;var zT=w(()=>{_t();hT();gT();$q();of();cl();ay();Xr();zq();CT();PT();CT();PT();$T();RT();gy=class gy extends ll{#e;#t;#r;#n;#o;#i;#a;#s;#c;#l;#d;#f;#m;constructor(e,t,r,o,n){super(e.intMode);this.#e=e,this.#t=t.toString(),this.#r=r,this.#n=o,this.#o=n,this.#i=void 0,this.#a=new Mi,this.#s=!1,this.#l=!1,this.#d=!1,this.#f=void 0,this.#m=new qi}client(){return this.#e}_sqlOwner(){return this}storeSql(e){let t=this.#m.alloc();return this.#p({type:"store_sql",sqlId:t,sql:e}).then(()=>{return},(r)=>this._setClosed(r)),new na(this,t)}_closeSql(e){if(this.#f!==void 0)return;this.#p({type:"close_sql",sqlId:e}).then(()=>this.#m.free(e),(t)=>this._setClosed(t))}_execute(e){return this.#p({type:"execute",stmt:e}).then((t)=>t.result)}_batch(e){return this.#p({type:"batch",batch:e}).then((t)=>t.result)}_describe(e){return this.#p({type:"describe",sql:e.sql,sqlId:e.sqlId}).then((t)=>t.result)}_sequence(e){return this.#p({type:"sequence",sql:e.sql,sqlId:e.sqlId}).then((t)=>{return})}getAutocommit(){return this.#e._ensureVersion(3,"getAutocommit()"),this.#p({type:"get_autocommit"}).then((e)=>e.isAutocommit)}#p(e){return new Promise((t,r)=>{this.#g({type:"pipeline",request:e,responseCallback:t,errorCallback:r})})}_openCursor(e){return new Promise((t,r)=>{this.#g({type:"cursor",batch:e,cursorCallback:t,errorCallback:r})})}_cursorClosed(e){if(e!==this.#c)throw new or("Cursor was closed, but it was not associated with the stream");this.#c=void 0,oa(()=>this.#u())}close(){this._setClosed(new We("Stream was manually closed"))}closeGracefully(){this.#l=!0,oa(()=>this.#u())}get closed(){return this.#f!==void 0||this.#l}_setClosed(e){if(this.#f!==void 0)return;if(this.#f=e,this.#c!==void 0)this.#c._setClosed(e);this.#e._streamClosed(this);for(;;){let t=this.#a.shift();if(t!==void 0)t.errorCallback(e);else break}if((this.#i!==void 0||this.#s)&&!this.#d)this.#a.push({type:"pipeline",request:{type:"close"},responseCallback:()=>{return},errorCallback:()=>{return}}),this.#d=!0,oa(()=>this.#u())}#g(e){if(this.#f!==void 0)throw new xt("Stream is closed",this.#f);else if(this.#l)throw new xt("Stream is closing",void 0);else this.#a.push(e),oa(()=>this.#u())}#u(){if(this.#s||this.#c!==void 0)return;if(this.#l&&this.#a.length===0){this._setClosed(new We("Stream was gracefully closed"));return}let e=this.#e._endpoint;if(e===void 0){this.#e._endpointPromise.then(()=>this.#u(),(r)=>this._setClosed(r));return}let t=this.#a.shift();if(t===void 0)return;else if(t.type==="pipeline"){let r=[t];for(;;){let o=this.#a.first();if(o!==void 0&&o.type==="pipeline")r.push(o),this.#a.shift();else if(o===void 0&&this.#l&&!this.#d){r.push({type:"pipeline",request:{type:"close"},responseCallback:()=>{return},errorCallback:()=>{return}}),this.#d=!0;break}else break}this.#y(e,r)}else if(t.type==="cursor")this.#b(e,t);else throw Ke(t,"Impossible type of QueueEntry")}#y(e,t){this.#h(()=>this.#S(t,e),(r)=>kfe(r,e.encoding),(r)=>r.baton,(r)=>r.baseUrl,(r)=>Ife(t,r),(r)=>t.forEach((o)=>o.errorCallback(r)))}#b(e,t){let r=new OT(this,e.encoding);this.#c=r,this.#h(()=>this.#v(t,e),(o)=>r.open(o),(o)=>o.baton,(o)=>o.baseUrl,(o)=>t.cursorCallback(r),(o)=>t.errorCallback(o))}#h(e,t,r,o,n,i){let s;try{let a=e(),c=this.#n;s=c(a)}catch(a){s=Promise.reject(a)}this.#s=!0,s.then((a)=>{if(!a.ok)return Afe(a).then((c)=>{throw c});return t(a)}).then((a)=>{this.#i=r(a),this.#t=o(a)??this.#t,n(a)}).catch((a)=>{this._setClosed(a),i(a)}).finally(()=>{this.#s=!1,this.#u()})}#S(e,t){return this.#w(new URL(t.pipelinePath,this.#t),{baton:this.#i,requests:e.map((r)=>r.request)},t.encoding,Nq,Lq)}#v(e,t){if(t.cursorPath===void 0)throw new yn(`Cursors are supported only on protocol version 3 and higher, but the HTTP server only supports version ${t.version}.`);return this.#w(new URL(t.cursorPath,this.#t),{baton:this.#i,batch:e.batch},t.encoding,Dq,Bq)}#w(e,t,r,o,n){let i,s;if(r==="json")i=ef(t,o),s="application/json";else if(r==="protobuf")i=nf(t,n),s="application/x-protobuf";else throw Ke(r,"Impossible encoding");let a=new Headers;if(a.set("content-type",s),this.#r!==void 0)a.set("authorization",`Bearer ${this.#r}`);if(this.#o!==void 0)a.set("x-turso-encryption-key",this.#o);return new Request(e.toString(),{method:"POST",headers:a,body:i})}}});async function $fe(e,t){let r=e;for(let o of Tfe){let n=new URL(o.versionPath,t),i=new Request(n.toString(),{method:"GET"}),s=await r(i);if(await s.arrayBuffer(),s.ok)return o}return NT}var Tfe,NT,yy;var DT=w(()=>{_t();zT();Tfe=[{versionPath:"v3-protobuf",pipelinePath:"v3-protobuf/pipeline",cursorPath:"v3-protobuf/cursor",version:3,encoding:"protobuf"}],NT={versionPath:"v2",pipelinePath:"v2/pipeline",cursorPath:void 0,version:2,encoding:"json"};yy=class yy extends nl{#e;#t;#r;#n;#o;#i;_endpointPromise;_endpoint;constructor(e,t,r,o,n=2){super();if(this.#e=e,this.#t=t,this.#r=r??globalThis.fetch,this.#n=o,this.#o=void 0,this.#i=new Set,n==3)this._endpointPromise=$fe(this.#r,this.#e),this._endpointPromise.then((i)=>this._endpoint=i,(i)=>this.#a(i));else this._endpointPromise=Promise.resolve(NT),this._endpointPromise.then((i)=>this._endpoint=i,(i)=>this.#a(i))}async getVersion(){if(this._endpoint!==void 0)return this._endpoint.version;return(await this._endpointPromise).version}_ensureVersion(e,t){if(e<=NT.version)return;else if(this._endpoint===void 0)throw new yn(`${t} is supported only on protocol version ${e} and higher, but the version supported by the HTTP server is not yet known. Use Client.getVersion() to wait until the version is available.`);else if(this._endpoint.version<e)throw new yn(`${t} is supported only on protocol version ${e} and higher, but the HTTP server only supports version ${this._endpoint.version}.`)}openStream(){if(this.#o!==void 0)throw new xt("Client is closed",this.#o);let e=new gy(this,this.#e,this.#t,this.#r,this.#n);return this.#i.add(e),e}_streamClosed(e){this.#i.delete(e)}close(){this.#a(new We("Client was manually closed"))}get closed(){return this.#o!==void 0}#a(e){if(this.#o!==void 0)return;this.#o=e;for(let t of Array.from(this.#i))t._setClosed(new xt("Client was closed",e))}}});var jq=w(()=>{_t()});function LT(e,t,r=2){if(typeof ji>"u")throw new Yd("WebSockets are not supported in this environment");var o=void 0;if(r==3)o=Array.from(AT.keys());else o=Array.from(Tq.keys());let n=new ji(e,o);return new my(n,t)}function BT(e,t,r,o,n=2){return new yy(e instanceof URL?e:new URL(e),t,r,o,n)}var by=w(()=>{fT();hy();_t();DT();hy();fT();vT();jq();cl();iy();ay();DT();zT();hy();xT();_t()});class pf{#e;#t;#r;constructor(e,t){this.#e=e,this.#t=t,this.#r=void 0}execute(e){return this.batch([e]).then((t)=>t[0])}async batch(e){let t=this._getStream();if(t.closed)throw new Ce("Cannot execute statements because the transaction is closed","TRANSACTION_CLOSED");try{let r=e.map(No),o;if(this.#r===void 0){this._getSqlCache().apply(r);let i=t.batch(this.#t>=3),s=i.step(),a=s.run(Li(this.#e)),c=s;o=r.map((u)=>{let d=i.step().condition(dt.ok(c));if(this.#t>=3)d.condition(dt.not(dt.isAutocommit(i)));let f=d.query(u);return f.catch(()=>{return}),c=d,f}),this.#r=i.execute().then(()=>a).then(()=>{return});try{await this.#r}catch(u){throw this.close(),u}}else{if(this.#t<3)await this.#r;this._getSqlCache().apply(r);let i=t.batch(this.#t>=3),s=void 0;o=r.map((a)=>{let c=i.step();if(s!==void 0)c.condition(dt.ok(s));if(this.#t>=3)c.condition(dt.not(dt.isAutocommit(i)));let u=c.query(a);return u.catch(()=>{return}),s=c,u}),await i.execute()}let n=[];for(let i=0;i<o.length;i++)try{let s=await o[i];if(s===void 0)throw new Gt("Statement in a transaction was not executed, probably because the transaction has been rolled back",i,"TRANSACTION_CLOSED");n.push(hl(s))}catch(s){if(s instanceof Gt)throw s;let a=st(s);if(a instanceof Ce)throw new Gt(a.message,i,a.code,a.extendedCode,a.rawCode,a.cause instanceof Error?a.cause:void 0);throw a}return n}catch(r){throw st(r)}}async executeMultiple(e){let t=this._getStream();if(t.closed)throw new Ce("Cannot execute statements because the transaction is closed","TRANSACTION_CLOSED");try{if(this.#r===void 0){this.#r=t.run(Li(this.#e)).then(()=>{return});try{await this.#r}catch(r){throw this.close(),r}}else await this.#r;await t.sequence(e)}catch(r){throw st(r)}}async rollback(){try{let e=this._getStream();if(e.closed)return;if(this.#r!==void 0);else return;let t=e.run("ROLLBACK").catch((r)=>{throw st(r)});e.closeGracefully(),await t}catch(e){throw st(e)}finally{this.close()}}async commit(){try{let e=this._getStream();if(e.closed)throw new Ce("Cannot commit the transaction because it is already closed","TRANSACTION_CLOSED");if(this.#r!==void 0)await this.#r;else return;let t=e.run("COMMIT").catch((r)=>{throw st(r)});e.closeGracefully(),await t}catch(e){throw st(e)}finally{this.close()}}}async function ml(e,t,r,o,n=!1){if(n)r.step().run("PRAGMA foreign_keys=off");let i=r.step(),s=i.run(Li(e)),a=i,c=o.map((h)=>{let b=r.step().condition(dt.ok(a));if(t>=3)b.condition(dt.not(dt.isAutocommit(r)));let y=b.query(h);return a=b,y}),u=r.step().condition(dt.ok(a));if(t>=3)u.condition(dt.not(dt.isAutocommit(r)));let d=u.run("COMMIT");if(r.step().condition(dt.not(dt.ok(u))).run("ROLLBACK").catch((h)=>{return}),n)r.step().run("PRAGMA foreign_keys=on");await r.execute();let m=[];await s;for(let h=0;h<c.length;h++)try{let b=await c[h];if(b===void 0)throw new Gt("Statement in a batch was not executed, probably because the transaction has been rolled back",h,"TRANSACTION_CLOSED");m.push(hl(b))}catch(b){if(b instanceof Gt)throw b;let y=st(b);if(y instanceof Ce)throw new Gt(y.message,h,y.code,y.extendedCode,y.rawCode,y.cause instanceof Error?y.cause:void 0);throw y}return await d,m}function No(e){let t,r;if(Array.isArray(e))[t,r]=e;else if(typeof e==="string")t=e;else t=e.sql,r=e.args;let o=new af(t);if(r)if(Array.isArray(r))o.bindIndexes(r);else for(let[n,i]of Object.entries(r))o.bindName(n,i);return o}function hl(e){let t=e.columnNames.map((s)=>s??""),r=e.columnDecltypes.map((s)=>s??""),o=e.rows,n=e.affectedRowCount,i=e.lastInsertRowid!==void 0?e.lastInsertRowid:void 0;return new Xc(t,r,o,n,i)}function st(e){if(e instanceof We){let t=Zq(e);return new Ce(e.message,t,void 0,void 0,e)}return e}function Zq(e){if(e instanceof Qd&&e.code!==void 0)return e.code;else if(e instanceof Pe)return"HRANA_PROTO_ERROR";else if(e instanceof xt)return e.cause instanceof We?Zq(e.cause):"HRANA_CLOSED_ERROR";else if(e instanceof ol)return"HRANA_WEBSOCKET_ERROR";else if(e instanceof Xs)return"SERVER_ERROR";else if(e instanceof yn)return"PROTOCOL_VERSION_ERROR";else if(e instanceof or)return"INTERNAL_ERROR";else return"UNKNOWN"}var ZT=w(()=>{by();gn();el()});class gl{#e;#t;capacity;constructor(e,t){this.#e=e,this.#t=new Uq,this.capacity=t}apply(e){if(this.capacity<=0)return;let t=new Set;for(let r of e){if(typeof r.sql!=="string")continue;let o=r.sql;if(o.length>=5000)continue;let n=this.#t.get(o);if(n===void 0){while(this.#t.size+1>this.capacity){let[i,s]=this.#t.peekLru();if(t.has(s))break;s.close(),this.#t.delete(i)}if(this.#t.size+1<=this.capacity)n=this.#e.storeSql(o),this.#t.set(o,n)}if(n!==void 0)r.sql=n,t.add(n)}}}class Uq{#e;constructor(){this.#e=new Map}get(e){let t=this.#e.get(e);if(t!==void 0)this.#e.delete(e),this.#e.set(e,t);return t}set(e,t){this.#e.set(e,t)}peekLru(){for(let e of this.#e.entries())return e;return}delete(e){this.#e.delete(e)}get size(){return this.#e.size}}var UT=ge(function(V2e,Mq){function Rfe(e){var t=0,r=[];function o(){if(t--,t<e)n()}function n(){var c=r.shift();if(a.queue=r.length,c)s(c.fn).then(c.resolve).catch(c.reject)}function i(c){return new Promise(function(u,d){r.push({fn:c,resolve:u,reject:d}),a.queue=r.length})}function s(c){t++;try{return Promise.resolve(c()).then(function(u){return o(),u},function(u){throw o(),u})}catch(u){return o(),Promise.reject(u)}}var a=function(c){if(t>=e)return i(c);else return s(c)};return a}function Ofe(e,t){var r=!1,o=this;return Promise.all(e.map(function(){var n=arguments;return o(function(){if(!r)return t.apply(void 0,n).catch(function(i){throw r=!0,i})})}))}function qq(e){return e.queue=0,e.map=Ofe,e}Mq.exports=function(e){if(e)return qq(Rfe(e));else return qq(function(t){return t()})}});function Kq(e){if(e.scheme!=="wss"&&e.scheme!=="ws")throw new Ce(`The WebSocket client supports only "libsql:", "wss:" and "ws:" URLs, got ${JSON.stringify(e.scheme+":")}. For more information, please read ${Vn}`,"URL_SCHEME_NOT_SUPPORTED");if(e.encryptionKey!==void 0)throw new Ce("Encryption key is not supported by the remote client.","ENCRYPTION_KEY_NOT_SUPPORTED");if(e.scheme==="ws"&&e.tls)throw new Ce('A "ws:" URL cannot opt into TLS by using ?tls=1',"URL_INVALID");else if(e.scheme==="wss"&&!e.tls)throw new Ce('A "wss:" URL cannot opt out of TLS by using ?tls=0',"URL_INVALID");let t=Kd(e.scheme,e.authority,e.path),r;try{r=LT(t,e.authToken)}catch(o){if(o instanceof Yd){let n=e.scheme==="wss"?"https":"http",i=Kd(n,e.authority,e.path);throw new Ce(`This environment does not support WebSockets, please switch to the HTTP client by using a "${n}:" URL (${JSON.stringify(i)}). For more information, please read ${Vn}`,"WEBSOCKETS_NOT_SUPPORTED")}throw st(o)}return new Hq(r,t,e.authToken,e.intMode,e.concurrency)}class Hq{#e;#t;#r;#n;#o;closed;protocol;#i;#a;constructor(e,t,r,o,n){this.#e=t,this.#t=r,this.#r=o,this.#n=this.#c(e),this.#o=void 0,this.closed=!1,this.protocol="ws",this.#a=Jq.default(n)}async limit(e){return this.#a(e)}async execute(e,t){let r;if(typeof e==="string")r={sql:e,args:t||[]};else r=e;return this.limit(async()=>{let o=await this.#s();try{let n=No(r);o.conn.sqlCache.apply([n]);let i=o.stream.query(n);o.stream.closeGracefully();let s=await i;return hl(s)}catch(n){throw st(n)}finally{this._closeStream(o)}})}async batch(e,t="deferred"){return this.limit(async()=>{let r=await this.#s();try{let n=e.map((u)=>{if(Array.isArray(u))return{sql:u[0],args:u[1]||[]};return u}).map(No),i=await r.conn.client.getVersion();r.conn.sqlCache.apply(n);let s=r.stream.batch(i>=3);return await ml(t,i,s,n)}catch(o){throw st(o)}finally{this._closeStream(r)}})}async migrate(e){return this.limit(async()=>{let t=await this.#s();try{let r=e.map(No),o=await t.conn.client.getVersion(),n=t.stream.batch(o>=3);return await ml("deferred",o,n,r,!0)}catch(r){throw st(r)}finally{this._closeStream(t)}})}async transaction(e="write"){return this.limit(async()=>{let t=await this.#s();try{let r=await t.conn.client.getVersion();return new Vq(this,t,e,r)}catch(r){throw this._closeStream(t),st(r)}})}async executeMultiple(e){return this.limit(async()=>{let t=await this.#s();try{let r=t.stream.sequence(e);t.stream.closeGracefully(),await r}catch(r){throw st(r)}finally{this._closeStream(t)}})}sync(){throw new Ce("sync not supported in ws mode","SYNC_NOT_SUPPORTED")}async#s(){if(this.closed)throw new Ce("The client is closed","CLIENT_CLOSED");if(new Date().valueOf()-this.#n.openTime.valueOf()>Cfe&&this.#o===void 0){let o=this.#c();this.#o=o,o.client.getVersion().then((n)=>{if(this.#n!==o){if(this.#n.streamStates.size===0)this.#n.client.close()}this.#n=o,this.#o=void 0},(n)=>{this.#o=void 0})}if(this.#n.client.closed)try{if(this.#o!==void 0)this.#n=this.#o;else this.#n=this.#c()}catch(o){throw st(o)}let r=this.#n;try{if(r.useSqlCache===void 0){if(r.useSqlCache=await r.client.getVersion()>=2,r.useSqlCache)r.sqlCache.capacity=Fq}let o=r.client.openStream();o.intMode=this.#r;let n={conn:r,stream:o};return r.streamStates.add(n),n}catch(o){throw st(o)}}#c(e){try{return e??=LT(this.#e,this.#t),{client:e,useSqlCache:void 0,sqlCache:new gl(e,0),openTime:new Date,streamStates:new Set}}catch(t){throw st(t)}}async reconnect(){try{for(let r of Array.from(this.#n.streamStates))try{r.stream.close()}catch{}this.#n.client.close()}catch{}if(this.#o){try{this.#o.client.close()}catch{}this.#o=void 0}let e=this.#c(),t=await e.client.getVersion();if(e.useSqlCache=t>=2,e.useSqlCache)e.sqlCache.capacity=Fq;this.#n=e,this.closed=!1}_closeStream(e){e.stream.close();let t=e.conn;if(t.streamStates.delete(e),t.streamStates.size===0&&t!==this.#n)t.client.close()}close(){if(this.#n.client.close(),this.closed=!0,this.#o){try{this.#o.client.close()}catch{}this.#o=void 0}this.closed=!0}}var Jq,Cfe=60000,Fq=100,Vq;var Wq=w(()=>{by();gn();Wd();ZT();Vg();el();Jq=Ol(UT(),1);gn();Vq=class Vq extends pf{#e;#t;constructor(e,t,r,o){super(r,o);this.#e=e,this.#t=t}_getStream(){return this.#t.stream}_getSqlCache(){return this.#t.conn.sqlCache}close(){this.#e._closeStream(this.#t)}get closed(){return this.#t.stream.closed}}});function Qq(e){if(e.scheme!=="https"&&e.scheme!=="http")throw new Ce(`The HTTP client supports only "libsql:", "https:" and "http:" URLs, got ${JSON.stringify(e.scheme+":")}. For more information, please read ${Vn}`,"URL_SCHEME_NOT_SUPPORTED");if(e.encryptionKey!==void 0)throw new Ce("Encryption key is not supported by the remote client.","ENCRYPTION_KEY_NOT_SUPPORTED");if(e.scheme==="http"&&e.tls)throw new Ce('A "http:" URL cannot opt into TLS by using ?tls=1',"URL_INVALID");else if(e.scheme==="https"&&!e.tls)throw new Ce('A "https:" URL cannot opt out of TLS by using ?tls=0',"URL_INVALID");let t=Kd(e.scheme,e.authority,e.path);return new Xq(t,e.authToken,e.intMode,e.fetch,e.concurrency,e.remoteEncryptionKey)}class Xq{#e;protocol;#t;#r;#n;#o;#i;#a;#s;constructor(e,t,r,o,n,i){this.#t=e,this.#i=t,this.#r=r,this.#n=o,this.#o=n,this.#a=i,this.#e=BT(this.#t,this.#i,this.#n,i),this.#e.intMode=this.#r,this.protocol="http",this.#s=Gq.default(this.#o)}async limit(e){return this.#s(e)}async execute(e,t){let r;if(typeof e==="string")r={sql:e,args:t||[]};else r=e;return this.limit(async()=>{try{let o=No(r),n,i=this.#e.openStream();try{n=i.query(o)}finally{i.closeGracefully()}let s=await n;return hl(s)}catch(o){throw st(o)}})}async batch(e,t="deferred"){return this.limit(async()=>{try{let o=e.map((c)=>{if(Array.isArray(c))return{sql:c[0],args:c[1]||[]};return c}).map(No),n=await this.#e.getVersion(),i,s=this.#e.openStream();try{new gl(s,Yq).apply(o);let u=s.batch(!1);i=ml(t,n,u,o)}finally{s.closeGracefully()}return await i}catch(r){throw st(r)}})}async migrate(e){return this.limit(async()=>{try{let t=e.map(No),r=await this.#e.getVersion(),o,n=this.#e.openStream();try{let s=n.batch(!1);o=ml("deferred",r,s,t,!0)}finally{n.closeGracefully()}return await o}catch(t){throw st(t)}})}async transaction(e="write"){return this.limit(async()=>{try{let t=await this.#e.getVersion();return new eM(this.#e.openStream(),e,t)}catch(t){throw st(t)}})}async executeMultiple(e){return this.limit(async()=>{try{let t,r=this.#e.openStream();try{t=r.sequence(e)}finally{r.closeGracefully()}await t}catch(t){throw st(t)}})}sync(){throw new Ce("sync not supported in http mode","SYNC_NOT_SUPPORTED")}close(){this.#e.close()}async reconnect(){try{if(!this.closed)this.#e.close()}finally{this.#e=BT(this.#t,this.#i,this.#n,this.#a),this.#e.intMode=this.#r}}get closed(){return this.#e.closed}}var Gq,Yq=30,eM;var tM=w(()=>{by();gn();Wd();ZT();Vg();el();Gq=Ol(UT(),1);gn();eM=class eM extends pf{#e;#t;constructor(e,t,r){super(t,r);this.#e=e,this.#t=new gl(e,Yq)}_getStream(){return this.#e}_getSqlCache(){return this.#t}close(){this.#e.close()}get closed(){return this.#e.closed}}});function yl(e){return Pfe(Vd(e,!0))}function Pfe(e){if(e.scheme==="wss"||e.scheme==="ws")return Kq(e);else if(e.scheme==="https"||e.scheme==="http")return Qq(e);else return G4(e)}var qT=w(()=>{Wd();tq();Wq();tM();gn()});function oe(e,t){if(!e||typeof e!=="object")return!1;if(e instanceof t)return!0;if(!Object.prototype.hasOwnProperty.call(t,F))throw Error(`Class "${t.name??"<unknown>"}" doesn't look like a Drizzle entity. If this is incorrect and the class is provided by Drizzle, please report this as a bug.`);let r=Object.getPrototypeOf(e).constructor;if(r)while(r){if(F in r&&r[F]===t[F])return!0;r=Object.getPrototypeOf(r)}return!1}var F;var Re=w(()=>{F=Symbol.for("drizzle:entityKind")});var He;var Sn=w(()=>{Re();He=class He{constructor(e,t){this.table=e,this.config=t,this.name=t.name,this.keyAsName=t.keyAsName,this.notNull=t.notNull,this.default=t.default,this.defaultFn=t.defaultFn,this.onUpdateFn=t.onUpdateFn,this.hasDefault=t.hasDefault,this.primary=t.primaryKey,this.isUnique=t.isUnique,this.uniqueName=t.uniqueName,this.uniqueType=t.uniqueType,this.dataType=t.dataType,this.columnType=t.columnType,this.generated=t.generated,this.generatedIdentity=t.generatedIdentity}static[F]="Column";name;keyAsName;primary;notNull;default;defaultFn;onUpdateFn;hasDefault;isUnique;uniqueName;uniqueType;dataType;columnType;enumValues=void 0;generated=void 0;generatedIdentity=void 0;config;mapFromDriverValue(e){return e}mapToDriverValue(e){return e}shouldDisableInsert(){return this.config.generated!==void 0&&this.config.generated.type!=="byDefault"}}});var mf;var Sy=w(()=>{Re();mf=class mf{static[F]="ColumnBuilder";config;constructor(e,t,r){this.config={name:e,keyAsName:e==="",notNull:!1,default:void 0,hasDefault:!1,primaryKey:!1,isUnique:!1,uniqueName:void 0,uniqueType:void 0,dataType:t,columnType:r,generated:void 0}}$type(){return this}notNull(){return this.config.notNull=!0,this}default(e){return this.config.default=e,this.config.hasDefault=!0,this}$defaultFn(e){return this.config.defaultFn=e,this.config.hasDefault=!0,this}$default=this.$defaultFn;$onUpdateFn(e){return this.config.onUpdateFn=e,this.config.hasDefault=!0,this}$onUpdate=this.$onUpdateFn;primaryKey(){return this.config.primaryKey=!0,this.config.notNull=!0,this}setName(e){if(this.config.name!=="")return;this.config.name=e}}});var ir;var bl=w(()=>{ir=Symbol.for("drizzle:Name")});var MT,rM;var nM=w(()=>{Re();bl();MT=class MT{static[F]="PgForeignKeyBuilder";reference;_onUpdate="no action";_onDelete="no action";constructor(e,t){if(this.reference=()=>{let{name:r,columns:o,foreignColumns:n}=e();return{name:r,columns:o,foreignTable:n[0].table,foreignColumns:n}},t)this._onUpdate=t.onUpdate,this._onDelete=t.onDelete}onUpdate(e){return this._onUpdate=e===void 0?"no action":e,this}onDelete(e){return this._onDelete=e===void 0?"no action":e,this}build(e){return new rM(e,this)}};rM=class rM{constructor(e,t){this.table=e,this.reference=t.reference,this.onUpdate=t._onUpdate,this.onDelete=t._onDelete}static[F]="PgForeignKey";reference;onUpdate;onDelete;getName(){let{name:e,columns:t,foreignColumns:r}=this.reference(),o=t.map((s)=>s.name),n=r.map((s)=>s.name),i=[this.table[ir],...o,r[0].table[ir],...n];return e??`${i.join("_")}_fk`}}});function vy(e,...t){return e(...t)}var FT=()=>{};function JT(e,t){return`${e[ir]}_${t.join("_")}_unique`}var oM,zfe,iM;var sM=w(()=>{Re();bl();oM=class oM{constructor(e,t){this.name=t,this.columns=e}static[F]="PgUniqueConstraintBuilder";columns;nullsNotDistinctConfig=!1;nullsNotDistinct(){return this.nullsNotDistinctConfig=!0,this}build(e){return new iM(e,this.columns,this.nullsNotDistinctConfig,this.name)}};zfe=class zfe{static[F]="PgUniqueOnConstraintBuilder";name;constructor(e){this.name=e}on(...e){return new oM(e,this.name)}};iM=class iM{constructor(e,t,r,o){this.table=e,this.columns=t,this.name=o??JT(this.table,this.columns.map((n)=>n.name)),this.nullsNotDistinct=r}static[F]="PgUniqueConstraint";columns;name;nullsNotDistinct=!1;getName(){return this.name}}});function aM(e,t,r){for(let o=t;o<e.length;o++){let n=e[o];if(n==="\\"){o++;continue}if(n==='"')return[e.slice(t,o).replace(/\\/g,""),o+1];if(r)continue;if(n===","||n==="}")return[e.slice(t,o).replace(/\\/g,""),o]}return[e.slice(t).replace(/\\/g,""),e.length]}function cM(e,t=0){let r=[],o=t,n=!1;while(o<e.length){let i=e[o];if(i===","){if(n||o===t)r.push("");n=!0,o++;continue}if(n=!1,i==="\\"){o+=2;continue}if(i==='"'){let[c,u]=aM(e,o+1,!0);r.push(c),o=u;continue}if(i==="}")return[r,o+1];if(i==="{"){let[c,u]=cM(e,o+1);r.push(c),o=u;continue}let[s,a]=aM(e,o,!1);r.push(s),o=a}return[r,o]}function lM(e){let[t]=cM(e,1);return t}function KT(e){return`{${e.map((t)=>{if(Array.isArray(t))return KT(t);if(typeof t==="string")return`"${t.replace(/\\/g,"\\\\").replace(/"/g,"\\\"")}"`;return`${t}`}).join(",")}}`}var uM=()=>{};var hf,Sl,dM,Nfe,fM,HT;var pM=w(()=>{Sy();Sn();Re();nM();FT();sM();uM();hf=class hf extends mf{foreignKeyConfigs=[];static[F]="PgColumnBuilder";array(e){return new fM(this.config.name,this,e)}references(e,t={}){return this.foreignKeyConfigs.push({ref:e,actions:t}),this}unique(e,t){return this.config.isUnique=!0,this.config.uniqueName=e,this.config.uniqueType=t?.nulls,this}generatedAlwaysAs(e){return this.config.generated={as:e,type:"always",mode:"stored"},this}buildForeignKeys(e,t){return this.foreignKeyConfigs.map(({ref:r,actions:o})=>vy((n,i)=>{let s=new MT(()=>{let a=n();return{columns:[e],foreignColumns:[a]}});if(i.onUpdate)s.onUpdate(i.onUpdate);if(i.onDelete)s.onDelete(i.onDelete);return s.build(t)},r,o))}buildExtraConfigColumn(e){return new dM(e,this.config)}};Sl=class Sl extends He{constructor(e,t){if(!t.uniqueName)t.uniqueName=JT(e,[t.name]);super(e,t);this.table=e}static[F]="PgColumn"};dM=class dM extends Sl{static[F]="ExtraConfigColumn";getSQLType(){return this.getSQLType()}indexConfig={order:this.config.order??"asc",nulls:this.config.nulls??"last",opClass:this.config.opClass};defaultConfig={order:"asc",nulls:"last",opClass:void 0};asc(){return this.indexConfig.order="asc",this}desc(){return this.indexConfig.order="desc",this}nullsFirst(){return this.indexConfig.nulls="first",this}nullsLast(){return this.indexConfig.nulls="last",this}op(e){return this.indexConfig.opClass=e,this}};Nfe=class Nfe{static[F]="IndexedColumn";constructor(e,t,r,o){this.name=e,this.keyAsName=t,this.type=r,this.indexConfig=o}name;keyAsName;type;indexConfig};fM=class fM extends hf{static[F]="PgArrayBuilder";constructor(e,t,r){super(e,"array","PgArray");this.config.baseBuilder=t,this.config.size=r}build(e){let t=this.config.baseBuilder.build(e);return new HT(e,this.config,t)}};HT=class HT extends Sl{constructor(e,t,r,o){super(e,t);this.baseColumn=r,this.range=o,this.size=t.size}size;static[F]="PgArray";getSQLType(){return`${this.baseColumn.getSQLType()}[${typeof this.size==="number"?this.size:""}]`}mapFromDriverValue(e){if(typeof e==="string")e=lM(e);return e.map((t)=>this.baseColumn.mapFromDriverValue(t))}mapToDriverValue(e,t=!1){let r=e.map((o)=>o===null?null:oe(this.baseColumn,HT)?this.baseColumn.mapToDriverValue(o,!0):this.baseColumn.mapToDriverValue(o));if(t)return r;return KT(r)}}});function gM(e){return!!e&&typeof e==="function"&&mM in e&&e[mM]===!0}var Dfe,hM,mM,Lfe,yM;var bM=w(()=>{Re();pM();Dfe=class Dfe extends hf{static[F]="PgEnumObjectColumnBuilder";constructor(e,t){super(e,"string","PgEnumObjectColumn");this.config.enum=t}build(e){return new hM(e,this.config)}};hM=class hM extends Sl{static[F]="PgEnumObjectColumn";enum;enumValues=this.config.enum.enumValues;constructor(e,t){super(e,t);this.enum=t.enum}getSQLType(){return this.enum.enumName}};mM=Symbol.for("drizzle:isPgEnum");Lfe=class Lfe extends hf{static[F]="PgEnumColumnBuilder";constructor(e,t){super(e,"string","PgEnumColumn");this.config.enum=t}build(e){return new yM(e,this.config)}};yM=class yM extends Sl{static[F]="PgEnumColumn";enum=this.config.enum;enumValues=this.config.enum.enumValues;constructor(e,t){super(e,t);this.enum=t.enum}getSQLType(){return this.enum.enumName}}});var ft,gf;var vn=w(()=>{Re();ft=class ft{static[F]="Subquery";constructor(e,t,r,o=!1,n=[]){this._={brand:"Subquery",sql:e,selectedFields:t,alias:r,isWith:o,usedTables:n}}};gf=class gf extends ft{static[F]="WithSubquery"}});var SM="0.45.2";var vM=()=>{};var VT,WT,wM;var xM=w(()=>{FT();vM();wM={startActiveSpan(e,t){if(!VT)return t();if(!WT)WT=VT.trace.getTracer("drizzle-orm",SM);return vy((r,o)=>o.startActiveSpan(e,(n)=>{try{return t(n)}catch(i){throw n.setStatus({code:r.SpanStatusCode.ERROR,message:i instanceof Error?i.message:"Unknown error"}),i}finally{n.end()}}),VT,WT)}}});var pt;var Do=w(()=>{pt=Symbol.for("drizzle:ViewBaseConfig")});function Ki(e){return e[ir]}function ia(e){return`${e[wy]??"public"}.${e[ir]}`}var wy,xy,_M,GT,QT,yf,EM,Bfe,me;var sr=w(()=>{Re();bl();wy=Symbol.for("drizzle:Schema"),xy=Symbol.for("drizzle:Columns"),_M=Symbol.for("drizzle:ExtraConfigColumns"),GT=Symbol.for("drizzle:OriginalName"),QT=Symbol.for("drizzle:BaseName"),yf=Symbol.for("drizzle:IsAlias"),EM=Symbol.for("drizzle:ExtraConfigBuilder"),Bfe=Symbol.for("drizzle:IsDrizzleTable");me=class me{static[F]="Table";static Symbol={Name:ir,Schema:wy,OriginalName:GT,Columns:xy,ExtraConfigColumns:_M,BaseName:QT,IsAlias:yf,ExtraConfigBuilder:EM};[ir];[GT];[wy];[xy];[_M];[QT];[yf]=!1;[Bfe]=!0;[EM]=void 0;constructor(e,t,r){this[ir]=this[GT]=e,this[wy]=t,this[QT]=r}}});function YT(e){return e!==null&&e!==void 0&&typeof e.getSQL==="function"}function Zfe(e){let t={sql:"",params:[]};for(let r of e)if(t.sql+=r.sql,t.params.push(...r.params),r.typings?.length){if(!t.typings)t.typings=[];t.typings.push(...r.typings)}return t}function IM(e){return typeof e==="object"&&e!==null&&"mapToDriverValue"in e&&typeof e.mapToDriverValue==="function"}function C(e,...t){let r=[];if(t.length>0||e.length>0&&e[0]!=="")r.push(new zt(e[0]));for(let[o,n]of t.entries())r.push(n,new zt(e[o+1]));return new xe(r)}function bf(e,t){return e.map((r)=>{if(oe(r,Hi)){if(!(r.name in t))throw Error(`No value for placeholder "${r.name}" was provided`);return t[r.name]}if(oe(r,Br)&&oe(r.value,Hi)){if(!(r.value.name in t))throw Error(`No value for placeholder "${r.value.name}" was provided`);return r.encoder.mapToDriverValue(t[r.value.name])}return r})}var jfe,zt,xe,_y,kM,AM,iLe,Br,Hi,Ufe,tn;var Yt=w(()=>{Re();bM();vn();xM();Do();Sn();sr();jfe=class jfe{static[F]="FakePrimitiveParam"};zt=class zt{static[F]="StringChunk";value;constructor(e){this.value=Array.isArray(e)?e:[e]}getSQL(){return new xe([this])}};xe=class xe{constructor(e){this.queryChunks=e;for(let t of e)if(oe(t,me)){let r=t[me.Symbol.Schema];this.usedTables.push(r===void 0?t[me.Symbol.Name]:r+"."+t[me.Symbol.Name])}}static[F]="SQL";decoder=kM;shouldInlineParams=!1;usedTables=[];append(e){return this.queryChunks.push(...e.queryChunks),this}toQuery(e){return wM.startActiveSpan("drizzle.buildSQL",(t)=>{let r=this.buildQueryFromSourceParams(this.queryChunks,e);return t?.setAttributes({"drizzle.query.text":r.sql,"drizzle.query.params":JSON.stringify(r.params)}),r})}buildQueryFromSourceParams(e,t){let r=Object.assign({},t,{inlineParams:t.inlineParams||this.shouldInlineParams,paramStartIndex:t.paramStartIndex||{value:0}}),{casing:o,escapeName:n,escapeParam:i,prepareTyping:s,inlineParams:a,paramStartIndex:c}=r;return Zfe(e.map((u)=>{if(oe(u,zt))return{sql:u.value.join(""),params:[]};if(oe(u,_y))return{sql:n(u.value),params:[]};if(u===void 0)return{sql:"",params:[]};if(Array.isArray(u)){let d=[new zt("(")];for(let[f,m]of u.entries())if(d.push(m),f<u.length-1)d.push(new zt(", "));return d.push(new zt(")")),this.buildQueryFromSourceParams(d,r)}if(oe(u,xe))return this.buildQueryFromSourceParams(u.queryChunks,{...r,inlineParams:a||u.shouldInlineParams});if(oe(u,me)){let d=u[me.Symbol.Schema],f=u[me.Symbol.Name];return{sql:d===void 0||u[yf]?n(f):n(d)+"."+n(f),params:[]}}if(oe(u,He)){let d=o.getColumnCasing(u);if(t.invokeSource==="indexes")return{sql:n(d),params:[]};let f=u.table[me.Symbol.Schema];return{sql:u.table[yf]||f===void 0?n(u.table[me.Symbol.Name])+"."+n(d):n(f)+"."+n(u.table[me.Symbol.Name])+"."+n(d),params:[]}}if(oe(u,tn)){let d=u[pt].schema,f=u[pt].name;return{sql:d===void 0||u[pt].isAlias?n(f):n(d)+"."+n(f),params:[]}}if(oe(u,Br)){if(oe(u.value,Hi))return{sql:i(c.value++,u),params:[u],typings:["none"]};let d=u.value===null?null:u.encoder.mapToDriverValue(u.value);if(oe(d,xe))return this.buildQueryFromSourceParams([d],r);if(a)return{sql:this.mapInlineParam(d,r),params:[]};let f=["none"];if(s)f=[s(u.encoder)];return{sql:i(c.value++,d),params:[d],typings:f}}if(oe(u,Hi))return{sql:i(c.value++,u),params:[u],typings:["none"]};if(oe(u,xe.Aliased)&&u.fieldAlias!==void 0)return{sql:n(u.fieldAlias),params:[]};if(oe(u,ft)){if(u._.isWith)return{sql:n(u._.alias),params:[]};return this.buildQueryFromSourceParams([new zt("("),u._.sql,new zt(") "),new _y(u._.alias)],r)}if(gM(u)){if(u.schema)return{sql:n(u.schema)+"."+n(u.enumName),params:[]};return{sql:n(u.enumName),params:[]}}if(YT(u)){if(u.shouldOmitSQLParens?.())return this.buildQueryFromSourceParams([u.getSQL()],r);return this.buildQueryFromSourceParams([new zt("("),u.getSQL(),new zt(")")],r)}if(a)return{sql:this.mapInlineParam(u,r),params:[]};return{sql:i(c.value++,u),params:[u],typings:["none"]}}))}mapInlineParam(e,{escapeString:t}){if(e===null)return"null";if(typeof e==="number"||typeof e==="boolean")return e.toString();if(typeof e==="string")return t(e);if(typeof e==="object"){let r=e.toString();if(r==="[object Object]")return t(JSON.stringify(e));return t(r)}throw Error("Unexpected param value: "+e)}getSQL(){return this}as(e){if(e===void 0)return this;return new xe.Aliased(this,e)}mapWith(e){return this.decoder=typeof e==="function"?{mapFromDriverValue:e}:e,this}inlineParams(){return this.shouldInlineParams=!0,this}if(e){return e?this:void 0}};_y=class _y{constructor(e){this.value=e}static[F]="Name";brand;getSQL(){return new xe([this])}};kM={mapFromDriverValue:(e)=>e},AM={mapToDriverValue:(e)=>e},iLe={...kM,...AM};Br=class Br{constructor(e,t=AM){this.value=e,this.encoder=t}static[F]="Param";brand;getSQL(){return new xe([this])}};((e)=>{function t(){return new xe([])}e.empty=t;function r(c){return new xe(c)}e.fromList=r;function o(c){return new xe([new zt(c)])}e.raw=o;function n(c,u){let d=[];for(let[f,m]of c.entries()){if(f>0&&u!==void 0)d.push(u);d.push(m)}return new xe(d)}e.join=n;function i(c){return new _y(c)}e.identifier=i;function s(c){return new Hi(c)}e.placeholder=s;function a(c,u){return new Br(c,u)}e.param=a})(C||(C={}));((e)=>{class t{constructor(r,o){this.sql=r,this.fieldAlias=o}static[F]="SQL.Aliased";isSelectionField=!1;getSQL(){return this.sql}clone(){return new t(this.sql,this.fieldAlias)}}e.Aliased=t})(xe||(xe={}));Hi=class Hi{constructor(e){this.name=e}static[F]="Placeholder";getSQL(){return new xe([this])}};Ufe=Symbol.for("drizzle:IsDrizzleView");tn=class tn{static[F]="View";[pt];[Ufe]=!0;constructor({name:e,schema:t,selectedFields:r,query:o}){this[pt]={name:e,originalName:e,schema:t,selectedFields:r,query:o,isExisting:!o,isAlias:!1}}getSQL(){return new xe([this])}};He.prototype.getSQL=function(){return new xe([this])};me.prototype.getSQL=function(){return new xe([this])};ft.prototype.getSQL=function(){return new xe([this])}});function XT(e,t,r){let o={},n=e.reduce((i,{path:s,field:a},c)=>{let u;if(oe(a,He))u=a;else if(oe(a,xe))u=a.decoder;else if(oe(a,ft))u=a._.sql.decoder;else u=a.sql.decoder;let d=i;for(let[f,m]of s.entries())if(f<s.length-1){if(!(m in d))d[m]={};d=d[m]}else{let h=t[c],b=d[m]=h===null?null:u.mapFromDriverValue(h);if(r&&oe(a,He)&&s.length===2){let y=s[0];if(!(y in o))o[y]=b===null?Ki(a.table):!1;else if(typeof o[y]==="string"&&o[y]!==Ki(a.table))o[y]=!1}}return i},{});if(r&&Object.keys(o).length>0){for(let[i,s]of Object.entries(o))if(typeof s==="string"&&!r[s])n[i]=null}return n}function rn(e,t){return Object.entries(e).reduce((r,[o,n])=>{if(typeof o!=="string")return r;let i=t?[...t,o]:[o];if(oe(n,He)||oe(n,xe)||oe(n,xe.Aliased)||oe(n,ft))r.push({path:i,field:n});else if(oe(n,me))r.push(...rn(n[me.Symbol.Columns],i));else r.push(...rn(n,i));return r},[])}function Sf(e,t){let r=Object.keys(e),o=Object.keys(t);if(r.length!==o.length)return!1;for(let[n,i]of r.entries())if(i!==o[n])return!1;return!0}function Ey(e,t){let r=Object.entries(t).filter(([,o])=>o!==void 0).map(([o,n])=>{if(oe(n,xe)||oe(n,He))return[o,n];else return[o,new Br(n,e[me.Symbol.Columns][o])]});if(r.length===0)throw Error("No values to set");return Object.fromEntries(r)}function TM(e,t){for(let r of t)for(let o of Object.getOwnPropertyNames(r.prototype)){if(o==="constructor")continue;Object.defineProperty(e.prototype,o,Object.getOwnPropertyDescriptor(r.prototype,o)||Object.create(null))}}function Iy(e){return e[me.Symbol.Columns]}function vf(e){return oe(e,ft)?e._.alias:oe(e,tn)?e[pt].name:oe(e,xe)?void 0:e[me.Symbol.IsAlias]?e[me.Symbol.Name]:e[me.Symbol.BaseName]}function Yn(e,t){return{name:typeof e==="string"&&e.length>0?e:"",config:typeof e==="object"?e:t}}function $M(e){if(typeof e!=="object"||e===null)return!1;if(e.constructor.name!=="Object")return!1;if("logger"in e){let t=typeof e.logger;if(t!=="boolean"&&(t!=="object"||typeof e.logger.logQuery!=="function")&&t!=="undefined")return!1;return!0}if("schema"in e){let t=typeof e.schema;if(t!=="object"&&t!=="undefined")return!1;return!0}if("casing"in e){let t=typeof e.casing;if(t!=="string"&&t!=="undefined")return!1;return!0}if("mode"in e){if(e.mode!=="default"||e.mode!=="planetscale"||e.mode!==void 0)return!1;return!0}if("connection"in e){let t=typeof e.connection;if(t!=="string"&&t!=="object"&&t!=="undefined")return!1;return!0}if("client"in e){let t=typeof e.client;if(t!=="object"&&t!=="function"&&t!=="undefined")return!1;return!0}if(Object.keys(e).length===0)return!0;return!1}var e$;var br=w(()=>{Sn();Re();Yt();vn();sr();Do();e$=typeof TextDecoder>"u"?null:new TextDecoder});var RM,t$,r$;var ky=w(()=>{Re();RM=class RM{static[F]="ConsoleLogWriter";write(e){console.log(e)}};t$=class t${static[F]="DefaultLogger";writer;constructor(e){this.writer=e?.writer??new RM}logQuery(e,t){let r=t.map((n)=>{try{return JSON.stringify(n)}catch{return String(n)}}),o=r.length?` -- params: [${r.join(", ")}]`:"";this.writer.write(`Query: ${e}${o}`)}};r$=class r${static[F]="NoopLogger";logQuery(){}}});var OM,CM,n$;var PM=w(()=>{Re();sr();OM=Symbol.for("drizzle:PgInlineForeignKeys"),CM=Symbol.for("drizzle:EnableRLS");n$=class n$ extends me{static[F]="PgTable";static Symbol=Object.assign({},me.Symbol,{InlineForeignKeys:OM,EnableRLS:CM});[OM]=[];[CM]=!1;[me.Symbol.ExtraConfigBuilder]=void 0;[me.Symbol.ExtraConfigColumns]={}}});var o$,zM;var NM=w(()=>{Re();PM();o$=class o${static[F]="PgPrimaryKeyBuilder";columns;name;constructor(e,t){this.columns=e,this.name=t}build(e){return new zM(e,this.columns,this.name)}};zM=class zM{constructor(e,t,r){this.table=e,this.columns=t,this.name=r}static[F]="PgPrimaryKey";columns;name;getName(){return this.name??`${this.table[n$.Symbol.Name]}_${this.columns.map((e)=>e.name).join("_")}_pk`}}});function Tr(e,t){if(IM(t)&&!YT(e)&&!oe(e,Br)&&!oe(e,Hi)&&!oe(e,He)&&!oe(e,me)&&!oe(e,tn))return new Br(e,t);return e}function tt(...e){let t=e.filter((r)=>r!==void 0);if(t.length===0)return;if(t.length===1)return new xe(t);return new xe([new zt("("),C.join(t,new zt(" and ")),new zt(")")])}function nn(...e){let t=e.filter((r)=>r!==void 0);if(t.length===0)return;if(t.length===1)return new xe(t);return new xe([new zt("("),C.join(t,new zt(" or ")),new zt(")")])}function LM(e){return C`not ${e}`}function Wi(e,t){if(Array.isArray(t)){if(t.length===0)return C`false`;return C`${e} in ${t.map((r)=>Tr(r,e))}`}return C`${e} in ${Tr(t,e)}`}function Ay(e,t){if(Array.isArray(t)){if(t.length===0)return C`true`;return C`${e} not in ${t.map((r)=>Tr(r,e))}`}return C`${e} not in ${Tr(t,e)}`}function jr(e){return C`${e} is null`}function ZM(e){return C`${e} is not null`}function Ty(e){return C`exists ${e}`}function Gi(e){return C`not exists ${e}`}function UM(e,t,r){return C`${e} between ${Tr(t,e)} and ${Tr(r,e)}`}function qM(e,t,r){return C`${e} not between ${Tr(t,e)} and ${Tr(r,e)}`}function MM(e,t){return C`${e} like ${t}`}function FM(e,t){return C`${e} not like ${t}`}function JM(e,t){return C`${e} ilike ${t}`}function KM(e,t){return C`${e} not ilike ${t}`}var je=(e,t)=>C`${e} = ${Tr(t,e)}`,DM=(e,t)=>C`${e} <> ${Tr(t,e)}`,wn=(e,t)=>C`${e} > ${Tr(t,e)}`,BM=(e,t)=>C`${e} >= ${Tr(t,e)}`,jM=(e,t)=>C`${e} < ${Tr(t,e)}`,Vi=(e,t)=>C`${e} <= ${Tr(t,e)}`;var HM=w(()=>{Sn();Re();sr();Yt()});function Lo(e){return C`${e} asc`}function sa(e){return C`${e} desc`}var VM=w(()=>{Yt()});var i$=w(()=>{HM();VM()});function GM(){return{and:tt,between:UM,eq:je,exists:Ty,gt:wn,gte:BM,ilike:JM,inArray:Wi,isNull:jr,isNotNull:ZM,like:MM,lt:jM,lte:Vi,ne:DM,not:LM,notBetween:qM,notExists:Gi,notLike:FM,notIlike:KM,notInArray:Ay,or:nn,sql:C}}function QM(){return{sql:C,asc:Lo,desc:sa}}function YM(e,t){if(Object.keys(e).length===1&&"default"in e&&!oe(e.default,me))e=e.default;let r={},o={},n={};for(let[i,s]of Object.entries(e))if(oe(s,me)){let a=ia(s),c=o[a];r[a]=i,n[i]={tsName:i,dbName:s[me.Symbol.Name],schema:s[me.Symbol.Schema],columns:s[me.Symbol.Columns],relations:c?.relations??{},primaryKey:c?.primaryKey??[]};for(let d of Object.values(s[me.Symbol.Columns]))if(d.primary)n[i].primaryKey.push(d);let u=s[me.Symbol.ExtraConfigBuilder]?.(s[me.Symbol.ExtraConfigColumns]);if(u){for(let d of Object.values(u))if(oe(d,o$))n[i].primaryKey.push(...d.columns)}}else if(oe(s,WM)){let a=ia(s.table),c=r[a],u=s.config(t(s.table)),d;for(let[f,m]of Object.entries(u))if(c){let h=n[c];if(h.relations[f]=m,d)h.primaryKey.push(...d)}else{if(!(a in o))o[a]={relations:{},primaryKey:d};o[a].relations[f]=m}}return{tables:n,tableNamesMap:r}}function qfe(e){return function(r,o){return new Qi(e,r,o,o?.fields.reduce((n,i)=>n&&i.notNull,!0)??!1)}}function Mfe(e){return function(r,o){return new wf(e,r,o)}}function XM(e,t,r){if(oe(r,Qi)&&r.config)return{fields:r.config.fields,references:r.config.references};let o=t[ia(r.referencedTable)];if(!o)throw Error(`Table "${r.referencedTable[me.Symbol.Name]}" not found in schema`);let n=e[o];if(!n)throw Error(`Table "${o}" not found in schema`);let i=r.sourceTable,s=t[ia(i)];if(!s)throw Error(`Table "${i[me.Symbol.Name]}" not found in schema`);let a=[];for(let c of Object.values(n.relations))if(r.relationName&&r!==c&&c.relationName===r.relationName||!r.relationName&&c.referencedTable===r.sourceTable)a.push(c);if(a.length>1)throw r.relationName?Error(`There are multiple relations with name "${r.relationName}" in table "${o}"`):Error(`There are multiple relations between "${o}" and "${r.sourceTable[me.Symbol.Name]}". Please specify relation name`);if(a[0]&&oe(a[0],Qi)&&a[0].config)return{fields:a[0].config.references,references:a[0].config.fields};throw Error(`There is not enough information to infer relation "${s}.${r.fieldName}"`)}function eF(e){return{one:qfe(e),many:Mfe(e)}}function $y(e,t,r,o,n=(i)=>i){let i={};for(let[s,a]of o.entries())if(a.isJson){let c=t.relations[a.tsKey],u=r[s],d=typeof u==="string"?JSON.parse(u):u;i[a.tsKey]=oe(c,Qi)?d&&$y(e,e[a.relationTableTsKey],d,a.selection,n):d.map((f)=>$y(e,e[a.relationTableTsKey],f,a.selection,n))}else{let c=n(r[s]),u=a.field,d;if(oe(u,He))d=u;else if(oe(u,xe))d=u.decoder;else d=u.sql.decoder;i[a.tsKey]=c===null?null:d.mapFromDriverValue(c)}return i}var s$,WM,Qi,wf;var xf=w(()=>{sr();Sn();Re();NM();i$();Yt();s$=class s${constructor(e,t,r){this.sourceTable=e,this.referencedTable=t,this.relationName=r,this.referencedTableName=t[me.Symbol.Name]}static[F]="Relation";referencedTableName;fieldName};WM=class WM{constructor(e,t){this.table=e,this.config=t}static[F]="Relations"};Qi=class Qi extends s${constructor(e,t,r,o){super(e,t,r?.relationName);this.config=r,this.isNullable=o}static[F]="One";withFieldName(e){let t=new Qi(this.sourceTable,this.referencedTable,this.config,this.isNullable);return t.fieldName=e,t}};wf=class wf extends s${constructor(e,t,r){super(e,t,r?.relationName);this.config=r}static[F]="Many";withFieldName(e){let t=new wf(this.sourceTable,this.referencedTable,this.config);return t.fieldName=e,t}}});function _f(e,t){return new Proxy(e,new aa(t,!1))}function Xn(e,t){return new Proxy(e,new vl(new Proxy(e.table,new aa(t,!1))))}function a$(e,t){return new xe.Aliased(Ef(e.sql,t),e.fieldAlias)}function Ef(e,t){return C.join(e.queryChunks.map((r)=>{if(oe(r,He))return Xn(r,t);if(oe(r,xe))return Ef(r,t);if(oe(r,xe.Aliased))return a$(r,t);return r}))}var vl,aa,Ffe;var If=w(()=>{Sn();Re();Yt();sr();Do();vl=class vl{constructor(e){this.table=e}static[F]="ColumnAliasProxyHandler";get(e,t){if(t==="table")return this.table;return e[t]}};aa=class aa{constructor(e,t){this.alias=e,this.replaceOriginalName=t}static[F]="TableAliasProxyHandler";get(e,t){if(t===me.Symbol.IsAlias)return!0;if(t===me.Symbol.Name)return this.alias;if(this.replaceOriginalName&&t===me.Symbol.OriginalName)return this.alias;if(t===pt)return{...e[pt],name:this.alias,isAlias:!0};if(t===me.Symbol.Columns){let o=e[me.Symbol.Columns];if(!o)return o;let n={};return Object.keys(o).map((i)=>{n[i]=new Proxy(o[i],new vl(new Proxy(e,this)))}),n}let r=e[t];if(oe(r,He))return new Proxy(r,new vl(new Proxy(e,this)));return r}};Ffe=class Ffe{constructor(e){this.alias=e}static[F]="RelationTableAliasProxyHandler";get(e,t){if(t==="sourceTable")return _f(e.sourceTable,this.alias);return e[t]}}});var at;var ca=w(()=>{If();Sn();Re();Yt();vn();Do();at=class at{static[F]="SelectionProxyHandler";config;constructor(e){this.config={...e}}get(e,t){if(t==="_")return{...e._,selectedFields:new Proxy(e._.selectedFields,this)};if(t===pt)return{...e[pt],selectedFields:new Proxy(e[pt].selectedFields,this)};if(typeof t==="symbol")return e[t];let o=(oe(e,ft)?e._.selectedFields:oe(e,tn)?e[pt].selectedFields:e)[t];if(oe(o,xe.Aliased)){if(this.config.sqlAliasedBehavior==="sql"&&!o.isSelectionField)return o.sql;let n=o.clone();return n.isSelectionField=!0,n}if(oe(o,xe)){if(this.config.sqlBehavior==="sql")return o;throw Error(`You tried to reference "${t}" field from a subquery, which is a raw SQL field, but it doesn't have an alias declared. Please add an alias to the field using ".as('alias')" method.`)}if(oe(o,He)){if(this.config.alias)return new Proxy(o,new vl(new Proxy(o.table,new aa(this.config.alias,this.config.replaceOriginalName??!1))));return o}if(typeof o!=="object"||o===null)return o;return new Proxy(o,new at(this.config))}}});var Sr;var Bo=w(()=>{Re();Sr=class Sr{static[F]="QueryPromise";[Symbol.toStringTag]="QueryPromise";catch(e){return this.then(void 0,e)}finally(e){return this.then((t)=>(e?.(),t),(t)=>{throw e?.(),t})}then(e,t){return this.execute().then(e,t)}}});var c$,tF;var l$=w(()=>{Re();bl();c$=class c${static[F]="SQLiteForeignKeyBuilder";reference;_onUpdate;_onDelete;constructor(e,t){if(this.reference=()=>{let{name:r,columns:o,foreignColumns:n}=e();return{name:r,columns:o,foreignTable:n[0].table,foreignColumns:n}},t)this._onUpdate=t.onUpdate,this._onDelete=t.onDelete}onUpdate(e){return this._onUpdate=e,this}onDelete(e){return this._onDelete=e,this}build(e){return new tF(e,this)}};tF=class tF{constructor(e,t){this.table=e,this.reference=t.reference,this.onUpdate=t._onUpdate,this.onDelete=t._onDelete}static[F]="SQLiteForeignKey";reference;onUpdate;onDelete;getName(){let{name:e,columns:t,foreignColumns:r}=this.reference(),o=t.map((s)=>s.name),n=r.map((s)=>s.name),i=[this.table[ir],...o,r[0].table[ir],...n];return e??`${i.join("_")}_fk`}}});function u$(e,t){return`${e[ir]}_${t.join("_")}_unique`}var rF,Jfe,nF;var d$=w(()=>{Re();bl();rF=class rF{constructor(e,t){this.name=t,this.columns=e}static[F]="SQLiteUniqueConstraintBuilder";columns;build(e){return new nF(e,this.columns,this.name)}};Jfe=class Jfe{static[F]="SQLiteUniqueOnConstraintBuilder";name;constructor(e){this.name=e}on(...e){return new rF(e,this.name)}};nF=class nF{constructor(e,t,r){this.table=e,this.columns=t,this.name=r??u$(this.table,this.columns.map((o)=>o.name))}static[F]="SQLiteUniqueConstraint";columns;name;getName(){return this.name}}});var jt,yt;var Yi=w(()=>{Sy();Sn();Re();l$();d$();jt=class jt extends mf{static[F]="SQLiteColumnBuilder";foreignKeyConfigs=[];references(e,t={}){return this.foreignKeyConfigs.push({ref:e,actions:t}),this}unique(e){return this.config.isUnique=!0,this.config.uniqueName=e,this}generatedAlwaysAs(e,t){return this.config.generated={as:e,type:"always",mode:t?.mode??"virtual"},this}buildForeignKeys(e,t){return this.foreignKeyConfigs.map(({ref:r,actions:o})=>((n,i)=>{let s=new c$(()=>{let a=n();return{columns:[e],foreignColumns:[a]}});if(i.onUpdate)s.onUpdate(i.onUpdate);if(i.onDelete)s.onDelete(i.onDelete);return s.build(t)})(r,o))}};yt=class yt extends He{constructor(e,t){if(!t.uniqueName)t.uniqueName=u$(e,[t.name]);super(e,t);this.table=e}static[F]="SQLiteColumn"}});function uF(e,t){let{name:r,config:o}=Yn(e,t);if(o?.mode==="json")return new sF(r);if(o?.mode==="bigint")return new oF(r);return new cF(r)}var oF,iF,sF,aF,cF,lF;var f$=w(()=>{Re();br();Yi();oF=class oF extends jt{static[F]="SQLiteBigIntBuilder";constructor(e){super(e,"bigint","SQLiteBigInt")}build(e){return new iF(e,this.config)}};iF=class iF extends yt{static[F]="SQLiteBigInt";getSQLType(){return"blob"}mapFromDriverValue(e){if(typeof Buffer<"u"&&Buffer.from){let t=Buffer.isBuffer(e)?e:e instanceof ArrayBuffer?Buffer.from(e):e.buffer?Buffer.from(e.buffer,e.byteOffset,e.byteLength):Buffer.from(e);return BigInt(t.toString("utf8"))}return BigInt(e$.decode(e))}mapToDriverValue(e){return Buffer.from(e.toString())}};sF=class sF extends jt{static[F]="SQLiteBlobJsonBuilder";constructor(e){super(e,"json","SQLiteBlobJson")}build(e){return new aF(e,this.config)}};aF=class aF extends yt{static[F]="SQLiteBlobJson";getSQLType(){return"blob"}mapFromDriverValue(e){if(typeof Buffer<"u"&&Buffer.from){let t=Buffer.isBuffer(e)?e:e instanceof ArrayBuffer?Buffer.from(e):e.buffer?Buffer.from(e.buffer,e.byteOffset,e.byteLength):Buffer.from(e);return JSON.parse(t.toString("utf8"))}return JSON.parse(e$.decode(e))}mapToDriverValue(e){return Buffer.from(JSON.stringify(e))}};cF=class cF extends jt{static[F]="SQLiteBlobBufferBuilder";constructor(e){super(e,"buffer","SQLiteBlobBuffer")}build(e){return new lF(e,this.config)}};lF=class lF extends yt{static[F]="SQLiteBlobBuffer";mapFromDriverValue(e){if(Buffer.isBuffer(e))return e;return Buffer.from(e)}getSQLType(){return"blob"}}});function pF(e){return(t,r)=>{let{name:o,config:n}=Yn(t,r);return new dF(o,n,e)}}var dF,fF;var p$=w(()=>{Re();br();Yi();dF=class dF extends jt{static[F]="SQLiteCustomColumnBuilder";constructor(e,t,r){super(e,"custom","SQLiteCustomColumn");this.config.fieldConfig=t,this.config.customTypeParams=r}build(e){return new fF(e,this.config)}};fF=class fF extends yt{static[F]="SQLiteCustomColumn";sqlName;mapTo;mapFrom;constructor(e,t){super(e,t);this.sqlName=t.customTypeParams.dataType(t.fieldConfig),this.mapTo=t.customTypeParams.toDriver,this.mapFrom=t.customTypeParams.fromDriver}getSQLType(){return this.sqlName}mapFromDriverValue(e){return typeof this.mapFrom==="function"?this.mapFrom(e):e}mapToDriverValue(e){return typeof this.mapTo==="function"?this.mapTo(e):e}}});function ar(e,t){let{name:r,config:o}=Yn(e,t);if(o?.mode==="timestamp"||o?.mode==="timestamp_ms")return new gF(r,o.mode);if(o?.mode==="boolean")return new bF(r,o.mode);return new mF(r)}var Ry,Oy,mF,hF,gF,yF,bF,SF;var m$=w(()=>{Re();Yt();br();Yi();Ry=class Ry extends jt{static[F]="SQLiteBaseIntegerBuilder";constructor(e,t,r){super(e,t,r);this.config.autoIncrement=!1}primaryKey(e){if(e?.autoIncrement)this.config.autoIncrement=!0;return this.config.hasDefault=!0,super.primaryKey()}};Oy=class Oy extends yt{static[F]="SQLiteBaseInteger";autoIncrement=this.config.autoIncrement;getSQLType(){return"integer"}};mF=class mF extends Ry{static[F]="SQLiteIntegerBuilder";constructor(e){super(e,"number","SQLiteInteger")}build(e){return new hF(e,this.config)}};hF=class hF extends Oy{static[F]="SQLiteInteger"};gF=class gF extends Ry{static[F]="SQLiteTimestampBuilder";constructor(e,t){super(e,"date","SQLiteTimestamp");this.config.mode=t}defaultNow(){return this.default(C`(cast((julianday('now') - 2440587.5)*86400000 as integer))`)}build(e){return new yF(e,this.config)}};yF=class yF extends Oy{static[F]="SQLiteTimestamp";mode=this.config.mode;mapFromDriverValue(e){if(this.config.mode==="timestamp")return new Date(e*1000);return new Date(e)}mapToDriverValue(e){let t=e.getTime();if(this.config.mode==="timestamp")return Math.floor(t/1000);return t}};bF=class bF extends Ry{static[F]="SQLiteBooleanBuilder";constructor(e,t){super(e,"boolean","SQLiteBoolean");this.config.mode=t}build(e){return new SF(e,this.config)}};SF=class SF extends Oy{static[F]="SQLiteBoolean";mode=this.config.mode;mapFromDriverValue(e){return Number(e)===1}mapToDriverValue(e){return e?1:0}}});function kF(e,t){let{name:r,config:o}=Yn(e,t),n=o?.mode;return n==="number"?new xF(r):n==="bigint"?new EF(r):new vF(r)}var vF,wF,xF,_F,EF,IF;var h$=w(()=>{Re();br();Yi();vF=class vF extends jt{static[F]="SQLiteNumericBuilder";constructor(e){super(e,"string","SQLiteNumeric")}build(e){return new wF(e,this.config)}};wF=class wF extends yt{static[F]="SQLiteNumeric";mapFromDriverValue(e){if(typeof e==="string")return e;return String(e)}getSQLType(){return"numeric"}};xF=class xF extends jt{static[F]="SQLiteNumericNumberBuilder";constructor(e){super(e,"number","SQLiteNumericNumber")}build(e){return new _F(e,this.config)}};_F=class _F extends yt{static[F]="SQLiteNumericNumber";mapFromDriverValue(e){if(typeof e==="number")return e;return Number(e)}mapToDriverValue=String;getSQLType(){return"numeric"}};EF=class EF extends jt{static[F]="SQLiteNumericBigIntBuilder";constructor(e){super(e,"bigint","SQLiteNumericBigInt")}build(e){return new IF(e,this.config)}};IF=class IF extends yt{static[F]="SQLiteNumericBigInt";mapFromDriverValue=BigInt;mapToDriverValue=String;getSQLType(){return"numeric"}}});function $F(e){return new AF(e??"")}var AF,TF;var g$=w(()=>{Re();Yi();AF=class AF extends jt{static[F]="SQLiteRealBuilder";constructor(e){super(e,"number","SQLiteReal")}build(e){return new TF(e,this.config)}};TF=class TF extends yt{static[F]="SQLiteReal";getSQLType(){return"real"}}});function mt(e,t={}){let{name:r,config:o}=Yn(e,t);if(o.mode==="json")return new CF(r);return new RF(r,o)}var RF,OF,CF,PF;var y$=w(()=>{Re();br();Yi();RF=class RF extends jt{static[F]="SQLiteTextBuilder";constructor(e,t){super(e,"string","SQLiteText");this.config.enumValues=t.enum,this.config.length=t.length}build(e){return new OF(e,this.config)}};OF=class OF extends yt{static[F]="SQLiteText";enumValues=this.config.enumValues;length=this.config.length;constructor(e,t){super(e,t)}getSQLType(){return`text${this.config.length?`(${this.config.length})`:""}`}};CF=class CF extends jt{static[F]="SQLiteTextJsonBuilder";constructor(e){super(e,"json","SQLiteTextJson")}build(e){return new PF(e,this.config)}};PF=class PF extends yt{static[F]="SQLiteTextJson";getSQLType(){return"text"}mapFromDriverValue(e){return JSON.parse(e)}mapToDriverValue(e){return JSON.stringify(e)}}});function zF(){return{blob:uF,customType:pF,integer:ar,numeric:kF,real:$F,text:mt}}var NF=w(()=>{f$();p$();m$();h$();g$();y$()});function Kfe(e,t,r,o,n=e){let i=new At(e,o,n),s=typeof t==="function"?t(zF()):t,a=Object.fromEntries(Object.entries(s).map(([u,d])=>{let f=d;f.setName(u);let m=f.build(i);return i[b$].push(...f.buildForeignKeys(m,i)),[u,m]})),c=Object.assign(i,a);if(c[me.Symbol.Columns]=a,c[me.Symbol.ExtraConfigColumns]=a,r)c[At.Symbol.ExtraConfigBuilder]=r;return c}var b$,At,kf=(e,t,r)=>Kfe(e,t,r);var jo=w(()=>{Re();sr();NF();b$=Symbol.for("drizzle:SQLiteInlineForeignKeys");At=class At extends me{static[F]="SQLiteTable";static Symbol=Object.assign({},me.Symbol,{InlineForeignKeys:b$});[me.Symbol.Columns];[b$]=[];[me.Symbol.ExtraConfigBuilder]=void 0}});var Hfe,DF;var LF=w(()=>{Re();Hfe=class Hfe{constructor(e,t){this.name=e,this.value=t}static[F]="SQLiteCheckBuilder";brand;build(e){return new DF(e,this)}};DF=class DF{constructor(e,t){this.table=e,this.name=t.name,this.value=t.value}static[F]="SQLiteCheck";name;value}});function Zo(e){return new BF(e,!1)}var BF,jF,ZF;var UF=w(()=>{Re();BF=class BF{constructor(e,t){this.name=e,this.unique=t}static[F]="SQLiteIndexBuilderOn";on(...e){return new jF(this.name,e,this.unique)}};jF=class jF{static[F]="SQLiteIndexBuilder";config;constructor(e,t,r){this.config={name:e,columns:t,unique:r,where:void 0}}where(e){return this.config.where=e,this}build(e){return new ZF(this.config,e)}};ZF=class ZF{static[F]="SQLiteIndex";config;constructor(e,t){this.config={...e,table:t}}}});var Vfe,qF;var MF=w(()=>{Re();jo();Vfe=class Vfe{static[F]="SQLitePrimaryKeyBuilder";columns;name;constructor(e,t){this.columns=e,this.name=t}build(e){return new qF(e,this.columns,this.name)}};qF=class qF{constructor(e,t,r){this.table=e,this.columns=t,this.name=r}static[F]="SQLitePrimaryKey";columns;name;getName(){return this.name??`${this.table[At.Symbol.Name]}_${this.columns.map((e)=>e.name).join("_")}_pk`}}});function xn(e){if(oe(e,At))return[`${e[me.Symbol.BaseName]}`];if(oe(e,ft))return e._.usedTables??[];if(oe(e,xe))return e.usedTables??[];return[]}var wl=w(()=>{Re();Yt();vn();sr();jo()});var Cy;var FF=w(()=>{Re();Bo();ca();jo();sr();br();wl();Cy=class Cy extends Sr{constructor(e,t,r,o){super();this.table=e,this.session=t,this.dialect=r,this.config={table:e,withList:o}}static[F]="SQLiteDelete";config;where(e){return this.config.where=e,this}orderBy(...e){if(typeof e[0]==="function"){let t=e[0](new Proxy(this.config.table[me.Symbol.Columns],new at({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),r=Array.isArray(t)?t:[t];this.config.orderBy=r}else{let t=e;this.config.orderBy=t}return this}limit(e){return this.config.limit=e,this}returning(e=this.table[At.Symbol.Columns]){return this.config.returning=rn(e),this}getSQL(){return this.dialect.buildDeleteQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}_prepare(e=!0){return this.session[e?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),this.config.returning,this.config.returning?"all":"run",!0,void 0,{type:"delete",tables:xn(this.config.table)})}prepare(){return this._prepare(!1)}run=(e)=>this._prepare().run(e);all=(e)=>this._prepare().all(e);get=(e)=>this._prepare().get(e);values=(e)=>this._prepare().values(e);async execute(e){return this._prepare().execute(e)}$dynamic(){return this}}});function Wfe(e){return(e.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).map((r)=>r.toLowerCase()).join("_")}function Gfe(e){return(e.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).reduce((r,o,n)=>{let i=n===0?o.toLowerCase():`${o[0].toUpperCase()}${o.slice(1)}`;return r+i},"")}function Qfe(e){return e}var S$;var JF=w(()=>{Re();sr();S$=class S${static[F]="CasingCache";cache={};cachedTables={};convert;constructor(e){this.convert=e==="snake_case"?Wfe:e==="camelCase"?Gfe:Qfe}getColumnCasing(e){if(!e.keyAsName)return e.name;let t=e.table[me.Symbol.Schema]??"public",r=e.table[me.Symbol.OriginalName],o=`${t}.${r}.${e.name}`;if(!this.cache[o])this.cacheTable(e.table);return this.cache[o]}cacheTable(e){let t=e[me.Symbol.Schema]??"public",r=e[me.Symbol.OriginalName],o=`${t}.${r}`;if(!this.cachedTables[o]){for(let n of Object.values(e[me.Symbol.Columns])){let i=`${o}.${n.name}`;this.cache[i]=this.convert(n.name)}this.cachedTables[o]=!0}}clearCache(){this.cache={},this.cachedTables={}}}});var xl,Uo,v$;var Py=w(()=>{Re();xl=class xl extends Error{static[F]="DrizzleError";constructor({message:e,cause:t}){super(e);this.name="DrizzleError",this.cause=t}};Uo=class Uo extends Error{constructor(e,t,r){super(`Failed query: ${e}
385
+ `)}catch{}}}formatJsonEntry(e,t,r){let o={ts:new Date().toISOString(),level:e,msg:t};if(this.context)o.ctx=this.context;if(r.length>0)o.data=r;return JSON.stringify(o)}silly(e,...t){if(this.level<=Ws.SILLY)this.write(console.debug.bind(console),"silly",e,t)}verbose(e,...t){if(this.level<=Ws.VERBOSE)this.write(console.debug.bind(console),"verbose",e,t)}debug(e,...t){if(this.level<=Ws.DEBUG)this.write(console.debug.bind(console),"debug",e,t)}info(e,...t){if(this.level<=Ws.INFO){let r=this.useStderr?console.error.bind(console):console.info.bind(console);this.write(r,"info",e,t)}}warn(e,...t){if(this.level<=Ws.WARN)this.write(console.warn.bind(console),"warn",e,t)}error(e,...t){if(this.level<=Ws.ERROR)this.write(console.error.bind(console),"error",e,t)}child(e){return new kr({level:this.level,context:e,useStderr:this.useStderr,format:this.format},this.fileHandle)}setUseStderr(e){this.useStderr=e}}var Ws,yPe;var nT=w(()=>{Ws={SILLY:0,VERBOSE:1,DEBUG:2,INFO:3,WARN:4,ERROR:5,NONE:6};yPe=kr.getInstance()});var oT,Vle,Wc,wPe;var Fd=w(()=>{Mt();he();oT=l.enum(["file_operations","content_operations","data_processing","batch_processing"]),Vle=l.looseObject({pluginId:l.string().optional(),progressToken:l.union([l.string(),l.number()]).optional(),operationType:oT,operationTarget:l.string().optional(),interfaceType:l.string().optional(),conversationId:l.string().optional(),channelId:l.string().optional(),requestedByActor:ri.optional(),requestedByUserId:l.string().optional(),requestedByInterface:l.string().optional(),silent:l.boolean().optional(),provenance:ni.optional()}),Wc=l.looseObject({pluginId:l.string().optional(),progressToken:l.union([l.string(),l.number()]).optional(),operationType:oT,operationTarget:l.string().optional(),interfaceType:l.string().optional(),conversationId:l.string().optional(),channelId:l.string().optional(),requestedByActor:ri.optional(),requestedByUserId:l.string().optional(),requestedByInterface:l.string().optional(),silent:l.boolean().optional(),provenance:ni.optional(),rootJobId:l.string()}),wPe=l.enum(["none","skip","replace","coalesce"])});var Wle,Di=15000;var Jd=w(()=>{Fd();he();Wle=l.object({id:l.string(),type:l.string(),data:l.string(),status:l.enum(["pending","processing","completed","failed"]),source:l.string().nullable(),priority:l.number(),retryCount:l.number(),maxRetries:l.number(),lastError:l.string().nullable(),lastErrorPublic:l.unknown(),createdAt:l.number(),scheduledFor:l.number(),startedAt:l.number().nullable(),completedAt:l.number().nullable(),attemptId:l.string().nullable(),workerSlotId:l.string().nullable(),workerSessionId:l.string().nullable(),leaseExpiresAt:l.number().nullable(),attemptHeartbeatAt:l.number().nullable(),runtimeUpdatedAt:l.number().nullable(),metadata:Wc,progress:l.custom((e)=>typeof e==="object"&&e!==null&&("progress"in e)&&typeof e.progress==="number").nullable(),result:l.unknown().nullable().optional()})});var iT,U6,Oe,Gle,Qle,q6,M6,F6;var Oo=w(()=>{Mt();he();Fd();iT=l.enum(["pending","processing","completed","failed"]),U6=l.enum(["completed","failed"]),Oe={PENDING:"pending",PROCESSING:"processing",COMPLETED:"completed",FAILED:"failed"},Gle=l.object({id:l.string(),type:l.string(),status:iT,data:l.unknown(),result:l.unknown().optional(),lastError:l.string().optional().nullable(),attempts:l.number(),maxRetries:l.number(),priority:l.number(),createdAt:l.date(),updatedAt:l.date(),processedAt:l.date().optional().nullable(),completedAt:l.date().optional().nullable(),failedAt:l.date().optional().nullable()}),Qle=l.object({jobId:l.string(),type:l.string(),status:U6,result:l.unknown().optional(),error:l.string().optional()}),q6=l.object({success:l.literal(!1),error:l.string().optional()}),M6=l.object({id:l.string(),type:l.enum(["job","batch"]),status:iT,message:l.string().optional(),progress:l.object({current:l.number(),total:l.number(),percentage:l.number()}).optional(),aggregationKey:l.string().optional(),batchDetails:l.object({totalOperations:l.number(),completedOperations:l.number(),failedOperations:l.number(),currentOperation:l.string().optional(),errors:l.array(l.string()).optional()}).optional(),jobDetails:l.object({jobType:l.string(),priority:l.number(),retryCount:l.number()}).optional(),metadata:Wc}),F6=oi(aE.progress,M6)});var Ce,Gt;var gn=w(()=>{Ce=class Ce extends Error{code;extendedCode;rawCode;constructor(e,t,r,o,n){if(t!==void 0)e=`${t}: ${e}`;super(e,{cause:n});this.code=t,this.extendedCode=r,this.rawCode=o,this.name="LibsqlError"}};Gt=class Gt extends Ce{statementIndex;constructor(e,t,r,o,n,i){super(e,r,o,n,i);this.statementIndex=t,this.name="LibsqlBatchError"}}});function J6(e){let t=Yle.exec(e);if(t===null)throw new Ce(`The URL '${e}' is not in a valid format`,"URL_INVALID");let r=t.groups,o=r.scheme,n=r.authority!==void 0?Xle(r.authority):void 0,i=Gs(r.path),s=r.query!==void 0?tue(r.query):void 0,a=r.fragment!==void 0?Gs(r.fragment):void 0;return{scheme:o,authority:n,path:i,query:s,fragment:a}}function Xle(e){let t=eue.exec(e);if(t===null)throw new Ce("The authority part of the URL is not in a valid format","URL_INVALID");let r=t.groups,o=Gs(r.host_br??r.host),n=r.port?parseInt(r.port,10):void 0,i=r.username!==void 0?{username:Gs(r.username),password:r.password!==void 0?Gs(r.password):void 0}:void 0;return{host:o,port:n,userinfo:i}}function tue(e){let t=e.split("&"),r=[];for(let o of t){if(o==="")continue;let n,i,s=o.indexOf("=");if(s<0)n=o,i="";else n=o.substring(0,s),i=o.substring(s+1);r.push({key:Gs(n.replaceAll("+"," ")),value:Gs(i.replaceAll("+"," "))})}return{pairs:r}}function Gs(e){try{return decodeURIComponent(e)}catch(t){if(t instanceof URIError)throw new Ce(`URL component has invalid percent encoding: ${t}`,"URL_INVALID",void 0,void 0,t);throw t}}function Kd(e,t,r){if(t===void 0)throw new Ce(`URL with scheme ${JSON.stringify(e+":")} requires authority (the "//" part)`,"URL_INVALID");let o=`${e}:`,n=rue(t.host),i=nue(t.port),a=`//${oue(t.userinfo)}${n}${i}`,c=r.split("/").map(encodeURIComponent).join("/");if(c!==""&&!c.startsWith("/"))c="/"+c;return new URL(`${o}${a}${c}`)}function rue(e){return e.includes(":")?`[${encodeURI(e)}]`:encodeURI(e)}function nue(e){return e!==void 0?`:${e}`:""}function oue(e){if(e===void 0)return"";let t=encodeURIComponent(e.username),r=e.password!==void 0?`:${encodeURIComponent(e.password)}`:"";return`${t}${r}@`}var Yle,eue;var Vg=w(()=>{gn();Yle=(()=>new RegExp("^(?<scheme>[A-Za-z][A-Za-z.+-]*):(//(?<authority>[^/?#]*))?(?<path>[^?#]*)(\\?(?<query>[^#]*))?(#(?<fragment>.*))?$","su"))();eue=(()=>new RegExp("^((?<username>[^:]*)(:(?<password>.*))?@)?((?<host>[^:\\[\\]]*)|(\\[(?<host_br>[^\\[\\]]*)\\]))(:(?<port>[0-9]*))?$","su"))()});var Qc,K6,H6,Hd,Wg,iue,Qt,V6,Q6=(e)=>e.replace(/=/g,"").replace(/[+\/]/g,(t)=>t=="+"?"-":"_"),Y6=(e)=>e.replace(/[^A-Za-z0-9\+\/]/g,""),X6=(e)=>{let t,r,o,n,i="",s=e.length%3;for(let a=0;a<e.length;){if((r=e.charCodeAt(a++))>255||(o=e.charCodeAt(a++))>255||(n=e.charCodeAt(a++))>255)throw TypeError("invalid character found");t=r<<16|o<<8|n,i+=Hd[t>>18&63]+Hd[t>>12&63]+Hd[t>>6&63]+Hd[t&63]}return s?i.slice(0,s-3)+"===".substring(s):i},cT,sT,Gg=(e,t=!1)=>t?Q6(sT(e)):sT(e),sue=(e)=>{if(e.length<2){var t=e.charCodeAt(0);return t<128?e:t<2048?Qt(192|t>>>6)+Qt(128|t&63):Qt(224|t>>>12&15)+Qt(128|t>>>6&63)+Qt(128|t&63)}else{var t=65536+(e.charCodeAt(0)-55296)*1024+(e.charCodeAt(1)-56320);return Qt(240|t>>>18&7)+Qt(128|t>>>12&63)+Qt(128|t>>>6&63)+Qt(128|t&63)}},aue,e4=(e)=>e.replace(aue,sue),W6,Gc=(e,t=!1)=>t?Q6(W6(e)):W6(e),G6=(e)=>Gc(e,!0),cue,lue=(e)=>{switch(e.length){case 4:var t=(7&e.charCodeAt(0))<<18|(63&e.charCodeAt(1))<<12|(63&e.charCodeAt(2))<<6|63&e.charCodeAt(3),r=t-65536;return Qt((r>>>10)+55296)+Qt((r&1023)+56320);case 3:return Qt((15&e.charCodeAt(0))<<12|(63&e.charCodeAt(1))<<6|63&e.charCodeAt(2));default:return Qt((31&e.charCodeAt(0))<<6|63&e.charCodeAt(1))}},t4=(e)=>e.replace(cue,lue),r4=(e)=>{if(e=e.replace(/\s+/g,""),!iue.test(e))throw TypeError("malformed base64.");e+="==".slice(2-(e.length&3));let t,r,o,n=[];for(let i=0;i<e.length;)if(t=Wg[e.charAt(i++)]<<18|Wg[e.charAt(i++)]<<12|(r=Wg[e.charAt(i++)])<<6|(o=Wg[e.charAt(i++)]),r===64)n.push(Qt(t>>16&255));else if(o===64)n.push(Qt(t>>16&255,t>>8&255));else n.push(Qt(t>>16&255,t>>8&255,t&255));return n.join("")},lT,n4,o4=(e)=>n4(i4(e)),uue,i4=(e)=>Y6(e.replace(/[-_]/g,(t)=>t=="-"?"+":"/")),aT=(e)=>uue(i4(e)),due=(e)=>{if(typeof e!=="string")return!1;let t=e.replace(/\s+/g,"").replace(/={0,2}$/,"");return!/[^\s0-9a-zA-Z\+/]/.test(t)||!/[^\s0-9a-zA-Z\-_]/.test(t)},s4=(e)=>({value:e,enumerable:!1,writable:!0,configurable:!0}),a4=function(){let e=(t,r)=>Object.defineProperty(String.prototype,t,s4(r));e("fromBase64",function(){return aT(this)}),e("toBase64",function(t){return Gc(this,t)}),e("toBase64URI",function(){return Gc(this,!0)}),e("toBase64URL",function(){return Gc(this,!0)}),e("toUint8Array",function(){return o4(this)})},c4=function(){let e=(t,r)=>Object.defineProperty(Uint8Array.prototype,t,s4(r));e("toBase64",function(t){return Gg(this,t)}),e("toBase64URI",function(){return Gg(this,!0)}),e("toBase64URL",function(){return Gg(this,!0)})},fue=()=>{a4(),c4()},Yc;var Qg=w(()=>{Qc=typeof Buffer==="function",K6=typeof TextDecoder==="function"?new TextDecoder("utf-8",{ignoreBOM:!0}):void 0,H6=typeof TextEncoder==="function"?new TextEncoder:void 0,Hd=Array.prototype.slice.call("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="),Wg=((e)=>{let t={};return e.forEach((r,o)=>t[r]=o),t})(Hd),iue=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,Qt=String.fromCharCode.bind(String),V6=typeof Uint8Array.from==="function"?Uint8Array.from.bind(Uint8Array):(e)=>new Uint8Array(Array.prototype.slice.call(e,0)),cT=typeof btoa==="function"?(e)=>btoa(e):Qc?(e)=>Buffer.from(e,"binary").toString("base64"):X6,sT=Qc?(e)=>Buffer.from(e).toString("base64"):(e)=>{let r=[];for(let o=0,n=e.length;o<n;o+=4096)r.push(Qt.apply(null,e.subarray(o,o+4096)));return cT(r.join(""))},aue=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,W6=Qc?(e)=>Buffer.from(e,"utf8").toString("base64"):H6?(e)=>sT(H6.encode(e)):(e)=>cT(e4(e)),cue=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,lT=typeof atob==="function"?(e)=>atob(Y6(e)):Qc?(e)=>Buffer.from(e,"base64").toString("binary"):r4,n4=Qc?(e)=>V6(Buffer.from(e,"base64")):(e)=>V6(lT(e).split("").map((t)=>t.charCodeAt(0))),uue=Qc?(e)=>Buffer.from(e,"base64").toString("utf8"):K6?(e)=>K6.decode(n4(e)):(e)=>t4(lT(e)),Yc={version:"3.8.0",VERSION:"3.8.0",atob:lT,atobPolyfill:r4,btoa:cT,btoaPolyfill:X6,fromBase64:aT,toBase64:Gc,encode:Gc,encodeURI:G6,encodeURL:G6,utob:e4,btou:t4,decode:aT,isValid:due,fromUint8Array:Gg,toUint8Array:o4,extendString:a4,extendUint8Array:c4,extendBuiltins:fue}});function Li(e){if(e==="write")return"BEGIN IMMEDIATE";else if(e==="read")return"BEGIN TRANSACTION READONLY";else if(e==="deferred")return"BEGIN DEFERRED";else throw RangeError('Unknown transaction mode, supported values are "write", "read" and "deferred"')}class Xc{columns;columnTypes;rows;rowsAffected;lastInsertRowid;constructor(e,t,r,o,n){this.columns=e,this.columnTypes=t,this.rows=r,this.rowsAffected=o,this.lastInsertRowid=n}toJSON(){return{columns:this.columns,columnTypes:this.columnTypes,rows:this.rows.map(pue),rowsAffected:this.rowsAffected,lastInsertRowid:this.lastInsertRowid!==void 0?""+this.lastInsertRowid:null}}}function pue(e){return Array.prototype.map.call(e,mue)}function mue(e){if(typeof e==="bigint")return""+e;else if(e instanceof ArrayBuffer)return Yc.fromUint8Array(new Uint8Array(e));else return e}var Vn="https://github.com/libsql/libsql-client-ts#supported-urls";var el=w(()=>{Qg()});function u4(e){return e.scheme==="file"&&(e.path===":memory:"||e.path.startsWith(":memory:?"))}function Vd(e,t){if(typeof e!=="object")throw TypeError(`Expected client configuration as object, got ${typeof e}`);let{url:r,authToken:o,tls:n,intMode:i,concurrency:s}=e;s=Math.max(0,s||20),i??="number";let a=[];if(r===l4)r="file::memory:";let c=J6(r),u=c.scheme.toLowerCase(),d=u==="file"&&c.path===l4&&c.authority===void 0,f;if(d)f={cache:{values:["shared","private"],update:(y,S)=>a.push(`${y}=${S}`)}};else f={tls:{values:["0","1"],update:(y,S)=>n=S==="1"},authToken:{update:(y,S)=>o=S}};for(let{key:y,value:S}of c.query?.pairs??[]){if(!Object.hasOwn(f,y))throw new Ce(`Unsupported URL query parameter ${JSON.stringify(y)}`,"URL_PARAM_NOT_SUPPORTED");let x=f[y];if(x.values!==void 0&&!x.values.includes(S))throw new Ce(`Unknown value for the "${y}" query argument: ${JSON.stringify(S)}. Supported values are: [${x.values.map((_)=>'"'+_+'"').join(", ")}]`,"URL_INVALID");if(x.update!==void 0)x?.update(y,S)}let m=a.length===0?"":`?${a.join("&")}`,h=c.path+m,b;if(u==="libsql")if(n===!1){if(c.authority?.port===void 0)throw new Ce('A "libsql:" URL with ?tls=0 must specify an explicit port',"URL_INVALID");b=t?"http":"ws"}else b=t?"https":"wss";else b=u;if(b==="http"||b==="ws")n??=!1;else n??=!0;if(b!=="http"&&b!=="ws"&&b!=="https"&&b!=="wss"&&b!=="file")throw new Ce(`The client supports only "libsql:", "wss:", "ws:", "https:", "http:" and "file:" URLs, got ${JSON.stringify(c.scheme+":")}. For more information, please read ${Vn}`,"URL_SCHEME_NOT_SUPPORTED");if(i!=="number"&&i!=="bigint"&&i!=="string")throw TypeError(`Invalid value for intMode, expected "number", "bigint" or "string", got ${JSON.stringify(i)}`);if(c.fragment!==void 0)throw new Ce(`URL fragments are not supported: ${JSON.stringify("#"+c.fragment)}`,"URL_INVALID");if(d)return{scheme:"file",tls:!1,path:h,intMode:i,concurrency:s,syncUrl:e.syncUrl,syncInterval:e.syncInterval,readYourWrites:e.readYourWrites,offline:e.offline,fetch:e.fetch,timeout:e.timeout,authToken:void 0,encryptionKey:void 0,remoteEncryptionKey:void 0,authority:void 0};return{scheme:b,tls:n,authority:c.authority,path:h,authToken:o,intMode:i,concurrency:s,encryptionKey:e.encryptionKey,remoteEncryptionKey:e.remoteEncryptionKey,syncUrl:e.syncUrl,syncInterval:e.syncInterval,readYourWrites:e.readYourWrites,offline:e.offline,fetch:e.fetch,timeout:e.timeout}}var l4=":memory:";var Wd=w(()=>{gn();Vg();el()});var f4=ge(function(Yr){var hue=Yr&&Yr.__createBinding||(Object.create?function(e,t,r,o){if(o===void 0)o=r;var n=Object.getOwnPropertyDescriptor(t,r);if(!n||("get"in n?!t.__esModule:n.writable||n.configurable))n={enumerable:!0,get:function(){return t[r]}};Object.defineProperty(e,o,n)}:function(e,t,r,o){if(o===void 0)o=r;e[o]=t[r]}),gue=Yr&&Yr.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),d4=Yr&&Yr.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null){for(var r in e)if(r!=="default"&&Object.prototype.hasOwnProperty.call(e,r))hue(t,e,r)}return gue(t,e),t};Object.defineProperty(Yr,"__esModule",{value:!0});Yr.load=Yr.currentTarget=void 0;var yue=d4(Zr("path")),bue=d4(Zr("fs"));function Sue(){let e=null;switch(process.platform){case"android":switch(process.arch){case"arm":return"android-arm-eabi";case"arm64":return"android-arm64"}e="Android";break;case"win32":switch(process.arch){case"x64":return"win32-x64-msvc";case"arm64":return"win32-arm64-msvc";case"ia32":return"win32-ia32-msvc"}e="Windows";break;case"darwin":switch(process.arch){case"x64":return"darwin-x64";case"arm64":return"darwin-arm64"}e="macOS";break;case"linux":switch(process.arch){case"x64":case"arm64":return vue()?`linux-${process.arch}-gnu`:`linux-${process.arch}-musl`;case"arm":return"linux-arm-gnueabihf"}e="Linux";break;case"freebsd":if(process.arch==="x64")return"freebsd-x64";e="FreeBSD";break}if(e)throw Error(`Neon: unsupported ${e} architecture: ${process.arch}`);throw Error(`Neon: unsupported system: ${process.platform}`)}Yr.currentTarget=Sue;function vue(){let e=process.report?.getReport();if(typeof e!=="object"||!e||!("header"in e))return!1;let t=e.header;return typeof t==="object"&&!!t&&"glibcVersionRuntime"in t}function wue(e){let t=yue.join(e,"index.node");return bue.existsSync(t)?Zr(t):null}Yr.load=wue});var h4=ge(function(qPe,m4){var p4=()=>process.platform==="linux",uT=null,xue=()=>{if(!uT)uT=p4()&&process.report?process.report.getReport():{};return uT};m4.exports={isLinux:p4,getReport:xue}});var b4=ge(function(MPe,y4){var g4=Zr("fs"),_ue=(e)=>g4.readFileSync(e,"utf-8"),Eue=(e)=>new Promise((t,r)=>{g4.readFile(e,"utf-8",(o,n)=>{if(o)r(o);else t(n)})});y4.exports={LDD_PATH:"/usr/bin/ldd",readFileSync:_ue,readFile:Eue}});var N4=ge(function(FPe,z4){var v4=Zr("child_process"),{isLinux:tl,getReport:w4}=h4(),{LDD_PATH:Yg,readFile:x4,readFileSync:_4}=b4(),Wn,Gn,Bi="",E4=()=>{if(!Bi)return new Promise((e)=>{v4.exec("getconf GNU_LIBC_VERSION 2>&1 || true; ldd --version 2>&1 || true",(t,r)=>{Bi=t?" ":r,e(Bi)})});return Bi},I4=()=>{if(!Bi)try{Bi=v4.execSync("getconf GNU_LIBC_VERSION 2>&1 || true; ldd --version 2>&1 || true",{encoding:"utf8"})}catch(e){Bi=" "}return Bi},Co="glibc",k4=/GLIBC\s(\d+\.\d+)/,Qs="musl",Iue=Co.toUpperCase(),kue=Qs.toLowerCase(),Aue=(e)=>e.includes("libc.musl-")||e.includes("ld-musl-"),A4=()=>{let e=w4();if(e.header&&e.header.glibcVersionRuntime)return Co;if(Array.isArray(e.sharedObjects)){if(e.sharedObjects.some(Aue))return Qs}return null},T4=(e)=>{let[t,r]=e.split(/[\r\n]+/);if(t&&t.includes(Co))return Co;if(r&&r.includes(Qs))return Qs;return null},$4=(e)=>{if(e.includes(kue))return Qs;if(e.includes(Iue))return Co;return null},Tue=async()=>{if(Wn!==void 0)return Wn;Wn=null;try{let e=await x4(Yg);Wn=$4(e)}catch(e){}return Wn},$ue=()=>{if(Wn!==void 0)return Wn;Wn=null;try{let e=_4(Yg);Wn=$4(e)}catch(e){}return Wn},R4=async()=>{let e=null;if(tl()){if(e=await Tue(),!e)e=A4();if(!e){let t=await E4();e=T4(t)}}return e},O4=()=>{let e=null;if(tl()){if(e=$ue(),!e)e=A4();if(!e){let t=I4();e=T4(t)}}return e},Rue=async()=>tl()&&await R4()!==Co,Oue=()=>tl()&&O4()!==Co,Cue=async()=>{if(Gn!==void 0)return Gn;Gn=null;try{let t=(await x4(Yg)).match(k4);if(t)Gn=t[1]}catch(e){}return Gn},Pue=()=>{if(Gn!==void 0)return Gn;Gn=null;try{let t=_4(Yg).match(k4);if(t)Gn=t[1]}catch(e){}return Gn},C4=()=>{let e=w4();if(e.header&&e.header.glibcVersionRuntime)return e.header.glibcVersionRuntime;return null},S4=(e)=>e.trim().split(/\s+/)[1],P4=(e)=>{let[t,r,o]=e.split(/[\r\n]+/);if(t&&t.includes(Co))return S4(t);if(r&&o&&r.includes(Qs))return S4(o);return null},zue=async()=>{let e=null;if(tl()){if(e=await Cue(),!e)e=C4();if(!e){let t=await E4();e=P4(t)}}return e},Nue=()=>{let e=null;if(tl()){if(e=Pue(),!e)e=C4();if(!e){let t=I4();e=P4(t)}}return e};z4.exports={GLIBC:Co,MUSL:Qs,family:R4,familySync:O4,isNonGlibcLinux:Rue,isNonGlibcLinuxSync:Oue,version:zue,versionSync:Nue}});var L4=ge(function(JPe,D4){var Due={ALLOW:0,DENY:1};D4.exports=Due});var j4=ge(function(KPe,B4){var dT={value:"SqliteError",writable:!0,enumerable:!1,configurable:!0};function Ys(e,t,r){if(new.target!==Ys)return new Ys(e,t);if(typeof t!=="string")throw TypeError("Expected second argument to be a string");Error.call(this,e),dT.value=""+e,Object.defineProperty(this,"message",dT),Error.captureStackTrace(this,Ys),this.code=t,this.rawCode=r}Object.setPrototypeOf(Ys,Error);Object.setPrototypeOf(Ys.prototype,Error.prototype);Object.defineProperty(Ys.prototype,"name",dT);B4.exports=Ys});var H4=ge(function(HPe,Xg){var __dirname="/home/runner/work/brains/brains/node_modules/libsql",{load:Lue,currentTarget:Bue}=f4(),{familySync:Z4,GLIBC:jue,MUSL:Zue}=N4();function Uue(){if(process.env.LIBSQL_JS_DEV)return Lue(__dirname);let e=Bue();if(Z4()==jue)switch(e){case"linux-x64-musl":e="linux-x64-gnu";break;case"linux-arm64-musl":e="linux-arm64-gnu";break}if(e==="linux-arm-gnueabihf"&&Z4()==Zue)e="linux-arm-musleabihf";return Zr(`@libsql/${e}`)}var{databaseOpen:que,databaseOpenWithSync:Mue,databaseInTransaction:Fue,databaseInterrupt:Jue,databaseClose:Kue,databaseSyncSync:Hue,databaseSyncUntilSync:Vue,databaseExecSync:Wue,databasePrepareSync:Gue,databaseDefaultSafeIntegers:Que,databaseAuthorizer:Yue,databaseLoadExtension:Xue,databaseMaxWriteReplicationIndex:ede,statementRaw:tde,statementIsReader:rde,statementGet:U4,statementRun:q4,statementInterrupt:nde,statementRowsSync:M4,statementColumns:ode,statementSafeIntegers:ide,rowsNext:sde}=Uue(),ade=L4(),F4=j4();function rl(e){if(e.libsqlError)return new F4(e.message,e.code,e.rawCode);return e}class J4{constructor(e,t){let r=t?.encryptionCipher??"aes256cbc";if(t&&t.syncUrl){var o="";if(t.syncAuth)console.warn("Warning: The `syncAuth` option is deprecated, please use `authToken` option instead."),o=t.syncAuth;else if(t.authToken)o=t.authToken;let i=t?.encryptionKey??"",s=t?.syncPeriod??0,a=t?.readYourWrites??!0,c=t?.offline??!1,u=t?.remoteEncryptionKey??"";this.db=Mue(e,t.syncUrl,o,r,i,s,a,c,u)}else{let i=t?.authToken??"",s=t?.encryptionKey??"",a=t?.timeout??0,c=t?.remoteEncryptionKey??"";this.db=que(e,i,r,s,a,c)}this.memory=e===":memory:",this.readonly=!1,this.name="",this.open=!0;let n=this.db;Object.defineProperties(this,{inTransaction:{get(){return Fue(n)}}})}sync(){return Hue.call(this.db)}syncUntil(e){return Vue.call(this.db,e)}prepare(e){try{let t=Gue.call(this.db,e);return new K4(t)}catch(t){throw rl(t)}}transaction(e){if(typeof e!=="function")throw TypeError("Expected first argument to be a function");let t=this,r=(n)=>(...i)=>{t.exec("BEGIN "+n);try{let s=e(...i);return t.exec("COMMIT"),s}catch(s){throw t.exec("ROLLBACK"),s}},o={default:{value:r("")},deferred:{value:r("DEFERRED")},immediate:{value:r("IMMEDIATE")},exclusive:{value:r("EXCLUSIVE")},database:{value:this,enumerable:!0}};return Object.defineProperties(o.default.value,o),Object.defineProperties(o.deferred.value,o),Object.defineProperties(o.immediate.value,o),Object.defineProperties(o.exclusive.value,o),o.default.value}pragma(e,t){if(t==null)t={};if(typeof e!=="string")throw TypeError("Expected first argument to be a string");if(typeof t!=="object")throw TypeError("Expected second argument to be an options object");let r=t.simple,o=this.prepare(`PRAGMA ${e}`,this,!0);return r?o.pluck().get():o.all()}backup(e,t){throw Error("not implemented")}serialize(e){throw Error("not implemented")}function(e,t,r){if(t==null)t={};if(typeof t==="function")r=t,t={};if(typeof e!=="string")throw TypeError("Expected first argument to be a string");if(typeof r!=="function")throw TypeError("Expected last argument to be a function");if(typeof t!=="object")throw TypeError("Expected second argument to be an options object");if(!e)throw TypeError("User-defined function name cannot be an empty string");throw Error("not implemented")}aggregate(e,t){if(typeof e!=="string")throw TypeError("Expected first argument to be a string");if(typeof t!=="object"||t===null)throw TypeError("Expected second argument to be an options object");if(!e)throw TypeError("User-defined function name cannot be an empty string");throw Error("not implemented")}table(e,t){if(typeof e!=="string")throw TypeError("Expected first argument to be a string");if(!e)throw TypeError("Virtual table module name cannot be an empty string");throw Error("not implemented")}authorizer(e){Yue.call(this.db,e)}loadExtension(...e){Xue.call(this.db,...e)}maxWriteReplicationIndex(){return ede.call(this.db)}exec(e){try{Wue.call(this.db,e)}catch(t){throw rl(t)}}interrupt(){Jue.call(this.db)}close(){Kue.call(this.db),this.open=!1}defaultSafeIntegers(e){return Que.call(this.db,e??!0),this}unsafeMode(...e){throw Error("not implemented")}}class K4{constructor(e){this.stmt=e,this.pluckMode=!1}raw(e){return tde.call(this.stmt,e??!0),this}pluck(e){return this.pluckMode=e??!0,this}get reader(){return rde.call(this.stmt)}run(...e){try{if(e.length==1&&typeof e[0]==="object")return q4.call(this.stmt,e[0]);else return q4.call(this.stmt,e.flat())}catch(t){throw rl(t)}}get(...e){try{if(e.length==1&&typeof e[0]==="object")return U4.call(this.stmt,e[0]);else return U4.call(this.stmt,e.flat())}catch(t){throw rl(t)}}iterate(...e){var t=void 0;if(e.length==1&&typeof e[0]==="object")t=M4.call(this.stmt,e[0]);else t=M4.call(this.stmt,e.flat());return{nextRows:Array(100),nextRowIndex:100,next(){try{if(this.nextRowIndex===100)sde.call(t,this.nextRows),this.nextRowIndex=0;let o=this.nextRows[this.nextRowIndex];if(this.nextRows[this.nextRowIndex]=void 0,!o)return{done:!0};return this.nextRowIndex++,{value:o,done:!1}}catch(o){throw rl(o)}},[Symbol.iterator](){return this}}}all(...e){try{let t=[];for(let r of this.iterate(...e))if(this.pluckMode)t.push(r[Object.keys(r)[0]]);else t.push(r);return t}catch(t){throw rl(t)}}interrupt(){nde.call(this.stmt)}columns(){return ode.call(this.stmt)}safeIntegers(e){return ide.call(this.stmt,e??!0),this}}Xg.exports=J4;Xg.exports.Authorization=ade;Xg.exports.SqliteError=F4});import{Buffer as W4}from"buffer";function G4(e){if(e.scheme!=="file")throw new Ce(`URL scheme ${JSON.stringify(e.scheme+":")} is not supported by the local sqlite3 client. For more information, please read ${Vn}`,"URL_SCHEME_NOT_SUPPORTED");let t=e.authority;if(t!==void 0){let s=t.host.toLowerCase();if(s!==""&&s!=="localhost")throw new Ce(`Invalid host in file URL: ${JSON.stringify(t.host)}. A "file:" URL with an absolute path should start with one slash ("file:/absolute/path.db") or with three slashes ("file:///absolute/path.db"). For more information, please read ${Vn}`,"URL_INVALID");if(t.port!==void 0)throw new Ce("File URL cannot have a port","URL_INVALID");if(t.userinfo!==void 0)throw new Ce("File URL cannot have username and password","URL_INVALID")}let r=u4(e);if(r&&e.syncUrl)throw new Ce(`Embedded replica must use file for local db but URI with in-memory mode were provided instead: ${e.path}`,"URL_INVALID");let o=e.path;if(r)o=`${e.scheme}:${e.path}`;let n={authToken:e.authToken,encryptionKey:e.encryptionKey,remoteEncryptionKey:e.remoteEncryptionKey,syncUrl:e.syncUrl,syncPeriod:e.syncInterval,readYourWrites:e.readYourWrites,offline:e.offline,timeout:e.timeout},i=new Gd.default(o,n);return Pt(i,"SELECT 1 AS checkThatTheDatabaseCanBeOpened",e.intMode),new Q4(o,n,i,e.intMode)}class Q4{#e;#t;#r;#n;closed;protocol;constructor(e,t,r,o){this.#e=e,this.#t=t,this.#r=r,this.#n=o,this.closed=!1,this.protocol="file"}async execute(e,t){let r;if(typeof e==="string")r={sql:e,args:t||[]};else r=e;return this.#o(),Pt(this.#i(),r,this.#n)}async batch(e,t="deferred"){this.#o();let r=this.#i();try{Pt(r,Li(t),this.#n);let o=[];for(let n=0;n<e.length;n++)try{if(!r.inTransaction)throw new Gt("The transaction has been rolled back",n,"TRANSACTION_CLOSED");let i=e[n],s=Array.isArray(i)?{sql:i[0],args:i[1]||[]}:i;o.push(Pt(r,s,this.#n))}catch(i){if(i instanceof Gt)throw i;if(i instanceof Ce)throw new Gt(i.message,n,i.code,i.extendedCode,i.rawCode,i.cause instanceof Error?i.cause:void 0);throw i}return Pt(r,"COMMIT",this.#n),o}finally{if(r.inTransaction)Pt(r,"ROLLBACK",this.#n)}}async migrate(e){this.#o();let t=this.#i();try{Pt(t,"PRAGMA foreign_keys=off",this.#n),Pt(t,Li("deferred"),this.#n);let r=[];for(let o=0;o<e.length;o++)try{if(!t.inTransaction)throw new Gt("The transaction has been rolled back",o,"TRANSACTION_CLOSED");r.push(Pt(t,e[o],this.#n))}catch(n){if(n instanceof Gt)throw n;if(n instanceof Ce)throw new Gt(n.message,o,n.code,n.extendedCode,n.rawCode,n.cause instanceof Error?n.cause:void 0);throw n}return Pt(t,"COMMIT",this.#n),r}finally{if(t.inTransaction)Pt(t,"ROLLBACK",this.#n);Pt(t,"PRAGMA foreign_keys=on",this.#n)}}async transaction(e="write"){let t=this.#i();return Pt(t,Li(e),this.#n),this.#r=null,new Y4(t,this.#n)}async executeMultiple(e){this.#o();let t=this.#i();try{return X4(t,e)}finally{if(t.inTransaction)Pt(t,"ROLLBACK",this.#n)}}async sync(){this.#o();let e=await this.#i().sync();return{frames_synced:e.frames_synced,frame_no:e.frame_no}}async reconnect(){try{if(!this.closed&&this.#r!==null)this.#r.close()}finally{this.#r=new Gd.default(this.#e,this.#t),this.closed=!1}}close(){if(this.closed=!0,this.#r!==null)this.#r.close(),this.#r=null}#o(){if(this.closed)throw new Ce("The client is closed","CLIENT_CLOSED")}#i(){if(this.#r===null)this.#r=new Gd.default(this.#e,this.#t);return this.#r}}class Y4{#e;#t;constructor(e,t){this.#e=e,this.#t=t}async execute(e,t){let r;if(typeof e==="string")r={sql:e,args:t||[]};else r=e;return this.#r(),Pt(this.#e,r,this.#t)}async batch(e){let t=[];for(let r=0;r<e.length;r++)try{this.#r();let o=e[r],n=Array.isArray(o)?{sql:o[0],args:o[1]||[]}:o;t.push(Pt(this.#e,n,this.#t))}catch(o){if(o instanceof Gt)throw o;if(o instanceof Ce)throw new Gt(o.message,r,o.code,o.extendedCode,o.rawCode,o.cause instanceof Error?o.cause:void 0);throw o}return t}async executeMultiple(e){return this.#r(),X4(this.#e,e)}async rollback(){if(!this.#e.open)return;this.#r(),Pt(this.#e,"ROLLBACK",this.#t)}async commit(){this.#r(),Pt(this.#e,"COMMIT",this.#t)}close(){if(this.#e.inTransaction)Pt(this.#e,"ROLLBACK",this.#t)}get closed(){return!this.#e.inTransaction}#r(){if(this.closed)throw new Ce("The transaction is closed","TRANSACTION_CLOSED")}}function Pt(e,t,r){let o,n;if(typeof t==="string")o=t,n=[];else if(o=t.sql,Array.isArray(t.args))n=t.args.map((i)=>V4(i,r));else{n={};for(let i in t.args){let s=i[0]==="@"||i[0]==="$"||i[0]===":"?i.substring(1):i;n[s]=V4(t.args[i],r)}}try{let i=e.prepare(o);i.safeIntegers(!0);let s=!0;try{i.raw(!0)}catch{s=!1}if(s){let a=Array.from(i.columns().map((m)=>m.name)),c=Array.from(i.columns().map((m)=>m.type??"")),u=i.all(n).map((m)=>cde(m,a,r)),d=0,f=void 0;return new Xc(a,c,u,0,void 0)}else{let a=i.run(n),c=a.changes,u=BigInt(a.lastInsertRowid);return new Xc([],[],[],c,u)}}catch(i){throw eq(i)}}function cde(e,t,r){let o={};Object.defineProperty(o,"length",{value:e.length});for(let n=0;n<e.length;++n){let i=lde(e[n],r);Object.defineProperty(o,n,{value:i});let s=t[n];if(!Object.hasOwn(o,s))Object.defineProperty(o,s,{value:i,enumerable:!0,configurable:!0,writable:!0})}return o}function lde(e,t){if(typeof e==="bigint")if(t==="number"){if(e<ude||e>dde)throw RangeError("Received integer which cannot be safely represented as a JavaScript number");return Number(e)}else if(t==="bigint")return e;else if(t==="string")return""+e;else throw Error("Invalid value for IntMode");else if(e instanceof W4)return e.buffer;return e}function V4(e,t){if(typeof e==="number"){if(!Number.isFinite(e))throw RangeError("Only finite numbers (not Infinity or NaN) can be passed as arguments");return e}else if(typeof e==="bigint"){if(e<fde||e>pde)throw RangeError("bigint is too large to be represented as a 64-bit integer and passed as argument");return e}else if(typeof e==="boolean")switch(t){case"bigint":return e?1n:0n;case"string":return e?"1":"0";default:return e?1:0}else if(e instanceof ArrayBuffer)return W4.from(e);else if(e instanceof Date)return e.valueOf();else if(e===void 0)throw TypeError("undefined cannot be passed as argument to the database");else return e}function X4(e,t){try{e.exec(t)}catch(r){throw eq(r)}}function eq(e){if(e instanceof Gd.default.SqliteError){let t=e.code,r=mde(e.rawCode);return new Ce(e.message,r,t,e.rawCode,e)}return e}function mde(e){if(e===void 0)return"SQLITE_UNKNOWN";let t=e&255;return hde[t]??`SQLITE_UNKNOWN_${t.toString()}`}var Gd,ude,dde=9007199254740991n,fde,pde=9223372036854775807n,hde;var tq=w(()=>{gn();Wd();el();Gd=Ol(H4(),1);gn();ude=-9007199254740991n;fde=-9223372036854775808n;hde={1:"SQLITE_ERROR",2:"SQLITE_INTERNAL",3:"SQLITE_PERM",4:"SQLITE_ABORT",5:"SQLITE_BUSY",6:"SQLITE_LOCKED",7:"SQLITE_NOMEM",8:"SQLITE_READONLY",9:"SQLITE_INTERRUPT",10:"SQLITE_IOERR",11:"SQLITE_CORRUPT",12:"SQLITE_NOTFOUND",13:"SQLITE_FULL",14:"SQLITE_CANTOPEN",15:"SQLITE_PROTOCOL",16:"SQLITE_EMPTY",17:"SQLITE_SCHEMA",18:"SQLITE_TOOBIG",19:"SQLITE_CONSTRAINT",20:"SQLITE_MISMATCH",21:"SQLITE_MISUSE",22:"SQLITE_NOLFS",23:"SQLITE_AUTH",24:"SQLITE_FORMAT",25:"SQLITE_RANGE",26:"SQLITE_NOTADB",27:"SQLITE_NOTICE",28:"SQLITE_WARNING"}});var ji;var fT=w(()=>{if(typeof WebSocket<"u")ji=WebSocket;else if(typeof global<"u")ji=global.WebSocket;else if(typeof window<"u")ji=window.WebSocket;else if(typeof self<"u")ji=self.WebSocket});class nl{constructor(){this.intMode="number"}intMode}var We,Pe,Qd,xt,Yd,ol,Xs,yn,or,Qn;var _t=w(()=>{We=class We extends Error{constructor(e){super(e);this.name="ClientError"}};Pe=class Pe extends We{constructor(e){super(e);this.name="ProtoError"}};Qd=class Qd extends We{code;proto;constructor(e,t){super(e);this.name="ResponseError",this.code=t.code,this.proto=t,this.stack=void 0}};xt=class xt extends We{constructor(e,t){if(t!==void 0){super(`${e}: ${t}`);this.cause=t}else super(e);this.name="ClosedError"}};Yd=class Yd extends We{constructor(e){super(e);this.name="WebSocketUnsupportedError"}};ol=class ol extends We{constructor(e){super(e);this.name="WebSocketError"}};Xs=class Xs extends We{status;constructor(e,t){super(e);this.status=t,this.name="HttpServerError"}};yn=class yn extends We{constructor(e){super(e);this.name="ProtocolVersionError"}};or=class or extends We{constructor(e){super(e);this.name="InternalError"}};Qn=class Qn extends We{constructor(e){super(e);this.name="MisuseError"}}});function Ar(e){if(typeof e==="string")return e;throw il(e,"string")}function Lr(e){if(e===null||e===void 0)return;else if(typeof e==="string")return e;throw il(e,"string or null")}function Po(e){if(typeof e==="number")return e;throw il(e,"number")}function Zi(e){if(typeof e==="boolean")return e;throw il(e,"boolean")}function Xd(e){if(Array.isArray(e))return e;throw il(e,"array")}function kt(e){if(e!==null&&typeof e==="object"&&!Array.isArray(e))return e;throw il(e,"object")}function bn(e,t){return Xd(e).map((r)=>t(kt(r)))}function il(e,t){if(e===void 0)return new Pe(`Expected ${t}, but the property was missing`);let r=typeof e;if(e===null)r="null";else if(Array.isArray(e))r="array";return new Pe(`Expected ${t}, received ${r}`)}function ea(e,t){return t(kt(e))}var sl=w(()=>{_t()});class rq{#e;#t;constructor(e){this.#e=e,this.#t=!1}begin(){this.#e.push("{"),this.#t=!0}end(){this.#e.push("}"),this.#t=!1}#r(e){if(this.#t)this.#e.push('"'),this.#t=!1;else this.#e.push(',"');this.#e.push(e),this.#e.push('":')}string(e,t){this.#r(e),this.#e.push(JSON.stringify(t))}stringRaw(e,t){this.#r(e),this.#e.push('"'),this.#e.push(t),this.#e.push('"')}number(e,t){this.#r(e),this.#e.push(""+t)}boolean(e,t){this.#r(e),this.#e.push(t?"true":"false")}object(e,t,r){this.#r(e),this.begin(),r(this,t),this.end()}arrayObjects(e,t,r){this.#r(e),this.#e.push("[");for(let o=0;o<t.length;++o){if(o!==0)this.#e.push(",");this.begin(),r(this,t[o]),this.end()}this.#e.push("]")}}function ef(e,t){let r=[],o=new rq(r);return o.begin(),t(o,e),o.end(),r.join("")}var ta=0,tf=1,rf=2,nq=5;class oq{#e;#t;#r;constructor(e){this.#e=e,this.#t=new DataView(e.buffer,e.byteOffset,e.byteLength),this.#r=0}varint(){let e=0;for(let t=0;;t+=7){let r=this.#e[this.#r++];if(e|=(r&127)<<t,!(r&128))break}return e}varintBig(){let e=0n;for(let t=0n;;t+=7n){let r=this.#e[this.#r++];if(e|=BigInt(r&127)<<t,!(r&128))break}return e}bytes(e){let t=new Uint8Array(this.#e.buffer,this.#e.byteOffset+this.#r,e);return this.#r+=e,t}double(){let e=this.#t.getFloat64(this.#r,!0);return this.#r+=8,e}skipVarint(){for(;;)if(!(this.#e[this.#r++]&128))break}skip(e){this.#r+=e}eof(){return this.#r>=this.#e.byteLength}}class iq{#e;#t;constructor(e){this.#e=e,this.#t=-1}setup(e){this.#t=e}#r(e){if(this.#t!==e)throw new Pe(`Expected wire type ${e}, got ${this.#t}`);this.#t=-1}bytes(){this.#r(rf);let e=this.#e.varint();return this.#e.bytes(e)}string(){return new TextDecoder().decode(this.bytes())}message(e){return Ui(this.bytes(),e)}int32(){return this.#r(ta),this.#e.varint()}uint32(){return this.int32()}bool(){return this.int32()!==0}uint64(){return this.#r(ta),this.#e.varintBig()}sint64(){let e=this.uint64();return e>>1n^-(e&1n)}double(){return this.#r(tf),this.#e.double()}maybeSkip(){if(this.#t<0)return;else if(this.#t===ta)this.#e.skipVarint();else if(this.#t===tf)this.#e.skip(8);else if(this.#t===rf){let e=this.#e.varint();this.#e.skip(e)}else if(this.#t===nq)this.#e.skip(4);else throw new Pe(`Unexpected wire type ${this.#t}`);this.#t=-1}}function Ui(e,t){let r=new oq(e),o=new iq(r),n=t.default();while(!r.eof()){let i=r.varint(),s=i>>3,a=i&7;o.setup(a);let c=t[s];if(c!==void 0){let u=c(o,n);if(u!==void 0)n=u}o.maybeSkip()}return n}var pT=w(()=>{_t()});class mT{#e;#t;#r;#n;constructor(){this.#e=new ArrayBuffer(256),this.#t=new Uint8Array(this.#e),this.#r=new DataView(this.#e),this.#n=0}#o(e){if(this.#n+e<=this.#e.byteLength)return;let t=this.#e.byteLength;while(t<this.#n+e)t*=2;let r=new ArrayBuffer(t),o=new Uint8Array(r),n=new DataView(r);o.set(new Uint8Array(this.#e,0,this.#n)),this.#e=r,this.#t=o,this.#r=n}#i(e){this.#o(5),e=0|e;do{let t=e&127;e>>>=7,t|=e?128:0,this.#t[this.#n++]=t}while(e)}#a(e){this.#o(10),e=e&0xffffffffffffffffn;do{let t=Number(e&0x7fn);e>>=7n,t|=e?128:0,this.#t[this.#n++]=t}while(e)}#s(e,t){this.#i(e<<3|t)}bytes(e,t){this.#s(e,rf),this.#i(t.byteLength),this.#o(t.byteLength),this.#t.set(t,this.#n),this.#n+=t.byteLength}string(e,t){this.bytes(e,new TextEncoder().encode(t))}message(e,t,r){let o=new mT;r(o,t),this.bytes(e,o.data())}int32(e,t){this.#s(e,ta),this.#i(t)}uint32(e,t){this.int32(e,t)}bool(e,t){this.int32(e,t?1:0)}sint64(e,t){this.#s(e,ta),this.#a(t<<1n^t>>63n)}double(e,t){this.#s(e,tf),this.#o(8),this.#r.setFloat64(this.#n,t,!0),this.#n+=8}data(){return new Uint8Array(this.#e,0,this.#n)}}function nf(e,t){let r=new mT;return t(r,e),r.data()}var sq=()=>{};var hT=w(()=>{sl();pT();sq()});class qi{#e;#t;constructor(){this.#e=new Set,this.#t=new Set}alloc(){for(let t of this.#t){if(this.#t.delete(t),this.#e.add(t),!this.#e.has(this.#e.size-1))this.#t.add(this.#e.size-1);return t}let e=this.#e.size;return this.#e.add(e),e}free(e){if(!this.#e.delete(e))throw new or("Freeing an id that is not allocated");if(this.#t.delete(this.#e.size),e<this.#e.size)this.#t.add(e)}}var gT=w(()=>{_t()});function Ke(e,t){throw new or(t)}var Xr=w(()=>{_t()});function al(e){if(e===null)return null;else if(typeof e==="string")return e;else if(typeof e==="number"){if(!Number.isFinite(e))throw RangeError("Only finite numbers (not Infinity or NaN) can be passed as arguments");return e}else if(typeof e==="bigint"){if(e<yde||e>bde)throw RangeError("This bigint value is too large to be represented as a 64-bit integer and passed as argument");return e}else if(typeof e==="boolean")return e?1n:0n;else if(e instanceof ArrayBuffer)return new Uint8Array(e);else if(e instanceof Uint8Array)return e;else if(e instanceof Date)return+e.valueOf();else if(typeof e==="object")return""+e.toString();else throw TypeError("Unsupported type of value")}function yT(e,t){if(e===null)return null;else if(typeof e==="number")return e;else if(typeof e==="string")return e;else if(typeof e==="bigint")if(t==="number"){let r=Number(e);if(!Number.isSafeInteger(r))throw RangeError("Received integer which is too large to be safely represented as a JavaScript number");return r}else if(t==="bigint")return e;else if(t==="string")return""+e;else throw new Qn("Invalid value for IntMode");else if(e instanceof Uint8Array)return e.slice().buffer;else if(e===void 0)throw new Pe("Received unrecognized type of Value");else throw Ke(e,"Impossible type of Value")}var yde,bde=9223372036854775807n;var bT=w(()=>{_t();Xr();yde=-9223372036854775808n});function ra(e){return{affectedRowCount:e.affectedRowCount,lastInsertRowid:e.lastInsertRowid,columnNames:e.cols.map((t)=>t.name),columnDecltypes:e.cols.map((t)=>t.decltype)}}function ty(e,t){let r=ra(e),o=e.rows.map((n)=>aq(r.columnNames,n,t));return{...r,rows:o}}function ry(e,t){let r=ra(e),o;if(e.rows.length>0)o=aq(r.columnNames,e.rows[0],t);return{...r,row:o}}function ny(e,t){let r=ra(e),o;if(e.rows.length>0&&r.columnNames.length>0)o=yT(e.rows[0][0],t);return{...r,value:o}}function aq(e,t,r){let o={};Object.defineProperty(o,"length",{value:t.length});for(let n=0;n<t.length;++n){let i=yT(t[n],r);Object.defineProperty(o,n,{value:i});let s=e[n];if(s!==void 0&&!Object.hasOwn(o,s))Object.defineProperty(o,s,{value:i,enumerable:!0,configurable:!0,writable:!0})}return o}function zo(e){return new Qd(e.message,e)}var of=w(()=>{_t();bT()});class na{#e;#t;#r;constructor(e,t){this.#e=e,this.#t=t,this.#r=void 0}_getSqlId(e){if(this.#e!==e)throw new Qn("Attempted to use SQL text opened with other object");else if(this.#r!==void 0)throw new xt("SQL text is closed",this.#r);return this.#t}close(){this._setClosed(new We("SQL text was manually closed"))}_setClosed(e){if(this.#r===void 0)this.#r=e,this.#e._closeSql(this.#t)}get closed(){return this.#r!==void 0}}function sf(e,t){if(t instanceof na)return{sqlId:t._getSqlId(e)};else return{sql:""+t}}var cl=w(()=>{_t()});class Mi{#e;#t;constructor(){this.#e=[],this.#t=[]}get length(){return this.#e.length+this.#t.length}push(e){this.#e.push(e)}shift(){if(this.#t.length===0&&this.#e.length>0)this.#t=this.#e.reverse(),this.#e=[];return this.#t.pop()}first(){return this.#t.length!==0?this.#t[this.#t.length-1]:this.#e[0]}}class af{sql;_args;_namedArgs;constructor(e){this.sql=e,this._args=[],this._namedArgs=new Map}bindIndexes(e){this._args.length=0;for(let t of e)this._args.push(al(t));return this}bindIndex(e,t){if(e!==(e|0)||e<=0)throw RangeError("Index of a positional argument must be positive integer");while(this._args.length<e)this._args.push(null);return this._args[e-1]=al(t),this}bindName(e,t){return this._namedArgs.set(e,al(t)),this}unbindAll(){return this._args.length=0,this._namedArgs.clear(),this}}function oy(e,t,r){let o,n=[],i=[];if(t instanceof af){o=t.sql,n=t._args;for(let[c,u]of t._namedArgs.entries())i.push({name:c,value:u})}else if(Array.isArray(t))if(o=t[0],Array.isArray(t[1]))n=t[1].map((c)=>al(c));else i=Object.entries(t[1]).map(([c,u])=>({name:c,value:al(u)}));else o=t;let{sql:s,sqlId:a}=sf(e,o);return{sql:s,sqlId:a,args:n,namedArgs:i,wantRows:r}}var iy=w(()=>{cl();bT()});class sy{_stream;#e;_steps;#t;constructor(e,t){this._stream=e,this.#e=t,this._steps=[],this.#t=!1}step(){return new ST(this)}execute(){if(this.#t)throw new Qn("This batch has already been executed");this.#t=!0;let e={steps:this._steps.map((t)=>t.proto)};if(this.#e)return vde(this._stream,this._steps,e);else return Sde(this._stream,this._steps,e)}}function Sde(e,t,r){return e._batch(r).then((o)=>{for(let n=0;n<t.length;++n){let i=o.stepResults.get(n),s=o.stepErrors.get(n);t[n].callback(i,s)}})}async function vde(e,t,r){let o=await e._openCursor(r);try{let n=0,i=void 0,s=[];for(;;){let a=await o.next();if(a===void 0)break;if(a.type==="step_begin"){if(a.step<n||a.step>=t.length)throw new Pe("Server produced StepBeginEntry for unexpected step");else if(i!==void 0)throw new Pe("Server produced StepBeginEntry before terminating previous step");for(let c=n;c<a.step;++c)t[c].callback(void 0,void 0);n=a.step+1,i=a,s=[]}else if(a.type==="step_end"){if(i===void 0)throw new Pe("Server produced StepEndEntry but no step is active");let c={cols:i.cols,rows:s,affectedRowCount:a.affectedRowCount,lastInsertRowid:a.lastInsertRowid};t[i.step].callback(c,void 0),i=void 0,s=[]}else if(a.type==="step_error"){if(i===void 0){if(a.step>=t.length)throw new Pe("Server produced StepErrorEntry for unexpected step");for(let c=n;c<a.step;++c)t[c].callback(void 0,void 0)}else{if(a.step!==i.step)throw new Pe("Server produced StepErrorEntry for unexpected step");i=void 0,s=[]}t[a.step].callback(void 0,a.error),n=a.step+1}else if(a.type==="row"){if(i===void 0)throw new Pe("Server produced RowEntry but no step is active");s.push(a.row)}else if(a.type==="error")throw zo(a.error);else if(a.type==="none")throw new Pe("Server produced unrecognized CursorEntry");else throw Ke(a,"Impossible CursorEntry")}if(i!==void 0)throw new Pe("Server closed Cursor before terminating active step");for(let a=n;a<t.length;++a)t[a].callback(void 0,void 0)}finally{o.close()}}class ST{_batch;#e;_index;constructor(e){this._batch=e,this.#e=[],this._index=void 0}condition(e){return this.#e.push(e._proto),this}query(e){return this.#t(e,!0,ty)}queryRow(e){return this.#t(e,!0,ry)}queryValue(e){return this.#t(e,!0,ny)}run(e){return this.#t(e,!1,ra)}#t(e,t,r){if(this._index!==void 0)throw new Qn("This BatchStep has already been added to the batch");let o=oy(this._batch._stream._sqlOwner(),e,t),n;if(this.#e.length===0)n=void 0;else if(this.#e.length===1)n=this.#e[0];else n={type:"and",conds:this.#e.slice()};let i={stmt:o,condition:n};return new Promise((s,a)=>{let c=(u,d)=>{if(u!==void 0&&d!==void 0)a(new Pe("Server returned both result and error"));else if(d!==void 0)a(zo(d));else if(u!==void 0)s(r(u,this._batch._stream.intMode));else s(void 0)};this._index=this._batch._steps.length,this._batch._steps.push({proto:i,callback:c})})}}class dt{_batch;_proto;constructor(e,t){this._batch=e,this._proto=t}static ok(e){return new dt(e._batch,{type:"ok",step:cq(e)})}static error(e){return new dt(e._batch,{type:"error",step:cq(e)})}static not(e){return new dt(e._batch,{type:"not",cond:e._proto})}static and(e,t){for(let r of t)lq(e,r);return new dt(e,{type:"and",conds:t.map((r)=>r._proto)})}static or(e,t){for(let r of t)lq(e,r);return new dt(e,{type:"or",conds:t.map((r)=>r._proto)})}static isAutocommit(e){return e._stream.client()._ensureVersion(3,"BatchCond.isAutocommit()"),new dt(e,{type:"is_autocommit"})}}function cq(e){if(e._index===void 0)throw new Qn("Cannot add a condition referencing a step that has not been added to the batch");return e._index}function lq(e,t){if(t._batch!==e)throw new Qn("Cannot mix BatchCond objects for different Batch objects")}var vT=w(()=>{_t();of();iy();Xr()});function uq(e){return{paramNames:e.params.map((t)=>t.name),columns:e.cols,isExplain:e.isExplain,isReadonly:e.isReadonly}}class ll{constructor(e){this.intMode=e}query(e){return this.#e(e,!0,ty)}queryRow(e){return this.#e(e,!0,ry)}queryValue(e){return this.#e(e,!0,ny)}run(e){return this.#e(e,!1,ra)}#e(e,t,r){let o=oy(this._sqlOwner(),e,t);return this._execute(o).then((n)=>r(n,this.intMode))}batch(e=!1){return new sy(this,e)}describe(e){let t=sf(this._sqlOwner(),e);return this._describe(t).then(uq)}sequence(e){let t=sf(this._sqlOwner(),e);return this._sequence(t)}intMode}var ay=w(()=>{vT();of();cl();iy()});class cf{}var wde=1000,xde=10,wT;var dq=w(()=>{_t();wT=class wT extends cf{#e;#t;#r;#n;#o;#i;#a;constructor(e,t,r){super();this.#e=e,this.#t=t,this.#r=r,this.#n=new Mi,this.#o=new Mi,this.#i=void 0,this.#a=!1}async next(){for(;;){if(this.#i!==void 0)throw new xt("Cursor is closed",this.#i);while(!this.#a&&this.#o.length<xde)this.#o.push(this.#s());let e=this.#n.shift();if(this.#a||e!==void 0)return e;await this.#o.shift().then((t)=>{if(t===void 0)return;for(let r of t.entries)this.#n.push(r);this.#a||=t.done})}}#s(){return this.#t._sendCursorRequest(this,{type:"fetch_cursor",cursorId:this.#r,maxCount:wde}).then((e)=>e,(e)=>{this._setClosed(e);return})}_setClosed(e){if(this.#i!==void 0)return;this.#i=e,this.#t._sendCursorRequest(this,{type:"close_cursor",cursorId:this.#r}).catch(()=>{return}),this.#t._cursorClosed(this)}close(){this._setClosed(new We("Cursor was manually closed"))}get closed(){return this.#i!==void 0}}});var lf;var xT=w(()=>{_t();ay();dq();lf=class lf extends ll{#e;#t;#r;#n;#o;#i;static open(e){let t=e._streamIdAlloc.alloc(),r=new lf(e,t),o=()=>{return},n=(s)=>r.#l(s),i={type:"open_stream",streamId:t};return e._sendRequest(i,{responseCallback:o,errorCallback:n}),r}constructor(e,t){super(e.intMode);this.#e=e,this.#t=t,this.#r=new Mi,this.#n=void 0,this.#o=!1,this.#i=void 0}client(){return this.#e}_sqlOwner(){return this.#e}_execute(e){return this.#a({type:"execute",streamId:this.#t,stmt:e}).then((t)=>t.result)}_batch(e){return this.#a({type:"batch",streamId:this.#t,batch:e}).then((t)=>t.result)}_describe(e){return this.#e._ensureVersion(2,"describe()"),this.#a({type:"describe",streamId:this.#t,sql:e.sql,sqlId:e.sqlId}).then((t)=>t.result)}_sequence(e){return this.#e._ensureVersion(2,"sequence()"),this.#a({type:"sequence",streamId:this.#t,sql:e.sql,sqlId:e.sqlId}).then((t)=>{return})}getAutocommit(){return this.#e._ensureVersion(3,"getAutocommit()"),this.#a({type:"get_autocommit",streamId:this.#t}).then((e)=>e.isAutocommit)}#a(e){return new Promise((t,r)=>{this.#s({type:"request",request:e,responseCallback:t,errorCallback:r})})}_openCursor(e){return this.#e._ensureVersion(3,"cursor"),new Promise((t,r)=>{this.#s({type:"cursor",batch:e,cursorCallback:t,errorCallback:r})})}_sendCursorRequest(e,t){if(e!==this.#n)throw new or("Cursor not associated with the stream attempted to execute a request");return new Promise((r,o)=>{if(this.#i!==void 0)o(new xt("Stream is closed",this.#i));else this.#e._sendRequest(t,{responseCallback:r,errorCallback:o})})}_cursorClosed(e){if(e!==this.#n)throw new or("Cursor was closed, but it was not associated with the stream");this.#n=void 0,this.#c()}#s(e){if(this.#i!==void 0)e.errorCallback(new xt("Stream is closed",this.#i));else if(this.#o)e.errorCallback(new xt("Stream is closing",void 0));else this.#r.push(e),this.#c()}#c(){for(;;){let e=this.#r.first();if(e===void 0&&this.#n===void 0&&this.#o){this.#l(new We("Stream was gracefully closed"));break}else if(e?.type==="request"&&this.#n===void 0){let{request:t,responseCallback:r,errorCallback:o}=e;this.#r.shift(),this.#e._sendRequest(t,{responseCallback:r,errorCallback:o})}else if(e?.type==="cursor"&&this.#n===void 0){let{batch:t,cursorCallback:r}=e;this.#r.shift();let o=this.#e._cursorIdAlloc.alloc(),n=new wT(this.#e,this,o),i={type:"open_cursor",streamId:this.#t,cursorId:o,batch:t},s=()=>{return},a=(c)=>n._setClosed(c);this.#e._sendRequest(i,{responseCallback:s,errorCallback:a}),this.#n=n,r(n)}else break}}#l(e){if(this.#i!==void 0)return;if(this.#i=e,this.#n!==void 0)this.#n._setClosed(e);for(;;){let n=this.#r.shift();if(n!==void 0)n.errorCallback(e);else break}let t={type:"close_stream",streamId:this.#t},r=()=>this.#e._streamIdAlloc.free(this.#t),o=()=>{return};this.#e._sendRequest(t,{responseCallback:r,errorCallback:o})}close(){this.#l(new We("Stream was manually closed"))}closeGracefully(){this.#o=!0,this.#c()}get closed(){return this.#i!==void 0||this.#o}}});function uf(e,t){if(t.sql!==void 0)e.string("sql",t.sql);if(t.sqlId!==void 0)e.number("sql_id",t.sqlId);e.arrayObjects("args",t.args,fq),e.arrayObjects("named_args",t.namedArgs,_de),e.boolean("want_rows",t.wantRows)}function _de(e,t){e.string("name",t.name),e.object("value",t.value,fq)}function ul(e,t){e.arrayObjects("steps",t.steps,Ede)}function Ede(e,t){if(t.condition!==void 0)e.object("condition",t.condition,_T);e.object("stmt",t.stmt,uf)}function _T(e,t){if(e.stringRaw("type",t.type),t.type==="ok"||t.type==="error")e.number("step",t.step);else if(t.type==="not")e.object("cond",t.cond,_T);else if(t.type==="and"||t.type==="or")e.arrayObjects("conds",t.conds,_T);else if(t.type==="is_autocommit");else throw Ke(t,"Impossible type of BatchCond")}function fq(e,t){if(t===null)e.stringRaw("type","null");else if(typeof t==="bigint")e.stringRaw("type","integer"),e.stringRaw("value",""+t);else if(typeof t==="number")e.stringRaw("type","float"),e.number("value",t);else if(typeof t==="string")e.stringRaw("type","text"),e.string("value",t);else if(t instanceof Uint8Array)e.stringRaw("type","blob"),e.stringRaw("base64",Yc.fromUint8Array(t));else if(t===void 0);else throw Ke(t,"Impossible type of Value")}var ET=w(()=>{Qg();Xr()});function pq(e,t){if(e.stringRaw("type",t.type),t.type==="hello"){if(t.jwt!==void 0)e.string("jwt",t.jwt)}else if(t.type==="request")e.number("request_id",t.requestId),e.object("request",t.request,Ide);else throw Ke(t,"Impossible type of ClientMsg")}function Ide(e,t){if(e.stringRaw("type",t.type),t.type==="open_stream")e.number("stream_id",t.streamId);else if(t.type==="close_stream")e.number("stream_id",t.streamId);else if(t.type==="execute")e.number("stream_id",t.streamId),e.object("stmt",t.stmt,uf);else if(t.type==="batch")e.number("stream_id",t.streamId),e.object("batch",t.batch,ul);else if(t.type==="open_cursor")e.number("stream_id",t.streamId),e.number("cursor_id",t.cursorId),e.object("batch",t.batch,ul);else if(t.type==="close_cursor")e.number("cursor_id",t.cursorId);else if(t.type==="fetch_cursor")e.number("cursor_id",t.cursorId),e.number("max_count",t.maxCount);else if(t.type==="sequence"){if(e.number("stream_id",t.streamId),t.sql!==void 0)e.string("sql",t.sql);if(t.sqlId!==void 0)e.number("sql_id",t.sqlId)}else if(t.type==="describe"){if(e.number("stream_id",t.streamId),t.sql!==void 0)e.string("sql",t.sql);if(t.sqlId!==void 0)e.number("sql_id",t.sqlId)}else if(t.type==="store_sql")e.number("sql_id",t.sqlId),e.string("sql",t.sql);else if(t.type==="close_sql")e.number("sql_id",t.sqlId);else if(t.type==="get_autocommit")e.number("stream_id",t.streamId);else throw Ke(t,"Impossible type of Request")}var mq=w(()=>{ET();Xr()});function df(e,t){if(t.sql!==void 0)e.string(1,t.sql);if(t.sqlId!==void 0)e.int32(2,t.sqlId);for(let r of t.args)e.message(3,r,gq);for(let r of t.namedArgs)e.message(4,r,kde);e.bool(5,t.wantRows)}function kde(e,t){e.string(1,t.name),e.message(2,t.value,gq)}function dl(e,t){for(let r of t.steps)e.message(1,r,Ade)}function Ade(e,t){if(t.condition!==void 0)e.message(1,t.condition,IT);e.message(2,t.stmt,df)}function IT(e,t){if(t.type==="ok")e.uint32(1,t.step);else if(t.type==="error")e.uint32(2,t.step);else if(t.type==="not")e.message(3,t.cond,IT);else if(t.type==="and")e.message(4,t.conds,hq);else if(t.type==="or")e.message(5,t.conds,hq);else if(t.type==="is_autocommit")e.message(6,void 0,yq);else throw Ke(t,"Impossible type of BatchCond")}function hq(e,t){for(let r of t)e.message(1,r,IT)}function gq(e,t){if(t===null)e.message(1,void 0,yq);else if(typeof t==="bigint")e.sint64(2,t);else if(typeof t==="number")e.double(3,t);else if(typeof t==="string")e.string(4,t);else if(t instanceof Uint8Array)e.bytes(5,t);else if(t===void 0);else throw Ke(t,"Impossible type of Value")}function yq(e,t){}var kT=w(()=>{Xr()});function bq(e,t){if(t.type==="hello")e.message(1,t,Tde);else if(t.type==="request")e.message(2,t,$de);else throw Ke(t,"Impossible type of ClientMsg")}function Tde(e,t){if(t.jwt!==void 0)e.string(1,t.jwt)}function $de(e,t){e.int32(1,t.requestId);let r=t.request;if(r.type==="open_stream")e.message(2,r,Rde);else if(r.type==="close_stream")e.message(3,r,Ode);else if(r.type==="execute")e.message(4,r,Cde);else if(r.type==="batch")e.message(5,r,Pde);else if(r.type==="open_cursor")e.message(6,r,zde);else if(r.type==="close_cursor")e.message(7,r,Nde);else if(r.type==="fetch_cursor")e.message(8,r,Dde);else if(r.type==="sequence")e.message(9,r,Lde);else if(r.type==="describe")e.message(10,r,Bde);else if(r.type==="store_sql")e.message(11,r,jde);else if(r.type==="close_sql")e.message(12,r,Zde);else if(r.type==="get_autocommit")e.message(13,r,Ude);else throw Ke(r,"Impossible type of Request")}function Rde(e,t){e.int32(1,t.streamId)}function Ode(e,t){e.int32(1,t.streamId)}function Cde(e,t){e.int32(1,t.streamId),e.message(2,t.stmt,df)}function Pde(e,t){e.int32(1,t.streamId),e.message(2,t.batch,dl)}function zde(e,t){e.int32(1,t.streamId),e.int32(2,t.cursorId),e.message(3,t.batch,dl)}function Nde(e,t){e.int32(1,t.cursorId)}function Dde(e,t){e.int32(1,t.cursorId),e.uint32(2,t.maxCount)}function Lde(e,t){if(e.int32(1,t.streamId),t.sql!==void 0)e.string(2,t.sql);if(t.sqlId!==void 0)e.int32(3,t.sqlId)}function Bde(e,t){if(e.int32(1,t.streamId),t.sql!==void 0)e.string(2,t.sql);if(t.sqlId!==void 0)e.int32(3,t.sqlId)}function jde(e,t){e.int32(1,t.sqlId),e.string(2,t.sql)}function Zde(e,t){e.int32(1,t.sqlId)}function Ude(e,t){e.int32(1,t.streamId)}var Sq=w(()=>{kT();Xr()});function Fi(e){let t=Ar(e.message),r=Lr(e.code);return{message:t,code:r}}function ff(e){let t=bn(e.cols,vq),r=Xd(e.rows).map((s)=>bn(s,wq)),o=Po(e.affected_row_count),n=Lr(e.last_insert_rowid),i=n!==void 0?BigInt(n):void 0;return{cols:t,rows:r,affectedRowCount:o,lastInsertRowid:i}}function vq(e){let t=Lr(e.name),r=Lr(e.decltype);return{name:t,decltype:r}}function cy(e){let t=new Map;Xd(e.step_results).forEach((o,n)=>{if(o!==null)t.set(n,ff(kt(o)))});let r=new Map;return Xd(e.step_errors).forEach((o,n)=>{if(o!==null)r.set(n,Fi(kt(o)))}),{stepResults:t,stepErrors:r}}function ly(e){let t=Ar(e.type);if(t==="step_begin"){let r=Po(e.step),o=bn(e.cols,vq);return{type:"step_begin",step:r,cols:o}}else if(t==="step_end"){let r=Po(e.affected_row_count),o=Lr(e.last_insert_rowid),n=o!==void 0?BigInt(o):void 0;return{type:"step_end",affectedRowCount:r,lastInsertRowid:n}}else if(t==="step_error"){let r=Po(e.step),o=Fi(kt(e.error));return{type:"step_error",step:r,error:o}}else if(t==="row")return{type:"row",row:bn(e.row,wq)};else if(t==="error")return{type:"error",error:Fi(kt(e.error))};else throw new Pe("Unexpected type of CursorEntry")}function uy(e){let t=bn(e.params,qde),r=bn(e.cols,Mde),o=Zi(e.is_explain),n=Zi(e.is_readonly);return{params:t,cols:r,isExplain:o,isReadonly:n}}function qde(e){return{name:Lr(e.name)}}function Mde(e){let t=Ar(e.name),r=Lr(e.decltype);return{name:t,decltype:r}}function wq(e){let t=Ar(e.type);if(t==="null")return null;else if(t==="integer"){let r=Ar(e.value);return BigInt(r)}else if(t==="float")return Po(e.value);else if(t==="text")return Ar(e.value);else if(t==="blob")return Yc.toUint8Array(Ar(e.base64));else throw new Pe("Unexpected type of Value")}var dy=w(()=>{Qg();_t();sl()});function xq(e){let t=Ar(e.type);if(t==="hello_ok")return{type:"hello_ok"};else if(t==="hello_error")return{type:"hello_error",error:Fi(kt(e.error))};else if(t==="response_ok"){let r=Po(e.request_id),o=Fde(kt(e.response));return{type:"response_ok",requestId:r,response:o}}else if(t==="response_error"){let r=Po(e.request_id),o=Fi(kt(e.error));return{type:"response_error",requestId:r,error:o}}else throw new Pe("Unexpected type of ServerMsg")}function Fde(e){let t=Ar(e.type);if(t==="open_stream")return{type:"open_stream"};else if(t==="close_stream")return{type:"close_stream"};else if(t==="execute")return{type:"execute",result:ff(kt(e.result))};else if(t==="batch")return{type:"batch",result:cy(kt(e.result))};else if(t==="open_cursor")return{type:"open_cursor"};else if(t==="close_cursor")return{type:"close_cursor"};else if(t==="fetch_cursor"){let r=bn(e.entries,ly),o=Zi(e.done);return{type:"fetch_cursor",entries:r,done:o}}else if(t==="sequence")return{type:"sequence"};else if(t==="describe")return{type:"describe",result:uy(kt(e.result))};else if(t==="store_sql")return{type:"store_sql"};else if(t==="close_sql")return{type:"close_sql"};else if(t==="get_autocommit")return{type:"get_autocommit",isAutocommit:Zi(e.is_autocommit)};else throw new Pe("Unexpected type of Response")}var _q=w(()=>{_t();sl();dy()});var en,Ji,Eq,Iq,fl,Jde,Kde,fy,Hde,Vde,Wde,pl,Gde,Qde,Yde;var py=w(()=>{en={default(){return{message:"",code:void 0}},1(e,t){t.message=e.string()},2(e,t){t.code=e.string()}},Ji={default(){return{cols:[],rows:[],affectedRowCount:0,lastInsertRowid:void 0}},1(e,t){t.cols.push(e.message(Eq))},2(e,t){t.rows.push(e.message(Iq))},3(e,t){t.affectedRowCount=Number(e.uint64())},4(e,t){t.lastInsertRowid=e.sint64()}},Eq={default(){return{name:void 0,decltype:void 0}},1(e,t){t.name=e.string()},2(e,t){t.decltype=e.string()}},Iq={default(){return[]},1(e,t){t.push(e.message(Yde))}},fl={default(){return{stepResults:new Map,stepErrors:new Map}},1(e,t){let[r,o]=e.message(Jde);t.stepResults.set(r,o)},2(e,t){let[r,o]=e.message(Kde);t.stepErrors.set(r,o)}},Jde={default(){return[0,Ji.default()]},1(e,t){t[0]=e.uint32()},2(e,t){t[1]=e.message(Ji)}},Kde={default(){return[0,en.default()]},1(e,t){t[0]=e.uint32()},2(e,t){t[1]=e.message(en)}},fy={default(){return{type:"none"}},1(e){return e.message(Hde)},2(e){return e.message(Vde)},3(e){return e.message(Wde)},4(e){return{type:"row",row:e.message(Iq)}},5(e){return{type:"error",error:e.message(en)}}},Hde={default(){return{type:"step_begin",step:0,cols:[]}},1(e,t){t.step=e.uint32()},2(e,t){t.cols.push(e.message(Eq))}},Vde={default(){return{type:"step_end",affectedRowCount:0,lastInsertRowid:void 0}},1(e,t){t.affectedRowCount=e.uint32()},2(e,t){t.lastInsertRowid=e.uint64()}},Wde={default(){return{type:"step_error",step:0,error:en.default()}},1(e,t){t.step=e.uint32()},2(e,t){t.error=e.message(en)}},pl={default(){return{params:[],cols:[],isExplain:!1,isReadonly:!1}},1(e,t){t.params.push(e.message(Gde))},2(e,t){t.cols.push(e.message(Qde))},3(e,t){t.isExplain=e.bool()},4(e,t){t.isReadonly=e.bool()}},Gde={default(){return{name:void 0}},1(e,t){t.name=e.string()}},Qde={default(){return{name:"",decltype:void 0}},1(e,t){t.name=e.string()},2(e,t){t.decltype=e.string()}},Yde={default(){return},1(e){return null},2(e){return e.sint64()},3(e){return e.double()},4(e){return e.string()},5(e){return e.bytes()}}});var kq,Xde,efe,tfe,rfe,nfe,ofe,ife,sfe;var Aq=w(()=>{py();kq={default(){return{type:"none"}},1(e){return{type:"hello_ok"}},2(e){return e.message(Xde)},3(e){return e.message(tfe)},4(e){return e.message(efe)}},Xde={default(){return{type:"hello_error",error:en.default()}},1(e,t){t.error=e.message(en)}},efe={default(){return{type:"response_error",requestId:0,error:en.default()}},1(e,t){t.requestId=e.int32()},2(e,t){t.error=e.message(en)}},tfe={default(){return{type:"response_ok",requestId:0,response:{type:"none"}}},1(e,t){t.requestId=e.int32()},2(e,t){t.response={type:"open_stream"}},3(e,t){t.response={type:"close_stream"}},4(e,t){t.response=e.message(rfe)},5(e,t){t.response=e.message(nfe)},6(e,t){t.response={type:"open_cursor"}},7(e,t){t.response={type:"close_cursor"}},8(e,t){t.response=e.message(ofe)},9(e,t){t.response={type:"sequence"}},10(e,t){t.response=e.message(ife)},11(e,t){t.response={type:"store_sql"}},12(e,t){t.response={type:"close_sql"}},13(e,t){t.response=e.message(sfe)}},rfe={default(){return{type:"execute",result:Ji.default()}},1(e,t){t.result=e.message(Ji)}},nfe={default(){return{type:"batch",result:fl.default()}},1(e,t){t.result=e.message(fl)}},ofe={default(){return{type:"fetch_cursor",entries:[],done:!1}},1(e,t){t.entries.push(e.message(fy))},2(e,t){t.done=e.bool()}},ife={default(){return{type:"describe",result:pl.default()}},1(e,t){t.result=e.message(pl)}},sfe={default(){return{type:"get_autocommit",isAutocommit:!1}},1(e,t){t.isAutocommit=e.bool()}}});var Tq,AT,my;var hy=w(()=>{hT();_t();gT();of();cl();Xr();xT();mq();Sq();_q();Aq();Tq=new Map([["hrana2",{version:2,encoding:"json"}],["hrana1",{version:1,encoding:"json"}]]),AT=new Map([["hrana3-protobuf",{version:3,encoding:"protobuf"}],["hrana3",{version:3,encoding:"json"}],["hrana2",{version:2,encoding:"json"}],["hrana1",{version:1,encoding:"json"}]]);my=class my extends nl{#e;#t;#r;#n;#o;#i;#a;#s;#c;_streamIdAlloc;_cursorIdAlloc;#l;constructor(e,t){super();this.#e=e,this.#t=[],this.#r=!1,this.#n=void 0,this.#o=!1,this.#i=void 0,this.#a=!1,this.#s=new Map,this.#c=new qi,this._streamIdAlloc=new qi,this._cursorIdAlloc=new qi,this.#l=new qi,this.#e.binaryType="arraybuffer",this.#e.addEventListener("open",()=>this.#f()),this.#e.addEventListener("close",(r)=>this.#g(r)),this.#e.addEventListener("error",(r)=>this.#p(r)),this.#e.addEventListener("message",(r)=>this.#y(r)),this.#d({type:"hello",jwt:t})}#d(e){if(this.#n!==void 0)throw new or("Trying to send a message on a closed client");if(this.#r)this.#m(e);else{let t=()=>this.#m(e),r=()=>{return};this.#t.push({openCallback:t,errorCallback:r})}}#f(){let e=this.#e.protocol;if(e===void 0){this.#u(new We("The `WebSocket.protocol` property is undefined. This most likely means that the WebSocket implementation provided by the environment is broken. If you are using Miniflare 2, please update to Miniflare 3, which fixes this problem."));return}else if(e==="")this.#i={version:1,encoding:"json"};else if(this.#i=AT.get(e),this.#i===void 0){this.#u(new Pe(`Unrecognized WebSocket subprotocol: ${JSON.stringify(e)}`));return}for(let t of this.#t)t.openCallback();this.#t.length=0,this.#r=!0}#m(e){let t=this.#i.encoding;if(t==="json"){let r=ef(e,pq);this.#e.send(r)}else if(t==="protobuf"){let r=nf(e,bq);this.#e.send(r)}else throw Ke(t,"Impossible encoding")}getVersion(){return new Promise((e,t)=>{if(this.#a=!0,this.#n!==void 0)t(this.#n);else if(!this.#r){let r=()=>e(this.#i.version);this.#t.push({openCallback:r,errorCallback:t})}else e(this.#i.version)})}_ensureVersion(e,t){if(this.#i===void 0||!this.#a)throw new yn(`${t} is supported only on protocol version ${e} and higher, but the version supported by the WebSocket server is not yet known. Use Client.getVersion() to wait until the version is available.`);else if(this.#i.version<e)throw new yn(`${t} is supported on protocol version ${e} and higher, but the WebSocket server only supports version ${this.#i.version}`)}_sendRequest(e,t){if(this.#n!==void 0){t.errorCallback(new xt("Client is closed",this.#n));return}let r=this.#c.alloc();this.#s.set(r,{...t,type:e.type}),this.#d({type:"request",requestId:r,request:e})}#p(e){let r=e.message??"WebSocket was closed due to an error";this.#u(new ol(r))}#g(e){let t=`WebSocket was closed with code ${e.code}`;if(e.reason)t+=`: ${e.reason}`;this.#u(new ol(t))}#u(e){if(this.#n!==void 0)return;this.#n=e;for(let t of this.#t)t.errorCallback(e);this.#t.length=0;for(let[t,r]of this.#s.entries())r.errorCallback(e),this.#c.free(t);this.#s.clear(),this.#e.close()}#y(e){if(this.#n!==void 0)return;try{let t,r=this.#i.encoding;if(r==="json"){if(typeof e.data!=="string"){this.#e.close(3003,"Only text messages are accepted with JSON encoding"),this.#u(new Pe("Received non-text message from server with JSON encoding"));return}t=ea(JSON.parse(e.data),xq)}else if(r==="protobuf"){if(!(e.data instanceof ArrayBuffer)){this.#e.close(3003,"Only binary messages are accepted with Protobuf encoding"),this.#u(new Pe("Received non-binary message from server with Protobuf encoding"));return}t=Ui(new Uint8Array(e.data),kq)}else throw Ke(r,"Impossible encoding");this.#b(t)}catch(t){this.#e.close(3007,"Could not handle message"),this.#u(t)}}#b(e){if(e.type==="none")throw new Pe("Received an unrecognized ServerMsg");else if(e.type==="hello_ok"||e.type==="hello_error"){if(this.#o)throw new Pe("Received a duplicated hello response");if(this.#o=!0,e.type==="hello_error")throw zo(e.error);return}else if(!this.#o)throw new Pe("Received a non-hello message before a hello response");if(e.type==="response_ok"){let t=e.requestId,r=this.#s.get(t);if(this.#s.delete(t),r===void 0)throw new Pe("Received unexpected OK response");this.#c.free(t);try{if(r.type!==e.response.type)throw console.dir({responseState:r,msg:e}),new Pe("Received unexpected type of response");r.responseCallback(e.response)}catch(o){throw r.errorCallback(o),o}}else if(e.type==="response_error"){let t=e.requestId,r=this.#s.get(t);if(this.#s.delete(t),r===void 0)throw new Pe("Received unexpected error response");this.#c.free(t),r.errorCallback(zo(e.error))}else throw Ke(e,"Impossible ServerMsg type")}openStream(){return lf.open(this)}storeSql(e){this._ensureVersion(2,"storeSql()");let t=this.#l.alloc(),r=new na(this,t),o=()=>{return},n=(s)=>r._setClosed(s),i={type:"store_sql",sqlId:t,sql:e};return this._sendRequest(i,{responseCallback:o,errorCallback:n}),r}_closeSql(e){if(this.#n!==void 0)return;let t=()=>this.#l.free(e),r=(n)=>this.#u(n),o={type:"close_sql",sqlId:e};this._sendRequest(o,{responseCallback:t,errorCallback:r})}close(){this.#u(new We("Client was manually closed"))}get closed(){return this.#n!==void 0}}});var oa;var $q=w(()=>{if(typeof queueMicrotask<"u")oa=queueMicrotask;else{let e=Promise.resolve();oa=(t)=>{e.then(t)}}});class TT{#e;#t;#r;constructor(e){this.#e=new Uint8Array(new ArrayBuffer(e)),this.#t=0,this.#r=0}get length(){return this.#r-this.#t}data(){return this.#e.slice(this.#t,this.#r)}push(e){this.#n(e.byteLength),this.#e.set(e,this.#r),this.#r+=e.byteLength}#n(e){if(this.#r+e<=this.#e.byteLength)return;let t=this.#r-this.#t;if(t+e<=this.#e.byteLength&&2*this.#r>=this.#e.byteLength)this.#e.copyWithin(0,this.#t,this.#r);else{let r=this.#e.byteLength;do r*=2;while(t+e>r);let o=new Uint8Array(new ArrayBuffer(r));o.set(this.#e.slice(this.#t,this.#r),0),this.#e=o}this.#r=t,this.#t=0}shift(e){this.#t+=e}}function Rq(e){let t=Lr(e.baton),r=Lr(e.base_url),o=bn(e.results,afe);return{baton:t,baseUrl:r,results:o}}function afe(e){let t=Ar(e.type);if(t==="ok")return{type:"ok",response:cfe(kt(e.response))};else if(t==="error")return{type:"error",error:Fi(kt(e.error))};else throw new Pe("Unexpected type of StreamResult")}function cfe(e){let t=Ar(e.type);if(t==="close")return{type:"close"};else if(t==="execute")return{type:"execute",result:ff(kt(e.result))};else if(t==="batch")return{type:"batch",result:cy(kt(e.result))};else if(t==="sequence")return{type:"sequence"};else if(t==="describe")return{type:"describe",result:uy(kt(e.result))};else if(t==="store_sql")return{type:"store_sql"};else if(t==="close_sql")return{type:"close_sql"};else if(t==="get_autocommit")return{type:"get_autocommit",isAutocommit:Zi(e.is_autocommit)};else throw new Pe("Unexpected type of StreamResponse")}function Oq(e){let t=Lr(e.baton),r=Lr(e.base_url);return{baton:t,baseUrl:r}}var $T=w(()=>{_t();sl();dy()});var Cq,lfe,ufe,dfe,ffe,pfe,mfe,Pq;var RT=w(()=>{py();Cq={default(){return{baton:void 0,baseUrl:void 0,results:[]}},1(e,t){t.baton=e.string()},2(e,t){t.baseUrl=e.string()},3(e,t){t.results.push(e.message(lfe))}},lfe={default(){return{type:"none"}},1(e){return{type:"ok",response:e.message(ufe)}},2(e){return{type:"error",error:e.message(en)}}},ufe={default(){return{type:"none"}},1(e){return{type:"close"}},2(e){return e.message(dfe)},3(e){return e.message(ffe)},4(e){return{type:"sequence"}},5(e){return e.message(pfe)},6(e){return{type:"store_sql"}},7(e){return{type:"close_sql"}},8(e){return e.message(mfe)}},dfe={default(){return{type:"execute",result:Ji.default()}},1(e,t){t.result=e.message(Ji)}},ffe={default(){return{type:"batch",result:fl.default()}},1(e,t){t.result=e.message(fl)}},pfe={default(){return{type:"describe",result:pl.default()}},1(e,t){t.result=e.message(pl)}},mfe={default(){return{type:"get_autocommit",isAutocommit:!1}},1(e,t){t.isAutocommit=e.bool()}},Pq={default(){return{baton:void 0,baseUrl:void 0}},1(e,t){t.baton=e.string()},2(e,t){t.baseUrl=e.string()}}});var OT;var zq=w(()=>{sl();pT();_t();Xr();$T();RT();dy();py();OT=class OT extends cf{#e;#t;#r;#n;#o;#i;constructor(e,t){super();this.#e=e,this.#t=t,this.#r=void 0,this.#n=new TT(16384),this.#o=void 0,this.#i=!1}async open(e){if(e.body===null)throw new Pe("No response body for cursor request");this.#r=e.body[Symbol.asyncIterator]();let t=await this.#a(Oq,Pq);if(t===void 0)throw new Pe("Empty response to cursor request");return t}next(){return this.#a(ly,fy)}close(){this._setClosed(new We("Cursor was manually closed"))}_setClosed(e){if(this.#o!==void 0)return;if(this.#o=e,this.#e._cursorClosed(this),this.#r!==void 0)this.#r.return()}get closed(){return this.#o!==void 0}async#a(e,t){for(;;){if(this.#i)return;else if(this.#o!==void 0)throw new xt("Cursor is closed",this.#o);if(this.#t==="json"){let n=this.#s();if(n!==void 0){let i=new TextDecoder().decode(n),s=JSON.parse(i);return ea(s,e)}}else if(this.#t==="protobuf"){let n=this.#c();if(n!==void 0)return Ui(n,t)}else throw Ke(this.#t,"Impossible encoding");if(this.#r===void 0)throw new or("Attempted to read from HTTP cursor before it was opened");let{value:r,done:o}=await this.#r.next();if(o&&this.#n.length===0)this.#i=!0;else if(o)throw new Pe("Unexpected end of cursor stream");else this.#n.push(r)}}#s(){let e=this.#n.data(),t=10,r=e.indexOf(10);if(r<0)return;let o=e.slice(0,r);return this.#n.shift(r+1),o}#c(){let e=this.#n.data(),t=0,r=0;for(;;){if(r>=e.byteLength)return;let n=e[r];if(t|=(n&127)<<7*r,r+=1,!(n&128))break}if(e.byteLength<r+t)return;let o=e.slice(r,r+t);return this.#n.shift(r+t),o}}});function Nq(e,t){if(t.baton!==void 0)e.string("baton",t.baton);e.arrayObjects("requests",t.requests,hfe)}function hfe(e,t){if(e.stringRaw("type",t.type),t.type==="close");else if(t.type==="execute")e.object("stmt",t.stmt,uf);else if(t.type==="batch")e.object("batch",t.batch,ul);else if(t.type==="sequence"){if(t.sql!==void 0)e.string("sql",t.sql);if(t.sqlId!==void 0)e.number("sql_id",t.sqlId)}else if(t.type==="describe"){if(t.sql!==void 0)e.string("sql",t.sql);if(t.sqlId!==void 0)e.number("sql_id",t.sqlId)}else if(t.type==="store_sql")e.number("sql_id",t.sqlId),e.string("sql",t.sql);else if(t.type==="close_sql")e.number("sql_id",t.sqlId);else if(t.type==="get_autocommit");else throw Ke(t,"Impossible type of StreamRequest")}function Dq(e,t){if(t.baton!==void 0)e.string("baton",t.baton);e.object("batch",t.batch,ul)}var CT=w(()=>{ET();Xr()});function Lq(e,t){if(t.baton!==void 0)e.string(1,t.baton);for(let r of t.requests)e.message(2,r,gfe)}function gfe(e,t){if(t.type==="close")e.message(1,t,yfe);else if(t.type==="execute")e.message(2,t,bfe);else if(t.type==="batch")e.message(3,t,Sfe);else if(t.type==="sequence")e.message(4,t,vfe);else if(t.type==="describe")e.message(5,t,wfe);else if(t.type==="store_sql")e.message(6,t,xfe);else if(t.type==="close_sql")e.message(7,t,_fe);else if(t.type==="get_autocommit")e.message(8,t,Efe);else throw Ke(t,"Impossible type of StreamRequest")}function yfe(e,t){}function bfe(e,t){e.message(1,t.stmt,df)}function Sfe(e,t){e.message(1,t.batch,dl)}function vfe(e,t){if(t.sql!==void 0)e.string(1,t.sql);if(t.sqlId!==void 0)e.int32(2,t.sqlId)}function wfe(e,t){if(t.sql!==void 0)e.string(1,t.sql);if(t.sqlId!==void 0)e.int32(2,t.sqlId)}function xfe(e,t){e.int32(1,t.sqlId),e.string(2,t.sql)}function _fe(e,t){e.int32(1,t.sqlId)}function Efe(e,t){}function Bq(e,t){if(t.baton!==void 0)e.string(1,t.baton);e.message(2,t.batch,dl)}var PT=w(()=>{kT();Xr()});function Ife(e,t){if(t.results.length!==e.length)throw new Pe("Server returned unexpected number of pipeline results");for(let r=0;r<e.length;++r){let o=t.results[r],n=e[r];if(o.type==="ok"){if(o.response.type!==n.request.type)throw new Pe("Received unexpected type of response");n.responseCallback(o.response)}else if(o.type==="error")n.errorCallback(zo(o.error));else if(o.type==="none")throw new Pe("Received unrecognized type of StreamResult");else throw Ke(o,"Received impossible type of StreamResult")}}async function kfe(e,t){if(t==="json"){let r=await e.json();return ea(r,Rq)}if(t==="protobuf"){let r=await e.arrayBuffer();return Ui(new Uint8Array(r),Cq)}throw await e.body?.cancel(),Ke(t,"Impossible encoding")}async function Afe(e){let t=e.headers.get("content-type")??"text/plain",r=`Server returned HTTP status ${e.status}`;if(t==="application/json"){let o=await e.json();if("message"in o)return zo(o);return new Xs(r,e.status)}if(t==="text/plain"){let o=(await e.text()).trim();if(o!=="")r+=`: ${o}`;return new Xs(r,e.status)}return await e.body?.cancel(),new Xs(r,e.status)}var gy;var zT=w(()=>{_t();hT();gT();$q();of();cl();ay();Xr();zq();CT();PT();CT();PT();$T();RT();gy=class gy extends ll{#e;#t;#r;#n;#o;#i;#a;#s;#c;#l;#d;#f;#m;constructor(e,t,r,o,n){super(e.intMode);this.#e=e,this.#t=t.toString(),this.#r=r,this.#n=o,this.#o=n,this.#i=void 0,this.#a=new Mi,this.#s=!1,this.#l=!1,this.#d=!1,this.#f=void 0,this.#m=new qi}client(){return this.#e}_sqlOwner(){return this}storeSql(e){let t=this.#m.alloc();return this.#p({type:"store_sql",sqlId:t,sql:e}).then(()=>{return},(r)=>this._setClosed(r)),new na(this,t)}_closeSql(e){if(this.#f!==void 0)return;this.#p({type:"close_sql",sqlId:e}).then(()=>this.#m.free(e),(t)=>this._setClosed(t))}_execute(e){return this.#p({type:"execute",stmt:e}).then((t)=>t.result)}_batch(e){return this.#p({type:"batch",batch:e}).then((t)=>t.result)}_describe(e){return this.#p({type:"describe",sql:e.sql,sqlId:e.sqlId}).then((t)=>t.result)}_sequence(e){return this.#p({type:"sequence",sql:e.sql,sqlId:e.sqlId}).then((t)=>{return})}getAutocommit(){return this.#e._ensureVersion(3,"getAutocommit()"),this.#p({type:"get_autocommit"}).then((e)=>e.isAutocommit)}#p(e){return new Promise((t,r)=>{this.#g({type:"pipeline",request:e,responseCallback:t,errorCallback:r})})}_openCursor(e){return new Promise((t,r)=>{this.#g({type:"cursor",batch:e,cursorCallback:t,errorCallback:r})})}_cursorClosed(e){if(e!==this.#c)throw new or("Cursor was closed, but it was not associated with the stream");this.#c=void 0,oa(()=>this.#u())}close(){this._setClosed(new We("Stream was manually closed"))}closeGracefully(){this.#l=!0,oa(()=>this.#u())}get closed(){return this.#f!==void 0||this.#l}_setClosed(e){if(this.#f!==void 0)return;if(this.#f=e,this.#c!==void 0)this.#c._setClosed(e);this.#e._streamClosed(this);for(;;){let t=this.#a.shift();if(t!==void 0)t.errorCallback(e);else break}if((this.#i!==void 0||this.#s)&&!this.#d)this.#a.push({type:"pipeline",request:{type:"close"},responseCallback:()=>{return},errorCallback:()=>{return}}),this.#d=!0,oa(()=>this.#u())}#g(e){if(this.#f!==void 0)throw new xt("Stream is closed",this.#f);else if(this.#l)throw new xt("Stream is closing",void 0);else this.#a.push(e),oa(()=>this.#u())}#u(){if(this.#s||this.#c!==void 0)return;if(this.#l&&this.#a.length===0){this._setClosed(new We("Stream was gracefully closed"));return}let e=this.#e._endpoint;if(e===void 0){this.#e._endpointPromise.then(()=>this.#u(),(r)=>this._setClosed(r));return}let t=this.#a.shift();if(t===void 0)return;else if(t.type==="pipeline"){let r=[t];for(;;){let o=this.#a.first();if(o!==void 0&&o.type==="pipeline")r.push(o),this.#a.shift();else if(o===void 0&&this.#l&&!this.#d){r.push({type:"pipeline",request:{type:"close"},responseCallback:()=>{return},errorCallback:()=>{return}}),this.#d=!0;break}else break}this.#y(e,r)}else if(t.type==="cursor")this.#b(e,t);else throw Ke(t,"Impossible type of QueueEntry")}#y(e,t){this.#h(()=>this.#S(t,e),(r)=>kfe(r,e.encoding),(r)=>r.baton,(r)=>r.baseUrl,(r)=>Ife(t,r),(r)=>t.forEach((o)=>o.errorCallback(r)))}#b(e,t){let r=new OT(this,e.encoding);this.#c=r,this.#h(()=>this.#v(t,e),(o)=>r.open(o),(o)=>o.baton,(o)=>o.baseUrl,(o)=>t.cursorCallback(r),(o)=>t.errorCallback(o))}#h(e,t,r,o,n,i){let s;try{let a=e(),c=this.#n;s=c(a)}catch(a){s=Promise.reject(a)}this.#s=!0,s.then((a)=>{if(!a.ok)return Afe(a).then((c)=>{throw c});return t(a)}).then((a)=>{this.#i=r(a),this.#t=o(a)??this.#t,n(a)}).catch((a)=>{this._setClosed(a),i(a)}).finally(()=>{this.#s=!1,this.#u()})}#S(e,t){return this.#w(new URL(t.pipelinePath,this.#t),{baton:this.#i,requests:e.map((r)=>r.request)},t.encoding,Nq,Lq)}#v(e,t){if(t.cursorPath===void 0)throw new yn(`Cursors are supported only on protocol version 3 and higher, but the HTTP server only supports version ${t.version}.`);return this.#w(new URL(t.cursorPath,this.#t),{baton:this.#i,batch:e.batch},t.encoding,Dq,Bq)}#w(e,t,r,o,n){let i,s;if(r==="json")i=ef(t,o),s="application/json";else if(r==="protobuf")i=nf(t,n),s="application/x-protobuf";else throw Ke(r,"Impossible encoding");let a=new Headers;if(a.set("content-type",s),this.#r!==void 0)a.set("authorization",`Bearer ${this.#r}`);if(this.#o!==void 0)a.set("x-turso-encryption-key",this.#o);return new Request(e.toString(),{method:"POST",headers:a,body:i})}}});async function $fe(e,t){let r=e;for(let o of Tfe){let n=new URL(o.versionPath,t),i=new Request(n.toString(),{method:"GET"}),s=await r(i);if(await s.arrayBuffer(),s.ok)return o}return NT}var Tfe,NT,yy;var DT=w(()=>{_t();zT();Tfe=[{versionPath:"v3-protobuf",pipelinePath:"v3-protobuf/pipeline",cursorPath:"v3-protobuf/cursor",version:3,encoding:"protobuf"}],NT={versionPath:"v2",pipelinePath:"v2/pipeline",cursorPath:void 0,version:2,encoding:"json"};yy=class yy extends nl{#e;#t;#r;#n;#o;#i;_endpointPromise;_endpoint;constructor(e,t,r,o,n=2){super();if(this.#e=e,this.#t=t,this.#r=r??globalThis.fetch,this.#n=o,this.#o=void 0,this.#i=new Set,n==3)this._endpointPromise=$fe(this.#r,this.#e),this._endpointPromise.then((i)=>this._endpoint=i,(i)=>this.#a(i));else this._endpointPromise=Promise.resolve(NT),this._endpointPromise.then((i)=>this._endpoint=i,(i)=>this.#a(i))}async getVersion(){if(this._endpoint!==void 0)return this._endpoint.version;return(await this._endpointPromise).version}_ensureVersion(e,t){if(e<=NT.version)return;else if(this._endpoint===void 0)throw new yn(`${t} is supported only on protocol version ${e} and higher, but the version supported by the HTTP server is not yet known. Use Client.getVersion() to wait until the version is available.`);else if(this._endpoint.version<e)throw new yn(`${t} is supported only on protocol version ${e} and higher, but the HTTP server only supports version ${this._endpoint.version}.`)}openStream(){if(this.#o!==void 0)throw new xt("Client is closed",this.#o);let e=new gy(this,this.#e,this.#t,this.#r,this.#n);return this.#i.add(e),e}_streamClosed(e){this.#i.delete(e)}close(){this.#a(new We("Client was manually closed"))}get closed(){return this.#o!==void 0}#a(e){if(this.#o!==void 0)return;this.#o=e;for(let t of Array.from(this.#i))t._setClosed(new xt("Client was closed",e))}}});var jq=w(()=>{_t()});function LT(e,t,r=2){if(typeof ji>"u")throw new Yd("WebSockets are not supported in this environment");var o=void 0;if(r==3)o=Array.from(AT.keys());else o=Array.from(Tq.keys());let n=new ji(e,o);return new my(n,t)}function BT(e,t,r,o,n=2){return new yy(e instanceof URL?e:new URL(e),t,r,o,n)}var by=w(()=>{fT();hy();_t();DT();hy();fT();vT();jq();cl();iy();ay();DT();zT();hy();xT();_t()});class pf{#e;#t;#r;constructor(e,t){this.#e=e,this.#t=t,this.#r=void 0}execute(e){return this.batch([e]).then((t)=>t[0])}async batch(e){let t=this._getStream();if(t.closed)throw new Ce("Cannot execute statements because the transaction is closed","TRANSACTION_CLOSED");try{let r=e.map(No),o;if(this.#r===void 0){this._getSqlCache().apply(r);let i=t.batch(this.#t>=3),s=i.step(),a=s.run(Li(this.#e)),c=s;o=r.map((u)=>{let d=i.step().condition(dt.ok(c));if(this.#t>=3)d.condition(dt.not(dt.isAutocommit(i)));let f=d.query(u);return f.catch(()=>{return}),c=d,f}),this.#r=i.execute().then(()=>a).then(()=>{return});try{await this.#r}catch(u){throw this.close(),u}}else{if(this.#t<3)await this.#r;this._getSqlCache().apply(r);let i=t.batch(this.#t>=3),s=void 0;o=r.map((a)=>{let c=i.step();if(s!==void 0)c.condition(dt.ok(s));if(this.#t>=3)c.condition(dt.not(dt.isAutocommit(i)));let u=c.query(a);return u.catch(()=>{return}),s=c,u}),await i.execute()}let n=[];for(let i=0;i<o.length;i++)try{let s=await o[i];if(s===void 0)throw new Gt("Statement in a transaction was not executed, probably because the transaction has been rolled back",i,"TRANSACTION_CLOSED");n.push(hl(s))}catch(s){if(s instanceof Gt)throw s;let a=st(s);if(a instanceof Ce)throw new Gt(a.message,i,a.code,a.extendedCode,a.rawCode,a.cause instanceof Error?a.cause:void 0);throw a}return n}catch(r){throw st(r)}}async executeMultiple(e){let t=this._getStream();if(t.closed)throw new Ce("Cannot execute statements because the transaction is closed","TRANSACTION_CLOSED");try{if(this.#r===void 0){this.#r=t.run(Li(this.#e)).then(()=>{return});try{await this.#r}catch(r){throw this.close(),r}}else await this.#r;await t.sequence(e)}catch(r){throw st(r)}}async rollback(){try{let e=this._getStream();if(e.closed)return;if(this.#r!==void 0);else return;let t=e.run("ROLLBACK").catch((r)=>{throw st(r)});e.closeGracefully(),await t}catch(e){throw st(e)}finally{this.close()}}async commit(){try{let e=this._getStream();if(e.closed)throw new Ce("Cannot commit the transaction because it is already closed","TRANSACTION_CLOSED");if(this.#r!==void 0)await this.#r;else return;let t=e.run("COMMIT").catch((r)=>{throw st(r)});e.closeGracefully(),await t}catch(e){throw st(e)}finally{this.close()}}}async function ml(e,t,r,o,n=!1){if(n)r.step().run("PRAGMA foreign_keys=off");let i=r.step(),s=i.run(Li(e)),a=i,c=o.map((h)=>{let b=r.step().condition(dt.ok(a));if(t>=3)b.condition(dt.not(dt.isAutocommit(r)));let y=b.query(h);return a=b,y}),u=r.step().condition(dt.ok(a));if(t>=3)u.condition(dt.not(dt.isAutocommit(r)));let d=u.run("COMMIT");if(r.step().condition(dt.not(dt.ok(u))).run("ROLLBACK").catch((h)=>{return}),n)r.step().run("PRAGMA foreign_keys=on");await r.execute();let m=[];await s;for(let h=0;h<c.length;h++)try{let b=await c[h];if(b===void 0)throw new Gt("Statement in a batch was not executed, probably because the transaction has been rolled back",h,"TRANSACTION_CLOSED");m.push(hl(b))}catch(b){if(b instanceof Gt)throw b;let y=st(b);if(y instanceof Ce)throw new Gt(y.message,h,y.code,y.extendedCode,y.rawCode,y.cause instanceof Error?y.cause:void 0);throw y}return await d,m}function No(e){let t,r;if(Array.isArray(e))[t,r]=e;else if(typeof e==="string")t=e;else t=e.sql,r=e.args;let o=new af(t);if(r)if(Array.isArray(r))o.bindIndexes(r);else for(let[n,i]of Object.entries(r))o.bindName(n,i);return o}function hl(e){let t=e.columnNames.map((s)=>s??""),r=e.columnDecltypes.map((s)=>s??""),o=e.rows,n=e.affectedRowCount,i=e.lastInsertRowid!==void 0?e.lastInsertRowid:void 0;return new Xc(t,r,o,n,i)}function st(e){if(e instanceof We){let t=Zq(e);return new Ce(e.message,t,void 0,void 0,e)}return e}function Zq(e){if(e instanceof Qd&&e.code!==void 0)return e.code;else if(e instanceof Pe)return"HRANA_PROTO_ERROR";else if(e instanceof xt)return e.cause instanceof We?Zq(e.cause):"HRANA_CLOSED_ERROR";else if(e instanceof ol)return"HRANA_WEBSOCKET_ERROR";else if(e instanceof Xs)return"SERVER_ERROR";else if(e instanceof yn)return"PROTOCOL_VERSION_ERROR";else if(e instanceof or)return"INTERNAL_ERROR";else return"UNKNOWN"}var ZT=w(()=>{by();gn();el()});class gl{#e;#t;capacity;constructor(e,t){this.#e=e,this.#t=new Uq,this.capacity=t}apply(e){if(this.capacity<=0)return;let t=new Set;for(let r of e){if(typeof r.sql!=="string")continue;let o=r.sql;if(o.length>=5000)continue;let n=this.#t.get(o);if(n===void 0){while(this.#t.size+1>this.capacity){let[i,s]=this.#t.peekLru();if(t.has(s))break;s.close(),this.#t.delete(i)}if(this.#t.size+1<=this.capacity)n=this.#e.storeSql(o),this.#t.set(o,n)}if(n!==void 0)r.sql=n,t.add(n)}}}class Uq{#e;constructor(){this.#e=new Map}get(e){let t=this.#e.get(e);if(t!==void 0)this.#e.delete(e),this.#e.set(e,t);return t}set(e,t){this.#e.set(e,t)}peekLru(){for(let e of this.#e.entries())return e;return}delete(e){this.#e.delete(e)}get size(){return this.#e.size}}var UT=ge(function(H2e,Mq){function Rfe(e){var t=0,r=[];function o(){if(t--,t<e)n()}function n(){var c=r.shift();if(a.queue=r.length,c)s(c.fn).then(c.resolve).catch(c.reject)}function i(c){return new Promise(function(u,d){r.push({fn:c,resolve:u,reject:d}),a.queue=r.length})}function s(c){t++;try{return Promise.resolve(c()).then(function(u){return o(),u},function(u){throw o(),u})}catch(u){return o(),Promise.reject(u)}}var a=function(c){if(t>=e)return i(c);else return s(c)};return a}function Ofe(e,t){var r=!1,o=this;return Promise.all(e.map(function(){var n=arguments;return o(function(){if(!r)return t.apply(void 0,n).catch(function(i){throw r=!0,i})})}))}function qq(e){return e.queue=0,e.map=Ofe,e}Mq.exports=function(e){if(e)return qq(Rfe(e));else return qq(function(t){return t()})}});function Kq(e){if(e.scheme!=="wss"&&e.scheme!=="ws")throw new Ce(`The WebSocket client supports only "libsql:", "wss:" and "ws:" URLs, got ${JSON.stringify(e.scheme+":")}. For more information, please read ${Vn}`,"URL_SCHEME_NOT_SUPPORTED");if(e.encryptionKey!==void 0)throw new Ce("Encryption key is not supported by the remote client.","ENCRYPTION_KEY_NOT_SUPPORTED");if(e.scheme==="ws"&&e.tls)throw new Ce('A "ws:" URL cannot opt into TLS by using ?tls=1',"URL_INVALID");else if(e.scheme==="wss"&&!e.tls)throw new Ce('A "wss:" URL cannot opt out of TLS by using ?tls=0',"URL_INVALID");let t=Kd(e.scheme,e.authority,e.path),r;try{r=LT(t,e.authToken)}catch(o){if(o instanceof Yd){let n=e.scheme==="wss"?"https":"http",i=Kd(n,e.authority,e.path);throw new Ce(`This environment does not support WebSockets, please switch to the HTTP client by using a "${n}:" URL (${JSON.stringify(i)}). For more information, please read ${Vn}`,"WEBSOCKETS_NOT_SUPPORTED")}throw st(o)}return new Hq(r,t,e.authToken,e.intMode,e.concurrency)}class Hq{#e;#t;#r;#n;#o;closed;protocol;#i;#a;constructor(e,t,r,o,n){this.#e=t,this.#t=r,this.#r=o,this.#n=this.#c(e),this.#o=void 0,this.closed=!1,this.protocol="ws",this.#a=Jq.default(n)}async limit(e){return this.#a(e)}async execute(e,t){let r;if(typeof e==="string")r={sql:e,args:t||[]};else r=e;return this.limit(async()=>{let o=await this.#s();try{let n=No(r);o.conn.sqlCache.apply([n]);let i=o.stream.query(n);o.stream.closeGracefully();let s=await i;return hl(s)}catch(n){throw st(n)}finally{this._closeStream(o)}})}async batch(e,t="deferred"){return this.limit(async()=>{let r=await this.#s();try{let n=e.map((u)=>{if(Array.isArray(u))return{sql:u[0],args:u[1]||[]};return u}).map(No),i=await r.conn.client.getVersion();r.conn.sqlCache.apply(n);let s=r.stream.batch(i>=3);return await ml(t,i,s,n)}catch(o){throw st(o)}finally{this._closeStream(r)}})}async migrate(e){return this.limit(async()=>{let t=await this.#s();try{let r=e.map(No),o=await t.conn.client.getVersion(),n=t.stream.batch(o>=3);return await ml("deferred",o,n,r,!0)}catch(r){throw st(r)}finally{this._closeStream(t)}})}async transaction(e="write"){return this.limit(async()=>{let t=await this.#s();try{let r=await t.conn.client.getVersion();return new Vq(this,t,e,r)}catch(r){throw this._closeStream(t),st(r)}})}async executeMultiple(e){return this.limit(async()=>{let t=await this.#s();try{let r=t.stream.sequence(e);t.stream.closeGracefully(),await r}catch(r){throw st(r)}finally{this._closeStream(t)}})}sync(){throw new Ce("sync not supported in ws mode","SYNC_NOT_SUPPORTED")}async#s(){if(this.closed)throw new Ce("The client is closed","CLIENT_CLOSED");if(new Date().valueOf()-this.#n.openTime.valueOf()>Cfe&&this.#o===void 0){let o=this.#c();this.#o=o,o.client.getVersion().then((n)=>{if(this.#n!==o){if(this.#n.streamStates.size===0)this.#n.client.close()}this.#n=o,this.#o=void 0},(n)=>{this.#o=void 0})}if(this.#n.client.closed)try{if(this.#o!==void 0)this.#n=this.#o;else this.#n=this.#c()}catch(o){throw st(o)}let r=this.#n;try{if(r.useSqlCache===void 0){if(r.useSqlCache=await r.client.getVersion()>=2,r.useSqlCache)r.sqlCache.capacity=Fq}let o=r.client.openStream();o.intMode=this.#r;let n={conn:r,stream:o};return r.streamStates.add(n),n}catch(o){throw st(o)}}#c(e){try{return e??=LT(this.#e,this.#t),{client:e,useSqlCache:void 0,sqlCache:new gl(e,0),openTime:new Date,streamStates:new Set}}catch(t){throw st(t)}}async reconnect(){try{for(let r of Array.from(this.#n.streamStates))try{r.stream.close()}catch{}this.#n.client.close()}catch{}if(this.#o){try{this.#o.client.close()}catch{}this.#o=void 0}let e=this.#c(),t=await e.client.getVersion();if(e.useSqlCache=t>=2,e.useSqlCache)e.sqlCache.capacity=Fq;this.#n=e,this.closed=!1}_closeStream(e){e.stream.close();let t=e.conn;if(t.streamStates.delete(e),t.streamStates.size===0&&t!==this.#n)t.client.close()}close(){if(this.#n.client.close(),this.closed=!0,this.#o){try{this.#o.client.close()}catch{}this.#o=void 0}this.closed=!0}}var Jq,Cfe=60000,Fq=100,Vq;var Wq=w(()=>{by();gn();Wd();ZT();Vg();el();Jq=Ol(UT(),1);gn();Vq=class Vq extends pf{#e;#t;constructor(e,t,r,o){super(r,o);this.#e=e,this.#t=t}_getStream(){return this.#t.stream}_getSqlCache(){return this.#t.conn.sqlCache}close(){this.#e._closeStream(this.#t)}get closed(){return this.#t.stream.closed}}});function Qq(e){if(e.scheme!=="https"&&e.scheme!=="http")throw new Ce(`The HTTP client supports only "libsql:", "https:" and "http:" URLs, got ${JSON.stringify(e.scheme+":")}. For more information, please read ${Vn}`,"URL_SCHEME_NOT_SUPPORTED");if(e.encryptionKey!==void 0)throw new Ce("Encryption key is not supported by the remote client.","ENCRYPTION_KEY_NOT_SUPPORTED");if(e.scheme==="http"&&e.tls)throw new Ce('A "http:" URL cannot opt into TLS by using ?tls=1',"URL_INVALID");else if(e.scheme==="https"&&!e.tls)throw new Ce('A "https:" URL cannot opt out of TLS by using ?tls=0',"URL_INVALID");let t=Kd(e.scheme,e.authority,e.path);return new Xq(t,e.authToken,e.intMode,e.fetch,e.concurrency,e.remoteEncryptionKey)}class Xq{#e;protocol;#t;#r;#n;#o;#i;#a;#s;constructor(e,t,r,o,n,i){this.#t=e,this.#i=t,this.#r=r,this.#n=o,this.#o=n,this.#a=i,this.#e=BT(this.#t,this.#i,this.#n,i),this.#e.intMode=this.#r,this.protocol="http",this.#s=Gq.default(this.#o)}async limit(e){return this.#s(e)}async execute(e,t){let r;if(typeof e==="string")r={sql:e,args:t||[]};else r=e;return this.limit(async()=>{try{let o=No(r),n,i=this.#e.openStream();try{n=i.query(o)}finally{i.closeGracefully()}let s=await n;return hl(s)}catch(o){throw st(o)}})}async batch(e,t="deferred"){return this.limit(async()=>{try{let o=e.map((c)=>{if(Array.isArray(c))return{sql:c[0],args:c[1]||[]};return c}).map(No),n=await this.#e.getVersion(),i,s=this.#e.openStream();try{new gl(s,Yq).apply(o);let u=s.batch(!1);i=ml(t,n,u,o)}finally{s.closeGracefully()}return await i}catch(r){throw st(r)}})}async migrate(e){return this.limit(async()=>{try{let t=e.map(No),r=await this.#e.getVersion(),o,n=this.#e.openStream();try{let s=n.batch(!1);o=ml("deferred",r,s,t,!0)}finally{n.closeGracefully()}return await o}catch(t){throw st(t)}})}async transaction(e="write"){return this.limit(async()=>{try{let t=await this.#e.getVersion();return new eM(this.#e.openStream(),e,t)}catch(t){throw st(t)}})}async executeMultiple(e){return this.limit(async()=>{try{let t,r=this.#e.openStream();try{t=r.sequence(e)}finally{r.closeGracefully()}await t}catch(t){throw st(t)}})}sync(){throw new Ce("sync not supported in http mode","SYNC_NOT_SUPPORTED")}close(){this.#e.close()}async reconnect(){try{if(!this.closed)this.#e.close()}finally{this.#e=BT(this.#t,this.#i,this.#n,this.#a),this.#e.intMode=this.#r}}get closed(){return this.#e.closed}}var Gq,Yq=30,eM;var tM=w(()=>{by();gn();Wd();ZT();Vg();el();Gq=Ol(UT(),1);gn();eM=class eM extends pf{#e;#t;constructor(e,t,r){super(t,r);this.#e=e,this.#t=new gl(e,Yq)}_getStream(){return this.#e}_getSqlCache(){return this.#t}close(){this.#e.close()}get closed(){return this.#e.closed}}});function yl(e){return Pfe(Vd(e,!0))}function Pfe(e){if(e.scheme==="wss"||e.scheme==="ws")return Kq(e);else if(e.scheme==="https"||e.scheme==="http")return Qq(e);else return G4(e)}var qT=w(()=>{Wd();tq();Wq();tM();gn()});function oe(e,t){if(!e||typeof e!=="object")return!1;if(e instanceof t)return!0;if(!Object.prototype.hasOwnProperty.call(t,F))throw Error(`Class "${t.name??"<unknown>"}" doesn't look like a Drizzle entity. If this is incorrect and the class is provided by Drizzle, please report this as a bug.`);let r=Object.getPrototypeOf(e).constructor;if(r)while(r){if(F in r&&r[F]===t[F])return!0;r=Object.getPrototypeOf(r)}return!1}var F;var Re=w(()=>{F=Symbol.for("drizzle:entityKind")});var He;var Sn=w(()=>{Re();He=class He{constructor(e,t){this.table=e,this.config=t,this.name=t.name,this.keyAsName=t.keyAsName,this.notNull=t.notNull,this.default=t.default,this.defaultFn=t.defaultFn,this.onUpdateFn=t.onUpdateFn,this.hasDefault=t.hasDefault,this.primary=t.primaryKey,this.isUnique=t.isUnique,this.uniqueName=t.uniqueName,this.uniqueType=t.uniqueType,this.dataType=t.dataType,this.columnType=t.columnType,this.generated=t.generated,this.generatedIdentity=t.generatedIdentity}static[F]="Column";name;keyAsName;primary;notNull;default;defaultFn;onUpdateFn;hasDefault;isUnique;uniqueName;uniqueType;dataType;columnType;enumValues=void 0;generated=void 0;generatedIdentity=void 0;config;mapFromDriverValue(e){return e}mapToDriverValue(e){return e}shouldDisableInsert(){return this.config.generated!==void 0&&this.config.generated.type!=="byDefault"}}});var mf;var Sy=w(()=>{Re();mf=class mf{static[F]="ColumnBuilder";config;constructor(e,t,r){this.config={name:e,keyAsName:e==="",notNull:!1,default:void 0,hasDefault:!1,primaryKey:!1,isUnique:!1,uniqueName:void 0,uniqueType:void 0,dataType:t,columnType:r,generated:void 0}}$type(){return this}notNull(){return this.config.notNull=!0,this}default(e){return this.config.default=e,this.config.hasDefault=!0,this}$defaultFn(e){return this.config.defaultFn=e,this.config.hasDefault=!0,this}$default=this.$defaultFn;$onUpdateFn(e){return this.config.onUpdateFn=e,this.config.hasDefault=!0,this}$onUpdate=this.$onUpdateFn;primaryKey(){return this.config.primaryKey=!0,this.config.notNull=!0,this}setName(e){if(this.config.name!=="")return;this.config.name=e}}});var ir;var bl=w(()=>{ir=Symbol.for("drizzle:Name")});var MT,rM;var nM=w(()=>{Re();bl();MT=class MT{static[F]="PgForeignKeyBuilder";reference;_onUpdate="no action";_onDelete="no action";constructor(e,t){if(this.reference=()=>{let{name:r,columns:o,foreignColumns:n}=e();return{name:r,columns:o,foreignTable:n[0].table,foreignColumns:n}},t)this._onUpdate=t.onUpdate,this._onDelete=t.onDelete}onUpdate(e){return this._onUpdate=e===void 0?"no action":e,this}onDelete(e){return this._onDelete=e===void 0?"no action":e,this}build(e){return new rM(e,this)}};rM=class rM{constructor(e,t){this.table=e,this.reference=t.reference,this.onUpdate=t._onUpdate,this.onDelete=t._onDelete}static[F]="PgForeignKey";reference;onUpdate;onDelete;getName(){let{name:e,columns:t,foreignColumns:r}=this.reference(),o=t.map((s)=>s.name),n=r.map((s)=>s.name),i=[this.table[ir],...o,r[0].table[ir],...n];return e??`${i.join("_")}_fk`}}});function vy(e,...t){return e(...t)}var FT=()=>{};function JT(e,t){return`${e[ir]}_${t.join("_")}_unique`}var oM,zfe,iM;var sM=w(()=>{Re();bl();oM=class oM{constructor(e,t){this.name=t,this.columns=e}static[F]="PgUniqueConstraintBuilder";columns;nullsNotDistinctConfig=!1;nullsNotDistinct(){return this.nullsNotDistinctConfig=!0,this}build(e){return new iM(e,this.columns,this.nullsNotDistinctConfig,this.name)}};zfe=class zfe{static[F]="PgUniqueOnConstraintBuilder";name;constructor(e){this.name=e}on(...e){return new oM(e,this.name)}};iM=class iM{constructor(e,t,r,o){this.table=e,this.columns=t,this.name=o??JT(this.table,this.columns.map((n)=>n.name)),this.nullsNotDistinct=r}static[F]="PgUniqueConstraint";columns;name;nullsNotDistinct=!1;getName(){return this.name}}});function aM(e,t,r){for(let o=t;o<e.length;o++){let n=e[o];if(n==="\\"){o++;continue}if(n==='"')return[e.slice(t,o).replace(/\\/g,""),o+1];if(r)continue;if(n===","||n==="}")return[e.slice(t,o).replace(/\\/g,""),o]}return[e.slice(t).replace(/\\/g,""),e.length]}function cM(e,t=0){let r=[],o=t,n=!1;while(o<e.length){let i=e[o];if(i===","){if(n||o===t)r.push("");n=!0,o++;continue}if(n=!1,i==="\\"){o+=2;continue}if(i==='"'){let[c,u]=aM(e,o+1,!0);r.push(c),o=u;continue}if(i==="}")return[r,o+1];if(i==="{"){let[c,u]=cM(e,o+1);r.push(c),o=u;continue}let[s,a]=aM(e,o,!1);r.push(s),o=a}return[r,o]}function lM(e){let[t]=cM(e,1);return t}function KT(e){return`{${e.map((t)=>{if(Array.isArray(t))return KT(t);if(typeof t==="string")return`"${t.replace(/\\/g,"\\\\").replace(/"/g,"\\\"")}"`;return`${t}`}).join(",")}}`}var uM=()=>{};var hf,Sl,dM,Nfe,fM,HT;var pM=w(()=>{Sy();Sn();Re();nM();FT();sM();uM();hf=class hf extends mf{foreignKeyConfigs=[];static[F]="PgColumnBuilder";array(e){return new fM(this.config.name,this,e)}references(e,t={}){return this.foreignKeyConfigs.push({ref:e,actions:t}),this}unique(e,t){return this.config.isUnique=!0,this.config.uniqueName=e,this.config.uniqueType=t?.nulls,this}generatedAlwaysAs(e){return this.config.generated={as:e,type:"always",mode:"stored"},this}buildForeignKeys(e,t){return this.foreignKeyConfigs.map(({ref:r,actions:o})=>vy((n,i)=>{let s=new MT(()=>{let a=n();return{columns:[e],foreignColumns:[a]}});if(i.onUpdate)s.onUpdate(i.onUpdate);if(i.onDelete)s.onDelete(i.onDelete);return s.build(t)},r,o))}buildExtraConfigColumn(e){return new dM(e,this.config)}};Sl=class Sl extends He{constructor(e,t){if(!t.uniqueName)t.uniqueName=JT(e,[t.name]);super(e,t);this.table=e}static[F]="PgColumn"};dM=class dM extends Sl{static[F]="ExtraConfigColumn";getSQLType(){return this.getSQLType()}indexConfig={order:this.config.order??"asc",nulls:this.config.nulls??"last",opClass:this.config.opClass};defaultConfig={order:"asc",nulls:"last",opClass:void 0};asc(){return this.indexConfig.order="asc",this}desc(){return this.indexConfig.order="desc",this}nullsFirst(){return this.indexConfig.nulls="first",this}nullsLast(){return this.indexConfig.nulls="last",this}op(e){return this.indexConfig.opClass=e,this}};Nfe=class Nfe{static[F]="IndexedColumn";constructor(e,t,r,o){this.name=e,this.keyAsName=t,this.type=r,this.indexConfig=o}name;keyAsName;type;indexConfig};fM=class fM extends hf{static[F]="PgArrayBuilder";constructor(e,t,r){super(e,"array","PgArray");this.config.baseBuilder=t,this.config.size=r}build(e){let t=this.config.baseBuilder.build(e);return new HT(e,this.config,t)}};HT=class HT extends Sl{constructor(e,t,r,o){super(e,t);this.baseColumn=r,this.range=o,this.size=t.size}size;static[F]="PgArray";getSQLType(){return`${this.baseColumn.getSQLType()}[${typeof this.size==="number"?this.size:""}]`}mapFromDriverValue(e){if(typeof e==="string")e=lM(e);return e.map((t)=>this.baseColumn.mapFromDriverValue(t))}mapToDriverValue(e,t=!1){let r=e.map((o)=>o===null?null:oe(this.baseColumn,HT)?this.baseColumn.mapToDriverValue(o,!0):this.baseColumn.mapToDriverValue(o));if(t)return r;return KT(r)}}});function gM(e){return!!e&&typeof e==="function"&&mM in e&&e[mM]===!0}var Dfe,hM,mM,Lfe,yM;var bM=w(()=>{Re();pM();Dfe=class Dfe extends hf{static[F]="PgEnumObjectColumnBuilder";constructor(e,t){super(e,"string","PgEnumObjectColumn");this.config.enum=t}build(e){return new hM(e,this.config)}};hM=class hM extends Sl{static[F]="PgEnumObjectColumn";enum;enumValues=this.config.enum.enumValues;constructor(e,t){super(e,t);this.enum=t.enum}getSQLType(){return this.enum.enumName}};mM=Symbol.for("drizzle:isPgEnum");Lfe=class Lfe extends hf{static[F]="PgEnumColumnBuilder";constructor(e,t){super(e,"string","PgEnumColumn");this.config.enum=t}build(e){return new yM(e,this.config)}};yM=class yM extends Sl{static[F]="PgEnumColumn";enum=this.config.enum;enumValues=this.config.enum.enumValues;constructor(e,t){super(e,t);this.enum=t.enum}getSQLType(){return this.enum.enumName}}});var ft,gf;var vn=w(()=>{Re();ft=class ft{static[F]="Subquery";constructor(e,t,r,o=!1,n=[]){this._={brand:"Subquery",sql:e,selectedFields:t,alias:r,isWith:o,usedTables:n}}};gf=class gf extends ft{static[F]="WithSubquery"}});var SM="0.45.2";var vM=()=>{};var VT,WT,wM;var xM=w(()=>{FT();vM();wM={startActiveSpan(e,t){if(!VT)return t();if(!WT)WT=VT.trace.getTracer("drizzle-orm",SM);return vy((r,o)=>o.startActiveSpan(e,(n)=>{try{return t(n)}catch(i){throw n.setStatus({code:r.SpanStatusCode.ERROR,message:i instanceof Error?i.message:"Unknown error"}),i}finally{n.end()}}),VT,WT)}}});var pt;var Do=w(()=>{pt=Symbol.for("drizzle:ViewBaseConfig")});function Ki(e){return e[ir]}function ia(e){return`${e[wy]??"public"}.${e[ir]}`}var wy,xy,_M,GT,QT,yf,EM,Bfe,me;var sr=w(()=>{Re();bl();wy=Symbol.for("drizzle:Schema"),xy=Symbol.for("drizzle:Columns"),_M=Symbol.for("drizzle:ExtraConfigColumns"),GT=Symbol.for("drizzle:OriginalName"),QT=Symbol.for("drizzle:BaseName"),yf=Symbol.for("drizzle:IsAlias"),EM=Symbol.for("drizzle:ExtraConfigBuilder"),Bfe=Symbol.for("drizzle:IsDrizzleTable");me=class me{static[F]="Table";static Symbol={Name:ir,Schema:wy,OriginalName:GT,Columns:xy,ExtraConfigColumns:_M,BaseName:QT,IsAlias:yf,ExtraConfigBuilder:EM};[ir];[GT];[wy];[xy];[_M];[QT];[yf]=!1;[Bfe]=!0;[EM]=void 0;constructor(e,t,r){this[ir]=this[GT]=e,this[wy]=t,this[QT]=r}}});function YT(e){return e!==null&&e!==void 0&&typeof e.getSQL==="function"}function Zfe(e){let t={sql:"",params:[]};for(let r of e)if(t.sql+=r.sql,t.params.push(...r.params),r.typings?.length){if(!t.typings)t.typings=[];t.typings.push(...r.typings)}return t}function IM(e){return typeof e==="object"&&e!==null&&"mapToDriverValue"in e&&typeof e.mapToDriverValue==="function"}function C(e,...t){let r=[];if(t.length>0||e.length>0&&e[0]!=="")r.push(new zt(e[0]));for(let[o,n]of t.entries())r.push(n,new zt(e[o+1]));return new xe(r)}function bf(e,t){return e.map((r)=>{if(oe(r,Hi)){if(!(r.name in t))throw Error(`No value for placeholder "${r.name}" was provided`);return t[r.name]}if(oe(r,Br)&&oe(r.value,Hi)){if(!(r.value.name in t))throw Error(`No value for placeholder "${r.value.name}" was provided`);return r.encoder.mapToDriverValue(t[r.value.name])}return r})}var jfe,zt,xe,_y,kM,AM,oLe,Br,Hi,Ufe,tn;var Yt=w(()=>{Re();bM();vn();xM();Do();Sn();sr();jfe=class jfe{static[F]="FakePrimitiveParam"};zt=class zt{static[F]="StringChunk";value;constructor(e){this.value=Array.isArray(e)?e:[e]}getSQL(){return new xe([this])}};xe=class xe{constructor(e){this.queryChunks=e;for(let t of e)if(oe(t,me)){let r=t[me.Symbol.Schema];this.usedTables.push(r===void 0?t[me.Symbol.Name]:r+"."+t[me.Symbol.Name])}}static[F]="SQL";decoder=kM;shouldInlineParams=!1;usedTables=[];append(e){return this.queryChunks.push(...e.queryChunks),this}toQuery(e){return wM.startActiveSpan("drizzle.buildSQL",(t)=>{let r=this.buildQueryFromSourceParams(this.queryChunks,e);return t?.setAttributes({"drizzle.query.text":r.sql,"drizzle.query.params":JSON.stringify(r.params)}),r})}buildQueryFromSourceParams(e,t){let r=Object.assign({},t,{inlineParams:t.inlineParams||this.shouldInlineParams,paramStartIndex:t.paramStartIndex||{value:0}}),{casing:o,escapeName:n,escapeParam:i,prepareTyping:s,inlineParams:a,paramStartIndex:c}=r;return Zfe(e.map((u)=>{if(oe(u,zt))return{sql:u.value.join(""),params:[]};if(oe(u,_y))return{sql:n(u.value),params:[]};if(u===void 0)return{sql:"",params:[]};if(Array.isArray(u)){let d=[new zt("(")];for(let[f,m]of u.entries())if(d.push(m),f<u.length-1)d.push(new zt(", "));return d.push(new zt(")")),this.buildQueryFromSourceParams(d,r)}if(oe(u,xe))return this.buildQueryFromSourceParams(u.queryChunks,{...r,inlineParams:a||u.shouldInlineParams});if(oe(u,me)){let d=u[me.Symbol.Schema],f=u[me.Symbol.Name];return{sql:d===void 0||u[yf]?n(f):n(d)+"."+n(f),params:[]}}if(oe(u,He)){let d=o.getColumnCasing(u);if(t.invokeSource==="indexes")return{sql:n(d),params:[]};let f=u.table[me.Symbol.Schema];return{sql:u.table[yf]||f===void 0?n(u.table[me.Symbol.Name])+"."+n(d):n(f)+"."+n(u.table[me.Symbol.Name])+"."+n(d),params:[]}}if(oe(u,tn)){let d=u[pt].schema,f=u[pt].name;return{sql:d===void 0||u[pt].isAlias?n(f):n(d)+"."+n(f),params:[]}}if(oe(u,Br)){if(oe(u.value,Hi))return{sql:i(c.value++,u),params:[u],typings:["none"]};let d=u.value===null?null:u.encoder.mapToDriverValue(u.value);if(oe(d,xe))return this.buildQueryFromSourceParams([d],r);if(a)return{sql:this.mapInlineParam(d,r),params:[]};let f=["none"];if(s)f=[s(u.encoder)];return{sql:i(c.value++,d),params:[d],typings:f}}if(oe(u,Hi))return{sql:i(c.value++,u),params:[u],typings:["none"]};if(oe(u,xe.Aliased)&&u.fieldAlias!==void 0)return{sql:n(u.fieldAlias),params:[]};if(oe(u,ft)){if(u._.isWith)return{sql:n(u._.alias),params:[]};return this.buildQueryFromSourceParams([new zt("("),u._.sql,new zt(") "),new _y(u._.alias)],r)}if(gM(u)){if(u.schema)return{sql:n(u.schema)+"."+n(u.enumName),params:[]};return{sql:n(u.enumName),params:[]}}if(YT(u)){if(u.shouldOmitSQLParens?.())return this.buildQueryFromSourceParams([u.getSQL()],r);return this.buildQueryFromSourceParams([new zt("("),u.getSQL(),new zt(")")],r)}if(a)return{sql:this.mapInlineParam(u,r),params:[]};return{sql:i(c.value++,u),params:[u],typings:["none"]}}))}mapInlineParam(e,{escapeString:t}){if(e===null)return"null";if(typeof e==="number"||typeof e==="boolean")return e.toString();if(typeof e==="string")return t(e);if(typeof e==="object"){let r=e.toString();if(r==="[object Object]")return t(JSON.stringify(e));return t(r)}throw Error("Unexpected param value: "+e)}getSQL(){return this}as(e){if(e===void 0)return this;return new xe.Aliased(this,e)}mapWith(e){return this.decoder=typeof e==="function"?{mapFromDriverValue:e}:e,this}inlineParams(){return this.shouldInlineParams=!0,this}if(e){return e?this:void 0}};_y=class _y{constructor(e){this.value=e}static[F]="Name";brand;getSQL(){return new xe([this])}};kM={mapFromDriverValue:(e)=>e},AM={mapToDriverValue:(e)=>e},oLe={...kM,...AM};Br=class Br{constructor(e,t=AM){this.value=e,this.encoder=t}static[F]="Param";brand;getSQL(){return new xe([this])}};((e)=>{function t(){return new xe([])}e.empty=t;function r(c){return new xe(c)}e.fromList=r;function o(c){return new xe([new zt(c)])}e.raw=o;function n(c,u){let d=[];for(let[f,m]of c.entries()){if(f>0&&u!==void 0)d.push(u);d.push(m)}return new xe(d)}e.join=n;function i(c){return new _y(c)}e.identifier=i;function s(c){return new Hi(c)}e.placeholder=s;function a(c,u){return new Br(c,u)}e.param=a})(C||(C={}));((e)=>{class t{constructor(r,o){this.sql=r,this.fieldAlias=o}static[F]="SQL.Aliased";isSelectionField=!1;getSQL(){return this.sql}clone(){return new t(this.sql,this.fieldAlias)}}e.Aliased=t})(xe||(xe={}));Hi=class Hi{constructor(e){this.name=e}static[F]="Placeholder";getSQL(){return new xe([this])}};Ufe=Symbol.for("drizzle:IsDrizzleView");tn=class tn{static[F]="View";[pt];[Ufe]=!0;constructor({name:e,schema:t,selectedFields:r,query:o}){this[pt]={name:e,originalName:e,schema:t,selectedFields:r,query:o,isExisting:!o,isAlias:!1}}getSQL(){return new xe([this])}};He.prototype.getSQL=function(){return new xe([this])};me.prototype.getSQL=function(){return new xe([this])};ft.prototype.getSQL=function(){return new xe([this])}});function XT(e,t,r){let o={},n=e.reduce((i,{path:s,field:a},c)=>{let u;if(oe(a,He))u=a;else if(oe(a,xe))u=a.decoder;else if(oe(a,ft))u=a._.sql.decoder;else u=a.sql.decoder;let d=i;for(let[f,m]of s.entries())if(f<s.length-1){if(!(m in d))d[m]={};d=d[m]}else{let h=t[c],b=d[m]=h===null?null:u.mapFromDriverValue(h);if(r&&oe(a,He)&&s.length===2){let y=s[0];if(!(y in o))o[y]=b===null?Ki(a.table):!1;else if(typeof o[y]==="string"&&o[y]!==Ki(a.table))o[y]=!1}}return i},{});if(r&&Object.keys(o).length>0){for(let[i,s]of Object.entries(o))if(typeof s==="string"&&!r[s])n[i]=null}return n}function rn(e,t){return Object.entries(e).reduce((r,[o,n])=>{if(typeof o!=="string")return r;let i=t?[...t,o]:[o];if(oe(n,He)||oe(n,xe)||oe(n,xe.Aliased)||oe(n,ft))r.push({path:i,field:n});else if(oe(n,me))r.push(...rn(n[me.Symbol.Columns],i));else r.push(...rn(n,i));return r},[])}function Sf(e,t){let r=Object.keys(e),o=Object.keys(t);if(r.length!==o.length)return!1;for(let[n,i]of r.entries())if(i!==o[n])return!1;return!0}function Ey(e,t){let r=Object.entries(t).filter(([,o])=>o!==void 0).map(([o,n])=>{if(oe(n,xe)||oe(n,He))return[o,n];else return[o,new Br(n,e[me.Symbol.Columns][o])]});if(r.length===0)throw Error("No values to set");return Object.fromEntries(r)}function TM(e,t){for(let r of t)for(let o of Object.getOwnPropertyNames(r.prototype)){if(o==="constructor")continue;Object.defineProperty(e.prototype,o,Object.getOwnPropertyDescriptor(r.prototype,o)||Object.create(null))}}function Iy(e){return e[me.Symbol.Columns]}function vf(e){return oe(e,ft)?e._.alias:oe(e,tn)?e[pt].name:oe(e,xe)?void 0:e[me.Symbol.IsAlias]?e[me.Symbol.Name]:e[me.Symbol.BaseName]}function Yn(e,t){return{name:typeof e==="string"&&e.length>0?e:"",config:typeof e==="object"?e:t}}function $M(e){if(typeof e!=="object"||e===null)return!1;if(e.constructor.name!=="Object")return!1;if("logger"in e){let t=typeof e.logger;if(t!=="boolean"&&(t!=="object"||typeof e.logger.logQuery!=="function")&&t!=="undefined")return!1;return!0}if("schema"in e){let t=typeof e.schema;if(t!=="object"&&t!=="undefined")return!1;return!0}if("casing"in e){let t=typeof e.casing;if(t!=="string"&&t!=="undefined")return!1;return!0}if("mode"in e){if(e.mode!=="default"||e.mode!=="planetscale"||e.mode!==void 0)return!1;return!0}if("connection"in e){let t=typeof e.connection;if(t!=="string"&&t!=="object"&&t!=="undefined")return!1;return!0}if("client"in e){let t=typeof e.client;if(t!=="object"&&t!=="function"&&t!=="undefined")return!1;return!0}if(Object.keys(e).length===0)return!0;return!1}var e$;var br=w(()=>{Sn();Re();Yt();vn();sr();Do();e$=typeof TextDecoder>"u"?null:new TextDecoder});var RM,t$,r$;var ky=w(()=>{Re();RM=class RM{static[F]="ConsoleLogWriter";write(e){console.log(e)}};t$=class t${static[F]="DefaultLogger";writer;constructor(e){this.writer=e?.writer??new RM}logQuery(e,t){let r=t.map((n)=>{try{return JSON.stringify(n)}catch{return String(n)}}),o=r.length?` -- params: [${r.join(", ")}]`:"";this.writer.write(`Query: ${e}${o}`)}};r$=class r${static[F]="NoopLogger";logQuery(){}}});var OM,CM,n$;var PM=w(()=>{Re();sr();OM=Symbol.for("drizzle:PgInlineForeignKeys"),CM=Symbol.for("drizzle:EnableRLS");n$=class n$ extends me{static[F]="PgTable";static Symbol=Object.assign({},me.Symbol,{InlineForeignKeys:OM,EnableRLS:CM});[OM]=[];[CM]=!1;[me.Symbol.ExtraConfigBuilder]=void 0;[me.Symbol.ExtraConfigColumns]={}}});var o$,zM;var NM=w(()=>{Re();PM();o$=class o${static[F]="PgPrimaryKeyBuilder";columns;name;constructor(e,t){this.columns=e,this.name=t}build(e){return new zM(e,this.columns,this.name)}};zM=class zM{constructor(e,t,r){this.table=e,this.columns=t,this.name=r}static[F]="PgPrimaryKey";columns;name;getName(){return this.name??`${this.table[n$.Symbol.Name]}_${this.columns.map((e)=>e.name).join("_")}_pk`}}});function Tr(e,t){if(IM(t)&&!YT(e)&&!oe(e,Br)&&!oe(e,Hi)&&!oe(e,He)&&!oe(e,me)&&!oe(e,tn))return new Br(e,t);return e}function tt(...e){let t=e.filter((r)=>r!==void 0);if(t.length===0)return;if(t.length===1)return new xe(t);return new xe([new zt("("),C.join(t,new zt(" and ")),new zt(")")])}function nn(...e){let t=e.filter((r)=>r!==void 0);if(t.length===0)return;if(t.length===1)return new xe(t);return new xe([new zt("("),C.join(t,new zt(" or ")),new zt(")")])}function LM(e){return C`not ${e}`}function Wi(e,t){if(Array.isArray(t)){if(t.length===0)return C`false`;return C`${e} in ${t.map((r)=>Tr(r,e))}`}return C`${e} in ${Tr(t,e)}`}function Ay(e,t){if(Array.isArray(t)){if(t.length===0)return C`true`;return C`${e} not in ${t.map((r)=>Tr(r,e))}`}return C`${e} not in ${Tr(t,e)}`}function jr(e){return C`${e} is null`}function ZM(e){return C`${e} is not null`}function Ty(e){return C`exists ${e}`}function Gi(e){return C`not exists ${e}`}function UM(e,t,r){return C`${e} between ${Tr(t,e)} and ${Tr(r,e)}`}function qM(e,t,r){return C`${e} not between ${Tr(t,e)} and ${Tr(r,e)}`}function MM(e,t){return C`${e} like ${t}`}function FM(e,t){return C`${e} not like ${t}`}function JM(e,t){return C`${e} ilike ${t}`}function KM(e,t){return C`${e} not ilike ${t}`}var je=(e,t)=>C`${e} = ${Tr(t,e)}`,DM=(e,t)=>C`${e} <> ${Tr(t,e)}`,wn=(e,t)=>C`${e} > ${Tr(t,e)}`,BM=(e,t)=>C`${e} >= ${Tr(t,e)}`,jM=(e,t)=>C`${e} < ${Tr(t,e)}`,Vi=(e,t)=>C`${e} <= ${Tr(t,e)}`;var HM=w(()=>{Sn();Re();sr();Yt()});function Lo(e){return C`${e} asc`}function sa(e){return C`${e} desc`}var VM=w(()=>{Yt()});var i$=w(()=>{HM();VM()});function GM(){return{and:tt,between:UM,eq:je,exists:Ty,gt:wn,gte:BM,ilike:JM,inArray:Wi,isNull:jr,isNotNull:ZM,like:MM,lt:jM,lte:Vi,ne:DM,not:LM,notBetween:qM,notExists:Gi,notLike:FM,notIlike:KM,notInArray:Ay,or:nn,sql:C}}function QM(){return{sql:C,asc:Lo,desc:sa}}function YM(e,t){if(Object.keys(e).length===1&&"default"in e&&!oe(e.default,me))e=e.default;let r={},o={},n={};for(let[i,s]of Object.entries(e))if(oe(s,me)){let a=ia(s),c=o[a];r[a]=i,n[i]={tsName:i,dbName:s[me.Symbol.Name],schema:s[me.Symbol.Schema],columns:s[me.Symbol.Columns],relations:c?.relations??{},primaryKey:c?.primaryKey??[]};for(let d of Object.values(s[me.Symbol.Columns]))if(d.primary)n[i].primaryKey.push(d);let u=s[me.Symbol.ExtraConfigBuilder]?.(s[me.Symbol.ExtraConfigColumns]);if(u){for(let d of Object.values(u))if(oe(d,o$))n[i].primaryKey.push(...d.columns)}}else if(oe(s,WM)){let a=ia(s.table),c=r[a],u=s.config(t(s.table)),d;for(let[f,m]of Object.entries(u))if(c){let h=n[c];if(h.relations[f]=m,d)h.primaryKey.push(...d)}else{if(!(a in o))o[a]={relations:{},primaryKey:d};o[a].relations[f]=m}}return{tables:n,tableNamesMap:r}}function qfe(e){return function(r,o){return new Qi(e,r,o,o?.fields.reduce((n,i)=>n&&i.notNull,!0)??!1)}}function Mfe(e){return function(r,o){return new wf(e,r,o)}}function XM(e,t,r){if(oe(r,Qi)&&r.config)return{fields:r.config.fields,references:r.config.references};let o=t[ia(r.referencedTable)];if(!o)throw Error(`Table "${r.referencedTable[me.Symbol.Name]}" not found in schema`);let n=e[o];if(!n)throw Error(`Table "${o}" not found in schema`);let i=r.sourceTable,s=t[ia(i)];if(!s)throw Error(`Table "${i[me.Symbol.Name]}" not found in schema`);let a=[];for(let c of Object.values(n.relations))if(r.relationName&&r!==c&&c.relationName===r.relationName||!r.relationName&&c.referencedTable===r.sourceTable)a.push(c);if(a.length>1)throw r.relationName?Error(`There are multiple relations with name "${r.relationName}" in table "${o}"`):Error(`There are multiple relations between "${o}" and "${r.sourceTable[me.Symbol.Name]}". Please specify relation name`);if(a[0]&&oe(a[0],Qi)&&a[0].config)return{fields:a[0].config.references,references:a[0].config.fields};throw Error(`There is not enough information to infer relation "${s}.${r.fieldName}"`)}function eF(e){return{one:qfe(e),many:Mfe(e)}}function $y(e,t,r,o,n=(i)=>i){let i={};for(let[s,a]of o.entries())if(a.isJson){let c=t.relations[a.tsKey],u=r[s],d=typeof u==="string"?JSON.parse(u):u;i[a.tsKey]=oe(c,Qi)?d&&$y(e,e[a.relationTableTsKey],d,a.selection,n):d.map((f)=>$y(e,e[a.relationTableTsKey],f,a.selection,n))}else{let c=n(r[s]),u=a.field,d;if(oe(u,He))d=u;else if(oe(u,xe))d=u.decoder;else d=u.sql.decoder;i[a.tsKey]=c===null?null:d.mapFromDriverValue(c)}return i}var s$,WM,Qi,wf;var xf=w(()=>{sr();Sn();Re();NM();i$();Yt();s$=class s${constructor(e,t,r){this.sourceTable=e,this.referencedTable=t,this.relationName=r,this.referencedTableName=t[me.Symbol.Name]}static[F]="Relation";referencedTableName;fieldName};WM=class WM{constructor(e,t){this.table=e,this.config=t}static[F]="Relations"};Qi=class Qi extends s${constructor(e,t,r,o){super(e,t,r?.relationName);this.config=r,this.isNullable=o}static[F]="One";withFieldName(e){let t=new Qi(this.sourceTable,this.referencedTable,this.config,this.isNullable);return t.fieldName=e,t}};wf=class wf extends s${constructor(e,t,r){super(e,t,r?.relationName);this.config=r}static[F]="Many";withFieldName(e){let t=new wf(this.sourceTable,this.referencedTable,this.config);return t.fieldName=e,t}}});function _f(e,t){return new Proxy(e,new aa(t,!1))}function Xn(e,t){return new Proxy(e,new vl(new Proxy(e.table,new aa(t,!1))))}function a$(e,t){return new xe.Aliased(Ef(e.sql,t),e.fieldAlias)}function Ef(e,t){return C.join(e.queryChunks.map((r)=>{if(oe(r,He))return Xn(r,t);if(oe(r,xe))return Ef(r,t);if(oe(r,xe.Aliased))return a$(r,t);return r}))}var vl,aa,Ffe;var If=w(()=>{Sn();Re();Yt();sr();Do();vl=class vl{constructor(e){this.table=e}static[F]="ColumnAliasProxyHandler";get(e,t){if(t==="table")return this.table;return e[t]}};aa=class aa{constructor(e,t){this.alias=e,this.replaceOriginalName=t}static[F]="TableAliasProxyHandler";get(e,t){if(t===me.Symbol.IsAlias)return!0;if(t===me.Symbol.Name)return this.alias;if(this.replaceOriginalName&&t===me.Symbol.OriginalName)return this.alias;if(t===pt)return{...e[pt],name:this.alias,isAlias:!0};if(t===me.Symbol.Columns){let o=e[me.Symbol.Columns];if(!o)return o;let n={};return Object.keys(o).map((i)=>{n[i]=new Proxy(o[i],new vl(new Proxy(e,this)))}),n}let r=e[t];if(oe(r,He))return new Proxy(r,new vl(new Proxy(e,this)));return r}};Ffe=class Ffe{constructor(e){this.alias=e}static[F]="RelationTableAliasProxyHandler";get(e,t){if(t==="sourceTable")return _f(e.sourceTable,this.alias);return e[t]}}});var at;var ca=w(()=>{If();Sn();Re();Yt();vn();Do();at=class at{static[F]="SelectionProxyHandler";config;constructor(e){this.config={...e}}get(e,t){if(t==="_")return{...e._,selectedFields:new Proxy(e._.selectedFields,this)};if(t===pt)return{...e[pt],selectedFields:new Proxy(e[pt].selectedFields,this)};if(typeof t==="symbol")return e[t];let o=(oe(e,ft)?e._.selectedFields:oe(e,tn)?e[pt].selectedFields:e)[t];if(oe(o,xe.Aliased)){if(this.config.sqlAliasedBehavior==="sql"&&!o.isSelectionField)return o.sql;let n=o.clone();return n.isSelectionField=!0,n}if(oe(o,xe)){if(this.config.sqlBehavior==="sql")return o;throw Error(`You tried to reference "${t}" field from a subquery, which is a raw SQL field, but it doesn't have an alias declared. Please add an alias to the field using ".as('alias')" method.`)}if(oe(o,He)){if(this.config.alias)return new Proxy(o,new vl(new Proxy(o.table,new aa(this.config.alias,this.config.replaceOriginalName??!1))));return o}if(typeof o!=="object"||o===null)return o;return new Proxy(o,new at(this.config))}}});var Sr;var Bo=w(()=>{Re();Sr=class Sr{static[F]="QueryPromise";[Symbol.toStringTag]="QueryPromise";catch(e){return this.then(void 0,e)}finally(e){return this.then((t)=>(e?.(),t),(t)=>{throw e?.(),t})}then(e,t){return this.execute().then(e,t)}}});var c$,tF;var l$=w(()=>{Re();bl();c$=class c${static[F]="SQLiteForeignKeyBuilder";reference;_onUpdate;_onDelete;constructor(e,t){if(this.reference=()=>{let{name:r,columns:o,foreignColumns:n}=e();return{name:r,columns:o,foreignTable:n[0].table,foreignColumns:n}},t)this._onUpdate=t.onUpdate,this._onDelete=t.onDelete}onUpdate(e){return this._onUpdate=e,this}onDelete(e){return this._onDelete=e,this}build(e){return new tF(e,this)}};tF=class tF{constructor(e,t){this.table=e,this.reference=t.reference,this.onUpdate=t._onUpdate,this.onDelete=t._onDelete}static[F]="SQLiteForeignKey";reference;onUpdate;onDelete;getName(){let{name:e,columns:t,foreignColumns:r}=this.reference(),o=t.map((s)=>s.name),n=r.map((s)=>s.name),i=[this.table[ir],...o,r[0].table[ir],...n];return e??`${i.join("_")}_fk`}}});function u$(e,t){return`${e[ir]}_${t.join("_")}_unique`}var rF,Jfe,nF;var d$=w(()=>{Re();bl();rF=class rF{constructor(e,t){this.name=t,this.columns=e}static[F]="SQLiteUniqueConstraintBuilder";columns;build(e){return new nF(e,this.columns,this.name)}};Jfe=class Jfe{static[F]="SQLiteUniqueOnConstraintBuilder";name;constructor(e){this.name=e}on(...e){return new rF(e,this.name)}};nF=class nF{constructor(e,t,r){this.table=e,this.columns=t,this.name=r??u$(this.table,this.columns.map((o)=>o.name))}static[F]="SQLiteUniqueConstraint";columns;name;getName(){return this.name}}});var jt,yt;var Yi=w(()=>{Sy();Sn();Re();l$();d$();jt=class jt extends mf{static[F]="SQLiteColumnBuilder";foreignKeyConfigs=[];references(e,t={}){return this.foreignKeyConfigs.push({ref:e,actions:t}),this}unique(e){return this.config.isUnique=!0,this.config.uniqueName=e,this}generatedAlwaysAs(e,t){return this.config.generated={as:e,type:"always",mode:t?.mode??"virtual"},this}buildForeignKeys(e,t){return this.foreignKeyConfigs.map(({ref:r,actions:o})=>((n,i)=>{let s=new c$(()=>{let a=n();return{columns:[e],foreignColumns:[a]}});if(i.onUpdate)s.onUpdate(i.onUpdate);if(i.onDelete)s.onDelete(i.onDelete);return s.build(t)})(r,o))}};yt=class yt extends He{constructor(e,t){if(!t.uniqueName)t.uniqueName=u$(e,[t.name]);super(e,t);this.table=e}static[F]="SQLiteColumn"}});function uF(e,t){let{name:r,config:o}=Yn(e,t);if(o?.mode==="json")return new sF(r);if(o?.mode==="bigint")return new oF(r);return new cF(r)}var oF,iF,sF,aF,cF,lF;var f$=w(()=>{Re();br();Yi();oF=class oF extends jt{static[F]="SQLiteBigIntBuilder";constructor(e){super(e,"bigint","SQLiteBigInt")}build(e){return new iF(e,this.config)}};iF=class iF extends yt{static[F]="SQLiteBigInt";getSQLType(){return"blob"}mapFromDriverValue(e){if(typeof Buffer<"u"&&Buffer.from){let t=Buffer.isBuffer(e)?e:e instanceof ArrayBuffer?Buffer.from(e):e.buffer?Buffer.from(e.buffer,e.byteOffset,e.byteLength):Buffer.from(e);return BigInt(t.toString("utf8"))}return BigInt(e$.decode(e))}mapToDriverValue(e){return Buffer.from(e.toString())}};sF=class sF extends jt{static[F]="SQLiteBlobJsonBuilder";constructor(e){super(e,"json","SQLiteBlobJson")}build(e){return new aF(e,this.config)}};aF=class aF extends yt{static[F]="SQLiteBlobJson";getSQLType(){return"blob"}mapFromDriverValue(e){if(typeof Buffer<"u"&&Buffer.from){let t=Buffer.isBuffer(e)?e:e instanceof ArrayBuffer?Buffer.from(e):e.buffer?Buffer.from(e.buffer,e.byteOffset,e.byteLength):Buffer.from(e);return JSON.parse(t.toString("utf8"))}return JSON.parse(e$.decode(e))}mapToDriverValue(e){return Buffer.from(JSON.stringify(e))}};cF=class cF extends jt{static[F]="SQLiteBlobBufferBuilder";constructor(e){super(e,"buffer","SQLiteBlobBuffer")}build(e){return new lF(e,this.config)}};lF=class lF extends yt{static[F]="SQLiteBlobBuffer";mapFromDriverValue(e){if(Buffer.isBuffer(e))return e;return Buffer.from(e)}getSQLType(){return"blob"}}});function pF(e){return(t,r)=>{let{name:o,config:n}=Yn(t,r);return new dF(o,n,e)}}var dF,fF;var p$=w(()=>{Re();br();Yi();dF=class dF extends jt{static[F]="SQLiteCustomColumnBuilder";constructor(e,t,r){super(e,"custom","SQLiteCustomColumn");this.config.fieldConfig=t,this.config.customTypeParams=r}build(e){return new fF(e,this.config)}};fF=class fF extends yt{static[F]="SQLiteCustomColumn";sqlName;mapTo;mapFrom;constructor(e,t){super(e,t);this.sqlName=t.customTypeParams.dataType(t.fieldConfig),this.mapTo=t.customTypeParams.toDriver,this.mapFrom=t.customTypeParams.fromDriver}getSQLType(){return this.sqlName}mapFromDriverValue(e){return typeof this.mapFrom==="function"?this.mapFrom(e):e}mapToDriverValue(e){return typeof this.mapTo==="function"?this.mapTo(e):e}}});function ar(e,t){let{name:r,config:o}=Yn(e,t);if(o?.mode==="timestamp"||o?.mode==="timestamp_ms")return new gF(r,o.mode);if(o?.mode==="boolean")return new bF(r,o.mode);return new mF(r)}var Ry,Oy,mF,hF,gF,yF,bF,SF;var m$=w(()=>{Re();Yt();br();Yi();Ry=class Ry extends jt{static[F]="SQLiteBaseIntegerBuilder";constructor(e,t,r){super(e,t,r);this.config.autoIncrement=!1}primaryKey(e){if(e?.autoIncrement)this.config.autoIncrement=!0;return this.config.hasDefault=!0,super.primaryKey()}};Oy=class Oy extends yt{static[F]="SQLiteBaseInteger";autoIncrement=this.config.autoIncrement;getSQLType(){return"integer"}};mF=class mF extends Ry{static[F]="SQLiteIntegerBuilder";constructor(e){super(e,"number","SQLiteInteger")}build(e){return new hF(e,this.config)}};hF=class hF extends Oy{static[F]="SQLiteInteger"};gF=class gF extends Ry{static[F]="SQLiteTimestampBuilder";constructor(e,t){super(e,"date","SQLiteTimestamp");this.config.mode=t}defaultNow(){return this.default(C`(cast((julianday('now') - 2440587.5)*86400000 as integer))`)}build(e){return new yF(e,this.config)}};yF=class yF extends Oy{static[F]="SQLiteTimestamp";mode=this.config.mode;mapFromDriverValue(e){if(this.config.mode==="timestamp")return new Date(e*1000);return new Date(e)}mapToDriverValue(e){let t=e.getTime();if(this.config.mode==="timestamp")return Math.floor(t/1000);return t}};bF=class bF extends Ry{static[F]="SQLiteBooleanBuilder";constructor(e,t){super(e,"boolean","SQLiteBoolean");this.config.mode=t}build(e){return new SF(e,this.config)}};SF=class SF extends Oy{static[F]="SQLiteBoolean";mode=this.config.mode;mapFromDriverValue(e){return Number(e)===1}mapToDriverValue(e){return e?1:0}}});function kF(e,t){let{name:r,config:o}=Yn(e,t),n=o?.mode;return n==="number"?new xF(r):n==="bigint"?new EF(r):new vF(r)}var vF,wF,xF,_F,EF,IF;var h$=w(()=>{Re();br();Yi();vF=class vF extends jt{static[F]="SQLiteNumericBuilder";constructor(e){super(e,"string","SQLiteNumeric")}build(e){return new wF(e,this.config)}};wF=class wF extends yt{static[F]="SQLiteNumeric";mapFromDriverValue(e){if(typeof e==="string")return e;return String(e)}getSQLType(){return"numeric"}};xF=class xF extends jt{static[F]="SQLiteNumericNumberBuilder";constructor(e){super(e,"number","SQLiteNumericNumber")}build(e){return new _F(e,this.config)}};_F=class _F extends yt{static[F]="SQLiteNumericNumber";mapFromDriverValue(e){if(typeof e==="number")return e;return Number(e)}mapToDriverValue=String;getSQLType(){return"numeric"}};EF=class EF extends jt{static[F]="SQLiteNumericBigIntBuilder";constructor(e){super(e,"bigint","SQLiteNumericBigInt")}build(e){return new IF(e,this.config)}};IF=class IF extends yt{static[F]="SQLiteNumericBigInt";mapFromDriverValue=BigInt;mapToDriverValue=String;getSQLType(){return"numeric"}}});function $F(e){return new AF(e??"")}var AF,TF;var g$=w(()=>{Re();Yi();AF=class AF extends jt{static[F]="SQLiteRealBuilder";constructor(e){super(e,"number","SQLiteReal")}build(e){return new TF(e,this.config)}};TF=class TF extends yt{static[F]="SQLiteReal";getSQLType(){return"real"}}});function mt(e,t={}){let{name:r,config:o}=Yn(e,t);if(o.mode==="json")return new CF(r);return new RF(r,o)}var RF,OF,CF,PF;var y$=w(()=>{Re();br();Yi();RF=class RF extends jt{static[F]="SQLiteTextBuilder";constructor(e,t){super(e,"string","SQLiteText");this.config.enumValues=t.enum,this.config.length=t.length}build(e){return new OF(e,this.config)}};OF=class OF extends yt{static[F]="SQLiteText";enumValues=this.config.enumValues;length=this.config.length;constructor(e,t){super(e,t)}getSQLType(){return`text${this.config.length?`(${this.config.length})`:""}`}};CF=class CF extends jt{static[F]="SQLiteTextJsonBuilder";constructor(e){super(e,"json","SQLiteTextJson")}build(e){return new PF(e,this.config)}};PF=class PF extends yt{static[F]="SQLiteTextJson";getSQLType(){return"text"}mapFromDriverValue(e){return JSON.parse(e)}mapToDriverValue(e){return JSON.stringify(e)}}});function zF(){return{blob:uF,customType:pF,integer:ar,numeric:kF,real:$F,text:mt}}var NF=w(()=>{f$();p$();m$();h$();g$();y$()});function Kfe(e,t,r,o,n=e){let i=new At(e,o,n),s=typeof t==="function"?t(zF()):t,a=Object.fromEntries(Object.entries(s).map(([u,d])=>{let f=d;f.setName(u);let m=f.build(i);return i[b$].push(...f.buildForeignKeys(m,i)),[u,m]})),c=Object.assign(i,a);if(c[me.Symbol.Columns]=a,c[me.Symbol.ExtraConfigColumns]=a,r)c[At.Symbol.ExtraConfigBuilder]=r;return c}var b$,At,kf=(e,t,r)=>Kfe(e,t,r);var jo=w(()=>{Re();sr();NF();b$=Symbol.for("drizzle:SQLiteInlineForeignKeys");At=class At extends me{static[F]="SQLiteTable";static Symbol=Object.assign({},me.Symbol,{InlineForeignKeys:b$});[me.Symbol.Columns];[b$]=[];[me.Symbol.ExtraConfigBuilder]=void 0}});var Hfe,DF;var LF=w(()=>{Re();Hfe=class Hfe{constructor(e,t){this.name=e,this.value=t}static[F]="SQLiteCheckBuilder";brand;build(e){return new DF(e,this)}};DF=class DF{constructor(e,t){this.table=e,this.name=t.name,this.value=t.value}static[F]="SQLiteCheck";name;value}});function Zo(e){return new BF(e,!1)}var BF,jF,ZF;var UF=w(()=>{Re();BF=class BF{constructor(e,t){this.name=e,this.unique=t}static[F]="SQLiteIndexBuilderOn";on(...e){return new jF(this.name,e,this.unique)}};jF=class jF{static[F]="SQLiteIndexBuilder";config;constructor(e,t,r){this.config={name:e,columns:t,unique:r,where:void 0}}where(e){return this.config.where=e,this}build(e){return new ZF(this.config,e)}};ZF=class ZF{static[F]="SQLiteIndex";config;constructor(e,t){this.config={...e,table:t}}}});var Vfe,qF;var MF=w(()=>{Re();jo();Vfe=class Vfe{static[F]="SQLitePrimaryKeyBuilder";columns;name;constructor(e,t){this.columns=e,this.name=t}build(e){return new qF(e,this.columns,this.name)}};qF=class qF{constructor(e,t,r){this.table=e,this.columns=t,this.name=r}static[F]="SQLitePrimaryKey";columns;name;getName(){return this.name??`${this.table[At.Symbol.Name]}_${this.columns.map((e)=>e.name).join("_")}_pk`}}});function xn(e){if(oe(e,At))return[`${e[me.Symbol.BaseName]}`];if(oe(e,ft))return e._.usedTables??[];if(oe(e,xe))return e.usedTables??[];return[]}var wl=w(()=>{Re();Yt();vn();sr();jo()});var Cy;var FF=w(()=>{Re();Bo();ca();jo();sr();br();wl();Cy=class Cy extends Sr{constructor(e,t,r,o){super();this.table=e,this.session=t,this.dialect=r,this.config={table:e,withList:o}}static[F]="SQLiteDelete";config;where(e){return this.config.where=e,this}orderBy(...e){if(typeof e[0]==="function"){let t=e[0](new Proxy(this.config.table[me.Symbol.Columns],new at({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),r=Array.isArray(t)?t:[t];this.config.orderBy=r}else{let t=e;this.config.orderBy=t}return this}limit(e){return this.config.limit=e,this}returning(e=this.table[At.Symbol.Columns]){return this.config.returning=rn(e),this}getSQL(){return this.dialect.buildDeleteQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}_prepare(e=!0){return this.session[e?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),this.config.returning,this.config.returning?"all":"run",!0,void 0,{type:"delete",tables:xn(this.config.table)})}prepare(){return this._prepare(!1)}run=(e)=>this._prepare().run(e);all=(e)=>this._prepare().all(e);get=(e)=>this._prepare().get(e);values=(e)=>this._prepare().values(e);async execute(e){return this._prepare().execute(e)}$dynamic(){return this}}});function Wfe(e){return(e.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).map((r)=>r.toLowerCase()).join("_")}function Gfe(e){return(e.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).reduce((r,o,n)=>{let i=n===0?o.toLowerCase():`${o[0].toUpperCase()}${o.slice(1)}`;return r+i},"")}function Qfe(e){return e}var S$;var JF=w(()=>{Re();sr();S$=class S${static[F]="CasingCache";cache={};cachedTables={};convert;constructor(e){this.convert=e==="snake_case"?Wfe:e==="camelCase"?Gfe:Qfe}getColumnCasing(e){if(!e.keyAsName)return e.name;let t=e.table[me.Symbol.Schema]??"public",r=e.table[me.Symbol.OriginalName],o=`${t}.${r}.${e.name}`;if(!this.cache[o])this.cacheTable(e.table);return this.cache[o]}cacheTable(e){let t=e[me.Symbol.Schema]??"public",r=e[me.Symbol.OriginalName],o=`${t}.${r}`;if(!this.cachedTables[o]){for(let n of Object.values(e[me.Symbol.Columns])){let i=`${o}.${n.name}`;this.cache[i]=this.convert(n.name)}this.cachedTables[o]=!0}}clearCache(){this.cache={},this.cachedTables={}}}});var xl,Uo,v$;var Py=w(()=>{Re();xl=class xl extends Error{static[F]="DrizzleError";constructor({message:e,cause:t}){super(e);this.name="DrizzleError",this.cause=t}};Uo=class Uo extends Error{constructor(e,t,r){super(`Failed query: ${e}
386
386
  params: ${t}`);if(this.query=e,this.params=t,this.cause=r,Error.captureStackTrace(this,Uo),r)this.cause=r}};v$=class v$ extends xl{static[F]="TransactionRollbackError";constructor(){super({message:"Rollback"})}}});var KF=()=>{};var HF=()=>{};var VF=w(()=>{KF();HF()});var w$=w(()=>{i$();VF();Yt()});var x$=w(()=>{f$();Yi();p$();m$();h$();g$();y$()});var qo;var Af=w(()=>{Re();Yt();qo=class qo extends tn{static[F]="SQLiteViewBase"}});var _l,_$,E$;var zy=w(()=>{If();JF();Sn();Re();Py();xf();w$();Yt();x$();jo();vn();sr();br();Do();Af();_l=class _l{static[F]="SQLiteDialect";casing;constructor(e){this.casing=new S$(e?.casing)}escapeName(e){return`"${e.replace(/"/g,'""')}"`}escapeParam(e){return"?"}escapeString(e){return`'${e.replace(/'/g,"''")}'`}buildWithCTE(e){if(!e?.length)return;let t=[C`with `];for(let[r,o]of e.entries())if(t.push(C`${C.identifier(o._.alias)} as (${o._.sql})`),r<e.length-1)t.push(C`, `);return t.push(C` `),C.join(t)}buildDeleteQuery({table:e,where:t,returning:r,withList:o,limit:n,orderBy:i}){let s=this.buildWithCTE(o),a=r?C` returning ${this.buildSelection(r,{isSingleTable:!0})}`:void 0,c=t?C` where ${t}`:void 0,u=this.buildOrderBy(i),d=this.buildLimit(n);return C`${s}delete from ${e}${c}${a}${u}${d}`}buildUpdateSet(e,t){let r=e[me.Symbol.Columns],o=Object.keys(r).filter((i)=>t[i]!==void 0||r[i]?.onUpdateFn!==void 0),n=o.length;return C.join(o.flatMap((i,s)=>{let a=r[i],c=a.onUpdateFn?.(),u=t[i]??(oe(c,xe)?c:C.param(c,a)),d=C`${C.identifier(this.casing.getColumnCasing(a))} = ${u}`;if(s<n-1)return[d,C.raw(", ")];return[d]}))}buildUpdateQuery({table:e,set:t,where:r,returning:o,withList:n,joins:i,from:s,limit:a,orderBy:c}){let u=this.buildWithCTE(n),d=this.buildUpdateSet(e,t),f=s&&C.join([C.raw(" from "),this.buildFromTable(s)]),m=this.buildJoins(i),h=o?C` returning ${this.buildSelection(o,{isSingleTable:!0})}`:void 0,b=r?C` where ${r}`:void 0,y=this.buildOrderBy(c),S=this.buildLimit(a);return C`${u}update ${e} set ${d}${f}${m}${b}${h}${y}${S}`}buildSelection(e,{isSingleTable:t=!1}={}){let r=e.length,o=e.flatMap(({field:n},i)=>{let s=[];if(oe(n,xe.Aliased)&&n.isSelectionField)s.push(C.identifier(n.fieldAlias));else if(oe(n,xe.Aliased)||oe(n,xe)){let a=oe(n,xe.Aliased)?n.sql:n;if(t)s.push(new xe(a.queryChunks.map((c)=>{if(oe(c,He))return C.identifier(this.casing.getColumnCasing(c));return c})));else s.push(a);if(oe(n,xe.Aliased))s.push(C` as ${C.identifier(n.fieldAlias)}`)}else if(oe(n,He)){let a=n.table[me.Symbol.Name];if(n.columnType==="SQLiteNumericBigInt")if(t)s.push(C`cast(${C.identifier(this.casing.getColumnCasing(n))} as text)`);else s.push(C`cast(${C.identifier(a)}.${C.identifier(this.casing.getColumnCasing(n))} as text)`);else if(t)s.push(C.identifier(this.casing.getColumnCasing(n)));else s.push(C`${C.identifier(a)}.${C.identifier(this.casing.getColumnCasing(n))}`)}else if(oe(n,ft)){let a=Object.entries(n._.selectedFields);if(a.length===1){let c=a[0][1],u=oe(c,xe)?c.decoder:oe(c,He)?{mapFromDriverValue:(d)=>c.mapFromDriverValue(d)}:c.sql.decoder;if(u)n._.sql.decoder=u}s.push(n)}if(i<r-1)s.push(C`, `);return s});return C.join(o)}buildJoins(e){if(!e||e.length===0)return;let t=[];if(e)for(let[r,o]of e.entries()){if(r===0)t.push(C` `);let n=o.table,i=o.on?C` on ${o.on}`:void 0;if(oe(n,At)){let s=n[At.Symbol.Name],a=n[At.Symbol.Schema],c=n[At.Symbol.OriginalName],u=s===c?void 0:o.alias;t.push(C`${C.raw(o.joinType)} join ${a?C`${C.identifier(a)}.`:void 0}${C.identifier(c)}${u&&C` ${C.identifier(u)}`}${i}`)}else t.push(C`${C.raw(o.joinType)} join ${n}${i}`);if(r<e.length-1)t.push(C` `)}return C.join(t)}buildLimit(e){return typeof e==="object"||typeof e==="number"&&e>=0?C` limit ${e}`:void 0}buildOrderBy(e){let t=[];if(e){for(let[r,o]of e.entries())if(t.push(o),r<e.length-1)t.push(C`, `)}return t.length>0?C` order by ${C.join(t)}`:void 0}buildFromTable(e){if(oe(e,me)&&e[me.Symbol.IsAlias])return C`${C`${C.identifier(e[me.Symbol.Schema]??"")}.`.if(e[me.Symbol.Schema])}${C.identifier(e[me.Symbol.OriginalName])} ${C.identifier(e[me.Symbol.Name])}`;return e}buildSelectQuery({withList:e,fields:t,fieldsFlat:r,where:o,having:n,table:i,joins:s,orderBy:a,groupBy:c,limit:u,offset:d,distinct:f,setOperators:m}){let h=r??rn(t);for(let R of h)if(oe(R.field,He)&&Ki(R.field.table)!==(oe(i,ft)?i._.alias:oe(i,qo)?i[pt].name:oe(i,xe)?void 0:Ki(i))&&!((B)=>s?.some(({alias:I})=>I===(B[me.Symbol.IsAlias]?Ki(B):B[me.Symbol.BaseName])))(R.field.table)){let B=Ki(R.field.table);throw Error(`Your "${R.path.join("->")}" field references a column "${B}"."${R.field.name}", but the table "${B}" is not part of the query! Did you forget to join it?`)}let b=!s||s.length===0,y=this.buildWithCTE(e),S=f?C` distinct`:void 0,x=this.buildSelection(h,{isSingleTable:b}),_=this.buildFromTable(i),A=this.buildJoins(s),O=o?C` where ${o}`:void 0,L=n?C` having ${n}`:void 0,z=[];if(c){for(let[R,B]of c.entries())if(z.push(B),R<c.length-1)z.push(C`, `)}let K=z.length>0?C` group by ${C.join(z)}`:void 0,P=this.buildOrderBy(a),W=this.buildLimit(u),ee=d?C` offset ${d}`:void 0,j=C`${y}select${S} ${x} from ${_}${A}${O}${K}${L}${P}${W}${ee}`;if(m.length>0)return this.buildSetOperations(j,m);return j}buildSetOperations(e,t){let[r,...o]=t;if(!r)throw Error("Cannot pass undefined values to any set operator");if(o.length===0)return this.buildSetOperationQuery({leftSelect:e,setOperator:r});return this.buildSetOperations(this.buildSetOperationQuery({leftSelect:e,setOperator:r}),o)}buildSetOperationQuery({leftSelect:e,setOperator:{type:t,isAll:r,rightSelect:o,limit:n,orderBy:i,offset:s}}){let a=C`${e.getSQL()} `,c=C`${o.getSQL()}`,u;if(i&&i.length>0){let h=[];for(let b of i)if(oe(b,yt))h.push(C.identifier(b.name));else if(oe(b,xe)){for(let y=0;y<b.queryChunks.length;y++){let S=b.queryChunks[y];if(oe(S,yt))b.queryChunks[y]=C.identifier(this.casing.getColumnCasing(S))}h.push(C`${b}`)}else h.push(C`${b}`);u=C` order by ${C.join(h,C`, `)}`}let d=typeof n==="object"||typeof n==="number"&&n>=0?C` limit ${n}`:void 0,f=C.raw(`${t} ${r?"all ":""}`),m=s?C` offset ${s}`:void 0;return C`${a}${f}${c}${u}${d}${m}`}buildInsertQuery({table:e,values:t,onConflict:r,returning:o,withList:n,select:i}){let s=[],a=e[me.Symbol.Columns],c=Object.entries(a).filter(([b,y])=>!y.shouldDisableInsert()),u=c.map(([,b])=>C.identifier(this.casing.getColumnCasing(b)));if(i){let b=t;if(oe(b,xe))s.push(b);else s.push(b.getSQL())}else{let b=t;s.push(C.raw("values "));for(let[y,S]of b.entries()){let x=[];for(let[_,A]of c){let O=S[_];if(O===void 0||oe(O,Br)&&O.value===void 0){let L;if(A.default!==null&&A.default!==void 0)L=oe(A.default,xe)?A.default:C.param(A.default,A);else if(A.defaultFn!==void 0){let z=A.defaultFn();L=oe(z,xe)?z:C.param(z,A)}else if(!A.default&&A.onUpdateFn!==void 0){let z=A.onUpdateFn();L=oe(z,xe)?z:C.param(z,A)}else L=C`null`;x.push(L)}else x.push(O)}if(s.push(x),y<b.length-1)s.push(C`, `)}}let d=this.buildWithCTE(n),f=C.join(s),m=o?C` returning ${this.buildSelection(o,{isSingleTable:!0})}`:void 0,h=r?.length?C.join(r):void 0;return C`${d}insert into ${e} ${u} ${f}${h}${m}`}sqlToQuery(e,t){return e.toQuery({casing:this.casing,escapeName:this.escapeName,escapeParam:this.escapeParam,escapeString:this.escapeString,invokeSource:t})}buildRelationalQuery({fullSchema:e,schema:t,tableNamesMap:r,table:o,tableConfig:n,queryConfig:i,tableAlias:s,nestedQueryRelation:a,joinOn:c}){let u=[],d,f,m=[],h,b=[];if(i===!0)u=Object.entries(n.columns).map(([x,_])=>({dbKey:_.name,tsKey:x,field:Xn(_,s),relationTableTsKey:void 0,isJson:!1,selection:[]}));else{let S=Object.fromEntries(Object.entries(n.columns).map(([z,K])=>[z,Xn(K,s)]));if(i.where){let z=typeof i.where==="function"?i.where(S,GM()):i.where;h=z&&Ef(z,s)}let x=[],_=[];if(i.columns){let z=!1;for(let[K,P]of Object.entries(i.columns)){if(P===void 0)continue;if(K in n.columns){if(!z&&P===!0)z=!0;_.push(K)}}if(_.length>0)_=z?_.filter((K)=>i.columns?.[K]===!0):Object.keys(n.columns).filter((K)=>!_.includes(K))}else _=Object.keys(n.columns);for(let z of _){let K=n.columns[z];x.push({tsKey:z,value:K})}let A=[];if(i.with)A=Object.entries(i.with).filter((z)=>!!z[1]).map(([z,K])=>({tsKey:z,queryConfig:K,relation:n.relations[z]}));let O;if(i.extras){O=typeof i.extras==="function"?i.extras(S,{sql:C}):i.extras;for(let[z,K]of Object.entries(O))x.push({tsKey:z,value:a$(K,s)})}for(let{tsKey:z,value:K}of x)u.push({dbKey:oe(K,xe.Aliased)?K.fieldAlias:n.columns[z].name,tsKey:z,field:oe(K,He)?Xn(K,s):K,relationTableTsKey:void 0,isJson:!1,selection:[]});let L=typeof i.orderBy==="function"?i.orderBy(S,QM()):i.orderBy??[];if(!Array.isArray(L))L=[L];m=L.map((z)=>{if(oe(z,He))return Xn(z,s);return Ef(z,s)}),d=i.limit,f=i.offset;for(let{tsKey:z,queryConfig:K,relation:P}of A){let W=XM(t,r,P),ee=ia(P.referencedTable),j=r[ee],R=`${s}_${z}`,B=tt(...W.fields.map((k,M)=>je(Xn(W.references[M],R),Xn(k,s)))),I=this.buildRelationalQuery({fullSchema:e,schema:t,tableNamesMap:r,table:e[j],tableConfig:t[j],queryConfig:oe(P,Qi)?K===!0?{limit:1}:{...K,limit:1}:K,tableAlias:R,joinOn:B,nestedQueryRelation:P}),T=C`(${I.sql})`.as(z);u.push({dbKey:z,tsKey:z,field:T,relationTableTsKey:j,isJson:!0,selection:I.selection})}}if(u.length===0)throw new xl({message:`No fields selected for table "${n.tsName}" ("${s}"). You need to have at least one item in "columns", "with" or "extras". If you need to select all columns, omit the "columns" key or set it to undefined.`});let y;if(h=tt(c,h),a){let S=C`json_array(${C.join(u.map(({field:A})=>oe(A,yt)?C.identifier(this.casing.getColumnCasing(A)):oe(A,xe.Aliased)?A.sql:A),C`, `)})`;if(oe(a,wf))S=C`coalesce(json_group_array(${S}), json_array())`;let x=[{dbKey:"data",tsKey:"data",field:S.as("data"),isJson:!0,relationTableTsKey:n.tsName,selection:u}];if(d!==void 0||f!==void 0||m.length>0)y=this.buildSelectQuery({table:_f(o,s),fields:{},fieldsFlat:[{path:[],field:C.raw("*")}],where:h,limit:d,offset:f,orderBy:m,setOperators:[]}),h=void 0,d=void 0,f=void 0,m=void 0;else y=_f(o,s);y=this.buildSelectQuery({table:oe(y,At)?y:new ft(y,{},s),fields:{},fieldsFlat:x.map(({field:A})=>({path:[],field:oe(A,He)?Xn(A,s):A})),joins:b,where:h,limit:d,offset:f,orderBy:m,setOperators:[]})}else y=this.buildSelectQuery({table:_f(o,s),fields:{},fieldsFlat:u.map(({field:S})=>({path:[],field:oe(S,He)?Xn(S,s):S})),joins:b,where:h,limit:d,offset:f,orderBy:m,setOperators:[]});return{tableTsKey:n.tsName,sql:y,selection:u}}};_$=class _$ extends _l{static[F]="SQLiteSyncDialect";migrate(e,t,r){let o=r===void 0?"__drizzle_migrations":typeof r==="string"?"__drizzle_migrations":r.migrationsTable??"__drizzle_migrations",n=C`
387
387
  CREATE TABLE IF NOT EXISTS ${C.identifier(o)} (
388
388
  id SERIAL PRIMARY KEY,
@@ -395,7 +395,7 @@ params: ${t}`);if(this.query=e,this.params=t,this.cause=r,Error.captureStackTrac
395
395
  hash text NOT NULL,
396
396
  created_at numeric
397
397
  )
398
- `;await t.run(n);let s=(await t.values(C`SELECT id, hash, created_at FROM ${C.identifier(o)} ORDER BY created_at DESC LIMIT 1`))[0]??void 0;await t.transaction(async(a)=>{for(let c of e)if(!s||Number(s[2])<c.folderMillis){for(let u of c.sql)await a.run(C.raw(u));await a.run(C`INSERT INTO ${C.identifier(o)} ("hash", "created_at") VALUES(${c.hash}, ${c.folderMillis})`)}})}}});var I$;var WF=w(()=>{Re();I$=class I${static[F]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}}});function Ny(e,t){return(r,o,...n)=>{let i=[o,...n].map((s)=>({type:e,isAll:t,rightSelect:s}));for(let s of i)if(!Sf(r.getSelectedFields(),s.rightSelect.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return r.addSetOperators(i)}}var _n,GF,k$,Yfe=()=>({union:Xfe,unionAll:epe,intersect:tpe,except:rpe}),Xfe,epe,tpe,rpe;var A$=w(()=>{Re();WF();Bo();ca();Yt();vn();sr();br();Do();wl();Af();_n=class _n{static[F]="SQLiteSelectBuilder";fields;session;dialect;withList;distinct;constructor(e){this.fields=e.fields,this.session=e.session,this.dialect=e.dialect,this.withList=e.withList,this.distinct=e.distinct}from(e){let t=!!this.fields,r;if(this.fields)r=this.fields;else if(oe(e,ft))r=Object.fromEntries(Object.keys(e._.selectedFields).map((o)=>[o,e[o]]));else if(oe(e,qo))r=e[pt].selectedFields;else if(oe(e,xe))r={};else r=Iy(e);return new k$({table:e,fields:r,isPartialSelect:t,session:this.session,dialect:this.dialect,withList:this.withList,distinct:this.distinct})}};GF=class GF extends I${static[F]="SQLiteSelectQueryBuilder";_;config;joinsNotNullableMap;tableName;isPartialSelect;session;dialect;cacheConfig=void 0;usedTables=new Set;constructor({table:e,fields:t,isPartialSelect:r,session:o,dialect:n,withList:i,distinct:s}){super();this.config={withList:i,table:e,fields:{...t},distinct:s,setOperators:[]},this.isPartialSelect=r,this.session=o,this.dialect=n,this._={selectedFields:t,config:this.config},this.tableName=vf(e),this.joinsNotNullableMap=typeof this.tableName==="string"?{[this.tableName]:!0}:{};for(let a of xn(e))this.usedTables.add(a)}getUsedTables(){return[...this.usedTables]}createJoin(e){return(t,r)=>{let o=this.tableName,n=vf(t);for(let i of xn(t))this.usedTables.add(i);if(typeof n==="string"&&this.config.joins?.some((i)=>i.alias===n))throw Error(`Alias "${n}" is already used in this query`);if(!this.isPartialSelect){if(Object.keys(this.joinsNotNullableMap).length===1&&typeof o==="string")this.config.fields={[o]:this.config.fields};if(typeof n==="string"&&!oe(t,xe)){let i=oe(t,ft)?t._.selectedFields:oe(t,tn)?t[pt].selectedFields:t[me.Symbol.Columns];this.config.fields[n]=i}}if(typeof r==="function")r=r(new Proxy(this.config.fields,new at({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));if(!this.config.joins)this.config.joins=[];if(this.config.joins.push({on:r,table:t,joinType:e,alias:n}),typeof n==="string")switch(e){case"left":{this.joinsNotNullableMap[n]=!1;break}case"right":{this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([i])=>[i,!1])),this.joinsNotNullableMap[n]=!0;break}case"cross":case"inner":{this.joinsNotNullableMap[n]=!0;break}case"full":{this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([i])=>[i,!1])),this.joinsNotNullableMap[n]=!1;break}}return this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");crossJoin=this.createJoin("cross");createSetOperator(e,t){return(r)=>{let o=typeof r==="function"?r(Yfe()):r;if(!Sf(this.getSelectedFields(),o.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return this.config.setOperators.push({type:e,isAll:t,rightSelect:o}),this}}union=this.createSetOperator("union",!1);unionAll=this.createSetOperator("union",!0);intersect=this.createSetOperator("intersect",!1);except=this.createSetOperator("except",!1);addSetOperators(e){return this.config.setOperators.push(...e),this}where(e){if(typeof e==="function")e=e(new Proxy(this.config.fields,new at({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));return this.config.where=e,this}having(e){if(typeof e==="function")e=e(new Proxy(this.config.fields,new at({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));return this.config.having=e,this}groupBy(...e){if(typeof e[0]==="function"){let t=e[0](new Proxy(this.config.fields,new at({sqlAliasedBehavior:"alias",sqlBehavior:"sql"})));this.config.groupBy=Array.isArray(t)?t:[t]}else this.config.groupBy=e;return this}orderBy(...e){if(typeof e[0]==="function"){let t=e[0](new Proxy(this.config.fields,new at({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),r=Array.isArray(t)?t:[t];if(this.config.setOperators.length>0)this.config.setOperators.at(-1).orderBy=r;else this.config.orderBy=r}else{let t=e;if(this.config.setOperators.length>0)this.config.setOperators.at(-1).orderBy=t;else this.config.orderBy=t}return this}limit(e){if(this.config.setOperators.length>0)this.config.setOperators.at(-1).limit=e;else this.config.limit=e;return this}offset(e){if(this.config.setOperators.length>0)this.config.setOperators.at(-1).offset=e;else this.config.offset=e;return this}getSQL(){return this.dialect.buildSelectQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}as(e){let t=[];if(t.push(...xn(this.config.table)),this.config.joins)for(let r of this.config.joins)t.push(...xn(r.table));return new Proxy(new ft(this.getSQL(),this.config.fields,e,!1,[...new Set(t)]),new at({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}getSelectedFields(){return new Proxy(this.config.fields,new at({alias:this.tableName,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}$dynamic(){return this}};k$=class k$ extends GF{static[F]="SQLiteSelect";_prepare(e=!0){if(!this.session)throw Error("Cannot execute a query on a query builder. Please use a database instance instead.");let t=rn(this.config.fields),r=this.session[e?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),t,"all",!0,void 0,{type:"select",tables:[...this.usedTables]},this.cacheConfig);return r.joinsNotNullableMap=this.joinsNotNullableMap,r}$withCache(e){return this.cacheConfig=e===void 0?{config:{},enable:!0,autoInvalidate:!0}:e===!1?{enable:!1}:{enable:!0,autoInvalidate:!0,...e},this}prepare(){return this._prepare(!1)}run=(e)=>this._prepare().run(e);all=(e)=>this._prepare().all(e);get=(e)=>this._prepare().get(e);values=(e)=>this._prepare().values(e);async execute(){return this.all()}};TM(k$,[Sr]);Xfe=Ny("union",!1),epe=Ny("union",!0),tpe=Ny("intersect",!1),rpe=Ny("except",!1)});var la;var Dy=w(()=>{Re();ca();zy();vn();A$();la=class la{static[F]="SQLiteQueryBuilder";dialect;dialectConfig;constructor(e){this.dialect=oe(e,_l)?e:void 0,this.dialectConfig=oe(e,_l)?void 0:e}$with=(e,t)=>{let r=this;return{as:(n)=>{if(typeof n==="function")n=n(r);return new Proxy(new gf(n.getSQL(),t??("getSelectedFields"in n?n.getSelectedFields()??{}:{}),e,!0),new at({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}}};with(...e){let t=this;function r(n){return new _n({fields:n??void 0,session:void 0,dialect:t.getDialect(),withList:e})}function o(n){return new _n({fields:n??void 0,session:void 0,dialect:t.getDialect(),withList:e,distinct:!0})}return{select:r,selectDistinct:o}}select(e){return new _n({fields:e??void 0,session:void 0,dialect:this.getDialect()})}selectDistinct(e){return new _n({fields:e??void 0,session:void 0,dialect:this.getDialect(),distinct:!0})}getDialect(){if(!this.dialect)this.dialect=new _$(this.dialectConfig);return this.dialect}}});var Ly,T$;var QF=w(()=>{Re();Bo();Yt();jo();sr();br();wl();Dy();Ly=class Ly{constructor(e,t,r,o){this.table=e,this.session=t,this.dialect=r,this.withList=o}static[F]="SQLiteInsertBuilder";values(e){if(e=Array.isArray(e)?e:[e],e.length===0)throw Error("values() must be called with at least one value");let t=e.map((r)=>{let o={},n=this.table[me.Symbol.Columns];for(let i of Object.keys(r)){let s=r[i];o[i]=oe(s,xe)?s:new Br(s,n[i])}return o});return new T$(this.table,t,this.session,this.dialect,this.withList)}select(e){let t=typeof e==="function"?e(new la):e;if(!oe(t,xe)&&!Sf(this.table[xy],t._.selectedFields))throw Error("Insert select error: selected fields are not the same or are in a different order compared to the table definition");return new T$(this.table,t,this.session,this.dialect,this.withList,!0)}};T$=class T$ extends Sr{constructor(e,t,r,o,n,i){super();this.session=r,this.dialect=o,this.config={table:e,values:t,withList:n,select:i}}static[F]="SQLiteInsert";config;returning(e=this.config.table[At.Symbol.Columns]){return this.config.returning=rn(e),this}onConflictDoNothing(e={}){if(!this.config.onConflict)this.config.onConflict=[];if(e.target===void 0)this.config.onConflict.push(C` on conflict do nothing`);else{let t=Array.isArray(e.target)?C`${e.target}`:C`${[e.target]}`,r=e.where?C` where ${e.where}`:C``;this.config.onConflict.push(C` on conflict ${t} do nothing${r}`)}return this}onConflictDoUpdate(e){if(e.where&&(e.targetWhere||e.setWhere))throw Error('You cannot use both "where" and "targetWhere"/"setWhere" at the same time - "where" is deprecated, use "targetWhere" or "setWhere" instead.');if(!this.config.onConflict)this.config.onConflict=[];let t=e.where?C` where ${e.where}`:void 0,r=e.targetWhere?C` where ${e.targetWhere}`:void 0,o=e.setWhere?C` where ${e.setWhere}`:void 0,n=Array.isArray(e.target)?C`${e.target}`:C`${[e.target]}`,i=this.dialect.buildUpdateSet(this.config.table,Ey(this.config.table,e.set));return this.config.onConflict.push(C` on conflict ${n}${r} do update set ${i}${t}${o}`),this}getSQL(){return this.dialect.buildInsertQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}_prepare(e=!0){return this.session[e?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),this.config.returning,this.config.returning?"all":"run",!0,void 0,{type:"insert",tables:xn(this.config.table)})}prepare(){return this._prepare(!1)}run=(e)=>this._prepare().run(e);all=(e)=>this._prepare().all(e);get=(e)=>this._prepare().get(e);values=(e)=>this._prepare().values(e);async execute(){return this.config.returning?this.all():this.run()}$dynamic(){return this}}});var By,YF;var XF=w(()=>{Re();Bo();ca();jo();vn();sr();br();Do();wl();Af();By=class By{constructor(e,t,r,o){this.table=e,this.session=t,this.dialect=r,this.withList=o}static[F]="SQLiteUpdateBuilder";set(e){return new YF(this.table,Ey(this.table,e),this.session,this.dialect,this.withList)}};YF=class YF extends Sr{constructor(e,t,r,o,n){super();this.session=r,this.dialect=o,this.config={set:t,table:e,withList:n,joins:[]}}static[F]="SQLiteUpdate";config;from(e){return this.config.from=e,this}createJoin(e){return(t,r)=>{let o=vf(t);if(typeof o==="string"&&this.config.joins.some((n)=>n.alias===o))throw Error(`Alias "${o}" is already used in this query`);if(typeof r==="function"){let n=this.config.from?oe(t,At)?t[me.Symbol.Columns]:oe(t,ft)?t._.selectedFields:oe(t,qo)?t[pt].selectedFields:void 0:void 0;r=r(new Proxy(this.config.table[me.Symbol.Columns],new at({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})),n&&new Proxy(n,new at({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))}return this.config.joins.push({on:r,table:t,joinType:e,alias:o}),this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");where(e){return this.config.where=e,this}orderBy(...e){if(typeof e[0]==="function"){let t=e[0](new Proxy(this.config.table[me.Symbol.Columns],new at({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),r=Array.isArray(t)?t:[t];this.config.orderBy=r}else{let t=e;this.config.orderBy=t}return this}limit(e){return this.config.limit=e,this}returning(e=this.config.table[At.Symbol.Columns]){return this.config.returning=rn(e),this}getSQL(){return this.dialect.buildUpdateQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}_prepare(e=!0){return this.session[e?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),this.config.returning,this.config.returning?"all":"run",!0,void 0,{type:"insert",tables:xn(this.config.table)})}prepare(){return this._prepare(!1)}run=(e)=>this._prepare().run(e);all=(e)=>this._prepare().all(e);get=(e)=>this._prepare().get(e);values=(e)=>this._prepare().values(e);async execute(){return this.config.returning?this.all():this.run()}$dynamic(){return this}}});var $$=w(()=>{FF();QF();Dy();A$();XF()});var Tf;var e3=w(()=>{Re();Yt();Tf=class Tf extends xe{constructor(e){super(Tf.buildEmbeddedCount(e.source,e.filters).queryChunks);this.params=e,this.session=e.session,this.sql=Tf.buildCount(e.source,e.filters)}sql;static[F]="SQLiteCountBuilderAsync";[Symbol.toStringTag]="SQLiteCountBuilderAsync";session;static buildEmbeddedCount(e,t){return C`(select count(*) from ${e}${C.raw(" where ").if(t)}${t})`}static buildCount(e,t){return C`select count(*) from ${e}${C.raw(" where ").if(t)}${t}`}then(e,t){return Promise.resolve(this.session.count(this.sql)).then(e,t)}catch(e){return this.then(void 0,e)}finally(e){return this.then((t)=>(e?.(),t),(t)=>{throw e?.(),t})}}});var O$,jy,R$;var t3=w(()=>{Re();Bo();xf();O$=class O${constructor(e,t,r,o,n,i,s,a){this.mode=e,this.fullSchema=t,this.schema=r,this.tableNamesMap=o,this.table=n,this.tableConfig=i,this.dialect=s,this.session=a}static[F]="SQLiteAsyncRelationalQueryBuilder";findMany(e){return this.mode==="sync"?new R$(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e?e:{},"many"):new jy(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e?e:{},"many")}findFirst(e){return this.mode==="sync"?new R$(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e?{...e,limit:1}:{limit:1},"first"):new jy(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e?{...e,limit:1}:{limit:1},"first")}};jy=class jy extends Sr{constructor(e,t,r,o,n,i,s,a,c){super();this.fullSchema=e,this.schema=t,this.tableNamesMap=r,this.table=o,this.tableConfig=n,this.dialect=i,this.session=s,this.config=a,this.mode=c}static[F]="SQLiteAsyncRelationalQuery";mode;getSQL(){return this.dialect.buildRelationalQuery({fullSchema:this.fullSchema,schema:this.schema,tableNamesMap:this.tableNamesMap,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,tableAlias:this.tableConfig.tsName}).sql}_prepare(e=!1){let{query:t,builtQuery:r}=this._toSQL();return this.session[e?"prepareOneTimeQuery":"prepareQuery"](r,void 0,this.mode==="first"?"get":"all",!0,(o,n)=>{let i=o.map((s)=>$y(this.schema,this.tableConfig,s,t.selection,n));if(this.mode==="first")return i[0];return i})}prepare(){return this._prepare(!1)}_toSQL(){let e=this.dialect.buildRelationalQuery({fullSchema:this.fullSchema,schema:this.schema,tableNamesMap:this.tableNamesMap,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,tableAlias:this.tableConfig.tsName}),t=this.dialect.sqlToQuery(e.sql);return{query:e,builtQuery:t}}toSQL(){return this._toSQL().builtQuery}executeRaw(){if(this.mode==="first")return this._prepare(!1).get();return this._prepare(!1).all()}async execute(){return this.executeRaw()}};R$=class R$ extends jy{static[F]="SQLiteSyncRelationalQuery";sync(){return this.executeRaw()}}});var El;var r3=w(()=>{Re();Bo();El=class El extends Sr{constructor(e,t,r,o,n){super();this.execute=e,this.getSQL=t,this.dialect=o,this.mapBatchResult=n,this.config={action:r}}static[F]="SQLiteRaw";config;getQuery(){return{...this.dialect.sqlToQuery(this.getSQL()),method:this.config.action}}mapResult(e,t){return t?this.mapBatchResult(e):e}_prepare(){return this}isResponseInArrayMode(){return!1}}});var $f;var Zy=w(()=>{Re();ca();Yt();$$();vn();e3();t3();r3();$f=class $f{constructor(e,t,r,o){this.resultKind=e,this.dialect=t,this.session=r,this._=o?{schema:o.schema,fullSchema:o.fullSchema,tableNamesMap:o.tableNamesMap}:{schema:void 0,fullSchema:{},tableNamesMap:{}},this.query={};let n=this.query;if(this._.schema)for(let[i,s]of Object.entries(this._.schema))n[i]=new O$(e,o.fullSchema,this._.schema,this._.tableNamesMap,o.fullSchema[i],s,t,r);this.$cache={invalidate:async(i)=>{}}}static[F]="BaseSQLiteDatabase";query;$with=(e,t)=>{let r=this;return{as:(n)=>{if(typeof n==="function")n=n(new la(r.dialect));return new Proxy(new gf(n.getSQL(),t??("getSelectedFields"in n?n.getSelectedFields()??{}:{}),e,!0),new at({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}}};$count(e,t){return new Tf({source:e,filters:t,session:this.session})}with(...e){let t=this;function r(a){return new _n({fields:a??void 0,session:t.session,dialect:t.dialect,withList:e})}function o(a){return new _n({fields:a??void 0,session:t.session,dialect:t.dialect,withList:e,distinct:!0})}function n(a){return new By(a,t.session,t.dialect,e)}function i(a){return new Ly(a,t.session,t.dialect,e)}function s(a){return new Cy(a,t.session,t.dialect,e)}return{select:r,selectDistinct:o,update:n,insert:i,delete:s}}select(e){return new _n({fields:e??void 0,session:this.session,dialect:this.dialect})}selectDistinct(e){return new _n({fields:e??void 0,session:this.session,dialect:this.dialect,distinct:!0})}update(e){return new By(e,this.session,this.dialect)}$cache;insert(e){return new Ly(e,this.session,this.dialect)}delete(e){return new Cy(e,this.session,this.dialect)}run(e){let t=typeof e==="string"?C.raw(e):e.getSQL();if(this.resultKind==="async")return new El(async()=>this.session.run(t),()=>t,"run",this.dialect,this.session.extractRawRunValueFromBatchResult.bind(this.session));return this.session.run(t)}all(e){let t=typeof e==="string"?C.raw(e):e.getSQL();if(this.resultKind==="async")return new El(async()=>this.session.all(t),()=>t,"all",this.dialect,this.session.extractRawAllValueFromBatchResult.bind(this.session));return this.session.all(t)}get(e){let t=typeof e==="string"?C.raw(e):e.getSQL();if(this.resultKind==="async")return new El(async()=>this.session.get(t),()=>t,"get",this.dialect,this.session.extractRawGetValueFromBatchResult.bind(this.session));return this.session.get(t)}values(e){let t=typeof e==="string"?C.raw(e):e.getSQL();if(this.resultKind==="async")return new El(async()=>this.session.values(t),()=>t,"values",this.dialect,this.session.extractRawValuesValueFromBatchResult.bind(this.session));return this.session.values(t)}transaction(e,t){return this.session.transaction(e,t)}}});async function C$(e,t){let r=`${e}-${JSON.stringify(t)}`,n=new TextEncoder().encode(r),i=await crypto.subtle.digest("SHA-256",n);return[...new Uint8Array(i)].map((c)=>c.toString(16).padStart(2,"0")).join("")}var n3,Rf;var P$=w(()=>{Re();n3=class n3{static[F]="Cache"};Rf=class Rf extends n3{strategy(){return"all"}static[F]="NoopCache";async get(e){return}async put(e,t,r,o){}async onMutate(e){}}});var o3=w(()=>{P$()});function Uy(e,t){return new Proxy(e,new aa(t,!1))}var i3=w(()=>{If()});var s3,z$,N$,D$;var L$=w(()=>{P$();Re();Py();Bo();Zy();s3=class s3 extends Sr{constructor(e){super();this.resultCb=e}static[F]="ExecuteResultSync";async execute(){return this.resultCb()}sync(){return this.resultCb()}};z$=class z${constructor(e,t,r,o,n,i){if(this.mode=e,this.executeMethod=t,this.query=r,this.cache=o,this.queryMetadata=n,this.cacheConfig=i,o&&o.strategy()==="all"&&i===void 0)this.cacheConfig={enable:!0,autoInvalidate:!0};if(!this.cacheConfig?.enable)this.cacheConfig=void 0}static[F]="PreparedQuery";joinsNotNullableMap;async queryWithCache(e,t,r){if(this.cache===void 0||oe(this.cache,Rf)||this.queryMetadata===void 0)try{return await r()}catch(o){throw new Uo(e,t,o)}if(this.cacheConfig&&!this.cacheConfig.enable)try{return await r()}catch(o){throw new Uo(e,t,o)}if((this.queryMetadata.type==="insert"||this.queryMetadata.type==="update"||this.queryMetadata.type==="delete")&&this.queryMetadata.tables.length>0)try{let[o]=await Promise.all([r(),this.cache.onMutate({tables:this.queryMetadata.tables})]);return o}catch(o){throw new Uo(e,t,o)}if(!this.cacheConfig)try{return await r()}catch(o){throw new Uo(e,t,o)}if(this.queryMetadata.type==="select"){let o=await this.cache.get(this.cacheConfig.tag??await C$(e,t),this.queryMetadata.tables,this.cacheConfig.tag!==void 0,this.cacheConfig.autoInvalidate);if(o===void 0){let n;try{n=await r()}catch(i){throw new Uo(e,t,i)}return await this.cache.put(this.cacheConfig.tag??await C$(e,t),n,this.cacheConfig.autoInvalidate?this.queryMetadata.tables:[],this.cacheConfig.tag!==void 0,this.cacheConfig.config),n}return o}try{return await r()}catch(o){throw new Uo(e,t,o)}}getQuery(){return this.query}mapRunResult(e,t){return e}mapAllResult(e,t){throw Error("Not implemented")}mapGetResult(e,t){throw Error("Not implemented")}execute(e){if(this.mode==="async")return this[this.executeMethod](e);return new s3(()=>this[this.executeMethod](e))}mapResult(e,t){switch(this.executeMethod){case"run":return this.mapRunResult(e,t);case"all":return this.mapAllResult(e,t);case"get":return this.mapGetResult(e,t)}}};N$=class N${constructor(e){this.dialect=e}static[F]="SQLiteSession";prepareOneTimeQuery(e,t,r,o,n,i,s){return this.prepareQuery(e,t,r,o,n,i,s)}run(e){let t=this.dialect.sqlToQuery(e);try{return this.prepareOneTimeQuery(t,void 0,"run",!1).run()}catch(r){throw new xl({cause:r,message:`Failed to run the query '${t.sql}'`})}}extractRawRunValueFromBatchResult(e){return e}all(e){return this.prepareOneTimeQuery(this.dialect.sqlToQuery(e),void 0,"run",!1).all()}extractRawAllValueFromBatchResult(e){throw Error("Not implemented")}get(e){return this.prepareOneTimeQuery(this.dialect.sqlToQuery(e),void 0,"run",!1).get()}extractRawGetValueFromBatchResult(e){throw Error("Not implemented")}values(e){return this.prepareOneTimeQuery(this.dialect.sqlToQuery(e),void 0,"run",!1).values()}async count(e){return(await this.values(e))[0][0]}extractRawValuesValueFromBatchResult(e){throw Error("Not implemented")}};D$=class D$ extends $f{constructor(e,t,r,o,n=0){super(e,t,r,o);this.schema=o,this.nestedIndex=n}static[F]="SQLiteTransaction";rollback(){throw new v$}}});var B$,npe,ope,qy;var a3=w(()=>{Re();ca();br();Dy();jo();Af();B$=class B${constructor(e){this.name=e}static[F]="SQLiteViewBuilderCore";config={}};npe=class npe extends B${static[F]="SQLiteViewBuilder";as(e){if(typeof e==="function")e=e(new la);let t=new at({alias:this.name,sqlBehavior:"error",sqlAliasedBehavior:"alias",replaceOriginalName:!0}),r=e.getSelectedFields();return new Proxy(new qy({config:{name:this.name,schema:void 0,selectedFields:r,query:e.getSQL().inlineParams()}}),t)}};ope=class ope extends B${static[F]="SQLiteManualViewBuilder";columns;constructor(e,t){super(e);this.columns=Iy(kf(e,t))}existing(){return new Proxy(new qy({config:{name:this.name,schema:void 0,selectedFields:this.columns,query:void 0}}),new at({alias:this.name,sqlBehavior:"error",sqlAliasedBehavior:"alias",replaceOriginalName:!0}))}as(e){return new Proxy(new qy({config:{name:this.name,schema:void 0,selectedFields:this.columns,query:e.inlineParams()}}),new at({alias:this.name,sqlBehavior:"error",sqlAliasedBehavior:"alias",replaceOriginalName:!0}))}};qy=class qy extends qo{static[F]="SQLiteView";constructor({config:e}){super(e)}}});var My=w(()=>{i3();LF();x$();Zy();zy();l$();UF();MF();$$();L$();jo();d$();wl();a3()});function c3(e){return Object.keys(e).reduce((t,r)=>{if(Object.prototype.propertyIsEnumerable.call(e,r))t[r]=e[r];return t},{})}function Fy(e){if(typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer){if(typeof Buffer<"u"){if(!(e instanceof Buffer))return Buffer.from(e);return e}if(typeof TextDecoder<"u")return new TextDecoder().decode(e);throw Error("TextDecoder is not available. Please provide either Buffer or TextDecoder polyfill.")}return e}var Jy,j$,l3;var Z$=w(()=>{o3();Re();ky();Yt();My();L$();br();Jy=class Jy extends N${constructor(e,t,r,o,n){super(t);this.client=e,this.schema=r,this.options=o,this.tx=n,this.logger=o.logger??new r$,this.cache=o.cache??new Rf}static[F]="LibSQLSession";logger;cache;prepareQuery(e,t,r,o,n,i,s){return new l3(this.client,e,this.logger,this.cache,i,s,t,this.tx,r,o,n)}async batch(e){let t=[],r=[];for(let n of e){let i=n._prepare(),s=i.getQuery();t.push(i),r.push({sql:s.sql,args:s.params})}return(await this.client.batch(r)).map((n,i)=>t[i].mapResult(n,!0))}async migrate(e){let t=[],r=[];for(let n of e){let i=n._prepare(),s=i.getQuery();t.push(i),r.push({sql:s.sql,args:s.params})}return(await this.client.migrate(r)).map((n,i)=>t[i].mapResult(n,!0))}async transaction(e,t){let r=await this.client.transaction(),o=new Jy(this.client,this.dialect,this.schema,this.options,r),n=new j$("async",this.dialect,o,this.schema);try{let i=await e(n);return await r.commit(),i}catch(i){throw await r.rollback(),i}}extractRawAllValueFromBatchResult(e){return e.rows}extractRawGetValueFromBatchResult(e){return e.rows[0]}extractRawValuesValueFromBatchResult(e){return e.rows}};j$=class j$ extends D${static[F]="LibSQLTransaction";async transaction(e){let t=`sp${this.nestedIndex}`,r=new j$("async",this.dialect,this.session,this.schema,this.nestedIndex+1);await this.session.run(C.raw(`savepoint ${t}`));try{let o=await e(r);return await this.session.run(C.raw(`release savepoint ${t}`)),o}catch(o){throw await this.session.run(C.raw(`rollback to savepoint ${t}`)),o}}};l3=class l3 extends z${constructor(e,t,r,o,n,i,s,a,c,u,d){super("async",c,t,o,n,i);this.client=e,this.logger=r,this.fields=s,this.tx=a,this._isResponseInArrayMode=u,this.customResultMapper=d,this.customResultMapper=d,this.fields=s}static[F]="LibSQLPreparedQuery";async run(e){let t=bf(this.query.params,e??{});return this.logger.logQuery(this.query.sql,t),await this.queryWithCache(this.query.sql,t,async()=>{let r={sql:this.query.sql,args:t};return this.tx?this.tx.execute(r):this.client.execute(r)})}async all(e){let{fields:t,logger:r,query:o,tx:n,client:i,customResultMapper:s}=this;if(!t&&!s){let c=bf(o.params,e??{});return r.logQuery(o.sql,c),await this.queryWithCache(o.sql,c,async()=>{let u={sql:o.sql,args:c};return(n?n.execute(u):i.execute(u)).then(({rows:d})=>this.mapAllResult(d))})}let a=await this.values(e);return this.mapAllResult(a)}mapAllResult(e,t){if(t)e=e.rows;if(!this.fields&&!this.customResultMapper)return e.map((r)=>c3(r));if(this.customResultMapper)return this.customResultMapper(e,Fy);return e.map((r)=>XT(this.fields,Array.prototype.slice.call(r).map((o)=>Fy(o)),this.joinsNotNullableMap))}async get(e){let{fields:t,logger:r,query:o,tx:n,client:i,customResultMapper:s}=this;if(!t&&!s){let c=bf(o.params,e??{});return r.logQuery(o.sql,c),await this.queryWithCache(o.sql,c,async()=>{let u={sql:o.sql,args:c};return(n?n.execute(u):i.execute(u)).then(({rows:d})=>this.mapGetResult(d))})}let a=await this.values(e);return this.mapGetResult(a)}mapGetResult(e,t){if(t)e=e.rows;let r=e[0];if(!this.fields&&!this.customResultMapper)return c3(r);if(!r)return;if(this.customResultMapper)return this.customResultMapper(e,Fy);return XT(this.fields,Array.prototype.slice.call(r).map((o)=>Fy(o)),this.joinsNotNullableMap)}async values(e){let t=bf(this.query.params,e??{});return this.logger.logQuery(this.query.sql,t),await this.queryWithCache(this.query.sql,t,async()=>{let r={sql:this.query.sql,args:t};return(this.tx?this.tx.execute(r):this.client.execute(r)).then(({rows:o})=>o)})}isResponseInArrayMode(){return this._isResponseInArrayMode}}});function Il(e,t={}){let r=new E$({casing:t.casing}),o;if(t.logger===!0)o=new t$;else if(t.logger!==!1)o=t.logger;let n;if(t.schema){let a=YM(t.schema,eF);n={fullSchema:t.schema,schema:a.tables,tableNamesMap:a.tableNamesMap}}let i=new Jy(e,r,n,{logger:o,cache:t.cache},void 0),s=new u3("async",r,i,n);if(s.$client=e,s.$cache=t.cache,s.$cache)s.$cache.invalidate=t.cache?.onMutate;return s}var u3;var d3=w(()=>{Re();ky();xf();Zy();zy();Z$();u3=class u3 extends $f{static[F]="LibSQLDatabase";async batch(e){return this.session.batch(e)}}});function Ky(...e){if(typeof e[0]==="string"){let t=yl({url:e[0]});return Il(t,e[1])}if($M(e[0])){let{connection:t,client:r,...o}=e[0];if(r)return Il(r,o);let n=typeof t==="string"?yl({url:t}):yl(t);return Il(n,o)}return Il(e[0],e[1])}var f3=w(()=>{qT();br();d3();((e)=>{function t(r){return Il({},r)}e.mock=t})(Ky||(Ky={}))});var p3=w(()=>{f3();Z$()});function ipe(){return new Promise((e)=>setTimeout(e,0))}function ape(){if(U$)return;U$=!0,setTimeout(()=>{U$=!1,q$=performance.now()},0)}async function Of(e=spe){if(ape(),performance.now()-q$<e)return;await ipe(),q$=performance.now()}var spe=50,q$,U$=!1;var m3=w(()=>{q$=performance.now()});function h3(e){if(e.authToken!==void 0)return e.authToken;if(e.authTokenEnv===void 0)return;return process.env[e.authTokenEnv]}function dpe(e){return e instanceof Ce&&/^SQLITE_(?:BUSY|LOCKED)$/u.test(e.code)}async function Hy(e,t){let r=Date.now()+(t.budgetMs??cpe),o=async(n)=>{if(t.isClosed())throw new Ce("The client is closed","CLIENT_CLOSED");try{return await e()}catch(i){if(t.isClosed()||!dpe(i))throw i;await t.afterRefusal?.();let s=Math.min(lpe*2**(n-1),upe),a=s/2+Math.random()*(s/2);if(t.isClosed()||Date.now()+a>=r)throw i;if(await new Promise((c)=>setTimeout(c,a)),t.isClosed()||Date.now()>=r)throw i;return o(n+1)}};return o(1)}function M$(e,t={}){let r=yl({...e,...e.url.startsWith("file:")?{timeout:0}:{}});if(e.url.startsWith("file:")&&e.syncUrl===void 0){let o=r.transaction.bind(r),n=()=>r.closed,i=t.contentionRetryBudgetMs,s=r.execute.bind(r),a=r.batch.bind(r),c=r.migrate.bind(r),u={isClosed:n,budgetMs:i,afterRefusal:async()=>{await Promise.resolve(r.reconnect())}};async function d(f,m){return await Of(),Hy(()=>typeof f==="string"?s(f,m):s(f),u)}r.execute=d,r.batch=async(f,m)=>(await Of(),Hy(()=>a(f,m),u)),r.migrate=async(f)=>(await Of(),Hy(()=>c(f),u)),r.transaction=async(f)=>(await Of(),Hy(()=>o(f),u))}return r}function Vy(e){let{url:t,schema:r}=e,o=h3(e),n={contentionRetryBudgetMs:e.contentionRetryBudgetMs},i=o?M$({url:t,authToken:o},n):M$({url:t},n);return{db:Ky(i,{schema:r}),client:i,url:t}}async function Wy(e,t){if(!t.startsWith("file:"))return;for(let r of["PRAGMA busy_timeout = 0","PRAGMA journal_mode = WAL"])await e.execute(r)}var cpe=5000,lpe=5,upe=40;var F$=w(()=>{qT();p3();m3()});var g3=w(()=>{nT();F$()});var J$=w(()=>{F$();g3()});var K$=w(()=>{If();Sy();Sn();Re();Py();ky();Bo();xf();w$();vn();sr();br();Do()});var Y,qe;var H$=w(()=>{My();K$();Md();Y=kf("job_queue",{id:mt("id").primaryKey().$defaultFn(()=>Ro()),type:mt("type").notNull(),data:mt("data").notNull(),result:mt("result",{mode:"json"}),progress:mt("progress",{mode:"json"}).$type(),source:mt("source"),metadata:mt("metadata",{mode:"json"}).$type().notNull(),status:mt("status",{enum:["pending","processing","completed","failed"]}).notNull().default("pending"),priority:ar("priority").notNull().default(0),retryCount:ar("retryCount").notNull().default(0),maxRetries:ar("maxRetries").notNull().default(3),lastError:mt("lastError"),lastErrorPublic:mt("lastErrorPublic",{mode:"json"}),createdAt:ar("createdAt").notNull().$defaultFn(()=>Date.now()),scheduledFor:ar("scheduledFor").notNull().$defaultFn(()=>Date.now()),startedAt:ar("startedAt"),completedAt:ar("completedAt"),attemptId:mt("attemptId"),workerSlotId:mt("workerSlotId"),workerSessionId:mt("workerSessionId"),leaseExpiresAt:ar("leaseExpiresAt"),attemptHeartbeatAt:ar("attemptHeartbeatAt"),runtimeUpdatedAt:ar("runtimeUpdatedAt"),brainVersion:mt("brainVersion"),brainVersionSortKey:mt("brainVersionSortKey")},(e)=>({queueReadyIdx:Zo("idx_job_queue_ready").on(e.status,e.priority,e.scheduledFor),jobTypeIdx:Zo("idx_job_queue_type").on(e.type,e.status),runtimeUpdatesIdx:Zo("idx_job_queue_runtime_updates").on(e.runtimeUpdatedAt,e.id),jobSourceIdx:Zo("idx_job_queue_source").on(e.source),rootJobIdx:Zo("idx_job_queue_root_job").on(C`json_extract(${e.metadata}, '$.rootJobId')`,e.createdAt,e.id),deduplicationIdx:Zo("idx_job_queue_deduplication").on(e.type,C`json_extract(${e.metadata}, '$.deduplicationKey')`,e.status)})),qe=kf("job_worker_sessions",{slotId:mt("slotId").primaryKey(),sessionId:mt("sessionId").notNull().unique(),startedAt:ar("startedAt").notNull(),heartbeatAt:ar("heartbeatAt").notNull(),expiresAt:ar("expiresAt").notNull().default(0),brainVersion:mt("brainVersion"),brainVersionSortKey:mt("brainVersionSortKey"),stableSlotId:mt("stableSlotId")},(e)=>({heartbeatIdx:Zo("idx_job_worker_sessions_heartbeat").on(e.heartbeatAt),expiresIdx:Zo("idx_job_worker_sessions_expires").on(e.expiresAt)}))});function y3(e){return Vy({url:e.url,schema:{jobQueue:Y,jobWorkerSessions:qe},authToken:e.authToken,authTokenEnv:"JOB_QUEUE_DATABASE_AUTH_TOKEN",contentionRetryBudgetMs:0})}var b3=w(()=>{J$();H$()});class V${declarations=new Map;handlers=new Map;validators=new Map;logger;mode;finalizedRegistrations;constructor(e,t){this.logger=e.child("HandlerRegistry"),this.mode=t}registerHandler(e,t,r){if(this.finalizedRegistrations)throw Error("Job handler registrations are finalized");if(this.declarations.has(e))throw Error(`Job handler is already registered for type: ${e}`);if(this.declarations.set(e,{handler:t,pluginId:r}),this.validators.set(e,t),this.mode!=="validation-only")this.handlers.set(e,t);this.logger.debug("Registered job execution declaration",{type:e,pluginId:r,mode:this.mode})}unregisterHandler(e){this.declarations.delete(e),this.handlers.delete(e),this.validators.delete(e),this.logger.debug("Unregistered job handler",{type:e})}unregisterPluginHandlers(e){let t=[...this.declarations.entries()].filter(([,r])=>r.pluginId===e).map(([r])=>r);for(let r of t)this.declarations.delete(r),this.handlers.delete(r),this.validators.delete(r);if(t.length>0)this.logger.debug("Unregistered plugin handlers",{pluginId:e,count:t.length,types:t})}finalizeRegistrations(){return this.finalizedRegistrations??=Object.freeze([...this.declarations.entries()].sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>Object.freeze({type:e,pluginId:t.pluginId}))),this.finalizedRegistrations}getExecutionRegistrations(){return this.finalizedRegistrations}getRegisteredTypes(){return[...this.handlers.keys()]}getExclusiveTypes(){return[...this.handlers].filter(([,e])=>e.exclusive===!0).map(([e])=>e)}getHandler(e){return this.handlers.get(e)}getValidator(e){return this.validators.get(e)}}class W${tails=new Map;async run(e,t){let r=this.tails.get(e),o=()=>{},n=new Promise((i)=>{o=i});this.tails.set(e,n),await r;try{return await t()}finally{if(o(),this.tails.get(e)===n)this.tails.delete(e)}}}class G${findDuplicate(e,t,r){if(!t||t==="none")return null;let o=this.filterByDeduplicationKey(e,r).sort((i,s)=>s.createdAt-i.createdAt||s.id.localeCompare(i.id)),n=o.find((i)=>i.status===Oe.PENDING)??null;if(t==="skip"||t==="replace")return n;return n??o[0]??null}filterByDeduplicationKey(e,t){if(!t)return e;return e.filter((r)=>{let o=fpe.safeParse(r.metadata);return o.success&&o.data.deduplicationKey===t})}}var fpe;var S3=w(()=>{he();Oo();fpe=l.looseObject({deduplicationKey:l.string().optional()})});function x3(e){return`${String(e.length).padStart(2,"0")}${e}`}function mpe(e){return ppe.test(e)?`0${x3(e)}`:`1${e}`}function Cf(e){let t=v3.exec(e);if(!t)throw Error(`Invalid brain version "${e}"`);let[,r="",o="",n="",i]=t,s=[r,o,n].map(x3).join("");return i===void 0?`${s}~`:`${s}-${i.split(".").map(mpe).join("!")}`}var v3,ppe,w3;var Q$=w(()=>{he();v3=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+[0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*)?$/u,ppe=/^\d+$/u,w3=l.string().regex(v3,"Brain version must be a semver version")});function _3(e){return JSON.stringify(new Xa(e).toJSON())}class Y${db;transactionClient;databaseUrl;logger;deduplicator=new G$;writeRetryBudgetMs;constructor(e,t,r,o,n){this.db=e,this.transactionClient=t,this.databaseUrl=r,this.logger=o.child("JobQueueRepository"),this.writeRetryBudgetMs=n?.writeRetryBudgetMs??hpe}async insert(e){await this.write("insert",async()=>this.db.insert(Y).values(e))}async enqueueAtomic(e){return Spe.run(this.databaseUrl,async()=>{let t=Date.now()+this.writeRetryBudgetMs;return this.attemptEnqueue(e,t,1)})}async attemptEnqueue(e,t,r){let o=await this.runEnqueueTransaction(e,t,r);if(o.retry)return this.attemptEnqueue(e,t,r+1);return o.decision}async runEnqueueTransaction(e,t,r){let o=await this.acquireWriteTransaction(e,t),n={prepared:!1},i=!1;try{let s=await this.decideEnqueue(o,e,()=>{n.prepared=!0});return i=!0,await o.commit(),{retry:!1,decision:s}}catch(s){let a=i&&this.isSerializationConflict(s)&&!o.closed,c=!0;if(!o.closed)try{await o.rollback()}catch(u){c=!1,this.logger.error("Failed to roll back atomic enqueue",{type:e.jobData.type,rollbackError:u})}if(n.prepared)e.onInsertRollback?.();if(!a||!c)throw s;return await this.waitForConflictRetry("commit",e,t,r,s),{retry:!0}}finally{o.close()}}async decideEnqueue(e,t,r){let{jobData:o,strategy:n,deduplicationKey:i,beforeInsert:s}=t,a=n??"none",c=async()=>{await s?.(),r()},u=async()=>{await c(),await this.insertJob(e,o)};if(a==="none")return await u(),{kind:"inserted",jobId:o.id};let d=await this.getActiveDeduplicationCandidates(e,o.type,i),f=this.deduplicator.findDuplicate(d,a,i);if(!f)return await u(),{kind:"inserted",jobId:o.id};if(a==="skip")return await this.raiseBrainVersion(e,f.id,o),{kind:"skipped",jobId:f.id};if(a==="coalesce"){if(await this.raiseBrainVersion(e,f.id,o),(await e.execute({sql:"UPDATE `job_queue` SET `scheduledFor` = ? WHERE `id` = ? AND `status` = ?",args:[Date.now(),f.id,f.status]})).rowsAffected!==1)throw Error(`Atomic coalesce lost selected job ${f.id}`);return{kind:"coalesced",jobId:f.id}}await c();let m=Date.now();if((await e.execute({sql:"UPDATE `job_queue`\n SET `status` = ?,\n `lastError` = ?,\n `lastErrorPublic` = ?,\n `completedAt` = ?,\n `runtimeUpdatedAt` = max(?, coalesce((SELECT max(`runtimeUpdatedAt`) FROM `job_queue`), 0) + 1)\n WHERE `id` = ? AND `status` = ?",args:[Oe.FAILED,"Replaced by newer job",_3("cancelled"),m,m,f.id,Oe.PENDING]})).rowsAffected!==1)throw Error(`Atomic replace lost selected job ${f.id}`);return await this.insertJob(e,o),{kind:"replaced",jobId:o.id,replacedJobId:f.id}}async getActiveDeduplicationCandidates(e,t,r){return(await e.execute(r?{sql:"SELECT `id`, `status`, `createdAt`, `metadata`\n FROM `job_queue`\n WHERE `type` = ?\n AND json_extract(`metadata`, '$.deduplicationKey') = ?\n AND `status` IN (?, ?)",args:[t,r,Oe.PENDING,Oe.PROCESSING]}:{sql:"SELECT `id`, `status`, `createdAt`, `metadata`\n FROM `job_queue`\n WHERE `type` = ? AND `status` IN (?, ?)",args:[t,Oe.PENDING,Oe.PROCESSING]})).rows.map((n)=>this.parseDeduplicationCandidate(n))}parseDeduplicationCandidate(e){let{id:t,status:r,createdAt:o,metadata:n}=e;if(typeof t!=="string"||r!==Oe.PENDING&&r!==Oe.PROCESSING||typeof o!=="number"&&typeof o!=="bigint"||typeof n!=="string")throw Error("Invalid active job row returned during atomic enqueue");let i=JSON.parse(n);return{id:t,status:r,createdAt:Number(o),metadata:i}}async raiseBrainVersion(e,t,r){if(!r.brainVersion)return;let o=Cf(r.brainVersion);await e.execute({sql:"UPDATE `job_queue`\n SET `brainVersion` = ?, `brainVersionSortKey` = ?\n WHERE `id` = ?\n AND (`brainVersionSortKey` IS NULL OR `brainVersionSortKey` < ?)",args:[r.brainVersion,o,t,o]})}async insertJob(e,t){if((await e.execute({sql:"INSERT INTO `job_queue` (\n `id`, `type`, `data`, `result`, `source`, `metadata`,\n `status`, `priority`, `retryCount`, `maxRetries`,\n `lastError`, `createdAt`, `scheduledFor`, `startedAt`,\n `completedAt`, `brainVersion`, `brainVersionSortKey`\n ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",args:[t.id,t.type,t.data,this.serializeJson(t.result),t.source,JSON.stringify(t.metadata),t.status,t.priority,t.retryCount,t.maxRetries,t.lastError,t.createdAt,t.scheduledFor,t.startedAt,t.completedAt,t.brainVersion??null,t.brainVersion?Cf(t.brainVersion):null]})).rowsAffected!==1)throw Error(`Atomic enqueue did not insert job ${t.id}`)}serializeJson(e){if(e===void 0||e===null)return null;return JSON.stringify(e)}acquireWriteTransaction(e,t){return this.retryOnConflict("acquire",e,()=>this.transactionClient.transaction("write"),(r)=>this.isSerializationConflict(r),t)}async waitForConflictRetry(e,t,r,o,n){let i=Math.min(gpe*2**(o-1),ype),s=i/2+Math.random()*(i/2);if(Date.now()+s>=r)throw this.transactionConflictError(e,t,o,n);await new Promise((a)=>setTimeout(a,s))}async retryOnConflict(e,t,r,o,n=Date.now()+this.writeRetryBudgetMs,i=1){try{return await r()}catch(s){if(!o(s))throw s;return await this.waitForConflictRetry(e,t,n,i,s),this.retryOnConflict(e,t,r,o,n,i+1)}}transactionConflictError(e,t,r,o){if(typeof t==="string")return Error(`Failed job queue write "${t}" within ${this.writeRetryBudgetMs}ms after ${r} attempts`,{cause:o});let n=t.strategy??"none",i=t.deduplicationKey?"present":"absent";return Error(`Failed to ${e} atomic enqueue transaction for type "${t.jobData.type}" within ${this.writeRetryBudgetMs}ms after ${r} attempts (strategy: ${n}, key: ${i})`,{cause:o})}write(e,t){return this.retryOnConflict("write",e,t,(r)=>{let o=new Set;for(let n=r;n!==void 0&&!o.has(n);){if(o.add(n),typeof n==="object"&&n!==null&&"code"in n&&/^SQLITE_(?:BUSY|LOCKED)(?:_|$)/u.test(String(n.code)))return!0;n=n instanceof Error?n.cause:void 0}return!1})}isSerializationConflict(e){for(let t=e;t!==void 0;){let r=typeof t==="object"&&t!==null&&"code"in t?String(t.code):"",o=Ge(t,"");if(/SQLITE_(?:BUSY|LOCKED)/u.test(r)||/SQLITE_(?:BUSY|LOCKED)|database is locked|transaction (?:busy|conflict)/iu.test(o))return!0;t=t instanceof Error?t.cause:void 0}return!1}async startWorkerSession(e,t,r=Date.now(),o=Di,n,i){let s=r+o,a={brainVersion:n??null,brainVersionSortKey:n?Cf(n):null,stableSlotId:i??null};await this.write("start worker session",async()=>{await this.db.insert(qe).values({slotId:e,sessionId:t,startedAt:r,heartbeatAt:r,expiresAt:s,...a}).onConflictDoUpdate({target:qe.slotId,set:{sessionId:t,startedAt:r,heartbeatAt:r,expiresAt:s,...a}}),await this.pruneDeadWorkerSessions(r,o)})}async heartbeatWorkerSession(e,t,r=Date.now(),o=Di){return(await this.write("heartbeat worker session",async()=>{let i=await this.db.update(qe).set({heartbeatAt:r,expiresAt:r+o}).where(tt(je(qe.slotId,e),je(qe.sessionId,t))).returning({slotId:qe.slotId});return await this.pruneDeadWorkerSessions(r,o),i})).length===1}async pruneDeadWorkerSessions(e,t){let r=this.db.select({id:Y.id}).from(Y).where(tt(je(Y.workerSlotId,qe.slotId),je(Y.workerSessionId,qe.sessionId),je(Y.status,Oe.PROCESSING),wn(Y.leaseExpiresAt,e)));await this.db.delete(qe).where(tt(Vi(qe.expiresAt,e-t),Gi(r)))}async endWorkerSession(e,t){return(await this.write("end worker session",async()=>this.db.delete(qe).where(tt(je(qe.slotId,e),je(qe.sessionId,t))).returning({slotId:qe.slotId}))).length===1}async complete(e,t,r){let o=Date.now(),i=(await this.write("complete",async()=>this.db.update(Y).set({status:Oe.COMPLETED,result:t,lastError:null,lastErrorPublic:null,completedAt:o,runtimeUpdatedAt:this.nextRuntimeUpdatedAt(o)}).where(this.attemptWriteGuard(e,r)).returning({id:Y.id}))).length===1;if(i)this.logger.debug("Job completed",{jobId:e,hasResult:t!==void 0});return i}async update(e,t,r){let n=(await this.write("update",async()=>this.db.update(Y).set({data:JSON.stringify(t)}).where(this.attemptWriteGuard(e,r)).returning({id:Y.id}))).length===1;if(n)this.logger.debug("Job data updated",{jobId:e});return n}async recordAttemptProgress(e,t,r,o=Date.now()){return(await this.write("record progress",async()=>this.db.update(Y).set({attemptHeartbeatAt:o,runtimeUpdatedAt:this.nextRuntimeUpdatedAt(o),progress:r}).where(this.attemptWriteGuard(e,t)).returning({id:Y.id}))).length===1}async renewAttemptLease(e,t,r,o){return(await this.write("renew attempt lease",async()=>this.db.update(Y).set({attemptHeartbeatAt:r,leaseExpiresAt:r+o}).where(this.attemptWriteGuard(e,t)).returning({id:Y.id}))).length===1}async fail(e,t,r,o=Date.now()){let i=(await this.db.select({retryCount:Y.retryCount,maxRetries:Y.maxRetries,type:Y.type,scheduledFor:Y.scheduledFor,startedAt:Y.startedAt,runtimeUpdatedAt:Y.runtimeUpdatedAt}).from(Y).where(this.attemptWriteGuard(e,r)).limit(1))[0];if(!i)return!1;let s=i.retryCount<i.maxRetries,a=s?i.retryCount+1:i.retryCount,c=Math.min(1000*2**i.retryCount,60000),u=s?o+c:i.scheduledFor;if((await this.write("fail",async()=>this.db.update(Y).set({status:s?Oe.PENDING:Oe.FAILED,retryCount:a,lastError:t.message,lastErrorPublic:rE(t).toJSON(),scheduledFor:u,completedAt:s?null:o,runtimeUpdatedAt:s?i.runtimeUpdatedAt:this.nextRuntimeUpdatedAt(o),startedAt:s?null:i.startedAt,attemptId:null,workerSlotId:null,workerSessionId:null,leaseExpiresAt:null,attemptHeartbeatAt:null}).where(tt(this.attemptWriteGuard(e,r),je(Y.retryCount,i.retryCount))).returning({id:Y.id}))).length!==1)return!1;if(s)this.logger.debug("Job scheduled for retry",{jobId:e,retryCount:a,backoffMs:c,scheduledFor:new Date(u).toISOString()});else this.logger.error("Job failed after max retries",{jobId:e,type:i.type,retryCount:i.retryCount,error:t.message});return!0}async retireUnownedActiveJob(e){let t=e.reason.trim();if(t.length===0)throw Error("Retired job reason must not be empty");let o=(await this.write("retire unowned job",async()=>this.db.update(Y).set({status:Oe.FAILED,lastError:t,lastErrorPublic:new Xa("no_handler").toJSON(),completedAt:e.now,runtimeUpdatedAt:this.nextRuntimeUpdatedAt(e.now)}).where(tt(je(Y.id,e.jobId),je(Y.type,e.expectedType),nn(je(Y.status,Oe.PENDING),je(Y.status,Oe.PROCESSING)),jr(Y.attemptId),jr(Y.workerSlotId),jr(Y.workerSessionId),jr(Y.leaseExpiresAt),jr(Y.attemptHeartbeatAt),jr(Y.progress),jr(Y.result))).returning()))[0]??null;if(o)this.logger.warn("Retired unowned legacy job",{jobId:o.id,type:o.type,reason:t});return o}async getStatus(e){return(await this.db.select().from(Y).where(je(Y.id,e)).limit(1))[0]??null}async getJobsByRootJobId(e){return this.db.select().from(Y).where(C`json_extract(${Y.metadata}, '$.rootJobId') = ${e}`).orderBy(Lo(Y.createdAt),Lo(Y.id))}async getStatusByEntityId(e){return(await this.db.select().from(Y).where(C`json_extract(${Y.data}, '$.id') = ${e}`).orderBy(sa(Y.createdAt)).limit(1))[0]??null}async getStats(){let e=await this.db.select({status:Y.status,count:C`count(*)`}).from(Y).groupBy(Y.status),t={pending:0,processing:0,failed:0,completed:0,total:0};for(let r of e){let o=Number(r.count);t[r.status]=o,t.total+=o}return t}async getDiagnostics(e=Date.now()){let[t,r,o]=await Promise.all([this.db.select({type:Y.type,status:Y.status,count:C`count(*)`}).from(Y).groupBy(Y.type,Y.status),this.db.select({oldestPendingAt:C`min(case when ${Y.status} = ${Oe.PENDING} then ${Y.createdAt} end)`,duePending:C`coalesce(sum(case when ${Y.status} = ${Oe.PENDING} and ${Y.scheduledFor} <= ${e} then 1 else 0 end), 0)`,oldestDuePendingAt:C`min(case when ${Y.status} = ${Oe.PENDING} and ${Y.scheduledFor} <= ${e} then ${Y.scheduledFor} end)`,latestClaimAt:C`max(${Y.startedAt})`,oldestProcessingAt:C`min(case when ${Y.status} = ${Oe.PROCESSING} then ${Y.startedAt} end)`,staleLeaseCount:C`coalesce(sum(case when ${Y.status} = ${Oe.PROCESSING} and ${Y.leaseExpiresAt} is not null and ${Y.leaseExpiresAt} <= ${e} then 1 else 0 end), 0)`}).from(Y),this.db.select({total:C`count(*)`,active:C`coalesce(sum(case when ${qe.expiresAt} > ${e} then 1 else 0 end), 0)`,stale:C`coalesce(sum(case when ${qe.expiresAt} <= ${e} then 1 else 0 end), 0)`,latestHeartbeatAt:C`max(${qe.heartbeatAt})`}).from(qe)]),n={pending:0,processing:0,completed:0,failed:0},i=t.map((u)=>{let d=Number(u.count);return n[u.status]+=d,{type:u.type,status:u.status,count:d}}),s=r[0],a=o[0],c=(u)=>u===null||u===void 0?null:Math.max(0,e-Number(u));return{totals:n,byType:i,oldestPendingAgeMs:c(s?.oldestPendingAt),duePending:Number(s?.duePending??0),oldestDuePendingAgeMs:c(s?.oldestDuePendingAt),latestClaimAgeMs:c(s?.latestClaimAt),oldestProcessingAgeMs:c(s?.oldestProcessingAt),staleLeaseCount:Number(s?.staleLeaseCount??0),workerSessions:{total:Number(a?.total??0),active:Number(a?.active??0),stale:Number(a?.stale??0),latestHeartbeatAgeMs:c(a?.latestHeartbeatAt)}}}async getRuntimeUpdates(e,t){let r=bpe.parse(t);if(r===0)return[];return(await this.db.select().from(Y).where(C`(${Y.runtimeUpdatedAt}, ${Y.id}) > (${e.updatedAt}, ${e.jobId})`).orderBy(Lo(Y.runtimeUpdatedAt),Lo(Y.id)).limit(r)).map((n)=>({job:n,cursor:{updatedAt:n.runtimeUpdatedAt??0,jobId:n.id}}))}async cleanup(e){let t=Date.now()-e;return(await this.write("cleanup",async()=>this.db.delete(Y).where(tt(nn(je(Y.status,Oe.COMPLETED),je(Y.status,Oe.FAILED)),Vi(Y.completedAt,t))))).rowsAffected}async getActiveJobs(e){let t=nn(je(Y.status,Oe.PENDING),je(Y.status,Oe.PROCESSING)),r=e&&e.length>0?tt(t,Wi(Y.type,e)):t;return this.db.select().from(Y).where(r).orderBy(sa(Y.createdAt))}async getRecentJobs(e,t=20){let r=e&&e.length>0?Wi(Y.type,e):void 0;return this.db.select().from(Y).where(r).orderBy(sa(Y.createdAt)).limit(t)}async getFailedJobs(e){let t=je(Y.status,Oe.FAILED),r=e&&e.length>0?tt(t,Wi(Y.type,e)):t;return this.db.select().from(Y).where(r).orderBy(sa(Y.createdAt))}async claimNextReady(e){let{now:t,attemptId:r,workerSlotId:o,workerSessionId:n,leaseDurationMs:i,executableTypes:s,exclusiveTypes:a=[],brainVersion:c}=e,u=c?this.brainVersionGate(c,t):{admissible:void 0,noNewerWorker:void 0},d=this.db.select({slotId:qe.slotId}).from(qe).where(tt(je(qe.slotId,o),je(qe.sessionId,n),wn(qe.expiresAt,t))),f=this.noNewerLiveInstance(o,n,t),m=this.db.select({slotId:qe.slotId}).from(qe).where(tt(je(qe.slotId,Y.workerSlotId),je(qe.sessionId,Y.workerSessionId))),h=tt(je(Y.status,Oe.PROCESSING),nn(jr(Y.attemptId),Gi(m),Vi(Y.leaseExpiresAt,t))),b=Uy(Y,"running"),y=this.db.select({id:b.id}).from(b).where(tt(je(b.type,Y.type),je(b.status,Oe.PROCESSING),wn(b.leaseExpiresAt,t),C`${b.id} <> ${Y.id}`)),S=a.length===0?void 0:nn(Ay(Y.type,[...a]),Gi(y)),x=C`${Y.status} = ${Oe.PROCESSING} AND ${Y.retryCount} + 1 > ${Y.maxRetries}`,_=this.db.select({id:Y.id}).from(Y).where(tt(Wi(Y.type,s),S,u.admissible,nn(tt(je(Y.status,Oe.PENDING),Vi(Y.scheduledFor,t)),h))).orderBy(Lo(Y.priority),Lo(Y.createdAt)).limit(1),O=(await this.write("claim",async()=>this.db.update(Y).set({status:C`CASE WHEN ${x} THEN ${Oe.FAILED} ELSE ${Oe.PROCESSING} END`,retryCount:C`CASE WHEN ${Y.status} = ${Oe.PROCESSING} THEN ${Y.retryCount} + 1 ELSE ${Y.retryCount} END`,lastError:C`CASE WHEN ${Y.status} = ${Oe.PROCESSING} THEN 'Attempt lease expired' ELSE ${Y.lastError} END`,lastErrorPublic:C`CASE WHEN ${Y.status} = ${Oe.PROCESSING} THEN ${_3("deadline_exceeded")} ELSE ${Y.lastErrorPublic} END`,startedAt:C`CASE WHEN ${x} THEN ${Y.startedAt} ELSE ${t} END`,completedAt:C`CASE WHEN ${x} THEN ${t} ELSE NULL END`,attemptId:C`CASE WHEN ${x} THEN ${Y.attemptId} ELSE ${r} END`,workerSlotId:C`CASE WHEN ${x} THEN ${Y.workerSlotId} ELSE ${o} END`,workerSessionId:C`CASE WHEN ${x} THEN ${Y.workerSessionId} ELSE ${n} END`,leaseExpiresAt:C`CASE WHEN ${x} THEN ${Y.leaseExpiresAt} ELSE ${t+i} END`,attemptHeartbeatAt:C`CASE WHEN ${x} THEN ${Y.attemptHeartbeatAt} ELSE ${t} END`,runtimeUpdatedAt:C`CASE WHEN ${x} THEN ${this.nextRuntimeUpdatedAt(t)} ELSE ${Y.runtimeUpdatedAt} END`}).where(tt(Wi(Y.id,_),Ty(d),f,u.noNewerWorker)).returning()))[0];if(!O)return null;if(O.status===Oe.FAILED)return O;return this.logger.debug("Job claimed",{jobId:O.id,attemptId:O.attemptId,workerSlotId:o,workerSessionId:n}),O}noNewerLiveInstance(e,t,r){let o=Uy(qe,"claimer"),n=Uy(qe,"peer"),i=this.db.select({slotId:n.slotId}).from(n).innerJoin(o,tt(je(o.slotId,e),je(o.sessionId,t))).where(tt(je(n.stableSlotId,o.stableSlotId),wn(n.expiresAt,r),nn(wn(n.startedAt,o.startedAt),tt(je(n.startedAt,o.startedAt),wn(n.slotId,o.slotId)))));return Gi(i)}brainVersionGate(e,t){let r=Cf(e),o=this.db.select({slotId:qe.slotId}).from(qe).where(tt(wn(qe.expiresAt,t),wn(qe.brainVersionSortKey,r)));return{admissible:nn(jr(Y.brainVersionSortKey),Vi(Y.brainVersionSortKey,r)),noNewerWorker:Gi(o)}}nextRuntimeUpdatedAt(e){return C`max(${e}, coalesce((select max(${Y.runtimeUpdatedAt}) from ${Y}), 0) + 1)`}attemptWriteGuard(e,t){return t?tt(je(Y.id,e),je(Y.status,Oe.PROCESSING),je(Y.attemptId,t)):tt(je(Y.id,e),jr(Y.attemptId),nn(je(Y.status,Oe.PENDING),je(Y.status,Oe.PROCESSING)))}}var hpe=2000,gpe=5,ype=40,bpe,Spe;var E3=w(()=>{K$();My();H$();Mt();he();Oo();Jd();S3();Q$();bpe=l.number().int().min(0).max(1000),Spe=new W$});import{AsyncLocalStorage as vpe}from"async_hooks";class Pf{storage=new vpe;static createFresh(){return new Pf}constructor(){}current(){return this.storage.getStore()}run(e,t,r){if(t.length===0)throw Error("Operation ID must not be empty");let o=ni.parse(e),n=wpe(o);return this.storage.run(Object.freeze({provenance:n,operationId:t}),r)}}function wpe(e){if(Object.freeze(e.projectionLineage),e.sourceEntity)Object.freeze(e.sourceEntity);return Object.freeze(e)}var X$=w(()=>{Mt()});class zf{client;logger;handlerRegistry;repository;walInitialization=null;walInitializationSettled=!1;closeRequested=!1;clientClosed=!1;inFlightEnqueues=0;databaseUrl;operationContext;projectionAdmission;directWorkerSlotId=`direct:${Ro()}`;directWorkerSessionId=Ro();directLeaseDurationMs;directSessionStart=null;brainVersion;close(){this.closeRequested=!0,this.closeClientWhenReady()}static createFresh(e,t,r){return new zf(e,t??kr.getInstance(),r)}constructor(e,t,r){this.brainVersion=e.brainVersion===void 0?void 0:w3.parse(e.brainVersion);let{db:o,client:n,url:i}=y3(e);this.client=n,this.databaseUrl=i,this.logger=t.child("JobQueueService"),this.operationContext=r?.operationContext??Pf.createFresh(),this.projectionAdmission=r?.projectionAdmission,this.handlerRegistry=new V$(this.logger,r?.handlerRegistrationMode??"combined"),this.repository=new Y$(o,n,i,this.logger),this.directLeaseDurationMs=e.claimTimeoutMs??300000}initialize(){if(this.closeRequested)return Promise.resolve();return this.walInitialization??=this.initializeWALMode(),this.walInitialization}async initializeWALMode(){try{await Wy(this.client,this.databaseUrl)}catch(e){this.logger.warn("Failed to enable WAL mode (non-fatal)",e)}finally{this.walInitializationSettled=!0,this.closeClientWhenReady()}}closeClientWhenReady(){if(!this.closeRequested||this.inFlightEnqueues>0||this.walInitialization!==null&&!this.walInitializationSettled)return;this.closeClient()}closeClient(){if(this.clientClosed)return;this.clientClosed=!0,this.client.close()}registerHandler(e,t,r){this.handlerRegistry.registerHandler(e,t,r)}unregisterHandler(e){this.handlerRegistry.unregisterHandler(e)}unregisterPluginHandlers(e){this.handlerRegistry.unregisterPluginHandlers(e)}getRegisteredTypes(){return this.handlerRegistry.getRegisteredTypes()}getHandler(e){return this.handlerRegistry.getHandler(e)}getValidator(e){return this.handlerRegistry.getValidator(e)}finalizeHandlerRegistrations(){return this.handlerRegistry.finalizeRegistrations()}getExecutionRegistrations(){return this.handlerRegistry.getExecutionRegistrations()}async enqueue(e){if(this.closeRequested)throw Error("Cannot enqueue a job after the queue service is closed");this.inFlightEnqueues++;try{return await this.enqueueValidated(e)}finally{this.inFlightEnqueues--,this.closeClientWhenReady()}}async enqueueValidated(e){let{type:t,data:r,options:o}=e,n=this.handlerRegistry.getValidator(t);if(!n)throw Error(`No job type declared: ${t}`);let i=n.validateAndParse(r);if(i===null)throw Error(`Invalid job data for type: ${t}`);let s=Date.now(),a=Ro(),c=o?.rootJobId??(o?.detached?a:this.operationContext.current()?.provenance.rootJobId)??a,u=this.createJobProvenance(a,c,o),d=o?.metadata??{operationType:"data_processing"},{provenance:f,...m}=d,h={id:a,type:t,data:JSON.stringify(i),status:Oe.PENDING,priority:o?.priority??0,maxRetries:o?.maxRetries??3,retryCount:0,source:o?.source??null,metadata:{...m,...o?.deduplicationKey&&{deduplicationKey:o.deduplicationKey},rootJobId:c,provenance:u},createdAt:s,scheduledFor:o?.delayMs?s+o.delayMs:s,result:null,lastError:null,startedAt:null,completedAt:null,brainVersion:this.brainVersion},b,y=()=>{b?.rollback(),b=void 0};try{let S=await this.repository.enqueueAtomic({jobData:h,strategy:o?.deduplication,deduplicationKey:o?.deduplicationKey,beforeInsert:async()=>{b=await this.projectionAdmission?.reserveJobAdmission(u)},onInsertRollback:y});if(b?.commit(),b=void 0,S.kind==="skipped")this.logger.debug("Skipping duplicate job (already pending)",{type:t,existingJobId:S.jobId});else if(S.kind==="coalesced")this.logger.debug("Coalescing with existing job",{type:t,existingJobId:S.jobId});else{if(S.kind==="replaced")this.logger.debug("Replacing duplicate job",{type:t,oldJobId:S.replacedJobId});this.logger.debug("Job enqueued",{id:S.jobId,type:t,priority:h.priority,rootJobId:h.metadata.rootJobId})}return S.jobId}catch(S){throw y(),this.logger.error("Failed to enqueue job",{type:t,error:Ge(S)}),S}}createJobProvenance(e,t,r){let o=this.operationContext.current(),n=r?.metadata.provenance??o?.provenance,i=n?.rootJobId===t?n:void 0,s=o?.provenance.rootJobId===t?o.operationId:void 0,a=r?.projection,c=a?[...i?.projectionLineage??[],a.id]:[...i?.projectionLineage??[]],u=a?.id??i?.projectionId;return ni.parse({rootJobId:t,causationId:s??i?.causationId??e,...u?{projectionId:u}:{},projectionLineage:c,...a?.sourceEntity?{sourceEntity:a.sourceEntity}:i?.sourceEntity?{sourceEntity:i.sourceEntity}:{},derivationDepth:c.length})}async dequeue(e){let t=this.handlerRegistry.getRegisteredTypes();if(t.length===0)return null;let{onTerminalReclaim:r,...o}=e??await this.getDirectClaimOptions(),n=Date.now(),i=await this.repository.claimNextReady({...o,workerSlotId:this.sessionSlotId(o.workerSlotId,o.workerSessionId),brainVersion:this.brainVersion,now:n,attemptId:Ro(),executableTypes:t,exclusiveTypes:this.handlerRegistry.getExclusiveTypes()});if(!i)return null;if(i.status===Oe.FAILED)return this.logger.warn("Expired attempt failed terminally on reclaim",{id:i.id,type:i.type,retryCount:i.retryCount}),await r?.(i),null;return this.logger.debug("Job dequeued",{id:i.id,type:i.type,priority:i.priority,retryCount:i.retryCount,attemptId:i.attemptId,workerSlotId:i.workerSlotId,workerSessionId:i.workerSessionId}),i}async startWorkerSession(e,t,r=Di){await this.repository.startWorkerSession(this.sessionSlotId(e,t),t,Date.now(),r,this.brainVersion,this.versionedSlotId(e))}heartbeatWorkerSession(e,t,r=Di){return this.repository.heartbeatWorkerSession(this.sessionSlotId(e,t),t,Date.now(),r)}endWorkerSession(e,t){return this.repository.endWorkerSession(this.sessionSlotId(e,t),t)}versionedSlotId(e){return this.brainVersion?`${e}@${this.brainVersion}`:e}sessionSlotId(e,t){return`${this.versionedSlotId(e)}#${t}`}renewAttemptLease(e,t,r){return this.repository.renewAttemptLease(e,t,Date.now(),r)}recordAttemptProgress(e,t,r){return this.repository.recordAttemptProgress(e,t,r)}complete(e,t,r){return this.repository.complete(e,t,r)}update(e,t,r){return this.repository.update(e,t,r)}fail(e,t,r){return this.repository.fail(e,t,r)}retireUnownedActiveJob(e){return this.repository.retireUnownedActiveJob(e)}async getDirectClaimOptions(){return this.directSessionStart??=this.repository.startWorkerSession(this.sessionSlotId(this.directWorkerSlotId,this.directWorkerSessionId),this.directWorkerSessionId,Date.now(),this.directLeaseDurationMs,this.brainVersion),await this.directSessionStart,{workerSlotId:this.directWorkerSlotId,workerSessionId:this.directWorkerSessionId,leaseDurationMs:this.directLeaseDurationMs}}async getStatus(e){return this.repository.getStatus(e)}async getJobsByRootJobId(e){return this.repository.getJobsByRootJobId(e)}async getStatusByEntityId(e){return this.repository.getStatusByEntityId(e)}async getStats(){return this.repository.getStats()}getDiagnostics(e){return this.repository.getDiagnostics(e)}async waitForIdle(e={}){let t=e.quietMs??250,r=e.pollIntervalMs??25,o=Date.now()+(e.timeoutMs??30000),n=async(i)=>{e.signal?.throwIfAborted();let{totals:s}=await this.getDiagnostics(),c=s.pending===0&&s.processing===0?i??Date.now():null;if(c!==null&&Date.now()-c>=t)return;if(Date.now()>=o)throw Error(`Timed out waiting for the job queue to settle: ${s.pending} pending, ${s.processing} processing`);return await Bun.sleep(r),n(c)};return n(null)}getRuntimeUpdates(e,t=1000){return this.repository.getRuntimeUpdates(e,t)}async cleanup(e){let t=await this.repository.cleanup(e);if(t>0)this.logger.info("Cleaned up old jobs",{deletedCount:t,olderThanMs:e});return t}async getActiveJobs(e){return this.repository.getActiveJobs(e)}async getRecentJobs(e,t){return this.repository.getRecentJobs(e,t)}async getFailedJobs(e){return this.repository.getFailedJobs(e)}}var I3=w(()=>{Md();nT();Jd();Oo();J$();b3();E3();Mt();X$();Q$()});var eR=()=>{};var k3=w(()=>{Md();Oo();Jd();Oo();eR();X$()});var A3=w(()=>{Oo();eR()});var oqe;var T3=w(()=>{he();Fd();Oo();oqe=l.preprocess((e)=>{if(typeof e!=="string")return e;return JSON.parse(e)},l.record(l.string(),l.unknown()))});var aqe;var $3=w(()=>{he();aqe=l.record(l.string(),l.unknown())});var R3=w(()=>{Mt();Md()});var O3=w(()=>{I3();k3();A3();T3();$3();Jd();Oo();Fd();R3()});var tR={};Ut(tR,{LEGACY_PROJECTION_JOB_TYPES:()=>P3,LEGACY_PROJECTION_RETIREMENT_REASON:()=>N3,legacyProjectionJobTypeSchema:()=>z3,retireLegacyProjectionJob:()=>Ope});import{existsSync as Tpe}from"fs";import{resolve as $pe}from"path";function C3(e){return{id:e.id,type:e.type,status:e.status,retryCount:e.retryCount,maxRetries:e.maxRetries,createdAt:e.createdAt,startedAt:e.startedAt,completedAt:e.completedAt}}function Rpe(e,t){if(e.type!==t)throw Error(`Job ${e.id} has type ${e.type}; expected ${t}`);if(e.status!=="pending"&&e.status!=="processing")throw Error(`Job ${e.id} is already terminal (${e.status})`);if(e.attemptId!==null||e.workerSlotId!==null||e.workerSessionId!==null||e.leaseExpiresAt!==null||e.attemptHeartbeatAt!==null)throw Error(`Job ${e.id} still has attempt ownership`);if(e.progress!==null||e.result!=null)throw Error(`Job ${e.id} contains partial progress or a result`)}async function Ope(e){let t=$pe(e.databasePath);if(!Tpe(t))throw Error(`Job database does not exist: ${t}`);let r=z3.parse(e.jobType),o=zf.createFresh({url:`file:${t}`});try{let n=await o.getStatus(e.jobId);if(!n)throw Error(`Job not found: ${e.jobId}`);if(Rpe(n,r),e.dryRun){if(e.confirmation!==void 0)throw Error("Dry-run recovery must not include confirmation");return{databasePath:t,job:C3(n),retired:!1}}let i=`retire:${n.id}`;if(e.confirmation!==i)throw Error(`Refusing to retire ${n.id}; expected --confirm ${i}`);let s=await o.retireUnownedActiveJob({jobId:n.id,expectedType:r,reason:N3,now:e.now?.()??Date.now()});if(!s)throw Error(`Job ${n.id} changed or acquired ownership before retirement`);return{databasePath:t,job:C3(s),retired:!0}}finally{o.close()}}var P3,z3,N3="Retired legacy projection job superseded by scheduler-owned projections";var rR=w(()=>{O3();he();P3=["conversation-memory:project","skill:project","swot:derive","topic:project"],z3=l.enum(P3)});function Zt(e,t,r,o,n){return L3.parse({id:e,operation:t,count:r,targetProbeCount:o,settleMs:n})}function oR(e){return Df.parse(structuredClone(Npe[e]))}function Lf(e){let t=`stress:${e.handle}`;if(e.confirmation!==t)throw Error(`Directory-sync stress requires --confirm ${t}`);let r=/(^|[-_.])smoke($|[-_.])/i;if(!r.test(e.handle)||!r.test(e.domain)||!r.test(e.contentRepo))throw Error("Directory-sync stress is smoke-only; handle, domain, and content repository must all identify smoke")}async function Qy(e,t={}){let r=t.fetchImpl??fetch,o=t.now??(()=>new Date),n=t.timeoutMs??20000,i=o(),s=new AbortController,a=setTimeout(()=>s.abort(),n);try{let c=await r(e,{method:"GET",signal:s.signal});return await c.arrayBuffer(),nR.parse({timestamp:i.toISOString(),endpoint:new URL(e).pathname,status:c.status,durationMs:Math.max(0,o().getTime()-i.getTime()),ok:c.ok})}catch(c){return nR.parse({timestamp:i.toISOString(),endpoint:new URL(e).pathname,status:0,durationMs:Math.max(0,o().getTime()-i.getTime()),ok:!1,error:Dpe(c)})}finally{clearTimeout(a)}}async function iR(e,t){let r=Df.parse(e),o=[],n,i=await t.prepare(r),s,a;try{try{await t.startMonitoring()}catch(c){n=`monitor: ${Gy(c)}`}if(!n)for(let c of r.phases)try{let u=B3.parse(await t.executePhase(c,i));if(o.push(u),!u.success){n=`${c.id}: ${u.error??"phase failed"}`;break}}catch(u){let d=Gy(u);o.push({id:c.id,operation:c.operation,count:c.count,success:!1,error:d}),n=`${c.id}: ${d}`;break}}finally{try{if(s=j3.parse(await t.cleanup(i)),!s.success&&!n)n=s.error??"cleanup failed"}catch(c){let u=Gy(c);s={success:!1,probesRemaining:0,error:u},n??=`cleanup: ${u}`}try{a=Z3.parse(await t.stopMonitoring())}catch(c){let u=Gy(c);a={health:[],runtime:[]},n??=`monitor: ${u}`}}return n??=q3(a,r.maximumExternalAiCalls??0),U3.parse({profile:r.profile,success:n===void 0&&o.length===r.phases.length&&s.success,baseline:i,phases:o,cleanup:s,metrics:a,...n?{failure:n}:{}})}function q3(e,t=0){let r=e.health.find((i)=>!i.ok);if(r)return`health: ${r.endpoint} unavailable`;let o=e.externalAiCalls??0;if(o>t)return t===0?`external AI: observed ${o} call(s)`:`external AI: observed ${o} call(s), cap ${t}`;if(e.container?.oomKilled)return"container: OOM killed";let n=e.container?.restartCount??0;if(n>0)return`container: restarted ${n} time(s)`;if(e.container&&e.container.status!=="running")return`container: ${e.container.status}`;return}function Dpe(e){if(e instanceof Error)return`${e.name}: ${e.message}`;return String(e)}function Gy(e){return Ge(e)}var Nf,D3,L3,Df,Cpe,nR,Ppe,B3,j3,zpe,Z3,U3,Npe;var Yy=w(()=>{he();Nf=l.enum(["regression","load","stress"]),D3=l.enum(["add","update","rename","delete"]),L3=l.object({id:l.string().min(1),operation:D3,count:l.number().int().positive().max(700),targetProbeCount:l.number().int().min(0).max(700),settleMs:l.number().int().nonnegative().max(300000)}),Df=l.object({profile:Nf,maximumProbeCount:l.number().int().positive().max(700),maximumExternalAiCalls:l.number().int().nonnegative().max(1e4).optional(),phases:l.array(L3).min(1)}),Cpe=l.object({entities:l.number().int().nonnegative(),notes:l.number().int().nonnegative(),version:l.string().min(1)}),nR=l.object({timestamp:l.iso.datetime(),endpoint:l.string().startsWith("/"),status:l.number().int().nonnegative(),durationMs:l.number().nonnegative(),ok:l.boolean(),error:l.string().optional()}),Ppe=l.object({timestamp:l.iso.datetime(),cpuPercent:l.number().nonnegative(),memoryPercent:l.number().nonnegative(),pids:l.number().int().nonnegative()}),B3=l.object({id:l.string().min(1),operation:D3,count:l.number().int().positive(),success:l.boolean(),commitLatencyMs:l.number().nonnegative().optional(),persistenceLatencyMs:l.number().nonnegative().optional(),error:l.string().optional()}),j3=l.object({success:l.boolean(),probesRemaining:l.number().int().nonnegative(),finalEntities:l.number().int().nonnegative().optional(),finalNotes:l.number().int().nonnegative().optional(),contentTreeRestored:l.boolean().optional(),error:l.string().optional()}),zpe=l.object({status:l.string(),restartCount:l.number().int().nonnegative(),oomKilled:l.boolean()}),Z3=l.object({health:l.array(nR),runtime:l.array(Ppe),externalAiCalls:l.number().int().nonnegative().optional(),container:zpe.optional()}),U3=l.object({profile:Nf,success:l.boolean(),baseline:Cpe,phases:l.array(B3),cleanup:j3,metrics:Z3,failure:l.string().optional()}),Npe={regression:{profile:"regression",maximumProbeCount:20,phases:[Zt("add20","add",20,20,0),Zt("update20","update",20,20,30000),Zt("delete20","delete",20,0,150000)]},load:{profile:"load",maximumProbeCount:350,phases:[Zt("add50","add",50,50,0),Zt("add150","add",100,150,0),Zt("add350","add",200,350,0),Zt("update350a","update",350,350,45000),Zt("rename100","rename",100,350,45000),Zt("update350b","update",350,350,45000),Zt("delete350","delete",350,0,150000)]},stress:{profile:"stress",maximumProbeCount:700,phases:[Zt("add50","add",50,50,0),Zt("add150","add",100,150,0),Zt("add350","add",200,350,0),Zt("add700","add",350,700,0),Zt("update700a","update",700,700,45000),Zt("rename200","rename",200,700,45000),Zt("update700b","update",700,700,45000),Zt("delete700","delete",700,0,150000)]}}});import{spawn as Lpe}from"child_process";async function M3(e,t,r,o){let n=await e(t,r,o);if(n.exitCode!==0)throw eo(t,r,n);return n}function eo(e,t,r){let o=r.stderr.trim()||r.stdout.trim();return Error(`${e} ${t.join(" ")} exited with ${r.exitCode}${o?`: ${o}`:""}`)}var Mo=async(e,t,r={})=>new Promise((o,n)=>{let i=Lpe(e,[...t],{cwd:r.cwd,env:r.env?{...process.env,...r.env}:process.env,stdio:["pipe","pipe","pipe"]}),s="",a="";i.stdout.setEncoding("utf8"),i.stderr.setEncoding("utf8"),i.stdout.on("data",(c)=>{s+=c}),i.stderr.on("data",(c)=>{a+=c}),i.on("error",n),i.on("close",(c)=>{o({exitCode:c??1,stdout:s,stderr:a})}),i.stdin.end(r.stdin)});var Bf=()=>{};class kl{#e;#t;dir;constructor(e,t,r){this.#e=e,this.dir=t,this.#t=r}static async clone(e,t,r,o){let n=new kl(e,r,o);return await M3(e,"git",["-c","credential.helper=","-c",`credential.helper=${F3}`,"clone","--branch","main","--single-branch",`https://github.com/${t}.git`,r],{env:n.environment()}),await n.run(["config","--local","credential.helper",F3]),await n.run(["reset","--hard","origin/main"]),n}async run(e,t=!0){let r=await this.#e("git",e,{cwd:this.dir,env:this.environment()});if(t&&r.exitCode!==0)throw eo("git",e,r);return r}async output(e){return(await this.run(e)).stdout.trim()}async sync(e=!1){if(await this.run(["fetch","origin","main"]),e)await this.run(["reset","--hard","origin/main"]);else await this.run(["pull","--rebase","origin","main"])}async commitAll(e){await this.run(["add","-A"]),await this.run(["-c","user.name=brains-ops","-c","user.email=ops@rizom.ai","commit","-m",e])}async pushMainWithRebase(){for(let e=1;e<=5;e+=1){if((await this.run(["push","origin","main"],!1)).exitCode===0)return;await this.run(["pull","--rebase","origin","main"])}throw Error("Unable to push content main after five rebase attempts")}async pruneStressBackupBranches(){let t=(await this.run(["ls-remote","--heads","origin","refs/heads/ops/directory-sync-stress-backup-*"])).stdout.split(/\r?\n/).map((r)=>r.match(/\trefs\/heads\/(ops\/directory-sync-stress-backup-[^\s]+)$/)?.[1]).filter((r)=>r!==void 0).sort();for(let r of t)await this.run(["push","origin","--delete",r]);return t}environment(){return{GH_TOKEN:this.#t,GITHUB_TOKEN:this.#t}}}var F3='!f() { test "$1" = get && echo username=x-access-token && echo "password=$GH_TOKEN"; }; f';var J3=w(()=>{Bf()});function jf(e){return e.entityCounts.find((t)=>t.entityType==="note")?.count??0}class sR{#e;#t=[];#r=[];#n=new Set(["/health/ready"]);#o=!0;#i;#a;#s="";#c=0;#l;constructor(e){this.#e=e}get startedAt(){return this.#s}get error(){return this.#a}get healthSamples(){return this.#t}get runtimeSamples(){return this.#r}gateHealthSamples(){return this.#t.slice(this.#c,this.#l??this.#t.length)}markGateEnd(){this.#l=this.#t.length}async discoverEndpoints(){for(let e of["/health/live","/health/operate"])if((await Qy(`https://${this.#e.domain}${e}`,{fetchImpl:this.#e.fetchImpl,now:this.#e.now,timeoutMs:5000})).status!==404)this.#n.add(e)}start(){this.#o=!1,this.#a=void 0,this.#c=this.#t.length,this.#l=void 0,this.#s=this.#e.now().toISOString(),this.#i=Promise.all([this.#m(),this.#p()]).then(()=>{return}).catch((e)=>{this.#a=e,this.#o=!0})}async stop(){this.#o=!0,await this.#i}async waitForHealthSnapshot(e){return this.waitForEntityBaseline(void 0,void 0,e)}async waitForEntityBaseline(e,t,r){let o=this.#e.now().getTime();while(this.#e.now().getTime()-o<r){let n=await this.fetchHealthPayload();if(this.#f(n,e,t))return n;await this.#e.sleep(5000)}return}async waitForStableEntityBaseline(e,t,r){let o=this.#e.now().getTime(),n=0;while(this.#e.now().getTime()-o<r){let i=await this.fetchHealthPayload();if(this.#f(i,e,t)){if(n+=1,n===2)return i}else n=0;await this.#e.sleep(5000)}return}async fetchHealthPayload(){let e=await this.#d();if(e===void 0)return;let t=await this.#e.readEntityCounts();if(!t)return;return{version:e,entities:t.reduce((r,o)=>r+o.count,0),entityCounts:t}}async#d(){let e=this.#e.now(),t=new AbortController,r=setTimeout(()=>t.abort(),20000);try{let o=await this.#e.fetchImpl(`https://${this.#e.domain}/health/operate`,{signal:t.signal}),n=await o.text();if(this.#t.push({timestamp:e.toISOString(),endpoint:"/health/operate",status:o.status,durationMs:Math.max(0,this.#e.now().getTime()-e.getTime()),ok:o.ok}),!o.ok)return;return Bpe.parse(JSON.parse(n)).app.version}catch(o){this.#t.push({timestamp:e.toISOString(),endpoint:"/health/operate",status:0,durationMs:Math.max(0,this.#e.now().getTime()-e.getTime()),ok:!1,error:o instanceof Error?`${o.name}: ${o.message}`:String(o)});return}finally{clearTimeout(r)}}#f(e,t,r){return e!==void 0&&(t===void 0||jf(e)===t)&&(r===void 0||e.entities===r)}async#m(){while(!this.#o){for(let e of this.#n)this.#t.push(await Qy(`https://${this.#e.domain}${e}`,{fetchImpl:this.#e.fetchImpl,now:this.#e.now,timeoutMs:20000}));await this.#e.sleep(4000)}}async#p(){while(!this.#o){let e=await this.#e.sampleRuntime();if(e)this.#r.push(e);await this.#e.sleep(1000)}}}var K3,Bpe;var H3=w(()=>{he();Yy();K3=l.array(l.object({entityType:l.string(),count:l.number().int().nonnegative()})),Bpe=l.object({status:l.literal("ready"),operationalStatus:l.literal("operational"),app:l.object({version:l.string()})})});var Xy={};Ut(Xy,{applyDirectorySyncStressPhase:()=>e5,cleanupDirectorySyncStress:()=>Q3,listProbeFiles:()=>ua,parseStressRuntimeSample:()=>t5,removeProbeFiles:()=>pR,runDeployedDirectorySyncStress:()=>W3,runStressCommand:()=>Mo,verifyDirectorySyncStressAccess:()=>G3});import{chmod as jpe,mkdir as cR,mkdtemp as lR,readFile as Zpe,readdir as Upe,rename as qpe,rm as Uf,writeFile as En}from"fs/promises";import{tmpdir as uR}from"os";import{join as ct,resolve as dR}from"path";async function W3(e){let t=e.now??(()=>new Date),r=t().toISOString(),o=mR(r),n=dR(e.artifactsDir??ct(e.rootDir,".brains-ops","stress",o));await cR(n,{recursive:!0});let{pilot:i,user:s}=await fR(e.rootDir,e.handle);Lf({handle:s.handle,domain:s.domain,contentRepo:s.contentRepo,confirmation:e.confirmation});let a=Nf.parse(e.profile),c=e.plan?Df.parse(e.plan):oR(a);if(c.profile!==a)throw Error(`Directory-sync stress plan profile ${c.profile} does not match requested profile ${a}`);if((c.maximumExternalAiCalls??0)===0)X3(s);let u=Mpe.parse(e.env??process.env),d=new Y3({runId:o,artifactsDir:n,user:s,githubOrg:i.githubOrg,serverLabel:`${i.contentRepoPrefix}${s.handle}`,environment:u,fetchImpl:e.fetchImpl??fetch,commandRunner:e.commandRunner??Mo,logger:e.logger??console.info,now:t,sleep:e.sleep??Bun.sleep}),f;try{f=await iR(c,d)}finally{await d.dispose()}let m={runId:o,artifactsDir:n,target:{handle:s.handle,domain:s.domain,contentRepo:`${i.githubOrg}/${s.contentRepo}`},startedAt:r,completedAt:t().toISOString(),report:f};return await Wpe(m),m}async function G3(e){let r=(e.now??(()=>new Date))().toISOString(),o=mR(r),n=dR(e.artifactsDir??ct(e.rootDir,".brains-ops","stress",`access-check-${o}`));await cR(n,{recursive:!0});let{pilot:i,user:s}=await fR(e.rootDir,e.handle);Lf({handle:s.handle,domain:s.domain,contentRepo:s.contentRepo,confirmation:e.confirmation}),X3(s);let a=(e.env??process.env).CONTENT_REPO_ADMIN_TOKEN;if(!a)throw Error("Missing CONTENT_REPO_ADMIN_TOKEN");let c=await lR(ct(uR(),"brains-ops-directory-sync-access-check-"));try{let u=await kl.clone(e.commandRunner??Mo,`${i.githubOrg}/${s.contentRepo}`,ct(c,"content"),a),d=await u.output(["rev-parse","HEAD"]);await u.run(["push","--dry-run","origin",`HEAD:refs/heads/ops/directory-sync-stress-access-check-${o}`]);let f={success:!0,artifactsDir:n,checkedAt:r,remoteHead:d,target:{handle:s.handle,domain:s.domain,contentRepo:`${i.githubOrg}/${s.contentRepo}`}};return await En(ct(n,"access-check.json"),`${JSON.stringify(f,null,2)}
398
+ `;await t.run(n);let s=(await t.values(C`SELECT id, hash, created_at FROM ${C.identifier(o)} ORDER BY created_at DESC LIMIT 1`))[0]??void 0;await t.transaction(async(a)=>{for(let c of e)if(!s||Number(s[2])<c.folderMillis){for(let u of c.sql)await a.run(C.raw(u));await a.run(C`INSERT INTO ${C.identifier(o)} ("hash", "created_at") VALUES(${c.hash}, ${c.folderMillis})`)}})}}});var I$;var WF=w(()=>{Re();I$=class I${static[F]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}}});function Ny(e,t){return(r,o,...n)=>{let i=[o,...n].map((s)=>({type:e,isAll:t,rightSelect:s}));for(let s of i)if(!Sf(r.getSelectedFields(),s.rightSelect.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return r.addSetOperators(i)}}var _n,GF,k$,Yfe=()=>({union:Xfe,unionAll:epe,intersect:tpe,except:rpe}),Xfe,epe,tpe,rpe;var A$=w(()=>{Re();WF();Bo();ca();Yt();vn();sr();br();Do();wl();Af();_n=class _n{static[F]="SQLiteSelectBuilder";fields;session;dialect;withList;distinct;constructor(e){this.fields=e.fields,this.session=e.session,this.dialect=e.dialect,this.withList=e.withList,this.distinct=e.distinct}from(e){let t=!!this.fields,r;if(this.fields)r=this.fields;else if(oe(e,ft))r=Object.fromEntries(Object.keys(e._.selectedFields).map((o)=>[o,e[o]]));else if(oe(e,qo))r=e[pt].selectedFields;else if(oe(e,xe))r={};else r=Iy(e);return new k$({table:e,fields:r,isPartialSelect:t,session:this.session,dialect:this.dialect,withList:this.withList,distinct:this.distinct})}};GF=class GF extends I${static[F]="SQLiteSelectQueryBuilder";_;config;joinsNotNullableMap;tableName;isPartialSelect;session;dialect;cacheConfig=void 0;usedTables=new Set;constructor({table:e,fields:t,isPartialSelect:r,session:o,dialect:n,withList:i,distinct:s}){super();this.config={withList:i,table:e,fields:{...t},distinct:s,setOperators:[]},this.isPartialSelect=r,this.session=o,this.dialect=n,this._={selectedFields:t,config:this.config},this.tableName=vf(e),this.joinsNotNullableMap=typeof this.tableName==="string"?{[this.tableName]:!0}:{};for(let a of xn(e))this.usedTables.add(a)}getUsedTables(){return[...this.usedTables]}createJoin(e){return(t,r)=>{let o=this.tableName,n=vf(t);for(let i of xn(t))this.usedTables.add(i);if(typeof n==="string"&&this.config.joins?.some((i)=>i.alias===n))throw Error(`Alias "${n}" is already used in this query`);if(!this.isPartialSelect){if(Object.keys(this.joinsNotNullableMap).length===1&&typeof o==="string")this.config.fields={[o]:this.config.fields};if(typeof n==="string"&&!oe(t,xe)){let i=oe(t,ft)?t._.selectedFields:oe(t,tn)?t[pt].selectedFields:t[me.Symbol.Columns];this.config.fields[n]=i}}if(typeof r==="function")r=r(new Proxy(this.config.fields,new at({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));if(!this.config.joins)this.config.joins=[];if(this.config.joins.push({on:r,table:t,joinType:e,alias:n}),typeof n==="string")switch(e){case"left":{this.joinsNotNullableMap[n]=!1;break}case"right":{this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([i])=>[i,!1])),this.joinsNotNullableMap[n]=!0;break}case"cross":case"inner":{this.joinsNotNullableMap[n]=!0;break}case"full":{this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([i])=>[i,!1])),this.joinsNotNullableMap[n]=!1;break}}return this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");crossJoin=this.createJoin("cross");createSetOperator(e,t){return(r)=>{let o=typeof r==="function"?r(Yfe()):r;if(!Sf(this.getSelectedFields(),o.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return this.config.setOperators.push({type:e,isAll:t,rightSelect:o}),this}}union=this.createSetOperator("union",!1);unionAll=this.createSetOperator("union",!0);intersect=this.createSetOperator("intersect",!1);except=this.createSetOperator("except",!1);addSetOperators(e){return this.config.setOperators.push(...e),this}where(e){if(typeof e==="function")e=e(new Proxy(this.config.fields,new at({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));return this.config.where=e,this}having(e){if(typeof e==="function")e=e(new Proxy(this.config.fields,new at({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));return this.config.having=e,this}groupBy(...e){if(typeof e[0]==="function"){let t=e[0](new Proxy(this.config.fields,new at({sqlAliasedBehavior:"alias",sqlBehavior:"sql"})));this.config.groupBy=Array.isArray(t)?t:[t]}else this.config.groupBy=e;return this}orderBy(...e){if(typeof e[0]==="function"){let t=e[0](new Proxy(this.config.fields,new at({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),r=Array.isArray(t)?t:[t];if(this.config.setOperators.length>0)this.config.setOperators.at(-1).orderBy=r;else this.config.orderBy=r}else{let t=e;if(this.config.setOperators.length>0)this.config.setOperators.at(-1).orderBy=t;else this.config.orderBy=t}return this}limit(e){if(this.config.setOperators.length>0)this.config.setOperators.at(-1).limit=e;else this.config.limit=e;return this}offset(e){if(this.config.setOperators.length>0)this.config.setOperators.at(-1).offset=e;else this.config.offset=e;return this}getSQL(){return this.dialect.buildSelectQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}as(e){let t=[];if(t.push(...xn(this.config.table)),this.config.joins)for(let r of this.config.joins)t.push(...xn(r.table));return new Proxy(new ft(this.getSQL(),this.config.fields,e,!1,[...new Set(t)]),new at({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}getSelectedFields(){return new Proxy(this.config.fields,new at({alias:this.tableName,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}$dynamic(){return this}};k$=class k$ extends GF{static[F]="SQLiteSelect";_prepare(e=!0){if(!this.session)throw Error("Cannot execute a query on a query builder. Please use a database instance instead.");let t=rn(this.config.fields),r=this.session[e?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),t,"all",!0,void 0,{type:"select",tables:[...this.usedTables]},this.cacheConfig);return r.joinsNotNullableMap=this.joinsNotNullableMap,r}$withCache(e){return this.cacheConfig=e===void 0?{config:{},enable:!0,autoInvalidate:!0}:e===!1?{enable:!1}:{enable:!0,autoInvalidate:!0,...e},this}prepare(){return this._prepare(!1)}run=(e)=>this._prepare().run(e);all=(e)=>this._prepare().all(e);get=(e)=>this._prepare().get(e);values=(e)=>this._prepare().values(e);async execute(){return this.all()}};TM(k$,[Sr]);Xfe=Ny("union",!1),epe=Ny("union",!0),tpe=Ny("intersect",!1),rpe=Ny("except",!1)});var la;var Dy=w(()=>{Re();ca();zy();vn();A$();la=class la{static[F]="SQLiteQueryBuilder";dialect;dialectConfig;constructor(e){this.dialect=oe(e,_l)?e:void 0,this.dialectConfig=oe(e,_l)?void 0:e}$with=(e,t)=>{let r=this;return{as:(n)=>{if(typeof n==="function")n=n(r);return new Proxy(new gf(n.getSQL(),t??("getSelectedFields"in n?n.getSelectedFields()??{}:{}),e,!0),new at({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}}};with(...e){let t=this;function r(n){return new _n({fields:n??void 0,session:void 0,dialect:t.getDialect(),withList:e})}function o(n){return new _n({fields:n??void 0,session:void 0,dialect:t.getDialect(),withList:e,distinct:!0})}return{select:r,selectDistinct:o}}select(e){return new _n({fields:e??void 0,session:void 0,dialect:this.getDialect()})}selectDistinct(e){return new _n({fields:e??void 0,session:void 0,dialect:this.getDialect(),distinct:!0})}getDialect(){if(!this.dialect)this.dialect=new _$(this.dialectConfig);return this.dialect}}});var Ly,T$;var QF=w(()=>{Re();Bo();Yt();jo();sr();br();wl();Dy();Ly=class Ly{constructor(e,t,r,o){this.table=e,this.session=t,this.dialect=r,this.withList=o}static[F]="SQLiteInsertBuilder";values(e){if(e=Array.isArray(e)?e:[e],e.length===0)throw Error("values() must be called with at least one value");let t=e.map((r)=>{let o={},n=this.table[me.Symbol.Columns];for(let i of Object.keys(r)){let s=r[i];o[i]=oe(s,xe)?s:new Br(s,n[i])}return o});return new T$(this.table,t,this.session,this.dialect,this.withList)}select(e){let t=typeof e==="function"?e(new la):e;if(!oe(t,xe)&&!Sf(this.table[xy],t._.selectedFields))throw Error("Insert select error: selected fields are not the same or are in a different order compared to the table definition");return new T$(this.table,t,this.session,this.dialect,this.withList,!0)}};T$=class T$ extends Sr{constructor(e,t,r,o,n,i){super();this.session=r,this.dialect=o,this.config={table:e,values:t,withList:n,select:i}}static[F]="SQLiteInsert";config;returning(e=this.config.table[At.Symbol.Columns]){return this.config.returning=rn(e),this}onConflictDoNothing(e={}){if(!this.config.onConflict)this.config.onConflict=[];if(e.target===void 0)this.config.onConflict.push(C` on conflict do nothing`);else{let t=Array.isArray(e.target)?C`${e.target}`:C`${[e.target]}`,r=e.where?C` where ${e.where}`:C``;this.config.onConflict.push(C` on conflict ${t} do nothing${r}`)}return this}onConflictDoUpdate(e){if(e.where&&(e.targetWhere||e.setWhere))throw Error('You cannot use both "where" and "targetWhere"/"setWhere" at the same time - "where" is deprecated, use "targetWhere" or "setWhere" instead.');if(!this.config.onConflict)this.config.onConflict=[];let t=e.where?C` where ${e.where}`:void 0,r=e.targetWhere?C` where ${e.targetWhere}`:void 0,o=e.setWhere?C` where ${e.setWhere}`:void 0,n=Array.isArray(e.target)?C`${e.target}`:C`${[e.target]}`,i=this.dialect.buildUpdateSet(this.config.table,Ey(this.config.table,e.set));return this.config.onConflict.push(C` on conflict ${n}${r} do update set ${i}${t}${o}`),this}getSQL(){return this.dialect.buildInsertQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}_prepare(e=!0){return this.session[e?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),this.config.returning,this.config.returning?"all":"run",!0,void 0,{type:"insert",tables:xn(this.config.table)})}prepare(){return this._prepare(!1)}run=(e)=>this._prepare().run(e);all=(e)=>this._prepare().all(e);get=(e)=>this._prepare().get(e);values=(e)=>this._prepare().values(e);async execute(){return this.config.returning?this.all():this.run()}$dynamic(){return this}}});var By,YF;var XF=w(()=>{Re();Bo();ca();jo();vn();sr();br();Do();wl();Af();By=class By{constructor(e,t,r,o){this.table=e,this.session=t,this.dialect=r,this.withList=o}static[F]="SQLiteUpdateBuilder";set(e){return new YF(this.table,Ey(this.table,e),this.session,this.dialect,this.withList)}};YF=class YF extends Sr{constructor(e,t,r,o,n){super();this.session=r,this.dialect=o,this.config={set:t,table:e,withList:n,joins:[]}}static[F]="SQLiteUpdate";config;from(e){return this.config.from=e,this}createJoin(e){return(t,r)=>{let o=vf(t);if(typeof o==="string"&&this.config.joins.some((n)=>n.alias===o))throw Error(`Alias "${o}" is already used in this query`);if(typeof r==="function"){let n=this.config.from?oe(t,At)?t[me.Symbol.Columns]:oe(t,ft)?t._.selectedFields:oe(t,qo)?t[pt].selectedFields:void 0:void 0;r=r(new Proxy(this.config.table[me.Symbol.Columns],new at({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})),n&&new Proxy(n,new at({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))}return this.config.joins.push({on:r,table:t,joinType:e,alias:o}),this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");where(e){return this.config.where=e,this}orderBy(...e){if(typeof e[0]==="function"){let t=e[0](new Proxy(this.config.table[me.Symbol.Columns],new at({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),r=Array.isArray(t)?t:[t];this.config.orderBy=r}else{let t=e;this.config.orderBy=t}return this}limit(e){return this.config.limit=e,this}returning(e=this.config.table[At.Symbol.Columns]){return this.config.returning=rn(e),this}getSQL(){return this.dialect.buildUpdateQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}_prepare(e=!0){return this.session[e?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),this.config.returning,this.config.returning?"all":"run",!0,void 0,{type:"insert",tables:xn(this.config.table)})}prepare(){return this._prepare(!1)}run=(e)=>this._prepare().run(e);all=(e)=>this._prepare().all(e);get=(e)=>this._prepare().get(e);values=(e)=>this._prepare().values(e);async execute(){return this.config.returning?this.all():this.run()}$dynamic(){return this}}});var $$=w(()=>{FF();QF();Dy();A$();XF()});var Tf;var e3=w(()=>{Re();Yt();Tf=class Tf extends xe{constructor(e){super(Tf.buildEmbeddedCount(e.source,e.filters).queryChunks);this.params=e,this.session=e.session,this.sql=Tf.buildCount(e.source,e.filters)}sql;static[F]="SQLiteCountBuilderAsync";[Symbol.toStringTag]="SQLiteCountBuilderAsync";session;static buildEmbeddedCount(e,t){return C`(select count(*) from ${e}${C.raw(" where ").if(t)}${t})`}static buildCount(e,t){return C`select count(*) from ${e}${C.raw(" where ").if(t)}${t}`}then(e,t){return Promise.resolve(this.session.count(this.sql)).then(e,t)}catch(e){return this.then(void 0,e)}finally(e){return this.then((t)=>(e?.(),t),(t)=>{throw e?.(),t})}}});var O$,jy,R$;var t3=w(()=>{Re();Bo();xf();O$=class O${constructor(e,t,r,o,n,i,s,a){this.mode=e,this.fullSchema=t,this.schema=r,this.tableNamesMap=o,this.table=n,this.tableConfig=i,this.dialect=s,this.session=a}static[F]="SQLiteAsyncRelationalQueryBuilder";findMany(e){return this.mode==="sync"?new R$(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e?e:{},"many"):new jy(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e?e:{},"many")}findFirst(e){return this.mode==="sync"?new R$(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e?{...e,limit:1}:{limit:1},"first"):new jy(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e?{...e,limit:1}:{limit:1},"first")}};jy=class jy extends Sr{constructor(e,t,r,o,n,i,s,a,c){super();this.fullSchema=e,this.schema=t,this.tableNamesMap=r,this.table=o,this.tableConfig=n,this.dialect=i,this.session=s,this.config=a,this.mode=c}static[F]="SQLiteAsyncRelationalQuery";mode;getSQL(){return this.dialect.buildRelationalQuery({fullSchema:this.fullSchema,schema:this.schema,tableNamesMap:this.tableNamesMap,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,tableAlias:this.tableConfig.tsName}).sql}_prepare(e=!1){let{query:t,builtQuery:r}=this._toSQL();return this.session[e?"prepareOneTimeQuery":"prepareQuery"](r,void 0,this.mode==="first"?"get":"all",!0,(o,n)=>{let i=o.map((s)=>$y(this.schema,this.tableConfig,s,t.selection,n));if(this.mode==="first")return i[0];return i})}prepare(){return this._prepare(!1)}_toSQL(){let e=this.dialect.buildRelationalQuery({fullSchema:this.fullSchema,schema:this.schema,tableNamesMap:this.tableNamesMap,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,tableAlias:this.tableConfig.tsName}),t=this.dialect.sqlToQuery(e.sql);return{query:e,builtQuery:t}}toSQL(){return this._toSQL().builtQuery}executeRaw(){if(this.mode==="first")return this._prepare(!1).get();return this._prepare(!1).all()}async execute(){return this.executeRaw()}};R$=class R$ extends jy{static[F]="SQLiteSyncRelationalQuery";sync(){return this.executeRaw()}}});var El;var r3=w(()=>{Re();Bo();El=class El extends Sr{constructor(e,t,r,o,n){super();this.execute=e,this.getSQL=t,this.dialect=o,this.mapBatchResult=n,this.config={action:r}}static[F]="SQLiteRaw";config;getQuery(){return{...this.dialect.sqlToQuery(this.getSQL()),method:this.config.action}}mapResult(e,t){return t?this.mapBatchResult(e):e}_prepare(){return this}isResponseInArrayMode(){return!1}}});var $f;var Zy=w(()=>{Re();ca();Yt();$$();vn();e3();t3();r3();$f=class $f{constructor(e,t,r,o){this.resultKind=e,this.dialect=t,this.session=r,this._=o?{schema:o.schema,fullSchema:o.fullSchema,tableNamesMap:o.tableNamesMap}:{schema:void 0,fullSchema:{},tableNamesMap:{}},this.query={};let n=this.query;if(this._.schema)for(let[i,s]of Object.entries(this._.schema))n[i]=new O$(e,o.fullSchema,this._.schema,this._.tableNamesMap,o.fullSchema[i],s,t,r);this.$cache={invalidate:async(i)=>{}}}static[F]="BaseSQLiteDatabase";query;$with=(e,t)=>{let r=this;return{as:(n)=>{if(typeof n==="function")n=n(new la(r.dialect));return new Proxy(new gf(n.getSQL(),t??("getSelectedFields"in n?n.getSelectedFields()??{}:{}),e,!0),new at({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}}};$count(e,t){return new Tf({source:e,filters:t,session:this.session})}with(...e){let t=this;function r(a){return new _n({fields:a??void 0,session:t.session,dialect:t.dialect,withList:e})}function o(a){return new _n({fields:a??void 0,session:t.session,dialect:t.dialect,withList:e,distinct:!0})}function n(a){return new By(a,t.session,t.dialect,e)}function i(a){return new Ly(a,t.session,t.dialect,e)}function s(a){return new Cy(a,t.session,t.dialect,e)}return{select:r,selectDistinct:o,update:n,insert:i,delete:s}}select(e){return new _n({fields:e??void 0,session:this.session,dialect:this.dialect})}selectDistinct(e){return new _n({fields:e??void 0,session:this.session,dialect:this.dialect,distinct:!0})}update(e){return new By(e,this.session,this.dialect)}$cache;insert(e){return new Ly(e,this.session,this.dialect)}delete(e){return new Cy(e,this.session,this.dialect)}run(e){let t=typeof e==="string"?C.raw(e):e.getSQL();if(this.resultKind==="async")return new El(async()=>this.session.run(t),()=>t,"run",this.dialect,this.session.extractRawRunValueFromBatchResult.bind(this.session));return this.session.run(t)}all(e){let t=typeof e==="string"?C.raw(e):e.getSQL();if(this.resultKind==="async")return new El(async()=>this.session.all(t),()=>t,"all",this.dialect,this.session.extractRawAllValueFromBatchResult.bind(this.session));return this.session.all(t)}get(e){let t=typeof e==="string"?C.raw(e):e.getSQL();if(this.resultKind==="async")return new El(async()=>this.session.get(t),()=>t,"get",this.dialect,this.session.extractRawGetValueFromBatchResult.bind(this.session));return this.session.get(t)}values(e){let t=typeof e==="string"?C.raw(e):e.getSQL();if(this.resultKind==="async")return new El(async()=>this.session.values(t),()=>t,"values",this.dialect,this.session.extractRawValuesValueFromBatchResult.bind(this.session));return this.session.values(t)}transaction(e,t){return this.session.transaction(e,t)}}});async function C$(e,t){let r=`${e}-${JSON.stringify(t)}`,n=new TextEncoder().encode(r),i=await crypto.subtle.digest("SHA-256",n);return[...new Uint8Array(i)].map((c)=>c.toString(16).padStart(2,"0")).join("")}var n3,Rf;var P$=w(()=>{Re();n3=class n3{static[F]="Cache"};Rf=class Rf extends n3{strategy(){return"all"}static[F]="NoopCache";async get(e){return}async put(e,t,r,o){}async onMutate(e){}}});var o3=w(()=>{P$()});function Uy(e,t){return new Proxy(e,new aa(t,!1))}var i3=w(()=>{If()});var s3,z$,N$,D$;var L$=w(()=>{P$();Re();Py();Bo();Zy();s3=class s3 extends Sr{constructor(e){super();this.resultCb=e}static[F]="ExecuteResultSync";async execute(){return this.resultCb()}sync(){return this.resultCb()}};z$=class z${constructor(e,t,r,o,n,i){if(this.mode=e,this.executeMethod=t,this.query=r,this.cache=o,this.queryMetadata=n,this.cacheConfig=i,o&&o.strategy()==="all"&&i===void 0)this.cacheConfig={enable:!0,autoInvalidate:!0};if(!this.cacheConfig?.enable)this.cacheConfig=void 0}static[F]="PreparedQuery";joinsNotNullableMap;async queryWithCache(e,t,r){if(this.cache===void 0||oe(this.cache,Rf)||this.queryMetadata===void 0)try{return await r()}catch(o){throw new Uo(e,t,o)}if(this.cacheConfig&&!this.cacheConfig.enable)try{return await r()}catch(o){throw new Uo(e,t,o)}if((this.queryMetadata.type==="insert"||this.queryMetadata.type==="update"||this.queryMetadata.type==="delete")&&this.queryMetadata.tables.length>0)try{let[o]=await Promise.all([r(),this.cache.onMutate({tables:this.queryMetadata.tables})]);return o}catch(o){throw new Uo(e,t,o)}if(!this.cacheConfig)try{return await r()}catch(o){throw new Uo(e,t,o)}if(this.queryMetadata.type==="select"){let o=await this.cache.get(this.cacheConfig.tag??await C$(e,t),this.queryMetadata.tables,this.cacheConfig.tag!==void 0,this.cacheConfig.autoInvalidate);if(o===void 0){let n;try{n=await r()}catch(i){throw new Uo(e,t,i)}return await this.cache.put(this.cacheConfig.tag??await C$(e,t),n,this.cacheConfig.autoInvalidate?this.queryMetadata.tables:[],this.cacheConfig.tag!==void 0,this.cacheConfig.config),n}return o}try{return await r()}catch(o){throw new Uo(e,t,o)}}getQuery(){return this.query}mapRunResult(e,t){return e}mapAllResult(e,t){throw Error("Not implemented")}mapGetResult(e,t){throw Error("Not implemented")}execute(e){if(this.mode==="async")return this[this.executeMethod](e);return new s3(()=>this[this.executeMethod](e))}mapResult(e,t){switch(this.executeMethod){case"run":return this.mapRunResult(e,t);case"all":return this.mapAllResult(e,t);case"get":return this.mapGetResult(e,t)}}};N$=class N${constructor(e){this.dialect=e}static[F]="SQLiteSession";prepareOneTimeQuery(e,t,r,o,n,i,s){return this.prepareQuery(e,t,r,o,n,i,s)}run(e){let t=this.dialect.sqlToQuery(e);try{return this.prepareOneTimeQuery(t,void 0,"run",!1).run()}catch(r){throw new xl({cause:r,message:`Failed to run the query '${t.sql}'`})}}extractRawRunValueFromBatchResult(e){return e}all(e){return this.prepareOneTimeQuery(this.dialect.sqlToQuery(e),void 0,"run",!1).all()}extractRawAllValueFromBatchResult(e){throw Error("Not implemented")}get(e){return this.prepareOneTimeQuery(this.dialect.sqlToQuery(e),void 0,"run",!1).get()}extractRawGetValueFromBatchResult(e){throw Error("Not implemented")}values(e){return this.prepareOneTimeQuery(this.dialect.sqlToQuery(e),void 0,"run",!1).values()}async count(e){return(await this.values(e))[0][0]}extractRawValuesValueFromBatchResult(e){throw Error("Not implemented")}};D$=class D$ extends $f{constructor(e,t,r,o,n=0){super(e,t,r,o);this.schema=o,this.nestedIndex=n}static[F]="SQLiteTransaction";rollback(){throw new v$}}});var B$,npe,ope,qy;var a3=w(()=>{Re();ca();br();Dy();jo();Af();B$=class B${constructor(e){this.name=e}static[F]="SQLiteViewBuilderCore";config={}};npe=class npe extends B${static[F]="SQLiteViewBuilder";as(e){if(typeof e==="function")e=e(new la);let t=new at({alias:this.name,sqlBehavior:"error",sqlAliasedBehavior:"alias",replaceOriginalName:!0}),r=e.getSelectedFields();return new Proxy(new qy({config:{name:this.name,schema:void 0,selectedFields:r,query:e.getSQL().inlineParams()}}),t)}};ope=class ope extends B${static[F]="SQLiteManualViewBuilder";columns;constructor(e,t){super(e);this.columns=Iy(kf(e,t))}existing(){return new Proxy(new qy({config:{name:this.name,schema:void 0,selectedFields:this.columns,query:void 0}}),new at({alias:this.name,sqlBehavior:"error",sqlAliasedBehavior:"alias",replaceOriginalName:!0}))}as(e){return new Proxy(new qy({config:{name:this.name,schema:void 0,selectedFields:this.columns,query:e.inlineParams()}}),new at({alias:this.name,sqlBehavior:"error",sqlAliasedBehavior:"alias",replaceOriginalName:!0}))}};qy=class qy extends qo{static[F]="SQLiteView";constructor({config:e}){super(e)}}});var My=w(()=>{i3();LF();x$();Zy();zy();l$();UF();MF();$$();L$();jo();d$();wl();a3()});function c3(e){return Object.keys(e).reduce((t,r)=>{if(Object.prototype.propertyIsEnumerable.call(e,r))t[r]=e[r];return t},{})}function Fy(e){if(typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer){if(typeof Buffer<"u"){if(!(e instanceof Buffer))return Buffer.from(e);return e}if(typeof TextDecoder<"u")return new TextDecoder().decode(e);throw Error("TextDecoder is not available. Please provide either Buffer or TextDecoder polyfill.")}return e}var Jy,j$,l3;var Z$=w(()=>{o3();Re();ky();Yt();My();L$();br();Jy=class Jy extends N${constructor(e,t,r,o,n){super(t);this.client=e,this.schema=r,this.options=o,this.tx=n,this.logger=o.logger??new r$,this.cache=o.cache??new Rf}static[F]="LibSQLSession";logger;cache;prepareQuery(e,t,r,o,n,i,s){return new l3(this.client,e,this.logger,this.cache,i,s,t,this.tx,r,o,n)}async batch(e){let t=[],r=[];for(let n of e){let i=n._prepare(),s=i.getQuery();t.push(i),r.push({sql:s.sql,args:s.params})}return(await this.client.batch(r)).map((n,i)=>t[i].mapResult(n,!0))}async migrate(e){let t=[],r=[];for(let n of e){let i=n._prepare(),s=i.getQuery();t.push(i),r.push({sql:s.sql,args:s.params})}return(await this.client.migrate(r)).map((n,i)=>t[i].mapResult(n,!0))}async transaction(e,t){let r=await this.client.transaction(),o=new Jy(this.client,this.dialect,this.schema,this.options,r),n=new j$("async",this.dialect,o,this.schema);try{let i=await e(n);return await r.commit(),i}catch(i){throw await r.rollback(),i}}extractRawAllValueFromBatchResult(e){return e.rows}extractRawGetValueFromBatchResult(e){return e.rows[0]}extractRawValuesValueFromBatchResult(e){return e.rows}};j$=class j$ extends D${static[F]="LibSQLTransaction";async transaction(e){let t=`sp${this.nestedIndex}`,r=new j$("async",this.dialect,this.session,this.schema,this.nestedIndex+1);await this.session.run(C.raw(`savepoint ${t}`));try{let o=await e(r);return await this.session.run(C.raw(`release savepoint ${t}`)),o}catch(o){throw await this.session.run(C.raw(`rollback to savepoint ${t}`)),o}}};l3=class l3 extends z${constructor(e,t,r,o,n,i,s,a,c,u,d){super("async",c,t,o,n,i);this.client=e,this.logger=r,this.fields=s,this.tx=a,this._isResponseInArrayMode=u,this.customResultMapper=d,this.customResultMapper=d,this.fields=s}static[F]="LibSQLPreparedQuery";async run(e){let t=bf(this.query.params,e??{});return this.logger.logQuery(this.query.sql,t),await this.queryWithCache(this.query.sql,t,async()=>{let r={sql:this.query.sql,args:t};return this.tx?this.tx.execute(r):this.client.execute(r)})}async all(e){let{fields:t,logger:r,query:o,tx:n,client:i,customResultMapper:s}=this;if(!t&&!s){let c=bf(o.params,e??{});return r.logQuery(o.sql,c),await this.queryWithCache(o.sql,c,async()=>{let u={sql:o.sql,args:c};return(n?n.execute(u):i.execute(u)).then(({rows:d})=>this.mapAllResult(d))})}let a=await this.values(e);return this.mapAllResult(a)}mapAllResult(e,t){if(t)e=e.rows;if(!this.fields&&!this.customResultMapper)return e.map((r)=>c3(r));if(this.customResultMapper)return this.customResultMapper(e,Fy);return e.map((r)=>XT(this.fields,Array.prototype.slice.call(r).map((o)=>Fy(o)),this.joinsNotNullableMap))}async get(e){let{fields:t,logger:r,query:o,tx:n,client:i,customResultMapper:s}=this;if(!t&&!s){let c=bf(o.params,e??{});return r.logQuery(o.sql,c),await this.queryWithCache(o.sql,c,async()=>{let u={sql:o.sql,args:c};return(n?n.execute(u):i.execute(u)).then(({rows:d})=>this.mapGetResult(d))})}let a=await this.values(e);return this.mapGetResult(a)}mapGetResult(e,t){if(t)e=e.rows;let r=e[0];if(!this.fields&&!this.customResultMapper)return c3(r);if(!r)return;if(this.customResultMapper)return this.customResultMapper(e,Fy);return XT(this.fields,Array.prototype.slice.call(r).map((o)=>Fy(o)),this.joinsNotNullableMap)}async values(e){let t=bf(this.query.params,e??{});return this.logger.logQuery(this.query.sql,t),await this.queryWithCache(this.query.sql,t,async()=>{let r={sql:this.query.sql,args:t};return(this.tx?this.tx.execute(r):this.client.execute(r)).then(({rows:o})=>o)})}isResponseInArrayMode(){return this._isResponseInArrayMode}}});function Il(e,t={}){let r=new E$({casing:t.casing}),o;if(t.logger===!0)o=new t$;else if(t.logger!==!1)o=t.logger;let n;if(t.schema){let a=YM(t.schema,eF);n={fullSchema:t.schema,schema:a.tables,tableNamesMap:a.tableNamesMap}}let i=new Jy(e,r,n,{logger:o,cache:t.cache},void 0),s=new u3("async",r,i,n);if(s.$client=e,s.$cache=t.cache,s.$cache)s.$cache.invalidate=t.cache?.onMutate;return s}var u3;var d3=w(()=>{Re();ky();xf();Zy();zy();Z$();u3=class u3 extends $f{static[F]="LibSQLDatabase";async batch(e){return this.session.batch(e)}}});function Ky(...e){if(typeof e[0]==="string"){let t=yl({url:e[0]});return Il(t,e[1])}if($M(e[0])){let{connection:t,client:r,...o}=e[0];if(r)return Il(r,o);let n=typeof t==="string"?yl({url:t}):yl(t);return Il(n,o)}return Il(e[0],e[1])}var f3=w(()=>{qT();br();d3();((e)=>{function t(r){return Il({},r)}e.mock=t})(Ky||(Ky={}))});var p3=w(()=>{f3();Z$()});function ipe(){return new Promise((e)=>setTimeout(e,0))}function ape(){if(U$)return;U$=!0,setTimeout(()=>{U$=!1,q$=performance.now()},0)}async function Of(e=spe){if(ape(),performance.now()-q$<e)return;await ipe(),q$=performance.now()}var spe=50,q$,U$=!1;var m3=w(()=>{q$=performance.now()});function h3(e){if(e.authToken!==void 0)return e.authToken;if(e.authTokenEnv===void 0)return;return process.env[e.authTokenEnv]}function dpe(e){return e instanceof Ce&&/^SQLITE_(?:BUSY|LOCKED)$/u.test(e.code)}async function Hy(e,t){let r=Date.now()+(t.budgetMs??cpe),o=async(n)=>{if(t.isClosed())throw new Ce("The client is closed","CLIENT_CLOSED");try{return await e()}catch(i){if(t.isClosed()||!dpe(i))throw i;await t.afterRefusal?.();let s=Math.min(lpe*2**(n-1),upe),a=s/2+Math.random()*(s/2);if(t.isClosed()||Date.now()+a>=r)throw i;if(await new Promise((c)=>setTimeout(c,a)),t.isClosed()||Date.now()>=r)throw i;return o(n+1)}};return o(1)}function M$(e,t={}){let r=yl({...e,...e.url.startsWith("file:")?{timeout:0}:{}});if(e.url.startsWith("file:")&&e.syncUrl===void 0){let o=r.transaction.bind(r),n=()=>r.closed,i=t.contentionRetryBudgetMs,s=r.execute.bind(r),a=r.batch.bind(r),c=r.migrate.bind(r),u={isClosed:n,budgetMs:i,afterRefusal:async()=>{await Promise.resolve(r.reconnect())}};async function d(f,m){return await Of(),Hy(()=>typeof f==="string"?s(f,m):s(f),u)}r.execute=d,r.batch=async(f,m)=>(await Of(),Hy(()=>a(f,m),u)),r.migrate=async(f)=>(await Of(),Hy(()=>c(f),u)),r.transaction=async(f)=>(await Of(),Hy(()=>o(f),u))}return r}function Vy(e){let{url:t,schema:r}=e,o=h3(e),n={contentionRetryBudgetMs:e.contentionRetryBudgetMs},i=o?M$({url:t,authToken:o},n):M$({url:t},n);return{db:Ky(i,{schema:r}),client:i,url:t}}async function Wy(e,t){if(!t.startsWith("file:"))return;for(let r of["PRAGMA busy_timeout = 0","PRAGMA journal_mode = WAL"])await e.execute(r)}var cpe=5000,lpe=5,upe=40;var F$=w(()=>{qT();p3();m3()});var g3=w(()=>{nT();F$()});var J$=w(()=>{F$();g3()});var K$=w(()=>{If();Sy();Sn();Re();Py();ky();Bo();xf();w$();vn();sr();br();Do()});var Y,qe;var H$=w(()=>{My();K$();Md();Y=kf("job_queue",{id:mt("id").primaryKey().$defaultFn(()=>Ro()),type:mt("type").notNull(),data:mt("data").notNull(),result:mt("result",{mode:"json"}),progress:mt("progress",{mode:"json"}).$type(),source:mt("source"),metadata:mt("metadata",{mode:"json"}).$type().notNull(),status:mt("status",{enum:["pending","processing","completed","failed"]}).notNull().default("pending"),priority:ar("priority").notNull().default(0),retryCount:ar("retryCount").notNull().default(0),maxRetries:ar("maxRetries").notNull().default(3),lastError:mt("lastError"),lastErrorPublic:mt("lastErrorPublic",{mode:"json"}),createdAt:ar("createdAt").notNull().$defaultFn(()=>Date.now()),scheduledFor:ar("scheduledFor").notNull().$defaultFn(()=>Date.now()),startedAt:ar("startedAt"),completedAt:ar("completedAt"),attemptId:mt("attemptId"),workerSlotId:mt("workerSlotId"),workerSessionId:mt("workerSessionId"),leaseExpiresAt:ar("leaseExpiresAt"),attemptHeartbeatAt:ar("attemptHeartbeatAt"),runtimeUpdatedAt:ar("runtimeUpdatedAt"),brainVersion:mt("brainVersion"),brainVersionSortKey:mt("brainVersionSortKey")},(e)=>({queueReadyIdx:Zo("idx_job_queue_ready").on(e.status,e.priority,e.scheduledFor),jobTypeIdx:Zo("idx_job_queue_type").on(e.type,e.status),runtimeUpdatesIdx:Zo("idx_job_queue_runtime_updates").on(e.runtimeUpdatedAt,e.id),jobSourceIdx:Zo("idx_job_queue_source").on(e.source),rootJobIdx:Zo("idx_job_queue_root_job").on(C`json_extract(${e.metadata}, '$.rootJobId')`,e.createdAt,e.id),deduplicationIdx:Zo("idx_job_queue_deduplication").on(e.type,C`json_extract(${e.metadata}, '$.deduplicationKey')`,e.status)})),qe=kf("job_worker_sessions",{slotId:mt("slotId").primaryKey(),sessionId:mt("sessionId").notNull().unique(),startedAt:ar("startedAt").notNull(),heartbeatAt:ar("heartbeatAt").notNull(),expiresAt:ar("expiresAt").notNull().default(0),brainVersion:mt("brainVersion"),brainVersionSortKey:mt("brainVersionSortKey"),stableSlotId:mt("stableSlotId")},(e)=>({heartbeatIdx:Zo("idx_job_worker_sessions_heartbeat").on(e.heartbeatAt),expiresIdx:Zo("idx_job_worker_sessions_expires").on(e.expiresAt)}))});function y3(e){return Vy({url:e.url,schema:{jobQueue:Y,jobWorkerSessions:qe},authToken:e.authToken,authTokenEnv:"JOB_QUEUE_DATABASE_AUTH_TOKEN",contentionRetryBudgetMs:0})}var b3=w(()=>{J$();H$()});class V${declarations=new Map;handlers=new Map;validators=new Map;logger;mode;finalizedRegistrations;constructor(e,t){this.logger=e.child("HandlerRegistry"),this.mode=t}registerHandler(e,t,r){if(this.finalizedRegistrations)throw Error("Job handler registrations are finalized");if(this.declarations.has(e))throw Error(`Job handler is already registered for type: ${e}`);if(this.declarations.set(e,{handler:t,pluginId:r}),this.validators.set(e,t),this.mode!=="validation-only")this.handlers.set(e,t);this.logger.debug("Registered job execution declaration",{type:e,pluginId:r,mode:this.mode})}unregisterHandler(e){this.declarations.delete(e),this.handlers.delete(e),this.validators.delete(e),this.logger.debug("Unregistered job handler",{type:e})}unregisterPluginHandlers(e){let t=[...this.declarations.entries()].filter(([,r])=>r.pluginId===e).map(([r])=>r);for(let r of t)this.declarations.delete(r),this.handlers.delete(r),this.validators.delete(r);if(t.length>0)this.logger.debug("Unregistered plugin handlers",{pluginId:e,count:t.length,types:t})}finalizeRegistrations(){return this.finalizedRegistrations??=Object.freeze([...this.declarations.entries()].sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>Object.freeze({type:e,pluginId:t.pluginId}))),this.finalizedRegistrations}getExecutionRegistrations(){return this.finalizedRegistrations}getRegisteredTypes(){return[...this.handlers.keys()]}getExclusiveTypes(){return[...this.handlers].filter(([,e])=>e.exclusive===!0).map(([e])=>e)}getHandler(e){return this.handlers.get(e)}getValidator(e){return this.validators.get(e)}}class W${tails=new Map;async run(e,t){let r=this.tails.get(e),o=()=>{},n=new Promise((i)=>{o=i});this.tails.set(e,n),await r;try{return await t()}finally{if(o(),this.tails.get(e)===n)this.tails.delete(e)}}}class G${findDuplicate(e,t,r){if(!t||t==="none")return null;let o=this.filterByDeduplicationKey(e,r).sort((i,s)=>s.createdAt-i.createdAt||s.id.localeCompare(i.id)),n=o.find((i)=>i.status===Oe.PENDING)??null;if(t==="skip"||t==="replace")return n;return n??o[0]??null}filterByDeduplicationKey(e,t){if(!t)return e;return e.filter((r)=>{let o=fpe.safeParse(r.metadata);return o.success&&o.data.deduplicationKey===t})}}var fpe;var S3=w(()=>{he();Oo();fpe=l.looseObject({deduplicationKey:l.string().optional()})});function x3(e){return`${String(e.length).padStart(2,"0")}${e}`}function mpe(e){return ppe.test(e)?`0${x3(e)}`:`1${e}`}function Cf(e){let t=v3.exec(e);if(!t)throw Error(`Invalid brain version "${e}"`);let[,r="",o="",n="",i]=t,s=[r,o,n].map(x3).join("");return i===void 0?`${s}~`:`${s}-${i.split(".").map(mpe).join("!")}`}var v3,ppe,w3;var Q$=w(()=>{he();v3=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+[0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*)?$/u,ppe=/^\d+$/u,w3=l.string().regex(v3,"Brain version must be a semver version")});function _3(e){return JSON.stringify(new Xa(e).toJSON())}class Y${db;transactionClient;databaseUrl;logger;deduplicator=new G$;writeRetryBudgetMs;constructor(e,t,r,o,n){this.db=e,this.transactionClient=t,this.databaseUrl=r,this.logger=o.child("JobQueueRepository"),this.writeRetryBudgetMs=n?.writeRetryBudgetMs??hpe}async insert(e){await this.write("insert",async()=>this.db.insert(Y).values(e))}async enqueueAtomic(e){return Spe.run(this.databaseUrl,async()=>{let t=Date.now()+this.writeRetryBudgetMs;return this.attemptEnqueue(e,t,1)})}async attemptEnqueue(e,t,r){let o=await this.runEnqueueTransaction(e,t,r);if(o.retry)return this.attemptEnqueue(e,t,r+1);return o.decision}async runEnqueueTransaction(e,t,r){let o=await this.acquireWriteTransaction(e,t),n={prepared:!1},i=!1;try{let s=await this.decideEnqueue(o,e,()=>{n.prepared=!0});return i=!0,await o.commit(),{retry:!1,decision:s}}catch(s){let a=i&&this.isSerializationConflict(s)&&!o.closed,c=!0;if(!o.closed)try{await o.rollback()}catch(u){c=!1,this.logger.error("Failed to roll back atomic enqueue",{type:e.jobData.type,rollbackError:u})}if(n.prepared)e.onInsertRollback?.();if(!a||!c)throw s;return await this.waitForConflictRetry("commit",e,t,r,s),{retry:!0}}finally{o.close()}}async decideEnqueue(e,t,r){let{jobData:o,strategy:n,deduplicationKey:i,beforeInsert:s}=t,a=n??"none",c=async()=>{await s?.(),r()},u=async()=>{await c(),await this.insertJob(e,o)};if(a==="none")return await u(),{kind:"inserted",jobId:o.id};let d=await this.getActiveDeduplicationCandidates(e,o.type,i),f=this.deduplicator.findDuplicate(d,a,i);if(!f)return await u(),{kind:"inserted",jobId:o.id};if(a==="skip")return await this.raiseBrainVersion(e,f.id,o),{kind:"skipped",jobId:f.id};if(a==="coalesce"){if(await this.raiseBrainVersion(e,f.id,o),(await e.execute({sql:"UPDATE `job_queue` SET `scheduledFor` = ? WHERE `id` = ? AND `status` = ?",args:[Date.now(),f.id,f.status]})).rowsAffected!==1)throw Error(`Atomic coalesce lost selected job ${f.id}`);return{kind:"coalesced",jobId:f.id}}await c();let m=Date.now();if((await e.execute({sql:"UPDATE `job_queue`\n SET `status` = ?,\n `lastError` = ?,\n `lastErrorPublic` = ?,\n `completedAt` = ?,\n `runtimeUpdatedAt` = max(?, coalesce((SELECT max(`runtimeUpdatedAt`) FROM `job_queue`), 0) + 1)\n WHERE `id` = ? AND `status` = ?",args:[Oe.FAILED,"Replaced by newer job",_3("cancelled"),m,m,f.id,Oe.PENDING]})).rowsAffected!==1)throw Error(`Atomic replace lost selected job ${f.id}`);return await this.insertJob(e,o),{kind:"replaced",jobId:o.id,replacedJobId:f.id}}async getActiveDeduplicationCandidates(e,t,r){return(await e.execute(r?{sql:"SELECT `id`, `status`, `createdAt`, `metadata`\n FROM `job_queue`\n WHERE `type` = ?\n AND json_extract(`metadata`, '$.deduplicationKey') = ?\n AND `status` IN (?, ?)",args:[t,r,Oe.PENDING,Oe.PROCESSING]}:{sql:"SELECT `id`, `status`, `createdAt`, `metadata`\n FROM `job_queue`\n WHERE `type` = ? AND `status` IN (?, ?)",args:[t,Oe.PENDING,Oe.PROCESSING]})).rows.map((n)=>this.parseDeduplicationCandidate(n))}parseDeduplicationCandidate(e){let{id:t,status:r,createdAt:o,metadata:n}=e;if(typeof t!=="string"||r!==Oe.PENDING&&r!==Oe.PROCESSING||typeof o!=="number"&&typeof o!=="bigint"||typeof n!=="string")throw Error("Invalid active job row returned during atomic enqueue");let i=JSON.parse(n);return{id:t,status:r,createdAt:Number(o),metadata:i}}async raiseBrainVersion(e,t,r){if(!r.brainVersion)return;let o=Cf(r.brainVersion);await e.execute({sql:"UPDATE `job_queue`\n SET `brainVersion` = ?, `brainVersionSortKey` = ?\n WHERE `id` = ?\n AND (`brainVersionSortKey` IS NULL OR `brainVersionSortKey` < ?)",args:[r.brainVersion,o,t,o]})}async insertJob(e,t){if((await e.execute({sql:"INSERT INTO `job_queue` (\n `id`, `type`, `data`, `result`, `source`, `metadata`,\n `status`, `priority`, `retryCount`, `maxRetries`,\n `lastError`, `createdAt`, `scheduledFor`, `startedAt`,\n `completedAt`, `brainVersion`, `brainVersionSortKey`\n ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",args:[t.id,t.type,t.data,this.serializeJson(t.result),t.source,JSON.stringify(t.metadata),t.status,t.priority,t.retryCount,t.maxRetries,t.lastError,t.createdAt,t.scheduledFor,t.startedAt,t.completedAt,t.brainVersion??null,t.brainVersion?Cf(t.brainVersion):null]})).rowsAffected!==1)throw Error(`Atomic enqueue did not insert job ${t.id}`)}serializeJson(e){if(e===void 0||e===null)return null;return JSON.stringify(e)}acquireWriteTransaction(e,t){return this.retryOnConflict("acquire",e,()=>this.transactionClient.transaction("write"),(r)=>this.isSerializationConflict(r),t)}async waitForConflictRetry(e,t,r,o,n){let i=Math.min(gpe*2**(o-1),ype),s=i/2+Math.random()*(i/2);if(Date.now()+s>=r)throw this.transactionConflictError(e,t,o,n);await new Promise((a)=>setTimeout(a,s))}async retryOnConflict(e,t,r,o,n=Date.now()+this.writeRetryBudgetMs,i=1){try{return await r()}catch(s){if(!o(s))throw s;return await this.waitForConflictRetry(e,t,n,i,s),this.retryOnConflict(e,t,r,o,n,i+1)}}transactionConflictError(e,t,r,o){if(typeof t==="string")return Error(`Failed job queue write "${t}" within ${this.writeRetryBudgetMs}ms after ${r} attempts`,{cause:o});let n=t.strategy??"none",i=t.deduplicationKey?"present":"absent";return Error(`Failed to ${e} atomic enqueue transaction for type "${t.jobData.type}" within ${this.writeRetryBudgetMs}ms after ${r} attempts (strategy: ${n}, key: ${i})`,{cause:o})}write(e,t){return this.retryOnConflict("write",e,t,(r)=>{let o=new Set;for(let n=r;n!==void 0&&!o.has(n);){if(o.add(n),typeof n==="object"&&n!==null&&"code"in n&&/^SQLITE_(?:BUSY|LOCKED)(?:_|$)/u.test(String(n.code)))return!0;n=n instanceof Error?n.cause:void 0}return!1})}isSerializationConflict(e){for(let t=e;t!==void 0;){let r=typeof t==="object"&&t!==null&&"code"in t?String(t.code):"",o=Ge(t,"");if(/SQLITE_(?:BUSY|LOCKED)/u.test(r)||/SQLITE_(?:BUSY|LOCKED)|database is locked|transaction (?:busy|conflict)/iu.test(o))return!0;t=t instanceof Error?t.cause:void 0}return!1}async startWorkerSession(e,t,r=Date.now(),o=Di,n,i){let s=r+o,a={brainVersion:n??null,brainVersionSortKey:n?Cf(n):null,stableSlotId:i??null};await this.write("start worker session",async()=>{await this.db.insert(qe).values({slotId:e,sessionId:t,startedAt:r,heartbeatAt:r,expiresAt:s,...a}).onConflictDoUpdate({target:qe.slotId,set:{sessionId:t,startedAt:r,heartbeatAt:r,expiresAt:s,...a}}),await this.pruneDeadWorkerSessions(r,o)})}async heartbeatWorkerSession(e,t,r=Date.now(),o=Di){return(await this.write("heartbeat worker session",async()=>{let i=await this.db.update(qe).set({heartbeatAt:r,expiresAt:r+o}).where(tt(je(qe.slotId,e),je(qe.sessionId,t))).returning({slotId:qe.slotId});return await this.pruneDeadWorkerSessions(r,o),i})).length===1}async pruneDeadWorkerSessions(e,t){let r=this.db.select({id:Y.id}).from(Y).where(tt(je(Y.workerSlotId,qe.slotId),je(Y.workerSessionId,qe.sessionId),je(Y.status,Oe.PROCESSING),wn(Y.leaseExpiresAt,e)));await this.db.delete(qe).where(tt(Vi(qe.expiresAt,e-t),Gi(r)))}async endWorkerSession(e,t){return(await this.write("end worker session",async()=>this.db.delete(qe).where(tt(je(qe.slotId,e),je(qe.sessionId,t))).returning({slotId:qe.slotId}))).length===1}async complete(e,t,r){let o=Date.now(),i=(await this.write("complete",async()=>this.db.update(Y).set({status:Oe.COMPLETED,result:t,lastError:null,lastErrorPublic:null,completedAt:o,runtimeUpdatedAt:this.nextRuntimeUpdatedAt(o)}).where(this.attemptWriteGuard(e,r)).returning({id:Y.id}))).length===1;if(i)this.logger.debug("Job completed",{jobId:e,hasResult:t!==void 0});return i}async update(e,t,r){let n=(await this.write("update",async()=>this.db.update(Y).set({data:JSON.stringify(t)}).where(this.attemptWriteGuard(e,r)).returning({id:Y.id}))).length===1;if(n)this.logger.debug("Job data updated",{jobId:e});return n}async recordAttemptProgress(e,t,r,o=Date.now()){return(await this.write("record progress",async()=>this.db.update(Y).set({attemptHeartbeatAt:o,runtimeUpdatedAt:this.nextRuntimeUpdatedAt(o),progress:r}).where(this.attemptWriteGuard(e,t)).returning({id:Y.id}))).length===1}async renewAttemptLease(e,t,r,o){return(await this.write("renew attempt lease",async()=>this.db.update(Y).set({attemptHeartbeatAt:r,leaseExpiresAt:r+o}).where(this.attemptWriteGuard(e,t)).returning({id:Y.id}))).length===1}async fail(e,t,r,o=Date.now()){let i=(await this.db.select({retryCount:Y.retryCount,maxRetries:Y.maxRetries,type:Y.type,scheduledFor:Y.scheduledFor,startedAt:Y.startedAt,runtimeUpdatedAt:Y.runtimeUpdatedAt}).from(Y).where(this.attemptWriteGuard(e,r)).limit(1))[0];if(!i)return!1;let s=i.retryCount<i.maxRetries,a=s?i.retryCount+1:i.retryCount,c=Math.min(1000*2**i.retryCount,60000),u=s?o+c:i.scheduledFor;if((await this.write("fail",async()=>this.db.update(Y).set({status:s?Oe.PENDING:Oe.FAILED,retryCount:a,lastError:t.message,lastErrorPublic:rE(t).toJSON(),scheduledFor:u,completedAt:s?null:o,runtimeUpdatedAt:s?i.runtimeUpdatedAt:this.nextRuntimeUpdatedAt(o),startedAt:s?null:i.startedAt,attemptId:null,workerSlotId:null,workerSessionId:null,leaseExpiresAt:null,attemptHeartbeatAt:null}).where(tt(this.attemptWriteGuard(e,r),je(Y.retryCount,i.retryCount))).returning({id:Y.id}))).length!==1)return!1;if(s)this.logger.debug("Job scheduled for retry",{jobId:e,retryCount:a,backoffMs:c,scheduledFor:new Date(u).toISOString()});else this.logger.error("Job failed after max retries",{jobId:e,type:i.type,retryCount:i.retryCount,error:t.message});return!0}async retireUnownedActiveJob(e){let t=e.reason.trim();if(t.length===0)throw Error("Retired job reason must not be empty");let o=(await this.write("retire unowned job",async()=>this.db.update(Y).set({status:Oe.FAILED,lastError:t,lastErrorPublic:new Xa("no_handler").toJSON(),completedAt:e.now,runtimeUpdatedAt:this.nextRuntimeUpdatedAt(e.now)}).where(tt(je(Y.id,e.jobId),je(Y.type,e.expectedType),nn(je(Y.status,Oe.PENDING),je(Y.status,Oe.PROCESSING)),jr(Y.attemptId),jr(Y.workerSlotId),jr(Y.workerSessionId),jr(Y.leaseExpiresAt),jr(Y.attemptHeartbeatAt),jr(Y.progress),jr(Y.result))).returning()))[0]??null;if(o)this.logger.warn("Retired unowned legacy job",{jobId:o.id,type:o.type,reason:t});return o}async getStatus(e){return(await this.db.select().from(Y).where(je(Y.id,e)).limit(1))[0]??null}async getJobsByRootJobId(e){return this.db.select().from(Y).where(C`json_extract(${Y.metadata}, '$.rootJobId') = ${e}`).orderBy(Lo(Y.createdAt),Lo(Y.id))}async getStatusByEntityId(e){return(await this.db.select().from(Y).where(C`json_extract(${Y.data}, '$.id') = ${e}`).orderBy(sa(Y.createdAt)).limit(1))[0]??null}async getStats(){let e=await this.db.select({status:Y.status,count:C`count(*)`}).from(Y).groupBy(Y.status),t={pending:0,processing:0,failed:0,completed:0,total:0};for(let r of e){let o=Number(r.count);t[r.status]=o,t.total+=o}return t}async getDiagnostics(e=Date.now()){let[t,r,o]=await Promise.all([this.db.select({type:Y.type,status:Y.status,count:C`count(*)`}).from(Y).groupBy(Y.type,Y.status),this.db.select({oldestPendingAt:C`min(case when ${Y.status} = ${Oe.PENDING} then ${Y.createdAt} end)`,duePending:C`coalesce(sum(case when ${Y.status} = ${Oe.PENDING} and ${Y.scheduledFor} <= ${e} then 1 else 0 end), 0)`,oldestDuePendingAt:C`min(case when ${Y.status} = ${Oe.PENDING} and ${Y.scheduledFor} <= ${e} then ${Y.scheduledFor} end)`,latestClaimAt:C`max(${Y.startedAt})`,oldestProcessingAt:C`min(case when ${Y.status} = ${Oe.PROCESSING} then ${Y.startedAt} end)`,staleLeaseCount:C`coalesce(sum(case when ${Y.status} = ${Oe.PROCESSING} and ${Y.leaseExpiresAt} is not null and ${Y.leaseExpiresAt} <= ${e} then 1 else 0 end), 0)`}).from(Y),this.db.select({total:C`count(*)`,active:C`coalesce(sum(case when ${qe.expiresAt} > ${e} then 1 else 0 end), 0)`,stale:C`coalesce(sum(case when ${qe.expiresAt} <= ${e} then 1 else 0 end), 0)`,latestHeartbeatAt:C`max(${qe.heartbeatAt})`}).from(qe)]),n={pending:0,processing:0,completed:0,failed:0},i=t.map((u)=>{let d=Number(u.count);return n[u.status]+=d,{type:u.type,status:u.status,count:d}}),s=r[0],a=o[0],c=(u)=>u===null||u===void 0?null:Math.max(0,e-Number(u));return{totals:n,byType:i,oldestPendingAgeMs:c(s?.oldestPendingAt),duePending:Number(s?.duePending??0),oldestDuePendingAgeMs:c(s?.oldestDuePendingAt),latestClaimAgeMs:c(s?.latestClaimAt),oldestProcessingAgeMs:c(s?.oldestProcessingAt),staleLeaseCount:Number(s?.staleLeaseCount??0),workerSessions:{total:Number(a?.total??0),active:Number(a?.active??0),stale:Number(a?.stale??0),latestHeartbeatAgeMs:c(a?.latestHeartbeatAt)}}}async getRuntimeUpdates(e,t){let r=bpe.parse(t);if(r===0)return[];return(await this.db.select().from(Y).where(C`(${Y.runtimeUpdatedAt}, ${Y.id}) > (${e.updatedAt}, ${e.jobId})`).orderBy(Lo(Y.runtimeUpdatedAt),Lo(Y.id)).limit(r)).map((n)=>({job:n,cursor:{updatedAt:n.runtimeUpdatedAt??0,jobId:n.id}}))}async cleanup(e){let t=Date.now()-e;return(await this.write("cleanup",async()=>this.db.delete(Y).where(tt(nn(je(Y.status,Oe.COMPLETED),je(Y.status,Oe.FAILED)),Vi(Y.completedAt,t))))).rowsAffected}async getActiveJobs(e){let t=nn(je(Y.status,Oe.PENDING),je(Y.status,Oe.PROCESSING)),r=e&&e.length>0?tt(t,Wi(Y.type,e)):t;return this.db.select().from(Y).where(r).orderBy(sa(Y.createdAt))}async getRecentJobs(e,t=20){let r=e&&e.length>0?Wi(Y.type,e):void 0;return this.db.select().from(Y).where(r).orderBy(sa(Y.createdAt)).limit(t)}async getFailedJobs(e){let t=je(Y.status,Oe.FAILED),r=e&&e.length>0?tt(t,Wi(Y.type,e)):t;return this.db.select().from(Y).where(r).orderBy(sa(Y.createdAt))}async claimNextReady(e){let{now:t,attemptId:r,workerSlotId:o,workerSessionId:n,leaseDurationMs:i,executableTypes:s,exclusiveTypes:a=[],brainVersion:c}=e,u=c?this.brainVersionGate(c,t):{admissible:void 0,noNewerWorker:void 0},d=this.db.select({slotId:qe.slotId}).from(qe).where(tt(je(qe.slotId,o),je(qe.sessionId,n),wn(qe.expiresAt,t))),f=this.noNewerLiveInstance(o,n,t),m=this.db.select({slotId:qe.slotId}).from(qe).where(tt(je(qe.slotId,Y.workerSlotId),je(qe.sessionId,Y.workerSessionId))),h=tt(je(Y.status,Oe.PROCESSING),nn(jr(Y.attemptId),Gi(m),Vi(Y.leaseExpiresAt,t))),b=Uy(Y,"running"),y=this.db.select({id:b.id}).from(b).where(tt(je(b.type,Y.type),je(b.status,Oe.PROCESSING),wn(b.leaseExpiresAt,t),C`${b.id} <> ${Y.id}`)),S=a.length===0?void 0:nn(Ay(Y.type,[...a]),Gi(y)),x=C`${Y.status} = ${Oe.PROCESSING} AND ${Y.retryCount} + 1 > ${Y.maxRetries}`,_=this.db.select({id:Y.id}).from(Y).where(tt(Wi(Y.type,s),S,u.admissible,nn(tt(je(Y.status,Oe.PENDING),Vi(Y.scheduledFor,t)),h))).orderBy(Lo(Y.priority),Lo(Y.createdAt)).limit(1),O=(await this.write("claim",async()=>this.db.update(Y).set({status:C`CASE WHEN ${x} THEN ${Oe.FAILED} ELSE ${Oe.PROCESSING} END`,retryCount:C`CASE WHEN ${Y.status} = ${Oe.PROCESSING} THEN ${Y.retryCount} + 1 ELSE ${Y.retryCount} END`,lastError:C`CASE WHEN ${Y.status} = ${Oe.PROCESSING} THEN 'Attempt lease expired' ELSE ${Y.lastError} END`,lastErrorPublic:C`CASE WHEN ${Y.status} = ${Oe.PROCESSING} THEN ${_3("deadline_exceeded")} ELSE ${Y.lastErrorPublic} END`,startedAt:C`CASE WHEN ${x} THEN ${Y.startedAt} ELSE ${t} END`,completedAt:C`CASE WHEN ${x} THEN ${t} ELSE NULL END`,attemptId:C`CASE WHEN ${x} THEN ${Y.attemptId} ELSE ${r} END`,workerSlotId:C`CASE WHEN ${x} THEN ${Y.workerSlotId} ELSE ${o} END`,workerSessionId:C`CASE WHEN ${x} THEN ${Y.workerSessionId} ELSE ${n} END`,leaseExpiresAt:C`CASE WHEN ${x} THEN ${Y.leaseExpiresAt} ELSE ${t+i} END`,attemptHeartbeatAt:C`CASE WHEN ${x} THEN ${Y.attemptHeartbeatAt} ELSE ${t} END`,runtimeUpdatedAt:C`CASE WHEN ${x} THEN ${this.nextRuntimeUpdatedAt(t)} ELSE ${Y.runtimeUpdatedAt} END`}).where(tt(Wi(Y.id,_),Ty(d),f,u.noNewerWorker)).returning()))[0];if(!O)return null;if(O.status===Oe.FAILED)return O;return this.logger.debug("Job claimed",{jobId:O.id,attemptId:O.attemptId,workerSlotId:o,workerSessionId:n}),O}noNewerLiveInstance(e,t,r){let o=Uy(qe,"claimer"),n=Uy(qe,"peer"),i=this.db.select({slotId:n.slotId}).from(n).innerJoin(o,tt(je(o.slotId,e),je(o.sessionId,t))).where(tt(je(n.stableSlotId,o.stableSlotId),wn(n.expiresAt,r),nn(wn(n.startedAt,o.startedAt),tt(je(n.startedAt,o.startedAt),wn(n.slotId,o.slotId)))));return Gi(i)}brainVersionGate(e,t){let r=Cf(e),o=this.db.select({slotId:qe.slotId}).from(qe).where(tt(wn(qe.expiresAt,t),wn(qe.brainVersionSortKey,r)));return{admissible:nn(jr(Y.brainVersionSortKey),Vi(Y.brainVersionSortKey,r)),noNewerWorker:Gi(o)}}nextRuntimeUpdatedAt(e){return C`max(${e}, coalesce((select max(${Y.runtimeUpdatedAt}) from ${Y}), 0) + 1)`}attemptWriteGuard(e,t){return t?tt(je(Y.id,e),je(Y.status,Oe.PROCESSING),je(Y.attemptId,t)):tt(je(Y.id,e),jr(Y.attemptId),nn(je(Y.status,Oe.PENDING),je(Y.status,Oe.PROCESSING)))}}var hpe=2000,gpe=5,ype=40,bpe,Spe;var E3=w(()=>{K$();My();H$();Mt();he();Oo();Jd();S3();Q$();bpe=l.number().int().min(0).max(1000),Spe=new W$});import{AsyncLocalStorage as vpe}from"async_hooks";class Pf{storage=new vpe;static createFresh(){return new Pf}constructor(){}current(){return this.storage.getStore()}run(e,t,r){if(t.length===0)throw Error("Operation ID must not be empty");let o=ni.parse(e),n=wpe(o);return this.storage.run(Object.freeze({provenance:n,operationId:t}),r)}}function wpe(e){if(Object.freeze(e.projectionLineage),e.sourceEntity)Object.freeze(e.sourceEntity);return Object.freeze(e)}var X$=w(()=>{Mt()});class zf{client;logger;handlerRegistry;repository;walInitialization=null;walInitializationSettled=!1;closeRequested=!1;clientClosed=!1;inFlightEnqueues=0;databaseUrl;operationContext;projectionAdmission;directWorkerSlotId=`direct:${Ro()}`;directWorkerSessionId=Ro();directLeaseDurationMs;directSessionStart=null;brainVersion;close(){this.closeRequested=!0,this.closeClientWhenReady()}static createFresh(e,t,r){return new zf(e,t??kr.getInstance(),r)}constructor(e,t,r){this.brainVersion=e.brainVersion===void 0?void 0:w3.parse(e.brainVersion);let{db:o,client:n,url:i}=y3(e);this.client=n,this.databaseUrl=i,this.logger=t.child("JobQueueService"),this.operationContext=r?.operationContext??Pf.createFresh(),this.projectionAdmission=r?.projectionAdmission,this.handlerRegistry=new V$(this.logger,r?.handlerRegistrationMode??"combined"),this.repository=new Y$(o,n,i,this.logger),this.directLeaseDurationMs=e.claimTimeoutMs??300000}initialize(){if(this.closeRequested)return Promise.resolve();return this.walInitialization??=this.initializeWALMode(),this.walInitialization}async initializeWALMode(){try{await Wy(this.client,this.databaseUrl)}catch(e){this.logger.warn("Failed to enable WAL mode (non-fatal)",e)}finally{this.walInitializationSettled=!0,this.closeClientWhenReady()}}closeClientWhenReady(){if(!this.closeRequested||this.inFlightEnqueues>0||this.walInitialization!==null&&!this.walInitializationSettled)return;this.closeClient()}closeClient(){if(this.clientClosed)return;this.clientClosed=!0,this.client.close()}registerHandler(e,t,r){this.handlerRegistry.registerHandler(e,t,r)}unregisterHandler(e){this.handlerRegistry.unregisterHandler(e)}unregisterPluginHandlers(e){this.handlerRegistry.unregisterPluginHandlers(e)}getRegisteredTypes(){return this.handlerRegistry.getRegisteredTypes()}getHandler(e){return this.handlerRegistry.getHandler(e)}getValidator(e){return this.handlerRegistry.getValidator(e)}finalizeHandlerRegistrations(){return this.handlerRegistry.finalizeRegistrations()}getExecutionRegistrations(){return this.handlerRegistry.getExecutionRegistrations()}async enqueue(e){if(this.closeRequested)throw Error("Cannot enqueue a job after the queue service is closed");this.inFlightEnqueues++;try{return await this.enqueueValidated(e)}finally{this.inFlightEnqueues--,this.closeClientWhenReady()}}async enqueueValidated(e){let{type:t,data:r,options:o}=e,n=this.handlerRegistry.getValidator(t);if(!n)throw Error(`No job type declared: ${t}`);let i=n.validateAndParse(r);if(i===null)throw Error(`Invalid job data for type: ${t}`);let s=Date.now(),a=Ro(),c=o?.rootJobId??(o?.detached?a:this.operationContext.current()?.provenance.rootJobId)??a,u=this.createJobProvenance(a,c,o),d=o?.metadata??{operationType:"data_processing"},{provenance:f,...m}=d,h={id:a,type:t,data:JSON.stringify(i),status:Oe.PENDING,priority:o?.priority??0,maxRetries:o?.maxRetries??3,retryCount:0,source:o?.source??null,metadata:{...m,...o?.deduplicationKey&&{deduplicationKey:o.deduplicationKey},rootJobId:c,provenance:u},createdAt:s,scheduledFor:o?.delayMs?s+o.delayMs:s,result:null,lastError:null,startedAt:null,completedAt:null,brainVersion:this.brainVersion},b,y=()=>{b?.rollback(),b=void 0};try{let S=await this.repository.enqueueAtomic({jobData:h,strategy:o?.deduplication,deduplicationKey:o?.deduplicationKey,beforeInsert:async()=>{b=await this.projectionAdmission?.reserveJobAdmission(u)},onInsertRollback:y});if(b?.commit(),b=void 0,S.kind==="skipped")this.logger.debug("Skipping duplicate job (already pending)",{type:t,existingJobId:S.jobId});else if(S.kind==="coalesced")this.logger.debug("Coalescing with existing job",{type:t,existingJobId:S.jobId});else{if(S.kind==="replaced")this.logger.debug("Replacing duplicate job",{type:t,oldJobId:S.replacedJobId});this.logger.debug("Job enqueued",{id:S.jobId,type:t,priority:h.priority,rootJobId:h.metadata.rootJobId})}return S.jobId}catch(S){throw y(),this.logger.error("Failed to enqueue job",{type:t,error:Ge(S)}),S}}createJobProvenance(e,t,r){let o=this.operationContext.current(),n=r?.metadata.provenance??o?.provenance,i=n?.rootJobId===t?n:void 0,s=o?.provenance.rootJobId===t?o.operationId:void 0,a=r?.projection,c=a?[...i?.projectionLineage??[],a.id]:[...i?.projectionLineage??[]],u=a?.id??i?.projectionId;return ni.parse({rootJobId:t,causationId:s??i?.causationId??e,...u?{projectionId:u}:{},projectionLineage:c,...a?.sourceEntity?{sourceEntity:a.sourceEntity}:i?.sourceEntity?{sourceEntity:i.sourceEntity}:{},derivationDepth:c.length})}async dequeue(e){let t=this.handlerRegistry.getRegisteredTypes();if(t.length===0)return null;let{onTerminalReclaim:r,...o}=e??await this.getDirectClaimOptions(),n=Date.now(),i=await this.repository.claimNextReady({...o,workerSlotId:this.sessionSlotId(o.workerSlotId,o.workerSessionId),brainVersion:this.brainVersion,now:n,attemptId:Ro(),executableTypes:t,exclusiveTypes:this.handlerRegistry.getExclusiveTypes()});if(!i)return null;if(i.status===Oe.FAILED)return this.logger.warn("Expired attempt failed terminally on reclaim",{id:i.id,type:i.type,retryCount:i.retryCount}),await r?.(i),null;return this.logger.debug("Job dequeued",{id:i.id,type:i.type,priority:i.priority,retryCount:i.retryCount,attemptId:i.attemptId,workerSlotId:i.workerSlotId,workerSessionId:i.workerSessionId}),i}async startWorkerSession(e,t,r=Di){await this.repository.startWorkerSession(this.sessionSlotId(e,t),t,Date.now(),r,this.brainVersion,this.versionedSlotId(e))}heartbeatWorkerSession(e,t,r=Di){return this.repository.heartbeatWorkerSession(this.sessionSlotId(e,t),t,Date.now(),r)}endWorkerSession(e,t){return this.repository.endWorkerSession(this.sessionSlotId(e,t),t)}versionedSlotId(e){return this.brainVersion?`${e}@${this.brainVersion}`:e}sessionSlotId(e,t){return`${this.versionedSlotId(e)}#${t}`}renewAttemptLease(e,t,r){return this.repository.renewAttemptLease(e,t,Date.now(),r)}recordAttemptProgress(e,t,r){return this.repository.recordAttemptProgress(e,t,r)}complete(e,t,r){return this.repository.complete(e,t,r)}update(e,t,r){return this.repository.update(e,t,r)}fail(e,t,r){return this.repository.fail(e,t,r)}retireUnownedActiveJob(e){return this.repository.retireUnownedActiveJob(e)}async getDirectClaimOptions(){return this.directSessionStart??=this.repository.startWorkerSession(this.sessionSlotId(this.directWorkerSlotId,this.directWorkerSessionId),this.directWorkerSessionId,Date.now(),this.directLeaseDurationMs,this.brainVersion),await this.directSessionStart,{workerSlotId:this.directWorkerSlotId,workerSessionId:this.directWorkerSessionId,leaseDurationMs:this.directLeaseDurationMs}}async getStatus(e){return this.repository.getStatus(e)}async getJobsByRootJobId(e){return this.repository.getJobsByRootJobId(e)}async getStatusByEntityId(e){return this.repository.getStatusByEntityId(e)}async getStats(){return this.repository.getStats()}getDiagnostics(e){return this.repository.getDiagnostics(e)}async waitForIdle(e={}){let t=e.quietMs??250,r=e.pollIntervalMs??25,o=Date.now()+(e.timeoutMs??30000),n=async(i)=>{e.signal?.throwIfAborted();let{totals:s}=await this.getDiagnostics(),c=s.pending===0&&s.processing===0?i??Date.now():null;if(c!==null&&Date.now()-c>=t)return;if(Date.now()>=o)throw Error(`Timed out waiting for the job queue to settle: ${s.pending} pending, ${s.processing} processing`);return await Bun.sleep(r),n(c)};return n(null)}getRuntimeUpdates(e,t=1000){return this.repository.getRuntimeUpdates(e,t)}async cleanup(e){let t=await this.repository.cleanup(e);if(t>0)this.logger.info("Cleaned up old jobs",{deletedCount:t,olderThanMs:e});return t}async getActiveJobs(e){return this.repository.getActiveJobs(e)}async getRecentJobs(e,t){return this.repository.getRecentJobs(e,t)}async getFailedJobs(e){return this.repository.getFailedJobs(e)}}var I3=w(()=>{Md();nT();Jd();Oo();J$();b3();E3();Mt();X$();Q$()});var eR=()=>{};var k3=w(()=>{Md();Oo();Jd();Oo();eR();X$()});var A3=w(()=>{Oo();eR()});var nqe;var T3=w(()=>{he();Fd();Oo();nqe=l.preprocess((e)=>{if(typeof e!=="string")return e;return JSON.parse(e)},l.record(l.string(),l.unknown()))});var sqe;var $3=w(()=>{he();sqe=l.record(l.string(),l.unknown())});var R3=w(()=>{Mt();Md()});var O3=w(()=>{I3();k3();A3();T3();$3();Jd();Oo();Fd();R3()});var tR={};Ut(tR,{LEGACY_PROJECTION_JOB_TYPES:()=>P3,LEGACY_PROJECTION_RETIREMENT_REASON:()=>N3,legacyProjectionJobTypeSchema:()=>z3,retireLegacyProjectionJob:()=>Ope});import{existsSync as Tpe}from"fs";import{resolve as $pe}from"path";function C3(e){return{id:e.id,type:e.type,status:e.status,retryCount:e.retryCount,maxRetries:e.maxRetries,createdAt:e.createdAt,startedAt:e.startedAt,completedAt:e.completedAt}}function Rpe(e,t){if(e.type!==t)throw Error(`Job ${e.id} has type ${e.type}; expected ${t}`);if(e.status!=="pending"&&e.status!=="processing")throw Error(`Job ${e.id} is already terminal (${e.status})`);if(e.attemptId!==null||e.workerSlotId!==null||e.workerSessionId!==null||e.leaseExpiresAt!==null||e.attemptHeartbeatAt!==null)throw Error(`Job ${e.id} still has attempt ownership`);if(e.progress!==null||e.result!=null)throw Error(`Job ${e.id} contains partial progress or a result`)}async function Ope(e){let t=$pe(e.databasePath);if(!Tpe(t))throw Error(`Job database does not exist: ${t}`);let r=z3.parse(e.jobType),o=zf.createFresh({url:`file:${t}`});try{let n=await o.getStatus(e.jobId);if(!n)throw Error(`Job not found: ${e.jobId}`);if(Rpe(n,r),e.dryRun){if(e.confirmation!==void 0)throw Error("Dry-run recovery must not include confirmation");return{databasePath:t,job:C3(n),retired:!1}}let i=`retire:${n.id}`;if(e.confirmation!==i)throw Error(`Refusing to retire ${n.id}; expected --confirm ${i}`);let s=await o.retireUnownedActiveJob({jobId:n.id,expectedType:r,reason:N3,now:e.now?.()??Date.now()});if(!s)throw Error(`Job ${n.id} changed or acquired ownership before retirement`);return{databasePath:t,job:C3(s),retired:!0}}finally{o.close()}}var P3,z3,N3="Retired legacy projection job superseded by scheduler-owned projections";var rR=w(()=>{O3();he();P3=["conversation-memory:project","skill:project","swot:derive","topic:project"],z3=l.enum(P3)});function Zt(e,t,r,o,n){return L3.parse({id:e,operation:t,count:r,targetProbeCount:o,settleMs:n})}function oR(e){return Df.parse(structuredClone(Npe[e]))}function Lf(e){let t=`stress:${e.handle}`;if(e.confirmation!==t)throw Error(`Directory-sync stress requires --confirm ${t}`);let r=/(^|[-_.])smoke($|[-_.])/i;if(!r.test(e.handle)||!r.test(e.domain)||!r.test(e.contentRepo))throw Error("Directory-sync stress is smoke-only; handle, domain, and content repository must all identify smoke")}async function Qy(e,t={}){let r=t.fetchImpl??fetch,o=t.now??(()=>new Date),n=t.timeoutMs??20000,i=o(),s=new AbortController,a=setTimeout(()=>s.abort(),n);try{let c=await r(e,{method:"GET",signal:s.signal});return await c.arrayBuffer(),nR.parse({timestamp:i.toISOString(),endpoint:new URL(e).pathname,status:c.status,durationMs:Math.max(0,o().getTime()-i.getTime()),ok:c.ok})}catch(c){return nR.parse({timestamp:i.toISOString(),endpoint:new URL(e).pathname,status:0,durationMs:Math.max(0,o().getTime()-i.getTime()),ok:!1,error:Dpe(c)})}finally{clearTimeout(a)}}async function iR(e,t){let r=Df.parse(e),o=[],n,i=await t.prepare(r),s,a;try{try{await t.startMonitoring()}catch(c){n=`monitor: ${Gy(c)}`}if(!n)for(let c of r.phases)try{let u=B3.parse(await t.executePhase(c,i));if(o.push(u),!u.success){n=`${c.id}: ${u.error??"phase failed"}`;break}}catch(u){let d=Gy(u);o.push({id:c.id,operation:c.operation,count:c.count,success:!1,error:d}),n=`${c.id}: ${d}`;break}}finally{try{if(s=j3.parse(await t.cleanup(i)),!s.success&&!n)n=s.error??"cleanup failed"}catch(c){let u=Gy(c);s={success:!1,probesRemaining:0,error:u},n??=`cleanup: ${u}`}try{a=Z3.parse(await t.stopMonitoring())}catch(c){let u=Gy(c);a={health:[],runtime:[]},n??=`monitor: ${u}`}}return n??=q3(a,r.maximumExternalAiCalls??0),U3.parse({profile:r.profile,success:n===void 0&&o.length===r.phases.length&&s.success,baseline:i,phases:o,cleanup:s,metrics:a,...n?{failure:n}:{}})}function q3(e,t=0){let r=e.health.find((i)=>!i.ok);if(r)return`health: ${r.endpoint} unavailable`;let o=e.externalAiCalls??0;if(o>t)return t===0?`external AI: observed ${o} call(s)`:`external AI: observed ${o} call(s), cap ${t}`;if(e.container?.oomKilled)return"container: OOM killed";let n=e.container?.restartCount??0;if(n>0)return`container: restarted ${n} time(s)`;if(e.container&&e.container.status!=="running")return`container: ${e.container.status}`;return}function Dpe(e){if(e instanceof Error)return`${e.name}: ${e.message}`;return String(e)}function Gy(e){return Ge(e)}var Nf,D3,L3,Df,Cpe,nR,Ppe,B3,j3,zpe,Z3,U3,Npe;var Yy=w(()=>{he();Nf=l.enum(["regression","load","stress"]),D3=l.enum(["add","update","rename","delete"]),L3=l.object({id:l.string().min(1),operation:D3,count:l.number().int().positive().max(700),targetProbeCount:l.number().int().min(0).max(700),settleMs:l.number().int().nonnegative().max(300000)}),Df=l.object({profile:Nf,maximumProbeCount:l.number().int().positive().max(700),maximumExternalAiCalls:l.number().int().nonnegative().max(1e4).optional(),phases:l.array(L3).min(1)}),Cpe=l.object({entities:l.number().int().nonnegative(),notes:l.number().int().nonnegative(),version:l.string().min(1)}),nR=l.object({timestamp:l.iso.datetime(),endpoint:l.string().startsWith("/"),status:l.number().int().nonnegative(),durationMs:l.number().nonnegative(),ok:l.boolean(),error:l.string().optional()}),Ppe=l.object({timestamp:l.iso.datetime(),cpuPercent:l.number().nonnegative(),memoryPercent:l.number().nonnegative(),pids:l.number().int().nonnegative()}),B3=l.object({id:l.string().min(1),operation:D3,count:l.number().int().positive(),success:l.boolean(),commitLatencyMs:l.number().nonnegative().optional(),persistenceLatencyMs:l.number().nonnegative().optional(),error:l.string().optional()}),j3=l.object({success:l.boolean(),probesRemaining:l.number().int().nonnegative(),finalEntities:l.number().int().nonnegative().optional(),finalNotes:l.number().int().nonnegative().optional(),contentTreeRestored:l.boolean().optional(),error:l.string().optional()}),zpe=l.object({status:l.string(),restartCount:l.number().int().nonnegative(),oomKilled:l.boolean()}),Z3=l.object({health:l.array(nR),runtime:l.array(Ppe),externalAiCalls:l.number().int().nonnegative().optional(),container:zpe.optional()}),U3=l.object({profile:Nf,success:l.boolean(),baseline:Cpe,phases:l.array(B3),cleanup:j3,metrics:Z3,failure:l.string().optional()}),Npe={regression:{profile:"regression",maximumProbeCount:20,phases:[Zt("add20","add",20,20,0),Zt("update20","update",20,20,30000),Zt("delete20","delete",20,0,150000)]},load:{profile:"load",maximumProbeCount:350,phases:[Zt("add50","add",50,50,0),Zt("add150","add",100,150,0),Zt("add350","add",200,350,0),Zt("update350a","update",350,350,45000),Zt("rename100","rename",100,350,45000),Zt("update350b","update",350,350,45000),Zt("delete350","delete",350,0,150000)]},stress:{profile:"stress",maximumProbeCount:700,phases:[Zt("add50","add",50,50,0),Zt("add150","add",100,150,0),Zt("add350","add",200,350,0),Zt("add700","add",350,700,0),Zt("update700a","update",700,700,45000),Zt("rename200","rename",200,700,45000),Zt("update700b","update",700,700,45000),Zt("delete700","delete",700,0,150000)]}}});import{spawn as Lpe}from"child_process";async function M3(e,t,r,o){let n=await e(t,r,o);if(n.exitCode!==0)throw eo(t,r,n);return n}function eo(e,t,r){let o=r.stderr.trim()||r.stdout.trim();return Error(`${e} ${t.join(" ")} exited with ${r.exitCode}${o?`: ${o}`:""}`)}var Mo=async(e,t,r={})=>new Promise((o,n)=>{let i=Lpe(e,[...t],{cwd:r.cwd,env:r.env?{...process.env,...r.env}:process.env,stdio:["pipe","pipe","pipe"]}),s="",a="";i.stdout.setEncoding("utf8"),i.stderr.setEncoding("utf8"),i.stdout.on("data",(c)=>{s+=c}),i.stderr.on("data",(c)=>{a+=c}),i.on("error",n),i.on("close",(c)=>{o({exitCode:c??1,stdout:s,stderr:a})}),i.stdin.end(r.stdin)});var Bf=()=>{};class kl{#e;#t;dir;constructor(e,t,r){this.#e=e,this.dir=t,this.#t=r}static async clone(e,t,r,o){let n=new kl(e,r,o);return await M3(e,"git",["-c","credential.helper=","-c",`credential.helper=${F3}`,"clone","--branch","main","--single-branch",`https://github.com/${t}.git`,r],{env:n.environment()}),await n.run(["config","--local","credential.helper",F3]),await n.run(["reset","--hard","origin/main"]),n}async run(e,t=!0){let r=await this.#e("git",e,{cwd:this.dir,env:this.environment()});if(t&&r.exitCode!==0)throw eo("git",e,r);return r}async output(e){return(await this.run(e)).stdout.trim()}async sync(e=!1){if(await this.run(["fetch","origin","main"]),e)await this.run(["reset","--hard","origin/main"]);else await this.run(["pull","--rebase","origin","main"])}async commitAll(e){await this.run(["add","-A"]),await this.run(["-c","user.name=brains-ops","-c","user.email=ops@rizom.ai","commit","-m",e])}async pushMainWithRebase(){for(let e=1;e<=5;e+=1){if((await this.run(["push","origin","main"],!1)).exitCode===0)return;await this.run(["pull","--rebase","origin","main"])}throw Error("Unable to push content main after five rebase attempts")}async pruneStressBackupBranches(){let t=(await this.run(["ls-remote","--heads","origin","refs/heads/ops/directory-sync-stress-backup-*"])).stdout.split(/\r?\n/).map((r)=>r.match(/\trefs\/heads\/(ops\/directory-sync-stress-backup-[^\s]+)$/)?.[1]).filter((r)=>r!==void 0).sort();for(let r of t)await this.run(["push","origin","--delete",r]);return t}environment(){return{GH_TOKEN:this.#t,GITHUB_TOKEN:this.#t}}}var F3='!f() { test "$1" = get && echo username=x-access-token && echo "password=$GH_TOKEN"; }; f';var J3=w(()=>{Bf()});function jf(e){return e.entityCounts.find((t)=>t.entityType==="note")?.count??0}class sR{#e;#t=[];#r=[];#n=new Set(["/health/ready"]);#o=!0;#i;#a;#s="";#c=0;#l;constructor(e){this.#e=e}get startedAt(){return this.#s}get error(){return this.#a}get healthSamples(){return this.#t}get runtimeSamples(){return this.#r}gateHealthSamples(){return this.#t.slice(this.#c,this.#l??this.#t.length)}markGateEnd(){this.#l=this.#t.length}async discoverEndpoints(){for(let e of["/health/live","/health/operate"])if((await Qy(`https://${this.#e.domain}${e}`,{fetchImpl:this.#e.fetchImpl,now:this.#e.now,timeoutMs:5000})).status!==404)this.#n.add(e)}start(){this.#o=!1,this.#a=void 0,this.#c=this.#t.length,this.#l=void 0,this.#s=this.#e.now().toISOString(),this.#i=Promise.all([this.#m(),this.#p()]).then(()=>{return}).catch((e)=>{this.#a=e,this.#o=!0})}async stop(){this.#o=!0,await this.#i}async waitForHealthSnapshot(e){return this.waitForEntityBaseline(void 0,void 0,e)}async waitForEntityBaseline(e,t,r){let o=this.#e.now().getTime();while(this.#e.now().getTime()-o<r){let n=await this.fetchHealthPayload();if(this.#f(n,e,t))return n;await this.#e.sleep(5000)}return}async waitForStableEntityBaseline(e,t,r){let o=this.#e.now().getTime(),n=0;while(this.#e.now().getTime()-o<r){let i=await this.fetchHealthPayload();if(this.#f(i,e,t)){if(n+=1,n===2)return i}else n=0;await this.#e.sleep(5000)}return}async fetchHealthPayload(){let e=await this.#d();if(e===void 0)return;let t=await this.#e.readEntityCounts();if(!t)return;return{version:e,entities:t.reduce((r,o)=>r+o.count,0),entityCounts:t}}async#d(){let e=this.#e.now(),t=new AbortController,r=setTimeout(()=>t.abort(),20000);try{let o=await this.#e.fetchImpl(`https://${this.#e.domain}/health/operate`,{signal:t.signal}),n=await o.text();if(this.#t.push({timestamp:e.toISOString(),endpoint:"/health/operate",status:o.status,durationMs:Math.max(0,this.#e.now().getTime()-e.getTime()),ok:o.ok}),!o.ok)return;return Bpe.parse(JSON.parse(n)).app.version}catch(o){this.#t.push({timestamp:e.toISOString(),endpoint:"/health/operate",status:0,durationMs:Math.max(0,this.#e.now().getTime()-e.getTime()),ok:!1,error:o instanceof Error?`${o.name}: ${o.message}`:String(o)});return}finally{clearTimeout(r)}}#f(e,t,r){return e!==void 0&&(t===void 0||jf(e)===t)&&(r===void 0||e.entities===r)}async#m(){while(!this.#o){for(let e of this.#n)this.#t.push(await Qy(`https://${this.#e.domain}${e}`,{fetchImpl:this.#e.fetchImpl,now:this.#e.now,timeoutMs:20000}));await this.#e.sleep(4000)}}async#p(){while(!this.#o){let e=await this.#e.sampleRuntime();if(e)this.#r.push(e);await this.#e.sleep(1000)}}}var K3,Bpe;var H3=w(()=>{he();Yy();K3=l.array(l.object({entityType:l.string(),count:l.number().int().nonnegative()})),Bpe=l.object({status:l.literal("ready"),operationalStatus:l.literal("operational"),app:l.object({version:l.string()})})});var Xy={};Ut(Xy,{applyDirectorySyncStressPhase:()=>e5,cleanupDirectorySyncStress:()=>Q3,listProbeFiles:()=>ua,parseStressRuntimeSample:()=>t5,removeProbeFiles:()=>pR,runDeployedDirectorySyncStress:()=>W3,runStressCommand:()=>Mo,verifyDirectorySyncStressAccess:()=>G3});import{chmod as jpe,mkdir as cR,mkdtemp as lR,readFile as Zpe,readdir as Upe,rename as qpe,rm as Uf,writeFile as En}from"fs/promises";import{tmpdir as uR}from"os";import{join as ct,resolve as dR}from"path";async function W3(e){let t=e.now??(()=>new Date),r=t().toISOString(),o=mR(r),n=dR(e.artifactsDir??ct(e.rootDir,".brains-ops","stress",o));await cR(n,{recursive:!0});let{pilot:i,user:s}=await fR(e.rootDir,e.handle);Lf({handle:s.handle,domain:s.domain,contentRepo:s.contentRepo,confirmation:e.confirmation});let a=Nf.parse(e.profile),c=e.plan?Df.parse(e.plan):oR(a);if(c.profile!==a)throw Error(`Directory-sync stress plan profile ${c.profile} does not match requested profile ${a}`);if((c.maximumExternalAiCalls??0)===0)X3(s);let u=Mpe.parse(e.env??process.env),d=new Y3({runId:o,artifactsDir:n,user:s,githubOrg:i.githubOrg,serverLabel:`${i.contentRepoPrefix}${s.handle}`,environment:u,fetchImpl:e.fetchImpl??fetch,commandRunner:e.commandRunner??Mo,logger:e.logger??console.info,now:t,sleep:e.sleep??Bun.sleep}),f;try{f=await iR(c,d)}finally{await d.dispose()}let m={runId:o,artifactsDir:n,target:{handle:s.handle,domain:s.domain,contentRepo:`${i.githubOrg}/${s.contentRepo}`},startedAt:r,completedAt:t().toISOString(),report:f};return await Wpe(m),m}async function G3(e){let r=(e.now??(()=>new Date))().toISOString(),o=mR(r),n=dR(e.artifactsDir??ct(e.rootDir,".brains-ops","stress",`access-check-${o}`));await cR(n,{recursive:!0});let{pilot:i,user:s}=await fR(e.rootDir,e.handle);Lf({handle:s.handle,domain:s.domain,contentRepo:s.contentRepo,confirmation:e.confirmation}),X3(s);let a=(e.env??process.env).CONTENT_REPO_ADMIN_TOKEN;if(!a)throw Error("Missing CONTENT_REPO_ADMIN_TOKEN");let c=await lR(ct(uR(),"brains-ops-directory-sync-access-check-"));try{let u=await kl.clone(e.commandRunner??Mo,`${i.githubOrg}/${s.contentRepo}`,ct(c,"content"),a),d=await u.output(["rev-parse","HEAD"]);await u.run(["push","--dry-run","origin",`HEAD:refs/heads/ops/directory-sync-stress-access-check-${o}`]);let f={success:!0,artifactsDir:n,checkedAt:r,remoteHead:d,target:{handle:s.handle,domain:s.domain,contentRepo:`${i.githubOrg}/${s.contentRepo}`}};return await En(ct(n,"access-check.json"),`${JSON.stringify(f,null,2)}
399
399
  `),f}finally{await Uf(c,{recursive:!0,force:!0})}}async function Q3(e){let t=e.now??(()=>new Date),r=dR(e.artifactsDir??ct(e.rootDir,".brains-ops","stress",`cleanup-${mR(t().toISOString())}`));await cR(r,{recursive:!0});let{pilot:o,user:n}=await fR(e.rootDir,e.handle);Lf({handle:n.handle,domain:n.domain,contentRepo:n.contentRepo,confirmation:e.confirmation});let i=(e.env??process.env).CONTENT_REPO_ADMIN_TOKEN;if(!i)throw Error("Missing CONTENT_REPO_ADMIN_TOKEN");let s=e.commandRunner??Mo,a=e.logger??console.info,c=await lR(ct(uR(),"brains-ops-directory-sync-cleanup-")),u=ct(c,"content");try{let d=await kl.clone(s,`${o.githubOrg}/${n.contentRepo}`,u,i),f=await pR(d.dir),m;if(f>0)await d.commitAll("test(directory-sync): clean residual stress probes"),await d.pushMainWithRebase(),m=await d.output(["rev-parse","HEAD"]),a(`Removed ${f} directory-sync stress probes`);let h=(await ua(d.dir)).length,b=h===0?await d.pruneStressBackupBranches():[],y={success:h===0,artifactsDir:r,probesRemoved:f,probesRemaining:h,backupBranchesDeleted:b,...m?{cleanupCommit:m}:{}};return await En(ct(r,"cleanup.json"),`${JSON.stringify(y,null,2)}
400
400
  `),y}finally{await Uf(c,{recursive:!0,force:!0})}}class Y3{#e;#t;#r;#n;#o;#i;#a;#s;#c;#l;#d;constructor(e){this.#e=e,this.#t=new sR({domain:e.user.domain,fetchImpl:e.fetchImpl,now:e.now,sleep:e.sleep,sampleRuntime:()=>this.#b(),readEntityCounts:()=>this.#y()})}async prepare(e){this.#r=await lR(ct(uR(),"brains-ops-directory-sync-stress-"));let t=ct(this.#r,"content");this.#o=ct(this.#r,"id_ed25519"),this.#i=ct(this.#r,"known_hosts"),this.#a=await this.#m(),await En(this.#o,Vpe(this.#e.environment.KAMAL_SSH_PRIVATE_KEY),{mode:384}),await jpe(this.#o,384);let r=await this.#S("ssh-keyscan",["-T","10","-t","ed25519",this.#a]);if(r.exitCode!==0||!r.stdout.trim())throw Error("Unable to resolve smoke SSH host key");await En(this.#i,r.stdout,{mode:384});let o=await this.#h(["docker","ps","--filter","label=service=rover","--filter","label=role=web","--format","{{.Names}}"]);if(this.#s=o.stdout.trim().split(/\r?\n/)[0],!this.#s||!/^[A-Za-z0-9_.-]+$/.test(this.#s))throw Error("Unable to resolve a running smoke container");let n=await kl.clone(this.#e.commandRunner,`${this.#e.githubOrg}/${this.#e.user.contentRepo}`,t,this.#e.environment.CONTENT_REPO_ADMIN_TOKEN);if(this.#n=n,(await ua(n.dir)).length>0)throw Error("Directory-sync stress probes already exist");let i=await n.output(["rev-parse","HEAD"]);this.#l=await n.output(["rev-parse","HEAD^{tree}"]),this.#d=await this.#f();let s=await this.#t.waitForHealthSnapshot(60000);if(!s)throw Error("Smoke health was unavailable before stress testing");return this.#c=`ops/directory-sync-stress-backup-${this.#e.runId}`,await n.run(["push","origin",`HEAD:refs/heads/${this.#c}`]),await this.#t.discoverEndpoints(),await En(ct(this.#e.artifactsDir,"state.json"),`${JSON.stringify({runId:this.#e.runId,profile:e.profile,originalHead:i,originalTree:this.#l,backupBranch:this.#c,baseline:{entities:s.entities,notes:jf(s),version:s.version}},null,2)}
401
401
  `),this.#e.logger(`Prepared ${e.profile} directory-sync stress run for ${this.#e.user.handle}`),{entities:s.entities,notes:jf(s),version:s.version}}async startMonitoring(){this.#v(),this.#t.start()}async executePhase(e,t){this.#v();let r=this.#n;if(!r)throw Error("Directory-sync stress checkout is not prepared");await r.sync();let o=this.#t.healthSamples.length,n=this.#e.now().getTime(),i=await this.#g();if(i?.pending!==0||i.processing!==0)return Al(e,"health did not provide a drained queue before the phase");await e5(r.dir,e),await r.commitAll(`test(directory-sync): stress ${e.id}`),await r.pushMainWithRebase();let s=this.#e.now().getTime(),a=await r.output(["rev-parse","HEAD"]),c=await this.#p(a,900000);if(c===void 0)return Al(e,"runtime did not pull the phase commit");let u;if(e.operation==="rename"){let h=t.notes+e.targetProbeCount;if(e.settleMs>0)await this.#e.sleep(e.settleMs);let b=await this.#t.waitForStableEntityBaseline(h,void 0,1200000);if(u=this.#e.now().getTime()-s,!b)return Al(e,`health did not stabilize at ${h} notes`,c,u)}else if(e.operation==="add"||e.operation==="delete"){let h=t.notes+e.targetProbeCount,b=this.#e.now().getTime(),y=await this.#t.waitForEntityBaseline(h,void 0,1200000);if(u=this.#e.now().getTime()-b,!y)return Al(e,`health did not reach ${h} notes`,c,u)}if(e.operation!=="rename"&&e.settleMs>0)await this.#e.sleep(e.settleMs);let d=e.operation==="delete"?0:Math.ceil(e.count/50);if(!await this.#u(i.completedImports+d,1200000))return Al(e,`health did not observe ${d} completed import job(s) with a drained queue`,c,u);let m=this.#t.healthSamples.slice(o).find((h)=>!h.ok);if(m)return Al(e,`${m.endpoint} unavailable (${m.status===0?m.error??"unknown":m.status})`,c,u);return this.#e.logger(`Completed ${e.id} in ${this.#e.now().getTime()-n}ms`),{id:e.id,operation:e.operation,count:e.count,success:!0,commitLatencyMs:c,...u===void 0?{}:{persistenceLatencyMs:u}}}async cleanup(e){let t=this.#n;if(!t)return{success:!1,probesRemaining:0,error:"stress checkout was not prepared"};try{if(await t.sync(!0),await pR(t.dir)>0)await t.commitAll("test(directory-sync): remove stress probes"),await t.pushMainWithRebase();let o=(await ua(t.dir)).length;this.#t.markGateEnd();let n=await this.#t.waitForEntityBaseline(e.notes,e.entities,1200000);await t.sync(!0);let s=await t.output(["rev-parse","HEAD^{tree}"])===this.#l,a=o===0&&n!==void 0&&s;if(a&&this.#c){if((await t.run(["push","origin","--delete",this.#c],!1)).exitCode!==0)this.#e.logger(`Warning: unable to delete backup branch ${this.#c}`)}return{success:a,probesRemaining:o,...n?{finalEntities:n.entities,finalNotes:jf(n)}:{},contentTreeRestored:s,...!a?{error:!n?"entity baseline was not restored before cleanup timeout":!s?"content tree differs from the pre-stress baseline":"stress probes remain after cleanup"}:{}}}catch(r){return{success:!1,probesRemaining:(await ua(t.dir)).length,error:Ge(r)}}}async stopMonitoring(){await this.#t.stop(),await En(ct(this.#e.artifactsDir,"health-samples.json"),`${JSON.stringify(this.#t.healthSamples,null,2)}
@@ -409,7 +409,7 @@ Update marker: ${t.id}.
409
409
  `}function mR(e){return e.replace(/[-:.TZ]/g,"").slice(0,14)}async function Wpe(e){await En(ct(e.artifactsDir,"report.json"),`${JSON.stringify(e,null,2)}
410
410
  `),await En(ct(e.artifactsDir,"report.md"),Gpe(e))}function Gpe(e){let t=e.report.metrics.runtime,r=e.report.metrics.health,o=t.map((a)=>a.cpuPercent).sort((a,c)=>a-c),n=t.map((a)=>a.memoryPercent),i=r.filter((a)=>!a.ok),s=["# Directory-sync stress report","",`- Run: \`${e.runId}\``,`- Target: \`${e.target.handle}\` (${e.target.domain})`,`- Profile: \`${e.report.profile}\``,`- Version: \`${e.report.baseline.version}\``,`- Result: **${e.report.success?"PASS":"FAIL"}**`,`- Started: ${e.startedAt}`,`- Completed: ${e.completedAt}`,"","## Phases","","| Phase | Operation | Count | Result | Pull latency | Persistence latency |","| --- | --- | ---: | --- | ---: | ---: |",...e.report.phases.map((a)=>`| ${a.id} | ${a.operation} | ${a.count} | ${a.success?"pass":`fail: ${a.error??"unknown"}`} | ${V3(a.commitLatencyMs)} | ${V3(a.persistenceLatencyMs)} |`),"","## Runtime","",`- Samples: ${t.length}`,`- CPU p50/p95/p99/max: ${Zf(aR(o,0.5))} / ${Zf(aR(o,0.95))} / ${Zf(aR(o,0.99))} / ${Zf(o.at(-1))}`,`- Memory max: ${Zf(n.length?Math.max(...n):void 0)}`,`- PIDs max: ${t.length?Math.max(...t.map((a)=>a.pids)):"n/a"}`,`- Container status/restarts/OOM: ${e.report.metrics.container?`${e.report.metrics.container.status} / ${e.report.metrics.container.restartCount} / ${e.report.metrics.container.oomKilled}`:"unknown"}`,`- External AI calls: ${e.report.metrics.externalAiCalls??0}`,`- Health samples: ${r.length}`,`- Health failures: ${i.length}`,"","## Cleanup","",`- Result: ${e.report.cleanup.success?"pass":"fail"}`,`- Remaining probes: ${e.report.cleanup.probesRemaining}`,`- Final entities: ${e.report.cleanup.finalEntities??"unknown"}`,`- Final notes: ${e.report.cleanup.finalNotes??"unknown"}`,`- Content tree restored: ${e.report.cleanup.contentTreeRestored??"unknown"}`,""];if(e.report.failure)s.push("## Failure","",e.report.failure,"");return`${s.join(`
411
411
  `)}
412
- `}function aR(e,t){if(e.length===0)return;let r=Math.max(0,Math.ceil(e.length*t)-1);return e[r]}function Zf(e){return e===void 0?"n/a":`${e.toFixed(2)}%`}function V3(e){return e===void 0?"n/a":`${(e/1000).toFixed(1)}s`}var Mpe,Fpe,Jpe,Kpe;var qf=w(()=>{he();Yy();Mr();Bf();J3();H3();Bf();Mpe=l.object({HCLOUD_TOKEN:l.string().min(1),KAMAL_SSH_PRIVATE_KEY:l.string().min(1),CONTENT_REPO_ADMIN_TOKEN:l.string().min(1)}),Fpe=l.object({servers:l.array(l.object({id:l.number().int(),status:l.string(),public_net:l.object({ipv4:l.object({ip:l.string().min(1)})})}))}),Jpe=l.object({status:l.literal("ready"),operationalStatus:l.literal("operational"),resources:l.object({queue:l.object({totals:l.object({pending:l.number().int().nonnegative(),processing:l.number().int().nonnegative()}),byType:l.array(l.object({type:l.string(),status:l.string(),count:l.number().int().nonnegative()}))})})}),Kpe=['import { Database } from "bun:sqlite";','const path = (process.env.XDG_DATA_HOME || "./data") + "/brain.db";',"const db = new Database(path, { readonly: true });",'const rows = db.query(`SELECT "entityType" AS "entityType", COUNT(*) AS "count" FROM entities GROUP BY "entityType"`).all();',"process.stdout.write(JSON.stringify(rows));"].join(" ")});var r5=w(()=>{ns()});var Qpe="/usr/local/sbin/brains-health-watchdog",Ype="ai.rizom.brain.watchdog",Xpe="true",hR,n5,oMe;var o5=w(async()=>{r5();hR=`${Ype}=${Xpe}`,n5=`#!/usr/bin/env bash
412
+ `}function aR(e,t){if(e.length===0)return;let r=Math.max(0,Math.ceil(e.length*t)-1);return e[r]}function Zf(e){return e===void 0?"n/a":`${e.toFixed(2)}%`}function V3(e){return e===void 0?"n/a":`${(e/1000).toFixed(1)}s`}var Mpe,Fpe,Jpe,Kpe;var qf=w(()=>{he();Yy();Mr();Bf();J3();H3();Bf();Mpe=l.object({HCLOUD_TOKEN:l.string().min(1),KAMAL_SSH_PRIVATE_KEY:l.string().min(1),CONTENT_REPO_ADMIN_TOKEN:l.string().min(1)}),Fpe=l.object({servers:l.array(l.object({id:l.number().int(),status:l.string(),public_net:l.object({ipv4:l.object({ip:l.string().min(1)})})}))}),Jpe=l.object({status:l.literal("ready"),operationalStatus:l.literal("operational"),resources:l.object({queue:l.object({totals:l.object({pending:l.number().int().nonnegative(),processing:l.number().int().nonnegative()}),byType:l.array(l.object({type:l.string(),status:l.string(),count:l.number().int().nonnegative()}))})})}),Kpe=['import { Database } from "bun:sqlite";','const path = (process.env.XDG_DATA_HOME || "./data") + "/brain.db";',"const db = new Database(path, { readonly: true });",'const rows = db.query(`SELECT "entityType" AS "entityType", COUNT(*) AS "count" FROM entities GROUP BY "entityType"`).all();',"process.stdout.write(JSON.stringify(rows));"].join(" ")});var r5=w(()=>{ns()});var Qpe="/usr/local/sbin/brains-health-watchdog",Ype="ai.rizom.brain.watchdog",Xpe="true",hR,n5,nMe;var o5=w(async()=>{r5();hR=`${Ype}=${Xpe}`,n5=`#!/usr/bin/env bash
413
413
  set -euo pipefail
414
414
  umask 077
415
415
 
@@ -468,7 +468,7 @@ while read -r container_id; do
468
468
  logger -t brains-health-watchdog "restarting unhealthy container=$container_name service=$service_name incident=$incident_path"
469
469
  docker restart "$container_id"
470
470
  done < <(docker ps --filter health=unhealthy --filter label=${hR} --format '{{.ID}}')
471
- `,oMe=`[Unit]
471
+ `,nMe=`[Unit]
472
472
  Description=Restart persistently unhealthy Brain containers
473
473
  After=docker.service
474
474
  Requires=docker.service
@@ -708,7 +708,7 @@ printf 'REMOTE_ARTIFACT_DIR=%s\\n' "$remote_dir"
708
708
  `),i}async function f5(e,t){let r=await ut(e),o=r.users.find((n)=>n.handle===t);if(!o)throw Error(`Unknown pilot user: ${t}`);return{pilot:r.pilot,user:o}}async function p5(e){let t=await nme(to(ome(),"brains-ops-watchdog-smoke-")),r=to(t,"id_ed25519"),o=to(t,"known_hosts");try{let n=encodeURIComponent(`brain=${e.target.pilot.contentRepoPrefix}${e.target.user.handle}`),i=await e.fetchImpl(`https://api.hetzner.cloud/v1/servers?label_selector=${n}`,{headers:{Authorization:`Bearer ${e.environment.HCLOUD_TOKEN}`}});if(!i.ok)throw Error(`Hetzner server lookup failed with ${i.status}`);let s=ime.parse(await i.json());if(s.servers.length!==1)throw Error(`Expected one smoke server, found ${s.servers.length}`);let a=s.servers[0];if(a?.status!=="running")throw Error("Smoke server is not running");await Tl(r,cme(e.environment.KAMAL_SSH_PRIVATE_KEY),{mode:384}),await rme(r,384);let c=await e.commandRunner("ssh-keyscan",["-T","10","-t","ed25519",a.public_net.ipv4.ip]);if(c.exitCode!==0||!c.stdout.trim())throw Error("Unable to resolve watchdog smoke SSH host key");return await Tl(o,c.stdout,{mode:384}),{temporaryRoot:t,sshKeyPath:r,knownHostsPath:o,serverIp:a.public_net.ipv4.ip,commandRunner:e.commandRunner}}catch(n){throw await yR(t,{recursive:!0,force:!0}),n}}async function gR(e,t,r){return e.commandRunner("ssh",[...m5(e),`root@${e.serverIp}`,"bash","-s","--",t,r],{stdin:bR()})}async function sme(e,t,r){return e.commandRunner("scp",[...m5(e),"-r",`root@${e.serverIp}:${t}/.`,r])}function m5(e){return["-i",e.sshKeyPath,"-o","BatchMode=yes","-o","IdentitiesOnly=yes","-o","ConnectTimeout=10","-o","StrictHostKeyChecking=yes","-o",`UserKnownHostsFile=${e.knownHostsPath}`]}async function ame(e){try{return await tme(e),!0}catch{return!1}}async function eb(e,t,r){await Promise.all([Tl(to(e,`${t}.stdout.log`),r.stdout),Tl(to(e,`${t}.stderr.log`),r.stderr)])}function cme(e){return`${e.replace(/\r\n/g,`
709
709
  `).replace(/\\n/g,`
710
710
  `).trimEnd()}
711
- `}var l5,ime;var rb=w(async()=>{he();i5();Mr();Bf();await o5();l5=l.object({HCLOUD_TOKEN:l.string().min(1),KAMAL_SSH_PRIVATE_KEY:l.string().min(1)}),ime=l.object({servers:l.array(l.object({status:l.string(),public_net:l.object({ipv4:l.object({ip:l.string().min(1)})})}))})});import{access as CN,chmod as mE,mkdir as Zm,readFile as zN,writeFile as PN}from"fs/promises";import{dirname as r7,join as rc}from"path";import{fileURLToPath as n7}from"url";var Mf={name:"@rizom/ops",version:"0.2.0-alpha.674",description:"Operator CLI for managing private brain fleet registry repos",keywords:["brains","ops","cli","deploy","fleet","operator"],license:"AGPL-3.0-only",author:"Yeehaa <yeehaa@rizom.ai> (https://rizom.ai)",bin:{"brains-ops":"./dist/brains-ops.js"},bugs:"https://github.com/rizom-ai/brains/issues",dependencies:{"@libsql/client":"^0.17.4","age-encryption":"^0.3.0",yaml:"^2.9.0"},devDependencies:{"@brains/contracts":"workspace:*","@brains/deploy-support":"workspace:*","@brains/eslint-config":"workspace:*","@brains/job-queue":"workspace:*","@brains/profile":"workspace:*","@brains/site-composition":"workspace:*","@brains/test-utils":"workspace:*","@brains/typescript-config":"workspace:*","@brains/utils":"workspace:*","@types/bun":"^1.4.0",typescript:"^7.0.2"},engines:{bun:">=1.3.3"},exports:{".":{types:"./dist/index.d.ts",import:"./dist/index.js"},"./deploy":{types:"./dist/deploy.d.ts",import:"./dist/deploy.js",bun:"./dist/deploy.js"}},files:["dist","templates"],homepage:"https://github.com/rizom-ai/brains/tree/main/packages/brains-ops#readme",main:"./dist/index.js",publishConfig:{access:"public"},repository:{type:"git",url:"https://github.com/rizom-ai/brains.git",directory:"packages/brains-ops"},scripts:{build:"bun scripts/build.ts",lint:"eslint . --max-warnings 0","lint:fix":"eslint . --max-warnings 0 --fix",prepublishOnly:"bun scripts/build.ts",test:"bun test --timeout 20000","test:smoke":"bun run build && RUN_SMOKE_TESTS=1 bun test --timeout 60000",typecheck:"tsc --noEmit"},type:"module",types:"./dist/index.d.ts"};ns();tc();var o7=["pilot.yaml","package.json",".env.schema",".gitignore","cohorts/cohort-1.yaml","users/alice.yaml",".github/actions/varlock-env/action.yml",".github/workflows/build.yml",".github/workflows/deploy.yml",".github/workflows/directory-sync-stress.yml",".github/workflows/health-watchdog-smoke.yml",".github/workflows/offboard.yml",".github/workflows/reconcile.yml",".github/workflows/upgrade.yml","deploy/Dockerfile","deploy/kamal/deploy.yml","deploy/scripts/helpers.ts","deploy/scripts/create-predeploy-backup.ts","deploy/scripts/install-health-watchdog.ts","deploy/scripts/provision-server.ts","deploy/scripts/update-dns.ts","deploy/scripts/write-ssh-key.ts","deploy/scripts/decrypt-user-secrets.ts","deploy/scripts/validate-secrets.ts","deploy/scripts/write-kamal-secrets.ts","deploy/scripts/resolve-user-config.ts","deploy/scripts/resolve-missing-images.ts","deploy/scripts/verify-runtime-image.ts","deploy/scripts/resolve-deploy-handles.ts","deploy/scripts/sync-content-repo.ts",".kamal/hooks/pre-deploy","docs/onboarding-checklist.md","docs/canonical-crossover-record.md","docs/operator-playbook.md","docs/user-onboarding.md","README.md"],hE=new Set([".kamal/hooks/pre-deploy"]),i7=new Set(["cohorts/cohort-1.yaml","users/alice.yaml","docs/canonical-crossover-record.md"]),s7=n7(new URL("../templates/rover-pilot/",import.meta.url));function co(e){return(t)=>t.includes(e)}function a7(e){return TR.find((t)=>e===`deploy/scripts/${t}`)}function gE(e){return e.replace(/\n {2}secret:\n(?: {4}- .*\n)+\nvolumes:\n/,`
711
+ `}var l5,ime;var rb=w(async()=>{he();i5();Mr();Bf();await o5();l5=l.object({HCLOUD_TOKEN:l.string().min(1),KAMAL_SSH_PRIVATE_KEY:l.string().min(1)}),ime=l.object({servers:l.array(l.object({status:l.string(),public_net:l.object({ipv4:l.object({ip:l.string().min(1)})})}))})});import{access as CN,chmod as mE,mkdir as Zm,readFile as zN,writeFile as PN}from"fs/promises";import{dirname as r7,join as rc}from"path";import{fileURLToPath as n7}from"url";var Mf={name:"@rizom/ops",version:"0.2.0-alpha.675",description:"Operator CLI for managing private brain fleet registry repos",keywords:["brains","ops","cli","deploy","fleet","operator"],license:"AGPL-3.0-only",author:"Yeehaa <yeehaa@rizom.ai> (https://rizom.ai)",bin:{"brains-ops":"./dist/brains-ops.js"},bugs:"https://github.com/rizom-ai/brains/issues",dependencies:{"@libsql/client":"^0.17.4","age-encryption":"^0.3.0",yaml:"^2.9.0"},devDependencies:{"@brains/contracts":"workspace:*","@brains/deploy-support":"workspace:*","@brains/eslint-config":"workspace:*","@brains/job-queue":"workspace:*","@brains/profile":"workspace:*","@brains/site-composition":"workspace:*","@brains/test-utils":"workspace:*","@brains/typescript-config":"workspace:*","@brains/utils":"workspace:*","@types/bun":"^1.4.0",typescript:"^7.0.2"},engines:{bun:">=1.3.3"},exports:{".":{types:"./dist/index.d.ts",import:"./dist/index.js"},"./deploy":{types:"./dist/deploy.d.ts",import:"./dist/deploy.js",bun:"./dist/deploy.js"}},files:["dist","templates"],homepage:"https://github.com/rizom-ai/brains/tree/main/packages/brains-ops#readme",main:"./dist/index.js",publishConfig:{access:"public"},repository:{type:"git",url:"https://github.com/rizom-ai/brains.git",directory:"packages/brains-ops"},scripts:{build:"bun scripts/build.ts",lint:"eslint . --max-warnings 0","lint:fix":"eslint . --max-warnings 0 --fix",prepublishOnly:"bun scripts/build.ts",test:"bun test --timeout 20000","test:smoke":"bun run build && RUN_SMOKE_TESTS=1 bun test --timeout 60000",typecheck:"tsc --noEmit"},type:"module",types:"./dist/index.d.ts"};ns();tc();var o7=["pilot.yaml","package.json",".env.schema",".gitignore","cohorts/cohort-1.yaml","users/alice.yaml",".github/actions/varlock-env/action.yml",".github/workflows/build.yml",".github/workflows/deploy.yml",".github/workflows/directory-sync-stress.yml",".github/workflows/health-watchdog-smoke.yml",".github/workflows/offboard.yml",".github/workflows/reconcile.yml",".github/workflows/upgrade.yml","deploy/Dockerfile","deploy/kamal/deploy.yml","deploy/scripts/helpers.ts","deploy/scripts/create-predeploy-backup.ts","deploy/scripts/install-health-watchdog.ts","deploy/scripts/provision-server.ts","deploy/scripts/update-dns.ts","deploy/scripts/write-ssh-key.ts","deploy/scripts/decrypt-user-secrets.ts","deploy/scripts/validate-secrets.ts","deploy/scripts/write-kamal-secrets.ts","deploy/scripts/resolve-user-config.ts","deploy/scripts/resolve-missing-images.ts","deploy/scripts/verify-runtime-image.ts","deploy/scripts/resolve-deploy-handles.ts","deploy/scripts/sync-content-repo.ts",".kamal/hooks/pre-deploy","docs/onboarding-checklist.md","docs/canonical-crossover-record.md","docs/operator-playbook.md","docs/user-onboarding.md","README.md"],hE=new Set([".kamal/hooks/pre-deploy"]),i7=new Set(["cohorts/cohort-1.yaml","users/alice.yaml","docs/canonical-crossover-record.md"]),s7=n7(new URL("../templates/rover-pilot/",import.meta.url));function co(e){return(t)=>t.includes(e)}function a7(e){return TR.find((t)=>e===`deploy/scripts/${t}`)}function gE(e){return e.replace(/\n {2}secret:\n(?: {4}- .*\n)+\nvolumes:\n/,`
712
712
  secret:
713
713
  - __DYNAMIC_SECRETS__
714
714
 
@@ -724,7 +724,7 @@ users/*.secrets.yaml
724
724
  `)}function QW(e,t){return["# local per-user secret staging file",`# fill values, run \`bunx brains-ops secrets:encrypt . ${e}\`, then the plaintext file will be removed`,...t?["discordBotToken: "]:[],"atprotoAppPassword: ","# For custom-domain sites, paste PEMs with literal \\n escapes.","certificatePem: ","privateKeyPem: ",""].join(`
725
725
  `)}function YW(e){return["members:",...e.members.map((t)=>` - ${t}`),...e.brainVersionOverride?[`brainVersionOverride: ${e.brainVersionOverride}`]:[],...e.bundlesOverride?["bundlesOverride:",...e.bundlesOverride.map((t)=>` - ${t}`)]:[],...e.addOverride?["addOverride:",...e.addOverride.map((t)=>` - ${t}`)]:[],...e.removeOverride?["removeOverride:",...e.removeOverride.map((t)=>` - ${t}`)]:[],...e.aiApiKeyOverride?[`aiApiKeyOverride: ${e.aiApiKeyOverride}`]:[],...e.gitSyncTokenOverride?[`gitSyncTokenOverride: ${e.gitSyncTokenOverride}`]:[],""].join(`
726
726
  `)}async function eD(e,t){try{return await tD(e,t,{flag:"wx"}),!0}catch(r){if(eG(r))return!1;throw r}}async function XW(e){try{return await JW(e),!0}catch{return!1}}function eG(e){return tG(e,"EEXIST")}function tG(e,t){return typeof e==="object"&&e!==null&&"code"in e&&e.code===t}function rG(e){return e.split("-").filter((t)=>t.length>0).map(B2).join(" ")}tk();async function rk(e,t,r,o={}){let{registry:n,users:i}=await Q2(e,t);await ic(e,n,i,r,o)}async function nd(e,t,r={}){let{registry:o,users:n}=await Y2(e);await ic(e,o,n,t,r)}import{parseArgs as lie}from"util";function ot(e){return e}class gB extends Error{constructor(e){super(e);this.name="CliUsageError"}}function uie(e,t){let r={...t};for(let o of e)for(let[n,i]of Object.entries(o.flags??{})){let s=r[n];if(s===void 0){r[n]=i;continue}if(s.type!==i.type||s.short!==i.short||s.default!==i.default)throw Error(`Conflicting definitions for flag --${n}: commands must agree on type, short, and default`)}return r}function die(e){let t={};for(let[r,o]of Object.entries(e))t[r]={type:o.type,...o.short!==void 0?{short:o.short}:{},...o.default!==void 0?{default:o.default}:{}};return t}function fie(e){if(!(e instanceof Error)||!("code"in e))return!1;return e.code==="ERR_PARSE_ARGS_UNKNOWN_OPTION"||e.code==="ERR_PARSE_ARGS_INVALID_OPTION_VALUE"}function yB(e,t){let r=uie(t.commands,t.globalFlags??{}),o,n;try{({values:o,positionals:n}=lie({args:e,options:die(r),allowPositionals:!0,strict:t.strict??!0}))}catch(s){if(fie(s))throw new gB(s.message.split(". ")[0]??s.message);throw s}if("help"in r&&o.help===!0)return{command:"help",args:[],flags:{help:!0}};if("version"in r&&o.version===!0)return{command:"version",args:[],flags:{version:!0}};let i={};for(let[s,a]of Object.entries(r)){let c=o[s];if(typeof c==="string"&&a.type==="string")i[s]=c;else if(typeof c==="boolean"&&a.type==="boolean")i[s]=c}return{command:n[0]??"help",args:n.slice(1),flags:i}}function bB(e){let t=e.reduce((r,o)=>Math.max(r,o.label.length),0);return e.map((r)=>` ${r.label.padEnd(t)} ${r.description}`)}function pie(e){return bB(e.map((t)=>({label:t.usage?`${t.name} ${t.usage}`:t.name,description:t.description})))}function mie(e,t){let r=t.type==="string"?` ${t.placeholder??"<value>"}`:"",o=t.short!==void 0?`, -${t.short}`:"";return`--${e}${r}${o}`}function SB(e){return bB(Object.entries(e).map(([t,r])=>({label:mie(t,r),description:r.description})))}function vB(e,t){return`Usage: ${e} ${t.name}${t.usage?` ${t.usage}`:""}`}function hie(e){return JSON.stringify(Object.entries(e).map(([t,r])=>[t,r.type,r.short??"",r.description,r.placeholder??"",r.default??""]).sort((t,r)=>String(t[0]).localeCompare(String(r[0]))))}function gie(e){let t=[],r=new Map;for(let n of e){let i=n.flags??{};if(Object.keys(i).length===0)continue;let s=hie(i),a=r.get(s);if(a){a.names.push(n.name);continue}let c={names:[n.name],flags:i};r.set(s,c),t.push(c)}let o=[];for(let n of t)o.push("",`${n.names.join(" / ")} options:`),o.push(...SB(n.flags));return o}function wB(e){let t=[e.intro,"",`Usage: ${e.cliName} ${e.usage??"<command> [args]"}`,"","Commands:",...pie(e.commands)];if(e.globalFlags&&Object.keys(e.globalFlags).length>0)t.push("","Options:",...SB(e.globalFlags));return t.push(...gie(e.commands)),t.join(`
727
- `)}function xB(e){let t=new Map;for(let r of e){if(t.has(r.name))throw Error(`Duplicate command name: ${r.name}`);t.set(r.name,r)}return t}function nt(e,t){let r=e[t];return typeof r==="string"?r:void 0}function ks(e,t){let r=e[t];return typeof r==="boolean"?r:void 0}import{existsSync as Mae,mkdirSync as Fae,readFileSync as MA,writeFileSync as FA}from"fs";import{dirname as Jae,join as OU}from"path";function nk(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"&&"BYTES_PER_ELEMENT"in e&&e.BYTES_PER_ELEMENT===1}function vt(e,t=""){if(typeof e!=="number"){let r=t&&`"${t}" `;throw TypeError(`${r}expected number, got ${typeof e}`)}if(!Number.isSafeInteger(e)||e<0){let r=t&&`"${t}" `;throw RangeError(`${r}expected integer >= 0, got ${e}`)}}function Ft(e,t,r=""){let o=nk(e),n=e?.length,i=t!==void 0;if(!o||i&&n!==t){let s=r&&`"${r}" `,a=i?` of length ${t}`:"",c=o?`length=${n}`:`type=${typeof e}`,u=s+"expected Uint8Array"+a+", got "+c;if(!o)throw TypeError(u);throw RangeError(u)}return e}function yo(e){if(typeof e!=="function"||typeof e.create!=="function")throw TypeError("Hash must wrapped by utils.createHasher");if(vt(e.outputLen),vt(e.blockLen),e.outputLen<1)throw Error('"outputLen" must be >= 1');if(e.blockLen<1)throw Error('"blockLen" must be >= 1')}function wc(e,t=!0){if(e.destroyed)throw Error("Hash instance has been destroyed");if(t&&e.finished)throw Error("Hash#digest() has already been called")}function Hh(e,t){Ft(e,void 0,"digestInto() output");let r=t.outputLen;if(e.length<r)throw RangeError('"digestInto() output" expected to be of length >='+r)}function Vh(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function mr(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function xc(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function dn(e,t){return e<<32-t|e>>>t}function Fe(e,t){return e<<t|e>>>32-t>>>0}var yie=(()=>new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68)();function bie(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function Sie(e){for(let t=0;t<e.length;t++)e[t]=bie(e[t]);return e}var ok=yie?(e)=>e:Sie,EB=(()=>typeof Uint8Array.from([]).toHex==="function"&&typeof Uint8Array.fromHex==="function")(),vie=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Wh(e){if(Ft(e),EB)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=vie[e[r]];return t}var go={_0:48,_9:57,A:65,F:70,a:97,f:102};function _B(e){if(e>=go._0&&e<=go._9)return e-go._0;if(e>=go.A&&e<=go.F)return e-(go.A-10);if(e>=go.a&&e<=go.f)return e-(go.a-10);return}function od(e){if(typeof e!=="string")throw TypeError("hex string expected, got "+typeof e);if(EB)try{return Uint8Array.fromHex(e)}catch(n){if(n instanceof SyntaxError)throw RangeError(n.message);throw n}let t=e.length,r=t/2;if(t%2)throw RangeError("hex string expected, got unpadded hex of length "+t);let o=new Uint8Array(r);for(let n=0,i=0;n<r;n++,i+=2){let s=_B(e.charCodeAt(i)),a=_B(e.charCodeAt(i+1));if(s===void 0||a===void 0){let c=e[i]+e[i+1];throw RangeError('hex string expected, got non-hex character "'+c+'" at index '+i)}o[n]=s*16+a}return o}function wie(e){if(typeof e!=="string")throw TypeError("string expected");return new Uint8Array(new TextEncoder().encode(e))}function ik(e,t=""){if(typeof e==="string")return wie(e);return Ft(e,void 0,t)}function sk(...e){let t=0;for(let o=0;o<e.length;o++){let n=e[o];Ft(n),t+=n.length}let r=new Uint8Array(t);for(let o=0,n=0;o<e.length;o++){let i=e[o];r.set(i,n),n+=i.length}return r}function Gh(e,t){if(t!==void 0&&{}.toString.call(t)!=="[object Object]")throw TypeError("options must be object or undefined");return Object.assign(e,t)}function ak(e,t={}){let r=(n,i)=>e(i).update(n).digest(),o=e(void 0);return r.outputLen=o.outputLen,r.blockLen=o.blockLen,r.canXOF=o.canXOF,r.create=(n)=>e(n),Object.assign(r,t),Object.freeze(r)}function bo(e=32){vt(e,"bytesLength");let t=typeof globalThis==="object"?globalThis.crypto:null;if(typeof t?.getRandomValues!=="function")throw Error("crypto.getRandomValues must be defined");if(e>65536)throw RangeError(`"bytesLength" expected <= 65536, got ${e}`);return t.getRandomValues(new Uint8Array(e))}var ck=(e)=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,e])});class lk{oHash;iHash;blockLen;outputLen;canXOF=!1;finished=!1;destroyed=!1;constructor(e,t){if(yo(e),Ft(t,void 0,"key"),this.iHash=e.create(),typeof this.iHash.update!=="function")throw Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let r=this.blockLen,o=new Uint8Array(r);o.set(t.length>r?e.create().update(t).digest():t);for(let n=0;n<o.length;n++)o[n]^=54;this.iHash.update(o),this.oHash=e.create();for(let n=0;n<o.length;n++)o[n]^=106;this.oHash.update(o),mr(o)}update(e){return wc(this),this.iHash.update(e),this}digestInto(e){wc(this),Hh(e,this),this.finished=!0;let t=e.subarray(0,this.outputLen);this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||=Object.create(Object.getPrototypeOf(this),{});let{oHash:t,iHash:r,finished:o,destroyed:n,blockLen:i,outputLen:s}=this;return e=e,e.finished=o,e.destroyed=n,e.blockLen=i,e.outputLen=s,e.oHash=t._cloneInto(e.oHash),e.iHash=r._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}var Bn=(()=>{let e=(t,r,o)=>new lk(t,r).update(o).digest();return e.create=(t,r)=>new lk(t,r),e})();function id(e,t,r){if(yo(e),r===void 0)r=new Uint8Array(e.outputLen);return Bn(e,r,t)}var uk=Uint8Array.of(0),IB=Uint8Array.of();function dk(e,t,r,o=32){yo(e),vt(o,"length"),Ft(t,void 0,"prk");let n=e.outputLen;if(t.length<n)throw Error('"prk" must be at least HashLen octets');if(o>255*n)throw Error("Length must be <= 255*HashLen");let i=Math.ceil(o/n);if(r===void 0)r=IB;else Ft(r,void 0,"info");let s=new Uint8Array(i*n),a=Bn.create(e,t),c=a._cloneInto(),u=new Uint8Array(a.outputLen);for(let d=0;d<i;d++)uk[0]=d+1,c.update(d===0?IB:u).update(r).update(uk).digestInto(u),s.set(u,n*d),a._cloneInto(c);return a.destroy(),c.destroy(),mr(u,uk),s.slice(0,o)}var gi=(e,t,r,o,n)=>dk(e,id(e,t,r),o,n);function kB(e,t,r){return e&t^~e&r}function AB(e,t,r){return e&t^e&r^t&r}class Qh{blockLen;outputLen;canXOF=!1;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor(e,t,r,o){this.blockLen=e,this.outputLen=t,this.padOffset=r,this.isLE=o,this.buffer=new Uint8Array(e),this.view=xc(this.buffer)}update(e){wc(this),Ft(e);let{view:t,buffer:r,blockLen:o}=this,n=e.length;for(let i=0;i<n;){let s=Math.min(o-this.pos,n-i);if(s===o){let a=xc(e);for(;o<=n-i;i+=o)this.process(a,i);continue}if(r.set(e.subarray(i,i+s),this.pos),this.pos+=s,i+=s,this.pos===o)this.process(t,0),this.pos=0}return this.length+=e.length,this.roundClean(),this}digestInto(e){wc(this),Hh(e,this),this.finished=!0;let{buffer:t,view:r,blockLen:o,isLE:n}=this,{pos:i}=this;if(t[i++]=128,mr(this.buffer.subarray(i)),this.padOffset>o-i)this.process(r,0),i=0;for(let d=i;d<o;d++)t[d]=0;r.setBigUint64(o-8,BigInt(this.length*8),n),this.process(r,0);let s=xc(e),a=this.outputLen;if(a%4)throw Error("_sha2: outputLen must be aligned to 32bit");let c=a/4,u=this.get();if(c>u.length)throw Error("_sha2: outputLen bigger than state");for(let d=0;d<c;d++)s.setUint32(4*d,u[d],n)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let r=e.slice(0,t);return this.destroy(),r}_cloneInto(e){e||=new this.constructor,e.set(...this.get());let{blockLen:t,buffer:r,length:o,finished:n,destroyed:i,pos:s}=this;if(e.destroyed=i,e.finished=n,e.length=o,e.pos=s,o%t)e.buffer.set(r);return e}clone(){return this._cloneInto()}}var So=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var Jt=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var Yh=BigInt(4294967295),TB=BigInt(32);function xie(e,t=!1){if(t)return{h:Number(e&Yh),l:Number(e>>TB&Yh)};return{h:Number(e>>TB&Yh)|0,l:Number(e&Yh)|0}}function $B(e,t=!1){let r=e.length,o=new Uint32Array(r),n=new Uint32Array(r);for(let i=0;i<r;i++){let{h:s,l:a}=xie(e[i],t);[o[i],n[i]]=[s,a]}return[o,n]}var fk=(e,t,r)=>e>>>r,pk=(e,t,r)=>e<<32-r|t>>>r,As=(e,t,r)=>e>>>r|t<<32-r,Ts=(e,t,r)=>e<<32-r|t>>>r,sd=(e,t,r)=>e<<64-r|t>>>r-32,ad=(e,t,r)=>e>>>r-32|t<<64-r;function jn(e,t,r,o){let n=(t>>>0)+(o>>>0);return{h:e+r+(n/4294967296|0)|0,l:n|0}}var RB=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),OB=(e,t,r,o)=>t+r+o+(e/4294967296|0)|0,CB=(e,t,r,o)=>(e>>>0)+(t>>>0)+(r>>>0)+(o>>>0),PB=(e,t,r,o,n)=>t+r+o+n+(e/4294967296|0)|0,zB=(e,t,r,o,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(o>>>0)+(n>>>0),NB=(e,t,r,o,n,i)=>t+r+o+n+i+(e/4294967296|0)|0;var Eie=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),yi=new Uint32Array(64);class DB extends Qh{constructor(e){super(64,e,8,!1)}get(){let{A:e,B:t,C:r,D:o,E:n,F:i,G:s,H:a}=this;return[e,t,r,o,n,i,s,a]}set(e,t,r,o,n,i,s,a){this.A=e|0,this.B=t|0,this.C=r|0,this.D=o|0,this.E=n|0,this.F=i|0,this.G=s|0,this.H=a|0}process(e,t){for(let d=0;d<16;d++,t+=4)yi[d]=e.getUint32(t,!1);for(let d=16;d<64;d++){let f=yi[d-15],m=yi[d-2],h=dn(f,7)^dn(f,18)^f>>>3,b=dn(m,17)^dn(m,19)^m>>>10;yi[d]=b+yi[d-7]+h+yi[d-16]|0}let{A:r,B:o,C:n,D:i,E:s,F:a,G:c,H:u}=this;for(let d=0;d<64;d++){let f=dn(s,6)^dn(s,11)^dn(s,25),m=u+f+kB(s,a,c)+Eie[d]+yi[d]|0,b=(dn(r,2)^dn(r,13)^dn(r,22))+AB(r,o,n)|0;u=c,c=a,a=s,s=i+m|0,i=n,n=o,o=r,r=m+b|0}r=r+this.A|0,o=o+this.B|0,n=n+this.C|0,i=i+this.D|0,s=s+this.E|0,a=a+this.F|0,c=c+this.G|0,u=u+this.H|0,this.set(r,o,n,i,s,a,c,u)}roundClean(){mr(yi)}destroy(){this.destroyed=!0,this.set(0,0,0,0,0,0,0,0),mr(this.buffer)}}class LB extends DB{A=So[0]|0;B=So[1]|0;C=So[2]|0;D=So[3]|0;E=So[4]|0;F=So[5]|0;G=So[6]|0;H=So[7]|0;constructor(){super(32)}}var BB=(()=>$B(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map((e)=>BigInt(e))))(),Iie=(()=>BB[0])(),kie=(()=>BB[1])(),bi=new Uint32Array(80),Si=new Uint32Array(80);class jB extends Qh{constructor(e){super(128,e,16,!1)}get(){let{Ah:e,Al:t,Bh:r,Bl:o,Ch:n,Cl:i,Dh:s,Dl:a,Eh:c,El:u,Fh:d,Fl:f,Gh:m,Gl:h,Hh:b,Hl:y}=this;return[e,t,r,o,n,i,s,a,c,u,d,f,m,h,b,y]}set(e,t,r,o,n,i,s,a,c,u,d,f,m,h,b,y){this.Ah=e|0,this.Al=t|0,this.Bh=r|0,this.Bl=o|0,this.Ch=n|0,this.Cl=i|0,this.Dh=s|0,this.Dl=a|0,this.Eh=c|0,this.El=u|0,this.Fh=d|0,this.Fl=f|0,this.Gh=m|0,this.Gl=h|0,this.Hh=b|0,this.Hl=y|0}process(e,t){for(let _=0;_<16;_++,t+=4)bi[_]=e.getUint32(t),Si[_]=e.getUint32(t+=4);for(let _=16;_<80;_++){let A=bi[_-15]|0,O=Si[_-15]|0,L=As(A,O,1)^As(A,O,8)^fk(A,O,7),z=Ts(A,O,1)^Ts(A,O,8)^pk(A,O,7),K=bi[_-2]|0,P=Si[_-2]|0,W=As(K,P,19)^sd(K,P,61)^fk(K,P,6),ee=Ts(K,P,19)^ad(K,P,61)^pk(K,P,6),j=CB(z,ee,Si[_-7],Si[_-16]),R=PB(j,L,W,bi[_-7],bi[_-16]);bi[_]=R|0,Si[_]=j|0}let{Ah:r,Al:o,Bh:n,Bl:i,Ch:s,Cl:a,Dh:c,Dl:u,Eh:d,El:f,Fh:m,Fl:h,Gh:b,Gl:y,Hh:S,Hl:x}=this;for(let _=0;_<80;_++){let A=As(d,f,14)^As(d,f,18)^sd(d,f,41),O=Ts(d,f,14)^Ts(d,f,18)^ad(d,f,41),L=d&m^~d&b,z=f&h^~f&y,K=zB(x,O,z,kie[_],Si[_]),P=NB(K,S,A,L,Iie[_],bi[_]),W=K|0,ee=As(r,o,28)^sd(r,o,34)^sd(r,o,39),j=Ts(r,o,28)^ad(r,o,34)^ad(r,o,39),R=r&n^r&s^n&s,B=o&i^o&a^i&a;S=b|0,x=y|0,b=m|0,y=h|0,m=d|0,h=f|0,{h:d,l:f}=jn(c|0,u|0,P|0,W|0),c=s|0,u=a|0,s=n|0,a=i|0,n=r|0,i=o|0;let I=RB(W,j,B);r=OB(I,P,ee,R),o=I|0}({h:r,l:o}=jn(this.Ah|0,this.Al|0,r|0,o|0)),{h:n,l:i}=jn(this.Bh|0,this.Bl|0,n|0,i|0),{h:s,l:a}=jn(this.Ch|0,this.Cl|0,s|0,a|0),{h:c,l:u}=jn(this.Dh|0,this.Dl|0,c|0,u|0),{h:d,l:f}=jn(this.Eh|0,this.El|0,d|0,f|0),{h:m,l:h}=jn(this.Fh|0,this.Fl|0,m|0,h|0),{h:b,l:y}=jn(this.Gh|0,this.Gl|0,b|0,y|0),{h:S,l:x}=jn(this.Hh|0,this.Hl|0,S|0,x|0),this.set(r,o,n,i,s,a,c,u,d,f,m,h,b,y,S,x)}roundClean(){mr(bi,Si)}destroy(){this.destroyed=!0,mr(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}class ZB extends jB{Ah=Jt[0]|0;Al=Jt[1]|0;Bh=Jt[2]|0;Bl=Jt[3]|0;Ch=Jt[4]|0;Cl=Jt[5]|0;Dh=Jt[6]|0;Dl=Jt[7]|0;Eh=Jt[8]|0;El=Jt[9]|0;Fh=Jt[10]|0;Fl=Jt[11]|0;Gh=Jt[12]|0;Gl=Jt[13]|0;Hh=Jt[14]|0;Hl=Jt[15]|0;constructor(){super(64)}}var wt=ak(()=>new LB,ck(1));var Xh=ak(()=>new ZB,ck(3));/*! scure-base - MIT License (c) 2022 Paul Miller (paulmillr.com) */function og(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"&&"BYTES_PER_ELEMENT"in e&&e.BYTES_PER_ELEMENT===1}function gk(e){if(!og(e))throw TypeError("Uint8Array expected")}function JB(e,t){if(!Array.isArray(t))return!1;if(t.length===0)return!0;if(e)return t.every((r)=>typeof r==="string");else return t.every((r)=>Number.isSafeInteger(r))}function KB(e){if(typeof e!=="function")throw TypeError("function expected");return!0}function vi(e,t){if(typeof t!=="string")throw TypeError(`${e}: string expected`);return!0}function ld(e){if(typeof e!=="number")throw TypeError(`number expected, got ${typeof e}`);if(!Number.isSafeInteger(e))throw RangeError(`invalid integer: ${e}`)}function tg(e){if(!Array.isArray(e))throw TypeError("array expected")}function rg(e,t){if(!JB(!0,t))throw TypeError(`${e}: array of strings expected`)}function yk(e,t){if(!JB(!1,t))throw TypeError(`${e}: array of numbers expected`)}function Pr(...e){let t=(i)=>i,r=(i,s)=>(a)=>i(s(a)),o=e.map((i)=>i.encode).reduceRight(r,t),n=e.map((i)=>i.decode).reduce(r,t);return{encode:o,decode:n}}function zr(e){let t=typeof e==="string"?e.split(""):e,r=t.length;rg("alphabet",t);let o=new Map(t.map((n,i)=>[n,i]));return{encode:(n)=>(tg(n),n.map((i)=>{if(!Number.isSafeInteger(i)||i<0||i>=r)throw Error(`alphabet.encode: digit index outside alphabet "${i}". Allowed: ${e}`);return t[i]})),decode:(n)=>(tg(n),n.map((i)=>{vi("alphabet.decode",i);let s=o.get(i);if(s===void 0)throw Error(`Unknown letter: "${i}". Allowed: ${e}`);return s}))}}function Nr(e=""){return vi("join",e),{encode:(t)=>(rg("join.decode",t),t.join(e)),decode:(t)=>(vi("join.decode",t),t.split(e))}}function ig(e,t="="){return ld(e),vi("padding",t),{encode(r){rg("padding.encode",r);while(r.length*e%8)r.push(t);return r},decode(r){rg("padding.decode",r);let o=r.length;if(o*e%8)throw Error("padding: invalid, string should have whole number of bytes");for(;o>0&&r[o-1]===t;o--)if((o-1)*e%8===0)throw Error("padding: invalid, string has too much padding");return r.slice(0,o)}}}function HB(e){return KB(e),{encode:(t)=>t,decode:(t)=>e(t)}}function UB(e,t,r){if(t<2)throw RangeError(`convertRadix: invalid from=${t}, base cannot be less than 2`);if(r<2)throw RangeError(`convertRadix: invalid to=${r}, base cannot be less than 2`);if(tg(e),!e.length)return[];let o=0,n=[],i=Array.from(e,(a)=>{if(ld(a),a<0||a>=t)throw Error(`invalid integer: ${a}`);return a}),s=i.length;while(!0){let a=0,c=!0;for(let u=o;u<s;u++){let d=i[u],f=t*a,m=f+d;if(!Number.isSafeInteger(m)||f/t!==a||m-d!==f)throw Error("convertRadix: carry overflow");let h=m/r;a=m%r;let b=Math.floor(h);if(i[u]=b,!Number.isSafeInteger(b)||b*r+a!==m)throw Error("convertRadix: carry overflow");if(!c)continue;else if(!b)o=u;else c=!1}if(n.push(a),c)break}for(let a=0;a<e.length-1&&e[a]===0;a++)n.push(0);return n.reverse()}var VB=(e,t)=>t===0?e:VB(t,e%t),ng=(e,t)=>e+(t-VB(e,t)),eg=(()=>{let e=[];for(let t=0;t<40;t++)e.push(2**t);return e})();function mk(e,t,r,o){if(tg(e),t<=0||t>32)throw RangeError(`convertRadix2: wrong from=${t}`);if(r<=0||r>32)throw RangeError(`convertRadix2: wrong to=${r}`);if(ng(t,r)>32)throw Error(`convertRadix2: carry overflow from=${t} to=${r} carryBits=${ng(t,r)}`);let n=0,i=0,s=eg[t],a=eg[r]-1,c=[];for(let u of e){if(ld(u),u>=s)throw Error(`convertRadix2: invalid data word=${u} from=${t}`);if(n=n<<t|u,i+t>32)throw Error(`convertRadix2: carry overflow pos=${i} from=${t}`);i+=t;for(;i>=r;i-=r)c.push((n>>i-r&a)>>>0);let d=eg[i];if(d===void 0)throw Error("invalid carry");n&=d-1}if(n=n<<r-i&a,!o&&i>=t)throw Error("Excess padding");if(!o&&n>0)throw Error(`Non-zero padding: ${n}`);if(o&&i>0)c.push(n>>>0);return c}function Aie(e){ld(e);let t=256;return{encode:(r)=>{if(!og(r))throw TypeError("radix.encode input should be Uint8Array");return UB(Array.from(r),t,e)},decode:(r)=>(yk("radix.decode",r),Uint8Array.from(UB(r,e,t)))}}function Kr(e,t=!1){if(ld(e),e<=0||e>32)throw RangeError("radix2: bits should be in (0..32]");if(ng(8,e)>32||ng(e,8)>32)throw RangeError("radix2: carry overflow");return{encode:(r)=>{if(!og(r))throw TypeError("radix2.encode input should be Uint8Array");return mk(Array.from(r),8,e,!t)},decode:(r)=>(yk("radix2.decode",r),Uint8Array.from(mk(r,e,8,t)))}}function qB(e){return KB(e),function(...t){try{return e.apply(null,t)}catch(r){}}}var ZTe=Object.freeze(Pr(Kr(4),zr("0123456789ABCDEF"),Nr(""))),UTe=Object.freeze(Pr(Kr(5),zr("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"),ig(5),Nr(""))),qTe=Object.freeze(Pr(Kr(5),zr("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"),Nr(""))),MTe=Object.freeze(Pr(Kr(5),zr("0123456789ABCDEFGHIJKLMNOPQRSTUV"),ig(5),Nr(""))),FTe=Object.freeze(Pr(Kr(5),zr("0123456789ABCDEFGHIJKLMNOPQRSTUV"),Nr(""))),JTe=Object.freeze(Pr(Kr(5),zr("0123456789ABCDEFGHJKMNPQRSTVWXYZ"),Nr(""),HB((e)=>e.toUpperCase().replace(/O/g,"0").replace(/[IL]/g,"1")))),WB=(()=>typeof Uint8Array.from([]).toBase64==="function"&&typeof Uint8Array.fromBase64==="function")(),Tie=/[\t\n\f\r ]/,GB=(e,t)=>{vi("base64",e);let r=t?"base64url":"base64";if(e.length>0&&Tie.test(e))throw Error("invalid base64");return Uint8Array.fromBase64(e,{alphabet:r,lastChunkHandling:"strict"})},bk=Object.freeze(WB?{encode(e){return gk(e),e.toBase64()},decode(e){return GB(e,!1)}}:Pr(Kr(6),zr("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),ig(6),Nr(""))),tr=Object.freeze(Pr(Kr(6),zr("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),Nr(""))),KTe=Object.freeze(WB?{encode(e){return gk(e),e.toBase64({alphabet:"base64url"})},decode(e){return GB(e,!0)}}:Pr(Kr(6),zr("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),ig(6),Nr(""))),HTe=Object.freeze(Pr(Kr(6),zr("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),Nr(""))),Sk=(e)=>Pr(Aie(58),zr(e),Nr("")),VTe=Object.freeze(Sk("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz")),WTe=Object.freeze(Sk("123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ")),GTe=Object.freeze(Sk("rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz"));var hk=Pr(zr("qpzry9x8gf2tvdw0s3jn54khce6mua7l"),Nr("")),MB=[996825010,642813549,513874426,1027748829,705979059];function cd(e){let t=e>>25,r=(e&33554431)<<5;for(let o=0;o<MB.length;o++)if((t>>o&1)===1)r^=MB[o];return r}function FB(e,t,r=1){let o=e.length,n=1;for(let i=0;i<o;i++){let s=e.charCodeAt(i);if(s<33||s>126)throw Error(`Invalid prefix (${e})`);n=cd(n)^s>>5}n=cd(n);for(let i=0;i<o;i++)n=cd(n)^e.charCodeAt(i)&31;for(let i of t)n=cd(n)^i;for(let i=0;i<6;i++)n=cd(n);return n^=r,hk.encode(mk([n%eg[30]],30,5,!1))}function QB(e){let t=e==="bech32"?1:734539939,r=Kr(5),o=r.decode,n=r.encode,i=qB(o);function s(f,m,h=90){if(vi("bech32.encode prefix",f),og(m))m=Array.from(m);yk("bech32.encode",m);let b=f.length;if(b===0)throw TypeError(`Invalid prefix length ${b}`);let y=b+7+m.length;if(h!==!1&&y>h)throw TypeError(`Length ${y} exceeds limit ${h}`);let S=f.toLowerCase(),x=FB(S,m,t);return`${S}1${hk.encode(m)}${x}`}function a(f,m=90){vi("bech32.decode input",f);let h=f.length;if(h<8||m!==!1&&h>m)throw TypeError(`invalid string length: ${h} (${f}). Expected (8..${m})`);let b=f.toLowerCase();if(f!==b&&f!==f.toUpperCase())throw Error("String must be lowercase or uppercase");let y=b.lastIndexOf("1");if(y===0||y===-1)throw Error('Letter "1" must be present between prefix and data only');let S=b.slice(0,y),x=b.slice(y+1);if(x.length<6)throw Error("Data must be at least 6 characters long");let _=hk.decode(x).slice(0,-6),A=FB(S,_,t);if(!x.endsWith(A))throw Error(`Invalid checksum in ${f}: expected "${A}"`);return{prefix:S,words:_}}let c=qB(a);function u(f){let{prefix:m,words:h}=a(f,!1);return{prefix:m,words:h,bytes:o(h)}}function d(f,m){return s(f,n(m))}return{encode:s,decode:a,encodeFromBytes:d,decodeToBytes:u,decodeUnsafe:c,fromWords:o,fromWordsUnsafe:i,toWords:n}}var Dr=Object.freeze(QB("bech32")),QTe=Object.freeze(QB("bech32m"));var $ie=(()=>typeof Uint8Array.from([]).toHex==="function"&&typeof Uint8Array.fromHex==="function")(),Rie={encode(e){return gk(e),e.toHex()},decode(e){return vi("hex",e),Uint8Array.fromHex(e)}},YTe=Object.freeze($ie?Rie:Pr(Kr(4),zr("0123456789abcdef"),Nr(""),HB((e)=>{if(typeof e!=="string"||e.length%2!==0)throw TypeError(`hex.decode: expected string, got ${typeof e} with length ${e.length}`);return e.toLowerCase()})));function Cie(e,t,r,o){yo(e);let n=Gh({dkLen:32,asyncTick:10},o),{c:i,dkLen:s,asyncTick:a}=n;if(vt(i,"c"),vt(s,"dkLen"),vt(a,"asyncTick"),i<1)throw Error("iterations (c) must be >= 1");if(s<1)throw Error('"dkLen" must be >= 1');if(s>4294967295*e.outputLen)throw Error("derived key too long");let c=ik(t,"password"),u=ik(r,"salt"),d=new Uint8Array(s),f=Bn.create(e,c),m=f._cloneInto().update(u);return{c:i,dkLen:s,asyncTick:a,DK:d,PRF:f,PRFSalt:m}}function Pie(e,t,r,o,n){if(e.destroy(),t.destroy(),o)o.destroy();return mr(n),r}function vk(e,t,r,o){let{c:n,dkLen:i,DK:s,PRF:a,PRFSalt:c}=Cie(e,t,r,o),u,d=new Uint8Array(4),f=xc(d),m=new Uint8Array(a.outputLen);for(let h=1,b=0;b<i;h++,b+=a.outputLen){let y=s.subarray(b,b+a.outputLen);f.setInt32(0,h,!1),(u=c._cloneInto(u)).update(d).digestInto(m),y.set(m.subarray(0,y.length));for(let S=1;S<n;S++){a._cloneInto(u).update(m).digestInto(m);for(let x=0;x<y.length;x++)y[x]^=m[x]}}return Pie(a,c,s,u,m)}function YB(e,t,r,o,n,i){let s=e[t++]^r[o++],a=e[t++]^r[o++],c=e[t++]^r[o++],u=e[t++]^r[o++],d=e[t++]^r[o++],f=e[t++]^r[o++],m=e[t++]^r[o++],h=e[t++]^r[o++],b=e[t++]^r[o++],y=e[t++]^r[o++],S=e[t++]^r[o++],x=e[t++]^r[o++],_=e[t++]^r[o++],A=e[t++]^r[o++],O=e[t++]^r[o++],L=e[t++]^r[o++],z=s,K=a,P=c,W=u,ee=d,j=f,R=m,B=h,I=b,T=y,k=S,M=x,N=_,H=A,G=O,re=L;for(let ae=0;ae<8;ae+=2)ee^=Fe(z+N|0,7),I^=Fe(ee+z|0,9),N^=Fe(I+ee|0,13),z^=Fe(N+I|0,18),T^=Fe(j+K|0,7),H^=Fe(T+j|0,9),K^=Fe(H+T|0,13),j^=Fe(K+H|0,18),G^=Fe(k+R|0,7),P^=Fe(G+k|0,9),R^=Fe(P+G|0,13),k^=Fe(R+P|0,18),W^=Fe(re+M|0,7),B^=Fe(W+re|0,9),M^=Fe(B+W|0,13),re^=Fe(M+B|0,18),K^=Fe(z+W|0,7),P^=Fe(K+z|0,9),W^=Fe(P+K|0,13),z^=Fe(W+P|0,18),R^=Fe(j+ee|0,7),B^=Fe(R+j|0,9),ee^=Fe(B+R|0,13),j^=Fe(ee+B|0,18),M^=Fe(k+T|0,7),I^=Fe(M+k|0,9),T^=Fe(I+M|0,13),k^=Fe(T+I|0,18),N^=Fe(re+G|0,7),H^=Fe(N+re|0,9),G^=Fe(H+N|0,13),re^=Fe(G+H|0,18);n[i++]=s+z|0,n[i++]=a+K|0,n[i++]=c+P|0,n[i++]=u+W|0,n[i++]=d+ee|0,n[i++]=f+j|0,n[i++]=m+R|0,n[i++]=h+B|0,n[i++]=b+I|0,n[i++]=y+T|0,n[i++]=S+k|0,n[i++]=x+M|0,n[i++]=_+N|0,n[i++]=A+H|0,n[i++]=O+G|0,n[i++]=L+re|0}function wk(e,t,r,o,n){let i=o+0,s=o+16*n;for(let a=0;a<16;a++)r[s+a]=e[t+(2*n-1)*16+a];for(let a=0;a<n;a++,i+=16,t+=16){if(YB(r,s,e,t,r,i),a>0)s+=16;YB(r,i,e,t+=16,r,s)}}function zie(e,t,r){let o=Gh({dkLen:32,asyncTick:10,maxmem:1073742848},r),{N:n,r:i,p:s,dkLen:a,asyncTick:c,maxmem:u,onProgress:d}=o;if(vt(n,"N"),vt(i,"r"),vt(s,"p"),vt(a,"dkLen"),vt(c,"asyncTick"),vt(u,"maxmem"),d!==void 0&&typeof d!=="function")throw Error("progressCb must be a function");let f=128*i,m=f/4,h=Math.pow(2,32);if(n<=1||(n&n-1)!==0||n>h)throw Error('"N" expected a power of 2, and 2^1 <= N <= 2^32');if(s<1||s>(h-1)*32/f)throw Error('"p" expected integer 1..((2^32 - 1) * 32) / (128 * r)');if(a<1||a>(h-1)*32)throw Error('"dkLen" expected integer 1..(2^32 - 1) * 32');let b=f*(n+s+1);if(b>u)throw Error('"maxmem" limit was hit: memUsed(128*r*(N+p+1))='+b+", maxmem="+u);let y=vk(wt,e,t,{c:1,dkLen:f*s}),S=Vh(y),x=Vh(new Uint8Array(f*n)),_=Vh(new Uint8Array(f)),A=()=>{};if(d){let O=2*n*s,L=Math.max(Math.floor(O/1e4),1),z=0;A=()=>{if(z++,d&&(!(z%L)||z===O))d(z/O)}}return{N:n,r:i,p:s,dkLen:a,blockSize32:m,V:x,B32:S,B:y,tmp:_,blockMixCb:A,asyncTick:c}}function Nie(e,t,r,o,n){let i=vk(wt,e,r,{c:1,dkLen:t});return mr(r,o,n),i}function xk(e,t,r){let{N:o,r:n,p:i,dkLen:s,blockSize32:a,V:c,B32:u,B:d,tmp:f,blockMixCb:m}=zie(e,t,r);ok(u);for(let h=0;h<i;h++){let b=a*h;for(let y=0;y<a;y++)c[y]=u[b+y];for(let y=0,S=0;y<o-1;y++)wk(c,S,c,S+=a,n),m();wk(c,(o-1)*a,u,b,n),m();for(let y=0;y<o;y++){let S=(u[b+a-16]&o-1)>>>0;for(let x=0;x<a;x++)f[x]=u[b+x]^c[S*a+x];wk(f,0,u,b,n),m()}}return ok(u),Nie(e,s,d,c,f)}/*! noble-ciphers - MIT License (c) 2023 Paul Miller (paulmillr.com) */function Die(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"&&"BYTES_PER_ELEMENT"in e&&e.BYTES_PER_ELEMENT===1}function sg(e){if(typeof e!=="boolean")throw TypeError(`boolean expected, not ${e}`)}function _c(e){if(typeof e!=="number")throw TypeError("number expected, got "+typeof e);if(!Number.isSafeInteger(e)||e<0)throw RangeError("positive integer expected, got "+e)}function Ot(e,t,r=""){let o=Die(e),n=e?.length,i=t!==void 0;if(!o||i&&n!==t){let s=r&&`"${r}" `,a=i?` of length ${t}`:"",c=o?`length=${n}`:`type=${typeof e}`,u=s+"expected Uint8Array"+a+", got "+c;if(!o)throw TypeError(u);throw RangeError(u)}return e}function _k(e,t=!0){if(e.destroyed)throw Error("Hash instance has been destroyed");if(t&&e.finished)throw Error("Hash#digest() has already been called")}function XB(e,t,r=!1){Ot(e,void 0,"output");let o=t.outputLen;if(e.length<o)throw RangeError("digestInto() expects output buffer of length at least "+o);if(r&&!Ec(e))throw Error("invalid output, must be aligned")}function Zn(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function fn(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Lie(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}var $s=(()=>new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68)(),Bie=(e)=>e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255;var jie=(e)=>{for(let t=0;t<e.length;t++)e[t]=Bie(e[t]);return e},vo=$s?(e)=>e:jie;function ej(e,t){if(t==null||typeof t!=="object")throw Error("options must be defined");return Object.assign(e,t)}function tj(e,t){if(e.length!==t.length)return!1;let r=0;for(let o=0;o<e.length;o++)r|=e[o]^t[o];return r===0}function rj(e,t,r){let o=t,n=r||(()=>[]),i=(a,c)=>o(c,...n(a)).update(a).digest(),s=o(new Uint8Array(e),...n(new Uint8Array(0)));return i.outputLen=s.outputLen,i.blockLen=s.blockLen,i.create=(a,...c)=>o(a,...c),i}var nj=(e,t)=>{function r(o,...n){if(Ot(o,void 0,"key"),e.nonceLength!==void 0){let d=n[0];Ot(d,e.varSizeNonce?void 0:e.nonceLength,"nonce")}let i=e.tagLength;if(i&&n[1]!==void 0)Ot(n[1],void 0,"AAD");let s=t(o,...n),a=(d,f)=>{if(f!==void 0){if(d!==2)throw Error("cipher output not supported");Ot(f,void 0,"output")}},c=!1;return{encrypt(d,f){if(c)throw Error("cannot encrypt() twice with same key + nonce");return c=!0,Ot(d),a(s.encrypt.length,f),s.encrypt(d,f)},decrypt(d,f){if(Ot(d),i&&d.length<i)throw Error('"ciphertext" expected length bigger than tagLength='+i);return a(s.decrypt.length,f),s.decrypt(d,f)}}}return Object.assign(r,e),r};function ud(e,t,r=!0){if(t===void 0)return new Uint8Array(e);if(Ot(t,void 0,"output"),t.length!==e)throw Error('"output" expected Uint8Array of length '+e+", got: "+t.length);if(r&&!Ec(t))throw Error("invalid output, must be aligned");return t}function oj(e,t,r){_c(e),_c(t),sg(r);let o=new Uint8Array(16),n=Lie(o);return n.setBigUint64(0,BigInt(t),r),n.setBigUint64(8,BigInt(e),r),o}function Ec(e){return e.byteOffset%4===0}function Ic(e){return Uint8Array.from(Ot(e))}var sj=(e)=>Uint8Array.from(e.split(""),(t)=>t.charCodeAt(0)),Zie=(()=>vo(Zn(sj("expand 16-byte k"))))(),Uie=(()=>vo(Zn(sj("expand 32-byte k"))))();function Je(e,t){return e<<t|e>>>32-t}var dd=64,qie=16,Ek=(()=>4294967295)(),ij=Uint32Array.of();function Mie(e,t,r,o,n,i,s,a){let c=n.length,u=new Uint8Array(dd),d=Zn(u),f=$s&&Ec(n)&&Ec(i),m=f?Zn(n):ij,h=f?Zn(i):ij;if(!$s){for(let b=0;b<c;s++){if(e(t,r,o,d,s,a),vo(d),s>=Ek)throw Error("arx: counter overflow");let y=Math.min(dd,c-b);for(let S=0,x;S<y;S++)x=b+S,i[x]=n[x]^u[S];b+=y}return}for(let b=0;b<c;s++){if(e(t,r,o,d,s,a),s>=Ek)throw Error("arx: counter overflow");let y=Math.min(dd,c-b);if(f&&y===dd){let S=b/4;if(b%4!==0)throw Error("arx: invalid block position");for(let x=0,_;x<qie;x++)_=S+x,h[_]=m[_]^d[x];b+=dd;continue}for(let S=0,x;S<y;S++)x=b+S,i[x]=n[x]^u[S];b+=y}}function aj(e,t){let{allowShortKeys:r,extendNonceFn:o,counterLength:n,counterRight:i,rounds:s}=ej({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},t);if(typeof e!=="function")throw Error("core must be a function");return _c(n),_c(s),sg(i),sg(r),(a,c,u,d,f=0)=>{Ot(a,void 0,"key"),Ot(c,void 0,"nonce"),Ot(u,void 0,"data");let m=u.length;if(d=ud(m,d,!1),_c(f),f<0||f>=Ek)throw Error("arx: counter overflow");let h=[],b=a.length,y,S;if(b===32)h.push(y=Ic(a)),S=Uie;else if(b===16&&r)y=new Uint8Array(32),y.set(a),y.set(a,16),S=Zie,h.push(y);else throw Ot(a,32,"arx key"),Error("invalid key size");if(!$s||!Ec(c))h.push(c=Ic(c));let x=Zn(y);if(o){if(c.length!==24)throw Error("arx: extended nonce must be 24 bytes");let O=c.subarray(0,16);if($s)o(S,x,Zn(O),x);else{let L=vo(Uint32Array.from(S));o(L,x,Zn(O),x),fn(L),vo(x)}c=c.subarray(16)}else if(!$s)vo(x);let _=16-n;if(_!==c.length)throw Error(`arx: nonce must be ${_} or 16 bytes`);if(_!==12){let O=new Uint8Array(12);O.set(c,i?0:12-c.length),c=O,h.push(c)}let A=vo(Zn(c));try{return Mie(e,S,x,A,u,d,f,s),d}finally{fn(...h)}}}function Kt(e,t){return e[t++]&255|(e[t++]&255)<<8}class cj{blockLen=16;outputLen=16;buffer=new Uint8Array(16);r=new Uint16Array(10);h=new Uint16Array(10);pad=new Uint16Array(8);pos=0;finished=!1;destroyed=!1;constructor(e){e=Ic(Ot(e,32,"key"));let t=Kt(e,0),r=Kt(e,2),o=Kt(e,4),n=Kt(e,6),i=Kt(e,8),s=Kt(e,10),a=Kt(e,12),c=Kt(e,14);this.r[0]=t&8191,this.r[1]=(t>>>13|r<<3)&8191,this.r[2]=(r>>>10|o<<6)&7939,this.r[3]=(o>>>7|n<<9)&8191,this.r[4]=(n>>>4|i<<12)&255,this.r[5]=i>>>1&8190,this.r[6]=(i>>>14|s<<2)&8191,this.r[7]=(s>>>11|a<<5)&8065,this.r[8]=(a>>>8|c<<8)&8191,this.r[9]=c>>>5&127;for(let u=0;u<8;u++)this.pad[u]=Kt(e,16+2*u)}process(e,t,r=!1){let o=r?0:2048,{h:n,r:i}=this,s=i[0],a=i[1],c=i[2],u=i[3],d=i[4],f=i[5],m=i[6],h=i[7],b=i[8],y=i[9],S=Kt(e,t+0),x=Kt(e,t+2),_=Kt(e,t+4),A=Kt(e,t+6),O=Kt(e,t+8),L=Kt(e,t+10),z=Kt(e,t+12),K=Kt(e,t+14),P=n[0]+(S&8191),W=n[1]+((S>>>13|x<<3)&8191),ee=n[2]+((x>>>10|_<<6)&8191),j=n[3]+((_>>>7|A<<9)&8191),R=n[4]+((A>>>4|O<<12)&8191),B=n[5]+(O>>>1&8191),I=n[6]+((O>>>14|L<<2)&8191),T=n[7]+((L>>>11|z<<5)&8191),k=n[8]+((z>>>8|K<<8)&8191),M=n[9]+(K>>>5|o),N=0,H=N+P*s+W*(5*y)+ee*(5*b)+j*(5*h)+R*(5*m);N=H>>>13,H&=8191,H+=B*(5*f)+I*(5*d)+T*(5*u)+k*(5*c)+M*(5*a),N+=H>>>13,H&=8191;let G=N+P*a+W*s+ee*(5*y)+j*(5*b)+R*(5*h);N=G>>>13,G&=8191,G+=B*(5*m)+I*(5*f)+T*(5*d)+k*(5*u)+M*(5*c),N+=G>>>13,G&=8191;let re=N+P*c+W*a+ee*s+j*(5*y)+R*(5*b);N=re>>>13,re&=8191,re+=B*(5*h)+I*(5*m)+T*(5*f)+k*(5*d)+M*(5*u),N+=re>>>13,re&=8191;let ae=N+P*u+W*c+ee*a+j*s+R*(5*y);N=ae>>>13,ae&=8191,ae+=B*(5*b)+I*(5*h)+T*(5*m)+k*(5*f)+M*(5*d),N+=ae>>>13,ae&=8191;let pe=N+P*d+W*u+ee*c+j*a+R*s;N=pe>>>13,pe&=8191,pe+=B*(5*y)+I*(5*b)+T*(5*h)+k*(5*m)+M*(5*f),N+=pe>>>13,pe&=8191;let be=N+P*f+W*d+ee*u+j*c+R*a;N=be>>>13,be&=8191,be+=B*s+I*(5*y)+T*(5*b)+k*(5*h)+M*(5*m),N+=be>>>13,be&=8191;let ve=N+P*m+W*f+ee*d+j*u+R*c;N=ve>>>13,ve&=8191,ve+=B*a+I*s+T*(5*y)+k*(5*b)+M*(5*h),N+=ve>>>13,ve&=8191;let ke=N+P*h+W*m+ee*f+j*d+R*u;N=ke>>>13,ke&=8191,ke+=B*c+I*a+T*s+k*(5*y)+M*(5*b),N+=ke>>>13,ke&=8191;let Ie=N+P*b+W*h+ee*m+j*f+R*d;N=Ie>>>13,Ie&=8191,Ie+=B*u+I*c+T*a+k*s+M*(5*y),N+=Ie>>>13,Ie&=8191;let we=N+P*y+W*b+ee*h+j*m+R*f;N=we>>>13,we&=8191,we+=B*d+I*u+T*c+k*a+M*s,N+=we>>>13,we&=8191,N=(N<<2)+N|0,N=N+H|0,H=N&8191,N=N>>>13,G+=N,n[0]=H,n[1]=G,n[2]=re,n[3]=ae,n[4]=pe,n[5]=be,n[6]=ve,n[7]=ke,n[8]=Ie,n[9]=we}finalize(){let{h:e,pad:t}=this,r=new Uint16Array(10),o=e[1]>>>13;e[1]&=8191;for(let s=2;s<10;s++)e[s]+=o,o=e[s]>>>13,e[s]&=8191;e[0]+=o*5,o=e[0]>>>13,e[0]&=8191,e[1]+=o,o=e[1]>>>13,e[1]&=8191,e[2]+=o,r[0]=e[0]+5,o=r[0]>>>13,r[0]&=8191;for(let s=1;s<10;s++)r[s]=e[s]+o,o=r[s]>>>13,r[s]&=8191;r[9]-=8192;let n=(o^1)-1;for(let s=0;s<10;s++)r[s]&=n;n=~n;for(let s=0;s<10;s++)e[s]=e[s]&n|r[s];e[0]=(e[0]|e[1]<<13)&65535,e[1]=(e[1]>>>3|e[2]<<10)&65535,e[2]=(e[2]>>>6|e[3]<<7)&65535,e[3]=(e[3]>>>9|e[4]<<4)&65535,e[4]=(e[4]>>>12|e[5]<<1|e[6]<<14)&65535,e[5]=(e[6]>>>2|e[7]<<11)&65535,e[6]=(e[7]>>>5|e[8]<<8)&65535,e[7]=(e[8]>>>8|e[9]<<5)&65535;let i=e[0]+t[0];e[0]=i&65535;for(let s=1;s<8;s++)i=(e[s]+t[s]|0)+(i>>>16)|0,e[s]=i&65535;fn(r)}update(e){_k(this),Ot(e),e=Ic(e);let{buffer:t,blockLen:r}=this,o=e.length;for(let n=0;n<o;){let i=Math.min(r-this.pos,o-n);if(i===r){for(;r<=o-n;n+=r)this.process(e,n);continue}if(t.set(e.subarray(n,n+i),this.pos),this.pos+=i,n+=i,this.pos===r)this.process(t,0,!1),this.pos=0}return this}destroy(){this.destroyed=!0,fn(this.h,this.r,this.buffer,this.pad)}digestInto(e){_k(this),XB(e,this),this.finished=!0;let{buffer:t,h:r}=this,{pos:o}=this;if(o){t[o++]=1;for(;o<16;o++)t[o]=0;this.process(t,0,!0)}this.finalize();let n=0;for(let i=0;i<8;i++)e[n++]=r[i]>>>0,e[n++]=r[i]>>>8}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let r=e.slice(0,t);return this.destroy(),r}}var lj=rj(32,(e)=>new cj(e));function Fie(e,t,r,o,n,i=20){let s=e[0],a=e[1],c=e[2],u=e[3],d=t[0],f=t[1],m=t[2],h=t[3],b=t[4],y=t[5],S=t[6],x=t[7],_=n,A=r[0],O=r[1],L=r[2],z=s,K=a,P=c,W=u,ee=d,j=f,R=m,B=h,I=b,T=y,k=S,M=x,N=_,H=A,G=O,re=L;for(let pe=0;pe<i;pe+=2)z=z+ee|0,N=Je(N^z,16),I=I+N|0,ee=Je(ee^I,12),z=z+ee|0,N=Je(N^z,8),I=I+N|0,ee=Je(ee^I,7),K=K+j|0,H=Je(H^K,16),T=T+H|0,j=Je(j^T,12),K=K+j|0,H=Je(H^K,8),T=T+H|0,j=Je(j^T,7),P=P+R|0,G=Je(G^P,16),k=k+G|0,R=Je(R^k,12),P=P+R|0,G=Je(G^P,8),k=k+G|0,R=Je(R^k,7),W=W+B|0,re=Je(re^W,16),M=M+re|0,B=Je(B^M,12),W=W+B|0,re=Je(re^W,8),M=M+re|0,B=Je(B^M,7),z=z+j|0,re=Je(re^z,16),k=k+re|0,j=Je(j^k,12),z=z+j|0,re=Je(re^z,8),k=k+re|0,j=Je(j^k,7),K=K+R|0,N=Je(N^K,16),M=M+N|0,R=Je(R^M,12),K=K+R|0,N=Je(N^K,8),M=M+N|0,R=Je(R^M,7),P=P+B|0,H=Je(H^P,16),I=I+H|0,B=Je(B^I,12),P=P+B|0,H=Je(H^P,8),I=I+H|0,B=Je(B^I,7),W=W+ee|0,G=Je(G^W,16),T=T+G|0,ee=Je(ee^T,12),W=W+ee|0,G=Je(G^W,8),T=T+G|0,ee=Je(ee^T,7);let ae=0;o[ae++]=s+z|0,o[ae++]=a+K|0,o[ae++]=c+P|0,o[ae++]=u+W|0,o[ae++]=d+ee|0,o[ae++]=f+j|0,o[ae++]=m+R|0,o[ae++]=h+B|0,o[ae++]=b+I|0,o[ae++]=y+T|0,o[ae++]=S+k|0,o[ae++]=x+M|0,o[ae++]=_+N|0,o[ae++]=A+H|0,o[ae++]=O+G|0,o[ae++]=L+re|0}var Jie=aj(Fie,{counterRight:!1,counterLength:4,allowShortKeys:!1});var Kie=new Uint8Array(16),uj=(e,t)=>{e.update(t);let r=t.length%16;if(r)e.update(Kie.subarray(r))},Hie=new Uint8Array(32);function dj(e,t,r,o,n){if(n!==void 0)Ot(n,void 0,"AAD");let i=e(t,r,Hie),s=oj(o.length,n?n.length:0,!0),a=lj.create(i);if(n)uj(a,n);uj(a,o),a.update(s);let c=a.digest();return fn(i,s),c}var Vie=(e)=>(t,r,o)=>({encrypt(i,s){let a=i.length;s=ud(a+16,s,!1),s.set(i);let c=s.subarray(0,-16);e(t,r,c,c,1);let u=dj(e,t,r,c,o);return s.set(u,a),fn(u),s},decrypt(i,s){s=ud(i.length-16,s,!1);let a=i.subarray(0,-16),c=i.subarray(-16),u=dj(e,t,r,a,o);if(!tj(c,u))throw fn(u),Error("invalid tag");return s.set(i.subarray(0,-16)),e(t,r,s,s,1),fn(u),s}}),Hr=nj({blockSize:64,nonceLength:12,tagLength:16},Vie(Jie));/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */function kc(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Bt(e,t=""){if(!Number.isSafeInteger(e)||e<0){let r=t&&`"${t}" `;throw Error(`${r}expected integer >= 0, got ${e}`)}}function Te(e,t,r=""){let o=kc(e),n=e?.length,i=t!==void 0;if(!o||i&&n!==t){let s=r&&`"${r}" `,a=i?` of length ${t}`:"",c=o?`length=${n}`:`type=${typeof e}`;throw Error(s+"expected Uint8Array"+a+", got "+c)}return e}function Vr(e){if(typeof e!=="function"||typeof e.create!=="function")throw Error("Hash must wrapped by utils.createHasher");Bt(e.outputLen),Bt(e.blockLen)}function xo(e,t=!0){if(e.destroyed)throw Error("Hash instance has been destroyed");if(t&&e.finished)throw Error("Hash#digest() has already been called")}function ag(e,t){Te(e,void 0,"digestInto() output");let r=t.outputLen;if(e.length<r)throw Error('"digestInto() output" expected to be of length >='+r)}function cg(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function Er(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function lg(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function pn(e,t){return e<<32-t|e>>>t}var Wie=(()=>new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68)();function Gie(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function Qie(e){for(let t=0;t<e.length;t++)e[t]=Gie(e[t]);return e}var Ik=Wie?(e)=>e:Qie,pj=(()=>typeof Uint8Array.from([]).toHex==="function"&&typeof Uint8Array.fromHex==="function")(),Yie=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Rs(e){if(Te(e),pj)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=Yie[e[r]];return t}var wo={_0:48,_9:57,A:65,F:70,a:97,f:102};function fj(e){if(e>=wo._0&&e<=wo._9)return e-wo._0;if(e>=wo.A&&e<=wo.F)return e-(wo.A-10);if(e>=wo.a&&e<=wo.f)return e-(wo.a-10);return}function Os(e){if(typeof e!=="string")throw Error("hex string expected, got "+typeof e);if(pj)return Uint8Array.fromHex(e);let t=e.length,r=t/2;if(t%2)throw Error("hex string expected, got unpadded hex of length "+t);let o=new Uint8Array(r);for(let n=0,i=0;n<r;n++,i+=2){let s=fj(e.charCodeAt(i)),a=fj(e.charCodeAt(i+1));if(s===void 0||a===void 0){let c=e[i]+e[i+1];throw Error('hex string expected, got non-hex character "'+c+'" at index '+i)}o[n]=s*16+a}return o}function It(...e){let t=0;for(let o=0;o<e.length;o++){let n=e[o];Te(n),t+=n.length}let r=new Uint8Array(t);for(let o=0,n=0;o<e.length;o++){let i=e[o];r.set(i,n),n+=i.length}return r}function Ac(e,t={}){let r=(n,i)=>e(i).update(n).digest(),o=e(void 0);return r.outputLen=o.outputLen,r.blockLen=o.blockLen,r.create=(n)=>e(n),Object.assign(r,t),Object.freeze(r)}function wi(e=32){let t=typeof globalThis==="object"?globalThis.crypto:null;if(typeof t?.getRandomValues!=="function")throw Error("crypto.getRandomValues must be defined");return t.getRandomValues(new Uint8Array(e))}var xi=(e)=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,e])});/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var Ak=BigInt(0),kk=BigInt(1);function fd(e,t=""){if(typeof e!=="boolean"){let r=t&&`"${t}" `;throw Error(r+"expected boolean, got type="+typeof e)}return e}function mj(e){if(typeof e==="bigint"){if(!ug(e))throw Error("positive bigint expected, got "+e)}else Bt(e);return e}function pd(e){let t=mj(e).toString(16);return t.length&1?"0"+t:t}function hj(e){if(typeof e!=="string")throw Error("hex string expected, got "+typeof e);return e===""?Ak:BigInt("0x"+e)}function _i(e){return hj(Rs(e))}function Ei(e){return hj(Rs(dg(Te(e)).reverse()))}function Tc(e,t){Bt(t),e=mj(e);let r=Os(e.toString(16).padStart(t*2,"0"));if(r.length!==t)throw Error("number too large");return r}function md(e,t){return Tc(e,t).reverse()}function dg(e){return Uint8Array.from(e)}function Ii(e){return Uint8Array.from(e,(t,r)=>{let o=t.charCodeAt(0);if(t.length!==1||o>127)throw Error(`string contains non-ASCII character "${e[r]}" with code ${o} at position ${r}`);return o})}var ug=(e)=>typeof e==="bigint"&&Ak<=e;function Xie(e,t,r){return ug(e)&&ug(t)&&ug(r)&&t<=e&&e<r}function hd(e,t,r,o){if(!Xie(t,r,o))throw Error("expected valid "+e+": "+r+" <= n < "+o+", got "+t)}function Tk(e){let t;for(t=0;e>Ak;e>>=kk,t+=1);return t}var gd=(e)=>(kk<<BigInt(e))-kk;function gj(e,t,r){if(Bt(e,"hashLen"),Bt(t,"qByteLen"),typeof r!=="function")throw Error("hmacFn must be a function");let o=(S)=>new Uint8Array(S),n=Uint8Array.of(),i=Uint8Array.of(0),s=Uint8Array.of(1),a=1000,c=o(e),u=o(e),d=0,f=()=>{c.fill(1),u.fill(0),d=0},m=(...S)=>r(u,It(c,...S)),h=(S=n)=>{if(u=m(i,S),c=m(),S.length===0)return;u=m(s,S),c=m()},b=()=>{if(d++>=a)throw Error("drbg: tried max amount of iterations");let S=0,x=[];while(S<t){c=m();let _=c.slice();x.push(_),S+=c.length}return It(...x)};return(S,x)=>{f(),h(S);let _=void 0;while(!(_=x(b())))h();return f(),_}}function Cs(e,t={},r={}){if(!e||typeof e!=="object")throw Error("expected valid options object");function o(i,s,a){let c=e[i];if(a&&c===void 0)return;let u=typeof c;if(u!==s||c===null)throw Error(`param "${i}" is invalid: expected ${s}, got ${u}`)}let n=(i,s)=>Object.entries(i).forEach(([a,c])=>o(a,c,s));n(t,!1),n(r,!0)}function $k(e){let t=new WeakMap;return(r,...o)=>{let n=t.get(r);if(n!==void 0)return n;let i=e(r,...o);return t.set(r,i),i}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var gr=BigInt(0),rr=BigInt(1),Ps=BigInt(2),Sj=BigInt(3),vj=BigInt(4),wj=BigInt(5),ese=BigInt(7),xj=BigInt(8),tse=BigInt(9),_j=BigInt(16);function hr(e,t){let r=e%t;return r>=gr?r:t+r}function Wr(e,t,r){let o=e;while(t-- >gr)o*=o,o%=r;return o}function yj(e,t){if(e===gr)throw Error("invert: expected non-zero number");if(t<=gr)throw Error("invert: expected positive modulus, got "+t);let r=hr(e,t),o=t,n=gr,i=rr,s=rr,a=gr;while(r!==gr){let u=o/r,d=o%r,f=n-s*u,m=i-a*u;o=r,r=d,n=s,i=a,s=f,a=m}if(o!==rr)throw Error("invert: does not exist");return hr(n,t)}function Rk(e,t,r){if(!e.eql(e.sqr(t),r))throw Error("Cannot find square root")}function Ej(e,t){let r=(e.ORDER+rr)/vj,o=e.pow(t,r);return Rk(e,o,t),o}function rse(e,t){let r=(e.ORDER-wj)/xj,o=e.mul(t,Ps),n=e.pow(o,r),i=e.mul(t,n),s=e.mul(e.mul(i,Ps),n),a=e.mul(i,e.sub(s,e.ONE));return Rk(e,a,t),a}function nse(e){let t=fg(e),r=Ij(e),o=r(t,t.neg(t.ONE)),n=r(t,o),i=r(t,t.neg(o)),s=(e+ese)/_j;return(a,c)=>{let u=a.pow(c,s),d=a.mul(u,o),f=a.mul(u,n),m=a.mul(u,i),h=a.eql(a.sqr(d),c),b=a.eql(a.sqr(f),c);u=a.cmov(u,d,h),d=a.cmov(m,f,b);let y=a.eql(a.sqr(d),c),S=a.cmov(u,d,y);return Rk(a,S,c),S}}function Ij(e){if(e<Sj)throw Error("sqrt is not defined for small field");let t=e-rr,r=0;while(t%Ps===gr)t/=Ps,r++;let o=Ps,n=fg(e);while(bj(n,o)===1)if(o++>1000)throw Error("Cannot find square root: probably non-prime P");if(r===1)return Ej;let i=n.pow(o,t),s=(t+rr)/Ps;return function(c,u){if(c.is0(u))return u;if(bj(c,u)!==1)throw Error("Cannot find square root");let d=r,f=c.mul(c.ONE,i),m=c.pow(u,t),h=c.pow(u,s);while(!c.eql(m,c.ONE)){if(c.is0(m))return c.ZERO;let b=1,y=c.sqr(m);while(!c.eql(y,c.ONE))if(b++,y=c.sqr(y),b===d)throw Error("Cannot find square root");let S=rr<<BigInt(d-b-1),x=c.pow(f,S);d=b,f=c.sqr(x),m=c.mul(m,f),h=c.mul(h,x)}return h}}function ose(e){if(e%vj===Sj)return Ej;if(e%xj===wj)return rse;if(e%_j===tse)return nse(e);return Ij(e)}var ise=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Ok(e){let t={ORDER:"bigint",BYTES:"number",BITS:"number"},r=ise.reduce((o,n)=>(o[n]="function",o),t);return Cs(e,r),e}function sse(e,t,r){if(r<gr)throw Error("invalid exponent, negatives unsupported");if(r===gr)return e.ONE;if(r===rr)return t;let o=e.ONE,n=t;while(r>gr){if(r&rr)o=e.mul(o,n);n=e.sqr(n),r>>=rr}return o}function yd(e,t,r=!1){let o=Array(t.length).fill(r?e.ZERO:void 0),n=t.reduce((s,a,c)=>{if(e.is0(a))return s;return o[c]=s,e.mul(s,a)},e.ONE),i=e.inv(n);return t.reduceRight((s,a,c)=>{if(e.is0(a))return s;return o[c]=e.mul(s,o[c]),e.mul(s,a)},i),o}function bj(e,t){let r=(e.ORDER-rr)/Ps,o=e.pow(t,r),n=e.eql(o,e.ONE),i=e.eql(o,e.ZERO),s=e.eql(o,e.neg(e.ONE));if(!n&&!i&&!s)throw Error("invalid Legendre symbol result");return n?1:i?0:-1}function ase(e,t){if(t!==void 0)Bt(t);let r=t!==void 0?t:e.toString(2).length,o=Math.ceil(r/8);return{nBitLength:r,nByteLength:o}}class kj{ORDER;BITS;BYTES;isLE;ZERO=gr;ONE=rr;_lengths;_sqrt;_mod;constructor(e,t={}){if(e<=gr)throw Error("invalid field: expected ORDER > 0, got "+e);let r=void 0;if(this.isLE=!1,t!=null&&typeof t==="object"){if(typeof t.BITS==="number")r=t.BITS;if(typeof t.sqrt==="function")this.sqrt=t.sqrt;if(typeof t.isLE==="boolean")this.isLE=t.isLE;if(t.allowedLengths)this._lengths=t.allowedLengths?.slice();if(typeof t.modFromBytes==="boolean")this._mod=t.modFromBytes}let{nBitLength:o,nByteLength:n}=ase(e,r);if(n>2048)throw Error("invalid field: expected ORDER of <= 2048 bytes");this.ORDER=e,this.BITS=o,this.BYTES=n,this._sqrt=void 0,Object.preventExtensions(this)}create(e){return hr(e,this.ORDER)}isValid(e){if(typeof e!=="bigint")throw Error("invalid field element: expected bigint, got "+typeof e);return gr<=e&&e<this.ORDER}is0(e){return e===gr}isValidNot0(e){return!this.is0(e)&&this.isValid(e)}isOdd(e){return(e&rr)===rr}neg(e){return hr(-e,this.ORDER)}eql(e,t){return e===t}sqr(e){return hr(e*e,this.ORDER)}add(e,t){return hr(e+t,this.ORDER)}sub(e,t){return hr(e-t,this.ORDER)}mul(e,t){return hr(e*t,this.ORDER)}pow(e,t){return sse(this,e,t)}div(e,t){return hr(e*yj(t,this.ORDER),this.ORDER)}sqrN(e){return e*e}addN(e,t){return e+t}subN(e,t){return e-t}mulN(e,t){return e*t}inv(e){return yj(e,this.ORDER)}sqrt(e){if(!this._sqrt)this._sqrt=ose(this.ORDER);return this._sqrt(this,e)}toBytes(e){return this.isLE?md(e,this.BYTES):Tc(e,this.BYTES)}fromBytes(e,t=!1){Te(e);let{_lengths:r,BYTES:o,isLE:n,ORDER:i,_mod:s}=this;if(r){if(!r.includes(e.length)||e.length>o)throw Error("Field.fromBytes: expected "+r+" bytes, got "+e.length);let c=new Uint8Array(o);c.set(e,n?0:c.length-e.length),e=c}if(e.length!==o)throw Error("Field.fromBytes: expected "+o+" bytes, got "+e.length);let a=n?Ei(e):_i(e);if(s)a=hr(a,i);if(!t){if(!this.isValid(a))throw Error("invalid field element: outside of range 0..ORDER")}return a}invertBatch(e){return yd(this,e)}cmov(e,t,r){return r?t:e}}function fg(e,t={}){return new kj(e,t)}function Aj(e){if(typeof e!=="bigint")throw Error("field order must be bigint");let t=e.toString(2).length;return Math.ceil(t/8)}function Ck(e){let t=Aj(e);return t+Math.ceil(t/2)}function Tj(e,t,r=!1){Te(e);let o=e.length,n=Aj(t),i=Ck(t);if(o<16||o<i||o>1024)throw Error("expected "+i+"-1024 bytes of input, got "+o);let s=r?Ei(e):_i(e),a=hr(s,t-rr)+rr;return r?md(a,n):Tc(a,n)}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var $c=BigInt(0),zs=BigInt(1);function bd(e,t){let r=t.negate();return e?r:t}function Dk(e,t){let r=yd(e.Fp,t.map((o)=>o.Z));return t.map((o,n)=>e.fromAffine(o.toAffine(r[n])))}function Cj(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw Error("invalid window size, expected [1.."+t+"], got W="+e)}function Pk(e,t){Cj(e,t);let r=Math.ceil(t/e)+1,o=2**(e-1),n=2**e,i=gd(e),s=BigInt(e);return{windows:r,windowSize:o,mask:i,maxNumber:n,shiftBy:s}}function $j(e,t,r){let{windowSize:o,mask:n,maxNumber:i,shiftBy:s}=r,a=Number(e&n),c=e>>s;if(a>o)a-=i,c+=zs;let u=t*o,d=u+Math.abs(a)-1,f=a===0,m=a<0,h=t%2!==0;return{nextN:c,offset:d,isZero:f,isNeg:m,isNegF:h,offsetF:u}}var zk=new WeakMap,Pj=new WeakMap;function Nk(e){return Pj.get(e)||1}function Rj(e){if(e!==$c)throw Error("invalid wNAF")}class Lk{BASE;ZERO;Fn;bits;constructor(e,t){this.BASE=e.BASE,this.ZERO=e.ZERO,this.Fn=e.Fn,this.bits=t}_unsafeLadder(e,t,r=this.ZERO){let o=e;while(t>$c){if(t&zs)r=r.add(o);o=o.double(),t>>=zs}return r}precomputeWindow(e,t){let{windows:r,windowSize:o}=Pk(t,this.bits),n=[],i=e,s=i;for(let a=0;a<r;a++){s=i,n.push(s);for(let c=1;c<o;c++)s=s.add(i),n.push(s);i=s.double()}return n}wNAF(e,t,r){if(!this.Fn.isValid(r))throw Error("invalid scalar");let o=this.ZERO,n=this.BASE,i=Pk(e,this.bits);for(let s=0;s<i.windows;s++){let{nextN:a,offset:c,isZero:u,isNeg:d,isNegF:f,offsetF:m}=$j(r,s,i);if(r=a,u)n=n.add(bd(f,t[m]));else o=o.add(bd(d,t[c]))}return Rj(r),{p:o,f:n}}wNAFUnsafe(e,t,r,o=this.ZERO){let n=Pk(e,this.bits);for(let i=0;i<n.windows;i++){if(r===$c)break;let{nextN:s,offset:a,isZero:c,isNeg:u}=$j(r,i,n);if(r=s,c)continue;else{let d=t[a];o=o.add(u?d.negate():d)}}return Rj(r),o}getPrecomputes(e,t,r){let o=zk.get(t);if(!o){if(o=this.precomputeWindow(t,e),e!==1){if(typeof r==="function")o=r(o);zk.set(t,o)}}return o}cached(e,t,r){let o=Nk(e);return this.wNAF(o,this.getPrecomputes(o,e,r),t)}unsafe(e,t,r,o){let n=Nk(e);if(n===1)return this._unsafeLadder(e,t,o);return this.wNAFUnsafe(n,this.getPrecomputes(n,e,r),t,o)}createCache(e,t){Cj(t,this.bits),Pj.set(e,t),zk.delete(e)}hasCache(e){return Nk(e)!==1}}function zj(e,t,r,o){let n=t,i=e.ZERO,s=e.ZERO;while(r>$c||o>$c){if(r&zs)i=i.add(n);if(o&zs)s=s.add(n);n=n.double(),r>>=zs,o>>=zs}return{p1:i,p2:s}}function Oj(e,t,r){if(t){if(t.ORDER!==e)throw Error("Field.ORDER must match order: Fp == p, Fn == n");return Ok(t),t}else return fg(e,{isLE:r})}function Nj(e,t,r={},o){if(o===void 0)o=e==="edwards";if(!t||typeof t!=="object")throw Error(`expected valid ${e} CURVE object`);for(let c of["p","n","h"]){let u=t[c];if(!(typeof u==="bigint"&&u>$c))throw Error(`CURVE.${c} must be positive bigint`)}let n=Oj(t.p,r.Fp,o),i=Oj(t.n,r.Fn,o),a=["Gx","Gy","a",e==="weierstrass"?"b":"d"];for(let c of a)if(!n.isValid(t[c]))throw Error(`CURVE.${c} must be valid field element of CURVE.Fp`);return t=Object.freeze(Object.assign({},t)),{CURVE:t,Fp:n,Fn:i}}function pg(e,t){return function(o){let n=e(o);return{secretKey:n,publicKey:t(n)}}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var Sd=BigInt(0),Rc=BigInt(1),mg=BigInt(2);function cse(e){return Cs(e,{adjustScalarBytes:"function",powPminus2:"function"}),Object.freeze({...e})}function Dj(e){let t=cse(e),{P:r,type:o,adjustScalarBytes:n,powPminus2:i,randomBytes:s}=t,a=o==="x25519";if(!a&&o!=="x448")throw Error("invalid type");let c=s||wi,u=a?255:448,d=a?32:56,f=a?BigInt(9):BigInt(5),m=a?BigInt(121665):BigInt(39081),h=a?mg**BigInt(254):mg**BigInt(447),b=a?BigInt(8)*mg**BigInt(251)-Rc:BigInt(4)*mg**BigInt(445)-Rc,y=h+b+Rc,S=(I)=>hr(I,r),x=_(f);function _(I){return md(S(I),d)}function A(I){let T=dg(Te(I,d,"uCoordinate"));if(a)T[31]&=127;return S(Ei(T))}function O(I){return Ei(n(dg(Te(I,d,"scalar"))))}function L(I,T){let k=ee(A(T),O(I));if(k===Sd)throw Error("invalid private or public key received");return _(k)}function z(I){return L(I,x)}let K=z,P=L;function W(I,T,k){let M=S(I*(T-k));return T=S(T-M),k=S(k+M),{x_2:T,x_3:k}}function ee(I,T){hd("u",I,Sd,r),hd("scalar",T,h,y);let k=T,M=I,N=Rc,H=Sd,G=I,re=Rc,ae=Sd;for(let be=BigInt(u-1);be>=Sd;be--){let ve=k>>be&Rc;ae^=ve,{x_2:N,x_3:G}=W(ae,N,G),{x_2:H,x_3:re}=W(ae,H,re),ae=ve;let ke=N+H,Ie=S(ke*ke),we=N-H,Ue=S(we*we),De=Ie-Ue,Qe=G+re,St=G-re,Tt=S(St*ke),Nt=S(Qe*we),lt=Tt+Nt,$r=Tt-Nt;G=S(lt*lt),re=S(M*S($r*$r)),N=S(Ie*Ue),H=S(De*(Ie+S(m*De)))}({x_2:N,x_3:G}=W(ae,N,G)),{x_2:H,x_3:re}=W(ae,H,re);let pe=i(H);return S(N*pe)}let j={secretKey:d,publicKey:d,seed:d},R=(I=c(d))=>(Te(I,j.seed,"seed"),I),B={randomSecretKey:R};return Object.freeze({keygen:pg(R,K),getSharedSecret:P,getPublicKey:K,scalarMult:L,scalarMultBase:z,utils:B,GuBytes:x.slice(),lengths:j})}class Bk{oHash;iHash;blockLen;outputLen;finished=!1;destroyed=!1;constructor(e,t){if(Vr(e),Te(t,void 0,"key"),this.iHash=e.create(),typeof this.iHash.update!=="function")throw Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let r=this.blockLen,o=new Uint8Array(r);o.set(t.length>r?e.create().update(t).digest():t);for(let n=0;n<o.length;n++)o[n]^=54;this.iHash.update(o),this.oHash=e.create();for(let n=0;n<o.length;n++)o[n]^=106;this.oHash.update(o),Er(o)}update(e){return xo(this),this.iHash.update(e),this}digestInto(e){xo(this),Te(e,this.outputLen,"output"),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||=Object.create(Object.getPrototypeOf(this),{});let{oHash:t,iHash:r,finished:o,destroyed:n,blockLen:i,outputLen:s}=this;return e=e,e.finished=o,e.destroyed=n,e.blockLen=i,e.outputLen=s,e.oHash=t._cloneInto(e.oHash),e.iHash=r._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}var Oc=(e,t,r)=>new Bk(e,t).update(r).digest();Oc.create=(e,t)=>new Bk(e,t);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var Lj=(e,t)=>(e+(e>=0?t:-t)/jj)/t;function lse(e,t,r){let[[o,n],[i,s]]=t,a=Lj(s*e,r),c=Lj(-n*e,r),u=e-a*o-c*i,d=-a*n-c*s,f=u<_o,m=d<_o;if(f)u=-u;if(m)d=-d;let h=gd(Math.ceil(Tk(r)/2))+Cc;if(u<_o||u>=h||d<_o||d>=h)throw Error("splitScalar (endomorphism): failed, k="+e);return{k1neg:f,k1:u,k2neg:m,k2:d}}function Zk(e){if(!["compact","recovered","der"].includes(e))throw Error('Signature format must be "compact", "recovered", or "der"');return e}function jk(e,t){let r={};for(let o of Object.keys(t))r[o]=e[o]===void 0?t[o]:e[o];if(fd(r.lowS,"lowS"),fd(r.prehash,"prehash"),r.format!==void 0)Zk(r.format);return r}class Bj extends Error{constructor(e=""){super(e)}}var ki={Err:Bj,_tlv:{encode:(e,t)=>{let{Err:r}=ki;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(t.length&1)throw new r("tlv.encode: unpadded data");let o=t.length/2,n=pd(o);if(n.length/2&128)throw new r("tlv.encode: long form length too big");let i=o>127?pd(n.length/2|128):"";return pd(e)+i+n+t},decode(e,t){let{Err:r}=ki,o=0;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(t.length<2||t[o++]!==e)throw new r("tlv.decode: wrong tlv");let n=t[o++],i=!!(n&128),s=0;if(!i)s=n;else{let c=n&127;if(!c)throw new r("tlv.decode(long): indefinite length not supported");if(c>4)throw new r("tlv.decode(long): byte length is too big");let u=t.subarray(o,o+c);if(u.length!==c)throw new r("tlv.decode: length bytes not complete");if(u[0]===0)throw new r("tlv.decode(long): zero leftmost byte");for(let d of u)s=s<<8|d;if(o+=c,s<128)throw new r("tlv.decode(long): not minimal encoding")}let a=t.subarray(o,o+s);if(a.length!==s)throw new r("tlv.decode: wrong value length");return{v:a,l:t.subarray(o+s)}}},_int:{encode(e){let{Err:t}=ki;if(e<_o)throw new t("integer: negative integers are not allowed");let r=pd(e);if(Number.parseInt(r[0],16)&8)r="00"+r;if(r.length&1)throw new t("unexpected DER parsing assertion: unpadded hex");return r},decode(e){let{Err:t}=ki;if(e[0]&128)throw new t("invalid signature integer: negative");if(e[0]===0&&!(e[1]&128))throw new t("invalid signature integer: unnecessary leading zero");return _i(e)}},toSig(e){let{Err:t,_int:r,_tlv:o}=ki,n=Te(e,void 0,"signature"),{v:i,l:s}=o.decode(48,n);if(s.length)throw new t("invalid signature: left bytes after parsing");let{v:a,l:c}=o.decode(2,i),{v:u,l:d}=o.decode(2,c);if(d.length)throw new t("invalid signature: left bytes after parsing");return{r:r.decode(a),s:r.decode(u)}},hexFromSig(e){let{_tlv:t,_int:r}=ki,o=t.encode(2,r.encode(e.r)),n=t.encode(2,r.encode(e.s)),i=o+n;return t.encode(48,i)}},_o=BigInt(0),Cc=BigInt(1),jj=BigInt(2),hg=BigInt(3),use=BigInt(4);function Uk(e,t={}){let r=Nj("weierstrass",e,t),{Fp:o,Fn:n}=r,i=r.CURVE,{h:s,n:a}=i;Cs(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object"});let{endo:c}=t;if(c){if(!o.is0(i.a)||typeof c.beta!=="bigint"||!Array.isArray(c.basises))throw Error('invalid endo: expected "beta": bigint and "basises": array')}let u=Uj(o,n);function d(){if(!o.isOdd)throw Error("compression is not supported: Field does not have .isOdd()")}function f(R,B,I){let{x:T,y:k}=B.toAffine(),M=o.toBytes(T);if(fd(I,"isCompressed"),I){d();let N=!o.isOdd(k);return It(Zj(N),M)}else return It(Uint8Array.of(4),M,o.toBytes(k))}function m(R){Te(R,void 0,"Point");let{publicKey:B,publicKeyUncompressed:I}=u,T=R.length,k=R[0],M=R.subarray(1);if(T===B&&(k===2||k===3)){let N=o.fromBytes(M);if(!o.isValid(N))throw Error("bad point: is not on curve, wrong x");let H=y(N),G;try{G=o.sqrt(H)}catch(pe){let be=pe instanceof Error?": "+pe.message:"";throw Error("bad point: is not on curve, sqrt error"+be)}d();let re=o.isOdd(G);if((k&1)===1!==re)G=o.neg(G);return{x:N,y:G}}else if(T===I&&k===4){let N=o.BYTES,H=o.fromBytes(M.subarray(0,N)),G=o.fromBytes(M.subarray(N,N*2));if(!S(H,G))throw Error("bad point: is not on curve");return{x:H,y:G}}else throw Error(`bad point: got length ${T}, expected compressed=${B} or uncompressed=${I}`)}let h=t.toBytes||f,b=t.fromBytes||m;function y(R){let B=o.sqr(R),I=o.mul(B,R);return o.add(o.add(I,o.mul(R,i.a)),i.b)}function S(R,B){let I=o.sqr(B),T=y(R);return o.eql(I,T)}if(!S(i.Gx,i.Gy))throw Error("bad curve params: generator point");let x=o.mul(o.pow(i.a,hg),use),_=o.mul(o.sqr(i.b),BigInt(27));if(o.is0(o.add(x,_)))throw Error("bad curve params: a or b");function A(R,B,I=!1){if(!o.isValid(B)||I&&o.is0(B))throw Error(`bad point coordinate ${R}`);return B}function O(R){if(!(R instanceof W))throw Error("Weierstrass Point expected")}function L(R){if(!c||!c.basises)throw Error("no endo");return lse(R,c.basises,n.ORDER)}let z=$k((R,B)=>{let{X:I,Y:T,Z:k}=R;if(o.eql(k,o.ONE))return{x:I,y:T};let M=R.is0();if(B==null)B=M?o.ONE:o.inv(k);let N=o.mul(I,B),H=o.mul(T,B),G=o.mul(k,B);if(M)return{x:o.ZERO,y:o.ZERO};if(!o.eql(G,o.ONE))throw Error("invZ was invalid");return{x:N,y:H}}),K=$k((R)=>{if(R.is0()){if(t.allowInfinityPoint&&!o.is0(R.Y))return;throw Error("bad point: ZERO")}let{x:B,y:I}=R.toAffine();if(!o.isValid(B)||!o.isValid(I))throw Error("bad point: x or y not field elements");if(!S(B,I))throw Error("bad point: equation left != right");if(!R.isTorsionFree())throw Error("bad point: not in prime-order subgroup");return!0});function P(R,B,I,T,k){return I=new W(o.mul(I.X,R),I.Y,I.Z),B=bd(T,B),I=bd(k,I),B.add(I)}class W{static BASE=new W(i.Gx,i.Gy,o.ONE);static ZERO=new W(o.ZERO,o.ONE,o.ZERO);static Fp=o;static Fn=n;X;Y;Z;constructor(R,B,I){this.X=A("x",R),this.Y=A("y",B,!0),this.Z=A("z",I),Object.freeze(this)}static CURVE(){return i}static fromAffine(R){let{x:B,y:I}=R||{};if(!R||!o.isValid(B)||!o.isValid(I))throw Error("invalid affine point");if(R instanceof W)throw Error("projective point not allowed");if(o.is0(B)&&o.is0(I))return W.ZERO;return new W(B,I,o.ONE)}static fromBytes(R){let B=W.fromAffine(b(Te(R,void 0,"point")));return B.assertValidity(),B}static fromHex(R){return W.fromBytes(Os(R))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(R=8,B=!0){if(j.createCache(this,R),!B)this.multiply(hg);return this}assertValidity(){K(this)}hasEvenY(){let{y:R}=this.toAffine();if(!o.isOdd)throw Error("Field doesn't support isOdd");return!o.isOdd(R)}equals(R){O(R);let{X:B,Y:I,Z:T}=this,{X:k,Y:M,Z:N}=R,H=o.eql(o.mul(B,N),o.mul(k,T)),G=o.eql(o.mul(I,N),o.mul(M,T));return H&&G}negate(){return new W(this.X,o.neg(this.Y),this.Z)}double(){let{a:R,b:B}=i,I=o.mul(B,hg),{X:T,Y:k,Z:M}=this,N=o.ZERO,H=o.ZERO,G=o.ZERO,re=o.mul(T,T),ae=o.mul(k,k),pe=o.mul(M,M),be=o.mul(T,k);return be=o.add(be,be),G=o.mul(T,M),G=o.add(G,G),N=o.mul(R,G),H=o.mul(I,pe),H=o.add(N,H),N=o.sub(ae,H),H=o.add(ae,H),H=o.mul(N,H),N=o.mul(be,N),G=o.mul(I,G),pe=o.mul(R,pe),be=o.sub(re,pe),be=o.mul(R,be),be=o.add(be,G),G=o.add(re,re),re=o.add(G,re),re=o.add(re,pe),re=o.mul(re,be),H=o.add(H,re),pe=o.mul(k,M),pe=o.add(pe,pe),re=o.mul(pe,be),N=o.sub(N,re),G=o.mul(pe,ae),G=o.add(G,G),G=o.add(G,G),new W(N,H,G)}add(R){O(R);let{X:B,Y:I,Z:T}=this,{X:k,Y:M,Z:N}=R,H=o.ZERO,G=o.ZERO,re=o.ZERO,ae=i.a,pe=o.mul(i.b,hg),be=o.mul(B,k),ve=o.mul(I,M),ke=o.mul(T,N),Ie=o.add(B,I),we=o.add(k,M);Ie=o.mul(Ie,we),we=o.add(be,ve),Ie=o.sub(Ie,we),we=o.add(B,T);let Ue=o.add(k,N);return we=o.mul(we,Ue),Ue=o.add(be,ke),we=o.sub(we,Ue),Ue=o.add(I,T),H=o.add(M,N),Ue=o.mul(Ue,H),H=o.add(ve,ke),Ue=o.sub(Ue,H),re=o.mul(ae,we),H=o.mul(pe,ke),re=o.add(H,re),H=o.sub(ve,re),re=o.add(ve,re),G=o.mul(H,re),ve=o.add(be,be),ve=o.add(ve,be),ke=o.mul(ae,ke),we=o.mul(pe,we),ve=o.add(ve,ke),ke=o.sub(be,ke),ke=o.mul(ae,ke),we=o.add(we,ke),be=o.mul(ve,we),G=o.add(G,be),be=o.mul(Ue,we),H=o.mul(Ie,H),H=o.sub(H,be),be=o.mul(Ie,ve),re=o.mul(Ue,re),re=o.add(re,be),new W(H,G,re)}subtract(R){return this.add(R.negate())}is0(){return this.equals(W.ZERO)}multiply(R){let{endo:B}=t;if(!n.isValidNot0(R))throw Error("invalid scalar: out of range");let I,T,k=(M)=>j.cached(this,M,(N)=>Dk(W,N));if(B){let{k1neg:M,k1:N,k2neg:H,k2:G}=L(R),{p:re,f:ae}=k(N),{p:pe,f:be}=k(G);T=ae.add(be),I=P(B.beta,re,pe,M,H)}else{let{p:M,f:N}=k(R);I=M,T=N}return Dk(W,[I,T])[0]}multiplyUnsafe(R){let{endo:B}=t,I=this;if(!n.isValid(R))throw Error("invalid scalar: out of range");if(R===_o||I.is0())return W.ZERO;if(R===Cc)return I;if(j.hasCache(this))return this.multiply(R);if(B){let{k1neg:T,k1:k,k2neg:M,k2:N}=L(R),{p1:H,p2:G}=zj(W,I,k,N);return P(B.beta,H,G,T,M)}else return j.unsafe(I,R)}toAffine(R){return z(this,R)}isTorsionFree(){let{isTorsionFree:R}=t;if(s===Cc)return!0;if(R)return R(W,this);return j.unsafe(this,a).is0()}clearCofactor(){let{clearCofactor:R}=t;if(s===Cc)return this;if(R)return R(W,this);return this.multiplyUnsafe(s)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}toBytes(R=!0){return fd(R,"isCompressed"),this.assertValidity(),h(W,this,R)}toHex(R=!0){return Rs(this.toBytes(R))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let ee=n.BITS,j=new Lk(W,t.endo?Math.ceil(ee/2):ee);return W.BASE.precompute(8),W}function Zj(e){return Uint8Array.of(e?2:3)}function Uj(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function dse(e,t={}){let{Fn:r}=e,o=t.randomBytes||wi,n=Object.assign(Uj(e.Fp,r),{seed:Ck(r.ORDER)});function i(h){try{let b=r.fromBytes(h);return r.isValidNot0(b)}catch(b){return!1}}function s(h,b){let{publicKey:y,publicKeyUncompressed:S}=n;try{let x=h.length;if(b===!0&&x!==y)return!1;if(b===!1&&x!==S)return!1;return!!e.fromBytes(h)}catch(x){return!1}}function a(h=o(n.seed)){return Tj(Te(h,n.seed,"seed"),r.ORDER)}function c(h,b=!0){return e.BASE.multiply(r.fromBytes(h)).toBytes(b)}function u(h){let{secretKey:b,publicKey:y,publicKeyUncompressed:S}=n;if(!kc(h))return;if("_lengths"in r&&r._lengths||b===y)return;let x=Te(h,void 0,"key").length;return x===y||x===S}function d(h,b,y=!0){if(u(h)===!0)throw Error("first arg must be private key");if(u(b)===!1)throw Error("second arg must be public key");let S=r.fromBytes(h);return e.fromBytes(b).multiply(S).toBytes(y)}let f={isValidSecretKey:i,isValidPublicKey:s,randomSecretKey:a},m=pg(a,c);return Object.freeze({getPublicKey:c,getSharedSecret:d,keygen:m,Point:e,utils:f,lengths:n})}function qk(e,t,r={}){Vr(t),Cs(r,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"}),r=Object.assign({},r);let o=r.randomBytes||wi,n=r.hmac||((I,T)=>Oc(t,I,T)),{Fp:i,Fn:s}=e,{ORDER:a,BITS:c}=s,{keygen:u,getPublicKey:d,getSharedSecret:f,utils:m,lengths:h}=dse(e,r),b={prehash:!0,lowS:typeof r.lowS==="boolean"?r.lowS:!0,format:"compact",extraEntropy:!1},y=a*jj<i.ORDER;function S(I){let T=a>>Cc;return I>T}function x(I,T){if(!s.isValidNot0(T))throw Error(`invalid signature ${I}: out of range 1..Point.Fn.ORDER`);return T}function _(){if(y)throw Error('"recovered" sig type is not supported for cofactor >2 curves')}function A(I,T){Zk(T);let k=h.signature,M=T==="compact"?k:T==="recovered"?k+1:void 0;return Te(I,M)}class O{r;s;recovery;constructor(I,T,k){if(this.r=x("r",I),this.s=x("s",T),k!=null){if(_(),![0,1,2,3].includes(k))throw Error("invalid recovery id");this.recovery=k}Object.freeze(this)}static fromBytes(I,T=b.format){A(I,T);let k;if(T==="der"){let{r:G,s:re}=ki.toSig(Te(I));return new O(G,re)}if(T==="recovered")k=I[0],T="compact",I=I.subarray(1);let M=h.signature/2,N=I.subarray(0,M),H=I.subarray(M,M*2);return new O(s.fromBytes(N),s.fromBytes(H),k)}static fromHex(I,T){return this.fromBytes(Os(I),T)}assertRecovery(){let{recovery:I}=this;if(I==null)throw Error("invalid recovery id: must be present");return I}addRecoveryBit(I){return new O(this.r,this.s,I)}recoverPublicKey(I){let{r:T,s:k}=this,M=this.assertRecovery(),N=M===2||M===3?T+a:T;if(!i.isValid(N))throw Error("invalid recovery id: sig.r+curve.n != R.x");let H=i.toBytes(N),G=e.fromBytes(It(Zj((M&1)===0),H)),re=s.inv(N),ae=z(Te(I,void 0,"msgHash")),pe=s.create(-ae*re),be=s.create(k*re),ve=e.BASE.multiplyUnsafe(pe).add(G.multiplyUnsafe(be));if(ve.is0())throw Error("invalid recovery: point at infinify");return ve.assertValidity(),ve}hasHighS(){return S(this.s)}toBytes(I=b.format){if(Zk(I),I==="der")return Os(ki.hexFromSig(this));let{r:T,s:k}=this,M=s.toBytes(T),N=s.toBytes(k);if(I==="recovered")return _(),It(Uint8Array.of(this.assertRecovery()),M,N);return It(M,N)}toHex(I){return Rs(this.toBytes(I))}}let L=r.bits2int||function(T){if(T.length>8192)throw Error("input is too large");let k=_i(T),M=T.length*8-c;return M>0?k>>BigInt(M):k},z=r.bits2int_modN||function(T){return s.create(L(T))},K=gd(c);function P(I){return hd("num < 2^"+c,I,_o,K),s.toBytes(I)}function W(I,T){return Te(I,void 0,"message"),T?Te(t(I),void 0,"prehashed message"):I}function ee(I,T,k){let{lowS:M,prehash:N,extraEntropy:H}=jk(k,b);I=W(I,N);let G=z(I),re=s.fromBytes(T);if(!s.isValidNot0(re))throw Error("invalid private key");let ae=[P(re),P(G)];if(H!=null&&H!==!1){let ke=H===!0?o(h.secretKey):H;ae.push(Te(ke,void 0,"extraEntropy"))}let pe=It(...ae),be=G;function ve(ke){let Ie=L(ke);if(!s.isValidNot0(Ie))return;let we=s.inv(Ie),Ue=e.BASE.multiply(Ie).toAffine(),De=s.create(Ue.x);if(De===_o)return;let Qe=s.create(we*s.create(be+De*re));if(Qe===_o)return;let St=(Ue.x===De?0:2)|Number(Ue.y&Cc),Tt=Qe;if(M&&S(Qe))Tt=s.neg(Qe),St^=1;return new O(De,Tt,y?void 0:St)}return{seed:pe,k2sig:ve}}function j(I,T,k={}){let{seed:M,k2sig:N}=ee(I,T,k);return gj(t.outputLen,s.BYTES,n)(M,N).toBytes(k.format)}function R(I,T,k,M={}){let{lowS:N,prehash:H,format:G}=jk(M,b);if(k=Te(k,void 0,"publicKey"),T=W(T,H),!kc(I)){let re=I instanceof O?", use sig.toBytes()":"";throw Error("verify expects Uint8Array signature"+re)}A(I,G);try{let re=O.fromBytes(I,G),ae=e.fromBytes(k);if(N&&re.hasHighS())return!1;let{r:pe,s:be}=re,ve=z(T),ke=s.inv(be),Ie=s.create(ve*ke),we=s.create(pe*ke),Ue=e.BASE.multiplyUnsafe(Ie).add(ae.multiplyUnsafe(we));if(Ue.is0())return!1;return s.create(Ue.x)===pe}catch(re){return!1}}function B(I,T,k={}){let{prehash:M}=jk(k,b);return T=W(T,M),O.fromBytes(I,"recovered").recoverPublicKey(T).toBytes()}return Object.freeze({keygen:u,getPublicKey:d,getSharedSecret:f,utils:m,lengths:h,Point:e,sign:j,verify:R,recoverPublicKey:B,Signature:O,hash:t})}function qj(e,t,r){return e&t^~e&r}function Mj(e,t,r){return e&t^e&r^t&r}class gg{blockLen;outputLen;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor(e,t,r,o){this.blockLen=e,this.outputLen=t,this.padOffset=r,this.isLE=o,this.buffer=new Uint8Array(e),this.view=lg(this.buffer)}update(e){xo(this),Te(e);let{view:t,buffer:r,blockLen:o}=this,n=e.length;for(let i=0;i<n;){let s=Math.min(o-this.pos,n-i);if(s===o){let a=lg(e);for(;o<=n-i;i+=o)this.process(a,i);continue}if(r.set(e.subarray(i,i+s),this.pos),this.pos+=s,i+=s,this.pos===o)this.process(t,0),this.pos=0}return this.length+=e.length,this.roundClean(),this}digestInto(e){xo(this),ag(e,this),this.finished=!0;let{buffer:t,view:r,blockLen:o,isLE:n}=this,{pos:i}=this;if(t[i++]=128,Er(this.buffer.subarray(i)),this.padOffset>o-i)this.process(r,0),i=0;for(let d=i;d<o;d++)t[d]=0;r.setBigUint64(o-8,BigInt(this.length*8),n),this.process(r,0);let s=lg(e),a=this.outputLen;if(a%4)throw Error("_sha2: outputLen must be aligned to 32bit");let c=a/4,u=this.get();if(c>u.length)throw Error("_sha2: outputLen bigger than state");for(let d=0;d<c;d++)s.setUint32(4*d,u[d],n)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let r=e.slice(0,t);return this.destroy(),r}_cloneInto(e){e||=new this.constructor,e.set(...this.get());let{blockLen:t,buffer:r,length:o,finished:n,destroyed:i,pos:s}=this;if(e.destroyed=i,e.finished=n,e.length=o,e.pos=s,o%t)e.buffer.set(r);return e}clone(){return this._cloneInto()}}var Eo=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var Ht=Uint32Array.from([3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]);var yg=BigInt(4294967295),Fj=BigInt(32);function fse(e,t=!1){if(t)return{h:Number(e&yg),l:Number(e>>Fj&yg)};return{h:Number(e>>Fj&yg)|0,l:Number(e&yg)|0}}function bg(e,t=!1){let r=e.length,o=new Uint32Array(r),n=new Uint32Array(r);for(let i=0;i<r;i++){let{h:s,l:a}=fse(e[i],t);[o[i],n[i]]=[s,a]}return[o,n]}var Mk=(e,t,r)=>e>>>r,Fk=(e,t,r)=>e<<32-r|t>>>r,Ns=(e,t,r)=>e>>>r|t<<32-r,Ds=(e,t,r)=>e<<32-r|t>>>r,vd=(e,t,r)=>e<<64-r|t>>>r-32,wd=(e,t,r)=>e>>>r-32|t<<64-r;var Jj=(e,t,r)=>e<<r|t>>>32-r,Kj=(e,t,r)=>t<<r|e>>>32-r,Hj=(e,t,r)=>t<<r-32|e>>>64-r,Vj=(e,t,r)=>e<<r-32|t>>>64-r;function Un(e,t,r,o){let n=(t>>>0)+(o>>>0);return{h:e+r+(n/4294967296|0)|0,l:n|0}}var Wj=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),Gj=(e,t,r,o)=>t+r+o+(e/4294967296|0)|0,Qj=(e,t,r,o)=>(e>>>0)+(t>>>0)+(r>>>0)+(o>>>0),Yj=(e,t,r,o,n)=>t+r+o+n+(e/4294967296|0)|0,Xj=(e,t,r,o,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(o>>>0)+(n>>>0),eZ=(e,t,r,o,n,i)=>t+r+o+n+i+(e/4294967296|0)|0;var mse=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Ai=new Uint32Array(64);class tZ extends gg{constructor(e){super(64,e,8,!1)}get(){let{A:e,B:t,C:r,D:o,E:n,F:i,G:s,H:a}=this;return[e,t,r,o,n,i,s,a]}set(e,t,r,o,n,i,s,a){this.A=e|0,this.B=t|0,this.C=r|0,this.D=o|0,this.E=n|0,this.F=i|0,this.G=s|0,this.H=a|0}process(e,t){for(let d=0;d<16;d++,t+=4)Ai[d]=e.getUint32(t,!1);for(let d=16;d<64;d++){let f=Ai[d-15],m=Ai[d-2],h=pn(f,7)^pn(f,18)^f>>>3,b=pn(m,17)^pn(m,19)^m>>>10;Ai[d]=b+Ai[d-7]+h+Ai[d-16]|0}let{A:r,B:o,C:n,D:i,E:s,F:a,G:c,H:u}=this;for(let d=0;d<64;d++){let f=pn(s,6)^pn(s,11)^pn(s,25),m=u+f+qj(s,a,c)+mse[d]+Ai[d]|0,b=(pn(r,2)^pn(r,13)^pn(r,22))+Mj(r,o,n)|0;u=c,c=a,a=s,s=i+m|0,i=n,n=o,o=r,r=m+b|0}r=r+this.A|0,o=o+this.B|0,n=n+this.C|0,i=i+this.D|0,s=s+this.E|0,a=a+this.F|0,c=c+this.G|0,u=u+this.H|0,this.set(r,o,n,i,s,a,c,u)}roundClean(){Er(Ai)}destroy(){this.set(0,0,0,0,0,0,0,0),Er(this.buffer)}}class rZ extends tZ{A=Eo[0]|0;B=Eo[1]|0;C=Eo[2]|0;D=Eo[3]|0;E=Eo[4]|0;F=Eo[5]|0;G=Eo[6]|0;H=Eo[7]|0;constructor(){super(32)}}var nZ=(()=>bg(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map((e)=>BigInt(e))))(),hse=(()=>nZ[0])(),gse=(()=>nZ[1])(),Ti=new Uint32Array(80),$i=new Uint32Array(80);class oZ extends gg{constructor(e){super(128,e,16,!1)}get(){let{Ah:e,Al:t,Bh:r,Bl:o,Ch:n,Cl:i,Dh:s,Dl:a,Eh:c,El:u,Fh:d,Fl:f,Gh:m,Gl:h,Hh:b,Hl:y}=this;return[e,t,r,o,n,i,s,a,c,u,d,f,m,h,b,y]}set(e,t,r,o,n,i,s,a,c,u,d,f,m,h,b,y){this.Ah=e|0,this.Al=t|0,this.Bh=r|0,this.Bl=o|0,this.Ch=n|0,this.Cl=i|0,this.Dh=s|0,this.Dl=a|0,this.Eh=c|0,this.El=u|0,this.Fh=d|0,this.Fl=f|0,this.Gh=m|0,this.Gl=h|0,this.Hh=b|0,this.Hl=y|0}process(e,t){for(let _=0;_<16;_++,t+=4)Ti[_]=e.getUint32(t),$i[_]=e.getUint32(t+=4);for(let _=16;_<80;_++){let A=Ti[_-15]|0,O=$i[_-15]|0,L=Ns(A,O,1)^Ns(A,O,8)^Mk(A,O,7),z=Ds(A,O,1)^Ds(A,O,8)^Fk(A,O,7),K=Ti[_-2]|0,P=$i[_-2]|0,W=Ns(K,P,19)^vd(K,P,61)^Mk(K,P,6),ee=Ds(K,P,19)^wd(K,P,61)^Fk(K,P,6),j=Qj(z,ee,$i[_-7],$i[_-16]),R=Yj(j,L,W,Ti[_-7],Ti[_-16]);Ti[_]=R|0,$i[_]=j|0}let{Ah:r,Al:o,Bh:n,Bl:i,Ch:s,Cl:a,Dh:c,Dl:u,Eh:d,El:f,Fh:m,Fl:h,Gh:b,Gl:y,Hh:S,Hl:x}=this;for(let _=0;_<80;_++){let A=Ns(d,f,14)^Ns(d,f,18)^vd(d,f,41),O=Ds(d,f,14)^Ds(d,f,18)^wd(d,f,41),L=d&m^~d&b,z=f&h^~f&y,K=Xj(x,O,z,gse[_],$i[_]),P=eZ(K,S,A,L,hse[_],Ti[_]),W=K|0,ee=Ns(r,o,28)^vd(r,o,34)^vd(r,o,39),j=Ds(r,o,28)^wd(r,o,34)^wd(r,o,39),R=r&n^r&s^n&s,B=o&i^o&a^i&a;S=b|0,x=y|0,b=m|0,y=h|0,m=d|0,h=f|0,{h:d,l:f}=Un(c|0,u|0,P|0,W|0),c=s|0,u=a|0,s=n|0,a=i|0,n=r|0,i=o|0;let I=Wj(W,j,B);r=Gj(I,P,ee,R),o=I|0}({h:r,l:o}=Un(this.Ah|0,this.Al|0,r|0,o|0)),{h:n,l:i}=Un(this.Bh|0,this.Bl|0,n|0,i|0),{h:s,l:a}=Un(this.Ch|0,this.Cl|0,s|0,a|0),{h:c,l:u}=Un(this.Dh|0,this.Dl|0,c|0,u|0),{h:d,l:f}=Un(this.Eh|0,this.El|0,d|0,f|0),{h:m,l:h}=Un(this.Fh|0,this.Fl|0,m|0,h|0),{h:b,l:y}=Un(this.Gh|0,this.Gl|0,b|0,y|0),{h:S,l:x}=Un(this.Hh|0,this.Hl|0,S|0,x|0),this.set(r,o,n,i,s,a,c,u,d,f,m,h,b,y,S,x)}roundClean(){Er(Ti,$i)}destroy(){Er(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}class iZ extends oZ{Ah=Ht[0]|0;Al=Ht[1]|0;Bh=Ht[2]|0;Bl=Ht[3]|0;Ch=Ht[4]|0;Cl=Ht[5]|0;Dh=Ht[6]|0;Dl=Ht[7]|0;Eh=Ht[8]|0;El=Ht[9]|0;Fh=Ht[10]|0;Fl=Ht[11]|0;Gh=Ht[12]|0;Gl=Ht[13]|0;Hh=Ht[14]|0;Hl=Ht[15]|0;constructor(){super(48)}}var Sg=Ac(()=>new rZ,xi(1));var sZ=Ac(()=>new iZ,xi(2));/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var yse=BigInt(1),aZ=BigInt(2),bse=BigInt(3),Sse=BigInt(5),tRe=BigInt(8),cZ=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed");function vse(e){let t=BigInt(10),r=BigInt(20),o=BigInt(40),n=BigInt(80),i=cZ,a=e*e%i*e%i,c=Wr(a,aZ,i)*a%i,u=Wr(c,yse,i)*e%i,d=Wr(u,Sse,i)*u%i,f=Wr(d,t,i)*d%i,m=Wr(f,r,i)*f%i,h=Wr(m,o,i)*m%i,b=Wr(h,n,i)*h%i,y=Wr(b,n,i)*h%i,S=Wr(y,t,i)*d%i;return{pow_p_5_8:Wr(S,aZ,i)*e%i,b2:a}}function wse(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var lZ=(()=>{let e=cZ;return Dj({P:e,type:"x25519",powPminus2:(t)=>{let{pow_p_5_8:r,b2:o}=vse(t);return hr(Wr(r,bse,e)*o,e)},adjustScalarBytes:wse})})();/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var xse=(()=>({p:BigInt("0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff"),n:BigInt("0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551"),h:BigInt(1),a:BigInt("0xffffffff00000001000000000000000000000000fffffffffffffffffffffffc"),b:BigInt("0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b"),Gx:BigInt("0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296"),Gy:BigInt("0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5")}))(),_se=(()=>({p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff"),n:BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973"),h:BigInt(1),a:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc"),b:BigInt("0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef"),Gx:BigInt("0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7"),Gy:BigInt("0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f")}))();var Ese=Uk(xse),Jk=qk(Ese,Sg);var Ise=Uk(_se),uZ=qk(Ise,sZ);function fZ(e,t,r){if(Vr(e),r===void 0)r=new Uint8Array(e.outputLen);return Oc(e,r,t)}var Kk=Uint8Array.of(0),dZ=Uint8Array.of();function pZ(e,t,r,o=32){Vr(e),Bt(o,"length");let n=e.outputLen;if(o>255*n)throw Error("Length must be <= 255*HashLen");let i=Math.ceil(o/n);if(r===void 0)r=dZ;else Te(r,void 0,"info");let s=new Uint8Array(i*n),a=Oc.create(e,t),c=a._cloneInto(),u=new Uint8Array(a.outputLen);for(let d=0;d<i;d++)Kk[0]=d+1,c.update(d===0?dZ:u).update(r).update(Kk).digestInto(u),s.set(u,n*d),a._cloneInto(c);return a.destroy(),c.destroy(),Er(u,Kk),s.slice(0,o)}var kse=BigInt(0),xd=BigInt(1),Ase=BigInt(2),Tse=BigInt(7),$se=BigInt(256),Rse=BigInt(113),gZ=[],yZ=[],bZ=[];for(let e=0,t=xd,r=1,o=0;e<24;e++){[r,o]=[o,(2*r+3*o)%5],gZ.push(2*(5*o+r)),yZ.push((e+1)*(e+2)/2%64);let n=kse;for(let i=0;i<7;i++)if(t=(t<<xd^(t>>Tse)*Rse)%$se,t&Ase)n^=xd<<(xd<<BigInt(i))-xd;bZ.push(n)}var SZ=bg(bZ,!0),Ose=SZ[0],Cse=SZ[1],mZ=(e,t,r)=>r>32?Hj(e,t,r):Jj(e,t,r),hZ=(e,t,r)=>r>32?Vj(e,t,r):Kj(e,t,r);function Pse(e,t=24){let r=new Uint32Array(10);for(let o=24-t;o<24;o++){for(let s=0;s<10;s++)r[s]=e[s]^e[s+10]^e[s+20]^e[s+30]^e[s+40];for(let s=0;s<10;s+=2){let a=(s+8)%10,c=(s+2)%10,u=r[c],d=r[c+1],f=mZ(u,d,1)^r[a],m=hZ(u,d,1)^r[a+1];for(let h=0;h<50;h+=10)e[s+h]^=f,e[s+h+1]^=m}let n=e[2],i=e[3];for(let s=0;s<24;s++){let a=yZ[s],c=mZ(n,i,a),u=hZ(n,i,a),d=gZ[s];n=e[d],i=e[d+1],e[d]=c,e[d+1]=u}for(let s=0;s<50;s+=10){for(let a=0;a<10;a++)r[a]=e[s+a];for(let a=0;a<10;a++)e[s+a]^=~r[(a+2)%10]&r[(a+4)%10]}e[0]^=Ose[o],e[1]^=Cse[o]}Er(r)}class vg{state;pos=0;posOut=0;finished=!1;state32;destroyed=!1;blockLen;suffix;outputLen;enableXOF=!1;rounds;constructor(e,t,r,o=!1,n=24){if(this.blockLen=e,this.suffix=t,this.outputLen=r,this.enableXOF=o,this.rounds=n,Bt(r,"outputLen"),!(0<e&&e<200))throw Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=cg(this.state)}clone(){return this._cloneInto()}keccak(){Ik(this.state32),Pse(this.state32,this.rounds),Ik(this.state32),this.posOut=0,this.pos=0}update(e){xo(this),Te(e);let{blockLen:t,state:r}=this,o=e.length;for(let n=0;n<o;){let i=Math.min(t-this.pos,o-n);for(let s=0;s<i;s++)r[this.pos++]^=e[n++];if(this.pos===t)this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:e,suffix:t,pos:r,blockLen:o}=this;if(e[r]^=t,(t&128)!==0&&r===o-1)this.keccak();e[o-1]^=128,this.keccak()}writeInto(e){xo(this,!1),Te(e),this.finish();let t=this.state,{blockLen:r}=this;for(let o=0,n=e.length;o<n;){if(this.posOut>=r)this.keccak();let i=Math.min(r-this.posOut,n-o);e.set(t.subarray(this.posOut,this.posOut+i),o),this.posOut+=i,o+=i}return e}xofInto(e){if(!this.enableXOF)throw Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return Bt(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(ag(e,this),this.finished)throw Error("digest() was already called");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,Er(this.state)}_cloneInto(e){let{blockLen:t,suffix:r,outputLen:o,rounds:n,enableXOF:i}=this;return e||=new vg(t,r,o,i,n),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=n,e.suffix=r,e.outputLen=o,e.enableXOF=i,e.destroyed=this.destroyed,e}}var vZ=(e,t,r,o={})=>Ac(()=>new vg(t,e,r),o);var Ls=vZ(6,136,32,xi(8));var wZ=vZ(6,72,64,xi(10));var xZ=(e,t,r,o={})=>Ac((n={})=>new vg(t,e,n.dkLen===void 0?r:n.dkLen,!0),o),_Z=xZ(31,168,16,xi(11)),qn=xZ(31,136,32,xi(12));function Hk(e){if(!Number.isSafeInteger(e)||e<0||e>4294967295)throw Error("wrong u32 integer:"+e);return e}function IZ(e){return Hk(e),(e&e-1)===0&&e!==0}function Vk(e,t){Hk(e);let r=0;for(let o=0;o<t;o++,e>>>=1)r=r<<1|e&1;return r}function kZ(e){return Hk(e),31-Math.clz32(e)}function EZ(e){let t=e.length;if(t<2||!IZ(t))throw Error("n must be a power of 2 and greater than 1. Got "+t);let r=kZ(t);for(let o=0;o<t;o++){let n=Vk(o,r);if(o<n){let i=e[o];e[o]=e[n],e[n]=i}}return e}var Wk=(e,t)=>{let{N:r,roots:o,dit:n,invertButterflies:i=!1,skipStages:s=0,brp:a=!0}=t,c=kZ(r);if(!IZ(r))throw Error("FFT: Polynomial size should be power of two");let u=n!==i;return(d)=>{if(d.length!==r)throw Error("FFT: wrong Polynomial length");if(n&&a)EZ(d);for(let f=0,m=1;f<c-s;f++){let h=n?f+1+s:c-f,b=1<<h,y=b>>1,S=r>>h;for(let x=0;x<r;x+=b)for(let _=0,A=m++;_<y;_++){let O=i?n?r-A:A:_*S,L=x+_,z=x+_+y,K=o[O],P=d[z],W=d[L];if(u){let ee=e.mul(P,K);d[L]=e.add(W,ee),d[z]=e.sub(W,ee)}else if(i)d[L]=e.add(P,W),d[z]=e.mul(e.sub(P,W),K);else d[L]=e.add(W,P),d[z]=e.mul(e.sub(W,P),K)}}if(!n&&a)EZ(d);return d}};/*! noble-post-quantum - MIT License (c) 2024 Paul Miller (paulmillr.com) */var Mn=wi;function wg(e,t){if(e.length!==t.length)return!1;let r=0;for(let o=0;o<e.length;o++)r|=e[o]^t[o];return r===0}function AZ(e){return Uint8Array.from(e)}function Bs(e,...t){let r=(n)=>typeof n==="number"?n:n.bytesLen,o=t.reduce((n,i)=>n+r(i),0);return{bytesLen:o,encode:(n)=>{let i=new Uint8Array(o);for(let s=0,a=0;s<t.length;s++){let c=t[s],u=r(c),d=typeof c==="number"?n[s]:c.encode(n[s]);if(Te(d,u,e),i.set(d,a),typeof c!=="number")d.fill(0);a+=u}return i},decode:(n)=>{Te(n,o,e);let i=[];for(let s of t){let a=r(s),c=n.subarray(0,a);i.push(typeof s==="number"?c:s.decode(c)),n=n.subarray(a)}return i}}}function xg(e,t){let r=t*e.bytesLen;return{bytesLen:r,encode:(o)=>{if(o.length!==t)throw Error(`vecCoder.encode: wrong length=${o.length}. Expected: ${t}`);let n=new Uint8Array(r);for(let i=0,s=0;i<o.length;i++){let a=e.encode(o[i]);n.set(a,s),a.fill(0),s+=a.length}return n},decode:(o)=>{Te(o,r);let n=[];for(let i=0;i<o.length;i+=e.bytesLen)n.push(e.decode(o.subarray(i,i+e.bytesLen)));return n}}}function Ct(...e){for(let t of e)if(Array.isArray(t))for(let r of t)r.fill(0);else t.fill(0)}function Gk(e){return(1<<e)-1}var gRe=Uint8Array.of();/*! noble-post-quantum - MIT License (c) 2024 Paul Miller (paulmillr.com) */var TZ=(e)=>{let{newPoly:t,N:r,Q:o,F:n,ROOT_OF_UNITY:i,brvBits:s,isKyber:a}=e,c=(_,A=o)=>{let O=_%A|0;return(O>=0?O|0:A+O|0)|0},u=(_,A=o)=>{let O=c(_,A)|0;return(O>A>>1?O-A|0:O)|0};function d(){let _=t(r);for(let A=0;A<r;A++){let O=Vk(A,s),L=BigInt(i)**BigInt(O)%BigInt(o);_[A]=Number(L)|0}return _}let f=d(),m={add:(_,A)=>c((_|0)+(A|0))|0,sub:(_,A)=>c((_|0)-(A|0))|0,mul:(_,A)=>c((_|0)*(A|0))|0,inv:(_)=>{throw Error("not implemented")}},h={N:r,roots:f,invertButterflies:!0,skipStages:a?1:0,brp:!1},b=Wk(m,{dit:!1,...h}),y=Wk(m,{dit:!0,...h});return{mod:c,smod:u,nttZetas:f,NTT:{encode:(_)=>b(_),decode:(_)=>{y(_);for(let A=0;A<_.length;A++)_[A]=c(n*_[A]);return _}},bitsCoder:(_,A)=>{let O=Gk(_),L=_*(r/8);return{bytesLen:L,encode:(z)=>{let K=new Uint8Array(L);for(let P=0,W=0,ee=0,j=0;P<z.length;P++){W|=(A.encode(z[P])&O)<<ee,ee+=_;for(;ee>=8;ee-=8,W>>=8)K[j++]=W&Gk(ee)}return K},decode:(z)=>{let K=t(r);for(let P=0,W=0,ee=0,j=0;P<z.length;P++){W|=z[P]<<ee,ee+=8;for(;ee>=_;ee-=_,W>>=_)K[j++]=A.decode(W&O)}return K}}}}},zse=(e)=>(t,r)=>{if(!r)r=e.blockLen;let o=new Uint8Array(t.length+2);o.set(t);let n=t.length,i=new Uint8Array(r),s=e.create({}),a=0,c=0;return{stats:()=>({calls:a,xofs:c}),get:(u,d)=>(o[n+0]=u,o[n+1]=d,s.destroy(),s=e.create({}).update(o),a++,()=>(c++,s.xofInto(i))),clean:()=>{s.destroy(),Ct(i,o)}}},$Z=zse(_Z);/*! noble-post-quantum - MIT License (c) 2024 Paul Miller (paulmillr.com) */var nr=256,Io=3329,Nse=3303,Dse=17,{mod:Id,nttZetas:Lse,NTT:js,bitsCoder:Bse}=TZ({N:nr,Q:Io,F:Nse,ROOT_OF_UNITY:Dse,newPoly:(e)=>new Uint16Array(e),brvBits:7,isKyber:!0}),Qk={512:{N:nr,Q:Io,K:2,ETA1:3,ETA2:2,du:10,dv:4,RBGstrength:128},768:{N:nr,Q:Io,K:3,ETA1:2,ETA2:2,du:10,dv:4,RBGstrength:192},1024:{N:nr,Q:Io,K:4,ETA1:2,ETA2:2,du:11,dv:5,RBGstrength:256}},jse=(e)=>{if(e>=12)return{encode:(r)=>r,decode:(r)=>r};let t=2**(e-1);return{encode:(r)=>((r<<e)+Io/2)/Io,decode:(r)=>r*Io+t>>>e}},_d=(e)=>Bse(e,jse(e));function Zs(e,t){for(let r=0;r<nr;r++)e[r]=Id(e[r]+t[r])}function Zse(e,t){for(let r=0;r<nr;r++)e[r]=Id(e[r]-t[r])}function Use(e,t,r,o,n){let i=Id(t*o*n+e*r),s=Id(e*o+t*r);return{c0:i,c1:s}}function _g(e,t){for(let r=0;r<nr/2;r++){let o=Lse[64+(r>>1)];if(r&1)o=-o;let{c0:n,c1:i}=Use(e[2*r+0],e[2*r+1],t[2*r+0],t[2*r+1],o);e[2*r+0]=n,e[2*r+1]=i}return e}function RZ(e){let t=new Uint16Array(nr);for(let r=0;r<nr;){let o=e();if(o.length%3)throw Error("SampleNTT: unaligned block");for(let n=0;r<nr&&n+3<=o.length;n+=3){let i=(o[n+0]>>0|o[n+1]<<8)&4095,s=(o[n+1]>>4|o[n+2]<<4)&4095;if(i<Io)t[r++]=i;if(r<nr&&s<Io)t[r++]=s}}return t}function Ed(e,t,r,o){let n=e(o*nr/4,t,r),i=new Uint16Array(nr),s=cg(n),a=0;for(let c=0,u=0,d=0,f=0;c<s.length;c++){let m=s[c];for(let h=0;h<32;h++)if(d+=m&1,m>>=1,a+=1,a===o)f=d,d=0;else if(a===2*o)i[u++]=Id(f-d),d=0,a=0}if(a)throw Error(`sampleCBD: leftover bits: ${a}`);return i}var qse=(e)=>{let{K:t,PRF:r,XOF:o,HASH512:n,ETA1:i,ETA2:s,du:a,dv:c}=e,u=_d(1),d=_d(c),f=_d(a),m=Bs("publicKey",xg(_d(12),t),32),h=xg(_d(12),t),b=Bs("ciphertext",xg(f,t),d),y=Bs("seed",32,32);return{secretCoder:h,lengths:{secretKey:h.bytesLen,publicKey:m.bytesLen,cipherText:b.bytesLen},keygen:(S)=>{Te(S,32,"seed");let x=new Uint8Array(33);x.set(S),x[32]=t;let _=n(x),[A,O]=y.decode(_),L=[],z=[];for(let W=0;W<t;W++)L.push(js.encode(Ed(r,O,W,i)));let K=o(A);for(let W=0;W<t;W++){let ee=js.encode(Ed(r,O,t+W,i));for(let j=0;j<t;j++){let R=RZ(K.get(j,W));Zs(ee,_g(R,L[j]))}z.push(ee)}K.clean();let P={publicKey:m.encode([z,A]),secretKey:h.encode(L)};return Ct(A,O,L,z,x,_),P},encrypt:(S,x,_)=>{let[A,O]=m.decode(S),L=[];for(let j=0;j<t;j++)L.push(js.encode(Ed(r,_,j,i)));let z=o(O),K=new Uint16Array(nr),P=[];for(let j=0;j<t;j++){let R=Ed(r,_,t+j,s),B=new Uint16Array(nr);for(let I=0;I<t;I++){let T=RZ(z.get(j,I));Zs(B,_g(T,L[I]))}Zs(R,js.decode(B)),P.push(R),Zs(K,_g(A[j],L[j])),Ct(B)}z.clean();let W=Ed(r,_,2*t,s);Zs(W,js.decode(K));let ee=u.decode(x);return Zs(ee,W),Ct(A,L,K,W),b.encode([P,ee])},decrypt:(S,x)=>{let[_,A]=b.decode(S),O=h.decode(x),L=new Uint16Array(nr);for(let z=0;z<t;z++)Zs(L,_g(O[z],js.encode(_[z])));return Zse(A,js.decode(L)),Ct(L,O,_),u.encode(A)}}};function Yk(e){let t=qse(e),{HASH256:r,HASH512:o,KDF:n}=e,{secretCoder:i,lengths:s}=t,a=Bs("secretKey",s.secretKey,s.publicKey,32,32),c=32,u=64;return{info:{type:"ml-kem"},lengths:{...s,seed:64,msg:32,msgRand:32,secretKey:a.bytesLen},keygen:(d=Mn(64))=>{Te(d,64,"seed");let{publicKey:f,secretKey:m}=t.keygen(d.subarray(0,32)),h=r(f),b=a.encode([m,f,h,d.subarray(32)]);return Ct(m,h),{publicKey:f,secretKey:b}},getPublicKey:(d)=>{let[f,m,h,b]=a.decode(d);return Uint8Array.from(m)},encapsulate:(d,f=Mn(32))=>{Te(d,s.publicKey,"publicKey"),Te(f,32,"message");let m=d.subarray(0,384*e.K),h=i.encode(i.decode(AZ(m)));if(!wg(h,m))throw Ct(h),Error("ML-KEM.encapsulate: wrong publicKey modulus");Ct(h);let b=o.create().update(f).update(r(d)).digest(),y=t.encrypt(d,f,b.subarray(32,64));return Ct(b.subarray(32)),{cipherText:y,sharedSecret:b.subarray(0,32)}},decapsulate:(d,f)=>{Te(f,a.bytesLen,"secretKey"),Te(d,s.cipherText,"cipherText");let m=a.bytesLen-96,h=m+32,b=r(f.subarray(m/2,h));if(!wg(b,f.subarray(h,h+32)))throw Error("invalid secretKey: hash check failed");let[y,S,x,_]=a.decode(f),A=t.decrypt(d,y),O=o.create().update(A).update(x).digest(),L=O.subarray(0,32),z=t.encrypt(S,A,O.subarray(32,64)),K=wg(d,z),P=n.create({dkLen:32}).update(_).update(d).digest();return Ct(A,z,!K?L:P),K?L:P}}}function Mse(e,t,r){return qn.create({dkLen:e}).update(t).update(new Uint8Array([r])).digest()}var Xk={HASH256:Ls,HASH512:wZ,KDF:qn,XOF:$Z,PRF:Mse},ARe=Yk({...Xk,...Qk[512]}),kd=Yk({...Xk,...Qk[768]}),OZ=Yk({...Xk,...Qk[1024]});/*! noble-post-quantum - MIT License (c) 2024 Paul Miller (paulmillr.com) */function Fse(e,t=!1){let{lengths:r,keygen:o}=e;if(t){let i=e.Point.Fn;if(!i)throw Error("No Point.Fn");o=(s=Mn(r.seed))=>{Te(s,r.seed,"seed");let a=i.isLE?Ei(s):_i(s),c=i.toBytes(i.create(a));return{secretKey:c,publicKey:e.getPublicKey(c)}}}return{lengths:{secretKey:r.secretKey,publicKey:r.publicKey,seed:r.seed},keygen:o,getPublicKey:(n)=>e.getPublicKey(n)}}function eA(e,t=!1){let r=Fse(e,t);if(!e.getSharedSecret)throw Error("wrong curve");return{lengths:{...r.lengths,msg:r.lengths.seed,cipherText:r.lengths.publicKey},keygen:r.keygen,getPublicKey:r.getPublicKey,encapsulate(o,n=Mn(e.lengths.seed)){let i=this.keygen(n).secretKey,s=this.decapsulate(o,i),a=e.getPublicKey(i);return Ct(i),{sharedSecret:s,cipherText:a}},decapsulate(o,n){let i=e.getSharedSecret(n,o);return e.lengths.publicKeyHasPrefix?i.subarray(1):i}}}function Ad(e,t){return Bs(t,...e.map((r)=>{if(typeof r.lengths[t]!=="number")throw Error("wrong length: "+t);return r.lengths[t]}))}function tA(e){return(t,r)=>e(t,{dkLen:r})}function Jse(e,t,...r){let o=Ad(r,"seed"),n=Ad(r,"publicKey");if(e===void 0)e=o.bytesLen;Bt(e);function i(s){Te(s,e);let a=o.decode(t(s,o.bytesLen)),c=r.map((f,m)=>f.keygen(a[m])),u=c.map((f)=>f.secretKey),d=c.map((f)=>f.publicKey);return{secretKey:u,publicKey:d}}return{info:{lengths:{seed:e,publicKey:n.bytesLen,secretKey:e}},getPublicKey(s){return this.keygen(s).publicKey},keygen(s=Mn(e)){let{publicKey:a,secretKey:c}=i(s),u=n.encode(a);return Ct(a),Ct(c),{secretKey:s,publicKey:u}},expandDecapsulationKey:i,realSeedLen:e}}function Eg(e,t,r,o,...n){let i=Jse(e,r,...n),s=Ad(n,"cipherText"),a=Ad(n,"publicKey"),c=Ad(n,"msg");if(t===void 0)t=c.bytesLen;return Bt(t),{lengths:{...i.info.lengths,msg:t,msgRand:c.bytesLen,cipherText:s.bytesLen},getPublicKey:i.getPublicKey,keygen:i.keygen,encapsulate(u,d=Mn(c.bytesLen)){let f=a.decode(u),m=c.decode(d),h=n.map((x,_)=>x.encapsulate(f[_],m[_])),b=h.map((x)=>x.sharedSecret),y=h.map((x)=>x.cipherText),S={sharedSecret:o(f,y,b),cipherText:s.encode(y)};return Ct(b,y),S},decapsulate(u,d){let f=s.decode(u),{publicKey:m,secretKey:h}=i.expandDecapsulationKey(d),b=n.map((y,S)=>y.decapsulate(f[S],h[S]));return o(m,f,b)}}}function CZ(e,t,r,o,n){return Vr(o),Vr(n),Eg(32,32,tA(o),(i,s,a)=>n(It(a[0],a[1],s[1],i[1],Ii(e))),t,r)}var BRe=CZ("QSF-KEM(ML-KEM-768,P-256)-XOF(SHAKE256)-KDF(SHA3-256)",kd,eA(Jk,!0),qn,Ls),jRe=CZ("QSF-KEM(ML-KEM-1024,P-384)-XOF(SHAKE256)-KDF(SHA3-256)",OZ,eA(uZ,!0),qn,Ls);function Kse(e,t,r,o,n){return Vr(o),Vr(n),Eg(32,32,tA(o),(i,s,a)=>{let c=It(a[0],a[1],s[0],i[0],s[1],i[1],Ii(e)),u=32,d=It(Ii("hybrid_prk"),c),f=fZ(n,d),m=It(Tc(32,2),Ii("shared_secret"),Ii("")),h=pZ(n,f,m,32);return Ct(f,m,d,c),h},t,r)}var PZ=eA(lZ),ZRe=Kse("KitchenSink-KEM(ML-KEM-768,X25519)-XOF(SHAKE256)-KDF(HKDF-SHA-256)",kd,PZ,qn,Sg),Hse=(()=>Eg(32,32,tA(qn),(e,t,r)=>Ls(It(r[0],r[1],t[1],e[1],Ii("\\.//^\\"))),kd,PZ))();function Vse(e,t,r,o){let n=e.Point.Fn;if(!n)throw Error("no Point.Fn");function i(s){let a;for(let d=0,f=t;;d=f,f+=t){if(f>s.length)throw Error("rejection sampling failed");if(a=n.fromBytes(s.subarray(d,f),!0),n.isValidNot0(a))break}let c=n.toBytes(n.create(a)),u=e.getPublicKey(c,!1);return{secretKey:c,publicKey:u}}return{lengths:{secretKey:t,publicKey:r,seed:o,msg:o,cipherText:r},keygen(s=Mn(o)){return Te(s,o,"seed"),i(s)},getPublicKey(s){return e.getPublicKey(s,!1)},encapsulate(s,a=Mn(o)){Te(a,o,"rand");let{secretKey:c}=i(a),u=this.decapsulate(s,c),d=e.getPublicKey(c,!1);return Ct(c),{sharedSecret:u,cipherText:d}},decapsulate(s,a){return e.getSharedSecret(a,s).subarray(1)}}}function Wse(e,t,r,o){let{secretKey:n,publicKeyUncompressed:i}=r.lengths;if(!n||!i)throw Error("wrong curve");let s=Vse(r,n,i,o),a=64,c=a+o;return Eg(32,32,(u)=>{Te(u,32);let d=qn(u,{dkLen:c}),f=d.subarray(0,a),m=d.subarray(a,c);return It(f,m)},(u,d,f)=>Ls(It(f[0],f[1],d[1],u[1],Ii(e))),t,s)}var Gse=(()=>Wse("MLKEM768-P256",kd,Jk,128))();var Ig=Hse,zZ=Gse;/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var et=(e,t,r)=>Ft(e,t,r),nA=vt,Pc=Wh,Vt=(...e)=>sk(...e),zc=(e)=>od(e),Nc=nk,Dc=(e)=>bo(e),Ag=BigInt(0),rA=BigInt(1);function ko(e,t=""){if(typeof e!=="boolean"){let r=t&&`"${t}" `;throw TypeError(r+"expected boolean, got type="+typeof e)}return e}function Tg(e){if(typeof e==="bigint"){if(!kg(e))throw RangeError("positive bigint expected, got "+e)}else nA(e);return e}function Fn(e,t=""){if(typeof e!=="number"){let r=t&&`"${t}" `;throw TypeError(r+"expected number, got type="+typeof e)}if(!Number.isSafeInteger(e)){let r=t&&`"${t}" `;throw RangeError(r+"expected safe integer, got "+e)}}function Td(e){let t=Tg(e).toString(16);return t.length&1?"0"+t:t}function NZ(e){if(typeof e!=="string")throw TypeError("hex string expected, got "+typeof e);return e===""?Ag:BigInt("0x"+e)}function Us(e){return NZ(Wh(e))}function mn(e){return NZ(Wh(Ri(Ft(e)).reverse()))}function $g(e,t){if(vt(t),t===0)throw RangeError("zero length");e=Tg(e);let r=e.toString(16);if(r.length>t*2)throw RangeError("number too large");return od(r.padStart(t*2,"0"))}function $d(e,t){return $g(e,t).reverse()}function DZ(e,t){if(e=et(e),t=et(t),e.length!==t.length)return!1;let r=0;for(let o=0;o<e.length;o++)r|=e[o]^t[o];return r===0}function Ri(e){return Uint8Array.from(et(e))}function Rg(e){if(typeof e!=="string")throw TypeError("ascii string expected, got "+typeof e);return Uint8Array.from(e,(t,r)=>{let o=t.charCodeAt(0);if(t.length!==1||o>127)throw RangeError(`string contains non-ASCII character "${e[r]}" with code ${o} at position ${r}`);return o})}var kg=(e)=>typeof e==="bigint"&&Ag<=e;function Qse(e,t,r){return kg(e)&&kg(t)&&kg(r)&&t<=e&&e<r}function Ao(e,t,r,o){if(!Qse(t,r,o))throw RangeError("expected valid "+e+": "+r+" <= n < "+o+", got "+t)}function Lc(e){if(e<Ag)throw Error("expected non-negative bigint, got "+e);let t;for(t=0;e>Ag;e>>=rA,t+=1);return t}var Rd=(e)=>(rA<<BigInt(e))-rA;function LZ(e,t,r){if(vt(e,"hashLen"),vt(t,"qByteLen"),typeof r!=="function")throw TypeError("hmacFn must be a function");let o=(S)=>new Uint8Array(S),n=Uint8Array.of(),i=Uint8Array.of(0),s=Uint8Array.of(1),a=1000,c=o(e),u=o(e),d=0,f=()=>{c.fill(1),u.fill(0),d=0},m=(...S)=>r(u,Vt(c,...S)),h=(S=n)=>{if(u=m(i,S),c=m(),S.length===0)return;u=m(s,S),c=m()},b=()=>{if(d++>=a)throw Error("drbg: tried max amount of iterations");let S=0,x=[];while(S<t){c=m();let _=c.slice();x.push(_),S+=c.length}return Vt(...x)};return(S,x)=>{f(),h(S);let _=void 0;while((_=x(b()))===void 0)h();return f(),_}}function Gr(e,t={},r={}){if(Object.prototype.toString.call(e)!=="[object Object]")throw TypeError("expected valid options object");function o(i,s,a){if(!a&&s!=="function"&&!Object.hasOwn(e,i))throw TypeError(`param "${i}" is invalid: expected own property`);let c=e[i];if(a&&c===void 0)return;let u=typeof c;if(u!==s||c===null)throw TypeError(`param "${i}" is invalid: expected ${s}, got ${u}`)}let n=(i,s)=>Object.entries(i).forEach(([a,c])=>o(a,c,s));n(t,!1),n(r,!0)}var oA=()=>{throw Error("not implemented")};/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var Wt=BigInt(0),gt=BigInt(1),qs=BigInt(2),UZ=BigInt(3),qZ=BigInt(4),MZ=BigInt(5),Yse=BigInt(7),FZ=BigInt(8),Xse=BigInt(9),JZ=BigInt(16);function it(e,t){if(t<=Wt)throw Error("mod: expected positive modulus, got "+t);let r=e%t;return r>=Wt?r:t+r}function Qr(e,t,r){if(t<Wt)throw Error("pow2: expected non-negative exponent, got "+t);let o=e;while(t-- >Wt)o*=o,o%=r;return o}function BZ(e,t){if(e===Wt)throw Error("invert: expected non-zero number");if(t<=Wt)throw Error("invert: expected positive modulus, got "+t);let r=it(e,t),o=t,n=Wt,i=gt,s=gt,a=Wt;while(r!==Wt){let u=o/r,d=o-r*u,f=n-s*u,m=i-a*u;o=r,r=d,n=s,i=a,s=f,a=m}if(o!==gt)throw Error("invert: does not exist");return it(n,t)}function iA(e,t,r){let o=e;if(!o.eql(o.sqr(t),r))throw Error("Cannot find square root")}function KZ(e,t){let r=e,o=(r.ORDER+gt)/qZ,n=r.pow(t,o);return iA(r,n,t),n}function eae(e,t){let r=e,o=(r.ORDER-MZ)/FZ,n=r.mul(t,qs),i=r.pow(n,o),s=r.mul(t,i),a=r.mul(r.mul(s,qs),i),c=r.mul(s,r.sub(a,r.ONE));return iA(r,c,t),c}function tae(e){let t=Og(e),r=HZ(e),o=r(t,t.neg(t.ONE)),n=r(t,o),i=r(t,t.neg(o)),s=(e+Yse)/JZ;return(a,c)=>{let u=a,d=u.pow(c,s),f=u.mul(d,o),m=u.mul(d,n),h=u.mul(d,i),b=u.eql(u.sqr(f),c),y=u.eql(u.sqr(m),c);d=u.cmov(d,f,b),f=u.cmov(h,m,y);let S=u.eql(u.sqr(f),c),x=u.cmov(d,f,S);return iA(u,x,c),x}}function HZ(e){if(e<UZ)throw Error("sqrt is not defined for small field");let t=e-gt,r=0;while(t%qs===Wt)t/=qs,r++;let o=qs,n=Og(e);while(jZ(n,o)===1)if(o++>1000)throw Error("Cannot find square root: probably non-prime P");if(r===1)return KZ;let i=n.pow(o,t),s=(t+gt)/qs;return function(c,u){let d=c;if(d.is0(u))return u;if(jZ(d,u)!==1)throw Error("Cannot find square root");let f=r,m=d.mul(d.ONE,i),h=d.pow(u,t),b=d.pow(u,s);while(!d.eql(h,d.ONE)){if(d.is0(h))return d.ZERO;let y=1,S=d.sqr(h);while(!d.eql(S,d.ONE))if(y++,S=d.sqr(S),y===f)throw Error("Cannot find square root");let x=gt<<BigInt(f-y-1),_=d.pow(m,x);f=y,m=d.sqr(_),h=d.mul(h,m),b=d.mul(b,_)}return b}}function rae(e){if(e%qZ===UZ)return KZ;if(e%FZ===MZ)return eae;if(e%JZ===Xse)return tae(e);return HZ(e)}var To=(e,t)=>(it(e,t)&gt)===gt,nae=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function sA(e){let t={ORDER:"bigint",BYTES:"number",BITS:"number"},r=nae.reduce((o,n)=>(o[n]="function",o),t);if(Gr(e,r),Fn(e.BYTES,"BYTES"),Fn(e.BITS,"BITS"),e.BYTES<1||e.BITS<1)throw Error("invalid field: expected BYTES/BITS > 0");if(e.ORDER<=gt)throw Error("invalid field: expected ORDER > 1, got "+e.ORDER);return e}function oae(e,t,r){let o=e;if(r<Wt)throw Error("invalid exponent, negatives unsupported");if(r===Wt)return o.ONE;if(r===gt)return t;let n=o.ONE,i=t;while(r>Wt){if(r&gt)n=o.mul(n,i);i=o.sqr(i),r>>=gt}return n}function Od(e,t,r=!1){let o=e,n=Array(t.length).fill(r?o.ZERO:void 0),i=t.reduce((a,c,u)=>{if(o.is0(c))return a;return n[u]=a,o.mul(a,c)},o.ONE),s=o.inv(i);return t.reduceRight((a,c,u)=>{if(o.is0(c))return a;return n[u]=o.mul(a,n[u]),o.mul(a,c)},s),n}function jZ(e,t){let r=e,o=(r.ORDER-gt)/qs,n=r.pow(t,o),i=r.eql(n,r.ONE),s=r.eql(n,r.ZERO),a=r.eql(n,r.neg(r.ONE));if(!i&&!s&&!a)throw Error("invalid Legendre symbol result");return i?1:s?0:-1}function iae(e,t){if(t!==void 0)nA(t);if(e<=Wt)throw Error("invalid n length: expected positive n, got "+e);if(t!==void 0&&t<1)throw Error("invalid n length: expected positive bit length, got "+t);let r=Lc(e);if(t!==void 0&&t<r)throw Error(`invalid n length: expected bit length (${r}) >= n.length (${t})`);let o=t!==void 0?t:r,n=Math.ceil(o/8);return{nBitLength:o,nByteLength:n}}var ZZ=new WeakMap;class aA{ORDER;BITS;BYTES;isLE;ZERO=Wt;ONE=gt;_lengths;_mod;constructor(e,t={}){if(e<=gt)throw Error("invalid field: expected ORDER > 1, got "+e);let r=void 0;if(this.isLE=!1,t!=null&&typeof t==="object"){if(typeof t.BITS==="number")r=t.BITS;if(typeof t.sqrt==="function")Object.defineProperty(this,"sqrt",{value:t.sqrt,enumerable:!0});if(typeof t.isLE==="boolean")this.isLE=t.isLE;if(t.allowedLengths)this._lengths=Object.freeze(t.allowedLengths.slice());if(typeof t.modFromBytes==="boolean")this._mod=t.modFromBytes}let{nBitLength:o,nByteLength:n}=iae(e,r);if(n>2048)throw Error("invalid field: expected ORDER of <= 2048 bytes");this.ORDER=e,this.BITS=o,this.BYTES=n,Object.freeze(this)}create(e){return it(e,this.ORDER)}isValid(e){if(typeof e!=="bigint")throw TypeError("invalid field element: expected bigint, got "+typeof e);return Wt<=e&&e<this.ORDER}is0(e){return e===Wt}isValidNot0(e){return!this.is0(e)&&this.isValid(e)}isOdd(e){return(e&gt)===gt}neg(e){return it(-e,this.ORDER)}eql(e,t){return e===t}sqr(e){return it(e*e,this.ORDER)}add(e,t){return it(e+t,this.ORDER)}sub(e,t){return it(e-t,this.ORDER)}mul(e,t){return it(e*t,this.ORDER)}pow(e,t){return oae(this,e,t)}div(e,t){return it(e*BZ(t,this.ORDER),this.ORDER)}sqrN(e){return e*e}addN(e,t){return e+t}subN(e,t){return e-t}mulN(e,t){return e*t}inv(e){return BZ(e,this.ORDER)}sqrt(e){let t=ZZ.get(this);if(!t)ZZ.set(this,t=rae(this.ORDER));return t(this,e)}toBytes(e){return this.isLE?$d(e,this.BYTES):$g(e,this.BYTES)}fromBytes(e,t=!1){et(e);let{_lengths:r,BYTES:o,isLE:n,ORDER:i,_mod:s}=this;if(r){if(e.length<1||!r.includes(e.length)||e.length>o)throw Error("Field.fromBytes: expected "+r+" bytes, got "+e.length);let c=new Uint8Array(o);c.set(e,n?0:c.length-e.length),e=c}if(e.length!==o)throw Error("Field.fromBytes: expected "+o+" bytes, got "+e.length);let a=n?mn(e):Us(e);if(s)a=it(a,i);if(!t){if(!this.isValid(a))throw Error("invalid field element: outside of range 0..ORDER")}return a}invertBatch(e){return Od(this,e)}cmov(e,t,r){return ko(r,"condition"),r?t:e}}Object.freeze(aA.prototype);function Og(e,t={}){return new aA(e,t)}function VZ(e){if(typeof e!=="bigint")throw Error("field order must be bigint");if(e<=gt)throw Error("field order must be greater than 1");let t=Lc(e-gt);return Math.ceil(t/8)}function cA(e){let t=VZ(e);return t+Math.ceil(t/2)}function WZ(e,t,r=!1){et(e);let o=e.length,n=VZ(t),i=Math.max(cA(t),16);if(o<i||o>1024)throw Error("expected "+i+"-1024 bytes of input, got "+o);let s=r?mn(e):Us(e),a=it(s,t-gt)+gt;return r?$d(a,n):$g(a,n)}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var Bc=BigInt(0),Ms=BigInt(1);function Cd(e,t){let r=t.negate();return e?r:t}function Fs(e,t){let r=Od(e.Fp,t.map((o)=>o.Z));return t.map((o,n)=>e.fromAffine(o.toAffine(r[n])))}function XZ(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw Error("invalid window size, expected [1.."+t+"], got W="+e)}function lA(e,t){XZ(e,t);let r=Math.ceil(t/e)+1,o=2**(e-1),n=2**e,i=Rd(e),s=BigInt(e);return{windows:r,windowSize:o,mask:i,maxNumber:n,shiftBy:s}}function GZ(e,t,r){let{windowSize:o,mask:n,maxNumber:i,shiftBy:s}=r,a=Number(e&n),c=e>>s;if(a>o)a-=i,c+=Ms;let u=t*o,d=u+Math.abs(a)-1,f=a===0,m=a<0,h=t%2!==0;return{nextN:c,offset:d,isZero:f,isNeg:m,isNegF:h,offsetF:u}}var uA=new WeakMap,eU=new WeakMap;function dA(e){return eU.get(e)||1}function QZ(e){if(e!==Bc)throw Error("invalid wNAF")}class Pd{BASE;ZERO;Fn;bits;constructor(e,t){this.BASE=e.BASE,this.ZERO=e.ZERO,this.Fn=e.Fn,this.bits=t}_unsafeLadder(e,t,r=this.ZERO){let o=e;while(t>Bc){if(t&Ms)r=r.add(o);o=o.double(),t>>=Ms}return r}precomputeWindow(e,t){let{windows:r,windowSize:o}=lA(t,this.bits),n=[],i=e,s=i;for(let a=0;a<r;a++){s=i,n.push(s);for(let c=1;c<o;c++)s=s.add(i),n.push(s);i=s.double()}return n}wNAF(e,t,r){if(!this.Fn.isValid(r))throw Error("invalid scalar");let o=this.ZERO,n=this.BASE,i=lA(e,this.bits);for(let s=0;s<i.windows;s++){let{nextN:a,offset:c,isZero:u,isNeg:d,isNegF:f,offsetF:m}=GZ(r,s,i);if(r=a,u)n=n.add(Cd(f,t[m]));else o=o.add(Cd(d,t[c]))}return QZ(r),{p:o,f:n}}wNAFUnsafe(e,t,r,o=this.ZERO){let n=lA(e,this.bits);for(let i=0;i<n.windows;i++){if(r===Bc)break;let{nextN:s,offset:a,isZero:c,isNeg:u}=GZ(r,i,n);if(r=s,c)continue;else{let d=t[a];o=o.add(u?d.negate():d)}}return QZ(r),o}getPrecomputes(e,t,r){let o=uA.get(t);if(!o){if(o=this.precomputeWindow(t,e),e!==1){if(typeof r==="function")o=r(o);uA.set(t,o)}}return o}cached(e,t,r){let o=dA(e);return this.wNAF(o,this.getPrecomputes(o,e,r),t)}unsafe(e,t,r,o){let n=dA(e);if(n===1)return this._unsafeLadder(e,t,o);return this.wNAFUnsafe(n,this.getPrecomputes(n,e,r),t,o)}createCache(e,t){XZ(t,this.bits),eU.set(e,t),uA.delete(e)}hasCache(e){return dA(e)!==1}}function tU(e,t,r,o){let n=t,i=e.ZERO,s=e.ZERO;while(r>Bc||o>Bc){if(r&Ms)i=i.add(n);if(o&Ms)s=s.add(n);n=n.double(),r>>=Ms,o>>=Ms}return{p1:i,p2:s}}function YZ(e,t,r){if(t){if(t.ORDER!==e)throw Error("Field.ORDER must match order: Fp == p, Fn == n");return sA(t),t}else return Og(e,{isLE:r})}function Cg(e,t,r={},o){if(o===void 0)o=e==="edwards";if(!t||typeof t!=="object")throw Error(`expected valid ${e} CURVE object`);for(let c of["p","n","h"]){let u=t[c];if(!(typeof u==="bigint"&&u>Bc))throw Error(`CURVE.${c} must be positive bigint`)}let n=YZ(t.p,r.Fp,o),i=YZ(t.n,r.Fn,o),a=["Gx","Gy","a",e==="weierstrass"?"b":"d"];for(let c of a)if(!n.isValid(t[c]))throw Error(`CURVE.${c} must be valid field element of CURVE.Fp`);return t=Object.freeze(Object.assign({},t)),{CURVE:t,Fp:n,Fn:i}}function zd(e,t){return function(o){let n=e(o);return{secretKey:n,publicKey:t(n)}}}function Nd(e,t){if(Fn(e),Fn(t),t<0||t>4)throw Error("invalid I2OSP length: "+t);if(e<0||e>2**(8*t)-1)throw Error("invalid I2OSP input: "+e);let r=Array.from({length:t}).fill(0);for(let o=t-1;o>=0;o--)r[o]=e&255,e>>>=8;return new Uint8Array(r)}function sae(e,t){let r=new Uint8Array(e.length);for(let o=0;o<e.length;o++)r[o]=e[o]^t[o];return r}function aae(e){if(!Nc(e)&&typeof e!=="string")throw Error("DST must be Uint8Array or ascii string");let t=typeof e==="string"?Rg(e):e;if(t.length===0)throw Error("DST must be non-empty");return t}function fA(e,t,r,o){if(et(e),Fn(r),t=aae(t),t.length>255)t=o(Vt(Rg("H2C-OVERSIZE-DST-"),t));let{outputLen:n,blockLen:i}=o,s=Math.ceil(r/n);if(r>65535||s>255)throw Error("expand_message_xmd: invalid lenInBytes");let a=Vt(t,Nd(t.length,1)),c=new Uint8Array(i),u=Nd(r,2),d=Array(s),f=o(Vt(c,e,u,Nd(0,1),a));d[0]=o(Vt(f,Nd(1,1),a));for(let h=1;h<s;h++){let b=[sae(f,d[h-1]),Nd(h+1,1),a];d[h]=o(Vt(...b))}return Vt(...d).slice(0,r)}var rU="HashToScalar-";/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var nU=(e,t)=>(e+(e>=0?t:-t)/iU)/t;function cae(e,t,r){Ao("scalar",e,Jn,r);let[[o,n],[i,s]]=t,a=nU(s*e,r),c=nU(-n*e,r),u=e-a*o-c*i,d=-a*n-c*s,f=u<Jn,m=d<Jn;if(f)u=-u;if(m)d=-d;let h=Rd(Math.ceil(Lc(r)/2))+Oi;if(u<Jn||u>=h||d<Jn||d>=h)throw Error("splitScalar (endomorphism): failed for k");return{k1neg:f,k1:u,k2neg:m,k2:d}}function mA(e){if(!["compact","recovered","der"].includes(e))throw Error('Signature format must be "compact", "recovered", or "der"');return e}function pA(e,t){Gr(e);let r={};for(let o of Object.keys(t))r[o]=e[o]===void 0?t[o]:e[o];if(ko(r.lowS,"lowS"),ko(r.prehash,"prehash"),r.format!==void 0)mA(r.format);return r}class oU extends Error{constructor(e=""){super(e)}}var hn={Err:oU,_tlv:{encode:(e,t)=>{let{Err:r}=hn;if(Fn(e,"tag"),e<0||e>255)throw new r("tlv.encode: wrong tag");if(typeof t!=="string")throw TypeError('"data" expected string, got type='+typeof t);if(t.length&1)throw new r("tlv.encode: unpadded data");let o=t.length/2,n=Td(o);if(n.length/2&128)throw new r("tlv.encode: long form length too big");let i=o>127?Td(n.length/2|128):"";return Td(e)+i+n+t},decode(e,t){let{Err:r}=hn;t=et(t,void 0,"DER data");let o=0;if(e<0||e>255)throw new r("tlv.encode: wrong tag");if(t.length<2||t[o++]!==e)throw new r("tlv.decode: wrong tlv");let n=t[o++],i=!!(n&128),s=0;if(!i)s=n;else{let c=n&127;if(!c)throw new r("tlv.decode(long): indefinite length not supported");if(c>4)throw new r("tlv.decode(long): byte length is too big");let u=t.subarray(o,o+c);if(u.length!==c)throw new r("tlv.decode: length bytes not complete");if(u[0]===0)throw new r("tlv.decode(long): zero leftmost byte");for(let d of u)s=s<<8|d;if(o+=c,s<128)throw new r("tlv.decode(long): not minimal encoding")}let a=t.subarray(o,o+s);if(a.length!==s)throw new r("tlv.decode: wrong value length");return{v:a,l:t.subarray(o+s)}}},_int:{encode(e){let{Err:t}=hn;if(Tg(e),e<Jn)throw new t("integer: negative integers are not allowed");let r=Td(e);if(Number.parseInt(r[0],16)&8)r="00"+r;if(r.length&1)throw new t("unexpected DER parsing assertion: unpadded hex");return r},decode(e){let{Err:t}=hn;if(e.length<1)throw new t("invalid signature integer: empty");if(e[0]&128)throw new t("invalid signature integer: negative");if(e.length>1&&e[0]===0&&!(e[1]&128))throw new t("invalid signature integer: unnecessary leading zero");return Us(e)}},toSig(e){let{Err:t,_int:r,_tlv:o}=hn,n=et(e,void 0,"signature"),{v:i,l:s}=o.decode(48,n);if(s.length)throw new t("invalid signature: left bytes after parsing");let{v:a,l:c}=o.decode(2,i),{v:u,l:d}=o.decode(2,c);if(d.length)throw new t("invalid signature: left bytes after parsing");return{r:r.decode(a),s:r.decode(u)}},hexFromSig(e){let{_tlv:t,_int:r}=hn,o=t.encode(2,r.encode(e.r)),n=t.encode(2,r.encode(e.s)),i=o+n;return t.encode(48,i)}};Object.freeze(hn._tlv);Object.freeze(hn._int);Object.freeze(hn);var Jn=BigInt(0),Oi=BigInt(1),iU=BigInt(2),Pg=BigInt(3),lae=BigInt(4);function sU(e,t={}){let r=Cg("weierstrass",e,t),o=r.Fp,n=r.Fn,i=r.CURVE,{h:s,n:a}=i;Gr(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object"});let{endo:c,allowInfinityPoint:u}=t;if(c){if(!o.is0(i.a)||typeof c.beta!=="bigint"||!Array.isArray(c.basises))throw Error('invalid endo: expected "beta": bigint and "basises": array')}let d=cU(o,n);function f(){if(!o.isOdd)throw Error("compression is not supported: Field does not have .isOdd()")}function m(j,R,B){if(u&&R.is0())return Uint8Array.of(0);let{x:I,y:T}=R.toAffine(),k=o.toBytes(I);if(ko(B,"isCompressed"),B){f();let M=!o.isOdd(T);return Vt(aU(M),k)}else return Vt(Uint8Array.of(4),k,o.toBytes(T))}function h(j){et(j,void 0,"Point");let{publicKey:R,publicKeyUncompressed:B}=d,I=j.length,T=j[0],k=j.subarray(1);if(u&&I===1&&T===0)return{x:o.ZERO,y:o.ZERO};if(I===R&&(T===2||T===3)){let M=o.fromBytes(k);if(!o.isValid(M))throw Error("bad point: is not on curve, wrong x");let N=S(M),H;try{H=o.sqrt(N)}catch(ae){let pe=ae instanceof Error?": "+ae.message:"";throw Error("bad point: is not on curve, sqrt error"+pe)}f();let G=o.isOdd(H);if((T&1)===1!==G)H=o.neg(H);return{x:M,y:H}}else if(I===B&&T===4){let M=o.BYTES,N=o.fromBytes(k.subarray(0,M)),H=o.fromBytes(k.subarray(M,M*2));if(!x(N,H))throw Error("bad point: is not on curve");return{x:N,y:H}}else throw Error(`bad point: got length ${I}, expected compressed=${R} or uncompressed=${B}`)}let b=t.toBytes===void 0?m:t.toBytes,y=t.fromBytes===void 0?h:t.fromBytes;function S(j){let R=o.sqr(j),B=o.mul(R,j);return o.add(o.add(B,o.mul(j,i.a)),i.b)}function x(j,R){let B=o.sqr(R),I=S(j);return o.eql(B,I)}if(!x(i.Gx,i.Gy))throw Error("bad curve params: generator point");let _=o.mul(o.pow(i.a,Pg),lae),A=o.mul(o.sqr(i.b),BigInt(27));if(o.is0(o.add(_,A)))throw Error("bad curve params: a or b");function O(j,R,B=!1){if(!o.isValid(R)||B&&o.is0(R))throw Error(`bad point coordinate ${j}`);return R}function L(j){if(!(j instanceof P))throw Error("Weierstrass Point expected")}function z(j){if(!c||!c.basises)throw Error("no endo");return cae(j,c.basises,n.ORDER)}function K(j,R,B,I,T){return B=new P(o.mul(B.X,j),B.Y,B.Z),R=Cd(I,R),B=Cd(T,B),R.add(B)}class P{static BASE=new P(i.Gx,i.Gy,o.ONE);static ZERO=new P(o.ZERO,o.ONE,o.ZERO);static Fp=o;static Fn=n;X;Y;Z;constructor(j,R,B){this.X=O("x",j),this.Y=O("y",R,!0),this.Z=O("z",B),Object.freeze(this)}static CURVE(){return i}static fromAffine(j){let{x:R,y:B}=j||{};if(!j||!o.isValid(R)||!o.isValid(B))throw Error("invalid affine point");if(j instanceof P)throw Error("projective point not allowed");if(o.is0(R)&&o.is0(B))return P.ZERO;return new P(R,B,o.ONE)}static fromBytes(j){let R=P.fromAffine(y(et(j,void 0,"point")));return R.assertValidity(),R}static fromHex(j){return P.fromBytes(zc(j))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(j=8,R=!0){if(ee.createCache(this,j),!R)this.multiply(Pg);return this}assertValidity(){let j=this;if(j.is0()){if(t.allowInfinityPoint&&o.is0(j.X)&&o.eql(j.Y,o.ONE)&&o.is0(j.Z))return;throw Error("bad point: ZERO")}let{x:R,y:B}=j.toAffine();if(!o.isValid(R)||!o.isValid(B))throw Error("bad point: x or y not field elements");if(!x(R,B))throw Error("bad point: equation left != right");if(!j.isTorsionFree())throw Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:j}=this.toAffine();if(!o.isOdd)throw Error("Field doesn't support isOdd");return!o.isOdd(j)}equals(j){L(j);let{X:R,Y:B,Z:I}=this,{X:T,Y:k,Z:M}=j,N=o.eql(o.mul(R,M),o.mul(T,I)),H=o.eql(o.mul(B,M),o.mul(k,I));return N&&H}negate(){return new P(this.X,o.neg(this.Y),this.Z)}double(){let{a:j,b:R}=i,B=o.mul(R,Pg),{X:I,Y:T,Z:k}=this,M=o.ZERO,N=o.ZERO,H=o.ZERO,G=o.mul(I,I),re=o.mul(T,T),ae=o.mul(k,k),pe=o.mul(I,T);return pe=o.add(pe,pe),H=o.mul(I,k),H=o.add(H,H),M=o.mul(j,H),N=o.mul(B,ae),N=o.add(M,N),M=o.sub(re,N),N=o.add(re,N),N=o.mul(M,N),M=o.mul(pe,M),H=o.mul(B,H),ae=o.mul(j,ae),pe=o.sub(G,ae),pe=o.mul(j,pe),pe=o.add(pe,H),H=o.add(G,G),G=o.add(H,G),G=o.add(G,ae),G=o.mul(G,pe),N=o.add(N,G),ae=o.mul(T,k),ae=o.add(ae,ae),G=o.mul(ae,pe),M=o.sub(M,G),H=o.mul(ae,re),H=o.add(H,H),H=o.add(H,H),new P(M,N,H)}add(j){L(j);let{X:R,Y:B,Z:I}=this,{X:T,Y:k,Z:M}=j,N=o.ZERO,H=o.ZERO,G=o.ZERO,re=i.a,ae=o.mul(i.b,Pg),pe=o.mul(R,T),be=o.mul(B,k),ve=o.mul(I,M),ke=o.add(R,B),Ie=o.add(T,k);ke=o.mul(ke,Ie),Ie=o.add(pe,be),ke=o.sub(ke,Ie),Ie=o.add(R,I);let we=o.add(T,M);return Ie=o.mul(Ie,we),we=o.add(pe,ve),Ie=o.sub(Ie,we),we=o.add(B,I),N=o.add(k,M),we=o.mul(we,N),N=o.add(be,ve),we=o.sub(we,N),G=o.mul(re,Ie),N=o.mul(ae,ve),G=o.add(N,G),N=o.sub(be,G),G=o.add(be,G),H=o.mul(N,G),be=o.add(pe,pe),be=o.add(be,pe),ve=o.mul(re,ve),Ie=o.mul(ae,Ie),be=o.add(be,ve),ve=o.sub(pe,ve),ve=o.mul(re,ve),Ie=o.add(Ie,ve),pe=o.mul(be,Ie),H=o.add(H,pe),pe=o.mul(we,Ie),N=o.mul(ke,N),N=o.sub(N,pe),pe=o.mul(ke,be),G=o.mul(we,G),G=o.add(G,pe),new P(N,H,G)}subtract(j){return L(j),this.add(j.negate())}is0(){return this.equals(P.ZERO)}multiply(j){let{endo:R}=t;if(!n.isValidNot0(j))throw RangeError("invalid scalar: out of range");let B,I,T=(k)=>ee.cached(this,k,(M)=>Fs(P,M));if(R){let{k1neg:k,k1:M,k2neg:N,k2:H}=z(j),{p:G,f:re}=T(M),{p:ae,f:pe}=T(H);I=re.add(pe),B=K(R.beta,G,ae,k,N)}else{let{p:k,f:M}=T(j);B=k,I=M}return Fs(P,[B,I])[0]}multiplyUnsafe(j){let{endo:R}=t,B=this,I=j;if(!n.isValid(I))throw RangeError("invalid scalar: out of range");if(I===Jn||B.is0())return P.ZERO;if(I===Oi)return B;if(ee.hasCache(this))return this.multiply(I);if(R){let{k1neg:T,k1:k,k2neg:M,k2:N}=z(I),{p1:H,p2:G}=tU(P,B,k,N);return K(R.beta,H,G,T,M)}else return ee.unsafe(B,I)}toAffine(j){let R=this,B=j,{X:I,Y:T,Z:k}=R;if(o.eql(k,o.ONE))return{x:I,y:T};let M=R.is0();if(B==null)B=M?o.ONE:o.inv(k);let N=o.mul(I,B),H=o.mul(T,B),G=o.mul(k,B);if(M)return{x:o.ZERO,y:o.ZERO};if(!o.eql(G,o.ONE))throw Error("invZ was invalid");return{x:N,y:H}}isTorsionFree(){let{isTorsionFree:j}=t;if(s===Oi)return!0;if(j)return j(P,this);return ee.unsafe(this,a).is0()}clearCofactor(){let{clearCofactor:j}=t;if(s===Oi)return this;if(j)return j(P,this);return this.multiplyUnsafe(s)}isSmallOrder(){if(s===Oi)return this.is0();return this.clearCofactor().is0()}toBytes(j=!0){return ko(j,"isCompressed"),this.assertValidity(),b(P,this,j)}toHex(j=!0){return Pc(this.toBytes(j))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let W=n.BITS,ee=new Pd(P,t.endo?Math.ceil(W/2):W);if(W>=8)P.BASE.precompute(8);return Object.freeze(P.prototype),Object.freeze(P),P}function aU(e){return Uint8Array.of(e?2:3)}function cU(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function uae(e,t={}){let{Fn:r}=e,o=t.randomBytes===void 0?Dc:t.randomBytes,n=Object.assign(cU(e.Fp,r),{seed:Math.max(cA(r.ORDER),16)});function i(h){try{let b=r.fromBytes(h);return r.isValidNot0(b)}catch(b){return!1}}function s(h,b){let{publicKey:y,publicKeyUncompressed:S}=n;try{let x=h.length;if(b===!0&&x!==y)return!1;if(b===!1&&x!==S)return!1;return!!e.fromBytes(h)}catch(x){return!1}}function a(h){return h=h===void 0?o(n.seed):h,WZ(et(h,n.seed,"seed"),r.ORDER)}function c(h,b=!0){return e.BASE.multiply(r.fromBytes(h)).toBytes(b)}function u(h){let{secretKey:b,publicKey:y,publicKeyUncompressed:S}=n,x=r._lengths;if(!Nc(h))return;let _=et(h,void 0,"key").length,A=_===y||_===S,O=_===b||!!x?.includes(_);if(A&&O)return;return A}function d(h,b,y=!0){if(u(h)===!0)throw Error("first arg must be private key");if(u(b)===!1)throw Error("second arg must be public key");let S=r.fromBytes(h);return e.fromBytes(b).multiply(S).toBytes(y)}let f={isValidSecretKey:i,isValidPublicKey:s,randomSecretKey:a},m=zd(a,c);return Object.freeze(f),Object.freeze(n),Object.freeze({getPublicKey:c,getSharedSecret:d,keygen:m,Point:e,utils:f,lengths:n})}function lU(e,t,r={}){let o=t;yo(o),Gr(r,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"}),r=Object.assign({},r);let n=r.randomBytes===void 0?Dc:r.randomBytes,i=r.hmac===void 0?(T,k)=>Bn(o,T,k):r.hmac,{Fp:s,Fn:a}=e,{ORDER:c,BITS:u}=a,{keygen:d,getPublicKey:f,getSharedSecret:m,utils:h,lengths:b}=uae(e,r),y={prehash:!0,lowS:typeof r.lowS==="boolean"?r.lowS:!0,format:"compact",extraEntropy:!1},S=c*iU+Oi<s.ORDER;function x(T){let k=c>>Oi;return T>k}function _(T,k){if(!a.isValidNot0(k))throw Error(`invalid signature ${T}: out of range 1..Point.Fn.ORDER`);return k}function A(){if(S)throw Error('"recovered" sig type is not supported for cofactor >2 curves')}function O(T,k){mA(k);let M=b.signature,N=k==="compact"?M:k==="recovered"?M+1:void 0;return et(T,N)}class L{r;s;recovery;constructor(T,k,M){if(this.r=_("r",T),this.s=_("s",k),M!=null){if(A(),![0,1,2,3].includes(M))throw Error("invalid recovery id");this.recovery=M}Object.freeze(this)}static fromBytes(T,k=y.format){O(T,k);let M;if(k==="der"){let{r:re,s:ae}=hn.toSig(et(T));return new L(re,ae)}if(k==="recovered")M=T[0],k="compact",T=T.subarray(1);let N=b.signature/2,H=T.subarray(0,N),G=T.subarray(N,N*2);return new L(a.fromBytes(H),a.fromBytes(G),M)}static fromHex(T,k){return this.fromBytes(zc(T),k)}assertRecovery(){let{recovery:T}=this;if(T==null)throw Error("invalid recovery id: must be present");return T}addRecoveryBit(T){return new L(this.r,this.s,T)}recoverPublicKey(T){let{r:k,s:M}=this,N=this.assertRecovery(),H=N===2||N===3?k+c:k;if(!s.isValid(H))throw Error("invalid recovery id: sig.r+curve.n != R.x");let G=s.toBytes(H),re=e.fromBytes(Vt(aU((N&1)===0),G)),ae=a.inv(H),pe=K(et(T,void 0,"msgHash")),be=a.create(-pe*ae),ve=a.create(M*ae),ke=e.BASE.multiplyUnsafe(be).add(re.multiplyUnsafe(ve));if(ke.is0())throw Error("invalid recovery: point at infinify");return ke.assertValidity(),ke}hasHighS(){return x(this.s)}toBytes(T=y.format){if(mA(T),T==="der")return zc(hn.hexFromSig(this));let{r:k,s:M}=this,N=a.toBytes(k),H=a.toBytes(M);if(T==="recovered")return A(),Vt(Uint8Array.of(this.assertRecovery()),N,H);return Vt(N,H)}toHex(T){return Pc(this.toBytes(T))}}Object.freeze(L.prototype),Object.freeze(L);let z=r.bits2int===void 0?function(k){if(k.length>8192)throw Error("input is too large");let M=Us(k),N=k.length*8-u;return N>0?M>>BigInt(N):M}:r.bits2int,K=r.bits2int_modN===void 0?function(k){return a.create(z(k))}:r.bits2int_modN,P=Rd(u);function W(T){return Ao("num < 2^"+u,T,Jn,P),a.toBytes(T)}function ee(T,k){return et(T,void 0,"message"),k?et(o(T),void 0,"prehashed message"):T}function j(T,k,M){let{lowS:N,prehash:H,extraEntropy:G}=pA(M,y);T=ee(T,H);let re=K(T),ae=a.fromBytes(k);if(!a.isValidNot0(ae))throw Error("invalid private key");let pe=[W(ae),W(re)];if(G!=null&&G!==!1){let Ie=G===!0?n(b.secretKey):G;pe.push(et(Ie,void 0,"extraEntropy"))}let be=Vt(...pe),ve=re;function ke(Ie){let we=z(Ie);if(!a.isValidNot0(we))return;let Ue=a.inv(we),De=e.BASE.multiply(we).toAffine(),Qe=a.create(De.x);if(Qe===Jn)return;let St=a.create(Ue*a.create(ve+Qe*ae));if(St===Jn)return;let Tt=(De.x===Qe?0:2)|Number(De.y&Oi),Nt=St;if(N&&x(St))Nt=a.neg(St),Tt^=1;return new L(Qe,Nt,S?void 0:Tt)}return{seed:be,k2sig:ke}}function R(T,k,M={}){let{seed:N,k2sig:H}=j(T,k,M);return LZ(o.outputLen,a.BYTES,i)(N,H).toBytes(M.format)}function B(T,k,M,N={}){let{lowS:H,prehash:G,format:re}=pA(N,y);if(M=et(M,void 0,"publicKey"),k=ee(k,G),!Nc(T)){let ae=T instanceof L?", use sig.toBytes()":"";throw Error("verify expects Uint8Array signature"+ae)}O(T,re);try{let ae=L.fromBytes(T,re),pe=e.fromBytes(M);if(H&&ae.hasHighS())return!1;let{r:be,s:ve}=ae,ke=K(k),Ie=a.inv(ve),we=a.create(ke*Ie),Ue=a.create(be*Ie),De=e.BASE.multiplyUnsafe(we).add(pe.multiplyUnsafe(Ue));if(De.is0())return!1;return a.create(De.x)===be}catch(ae){return!1}}function I(T,k,M={}){let{prehash:N}=pA(M,y);return k=ee(k,N),L.fromBytes(T,"recovered").recoverPublicKey(k).toBytes()}return Object.freeze({keygen:d,getPublicKey:f,getSharedSecret:m,utils:h,lengths:b,Point:e,sign:R,verify:B,recoverPublicKey:I,Signature:L,hash:o})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var dae=(()=>({p:BigInt("0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff"),n:BigInt("0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551"),h:BigInt(1),a:BigInt("0xffffffff00000001000000000000000000000000fffffffffffffffffffffffc"),b:BigInt("0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b"),Gx:BigInt("0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296"),Gy:BigInt("0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5")}))();var fae=sU(dae),jc=lU(fae,wt);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var Ci=BigInt(0),Ir=BigInt(1),hA=BigInt(2),pae=BigInt(8);function mae(e,t,r,o){let n=e.sqr(r),i=e.sqr(o),s=e.add(e.mul(t.a,n),i),a=e.add(e.ONE,e.mul(t.d,e.mul(n,i)));return e.eql(s,a)}function uU(e,t={}){let r=t,o=Cg("edwards",e,r,r.FpFnLE),{Fp:n,Fn:i}=o,s=o.CURVE,{h:a}=s;Gr(r,{},{uvRatio:"function"});let c=hA<<BigInt(i.BYTES*8)-Ir,u=(y)=>n.create(y),d=r.uvRatio===void 0?(y,S)=>{try{return{isValid:!0,value:n.sqrt(n.div(y,S))}}catch(x){return{isValid:!1,value:Ci}}}:r.uvRatio;if(!mae(n,s,s.Gx,s.Gy))throw Error("bad curve params: generator point");function f(y,S,x=!1){let _=x?Ir:Ci;return Ao("coordinate "+y,S,_,c),S}function m(y){if(!(y instanceof h))throw Error("EdwardsPoint expected")}class h{static BASE=new h(s.Gx,s.Gy,Ir,u(s.Gx*s.Gy));static ZERO=new h(Ci,Ir,Ir,Ci);static Fp=n;static Fn=i;X;Y;Z;T;constructor(y,S,x,_){this.X=f("x",y),this.Y=f("y",S),this.Z=f("z",x,!0),this.T=f("t",_),Object.freeze(this)}static CURVE(){return s}static fromAffine(y){if(y instanceof h)throw Error("extended point not allowed");let{x:S,y:x}=y||{};return f("x",S),f("y",x),new h(S,x,Ir,u(S*x))}static fromBytes(y,S=!1){let x=n.BYTES,{a:_,d:A}=s;y=Ri(et(y,x,"point")),ko(S,"zip215");let O=Ri(y),L=y[x-1];O[x-1]=L&-129;let z=mn(O),K=S?c:n.ORDER;Ao("point.y",z,Ci,K);let P=u(z*z),W=u(P-Ir),ee=u(A*P-_),{isValid:j,value:R}=d(W,ee);if(!j)throw Error("bad point: invalid y coordinate");let B=(R&Ir)===Ir,I=(L&128)!==0;if(!S&&R===Ci&&I)throw Error("bad point: x=0 and x_0=1");if(I!==B)R=u(-R);return h.fromAffine({x:R,y:z})}static fromHex(y,S=!1){return h.fromBytes(zc(y),S)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(y=8,S=!0){if(b.createCache(this,y),!S)this.multiply(hA);return this}assertValidity(){let y=this,{a:S,d:x}=s;if(y.is0())throw Error("bad point: ZERO");let{X:_,Y:A,Z:O,T:L}=y,z=u(_*_),K=u(A*A),P=u(O*O),W=u(P*P),ee=u(z*S),j=u(P*u(ee+K)),R=u(W+u(x*u(z*K)));if(j!==R)throw Error("bad point: equation left != right (1)");let B=u(_*A),I=u(O*L);if(B!==I)throw Error("bad point: equation left != right (2)")}equals(y){m(y);let{X:S,Y:x,Z:_}=this,{X:A,Y:O,Z:L}=y,z=u(S*L),K=u(A*_),P=u(x*L),W=u(O*_);return z===K&&P===W}is0(){return this.equals(h.ZERO)}negate(){return new h(u(-this.X),this.Y,this.Z,u(-this.T))}double(){let{a:y}=s,{X:S,Y:x,Z:_}=this,A=u(S*S),O=u(x*x),L=u(hA*u(_*_)),z=u(y*A),K=S+x,P=u(u(K*K)-A-O),W=z+O,ee=W-L,j=z-O,R=u(P*ee),B=u(W*j),I=u(P*j),T=u(ee*W);return new h(R,B,T,I)}add(y){m(y);let{a:S,d:x}=s,{X:_,Y:A,Z:O,T:L}=this,{X:z,Y:K,Z:P,T:W}=y,ee=u(_*z),j=u(A*K),R=u(L*x*W),B=u(O*P),I=u((_+A)*(z+K)-ee-j),T=B-R,k=B+R,M=u(j-S*ee),N=u(I*T),H=u(k*M),G=u(I*M),re=u(T*k);return new h(N,H,re,G)}subtract(y){return m(y),this.add(y.negate())}multiply(y){if(!i.isValidNot0(y))throw RangeError("invalid scalar: expected 1 <= sc < curve.n");let{p:S,f:x}=b.cached(this,y,(_)=>Fs(h,_));return Fs(h,[S,x])[0]}multiplyUnsafe(y){if(!i.isValid(y))throw RangeError("invalid scalar: expected 0 <= sc < curve.n");if(y===Ci)return h.ZERO;if(this.is0()||y===Ir)return this;return b.unsafe(this,y,(S)=>Fs(h,S))}isSmallOrder(){return this.clearCofactor().is0()}isTorsionFree(){return b.unsafe(this,s.n).is0()}toAffine(y){let S=this,x=y,{X:_,Y:A,Z:O}=S,L=S.is0();if(x==null)x=L?pae:n.inv(O);let z=u(_*x),K=u(A*x),P=n.mul(O,x);if(L)return{x:Ci,y:Ir};if(P!==Ir)throw Error("invZ was invalid");return{x:z,y:K}}clearCofactor(){if(a===Ir)return this;return this.multiplyUnsafe(a)}toBytes(){let{x:y,y:S}=this.toAffine(),x=n.toBytes(S);return x[x.length-1]|=y&Ir?128:0,x}toHex(){return Pc(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let b=new Pd(h,i.BITS);if(i.BITS>=8)h.BASE.precompute(8);return Object.freeze(h.prototype),Object.freeze(h),h}class gA{static BASE;static ZERO;static Fp;static Fn;ep;constructor(e){this.ep=e}static fromBytes(e){oA()}static fromHex(e){oA()}get x(){return this.toAffine().x}get y(){return this.toAffine().y}clearCofactor(){return this}assertValidity(){this.ep.assertValidity()}toAffine(e){return this.ep.toAffine(e)}toHex(){return Pc(this.toBytes())}toString(){return this.toHex()}isTorsionFree(){return!0}isSmallOrder(){return!1}add(e){return this.assertSame(e),this.init(this.ep.add(e.ep))}subtract(e){return this.assertSame(e),this.init(this.ep.subtract(e.ep))}multiply(e){return this.init(this.ep.multiply(e))}multiplyUnsafe(e){return this.init(this.ep.multiplyUnsafe(e))}double(){return this.init(this.ep.double())}negate(){return this.init(this.ep.negate())}precompute(e,t){return this.ep.precompute(e,t),this}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var Dd=BigInt(0),Zc=BigInt(1),zg=BigInt(2);function hae(e){return Gr(e,{P:"bigint",type:"string",adjustScalarBytes:"function",powPminus2:"function"},{randomBytes:"function"}),Object.freeze({...e})}function dU(e){let t=hae(e),{P:r,type:o,adjustScalarBytes:n,powPminus2:i,randomBytes:s}=t,a=o==="x25519";if(!a&&o!=="x448")throw Error("invalid type");let c=s===void 0?Dc:s,u=a?255:448,d=a?32:56,f=a?BigInt(9):BigInt(5),m=a?BigInt(121665):BigInt(39081),h=a?zg**BigInt(254):zg**BigInt(447),b=a?BigInt(8)*zg**BigInt(251)-Zc:BigInt(4)*zg**BigInt(445)-Zc,y=h+b+Zc,S=(I)=>it(I,r),x=_(f);function _(I){return $d(S(I),d)}function A(I){let T=Ri(et(I,d,"uCoordinate"));if(a)T[31]&=127;return S(mn(T))}function O(I){return mn(n(Ri(et(I,d,"scalar"))))}function L(I,T){let k=ee(A(T),O(I));if(k===Dd)throw Error("invalid private or public key received");return _(k)}function z(I){return L(I,x)}let K=z,P=L;function W(I,T,k){let M=S(I*(T-k));return T=S(T-M),k=S(k+M),{x_2:T,x_3:k}}function ee(I,T){Ao("u",I,Dd,r),Ao("scalar",T,h,y);let k=T,M=I,N=Zc,H=Dd,G=I,re=Zc,ae=Dd;for(let be=BigInt(u-1);be>=Dd;be--){let ve=k>>be&Zc;ae^=ve,{x_2:N,x_3:G}=W(ae,N,G),{x_2:H,x_3:re}=W(ae,H,re),ae=ve;let ke=N+H,Ie=S(ke*ke),we=N-H,Ue=S(we*we),De=Ie-Ue,Qe=G+re,St=G-re,Tt=S(St*ke),Nt=S(Qe*we),lt=Tt+Nt,$r=Tt-Nt;G=S(lt*lt),re=S(M*S($r*$r)),N=S(Ie*Ue),H=S(De*(Ie+S(m*De)))}({x_2:N,x_3:G}=W(ae,N,G)),{x_2:H,x_3:re}=W(ae,H,re);let pe=i(H);return S(N*pe)}let j={secretKey:d,publicKey:d,seed:d},R=(I)=>(I=I===void 0?c(d):I,et(I,j.seed,"seed"),I),B={randomSecretKey:R};return Object.freeze(j),Object.freeze(B),Object.freeze({keygen:zd(R,K),getSharedSecret:P,getPublicKey:K,scalarMult:L,scalarMultBase:z,utils:B,GuBytes:x.slice(),lengths:j})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var gae=BigInt(0),$o=BigInt(1),fU=BigInt(2),yae=BigInt(3),bae=BigInt(5),Sae=BigInt(8),Ks=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),vA=(()=>({p:Ks,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:Sae,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")}))();function hU(e){let t=BigInt(10),r=BigInt(20),o=BigInt(40),n=BigInt(80),i=Ks,a=e*e%i*e%i,c=Qr(a,fU,i)*a%i,u=Qr(c,$o,i)*e%i,d=Qr(u,bae,i)*u%i,f=Qr(d,t,i)*d%i,m=Qr(f,r,i)*f%i,h=Qr(m,o,i)*m%i,b=Qr(h,n,i)*h%i,y=Qr(b,n,i)*h%i,S=Qr(y,t,i)*d%i;return{pow_p_5_8:Qr(S,fU,i)*e%i,b2:a}}function vae(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var yA=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function wA(e,t){let r=Ks,o=it(t*t*t,r),n=it(o*o*t,r),i=hU(e*n).pow_p_5_8,s=it(e*o*i,r),a=it(t*s*s,r),c=s,u=it(s*yA,r),d=a===e,f=a===it(-e,r),m=a===it(-e*yA,r);if(d)s=c;if(f||m)s=u;if(To(s,r))s=it(-s,r);return{isValid:d||f,value:s}}var Js=uU(vA,{uvRatio:wA}),Pi=(()=>Js.Fp)(),gU=(()=>Js.Fn)();var Ng=(()=>{let e=Ks;return dU({P:e,type:"x25519",powPminus2:(t)=>{let{pow_p_5_8:r,b2:o}=hU(t);return it(Qr(r,yae,e)*o,e)},adjustScalarBytes:vae})})();var bA=yA,wae=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),xae=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),_ae=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),Eae=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),pU=(e)=>wA($o,e),Iae=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),SA=(e)=>Pi.create(mn(e)&Iae);function mU(e){let{d:t}=vA,r=Ks,o=(x)=>Pi.create(x),n=o(bA*e*e),i=o((n+$o)*_ae),s=BigInt(-1),a=o((s-t*n)*o(n+t)),{isValid:c,value:u}=wA(i,a),d=o(u*e);if(!To(d,r))d=o(-d);if(!c)u=d;if(!c)s=n;let f=o(s*(n-$o)*Eae-a),m=u*u,h=o((u+u)*a),b=o(f*wae),y=o($o-m),S=o($o+m);return new Js(o(h*S),o(y*b),o(b*S),o(h*y))}class yr extends gA{static BASE=(()=>new yr(Js.BASE))();static ZERO=(()=>new yr(Js.ZERO))();static Fp=(()=>Pi)();static Fn=(()=>gU)();constructor(e){super(e)}static fromAffine(e){return new yr(Js.fromAffine(e))}assertSame(e){if(!(e instanceof yr))throw Error("RistrettoPoint expected")}init(e){return new yr(e)}static fromBytes(e){Ft(e,32);let{a:t,d:r}=vA,o=Ks,n=(A)=>Pi.create(A),i=SA(e);if(!DZ(Pi.toBytes(i),e)||To(i,o))throw Error("invalid ristretto255 encoding 1");let s=n(i*i),a=n($o+t*s),c=n($o-t*s),u=n(a*a),d=n(c*c),f=n(t*r*u-d),{isValid:m,value:h}=pU(n(f*d)),b=n(h*c),y=n(h*b*f),S=n((i+i)*b);if(To(S,o))S=n(-S);let x=n(a*y),_=n(S*x);if(!m||To(_,o)||x===gae)throw Error("invalid ristretto255 encoding 2");return new yr(new Js(S,x,$o,_))}static fromHex(e){return yr.fromBytes(od(e))}toBytes(){let{X:e,Y:t,Z:r,T:o}=this.ep,n=Ks,i=(y)=>Pi.create(y),s=i(i(r+t)*i(r-t)),a=i(e*t),c=i(a*a),{value:u}=pU(i(s*c)),d=i(u*s),f=i(u*a),m=i(d*f*o),h;if(To(o*m,n)){let y=i(t*bA),S=i(e*bA);e=y,t=S,h=i(d*xae)}else h=f;if(To(e*m,n))t=i(-t);let b=i((r-t)*h);if(To(b,n))b=i(-b);return Pi.toBytes(b)}equals(e){this.assertSame(e);let{X:t,Y:r}=this.ep,{X:o,Y:n}=e.ep,i=(c)=>Pi.create(c),s=i(t*n)===i(r*o),a=i(r*n)===i(t*o);return s||a}is0(){return this.equals(yr.ZERO)}}Object.freeze(yr.BASE);Object.freeze(yr.ZERO);Object.freeze(yr.prototype);Object.freeze(yr);var kae=Object.freeze({Point:yr,hashToCurve(e,t){let r=t?.DST===void 0?"ristretto255_XMD:SHA-512_R255MAP_RO_":t.DST,o=fA(e,r,64,Xh);return kae.deriveToCurve(o)},hashToScalar(e,t={DST:rU}){let r=fA(e,t.DST,64,Xh);return gU.create(mn(r))},deriveToCurve(e){Ft(e,64);let t=SA(e.subarray(0,32)),r=mU(t),o=SA(e.subarray(32,64)),n=mU(o);return new yr(r.add(n))}});var yU=!1,Aae=!1;async function bU(e,t){if(Aae)return await t();try{return await e()}catch(r){if(r instanceof ReferenceError||r instanceof DOMException&&r.name==="NotSupportedError")return await t();else throw r}}async function Dg(e,t){return await bU(async()=>{let r=xA(e)?e:await $ae(e),o=await crypto.subtle.importKey("raw",Rae(t),{name:"X25519"},yU,[]);return new Uint8Array(await crypto.subtle.deriveBits({name:"X25519",public:o},r,256))},()=>{if(xA(e))throw Error("CryptoKey provided but X25519 WebCrypto is not supported");return Ng.scalarMult(e,t)})}async function Ld(e){return await bU(async()=>Dg(e,Ng.GuBytes),()=>{if(xA(e))throw Error("CryptoKey provided but X25519 WebCrypto is not supported");return Ng.scalarMultBase(e)})}var Tae=new Uint8Array([48,46,2,1,0,48,5,6,3,43,101,110,4,34,4,32]);async function $ae(e){if(e.length!==32)throw Error("X25519 private key must be 32 bytes");let t=new Uint8Array([...Tae,...e]);return crypto.subtle.importKey("pkcs8",t,{name:"X25519"},yU,["deriveBits"])}function xA(e){return typeof CryptoKey<"u"&&e instanceof CryptoKey}function Rae(e){return e}class _A{s;transcript=[];buf=new Uint8Array(0);constructor(e){this.s=e.getReader()}async readLine(){let e=[];while(!0){let t=this.buf.indexOf(10);if(t>=0)return e.push(this.buf.subarray(0,t)),this.transcript.push(this.buf.subarray(0,t+1)),this.buf=this.buf.subarray(t+1),Cae(Hs(e));if(this.buf.length>0)e.push(this.buf),this.transcript.push(this.buf);let r=await this.s.read();if(r.done)return this.buf=Hs(e),null;this.buf=r.value}}close(){return this.s.releaseLock(),{rest:this.buf,transcript:Hs(this.transcript)}}}function Cae(e){return e.forEach((t)=>{if(t<32||t>126)throw Error("invalid non-ASCII byte in header")}),new TextDecoder().decode(e)}function Hs(e){let t=e.reduce((n,i)=>n+i.length,0),r=new Uint8Array(t),o=0;for(let n of e)r.set(n,o),o+=n.length;return r}function Uc(e,...t){return e.pipeThrough(new TransformStream({start(r){for(let o of t)r.enqueue(o)}}))}function Lg(e){return new ReadableStream({start(t){t.enqueue(e),t.close()}})}async function EA(e){if(!(e instanceof ReadableStream))throw Error("readAll expects a ReadableStream<Uint8Array>");return new Uint8Array(await new Response(e).arrayBuffer())}async function SU(e){if(!(e instanceof ReadableStream))throw Error("readAllString expects a ReadableStream<Uint8Array>");return await new Response(e).text()}async function vU(e,t){let r=e.getReader(),o=[],n=0;while(n<t){let{done:c,value:u}=await r.read();if(c)throw Error("stream ended before reading "+t.toString()+" bytes");o.push(u),n+=u.length}r.releaseLock();let i=Hs(o),s=i.subarray(0,t),a=Uc(e,i.subarray(t));return{data:s,rest:a}}class Kn{args;body;constructor(e,t){this.args=e,this.body=t}}async function Pae(e){let t=await e.readLine();if(t===null)throw Error("invalid stanza");let r=t.split(" ");if(r.length<2||r.shift()!=="->")return{next:t};for(let i of r)if(i.length===0)throw Error("invalid stanza");let o=[];for(;;){let i=await e.readLine();if(i===null)throw Error("invalid stanza");let s=tr.decode(i);if(s.length>48)throw Error("invalid stanza");if(o.push(s),s.length<48)break}let n=Hs(o);return{s:new Kn(r,n)}}async function wU(e){let t=new _A(e),r=await t.readLine();if(r!=="age-encryption.org/v1")throw Error("invalid version "+(r??"line"));let o=[];for(;;){let{s:n,next:i}=await Pae(t);if(n!==void 0){o.push(n);continue}if(!i.startsWith("--- "))throw Error("invalid header");let s=tr.decode(i.slice(4)),{rest:a,transcript:c}=t.close(),u=c.slice(0,c.length-1-i.length+3);return{stanzas:o,headerNoMAC:u,MAC:s,headerSize:c.length,rest:Uc(e,a)}}}function IA(e){let t=[];t.push(`age-encryption.org/v1
727
+ `)}function xB(e){let t=new Map;for(let r of e){if(t.has(r.name))throw Error(`Duplicate command name: ${r.name}`);t.set(r.name,r)}return t}function nt(e,t){let r=e[t];return typeof r==="string"?r:void 0}function ks(e,t){let r=e[t];return typeof r==="boolean"?r:void 0}import{existsSync as Mae,mkdirSync as Fae,readFileSync as MA,writeFileSync as FA}from"fs";import{dirname as Jae,join as OU}from"path";function nk(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"&&"BYTES_PER_ELEMENT"in e&&e.BYTES_PER_ELEMENT===1}function vt(e,t=""){if(typeof e!=="number"){let r=t&&`"${t}" `;throw TypeError(`${r}expected number, got ${typeof e}`)}if(!Number.isSafeInteger(e)||e<0){let r=t&&`"${t}" `;throw RangeError(`${r}expected integer >= 0, got ${e}`)}}function Ft(e,t,r=""){let o=nk(e),n=e?.length,i=t!==void 0;if(!o||i&&n!==t){let s=r&&`"${r}" `,a=i?` of length ${t}`:"",c=o?`length=${n}`:`type=${typeof e}`,u=s+"expected Uint8Array"+a+", got "+c;if(!o)throw TypeError(u);throw RangeError(u)}return e}function yo(e){if(typeof e!=="function"||typeof e.create!=="function")throw TypeError("Hash must wrapped by utils.createHasher");if(vt(e.outputLen),vt(e.blockLen),e.outputLen<1)throw Error('"outputLen" must be >= 1');if(e.blockLen<1)throw Error('"blockLen" must be >= 1')}function wc(e,t=!0){if(e.destroyed)throw Error("Hash instance has been destroyed");if(t&&e.finished)throw Error("Hash#digest() has already been called")}function Hh(e,t){Ft(e,void 0,"digestInto() output");let r=t.outputLen;if(e.length<r)throw RangeError('"digestInto() output" expected to be of length >='+r)}function Vh(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function mr(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function xc(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function dn(e,t){return e<<32-t|e>>>t}function Fe(e,t){return e<<t|e>>>32-t>>>0}var yie=(()=>new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68)();function bie(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function Sie(e){for(let t=0;t<e.length;t++)e[t]=bie(e[t]);return e}var ok=yie?(e)=>e:Sie,EB=(()=>typeof Uint8Array.from([]).toHex==="function"&&typeof Uint8Array.fromHex==="function")(),vie=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Wh(e){if(Ft(e),EB)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=vie[e[r]];return t}var go={_0:48,_9:57,A:65,F:70,a:97,f:102};function _B(e){if(e>=go._0&&e<=go._9)return e-go._0;if(e>=go.A&&e<=go.F)return e-(go.A-10);if(e>=go.a&&e<=go.f)return e-(go.a-10);return}function od(e){if(typeof e!=="string")throw TypeError("hex string expected, got "+typeof e);if(EB)try{return Uint8Array.fromHex(e)}catch(n){if(n instanceof SyntaxError)throw RangeError(n.message);throw n}let t=e.length,r=t/2;if(t%2)throw RangeError("hex string expected, got unpadded hex of length "+t);let o=new Uint8Array(r);for(let n=0,i=0;n<r;n++,i+=2){let s=_B(e.charCodeAt(i)),a=_B(e.charCodeAt(i+1));if(s===void 0||a===void 0){let c=e[i]+e[i+1];throw RangeError('hex string expected, got non-hex character "'+c+'" at index '+i)}o[n]=s*16+a}return o}function wie(e){if(typeof e!=="string")throw TypeError("string expected");return new Uint8Array(new TextEncoder().encode(e))}function ik(e,t=""){if(typeof e==="string")return wie(e);return Ft(e,void 0,t)}function sk(...e){let t=0;for(let o=0;o<e.length;o++){let n=e[o];Ft(n),t+=n.length}let r=new Uint8Array(t);for(let o=0,n=0;o<e.length;o++){let i=e[o];r.set(i,n),n+=i.length}return r}function Gh(e,t){if(t!==void 0&&{}.toString.call(t)!=="[object Object]")throw TypeError("options must be object or undefined");return Object.assign(e,t)}function ak(e,t={}){let r=(n,i)=>e(i).update(n).digest(),o=e(void 0);return r.outputLen=o.outputLen,r.blockLen=o.blockLen,r.canXOF=o.canXOF,r.create=(n)=>e(n),Object.assign(r,t),Object.freeze(r)}function bo(e=32){vt(e,"bytesLength");let t=typeof globalThis==="object"?globalThis.crypto:null;if(typeof t?.getRandomValues!=="function")throw Error("crypto.getRandomValues must be defined");if(e>65536)throw RangeError(`"bytesLength" expected <= 65536, got ${e}`);return t.getRandomValues(new Uint8Array(e))}var ck=(e)=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,e])});class lk{oHash;iHash;blockLen;outputLen;canXOF=!1;finished=!1;destroyed=!1;constructor(e,t){if(yo(e),Ft(t,void 0,"key"),this.iHash=e.create(),typeof this.iHash.update!=="function")throw Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let r=this.blockLen,o=new Uint8Array(r);o.set(t.length>r?e.create().update(t).digest():t);for(let n=0;n<o.length;n++)o[n]^=54;this.iHash.update(o),this.oHash=e.create();for(let n=0;n<o.length;n++)o[n]^=106;this.oHash.update(o),mr(o)}update(e){return wc(this),this.iHash.update(e),this}digestInto(e){wc(this),Hh(e,this),this.finished=!0;let t=e.subarray(0,this.outputLen);this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||=Object.create(Object.getPrototypeOf(this),{});let{oHash:t,iHash:r,finished:o,destroyed:n,blockLen:i,outputLen:s}=this;return e=e,e.finished=o,e.destroyed=n,e.blockLen=i,e.outputLen=s,e.oHash=t._cloneInto(e.oHash),e.iHash=r._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}var Bn=(()=>{let e=(t,r,o)=>new lk(t,r).update(o).digest();return e.create=(t,r)=>new lk(t,r),e})();function id(e,t,r){if(yo(e),r===void 0)r=new Uint8Array(e.outputLen);return Bn(e,r,t)}var uk=Uint8Array.of(0),IB=Uint8Array.of();function dk(e,t,r,o=32){yo(e),vt(o,"length"),Ft(t,void 0,"prk");let n=e.outputLen;if(t.length<n)throw Error('"prk" must be at least HashLen octets');if(o>255*n)throw Error("Length must be <= 255*HashLen");let i=Math.ceil(o/n);if(r===void 0)r=IB;else Ft(r,void 0,"info");let s=new Uint8Array(i*n),a=Bn.create(e,t),c=a._cloneInto(),u=new Uint8Array(a.outputLen);for(let d=0;d<i;d++)uk[0]=d+1,c.update(d===0?IB:u).update(r).update(uk).digestInto(u),s.set(u,n*d),a._cloneInto(c);return a.destroy(),c.destroy(),mr(u,uk),s.slice(0,o)}var gi=(e,t,r,o,n)=>dk(e,id(e,t,r),o,n);function kB(e,t,r){return e&t^~e&r}function AB(e,t,r){return e&t^e&r^t&r}class Qh{blockLen;outputLen;canXOF=!1;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor(e,t,r,o){this.blockLen=e,this.outputLen=t,this.padOffset=r,this.isLE=o,this.buffer=new Uint8Array(e),this.view=xc(this.buffer)}update(e){wc(this),Ft(e);let{view:t,buffer:r,blockLen:o}=this,n=e.length;for(let i=0;i<n;){let s=Math.min(o-this.pos,n-i);if(s===o){let a=xc(e);for(;o<=n-i;i+=o)this.process(a,i);continue}if(r.set(e.subarray(i,i+s),this.pos),this.pos+=s,i+=s,this.pos===o)this.process(t,0),this.pos=0}return this.length+=e.length,this.roundClean(),this}digestInto(e){wc(this),Hh(e,this),this.finished=!0;let{buffer:t,view:r,blockLen:o,isLE:n}=this,{pos:i}=this;if(t[i++]=128,mr(this.buffer.subarray(i)),this.padOffset>o-i)this.process(r,0),i=0;for(let d=i;d<o;d++)t[d]=0;r.setBigUint64(o-8,BigInt(this.length*8),n),this.process(r,0);let s=xc(e),a=this.outputLen;if(a%4)throw Error("_sha2: outputLen must be aligned to 32bit");let c=a/4,u=this.get();if(c>u.length)throw Error("_sha2: outputLen bigger than state");for(let d=0;d<c;d++)s.setUint32(4*d,u[d],n)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let r=e.slice(0,t);return this.destroy(),r}_cloneInto(e){e||=new this.constructor,e.set(...this.get());let{blockLen:t,buffer:r,length:o,finished:n,destroyed:i,pos:s}=this;if(e.destroyed=i,e.finished=n,e.length=o,e.pos=s,o%t)e.buffer.set(r);return e}clone(){return this._cloneInto()}}var So=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var Jt=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var Yh=BigInt(4294967295),TB=BigInt(32);function xie(e,t=!1){if(t)return{h:Number(e&Yh),l:Number(e>>TB&Yh)};return{h:Number(e>>TB&Yh)|0,l:Number(e&Yh)|0}}function $B(e,t=!1){let r=e.length,o=new Uint32Array(r),n=new Uint32Array(r);for(let i=0;i<r;i++){let{h:s,l:a}=xie(e[i],t);[o[i],n[i]]=[s,a]}return[o,n]}var fk=(e,t,r)=>e>>>r,pk=(e,t,r)=>e<<32-r|t>>>r,As=(e,t,r)=>e>>>r|t<<32-r,Ts=(e,t,r)=>e<<32-r|t>>>r,sd=(e,t,r)=>e<<64-r|t>>>r-32,ad=(e,t,r)=>e>>>r-32|t<<64-r;function jn(e,t,r,o){let n=(t>>>0)+(o>>>0);return{h:e+r+(n/4294967296|0)|0,l:n|0}}var RB=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),OB=(e,t,r,o)=>t+r+o+(e/4294967296|0)|0,CB=(e,t,r,o)=>(e>>>0)+(t>>>0)+(r>>>0)+(o>>>0),PB=(e,t,r,o,n)=>t+r+o+n+(e/4294967296|0)|0,zB=(e,t,r,o,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(o>>>0)+(n>>>0),NB=(e,t,r,o,n,i)=>t+r+o+n+i+(e/4294967296|0)|0;var Eie=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),yi=new Uint32Array(64);class DB extends Qh{constructor(e){super(64,e,8,!1)}get(){let{A:e,B:t,C:r,D:o,E:n,F:i,G:s,H:a}=this;return[e,t,r,o,n,i,s,a]}set(e,t,r,o,n,i,s,a){this.A=e|0,this.B=t|0,this.C=r|0,this.D=o|0,this.E=n|0,this.F=i|0,this.G=s|0,this.H=a|0}process(e,t){for(let d=0;d<16;d++,t+=4)yi[d]=e.getUint32(t,!1);for(let d=16;d<64;d++){let f=yi[d-15],m=yi[d-2],h=dn(f,7)^dn(f,18)^f>>>3,b=dn(m,17)^dn(m,19)^m>>>10;yi[d]=b+yi[d-7]+h+yi[d-16]|0}let{A:r,B:o,C:n,D:i,E:s,F:a,G:c,H:u}=this;for(let d=0;d<64;d++){let f=dn(s,6)^dn(s,11)^dn(s,25),m=u+f+kB(s,a,c)+Eie[d]+yi[d]|0,b=(dn(r,2)^dn(r,13)^dn(r,22))+AB(r,o,n)|0;u=c,c=a,a=s,s=i+m|0,i=n,n=o,o=r,r=m+b|0}r=r+this.A|0,o=o+this.B|0,n=n+this.C|0,i=i+this.D|0,s=s+this.E|0,a=a+this.F|0,c=c+this.G|0,u=u+this.H|0,this.set(r,o,n,i,s,a,c,u)}roundClean(){mr(yi)}destroy(){this.destroyed=!0,this.set(0,0,0,0,0,0,0,0),mr(this.buffer)}}class LB extends DB{A=So[0]|0;B=So[1]|0;C=So[2]|0;D=So[3]|0;E=So[4]|0;F=So[5]|0;G=So[6]|0;H=So[7]|0;constructor(){super(32)}}var BB=(()=>$B(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map((e)=>BigInt(e))))(),Iie=(()=>BB[0])(),kie=(()=>BB[1])(),bi=new Uint32Array(80),Si=new Uint32Array(80);class jB extends Qh{constructor(e){super(128,e,16,!1)}get(){let{Ah:e,Al:t,Bh:r,Bl:o,Ch:n,Cl:i,Dh:s,Dl:a,Eh:c,El:u,Fh:d,Fl:f,Gh:m,Gl:h,Hh:b,Hl:y}=this;return[e,t,r,o,n,i,s,a,c,u,d,f,m,h,b,y]}set(e,t,r,o,n,i,s,a,c,u,d,f,m,h,b,y){this.Ah=e|0,this.Al=t|0,this.Bh=r|0,this.Bl=o|0,this.Ch=n|0,this.Cl=i|0,this.Dh=s|0,this.Dl=a|0,this.Eh=c|0,this.El=u|0,this.Fh=d|0,this.Fl=f|0,this.Gh=m|0,this.Gl=h|0,this.Hh=b|0,this.Hl=y|0}process(e,t){for(let _=0;_<16;_++,t+=4)bi[_]=e.getUint32(t),Si[_]=e.getUint32(t+=4);for(let _=16;_<80;_++){let A=bi[_-15]|0,O=Si[_-15]|0,L=As(A,O,1)^As(A,O,8)^fk(A,O,7),z=Ts(A,O,1)^Ts(A,O,8)^pk(A,O,7),K=bi[_-2]|0,P=Si[_-2]|0,W=As(K,P,19)^sd(K,P,61)^fk(K,P,6),ee=Ts(K,P,19)^ad(K,P,61)^pk(K,P,6),j=CB(z,ee,Si[_-7],Si[_-16]),R=PB(j,L,W,bi[_-7],bi[_-16]);bi[_]=R|0,Si[_]=j|0}let{Ah:r,Al:o,Bh:n,Bl:i,Ch:s,Cl:a,Dh:c,Dl:u,Eh:d,El:f,Fh:m,Fl:h,Gh:b,Gl:y,Hh:S,Hl:x}=this;for(let _=0;_<80;_++){let A=As(d,f,14)^As(d,f,18)^sd(d,f,41),O=Ts(d,f,14)^Ts(d,f,18)^ad(d,f,41),L=d&m^~d&b,z=f&h^~f&y,K=zB(x,O,z,kie[_],Si[_]),P=NB(K,S,A,L,Iie[_],bi[_]),W=K|0,ee=As(r,o,28)^sd(r,o,34)^sd(r,o,39),j=Ts(r,o,28)^ad(r,o,34)^ad(r,o,39),R=r&n^r&s^n&s,B=o&i^o&a^i&a;S=b|0,x=y|0,b=m|0,y=h|0,m=d|0,h=f|0,{h:d,l:f}=jn(c|0,u|0,P|0,W|0),c=s|0,u=a|0,s=n|0,a=i|0,n=r|0,i=o|0;let I=RB(W,j,B);r=OB(I,P,ee,R),o=I|0}({h:r,l:o}=jn(this.Ah|0,this.Al|0,r|0,o|0)),{h:n,l:i}=jn(this.Bh|0,this.Bl|0,n|0,i|0),{h:s,l:a}=jn(this.Ch|0,this.Cl|0,s|0,a|0),{h:c,l:u}=jn(this.Dh|0,this.Dl|0,c|0,u|0),{h:d,l:f}=jn(this.Eh|0,this.El|0,d|0,f|0),{h:m,l:h}=jn(this.Fh|0,this.Fl|0,m|0,h|0),{h:b,l:y}=jn(this.Gh|0,this.Gl|0,b|0,y|0),{h:S,l:x}=jn(this.Hh|0,this.Hl|0,S|0,x|0),this.set(r,o,n,i,s,a,c,u,d,f,m,h,b,y,S,x)}roundClean(){mr(bi,Si)}destroy(){this.destroyed=!0,mr(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}class ZB extends jB{Ah=Jt[0]|0;Al=Jt[1]|0;Bh=Jt[2]|0;Bl=Jt[3]|0;Ch=Jt[4]|0;Cl=Jt[5]|0;Dh=Jt[6]|0;Dl=Jt[7]|0;Eh=Jt[8]|0;El=Jt[9]|0;Fh=Jt[10]|0;Fl=Jt[11]|0;Gh=Jt[12]|0;Gl=Jt[13]|0;Hh=Jt[14]|0;Hl=Jt[15]|0;constructor(){super(64)}}var wt=ak(()=>new LB,ck(1));var Xh=ak(()=>new ZB,ck(3));/*! scure-base - MIT License (c) 2022 Paul Miller (paulmillr.com) */function og(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"&&"BYTES_PER_ELEMENT"in e&&e.BYTES_PER_ELEMENT===1}function gk(e){if(!og(e))throw TypeError("Uint8Array expected")}function JB(e,t){if(!Array.isArray(t))return!1;if(t.length===0)return!0;if(e)return t.every((r)=>typeof r==="string");else return t.every((r)=>Number.isSafeInteger(r))}function KB(e){if(typeof e!=="function")throw TypeError("function expected");return!0}function vi(e,t){if(typeof t!=="string")throw TypeError(`${e}: string expected`);return!0}function ld(e){if(typeof e!=="number")throw TypeError(`number expected, got ${typeof e}`);if(!Number.isSafeInteger(e))throw RangeError(`invalid integer: ${e}`)}function tg(e){if(!Array.isArray(e))throw TypeError("array expected")}function rg(e,t){if(!JB(!0,t))throw TypeError(`${e}: array of strings expected`)}function yk(e,t){if(!JB(!1,t))throw TypeError(`${e}: array of numbers expected`)}function Pr(...e){let t=(i)=>i,r=(i,s)=>(a)=>i(s(a)),o=e.map((i)=>i.encode).reduceRight(r,t),n=e.map((i)=>i.decode).reduce(r,t);return{encode:o,decode:n}}function zr(e){let t=typeof e==="string"?e.split(""):e,r=t.length;rg("alphabet",t);let o=new Map(t.map((n,i)=>[n,i]));return{encode:(n)=>(tg(n),n.map((i)=>{if(!Number.isSafeInteger(i)||i<0||i>=r)throw Error(`alphabet.encode: digit index outside alphabet "${i}". Allowed: ${e}`);return t[i]})),decode:(n)=>(tg(n),n.map((i)=>{vi("alphabet.decode",i);let s=o.get(i);if(s===void 0)throw Error(`Unknown letter: "${i}". Allowed: ${e}`);return s}))}}function Nr(e=""){return vi("join",e),{encode:(t)=>(rg("join.decode",t),t.join(e)),decode:(t)=>(vi("join.decode",t),t.split(e))}}function ig(e,t="="){return ld(e),vi("padding",t),{encode(r){rg("padding.encode",r);while(r.length*e%8)r.push(t);return r},decode(r){rg("padding.decode",r);let o=r.length;if(o*e%8)throw Error("padding: invalid, string should have whole number of bytes");for(;o>0&&r[o-1]===t;o--)if((o-1)*e%8===0)throw Error("padding: invalid, string has too much padding");return r.slice(0,o)}}}function HB(e){return KB(e),{encode:(t)=>t,decode:(t)=>e(t)}}function UB(e,t,r){if(t<2)throw RangeError(`convertRadix: invalid from=${t}, base cannot be less than 2`);if(r<2)throw RangeError(`convertRadix: invalid to=${r}, base cannot be less than 2`);if(tg(e),!e.length)return[];let o=0,n=[],i=Array.from(e,(a)=>{if(ld(a),a<0||a>=t)throw Error(`invalid integer: ${a}`);return a}),s=i.length;while(!0){let a=0,c=!0;for(let u=o;u<s;u++){let d=i[u],f=t*a,m=f+d;if(!Number.isSafeInteger(m)||f/t!==a||m-d!==f)throw Error("convertRadix: carry overflow");let h=m/r;a=m%r;let b=Math.floor(h);if(i[u]=b,!Number.isSafeInteger(b)||b*r+a!==m)throw Error("convertRadix: carry overflow");if(!c)continue;else if(!b)o=u;else c=!1}if(n.push(a),c)break}for(let a=0;a<e.length-1&&e[a]===0;a++)n.push(0);return n.reverse()}var VB=(e,t)=>t===0?e:VB(t,e%t),ng=(e,t)=>e+(t-VB(e,t)),eg=(()=>{let e=[];for(let t=0;t<40;t++)e.push(2**t);return e})();function mk(e,t,r,o){if(tg(e),t<=0||t>32)throw RangeError(`convertRadix2: wrong from=${t}`);if(r<=0||r>32)throw RangeError(`convertRadix2: wrong to=${r}`);if(ng(t,r)>32)throw Error(`convertRadix2: carry overflow from=${t} to=${r} carryBits=${ng(t,r)}`);let n=0,i=0,s=eg[t],a=eg[r]-1,c=[];for(let u of e){if(ld(u),u>=s)throw Error(`convertRadix2: invalid data word=${u} from=${t}`);if(n=n<<t|u,i+t>32)throw Error(`convertRadix2: carry overflow pos=${i} from=${t}`);i+=t;for(;i>=r;i-=r)c.push((n>>i-r&a)>>>0);let d=eg[i];if(d===void 0)throw Error("invalid carry");n&=d-1}if(n=n<<r-i&a,!o&&i>=t)throw Error("Excess padding");if(!o&&n>0)throw Error(`Non-zero padding: ${n}`);if(o&&i>0)c.push(n>>>0);return c}function Aie(e){ld(e);let t=256;return{encode:(r)=>{if(!og(r))throw TypeError("radix.encode input should be Uint8Array");return UB(Array.from(r),t,e)},decode:(r)=>(yk("radix.decode",r),Uint8Array.from(UB(r,e,t)))}}function Kr(e,t=!1){if(ld(e),e<=0||e>32)throw RangeError("radix2: bits should be in (0..32]");if(ng(8,e)>32||ng(e,8)>32)throw RangeError("radix2: carry overflow");return{encode:(r)=>{if(!og(r))throw TypeError("radix2.encode input should be Uint8Array");return mk(Array.from(r),8,e,!t)},decode:(r)=>(yk("radix2.decode",r),Uint8Array.from(mk(r,e,8,t)))}}function qB(e){return KB(e),function(...t){try{return e.apply(null,t)}catch(r){}}}var jTe=Object.freeze(Pr(Kr(4),zr("0123456789ABCDEF"),Nr(""))),ZTe=Object.freeze(Pr(Kr(5),zr("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"),ig(5),Nr(""))),UTe=Object.freeze(Pr(Kr(5),zr("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"),Nr(""))),qTe=Object.freeze(Pr(Kr(5),zr("0123456789ABCDEFGHIJKLMNOPQRSTUV"),ig(5),Nr(""))),MTe=Object.freeze(Pr(Kr(5),zr("0123456789ABCDEFGHIJKLMNOPQRSTUV"),Nr(""))),FTe=Object.freeze(Pr(Kr(5),zr("0123456789ABCDEFGHJKMNPQRSTVWXYZ"),Nr(""),HB((e)=>e.toUpperCase().replace(/O/g,"0").replace(/[IL]/g,"1")))),WB=(()=>typeof Uint8Array.from([]).toBase64==="function"&&typeof Uint8Array.fromBase64==="function")(),Tie=/[\t\n\f\r ]/,GB=(e,t)=>{vi("base64",e);let r=t?"base64url":"base64";if(e.length>0&&Tie.test(e))throw Error("invalid base64");return Uint8Array.fromBase64(e,{alphabet:r,lastChunkHandling:"strict"})},bk=Object.freeze(WB?{encode(e){return gk(e),e.toBase64()},decode(e){return GB(e,!1)}}:Pr(Kr(6),zr("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),ig(6),Nr(""))),tr=Object.freeze(Pr(Kr(6),zr("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),Nr(""))),JTe=Object.freeze(WB?{encode(e){return gk(e),e.toBase64({alphabet:"base64url"})},decode(e){return GB(e,!0)}}:Pr(Kr(6),zr("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),ig(6),Nr(""))),KTe=Object.freeze(Pr(Kr(6),zr("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),Nr(""))),Sk=(e)=>Pr(Aie(58),zr(e),Nr("")),HTe=Object.freeze(Sk("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz")),VTe=Object.freeze(Sk("123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ")),WTe=Object.freeze(Sk("rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz"));var hk=Pr(zr("qpzry9x8gf2tvdw0s3jn54khce6mua7l"),Nr("")),MB=[996825010,642813549,513874426,1027748829,705979059];function cd(e){let t=e>>25,r=(e&33554431)<<5;for(let o=0;o<MB.length;o++)if((t>>o&1)===1)r^=MB[o];return r}function FB(e,t,r=1){let o=e.length,n=1;for(let i=0;i<o;i++){let s=e.charCodeAt(i);if(s<33||s>126)throw Error(`Invalid prefix (${e})`);n=cd(n)^s>>5}n=cd(n);for(let i=0;i<o;i++)n=cd(n)^e.charCodeAt(i)&31;for(let i of t)n=cd(n)^i;for(let i=0;i<6;i++)n=cd(n);return n^=r,hk.encode(mk([n%eg[30]],30,5,!1))}function QB(e){let t=e==="bech32"?1:734539939,r=Kr(5),o=r.decode,n=r.encode,i=qB(o);function s(f,m,h=90){if(vi("bech32.encode prefix",f),og(m))m=Array.from(m);yk("bech32.encode",m);let b=f.length;if(b===0)throw TypeError(`Invalid prefix length ${b}`);let y=b+7+m.length;if(h!==!1&&y>h)throw TypeError(`Length ${y} exceeds limit ${h}`);let S=f.toLowerCase(),x=FB(S,m,t);return`${S}1${hk.encode(m)}${x}`}function a(f,m=90){vi("bech32.decode input",f);let h=f.length;if(h<8||m!==!1&&h>m)throw TypeError(`invalid string length: ${h} (${f}). Expected (8..${m})`);let b=f.toLowerCase();if(f!==b&&f!==f.toUpperCase())throw Error("String must be lowercase or uppercase");let y=b.lastIndexOf("1");if(y===0||y===-1)throw Error('Letter "1" must be present between prefix and data only');let S=b.slice(0,y),x=b.slice(y+1);if(x.length<6)throw Error("Data must be at least 6 characters long");let _=hk.decode(x).slice(0,-6),A=FB(S,_,t);if(!x.endsWith(A))throw Error(`Invalid checksum in ${f}: expected "${A}"`);return{prefix:S,words:_}}let c=qB(a);function u(f){let{prefix:m,words:h}=a(f,!1);return{prefix:m,words:h,bytes:o(h)}}function d(f,m){return s(f,n(m))}return{encode:s,decode:a,encodeFromBytes:d,decodeToBytes:u,decodeUnsafe:c,fromWords:o,fromWordsUnsafe:i,toWords:n}}var Dr=Object.freeze(QB("bech32")),GTe=Object.freeze(QB("bech32m"));var $ie=(()=>typeof Uint8Array.from([]).toHex==="function"&&typeof Uint8Array.fromHex==="function")(),Rie={encode(e){return gk(e),e.toHex()},decode(e){return vi("hex",e),Uint8Array.fromHex(e)}},QTe=Object.freeze($ie?Rie:Pr(Kr(4),zr("0123456789abcdef"),Nr(""),HB((e)=>{if(typeof e!=="string"||e.length%2!==0)throw TypeError(`hex.decode: expected string, got ${typeof e} with length ${e.length}`);return e.toLowerCase()})));function Cie(e,t,r,o){yo(e);let n=Gh({dkLen:32,asyncTick:10},o),{c:i,dkLen:s,asyncTick:a}=n;if(vt(i,"c"),vt(s,"dkLen"),vt(a,"asyncTick"),i<1)throw Error("iterations (c) must be >= 1");if(s<1)throw Error('"dkLen" must be >= 1');if(s>4294967295*e.outputLen)throw Error("derived key too long");let c=ik(t,"password"),u=ik(r,"salt"),d=new Uint8Array(s),f=Bn.create(e,c),m=f._cloneInto().update(u);return{c:i,dkLen:s,asyncTick:a,DK:d,PRF:f,PRFSalt:m}}function Pie(e,t,r,o,n){if(e.destroy(),t.destroy(),o)o.destroy();return mr(n),r}function vk(e,t,r,o){let{c:n,dkLen:i,DK:s,PRF:a,PRFSalt:c}=Cie(e,t,r,o),u,d=new Uint8Array(4),f=xc(d),m=new Uint8Array(a.outputLen);for(let h=1,b=0;b<i;h++,b+=a.outputLen){let y=s.subarray(b,b+a.outputLen);f.setInt32(0,h,!1),(u=c._cloneInto(u)).update(d).digestInto(m),y.set(m.subarray(0,y.length));for(let S=1;S<n;S++){a._cloneInto(u).update(m).digestInto(m);for(let x=0;x<y.length;x++)y[x]^=m[x]}}return Pie(a,c,s,u,m)}function YB(e,t,r,o,n,i){let s=e[t++]^r[o++],a=e[t++]^r[o++],c=e[t++]^r[o++],u=e[t++]^r[o++],d=e[t++]^r[o++],f=e[t++]^r[o++],m=e[t++]^r[o++],h=e[t++]^r[o++],b=e[t++]^r[o++],y=e[t++]^r[o++],S=e[t++]^r[o++],x=e[t++]^r[o++],_=e[t++]^r[o++],A=e[t++]^r[o++],O=e[t++]^r[o++],L=e[t++]^r[o++],z=s,K=a,P=c,W=u,ee=d,j=f,R=m,B=h,I=b,T=y,k=S,M=x,N=_,H=A,G=O,re=L;for(let ae=0;ae<8;ae+=2)ee^=Fe(z+N|0,7),I^=Fe(ee+z|0,9),N^=Fe(I+ee|0,13),z^=Fe(N+I|0,18),T^=Fe(j+K|0,7),H^=Fe(T+j|0,9),K^=Fe(H+T|0,13),j^=Fe(K+H|0,18),G^=Fe(k+R|0,7),P^=Fe(G+k|0,9),R^=Fe(P+G|0,13),k^=Fe(R+P|0,18),W^=Fe(re+M|0,7),B^=Fe(W+re|0,9),M^=Fe(B+W|0,13),re^=Fe(M+B|0,18),K^=Fe(z+W|0,7),P^=Fe(K+z|0,9),W^=Fe(P+K|0,13),z^=Fe(W+P|0,18),R^=Fe(j+ee|0,7),B^=Fe(R+j|0,9),ee^=Fe(B+R|0,13),j^=Fe(ee+B|0,18),M^=Fe(k+T|0,7),I^=Fe(M+k|0,9),T^=Fe(I+M|0,13),k^=Fe(T+I|0,18),N^=Fe(re+G|0,7),H^=Fe(N+re|0,9),G^=Fe(H+N|0,13),re^=Fe(G+H|0,18);n[i++]=s+z|0,n[i++]=a+K|0,n[i++]=c+P|0,n[i++]=u+W|0,n[i++]=d+ee|0,n[i++]=f+j|0,n[i++]=m+R|0,n[i++]=h+B|0,n[i++]=b+I|0,n[i++]=y+T|0,n[i++]=S+k|0,n[i++]=x+M|0,n[i++]=_+N|0,n[i++]=A+H|0,n[i++]=O+G|0,n[i++]=L+re|0}function wk(e,t,r,o,n){let i=o+0,s=o+16*n;for(let a=0;a<16;a++)r[s+a]=e[t+(2*n-1)*16+a];for(let a=0;a<n;a++,i+=16,t+=16){if(YB(r,s,e,t,r,i),a>0)s+=16;YB(r,i,e,t+=16,r,s)}}function zie(e,t,r){let o=Gh({dkLen:32,asyncTick:10,maxmem:1073742848},r),{N:n,r:i,p:s,dkLen:a,asyncTick:c,maxmem:u,onProgress:d}=o;if(vt(n,"N"),vt(i,"r"),vt(s,"p"),vt(a,"dkLen"),vt(c,"asyncTick"),vt(u,"maxmem"),d!==void 0&&typeof d!=="function")throw Error("progressCb must be a function");let f=128*i,m=f/4,h=Math.pow(2,32);if(n<=1||(n&n-1)!==0||n>h)throw Error('"N" expected a power of 2, and 2^1 <= N <= 2^32');if(s<1||s>(h-1)*32/f)throw Error('"p" expected integer 1..((2^32 - 1) * 32) / (128 * r)');if(a<1||a>(h-1)*32)throw Error('"dkLen" expected integer 1..(2^32 - 1) * 32');let b=f*(n+s+1);if(b>u)throw Error('"maxmem" limit was hit: memUsed(128*r*(N+p+1))='+b+", maxmem="+u);let y=vk(wt,e,t,{c:1,dkLen:f*s}),S=Vh(y),x=Vh(new Uint8Array(f*n)),_=Vh(new Uint8Array(f)),A=()=>{};if(d){let O=2*n*s,L=Math.max(Math.floor(O/1e4),1),z=0;A=()=>{if(z++,d&&(!(z%L)||z===O))d(z/O)}}return{N:n,r:i,p:s,dkLen:a,blockSize32:m,V:x,B32:S,B:y,tmp:_,blockMixCb:A,asyncTick:c}}function Nie(e,t,r,o,n){let i=vk(wt,e,r,{c:1,dkLen:t});return mr(r,o,n),i}function xk(e,t,r){let{N:o,r:n,p:i,dkLen:s,blockSize32:a,V:c,B32:u,B:d,tmp:f,blockMixCb:m}=zie(e,t,r);ok(u);for(let h=0;h<i;h++){let b=a*h;for(let y=0;y<a;y++)c[y]=u[b+y];for(let y=0,S=0;y<o-1;y++)wk(c,S,c,S+=a,n),m();wk(c,(o-1)*a,u,b,n),m();for(let y=0;y<o;y++){let S=(u[b+a-16]&o-1)>>>0;for(let x=0;x<a;x++)f[x]=u[b+x]^c[S*a+x];wk(f,0,u,b,n),m()}}return ok(u),Nie(e,s,d,c,f)}/*! noble-ciphers - MIT License (c) 2023 Paul Miller (paulmillr.com) */function Die(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"&&"BYTES_PER_ELEMENT"in e&&e.BYTES_PER_ELEMENT===1}function sg(e){if(typeof e!=="boolean")throw TypeError(`boolean expected, not ${e}`)}function _c(e){if(typeof e!=="number")throw TypeError("number expected, got "+typeof e);if(!Number.isSafeInteger(e)||e<0)throw RangeError("positive integer expected, got "+e)}function Ot(e,t,r=""){let o=Die(e),n=e?.length,i=t!==void 0;if(!o||i&&n!==t){let s=r&&`"${r}" `,a=i?` of length ${t}`:"",c=o?`length=${n}`:`type=${typeof e}`,u=s+"expected Uint8Array"+a+", got "+c;if(!o)throw TypeError(u);throw RangeError(u)}return e}function _k(e,t=!0){if(e.destroyed)throw Error("Hash instance has been destroyed");if(t&&e.finished)throw Error("Hash#digest() has already been called")}function XB(e,t,r=!1){Ot(e,void 0,"output");let o=t.outputLen;if(e.length<o)throw RangeError("digestInto() expects output buffer of length at least "+o);if(r&&!Ec(e))throw Error("invalid output, must be aligned")}function Zn(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function fn(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Lie(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}var $s=(()=>new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68)(),Bie=(e)=>e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255;var jie=(e)=>{for(let t=0;t<e.length;t++)e[t]=Bie(e[t]);return e},vo=$s?(e)=>e:jie;function ej(e,t){if(t==null||typeof t!=="object")throw Error("options must be defined");return Object.assign(e,t)}function tj(e,t){if(e.length!==t.length)return!1;let r=0;for(let o=0;o<e.length;o++)r|=e[o]^t[o];return r===0}function rj(e,t,r){let o=t,n=r||(()=>[]),i=(a,c)=>o(c,...n(a)).update(a).digest(),s=o(new Uint8Array(e),...n(new Uint8Array(0)));return i.outputLen=s.outputLen,i.blockLen=s.blockLen,i.create=(a,...c)=>o(a,...c),i}var nj=(e,t)=>{function r(o,...n){if(Ot(o,void 0,"key"),e.nonceLength!==void 0){let d=n[0];Ot(d,e.varSizeNonce?void 0:e.nonceLength,"nonce")}let i=e.tagLength;if(i&&n[1]!==void 0)Ot(n[1],void 0,"AAD");let s=t(o,...n),a=(d,f)=>{if(f!==void 0){if(d!==2)throw Error("cipher output not supported");Ot(f,void 0,"output")}},c=!1;return{encrypt(d,f){if(c)throw Error("cannot encrypt() twice with same key + nonce");return c=!0,Ot(d),a(s.encrypt.length,f),s.encrypt(d,f)},decrypt(d,f){if(Ot(d),i&&d.length<i)throw Error('"ciphertext" expected length bigger than tagLength='+i);return a(s.decrypt.length,f),s.decrypt(d,f)}}}return Object.assign(r,e),r};function ud(e,t,r=!0){if(t===void 0)return new Uint8Array(e);if(Ot(t,void 0,"output"),t.length!==e)throw Error('"output" expected Uint8Array of length '+e+", got: "+t.length);if(r&&!Ec(t))throw Error("invalid output, must be aligned");return t}function oj(e,t,r){_c(e),_c(t),sg(r);let o=new Uint8Array(16),n=Lie(o);return n.setBigUint64(0,BigInt(t),r),n.setBigUint64(8,BigInt(e),r),o}function Ec(e){return e.byteOffset%4===0}function Ic(e){return Uint8Array.from(Ot(e))}var sj=(e)=>Uint8Array.from(e.split(""),(t)=>t.charCodeAt(0)),Zie=(()=>vo(Zn(sj("expand 16-byte k"))))(),Uie=(()=>vo(Zn(sj("expand 32-byte k"))))();function Je(e,t){return e<<t|e>>>32-t}var dd=64,qie=16,Ek=(()=>4294967295)(),ij=Uint32Array.of();function Mie(e,t,r,o,n,i,s,a){let c=n.length,u=new Uint8Array(dd),d=Zn(u),f=$s&&Ec(n)&&Ec(i),m=f?Zn(n):ij,h=f?Zn(i):ij;if(!$s){for(let b=0;b<c;s++){if(e(t,r,o,d,s,a),vo(d),s>=Ek)throw Error("arx: counter overflow");let y=Math.min(dd,c-b);for(let S=0,x;S<y;S++)x=b+S,i[x]=n[x]^u[S];b+=y}return}for(let b=0;b<c;s++){if(e(t,r,o,d,s,a),s>=Ek)throw Error("arx: counter overflow");let y=Math.min(dd,c-b);if(f&&y===dd){let S=b/4;if(b%4!==0)throw Error("arx: invalid block position");for(let x=0,_;x<qie;x++)_=S+x,h[_]=m[_]^d[x];b+=dd;continue}for(let S=0,x;S<y;S++)x=b+S,i[x]=n[x]^u[S];b+=y}}function aj(e,t){let{allowShortKeys:r,extendNonceFn:o,counterLength:n,counterRight:i,rounds:s}=ej({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},t);if(typeof e!=="function")throw Error("core must be a function");return _c(n),_c(s),sg(i),sg(r),(a,c,u,d,f=0)=>{Ot(a,void 0,"key"),Ot(c,void 0,"nonce"),Ot(u,void 0,"data");let m=u.length;if(d=ud(m,d,!1),_c(f),f<0||f>=Ek)throw Error("arx: counter overflow");let h=[],b=a.length,y,S;if(b===32)h.push(y=Ic(a)),S=Uie;else if(b===16&&r)y=new Uint8Array(32),y.set(a),y.set(a,16),S=Zie,h.push(y);else throw Ot(a,32,"arx key"),Error("invalid key size");if(!$s||!Ec(c))h.push(c=Ic(c));let x=Zn(y);if(o){if(c.length!==24)throw Error("arx: extended nonce must be 24 bytes");let O=c.subarray(0,16);if($s)o(S,x,Zn(O),x);else{let L=vo(Uint32Array.from(S));o(L,x,Zn(O),x),fn(L),vo(x)}c=c.subarray(16)}else if(!$s)vo(x);let _=16-n;if(_!==c.length)throw Error(`arx: nonce must be ${_} or 16 bytes`);if(_!==12){let O=new Uint8Array(12);O.set(c,i?0:12-c.length),c=O,h.push(c)}let A=vo(Zn(c));try{return Mie(e,S,x,A,u,d,f,s),d}finally{fn(...h)}}}function Kt(e,t){return e[t++]&255|(e[t++]&255)<<8}class cj{blockLen=16;outputLen=16;buffer=new Uint8Array(16);r=new Uint16Array(10);h=new Uint16Array(10);pad=new Uint16Array(8);pos=0;finished=!1;destroyed=!1;constructor(e){e=Ic(Ot(e,32,"key"));let t=Kt(e,0),r=Kt(e,2),o=Kt(e,4),n=Kt(e,6),i=Kt(e,8),s=Kt(e,10),a=Kt(e,12),c=Kt(e,14);this.r[0]=t&8191,this.r[1]=(t>>>13|r<<3)&8191,this.r[2]=(r>>>10|o<<6)&7939,this.r[3]=(o>>>7|n<<9)&8191,this.r[4]=(n>>>4|i<<12)&255,this.r[5]=i>>>1&8190,this.r[6]=(i>>>14|s<<2)&8191,this.r[7]=(s>>>11|a<<5)&8065,this.r[8]=(a>>>8|c<<8)&8191,this.r[9]=c>>>5&127;for(let u=0;u<8;u++)this.pad[u]=Kt(e,16+2*u)}process(e,t,r=!1){let o=r?0:2048,{h:n,r:i}=this,s=i[0],a=i[1],c=i[2],u=i[3],d=i[4],f=i[5],m=i[6],h=i[7],b=i[8],y=i[9],S=Kt(e,t+0),x=Kt(e,t+2),_=Kt(e,t+4),A=Kt(e,t+6),O=Kt(e,t+8),L=Kt(e,t+10),z=Kt(e,t+12),K=Kt(e,t+14),P=n[0]+(S&8191),W=n[1]+((S>>>13|x<<3)&8191),ee=n[2]+((x>>>10|_<<6)&8191),j=n[3]+((_>>>7|A<<9)&8191),R=n[4]+((A>>>4|O<<12)&8191),B=n[5]+(O>>>1&8191),I=n[6]+((O>>>14|L<<2)&8191),T=n[7]+((L>>>11|z<<5)&8191),k=n[8]+((z>>>8|K<<8)&8191),M=n[9]+(K>>>5|o),N=0,H=N+P*s+W*(5*y)+ee*(5*b)+j*(5*h)+R*(5*m);N=H>>>13,H&=8191,H+=B*(5*f)+I*(5*d)+T*(5*u)+k*(5*c)+M*(5*a),N+=H>>>13,H&=8191;let G=N+P*a+W*s+ee*(5*y)+j*(5*b)+R*(5*h);N=G>>>13,G&=8191,G+=B*(5*m)+I*(5*f)+T*(5*d)+k*(5*u)+M*(5*c),N+=G>>>13,G&=8191;let re=N+P*c+W*a+ee*s+j*(5*y)+R*(5*b);N=re>>>13,re&=8191,re+=B*(5*h)+I*(5*m)+T*(5*f)+k*(5*d)+M*(5*u),N+=re>>>13,re&=8191;let ae=N+P*u+W*c+ee*a+j*s+R*(5*y);N=ae>>>13,ae&=8191,ae+=B*(5*b)+I*(5*h)+T*(5*m)+k*(5*f)+M*(5*d),N+=ae>>>13,ae&=8191;let pe=N+P*d+W*u+ee*c+j*a+R*s;N=pe>>>13,pe&=8191,pe+=B*(5*y)+I*(5*b)+T*(5*h)+k*(5*m)+M*(5*f),N+=pe>>>13,pe&=8191;let be=N+P*f+W*d+ee*u+j*c+R*a;N=be>>>13,be&=8191,be+=B*s+I*(5*y)+T*(5*b)+k*(5*h)+M*(5*m),N+=be>>>13,be&=8191;let ve=N+P*m+W*f+ee*d+j*u+R*c;N=ve>>>13,ve&=8191,ve+=B*a+I*s+T*(5*y)+k*(5*b)+M*(5*h),N+=ve>>>13,ve&=8191;let ke=N+P*h+W*m+ee*f+j*d+R*u;N=ke>>>13,ke&=8191,ke+=B*c+I*a+T*s+k*(5*y)+M*(5*b),N+=ke>>>13,ke&=8191;let Ie=N+P*b+W*h+ee*m+j*f+R*d;N=Ie>>>13,Ie&=8191,Ie+=B*u+I*c+T*a+k*s+M*(5*y),N+=Ie>>>13,Ie&=8191;let we=N+P*y+W*b+ee*h+j*m+R*f;N=we>>>13,we&=8191,we+=B*d+I*u+T*c+k*a+M*s,N+=we>>>13,we&=8191,N=(N<<2)+N|0,N=N+H|0,H=N&8191,N=N>>>13,G+=N,n[0]=H,n[1]=G,n[2]=re,n[3]=ae,n[4]=pe,n[5]=be,n[6]=ve,n[7]=ke,n[8]=Ie,n[9]=we}finalize(){let{h:e,pad:t}=this,r=new Uint16Array(10),o=e[1]>>>13;e[1]&=8191;for(let s=2;s<10;s++)e[s]+=o,o=e[s]>>>13,e[s]&=8191;e[0]+=o*5,o=e[0]>>>13,e[0]&=8191,e[1]+=o,o=e[1]>>>13,e[1]&=8191,e[2]+=o,r[0]=e[0]+5,o=r[0]>>>13,r[0]&=8191;for(let s=1;s<10;s++)r[s]=e[s]+o,o=r[s]>>>13,r[s]&=8191;r[9]-=8192;let n=(o^1)-1;for(let s=0;s<10;s++)r[s]&=n;n=~n;for(let s=0;s<10;s++)e[s]=e[s]&n|r[s];e[0]=(e[0]|e[1]<<13)&65535,e[1]=(e[1]>>>3|e[2]<<10)&65535,e[2]=(e[2]>>>6|e[3]<<7)&65535,e[3]=(e[3]>>>9|e[4]<<4)&65535,e[4]=(e[4]>>>12|e[5]<<1|e[6]<<14)&65535,e[5]=(e[6]>>>2|e[7]<<11)&65535,e[6]=(e[7]>>>5|e[8]<<8)&65535,e[7]=(e[8]>>>8|e[9]<<5)&65535;let i=e[0]+t[0];e[0]=i&65535;for(let s=1;s<8;s++)i=(e[s]+t[s]|0)+(i>>>16)|0,e[s]=i&65535;fn(r)}update(e){_k(this),Ot(e),e=Ic(e);let{buffer:t,blockLen:r}=this,o=e.length;for(let n=0;n<o;){let i=Math.min(r-this.pos,o-n);if(i===r){for(;r<=o-n;n+=r)this.process(e,n);continue}if(t.set(e.subarray(n,n+i),this.pos),this.pos+=i,n+=i,this.pos===r)this.process(t,0,!1),this.pos=0}return this}destroy(){this.destroyed=!0,fn(this.h,this.r,this.buffer,this.pad)}digestInto(e){_k(this),XB(e,this),this.finished=!0;let{buffer:t,h:r}=this,{pos:o}=this;if(o){t[o++]=1;for(;o<16;o++)t[o]=0;this.process(t,0,!0)}this.finalize();let n=0;for(let i=0;i<8;i++)e[n++]=r[i]>>>0,e[n++]=r[i]>>>8}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let r=e.slice(0,t);return this.destroy(),r}}var lj=rj(32,(e)=>new cj(e));function Fie(e,t,r,o,n,i=20){let s=e[0],a=e[1],c=e[2],u=e[3],d=t[0],f=t[1],m=t[2],h=t[3],b=t[4],y=t[5],S=t[6],x=t[7],_=n,A=r[0],O=r[1],L=r[2],z=s,K=a,P=c,W=u,ee=d,j=f,R=m,B=h,I=b,T=y,k=S,M=x,N=_,H=A,G=O,re=L;for(let pe=0;pe<i;pe+=2)z=z+ee|0,N=Je(N^z,16),I=I+N|0,ee=Je(ee^I,12),z=z+ee|0,N=Je(N^z,8),I=I+N|0,ee=Je(ee^I,7),K=K+j|0,H=Je(H^K,16),T=T+H|0,j=Je(j^T,12),K=K+j|0,H=Je(H^K,8),T=T+H|0,j=Je(j^T,7),P=P+R|0,G=Je(G^P,16),k=k+G|0,R=Je(R^k,12),P=P+R|0,G=Je(G^P,8),k=k+G|0,R=Je(R^k,7),W=W+B|0,re=Je(re^W,16),M=M+re|0,B=Je(B^M,12),W=W+B|0,re=Je(re^W,8),M=M+re|0,B=Je(B^M,7),z=z+j|0,re=Je(re^z,16),k=k+re|0,j=Je(j^k,12),z=z+j|0,re=Je(re^z,8),k=k+re|0,j=Je(j^k,7),K=K+R|0,N=Je(N^K,16),M=M+N|0,R=Je(R^M,12),K=K+R|0,N=Je(N^K,8),M=M+N|0,R=Je(R^M,7),P=P+B|0,H=Je(H^P,16),I=I+H|0,B=Je(B^I,12),P=P+B|0,H=Je(H^P,8),I=I+H|0,B=Je(B^I,7),W=W+ee|0,G=Je(G^W,16),T=T+G|0,ee=Je(ee^T,12),W=W+ee|0,G=Je(G^W,8),T=T+G|0,ee=Je(ee^T,7);let ae=0;o[ae++]=s+z|0,o[ae++]=a+K|0,o[ae++]=c+P|0,o[ae++]=u+W|0,o[ae++]=d+ee|0,o[ae++]=f+j|0,o[ae++]=m+R|0,o[ae++]=h+B|0,o[ae++]=b+I|0,o[ae++]=y+T|0,o[ae++]=S+k|0,o[ae++]=x+M|0,o[ae++]=_+N|0,o[ae++]=A+H|0,o[ae++]=O+G|0,o[ae++]=L+re|0}var Jie=aj(Fie,{counterRight:!1,counterLength:4,allowShortKeys:!1});var Kie=new Uint8Array(16),uj=(e,t)=>{e.update(t);let r=t.length%16;if(r)e.update(Kie.subarray(r))},Hie=new Uint8Array(32);function dj(e,t,r,o,n){if(n!==void 0)Ot(n,void 0,"AAD");let i=e(t,r,Hie),s=oj(o.length,n?n.length:0,!0),a=lj.create(i);if(n)uj(a,n);uj(a,o),a.update(s);let c=a.digest();return fn(i,s),c}var Vie=(e)=>(t,r,o)=>({encrypt(i,s){let a=i.length;s=ud(a+16,s,!1),s.set(i);let c=s.subarray(0,-16);e(t,r,c,c,1);let u=dj(e,t,r,c,o);return s.set(u,a),fn(u),s},decrypt(i,s){s=ud(i.length-16,s,!1);let a=i.subarray(0,-16),c=i.subarray(-16),u=dj(e,t,r,a,o);if(!tj(c,u))throw fn(u),Error("invalid tag");return s.set(i.subarray(0,-16)),e(t,r,s,s,1),fn(u),s}}),Hr=nj({blockSize:64,nonceLength:12,tagLength:16},Vie(Jie));/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */function kc(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Bt(e,t=""){if(!Number.isSafeInteger(e)||e<0){let r=t&&`"${t}" `;throw Error(`${r}expected integer >= 0, got ${e}`)}}function Te(e,t,r=""){let o=kc(e),n=e?.length,i=t!==void 0;if(!o||i&&n!==t){let s=r&&`"${r}" `,a=i?` of length ${t}`:"",c=o?`length=${n}`:`type=${typeof e}`;throw Error(s+"expected Uint8Array"+a+", got "+c)}return e}function Vr(e){if(typeof e!=="function"||typeof e.create!=="function")throw Error("Hash must wrapped by utils.createHasher");Bt(e.outputLen),Bt(e.blockLen)}function xo(e,t=!0){if(e.destroyed)throw Error("Hash instance has been destroyed");if(t&&e.finished)throw Error("Hash#digest() has already been called")}function ag(e,t){Te(e,void 0,"digestInto() output");let r=t.outputLen;if(e.length<r)throw Error('"digestInto() output" expected to be of length >='+r)}function cg(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function Er(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function lg(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function pn(e,t){return e<<32-t|e>>>t}var Wie=(()=>new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68)();function Gie(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function Qie(e){for(let t=0;t<e.length;t++)e[t]=Gie(e[t]);return e}var Ik=Wie?(e)=>e:Qie,pj=(()=>typeof Uint8Array.from([]).toHex==="function"&&typeof Uint8Array.fromHex==="function")(),Yie=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Rs(e){if(Te(e),pj)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=Yie[e[r]];return t}var wo={_0:48,_9:57,A:65,F:70,a:97,f:102};function fj(e){if(e>=wo._0&&e<=wo._9)return e-wo._0;if(e>=wo.A&&e<=wo.F)return e-(wo.A-10);if(e>=wo.a&&e<=wo.f)return e-(wo.a-10);return}function Os(e){if(typeof e!=="string")throw Error("hex string expected, got "+typeof e);if(pj)return Uint8Array.fromHex(e);let t=e.length,r=t/2;if(t%2)throw Error("hex string expected, got unpadded hex of length "+t);let o=new Uint8Array(r);for(let n=0,i=0;n<r;n++,i+=2){let s=fj(e.charCodeAt(i)),a=fj(e.charCodeAt(i+1));if(s===void 0||a===void 0){let c=e[i]+e[i+1];throw Error('hex string expected, got non-hex character "'+c+'" at index '+i)}o[n]=s*16+a}return o}function It(...e){let t=0;for(let o=0;o<e.length;o++){let n=e[o];Te(n),t+=n.length}let r=new Uint8Array(t);for(let o=0,n=0;o<e.length;o++){let i=e[o];r.set(i,n),n+=i.length}return r}function Ac(e,t={}){let r=(n,i)=>e(i).update(n).digest(),o=e(void 0);return r.outputLen=o.outputLen,r.blockLen=o.blockLen,r.create=(n)=>e(n),Object.assign(r,t),Object.freeze(r)}function wi(e=32){let t=typeof globalThis==="object"?globalThis.crypto:null;if(typeof t?.getRandomValues!=="function")throw Error("crypto.getRandomValues must be defined");return t.getRandomValues(new Uint8Array(e))}var xi=(e)=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,e])});/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var Ak=BigInt(0),kk=BigInt(1);function fd(e,t=""){if(typeof e!=="boolean"){let r=t&&`"${t}" `;throw Error(r+"expected boolean, got type="+typeof e)}return e}function mj(e){if(typeof e==="bigint"){if(!ug(e))throw Error("positive bigint expected, got "+e)}else Bt(e);return e}function pd(e){let t=mj(e).toString(16);return t.length&1?"0"+t:t}function hj(e){if(typeof e!=="string")throw Error("hex string expected, got "+typeof e);return e===""?Ak:BigInt("0x"+e)}function _i(e){return hj(Rs(e))}function Ei(e){return hj(Rs(dg(Te(e)).reverse()))}function Tc(e,t){Bt(t),e=mj(e);let r=Os(e.toString(16).padStart(t*2,"0"));if(r.length!==t)throw Error("number too large");return r}function md(e,t){return Tc(e,t).reverse()}function dg(e){return Uint8Array.from(e)}function Ii(e){return Uint8Array.from(e,(t,r)=>{let o=t.charCodeAt(0);if(t.length!==1||o>127)throw Error(`string contains non-ASCII character "${e[r]}" with code ${o} at position ${r}`);return o})}var ug=(e)=>typeof e==="bigint"&&Ak<=e;function Xie(e,t,r){return ug(e)&&ug(t)&&ug(r)&&t<=e&&e<r}function hd(e,t,r,o){if(!Xie(t,r,o))throw Error("expected valid "+e+": "+r+" <= n < "+o+", got "+t)}function Tk(e){let t;for(t=0;e>Ak;e>>=kk,t+=1);return t}var gd=(e)=>(kk<<BigInt(e))-kk;function gj(e,t,r){if(Bt(e,"hashLen"),Bt(t,"qByteLen"),typeof r!=="function")throw Error("hmacFn must be a function");let o=(S)=>new Uint8Array(S),n=Uint8Array.of(),i=Uint8Array.of(0),s=Uint8Array.of(1),a=1000,c=o(e),u=o(e),d=0,f=()=>{c.fill(1),u.fill(0),d=0},m=(...S)=>r(u,It(c,...S)),h=(S=n)=>{if(u=m(i,S),c=m(),S.length===0)return;u=m(s,S),c=m()},b=()=>{if(d++>=a)throw Error("drbg: tried max amount of iterations");let S=0,x=[];while(S<t){c=m();let _=c.slice();x.push(_),S+=c.length}return It(...x)};return(S,x)=>{f(),h(S);let _=void 0;while(!(_=x(b())))h();return f(),_}}function Cs(e,t={},r={}){if(!e||typeof e!=="object")throw Error("expected valid options object");function o(i,s,a){let c=e[i];if(a&&c===void 0)return;let u=typeof c;if(u!==s||c===null)throw Error(`param "${i}" is invalid: expected ${s}, got ${u}`)}let n=(i,s)=>Object.entries(i).forEach(([a,c])=>o(a,c,s));n(t,!1),n(r,!0)}function $k(e){let t=new WeakMap;return(r,...o)=>{let n=t.get(r);if(n!==void 0)return n;let i=e(r,...o);return t.set(r,i),i}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var gr=BigInt(0),rr=BigInt(1),Ps=BigInt(2),Sj=BigInt(3),vj=BigInt(4),wj=BigInt(5),ese=BigInt(7),xj=BigInt(8),tse=BigInt(9),_j=BigInt(16);function hr(e,t){let r=e%t;return r>=gr?r:t+r}function Wr(e,t,r){let o=e;while(t-- >gr)o*=o,o%=r;return o}function yj(e,t){if(e===gr)throw Error("invert: expected non-zero number");if(t<=gr)throw Error("invert: expected positive modulus, got "+t);let r=hr(e,t),o=t,n=gr,i=rr,s=rr,a=gr;while(r!==gr){let u=o/r,d=o%r,f=n-s*u,m=i-a*u;o=r,r=d,n=s,i=a,s=f,a=m}if(o!==rr)throw Error("invert: does not exist");return hr(n,t)}function Rk(e,t,r){if(!e.eql(e.sqr(t),r))throw Error("Cannot find square root")}function Ej(e,t){let r=(e.ORDER+rr)/vj,o=e.pow(t,r);return Rk(e,o,t),o}function rse(e,t){let r=(e.ORDER-wj)/xj,o=e.mul(t,Ps),n=e.pow(o,r),i=e.mul(t,n),s=e.mul(e.mul(i,Ps),n),a=e.mul(i,e.sub(s,e.ONE));return Rk(e,a,t),a}function nse(e){let t=fg(e),r=Ij(e),o=r(t,t.neg(t.ONE)),n=r(t,o),i=r(t,t.neg(o)),s=(e+ese)/_j;return(a,c)=>{let u=a.pow(c,s),d=a.mul(u,o),f=a.mul(u,n),m=a.mul(u,i),h=a.eql(a.sqr(d),c),b=a.eql(a.sqr(f),c);u=a.cmov(u,d,h),d=a.cmov(m,f,b);let y=a.eql(a.sqr(d),c),S=a.cmov(u,d,y);return Rk(a,S,c),S}}function Ij(e){if(e<Sj)throw Error("sqrt is not defined for small field");let t=e-rr,r=0;while(t%Ps===gr)t/=Ps,r++;let o=Ps,n=fg(e);while(bj(n,o)===1)if(o++>1000)throw Error("Cannot find square root: probably non-prime P");if(r===1)return Ej;let i=n.pow(o,t),s=(t+rr)/Ps;return function(c,u){if(c.is0(u))return u;if(bj(c,u)!==1)throw Error("Cannot find square root");let d=r,f=c.mul(c.ONE,i),m=c.pow(u,t),h=c.pow(u,s);while(!c.eql(m,c.ONE)){if(c.is0(m))return c.ZERO;let b=1,y=c.sqr(m);while(!c.eql(y,c.ONE))if(b++,y=c.sqr(y),b===d)throw Error("Cannot find square root");let S=rr<<BigInt(d-b-1),x=c.pow(f,S);d=b,f=c.sqr(x),m=c.mul(m,f),h=c.mul(h,x)}return h}}function ose(e){if(e%vj===Sj)return Ej;if(e%xj===wj)return rse;if(e%_j===tse)return nse(e);return Ij(e)}var ise=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Ok(e){let t={ORDER:"bigint",BYTES:"number",BITS:"number"},r=ise.reduce((o,n)=>(o[n]="function",o),t);return Cs(e,r),e}function sse(e,t,r){if(r<gr)throw Error("invalid exponent, negatives unsupported");if(r===gr)return e.ONE;if(r===rr)return t;let o=e.ONE,n=t;while(r>gr){if(r&rr)o=e.mul(o,n);n=e.sqr(n),r>>=rr}return o}function yd(e,t,r=!1){let o=Array(t.length).fill(r?e.ZERO:void 0),n=t.reduce((s,a,c)=>{if(e.is0(a))return s;return o[c]=s,e.mul(s,a)},e.ONE),i=e.inv(n);return t.reduceRight((s,a,c)=>{if(e.is0(a))return s;return o[c]=e.mul(s,o[c]),e.mul(s,a)},i),o}function bj(e,t){let r=(e.ORDER-rr)/Ps,o=e.pow(t,r),n=e.eql(o,e.ONE),i=e.eql(o,e.ZERO),s=e.eql(o,e.neg(e.ONE));if(!n&&!i&&!s)throw Error("invalid Legendre symbol result");return n?1:i?0:-1}function ase(e,t){if(t!==void 0)Bt(t);let r=t!==void 0?t:e.toString(2).length,o=Math.ceil(r/8);return{nBitLength:r,nByteLength:o}}class kj{ORDER;BITS;BYTES;isLE;ZERO=gr;ONE=rr;_lengths;_sqrt;_mod;constructor(e,t={}){if(e<=gr)throw Error("invalid field: expected ORDER > 0, got "+e);let r=void 0;if(this.isLE=!1,t!=null&&typeof t==="object"){if(typeof t.BITS==="number")r=t.BITS;if(typeof t.sqrt==="function")this.sqrt=t.sqrt;if(typeof t.isLE==="boolean")this.isLE=t.isLE;if(t.allowedLengths)this._lengths=t.allowedLengths?.slice();if(typeof t.modFromBytes==="boolean")this._mod=t.modFromBytes}let{nBitLength:o,nByteLength:n}=ase(e,r);if(n>2048)throw Error("invalid field: expected ORDER of <= 2048 bytes");this.ORDER=e,this.BITS=o,this.BYTES=n,this._sqrt=void 0,Object.preventExtensions(this)}create(e){return hr(e,this.ORDER)}isValid(e){if(typeof e!=="bigint")throw Error("invalid field element: expected bigint, got "+typeof e);return gr<=e&&e<this.ORDER}is0(e){return e===gr}isValidNot0(e){return!this.is0(e)&&this.isValid(e)}isOdd(e){return(e&rr)===rr}neg(e){return hr(-e,this.ORDER)}eql(e,t){return e===t}sqr(e){return hr(e*e,this.ORDER)}add(e,t){return hr(e+t,this.ORDER)}sub(e,t){return hr(e-t,this.ORDER)}mul(e,t){return hr(e*t,this.ORDER)}pow(e,t){return sse(this,e,t)}div(e,t){return hr(e*yj(t,this.ORDER),this.ORDER)}sqrN(e){return e*e}addN(e,t){return e+t}subN(e,t){return e-t}mulN(e,t){return e*t}inv(e){return yj(e,this.ORDER)}sqrt(e){if(!this._sqrt)this._sqrt=ose(this.ORDER);return this._sqrt(this,e)}toBytes(e){return this.isLE?md(e,this.BYTES):Tc(e,this.BYTES)}fromBytes(e,t=!1){Te(e);let{_lengths:r,BYTES:o,isLE:n,ORDER:i,_mod:s}=this;if(r){if(!r.includes(e.length)||e.length>o)throw Error("Field.fromBytes: expected "+r+" bytes, got "+e.length);let c=new Uint8Array(o);c.set(e,n?0:c.length-e.length),e=c}if(e.length!==o)throw Error("Field.fromBytes: expected "+o+" bytes, got "+e.length);let a=n?Ei(e):_i(e);if(s)a=hr(a,i);if(!t){if(!this.isValid(a))throw Error("invalid field element: outside of range 0..ORDER")}return a}invertBatch(e){return yd(this,e)}cmov(e,t,r){return r?t:e}}function fg(e,t={}){return new kj(e,t)}function Aj(e){if(typeof e!=="bigint")throw Error("field order must be bigint");let t=e.toString(2).length;return Math.ceil(t/8)}function Ck(e){let t=Aj(e);return t+Math.ceil(t/2)}function Tj(e,t,r=!1){Te(e);let o=e.length,n=Aj(t),i=Ck(t);if(o<16||o<i||o>1024)throw Error("expected "+i+"-1024 bytes of input, got "+o);let s=r?Ei(e):_i(e),a=hr(s,t-rr)+rr;return r?md(a,n):Tc(a,n)}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var $c=BigInt(0),zs=BigInt(1);function bd(e,t){let r=t.negate();return e?r:t}function Dk(e,t){let r=yd(e.Fp,t.map((o)=>o.Z));return t.map((o,n)=>e.fromAffine(o.toAffine(r[n])))}function Cj(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw Error("invalid window size, expected [1.."+t+"], got W="+e)}function Pk(e,t){Cj(e,t);let r=Math.ceil(t/e)+1,o=2**(e-1),n=2**e,i=gd(e),s=BigInt(e);return{windows:r,windowSize:o,mask:i,maxNumber:n,shiftBy:s}}function $j(e,t,r){let{windowSize:o,mask:n,maxNumber:i,shiftBy:s}=r,a=Number(e&n),c=e>>s;if(a>o)a-=i,c+=zs;let u=t*o,d=u+Math.abs(a)-1,f=a===0,m=a<0,h=t%2!==0;return{nextN:c,offset:d,isZero:f,isNeg:m,isNegF:h,offsetF:u}}var zk=new WeakMap,Pj=new WeakMap;function Nk(e){return Pj.get(e)||1}function Rj(e){if(e!==$c)throw Error("invalid wNAF")}class Lk{BASE;ZERO;Fn;bits;constructor(e,t){this.BASE=e.BASE,this.ZERO=e.ZERO,this.Fn=e.Fn,this.bits=t}_unsafeLadder(e,t,r=this.ZERO){let o=e;while(t>$c){if(t&zs)r=r.add(o);o=o.double(),t>>=zs}return r}precomputeWindow(e,t){let{windows:r,windowSize:o}=Pk(t,this.bits),n=[],i=e,s=i;for(let a=0;a<r;a++){s=i,n.push(s);for(let c=1;c<o;c++)s=s.add(i),n.push(s);i=s.double()}return n}wNAF(e,t,r){if(!this.Fn.isValid(r))throw Error("invalid scalar");let o=this.ZERO,n=this.BASE,i=Pk(e,this.bits);for(let s=0;s<i.windows;s++){let{nextN:a,offset:c,isZero:u,isNeg:d,isNegF:f,offsetF:m}=$j(r,s,i);if(r=a,u)n=n.add(bd(f,t[m]));else o=o.add(bd(d,t[c]))}return Rj(r),{p:o,f:n}}wNAFUnsafe(e,t,r,o=this.ZERO){let n=Pk(e,this.bits);for(let i=0;i<n.windows;i++){if(r===$c)break;let{nextN:s,offset:a,isZero:c,isNeg:u}=$j(r,i,n);if(r=s,c)continue;else{let d=t[a];o=o.add(u?d.negate():d)}}return Rj(r),o}getPrecomputes(e,t,r){let o=zk.get(t);if(!o){if(o=this.precomputeWindow(t,e),e!==1){if(typeof r==="function")o=r(o);zk.set(t,o)}}return o}cached(e,t,r){let o=Nk(e);return this.wNAF(o,this.getPrecomputes(o,e,r),t)}unsafe(e,t,r,o){let n=Nk(e);if(n===1)return this._unsafeLadder(e,t,o);return this.wNAFUnsafe(n,this.getPrecomputes(n,e,r),t,o)}createCache(e,t){Cj(t,this.bits),Pj.set(e,t),zk.delete(e)}hasCache(e){return Nk(e)!==1}}function zj(e,t,r,o){let n=t,i=e.ZERO,s=e.ZERO;while(r>$c||o>$c){if(r&zs)i=i.add(n);if(o&zs)s=s.add(n);n=n.double(),r>>=zs,o>>=zs}return{p1:i,p2:s}}function Oj(e,t,r){if(t){if(t.ORDER!==e)throw Error("Field.ORDER must match order: Fp == p, Fn == n");return Ok(t),t}else return fg(e,{isLE:r})}function Nj(e,t,r={},o){if(o===void 0)o=e==="edwards";if(!t||typeof t!=="object")throw Error(`expected valid ${e} CURVE object`);for(let c of["p","n","h"]){let u=t[c];if(!(typeof u==="bigint"&&u>$c))throw Error(`CURVE.${c} must be positive bigint`)}let n=Oj(t.p,r.Fp,o),i=Oj(t.n,r.Fn,o),a=["Gx","Gy","a",e==="weierstrass"?"b":"d"];for(let c of a)if(!n.isValid(t[c]))throw Error(`CURVE.${c} must be valid field element of CURVE.Fp`);return t=Object.freeze(Object.assign({},t)),{CURVE:t,Fp:n,Fn:i}}function pg(e,t){return function(o){let n=e(o);return{secretKey:n,publicKey:t(n)}}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var Sd=BigInt(0),Rc=BigInt(1),mg=BigInt(2);function cse(e){return Cs(e,{adjustScalarBytes:"function",powPminus2:"function"}),Object.freeze({...e})}function Dj(e){let t=cse(e),{P:r,type:o,adjustScalarBytes:n,powPminus2:i,randomBytes:s}=t,a=o==="x25519";if(!a&&o!=="x448")throw Error("invalid type");let c=s||wi,u=a?255:448,d=a?32:56,f=a?BigInt(9):BigInt(5),m=a?BigInt(121665):BigInt(39081),h=a?mg**BigInt(254):mg**BigInt(447),b=a?BigInt(8)*mg**BigInt(251)-Rc:BigInt(4)*mg**BigInt(445)-Rc,y=h+b+Rc,S=(I)=>hr(I,r),x=_(f);function _(I){return md(S(I),d)}function A(I){let T=dg(Te(I,d,"uCoordinate"));if(a)T[31]&=127;return S(Ei(T))}function O(I){return Ei(n(dg(Te(I,d,"scalar"))))}function L(I,T){let k=ee(A(T),O(I));if(k===Sd)throw Error("invalid private or public key received");return _(k)}function z(I){return L(I,x)}let K=z,P=L;function W(I,T,k){let M=S(I*(T-k));return T=S(T-M),k=S(k+M),{x_2:T,x_3:k}}function ee(I,T){hd("u",I,Sd,r),hd("scalar",T,h,y);let k=T,M=I,N=Rc,H=Sd,G=I,re=Rc,ae=Sd;for(let be=BigInt(u-1);be>=Sd;be--){let ve=k>>be&Rc;ae^=ve,{x_2:N,x_3:G}=W(ae,N,G),{x_2:H,x_3:re}=W(ae,H,re),ae=ve;let ke=N+H,Ie=S(ke*ke),we=N-H,Ue=S(we*we),De=Ie-Ue,Qe=G+re,St=G-re,Tt=S(St*ke),Nt=S(Qe*we),lt=Tt+Nt,$r=Tt-Nt;G=S(lt*lt),re=S(M*S($r*$r)),N=S(Ie*Ue),H=S(De*(Ie+S(m*De)))}({x_2:N,x_3:G}=W(ae,N,G)),{x_2:H,x_3:re}=W(ae,H,re);let pe=i(H);return S(N*pe)}let j={secretKey:d,publicKey:d,seed:d},R=(I=c(d))=>(Te(I,j.seed,"seed"),I),B={randomSecretKey:R};return Object.freeze({keygen:pg(R,K),getSharedSecret:P,getPublicKey:K,scalarMult:L,scalarMultBase:z,utils:B,GuBytes:x.slice(),lengths:j})}class Bk{oHash;iHash;blockLen;outputLen;finished=!1;destroyed=!1;constructor(e,t){if(Vr(e),Te(t,void 0,"key"),this.iHash=e.create(),typeof this.iHash.update!=="function")throw Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let r=this.blockLen,o=new Uint8Array(r);o.set(t.length>r?e.create().update(t).digest():t);for(let n=0;n<o.length;n++)o[n]^=54;this.iHash.update(o),this.oHash=e.create();for(let n=0;n<o.length;n++)o[n]^=106;this.oHash.update(o),Er(o)}update(e){return xo(this),this.iHash.update(e),this}digestInto(e){xo(this),Te(e,this.outputLen,"output"),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||=Object.create(Object.getPrototypeOf(this),{});let{oHash:t,iHash:r,finished:o,destroyed:n,blockLen:i,outputLen:s}=this;return e=e,e.finished=o,e.destroyed=n,e.blockLen=i,e.outputLen=s,e.oHash=t._cloneInto(e.oHash),e.iHash=r._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}var Oc=(e,t,r)=>new Bk(e,t).update(r).digest();Oc.create=(e,t)=>new Bk(e,t);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var Lj=(e,t)=>(e+(e>=0?t:-t)/jj)/t;function lse(e,t,r){let[[o,n],[i,s]]=t,a=Lj(s*e,r),c=Lj(-n*e,r),u=e-a*o-c*i,d=-a*n-c*s,f=u<_o,m=d<_o;if(f)u=-u;if(m)d=-d;let h=gd(Math.ceil(Tk(r)/2))+Cc;if(u<_o||u>=h||d<_o||d>=h)throw Error("splitScalar (endomorphism): failed, k="+e);return{k1neg:f,k1:u,k2neg:m,k2:d}}function Zk(e){if(!["compact","recovered","der"].includes(e))throw Error('Signature format must be "compact", "recovered", or "der"');return e}function jk(e,t){let r={};for(let o of Object.keys(t))r[o]=e[o]===void 0?t[o]:e[o];if(fd(r.lowS,"lowS"),fd(r.prehash,"prehash"),r.format!==void 0)Zk(r.format);return r}class Bj extends Error{constructor(e=""){super(e)}}var ki={Err:Bj,_tlv:{encode:(e,t)=>{let{Err:r}=ki;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(t.length&1)throw new r("tlv.encode: unpadded data");let o=t.length/2,n=pd(o);if(n.length/2&128)throw new r("tlv.encode: long form length too big");let i=o>127?pd(n.length/2|128):"";return pd(e)+i+n+t},decode(e,t){let{Err:r}=ki,o=0;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(t.length<2||t[o++]!==e)throw new r("tlv.decode: wrong tlv");let n=t[o++],i=!!(n&128),s=0;if(!i)s=n;else{let c=n&127;if(!c)throw new r("tlv.decode(long): indefinite length not supported");if(c>4)throw new r("tlv.decode(long): byte length is too big");let u=t.subarray(o,o+c);if(u.length!==c)throw new r("tlv.decode: length bytes not complete");if(u[0]===0)throw new r("tlv.decode(long): zero leftmost byte");for(let d of u)s=s<<8|d;if(o+=c,s<128)throw new r("tlv.decode(long): not minimal encoding")}let a=t.subarray(o,o+s);if(a.length!==s)throw new r("tlv.decode: wrong value length");return{v:a,l:t.subarray(o+s)}}},_int:{encode(e){let{Err:t}=ki;if(e<_o)throw new t("integer: negative integers are not allowed");let r=pd(e);if(Number.parseInt(r[0],16)&8)r="00"+r;if(r.length&1)throw new t("unexpected DER parsing assertion: unpadded hex");return r},decode(e){let{Err:t}=ki;if(e[0]&128)throw new t("invalid signature integer: negative");if(e[0]===0&&!(e[1]&128))throw new t("invalid signature integer: unnecessary leading zero");return _i(e)}},toSig(e){let{Err:t,_int:r,_tlv:o}=ki,n=Te(e,void 0,"signature"),{v:i,l:s}=o.decode(48,n);if(s.length)throw new t("invalid signature: left bytes after parsing");let{v:a,l:c}=o.decode(2,i),{v:u,l:d}=o.decode(2,c);if(d.length)throw new t("invalid signature: left bytes after parsing");return{r:r.decode(a),s:r.decode(u)}},hexFromSig(e){let{_tlv:t,_int:r}=ki,o=t.encode(2,r.encode(e.r)),n=t.encode(2,r.encode(e.s)),i=o+n;return t.encode(48,i)}},_o=BigInt(0),Cc=BigInt(1),jj=BigInt(2),hg=BigInt(3),use=BigInt(4);function Uk(e,t={}){let r=Nj("weierstrass",e,t),{Fp:o,Fn:n}=r,i=r.CURVE,{h:s,n:a}=i;Cs(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object"});let{endo:c}=t;if(c){if(!o.is0(i.a)||typeof c.beta!=="bigint"||!Array.isArray(c.basises))throw Error('invalid endo: expected "beta": bigint and "basises": array')}let u=Uj(o,n);function d(){if(!o.isOdd)throw Error("compression is not supported: Field does not have .isOdd()")}function f(R,B,I){let{x:T,y:k}=B.toAffine(),M=o.toBytes(T);if(fd(I,"isCompressed"),I){d();let N=!o.isOdd(k);return It(Zj(N),M)}else return It(Uint8Array.of(4),M,o.toBytes(k))}function m(R){Te(R,void 0,"Point");let{publicKey:B,publicKeyUncompressed:I}=u,T=R.length,k=R[0],M=R.subarray(1);if(T===B&&(k===2||k===3)){let N=o.fromBytes(M);if(!o.isValid(N))throw Error("bad point: is not on curve, wrong x");let H=y(N),G;try{G=o.sqrt(H)}catch(pe){let be=pe instanceof Error?": "+pe.message:"";throw Error("bad point: is not on curve, sqrt error"+be)}d();let re=o.isOdd(G);if((k&1)===1!==re)G=o.neg(G);return{x:N,y:G}}else if(T===I&&k===4){let N=o.BYTES,H=o.fromBytes(M.subarray(0,N)),G=o.fromBytes(M.subarray(N,N*2));if(!S(H,G))throw Error("bad point: is not on curve");return{x:H,y:G}}else throw Error(`bad point: got length ${T}, expected compressed=${B} or uncompressed=${I}`)}let h=t.toBytes||f,b=t.fromBytes||m;function y(R){let B=o.sqr(R),I=o.mul(B,R);return o.add(o.add(I,o.mul(R,i.a)),i.b)}function S(R,B){let I=o.sqr(B),T=y(R);return o.eql(I,T)}if(!S(i.Gx,i.Gy))throw Error("bad curve params: generator point");let x=o.mul(o.pow(i.a,hg),use),_=o.mul(o.sqr(i.b),BigInt(27));if(o.is0(o.add(x,_)))throw Error("bad curve params: a or b");function A(R,B,I=!1){if(!o.isValid(B)||I&&o.is0(B))throw Error(`bad point coordinate ${R}`);return B}function O(R){if(!(R instanceof W))throw Error("Weierstrass Point expected")}function L(R){if(!c||!c.basises)throw Error("no endo");return lse(R,c.basises,n.ORDER)}let z=$k((R,B)=>{let{X:I,Y:T,Z:k}=R;if(o.eql(k,o.ONE))return{x:I,y:T};let M=R.is0();if(B==null)B=M?o.ONE:o.inv(k);let N=o.mul(I,B),H=o.mul(T,B),G=o.mul(k,B);if(M)return{x:o.ZERO,y:o.ZERO};if(!o.eql(G,o.ONE))throw Error("invZ was invalid");return{x:N,y:H}}),K=$k((R)=>{if(R.is0()){if(t.allowInfinityPoint&&!o.is0(R.Y))return;throw Error("bad point: ZERO")}let{x:B,y:I}=R.toAffine();if(!o.isValid(B)||!o.isValid(I))throw Error("bad point: x or y not field elements");if(!S(B,I))throw Error("bad point: equation left != right");if(!R.isTorsionFree())throw Error("bad point: not in prime-order subgroup");return!0});function P(R,B,I,T,k){return I=new W(o.mul(I.X,R),I.Y,I.Z),B=bd(T,B),I=bd(k,I),B.add(I)}class W{static BASE=new W(i.Gx,i.Gy,o.ONE);static ZERO=new W(o.ZERO,o.ONE,o.ZERO);static Fp=o;static Fn=n;X;Y;Z;constructor(R,B,I){this.X=A("x",R),this.Y=A("y",B,!0),this.Z=A("z",I),Object.freeze(this)}static CURVE(){return i}static fromAffine(R){let{x:B,y:I}=R||{};if(!R||!o.isValid(B)||!o.isValid(I))throw Error("invalid affine point");if(R instanceof W)throw Error("projective point not allowed");if(o.is0(B)&&o.is0(I))return W.ZERO;return new W(B,I,o.ONE)}static fromBytes(R){let B=W.fromAffine(b(Te(R,void 0,"point")));return B.assertValidity(),B}static fromHex(R){return W.fromBytes(Os(R))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(R=8,B=!0){if(j.createCache(this,R),!B)this.multiply(hg);return this}assertValidity(){K(this)}hasEvenY(){let{y:R}=this.toAffine();if(!o.isOdd)throw Error("Field doesn't support isOdd");return!o.isOdd(R)}equals(R){O(R);let{X:B,Y:I,Z:T}=this,{X:k,Y:M,Z:N}=R,H=o.eql(o.mul(B,N),o.mul(k,T)),G=o.eql(o.mul(I,N),o.mul(M,T));return H&&G}negate(){return new W(this.X,o.neg(this.Y),this.Z)}double(){let{a:R,b:B}=i,I=o.mul(B,hg),{X:T,Y:k,Z:M}=this,N=o.ZERO,H=o.ZERO,G=o.ZERO,re=o.mul(T,T),ae=o.mul(k,k),pe=o.mul(M,M),be=o.mul(T,k);return be=o.add(be,be),G=o.mul(T,M),G=o.add(G,G),N=o.mul(R,G),H=o.mul(I,pe),H=o.add(N,H),N=o.sub(ae,H),H=o.add(ae,H),H=o.mul(N,H),N=o.mul(be,N),G=o.mul(I,G),pe=o.mul(R,pe),be=o.sub(re,pe),be=o.mul(R,be),be=o.add(be,G),G=o.add(re,re),re=o.add(G,re),re=o.add(re,pe),re=o.mul(re,be),H=o.add(H,re),pe=o.mul(k,M),pe=o.add(pe,pe),re=o.mul(pe,be),N=o.sub(N,re),G=o.mul(pe,ae),G=o.add(G,G),G=o.add(G,G),new W(N,H,G)}add(R){O(R);let{X:B,Y:I,Z:T}=this,{X:k,Y:M,Z:N}=R,H=o.ZERO,G=o.ZERO,re=o.ZERO,ae=i.a,pe=o.mul(i.b,hg),be=o.mul(B,k),ve=o.mul(I,M),ke=o.mul(T,N),Ie=o.add(B,I),we=o.add(k,M);Ie=o.mul(Ie,we),we=o.add(be,ve),Ie=o.sub(Ie,we),we=o.add(B,T);let Ue=o.add(k,N);return we=o.mul(we,Ue),Ue=o.add(be,ke),we=o.sub(we,Ue),Ue=o.add(I,T),H=o.add(M,N),Ue=o.mul(Ue,H),H=o.add(ve,ke),Ue=o.sub(Ue,H),re=o.mul(ae,we),H=o.mul(pe,ke),re=o.add(H,re),H=o.sub(ve,re),re=o.add(ve,re),G=o.mul(H,re),ve=o.add(be,be),ve=o.add(ve,be),ke=o.mul(ae,ke),we=o.mul(pe,we),ve=o.add(ve,ke),ke=o.sub(be,ke),ke=o.mul(ae,ke),we=o.add(we,ke),be=o.mul(ve,we),G=o.add(G,be),be=o.mul(Ue,we),H=o.mul(Ie,H),H=o.sub(H,be),be=o.mul(Ie,ve),re=o.mul(Ue,re),re=o.add(re,be),new W(H,G,re)}subtract(R){return this.add(R.negate())}is0(){return this.equals(W.ZERO)}multiply(R){let{endo:B}=t;if(!n.isValidNot0(R))throw Error("invalid scalar: out of range");let I,T,k=(M)=>j.cached(this,M,(N)=>Dk(W,N));if(B){let{k1neg:M,k1:N,k2neg:H,k2:G}=L(R),{p:re,f:ae}=k(N),{p:pe,f:be}=k(G);T=ae.add(be),I=P(B.beta,re,pe,M,H)}else{let{p:M,f:N}=k(R);I=M,T=N}return Dk(W,[I,T])[0]}multiplyUnsafe(R){let{endo:B}=t,I=this;if(!n.isValid(R))throw Error("invalid scalar: out of range");if(R===_o||I.is0())return W.ZERO;if(R===Cc)return I;if(j.hasCache(this))return this.multiply(R);if(B){let{k1neg:T,k1:k,k2neg:M,k2:N}=L(R),{p1:H,p2:G}=zj(W,I,k,N);return P(B.beta,H,G,T,M)}else return j.unsafe(I,R)}toAffine(R){return z(this,R)}isTorsionFree(){let{isTorsionFree:R}=t;if(s===Cc)return!0;if(R)return R(W,this);return j.unsafe(this,a).is0()}clearCofactor(){let{clearCofactor:R}=t;if(s===Cc)return this;if(R)return R(W,this);return this.multiplyUnsafe(s)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}toBytes(R=!0){return fd(R,"isCompressed"),this.assertValidity(),h(W,this,R)}toHex(R=!0){return Rs(this.toBytes(R))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let ee=n.BITS,j=new Lk(W,t.endo?Math.ceil(ee/2):ee);return W.BASE.precompute(8),W}function Zj(e){return Uint8Array.of(e?2:3)}function Uj(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function dse(e,t={}){let{Fn:r}=e,o=t.randomBytes||wi,n=Object.assign(Uj(e.Fp,r),{seed:Ck(r.ORDER)});function i(h){try{let b=r.fromBytes(h);return r.isValidNot0(b)}catch(b){return!1}}function s(h,b){let{publicKey:y,publicKeyUncompressed:S}=n;try{let x=h.length;if(b===!0&&x!==y)return!1;if(b===!1&&x!==S)return!1;return!!e.fromBytes(h)}catch(x){return!1}}function a(h=o(n.seed)){return Tj(Te(h,n.seed,"seed"),r.ORDER)}function c(h,b=!0){return e.BASE.multiply(r.fromBytes(h)).toBytes(b)}function u(h){let{secretKey:b,publicKey:y,publicKeyUncompressed:S}=n;if(!kc(h))return;if("_lengths"in r&&r._lengths||b===y)return;let x=Te(h,void 0,"key").length;return x===y||x===S}function d(h,b,y=!0){if(u(h)===!0)throw Error("first arg must be private key");if(u(b)===!1)throw Error("second arg must be public key");let S=r.fromBytes(h);return e.fromBytes(b).multiply(S).toBytes(y)}let f={isValidSecretKey:i,isValidPublicKey:s,randomSecretKey:a},m=pg(a,c);return Object.freeze({getPublicKey:c,getSharedSecret:d,keygen:m,Point:e,utils:f,lengths:n})}function qk(e,t,r={}){Vr(t),Cs(r,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"}),r=Object.assign({},r);let o=r.randomBytes||wi,n=r.hmac||((I,T)=>Oc(t,I,T)),{Fp:i,Fn:s}=e,{ORDER:a,BITS:c}=s,{keygen:u,getPublicKey:d,getSharedSecret:f,utils:m,lengths:h}=dse(e,r),b={prehash:!0,lowS:typeof r.lowS==="boolean"?r.lowS:!0,format:"compact",extraEntropy:!1},y=a*jj<i.ORDER;function S(I){let T=a>>Cc;return I>T}function x(I,T){if(!s.isValidNot0(T))throw Error(`invalid signature ${I}: out of range 1..Point.Fn.ORDER`);return T}function _(){if(y)throw Error('"recovered" sig type is not supported for cofactor >2 curves')}function A(I,T){Zk(T);let k=h.signature,M=T==="compact"?k:T==="recovered"?k+1:void 0;return Te(I,M)}class O{r;s;recovery;constructor(I,T,k){if(this.r=x("r",I),this.s=x("s",T),k!=null){if(_(),![0,1,2,3].includes(k))throw Error("invalid recovery id");this.recovery=k}Object.freeze(this)}static fromBytes(I,T=b.format){A(I,T);let k;if(T==="der"){let{r:G,s:re}=ki.toSig(Te(I));return new O(G,re)}if(T==="recovered")k=I[0],T="compact",I=I.subarray(1);let M=h.signature/2,N=I.subarray(0,M),H=I.subarray(M,M*2);return new O(s.fromBytes(N),s.fromBytes(H),k)}static fromHex(I,T){return this.fromBytes(Os(I),T)}assertRecovery(){let{recovery:I}=this;if(I==null)throw Error("invalid recovery id: must be present");return I}addRecoveryBit(I){return new O(this.r,this.s,I)}recoverPublicKey(I){let{r:T,s:k}=this,M=this.assertRecovery(),N=M===2||M===3?T+a:T;if(!i.isValid(N))throw Error("invalid recovery id: sig.r+curve.n != R.x");let H=i.toBytes(N),G=e.fromBytes(It(Zj((M&1)===0),H)),re=s.inv(N),ae=z(Te(I,void 0,"msgHash")),pe=s.create(-ae*re),be=s.create(k*re),ve=e.BASE.multiplyUnsafe(pe).add(G.multiplyUnsafe(be));if(ve.is0())throw Error("invalid recovery: point at infinify");return ve.assertValidity(),ve}hasHighS(){return S(this.s)}toBytes(I=b.format){if(Zk(I),I==="der")return Os(ki.hexFromSig(this));let{r:T,s:k}=this,M=s.toBytes(T),N=s.toBytes(k);if(I==="recovered")return _(),It(Uint8Array.of(this.assertRecovery()),M,N);return It(M,N)}toHex(I){return Rs(this.toBytes(I))}}let L=r.bits2int||function(T){if(T.length>8192)throw Error("input is too large");let k=_i(T),M=T.length*8-c;return M>0?k>>BigInt(M):k},z=r.bits2int_modN||function(T){return s.create(L(T))},K=gd(c);function P(I){return hd("num < 2^"+c,I,_o,K),s.toBytes(I)}function W(I,T){return Te(I,void 0,"message"),T?Te(t(I),void 0,"prehashed message"):I}function ee(I,T,k){let{lowS:M,prehash:N,extraEntropy:H}=jk(k,b);I=W(I,N);let G=z(I),re=s.fromBytes(T);if(!s.isValidNot0(re))throw Error("invalid private key");let ae=[P(re),P(G)];if(H!=null&&H!==!1){let ke=H===!0?o(h.secretKey):H;ae.push(Te(ke,void 0,"extraEntropy"))}let pe=It(...ae),be=G;function ve(ke){let Ie=L(ke);if(!s.isValidNot0(Ie))return;let we=s.inv(Ie),Ue=e.BASE.multiply(Ie).toAffine(),De=s.create(Ue.x);if(De===_o)return;let Qe=s.create(we*s.create(be+De*re));if(Qe===_o)return;let St=(Ue.x===De?0:2)|Number(Ue.y&Cc),Tt=Qe;if(M&&S(Qe))Tt=s.neg(Qe),St^=1;return new O(De,Tt,y?void 0:St)}return{seed:pe,k2sig:ve}}function j(I,T,k={}){let{seed:M,k2sig:N}=ee(I,T,k);return gj(t.outputLen,s.BYTES,n)(M,N).toBytes(k.format)}function R(I,T,k,M={}){let{lowS:N,prehash:H,format:G}=jk(M,b);if(k=Te(k,void 0,"publicKey"),T=W(T,H),!kc(I)){let re=I instanceof O?", use sig.toBytes()":"";throw Error("verify expects Uint8Array signature"+re)}A(I,G);try{let re=O.fromBytes(I,G),ae=e.fromBytes(k);if(N&&re.hasHighS())return!1;let{r:pe,s:be}=re,ve=z(T),ke=s.inv(be),Ie=s.create(ve*ke),we=s.create(pe*ke),Ue=e.BASE.multiplyUnsafe(Ie).add(ae.multiplyUnsafe(we));if(Ue.is0())return!1;return s.create(Ue.x)===pe}catch(re){return!1}}function B(I,T,k={}){let{prehash:M}=jk(k,b);return T=W(T,M),O.fromBytes(I,"recovered").recoverPublicKey(T).toBytes()}return Object.freeze({keygen:u,getPublicKey:d,getSharedSecret:f,utils:m,lengths:h,Point:e,sign:j,verify:R,recoverPublicKey:B,Signature:O,hash:t})}function qj(e,t,r){return e&t^~e&r}function Mj(e,t,r){return e&t^e&r^t&r}class gg{blockLen;outputLen;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor(e,t,r,o){this.blockLen=e,this.outputLen=t,this.padOffset=r,this.isLE=o,this.buffer=new Uint8Array(e),this.view=lg(this.buffer)}update(e){xo(this),Te(e);let{view:t,buffer:r,blockLen:o}=this,n=e.length;for(let i=0;i<n;){let s=Math.min(o-this.pos,n-i);if(s===o){let a=lg(e);for(;o<=n-i;i+=o)this.process(a,i);continue}if(r.set(e.subarray(i,i+s),this.pos),this.pos+=s,i+=s,this.pos===o)this.process(t,0),this.pos=0}return this.length+=e.length,this.roundClean(),this}digestInto(e){xo(this),ag(e,this),this.finished=!0;let{buffer:t,view:r,blockLen:o,isLE:n}=this,{pos:i}=this;if(t[i++]=128,Er(this.buffer.subarray(i)),this.padOffset>o-i)this.process(r,0),i=0;for(let d=i;d<o;d++)t[d]=0;r.setBigUint64(o-8,BigInt(this.length*8),n),this.process(r,0);let s=lg(e),a=this.outputLen;if(a%4)throw Error("_sha2: outputLen must be aligned to 32bit");let c=a/4,u=this.get();if(c>u.length)throw Error("_sha2: outputLen bigger than state");for(let d=0;d<c;d++)s.setUint32(4*d,u[d],n)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let r=e.slice(0,t);return this.destroy(),r}_cloneInto(e){e||=new this.constructor,e.set(...this.get());let{blockLen:t,buffer:r,length:o,finished:n,destroyed:i,pos:s}=this;if(e.destroyed=i,e.finished=n,e.length=o,e.pos=s,o%t)e.buffer.set(r);return e}clone(){return this._cloneInto()}}var Eo=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var Ht=Uint32Array.from([3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]);var yg=BigInt(4294967295),Fj=BigInt(32);function fse(e,t=!1){if(t)return{h:Number(e&yg),l:Number(e>>Fj&yg)};return{h:Number(e>>Fj&yg)|0,l:Number(e&yg)|0}}function bg(e,t=!1){let r=e.length,o=new Uint32Array(r),n=new Uint32Array(r);for(let i=0;i<r;i++){let{h:s,l:a}=fse(e[i],t);[o[i],n[i]]=[s,a]}return[o,n]}var Mk=(e,t,r)=>e>>>r,Fk=(e,t,r)=>e<<32-r|t>>>r,Ns=(e,t,r)=>e>>>r|t<<32-r,Ds=(e,t,r)=>e<<32-r|t>>>r,vd=(e,t,r)=>e<<64-r|t>>>r-32,wd=(e,t,r)=>e>>>r-32|t<<64-r;var Jj=(e,t,r)=>e<<r|t>>>32-r,Kj=(e,t,r)=>t<<r|e>>>32-r,Hj=(e,t,r)=>t<<r-32|e>>>64-r,Vj=(e,t,r)=>e<<r-32|t>>>64-r;function Un(e,t,r,o){let n=(t>>>0)+(o>>>0);return{h:e+r+(n/4294967296|0)|0,l:n|0}}var Wj=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),Gj=(e,t,r,o)=>t+r+o+(e/4294967296|0)|0,Qj=(e,t,r,o)=>(e>>>0)+(t>>>0)+(r>>>0)+(o>>>0),Yj=(e,t,r,o,n)=>t+r+o+n+(e/4294967296|0)|0,Xj=(e,t,r,o,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(o>>>0)+(n>>>0),eZ=(e,t,r,o,n,i)=>t+r+o+n+i+(e/4294967296|0)|0;var mse=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Ai=new Uint32Array(64);class tZ extends gg{constructor(e){super(64,e,8,!1)}get(){let{A:e,B:t,C:r,D:o,E:n,F:i,G:s,H:a}=this;return[e,t,r,o,n,i,s,a]}set(e,t,r,o,n,i,s,a){this.A=e|0,this.B=t|0,this.C=r|0,this.D=o|0,this.E=n|0,this.F=i|0,this.G=s|0,this.H=a|0}process(e,t){for(let d=0;d<16;d++,t+=4)Ai[d]=e.getUint32(t,!1);for(let d=16;d<64;d++){let f=Ai[d-15],m=Ai[d-2],h=pn(f,7)^pn(f,18)^f>>>3,b=pn(m,17)^pn(m,19)^m>>>10;Ai[d]=b+Ai[d-7]+h+Ai[d-16]|0}let{A:r,B:o,C:n,D:i,E:s,F:a,G:c,H:u}=this;for(let d=0;d<64;d++){let f=pn(s,6)^pn(s,11)^pn(s,25),m=u+f+qj(s,a,c)+mse[d]+Ai[d]|0,b=(pn(r,2)^pn(r,13)^pn(r,22))+Mj(r,o,n)|0;u=c,c=a,a=s,s=i+m|0,i=n,n=o,o=r,r=m+b|0}r=r+this.A|0,o=o+this.B|0,n=n+this.C|0,i=i+this.D|0,s=s+this.E|0,a=a+this.F|0,c=c+this.G|0,u=u+this.H|0,this.set(r,o,n,i,s,a,c,u)}roundClean(){Er(Ai)}destroy(){this.set(0,0,0,0,0,0,0,0),Er(this.buffer)}}class rZ extends tZ{A=Eo[0]|0;B=Eo[1]|0;C=Eo[2]|0;D=Eo[3]|0;E=Eo[4]|0;F=Eo[5]|0;G=Eo[6]|0;H=Eo[7]|0;constructor(){super(32)}}var nZ=(()=>bg(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map((e)=>BigInt(e))))(),hse=(()=>nZ[0])(),gse=(()=>nZ[1])(),Ti=new Uint32Array(80),$i=new Uint32Array(80);class oZ extends gg{constructor(e){super(128,e,16,!1)}get(){let{Ah:e,Al:t,Bh:r,Bl:o,Ch:n,Cl:i,Dh:s,Dl:a,Eh:c,El:u,Fh:d,Fl:f,Gh:m,Gl:h,Hh:b,Hl:y}=this;return[e,t,r,o,n,i,s,a,c,u,d,f,m,h,b,y]}set(e,t,r,o,n,i,s,a,c,u,d,f,m,h,b,y){this.Ah=e|0,this.Al=t|0,this.Bh=r|0,this.Bl=o|0,this.Ch=n|0,this.Cl=i|0,this.Dh=s|0,this.Dl=a|0,this.Eh=c|0,this.El=u|0,this.Fh=d|0,this.Fl=f|0,this.Gh=m|0,this.Gl=h|0,this.Hh=b|0,this.Hl=y|0}process(e,t){for(let _=0;_<16;_++,t+=4)Ti[_]=e.getUint32(t),$i[_]=e.getUint32(t+=4);for(let _=16;_<80;_++){let A=Ti[_-15]|0,O=$i[_-15]|0,L=Ns(A,O,1)^Ns(A,O,8)^Mk(A,O,7),z=Ds(A,O,1)^Ds(A,O,8)^Fk(A,O,7),K=Ti[_-2]|0,P=$i[_-2]|0,W=Ns(K,P,19)^vd(K,P,61)^Mk(K,P,6),ee=Ds(K,P,19)^wd(K,P,61)^Fk(K,P,6),j=Qj(z,ee,$i[_-7],$i[_-16]),R=Yj(j,L,W,Ti[_-7],Ti[_-16]);Ti[_]=R|0,$i[_]=j|0}let{Ah:r,Al:o,Bh:n,Bl:i,Ch:s,Cl:a,Dh:c,Dl:u,Eh:d,El:f,Fh:m,Fl:h,Gh:b,Gl:y,Hh:S,Hl:x}=this;for(let _=0;_<80;_++){let A=Ns(d,f,14)^Ns(d,f,18)^vd(d,f,41),O=Ds(d,f,14)^Ds(d,f,18)^wd(d,f,41),L=d&m^~d&b,z=f&h^~f&y,K=Xj(x,O,z,gse[_],$i[_]),P=eZ(K,S,A,L,hse[_],Ti[_]),W=K|0,ee=Ns(r,o,28)^vd(r,o,34)^vd(r,o,39),j=Ds(r,o,28)^wd(r,o,34)^wd(r,o,39),R=r&n^r&s^n&s,B=o&i^o&a^i&a;S=b|0,x=y|0,b=m|0,y=h|0,m=d|0,h=f|0,{h:d,l:f}=Un(c|0,u|0,P|0,W|0),c=s|0,u=a|0,s=n|0,a=i|0,n=r|0,i=o|0;let I=Wj(W,j,B);r=Gj(I,P,ee,R),o=I|0}({h:r,l:o}=Un(this.Ah|0,this.Al|0,r|0,o|0)),{h:n,l:i}=Un(this.Bh|0,this.Bl|0,n|0,i|0),{h:s,l:a}=Un(this.Ch|0,this.Cl|0,s|0,a|0),{h:c,l:u}=Un(this.Dh|0,this.Dl|0,c|0,u|0),{h:d,l:f}=Un(this.Eh|0,this.El|0,d|0,f|0),{h:m,l:h}=Un(this.Fh|0,this.Fl|0,m|0,h|0),{h:b,l:y}=Un(this.Gh|0,this.Gl|0,b|0,y|0),{h:S,l:x}=Un(this.Hh|0,this.Hl|0,S|0,x|0),this.set(r,o,n,i,s,a,c,u,d,f,m,h,b,y,S,x)}roundClean(){Er(Ti,$i)}destroy(){Er(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}class iZ extends oZ{Ah=Ht[0]|0;Al=Ht[1]|0;Bh=Ht[2]|0;Bl=Ht[3]|0;Ch=Ht[4]|0;Cl=Ht[5]|0;Dh=Ht[6]|0;Dl=Ht[7]|0;Eh=Ht[8]|0;El=Ht[9]|0;Fh=Ht[10]|0;Fl=Ht[11]|0;Gh=Ht[12]|0;Gl=Ht[13]|0;Hh=Ht[14]|0;Hl=Ht[15]|0;constructor(){super(48)}}var Sg=Ac(()=>new rZ,xi(1));var sZ=Ac(()=>new iZ,xi(2));/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var yse=BigInt(1),aZ=BigInt(2),bse=BigInt(3),Sse=BigInt(5),eRe=BigInt(8),cZ=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed");function vse(e){let t=BigInt(10),r=BigInt(20),o=BigInt(40),n=BigInt(80),i=cZ,a=e*e%i*e%i,c=Wr(a,aZ,i)*a%i,u=Wr(c,yse,i)*e%i,d=Wr(u,Sse,i)*u%i,f=Wr(d,t,i)*d%i,m=Wr(f,r,i)*f%i,h=Wr(m,o,i)*m%i,b=Wr(h,n,i)*h%i,y=Wr(b,n,i)*h%i,S=Wr(y,t,i)*d%i;return{pow_p_5_8:Wr(S,aZ,i)*e%i,b2:a}}function wse(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var lZ=(()=>{let e=cZ;return Dj({P:e,type:"x25519",powPminus2:(t)=>{let{pow_p_5_8:r,b2:o}=vse(t);return hr(Wr(r,bse,e)*o,e)},adjustScalarBytes:wse})})();/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var xse=(()=>({p:BigInt("0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff"),n:BigInt("0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551"),h:BigInt(1),a:BigInt("0xffffffff00000001000000000000000000000000fffffffffffffffffffffffc"),b:BigInt("0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b"),Gx:BigInt("0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296"),Gy:BigInt("0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5")}))(),_se=(()=>({p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff"),n:BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973"),h:BigInt(1),a:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc"),b:BigInt("0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef"),Gx:BigInt("0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7"),Gy:BigInt("0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f")}))();var Ese=Uk(xse),Jk=qk(Ese,Sg);var Ise=Uk(_se),uZ=qk(Ise,sZ);function fZ(e,t,r){if(Vr(e),r===void 0)r=new Uint8Array(e.outputLen);return Oc(e,r,t)}var Kk=Uint8Array.of(0),dZ=Uint8Array.of();function pZ(e,t,r,o=32){Vr(e),Bt(o,"length");let n=e.outputLen;if(o>255*n)throw Error("Length must be <= 255*HashLen");let i=Math.ceil(o/n);if(r===void 0)r=dZ;else Te(r,void 0,"info");let s=new Uint8Array(i*n),a=Oc.create(e,t),c=a._cloneInto(),u=new Uint8Array(a.outputLen);for(let d=0;d<i;d++)Kk[0]=d+1,c.update(d===0?dZ:u).update(r).update(Kk).digestInto(u),s.set(u,n*d),a._cloneInto(c);return a.destroy(),c.destroy(),Er(u,Kk),s.slice(0,o)}var kse=BigInt(0),xd=BigInt(1),Ase=BigInt(2),Tse=BigInt(7),$se=BigInt(256),Rse=BigInt(113),gZ=[],yZ=[],bZ=[];for(let e=0,t=xd,r=1,o=0;e<24;e++){[r,o]=[o,(2*r+3*o)%5],gZ.push(2*(5*o+r)),yZ.push((e+1)*(e+2)/2%64);let n=kse;for(let i=0;i<7;i++)if(t=(t<<xd^(t>>Tse)*Rse)%$se,t&Ase)n^=xd<<(xd<<BigInt(i))-xd;bZ.push(n)}var SZ=bg(bZ,!0),Ose=SZ[0],Cse=SZ[1],mZ=(e,t,r)=>r>32?Hj(e,t,r):Jj(e,t,r),hZ=(e,t,r)=>r>32?Vj(e,t,r):Kj(e,t,r);function Pse(e,t=24){let r=new Uint32Array(10);for(let o=24-t;o<24;o++){for(let s=0;s<10;s++)r[s]=e[s]^e[s+10]^e[s+20]^e[s+30]^e[s+40];for(let s=0;s<10;s+=2){let a=(s+8)%10,c=(s+2)%10,u=r[c],d=r[c+1],f=mZ(u,d,1)^r[a],m=hZ(u,d,1)^r[a+1];for(let h=0;h<50;h+=10)e[s+h]^=f,e[s+h+1]^=m}let n=e[2],i=e[3];for(let s=0;s<24;s++){let a=yZ[s],c=mZ(n,i,a),u=hZ(n,i,a),d=gZ[s];n=e[d],i=e[d+1],e[d]=c,e[d+1]=u}for(let s=0;s<50;s+=10){for(let a=0;a<10;a++)r[a]=e[s+a];for(let a=0;a<10;a++)e[s+a]^=~r[(a+2)%10]&r[(a+4)%10]}e[0]^=Ose[o],e[1]^=Cse[o]}Er(r)}class vg{state;pos=0;posOut=0;finished=!1;state32;destroyed=!1;blockLen;suffix;outputLen;enableXOF=!1;rounds;constructor(e,t,r,o=!1,n=24){if(this.blockLen=e,this.suffix=t,this.outputLen=r,this.enableXOF=o,this.rounds=n,Bt(r,"outputLen"),!(0<e&&e<200))throw Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=cg(this.state)}clone(){return this._cloneInto()}keccak(){Ik(this.state32),Pse(this.state32,this.rounds),Ik(this.state32),this.posOut=0,this.pos=0}update(e){xo(this),Te(e);let{blockLen:t,state:r}=this,o=e.length;for(let n=0;n<o;){let i=Math.min(t-this.pos,o-n);for(let s=0;s<i;s++)r[this.pos++]^=e[n++];if(this.pos===t)this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:e,suffix:t,pos:r,blockLen:o}=this;if(e[r]^=t,(t&128)!==0&&r===o-1)this.keccak();e[o-1]^=128,this.keccak()}writeInto(e){xo(this,!1),Te(e),this.finish();let t=this.state,{blockLen:r}=this;for(let o=0,n=e.length;o<n;){if(this.posOut>=r)this.keccak();let i=Math.min(r-this.posOut,n-o);e.set(t.subarray(this.posOut,this.posOut+i),o),this.posOut+=i,o+=i}return e}xofInto(e){if(!this.enableXOF)throw Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return Bt(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(ag(e,this),this.finished)throw Error("digest() was already called");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,Er(this.state)}_cloneInto(e){let{blockLen:t,suffix:r,outputLen:o,rounds:n,enableXOF:i}=this;return e||=new vg(t,r,o,i,n),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=n,e.suffix=r,e.outputLen=o,e.enableXOF=i,e.destroyed=this.destroyed,e}}var vZ=(e,t,r,o={})=>Ac(()=>new vg(t,e,r),o);var Ls=vZ(6,136,32,xi(8));var wZ=vZ(6,72,64,xi(10));var xZ=(e,t,r,o={})=>Ac((n={})=>new vg(t,e,n.dkLen===void 0?r:n.dkLen,!0),o),_Z=xZ(31,168,16,xi(11)),qn=xZ(31,136,32,xi(12));function Hk(e){if(!Number.isSafeInteger(e)||e<0||e>4294967295)throw Error("wrong u32 integer:"+e);return e}function IZ(e){return Hk(e),(e&e-1)===0&&e!==0}function Vk(e,t){Hk(e);let r=0;for(let o=0;o<t;o++,e>>>=1)r=r<<1|e&1;return r}function kZ(e){return Hk(e),31-Math.clz32(e)}function EZ(e){let t=e.length;if(t<2||!IZ(t))throw Error("n must be a power of 2 and greater than 1. Got "+t);let r=kZ(t);for(let o=0;o<t;o++){let n=Vk(o,r);if(o<n){let i=e[o];e[o]=e[n],e[n]=i}}return e}var Wk=(e,t)=>{let{N:r,roots:o,dit:n,invertButterflies:i=!1,skipStages:s=0,brp:a=!0}=t,c=kZ(r);if(!IZ(r))throw Error("FFT: Polynomial size should be power of two");let u=n!==i;return(d)=>{if(d.length!==r)throw Error("FFT: wrong Polynomial length");if(n&&a)EZ(d);for(let f=0,m=1;f<c-s;f++){let h=n?f+1+s:c-f,b=1<<h,y=b>>1,S=r>>h;for(let x=0;x<r;x+=b)for(let _=0,A=m++;_<y;_++){let O=i?n?r-A:A:_*S,L=x+_,z=x+_+y,K=o[O],P=d[z],W=d[L];if(u){let ee=e.mul(P,K);d[L]=e.add(W,ee),d[z]=e.sub(W,ee)}else if(i)d[L]=e.add(P,W),d[z]=e.mul(e.sub(P,W),K);else d[L]=e.add(W,P),d[z]=e.mul(e.sub(W,P),K)}}if(!n&&a)EZ(d);return d}};/*! noble-post-quantum - MIT License (c) 2024 Paul Miller (paulmillr.com) */var Mn=wi;function wg(e,t){if(e.length!==t.length)return!1;let r=0;for(let o=0;o<e.length;o++)r|=e[o]^t[o];return r===0}function AZ(e){return Uint8Array.from(e)}function Bs(e,...t){let r=(n)=>typeof n==="number"?n:n.bytesLen,o=t.reduce((n,i)=>n+r(i),0);return{bytesLen:o,encode:(n)=>{let i=new Uint8Array(o);for(let s=0,a=0;s<t.length;s++){let c=t[s],u=r(c),d=typeof c==="number"?n[s]:c.encode(n[s]);if(Te(d,u,e),i.set(d,a),typeof c!=="number")d.fill(0);a+=u}return i},decode:(n)=>{Te(n,o,e);let i=[];for(let s of t){let a=r(s),c=n.subarray(0,a);i.push(typeof s==="number"?c:s.decode(c)),n=n.subarray(a)}return i}}}function xg(e,t){let r=t*e.bytesLen;return{bytesLen:r,encode:(o)=>{if(o.length!==t)throw Error(`vecCoder.encode: wrong length=${o.length}. Expected: ${t}`);let n=new Uint8Array(r);for(let i=0,s=0;i<o.length;i++){let a=e.encode(o[i]);n.set(a,s),a.fill(0),s+=a.length}return n},decode:(o)=>{Te(o,r);let n=[];for(let i=0;i<o.length;i+=e.bytesLen)n.push(e.decode(o.subarray(i,i+e.bytesLen)));return n}}}function Ct(...e){for(let t of e)if(Array.isArray(t))for(let r of t)r.fill(0);else t.fill(0)}function Gk(e){return(1<<e)-1}var hRe=Uint8Array.of();/*! noble-post-quantum - MIT License (c) 2024 Paul Miller (paulmillr.com) */var TZ=(e)=>{let{newPoly:t,N:r,Q:o,F:n,ROOT_OF_UNITY:i,brvBits:s,isKyber:a}=e,c=(_,A=o)=>{let O=_%A|0;return(O>=0?O|0:A+O|0)|0},u=(_,A=o)=>{let O=c(_,A)|0;return(O>A>>1?O-A|0:O)|0};function d(){let _=t(r);for(let A=0;A<r;A++){let O=Vk(A,s),L=BigInt(i)**BigInt(O)%BigInt(o);_[A]=Number(L)|0}return _}let f=d(),m={add:(_,A)=>c((_|0)+(A|0))|0,sub:(_,A)=>c((_|0)-(A|0))|0,mul:(_,A)=>c((_|0)*(A|0))|0,inv:(_)=>{throw Error("not implemented")}},h={N:r,roots:f,invertButterflies:!0,skipStages:a?1:0,brp:!1},b=Wk(m,{dit:!1,...h}),y=Wk(m,{dit:!0,...h});return{mod:c,smod:u,nttZetas:f,NTT:{encode:(_)=>b(_),decode:(_)=>{y(_);for(let A=0;A<_.length;A++)_[A]=c(n*_[A]);return _}},bitsCoder:(_,A)=>{let O=Gk(_),L=_*(r/8);return{bytesLen:L,encode:(z)=>{let K=new Uint8Array(L);for(let P=0,W=0,ee=0,j=0;P<z.length;P++){W|=(A.encode(z[P])&O)<<ee,ee+=_;for(;ee>=8;ee-=8,W>>=8)K[j++]=W&Gk(ee)}return K},decode:(z)=>{let K=t(r);for(let P=0,W=0,ee=0,j=0;P<z.length;P++){W|=z[P]<<ee,ee+=8;for(;ee>=_;ee-=_,W>>=_)K[j++]=A.decode(W&O)}return K}}}}},zse=(e)=>(t,r)=>{if(!r)r=e.blockLen;let o=new Uint8Array(t.length+2);o.set(t);let n=t.length,i=new Uint8Array(r),s=e.create({}),a=0,c=0;return{stats:()=>({calls:a,xofs:c}),get:(u,d)=>(o[n+0]=u,o[n+1]=d,s.destroy(),s=e.create({}).update(o),a++,()=>(c++,s.xofInto(i))),clean:()=>{s.destroy(),Ct(i,o)}}},$Z=zse(_Z);/*! noble-post-quantum - MIT License (c) 2024 Paul Miller (paulmillr.com) */var nr=256,Io=3329,Nse=3303,Dse=17,{mod:Id,nttZetas:Lse,NTT:js,bitsCoder:Bse}=TZ({N:nr,Q:Io,F:Nse,ROOT_OF_UNITY:Dse,newPoly:(e)=>new Uint16Array(e),brvBits:7,isKyber:!0}),Qk={512:{N:nr,Q:Io,K:2,ETA1:3,ETA2:2,du:10,dv:4,RBGstrength:128},768:{N:nr,Q:Io,K:3,ETA1:2,ETA2:2,du:10,dv:4,RBGstrength:192},1024:{N:nr,Q:Io,K:4,ETA1:2,ETA2:2,du:11,dv:5,RBGstrength:256}},jse=(e)=>{if(e>=12)return{encode:(r)=>r,decode:(r)=>r};let t=2**(e-1);return{encode:(r)=>((r<<e)+Io/2)/Io,decode:(r)=>r*Io+t>>>e}},_d=(e)=>Bse(e,jse(e));function Zs(e,t){for(let r=0;r<nr;r++)e[r]=Id(e[r]+t[r])}function Zse(e,t){for(let r=0;r<nr;r++)e[r]=Id(e[r]-t[r])}function Use(e,t,r,o,n){let i=Id(t*o*n+e*r),s=Id(e*o+t*r);return{c0:i,c1:s}}function _g(e,t){for(let r=0;r<nr/2;r++){let o=Lse[64+(r>>1)];if(r&1)o=-o;let{c0:n,c1:i}=Use(e[2*r+0],e[2*r+1],t[2*r+0],t[2*r+1],o);e[2*r+0]=n,e[2*r+1]=i}return e}function RZ(e){let t=new Uint16Array(nr);for(let r=0;r<nr;){let o=e();if(o.length%3)throw Error("SampleNTT: unaligned block");for(let n=0;r<nr&&n+3<=o.length;n+=3){let i=(o[n+0]>>0|o[n+1]<<8)&4095,s=(o[n+1]>>4|o[n+2]<<4)&4095;if(i<Io)t[r++]=i;if(r<nr&&s<Io)t[r++]=s}}return t}function Ed(e,t,r,o){let n=e(o*nr/4,t,r),i=new Uint16Array(nr),s=cg(n),a=0;for(let c=0,u=0,d=0,f=0;c<s.length;c++){let m=s[c];for(let h=0;h<32;h++)if(d+=m&1,m>>=1,a+=1,a===o)f=d,d=0;else if(a===2*o)i[u++]=Id(f-d),d=0,a=0}if(a)throw Error(`sampleCBD: leftover bits: ${a}`);return i}var qse=(e)=>{let{K:t,PRF:r,XOF:o,HASH512:n,ETA1:i,ETA2:s,du:a,dv:c}=e,u=_d(1),d=_d(c),f=_d(a),m=Bs("publicKey",xg(_d(12),t),32),h=xg(_d(12),t),b=Bs("ciphertext",xg(f,t),d),y=Bs("seed",32,32);return{secretCoder:h,lengths:{secretKey:h.bytesLen,publicKey:m.bytesLen,cipherText:b.bytesLen},keygen:(S)=>{Te(S,32,"seed");let x=new Uint8Array(33);x.set(S),x[32]=t;let _=n(x),[A,O]=y.decode(_),L=[],z=[];for(let W=0;W<t;W++)L.push(js.encode(Ed(r,O,W,i)));let K=o(A);for(let W=0;W<t;W++){let ee=js.encode(Ed(r,O,t+W,i));for(let j=0;j<t;j++){let R=RZ(K.get(j,W));Zs(ee,_g(R,L[j]))}z.push(ee)}K.clean();let P={publicKey:m.encode([z,A]),secretKey:h.encode(L)};return Ct(A,O,L,z,x,_),P},encrypt:(S,x,_)=>{let[A,O]=m.decode(S),L=[];for(let j=0;j<t;j++)L.push(js.encode(Ed(r,_,j,i)));let z=o(O),K=new Uint16Array(nr),P=[];for(let j=0;j<t;j++){let R=Ed(r,_,t+j,s),B=new Uint16Array(nr);for(let I=0;I<t;I++){let T=RZ(z.get(j,I));Zs(B,_g(T,L[I]))}Zs(R,js.decode(B)),P.push(R),Zs(K,_g(A[j],L[j])),Ct(B)}z.clean();let W=Ed(r,_,2*t,s);Zs(W,js.decode(K));let ee=u.decode(x);return Zs(ee,W),Ct(A,L,K,W),b.encode([P,ee])},decrypt:(S,x)=>{let[_,A]=b.decode(S),O=h.decode(x),L=new Uint16Array(nr);for(let z=0;z<t;z++)Zs(L,_g(O[z],js.encode(_[z])));return Zse(A,js.decode(L)),Ct(L,O,_),u.encode(A)}}};function Yk(e){let t=qse(e),{HASH256:r,HASH512:o,KDF:n}=e,{secretCoder:i,lengths:s}=t,a=Bs("secretKey",s.secretKey,s.publicKey,32,32),c=32,u=64;return{info:{type:"ml-kem"},lengths:{...s,seed:64,msg:32,msgRand:32,secretKey:a.bytesLen},keygen:(d=Mn(64))=>{Te(d,64,"seed");let{publicKey:f,secretKey:m}=t.keygen(d.subarray(0,32)),h=r(f),b=a.encode([m,f,h,d.subarray(32)]);return Ct(m,h),{publicKey:f,secretKey:b}},getPublicKey:(d)=>{let[f,m,h,b]=a.decode(d);return Uint8Array.from(m)},encapsulate:(d,f=Mn(32))=>{Te(d,s.publicKey,"publicKey"),Te(f,32,"message");let m=d.subarray(0,384*e.K),h=i.encode(i.decode(AZ(m)));if(!wg(h,m))throw Ct(h),Error("ML-KEM.encapsulate: wrong publicKey modulus");Ct(h);let b=o.create().update(f).update(r(d)).digest(),y=t.encrypt(d,f,b.subarray(32,64));return Ct(b.subarray(32)),{cipherText:y,sharedSecret:b.subarray(0,32)}},decapsulate:(d,f)=>{Te(f,a.bytesLen,"secretKey"),Te(d,s.cipherText,"cipherText");let m=a.bytesLen-96,h=m+32,b=r(f.subarray(m/2,h));if(!wg(b,f.subarray(h,h+32)))throw Error("invalid secretKey: hash check failed");let[y,S,x,_]=a.decode(f),A=t.decrypt(d,y),O=o.create().update(A).update(x).digest(),L=O.subarray(0,32),z=t.encrypt(S,A,O.subarray(32,64)),K=wg(d,z),P=n.create({dkLen:32}).update(_).update(d).digest();return Ct(A,z,!K?L:P),K?L:P}}}function Mse(e,t,r){return qn.create({dkLen:e}).update(t).update(new Uint8Array([r])).digest()}var Xk={HASH256:Ls,HASH512:wZ,KDF:qn,XOF:$Z,PRF:Mse},kRe=Yk({...Xk,...Qk[512]}),kd=Yk({...Xk,...Qk[768]}),OZ=Yk({...Xk,...Qk[1024]});/*! noble-post-quantum - MIT License (c) 2024 Paul Miller (paulmillr.com) */function Fse(e,t=!1){let{lengths:r,keygen:o}=e;if(t){let i=e.Point.Fn;if(!i)throw Error("No Point.Fn");o=(s=Mn(r.seed))=>{Te(s,r.seed,"seed");let a=i.isLE?Ei(s):_i(s),c=i.toBytes(i.create(a));return{secretKey:c,publicKey:e.getPublicKey(c)}}}return{lengths:{secretKey:r.secretKey,publicKey:r.publicKey,seed:r.seed},keygen:o,getPublicKey:(n)=>e.getPublicKey(n)}}function eA(e,t=!1){let r=Fse(e,t);if(!e.getSharedSecret)throw Error("wrong curve");return{lengths:{...r.lengths,msg:r.lengths.seed,cipherText:r.lengths.publicKey},keygen:r.keygen,getPublicKey:r.getPublicKey,encapsulate(o,n=Mn(e.lengths.seed)){let i=this.keygen(n).secretKey,s=this.decapsulate(o,i),a=e.getPublicKey(i);return Ct(i),{sharedSecret:s,cipherText:a}},decapsulate(o,n){let i=e.getSharedSecret(n,o);return e.lengths.publicKeyHasPrefix?i.subarray(1):i}}}function Ad(e,t){return Bs(t,...e.map((r)=>{if(typeof r.lengths[t]!=="number")throw Error("wrong length: "+t);return r.lengths[t]}))}function tA(e){return(t,r)=>e(t,{dkLen:r})}function Jse(e,t,...r){let o=Ad(r,"seed"),n=Ad(r,"publicKey");if(e===void 0)e=o.bytesLen;Bt(e);function i(s){Te(s,e);let a=o.decode(t(s,o.bytesLen)),c=r.map((f,m)=>f.keygen(a[m])),u=c.map((f)=>f.secretKey),d=c.map((f)=>f.publicKey);return{secretKey:u,publicKey:d}}return{info:{lengths:{seed:e,publicKey:n.bytesLen,secretKey:e}},getPublicKey(s){return this.keygen(s).publicKey},keygen(s=Mn(e)){let{publicKey:a,secretKey:c}=i(s),u=n.encode(a);return Ct(a),Ct(c),{secretKey:s,publicKey:u}},expandDecapsulationKey:i,realSeedLen:e}}function Eg(e,t,r,o,...n){let i=Jse(e,r,...n),s=Ad(n,"cipherText"),a=Ad(n,"publicKey"),c=Ad(n,"msg");if(t===void 0)t=c.bytesLen;return Bt(t),{lengths:{...i.info.lengths,msg:t,msgRand:c.bytesLen,cipherText:s.bytesLen},getPublicKey:i.getPublicKey,keygen:i.keygen,encapsulate(u,d=Mn(c.bytesLen)){let f=a.decode(u),m=c.decode(d),h=n.map((x,_)=>x.encapsulate(f[_],m[_])),b=h.map((x)=>x.sharedSecret),y=h.map((x)=>x.cipherText),S={sharedSecret:o(f,y,b),cipherText:s.encode(y)};return Ct(b,y),S},decapsulate(u,d){let f=s.decode(u),{publicKey:m,secretKey:h}=i.expandDecapsulationKey(d),b=n.map((y,S)=>y.decapsulate(f[S],h[S]));return o(m,f,b)}}}function CZ(e,t,r,o,n){return Vr(o),Vr(n),Eg(32,32,tA(o),(i,s,a)=>n(It(a[0],a[1],s[1],i[1],Ii(e))),t,r)}var LRe=CZ("QSF-KEM(ML-KEM-768,P-256)-XOF(SHAKE256)-KDF(SHA3-256)",kd,eA(Jk,!0),qn,Ls),BRe=CZ("QSF-KEM(ML-KEM-1024,P-384)-XOF(SHAKE256)-KDF(SHA3-256)",OZ,eA(uZ,!0),qn,Ls);function Kse(e,t,r,o,n){return Vr(o),Vr(n),Eg(32,32,tA(o),(i,s,a)=>{let c=It(a[0],a[1],s[0],i[0],s[1],i[1],Ii(e)),u=32,d=It(Ii("hybrid_prk"),c),f=fZ(n,d),m=It(Tc(32,2),Ii("shared_secret"),Ii("")),h=pZ(n,f,m,32);return Ct(f,m,d,c),h},t,r)}var PZ=eA(lZ),jRe=Kse("KitchenSink-KEM(ML-KEM-768,X25519)-XOF(SHAKE256)-KDF(HKDF-SHA-256)",kd,PZ,qn,Sg),Hse=(()=>Eg(32,32,tA(qn),(e,t,r)=>Ls(It(r[0],r[1],t[1],e[1],Ii("\\.//^\\"))),kd,PZ))();function Vse(e,t,r,o){let n=e.Point.Fn;if(!n)throw Error("no Point.Fn");function i(s){let a;for(let d=0,f=t;;d=f,f+=t){if(f>s.length)throw Error("rejection sampling failed");if(a=n.fromBytes(s.subarray(d,f),!0),n.isValidNot0(a))break}let c=n.toBytes(n.create(a)),u=e.getPublicKey(c,!1);return{secretKey:c,publicKey:u}}return{lengths:{secretKey:t,publicKey:r,seed:o,msg:o,cipherText:r},keygen(s=Mn(o)){return Te(s,o,"seed"),i(s)},getPublicKey(s){return e.getPublicKey(s,!1)},encapsulate(s,a=Mn(o)){Te(a,o,"rand");let{secretKey:c}=i(a),u=this.decapsulate(s,c),d=e.getPublicKey(c,!1);return Ct(c),{sharedSecret:u,cipherText:d}},decapsulate(s,a){return e.getSharedSecret(a,s).subarray(1)}}}function Wse(e,t,r,o){let{secretKey:n,publicKeyUncompressed:i}=r.lengths;if(!n||!i)throw Error("wrong curve");let s=Vse(r,n,i,o),a=64,c=a+o;return Eg(32,32,(u)=>{Te(u,32);let d=qn(u,{dkLen:c}),f=d.subarray(0,a),m=d.subarray(a,c);return It(f,m)},(u,d,f)=>Ls(It(f[0],f[1],d[1],u[1],Ii(e))),t,s)}var Gse=(()=>Wse("MLKEM768-P256",kd,Jk,128))();var Ig=Hse,zZ=Gse;/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var et=(e,t,r)=>Ft(e,t,r),nA=vt,Pc=Wh,Vt=(...e)=>sk(...e),zc=(e)=>od(e),Nc=nk,Dc=(e)=>bo(e),Ag=BigInt(0),rA=BigInt(1);function ko(e,t=""){if(typeof e!=="boolean"){let r=t&&`"${t}" `;throw TypeError(r+"expected boolean, got type="+typeof e)}return e}function Tg(e){if(typeof e==="bigint"){if(!kg(e))throw RangeError("positive bigint expected, got "+e)}else nA(e);return e}function Fn(e,t=""){if(typeof e!=="number"){let r=t&&`"${t}" `;throw TypeError(r+"expected number, got type="+typeof e)}if(!Number.isSafeInteger(e)){let r=t&&`"${t}" `;throw RangeError(r+"expected safe integer, got "+e)}}function Td(e){let t=Tg(e).toString(16);return t.length&1?"0"+t:t}function NZ(e){if(typeof e!=="string")throw TypeError("hex string expected, got "+typeof e);return e===""?Ag:BigInt("0x"+e)}function Us(e){return NZ(Wh(e))}function mn(e){return NZ(Wh(Ri(Ft(e)).reverse()))}function $g(e,t){if(vt(t),t===0)throw RangeError("zero length");e=Tg(e);let r=e.toString(16);if(r.length>t*2)throw RangeError("number too large");return od(r.padStart(t*2,"0"))}function $d(e,t){return $g(e,t).reverse()}function DZ(e,t){if(e=et(e),t=et(t),e.length!==t.length)return!1;let r=0;for(let o=0;o<e.length;o++)r|=e[o]^t[o];return r===0}function Ri(e){return Uint8Array.from(et(e))}function Rg(e){if(typeof e!=="string")throw TypeError("ascii string expected, got "+typeof e);return Uint8Array.from(e,(t,r)=>{let o=t.charCodeAt(0);if(t.length!==1||o>127)throw RangeError(`string contains non-ASCII character "${e[r]}" with code ${o} at position ${r}`);return o})}var kg=(e)=>typeof e==="bigint"&&Ag<=e;function Qse(e,t,r){return kg(e)&&kg(t)&&kg(r)&&t<=e&&e<r}function Ao(e,t,r,o){if(!Qse(t,r,o))throw RangeError("expected valid "+e+": "+r+" <= n < "+o+", got "+t)}function Lc(e){if(e<Ag)throw Error("expected non-negative bigint, got "+e);let t;for(t=0;e>Ag;e>>=rA,t+=1);return t}var Rd=(e)=>(rA<<BigInt(e))-rA;function LZ(e,t,r){if(vt(e,"hashLen"),vt(t,"qByteLen"),typeof r!=="function")throw TypeError("hmacFn must be a function");let o=(S)=>new Uint8Array(S),n=Uint8Array.of(),i=Uint8Array.of(0),s=Uint8Array.of(1),a=1000,c=o(e),u=o(e),d=0,f=()=>{c.fill(1),u.fill(0),d=0},m=(...S)=>r(u,Vt(c,...S)),h=(S=n)=>{if(u=m(i,S),c=m(),S.length===0)return;u=m(s,S),c=m()},b=()=>{if(d++>=a)throw Error("drbg: tried max amount of iterations");let S=0,x=[];while(S<t){c=m();let _=c.slice();x.push(_),S+=c.length}return Vt(...x)};return(S,x)=>{f(),h(S);let _=void 0;while((_=x(b()))===void 0)h();return f(),_}}function Gr(e,t={},r={}){if(Object.prototype.toString.call(e)!=="[object Object]")throw TypeError("expected valid options object");function o(i,s,a){if(!a&&s!=="function"&&!Object.hasOwn(e,i))throw TypeError(`param "${i}" is invalid: expected own property`);let c=e[i];if(a&&c===void 0)return;let u=typeof c;if(u!==s||c===null)throw TypeError(`param "${i}" is invalid: expected ${s}, got ${u}`)}let n=(i,s)=>Object.entries(i).forEach(([a,c])=>o(a,c,s));n(t,!1),n(r,!0)}var oA=()=>{throw Error("not implemented")};/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var Wt=BigInt(0),gt=BigInt(1),qs=BigInt(2),UZ=BigInt(3),qZ=BigInt(4),MZ=BigInt(5),Yse=BigInt(7),FZ=BigInt(8),Xse=BigInt(9),JZ=BigInt(16);function it(e,t){if(t<=Wt)throw Error("mod: expected positive modulus, got "+t);let r=e%t;return r>=Wt?r:t+r}function Qr(e,t,r){if(t<Wt)throw Error("pow2: expected non-negative exponent, got "+t);let o=e;while(t-- >Wt)o*=o,o%=r;return o}function BZ(e,t){if(e===Wt)throw Error("invert: expected non-zero number");if(t<=Wt)throw Error("invert: expected positive modulus, got "+t);let r=it(e,t),o=t,n=Wt,i=gt,s=gt,a=Wt;while(r!==Wt){let u=o/r,d=o-r*u,f=n-s*u,m=i-a*u;o=r,r=d,n=s,i=a,s=f,a=m}if(o!==gt)throw Error("invert: does not exist");return it(n,t)}function iA(e,t,r){let o=e;if(!o.eql(o.sqr(t),r))throw Error("Cannot find square root")}function KZ(e,t){let r=e,o=(r.ORDER+gt)/qZ,n=r.pow(t,o);return iA(r,n,t),n}function eae(e,t){let r=e,o=(r.ORDER-MZ)/FZ,n=r.mul(t,qs),i=r.pow(n,o),s=r.mul(t,i),a=r.mul(r.mul(s,qs),i),c=r.mul(s,r.sub(a,r.ONE));return iA(r,c,t),c}function tae(e){let t=Og(e),r=HZ(e),o=r(t,t.neg(t.ONE)),n=r(t,o),i=r(t,t.neg(o)),s=(e+Yse)/JZ;return(a,c)=>{let u=a,d=u.pow(c,s),f=u.mul(d,o),m=u.mul(d,n),h=u.mul(d,i),b=u.eql(u.sqr(f),c),y=u.eql(u.sqr(m),c);d=u.cmov(d,f,b),f=u.cmov(h,m,y);let S=u.eql(u.sqr(f),c),x=u.cmov(d,f,S);return iA(u,x,c),x}}function HZ(e){if(e<UZ)throw Error("sqrt is not defined for small field");let t=e-gt,r=0;while(t%qs===Wt)t/=qs,r++;let o=qs,n=Og(e);while(jZ(n,o)===1)if(o++>1000)throw Error("Cannot find square root: probably non-prime P");if(r===1)return KZ;let i=n.pow(o,t),s=(t+gt)/qs;return function(c,u){let d=c;if(d.is0(u))return u;if(jZ(d,u)!==1)throw Error("Cannot find square root");let f=r,m=d.mul(d.ONE,i),h=d.pow(u,t),b=d.pow(u,s);while(!d.eql(h,d.ONE)){if(d.is0(h))return d.ZERO;let y=1,S=d.sqr(h);while(!d.eql(S,d.ONE))if(y++,S=d.sqr(S),y===f)throw Error("Cannot find square root");let x=gt<<BigInt(f-y-1),_=d.pow(m,x);f=y,m=d.sqr(_),h=d.mul(h,m),b=d.mul(b,_)}return b}}function rae(e){if(e%qZ===UZ)return KZ;if(e%FZ===MZ)return eae;if(e%JZ===Xse)return tae(e);return HZ(e)}var To=(e,t)=>(it(e,t)&gt)===gt,nae=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function sA(e){let t={ORDER:"bigint",BYTES:"number",BITS:"number"},r=nae.reduce((o,n)=>(o[n]="function",o),t);if(Gr(e,r),Fn(e.BYTES,"BYTES"),Fn(e.BITS,"BITS"),e.BYTES<1||e.BITS<1)throw Error("invalid field: expected BYTES/BITS > 0");if(e.ORDER<=gt)throw Error("invalid field: expected ORDER > 1, got "+e.ORDER);return e}function oae(e,t,r){let o=e;if(r<Wt)throw Error("invalid exponent, negatives unsupported");if(r===Wt)return o.ONE;if(r===gt)return t;let n=o.ONE,i=t;while(r>Wt){if(r&gt)n=o.mul(n,i);i=o.sqr(i),r>>=gt}return n}function Od(e,t,r=!1){let o=e,n=Array(t.length).fill(r?o.ZERO:void 0),i=t.reduce((a,c,u)=>{if(o.is0(c))return a;return n[u]=a,o.mul(a,c)},o.ONE),s=o.inv(i);return t.reduceRight((a,c,u)=>{if(o.is0(c))return a;return n[u]=o.mul(a,n[u]),o.mul(a,c)},s),n}function jZ(e,t){let r=e,o=(r.ORDER-gt)/qs,n=r.pow(t,o),i=r.eql(n,r.ONE),s=r.eql(n,r.ZERO),a=r.eql(n,r.neg(r.ONE));if(!i&&!s&&!a)throw Error("invalid Legendre symbol result");return i?1:s?0:-1}function iae(e,t){if(t!==void 0)nA(t);if(e<=Wt)throw Error("invalid n length: expected positive n, got "+e);if(t!==void 0&&t<1)throw Error("invalid n length: expected positive bit length, got "+t);let r=Lc(e);if(t!==void 0&&t<r)throw Error(`invalid n length: expected bit length (${r}) >= n.length (${t})`);let o=t!==void 0?t:r,n=Math.ceil(o/8);return{nBitLength:o,nByteLength:n}}var ZZ=new WeakMap;class aA{ORDER;BITS;BYTES;isLE;ZERO=Wt;ONE=gt;_lengths;_mod;constructor(e,t={}){if(e<=gt)throw Error("invalid field: expected ORDER > 1, got "+e);let r=void 0;if(this.isLE=!1,t!=null&&typeof t==="object"){if(typeof t.BITS==="number")r=t.BITS;if(typeof t.sqrt==="function")Object.defineProperty(this,"sqrt",{value:t.sqrt,enumerable:!0});if(typeof t.isLE==="boolean")this.isLE=t.isLE;if(t.allowedLengths)this._lengths=Object.freeze(t.allowedLengths.slice());if(typeof t.modFromBytes==="boolean")this._mod=t.modFromBytes}let{nBitLength:o,nByteLength:n}=iae(e,r);if(n>2048)throw Error("invalid field: expected ORDER of <= 2048 bytes");this.ORDER=e,this.BITS=o,this.BYTES=n,Object.freeze(this)}create(e){return it(e,this.ORDER)}isValid(e){if(typeof e!=="bigint")throw TypeError("invalid field element: expected bigint, got "+typeof e);return Wt<=e&&e<this.ORDER}is0(e){return e===Wt}isValidNot0(e){return!this.is0(e)&&this.isValid(e)}isOdd(e){return(e&gt)===gt}neg(e){return it(-e,this.ORDER)}eql(e,t){return e===t}sqr(e){return it(e*e,this.ORDER)}add(e,t){return it(e+t,this.ORDER)}sub(e,t){return it(e-t,this.ORDER)}mul(e,t){return it(e*t,this.ORDER)}pow(e,t){return oae(this,e,t)}div(e,t){return it(e*BZ(t,this.ORDER),this.ORDER)}sqrN(e){return e*e}addN(e,t){return e+t}subN(e,t){return e-t}mulN(e,t){return e*t}inv(e){return BZ(e,this.ORDER)}sqrt(e){let t=ZZ.get(this);if(!t)ZZ.set(this,t=rae(this.ORDER));return t(this,e)}toBytes(e){return this.isLE?$d(e,this.BYTES):$g(e,this.BYTES)}fromBytes(e,t=!1){et(e);let{_lengths:r,BYTES:o,isLE:n,ORDER:i,_mod:s}=this;if(r){if(e.length<1||!r.includes(e.length)||e.length>o)throw Error("Field.fromBytes: expected "+r+" bytes, got "+e.length);let c=new Uint8Array(o);c.set(e,n?0:c.length-e.length),e=c}if(e.length!==o)throw Error("Field.fromBytes: expected "+o+" bytes, got "+e.length);let a=n?mn(e):Us(e);if(s)a=it(a,i);if(!t){if(!this.isValid(a))throw Error("invalid field element: outside of range 0..ORDER")}return a}invertBatch(e){return Od(this,e)}cmov(e,t,r){return ko(r,"condition"),r?t:e}}Object.freeze(aA.prototype);function Og(e,t={}){return new aA(e,t)}function VZ(e){if(typeof e!=="bigint")throw Error("field order must be bigint");if(e<=gt)throw Error("field order must be greater than 1");let t=Lc(e-gt);return Math.ceil(t/8)}function cA(e){let t=VZ(e);return t+Math.ceil(t/2)}function WZ(e,t,r=!1){et(e);let o=e.length,n=VZ(t),i=Math.max(cA(t),16);if(o<i||o>1024)throw Error("expected "+i+"-1024 bytes of input, got "+o);let s=r?mn(e):Us(e),a=it(s,t-gt)+gt;return r?$d(a,n):$g(a,n)}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var Bc=BigInt(0),Ms=BigInt(1);function Cd(e,t){let r=t.negate();return e?r:t}function Fs(e,t){let r=Od(e.Fp,t.map((o)=>o.Z));return t.map((o,n)=>e.fromAffine(o.toAffine(r[n])))}function XZ(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw Error("invalid window size, expected [1.."+t+"], got W="+e)}function lA(e,t){XZ(e,t);let r=Math.ceil(t/e)+1,o=2**(e-1),n=2**e,i=Rd(e),s=BigInt(e);return{windows:r,windowSize:o,mask:i,maxNumber:n,shiftBy:s}}function GZ(e,t,r){let{windowSize:o,mask:n,maxNumber:i,shiftBy:s}=r,a=Number(e&n),c=e>>s;if(a>o)a-=i,c+=Ms;let u=t*o,d=u+Math.abs(a)-1,f=a===0,m=a<0,h=t%2!==0;return{nextN:c,offset:d,isZero:f,isNeg:m,isNegF:h,offsetF:u}}var uA=new WeakMap,eU=new WeakMap;function dA(e){return eU.get(e)||1}function QZ(e){if(e!==Bc)throw Error("invalid wNAF")}class Pd{BASE;ZERO;Fn;bits;constructor(e,t){this.BASE=e.BASE,this.ZERO=e.ZERO,this.Fn=e.Fn,this.bits=t}_unsafeLadder(e,t,r=this.ZERO){let o=e;while(t>Bc){if(t&Ms)r=r.add(o);o=o.double(),t>>=Ms}return r}precomputeWindow(e,t){let{windows:r,windowSize:o}=lA(t,this.bits),n=[],i=e,s=i;for(let a=0;a<r;a++){s=i,n.push(s);for(let c=1;c<o;c++)s=s.add(i),n.push(s);i=s.double()}return n}wNAF(e,t,r){if(!this.Fn.isValid(r))throw Error("invalid scalar");let o=this.ZERO,n=this.BASE,i=lA(e,this.bits);for(let s=0;s<i.windows;s++){let{nextN:a,offset:c,isZero:u,isNeg:d,isNegF:f,offsetF:m}=GZ(r,s,i);if(r=a,u)n=n.add(Cd(f,t[m]));else o=o.add(Cd(d,t[c]))}return QZ(r),{p:o,f:n}}wNAFUnsafe(e,t,r,o=this.ZERO){let n=lA(e,this.bits);for(let i=0;i<n.windows;i++){if(r===Bc)break;let{nextN:s,offset:a,isZero:c,isNeg:u}=GZ(r,i,n);if(r=s,c)continue;else{let d=t[a];o=o.add(u?d.negate():d)}}return QZ(r),o}getPrecomputes(e,t,r){let o=uA.get(t);if(!o){if(o=this.precomputeWindow(t,e),e!==1){if(typeof r==="function")o=r(o);uA.set(t,o)}}return o}cached(e,t,r){let o=dA(e);return this.wNAF(o,this.getPrecomputes(o,e,r),t)}unsafe(e,t,r,o){let n=dA(e);if(n===1)return this._unsafeLadder(e,t,o);return this.wNAFUnsafe(n,this.getPrecomputes(n,e,r),t,o)}createCache(e,t){XZ(t,this.bits),eU.set(e,t),uA.delete(e)}hasCache(e){return dA(e)!==1}}function tU(e,t,r,o){let n=t,i=e.ZERO,s=e.ZERO;while(r>Bc||o>Bc){if(r&Ms)i=i.add(n);if(o&Ms)s=s.add(n);n=n.double(),r>>=Ms,o>>=Ms}return{p1:i,p2:s}}function YZ(e,t,r){if(t){if(t.ORDER!==e)throw Error("Field.ORDER must match order: Fp == p, Fn == n");return sA(t),t}else return Og(e,{isLE:r})}function Cg(e,t,r={},o){if(o===void 0)o=e==="edwards";if(!t||typeof t!=="object")throw Error(`expected valid ${e} CURVE object`);for(let c of["p","n","h"]){let u=t[c];if(!(typeof u==="bigint"&&u>Bc))throw Error(`CURVE.${c} must be positive bigint`)}let n=YZ(t.p,r.Fp,o),i=YZ(t.n,r.Fn,o),a=["Gx","Gy","a",e==="weierstrass"?"b":"d"];for(let c of a)if(!n.isValid(t[c]))throw Error(`CURVE.${c} must be valid field element of CURVE.Fp`);return t=Object.freeze(Object.assign({},t)),{CURVE:t,Fp:n,Fn:i}}function zd(e,t){return function(o){let n=e(o);return{secretKey:n,publicKey:t(n)}}}function Nd(e,t){if(Fn(e),Fn(t),t<0||t>4)throw Error("invalid I2OSP length: "+t);if(e<0||e>2**(8*t)-1)throw Error("invalid I2OSP input: "+e);let r=Array.from({length:t}).fill(0);for(let o=t-1;o>=0;o--)r[o]=e&255,e>>>=8;return new Uint8Array(r)}function sae(e,t){let r=new Uint8Array(e.length);for(let o=0;o<e.length;o++)r[o]=e[o]^t[o];return r}function aae(e){if(!Nc(e)&&typeof e!=="string")throw Error("DST must be Uint8Array or ascii string");let t=typeof e==="string"?Rg(e):e;if(t.length===0)throw Error("DST must be non-empty");return t}function fA(e,t,r,o){if(et(e),Fn(r),t=aae(t),t.length>255)t=o(Vt(Rg("H2C-OVERSIZE-DST-"),t));let{outputLen:n,blockLen:i}=o,s=Math.ceil(r/n);if(r>65535||s>255)throw Error("expand_message_xmd: invalid lenInBytes");let a=Vt(t,Nd(t.length,1)),c=new Uint8Array(i),u=Nd(r,2),d=Array(s),f=o(Vt(c,e,u,Nd(0,1),a));d[0]=o(Vt(f,Nd(1,1),a));for(let h=1;h<s;h++){let b=[sae(f,d[h-1]),Nd(h+1,1),a];d[h]=o(Vt(...b))}return Vt(...d).slice(0,r)}var rU="HashToScalar-";/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var nU=(e,t)=>(e+(e>=0?t:-t)/iU)/t;function cae(e,t,r){Ao("scalar",e,Jn,r);let[[o,n],[i,s]]=t,a=nU(s*e,r),c=nU(-n*e,r),u=e-a*o-c*i,d=-a*n-c*s,f=u<Jn,m=d<Jn;if(f)u=-u;if(m)d=-d;let h=Rd(Math.ceil(Lc(r)/2))+Oi;if(u<Jn||u>=h||d<Jn||d>=h)throw Error("splitScalar (endomorphism): failed for k");return{k1neg:f,k1:u,k2neg:m,k2:d}}function mA(e){if(!["compact","recovered","der"].includes(e))throw Error('Signature format must be "compact", "recovered", or "der"');return e}function pA(e,t){Gr(e);let r={};for(let o of Object.keys(t))r[o]=e[o]===void 0?t[o]:e[o];if(ko(r.lowS,"lowS"),ko(r.prehash,"prehash"),r.format!==void 0)mA(r.format);return r}class oU extends Error{constructor(e=""){super(e)}}var hn={Err:oU,_tlv:{encode:(e,t)=>{let{Err:r}=hn;if(Fn(e,"tag"),e<0||e>255)throw new r("tlv.encode: wrong tag");if(typeof t!=="string")throw TypeError('"data" expected string, got type='+typeof t);if(t.length&1)throw new r("tlv.encode: unpadded data");let o=t.length/2,n=Td(o);if(n.length/2&128)throw new r("tlv.encode: long form length too big");let i=o>127?Td(n.length/2|128):"";return Td(e)+i+n+t},decode(e,t){let{Err:r}=hn;t=et(t,void 0,"DER data");let o=0;if(e<0||e>255)throw new r("tlv.encode: wrong tag");if(t.length<2||t[o++]!==e)throw new r("tlv.decode: wrong tlv");let n=t[o++],i=!!(n&128),s=0;if(!i)s=n;else{let c=n&127;if(!c)throw new r("tlv.decode(long): indefinite length not supported");if(c>4)throw new r("tlv.decode(long): byte length is too big");let u=t.subarray(o,o+c);if(u.length!==c)throw new r("tlv.decode: length bytes not complete");if(u[0]===0)throw new r("tlv.decode(long): zero leftmost byte");for(let d of u)s=s<<8|d;if(o+=c,s<128)throw new r("tlv.decode(long): not minimal encoding")}let a=t.subarray(o,o+s);if(a.length!==s)throw new r("tlv.decode: wrong value length");return{v:a,l:t.subarray(o+s)}}},_int:{encode(e){let{Err:t}=hn;if(Tg(e),e<Jn)throw new t("integer: negative integers are not allowed");let r=Td(e);if(Number.parseInt(r[0],16)&8)r="00"+r;if(r.length&1)throw new t("unexpected DER parsing assertion: unpadded hex");return r},decode(e){let{Err:t}=hn;if(e.length<1)throw new t("invalid signature integer: empty");if(e[0]&128)throw new t("invalid signature integer: negative");if(e.length>1&&e[0]===0&&!(e[1]&128))throw new t("invalid signature integer: unnecessary leading zero");return Us(e)}},toSig(e){let{Err:t,_int:r,_tlv:o}=hn,n=et(e,void 0,"signature"),{v:i,l:s}=o.decode(48,n);if(s.length)throw new t("invalid signature: left bytes after parsing");let{v:a,l:c}=o.decode(2,i),{v:u,l:d}=o.decode(2,c);if(d.length)throw new t("invalid signature: left bytes after parsing");return{r:r.decode(a),s:r.decode(u)}},hexFromSig(e){let{_tlv:t,_int:r}=hn,o=t.encode(2,r.encode(e.r)),n=t.encode(2,r.encode(e.s)),i=o+n;return t.encode(48,i)}};Object.freeze(hn._tlv);Object.freeze(hn._int);Object.freeze(hn);var Jn=BigInt(0),Oi=BigInt(1),iU=BigInt(2),Pg=BigInt(3),lae=BigInt(4);function sU(e,t={}){let r=Cg("weierstrass",e,t),o=r.Fp,n=r.Fn,i=r.CURVE,{h:s,n:a}=i;Gr(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object"});let{endo:c,allowInfinityPoint:u}=t;if(c){if(!o.is0(i.a)||typeof c.beta!=="bigint"||!Array.isArray(c.basises))throw Error('invalid endo: expected "beta": bigint and "basises": array')}let d=cU(o,n);function f(){if(!o.isOdd)throw Error("compression is not supported: Field does not have .isOdd()")}function m(j,R,B){if(u&&R.is0())return Uint8Array.of(0);let{x:I,y:T}=R.toAffine(),k=o.toBytes(I);if(ko(B,"isCompressed"),B){f();let M=!o.isOdd(T);return Vt(aU(M),k)}else return Vt(Uint8Array.of(4),k,o.toBytes(T))}function h(j){et(j,void 0,"Point");let{publicKey:R,publicKeyUncompressed:B}=d,I=j.length,T=j[0],k=j.subarray(1);if(u&&I===1&&T===0)return{x:o.ZERO,y:o.ZERO};if(I===R&&(T===2||T===3)){let M=o.fromBytes(k);if(!o.isValid(M))throw Error("bad point: is not on curve, wrong x");let N=S(M),H;try{H=o.sqrt(N)}catch(ae){let pe=ae instanceof Error?": "+ae.message:"";throw Error("bad point: is not on curve, sqrt error"+pe)}f();let G=o.isOdd(H);if((T&1)===1!==G)H=o.neg(H);return{x:M,y:H}}else if(I===B&&T===4){let M=o.BYTES,N=o.fromBytes(k.subarray(0,M)),H=o.fromBytes(k.subarray(M,M*2));if(!x(N,H))throw Error("bad point: is not on curve");return{x:N,y:H}}else throw Error(`bad point: got length ${I}, expected compressed=${R} or uncompressed=${B}`)}let b=t.toBytes===void 0?m:t.toBytes,y=t.fromBytes===void 0?h:t.fromBytes;function S(j){let R=o.sqr(j),B=o.mul(R,j);return o.add(o.add(B,o.mul(j,i.a)),i.b)}function x(j,R){let B=o.sqr(R),I=S(j);return o.eql(B,I)}if(!x(i.Gx,i.Gy))throw Error("bad curve params: generator point");let _=o.mul(o.pow(i.a,Pg),lae),A=o.mul(o.sqr(i.b),BigInt(27));if(o.is0(o.add(_,A)))throw Error("bad curve params: a or b");function O(j,R,B=!1){if(!o.isValid(R)||B&&o.is0(R))throw Error(`bad point coordinate ${j}`);return R}function L(j){if(!(j instanceof P))throw Error("Weierstrass Point expected")}function z(j){if(!c||!c.basises)throw Error("no endo");return cae(j,c.basises,n.ORDER)}function K(j,R,B,I,T){return B=new P(o.mul(B.X,j),B.Y,B.Z),R=Cd(I,R),B=Cd(T,B),R.add(B)}class P{static BASE=new P(i.Gx,i.Gy,o.ONE);static ZERO=new P(o.ZERO,o.ONE,o.ZERO);static Fp=o;static Fn=n;X;Y;Z;constructor(j,R,B){this.X=O("x",j),this.Y=O("y",R,!0),this.Z=O("z",B),Object.freeze(this)}static CURVE(){return i}static fromAffine(j){let{x:R,y:B}=j||{};if(!j||!o.isValid(R)||!o.isValid(B))throw Error("invalid affine point");if(j instanceof P)throw Error("projective point not allowed");if(o.is0(R)&&o.is0(B))return P.ZERO;return new P(R,B,o.ONE)}static fromBytes(j){let R=P.fromAffine(y(et(j,void 0,"point")));return R.assertValidity(),R}static fromHex(j){return P.fromBytes(zc(j))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(j=8,R=!0){if(ee.createCache(this,j),!R)this.multiply(Pg);return this}assertValidity(){let j=this;if(j.is0()){if(t.allowInfinityPoint&&o.is0(j.X)&&o.eql(j.Y,o.ONE)&&o.is0(j.Z))return;throw Error("bad point: ZERO")}let{x:R,y:B}=j.toAffine();if(!o.isValid(R)||!o.isValid(B))throw Error("bad point: x or y not field elements");if(!x(R,B))throw Error("bad point: equation left != right");if(!j.isTorsionFree())throw Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:j}=this.toAffine();if(!o.isOdd)throw Error("Field doesn't support isOdd");return!o.isOdd(j)}equals(j){L(j);let{X:R,Y:B,Z:I}=this,{X:T,Y:k,Z:M}=j,N=o.eql(o.mul(R,M),o.mul(T,I)),H=o.eql(o.mul(B,M),o.mul(k,I));return N&&H}negate(){return new P(this.X,o.neg(this.Y),this.Z)}double(){let{a:j,b:R}=i,B=o.mul(R,Pg),{X:I,Y:T,Z:k}=this,M=o.ZERO,N=o.ZERO,H=o.ZERO,G=o.mul(I,I),re=o.mul(T,T),ae=o.mul(k,k),pe=o.mul(I,T);return pe=o.add(pe,pe),H=o.mul(I,k),H=o.add(H,H),M=o.mul(j,H),N=o.mul(B,ae),N=o.add(M,N),M=o.sub(re,N),N=o.add(re,N),N=o.mul(M,N),M=o.mul(pe,M),H=o.mul(B,H),ae=o.mul(j,ae),pe=o.sub(G,ae),pe=o.mul(j,pe),pe=o.add(pe,H),H=o.add(G,G),G=o.add(H,G),G=o.add(G,ae),G=o.mul(G,pe),N=o.add(N,G),ae=o.mul(T,k),ae=o.add(ae,ae),G=o.mul(ae,pe),M=o.sub(M,G),H=o.mul(ae,re),H=o.add(H,H),H=o.add(H,H),new P(M,N,H)}add(j){L(j);let{X:R,Y:B,Z:I}=this,{X:T,Y:k,Z:M}=j,N=o.ZERO,H=o.ZERO,G=o.ZERO,re=i.a,ae=o.mul(i.b,Pg),pe=o.mul(R,T),be=o.mul(B,k),ve=o.mul(I,M),ke=o.add(R,B),Ie=o.add(T,k);ke=o.mul(ke,Ie),Ie=o.add(pe,be),ke=o.sub(ke,Ie),Ie=o.add(R,I);let we=o.add(T,M);return Ie=o.mul(Ie,we),we=o.add(pe,ve),Ie=o.sub(Ie,we),we=o.add(B,I),N=o.add(k,M),we=o.mul(we,N),N=o.add(be,ve),we=o.sub(we,N),G=o.mul(re,Ie),N=o.mul(ae,ve),G=o.add(N,G),N=o.sub(be,G),G=o.add(be,G),H=o.mul(N,G),be=o.add(pe,pe),be=o.add(be,pe),ve=o.mul(re,ve),Ie=o.mul(ae,Ie),be=o.add(be,ve),ve=o.sub(pe,ve),ve=o.mul(re,ve),Ie=o.add(Ie,ve),pe=o.mul(be,Ie),H=o.add(H,pe),pe=o.mul(we,Ie),N=o.mul(ke,N),N=o.sub(N,pe),pe=o.mul(ke,be),G=o.mul(we,G),G=o.add(G,pe),new P(N,H,G)}subtract(j){return L(j),this.add(j.negate())}is0(){return this.equals(P.ZERO)}multiply(j){let{endo:R}=t;if(!n.isValidNot0(j))throw RangeError("invalid scalar: out of range");let B,I,T=(k)=>ee.cached(this,k,(M)=>Fs(P,M));if(R){let{k1neg:k,k1:M,k2neg:N,k2:H}=z(j),{p:G,f:re}=T(M),{p:ae,f:pe}=T(H);I=re.add(pe),B=K(R.beta,G,ae,k,N)}else{let{p:k,f:M}=T(j);B=k,I=M}return Fs(P,[B,I])[0]}multiplyUnsafe(j){let{endo:R}=t,B=this,I=j;if(!n.isValid(I))throw RangeError("invalid scalar: out of range");if(I===Jn||B.is0())return P.ZERO;if(I===Oi)return B;if(ee.hasCache(this))return this.multiply(I);if(R){let{k1neg:T,k1:k,k2neg:M,k2:N}=z(I),{p1:H,p2:G}=tU(P,B,k,N);return K(R.beta,H,G,T,M)}else return ee.unsafe(B,I)}toAffine(j){let R=this,B=j,{X:I,Y:T,Z:k}=R;if(o.eql(k,o.ONE))return{x:I,y:T};let M=R.is0();if(B==null)B=M?o.ONE:o.inv(k);let N=o.mul(I,B),H=o.mul(T,B),G=o.mul(k,B);if(M)return{x:o.ZERO,y:o.ZERO};if(!o.eql(G,o.ONE))throw Error("invZ was invalid");return{x:N,y:H}}isTorsionFree(){let{isTorsionFree:j}=t;if(s===Oi)return!0;if(j)return j(P,this);return ee.unsafe(this,a).is0()}clearCofactor(){let{clearCofactor:j}=t;if(s===Oi)return this;if(j)return j(P,this);return this.multiplyUnsafe(s)}isSmallOrder(){if(s===Oi)return this.is0();return this.clearCofactor().is0()}toBytes(j=!0){return ko(j,"isCompressed"),this.assertValidity(),b(P,this,j)}toHex(j=!0){return Pc(this.toBytes(j))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let W=n.BITS,ee=new Pd(P,t.endo?Math.ceil(W/2):W);if(W>=8)P.BASE.precompute(8);return Object.freeze(P.prototype),Object.freeze(P),P}function aU(e){return Uint8Array.of(e?2:3)}function cU(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function uae(e,t={}){let{Fn:r}=e,o=t.randomBytes===void 0?Dc:t.randomBytes,n=Object.assign(cU(e.Fp,r),{seed:Math.max(cA(r.ORDER),16)});function i(h){try{let b=r.fromBytes(h);return r.isValidNot0(b)}catch(b){return!1}}function s(h,b){let{publicKey:y,publicKeyUncompressed:S}=n;try{let x=h.length;if(b===!0&&x!==y)return!1;if(b===!1&&x!==S)return!1;return!!e.fromBytes(h)}catch(x){return!1}}function a(h){return h=h===void 0?o(n.seed):h,WZ(et(h,n.seed,"seed"),r.ORDER)}function c(h,b=!0){return e.BASE.multiply(r.fromBytes(h)).toBytes(b)}function u(h){let{secretKey:b,publicKey:y,publicKeyUncompressed:S}=n,x=r._lengths;if(!Nc(h))return;let _=et(h,void 0,"key").length,A=_===y||_===S,O=_===b||!!x?.includes(_);if(A&&O)return;return A}function d(h,b,y=!0){if(u(h)===!0)throw Error("first arg must be private key");if(u(b)===!1)throw Error("second arg must be public key");let S=r.fromBytes(h);return e.fromBytes(b).multiply(S).toBytes(y)}let f={isValidSecretKey:i,isValidPublicKey:s,randomSecretKey:a},m=zd(a,c);return Object.freeze(f),Object.freeze(n),Object.freeze({getPublicKey:c,getSharedSecret:d,keygen:m,Point:e,utils:f,lengths:n})}function lU(e,t,r={}){let o=t;yo(o),Gr(r,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"}),r=Object.assign({},r);let n=r.randomBytes===void 0?Dc:r.randomBytes,i=r.hmac===void 0?(T,k)=>Bn(o,T,k):r.hmac,{Fp:s,Fn:a}=e,{ORDER:c,BITS:u}=a,{keygen:d,getPublicKey:f,getSharedSecret:m,utils:h,lengths:b}=uae(e,r),y={prehash:!0,lowS:typeof r.lowS==="boolean"?r.lowS:!0,format:"compact",extraEntropy:!1},S=c*iU+Oi<s.ORDER;function x(T){let k=c>>Oi;return T>k}function _(T,k){if(!a.isValidNot0(k))throw Error(`invalid signature ${T}: out of range 1..Point.Fn.ORDER`);return k}function A(){if(S)throw Error('"recovered" sig type is not supported for cofactor >2 curves')}function O(T,k){mA(k);let M=b.signature,N=k==="compact"?M:k==="recovered"?M+1:void 0;return et(T,N)}class L{r;s;recovery;constructor(T,k,M){if(this.r=_("r",T),this.s=_("s",k),M!=null){if(A(),![0,1,2,3].includes(M))throw Error("invalid recovery id");this.recovery=M}Object.freeze(this)}static fromBytes(T,k=y.format){O(T,k);let M;if(k==="der"){let{r:re,s:ae}=hn.toSig(et(T));return new L(re,ae)}if(k==="recovered")M=T[0],k="compact",T=T.subarray(1);let N=b.signature/2,H=T.subarray(0,N),G=T.subarray(N,N*2);return new L(a.fromBytes(H),a.fromBytes(G),M)}static fromHex(T,k){return this.fromBytes(zc(T),k)}assertRecovery(){let{recovery:T}=this;if(T==null)throw Error("invalid recovery id: must be present");return T}addRecoveryBit(T){return new L(this.r,this.s,T)}recoverPublicKey(T){let{r:k,s:M}=this,N=this.assertRecovery(),H=N===2||N===3?k+c:k;if(!s.isValid(H))throw Error("invalid recovery id: sig.r+curve.n != R.x");let G=s.toBytes(H),re=e.fromBytes(Vt(aU((N&1)===0),G)),ae=a.inv(H),pe=K(et(T,void 0,"msgHash")),be=a.create(-pe*ae),ve=a.create(M*ae),ke=e.BASE.multiplyUnsafe(be).add(re.multiplyUnsafe(ve));if(ke.is0())throw Error("invalid recovery: point at infinify");return ke.assertValidity(),ke}hasHighS(){return x(this.s)}toBytes(T=y.format){if(mA(T),T==="der")return zc(hn.hexFromSig(this));let{r:k,s:M}=this,N=a.toBytes(k),H=a.toBytes(M);if(T==="recovered")return A(),Vt(Uint8Array.of(this.assertRecovery()),N,H);return Vt(N,H)}toHex(T){return Pc(this.toBytes(T))}}Object.freeze(L.prototype),Object.freeze(L);let z=r.bits2int===void 0?function(k){if(k.length>8192)throw Error("input is too large");let M=Us(k),N=k.length*8-u;return N>0?M>>BigInt(N):M}:r.bits2int,K=r.bits2int_modN===void 0?function(k){return a.create(z(k))}:r.bits2int_modN,P=Rd(u);function W(T){return Ao("num < 2^"+u,T,Jn,P),a.toBytes(T)}function ee(T,k){return et(T,void 0,"message"),k?et(o(T),void 0,"prehashed message"):T}function j(T,k,M){let{lowS:N,prehash:H,extraEntropy:G}=pA(M,y);T=ee(T,H);let re=K(T),ae=a.fromBytes(k);if(!a.isValidNot0(ae))throw Error("invalid private key");let pe=[W(ae),W(re)];if(G!=null&&G!==!1){let Ie=G===!0?n(b.secretKey):G;pe.push(et(Ie,void 0,"extraEntropy"))}let be=Vt(...pe),ve=re;function ke(Ie){let we=z(Ie);if(!a.isValidNot0(we))return;let Ue=a.inv(we),De=e.BASE.multiply(we).toAffine(),Qe=a.create(De.x);if(Qe===Jn)return;let St=a.create(Ue*a.create(ve+Qe*ae));if(St===Jn)return;let Tt=(De.x===Qe?0:2)|Number(De.y&Oi),Nt=St;if(N&&x(St))Nt=a.neg(St),Tt^=1;return new L(Qe,Nt,S?void 0:Tt)}return{seed:be,k2sig:ke}}function R(T,k,M={}){let{seed:N,k2sig:H}=j(T,k,M);return LZ(o.outputLen,a.BYTES,i)(N,H).toBytes(M.format)}function B(T,k,M,N={}){let{lowS:H,prehash:G,format:re}=pA(N,y);if(M=et(M,void 0,"publicKey"),k=ee(k,G),!Nc(T)){let ae=T instanceof L?", use sig.toBytes()":"";throw Error("verify expects Uint8Array signature"+ae)}O(T,re);try{let ae=L.fromBytes(T,re),pe=e.fromBytes(M);if(H&&ae.hasHighS())return!1;let{r:be,s:ve}=ae,ke=K(k),Ie=a.inv(ve),we=a.create(ke*Ie),Ue=a.create(be*Ie),De=e.BASE.multiplyUnsafe(we).add(pe.multiplyUnsafe(Ue));if(De.is0())return!1;return a.create(De.x)===be}catch(ae){return!1}}function I(T,k,M={}){let{prehash:N}=pA(M,y);return k=ee(k,N),L.fromBytes(T,"recovered").recoverPublicKey(k).toBytes()}return Object.freeze({keygen:d,getPublicKey:f,getSharedSecret:m,utils:h,lengths:b,Point:e,sign:R,verify:B,recoverPublicKey:I,Signature:L,hash:o})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var dae=(()=>({p:BigInt("0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff"),n:BigInt("0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551"),h:BigInt(1),a:BigInt("0xffffffff00000001000000000000000000000000fffffffffffffffffffffffc"),b:BigInt("0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b"),Gx:BigInt("0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296"),Gy:BigInt("0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5")}))();var fae=sU(dae),jc=lU(fae,wt);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var Ci=BigInt(0),Ir=BigInt(1),hA=BigInt(2),pae=BigInt(8);function mae(e,t,r,o){let n=e.sqr(r),i=e.sqr(o),s=e.add(e.mul(t.a,n),i),a=e.add(e.ONE,e.mul(t.d,e.mul(n,i)));return e.eql(s,a)}function uU(e,t={}){let r=t,o=Cg("edwards",e,r,r.FpFnLE),{Fp:n,Fn:i}=o,s=o.CURVE,{h:a}=s;Gr(r,{},{uvRatio:"function"});let c=hA<<BigInt(i.BYTES*8)-Ir,u=(y)=>n.create(y),d=r.uvRatio===void 0?(y,S)=>{try{return{isValid:!0,value:n.sqrt(n.div(y,S))}}catch(x){return{isValid:!1,value:Ci}}}:r.uvRatio;if(!mae(n,s,s.Gx,s.Gy))throw Error("bad curve params: generator point");function f(y,S,x=!1){let _=x?Ir:Ci;return Ao("coordinate "+y,S,_,c),S}function m(y){if(!(y instanceof h))throw Error("EdwardsPoint expected")}class h{static BASE=new h(s.Gx,s.Gy,Ir,u(s.Gx*s.Gy));static ZERO=new h(Ci,Ir,Ir,Ci);static Fp=n;static Fn=i;X;Y;Z;T;constructor(y,S,x,_){this.X=f("x",y),this.Y=f("y",S),this.Z=f("z",x,!0),this.T=f("t",_),Object.freeze(this)}static CURVE(){return s}static fromAffine(y){if(y instanceof h)throw Error("extended point not allowed");let{x:S,y:x}=y||{};return f("x",S),f("y",x),new h(S,x,Ir,u(S*x))}static fromBytes(y,S=!1){let x=n.BYTES,{a:_,d:A}=s;y=Ri(et(y,x,"point")),ko(S,"zip215");let O=Ri(y),L=y[x-1];O[x-1]=L&-129;let z=mn(O),K=S?c:n.ORDER;Ao("point.y",z,Ci,K);let P=u(z*z),W=u(P-Ir),ee=u(A*P-_),{isValid:j,value:R}=d(W,ee);if(!j)throw Error("bad point: invalid y coordinate");let B=(R&Ir)===Ir,I=(L&128)!==0;if(!S&&R===Ci&&I)throw Error("bad point: x=0 and x_0=1");if(I!==B)R=u(-R);return h.fromAffine({x:R,y:z})}static fromHex(y,S=!1){return h.fromBytes(zc(y),S)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(y=8,S=!0){if(b.createCache(this,y),!S)this.multiply(hA);return this}assertValidity(){let y=this,{a:S,d:x}=s;if(y.is0())throw Error("bad point: ZERO");let{X:_,Y:A,Z:O,T:L}=y,z=u(_*_),K=u(A*A),P=u(O*O),W=u(P*P),ee=u(z*S),j=u(P*u(ee+K)),R=u(W+u(x*u(z*K)));if(j!==R)throw Error("bad point: equation left != right (1)");let B=u(_*A),I=u(O*L);if(B!==I)throw Error("bad point: equation left != right (2)")}equals(y){m(y);let{X:S,Y:x,Z:_}=this,{X:A,Y:O,Z:L}=y,z=u(S*L),K=u(A*_),P=u(x*L),W=u(O*_);return z===K&&P===W}is0(){return this.equals(h.ZERO)}negate(){return new h(u(-this.X),this.Y,this.Z,u(-this.T))}double(){let{a:y}=s,{X:S,Y:x,Z:_}=this,A=u(S*S),O=u(x*x),L=u(hA*u(_*_)),z=u(y*A),K=S+x,P=u(u(K*K)-A-O),W=z+O,ee=W-L,j=z-O,R=u(P*ee),B=u(W*j),I=u(P*j),T=u(ee*W);return new h(R,B,T,I)}add(y){m(y);let{a:S,d:x}=s,{X:_,Y:A,Z:O,T:L}=this,{X:z,Y:K,Z:P,T:W}=y,ee=u(_*z),j=u(A*K),R=u(L*x*W),B=u(O*P),I=u((_+A)*(z+K)-ee-j),T=B-R,k=B+R,M=u(j-S*ee),N=u(I*T),H=u(k*M),G=u(I*M),re=u(T*k);return new h(N,H,re,G)}subtract(y){return m(y),this.add(y.negate())}multiply(y){if(!i.isValidNot0(y))throw RangeError("invalid scalar: expected 1 <= sc < curve.n");let{p:S,f:x}=b.cached(this,y,(_)=>Fs(h,_));return Fs(h,[S,x])[0]}multiplyUnsafe(y){if(!i.isValid(y))throw RangeError("invalid scalar: expected 0 <= sc < curve.n");if(y===Ci)return h.ZERO;if(this.is0()||y===Ir)return this;return b.unsafe(this,y,(S)=>Fs(h,S))}isSmallOrder(){return this.clearCofactor().is0()}isTorsionFree(){return b.unsafe(this,s.n).is0()}toAffine(y){let S=this,x=y,{X:_,Y:A,Z:O}=S,L=S.is0();if(x==null)x=L?pae:n.inv(O);let z=u(_*x),K=u(A*x),P=n.mul(O,x);if(L)return{x:Ci,y:Ir};if(P!==Ir)throw Error("invZ was invalid");return{x:z,y:K}}clearCofactor(){if(a===Ir)return this;return this.multiplyUnsafe(a)}toBytes(){let{x:y,y:S}=this.toAffine(),x=n.toBytes(S);return x[x.length-1]|=y&Ir?128:0,x}toHex(){return Pc(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let b=new Pd(h,i.BITS);if(i.BITS>=8)h.BASE.precompute(8);return Object.freeze(h.prototype),Object.freeze(h),h}class gA{static BASE;static ZERO;static Fp;static Fn;ep;constructor(e){this.ep=e}static fromBytes(e){oA()}static fromHex(e){oA()}get x(){return this.toAffine().x}get y(){return this.toAffine().y}clearCofactor(){return this}assertValidity(){this.ep.assertValidity()}toAffine(e){return this.ep.toAffine(e)}toHex(){return Pc(this.toBytes())}toString(){return this.toHex()}isTorsionFree(){return!0}isSmallOrder(){return!1}add(e){return this.assertSame(e),this.init(this.ep.add(e.ep))}subtract(e){return this.assertSame(e),this.init(this.ep.subtract(e.ep))}multiply(e){return this.init(this.ep.multiply(e))}multiplyUnsafe(e){return this.init(this.ep.multiplyUnsafe(e))}double(){return this.init(this.ep.double())}negate(){return this.init(this.ep.negate())}precompute(e,t){return this.ep.precompute(e,t),this}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var Dd=BigInt(0),Zc=BigInt(1),zg=BigInt(2);function hae(e){return Gr(e,{P:"bigint",type:"string",adjustScalarBytes:"function",powPminus2:"function"},{randomBytes:"function"}),Object.freeze({...e})}function dU(e){let t=hae(e),{P:r,type:o,adjustScalarBytes:n,powPminus2:i,randomBytes:s}=t,a=o==="x25519";if(!a&&o!=="x448")throw Error("invalid type");let c=s===void 0?Dc:s,u=a?255:448,d=a?32:56,f=a?BigInt(9):BigInt(5),m=a?BigInt(121665):BigInt(39081),h=a?zg**BigInt(254):zg**BigInt(447),b=a?BigInt(8)*zg**BigInt(251)-Zc:BigInt(4)*zg**BigInt(445)-Zc,y=h+b+Zc,S=(I)=>it(I,r),x=_(f);function _(I){return $d(S(I),d)}function A(I){let T=Ri(et(I,d,"uCoordinate"));if(a)T[31]&=127;return S(mn(T))}function O(I){return mn(n(Ri(et(I,d,"scalar"))))}function L(I,T){let k=ee(A(T),O(I));if(k===Dd)throw Error("invalid private or public key received");return _(k)}function z(I){return L(I,x)}let K=z,P=L;function W(I,T,k){let M=S(I*(T-k));return T=S(T-M),k=S(k+M),{x_2:T,x_3:k}}function ee(I,T){Ao("u",I,Dd,r),Ao("scalar",T,h,y);let k=T,M=I,N=Zc,H=Dd,G=I,re=Zc,ae=Dd;for(let be=BigInt(u-1);be>=Dd;be--){let ve=k>>be&Zc;ae^=ve,{x_2:N,x_3:G}=W(ae,N,G),{x_2:H,x_3:re}=W(ae,H,re),ae=ve;let ke=N+H,Ie=S(ke*ke),we=N-H,Ue=S(we*we),De=Ie-Ue,Qe=G+re,St=G-re,Tt=S(St*ke),Nt=S(Qe*we),lt=Tt+Nt,$r=Tt-Nt;G=S(lt*lt),re=S(M*S($r*$r)),N=S(Ie*Ue),H=S(De*(Ie+S(m*De)))}({x_2:N,x_3:G}=W(ae,N,G)),{x_2:H,x_3:re}=W(ae,H,re);let pe=i(H);return S(N*pe)}let j={secretKey:d,publicKey:d,seed:d},R=(I)=>(I=I===void 0?c(d):I,et(I,j.seed,"seed"),I),B={randomSecretKey:R};return Object.freeze(j),Object.freeze(B),Object.freeze({keygen:zd(R,K),getSharedSecret:P,getPublicKey:K,scalarMult:L,scalarMultBase:z,utils:B,GuBytes:x.slice(),lengths:j})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var gae=BigInt(0),$o=BigInt(1),fU=BigInt(2),yae=BigInt(3),bae=BigInt(5),Sae=BigInt(8),Ks=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),vA=(()=>({p:Ks,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:Sae,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")}))();function hU(e){let t=BigInt(10),r=BigInt(20),o=BigInt(40),n=BigInt(80),i=Ks,a=e*e%i*e%i,c=Qr(a,fU,i)*a%i,u=Qr(c,$o,i)*e%i,d=Qr(u,bae,i)*u%i,f=Qr(d,t,i)*d%i,m=Qr(f,r,i)*f%i,h=Qr(m,o,i)*m%i,b=Qr(h,n,i)*h%i,y=Qr(b,n,i)*h%i,S=Qr(y,t,i)*d%i;return{pow_p_5_8:Qr(S,fU,i)*e%i,b2:a}}function vae(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var yA=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function wA(e,t){let r=Ks,o=it(t*t*t,r),n=it(o*o*t,r),i=hU(e*n).pow_p_5_8,s=it(e*o*i,r),a=it(t*s*s,r),c=s,u=it(s*yA,r),d=a===e,f=a===it(-e,r),m=a===it(-e*yA,r);if(d)s=c;if(f||m)s=u;if(To(s,r))s=it(-s,r);return{isValid:d||f,value:s}}var Js=uU(vA,{uvRatio:wA}),Pi=(()=>Js.Fp)(),gU=(()=>Js.Fn)();var Ng=(()=>{let e=Ks;return dU({P:e,type:"x25519",powPminus2:(t)=>{let{pow_p_5_8:r,b2:o}=hU(t);return it(Qr(r,yae,e)*o,e)},adjustScalarBytes:vae})})();var bA=yA,wae=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),xae=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),_ae=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),Eae=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),pU=(e)=>wA($o,e),Iae=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),SA=(e)=>Pi.create(mn(e)&Iae);function mU(e){let{d:t}=vA,r=Ks,o=(x)=>Pi.create(x),n=o(bA*e*e),i=o((n+$o)*_ae),s=BigInt(-1),a=o((s-t*n)*o(n+t)),{isValid:c,value:u}=wA(i,a),d=o(u*e);if(!To(d,r))d=o(-d);if(!c)u=d;if(!c)s=n;let f=o(s*(n-$o)*Eae-a),m=u*u,h=o((u+u)*a),b=o(f*wae),y=o($o-m),S=o($o+m);return new Js(o(h*S),o(y*b),o(b*S),o(h*y))}class yr extends gA{static BASE=(()=>new yr(Js.BASE))();static ZERO=(()=>new yr(Js.ZERO))();static Fp=(()=>Pi)();static Fn=(()=>gU)();constructor(e){super(e)}static fromAffine(e){return new yr(Js.fromAffine(e))}assertSame(e){if(!(e instanceof yr))throw Error("RistrettoPoint expected")}init(e){return new yr(e)}static fromBytes(e){Ft(e,32);let{a:t,d:r}=vA,o=Ks,n=(A)=>Pi.create(A),i=SA(e);if(!DZ(Pi.toBytes(i),e)||To(i,o))throw Error("invalid ristretto255 encoding 1");let s=n(i*i),a=n($o+t*s),c=n($o-t*s),u=n(a*a),d=n(c*c),f=n(t*r*u-d),{isValid:m,value:h}=pU(n(f*d)),b=n(h*c),y=n(h*b*f),S=n((i+i)*b);if(To(S,o))S=n(-S);let x=n(a*y),_=n(S*x);if(!m||To(_,o)||x===gae)throw Error("invalid ristretto255 encoding 2");return new yr(new Js(S,x,$o,_))}static fromHex(e){return yr.fromBytes(od(e))}toBytes(){let{X:e,Y:t,Z:r,T:o}=this.ep,n=Ks,i=(y)=>Pi.create(y),s=i(i(r+t)*i(r-t)),a=i(e*t),c=i(a*a),{value:u}=pU(i(s*c)),d=i(u*s),f=i(u*a),m=i(d*f*o),h;if(To(o*m,n)){let y=i(t*bA),S=i(e*bA);e=y,t=S,h=i(d*xae)}else h=f;if(To(e*m,n))t=i(-t);let b=i((r-t)*h);if(To(b,n))b=i(-b);return Pi.toBytes(b)}equals(e){this.assertSame(e);let{X:t,Y:r}=this.ep,{X:o,Y:n}=e.ep,i=(c)=>Pi.create(c),s=i(t*n)===i(r*o),a=i(r*n)===i(t*o);return s||a}is0(){return this.equals(yr.ZERO)}}Object.freeze(yr.BASE);Object.freeze(yr.ZERO);Object.freeze(yr.prototype);Object.freeze(yr);var kae=Object.freeze({Point:yr,hashToCurve(e,t){let r=t?.DST===void 0?"ristretto255_XMD:SHA-512_R255MAP_RO_":t.DST,o=fA(e,r,64,Xh);return kae.deriveToCurve(o)},hashToScalar(e,t={DST:rU}){let r=fA(e,t.DST,64,Xh);return gU.create(mn(r))},deriveToCurve(e){Ft(e,64);let t=SA(e.subarray(0,32)),r=mU(t),o=SA(e.subarray(32,64)),n=mU(o);return new yr(r.add(n))}});var yU=!1,Aae=!1;async function bU(e,t){if(Aae)return await t();try{return await e()}catch(r){if(r instanceof ReferenceError||r instanceof DOMException&&r.name==="NotSupportedError")return await t();else throw r}}async function Dg(e,t){return await bU(async()=>{let r=xA(e)?e:await $ae(e),o=await crypto.subtle.importKey("raw",Rae(t),{name:"X25519"},yU,[]);return new Uint8Array(await crypto.subtle.deriveBits({name:"X25519",public:o},r,256))},()=>{if(xA(e))throw Error("CryptoKey provided but X25519 WebCrypto is not supported");return Ng.scalarMult(e,t)})}async function Ld(e){return await bU(async()=>Dg(e,Ng.GuBytes),()=>{if(xA(e))throw Error("CryptoKey provided but X25519 WebCrypto is not supported");return Ng.scalarMultBase(e)})}var Tae=new Uint8Array([48,46,2,1,0,48,5,6,3,43,101,110,4,34,4,32]);async function $ae(e){if(e.length!==32)throw Error("X25519 private key must be 32 bytes");let t=new Uint8Array([...Tae,...e]);return crypto.subtle.importKey("pkcs8",t,{name:"X25519"},yU,["deriveBits"])}function xA(e){return typeof CryptoKey<"u"&&e instanceof CryptoKey}function Rae(e){return e}class _A{s;transcript=[];buf=new Uint8Array(0);constructor(e){this.s=e.getReader()}async readLine(){let e=[];while(!0){let t=this.buf.indexOf(10);if(t>=0)return e.push(this.buf.subarray(0,t)),this.transcript.push(this.buf.subarray(0,t+1)),this.buf=this.buf.subarray(t+1),Cae(Hs(e));if(this.buf.length>0)e.push(this.buf),this.transcript.push(this.buf);let r=await this.s.read();if(r.done)return this.buf=Hs(e),null;this.buf=r.value}}close(){return this.s.releaseLock(),{rest:this.buf,transcript:Hs(this.transcript)}}}function Cae(e){return e.forEach((t)=>{if(t<32||t>126)throw Error("invalid non-ASCII byte in header")}),new TextDecoder().decode(e)}function Hs(e){let t=e.reduce((n,i)=>n+i.length,0),r=new Uint8Array(t),o=0;for(let n of e)r.set(n,o),o+=n.length;return r}function Uc(e,...t){return e.pipeThrough(new TransformStream({start(r){for(let o of t)r.enqueue(o)}}))}function Lg(e){return new ReadableStream({start(t){t.enqueue(e),t.close()}})}async function EA(e){if(!(e instanceof ReadableStream))throw Error("readAll expects a ReadableStream<Uint8Array>");return new Uint8Array(await new Response(e).arrayBuffer())}async function SU(e){if(!(e instanceof ReadableStream))throw Error("readAllString expects a ReadableStream<Uint8Array>");return await new Response(e).text()}async function vU(e,t){let r=e.getReader(),o=[],n=0;while(n<t){let{done:c,value:u}=await r.read();if(c)throw Error("stream ended before reading "+t.toString()+" bytes");o.push(u),n+=u.length}r.releaseLock();let i=Hs(o),s=i.subarray(0,t),a=Uc(e,i.subarray(t));return{data:s,rest:a}}class Kn{args;body;constructor(e,t){this.args=e,this.body=t}}async function Pae(e){let t=await e.readLine();if(t===null)throw Error("invalid stanza");let r=t.split(" ");if(r.length<2||r.shift()!=="->")return{next:t};for(let i of r)if(i.length===0)throw Error("invalid stanza");let o=[];for(;;){let i=await e.readLine();if(i===null)throw Error("invalid stanza");let s=tr.decode(i);if(s.length>48)throw Error("invalid stanza");if(o.push(s),s.length<48)break}let n=Hs(o);return{s:new Kn(r,n)}}async function wU(e){let t=new _A(e),r=await t.readLine();if(r!=="age-encryption.org/v1")throw Error("invalid version "+(r??"line"));let o=[];for(;;){let{s:n,next:i}=await Pae(t);if(n!==void 0){o.push(n);continue}if(!i.startsWith("--- "))throw Error("invalid header");let s=tr.decode(i.slice(4)),{rest:a,transcript:c}=t.close(),u=c.slice(0,c.length-1-i.length+3);return{stanzas:o,headerNoMAC:u,MAC:s,headerSize:c.length,rest:Uc(e,a)}}}function IA(e){let t=[];t.push(`age-encryption.org/v1
728
728
  `);for(let r of e){t.push("-> "+r.args.join(" ")+`
729
729
  `);for(let o=0;o<r.body.length;o+=48){let n=o+48;if(n>r.body.length)n=r.body.length;t.push(tr.encode(r.body.subarray(o,n))+`
730
730
  `)}if(r.body.length%48===0)t.push(`