@rizom/ops 0.2.0-alpha.601 → 0.2.0-alpha.603
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/brains-ops.js +2 -2
- package/dist/index.js +2 -2
- package/package.json +1 -1
package/dist/brains-ops.js
CHANGED
|
@@ -407,7 +407,7 @@ params: ${t}`);if(this.query=e,this.params=t,this.cause=r,Error.captureStackTrac
|
|
|
407
407
|
hash text NOT NULL,
|
|
408
408
|
created_at numeric
|
|
409
409
|
)
|
|
410
|
-
`;await t.run(n);let s=(await t.values(U`SELECT id, hash, created_at FROM ${U.identifier(i)} 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 l of c.sql)await a.run(U.raw(l));await a.run(U`INSERT INTO ${U.identifier(i)} ("hash", "created_at") VALUES(${c.hash}, ${c.folderMillis})`)}})}}});var SC;var RK=S(()=>{ze();SC=class SC{static[J]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}}});function qb(e,t){return(r,i,...n)=>{let o=[i,...n].map((s)=>({type:e,isAll:t,rightSelect:s}));for(let s of o)if(!op(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(o)}}var Hn,OK,xC,cSe=()=>({union:lSe,unionAll:uSe,intersect:dSe,except:fSe}),lSe,uSe,dSe,fSe;var wC=S(()=>{ze();RK();ro();La();lr();Mn();vr();Dr();eo();ru();hp();Hn=class Hn{static[J]="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(ae(e,wt))r=Object.fromEntries(Object.keys(e._.selectedFields).map((i)=>[i,e[i]]));else if(ae(e,so))r=e[vt].selectedFields;else if(ae(e,Te))r={};else r=Rb(e);return new xC({table:e,fields:r,isPartialSelect:t,session:this.session,dialect:this.dialect,withList:this.withList,distinct:this.distinct})}};OK=class OK extends SC{static[J]="SQLiteSelectQueryBuilder";_;config;joinsNotNullableMap;tableName;isPartialSelect;session;dialect;cacheConfig=void 0;usedTables=new Set;constructor({table:e,fields:t,isPartialSelect:r,session:i,dialect:n,withList:o,distinct:s}){super();this.config={withList:o,table:e,fields:{...t},distinct:s,setOperators:[]},this.isPartialSelect=r,this.session=i,this.dialect=n,this._={selectedFields:t,config:this.config},this.tableName=sp(e),this.joinsNotNullableMap=typeof this.tableName==="string"?{[this.tableName]:!0}:{};for(let a of Fn(e))this.usedTables.add(a)}getUsedTables(){return[...this.usedTables]}createJoin(e){return(t,r)=>{let i=this.tableName,n=sp(t);for(let o of Fn(t))this.usedTables.add(o);if(typeof n==="string"&&this.config.joins?.some((o)=>o.alias===n))throw Error(`Alias "${n}" is already used in this query`);if(!this.isPartialSelect){if(Object.keys(this.joinsNotNullableMap).length===1&&typeof i==="string")this.config.fields={[i]:this.config.fields};if(typeof n==="string"&&!ae(t,Te)){let o=ae(t,wt)?t._.selectedFields:ae(t,wn)?t[vt].selectedFields:t[we.Symbol.Columns];this.config.fields[n]=o}}if(typeof r==="function")r=r(new Proxy(this.config.fields,new bt({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(([o])=>[o,!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(([o])=>[o,!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 i=typeof r==="function"?r(cSe()):r;if(!op(this.getSelectedFields(),i.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:i}),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 bt({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));return this.config.where=e,this}having(e){if(typeof e==="function")e=e(new Proxy(this.config.fields,new bt({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 bt({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 bt({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(...Fn(this.config.table)),this.config.joins)for(let r of this.config.joins)t.push(...Fn(r.table));return new Proxy(new wt(this.getSQL(),this.config.fields,e,!1,[...new Set(t)]),new bt({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}getSelectedFields(){return new Proxy(this.config.fields,new bt({alias:this.tableName,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}$dynamic(){return this}};xC=class xC extends OK{static[J]="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=vn(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()}};uH(xC,[Lr]);lSe=qb("union",!1),uSe=qb("union",!0),dSe=qb("intersect",!1),fSe=qb("except",!1)});var Ba;var Zb=S(()=>{ze();La();Ub();Mn();wC();Ba=class Ba{static[J]="SQLiteQueryBuilder";dialect;dialectConfig;constructor(e){this.dialect=ae(e,iu)?e:void 0,this.dialectConfig=ae(e,iu)?void 0:e}$with=(e,t)=>{let r=this;return{as:(n)=>{if(typeof n==="function")n=n(r);return new Proxy(new rp(n.getSQL(),t??("getSelectedFields"in n?n.getSelectedFields()??{}:{}),e,!0),new bt({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}}};with(...e){let t=this;function r(n){return new Hn({fields:n??void 0,session:void 0,dialect:t.getDialect(),withList:e})}function i(n){return new Hn({fields:n??void 0,session:void 0,dialect:t.getDialect(),withList:e,distinct:!0})}return{select:r,selectDistinct:i}}select(e){return new Hn({fields:e??void 0,session:void 0,dialect:this.getDialect()})}selectDistinct(e){return new Hn({fields:e??void 0,session:void 0,dialect:this.getDialect(),distinct:!0})}getDialect(){if(!this.dialect)this.dialect=new yC(this.dialectConfig);return this.dialect}}});var Mb,vC;var PK=S(()=>{ze();ro();lr();no();vr();Dr();ru();Zb();Mb=class Mb{constructor(e,t,r,i){this.table=e,this.session=t,this.dialect=r,this.withList=i}static[J]="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 i={},n=this.table[we.Symbol.Columns];for(let o of Object.keys(r)){let s=r[o];i[o]=ae(s,Te)?s:new an(s,n[o])}return i});return new vC(this.table,t,this.session,this.dialect,this.withList)}select(e){let t=typeof e==="function"?e(new Ba):e;if(!ae(t,Te)&&!op(this.table[Ab],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 vC(this.table,t,this.session,this.dialect,this.withList,!0)}};vC=class vC extends Lr{constructor(e,t,r,i,n,o){super();this.session=r,this.dialect=i,this.config={table:e,values:t,withList:n,select:o}}static[J]="SQLiteInsert";config;returning(e=this.config.table[Bt.Symbol.Columns]){return this.config.returning=vn(e),this}onConflictDoNothing(e={}){if(!this.config.onConflict)this.config.onConflict=[];if(e.target===void 0)this.config.onConflict.push(U` on conflict do nothing`);else{let t=Array.isArray(e.target)?U`${e.target}`:U`${[e.target]}`,r=e.where?U` where ${e.where}`:U``;this.config.onConflict.push(U` 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?U` where ${e.where}`:void 0,r=e.targetWhere?U` where ${e.targetWhere}`:void 0,i=e.setWhere?U` where ${e.setWhere}`:void 0,n=Array.isArray(e.target)?U`${e.target}`:U`${[e.target]}`,o=this.dialect.buildUpdateSet(this.config.table,Cb(this.config.table,e.set));return this.config.onConflict.push(U` on conflict ${n}${r} do update set ${o}${t}${i}`),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:Fn(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 Fb,zK;var NK=S(()=>{ze();ro();La();no();Mn();vr();Dr();eo();ru();hp();Fb=class Fb{constructor(e,t,r,i){this.table=e,this.session=t,this.dialect=r,this.withList=i}static[J]="SQLiteUpdateBuilder";set(e){return new zK(this.table,Cb(this.table,e),this.session,this.dialect,this.withList)}};zK=class zK extends Lr{constructor(e,t,r,i,n){super();this.session=r,this.dialect=i,this.config={set:t,table:e,withList:n,joins:[]}}static[J]="SQLiteUpdate";config;from(e){return this.config.from=e,this}createJoin(e){return(t,r)=>{let i=sp(t);if(typeof i==="string"&&this.config.joins.some((n)=>n.alias===i))throw Error(`Alias "${i}" is already used in this query`);if(typeof r==="function"){let n=this.config.from?ae(t,Bt)?t[we.Symbol.Columns]:ae(t,wt)?t._.selectedFields:ae(t,so)?t[vt].selectedFields:void 0:void 0;r=r(new Proxy(this.config.table[we.Symbol.Columns],new bt({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})),n&&new Proxy(n,new bt({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))}return this.config.joins.push({on:r,table:t,joinType:e,alias:i}),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[we.Symbol.Columns],new bt({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[Bt.Symbol.Columns]){return this.config.returning=vn(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:Fn(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 _C=S(()=>{IK();PK();Zb();wC();NK()});var gp;var DK=S(()=>{ze();lr();gp=class gp extends Te{constructor(e){super(gp.buildEmbeddedCount(e.source,e.filters).queryChunks);this.params=e,this.session=e.session,this.sql=gp.buildCount(e.source,e.filters)}sql;static[J]="SQLiteCountBuilderAsync";[Symbol.toStringTag]="SQLiteCountBuilderAsync";session;static buildEmbeddedCount(e,t){return U`(select count(*) from ${e}${U.raw(" where ").if(t)}${t})`}static buildCount(e,t){return U`select count(*) from ${e}${U.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 EC,Hb,kC;var LK=S(()=>{ze();ro();up();EC=class EC{constructor(e,t,r,i,n,o,s,a){this.mode=e,this.fullSchema=t,this.schema=r,this.tableNamesMap=i,this.table=n,this.tableConfig=o,this.dialect=s,this.session=a}static[J]="SQLiteAsyncRelationalQueryBuilder";findMany(e){return this.mode==="sync"?new kC(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e?e:{},"many"):new Hb(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e?e:{},"many")}findFirst(e){return this.mode==="sync"?new kC(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e?{...e,limit:1}:{limit:1},"first"):new Hb(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e?{...e,limit:1}:{limit:1},"first")}};Hb=class Hb extends Lr{constructor(e,t,r,i,n,o,s,a,c){super();this.fullSchema=e,this.schema=t,this.tableNamesMap=r,this.table=i,this.tableConfig=n,this.dialect=o,this.session=s,this.config=a,this.mode=c}static[J]="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,(i,n)=>{let o=i.map((s)=>Nb(this.schema,this.tableConfig,s,t.selection,n));if(this.mode==="first")return o[0];return o})}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()}};kC=class kC extends Hb{static[J]="SQLiteSyncRelationalQuery";sync(){return this.executeRaw()}}});var ou;var BK=S(()=>{ze();ro();ou=class ou extends Lr{constructor(e,t,r,i,n){super();this.execute=e,this.getSQL=t,this.dialect=i,this.mapBatchResult=n,this.config={action:r}}static[J]="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 yp;var Kb=S(()=>{ze();La();lr();_C();Mn();DK();LK();BK();yp=class yp{constructor(e,t,r,i){this.resultKind=e,this.dialect=t,this.session=r,this._=i?{schema:i.schema,fullSchema:i.fullSchema,tableNamesMap:i.tableNamesMap}:{schema:void 0,fullSchema:{},tableNamesMap:{}},this.query={};let n=this.query;if(this._.schema)for(let[o,s]of Object.entries(this._.schema))n[o]=new EC(e,i.fullSchema,this._.schema,this._.tableNamesMap,i.fullSchema[o],s,t,r);this.$cache={invalidate:async(o)=>{}}}static[J]="BaseSQLiteDatabase";query;$with=(e,t)=>{let r=this;return{as:(n)=>{if(typeof n==="function")n=n(new Ba(r.dialect));return new Proxy(new rp(n.getSQL(),t??("getSelectedFields"in n?n.getSelectedFields()??{}:{}),e,!0),new bt({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}}};$count(e,t){return new gp({source:e,filters:t,session:this.session})}with(...e){let t=this;function r(a){return new Hn({fields:a??void 0,session:t.session,dialect:t.dialect,withList:e})}function i(a){return new Hn({fields:a??void 0,session:t.session,dialect:t.dialect,withList:e,distinct:!0})}function n(a){return new Fb(a,t.session,t.dialect,e)}function o(a){return new Mb(a,t.session,t.dialect,e)}function s(a){return new Bb(a,t.session,t.dialect,e)}return{select:r,selectDistinct:i,update:n,insert:o,delete:s}}select(e){return new Hn({fields:e??void 0,session:this.session,dialect:this.dialect})}selectDistinct(e){return new Hn({fields:e??void 0,session:this.session,dialect:this.dialect,distinct:!0})}update(e){return new Fb(e,this.session,this.dialect)}$cache;insert(e){return new Mb(e,this.session,this.dialect)}delete(e){return new Bb(e,this.session,this.dialect)}run(e){let t=typeof e==="string"?U.raw(e):e.getSQL();if(this.resultKind==="async")return new ou(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"?U.raw(e):e.getSQL();if(this.resultKind==="async")return new ou(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"?U.raw(e):e.getSQL();if(this.resultKind==="async")return new ou(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"?U.raw(e):e.getSQL();if(this.resultKind==="async")return new ou(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 IC(e,t){let r=`${e}-${JSON.stringify(t)}`,n=new TextEncoder().encode(r),o=await crypto.subtle.digest("SHA-256",n);return[...new Uint8Array(o)].map((c)=>c.toString(16).padStart(2,"0")).join("")}var jK,bp;var TC=S(()=>{ze();jK=class jK{static[J]="Cache"};bp=class bp extends jK{strategy(){return"all"}static[J]="NoopCache";async get(e){return}async put(e,t,r,i){}async onMutate(e){}}});var UK=S(()=>{TC()});function qK(e,t){return new Proxy(e,new Da(t,!1))}var ZK=S(()=>{pp()});var MK,AC,$C,CC;var RC=S(()=>{TC();ze();jb();ro();Kb();MK=class MK extends Lr{constructor(e){super();this.resultCb=e}static[J]="ExecuteResultSync";async execute(){return this.resultCb()}sync(){return this.resultCb()}};AC=class AC{constructor(e,t,r,i,n,o){if(this.mode=e,this.executeMethod=t,this.query=r,this.cache=i,this.queryMetadata=n,this.cacheConfig=o,i&&i.strategy()==="all"&&o===void 0)this.cacheConfig={enable:!0,autoInvalidate:!0};if(!this.cacheConfig?.enable)this.cacheConfig=void 0}static[J]="PreparedQuery";joinsNotNullableMap;async queryWithCache(e,t,r){if(this.cache===void 0||ae(this.cache,bp)||this.queryMetadata===void 0)try{return await r()}catch(i){throw new oo(e,t,i)}if(this.cacheConfig&&!this.cacheConfig.enable)try{return await r()}catch(i){throw new oo(e,t,i)}if((this.queryMetadata.type==="insert"||this.queryMetadata.type==="update"||this.queryMetadata.type==="delete")&&this.queryMetadata.tables.length>0)try{let[i]=await Promise.all([r(),this.cache.onMutate({tables:this.queryMetadata.tables})]);return i}catch(i){throw new oo(e,t,i)}if(!this.cacheConfig)try{return await r()}catch(i){throw new oo(e,t,i)}if(this.queryMetadata.type==="select"){let i=await this.cache.get(this.cacheConfig.tag??await IC(e,t),this.queryMetadata.tables,this.cacheConfig.tag!==void 0,this.cacheConfig.autoInvalidate);if(i===void 0){let n;try{n=await r()}catch(o){throw new oo(e,t,o)}return await this.cache.put(this.cacheConfig.tag??await IC(e,t),n,this.cacheConfig.autoInvalidate?this.queryMetadata.tables:[],this.cacheConfig.tag!==void 0,this.cacheConfig.config),n}return i}try{return await r()}catch(i){throw new oo(e,t,i)}}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 MK(()=>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)}}};$C=class $C{constructor(e){this.dialect=e}static[J]="SQLiteSession";prepareOneTimeQuery(e,t,r,i,n,o,s){return this.prepareQuery(e,t,r,i,n,o,s)}run(e){let t=this.dialect.sqlToQuery(e);try{return this.prepareOneTimeQuery(t,void 0,"run",!1).run()}catch(r){throw new nu({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")}};CC=class CC extends yp{constructor(e,t,r,i,n=0){super(e,t,r,i);this.schema=i,this.nestedIndex=n}static[J]="SQLiteTransaction";rollback(){throw new mC}}});var OC,pSe,mSe,Jb;var FK=S(()=>{ze();La();Dr();Zb();no();hp();OC=class OC{constructor(e){this.name=e}static[J]="SQLiteViewBuilderCore";config={}};pSe=class pSe extends OC{static[J]="SQLiteViewBuilder";as(e){if(typeof e==="function")e=e(new Ba);let t=new bt({alias:this.name,sqlBehavior:"error",sqlAliasedBehavior:"alias",replaceOriginalName:!0}),r=e.getSelectedFields();return new Proxy(new Jb({config:{name:this.name,schema:void 0,selectedFields:r,query:e.getSQL().inlineParams()}}),t)}};mSe=class mSe extends OC{static[J]="SQLiteManualViewBuilder";columns;constructor(e,t){super(e);this.columns=Rb(mp(e,t))}existing(){return new Proxy(new Jb({config:{name:this.name,schema:void 0,selectedFields:this.columns,query:void 0}}),new bt({alias:this.name,sqlBehavior:"error",sqlAliasedBehavior:"alias",replaceOriginalName:!0}))}as(e){return new Proxy(new Jb({config:{name:this.name,schema:void 0,selectedFields:this.columns,query:e.inlineParams()}}),new bt({alias:this.name,sqlBehavior:"error",sqlAliasedBehavior:"alias",replaceOriginalName:!0}))}};Jb=class Jb extends so{static[J]="SQLiteView";constructor({config:e}){super(e)}}});var Vb=S(()=>{ZK();SK();gC();Kb();Ub();nC();_K();EK();_C();RC();no();oC();ru();FK()});function HK(e){return Object.keys(e).reduce((t,r)=>{if(Object.prototype.propertyIsEnumerable.call(e,r))t[r]=e[r];return t},{})}function Wb(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 Gb,PC,KK;var zC=S(()=>{UK();ze();Ob();lr();Vb();RC();Dr();Gb=class Gb extends $C{constructor(e,t,r,i,n){super(t);this.client=e,this.schema=r,this.options=i,this.tx=n,this.logger=i.logger??new G$,this.cache=i.cache??new bp}static[J]="LibSQLSession";logger;cache;prepareQuery(e,t,r,i,n,o,s){return new KK(this.client,e,this.logger,this.cache,o,s,t,this.tx,r,i,n)}async batch(e){let t=[],r=[];for(let n of e){let o=n._prepare(),s=o.getQuery();t.push(o),r.push({sql:s.sql,args:s.params})}return(await this.client.batch(r)).map((n,o)=>t[o].mapResult(n,!0))}async migrate(e){let t=[],r=[];for(let n of e){let o=n._prepare(),s=o.getQuery();t.push(o),r.push({sql:s.sql,args:s.params})}return(await this.client.migrate(r)).map((n,o)=>t[o].mapResult(n,!0))}async transaction(e,t){let r=await this.client.transaction(),i=new Gb(this.client,this.dialect,this.schema,this.options,r),n=new PC("async",this.dialect,i,this.schema);try{let o=await e(n);return await r.commit(),o}catch(o){throw await r.rollback(),o}}extractRawAllValueFromBatchResult(e){return e.rows}extractRawGetValueFromBatchResult(e){return e.rows[0]}extractRawValuesValueFromBatchResult(e){return e.rows}};PC=class PC extends CC{static[J]="LibSQLTransaction";async transaction(e){let t=`sp${this.nestedIndex}`,r=new PC("async",this.dialect,this.session,this.schema,this.nestedIndex+1);await this.session.run(U.raw(`savepoint ${t}`));try{let i=await e(r);return await this.session.run(U.raw(`release savepoint ${t}`)),i}catch(i){throw await this.session.run(U.raw(`rollback to savepoint ${t}`)),i}}};KK=class KK extends AC{constructor(e,t,r,i,n,o,s,a,c,l,u){super("async",c,t,i,n,o);this.client=e,this.logger=r,this.fields=s,this.tx=a,this._isResponseInArrayMode=l,this.customResultMapper=u,this.customResultMapper=u,this.fields=s}static[J]="LibSQLPreparedQuery";async run(e){let t=ip(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:i,tx:n,client:o,customResultMapper:s}=this;if(!t&&!s){let c=ip(i.params,e??{});return r.logQuery(i.sql,c),await this.queryWithCache(i.sql,c,async()=>{let l={sql:i.sql,args:c};return(n?n.execute(l):o.execute(l)).then(({rows:u})=>this.mapAllResult(u))})}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)=>HK(r));if(this.customResultMapper)return this.customResultMapper(e,Wb);return e.map((r)=>J$(this.fields,Array.prototype.slice.call(r).map((i)=>Wb(i)),this.joinsNotNullableMap))}async get(e){let{fields:t,logger:r,query:i,tx:n,client:o,customResultMapper:s}=this;if(!t&&!s){let c=ip(i.params,e??{});return r.logQuery(i.sql,c),await this.queryWithCache(i.sql,c,async()=>{let l={sql:i.sql,args:c};return(n?n.execute(l):o.execute(l)).then(({rows:u})=>this.mapGetResult(u))})}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 HK(r);if(!r)return;if(this.customResultMapper)return this.customResultMapper(e,Wb);return J$(this.fields,Array.prototype.slice.call(r).map((i)=>Wb(i)),this.joinsNotNullableMap)}async values(e){let t=ip(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:i})=>i)})}isResponseInArrayMode(){return this._isResponseInArrayMode}}});function su(e,t={}){let r=new bC({casing:t.casing}),i;if(t.logger===!0)i=new W$;else if(t.logger!==!1)i=t.logger;let n;if(t.schema){let a=zH(t.schema,DH);n={fullSchema:t.schema,schema:a.tables,tableNamesMap:a.tableNamesMap}}let o=new Gb(e,r,n,{logger:i,cache:t.cache},void 0),s=new JK("async",r,o,n);if(s.$client=e,s.$cache=t.cache,s.$cache)s.$cache.invalidate=t.cache?.onMutate;return s}var JK;var VK=S(()=>{ze();Ob();up();Kb();Ub();zC();JK=class JK extends yp{static[J]="LibSQLDatabase";async batch(e){return this.session.batch(e)}}});function Qb(...e){if(typeof e[0]==="string"){let t=Ql({url:e[0]});return su(t,e[1])}if(dH(e[0])){let{connection:t,client:r,...i}=e[0];if(r)return su(r,i);let n=typeof t==="string"?Ql({url:t}):Ql(t);return su(n,i)}return su(e[0],e[1])}var WK=S(()=>{D$();Dr();VK();((e)=>{function t(r){return su({},r)}e.mock=t})(Qb||(Qb={}))});var GK=S(()=>{WK();zC()});function hSe(){return new Promise((e)=>setTimeout(e,0))}function ySe(){if(NC)return;NC=!0,setTimeout(()=>{NC=!1,DC=performance.now()},0)}async function Sp(e=gSe){if(ySe(),performance.now()-DC<e)return;await hSe(),DC=performance.now()}var gSe=50,DC,NC=!1;var QK=S(()=>{DC=performance.now()});function YK(e){if(e.authToken!==void 0)return e.authToken;if(e.authTokenEnv===void 0)return;return process.env[e.authTokenEnv]}function wSe(e){return e instanceof Be&&/^SQLITE_(?:BUSY|LOCKED)$/u.test(e.code)}async function Yb(e,t){let r=Date.now()+(t.budgetMs??bSe),i=async(n)=>{if(t.isClosed())throw new Be("The client is closed","CLIENT_CLOSED");try{return await e()}catch(o){if(t.isClosed()||!wSe(o))throw o;await t.afterRefusal?.();let s=Math.min(SSe*2**(n-1),xSe),a=s/2+Math.random()*(s/2);if(t.isClosed()||Date.now()+a>=r)throw o;if(await new Promise((c)=>setTimeout(c,a)),t.isClosed()||Date.now()>=r)throw o;return i(n+1)}};return i(1)}function LC(e,t={}){let r=Ql({...e,...e.url.startsWith("file:")?{timeout:0}:{}});if(e.url.startsWith("file:")&&e.syncUrl===void 0){let i=r.transaction.bind(r),n=()=>r.closed,o=t.contentionRetryBudgetMs,s=r.execute.bind(r),a=r.batch.bind(r),c=r.migrate.bind(r),l={isClosed:n,budgetMs:o,afterRefusal:async()=>{await Promise.resolve(r.reconnect())}};async function u(f,p){return await Sp(),Yb(()=>typeof f==="string"?s(f,p):s(f),l)}r.execute=u,r.batch=async(f,p)=>(await Sp(),Yb(()=>a(f,p),l)),r.migrate=async(f)=>(await Sp(),Yb(()=>c(f),l)),r.transaction=async(f)=>(await Sp(),Yb(()=>i(f),l))}return r}function Xb(e){let{url:t,schema:r}=e,i=YK(e),n={contentionRetryBudgetMs:e.contentionRetryBudgetMs},o=i?LC({url:t,authToken:i},n):LC({url:t},n);return{db:Qb(o,{schema:r}),client:o,url:t}}async function eS(e,t){if(!t.startsWith("file:"))return;for(let r of["PRAGMA busy_timeout = 0","PRAGMA journal_mode = WAL"])await e.execute(r)}var bSe=5000,SSe=5,xSe=40;var BC=S(()=>{D$();GK();QK()});var XK=S(()=>{QA();BC()});var jC=S(()=>{BC();XK()});var UC=S(()=>{pp();Eb();Zn();ze();jb();Ob();ro();up();hC();Mn();vr();Dr();eo()});var ne,pt;var qC=S(()=>{Vb();UC();Cf();ne=mp("job_queue",{id:ur("id").primaryKey().$defaultFn(()=>Wi()),type:ur("type").notNull(),data:ur("data").notNull(),result:ur("result",{mode:"json"}),progress:ur("progress",{mode:"json"}).$type(),source:ur("source"),metadata:ur("metadata",{mode:"json"}).$type().notNull(),status:ur("status",{enum:["pending","processing","completed","failed"]}).notNull().default("pending"),priority:_r("priority").notNull().default(0),retryCount:_r("retryCount").notNull().default(0),maxRetries:_r("maxRetries").notNull().default(3),lastError:ur("lastError"),createdAt:_r("createdAt").notNull().$defaultFn(()=>Date.now()),scheduledFor:_r("scheduledFor").notNull().$defaultFn(()=>Date.now()),startedAt:_r("startedAt"),completedAt:_r("completedAt"),attemptId:ur("attemptId"),workerSlotId:ur("workerSlotId"),workerSessionId:ur("workerSessionId"),leaseExpiresAt:_r("leaseExpiresAt"),attemptHeartbeatAt:_r("attemptHeartbeatAt"),runtimeUpdatedAt:_r("runtimeUpdatedAt")},(e)=>({queueReadyIdx:io("idx_job_queue_ready").on(e.status,e.priority,e.scheduledFor),jobTypeIdx:io("idx_job_queue_type").on(e.type,e.status),runtimeUpdatesIdx:io("idx_job_queue_runtime_updates").on(e.runtimeUpdatedAt,e.id),jobSourceIdx:io("idx_job_queue_source").on(e.source),rootJobIdx:io("idx_job_queue_root_job").on(U`json_extract(${e.metadata}, '$.rootJobId')`,e.createdAt,e.id),deduplicationIdx:io("idx_job_queue_deduplication").on(e.type,U`json_extract(${e.metadata}, '$.deduplicationKey')`,e.status)})),pt=mp("job_worker_sessions",{slotId:ur("slotId").primaryKey(),sessionId:ur("sessionId").notNull().unique(),startedAt:_r("startedAt").notNull(),heartbeatAt:_r("heartbeatAt").notNull(),expiresAt:_r("expiresAt").notNull().default(0)},(e)=>({heartbeatIdx:io("idx_job_worker_sessions_heartbeat").on(e.heartbeatAt),expiresIdx:io("idx_job_worker_sessions_expires").on(e.expiresAt)}))});function eJ(e){return Xb({url:e.url,schema:{jobQueue:ne,jobWorkerSessions:pt},authToken:e.authToken,authTokenEnv:"JOB_QUEUE_DATABASE_AUTH_TOKEN",contentionRetryBudgetMs:0})}var tJ=S(()=>{jC();qC()});class ZC{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 MC{tails=new Map;async run(e,t){let r=this.tails.get(e),i=()=>{},n=new Promise((o)=>{i=o});this.tails.set(e,n),await r;try{return await t()}finally{if(i(),this.tails.get(e)===n)this.tails.delete(e)}}}class FC{findDuplicate(e,t,r){if(!t||t==="none")return null;let i=this.filterByDeduplicationKey(e,r).sort((o,s)=>s.createdAt-o.createdAt||s.id.localeCompare(o.id)),n=i.find((o)=>o.status===Ue.PENDING)??null;if(t==="skip"||t==="replace")return n;return n??i[0]??null}filterByDeduplicationKey(e,t){if(!t)return e;return e.filter((r)=>{let i=vSe.safeParse(r.metadata);return i.success&&i.data.deduplicationKey===t})}}var vSe;var rJ=S(()=>{Ae();os();vSe=d.looseObject({deduplicationKey:d.string().optional()})});class HC{db;transactionClient;databaseUrl;logger;deduplicator=new FC;writeRetryBudgetMs;constructor(e,t,r,i,n){this.db=e,this.transactionClient=t,this.databaseUrl=r,this.logger=i.child("JobQueueRepository"),this.writeRetryBudgetMs=n?.writeRetryBudgetMs??_Se}async insert(e){await this.write("insert",async()=>this.db.insert(ne).values(e))}async enqueueAtomic(e){return TSe.run(this.databaseUrl,async()=>{let t=Date.now()+this.writeRetryBudgetMs;return this.attemptEnqueue(e,t,1)})}async attemptEnqueue(e,t,r){let i=await this.runEnqueueTransaction(e,t,r);if(i.retry)return this.attemptEnqueue(e,t,r+1);return i.decision}async runEnqueueTransaction(e,t,r){let i=await this.acquireWriteTransaction(e,t),n={prepared:!1},o=!1;try{let s=await this.decideEnqueue(i,e,()=>{n.prepared=!0});return o=!0,await i.commit(),{retry:!1,decision:s}}catch(s){let a=o&&this.isSerializationConflict(s)&&!i.closed,c=!0;if(!i.closed)try{await i.rollback()}catch(l){c=!1,this.logger.error("Failed to roll back atomic enqueue",{type:e.jobData.type,rollbackError:l})}if(n.prepared)e.onInsertRollback?.();if(!a||!c)throw s;return await this.waitForConflictRetry("commit",e,t,r,s),{retry:!0}}finally{i.close()}}async decideEnqueue(e,t,r){let{jobData:i,strategy:n,deduplicationKey:o,beforeInsert:s}=t,a=n??"none",c=async()=>{await s?.(),r()},l=async()=>{await c(),await this.insertJob(e,i)};if(a==="none")return await l(),{kind:"inserted",jobId:i.id};let u=await this.getActiveDeduplicationCandidates(e,i.type,o),f=this.deduplicator.findDuplicate(u,a,o);if(!f)return await l(),{kind:"inserted",jobId:i.id};if(a==="skip")return{kind:"skipped",jobId:f.id};if(a==="coalesce"){if((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 p=Date.now();if((await e.execute({sql:"UPDATE `job_queue`\n SET `status` = ?,\n `lastError` = ?,\n `completedAt` = ?,\n `runtimeUpdatedAt` = max(?, coalesce((SELECT max(`runtimeUpdatedAt`) FROM `job_queue`), 0) + 1)\n WHERE `id` = ? AND `status` = ?",args:[Ue.FAILED,"Replaced by newer job",p,p,f.id,Ue.PENDING]})).rowsAffected!==1)throw Error(`Atomic replace lost selected job ${f.id}`);return await this.insertJob(e,i),{kind:"replaced",jobId:i.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,Ue.PENDING,Ue.PROCESSING]}:{sql:"SELECT `id`, `status`, `createdAt`, `metadata`\n FROM `job_queue`\n WHERE `type` = ? AND `status` IN (?, ?)",args:[t,Ue.PENDING,Ue.PROCESSING]})).rows.map((n)=>this.parseDeduplicationCandidate(n))}parseDeduplicationCandidate(e){let{id:t,status:r,createdAt:i,metadata:n}=e;if(typeof t!=="string"||r!==Ue.PENDING&&r!==Ue.PROCESSING||typeof i!=="number"&&typeof i!=="bigint"||typeof n!=="string")throw Error("Invalid active job row returned during atomic enqueue");let o=JSON.parse(n);return{id:t,status:r,createdAt:Number(i),metadata: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`\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]})).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,i,n){let o=Math.min(kSe*2**(i-1),ESe),s=o/2+Math.random()*(o/2);if(Date.now()+s>=r)throw this.transactionConflictError(e,t,i,n);await new Promise((a)=>setTimeout(a,s))}async retryOnConflict(e,t,r,i,n=Date.now()+this.writeRetryBudgetMs,o=1){try{return await r()}catch(s){if(!i(s))throw s;return await this.waitForConflictRetry(e,t,n,o,s),this.retryOnConflict(e,t,r,i,n,o+1)}}transactionConflictError(e,t,r,i){if(typeof t==="string")return Error(`Failed job queue write "${t}" within ${this.writeRetryBudgetMs}ms after ${r} attempts`,{cause:i});let n=t.strategy??"none",o=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: ${o})`,{cause:i})}write(e,t){return this.retryOnConflict("write",e,t,(r)=>{let i=new Set;for(let n=r;n!==void 0&&!i.has(n);){if(i.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):"",i=at(t,"");if(/SQLITE_(?:BUSY|LOCKED)/u.test(r)||/SQLITE_(?:BUSY|LOCKED)|database is locked|transaction (?:busy|conflict)/iu.test(i))return!0;t=t instanceof Error?t.cause:void 0}return!1}async startWorkerSession(e,t,r=Date.now(),i=is){let n=r+i;await this.write("start worker session",async()=>this.db.insert(pt).values({slotId:e,sessionId:t,startedAt:r,heartbeatAt:r,expiresAt:n}).onConflictDoUpdate({target:pt.slotId,set:{sessionId:t,startedAt:r,heartbeatAt:r,expiresAt:n}}))}async heartbeatWorkerSession(e,t,r=Date.now(),i=is){return(await this.write("heartbeat worker session",async()=>this.db.update(pt).set({heartbeatAt:r,expiresAt:r+i}).where(Et(Qe(pt.slotId,e),Qe(pt.sessionId,t))).returning({slotId:pt.slotId}))).length===1}async endWorkerSession(e,t){return(await this.write("end worker session",async()=>this.db.delete(pt).where(Et(Qe(pt.slotId,e),Qe(pt.sessionId,t))).returning({slotId:pt.slotId}))).length===1}async complete(e,t,r){let i=Date.now(),o=(await this.write("complete",async()=>this.db.update(ne).set({status:Ue.COMPLETED,result:t,lastError:null,completedAt:i,runtimeUpdatedAt:this.nextRuntimeUpdatedAt(i)}).where(this.attemptWriteGuard(e,r)).returning({id:ne.id}))).length===1;if(o)this.logger.debug("Job completed",{jobId:e,hasResult:t!==void 0});return o}async update(e,t,r){let n=(await this.write("update",async()=>this.db.update(ne).set({data:JSON.stringify(t)}).where(this.attemptWriteGuard(e,r)).returning({id:ne.id}))).length===1;if(n)this.logger.debug("Job data updated",{jobId:e});return n}async recordAttemptProgress(e,t,r,i=Date.now()){return(await this.write("record progress",async()=>this.db.update(ne).set({attemptHeartbeatAt:i,runtimeUpdatedAt:this.nextRuntimeUpdatedAt(i),progress:r}).where(this.attemptWriteGuard(e,t)).returning({id:ne.id}))).length===1}async renewAttemptLease(e,t,r,i){return(await this.write("renew attempt lease",async()=>this.db.update(ne).set({attemptHeartbeatAt:r,leaseExpiresAt:r+i}).where(this.attemptWriteGuard(e,t)).returning({id:ne.id}))).length===1}async fail(e,t,r,i=Date.now()){let o=(await this.db.select({retryCount:ne.retryCount,maxRetries:ne.maxRetries,type:ne.type,scheduledFor:ne.scheduledFor,startedAt:ne.startedAt,runtimeUpdatedAt:ne.runtimeUpdatedAt}).from(ne).where(this.attemptWriteGuard(e,r)).limit(1))[0];if(!o)return!1;let s=o.retryCount<o.maxRetries,a=s?o.retryCount+1:o.retryCount,c=Math.min(1000*2**o.retryCount,60000),l=s?i+c:o.scheduledFor;if((await this.write("fail",async()=>this.db.update(ne).set({status:s?Ue.PENDING:Ue.FAILED,retryCount:a,lastError:t.message,scheduledFor:l,completedAt:s?null:i,runtimeUpdatedAt:s?o.runtimeUpdatedAt:this.nextRuntimeUpdatedAt(i),startedAt:s?null:o.startedAt,attemptId:null,workerSlotId:null,workerSessionId:null,leaseExpiresAt:null,attemptHeartbeatAt:null}).where(Et(this.attemptWriteGuard(e,r),Qe(ne.retryCount,o.retryCount))).returning({id:ne.id}))).length!==1)return!1;if(s)this.logger.debug("Job scheduled for retry",{jobId:e,retryCount:a,backoffMs:c,scheduledFor:new Date(l).toISOString()});else this.logger.error("Job failed after max retries",{jobId:e,type:o.type,retryCount:o.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 i=(await this.write("retire unowned job",async()=>this.db.update(ne).set({status:Ue.FAILED,lastError:t,completedAt:e.now,runtimeUpdatedAt:this.nextRuntimeUpdatedAt(e.now)}).where(Et(Qe(ne.id,e.jobId),Qe(ne.type,e.expectedType),Si(Qe(ne.status,Ue.PENDING),Qe(ne.status,Ue.PROCESSING)),_n(ne.attemptId),_n(ne.workerSlotId),_n(ne.workerSessionId),_n(ne.leaseExpiresAt),_n(ne.attemptHeartbeatAt),_n(ne.progress),_n(ne.result))).returning()))[0]??null;if(i)this.logger.warn("Retired unowned legacy job",{jobId:i.id,type:i.type,reason:t});return i}async getStatus(e){return(await this.db.select().from(ne).where(Qe(ne.id,e)).limit(1))[0]??null}async getJobsByRootJobId(e){return this.db.select().from(ne).where(U`json_extract(${ne.metadata}, '$.rootJobId') = ${e}`).orderBy(to(ne.createdAt),to(ne.id))}async getStatusByEntityId(e){return(await this.db.select().from(ne).where(U`json_extract(${ne.data}, '$.id') = ${e}`).orderBy(Na(ne.createdAt)).limit(1))[0]??null}async getStats(){let e=await this.db.select({status:ne.status,count:U`count(*)`}).from(ne).groupBy(ne.status),t={pending:0,processing:0,failed:0,completed:0,total:0};for(let r of e){let i=Number(r.count);t[r.status]=i,t.total+=i}return t}async getDiagnostics(e=Date.now()){let[t,r,i]=await Promise.all([this.db.select({type:ne.type,status:ne.status,count:U`count(*)`}).from(ne).groupBy(ne.type,ne.status),this.db.select({oldestPendingAt:U`min(case when ${ne.status} = ${Ue.PENDING} then ${ne.createdAt} end)`,duePending:U`coalesce(sum(case when ${ne.status} = ${Ue.PENDING} and ${ne.scheduledFor} <= ${e} then 1 else 0 end), 0)`,oldestDuePendingAt:U`min(case when ${ne.status} = ${Ue.PENDING} and ${ne.scheduledFor} <= ${e} then ${ne.scheduledFor} end)`,latestClaimAt:U`max(${ne.startedAt})`,oldestProcessingAt:U`min(case when ${ne.status} = ${Ue.PROCESSING} then ${ne.startedAt} end)`,staleLeaseCount:U`coalesce(sum(case when ${ne.status} = ${Ue.PROCESSING} and ${ne.leaseExpiresAt} is not null and ${ne.leaseExpiresAt} <= ${e} then 1 else 0 end), 0)`}).from(ne),this.db.select({total:U`count(*)`,active:U`coalesce(sum(case when ${pt.expiresAt} > ${e} then 1 else 0 end), 0)`,stale:U`coalesce(sum(case when ${pt.expiresAt} <= ${e} then 1 else 0 end), 0)`,latestHeartbeatAt:U`max(${pt.heartbeatAt})`}).from(pt)]),n={pending:0,processing:0,completed:0,failed:0},o=t.map((l)=>{let u=Number(l.count);return n[l.status]+=u,{type:l.type,status:l.status,count:u}}),s=r[0],a=i[0],c=(l)=>l===null||l===void 0?null:Math.max(0,e-Number(l));return{totals:n,byType:o,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=ISe.parse(t);if(r===0)return[];return(await this.db.select().from(ne).where(U`(${ne.runtimeUpdatedAt}, ${ne.id}) > (${e.updatedAt}, ${e.jobId})`).orderBy(to(ne.runtimeUpdatedAt),to(ne.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(ne).where(Et(Si(Qe(ne.status,Ue.COMPLETED),Qe(ne.status,Ue.FAILED)),eu(ne.completedAt,t))))).rowsAffected}async getActiveJobs(e){let t=Si(Qe(ne.status,Ue.PENDING),Qe(ne.status,Ue.PROCESSING)),r=e&&e.length>0?Et(t,ys(ne.type,e)):t;return this.db.select().from(ne).where(r).orderBy(Na(ne.createdAt))}async getRecentJobs(e,t=20){let r=e&&e.length>0?ys(ne.type,e):void 0;return this.db.select().from(ne).where(r).orderBy(Na(ne.createdAt)).limit(t)}async getFailedJobs(e){let t=Qe(ne.status,Ue.FAILED),r=e&&e.length>0?Et(t,ys(ne.type,e)):t;return this.db.select().from(ne).where(r).orderBy(Na(ne.createdAt))}async claimNextReady(e){let{now:t,attemptId:r,workerSlotId:i,workerSessionId:n,leaseDurationMs:o,executableTypes:s,exclusiveTypes:a=[]}=e,c=this.db.select({slotId:pt.slotId}).from(pt).where(Et(Qe(pt.slotId,i),Qe(pt.sessionId,n),ap(pt.expiresAt,t))),l=this.db.select({slotId:pt.slotId}).from(pt).where(Et(Qe(pt.slotId,ne.workerSlotId),Qe(pt.sessionId,ne.workerSessionId))),u=Et(Qe(ne.status,Ue.PROCESSING),Si(_n(ne.attemptId),cp(l),eu(ne.leaseExpiresAt,t))),f=qK(ne,"running"),p=this.db.select({id:f.id}).from(f).where(Et(Qe(f.type,ne.type),Qe(f.status,Ue.PROCESSING),ap(f.leaseExpiresAt,t),U`${f.id} <> ${ne.id}`)),m=a.length===0?void 0:Si(Pb(ne.type,[...a]),cp(p)),y=U`${ne.status} = ${Ue.PROCESSING} AND ${ne.retryCount} + 1 > ${ne.maxRetries}`,g=this.db.select({id:ne.id}).from(ne).where(Et(ys(ne.type,s),m,Si(Et(Qe(ne.status,Ue.PENDING),eu(ne.scheduledFor,t)),u))).orderBy(to(ne.priority),to(ne.createdAt)).limit(1),_=(await this.write("claim",async()=>this.db.update(ne).set({status:U`CASE WHEN ${y} THEN ${Ue.FAILED} ELSE ${Ue.PROCESSING} END`,retryCount:U`CASE WHEN ${ne.status} = ${Ue.PROCESSING} THEN ${ne.retryCount} + 1 ELSE ${ne.retryCount} END`,lastError:U`CASE WHEN ${ne.status} = ${Ue.PROCESSING} THEN 'Attempt lease expired' ELSE ${ne.lastError} END`,startedAt:U`CASE WHEN ${y} THEN ${ne.startedAt} ELSE ${t} END`,completedAt:U`CASE WHEN ${y} THEN ${t} ELSE NULL END`,attemptId:U`CASE WHEN ${y} THEN ${ne.attemptId} ELSE ${r} END`,workerSlotId:U`CASE WHEN ${y} THEN ${ne.workerSlotId} ELSE ${i} END`,workerSessionId:U`CASE WHEN ${y} THEN ${ne.workerSessionId} ELSE ${n} END`,leaseExpiresAt:U`CASE WHEN ${y} THEN ${ne.leaseExpiresAt} ELSE ${t+o} END`,attemptHeartbeatAt:U`CASE WHEN ${y} THEN ${ne.attemptHeartbeatAt} ELSE ${t} END`,runtimeUpdatedAt:U`CASE WHEN ${y} THEN ${this.nextRuntimeUpdatedAt(t)} ELSE ${ne.runtimeUpdatedAt} END`}).where(Et(ys(ne.id,g),zb(c))).returning()))[0];if(!_)return null;if(_.status===Ue.FAILED)return _;return this.logger.debug("Job claimed",{jobId:_.id,attemptId:_.attemptId,workerSlotId:i,workerSessionId:n}),_}nextRuntimeUpdatedAt(e){return U`max(${e}, coalesce((select max(${ne.runtimeUpdatedAt}) from ${ne}), 0) + 1)`}attemptWriteGuard(e,t){return t?Et(Qe(ne.id,e),Qe(ne.status,Ue.PROCESSING),Qe(ne.attemptId,t)):Et(Qe(ne.id,e),_n(ne.attemptId),Si(Qe(ne.status,Ue.PENDING),Qe(ne.status,Ue.PROCESSING)))}}var _Se=2000,kSe=5,ESe=40,ISe,TSe;var nJ=S(()=>{UC();Vb();qC();Ae();os();Of();rJ();ISe=d.number().int().min(0).max(1000),TSe=new MC});import{AsyncLocalStorage as ASe}from"async_hooks";class xp{storage=new ASe;static createFresh(){return new xp}constructor(){}current(){return this.storage.getStore()}run(e,t,r){if(t.length===0)throw Error("Operation ID must not be empty");let i=Go.parse(e),n=$Se(i);return this.storage.run(Object.freeze({provenance:n,operationId:t}),r)}}function $Se(e){if(Object.freeze(e.projectionLineage),e.sourceEntity)Object.freeze(e.sourceEntity);return Object.freeze(e)}var KC=S(()=>{pi()});class wp{client;logger;handlerRegistry;repository;walInitialization=null;walInitializationSettled=!1;closeRequested=!1;clientClosed=!1;inFlightEnqueues=0;databaseUrl;operationContext;projectionAdmission;directWorkerSlotId=`direct:${Wi()}`;directWorkerSessionId=Wi();directLeaseDurationMs;directSessionStart=null;close(){this.closeRequested=!0,this.closeClientWhenReady()}static createFresh(e,t,r){return new wp(e,t??on.getInstance(),r)}constructor(e,t,r){let{db:i,client:n,url:o}=eJ(e);this.client=n,this.databaseUrl=o,this.logger=t.child("JobQueueService"),this.operationContext=r?.operationContext??xp.createFresh(),this.projectionAdmission=r?.projectionAdmission,this.handlerRegistry=new ZC(this.logger,r?.handlerRegistrationMode??"combined"),this.repository=new HC(i,n,o,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 eS(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:i}=e,n=this.handlerRegistry.getValidator(t);if(!n)throw Error(`No job type declared: ${t}`);let o=n.validateAndParse(r);if(o===null)throw Error(`Invalid job data for type: ${t}`);let s=Date.now(),a=Wi(),c=i?.rootJobId??this.operationContext.current()?.provenance.rootJobId??a,l=this.createJobProvenance(a,c,i),u=i?.metadata??{operationType:"data_processing"},{provenance:f,...p}=u,m={id:a,type:t,data:JSON.stringify(o),status:Ue.PENDING,priority:i?.priority??0,maxRetries:i?.maxRetries??3,retryCount:0,source:i?.source??null,metadata:{...p,...i?.deduplicationKey&&{deduplicationKey:i.deduplicationKey},rootJobId:c,provenance:l},createdAt:s,scheduledFor:i?.delayMs?s+i.delayMs:s,result:null,lastError:null,startedAt:null,completedAt:null},y,g=()=>{y?.rollback(),y=void 0};try{let b=await this.repository.enqueueAtomic({jobData:m,strategy:i?.deduplication,deduplicationKey:i?.deduplicationKey,beforeInsert:async()=>{y=await this.projectionAdmission?.reserveJobAdmission(l)},onInsertRollback:g});if(y?.commit(),y=void 0,b.kind==="skipped")this.logger.debug("Skipping duplicate job (already pending)",{type:t,existingJobId:b.jobId});else if(b.kind==="coalesced")this.logger.debug("Coalescing with existing job",{type:t,existingJobId:b.jobId});else{if(b.kind==="replaced")this.logger.debug("Replacing duplicate job",{type:t,oldJobId:b.replacedJobId});this.logger.debug("Job enqueued",{id:b.jobId,type:t,priority:m.priority,rootJobId:m.metadata.rootJobId})}return b.jobId}catch(b){throw g(),this.logger.error("Failed to enqueue job",{type:t,error:at(b)}),b}}createJobProvenance(e,t,r){let i=this.operationContext.current(),n=r?.metadata.provenance??i?.provenance,o=n?.rootJobId===t?n:void 0,s=i?.provenance.rootJobId===t?i.operationId:void 0,a=r?.projection,c=a?[...o?.projectionLineage??[],a.id]:[...o?.projectionLineage??[]],l=a?.id??o?.projectionId;return Go.parse({rootJobId:t,causationId:s??o?.causationId??e,...l?{projectionId:l}:{},projectionLineage:c,...a?.sourceEntity?{sourceEntity:a.sourceEntity}:o?.sourceEntity?{sourceEntity:o.sourceEntity}:{},derivationDepth:c.length})}async dequeue(e){let t=this.handlerRegistry.getRegisteredTypes();if(t.length===0)return null;let{onTerminalReclaim:r,...i}=e??await this.getDirectClaimOptions(),n=Date.now(),o=await this.repository.claimNextReady({...i,now:n,attemptId:Wi(),executableTypes:t,exclusiveTypes:this.handlerRegistry.getExclusiveTypes()});if(!o)return null;if(o.status===Ue.FAILED)return this.logger.warn("Expired attempt failed terminally on reclaim",{id:o.id,type:o.type,retryCount:o.retryCount}),await r?.(o),null;return this.logger.debug("Job dequeued",{id:o.id,type:o.type,priority:o.priority,retryCount:o.retryCount,attemptId:o.attemptId,workerSlotId:o.workerSlotId,workerSessionId:o.workerSessionId}),o}async startWorkerSession(e,t,r=is){await this.repository.startWorkerSession(e,t,Date.now(),r)}heartbeatWorkerSession(e,t,r=is){return this.repository.heartbeatWorkerSession(e,t,Date.now(),r)}endWorkerSession(e,t){return this.repository.endWorkerSession(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.directWorkerSlotId,this.directWorkerSessionId,Date.now(),this.directLeaseDurationMs),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,i=Date.now()+(e.timeoutMs??30000),n=async(o)=>{e.signal?.throwIfAborted();let{totals:s}=await this.getDiagnostics(),c=s.pending===0&&s.processing===0?o??Date.now():null;if(c!==null&&Date.now()-c>=t)return;if(Date.now()>=i)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 iJ=S(()=>{Cf();QA();Of();os();jC();tJ();nJ();pi();KC()});var JC=()=>{};var oJ=S(()=>{Cf();os();Of();os();JC();KC()});var sJ=S(()=>{os();JC()});var yWe;var aJ=S(()=>{pi();Ae();Rf();yWe=d.preprocess((e)=>{if(typeof e!=="string")return e;return JSON.parse(e)},d.record(d.string(),d.unknown()))});var xWe;var cJ=S(()=>{Ae();xWe=d.record(d.string(),d.unknown())});var lJ=S(()=>{pi();Cf()});var uJ=S(()=>{iJ();oJ();sJ();aJ();cJ();Of();os();Rf();lJ()});var VC={};Ht(VC,{LEGACY_PROJECTION_JOB_TYPES:()=>fJ,LEGACY_PROJECTION_RETIREMENT_REASON:()=>mJ,legacyProjectionJobTypeSchema:()=>pJ,retireLegacyProjectionJob:()=>jSe});import{existsSync as DSe}from"fs";import{resolve as LSe}from"path";function dJ(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 BSe(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 jSe(e){let t=LSe(e.databasePath);if(!DSe(t))throw Error(`Job database does not exist: ${t}`);let r=pJ.parse(e.jobType),i=wp.createFresh({url:`file:${t}`});try{let n=await i.getStatus(e.jobId);if(!n)throw Error(`Job not found: ${e.jobId}`);if(BSe(n,r),e.dryRun){if(e.confirmation!==void 0)throw Error("Dry-run recovery must not include confirmation");return{databasePath:t,job:dJ(n),retired:!1}}let o=`retire:${n.id}`;if(e.confirmation!==o)throw Error(`Refusing to retire ${n.id}; expected --confirm ${o}`);let s=await i.retireUnownedActiveJob({jobId:n.id,expectedType:r,reason:mJ,now:e.now?.()??Date.now()});if(!s)throw Error(`Job ${n.id} changed or acquired ownership before retirement`);return{databasePath:t,job:dJ(s),retired:!0}}finally{i.close()}}var fJ,pJ,mJ="Retired legacy projection job superseded by scheduler-owned projections";var WC=S(()=>{uJ();Ae();fJ=["conversation-memory:project","skill:project","swot:derive","topic:project"],pJ=d.enum(fJ)});function Qt(e,t,r,i,n){return gJ.parse({id:e,operation:t,count:r,targetProbeCount:i,settleMs:n})}function xJ(e){return nS.parse(structuredClone(FSe[e]))}function iS(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 QC(e,t={}){let r=t.fetchImpl??fetch,i=t.now??(()=>new Date),n=t.timeoutMs??20000,o=i(),s=new AbortController,a=setTimeout(()=>s.abort(),n);try{let c=await r(e,{method:"GET",signal:s.signal});return await c.arrayBuffer(),GC.parse({timestamp:o.toISOString(),endpoint:new URL(e).pathname,status:c.status,durationMs:Math.max(0,i().getTime()-o.getTime()),ok:c.ok})}catch(c){return GC.parse({timestamp:o.toISOString(),endpoint:new URL(e).pathname,status:0,durationMs:Math.max(0,i().getTime()-o.getTime()),ok:!1,error:KSe(c)})}finally{clearTimeout(a)}}async function wJ(e,t){let r=nS.parse(e),i=[],n,o=await t.prepare(r),s,a;try{try{await t.startMonitoring()}catch(c){n=`monitor: ${tS(c)}`}if(!n)for(let c of r.phases)try{let l=yJ.parse(await t.executePhase(c,o));if(i.push(l),!l.success){n=`${c.id}: ${l.error??"phase failed"}`;break}}catch(l){let u=tS(l);i.push({id:c.id,operation:c.operation,count:c.count,success:!1,error:u}),n=`${c.id}: ${u}`;break}}finally{try{if(s=bJ.parse(await t.cleanup(o)),!s.success&&!n)n=s.error??"cleanup failed"}catch(c){let l=tS(c);s={success:!1,probesRemaining:0,error:l},n??=`cleanup: ${l}`}try{a=SJ.parse(await t.stopMonitoring())}catch(c){let l=tS(c);a={health:[],runtime:[]},n??=`monitor: ${l}`}}return n??=HSe(a,r.maximumExternalAiCalls??0),MSe.parse({profile:r.profile,success:n===void 0&&i.length===r.phases.length&&s.success,baseline:o,phases:i,cleanup:s,metrics:a,...n?{failure:n}:{}})}function HSe(e,t=0){let r=e.health.find((o)=>!o.ok);if(r)return`health: ${r.endpoint} unavailable`;let i=e.externalAiCalls??0;if(i>t)return t===0?`external AI: observed ${i} call(s)`:`external AI: observed ${i} 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 KSe(e){if(e instanceof Error)return`${e.name}: ${e.message}`;return String(e)}function tS(e){return at(e)}var rS,hJ,gJ,nS,USe,GC,qSe,yJ,bJ,ZSe,SJ,MSe,FSe;var YC=S(()=>{Ae();rS=d.enum(["regression","load","stress"]),hJ=d.enum(["add","update","rename","delete"]),gJ=d.object({id:d.string().min(1),operation:hJ,count:d.number().int().positive().max(700),targetProbeCount:d.number().int().min(0).max(700),settleMs:d.number().int().nonnegative().max(300000)}),nS=d.object({profile:rS,maximumProbeCount:d.number().int().positive().max(700),maximumExternalAiCalls:d.number().int().nonnegative().max(1e4).optional(),phases:d.array(gJ).min(1)}),USe=d.object({entities:d.number().int().nonnegative(),notes:d.number().int().nonnegative(),version:d.string().min(1)}),GC=d.object({timestamp:d.iso.datetime(),endpoint:d.string().startsWith("/"),status:d.number().int().nonnegative(),durationMs:d.number().nonnegative(),ok:d.boolean(),error:d.string().optional()}),qSe=d.object({timestamp:d.iso.datetime(),cpuPercent:d.number().nonnegative(),memoryPercent:d.number().nonnegative(),pids:d.number().int().nonnegative()}),yJ=d.object({id:d.string().min(1),operation:hJ,count:d.number().int().positive(),success:d.boolean(),commitLatencyMs:d.number().nonnegative().optional(),persistenceLatencyMs:d.number().nonnegative().optional(),error:d.string().optional()}),bJ=d.object({success:d.boolean(),probesRemaining:d.number().int().nonnegative(),finalEntities:d.number().int().nonnegative().optional(),finalNotes:d.number().int().nonnegative().optional(),contentTreeRestored:d.boolean().optional(),error:d.string().optional()}),ZSe=d.object({status:d.string(),restartCount:d.number().int().nonnegative(),oomKilled:d.boolean()}),SJ=d.object({health:d.array(GC),runtime:d.array(qSe),externalAiCalls:d.number().int().nonnegative().optional(),container:ZSe.optional()}),MSe=d.object({profile:rS,success:d.boolean(),baseline:USe,phases:d.array(yJ),cleanup:bJ,metrics:SJ,failure:d.string().optional()}),FSe={regression:{profile:"regression",maximumProbeCount:20,phases:[Qt("add20","add",20,20,0),Qt("update20","update",20,20,30000),Qt("delete20","delete",20,0,150000)]},load:{profile:"load",maximumProbeCount:350,phases:[Qt("add50","add",50,50,0),Qt("add150","add",100,150,0),Qt("add350","add",200,350,0),Qt("update350a","update",350,350,45000),Qt("rename100","rename",100,350,45000),Qt("update350b","update",350,350,45000),Qt("delete350","delete",350,0,150000)]},stress:{profile:"stress",maximumProbeCount:700,phases:[Qt("add50","add",50,50,0),Qt("add150","add",100,150,0),Qt("add350","add",200,350,0),Qt("add700","add",350,700,0),Qt("update700a","update",700,700,45000),Qt("rename200","rename",200,700,45000),Qt("update700b","update",700,700,45000),Qt("delete700","delete",700,0,150000)]}}});import{spawn as JSe}from"child_process";async function vJ(e,t,r,i){let n=await e(t,r,i);if(n.exitCode!==0)throw wi(t,r,n);return n}function wi(e,t,r){let i=r.stderr.trim()||r.stdout.trim();return Error(`${e} ${t.join(" ")} exited with ${r.exitCode}${i?`: ${i}`:""}`)}var ao=async(e,t,r={})=>new Promise((i,n)=>{let o=JSe(e,[...t],{cwd:r.cwd,env:r.env?{...process.env,...r.env}:process.env,stdio:["pipe","pipe","pipe"]}),s="",a="";o.stdout.setEncoding("utf8"),o.stderr.setEncoding("utf8"),o.stdout.on("data",(c)=>{s+=c}),o.stderr.on("data",(c)=>{a+=c}),o.on("error",n),o.on("close",(c)=>{i({exitCode:c??1,stdout:s,stderr:a})}),o.stdin.end(r.stdin)});var vp=()=>{};class au{#e;#t;dir;constructor(e,t,r){this.#e=e,this.dir=t,this.#t=r}static async clone(e,t,r,i){let n=new au(e,r,i);return await vJ(e,"git",["-c","credential.helper=","-c",`credential.helper=${_J}`,"clone","--branch","main","--single-branch",`https://github.com/${t}.git`,r],{env:n.environment()}),await n.run(["config","--local","credential.helper",_J]),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 wi("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 _J='!f() { test "$1" = get && echo username=x-access-token && echo "password=$GH_TOKEN"; }; f';var kJ=S(()=>{vp()});function _p(e){return e.entityCounts.find((t)=>t.entityType==="note")?.count??0}class XC{#e;#t=[];#r=[];#n=new Set(["/health/ready"]);#i=!0;#o;#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 QC(`https://${this.#e.domain}${e}`,{fetchImpl:this.#e.fetchImpl,now:this.#e.now,timeoutMs:5000})).status!==404)this.#n.add(e)}start(){this.#i=!1,this.#a=void 0,this.#c=this.#t.length,this.#l=void 0,this.#s=this.#e.now().toISOString(),this.#o=Promise.all([this.#f(),this.#m()]).then(()=>{return}).catch((e)=>{this.#a=e,this.#i=!0})}async stop(){this.#i=!0,await this.#o}async waitForHealthSnapshot(e){return this.waitForEntityBaseline(void 0,void 0,e)}async waitForEntityBaseline(e,t,r){let i=this.#e.now().getTime();while(this.#e.now().getTime()-i<r){let n=await this.fetchHealthPayload();if(this.#d(n,e,t))return n;await this.#e.sleep(5000)}return}async waitForStableEntityBaseline(e,t,r){let i=this.#e.now().getTime(),n=0;while(this.#e.now().getTime()-i<r){let o=await this.fetchHealthPayload();if(this.#d(o,e,t)){if(n+=1,n===2)return o}else n=0;await this.#e.sleep(5000)}return}async fetchHealthPayload(){let e=this.#e.now(),t=new AbortController,r=setTimeout(()=>t.abort(),20000);try{let i=await this.#e.fetchImpl(`https://${this.#e.domain}/health/operate`,{signal:t.signal}),n=await i.text();if(this.#t.push({timestamp:e.toISOString(),endpoint:"/health/operate",status:i.status,durationMs:Math.max(0,this.#e.now().getTime()-e.getTime()),ok:i.ok}),!i.ok)return;return VSe.parse(JSON.parse(n)).app}catch(i){this.#t.push({timestamp:e.toISOString(),endpoint:"/health/operate",status:0,durationMs:Math.max(0,this.#e.now().getTime()-e.getTime()),ok:!1,error:i instanceof Error?`${i.name}: ${i.message}`:String(i)});return}finally{clearTimeout(r)}}#d(e,t,r){return e!==void 0&&(t===void 0||_p(e)===t)&&(r===void 0||e.entities===r)}async#f(){while(!this.#i){for(let e of this.#n)this.#t.push(await QC(`https://${this.#e.domain}${e}`,{fetchImpl:this.#e.fetchImpl,now:this.#e.now,timeoutMs:20000}));await this.#e.sleep(4000)}}async#m(){while(!this.#i){let e=await this.#e.sampleRuntime();if(e)this.#r.push(e);await this.#e.sleep(1000)}}}var VSe;var EJ=S(()=>{Ae();YC();VSe=d.object({status:d.literal("ready"),operationalStatus:d.literal("operational"),app:d.object({version:d.string(),entities:d.number().int().nonnegative(),entityCounts:d.array(d.object({entityType:d.string(),count:d.number().int().nonnegative()})).default([])})})});var oS={};Ht(oS,{applyDirectorySyncStressPhase:()=>$J,cleanupDirectorySyncStress:()=>ixe,listProbeFiles:()=>ja,parseStressRuntimeSample:()=>CJ,removeProbeFiles:()=>sR,runDeployedDirectorySyncStress:()=>rxe,runStressCommand:()=>ao,verifyDirectorySyncStressAccess:()=>nxe});import{chmod as WSe,mkdir as tR,mkdtemp as rR,readFile as GSe,readdir as QSe,rename as YSe,rm as Ep,writeFile as Kn}from"fs/promises";import{tmpdir as nR}from"os";import{join as St,resolve as iR}from"path";async function rxe(e){let t=e.now??(()=>new Date),r=t().toISOString(),i=aR(r),n=iR(e.artifactsDir??St(e.rootDir,".brains-ops","stress",i));await tR(n,{recursive:!0});let{pilot:o,user:s}=await oR(e.rootDir,e.handle);iS({handle:s.handle,domain:s.domain,contentRepo:s.contentRepo,confirmation:e.confirmation});let a=rS.parse(e.profile),c=e.plan?nS.parse(e.plan):xJ(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)AJ(s);let l=XSe.parse(e.env??process.env),u=new TJ({runId:i,artifactsDir:n,user:s,githubOrg:o.githubOrg,serverLabel:`${o.contentRepoPrefix}${s.handle}`,environment:l,fetchImpl:e.fetchImpl??fetch,commandRunner:e.commandRunner??ao,logger:e.logger??console.info,now:t,sleep:e.sleep??Bun.sleep}),f;try{f=await wJ(c,u)}finally{await u.dispose()}let p={runId:i,artifactsDir:n,target:{handle:s.handle,domain:s.domain,contentRepo:`${o.githubOrg}/${s.contentRepo}`},startedAt:r,completedAt:t().toISOString(),report:f};return await axe(p),p}async function nxe(e){let r=(e.now??(()=>new Date))().toISOString(),i=aR(r),n=iR(e.artifactsDir??St(e.rootDir,".brains-ops","stress",`access-check-${i}`));await tR(n,{recursive:!0});let{pilot:o,user:s}=await oR(e.rootDir,e.handle);iS({handle:s.handle,domain:s.domain,contentRepo:s.contentRepo,confirmation:e.confirmation}),AJ(s);let a=(e.env??process.env).CONTENT_REPO_ADMIN_TOKEN;if(!a)throw Error("Missing CONTENT_REPO_ADMIN_TOKEN");let c=await rR(St(nR(),"brains-ops-directory-sync-access-check-"));try{let l=await au.clone(e.commandRunner??ao,`${o.githubOrg}/${s.contentRepo}`,St(c,"content"),a),u=await l.output(["rev-parse","HEAD"]);await l.run(["push","--dry-run","origin",`HEAD:refs/heads/ops/directory-sync-stress-access-check-${i}`]);let f={success:!0,artifactsDir:n,checkedAt:r,remoteHead:u,target:{handle:s.handle,domain:s.domain,contentRepo:`${o.githubOrg}/${s.contentRepo}`}};return await Kn(St(n,"access-check.json"),`${JSON.stringify(f,null,2)}
|
|
410
|
+
`;await t.run(n);let s=(await t.values(U`SELECT id, hash, created_at FROM ${U.identifier(i)} 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 l of c.sql)await a.run(U.raw(l));await a.run(U`INSERT INTO ${U.identifier(i)} ("hash", "created_at") VALUES(${c.hash}, ${c.folderMillis})`)}})}}});var SC;var RK=S(()=>{ze();SC=class SC{static[J]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}}});function qb(e,t){return(r,i,...n)=>{let o=[i,...n].map((s)=>({type:e,isAll:t,rightSelect:s}));for(let s of o)if(!op(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(o)}}var Hn,OK,xC,cSe=()=>({union:lSe,unionAll:uSe,intersect:dSe,except:fSe}),lSe,uSe,dSe,fSe;var wC=S(()=>{ze();RK();ro();La();lr();Mn();vr();Dr();eo();ru();hp();Hn=class Hn{static[J]="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(ae(e,wt))r=Object.fromEntries(Object.keys(e._.selectedFields).map((i)=>[i,e[i]]));else if(ae(e,so))r=e[vt].selectedFields;else if(ae(e,Te))r={};else r=Rb(e);return new xC({table:e,fields:r,isPartialSelect:t,session:this.session,dialect:this.dialect,withList:this.withList,distinct:this.distinct})}};OK=class OK extends SC{static[J]="SQLiteSelectQueryBuilder";_;config;joinsNotNullableMap;tableName;isPartialSelect;session;dialect;cacheConfig=void 0;usedTables=new Set;constructor({table:e,fields:t,isPartialSelect:r,session:i,dialect:n,withList:o,distinct:s}){super();this.config={withList:o,table:e,fields:{...t},distinct:s,setOperators:[]},this.isPartialSelect=r,this.session=i,this.dialect=n,this._={selectedFields:t,config:this.config},this.tableName=sp(e),this.joinsNotNullableMap=typeof this.tableName==="string"?{[this.tableName]:!0}:{};for(let a of Fn(e))this.usedTables.add(a)}getUsedTables(){return[...this.usedTables]}createJoin(e){return(t,r)=>{let i=this.tableName,n=sp(t);for(let o of Fn(t))this.usedTables.add(o);if(typeof n==="string"&&this.config.joins?.some((o)=>o.alias===n))throw Error(`Alias "${n}" is already used in this query`);if(!this.isPartialSelect){if(Object.keys(this.joinsNotNullableMap).length===1&&typeof i==="string")this.config.fields={[i]:this.config.fields};if(typeof n==="string"&&!ae(t,Te)){let o=ae(t,wt)?t._.selectedFields:ae(t,wn)?t[vt].selectedFields:t[we.Symbol.Columns];this.config.fields[n]=o}}if(typeof r==="function")r=r(new Proxy(this.config.fields,new bt({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(([o])=>[o,!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(([o])=>[o,!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 i=typeof r==="function"?r(cSe()):r;if(!op(this.getSelectedFields(),i.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:i}),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 bt({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));return this.config.where=e,this}having(e){if(typeof e==="function")e=e(new Proxy(this.config.fields,new bt({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 bt({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 bt({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(...Fn(this.config.table)),this.config.joins)for(let r of this.config.joins)t.push(...Fn(r.table));return new Proxy(new wt(this.getSQL(),this.config.fields,e,!1,[...new Set(t)]),new bt({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}getSelectedFields(){return new Proxy(this.config.fields,new bt({alias:this.tableName,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}$dynamic(){return this}};xC=class xC extends OK{static[J]="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=vn(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()}};uH(xC,[Lr]);lSe=qb("union",!1),uSe=qb("union",!0),dSe=qb("intersect",!1),fSe=qb("except",!1)});var Ba;var Zb=S(()=>{ze();La();Ub();Mn();wC();Ba=class Ba{static[J]="SQLiteQueryBuilder";dialect;dialectConfig;constructor(e){this.dialect=ae(e,iu)?e:void 0,this.dialectConfig=ae(e,iu)?void 0:e}$with=(e,t)=>{let r=this;return{as:(n)=>{if(typeof n==="function")n=n(r);return new Proxy(new rp(n.getSQL(),t??("getSelectedFields"in n?n.getSelectedFields()??{}:{}),e,!0),new bt({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}}};with(...e){let t=this;function r(n){return new Hn({fields:n??void 0,session:void 0,dialect:t.getDialect(),withList:e})}function i(n){return new Hn({fields:n??void 0,session:void 0,dialect:t.getDialect(),withList:e,distinct:!0})}return{select:r,selectDistinct:i}}select(e){return new Hn({fields:e??void 0,session:void 0,dialect:this.getDialect()})}selectDistinct(e){return new Hn({fields:e??void 0,session:void 0,dialect:this.getDialect(),distinct:!0})}getDialect(){if(!this.dialect)this.dialect=new yC(this.dialectConfig);return this.dialect}}});var Mb,vC;var PK=S(()=>{ze();ro();lr();no();vr();Dr();ru();Zb();Mb=class Mb{constructor(e,t,r,i){this.table=e,this.session=t,this.dialect=r,this.withList=i}static[J]="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 i={},n=this.table[we.Symbol.Columns];for(let o of Object.keys(r)){let s=r[o];i[o]=ae(s,Te)?s:new an(s,n[o])}return i});return new vC(this.table,t,this.session,this.dialect,this.withList)}select(e){let t=typeof e==="function"?e(new Ba):e;if(!ae(t,Te)&&!op(this.table[Ab],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 vC(this.table,t,this.session,this.dialect,this.withList,!0)}};vC=class vC extends Lr{constructor(e,t,r,i,n,o){super();this.session=r,this.dialect=i,this.config={table:e,values:t,withList:n,select:o}}static[J]="SQLiteInsert";config;returning(e=this.config.table[Bt.Symbol.Columns]){return this.config.returning=vn(e),this}onConflictDoNothing(e={}){if(!this.config.onConflict)this.config.onConflict=[];if(e.target===void 0)this.config.onConflict.push(U` on conflict do nothing`);else{let t=Array.isArray(e.target)?U`${e.target}`:U`${[e.target]}`,r=e.where?U` where ${e.where}`:U``;this.config.onConflict.push(U` 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?U` where ${e.where}`:void 0,r=e.targetWhere?U` where ${e.targetWhere}`:void 0,i=e.setWhere?U` where ${e.setWhere}`:void 0,n=Array.isArray(e.target)?U`${e.target}`:U`${[e.target]}`,o=this.dialect.buildUpdateSet(this.config.table,Cb(this.config.table,e.set));return this.config.onConflict.push(U` on conflict ${n}${r} do update set ${o}${t}${i}`),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:Fn(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 Fb,zK;var NK=S(()=>{ze();ro();La();no();Mn();vr();Dr();eo();ru();hp();Fb=class Fb{constructor(e,t,r,i){this.table=e,this.session=t,this.dialect=r,this.withList=i}static[J]="SQLiteUpdateBuilder";set(e){return new zK(this.table,Cb(this.table,e),this.session,this.dialect,this.withList)}};zK=class zK extends Lr{constructor(e,t,r,i,n){super();this.session=r,this.dialect=i,this.config={set:t,table:e,withList:n,joins:[]}}static[J]="SQLiteUpdate";config;from(e){return this.config.from=e,this}createJoin(e){return(t,r)=>{let i=sp(t);if(typeof i==="string"&&this.config.joins.some((n)=>n.alias===i))throw Error(`Alias "${i}" is already used in this query`);if(typeof r==="function"){let n=this.config.from?ae(t,Bt)?t[we.Symbol.Columns]:ae(t,wt)?t._.selectedFields:ae(t,so)?t[vt].selectedFields:void 0:void 0;r=r(new Proxy(this.config.table[we.Symbol.Columns],new bt({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})),n&&new Proxy(n,new bt({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))}return this.config.joins.push({on:r,table:t,joinType:e,alias:i}),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[we.Symbol.Columns],new bt({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[Bt.Symbol.Columns]){return this.config.returning=vn(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:Fn(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 _C=S(()=>{IK();PK();Zb();wC();NK()});var gp;var DK=S(()=>{ze();lr();gp=class gp extends Te{constructor(e){super(gp.buildEmbeddedCount(e.source,e.filters).queryChunks);this.params=e,this.session=e.session,this.sql=gp.buildCount(e.source,e.filters)}sql;static[J]="SQLiteCountBuilderAsync";[Symbol.toStringTag]="SQLiteCountBuilderAsync";session;static buildEmbeddedCount(e,t){return U`(select count(*) from ${e}${U.raw(" where ").if(t)}${t})`}static buildCount(e,t){return U`select count(*) from ${e}${U.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 EC,Hb,kC;var LK=S(()=>{ze();ro();up();EC=class EC{constructor(e,t,r,i,n,o,s,a){this.mode=e,this.fullSchema=t,this.schema=r,this.tableNamesMap=i,this.table=n,this.tableConfig=o,this.dialect=s,this.session=a}static[J]="SQLiteAsyncRelationalQueryBuilder";findMany(e){return this.mode==="sync"?new kC(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e?e:{},"many"):new Hb(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e?e:{},"many")}findFirst(e){return this.mode==="sync"?new kC(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e?{...e,limit:1}:{limit:1},"first"):new Hb(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e?{...e,limit:1}:{limit:1},"first")}};Hb=class Hb extends Lr{constructor(e,t,r,i,n,o,s,a,c){super();this.fullSchema=e,this.schema=t,this.tableNamesMap=r,this.table=i,this.tableConfig=n,this.dialect=o,this.session=s,this.config=a,this.mode=c}static[J]="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,(i,n)=>{let o=i.map((s)=>Nb(this.schema,this.tableConfig,s,t.selection,n));if(this.mode==="first")return o[0];return o})}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()}};kC=class kC extends Hb{static[J]="SQLiteSyncRelationalQuery";sync(){return this.executeRaw()}}});var ou;var BK=S(()=>{ze();ro();ou=class ou extends Lr{constructor(e,t,r,i,n){super();this.execute=e,this.getSQL=t,this.dialect=i,this.mapBatchResult=n,this.config={action:r}}static[J]="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 yp;var Kb=S(()=>{ze();La();lr();_C();Mn();DK();LK();BK();yp=class yp{constructor(e,t,r,i){this.resultKind=e,this.dialect=t,this.session=r,this._=i?{schema:i.schema,fullSchema:i.fullSchema,tableNamesMap:i.tableNamesMap}:{schema:void 0,fullSchema:{},tableNamesMap:{}},this.query={};let n=this.query;if(this._.schema)for(let[o,s]of Object.entries(this._.schema))n[o]=new EC(e,i.fullSchema,this._.schema,this._.tableNamesMap,i.fullSchema[o],s,t,r);this.$cache={invalidate:async(o)=>{}}}static[J]="BaseSQLiteDatabase";query;$with=(e,t)=>{let r=this;return{as:(n)=>{if(typeof n==="function")n=n(new Ba(r.dialect));return new Proxy(new rp(n.getSQL(),t??("getSelectedFields"in n?n.getSelectedFields()??{}:{}),e,!0),new bt({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}}};$count(e,t){return new gp({source:e,filters:t,session:this.session})}with(...e){let t=this;function r(a){return new Hn({fields:a??void 0,session:t.session,dialect:t.dialect,withList:e})}function i(a){return new Hn({fields:a??void 0,session:t.session,dialect:t.dialect,withList:e,distinct:!0})}function n(a){return new Fb(a,t.session,t.dialect,e)}function o(a){return new Mb(a,t.session,t.dialect,e)}function s(a){return new Bb(a,t.session,t.dialect,e)}return{select:r,selectDistinct:i,update:n,insert:o,delete:s}}select(e){return new Hn({fields:e??void 0,session:this.session,dialect:this.dialect})}selectDistinct(e){return new Hn({fields:e??void 0,session:this.session,dialect:this.dialect,distinct:!0})}update(e){return new Fb(e,this.session,this.dialect)}$cache;insert(e){return new Mb(e,this.session,this.dialect)}delete(e){return new Bb(e,this.session,this.dialect)}run(e){let t=typeof e==="string"?U.raw(e):e.getSQL();if(this.resultKind==="async")return new ou(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"?U.raw(e):e.getSQL();if(this.resultKind==="async")return new ou(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"?U.raw(e):e.getSQL();if(this.resultKind==="async")return new ou(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"?U.raw(e):e.getSQL();if(this.resultKind==="async")return new ou(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 IC(e,t){let r=`${e}-${JSON.stringify(t)}`,n=new TextEncoder().encode(r),o=await crypto.subtle.digest("SHA-256",n);return[...new Uint8Array(o)].map((c)=>c.toString(16).padStart(2,"0")).join("")}var jK,bp;var TC=S(()=>{ze();jK=class jK{static[J]="Cache"};bp=class bp extends jK{strategy(){return"all"}static[J]="NoopCache";async get(e){return}async put(e,t,r,i){}async onMutate(e){}}});var UK=S(()=>{TC()});function qK(e,t){return new Proxy(e,new Da(t,!1))}var ZK=S(()=>{pp()});var MK,AC,$C,CC;var RC=S(()=>{TC();ze();jb();ro();Kb();MK=class MK extends Lr{constructor(e){super();this.resultCb=e}static[J]="ExecuteResultSync";async execute(){return this.resultCb()}sync(){return this.resultCb()}};AC=class AC{constructor(e,t,r,i,n,o){if(this.mode=e,this.executeMethod=t,this.query=r,this.cache=i,this.queryMetadata=n,this.cacheConfig=o,i&&i.strategy()==="all"&&o===void 0)this.cacheConfig={enable:!0,autoInvalidate:!0};if(!this.cacheConfig?.enable)this.cacheConfig=void 0}static[J]="PreparedQuery";joinsNotNullableMap;async queryWithCache(e,t,r){if(this.cache===void 0||ae(this.cache,bp)||this.queryMetadata===void 0)try{return await r()}catch(i){throw new oo(e,t,i)}if(this.cacheConfig&&!this.cacheConfig.enable)try{return await r()}catch(i){throw new oo(e,t,i)}if((this.queryMetadata.type==="insert"||this.queryMetadata.type==="update"||this.queryMetadata.type==="delete")&&this.queryMetadata.tables.length>0)try{let[i]=await Promise.all([r(),this.cache.onMutate({tables:this.queryMetadata.tables})]);return i}catch(i){throw new oo(e,t,i)}if(!this.cacheConfig)try{return await r()}catch(i){throw new oo(e,t,i)}if(this.queryMetadata.type==="select"){let i=await this.cache.get(this.cacheConfig.tag??await IC(e,t),this.queryMetadata.tables,this.cacheConfig.tag!==void 0,this.cacheConfig.autoInvalidate);if(i===void 0){let n;try{n=await r()}catch(o){throw new oo(e,t,o)}return await this.cache.put(this.cacheConfig.tag??await IC(e,t),n,this.cacheConfig.autoInvalidate?this.queryMetadata.tables:[],this.cacheConfig.tag!==void 0,this.cacheConfig.config),n}return i}try{return await r()}catch(i){throw new oo(e,t,i)}}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 MK(()=>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)}}};$C=class $C{constructor(e){this.dialect=e}static[J]="SQLiteSession";prepareOneTimeQuery(e,t,r,i,n,o,s){return this.prepareQuery(e,t,r,i,n,o,s)}run(e){let t=this.dialect.sqlToQuery(e);try{return this.prepareOneTimeQuery(t,void 0,"run",!1).run()}catch(r){throw new nu({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")}};CC=class CC extends yp{constructor(e,t,r,i,n=0){super(e,t,r,i);this.schema=i,this.nestedIndex=n}static[J]="SQLiteTransaction";rollback(){throw new mC}}});var OC,pSe,mSe,Jb;var FK=S(()=>{ze();La();Dr();Zb();no();hp();OC=class OC{constructor(e){this.name=e}static[J]="SQLiteViewBuilderCore";config={}};pSe=class pSe extends OC{static[J]="SQLiteViewBuilder";as(e){if(typeof e==="function")e=e(new Ba);let t=new bt({alias:this.name,sqlBehavior:"error",sqlAliasedBehavior:"alias",replaceOriginalName:!0}),r=e.getSelectedFields();return new Proxy(new Jb({config:{name:this.name,schema:void 0,selectedFields:r,query:e.getSQL().inlineParams()}}),t)}};mSe=class mSe extends OC{static[J]="SQLiteManualViewBuilder";columns;constructor(e,t){super(e);this.columns=Rb(mp(e,t))}existing(){return new Proxy(new Jb({config:{name:this.name,schema:void 0,selectedFields:this.columns,query:void 0}}),new bt({alias:this.name,sqlBehavior:"error",sqlAliasedBehavior:"alias",replaceOriginalName:!0}))}as(e){return new Proxy(new Jb({config:{name:this.name,schema:void 0,selectedFields:this.columns,query:e.inlineParams()}}),new bt({alias:this.name,sqlBehavior:"error",sqlAliasedBehavior:"alias",replaceOriginalName:!0}))}};Jb=class Jb extends so{static[J]="SQLiteView";constructor({config:e}){super(e)}}});var Vb=S(()=>{ZK();SK();gC();Kb();Ub();nC();_K();EK();_C();RC();no();oC();ru();FK()});function HK(e){return Object.keys(e).reduce((t,r)=>{if(Object.prototype.propertyIsEnumerable.call(e,r))t[r]=e[r];return t},{})}function Wb(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 Gb,PC,KK;var zC=S(()=>{UK();ze();Ob();lr();Vb();RC();Dr();Gb=class Gb extends $C{constructor(e,t,r,i,n){super(t);this.client=e,this.schema=r,this.options=i,this.tx=n,this.logger=i.logger??new G$,this.cache=i.cache??new bp}static[J]="LibSQLSession";logger;cache;prepareQuery(e,t,r,i,n,o,s){return new KK(this.client,e,this.logger,this.cache,o,s,t,this.tx,r,i,n)}async batch(e){let t=[],r=[];for(let n of e){let o=n._prepare(),s=o.getQuery();t.push(o),r.push({sql:s.sql,args:s.params})}return(await this.client.batch(r)).map((n,o)=>t[o].mapResult(n,!0))}async migrate(e){let t=[],r=[];for(let n of e){let o=n._prepare(),s=o.getQuery();t.push(o),r.push({sql:s.sql,args:s.params})}return(await this.client.migrate(r)).map((n,o)=>t[o].mapResult(n,!0))}async transaction(e,t){let r=await this.client.transaction(),i=new Gb(this.client,this.dialect,this.schema,this.options,r),n=new PC("async",this.dialect,i,this.schema);try{let o=await e(n);return await r.commit(),o}catch(o){throw await r.rollback(),o}}extractRawAllValueFromBatchResult(e){return e.rows}extractRawGetValueFromBatchResult(e){return e.rows[0]}extractRawValuesValueFromBatchResult(e){return e.rows}};PC=class PC extends CC{static[J]="LibSQLTransaction";async transaction(e){let t=`sp${this.nestedIndex}`,r=new PC("async",this.dialect,this.session,this.schema,this.nestedIndex+1);await this.session.run(U.raw(`savepoint ${t}`));try{let i=await e(r);return await this.session.run(U.raw(`release savepoint ${t}`)),i}catch(i){throw await this.session.run(U.raw(`rollback to savepoint ${t}`)),i}}};KK=class KK extends AC{constructor(e,t,r,i,n,o,s,a,c,l,u){super("async",c,t,i,n,o);this.client=e,this.logger=r,this.fields=s,this.tx=a,this._isResponseInArrayMode=l,this.customResultMapper=u,this.customResultMapper=u,this.fields=s}static[J]="LibSQLPreparedQuery";async run(e){let t=ip(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:i,tx:n,client:o,customResultMapper:s}=this;if(!t&&!s){let c=ip(i.params,e??{});return r.logQuery(i.sql,c),await this.queryWithCache(i.sql,c,async()=>{let l={sql:i.sql,args:c};return(n?n.execute(l):o.execute(l)).then(({rows:u})=>this.mapAllResult(u))})}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)=>HK(r));if(this.customResultMapper)return this.customResultMapper(e,Wb);return e.map((r)=>J$(this.fields,Array.prototype.slice.call(r).map((i)=>Wb(i)),this.joinsNotNullableMap))}async get(e){let{fields:t,logger:r,query:i,tx:n,client:o,customResultMapper:s}=this;if(!t&&!s){let c=ip(i.params,e??{});return r.logQuery(i.sql,c),await this.queryWithCache(i.sql,c,async()=>{let l={sql:i.sql,args:c};return(n?n.execute(l):o.execute(l)).then(({rows:u})=>this.mapGetResult(u))})}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 HK(r);if(!r)return;if(this.customResultMapper)return this.customResultMapper(e,Wb);return J$(this.fields,Array.prototype.slice.call(r).map((i)=>Wb(i)),this.joinsNotNullableMap)}async values(e){let t=ip(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:i})=>i)})}isResponseInArrayMode(){return this._isResponseInArrayMode}}});function su(e,t={}){let r=new bC({casing:t.casing}),i;if(t.logger===!0)i=new W$;else if(t.logger!==!1)i=t.logger;let n;if(t.schema){let a=zH(t.schema,DH);n={fullSchema:t.schema,schema:a.tables,tableNamesMap:a.tableNamesMap}}let o=new Gb(e,r,n,{logger:i,cache:t.cache},void 0),s=new JK("async",r,o,n);if(s.$client=e,s.$cache=t.cache,s.$cache)s.$cache.invalidate=t.cache?.onMutate;return s}var JK;var VK=S(()=>{ze();Ob();up();Kb();Ub();zC();JK=class JK extends yp{static[J]="LibSQLDatabase";async batch(e){return this.session.batch(e)}}});function Qb(...e){if(typeof e[0]==="string"){let t=Ql({url:e[0]});return su(t,e[1])}if(dH(e[0])){let{connection:t,client:r,...i}=e[0];if(r)return su(r,i);let n=typeof t==="string"?Ql({url:t}):Ql(t);return su(n,i)}return su(e[0],e[1])}var WK=S(()=>{D$();Dr();VK();((e)=>{function t(r){return su({},r)}e.mock=t})(Qb||(Qb={}))});var GK=S(()=>{WK();zC()});function hSe(){return new Promise((e)=>setTimeout(e,0))}function ySe(){if(NC)return;NC=!0,setTimeout(()=>{NC=!1,DC=performance.now()},0)}async function Sp(e=gSe){if(ySe(),performance.now()-DC<e)return;await hSe(),DC=performance.now()}var gSe=50,DC,NC=!1;var QK=S(()=>{DC=performance.now()});function YK(e){if(e.authToken!==void 0)return e.authToken;if(e.authTokenEnv===void 0)return;return process.env[e.authTokenEnv]}function wSe(e){return e instanceof Be&&/^SQLITE_(?:BUSY|LOCKED)$/u.test(e.code)}async function Yb(e,t){let r=Date.now()+(t.budgetMs??bSe),i=async(n)=>{if(t.isClosed())throw new Be("The client is closed","CLIENT_CLOSED");try{return await e()}catch(o){if(t.isClosed()||!wSe(o))throw o;await t.afterRefusal?.();let s=Math.min(SSe*2**(n-1),xSe),a=s/2+Math.random()*(s/2);if(t.isClosed()||Date.now()+a>=r)throw o;if(await new Promise((c)=>setTimeout(c,a)),t.isClosed()||Date.now()>=r)throw o;return i(n+1)}};return i(1)}function LC(e,t={}){let r=Ql({...e,...e.url.startsWith("file:")?{timeout:0}:{}});if(e.url.startsWith("file:")&&e.syncUrl===void 0){let i=r.transaction.bind(r),n=()=>r.closed,o=t.contentionRetryBudgetMs,s=r.execute.bind(r),a=r.batch.bind(r),c=r.migrate.bind(r),l={isClosed:n,budgetMs:o,afterRefusal:async()=>{await Promise.resolve(r.reconnect())}};async function u(f,p){return await Sp(),Yb(()=>typeof f==="string"?s(f,p):s(f),l)}r.execute=u,r.batch=async(f,p)=>(await Sp(),Yb(()=>a(f,p),l)),r.migrate=async(f)=>(await Sp(),Yb(()=>c(f),l)),r.transaction=async(f)=>(await Sp(),Yb(()=>i(f),l))}return r}function Xb(e){let{url:t,schema:r}=e,i=YK(e),n={contentionRetryBudgetMs:e.contentionRetryBudgetMs},o=i?LC({url:t,authToken:i},n):LC({url:t},n);return{db:Qb(o,{schema:r}),client:o,url:t}}async function eS(e,t){if(!t.startsWith("file:"))return;for(let r of["PRAGMA busy_timeout = 0","PRAGMA journal_mode = WAL"])await e.execute(r)}var bSe=5000,SSe=5,xSe=40;var BC=S(()=>{D$();GK();QK()});var XK=S(()=>{QA();BC()});var jC=S(()=>{BC();XK()});var UC=S(()=>{pp();Eb();Zn();ze();jb();Ob();ro();up();hC();Mn();vr();Dr();eo()});var ne,pt;var qC=S(()=>{Vb();UC();Cf();ne=mp("job_queue",{id:ur("id").primaryKey().$defaultFn(()=>Wi()),type:ur("type").notNull(),data:ur("data").notNull(),result:ur("result",{mode:"json"}),progress:ur("progress",{mode:"json"}).$type(),source:ur("source"),metadata:ur("metadata",{mode:"json"}).$type().notNull(),status:ur("status",{enum:["pending","processing","completed","failed"]}).notNull().default("pending"),priority:_r("priority").notNull().default(0),retryCount:_r("retryCount").notNull().default(0),maxRetries:_r("maxRetries").notNull().default(3),lastError:ur("lastError"),createdAt:_r("createdAt").notNull().$defaultFn(()=>Date.now()),scheduledFor:_r("scheduledFor").notNull().$defaultFn(()=>Date.now()),startedAt:_r("startedAt"),completedAt:_r("completedAt"),attemptId:ur("attemptId"),workerSlotId:ur("workerSlotId"),workerSessionId:ur("workerSessionId"),leaseExpiresAt:_r("leaseExpiresAt"),attemptHeartbeatAt:_r("attemptHeartbeatAt"),runtimeUpdatedAt:_r("runtimeUpdatedAt")},(e)=>({queueReadyIdx:io("idx_job_queue_ready").on(e.status,e.priority,e.scheduledFor),jobTypeIdx:io("idx_job_queue_type").on(e.type,e.status),runtimeUpdatesIdx:io("idx_job_queue_runtime_updates").on(e.runtimeUpdatedAt,e.id),jobSourceIdx:io("idx_job_queue_source").on(e.source),rootJobIdx:io("idx_job_queue_root_job").on(U`json_extract(${e.metadata}, '$.rootJobId')`,e.createdAt,e.id),deduplicationIdx:io("idx_job_queue_deduplication").on(e.type,U`json_extract(${e.metadata}, '$.deduplicationKey')`,e.status)})),pt=mp("job_worker_sessions",{slotId:ur("slotId").primaryKey(),sessionId:ur("sessionId").notNull().unique(),startedAt:_r("startedAt").notNull(),heartbeatAt:_r("heartbeatAt").notNull(),expiresAt:_r("expiresAt").notNull().default(0)},(e)=>({heartbeatIdx:io("idx_job_worker_sessions_heartbeat").on(e.heartbeatAt),expiresIdx:io("idx_job_worker_sessions_expires").on(e.expiresAt)}))});function eJ(e){return Xb({url:e.url,schema:{jobQueue:ne,jobWorkerSessions:pt},authToken:e.authToken,authTokenEnv:"JOB_QUEUE_DATABASE_AUTH_TOKEN",contentionRetryBudgetMs:0})}var tJ=S(()=>{jC();qC()});class ZC{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 MC{tails=new Map;async run(e,t){let r=this.tails.get(e),i=()=>{},n=new Promise((o)=>{i=o});this.tails.set(e,n),await r;try{return await t()}finally{if(i(),this.tails.get(e)===n)this.tails.delete(e)}}}class FC{findDuplicate(e,t,r){if(!t||t==="none")return null;let i=this.filterByDeduplicationKey(e,r).sort((o,s)=>s.createdAt-o.createdAt||s.id.localeCompare(o.id)),n=i.find((o)=>o.status===Ue.PENDING)??null;if(t==="skip"||t==="replace")return n;return n??i[0]??null}filterByDeduplicationKey(e,t){if(!t)return e;return e.filter((r)=>{let i=vSe.safeParse(r.metadata);return i.success&&i.data.deduplicationKey===t})}}var vSe;var rJ=S(()=>{Ae();os();vSe=d.looseObject({deduplicationKey:d.string().optional()})});class HC{db;transactionClient;databaseUrl;logger;deduplicator=new FC;writeRetryBudgetMs;constructor(e,t,r,i,n){this.db=e,this.transactionClient=t,this.databaseUrl=r,this.logger=i.child("JobQueueRepository"),this.writeRetryBudgetMs=n?.writeRetryBudgetMs??_Se}async insert(e){await this.write("insert",async()=>this.db.insert(ne).values(e))}async enqueueAtomic(e){return TSe.run(this.databaseUrl,async()=>{let t=Date.now()+this.writeRetryBudgetMs;return this.attemptEnqueue(e,t,1)})}async attemptEnqueue(e,t,r){let i=await this.runEnqueueTransaction(e,t,r);if(i.retry)return this.attemptEnqueue(e,t,r+1);return i.decision}async runEnqueueTransaction(e,t,r){let i=await this.acquireWriteTransaction(e,t),n={prepared:!1},o=!1;try{let s=await this.decideEnqueue(i,e,()=>{n.prepared=!0});return o=!0,await i.commit(),{retry:!1,decision:s}}catch(s){let a=o&&this.isSerializationConflict(s)&&!i.closed,c=!0;if(!i.closed)try{await i.rollback()}catch(l){c=!1,this.logger.error("Failed to roll back atomic enqueue",{type:e.jobData.type,rollbackError:l})}if(n.prepared)e.onInsertRollback?.();if(!a||!c)throw s;return await this.waitForConflictRetry("commit",e,t,r,s),{retry:!0}}finally{i.close()}}async decideEnqueue(e,t,r){let{jobData:i,strategy:n,deduplicationKey:o,beforeInsert:s}=t,a=n??"none",c=async()=>{await s?.(),r()},l=async()=>{await c(),await this.insertJob(e,i)};if(a==="none")return await l(),{kind:"inserted",jobId:i.id};let u=await this.getActiveDeduplicationCandidates(e,i.type,o),f=this.deduplicator.findDuplicate(u,a,o);if(!f)return await l(),{kind:"inserted",jobId:i.id};if(a==="skip")return{kind:"skipped",jobId:f.id};if(a==="coalesce"){if((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 p=Date.now();if((await e.execute({sql:"UPDATE `job_queue`\n SET `status` = ?,\n `lastError` = ?,\n `completedAt` = ?,\n `runtimeUpdatedAt` = max(?, coalesce((SELECT max(`runtimeUpdatedAt`) FROM `job_queue`), 0) + 1)\n WHERE `id` = ? AND `status` = ?",args:[Ue.FAILED,"Replaced by newer job",p,p,f.id,Ue.PENDING]})).rowsAffected!==1)throw Error(`Atomic replace lost selected job ${f.id}`);return await this.insertJob(e,i),{kind:"replaced",jobId:i.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,Ue.PENDING,Ue.PROCESSING]}:{sql:"SELECT `id`, `status`, `createdAt`, `metadata`\n FROM `job_queue`\n WHERE `type` = ? AND `status` IN (?, ?)",args:[t,Ue.PENDING,Ue.PROCESSING]})).rows.map((n)=>this.parseDeduplicationCandidate(n))}parseDeduplicationCandidate(e){let{id:t,status:r,createdAt:i,metadata:n}=e;if(typeof t!=="string"||r!==Ue.PENDING&&r!==Ue.PROCESSING||typeof i!=="number"&&typeof i!=="bigint"||typeof n!=="string")throw Error("Invalid active job row returned during atomic enqueue");let o=JSON.parse(n);return{id:t,status:r,createdAt:Number(i),metadata: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`\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]})).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,i,n){let o=Math.min(kSe*2**(i-1),ESe),s=o/2+Math.random()*(o/2);if(Date.now()+s>=r)throw this.transactionConflictError(e,t,i,n);await new Promise((a)=>setTimeout(a,s))}async retryOnConflict(e,t,r,i,n=Date.now()+this.writeRetryBudgetMs,o=1){try{return await r()}catch(s){if(!i(s))throw s;return await this.waitForConflictRetry(e,t,n,o,s),this.retryOnConflict(e,t,r,i,n,o+1)}}transactionConflictError(e,t,r,i){if(typeof t==="string")return Error(`Failed job queue write "${t}" within ${this.writeRetryBudgetMs}ms after ${r} attempts`,{cause:i});let n=t.strategy??"none",o=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: ${o})`,{cause:i})}write(e,t){return this.retryOnConflict("write",e,t,(r)=>{let i=new Set;for(let n=r;n!==void 0&&!i.has(n);){if(i.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):"",i=at(t,"");if(/SQLITE_(?:BUSY|LOCKED)/u.test(r)||/SQLITE_(?:BUSY|LOCKED)|database is locked|transaction (?:busy|conflict)/iu.test(i))return!0;t=t instanceof Error?t.cause:void 0}return!1}async startWorkerSession(e,t,r=Date.now(),i=is){let n=r+i;await this.write("start worker session",async()=>this.db.insert(pt).values({slotId:e,sessionId:t,startedAt:r,heartbeatAt:r,expiresAt:n}).onConflictDoUpdate({target:pt.slotId,set:{sessionId:t,startedAt:r,heartbeatAt:r,expiresAt:n}}))}async heartbeatWorkerSession(e,t,r=Date.now(),i=is){return(await this.write("heartbeat worker session",async()=>this.db.update(pt).set({heartbeatAt:r,expiresAt:r+i}).where(Et(Qe(pt.slotId,e),Qe(pt.sessionId,t))).returning({slotId:pt.slotId}))).length===1}async endWorkerSession(e,t){return(await this.write("end worker session",async()=>this.db.delete(pt).where(Et(Qe(pt.slotId,e),Qe(pt.sessionId,t))).returning({slotId:pt.slotId}))).length===1}async complete(e,t,r){let i=Date.now(),o=(await this.write("complete",async()=>this.db.update(ne).set({status:Ue.COMPLETED,result:t,lastError:null,completedAt:i,runtimeUpdatedAt:this.nextRuntimeUpdatedAt(i)}).where(this.attemptWriteGuard(e,r)).returning({id:ne.id}))).length===1;if(o)this.logger.debug("Job completed",{jobId:e,hasResult:t!==void 0});return o}async update(e,t,r){let n=(await this.write("update",async()=>this.db.update(ne).set({data:JSON.stringify(t)}).where(this.attemptWriteGuard(e,r)).returning({id:ne.id}))).length===1;if(n)this.logger.debug("Job data updated",{jobId:e});return n}async recordAttemptProgress(e,t,r,i=Date.now()){return(await this.write("record progress",async()=>this.db.update(ne).set({attemptHeartbeatAt:i,runtimeUpdatedAt:this.nextRuntimeUpdatedAt(i),progress:r}).where(this.attemptWriteGuard(e,t)).returning({id:ne.id}))).length===1}async renewAttemptLease(e,t,r,i){return(await this.write("renew attempt lease",async()=>this.db.update(ne).set({attemptHeartbeatAt:r,leaseExpiresAt:r+i}).where(this.attemptWriteGuard(e,t)).returning({id:ne.id}))).length===1}async fail(e,t,r,i=Date.now()){let o=(await this.db.select({retryCount:ne.retryCount,maxRetries:ne.maxRetries,type:ne.type,scheduledFor:ne.scheduledFor,startedAt:ne.startedAt,runtimeUpdatedAt:ne.runtimeUpdatedAt}).from(ne).where(this.attemptWriteGuard(e,r)).limit(1))[0];if(!o)return!1;let s=o.retryCount<o.maxRetries,a=s?o.retryCount+1:o.retryCount,c=Math.min(1000*2**o.retryCount,60000),l=s?i+c:o.scheduledFor;if((await this.write("fail",async()=>this.db.update(ne).set({status:s?Ue.PENDING:Ue.FAILED,retryCount:a,lastError:t.message,scheduledFor:l,completedAt:s?null:i,runtimeUpdatedAt:s?o.runtimeUpdatedAt:this.nextRuntimeUpdatedAt(i),startedAt:s?null:o.startedAt,attemptId:null,workerSlotId:null,workerSessionId:null,leaseExpiresAt:null,attemptHeartbeatAt:null}).where(Et(this.attemptWriteGuard(e,r),Qe(ne.retryCount,o.retryCount))).returning({id:ne.id}))).length!==1)return!1;if(s)this.logger.debug("Job scheduled for retry",{jobId:e,retryCount:a,backoffMs:c,scheduledFor:new Date(l).toISOString()});else this.logger.error("Job failed after max retries",{jobId:e,type:o.type,retryCount:o.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 i=(await this.write("retire unowned job",async()=>this.db.update(ne).set({status:Ue.FAILED,lastError:t,completedAt:e.now,runtimeUpdatedAt:this.nextRuntimeUpdatedAt(e.now)}).where(Et(Qe(ne.id,e.jobId),Qe(ne.type,e.expectedType),Si(Qe(ne.status,Ue.PENDING),Qe(ne.status,Ue.PROCESSING)),_n(ne.attemptId),_n(ne.workerSlotId),_n(ne.workerSessionId),_n(ne.leaseExpiresAt),_n(ne.attemptHeartbeatAt),_n(ne.progress),_n(ne.result))).returning()))[0]??null;if(i)this.logger.warn("Retired unowned legacy job",{jobId:i.id,type:i.type,reason:t});return i}async getStatus(e){return(await this.db.select().from(ne).where(Qe(ne.id,e)).limit(1))[0]??null}async getJobsByRootJobId(e){return this.db.select().from(ne).where(U`json_extract(${ne.metadata}, '$.rootJobId') = ${e}`).orderBy(to(ne.createdAt),to(ne.id))}async getStatusByEntityId(e){return(await this.db.select().from(ne).where(U`json_extract(${ne.data}, '$.id') = ${e}`).orderBy(Na(ne.createdAt)).limit(1))[0]??null}async getStats(){let e=await this.db.select({status:ne.status,count:U`count(*)`}).from(ne).groupBy(ne.status),t={pending:0,processing:0,failed:0,completed:0,total:0};for(let r of e){let i=Number(r.count);t[r.status]=i,t.total+=i}return t}async getDiagnostics(e=Date.now()){let[t,r,i]=await Promise.all([this.db.select({type:ne.type,status:ne.status,count:U`count(*)`}).from(ne).groupBy(ne.type,ne.status),this.db.select({oldestPendingAt:U`min(case when ${ne.status} = ${Ue.PENDING} then ${ne.createdAt} end)`,duePending:U`coalesce(sum(case when ${ne.status} = ${Ue.PENDING} and ${ne.scheduledFor} <= ${e} then 1 else 0 end), 0)`,oldestDuePendingAt:U`min(case when ${ne.status} = ${Ue.PENDING} and ${ne.scheduledFor} <= ${e} then ${ne.scheduledFor} end)`,latestClaimAt:U`max(${ne.startedAt})`,oldestProcessingAt:U`min(case when ${ne.status} = ${Ue.PROCESSING} then ${ne.startedAt} end)`,staleLeaseCount:U`coalesce(sum(case when ${ne.status} = ${Ue.PROCESSING} and ${ne.leaseExpiresAt} is not null and ${ne.leaseExpiresAt} <= ${e} then 1 else 0 end), 0)`}).from(ne),this.db.select({total:U`count(*)`,active:U`coalesce(sum(case when ${pt.expiresAt} > ${e} then 1 else 0 end), 0)`,stale:U`coalesce(sum(case when ${pt.expiresAt} <= ${e} then 1 else 0 end), 0)`,latestHeartbeatAt:U`max(${pt.heartbeatAt})`}).from(pt)]),n={pending:0,processing:0,completed:0,failed:0},o=t.map((l)=>{let u=Number(l.count);return n[l.status]+=u,{type:l.type,status:l.status,count:u}}),s=r[0],a=i[0],c=(l)=>l===null||l===void 0?null:Math.max(0,e-Number(l));return{totals:n,byType:o,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=ISe.parse(t);if(r===0)return[];return(await this.db.select().from(ne).where(U`(${ne.runtimeUpdatedAt}, ${ne.id}) > (${e.updatedAt}, ${e.jobId})`).orderBy(to(ne.runtimeUpdatedAt),to(ne.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(ne).where(Et(Si(Qe(ne.status,Ue.COMPLETED),Qe(ne.status,Ue.FAILED)),eu(ne.completedAt,t))))).rowsAffected}async getActiveJobs(e){let t=Si(Qe(ne.status,Ue.PENDING),Qe(ne.status,Ue.PROCESSING)),r=e&&e.length>0?Et(t,ys(ne.type,e)):t;return this.db.select().from(ne).where(r).orderBy(Na(ne.createdAt))}async getRecentJobs(e,t=20){let r=e&&e.length>0?ys(ne.type,e):void 0;return this.db.select().from(ne).where(r).orderBy(Na(ne.createdAt)).limit(t)}async getFailedJobs(e){let t=Qe(ne.status,Ue.FAILED),r=e&&e.length>0?Et(t,ys(ne.type,e)):t;return this.db.select().from(ne).where(r).orderBy(Na(ne.createdAt))}async claimNextReady(e){let{now:t,attemptId:r,workerSlotId:i,workerSessionId:n,leaseDurationMs:o,executableTypes:s,exclusiveTypes:a=[]}=e,c=this.db.select({slotId:pt.slotId}).from(pt).where(Et(Qe(pt.slotId,i),Qe(pt.sessionId,n),ap(pt.expiresAt,t))),l=this.db.select({slotId:pt.slotId}).from(pt).where(Et(Qe(pt.slotId,ne.workerSlotId),Qe(pt.sessionId,ne.workerSessionId))),u=Et(Qe(ne.status,Ue.PROCESSING),Si(_n(ne.attemptId),cp(l),eu(ne.leaseExpiresAt,t))),f=qK(ne,"running"),p=this.db.select({id:f.id}).from(f).where(Et(Qe(f.type,ne.type),Qe(f.status,Ue.PROCESSING),ap(f.leaseExpiresAt,t),U`${f.id} <> ${ne.id}`)),m=a.length===0?void 0:Si(Pb(ne.type,[...a]),cp(p)),y=U`${ne.status} = ${Ue.PROCESSING} AND ${ne.retryCount} + 1 > ${ne.maxRetries}`,g=this.db.select({id:ne.id}).from(ne).where(Et(ys(ne.type,s),m,Si(Et(Qe(ne.status,Ue.PENDING),eu(ne.scheduledFor,t)),u))).orderBy(to(ne.priority),to(ne.createdAt)).limit(1),_=(await this.write("claim",async()=>this.db.update(ne).set({status:U`CASE WHEN ${y} THEN ${Ue.FAILED} ELSE ${Ue.PROCESSING} END`,retryCount:U`CASE WHEN ${ne.status} = ${Ue.PROCESSING} THEN ${ne.retryCount} + 1 ELSE ${ne.retryCount} END`,lastError:U`CASE WHEN ${ne.status} = ${Ue.PROCESSING} THEN 'Attempt lease expired' ELSE ${ne.lastError} END`,startedAt:U`CASE WHEN ${y} THEN ${ne.startedAt} ELSE ${t} END`,completedAt:U`CASE WHEN ${y} THEN ${t} ELSE NULL END`,attemptId:U`CASE WHEN ${y} THEN ${ne.attemptId} ELSE ${r} END`,workerSlotId:U`CASE WHEN ${y} THEN ${ne.workerSlotId} ELSE ${i} END`,workerSessionId:U`CASE WHEN ${y} THEN ${ne.workerSessionId} ELSE ${n} END`,leaseExpiresAt:U`CASE WHEN ${y} THEN ${ne.leaseExpiresAt} ELSE ${t+o} END`,attemptHeartbeatAt:U`CASE WHEN ${y} THEN ${ne.attemptHeartbeatAt} ELSE ${t} END`,runtimeUpdatedAt:U`CASE WHEN ${y} THEN ${this.nextRuntimeUpdatedAt(t)} ELSE ${ne.runtimeUpdatedAt} END`}).where(Et(ys(ne.id,g),zb(c))).returning()))[0];if(!_)return null;if(_.status===Ue.FAILED)return _;return this.logger.debug("Job claimed",{jobId:_.id,attemptId:_.attemptId,workerSlotId:i,workerSessionId:n}),_}nextRuntimeUpdatedAt(e){return U`max(${e}, coalesce((select max(${ne.runtimeUpdatedAt}) from ${ne}), 0) + 1)`}attemptWriteGuard(e,t){return t?Et(Qe(ne.id,e),Qe(ne.status,Ue.PROCESSING),Qe(ne.attemptId,t)):Et(Qe(ne.id,e),_n(ne.attemptId),Si(Qe(ne.status,Ue.PENDING),Qe(ne.status,Ue.PROCESSING)))}}var _Se=2000,kSe=5,ESe=40,ISe,TSe;var nJ=S(()=>{UC();Vb();qC();Ae();os();Of();rJ();ISe=d.number().int().min(0).max(1000),TSe=new MC});import{AsyncLocalStorage as ASe}from"async_hooks";class xp{storage=new ASe;static createFresh(){return new xp}constructor(){}current(){return this.storage.getStore()}run(e,t,r){if(t.length===0)throw Error("Operation ID must not be empty");let i=Go.parse(e),n=$Se(i);return this.storage.run(Object.freeze({provenance:n,operationId:t}),r)}}function $Se(e){if(Object.freeze(e.projectionLineage),e.sourceEntity)Object.freeze(e.sourceEntity);return Object.freeze(e)}var KC=S(()=>{pi()});class wp{client;logger;handlerRegistry;repository;walInitialization=null;walInitializationSettled=!1;closeRequested=!1;clientClosed=!1;inFlightEnqueues=0;databaseUrl;operationContext;projectionAdmission;directWorkerSlotId=`direct:${Wi()}`;directWorkerSessionId=Wi();directLeaseDurationMs;directSessionStart=null;close(){this.closeRequested=!0,this.closeClientWhenReady()}static createFresh(e,t,r){return new wp(e,t??on.getInstance(),r)}constructor(e,t,r){let{db:i,client:n,url:o}=eJ(e);this.client=n,this.databaseUrl=o,this.logger=t.child("JobQueueService"),this.operationContext=r?.operationContext??xp.createFresh(),this.projectionAdmission=r?.projectionAdmission,this.handlerRegistry=new ZC(this.logger,r?.handlerRegistrationMode??"combined"),this.repository=new HC(i,n,o,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 eS(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:i}=e,n=this.handlerRegistry.getValidator(t);if(!n)throw Error(`No job type declared: ${t}`);let o=n.validateAndParse(r);if(o===null)throw Error(`Invalid job data for type: ${t}`);let s=Date.now(),a=Wi(),c=i?.rootJobId??(i?.detached?a:this.operationContext.current()?.provenance.rootJobId)??a,l=this.createJobProvenance(a,c,i),u=i?.metadata??{operationType:"data_processing"},{provenance:f,...p}=u,m={id:a,type:t,data:JSON.stringify(o),status:Ue.PENDING,priority:i?.priority??0,maxRetries:i?.maxRetries??3,retryCount:0,source:i?.source??null,metadata:{...p,...i?.deduplicationKey&&{deduplicationKey:i.deduplicationKey},rootJobId:c,provenance:l},createdAt:s,scheduledFor:i?.delayMs?s+i.delayMs:s,result:null,lastError:null,startedAt:null,completedAt:null},y,g=()=>{y?.rollback(),y=void 0};try{let b=await this.repository.enqueueAtomic({jobData:m,strategy:i?.deduplication,deduplicationKey:i?.deduplicationKey,beforeInsert:async()=>{y=await this.projectionAdmission?.reserveJobAdmission(l)},onInsertRollback:g});if(y?.commit(),y=void 0,b.kind==="skipped")this.logger.debug("Skipping duplicate job (already pending)",{type:t,existingJobId:b.jobId});else if(b.kind==="coalesced")this.logger.debug("Coalescing with existing job",{type:t,existingJobId:b.jobId});else{if(b.kind==="replaced")this.logger.debug("Replacing duplicate job",{type:t,oldJobId:b.replacedJobId});this.logger.debug("Job enqueued",{id:b.jobId,type:t,priority:m.priority,rootJobId:m.metadata.rootJobId})}return b.jobId}catch(b){throw g(),this.logger.error("Failed to enqueue job",{type:t,error:at(b)}),b}}createJobProvenance(e,t,r){let i=this.operationContext.current(),n=r?.metadata.provenance??i?.provenance,o=n?.rootJobId===t?n:void 0,s=i?.provenance.rootJobId===t?i.operationId:void 0,a=r?.projection,c=a?[...o?.projectionLineage??[],a.id]:[...o?.projectionLineage??[]],l=a?.id??o?.projectionId;return Go.parse({rootJobId:t,causationId:s??o?.causationId??e,...l?{projectionId:l}:{},projectionLineage:c,...a?.sourceEntity?{sourceEntity:a.sourceEntity}:o?.sourceEntity?{sourceEntity:o.sourceEntity}:{},derivationDepth:c.length})}async dequeue(e){let t=this.handlerRegistry.getRegisteredTypes();if(t.length===0)return null;let{onTerminalReclaim:r,...i}=e??await this.getDirectClaimOptions(),n=Date.now(),o=await this.repository.claimNextReady({...i,now:n,attemptId:Wi(),executableTypes:t,exclusiveTypes:this.handlerRegistry.getExclusiveTypes()});if(!o)return null;if(o.status===Ue.FAILED)return this.logger.warn("Expired attempt failed terminally on reclaim",{id:o.id,type:o.type,retryCount:o.retryCount}),await r?.(o),null;return this.logger.debug("Job dequeued",{id:o.id,type:o.type,priority:o.priority,retryCount:o.retryCount,attemptId:o.attemptId,workerSlotId:o.workerSlotId,workerSessionId:o.workerSessionId}),o}async startWorkerSession(e,t,r=is){await this.repository.startWorkerSession(e,t,Date.now(),r)}heartbeatWorkerSession(e,t,r=is){return this.repository.heartbeatWorkerSession(e,t,Date.now(),r)}endWorkerSession(e,t){return this.repository.endWorkerSession(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.directWorkerSlotId,this.directWorkerSessionId,Date.now(),this.directLeaseDurationMs),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,i=Date.now()+(e.timeoutMs??30000),n=async(o)=>{e.signal?.throwIfAborted();let{totals:s}=await this.getDiagnostics(),c=s.pending===0&&s.processing===0?o??Date.now():null;if(c!==null&&Date.now()-c>=t)return;if(Date.now()>=i)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 iJ=S(()=>{Cf();QA();Of();os();jC();tJ();nJ();pi();KC()});var JC=()=>{};var oJ=S(()=>{Cf();os();Of();os();JC();KC()});var sJ=S(()=>{os();JC()});var yWe;var aJ=S(()=>{pi();Ae();Rf();yWe=d.preprocess((e)=>{if(typeof e!=="string")return e;return JSON.parse(e)},d.record(d.string(),d.unknown()))});var xWe;var cJ=S(()=>{Ae();xWe=d.record(d.string(),d.unknown())});var lJ=S(()=>{pi();Cf()});var uJ=S(()=>{iJ();oJ();sJ();aJ();cJ();Of();os();Rf();lJ()});var VC={};Ht(VC,{LEGACY_PROJECTION_JOB_TYPES:()=>fJ,LEGACY_PROJECTION_RETIREMENT_REASON:()=>mJ,legacyProjectionJobTypeSchema:()=>pJ,retireLegacyProjectionJob:()=>jSe});import{existsSync as DSe}from"fs";import{resolve as LSe}from"path";function dJ(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 BSe(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 jSe(e){let t=LSe(e.databasePath);if(!DSe(t))throw Error(`Job database does not exist: ${t}`);let r=pJ.parse(e.jobType),i=wp.createFresh({url:`file:${t}`});try{let n=await i.getStatus(e.jobId);if(!n)throw Error(`Job not found: ${e.jobId}`);if(BSe(n,r),e.dryRun){if(e.confirmation!==void 0)throw Error("Dry-run recovery must not include confirmation");return{databasePath:t,job:dJ(n),retired:!1}}let o=`retire:${n.id}`;if(e.confirmation!==o)throw Error(`Refusing to retire ${n.id}; expected --confirm ${o}`);let s=await i.retireUnownedActiveJob({jobId:n.id,expectedType:r,reason:mJ,now:e.now?.()??Date.now()});if(!s)throw Error(`Job ${n.id} changed or acquired ownership before retirement`);return{databasePath:t,job:dJ(s),retired:!0}}finally{i.close()}}var fJ,pJ,mJ="Retired legacy projection job superseded by scheduler-owned projections";var WC=S(()=>{uJ();Ae();fJ=["conversation-memory:project","skill:project","swot:derive","topic:project"],pJ=d.enum(fJ)});function Qt(e,t,r,i,n){return gJ.parse({id:e,operation:t,count:r,targetProbeCount:i,settleMs:n})}function xJ(e){return nS.parse(structuredClone(FSe[e]))}function iS(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 QC(e,t={}){let r=t.fetchImpl??fetch,i=t.now??(()=>new Date),n=t.timeoutMs??20000,o=i(),s=new AbortController,a=setTimeout(()=>s.abort(),n);try{let c=await r(e,{method:"GET",signal:s.signal});return await c.arrayBuffer(),GC.parse({timestamp:o.toISOString(),endpoint:new URL(e).pathname,status:c.status,durationMs:Math.max(0,i().getTime()-o.getTime()),ok:c.ok})}catch(c){return GC.parse({timestamp:o.toISOString(),endpoint:new URL(e).pathname,status:0,durationMs:Math.max(0,i().getTime()-o.getTime()),ok:!1,error:KSe(c)})}finally{clearTimeout(a)}}async function wJ(e,t){let r=nS.parse(e),i=[],n,o=await t.prepare(r),s,a;try{try{await t.startMonitoring()}catch(c){n=`monitor: ${tS(c)}`}if(!n)for(let c of r.phases)try{let l=yJ.parse(await t.executePhase(c,o));if(i.push(l),!l.success){n=`${c.id}: ${l.error??"phase failed"}`;break}}catch(l){let u=tS(l);i.push({id:c.id,operation:c.operation,count:c.count,success:!1,error:u}),n=`${c.id}: ${u}`;break}}finally{try{if(s=bJ.parse(await t.cleanup(o)),!s.success&&!n)n=s.error??"cleanup failed"}catch(c){let l=tS(c);s={success:!1,probesRemaining:0,error:l},n??=`cleanup: ${l}`}try{a=SJ.parse(await t.stopMonitoring())}catch(c){let l=tS(c);a={health:[],runtime:[]},n??=`monitor: ${l}`}}return n??=HSe(a,r.maximumExternalAiCalls??0),MSe.parse({profile:r.profile,success:n===void 0&&i.length===r.phases.length&&s.success,baseline:o,phases:i,cleanup:s,metrics:a,...n?{failure:n}:{}})}function HSe(e,t=0){let r=e.health.find((o)=>!o.ok);if(r)return`health: ${r.endpoint} unavailable`;let i=e.externalAiCalls??0;if(i>t)return t===0?`external AI: observed ${i} call(s)`:`external AI: observed ${i} 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 KSe(e){if(e instanceof Error)return`${e.name}: ${e.message}`;return String(e)}function tS(e){return at(e)}var rS,hJ,gJ,nS,USe,GC,qSe,yJ,bJ,ZSe,SJ,MSe,FSe;var YC=S(()=>{Ae();rS=d.enum(["regression","load","stress"]),hJ=d.enum(["add","update","rename","delete"]),gJ=d.object({id:d.string().min(1),operation:hJ,count:d.number().int().positive().max(700),targetProbeCount:d.number().int().min(0).max(700),settleMs:d.number().int().nonnegative().max(300000)}),nS=d.object({profile:rS,maximumProbeCount:d.number().int().positive().max(700),maximumExternalAiCalls:d.number().int().nonnegative().max(1e4).optional(),phases:d.array(gJ).min(1)}),USe=d.object({entities:d.number().int().nonnegative(),notes:d.number().int().nonnegative(),version:d.string().min(1)}),GC=d.object({timestamp:d.iso.datetime(),endpoint:d.string().startsWith("/"),status:d.number().int().nonnegative(),durationMs:d.number().nonnegative(),ok:d.boolean(),error:d.string().optional()}),qSe=d.object({timestamp:d.iso.datetime(),cpuPercent:d.number().nonnegative(),memoryPercent:d.number().nonnegative(),pids:d.number().int().nonnegative()}),yJ=d.object({id:d.string().min(1),operation:hJ,count:d.number().int().positive(),success:d.boolean(),commitLatencyMs:d.number().nonnegative().optional(),persistenceLatencyMs:d.number().nonnegative().optional(),error:d.string().optional()}),bJ=d.object({success:d.boolean(),probesRemaining:d.number().int().nonnegative(),finalEntities:d.number().int().nonnegative().optional(),finalNotes:d.number().int().nonnegative().optional(),contentTreeRestored:d.boolean().optional(),error:d.string().optional()}),ZSe=d.object({status:d.string(),restartCount:d.number().int().nonnegative(),oomKilled:d.boolean()}),SJ=d.object({health:d.array(GC),runtime:d.array(qSe),externalAiCalls:d.number().int().nonnegative().optional(),container:ZSe.optional()}),MSe=d.object({profile:rS,success:d.boolean(),baseline:USe,phases:d.array(yJ),cleanup:bJ,metrics:SJ,failure:d.string().optional()}),FSe={regression:{profile:"regression",maximumProbeCount:20,phases:[Qt("add20","add",20,20,0),Qt("update20","update",20,20,30000),Qt("delete20","delete",20,0,150000)]},load:{profile:"load",maximumProbeCount:350,phases:[Qt("add50","add",50,50,0),Qt("add150","add",100,150,0),Qt("add350","add",200,350,0),Qt("update350a","update",350,350,45000),Qt("rename100","rename",100,350,45000),Qt("update350b","update",350,350,45000),Qt("delete350","delete",350,0,150000)]},stress:{profile:"stress",maximumProbeCount:700,phases:[Qt("add50","add",50,50,0),Qt("add150","add",100,150,0),Qt("add350","add",200,350,0),Qt("add700","add",350,700,0),Qt("update700a","update",700,700,45000),Qt("rename200","rename",200,700,45000),Qt("update700b","update",700,700,45000),Qt("delete700","delete",700,0,150000)]}}});import{spawn as JSe}from"child_process";async function vJ(e,t,r,i){let n=await e(t,r,i);if(n.exitCode!==0)throw wi(t,r,n);return n}function wi(e,t,r){let i=r.stderr.trim()||r.stdout.trim();return Error(`${e} ${t.join(" ")} exited with ${r.exitCode}${i?`: ${i}`:""}`)}var ao=async(e,t,r={})=>new Promise((i,n)=>{let o=JSe(e,[...t],{cwd:r.cwd,env:r.env?{...process.env,...r.env}:process.env,stdio:["pipe","pipe","pipe"]}),s="",a="";o.stdout.setEncoding("utf8"),o.stderr.setEncoding("utf8"),o.stdout.on("data",(c)=>{s+=c}),o.stderr.on("data",(c)=>{a+=c}),o.on("error",n),o.on("close",(c)=>{i({exitCode:c??1,stdout:s,stderr:a})}),o.stdin.end(r.stdin)});var vp=()=>{};class au{#e;#t;dir;constructor(e,t,r){this.#e=e,this.dir=t,this.#t=r}static async clone(e,t,r,i){let n=new au(e,r,i);return await vJ(e,"git",["-c","credential.helper=","-c",`credential.helper=${_J}`,"clone","--branch","main","--single-branch",`https://github.com/${t}.git`,r],{env:n.environment()}),await n.run(["config","--local","credential.helper",_J]),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 wi("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 _J='!f() { test "$1" = get && echo username=x-access-token && echo "password=$GH_TOKEN"; }; f';var kJ=S(()=>{vp()});function _p(e){return e.entityCounts.find((t)=>t.entityType==="note")?.count??0}class XC{#e;#t=[];#r=[];#n=new Set(["/health/ready"]);#i=!0;#o;#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 QC(`https://${this.#e.domain}${e}`,{fetchImpl:this.#e.fetchImpl,now:this.#e.now,timeoutMs:5000})).status!==404)this.#n.add(e)}start(){this.#i=!1,this.#a=void 0,this.#c=this.#t.length,this.#l=void 0,this.#s=this.#e.now().toISOString(),this.#o=Promise.all([this.#f(),this.#m()]).then(()=>{return}).catch((e)=>{this.#a=e,this.#i=!0})}async stop(){this.#i=!0,await this.#o}async waitForHealthSnapshot(e){return this.waitForEntityBaseline(void 0,void 0,e)}async waitForEntityBaseline(e,t,r){let i=this.#e.now().getTime();while(this.#e.now().getTime()-i<r){let n=await this.fetchHealthPayload();if(this.#d(n,e,t))return n;await this.#e.sleep(5000)}return}async waitForStableEntityBaseline(e,t,r){let i=this.#e.now().getTime(),n=0;while(this.#e.now().getTime()-i<r){let o=await this.fetchHealthPayload();if(this.#d(o,e,t)){if(n+=1,n===2)return o}else n=0;await this.#e.sleep(5000)}return}async fetchHealthPayload(){let e=this.#e.now(),t=new AbortController,r=setTimeout(()=>t.abort(),20000);try{let i=await this.#e.fetchImpl(`https://${this.#e.domain}/health/operate`,{signal:t.signal}),n=await i.text();if(this.#t.push({timestamp:e.toISOString(),endpoint:"/health/operate",status:i.status,durationMs:Math.max(0,this.#e.now().getTime()-e.getTime()),ok:i.ok}),!i.ok)return;return VSe.parse(JSON.parse(n)).app}catch(i){this.#t.push({timestamp:e.toISOString(),endpoint:"/health/operate",status:0,durationMs:Math.max(0,this.#e.now().getTime()-e.getTime()),ok:!1,error:i instanceof Error?`${i.name}: ${i.message}`:String(i)});return}finally{clearTimeout(r)}}#d(e,t,r){return e!==void 0&&(t===void 0||_p(e)===t)&&(r===void 0||e.entities===r)}async#f(){while(!this.#i){for(let e of this.#n)this.#t.push(await QC(`https://${this.#e.domain}${e}`,{fetchImpl:this.#e.fetchImpl,now:this.#e.now,timeoutMs:20000}));await this.#e.sleep(4000)}}async#m(){while(!this.#i){let e=await this.#e.sampleRuntime();if(e)this.#r.push(e);await this.#e.sleep(1000)}}}var VSe;var EJ=S(()=>{Ae();YC();VSe=d.object({status:d.literal("ready"),operationalStatus:d.literal("operational"),app:d.object({version:d.string(),entities:d.number().int().nonnegative(),entityCounts:d.array(d.object({entityType:d.string(),count:d.number().int().nonnegative()})).default([])})})});var oS={};Ht(oS,{applyDirectorySyncStressPhase:()=>$J,cleanupDirectorySyncStress:()=>ixe,listProbeFiles:()=>ja,parseStressRuntimeSample:()=>CJ,removeProbeFiles:()=>sR,runDeployedDirectorySyncStress:()=>rxe,runStressCommand:()=>ao,verifyDirectorySyncStressAccess:()=>nxe});import{chmod as WSe,mkdir as tR,mkdtemp as rR,readFile as GSe,readdir as QSe,rename as YSe,rm as Ep,writeFile as Kn}from"fs/promises";import{tmpdir as nR}from"os";import{join as St,resolve as iR}from"path";async function rxe(e){let t=e.now??(()=>new Date),r=t().toISOString(),i=aR(r),n=iR(e.artifactsDir??St(e.rootDir,".brains-ops","stress",i));await tR(n,{recursive:!0});let{pilot:o,user:s}=await oR(e.rootDir,e.handle);iS({handle:s.handle,domain:s.domain,contentRepo:s.contentRepo,confirmation:e.confirmation});let a=rS.parse(e.profile),c=e.plan?nS.parse(e.plan):xJ(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)AJ(s);let l=XSe.parse(e.env??process.env),u=new TJ({runId:i,artifactsDir:n,user:s,githubOrg:o.githubOrg,serverLabel:`${o.contentRepoPrefix}${s.handle}`,environment:l,fetchImpl:e.fetchImpl??fetch,commandRunner:e.commandRunner??ao,logger:e.logger??console.info,now:t,sleep:e.sleep??Bun.sleep}),f;try{f=await wJ(c,u)}finally{await u.dispose()}let p={runId:i,artifactsDir:n,target:{handle:s.handle,domain:s.domain,contentRepo:`${o.githubOrg}/${s.contentRepo}`},startedAt:r,completedAt:t().toISOString(),report:f};return await axe(p),p}async function nxe(e){let r=(e.now??(()=>new Date))().toISOString(),i=aR(r),n=iR(e.artifactsDir??St(e.rootDir,".brains-ops","stress",`access-check-${i}`));await tR(n,{recursive:!0});let{pilot:o,user:s}=await oR(e.rootDir,e.handle);iS({handle:s.handle,domain:s.domain,contentRepo:s.contentRepo,confirmation:e.confirmation}),AJ(s);let a=(e.env??process.env).CONTENT_REPO_ADMIN_TOKEN;if(!a)throw Error("Missing CONTENT_REPO_ADMIN_TOKEN");let c=await rR(St(nR(),"brains-ops-directory-sync-access-check-"));try{let l=await au.clone(e.commandRunner??ao,`${o.githubOrg}/${s.contentRepo}`,St(c,"content"),a),u=await l.output(["rev-parse","HEAD"]);await l.run(["push","--dry-run","origin",`HEAD:refs/heads/ops/directory-sync-stress-access-check-${i}`]);let f={success:!0,artifactsDir:n,checkedAt:r,remoteHead:u,target:{handle:s.handle,domain:s.domain,contentRepo:`${o.githubOrg}/${s.contentRepo}`}};return await Kn(St(n,"access-check.json"),`${JSON.stringify(f,null,2)}
|
|
411
411
|
`),f}finally{await Ep(c,{recursive:!0,force:!0})}}async function ixe(e){let t=e.now??(()=>new Date),r=iR(e.artifactsDir??St(e.rootDir,".brains-ops","stress",`cleanup-${aR(t().toISOString())}`));await tR(r,{recursive:!0});let{pilot:i,user:n}=await oR(e.rootDir,e.handle);iS({handle:n.handle,domain:n.domain,contentRepo:n.contentRepo,confirmation:e.confirmation});let o=(e.env??process.env).CONTENT_REPO_ADMIN_TOKEN;if(!o)throw Error("Missing CONTENT_REPO_ADMIN_TOKEN");let s=e.commandRunner??ao,a=e.logger??console.info,c=await rR(St(nR(),"brains-ops-directory-sync-cleanup-")),l=St(c,"content");try{let u=await au.clone(s,`${i.githubOrg}/${n.contentRepo}`,l,o),f=await sR(u.dir),p;if(f>0)await u.commitAll("test(directory-sync): clean residual stress probes"),await u.pushMainWithRebase(),p=await u.output(["rev-parse","HEAD"]),a(`Removed ${f} directory-sync stress probes`);let m=(await ja(u.dir)).length,y=m===0?await u.pruneStressBackupBranches():[],g={success:m===0,artifactsDir:r,probesRemoved:f,probesRemaining:m,backupBranchesDeleted:y,...p?{cleanupCommit:p}:{}};return await Kn(St(r,"cleanup.json"),`${JSON.stringify(g,null,2)}
|
|
412
412
|
`),g}finally{await Ep(c,{recursive:!0,force:!0})}}class TJ{#e;#t;#r;#n;#i;#o;#a;#s;#c;#l;#d;constructor(e){this.#e=e,this.#t=new XC({domain:e.user.domain,fetchImpl:e.fetchImpl,now:e.now,sleep:e.sleep,sampleRuntime:()=>this.#y()})}async prepare(e){this.#r=await rR(St(nR(),"brains-ops-directory-sync-stress-"));let t=St(this.#r,"content");this.#i=St(this.#r,"id_ed25519"),this.#o=St(this.#r,"known_hosts"),this.#a=await this.#m(),await Kn(this.#i,sxe(this.#e.environment.KAMAL_SSH_PRIVATE_KEY),{mode:384}),await WSe(this.#i,384);let r=await this.#b("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 Kn(this.#o,r.stdout,{mode:384});let i=await this.#h(["docker","ps","--filter","label=service=rover","--filter","label=role=web","--format","{{.Names}}"]);if(this.#s=i.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 au.clone(this.#e.commandRunner,`${this.#e.githubOrg}/${this.#e.user.contentRepo}`,t,this.#e.environment.CONTENT_REPO_ADMIN_TOKEN);if(this.#n=n,(await ja(n.dir)).length>0)throw Error("Directory-sync stress probes already exist");let o=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 Kn(St(this.#e.artifactsDir,"state.json"),`${JSON.stringify({runId:this.#e.runId,profile:e.profile,originalHead:o,originalTree:this.#l,backupBranch:this.#c,baseline:{entities:s.entities,notes:_p(s),version:s.version}},null,2)}
|
|
413
413
|
`),this.#e.logger(`Prepared ${e.profile} directory-sync stress run for ${this.#e.user.handle}`),{entities:s.entities,notes:_p(s),version:s.version}}async startMonitoring(){this.#S(),this.#t.start()}async executePhase(e,t){this.#S();let r=this.#n;if(!r)throw Error("Directory-sync stress checkout is not prepared");await r.sync();let i=this.#t.healthSamples.length,n=this.#e.now().getTime(),o=await this.#g();if(o?.pending!==0||o.processing!==0)return cu(e,"health did not provide a drained queue before the phase");await $J(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 cu(e,"runtime did not pull the phase commit");let l;if(e.operation==="rename"){let m=t.notes+e.targetProbeCount;if(e.settleMs>0)await this.#e.sleep(e.settleMs);let y=await this.#t.waitForStableEntityBaseline(m,void 0,1200000);if(l=this.#e.now().getTime()-s,!y)return cu(e,`health did not stabilize at ${m} notes`,c,l)}else if(e.operation==="add"||e.operation==="delete"){let m=t.notes+e.targetProbeCount,y=this.#e.now().getTime(),g=await this.#t.waitForEntityBaseline(m,void 0,1200000);if(l=this.#e.now().getTime()-y,!g)return cu(e,`health did not reach ${m} notes`,c,l)}if(e.operation!=="rename"&&e.settleMs>0)await this.#e.sleep(e.settleMs);let u=e.operation==="delete"?0:Math.ceil(e.count/50);if(!await this.#u(o.completedImports+u,1200000))return cu(e,`health did not observe ${u} completed import job(s) with a drained queue`,c,l);let p=this.#t.healthSamples.slice(i).find((m)=>!m.ok);if(p)return cu(e,`${p.endpoint} unavailable (${p.status===0?p.error??"unknown":p.status})`,c,l);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,...l===void 0?{}:{persistenceLatencyMs:l}}}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 sR(t.dir)>0)await t.commitAll("test(directory-sync): remove stress probes"),await t.pushMainWithRebase();let i=(await ja(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=i===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:i,...n?{finalEntities:n.entities,finalNotes:_p(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 ja(t.dir)).length,error:at(r)}}}async stopMonitoring(){await this.#t.stop(),await Kn(St(this.#e.artifactsDir,"health-samples.json"),`${JSON.stringify(this.#t.healthSamples,null,2)}
|
|
@@ -721,7 +721,7 @@ printf 'REMOTE_ARTIFACT_DIR=%s\\n' "$remote_dir"
|
|
|
721
721
|
`).replace(/\\n/g,`
|
|
722
722
|
`).trimEnd()}
|
|
723
723
|
`}var BJ,yxe;var pR=S(async()=>{Ae();zJ();zn();vp();await PJ();BJ=d.object({HCLOUD_TOKEN:d.string().min(1),KAMAL_SSH_PRIVATE_KEY:d.string().min(1)}),yxe=d.object({servers:d.array(d.object({status:d.string(),public_net:d.object({ipv4:d.object({ip:d.string().min(1)})})}))})});import{parseArgs as E9}from"util";function ht(e){return e}class Tp extends Error{constructor(e){super(e);this.name="CliUsageError"}}function I9(e,t){let r={...t};for(let i of e)for(let[n,o]of Object.entries(i.flags??{})){let s=r[n];if(s===void 0){r[n]=o;continue}if(s.type!==o.type||s.short!==o.short||s.default!==o.default)throw Error(`Conflicting definitions for flag --${n}: commands must agree on type, short, and default`)}return r}function T9(e){let t={};for(let[r,i]of Object.entries(e))t[r]={type:i.type,...i.short!==void 0?{short:i.short}:{},...i.default!==void 0?{default:i.default}:{}};return t}function A9(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 gR(e,t){let r=I9(t.commands,t.globalFlags??{}),i,n;try{({values:i,positionals:n}=E9({args:e,options:T9(r),allowPositionals:!0,strict:t.strict??!0}))}catch(s){if(A9(s))throw new Tp(s.message.split(". ")[0]??s.message);throw s}if("help"in r&&i.help===!0)return{command:"help",args:[],flags:{help:!0}};if("version"in r&&i.version===!0)return{command:"version",args:[],flags:{version:!0}};let o={};for(let[s,a]of Object.entries(r)){let c=i[s];if(typeof c==="string"&&a.type==="string")o[s]=c;else if(typeof c==="boolean"&&a.type==="boolean")o[s]=c}return{command:n[0]??"help",args:n.slice(1),flags:o}}function yR(e){let t=e.reduce((r,i)=>Math.max(r,i.label.length),0);return e.map((r)=>` ${r.label.padEnd(t)} ${r.description}`)}function $9(e){return yR(e.map((t)=>({label:t.usage?`${t.name} ${t.usage}`:t.name,description:t.description})))}function C9(e,t){let r=t.type==="string"?` ${t.placeholder??"<value>"}`:"",i=t.short!==void 0?`, -${t.short}`:"";return`--${e}${r}${i}`}function bR(e){return yR(Object.entries(e).map(([t,r])=>({label:C9(t,r),description:r.description})))}function SR(e,t){return`Usage: ${e} ${t.name}${t.usage?` ${t.usage}`:""}`}function R9(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 O9(e){let t=[],r=new Map;for(let n of e){let o=n.flags??{};if(Object.keys(o).length===0)continue;let s=R9(o),a=r.get(s);if(a){a.names.push(n.name);continue}let c={names:[n.name],flags:o};r.set(s,c),t.push(c)}let i=[];for(let n of t)i.push("",`${n.names.join(" / ")} options:`),i.push(...bR(n.flags));return i}function xR(e){let t=[e.intro,"",`Usage: ${e.cliName} ${e.usage??"<command> [args]"}`,"","Commands:",...$9(e.commands)];if(e.globalFlags&&Object.keys(e.globalFlags).length>0)t.push("","Options:",...bR(e.globalFlags));return t.push(...O9(e.commands)),t.join(`
|
|
724
|
-
`)}function wR(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 ft(e,t){let r=e[t];return typeof r==="string"?r:void 0}function vs(e,t){let r=e[t];return typeof r==="boolean"?r:void 0}var Ap={name:"@rizom/ops",version:"0.2.0-alpha.601",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/auth-service":"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"};import{existsSync as aW,mkdirSync as cW,readFileSync as Qx,writeFileSync as Yx}from"fs";import{dirname as lW,join as Cz}from"path";function dS(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"&&"BYTES_PER_ELEMENT"in e&&e.BYTES_PER_ELEMENT===1}function At(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 Yt(e,t,r=""){let i=dS(e),n=e?.length,o=t!==void 0;if(!i||o&&n!==t){let s=r&&`"${r}" `,a=o?` of length ${t}`:"",c=i?`length=${n}`:`type=${typeof e}`,l=s+"expected Uint8Array"+a+", got "+c;if(!i)throw TypeError(l);throw RangeError(l)}return e}function ki(e){if(typeof e!=="function"||typeof e.create!=="function")throw TypeError("Hash must wrapped by utils.createHasher");if(At(e.outputLen),At(e.blockLen),e.outputLen<1)throw Error('"outputLen" must be >= 1');if(e.blockLen<1)throw Error('"blockLen" must be >= 1')}function Ma(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 $p(e,t){Yt(e,void 0,"digestInto() output");let r=t.outputLen;if(e.length<r)throw RangeError('"digestInto() output" expected to be of length >='+r)}function Cp(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function kr(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Fa(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function En(e,t){return e<<32-t|e>>>t}function Xe(e,t){return e<<t|e>>>32-t>>>0}var z9=(()=>new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68)();function N9(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function D9(e){for(let t=0;t<e.length;t++)e[t]=N9(e[t]);return e}var fS=z9?(e)=>e:D9,_R=(()=>typeof Uint8Array.from([]).toHex==="function"&&typeof Uint8Array.fromHex==="function")(),L9=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Rp(e){if(Yt(e),_R)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=L9[e[r]];return t}var _i={_0:48,_9:57,A:65,F:70,a:97,f:102};function vR(e){if(e>=_i._0&&e<=_i._9)return e-_i._0;if(e>=_i.A&&e<=_i.F)return e-(_i.A-10);if(e>=_i.a&&e<=_i.f)return e-(_i.a-10);return}function hu(e){if(typeof e!=="string")throw TypeError("hex string expected, got "+typeof e);if(_R)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 i=new Uint8Array(r);for(let n=0,o=0;n<r;n++,o+=2){let s=vR(e.charCodeAt(o)),a=vR(e.charCodeAt(o+1));if(s===void 0||a===void 0){let c=e[o]+e[o+1];throw RangeError('hex string expected, got non-hex character "'+c+'" at index '+o)}i[n]=s*16+a}return i}function B9(e){if(typeof e!=="string")throw TypeError("string expected");return new Uint8Array(new TextEncoder().encode(e))}function pS(e,t=""){if(typeof e==="string")return B9(e);return Yt(e,void 0,t)}function mS(...e){let t=0;for(let i=0;i<e.length;i++){let n=e[i];Yt(n),t+=n.length}let r=new Uint8Array(t);for(let i=0,n=0;i<e.length;i++){let o=e[i];r.set(o,n),n+=o.length}return r}function Op(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 hS(e,t={}){let r=(n,o)=>e(o).update(n).digest(),i=e(void 0);return r.outputLen=i.outputLen,r.blockLen=i.blockLen,r.canXOF=i.canXOF,r.create=(n)=>e(n),Object.assign(r,t),Object.freeze(r)}function Ei(e=32){At(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 gS=(e)=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,e])});class yS{oHash;iHash;blockLen;outputLen;canXOF=!1;finished=!1;destroyed=!1;constructor(e,t){if(ki(e),Yt(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,i=new Uint8Array(r);i.set(t.length>r?e.create().update(t).digest():t);for(let n=0;n<i.length;n++)i[n]^=54;this.iHash.update(i),this.oHash=e.create();for(let n=0;n<i.length;n++)i[n]^=106;this.oHash.update(i),kr(i)}update(e){return Ma(this),this.iHash.update(e),this}digestInto(e){Ma(this),$p(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:i,destroyed:n,blockLen:o,outputLen:s}=this;return e=e,e.finished=i,e.destroyed=n,e.blockLen=o,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 Vn=(()=>{let e=(t,r,i)=>new yS(t,r).update(i).digest();return e.create=(t,r)=>new yS(t,r),e})();function gu(e,t,r){if(ki(e),r===void 0)r=new Uint8Array(e.outputLen);return Vn(e,r,t)}var bS=Uint8Array.of(0),kR=Uint8Array.of();function SS(e,t,r,i=32){ki(e),At(i,"length"),Yt(t,void 0,"prk");let n=e.outputLen;if(t.length<n)throw Error('"prk" must be at least HashLen octets');if(i>255*n)throw Error("Length must be <= 255*HashLen");let o=Math.ceil(i/n);if(r===void 0)r=kR;else Yt(r,void 0,"info");let s=new Uint8Array(o*n),a=Vn.create(e,t),c=a._cloneInto(),l=new Uint8Array(a.outputLen);for(let u=0;u<o;u++)bS[0]=u+1,c.update(u===0?kR:l).update(r).update(bS).digestInto(l),s.set(l,n*u),a._cloneInto(c);return a.destroy(),c.destroy(),kr(l,bS),s.slice(0,i)}var lo=(e,t,r,i,n)=>SS(e,gu(e,t,r),i,n);function ER(e,t,r){return e&t^~e&r}function IR(e,t,r){return e&t^e&r^t&r}class Pp{blockLen;outputLen;canXOF=!1;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor(e,t,r,i){this.blockLen=e,this.outputLen=t,this.padOffset=r,this.isLE=i,this.buffer=new Uint8Array(e),this.view=Fa(this.buffer)}update(e){Ma(this),Yt(e);let{view:t,buffer:r,blockLen:i}=this,n=e.length;for(let o=0;o<n;){let s=Math.min(i-this.pos,n-o);if(s===i){let a=Fa(e);for(;i<=n-o;o+=i)this.process(a,o);continue}if(r.set(e.subarray(o,o+s),this.pos),this.pos+=s,o+=s,this.pos===i)this.process(t,0),this.pos=0}return this.length+=e.length,this.roundClean(),this}digestInto(e){Ma(this),$p(e,this),this.finished=!0;let{buffer:t,view:r,blockLen:i,isLE:n}=this,{pos:o}=this;if(t[o++]=128,kr(this.buffer.subarray(o)),this.padOffset>i-o)this.process(r,0),o=0;for(let u=o;u<i;u++)t[u]=0;r.setBigUint64(i-8,BigInt(this.length*8),n),this.process(r,0);let s=Fa(e),a=this.outputLen;if(a%4)throw Error("_sha2: outputLen must be aligned to 32bit");let c=a/4,l=this.get();if(c>l.length)throw Error("_sha2: outputLen bigger than state");for(let u=0;u<c;u++)s.setUint32(4*u,l[u],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:i,finished:n,destroyed:o,pos:s}=this;if(e.destroyed=o,e.finished=n,e.length=i,e.pos=s,i%t)e.buffer.set(r);return e}clone(){return this._cloneInto()}}var Ii=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var Xt=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var zp=BigInt(4294967295),TR=BigInt(32);function j9(e,t=!1){if(t)return{h:Number(e&zp),l:Number(e>>TR&zp)};return{h:Number(e>>TR&zp)|0,l:Number(e&zp)|0}}function AR(e,t=!1){let r=e.length,i=new Uint32Array(r),n=new Uint32Array(r);for(let o=0;o<r;o++){let{h:s,l:a}=j9(e[o],t);[i[o],n[o]]=[s,a]}return[i,n]}var xS=(e,t,r)=>e>>>r,wS=(e,t,r)=>e<<32-r|t>>>r,_s=(e,t,r)=>e>>>r|t<<32-r,ks=(e,t,r)=>e<<32-r|t>>>r,yu=(e,t,r)=>e<<64-r|t>>>r-32,bu=(e,t,r)=>e>>>r-32|t<<64-r;function Wn(e,t,r,i){let n=(t>>>0)+(i>>>0);return{h:e+r+(n/4294967296|0)|0,l:n|0}}var $R=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),CR=(e,t,r,i)=>t+r+i+(e/4294967296|0)|0,RR=(e,t,r,i)=>(e>>>0)+(t>>>0)+(r>>>0)+(i>>>0),OR=(e,t,r,i,n)=>t+r+i+n+(e/4294967296|0)|0,PR=(e,t,r,i,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(i>>>0)+(n>>>0),zR=(e,t,r,i,n,o)=>t+r+i+n+o+(e/4294967296|0)|0;var q9=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]),uo=new Uint32Array(64);class NR extends Pp{constructor(e){super(64,e,8,!1)}get(){let{A:e,B:t,C:r,D:i,E:n,F:o,G:s,H:a}=this;return[e,t,r,i,n,o,s,a]}set(e,t,r,i,n,o,s,a){this.A=e|0,this.B=t|0,this.C=r|0,this.D=i|0,this.E=n|0,this.F=o|0,this.G=s|0,this.H=a|0}process(e,t){for(let u=0;u<16;u++,t+=4)uo[u]=e.getUint32(t,!1);for(let u=16;u<64;u++){let f=uo[u-15],p=uo[u-2],m=En(f,7)^En(f,18)^f>>>3,y=En(p,17)^En(p,19)^p>>>10;uo[u]=y+uo[u-7]+m+uo[u-16]|0}let{A:r,B:i,C:n,D:o,E:s,F:a,G:c,H:l}=this;for(let u=0;u<64;u++){let f=En(s,6)^En(s,11)^En(s,25),p=l+f+ER(s,a,c)+q9[u]+uo[u]|0,y=(En(r,2)^En(r,13)^En(r,22))+IR(r,i,n)|0;l=c,c=a,a=s,s=o+p|0,o=n,n=i,i=r,r=p+y|0}r=r+this.A|0,i=i+this.B|0,n=n+this.C|0,o=o+this.D|0,s=s+this.E|0,a=a+this.F|0,c=c+this.G|0,l=l+this.H|0,this.set(r,i,n,o,s,a,c,l)}roundClean(){kr(uo)}destroy(){this.destroyed=!0,this.set(0,0,0,0,0,0,0,0),kr(this.buffer)}}class DR extends NR{A=Ii[0]|0;B=Ii[1]|0;C=Ii[2]|0;D=Ii[3]|0;E=Ii[4]|0;F=Ii[5]|0;G=Ii[6]|0;H=Ii[7]|0;constructor(){super(32)}}var LR=(()=>AR(["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))))(),Z9=(()=>LR[0])(),M9=(()=>LR[1])(),fo=new Uint32Array(80),po=new Uint32Array(80);class BR extends Pp{constructor(e){super(128,e,16,!1)}get(){let{Ah:e,Al:t,Bh:r,Bl:i,Ch:n,Cl:o,Dh:s,Dl:a,Eh:c,El:l,Fh:u,Fl:f,Gh:p,Gl:m,Hh:y,Hl:g}=this;return[e,t,r,i,n,o,s,a,c,l,u,f,p,m,y,g]}set(e,t,r,i,n,o,s,a,c,l,u,f,p,m,y,g){this.Ah=e|0,this.Al=t|0,this.Bh=r|0,this.Bl=i|0,this.Ch=n|0,this.Cl=o|0,this.Dh=s|0,this.Dl=a|0,this.Eh=c|0,this.El=l|0,this.Fh=u|0,this.Fl=f|0,this.Gh=p|0,this.Gl=m|0,this.Hh=y|0,this.Hl=g|0}process(e,t){for(let T=0;T<16;T++,t+=4)fo[T]=e.getUint32(t),po[T]=e.getUint32(t+=4);for(let T=16;T<80;T++){let A=fo[T-15]|0,z=po[T-15]|0,j=_s(A,z,1)^_s(A,z,8)^xS(A,z,7),E=ks(A,z,1)^ks(A,z,8)^wS(A,z,7),F=fo[T-2]|0,D=po[T-2]|0,H=_s(F,D,19)^yu(F,D,61)^xS(F,D,6),X=ks(F,D,19)^bu(F,D,61)^wS(F,D,6),Z=RR(E,X,po[T-7],po[T-16]),P=OR(Z,j,H,fo[T-7],fo[T-16]);fo[T]=P|0,po[T]=Z|0}let{Ah:r,Al:i,Bh:n,Bl:o,Ch:s,Cl:a,Dh:c,Dl:l,Eh:u,El:f,Fh:p,Fl:m,Gh:y,Gl:g,Hh:b,Hl:_}=this;for(let T=0;T<80;T++){let A=_s(u,f,14)^_s(u,f,18)^yu(u,f,41),z=ks(u,f,14)^ks(u,f,18)^bu(u,f,41),j=u&p^~u&y,E=f&m^~f&g,F=PR(_,z,E,M9[T],po[T]),D=zR(F,b,A,j,Z9[T],fo[T]),H=F|0,X=_s(r,i,28)^yu(r,i,34)^yu(r,i,39),Z=ks(r,i,28)^bu(r,i,34)^bu(r,i,39),P=r&n^r&s^n&s,N=i&o^i&a^o&a;b=y|0,_=g|0,y=p|0,g=m|0,p=u|0,m=f|0,{h:u,l:f}=Wn(c|0,l|0,D|0,H|0),c=s|0,l=a|0,s=n|0,a=o|0,n=r|0,o=i|0;let I=$R(H,Z,N);r=CR(I,D,X,P),i=I|0}({h:r,l:i}=Wn(this.Ah|0,this.Al|0,r|0,i|0)),{h:n,l:o}=Wn(this.Bh|0,this.Bl|0,n|0,o|0),{h:s,l:a}=Wn(this.Ch|0,this.Cl|0,s|0,a|0),{h:c,l}=Wn(this.Dh|0,this.Dl|0,c|0,l|0),{h:u,l:f}=Wn(this.Eh|0,this.El|0,u|0,f|0),{h:p,l:m}=Wn(this.Fh|0,this.Fl|0,p|0,m|0),{h:y,l:g}=Wn(this.Gh|0,this.Gl|0,y|0,g|0),{h:b,l:_}=Wn(this.Hh|0,this.Hl|0,b|0,_|0),this.set(r,i,n,o,s,a,c,l,u,f,p,m,y,g,b,_)}roundClean(){kr(fo,po)}destroy(){this.destroyed=!0,kr(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}class jR extends BR{Ah=Xt[0]|0;Al=Xt[1]|0;Bh=Xt[2]|0;Bl=Xt[3]|0;Ch=Xt[4]|0;Cl=Xt[5]|0;Dh=Xt[6]|0;Dl=Xt[7]|0;Eh=Xt[8]|0;El=Xt[9]|0;Fh=Xt[10]|0;Fl=Xt[11]|0;Gh=Xt[12]|0;Gl=Xt[13]|0;Hh=Xt[14]|0;Hl=Xt[15]|0;constructor(){super(64)}}var $t=hS(()=>new DR,gS(1));var Np=hS(()=>new jR,gS(3));/*! scure-base - MIT License (c) 2022 Paul Miller (paulmillr.com) */function Up(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"&&"BYTES_PER_ELEMENT"in e&&e.BYTES_PER_ELEMENT===1}function kS(e){if(!Up(e))throw TypeError("Uint8Array expected")}function FR(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 HR(e){if(typeof e!=="function")throw TypeError("function expected");return!0}function mo(e,t){if(typeof t!=="string")throw TypeError(`${e}: string expected`);return!0}function xu(e){if(typeof e!=="number")throw TypeError(`number expected, got ${typeof e}`);if(!Number.isSafeInteger(e))throw RangeError(`invalid integer: ${e}`)}function Lp(e){if(!Array.isArray(e))throw TypeError("array expected")}function Bp(e,t){if(!FR(!0,t))throw TypeError(`${e}: array of strings expected`)}function ES(e,t){if(!FR(!1,t))throw TypeError(`${e}: array of numbers expected`)}function Vr(...e){let t=(o)=>o,r=(o,s)=>(a)=>o(s(a)),i=e.map((o)=>o.encode).reduceRight(r,t),n=e.map((o)=>o.decode).reduce(r,t);return{encode:i,decode:n}}function Wr(e){let t=typeof e==="string"?e.split(""):e,r=t.length;Bp("alphabet",t);let i=new Map(t.map((n,o)=>[n,o]));return{encode:(n)=>(Lp(n),n.map((o)=>{if(!Number.isSafeInteger(o)||o<0||o>=r)throw Error(`alphabet.encode: digit index outside alphabet "${o}". Allowed: ${e}`);return t[o]})),decode:(n)=>(Lp(n),n.map((o)=>{mo("alphabet.decode",o);let s=i.get(o);if(s===void 0)throw Error(`Unknown letter: "${o}". Allowed: ${e}`);return s}))}}function Gr(e=""){return mo("join",e),{encode:(t)=>(Bp("join.decode",t),t.join(e)),decode:(t)=>(mo("join.decode",t),t.split(e))}}function qp(e,t="="){return xu(e),mo("padding",t),{encode(r){Bp("padding.encode",r);while(r.length*e%8)r.push(t);return r},decode(r){Bp("padding.decode",r);let i=r.length;if(i*e%8)throw Error("padding: invalid, string should have whole number of bytes");for(;i>0&&r[i-1]===t;i--)if((i-1)*e%8===0)throw Error("padding: invalid, string has too much padding");return r.slice(0,i)}}}function KR(e){return HR(e),{encode:(t)=>t,decode:(t)=>e(t)}}function UR(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(Lp(e),!e.length)return[];let i=0,n=[],o=Array.from(e,(a)=>{if(xu(a),a<0||a>=t)throw Error(`invalid integer: ${a}`);return a}),s=o.length;while(!0){let a=0,c=!0;for(let l=i;l<s;l++){let u=o[l],f=t*a,p=f+u;if(!Number.isSafeInteger(p)||f/t!==a||p-u!==f)throw Error("convertRadix: carry overflow");let m=p/r;a=p%r;let y=Math.floor(m);if(o[l]=y,!Number.isSafeInteger(y)||y*r+a!==p)throw Error("convertRadix: carry overflow");if(!c)continue;else if(!y)i=l;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 JR=(e,t)=>t===0?e:JR(t,e%t),jp=(e,t)=>e+(t-JR(e,t)),Dp=(()=>{let e=[];for(let t=0;t<40;t++)e.push(2**t);return e})();function vS(e,t,r,i){if(Lp(e),t<=0||t>32)throw RangeError(`convertRadix2: wrong from=${t}`);if(r<=0||r>32)throw RangeError(`convertRadix2: wrong to=${r}`);if(jp(t,r)>32)throw Error(`convertRadix2: carry overflow from=${t} to=${r} carryBits=${jp(t,r)}`);let n=0,o=0,s=Dp[t],a=Dp[r]-1,c=[];for(let l of e){if(xu(l),l>=s)throw Error(`convertRadix2: invalid data word=${l} from=${t}`);if(n=n<<t|l,o+t>32)throw Error(`convertRadix2: carry overflow pos=${o} from=${t}`);o+=t;for(;o>=r;o-=r)c.push((n>>o-r&a)>>>0);let u=Dp[o];if(u===void 0)throw Error("invalid carry");n&=u-1}if(n=n<<r-o&a,!i&&o>=t)throw Error("Excess padding");if(!i&&n>0)throw Error(`Non-zero padding: ${n}`);if(i&&o>0)c.push(n>>>0);return c}function F9(e){xu(e);let t=256;return{encode:(r)=>{if(!Up(r))throw TypeError("radix.encode input should be Uint8Array");return UR(Array.from(r),t,e)},decode:(r)=>(ES("radix.decode",r),Uint8Array.from(UR(r,e,t)))}}function cn(e,t=!1){if(xu(e),e<=0||e>32)throw RangeError("radix2: bits should be in (0..32]");if(jp(8,e)>32||jp(e,8)>32)throw RangeError("radix2: carry overflow");return{encode:(r)=>{if(!Up(r))throw TypeError("radix2.encode input should be Uint8Array");return vS(Array.from(r),8,e,!t)},decode:(r)=>(ES("radix2.decode",r),Uint8Array.from(vS(r,e,8,t)))}}function qR(e){return HR(e),function(...t){try{return e.apply(null,t)}catch(r){}}}var Fxe=Object.freeze(Vr(cn(4),Wr("0123456789ABCDEF"),Gr(""))),Hxe=Object.freeze(Vr(cn(5),Wr("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"),qp(5),Gr(""))),Kxe=Object.freeze(Vr(cn(5),Wr("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"),Gr(""))),Jxe=Object.freeze(Vr(cn(5),Wr("0123456789ABCDEFGHIJKLMNOPQRSTUV"),qp(5),Gr(""))),Vxe=Object.freeze(Vr(cn(5),Wr("0123456789ABCDEFGHIJKLMNOPQRSTUV"),Gr(""))),Wxe=Object.freeze(Vr(cn(5),Wr("0123456789ABCDEFGHJKMNPQRSTVWXYZ"),Gr(""),KR((e)=>e.toUpperCase().replace(/O/g,"0").replace(/[IL]/g,"1")))),VR=(()=>typeof Uint8Array.from([]).toBase64==="function"&&typeof Uint8Array.fromBase64==="function")(),H9=/[\t\n\f\r ]/,WR=(e,t)=>{mo("base64",e);let r=t?"base64url":"base64";if(e.length>0&&H9.test(e))throw Error("invalid base64");return Uint8Array.fromBase64(e,{alphabet:r,lastChunkHandling:"strict"})},IS=Object.freeze(VR?{encode(e){return kS(e),e.toBase64()},decode(e){return WR(e,!1)}}:Vr(cn(6),Wr("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),qp(6),Gr(""))),pr=Object.freeze(Vr(cn(6),Wr("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),Gr(""))),Gxe=Object.freeze(VR?{encode(e){return kS(e),e.toBase64({alphabet:"base64url"})},decode(e){return WR(e,!0)}}:Vr(cn(6),Wr("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),qp(6),Gr(""))),Qxe=Object.freeze(Vr(cn(6),Wr("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),Gr(""))),TS=(e)=>Vr(F9(58),Wr(e),Gr("")),Yxe=Object.freeze(TS("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz")),Xxe=Object.freeze(TS("123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ")),ewe=Object.freeze(TS("rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz"));var _S=Vr(Wr("qpzry9x8gf2tvdw0s3jn54khce6mua7l"),Gr("")),ZR=[996825010,642813549,513874426,1027748829,705979059];function Su(e){let t=e>>25,r=(e&33554431)<<5;for(let i=0;i<ZR.length;i++)if((t>>i&1)===1)r^=ZR[i];return r}function MR(e,t,r=1){let i=e.length,n=1;for(let o=0;o<i;o++){let s=e.charCodeAt(o);if(s<33||s>126)throw Error(`Invalid prefix (${e})`);n=Su(n)^s>>5}n=Su(n);for(let o=0;o<i;o++)n=Su(n)^e.charCodeAt(o)&31;for(let o of t)n=Su(n)^o;for(let o=0;o<6;o++)n=Su(n);return n^=r,_S.encode(vS([n%Dp[30]],30,5,!1))}function GR(e){let t=e==="bech32"?1:734539939,r=cn(5),i=r.decode,n=r.encode,o=qR(i);function s(f,p,m=90){if(mo("bech32.encode prefix",f),Up(p))p=Array.from(p);ES("bech32.encode",p);let y=f.length;if(y===0)throw TypeError(`Invalid prefix length ${y}`);let g=y+7+p.length;if(m!==!1&&g>m)throw TypeError(`Length ${g} exceeds limit ${m}`);let b=f.toLowerCase(),_=MR(b,p,t);return`${b}1${_S.encode(p)}${_}`}function a(f,p=90){mo("bech32.decode input",f);let m=f.length;if(m<8||p!==!1&&m>p)throw TypeError(`invalid string length: ${m} (${f}). Expected (8..${p})`);let y=f.toLowerCase();if(f!==y&&f!==f.toUpperCase())throw Error("String must be lowercase or uppercase");let g=y.lastIndexOf("1");if(g===0||g===-1)throw Error('Letter "1" must be present between prefix and data only');let b=y.slice(0,g),_=y.slice(g+1);if(_.length<6)throw Error("Data must be at least 6 characters long");let T=_S.decode(_).slice(0,-6),A=MR(b,T,t);if(!_.endsWith(A))throw Error(`Invalid checksum in ${f}: expected "${A}"`);return{prefix:b,words:T}}let c=qR(a);function l(f){let{prefix:p,words:m}=a(f,!1);return{prefix:p,words:m,bytes:i(m)}}function u(f,p){return s(f,n(p))}return{encode:s,decode:a,encodeFromBytes:u,decodeToBytes:l,decodeUnsafe:c,fromWords:i,fromWordsUnsafe:o,toWords:n}}var Qr=Object.freeze(GR("bech32")),twe=Object.freeze(GR("bech32m"));var K9=(()=>typeof Uint8Array.from([]).toHex==="function"&&typeof Uint8Array.fromHex==="function")(),J9={encode(e){return kS(e),e.toHex()},decode(e){return mo("hex",e),Uint8Array.fromHex(e)}},rwe=Object.freeze(K9?J9:Vr(cn(4),Wr("0123456789abcdef"),Gr(""),KR((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 W9(e,t,r,i){ki(e);let n=Op({dkLen:32,asyncTick:10},i),{c:o,dkLen:s,asyncTick:a}=n;if(At(o,"c"),At(s,"dkLen"),At(a,"asyncTick"),o<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=pS(t,"password"),l=pS(r,"salt"),u=new Uint8Array(s),f=Vn.create(e,c),p=f._cloneInto().update(l);return{c:o,dkLen:s,asyncTick:a,DK:u,PRF:f,PRFSalt:p}}function G9(e,t,r,i,n){if(e.destroy(),t.destroy(),i)i.destroy();return kr(n),r}function AS(e,t,r,i){let{c:n,dkLen:o,DK:s,PRF:a,PRFSalt:c}=W9(e,t,r,i),l,u=new Uint8Array(4),f=Fa(u),p=new Uint8Array(a.outputLen);for(let m=1,y=0;y<o;m++,y+=a.outputLen){let g=s.subarray(y,y+a.outputLen);f.setInt32(0,m,!1),(l=c._cloneInto(l)).update(u).digestInto(p),g.set(p.subarray(0,g.length));for(let b=1;b<n;b++){a._cloneInto(l).update(p).digestInto(p);for(let _=0;_<g.length;_++)g[_]^=p[_]}}return G9(a,c,s,l,p)}function QR(e,t,r,i,n,o){let s=e[t++]^r[i++],a=e[t++]^r[i++],c=e[t++]^r[i++],l=e[t++]^r[i++],u=e[t++]^r[i++],f=e[t++]^r[i++],p=e[t++]^r[i++],m=e[t++]^r[i++],y=e[t++]^r[i++],g=e[t++]^r[i++],b=e[t++]^r[i++],_=e[t++]^r[i++],T=e[t++]^r[i++],A=e[t++]^r[i++],z=e[t++]^r[i++],j=e[t++]^r[i++],E=s,F=a,D=c,H=l,X=u,Z=f,P=p,N=m,I=y,O=g,R=b,M=_,L=T,V=A,k=z,te=j;for(let ue=0;ue<8;ue+=2)X^=Xe(E+L|0,7),I^=Xe(X+E|0,9),L^=Xe(I+X|0,13),E^=Xe(L+I|0,18),O^=Xe(Z+F|0,7),V^=Xe(O+Z|0,9),F^=Xe(V+O|0,13),Z^=Xe(F+V|0,18),k^=Xe(R+P|0,7),D^=Xe(k+R|0,9),P^=Xe(D+k|0,13),R^=Xe(P+D|0,18),H^=Xe(te+M|0,7),N^=Xe(H+te|0,9),M^=Xe(N+H|0,13),te^=Xe(M+N|0,18),F^=Xe(E+H|0,7),D^=Xe(F+E|0,9),H^=Xe(D+F|0,13),E^=Xe(H+D|0,18),P^=Xe(Z+X|0,7),N^=Xe(P+Z|0,9),X^=Xe(N+P|0,13),Z^=Xe(X+N|0,18),M^=Xe(R+O|0,7),I^=Xe(M+R|0,9),O^=Xe(I+M|0,13),R^=Xe(O+I|0,18),L^=Xe(te+k|0,7),V^=Xe(L+te|0,9),k^=Xe(V+L|0,13),te^=Xe(k+V|0,18);n[o++]=s+E|0,n[o++]=a+F|0,n[o++]=c+D|0,n[o++]=l+H|0,n[o++]=u+X|0,n[o++]=f+Z|0,n[o++]=p+P|0,n[o++]=m+N|0,n[o++]=y+I|0,n[o++]=g+O|0,n[o++]=b+R|0,n[o++]=_+M|0,n[o++]=T+L|0,n[o++]=A+V|0,n[o++]=z+k|0,n[o++]=j+te|0}function $S(e,t,r,i,n){let o=i+0,s=i+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++,o+=16,t+=16){if(QR(r,s,e,t,r,o),a>0)s+=16;QR(r,o,e,t+=16,r,s)}}function Q9(e,t,r){let i=Op({dkLen:32,asyncTick:10,maxmem:1073742848},r),{N:n,r:o,p:s,dkLen:a,asyncTick:c,maxmem:l,onProgress:u}=i;if(At(n,"N"),At(o,"r"),At(s,"p"),At(a,"dkLen"),At(c,"asyncTick"),At(l,"maxmem"),u!==void 0&&typeof u!=="function")throw Error("progressCb must be a function");let f=128*o,p=f/4,m=Math.pow(2,32);if(n<=1||(n&n-1)!==0||n>m)throw Error('"N" expected a power of 2, and 2^1 <= N <= 2^32');if(s<1||s>(m-1)*32/f)throw Error('"p" expected integer 1..((2^32 - 1) * 32) / (128 * r)');if(a<1||a>(m-1)*32)throw Error('"dkLen" expected integer 1..(2^32 - 1) * 32');let y=f*(n+s+1);if(y>l)throw Error('"maxmem" limit was hit: memUsed(128*r*(N+p+1))='+y+", maxmem="+l);let g=AS($t,e,t,{c:1,dkLen:f*s}),b=Cp(g),_=Cp(new Uint8Array(f*n)),T=Cp(new Uint8Array(f)),A=()=>{};if(u){let z=2*n*s,j=Math.max(Math.floor(z/1e4),1),E=0;A=()=>{if(E++,u&&(!(E%j)||E===z))u(E/z)}}return{N:n,r:o,p:s,dkLen:a,blockSize32:p,V:_,B32:b,B:g,tmp:T,blockMixCb:A,asyncTick:c}}function Y9(e,t,r,i,n){let o=AS($t,e,r,{c:1,dkLen:t});return kr(r,i,n),o}function CS(e,t,r){let{N:i,r:n,p:o,dkLen:s,blockSize32:a,V:c,B32:l,B:u,tmp:f,blockMixCb:p}=Q9(e,t,r);fS(l);for(let m=0;m<o;m++){let y=a*m;for(let g=0;g<a;g++)c[g]=l[y+g];for(let g=0,b=0;g<i-1;g++)$S(c,b,c,b+=a,n),p();$S(c,(i-1)*a,l,y,n),p();for(let g=0;g<i;g++){let b=(l[y+a-16]&i-1)>>>0;for(let _=0;_<a;_++)f[_]=l[y+_]^c[b*a+_];$S(f,0,l,y,n),p()}}return fS(l),Y9(e,s,u,c,f)}/*! noble-ciphers - MIT License (c) 2023 Paul Miller (paulmillr.com) */function X9(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"&&"BYTES_PER_ELEMENT"in e&&e.BYTES_PER_ELEMENT===1}function Zp(e){if(typeof e!=="boolean")throw TypeError(`boolean expected, not ${e}`)}function Ha(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 jt(e,t,r=""){let i=X9(e),n=e?.length,o=t!==void 0;if(!i||o&&n!==t){let s=r&&`"${r}" `,a=o?` of length ${t}`:"",c=i?`length=${n}`:`type=${typeof e}`,l=s+"expected Uint8Array"+a+", got "+c;if(!i)throw TypeError(l);throw RangeError(l)}return e}function RS(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 YR(e,t,r=!1){jt(e,void 0,"output");let i=t.outputLen;if(e.length<i)throw RangeError("digestInto() expects output buffer of length at least "+i);if(r&&!Ka(e))throw Error("invalid output, must be aligned")}function Gn(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function In(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function eV(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}var Es=(()=>new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68)(),tV=(e)=>e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255;var rV=(e)=>{for(let t=0;t<e.length;t++)e[t]=tV(e[t]);return e},Ti=Es?(e)=>e:rV;function XR(e,t){if(t==null||typeof t!=="object")throw Error("options must be defined");return Object.assign(e,t)}function eO(e,t){if(e.length!==t.length)return!1;let r=0;for(let i=0;i<e.length;i++)r|=e[i]^t[i];return r===0}function tO(e,t,r){let i=t,n=r||(()=>[]),o=(a,c)=>i(c,...n(a)).update(a).digest(),s=i(new Uint8Array(e),...n(new Uint8Array(0)));return o.outputLen=s.outputLen,o.blockLen=s.blockLen,o.create=(a,...c)=>i(a,...c),o}var rO=(e,t)=>{function r(i,...n){if(jt(i,void 0,"key"),e.nonceLength!==void 0){let u=n[0];jt(u,e.varSizeNonce?void 0:e.nonceLength,"nonce")}let o=e.tagLength;if(o&&n[1]!==void 0)jt(n[1],void 0,"AAD");let s=t(i,...n),a=(u,f)=>{if(f!==void 0){if(u!==2)throw Error("cipher output not supported");jt(f,void 0,"output")}},c=!1;return{encrypt(u,f){if(c)throw Error("cannot encrypt() twice with same key + nonce");return c=!0,jt(u),a(s.encrypt.length,f),s.encrypt(u,f)},decrypt(u,f){if(jt(u),o&&u.length<o)throw Error('"ciphertext" expected length bigger than tagLength='+o);return a(s.decrypt.length,f),s.decrypt(u,f)}}}return Object.assign(r,e),r};function wu(e,t,r=!0){if(t===void 0)return new Uint8Array(e);if(jt(t,void 0,"output"),t.length!==e)throw Error('"output" expected Uint8Array of length '+e+", got: "+t.length);if(r&&!Ka(t))throw Error("invalid output, must be aligned");return t}function nO(e,t,r){Ha(e),Ha(t),Zp(r);let i=new Uint8Array(16),n=eV(i);return n.setBigUint64(0,BigInt(t),r),n.setBigUint64(8,BigInt(e),r),i}function Ka(e){return e.byteOffset%4===0}function Ja(e){return Uint8Array.from(jt(e))}var oO=(e)=>Uint8Array.from(e.split(""),(t)=>t.charCodeAt(0)),nV=(()=>Ti(Gn(oO("expand 16-byte k"))))(),iV=(()=>Ti(Gn(oO("expand 32-byte k"))))();function et(e,t){return e<<t|e>>>32-t}var vu=64,oV=16,OS=(()=>4294967295)(),iO=Uint32Array.of();function sV(e,t,r,i,n,o,s,a){let c=n.length,l=new Uint8Array(vu),u=Gn(l),f=Es&&Ka(n)&&Ka(o),p=f?Gn(n):iO,m=f?Gn(o):iO;if(!Es){for(let y=0;y<c;s++){if(e(t,r,i,u,s,a),Ti(u),s>=OS)throw Error("arx: counter overflow");let g=Math.min(vu,c-y);for(let b=0,_;b<g;b++)_=y+b,o[_]=n[_]^l[b];y+=g}return}for(let y=0;y<c;s++){if(e(t,r,i,u,s,a),s>=OS)throw Error("arx: counter overflow");let g=Math.min(vu,c-y);if(f&&g===vu){let b=y/4;if(y%4!==0)throw Error("arx: invalid block position");for(let _=0,T;_<oV;_++)T=b+_,m[T]=p[T]^u[_];y+=vu;continue}for(let b=0,_;b<g;b++)_=y+b,o[_]=n[_]^l[b];y+=g}}function sO(e,t){let{allowShortKeys:r,extendNonceFn:i,counterLength:n,counterRight:o,rounds:s}=XR({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},t);if(typeof e!=="function")throw Error("core must be a function");return Ha(n),Ha(s),Zp(o),Zp(r),(a,c,l,u,f=0)=>{jt(a,void 0,"key"),jt(c,void 0,"nonce"),jt(l,void 0,"data");let p=l.length;if(u=wu(p,u,!1),Ha(f),f<0||f>=OS)throw Error("arx: counter overflow");let m=[],y=a.length,g,b;if(y===32)m.push(g=Ja(a)),b=iV;else if(y===16&&r)g=new Uint8Array(32),g.set(a),g.set(a,16),b=nV,m.push(g);else throw jt(a,32,"arx key"),Error("invalid key size");if(!Es||!Ka(c))m.push(c=Ja(c));let _=Gn(g);if(i){if(c.length!==24)throw Error("arx: extended nonce must be 24 bytes");let z=c.subarray(0,16);if(Es)i(b,_,Gn(z),_);else{let j=Ti(Uint32Array.from(b));i(j,_,Gn(z),_),In(j),Ti(_)}c=c.subarray(16)}else if(!Es)Ti(_);let T=16-n;if(T!==c.length)throw Error(`arx: nonce must be ${T} or 16 bytes`);if(T!==12){let z=new Uint8Array(12);z.set(c,o?0:12-c.length),c=z,m.push(c)}let A=Ti(Gn(c));try{return sV(e,b,_,A,l,u,f,s),u}finally{In(...m)}}}function er(e,t){return e[t++]&255|(e[t++]&255)<<8}class aO{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=Ja(jt(e,32,"key"));let t=er(e,0),r=er(e,2),i=er(e,4),n=er(e,6),o=er(e,8),s=er(e,10),a=er(e,12),c=er(e,14);this.r[0]=t&8191,this.r[1]=(t>>>13|r<<3)&8191,this.r[2]=(r>>>10|i<<6)&7939,this.r[3]=(i>>>7|n<<9)&8191,this.r[4]=(n>>>4|o<<12)&255,this.r[5]=o>>>1&8190,this.r[6]=(o>>>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 l=0;l<8;l++)this.pad[l]=er(e,16+2*l)}process(e,t,r=!1){let i=r?0:2048,{h:n,r:o}=this,s=o[0],a=o[1],c=o[2],l=o[3],u=o[4],f=o[5],p=o[6],m=o[7],y=o[8],g=o[9],b=er(e,t+0),_=er(e,t+2),T=er(e,t+4),A=er(e,t+6),z=er(e,t+8),j=er(e,t+10),E=er(e,t+12),F=er(e,t+14),D=n[0]+(b&8191),H=n[1]+((b>>>13|_<<3)&8191),X=n[2]+((_>>>10|T<<6)&8191),Z=n[3]+((T>>>7|A<<9)&8191),P=n[4]+((A>>>4|z<<12)&8191),N=n[5]+(z>>>1&8191),I=n[6]+((z>>>14|j<<2)&8191),O=n[7]+((j>>>11|E<<5)&8191),R=n[8]+((E>>>8|F<<8)&8191),M=n[9]+(F>>>5|i),L=0,V=L+D*s+H*(5*g)+X*(5*y)+Z*(5*m)+P*(5*p);L=V>>>13,V&=8191,V+=N*(5*f)+I*(5*u)+O*(5*l)+R*(5*c)+M*(5*a),L+=V>>>13,V&=8191;let k=L+D*a+H*s+X*(5*g)+Z*(5*y)+P*(5*m);L=k>>>13,k&=8191,k+=N*(5*p)+I*(5*f)+O*(5*u)+R*(5*l)+M*(5*c),L+=k>>>13,k&=8191;let te=L+D*c+H*a+X*s+Z*(5*g)+P*(5*y);L=te>>>13,te&=8191,te+=N*(5*m)+I*(5*p)+O*(5*f)+R*(5*u)+M*(5*l),L+=te>>>13,te&=8191;let ue=L+D*l+H*c+X*a+Z*s+P*(5*g);L=ue>>>13,ue&=8191,ue+=N*(5*y)+I*(5*m)+O*(5*p)+R*(5*f)+M*(5*u),L+=ue>>>13,ue&=8191;let C=L+D*u+H*l+X*c+Z*a+P*s;L=C>>>13,C&=8191,C+=N*(5*g)+I*(5*y)+O*(5*m)+R*(5*p)+M*(5*f),L+=C>>>13,C&=8191;let be=L+D*f+H*u+X*l+Z*c+P*a;L=be>>>13,be&=8191,be+=N*s+I*(5*g)+O*(5*y)+R*(5*m)+M*(5*p),L+=be>>>13,be&=8191;let Ee=L+D*p+H*f+X*u+Z*l+P*c;L=Ee>>>13,Ee&=8191,Ee+=N*a+I*s+O*(5*g)+R*(5*y)+M*(5*m),L+=Ee>>>13,Ee&=8191;let Ce=L+D*m+H*p+X*f+Z*u+P*l;L=Ce>>>13,Ce&=8191,Ce+=N*c+I*a+O*s+R*(5*g)+M*(5*y),L+=Ce>>>13,Ce&=8191;let Re=L+D*y+H*m+X*p+Z*f+P*u;L=Re>>>13,Re&=8191,Re+=N*l+I*c+O*a+R*s+M*(5*g),L+=Re>>>13,Re&=8191;let _e=L+D*g+H*y+X*m+Z*p+P*f;L=_e>>>13,_e&=8191,_e+=N*u+I*l+O*c+R*a+M*s,L+=_e>>>13,_e&=8191,L=(L<<2)+L|0,L=L+V|0,V=L&8191,L=L>>>13,k+=L,n[0]=V,n[1]=k,n[2]=te,n[3]=ue,n[4]=C,n[5]=be,n[6]=Ee,n[7]=Ce,n[8]=Re,n[9]=_e}finalize(){let{h:e,pad:t}=this,r=new Uint16Array(10),i=e[1]>>>13;e[1]&=8191;for(let s=2;s<10;s++)e[s]+=i,i=e[s]>>>13,e[s]&=8191;e[0]+=i*5,i=e[0]>>>13,e[0]&=8191,e[1]+=i,i=e[1]>>>13,e[1]&=8191,e[2]+=i,r[0]=e[0]+5,i=r[0]>>>13,r[0]&=8191;for(let s=1;s<10;s++)r[s]=e[s]+i,i=r[s]>>>13,r[s]&=8191;r[9]-=8192;let n=(i^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 o=e[0]+t[0];e[0]=o&65535;for(let s=1;s<8;s++)o=(e[s]+t[s]|0)+(o>>>16)|0,e[s]=o&65535;In(r)}update(e){RS(this),jt(e),e=Ja(e);let{buffer:t,blockLen:r}=this,i=e.length;for(let n=0;n<i;){let o=Math.min(r-this.pos,i-n);if(o===r){for(;r<=i-n;n+=r)this.process(e,n);continue}if(t.set(e.subarray(n,n+o),this.pos),this.pos+=o,n+=o,this.pos===r)this.process(t,0,!1),this.pos=0}return this}destroy(){this.destroyed=!0,In(this.h,this.r,this.buffer,this.pad)}digestInto(e){RS(this),YR(e,this),this.finished=!0;let{buffer:t,h:r}=this,{pos:i}=this;if(i){t[i++]=1;for(;i<16;i++)t[i]=0;this.process(t,0,!0)}this.finalize();let n=0;for(let o=0;o<8;o++)e[n++]=r[o]>>>0,e[n++]=r[o]>>>8}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let r=e.slice(0,t);return this.destroy(),r}}var cO=tO(32,(e)=>new aO(e));function aV(e,t,r,i,n,o=20){let s=e[0],a=e[1],c=e[2],l=e[3],u=t[0],f=t[1],p=t[2],m=t[3],y=t[4],g=t[5],b=t[6],_=t[7],T=n,A=r[0],z=r[1],j=r[2],E=s,F=a,D=c,H=l,X=u,Z=f,P=p,N=m,I=y,O=g,R=b,M=_,L=T,V=A,k=z,te=j;for(let C=0;C<o;C+=2)E=E+X|0,L=et(L^E,16),I=I+L|0,X=et(X^I,12),E=E+X|0,L=et(L^E,8),I=I+L|0,X=et(X^I,7),F=F+Z|0,V=et(V^F,16),O=O+V|0,Z=et(Z^O,12),F=F+Z|0,V=et(V^F,8),O=O+V|0,Z=et(Z^O,7),D=D+P|0,k=et(k^D,16),R=R+k|0,P=et(P^R,12),D=D+P|0,k=et(k^D,8),R=R+k|0,P=et(P^R,7),H=H+N|0,te=et(te^H,16),M=M+te|0,N=et(N^M,12),H=H+N|0,te=et(te^H,8),M=M+te|0,N=et(N^M,7),E=E+Z|0,te=et(te^E,16),R=R+te|0,Z=et(Z^R,12),E=E+Z|0,te=et(te^E,8),R=R+te|0,Z=et(Z^R,7),F=F+P|0,L=et(L^F,16),M=M+L|0,P=et(P^M,12),F=F+P|0,L=et(L^F,8),M=M+L|0,P=et(P^M,7),D=D+N|0,V=et(V^D,16),I=I+V|0,N=et(N^I,12),D=D+N|0,V=et(V^D,8),I=I+V|0,N=et(N^I,7),H=H+X|0,k=et(k^H,16),O=O+k|0,X=et(X^O,12),H=H+X|0,k=et(k^H,8),O=O+k|0,X=et(X^O,7);let ue=0;i[ue++]=s+E|0,i[ue++]=a+F|0,i[ue++]=c+D|0,i[ue++]=l+H|0,i[ue++]=u+X|0,i[ue++]=f+Z|0,i[ue++]=p+P|0,i[ue++]=m+N|0,i[ue++]=y+I|0,i[ue++]=g+O|0,i[ue++]=b+R|0,i[ue++]=_+M|0,i[ue++]=T+L|0,i[ue++]=A+V|0,i[ue++]=z+k|0,i[ue++]=j+te|0}var cV=sO(aV,{counterRight:!1,counterLength:4,allowShortKeys:!1});var lV=new Uint8Array(16),lO=(e,t)=>{e.update(t);let r=t.length%16;if(r)e.update(lV.subarray(r))},uV=new Uint8Array(32);function uO(e,t,r,i,n){if(n!==void 0)jt(n,void 0,"AAD");let o=e(t,r,uV),s=nO(i.length,n?n.length:0,!0),a=cO.create(o);if(n)lO(a,n);lO(a,i),a.update(s);let c=a.digest();return In(o,s),c}var dV=(e)=>(t,r,i)=>({encrypt(o,s){let a=o.length;s=wu(a+16,s,!1),s.set(o);let c=s.subarray(0,-16);e(t,r,c,c,1);let l=uO(e,t,r,c,i);return s.set(l,a),In(l),s},decrypt(o,s){s=wu(o.length-16,s,!1);let a=o.subarray(0,-16),c=o.subarray(-16),l=uO(e,t,r,a,i);if(!eO(c,l))throw In(l),Error("invalid tag");return s.set(o.subarray(0,-16)),e(t,r,s,s,1),In(l),s}}),ln=rO({blockSize:64,nonceLength:12,tagLength:16},dV(cV));/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */function Va(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Kt(e,t=""){if(!Number.isSafeInteger(e)||e<0){let r=t&&`"${t}" `;throw Error(`${r}expected integer >= 0, got ${e}`)}}function Pe(e,t,r=""){let i=Va(e),n=e?.length,o=t!==void 0;if(!i||o&&n!==t){let s=r&&`"${r}" `,a=o?` of length ${t}`:"",c=i?`length=${n}`:`type=${typeof e}`;throw Error(s+"expected Uint8Array"+a+", got "+c)}return e}function un(e){if(typeof e!=="function"||typeof e.create!=="function")throw Error("Hash must wrapped by utils.createHasher");Kt(e.outputLen),Kt(e.blockLen)}function $i(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 Mp(e,t){Pe(e,void 0,"digestInto() output");let r=t.outputLen;if(e.length<r)throw Error('"digestInto() output" expected to be of length >='+r)}function Fp(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function Br(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Hp(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Tn(e,t){return e<<32-t|e>>>t}var fV=(()=>new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68)();function pV(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function mV(e){for(let t=0;t<e.length;t++)e[t]=pV(e[t]);return e}var PS=fV?(e)=>e:mV,fO=(()=>typeof Uint8Array.from([]).toHex==="function"&&typeof Uint8Array.fromHex==="function")(),hV=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Is(e){if(Pe(e),fO)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=hV[e[r]];return t}var Ai={_0:48,_9:57,A:65,F:70,a:97,f:102};function dO(e){if(e>=Ai._0&&e<=Ai._9)return e-Ai._0;if(e>=Ai.A&&e<=Ai.F)return e-(Ai.A-10);if(e>=Ai.a&&e<=Ai.f)return e-(Ai.a-10);return}function Ts(e){if(typeof e!=="string")throw Error("hex string expected, got "+typeof e);if(fO)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 i=new Uint8Array(r);for(let n=0,o=0;n<r;n++,o+=2){let s=dO(e.charCodeAt(o)),a=dO(e.charCodeAt(o+1));if(s===void 0||a===void 0){let c=e[o]+e[o+1];throw Error('hex string expected, got non-hex character "'+c+'" at index '+o)}i[n]=s*16+a}return i}function Nt(...e){let t=0;for(let i=0;i<e.length;i++){let n=e[i];Pe(n),t+=n.length}let r=new Uint8Array(t);for(let i=0,n=0;i<e.length;i++){let o=e[i];r.set(o,n),n+=o.length}return r}function Wa(e,t={}){let r=(n,o)=>e(o).update(n).digest(),i=e(void 0);return r.outputLen=i.outputLen,r.blockLen=i.blockLen,r.create=(n)=>e(n),Object.assign(r,t),Object.freeze(r)}function ho(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 go=(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 NS=BigInt(0),zS=BigInt(1);function _u(e,t=""){if(typeof e!=="boolean"){let r=t&&`"${t}" `;throw Error(r+"expected boolean, got type="+typeof e)}return e}function pO(e){if(typeof e==="bigint"){if(!Kp(e))throw Error("positive bigint expected, got "+e)}else Kt(e);return e}function ku(e){let t=pO(e).toString(16);return t.length&1?"0"+t:t}function mO(e){if(typeof e!=="string")throw Error("hex string expected, got "+typeof e);return e===""?NS:BigInt("0x"+e)}function yo(e){return mO(Is(e))}function bo(e){return mO(Is(Jp(Pe(e)).reverse()))}function Ga(e,t){Kt(t),e=pO(e);let r=Ts(e.toString(16).padStart(t*2,"0"));if(r.length!==t)throw Error("number too large");return r}function Eu(e,t){return Ga(e,t).reverse()}function Jp(e){return Uint8Array.from(e)}function So(e){return Uint8Array.from(e,(t,r)=>{let i=t.charCodeAt(0);if(t.length!==1||i>127)throw Error(`string contains non-ASCII character "${e[r]}" with code ${i} at position ${r}`);return i})}var Kp=(e)=>typeof e==="bigint"&&NS<=e;function gV(e,t,r){return Kp(e)&&Kp(t)&&Kp(r)&&t<=e&&e<r}function Iu(e,t,r,i){if(!gV(t,r,i))throw Error("expected valid "+e+": "+r+" <= n < "+i+", got "+t)}function DS(e){let t;for(t=0;e>NS;e>>=zS,t+=1);return t}var Tu=(e)=>(zS<<BigInt(e))-zS;function hO(e,t,r){if(Kt(e,"hashLen"),Kt(t,"qByteLen"),typeof r!=="function")throw Error("hmacFn must be a function");let i=(b)=>new Uint8Array(b),n=Uint8Array.of(),o=Uint8Array.of(0),s=Uint8Array.of(1),a=1000,c=i(e),l=i(e),u=0,f=()=>{c.fill(1),l.fill(0),u=0},p=(...b)=>r(l,Nt(c,...b)),m=(b=n)=>{if(l=p(o,b),c=p(),b.length===0)return;l=p(s,b),c=p()},y=()=>{if(u++>=a)throw Error("drbg: tried max amount of iterations");let b=0,_=[];while(b<t){c=p();let T=c.slice();_.push(T),b+=c.length}return Nt(..._)};return(b,_)=>{f(),m(b);let T=void 0;while(!(T=_(y())))m();return f(),T}}function As(e,t={},r={}){if(!e||typeof e!=="object")throw Error("expected valid options object");function i(o,s,a){let c=e[o];if(a&&c===void 0)return;let l=typeof c;if(l!==s||c===null)throw Error(`param "${o}" is invalid: expected ${s}, got ${l}`)}let n=(o,s)=>Object.entries(o).forEach(([a,c])=>i(a,c,s));n(t,!1),n(r,!0)}function LS(e){let t=new WeakMap;return(r,...i)=>{let n=t.get(r);if(n!==void 0)return n;let o=e(r,...i);return t.set(r,o),o}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var Ir=BigInt(0),mr=BigInt(1),$s=BigInt(2),bO=BigInt(3),SO=BigInt(4),xO=BigInt(5),yV=BigInt(7),wO=BigInt(8),bV=BigInt(9),vO=BigInt(16);function Er(e,t){let r=e%t;return r>=Ir?r:t+r}function dn(e,t,r){let i=e;while(t-- >Ir)i*=i,i%=r;return i}function gO(e,t){if(e===Ir)throw Error("invert: expected non-zero number");if(t<=Ir)throw Error("invert: expected positive modulus, got "+t);let r=Er(e,t),i=t,n=Ir,o=mr,s=mr,a=Ir;while(r!==Ir){let l=i/r,u=i%r,f=n-s*l,p=o-a*l;i=r,r=u,n=s,o=a,s=f,a=p}if(i!==mr)throw Error("invert: does not exist");return Er(n,t)}function BS(e,t,r){if(!e.eql(e.sqr(t),r))throw Error("Cannot find square root")}function _O(e,t){let r=(e.ORDER+mr)/SO,i=e.pow(t,r);return BS(e,i,t),i}function SV(e,t){let r=(e.ORDER-xO)/wO,i=e.mul(t,$s),n=e.pow(i,r),o=e.mul(t,n),s=e.mul(e.mul(o,$s),n),a=e.mul(o,e.sub(s,e.ONE));return BS(e,a,t),a}function xV(e){let t=Vp(e),r=kO(e),i=r(t,t.neg(t.ONE)),n=r(t,i),o=r(t,t.neg(i)),s=(e+yV)/vO;return(a,c)=>{let l=a.pow(c,s),u=a.mul(l,i),f=a.mul(l,n),p=a.mul(l,o),m=a.eql(a.sqr(u),c),y=a.eql(a.sqr(f),c);l=a.cmov(l,u,m),u=a.cmov(p,f,y);let g=a.eql(a.sqr(u),c),b=a.cmov(l,u,g);return BS(a,b,c),b}}function kO(e){if(e<bO)throw Error("sqrt is not defined for small field");let t=e-mr,r=0;while(t%$s===Ir)t/=$s,r++;let i=$s,n=Vp(e);while(yO(n,i)===1)if(i++>1000)throw Error("Cannot find square root: probably non-prime P");if(r===1)return _O;let o=n.pow(i,t),s=(t+mr)/$s;return function(c,l){if(c.is0(l))return l;if(yO(c,l)!==1)throw Error("Cannot find square root");let u=r,f=c.mul(c.ONE,o),p=c.pow(l,t),m=c.pow(l,s);while(!c.eql(p,c.ONE)){if(c.is0(p))return c.ZERO;let y=1,g=c.sqr(p);while(!c.eql(g,c.ONE))if(y++,g=c.sqr(g),y===u)throw Error("Cannot find square root");let b=mr<<BigInt(u-y-1),_=c.pow(f,b);u=y,f=c.sqr(_),p=c.mul(p,f),m=c.mul(m,_)}return m}}function wV(e){if(e%SO===bO)return _O;if(e%wO===xO)return SV;if(e%vO===bV)return xV(e);return kO(e)}var vV=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function jS(e){let t={ORDER:"bigint",BYTES:"number",BITS:"number"},r=vV.reduce((i,n)=>(i[n]="function",i),t);return As(e,r),e}function _V(e,t,r){if(r<Ir)throw Error("invalid exponent, negatives unsupported");if(r===Ir)return e.ONE;if(r===mr)return t;let i=e.ONE,n=t;while(r>Ir){if(r&mr)i=e.mul(i,n);n=e.sqr(n),r>>=mr}return i}function Au(e,t,r=!1){let i=Array(t.length).fill(r?e.ZERO:void 0),n=t.reduce((s,a,c)=>{if(e.is0(a))return s;return i[c]=s,e.mul(s,a)},e.ONE),o=e.inv(n);return t.reduceRight((s,a,c)=>{if(e.is0(a))return s;return i[c]=e.mul(s,i[c]),e.mul(s,a)},o),i}function yO(e,t){let r=(e.ORDER-mr)/$s,i=e.pow(t,r),n=e.eql(i,e.ONE),o=e.eql(i,e.ZERO),s=e.eql(i,e.neg(e.ONE));if(!n&&!o&&!s)throw Error("invalid Legendre symbol result");return n?1:o?0:-1}function kV(e,t){if(t!==void 0)Kt(t);let r=t!==void 0?t:e.toString(2).length,i=Math.ceil(r/8);return{nBitLength:r,nByteLength:i}}class EO{ORDER;BITS;BYTES;isLE;ZERO=Ir;ONE=mr;_lengths;_sqrt;_mod;constructor(e,t={}){if(e<=Ir)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:i,nByteLength:n}=kV(e,r);if(n>2048)throw Error("invalid field: expected ORDER of <= 2048 bytes");this.ORDER=e,this.BITS=i,this.BYTES=n,this._sqrt=void 0,Object.preventExtensions(this)}create(e){return Er(e,this.ORDER)}isValid(e){if(typeof e!=="bigint")throw Error("invalid field element: expected bigint, got "+typeof e);return Ir<=e&&e<this.ORDER}is0(e){return e===Ir}isValidNot0(e){return!this.is0(e)&&this.isValid(e)}isOdd(e){return(e&mr)===mr}neg(e){return Er(-e,this.ORDER)}eql(e,t){return e===t}sqr(e){return Er(e*e,this.ORDER)}add(e,t){return Er(e+t,this.ORDER)}sub(e,t){return Er(e-t,this.ORDER)}mul(e,t){return Er(e*t,this.ORDER)}pow(e,t){return _V(this,e,t)}div(e,t){return Er(e*gO(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 gO(e,this.ORDER)}sqrt(e){if(!this._sqrt)this._sqrt=wV(this.ORDER);return this._sqrt(this,e)}toBytes(e){return this.isLE?Eu(e,this.BYTES):Ga(e,this.BYTES)}fromBytes(e,t=!1){Pe(e);let{_lengths:r,BYTES:i,isLE:n,ORDER:o,_mod:s}=this;if(r){if(!r.includes(e.length)||e.length>i)throw Error("Field.fromBytes: expected "+r+" bytes, got "+e.length);let c=new Uint8Array(i);c.set(e,n?0:c.length-e.length),e=c}if(e.length!==i)throw Error("Field.fromBytes: expected "+i+" bytes, got "+e.length);let a=n?bo(e):yo(e);if(s)a=Er(a,o);if(!t){if(!this.isValid(a))throw Error("invalid field element: outside of range 0..ORDER")}return a}invertBatch(e){return Au(this,e)}cmov(e,t,r){return r?t:e}}function Vp(e,t={}){return new EO(e,t)}function IO(e){if(typeof e!=="bigint")throw Error("field order must be bigint");let t=e.toString(2).length;return Math.ceil(t/8)}function US(e){let t=IO(e);return t+Math.ceil(t/2)}function TO(e,t,r=!1){Pe(e);let i=e.length,n=IO(t),o=US(t);if(i<16||i<o||i>1024)throw Error("expected "+o+"-1024 bytes of input, got "+i);let s=r?bo(e):yo(e),a=Er(s,t-mr)+mr;return r?Eu(a,n):Ga(a,n)}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var Qa=BigInt(0),Cs=BigInt(1);function $u(e,t){let r=t.negate();return e?r:t}function FS(e,t){let r=Au(e.Fp,t.map((i)=>i.Z));return t.map((i,n)=>e.fromAffine(i.toAffine(r[n])))}function RO(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw Error("invalid window size, expected [1.."+t+"], got W="+e)}function qS(e,t){RO(e,t);let r=Math.ceil(t/e)+1,i=2**(e-1),n=2**e,o=Tu(e),s=BigInt(e);return{windows:r,windowSize:i,mask:o,maxNumber:n,shiftBy:s}}function AO(e,t,r){let{windowSize:i,mask:n,maxNumber:o,shiftBy:s}=r,a=Number(e&n),c=e>>s;if(a>i)a-=o,c+=Cs;let l=t*i,u=l+Math.abs(a)-1,f=a===0,p=a<0,m=t%2!==0;return{nextN:c,offset:u,isZero:f,isNeg:p,isNegF:m,offsetF:l}}var ZS=new WeakMap,OO=new WeakMap;function MS(e){return OO.get(e)||1}function $O(e){if(e!==Qa)throw Error("invalid wNAF")}class HS{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 i=e;while(t>Qa){if(t&Cs)r=r.add(i);i=i.double(),t>>=Cs}return r}precomputeWindow(e,t){let{windows:r,windowSize:i}=qS(t,this.bits),n=[],o=e,s=o;for(let a=0;a<r;a++){s=o,n.push(s);for(let c=1;c<i;c++)s=s.add(o),n.push(s);o=s.double()}return n}wNAF(e,t,r){if(!this.Fn.isValid(r))throw Error("invalid scalar");let i=this.ZERO,n=this.BASE,o=qS(e,this.bits);for(let s=0;s<o.windows;s++){let{nextN:a,offset:c,isZero:l,isNeg:u,isNegF:f,offsetF:p}=AO(r,s,o);if(r=a,l)n=n.add($u(f,t[p]));else i=i.add($u(u,t[c]))}return $O(r),{p:i,f:n}}wNAFUnsafe(e,t,r,i=this.ZERO){let n=qS(e,this.bits);for(let o=0;o<n.windows;o++){if(r===Qa)break;let{nextN:s,offset:a,isZero:c,isNeg:l}=AO(r,o,n);if(r=s,c)continue;else{let u=t[a];i=i.add(l?u.negate():u)}}return $O(r),i}getPrecomputes(e,t,r){let i=ZS.get(t);if(!i){if(i=this.precomputeWindow(t,e),e!==1){if(typeof r==="function")i=r(i);ZS.set(t,i)}}return i}cached(e,t,r){let i=MS(e);return this.wNAF(i,this.getPrecomputes(i,e,r),t)}unsafe(e,t,r,i){let n=MS(e);if(n===1)return this._unsafeLadder(e,t,i);return this.wNAFUnsafe(n,this.getPrecomputes(n,e,r),t,i)}createCache(e,t){RO(t,this.bits),OO.set(e,t),ZS.delete(e)}hasCache(e){return MS(e)!==1}}function PO(e,t,r,i){let n=t,o=e.ZERO,s=e.ZERO;while(r>Qa||i>Qa){if(r&Cs)o=o.add(n);if(i&Cs)s=s.add(n);n=n.double(),r>>=Cs,i>>=Cs}return{p1:o,p2:s}}function CO(e,t,r){if(t){if(t.ORDER!==e)throw Error("Field.ORDER must match order: Fp == p, Fn == n");return jS(t),t}else return Vp(e,{isLE:r})}function zO(e,t,r={},i){if(i===void 0)i=e==="edwards";if(!t||typeof t!=="object")throw Error(`expected valid ${e} CURVE object`);for(let c of["p","n","h"]){let l=t[c];if(!(typeof l==="bigint"&&l>Qa))throw Error(`CURVE.${c} must be positive bigint`)}let n=CO(t.p,r.Fp,i),o=CO(t.n,r.Fn,i),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:o}}function Wp(e,t){return function(i){let n=e(i);return{secretKey:n,publicKey:t(n)}}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var Cu=BigInt(0),Ya=BigInt(1),Gp=BigInt(2);function EV(e){return As(e,{adjustScalarBytes:"function",powPminus2:"function"}),Object.freeze({...e})}function NO(e){let t=EV(e),{P:r,type:i,adjustScalarBytes:n,powPminus2:o,randomBytes:s}=t,a=i==="x25519";if(!a&&i!=="x448")throw Error("invalid type");let c=s||ho,l=a?255:448,u=a?32:56,f=a?BigInt(9):BigInt(5),p=a?BigInt(121665):BigInt(39081),m=a?Gp**BigInt(254):Gp**BigInt(447),y=a?BigInt(8)*Gp**BigInt(251)-Ya:BigInt(4)*Gp**BigInt(445)-Ya,g=m+y+Ya,b=(I)=>Er(I,r),_=T(f);function T(I){return Eu(b(I),u)}function A(I){let O=Jp(Pe(I,u,"uCoordinate"));if(a)O[31]&=127;return b(bo(O))}function z(I){return bo(n(Jp(Pe(I,u,"scalar"))))}function j(I,O){let R=X(A(O),z(I));if(R===Cu)throw Error("invalid private or public key received");return T(R)}function E(I){return j(I,_)}let F=E,D=j;function H(I,O,R){let M=b(I*(O-R));return O=b(O-M),R=b(R+M),{x_2:O,x_3:R}}function X(I,O){Iu("u",I,Cu,r),Iu("scalar",O,m,g);let R=O,M=I,L=Ya,V=Cu,k=I,te=Ya,ue=Cu;for(let be=BigInt(l-1);be>=Cu;be--){let Ee=R>>be&Ya;ue^=Ee,{x_2:L,x_3:k}=H(ue,L,k),{x_2:V,x_3:te}=H(ue,V,te),ue=Ee;let Ce=L+V,Re=b(Ce*Ce),_e=L-V,Je=b(_e*_e),Ne=Re-Je,Ye=k+te,mt=k-te,zt=b(mt*Ce),dr=b(Ye*_e),Kr=zt+dr,Jr=zt-dr;k=b(Kr*Kr),te=b(M*b(Jr*Jr)),L=b(Re*Je),V=b(Ne*(Re+b(p*Ne)))}({x_2:L,x_3:k}=H(ue,L,k)),{x_2:V,x_3:te}=H(ue,V,te);let C=o(V);return b(L*C)}let Z={secretKey:u,publicKey:u,seed:u},P=(I=c(u))=>(Pe(I,Z.seed,"seed"),I),N={randomSecretKey:P};return Object.freeze({keygen:Wp(P,F),getSharedSecret:D,getPublicKey:F,scalarMult:j,scalarMultBase:E,utils:N,GuBytes:_.slice(),lengths:Z})}class KS{oHash;iHash;blockLen;outputLen;finished=!1;destroyed=!1;constructor(e,t){if(un(e),Pe(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,i=new Uint8Array(r);i.set(t.length>r?e.create().update(t).digest():t);for(let n=0;n<i.length;n++)i[n]^=54;this.iHash.update(i),this.oHash=e.create();for(let n=0;n<i.length;n++)i[n]^=106;this.oHash.update(i),Br(i)}update(e){return $i(this),this.iHash.update(e),this}digestInto(e){$i(this),Pe(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:i,destroyed:n,blockLen:o,outputLen:s}=this;return e=e,e.finished=i,e.destroyed=n,e.blockLen=o,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 Xa=(e,t,r)=>new KS(e,t).update(r).digest();Xa.create=(e,t)=>new KS(e,t);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var DO=(e,t)=>(e+(e>=0?t:-t)/BO)/t;function IV(e,t,r){let[[i,n],[o,s]]=t,a=DO(s*e,r),c=DO(-n*e,r),l=e-a*i-c*o,u=-a*n-c*s,f=l<Ci,p=u<Ci;if(f)l=-l;if(p)u=-u;let m=Tu(Math.ceil(DS(r)/2))+ec;if(l<Ci||l>=m||u<Ci||u>=m)throw Error("splitScalar (endomorphism): failed, k="+e);return{k1neg:f,k1:l,k2neg:p,k2:u}}function VS(e){if(!["compact","recovered","der"].includes(e))throw Error('Signature format must be "compact", "recovered", or "der"');return e}function JS(e,t){let r={};for(let i of Object.keys(t))r[i]=e[i]===void 0?t[i]:e[i];if(_u(r.lowS,"lowS"),_u(r.prehash,"prehash"),r.format!==void 0)VS(r.format);return r}class LO extends Error{constructor(e=""){super(e)}}var xo={Err:LO,_tlv:{encode:(e,t)=>{let{Err:r}=xo;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(t.length&1)throw new r("tlv.encode: unpadded data");let i=t.length/2,n=ku(i);if(n.length/2&128)throw new r("tlv.encode: long form length too big");let o=i>127?ku(n.length/2|128):"";return ku(e)+o+n+t},decode(e,t){let{Err:r}=xo,i=0;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(t.length<2||t[i++]!==e)throw new r("tlv.decode: wrong tlv");let n=t[i++],o=!!(n&128),s=0;if(!o)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 l=t.subarray(i,i+c);if(l.length!==c)throw new r("tlv.decode: length bytes not complete");if(l[0]===0)throw new r("tlv.decode(long): zero leftmost byte");for(let u of l)s=s<<8|u;if(i+=c,s<128)throw new r("tlv.decode(long): not minimal encoding")}let a=t.subarray(i,i+s);if(a.length!==s)throw new r("tlv.decode: wrong value length");return{v:a,l:t.subarray(i+s)}}},_int:{encode(e){let{Err:t}=xo;if(e<Ci)throw new t("integer: negative integers are not allowed");let r=ku(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}=xo;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 yo(e)}},toSig(e){let{Err:t,_int:r,_tlv:i}=xo,n=Pe(e,void 0,"signature"),{v:o,l:s}=i.decode(48,n);if(s.length)throw new t("invalid signature: left bytes after parsing");let{v:a,l:c}=i.decode(2,o),{v:l,l:u}=i.decode(2,c);if(u.length)throw new t("invalid signature: left bytes after parsing");return{r:r.decode(a),s:r.decode(l)}},hexFromSig(e){let{_tlv:t,_int:r}=xo,i=t.encode(2,r.encode(e.r)),n=t.encode(2,r.encode(e.s)),o=i+n;return t.encode(48,o)}},Ci=BigInt(0),ec=BigInt(1),BO=BigInt(2),Qp=BigInt(3),TV=BigInt(4);function WS(e,t={}){let r=zO("weierstrass",e,t),{Fp:i,Fn:n}=r,o=r.CURVE,{h:s,n:a}=o;As(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object"});let{endo:c}=t;if(c){if(!i.is0(o.a)||typeof c.beta!=="bigint"||!Array.isArray(c.basises))throw Error('invalid endo: expected "beta": bigint and "basises": array')}let l=UO(i,n);function u(){if(!i.isOdd)throw Error("compression is not supported: Field does not have .isOdd()")}function f(P,N,I){let{x:O,y:R}=N.toAffine(),M=i.toBytes(O);if(_u(I,"isCompressed"),I){u();let L=!i.isOdd(R);return Nt(jO(L),M)}else return Nt(Uint8Array.of(4),M,i.toBytes(R))}function p(P){Pe(P,void 0,"Point");let{publicKey:N,publicKeyUncompressed:I}=l,O=P.length,R=P[0],M=P.subarray(1);if(O===N&&(R===2||R===3)){let L=i.fromBytes(M);if(!i.isValid(L))throw Error("bad point: is not on curve, wrong x");let V=g(L),k;try{k=i.sqrt(V)}catch(C){let be=C instanceof Error?": "+C.message:"";throw Error("bad point: is not on curve, sqrt error"+be)}u();let te=i.isOdd(k);if((R&1)===1!==te)k=i.neg(k);return{x:L,y:k}}else if(O===I&&R===4){let L=i.BYTES,V=i.fromBytes(M.subarray(0,L)),k=i.fromBytes(M.subarray(L,L*2));if(!b(V,k))throw Error("bad point: is not on curve");return{x:V,y:k}}else throw Error(`bad point: got length ${O}, expected compressed=${N} or uncompressed=${I}`)}let m=t.toBytes||f,y=t.fromBytes||p;function g(P){let N=i.sqr(P),I=i.mul(N,P);return i.add(i.add(I,i.mul(P,o.a)),o.b)}function b(P,N){let I=i.sqr(N),O=g(P);return i.eql(I,O)}if(!b(o.Gx,o.Gy))throw Error("bad curve params: generator point");let _=i.mul(i.pow(o.a,Qp),TV),T=i.mul(i.sqr(o.b),BigInt(27));if(i.is0(i.add(_,T)))throw Error("bad curve params: a or b");function A(P,N,I=!1){if(!i.isValid(N)||I&&i.is0(N))throw Error(`bad point coordinate ${P}`);return N}function z(P){if(!(P instanceof H))throw Error("Weierstrass Point expected")}function j(P){if(!c||!c.basises)throw Error("no endo");return IV(P,c.basises,n.ORDER)}let E=LS((P,N)=>{let{X:I,Y:O,Z:R}=P;if(i.eql(R,i.ONE))return{x:I,y:O};let M=P.is0();if(N==null)N=M?i.ONE:i.inv(R);let L=i.mul(I,N),V=i.mul(O,N),k=i.mul(R,N);if(M)return{x:i.ZERO,y:i.ZERO};if(!i.eql(k,i.ONE))throw Error("invZ was invalid");return{x:L,y:V}}),F=LS((P)=>{if(P.is0()){if(t.allowInfinityPoint&&!i.is0(P.Y))return;throw Error("bad point: ZERO")}let{x:N,y:I}=P.toAffine();if(!i.isValid(N)||!i.isValid(I))throw Error("bad point: x or y not field elements");if(!b(N,I))throw Error("bad point: equation left != right");if(!P.isTorsionFree())throw Error("bad point: not in prime-order subgroup");return!0});function D(P,N,I,O,R){return I=new H(i.mul(I.X,P),I.Y,I.Z),N=$u(O,N),I=$u(R,I),N.add(I)}class H{static BASE=new H(o.Gx,o.Gy,i.ONE);static ZERO=new H(i.ZERO,i.ONE,i.ZERO);static Fp=i;static Fn=n;X;Y;Z;constructor(P,N,I){this.X=A("x",P),this.Y=A("y",N,!0),this.Z=A("z",I),Object.freeze(this)}static CURVE(){return o}static fromAffine(P){let{x:N,y:I}=P||{};if(!P||!i.isValid(N)||!i.isValid(I))throw Error("invalid affine point");if(P instanceof H)throw Error("projective point not allowed");if(i.is0(N)&&i.is0(I))return H.ZERO;return new H(N,I,i.ONE)}static fromBytes(P){let N=H.fromAffine(y(Pe(P,void 0,"point")));return N.assertValidity(),N}static fromHex(P){return H.fromBytes(Ts(P))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(P=8,N=!0){if(Z.createCache(this,P),!N)this.multiply(Qp);return this}assertValidity(){F(this)}hasEvenY(){let{y:P}=this.toAffine();if(!i.isOdd)throw Error("Field doesn't support isOdd");return!i.isOdd(P)}equals(P){z(P);let{X:N,Y:I,Z:O}=this,{X:R,Y:M,Z:L}=P,V=i.eql(i.mul(N,L),i.mul(R,O)),k=i.eql(i.mul(I,L),i.mul(M,O));return V&&k}negate(){return new H(this.X,i.neg(this.Y),this.Z)}double(){let{a:P,b:N}=o,I=i.mul(N,Qp),{X:O,Y:R,Z:M}=this,L=i.ZERO,V=i.ZERO,k=i.ZERO,te=i.mul(O,O),ue=i.mul(R,R),C=i.mul(M,M),be=i.mul(O,R);return be=i.add(be,be),k=i.mul(O,M),k=i.add(k,k),L=i.mul(P,k),V=i.mul(I,C),V=i.add(L,V),L=i.sub(ue,V),V=i.add(ue,V),V=i.mul(L,V),L=i.mul(be,L),k=i.mul(I,k),C=i.mul(P,C),be=i.sub(te,C),be=i.mul(P,be),be=i.add(be,k),k=i.add(te,te),te=i.add(k,te),te=i.add(te,C),te=i.mul(te,be),V=i.add(V,te),C=i.mul(R,M),C=i.add(C,C),te=i.mul(C,be),L=i.sub(L,te),k=i.mul(C,ue),k=i.add(k,k),k=i.add(k,k),new H(L,V,k)}add(P){z(P);let{X:N,Y:I,Z:O}=this,{X:R,Y:M,Z:L}=P,V=i.ZERO,k=i.ZERO,te=i.ZERO,ue=o.a,C=i.mul(o.b,Qp),be=i.mul(N,R),Ee=i.mul(I,M),Ce=i.mul(O,L),Re=i.add(N,I),_e=i.add(R,M);Re=i.mul(Re,_e),_e=i.add(be,Ee),Re=i.sub(Re,_e),_e=i.add(N,O);let Je=i.add(R,L);return _e=i.mul(_e,Je),Je=i.add(be,Ce),_e=i.sub(_e,Je),Je=i.add(I,O),V=i.add(M,L),Je=i.mul(Je,V),V=i.add(Ee,Ce),Je=i.sub(Je,V),te=i.mul(ue,_e),V=i.mul(C,Ce),te=i.add(V,te),V=i.sub(Ee,te),te=i.add(Ee,te),k=i.mul(V,te),Ee=i.add(be,be),Ee=i.add(Ee,be),Ce=i.mul(ue,Ce),_e=i.mul(C,_e),Ee=i.add(Ee,Ce),Ce=i.sub(be,Ce),Ce=i.mul(ue,Ce),_e=i.add(_e,Ce),be=i.mul(Ee,_e),k=i.add(k,be),be=i.mul(Je,_e),V=i.mul(Re,V),V=i.sub(V,be),be=i.mul(Re,Ee),te=i.mul(Je,te),te=i.add(te,be),new H(V,k,te)}subtract(P){return this.add(P.negate())}is0(){return this.equals(H.ZERO)}multiply(P){let{endo:N}=t;if(!n.isValidNot0(P))throw Error("invalid scalar: out of range");let I,O,R=(M)=>Z.cached(this,M,(L)=>FS(H,L));if(N){let{k1neg:M,k1:L,k2neg:V,k2:k}=j(P),{p:te,f:ue}=R(L),{p:C,f:be}=R(k);O=ue.add(be),I=D(N.beta,te,C,M,V)}else{let{p:M,f:L}=R(P);I=M,O=L}return FS(H,[I,O])[0]}multiplyUnsafe(P){let{endo:N}=t,I=this;if(!n.isValid(P))throw Error("invalid scalar: out of range");if(P===Ci||I.is0())return H.ZERO;if(P===ec)return I;if(Z.hasCache(this))return this.multiply(P);if(N){let{k1neg:O,k1:R,k2neg:M,k2:L}=j(P),{p1:V,p2:k}=PO(H,I,R,L);return D(N.beta,V,k,O,M)}else return Z.unsafe(I,P)}toAffine(P){return E(this,P)}isTorsionFree(){let{isTorsionFree:P}=t;if(s===ec)return!0;if(P)return P(H,this);return Z.unsafe(this,a).is0()}clearCofactor(){let{clearCofactor:P}=t;if(s===ec)return this;if(P)return P(H,this);return this.multiplyUnsafe(s)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}toBytes(P=!0){return _u(P,"isCompressed"),this.assertValidity(),m(H,this,P)}toHex(P=!0){return Is(this.toBytes(P))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let X=n.BITS,Z=new HS(H,t.endo?Math.ceil(X/2):X);return H.BASE.precompute(8),H}function jO(e){return Uint8Array.of(e?2:3)}function UO(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function AV(e,t={}){let{Fn:r}=e,i=t.randomBytes||ho,n=Object.assign(UO(e.Fp,r),{seed:US(r.ORDER)});function o(m){try{let y=r.fromBytes(m);return r.isValidNot0(y)}catch(y){return!1}}function s(m,y){let{publicKey:g,publicKeyUncompressed:b}=n;try{let _=m.length;if(y===!0&&_!==g)return!1;if(y===!1&&_!==b)return!1;return!!e.fromBytes(m)}catch(_){return!1}}function a(m=i(n.seed)){return TO(Pe(m,n.seed,"seed"),r.ORDER)}function c(m,y=!0){return e.BASE.multiply(r.fromBytes(m)).toBytes(y)}function l(m){let{secretKey:y,publicKey:g,publicKeyUncompressed:b}=n;if(!Va(m))return;if("_lengths"in r&&r._lengths||y===g)return;let _=Pe(m,void 0,"key").length;return _===g||_===b}function u(m,y,g=!0){if(l(m)===!0)throw Error("first arg must be private key");if(l(y)===!1)throw Error("second arg must be public key");let b=r.fromBytes(m);return e.fromBytes(y).multiply(b).toBytes(g)}let f={isValidSecretKey:o,isValidPublicKey:s,randomSecretKey:a},p=Wp(a,c);return Object.freeze({getPublicKey:c,getSharedSecret:u,keygen:p,Point:e,utils:f,lengths:n})}function GS(e,t,r={}){un(t),As(r,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"}),r=Object.assign({},r);let i=r.randomBytes||ho,n=r.hmac||((I,O)=>Xa(t,I,O)),{Fp:o,Fn:s}=e,{ORDER:a,BITS:c}=s,{keygen:l,getPublicKey:u,getSharedSecret:f,utils:p,lengths:m}=AV(e,r),y={prehash:!0,lowS:typeof r.lowS==="boolean"?r.lowS:!0,format:"compact",extraEntropy:!1},g=a*BO<o.ORDER;function b(I){let O=a>>ec;return I>O}function _(I,O){if(!s.isValidNot0(O))throw Error(`invalid signature ${I}: out of range 1..Point.Fn.ORDER`);return O}function T(){if(g)throw Error('"recovered" sig type is not supported for cofactor >2 curves')}function A(I,O){VS(O);let R=m.signature,M=O==="compact"?R:O==="recovered"?R+1:void 0;return Pe(I,M)}class z{r;s;recovery;constructor(I,O,R){if(this.r=_("r",I),this.s=_("s",O),R!=null){if(T(),![0,1,2,3].includes(R))throw Error("invalid recovery id");this.recovery=R}Object.freeze(this)}static fromBytes(I,O=y.format){A(I,O);let R;if(O==="der"){let{r:k,s:te}=xo.toSig(Pe(I));return new z(k,te)}if(O==="recovered")R=I[0],O="compact",I=I.subarray(1);let M=m.signature/2,L=I.subarray(0,M),V=I.subarray(M,M*2);return new z(s.fromBytes(L),s.fromBytes(V),R)}static fromHex(I,O){return this.fromBytes(Ts(I),O)}assertRecovery(){let{recovery:I}=this;if(I==null)throw Error("invalid recovery id: must be present");return I}addRecoveryBit(I){return new z(this.r,this.s,I)}recoverPublicKey(I){let{r:O,s:R}=this,M=this.assertRecovery(),L=M===2||M===3?O+a:O;if(!o.isValid(L))throw Error("invalid recovery id: sig.r+curve.n != R.x");let V=o.toBytes(L),k=e.fromBytes(Nt(jO((M&1)===0),V)),te=s.inv(L),ue=E(Pe(I,void 0,"msgHash")),C=s.create(-ue*te),be=s.create(R*te),Ee=e.BASE.multiplyUnsafe(C).add(k.multiplyUnsafe(be));if(Ee.is0())throw Error("invalid recovery: point at infinify");return Ee.assertValidity(),Ee}hasHighS(){return b(this.s)}toBytes(I=y.format){if(VS(I),I==="der")return Ts(xo.hexFromSig(this));let{r:O,s:R}=this,M=s.toBytes(O),L=s.toBytes(R);if(I==="recovered")return T(),Nt(Uint8Array.of(this.assertRecovery()),M,L);return Nt(M,L)}toHex(I){return Is(this.toBytes(I))}}let j=r.bits2int||function(O){if(O.length>8192)throw Error("input is too large");let R=yo(O),M=O.length*8-c;return M>0?R>>BigInt(M):R},E=r.bits2int_modN||function(O){return s.create(j(O))},F=Tu(c);function D(I){return Iu("num < 2^"+c,I,Ci,F),s.toBytes(I)}function H(I,O){return Pe(I,void 0,"message"),O?Pe(t(I),void 0,"prehashed message"):I}function X(I,O,R){let{lowS:M,prehash:L,extraEntropy:V}=JS(R,y);I=H(I,L);let k=E(I),te=s.fromBytes(O);if(!s.isValidNot0(te))throw Error("invalid private key");let ue=[D(te),D(k)];if(V!=null&&V!==!1){let Ce=V===!0?i(m.secretKey):V;ue.push(Pe(Ce,void 0,"extraEntropy"))}let C=Nt(...ue),be=k;function Ee(Ce){let Re=j(Ce);if(!s.isValidNot0(Re))return;let _e=s.inv(Re),Je=e.BASE.multiply(Re).toAffine(),Ne=s.create(Je.x);if(Ne===Ci)return;let Ye=s.create(_e*s.create(be+Ne*te));if(Ye===Ci)return;let mt=(Je.x===Ne?0:2)|Number(Je.y&ec),zt=Ye;if(M&&b(Ye))zt=s.neg(Ye),mt^=1;return new z(Ne,zt,g?void 0:mt)}return{seed:C,k2sig:Ee}}function Z(I,O,R={}){let{seed:M,k2sig:L}=X(I,O,R);return hO(t.outputLen,s.BYTES,n)(M,L).toBytes(R.format)}function P(I,O,R,M={}){let{lowS:L,prehash:V,format:k}=JS(M,y);if(R=Pe(R,void 0,"publicKey"),O=H(O,V),!Va(I)){let te=I instanceof z?", use sig.toBytes()":"";throw Error("verify expects Uint8Array signature"+te)}A(I,k);try{let te=z.fromBytes(I,k),ue=e.fromBytes(R);if(L&&te.hasHighS())return!1;let{r:C,s:be}=te,Ee=E(O),Ce=s.inv(be),Re=s.create(Ee*Ce),_e=s.create(C*Ce),Je=e.BASE.multiplyUnsafe(Re).add(ue.multiplyUnsafe(_e));if(Je.is0())return!1;return s.create(Je.x)===C}catch(te){return!1}}function N(I,O,R={}){let{prehash:M}=JS(R,y);return O=H(O,M),z.fromBytes(I,"recovered").recoverPublicKey(O).toBytes()}return Object.freeze({keygen:l,getPublicKey:u,getSharedSecret:f,utils:p,lengths:m,Point:e,sign:Z,verify:P,recoverPublicKey:N,Signature:z,hash:t})}function qO(e,t,r){return e&t^~e&r}function ZO(e,t,r){return e&t^e&r^t&r}class Yp{blockLen;outputLen;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor(e,t,r,i){this.blockLen=e,this.outputLen=t,this.padOffset=r,this.isLE=i,this.buffer=new Uint8Array(e),this.view=Hp(this.buffer)}update(e){$i(this),Pe(e);let{view:t,buffer:r,blockLen:i}=this,n=e.length;for(let o=0;o<n;){let s=Math.min(i-this.pos,n-o);if(s===i){let a=Hp(e);for(;i<=n-o;o+=i)this.process(a,o);continue}if(r.set(e.subarray(o,o+s),this.pos),this.pos+=s,o+=s,this.pos===i)this.process(t,0),this.pos=0}return this.length+=e.length,this.roundClean(),this}digestInto(e){$i(this),Mp(e,this),this.finished=!0;let{buffer:t,view:r,blockLen:i,isLE:n}=this,{pos:o}=this;if(t[o++]=128,Br(this.buffer.subarray(o)),this.padOffset>i-o)this.process(r,0),o=0;for(let u=o;u<i;u++)t[u]=0;r.setBigUint64(i-8,BigInt(this.length*8),n),this.process(r,0);let s=Hp(e),a=this.outputLen;if(a%4)throw Error("_sha2: outputLen must be aligned to 32bit");let c=a/4,l=this.get();if(c>l.length)throw Error("_sha2: outputLen bigger than state");for(let u=0;u<c;u++)s.setUint32(4*u,l[u],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:i,finished:n,destroyed:o,pos:s}=this;if(e.destroyed=o,e.finished=n,e.length=i,e.pos=s,i%t)e.buffer.set(r);return e}clone(){return this._cloneInto()}}var Ri=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var tr=Uint32Array.from([3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]);var Xp=BigInt(4294967295),MO=BigInt(32);function $V(e,t=!1){if(t)return{h:Number(e&Xp),l:Number(e>>MO&Xp)};return{h:Number(e>>MO&Xp)|0,l:Number(e&Xp)|0}}function em(e,t=!1){let r=e.length,i=new Uint32Array(r),n=new Uint32Array(r);for(let o=0;o<r;o++){let{h:s,l:a}=$V(e[o],t);[i[o],n[o]]=[s,a]}return[i,n]}var QS=(e,t,r)=>e>>>r,YS=(e,t,r)=>e<<32-r|t>>>r,Rs=(e,t,r)=>e>>>r|t<<32-r,Os=(e,t,r)=>e<<32-r|t>>>r,Ru=(e,t,r)=>e<<64-r|t>>>r-32,Ou=(e,t,r)=>e>>>r-32|t<<64-r;var FO=(e,t,r)=>e<<r|t>>>32-r,HO=(e,t,r)=>t<<r|e>>>32-r,KO=(e,t,r)=>t<<r-32|e>>>64-r,JO=(e,t,r)=>e<<r-32|t>>>64-r;function Qn(e,t,r,i){let n=(t>>>0)+(i>>>0);return{h:e+r+(n/4294967296|0)|0,l:n|0}}var VO=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),WO=(e,t,r,i)=>t+r+i+(e/4294967296|0)|0,GO=(e,t,r,i)=>(e>>>0)+(t>>>0)+(r>>>0)+(i>>>0),QO=(e,t,r,i,n)=>t+r+i+n+(e/4294967296|0)|0,YO=(e,t,r,i,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(i>>>0)+(n>>>0),XO=(e,t,r,i,n,o)=>t+r+i+n+o+(e/4294967296|0)|0;var RV=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]),wo=new Uint32Array(64);class eP extends Yp{constructor(e){super(64,e,8,!1)}get(){let{A:e,B:t,C:r,D:i,E:n,F:o,G:s,H:a}=this;return[e,t,r,i,n,o,s,a]}set(e,t,r,i,n,o,s,a){this.A=e|0,this.B=t|0,this.C=r|0,this.D=i|0,this.E=n|0,this.F=o|0,this.G=s|0,this.H=a|0}process(e,t){for(let u=0;u<16;u++,t+=4)wo[u]=e.getUint32(t,!1);for(let u=16;u<64;u++){let f=wo[u-15],p=wo[u-2],m=Tn(f,7)^Tn(f,18)^f>>>3,y=Tn(p,17)^Tn(p,19)^p>>>10;wo[u]=y+wo[u-7]+m+wo[u-16]|0}let{A:r,B:i,C:n,D:o,E:s,F:a,G:c,H:l}=this;for(let u=0;u<64;u++){let f=Tn(s,6)^Tn(s,11)^Tn(s,25),p=l+f+qO(s,a,c)+RV[u]+wo[u]|0,y=(Tn(r,2)^Tn(r,13)^Tn(r,22))+ZO(r,i,n)|0;l=c,c=a,a=s,s=o+p|0,o=n,n=i,i=r,r=p+y|0}r=r+this.A|0,i=i+this.B|0,n=n+this.C|0,o=o+this.D|0,s=s+this.E|0,a=a+this.F|0,c=c+this.G|0,l=l+this.H|0,this.set(r,i,n,o,s,a,c,l)}roundClean(){Br(wo)}destroy(){this.set(0,0,0,0,0,0,0,0),Br(this.buffer)}}class tP extends eP{A=Ri[0]|0;B=Ri[1]|0;C=Ri[2]|0;D=Ri[3]|0;E=Ri[4]|0;F=Ri[5]|0;G=Ri[6]|0;H=Ri[7]|0;constructor(){super(32)}}var rP=(()=>em(["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))))(),OV=(()=>rP[0])(),PV=(()=>rP[1])(),vo=new Uint32Array(80),_o=new Uint32Array(80);class nP extends Yp{constructor(e){super(128,e,16,!1)}get(){let{Ah:e,Al:t,Bh:r,Bl:i,Ch:n,Cl:o,Dh:s,Dl:a,Eh:c,El:l,Fh:u,Fl:f,Gh:p,Gl:m,Hh:y,Hl:g}=this;return[e,t,r,i,n,o,s,a,c,l,u,f,p,m,y,g]}set(e,t,r,i,n,o,s,a,c,l,u,f,p,m,y,g){this.Ah=e|0,this.Al=t|0,this.Bh=r|0,this.Bl=i|0,this.Ch=n|0,this.Cl=o|0,this.Dh=s|0,this.Dl=a|0,this.Eh=c|0,this.El=l|0,this.Fh=u|0,this.Fl=f|0,this.Gh=p|0,this.Gl=m|0,this.Hh=y|0,this.Hl=g|0}process(e,t){for(let T=0;T<16;T++,t+=4)vo[T]=e.getUint32(t),_o[T]=e.getUint32(t+=4);for(let T=16;T<80;T++){let A=vo[T-15]|0,z=_o[T-15]|0,j=Rs(A,z,1)^Rs(A,z,8)^QS(A,z,7),E=Os(A,z,1)^Os(A,z,8)^YS(A,z,7),F=vo[T-2]|0,D=_o[T-2]|0,H=Rs(F,D,19)^Ru(F,D,61)^QS(F,D,6),X=Os(F,D,19)^Ou(F,D,61)^YS(F,D,6),Z=GO(E,X,_o[T-7],_o[T-16]),P=QO(Z,j,H,vo[T-7],vo[T-16]);vo[T]=P|0,_o[T]=Z|0}let{Ah:r,Al:i,Bh:n,Bl:o,Ch:s,Cl:a,Dh:c,Dl:l,Eh:u,El:f,Fh:p,Fl:m,Gh:y,Gl:g,Hh:b,Hl:_}=this;for(let T=0;T<80;T++){let A=Rs(u,f,14)^Rs(u,f,18)^Ru(u,f,41),z=Os(u,f,14)^Os(u,f,18)^Ou(u,f,41),j=u&p^~u&y,E=f&m^~f&g,F=YO(_,z,E,PV[T],_o[T]),D=XO(F,b,A,j,OV[T],vo[T]),H=F|0,X=Rs(r,i,28)^Ru(r,i,34)^Ru(r,i,39),Z=Os(r,i,28)^Ou(r,i,34)^Ou(r,i,39),P=r&n^r&s^n&s,N=i&o^i&a^o&a;b=y|0,_=g|0,y=p|0,g=m|0,p=u|0,m=f|0,{h:u,l:f}=Qn(c|0,l|0,D|0,H|0),c=s|0,l=a|0,s=n|0,a=o|0,n=r|0,o=i|0;let I=VO(H,Z,N);r=WO(I,D,X,P),i=I|0}({h:r,l:i}=Qn(this.Ah|0,this.Al|0,r|0,i|0)),{h:n,l:o}=Qn(this.Bh|0,this.Bl|0,n|0,o|0),{h:s,l:a}=Qn(this.Ch|0,this.Cl|0,s|0,a|0),{h:c,l}=Qn(this.Dh|0,this.Dl|0,c|0,l|0),{h:u,l:f}=Qn(this.Eh|0,this.El|0,u|0,f|0),{h:p,l:m}=Qn(this.Fh|0,this.Fl|0,p|0,m|0),{h:y,l:g}=Qn(this.Gh|0,this.Gl|0,y|0,g|0),{h:b,l:_}=Qn(this.Hh|0,this.Hl|0,b|0,_|0),this.set(r,i,n,o,s,a,c,l,u,f,p,m,y,g,b,_)}roundClean(){Br(vo,_o)}destroy(){Br(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}class iP extends nP{Ah=tr[0]|0;Al=tr[1]|0;Bh=tr[2]|0;Bl=tr[3]|0;Ch=tr[4]|0;Cl=tr[5]|0;Dh=tr[6]|0;Dl=tr[7]|0;Eh=tr[8]|0;El=tr[9]|0;Fh=tr[10]|0;Fl=tr[11]|0;Gh=tr[12]|0;Gl=tr[13]|0;Hh=tr[14]|0;Hl=tr[15]|0;constructor(){super(48)}}var tm=Wa(()=>new tP,go(1));var oP=Wa(()=>new iP,go(2));/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var zV=BigInt(1),sP=BigInt(2),NV=BigInt(3),DV=BigInt(5),ove=BigInt(8),aP=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed");function LV(e){let t=BigInt(10),r=BigInt(20),i=BigInt(40),n=BigInt(80),o=aP,a=e*e%o*e%o,c=dn(a,sP,o)*a%o,l=dn(c,zV,o)*e%o,u=dn(l,DV,o)*l%o,f=dn(u,t,o)*u%o,p=dn(f,r,o)*f%o,m=dn(p,i,o)*p%o,y=dn(m,n,o)*m%o,g=dn(y,n,o)*m%o,b=dn(g,t,o)*u%o;return{pow_p_5_8:dn(b,sP,o)*e%o,b2:a}}function BV(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var cP=(()=>{let e=aP;return NO({P:e,type:"x25519",powPminus2:(t)=>{let{pow_p_5_8:r,b2:i}=LV(t);return Er(dn(r,NV,e)*i,e)},adjustScalarBytes:BV})})();/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var jV=(()=>({p:BigInt("0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff"),n:BigInt("0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551"),h:BigInt(1),a:BigInt("0xffffffff00000001000000000000000000000000fffffffffffffffffffffffc"),b:BigInt("0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b"),Gx:BigInt("0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296"),Gy:BigInt("0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5")}))(),UV=(()=>({p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff"),n:BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973"),h:BigInt(1),a:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc"),b:BigInt("0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef"),Gx:BigInt("0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7"),Gy:BigInt("0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f")}))();var qV=WS(jV),XS=GS(qV,tm);var ZV=WS(UV),lP=GS(ZV,oP);function dP(e,t,r){if(un(e),r===void 0)r=new Uint8Array(e.outputLen);return Xa(e,r,t)}var ex=Uint8Array.of(0),uP=Uint8Array.of();function fP(e,t,r,i=32){un(e),Kt(i,"length");let n=e.outputLen;if(i>255*n)throw Error("Length must be <= 255*HashLen");let o=Math.ceil(i/n);if(r===void 0)r=uP;else Pe(r,void 0,"info");let s=new Uint8Array(o*n),a=Xa.create(e,t),c=a._cloneInto(),l=new Uint8Array(a.outputLen);for(let u=0;u<o;u++)ex[0]=u+1,c.update(u===0?uP:l).update(r).update(ex).digestInto(l),s.set(l,n*u),a._cloneInto(c);return a.destroy(),c.destroy(),Br(l,ex),s.slice(0,i)}var MV=BigInt(0),Pu=BigInt(1),FV=BigInt(2),HV=BigInt(7),KV=BigInt(256),JV=BigInt(113),hP=[],gP=[],yP=[];for(let e=0,t=Pu,r=1,i=0;e<24;e++){[r,i]=[i,(2*r+3*i)%5],hP.push(2*(5*i+r)),gP.push((e+1)*(e+2)/2%64);let n=MV;for(let o=0;o<7;o++)if(t=(t<<Pu^(t>>HV)*JV)%KV,t&FV)n^=Pu<<(Pu<<BigInt(o))-Pu;yP.push(n)}var bP=em(yP,!0),VV=bP[0],WV=bP[1],pP=(e,t,r)=>r>32?KO(e,t,r):FO(e,t,r),mP=(e,t,r)=>r>32?JO(e,t,r):HO(e,t,r);function GV(e,t=24){let r=new Uint32Array(10);for(let i=24-t;i<24;i++){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,l=r[c],u=r[c+1],f=pP(l,u,1)^r[a],p=mP(l,u,1)^r[a+1];for(let m=0;m<50;m+=10)e[s+m]^=f,e[s+m+1]^=p}let n=e[2],o=e[3];for(let s=0;s<24;s++){let a=gP[s],c=pP(n,o,a),l=mP(n,o,a),u=hP[s];n=e[u],o=e[u+1],e[u]=c,e[u+1]=l}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]^=VV[i],e[1]^=WV[i]}Br(r)}class rm{state;pos=0;posOut=0;finished=!1;state32;destroyed=!1;blockLen;suffix;outputLen;enableXOF=!1;rounds;constructor(e,t,r,i=!1,n=24){if(this.blockLen=e,this.suffix=t,this.outputLen=r,this.enableXOF=i,this.rounds=n,Kt(r,"outputLen"),!(0<e&&e<200))throw Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=Fp(this.state)}clone(){return this._cloneInto()}keccak(){PS(this.state32),GV(this.state32,this.rounds),PS(this.state32),this.posOut=0,this.pos=0}update(e){$i(this),Pe(e);let{blockLen:t,state:r}=this,i=e.length;for(let n=0;n<i;){let o=Math.min(t-this.pos,i-n);for(let s=0;s<o;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:i}=this;if(e[r]^=t,(t&128)!==0&&r===i-1)this.keccak();e[i-1]^=128,this.keccak()}writeInto(e){$i(this,!1),Pe(e),this.finish();let t=this.state,{blockLen:r}=this;for(let i=0,n=e.length;i<n;){if(this.posOut>=r)this.keccak();let o=Math.min(r-this.posOut,n-i);e.set(t.subarray(this.posOut,this.posOut+o),i),this.posOut+=o,i+=o}return e}xofInto(e){if(!this.enableXOF)throw Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return Kt(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(Mp(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,Br(this.state)}_cloneInto(e){let{blockLen:t,suffix:r,outputLen:i,rounds:n,enableXOF:o}=this;return e||=new rm(t,r,i,o,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=i,e.enableXOF=o,e.destroyed=this.destroyed,e}}var SP=(e,t,r,i={})=>Wa(()=>new rm(t,e,r),i);var Ps=SP(6,136,32,go(8));var xP=SP(6,72,64,go(10));var wP=(e,t,r,i={})=>Wa((n={})=>new rm(t,e,n.dkLen===void 0?r:n.dkLen,!0),i),vP=wP(31,168,16,go(11)),Yn=wP(31,136,32,go(12));function tx(e){if(!Number.isSafeInteger(e)||e<0||e>4294967295)throw Error("wrong u32 integer:"+e);return e}function kP(e){return tx(e),(e&e-1)===0&&e!==0}function rx(e,t){tx(e);let r=0;for(let i=0;i<t;i++,e>>>=1)r=r<<1|e&1;return r}function EP(e){return tx(e),31-Math.clz32(e)}function _P(e){let t=e.length;if(t<2||!kP(t))throw Error("n must be a power of 2 and greater than 1. Got "+t);let r=EP(t);for(let i=0;i<t;i++){let n=rx(i,r);if(i<n){let o=e[i];e[i]=e[n],e[n]=o}}return e}var nx=(e,t)=>{let{N:r,roots:i,dit:n,invertButterflies:o=!1,skipStages:s=0,brp:a=!0}=t,c=EP(r);if(!kP(r))throw Error("FFT: Polynomial size should be power of two");let l=n!==o;return(u)=>{if(u.length!==r)throw Error("FFT: wrong Polynomial length");if(n&&a)_P(u);for(let f=0,p=1;f<c-s;f++){let m=n?f+1+s:c-f,y=1<<m,g=y>>1,b=r>>m;for(let _=0;_<r;_+=y)for(let T=0,A=p++;T<g;T++){let z=o?n?r-A:A:T*b,j=_+T,E=_+T+g,F=i[z],D=u[E],H=u[j];if(l){let X=e.mul(D,F);u[j]=e.add(H,X),u[E]=e.sub(H,X)}else if(o)u[j]=e.add(D,H),u[E]=e.mul(e.sub(D,H),F);else u[j]=e.add(H,D),u[E]=e.mul(e.sub(H,D),F)}}if(!n&&a)_P(u);return u}};/*! noble-post-quantum - MIT License (c) 2024 Paul Miller (paulmillr.com) */var Xn=ho;function nm(e,t){if(e.length!==t.length)return!1;let r=0;for(let i=0;i<e.length;i++)r|=e[i]^t[i];return r===0}function IP(e){return Uint8Array.from(e)}function zs(e,...t){let r=(n)=>typeof n==="number"?n:n.bytesLen,i=t.reduce((n,o)=>n+r(o),0);return{bytesLen:i,encode:(n)=>{let o=new Uint8Array(i);for(let s=0,a=0;s<t.length;s++){let c=t[s],l=r(c),u=typeof c==="number"?n[s]:c.encode(n[s]);if(Pe(u,l,e),o.set(u,a),typeof c!=="number")u.fill(0);a+=l}return o},decode:(n)=>{Pe(n,i,e);let o=[];for(let s of t){let a=r(s),c=n.subarray(0,a);o.push(typeof s==="number"?c:s.decode(c)),n=n.subarray(a)}return o}}}function im(e,t){let r=t*e.bytesLen;return{bytesLen:r,encode:(i)=>{if(i.length!==t)throw Error(`vecCoder.encode: wrong length=${i.length}. Expected: ${t}`);let n=new Uint8Array(r);for(let o=0,s=0;o<i.length;o++){let a=e.encode(i[o]);n.set(a,s),a.fill(0),s+=a.length}return n},decode:(i)=>{Pe(i,r);let n=[];for(let o=0;o<i.length;o+=e.bytesLen)n.push(e.decode(i.subarray(o,o+e.bytesLen)));return n}}}function Ut(...e){for(let t of e)if(Array.isArray(t))for(let r of t)r.fill(0);else t.fill(0)}function ix(e){return(1<<e)-1}var xve=Uint8Array.of();/*! noble-post-quantum - MIT License (c) 2024 Paul Miller (paulmillr.com) */var TP=(e)=>{let{newPoly:t,N:r,Q:i,F:n,ROOT_OF_UNITY:o,brvBits:s,isKyber:a}=e,c=(T,A=i)=>{let z=T%A|0;return(z>=0?z|0:A+z|0)|0},l=(T,A=i)=>{let z=c(T,A)|0;return(z>A>>1?z-A|0:z)|0};function u(){let T=t(r);for(let A=0;A<r;A++){let z=rx(A,s),j=BigInt(o)**BigInt(z)%BigInt(i);T[A]=Number(j)|0}return T}let f=u(),p={add:(T,A)=>c((T|0)+(A|0))|0,sub:(T,A)=>c((T|0)-(A|0))|0,mul:(T,A)=>c((T|0)*(A|0))|0,inv:(T)=>{throw Error("not implemented")}},m={N:r,roots:f,invertButterflies:!0,skipStages:a?1:0,brp:!1},y=nx(p,{dit:!1,...m}),g=nx(p,{dit:!0,...m});return{mod:c,smod:l,nttZetas:f,NTT:{encode:(T)=>y(T),decode:(T)=>{g(T);for(let A=0;A<T.length;A++)T[A]=c(n*T[A]);return T}},bitsCoder:(T,A)=>{let z=ix(T),j=T*(r/8);return{bytesLen:j,encode:(E)=>{let F=new Uint8Array(j);for(let D=0,H=0,X=0,Z=0;D<E.length;D++){H|=(A.encode(E[D])&z)<<X,X+=T;for(;X>=8;X-=8,H>>=8)F[Z++]=H&ix(X)}return F},decode:(E)=>{let F=t(r);for(let D=0,H=0,X=0,Z=0;D<E.length;D++){H|=E[D]<<X,X+=8;for(;X>=T;X-=T,H>>=T)F[Z++]=A.decode(H&z)}return F}}}}},QV=(e)=>(t,r)=>{if(!r)r=e.blockLen;let i=new Uint8Array(t.length+2);i.set(t);let n=t.length,o=new Uint8Array(r),s=e.create({}),a=0,c=0;return{stats:()=>({calls:a,xofs:c}),get:(l,u)=>(i[n+0]=l,i[n+1]=u,s.destroy(),s=e.create({}).update(i),a++,()=>(c++,s.xofInto(o))),clean:()=>{s.destroy(),Ut(o,i)}}},AP=QV(vP);/*! noble-post-quantum - MIT License (c) 2024 Paul Miller (paulmillr.com) */var hr=256,Oi=3329,YV=3303,XV=17,{mod:Du,nttZetas:e7,NTT:Ns,bitsCoder:t7}=TP({N:hr,Q:Oi,F:YV,ROOT_OF_UNITY:XV,newPoly:(e)=>new Uint16Array(e),brvBits:7,isKyber:!0}),ox={512:{N:hr,Q:Oi,K:2,ETA1:3,ETA2:2,du:10,dv:4,RBGstrength:128},768:{N:hr,Q:Oi,K:3,ETA1:2,ETA2:2,du:10,dv:4,RBGstrength:192},1024:{N:hr,Q:Oi,K:4,ETA1:2,ETA2:2,du:11,dv:5,RBGstrength:256}},r7=(e)=>{if(e>=12)return{encode:(r)=>r,decode:(r)=>r};let t=2**(e-1);return{encode:(r)=>((r<<e)+Oi/2)/Oi,decode:(r)=>r*Oi+t>>>e}},zu=(e)=>t7(e,r7(e));function Ds(e,t){for(let r=0;r<hr;r++)e[r]=Du(e[r]+t[r])}function n7(e,t){for(let r=0;r<hr;r++)e[r]=Du(e[r]-t[r])}function i7(e,t,r,i,n){let o=Du(t*i*n+e*r),s=Du(e*i+t*r);return{c0:o,c1:s}}function om(e,t){for(let r=0;r<hr/2;r++){let i=e7[64+(r>>1)];if(r&1)i=-i;let{c0:n,c1:o}=i7(e[2*r+0],e[2*r+1],t[2*r+0],t[2*r+1],i);e[2*r+0]=n,e[2*r+1]=o}return e}function $P(e){let t=new Uint16Array(hr);for(let r=0;r<hr;){let i=e();if(i.length%3)throw Error("SampleNTT: unaligned block");for(let n=0;r<hr&&n+3<=i.length;n+=3){let o=(i[n+0]>>0|i[n+1]<<8)&4095,s=(i[n+1]>>4|i[n+2]<<4)&4095;if(o<Oi)t[r++]=o;if(r<hr&&s<Oi)t[r++]=s}}return t}function Nu(e,t,r,i){let n=e(i*hr/4,t,r),o=new Uint16Array(hr),s=Fp(n),a=0;for(let c=0,l=0,u=0,f=0;c<s.length;c++){let p=s[c];for(let m=0;m<32;m++)if(u+=p&1,p>>=1,a+=1,a===i)f=u,u=0;else if(a===2*i)o[l++]=Du(f-u),u=0,a=0}if(a)throw Error(`sampleCBD: leftover bits: ${a}`);return o}var o7=(e)=>{let{K:t,PRF:r,XOF:i,HASH512:n,ETA1:o,ETA2:s,du:a,dv:c}=e,l=zu(1),u=zu(c),f=zu(a),p=zs("publicKey",im(zu(12),t),32),m=im(zu(12),t),y=zs("ciphertext",im(f,t),u),g=zs("seed",32,32);return{secretCoder:m,lengths:{secretKey:m.bytesLen,publicKey:p.bytesLen,cipherText:y.bytesLen},keygen:(b)=>{Pe(b,32,"seed");let _=new Uint8Array(33);_.set(b),_[32]=t;let T=n(_),[A,z]=g.decode(T),j=[],E=[];for(let H=0;H<t;H++)j.push(Ns.encode(Nu(r,z,H,o)));let F=i(A);for(let H=0;H<t;H++){let X=Ns.encode(Nu(r,z,t+H,o));for(let Z=0;Z<t;Z++){let P=$P(F.get(Z,H));Ds(X,om(P,j[Z]))}E.push(X)}F.clean();let D={publicKey:p.encode([E,A]),secretKey:m.encode(j)};return Ut(A,z,j,E,_,T),D},encrypt:(b,_,T)=>{let[A,z]=p.decode(b),j=[];for(let Z=0;Z<t;Z++)j.push(Ns.encode(Nu(r,T,Z,o)));let E=i(z),F=new Uint16Array(hr),D=[];for(let Z=0;Z<t;Z++){let P=Nu(r,T,t+Z,s),N=new Uint16Array(hr);for(let I=0;I<t;I++){let O=$P(E.get(Z,I));Ds(N,om(O,j[I]))}Ds(P,Ns.decode(N)),D.push(P),Ds(F,om(A[Z],j[Z])),Ut(N)}E.clean();let H=Nu(r,T,2*t,s);Ds(H,Ns.decode(F));let X=l.decode(_);return Ds(X,H),Ut(A,j,F,H),y.encode([D,X])},decrypt:(b,_)=>{let[T,A]=y.decode(b),z=m.decode(_),j=new Uint16Array(hr);for(let E=0;E<t;E++)Ds(j,om(z[E],Ns.encode(T[E])));return n7(A,Ns.decode(j)),Ut(j,z,T),l.encode(A)}}};function sx(e){let t=o7(e),{HASH256:r,HASH512:i,KDF:n}=e,{secretCoder:o,lengths:s}=t,a=zs("secretKey",s.secretKey,s.publicKey,32,32),c=32,l=64;return{info:{type:"ml-kem"},lengths:{...s,seed:64,msg:32,msgRand:32,secretKey:a.bytesLen},keygen:(u=Xn(64))=>{Pe(u,64,"seed");let{publicKey:f,secretKey:p}=t.keygen(u.subarray(0,32)),m=r(f),y=a.encode([p,f,m,u.subarray(32)]);return Ut(p,m),{publicKey:f,secretKey:y}},getPublicKey:(u)=>{let[f,p,m,y]=a.decode(u);return Uint8Array.from(p)},encapsulate:(u,f=Xn(32))=>{Pe(u,s.publicKey,"publicKey"),Pe(f,32,"message");let p=u.subarray(0,384*e.K),m=o.encode(o.decode(IP(p)));if(!nm(m,p))throw Ut(m),Error("ML-KEM.encapsulate: wrong publicKey modulus");Ut(m);let y=i.create().update(f).update(r(u)).digest(),g=t.encrypt(u,f,y.subarray(32,64));return Ut(y.subarray(32)),{cipherText:g,sharedSecret:y.subarray(0,32)}},decapsulate:(u,f)=>{Pe(f,a.bytesLen,"secretKey"),Pe(u,s.cipherText,"cipherText");let p=a.bytesLen-96,m=p+32,y=r(f.subarray(p/2,m));if(!nm(y,f.subarray(m,m+32)))throw Error("invalid secretKey: hash check failed");let[g,b,_,T]=a.decode(f),A=t.decrypt(u,g),z=i.create().update(A).update(_).digest(),j=z.subarray(0,32),E=t.encrypt(b,A,z.subarray(32,64)),F=nm(u,E),D=n.create({dkLen:32}).update(T).update(u).digest();return Ut(A,E,!F?j:D),F?j:D}}}function s7(e,t,r){return Yn.create({dkLen:e}).update(t).update(new Uint8Array([r])).digest()}var ax={HASH256:Ps,HASH512:xP,KDF:Yn,XOF:AP,PRF:s7},Rve=sx({...ax,...ox[512]}),Lu=sx({...ax,...ox[768]}),CP=sx({...ax,...ox[1024]});/*! noble-post-quantum - MIT License (c) 2024 Paul Miller (paulmillr.com) */function a7(e,t=!1){let{lengths:r,keygen:i}=e;if(t){let o=e.Point.Fn;if(!o)throw Error("No Point.Fn");i=(s=Xn(r.seed))=>{Pe(s,r.seed,"seed");let a=o.isLE?bo(s):yo(s),c=o.toBytes(o.create(a));return{secretKey:c,publicKey:e.getPublicKey(c)}}}return{lengths:{secretKey:r.secretKey,publicKey:r.publicKey,seed:r.seed},keygen:i,getPublicKey:(n)=>e.getPublicKey(n)}}function cx(e,t=!1){let r=a7(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(i,n=Xn(e.lengths.seed)){let o=this.keygen(n).secretKey,s=this.decapsulate(i,o),a=e.getPublicKey(o);return Ut(o),{sharedSecret:s,cipherText:a}},decapsulate(i,n){let o=e.getSharedSecret(n,i);return e.lengths.publicKeyHasPrefix?o.subarray(1):o}}}function Bu(e,t){return zs(t,...e.map((r)=>{if(typeof r.lengths[t]!=="number")throw Error("wrong length: "+t);return r.lengths[t]}))}function lx(e){return(t,r)=>e(t,{dkLen:r})}function c7(e,t,...r){let i=Bu(r,"seed"),n=Bu(r,"publicKey");if(e===void 0)e=i.bytesLen;Kt(e);function o(s){Pe(s,e);let a=i.decode(t(s,i.bytesLen)),c=r.map((f,p)=>f.keygen(a[p])),l=c.map((f)=>f.secretKey),u=c.map((f)=>f.publicKey);return{secretKey:l,publicKey:u}}return{info:{lengths:{seed:e,publicKey:n.bytesLen,secretKey:e}},getPublicKey(s){return this.keygen(s).publicKey},keygen(s=Xn(e)){let{publicKey:a,secretKey:c}=o(s),l=n.encode(a);return Ut(a),Ut(c),{secretKey:s,publicKey:l}},expandDecapsulationKey:o,realSeedLen:e}}function sm(e,t,r,i,...n){let o=c7(e,r,...n),s=Bu(n,"cipherText"),a=Bu(n,"publicKey"),c=Bu(n,"msg");if(t===void 0)t=c.bytesLen;return Kt(t),{lengths:{...o.info.lengths,msg:t,msgRand:c.bytesLen,cipherText:s.bytesLen},getPublicKey:o.getPublicKey,keygen:o.keygen,encapsulate(l,u=Xn(c.bytesLen)){let f=a.decode(l),p=c.decode(u),m=n.map((_,T)=>_.encapsulate(f[T],p[T])),y=m.map((_)=>_.sharedSecret),g=m.map((_)=>_.cipherText),b={sharedSecret:i(f,g,y),cipherText:s.encode(g)};return Ut(y,g),b},decapsulate(l,u){let f=s.decode(l),{publicKey:p,secretKey:m}=o.expandDecapsulationKey(u),y=n.map((g,b)=>g.decapsulate(f[b],m[b]));return i(p,f,y)}}}function RP(e,t,r,i,n){return un(i),un(n),sm(32,32,lx(i),(o,s,a)=>n(Nt(a[0],a[1],s[1],o[1],So(e))),t,r)}var Zve=RP("QSF-KEM(ML-KEM-768,P-256)-XOF(SHAKE256)-KDF(SHA3-256)",Lu,cx(XS,!0),Yn,Ps),Mve=RP("QSF-KEM(ML-KEM-1024,P-384)-XOF(SHAKE256)-KDF(SHA3-256)",CP,cx(lP,!0),Yn,Ps);function l7(e,t,r,i,n){return un(i),un(n),sm(32,32,lx(i),(o,s,a)=>{let c=Nt(a[0],a[1],s[0],o[0],s[1],o[1],So(e)),l=32,u=Nt(So("hybrid_prk"),c),f=dP(n,u),p=Nt(Ga(32,2),So("shared_secret"),So("")),m=fP(n,f,p,32);return Ut(f,p,u,c),m},t,r)}var OP=cx(cP),Fve=l7("KitchenSink-KEM(ML-KEM-768,X25519)-XOF(SHAKE256)-KDF(HKDF-SHA-256)",Lu,OP,Yn,tm),u7=(()=>sm(32,32,lx(Yn),(e,t,r)=>Ps(Nt(r[0],r[1],t[1],e[1],So("\\.//^\\"))),Lu,OP))();function d7(e,t,r,i){let n=e.Point.Fn;if(!n)throw Error("no Point.Fn");function o(s){let a;for(let u=0,f=t;;u=f,f+=t){if(f>s.length)throw Error("rejection sampling failed");if(a=n.fromBytes(s.subarray(u,f),!0),n.isValidNot0(a))break}let c=n.toBytes(n.create(a)),l=e.getPublicKey(c,!1);return{secretKey:c,publicKey:l}}return{lengths:{secretKey:t,publicKey:r,seed:i,msg:i,cipherText:r},keygen(s=Xn(i)){return Pe(s,i,"seed"),o(s)},getPublicKey(s){return e.getPublicKey(s,!1)},encapsulate(s,a=Xn(i)){Pe(a,i,"rand");let{secretKey:c}=o(a),l=this.decapsulate(s,c),u=e.getPublicKey(c,!1);return Ut(c),{sharedSecret:l,cipherText:u}},decapsulate(s,a){return e.getSharedSecret(a,s).subarray(1)}}}function f7(e,t,r,i){let{secretKey:n,publicKeyUncompressed:o}=r.lengths;if(!n||!o)throw Error("wrong curve");let s=d7(r,n,o,i),a=64,c=a+i;return sm(32,32,(l)=>{Pe(l,32);let u=Yn(l,{dkLen:c}),f=u.subarray(0,a),p=u.subarray(a,c);return Nt(f,p)},(l,u,f)=>Ps(Nt(f[0],f[1],u[1],l[1],So(e))),t,s)}var p7=(()=>f7("MLKEM768-P256",Lu,XS,128))();var am=u7,PP=p7;/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var ct=(e,t,r)=>Yt(e,t,r),dx=At,tc=Rp,rr=(...e)=>mS(...e),rc=(e)=>hu(e),nc=dS,ic=(e)=>Ei(e),lm=BigInt(0),ux=BigInt(1);function Pi(e,t=""){if(typeof e!=="boolean"){let r=t&&`"${t}" `;throw TypeError(r+"expected boolean, got type="+typeof e)}return e}function um(e){if(typeof e==="bigint"){if(!cm(e))throw RangeError("positive bigint expected, got "+e)}else dx(e);return e}function ei(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 ju(e){let t=um(e).toString(16);return t.length&1?"0"+t:t}function zP(e){if(typeof e!=="string")throw TypeError("hex string expected, got "+typeof e);return e===""?lm:BigInt("0x"+e)}function Ls(e){return zP(Rp(e))}function An(e){return zP(Rp(ko(Yt(e)).reverse()))}function dm(e,t){if(At(t),t===0)throw RangeError("zero length");e=um(e);let r=e.toString(16);if(r.length>t*2)throw RangeError("number too large");return hu(r.padStart(t*2,"0"))}function Uu(e,t){return dm(e,t).reverse()}function NP(e,t){if(e=ct(e),t=ct(t),e.length!==t.length)return!1;let r=0;for(let i=0;i<e.length;i++)r|=e[i]^t[i];return r===0}function ko(e){return Uint8Array.from(ct(e))}function fm(e){if(typeof e!=="string")throw TypeError("ascii string expected, got "+typeof e);return Uint8Array.from(e,(t,r)=>{let i=t.charCodeAt(0);if(t.length!==1||i>127)throw RangeError(`string contains non-ASCII character "${e[r]}" with code ${i} at position ${r}`);return i})}var cm=(e)=>typeof e==="bigint"&&lm<=e;function m7(e,t,r){return cm(e)&&cm(t)&&cm(r)&&t<=e&&e<r}function zi(e,t,r,i){if(!m7(t,r,i))throw RangeError("expected valid "+e+": "+r+" <= n < "+i+", got "+t)}function oc(e){if(e<lm)throw Error("expected non-negative bigint, got "+e);let t;for(t=0;e>lm;e>>=ux,t+=1);return t}var qu=(e)=>(ux<<BigInt(e))-ux;function DP(e,t,r){if(At(e,"hashLen"),At(t,"qByteLen"),typeof r!=="function")throw TypeError("hmacFn must be a function");let i=(b)=>new Uint8Array(b),n=Uint8Array.of(),o=Uint8Array.of(0),s=Uint8Array.of(1),a=1000,c=i(e),l=i(e),u=0,f=()=>{c.fill(1),l.fill(0),u=0},p=(...b)=>r(l,rr(c,...b)),m=(b=n)=>{if(l=p(o,b),c=p(),b.length===0)return;l=p(s,b),c=p()},y=()=>{if(u++>=a)throw Error("drbg: tried max amount of iterations");let b=0,_=[];while(b<t){c=p();let T=c.slice();_.push(T),b+=c.length}return rr(..._)};return(b,_)=>{f(),m(b);let T=void 0;while((T=_(y()))===void 0)m();return f(),T}}function fn(e,t={},r={}){if(Object.prototype.toString.call(e)!=="[object Object]")throw TypeError("expected valid options object");function i(o,s,a){if(!a&&s!=="function"&&!Object.hasOwn(e,o))throw TypeError(`param "${o}" is invalid: expected own property`);let c=e[o];if(a&&c===void 0)return;let l=typeof c;if(l!==s||c===null)throw TypeError(`param "${o}" is invalid: expected ${s}, got ${l}`)}let n=(o,s)=>Object.entries(o).forEach(([a,c])=>i(a,c,s));n(t,!1),n(r,!0)}var fx=()=>{throw Error("not implemented")};/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var nr=BigInt(0),_t=BigInt(1),Bs=BigInt(2),UP=BigInt(3),qP=BigInt(4),ZP=BigInt(5),h7=BigInt(7),MP=BigInt(8),g7=BigInt(9),FP=BigInt(16);function gt(e,t){if(t<=nr)throw Error("mod: expected positive modulus, got "+t);let r=e%t;return r>=nr?r:t+r}function pn(e,t,r){if(t<nr)throw Error("pow2: expected non-negative exponent, got "+t);let i=e;while(t-- >nr)i*=i,i%=r;return i}function LP(e,t){if(e===nr)throw Error("invert: expected non-zero number");if(t<=nr)throw Error("invert: expected positive modulus, got "+t);let r=gt(e,t),i=t,n=nr,o=_t,s=_t,a=nr;while(r!==nr){let l=i/r,u=i-r*l,f=n-s*l,p=o-a*l;i=r,r=u,n=s,o=a,s=f,a=p}if(i!==_t)throw Error("invert: does not exist");return gt(n,t)}function px(e,t,r){let i=e;if(!i.eql(i.sqr(t),r))throw Error("Cannot find square root")}function HP(e,t){let r=e,i=(r.ORDER+_t)/qP,n=r.pow(t,i);return px(r,n,t),n}function y7(e,t){let r=e,i=(r.ORDER-ZP)/MP,n=r.mul(t,Bs),o=r.pow(n,i),s=r.mul(t,o),a=r.mul(r.mul(s,Bs),o),c=r.mul(s,r.sub(a,r.ONE));return px(r,c,t),c}function b7(e){let t=pm(e),r=KP(e),i=r(t,t.neg(t.ONE)),n=r(t,i),o=r(t,t.neg(i)),s=(e+h7)/FP;return(a,c)=>{let l=a,u=l.pow(c,s),f=l.mul(u,i),p=l.mul(u,n),m=l.mul(u,o),y=l.eql(l.sqr(f),c),g=l.eql(l.sqr(p),c);u=l.cmov(u,f,y),f=l.cmov(m,p,g);let b=l.eql(l.sqr(f),c),_=l.cmov(u,f,b);return px(l,_,c),_}}function KP(e){if(e<UP)throw Error("sqrt is not defined for small field");let t=e-_t,r=0;while(t%Bs===nr)t/=Bs,r++;let i=Bs,n=pm(e);while(BP(n,i)===1)if(i++>1000)throw Error("Cannot find square root: probably non-prime P");if(r===1)return HP;let o=n.pow(i,t),s=(t+_t)/Bs;return function(c,l){let u=c;if(u.is0(l))return l;if(BP(u,l)!==1)throw Error("Cannot find square root");let f=r,p=u.mul(u.ONE,o),m=u.pow(l,t),y=u.pow(l,s);while(!u.eql(m,u.ONE)){if(u.is0(m))return u.ZERO;let g=1,b=u.sqr(m);while(!u.eql(b,u.ONE))if(g++,b=u.sqr(b),g===f)throw Error("Cannot find square root");let _=_t<<BigInt(f-g-1),T=u.pow(p,_);f=g,p=u.sqr(T),m=u.mul(m,p),y=u.mul(y,T)}return y}}function S7(e){if(e%qP===UP)return HP;if(e%MP===ZP)return y7;if(e%FP===g7)return b7(e);return KP(e)}var Ni=(e,t)=>(gt(e,t)&_t)===_t,x7=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function mx(e){let t={ORDER:"bigint",BYTES:"number",BITS:"number"},r=x7.reduce((i,n)=>(i[n]="function",i),t);if(fn(e,r),ei(e.BYTES,"BYTES"),ei(e.BITS,"BITS"),e.BYTES<1||e.BITS<1)throw Error("invalid field: expected BYTES/BITS > 0");if(e.ORDER<=_t)throw Error("invalid field: expected ORDER > 1, got "+e.ORDER);return e}function w7(e,t,r){let i=e;if(r<nr)throw Error("invalid exponent, negatives unsupported");if(r===nr)return i.ONE;if(r===_t)return t;let n=i.ONE,o=t;while(r>nr){if(r&_t)n=i.mul(n,o);o=i.sqr(o),r>>=_t}return n}function Zu(e,t,r=!1){let i=e,n=Array(t.length).fill(r?i.ZERO:void 0),o=t.reduce((a,c,l)=>{if(i.is0(c))return a;return n[l]=a,i.mul(a,c)},i.ONE),s=i.inv(o);return t.reduceRight((a,c,l)=>{if(i.is0(c))return a;return n[l]=i.mul(a,n[l]),i.mul(a,c)},s),n}function BP(e,t){let r=e,i=(r.ORDER-_t)/Bs,n=r.pow(t,i),o=r.eql(n,r.ONE),s=r.eql(n,r.ZERO),a=r.eql(n,r.neg(r.ONE));if(!o&&!s&&!a)throw Error("invalid Legendre symbol result");return o?1:s?0:-1}function v7(e,t){if(t!==void 0)dx(t);if(e<=nr)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=oc(e);if(t!==void 0&&t<r)throw Error(`invalid n length: expected bit length (${r}) >= n.length (${t})`);let i=t!==void 0?t:r,n=Math.ceil(i/8);return{nBitLength:i,nByteLength:n}}var jP=new WeakMap;class hx{ORDER;BITS;BYTES;isLE;ZERO=nr;ONE=_t;_lengths;_mod;constructor(e,t={}){if(e<=_t)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:i,nByteLength:n}=v7(e,r);if(n>2048)throw Error("invalid field: expected ORDER of <= 2048 bytes");this.ORDER=e,this.BITS=i,this.BYTES=n,Object.freeze(this)}create(e){return gt(e,this.ORDER)}isValid(e){if(typeof e!=="bigint")throw TypeError("invalid field element: expected bigint, got "+typeof e);return nr<=e&&e<this.ORDER}is0(e){return e===nr}isValidNot0(e){return!this.is0(e)&&this.isValid(e)}isOdd(e){return(e&_t)===_t}neg(e){return gt(-e,this.ORDER)}eql(e,t){return e===t}sqr(e){return gt(e*e,this.ORDER)}add(e,t){return gt(e+t,this.ORDER)}sub(e,t){return gt(e-t,this.ORDER)}mul(e,t){return gt(e*t,this.ORDER)}pow(e,t){return w7(this,e,t)}div(e,t){return gt(e*LP(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 LP(e,this.ORDER)}sqrt(e){let t=jP.get(this);if(!t)jP.set(this,t=S7(this.ORDER));return t(this,e)}toBytes(e){return this.isLE?Uu(e,this.BYTES):dm(e,this.BYTES)}fromBytes(e,t=!1){ct(e);let{_lengths:r,BYTES:i,isLE:n,ORDER:o,_mod:s}=this;if(r){if(e.length<1||!r.includes(e.length)||e.length>i)throw Error("Field.fromBytes: expected "+r+" bytes, got "+e.length);let c=new Uint8Array(i);c.set(e,n?0:c.length-e.length),e=c}if(e.length!==i)throw Error("Field.fromBytes: expected "+i+" bytes, got "+e.length);let a=n?An(e):Ls(e);if(s)a=gt(a,o);if(!t){if(!this.isValid(a))throw Error("invalid field element: outside of range 0..ORDER")}return a}invertBatch(e){return Zu(this,e)}cmov(e,t,r){return Pi(r,"condition"),r?t:e}}Object.freeze(hx.prototype);function pm(e,t={}){return new hx(e,t)}function JP(e){if(typeof e!=="bigint")throw Error("field order must be bigint");if(e<=_t)throw Error("field order must be greater than 1");let t=oc(e-_t);return Math.ceil(t/8)}function gx(e){let t=JP(e);return t+Math.ceil(t/2)}function VP(e,t,r=!1){ct(e);let i=e.length,n=JP(t),o=Math.max(gx(t),16);if(i<o||i>1024)throw Error("expected "+o+"-1024 bytes of input, got "+i);let s=r?An(e):Ls(e),a=gt(s,t-_t)+_t;return r?Uu(a,n):dm(a,n)}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var sc=BigInt(0),js=BigInt(1);function Mu(e,t){let r=t.negate();return e?r:t}function Us(e,t){let r=Zu(e.Fp,t.map((i)=>i.Z));return t.map((i,n)=>e.fromAffine(i.toAffine(r[n])))}function YP(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw Error("invalid window size, expected [1.."+t+"], got W="+e)}function yx(e,t){YP(e,t);let r=Math.ceil(t/e)+1,i=2**(e-1),n=2**e,o=qu(e),s=BigInt(e);return{windows:r,windowSize:i,mask:o,maxNumber:n,shiftBy:s}}function WP(e,t,r){let{windowSize:i,mask:n,maxNumber:o,shiftBy:s}=r,a=Number(e&n),c=e>>s;if(a>i)a-=o,c+=js;let l=t*i,u=l+Math.abs(a)-1,f=a===0,p=a<0,m=t%2!==0;return{nextN:c,offset:u,isZero:f,isNeg:p,isNegF:m,offsetF:l}}var bx=new WeakMap,XP=new WeakMap;function Sx(e){return XP.get(e)||1}function GP(e){if(e!==sc)throw Error("invalid wNAF")}class Fu{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 i=e;while(t>sc){if(t&js)r=r.add(i);i=i.double(),t>>=js}return r}precomputeWindow(e,t){let{windows:r,windowSize:i}=yx(t,this.bits),n=[],o=e,s=o;for(let a=0;a<r;a++){s=o,n.push(s);for(let c=1;c<i;c++)s=s.add(o),n.push(s);o=s.double()}return n}wNAF(e,t,r){if(!this.Fn.isValid(r))throw Error("invalid scalar");let i=this.ZERO,n=this.BASE,o=yx(e,this.bits);for(let s=0;s<o.windows;s++){let{nextN:a,offset:c,isZero:l,isNeg:u,isNegF:f,offsetF:p}=WP(r,s,o);if(r=a,l)n=n.add(Mu(f,t[p]));else i=i.add(Mu(u,t[c]))}return GP(r),{p:i,f:n}}wNAFUnsafe(e,t,r,i=this.ZERO){let n=yx(e,this.bits);for(let o=0;o<n.windows;o++){if(r===sc)break;let{nextN:s,offset:a,isZero:c,isNeg:l}=WP(r,o,n);if(r=s,c)continue;else{let u=t[a];i=i.add(l?u.negate():u)}}return GP(r),i}getPrecomputes(e,t,r){let i=bx.get(t);if(!i){if(i=this.precomputeWindow(t,e),e!==1){if(typeof r==="function")i=r(i);bx.set(t,i)}}return i}cached(e,t,r){let i=Sx(e);return this.wNAF(i,this.getPrecomputes(i,e,r),t)}unsafe(e,t,r,i){let n=Sx(e);if(n===1)return this._unsafeLadder(e,t,i);return this.wNAFUnsafe(n,this.getPrecomputes(n,e,r),t,i)}createCache(e,t){YP(t,this.bits),XP.set(e,t),bx.delete(e)}hasCache(e){return Sx(e)!==1}}function ez(e,t,r,i){let n=t,o=e.ZERO,s=e.ZERO;while(r>sc||i>sc){if(r&js)o=o.add(n);if(i&js)s=s.add(n);n=n.double(),r>>=js,i>>=js}return{p1:o,p2:s}}function QP(e,t,r){if(t){if(t.ORDER!==e)throw Error("Field.ORDER must match order: Fp == p, Fn == n");return mx(t),t}else return pm(e,{isLE:r})}function mm(e,t,r={},i){if(i===void 0)i=e==="edwards";if(!t||typeof t!=="object")throw Error(`expected valid ${e} CURVE object`);for(let c of["p","n","h"]){let l=t[c];if(!(typeof l==="bigint"&&l>sc))throw Error(`CURVE.${c} must be positive bigint`)}let n=QP(t.p,r.Fp,i),o=QP(t.n,r.Fn,i),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:o}}function Hu(e,t){return function(i){let n=e(i);return{secretKey:n,publicKey:t(n)}}}function Ku(e,t){if(ei(e),ei(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 i=t-1;i>=0;i--)r[i]=e&255,e>>>=8;return new Uint8Array(r)}function _7(e,t){let r=new Uint8Array(e.length);for(let i=0;i<e.length;i++)r[i]=e[i]^t[i];return r}function k7(e){if(!nc(e)&&typeof e!=="string")throw Error("DST must be Uint8Array or ascii string");let t=typeof e==="string"?fm(e):e;if(t.length===0)throw Error("DST must be non-empty");return t}function xx(e,t,r,i){if(ct(e),ei(r),t=k7(t),t.length>255)t=i(rr(fm("H2C-OVERSIZE-DST-"),t));let{outputLen:n,blockLen:o}=i,s=Math.ceil(r/n);if(r>65535||s>255)throw Error("expand_message_xmd: invalid lenInBytes");let a=rr(t,Ku(t.length,1)),c=new Uint8Array(o),l=Ku(r,2),u=Array(s),f=i(rr(c,e,l,Ku(0,1),a));u[0]=i(rr(f,Ku(1,1),a));for(let m=1;m<s;m++){let y=[_7(f,u[m-1]),Ku(m+1,1),a];u[m]=i(rr(...y))}return rr(...u).slice(0,r)}var tz="HashToScalar-";/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var rz=(e,t)=>(e+(e>=0?t:-t)/iz)/t;function E7(e,t,r){zi("scalar",e,ti,r);let[[i,n],[o,s]]=t,a=rz(s*e,r),c=rz(-n*e,r),l=e-a*i-c*o,u=-a*n-c*s,f=l<ti,p=u<ti;if(f)l=-l;if(p)u=-u;let m=qu(Math.ceil(oc(r)/2))+Eo;if(l<ti||l>=m||u<ti||u>=m)throw Error("splitScalar (endomorphism): failed for k");return{k1neg:f,k1:l,k2neg:p,k2:u}}function vx(e){if(!["compact","recovered","der"].includes(e))throw Error('Signature format must be "compact", "recovered", or "der"');return e}function wx(e,t){fn(e);let r={};for(let i of Object.keys(t))r[i]=e[i]===void 0?t[i]:e[i];if(Pi(r.lowS,"lowS"),Pi(r.prehash,"prehash"),r.format!==void 0)vx(r.format);return r}class nz extends Error{constructor(e=""){super(e)}}var $n={Err:nz,_tlv:{encode:(e,t)=>{let{Err:r}=$n;if(ei(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 i=t.length/2,n=ju(i);if(n.length/2&128)throw new r("tlv.encode: long form length too big");let o=i>127?ju(n.length/2|128):"";return ju(e)+o+n+t},decode(e,t){let{Err:r}=$n;t=ct(t,void 0,"DER data");let i=0;if(e<0||e>255)throw new r("tlv.encode: wrong tag");if(t.length<2||t[i++]!==e)throw new r("tlv.decode: wrong tlv");let n=t[i++],o=!!(n&128),s=0;if(!o)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 l=t.subarray(i,i+c);if(l.length!==c)throw new r("tlv.decode: length bytes not complete");if(l[0]===0)throw new r("tlv.decode(long): zero leftmost byte");for(let u of l)s=s<<8|u;if(i+=c,s<128)throw new r("tlv.decode(long): not minimal encoding")}let a=t.subarray(i,i+s);if(a.length!==s)throw new r("tlv.decode: wrong value length");return{v:a,l:t.subarray(i+s)}}},_int:{encode(e){let{Err:t}=$n;if(um(e),e<ti)throw new t("integer: negative integers are not allowed");let r=ju(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}=$n;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 Ls(e)}},toSig(e){let{Err:t,_int:r,_tlv:i}=$n,n=ct(e,void 0,"signature"),{v:o,l:s}=i.decode(48,n);if(s.length)throw new t("invalid signature: left bytes after parsing");let{v:a,l:c}=i.decode(2,o),{v:l,l:u}=i.decode(2,c);if(u.length)throw new t("invalid signature: left bytes after parsing");return{r:r.decode(a),s:r.decode(l)}},hexFromSig(e){let{_tlv:t,_int:r}=$n,i=t.encode(2,r.encode(e.r)),n=t.encode(2,r.encode(e.s)),o=i+n;return t.encode(48,o)}};Object.freeze($n._tlv);Object.freeze($n._int);Object.freeze($n);var ti=BigInt(0),Eo=BigInt(1),iz=BigInt(2),hm=BigInt(3),I7=BigInt(4);function oz(e,t={}){let r=mm("weierstrass",e,t),i=r.Fp,n=r.Fn,o=r.CURVE,{h:s,n:a}=o;fn(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object"});let{endo:c,allowInfinityPoint:l}=t;if(c){if(!i.is0(o.a)||typeof c.beta!=="bigint"||!Array.isArray(c.basises))throw Error('invalid endo: expected "beta": bigint and "basises": array')}let u=az(i,n);function f(){if(!i.isOdd)throw Error("compression is not supported: Field does not have .isOdd()")}function p(Z,P,N){if(l&&P.is0())return Uint8Array.of(0);let{x:I,y:O}=P.toAffine(),R=i.toBytes(I);if(Pi(N,"isCompressed"),N){f();let M=!i.isOdd(O);return rr(sz(M),R)}else return rr(Uint8Array.of(4),R,i.toBytes(O))}function m(Z){ct(Z,void 0,"Point");let{publicKey:P,publicKeyUncompressed:N}=u,I=Z.length,O=Z[0],R=Z.subarray(1);if(l&&I===1&&O===0)return{x:i.ZERO,y:i.ZERO};if(I===P&&(O===2||O===3)){let M=i.fromBytes(R);if(!i.isValid(M))throw Error("bad point: is not on curve, wrong x");let L=b(M),V;try{V=i.sqrt(L)}catch(ue){let C=ue instanceof Error?": "+ue.message:"";throw Error("bad point: is not on curve, sqrt error"+C)}f();let k=i.isOdd(V);if((O&1)===1!==k)V=i.neg(V);return{x:M,y:V}}else if(I===N&&O===4){let M=i.BYTES,L=i.fromBytes(R.subarray(0,M)),V=i.fromBytes(R.subarray(M,M*2));if(!_(L,V))throw Error("bad point: is not on curve");return{x:L,y:V}}else throw Error(`bad point: got length ${I}, expected compressed=${P} or uncompressed=${N}`)}let y=t.toBytes===void 0?p:t.toBytes,g=t.fromBytes===void 0?m:t.fromBytes;function b(Z){let P=i.sqr(Z),N=i.mul(P,Z);return i.add(i.add(N,i.mul(Z,o.a)),o.b)}function _(Z,P){let N=i.sqr(P),I=b(Z);return i.eql(N,I)}if(!_(o.Gx,o.Gy))throw Error("bad curve params: generator point");let T=i.mul(i.pow(o.a,hm),I7),A=i.mul(i.sqr(o.b),BigInt(27));if(i.is0(i.add(T,A)))throw Error("bad curve params: a or b");function z(Z,P,N=!1){if(!i.isValid(P)||N&&i.is0(P))throw Error(`bad point coordinate ${Z}`);return P}function j(Z){if(!(Z instanceof D))throw Error("Weierstrass Point expected")}function E(Z){if(!c||!c.basises)throw Error("no endo");return E7(Z,c.basises,n.ORDER)}function F(Z,P,N,I,O){return N=new D(i.mul(N.X,Z),N.Y,N.Z),P=Mu(I,P),N=Mu(O,N),P.add(N)}class D{static BASE=new D(o.Gx,o.Gy,i.ONE);static ZERO=new D(i.ZERO,i.ONE,i.ZERO);static Fp=i;static Fn=n;X;Y;Z;constructor(Z,P,N){this.X=z("x",Z),this.Y=z("y",P,!0),this.Z=z("z",N),Object.freeze(this)}static CURVE(){return o}static fromAffine(Z){let{x:P,y:N}=Z||{};if(!Z||!i.isValid(P)||!i.isValid(N))throw Error("invalid affine point");if(Z instanceof D)throw Error("projective point not allowed");if(i.is0(P)&&i.is0(N))return D.ZERO;return new D(P,N,i.ONE)}static fromBytes(Z){let P=D.fromAffine(g(ct(Z,void 0,"point")));return P.assertValidity(),P}static fromHex(Z){return D.fromBytes(rc(Z))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(Z=8,P=!0){if(X.createCache(this,Z),!P)this.multiply(hm);return this}assertValidity(){let Z=this;if(Z.is0()){if(t.allowInfinityPoint&&i.is0(Z.X)&&i.eql(Z.Y,i.ONE)&&i.is0(Z.Z))return;throw Error("bad point: ZERO")}let{x:P,y:N}=Z.toAffine();if(!i.isValid(P)||!i.isValid(N))throw Error("bad point: x or y not field elements");if(!_(P,N))throw Error("bad point: equation left != right");if(!Z.isTorsionFree())throw Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:Z}=this.toAffine();if(!i.isOdd)throw Error("Field doesn't support isOdd");return!i.isOdd(Z)}equals(Z){j(Z);let{X:P,Y:N,Z:I}=this,{X:O,Y:R,Z:M}=Z,L=i.eql(i.mul(P,M),i.mul(O,I)),V=i.eql(i.mul(N,M),i.mul(R,I));return L&&V}negate(){return new D(this.X,i.neg(this.Y),this.Z)}double(){let{a:Z,b:P}=o,N=i.mul(P,hm),{X:I,Y:O,Z:R}=this,M=i.ZERO,L=i.ZERO,V=i.ZERO,k=i.mul(I,I),te=i.mul(O,O),ue=i.mul(R,R),C=i.mul(I,O);return C=i.add(C,C),V=i.mul(I,R),V=i.add(V,V),M=i.mul(Z,V),L=i.mul(N,ue),L=i.add(M,L),M=i.sub(te,L),L=i.add(te,L),L=i.mul(M,L),M=i.mul(C,M),V=i.mul(N,V),ue=i.mul(Z,ue),C=i.sub(k,ue),C=i.mul(Z,C),C=i.add(C,V),V=i.add(k,k),k=i.add(V,k),k=i.add(k,ue),k=i.mul(k,C),L=i.add(L,k),ue=i.mul(O,R),ue=i.add(ue,ue),k=i.mul(ue,C),M=i.sub(M,k),V=i.mul(ue,te),V=i.add(V,V),V=i.add(V,V),new D(M,L,V)}add(Z){j(Z);let{X:P,Y:N,Z:I}=this,{X:O,Y:R,Z:M}=Z,L=i.ZERO,V=i.ZERO,k=i.ZERO,te=o.a,ue=i.mul(o.b,hm),C=i.mul(P,O),be=i.mul(N,R),Ee=i.mul(I,M),Ce=i.add(P,N),Re=i.add(O,R);Ce=i.mul(Ce,Re),Re=i.add(C,be),Ce=i.sub(Ce,Re),Re=i.add(P,I);let _e=i.add(O,M);return Re=i.mul(Re,_e),_e=i.add(C,Ee),Re=i.sub(Re,_e),_e=i.add(N,I),L=i.add(R,M),_e=i.mul(_e,L),L=i.add(be,Ee),_e=i.sub(_e,L),k=i.mul(te,Re),L=i.mul(ue,Ee),k=i.add(L,k),L=i.sub(be,k),k=i.add(be,k),V=i.mul(L,k),be=i.add(C,C),be=i.add(be,C),Ee=i.mul(te,Ee),Re=i.mul(ue,Re),be=i.add(be,Ee),Ee=i.sub(C,Ee),Ee=i.mul(te,Ee),Re=i.add(Re,Ee),C=i.mul(be,Re),V=i.add(V,C),C=i.mul(_e,Re),L=i.mul(Ce,L),L=i.sub(L,C),C=i.mul(Ce,be),k=i.mul(_e,k),k=i.add(k,C),new D(L,V,k)}subtract(Z){return j(Z),this.add(Z.negate())}is0(){return this.equals(D.ZERO)}multiply(Z){let{endo:P}=t;if(!n.isValidNot0(Z))throw RangeError("invalid scalar: out of range");let N,I,O=(R)=>X.cached(this,R,(M)=>Us(D,M));if(P){let{k1neg:R,k1:M,k2neg:L,k2:V}=E(Z),{p:k,f:te}=O(M),{p:ue,f:C}=O(V);I=te.add(C),N=F(P.beta,k,ue,R,L)}else{let{p:R,f:M}=O(Z);N=R,I=M}return Us(D,[N,I])[0]}multiplyUnsafe(Z){let{endo:P}=t,N=this,I=Z;if(!n.isValid(I))throw RangeError("invalid scalar: out of range");if(I===ti||N.is0())return D.ZERO;if(I===Eo)return N;if(X.hasCache(this))return this.multiply(I);if(P){let{k1neg:O,k1:R,k2neg:M,k2:L}=E(I),{p1:V,p2:k}=ez(D,N,R,L);return F(P.beta,V,k,O,M)}else return X.unsafe(N,I)}toAffine(Z){let P=this,N=Z,{X:I,Y:O,Z:R}=P;if(i.eql(R,i.ONE))return{x:I,y:O};let M=P.is0();if(N==null)N=M?i.ONE:i.inv(R);let L=i.mul(I,N),V=i.mul(O,N),k=i.mul(R,N);if(M)return{x:i.ZERO,y:i.ZERO};if(!i.eql(k,i.ONE))throw Error("invZ was invalid");return{x:L,y:V}}isTorsionFree(){let{isTorsionFree:Z}=t;if(s===Eo)return!0;if(Z)return Z(D,this);return X.unsafe(this,a).is0()}clearCofactor(){let{clearCofactor:Z}=t;if(s===Eo)return this;if(Z)return Z(D,this);return this.multiplyUnsafe(s)}isSmallOrder(){if(s===Eo)return this.is0();return this.clearCofactor().is0()}toBytes(Z=!0){return Pi(Z,"isCompressed"),this.assertValidity(),y(D,this,Z)}toHex(Z=!0){return tc(this.toBytes(Z))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let H=n.BITS,X=new Fu(D,t.endo?Math.ceil(H/2):H);if(H>=8)D.BASE.precompute(8);return Object.freeze(D.prototype),Object.freeze(D),D}function sz(e){return Uint8Array.of(e?2:3)}function az(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function T7(e,t={}){let{Fn:r}=e,i=t.randomBytes===void 0?ic:t.randomBytes,n=Object.assign(az(e.Fp,r),{seed:Math.max(gx(r.ORDER),16)});function o(m){try{let y=r.fromBytes(m);return r.isValidNot0(y)}catch(y){return!1}}function s(m,y){let{publicKey:g,publicKeyUncompressed:b}=n;try{let _=m.length;if(y===!0&&_!==g)return!1;if(y===!1&&_!==b)return!1;return!!e.fromBytes(m)}catch(_){return!1}}function a(m){return m=m===void 0?i(n.seed):m,VP(ct(m,n.seed,"seed"),r.ORDER)}function c(m,y=!0){return e.BASE.multiply(r.fromBytes(m)).toBytes(y)}function l(m){let{secretKey:y,publicKey:g,publicKeyUncompressed:b}=n,_=r._lengths;if(!nc(m))return;let T=ct(m,void 0,"key").length,A=T===g||T===b,z=T===y||!!_?.includes(T);if(A&&z)return;return A}function u(m,y,g=!0){if(l(m)===!0)throw Error("first arg must be private key");if(l(y)===!1)throw Error("second arg must be public key");let b=r.fromBytes(m);return e.fromBytes(y).multiply(b).toBytes(g)}let f={isValidSecretKey:o,isValidPublicKey:s,randomSecretKey:a},p=Hu(a,c);return Object.freeze(f),Object.freeze(n),Object.freeze({getPublicKey:c,getSharedSecret:u,keygen:p,Point:e,utils:f,lengths:n})}function cz(e,t,r={}){let i=t;ki(i),fn(r,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"}),r=Object.assign({},r);let n=r.randomBytes===void 0?ic:r.randomBytes,o=r.hmac===void 0?(O,R)=>Vn(i,O,R):r.hmac,{Fp:s,Fn:a}=e,{ORDER:c,BITS:l}=a,{keygen:u,getPublicKey:f,getSharedSecret:p,utils:m,lengths:y}=T7(e,r),g={prehash:!0,lowS:typeof r.lowS==="boolean"?r.lowS:!0,format:"compact",extraEntropy:!1},b=c*iz+Eo<s.ORDER;function _(O){let R=c>>Eo;return O>R}function T(O,R){if(!a.isValidNot0(R))throw Error(`invalid signature ${O}: out of range 1..Point.Fn.ORDER`);return R}function A(){if(b)throw Error('"recovered" sig type is not supported for cofactor >2 curves')}function z(O,R){vx(R);let M=y.signature,L=R==="compact"?M:R==="recovered"?M+1:void 0;return ct(O,L)}class j{r;s;recovery;constructor(O,R,M){if(this.r=T("r",O),this.s=T("s",R),M!=null){if(A(),![0,1,2,3].includes(M))throw Error("invalid recovery id");this.recovery=M}Object.freeze(this)}static fromBytes(O,R=g.format){z(O,R);let M;if(R==="der"){let{r:te,s:ue}=$n.toSig(ct(O));return new j(te,ue)}if(R==="recovered")M=O[0],R="compact",O=O.subarray(1);let L=y.signature/2,V=O.subarray(0,L),k=O.subarray(L,L*2);return new j(a.fromBytes(V),a.fromBytes(k),M)}static fromHex(O,R){return this.fromBytes(rc(O),R)}assertRecovery(){let{recovery:O}=this;if(O==null)throw Error("invalid recovery id: must be present");return O}addRecoveryBit(O){return new j(this.r,this.s,O)}recoverPublicKey(O){let{r:R,s:M}=this,L=this.assertRecovery(),V=L===2||L===3?R+c:R;if(!s.isValid(V))throw Error("invalid recovery id: sig.r+curve.n != R.x");let k=s.toBytes(V),te=e.fromBytes(rr(sz((L&1)===0),k)),ue=a.inv(V),C=F(ct(O,void 0,"msgHash")),be=a.create(-C*ue),Ee=a.create(M*ue),Ce=e.BASE.multiplyUnsafe(be).add(te.multiplyUnsafe(Ee));if(Ce.is0())throw Error("invalid recovery: point at infinify");return Ce.assertValidity(),Ce}hasHighS(){return _(this.s)}toBytes(O=g.format){if(vx(O),O==="der")return rc($n.hexFromSig(this));let{r:R,s:M}=this,L=a.toBytes(R),V=a.toBytes(M);if(O==="recovered")return A(),rr(Uint8Array.of(this.assertRecovery()),L,V);return rr(L,V)}toHex(O){return tc(this.toBytes(O))}}Object.freeze(j.prototype),Object.freeze(j);let E=r.bits2int===void 0?function(R){if(R.length>8192)throw Error("input is too large");let M=Ls(R),L=R.length*8-l;return L>0?M>>BigInt(L):M}:r.bits2int,F=r.bits2int_modN===void 0?function(R){return a.create(E(R))}:r.bits2int_modN,D=qu(l);function H(O){return zi("num < 2^"+l,O,ti,D),a.toBytes(O)}function X(O,R){return ct(O,void 0,"message"),R?ct(i(O),void 0,"prehashed message"):O}function Z(O,R,M){let{lowS:L,prehash:V,extraEntropy:k}=wx(M,g);O=X(O,V);let te=F(O),ue=a.fromBytes(R);if(!a.isValidNot0(ue))throw Error("invalid private key");let C=[H(ue),H(te)];if(k!=null&&k!==!1){let Re=k===!0?n(y.secretKey):k;C.push(ct(Re,void 0,"extraEntropy"))}let be=rr(...C),Ee=te;function Ce(Re){let _e=E(Re);if(!a.isValidNot0(_e))return;let Je=a.inv(_e),Ne=e.BASE.multiply(_e).toAffine(),Ye=a.create(Ne.x);if(Ye===ti)return;let mt=a.create(Je*a.create(Ee+Ye*ue));if(mt===ti)return;let zt=(Ne.x===Ye?0:2)|Number(Ne.y&Eo),dr=mt;if(L&&_(mt))dr=a.neg(mt),zt^=1;return new j(Ye,dr,b?void 0:zt)}return{seed:be,k2sig:Ce}}function P(O,R,M={}){let{seed:L,k2sig:V}=Z(O,R,M);return DP(i.outputLen,a.BYTES,o)(L,V).toBytes(M.format)}function N(O,R,M,L={}){let{lowS:V,prehash:k,format:te}=wx(L,g);if(M=ct(M,void 0,"publicKey"),R=X(R,k),!nc(O)){let ue=O instanceof j?", use sig.toBytes()":"";throw Error("verify expects Uint8Array signature"+ue)}z(O,te);try{let ue=j.fromBytes(O,te),C=e.fromBytes(M);if(V&&ue.hasHighS())return!1;let{r:be,s:Ee}=ue,Ce=F(R),Re=a.inv(Ee),_e=a.create(Ce*Re),Je=a.create(be*Re),Ne=e.BASE.multiplyUnsafe(_e).add(C.multiplyUnsafe(Je));if(Ne.is0())return!1;return a.create(Ne.x)===be}catch(ue){return!1}}function I(O,R,M={}){let{prehash:L}=wx(M,g);return R=X(R,L),j.fromBytes(O,"recovered").recoverPublicKey(R).toBytes()}return Object.freeze({keygen:u,getPublicKey:f,getSharedSecret:p,utils:m,lengths:y,Point:e,sign:P,verify:N,recoverPublicKey:I,Signature:j,hash:i})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var A7=(()=>({p:BigInt("0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff"),n:BigInt("0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551"),h:BigInt(1),a:BigInt("0xffffffff00000001000000000000000000000000fffffffffffffffffffffffc"),b:BigInt("0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b"),Gx:BigInt("0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296"),Gy:BigInt("0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5")}))();var $7=oz(A7),ac=cz($7,$t);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var Io=BigInt(0),jr=BigInt(1),_x=BigInt(2),C7=BigInt(8);function R7(e,t,r,i){let n=e.sqr(r),o=e.sqr(i),s=e.add(e.mul(t.a,n),o),a=e.add(e.ONE,e.mul(t.d,e.mul(n,o)));return e.eql(s,a)}function lz(e,t={}){let r=t,i=mm("edwards",e,r,r.FpFnLE),{Fp:n,Fn:o}=i,s=i.CURVE,{h:a}=s;fn(r,{},{uvRatio:"function"});let c=_x<<BigInt(o.BYTES*8)-jr,l=(g)=>n.create(g),u=r.uvRatio===void 0?(g,b)=>{try{return{isValid:!0,value:n.sqrt(n.div(g,b))}}catch(_){return{isValid:!1,value:Io}}}:r.uvRatio;if(!R7(n,s,s.Gx,s.Gy))throw Error("bad curve params: generator point");function f(g,b,_=!1){let T=_?jr:Io;return zi("coordinate "+g,b,T,c),b}function p(g){if(!(g instanceof m))throw Error("EdwardsPoint expected")}class m{static BASE=new m(s.Gx,s.Gy,jr,l(s.Gx*s.Gy));static ZERO=new m(Io,jr,jr,Io);static Fp=n;static Fn=o;X;Y;Z;T;constructor(g,b,_,T){this.X=f("x",g),this.Y=f("y",b),this.Z=f("z",_,!0),this.T=f("t",T),Object.freeze(this)}static CURVE(){return s}static fromAffine(g){if(g instanceof m)throw Error("extended point not allowed");let{x:b,y:_}=g||{};return f("x",b),f("y",_),new m(b,_,jr,l(b*_))}static fromBytes(g,b=!1){let _=n.BYTES,{a:T,d:A}=s;g=ko(ct(g,_,"point")),Pi(b,"zip215");let z=ko(g),j=g[_-1];z[_-1]=j&-129;let E=An(z),F=b?c:n.ORDER;zi("point.y",E,Io,F);let D=l(E*E),H=l(D-jr),X=l(A*D-T),{isValid:Z,value:P}=u(H,X);if(!Z)throw Error("bad point: invalid y coordinate");let N=(P&jr)===jr,I=(j&128)!==0;if(!b&&P===Io&&I)throw Error("bad point: x=0 and x_0=1");if(I!==N)P=l(-P);return m.fromAffine({x:P,y:E})}static fromHex(g,b=!1){return m.fromBytes(rc(g),b)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(g=8,b=!0){if(y.createCache(this,g),!b)this.multiply(_x);return this}assertValidity(){let g=this,{a:b,d:_}=s;if(g.is0())throw Error("bad point: ZERO");let{X:T,Y:A,Z:z,T:j}=g,E=l(T*T),F=l(A*A),D=l(z*z),H=l(D*D),X=l(E*b),Z=l(D*l(X+F)),P=l(H+l(_*l(E*F)));if(Z!==P)throw Error("bad point: equation left != right (1)");let N=l(T*A),I=l(z*j);if(N!==I)throw Error("bad point: equation left != right (2)")}equals(g){p(g);let{X:b,Y:_,Z:T}=this,{X:A,Y:z,Z:j}=g,E=l(b*j),F=l(A*T),D=l(_*j),H=l(z*T);return E===F&&D===H}is0(){return this.equals(m.ZERO)}negate(){return new m(l(-this.X),this.Y,this.Z,l(-this.T))}double(){let{a:g}=s,{X:b,Y:_,Z:T}=this,A=l(b*b),z=l(_*_),j=l(_x*l(T*T)),E=l(g*A),F=b+_,D=l(l(F*F)-A-z),H=E+z,X=H-j,Z=E-z,P=l(D*X),N=l(H*Z),I=l(D*Z),O=l(X*H);return new m(P,N,O,I)}add(g){p(g);let{a:b,d:_}=s,{X:T,Y:A,Z:z,T:j}=this,{X:E,Y:F,Z:D,T:H}=g,X=l(T*E),Z=l(A*F),P=l(j*_*H),N=l(z*D),I=l((T+A)*(E+F)-X-Z),O=N-P,R=N+P,M=l(Z-b*X),L=l(I*O),V=l(R*M),k=l(I*M),te=l(O*R);return new m(L,V,te,k)}subtract(g){return p(g),this.add(g.negate())}multiply(g){if(!o.isValidNot0(g))throw RangeError("invalid scalar: expected 1 <= sc < curve.n");let{p:b,f:_}=y.cached(this,g,(T)=>Us(m,T));return Us(m,[b,_])[0]}multiplyUnsafe(g){if(!o.isValid(g))throw RangeError("invalid scalar: expected 0 <= sc < curve.n");if(g===Io)return m.ZERO;if(this.is0()||g===jr)return this;return y.unsafe(this,g,(b)=>Us(m,b))}isSmallOrder(){return this.clearCofactor().is0()}isTorsionFree(){return y.unsafe(this,s.n).is0()}toAffine(g){let b=this,_=g,{X:T,Y:A,Z:z}=b,j=b.is0();if(_==null)_=j?C7:n.inv(z);let E=l(T*_),F=l(A*_),D=n.mul(z,_);if(j)return{x:Io,y:jr};if(D!==jr)throw Error("invZ was invalid");return{x:E,y:F}}clearCofactor(){if(a===jr)return this;return this.multiplyUnsafe(a)}toBytes(){let{x:g,y:b}=this.toAffine(),_=n.toBytes(b);return _[_.length-1]|=g&jr?128:0,_}toHex(){return tc(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let y=new Fu(m,o.BITS);if(o.BITS>=8)m.BASE.precompute(8);return Object.freeze(m.prototype),Object.freeze(m),m}class kx{static BASE;static ZERO;static Fp;static Fn;ep;constructor(e){this.ep=e}static fromBytes(e){fx()}static fromHex(e){fx()}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 tc(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 Ju=BigInt(0),cc=BigInt(1),gm=BigInt(2);function O7(e){return fn(e,{P:"bigint",type:"string",adjustScalarBytes:"function",powPminus2:"function"},{randomBytes:"function"}),Object.freeze({...e})}function uz(e){let t=O7(e),{P:r,type:i,adjustScalarBytes:n,powPminus2:o,randomBytes:s}=t,a=i==="x25519";if(!a&&i!=="x448")throw Error("invalid type");let c=s===void 0?ic:s,l=a?255:448,u=a?32:56,f=a?BigInt(9):BigInt(5),p=a?BigInt(121665):BigInt(39081),m=a?gm**BigInt(254):gm**BigInt(447),y=a?BigInt(8)*gm**BigInt(251)-cc:BigInt(4)*gm**BigInt(445)-cc,g=m+y+cc,b=(I)=>gt(I,r),_=T(f);function T(I){return Uu(b(I),u)}function A(I){let O=ko(ct(I,u,"uCoordinate"));if(a)O[31]&=127;return b(An(O))}function z(I){return An(n(ko(ct(I,u,"scalar"))))}function j(I,O){let R=X(A(O),z(I));if(R===Ju)throw Error("invalid private or public key received");return T(R)}function E(I){return j(I,_)}let F=E,D=j;function H(I,O,R){let M=b(I*(O-R));return O=b(O-M),R=b(R+M),{x_2:O,x_3:R}}function X(I,O){zi("u",I,Ju,r),zi("scalar",O,m,g);let R=O,M=I,L=cc,V=Ju,k=I,te=cc,ue=Ju;for(let be=BigInt(l-1);be>=Ju;be--){let Ee=R>>be&cc;ue^=Ee,{x_2:L,x_3:k}=H(ue,L,k),{x_2:V,x_3:te}=H(ue,V,te),ue=Ee;let Ce=L+V,Re=b(Ce*Ce),_e=L-V,Je=b(_e*_e),Ne=Re-Je,Ye=k+te,mt=k-te,zt=b(mt*Ce),dr=b(Ye*_e),Kr=zt+dr,Jr=zt-dr;k=b(Kr*Kr),te=b(M*b(Jr*Jr)),L=b(Re*Je),V=b(Ne*(Re+b(p*Ne)))}({x_2:L,x_3:k}=H(ue,L,k)),{x_2:V,x_3:te}=H(ue,V,te);let C=o(V);return b(L*C)}let Z={secretKey:u,publicKey:u,seed:u},P=(I)=>(I=I===void 0?c(u):I,ct(I,Z.seed,"seed"),I),N={randomSecretKey:P};return Object.freeze(Z),Object.freeze(N),Object.freeze({keygen:Hu(P,F),getSharedSecret:D,getPublicKey:F,scalarMult:j,scalarMultBase:E,utils:N,GuBytes:_.slice(),lengths:Z})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var P7=BigInt(0),Di=BigInt(1),dz=BigInt(2),z7=BigInt(3),N7=BigInt(5),D7=BigInt(8),Zs=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),Ax=(()=>({p:Zs,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:D7,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")}))();function mz(e){let t=BigInt(10),r=BigInt(20),i=BigInt(40),n=BigInt(80),o=Zs,a=e*e%o*e%o,c=pn(a,dz,o)*a%o,l=pn(c,Di,o)*e%o,u=pn(l,N7,o)*l%o,f=pn(u,t,o)*u%o,p=pn(f,r,o)*f%o,m=pn(p,i,o)*p%o,y=pn(m,n,o)*m%o,g=pn(y,n,o)*m%o,b=pn(g,t,o)*u%o;return{pow_p_5_8:pn(b,dz,o)*e%o,b2:a}}function L7(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var Ex=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function $x(e,t){let r=Zs,i=gt(t*t*t,r),n=gt(i*i*t,r),o=mz(e*n).pow_p_5_8,s=gt(e*i*o,r),a=gt(t*s*s,r),c=s,l=gt(s*Ex,r),u=a===e,f=a===gt(-e,r),p=a===gt(-e*Ex,r);if(u)s=c;if(f||p)s=l;if(Ni(s,r))s=gt(-s,r);return{isValid:u||f,value:s}}var qs=lz(Ax,{uvRatio:$x}),To=(()=>qs.Fp)(),hz=(()=>qs.Fn)();var ym=(()=>{let e=Zs;return uz({P:e,type:"x25519",powPminus2:(t)=>{let{pow_p_5_8:r,b2:i}=mz(t);return gt(pn(r,z7,e)*i,e)},adjustScalarBytes:L7})})();var Ix=Ex,B7=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),j7=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),U7=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),q7=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),fz=(e)=>$x(Di,e),Z7=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),Tx=(e)=>To.create(An(e)&Z7);function pz(e){let{d:t}=Ax,r=Zs,i=(_)=>To.create(_),n=i(Ix*e*e),o=i((n+Di)*U7),s=BigInt(-1),a=i((s-t*n)*i(n+t)),{isValid:c,value:l}=$x(o,a),u=i(l*e);if(!Ni(u,r))u=i(-u);if(!c)l=u;if(!c)s=n;let f=i(s*(n-Di)*q7-a),p=l*l,m=i((l+l)*a),y=i(f*B7),g=i(Di-p),b=i(Di+p);return new qs(i(m*b),i(g*y),i(y*b),i(m*g))}class Tr extends kx{static BASE=(()=>new Tr(qs.BASE))();static ZERO=(()=>new Tr(qs.ZERO))();static Fp=(()=>To)();static Fn=(()=>hz)();constructor(e){super(e)}static fromAffine(e){return new Tr(qs.fromAffine(e))}assertSame(e){if(!(e instanceof Tr))throw Error("RistrettoPoint expected")}init(e){return new Tr(e)}static fromBytes(e){Yt(e,32);let{a:t,d:r}=Ax,i=Zs,n=(A)=>To.create(A),o=Tx(e);if(!NP(To.toBytes(o),e)||Ni(o,i))throw Error("invalid ristretto255 encoding 1");let s=n(o*o),a=n(Di+t*s),c=n(Di-t*s),l=n(a*a),u=n(c*c),f=n(t*r*l-u),{isValid:p,value:m}=fz(n(f*u)),y=n(m*c),g=n(m*y*f),b=n((o+o)*y);if(Ni(b,i))b=n(-b);let _=n(a*g),T=n(b*_);if(!p||Ni(T,i)||_===P7)throw Error("invalid ristretto255 encoding 2");return new Tr(new qs(b,_,Di,T))}static fromHex(e){return Tr.fromBytes(hu(e))}toBytes(){let{X:e,Y:t,Z:r,T:i}=this.ep,n=Zs,o=(g)=>To.create(g),s=o(o(r+t)*o(r-t)),a=o(e*t),c=o(a*a),{value:l}=fz(o(s*c)),u=o(l*s),f=o(l*a),p=o(u*f*i),m;if(Ni(i*p,n)){let g=o(t*Ix),b=o(e*Ix);e=g,t=b,m=o(u*j7)}else m=f;if(Ni(e*p,n))t=o(-t);let y=o((r-t)*m);if(Ni(y,n))y=o(-y);return To.toBytes(y)}equals(e){this.assertSame(e);let{X:t,Y:r}=this.ep,{X:i,Y:n}=e.ep,o=(c)=>To.create(c),s=o(t*n)===o(r*i),a=o(r*n)===o(t*i);return s||a}is0(){return this.equals(Tr.ZERO)}}Object.freeze(Tr.BASE);Object.freeze(Tr.ZERO);Object.freeze(Tr.prototype);Object.freeze(Tr);var M7=Object.freeze({Point:Tr,hashToCurve(e,t){let r=t?.DST===void 0?"ristretto255_XMD:SHA-512_R255MAP_RO_":t.DST,i=xx(e,r,64,Np);return M7.deriveToCurve(i)},hashToScalar(e,t={DST:tz}){let r=xx(e,t.DST,64,Np);return hz.create(An(r))},deriveToCurve(e){Yt(e,64);let t=Tx(e.subarray(0,32)),r=pz(t),i=Tx(e.subarray(32,64)),n=pz(i);return new Tr(r.add(n))}});var gz=!1,F7=!1;async function yz(e,t){if(F7)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 bm(e,t){return await yz(async()=>{let r=Cx(e)?e:await K7(e),i=await crypto.subtle.importKey("raw",J7(t),{name:"X25519"},gz,[]);return new Uint8Array(await crypto.subtle.deriveBits({name:"X25519",public:i},r,256))},()=>{if(Cx(e))throw Error("CryptoKey provided but X25519 WebCrypto is not supported");return ym.scalarMult(e,t)})}async function Vu(e){return await yz(async()=>bm(e,ym.GuBytes),()=>{if(Cx(e))throw Error("CryptoKey provided but X25519 WebCrypto is not supported");return ym.scalarMultBase(e)})}var H7=new Uint8Array([48,46,2,1,0,48,5,6,3,43,101,110,4,34,4,32]);async function K7(e){if(e.length!==32)throw Error("X25519 private key must be 32 bytes");let t=new Uint8Array([...H7,...e]);return crypto.subtle.importKey("pkcs8",t,{name:"X25519"},gz,["deriveBits"])}function Cx(e){return typeof CryptoKey<"u"&&e instanceof CryptoKey}function J7(e){return e}class Rx{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),W7(Ms(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=Ms(e),null;this.buf=r.value}}close(){return this.s.releaseLock(),{rest:this.buf,transcript:Ms(this.transcript)}}}function W7(e){return e.forEach((t)=>{if(t<32||t>126)throw Error("invalid non-ASCII byte in header")}),new TextDecoder().decode(e)}function Ms(e){let t=e.reduce((n,o)=>n+o.length,0),r=new Uint8Array(t),i=0;for(let n of e)r.set(n,i),i+=n.length;return r}function lc(e,...t){return e.pipeThrough(new TransformStream({start(r){for(let i of t)r.enqueue(i)}}))}function Sm(e){return new ReadableStream({start(t){t.enqueue(e),t.close()}})}async function Ox(e){if(!(e instanceof ReadableStream))throw Error("readAll expects a ReadableStream<Uint8Array>");return new Uint8Array(await new Response(e).arrayBuffer())}async function bz(e){if(!(e instanceof ReadableStream))throw Error("readAllString expects a ReadableStream<Uint8Array>");return await new Response(e).text()}async function Sz(e,t){let r=e.getReader(),i=[],n=0;while(n<t){let{done:c,value:l}=await r.read();if(c)throw Error("stream ended before reading "+t.toString()+" bytes");i.push(l),n+=l.length}r.releaseLock();let o=Ms(i),s=o.subarray(0,t),a=lc(e,o.subarray(t));return{data:s,rest:a}}class ri{args;body;constructor(e,t){this.args=e,this.body=t}}async function G7(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 o of r)if(o.length===0)throw Error("invalid stanza");let i=[];for(;;){let o=await e.readLine();if(o===null)throw Error("invalid stanza");let s=pr.decode(o);if(s.length>48)throw Error("invalid stanza");if(i.push(s),s.length<48)break}let n=Ms(i);return{s:new ri(r,n)}}async function xz(e){let t=new Rx(e),r=await t.readLine();if(r!=="age-encryption.org/v1")throw Error("invalid version "+(r??"line"));let i=[];for(;;){let{s:n,next:o}=await G7(t);if(n!==void 0){i.push(n);continue}if(!o.startsWith("--- "))throw Error("invalid header");let s=pr.decode(o.slice(4)),{rest:a,transcript:c}=t.close(),l=c.slice(0,c.length-1-o.length+3);return{stanzas:i,headerNoMAC:l,MAC:s,headerSize:c.length,rest:lc(e,a)}}}function Px(e){let t=[];t.push(`age-encryption.org/v1
|
|
724
|
+
`)}function wR(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 ft(e,t){let r=e[t];return typeof r==="string"?r:void 0}function vs(e,t){let r=e[t];return typeof r==="boolean"?r:void 0}var Ap={name:"@rizom/ops",version:"0.2.0-alpha.603",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/auth-service":"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"};import{existsSync as aW,mkdirSync as cW,readFileSync as Qx,writeFileSync as Yx}from"fs";import{dirname as lW,join as Cz}from"path";function dS(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"&&"BYTES_PER_ELEMENT"in e&&e.BYTES_PER_ELEMENT===1}function At(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 Yt(e,t,r=""){let i=dS(e),n=e?.length,o=t!==void 0;if(!i||o&&n!==t){let s=r&&`"${r}" `,a=o?` of length ${t}`:"",c=i?`length=${n}`:`type=${typeof e}`,l=s+"expected Uint8Array"+a+", got "+c;if(!i)throw TypeError(l);throw RangeError(l)}return e}function ki(e){if(typeof e!=="function"||typeof e.create!=="function")throw TypeError("Hash must wrapped by utils.createHasher");if(At(e.outputLen),At(e.blockLen),e.outputLen<1)throw Error('"outputLen" must be >= 1');if(e.blockLen<1)throw Error('"blockLen" must be >= 1')}function Ma(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 $p(e,t){Yt(e,void 0,"digestInto() output");let r=t.outputLen;if(e.length<r)throw RangeError('"digestInto() output" expected to be of length >='+r)}function Cp(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function kr(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Fa(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function En(e,t){return e<<32-t|e>>>t}function Xe(e,t){return e<<t|e>>>32-t>>>0}var z9=(()=>new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68)();function N9(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function D9(e){for(let t=0;t<e.length;t++)e[t]=N9(e[t]);return e}var fS=z9?(e)=>e:D9,_R=(()=>typeof Uint8Array.from([]).toHex==="function"&&typeof Uint8Array.fromHex==="function")(),L9=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Rp(e){if(Yt(e),_R)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=L9[e[r]];return t}var _i={_0:48,_9:57,A:65,F:70,a:97,f:102};function vR(e){if(e>=_i._0&&e<=_i._9)return e-_i._0;if(e>=_i.A&&e<=_i.F)return e-(_i.A-10);if(e>=_i.a&&e<=_i.f)return e-(_i.a-10);return}function hu(e){if(typeof e!=="string")throw TypeError("hex string expected, got "+typeof e);if(_R)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 i=new Uint8Array(r);for(let n=0,o=0;n<r;n++,o+=2){let s=vR(e.charCodeAt(o)),a=vR(e.charCodeAt(o+1));if(s===void 0||a===void 0){let c=e[o]+e[o+1];throw RangeError('hex string expected, got non-hex character "'+c+'" at index '+o)}i[n]=s*16+a}return i}function B9(e){if(typeof e!=="string")throw TypeError("string expected");return new Uint8Array(new TextEncoder().encode(e))}function pS(e,t=""){if(typeof e==="string")return B9(e);return Yt(e,void 0,t)}function mS(...e){let t=0;for(let i=0;i<e.length;i++){let n=e[i];Yt(n),t+=n.length}let r=new Uint8Array(t);for(let i=0,n=0;i<e.length;i++){let o=e[i];r.set(o,n),n+=o.length}return r}function Op(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 hS(e,t={}){let r=(n,o)=>e(o).update(n).digest(),i=e(void 0);return r.outputLen=i.outputLen,r.blockLen=i.blockLen,r.canXOF=i.canXOF,r.create=(n)=>e(n),Object.assign(r,t),Object.freeze(r)}function Ei(e=32){At(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 gS=(e)=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,e])});class yS{oHash;iHash;blockLen;outputLen;canXOF=!1;finished=!1;destroyed=!1;constructor(e,t){if(ki(e),Yt(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,i=new Uint8Array(r);i.set(t.length>r?e.create().update(t).digest():t);for(let n=0;n<i.length;n++)i[n]^=54;this.iHash.update(i),this.oHash=e.create();for(let n=0;n<i.length;n++)i[n]^=106;this.oHash.update(i),kr(i)}update(e){return Ma(this),this.iHash.update(e),this}digestInto(e){Ma(this),$p(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:i,destroyed:n,blockLen:o,outputLen:s}=this;return e=e,e.finished=i,e.destroyed=n,e.blockLen=o,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 Vn=(()=>{let e=(t,r,i)=>new yS(t,r).update(i).digest();return e.create=(t,r)=>new yS(t,r),e})();function gu(e,t,r){if(ki(e),r===void 0)r=new Uint8Array(e.outputLen);return Vn(e,r,t)}var bS=Uint8Array.of(0),kR=Uint8Array.of();function SS(e,t,r,i=32){ki(e),At(i,"length"),Yt(t,void 0,"prk");let n=e.outputLen;if(t.length<n)throw Error('"prk" must be at least HashLen octets');if(i>255*n)throw Error("Length must be <= 255*HashLen");let o=Math.ceil(i/n);if(r===void 0)r=kR;else Yt(r,void 0,"info");let s=new Uint8Array(o*n),a=Vn.create(e,t),c=a._cloneInto(),l=new Uint8Array(a.outputLen);for(let u=0;u<o;u++)bS[0]=u+1,c.update(u===0?kR:l).update(r).update(bS).digestInto(l),s.set(l,n*u),a._cloneInto(c);return a.destroy(),c.destroy(),kr(l,bS),s.slice(0,i)}var lo=(e,t,r,i,n)=>SS(e,gu(e,t,r),i,n);function ER(e,t,r){return e&t^~e&r}function IR(e,t,r){return e&t^e&r^t&r}class Pp{blockLen;outputLen;canXOF=!1;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor(e,t,r,i){this.blockLen=e,this.outputLen=t,this.padOffset=r,this.isLE=i,this.buffer=new Uint8Array(e),this.view=Fa(this.buffer)}update(e){Ma(this),Yt(e);let{view:t,buffer:r,blockLen:i}=this,n=e.length;for(let o=0;o<n;){let s=Math.min(i-this.pos,n-o);if(s===i){let a=Fa(e);for(;i<=n-o;o+=i)this.process(a,o);continue}if(r.set(e.subarray(o,o+s),this.pos),this.pos+=s,o+=s,this.pos===i)this.process(t,0),this.pos=0}return this.length+=e.length,this.roundClean(),this}digestInto(e){Ma(this),$p(e,this),this.finished=!0;let{buffer:t,view:r,blockLen:i,isLE:n}=this,{pos:o}=this;if(t[o++]=128,kr(this.buffer.subarray(o)),this.padOffset>i-o)this.process(r,0),o=0;for(let u=o;u<i;u++)t[u]=0;r.setBigUint64(i-8,BigInt(this.length*8),n),this.process(r,0);let s=Fa(e),a=this.outputLen;if(a%4)throw Error("_sha2: outputLen must be aligned to 32bit");let c=a/4,l=this.get();if(c>l.length)throw Error("_sha2: outputLen bigger than state");for(let u=0;u<c;u++)s.setUint32(4*u,l[u],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:i,finished:n,destroyed:o,pos:s}=this;if(e.destroyed=o,e.finished=n,e.length=i,e.pos=s,i%t)e.buffer.set(r);return e}clone(){return this._cloneInto()}}var Ii=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var Xt=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var zp=BigInt(4294967295),TR=BigInt(32);function j9(e,t=!1){if(t)return{h:Number(e&zp),l:Number(e>>TR&zp)};return{h:Number(e>>TR&zp)|0,l:Number(e&zp)|0}}function AR(e,t=!1){let r=e.length,i=new Uint32Array(r),n=new Uint32Array(r);for(let o=0;o<r;o++){let{h:s,l:a}=j9(e[o],t);[i[o],n[o]]=[s,a]}return[i,n]}var xS=(e,t,r)=>e>>>r,wS=(e,t,r)=>e<<32-r|t>>>r,_s=(e,t,r)=>e>>>r|t<<32-r,ks=(e,t,r)=>e<<32-r|t>>>r,yu=(e,t,r)=>e<<64-r|t>>>r-32,bu=(e,t,r)=>e>>>r-32|t<<64-r;function Wn(e,t,r,i){let n=(t>>>0)+(i>>>0);return{h:e+r+(n/4294967296|0)|0,l:n|0}}var $R=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),CR=(e,t,r,i)=>t+r+i+(e/4294967296|0)|0,RR=(e,t,r,i)=>(e>>>0)+(t>>>0)+(r>>>0)+(i>>>0),OR=(e,t,r,i,n)=>t+r+i+n+(e/4294967296|0)|0,PR=(e,t,r,i,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(i>>>0)+(n>>>0),zR=(e,t,r,i,n,o)=>t+r+i+n+o+(e/4294967296|0)|0;var q9=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]),uo=new Uint32Array(64);class NR extends Pp{constructor(e){super(64,e,8,!1)}get(){let{A:e,B:t,C:r,D:i,E:n,F:o,G:s,H:a}=this;return[e,t,r,i,n,o,s,a]}set(e,t,r,i,n,o,s,a){this.A=e|0,this.B=t|0,this.C=r|0,this.D=i|0,this.E=n|0,this.F=o|0,this.G=s|0,this.H=a|0}process(e,t){for(let u=0;u<16;u++,t+=4)uo[u]=e.getUint32(t,!1);for(let u=16;u<64;u++){let f=uo[u-15],p=uo[u-2],m=En(f,7)^En(f,18)^f>>>3,y=En(p,17)^En(p,19)^p>>>10;uo[u]=y+uo[u-7]+m+uo[u-16]|0}let{A:r,B:i,C:n,D:o,E:s,F:a,G:c,H:l}=this;for(let u=0;u<64;u++){let f=En(s,6)^En(s,11)^En(s,25),p=l+f+ER(s,a,c)+q9[u]+uo[u]|0,y=(En(r,2)^En(r,13)^En(r,22))+IR(r,i,n)|0;l=c,c=a,a=s,s=o+p|0,o=n,n=i,i=r,r=p+y|0}r=r+this.A|0,i=i+this.B|0,n=n+this.C|0,o=o+this.D|0,s=s+this.E|0,a=a+this.F|0,c=c+this.G|0,l=l+this.H|0,this.set(r,i,n,o,s,a,c,l)}roundClean(){kr(uo)}destroy(){this.destroyed=!0,this.set(0,0,0,0,0,0,0,0),kr(this.buffer)}}class DR extends NR{A=Ii[0]|0;B=Ii[1]|0;C=Ii[2]|0;D=Ii[3]|0;E=Ii[4]|0;F=Ii[5]|0;G=Ii[6]|0;H=Ii[7]|0;constructor(){super(32)}}var LR=(()=>AR(["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))))(),Z9=(()=>LR[0])(),M9=(()=>LR[1])(),fo=new Uint32Array(80),po=new Uint32Array(80);class BR extends Pp{constructor(e){super(128,e,16,!1)}get(){let{Ah:e,Al:t,Bh:r,Bl:i,Ch:n,Cl:o,Dh:s,Dl:a,Eh:c,El:l,Fh:u,Fl:f,Gh:p,Gl:m,Hh:y,Hl:g}=this;return[e,t,r,i,n,o,s,a,c,l,u,f,p,m,y,g]}set(e,t,r,i,n,o,s,a,c,l,u,f,p,m,y,g){this.Ah=e|0,this.Al=t|0,this.Bh=r|0,this.Bl=i|0,this.Ch=n|0,this.Cl=o|0,this.Dh=s|0,this.Dl=a|0,this.Eh=c|0,this.El=l|0,this.Fh=u|0,this.Fl=f|0,this.Gh=p|0,this.Gl=m|0,this.Hh=y|0,this.Hl=g|0}process(e,t){for(let T=0;T<16;T++,t+=4)fo[T]=e.getUint32(t),po[T]=e.getUint32(t+=4);for(let T=16;T<80;T++){let A=fo[T-15]|0,z=po[T-15]|0,j=_s(A,z,1)^_s(A,z,8)^xS(A,z,7),E=ks(A,z,1)^ks(A,z,8)^wS(A,z,7),F=fo[T-2]|0,D=po[T-2]|0,H=_s(F,D,19)^yu(F,D,61)^xS(F,D,6),X=ks(F,D,19)^bu(F,D,61)^wS(F,D,6),Z=RR(E,X,po[T-7],po[T-16]),P=OR(Z,j,H,fo[T-7],fo[T-16]);fo[T]=P|0,po[T]=Z|0}let{Ah:r,Al:i,Bh:n,Bl:o,Ch:s,Cl:a,Dh:c,Dl:l,Eh:u,El:f,Fh:p,Fl:m,Gh:y,Gl:g,Hh:b,Hl:_}=this;for(let T=0;T<80;T++){let A=_s(u,f,14)^_s(u,f,18)^yu(u,f,41),z=ks(u,f,14)^ks(u,f,18)^bu(u,f,41),j=u&p^~u&y,E=f&m^~f&g,F=PR(_,z,E,M9[T],po[T]),D=zR(F,b,A,j,Z9[T],fo[T]),H=F|0,X=_s(r,i,28)^yu(r,i,34)^yu(r,i,39),Z=ks(r,i,28)^bu(r,i,34)^bu(r,i,39),P=r&n^r&s^n&s,N=i&o^i&a^o&a;b=y|0,_=g|0,y=p|0,g=m|0,p=u|0,m=f|0,{h:u,l:f}=Wn(c|0,l|0,D|0,H|0),c=s|0,l=a|0,s=n|0,a=o|0,n=r|0,o=i|0;let I=$R(H,Z,N);r=CR(I,D,X,P),i=I|0}({h:r,l:i}=Wn(this.Ah|0,this.Al|0,r|0,i|0)),{h:n,l:o}=Wn(this.Bh|0,this.Bl|0,n|0,o|0),{h:s,l:a}=Wn(this.Ch|0,this.Cl|0,s|0,a|0),{h:c,l}=Wn(this.Dh|0,this.Dl|0,c|0,l|0),{h:u,l:f}=Wn(this.Eh|0,this.El|0,u|0,f|0),{h:p,l:m}=Wn(this.Fh|0,this.Fl|0,p|0,m|0),{h:y,l:g}=Wn(this.Gh|0,this.Gl|0,y|0,g|0),{h:b,l:_}=Wn(this.Hh|0,this.Hl|0,b|0,_|0),this.set(r,i,n,o,s,a,c,l,u,f,p,m,y,g,b,_)}roundClean(){kr(fo,po)}destroy(){this.destroyed=!0,kr(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}class jR extends BR{Ah=Xt[0]|0;Al=Xt[1]|0;Bh=Xt[2]|0;Bl=Xt[3]|0;Ch=Xt[4]|0;Cl=Xt[5]|0;Dh=Xt[6]|0;Dl=Xt[7]|0;Eh=Xt[8]|0;El=Xt[9]|0;Fh=Xt[10]|0;Fl=Xt[11]|0;Gh=Xt[12]|0;Gl=Xt[13]|0;Hh=Xt[14]|0;Hl=Xt[15]|0;constructor(){super(64)}}var $t=hS(()=>new DR,gS(1));var Np=hS(()=>new jR,gS(3));/*! scure-base - MIT License (c) 2022 Paul Miller (paulmillr.com) */function Up(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"&&"BYTES_PER_ELEMENT"in e&&e.BYTES_PER_ELEMENT===1}function kS(e){if(!Up(e))throw TypeError("Uint8Array expected")}function FR(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 HR(e){if(typeof e!=="function")throw TypeError("function expected");return!0}function mo(e,t){if(typeof t!=="string")throw TypeError(`${e}: string expected`);return!0}function xu(e){if(typeof e!=="number")throw TypeError(`number expected, got ${typeof e}`);if(!Number.isSafeInteger(e))throw RangeError(`invalid integer: ${e}`)}function Lp(e){if(!Array.isArray(e))throw TypeError("array expected")}function Bp(e,t){if(!FR(!0,t))throw TypeError(`${e}: array of strings expected`)}function ES(e,t){if(!FR(!1,t))throw TypeError(`${e}: array of numbers expected`)}function Vr(...e){let t=(o)=>o,r=(o,s)=>(a)=>o(s(a)),i=e.map((o)=>o.encode).reduceRight(r,t),n=e.map((o)=>o.decode).reduce(r,t);return{encode:i,decode:n}}function Wr(e){let t=typeof e==="string"?e.split(""):e,r=t.length;Bp("alphabet",t);let i=new Map(t.map((n,o)=>[n,o]));return{encode:(n)=>(Lp(n),n.map((o)=>{if(!Number.isSafeInteger(o)||o<0||o>=r)throw Error(`alphabet.encode: digit index outside alphabet "${o}". Allowed: ${e}`);return t[o]})),decode:(n)=>(Lp(n),n.map((o)=>{mo("alphabet.decode",o);let s=i.get(o);if(s===void 0)throw Error(`Unknown letter: "${o}". Allowed: ${e}`);return s}))}}function Gr(e=""){return mo("join",e),{encode:(t)=>(Bp("join.decode",t),t.join(e)),decode:(t)=>(mo("join.decode",t),t.split(e))}}function qp(e,t="="){return xu(e),mo("padding",t),{encode(r){Bp("padding.encode",r);while(r.length*e%8)r.push(t);return r},decode(r){Bp("padding.decode",r);let i=r.length;if(i*e%8)throw Error("padding: invalid, string should have whole number of bytes");for(;i>0&&r[i-1]===t;i--)if((i-1)*e%8===0)throw Error("padding: invalid, string has too much padding");return r.slice(0,i)}}}function KR(e){return HR(e),{encode:(t)=>t,decode:(t)=>e(t)}}function UR(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(Lp(e),!e.length)return[];let i=0,n=[],o=Array.from(e,(a)=>{if(xu(a),a<0||a>=t)throw Error(`invalid integer: ${a}`);return a}),s=o.length;while(!0){let a=0,c=!0;for(let l=i;l<s;l++){let u=o[l],f=t*a,p=f+u;if(!Number.isSafeInteger(p)||f/t!==a||p-u!==f)throw Error("convertRadix: carry overflow");let m=p/r;a=p%r;let y=Math.floor(m);if(o[l]=y,!Number.isSafeInteger(y)||y*r+a!==p)throw Error("convertRadix: carry overflow");if(!c)continue;else if(!y)i=l;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 JR=(e,t)=>t===0?e:JR(t,e%t),jp=(e,t)=>e+(t-JR(e,t)),Dp=(()=>{let e=[];for(let t=0;t<40;t++)e.push(2**t);return e})();function vS(e,t,r,i){if(Lp(e),t<=0||t>32)throw RangeError(`convertRadix2: wrong from=${t}`);if(r<=0||r>32)throw RangeError(`convertRadix2: wrong to=${r}`);if(jp(t,r)>32)throw Error(`convertRadix2: carry overflow from=${t} to=${r} carryBits=${jp(t,r)}`);let n=0,o=0,s=Dp[t],a=Dp[r]-1,c=[];for(let l of e){if(xu(l),l>=s)throw Error(`convertRadix2: invalid data word=${l} from=${t}`);if(n=n<<t|l,o+t>32)throw Error(`convertRadix2: carry overflow pos=${o} from=${t}`);o+=t;for(;o>=r;o-=r)c.push((n>>o-r&a)>>>0);let u=Dp[o];if(u===void 0)throw Error("invalid carry");n&=u-1}if(n=n<<r-o&a,!i&&o>=t)throw Error("Excess padding");if(!i&&n>0)throw Error(`Non-zero padding: ${n}`);if(i&&o>0)c.push(n>>>0);return c}function F9(e){xu(e);let t=256;return{encode:(r)=>{if(!Up(r))throw TypeError("radix.encode input should be Uint8Array");return UR(Array.from(r),t,e)},decode:(r)=>(ES("radix.decode",r),Uint8Array.from(UR(r,e,t)))}}function cn(e,t=!1){if(xu(e),e<=0||e>32)throw RangeError("radix2: bits should be in (0..32]");if(jp(8,e)>32||jp(e,8)>32)throw RangeError("radix2: carry overflow");return{encode:(r)=>{if(!Up(r))throw TypeError("radix2.encode input should be Uint8Array");return vS(Array.from(r),8,e,!t)},decode:(r)=>(ES("radix2.decode",r),Uint8Array.from(vS(r,e,8,t)))}}function qR(e){return HR(e),function(...t){try{return e.apply(null,t)}catch(r){}}}var Fxe=Object.freeze(Vr(cn(4),Wr("0123456789ABCDEF"),Gr(""))),Hxe=Object.freeze(Vr(cn(5),Wr("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"),qp(5),Gr(""))),Kxe=Object.freeze(Vr(cn(5),Wr("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"),Gr(""))),Jxe=Object.freeze(Vr(cn(5),Wr("0123456789ABCDEFGHIJKLMNOPQRSTUV"),qp(5),Gr(""))),Vxe=Object.freeze(Vr(cn(5),Wr("0123456789ABCDEFGHIJKLMNOPQRSTUV"),Gr(""))),Wxe=Object.freeze(Vr(cn(5),Wr("0123456789ABCDEFGHJKMNPQRSTVWXYZ"),Gr(""),KR((e)=>e.toUpperCase().replace(/O/g,"0").replace(/[IL]/g,"1")))),VR=(()=>typeof Uint8Array.from([]).toBase64==="function"&&typeof Uint8Array.fromBase64==="function")(),H9=/[\t\n\f\r ]/,WR=(e,t)=>{mo("base64",e);let r=t?"base64url":"base64";if(e.length>0&&H9.test(e))throw Error("invalid base64");return Uint8Array.fromBase64(e,{alphabet:r,lastChunkHandling:"strict"})},IS=Object.freeze(VR?{encode(e){return kS(e),e.toBase64()},decode(e){return WR(e,!1)}}:Vr(cn(6),Wr("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),qp(6),Gr(""))),pr=Object.freeze(Vr(cn(6),Wr("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),Gr(""))),Gxe=Object.freeze(VR?{encode(e){return kS(e),e.toBase64({alphabet:"base64url"})},decode(e){return WR(e,!0)}}:Vr(cn(6),Wr("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),qp(6),Gr(""))),Qxe=Object.freeze(Vr(cn(6),Wr("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),Gr(""))),TS=(e)=>Vr(F9(58),Wr(e),Gr("")),Yxe=Object.freeze(TS("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz")),Xxe=Object.freeze(TS("123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ")),ewe=Object.freeze(TS("rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz"));var _S=Vr(Wr("qpzry9x8gf2tvdw0s3jn54khce6mua7l"),Gr("")),ZR=[996825010,642813549,513874426,1027748829,705979059];function Su(e){let t=e>>25,r=(e&33554431)<<5;for(let i=0;i<ZR.length;i++)if((t>>i&1)===1)r^=ZR[i];return r}function MR(e,t,r=1){let i=e.length,n=1;for(let o=0;o<i;o++){let s=e.charCodeAt(o);if(s<33||s>126)throw Error(`Invalid prefix (${e})`);n=Su(n)^s>>5}n=Su(n);for(let o=0;o<i;o++)n=Su(n)^e.charCodeAt(o)&31;for(let o of t)n=Su(n)^o;for(let o=0;o<6;o++)n=Su(n);return n^=r,_S.encode(vS([n%Dp[30]],30,5,!1))}function GR(e){let t=e==="bech32"?1:734539939,r=cn(5),i=r.decode,n=r.encode,o=qR(i);function s(f,p,m=90){if(mo("bech32.encode prefix",f),Up(p))p=Array.from(p);ES("bech32.encode",p);let y=f.length;if(y===0)throw TypeError(`Invalid prefix length ${y}`);let g=y+7+p.length;if(m!==!1&&g>m)throw TypeError(`Length ${g} exceeds limit ${m}`);let b=f.toLowerCase(),_=MR(b,p,t);return`${b}1${_S.encode(p)}${_}`}function a(f,p=90){mo("bech32.decode input",f);let m=f.length;if(m<8||p!==!1&&m>p)throw TypeError(`invalid string length: ${m} (${f}). Expected (8..${p})`);let y=f.toLowerCase();if(f!==y&&f!==f.toUpperCase())throw Error("String must be lowercase or uppercase");let g=y.lastIndexOf("1");if(g===0||g===-1)throw Error('Letter "1" must be present between prefix and data only');let b=y.slice(0,g),_=y.slice(g+1);if(_.length<6)throw Error("Data must be at least 6 characters long");let T=_S.decode(_).slice(0,-6),A=MR(b,T,t);if(!_.endsWith(A))throw Error(`Invalid checksum in ${f}: expected "${A}"`);return{prefix:b,words:T}}let c=qR(a);function l(f){let{prefix:p,words:m}=a(f,!1);return{prefix:p,words:m,bytes:i(m)}}function u(f,p){return s(f,n(p))}return{encode:s,decode:a,encodeFromBytes:u,decodeToBytes:l,decodeUnsafe:c,fromWords:i,fromWordsUnsafe:o,toWords:n}}var Qr=Object.freeze(GR("bech32")),twe=Object.freeze(GR("bech32m"));var K9=(()=>typeof Uint8Array.from([]).toHex==="function"&&typeof Uint8Array.fromHex==="function")(),J9={encode(e){return kS(e),e.toHex()},decode(e){return mo("hex",e),Uint8Array.fromHex(e)}},rwe=Object.freeze(K9?J9:Vr(cn(4),Wr("0123456789abcdef"),Gr(""),KR((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 W9(e,t,r,i){ki(e);let n=Op({dkLen:32,asyncTick:10},i),{c:o,dkLen:s,asyncTick:a}=n;if(At(o,"c"),At(s,"dkLen"),At(a,"asyncTick"),o<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=pS(t,"password"),l=pS(r,"salt"),u=new Uint8Array(s),f=Vn.create(e,c),p=f._cloneInto().update(l);return{c:o,dkLen:s,asyncTick:a,DK:u,PRF:f,PRFSalt:p}}function G9(e,t,r,i,n){if(e.destroy(),t.destroy(),i)i.destroy();return kr(n),r}function AS(e,t,r,i){let{c:n,dkLen:o,DK:s,PRF:a,PRFSalt:c}=W9(e,t,r,i),l,u=new Uint8Array(4),f=Fa(u),p=new Uint8Array(a.outputLen);for(let m=1,y=0;y<o;m++,y+=a.outputLen){let g=s.subarray(y,y+a.outputLen);f.setInt32(0,m,!1),(l=c._cloneInto(l)).update(u).digestInto(p),g.set(p.subarray(0,g.length));for(let b=1;b<n;b++){a._cloneInto(l).update(p).digestInto(p);for(let _=0;_<g.length;_++)g[_]^=p[_]}}return G9(a,c,s,l,p)}function QR(e,t,r,i,n,o){let s=e[t++]^r[i++],a=e[t++]^r[i++],c=e[t++]^r[i++],l=e[t++]^r[i++],u=e[t++]^r[i++],f=e[t++]^r[i++],p=e[t++]^r[i++],m=e[t++]^r[i++],y=e[t++]^r[i++],g=e[t++]^r[i++],b=e[t++]^r[i++],_=e[t++]^r[i++],T=e[t++]^r[i++],A=e[t++]^r[i++],z=e[t++]^r[i++],j=e[t++]^r[i++],E=s,F=a,D=c,H=l,X=u,Z=f,P=p,N=m,I=y,O=g,R=b,M=_,L=T,V=A,k=z,te=j;for(let ue=0;ue<8;ue+=2)X^=Xe(E+L|0,7),I^=Xe(X+E|0,9),L^=Xe(I+X|0,13),E^=Xe(L+I|0,18),O^=Xe(Z+F|0,7),V^=Xe(O+Z|0,9),F^=Xe(V+O|0,13),Z^=Xe(F+V|0,18),k^=Xe(R+P|0,7),D^=Xe(k+R|0,9),P^=Xe(D+k|0,13),R^=Xe(P+D|0,18),H^=Xe(te+M|0,7),N^=Xe(H+te|0,9),M^=Xe(N+H|0,13),te^=Xe(M+N|0,18),F^=Xe(E+H|0,7),D^=Xe(F+E|0,9),H^=Xe(D+F|0,13),E^=Xe(H+D|0,18),P^=Xe(Z+X|0,7),N^=Xe(P+Z|0,9),X^=Xe(N+P|0,13),Z^=Xe(X+N|0,18),M^=Xe(R+O|0,7),I^=Xe(M+R|0,9),O^=Xe(I+M|0,13),R^=Xe(O+I|0,18),L^=Xe(te+k|0,7),V^=Xe(L+te|0,9),k^=Xe(V+L|0,13),te^=Xe(k+V|0,18);n[o++]=s+E|0,n[o++]=a+F|0,n[o++]=c+D|0,n[o++]=l+H|0,n[o++]=u+X|0,n[o++]=f+Z|0,n[o++]=p+P|0,n[o++]=m+N|0,n[o++]=y+I|0,n[o++]=g+O|0,n[o++]=b+R|0,n[o++]=_+M|0,n[o++]=T+L|0,n[o++]=A+V|0,n[o++]=z+k|0,n[o++]=j+te|0}function $S(e,t,r,i,n){let o=i+0,s=i+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++,o+=16,t+=16){if(QR(r,s,e,t,r,o),a>0)s+=16;QR(r,o,e,t+=16,r,s)}}function Q9(e,t,r){let i=Op({dkLen:32,asyncTick:10,maxmem:1073742848},r),{N:n,r:o,p:s,dkLen:a,asyncTick:c,maxmem:l,onProgress:u}=i;if(At(n,"N"),At(o,"r"),At(s,"p"),At(a,"dkLen"),At(c,"asyncTick"),At(l,"maxmem"),u!==void 0&&typeof u!=="function")throw Error("progressCb must be a function");let f=128*o,p=f/4,m=Math.pow(2,32);if(n<=1||(n&n-1)!==0||n>m)throw Error('"N" expected a power of 2, and 2^1 <= N <= 2^32');if(s<1||s>(m-1)*32/f)throw Error('"p" expected integer 1..((2^32 - 1) * 32) / (128 * r)');if(a<1||a>(m-1)*32)throw Error('"dkLen" expected integer 1..(2^32 - 1) * 32');let y=f*(n+s+1);if(y>l)throw Error('"maxmem" limit was hit: memUsed(128*r*(N+p+1))='+y+", maxmem="+l);let g=AS($t,e,t,{c:1,dkLen:f*s}),b=Cp(g),_=Cp(new Uint8Array(f*n)),T=Cp(new Uint8Array(f)),A=()=>{};if(u){let z=2*n*s,j=Math.max(Math.floor(z/1e4),1),E=0;A=()=>{if(E++,u&&(!(E%j)||E===z))u(E/z)}}return{N:n,r:o,p:s,dkLen:a,blockSize32:p,V:_,B32:b,B:g,tmp:T,blockMixCb:A,asyncTick:c}}function Y9(e,t,r,i,n){let o=AS($t,e,r,{c:1,dkLen:t});return kr(r,i,n),o}function CS(e,t,r){let{N:i,r:n,p:o,dkLen:s,blockSize32:a,V:c,B32:l,B:u,tmp:f,blockMixCb:p}=Q9(e,t,r);fS(l);for(let m=0;m<o;m++){let y=a*m;for(let g=0;g<a;g++)c[g]=l[y+g];for(let g=0,b=0;g<i-1;g++)$S(c,b,c,b+=a,n),p();$S(c,(i-1)*a,l,y,n),p();for(let g=0;g<i;g++){let b=(l[y+a-16]&i-1)>>>0;for(let _=0;_<a;_++)f[_]=l[y+_]^c[b*a+_];$S(f,0,l,y,n),p()}}return fS(l),Y9(e,s,u,c,f)}/*! noble-ciphers - MIT License (c) 2023 Paul Miller (paulmillr.com) */function X9(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"&&"BYTES_PER_ELEMENT"in e&&e.BYTES_PER_ELEMENT===1}function Zp(e){if(typeof e!=="boolean")throw TypeError(`boolean expected, not ${e}`)}function Ha(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 jt(e,t,r=""){let i=X9(e),n=e?.length,o=t!==void 0;if(!i||o&&n!==t){let s=r&&`"${r}" `,a=o?` of length ${t}`:"",c=i?`length=${n}`:`type=${typeof e}`,l=s+"expected Uint8Array"+a+", got "+c;if(!i)throw TypeError(l);throw RangeError(l)}return e}function RS(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 YR(e,t,r=!1){jt(e,void 0,"output");let i=t.outputLen;if(e.length<i)throw RangeError("digestInto() expects output buffer of length at least "+i);if(r&&!Ka(e))throw Error("invalid output, must be aligned")}function Gn(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function In(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function eV(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}var Es=(()=>new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68)(),tV=(e)=>e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255;var rV=(e)=>{for(let t=0;t<e.length;t++)e[t]=tV(e[t]);return e},Ti=Es?(e)=>e:rV;function XR(e,t){if(t==null||typeof t!=="object")throw Error("options must be defined");return Object.assign(e,t)}function eO(e,t){if(e.length!==t.length)return!1;let r=0;for(let i=0;i<e.length;i++)r|=e[i]^t[i];return r===0}function tO(e,t,r){let i=t,n=r||(()=>[]),o=(a,c)=>i(c,...n(a)).update(a).digest(),s=i(new Uint8Array(e),...n(new Uint8Array(0)));return o.outputLen=s.outputLen,o.blockLen=s.blockLen,o.create=(a,...c)=>i(a,...c),o}var rO=(e,t)=>{function r(i,...n){if(jt(i,void 0,"key"),e.nonceLength!==void 0){let u=n[0];jt(u,e.varSizeNonce?void 0:e.nonceLength,"nonce")}let o=e.tagLength;if(o&&n[1]!==void 0)jt(n[1],void 0,"AAD");let s=t(i,...n),a=(u,f)=>{if(f!==void 0){if(u!==2)throw Error("cipher output not supported");jt(f,void 0,"output")}},c=!1;return{encrypt(u,f){if(c)throw Error("cannot encrypt() twice with same key + nonce");return c=!0,jt(u),a(s.encrypt.length,f),s.encrypt(u,f)},decrypt(u,f){if(jt(u),o&&u.length<o)throw Error('"ciphertext" expected length bigger than tagLength='+o);return a(s.decrypt.length,f),s.decrypt(u,f)}}}return Object.assign(r,e),r};function wu(e,t,r=!0){if(t===void 0)return new Uint8Array(e);if(jt(t,void 0,"output"),t.length!==e)throw Error('"output" expected Uint8Array of length '+e+", got: "+t.length);if(r&&!Ka(t))throw Error("invalid output, must be aligned");return t}function nO(e,t,r){Ha(e),Ha(t),Zp(r);let i=new Uint8Array(16),n=eV(i);return n.setBigUint64(0,BigInt(t),r),n.setBigUint64(8,BigInt(e),r),i}function Ka(e){return e.byteOffset%4===0}function Ja(e){return Uint8Array.from(jt(e))}var oO=(e)=>Uint8Array.from(e.split(""),(t)=>t.charCodeAt(0)),nV=(()=>Ti(Gn(oO("expand 16-byte k"))))(),iV=(()=>Ti(Gn(oO("expand 32-byte k"))))();function et(e,t){return e<<t|e>>>32-t}var vu=64,oV=16,OS=(()=>4294967295)(),iO=Uint32Array.of();function sV(e,t,r,i,n,o,s,a){let c=n.length,l=new Uint8Array(vu),u=Gn(l),f=Es&&Ka(n)&&Ka(o),p=f?Gn(n):iO,m=f?Gn(o):iO;if(!Es){for(let y=0;y<c;s++){if(e(t,r,i,u,s,a),Ti(u),s>=OS)throw Error("arx: counter overflow");let g=Math.min(vu,c-y);for(let b=0,_;b<g;b++)_=y+b,o[_]=n[_]^l[b];y+=g}return}for(let y=0;y<c;s++){if(e(t,r,i,u,s,a),s>=OS)throw Error("arx: counter overflow");let g=Math.min(vu,c-y);if(f&&g===vu){let b=y/4;if(y%4!==0)throw Error("arx: invalid block position");for(let _=0,T;_<oV;_++)T=b+_,m[T]=p[T]^u[_];y+=vu;continue}for(let b=0,_;b<g;b++)_=y+b,o[_]=n[_]^l[b];y+=g}}function sO(e,t){let{allowShortKeys:r,extendNonceFn:i,counterLength:n,counterRight:o,rounds:s}=XR({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},t);if(typeof e!=="function")throw Error("core must be a function");return Ha(n),Ha(s),Zp(o),Zp(r),(a,c,l,u,f=0)=>{jt(a,void 0,"key"),jt(c,void 0,"nonce"),jt(l,void 0,"data");let p=l.length;if(u=wu(p,u,!1),Ha(f),f<0||f>=OS)throw Error("arx: counter overflow");let m=[],y=a.length,g,b;if(y===32)m.push(g=Ja(a)),b=iV;else if(y===16&&r)g=new Uint8Array(32),g.set(a),g.set(a,16),b=nV,m.push(g);else throw jt(a,32,"arx key"),Error("invalid key size");if(!Es||!Ka(c))m.push(c=Ja(c));let _=Gn(g);if(i){if(c.length!==24)throw Error("arx: extended nonce must be 24 bytes");let z=c.subarray(0,16);if(Es)i(b,_,Gn(z),_);else{let j=Ti(Uint32Array.from(b));i(j,_,Gn(z),_),In(j),Ti(_)}c=c.subarray(16)}else if(!Es)Ti(_);let T=16-n;if(T!==c.length)throw Error(`arx: nonce must be ${T} or 16 bytes`);if(T!==12){let z=new Uint8Array(12);z.set(c,o?0:12-c.length),c=z,m.push(c)}let A=Ti(Gn(c));try{return sV(e,b,_,A,l,u,f,s),u}finally{In(...m)}}}function er(e,t){return e[t++]&255|(e[t++]&255)<<8}class aO{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=Ja(jt(e,32,"key"));let t=er(e,0),r=er(e,2),i=er(e,4),n=er(e,6),o=er(e,8),s=er(e,10),a=er(e,12),c=er(e,14);this.r[0]=t&8191,this.r[1]=(t>>>13|r<<3)&8191,this.r[2]=(r>>>10|i<<6)&7939,this.r[3]=(i>>>7|n<<9)&8191,this.r[4]=(n>>>4|o<<12)&255,this.r[5]=o>>>1&8190,this.r[6]=(o>>>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 l=0;l<8;l++)this.pad[l]=er(e,16+2*l)}process(e,t,r=!1){let i=r?0:2048,{h:n,r:o}=this,s=o[0],a=o[1],c=o[2],l=o[3],u=o[4],f=o[5],p=o[6],m=o[7],y=o[8],g=o[9],b=er(e,t+0),_=er(e,t+2),T=er(e,t+4),A=er(e,t+6),z=er(e,t+8),j=er(e,t+10),E=er(e,t+12),F=er(e,t+14),D=n[0]+(b&8191),H=n[1]+((b>>>13|_<<3)&8191),X=n[2]+((_>>>10|T<<6)&8191),Z=n[3]+((T>>>7|A<<9)&8191),P=n[4]+((A>>>4|z<<12)&8191),N=n[5]+(z>>>1&8191),I=n[6]+((z>>>14|j<<2)&8191),O=n[7]+((j>>>11|E<<5)&8191),R=n[8]+((E>>>8|F<<8)&8191),M=n[9]+(F>>>5|i),L=0,V=L+D*s+H*(5*g)+X*(5*y)+Z*(5*m)+P*(5*p);L=V>>>13,V&=8191,V+=N*(5*f)+I*(5*u)+O*(5*l)+R*(5*c)+M*(5*a),L+=V>>>13,V&=8191;let k=L+D*a+H*s+X*(5*g)+Z*(5*y)+P*(5*m);L=k>>>13,k&=8191,k+=N*(5*p)+I*(5*f)+O*(5*u)+R*(5*l)+M*(5*c),L+=k>>>13,k&=8191;let te=L+D*c+H*a+X*s+Z*(5*g)+P*(5*y);L=te>>>13,te&=8191,te+=N*(5*m)+I*(5*p)+O*(5*f)+R*(5*u)+M*(5*l),L+=te>>>13,te&=8191;let ue=L+D*l+H*c+X*a+Z*s+P*(5*g);L=ue>>>13,ue&=8191,ue+=N*(5*y)+I*(5*m)+O*(5*p)+R*(5*f)+M*(5*u),L+=ue>>>13,ue&=8191;let C=L+D*u+H*l+X*c+Z*a+P*s;L=C>>>13,C&=8191,C+=N*(5*g)+I*(5*y)+O*(5*m)+R*(5*p)+M*(5*f),L+=C>>>13,C&=8191;let be=L+D*f+H*u+X*l+Z*c+P*a;L=be>>>13,be&=8191,be+=N*s+I*(5*g)+O*(5*y)+R*(5*m)+M*(5*p),L+=be>>>13,be&=8191;let Ee=L+D*p+H*f+X*u+Z*l+P*c;L=Ee>>>13,Ee&=8191,Ee+=N*a+I*s+O*(5*g)+R*(5*y)+M*(5*m),L+=Ee>>>13,Ee&=8191;let Ce=L+D*m+H*p+X*f+Z*u+P*l;L=Ce>>>13,Ce&=8191,Ce+=N*c+I*a+O*s+R*(5*g)+M*(5*y),L+=Ce>>>13,Ce&=8191;let Re=L+D*y+H*m+X*p+Z*f+P*u;L=Re>>>13,Re&=8191,Re+=N*l+I*c+O*a+R*s+M*(5*g),L+=Re>>>13,Re&=8191;let _e=L+D*g+H*y+X*m+Z*p+P*f;L=_e>>>13,_e&=8191,_e+=N*u+I*l+O*c+R*a+M*s,L+=_e>>>13,_e&=8191,L=(L<<2)+L|0,L=L+V|0,V=L&8191,L=L>>>13,k+=L,n[0]=V,n[1]=k,n[2]=te,n[3]=ue,n[4]=C,n[5]=be,n[6]=Ee,n[7]=Ce,n[8]=Re,n[9]=_e}finalize(){let{h:e,pad:t}=this,r=new Uint16Array(10),i=e[1]>>>13;e[1]&=8191;for(let s=2;s<10;s++)e[s]+=i,i=e[s]>>>13,e[s]&=8191;e[0]+=i*5,i=e[0]>>>13,e[0]&=8191,e[1]+=i,i=e[1]>>>13,e[1]&=8191,e[2]+=i,r[0]=e[0]+5,i=r[0]>>>13,r[0]&=8191;for(let s=1;s<10;s++)r[s]=e[s]+i,i=r[s]>>>13,r[s]&=8191;r[9]-=8192;let n=(i^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 o=e[0]+t[0];e[0]=o&65535;for(let s=1;s<8;s++)o=(e[s]+t[s]|0)+(o>>>16)|0,e[s]=o&65535;In(r)}update(e){RS(this),jt(e),e=Ja(e);let{buffer:t,blockLen:r}=this,i=e.length;for(let n=0;n<i;){let o=Math.min(r-this.pos,i-n);if(o===r){for(;r<=i-n;n+=r)this.process(e,n);continue}if(t.set(e.subarray(n,n+o),this.pos),this.pos+=o,n+=o,this.pos===r)this.process(t,0,!1),this.pos=0}return this}destroy(){this.destroyed=!0,In(this.h,this.r,this.buffer,this.pad)}digestInto(e){RS(this),YR(e,this),this.finished=!0;let{buffer:t,h:r}=this,{pos:i}=this;if(i){t[i++]=1;for(;i<16;i++)t[i]=0;this.process(t,0,!0)}this.finalize();let n=0;for(let o=0;o<8;o++)e[n++]=r[o]>>>0,e[n++]=r[o]>>>8}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let r=e.slice(0,t);return this.destroy(),r}}var cO=tO(32,(e)=>new aO(e));function aV(e,t,r,i,n,o=20){let s=e[0],a=e[1],c=e[2],l=e[3],u=t[0],f=t[1],p=t[2],m=t[3],y=t[4],g=t[5],b=t[6],_=t[7],T=n,A=r[0],z=r[1],j=r[2],E=s,F=a,D=c,H=l,X=u,Z=f,P=p,N=m,I=y,O=g,R=b,M=_,L=T,V=A,k=z,te=j;for(let C=0;C<o;C+=2)E=E+X|0,L=et(L^E,16),I=I+L|0,X=et(X^I,12),E=E+X|0,L=et(L^E,8),I=I+L|0,X=et(X^I,7),F=F+Z|0,V=et(V^F,16),O=O+V|0,Z=et(Z^O,12),F=F+Z|0,V=et(V^F,8),O=O+V|0,Z=et(Z^O,7),D=D+P|0,k=et(k^D,16),R=R+k|0,P=et(P^R,12),D=D+P|0,k=et(k^D,8),R=R+k|0,P=et(P^R,7),H=H+N|0,te=et(te^H,16),M=M+te|0,N=et(N^M,12),H=H+N|0,te=et(te^H,8),M=M+te|0,N=et(N^M,7),E=E+Z|0,te=et(te^E,16),R=R+te|0,Z=et(Z^R,12),E=E+Z|0,te=et(te^E,8),R=R+te|0,Z=et(Z^R,7),F=F+P|0,L=et(L^F,16),M=M+L|0,P=et(P^M,12),F=F+P|0,L=et(L^F,8),M=M+L|0,P=et(P^M,7),D=D+N|0,V=et(V^D,16),I=I+V|0,N=et(N^I,12),D=D+N|0,V=et(V^D,8),I=I+V|0,N=et(N^I,7),H=H+X|0,k=et(k^H,16),O=O+k|0,X=et(X^O,12),H=H+X|0,k=et(k^H,8),O=O+k|0,X=et(X^O,7);let ue=0;i[ue++]=s+E|0,i[ue++]=a+F|0,i[ue++]=c+D|0,i[ue++]=l+H|0,i[ue++]=u+X|0,i[ue++]=f+Z|0,i[ue++]=p+P|0,i[ue++]=m+N|0,i[ue++]=y+I|0,i[ue++]=g+O|0,i[ue++]=b+R|0,i[ue++]=_+M|0,i[ue++]=T+L|0,i[ue++]=A+V|0,i[ue++]=z+k|0,i[ue++]=j+te|0}var cV=sO(aV,{counterRight:!1,counterLength:4,allowShortKeys:!1});var lV=new Uint8Array(16),lO=(e,t)=>{e.update(t);let r=t.length%16;if(r)e.update(lV.subarray(r))},uV=new Uint8Array(32);function uO(e,t,r,i,n){if(n!==void 0)jt(n,void 0,"AAD");let o=e(t,r,uV),s=nO(i.length,n?n.length:0,!0),a=cO.create(o);if(n)lO(a,n);lO(a,i),a.update(s);let c=a.digest();return In(o,s),c}var dV=(e)=>(t,r,i)=>({encrypt(o,s){let a=o.length;s=wu(a+16,s,!1),s.set(o);let c=s.subarray(0,-16);e(t,r,c,c,1);let l=uO(e,t,r,c,i);return s.set(l,a),In(l),s},decrypt(o,s){s=wu(o.length-16,s,!1);let a=o.subarray(0,-16),c=o.subarray(-16),l=uO(e,t,r,a,i);if(!eO(c,l))throw In(l),Error("invalid tag");return s.set(o.subarray(0,-16)),e(t,r,s,s,1),In(l),s}}),ln=rO({blockSize:64,nonceLength:12,tagLength:16},dV(cV));/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */function Va(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Kt(e,t=""){if(!Number.isSafeInteger(e)||e<0){let r=t&&`"${t}" `;throw Error(`${r}expected integer >= 0, got ${e}`)}}function Pe(e,t,r=""){let i=Va(e),n=e?.length,o=t!==void 0;if(!i||o&&n!==t){let s=r&&`"${r}" `,a=o?` of length ${t}`:"",c=i?`length=${n}`:`type=${typeof e}`;throw Error(s+"expected Uint8Array"+a+", got "+c)}return e}function un(e){if(typeof e!=="function"||typeof e.create!=="function")throw Error("Hash must wrapped by utils.createHasher");Kt(e.outputLen),Kt(e.blockLen)}function $i(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 Mp(e,t){Pe(e,void 0,"digestInto() output");let r=t.outputLen;if(e.length<r)throw Error('"digestInto() output" expected to be of length >='+r)}function Fp(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function Br(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Hp(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Tn(e,t){return e<<32-t|e>>>t}var fV=(()=>new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68)();function pV(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function mV(e){for(let t=0;t<e.length;t++)e[t]=pV(e[t]);return e}var PS=fV?(e)=>e:mV,fO=(()=>typeof Uint8Array.from([]).toHex==="function"&&typeof Uint8Array.fromHex==="function")(),hV=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Is(e){if(Pe(e),fO)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=hV[e[r]];return t}var Ai={_0:48,_9:57,A:65,F:70,a:97,f:102};function dO(e){if(e>=Ai._0&&e<=Ai._9)return e-Ai._0;if(e>=Ai.A&&e<=Ai.F)return e-(Ai.A-10);if(e>=Ai.a&&e<=Ai.f)return e-(Ai.a-10);return}function Ts(e){if(typeof e!=="string")throw Error("hex string expected, got "+typeof e);if(fO)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 i=new Uint8Array(r);for(let n=0,o=0;n<r;n++,o+=2){let s=dO(e.charCodeAt(o)),a=dO(e.charCodeAt(o+1));if(s===void 0||a===void 0){let c=e[o]+e[o+1];throw Error('hex string expected, got non-hex character "'+c+'" at index '+o)}i[n]=s*16+a}return i}function Nt(...e){let t=0;for(let i=0;i<e.length;i++){let n=e[i];Pe(n),t+=n.length}let r=new Uint8Array(t);for(let i=0,n=0;i<e.length;i++){let o=e[i];r.set(o,n),n+=o.length}return r}function Wa(e,t={}){let r=(n,o)=>e(o).update(n).digest(),i=e(void 0);return r.outputLen=i.outputLen,r.blockLen=i.blockLen,r.create=(n)=>e(n),Object.assign(r,t),Object.freeze(r)}function ho(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 go=(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 NS=BigInt(0),zS=BigInt(1);function _u(e,t=""){if(typeof e!=="boolean"){let r=t&&`"${t}" `;throw Error(r+"expected boolean, got type="+typeof e)}return e}function pO(e){if(typeof e==="bigint"){if(!Kp(e))throw Error("positive bigint expected, got "+e)}else Kt(e);return e}function ku(e){let t=pO(e).toString(16);return t.length&1?"0"+t:t}function mO(e){if(typeof e!=="string")throw Error("hex string expected, got "+typeof e);return e===""?NS:BigInt("0x"+e)}function yo(e){return mO(Is(e))}function bo(e){return mO(Is(Jp(Pe(e)).reverse()))}function Ga(e,t){Kt(t),e=pO(e);let r=Ts(e.toString(16).padStart(t*2,"0"));if(r.length!==t)throw Error("number too large");return r}function Eu(e,t){return Ga(e,t).reverse()}function Jp(e){return Uint8Array.from(e)}function So(e){return Uint8Array.from(e,(t,r)=>{let i=t.charCodeAt(0);if(t.length!==1||i>127)throw Error(`string contains non-ASCII character "${e[r]}" with code ${i} at position ${r}`);return i})}var Kp=(e)=>typeof e==="bigint"&&NS<=e;function gV(e,t,r){return Kp(e)&&Kp(t)&&Kp(r)&&t<=e&&e<r}function Iu(e,t,r,i){if(!gV(t,r,i))throw Error("expected valid "+e+": "+r+" <= n < "+i+", got "+t)}function DS(e){let t;for(t=0;e>NS;e>>=zS,t+=1);return t}var Tu=(e)=>(zS<<BigInt(e))-zS;function hO(e,t,r){if(Kt(e,"hashLen"),Kt(t,"qByteLen"),typeof r!=="function")throw Error("hmacFn must be a function");let i=(b)=>new Uint8Array(b),n=Uint8Array.of(),o=Uint8Array.of(0),s=Uint8Array.of(1),a=1000,c=i(e),l=i(e),u=0,f=()=>{c.fill(1),l.fill(0),u=0},p=(...b)=>r(l,Nt(c,...b)),m=(b=n)=>{if(l=p(o,b),c=p(),b.length===0)return;l=p(s,b),c=p()},y=()=>{if(u++>=a)throw Error("drbg: tried max amount of iterations");let b=0,_=[];while(b<t){c=p();let T=c.slice();_.push(T),b+=c.length}return Nt(..._)};return(b,_)=>{f(),m(b);let T=void 0;while(!(T=_(y())))m();return f(),T}}function As(e,t={},r={}){if(!e||typeof e!=="object")throw Error("expected valid options object");function i(o,s,a){let c=e[o];if(a&&c===void 0)return;let l=typeof c;if(l!==s||c===null)throw Error(`param "${o}" is invalid: expected ${s}, got ${l}`)}let n=(o,s)=>Object.entries(o).forEach(([a,c])=>i(a,c,s));n(t,!1),n(r,!0)}function LS(e){let t=new WeakMap;return(r,...i)=>{let n=t.get(r);if(n!==void 0)return n;let o=e(r,...i);return t.set(r,o),o}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var Ir=BigInt(0),mr=BigInt(1),$s=BigInt(2),bO=BigInt(3),SO=BigInt(4),xO=BigInt(5),yV=BigInt(7),wO=BigInt(8),bV=BigInt(9),vO=BigInt(16);function Er(e,t){let r=e%t;return r>=Ir?r:t+r}function dn(e,t,r){let i=e;while(t-- >Ir)i*=i,i%=r;return i}function gO(e,t){if(e===Ir)throw Error("invert: expected non-zero number");if(t<=Ir)throw Error("invert: expected positive modulus, got "+t);let r=Er(e,t),i=t,n=Ir,o=mr,s=mr,a=Ir;while(r!==Ir){let l=i/r,u=i%r,f=n-s*l,p=o-a*l;i=r,r=u,n=s,o=a,s=f,a=p}if(i!==mr)throw Error("invert: does not exist");return Er(n,t)}function BS(e,t,r){if(!e.eql(e.sqr(t),r))throw Error("Cannot find square root")}function _O(e,t){let r=(e.ORDER+mr)/SO,i=e.pow(t,r);return BS(e,i,t),i}function SV(e,t){let r=(e.ORDER-xO)/wO,i=e.mul(t,$s),n=e.pow(i,r),o=e.mul(t,n),s=e.mul(e.mul(o,$s),n),a=e.mul(o,e.sub(s,e.ONE));return BS(e,a,t),a}function xV(e){let t=Vp(e),r=kO(e),i=r(t,t.neg(t.ONE)),n=r(t,i),o=r(t,t.neg(i)),s=(e+yV)/vO;return(a,c)=>{let l=a.pow(c,s),u=a.mul(l,i),f=a.mul(l,n),p=a.mul(l,o),m=a.eql(a.sqr(u),c),y=a.eql(a.sqr(f),c);l=a.cmov(l,u,m),u=a.cmov(p,f,y);let g=a.eql(a.sqr(u),c),b=a.cmov(l,u,g);return BS(a,b,c),b}}function kO(e){if(e<bO)throw Error("sqrt is not defined for small field");let t=e-mr,r=0;while(t%$s===Ir)t/=$s,r++;let i=$s,n=Vp(e);while(yO(n,i)===1)if(i++>1000)throw Error("Cannot find square root: probably non-prime P");if(r===1)return _O;let o=n.pow(i,t),s=(t+mr)/$s;return function(c,l){if(c.is0(l))return l;if(yO(c,l)!==1)throw Error("Cannot find square root");let u=r,f=c.mul(c.ONE,o),p=c.pow(l,t),m=c.pow(l,s);while(!c.eql(p,c.ONE)){if(c.is0(p))return c.ZERO;let y=1,g=c.sqr(p);while(!c.eql(g,c.ONE))if(y++,g=c.sqr(g),y===u)throw Error("Cannot find square root");let b=mr<<BigInt(u-y-1),_=c.pow(f,b);u=y,f=c.sqr(_),p=c.mul(p,f),m=c.mul(m,_)}return m}}function wV(e){if(e%SO===bO)return _O;if(e%wO===xO)return SV;if(e%vO===bV)return xV(e);return kO(e)}var vV=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function jS(e){let t={ORDER:"bigint",BYTES:"number",BITS:"number"},r=vV.reduce((i,n)=>(i[n]="function",i),t);return As(e,r),e}function _V(e,t,r){if(r<Ir)throw Error("invalid exponent, negatives unsupported");if(r===Ir)return e.ONE;if(r===mr)return t;let i=e.ONE,n=t;while(r>Ir){if(r&mr)i=e.mul(i,n);n=e.sqr(n),r>>=mr}return i}function Au(e,t,r=!1){let i=Array(t.length).fill(r?e.ZERO:void 0),n=t.reduce((s,a,c)=>{if(e.is0(a))return s;return i[c]=s,e.mul(s,a)},e.ONE),o=e.inv(n);return t.reduceRight((s,a,c)=>{if(e.is0(a))return s;return i[c]=e.mul(s,i[c]),e.mul(s,a)},o),i}function yO(e,t){let r=(e.ORDER-mr)/$s,i=e.pow(t,r),n=e.eql(i,e.ONE),o=e.eql(i,e.ZERO),s=e.eql(i,e.neg(e.ONE));if(!n&&!o&&!s)throw Error("invalid Legendre symbol result");return n?1:o?0:-1}function kV(e,t){if(t!==void 0)Kt(t);let r=t!==void 0?t:e.toString(2).length,i=Math.ceil(r/8);return{nBitLength:r,nByteLength:i}}class EO{ORDER;BITS;BYTES;isLE;ZERO=Ir;ONE=mr;_lengths;_sqrt;_mod;constructor(e,t={}){if(e<=Ir)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:i,nByteLength:n}=kV(e,r);if(n>2048)throw Error("invalid field: expected ORDER of <= 2048 bytes");this.ORDER=e,this.BITS=i,this.BYTES=n,this._sqrt=void 0,Object.preventExtensions(this)}create(e){return Er(e,this.ORDER)}isValid(e){if(typeof e!=="bigint")throw Error("invalid field element: expected bigint, got "+typeof e);return Ir<=e&&e<this.ORDER}is0(e){return e===Ir}isValidNot0(e){return!this.is0(e)&&this.isValid(e)}isOdd(e){return(e&mr)===mr}neg(e){return Er(-e,this.ORDER)}eql(e,t){return e===t}sqr(e){return Er(e*e,this.ORDER)}add(e,t){return Er(e+t,this.ORDER)}sub(e,t){return Er(e-t,this.ORDER)}mul(e,t){return Er(e*t,this.ORDER)}pow(e,t){return _V(this,e,t)}div(e,t){return Er(e*gO(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 gO(e,this.ORDER)}sqrt(e){if(!this._sqrt)this._sqrt=wV(this.ORDER);return this._sqrt(this,e)}toBytes(e){return this.isLE?Eu(e,this.BYTES):Ga(e,this.BYTES)}fromBytes(e,t=!1){Pe(e);let{_lengths:r,BYTES:i,isLE:n,ORDER:o,_mod:s}=this;if(r){if(!r.includes(e.length)||e.length>i)throw Error("Field.fromBytes: expected "+r+" bytes, got "+e.length);let c=new Uint8Array(i);c.set(e,n?0:c.length-e.length),e=c}if(e.length!==i)throw Error("Field.fromBytes: expected "+i+" bytes, got "+e.length);let a=n?bo(e):yo(e);if(s)a=Er(a,o);if(!t){if(!this.isValid(a))throw Error("invalid field element: outside of range 0..ORDER")}return a}invertBatch(e){return Au(this,e)}cmov(e,t,r){return r?t:e}}function Vp(e,t={}){return new EO(e,t)}function IO(e){if(typeof e!=="bigint")throw Error("field order must be bigint");let t=e.toString(2).length;return Math.ceil(t/8)}function US(e){let t=IO(e);return t+Math.ceil(t/2)}function TO(e,t,r=!1){Pe(e);let i=e.length,n=IO(t),o=US(t);if(i<16||i<o||i>1024)throw Error("expected "+o+"-1024 bytes of input, got "+i);let s=r?bo(e):yo(e),a=Er(s,t-mr)+mr;return r?Eu(a,n):Ga(a,n)}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var Qa=BigInt(0),Cs=BigInt(1);function $u(e,t){let r=t.negate();return e?r:t}function FS(e,t){let r=Au(e.Fp,t.map((i)=>i.Z));return t.map((i,n)=>e.fromAffine(i.toAffine(r[n])))}function RO(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw Error("invalid window size, expected [1.."+t+"], got W="+e)}function qS(e,t){RO(e,t);let r=Math.ceil(t/e)+1,i=2**(e-1),n=2**e,o=Tu(e),s=BigInt(e);return{windows:r,windowSize:i,mask:o,maxNumber:n,shiftBy:s}}function AO(e,t,r){let{windowSize:i,mask:n,maxNumber:o,shiftBy:s}=r,a=Number(e&n),c=e>>s;if(a>i)a-=o,c+=Cs;let l=t*i,u=l+Math.abs(a)-1,f=a===0,p=a<0,m=t%2!==0;return{nextN:c,offset:u,isZero:f,isNeg:p,isNegF:m,offsetF:l}}var ZS=new WeakMap,OO=new WeakMap;function MS(e){return OO.get(e)||1}function $O(e){if(e!==Qa)throw Error("invalid wNAF")}class HS{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 i=e;while(t>Qa){if(t&Cs)r=r.add(i);i=i.double(),t>>=Cs}return r}precomputeWindow(e,t){let{windows:r,windowSize:i}=qS(t,this.bits),n=[],o=e,s=o;for(let a=0;a<r;a++){s=o,n.push(s);for(let c=1;c<i;c++)s=s.add(o),n.push(s);o=s.double()}return n}wNAF(e,t,r){if(!this.Fn.isValid(r))throw Error("invalid scalar");let i=this.ZERO,n=this.BASE,o=qS(e,this.bits);for(let s=0;s<o.windows;s++){let{nextN:a,offset:c,isZero:l,isNeg:u,isNegF:f,offsetF:p}=AO(r,s,o);if(r=a,l)n=n.add($u(f,t[p]));else i=i.add($u(u,t[c]))}return $O(r),{p:i,f:n}}wNAFUnsafe(e,t,r,i=this.ZERO){let n=qS(e,this.bits);for(let o=0;o<n.windows;o++){if(r===Qa)break;let{nextN:s,offset:a,isZero:c,isNeg:l}=AO(r,o,n);if(r=s,c)continue;else{let u=t[a];i=i.add(l?u.negate():u)}}return $O(r),i}getPrecomputes(e,t,r){let i=ZS.get(t);if(!i){if(i=this.precomputeWindow(t,e),e!==1){if(typeof r==="function")i=r(i);ZS.set(t,i)}}return i}cached(e,t,r){let i=MS(e);return this.wNAF(i,this.getPrecomputes(i,e,r),t)}unsafe(e,t,r,i){let n=MS(e);if(n===1)return this._unsafeLadder(e,t,i);return this.wNAFUnsafe(n,this.getPrecomputes(n,e,r),t,i)}createCache(e,t){RO(t,this.bits),OO.set(e,t),ZS.delete(e)}hasCache(e){return MS(e)!==1}}function PO(e,t,r,i){let n=t,o=e.ZERO,s=e.ZERO;while(r>Qa||i>Qa){if(r&Cs)o=o.add(n);if(i&Cs)s=s.add(n);n=n.double(),r>>=Cs,i>>=Cs}return{p1:o,p2:s}}function CO(e,t,r){if(t){if(t.ORDER!==e)throw Error("Field.ORDER must match order: Fp == p, Fn == n");return jS(t),t}else return Vp(e,{isLE:r})}function zO(e,t,r={},i){if(i===void 0)i=e==="edwards";if(!t||typeof t!=="object")throw Error(`expected valid ${e} CURVE object`);for(let c of["p","n","h"]){let l=t[c];if(!(typeof l==="bigint"&&l>Qa))throw Error(`CURVE.${c} must be positive bigint`)}let n=CO(t.p,r.Fp,i),o=CO(t.n,r.Fn,i),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:o}}function Wp(e,t){return function(i){let n=e(i);return{secretKey:n,publicKey:t(n)}}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var Cu=BigInt(0),Ya=BigInt(1),Gp=BigInt(2);function EV(e){return As(e,{adjustScalarBytes:"function",powPminus2:"function"}),Object.freeze({...e})}function NO(e){let t=EV(e),{P:r,type:i,adjustScalarBytes:n,powPminus2:o,randomBytes:s}=t,a=i==="x25519";if(!a&&i!=="x448")throw Error("invalid type");let c=s||ho,l=a?255:448,u=a?32:56,f=a?BigInt(9):BigInt(5),p=a?BigInt(121665):BigInt(39081),m=a?Gp**BigInt(254):Gp**BigInt(447),y=a?BigInt(8)*Gp**BigInt(251)-Ya:BigInt(4)*Gp**BigInt(445)-Ya,g=m+y+Ya,b=(I)=>Er(I,r),_=T(f);function T(I){return Eu(b(I),u)}function A(I){let O=Jp(Pe(I,u,"uCoordinate"));if(a)O[31]&=127;return b(bo(O))}function z(I){return bo(n(Jp(Pe(I,u,"scalar"))))}function j(I,O){let R=X(A(O),z(I));if(R===Cu)throw Error("invalid private or public key received");return T(R)}function E(I){return j(I,_)}let F=E,D=j;function H(I,O,R){let M=b(I*(O-R));return O=b(O-M),R=b(R+M),{x_2:O,x_3:R}}function X(I,O){Iu("u",I,Cu,r),Iu("scalar",O,m,g);let R=O,M=I,L=Ya,V=Cu,k=I,te=Ya,ue=Cu;for(let be=BigInt(l-1);be>=Cu;be--){let Ee=R>>be&Ya;ue^=Ee,{x_2:L,x_3:k}=H(ue,L,k),{x_2:V,x_3:te}=H(ue,V,te),ue=Ee;let Ce=L+V,Re=b(Ce*Ce),_e=L-V,Je=b(_e*_e),Ne=Re-Je,Ye=k+te,mt=k-te,zt=b(mt*Ce),dr=b(Ye*_e),Kr=zt+dr,Jr=zt-dr;k=b(Kr*Kr),te=b(M*b(Jr*Jr)),L=b(Re*Je),V=b(Ne*(Re+b(p*Ne)))}({x_2:L,x_3:k}=H(ue,L,k)),{x_2:V,x_3:te}=H(ue,V,te);let C=o(V);return b(L*C)}let Z={secretKey:u,publicKey:u,seed:u},P=(I=c(u))=>(Pe(I,Z.seed,"seed"),I),N={randomSecretKey:P};return Object.freeze({keygen:Wp(P,F),getSharedSecret:D,getPublicKey:F,scalarMult:j,scalarMultBase:E,utils:N,GuBytes:_.slice(),lengths:Z})}class KS{oHash;iHash;blockLen;outputLen;finished=!1;destroyed=!1;constructor(e,t){if(un(e),Pe(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,i=new Uint8Array(r);i.set(t.length>r?e.create().update(t).digest():t);for(let n=0;n<i.length;n++)i[n]^=54;this.iHash.update(i),this.oHash=e.create();for(let n=0;n<i.length;n++)i[n]^=106;this.oHash.update(i),Br(i)}update(e){return $i(this),this.iHash.update(e),this}digestInto(e){$i(this),Pe(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:i,destroyed:n,blockLen:o,outputLen:s}=this;return e=e,e.finished=i,e.destroyed=n,e.blockLen=o,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 Xa=(e,t,r)=>new KS(e,t).update(r).digest();Xa.create=(e,t)=>new KS(e,t);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var DO=(e,t)=>(e+(e>=0?t:-t)/BO)/t;function IV(e,t,r){let[[i,n],[o,s]]=t,a=DO(s*e,r),c=DO(-n*e,r),l=e-a*i-c*o,u=-a*n-c*s,f=l<Ci,p=u<Ci;if(f)l=-l;if(p)u=-u;let m=Tu(Math.ceil(DS(r)/2))+ec;if(l<Ci||l>=m||u<Ci||u>=m)throw Error("splitScalar (endomorphism): failed, k="+e);return{k1neg:f,k1:l,k2neg:p,k2:u}}function VS(e){if(!["compact","recovered","der"].includes(e))throw Error('Signature format must be "compact", "recovered", or "der"');return e}function JS(e,t){let r={};for(let i of Object.keys(t))r[i]=e[i]===void 0?t[i]:e[i];if(_u(r.lowS,"lowS"),_u(r.prehash,"prehash"),r.format!==void 0)VS(r.format);return r}class LO extends Error{constructor(e=""){super(e)}}var xo={Err:LO,_tlv:{encode:(e,t)=>{let{Err:r}=xo;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(t.length&1)throw new r("tlv.encode: unpadded data");let i=t.length/2,n=ku(i);if(n.length/2&128)throw new r("tlv.encode: long form length too big");let o=i>127?ku(n.length/2|128):"";return ku(e)+o+n+t},decode(e,t){let{Err:r}=xo,i=0;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(t.length<2||t[i++]!==e)throw new r("tlv.decode: wrong tlv");let n=t[i++],o=!!(n&128),s=0;if(!o)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 l=t.subarray(i,i+c);if(l.length!==c)throw new r("tlv.decode: length bytes not complete");if(l[0]===0)throw new r("tlv.decode(long): zero leftmost byte");for(let u of l)s=s<<8|u;if(i+=c,s<128)throw new r("tlv.decode(long): not minimal encoding")}let a=t.subarray(i,i+s);if(a.length!==s)throw new r("tlv.decode: wrong value length");return{v:a,l:t.subarray(i+s)}}},_int:{encode(e){let{Err:t}=xo;if(e<Ci)throw new t("integer: negative integers are not allowed");let r=ku(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}=xo;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 yo(e)}},toSig(e){let{Err:t,_int:r,_tlv:i}=xo,n=Pe(e,void 0,"signature"),{v:o,l:s}=i.decode(48,n);if(s.length)throw new t("invalid signature: left bytes after parsing");let{v:a,l:c}=i.decode(2,o),{v:l,l:u}=i.decode(2,c);if(u.length)throw new t("invalid signature: left bytes after parsing");return{r:r.decode(a),s:r.decode(l)}},hexFromSig(e){let{_tlv:t,_int:r}=xo,i=t.encode(2,r.encode(e.r)),n=t.encode(2,r.encode(e.s)),o=i+n;return t.encode(48,o)}},Ci=BigInt(0),ec=BigInt(1),BO=BigInt(2),Qp=BigInt(3),TV=BigInt(4);function WS(e,t={}){let r=zO("weierstrass",e,t),{Fp:i,Fn:n}=r,o=r.CURVE,{h:s,n:a}=o;As(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object"});let{endo:c}=t;if(c){if(!i.is0(o.a)||typeof c.beta!=="bigint"||!Array.isArray(c.basises))throw Error('invalid endo: expected "beta": bigint and "basises": array')}let l=UO(i,n);function u(){if(!i.isOdd)throw Error("compression is not supported: Field does not have .isOdd()")}function f(P,N,I){let{x:O,y:R}=N.toAffine(),M=i.toBytes(O);if(_u(I,"isCompressed"),I){u();let L=!i.isOdd(R);return Nt(jO(L),M)}else return Nt(Uint8Array.of(4),M,i.toBytes(R))}function p(P){Pe(P,void 0,"Point");let{publicKey:N,publicKeyUncompressed:I}=l,O=P.length,R=P[0],M=P.subarray(1);if(O===N&&(R===2||R===3)){let L=i.fromBytes(M);if(!i.isValid(L))throw Error("bad point: is not on curve, wrong x");let V=g(L),k;try{k=i.sqrt(V)}catch(C){let be=C instanceof Error?": "+C.message:"";throw Error("bad point: is not on curve, sqrt error"+be)}u();let te=i.isOdd(k);if((R&1)===1!==te)k=i.neg(k);return{x:L,y:k}}else if(O===I&&R===4){let L=i.BYTES,V=i.fromBytes(M.subarray(0,L)),k=i.fromBytes(M.subarray(L,L*2));if(!b(V,k))throw Error("bad point: is not on curve");return{x:V,y:k}}else throw Error(`bad point: got length ${O}, expected compressed=${N} or uncompressed=${I}`)}let m=t.toBytes||f,y=t.fromBytes||p;function g(P){let N=i.sqr(P),I=i.mul(N,P);return i.add(i.add(I,i.mul(P,o.a)),o.b)}function b(P,N){let I=i.sqr(N),O=g(P);return i.eql(I,O)}if(!b(o.Gx,o.Gy))throw Error("bad curve params: generator point");let _=i.mul(i.pow(o.a,Qp),TV),T=i.mul(i.sqr(o.b),BigInt(27));if(i.is0(i.add(_,T)))throw Error("bad curve params: a or b");function A(P,N,I=!1){if(!i.isValid(N)||I&&i.is0(N))throw Error(`bad point coordinate ${P}`);return N}function z(P){if(!(P instanceof H))throw Error("Weierstrass Point expected")}function j(P){if(!c||!c.basises)throw Error("no endo");return IV(P,c.basises,n.ORDER)}let E=LS((P,N)=>{let{X:I,Y:O,Z:R}=P;if(i.eql(R,i.ONE))return{x:I,y:O};let M=P.is0();if(N==null)N=M?i.ONE:i.inv(R);let L=i.mul(I,N),V=i.mul(O,N),k=i.mul(R,N);if(M)return{x:i.ZERO,y:i.ZERO};if(!i.eql(k,i.ONE))throw Error("invZ was invalid");return{x:L,y:V}}),F=LS((P)=>{if(P.is0()){if(t.allowInfinityPoint&&!i.is0(P.Y))return;throw Error("bad point: ZERO")}let{x:N,y:I}=P.toAffine();if(!i.isValid(N)||!i.isValid(I))throw Error("bad point: x or y not field elements");if(!b(N,I))throw Error("bad point: equation left != right");if(!P.isTorsionFree())throw Error("bad point: not in prime-order subgroup");return!0});function D(P,N,I,O,R){return I=new H(i.mul(I.X,P),I.Y,I.Z),N=$u(O,N),I=$u(R,I),N.add(I)}class H{static BASE=new H(o.Gx,o.Gy,i.ONE);static ZERO=new H(i.ZERO,i.ONE,i.ZERO);static Fp=i;static Fn=n;X;Y;Z;constructor(P,N,I){this.X=A("x",P),this.Y=A("y",N,!0),this.Z=A("z",I),Object.freeze(this)}static CURVE(){return o}static fromAffine(P){let{x:N,y:I}=P||{};if(!P||!i.isValid(N)||!i.isValid(I))throw Error("invalid affine point");if(P instanceof H)throw Error("projective point not allowed");if(i.is0(N)&&i.is0(I))return H.ZERO;return new H(N,I,i.ONE)}static fromBytes(P){let N=H.fromAffine(y(Pe(P,void 0,"point")));return N.assertValidity(),N}static fromHex(P){return H.fromBytes(Ts(P))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(P=8,N=!0){if(Z.createCache(this,P),!N)this.multiply(Qp);return this}assertValidity(){F(this)}hasEvenY(){let{y:P}=this.toAffine();if(!i.isOdd)throw Error("Field doesn't support isOdd");return!i.isOdd(P)}equals(P){z(P);let{X:N,Y:I,Z:O}=this,{X:R,Y:M,Z:L}=P,V=i.eql(i.mul(N,L),i.mul(R,O)),k=i.eql(i.mul(I,L),i.mul(M,O));return V&&k}negate(){return new H(this.X,i.neg(this.Y),this.Z)}double(){let{a:P,b:N}=o,I=i.mul(N,Qp),{X:O,Y:R,Z:M}=this,L=i.ZERO,V=i.ZERO,k=i.ZERO,te=i.mul(O,O),ue=i.mul(R,R),C=i.mul(M,M),be=i.mul(O,R);return be=i.add(be,be),k=i.mul(O,M),k=i.add(k,k),L=i.mul(P,k),V=i.mul(I,C),V=i.add(L,V),L=i.sub(ue,V),V=i.add(ue,V),V=i.mul(L,V),L=i.mul(be,L),k=i.mul(I,k),C=i.mul(P,C),be=i.sub(te,C),be=i.mul(P,be),be=i.add(be,k),k=i.add(te,te),te=i.add(k,te),te=i.add(te,C),te=i.mul(te,be),V=i.add(V,te),C=i.mul(R,M),C=i.add(C,C),te=i.mul(C,be),L=i.sub(L,te),k=i.mul(C,ue),k=i.add(k,k),k=i.add(k,k),new H(L,V,k)}add(P){z(P);let{X:N,Y:I,Z:O}=this,{X:R,Y:M,Z:L}=P,V=i.ZERO,k=i.ZERO,te=i.ZERO,ue=o.a,C=i.mul(o.b,Qp),be=i.mul(N,R),Ee=i.mul(I,M),Ce=i.mul(O,L),Re=i.add(N,I),_e=i.add(R,M);Re=i.mul(Re,_e),_e=i.add(be,Ee),Re=i.sub(Re,_e),_e=i.add(N,O);let Je=i.add(R,L);return _e=i.mul(_e,Je),Je=i.add(be,Ce),_e=i.sub(_e,Je),Je=i.add(I,O),V=i.add(M,L),Je=i.mul(Je,V),V=i.add(Ee,Ce),Je=i.sub(Je,V),te=i.mul(ue,_e),V=i.mul(C,Ce),te=i.add(V,te),V=i.sub(Ee,te),te=i.add(Ee,te),k=i.mul(V,te),Ee=i.add(be,be),Ee=i.add(Ee,be),Ce=i.mul(ue,Ce),_e=i.mul(C,_e),Ee=i.add(Ee,Ce),Ce=i.sub(be,Ce),Ce=i.mul(ue,Ce),_e=i.add(_e,Ce),be=i.mul(Ee,_e),k=i.add(k,be),be=i.mul(Je,_e),V=i.mul(Re,V),V=i.sub(V,be),be=i.mul(Re,Ee),te=i.mul(Je,te),te=i.add(te,be),new H(V,k,te)}subtract(P){return this.add(P.negate())}is0(){return this.equals(H.ZERO)}multiply(P){let{endo:N}=t;if(!n.isValidNot0(P))throw Error("invalid scalar: out of range");let I,O,R=(M)=>Z.cached(this,M,(L)=>FS(H,L));if(N){let{k1neg:M,k1:L,k2neg:V,k2:k}=j(P),{p:te,f:ue}=R(L),{p:C,f:be}=R(k);O=ue.add(be),I=D(N.beta,te,C,M,V)}else{let{p:M,f:L}=R(P);I=M,O=L}return FS(H,[I,O])[0]}multiplyUnsafe(P){let{endo:N}=t,I=this;if(!n.isValid(P))throw Error("invalid scalar: out of range");if(P===Ci||I.is0())return H.ZERO;if(P===ec)return I;if(Z.hasCache(this))return this.multiply(P);if(N){let{k1neg:O,k1:R,k2neg:M,k2:L}=j(P),{p1:V,p2:k}=PO(H,I,R,L);return D(N.beta,V,k,O,M)}else return Z.unsafe(I,P)}toAffine(P){return E(this,P)}isTorsionFree(){let{isTorsionFree:P}=t;if(s===ec)return!0;if(P)return P(H,this);return Z.unsafe(this,a).is0()}clearCofactor(){let{clearCofactor:P}=t;if(s===ec)return this;if(P)return P(H,this);return this.multiplyUnsafe(s)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}toBytes(P=!0){return _u(P,"isCompressed"),this.assertValidity(),m(H,this,P)}toHex(P=!0){return Is(this.toBytes(P))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let X=n.BITS,Z=new HS(H,t.endo?Math.ceil(X/2):X);return H.BASE.precompute(8),H}function jO(e){return Uint8Array.of(e?2:3)}function UO(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function AV(e,t={}){let{Fn:r}=e,i=t.randomBytes||ho,n=Object.assign(UO(e.Fp,r),{seed:US(r.ORDER)});function o(m){try{let y=r.fromBytes(m);return r.isValidNot0(y)}catch(y){return!1}}function s(m,y){let{publicKey:g,publicKeyUncompressed:b}=n;try{let _=m.length;if(y===!0&&_!==g)return!1;if(y===!1&&_!==b)return!1;return!!e.fromBytes(m)}catch(_){return!1}}function a(m=i(n.seed)){return TO(Pe(m,n.seed,"seed"),r.ORDER)}function c(m,y=!0){return e.BASE.multiply(r.fromBytes(m)).toBytes(y)}function l(m){let{secretKey:y,publicKey:g,publicKeyUncompressed:b}=n;if(!Va(m))return;if("_lengths"in r&&r._lengths||y===g)return;let _=Pe(m,void 0,"key").length;return _===g||_===b}function u(m,y,g=!0){if(l(m)===!0)throw Error("first arg must be private key");if(l(y)===!1)throw Error("second arg must be public key");let b=r.fromBytes(m);return e.fromBytes(y).multiply(b).toBytes(g)}let f={isValidSecretKey:o,isValidPublicKey:s,randomSecretKey:a},p=Wp(a,c);return Object.freeze({getPublicKey:c,getSharedSecret:u,keygen:p,Point:e,utils:f,lengths:n})}function GS(e,t,r={}){un(t),As(r,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"}),r=Object.assign({},r);let i=r.randomBytes||ho,n=r.hmac||((I,O)=>Xa(t,I,O)),{Fp:o,Fn:s}=e,{ORDER:a,BITS:c}=s,{keygen:l,getPublicKey:u,getSharedSecret:f,utils:p,lengths:m}=AV(e,r),y={prehash:!0,lowS:typeof r.lowS==="boolean"?r.lowS:!0,format:"compact",extraEntropy:!1},g=a*BO<o.ORDER;function b(I){let O=a>>ec;return I>O}function _(I,O){if(!s.isValidNot0(O))throw Error(`invalid signature ${I}: out of range 1..Point.Fn.ORDER`);return O}function T(){if(g)throw Error('"recovered" sig type is not supported for cofactor >2 curves')}function A(I,O){VS(O);let R=m.signature,M=O==="compact"?R:O==="recovered"?R+1:void 0;return Pe(I,M)}class z{r;s;recovery;constructor(I,O,R){if(this.r=_("r",I),this.s=_("s",O),R!=null){if(T(),![0,1,2,3].includes(R))throw Error("invalid recovery id");this.recovery=R}Object.freeze(this)}static fromBytes(I,O=y.format){A(I,O);let R;if(O==="der"){let{r:k,s:te}=xo.toSig(Pe(I));return new z(k,te)}if(O==="recovered")R=I[0],O="compact",I=I.subarray(1);let M=m.signature/2,L=I.subarray(0,M),V=I.subarray(M,M*2);return new z(s.fromBytes(L),s.fromBytes(V),R)}static fromHex(I,O){return this.fromBytes(Ts(I),O)}assertRecovery(){let{recovery:I}=this;if(I==null)throw Error("invalid recovery id: must be present");return I}addRecoveryBit(I){return new z(this.r,this.s,I)}recoverPublicKey(I){let{r:O,s:R}=this,M=this.assertRecovery(),L=M===2||M===3?O+a:O;if(!o.isValid(L))throw Error("invalid recovery id: sig.r+curve.n != R.x");let V=o.toBytes(L),k=e.fromBytes(Nt(jO((M&1)===0),V)),te=s.inv(L),ue=E(Pe(I,void 0,"msgHash")),C=s.create(-ue*te),be=s.create(R*te),Ee=e.BASE.multiplyUnsafe(C).add(k.multiplyUnsafe(be));if(Ee.is0())throw Error("invalid recovery: point at infinify");return Ee.assertValidity(),Ee}hasHighS(){return b(this.s)}toBytes(I=y.format){if(VS(I),I==="der")return Ts(xo.hexFromSig(this));let{r:O,s:R}=this,M=s.toBytes(O),L=s.toBytes(R);if(I==="recovered")return T(),Nt(Uint8Array.of(this.assertRecovery()),M,L);return Nt(M,L)}toHex(I){return Is(this.toBytes(I))}}let j=r.bits2int||function(O){if(O.length>8192)throw Error("input is too large");let R=yo(O),M=O.length*8-c;return M>0?R>>BigInt(M):R},E=r.bits2int_modN||function(O){return s.create(j(O))},F=Tu(c);function D(I){return Iu("num < 2^"+c,I,Ci,F),s.toBytes(I)}function H(I,O){return Pe(I,void 0,"message"),O?Pe(t(I),void 0,"prehashed message"):I}function X(I,O,R){let{lowS:M,prehash:L,extraEntropy:V}=JS(R,y);I=H(I,L);let k=E(I),te=s.fromBytes(O);if(!s.isValidNot0(te))throw Error("invalid private key");let ue=[D(te),D(k)];if(V!=null&&V!==!1){let Ce=V===!0?i(m.secretKey):V;ue.push(Pe(Ce,void 0,"extraEntropy"))}let C=Nt(...ue),be=k;function Ee(Ce){let Re=j(Ce);if(!s.isValidNot0(Re))return;let _e=s.inv(Re),Je=e.BASE.multiply(Re).toAffine(),Ne=s.create(Je.x);if(Ne===Ci)return;let Ye=s.create(_e*s.create(be+Ne*te));if(Ye===Ci)return;let mt=(Je.x===Ne?0:2)|Number(Je.y&ec),zt=Ye;if(M&&b(Ye))zt=s.neg(Ye),mt^=1;return new z(Ne,zt,g?void 0:mt)}return{seed:C,k2sig:Ee}}function Z(I,O,R={}){let{seed:M,k2sig:L}=X(I,O,R);return hO(t.outputLen,s.BYTES,n)(M,L).toBytes(R.format)}function P(I,O,R,M={}){let{lowS:L,prehash:V,format:k}=JS(M,y);if(R=Pe(R,void 0,"publicKey"),O=H(O,V),!Va(I)){let te=I instanceof z?", use sig.toBytes()":"";throw Error("verify expects Uint8Array signature"+te)}A(I,k);try{let te=z.fromBytes(I,k),ue=e.fromBytes(R);if(L&&te.hasHighS())return!1;let{r:C,s:be}=te,Ee=E(O),Ce=s.inv(be),Re=s.create(Ee*Ce),_e=s.create(C*Ce),Je=e.BASE.multiplyUnsafe(Re).add(ue.multiplyUnsafe(_e));if(Je.is0())return!1;return s.create(Je.x)===C}catch(te){return!1}}function N(I,O,R={}){let{prehash:M}=JS(R,y);return O=H(O,M),z.fromBytes(I,"recovered").recoverPublicKey(O).toBytes()}return Object.freeze({keygen:l,getPublicKey:u,getSharedSecret:f,utils:p,lengths:m,Point:e,sign:Z,verify:P,recoverPublicKey:N,Signature:z,hash:t})}function qO(e,t,r){return e&t^~e&r}function ZO(e,t,r){return e&t^e&r^t&r}class Yp{blockLen;outputLen;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor(e,t,r,i){this.blockLen=e,this.outputLen=t,this.padOffset=r,this.isLE=i,this.buffer=new Uint8Array(e),this.view=Hp(this.buffer)}update(e){$i(this),Pe(e);let{view:t,buffer:r,blockLen:i}=this,n=e.length;for(let o=0;o<n;){let s=Math.min(i-this.pos,n-o);if(s===i){let a=Hp(e);for(;i<=n-o;o+=i)this.process(a,o);continue}if(r.set(e.subarray(o,o+s),this.pos),this.pos+=s,o+=s,this.pos===i)this.process(t,0),this.pos=0}return this.length+=e.length,this.roundClean(),this}digestInto(e){$i(this),Mp(e,this),this.finished=!0;let{buffer:t,view:r,blockLen:i,isLE:n}=this,{pos:o}=this;if(t[o++]=128,Br(this.buffer.subarray(o)),this.padOffset>i-o)this.process(r,0),o=0;for(let u=o;u<i;u++)t[u]=0;r.setBigUint64(i-8,BigInt(this.length*8),n),this.process(r,0);let s=Hp(e),a=this.outputLen;if(a%4)throw Error("_sha2: outputLen must be aligned to 32bit");let c=a/4,l=this.get();if(c>l.length)throw Error("_sha2: outputLen bigger than state");for(let u=0;u<c;u++)s.setUint32(4*u,l[u],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:i,finished:n,destroyed:o,pos:s}=this;if(e.destroyed=o,e.finished=n,e.length=i,e.pos=s,i%t)e.buffer.set(r);return e}clone(){return this._cloneInto()}}var Ri=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var tr=Uint32Array.from([3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]);var Xp=BigInt(4294967295),MO=BigInt(32);function $V(e,t=!1){if(t)return{h:Number(e&Xp),l:Number(e>>MO&Xp)};return{h:Number(e>>MO&Xp)|0,l:Number(e&Xp)|0}}function em(e,t=!1){let r=e.length,i=new Uint32Array(r),n=new Uint32Array(r);for(let o=0;o<r;o++){let{h:s,l:a}=$V(e[o],t);[i[o],n[o]]=[s,a]}return[i,n]}var QS=(e,t,r)=>e>>>r,YS=(e,t,r)=>e<<32-r|t>>>r,Rs=(e,t,r)=>e>>>r|t<<32-r,Os=(e,t,r)=>e<<32-r|t>>>r,Ru=(e,t,r)=>e<<64-r|t>>>r-32,Ou=(e,t,r)=>e>>>r-32|t<<64-r;var FO=(e,t,r)=>e<<r|t>>>32-r,HO=(e,t,r)=>t<<r|e>>>32-r,KO=(e,t,r)=>t<<r-32|e>>>64-r,JO=(e,t,r)=>e<<r-32|t>>>64-r;function Qn(e,t,r,i){let n=(t>>>0)+(i>>>0);return{h:e+r+(n/4294967296|0)|0,l:n|0}}var VO=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),WO=(e,t,r,i)=>t+r+i+(e/4294967296|0)|0,GO=(e,t,r,i)=>(e>>>0)+(t>>>0)+(r>>>0)+(i>>>0),QO=(e,t,r,i,n)=>t+r+i+n+(e/4294967296|0)|0,YO=(e,t,r,i,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(i>>>0)+(n>>>0),XO=(e,t,r,i,n,o)=>t+r+i+n+o+(e/4294967296|0)|0;var RV=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]),wo=new Uint32Array(64);class eP extends Yp{constructor(e){super(64,e,8,!1)}get(){let{A:e,B:t,C:r,D:i,E:n,F:o,G:s,H:a}=this;return[e,t,r,i,n,o,s,a]}set(e,t,r,i,n,o,s,a){this.A=e|0,this.B=t|0,this.C=r|0,this.D=i|0,this.E=n|0,this.F=o|0,this.G=s|0,this.H=a|0}process(e,t){for(let u=0;u<16;u++,t+=4)wo[u]=e.getUint32(t,!1);for(let u=16;u<64;u++){let f=wo[u-15],p=wo[u-2],m=Tn(f,7)^Tn(f,18)^f>>>3,y=Tn(p,17)^Tn(p,19)^p>>>10;wo[u]=y+wo[u-7]+m+wo[u-16]|0}let{A:r,B:i,C:n,D:o,E:s,F:a,G:c,H:l}=this;for(let u=0;u<64;u++){let f=Tn(s,6)^Tn(s,11)^Tn(s,25),p=l+f+qO(s,a,c)+RV[u]+wo[u]|0,y=(Tn(r,2)^Tn(r,13)^Tn(r,22))+ZO(r,i,n)|0;l=c,c=a,a=s,s=o+p|0,o=n,n=i,i=r,r=p+y|0}r=r+this.A|0,i=i+this.B|0,n=n+this.C|0,o=o+this.D|0,s=s+this.E|0,a=a+this.F|0,c=c+this.G|0,l=l+this.H|0,this.set(r,i,n,o,s,a,c,l)}roundClean(){Br(wo)}destroy(){this.set(0,0,0,0,0,0,0,0),Br(this.buffer)}}class tP extends eP{A=Ri[0]|0;B=Ri[1]|0;C=Ri[2]|0;D=Ri[3]|0;E=Ri[4]|0;F=Ri[5]|0;G=Ri[6]|0;H=Ri[7]|0;constructor(){super(32)}}var rP=(()=>em(["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))))(),OV=(()=>rP[0])(),PV=(()=>rP[1])(),vo=new Uint32Array(80),_o=new Uint32Array(80);class nP extends Yp{constructor(e){super(128,e,16,!1)}get(){let{Ah:e,Al:t,Bh:r,Bl:i,Ch:n,Cl:o,Dh:s,Dl:a,Eh:c,El:l,Fh:u,Fl:f,Gh:p,Gl:m,Hh:y,Hl:g}=this;return[e,t,r,i,n,o,s,a,c,l,u,f,p,m,y,g]}set(e,t,r,i,n,o,s,a,c,l,u,f,p,m,y,g){this.Ah=e|0,this.Al=t|0,this.Bh=r|0,this.Bl=i|0,this.Ch=n|0,this.Cl=o|0,this.Dh=s|0,this.Dl=a|0,this.Eh=c|0,this.El=l|0,this.Fh=u|0,this.Fl=f|0,this.Gh=p|0,this.Gl=m|0,this.Hh=y|0,this.Hl=g|0}process(e,t){for(let T=0;T<16;T++,t+=4)vo[T]=e.getUint32(t),_o[T]=e.getUint32(t+=4);for(let T=16;T<80;T++){let A=vo[T-15]|0,z=_o[T-15]|0,j=Rs(A,z,1)^Rs(A,z,8)^QS(A,z,7),E=Os(A,z,1)^Os(A,z,8)^YS(A,z,7),F=vo[T-2]|0,D=_o[T-2]|0,H=Rs(F,D,19)^Ru(F,D,61)^QS(F,D,6),X=Os(F,D,19)^Ou(F,D,61)^YS(F,D,6),Z=GO(E,X,_o[T-7],_o[T-16]),P=QO(Z,j,H,vo[T-7],vo[T-16]);vo[T]=P|0,_o[T]=Z|0}let{Ah:r,Al:i,Bh:n,Bl:o,Ch:s,Cl:a,Dh:c,Dl:l,Eh:u,El:f,Fh:p,Fl:m,Gh:y,Gl:g,Hh:b,Hl:_}=this;for(let T=0;T<80;T++){let A=Rs(u,f,14)^Rs(u,f,18)^Ru(u,f,41),z=Os(u,f,14)^Os(u,f,18)^Ou(u,f,41),j=u&p^~u&y,E=f&m^~f&g,F=YO(_,z,E,PV[T],_o[T]),D=XO(F,b,A,j,OV[T],vo[T]),H=F|0,X=Rs(r,i,28)^Ru(r,i,34)^Ru(r,i,39),Z=Os(r,i,28)^Ou(r,i,34)^Ou(r,i,39),P=r&n^r&s^n&s,N=i&o^i&a^o&a;b=y|0,_=g|0,y=p|0,g=m|0,p=u|0,m=f|0,{h:u,l:f}=Qn(c|0,l|0,D|0,H|0),c=s|0,l=a|0,s=n|0,a=o|0,n=r|0,o=i|0;let I=VO(H,Z,N);r=WO(I,D,X,P),i=I|0}({h:r,l:i}=Qn(this.Ah|0,this.Al|0,r|0,i|0)),{h:n,l:o}=Qn(this.Bh|0,this.Bl|0,n|0,o|0),{h:s,l:a}=Qn(this.Ch|0,this.Cl|0,s|0,a|0),{h:c,l}=Qn(this.Dh|0,this.Dl|0,c|0,l|0),{h:u,l:f}=Qn(this.Eh|0,this.El|0,u|0,f|0),{h:p,l:m}=Qn(this.Fh|0,this.Fl|0,p|0,m|0),{h:y,l:g}=Qn(this.Gh|0,this.Gl|0,y|0,g|0),{h:b,l:_}=Qn(this.Hh|0,this.Hl|0,b|0,_|0),this.set(r,i,n,o,s,a,c,l,u,f,p,m,y,g,b,_)}roundClean(){Br(vo,_o)}destroy(){Br(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}class iP extends nP{Ah=tr[0]|0;Al=tr[1]|0;Bh=tr[2]|0;Bl=tr[3]|0;Ch=tr[4]|0;Cl=tr[5]|0;Dh=tr[6]|0;Dl=tr[7]|0;Eh=tr[8]|0;El=tr[9]|0;Fh=tr[10]|0;Fl=tr[11]|0;Gh=tr[12]|0;Gl=tr[13]|0;Hh=tr[14]|0;Hl=tr[15]|0;constructor(){super(48)}}var tm=Wa(()=>new tP,go(1));var oP=Wa(()=>new iP,go(2));/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var zV=BigInt(1),sP=BigInt(2),NV=BigInt(3),DV=BigInt(5),ove=BigInt(8),aP=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed");function LV(e){let t=BigInt(10),r=BigInt(20),i=BigInt(40),n=BigInt(80),o=aP,a=e*e%o*e%o,c=dn(a,sP,o)*a%o,l=dn(c,zV,o)*e%o,u=dn(l,DV,o)*l%o,f=dn(u,t,o)*u%o,p=dn(f,r,o)*f%o,m=dn(p,i,o)*p%o,y=dn(m,n,o)*m%o,g=dn(y,n,o)*m%o,b=dn(g,t,o)*u%o;return{pow_p_5_8:dn(b,sP,o)*e%o,b2:a}}function BV(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var cP=(()=>{let e=aP;return NO({P:e,type:"x25519",powPminus2:(t)=>{let{pow_p_5_8:r,b2:i}=LV(t);return Er(dn(r,NV,e)*i,e)},adjustScalarBytes:BV})})();/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var jV=(()=>({p:BigInt("0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff"),n:BigInt("0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551"),h:BigInt(1),a:BigInt("0xffffffff00000001000000000000000000000000fffffffffffffffffffffffc"),b:BigInt("0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b"),Gx:BigInt("0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296"),Gy:BigInt("0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5")}))(),UV=(()=>({p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff"),n:BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973"),h:BigInt(1),a:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc"),b:BigInt("0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef"),Gx:BigInt("0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7"),Gy:BigInt("0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f")}))();var qV=WS(jV),XS=GS(qV,tm);var ZV=WS(UV),lP=GS(ZV,oP);function dP(e,t,r){if(un(e),r===void 0)r=new Uint8Array(e.outputLen);return Xa(e,r,t)}var ex=Uint8Array.of(0),uP=Uint8Array.of();function fP(e,t,r,i=32){un(e),Kt(i,"length");let n=e.outputLen;if(i>255*n)throw Error("Length must be <= 255*HashLen");let o=Math.ceil(i/n);if(r===void 0)r=uP;else Pe(r,void 0,"info");let s=new Uint8Array(o*n),a=Xa.create(e,t),c=a._cloneInto(),l=new Uint8Array(a.outputLen);for(let u=0;u<o;u++)ex[0]=u+1,c.update(u===0?uP:l).update(r).update(ex).digestInto(l),s.set(l,n*u),a._cloneInto(c);return a.destroy(),c.destroy(),Br(l,ex),s.slice(0,i)}var MV=BigInt(0),Pu=BigInt(1),FV=BigInt(2),HV=BigInt(7),KV=BigInt(256),JV=BigInt(113),hP=[],gP=[],yP=[];for(let e=0,t=Pu,r=1,i=0;e<24;e++){[r,i]=[i,(2*r+3*i)%5],hP.push(2*(5*i+r)),gP.push((e+1)*(e+2)/2%64);let n=MV;for(let o=0;o<7;o++)if(t=(t<<Pu^(t>>HV)*JV)%KV,t&FV)n^=Pu<<(Pu<<BigInt(o))-Pu;yP.push(n)}var bP=em(yP,!0),VV=bP[0],WV=bP[1],pP=(e,t,r)=>r>32?KO(e,t,r):FO(e,t,r),mP=(e,t,r)=>r>32?JO(e,t,r):HO(e,t,r);function GV(e,t=24){let r=new Uint32Array(10);for(let i=24-t;i<24;i++){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,l=r[c],u=r[c+1],f=pP(l,u,1)^r[a],p=mP(l,u,1)^r[a+1];for(let m=0;m<50;m+=10)e[s+m]^=f,e[s+m+1]^=p}let n=e[2],o=e[3];for(let s=0;s<24;s++){let a=gP[s],c=pP(n,o,a),l=mP(n,o,a),u=hP[s];n=e[u],o=e[u+1],e[u]=c,e[u+1]=l}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]^=VV[i],e[1]^=WV[i]}Br(r)}class rm{state;pos=0;posOut=0;finished=!1;state32;destroyed=!1;blockLen;suffix;outputLen;enableXOF=!1;rounds;constructor(e,t,r,i=!1,n=24){if(this.blockLen=e,this.suffix=t,this.outputLen=r,this.enableXOF=i,this.rounds=n,Kt(r,"outputLen"),!(0<e&&e<200))throw Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=Fp(this.state)}clone(){return this._cloneInto()}keccak(){PS(this.state32),GV(this.state32,this.rounds),PS(this.state32),this.posOut=0,this.pos=0}update(e){$i(this),Pe(e);let{blockLen:t,state:r}=this,i=e.length;for(let n=0;n<i;){let o=Math.min(t-this.pos,i-n);for(let s=0;s<o;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:i}=this;if(e[r]^=t,(t&128)!==0&&r===i-1)this.keccak();e[i-1]^=128,this.keccak()}writeInto(e){$i(this,!1),Pe(e),this.finish();let t=this.state,{blockLen:r}=this;for(let i=0,n=e.length;i<n;){if(this.posOut>=r)this.keccak();let o=Math.min(r-this.posOut,n-i);e.set(t.subarray(this.posOut,this.posOut+o),i),this.posOut+=o,i+=o}return e}xofInto(e){if(!this.enableXOF)throw Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return Kt(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(Mp(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,Br(this.state)}_cloneInto(e){let{blockLen:t,suffix:r,outputLen:i,rounds:n,enableXOF:o}=this;return e||=new rm(t,r,i,o,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=i,e.enableXOF=o,e.destroyed=this.destroyed,e}}var SP=(e,t,r,i={})=>Wa(()=>new rm(t,e,r),i);var Ps=SP(6,136,32,go(8));var xP=SP(6,72,64,go(10));var wP=(e,t,r,i={})=>Wa((n={})=>new rm(t,e,n.dkLen===void 0?r:n.dkLen,!0),i),vP=wP(31,168,16,go(11)),Yn=wP(31,136,32,go(12));function tx(e){if(!Number.isSafeInteger(e)||e<0||e>4294967295)throw Error("wrong u32 integer:"+e);return e}function kP(e){return tx(e),(e&e-1)===0&&e!==0}function rx(e,t){tx(e);let r=0;for(let i=0;i<t;i++,e>>>=1)r=r<<1|e&1;return r}function EP(e){return tx(e),31-Math.clz32(e)}function _P(e){let t=e.length;if(t<2||!kP(t))throw Error("n must be a power of 2 and greater than 1. Got "+t);let r=EP(t);for(let i=0;i<t;i++){let n=rx(i,r);if(i<n){let o=e[i];e[i]=e[n],e[n]=o}}return e}var nx=(e,t)=>{let{N:r,roots:i,dit:n,invertButterflies:o=!1,skipStages:s=0,brp:a=!0}=t,c=EP(r);if(!kP(r))throw Error("FFT: Polynomial size should be power of two");let l=n!==o;return(u)=>{if(u.length!==r)throw Error("FFT: wrong Polynomial length");if(n&&a)_P(u);for(let f=0,p=1;f<c-s;f++){let m=n?f+1+s:c-f,y=1<<m,g=y>>1,b=r>>m;for(let _=0;_<r;_+=y)for(let T=0,A=p++;T<g;T++){let z=o?n?r-A:A:T*b,j=_+T,E=_+T+g,F=i[z],D=u[E],H=u[j];if(l){let X=e.mul(D,F);u[j]=e.add(H,X),u[E]=e.sub(H,X)}else if(o)u[j]=e.add(D,H),u[E]=e.mul(e.sub(D,H),F);else u[j]=e.add(H,D),u[E]=e.mul(e.sub(H,D),F)}}if(!n&&a)_P(u);return u}};/*! noble-post-quantum - MIT License (c) 2024 Paul Miller (paulmillr.com) */var Xn=ho;function nm(e,t){if(e.length!==t.length)return!1;let r=0;for(let i=0;i<e.length;i++)r|=e[i]^t[i];return r===0}function IP(e){return Uint8Array.from(e)}function zs(e,...t){let r=(n)=>typeof n==="number"?n:n.bytesLen,i=t.reduce((n,o)=>n+r(o),0);return{bytesLen:i,encode:(n)=>{let o=new Uint8Array(i);for(let s=0,a=0;s<t.length;s++){let c=t[s],l=r(c),u=typeof c==="number"?n[s]:c.encode(n[s]);if(Pe(u,l,e),o.set(u,a),typeof c!=="number")u.fill(0);a+=l}return o},decode:(n)=>{Pe(n,i,e);let o=[];for(let s of t){let a=r(s),c=n.subarray(0,a);o.push(typeof s==="number"?c:s.decode(c)),n=n.subarray(a)}return o}}}function im(e,t){let r=t*e.bytesLen;return{bytesLen:r,encode:(i)=>{if(i.length!==t)throw Error(`vecCoder.encode: wrong length=${i.length}. Expected: ${t}`);let n=new Uint8Array(r);for(let o=0,s=0;o<i.length;o++){let a=e.encode(i[o]);n.set(a,s),a.fill(0),s+=a.length}return n},decode:(i)=>{Pe(i,r);let n=[];for(let o=0;o<i.length;o+=e.bytesLen)n.push(e.decode(i.subarray(o,o+e.bytesLen)));return n}}}function Ut(...e){for(let t of e)if(Array.isArray(t))for(let r of t)r.fill(0);else t.fill(0)}function ix(e){return(1<<e)-1}var xve=Uint8Array.of();/*! noble-post-quantum - MIT License (c) 2024 Paul Miller (paulmillr.com) */var TP=(e)=>{let{newPoly:t,N:r,Q:i,F:n,ROOT_OF_UNITY:o,brvBits:s,isKyber:a}=e,c=(T,A=i)=>{let z=T%A|0;return(z>=0?z|0:A+z|0)|0},l=(T,A=i)=>{let z=c(T,A)|0;return(z>A>>1?z-A|0:z)|0};function u(){let T=t(r);for(let A=0;A<r;A++){let z=rx(A,s),j=BigInt(o)**BigInt(z)%BigInt(i);T[A]=Number(j)|0}return T}let f=u(),p={add:(T,A)=>c((T|0)+(A|0))|0,sub:(T,A)=>c((T|0)-(A|0))|0,mul:(T,A)=>c((T|0)*(A|0))|0,inv:(T)=>{throw Error("not implemented")}},m={N:r,roots:f,invertButterflies:!0,skipStages:a?1:0,brp:!1},y=nx(p,{dit:!1,...m}),g=nx(p,{dit:!0,...m});return{mod:c,smod:l,nttZetas:f,NTT:{encode:(T)=>y(T),decode:(T)=>{g(T);for(let A=0;A<T.length;A++)T[A]=c(n*T[A]);return T}},bitsCoder:(T,A)=>{let z=ix(T),j=T*(r/8);return{bytesLen:j,encode:(E)=>{let F=new Uint8Array(j);for(let D=0,H=0,X=0,Z=0;D<E.length;D++){H|=(A.encode(E[D])&z)<<X,X+=T;for(;X>=8;X-=8,H>>=8)F[Z++]=H&ix(X)}return F},decode:(E)=>{let F=t(r);for(let D=0,H=0,X=0,Z=0;D<E.length;D++){H|=E[D]<<X,X+=8;for(;X>=T;X-=T,H>>=T)F[Z++]=A.decode(H&z)}return F}}}}},QV=(e)=>(t,r)=>{if(!r)r=e.blockLen;let i=new Uint8Array(t.length+2);i.set(t);let n=t.length,o=new Uint8Array(r),s=e.create({}),a=0,c=0;return{stats:()=>({calls:a,xofs:c}),get:(l,u)=>(i[n+0]=l,i[n+1]=u,s.destroy(),s=e.create({}).update(i),a++,()=>(c++,s.xofInto(o))),clean:()=>{s.destroy(),Ut(o,i)}}},AP=QV(vP);/*! noble-post-quantum - MIT License (c) 2024 Paul Miller (paulmillr.com) */var hr=256,Oi=3329,YV=3303,XV=17,{mod:Du,nttZetas:e7,NTT:Ns,bitsCoder:t7}=TP({N:hr,Q:Oi,F:YV,ROOT_OF_UNITY:XV,newPoly:(e)=>new Uint16Array(e),brvBits:7,isKyber:!0}),ox={512:{N:hr,Q:Oi,K:2,ETA1:3,ETA2:2,du:10,dv:4,RBGstrength:128},768:{N:hr,Q:Oi,K:3,ETA1:2,ETA2:2,du:10,dv:4,RBGstrength:192},1024:{N:hr,Q:Oi,K:4,ETA1:2,ETA2:2,du:11,dv:5,RBGstrength:256}},r7=(e)=>{if(e>=12)return{encode:(r)=>r,decode:(r)=>r};let t=2**(e-1);return{encode:(r)=>((r<<e)+Oi/2)/Oi,decode:(r)=>r*Oi+t>>>e}},zu=(e)=>t7(e,r7(e));function Ds(e,t){for(let r=0;r<hr;r++)e[r]=Du(e[r]+t[r])}function n7(e,t){for(let r=0;r<hr;r++)e[r]=Du(e[r]-t[r])}function i7(e,t,r,i,n){let o=Du(t*i*n+e*r),s=Du(e*i+t*r);return{c0:o,c1:s}}function om(e,t){for(let r=0;r<hr/2;r++){let i=e7[64+(r>>1)];if(r&1)i=-i;let{c0:n,c1:o}=i7(e[2*r+0],e[2*r+1],t[2*r+0],t[2*r+1],i);e[2*r+0]=n,e[2*r+1]=o}return e}function $P(e){let t=new Uint16Array(hr);for(let r=0;r<hr;){let i=e();if(i.length%3)throw Error("SampleNTT: unaligned block");for(let n=0;r<hr&&n+3<=i.length;n+=3){let o=(i[n+0]>>0|i[n+1]<<8)&4095,s=(i[n+1]>>4|i[n+2]<<4)&4095;if(o<Oi)t[r++]=o;if(r<hr&&s<Oi)t[r++]=s}}return t}function Nu(e,t,r,i){let n=e(i*hr/4,t,r),o=new Uint16Array(hr),s=Fp(n),a=0;for(let c=0,l=0,u=0,f=0;c<s.length;c++){let p=s[c];for(let m=0;m<32;m++)if(u+=p&1,p>>=1,a+=1,a===i)f=u,u=0;else if(a===2*i)o[l++]=Du(f-u),u=0,a=0}if(a)throw Error(`sampleCBD: leftover bits: ${a}`);return o}var o7=(e)=>{let{K:t,PRF:r,XOF:i,HASH512:n,ETA1:o,ETA2:s,du:a,dv:c}=e,l=zu(1),u=zu(c),f=zu(a),p=zs("publicKey",im(zu(12),t),32),m=im(zu(12),t),y=zs("ciphertext",im(f,t),u),g=zs("seed",32,32);return{secretCoder:m,lengths:{secretKey:m.bytesLen,publicKey:p.bytesLen,cipherText:y.bytesLen},keygen:(b)=>{Pe(b,32,"seed");let _=new Uint8Array(33);_.set(b),_[32]=t;let T=n(_),[A,z]=g.decode(T),j=[],E=[];for(let H=0;H<t;H++)j.push(Ns.encode(Nu(r,z,H,o)));let F=i(A);for(let H=0;H<t;H++){let X=Ns.encode(Nu(r,z,t+H,o));for(let Z=0;Z<t;Z++){let P=$P(F.get(Z,H));Ds(X,om(P,j[Z]))}E.push(X)}F.clean();let D={publicKey:p.encode([E,A]),secretKey:m.encode(j)};return Ut(A,z,j,E,_,T),D},encrypt:(b,_,T)=>{let[A,z]=p.decode(b),j=[];for(let Z=0;Z<t;Z++)j.push(Ns.encode(Nu(r,T,Z,o)));let E=i(z),F=new Uint16Array(hr),D=[];for(let Z=0;Z<t;Z++){let P=Nu(r,T,t+Z,s),N=new Uint16Array(hr);for(let I=0;I<t;I++){let O=$P(E.get(Z,I));Ds(N,om(O,j[I]))}Ds(P,Ns.decode(N)),D.push(P),Ds(F,om(A[Z],j[Z])),Ut(N)}E.clean();let H=Nu(r,T,2*t,s);Ds(H,Ns.decode(F));let X=l.decode(_);return Ds(X,H),Ut(A,j,F,H),y.encode([D,X])},decrypt:(b,_)=>{let[T,A]=y.decode(b),z=m.decode(_),j=new Uint16Array(hr);for(let E=0;E<t;E++)Ds(j,om(z[E],Ns.encode(T[E])));return n7(A,Ns.decode(j)),Ut(j,z,T),l.encode(A)}}};function sx(e){let t=o7(e),{HASH256:r,HASH512:i,KDF:n}=e,{secretCoder:o,lengths:s}=t,a=zs("secretKey",s.secretKey,s.publicKey,32,32),c=32,l=64;return{info:{type:"ml-kem"},lengths:{...s,seed:64,msg:32,msgRand:32,secretKey:a.bytesLen},keygen:(u=Xn(64))=>{Pe(u,64,"seed");let{publicKey:f,secretKey:p}=t.keygen(u.subarray(0,32)),m=r(f),y=a.encode([p,f,m,u.subarray(32)]);return Ut(p,m),{publicKey:f,secretKey:y}},getPublicKey:(u)=>{let[f,p,m,y]=a.decode(u);return Uint8Array.from(p)},encapsulate:(u,f=Xn(32))=>{Pe(u,s.publicKey,"publicKey"),Pe(f,32,"message");let p=u.subarray(0,384*e.K),m=o.encode(o.decode(IP(p)));if(!nm(m,p))throw Ut(m),Error("ML-KEM.encapsulate: wrong publicKey modulus");Ut(m);let y=i.create().update(f).update(r(u)).digest(),g=t.encrypt(u,f,y.subarray(32,64));return Ut(y.subarray(32)),{cipherText:g,sharedSecret:y.subarray(0,32)}},decapsulate:(u,f)=>{Pe(f,a.bytesLen,"secretKey"),Pe(u,s.cipherText,"cipherText");let p=a.bytesLen-96,m=p+32,y=r(f.subarray(p/2,m));if(!nm(y,f.subarray(m,m+32)))throw Error("invalid secretKey: hash check failed");let[g,b,_,T]=a.decode(f),A=t.decrypt(u,g),z=i.create().update(A).update(_).digest(),j=z.subarray(0,32),E=t.encrypt(b,A,z.subarray(32,64)),F=nm(u,E),D=n.create({dkLen:32}).update(T).update(u).digest();return Ut(A,E,!F?j:D),F?j:D}}}function s7(e,t,r){return Yn.create({dkLen:e}).update(t).update(new Uint8Array([r])).digest()}var ax={HASH256:Ps,HASH512:xP,KDF:Yn,XOF:AP,PRF:s7},Rve=sx({...ax,...ox[512]}),Lu=sx({...ax,...ox[768]}),CP=sx({...ax,...ox[1024]});/*! noble-post-quantum - MIT License (c) 2024 Paul Miller (paulmillr.com) */function a7(e,t=!1){let{lengths:r,keygen:i}=e;if(t){let o=e.Point.Fn;if(!o)throw Error("No Point.Fn");i=(s=Xn(r.seed))=>{Pe(s,r.seed,"seed");let a=o.isLE?bo(s):yo(s),c=o.toBytes(o.create(a));return{secretKey:c,publicKey:e.getPublicKey(c)}}}return{lengths:{secretKey:r.secretKey,publicKey:r.publicKey,seed:r.seed},keygen:i,getPublicKey:(n)=>e.getPublicKey(n)}}function cx(e,t=!1){let r=a7(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(i,n=Xn(e.lengths.seed)){let o=this.keygen(n).secretKey,s=this.decapsulate(i,o),a=e.getPublicKey(o);return Ut(o),{sharedSecret:s,cipherText:a}},decapsulate(i,n){let o=e.getSharedSecret(n,i);return e.lengths.publicKeyHasPrefix?o.subarray(1):o}}}function Bu(e,t){return zs(t,...e.map((r)=>{if(typeof r.lengths[t]!=="number")throw Error("wrong length: "+t);return r.lengths[t]}))}function lx(e){return(t,r)=>e(t,{dkLen:r})}function c7(e,t,...r){let i=Bu(r,"seed"),n=Bu(r,"publicKey");if(e===void 0)e=i.bytesLen;Kt(e);function o(s){Pe(s,e);let a=i.decode(t(s,i.bytesLen)),c=r.map((f,p)=>f.keygen(a[p])),l=c.map((f)=>f.secretKey),u=c.map((f)=>f.publicKey);return{secretKey:l,publicKey:u}}return{info:{lengths:{seed:e,publicKey:n.bytesLen,secretKey:e}},getPublicKey(s){return this.keygen(s).publicKey},keygen(s=Xn(e)){let{publicKey:a,secretKey:c}=o(s),l=n.encode(a);return Ut(a),Ut(c),{secretKey:s,publicKey:l}},expandDecapsulationKey:o,realSeedLen:e}}function sm(e,t,r,i,...n){let o=c7(e,r,...n),s=Bu(n,"cipherText"),a=Bu(n,"publicKey"),c=Bu(n,"msg");if(t===void 0)t=c.bytesLen;return Kt(t),{lengths:{...o.info.lengths,msg:t,msgRand:c.bytesLen,cipherText:s.bytesLen},getPublicKey:o.getPublicKey,keygen:o.keygen,encapsulate(l,u=Xn(c.bytesLen)){let f=a.decode(l),p=c.decode(u),m=n.map((_,T)=>_.encapsulate(f[T],p[T])),y=m.map((_)=>_.sharedSecret),g=m.map((_)=>_.cipherText),b={sharedSecret:i(f,g,y),cipherText:s.encode(g)};return Ut(y,g),b},decapsulate(l,u){let f=s.decode(l),{publicKey:p,secretKey:m}=o.expandDecapsulationKey(u),y=n.map((g,b)=>g.decapsulate(f[b],m[b]));return i(p,f,y)}}}function RP(e,t,r,i,n){return un(i),un(n),sm(32,32,lx(i),(o,s,a)=>n(Nt(a[0],a[1],s[1],o[1],So(e))),t,r)}var Zve=RP("QSF-KEM(ML-KEM-768,P-256)-XOF(SHAKE256)-KDF(SHA3-256)",Lu,cx(XS,!0),Yn,Ps),Mve=RP("QSF-KEM(ML-KEM-1024,P-384)-XOF(SHAKE256)-KDF(SHA3-256)",CP,cx(lP,!0),Yn,Ps);function l7(e,t,r,i,n){return un(i),un(n),sm(32,32,lx(i),(o,s,a)=>{let c=Nt(a[0],a[1],s[0],o[0],s[1],o[1],So(e)),l=32,u=Nt(So("hybrid_prk"),c),f=dP(n,u),p=Nt(Ga(32,2),So("shared_secret"),So("")),m=fP(n,f,p,32);return Ut(f,p,u,c),m},t,r)}var OP=cx(cP),Fve=l7("KitchenSink-KEM(ML-KEM-768,X25519)-XOF(SHAKE256)-KDF(HKDF-SHA-256)",Lu,OP,Yn,tm),u7=(()=>sm(32,32,lx(Yn),(e,t,r)=>Ps(Nt(r[0],r[1],t[1],e[1],So("\\.//^\\"))),Lu,OP))();function d7(e,t,r,i){let n=e.Point.Fn;if(!n)throw Error("no Point.Fn");function o(s){let a;for(let u=0,f=t;;u=f,f+=t){if(f>s.length)throw Error("rejection sampling failed");if(a=n.fromBytes(s.subarray(u,f),!0),n.isValidNot0(a))break}let c=n.toBytes(n.create(a)),l=e.getPublicKey(c,!1);return{secretKey:c,publicKey:l}}return{lengths:{secretKey:t,publicKey:r,seed:i,msg:i,cipherText:r},keygen(s=Xn(i)){return Pe(s,i,"seed"),o(s)},getPublicKey(s){return e.getPublicKey(s,!1)},encapsulate(s,a=Xn(i)){Pe(a,i,"rand");let{secretKey:c}=o(a),l=this.decapsulate(s,c),u=e.getPublicKey(c,!1);return Ut(c),{sharedSecret:l,cipherText:u}},decapsulate(s,a){return e.getSharedSecret(a,s).subarray(1)}}}function f7(e,t,r,i){let{secretKey:n,publicKeyUncompressed:o}=r.lengths;if(!n||!o)throw Error("wrong curve");let s=d7(r,n,o,i),a=64,c=a+i;return sm(32,32,(l)=>{Pe(l,32);let u=Yn(l,{dkLen:c}),f=u.subarray(0,a),p=u.subarray(a,c);return Nt(f,p)},(l,u,f)=>Ps(Nt(f[0],f[1],u[1],l[1],So(e))),t,s)}var p7=(()=>f7("MLKEM768-P256",Lu,XS,128))();var am=u7,PP=p7;/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var ct=(e,t,r)=>Yt(e,t,r),dx=At,tc=Rp,rr=(...e)=>mS(...e),rc=(e)=>hu(e),nc=dS,ic=(e)=>Ei(e),lm=BigInt(0),ux=BigInt(1);function Pi(e,t=""){if(typeof e!=="boolean"){let r=t&&`"${t}" `;throw TypeError(r+"expected boolean, got type="+typeof e)}return e}function um(e){if(typeof e==="bigint"){if(!cm(e))throw RangeError("positive bigint expected, got "+e)}else dx(e);return e}function ei(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 ju(e){let t=um(e).toString(16);return t.length&1?"0"+t:t}function zP(e){if(typeof e!=="string")throw TypeError("hex string expected, got "+typeof e);return e===""?lm:BigInt("0x"+e)}function Ls(e){return zP(Rp(e))}function An(e){return zP(Rp(ko(Yt(e)).reverse()))}function dm(e,t){if(At(t),t===0)throw RangeError("zero length");e=um(e);let r=e.toString(16);if(r.length>t*2)throw RangeError("number too large");return hu(r.padStart(t*2,"0"))}function Uu(e,t){return dm(e,t).reverse()}function NP(e,t){if(e=ct(e),t=ct(t),e.length!==t.length)return!1;let r=0;for(let i=0;i<e.length;i++)r|=e[i]^t[i];return r===0}function ko(e){return Uint8Array.from(ct(e))}function fm(e){if(typeof e!=="string")throw TypeError("ascii string expected, got "+typeof e);return Uint8Array.from(e,(t,r)=>{let i=t.charCodeAt(0);if(t.length!==1||i>127)throw RangeError(`string contains non-ASCII character "${e[r]}" with code ${i} at position ${r}`);return i})}var cm=(e)=>typeof e==="bigint"&&lm<=e;function m7(e,t,r){return cm(e)&&cm(t)&&cm(r)&&t<=e&&e<r}function zi(e,t,r,i){if(!m7(t,r,i))throw RangeError("expected valid "+e+": "+r+" <= n < "+i+", got "+t)}function oc(e){if(e<lm)throw Error("expected non-negative bigint, got "+e);let t;for(t=0;e>lm;e>>=ux,t+=1);return t}var qu=(e)=>(ux<<BigInt(e))-ux;function DP(e,t,r){if(At(e,"hashLen"),At(t,"qByteLen"),typeof r!=="function")throw TypeError("hmacFn must be a function");let i=(b)=>new Uint8Array(b),n=Uint8Array.of(),o=Uint8Array.of(0),s=Uint8Array.of(1),a=1000,c=i(e),l=i(e),u=0,f=()=>{c.fill(1),l.fill(0),u=0},p=(...b)=>r(l,rr(c,...b)),m=(b=n)=>{if(l=p(o,b),c=p(),b.length===0)return;l=p(s,b),c=p()},y=()=>{if(u++>=a)throw Error("drbg: tried max amount of iterations");let b=0,_=[];while(b<t){c=p();let T=c.slice();_.push(T),b+=c.length}return rr(..._)};return(b,_)=>{f(),m(b);let T=void 0;while((T=_(y()))===void 0)m();return f(),T}}function fn(e,t={},r={}){if(Object.prototype.toString.call(e)!=="[object Object]")throw TypeError("expected valid options object");function i(o,s,a){if(!a&&s!=="function"&&!Object.hasOwn(e,o))throw TypeError(`param "${o}" is invalid: expected own property`);let c=e[o];if(a&&c===void 0)return;let l=typeof c;if(l!==s||c===null)throw TypeError(`param "${o}" is invalid: expected ${s}, got ${l}`)}let n=(o,s)=>Object.entries(o).forEach(([a,c])=>i(a,c,s));n(t,!1),n(r,!0)}var fx=()=>{throw Error("not implemented")};/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var nr=BigInt(0),_t=BigInt(1),Bs=BigInt(2),UP=BigInt(3),qP=BigInt(4),ZP=BigInt(5),h7=BigInt(7),MP=BigInt(8),g7=BigInt(9),FP=BigInt(16);function gt(e,t){if(t<=nr)throw Error("mod: expected positive modulus, got "+t);let r=e%t;return r>=nr?r:t+r}function pn(e,t,r){if(t<nr)throw Error("pow2: expected non-negative exponent, got "+t);let i=e;while(t-- >nr)i*=i,i%=r;return i}function LP(e,t){if(e===nr)throw Error("invert: expected non-zero number");if(t<=nr)throw Error("invert: expected positive modulus, got "+t);let r=gt(e,t),i=t,n=nr,o=_t,s=_t,a=nr;while(r!==nr){let l=i/r,u=i-r*l,f=n-s*l,p=o-a*l;i=r,r=u,n=s,o=a,s=f,a=p}if(i!==_t)throw Error("invert: does not exist");return gt(n,t)}function px(e,t,r){let i=e;if(!i.eql(i.sqr(t),r))throw Error("Cannot find square root")}function HP(e,t){let r=e,i=(r.ORDER+_t)/qP,n=r.pow(t,i);return px(r,n,t),n}function y7(e,t){let r=e,i=(r.ORDER-ZP)/MP,n=r.mul(t,Bs),o=r.pow(n,i),s=r.mul(t,o),a=r.mul(r.mul(s,Bs),o),c=r.mul(s,r.sub(a,r.ONE));return px(r,c,t),c}function b7(e){let t=pm(e),r=KP(e),i=r(t,t.neg(t.ONE)),n=r(t,i),o=r(t,t.neg(i)),s=(e+h7)/FP;return(a,c)=>{let l=a,u=l.pow(c,s),f=l.mul(u,i),p=l.mul(u,n),m=l.mul(u,o),y=l.eql(l.sqr(f),c),g=l.eql(l.sqr(p),c);u=l.cmov(u,f,y),f=l.cmov(m,p,g);let b=l.eql(l.sqr(f),c),_=l.cmov(u,f,b);return px(l,_,c),_}}function KP(e){if(e<UP)throw Error("sqrt is not defined for small field");let t=e-_t,r=0;while(t%Bs===nr)t/=Bs,r++;let i=Bs,n=pm(e);while(BP(n,i)===1)if(i++>1000)throw Error("Cannot find square root: probably non-prime P");if(r===1)return HP;let o=n.pow(i,t),s=(t+_t)/Bs;return function(c,l){let u=c;if(u.is0(l))return l;if(BP(u,l)!==1)throw Error("Cannot find square root");let f=r,p=u.mul(u.ONE,o),m=u.pow(l,t),y=u.pow(l,s);while(!u.eql(m,u.ONE)){if(u.is0(m))return u.ZERO;let g=1,b=u.sqr(m);while(!u.eql(b,u.ONE))if(g++,b=u.sqr(b),g===f)throw Error("Cannot find square root");let _=_t<<BigInt(f-g-1),T=u.pow(p,_);f=g,p=u.sqr(T),m=u.mul(m,p),y=u.mul(y,T)}return y}}function S7(e){if(e%qP===UP)return HP;if(e%MP===ZP)return y7;if(e%FP===g7)return b7(e);return KP(e)}var Ni=(e,t)=>(gt(e,t)&_t)===_t,x7=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function mx(e){let t={ORDER:"bigint",BYTES:"number",BITS:"number"},r=x7.reduce((i,n)=>(i[n]="function",i),t);if(fn(e,r),ei(e.BYTES,"BYTES"),ei(e.BITS,"BITS"),e.BYTES<1||e.BITS<1)throw Error("invalid field: expected BYTES/BITS > 0");if(e.ORDER<=_t)throw Error("invalid field: expected ORDER > 1, got "+e.ORDER);return e}function w7(e,t,r){let i=e;if(r<nr)throw Error("invalid exponent, negatives unsupported");if(r===nr)return i.ONE;if(r===_t)return t;let n=i.ONE,o=t;while(r>nr){if(r&_t)n=i.mul(n,o);o=i.sqr(o),r>>=_t}return n}function Zu(e,t,r=!1){let i=e,n=Array(t.length).fill(r?i.ZERO:void 0),o=t.reduce((a,c,l)=>{if(i.is0(c))return a;return n[l]=a,i.mul(a,c)},i.ONE),s=i.inv(o);return t.reduceRight((a,c,l)=>{if(i.is0(c))return a;return n[l]=i.mul(a,n[l]),i.mul(a,c)},s),n}function BP(e,t){let r=e,i=(r.ORDER-_t)/Bs,n=r.pow(t,i),o=r.eql(n,r.ONE),s=r.eql(n,r.ZERO),a=r.eql(n,r.neg(r.ONE));if(!o&&!s&&!a)throw Error("invalid Legendre symbol result");return o?1:s?0:-1}function v7(e,t){if(t!==void 0)dx(t);if(e<=nr)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=oc(e);if(t!==void 0&&t<r)throw Error(`invalid n length: expected bit length (${r}) >= n.length (${t})`);let i=t!==void 0?t:r,n=Math.ceil(i/8);return{nBitLength:i,nByteLength:n}}var jP=new WeakMap;class hx{ORDER;BITS;BYTES;isLE;ZERO=nr;ONE=_t;_lengths;_mod;constructor(e,t={}){if(e<=_t)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:i,nByteLength:n}=v7(e,r);if(n>2048)throw Error("invalid field: expected ORDER of <= 2048 bytes");this.ORDER=e,this.BITS=i,this.BYTES=n,Object.freeze(this)}create(e){return gt(e,this.ORDER)}isValid(e){if(typeof e!=="bigint")throw TypeError("invalid field element: expected bigint, got "+typeof e);return nr<=e&&e<this.ORDER}is0(e){return e===nr}isValidNot0(e){return!this.is0(e)&&this.isValid(e)}isOdd(e){return(e&_t)===_t}neg(e){return gt(-e,this.ORDER)}eql(e,t){return e===t}sqr(e){return gt(e*e,this.ORDER)}add(e,t){return gt(e+t,this.ORDER)}sub(e,t){return gt(e-t,this.ORDER)}mul(e,t){return gt(e*t,this.ORDER)}pow(e,t){return w7(this,e,t)}div(e,t){return gt(e*LP(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 LP(e,this.ORDER)}sqrt(e){let t=jP.get(this);if(!t)jP.set(this,t=S7(this.ORDER));return t(this,e)}toBytes(e){return this.isLE?Uu(e,this.BYTES):dm(e,this.BYTES)}fromBytes(e,t=!1){ct(e);let{_lengths:r,BYTES:i,isLE:n,ORDER:o,_mod:s}=this;if(r){if(e.length<1||!r.includes(e.length)||e.length>i)throw Error("Field.fromBytes: expected "+r+" bytes, got "+e.length);let c=new Uint8Array(i);c.set(e,n?0:c.length-e.length),e=c}if(e.length!==i)throw Error("Field.fromBytes: expected "+i+" bytes, got "+e.length);let a=n?An(e):Ls(e);if(s)a=gt(a,o);if(!t){if(!this.isValid(a))throw Error("invalid field element: outside of range 0..ORDER")}return a}invertBatch(e){return Zu(this,e)}cmov(e,t,r){return Pi(r,"condition"),r?t:e}}Object.freeze(hx.prototype);function pm(e,t={}){return new hx(e,t)}function JP(e){if(typeof e!=="bigint")throw Error("field order must be bigint");if(e<=_t)throw Error("field order must be greater than 1");let t=oc(e-_t);return Math.ceil(t/8)}function gx(e){let t=JP(e);return t+Math.ceil(t/2)}function VP(e,t,r=!1){ct(e);let i=e.length,n=JP(t),o=Math.max(gx(t),16);if(i<o||i>1024)throw Error("expected "+o+"-1024 bytes of input, got "+i);let s=r?An(e):Ls(e),a=gt(s,t-_t)+_t;return r?Uu(a,n):dm(a,n)}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var sc=BigInt(0),js=BigInt(1);function Mu(e,t){let r=t.negate();return e?r:t}function Us(e,t){let r=Zu(e.Fp,t.map((i)=>i.Z));return t.map((i,n)=>e.fromAffine(i.toAffine(r[n])))}function YP(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw Error("invalid window size, expected [1.."+t+"], got W="+e)}function yx(e,t){YP(e,t);let r=Math.ceil(t/e)+1,i=2**(e-1),n=2**e,o=qu(e),s=BigInt(e);return{windows:r,windowSize:i,mask:o,maxNumber:n,shiftBy:s}}function WP(e,t,r){let{windowSize:i,mask:n,maxNumber:o,shiftBy:s}=r,a=Number(e&n),c=e>>s;if(a>i)a-=o,c+=js;let l=t*i,u=l+Math.abs(a)-1,f=a===0,p=a<0,m=t%2!==0;return{nextN:c,offset:u,isZero:f,isNeg:p,isNegF:m,offsetF:l}}var bx=new WeakMap,XP=new WeakMap;function Sx(e){return XP.get(e)||1}function GP(e){if(e!==sc)throw Error("invalid wNAF")}class Fu{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 i=e;while(t>sc){if(t&js)r=r.add(i);i=i.double(),t>>=js}return r}precomputeWindow(e,t){let{windows:r,windowSize:i}=yx(t,this.bits),n=[],o=e,s=o;for(let a=0;a<r;a++){s=o,n.push(s);for(let c=1;c<i;c++)s=s.add(o),n.push(s);o=s.double()}return n}wNAF(e,t,r){if(!this.Fn.isValid(r))throw Error("invalid scalar");let i=this.ZERO,n=this.BASE,o=yx(e,this.bits);for(let s=0;s<o.windows;s++){let{nextN:a,offset:c,isZero:l,isNeg:u,isNegF:f,offsetF:p}=WP(r,s,o);if(r=a,l)n=n.add(Mu(f,t[p]));else i=i.add(Mu(u,t[c]))}return GP(r),{p:i,f:n}}wNAFUnsafe(e,t,r,i=this.ZERO){let n=yx(e,this.bits);for(let o=0;o<n.windows;o++){if(r===sc)break;let{nextN:s,offset:a,isZero:c,isNeg:l}=WP(r,o,n);if(r=s,c)continue;else{let u=t[a];i=i.add(l?u.negate():u)}}return GP(r),i}getPrecomputes(e,t,r){let i=bx.get(t);if(!i){if(i=this.precomputeWindow(t,e),e!==1){if(typeof r==="function")i=r(i);bx.set(t,i)}}return i}cached(e,t,r){let i=Sx(e);return this.wNAF(i,this.getPrecomputes(i,e,r),t)}unsafe(e,t,r,i){let n=Sx(e);if(n===1)return this._unsafeLadder(e,t,i);return this.wNAFUnsafe(n,this.getPrecomputes(n,e,r),t,i)}createCache(e,t){YP(t,this.bits),XP.set(e,t),bx.delete(e)}hasCache(e){return Sx(e)!==1}}function ez(e,t,r,i){let n=t,o=e.ZERO,s=e.ZERO;while(r>sc||i>sc){if(r&js)o=o.add(n);if(i&js)s=s.add(n);n=n.double(),r>>=js,i>>=js}return{p1:o,p2:s}}function QP(e,t,r){if(t){if(t.ORDER!==e)throw Error("Field.ORDER must match order: Fp == p, Fn == n");return mx(t),t}else return pm(e,{isLE:r})}function mm(e,t,r={},i){if(i===void 0)i=e==="edwards";if(!t||typeof t!=="object")throw Error(`expected valid ${e} CURVE object`);for(let c of["p","n","h"]){let l=t[c];if(!(typeof l==="bigint"&&l>sc))throw Error(`CURVE.${c} must be positive bigint`)}let n=QP(t.p,r.Fp,i),o=QP(t.n,r.Fn,i),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:o}}function Hu(e,t){return function(i){let n=e(i);return{secretKey:n,publicKey:t(n)}}}function Ku(e,t){if(ei(e),ei(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 i=t-1;i>=0;i--)r[i]=e&255,e>>>=8;return new Uint8Array(r)}function _7(e,t){let r=new Uint8Array(e.length);for(let i=0;i<e.length;i++)r[i]=e[i]^t[i];return r}function k7(e){if(!nc(e)&&typeof e!=="string")throw Error("DST must be Uint8Array or ascii string");let t=typeof e==="string"?fm(e):e;if(t.length===0)throw Error("DST must be non-empty");return t}function xx(e,t,r,i){if(ct(e),ei(r),t=k7(t),t.length>255)t=i(rr(fm("H2C-OVERSIZE-DST-"),t));let{outputLen:n,blockLen:o}=i,s=Math.ceil(r/n);if(r>65535||s>255)throw Error("expand_message_xmd: invalid lenInBytes");let a=rr(t,Ku(t.length,1)),c=new Uint8Array(o),l=Ku(r,2),u=Array(s),f=i(rr(c,e,l,Ku(0,1),a));u[0]=i(rr(f,Ku(1,1),a));for(let m=1;m<s;m++){let y=[_7(f,u[m-1]),Ku(m+1,1),a];u[m]=i(rr(...y))}return rr(...u).slice(0,r)}var tz="HashToScalar-";/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var rz=(e,t)=>(e+(e>=0?t:-t)/iz)/t;function E7(e,t,r){zi("scalar",e,ti,r);let[[i,n],[o,s]]=t,a=rz(s*e,r),c=rz(-n*e,r),l=e-a*i-c*o,u=-a*n-c*s,f=l<ti,p=u<ti;if(f)l=-l;if(p)u=-u;let m=qu(Math.ceil(oc(r)/2))+Eo;if(l<ti||l>=m||u<ti||u>=m)throw Error("splitScalar (endomorphism): failed for k");return{k1neg:f,k1:l,k2neg:p,k2:u}}function vx(e){if(!["compact","recovered","der"].includes(e))throw Error('Signature format must be "compact", "recovered", or "der"');return e}function wx(e,t){fn(e);let r={};for(let i of Object.keys(t))r[i]=e[i]===void 0?t[i]:e[i];if(Pi(r.lowS,"lowS"),Pi(r.prehash,"prehash"),r.format!==void 0)vx(r.format);return r}class nz extends Error{constructor(e=""){super(e)}}var $n={Err:nz,_tlv:{encode:(e,t)=>{let{Err:r}=$n;if(ei(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 i=t.length/2,n=ju(i);if(n.length/2&128)throw new r("tlv.encode: long form length too big");let o=i>127?ju(n.length/2|128):"";return ju(e)+o+n+t},decode(e,t){let{Err:r}=$n;t=ct(t,void 0,"DER data");let i=0;if(e<0||e>255)throw new r("tlv.encode: wrong tag");if(t.length<2||t[i++]!==e)throw new r("tlv.decode: wrong tlv");let n=t[i++],o=!!(n&128),s=0;if(!o)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 l=t.subarray(i,i+c);if(l.length!==c)throw new r("tlv.decode: length bytes not complete");if(l[0]===0)throw new r("tlv.decode(long): zero leftmost byte");for(let u of l)s=s<<8|u;if(i+=c,s<128)throw new r("tlv.decode(long): not minimal encoding")}let a=t.subarray(i,i+s);if(a.length!==s)throw new r("tlv.decode: wrong value length");return{v:a,l:t.subarray(i+s)}}},_int:{encode(e){let{Err:t}=$n;if(um(e),e<ti)throw new t("integer: negative integers are not allowed");let r=ju(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}=$n;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 Ls(e)}},toSig(e){let{Err:t,_int:r,_tlv:i}=$n,n=ct(e,void 0,"signature"),{v:o,l:s}=i.decode(48,n);if(s.length)throw new t("invalid signature: left bytes after parsing");let{v:a,l:c}=i.decode(2,o),{v:l,l:u}=i.decode(2,c);if(u.length)throw new t("invalid signature: left bytes after parsing");return{r:r.decode(a),s:r.decode(l)}},hexFromSig(e){let{_tlv:t,_int:r}=$n,i=t.encode(2,r.encode(e.r)),n=t.encode(2,r.encode(e.s)),o=i+n;return t.encode(48,o)}};Object.freeze($n._tlv);Object.freeze($n._int);Object.freeze($n);var ti=BigInt(0),Eo=BigInt(1),iz=BigInt(2),hm=BigInt(3),I7=BigInt(4);function oz(e,t={}){let r=mm("weierstrass",e,t),i=r.Fp,n=r.Fn,o=r.CURVE,{h:s,n:a}=o;fn(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object"});let{endo:c,allowInfinityPoint:l}=t;if(c){if(!i.is0(o.a)||typeof c.beta!=="bigint"||!Array.isArray(c.basises))throw Error('invalid endo: expected "beta": bigint and "basises": array')}let u=az(i,n);function f(){if(!i.isOdd)throw Error("compression is not supported: Field does not have .isOdd()")}function p(Z,P,N){if(l&&P.is0())return Uint8Array.of(0);let{x:I,y:O}=P.toAffine(),R=i.toBytes(I);if(Pi(N,"isCompressed"),N){f();let M=!i.isOdd(O);return rr(sz(M),R)}else return rr(Uint8Array.of(4),R,i.toBytes(O))}function m(Z){ct(Z,void 0,"Point");let{publicKey:P,publicKeyUncompressed:N}=u,I=Z.length,O=Z[0],R=Z.subarray(1);if(l&&I===1&&O===0)return{x:i.ZERO,y:i.ZERO};if(I===P&&(O===2||O===3)){let M=i.fromBytes(R);if(!i.isValid(M))throw Error("bad point: is not on curve, wrong x");let L=b(M),V;try{V=i.sqrt(L)}catch(ue){let C=ue instanceof Error?": "+ue.message:"";throw Error("bad point: is not on curve, sqrt error"+C)}f();let k=i.isOdd(V);if((O&1)===1!==k)V=i.neg(V);return{x:M,y:V}}else if(I===N&&O===4){let M=i.BYTES,L=i.fromBytes(R.subarray(0,M)),V=i.fromBytes(R.subarray(M,M*2));if(!_(L,V))throw Error("bad point: is not on curve");return{x:L,y:V}}else throw Error(`bad point: got length ${I}, expected compressed=${P} or uncompressed=${N}`)}let y=t.toBytes===void 0?p:t.toBytes,g=t.fromBytes===void 0?m:t.fromBytes;function b(Z){let P=i.sqr(Z),N=i.mul(P,Z);return i.add(i.add(N,i.mul(Z,o.a)),o.b)}function _(Z,P){let N=i.sqr(P),I=b(Z);return i.eql(N,I)}if(!_(o.Gx,o.Gy))throw Error("bad curve params: generator point");let T=i.mul(i.pow(o.a,hm),I7),A=i.mul(i.sqr(o.b),BigInt(27));if(i.is0(i.add(T,A)))throw Error("bad curve params: a or b");function z(Z,P,N=!1){if(!i.isValid(P)||N&&i.is0(P))throw Error(`bad point coordinate ${Z}`);return P}function j(Z){if(!(Z instanceof D))throw Error("Weierstrass Point expected")}function E(Z){if(!c||!c.basises)throw Error("no endo");return E7(Z,c.basises,n.ORDER)}function F(Z,P,N,I,O){return N=new D(i.mul(N.X,Z),N.Y,N.Z),P=Mu(I,P),N=Mu(O,N),P.add(N)}class D{static BASE=new D(o.Gx,o.Gy,i.ONE);static ZERO=new D(i.ZERO,i.ONE,i.ZERO);static Fp=i;static Fn=n;X;Y;Z;constructor(Z,P,N){this.X=z("x",Z),this.Y=z("y",P,!0),this.Z=z("z",N),Object.freeze(this)}static CURVE(){return o}static fromAffine(Z){let{x:P,y:N}=Z||{};if(!Z||!i.isValid(P)||!i.isValid(N))throw Error("invalid affine point");if(Z instanceof D)throw Error("projective point not allowed");if(i.is0(P)&&i.is0(N))return D.ZERO;return new D(P,N,i.ONE)}static fromBytes(Z){let P=D.fromAffine(g(ct(Z,void 0,"point")));return P.assertValidity(),P}static fromHex(Z){return D.fromBytes(rc(Z))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(Z=8,P=!0){if(X.createCache(this,Z),!P)this.multiply(hm);return this}assertValidity(){let Z=this;if(Z.is0()){if(t.allowInfinityPoint&&i.is0(Z.X)&&i.eql(Z.Y,i.ONE)&&i.is0(Z.Z))return;throw Error("bad point: ZERO")}let{x:P,y:N}=Z.toAffine();if(!i.isValid(P)||!i.isValid(N))throw Error("bad point: x or y not field elements");if(!_(P,N))throw Error("bad point: equation left != right");if(!Z.isTorsionFree())throw Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:Z}=this.toAffine();if(!i.isOdd)throw Error("Field doesn't support isOdd");return!i.isOdd(Z)}equals(Z){j(Z);let{X:P,Y:N,Z:I}=this,{X:O,Y:R,Z:M}=Z,L=i.eql(i.mul(P,M),i.mul(O,I)),V=i.eql(i.mul(N,M),i.mul(R,I));return L&&V}negate(){return new D(this.X,i.neg(this.Y),this.Z)}double(){let{a:Z,b:P}=o,N=i.mul(P,hm),{X:I,Y:O,Z:R}=this,M=i.ZERO,L=i.ZERO,V=i.ZERO,k=i.mul(I,I),te=i.mul(O,O),ue=i.mul(R,R),C=i.mul(I,O);return C=i.add(C,C),V=i.mul(I,R),V=i.add(V,V),M=i.mul(Z,V),L=i.mul(N,ue),L=i.add(M,L),M=i.sub(te,L),L=i.add(te,L),L=i.mul(M,L),M=i.mul(C,M),V=i.mul(N,V),ue=i.mul(Z,ue),C=i.sub(k,ue),C=i.mul(Z,C),C=i.add(C,V),V=i.add(k,k),k=i.add(V,k),k=i.add(k,ue),k=i.mul(k,C),L=i.add(L,k),ue=i.mul(O,R),ue=i.add(ue,ue),k=i.mul(ue,C),M=i.sub(M,k),V=i.mul(ue,te),V=i.add(V,V),V=i.add(V,V),new D(M,L,V)}add(Z){j(Z);let{X:P,Y:N,Z:I}=this,{X:O,Y:R,Z:M}=Z,L=i.ZERO,V=i.ZERO,k=i.ZERO,te=o.a,ue=i.mul(o.b,hm),C=i.mul(P,O),be=i.mul(N,R),Ee=i.mul(I,M),Ce=i.add(P,N),Re=i.add(O,R);Ce=i.mul(Ce,Re),Re=i.add(C,be),Ce=i.sub(Ce,Re),Re=i.add(P,I);let _e=i.add(O,M);return Re=i.mul(Re,_e),_e=i.add(C,Ee),Re=i.sub(Re,_e),_e=i.add(N,I),L=i.add(R,M),_e=i.mul(_e,L),L=i.add(be,Ee),_e=i.sub(_e,L),k=i.mul(te,Re),L=i.mul(ue,Ee),k=i.add(L,k),L=i.sub(be,k),k=i.add(be,k),V=i.mul(L,k),be=i.add(C,C),be=i.add(be,C),Ee=i.mul(te,Ee),Re=i.mul(ue,Re),be=i.add(be,Ee),Ee=i.sub(C,Ee),Ee=i.mul(te,Ee),Re=i.add(Re,Ee),C=i.mul(be,Re),V=i.add(V,C),C=i.mul(_e,Re),L=i.mul(Ce,L),L=i.sub(L,C),C=i.mul(Ce,be),k=i.mul(_e,k),k=i.add(k,C),new D(L,V,k)}subtract(Z){return j(Z),this.add(Z.negate())}is0(){return this.equals(D.ZERO)}multiply(Z){let{endo:P}=t;if(!n.isValidNot0(Z))throw RangeError("invalid scalar: out of range");let N,I,O=(R)=>X.cached(this,R,(M)=>Us(D,M));if(P){let{k1neg:R,k1:M,k2neg:L,k2:V}=E(Z),{p:k,f:te}=O(M),{p:ue,f:C}=O(V);I=te.add(C),N=F(P.beta,k,ue,R,L)}else{let{p:R,f:M}=O(Z);N=R,I=M}return Us(D,[N,I])[0]}multiplyUnsafe(Z){let{endo:P}=t,N=this,I=Z;if(!n.isValid(I))throw RangeError("invalid scalar: out of range");if(I===ti||N.is0())return D.ZERO;if(I===Eo)return N;if(X.hasCache(this))return this.multiply(I);if(P){let{k1neg:O,k1:R,k2neg:M,k2:L}=E(I),{p1:V,p2:k}=ez(D,N,R,L);return F(P.beta,V,k,O,M)}else return X.unsafe(N,I)}toAffine(Z){let P=this,N=Z,{X:I,Y:O,Z:R}=P;if(i.eql(R,i.ONE))return{x:I,y:O};let M=P.is0();if(N==null)N=M?i.ONE:i.inv(R);let L=i.mul(I,N),V=i.mul(O,N),k=i.mul(R,N);if(M)return{x:i.ZERO,y:i.ZERO};if(!i.eql(k,i.ONE))throw Error("invZ was invalid");return{x:L,y:V}}isTorsionFree(){let{isTorsionFree:Z}=t;if(s===Eo)return!0;if(Z)return Z(D,this);return X.unsafe(this,a).is0()}clearCofactor(){let{clearCofactor:Z}=t;if(s===Eo)return this;if(Z)return Z(D,this);return this.multiplyUnsafe(s)}isSmallOrder(){if(s===Eo)return this.is0();return this.clearCofactor().is0()}toBytes(Z=!0){return Pi(Z,"isCompressed"),this.assertValidity(),y(D,this,Z)}toHex(Z=!0){return tc(this.toBytes(Z))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let H=n.BITS,X=new Fu(D,t.endo?Math.ceil(H/2):H);if(H>=8)D.BASE.precompute(8);return Object.freeze(D.prototype),Object.freeze(D),D}function sz(e){return Uint8Array.of(e?2:3)}function az(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function T7(e,t={}){let{Fn:r}=e,i=t.randomBytes===void 0?ic:t.randomBytes,n=Object.assign(az(e.Fp,r),{seed:Math.max(gx(r.ORDER),16)});function o(m){try{let y=r.fromBytes(m);return r.isValidNot0(y)}catch(y){return!1}}function s(m,y){let{publicKey:g,publicKeyUncompressed:b}=n;try{let _=m.length;if(y===!0&&_!==g)return!1;if(y===!1&&_!==b)return!1;return!!e.fromBytes(m)}catch(_){return!1}}function a(m){return m=m===void 0?i(n.seed):m,VP(ct(m,n.seed,"seed"),r.ORDER)}function c(m,y=!0){return e.BASE.multiply(r.fromBytes(m)).toBytes(y)}function l(m){let{secretKey:y,publicKey:g,publicKeyUncompressed:b}=n,_=r._lengths;if(!nc(m))return;let T=ct(m,void 0,"key").length,A=T===g||T===b,z=T===y||!!_?.includes(T);if(A&&z)return;return A}function u(m,y,g=!0){if(l(m)===!0)throw Error("first arg must be private key");if(l(y)===!1)throw Error("second arg must be public key");let b=r.fromBytes(m);return e.fromBytes(y).multiply(b).toBytes(g)}let f={isValidSecretKey:o,isValidPublicKey:s,randomSecretKey:a},p=Hu(a,c);return Object.freeze(f),Object.freeze(n),Object.freeze({getPublicKey:c,getSharedSecret:u,keygen:p,Point:e,utils:f,lengths:n})}function cz(e,t,r={}){let i=t;ki(i),fn(r,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"}),r=Object.assign({},r);let n=r.randomBytes===void 0?ic:r.randomBytes,o=r.hmac===void 0?(O,R)=>Vn(i,O,R):r.hmac,{Fp:s,Fn:a}=e,{ORDER:c,BITS:l}=a,{keygen:u,getPublicKey:f,getSharedSecret:p,utils:m,lengths:y}=T7(e,r),g={prehash:!0,lowS:typeof r.lowS==="boolean"?r.lowS:!0,format:"compact",extraEntropy:!1},b=c*iz+Eo<s.ORDER;function _(O){let R=c>>Eo;return O>R}function T(O,R){if(!a.isValidNot0(R))throw Error(`invalid signature ${O}: out of range 1..Point.Fn.ORDER`);return R}function A(){if(b)throw Error('"recovered" sig type is not supported for cofactor >2 curves')}function z(O,R){vx(R);let M=y.signature,L=R==="compact"?M:R==="recovered"?M+1:void 0;return ct(O,L)}class j{r;s;recovery;constructor(O,R,M){if(this.r=T("r",O),this.s=T("s",R),M!=null){if(A(),![0,1,2,3].includes(M))throw Error("invalid recovery id");this.recovery=M}Object.freeze(this)}static fromBytes(O,R=g.format){z(O,R);let M;if(R==="der"){let{r:te,s:ue}=$n.toSig(ct(O));return new j(te,ue)}if(R==="recovered")M=O[0],R="compact",O=O.subarray(1);let L=y.signature/2,V=O.subarray(0,L),k=O.subarray(L,L*2);return new j(a.fromBytes(V),a.fromBytes(k),M)}static fromHex(O,R){return this.fromBytes(rc(O),R)}assertRecovery(){let{recovery:O}=this;if(O==null)throw Error("invalid recovery id: must be present");return O}addRecoveryBit(O){return new j(this.r,this.s,O)}recoverPublicKey(O){let{r:R,s:M}=this,L=this.assertRecovery(),V=L===2||L===3?R+c:R;if(!s.isValid(V))throw Error("invalid recovery id: sig.r+curve.n != R.x");let k=s.toBytes(V),te=e.fromBytes(rr(sz((L&1)===0),k)),ue=a.inv(V),C=F(ct(O,void 0,"msgHash")),be=a.create(-C*ue),Ee=a.create(M*ue),Ce=e.BASE.multiplyUnsafe(be).add(te.multiplyUnsafe(Ee));if(Ce.is0())throw Error("invalid recovery: point at infinify");return Ce.assertValidity(),Ce}hasHighS(){return _(this.s)}toBytes(O=g.format){if(vx(O),O==="der")return rc($n.hexFromSig(this));let{r:R,s:M}=this,L=a.toBytes(R),V=a.toBytes(M);if(O==="recovered")return A(),rr(Uint8Array.of(this.assertRecovery()),L,V);return rr(L,V)}toHex(O){return tc(this.toBytes(O))}}Object.freeze(j.prototype),Object.freeze(j);let E=r.bits2int===void 0?function(R){if(R.length>8192)throw Error("input is too large");let M=Ls(R),L=R.length*8-l;return L>0?M>>BigInt(L):M}:r.bits2int,F=r.bits2int_modN===void 0?function(R){return a.create(E(R))}:r.bits2int_modN,D=qu(l);function H(O){return zi("num < 2^"+l,O,ti,D),a.toBytes(O)}function X(O,R){return ct(O,void 0,"message"),R?ct(i(O),void 0,"prehashed message"):O}function Z(O,R,M){let{lowS:L,prehash:V,extraEntropy:k}=wx(M,g);O=X(O,V);let te=F(O),ue=a.fromBytes(R);if(!a.isValidNot0(ue))throw Error("invalid private key");let C=[H(ue),H(te)];if(k!=null&&k!==!1){let Re=k===!0?n(y.secretKey):k;C.push(ct(Re,void 0,"extraEntropy"))}let be=rr(...C),Ee=te;function Ce(Re){let _e=E(Re);if(!a.isValidNot0(_e))return;let Je=a.inv(_e),Ne=e.BASE.multiply(_e).toAffine(),Ye=a.create(Ne.x);if(Ye===ti)return;let mt=a.create(Je*a.create(Ee+Ye*ue));if(mt===ti)return;let zt=(Ne.x===Ye?0:2)|Number(Ne.y&Eo),dr=mt;if(L&&_(mt))dr=a.neg(mt),zt^=1;return new j(Ye,dr,b?void 0:zt)}return{seed:be,k2sig:Ce}}function P(O,R,M={}){let{seed:L,k2sig:V}=Z(O,R,M);return DP(i.outputLen,a.BYTES,o)(L,V).toBytes(M.format)}function N(O,R,M,L={}){let{lowS:V,prehash:k,format:te}=wx(L,g);if(M=ct(M,void 0,"publicKey"),R=X(R,k),!nc(O)){let ue=O instanceof j?", use sig.toBytes()":"";throw Error("verify expects Uint8Array signature"+ue)}z(O,te);try{let ue=j.fromBytes(O,te),C=e.fromBytes(M);if(V&&ue.hasHighS())return!1;let{r:be,s:Ee}=ue,Ce=F(R),Re=a.inv(Ee),_e=a.create(Ce*Re),Je=a.create(be*Re),Ne=e.BASE.multiplyUnsafe(_e).add(C.multiplyUnsafe(Je));if(Ne.is0())return!1;return a.create(Ne.x)===be}catch(ue){return!1}}function I(O,R,M={}){let{prehash:L}=wx(M,g);return R=X(R,L),j.fromBytes(O,"recovered").recoverPublicKey(R).toBytes()}return Object.freeze({keygen:u,getPublicKey:f,getSharedSecret:p,utils:m,lengths:y,Point:e,sign:P,verify:N,recoverPublicKey:I,Signature:j,hash:i})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var A7=(()=>({p:BigInt("0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff"),n:BigInt("0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551"),h:BigInt(1),a:BigInt("0xffffffff00000001000000000000000000000000fffffffffffffffffffffffc"),b:BigInt("0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b"),Gx:BigInt("0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296"),Gy:BigInt("0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5")}))();var $7=oz(A7),ac=cz($7,$t);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var Io=BigInt(0),jr=BigInt(1),_x=BigInt(2),C7=BigInt(8);function R7(e,t,r,i){let n=e.sqr(r),o=e.sqr(i),s=e.add(e.mul(t.a,n),o),a=e.add(e.ONE,e.mul(t.d,e.mul(n,o)));return e.eql(s,a)}function lz(e,t={}){let r=t,i=mm("edwards",e,r,r.FpFnLE),{Fp:n,Fn:o}=i,s=i.CURVE,{h:a}=s;fn(r,{},{uvRatio:"function"});let c=_x<<BigInt(o.BYTES*8)-jr,l=(g)=>n.create(g),u=r.uvRatio===void 0?(g,b)=>{try{return{isValid:!0,value:n.sqrt(n.div(g,b))}}catch(_){return{isValid:!1,value:Io}}}:r.uvRatio;if(!R7(n,s,s.Gx,s.Gy))throw Error("bad curve params: generator point");function f(g,b,_=!1){let T=_?jr:Io;return zi("coordinate "+g,b,T,c),b}function p(g){if(!(g instanceof m))throw Error("EdwardsPoint expected")}class m{static BASE=new m(s.Gx,s.Gy,jr,l(s.Gx*s.Gy));static ZERO=new m(Io,jr,jr,Io);static Fp=n;static Fn=o;X;Y;Z;T;constructor(g,b,_,T){this.X=f("x",g),this.Y=f("y",b),this.Z=f("z",_,!0),this.T=f("t",T),Object.freeze(this)}static CURVE(){return s}static fromAffine(g){if(g instanceof m)throw Error("extended point not allowed");let{x:b,y:_}=g||{};return f("x",b),f("y",_),new m(b,_,jr,l(b*_))}static fromBytes(g,b=!1){let _=n.BYTES,{a:T,d:A}=s;g=ko(ct(g,_,"point")),Pi(b,"zip215");let z=ko(g),j=g[_-1];z[_-1]=j&-129;let E=An(z),F=b?c:n.ORDER;zi("point.y",E,Io,F);let D=l(E*E),H=l(D-jr),X=l(A*D-T),{isValid:Z,value:P}=u(H,X);if(!Z)throw Error("bad point: invalid y coordinate");let N=(P&jr)===jr,I=(j&128)!==0;if(!b&&P===Io&&I)throw Error("bad point: x=0 and x_0=1");if(I!==N)P=l(-P);return m.fromAffine({x:P,y:E})}static fromHex(g,b=!1){return m.fromBytes(rc(g),b)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(g=8,b=!0){if(y.createCache(this,g),!b)this.multiply(_x);return this}assertValidity(){let g=this,{a:b,d:_}=s;if(g.is0())throw Error("bad point: ZERO");let{X:T,Y:A,Z:z,T:j}=g,E=l(T*T),F=l(A*A),D=l(z*z),H=l(D*D),X=l(E*b),Z=l(D*l(X+F)),P=l(H+l(_*l(E*F)));if(Z!==P)throw Error("bad point: equation left != right (1)");let N=l(T*A),I=l(z*j);if(N!==I)throw Error("bad point: equation left != right (2)")}equals(g){p(g);let{X:b,Y:_,Z:T}=this,{X:A,Y:z,Z:j}=g,E=l(b*j),F=l(A*T),D=l(_*j),H=l(z*T);return E===F&&D===H}is0(){return this.equals(m.ZERO)}negate(){return new m(l(-this.X),this.Y,this.Z,l(-this.T))}double(){let{a:g}=s,{X:b,Y:_,Z:T}=this,A=l(b*b),z=l(_*_),j=l(_x*l(T*T)),E=l(g*A),F=b+_,D=l(l(F*F)-A-z),H=E+z,X=H-j,Z=E-z,P=l(D*X),N=l(H*Z),I=l(D*Z),O=l(X*H);return new m(P,N,O,I)}add(g){p(g);let{a:b,d:_}=s,{X:T,Y:A,Z:z,T:j}=this,{X:E,Y:F,Z:D,T:H}=g,X=l(T*E),Z=l(A*F),P=l(j*_*H),N=l(z*D),I=l((T+A)*(E+F)-X-Z),O=N-P,R=N+P,M=l(Z-b*X),L=l(I*O),V=l(R*M),k=l(I*M),te=l(O*R);return new m(L,V,te,k)}subtract(g){return p(g),this.add(g.negate())}multiply(g){if(!o.isValidNot0(g))throw RangeError("invalid scalar: expected 1 <= sc < curve.n");let{p:b,f:_}=y.cached(this,g,(T)=>Us(m,T));return Us(m,[b,_])[0]}multiplyUnsafe(g){if(!o.isValid(g))throw RangeError("invalid scalar: expected 0 <= sc < curve.n");if(g===Io)return m.ZERO;if(this.is0()||g===jr)return this;return y.unsafe(this,g,(b)=>Us(m,b))}isSmallOrder(){return this.clearCofactor().is0()}isTorsionFree(){return y.unsafe(this,s.n).is0()}toAffine(g){let b=this,_=g,{X:T,Y:A,Z:z}=b,j=b.is0();if(_==null)_=j?C7:n.inv(z);let E=l(T*_),F=l(A*_),D=n.mul(z,_);if(j)return{x:Io,y:jr};if(D!==jr)throw Error("invZ was invalid");return{x:E,y:F}}clearCofactor(){if(a===jr)return this;return this.multiplyUnsafe(a)}toBytes(){let{x:g,y:b}=this.toAffine(),_=n.toBytes(b);return _[_.length-1]|=g&jr?128:0,_}toHex(){return tc(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let y=new Fu(m,o.BITS);if(o.BITS>=8)m.BASE.precompute(8);return Object.freeze(m.prototype),Object.freeze(m),m}class kx{static BASE;static ZERO;static Fp;static Fn;ep;constructor(e){this.ep=e}static fromBytes(e){fx()}static fromHex(e){fx()}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 tc(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 Ju=BigInt(0),cc=BigInt(1),gm=BigInt(2);function O7(e){return fn(e,{P:"bigint",type:"string",adjustScalarBytes:"function",powPminus2:"function"},{randomBytes:"function"}),Object.freeze({...e})}function uz(e){let t=O7(e),{P:r,type:i,adjustScalarBytes:n,powPminus2:o,randomBytes:s}=t,a=i==="x25519";if(!a&&i!=="x448")throw Error("invalid type");let c=s===void 0?ic:s,l=a?255:448,u=a?32:56,f=a?BigInt(9):BigInt(5),p=a?BigInt(121665):BigInt(39081),m=a?gm**BigInt(254):gm**BigInt(447),y=a?BigInt(8)*gm**BigInt(251)-cc:BigInt(4)*gm**BigInt(445)-cc,g=m+y+cc,b=(I)=>gt(I,r),_=T(f);function T(I){return Uu(b(I),u)}function A(I){let O=ko(ct(I,u,"uCoordinate"));if(a)O[31]&=127;return b(An(O))}function z(I){return An(n(ko(ct(I,u,"scalar"))))}function j(I,O){let R=X(A(O),z(I));if(R===Ju)throw Error("invalid private or public key received");return T(R)}function E(I){return j(I,_)}let F=E,D=j;function H(I,O,R){let M=b(I*(O-R));return O=b(O-M),R=b(R+M),{x_2:O,x_3:R}}function X(I,O){zi("u",I,Ju,r),zi("scalar",O,m,g);let R=O,M=I,L=cc,V=Ju,k=I,te=cc,ue=Ju;for(let be=BigInt(l-1);be>=Ju;be--){let Ee=R>>be&cc;ue^=Ee,{x_2:L,x_3:k}=H(ue,L,k),{x_2:V,x_3:te}=H(ue,V,te),ue=Ee;let Ce=L+V,Re=b(Ce*Ce),_e=L-V,Je=b(_e*_e),Ne=Re-Je,Ye=k+te,mt=k-te,zt=b(mt*Ce),dr=b(Ye*_e),Kr=zt+dr,Jr=zt-dr;k=b(Kr*Kr),te=b(M*b(Jr*Jr)),L=b(Re*Je),V=b(Ne*(Re+b(p*Ne)))}({x_2:L,x_3:k}=H(ue,L,k)),{x_2:V,x_3:te}=H(ue,V,te);let C=o(V);return b(L*C)}let Z={secretKey:u,publicKey:u,seed:u},P=(I)=>(I=I===void 0?c(u):I,ct(I,Z.seed,"seed"),I),N={randomSecretKey:P};return Object.freeze(Z),Object.freeze(N),Object.freeze({keygen:Hu(P,F),getSharedSecret:D,getPublicKey:F,scalarMult:j,scalarMultBase:E,utils:N,GuBytes:_.slice(),lengths:Z})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var P7=BigInt(0),Di=BigInt(1),dz=BigInt(2),z7=BigInt(3),N7=BigInt(5),D7=BigInt(8),Zs=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),Ax=(()=>({p:Zs,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:D7,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")}))();function mz(e){let t=BigInt(10),r=BigInt(20),i=BigInt(40),n=BigInt(80),o=Zs,a=e*e%o*e%o,c=pn(a,dz,o)*a%o,l=pn(c,Di,o)*e%o,u=pn(l,N7,o)*l%o,f=pn(u,t,o)*u%o,p=pn(f,r,o)*f%o,m=pn(p,i,o)*p%o,y=pn(m,n,o)*m%o,g=pn(y,n,o)*m%o,b=pn(g,t,o)*u%o;return{pow_p_5_8:pn(b,dz,o)*e%o,b2:a}}function L7(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var Ex=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function $x(e,t){let r=Zs,i=gt(t*t*t,r),n=gt(i*i*t,r),o=mz(e*n).pow_p_5_8,s=gt(e*i*o,r),a=gt(t*s*s,r),c=s,l=gt(s*Ex,r),u=a===e,f=a===gt(-e,r),p=a===gt(-e*Ex,r);if(u)s=c;if(f||p)s=l;if(Ni(s,r))s=gt(-s,r);return{isValid:u||f,value:s}}var qs=lz(Ax,{uvRatio:$x}),To=(()=>qs.Fp)(),hz=(()=>qs.Fn)();var ym=(()=>{let e=Zs;return uz({P:e,type:"x25519",powPminus2:(t)=>{let{pow_p_5_8:r,b2:i}=mz(t);return gt(pn(r,z7,e)*i,e)},adjustScalarBytes:L7})})();var Ix=Ex,B7=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),j7=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),U7=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),q7=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),fz=(e)=>$x(Di,e),Z7=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),Tx=(e)=>To.create(An(e)&Z7);function pz(e){let{d:t}=Ax,r=Zs,i=(_)=>To.create(_),n=i(Ix*e*e),o=i((n+Di)*U7),s=BigInt(-1),a=i((s-t*n)*i(n+t)),{isValid:c,value:l}=$x(o,a),u=i(l*e);if(!Ni(u,r))u=i(-u);if(!c)l=u;if(!c)s=n;let f=i(s*(n-Di)*q7-a),p=l*l,m=i((l+l)*a),y=i(f*B7),g=i(Di-p),b=i(Di+p);return new qs(i(m*b),i(g*y),i(y*b),i(m*g))}class Tr extends kx{static BASE=(()=>new Tr(qs.BASE))();static ZERO=(()=>new Tr(qs.ZERO))();static Fp=(()=>To)();static Fn=(()=>hz)();constructor(e){super(e)}static fromAffine(e){return new Tr(qs.fromAffine(e))}assertSame(e){if(!(e instanceof Tr))throw Error("RistrettoPoint expected")}init(e){return new Tr(e)}static fromBytes(e){Yt(e,32);let{a:t,d:r}=Ax,i=Zs,n=(A)=>To.create(A),o=Tx(e);if(!NP(To.toBytes(o),e)||Ni(o,i))throw Error("invalid ristretto255 encoding 1");let s=n(o*o),a=n(Di+t*s),c=n(Di-t*s),l=n(a*a),u=n(c*c),f=n(t*r*l-u),{isValid:p,value:m}=fz(n(f*u)),y=n(m*c),g=n(m*y*f),b=n((o+o)*y);if(Ni(b,i))b=n(-b);let _=n(a*g),T=n(b*_);if(!p||Ni(T,i)||_===P7)throw Error("invalid ristretto255 encoding 2");return new Tr(new qs(b,_,Di,T))}static fromHex(e){return Tr.fromBytes(hu(e))}toBytes(){let{X:e,Y:t,Z:r,T:i}=this.ep,n=Zs,o=(g)=>To.create(g),s=o(o(r+t)*o(r-t)),a=o(e*t),c=o(a*a),{value:l}=fz(o(s*c)),u=o(l*s),f=o(l*a),p=o(u*f*i),m;if(Ni(i*p,n)){let g=o(t*Ix),b=o(e*Ix);e=g,t=b,m=o(u*j7)}else m=f;if(Ni(e*p,n))t=o(-t);let y=o((r-t)*m);if(Ni(y,n))y=o(-y);return To.toBytes(y)}equals(e){this.assertSame(e);let{X:t,Y:r}=this.ep,{X:i,Y:n}=e.ep,o=(c)=>To.create(c),s=o(t*n)===o(r*i),a=o(r*n)===o(t*i);return s||a}is0(){return this.equals(Tr.ZERO)}}Object.freeze(Tr.BASE);Object.freeze(Tr.ZERO);Object.freeze(Tr.prototype);Object.freeze(Tr);var M7=Object.freeze({Point:Tr,hashToCurve(e,t){let r=t?.DST===void 0?"ristretto255_XMD:SHA-512_R255MAP_RO_":t.DST,i=xx(e,r,64,Np);return M7.deriveToCurve(i)},hashToScalar(e,t={DST:tz}){let r=xx(e,t.DST,64,Np);return hz.create(An(r))},deriveToCurve(e){Yt(e,64);let t=Tx(e.subarray(0,32)),r=pz(t),i=Tx(e.subarray(32,64)),n=pz(i);return new Tr(r.add(n))}});var gz=!1,F7=!1;async function yz(e,t){if(F7)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 bm(e,t){return await yz(async()=>{let r=Cx(e)?e:await K7(e),i=await crypto.subtle.importKey("raw",J7(t),{name:"X25519"},gz,[]);return new Uint8Array(await crypto.subtle.deriveBits({name:"X25519",public:i},r,256))},()=>{if(Cx(e))throw Error("CryptoKey provided but X25519 WebCrypto is not supported");return ym.scalarMult(e,t)})}async function Vu(e){return await yz(async()=>bm(e,ym.GuBytes),()=>{if(Cx(e))throw Error("CryptoKey provided but X25519 WebCrypto is not supported");return ym.scalarMultBase(e)})}var H7=new Uint8Array([48,46,2,1,0,48,5,6,3,43,101,110,4,34,4,32]);async function K7(e){if(e.length!==32)throw Error("X25519 private key must be 32 bytes");let t=new Uint8Array([...H7,...e]);return crypto.subtle.importKey("pkcs8",t,{name:"X25519"},gz,["deriveBits"])}function Cx(e){return typeof CryptoKey<"u"&&e instanceof CryptoKey}function J7(e){return e}class Rx{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),W7(Ms(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=Ms(e),null;this.buf=r.value}}close(){return this.s.releaseLock(),{rest:this.buf,transcript:Ms(this.transcript)}}}function W7(e){return e.forEach((t)=>{if(t<32||t>126)throw Error("invalid non-ASCII byte in header")}),new TextDecoder().decode(e)}function Ms(e){let t=e.reduce((n,o)=>n+o.length,0),r=new Uint8Array(t),i=0;for(let n of e)r.set(n,i),i+=n.length;return r}function lc(e,...t){return e.pipeThrough(new TransformStream({start(r){for(let i of t)r.enqueue(i)}}))}function Sm(e){return new ReadableStream({start(t){t.enqueue(e),t.close()}})}async function Ox(e){if(!(e instanceof ReadableStream))throw Error("readAll expects a ReadableStream<Uint8Array>");return new Uint8Array(await new Response(e).arrayBuffer())}async function bz(e){if(!(e instanceof ReadableStream))throw Error("readAllString expects a ReadableStream<Uint8Array>");return await new Response(e).text()}async function Sz(e,t){let r=e.getReader(),i=[],n=0;while(n<t){let{done:c,value:l}=await r.read();if(c)throw Error("stream ended before reading "+t.toString()+" bytes");i.push(l),n+=l.length}r.releaseLock();let o=Ms(i),s=o.subarray(0,t),a=lc(e,o.subarray(t));return{data:s,rest:a}}class ri{args;body;constructor(e,t){this.args=e,this.body=t}}async function G7(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 o of r)if(o.length===0)throw Error("invalid stanza");let i=[];for(;;){let o=await e.readLine();if(o===null)throw Error("invalid stanza");let s=pr.decode(o);if(s.length>48)throw Error("invalid stanza");if(i.push(s),s.length<48)break}let n=Ms(i);return{s:new ri(r,n)}}async function xz(e){let t=new Rx(e),r=await t.readLine();if(r!=="age-encryption.org/v1")throw Error("invalid version "+(r??"line"));let i=[];for(;;){let{s:n,next:o}=await G7(t);if(n!==void 0){i.push(n);continue}if(!o.startsWith("--- "))throw Error("invalid header");let s=pr.decode(o.slice(4)),{rest:a,transcript:c}=t.close(),l=c.slice(0,c.length-1-o.length+3);return{stanzas:i,headerNoMAC:l,MAC:s,headerSize:c.length,rest:lc(e,a)}}}function Px(e){let t=[];t.push(`age-encryption.org/v1
|
|
725
725
|
`);for(let r of e){t.push("-> "+r.args.join(" ")+`
|
|
726
726
|
`);for(let i=0;i<r.body.length;i+=48){let n=i+48;if(n>r.body.length)n=r.body.length;t.push(pr.encode(r.body.subarray(i,n))+`
|
|
727
727
|
`)}if(r.body.length%48===0)t.push(`
|