emceepee 0.3.2 → 0.3.5

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/emceepee.js CHANGED
@@ -1,56 +1,65 @@
1
1
  #!/usr/bin/env node
2
- import{createRequire as VO}from"node:module";var BO=Object.create;var{getPrototypeOf:zO,defineProperty:TY,getOwnPropertyNames:KO}=Object;var FO=Object.prototype.hasOwnProperty;var F4=(Q,X,Y)=>{Y=Q!=null?BO(zO(Q)):{};let W=X||!Q||!Q.__esModule?TY(Y,"default",{value:Q,enumerable:!0}):Y;for(let $ of KO(Q))if(!FO.call(W,$))TY(W,$,{get:()=>Q[$],enumerable:!0});return W};var w=(Q,X)=>()=>(X||Q((X={exports:{}}).exports,X),X.exports);var c8=(Q,X)=>{for(var Y in X)TY(Q,Y,{get:X[Y],enumerable:!0,configurable:!0,set:(W)=>X[Y]=()=>W})};var p8=VO(import.meta.url);var t4=w((e3)=>{Object.defineProperty(e3,"__esModule",{value:!0});e3.regexpCode=e3.getEsmExportName=e3.getProperty=e3.safeStringify=e3.stringify=e3.strConcat=e3.addCodeArg=e3.str=e3._=e3.nil=e3._Code=e3.Name=e3.IDENTIFIER=e3._CodeOrName=void 0;class iQ{}e3._CodeOrName=iQ;e3.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class g9 extends iQ{constructor(Q){super();if(!e3.IDENTIFIER.test(Q))throw Error("CodeGen: name must be a valid identifier");this.str=Q}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}}e3.Name=g9;class Z1 extends iQ{constructor(Q){super();this._items=typeof Q==="string"?[Q]:Q}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let Q=this._items[0];return Q===""||Q==='""'}get str(){var Q;return(Q=this._str)!==null&&Q!==void 0?Q:this._str=this._items.reduce((X,Y)=>`${X}${Y}`,"")}get names(){var Q;return(Q=this._names)!==null&&Q!==void 0?Q:this._names=this._items.reduce((X,Y)=>{if(Y instanceof g9)X[Y.str]=(X[Y.str]||0)+1;return X},{})}}e3._Code=Z1;e3.nil=new Z1("");function a3(Q,...X){let Y=[Q[0]],W=0;while(W<X.length)P5(Y,X[W]),Y.push(Q[++W]);return new Z1(Y)}e3._=a3;var b5=new Z1("+");function s3(Q,...X){let Y=[r4(Q[0])],W=0;while(W<X.length)Y.push(b5),P5(Y,X[W]),Y.push(b5,r4(Q[++W]));return rM(Y),new Z1(Y)}e3.str=s3;function P5(Q,X){if(X instanceof Z1)Q.push(...X._items);else if(X instanceof g9)Q.push(X);else Q.push(sM(X))}e3.addCodeArg=P5;function rM(Q){let X=1;while(X<Q.length-1){if(Q[X]===b5){let Y=tM(Q[X-1],Q[X+1]);if(Y!==void 0){Q.splice(X-1,3,Y);continue}Q[X++]="+"}X++}}function tM(Q,X){if(X==='""')return Q;if(Q==='""')return X;if(typeof Q=="string"){if(X instanceof g9||Q[Q.length-1]!=='"')return;if(typeof X!="string")return`${Q.slice(0,-1)}${X}"`;if(X[0]==='"')return Q.slice(0,-1)+X.slice(1);return}if(typeof X=="string"&&X[0]==='"'&&!(Q instanceof g9))return`"${Q}${X.slice(1)}`;return}function aM(Q,X){return X.emptyStr()?Q:Q.emptyStr()?X:s3`${Q}${X}`}e3.strConcat=aM;function sM(Q){return typeof Q=="number"||typeof Q=="boolean"||Q===null?Q:r4(Array.isArray(Q)?Q.join(","):Q)}function eM(Q){return new Z1(r4(Q))}e3.stringify=eM;function r4(Q){return JSON.stringify(Q).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}e3.safeStringify=r4;function QN(Q){return typeof Q=="string"&&e3.IDENTIFIER.test(Q)?new Z1(`.${Q}`):a3`[${Q}]`}e3.getProperty=QN;function XN(Q){if(typeof Q=="string"&&e3.IDENTIFIER.test(Q))return new Z1(`${Q}`);throw Error(`CodeGen: invalid export name: ${Q}, use explicit $id name mapping`)}e3.getEsmExportName=XN;function YN(Q){return new Z1(Q.toString())}e3.regexpCode=YN});var S5=w((WB)=>{Object.defineProperty(WB,"__esModule",{value:!0});WB.ValueScope=WB.ValueScopeName=WB.Scope=WB.varKinds=WB.UsedValueState=void 0;var Q1=t4();class XB extends Error{constructor(Q){super(`CodeGen: "code" for ${Q} not defined`);this.value=Q.value}}var oQ;(function(Q){Q[Q.Started=0]="Started",Q[Q.Completed=1]="Completed"})(oQ||(WB.UsedValueState=oQ={}));WB.varKinds={const:new Q1.Name("const"),let:new Q1.Name("let"),var:new Q1.Name("var")};class R5{constructor({prefixes:Q,parent:X}={}){this._names={},this._prefixes=Q,this._parent=X}toName(Q){return Q instanceof Q1.Name?Q:this.name(Q)}name(Q){return new Q1.Name(this._newName(Q))}_newName(Q){let X=this._names[Q]||this._nameGroup(Q);return`${Q}${X.index++}`}_nameGroup(Q){var X,Y;if(((Y=(X=this._parent)===null||X===void 0?void 0:X._prefixes)===null||Y===void 0?void 0:Y.has(Q))||this._prefixes&&!this._prefixes.has(Q))throw Error(`CodeGen: prefix "${Q}" is not allowed in this scope`);return this._names[Q]={prefix:Q,index:0}}}WB.Scope=R5;class E5 extends Q1.Name{constructor(Q,X){super(X);this.prefix=Q}setValue(Q,{property:X,itemIndex:Y}){this.value=Q,this.scopePath=Q1._`.${new Q1.Name(X)}[${Y}]`}}WB.ValueScopeName=E5;var DN=Q1._`\n`;class YB extends R5{constructor(Q){super(Q);this._values={},this._scope=Q.scope,this.opts={...Q,_n:Q.lines?DN:Q1.nil}}get(){return this._scope}name(Q){return new E5(Q,this._newName(Q))}value(Q,X){var Y;if(X.ref===void 0)throw Error("CodeGen: ref must be passed in value");let W=this.toName(Q),{prefix:$}=W,J=(Y=X.key)!==null&&Y!==void 0?Y:X.ref,G=this._values[$];if(G){let z=G.get(J);if(z)return z}else G=this._values[$]=new Map;G.set(J,W);let H=this._scope[$]||(this._scope[$]=[]),B=H.length;return H[B]=X.ref,W.setValue(X,{property:$,itemIndex:B}),W}getValue(Q,X){let Y=this._values[Q];if(!Y)return;return Y.get(X)}scopeRefs(Q,X=this._values){return this._reduceValues(X,(Y)=>{if(Y.scopePath===void 0)throw Error(`CodeGen: name "${Y}" has no value`);return Q1._`${Q}${Y.scopePath}`})}scopeCode(Q=this._values,X,Y){return this._reduceValues(Q,(W)=>{if(W.value===void 0)throw Error(`CodeGen: name "${W}" has no value`);return W.value.code},X,Y)}_reduceValues(Q,X,Y={},W){let $=Q1.nil;for(let J in Q){let G=Q[J];if(!G)continue;let H=Y[J]=Y[J]||new Map;G.forEach((B)=>{if(H.has(B))return;H.set(B,oQ.Started);let z=X(B);if(z){let K=this.opts.es5?WB.varKinds.var:WB.varKinds.const;$=Q1._`${$}${K} ${B} = ${z};${this.opts._n}`}else if(z=W===null||W===void 0?void 0:W(B))$=Q1._`${$}${z}${this.opts._n}`;else throw new XB(B);H.set(B,oQ.Completed)})}return $}}WB.ValueScope=YB});var r=w((X1)=>{Object.defineProperty(X1,"__esModule",{value:!0});X1.or=X1.and=X1.not=X1.CodeGen=X1.operators=X1.varKinds=X1.ValueScopeName=X1.ValueScope=X1.Scope=X1.Name=X1.regexpCode=X1.stringify=X1.getProperty=X1.nil=X1.strConcat=X1.str=X1._=void 0;var e=t4(),R1=S5(),M6=t4();Object.defineProperty(X1,"_",{enumerable:!0,get:function(){return M6._}});Object.defineProperty(X1,"str",{enumerable:!0,get:function(){return M6.str}});Object.defineProperty(X1,"strConcat",{enumerable:!0,get:function(){return M6.strConcat}});Object.defineProperty(X1,"nil",{enumerable:!0,get:function(){return M6.nil}});Object.defineProperty(X1,"getProperty",{enumerable:!0,get:function(){return M6.getProperty}});Object.defineProperty(X1,"stringify",{enumerable:!0,get:function(){return M6.stringify}});Object.defineProperty(X1,"regexpCode",{enumerable:!0,get:function(){return M6.regexpCode}});Object.defineProperty(X1,"Name",{enumerable:!0,get:function(){return M6.Name}});var QX=S5();Object.defineProperty(X1,"Scope",{enumerable:!0,get:function(){return QX.Scope}});Object.defineProperty(X1,"ValueScope",{enumerable:!0,get:function(){return QX.ValueScope}});Object.defineProperty(X1,"ValueScopeName",{enumerable:!0,get:function(){return QX.ValueScopeName}});Object.defineProperty(X1,"varKinds",{enumerable:!0,get:function(){return QX.varKinds}});X1.operators={GT:new e._Code(">"),GTE:new e._Code(">="),LT:new e._Code("<"),LTE:new e._Code("<="),EQ:new e._Code("==="),NEQ:new e._Code("!=="),NOT:new e._Code("!"),OR:new e._Code("||"),AND:new e._Code("&&"),ADD:new e._Code("+")};class N6{optimizeNodes(){return this}optimizeNames(Q,X){return this}}class JB extends N6{constructor(Q,X,Y){super();this.varKind=Q,this.name=X,this.rhs=Y}render({es5:Q,_n:X}){let Y=Q?R1.varKinds.var:this.varKind,W=this.rhs===void 0?"":` = ${this.rhs}`;return`${Y} ${this.name}${W};`+X}optimizeNames(Q,X){if(!Q[this.name.str])return;if(this.rhs)this.rhs=h9(this.rhs,Q,X);return this}get names(){return this.rhs instanceof e._CodeOrName?this.rhs.names:{}}}class C5 extends N6{constructor(Q,X,Y){super();this.lhs=Q,this.rhs=X,this.sideEffects=Y}render({_n:Q}){return`${this.lhs} = ${this.rhs};`+Q}optimizeNames(Q,X){if(this.lhs instanceof e.Name&&!Q[this.lhs.str]&&!this.sideEffects)return;return this.rhs=h9(this.rhs,Q,X),this}get names(){let Q=this.lhs instanceof e.Name?{}:{...this.lhs.names};return eQ(Q,this.rhs)}}class GB extends C5{constructor(Q,X,Y,W){super(Q,Y,W);this.op=X}render({_n:Q}){return`${this.lhs} ${this.op}= ${this.rhs};`+Q}}class HB extends N6{constructor(Q){super();this.label=Q,this.names={}}render({_n:Q}){return`${this.label}:`+Q}}class BB extends N6{constructor(Q){super();this.label=Q,this.names={}}render({_n:Q}){return`break${this.label?` ${this.label}`:""};`+Q}}class zB extends N6{constructor(Q){super();this.error=Q}render({_n:Q}){return`throw ${this.error};`+Q}get names(){return this.error.names}}class KB extends N6{constructor(Q){super();this.code=Q}render({_n:Q}){return`${this.code};`+Q}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(Q,X){return this.code=h9(this.code,Q,X),this}get names(){return this.code instanceof e._CodeOrName?this.code.names:{}}}class XX extends N6{constructor(Q=[]){super();this.nodes=Q}render(Q){return this.nodes.reduce((X,Y)=>X+Y.render(Q),"")}optimizeNodes(){let{nodes:Q}=this,X=Q.length;while(X--){let Y=Q[X].optimizeNodes();if(Array.isArray(Y))Q.splice(X,1,...Y);else if(Y)Q[X]=Y;else Q.splice(X,1)}return Q.length>0?this:void 0}optimizeNames(Q,X){let{nodes:Y}=this,W=Y.length;while(W--){let $=Y[W];if($.optimizeNames(Q,X))continue;jN(Q,$.names),Y.splice(W,1)}return Y.length>0?this:void 0}get names(){return this.nodes.reduce((Q,X)=>a6(Q,X.names),{})}}class b6 extends XX{render(Q){return"{"+Q._n+super.render(Q)+"}"+Q._n}}class FB extends XX{}class a4 extends b6{}a4.kind="else";class Q6 extends b6{constructor(Q,X){super(X);this.condition=Q}render(Q){let X=`if(${this.condition})`+super.render(Q);if(this.else)X+="else "+this.else.render(Q);return X}optimizeNodes(){super.optimizeNodes();let Q=this.condition;if(Q===!0)return this.nodes;let X=this.else;if(X){let Y=X.optimizeNodes();X=this.else=Array.isArray(Y)?new a4(Y):Y}if(X){if(Q===!1)return X instanceof Q6?X:X.nodes;if(this.nodes.length)return this;return new Q6(LB(Q),X instanceof Q6?[X]:X.nodes)}if(Q===!1||!this.nodes.length)return;return this}optimizeNames(Q,X){var Y;if(this.else=(Y=this.else)===null||Y===void 0?void 0:Y.optimizeNames(Q,X),!(super.optimizeNames(Q,X)||this.else))return;return this.condition=h9(this.condition,Q,X),this}get names(){let Q=super.names;if(eQ(Q,this.condition),this.else)a6(Q,this.else.names);return Q}}Q6.kind="if";class f9 extends b6{}f9.kind="for";class VB extends f9{constructor(Q){super();this.iteration=Q}render(Q){return`for(${this.iteration})`+super.render(Q)}optimizeNames(Q,X){if(!super.optimizeNames(Q,X))return;return this.iteration=h9(this.iteration,Q,X),this}get names(){return a6(super.names,this.iteration.names)}}class qB extends f9{constructor(Q,X,Y,W){super();this.varKind=Q,this.name=X,this.from=Y,this.to=W}render(Q){let X=Q.es5?R1.varKinds.var:this.varKind,{name:Y,from:W,to:$}=this;return`for(${X} ${Y}=${W}; ${Y}<${$}; ${Y}++)`+super.render(Q)}get names(){let Q=eQ(super.names,this.from);return eQ(Q,this.to)}}class I5 extends f9{constructor(Q,X,Y,W){super();this.loop=Q,this.varKind=X,this.name=Y,this.iterable=W}render(Q){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(Q)}optimizeNames(Q,X){if(!super.optimizeNames(Q,X))return;return this.iterable=h9(this.iterable,Q,X),this}get names(){return a6(super.names,this.iterable.names)}}class rQ extends b6{constructor(Q,X,Y){super();this.name=Q,this.args=X,this.async=Y}render(Q){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(Q)}}rQ.kind="func";class tQ extends XX{render(Q){return"return "+super.render(Q)}}tQ.kind="return";class AB extends b6{render(Q){let X="try"+super.render(Q);if(this.catch)X+=this.catch.render(Q);if(this.finally)X+=this.finally.render(Q);return X}optimizeNodes(){var Q,X;return super.optimizeNodes(),(Q=this.catch)===null||Q===void 0||Q.optimizeNodes(),(X=this.finally)===null||X===void 0||X.optimizeNodes(),this}optimizeNames(Q,X){var Y,W;return super.optimizeNames(Q,X),(Y=this.catch)===null||Y===void 0||Y.optimizeNames(Q,X),(W=this.finally)===null||W===void 0||W.optimizeNames(Q,X),this}get names(){let Q=super.names;if(this.catch)a6(Q,this.catch.names);if(this.finally)a6(Q,this.finally.names);return Q}}class aQ extends b6{constructor(Q){super();this.error=Q}render(Q){return`catch(${this.error})`+super.render(Q)}}aQ.kind="catch";class sQ extends b6{render(Q){return"finally"+super.render(Q)}}sQ.kind="finally";class DB{constructor(Q,X={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...X,_n:X.lines?`
3
- `:""},this._extScope=Q,this._scope=new R1.Scope({parent:Q}),this._nodes=[new FB]}toString(){return this._root.render(this.opts)}name(Q){return this._scope.name(Q)}scopeName(Q){return this._extScope.name(Q)}scopeValue(Q,X){let Y=this._extScope.value(Q,X);return(this._values[Y.prefix]||(this._values[Y.prefix]=new Set)).add(Y),Y}getScopeValue(Q,X){return this._extScope.getValue(Q,X)}scopeRefs(Q){return this._extScope.scopeRefs(Q,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(Q,X,Y,W){let $=this._scope.toName(X);if(Y!==void 0&&W)this._constants[$.str]=Y;return this._leafNode(new JB(Q,$,Y)),$}const(Q,X,Y){return this._def(R1.varKinds.const,Q,X,Y)}let(Q,X,Y){return this._def(R1.varKinds.let,Q,X,Y)}var(Q,X,Y){return this._def(R1.varKinds.var,Q,X,Y)}assign(Q,X,Y){return this._leafNode(new C5(Q,X,Y))}add(Q,X){return this._leafNode(new GB(Q,X1.operators.ADD,X))}code(Q){if(typeof Q=="function")Q();else if(Q!==e.nil)this._leafNode(new KB(Q));return this}object(...Q){let X=["{"];for(let[Y,W]of Q){if(X.length>1)X.push(",");if(X.push(Y),Y!==W||this.opts.es5)X.push(":"),(0,e.addCodeArg)(X,W)}return X.push("}"),new e._Code(X)}if(Q,X,Y){if(this._blockNode(new Q6(Q)),X&&Y)this.code(X).else().code(Y).endIf();else if(X)this.code(X).endIf();else if(Y)throw Error('CodeGen: "else" body without "then" body');return this}elseIf(Q){return this._elseNode(new Q6(Q))}else(){return this._elseNode(new a4)}endIf(){return this._endBlockNode(Q6,a4)}_for(Q,X){if(this._blockNode(Q),X)this.code(X).endFor();return this}for(Q,X){return this._for(new VB(Q),X)}forRange(Q,X,Y,W,$=this.opts.es5?R1.varKinds.var:R1.varKinds.let){let J=this._scope.toName(Q);return this._for(new qB($,J,X,Y),()=>W(J))}forOf(Q,X,Y,W=R1.varKinds.const){let $=this._scope.toName(Q);if(this.opts.es5){let J=X instanceof e.Name?X:this.var("_arr",X);return this.forRange("_i",0,e._`${J}.length`,(G)=>{this.var($,e._`${J}[${G}]`),Y($)})}return this._for(new I5("of",W,$,X),()=>Y($))}forIn(Q,X,Y,W=this.opts.es5?R1.varKinds.var:R1.varKinds.const){if(this.opts.ownProperties)return this.forOf(Q,e._`Object.keys(${X})`,Y);let $=this._scope.toName(Q);return this._for(new I5("in",W,$,X),()=>Y($))}endFor(){return this._endBlockNode(f9)}label(Q){return this._leafNode(new HB(Q))}break(Q){return this._leafNode(new BB(Q))}return(Q){let X=new tQ;if(this._blockNode(X),this.code(Q),X.nodes.length!==1)throw Error('CodeGen: "return" should have one node');return this._endBlockNode(tQ)}try(Q,X,Y){if(!X&&!Y)throw Error('CodeGen: "try" without "catch" and "finally"');let W=new AB;if(this._blockNode(W),this.code(Q),X){let $=this.name("e");this._currNode=W.catch=new aQ($),X($)}if(Y)this._currNode=W.finally=new sQ,this.code(Y);return this._endBlockNode(aQ,sQ)}throw(Q){return this._leafNode(new zB(Q))}block(Q,X){if(this._blockStarts.push(this._nodes.length),Q)this.code(Q).endBlock(X);return this}endBlock(Q){let X=this._blockStarts.pop();if(X===void 0)throw Error("CodeGen: not in self-balancing block");let Y=this._nodes.length-X;if(Y<0||Q!==void 0&&Y!==Q)throw Error(`CodeGen: wrong number of nodes: ${Y} vs ${Q} expected`);return this._nodes.length=X,this}func(Q,X=e.nil,Y,W){if(this._blockNode(new rQ(Q,X,Y)),W)this.code(W).endFunc();return this}endFunc(){return this._endBlockNode(rQ)}optimize(Q=1){while(Q-- >0)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(Q){return this._currNode.nodes.push(Q),this}_blockNode(Q){this._currNode.nodes.push(Q),this._nodes.push(Q)}_endBlockNode(Q,X){let Y=this._currNode;if(Y instanceof Q||X&&Y instanceof X)return this._nodes.pop(),this;throw Error(`CodeGen: not in block "${X?`${Q.kind}/${X.kind}`:Q.kind}"`)}_elseNode(Q){let X=this._currNode;if(!(X instanceof Q6))throw Error('CodeGen: "else" without "if"');return this._currNode=X.else=Q,this}get _root(){return this._nodes[0]}get _currNode(){let Q=this._nodes;return Q[Q.length-1]}set _currNode(Q){let X=this._nodes;X[X.length-1]=Q}}X1.CodeGen=DB;function a6(Q,X){for(let Y in X)Q[Y]=(Q[Y]||0)+(X[Y]||0);return Q}function eQ(Q,X){return X instanceof e._CodeOrName?a6(Q,X.names):Q}function h9(Q,X,Y){if(Q instanceof e.Name)return W(Q);if(!$(Q))return Q;return new e._Code(Q._items.reduce((J,G)=>{if(G instanceof e.Name)G=W(G);if(G instanceof e._Code)J.push(...G._items);else J.push(G);return J},[]));function W(J){let G=Y[J.str];if(G===void 0||X[J.str]!==1)return J;return delete X[J.str],G}function $(J){return J instanceof e._Code&&J._items.some((G)=>G instanceof e.Name&&X[G.str]===1&&Y[G.str]!==void 0)}}function jN(Q,X){for(let Y in X)Q[Y]=(Q[Y]||0)-(X[Y]||0)}function LB(Q){return typeof Q=="boolean"||typeof Q=="number"||Q===null?!Q:e._`!${T5(Q)}`}X1.not=LB;var wN=OB(X1.operators.AND);function MN(...Q){return Q.reduce(wN)}X1.and=MN;var NN=OB(X1.operators.OR);function bN(...Q){return Q.reduce(NN)}X1.or=bN;function OB(Q){return(X,Y)=>X===e.nil?Y:Y===e.nil?X:e._`${T5(X)} ${Q} ${T5(Y)}`}function T5(Q){return Q instanceof e.Name?Q:e._`(${Q})`}});var W0=w((RB)=>{Object.defineProperty(RB,"__esModule",{value:!0});RB.checkStrictMode=RB.getErrorPath=RB.Type=RB.useFunc=RB.setEvaluated=RB.evaluatedPropsToName=RB.mergeEvaluated=RB.eachItem=RB.unescapeJsonPointer=RB.escapeJsonPointer=RB.escapeFragment=RB.unescapeFragment=RB.schemaRefOrVal=RB.schemaHasRulesButRef=RB.schemaHasRules=RB.checkUnknownRules=RB.alwaysValidSchema=RB.toHash=void 0;var B0=r(),EN=t4();function SN(Q){let X={};for(let Y of Q)X[Y]=!0;return X}RB.toHash=SN;function IN(Q,X){if(typeof X=="boolean")return X;if(Object.keys(X).length===0)return!0;return MB(Q,X),!NB(X,Q.self.RULES.all)}RB.alwaysValidSchema=IN;function MB(Q,X=Q.schema){let{opts:Y,self:W}=Q;if(!Y.strictSchema)return;if(typeof X==="boolean")return;let $=W.RULES.keywords;for(let J in X)if(!$[J])ZB(Q,`unknown keyword: "${J}"`)}RB.checkUnknownRules=MB;function NB(Q,X){if(typeof Q=="boolean")return!Q;for(let Y in Q)if(X[Y])return!0;return!1}RB.schemaHasRules=NB;function TN(Q,X){if(typeof Q=="boolean")return!Q;for(let Y in Q)if(Y!=="$ref"&&X.all[Y])return!0;return!1}RB.schemaHasRulesButRef=TN;function CN({topSchemaRef:Q,schemaPath:X},Y,W,$){if(!$){if(typeof Y=="number"||typeof Y=="boolean")return Y;if(typeof Y=="string")return B0._`${Y}`}return B0._`${Q}${X}${(0,B0.getProperty)(W)}`}RB.schemaRefOrVal=CN;function kN(Q){return bB(decodeURIComponent(Q))}RB.unescapeFragment=kN;function vN(Q){return encodeURIComponent(v5(Q))}RB.escapeFragment=vN;function v5(Q){if(typeof Q=="number")return`${Q}`;return Q.replace(/~/g,"~0").replace(/\//g,"~1")}RB.escapeJsonPointer=v5;function bB(Q){return Q.replace(/~1/g,"/").replace(/~0/g,"~")}RB.unescapeJsonPointer=bB;function _N(Q,X){if(Array.isArray(Q))for(let Y of Q)X(Y);else X(Q)}RB.eachItem=_N;function jB({mergeNames:Q,mergeToName:X,mergeValues:Y,resultToName:W}){return($,J,G,H)=>{let B=G===void 0?J:G instanceof B0.Name?(J instanceof B0.Name?Q($,J,G):X($,J,G),G):J instanceof B0.Name?(X($,G,J),J):Y(J,G);return H===B0.Name&&!(B instanceof B0.Name)?W($,B):B}}RB.mergeEvaluated={props:jB({mergeNames:(Q,X,Y)=>Q.if(B0._`${Y} !== true && ${X} !== undefined`,()=>{Q.if(B0._`${X} === true`,()=>Q.assign(Y,!0),()=>Q.assign(Y,B0._`${Y} || {}`).code(B0._`Object.assign(${Y}, ${X})`))}),mergeToName:(Q,X,Y)=>Q.if(B0._`${Y} !== true`,()=>{if(X===!0)Q.assign(Y,!0);else Q.assign(Y,B0._`${Y} || {}`),_5(Q,Y,X)}),mergeValues:(Q,X)=>Q===!0?!0:{...Q,...X},resultToName:PB}),items:jB({mergeNames:(Q,X,Y)=>Q.if(B0._`${Y} !== true && ${X} !== undefined`,()=>Q.assign(Y,B0._`${X} === true ? true : ${Y} > ${X} ? ${Y} : ${X}`)),mergeToName:(Q,X,Y)=>Q.if(B0._`${Y} !== true`,()=>Q.assign(Y,X===!0?!0:B0._`${Y} > ${X} ? ${Y} : ${X}`)),mergeValues:(Q,X)=>Q===!0?!0:Math.max(Q,X),resultToName:(Q,X)=>Q.var("items",X)})};function PB(Q,X){if(X===!0)return Q.var("props",!0);let Y=Q.var("props",B0._`{}`);if(X!==void 0)_5(Q,Y,X);return Y}RB.evaluatedPropsToName=PB;function _5(Q,X,Y){Object.keys(Y).forEach((W)=>Q.assign(B0._`${X}${(0,B0.getProperty)(W)}`,!0))}RB.setEvaluated=_5;var wB={};function xN(Q,X){return Q.scopeValue("func",{ref:X,code:wB[X.code]||(wB[X.code]=new EN._Code(X.code))})}RB.useFunc=xN;var k5;(function(Q){Q[Q.Num=0]="Num",Q[Q.Str=1]="Str"})(k5||(RB.Type=k5={}));function yN(Q,X,Y){if(Q instanceof B0.Name){let W=X===k5.Num;return Y?W?B0._`"[" + ${Q} + "]"`:B0._`"['" + ${Q} + "']"`:W?B0._`"/" + ${Q}`:B0._`"/" + ${Q}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return Y?(0,B0.getProperty)(Q).toString():"/"+v5(Q)}RB.getErrorPath=yN;function ZB(Q,X,Y=Q.opts.strictSchema){if(!Y)return;if(X=`strict mode: ${X}`,Y===!0)throw Error(X);Q.self.logger.warn(X)}RB.checkStrictMode=ZB});var X6=w((SB)=>{Object.defineProperty(SB,"__esModule",{value:!0});var u0=r(),Qb={data:new u0.Name("data"),valCxt:new u0.Name("valCxt"),instancePath:new u0.Name("instancePath"),parentData:new u0.Name("parentData"),parentDataProperty:new u0.Name("parentDataProperty"),rootData:new u0.Name("rootData"),dynamicAnchors:new u0.Name("dynamicAnchors"),vErrors:new u0.Name("vErrors"),errors:new u0.Name("errors"),this:new u0.Name("this"),self:new u0.Name("self"),scope:new u0.Name("scope"),json:new u0.Name("json"),jsonPos:new u0.Name("jsonPos"),jsonLen:new u0.Name("jsonLen"),jsonPart:new u0.Name("jsonPart")};SB.default=Qb});var s4=w((kB)=>{Object.defineProperty(kB,"__esModule",{value:!0});kB.extendErrors=kB.resetErrorsCount=kB.reportExtraError=kB.reportError=kB.keyword$DataError=kB.keywordError=void 0;var X0=r(),WX=W0(),d0=X6();kB.keywordError={message:({keyword:Q})=>X0.str`must pass "${Q}" keyword validation`};kB.keyword$DataError={message:({keyword:Q,schemaType:X})=>X?X0.str`"${Q}" keyword must be ${X} ($data)`:X0.str`"${Q}" keyword is invalid ($data)`};function Yb(Q,X=kB.keywordError,Y,W){let{it:$}=Q,{gen:J,compositeRule:G,allErrors:H}=$,B=CB(Q,X,Y);if(W!==null&&W!==void 0?W:G||H)IB(J,B);else TB($,X0._`[${B}]`)}kB.reportError=Yb;function Wb(Q,X=kB.keywordError,Y){let{it:W}=Q,{gen:$,compositeRule:J,allErrors:G}=W,H=CB(Q,X,Y);if(IB($,H),!(J||G))TB(W,d0.default.vErrors)}kB.reportExtraError=Wb;function $b(Q,X){Q.assign(d0.default.errors,X),Q.if(X0._`${d0.default.vErrors} !== null`,()=>Q.if(X,()=>Q.assign(X0._`${d0.default.vErrors}.length`,X),()=>Q.assign(d0.default.vErrors,null)))}kB.resetErrorsCount=$b;function Jb({gen:Q,keyword:X,schemaValue:Y,data:W,errsCount:$,it:J}){if($===void 0)throw Error("ajv implementation error");let G=Q.name("err");Q.forRange("i",$,d0.default.errors,(H)=>{if(Q.const(G,X0._`${d0.default.vErrors}[${H}]`),Q.if(X0._`${G}.instancePath === undefined`,()=>Q.assign(X0._`${G}.instancePath`,(0,X0.strConcat)(d0.default.instancePath,J.errorPath))),Q.assign(X0._`${G}.schemaPath`,X0.str`${J.errSchemaPath}/${X}`),J.opts.verbose)Q.assign(X0._`${G}.schema`,Y),Q.assign(X0._`${G}.data`,W)})}kB.extendErrors=Jb;function IB(Q,X){let Y=Q.const("err",X);Q.if(X0._`${d0.default.vErrors} === null`,()=>Q.assign(d0.default.vErrors,X0._`[${Y}]`),X0._`${d0.default.vErrors}.push(${Y})`),Q.code(X0._`${d0.default.errors}++`)}function TB(Q,X){let{gen:Y,validateName:W,schemaEnv:$}=Q;if($.$async)Y.throw(X0._`new ${Q.ValidationError}(${X})`);else Y.assign(X0._`${W}.errors`,X),Y.return(!1)}var s6={keyword:new X0.Name("keyword"),schemaPath:new X0.Name("schemaPath"),params:new X0.Name("params"),propertyName:new X0.Name("propertyName"),message:new X0.Name("message"),schema:new X0.Name("schema"),parentSchema:new X0.Name("parentSchema")};function CB(Q,X,Y){let{createErrors:W}=Q.it;if(W===!1)return X0._`{}`;return Gb(Q,X,Y)}function Gb(Q,X,Y={}){let{gen:W,it:$}=Q,J=[Hb($,Y),Bb(Q,Y)];return zb(Q,X,J),W.object(...J)}function Hb({errorPath:Q},{instancePath:X}){let Y=X?X0.str`${Q}${(0,WX.getErrorPath)(X,WX.Type.Str)}`:Q;return[d0.default.instancePath,(0,X0.strConcat)(d0.default.instancePath,Y)]}function Bb({keyword:Q,it:{errSchemaPath:X}},{schemaPath:Y,parentSchema:W}){let $=W?X:X0.str`${X}/${Q}`;if(Y)$=X0.str`${$}${(0,WX.getErrorPath)(Y,WX.Type.Str)}`;return[s6.schemaPath,$]}function zb(Q,{params:X,message:Y},W){let{keyword:$,data:J,schemaValue:G,it:H}=Q,{opts:B,propertyName:z,topSchemaRef:K,schemaPath:V}=H;if(W.push([s6.keyword,$],[s6.params,typeof X=="function"?X(Q):X||X0._`{}`]),B.messages)W.push([s6.message,typeof Y=="function"?Y(Q):Y]);if(B.verbose)W.push([s6.schema,G],[s6.parentSchema,X0._`${K}${V}`],[d0.default.data,J]);if(z)W.push([s6.propertyName,z])}});var gB=w((xB)=>{Object.defineProperty(xB,"__esModule",{value:!0});xB.boolOrEmptySchema=xB.topBoolOrEmptySchema=void 0;var Ab=s4(),Db=r(),Lb=X6(),Ob={message:"boolean schema is false"};function Ub(Q){let{gen:X,schema:Y,validateName:W}=Q;if(Y===!1)_B(Q,!1);else if(typeof Y=="object"&&Y.$async===!0)X.return(Lb.default.data);else X.assign(Db._`${W}.errors`,null),X.return(!0)}xB.topBoolOrEmptySchema=Ub;function jb(Q,X){let{gen:Y,schema:W}=Q;if(W===!1)Y.var(X,!1),_B(Q);else Y.var(X,!0)}xB.boolOrEmptySchema=jb;function _B(Q,X){let{gen:Y,data:W}=Q,$={gen:Y,keyword:"false schema",data:W,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:Q};(0,Ab.reportError)($,Ob,void 0,X)}});var y5=w((fB)=>{Object.defineProperty(fB,"__esModule",{value:!0});fB.getRules=fB.isJSONType=void 0;var Mb=["string","number","integer","boolean","null","object","array"],Nb=new Set(Mb);function bb(Q){return typeof Q=="string"&&Nb.has(Q)}fB.isJSONType=bb;function Pb(){let Q={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...Q,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},Q.number,Q.string,Q.array,Q.object],post:{rules:[]},all:{},keywords:{}}}fB.getRules=Pb});var g5=w((mB)=>{Object.defineProperty(mB,"__esModule",{value:!0});mB.shouldUseRule=mB.shouldUseGroup=mB.schemaHasRulesForType=void 0;function Rb({schema:Q,self:X},Y){let W=X.RULES.types[Y];return W&&W!==!0&&uB(Q,W)}mB.schemaHasRulesForType=Rb;function uB(Q,X){return X.rules.some((Y)=>lB(Q,Y))}mB.shouldUseGroup=uB;function lB(Q,X){var Y;return Q[X.keyword]!==void 0||((Y=X.definition.implements)===null||Y===void 0?void 0:Y.some((W)=>Q[W]!==void 0))}mB.shouldUseRule=lB});var e4=w((nB)=>{Object.defineProperty(nB,"__esModule",{value:!0});nB.reportTypeError=nB.checkDataTypes=nB.checkDataType=nB.coerceAndCheckDataType=nB.getJSONTypes=nB.getSchemaTypes=nB.DataType=void 0;var Ib=y5(),Tb=g5(),Cb=s4(),p=r(),pB=W0(),u9;(function(Q){Q[Q.Correct=0]="Correct",Q[Q.Wrong=1]="Wrong"})(u9||(nB.DataType=u9={}));function kb(Q){let X=dB(Q.type);if(X.includes("null")){if(Q.nullable===!1)throw Error("type: null contradicts nullable: false")}else{if(!X.length&&Q.nullable!==void 0)throw Error('"nullable" cannot be used without "type"');if(Q.nullable===!0)X.push("null")}return X}nB.getSchemaTypes=kb;function dB(Q){let X=Array.isArray(Q)?Q:Q?[Q]:[];if(X.every(Ib.isJSONType))return X;throw Error("type must be JSONType or JSONType[]: "+X.join(","))}nB.getJSONTypes=dB;function vb(Q,X){let{gen:Y,data:W,opts:$}=Q,J=_b(X,$.coerceTypes),G=X.length>0&&!(J.length===0&&X.length===1&&(0,Tb.schemaHasRulesForType)(Q,X[0]));if(G){let H=h5(X,W,$.strictNumbers,u9.Wrong);Y.if(H,()=>{if(J.length)xb(Q,X,J);else u5(Q)})}return G}nB.coerceAndCheckDataType=vb;var iB=new Set(["string","number","integer","boolean","null"]);function _b(Q,X){return X?Q.filter((Y)=>iB.has(Y)||X==="array"&&Y==="array"):[]}function xb(Q,X,Y){let{gen:W,data:$,opts:J}=Q,G=W.let("dataType",p._`typeof ${$}`),H=W.let("coerced",p._`undefined`);if(J.coerceTypes==="array")W.if(p._`${G} == 'object' && Array.isArray(${$}) && ${$}.length == 1`,()=>W.assign($,p._`${$}[0]`).assign(G,p._`typeof ${$}`).if(h5(X,$,J.strictNumbers),()=>W.assign(H,$)));W.if(p._`${H} !== undefined`);for(let z of Y)if(iB.has(z)||z==="array"&&J.coerceTypes==="array")B(z);W.else(),u5(Q),W.endIf(),W.if(p._`${H} !== undefined`,()=>{W.assign($,H),yb(Q,H)});function B(z){switch(z){case"string":W.elseIf(p._`${G} == "number" || ${G} == "boolean"`).assign(H,p._`"" + ${$}`).elseIf(p._`${$} === null`).assign(H,p._`""`);return;case"number":W.elseIf(p._`${G} == "boolean" || ${$} === null
4
- || (${G} == "string" && ${$} && ${$} == +${$})`).assign(H,p._`+${$}`);return;case"integer":W.elseIf(p._`${G} === "boolean" || ${$} === null
5
- || (${G} === "string" && ${$} && ${$} == +${$} && !(${$} % 1))`).assign(H,p._`+${$}`);return;case"boolean":W.elseIf(p._`${$} === "false" || ${$} === 0 || ${$} === null`).assign(H,!1).elseIf(p._`${$} === "true" || ${$} === 1`).assign(H,!0);return;case"null":W.elseIf(p._`${$} === "" || ${$} === 0 || ${$} === false`),W.assign(H,null);return;case"array":W.elseIf(p._`${G} === "string" || ${G} === "number"
6
- || ${G} === "boolean" || ${$} === null`).assign(H,p._`[${$}]`)}}}function yb({gen:Q,parentData:X,parentDataProperty:Y},W){Q.if(p._`${X} !== undefined`,()=>Q.assign(p._`${X}[${Y}]`,W))}function f5(Q,X,Y,W=u9.Correct){let $=W===u9.Correct?p.operators.EQ:p.operators.NEQ,J;switch(Q){case"null":return p._`${X} ${$} null`;case"array":J=p._`Array.isArray(${X})`;break;case"object":J=p._`${X} && typeof ${X} == "object" && !Array.isArray(${X})`;break;case"integer":J=G(p._`!(${X} % 1) && !isNaN(${X})`);break;case"number":J=G();break;default:return p._`typeof ${X} ${$} ${Q}`}return W===u9.Correct?J:(0,p.not)(J);function G(H=p.nil){return(0,p.and)(p._`typeof ${X} == "number"`,H,Y?p._`isFinite(${X})`:p.nil)}}nB.checkDataType=f5;function h5(Q,X,Y,W){if(Q.length===1)return f5(Q[0],X,Y,W);let $,J=(0,pB.toHash)(Q);if(J.array&&J.object){let G=p._`typeof ${X} != "object"`;$=J.null?G:p._`!${X} || ${G}`,delete J.null,delete J.array,delete J.object}else $=p.nil;if(J.number)delete J.integer;for(let G in J)$=(0,p.and)($,f5(G,X,Y,W));return $}nB.checkDataTypes=h5;var gb={message:({schema:Q})=>`must be ${Q}`,params:({schema:Q,schemaValue:X})=>typeof Q=="string"?p._`{type: ${Q}}`:p._`{type: ${X}}`};function u5(Q){let X=fb(Q);(0,Cb.reportError)(X,gb)}nB.reportTypeError=u5;function fb(Q){let{gen:X,data:Y,schema:W}=Q,$=(0,pB.schemaRefOrVal)(Q,W,"type");return{gen:X,keyword:"type",data:Y,schema:W.type,schemaCode:$,schemaValue:$,parentSchema:W,params:{},it:Q}}});var sB=w((tB)=>{Object.defineProperty(tB,"__esModule",{value:!0});tB.assignDefaults=void 0;var l9=r(),db=W0();function ib(Q,X){let{properties:Y,items:W}=Q.schema;if(X==="object"&&Y)for(let $ in Y)rB(Q,$,Y[$].default);else if(X==="array"&&Array.isArray(W))W.forEach(($,J)=>rB(Q,J,$.default))}tB.assignDefaults=ib;function rB(Q,X,Y){let{gen:W,compositeRule:$,data:J,opts:G}=Q;if(Y===void 0)return;let H=l9._`${J}${(0,l9.getProperty)(X)}`;if($){(0,db.checkStrictMode)(Q,`default is ignored for: ${H}`);return}let B=l9._`${H} === undefined`;if(G.useDefaults==="empty")B=l9._`${B} || ${H} === null || ${H} === ""`;W.if(B,l9._`${H} = ${(0,l9.stringify)(Y)}`)}});var V1=w((Xz)=>{Object.defineProperty(Xz,"__esModule",{value:!0});Xz.validateUnion=Xz.validateArray=Xz.usePattern=Xz.callValidateCode=Xz.schemaProperties=Xz.allSchemaProperties=Xz.noPropertyInData=Xz.propertyInData=Xz.isOwnProperty=Xz.hasPropFunc=Xz.reportMissingProp=Xz.checkMissingProp=Xz.checkReportMissingProp=void 0;var D0=r(),l5=W0(),P6=X6(),nb=W0();function ob(Q,X){let{gen:Y,data:W,it:$}=Q;Y.if(c5(Y,W,X,$.opts.ownProperties),()=>{Q.setParams({missingProperty:D0._`${X}`},!0),Q.error()})}Xz.checkReportMissingProp=ob;function rb({gen:Q,data:X,it:{opts:Y}},W,$){return(0,D0.or)(...W.map((J)=>(0,D0.and)(c5(Q,X,J,Y.ownProperties),D0._`${$} = ${J}`)))}Xz.checkMissingProp=rb;function tb(Q,X){Q.setParams({missingProperty:X},!0),Q.error()}Xz.reportMissingProp=tb;function eB(Q){return Q.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:D0._`Object.prototype.hasOwnProperty`})}Xz.hasPropFunc=eB;function m5(Q,X,Y){return D0._`${eB(Q)}.call(${X}, ${Y})`}Xz.isOwnProperty=m5;function ab(Q,X,Y,W){let $=D0._`${X}${(0,D0.getProperty)(Y)} !== undefined`;return W?D0._`${$} && ${m5(Q,X,Y)}`:$}Xz.propertyInData=ab;function c5(Q,X,Y,W){let $=D0._`${X}${(0,D0.getProperty)(Y)} === undefined`;return W?(0,D0.or)($,(0,D0.not)(m5(Q,X,Y))):$}Xz.noPropertyInData=c5;function Qz(Q){return Q?Object.keys(Q).filter((X)=>X!=="__proto__"):[]}Xz.allSchemaProperties=Qz;function sb(Q,X){return Qz(X).filter((Y)=>!(0,l5.alwaysValidSchema)(Q,X[Y]))}Xz.schemaProperties=sb;function eb({schemaCode:Q,data:X,it:{gen:Y,topSchemaRef:W,schemaPath:$,errorPath:J},it:G},H,B,z){let K=z?D0._`${Q}, ${X}, ${W}${$}`:X,V=[[P6.default.instancePath,(0,D0.strConcat)(P6.default.instancePath,J)],[P6.default.parentData,G.parentData],[P6.default.parentDataProperty,G.parentDataProperty],[P6.default.rootData,P6.default.rootData]];if(G.opts.dynamicRef)V.push([P6.default.dynamicAnchors,P6.default.dynamicAnchors]);let D=D0._`${K}, ${Y.object(...V)}`;return B!==D0.nil?D0._`${H}.call(${B}, ${D})`:D0._`${H}(${D})`}Xz.callValidateCode=eb;var QP=D0._`new RegExp`;function XP({gen:Q,it:{opts:X}},Y){let W=X.unicodeRegExp?"u":"",{regExp:$}=X.code,J=$(Y,W);return Q.scopeValue("pattern",{key:J.toString(),ref:J,code:D0._`${$.code==="new RegExp"?QP:(0,nb.useFunc)(Q,$)}(${Y}, ${W})`})}Xz.usePattern=XP;function YP(Q){let{gen:X,data:Y,keyword:W,it:$}=Q,J=X.name("valid");if($.allErrors){let H=X.let("valid",!0);return G(()=>X.assign(H,!1)),H}return X.var(J,!0),G(()=>X.break()),J;function G(H){let B=X.const("len",D0._`${Y}.length`);X.forRange("i",0,B,(z)=>{Q.subschema({keyword:W,dataProp:z,dataPropType:l5.Type.Num},J),X.if((0,D0.not)(J),H)})}}Xz.validateArray=YP;function WP(Q){let{gen:X,schema:Y,keyword:W,it:$}=Q;if(!Array.isArray(Y))throw Error("ajv implementation error");if(Y.some((B)=>(0,l5.alwaysValidSchema)($,B))&&!$.opts.unevaluated)return;let G=X.let("valid",!1),H=X.name("_valid");X.block(()=>Y.forEach((B,z)=>{let K=Q.subschema({keyword:W,schemaProp:z,compositeRule:!0},H);if(X.assign(G,D0._`${G} || ${H}`),!Q.mergeValidEvaluated(K,H))X.if((0,D0.not)(G))})),Q.result(G,()=>Q.reset(),()=>Q.error(!0))}Xz.validateUnion=WP});var Hz=w((Jz)=>{Object.defineProperty(Jz,"__esModule",{value:!0});Jz.validateKeywordUsage=Jz.validSchemaType=Jz.funcKeywordCode=Jz.macroKeywordCode=void 0;var i0=r(),e6=X6(),LP=V1(),OP=s4();function UP(Q,X){let{gen:Y,keyword:W,schema:$,parentSchema:J,it:G}=Q,H=X.macro.call(G.self,$,J,G),B=$z(Y,W,H);if(G.opts.validateSchema!==!1)G.self.validateSchema(H,!0);let z=Y.name("valid");Q.subschema({schema:H,schemaPath:i0.nil,errSchemaPath:`${G.errSchemaPath}/${W}`,topSchemaRef:B,compositeRule:!0},z),Q.pass(z,()=>Q.error(!0))}Jz.macroKeywordCode=UP;function jP(Q,X){var Y;let{gen:W,keyword:$,schema:J,parentSchema:G,$data:H,it:B}=Q;MP(B,X);let z=!H&&X.compile?X.compile.call(B.self,J,G,B):X.validate,K=$z(W,$,z),V=W.let("valid");Q.block$data(V,D),Q.ok((Y=X.valid)!==null&&Y!==void 0?Y:V);function D(){if(X.errors===!1){if(A(),X.modifying)Wz(Q);L(()=>Q.error())}else{let O=X.async?F():q();if(X.modifying)Wz(Q);L(()=>wP(Q,O))}}function F(){let O=W.let("ruleErrs",null);return W.try(()=>A(i0._`await `),(M)=>W.assign(V,!1).if(i0._`${M} instanceof ${B.ValidationError}`,()=>W.assign(O,i0._`${M}.errors`),()=>W.throw(M))),O}function q(){let O=i0._`${K}.errors`;return W.assign(O,null),A(i0.nil),O}function A(O=X.async?i0._`await `:i0.nil){let M=B.opts.passContext?e6.default.this:e6.default.self,N=!(("compile"in X)&&!H||X.schema===!1);W.assign(V,i0._`${O}${(0,LP.callValidateCode)(Q,K,M,N)}`,X.modifying)}function L(O){var M;W.if((0,i0.not)((M=X.valid)!==null&&M!==void 0?M:V),O)}}Jz.funcKeywordCode=jP;function Wz(Q){let{gen:X,data:Y,it:W}=Q;X.if(W.parentData,()=>X.assign(Y,i0._`${W.parentData}[${W.parentDataProperty}]`))}function wP(Q,X){let{gen:Y}=Q;Y.if(i0._`Array.isArray(${X})`,()=>{Y.assign(e6.default.vErrors,i0._`${e6.default.vErrors} === null ? ${X} : ${e6.default.vErrors}.concat(${X})`).assign(e6.default.errors,i0._`${e6.default.vErrors}.length`),(0,OP.extendErrors)(Q)},()=>Q.error())}function MP({schemaEnv:Q},X){if(X.async&&!Q.$async)throw Error("async keyword in sync schema")}function $z(Q,X,Y){if(Y===void 0)throw Error(`keyword "${X}" failed to compile`);return Q.scopeValue("keyword",typeof Y=="function"?{ref:Y}:{ref:Y,code:(0,i0.stringify)(Y)})}function NP(Q,X,Y=!1){return!X.length||X.some((W)=>W==="array"?Array.isArray(Q):W==="object"?Q&&typeof Q=="object"&&!Array.isArray(Q):typeof Q==W||Y&&typeof Q>"u")}Jz.validSchemaType=NP;function bP({schema:Q,opts:X,self:Y,errSchemaPath:W},$,J){if(Array.isArray($.keyword)?!$.keyword.includes(J):$.keyword!==J)throw Error("ajv implementation error");let G=$.dependencies;if(G===null||G===void 0?void 0:G.some((H)=>!Object.prototype.hasOwnProperty.call(Q,H)))throw Error(`parent schema must have dependencies of ${J}: ${G.join(",")}`);if($.validateSchema){if(!$.validateSchema(Q[J])){let B=`keyword "${J}" value is invalid at path "${W}": `+Y.errorsText($.validateSchema.errors);if(X.validateSchema==="log")Y.logger.error(B);else throw Error(B)}}}Jz.validateKeywordUsage=bP});var Fz=w((zz)=>{Object.defineProperty(zz,"__esModule",{value:!0});zz.extendSubschemaMode=zz.extendSubschemaData=zz.getSubschema=void 0;var c1=r(),Bz=W0();function EP(Q,{keyword:X,schemaProp:Y,schema:W,schemaPath:$,errSchemaPath:J,topSchemaRef:G}){if(X!==void 0&&W!==void 0)throw Error('both "keyword" and "schema" passed, only one allowed');if(X!==void 0){let H=Q.schema[X];return Y===void 0?{schema:H,schemaPath:c1._`${Q.schemaPath}${(0,c1.getProperty)(X)}`,errSchemaPath:`${Q.errSchemaPath}/${X}`}:{schema:H[Y],schemaPath:c1._`${Q.schemaPath}${(0,c1.getProperty)(X)}${(0,c1.getProperty)(Y)}`,errSchemaPath:`${Q.errSchemaPath}/${X}/${(0,Bz.escapeFragment)(Y)}`}}if(W!==void 0){if($===void 0||J===void 0||G===void 0)throw Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:W,schemaPath:$,topSchemaRef:G,errSchemaPath:J}}throw Error('either "keyword" or "schema" must be passed')}zz.getSubschema=EP;function SP(Q,X,{dataProp:Y,dataPropType:W,data:$,dataTypes:J,propertyName:G}){if($!==void 0&&Y!==void 0)throw Error('both "data" and "dataProp" passed, only one allowed');let{gen:H}=X;if(Y!==void 0){let{errorPath:z,dataPathArr:K,opts:V}=X,D=H.let("data",c1._`${X.data}${(0,c1.getProperty)(Y)}`,!0);B(D),Q.errorPath=c1.str`${z}${(0,Bz.getErrorPath)(Y,W,V.jsPropertySyntax)}`,Q.parentDataProperty=c1._`${Y}`,Q.dataPathArr=[...K,Q.parentDataProperty]}if($!==void 0){let z=$ instanceof c1.Name?$:H.let("data",$,!0);if(B(z),G!==void 0)Q.propertyName=G}if(J)Q.dataTypes=J;function B(z){Q.data=z,Q.dataLevel=X.dataLevel+1,Q.dataTypes=[],X.definedProperties=new Set,Q.parentData=X.data,Q.dataNames=[...X.dataNames,z]}}zz.extendSubschemaData=SP;function IP(Q,{jtdDiscriminator:X,jtdMetadata:Y,compositeRule:W,createErrors:$,allErrors:J}){if(W!==void 0)Q.compositeRule=W;if($!==void 0)Q.createErrors=$;if(J!==void 0)Q.allErrors=J;Q.jtdDiscriminator=X,Q.jtdMetadata=Y}zz.extendSubschemaMode=IP});var Q8=w((nm,Vz)=>{Vz.exports=function Q(X,Y){if(X===Y)return!0;if(X&&Y&&typeof X=="object"&&typeof Y=="object"){if(X.constructor!==Y.constructor)return!1;var W,$,J;if(Array.isArray(X)){if(W=X.length,W!=Y.length)return!1;for($=W;$--!==0;)if(!Q(X[$],Y[$]))return!1;return!0}if(X.constructor===RegExp)return X.source===Y.source&&X.flags===Y.flags;if(X.valueOf!==Object.prototype.valueOf)return X.valueOf()===Y.valueOf();if(X.toString!==Object.prototype.toString)return X.toString()===Y.toString();if(J=Object.keys(X),W=J.length,W!==Object.keys(Y).length)return!1;for($=W;$--!==0;)if(!Object.prototype.hasOwnProperty.call(Y,J[$]))return!1;for($=W;$--!==0;){var G=J[$];if(!Q(X[G],Y[G]))return!1}return!0}return X!==X&&Y!==Y}});var Az=w((om,qz)=>{var Z6=qz.exports=function(Q,X,Y){if(typeof X=="function")Y=X,X={};Y=X.cb||Y;var W=typeof Y=="function"?Y:Y.pre||function(){},$=Y.post||function(){};$X(X,W,$,Q,"",Q)};Z6.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};Z6.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};Z6.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};Z6.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function $X(Q,X,Y,W,$,J,G,H,B,z){if(W&&typeof W=="object"&&!Array.isArray(W)){X(W,$,J,G,H,B,z);for(var K in W){var V=W[K];if(Array.isArray(V)){if(K in Z6.arrayKeywords)for(var D=0;D<V.length;D++)$X(Q,X,Y,V[D],$+"/"+K+"/"+D,J,$,K,W,D)}else if(K in Z6.propsKeywords){if(V&&typeof V=="object")for(var F in V)$X(Q,X,Y,V[F],$+"/"+K+"/"+kP(F),J,$,K,W,F)}else if(K in Z6.keywords||Q.allKeys&&!(K in Z6.skipKeywords))$X(Q,X,Y,V,$+"/"+K,J,$,K,W)}Y(W,$,J,G,H,B,z)}}function kP(Q){return Q.replace(/~/g,"~0").replace(/\//g,"~1")}});var X8=w((Uz)=>{Object.defineProperty(Uz,"__esModule",{value:!0});Uz.getSchemaRefs=Uz.resolveUrl=Uz.normalizeId=Uz._getFullPath=Uz.getFullPath=Uz.inlineRef=void 0;var vP=W0(),_P=Q8(),xP=Az(),yP=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function gP(Q,X=!0){if(typeof Q=="boolean")return!0;if(X===!0)return!p5(Q);if(!X)return!1;return Dz(Q)<=X}Uz.inlineRef=gP;var fP=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function p5(Q){for(let X in Q){if(fP.has(X))return!0;let Y=Q[X];if(Array.isArray(Y)&&Y.some(p5))return!0;if(typeof Y=="object"&&p5(Y))return!0}return!1}function Dz(Q){let X=0;for(let Y in Q){if(Y==="$ref")return 1/0;if(X++,yP.has(Y))continue;if(typeof Q[Y]=="object")(0,vP.eachItem)(Q[Y],(W)=>X+=Dz(W));if(X===1/0)return 1/0}return X}function Lz(Q,X="",Y){if(Y!==!1)X=m9(X);let W=Q.parse(X);return Oz(Q,W)}Uz.getFullPath=Lz;function Oz(Q,X){return Q.serialize(X).split("#")[0]+"#"}Uz._getFullPath=Oz;var hP=/#\/?$/;function m9(Q){return Q?Q.replace(hP,""):""}Uz.normalizeId=m9;function uP(Q,X,Y){return Y=m9(Y),Q.resolve(X,Y)}Uz.resolveUrl=uP;var lP=/^[a-z_][-a-z0-9._]*$/i;function mP(Q,X){if(typeof Q=="boolean")return{};let{schemaId:Y,uriResolver:W}=this.opts,$=m9(Q[Y]||X),J={"":$},G=Lz(W,$,!1),H={},B=new Set;return xP(Q,{allKeys:!0},(V,D,F,q)=>{if(q===void 0)return;let A=G+D,L=J[q];if(typeof V[Y]=="string")L=O.call(this,V[Y]);M.call(this,V.$anchor),M.call(this,V.$dynamicAnchor),J[D]=L;function O(N){let C=this.opts.uriResolver.resolve;if(N=m9(L?C(L,N):N),B.has(N))throw K(N);B.add(N);let Z=this.refs[N];if(typeof Z=="string")Z=this.refs[Z];if(typeof Z=="object")z(V,Z.schema,N);else if(N!==m9(A))if(N[0]==="#")z(V,H[N],N),H[N]=V;else this.refs[N]=A;return N}function M(N){if(typeof N=="string"){if(!lP.test(N))throw Error(`invalid anchor "${N}"`);O.call(this,`#${N}`)}}}),H;function z(V,D,F){if(D!==void 0&&!_P(V,D))throw K(F)}function K(V){return Error(`reference "${V}" resolves to more than one schema`)}}Uz.getSchemaRefs=mP});var $8=w((_z)=>{Object.defineProperty(_z,"__esModule",{value:!0});_z.getData=_z.KeywordCxt=_z.validateFunctionCode=void 0;var Pz=gB(),wz=e4(),i5=g5(),JX=e4(),oP=sB(),W8=Hz(),d5=Fz(),x=r(),l=X6(),rP=X8(),Y6=W0(),Y8=s4();function tP(Q){if(Ez(Q)){if(Sz(Q),Rz(Q)){eP(Q);return}}Zz(Q,()=>(0,Pz.topBoolOrEmptySchema)(Q))}_z.validateFunctionCode=tP;function Zz({gen:Q,validateName:X,schema:Y,schemaEnv:W,opts:$},J){if($.code.es5)Q.func(X,x._`${l.default.data}, ${l.default.valCxt}`,W.$async,()=>{Q.code(x._`"use strict"; ${Mz(Y,$)}`),sP(Q,$),Q.code(J)});else Q.func(X,x._`${l.default.data}, ${aP($)}`,W.$async,()=>Q.code(Mz(Y,$)).code(J))}function aP(Q){return x._`{${l.default.instancePath}="", ${l.default.parentData}, ${l.default.parentDataProperty}, ${l.default.rootData}=${l.default.data}${Q.dynamicRef?x._`, ${l.default.dynamicAnchors}={}`:x.nil}}={}`}function sP(Q,X){Q.if(l.default.valCxt,()=>{if(Q.var(l.default.instancePath,x._`${l.default.valCxt}.${l.default.instancePath}`),Q.var(l.default.parentData,x._`${l.default.valCxt}.${l.default.parentData}`),Q.var(l.default.parentDataProperty,x._`${l.default.valCxt}.${l.default.parentDataProperty}`),Q.var(l.default.rootData,x._`${l.default.valCxt}.${l.default.rootData}`),X.dynamicRef)Q.var(l.default.dynamicAnchors,x._`${l.default.valCxt}.${l.default.dynamicAnchors}`)},()=>{if(Q.var(l.default.instancePath,x._`""`),Q.var(l.default.parentData,x._`undefined`),Q.var(l.default.parentDataProperty,x._`undefined`),Q.var(l.default.rootData,l.default.data),X.dynamicRef)Q.var(l.default.dynamicAnchors,x._`{}`)})}function eP(Q){let{schema:X,opts:Y,gen:W}=Q;Zz(Q,()=>{if(Y.$comment&&X.$comment)Tz(Q);if($Z(Q),W.let(l.default.vErrors,null),W.let(l.default.errors,0),Y.unevaluated)QZ(Q);Iz(Q),HZ(Q)});return}function QZ(Q){let{gen:X,validateName:Y}=Q;Q.evaluated=X.const("evaluated",x._`${Y}.evaluated`),X.if(x._`${Q.evaluated}.dynamicProps`,()=>X.assign(x._`${Q.evaluated}.props`,x._`undefined`)),X.if(x._`${Q.evaluated}.dynamicItems`,()=>X.assign(x._`${Q.evaluated}.items`,x._`undefined`))}function Mz(Q,X){let Y=typeof Q=="object"&&Q[X.schemaId];return Y&&(X.code.source||X.code.process)?x._`/*# sourceURL=${Y} */`:x.nil}function XZ(Q,X){if(Ez(Q)){if(Sz(Q),Rz(Q)){YZ(Q,X);return}}(0,Pz.boolOrEmptySchema)(Q,X)}function Rz({schema:Q,self:X}){if(typeof Q=="boolean")return!Q;for(let Y in Q)if(X.RULES.all[Y])return!0;return!1}function Ez(Q){return typeof Q.schema!="boolean"}function YZ(Q,X){let{schema:Y,gen:W,opts:$}=Q;if($.$comment&&Y.$comment)Tz(Q);JZ(Q),GZ(Q);let J=W.const("_errs",l.default.errors);Iz(Q,J),W.var(X,x._`${J} === ${l.default.errors}`)}function Sz(Q){(0,Y6.checkUnknownRules)(Q),WZ(Q)}function Iz(Q,X){if(Q.opts.jtd)return Nz(Q,[],!1,X);let Y=(0,wz.getSchemaTypes)(Q.schema),W=(0,wz.coerceAndCheckDataType)(Q,Y);Nz(Q,Y,!W,X)}function WZ(Q){let{schema:X,errSchemaPath:Y,opts:W,self:$}=Q;if(X.$ref&&W.ignoreKeywordsWithRef&&(0,Y6.schemaHasRulesButRef)(X,$.RULES))$.logger.warn(`$ref: keywords ignored in schema at path "${Y}"`)}function $Z(Q){let{schema:X,opts:Y}=Q;if(X.default!==void 0&&Y.useDefaults&&Y.strictSchema)(0,Y6.checkStrictMode)(Q,"default is ignored in the schema root")}function JZ(Q){let X=Q.schema[Q.opts.schemaId];if(X)Q.baseId=(0,rP.resolveUrl)(Q.opts.uriResolver,Q.baseId,X)}function GZ(Q){if(Q.schema.$async&&!Q.schemaEnv.$async)throw Error("async schema in sync schema")}function Tz({gen:Q,schemaEnv:X,schema:Y,errSchemaPath:W,opts:$}){let J=Y.$comment;if($.$comment===!0)Q.code(x._`${l.default.self}.logger.log(${J})`);else if(typeof $.$comment=="function"){let G=x.str`${W}/$comment`,H=Q.scopeValue("root",{ref:X.root});Q.code(x._`${l.default.self}.opts.$comment(${J}, ${G}, ${H}.schema)`)}}function HZ(Q){let{gen:X,schemaEnv:Y,validateName:W,ValidationError:$,opts:J}=Q;if(Y.$async)X.if(x._`${l.default.errors} === 0`,()=>X.return(l.default.data),()=>X.throw(x._`new ${$}(${l.default.vErrors})`));else{if(X.assign(x._`${W}.errors`,l.default.vErrors),J.unevaluated)BZ(Q);X.return(x._`${l.default.errors} === 0`)}}function BZ({gen:Q,evaluated:X,props:Y,items:W}){if(Y instanceof x.Name)Q.assign(x._`${X}.props`,Y);if(W instanceof x.Name)Q.assign(x._`${X}.items`,W)}function Nz(Q,X,Y,W){let{gen:$,schema:J,data:G,allErrors:H,opts:B,self:z}=Q,{RULES:K}=z;if(J.$ref&&(B.ignoreKeywordsWithRef||!(0,Y6.schemaHasRulesButRef)(J,K))){$.block(()=>kz(Q,"$ref",K.all.$ref.definition));return}if(!B.jtd)zZ(Q,X);$.block(()=>{for(let D of K.rules)V(D);V(K.post)});function V(D){if(!(0,i5.shouldUseGroup)(J,D))return;if(D.type){if($.if((0,JX.checkDataType)(D.type,G,B.strictNumbers)),bz(Q,D),X.length===1&&X[0]===D.type&&Y)$.else(),(0,JX.reportTypeError)(Q);$.endIf()}else bz(Q,D);if(!H)$.if(x._`${l.default.errors} === ${W||0}`)}}function bz(Q,X){let{gen:Y,schema:W,opts:{useDefaults:$}}=Q;if($)(0,oP.assignDefaults)(Q,X.type);Y.block(()=>{for(let J of X.rules)if((0,i5.shouldUseRule)(W,J))kz(Q,J.keyword,J.definition,X.type)})}function zZ(Q,X){if(Q.schemaEnv.meta||!Q.opts.strictTypes)return;if(KZ(Q,X),!Q.opts.allowUnionTypes)FZ(Q,X);VZ(Q,Q.dataTypes)}function KZ(Q,X){if(!X.length)return;if(!Q.dataTypes.length){Q.dataTypes=X;return}X.forEach((Y)=>{if(!Cz(Q.dataTypes,Y))n5(Q,`type "${Y}" not allowed by context "${Q.dataTypes.join(",")}"`)}),AZ(Q,X)}function FZ(Q,X){if(X.length>1&&!(X.length===2&&X.includes("null")))n5(Q,"use allowUnionTypes to allow union type keyword")}function VZ(Q,X){let Y=Q.self.RULES.all;for(let W in Y){let $=Y[W];if(typeof $=="object"&&(0,i5.shouldUseRule)(Q.schema,$)){let{type:J}=$.definition;if(J.length&&!J.some((G)=>qZ(X,G)))n5(Q,`missing type "${J.join(",")}" for keyword "${W}"`)}}}function qZ(Q,X){return Q.includes(X)||X==="number"&&Q.includes("integer")}function Cz(Q,X){return Q.includes(X)||X==="integer"&&Q.includes("number")}function AZ(Q,X){let Y=[];for(let W of Q.dataTypes)if(Cz(X,W))Y.push(W);else if(X.includes("integer")&&W==="number")Y.push("integer");Q.dataTypes=Y}function n5(Q,X){let Y=Q.schemaEnv.baseId+Q.errSchemaPath;X+=` at "${Y}" (strictTypes)`,(0,Y6.checkStrictMode)(Q,X,Q.opts.strictTypes)}class o5{constructor(Q,X,Y){if((0,W8.validateKeywordUsage)(Q,X,Y),this.gen=Q.gen,this.allErrors=Q.allErrors,this.keyword=Y,this.data=Q.data,this.schema=Q.schema[Y],this.$data=X.$data&&Q.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,Y6.schemaRefOrVal)(Q,this.schema,Y,this.$data),this.schemaType=X.schemaType,this.parentSchema=Q.schema,this.params={},this.it=Q,this.def=X,this.$data)this.schemaCode=Q.gen.const("vSchema",vz(this.$data,Q));else if(this.schemaCode=this.schemaValue,!(0,W8.validSchemaType)(this.schema,X.schemaType,X.allowUndefined))throw Error(`${Y} value must be ${JSON.stringify(X.schemaType)}`);if("code"in X?X.trackErrors:X.errors!==!1)this.errsCount=Q.gen.const("_errs",l.default.errors)}result(Q,X,Y){this.failResult((0,x.not)(Q),X,Y)}failResult(Q,X,Y){if(this.gen.if(Q),Y)Y();else this.error();if(X){if(this.gen.else(),X(),this.allErrors)this.gen.endIf()}else if(this.allErrors)this.gen.endIf();else this.gen.else()}pass(Q,X){this.failResult((0,x.not)(Q),void 0,X)}fail(Q){if(Q===void 0){if(this.error(),!this.allErrors)this.gen.if(!1);return}if(this.gen.if(Q),this.error(),this.allErrors)this.gen.endIf();else this.gen.else()}fail$data(Q){if(!this.$data)return this.fail(Q);let{schemaCode:X}=this;this.fail(x._`${X} !== undefined && (${(0,x.or)(this.invalid$data(),Q)})`)}error(Q,X,Y){if(X){this.setParams(X),this._error(Q,Y),this.setParams({});return}this._error(Q,Y)}_error(Q,X){(Q?Y8.reportExtraError:Y8.reportError)(this,this.def.error,X)}$dataError(){(0,Y8.reportError)(this,this.def.$dataError||Y8.keyword$DataError)}reset(){if(this.errsCount===void 0)throw Error('add "trackErrors" to keyword definition');(0,Y8.resetErrorsCount)(this.gen,this.errsCount)}ok(Q){if(!this.allErrors)this.gen.if(Q)}setParams(Q,X){if(X)Object.assign(this.params,Q);else this.params=Q}block$data(Q,X,Y=x.nil){this.gen.block(()=>{this.check$data(Q,Y),X()})}check$data(Q=x.nil,X=x.nil){if(!this.$data)return;let{gen:Y,schemaCode:W,schemaType:$,def:J}=this;if(Y.if((0,x.or)(x._`${W} === undefined`,X)),Q!==x.nil)Y.assign(Q,!0);if($.length||J.validateSchema){if(Y.elseIf(this.invalid$data()),this.$dataError(),Q!==x.nil)Y.assign(Q,!1)}Y.else()}invalid$data(){let{gen:Q,schemaCode:X,schemaType:Y,def:W,it:$}=this;return(0,x.or)(J(),G());function J(){if(Y.length){if(!(X instanceof x.Name))throw Error("ajv implementation error");let H=Array.isArray(Y)?Y:[Y];return x._`${(0,JX.checkDataTypes)(H,X,$.opts.strictNumbers,JX.DataType.Wrong)}`}return x.nil}function G(){if(W.validateSchema){let H=Q.scopeValue("validate$data",{ref:W.validateSchema});return x._`!${H}(${X})`}return x.nil}}subschema(Q,X){let Y=(0,d5.getSubschema)(this.it,Q);(0,d5.extendSubschemaData)(Y,this.it,Q),(0,d5.extendSubschemaMode)(Y,Q);let W={...this.it,...Y,items:void 0,props:void 0};return XZ(W,X),W}mergeEvaluated(Q,X){let{it:Y,gen:W}=this;if(!Y.opts.unevaluated)return;if(Y.props!==!0&&Q.props!==void 0)Y.props=Y6.mergeEvaluated.props(W,Q.props,Y.props,X);if(Y.items!==!0&&Q.items!==void 0)Y.items=Y6.mergeEvaluated.items(W,Q.items,Y.items,X)}mergeValidEvaluated(Q,X){let{it:Y,gen:W}=this;if(Y.opts.unevaluated&&(Y.props!==!0||Y.items!==!0))return W.if(X,()=>this.mergeEvaluated(Q,x.Name)),!0}}_z.KeywordCxt=o5;function kz(Q,X,Y,W){let $=new o5(Q,Y,X);if("code"in Y)Y.code($,W);else if($.$data&&Y.validate)(0,W8.funcKeywordCode)($,Y);else if("macro"in Y)(0,W8.macroKeywordCode)($,Y);else if(Y.compile||Y.validate)(0,W8.funcKeywordCode)($,Y)}var DZ=/^\/(?:[^~]|~0|~1)*$/,LZ=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function vz(Q,{dataLevel:X,dataNames:Y,dataPathArr:W}){let $,J;if(Q==="")return l.default.rootData;if(Q[0]==="/"){if(!DZ.test(Q))throw Error(`Invalid JSON-pointer: ${Q}`);$=Q,J=l.default.rootData}else{let z=LZ.exec(Q);if(!z)throw Error(`Invalid JSON-pointer: ${Q}`);let K=+z[1];if($=z[2],$==="#"){if(K>=X)throw Error(B("property/index",K));return W[X-K]}if(K>X)throw Error(B("data",K));if(J=Y[X-K],!$)return J}let G=J,H=$.split("/");for(let z of H)if(z)J=x._`${J}${(0,x.getProperty)((0,Y6.unescapeJsonPointer)(z))}`,G=x._`${G} && ${J}`;return G;function B(z,K){return`Cannot access ${z} ${K} levels up, current level is ${X}`}}_z.getData=vz});var GX=w((gz)=>{Object.defineProperty(gz,"__esModule",{value:!0});class yz extends Error{constructor(Q){super("validation failed");this.errors=Q,this.ajv=this.validation=!0}}gz.default=yz});var J8=w((hz)=>{Object.defineProperty(hz,"__esModule",{value:!0});var r5=X8();class fz extends Error{constructor(Q,X,Y,W){super(W||`can't resolve reference ${Y} from id ${X}`);this.missingRef=(0,r5.resolveUrl)(Q,X,Y),this.missingSchema=(0,r5.normalizeId)((0,r5.getFullPath)(Q,this.missingRef))}}hz.default=fz});var BX=w((mz)=>{Object.defineProperty(mz,"__esModule",{value:!0});mz.resolveSchema=mz.getCompilingSchema=mz.resolveRef=mz.compileSchema=mz.SchemaEnv=void 0;var E1=r(),MZ=GX(),Q9=X6(),S1=X8(),uz=W0(),NZ=$8();class G8{constructor(Q){var X;this.refs={},this.dynamicAnchors={};let Y;if(typeof Q.schema=="object")Y=Q.schema;this.schema=Q.schema,this.schemaId=Q.schemaId,this.root=Q.root||this,this.baseId=(X=Q.baseId)!==null&&X!==void 0?X:(0,S1.normalizeId)(Y===null||Y===void 0?void 0:Y[Q.schemaId||"$id"]),this.schemaPath=Q.schemaPath,this.localRefs=Q.localRefs,this.meta=Q.meta,this.$async=Y===null||Y===void 0?void 0:Y.$async,this.refs={}}}mz.SchemaEnv=G8;function a5(Q){let X=lz.call(this,Q);if(X)return X;let Y=(0,S1.getFullPath)(this.opts.uriResolver,Q.root.baseId),{es5:W,lines:$}=this.opts.code,{ownProperties:J}=this.opts,G=new E1.CodeGen(this.scope,{es5:W,lines:$,ownProperties:J}),H;if(Q.$async)H=G.scopeValue("Error",{ref:MZ.default,code:E1._`require("ajv/dist/runtime/validation_error").default`});let B=G.scopeName("validate");Q.validateName=B;let z={gen:G,allErrors:this.opts.allErrors,data:Q9.default.data,parentData:Q9.default.parentData,parentDataProperty:Q9.default.parentDataProperty,dataNames:[Q9.default.data],dataPathArr:[E1.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:G.scopeValue("schema",this.opts.code.source===!0?{ref:Q.schema,code:(0,E1.stringify)(Q.schema)}:{ref:Q.schema}),validateName:B,ValidationError:H,schema:Q.schema,schemaEnv:Q,rootId:Y,baseId:Q.baseId||Y,schemaPath:E1.nil,errSchemaPath:Q.schemaPath||(this.opts.jtd?"":"#"),errorPath:E1._`""`,opts:this.opts,self:this},K;try{this._compilations.add(Q),(0,NZ.validateFunctionCode)(z),G.optimize(this.opts.code.optimize);let V=G.toString();if(K=`${G.scopeRefs(Q9.default.scope)}return ${V}`,this.opts.code.process)K=this.opts.code.process(K,Q);let F=Function(`${Q9.default.self}`,`${Q9.default.scope}`,K)(this,this.scope.get());if(this.scope.value(B,{ref:F}),F.errors=null,F.schema=Q.schema,F.schemaEnv=Q,Q.$async)F.$async=!0;if(this.opts.code.source===!0)F.source={validateName:B,validateCode:V,scopeValues:G._values};if(this.opts.unevaluated){let{props:q,items:A}=z;if(F.evaluated={props:q instanceof E1.Name?void 0:q,items:A instanceof E1.Name?void 0:A,dynamicProps:q instanceof E1.Name,dynamicItems:A instanceof E1.Name},F.source)F.source.evaluated=(0,E1.stringify)(F.evaluated)}return Q.validate=F,Q}catch(V){if(delete Q.validate,delete Q.validateName,K)this.logger.error("Error compiling schema, function code:",K);throw V}finally{this._compilations.delete(Q)}}mz.compileSchema=a5;function bZ(Q,X,Y){var W;Y=(0,S1.resolveUrl)(this.opts.uriResolver,X,Y);let $=Q.refs[Y];if($)return $;let J=RZ.call(this,Q,Y);if(J===void 0){let G=(W=Q.localRefs)===null||W===void 0?void 0:W[Y],{schemaId:H}=this.opts;if(G)J=new G8({schema:G,schemaId:H,root:Q,baseId:X})}if(J===void 0)return;return Q.refs[Y]=PZ.call(this,J)}mz.resolveRef=bZ;function PZ(Q){if((0,S1.inlineRef)(Q.schema,this.opts.inlineRefs))return Q.schema;return Q.validate?Q:a5.call(this,Q)}function lz(Q){for(let X of this._compilations)if(ZZ(X,Q))return X}mz.getCompilingSchema=lz;function ZZ(Q,X){return Q.schema===X.schema&&Q.root===X.root&&Q.baseId===X.baseId}function RZ(Q,X){let Y;while(typeof(Y=this.refs[X])=="string")X=Y;return Y||this.schemas[X]||HX.call(this,Q,X)}function HX(Q,X){let Y=this.opts.uriResolver.parse(X),W=(0,S1._getFullPath)(this.opts.uriResolver,Y),$=(0,S1.getFullPath)(this.opts.uriResolver,Q.baseId,void 0);if(Object.keys(Q.schema).length>0&&W===$)return t5.call(this,Y,Q);let J=(0,S1.normalizeId)(W),G=this.refs[J]||this.schemas[J];if(typeof G=="string"){let H=HX.call(this,Q,G);if(typeof(H===null||H===void 0?void 0:H.schema)!=="object")return;return t5.call(this,Y,H)}if(typeof(G===null||G===void 0?void 0:G.schema)!=="object")return;if(!G.validate)a5.call(this,G);if(J===(0,S1.normalizeId)(X)){let{schema:H}=G,{schemaId:B}=this.opts,z=H[B];if(z)$=(0,S1.resolveUrl)(this.opts.uriResolver,$,z);return new G8({schema:H,schemaId:B,root:Q,baseId:$})}return t5.call(this,Y,G)}mz.resolveSchema=HX;var EZ=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function t5(Q,{baseId:X,schema:Y,root:W}){var $;if((($=Q.fragment)===null||$===void 0?void 0:$[0])!=="/")return;for(let H of Q.fragment.slice(1).split("/")){if(typeof Y==="boolean")return;let B=Y[(0,uz.unescapeFragment)(H)];if(B===void 0)return;Y=B;let z=typeof Y==="object"&&Y[this.opts.schemaId];if(!EZ.has(H)&&z)X=(0,S1.resolveUrl)(this.opts.uriResolver,X,z)}let J;if(typeof Y!="boolean"&&Y.$ref&&!(0,uz.schemaHasRulesButRef)(Y,this.RULES)){let H=(0,S1.resolveUrl)(this.opts.uriResolver,X,Y.$ref);J=HX.call(this,W,H)}let{schemaId:G}=this.opts;if(J=J||new G8({schema:Y,schemaId:G,root:W,baseId:X}),J.schema!==J.root.schema)return J;return}});var pz=w((Qc,kZ)=>{kZ.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var e5=w((Xc,oz)=>{var vZ=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),iz=RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);function s5(Q){let X="",Y=0,W=0;for(W=0;W<Q.length;W++){if(Y=Q[W].charCodeAt(0),Y===48)continue;if(!(Y>=48&&Y<=57||Y>=65&&Y<=70||Y>=97&&Y<=102))return"";X+=Q[W];break}for(W+=1;W<Q.length;W++){if(Y=Q[W].charCodeAt(0),!(Y>=48&&Y<=57||Y>=65&&Y<=70||Y>=97&&Y<=102))return"";X+=Q[W]}return X}var _Z=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function dz(Q){return Q.length=0,!0}function xZ(Q,X,Y){if(Q.length){let W=s5(Q);if(W!=="")X.push(W);else return Y.error=!0,!1;Q.length=0}return!0}function yZ(Q){let X=0,Y={error:!1,address:"",zone:""},W=[],$=[],J=!1,G=!1,H=xZ;for(let B=0;B<Q.length;B++){let z=Q[B];if(z==="["||z==="]")continue;if(z===":"){if(J===!0)G=!0;if(!H($,W,Y))break;if(++X>7){Y.error=!0;break}if(B>0&&Q[B-1]===":")J=!0;W.push(":");continue}else if(z==="%"){if(!H($,W,Y))break;H=dz}else{$.push(z);continue}}if($.length)if(H===dz)Y.zone=$.join("");else if(G)W.push($.join(""));else W.push(s5($));return Y.address=W.join(""),Y}function nz(Q){if(gZ(Q,":")<2)return{host:Q,isIPV6:!1};let X=yZ(Q);if(!X.error){let{address:Y,address:W}=X;if(X.zone)Y+="%"+X.zone,W+="%25"+X.zone;return{host:Y,isIPV6:!0,escapedHost:W}}else return{host:Q,isIPV6:!1}}function gZ(Q,X){let Y=0;for(let W=0;W<Q.length;W++)if(Q[W]===X)Y++;return Y}function fZ(Q){let X=Q,Y=[],W=-1,$=0;while($=X.length){if($===1)if(X===".")break;else if(X==="/"){Y.push("/");break}else{Y.push(X);break}else if($===2){if(X[0]==="."){if(X[1]===".")break;else if(X[1]==="/"){X=X.slice(2);continue}}else if(X[0]==="/"){if(X[1]==="."||X[1]==="/"){Y.push("/");break}}}else if($===3){if(X==="/.."){if(Y.length!==0)Y.pop();Y.push("/");break}}if(X[0]==="."){if(X[1]==="."){if(X[2]==="/"){X=X.slice(3);continue}}else if(X[1]==="/"){X=X.slice(2);continue}}else if(X[0]==="/"){if(X[1]==="."){if(X[2]==="/"){X=X.slice(2);continue}else if(X[2]==="."){if(X[3]==="/"){if(X=X.slice(3),Y.length!==0)Y.pop();continue}}}}if((W=X.indexOf("/",1))===-1){Y.push(X);break}else Y.push(X.slice(0,W)),X=X.slice(W)}return Y.join("")}function hZ(Q,X){let Y=X!==!0?escape:unescape;if(Q.scheme!==void 0)Q.scheme=Y(Q.scheme);if(Q.userinfo!==void 0)Q.userinfo=Y(Q.userinfo);if(Q.host!==void 0)Q.host=Y(Q.host);if(Q.path!==void 0)Q.path=Y(Q.path);if(Q.query!==void 0)Q.query=Y(Q.query);if(Q.fragment!==void 0)Q.fragment=Y(Q.fragment);return Q}function uZ(Q){let X=[];if(Q.userinfo!==void 0)X.push(Q.userinfo),X.push("@");if(Q.host!==void 0){let Y=unescape(Q.host);if(!iz(Y)){let W=nz(Y);if(W.isIPV6===!0)Y=`[${W.escapedHost}]`;else Y=Q.host}X.push(Y)}if(typeof Q.port==="number"||typeof Q.port==="string")X.push(":"),X.push(String(Q.port));return X.length?X.join(""):void 0}oz.exports={nonSimpleDomain:_Z,recomposeAuthority:uZ,normalizeComponentEncoding:hZ,removeDotSegments:fZ,isIPv4:iz,isUUID:vZ,normalizeIPv6:nz,stringArrayToHexStripped:s5}});var ez=w((Yc,sz)=>{var{isUUID:lZ}=e5(),mZ=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,cZ=["http","https","ws","wss","urn","urn:uuid"];function pZ(Q){return cZ.indexOf(Q)!==-1}function Q$(Q){if(Q.secure===!0)return!0;else if(Q.secure===!1)return!1;else if(Q.scheme)return Q.scheme.length===3&&(Q.scheme[0]==="w"||Q.scheme[0]==="W")&&(Q.scheme[1]==="s"||Q.scheme[1]==="S")&&(Q.scheme[2]==="s"||Q.scheme[2]==="S");else return!1}function rz(Q){if(!Q.host)Q.error=Q.error||"HTTP URIs must have a host.";return Q}function tz(Q){let X=String(Q.scheme).toLowerCase()==="https";if(Q.port===(X?443:80)||Q.port==="")Q.port=void 0;if(!Q.path)Q.path="/";return Q}function dZ(Q){return Q.secure=Q$(Q),Q.resourceName=(Q.path||"/")+(Q.query?"?"+Q.query:""),Q.path=void 0,Q.query=void 0,Q}function iZ(Q){if(Q.port===(Q$(Q)?443:80)||Q.port==="")Q.port=void 0;if(typeof Q.secure==="boolean")Q.scheme=Q.secure?"wss":"ws",Q.secure=void 0;if(Q.resourceName){let[X,Y]=Q.resourceName.split("?");Q.path=X&&X!=="/"?X:void 0,Q.query=Y,Q.resourceName=void 0}return Q.fragment=void 0,Q}function nZ(Q,X){if(!Q.path)return Q.error="URN can not be parsed",Q;let Y=Q.path.match(mZ);if(Y){let W=X.scheme||Q.scheme||"urn";Q.nid=Y[1].toLowerCase(),Q.nss=Y[2];let $=`${W}:${X.nid||Q.nid}`,J=X$($);if(Q.path=void 0,J)Q=J.parse(Q,X)}else Q.error=Q.error||"URN can not be parsed.";return Q}function oZ(Q,X){if(Q.nid===void 0)throw Error("URN without nid cannot be serialized");let Y=X.scheme||Q.scheme||"urn",W=Q.nid.toLowerCase(),$=`${Y}:${X.nid||W}`,J=X$($);if(J)Q=J.serialize(Q,X);let G=Q,H=Q.nss;return G.path=`${W||X.nid}:${H}`,X.skipEscape=!0,G}function rZ(Q,X){let Y=Q;if(Y.uuid=Y.nss,Y.nss=void 0,!X.tolerant&&(!Y.uuid||!lZ(Y.uuid)))Y.error=Y.error||"UUID is not valid.";return Y}function tZ(Q){let X=Q;return X.nss=(Q.uuid||"").toLowerCase(),X}var az={scheme:"http",domainHost:!0,parse:rz,serialize:tz},aZ={scheme:"https",domainHost:az.domainHost,parse:rz,serialize:tz},zX={scheme:"ws",domainHost:!0,parse:dZ,serialize:iZ},sZ={scheme:"wss",domainHost:zX.domainHost,parse:zX.parse,serialize:zX.serialize},eZ={scheme:"urn",parse:nZ,serialize:oZ,skipNormalize:!0},QR={scheme:"urn:uuid",parse:rZ,serialize:tZ,skipNormalize:!0},KX={http:az,https:aZ,ws:zX,wss:sZ,urn:eZ,"urn:uuid":QR};Object.setPrototypeOf(KX,null);function X$(Q){return Q&&(KX[Q]||KX[Q.toLowerCase()])||void 0}sz.exports={wsIsSecure:Q$,SCHEMES:KX,isValidSchemeName:pZ,getSchemeHandler:X$}});var W$=w((Wc,VX)=>{var{normalizeIPv6:XR,removeDotSegments:H8,recomposeAuthority:YR,normalizeComponentEncoding:FX,isIPv4:WR,nonSimpleDomain:$R}=e5(),{SCHEMES:JR,getSchemeHandler:QK}=ez();function GR(Q,X){if(typeof Q==="string")Q=p1(W6(Q,X),X);else if(typeof Q==="object")Q=W6(p1(Q,X),X);return Q}function HR(Q,X,Y){let W=Y?Object.assign({scheme:"null"},Y):{scheme:"null"},$=XK(W6(Q,W),W6(X,W),W,!0);return W.skipEscape=!0,p1($,W)}function XK(Q,X,Y,W){let $={};if(!W)Q=W6(p1(Q,Y),Y),X=W6(p1(X,Y),Y);if(Y=Y||{},!Y.tolerant&&X.scheme)$.scheme=X.scheme,$.userinfo=X.userinfo,$.host=X.host,$.port=X.port,$.path=H8(X.path||""),$.query=X.query;else{if(X.userinfo!==void 0||X.host!==void 0||X.port!==void 0)$.userinfo=X.userinfo,$.host=X.host,$.port=X.port,$.path=H8(X.path||""),$.query=X.query;else{if(!X.path)if($.path=Q.path,X.query!==void 0)$.query=X.query;else $.query=Q.query;else{if(X.path[0]==="/")$.path=H8(X.path);else{if((Q.userinfo!==void 0||Q.host!==void 0||Q.port!==void 0)&&!Q.path)$.path="/"+X.path;else if(!Q.path)$.path=X.path;else $.path=Q.path.slice(0,Q.path.lastIndexOf("/")+1)+X.path;$.path=H8($.path)}$.query=X.query}$.userinfo=Q.userinfo,$.host=Q.host,$.port=Q.port}$.scheme=Q.scheme}return $.fragment=X.fragment,$}function BR(Q,X,Y){if(typeof Q==="string")Q=unescape(Q),Q=p1(FX(W6(Q,Y),!0),{...Y,skipEscape:!0});else if(typeof Q==="object")Q=p1(FX(Q,!0),{...Y,skipEscape:!0});if(typeof X==="string")X=unescape(X),X=p1(FX(W6(X,Y),!0),{...Y,skipEscape:!0});else if(typeof X==="object")X=p1(FX(X,!0),{...Y,skipEscape:!0});return Q.toLowerCase()===X.toLowerCase()}function p1(Q,X){let Y={host:Q.host,scheme:Q.scheme,userinfo:Q.userinfo,port:Q.port,path:Q.path,query:Q.query,nid:Q.nid,nss:Q.nss,uuid:Q.uuid,fragment:Q.fragment,reference:Q.reference,resourceName:Q.resourceName,secure:Q.secure,error:""},W=Object.assign({},X),$=[],J=QK(W.scheme||Y.scheme);if(J&&J.serialize)J.serialize(Y,W);if(Y.path!==void 0)if(!W.skipEscape){if(Y.path=escape(Y.path),Y.scheme!==void 0)Y.path=Y.path.split("%3A").join(":")}else Y.path=unescape(Y.path);if(W.reference!=="suffix"&&Y.scheme)$.push(Y.scheme,":");let G=YR(Y);if(G!==void 0){if(W.reference!=="suffix")$.push("//");if($.push(G),Y.path&&Y.path[0]!=="/")$.push("/")}if(Y.path!==void 0){let H=Y.path;if(!W.absolutePath&&(!J||!J.absolutePath))H=H8(H);if(G===void 0&&H[0]==="/"&&H[1]==="/")H="/%2F"+H.slice(2);$.push(H)}if(Y.query!==void 0)$.push("?",Y.query);if(Y.fragment!==void 0)$.push("#",Y.fragment);return $.join("")}var zR=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function W6(Q,X){let Y=Object.assign({},X),W={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},$=!1;if(Y.reference==="suffix")if(Y.scheme)Q=Y.scheme+":"+Q;else Q="//"+Q;let J=Q.match(zR);if(J){if(W.scheme=J[1],W.userinfo=J[3],W.host=J[4],W.port=parseInt(J[5],10),W.path=J[6]||"",W.query=J[7],W.fragment=J[8],isNaN(W.port))W.port=J[5];if(W.host)if(WR(W.host)===!1){let B=XR(W.host);W.host=B.host.toLowerCase(),$=B.isIPV6}else $=!0;if(W.scheme===void 0&&W.userinfo===void 0&&W.host===void 0&&W.port===void 0&&W.query===void 0&&!W.path)W.reference="same-document";else if(W.scheme===void 0)W.reference="relative";else if(W.fragment===void 0)W.reference="absolute";else W.reference="uri";if(Y.reference&&Y.reference!=="suffix"&&Y.reference!==W.reference)W.error=W.error||"URI is not a "+Y.reference+" reference.";let G=QK(Y.scheme||W.scheme);if(!Y.unicodeSupport&&(!G||!G.unicodeSupport)){if(W.host&&(Y.domainHost||G&&G.domainHost)&&$===!1&&$R(W.host))try{W.host=URL.domainToASCII(W.host.toLowerCase())}catch(H){W.error=W.error||"Host's domain name can not be converted to ASCII: "+H}}if(!G||G&&!G.skipNormalize){if(Q.indexOf("%")!==-1){if(W.scheme!==void 0)W.scheme=unescape(W.scheme);if(W.host!==void 0)W.host=unescape(W.host)}if(W.path)W.path=escape(unescape(W.path));if(W.fragment)W.fragment=encodeURI(decodeURIComponent(W.fragment))}if(G&&G.parse)G.parse(W,Y)}else W.error=W.error||"URI can not be parsed.";return W}var Y$={SCHEMES:JR,normalize:GR,resolve:HR,resolveComponent:XK,equal:BR,serialize:p1,parse:W6};VX.exports=Y$;VX.exports.default=Y$;VX.exports.fastUri=Y$});var $K=w((WK)=>{Object.defineProperty(WK,"__esModule",{value:!0});var YK=W$();YK.code='require("ajv/dist/runtime/uri").default';WK.default=YK});var VK=w(($6)=>{Object.defineProperty($6,"__esModule",{value:!0});$6.CodeGen=$6.Name=$6.nil=$6.stringify=$6.str=$6._=$6.KeywordCxt=void 0;var FR=$8();Object.defineProperty($6,"KeywordCxt",{enumerable:!0,get:function(){return FR.KeywordCxt}});var c9=r();Object.defineProperty($6,"_",{enumerable:!0,get:function(){return c9._}});Object.defineProperty($6,"str",{enumerable:!0,get:function(){return c9.str}});Object.defineProperty($6,"stringify",{enumerable:!0,get:function(){return c9.stringify}});Object.defineProperty($6,"nil",{enumerable:!0,get:function(){return c9.nil}});Object.defineProperty($6,"Name",{enumerable:!0,get:function(){return c9.Name}});Object.defineProperty($6,"CodeGen",{enumerable:!0,get:function(){return c9.CodeGen}});var VR=GX(),zK=J8(),qR=y5(),B8=BX(),AR=r(),z8=X8(),qX=e4(),J$=W0(),JK=pz(),DR=$K(),KK=(Q,X)=>new RegExp(Q,X);KK.code="new RegExp";var LR=["removeAdditional","useDefaults","coerceTypes"],OR=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),UR={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},jR={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},GK=200;function wR(Q){var X,Y,W,$,J,G,H,B,z,K,V,D,F,q,A,L,O,M,N,C,Z,K0,P0,g1,g6;let L1=Q.strict,f6=(X=Q.code)===null||X===void 0?void 0:X.optimize,z4=f6===!0||f6===void 0?1:f6||0,K4=(W=(Y=Q.code)===null||Y===void 0?void 0:Y.regExp)!==null&&W!==void 0?W:KK,IY=($=Q.uriResolver)!==null&&$!==void 0?$:DR.default;return{strictSchema:(G=(J=Q.strictSchema)!==null&&J!==void 0?J:L1)!==null&&G!==void 0?G:!0,strictNumbers:(B=(H=Q.strictNumbers)!==null&&H!==void 0?H:L1)!==null&&B!==void 0?B:!0,strictTypes:(K=(z=Q.strictTypes)!==null&&z!==void 0?z:L1)!==null&&K!==void 0?K:"log",strictTuples:(D=(V=Q.strictTuples)!==null&&V!==void 0?V:L1)!==null&&D!==void 0?D:"log",strictRequired:(q=(F=Q.strictRequired)!==null&&F!==void 0?F:L1)!==null&&q!==void 0?q:!1,code:Q.code?{...Q.code,optimize:z4,regExp:K4}:{optimize:z4,regExp:K4},loopRequired:(A=Q.loopRequired)!==null&&A!==void 0?A:GK,loopEnum:(L=Q.loopEnum)!==null&&L!==void 0?L:GK,meta:(O=Q.meta)!==null&&O!==void 0?O:!0,messages:(M=Q.messages)!==null&&M!==void 0?M:!0,inlineRefs:(N=Q.inlineRefs)!==null&&N!==void 0?N:!0,schemaId:(C=Q.schemaId)!==null&&C!==void 0?C:"$id",addUsedSchema:(Z=Q.addUsedSchema)!==null&&Z!==void 0?Z:!0,validateSchema:(K0=Q.validateSchema)!==null&&K0!==void 0?K0:!0,validateFormats:(P0=Q.validateFormats)!==null&&P0!==void 0?P0:!0,unicodeRegExp:(g1=Q.unicodeRegExp)!==null&&g1!==void 0?g1:!0,int32range:(g6=Q.int32range)!==null&&g6!==void 0?g6:!0,uriResolver:IY}}class AX{constructor(Q={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,Q=this.opts={...Q,...wR(Q)};let{es5:X,lines:Y}=this.opts.code;this.scope=new AR.ValueScope({scope:{},prefixes:OR,es5:X,lines:Y}),this.logger=RR(Q.logger);let W=Q.validateFormats;if(Q.validateFormats=!1,this.RULES=(0,qR.getRules)(),HK.call(this,UR,Q,"NOT SUPPORTED"),HK.call(this,jR,Q,"DEPRECATED","warn"),this._metaOpts=PR.call(this),Q.formats)NR.call(this);if(this._addVocabularies(),this._addDefaultMetaSchema(),Q.keywords)bR.call(this,Q.keywords);if(typeof Q.meta=="object")this.addMetaSchema(Q.meta);MR.call(this),Q.validateFormats=W}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:Q,meta:X,schemaId:Y}=this.opts,W=JK;if(Y==="id")W={...JK},W.id=W.$id,delete W.$id;if(X&&Q)this.addMetaSchema(W,W[Y],!1)}defaultMeta(){let{meta:Q,schemaId:X}=this.opts;return this.opts.defaultMeta=typeof Q=="object"?Q[X]||Q:void 0}validate(Q,X){let Y;if(typeof Q=="string"){if(Y=this.getSchema(Q),!Y)throw Error(`no schema with key or ref "${Q}"`)}else Y=this.compile(Q);let W=Y(X);if(!("$async"in Y))this.errors=Y.errors;return W}compile(Q,X){let Y=this._addSchema(Q,X);return Y.validate||this._compileSchemaEnv(Y)}compileAsync(Q,X){if(typeof this.opts.loadSchema!="function")throw Error("options.loadSchema should be a function");let{loadSchema:Y}=this.opts;return W.call(this,Q,X);async function W(z,K){await $.call(this,z.$schema);let V=this._addSchema(z,K);return V.validate||J.call(this,V)}async function $(z){if(z&&!this.getSchema(z))await W.call(this,{$ref:z},!0)}async function J(z){try{return this._compileSchemaEnv(z)}catch(K){if(!(K instanceof zK.default))throw K;return G.call(this,K),await H.call(this,K.missingSchema),J.call(this,z)}}function G({missingSchema:z,missingRef:K}){if(this.refs[z])throw Error(`AnySchema ${z} is loaded but ${K} cannot be resolved`)}async function H(z){let K=await B.call(this,z);if(!this.refs[z])await $.call(this,K.$schema);if(!this.refs[z])this.addSchema(K,z,X)}async function B(z){let K=this._loading[z];if(K)return K;try{return await(this._loading[z]=Y(z))}finally{delete this._loading[z]}}}addSchema(Q,X,Y,W=this.opts.validateSchema){if(Array.isArray(Q)){for(let J of Q)this.addSchema(J,void 0,Y,W);return this}let $;if(typeof Q==="object"){let{schemaId:J}=this.opts;if($=Q[J],$!==void 0&&typeof $!="string")throw Error(`schema ${J} must be string`)}return X=(0,z8.normalizeId)(X||$),this._checkUnique(X),this.schemas[X]=this._addSchema(Q,Y,X,W,!0),this}addMetaSchema(Q,X,Y=this.opts.validateSchema){return this.addSchema(Q,X,!0,Y),this}validateSchema(Q,X){if(typeof Q=="boolean")return!0;let Y;if(Y=Q.$schema,Y!==void 0&&typeof Y!="string")throw Error("$schema must be a string");if(Y=Y||this.opts.defaultMeta||this.defaultMeta(),!Y)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let W=this.validate(Y,Q);if(!W&&X){let $="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error($);else throw Error($)}return W}getSchema(Q){let X;while(typeof(X=BK.call(this,Q))=="string")Q=X;if(X===void 0){let{schemaId:Y}=this.opts,W=new B8.SchemaEnv({schema:{},schemaId:Y});if(X=B8.resolveSchema.call(this,W,Q),!X)return;this.refs[Q]=X}return X.validate||this._compileSchemaEnv(X)}removeSchema(Q){if(Q instanceof RegExp)return this._removeAllSchemas(this.schemas,Q),this._removeAllSchemas(this.refs,Q),this;switch(typeof Q){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let X=BK.call(this,Q);if(typeof X=="object")this._cache.delete(X.schema);return delete this.schemas[Q],delete this.refs[Q],this}case"object":{let X=Q;this._cache.delete(X);let Y=Q[this.opts.schemaId];if(Y)Y=(0,z8.normalizeId)(Y),delete this.schemas[Y],delete this.refs[Y];return this}default:throw Error("ajv.removeSchema: invalid parameter")}}addVocabulary(Q){for(let X of Q)this.addKeyword(X);return this}addKeyword(Q,X){let Y;if(typeof Q=="string"){if(Y=Q,typeof X=="object")this.logger.warn("these parameters are deprecated, see docs for addKeyword"),X.keyword=Y}else if(typeof Q=="object"&&X===void 0){if(X=Q,Y=X.keyword,Array.isArray(Y)&&!Y.length)throw Error("addKeywords: keyword must be string or non-empty array")}else throw Error("invalid addKeywords parameters");if(SR.call(this,Y,X),!X)return(0,J$.eachItem)(Y,($)=>$$.call(this,$)),this;TR.call(this,X);let W={...X,type:(0,qX.getJSONTypes)(X.type),schemaType:(0,qX.getJSONTypes)(X.schemaType)};return(0,J$.eachItem)(Y,W.type.length===0?($)=>$$.call(this,$,W):($)=>W.type.forEach((J)=>$$.call(this,$,W,J))),this}getKeyword(Q){let X=this.RULES.all[Q];return typeof X=="object"?X.definition:!!X}removeKeyword(Q){let{RULES:X}=this;delete X.keywords[Q],delete X.all[Q];for(let Y of X.rules){let W=Y.rules.findIndex(($)=>$.keyword===Q);if(W>=0)Y.rules.splice(W,1)}return this}addFormat(Q,X){if(typeof X=="string")X=new RegExp(X);return this.formats[Q]=X,this}errorsText(Q=this.errors,{separator:X=", ",dataVar:Y="data"}={}){if(!Q||Q.length===0)return"No errors";return Q.map((W)=>`${Y}${W.instancePath} ${W.message}`).reduce((W,$)=>W+X+$)}$dataMetaSchema(Q,X){let Y=this.RULES.all;Q=JSON.parse(JSON.stringify(Q));for(let W of X){let $=W.split("/").slice(1),J=Q;for(let G of $)J=J[G];for(let G in Y){let H=Y[G];if(typeof H!="object")continue;let{$data:B}=H.definition,z=J[G];if(B&&z)J[G]=FK(z)}}return Q}_removeAllSchemas(Q,X){for(let Y in Q){let W=Q[Y];if(!X||X.test(Y)){if(typeof W=="string")delete Q[Y];else if(W&&!W.meta)this._cache.delete(W.schema),delete Q[Y]}}}_addSchema(Q,X,Y,W=this.opts.validateSchema,$=this.opts.addUsedSchema){let J,{schemaId:G}=this.opts;if(typeof Q=="object")J=Q[G];else if(this.opts.jtd)throw Error("schema must be object");else if(typeof Q!="boolean")throw Error("schema must be object or boolean");let H=this._cache.get(Q);if(H!==void 0)return H;Y=(0,z8.normalizeId)(J||Y);let B=z8.getSchemaRefs.call(this,Q,Y);if(H=new B8.SchemaEnv({schema:Q,schemaId:G,meta:X,baseId:Y,localRefs:B}),this._cache.set(H.schema,H),$&&!Y.startsWith("#")){if(Y)this._checkUnique(Y);this.refs[Y]=H}if(W)this.validateSchema(Q,!0);return H}_checkUnique(Q){if(this.schemas[Q]||this.refs[Q])throw Error(`schema with key or id "${Q}" already exists`)}_compileSchemaEnv(Q){if(Q.meta)this._compileMetaSchema(Q);else B8.compileSchema.call(this,Q);if(!Q.validate)throw Error("ajv implementation error");return Q.validate}_compileMetaSchema(Q){let X=this.opts;this.opts=this._metaOpts;try{B8.compileSchema.call(this,Q)}finally{this.opts=X}}}AX.ValidationError=VR.default;AX.MissingRefError=zK.default;$6.default=AX;function HK(Q,X,Y,W="error"){for(let $ in Q){let J=$;if(J in X)this.logger[W](`${Y}: option ${$}. ${Q[J]}`)}}function BK(Q){return Q=(0,z8.normalizeId)(Q),this.schemas[Q]||this.refs[Q]}function MR(){let Q=this.opts.schemas;if(!Q)return;if(Array.isArray(Q))this.addSchema(Q);else for(let X in Q)this.addSchema(Q[X],X)}function NR(){for(let Q in this.opts.formats){let X=this.opts.formats[Q];if(X)this.addFormat(Q,X)}}function bR(Q){if(Array.isArray(Q)){this.addVocabulary(Q);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let X in Q){let Y=Q[X];if(!Y.keyword)Y.keyword=X;this.addKeyword(Y)}}function PR(){let Q={...this.opts};for(let X of LR)delete Q[X];return Q}var ZR={log(){},warn(){},error(){}};function RR(Q){if(Q===!1)return ZR;if(Q===void 0)return console;if(Q.log&&Q.warn&&Q.error)return Q;throw Error("logger must implement log, warn and error methods")}var ER=/^[a-z_$][a-z0-9_$:-]*$/i;function SR(Q,X){let{RULES:Y}=this;if((0,J$.eachItem)(Q,(W)=>{if(Y.keywords[W])throw Error(`Keyword ${W} is already defined`);if(!ER.test(W))throw Error(`Keyword ${W} has invalid name`)}),!X)return;if(X.$data&&!(("code"in X)||("validate"in X)))throw Error('$data keyword must have "code" or "validate" function')}function $$(Q,X,Y){var W;let $=X===null||X===void 0?void 0:X.post;if(Y&&$)throw Error('keyword with "post" flag cannot have "type"');let{RULES:J}=this,G=$?J.post:J.rules.find(({type:B})=>B===Y);if(!G)G={type:Y,rules:[]},J.rules.push(G);if(J.keywords[Q]=!0,!X)return;let H={keyword:Q,definition:{...X,type:(0,qX.getJSONTypes)(X.type),schemaType:(0,qX.getJSONTypes)(X.schemaType)}};if(X.before)IR.call(this,G,H,X.before);else G.rules.push(H);J.all[Q]=H,(W=X.implements)===null||W===void 0||W.forEach((B)=>this.addKeyword(B))}function IR(Q,X,Y){let W=Q.rules.findIndex(($)=>$.keyword===Y);if(W>=0)Q.rules.splice(W,0,X);else Q.rules.push(X),this.logger.warn(`rule ${Y} is not defined`)}function TR(Q){let{metaSchema:X}=Q;if(X===void 0)return;if(Q.$data&&this.opts.$data)X=FK(X);Q.validateSchema=this.compile(X,!0)}var CR={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function FK(Q){return{anyOf:[Q,CR]}}});var AK=w((qK)=>{Object.defineProperty(qK,"__esModule",{value:!0});var _R={keyword:"id",code(){throw Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};qK.default=_R});var wK=w((UK)=>{Object.defineProperty(UK,"__esModule",{value:!0});UK.callRef=UK.getValidate=void 0;var yR=J8(),DK=V1(),Y1=r(),p9=X6(),LK=BX(),DX=W0(),gR={keyword:"$ref",schemaType:"string",code(Q){let{gen:X,schema:Y,it:W}=Q,{baseId:$,schemaEnv:J,validateName:G,opts:H,self:B}=W,{root:z}=J;if((Y==="#"||Y==="#/")&&$===z.baseId)return V();let K=LK.resolveRef.call(B,z,$,Y);if(K===void 0)throw new yR.default(W.opts.uriResolver,$,Y);if(K instanceof LK.SchemaEnv)return D(K);return F(K);function V(){if(J===z)return LX(Q,G,J,J.$async);let q=X.scopeValue("root",{ref:z});return LX(Q,Y1._`${q}.validate`,z,z.$async)}function D(q){let A=OK(Q,q);LX(Q,A,q,q.$async)}function F(q){let A=X.scopeValue("schema",H.code.source===!0?{ref:q,code:(0,Y1.stringify)(q)}:{ref:q}),L=X.name("valid"),O=Q.subschema({schema:q,dataTypes:[],schemaPath:Y1.nil,topSchemaRef:A,errSchemaPath:Y},L);Q.mergeEvaluated(O),Q.ok(L)}}};function OK(Q,X){let{gen:Y}=Q;return X.validate?Y.scopeValue("validate",{ref:X.validate}):Y1._`${Y.scopeValue("wrapper",{ref:X})}.validate`}UK.getValidate=OK;function LX(Q,X,Y,W){let{gen:$,it:J}=Q,{allErrors:G,schemaEnv:H,opts:B}=J,z=B.passContext?p9.default.this:Y1.nil;if(W)K();else V();function K(){if(!H.$async)throw Error("async schema referenced by sync schema");let q=$.let("valid");$.try(()=>{if($.code(Y1._`await ${(0,DK.callValidateCode)(Q,X,z)}`),F(X),!G)$.assign(q,!0)},(A)=>{if($.if(Y1._`!(${A} instanceof ${J.ValidationError})`,()=>$.throw(A)),D(A),!G)$.assign(q,!1)}),Q.ok(q)}function V(){Q.result((0,DK.callValidateCode)(Q,X,z),()=>F(X),()=>D(X))}function D(q){let A=Y1._`${q}.errors`;$.assign(p9.default.vErrors,Y1._`${p9.default.vErrors} === null ? ${A} : ${p9.default.vErrors}.concat(${A})`),$.assign(p9.default.errors,Y1._`${p9.default.vErrors}.length`)}function F(q){var A;if(!J.opts.unevaluated)return;let L=(A=Y===null||Y===void 0?void 0:Y.validate)===null||A===void 0?void 0:A.evaluated;if(J.props!==!0)if(L&&!L.dynamicProps){if(L.props!==void 0)J.props=DX.mergeEvaluated.props($,L.props,J.props)}else{let O=$.var("props",Y1._`${q}.evaluated.props`);J.props=DX.mergeEvaluated.props($,O,J.props,Y1.Name)}if(J.items!==!0)if(L&&!L.dynamicItems){if(L.items!==void 0)J.items=DX.mergeEvaluated.items($,L.items,J.items)}else{let O=$.var("items",Y1._`${q}.evaluated.items`);J.items=DX.mergeEvaluated.items($,O,J.items,Y1.Name)}}}UK.callRef=LX;UK.default=gR});var NK=w((MK)=>{Object.defineProperty(MK,"__esModule",{value:!0});var uR=AK(),lR=wK(),mR=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",uR.default,lR.default];MK.default=mR});var PK=w((bK)=>{Object.defineProperty(bK,"__esModule",{value:!0});var OX=r(),R6=OX.operators,UX={maximum:{okStr:"<=",ok:R6.LTE,fail:R6.GT},minimum:{okStr:">=",ok:R6.GTE,fail:R6.LT},exclusiveMaximum:{okStr:"<",ok:R6.LT,fail:R6.GTE},exclusiveMinimum:{okStr:">",ok:R6.GT,fail:R6.LTE}},pR={message:({keyword:Q,schemaCode:X})=>OX.str`must be ${UX[Q].okStr} ${X}`,params:({keyword:Q,schemaCode:X})=>OX._`{comparison: ${UX[Q].okStr}, limit: ${X}}`},dR={keyword:Object.keys(UX),type:"number",schemaType:"number",$data:!0,error:pR,code(Q){let{keyword:X,data:Y,schemaCode:W}=Q;Q.fail$data(OX._`${Y} ${UX[X].fail} ${W} || isNaN(${Y})`)}};bK.default=dR});var RK=w((ZK)=>{Object.defineProperty(ZK,"__esModule",{value:!0});var K8=r(),nR={message:({schemaCode:Q})=>K8.str`must be multiple of ${Q}`,params:({schemaCode:Q})=>K8._`{multipleOf: ${Q}}`},oR={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:nR,code(Q){let{gen:X,data:Y,schemaCode:W,it:$}=Q,J=$.opts.multipleOfPrecision,G=X.let("res"),H=J?K8._`Math.abs(Math.round(${G}) - ${G}) > 1e-${J}`:K8._`${G} !== parseInt(${G})`;Q.fail$data(K8._`(${W} === 0 || (${G} = ${Y}/${W}, ${H}))`)}};ZK.default=oR});var IK=w((SK)=>{Object.defineProperty(SK,"__esModule",{value:!0});function EK(Q){let X=Q.length,Y=0,W=0,$;while(W<X)if(Y++,$=Q.charCodeAt(W++),$>=55296&&$<=56319&&W<X){if($=Q.charCodeAt(W),($&64512)===56320)W++}return Y}SK.default=EK;EK.code='require("ajv/dist/runtime/ucs2length").default'});var CK=w((TK)=>{Object.defineProperty(TK,"__esModule",{value:!0});var X9=r(),aR=W0(),sR=IK(),eR={message({keyword:Q,schemaCode:X}){let Y=Q==="maxLength"?"more":"fewer";return X9.str`must NOT have ${Y} than ${X} characters`},params:({schemaCode:Q})=>X9._`{limit: ${Q}}`},QE={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:eR,code(Q){let{keyword:X,data:Y,schemaCode:W,it:$}=Q,J=X==="maxLength"?X9.operators.GT:X9.operators.LT,G=$.opts.unicode===!1?X9._`${Y}.length`:X9._`${(0,aR.useFunc)(Q.gen,sR.default)}(${Y})`;Q.fail$data(X9._`${G} ${J} ${W}`)}};TK.default=QE});var vK=w((kK)=>{Object.defineProperty(kK,"__esModule",{value:!0});var YE=V1(),jX=r(),WE={message:({schemaCode:Q})=>jX.str`must match pattern "${Q}"`,params:({schemaCode:Q})=>jX._`{pattern: ${Q}}`},$E={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:WE,code(Q){let{data:X,$data:Y,schema:W,schemaCode:$,it:J}=Q,G=J.opts.unicodeRegExp?"u":"",H=Y?jX._`(new RegExp(${$}, ${G}))`:(0,YE.usePattern)(Q,W);Q.fail$data(jX._`!${H}.test(${X})`)}};kK.default=$E});var xK=w((_K)=>{Object.defineProperty(_K,"__esModule",{value:!0});var F8=r(),GE={message({keyword:Q,schemaCode:X}){let Y=Q==="maxProperties"?"more":"fewer";return F8.str`must NOT have ${Y} than ${X} properties`},params:({schemaCode:Q})=>F8._`{limit: ${Q}}`},HE={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:GE,code(Q){let{keyword:X,data:Y,schemaCode:W}=Q,$=X==="maxProperties"?F8.operators.GT:F8.operators.LT;Q.fail$data(F8._`Object.keys(${Y}).length ${$} ${W}`)}};_K.default=HE});var gK=w((yK)=>{Object.defineProperty(yK,"__esModule",{value:!0});var V8=V1(),q8=r(),zE=W0(),KE={message:({params:{missingProperty:Q}})=>q8.str`must have required property '${Q}'`,params:({params:{missingProperty:Q}})=>q8._`{missingProperty: ${Q}}`},FE={keyword:"required",type:"object",schemaType:"array",$data:!0,error:KE,code(Q){let{gen:X,schema:Y,schemaCode:W,data:$,$data:J,it:G}=Q,{opts:H}=G;if(!J&&Y.length===0)return;let B=Y.length>=H.loopRequired;if(G.allErrors)z();else K();if(H.strictRequired){let F=Q.parentSchema.properties,{definedProperties:q}=Q.it;for(let A of Y)if((F===null||F===void 0?void 0:F[A])===void 0&&!q.has(A)){let L=G.schemaEnv.baseId+G.errSchemaPath,O=`required property "${A}" is not defined at "${L}" (strictRequired)`;(0,zE.checkStrictMode)(G,O,G.opts.strictRequired)}}function z(){if(B||J)Q.block$data(q8.nil,V);else for(let F of Y)(0,V8.checkReportMissingProp)(Q,F)}function K(){let F=X.let("missing");if(B||J){let q=X.let("valid",!0);Q.block$data(q,()=>D(F,q)),Q.ok(q)}else X.if((0,V8.checkMissingProp)(Q,Y,F)),(0,V8.reportMissingProp)(Q,F),X.else()}function V(){X.forOf("prop",W,(F)=>{Q.setParams({missingProperty:F}),X.if((0,V8.noPropertyInData)(X,$,F,H.ownProperties),()=>Q.error())})}function D(F,q){Q.setParams({missingProperty:F}),X.forOf(F,W,()=>{X.assign(q,(0,V8.propertyInData)(X,$,F,H.ownProperties)),X.if((0,q8.not)(q),()=>{Q.error(),X.break()})},q8.nil)}}};yK.default=FE});var hK=w((fK)=>{Object.defineProperty(fK,"__esModule",{value:!0});var A8=r(),qE={message({keyword:Q,schemaCode:X}){let Y=Q==="maxItems"?"more":"fewer";return A8.str`must NOT have ${Y} than ${X} items`},params:({schemaCode:Q})=>A8._`{limit: ${Q}}`},AE={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:qE,code(Q){let{keyword:X,data:Y,schemaCode:W}=Q,$=X==="maxItems"?A8.operators.GT:A8.operators.LT;Q.fail$data(A8._`${Y}.length ${$} ${W}`)}};fK.default=AE});var wX=w((lK)=>{Object.defineProperty(lK,"__esModule",{value:!0});var uK=Q8();uK.code='require("ajv/dist/runtime/equal").default';lK.default=uK});var cK=w((mK)=>{Object.defineProperty(mK,"__esModule",{value:!0});var G$=e4(),y0=r(),OE=W0(),UE=wX(),jE={message:({params:{i:Q,j:X}})=>y0.str`must NOT have duplicate items (items ## ${X} and ${Q} are identical)`,params:({params:{i:Q,j:X}})=>y0._`{i: ${Q}, j: ${X}}`},wE={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:jE,code(Q){let{gen:X,data:Y,$data:W,schema:$,parentSchema:J,schemaCode:G,it:H}=Q;if(!W&&!$)return;let B=X.let("valid"),z=J.items?(0,G$.getSchemaTypes)(J.items):[];Q.block$data(B,K,y0._`${G} === false`),Q.ok(B);function K(){let q=X.let("i",y0._`${Y}.length`),A=X.let("j");Q.setParams({i:q,j:A}),X.assign(B,!0),X.if(y0._`${q} > 1`,()=>(V()?D:F)(q,A))}function V(){return z.length>0&&!z.some((q)=>q==="object"||q==="array")}function D(q,A){let L=X.name("item"),O=(0,G$.checkDataTypes)(z,L,H.opts.strictNumbers,G$.DataType.Wrong),M=X.const("indices",y0._`{}`);X.for(y0._`;${q}--;`,()=>{if(X.let(L,y0._`${Y}[${q}]`),X.if(O,y0._`continue`),z.length>1)X.if(y0._`typeof ${L} == "string"`,y0._`${L} += "_"`);X.if(y0._`typeof ${M}[${L}] == "number"`,()=>{X.assign(A,y0._`${M}[${L}]`),Q.error(),X.assign(B,!1).break()}).code(y0._`${M}[${L}] = ${q}`)})}function F(q,A){let L=(0,OE.useFunc)(X,UE.default),O=X.name("outer");X.label(O).for(y0._`;${q}--;`,()=>X.for(y0._`${A} = ${q}; ${A}--;`,()=>X.if(y0._`${L}(${Y}[${q}], ${Y}[${A}])`,()=>{Q.error(),X.assign(B,!1).break(O)})))}}};mK.default=wE});var dK=w((pK)=>{Object.defineProperty(pK,"__esModule",{value:!0});var H$=r(),NE=W0(),bE=wX(),PE={message:"must be equal to constant",params:({schemaCode:Q})=>H$._`{allowedValue: ${Q}}`},ZE={keyword:"const",$data:!0,error:PE,code(Q){let{gen:X,data:Y,$data:W,schemaCode:$,schema:J}=Q;if(W||J&&typeof J=="object")Q.fail$data(H$._`!${(0,NE.useFunc)(X,bE.default)}(${Y}, ${$})`);else Q.fail(H$._`${J} !== ${Y}`)}};pK.default=ZE});var nK=w((iK)=>{Object.defineProperty(iK,"__esModule",{value:!0});var D8=r(),EE=W0(),SE=wX(),IE={message:"must be equal to one of the allowed values",params:({schemaCode:Q})=>D8._`{allowedValues: ${Q}}`},TE={keyword:"enum",schemaType:"array",$data:!0,error:IE,code(Q){let{gen:X,data:Y,$data:W,schema:$,schemaCode:J,it:G}=Q;if(!W&&$.length===0)throw Error("enum must have non-empty array");let H=$.length>=G.opts.loopEnum,B,z=()=>B!==null&&B!==void 0?B:B=(0,EE.useFunc)(X,SE.default),K;if(H||W)K=X.let("valid"),Q.block$data(K,V);else{if(!Array.isArray($))throw Error("ajv implementation error");let F=X.const("vSchema",J);K=(0,D8.or)(...$.map((q,A)=>D(F,A)))}Q.pass(K);function V(){X.assign(K,!1),X.forOf("v",J,(F)=>X.if(D8._`${z()}(${Y}, ${F})`,()=>X.assign(K,!0).break()))}function D(F,q){let A=$[q];return typeof A==="object"&&A!==null?D8._`${z()}(${Y}, ${F}[${q}])`:D8._`${Y} === ${A}`}}};iK.default=TE});var rK=w((oK)=>{Object.defineProperty(oK,"__esModule",{value:!0});var kE=PK(),vE=RK(),_E=CK(),xE=vK(),yE=xK(),gE=gK(),fE=hK(),hE=cK(),uE=dK(),lE=nK(),mE=[kE.default,vE.default,_E.default,xE.default,yE.default,gE.default,fE.default,hE.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},uE.default,lE.default];oK.default=mE});var z$=w((aK)=>{Object.defineProperty(aK,"__esModule",{value:!0});aK.validateAdditionalItems=void 0;var Y9=r(),B$=W0(),pE={message:({params:{len:Q}})=>Y9.str`must NOT have more than ${Q} items`,params:({params:{len:Q}})=>Y9._`{limit: ${Q}}`},dE={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:pE,code(Q){let{parentSchema:X,it:Y}=Q,{items:W}=X;if(!Array.isArray(W)){(0,B$.checkStrictMode)(Y,'"additionalItems" is ignored when "items" is not an array of schemas');return}tK(Q,W)}};function tK(Q,X){let{gen:Y,schema:W,data:$,keyword:J,it:G}=Q;G.items=!0;let H=Y.const("len",Y9._`${$}.length`);if(W===!1)Q.setParams({len:X.length}),Q.pass(Y9._`${H} <= ${X.length}`);else if(typeof W=="object"&&!(0,B$.alwaysValidSchema)(G,W)){let z=Y.var("valid",Y9._`${H} <= ${X.length}`);Y.if((0,Y9.not)(z),()=>B(z)),Q.ok(z)}function B(z){Y.forRange("i",X.length,H,(K)=>{if(Q.subschema({keyword:J,dataProp:K,dataPropType:B$.Type.Num},z),!G.allErrors)Y.if((0,Y9.not)(z),()=>Y.break())})}}aK.validateAdditionalItems=tK;aK.default=dE});var K$=w((XF)=>{Object.defineProperty(XF,"__esModule",{value:!0});XF.validateTuple=void 0;var eK=r(),MX=W0(),nE=V1(),oE={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(Q){let{schema:X,it:Y}=Q;if(Array.isArray(X))return QF(Q,"additionalItems",X);if(Y.items=!0,(0,MX.alwaysValidSchema)(Y,X))return;Q.ok((0,nE.validateArray)(Q))}};function QF(Q,X,Y=Q.schema){let{gen:W,parentSchema:$,data:J,keyword:G,it:H}=Q;if(K($),H.opts.unevaluated&&Y.length&&H.items!==!0)H.items=MX.mergeEvaluated.items(W,Y.length,H.items);let B=W.name("valid"),z=W.const("len",eK._`${J}.length`);Y.forEach((V,D)=>{if((0,MX.alwaysValidSchema)(H,V))return;W.if(eK._`${z} > ${D}`,()=>Q.subschema({keyword:G,schemaProp:D,dataProp:D},B)),Q.ok(B)});function K(V){let{opts:D,errSchemaPath:F}=H,q=Y.length,A=q===V.minItems&&(q===V.maxItems||V[X]===!1);if(D.strictTuples&&!A){let L=`"${G}" is ${q}-tuple, but minItems or maxItems/${X} are not specified or different at path "${F}"`;(0,MX.checkStrictMode)(H,L,D.strictTuples)}}}XF.validateTuple=QF;XF.default=oE});var $F=w((WF)=>{Object.defineProperty(WF,"__esModule",{value:!0});var tE=K$(),aE={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:(Q)=>(0,tE.validateTuple)(Q,"items")};WF.default=aE});var HF=w((GF)=>{Object.defineProperty(GF,"__esModule",{value:!0});var JF=r(),eE=W0(),QS=V1(),XS=z$(),YS={message:({params:{len:Q}})=>JF.str`must NOT have more than ${Q} items`,params:({params:{len:Q}})=>JF._`{limit: ${Q}}`},WS={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:YS,code(Q){let{schema:X,parentSchema:Y,it:W}=Q,{prefixItems:$}=Y;if(W.items=!0,(0,eE.alwaysValidSchema)(W,X))return;if($)(0,XS.validateAdditionalItems)(Q,$);else Q.ok((0,QS.validateArray)(Q))}};GF.default=WS});var zF=w((BF)=>{Object.defineProperty(BF,"__esModule",{value:!0});var q1=r(),NX=W0(),JS={message:({params:{min:Q,max:X}})=>X===void 0?q1.str`must contain at least ${Q} valid item(s)`:q1.str`must contain at least ${Q} and no more than ${X} valid item(s)`,params:({params:{min:Q,max:X}})=>X===void 0?q1._`{minContains: ${Q}}`:q1._`{minContains: ${Q}, maxContains: ${X}}`},GS={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:JS,code(Q){let{gen:X,schema:Y,parentSchema:W,data:$,it:J}=Q,G,H,{minContains:B,maxContains:z}=W;if(J.opts.next)G=B===void 0?1:B,H=z;else G=1;let K=X.const("len",q1._`${$}.length`);if(Q.setParams({min:G,max:H}),H===void 0&&G===0){(0,NX.checkStrictMode)(J,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(H!==void 0&&G>H){(0,NX.checkStrictMode)(J,'"minContains" > "maxContains" is always invalid'),Q.fail();return}if((0,NX.alwaysValidSchema)(J,Y)){let A=q1._`${K} >= ${G}`;if(H!==void 0)A=q1._`${A} && ${K} <= ${H}`;Q.pass(A);return}J.items=!0;let V=X.name("valid");if(H===void 0&&G===1)F(V,()=>X.if(V,()=>X.break()));else if(G===0){if(X.let(V,!0),H!==void 0)X.if(q1._`${$}.length > 0`,D)}else X.let(V,!1),D();Q.result(V,()=>Q.reset());function D(){let A=X.name("_valid"),L=X.let("count",0);F(A,()=>X.if(A,()=>q(L)))}function F(A,L){X.forRange("i",0,K,(O)=>{Q.subschema({keyword:"contains",dataProp:O,dataPropType:NX.Type.Num,compositeRule:!0},A),L()})}function q(A){if(X.code(q1._`${A}++`),H===void 0)X.if(q1._`${A} >= ${G}`,()=>X.assign(V,!0).break());else if(X.if(q1._`${A} > ${H}`,()=>X.assign(V,!1).break()),G===1)X.assign(V,!0);else X.if(q1._`${A} >= ${G}`,()=>X.assign(V,!0))}}};BF.default=GS});var DF=w((VF)=>{Object.defineProperty(VF,"__esModule",{value:!0});VF.validateSchemaDeps=VF.validatePropertyDeps=VF.error=void 0;var F$=r(),BS=W0(),L8=V1();VF.error={message:({params:{property:Q,depsCount:X,deps:Y}})=>{let W=X===1?"property":"properties";return F$.str`must have ${W} ${Y} when property ${Q} is present`},params:({params:{property:Q,depsCount:X,deps:Y,missingProperty:W}})=>F$._`{property: ${Q},
7
- missingProperty: ${W},
8
- depsCount: ${X},
9
- deps: ${Y}}`};var zS={keyword:"dependencies",type:"object",schemaType:"object",error:VF.error,code(Q){let[X,Y]=KS(Q);KF(Q,X),FF(Q,Y)}};function KS({schema:Q}){let X={},Y={};for(let W in Q){if(W==="__proto__")continue;let $=Array.isArray(Q[W])?X:Y;$[W]=Q[W]}return[X,Y]}function KF(Q,X=Q.schema){let{gen:Y,data:W,it:$}=Q;if(Object.keys(X).length===0)return;let J=Y.let("missing");for(let G in X){let H=X[G];if(H.length===0)continue;let B=(0,L8.propertyInData)(Y,W,G,$.opts.ownProperties);if(Q.setParams({property:G,depsCount:H.length,deps:H.join(", ")}),$.allErrors)Y.if(B,()=>{for(let z of H)(0,L8.checkReportMissingProp)(Q,z)});else Y.if(F$._`${B} && (${(0,L8.checkMissingProp)(Q,H,J)})`),(0,L8.reportMissingProp)(Q,J),Y.else()}}VF.validatePropertyDeps=KF;function FF(Q,X=Q.schema){let{gen:Y,data:W,keyword:$,it:J}=Q,G=Y.name("valid");for(let H in X){if((0,BS.alwaysValidSchema)(J,X[H]))continue;Y.if((0,L8.propertyInData)(Y,W,H,J.opts.ownProperties),()=>{let B=Q.subschema({keyword:$,schemaProp:H},G);Q.mergeValidEvaluated(B,G)},()=>Y.var(G,!0)),Q.ok(G)}}VF.validateSchemaDeps=FF;VF.default=zS});var UF=w((OF)=>{Object.defineProperty(OF,"__esModule",{value:!0});var LF=r(),qS=W0(),AS={message:"property name must be valid",params:({params:Q})=>LF._`{propertyName: ${Q.propertyName}}`},DS={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:AS,code(Q){let{gen:X,schema:Y,data:W,it:$}=Q;if((0,qS.alwaysValidSchema)($,Y))return;let J=X.name("valid");X.forIn("key",W,(G)=>{Q.setParams({propertyName:G}),Q.subschema({keyword:"propertyNames",data:G,dataTypes:["string"],propertyName:G,compositeRule:!0},J),X.if((0,LF.not)(J),()=>{if(Q.error(!0),!$.allErrors)X.break()})}),Q.ok(J)}};OF.default=DS});var V$=w((jF)=>{Object.defineProperty(jF,"__esModule",{value:!0});var bX=V1(),I1=r(),OS=X6(),PX=W0(),US={message:"must NOT have additional properties",params:({params:Q})=>I1._`{additionalProperty: ${Q.additionalProperty}}`},jS={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:US,code(Q){let{gen:X,schema:Y,parentSchema:W,data:$,errsCount:J,it:G}=Q;if(!J)throw Error("ajv implementation error");let{allErrors:H,opts:B}=G;if(G.props=!0,B.removeAdditional!=="all"&&(0,PX.alwaysValidSchema)(G,Y))return;let z=(0,bX.allSchemaProperties)(W.properties),K=(0,bX.allSchemaProperties)(W.patternProperties);V(),Q.ok(I1._`${J} === ${OS.default.errors}`);function V(){X.forIn("key",$,(L)=>{if(!z.length&&!K.length)q(L);else X.if(D(L),()=>q(L))})}function D(L){let O;if(z.length>8){let M=(0,PX.schemaRefOrVal)(G,W.properties,"properties");O=(0,bX.isOwnProperty)(X,M,L)}else if(z.length)O=(0,I1.or)(...z.map((M)=>I1._`${L} === ${M}`));else O=I1.nil;if(K.length)O=(0,I1.or)(O,...K.map((M)=>I1._`${(0,bX.usePattern)(Q,M)}.test(${L})`));return(0,I1.not)(O)}function F(L){X.code(I1._`delete ${$}[${L}]`)}function q(L){if(B.removeAdditional==="all"||B.removeAdditional&&Y===!1){F(L);return}if(Y===!1){if(Q.setParams({additionalProperty:L}),Q.error(),!H)X.break();return}if(typeof Y=="object"&&!(0,PX.alwaysValidSchema)(G,Y)){let O=X.name("valid");if(B.removeAdditional==="failing")A(L,O,!1),X.if((0,I1.not)(O),()=>{Q.reset(),F(L)});else if(A(L,O),!H)X.if((0,I1.not)(O),()=>X.break())}}function A(L,O,M){let N={keyword:"additionalProperties",dataProp:L,dataPropType:PX.Type.Str};if(M===!1)Object.assign(N,{compositeRule:!0,createErrors:!1,allErrors:!1});Q.subschema(N,O)}}};jF.default=jS});var bF=w((NF)=>{Object.defineProperty(NF,"__esModule",{value:!0});var MS=$8(),wF=V1(),q$=W0(),MF=V$(),NS={keyword:"properties",type:"object",schemaType:"object",code(Q){let{gen:X,schema:Y,parentSchema:W,data:$,it:J}=Q;if(J.opts.removeAdditional==="all"&&W.additionalProperties===void 0)MF.default.code(new MS.KeywordCxt(J,MF.default,"additionalProperties"));let G=(0,wF.allSchemaProperties)(Y);for(let V of G)J.definedProperties.add(V);if(J.opts.unevaluated&&G.length&&J.props!==!0)J.props=q$.mergeEvaluated.props(X,(0,q$.toHash)(G),J.props);let H=G.filter((V)=>!(0,q$.alwaysValidSchema)(J,Y[V]));if(H.length===0)return;let B=X.name("valid");for(let V of H){if(z(V))K(V);else{if(X.if((0,wF.propertyInData)(X,$,V,J.opts.ownProperties)),K(V),!J.allErrors)X.else().var(B,!0);X.endIf()}Q.it.definedProperties.add(V),Q.ok(B)}function z(V){return J.opts.useDefaults&&!J.compositeRule&&Y[V].default!==void 0}function K(V){Q.subschema({keyword:"properties",schemaProp:V,dataProp:V},B)}}};NF.default=NS});var SF=w((EF)=>{Object.defineProperty(EF,"__esModule",{value:!0});var PF=V1(),ZX=r(),ZF=W0(),RF=W0(),PS={keyword:"patternProperties",type:"object",schemaType:"object",code(Q){let{gen:X,schema:Y,data:W,parentSchema:$,it:J}=Q,{opts:G}=J,H=(0,PF.allSchemaProperties)(Y),B=H.filter((A)=>(0,ZF.alwaysValidSchema)(J,Y[A]));if(H.length===0||B.length===H.length&&(!J.opts.unevaluated||J.props===!0))return;let z=G.strictSchema&&!G.allowMatchingProperties&&$.properties,K=X.name("valid");if(J.props!==!0&&!(J.props instanceof ZX.Name))J.props=(0,RF.evaluatedPropsToName)(X,J.props);let{props:V}=J;D();function D(){for(let A of H){if(z)F(A);if(J.allErrors)q(A);else X.var(K,!0),q(A),X.if(K)}}function F(A){for(let L in z)if(new RegExp(A).test(L))(0,ZF.checkStrictMode)(J,`property ${L} matches pattern ${A} (use allowMatchingProperties)`)}function q(A){X.forIn("key",W,(L)=>{X.if(ZX._`${(0,PF.usePattern)(Q,A)}.test(${L})`,()=>{let O=B.includes(A);if(!O)Q.subschema({keyword:"patternProperties",schemaProp:A,dataProp:L,dataPropType:RF.Type.Str},K);if(J.opts.unevaluated&&V!==!0)X.assign(ZX._`${V}[${L}]`,!0);else if(!O&&!J.allErrors)X.if((0,ZX.not)(K),()=>X.break())})})}}};EF.default=PS});var TF=w((IF)=>{Object.defineProperty(IF,"__esModule",{value:!0});var RS=W0(),ES={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(Q){let{gen:X,schema:Y,it:W}=Q;if((0,RS.alwaysValidSchema)(W,Y)){Q.fail();return}let $=X.name("valid");Q.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},$),Q.failResult($,()=>Q.reset(),()=>Q.error())},error:{message:"must NOT be valid"}};IF.default=ES});var kF=w((CF)=>{Object.defineProperty(CF,"__esModule",{value:!0});var IS=V1(),TS={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:IS.validateUnion,error:{message:"must match a schema in anyOf"}};CF.default=TS});var _F=w((vF)=>{Object.defineProperty(vF,"__esModule",{value:!0});var RX=r(),kS=W0(),vS={message:"must match exactly one schema in oneOf",params:({params:Q})=>RX._`{passingSchemas: ${Q.passing}}`},_S={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:vS,code(Q){let{gen:X,schema:Y,parentSchema:W,it:$}=Q;if(!Array.isArray(Y))throw Error("ajv implementation error");if($.opts.discriminator&&W.discriminator)return;let J=Y,G=X.let("valid",!1),H=X.let("passing",null),B=X.name("_valid");Q.setParams({passing:H}),X.block(z),Q.result(G,()=>Q.reset(),()=>Q.error(!0));function z(){J.forEach((K,V)=>{let D;if((0,kS.alwaysValidSchema)($,K))X.var(B,!0);else D=Q.subschema({keyword:"oneOf",schemaProp:V,compositeRule:!0},B);if(V>0)X.if(RX._`${B} && ${G}`).assign(G,!1).assign(H,RX._`[${H}, ${V}]`).else();X.if(B,()=>{if(X.assign(G,!0),X.assign(H,V),D)Q.mergeEvaluated(D,RX.Name)})})}}};vF.default=_S});var yF=w((xF)=>{Object.defineProperty(xF,"__esModule",{value:!0});var yS=W0(),gS={keyword:"allOf",schemaType:"array",code(Q){let{gen:X,schema:Y,it:W}=Q;if(!Array.isArray(Y))throw Error("ajv implementation error");let $=X.name("valid");Y.forEach((J,G)=>{if((0,yS.alwaysValidSchema)(W,J))return;let H=Q.subschema({keyword:"allOf",schemaProp:G},$);Q.ok($),Q.mergeEvaluated(H)})}};xF.default=gS});var uF=w((hF)=>{Object.defineProperty(hF,"__esModule",{value:!0});var EX=r(),fF=W0(),hS={message:({params:Q})=>EX.str`must match "${Q.ifClause}" schema`,params:({params:Q})=>EX._`{failingKeyword: ${Q.ifClause}}`},uS={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:hS,code(Q){let{gen:X,parentSchema:Y,it:W}=Q;if(Y.then===void 0&&Y.else===void 0)(0,fF.checkStrictMode)(W,'"if" without "then" and "else" is ignored');let $=gF(W,"then"),J=gF(W,"else");if(!$&&!J)return;let G=X.let("valid",!0),H=X.name("_valid");if(B(),Q.reset(),$&&J){let K=X.let("ifClause");Q.setParams({ifClause:K}),X.if(H,z("then",K),z("else",K))}else if($)X.if(H,z("then"));else X.if((0,EX.not)(H),z("else"));Q.pass(G,()=>Q.error(!0));function B(){let K=Q.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},H);Q.mergeEvaluated(K)}function z(K,V){return()=>{let D=Q.subschema({keyword:K},H);if(X.assign(G,H),Q.mergeValidEvaluated(D,G),V)X.assign(V,EX._`${K}`);else Q.setParams({ifClause:K})}}}};function gF(Q,X){let Y=Q.schema[X];return Y!==void 0&&!(0,fF.alwaysValidSchema)(Q,Y)}hF.default=uS});var mF=w((lF)=>{Object.defineProperty(lF,"__esModule",{value:!0});var mS=W0(),cS={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:Q,parentSchema:X,it:Y}){if(X.if===void 0)(0,mS.checkStrictMode)(Y,`"${Q}" without "if" is ignored`)}};lF.default=cS});var pF=w((cF)=>{Object.defineProperty(cF,"__esModule",{value:!0});var dS=z$(),iS=$F(),nS=K$(),oS=HF(),rS=zF(),tS=DF(),aS=UF(),sS=V$(),eS=bF(),QI=SF(),XI=TF(),YI=kF(),WI=_F(),$I=yF(),JI=uF(),GI=mF();function HI(Q=!1){let X=[XI.default,YI.default,WI.default,$I.default,JI.default,GI.default,aS.default,sS.default,tS.default,eS.default,QI.default];if(Q)X.push(iS.default,oS.default);else X.push(dS.default,nS.default);return X.push(rS.default),X}cF.default=HI});var iF=w((dF)=>{Object.defineProperty(dF,"__esModule",{value:!0});var Z0=r(),zI={message:({schemaCode:Q})=>Z0.str`must match format "${Q}"`,params:({schemaCode:Q})=>Z0._`{format: ${Q}}`},KI={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:zI,code(Q,X){let{gen:Y,data:W,$data:$,schema:J,schemaCode:G,it:H}=Q,{opts:B,errSchemaPath:z,schemaEnv:K,self:V}=H;if(!B.validateFormats)return;if($)D();else F();function D(){let q=Y.scopeValue("formats",{ref:V.formats,code:B.code.formats}),A=Y.const("fDef",Z0._`${q}[${G}]`),L=Y.let("fType"),O=Y.let("format");Y.if(Z0._`typeof ${A} == "object" && !(${A} instanceof RegExp)`,()=>Y.assign(L,Z0._`${A}.type || "string"`).assign(O,Z0._`${A}.validate`),()=>Y.assign(L,Z0._`"string"`).assign(O,A)),Q.fail$data((0,Z0.or)(M(),N()));function M(){if(B.strictSchema===!1)return Z0.nil;return Z0._`${G} && !${O}`}function N(){let C=K.$async?Z0._`(${A}.async ? await ${O}(${W}) : ${O}(${W}))`:Z0._`${O}(${W})`,Z=Z0._`(typeof ${O} == "function" ? ${C} : ${O}.test(${W}))`;return Z0._`${O} && ${O} !== true && ${L} === ${X} && !${Z}`}}function F(){let q=V.formats[J];if(!q){M();return}if(q===!0)return;let[A,L,O]=N(q);if(A===X)Q.pass(C());function M(){if(B.strictSchema===!1){V.logger.warn(Z());return}throw Error(Z());function Z(){return`unknown format "${J}" ignored in schema at path "${z}"`}}function N(Z){let K0=Z instanceof RegExp?(0,Z0.regexpCode)(Z):B.code.formats?Z0._`${B.code.formats}${(0,Z0.getProperty)(J)}`:void 0,P0=Y.scopeValue("formats",{key:J,ref:Z,code:K0});if(typeof Z=="object"&&!(Z instanceof RegExp))return[Z.type||"string",Z.validate,Z0._`${P0}.validate`];return["string",Z,P0]}function C(){if(typeof q=="object"&&!(q instanceof RegExp)&&q.async){if(!K.$async)throw Error("async format in sync schema");return Z0._`await ${O}(${W})`}return typeof L=="function"?Z0._`${O}(${W})`:Z0._`${O}.test(${W})`}}}};dF.default=KI});var oF=w((nF)=>{Object.defineProperty(nF,"__esModule",{value:!0});var VI=iF(),qI=[VI.default];nF.default=qI});var aF=w((rF)=>{Object.defineProperty(rF,"__esModule",{value:!0});rF.contentVocabulary=rF.metadataVocabulary=void 0;rF.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];rF.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var QV=w((eF)=>{Object.defineProperty(eF,"__esModule",{value:!0});var LI=NK(),OI=rK(),UI=pF(),jI=oF(),sF=aF(),wI=[LI.default,OI.default,(0,UI.default)(),jI.default,sF.metadataVocabulary,sF.contentVocabulary];eF.default=wI});var $V=w((YV)=>{Object.defineProperty(YV,"__esModule",{value:!0});YV.DiscrError=void 0;var XV;(function(Q){Q.Tag="tag",Q.Mapping="mapping"})(XV||(YV.DiscrError=XV={}))});var HV=w((GV)=>{Object.defineProperty(GV,"__esModule",{value:!0});var d9=r(),A$=$V(),JV=BX(),NI=J8(),bI=W0(),PI={message:({params:{discrError:Q,tagName:X}})=>Q===A$.DiscrError.Tag?`tag "${X}" must be string`:`value of tag "${X}" must be in oneOf`,params:({params:{discrError:Q,tag:X,tagName:Y}})=>d9._`{error: ${Q}, tag: ${Y}, tagValue: ${X}}`},ZI={keyword:"discriminator",type:"object",schemaType:"object",error:PI,code(Q){let{gen:X,data:Y,schema:W,parentSchema:$,it:J}=Q,{oneOf:G}=$;if(!J.opts.discriminator)throw Error("discriminator: requires discriminator option");let H=W.propertyName;if(typeof H!="string")throw Error("discriminator: requires propertyName");if(W.mapping)throw Error("discriminator: mapping is not supported");if(!G)throw Error("discriminator: requires oneOf keyword");let B=X.let("valid",!1),z=X.const("tag",d9._`${Y}${(0,d9.getProperty)(H)}`);X.if(d9._`typeof ${z} == "string"`,()=>K(),()=>Q.error(!1,{discrError:A$.DiscrError.Tag,tag:z,tagName:H})),Q.ok(B);function K(){let F=D();X.if(!1);for(let q in F)X.elseIf(d9._`${z} === ${q}`),X.assign(B,V(F[q]));X.else(),Q.error(!1,{discrError:A$.DiscrError.Mapping,tag:z,tagName:H}),X.endIf()}function V(F){let q=X.name("valid"),A=Q.subschema({keyword:"oneOf",schemaProp:F},q);return Q.mergeEvaluated(A,d9.Name),q}function D(){var F;let q={},A=O($),L=!0;for(let C=0;C<G.length;C++){let Z=G[C];if((Z===null||Z===void 0?void 0:Z.$ref)&&!(0,bI.schemaHasRulesButRef)(Z,J.self.RULES)){let P0=Z.$ref;if(Z=JV.resolveRef.call(J.self,J.schemaEnv.root,J.baseId,P0),Z instanceof JV.SchemaEnv)Z=Z.schema;if(Z===void 0)throw new NI.default(J.opts.uriResolver,J.baseId,P0)}let K0=(F=Z===null||Z===void 0?void 0:Z.properties)===null||F===void 0?void 0:F[H];if(typeof K0!="object")throw Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${H}"`);L=L&&(A||O(Z)),M(K0,C)}if(!L)throw Error(`discriminator: "${H}" must be required`);return q;function O({required:C}){return Array.isArray(C)&&C.includes(H)}function M(C,Z){if(C.const)N(C.const,Z);else if(C.enum)for(let K0 of C.enum)N(K0,Z);else throw Error(`discriminator: "properties/${H}" must have "const" or "enum"`)}function N(C,Z){if(typeof C!="string"||C in q)throw Error(`discriminator: "${H}" values must be unique strings`);q[C]=Z}}}};GV.default=ZI});var BV=w((ac,EI)=>{EI.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var KV=w((W1,D$)=>{Object.defineProperty(W1,"__esModule",{value:!0});W1.MissingRefError=W1.ValidationError=W1.CodeGen=W1.Name=W1.nil=W1.stringify=W1.str=W1._=W1.KeywordCxt=W1.Ajv=void 0;var SI=VK(),II=QV(),TI=HV(),zV=BV(),CI=["/properties"],SX="http://json-schema.org/draft-07/schema";class O8 extends SI.default{_addVocabularies(){if(super._addVocabularies(),II.default.forEach((Q)=>this.addVocabulary(Q)),this.opts.discriminator)this.addKeyword(TI.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let Q=this.opts.$data?this.$dataMetaSchema(zV,CI):zV;this.addMetaSchema(Q,SX,!1),this.refs["http://json-schema.org/schema"]=SX}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(SX)?SX:void 0)}}W1.Ajv=O8;D$.exports=W1=O8;D$.exports.Ajv=O8;Object.defineProperty(W1,"__esModule",{value:!0});W1.default=O8;var kI=$8();Object.defineProperty(W1,"KeywordCxt",{enumerable:!0,get:function(){return kI.KeywordCxt}});var i9=r();Object.defineProperty(W1,"_",{enumerable:!0,get:function(){return i9._}});Object.defineProperty(W1,"str",{enumerable:!0,get:function(){return i9.str}});Object.defineProperty(W1,"stringify",{enumerable:!0,get:function(){return i9.stringify}});Object.defineProperty(W1,"nil",{enumerable:!0,get:function(){return i9.nil}});Object.defineProperty(W1,"Name",{enumerable:!0,get:function(){return i9.Name}});Object.defineProperty(W1,"CodeGen",{enumerable:!0,get:function(){return i9.CodeGen}});var vI=GX();Object.defineProperty(W1,"ValidationError",{enumerable:!0,get:function(){return vI.default}});var _I=J8();Object.defineProperty(W1,"MissingRefError",{enumerable:!0,get:function(){return _I.default}})});var wV=w((UV)=>{Object.defineProperty(UV,"__esModule",{value:!0});UV.formatNames=UV.fastFormats=UV.fullFormats=void 0;function d1(Q,X){return{validate:Q,compare:X}}UV.fullFormats={date:d1(AV,j$),time:d1(O$(!0),w$),"date-time":d1(FV(!0),LV),"iso-time":d1(O$(),DV),"iso-date-time":d1(FV(),OV),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:mI,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:rI,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:cI,int32:{type:"number",validate:iI},int64:{type:"number",validate:nI},float:{type:"number",validate:qV},double:{type:"number",validate:qV},password:!0,binary:!0};UV.fastFormats={...UV.fullFormats,date:d1(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,j$),time:d1(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,w$),"date-time":d1(/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,LV),"iso-time":d1(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,DV),"iso-date-time":d1(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,OV),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i};UV.formatNames=Object.keys(UV.fullFormats);function gI(Q){return Q%4===0&&(Q%100!==0||Q%400===0)}var fI=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,hI=[0,31,28,31,30,31,30,31,31,30,31,30,31];function AV(Q){let X=fI.exec(Q);if(!X)return!1;let Y=+X[1],W=+X[2],$=+X[3];return W>=1&&W<=12&&$>=1&&$<=(W===2&&gI(Y)?29:hI[W])}function j$(Q,X){if(!(Q&&X))return;if(Q>X)return 1;if(Q<X)return-1;return 0}var L$=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function O$(Q){return function(Y){let W=L$.exec(Y);if(!W)return!1;let $=+W[1],J=+W[2],G=+W[3],H=W[4],B=W[5]==="-"?-1:1,z=+(W[6]||0),K=+(W[7]||0);if(z>23||K>59||Q&&!H)return!1;if($<=23&&J<=59&&G<60)return!0;let V=J-K*B,D=$-z*B-(V<0?1:0);return(D===23||D===-1)&&(V===59||V===-1)&&G<61}}function w$(Q,X){if(!(Q&&X))return;let Y=new Date("2020-01-01T"+Q).valueOf(),W=new Date("2020-01-01T"+X).valueOf();if(!(Y&&W))return;return Y-W}function DV(Q,X){if(!(Q&&X))return;let Y=L$.exec(Q),W=L$.exec(X);if(!(Y&&W))return;if(Q=Y[1]+Y[2]+Y[3],X=W[1]+W[2]+W[3],Q>X)return 1;if(Q<X)return-1;return 0}var U$=/t|\s/i;function FV(Q){let X=O$(Q);return function(W){let $=W.split(U$);return $.length===2&&AV($[0])&&X($[1])}}function LV(Q,X){if(!(Q&&X))return;let Y=new Date(Q).valueOf(),W=new Date(X).valueOf();if(!(Y&&W))return;return Y-W}function OV(Q,X){if(!(Q&&X))return;let[Y,W]=Q.split(U$),[$,J]=X.split(U$),G=j$(Y,$);if(G===void 0)return;return G||w$(W,J)}var uI=/\/|:/,lI=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function mI(Q){return uI.test(Q)&&lI.test(Q)}var VV=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function cI(Q){return VV.lastIndex=0,VV.test(Q)}var pI=-2147483648,dI=2147483647;function iI(Q){return Number.isInteger(Q)&&Q<=dI&&Q>=pI}function nI(Q){return Number.isInteger(Q)}function qV(){return!0}var oI=/[^\\]\\Z/;function rI(Q){if(oI.test(Q))return!1;try{return new RegExp(Q),!0}catch(X){return!1}}});var j8=w((bV)=>{Object.defineProperty(bV,"__esModule",{value:!0});bV.regexpCode=bV.getEsmExportName=bV.getProperty=bV.safeStringify=bV.stringify=bV.strConcat=bV.addCodeArg=bV.str=bV._=bV.nil=bV._Code=bV.Name=bV.IDENTIFIER=bV._CodeOrName=void 0;class IX{}bV._CodeOrName=IX;bV.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class n9 extends IX{constructor(Q){super();if(!bV.IDENTIFIER.test(Q))throw Error("CodeGen: name must be a valid identifier");this.str=Q}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}}bV.Name=n9;class T1 extends IX{constructor(Q){super();this._items=typeof Q==="string"?[Q]:Q}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let Q=this._items[0];return Q===""||Q==='""'}get str(){var Q;return(Q=this._str)!==null&&Q!==void 0?Q:this._str=this._items.reduce((X,Y)=>`${X}${Y}`,"")}get names(){var Q;return(Q=this._names)!==null&&Q!==void 0?Q:this._names=this._items.reduce((X,Y)=>{if(Y instanceof n9)X[Y.str]=(X[Y.str]||0)+1;return X},{})}}bV._Code=T1;bV.nil=new T1("");function MV(Q,...X){let Y=[Q[0]],W=0;while(W<X.length)b$(Y,X[W]),Y.push(Q[++W]);return new T1(Y)}bV._=MV;var N$=new T1("+");function NV(Q,...X){let Y=[U8(Q[0])],W=0;while(W<X.length)Y.push(N$),b$(Y,X[W]),Y.push(N$,U8(Q[++W]));return aI(Y),new T1(Y)}bV.str=NV;function b$(Q,X){if(X instanceof T1)Q.push(...X._items);else if(X instanceof n9)Q.push(X);else Q.push(QT(X))}bV.addCodeArg=b$;function aI(Q){let X=1;while(X<Q.length-1){if(Q[X]===N$){let Y=sI(Q[X-1],Q[X+1]);if(Y!==void 0){Q.splice(X-1,3,Y);continue}Q[X++]="+"}X++}}function sI(Q,X){if(X==='""')return Q;if(Q==='""')return X;if(typeof Q=="string"){if(X instanceof n9||Q[Q.length-1]!=='"')return;if(typeof X!="string")return`${Q.slice(0,-1)}${X}"`;if(X[0]==='"')return Q.slice(0,-1)+X.slice(1);return}if(typeof X=="string"&&X[0]==='"'&&!(Q instanceof n9))return`"${Q}${X.slice(1)}`;return}function eI(Q,X){return X.emptyStr()?Q:Q.emptyStr()?X:NV`${Q}${X}`}bV.strConcat=eI;function QT(Q){return typeof Q=="number"||typeof Q=="boolean"||Q===null?Q:U8(Array.isArray(Q)?Q.join(","):Q)}function XT(Q){return new T1(U8(Q))}bV.stringify=XT;function U8(Q){return JSON.stringify(Q).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}bV.safeStringify=U8;function YT(Q){return typeof Q=="string"&&bV.IDENTIFIER.test(Q)?new T1(`.${Q}`):MV`[${Q}]`}bV.getProperty=YT;function WT(Q){if(typeof Q=="string"&&bV.IDENTIFIER.test(Q))return new T1(`${Q}`);throw Error(`CodeGen: invalid export name: ${Q}, use explicit $id name mapping`)}bV.getEsmExportName=WT;function $T(Q){return new T1(Q.toString())}bV.regexpCode=$T});var E$=w((EV)=>{Object.defineProperty(EV,"__esModule",{value:!0});EV.ValueScope=EV.ValueScopeName=EV.Scope=EV.varKinds=EV.UsedValueState=void 0;var $1=j8();class ZV extends Error{constructor(Q){super(`CodeGen: "code" for ${Q} not defined`);this.value=Q.value}}var CX;(function(Q){Q[Q.Started=0]="Started",Q[Q.Completed=1]="Completed"})(CX||(EV.UsedValueState=CX={}));EV.varKinds={const:new $1.Name("const"),let:new $1.Name("let"),var:new $1.Name("var")};class Z${constructor({prefixes:Q,parent:X}={}){this._names={},this._prefixes=Q,this._parent=X}toName(Q){return Q instanceof $1.Name?Q:this.name(Q)}name(Q){return new $1.Name(this._newName(Q))}_newName(Q){let X=this._names[Q]||this._nameGroup(Q);return`${Q}${X.index++}`}_nameGroup(Q){var X,Y;if(((Y=(X=this._parent)===null||X===void 0?void 0:X._prefixes)===null||Y===void 0?void 0:Y.has(Q))||this._prefixes&&!this._prefixes.has(Q))throw Error(`CodeGen: prefix "${Q}" is not allowed in this scope`);return this._names[Q]={prefix:Q,index:0}}}EV.Scope=Z$;class R$ extends $1.Name{constructor(Q,X){super(X);this.prefix=Q}setValue(Q,{property:X,itemIndex:Y}){this.value=Q,this.scopePath=$1._`.${new $1.Name(X)}[${Y}]`}}EV.ValueScopeName=R$;var OT=$1._`\n`;class RV extends Z${constructor(Q){super(Q);this._values={},this._scope=Q.scope,this.opts={...Q,_n:Q.lines?OT:$1.nil}}get(){return this._scope}name(Q){return new R$(Q,this._newName(Q))}value(Q,X){var Y;if(X.ref===void 0)throw Error("CodeGen: ref must be passed in value");let W=this.toName(Q),{prefix:$}=W,J=(Y=X.key)!==null&&Y!==void 0?Y:X.ref,G=this._values[$];if(G){let z=G.get(J);if(z)return z}else G=this._values[$]=new Map;G.set(J,W);let H=this._scope[$]||(this._scope[$]=[]),B=H.length;return H[B]=X.ref,W.setValue(X,{property:$,itemIndex:B}),W}getValue(Q,X){let Y=this._values[Q];if(!Y)return;return Y.get(X)}scopeRefs(Q,X=this._values){return this._reduceValues(X,(Y)=>{if(Y.scopePath===void 0)throw Error(`CodeGen: name "${Y}" has no value`);return $1._`${Q}${Y.scopePath}`})}scopeCode(Q=this._values,X,Y){return this._reduceValues(Q,(W)=>{if(W.value===void 0)throw Error(`CodeGen: name "${W}" has no value`);return W.value.code},X,Y)}_reduceValues(Q,X,Y={},W){let $=$1.nil;for(let J in Q){let G=Q[J];if(!G)continue;let H=Y[J]=Y[J]||new Map;G.forEach((B)=>{if(H.has(B))return;H.set(B,CX.Started);let z=X(B);if(z){let K=this.opts.es5?EV.varKinds.var:EV.varKinds.const;$=$1._`${$}${K} ${B} = ${z};${this.opts._n}`}else if(z=W===null||W===void 0?void 0:W(B))$=$1._`${$}${z}${this.opts._n}`;else throw new ZV(B);H.set(B,CX.Completed)})}return $}}EV.ValueScope=RV});var i=w((J1)=>{Object.defineProperty(J1,"__esModule",{value:!0});J1.or=J1.and=J1.not=J1.CodeGen=J1.operators=J1.varKinds=J1.ValueScopeName=J1.ValueScope=J1.Scope=J1.Name=J1.regexpCode=J1.stringify=J1.getProperty=J1.nil=J1.strConcat=J1.str=J1._=void 0;var Q0=j8(),C1=E$(),E6=j8();Object.defineProperty(J1,"_",{enumerable:!0,get:function(){return E6._}});Object.defineProperty(J1,"str",{enumerable:!0,get:function(){return E6.str}});Object.defineProperty(J1,"strConcat",{enumerable:!0,get:function(){return E6.strConcat}});Object.defineProperty(J1,"nil",{enumerable:!0,get:function(){return E6.nil}});Object.defineProperty(J1,"getProperty",{enumerable:!0,get:function(){return E6.getProperty}});Object.defineProperty(J1,"stringify",{enumerable:!0,get:function(){return E6.stringify}});Object.defineProperty(J1,"regexpCode",{enumerable:!0,get:function(){return E6.regexpCode}});Object.defineProperty(J1,"Name",{enumerable:!0,get:function(){return E6.Name}});var gX=E$();Object.defineProperty(J1,"Scope",{enumerable:!0,get:function(){return gX.Scope}});Object.defineProperty(J1,"ValueScope",{enumerable:!0,get:function(){return gX.ValueScope}});Object.defineProperty(J1,"ValueScopeName",{enumerable:!0,get:function(){return gX.ValueScopeName}});Object.defineProperty(J1,"varKinds",{enumerable:!0,get:function(){return gX.varKinds}});J1.operators={GT:new Q0._Code(">"),GTE:new Q0._Code(">="),LT:new Q0._Code("<"),LTE:new Q0._Code("<="),EQ:new Q0._Code("==="),NEQ:new Q0._Code("!=="),NOT:new Q0._Code("!"),OR:new Q0._Code("||"),AND:new Q0._Code("&&"),ADD:new Q0._Code("+")};class S6{optimizeNodes(){return this}optimizeNames(Q,X){return this}}class IV extends S6{constructor(Q,X,Y){super();this.varKind=Q,this.name=X,this.rhs=Y}render({es5:Q,_n:X}){let Y=Q?C1.varKinds.var:this.varKind,W=this.rhs===void 0?"":` = ${this.rhs}`;return`${Y} ${this.name}${W};`+X}optimizeNames(Q,X){if(!Q[this.name.str])return;if(this.rhs)this.rhs=r9(this.rhs,Q,X);return this}get names(){return this.rhs instanceof Q0._CodeOrName?this.rhs.names:{}}}class T$ extends S6{constructor(Q,X,Y){super();this.lhs=Q,this.rhs=X,this.sideEffects=Y}render({_n:Q}){return`${this.lhs} = ${this.rhs};`+Q}optimizeNames(Q,X){if(this.lhs instanceof Q0.Name&&!Q[this.lhs.str]&&!this.sideEffects)return;return this.rhs=r9(this.rhs,Q,X),this}get names(){let Q=this.lhs instanceof Q0.Name?{}:{...this.lhs.names};return yX(Q,this.rhs)}}class TV extends T${constructor(Q,X,Y,W){super(Q,Y,W);this.op=X}render({_n:Q}){return`${this.lhs} ${this.op}= ${this.rhs};`+Q}}class CV extends S6{constructor(Q){super();this.label=Q,this.names={}}render({_n:Q}){return`${this.label}:`+Q}}class kV extends S6{constructor(Q){super();this.label=Q,this.names={}}render({_n:Q}){return`break${this.label?` ${this.label}`:""};`+Q}}class vV extends S6{constructor(Q){super();this.error=Q}render({_n:Q}){return`throw ${this.error};`+Q}get names(){return this.error.names}}class _V extends S6{constructor(Q){super();this.code=Q}render({_n:Q}){return`${this.code};`+Q}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(Q,X){return this.code=r9(this.code,Q,X),this}get names(){return this.code instanceof Q0._CodeOrName?this.code.names:{}}}class fX extends S6{constructor(Q=[]){super();this.nodes=Q}render(Q){return this.nodes.reduce((X,Y)=>X+Y.render(Q),"")}optimizeNodes(){let{nodes:Q}=this,X=Q.length;while(X--){let Y=Q[X].optimizeNodes();if(Array.isArray(Y))Q.splice(X,1,...Y);else if(Y)Q[X]=Y;else Q.splice(X,1)}return Q.length>0?this:void 0}optimizeNames(Q,X){let{nodes:Y}=this,W=Y.length;while(W--){let $=Y[W];if($.optimizeNames(Q,X))continue;MT(Q,$.names),Y.splice(W,1)}return Y.length>0?this:void 0}get names(){return this.nodes.reduce((Q,X)=>W9(Q,X.names),{})}}class I6 extends fX{render(Q){return"{"+Q._n+super.render(Q)+"}"+Q._n}}class xV extends fX{}class w8 extends I6{}w8.kind="else";class J6 extends I6{constructor(Q,X){super(X);this.condition=Q}render(Q){let X=`if(${this.condition})`+super.render(Q);if(this.else)X+="else "+this.else.render(Q);return X}optimizeNodes(){super.optimizeNodes();let Q=this.condition;if(Q===!0)return this.nodes;let X=this.else;if(X){let Y=X.optimizeNodes();X=this.else=Array.isArray(Y)?new w8(Y):Y}if(X){if(Q===!1)return X instanceof J6?X:X.nodes;if(this.nodes.length)return this;return new J6(uV(Q),X instanceof J6?[X]:X.nodes)}if(Q===!1||!this.nodes.length)return;return this}optimizeNames(Q,X){var Y;if(this.else=(Y=this.else)===null||Y===void 0?void 0:Y.optimizeNames(Q,X),!(super.optimizeNames(Q,X)||this.else))return;return this.condition=r9(this.condition,Q,X),this}get names(){let Q=super.names;if(yX(Q,this.condition),this.else)W9(Q,this.else.names);return Q}}J6.kind="if";class o9 extends I6{}o9.kind="for";class yV extends o9{constructor(Q){super();this.iteration=Q}render(Q){return`for(${this.iteration})`+super.render(Q)}optimizeNames(Q,X){if(!super.optimizeNames(Q,X))return;return this.iteration=r9(this.iteration,Q,X),this}get names(){return W9(super.names,this.iteration.names)}}class gV extends o9{constructor(Q,X,Y,W){super();this.varKind=Q,this.name=X,this.from=Y,this.to=W}render(Q){let X=Q.es5?C1.varKinds.var:this.varKind,{name:Y,from:W,to:$}=this;return`for(${X} ${Y}=${W}; ${Y}<${$}; ${Y}++)`+super.render(Q)}get names(){let Q=yX(super.names,this.from);return yX(Q,this.to)}}class S$ extends o9{constructor(Q,X,Y,W){super();this.loop=Q,this.varKind=X,this.name=Y,this.iterable=W}render(Q){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(Q)}optimizeNames(Q,X){if(!super.optimizeNames(Q,X))return;return this.iterable=r9(this.iterable,Q,X),this}get names(){return W9(super.names,this.iterable.names)}}class kX extends I6{constructor(Q,X,Y){super();this.name=Q,this.args=X,this.async=Y}render(Q){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(Q)}}kX.kind="func";class vX extends fX{render(Q){return"return "+super.render(Q)}}vX.kind="return";class fV extends I6{render(Q){let X="try"+super.render(Q);if(this.catch)X+=this.catch.render(Q);if(this.finally)X+=this.finally.render(Q);return X}optimizeNodes(){var Q,X;return super.optimizeNodes(),(Q=this.catch)===null||Q===void 0||Q.optimizeNodes(),(X=this.finally)===null||X===void 0||X.optimizeNodes(),this}optimizeNames(Q,X){var Y,W;return super.optimizeNames(Q,X),(Y=this.catch)===null||Y===void 0||Y.optimizeNames(Q,X),(W=this.finally)===null||W===void 0||W.optimizeNames(Q,X),this}get names(){let Q=super.names;if(this.catch)W9(Q,this.catch.names);if(this.finally)W9(Q,this.finally.names);return Q}}class _X extends I6{constructor(Q){super();this.error=Q}render(Q){return`catch(${this.error})`+super.render(Q)}}_X.kind="catch";class xX extends I6{render(Q){return"finally"+super.render(Q)}}xX.kind="finally";class hV{constructor(Q,X={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...X,_n:X.lines?`
10
- `:""},this._extScope=Q,this._scope=new C1.Scope({parent:Q}),this._nodes=[new xV]}toString(){return this._root.render(this.opts)}name(Q){return this._scope.name(Q)}scopeName(Q){return this._extScope.name(Q)}scopeValue(Q,X){let Y=this._extScope.value(Q,X);return(this._values[Y.prefix]||(this._values[Y.prefix]=new Set)).add(Y),Y}getScopeValue(Q,X){return this._extScope.getValue(Q,X)}scopeRefs(Q){return this._extScope.scopeRefs(Q,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(Q,X,Y,W){let $=this._scope.toName(X);if(Y!==void 0&&W)this._constants[$.str]=Y;return this._leafNode(new IV(Q,$,Y)),$}const(Q,X,Y){return this._def(C1.varKinds.const,Q,X,Y)}let(Q,X,Y){return this._def(C1.varKinds.let,Q,X,Y)}var(Q,X,Y){return this._def(C1.varKinds.var,Q,X,Y)}assign(Q,X,Y){return this._leafNode(new T$(Q,X,Y))}add(Q,X){return this._leafNode(new TV(Q,J1.operators.ADD,X))}code(Q){if(typeof Q=="function")Q();else if(Q!==Q0.nil)this._leafNode(new _V(Q));return this}object(...Q){let X=["{"];for(let[Y,W]of Q){if(X.length>1)X.push(",");if(X.push(Y),Y!==W||this.opts.es5)X.push(":"),(0,Q0.addCodeArg)(X,W)}return X.push("}"),new Q0._Code(X)}if(Q,X,Y){if(this._blockNode(new J6(Q)),X&&Y)this.code(X).else().code(Y).endIf();else if(X)this.code(X).endIf();else if(Y)throw Error('CodeGen: "else" body without "then" body');return this}elseIf(Q){return this._elseNode(new J6(Q))}else(){return this._elseNode(new w8)}endIf(){return this._endBlockNode(J6,w8)}_for(Q,X){if(this._blockNode(Q),X)this.code(X).endFor();return this}for(Q,X){return this._for(new yV(Q),X)}forRange(Q,X,Y,W,$=this.opts.es5?C1.varKinds.var:C1.varKinds.let){let J=this._scope.toName(Q);return this._for(new gV($,J,X,Y),()=>W(J))}forOf(Q,X,Y,W=C1.varKinds.const){let $=this._scope.toName(Q);if(this.opts.es5){let J=X instanceof Q0.Name?X:this.var("_arr",X);return this.forRange("_i",0,Q0._`${J}.length`,(G)=>{this.var($,Q0._`${J}[${G}]`),Y($)})}return this._for(new S$("of",W,$,X),()=>Y($))}forIn(Q,X,Y,W=this.opts.es5?C1.varKinds.var:C1.varKinds.const){if(this.opts.ownProperties)return this.forOf(Q,Q0._`Object.keys(${X})`,Y);let $=this._scope.toName(Q);return this._for(new S$("in",W,$,X),()=>Y($))}endFor(){return this._endBlockNode(o9)}label(Q){return this._leafNode(new CV(Q))}break(Q){return this._leafNode(new kV(Q))}return(Q){let X=new vX;if(this._blockNode(X),this.code(Q),X.nodes.length!==1)throw Error('CodeGen: "return" should have one node');return this._endBlockNode(vX)}try(Q,X,Y){if(!X&&!Y)throw Error('CodeGen: "try" without "catch" and "finally"');let W=new fV;if(this._blockNode(W),this.code(Q),X){let $=this.name("e");this._currNode=W.catch=new _X($),X($)}if(Y)this._currNode=W.finally=new xX,this.code(Y);return this._endBlockNode(_X,xX)}throw(Q){return this._leafNode(new vV(Q))}block(Q,X){if(this._blockStarts.push(this._nodes.length),Q)this.code(Q).endBlock(X);return this}endBlock(Q){let X=this._blockStarts.pop();if(X===void 0)throw Error("CodeGen: not in self-balancing block");let Y=this._nodes.length-X;if(Y<0||Q!==void 0&&Y!==Q)throw Error(`CodeGen: wrong number of nodes: ${Y} vs ${Q} expected`);return this._nodes.length=X,this}func(Q,X=Q0.nil,Y,W){if(this._blockNode(new kX(Q,X,Y)),W)this.code(W).endFunc();return this}endFunc(){return this._endBlockNode(kX)}optimize(Q=1){while(Q-- >0)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(Q){return this._currNode.nodes.push(Q),this}_blockNode(Q){this._currNode.nodes.push(Q),this._nodes.push(Q)}_endBlockNode(Q,X){let Y=this._currNode;if(Y instanceof Q||X&&Y instanceof X)return this._nodes.pop(),this;throw Error(`CodeGen: not in block "${X?`${Q.kind}/${X.kind}`:Q.kind}"`)}_elseNode(Q){let X=this._currNode;if(!(X instanceof J6))throw Error('CodeGen: "else" without "if"');return this._currNode=X.else=Q,this}get _root(){return this._nodes[0]}get _currNode(){let Q=this._nodes;return Q[Q.length-1]}set _currNode(Q){let X=this._nodes;X[X.length-1]=Q}}J1.CodeGen=hV;function W9(Q,X){for(let Y in X)Q[Y]=(Q[Y]||0)+(X[Y]||0);return Q}function yX(Q,X){return X instanceof Q0._CodeOrName?W9(Q,X.names):Q}function r9(Q,X,Y){if(Q instanceof Q0.Name)return W(Q);if(!$(Q))return Q;return new Q0._Code(Q._items.reduce((J,G)=>{if(G instanceof Q0.Name)G=W(G);if(G instanceof Q0._Code)J.push(...G._items);else J.push(G);return J},[]));function W(J){let G=Y[J.str];if(G===void 0||X[J.str]!==1)return J;return delete X[J.str],G}function $(J){return J instanceof Q0._Code&&J._items.some((G)=>G instanceof Q0.Name&&X[G.str]===1&&Y[G.str]!==void 0)}}function MT(Q,X){for(let Y in X)Q[Y]=(Q[Y]||0)-(X[Y]||0)}function uV(Q){return typeof Q=="boolean"||typeof Q=="number"||Q===null?!Q:Q0._`!${I$(Q)}`}J1.not=uV;var NT=lV(J1.operators.AND);function bT(...Q){return Q.reduce(NT)}J1.and=bT;var PT=lV(J1.operators.OR);function ZT(...Q){return Q.reduce(PT)}J1.or=ZT;function lV(Q){return(X,Y)=>X===Q0.nil?Y:Y===Q0.nil?X:Q0._`${I$(X)} ${Q} ${I$(Y)}`}function I$(Q){return Q instanceof Q0.Name?Q:Q0._`(${Q})`}});var $0=w((tV)=>{Object.defineProperty(tV,"__esModule",{value:!0});tV.checkStrictMode=tV.getErrorPath=tV.Type=tV.useFunc=tV.setEvaluated=tV.evaluatedPropsToName=tV.mergeEvaluated=tV.eachItem=tV.unescapeJsonPointer=tV.escapeJsonPointer=tV.escapeFragment=tV.unescapeFragment=tV.schemaRefOrVal=tV.schemaHasRulesButRef=tV.schemaHasRules=tV.checkUnknownRules=tV.alwaysValidSchema=tV.toHash=void 0;var z0=i(),IT=j8();function TT(Q){let X={};for(let Y of Q)X[Y]=!0;return X}tV.toHash=TT;function CT(Q,X){if(typeof X=="boolean")return X;if(Object.keys(X).length===0)return!0;return dV(Q,X),!iV(X,Q.self.RULES.all)}tV.alwaysValidSchema=CT;function dV(Q,X=Q.schema){let{opts:Y,self:W}=Q;if(!Y.strictSchema)return;if(typeof X==="boolean")return;let $=W.RULES.keywords;for(let J in X)if(!$[J])rV(Q,`unknown keyword: "${J}"`)}tV.checkUnknownRules=dV;function iV(Q,X){if(typeof Q=="boolean")return!Q;for(let Y in Q)if(X[Y])return!0;return!1}tV.schemaHasRules=iV;function kT(Q,X){if(typeof Q=="boolean")return!Q;for(let Y in Q)if(Y!=="$ref"&&X.all[Y])return!0;return!1}tV.schemaHasRulesButRef=kT;function vT({topSchemaRef:Q,schemaPath:X},Y,W,$){if(!$){if(typeof Y=="number"||typeof Y=="boolean")return Y;if(typeof Y=="string")return z0._`${Y}`}return z0._`${Q}${X}${(0,z0.getProperty)(W)}`}tV.schemaRefOrVal=vT;function _T(Q){return nV(decodeURIComponent(Q))}tV.unescapeFragment=_T;function xT(Q){return encodeURIComponent(k$(Q))}tV.escapeFragment=xT;function k$(Q){if(typeof Q=="number")return`${Q}`;return Q.replace(/~/g,"~0").replace(/\//g,"~1")}tV.escapeJsonPointer=k$;function nV(Q){return Q.replace(/~1/g,"/").replace(/~0/g,"~")}tV.unescapeJsonPointer=nV;function yT(Q,X){if(Array.isArray(Q))for(let Y of Q)X(Y);else X(Q)}tV.eachItem=yT;function cV({mergeNames:Q,mergeToName:X,mergeValues:Y,resultToName:W}){return($,J,G,H)=>{let B=G===void 0?J:G instanceof z0.Name?(J instanceof z0.Name?Q($,J,G):X($,J,G),G):J instanceof z0.Name?(X($,G,J),J):Y(J,G);return H===z0.Name&&!(B instanceof z0.Name)?W($,B):B}}tV.mergeEvaluated={props:cV({mergeNames:(Q,X,Y)=>Q.if(z0._`${Y} !== true && ${X} !== undefined`,()=>{Q.if(z0._`${X} === true`,()=>Q.assign(Y,!0),()=>Q.assign(Y,z0._`${Y} || {}`).code(z0._`Object.assign(${Y}, ${X})`))}),mergeToName:(Q,X,Y)=>Q.if(z0._`${Y} !== true`,()=>{if(X===!0)Q.assign(Y,!0);else Q.assign(Y,z0._`${Y} || {}`),v$(Q,Y,X)}),mergeValues:(Q,X)=>Q===!0?!0:{...Q,...X},resultToName:oV}),items:cV({mergeNames:(Q,X,Y)=>Q.if(z0._`${Y} !== true && ${X} !== undefined`,()=>Q.assign(Y,z0._`${X} === true ? true : ${Y} > ${X} ? ${Y} : ${X}`)),mergeToName:(Q,X,Y)=>Q.if(z0._`${Y} !== true`,()=>Q.assign(Y,X===!0?!0:z0._`${Y} > ${X} ? ${Y} : ${X}`)),mergeValues:(Q,X)=>Q===!0?!0:Math.max(Q,X),resultToName:(Q,X)=>Q.var("items",X)})};function oV(Q,X){if(X===!0)return Q.var("props",!0);let Y=Q.var("props",z0._`{}`);if(X!==void 0)v$(Q,Y,X);return Y}tV.evaluatedPropsToName=oV;function v$(Q,X,Y){Object.keys(Y).forEach((W)=>Q.assign(z0._`${X}${(0,z0.getProperty)(W)}`,!0))}tV.setEvaluated=v$;var pV={};function gT(Q,X){return Q.scopeValue("func",{ref:X,code:pV[X.code]||(pV[X.code]=new IT._Code(X.code))})}tV.useFunc=gT;var C$;(function(Q){Q[Q.Num=0]="Num",Q[Q.Str=1]="Str"})(C$||(tV.Type=C$={}));function fT(Q,X,Y){if(Q instanceof z0.Name){let W=X===C$.Num;return Y?W?z0._`"[" + ${Q} + "]"`:z0._`"['" + ${Q} + "']"`:W?z0._`"/" + ${Q}`:z0._`"/" + ${Q}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return Y?(0,z0.getProperty)(Q).toString():"/"+k$(Q)}tV.getErrorPath=fT;function rV(Q,X,Y=Q.opts.strictSchema){if(!Y)return;if(X=`strict mode: ${X}`,Y===!0)throw Error(X);Q.self.logger.warn(X)}tV.checkStrictMode=rV});var G6=w((sV)=>{Object.defineProperty(sV,"__esModule",{value:!0});var l0=i(),YC={data:new l0.Name("data"),valCxt:new l0.Name("valCxt"),instancePath:new l0.Name("instancePath"),parentData:new l0.Name("parentData"),parentDataProperty:new l0.Name("parentDataProperty"),rootData:new l0.Name("rootData"),dynamicAnchors:new l0.Name("dynamicAnchors"),vErrors:new l0.Name("vErrors"),errors:new l0.Name("errors"),this:new l0.Name("this"),self:new l0.Name("self"),scope:new l0.Name("scope"),json:new l0.Name("json"),jsonPos:new l0.Name("jsonPos"),jsonLen:new l0.Name("jsonLen"),jsonPart:new l0.Name("jsonPart")};sV.default=YC});var M8=w((Yq)=>{Object.defineProperty(Yq,"__esModule",{value:!0});Yq.extendErrors=Yq.resetErrorsCount=Yq.reportExtraError=Yq.reportError=Yq.keyword$DataError=Yq.keywordError=void 0;var Y0=i(),uX=$0(),n0=G6();Yq.keywordError={message:({keyword:Q})=>Y0.str`must pass "${Q}" keyword validation`};Yq.keyword$DataError={message:({keyword:Q,schemaType:X})=>X?Y0.str`"${Q}" keyword must be ${X} ($data)`:Y0.str`"${Q}" keyword is invalid ($data)`};function $C(Q,X=Yq.keywordError,Y,W){let{it:$}=Q,{gen:J,compositeRule:G,allErrors:H}=$,B=Xq(Q,X,Y);if(W!==null&&W!==void 0?W:G||H)eV(J,B);else Qq($,Y0._`[${B}]`)}Yq.reportError=$C;function JC(Q,X=Yq.keywordError,Y){let{it:W}=Q,{gen:$,compositeRule:J,allErrors:G}=W,H=Xq(Q,X,Y);if(eV($,H),!(J||G))Qq(W,n0.default.vErrors)}Yq.reportExtraError=JC;function GC(Q,X){Q.assign(n0.default.errors,X),Q.if(Y0._`${n0.default.vErrors} !== null`,()=>Q.if(X,()=>Q.assign(Y0._`${n0.default.vErrors}.length`,X),()=>Q.assign(n0.default.vErrors,null)))}Yq.resetErrorsCount=GC;function HC({gen:Q,keyword:X,schemaValue:Y,data:W,errsCount:$,it:J}){if($===void 0)throw Error("ajv implementation error");let G=Q.name("err");Q.forRange("i",$,n0.default.errors,(H)=>{if(Q.const(G,Y0._`${n0.default.vErrors}[${H}]`),Q.if(Y0._`${G}.instancePath === undefined`,()=>Q.assign(Y0._`${G}.instancePath`,(0,Y0.strConcat)(n0.default.instancePath,J.errorPath))),Q.assign(Y0._`${G}.schemaPath`,Y0.str`${J.errSchemaPath}/${X}`),J.opts.verbose)Q.assign(Y0._`${G}.schema`,Y),Q.assign(Y0._`${G}.data`,W)})}Yq.extendErrors=HC;function eV(Q,X){let Y=Q.const("err",X);Q.if(Y0._`${n0.default.vErrors} === null`,()=>Q.assign(n0.default.vErrors,Y0._`[${Y}]`),Y0._`${n0.default.vErrors}.push(${Y})`),Q.code(Y0._`${n0.default.errors}++`)}function Qq(Q,X){let{gen:Y,validateName:W,schemaEnv:$}=Q;if($.$async)Y.throw(Y0._`new ${Q.ValidationError}(${X})`);else Y.assign(Y0._`${W}.errors`,X),Y.return(!1)}var $9={keyword:new Y0.Name("keyword"),schemaPath:new Y0.Name("schemaPath"),params:new Y0.Name("params"),propertyName:new Y0.Name("propertyName"),message:new Y0.Name("message"),schema:new Y0.Name("schema"),parentSchema:new Y0.Name("parentSchema")};function Xq(Q,X,Y){let{createErrors:W}=Q.it;if(W===!1)return Y0._`{}`;return BC(Q,X,Y)}function BC(Q,X,Y={}){let{gen:W,it:$}=Q,J=[zC($,Y),KC(Q,Y)];return FC(Q,X,J),W.object(...J)}function zC({errorPath:Q},{instancePath:X}){let Y=X?Y0.str`${Q}${(0,uX.getErrorPath)(X,uX.Type.Str)}`:Q;return[n0.default.instancePath,(0,Y0.strConcat)(n0.default.instancePath,Y)]}function KC({keyword:Q,it:{errSchemaPath:X}},{schemaPath:Y,parentSchema:W}){let $=W?X:Y0.str`${X}/${Q}`;if(Y)$=Y0.str`${$}${(0,uX.getErrorPath)(Y,uX.Type.Str)}`;return[$9.schemaPath,$]}function FC(Q,{params:X,message:Y},W){let{keyword:$,data:J,schemaValue:G,it:H}=Q,{opts:B,propertyName:z,topSchemaRef:K,schemaPath:V}=H;if(W.push([$9.keyword,$],[$9.params,typeof X=="function"?X(Q):X||Y0._`{}`]),B.messages)W.push([$9.message,typeof Y=="function"?Y(Q):Y]);if(B.verbose)W.push([$9.schema,G],[$9.parentSchema,Y0._`${K}${V}`],[n0.default.data,J]);if(z)W.push([$9.propertyName,z])}});var Hq=w((Jq)=>{Object.defineProperty(Jq,"__esModule",{value:!0});Jq.boolOrEmptySchema=Jq.topBoolOrEmptySchema=void 0;var LC=M8(),OC=i(),UC=G6(),jC={message:"boolean schema is false"};function wC(Q){let{gen:X,schema:Y,validateName:W}=Q;if(Y===!1)$q(Q,!1);else if(typeof Y=="object"&&Y.$async===!0)X.return(UC.default.data);else X.assign(OC._`${W}.errors`,null),X.return(!0)}Jq.topBoolOrEmptySchema=wC;function MC(Q,X){let{gen:Y,schema:W}=Q;if(W===!1)Y.var(X,!1),$q(Q);else Y.var(X,!0)}Jq.boolOrEmptySchema=MC;function $q(Q,X){let{gen:Y,data:W}=Q,$={gen:Y,keyword:"false schema",data:W,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:Q};(0,LC.reportError)($,jC,void 0,X)}});var x$=w((Bq)=>{Object.defineProperty(Bq,"__esModule",{value:!0});Bq.getRules=Bq.isJSONType=void 0;var bC=["string","number","integer","boolean","null","object","array"],PC=new Set(bC);function ZC(Q){return typeof Q=="string"&&PC.has(Q)}Bq.isJSONType=ZC;function RC(){let Q={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...Q,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},Q.number,Q.string,Q.array,Q.object],post:{rules:[]},all:{},keywords:{}}}Bq.getRules=RC});var y$=w((Vq)=>{Object.defineProperty(Vq,"__esModule",{value:!0});Vq.shouldUseRule=Vq.shouldUseGroup=Vq.schemaHasRulesForType=void 0;function SC({schema:Q,self:X},Y){let W=X.RULES.types[Y];return W&&W!==!0&&Kq(Q,W)}Vq.schemaHasRulesForType=SC;function Kq(Q,X){return X.rules.some((Y)=>Fq(Q,Y))}Vq.shouldUseGroup=Kq;function Fq(Q,X){var Y;return Q[X.keyword]!==void 0||((Y=X.definition.implements)===null||Y===void 0?void 0:Y.some((W)=>Q[W]!==void 0))}Vq.shouldUseRule=Fq});var N8=w((Oq)=>{Object.defineProperty(Oq,"__esModule",{value:!0});Oq.reportTypeError=Oq.checkDataTypes=Oq.checkDataType=Oq.coerceAndCheckDataType=Oq.getJSONTypes=Oq.getSchemaTypes=Oq.DataType=void 0;var CC=x$(),kC=y$(),vC=M8(),d=i(),Aq=$0(),t9;(function(Q){Q[Q.Correct=0]="Correct",Q[Q.Wrong=1]="Wrong"})(t9||(Oq.DataType=t9={}));function _C(Q){let X=Dq(Q.type);if(X.includes("null")){if(Q.nullable===!1)throw Error("type: null contradicts nullable: false")}else{if(!X.length&&Q.nullable!==void 0)throw Error('"nullable" cannot be used without "type"');if(Q.nullable===!0)X.push("null")}return X}Oq.getSchemaTypes=_C;function Dq(Q){let X=Array.isArray(Q)?Q:Q?[Q]:[];if(X.every(CC.isJSONType))return X;throw Error("type must be JSONType or JSONType[]: "+X.join(","))}Oq.getJSONTypes=Dq;function xC(Q,X){let{gen:Y,data:W,opts:$}=Q,J=yC(X,$.coerceTypes),G=X.length>0&&!(J.length===0&&X.length===1&&(0,kC.schemaHasRulesForType)(Q,X[0]));if(G){let H=f$(X,W,$.strictNumbers,t9.Wrong);Y.if(H,()=>{if(J.length)gC(Q,X,J);else h$(Q)})}return G}Oq.coerceAndCheckDataType=xC;var Lq=new Set(["string","number","integer","boolean","null"]);function yC(Q,X){return X?Q.filter((Y)=>Lq.has(Y)||X==="array"&&Y==="array"):[]}function gC(Q,X,Y){let{gen:W,data:$,opts:J}=Q,G=W.let("dataType",d._`typeof ${$}`),H=W.let("coerced",d._`undefined`);if(J.coerceTypes==="array")W.if(d._`${G} == 'object' && Array.isArray(${$}) && ${$}.length == 1`,()=>W.assign($,d._`${$}[0]`).assign(G,d._`typeof ${$}`).if(f$(X,$,J.strictNumbers),()=>W.assign(H,$)));W.if(d._`${H} !== undefined`);for(let z of Y)if(Lq.has(z)||z==="array"&&J.coerceTypes==="array")B(z);W.else(),h$(Q),W.endIf(),W.if(d._`${H} !== undefined`,()=>{W.assign($,H),fC(Q,H)});function B(z){switch(z){case"string":W.elseIf(d._`${G} == "number" || ${G} == "boolean"`).assign(H,d._`"" + ${$}`).elseIf(d._`${$} === null`).assign(H,d._`""`);return;case"number":W.elseIf(d._`${G} == "boolean" || ${$} === null
2
+ import{createRequire as MU}from"node:module";var LU=Object.create;var{getPrototypeOf:OU,defineProperty:gY,getOwnPropertyNames:UU}=Object;var jU=Object.prototype.hasOwnProperty;var O9=(Q,X,Y)=>{Y=Q!=null?LU(OU(Q)):{};let W=X||!Q||!Q.__esModule?gY(Y,"default",{value:Q,enumerable:!0}):Y;for(let $ of UU(Q))if(!jU.call(W,$))gY(W,$,{get:()=>Q[$],enumerable:!0});return W};var j=(Q,X)=>()=>(X||Q((X={exports:{}}).exports,X),X.exports);var t4=(Q,X)=>{for(var Y in X)gY(Q,Y,{get:X[Y],enumerable:!0,configurable:!0,set:(W)=>X[Y]=()=>W})};var K1=MU(import.meta.url);var Y4=j((jB)=>{Object.defineProperty(jB,"__esModule",{value:!0});jB.regexpCode=jB.getEsmExportName=jB.getProperty=jB.safeStringify=jB.stringify=jB.strConcat=jB.addCodeArg=jB.str=jB._=jB.nil=jB._Code=jB.Name=jB.IDENTIFIER=jB._CodeOrName=void 0;class sQ{}jB._CodeOrName=sQ;jB.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class p9 extends sQ{constructor(Q){super();if(!jB.IDENTIFIER.test(Q))throw Error("CodeGen: name must be a valid identifier");this.str=Q}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}}jB.Name=p9;class R1 extends sQ{constructor(Q){super();this._items=typeof Q==="string"?[Q]:Q}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let Q=this._items[0];return Q===""||Q==='""'}get str(){var Q;return(Q=this._str)!==null&&Q!==void 0?Q:this._str=this._items.reduce((X,Y)=>`${X}${Y}`,"")}get names(){var Q;return(Q=this._names)!==null&&Q!==void 0?Q:this._names=this._items.reduce((X,Y)=>{if(Y instanceof p9)X[Y.str]=(X[Y.str]||0)+1;return X},{})}}jB._Code=R1;jB.nil=new R1("");function OB(Q,...X){let Y=[Q[0]],W=0;while(W<X.length)T5(Y,X[W]),Y.push(Q[++W]);return new R1(Y)}jB._=OB;var I5=new R1("+");function UB(Q,...X){let Y=[X4(Q[0])],W=0;while(W<X.length)Y.push(I5),T5(Y,X[W]),Y.push(I5,X4(Q[++W]));return Wb(Y),new R1(Y)}jB.str=UB;function T5(Q,X){if(X instanceof R1)Q.push(...X._items);else if(X instanceof p9)Q.push(X);else Q.push(Gb(X))}jB.addCodeArg=T5;function Wb(Q){let X=1;while(X<Q.length-1){if(Q[X]===I5){let Y=$b(Q[X-1],Q[X+1]);if(Y!==void 0){Q.splice(X-1,3,Y);continue}Q[X++]="+"}X++}}function $b(Q,X){if(X==='""')return Q;if(Q==='""')return X;if(typeof Q=="string"){if(X instanceof p9||Q[Q.length-1]!=='"')return;if(typeof X!="string")return`${Q.slice(0,-1)}${X}"`;if(X[0]==='"')return Q.slice(0,-1)+X.slice(1);return}if(typeof X=="string"&&X[0]==='"'&&!(Q instanceof p9))return`"${Q}${X.slice(1)}`;return}function Jb(Q,X){return X.emptyStr()?Q:Q.emptyStr()?X:UB`${Q}${X}`}jB.strConcat=Jb;function Gb(Q){return typeof Q=="number"||typeof Q=="boolean"||Q===null?Q:X4(Array.isArray(Q)?Q.join(","):Q)}function Hb(Q){return new R1(X4(Q))}jB.stringify=Hb;function X4(Q){return JSON.stringify(Q).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}jB.safeStringify=X4;function Bb(Q){return typeof Q=="string"&&jB.IDENTIFIER.test(Q)?new R1(`.${Q}`):OB`[${Q}]`}jB.getProperty=Bb;function zb(Q){if(typeof Q=="string"&&jB.IDENTIFIER.test(Q))return new R1(`${Q}`);throw Error(`CodeGen: invalid export name: ${Q}, use explicit $id name mapping`)}jB.getEsmExportName=zb;function Kb(Q){return new R1(Q.toString())}jB.regexpCode=Kb});var _5=j((bB)=>{Object.defineProperty(bB,"__esModule",{value:!0});bB.ValueScope=bB.ValueScopeName=bB.Scope=bB.varKinds=bB.UsedValueState=void 0;var Q1=Y4();class NB extends Error{constructor(Q){super(`CodeGen: "code" for ${Q} not defined`);this.value=Q.value}}var QX;(function(Q){Q[Q.Started=0]="Started",Q[Q.Completed=1]="Completed"})(QX||(bB.UsedValueState=QX={}));bB.varKinds={const:new Q1.Name("const"),let:new Q1.Name("let"),var:new Q1.Name("var")};class k5{constructor({prefixes:Q,parent:X}={}){this._names={},this._prefixes=Q,this._parent=X}toName(Q){return Q instanceof Q1.Name?Q:this.name(Q)}name(Q){return new Q1.Name(this._newName(Q))}_newName(Q){let X=this._names[Q]||this._nameGroup(Q);return`${Q}${X.index++}`}_nameGroup(Q){var X,Y;if(((Y=(X=this._parent)===null||X===void 0?void 0:X._prefixes)===null||Y===void 0?void 0:Y.has(Q))||this._prefixes&&!this._prefixes.has(Q))throw Error(`CodeGen: prefix "${Q}" is not allowed in this scope`);return this._names[Q]={prefix:Q,index:0}}}bB.Scope=k5;class v5 extends Q1.Name{constructor(Q,X){super(X);this.prefix=Q}setValue(Q,{property:X,itemIndex:Y}){this.value=Q,this.scopePath=Q1._`.${new Q1.Name(X)}[${Y}]`}}bB.ValueScopeName=v5;var bb=Q1._`\n`;class wB extends k5{constructor(Q){super(Q);this._values={},this._scope=Q.scope,this.opts={...Q,_n:Q.lines?bb:Q1.nil}}get(){return this._scope}name(Q){return new v5(Q,this._newName(Q))}value(Q,X){var Y;if(X.ref===void 0)throw Error("CodeGen: ref must be passed in value");let W=this.toName(Q),{prefix:$}=W,J=(Y=X.key)!==null&&Y!==void 0?Y:X.ref,G=this._values[$];if(G){let z=G.get(J);if(z)return z}else G=this._values[$]=new Map;G.set(J,W);let H=this._scope[$]||(this._scope[$]=[]),B=H.length;return H[B]=X.ref,W.setValue(X,{property:$,itemIndex:B}),W}getValue(Q,X){let Y=this._values[Q];if(!Y)return;return Y.get(X)}scopeRefs(Q,X=this._values){return this._reduceValues(X,(Y)=>{if(Y.scopePath===void 0)throw Error(`CodeGen: name "${Y}" has no value`);return Q1._`${Q}${Y.scopePath}`})}scopeCode(Q=this._values,X,Y){return this._reduceValues(Q,(W)=>{if(W.value===void 0)throw Error(`CodeGen: name "${W}" has no value`);return W.value.code},X,Y)}_reduceValues(Q,X,Y={},W){let $=Q1.nil;for(let J in Q){let G=Q[J];if(!G)continue;let H=Y[J]=Y[J]||new Map;G.forEach((B)=>{if(H.has(B))return;H.set(B,QX.Started);let z=X(B);if(z){let K=this.opts.es5?bB.varKinds.var:bB.varKinds.const;$=Q1._`${$}${K} ${B} = ${z};${this.opts._n}`}else if(z=W===null||W===void 0?void 0:W(B))$=Q1._`${$}${z}${this.opts._n}`;else throw new NB(B);H.set(B,QX.Completed)})}return $}}bB.ValueScope=wB});var r=j((X1)=>{Object.defineProperty(X1,"__esModule",{value:!0});X1.or=X1.and=X1.not=X1.CodeGen=X1.operators=X1.varKinds=X1.ValueScopeName=X1.ValueScope=X1.Scope=X1.Name=X1.regexpCode=X1.stringify=X1.getProperty=X1.nil=X1.strConcat=X1.str=X1._=void 0;var e=Y4(),E1=_5(),w6=Y4();Object.defineProperty(X1,"_",{enumerable:!0,get:function(){return w6._}});Object.defineProperty(X1,"str",{enumerable:!0,get:function(){return w6.str}});Object.defineProperty(X1,"strConcat",{enumerable:!0,get:function(){return w6.strConcat}});Object.defineProperty(X1,"nil",{enumerable:!0,get:function(){return w6.nil}});Object.defineProperty(X1,"getProperty",{enumerable:!0,get:function(){return w6.getProperty}});Object.defineProperty(X1,"stringify",{enumerable:!0,get:function(){return w6.stringify}});Object.defineProperty(X1,"regexpCode",{enumerable:!0,get:function(){return w6.regexpCode}});Object.defineProperty(X1,"Name",{enumerable:!0,get:function(){return w6.Name}});var GX=_5();Object.defineProperty(X1,"Scope",{enumerable:!0,get:function(){return GX.Scope}});Object.defineProperty(X1,"ValueScope",{enumerable:!0,get:function(){return GX.ValueScope}});Object.defineProperty(X1,"ValueScopeName",{enumerable:!0,get:function(){return GX.ValueScopeName}});Object.defineProperty(X1,"varKinds",{enumerable:!0,get:function(){return GX.varKinds}});X1.operators={GT:new e._Code(">"),GTE:new e._Code(">="),LT:new e._Code("<"),LTE:new e._Code("<="),EQ:new e._Code("==="),NEQ:new e._Code("!=="),NOT:new e._Code("!"),OR:new e._Code("||"),AND:new e._Code("&&"),ADD:new e._Code("+")};class b6{optimizeNodes(){return this}optimizeNames(Q,X){return this}}class ZB extends b6{constructor(Q,X,Y){super();this.varKind=Q,this.name=X,this.rhs=Y}render({es5:Q,_n:X}){let Y=Q?E1.varKinds.var:this.varKind,W=this.rhs===void 0?"":` = ${this.rhs}`;return`${Y} ${this.name}${W};`+X}optimizeNames(Q,X){if(!Q[this.name.str])return;if(this.rhs)this.rhs=i9(this.rhs,Q,X);return this}get names(){return this.rhs instanceof e._CodeOrName?this.rhs.names:{}}}class f5 extends b6{constructor(Q,X,Y){super();this.lhs=Q,this.rhs=X,this.sideEffects=Y}render({_n:Q}){return`${this.lhs} = ${this.rhs};`+Q}optimizeNames(Q,X){if(this.lhs instanceof e.Name&&!Q[this.lhs.str]&&!this.sideEffects)return;return this.rhs=i9(this.rhs,Q,X),this}get names(){let Q=this.lhs instanceof e.Name?{}:{...this.lhs.names};return JX(Q,this.rhs)}}class RB extends f5{constructor(Q,X,Y,W){super(Q,Y,W);this.op=X}render({_n:Q}){return`${this.lhs} ${this.op}= ${this.rhs};`+Q}}class EB extends b6{constructor(Q){super();this.label=Q,this.names={}}render({_n:Q}){return`${this.label}:`+Q}}class SB extends b6{constructor(Q){super();this.label=Q,this.names={}}render({_n:Q}){return`break${this.label?` ${this.label}`:""};`+Q}}class IB extends b6{constructor(Q){super();this.error=Q}render({_n:Q}){return`throw ${this.error};`+Q}get names(){return this.error.names}}class TB extends b6{constructor(Q){super();this.code=Q}render({_n:Q}){return`${this.code};`+Q}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(Q,X){return this.code=i9(this.code,Q,X),this}get names(){return this.code instanceof e._CodeOrName?this.code.names:{}}}class HX extends b6{constructor(Q=[]){super();this.nodes=Q}render(Q){return this.nodes.reduce((X,Y)=>X+Y.render(Q),"")}optimizeNodes(){let{nodes:Q}=this,X=Q.length;while(X--){let Y=Q[X].optimizeNodes();if(Array.isArray(Y))Q.splice(X,1,...Y);else if(Y)Q[X]=Y;else Q.splice(X,1)}return Q.length>0?this:void 0}optimizeNames(Q,X){let{nodes:Y}=this,W=Y.length;while(W--){let $=Y[W];if($.optimizeNames(Q,X))continue;Eb(Q,$.names),Y.splice(W,1)}return Y.length>0?this:void 0}get names(){return this.nodes.reduce((Q,X)=>W9(Q,X.names),{})}}class P6 extends HX{render(Q){return"{"+Q._n+super.render(Q)+"}"+Q._n}}class CB extends HX{}class W4 extends P6{}W4.kind="else";class X6 extends P6{constructor(Q,X){super(X);this.condition=Q}render(Q){let X=`if(${this.condition})`+super.render(Q);if(this.else)X+="else "+this.else.render(Q);return X}optimizeNodes(){super.optimizeNodes();let Q=this.condition;if(Q===!0)return this.nodes;let X=this.else;if(X){let Y=X.optimizeNodes();X=this.else=Array.isArray(Y)?new W4(Y):Y}if(X){if(Q===!1)return X instanceof X6?X:X.nodes;if(this.nodes.length)return this;return new X6(yB(Q),X instanceof X6?[X]:X.nodes)}if(Q===!1||!this.nodes.length)return;return this}optimizeNames(Q,X){var Y;if(this.else=(Y=this.else)===null||Y===void 0?void 0:Y.optimizeNames(Q,X),!(super.optimizeNames(Q,X)||this.else))return;return this.condition=i9(this.condition,Q,X),this}get names(){let Q=super.names;if(JX(Q,this.condition),this.else)W9(Q,this.else.names);return Q}}X6.kind="if";class d9 extends P6{}d9.kind="for";class kB extends d9{constructor(Q){super();this.iteration=Q}render(Q){return`for(${this.iteration})`+super.render(Q)}optimizeNames(Q,X){if(!super.optimizeNames(Q,X))return;return this.iteration=i9(this.iteration,Q,X),this}get names(){return W9(super.names,this.iteration.names)}}class vB extends d9{constructor(Q,X,Y,W){super();this.varKind=Q,this.name=X,this.from=Y,this.to=W}render(Q){let X=Q.es5?E1.varKinds.var:this.varKind,{name:Y,from:W,to:$}=this;return`for(${X} ${Y}=${W}; ${Y}<${$}; ${Y}++)`+super.render(Q)}get names(){let Q=JX(super.names,this.from);return JX(Q,this.to)}}class x5 extends d9{constructor(Q,X,Y,W){super();this.loop=Q,this.varKind=X,this.name=Y,this.iterable=W}render(Q){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(Q)}optimizeNames(Q,X){if(!super.optimizeNames(Q,X))return;return this.iterable=i9(this.iterable,Q,X),this}get names(){return W9(super.names,this.iterable.names)}}class XX extends P6{constructor(Q,X,Y){super();this.name=Q,this.args=X,this.async=Y}render(Q){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(Q)}}XX.kind="func";class YX extends HX{render(Q){return"return "+super.render(Q)}}YX.kind="return";class _B extends P6{render(Q){let X="try"+super.render(Q);if(this.catch)X+=this.catch.render(Q);if(this.finally)X+=this.finally.render(Q);return X}optimizeNodes(){var Q,X;return super.optimizeNodes(),(Q=this.catch)===null||Q===void 0||Q.optimizeNodes(),(X=this.finally)===null||X===void 0||X.optimizeNodes(),this}optimizeNames(Q,X){var Y,W;return super.optimizeNames(Q,X),(Y=this.catch)===null||Y===void 0||Y.optimizeNames(Q,X),(W=this.finally)===null||W===void 0||W.optimizeNames(Q,X),this}get names(){let Q=super.names;if(this.catch)W9(Q,this.catch.names);if(this.finally)W9(Q,this.finally.names);return Q}}class WX extends P6{constructor(Q){super();this.error=Q}render(Q){return`catch(${this.error})`+super.render(Q)}}WX.kind="catch";class $X extends P6{render(Q){return"finally"+super.render(Q)}}$X.kind="finally";class xB{constructor(Q,X={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...X,_n:X.lines?`
3
+ `:""},this._extScope=Q,this._scope=new E1.Scope({parent:Q}),this._nodes=[new CB]}toString(){return this._root.render(this.opts)}name(Q){return this._scope.name(Q)}scopeName(Q){return this._extScope.name(Q)}scopeValue(Q,X){let Y=this._extScope.value(Q,X);return(this._values[Y.prefix]||(this._values[Y.prefix]=new Set)).add(Y),Y}getScopeValue(Q,X){return this._extScope.getValue(Q,X)}scopeRefs(Q){return this._extScope.scopeRefs(Q,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(Q,X,Y,W){let $=this._scope.toName(X);if(Y!==void 0&&W)this._constants[$.str]=Y;return this._leafNode(new ZB(Q,$,Y)),$}const(Q,X,Y){return this._def(E1.varKinds.const,Q,X,Y)}let(Q,X,Y){return this._def(E1.varKinds.let,Q,X,Y)}var(Q,X,Y){return this._def(E1.varKinds.var,Q,X,Y)}assign(Q,X,Y){return this._leafNode(new f5(Q,X,Y))}add(Q,X){return this._leafNode(new RB(Q,X1.operators.ADD,X))}code(Q){if(typeof Q=="function")Q();else if(Q!==e.nil)this._leafNode(new TB(Q));return this}object(...Q){let X=["{"];for(let[Y,W]of Q){if(X.length>1)X.push(",");if(X.push(Y),Y!==W||this.opts.es5)X.push(":"),(0,e.addCodeArg)(X,W)}return X.push("}"),new e._Code(X)}if(Q,X,Y){if(this._blockNode(new X6(Q)),X&&Y)this.code(X).else().code(Y).endIf();else if(X)this.code(X).endIf();else if(Y)throw Error('CodeGen: "else" body without "then" body');return this}elseIf(Q){return this._elseNode(new X6(Q))}else(){return this._elseNode(new W4)}endIf(){return this._endBlockNode(X6,W4)}_for(Q,X){if(this._blockNode(Q),X)this.code(X).endFor();return this}for(Q,X){return this._for(new kB(Q),X)}forRange(Q,X,Y,W,$=this.opts.es5?E1.varKinds.var:E1.varKinds.let){let J=this._scope.toName(Q);return this._for(new vB($,J,X,Y),()=>W(J))}forOf(Q,X,Y,W=E1.varKinds.const){let $=this._scope.toName(Q);if(this.opts.es5){let J=X instanceof e.Name?X:this.var("_arr",X);return this.forRange("_i",0,e._`${J}.length`,(G)=>{this.var($,e._`${J}[${G}]`),Y($)})}return this._for(new x5("of",W,$,X),()=>Y($))}forIn(Q,X,Y,W=this.opts.es5?E1.varKinds.var:E1.varKinds.const){if(this.opts.ownProperties)return this.forOf(Q,e._`Object.keys(${X})`,Y);let $=this._scope.toName(Q);return this._for(new x5("in",W,$,X),()=>Y($))}endFor(){return this._endBlockNode(d9)}label(Q){return this._leafNode(new EB(Q))}break(Q){return this._leafNode(new SB(Q))}return(Q){let X=new YX;if(this._blockNode(X),this.code(Q),X.nodes.length!==1)throw Error('CodeGen: "return" should have one node');return this._endBlockNode(YX)}try(Q,X,Y){if(!X&&!Y)throw Error('CodeGen: "try" without "catch" and "finally"');let W=new _B;if(this._blockNode(W),this.code(Q),X){let $=this.name("e");this._currNode=W.catch=new WX($),X($)}if(Y)this._currNode=W.finally=new $X,this.code(Y);return this._endBlockNode(WX,$X)}throw(Q){return this._leafNode(new IB(Q))}block(Q,X){if(this._blockStarts.push(this._nodes.length),Q)this.code(Q).endBlock(X);return this}endBlock(Q){let X=this._blockStarts.pop();if(X===void 0)throw Error("CodeGen: not in self-balancing block");let Y=this._nodes.length-X;if(Y<0||Q!==void 0&&Y!==Q)throw Error(`CodeGen: wrong number of nodes: ${Y} vs ${Q} expected`);return this._nodes.length=X,this}func(Q,X=e.nil,Y,W){if(this._blockNode(new XX(Q,X,Y)),W)this.code(W).endFunc();return this}endFunc(){return this._endBlockNode(XX)}optimize(Q=1){while(Q-- >0)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(Q){return this._currNode.nodes.push(Q),this}_blockNode(Q){this._currNode.nodes.push(Q),this._nodes.push(Q)}_endBlockNode(Q,X){let Y=this._currNode;if(Y instanceof Q||X&&Y instanceof X)return this._nodes.pop(),this;throw Error(`CodeGen: not in block "${X?`${Q.kind}/${X.kind}`:Q.kind}"`)}_elseNode(Q){let X=this._currNode;if(!(X instanceof X6))throw Error('CodeGen: "else" without "if"');return this._currNode=X.else=Q,this}get _root(){return this._nodes[0]}get _currNode(){let Q=this._nodes;return Q[Q.length-1]}set _currNode(Q){let X=this._nodes;X[X.length-1]=Q}}X1.CodeGen=xB;function W9(Q,X){for(let Y in X)Q[Y]=(Q[Y]||0)+(X[Y]||0);return Q}function JX(Q,X){return X instanceof e._CodeOrName?W9(Q,X.names):Q}function i9(Q,X,Y){if(Q instanceof e.Name)return W(Q);if(!$(Q))return Q;return new e._Code(Q._items.reduce((J,G)=>{if(G instanceof e.Name)G=W(G);if(G instanceof e._Code)J.push(...G._items);else J.push(G);return J},[]));function W(J){let G=Y[J.str];if(G===void 0||X[J.str]!==1)return J;return delete X[J.str],G}function $(J){return J instanceof e._Code&&J._items.some((G)=>G instanceof e.Name&&X[G.str]===1&&Y[G.str]!==void 0)}}function Eb(Q,X){for(let Y in X)Q[Y]=(Q[Y]||0)-(X[Y]||0)}function yB(Q){return typeof Q=="boolean"||typeof Q=="number"||Q===null?!Q:e._`!${y5(Q)}`}X1.not=yB;var Sb=fB(X1.operators.AND);function Ib(...Q){return Q.reduce(Sb)}X1.and=Ib;var Tb=fB(X1.operators.OR);function Cb(...Q){return Q.reduce(Tb)}X1.or=Cb;function fB(Q){return(X,Y)=>X===e.nil?Y:Y===e.nil?X:e._`${y5(X)} ${Q} ${y5(Y)}`}function y5(Q){return Q instanceof e.Name?Q:e._`(${Q})`}});var W0=j((iB)=>{Object.defineProperty(iB,"__esModule",{value:!0});iB.checkStrictMode=iB.getErrorPath=iB.Type=iB.useFunc=iB.setEvaluated=iB.evaluatedPropsToName=iB.mergeEvaluated=iB.eachItem=iB.unescapeJsonPointer=iB.escapeJsonPointer=iB.escapeFragment=iB.unescapeFragment=iB.schemaRefOrVal=iB.schemaHasRulesButRef=iB.schemaHasRules=iB.checkUnknownRules=iB.alwaysValidSchema=iB.toHash=void 0;var B0=r(),xb=Y4();function yb(Q){let X={};for(let Y of Q)X[Y]=!0;return X}iB.toHash=yb;function fb(Q,X){if(typeof X=="boolean")return X;if(Object.keys(X).length===0)return!0;return lB(Q,X),!mB(X,Q.self.RULES.all)}iB.alwaysValidSchema=fb;function lB(Q,X=Q.schema){let{opts:Y,self:W}=Q;if(!Y.strictSchema)return;if(typeof X==="boolean")return;let $=W.RULES.keywords;for(let J in X)if(!$[J])dB(Q,`unknown keyword: "${J}"`)}iB.checkUnknownRules=lB;function mB(Q,X){if(typeof Q=="boolean")return!Q;for(let Y in Q)if(X[Y])return!0;return!1}iB.schemaHasRules=mB;function gb(Q,X){if(typeof Q=="boolean")return!Q;for(let Y in Q)if(Y!=="$ref"&&X.all[Y])return!0;return!1}iB.schemaHasRulesButRef=gb;function hb({topSchemaRef:Q,schemaPath:X},Y,W,$){if(!$){if(typeof Y=="number"||typeof Y=="boolean")return Y;if(typeof Y=="string")return B0._`${Y}`}return B0._`${Q}${X}${(0,B0.getProperty)(W)}`}iB.schemaRefOrVal=hb;function ub(Q){return cB(decodeURIComponent(Q))}iB.unescapeFragment=ub;function lb(Q){return encodeURIComponent(h5(Q))}iB.escapeFragment=lb;function h5(Q){if(typeof Q=="number")return`${Q}`;return Q.replace(/~/g,"~0").replace(/\//g,"~1")}iB.escapeJsonPointer=h5;function cB(Q){return Q.replace(/~1/g,"/").replace(/~0/g,"~")}iB.unescapeJsonPointer=cB;function mb(Q,X){if(Array.isArray(Q))for(let Y of Q)X(Y);else X(Q)}iB.eachItem=mb;function hB({mergeNames:Q,mergeToName:X,mergeValues:Y,resultToName:W}){return($,J,G,H)=>{let B=G===void 0?J:G instanceof B0.Name?(J instanceof B0.Name?Q($,J,G):X($,J,G),G):J instanceof B0.Name?(X($,G,J),J):Y(J,G);return H===B0.Name&&!(B instanceof B0.Name)?W($,B):B}}iB.mergeEvaluated={props:hB({mergeNames:(Q,X,Y)=>Q.if(B0._`${Y} !== true && ${X} !== undefined`,()=>{Q.if(B0._`${X} === true`,()=>Q.assign(Y,!0),()=>Q.assign(Y,B0._`${Y} || {}`).code(B0._`Object.assign(${Y}, ${X})`))}),mergeToName:(Q,X,Y)=>Q.if(B0._`${Y} !== true`,()=>{if(X===!0)Q.assign(Y,!0);else Q.assign(Y,B0._`${Y} || {}`),u5(Q,Y,X)}),mergeValues:(Q,X)=>Q===!0?!0:{...Q,...X},resultToName:pB}),items:hB({mergeNames:(Q,X,Y)=>Q.if(B0._`${Y} !== true && ${X} !== undefined`,()=>Q.assign(Y,B0._`${X} === true ? true : ${Y} > ${X} ? ${Y} : ${X}`)),mergeToName:(Q,X,Y)=>Q.if(B0._`${Y} !== true`,()=>Q.assign(Y,X===!0?!0:B0._`${Y} > ${X} ? ${Y} : ${X}`)),mergeValues:(Q,X)=>Q===!0?!0:Math.max(Q,X),resultToName:(Q,X)=>Q.var("items",X)})};function pB(Q,X){if(X===!0)return Q.var("props",!0);let Y=Q.var("props",B0._`{}`);if(X!==void 0)u5(Q,Y,X);return Y}iB.evaluatedPropsToName=pB;function u5(Q,X,Y){Object.keys(Y).forEach((W)=>Q.assign(B0._`${X}${(0,B0.getProperty)(W)}`,!0))}iB.setEvaluated=u5;var uB={};function cb(Q,X){return Q.scopeValue("func",{ref:X,code:uB[X.code]||(uB[X.code]=new xb._Code(X.code))})}iB.useFunc=cb;var g5;(function(Q){Q[Q.Num=0]="Num",Q[Q.Str=1]="Str"})(g5||(iB.Type=g5={}));function pb(Q,X,Y){if(Q instanceof B0.Name){let W=X===g5.Num;return Y?W?B0._`"[" + ${Q} + "]"`:B0._`"['" + ${Q} + "']"`:W?B0._`"/" + ${Q}`:B0._`"/" + ${Q}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return Y?(0,B0.getProperty)(Q).toString():"/"+h5(Q)}iB.getErrorPath=pb;function dB(Q,X,Y=Q.opts.strictSchema){if(!Y)return;if(X=`strict mode: ${X}`,Y===!0)throw Error(X);Q.self.logger.warn(X)}iB.checkStrictMode=dB});var Y6=j((oB)=>{Object.defineProperty(oB,"__esModule",{value:!0});var u0=r(),BP={data:new u0.Name("data"),valCxt:new u0.Name("valCxt"),instancePath:new u0.Name("instancePath"),parentData:new u0.Name("parentData"),parentDataProperty:new u0.Name("parentDataProperty"),rootData:new u0.Name("rootData"),dynamicAnchors:new u0.Name("dynamicAnchors"),vErrors:new u0.Name("vErrors"),errors:new u0.Name("errors"),this:new u0.Name("this"),self:new u0.Name("self"),scope:new u0.Name("scope"),json:new u0.Name("json"),jsonPos:new u0.Name("jsonPos"),jsonLen:new u0.Name("jsonLen"),jsonPart:new u0.Name("jsonPart")};oB.default=BP});var $4=j((sB)=>{Object.defineProperty(sB,"__esModule",{value:!0});sB.extendErrors=sB.resetErrorsCount=sB.reportExtraError=sB.reportError=sB.keyword$DataError=sB.keywordError=void 0;var X0=r(),zX=W0(),d0=Y6();sB.keywordError={message:({keyword:Q})=>X0.str`must pass "${Q}" keyword validation`};sB.keyword$DataError={message:({keyword:Q,schemaType:X})=>X?X0.str`"${Q}" keyword must be ${X} ($data)`:X0.str`"${Q}" keyword is invalid ($data)`};function KP(Q,X=sB.keywordError,Y,W){let{it:$}=Q,{gen:J,compositeRule:G,allErrors:H}=$,B=aB(Q,X,Y);if(W!==null&&W!==void 0?W:G||H)rB(J,B);else tB($,X0._`[${B}]`)}sB.reportError=KP;function VP(Q,X=sB.keywordError,Y){let{it:W}=Q,{gen:$,compositeRule:J,allErrors:G}=W,H=aB(Q,X,Y);if(rB($,H),!(J||G))tB(W,d0.default.vErrors)}sB.reportExtraError=VP;function FP(Q,X){Q.assign(d0.default.errors,X),Q.if(X0._`${d0.default.vErrors} !== null`,()=>Q.if(X,()=>Q.assign(X0._`${d0.default.vErrors}.length`,X),()=>Q.assign(d0.default.vErrors,null)))}sB.resetErrorsCount=FP;function AP({gen:Q,keyword:X,schemaValue:Y,data:W,errsCount:$,it:J}){if($===void 0)throw Error("ajv implementation error");let G=Q.name("err");Q.forRange("i",$,d0.default.errors,(H)=>{if(Q.const(G,X0._`${d0.default.vErrors}[${H}]`),Q.if(X0._`${G}.instancePath === undefined`,()=>Q.assign(X0._`${G}.instancePath`,(0,X0.strConcat)(d0.default.instancePath,J.errorPath))),Q.assign(X0._`${G}.schemaPath`,X0.str`${J.errSchemaPath}/${X}`),J.opts.verbose)Q.assign(X0._`${G}.schema`,Y),Q.assign(X0._`${G}.data`,W)})}sB.extendErrors=AP;function rB(Q,X){let Y=Q.const("err",X);Q.if(X0._`${d0.default.vErrors} === null`,()=>Q.assign(d0.default.vErrors,X0._`[${Y}]`),X0._`${d0.default.vErrors}.push(${Y})`),Q.code(X0._`${d0.default.errors}++`)}function tB(Q,X){let{gen:Y,validateName:W,schemaEnv:$}=Q;if($.$async)Y.throw(X0._`new ${Q.ValidationError}(${X})`);else Y.assign(X0._`${W}.errors`,X),Y.return(!1)}var $9={keyword:new X0.Name("keyword"),schemaPath:new X0.Name("schemaPath"),params:new X0.Name("params"),propertyName:new X0.Name("propertyName"),message:new X0.Name("message"),schema:new X0.Name("schema"),parentSchema:new X0.Name("parentSchema")};function aB(Q,X,Y){let{createErrors:W}=Q.it;if(W===!1)return X0._`{}`;return qP(Q,X,Y)}function qP(Q,X,Y={}){let{gen:W,it:$}=Q,J=[DP($,Y),LP(Q,Y)];return OP(Q,X,J),W.object(...J)}function DP({errorPath:Q},{instancePath:X}){let Y=X?X0.str`${Q}${(0,zX.getErrorPath)(X,zX.Type.Str)}`:Q;return[d0.default.instancePath,(0,X0.strConcat)(d0.default.instancePath,Y)]}function LP({keyword:Q,it:{errSchemaPath:X}},{schemaPath:Y,parentSchema:W}){let $=W?X:X0.str`${X}/${Q}`;if(Y)$=X0.str`${$}${(0,zX.getErrorPath)(Y,zX.Type.Str)}`;return[$9.schemaPath,$]}function OP(Q,{params:X,message:Y},W){let{keyword:$,data:J,schemaValue:G,it:H}=Q,{opts:B,propertyName:z,topSchemaRef:K,schemaPath:V}=H;if(W.push([$9.keyword,$],[$9.params,typeof X=="function"?X(Q):X||X0._`{}`]),B.messages)W.push([$9.message,typeof Y=="function"?Y(Q):Y]);if(B.verbose)W.push([$9.schema,G],[$9.parentSchema,X0._`${K}${V}`],[d0.default.data,J]);if(z)W.push([$9.propertyName,z])}});var Wz=j((Xz)=>{Object.defineProperty(Xz,"__esModule",{value:!0});Xz.boolOrEmptySchema=Xz.topBoolOrEmptySchema=void 0;var wP=$4(),bP=r(),PP=Y6(),ZP={message:"boolean schema is false"};function RP(Q){let{gen:X,schema:Y,validateName:W}=Q;if(Y===!1)Qz(Q,!1);else if(typeof Y=="object"&&Y.$async===!0)X.return(PP.default.data);else X.assign(bP._`${W}.errors`,null),X.return(!0)}Xz.topBoolOrEmptySchema=RP;function EP(Q,X){let{gen:Y,schema:W}=Q;if(W===!1)Y.var(X,!1),Qz(Q);else Y.var(X,!0)}Xz.boolOrEmptySchema=EP;function Qz(Q,X){let{gen:Y,data:W}=Q,$={gen:Y,keyword:"false schema",data:W,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:Q};(0,wP.reportError)($,ZP,void 0,X)}});var m5=j(($z)=>{Object.defineProperty($z,"__esModule",{value:!0});$z.getRules=$z.isJSONType=void 0;var IP=["string","number","integer","boolean","null","object","array"],TP=new Set(IP);function CP(Q){return typeof Q=="string"&&TP.has(Q)}$z.isJSONType=CP;function kP(){let Q={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...Q,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},Q.number,Q.string,Q.array,Q.object],post:{rules:[]},all:{},keywords:{}}}$z.getRules=kP});var c5=j((Bz)=>{Object.defineProperty(Bz,"__esModule",{value:!0});Bz.shouldUseRule=Bz.shouldUseGroup=Bz.schemaHasRulesForType=void 0;function _P({schema:Q,self:X},Y){let W=X.RULES.types[Y];return W&&W!==!0&&Gz(Q,W)}Bz.schemaHasRulesForType=_P;function Gz(Q,X){return X.rules.some((Y)=>Hz(Q,Y))}Bz.shouldUseGroup=Gz;function Hz(Q,X){var Y;return Q[X.keyword]!==void 0||((Y=X.definition.implements)===null||Y===void 0?void 0:Y.some((W)=>Q[W]!==void 0))}Bz.shouldUseRule=Hz});var J4=j((Az)=>{Object.defineProperty(Az,"__esModule",{value:!0});Az.reportTypeError=Az.checkDataTypes=Az.checkDataType=Az.coerceAndCheckDataType=Az.getJSONTypes=Az.getSchemaTypes=Az.DataType=void 0;var fP=m5(),gP=c5(),hP=$4(),d=r(),Kz=W0(),n9;(function(Q){Q[Q.Correct=0]="Correct",Q[Q.Wrong=1]="Wrong"})(n9||(Az.DataType=n9={}));function uP(Q){let X=Vz(Q.type);if(X.includes("null")){if(Q.nullable===!1)throw Error("type: null contradicts nullable: false")}else{if(!X.length&&Q.nullable!==void 0)throw Error('"nullable" cannot be used without "type"');if(Q.nullable===!0)X.push("null")}return X}Az.getSchemaTypes=uP;function Vz(Q){let X=Array.isArray(Q)?Q:Q?[Q]:[];if(X.every(fP.isJSONType))return X;throw Error("type must be JSONType or JSONType[]: "+X.join(","))}Az.getJSONTypes=Vz;function lP(Q,X){let{gen:Y,data:W,opts:$}=Q,J=mP(X,$.coerceTypes),G=X.length>0&&!(J.length===0&&X.length===1&&(0,gP.schemaHasRulesForType)(Q,X[0]));if(G){let H=d5(X,W,$.strictNumbers,n9.Wrong);Y.if(H,()=>{if(J.length)cP(Q,X,J);else i5(Q)})}return G}Az.coerceAndCheckDataType=lP;var Fz=new Set(["string","number","integer","boolean","null"]);function mP(Q,X){return X?Q.filter((Y)=>Fz.has(Y)||X==="array"&&Y==="array"):[]}function cP(Q,X,Y){let{gen:W,data:$,opts:J}=Q,G=W.let("dataType",d._`typeof ${$}`),H=W.let("coerced",d._`undefined`);if(J.coerceTypes==="array")W.if(d._`${G} == 'object' && Array.isArray(${$}) && ${$}.length == 1`,()=>W.assign($,d._`${$}[0]`).assign(G,d._`typeof ${$}`).if(d5(X,$,J.strictNumbers),()=>W.assign(H,$)));W.if(d._`${H} !== undefined`);for(let z of Y)if(Fz.has(z)||z==="array"&&J.coerceTypes==="array")B(z);W.else(),i5(Q),W.endIf(),W.if(d._`${H} !== undefined`,()=>{W.assign($,H),pP(Q,H)});function B(z){switch(z){case"string":W.elseIf(d._`${G} == "number" || ${G} == "boolean"`).assign(H,d._`"" + ${$}`).elseIf(d._`${$} === null`).assign(H,d._`""`);return;case"number":W.elseIf(d._`${G} == "boolean" || ${$} === null
11
4
  || (${G} == "string" && ${$} && ${$} == +${$})`).assign(H,d._`+${$}`);return;case"integer":W.elseIf(d._`${G} === "boolean" || ${$} === null
12
5
  || (${G} === "string" && ${$} && ${$} == +${$} && !(${$} % 1))`).assign(H,d._`+${$}`);return;case"boolean":W.elseIf(d._`${$} === "false" || ${$} === 0 || ${$} === null`).assign(H,!1).elseIf(d._`${$} === "true" || ${$} === 1`).assign(H,!0);return;case"null":W.elseIf(d._`${$} === "" || ${$} === 0 || ${$} === false`),W.assign(H,null);return;case"array":W.elseIf(d._`${G} === "string" || ${G} === "number"
13
- || ${G} === "boolean" || ${$} === null`).assign(H,d._`[${$}]`)}}}function fC({gen:Q,parentData:X,parentDataProperty:Y},W){Q.if(d._`${X} !== undefined`,()=>Q.assign(d._`${X}[${Y}]`,W))}function g$(Q,X,Y,W=t9.Correct){let $=W===t9.Correct?d.operators.EQ:d.operators.NEQ,J;switch(Q){case"null":return d._`${X} ${$} null`;case"array":J=d._`Array.isArray(${X})`;break;case"object":J=d._`${X} && typeof ${X} == "object" && !Array.isArray(${X})`;break;case"integer":J=G(d._`!(${X} % 1) && !isNaN(${X})`);break;case"number":J=G();break;default:return d._`typeof ${X} ${$} ${Q}`}return W===t9.Correct?J:(0,d.not)(J);function G(H=d.nil){return(0,d.and)(d._`typeof ${X} == "number"`,H,Y?d._`isFinite(${X})`:d.nil)}}Oq.checkDataType=g$;function f$(Q,X,Y,W){if(Q.length===1)return g$(Q[0],X,Y,W);let $,J=(0,Aq.toHash)(Q);if(J.array&&J.object){let G=d._`typeof ${X} != "object"`;$=J.null?G:d._`!${X} || ${G}`,delete J.null,delete J.array,delete J.object}else $=d.nil;if(J.number)delete J.integer;for(let G in J)$=(0,d.and)($,g$(G,X,Y,W));return $}Oq.checkDataTypes=f$;var hC={message:({schema:Q})=>`must be ${Q}`,params:({schema:Q,schemaValue:X})=>typeof Q=="string"?d._`{type: ${Q}}`:d._`{type: ${X}}`};function h$(Q){let X=uC(Q);(0,vC.reportError)(X,hC)}Oq.reportTypeError=h$;function uC(Q){let{gen:X,data:Y,schema:W}=Q,$=(0,Aq.schemaRefOrVal)(Q,W,"type");return{gen:X,keyword:"type",data:Y,schema:W.type,schemaCode:$,schemaValue:$,parentSchema:W,params:{},it:Q}}});var Nq=w((wq)=>{Object.defineProperty(wq,"__esModule",{value:!0});wq.assignDefaults=void 0;var a9=i(),nC=$0();function oC(Q,X){let{properties:Y,items:W}=Q.schema;if(X==="object"&&Y)for(let $ in Y)jq(Q,$,Y[$].default);else if(X==="array"&&Array.isArray(W))W.forEach(($,J)=>jq(Q,J,$.default))}wq.assignDefaults=oC;function jq(Q,X,Y){let{gen:W,compositeRule:$,data:J,opts:G}=Q;if(Y===void 0)return;let H=a9._`${J}${(0,a9.getProperty)(X)}`;if($){(0,nC.checkStrictMode)(Q,`default is ignored for: ${H}`);return}let B=a9._`${H} === undefined`;if(G.useDefaults==="empty")B=a9._`${B} || ${H} === null || ${H} === ""`;W.if(B,a9._`${H} = ${(0,a9.stringify)(Y)}`)}});var A1=w((Zq)=>{Object.defineProperty(Zq,"__esModule",{value:!0});Zq.validateUnion=Zq.validateArray=Zq.usePattern=Zq.callValidateCode=Zq.schemaProperties=Zq.allSchemaProperties=Zq.noPropertyInData=Zq.propertyInData=Zq.isOwnProperty=Zq.hasPropFunc=Zq.reportMissingProp=Zq.checkMissingProp=Zq.checkReportMissingProp=void 0;var L0=i(),u$=$0(),T6=G6(),rC=$0();function tC(Q,X){let{gen:Y,data:W,it:$}=Q;Y.if(m$(Y,W,X,$.opts.ownProperties),()=>{Q.setParams({missingProperty:L0._`${X}`},!0),Q.error()})}Zq.checkReportMissingProp=tC;function aC({gen:Q,data:X,it:{opts:Y}},W,$){return(0,L0.or)(...W.map((J)=>(0,L0.and)(m$(Q,X,J,Y.ownProperties),L0._`${$} = ${J}`)))}Zq.checkMissingProp=aC;function sC(Q,X){Q.setParams({missingProperty:X},!0),Q.error()}Zq.reportMissingProp=sC;function bq(Q){return Q.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:L0._`Object.prototype.hasOwnProperty`})}Zq.hasPropFunc=bq;function l$(Q,X,Y){return L0._`${bq(Q)}.call(${X}, ${Y})`}Zq.isOwnProperty=l$;function eC(Q,X,Y,W){let $=L0._`${X}${(0,L0.getProperty)(Y)} !== undefined`;return W?L0._`${$} && ${l$(Q,X,Y)}`:$}Zq.propertyInData=eC;function m$(Q,X,Y,W){let $=L0._`${X}${(0,L0.getProperty)(Y)} === undefined`;return W?(0,L0.or)($,(0,L0.not)(l$(Q,X,Y))):$}Zq.noPropertyInData=m$;function Pq(Q){return Q?Object.keys(Q).filter((X)=>X!=="__proto__"):[]}Zq.allSchemaProperties=Pq;function Q2(Q,X){return Pq(X).filter((Y)=>!(0,u$.alwaysValidSchema)(Q,X[Y]))}Zq.schemaProperties=Q2;function X2({schemaCode:Q,data:X,it:{gen:Y,topSchemaRef:W,schemaPath:$,errorPath:J},it:G},H,B,z){let K=z?L0._`${Q}, ${X}, ${W}${$}`:X,V=[[T6.default.instancePath,(0,L0.strConcat)(T6.default.instancePath,J)],[T6.default.parentData,G.parentData],[T6.default.parentDataProperty,G.parentDataProperty],[T6.default.rootData,T6.default.rootData]];if(G.opts.dynamicRef)V.push([T6.default.dynamicAnchors,T6.default.dynamicAnchors]);let D=L0._`${K}, ${Y.object(...V)}`;return B!==L0.nil?L0._`${H}.call(${B}, ${D})`:L0._`${H}(${D})`}Zq.callValidateCode=X2;var Y2=L0._`new RegExp`;function W2({gen:Q,it:{opts:X}},Y){let W=X.unicodeRegExp?"u":"",{regExp:$}=X.code,J=$(Y,W);return Q.scopeValue("pattern",{key:J.toString(),ref:J,code:L0._`${$.code==="new RegExp"?Y2:(0,rC.useFunc)(Q,$)}(${Y}, ${W})`})}Zq.usePattern=W2;function $2(Q){let{gen:X,data:Y,keyword:W,it:$}=Q,J=X.name("valid");if($.allErrors){let H=X.let("valid",!0);return G(()=>X.assign(H,!1)),H}return X.var(J,!0),G(()=>X.break()),J;function G(H){let B=X.const("len",L0._`${Y}.length`);X.forRange("i",0,B,(z)=>{Q.subschema({keyword:W,dataProp:z,dataPropType:u$.Type.Num},J),X.if((0,L0.not)(J),H)})}}Zq.validateArray=$2;function J2(Q){let{gen:X,schema:Y,keyword:W,it:$}=Q;if(!Array.isArray(Y))throw Error("ajv implementation error");if(Y.some((B)=>(0,u$.alwaysValidSchema)($,B))&&!$.opts.unevaluated)return;let G=X.let("valid",!1),H=X.name("_valid");X.block(()=>Y.forEach((B,z)=>{let K=Q.subschema({keyword:W,schemaProp:z,compositeRule:!0},H);if(X.assign(G,L0._`${G} || ${H}`),!Q.mergeValidEvaluated(K,H))X.if((0,L0.not)(G))})),Q.result(G,()=>Q.reset(),()=>Q.error(!0))}Zq.validateUnion=J2});var Cq=w((Iq)=>{Object.defineProperty(Iq,"__esModule",{value:!0});Iq.validateKeywordUsage=Iq.validSchemaType=Iq.funcKeywordCode=Iq.macroKeywordCode=void 0;var o0=i(),J9=G6(),U2=A1(),j2=M8();function w2(Q,X){let{gen:Y,keyword:W,schema:$,parentSchema:J,it:G}=Q,H=X.macro.call(G.self,$,J,G),B=Sq(Y,W,H);if(G.opts.validateSchema!==!1)G.self.validateSchema(H,!0);let z=Y.name("valid");Q.subschema({schema:H,schemaPath:o0.nil,errSchemaPath:`${G.errSchemaPath}/${W}`,topSchemaRef:B,compositeRule:!0},z),Q.pass(z,()=>Q.error(!0))}Iq.macroKeywordCode=w2;function M2(Q,X){var Y;let{gen:W,keyword:$,schema:J,parentSchema:G,$data:H,it:B}=Q;b2(B,X);let z=!H&&X.compile?X.compile.call(B.self,J,G,B):X.validate,K=Sq(W,$,z),V=W.let("valid");Q.block$data(V,D),Q.ok((Y=X.valid)!==null&&Y!==void 0?Y:V);function D(){if(X.errors===!1){if(A(),X.modifying)Eq(Q);L(()=>Q.error())}else{let O=X.async?F():q();if(X.modifying)Eq(Q);L(()=>N2(Q,O))}}function F(){let O=W.let("ruleErrs",null);return W.try(()=>A(o0._`await `),(M)=>W.assign(V,!1).if(o0._`${M} instanceof ${B.ValidationError}`,()=>W.assign(O,o0._`${M}.errors`),()=>W.throw(M))),O}function q(){let O=o0._`${K}.errors`;return W.assign(O,null),A(o0.nil),O}function A(O=X.async?o0._`await `:o0.nil){let M=B.opts.passContext?J9.default.this:J9.default.self,N=!(("compile"in X)&&!H||X.schema===!1);W.assign(V,o0._`${O}${(0,U2.callValidateCode)(Q,K,M,N)}`,X.modifying)}function L(O){var M;W.if((0,o0.not)((M=X.valid)!==null&&M!==void 0?M:V),O)}}Iq.funcKeywordCode=M2;function Eq(Q){let{gen:X,data:Y,it:W}=Q;X.if(W.parentData,()=>X.assign(Y,o0._`${W.parentData}[${W.parentDataProperty}]`))}function N2(Q,X){let{gen:Y}=Q;Y.if(o0._`Array.isArray(${X})`,()=>{Y.assign(J9.default.vErrors,o0._`${J9.default.vErrors} === null ? ${X} : ${J9.default.vErrors}.concat(${X})`).assign(J9.default.errors,o0._`${J9.default.vErrors}.length`),(0,j2.extendErrors)(Q)},()=>Q.error())}function b2({schemaEnv:Q},X){if(X.async&&!Q.$async)throw Error("async keyword in sync schema")}function Sq(Q,X,Y){if(Y===void 0)throw Error(`keyword "${X}" failed to compile`);return Q.scopeValue("keyword",typeof Y=="function"?{ref:Y}:{ref:Y,code:(0,o0.stringify)(Y)})}function P2(Q,X,Y=!1){return!X.length||X.some((W)=>W==="array"?Array.isArray(Q):W==="object"?Q&&typeof Q=="object"&&!Array.isArray(Q):typeof Q==W||Y&&typeof Q>"u")}Iq.validSchemaType=P2;function Z2({schema:Q,opts:X,self:Y,errSchemaPath:W},$,J){if(Array.isArray($.keyword)?!$.keyword.includes(J):$.keyword!==J)throw Error("ajv implementation error");let G=$.dependencies;if(G===null||G===void 0?void 0:G.some((H)=>!Object.prototype.hasOwnProperty.call(Q,H)))throw Error(`parent schema must have dependencies of ${J}: ${G.join(",")}`);if($.validateSchema){if(!$.validateSchema(Q[J])){let B=`keyword "${J}" value is invalid at path "${W}": `+Y.errorsText($.validateSchema.errors);if(X.validateSchema==="log")Y.logger.error(B);else throw Error(B)}}}Iq.validateKeywordUsage=Z2});var xq=w((vq)=>{Object.defineProperty(vq,"__esModule",{value:!0});vq.extendSubschemaMode=vq.extendSubschemaData=vq.getSubschema=void 0;var i1=i(),kq=$0();function I2(Q,{keyword:X,schemaProp:Y,schema:W,schemaPath:$,errSchemaPath:J,topSchemaRef:G}){if(X!==void 0&&W!==void 0)throw Error('both "keyword" and "schema" passed, only one allowed');if(X!==void 0){let H=Q.schema[X];return Y===void 0?{schema:H,schemaPath:i1._`${Q.schemaPath}${(0,i1.getProperty)(X)}`,errSchemaPath:`${Q.errSchemaPath}/${X}`}:{schema:H[Y],schemaPath:i1._`${Q.schemaPath}${(0,i1.getProperty)(X)}${(0,i1.getProperty)(Y)}`,errSchemaPath:`${Q.errSchemaPath}/${X}/${(0,kq.escapeFragment)(Y)}`}}if(W!==void 0){if($===void 0||J===void 0||G===void 0)throw Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:W,schemaPath:$,topSchemaRef:G,errSchemaPath:J}}throw Error('either "keyword" or "schema" must be passed')}vq.getSubschema=I2;function T2(Q,X,{dataProp:Y,dataPropType:W,data:$,dataTypes:J,propertyName:G}){if($!==void 0&&Y!==void 0)throw Error('both "data" and "dataProp" passed, only one allowed');let{gen:H}=X;if(Y!==void 0){let{errorPath:z,dataPathArr:K,opts:V}=X,D=H.let("data",i1._`${X.data}${(0,i1.getProperty)(Y)}`,!0);B(D),Q.errorPath=i1.str`${z}${(0,kq.getErrorPath)(Y,W,V.jsPropertySyntax)}`,Q.parentDataProperty=i1._`${Y}`,Q.dataPathArr=[...K,Q.parentDataProperty]}if($!==void 0){let z=$ instanceof i1.Name?$:H.let("data",$,!0);if(B(z),G!==void 0)Q.propertyName=G}if(J)Q.dataTypes=J;function B(z){Q.data=z,Q.dataLevel=X.dataLevel+1,Q.dataTypes=[],X.definedProperties=new Set,Q.parentData=X.data,Q.dataNames=[...X.dataNames,z]}}vq.extendSubschemaData=T2;function C2(Q,{jtdDiscriminator:X,jtdMetadata:Y,compositeRule:W,createErrors:$,allErrors:J}){if(W!==void 0)Q.compositeRule=W;if($!==void 0)Q.createErrors=$;if(J!==void 0)Q.allErrors=J;Q.jtdDiscriminator=X,Q.jtdMetadata=Y}vq.extendSubschemaMode=C2});var gq=w((vp,yq)=>{var C6=yq.exports=function(Q,X,Y){if(typeof X=="function")Y=X,X={};Y=X.cb||Y;var W=typeof Y=="function"?Y:Y.pre||function(){},$=Y.post||function(){};lX(X,W,$,Q,"",Q)};C6.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};C6.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};C6.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};C6.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function lX(Q,X,Y,W,$,J,G,H,B,z){if(W&&typeof W=="object"&&!Array.isArray(W)){X(W,$,J,G,H,B,z);for(var K in W){var V=W[K];if(Array.isArray(V)){if(K in C6.arrayKeywords)for(var D=0;D<V.length;D++)lX(Q,X,Y,V[D],$+"/"+K+"/"+D,J,$,K,W,D)}else if(K in C6.propsKeywords){if(V&&typeof V=="object")for(var F in V)lX(Q,X,Y,V[F],$+"/"+K+"/"+_2(F),J,$,K,W,F)}else if(K in C6.keywords||Q.allKeys&&!(K in C6.skipKeywords))lX(Q,X,Y,V,$+"/"+K,J,$,K,W)}Y(W,$,J,G,H,B,z)}}function _2(Q){return Q.replace(/~/g,"~0").replace(/\//g,"~1")}});var b8=w((lq)=>{Object.defineProperty(lq,"__esModule",{value:!0});lq.getSchemaRefs=lq.resolveUrl=lq.normalizeId=lq._getFullPath=lq.getFullPath=lq.inlineRef=void 0;var x2=$0(),y2=Q8(),g2=gq(),f2=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function h2(Q,X=!0){if(typeof Q=="boolean")return!0;if(X===!0)return!c$(Q);if(!X)return!1;return fq(Q)<=X}lq.inlineRef=h2;var u2=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function c$(Q){for(let X in Q){if(u2.has(X))return!0;let Y=Q[X];if(Array.isArray(Y)&&Y.some(c$))return!0;if(typeof Y=="object"&&c$(Y))return!0}return!1}function fq(Q){let X=0;for(let Y in Q){if(Y==="$ref")return 1/0;if(X++,f2.has(Y))continue;if(typeof Q[Y]=="object")(0,x2.eachItem)(Q[Y],(W)=>X+=fq(W));if(X===1/0)return 1/0}return X}function hq(Q,X="",Y){if(Y!==!1)X=s9(X);let W=Q.parse(X);return uq(Q,W)}lq.getFullPath=hq;function uq(Q,X){return Q.serialize(X).split("#")[0]+"#"}lq._getFullPath=uq;var l2=/#\/?$/;function s9(Q){return Q?Q.replace(l2,""):""}lq.normalizeId=s9;function m2(Q,X,Y){return Y=s9(Y),Q.resolve(X,Y)}lq.resolveUrl=m2;var c2=/^[a-z_][-a-z0-9._]*$/i;function p2(Q,X){if(typeof Q=="boolean")return{};let{schemaId:Y,uriResolver:W}=this.opts,$=s9(Q[Y]||X),J={"":$},G=hq(W,$,!1),H={},B=new Set;return g2(Q,{allKeys:!0},(V,D,F,q)=>{if(q===void 0)return;let A=G+D,L=J[q];if(typeof V[Y]=="string")L=O.call(this,V[Y]);M.call(this,V.$anchor),M.call(this,V.$dynamicAnchor),J[D]=L;function O(N){let C=this.opts.uriResolver.resolve;if(N=s9(L?C(L,N):N),B.has(N))throw K(N);B.add(N);let Z=this.refs[N];if(typeof Z=="string")Z=this.refs[Z];if(typeof Z=="object")z(V,Z.schema,N);else if(N!==s9(A))if(N[0]==="#")z(V,H[N],N),H[N]=V;else this.refs[N]=A;return N}function M(N){if(typeof N=="string"){if(!c2.test(N))throw Error(`invalid anchor "${N}"`);O.call(this,`#${N}`)}}}),H;function z(V,D,F){if(D!==void 0&&!y2(V,D))throw K(F)}function K(V){return Error(`reference "${V}" resolves to more than one schema`)}}lq.getSchemaRefs=p2});var R8=w((WA)=>{Object.defineProperty(WA,"__esModule",{value:!0});WA.getData=WA.KeywordCxt=WA.validateFunctionCode=void 0;var nq=Hq(),cq=N8(),d$=y$(),mX=N8(),t2=Nq(),Z8=Cq(),p$=xq(),y=i(),m=G6(),a2=b8(),H6=$0(),P8=M8();function s2(Q){if(tq(Q)){if(aq(Q),rq(Q)){Xk(Q);return}}oq(Q,()=>(0,nq.topBoolOrEmptySchema)(Q))}WA.validateFunctionCode=s2;function oq({gen:Q,validateName:X,schema:Y,schemaEnv:W,opts:$},J){if($.code.es5)Q.func(X,y._`${m.default.data}, ${m.default.valCxt}`,W.$async,()=>{Q.code(y._`"use strict"; ${pq(Y,$)}`),Qk(Q,$),Q.code(J)});else Q.func(X,y._`${m.default.data}, ${e2($)}`,W.$async,()=>Q.code(pq(Y,$)).code(J))}function e2(Q){return y._`{${m.default.instancePath}="", ${m.default.parentData}, ${m.default.parentDataProperty}, ${m.default.rootData}=${m.default.data}${Q.dynamicRef?y._`, ${m.default.dynamicAnchors}={}`:y.nil}}={}`}function Qk(Q,X){Q.if(m.default.valCxt,()=>{if(Q.var(m.default.instancePath,y._`${m.default.valCxt}.${m.default.instancePath}`),Q.var(m.default.parentData,y._`${m.default.valCxt}.${m.default.parentData}`),Q.var(m.default.parentDataProperty,y._`${m.default.valCxt}.${m.default.parentDataProperty}`),Q.var(m.default.rootData,y._`${m.default.valCxt}.${m.default.rootData}`),X.dynamicRef)Q.var(m.default.dynamicAnchors,y._`${m.default.valCxt}.${m.default.dynamicAnchors}`)},()=>{if(Q.var(m.default.instancePath,y._`""`),Q.var(m.default.parentData,y._`undefined`),Q.var(m.default.parentDataProperty,y._`undefined`),Q.var(m.default.rootData,m.default.data),X.dynamicRef)Q.var(m.default.dynamicAnchors,y._`{}`)})}function Xk(Q){let{schema:X,opts:Y,gen:W}=Q;oq(Q,()=>{if(Y.$comment&&X.$comment)eq(Q);if(Gk(Q),W.let(m.default.vErrors,null),W.let(m.default.errors,0),Y.unevaluated)Yk(Q);sq(Q),zk(Q)});return}function Yk(Q){let{gen:X,validateName:Y}=Q;Q.evaluated=X.const("evaluated",y._`${Y}.evaluated`),X.if(y._`${Q.evaluated}.dynamicProps`,()=>X.assign(y._`${Q.evaluated}.props`,y._`undefined`)),X.if(y._`${Q.evaluated}.dynamicItems`,()=>X.assign(y._`${Q.evaluated}.items`,y._`undefined`))}function pq(Q,X){let Y=typeof Q=="object"&&Q[X.schemaId];return Y&&(X.code.source||X.code.process)?y._`/*# sourceURL=${Y} */`:y.nil}function Wk(Q,X){if(tq(Q)){if(aq(Q),rq(Q)){$k(Q,X);return}}(0,nq.boolOrEmptySchema)(Q,X)}function rq({schema:Q,self:X}){if(typeof Q=="boolean")return!Q;for(let Y in Q)if(X.RULES.all[Y])return!0;return!1}function tq(Q){return typeof Q.schema!="boolean"}function $k(Q,X){let{schema:Y,gen:W,opts:$}=Q;if($.$comment&&Y.$comment)eq(Q);Hk(Q),Bk(Q);let J=W.const("_errs",m.default.errors);sq(Q,J),W.var(X,y._`${J} === ${m.default.errors}`)}function aq(Q){(0,H6.checkUnknownRules)(Q),Jk(Q)}function sq(Q,X){if(Q.opts.jtd)return dq(Q,[],!1,X);let Y=(0,cq.getSchemaTypes)(Q.schema),W=(0,cq.coerceAndCheckDataType)(Q,Y);dq(Q,Y,!W,X)}function Jk(Q){let{schema:X,errSchemaPath:Y,opts:W,self:$}=Q;if(X.$ref&&W.ignoreKeywordsWithRef&&(0,H6.schemaHasRulesButRef)(X,$.RULES))$.logger.warn(`$ref: keywords ignored in schema at path "${Y}"`)}function Gk(Q){let{schema:X,opts:Y}=Q;if(X.default!==void 0&&Y.useDefaults&&Y.strictSchema)(0,H6.checkStrictMode)(Q,"default is ignored in the schema root")}function Hk(Q){let X=Q.schema[Q.opts.schemaId];if(X)Q.baseId=(0,a2.resolveUrl)(Q.opts.uriResolver,Q.baseId,X)}function Bk(Q){if(Q.schema.$async&&!Q.schemaEnv.$async)throw Error("async schema in sync schema")}function eq({gen:Q,schemaEnv:X,schema:Y,errSchemaPath:W,opts:$}){let J=Y.$comment;if($.$comment===!0)Q.code(y._`${m.default.self}.logger.log(${J})`);else if(typeof $.$comment=="function"){let G=y.str`${W}/$comment`,H=Q.scopeValue("root",{ref:X.root});Q.code(y._`${m.default.self}.opts.$comment(${J}, ${G}, ${H}.schema)`)}}function zk(Q){let{gen:X,schemaEnv:Y,validateName:W,ValidationError:$,opts:J}=Q;if(Y.$async)X.if(y._`${m.default.errors} === 0`,()=>X.return(m.default.data),()=>X.throw(y._`new ${$}(${m.default.vErrors})`));else{if(X.assign(y._`${W}.errors`,m.default.vErrors),J.unevaluated)Kk(Q);X.return(y._`${m.default.errors} === 0`)}}function Kk({gen:Q,evaluated:X,props:Y,items:W}){if(Y instanceof y.Name)Q.assign(y._`${X}.props`,Y);if(W instanceof y.Name)Q.assign(y._`${X}.items`,W)}function dq(Q,X,Y,W){let{gen:$,schema:J,data:G,allErrors:H,opts:B,self:z}=Q,{RULES:K}=z;if(J.$ref&&(B.ignoreKeywordsWithRef||!(0,H6.schemaHasRulesButRef)(J,K))){$.block(()=>XA(Q,"$ref",K.all.$ref.definition));return}if(!B.jtd)Fk(Q,X);$.block(()=>{for(let D of K.rules)V(D);V(K.post)});function V(D){if(!(0,d$.shouldUseGroup)(J,D))return;if(D.type){if($.if((0,mX.checkDataType)(D.type,G,B.strictNumbers)),iq(Q,D),X.length===1&&X[0]===D.type&&Y)$.else(),(0,mX.reportTypeError)(Q);$.endIf()}else iq(Q,D);if(!H)$.if(y._`${m.default.errors} === ${W||0}`)}}function iq(Q,X){let{gen:Y,schema:W,opts:{useDefaults:$}}=Q;if($)(0,t2.assignDefaults)(Q,X.type);Y.block(()=>{for(let J of X.rules)if((0,d$.shouldUseRule)(W,J))XA(Q,J.keyword,J.definition,X.type)})}function Fk(Q,X){if(Q.schemaEnv.meta||!Q.opts.strictTypes)return;if(Vk(Q,X),!Q.opts.allowUnionTypes)qk(Q,X);Ak(Q,Q.dataTypes)}function Vk(Q,X){if(!X.length)return;if(!Q.dataTypes.length){Q.dataTypes=X;return}X.forEach((Y)=>{if(!QA(Q.dataTypes,Y))i$(Q,`type "${Y}" not allowed by context "${Q.dataTypes.join(",")}"`)}),Lk(Q,X)}function qk(Q,X){if(X.length>1&&!(X.length===2&&X.includes("null")))i$(Q,"use allowUnionTypes to allow union type keyword")}function Ak(Q,X){let Y=Q.self.RULES.all;for(let W in Y){let $=Y[W];if(typeof $=="object"&&(0,d$.shouldUseRule)(Q.schema,$)){let{type:J}=$.definition;if(J.length&&!J.some((G)=>Dk(X,G)))i$(Q,`missing type "${J.join(",")}" for keyword "${W}"`)}}}function Dk(Q,X){return Q.includes(X)||X==="number"&&Q.includes("integer")}function QA(Q,X){return Q.includes(X)||X==="integer"&&Q.includes("number")}function Lk(Q,X){let Y=[];for(let W of Q.dataTypes)if(QA(X,W))Y.push(W);else if(X.includes("integer")&&W==="number")Y.push("integer");Q.dataTypes=Y}function i$(Q,X){let Y=Q.schemaEnv.baseId+Q.errSchemaPath;X+=` at "${Y}" (strictTypes)`,(0,H6.checkStrictMode)(Q,X,Q.opts.strictTypes)}class n${constructor(Q,X,Y){if((0,Z8.validateKeywordUsage)(Q,X,Y),this.gen=Q.gen,this.allErrors=Q.allErrors,this.keyword=Y,this.data=Q.data,this.schema=Q.schema[Y],this.$data=X.$data&&Q.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,H6.schemaRefOrVal)(Q,this.schema,Y,this.$data),this.schemaType=X.schemaType,this.parentSchema=Q.schema,this.params={},this.it=Q,this.def=X,this.$data)this.schemaCode=Q.gen.const("vSchema",YA(this.$data,Q));else if(this.schemaCode=this.schemaValue,!(0,Z8.validSchemaType)(this.schema,X.schemaType,X.allowUndefined))throw Error(`${Y} value must be ${JSON.stringify(X.schemaType)}`);if("code"in X?X.trackErrors:X.errors!==!1)this.errsCount=Q.gen.const("_errs",m.default.errors)}result(Q,X,Y){this.failResult((0,y.not)(Q),X,Y)}failResult(Q,X,Y){if(this.gen.if(Q),Y)Y();else this.error();if(X){if(this.gen.else(),X(),this.allErrors)this.gen.endIf()}else if(this.allErrors)this.gen.endIf();else this.gen.else()}pass(Q,X){this.failResult((0,y.not)(Q),void 0,X)}fail(Q){if(Q===void 0){if(this.error(),!this.allErrors)this.gen.if(!1);return}if(this.gen.if(Q),this.error(),this.allErrors)this.gen.endIf();else this.gen.else()}fail$data(Q){if(!this.$data)return this.fail(Q);let{schemaCode:X}=this;this.fail(y._`${X} !== undefined && (${(0,y.or)(this.invalid$data(),Q)})`)}error(Q,X,Y){if(X){this.setParams(X),this._error(Q,Y),this.setParams({});return}this._error(Q,Y)}_error(Q,X){(Q?P8.reportExtraError:P8.reportError)(this,this.def.error,X)}$dataError(){(0,P8.reportError)(this,this.def.$dataError||P8.keyword$DataError)}reset(){if(this.errsCount===void 0)throw Error('add "trackErrors" to keyword definition');(0,P8.resetErrorsCount)(this.gen,this.errsCount)}ok(Q){if(!this.allErrors)this.gen.if(Q)}setParams(Q,X){if(X)Object.assign(this.params,Q);else this.params=Q}block$data(Q,X,Y=y.nil){this.gen.block(()=>{this.check$data(Q,Y),X()})}check$data(Q=y.nil,X=y.nil){if(!this.$data)return;let{gen:Y,schemaCode:W,schemaType:$,def:J}=this;if(Y.if((0,y.or)(y._`${W} === undefined`,X)),Q!==y.nil)Y.assign(Q,!0);if($.length||J.validateSchema){if(Y.elseIf(this.invalid$data()),this.$dataError(),Q!==y.nil)Y.assign(Q,!1)}Y.else()}invalid$data(){let{gen:Q,schemaCode:X,schemaType:Y,def:W,it:$}=this;return(0,y.or)(J(),G());function J(){if(Y.length){if(!(X instanceof y.Name))throw Error("ajv implementation error");let H=Array.isArray(Y)?Y:[Y];return y._`${(0,mX.checkDataTypes)(H,X,$.opts.strictNumbers,mX.DataType.Wrong)}`}return y.nil}function G(){if(W.validateSchema){let H=Q.scopeValue("validate$data",{ref:W.validateSchema});return y._`!${H}(${X})`}return y.nil}}subschema(Q,X){let Y=(0,p$.getSubschema)(this.it,Q);(0,p$.extendSubschemaData)(Y,this.it,Q),(0,p$.extendSubschemaMode)(Y,Q);let W={...this.it,...Y,items:void 0,props:void 0};return Wk(W,X),W}mergeEvaluated(Q,X){let{it:Y,gen:W}=this;if(!Y.opts.unevaluated)return;if(Y.props!==!0&&Q.props!==void 0)Y.props=H6.mergeEvaluated.props(W,Q.props,Y.props,X);if(Y.items!==!0&&Q.items!==void 0)Y.items=H6.mergeEvaluated.items(W,Q.items,Y.items,X)}mergeValidEvaluated(Q,X){let{it:Y,gen:W}=this;if(Y.opts.unevaluated&&(Y.props!==!0||Y.items!==!0))return W.if(X,()=>this.mergeEvaluated(Q,y.Name)),!0}}WA.KeywordCxt=n$;function XA(Q,X,Y,W){let $=new n$(Q,Y,X);if("code"in Y)Y.code($,W);else if($.$data&&Y.validate)(0,Z8.funcKeywordCode)($,Y);else if("macro"in Y)(0,Z8.macroKeywordCode)($,Y);else if(Y.compile||Y.validate)(0,Z8.funcKeywordCode)($,Y)}var Ok=/^\/(?:[^~]|~0|~1)*$/,Uk=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function YA(Q,{dataLevel:X,dataNames:Y,dataPathArr:W}){let $,J;if(Q==="")return m.default.rootData;if(Q[0]==="/"){if(!Ok.test(Q))throw Error(`Invalid JSON-pointer: ${Q}`);$=Q,J=m.default.rootData}else{let z=Uk.exec(Q);if(!z)throw Error(`Invalid JSON-pointer: ${Q}`);let K=+z[1];if($=z[2],$==="#"){if(K>=X)throw Error(B("property/index",K));return W[X-K]}if(K>X)throw Error(B("data",K));if(J=Y[X-K],!$)return J}let G=J,H=$.split("/");for(let z of H)if(z)J=y._`${J}${(0,y.getProperty)((0,H6.unescapeJsonPointer)(z))}`,G=y._`${G} && ${J}`;return G;function B(z,K){return`Cannot access ${z} ${K} levels up, current level is ${X}`}}WA.getData=YA});var cX=w((GA)=>{Object.defineProperty(GA,"__esModule",{value:!0});class JA extends Error{constructor(Q){super("validation failed");this.errors=Q,this.ajv=this.validation=!0}}GA.default=JA});var E8=w((BA)=>{Object.defineProperty(BA,"__esModule",{value:!0});var o$=b8();class HA extends Error{constructor(Q,X,Y,W){super(W||`can't resolve reference ${Y} from id ${X}`);this.missingRef=(0,o$.resolveUrl)(Q,X,Y),this.missingSchema=(0,o$.normalizeId)((0,o$.getFullPath)(Q,this.missingRef))}}BA.default=HA});var dX=w((FA)=>{Object.defineProperty(FA,"__esModule",{value:!0});FA.resolveSchema=FA.getCompilingSchema=FA.resolveRef=FA.compileSchema=FA.SchemaEnv=void 0;var k1=i(),bk=cX(),G9=G6(),v1=b8(),zA=$0(),Pk=R8();class S8{constructor(Q){var X;this.refs={},this.dynamicAnchors={};let Y;if(typeof Q.schema=="object")Y=Q.schema;this.schema=Q.schema,this.schemaId=Q.schemaId,this.root=Q.root||this,this.baseId=(X=Q.baseId)!==null&&X!==void 0?X:(0,v1.normalizeId)(Y===null||Y===void 0?void 0:Y[Q.schemaId||"$id"]),this.schemaPath=Q.schemaPath,this.localRefs=Q.localRefs,this.meta=Q.meta,this.$async=Y===null||Y===void 0?void 0:Y.$async,this.refs={}}}FA.SchemaEnv=S8;function t$(Q){let X=KA.call(this,Q);if(X)return X;let Y=(0,v1.getFullPath)(this.opts.uriResolver,Q.root.baseId),{es5:W,lines:$}=this.opts.code,{ownProperties:J}=this.opts,G=new k1.CodeGen(this.scope,{es5:W,lines:$,ownProperties:J}),H;if(Q.$async)H=G.scopeValue("Error",{ref:bk.default,code:k1._`require("ajv/dist/runtime/validation_error").default`});let B=G.scopeName("validate");Q.validateName=B;let z={gen:G,allErrors:this.opts.allErrors,data:G9.default.data,parentData:G9.default.parentData,parentDataProperty:G9.default.parentDataProperty,dataNames:[G9.default.data],dataPathArr:[k1.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:G.scopeValue("schema",this.opts.code.source===!0?{ref:Q.schema,code:(0,k1.stringify)(Q.schema)}:{ref:Q.schema}),validateName:B,ValidationError:H,schema:Q.schema,schemaEnv:Q,rootId:Y,baseId:Q.baseId||Y,schemaPath:k1.nil,errSchemaPath:Q.schemaPath||(this.opts.jtd?"":"#"),errorPath:k1._`""`,opts:this.opts,self:this},K;try{this._compilations.add(Q),(0,Pk.validateFunctionCode)(z),G.optimize(this.opts.code.optimize);let V=G.toString();if(K=`${G.scopeRefs(G9.default.scope)}return ${V}`,this.opts.code.process)K=this.opts.code.process(K,Q);let F=Function(`${G9.default.self}`,`${G9.default.scope}`,K)(this,this.scope.get());if(this.scope.value(B,{ref:F}),F.errors=null,F.schema=Q.schema,F.schemaEnv=Q,Q.$async)F.$async=!0;if(this.opts.code.source===!0)F.source={validateName:B,validateCode:V,scopeValues:G._values};if(this.opts.unevaluated){let{props:q,items:A}=z;if(F.evaluated={props:q instanceof k1.Name?void 0:q,items:A instanceof k1.Name?void 0:A,dynamicProps:q instanceof k1.Name,dynamicItems:A instanceof k1.Name},F.source)F.source.evaluated=(0,k1.stringify)(F.evaluated)}return Q.validate=F,Q}catch(V){if(delete Q.validate,delete Q.validateName,K)this.logger.error("Error compiling schema, function code:",K);throw V}finally{this._compilations.delete(Q)}}FA.compileSchema=t$;function Zk(Q,X,Y){var W;Y=(0,v1.resolveUrl)(this.opts.uriResolver,X,Y);let $=Q.refs[Y];if($)return $;let J=Sk.call(this,Q,Y);if(J===void 0){let G=(W=Q.localRefs)===null||W===void 0?void 0:W[Y],{schemaId:H}=this.opts;if(G)J=new S8({schema:G,schemaId:H,root:Q,baseId:X})}if(J===void 0)return;return Q.refs[Y]=Rk.call(this,J)}FA.resolveRef=Zk;function Rk(Q){if((0,v1.inlineRef)(Q.schema,this.opts.inlineRefs))return Q.schema;return Q.validate?Q:t$.call(this,Q)}function KA(Q){for(let X of this._compilations)if(Ek(X,Q))return X}FA.getCompilingSchema=KA;function Ek(Q,X){return Q.schema===X.schema&&Q.root===X.root&&Q.baseId===X.baseId}function Sk(Q,X){let Y;while(typeof(Y=this.refs[X])=="string")X=Y;return Y||this.schemas[X]||pX.call(this,Q,X)}function pX(Q,X){let Y=this.opts.uriResolver.parse(X),W=(0,v1._getFullPath)(this.opts.uriResolver,Y),$=(0,v1.getFullPath)(this.opts.uriResolver,Q.baseId,void 0);if(Object.keys(Q.schema).length>0&&W===$)return r$.call(this,Y,Q);let J=(0,v1.normalizeId)(W),G=this.refs[J]||this.schemas[J];if(typeof G=="string"){let H=pX.call(this,Q,G);if(typeof(H===null||H===void 0?void 0:H.schema)!=="object")return;return r$.call(this,Y,H)}if(typeof(G===null||G===void 0?void 0:G.schema)!=="object")return;if(!G.validate)t$.call(this,G);if(J===(0,v1.normalizeId)(X)){let{schema:H}=G,{schemaId:B}=this.opts,z=H[B];if(z)$=(0,v1.resolveUrl)(this.opts.uriResolver,$,z);return new S8({schema:H,schemaId:B,root:Q,baseId:$})}return r$.call(this,Y,G)}FA.resolveSchema=pX;var Ik=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function r$(Q,{baseId:X,schema:Y,root:W}){var $;if((($=Q.fragment)===null||$===void 0?void 0:$[0])!=="/")return;for(let H of Q.fragment.slice(1).split("/")){if(typeof Y==="boolean")return;let B=Y[(0,zA.unescapeFragment)(H)];if(B===void 0)return;Y=B;let z=typeof Y==="object"&&Y[this.opts.schemaId];if(!Ik.has(H)&&z)X=(0,v1.resolveUrl)(this.opts.uriResolver,X,z)}let J;if(typeof Y!="boolean"&&Y.$ref&&!(0,zA.schemaHasRulesButRef)(Y,this.RULES)){let H=(0,v1.resolveUrl)(this.opts.uriResolver,X,Y.$ref);J=pX.call(this,W,H)}let{schemaId:G}=this.opts;if(J=J||new S8({schema:Y,schemaId:G,root:W,baseId:X}),J.schema!==J.root.schema)return J;return}});var qA=w((hp,_k)=>{_k.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var LA=w((DA)=>{Object.defineProperty(DA,"__esModule",{value:!0});var AA=W$();AA.code='require("ajv/dist/runtime/uri").default';DA.default=AA});var PA=w((B6)=>{Object.defineProperty(B6,"__esModule",{value:!0});B6.CodeGen=B6.Name=B6.nil=B6.stringify=B6.str=B6._=B6.KeywordCxt=void 0;var yk=R8();Object.defineProperty(B6,"KeywordCxt",{enumerable:!0,get:function(){return yk.KeywordCxt}});var e9=i();Object.defineProperty(B6,"_",{enumerable:!0,get:function(){return e9._}});Object.defineProperty(B6,"str",{enumerable:!0,get:function(){return e9.str}});Object.defineProperty(B6,"stringify",{enumerable:!0,get:function(){return e9.stringify}});Object.defineProperty(B6,"nil",{enumerable:!0,get:function(){return e9.nil}});Object.defineProperty(B6,"Name",{enumerable:!0,get:function(){return e9.Name}});Object.defineProperty(B6,"CodeGen",{enumerable:!0,get:function(){return e9.CodeGen}});var gk=cX(),MA=E8(),fk=x$(),I8=dX(),hk=i(),T8=b8(),iX=N8(),s$=$0(),OA=qA(),uk=LA(),NA=(Q,X)=>new RegExp(Q,X);NA.code="new RegExp";var lk=["removeAdditional","useDefaults","coerceTypes"],mk=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),ck={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},pk={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},UA=200;function dk(Q){var X,Y,W,$,J,G,H,B,z,K,V,D,F,q,A,L,O,M,N,C,Z,K0,P0,g1,g6;let L1=Q.strict,f6=(X=Q.code)===null||X===void 0?void 0:X.optimize,z4=f6===!0||f6===void 0?1:f6||0,K4=(W=(Y=Q.code)===null||Y===void 0?void 0:Y.regExp)!==null&&W!==void 0?W:NA,IY=($=Q.uriResolver)!==null&&$!==void 0?$:uk.default;return{strictSchema:(G=(J=Q.strictSchema)!==null&&J!==void 0?J:L1)!==null&&G!==void 0?G:!0,strictNumbers:(B=(H=Q.strictNumbers)!==null&&H!==void 0?H:L1)!==null&&B!==void 0?B:!0,strictTypes:(K=(z=Q.strictTypes)!==null&&z!==void 0?z:L1)!==null&&K!==void 0?K:"log",strictTuples:(D=(V=Q.strictTuples)!==null&&V!==void 0?V:L1)!==null&&D!==void 0?D:"log",strictRequired:(q=(F=Q.strictRequired)!==null&&F!==void 0?F:L1)!==null&&q!==void 0?q:!1,code:Q.code?{...Q.code,optimize:z4,regExp:K4}:{optimize:z4,regExp:K4},loopRequired:(A=Q.loopRequired)!==null&&A!==void 0?A:UA,loopEnum:(L=Q.loopEnum)!==null&&L!==void 0?L:UA,meta:(O=Q.meta)!==null&&O!==void 0?O:!0,messages:(M=Q.messages)!==null&&M!==void 0?M:!0,inlineRefs:(N=Q.inlineRefs)!==null&&N!==void 0?N:!0,schemaId:(C=Q.schemaId)!==null&&C!==void 0?C:"$id",addUsedSchema:(Z=Q.addUsedSchema)!==null&&Z!==void 0?Z:!0,validateSchema:(K0=Q.validateSchema)!==null&&K0!==void 0?K0:!0,validateFormats:(P0=Q.validateFormats)!==null&&P0!==void 0?P0:!0,unicodeRegExp:(g1=Q.unicodeRegExp)!==null&&g1!==void 0?g1:!0,int32range:(g6=Q.int32range)!==null&&g6!==void 0?g6:!0,uriResolver:IY}}class nX{constructor(Q={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,Q=this.opts={...Q,...dk(Q)};let{es5:X,lines:Y}=this.opts.code;this.scope=new hk.ValueScope({scope:{},prefixes:mk,es5:X,lines:Y}),this.logger=ak(Q.logger);let W=Q.validateFormats;if(Q.validateFormats=!1,this.RULES=(0,fk.getRules)(),jA.call(this,ck,Q,"NOT SUPPORTED"),jA.call(this,pk,Q,"DEPRECATED","warn"),this._metaOpts=rk.call(this),Q.formats)nk.call(this);if(this._addVocabularies(),this._addDefaultMetaSchema(),Q.keywords)ok.call(this,Q.keywords);if(typeof Q.meta=="object")this.addMetaSchema(Q.meta);ik.call(this),Q.validateFormats=W}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:Q,meta:X,schemaId:Y}=this.opts,W=OA;if(Y==="id")W={...OA},W.id=W.$id,delete W.$id;if(X&&Q)this.addMetaSchema(W,W[Y],!1)}defaultMeta(){let{meta:Q,schemaId:X}=this.opts;return this.opts.defaultMeta=typeof Q=="object"?Q[X]||Q:void 0}validate(Q,X){let Y;if(typeof Q=="string"){if(Y=this.getSchema(Q),!Y)throw Error(`no schema with key or ref "${Q}"`)}else Y=this.compile(Q);let W=Y(X);if(!("$async"in Y))this.errors=Y.errors;return W}compile(Q,X){let Y=this._addSchema(Q,X);return Y.validate||this._compileSchemaEnv(Y)}compileAsync(Q,X){if(typeof this.opts.loadSchema!="function")throw Error("options.loadSchema should be a function");let{loadSchema:Y}=this.opts;return W.call(this,Q,X);async function W(z,K){await $.call(this,z.$schema);let V=this._addSchema(z,K);return V.validate||J.call(this,V)}async function $(z){if(z&&!this.getSchema(z))await W.call(this,{$ref:z},!0)}async function J(z){try{return this._compileSchemaEnv(z)}catch(K){if(!(K instanceof MA.default))throw K;return G.call(this,K),await H.call(this,K.missingSchema),J.call(this,z)}}function G({missingSchema:z,missingRef:K}){if(this.refs[z])throw Error(`AnySchema ${z} is loaded but ${K} cannot be resolved`)}async function H(z){let K=await B.call(this,z);if(!this.refs[z])await $.call(this,K.$schema);if(!this.refs[z])this.addSchema(K,z,X)}async function B(z){let K=this._loading[z];if(K)return K;try{return await(this._loading[z]=Y(z))}finally{delete this._loading[z]}}}addSchema(Q,X,Y,W=this.opts.validateSchema){if(Array.isArray(Q)){for(let J of Q)this.addSchema(J,void 0,Y,W);return this}let $;if(typeof Q==="object"){let{schemaId:J}=this.opts;if($=Q[J],$!==void 0&&typeof $!="string")throw Error(`schema ${J} must be string`)}return X=(0,T8.normalizeId)(X||$),this._checkUnique(X),this.schemas[X]=this._addSchema(Q,Y,X,W,!0),this}addMetaSchema(Q,X,Y=this.opts.validateSchema){return this.addSchema(Q,X,!0,Y),this}validateSchema(Q,X){if(typeof Q=="boolean")return!0;let Y;if(Y=Q.$schema,Y!==void 0&&typeof Y!="string")throw Error("$schema must be a string");if(Y=Y||this.opts.defaultMeta||this.defaultMeta(),!Y)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let W=this.validate(Y,Q);if(!W&&X){let $="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error($);else throw Error($)}return W}getSchema(Q){let X;while(typeof(X=wA.call(this,Q))=="string")Q=X;if(X===void 0){let{schemaId:Y}=this.opts,W=new I8.SchemaEnv({schema:{},schemaId:Y});if(X=I8.resolveSchema.call(this,W,Q),!X)return;this.refs[Q]=X}return X.validate||this._compileSchemaEnv(X)}removeSchema(Q){if(Q instanceof RegExp)return this._removeAllSchemas(this.schemas,Q),this._removeAllSchemas(this.refs,Q),this;switch(typeof Q){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let X=wA.call(this,Q);if(typeof X=="object")this._cache.delete(X.schema);return delete this.schemas[Q],delete this.refs[Q],this}case"object":{let X=Q;this._cache.delete(X);let Y=Q[this.opts.schemaId];if(Y)Y=(0,T8.normalizeId)(Y),delete this.schemas[Y],delete this.refs[Y];return this}default:throw Error("ajv.removeSchema: invalid parameter")}}addVocabulary(Q){for(let X of Q)this.addKeyword(X);return this}addKeyword(Q,X){let Y;if(typeof Q=="string"){if(Y=Q,typeof X=="object")this.logger.warn("these parameters are deprecated, see docs for addKeyword"),X.keyword=Y}else if(typeof Q=="object"&&X===void 0){if(X=Q,Y=X.keyword,Array.isArray(Y)&&!Y.length)throw Error("addKeywords: keyword must be string or non-empty array")}else throw Error("invalid addKeywords parameters");if(ek.call(this,Y,X),!X)return(0,s$.eachItem)(Y,($)=>a$.call(this,$)),this;Xv.call(this,X);let W={...X,type:(0,iX.getJSONTypes)(X.type),schemaType:(0,iX.getJSONTypes)(X.schemaType)};return(0,s$.eachItem)(Y,W.type.length===0?($)=>a$.call(this,$,W):($)=>W.type.forEach((J)=>a$.call(this,$,W,J))),this}getKeyword(Q){let X=this.RULES.all[Q];return typeof X=="object"?X.definition:!!X}removeKeyword(Q){let{RULES:X}=this;delete X.keywords[Q],delete X.all[Q];for(let Y of X.rules){let W=Y.rules.findIndex(($)=>$.keyword===Q);if(W>=0)Y.rules.splice(W,1)}return this}addFormat(Q,X){if(typeof X=="string")X=new RegExp(X);return this.formats[Q]=X,this}errorsText(Q=this.errors,{separator:X=", ",dataVar:Y="data"}={}){if(!Q||Q.length===0)return"No errors";return Q.map((W)=>`${Y}${W.instancePath} ${W.message}`).reduce((W,$)=>W+X+$)}$dataMetaSchema(Q,X){let Y=this.RULES.all;Q=JSON.parse(JSON.stringify(Q));for(let W of X){let $=W.split("/").slice(1),J=Q;for(let G of $)J=J[G];for(let G in Y){let H=Y[G];if(typeof H!="object")continue;let{$data:B}=H.definition,z=J[G];if(B&&z)J[G]=bA(z)}}return Q}_removeAllSchemas(Q,X){for(let Y in Q){let W=Q[Y];if(!X||X.test(Y)){if(typeof W=="string")delete Q[Y];else if(W&&!W.meta)this._cache.delete(W.schema),delete Q[Y]}}}_addSchema(Q,X,Y,W=this.opts.validateSchema,$=this.opts.addUsedSchema){let J,{schemaId:G}=this.opts;if(typeof Q=="object")J=Q[G];else if(this.opts.jtd)throw Error("schema must be object");else if(typeof Q!="boolean")throw Error("schema must be object or boolean");let H=this._cache.get(Q);if(H!==void 0)return H;Y=(0,T8.normalizeId)(J||Y);let B=T8.getSchemaRefs.call(this,Q,Y);if(H=new I8.SchemaEnv({schema:Q,schemaId:G,meta:X,baseId:Y,localRefs:B}),this._cache.set(H.schema,H),$&&!Y.startsWith("#")){if(Y)this._checkUnique(Y);this.refs[Y]=H}if(W)this.validateSchema(Q,!0);return H}_checkUnique(Q){if(this.schemas[Q]||this.refs[Q])throw Error(`schema with key or id "${Q}" already exists`)}_compileSchemaEnv(Q){if(Q.meta)this._compileMetaSchema(Q);else I8.compileSchema.call(this,Q);if(!Q.validate)throw Error("ajv implementation error");return Q.validate}_compileMetaSchema(Q){let X=this.opts;this.opts=this._metaOpts;try{I8.compileSchema.call(this,Q)}finally{this.opts=X}}}nX.ValidationError=gk.default;nX.MissingRefError=MA.default;B6.default=nX;function jA(Q,X,Y,W="error"){for(let $ in Q){let J=$;if(J in X)this.logger[W](`${Y}: option ${$}. ${Q[J]}`)}}function wA(Q){return Q=(0,T8.normalizeId)(Q),this.schemas[Q]||this.refs[Q]}function ik(){let Q=this.opts.schemas;if(!Q)return;if(Array.isArray(Q))this.addSchema(Q);else for(let X in Q)this.addSchema(Q[X],X)}function nk(){for(let Q in this.opts.formats){let X=this.opts.formats[Q];if(X)this.addFormat(Q,X)}}function ok(Q){if(Array.isArray(Q)){this.addVocabulary(Q);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let X in Q){let Y=Q[X];if(!Y.keyword)Y.keyword=X;this.addKeyword(Y)}}function rk(){let Q={...this.opts};for(let X of lk)delete Q[X];return Q}var tk={log(){},warn(){},error(){}};function ak(Q){if(Q===!1)return tk;if(Q===void 0)return console;if(Q.log&&Q.warn&&Q.error)return Q;throw Error("logger must implement log, warn and error methods")}var sk=/^[a-z_$][a-z0-9_$:-]*$/i;function ek(Q,X){let{RULES:Y}=this;if((0,s$.eachItem)(Q,(W)=>{if(Y.keywords[W])throw Error(`Keyword ${W} is already defined`);if(!sk.test(W))throw Error(`Keyword ${W} has invalid name`)}),!X)return;if(X.$data&&!(("code"in X)||("validate"in X)))throw Error('$data keyword must have "code" or "validate" function')}function a$(Q,X,Y){var W;let $=X===null||X===void 0?void 0:X.post;if(Y&&$)throw Error('keyword with "post" flag cannot have "type"');let{RULES:J}=this,G=$?J.post:J.rules.find(({type:B})=>B===Y);if(!G)G={type:Y,rules:[]},J.rules.push(G);if(J.keywords[Q]=!0,!X)return;let H={keyword:Q,definition:{...X,type:(0,iX.getJSONTypes)(X.type),schemaType:(0,iX.getJSONTypes)(X.schemaType)}};if(X.before)Qv.call(this,G,H,X.before);else G.rules.push(H);J.all[Q]=H,(W=X.implements)===null||W===void 0||W.forEach((B)=>this.addKeyword(B))}function Qv(Q,X,Y){let W=Q.rules.findIndex(($)=>$.keyword===Y);if(W>=0)Q.rules.splice(W,0,X);else Q.rules.push(X),this.logger.warn(`rule ${Y} is not defined`)}function Xv(Q){let{metaSchema:X}=Q;if(X===void 0)return;if(Q.$data&&this.opts.$data)X=bA(X);Q.validateSchema=this.compile(X,!0)}var Yv={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function bA(Q){return{anyOf:[Q,Yv]}}});var RA=w((ZA)=>{Object.defineProperty(ZA,"__esModule",{value:!0});var Jv={keyword:"id",code(){throw Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};ZA.default=Jv});var kA=w((TA)=>{Object.defineProperty(TA,"__esModule",{value:!0});TA.callRef=TA.getValidate=void 0;var Hv=E8(),EA=A1(),G1=i(),Q4=G6(),SA=dX(),oX=$0(),Bv={keyword:"$ref",schemaType:"string",code(Q){let{gen:X,schema:Y,it:W}=Q,{baseId:$,schemaEnv:J,validateName:G,opts:H,self:B}=W,{root:z}=J;if((Y==="#"||Y==="#/")&&$===z.baseId)return V();let K=SA.resolveRef.call(B,z,$,Y);if(K===void 0)throw new Hv.default(W.opts.uriResolver,$,Y);if(K instanceof SA.SchemaEnv)return D(K);return F(K);function V(){if(J===z)return rX(Q,G,J,J.$async);let q=X.scopeValue("root",{ref:z});return rX(Q,G1._`${q}.validate`,z,z.$async)}function D(q){let A=IA(Q,q);rX(Q,A,q,q.$async)}function F(q){let A=X.scopeValue("schema",H.code.source===!0?{ref:q,code:(0,G1.stringify)(q)}:{ref:q}),L=X.name("valid"),O=Q.subschema({schema:q,dataTypes:[],schemaPath:G1.nil,topSchemaRef:A,errSchemaPath:Y},L);Q.mergeEvaluated(O),Q.ok(L)}}};function IA(Q,X){let{gen:Y}=Q;return X.validate?Y.scopeValue("validate",{ref:X.validate}):G1._`${Y.scopeValue("wrapper",{ref:X})}.validate`}TA.getValidate=IA;function rX(Q,X,Y,W){let{gen:$,it:J}=Q,{allErrors:G,schemaEnv:H,opts:B}=J,z=B.passContext?Q4.default.this:G1.nil;if(W)K();else V();function K(){if(!H.$async)throw Error("async schema referenced by sync schema");let q=$.let("valid");$.try(()=>{if($.code(G1._`await ${(0,EA.callValidateCode)(Q,X,z)}`),F(X),!G)$.assign(q,!0)},(A)=>{if($.if(G1._`!(${A} instanceof ${J.ValidationError})`,()=>$.throw(A)),D(A),!G)$.assign(q,!1)}),Q.ok(q)}function V(){Q.result((0,EA.callValidateCode)(Q,X,z),()=>F(X),()=>D(X))}function D(q){let A=G1._`${q}.errors`;$.assign(Q4.default.vErrors,G1._`${Q4.default.vErrors} === null ? ${A} : ${Q4.default.vErrors}.concat(${A})`),$.assign(Q4.default.errors,G1._`${Q4.default.vErrors}.length`)}function F(q){var A;if(!J.opts.unevaluated)return;let L=(A=Y===null||Y===void 0?void 0:Y.validate)===null||A===void 0?void 0:A.evaluated;if(J.props!==!0)if(L&&!L.dynamicProps){if(L.props!==void 0)J.props=oX.mergeEvaluated.props($,L.props,J.props)}else{let O=$.var("props",G1._`${q}.evaluated.props`);J.props=oX.mergeEvaluated.props($,O,J.props,G1.Name)}if(J.items!==!0)if(L&&!L.dynamicItems){if(L.items!==void 0)J.items=oX.mergeEvaluated.items($,L.items,J.items)}else{let O=$.var("items",G1._`${q}.evaluated.items`);J.items=oX.mergeEvaluated.items($,O,J.items,G1.Name)}}}TA.callRef=rX;TA.default=Bv});var _A=w((vA)=>{Object.defineProperty(vA,"__esModule",{value:!0});var Fv=RA(),Vv=kA(),qv=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",Fv.default,Vv.default];vA.default=qv});var yA=w((xA)=>{Object.defineProperty(xA,"__esModule",{value:!0});var tX=i(),k6=tX.operators,aX={maximum:{okStr:"<=",ok:k6.LTE,fail:k6.GT},minimum:{okStr:">=",ok:k6.GTE,fail:k6.LT},exclusiveMaximum:{okStr:"<",ok:k6.LT,fail:k6.GTE},exclusiveMinimum:{okStr:">",ok:k6.GT,fail:k6.LTE}},Dv={message:({keyword:Q,schemaCode:X})=>tX.str`must be ${aX[Q].okStr} ${X}`,params:({keyword:Q,schemaCode:X})=>tX._`{comparison: ${aX[Q].okStr}, limit: ${X}}`},Lv={keyword:Object.keys(aX),type:"number",schemaType:"number",$data:!0,error:Dv,code(Q){let{keyword:X,data:Y,schemaCode:W}=Q;Q.fail$data(tX._`${Y} ${aX[X].fail} ${W} || isNaN(${Y})`)}};xA.default=Lv});var fA=w((gA)=>{Object.defineProperty(gA,"__esModule",{value:!0});var C8=i(),Uv={message:({schemaCode:Q})=>C8.str`must be multiple of ${Q}`,params:({schemaCode:Q})=>C8._`{multipleOf: ${Q}}`},jv={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:Uv,code(Q){let{gen:X,data:Y,schemaCode:W,it:$}=Q,J=$.opts.multipleOfPrecision,G=X.let("res"),H=J?C8._`Math.abs(Math.round(${G}) - ${G}) > 1e-${J}`:C8._`${G} !== parseInt(${G})`;Q.fail$data(C8._`(${W} === 0 || (${G} = ${Y}/${W}, ${H}))`)}};gA.default=jv});var lA=w((uA)=>{Object.defineProperty(uA,"__esModule",{value:!0});function hA(Q){let X=Q.length,Y=0,W=0,$;while(W<X)if(Y++,$=Q.charCodeAt(W++),$>=55296&&$<=56319&&W<X){if($=Q.charCodeAt(W),($&64512)===56320)W++}return Y}uA.default=hA;hA.code='require("ajv/dist/runtime/ucs2length").default'});var cA=w((mA)=>{Object.defineProperty(mA,"__esModule",{value:!0});var H9=i(),Nv=$0(),bv=lA(),Pv={message({keyword:Q,schemaCode:X}){let Y=Q==="maxLength"?"more":"fewer";return H9.str`must NOT have ${Y} than ${X} characters`},params:({schemaCode:Q})=>H9._`{limit: ${Q}}`},Zv={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:Pv,code(Q){let{keyword:X,data:Y,schemaCode:W,it:$}=Q,J=X==="maxLength"?H9.operators.GT:H9.operators.LT,G=$.opts.unicode===!1?H9._`${Y}.length`:H9._`${(0,Nv.useFunc)(Q.gen,bv.default)}(${Y})`;Q.fail$data(H9._`${G} ${J} ${W}`)}};mA.default=Zv});var dA=w((pA)=>{Object.defineProperty(pA,"__esModule",{value:!0});var Ev=A1(),sX=i(),Sv={message:({schemaCode:Q})=>sX.str`must match pattern "${Q}"`,params:({schemaCode:Q})=>sX._`{pattern: ${Q}}`},Iv={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:Sv,code(Q){let{data:X,$data:Y,schema:W,schemaCode:$,it:J}=Q,G=J.opts.unicodeRegExp?"u":"",H=Y?sX._`(new RegExp(${$}, ${G}))`:(0,Ev.usePattern)(Q,W);Q.fail$data(sX._`!${H}.test(${X})`)}};pA.default=Iv});var nA=w((iA)=>{Object.defineProperty(iA,"__esModule",{value:!0});var k8=i(),Cv={message({keyword:Q,schemaCode:X}){let Y=Q==="maxProperties"?"more":"fewer";return k8.str`must NOT have ${Y} than ${X} properties`},params:({schemaCode:Q})=>k8._`{limit: ${Q}}`},kv={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:Cv,code(Q){let{keyword:X,data:Y,schemaCode:W}=Q,$=X==="maxProperties"?k8.operators.GT:k8.operators.LT;Q.fail$data(k8._`Object.keys(${Y}).length ${$} ${W}`)}};iA.default=kv});var rA=w((oA)=>{Object.defineProperty(oA,"__esModule",{value:!0});var v8=A1(),_8=i(),_v=$0(),xv={message:({params:{missingProperty:Q}})=>_8.str`must have required property '${Q}'`,params:({params:{missingProperty:Q}})=>_8._`{missingProperty: ${Q}}`},yv={keyword:"required",type:"object",schemaType:"array",$data:!0,error:xv,code(Q){let{gen:X,schema:Y,schemaCode:W,data:$,$data:J,it:G}=Q,{opts:H}=G;if(!J&&Y.length===0)return;let B=Y.length>=H.loopRequired;if(G.allErrors)z();else K();if(H.strictRequired){let F=Q.parentSchema.properties,{definedProperties:q}=Q.it;for(let A of Y)if((F===null||F===void 0?void 0:F[A])===void 0&&!q.has(A)){let L=G.schemaEnv.baseId+G.errSchemaPath,O=`required property "${A}" is not defined at "${L}" (strictRequired)`;(0,_v.checkStrictMode)(G,O,G.opts.strictRequired)}}function z(){if(B||J)Q.block$data(_8.nil,V);else for(let F of Y)(0,v8.checkReportMissingProp)(Q,F)}function K(){let F=X.let("missing");if(B||J){let q=X.let("valid",!0);Q.block$data(q,()=>D(F,q)),Q.ok(q)}else X.if((0,v8.checkMissingProp)(Q,Y,F)),(0,v8.reportMissingProp)(Q,F),X.else()}function V(){X.forOf("prop",W,(F)=>{Q.setParams({missingProperty:F}),X.if((0,v8.noPropertyInData)(X,$,F,H.ownProperties),()=>Q.error())})}function D(F,q){Q.setParams({missingProperty:F}),X.forOf(F,W,()=>{X.assign(q,(0,v8.propertyInData)(X,$,F,H.ownProperties)),X.if((0,_8.not)(q),()=>{Q.error(),X.break()})},_8.nil)}}};oA.default=yv});var aA=w((tA)=>{Object.defineProperty(tA,"__esModule",{value:!0});var x8=i(),fv={message({keyword:Q,schemaCode:X}){let Y=Q==="maxItems"?"more":"fewer";return x8.str`must NOT have ${Y} than ${X} items`},params:({schemaCode:Q})=>x8._`{limit: ${Q}}`},hv={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:fv,code(Q){let{keyword:X,data:Y,schemaCode:W}=Q,$=X==="maxItems"?x8.operators.GT:x8.operators.LT;Q.fail$data(x8._`${Y}.length ${$} ${W}`)}};tA.default=hv});var eX=w((eA)=>{Object.defineProperty(eA,"__esModule",{value:!0});var sA=Q8();sA.code='require("ajv/dist/runtime/equal").default';eA.default=sA});var XD=w((QD)=>{Object.defineProperty(QD,"__esModule",{value:!0});var e$=N8(),g0=i(),mv=$0(),cv=eX(),pv={message:({params:{i:Q,j:X}})=>g0.str`must NOT have duplicate items (items ## ${X} and ${Q} are identical)`,params:({params:{i:Q,j:X}})=>g0._`{i: ${Q}, j: ${X}}`},dv={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:pv,code(Q){let{gen:X,data:Y,$data:W,schema:$,parentSchema:J,schemaCode:G,it:H}=Q;if(!W&&!$)return;let B=X.let("valid"),z=J.items?(0,e$.getSchemaTypes)(J.items):[];Q.block$data(B,K,g0._`${G} === false`),Q.ok(B);function K(){let q=X.let("i",g0._`${Y}.length`),A=X.let("j");Q.setParams({i:q,j:A}),X.assign(B,!0),X.if(g0._`${q} > 1`,()=>(V()?D:F)(q,A))}function V(){return z.length>0&&!z.some((q)=>q==="object"||q==="array")}function D(q,A){let L=X.name("item"),O=(0,e$.checkDataTypes)(z,L,H.opts.strictNumbers,e$.DataType.Wrong),M=X.const("indices",g0._`{}`);X.for(g0._`;${q}--;`,()=>{if(X.let(L,g0._`${Y}[${q}]`),X.if(O,g0._`continue`),z.length>1)X.if(g0._`typeof ${L} == "string"`,g0._`${L} += "_"`);X.if(g0._`typeof ${M}[${L}] == "number"`,()=>{X.assign(A,g0._`${M}[${L}]`),Q.error(),X.assign(B,!1).break()}).code(g0._`${M}[${L}] = ${q}`)})}function F(q,A){let L=(0,mv.useFunc)(X,cv.default),O=X.name("outer");X.label(O).for(g0._`;${q}--;`,()=>X.for(g0._`${A} = ${q}; ${A}--;`,()=>X.if(g0._`${L}(${Y}[${q}], ${Y}[${A}])`,()=>{Q.error(),X.assign(B,!1).break(O)})))}}};QD.default=dv});var WD=w((YD)=>{Object.defineProperty(YD,"__esModule",{value:!0});var QJ=i(),nv=$0(),ov=eX(),rv={message:"must be equal to constant",params:({schemaCode:Q})=>QJ._`{allowedValue: ${Q}}`},tv={keyword:"const",$data:!0,error:rv,code(Q){let{gen:X,data:Y,$data:W,schemaCode:$,schema:J}=Q;if(W||J&&typeof J=="object")Q.fail$data(QJ._`!${(0,nv.useFunc)(X,ov.default)}(${Y}, ${$})`);else Q.fail(QJ._`${J} !== ${Y}`)}};YD.default=tv});var JD=w(($D)=>{Object.defineProperty($D,"__esModule",{value:!0});var y8=i(),sv=$0(),ev=eX(),Q_={message:"must be equal to one of the allowed values",params:({schemaCode:Q})=>y8._`{allowedValues: ${Q}}`},X_={keyword:"enum",schemaType:"array",$data:!0,error:Q_,code(Q){let{gen:X,data:Y,$data:W,schema:$,schemaCode:J,it:G}=Q;if(!W&&$.length===0)throw Error("enum must have non-empty array");let H=$.length>=G.opts.loopEnum,B,z=()=>B!==null&&B!==void 0?B:B=(0,sv.useFunc)(X,ev.default),K;if(H||W)K=X.let("valid"),Q.block$data(K,V);else{if(!Array.isArray($))throw Error("ajv implementation error");let F=X.const("vSchema",J);K=(0,y8.or)(...$.map((q,A)=>D(F,A)))}Q.pass(K);function V(){X.assign(K,!1),X.forOf("v",J,(F)=>X.if(y8._`${z()}(${Y}, ${F})`,()=>X.assign(K,!0).break()))}function D(F,q){let A=$[q];return typeof A==="object"&&A!==null?y8._`${z()}(${Y}, ${F}[${q}])`:y8._`${Y} === ${A}`}}};$D.default=X_});var HD=w((GD)=>{Object.defineProperty(GD,"__esModule",{value:!0});var W_=yA(),$_=fA(),J_=cA(),G_=dA(),H_=nA(),B_=rA(),z_=aA(),K_=XD(),F_=WD(),V_=JD(),q_=[W_.default,$_.default,J_.default,G_.default,H_.default,B_.default,z_.default,K_.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},F_.default,V_.default];GD.default=q_});var YJ=w((zD)=>{Object.defineProperty(zD,"__esModule",{value:!0});zD.validateAdditionalItems=void 0;var B9=i(),XJ=$0(),D_={message:({params:{len:Q}})=>B9.str`must NOT have more than ${Q} items`,params:({params:{len:Q}})=>B9._`{limit: ${Q}}`},L_={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:D_,code(Q){let{parentSchema:X,it:Y}=Q,{items:W}=X;if(!Array.isArray(W)){(0,XJ.checkStrictMode)(Y,'"additionalItems" is ignored when "items" is not an array of schemas');return}BD(Q,W)}};function BD(Q,X){let{gen:Y,schema:W,data:$,keyword:J,it:G}=Q;G.items=!0;let H=Y.const("len",B9._`${$}.length`);if(W===!1)Q.setParams({len:X.length}),Q.pass(B9._`${H} <= ${X.length}`);else if(typeof W=="object"&&!(0,XJ.alwaysValidSchema)(G,W)){let z=Y.var("valid",B9._`${H} <= ${X.length}`);Y.if((0,B9.not)(z),()=>B(z)),Q.ok(z)}function B(z){Y.forRange("i",X.length,H,(K)=>{if(Q.subschema({keyword:J,dataProp:K,dataPropType:XJ.Type.Num},z),!G.allErrors)Y.if((0,B9.not)(z),()=>Y.break())})}}zD.validateAdditionalItems=BD;zD.default=L_});var WJ=w((qD)=>{Object.defineProperty(qD,"__esModule",{value:!0});qD.validateTuple=void 0;var FD=i(),QY=$0(),U_=A1(),j_={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(Q){let{schema:X,it:Y}=Q;if(Array.isArray(X))return VD(Q,"additionalItems",X);if(Y.items=!0,(0,QY.alwaysValidSchema)(Y,X))return;Q.ok((0,U_.validateArray)(Q))}};function VD(Q,X,Y=Q.schema){let{gen:W,parentSchema:$,data:J,keyword:G,it:H}=Q;if(K($),H.opts.unevaluated&&Y.length&&H.items!==!0)H.items=QY.mergeEvaluated.items(W,Y.length,H.items);let B=W.name("valid"),z=W.const("len",FD._`${J}.length`);Y.forEach((V,D)=>{if((0,QY.alwaysValidSchema)(H,V))return;W.if(FD._`${z} > ${D}`,()=>Q.subschema({keyword:G,schemaProp:D,dataProp:D},B)),Q.ok(B)});function K(V){let{opts:D,errSchemaPath:F}=H,q=Y.length,A=q===V.minItems&&(q===V.maxItems||V[X]===!1);if(D.strictTuples&&!A){let L=`"${G}" is ${q}-tuple, but minItems or maxItems/${X} are not specified or different at path "${F}"`;(0,QY.checkStrictMode)(H,L,D.strictTuples)}}}qD.validateTuple=VD;qD.default=j_});var LD=w((DD)=>{Object.defineProperty(DD,"__esModule",{value:!0});var M_=WJ(),N_={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:(Q)=>(0,M_.validateTuple)(Q,"items")};DD.default=N_});var jD=w((UD)=>{Object.defineProperty(UD,"__esModule",{value:!0});var OD=i(),P_=$0(),Z_=A1(),R_=YJ(),E_={message:({params:{len:Q}})=>OD.str`must NOT have more than ${Q} items`,params:({params:{len:Q}})=>OD._`{limit: ${Q}}`},S_={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:E_,code(Q){let{schema:X,parentSchema:Y,it:W}=Q,{prefixItems:$}=Y;if(W.items=!0,(0,P_.alwaysValidSchema)(W,X))return;if($)(0,R_.validateAdditionalItems)(Q,$);else Q.ok((0,Z_.validateArray)(Q))}};UD.default=S_});var MD=w((wD)=>{Object.defineProperty(wD,"__esModule",{value:!0});var D1=i(),XY=$0(),T_={message:({params:{min:Q,max:X}})=>X===void 0?D1.str`must contain at least ${Q} valid item(s)`:D1.str`must contain at least ${Q} and no more than ${X} valid item(s)`,params:({params:{min:Q,max:X}})=>X===void 0?D1._`{minContains: ${Q}}`:D1._`{minContains: ${Q}, maxContains: ${X}}`},C_={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:T_,code(Q){let{gen:X,schema:Y,parentSchema:W,data:$,it:J}=Q,G,H,{minContains:B,maxContains:z}=W;if(J.opts.next)G=B===void 0?1:B,H=z;else G=1;let K=X.const("len",D1._`${$}.length`);if(Q.setParams({min:G,max:H}),H===void 0&&G===0){(0,XY.checkStrictMode)(J,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(H!==void 0&&G>H){(0,XY.checkStrictMode)(J,'"minContains" > "maxContains" is always invalid'),Q.fail();return}if((0,XY.alwaysValidSchema)(J,Y)){let A=D1._`${K} >= ${G}`;if(H!==void 0)A=D1._`${A} && ${K} <= ${H}`;Q.pass(A);return}J.items=!0;let V=X.name("valid");if(H===void 0&&G===1)F(V,()=>X.if(V,()=>X.break()));else if(G===0){if(X.let(V,!0),H!==void 0)X.if(D1._`${$}.length > 0`,D)}else X.let(V,!1),D();Q.result(V,()=>Q.reset());function D(){let A=X.name("_valid"),L=X.let("count",0);F(A,()=>X.if(A,()=>q(L)))}function F(A,L){X.forRange("i",0,K,(O)=>{Q.subschema({keyword:"contains",dataProp:O,dataPropType:XY.Type.Num,compositeRule:!0},A),L()})}function q(A){if(X.code(D1._`${A}++`),H===void 0)X.if(D1._`${A} >= ${G}`,()=>X.assign(V,!0).break());else if(X.if(D1._`${A} > ${H}`,()=>X.assign(V,!1).break()),G===1)X.assign(V,!0);else X.if(D1._`${A} >= ${G}`,()=>X.assign(V,!0))}}};wD.default=C_});var ED=w((PD)=>{Object.defineProperty(PD,"__esModule",{value:!0});PD.validateSchemaDeps=PD.validatePropertyDeps=PD.error=void 0;var $J=i(),v_=$0(),g8=A1();PD.error={message:({params:{property:Q,depsCount:X,deps:Y}})=>{let W=X===1?"property":"properties";return $J.str`must have ${W} ${Y} when property ${Q} is present`},params:({params:{property:Q,depsCount:X,deps:Y,missingProperty:W}})=>$J._`{property: ${Q},
6
+ || ${G} === "boolean" || ${$} === null`).assign(H,d._`[${$}]`)}}}function pP({gen:Q,parentData:X,parentDataProperty:Y},W){Q.if(d._`${X} !== undefined`,()=>Q.assign(d._`${X}[${Y}]`,W))}function p5(Q,X,Y,W=n9.Correct){let $=W===n9.Correct?d.operators.EQ:d.operators.NEQ,J;switch(Q){case"null":return d._`${X} ${$} null`;case"array":J=d._`Array.isArray(${X})`;break;case"object":J=d._`${X} && typeof ${X} == "object" && !Array.isArray(${X})`;break;case"integer":J=G(d._`!(${X} % 1) && !isNaN(${X})`);break;case"number":J=G();break;default:return d._`typeof ${X} ${$} ${Q}`}return W===n9.Correct?J:(0,d.not)(J);function G(H=d.nil){return(0,d.and)(d._`typeof ${X} == "number"`,H,Y?d._`isFinite(${X})`:d.nil)}}Az.checkDataType=p5;function d5(Q,X,Y,W){if(Q.length===1)return p5(Q[0],X,Y,W);let $,J=(0,Kz.toHash)(Q);if(J.array&&J.object){let G=d._`typeof ${X} != "object"`;$=J.null?G:d._`!${X} || ${G}`,delete J.null,delete J.array,delete J.object}else $=d.nil;if(J.number)delete J.integer;for(let G in J)$=(0,d.and)($,p5(G,X,Y,W));return $}Az.checkDataTypes=d5;var dP={message:({schema:Q})=>`must be ${Q}`,params:({schema:Q,schemaValue:X})=>typeof Q=="string"?d._`{type: ${Q}}`:d._`{type: ${X}}`};function i5(Q){let X=iP(Q);(0,hP.reportError)(X,dP)}Az.reportTypeError=i5;function iP(Q){let{gen:X,data:Y,schema:W}=Q,$=(0,Kz.schemaRefOrVal)(Q,W,"type");return{gen:X,keyword:"type",data:Y,schema:W.type,schemaCode:$,schemaValue:$,parentSchema:W,params:{},it:Q}}});var Uz=j((Lz)=>{Object.defineProperty(Lz,"__esModule",{value:!0});Lz.assignDefaults=void 0;var o9=r(),eP=W0();function QZ(Q,X){let{properties:Y,items:W}=Q.schema;if(X==="object"&&Y)for(let $ in Y)Dz(Q,$,Y[$].default);else if(X==="array"&&Array.isArray(W))W.forEach(($,J)=>Dz(Q,J,$.default))}Lz.assignDefaults=QZ;function Dz(Q,X,Y){let{gen:W,compositeRule:$,data:J,opts:G}=Q;if(Y===void 0)return;let H=o9._`${J}${(0,o9.getProperty)(X)}`;if($){(0,eP.checkStrictMode)(Q,`default is ignored for: ${H}`);return}let B=o9._`${H} === undefined`;if(G.useDefaults==="empty")B=o9._`${B} || ${H} === null || ${H} === ""`;W.if(B,o9._`${H} = ${(0,o9.stringify)(Y)}`)}});var A1=j((Nz)=>{Object.defineProperty(Nz,"__esModule",{value:!0});Nz.validateUnion=Nz.validateArray=Nz.usePattern=Nz.callValidateCode=Nz.schemaProperties=Nz.allSchemaProperties=Nz.noPropertyInData=Nz.propertyInData=Nz.isOwnProperty=Nz.hasPropFunc=Nz.reportMissingProp=Nz.checkMissingProp=Nz.checkReportMissingProp=void 0;var D0=r(),n5=W0(),Z6=Y6(),XZ=W0();function YZ(Q,X){let{gen:Y,data:W,it:$}=Q;Y.if(r5(Y,W,X,$.opts.ownProperties),()=>{Q.setParams({missingProperty:D0._`${X}`},!0),Q.error()})}Nz.checkReportMissingProp=YZ;function WZ({gen:Q,data:X,it:{opts:Y}},W,$){return(0,D0.or)(...W.map((J)=>(0,D0.and)(r5(Q,X,J,Y.ownProperties),D0._`${$} = ${J}`)))}Nz.checkMissingProp=WZ;function $Z(Q,X){Q.setParams({missingProperty:X},!0),Q.error()}Nz.reportMissingProp=$Z;function jz(Q){return Q.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:D0._`Object.prototype.hasOwnProperty`})}Nz.hasPropFunc=jz;function o5(Q,X,Y){return D0._`${jz(Q)}.call(${X}, ${Y})`}Nz.isOwnProperty=o5;function JZ(Q,X,Y,W){let $=D0._`${X}${(0,D0.getProperty)(Y)} !== undefined`;return W?D0._`${$} && ${o5(Q,X,Y)}`:$}Nz.propertyInData=JZ;function r5(Q,X,Y,W){let $=D0._`${X}${(0,D0.getProperty)(Y)} === undefined`;return W?(0,D0.or)($,(0,D0.not)(o5(Q,X,Y))):$}Nz.noPropertyInData=r5;function Mz(Q){return Q?Object.keys(Q).filter((X)=>X!=="__proto__"):[]}Nz.allSchemaProperties=Mz;function GZ(Q,X){return Mz(X).filter((Y)=>!(0,n5.alwaysValidSchema)(Q,X[Y]))}Nz.schemaProperties=GZ;function HZ({schemaCode:Q,data:X,it:{gen:Y,topSchemaRef:W,schemaPath:$,errorPath:J},it:G},H,B,z){let K=z?D0._`${Q}, ${X}, ${W}${$}`:X,V=[[Z6.default.instancePath,(0,D0.strConcat)(Z6.default.instancePath,J)],[Z6.default.parentData,G.parentData],[Z6.default.parentDataProperty,G.parentDataProperty],[Z6.default.rootData,Z6.default.rootData]];if(G.opts.dynamicRef)V.push([Z6.default.dynamicAnchors,Z6.default.dynamicAnchors]);let q=D0._`${K}, ${Y.object(...V)}`;return B!==D0.nil?D0._`${H}.call(${B}, ${q})`:D0._`${H}(${q})`}Nz.callValidateCode=HZ;var BZ=D0._`new RegExp`;function zZ({gen:Q,it:{opts:X}},Y){let W=X.unicodeRegExp?"u":"",{regExp:$}=X.code,J=$(Y,W);return Q.scopeValue("pattern",{key:J.toString(),ref:J,code:D0._`${$.code==="new RegExp"?BZ:(0,XZ.useFunc)(Q,$)}(${Y}, ${W})`})}Nz.usePattern=zZ;function KZ(Q){let{gen:X,data:Y,keyword:W,it:$}=Q,J=X.name("valid");if($.allErrors){let H=X.let("valid",!0);return G(()=>X.assign(H,!1)),H}return X.var(J,!0),G(()=>X.break()),J;function G(H){let B=X.const("len",D0._`${Y}.length`);X.forRange("i",0,B,(z)=>{Q.subschema({keyword:W,dataProp:z,dataPropType:n5.Type.Num},J),X.if((0,D0.not)(J),H)})}}Nz.validateArray=KZ;function VZ(Q){let{gen:X,schema:Y,keyword:W,it:$}=Q;if(!Array.isArray(Y))throw Error("ajv implementation error");if(Y.some((B)=>(0,n5.alwaysValidSchema)($,B))&&!$.opts.unevaluated)return;let G=X.let("valid",!1),H=X.name("_valid");X.block(()=>Y.forEach((B,z)=>{let K=Q.subschema({keyword:W,schemaProp:z,compositeRule:!0},H);if(X.assign(G,D0._`${G} || ${H}`),!Q.mergeValidEvaluated(K,H))X.if((0,D0.not)(G))})),Q.result(G,()=>Q.reset(),()=>Q.error(!0))}Nz.validateUnion=VZ});var Ez=j((Zz)=>{Object.defineProperty(Zz,"__esModule",{value:!0});Zz.validateKeywordUsage=Zz.validSchemaType=Zz.funcKeywordCode=Zz.macroKeywordCode=void 0;var i0=r(),J9=Y6(),PZ=A1(),ZZ=$4();function RZ(Q,X){let{gen:Y,keyword:W,schema:$,parentSchema:J,it:G}=Q,H=X.macro.call(G.self,$,J,G),B=Pz(Y,W,H);if(G.opts.validateSchema!==!1)G.self.validateSchema(H,!0);let z=Y.name("valid");Q.subschema({schema:H,schemaPath:i0.nil,errSchemaPath:`${G.errSchemaPath}/${W}`,topSchemaRef:B,compositeRule:!0},z),Q.pass(z,()=>Q.error(!0))}Zz.macroKeywordCode=RZ;function EZ(Q,X){var Y;let{gen:W,keyword:$,schema:J,parentSchema:G,$data:H,it:B}=Q;IZ(B,X);let z=!H&&X.compile?X.compile.call(B.self,J,G,B):X.validate,K=Pz(W,$,z),V=W.let("valid");Q.block$data(V,q),Q.ok((Y=X.valid)!==null&&Y!==void 0?Y:V);function q(){if(X.errors===!1){if(D(),X.modifying)bz(Q);L(()=>Q.error())}else{let O=X.async?F():A();if(X.modifying)bz(Q);L(()=>SZ(Q,O))}}function F(){let O=W.let("ruleErrs",null);return W.try(()=>D(i0._`await `),(N)=>W.assign(V,!1).if(i0._`${N} instanceof ${B.ValidationError}`,()=>W.assign(O,i0._`${N}.errors`),()=>W.throw(N))),O}function A(){let O=i0._`${K}.errors`;return W.assign(O,null),D(i0.nil),O}function D(O=X.async?i0._`await `:i0.nil){let N=B.opts.passContext?J9.default.this:J9.default.self,w=!(("compile"in X)&&!H||X.schema===!1);W.assign(V,i0._`${O}${(0,PZ.callValidateCode)(Q,K,N,w)}`,X.modifying)}function L(O){var N;W.if((0,i0.not)((N=X.valid)!==null&&N!==void 0?N:V),O)}}Zz.funcKeywordCode=EZ;function bz(Q){let{gen:X,data:Y,it:W}=Q;X.if(W.parentData,()=>X.assign(Y,i0._`${W.parentData}[${W.parentDataProperty}]`))}function SZ(Q,X){let{gen:Y}=Q;Y.if(i0._`Array.isArray(${X})`,()=>{Y.assign(J9.default.vErrors,i0._`${J9.default.vErrors} === null ? ${X} : ${J9.default.vErrors}.concat(${X})`).assign(J9.default.errors,i0._`${J9.default.vErrors}.length`),(0,ZZ.extendErrors)(Q)},()=>Q.error())}function IZ({schemaEnv:Q},X){if(X.async&&!Q.$async)throw Error("async keyword in sync schema")}function Pz(Q,X,Y){if(Y===void 0)throw Error(`keyword "${X}" failed to compile`);return Q.scopeValue("keyword",typeof Y=="function"?{ref:Y}:{ref:Y,code:(0,i0.stringify)(Y)})}function TZ(Q,X,Y=!1){return!X.length||X.some((W)=>W==="array"?Array.isArray(Q):W==="object"?Q&&typeof Q=="object"&&!Array.isArray(Q):typeof Q==W||Y&&typeof Q>"u")}Zz.validSchemaType=TZ;function CZ({schema:Q,opts:X,self:Y,errSchemaPath:W},$,J){if(Array.isArray($.keyword)?!$.keyword.includes(J):$.keyword!==J)throw Error("ajv implementation error");let G=$.dependencies;if(G===null||G===void 0?void 0:G.some((H)=>!Object.prototype.hasOwnProperty.call(Q,H)))throw Error(`parent schema must have dependencies of ${J}: ${G.join(",")}`);if($.validateSchema){if(!$.validateSchema(Q[J])){let B=`keyword "${J}" value is invalid at path "${W}": `+Y.errorsText($.validateSchema.errors);if(X.validateSchema==="log")Y.logger.error(B);else throw Error(B)}}}Zz.validateKeywordUsage=CZ});var Cz=j((Iz)=>{Object.defineProperty(Iz,"__esModule",{value:!0});Iz.extendSubschemaMode=Iz.extendSubschemaData=Iz.getSubschema=void 0;var p1=r(),Sz=W0();function xZ(Q,{keyword:X,schemaProp:Y,schema:W,schemaPath:$,errSchemaPath:J,topSchemaRef:G}){if(X!==void 0&&W!==void 0)throw Error('both "keyword" and "schema" passed, only one allowed');if(X!==void 0){let H=Q.schema[X];return Y===void 0?{schema:H,schemaPath:p1._`${Q.schemaPath}${(0,p1.getProperty)(X)}`,errSchemaPath:`${Q.errSchemaPath}/${X}`}:{schema:H[Y],schemaPath:p1._`${Q.schemaPath}${(0,p1.getProperty)(X)}${(0,p1.getProperty)(Y)}`,errSchemaPath:`${Q.errSchemaPath}/${X}/${(0,Sz.escapeFragment)(Y)}`}}if(W!==void 0){if($===void 0||J===void 0||G===void 0)throw Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:W,schemaPath:$,topSchemaRef:G,errSchemaPath:J}}throw Error('either "keyword" or "schema" must be passed')}Iz.getSubschema=xZ;function yZ(Q,X,{dataProp:Y,dataPropType:W,data:$,dataTypes:J,propertyName:G}){if($!==void 0&&Y!==void 0)throw Error('both "data" and "dataProp" passed, only one allowed');let{gen:H}=X;if(Y!==void 0){let{errorPath:z,dataPathArr:K,opts:V}=X,q=H.let("data",p1._`${X.data}${(0,p1.getProperty)(Y)}`,!0);B(q),Q.errorPath=p1.str`${z}${(0,Sz.getErrorPath)(Y,W,V.jsPropertySyntax)}`,Q.parentDataProperty=p1._`${Y}`,Q.dataPathArr=[...K,Q.parentDataProperty]}if($!==void 0){let z=$ instanceof p1.Name?$:H.let("data",$,!0);if(B(z),G!==void 0)Q.propertyName=G}if(J)Q.dataTypes=J;function B(z){Q.data=z,Q.dataLevel=X.dataLevel+1,Q.dataTypes=[],X.definedProperties=new Set,Q.parentData=X.data,Q.dataNames=[...X.dataNames,z]}}Iz.extendSubschemaData=yZ;function fZ(Q,{jtdDiscriminator:X,jtdMetadata:Y,compositeRule:W,createErrors:$,allErrors:J}){if(W!==void 0)Q.compositeRule=W;if($!==void 0)Q.createErrors=$;if(J!==void 0)Q.allErrors=J;Q.jtdDiscriminator=X,Q.jtdMetadata=Y}Iz.extendSubschemaMode=fZ});var G4=j((xp,kz)=>{kz.exports=function Q(X,Y){if(X===Y)return!0;if(X&&Y&&typeof X=="object"&&typeof Y=="object"){if(X.constructor!==Y.constructor)return!1;var W,$,J;if(Array.isArray(X)){if(W=X.length,W!=Y.length)return!1;for($=W;$--!==0;)if(!Q(X[$],Y[$]))return!1;return!0}if(X.constructor===RegExp)return X.source===Y.source&&X.flags===Y.flags;if(X.valueOf!==Object.prototype.valueOf)return X.valueOf()===Y.valueOf();if(X.toString!==Object.prototype.toString)return X.toString()===Y.toString();if(J=Object.keys(X),W=J.length,W!==Object.keys(Y).length)return!1;for($=W;$--!==0;)if(!Object.prototype.hasOwnProperty.call(Y,J[$]))return!1;for($=W;$--!==0;){var G=J[$];if(!Q(X[G],Y[G]))return!1}return!0}return X!==X&&Y!==Y}});var _z=j((yp,vz)=>{var R6=vz.exports=function(Q,X,Y){if(typeof X=="function")Y=X,X={};Y=X.cb||Y;var W=typeof Y=="function"?Y:Y.pre||function(){},$=Y.post||function(){};KX(X,W,$,Q,"",Q)};R6.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};R6.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};R6.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};R6.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function KX(Q,X,Y,W,$,J,G,H,B,z){if(W&&typeof W=="object"&&!Array.isArray(W)){X(W,$,J,G,H,B,z);for(var K in W){var V=W[K];if(Array.isArray(V)){if(K in R6.arrayKeywords)for(var q=0;q<V.length;q++)KX(Q,X,Y,V[q],$+"/"+K+"/"+q,J,$,K,W,q)}else if(K in R6.propsKeywords){if(V&&typeof V=="object")for(var F in V)KX(Q,X,Y,V[F],$+"/"+K+"/"+uZ(F),J,$,K,W,F)}else if(K in R6.keywords||Q.allKeys&&!(K in R6.skipKeywords))KX(Q,X,Y,V,$+"/"+K,J,$,K,W)}Y(W,$,J,G,H,B,z)}}function uZ(Q){return Q.replace(/~/g,"~0").replace(/\//g,"~1")}});var H4=j((gz)=>{Object.defineProperty(gz,"__esModule",{value:!0});gz.getSchemaRefs=gz.resolveUrl=gz.normalizeId=gz._getFullPath=gz.getFullPath=gz.inlineRef=void 0;var lZ=W0(),mZ=G4(),cZ=_z(),pZ=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function dZ(Q,X=!0){if(typeof Q=="boolean")return!0;if(X===!0)return!t5(Q);if(!X)return!1;return xz(Q)<=X}gz.inlineRef=dZ;var iZ=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function t5(Q){for(let X in Q){if(iZ.has(X))return!0;let Y=Q[X];if(Array.isArray(Y)&&Y.some(t5))return!0;if(typeof Y=="object"&&t5(Y))return!0}return!1}function xz(Q){let X=0;for(let Y in Q){if(Y==="$ref")return 1/0;if(X++,pZ.has(Y))continue;if(typeof Q[Y]=="object")(0,lZ.eachItem)(Q[Y],(W)=>X+=xz(W));if(X===1/0)return 1/0}return X}function yz(Q,X="",Y){if(Y!==!1)X=r9(X);let W=Q.parse(X);return fz(Q,W)}gz.getFullPath=yz;function fz(Q,X){return Q.serialize(X).split("#")[0]+"#"}gz._getFullPath=fz;var nZ=/#\/?$/;function r9(Q){return Q?Q.replace(nZ,""):""}gz.normalizeId=r9;function oZ(Q,X,Y){return Y=r9(Y),Q.resolve(X,Y)}gz.resolveUrl=oZ;var rZ=/^[a-z_][-a-z0-9._]*$/i;function tZ(Q,X){if(typeof Q=="boolean")return{};let{schemaId:Y,uriResolver:W}=this.opts,$=r9(Q[Y]||X),J={"":$},G=yz(W,$,!1),H={},B=new Set;return cZ(Q,{allKeys:!0},(V,q,F,A)=>{if(A===void 0)return;let D=G+q,L=J[A];if(typeof V[Y]=="string")L=O.call(this,V[Y]);N.call(this,V.$anchor),N.call(this,V.$dynamicAnchor),J[q]=L;function O(w){let C=this.opts.uriResolver.resolve;if(w=r9(L?C(L,w):w),B.has(w))throw K(w);B.add(w);let Z=this.refs[w];if(typeof Z=="string")Z=this.refs[Z];if(typeof Z=="object")z(V,Z.schema,w);else if(w!==r9(D))if(w[0]==="#")z(V,H[w],w),H[w]=V;else this.refs[w]=D;return w}function N(w){if(typeof w=="string"){if(!rZ.test(w))throw Error(`invalid anchor "${w}"`);O.call(this,`#${w}`)}}}),H;function z(V,q,F){if(q!==void 0&&!mZ(V,q))throw K(F)}function K(V){return Error(`reference "${V}" resolves to more than one schema`)}}gz.getSchemaRefs=tZ});var K4=j((QK)=>{Object.defineProperty(QK,"__esModule",{value:!0});QK.getData=QK.KeywordCxt=QK.validateFunctionCode=void 0;var pz=Wz(),uz=J4(),s5=c5(),VX=J4(),YR=Uz(),z4=Ez(),a5=Cz(),y=r(),l=Y6(),WR=H4(),W6=W0(),B4=$4();function $R(Q){if(nz(Q)){if(oz(Q),iz(Q)){HR(Q);return}}dz(Q,()=>(0,pz.topBoolOrEmptySchema)(Q))}QK.validateFunctionCode=$R;function dz({gen:Q,validateName:X,schema:Y,schemaEnv:W,opts:$},J){if($.code.es5)Q.func(X,y._`${l.default.data}, ${l.default.valCxt}`,W.$async,()=>{Q.code(y._`"use strict"; ${lz(Y,$)}`),GR(Q,$),Q.code(J)});else Q.func(X,y._`${l.default.data}, ${JR($)}`,W.$async,()=>Q.code(lz(Y,$)).code(J))}function JR(Q){return y._`{${l.default.instancePath}="", ${l.default.parentData}, ${l.default.parentDataProperty}, ${l.default.rootData}=${l.default.data}${Q.dynamicRef?y._`, ${l.default.dynamicAnchors}={}`:y.nil}}={}`}function GR(Q,X){Q.if(l.default.valCxt,()=>{if(Q.var(l.default.instancePath,y._`${l.default.valCxt}.${l.default.instancePath}`),Q.var(l.default.parentData,y._`${l.default.valCxt}.${l.default.parentData}`),Q.var(l.default.parentDataProperty,y._`${l.default.valCxt}.${l.default.parentDataProperty}`),Q.var(l.default.rootData,y._`${l.default.valCxt}.${l.default.rootData}`),X.dynamicRef)Q.var(l.default.dynamicAnchors,y._`${l.default.valCxt}.${l.default.dynamicAnchors}`)},()=>{if(Q.var(l.default.instancePath,y._`""`),Q.var(l.default.parentData,y._`undefined`),Q.var(l.default.parentDataProperty,y._`undefined`),Q.var(l.default.rootData,l.default.data),X.dynamicRef)Q.var(l.default.dynamicAnchors,y._`{}`)})}function HR(Q){let{schema:X,opts:Y,gen:W}=Q;dz(Q,()=>{if(Y.$comment&&X.$comment)tz(Q);if(FR(Q),W.let(l.default.vErrors,null),W.let(l.default.errors,0),Y.unevaluated)BR(Q);rz(Q),DR(Q)});return}function BR(Q){let{gen:X,validateName:Y}=Q;Q.evaluated=X.const("evaluated",y._`${Y}.evaluated`),X.if(y._`${Q.evaluated}.dynamicProps`,()=>X.assign(y._`${Q.evaluated}.props`,y._`undefined`)),X.if(y._`${Q.evaluated}.dynamicItems`,()=>X.assign(y._`${Q.evaluated}.items`,y._`undefined`))}function lz(Q,X){let Y=typeof Q=="object"&&Q[X.schemaId];return Y&&(X.code.source||X.code.process)?y._`/*# sourceURL=${Y} */`:y.nil}function zR(Q,X){if(nz(Q)){if(oz(Q),iz(Q)){KR(Q,X);return}}(0,pz.boolOrEmptySchema)(Q,X)}function iz({schema:Q,self:X}){if(typeof Q=="boolean")return!Q;for(let Y in Q)if(X.RULES.all[Y])return!0;return!1}function nz(Q){return typeof Q.schema!="boolean"}function KR(Q,X){let{schema:Y,gen:W,opts:$}=Q;if($.$comment&&Y.$comment)tz(Q);AR(Q),qR(Q);let J=W.const("_errs",l.default.errors);rz(Q,J),W.var(X,y._`${J} === ${l.default.errors}`)}function oz(Q){(0,W6.checkUnknownRules)(Q),VR(Q)}function rz(Q,X){if(Q.opts.jtd)return mz(Q,[],!1,X);let Y=(0,uz.getSchemaTypes)(Q.schema),W=(0,uz.coerceAndCheckDataType)(Q,Y);mz(Q,Y,!W,X)}function VR(Q){let{schema:X,errSchemaPath:Y,opts:W,self:$}=Q;if(X.$ref&&W.ignoreKeywordsWithRef&&(0,W6.schemaHasRulesButRef)(X,$.RULES))$.logger.warn(`$ref: keywords ignored in schema at path "${Y}"`)}function FR(Q){let{schema:X,opts:Y}=Q;if(X.default!==void 0&&Y.useDefaults&&Y.strictSchema)(0,W6.checkStrictMode)(Q,"default is ignored in the schema root")}function AR(Q){let X=Q.schema[Q.opts.schemaId];if(X)Q.baseId=(0,WR.resolveUrl)(Q.opts.uriResolver,Q.baseId,X)}function qR(Q){if(Q.schema.$async&&!Q.schemaEnv.$async)throw Error("async schema in sync schema")}function tz({gen:Q,schemaEnv:X,schema:Y,errSchemaPath:W,opts:$}){let J=Y.$comment;if($.$comment===!0)Q.code(y._`${l.default.self}.logger.log(${J})`);else if(typeof $.$comment=="function"){let G=y.str`${W}/$comment`,H=Q.scopeValue("root",{ref:X.root});Q.code(y._`${l.default.self}.opts.$comment(${J}, ${G}, ${H}.schema)`)}}function DR(Q){let{gen:X,schemaEnv:Y,validateName:W,ValidationError:$,opts:J}=Q;if(Y.$async)X.if(y._`${l.default.errors} === 0`,()=>X.return(l.default.data),()=>X.throw(y._`new ${$}(${l.default.vErrors})`));else{if(X.assign(y._`${W}.errors`,l.default.vErrors),J.unevaluated)LR(Q);X.return(y._`${l.default.errors} === 0`)}}function LR({gen:Q,evaluated:X,props:Y,items:W}){if(Y instanceof y.Name)Q.assign(y._`${X}.props`,Y);if(W instanceof y.Name)Q.assign(y._`${X}.items`,W)}function mz(Q,X,Y,W){let{gen:$,schema:J,data:G,allErrors:H,opts:B,self:z}=Q,{RULES:K}=z;if(J.$ref&&(B.ignoreKeywordsWithRef||!(0,W6.schemaHasRulesButRef)(J,K))){$.block(()=>sz(Q,"$ref",K.all.$ref.definition));return}if(!B.jtd)OR(Q,X);$.block(()=>{for(let q of K.rules)V(q);V(K.post)});function V(q){if(!(0,s5.shouldUseGroup)(J,q))return;if(q.type){if($.if((0,VX.checkDataType)(q.type,G,B.strictNumbers)),cz(Q,q),X.length===1&&X[0]===q.type&&Y)$.else(),(0,VX.reportTypeError)(Q);$.endIf()}else cz(Q,q);if(!H)$.if(y._`${l.default.errors} === ${W||0}`)}}function cz(Q,X){let{gen:Y,schema:W,opts:{useDefaults:$}}=Q;if($)(0,YR.assignDefaults)(Q,X.type);Y.block(()=>{for(let J of X.rules)if((0,s5.shouldUseRule)(W,J))sz(Q,J.keyword,J.definition,X.type)})}function OR(Q,X){if(Q.schemaEnv.meta||!Q.opts.strictTypes)return;if(UR(Q,X),!Q.opts.allowUnionTypes)jR(Q,X);MR(Q,Q.dataTypes)}function UR(Q,X){if(!X.length)return;if(!Q.dataTypes.length){Q.dataTypes=X;return}X.forEach((Y)=>{if(!az(Q.dataTypes,Y))e5(Q,`type "${Y}" not allowed by context "${Q.dataTypes.join(",")}"`)}),wR(Q,X)}function jR(Q,X){if(X.length>1&&!(X.length===2&&X.includes("null")))e5(Q,"use allowUnionTypes to allow union type keyword")}function MR(Q,X){let Y=Q.self.RULES.all;for(let W in Y){let $=Y[W];if(typeof $=="object"&&(0,s5.shouldUseRule)(Q.schema,$)){let{type:J}=$.definition;if(J.length&&!J.some((G)=>NR(X,G)))e5(Q,`missing type "${J.join(",")}" for keyword "${W}"`)}}}function NR(Q,X){return Q.includes(X)||X==="number"&&Q.includes("integer")}function az(Q,X){return Q.includes(X)||X==="integer"&&Q.includes("number")}function wR(Q,X){let Y=[];for(let W of Q.dataTypes)if(az(X,W))Y.push(W);else if(X.includes("integer")&&W==="number")Y.push("integer");Q.dataTypes=Y}function e5(Q,X){let Y=Q.schemaEnv.baseId+Q.errSchemaPath;X+=` at "${Y}" (strictTypes)`,(0,W6.checkStrictMode)(Q,X,Q.opts.strictTypes)}class Q${constructor(Q,X,Y){if((0,z4.validateKeywordUsage)(Q,X,Y),this.gen=Q.gen,this.allErrors=Q.allErrors,this.keyword=Y,this.data=Q.data,this.schema=Q.schema[Y],this.$data=X.$data&&Q.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,W6.schemaRefOrVal)(Q,this.schema,Y,this.$data),this.schemaType=X.schemaType,this.parentSchema=Q.schema,this.params={},this.it=Q,this.def=X,this.$data)this.schemaCode=Q.gen.const("vSchema",ez(this.$data,Q));else if(this.schemaCode=this.schemaValue,!(0,z4.validSchemaType)(this.schema,X.schemaType,X.allowUndefined))throw Error(`${Y} value must be ${JSON.stringify(X.schemaType)}`);if("code"in X?X.trackErrors:X.errors!==!1)this.errsCount=Q.gen.const("_errs",l.default.errors)}result(Q,X,Y){this.failResult((0,y.not)(Q),X,Y)}failResult(Q,X,Y){if(this.gen.if(Q),Y)Y();else this.error();if(X){if(this.gen.else(),X(),this.allErrors)this.gen.endIf()}else if(this.allErrors)this.gen.endIf();else this.gen.else()}pass(Q,X){this.failResult((0,y.not)(Q),void 0,X)}fail(Q){if(Q===void 0){if(this.error(),!this.allErrors)this.gen.if(!1);return}if(this.gen.if(Q),this.error(),this.allErrors)this.gen.endIf();else this.gen.else()}fail$data(Q){if(!this.$data)return this.fail(Q);let{schemaCode:X}=this;this.fail(y._`${X} !== undefined && (${(0,y.or)(this.invalid$data(),Q)})`)}error(Q,X,Y){if(X){this.setParams(X),this._error(Q,Y),this.setParams({});return}this._error(Q,Y)}_error(Q,X){(Q?B4.reportExtraError:B4.reportError)(this,this.def.error,X)}$dataError(){(0,B4.reportError)(this,this.def.$dataError||B4.keyword$DataError)}reset(){if(this.errsCount===void 0)throw Error('add "trackErrors" to keyword definition');(0,B4.resetErrorsCount)(this.gen,this.errsCount)}ok(Q){if(!this.allErrors)this.gen.if(Q)}setParams(Q,X){if(X)Object.assign(this.params,Q);else this.params=Q}block$data(Q,X,Y=y.nil){this.gen.block(()=>{this.check$data(Q,Y),X()})}check$data(Q=y.nil,X=y.nil){if(!this.$data)return;let{gen:Y,schemaCode:W,schemaType:$,def:J}=this;if(Y.if((0,y.or)(y._`${W} === undefined`,X)),Q!==y.nil)Y.assign(Q,!0);if($.length||J.validateSchema){if(Y.elseIf(this.invalid$data()),this.$dataError(),Q!==y.nil)Y.assign(Q,!1)}Y.else()}invalid$data(){let{gen:Q,schemaCode:X,schemaType:Y,def:W,it:$}=this;return(0,y.or)(J(),G());function J(){if(Y.length){if(!(X instanceof y.Name))throw Error("ajv implementation error");let H=Array.isArray(Y)?Y:[Y];return y._`${(0,VX.checkDataTypes)(H,X,$.opts.strictNumbers,VX.DataType.Wrong)}`}return y.nil}function G(){if(W.validateSchema){let H=Q.scopeValue("validate$data",{ref:W.validateSchema});return y._`!${H}(${X})`}return y.nil}}subschema(Q,X){let Y=(0,a5.getSubschema)(this.it,Q);(0,a5.extendSubschemaData)(Y,this.it,Q),(0,a5.extendSubschemaMode)(Y,Q);let W={...this.it,...Y,items:void 0,props:void 0};return zR(W,X),W}mergeEvaluated(Q,X){let{it:Y,gen:W}=this;if(!Y.opts.unevaluated)return;if(Y.props!==!0&&Q.props!==void 0)Y.props=W6.mergeEvaluated.props(W,Q.props,Y.props,X);if(Y.items!==!0&&Q.items!==void 0)Y.items=W6.mergeEvaluated.items(W,Q.items,Y.items,X)}mergeValidEvaluated(Q,X){let{it:Y,gen:W}=this;if(Y.opts.unevaluated&&(Y.props!==!0||Y.items!==!0))return W.if(X,()=>this.mergeEvaluated(Q,y.Name)),!0}}QK.KeywordCxt=Q$;function sz(Q,X,Y,W){let $=new Q$(Q,Y,X);if("code"in Y)Y.code($,W);else if($.$data&&Y.validate)(0,z4.funcKeywordCode)($,Y);else if("macro"in Y)(0,z4.macroKeywordCode)($,Y);else if(Y.compile||Y.validate)(0,z4.funcKeywordCode)($,Y)}var bR=/^\/(?:[^~]|~0|~1)*$/,PR=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function ez(Q,{dataLevel:X,dataNames:Y,dataPathArr:W}){let $,J;if(Q==="")return l.default.rootData;if(Q[0]==="/"){if(!bR.test(Q))throw Error(`Invalid JSON-pointer: ${Q}`);$=Q,J=l.default.rootData}else{let z=PR.exec(Q);if(!z)throw Error(`Invalid JSON-pointer: ${Q}`);let K=+z[1];if($=z[2],$==="#"){if(K>=X)throw Error(B("property/index",K));return W[X-K]}if(K>X)throw Error(B("data",K));if(J=Y[X-K],!$)return J}let G=J,H=$.split("/");for(let z of H)if(z)J=y._`${J}${(0,y.getProperty)((0,W6.unescapeJsonPointer)(z))}`,G=y._`${G} && ${J}`;return G;function B(z,K){return`Cannot access ${z} ${K} levels up, current level is ${X}`}}QK.getData=ez});var FX=j((WK)=>{Object.defineProperty(WK,"__esModule",{value:!0});class YK extends Error{constructor(Q){super("validation failed");this.errors=Q,this.ajv=this.validation=!0}}WK.default=YK});var V4=j((JK)=>{Object.defineProperty(JK,"__esModule",{value:!0});var X$=H4();class $K extends Error{constructor(Q,X,Y,W){super(W||`can't resolve reference ${Y} from id ${X}`);this.missingRef=(0,X$.resolveUrl)(Q,X,Y),this.missingSchema=(0,X$.normalizeId)((0,X$.getFullPath)(Q,this.missingRef))}}JK.default=$K});var qX=j((BK)=>{Object.defineProperty(BK,"__esModule",{value:!0});BK.resolveSchema=BK.getCompilingSchema=BK.resolveRef=BK.compileSchema=BK.SchemaEnv=void 0;var S1=r(),IR=FX(),G9=Y6(),I1=H4(),GK=W0(),TR=K4();class F4{constructor(Q){var X;this.refs={},this.dynamicAnchors={};let Y;if(typeof Q.schema=="object")Y=Q.schema;this.schema=Q.schema,this.schemaId=Q.schemaId,this.root=Q.root||this,this.baseId=(X=Q.baseId)!==null&&X!==void 0?X:(0,I1.normalizeId)(Y===null||Y===void 0?void 0:Y[Q.schemaId||"$id"]),this.schemaPath=Q.schemaPath,this.localRefs=Q.localRefs,this.meta=Q.meta,this.$async=Y===null||Y===void 0?void 0:Y.$async,this.refs={}}}BK.SchemaEnv=F4;function W$(Q){let X=HK.call(this,Q);if(X)return X;let Y=(0,I1.getFullPath)(this.opts.uriResolver,Q.root.baseId),{es5:W,lines:$}=this.opts.code,{ownProperties:J}=this.opts,G=new S1.CodeGen(this.scope,{es5:W,lines:$,ownProperties:J}),H;if(Q.$async)H=G.scopeValue("Error",{ref:IR.default,code:S1._`require("ajv/dist/runtime/validation_error").default`});let B=G.scopeName("validate");Q.validateName=B;let z={gen:G,allErrors:this.opts.allErrors,data:G9.default.data,parentData:G9.default.parentData,parentDataProperty:G9.default.parentDataProperty,dataNames:[G9.default.data],dataPathArr:[S1.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:G.scopeValue("schema",this.opts.code.source===!0?{ref:Q.schema,code:(0,S1.stringify)(Q.schema)}:{ref:Q.schema}),validateName:B,ValidationError:H,schema:Q.schema,schemaEnv:Q,rootId:Y,baseId:Q.baseId||Y,schemaPath:S1.nil,errSchemaPath:Q.schemaPath||(this.opts.jtd?"":"#"),errorPath:S1._`""`,opts:this.opts,self:this},K;try{this._compilations.add(Q),(0,TR.validateFunctionCode)(z),G.optimize(this.opts.code.optimize);let V=G.toString();if(K=`${G.scopeRefs(G9.default.scope)}return ${V}`,this.opts.code.process)K=this.opts.code.process(K,Q);let F=Function(`${G9.default.self}`,`${G9.default.scope}`,K)(this,this.scope.get());if(this.scope.value(B,{ref:F}),F.errors=null,F.schema=Q.schema,F.schemaEnv=Q,Q.$async)F.$async=!0;if(this.opts.code.source===!0)F.source={validateName:B,validateCode:V,scopeValues:G._values};if(this.opts.unevaluated){let{props:A,items:D}=z;if(F.evaluated={props:A instanceof S1.Name?void 0:A,items:D instanceof S1.Name?void 0:D,dynamicProps:A instanceof S1.Name,dynamicItems:D instanceof S1.Name},F.source)F.source.evaluated=(0,S1.stringify)(F.evaluated)}return Q.validate=F,Q}catch(V){if(delete Q.validate,delete Q.validateName,K)this.logger.error("Error compiling schema, function code:",K);throw V}finally{this._compilations.delete(Q)}}BK.compileSchema=W$;function CR(Q,X,Y){var W;Y=(0,I1.resolveUrl)(this.opts.uriResolver,X,Y);let $=Q.refs[Y];if($)return $;let J=_R.call(this,Q,Y);if(J===void 0){let G=(W=Q.localRefs)===null||W===void 0?void 0:W[Y],{schemaId:H}=this.opts;if(G)J=new F4({schema:G,schemaId:H,root:Q,baseId:X})}if(J===void 0)return;return Q.refs[Y]=kR.call(this,J)}BK.resolveRef=CR;function kR(Q){if((0,I1.inlineRef)(Q.schema,this.opts.inlineRefs))return Q.schema;return Q.validate?Q:W$.call(this,Q)}function HK(Q){for(let X of this._compilations)if(vR(X,Q))return X}BK.getCompilingSchema=HK;function vR(Q,X){return Q.schema===X.schema&&Q.root===X.root&&Q.baseId===X.baseId}function _R(Q,X){let Y;while(typeof(Y=this.refs[X])=="string")X=Y;return Y||this.schemas[X]||AX.call(this,Q,X)}function AX(Q,X){let Y=this.opts.uriResolver.parse(X),W=(0,I1._getFullPath)(this.opts.uriResolver,Y),$=(0,I1.getFullPath)(this.opts.uriResolver,Q.baseId,void 0);if(Object.keys(Q.schema).length>0&&W===$)return Y$.call(this,Y,Q);let J=(0,I1.normalizeId)(W),G=this.refs[J]||this.schemas[J];if(typeof G=="string"){let H=AX.call(this,Q,G);if(typeof(H===null||H===void 0?void 0:H.schema)!=="object")return;return Y$.call(this,Y,H)}if(typeof(G===null||G===void 0?void 0:G.schema)!=="object")return;if(!G.validate)W$.call(this,G);if(J===(0,I1.normalizeId)(X)){let{schema:H}=G,{schemaId:B}=this.opts,z=H[B];if(z)$=(0,I1.resolveUrl)(this.opts.uriResolver,$,z);return new F4({schema:H,schemaId:B,root:Q,baseId:$})}return Y$.call(this,Y,G)}BK.resolveSchema=AX;var xR=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function Y$(Q,{baseId:X,schema:Y,root:W}){var $;if((($=Q.fragment)===null||$===void 0?void 0:$[0])!=="/")return;for(let H of Q.fragment.slice(1).split("/")){if(typeof Y==="boolean")return;let B=Y[(0,GK.unescapeFragment)(H)];if(B===void 0)return;Y=B;let z=typeof Y==="object"&&Y[this.opts.schemaId];if(!xR.has(H)&&z)X=(0,I1.resolveUrl)(this.opts.uriResolver,X,z)}let J;if(typeof Y!="boolean"&&Y.$ref&&!(0,GK.schemaHasRulesButRef)(Y,this.RULES)){let H=(0,I1.resolveUrl)(this.opts.uriResolver,X,Y.$ref);J=AX.call(this,W,H)}let{schemaId:G}=this.opts;if(J=J||new F4({schema:Y,schemaId:G,root:W,baseId:X}),J.schema!==J.root.schema)return J;return}});var KK=j((mp,uR)=>{uR.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var J$=j((cp,qK)=>{var lR=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),FK=RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);function $$(Q){let X="",Y=0,W=0;for(W=0;W<Q.length;W++){if(Y=Q[W].charCodeAt(0),Y===48)continue;if(!(Y>=48&&Y<=57||Y>=65&&Y<=70||Y>=97&&Y<=102))return"";X+=Q[W];break}for(W+=1;W<Q.length;W++){if(Y=Q[W].charCodeAt(0),!(Y>=48&&Y<=57||Y>=65&&Y<=70||Y>=97&&Y<=102))return"";X+=Q[W]}return X}var mR=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function VK(Q){return Q.length=0,!0}function cR(Q,X,Y){if(Q.length){let W=$$(Q);if(W!=="")X.push(W);else return Y.error=!0,!1;Q.length=0}return!0}function pR(Q){let X=0,Y={error:!1,address:"",zone:""},W=[],$=[],J=!1,G=!1,H=cR;for(let B=0;B<Q.length;B++){let z=Q[B];if(z==="["||z==="]")continue;if(z===":"){if(J===!0)G=!0;if(!H($,W,Y))break;if(++X>7){Y.error=!0;break}if(B>0&&Q[B-1]===":")J=!0;W.push(":");continue}else if(z==="%"){if(!H($,W,Y))break;H=VK}else{$.push(z);continue}}if($.length)if(H===VK)Y.zone=$.join("");else if(G)W.push($.join(""));else W.push($$($));return Y.address=W.join(""),Y}function AK(Q){if(dR(Q,":")<2)return{host:Q,isIPV6:!1};let X=pR(Q);if(!X.error){let{address:Y,address:W}=X;if(X.zone)Y+="%"+X.zone,W+="%25"+X.zone;return{host:Y,isIPV6:!0,escapedHost:W}}else return{host:Q,isIPV6:!1}}function dR(Q,X){let Y=0;for(let W=0;W<Q.length;W++)if(Q[W]===X)Y++;return Y}function iR(Q){let X=Q,Y=[],W=-1,$=0;while($=X.length){if($===1)if(X===".")break;else if(X==="/"){Y.push("/");break}else{Y.push(X);break}else if($===2){if(X[0]==="."){if(X[1]===".")break;else if(X[1]==="/"){X=X.slice(2);continue}}else if(X[0]==="/"){if(X[1]==="."||X[1]==="/"){Y.push("/");break}}}else if($===3){if(X==="/.."){if(Y.length!==0)Y.pop();Y.push("/");break}}if(X[0]==="."){if(X[1]==="."){if(X[2]==="/"){X=X.slice(3);continue}}else if(X[1]==="/"){X=X.slice(2);continue}}else if(X[0]==="/"){if(X[1]==="."){if(X[2]==="/"){X=X.slice(2);continue}else if(X[2]==="."){if(X[3]==="/"){if(X=X.slice(3),Y.length!==0)Y.pop();continue}}}}if((W=X.indexOf("/",1))===-1){Y.push(X);break}else Y.push(X.slice(0,W)),X=X.slice(W)}return Y.join("")}function nR(Q,X){let Y=X!==!0?escape:unescape;if(Q.scheme!==void 0)Q.scheme=Y(Q.scheme);if(Q.userinfo!==void 0)Q.userinfo=Y(Q.userinfo);if(Q.host!==void 0)Q.host=Y(Q.host);if(Q.path!==void 0)Q.path=Y(Q.path);if(Q.query!==void 0)Q.query=Y(Q.query);if(Q.fragment!==void 0)Q.fragment=Y(Q.fragment);return Q}function oR(Q){let X=[];if(Q.userinfo!==void 0)X.push(Q.userinfo),X.push("@");if(Q.host!==void 0){let Y=unescape(Q.host);if(!FK(Y)){let W=AK(Y);if(W.isIPV6===!0)Y=`[${W.escapedHost}]`;else Y=Q.host}X.push(Y)}if(typeof Q.port==="number"||typeof Q.port==="string")X.push(":"),X.push(String(Q.port));return X.length?X.join(""):void 0}qK.exports={nonSimpleDomain:mR,recomposeAuthority:oR,normalizeComponentEncoding:nR,removeDotSegments:iR,isIPv4:FK,isUUID:lR,normalizeIPv6:AK,stringArrayToHexStripped:$$}});var jK=j((pp,UK)=>{var{isUUID:rR}=J$(),tR=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,aR=["http","https","ws","wss","urn","urn:uuid"];function sR(Q){return aR.indexOf(Q)!==-1}function G$(Q){if(Q.secure===!0)return!0;else if(Q.secure===!1)return!1;else if(Q.scheme)return Q.scheme.length===3&&(Q.scheme[0]==="w"||Q.scheme[0]==="W")&&(Q.scheme[1]==="s"||Q.scheme[1]==="S")&&(Q.scheme[2]==="s"||Q.scheme[2]==="S");else return!1}function DK(Q){if(!Q.host)Q.error=Q.error||"HTTP URIs must have a host.";return Q}function LK(Q){let X=String(Q.scheme).toLowerCase()==="https";if(Q.port===(X?443:80)||Q.port==="")Q.port=void 0;if(!Q.path)Q.path="/";return Q}function eR(Q){return Q.secure=G$(Q),Q.resourceName=(Q.path||"/")+(Q.query?"?"+Q.query:""),Q.path=void 0,Q.query=void 0,Q}function QE(Q){if(Q.port===(G$(Q)?443:80)||Q.port==="")Q.port=void 0;if(typeof Q.secure==="boolean")Q.scheme=Q.secure?"wss":"ws",Q.secure=void 0;if(Q.resourceName){let[X,Y]=Q.resourceName.split("?");Q.path=X&&X!=="/"?X:void 0,Q.query=Y,Q.resourceName=void 0}return Q.fragment=void 0,Q}function XE(Q,X){if(!Q.path)return Q.error="URN can not be parsed",Q;let Y=Q.path.match(tR);if(Y){let W=X.scheme||Q.scheme||"urn";Q.nid=Y[1].toLowerCase(),Q.nss=Y[2];let $=`${W}:${X.nid||Q.nid}`,J=H$($);if(Q.path=void 0,J)Q=J.parse(Q,X)}else Q.error=Q.error||"URN can not be parsed.";return Q}function YE(Q,X){if(Q.nid===void 0)throw Error("URN without nid cannot be serialized");let Y=X.scheme||Q.scheme||"urn",W=Q.nid.toLowerCase(),$=`${Y}:${X.nid||W}`,J=H$($);if(J)Q=J.serialize(Q,X);let G=Q,H=Q.nss;return G.path=`${W||X.nid}:${H}`,X.skipEscape=!0,G}function WE(Q,X){let Y=Q;if(Y.uuid=Y.nss,Y.nss=void 0,!X.tolerant&&(!Y.uuid||!rR(Y.uuid)))Y.error=Y.error||"UUID is not valid.";return Y}function $E(Q){let X=Q;return X.nss=(Q.uuid||"").toLowerCase(),X}var OK={scheme:"http",domainHost:!0,parse:DK,serialize:LK},JE={scheme:"https",domainHost:OK.domainHost,parse:DK,serialize:LK},DX={scheme:"ws",domainHost:!0,parse:eR,serialize:QE},GE={scheme:"wss",domainHost:DX.domainHost,parse:DX.parse,serialize:DX.serialize},HE={scheme:"urn",parse:XE,serialize:YE,skipNormalize:!0},BE={scheme:"urn:uuid",parse:WE,serialize:$E,skipNormalize:!0},LX={http:OK,https:JE,ws:DX,wss:GE,urn:HE,"urn:uuid":BE};Object.setPrototypeOf(LX,null);function H$(Q){return Q&&(LX[Q]||LX[Q.toLowerCase()])||void 0}UK.exports={wsIsSecure:G$,SCHEMES:LX,isValidSchemeName:sR,getSchemeHandler:H$}});var z$=j((dp,UX)=>{var{normalizeIPv6:zE,removeDotSegments:A4,recomposeAuthority:KE,normalizeComponentEncoding:OX,isIPv4:VE,nonSimpleDomain:FE}=J$(),{SCHEMES:AE,getSchemeHandler:MK}=jK();function qE(Q,X){if(typeof Q==="string")Q=d1($6(Q,X),X);else if(typeof Q==="object")Q=$6(d1(Q,X),X);return Q}function DE(Q,X,Y){let W=Y?Object.assign({scheme:"null"},Y):{scheme:"null"},$=NK($6(Q,W),$6(X,W),W,!0);return W.skipEscape=!0,d1($,W)}function NK(Q,X,Y,W){let $={};if(!W)Q=$6(d1(Q,Y),Y),X=$6(d1(X,Y),Y);if(Y=Y||{},!Y.tolerant&&X.scheme)$.scheme=X.scheme,$.userinfo=X.userinfo,$.host=X.host,$.port=X.port,$.path=A4(X.path||""),$.query=X.query;else{if(X.userinfo!==void 0||X.host!==void 0||X.port!==void 0)$.userinfo=X.userinfo,$.host=X.host,$.port=X.port,$.path=A4(X.path||""),$.query=X.query;else{if(!X.path)if($.path=Q.path,X.query!==void 0)$.query=X.query;else $.query=Q.query;else{if(X.path[0]==="/")$.path=A4(X.path);else{if((Q.userinfo!==void 0||Q.host!==void 0||Q.port!==void 0)&&!Q.path)$.path="/"+X.path;else if(!Q.path)$.path=X.path;else $.path=Q.path.slice(0,Q.path.lastIndexOf("/")+1)+X.path;$.path=A4($.path)}$.query=X.query}$.userinfo=Q.userinfo,$.host=Q.host,$.port=Q.port}$.scheme=Q.scheme}return $.fragment=X.fragment,$}function LE(Q,X,Y){if(typeof Q==="string")Q=unescape(Q),Q=d1(OX($6(Q,Y),!0),{...Y,skipEscape:!0});else if(typeof Q==="object")Q=d1(OX(Q,!0),{...Y,skipEscape:!0});if(typeof X==="string")X=unescape(X),X=d1(OX($6(X,Y),!0),{...Y,skipEscape:!0});else if(typeof X==="object")X=d1(OX(X,!0),{...Y,skipEscape:!0});return Q.toLowerCase()===X.toLowerCase()}function d1(Q,X){let Y={host:Q.host,scheme:Q.scheme,userinfo:Q.userinfo,port:Q.port,path:Q.path,query:Q.query,nid:Q.nid,nss:Q.nss,uuid:Q.uuid,fragment:Q.fragment,reference:Q.reference,resourceName:Q.resourceName,secure:Q.secure,error:""},W=Object.assign({},X),$=[],J=MK(W.scheme||Y.scheme);if(J&&J.serialize)J.serialize(Y,W);if(Y.path!==void 0)if(!W.skipEscape){if(Y.path=escape(Y.path),Y.scheme!==void 0)Y.path=Y.path.split("%3A").join(":")}else Y.path=unescape(Y.path);if(W.reference!=="suffix"&&Y.scheme)$.push(Y.scheme,":");let G=KE(Y);if(G!==void 0){if(W.reference!=="suffix")$.push("//");if($.push(G),Y.path&&Y.path[0]!=="/")$.push("/")}if(Y.path!==void 0){let H=Y.path;if(!W.absolutePath&&(!J||!J.absolutePath))H=A4(H);if(G===void 0&&H[0]==="/"&&H[1]==="/")H="/%2F"+H.slice(2);$.push(H)}if(Y.query!==void 0)$.push("?",Y.query);if(Y.fragment!==void 0)$.push("#",Y.fragment);return $.join("")}var OE=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function $6(Q,X){let Y=Object.assign({},X),W={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},$=!1;if(Y.reference==="suffix")if(Y.scheme)Q=Y.scheme+":"+Q;else Q="//"+Q;let J=Q.match(OE);if(J){if(W.scheme=J[1],W.userinfo=J[3],W.host=J[4],W.port=parseInt(J[5],10),W.path=J[6]||"",W.query=J[7],W.fragment=J[8],isNaN(W.port))W.port=J[5];if(W.host)if(VE(W.host)===!1){let B=zE(W.host);W.host=B.host.toLowerCase(),$=B.isIPV6}else $=!0;if(W.scheme===void 0&&W.userinfo===void 0&&W.host===void 0&&W.port===void 0&&W.query===void 0&&!W.path)W.reference="same-document";else if(W.scheme===void 0)W.reference="relative";else if(W.fragment===void 0)W.reference="absolute";else W.reference="uri";if(Y.reference&&Y.reference!=="suffix"&&Y.reference!==W.reference)W.error=W.error||"URI is not a "+Y.reference+" reference.";let G=MK(Y.scheme||W.scheme);if(!Y.unicodeSupport&&(!G||!G.unicodeSupport)){if(W.host&&(Y.domainHost||G&&G.domainHost)&&$===!1&&FE(W.host))try{W.host=URL.domainToASCII(W.host.toLowerCase())}catch(H){W.error=W.error||"Host's domain name can not be converted to ASCII: "+H}}if(!G||G&&!G.skipNormalize){if(Q.indexOf("%")!==-1){if(W.scheme!==void 0)W.scheme=unescape(W.scheme);if(W.host!==void 0)W.host=unescape(W.host)}if(W.path)W.path=escape(unescape(W.path));if(W.fragment)W.fragment=encodeURI(decodeURIComponent(W.fragment))}if(G&&G.parse)G.parse(W,Y)}else W.error=W.error||"URI can not be parsed.";return W}var B$={SCHEMES:AE,normalize:qE,resolve:DE,resolveComponent:NK,equal:LE,serialize:d1,parse:$6};UX.exports=B$;UX.exports.default=B$;UX.exports.fastUri=B$});var PK=j((bK)=>{Object.defineProperty(bK,"__esModule",{value:!0});var wK=z$();wK.code='require("ajv/dist/runtime/uri").default';bK.default=wK});var kK=j((J6)=>{Object.defineProperty(J6,"__esModule",{value:!0});J6.CodeGen=J6.Name=J6.nil=J6.stringify=J6.str=J6._=J6.KeywordCxt=void 0;var jE=K4();Object.defineProperty(J6,"KeywordCxt",{enumerable:!0,get:function(){return jE.KeywordCxt}});var t9=r();Object.defineProperty(J6,"_",{enumerable:!0,get:function(){return t9._}});Object.defineProperty(J6,"str",{enumerable:!0,get:function(){return t9.str}});Object.defineProperty(J6,"stringify",{enumerable:!0,get:function(){return t9.stringify}});Object.defineProperty(J6,"nil",{enumerable:!0,get:function(){return t9.nil}});Object.defineProperty(J6,"Name",{enumerable:!0,get:function(){return t9.Name}});Object.defineProperty(J6,"CodeGen",{enumerable:!0,get:function(){return t9.CodeGen}});var ME=FX(),IK=V4(),NE=m5(),q4=qX(),wE=r(),D4=H4(),jX=J4(),V$=W0(),ZK=KK(),bE=PK(),TK=(Q,X)=>new RegExp(Q,X);TK.code="new RegExp";var PE=["removeAdditional","useDefaults","coerceTypes"],ZE=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),RE={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},EE={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},RK=200;function SE(Q){var X,Y,W,$,J,G,H,B,z,K,V,q,F,A,D,L,O,N,w,C,Z,K0,P0,g1,g6;let O1=Q.strict,h6=(X=Q.code)===null||X===void 0?void 0:X.optimize,j8=h6===!0||h6===void 0?1:h6||0,M8=(W=(Y=Q.code)===null||Y===void 0?void 0:Y.regExp)!==null&&W!==void 0?W:TK,fY=($=Q.uriResolver)!==null&&$!==void 0?$:bE.default;return{strictSchema:(G=(J=Q.strictSchema)!==null&&J!==void 0?J:O1)!==null&&G!==void 0?G:!0,strictNumbers:(B=(H=Q.strictNumbers)!==null&&H!==void 0?H:O1)!==null&&B!==void 0?B:!0,strictTypes:(K=(z=Q.strictTypes)!==null&&z!==void 0?z:O1)!==null&&K!==void 0?K:"log",strictTuples:(q=(V=Q.strictTuples)!==null&&V!==void 0?V:O1)!==null&&q!==void 0?q:"log",strictRequired:(A=(F=Q.strictRequired)!==null&&F!==void 0?F:O1)!==null&&A!==void 0?A:!1,code:Q.code?{...Q.code,optimize:j8,regExp:M8}:{optimize:j8,regExp:M8},loopRequired:(D=Q.loopRequired)!==null&&D!==void 0?D:RK,loopEnum:(L=Q.loopEnum)!==null&&L!==void 0?L:RK,meta:(O=Q.meta)!==null&&O!==void 0?O:!0,messages:(N=Q.messages)!==null&&N!==void 0?N:!0,inlineRefs:(w=Q.inlineRefs)!==null&&w!==void 0?w:!0,schemaId:(C=Q.schemaId)!==null&&C!==void 0?C:"$id",addUsedSchema:(Z=Q.addUsedSchema)!==null&&Z!==void 0?Z:!0,validateSchema:(K0=Q.validateSchema)!==null&&K0!==void 0?K0:!0,validateFormats:(P0=Q.validateFormats)!==null&&P0!==void 0?P0:!0,unicodeRegExp:(g1=Q.unicodeRegExp)!==null&&g1!==void 0?g1:!0,int32range:(g6=Q.int32range)!==null&&g6!==void 0?g6:!0,uriResolver:fY}}class MX{constructor(Q={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,Q=this.opts={...Q,...SE(Q)};let{es5:X,lines:Y}=this.opts.code;this.scope=new wE.ValueScope({scope:{},prefixes:ZE,es5:X,lines:Y}),this.logger=_E(Q.logger);let W=Q.validateFormats;if(Q.validateFormats=!1,this.RULES=(0,NE.getRules)(),EK.call(this,RE,Q,"NOT SUPPORTED"),EK.call(this,EE,Q,"DEPRECATED","warn"),this._metaOpts=kE.call(this),Q.formats)TE.call(this);if(this._addVocabularies(),this._addDefaultMetaSchema(),Q.keywords)CE.call(this,Q.keywords);if(typeof Q.meta=="object")this.addMetaSchema(Q.meta);IE.call(this),Q.validateFormats=W}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:Q,meta:X,schemaId:Y}=this.opts,W=ZK;if(Y==="id")W={...ZK},W.id=W.$id,delete W.$id;if(X&&Q)this.addMetaSchema(W,W[Y],!1)}defaultMeta(){let{meta:Q,schemaId:X}=this.opts;return this.opts.defaultMeta=typeof Q=="object"?Q[X]||Q:void 0}validate(Q,X){let Y;if(typeof Q=="string"){if(Y=this.getSchema(Q),!Y)throw Error(`no schema with key or ref "${Q}"`)}else Y=this.compile(Q);let W=Y(X);if(!("$async"in Y))this.errors=Y.errors;return W}compile(Q,X){let Y=this._addSchema(Q,X);return Y.validate||this._compileSchemaEnv(Y)}compileAsync(Q,X){if(typeof this.opts.loadSchema!="function")throw Error("options.loadSchema should be a function");let{loadSchema:Y}=this.opts;return W.call(this,Q,X);async function W(z,K){await $.call(this,z.$schema);let V=this._addSchema(z,K);return V.validate||J.call(this,V)}async function $(z){if(z&&!this.getSchema(z))await W.call(this,{$ref:z},!0)}async function J(z){try{return this._compileSchemaEnv(z)}catch(K){if(!(K instanceof IK.default))throw K;return G.call(this,K),await H.call(this,K.missingSchema),J.call(this,z)}}function G({missingSchema:z,missingRef:K}){if(this.refs[z])throw Error(`AnySchema ${z} is loaded but ${K} cannot be resolved`)}async function H(z){let K=await B.call(this,z);if(!this.refs[z])await $.call(this,K.$schema);if(!this.refs[z])this.addSchema(K,z,X)}async function B(z){let K=this._loading[z];if(K)return K;try{return await(this._loading[z]=Y(z))}finally{delete this._loading[z]}}}addSchema(Q,X,Y,W=this.opts.validateSchema){if(Array.isArray(Q)){for(let J of Q)this.addSchema(J,void 0,Y,W);return this}let $;if(typeof Q==="object"){let{schemaId:J}=this.opts;if($=Q[J],$!==void 0&&typeof $!="string")throw Error(`schema ${J} must be string`)}return X=(0,D4.normalizeId)(X||$),this._checkUnique(X),this.schemas[X]=this._addSchema(Q,Y,X,W,!0),this}addMetaSchema(Q,X,Y=this.opts.validateSchema){return this.addSchema(Q,X,!0,Y),this}validateSchema(Q,X){if(typeof Q=="boolean")return!0;let Y;if(Y=Q.$schema,Y!==void 0&&typeof Y!="string")throw Error("$schema must be a string");if(Y=Y||this.opts.defaultMeta||this.defaultMeta(),!Y)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let W=this.validate(Y,Q);if(!W&&X){let $="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error($);else throw Error($)}return W}getSchema(Q){let X;while(typeof(X=SK.call(this,Q))=="string")Q=X;if(X===void 0){let{schemaId:Y}=this.opts,W=new q4.SchemaEnv({schema:{},schemaId:Y});if(X=q4.resolveSchema.call(this,W,Q),!X)return;this.refs[Q]=X}return X.validate||this._compileSchemaEnv(X)}removeSchema(Q){if(Q instanceof RegExp)return this._removeAllSchemas(this.schemas,Q),this._removeAllSchemas(this.refs,Q),this;switch(typeof Q){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let X=SK.call(this,Q);if(typeof X=="object")this._cache.delete(X.schema);return delete this.schemas[Q],delete this.refs[Q],this}case"object":{let X=Q;this._cache.delete(X);let Y=Q[this.opts.schemaId];if(Y)Y=(0,D4.normalizeId)(Y),delete this.schemas[Y],delete this.refs[Y];return this}default:throw Error("ajv.removeSchema: invalid parameter")}}addVocabulary(Q){for(let X of Q)this.addKeyword(X);return this}addKeyword(Q,X){let Y;if(typeof Q=="string"){if(Y=Q,typeof X=="object")this.logger.warn("these parameters are deprecated, see docs for addKeyword"),X.keyword=Y}else if(typeof Q=="object"&&X===void 0){if(X=Q,Y=X.keyword,Array.isArray(Y)&&!Y.length)throw Error("addKeywords: keyword must be string or non-empty array")}else throw Error("invalid addKeywords parameters");if(yE.call(this,Y,X),!X)return(0,V$.eachItem)(Y,($)=>K$.call(this,$)),this;gE.call(this,X);let W={...X,type:(0,jX.getJSONTypes)(X.type),schemaType:(0,jX.getJSONTypes)(X.schemaType)};return(0,V$.eachItem)(Y,W.type.length===0?($)=>K$.call(this,$,W):($)=>W.type.forEach((J)=>K$.call(this,$,W,J))),this}getKeyword(Q){let X=this.RULES.all[Q];return typeof X=="object"?X.definition:!!X}removeKeyword(Q){let{RULES:X}=this;delete X.keywords[Q],delete X.all[Q];for(let Y of X.rules){let W=Y.rules.findIndex(($)=>$.keyword===Q);if(W>=0)Y.rules.splice(W,1)}return this}addFormat(Q,X){if(typeof X=="string")X=new RegExp(X);return this.formats[Q]=X,this}errorsText(Q=this.errors,{separator:X=", ",dataVar:Y="data"}={}){if(!Q||Q.length===0)return"No errors";return Q.map((W)=>`${Y}${W.instancePath} ${W.message}`).reduce((W,$)=>W+X+$)}$dataMetaSchema(Q,X){let Y=this.RULES.all;Q=JSON.parse(JSON.stringify(Q));for(let W of X){let $=W.split("/").slice(1),J=Q;for(let G of $)J=J[G];for(let G in Y){let H=Y[G];if(typeof H!="object")continue;let{$data:B}=H.definition,z=J[G];if(B&&z)J[G]=CK(z)}}return Q}_removeAllSchemas(Q,X){for(let Y in Q){let W=Q[Y];if(!X||X.test(Y)){if(typeof W=="string")delete Q[Y];else if(W&&!W.meta)this._cache.delete(W.schema),delete Q[Y]}}}_addSchema(Q,X,Y,W=this.opts.validateSchema,$=this.opts.addUsedSchema){let J,{schemaId:G}=this.opts;if(typeof Q=="object")J=Q[G];else if(this.opts.jtd)throw Error("schema must be object");else if(typeof Q!="boolean")throw Error("schema must be object or boolean");let H=this._cache.get(Q);if(H!==void 0)return H;Y=(0,D4.normalizeId)(J||Y);let B=D4.getSchemaRefs.call(this,Q,Y);if(H=new q4.SchemaEnv({schema:Q,schemaId:G,meta:X,baseId:Y,localRefs:B}),this._cache.set(H.schema,H),$&&!Y.startsWith("#")){if(Y)this._checkUnique(Y);this.refs[Y]=H}if(W)this.validateSchema(Q,!0);return H}_checkUnique(Q){if(this.schemas[Q]||this.refs[Q])throw Error(`schema with key or id "${Q}" already exists`)}_compileSchemaEnv(Q){if(Q.meta)this._compileMetaSchema(Q);else q4.compileSchema.call(this,Q);if(!Q.validate)throw Error("ajv implementation error");return Q.validate}_compileMetaSchema(Q){let X=this.opts;this.opts=this._metaOpts;try{q4.compileSchema.call(this,Q)}finally{this.opts=X}}}MX.ValidationError=ME.default;MX.MissingRefError=IK.default;J6.default=MX;function EK(Q,X,Y,W="error"){for(let $ in Q){let J=$;if(J in X)this.logger[W](`${Y}: option ${$}. ${Q[J]}`)}}function SK(Q){return Q=(0,D4.normalizeId)(Q),this.schemas[Q]||this.refs[Q]}function IE(){let Q=this.opts.schemas;if(!Q)return;if(Array.isArray(Q))this.addSchema(Q);else for(let X in Q)this.addSchema(Q[X],X)}function TE(){for(let Q in this.opts.formats){let X=this.opts.formats[Q];if(X)this.addFormat(Q,X)}}function CE(Q){if(Array.isArray(Q)){this.addVocabulary(Q);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let X in Q){let Y=Q[X];if(!Y.keyword)Y.keyword=X;this.addKeyword(Y)}}function kE(){let Q={...this.opts};for(let X of PE)delete Q[X];return Q}var vE={log(){},warn(){},error(){}};function _E(Q){if(Q===!1)return vE;if(Q===void 0)return console;if(Q.log&&Q.warn&&Q.error)return Q;throw Error("logger must implement log, warn and error methods")}var xE=/^[a-z_$][a-z0-9_$:-]*$/i;function yE(Q,X){let{RULES:Y}=this;if((0,V$.eachItem)(Q,(W)=>{if(Y.keywords[W])throw Error(`Keyword ${W} is already defined`);if(!xE.test(W))throw Error(`Keyword ${W} has invalid name`)}),!X)return;if(X.$data&&!(("code"in X)||("validate"in X)))throw Error('$data keyword must have "code" or "validate" function')}function K$(Q,X,Y){var W;let $=X===null||X===void 0?void 0:X.post;if(Y&&$)throw Error('keyword with "post" flag cannot have "type"');let{RULES:J}=this,G=$?J.post:J.rules.find(({type:B})=>B===Y);if(!G)G={type:Y,rules:[]},J.rules.push(G);if(J.keywords[Q]=!0,!X)return;let H={keyword:Q,definition:{...X,type:(0,jX.getJSONTypes)(X.type),schemaType:(0,jX.getJSONTypes)(X.schemaType)}};if(X.before)fE.call(this,G,H,X.before);else G.rules.push(H);J.all[Q]=H,(W=X.implements)===null||W===void 0||W.forEach((B)=>this.addKeyword(B))}function fE(Q,X,Y){let W=Q.rules.findIndex(($)=>$.keyword===Y);if(W>=0)Q.rules.splice(W,0,X);else Q.rules.push(X),this.logger.warn(`rule ${Y} is not defined`)}function gE(Q){let{metaSchema:X}=Q;if(X===void 0)return;if(Q.$data&&this.opts.$data)X=CK(X);Q.validateSchema=this.compile(X,!0)}var hE={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function CK(Q){return{anyOf:[Q,hE]}}});var _K=j((vK)=>{Object.defineProperty(vK,"__esModule",{value:!0});var mE={keyword:"id",code(){throw Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};vK.default=mE});var uK=j((gK)=>{Object.defineProperty(gK,"__esModule",{value:!0});gK.callRef=gK.getValidate=void 0;var pE=V4(),xK=A1(),Y1=r(),a9=Y6(),yK=qX(),NX=W0(),dE={keyword:"$ref",schemaType:"string",code(Q){let{gen:X,schema:Y,it:W}=Q,{baseId:$,schemaEnv:J,validateName:G,opts:H,self:B}=W,{root:z}=J;if((Y==="#"||Y==="#/")&&$===z.baseId)return V();let K=yK.resolveRef.call(B,z,$,Y);if(K===void 0)throw new pE.default(W.opts.uriResolver,$,Y);if(K instanceof yK.SchemaEnv)return q(K);return F(K);function V(){if(J===z)return wX(Q,G,J,J.$async);let A=X.scopeValue("root",{ref:z});return wX(Q,Y1._`${A}.validate`,z,z.$async)}function q(A){let D=fK(Q,A);wX(Q,D,A,A.$async)}function F(A){let D=X.scopeValue("schema",H.code.source===!0?{ref:A,code:(0,Y1.stringify)(A)}:{ref:A}),L=X.name("valid"),O=Q.subschema({schema:A,dataTypes:[],schemaPath:Y1.nil,topSchemaRef:D,errSchemaPath:Y},L);Q.mergeEvaluated(O),Q.ok(L)}}};function fK(Q,X){let{gen:Y}=Q;return X.validate?Y.scopeValue("validate",{ref:X.validate}):Y1._`${Y.scopeValue("wrapper",{ref:X})}.validate`}gK.getValidate=fK;function wX(Q,X,Y,W){let{gen:$,it:J}=Q,{allErrors:G,schemaEnv:H,opts:B}=J,z=B.passContext?a9.default.this:Y1.nil;if(W)K();else V();function K(){if(!H.$async)throw Error("async schema referenced by sync schema");let A=$.let("valid");$.try(()=>{if($.code(Y1._`await ${(0,xK.callValidateCode)(Q,X,z)}`),F(X),!G)$.assign(A,!0)},(D)=>{if($.if(Y1._`!(${D} instanceof ${J.ValidationError})`,()=>$.throw(D)),q(D),!G)$.assign(A,!1)}),Q.ok(A)}function V(){Q.result((0,xK.callValidateCode)(Q,X,z),()=>F(X),()=>q(X))}function q(A){let D=Y1._`${A}.errors`;$.assign(a9.default.vErrors,Y1._`${a9.default.vErrors} === null ? ${D} : ${a9.default.vErrors}.concat(${D})`),$.assign(a9.default.errors,Y1._`${a9.default.vErrors}.length`)}function F(A){var D;if(!J.opts.unevaluated)return;let L=(D=Y===null||Y===void 0?void 0:Y.validate)===null||D===void 0?void 0:D.evaluated;if(J.props!==!0)if(L&&!L.dynamicProps){if(L.props!==void 0)J.props=NX.mergeEvaluated.props($,L.props,J.props)}else{let O=$.var("props",Y1._`${A}.evaluated.props`);J.props=NX.mergeEvaluated.props($,O,J.props,Y1.Name)}if(J.items!==!0)if(L&&!L.dynamicItems){if(L.items!==void 0)J.items=NX.mergeEvaluated.items($,L.items,J.items)}else{let O=$.var("items",Y1._`${A}.evaluated.items`);J.items=NX.mergeEvaluated.items($,O,J.items,Y1.Name)}}}gK.callRef=wX;gK.default=dE});var mK=j((lK)=>{Object.defineProperty(lK,"__esModule",{value:!0});var oE=_K(),rE=uK(),tE=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",oE.default,rE.default];lK.default=tE});var pK=j((cK)=>{Object.defineProperty(cK,"__esModule",{value:!0});var bX=r(),E6=bX.operators,PX={maximum:{okStr:"<=",ok:E6.LTE,fail:E6.GT},minimum:{okStr:">=",ok:E6.GTE,fail:E6.LT},exclusiveMaximum:{okStr:"<",ok:E6.LT,fail:E6.GTE},exclusiveMinimum:{okStr:">",ok:E6.GT,fail:E6.LTE}},sE={message:({keyword:Q,schemaCode:X})=>bX.str`must be ${PX[Q].okStr} ${X}`,params:({keyword:Q,schemaCode:X})=>bX._`{comparison: ${PX[Q].okStr}, limit: ${X}}`},eE={keyword:Object.keys(PX),type:"number",schemaType:"number",$data:!0,error:sE,code(Q){let{keyword:X,data:Y,schemaCode:W}=Q;Q.fail$data(bX._`${Y} ${PX[X].fail} ${W} || isNaN(${Y})`)}};cK.default=eE});var iK=j((dK)=>{Object.defineProperty(dK,"__esModule",{value:!0});var L4=r(),XS={message:({schemaCode:Q})=>L4.str`must be multiple of ${Q}`,params:({schemaCode:Q})=>L4._`{multipleOf: ${Q}}`},YS={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:XS,code(Q){let{gen:X,data:Y,schemaCode:W,it:$}=Q,J=$.opts.multipleOfPrecision,G=X.let("res"),H=J?L4._`Math.abs(Math.round(${G}) - ${G}) > 1e-${J}`:L4._`${G} !== parseInt(${G})`;Q.fail$data(L4._`(${W} === 0 || (${G} = ${Y}/${W}, ${H}))`)}};dK.default=YS});var rK=j((oK)=>{Object.defineProperty(oK,"__esModule",{value:!0});function nK(Q){let X=Q.length,Y=0,W=0,$;while(W<X)if(Y++,$=Q.charCodeAt(W++),$>=55296&&$<=56319&&W<X){if($=Q.charCodeAt(W),($&64512)===56320)W++}return Y}oK.default=nK;nK.code='require("ajv/dist/runtime/ucs2length").default'});var aK=j((tK)=>{Object.defineProperty(tK,"__esModule",{value:!0});var H9=r(),JS=W0(),GS=rK(),HS={message({keyword:Q,schemaCode:X}){let Y=Q==="maxLength"?"more":"fewer";return H9.str`must NOT have ${Y} than ${X} characters`},params:({schemaCode:Q})=>H9._`{limit: ${Q}}`},BS={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:HS,code(Q){let{keyword:X,data:Y,schemaCode:W,it:$}=Q,J=X==="maxLength"?H9.operators.GT:H9.operators.LT,G=$.opts.unicode===!1?H9._`${Y}.length`:H9._`${(0,JS.useFunc)(Q.gen,GS.default)}(${Y})`;Q.fail$data(H9._`${G} ${J} ${W}`)}};tK.default=BS});var eK=j((sK)=>{Object.defineProperty(sK,"__esModule",{value:!0});var KS=A1(),ZX=r(),VS={message:({schemaCode:Q})=>ZX.str`must match pattern "${Q}"`,params:({schemaCode:Q})=>ZX._`{pattern: ${Q}}`},FS={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:VS,code(Q){let{data:X,$data:Y,schema:W,schemaCode:$,it:J}=Q,G=J.opts.unicodeRegExp?"u":"",H=Y?ZX._`(new RegExp(${$}, ${G}))`:(0,KS.usePattern)(Q,W);Q.fail$data(ZX._`!${H}.test(${X})`)}};sK.default=FS});var XV=j((QV)=>{Object.defineProperty(QV,"__esModule",{value:!0});var O4=r(),qS={message({keyword:Q,schemaCode:X}){let Y=Q==="maxProperties"?"more":"fewer";return O4.str`must NOT have ${Y} than ${X} properties`},params:({schemaCode:Q})=>O4._`{limit: ${Q}}`},DS={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:qS,code(Q){let{keyword:X,data:Y,schemaCode:W}=Q,$=X==="maxProperties"?O4.operators.GT:O4.operators.LT;Q.fail$data(O4._`Object.keys(${Y}).length ${$} ${W}`)}};QV.default=DS});var WV=j((YV)=>{Object.defineProperty(YV,"__esModule",{value:!0});var U4=A1(),j4=r(),OS=W0(),US={message:({params:{missingProperty:Q}})=>j4.str`must have required property '${Q}'`,params:({params:{missingProperty:Q}})=>j4._`{missingProperty: ${Q}}`},jS={keyword:"required",type:"object",schemaType:"array",$data:!0,error:US,code(Q){let{gen:X,schema:Y,schemaCode:W,data:$,$data:J,it:G}=Q,{opts:H}=G;if(!J&&Y.length===0)return;let B=Y.length>=H.loopRequired;if(G.allErrors)z();else K();if(H.strictRequired){let F=Q.parentSchema.properties,{definedProperties:A}=Q.it;for(let D of Y)if((F===null||F===void 0?void 0:F[D])===void 0&&!A.has(D)){let L=G.schemaEnv.baseId+G.errSchemaPath,O=`required property "${D}" is not defined at "${L}" (strictRequired)`;(0,OS.checkStrictMode)(G,O,G.opts.strictRequired)}}function z(){if(B||J)Q.block$data(j4.nil,V);else for(let F of Y)(0,U4.checkReportMissingProp)(Q,F)}function K(){let F=X.let("missing");if(B||J){let A=X.let("valid",!0);Q.block$data(A,()=>q(F,A)),Q.ok(A)}else X.if((0,U4.checkMissingProp)(Q,Y,F)),(0,U4.reportMissingProp)(Q,F),X.else()}function V(){X.forOf("prop",W,(F)=>{Q.setParams({missingProperty:F}),X.if((0,U4.noPropertyInData)(X,$,F,H.ownProperties),()=>Q.error())})}function q(F,A){Q.setParams({missingProperty:F}),X.forOf(F,W,()=>{X.assign(A,(0,U4.propertyInData)(X,$,F,H.ownProperties)),X.if((0,j4.not)(A),()=>{Q.error(),X.break()})},j4.nil)}}};YV.default=jS});var JV=j(($V)=>{Object.defineProperty($V,"__esModule",{value:!0});var M4=r(),NS={message({keyword:Q,schemaCode:X}){let Y=Q==="maxItems"?"more":"fewer";return M4.str`must NOT have ${Y} than ${X} items`},params:({schemaCode:Q})=>M4._`{limit: ${Q}}`},wS={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:NS,code(Q){let{keyword:X,data:Y,schemaCode:W}=Q,$=X==="maxItems"?M4.operators.GT:M4.operators.LT;Q.fail$data(M4._`${Y}.length ${$} ${W}`)}};$V.default=wS});var RX=j((HV)=>{Object.defineProperty(HV,"__esModule",{value:!0});var GV=G4();GV.code='require("ajv/dist/runtime/equal").default';HV.default=GV});var zV=j((BV)=>{Object.defineProperty(BV,"__esModule",{value:!0});var F$=J4(),y0=r(),ZS=W0(),RS=RX(),ES={message:({params:{i:Q,j:X}})=>y0.str`must NOT have duplicate items (items ## ${X} and ${Q} are identical)`,params:({params:{i:Q,j:X}})=>y0._`{i: ${Q}, j: ${X}}`},SS={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:ES,code(Q){let{gen:X,data:Y,$data:W,schema:$,parentSchema:J,schemaCode:G,it:H}=Q;if(!W&&!$)return;let B=X.let("valid"),z=J.items?(0,F$.getSchemaTypes)(J.items):[];Q.block$data(B,K,y0._`${G} === false`),Q.ok(B);function K(){let A=X.let("i",y0._`${Y}.length`),D=X.let("j");Q.setParams({i:A,j:D}),X.assign(B,!0),X.if(y0._`${A} > 1`,()=>(V()?q:F)(A,D))}function V(){return z.length>0&&!z.some((A)=>A==="object"||A==="array")}function q(A,D){let L=X.name("item"),O=(0,F$.checkDataTypes)(z,L,H.opts.strictNumbers,F$.DataType.Wrong),N=X.const("indices",y0._`{}`);X.for(y0._`;${A}--;`,()=>{if(X.let(L,y0._`${Y}[${A}]`),X.if(O,y0._`continue`),z.length>1)X.if(y0._`typeof ${L} == "string"`,y0._`${L} += "_"`);X.if(y0._`typeof ${N}[${L}] == "number"`,()=>{X.assign(D,y0._`${N}[${L}]`),Q.error(),X.assign(B,!1).break()}).code(y0._`${N}[${L}] = ${A}`)})}function F(A,D){let L=(0,ZS.useFunc)(X,RS.default),O=X.name("outer");X.label(O).for(y0._`;${A}--;`,()=>X.for(y0._`${D} = ${A}; ${D}--;`,()=>X.if(y0._`${L}(${Y}[${A}], ${Y}[${D}])`,()=>{Q.error(),X.assign(B,!1).break(O)})))}}};BV.default=SS});var VV=j((KV)=>{Object.defineProperty(KV,"__esModule",{value:!0});var A$=r(),TS=W0(),CS=RX(),kS={message:"must be equal to constant",params:({schemaCode:Q})=>A$._`{allowedValue: ${Q}}`},vS={keyword:"const",$data:!0,error:kS,code(Q){let{gen:X,data:Y,$data:W,schemaCode:$,schema:J}=Q;if(W||J&&typeof J=="object")Q.fail$data(A$._`!${(0,TS.useFunc)(X,CS.default)}(${Y}, ${$})`);else Q.fail(A$._`${J} !== ${Y}`)}};KV.default=vS});var AV=j((FV)=>{Object.defineProperty(FV,"__esModule",{value:!0});var N4=r(),xS=W0(),yS=RX(),fS={message:"must be equal to one of the allowed values",params:({schemaCode:Q})=>N4._`{allowedValues: ${Q}}`},gS={keyword:"enum",schemaType:"array",$data:!0,error:fS,code(Q){let{gen:X,data:Y,$data:W,schema:$,schemaCode:J,it:G}=Q;if(!W&&$.length===0)throw Error("enum must have non-empty array");let H=$.length>=G.opts.loopEnum,B,z=()=>B!==null&&B!==void 0?B:B=(0,xS.useFunc)(X,yS.default),K;if(H||W)K=X.let("valid"),Q.block$data(K,V);else{if(!Array.isArray($))throw Error("ajv implementation error");let F=X.const("vSchema",J);K=(0,N4.or)(...$.map((A,D)=>q(F,D)))}Q.pass(K);function V(){X.assign(K,!1),X.forOf("v",J,(F)=>X.if(N4._`${z()}(${Y}, ${F})`,()=>X.assign(K,!0).break()))}function q(F,A){let D=$[A];return typeof D==="object"&&D!==null?N4._`${z()}(${Y}, ${F}[${A}])`:N4._`${Y} === ${D}`}}};FV.default=gS});var DV=j((qV)=>{Object.defineProperty(qV,"__esModule",{value:!0});var uS=pK(),lS=iK(),mS=aK(),cS=eK(),pS=XV(),dS=WV(),iS=JV(),nS=zV(),oS=VV(),rS=AV(),tS=[uS.default,lS.default,mS.default,cS.default,pS.default,dS.default,iS.default,nS.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},oS.default,rS.default];qV.default=tS});var D$=j((OV)=>{Object.defineProperty(OV,"__esModule",{value:!0});OV.validateAdditionalItems=void 0;var B9=r(),q$=W0(),sS={message:({params:{len:Q}})=>B9.str`must NOT have more than ${Q} items`,params:({params:{len:Q}})=>B9._`{limit: ${Q}}`},eS={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:sS,code(Q){let{parentSchema:X,it:Y}=Q,{items:W}=X;if(!Array.isArray(W)){(0,q$.checkStrictMode)(Y,'"additionalItems" is ignored when "items" is not an array of schemas');return}LV(Q,W)}};function LV(Q,X){let{gen:Y,schema:W,data:$,keyword:J,it:G}=Q;G.items=!0;let H=Y.const("len",B9._`${$}.length`);if(W===!1)Q.setParams({len:X.length}),Q.pass(B9._`${H} <= ${X.length}`);else if(typeof W=="object"&&!(0,q$.alwaysValidSchema)(G,W)){let z=Y.var("valid",B9._`${H} <= ${X.length}`);Y.if((0,B9.not)(z),()=>B(z)),Q.ok(z)}function B(z){Y.forRange("i",X.length,H,(K)=>{if(Q.subschema({keyword:J,dataProp:K,dataPropType:q$.Type.Num},z),!G.allErrors)Y.if((0,B9.not)(z),()=>Y.break())})}}OV.validateAdditionalItems=LV;OV.default=eS});var L$=j((NV)=>{Object.defineProperty(NV,"__esModule",{value:!0});NV.validateTuple=void 0;var jV=r(),EX=W0(),XI=A1(),YI={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(Q){let{schema:X,it:Y}=Q;if(Array.isArray(X))return MV(Q,"additionalItems",X);if(Y.items=!0,(0,EX.alwaysValidSchema)(Y,X))return;Q.ok((0,XI.validateArray)(Q))}};function MV(Q,X,Y=Q.schema){let{gen:W,parentSchema:$,data:J,keyword:G,it:H}=Q;if(K($),H.opts.unevaluated&&Y.length&&H.items!==!0)H.items=EX.mergeEvaluated.items(W,Y.length,H.items);let B=W.name("valid"),z=W.const("len",jV._`${J}.length`);Y.forEach((V,q)=>{if((0,EX.alwaysValidSchema)(H,V))return;W.if(jV._`${z} > ${q}`,()=>Q.subschema({keyword:G,schemaProp:q,dataProp:q},B)),Q.ok(B)});function K(V){let{opts:q,errSchemaPath:F}=H,A=Y.length,D=A===V.minItems&&(A===V.maxItems||V[X]===!1);if(q.strictTuples&&!D){let L=`"${G}" is ${A}-tuple, but minItems or maxItems/${X} are not specified or different at path "${F}"`;(0,EX.checkStrictMode)(H,L,q.strictTuples)}}}NV.validateTuple=MV;NV.default=YI});var PV=j((bV)=>{Object.defineProperty(bV,"__esModule",{value:!0});var $I=L$(),JI={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:(Q)=>(0,$I.validateTuple)(Q,"items")};bV.default=JI});var EV=j((RV)=>{Object.defineProperty(RV,"__esModule",{value:!0});var ZV=r(),HI=W0(),BI=A1(),zI=D$(),KI={message:({params:{len:Q}})=>ZV.str`must NOT have more than ${Q} items`,params:({params:{len:Q}})=>ZV._`{limit: ${Q}}`},VI={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:KI,code(Q){let{schema:X,parentSchema:Y,it:W}=Q,{prefixItems:$}=Y;if(W.items=!0,(0,HI.alwaysValidSchema)(W,X))return;if($)(0,zI.validateAdditionalItems)(Q,$);else Q.ok((0,BI.validateArray)(Q))}};RV.default=VI});var IV=j((SV)=>{Object.defineProperty(SV,"__esModule",{value:!0});var q1=r(),SX=W0(),AI={message:({params:{min:Q,max:X}})=>X===void 0?q1.str`must contain at least ${Q} valid item(s)`:q1.str`must contain at least ${Q} and no more than ${X} valid item(s)`,params:({params:{min:Q,max:X}})=>X===void 0?q1._`{minContains: ${Q}}`:q1._`{minContains: ${Q}, maxContains: ${X}}`},qI={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:AI,code(Q){let{gen:X,schema:Y,parentSchema:W,data:$,it:J}=Q,G,H,{minContains:B,maxContains:z}=W;if(J.opts.next)G=B===void 0?1:B,H=z;else G=1;let K=X.const("len",q1._`${$}.length`);if(Q.setParams({min:G,max:H}),H===void 0&&G===0){(0,SX.checkStrictMode)(J,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(H!==void 0&&G>H){(0,SX.checkStrictMode)(J,'"minContains" > "maxContains" is always invalid'),Q.fail();return}if((0,SX.alwaysValidSchema)(J,Y)){let D=q1._`${K} >= ${G}`;if(H!==void 0)D=q1._`${D} && ${K} <= ${H}`;Q.pass(D);return}J.items=!0;let V=X.name("valid");if(H===void 0&&G===1)F(V,()=>X.if(V,()=>X.break()));else if(G===0){if(X.let(V,!0),H!==void 0)X.if(q1._`${$}.length > 0`,q)}else X.let(V,!1),q();Q.result(V,()=>Q.reset());function q(){let D=X.name("_valid"),L=X.let("count",0);F(D,()=>X.if(D,()=>A(L)))}function F(D,L){X.forRange("i",0,K,(O)=>{Q.subschema({keyword:"contains",dataProp:O,dataPropType:SX.Type.Num,compositeRule:!0},D),L()})}function A(D){if(X.code(q1._`${D}++`),H===void 0)X.if(q1._`${D} >= ${G}`,()=>X.assign(V,!0).break());else if(X.if(q1._`${D} > ${H}`,()=>X.assign(V,!1).break()),G===1)X.assign(V,!0);else X.if(q1._`${D} >= ${G}`,()=>X.assign(V,!0))}}};SV.default=qI});var xV=j((kV)=>{Object.defineProperty(kV,"__esModule",{value:!0});kV.validateSchemaDeps=kV.validatePropertyDeps=kV.error=void 0;var O$=r(),LI=W0(),w4=A1();kV.error={message:({params:{property:Q,depsCount:X,deps:Y}})=>{let W=X===1?"property":"properties";return O$.str`must have ${W} ${Y} when property ${Q} is present`},params:({params:{property:Q,depsCount:X,deps:Y,missingProperty:W}})=>O$._`{property: ${Q},
7
+ missingProperty: ${W},
8
+ depsCount: ${X},
9
+ deps: ${Y}}`};var OI={keyword:"dependencies",type:"object",schemaType:"object",error:kV.error,code(Q){let[X,Y]=UI(Q);TV(Q,X),CV(Q,Y)}};function UI({schema:Q}){let X={},Y={};for(let W in Q){if(W==="__proto__")continue;let $=Array.isArray(Q[W])?X:Y;$[W]=Q[W]}return[X,Y]}function TV(Q,X=Q.schema){let{gen:Y,data:W,it:$}=Q;if(Object.keys(X).length===0)return;let J=Y.let("missing");for(let G in X){let H=X[G];if(H.length===0)continue;let B=(0,w4.propertyInData)(Y,W,G,$.opts.ownProperties);if(Q.setParams({property:G,depsCount:H.length,deps:H.join(", ")}),$.allErrors)Y.if(B,()=>{for(let z of H)(0,w4.checkReportMissingProp)(Q,z)});else Y.if(O$._`${B} && (${(0,w4.checkMissingProp)(Q,H,J)})`),(0,w4.reportMissingProp)(Q,J),Y.else()}}kV.validatePropertyDeps=TV;function CV(Q,X=Q.schema){let{gen:Y,data:W,keyword:$,it:J}=Q,G=Y.name("valid");for(let H in X){if((0,LI.alwaysValidSchema)(J,X[H]))continue;Y.if((0,w4.propertyInData)(Y,W,H,J.opts.ownProperties),()=>{let B=Q.subschema({keyword:$,schemaProp:H},G);Q.mergeValidEvaluated(B,G)},()=>Y.var(G,!0)),Q.ok(G)}}kV.validateSchemaDeps=CV;kV.default=OI});var gV=j((fV)=>{Object.defineProperty(fV,"__esModule",{value:!0});var yV=r(),NI=W0(),wI={message:"property name must be valid",params:({params:Q})=>yV._`{propertyName: ${Q.propertyName}}`},bI={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:wI,code(Q){let{gen:X,schema:Y,data:W,it:$}=Q;if((0,NI.alwaysValidSchema)($,Y))return;let J=X.name("valid");X.forIn("key",W,(G)=>{Q.setParams({propertyName:G}),Q.subschema({keyword:"propertyNames",data:G,dataTypes:["string"],propertyName:G,compositeRule:!0},J),X.if((0,yV.not)(J),()=>{if(Q.error(!0),!$.allErrors)X.break()})}),Q.ok(J)}};fV.default=bI});var U$=j((hV)=>{Object.defineProperty(hV,"__esModule",{value:!0});var IX=A1(),T1=r(),ZI=Y6(),TX=W0(),RI={message:"must NOT have additional properties",params:({params:Q})=>T1._`{additionalProperty: ${Q.additionalProperty}}`},EI={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:RI,code(Q){let{gen:X,schema:Y,parentSchema:W,data:$,errsCount:J,it:G}=Q;if(!J)throw Error("ajv implementation error");let{allErrors:H,opts:B}=G;if(G.props=!0,B.removeAdditional!=="all"&&(0,TX.alwaysValidSchema)(G,Y))return;let z=(0,IX.allSchemaProperties)(W.properties),K=(0,IX.allSchemaProperties)(W.patternProperties);V(),Q.ok(T1._`${J} === ${ZI.default.errors}`);function V(){X.forIn("key",$,(L)=>{if(!z.length&&!K.length)A(L);else X.if(q(L),()=>A(L))})}function q(L){let O;if(z.length>8){let N=(0,TX.schemaRefOrVal)(G,W.properties,"properties");O=(0,IX.isOwnProperty)(X,N,L)}else if(z.length)O=(0,T1.or)(...z.map((N)=>T1._`${L} === ${N}`));else O=T1.nil;if(K.length)O=(0,T1.or)(O,...K.map((N)=>T1._`${(0,IX.usePattern)(Q,N)}.test(${L})`));return(0,T1.not)(O)}function F(L){X.code(T1._`delete ${$}[${L}]`)}function A(L){if(B.removeAdditional==="all"||B.removeAdditional&&Y===!1){F(L);return}if(Y===!1){if(Q.setParams({additionalProperty:L}),Q.error(),!H)X.break();return}if(typeof Y=="object"&&!(0,TX.alwaysValidSchema)(G,Y)){let O=X.name("valid");if(B.removeAdditional==="failing")D(L,O,!1),X.if((0,T1.not)(O),()=>{Q.reset(),F(L)});else if(D(L,O),!H)X.if((0,T1.not)(O),()=>X.break())}}function D(L,O,N){let w={keyword:"additionalProperties",dataProp:L,dataPropType:TX.Type.Str};if(N===!1)Object.assign(w,{compositeRule:!0,createErrors:!1,allErrors:!1});Q.subschema(w,O)}}};hV.default=EI});var cV=j((mV)=>{Object.defineProperty(mV,"__esModule",{value:!0});var II=K4(),uV=A1(),j$=W0(),lV=U$(),TI={keyword:"properties",type:"object",schemaType:"object",code(Q){let{gen:X,schema:Y,parentSchema:W,data:$,it:J}=Q;if(J.opts.removeAdditional==="all"&&W.additionalProperties===void 0)lV.default.code(new II.KeywordCxt(J,lV.default,"additionalProperties"));let G=(0,uV.allSchemaProperties)(Y);for(let V of G)J.definedProperties.add(V);if(J.opts.unevaluated&&G.length&&J.props!==!0)J.props=j$.mergeEvaluated.props(X,(0,j$.toHash)(G),J.props);let H=G.filter((V)=>!(0,j$.alwaysValidSchema)(J,Y[V]));if(H.length===0)return;let B=X.name("valid");for(let V of H){if(z(V))K(V);else{if(X.if((0,uV.propertyInData)(X,$,V,J.opts.ownProperties)),K(V),!J.allErrors)X.else().var(B,!0);X.endIf()}Q.it.definedProperties.add(V),Q.ok(B)}function z(V){return J.opts.useDefaults&&!J.compositeRule&&Y[V].default!==void 0}function K(V){Q.subschema({keyword:"properties",schemaProp:V,dataProp:V},B)}}};mV.default=TI});var oV=j((nV)=>{Object.defineProperty(nV,"__esModule",{value:!0});var pV=A1(),CX=r(),dV=W0(),iV=W0(),kI={keyword:"patternProperties",type:"object",schemaType:"object",code(Q){let{gen:X,schema:Y,data:W,parentSchema:$,it:J}=Q,{opts:G}=J,H=(0,pV.allSchemaProperties)(Y),B=H.filter((D)=>(0,dV.alwaysValidSchema)(J,Y[D]));if(H.length===0||B.length===H.length&&(!J.opts.unevaluated||J.props===!0))return;let z=G.strictSchema&&!G.allowMatchingProperties&&$.properties,K=X.name("valid");if(J.props!==!0&&!(J.props instanceof CX.Name))J.props=(0,iV.evaluatedPropsToName)(X,J.props);let{props:V}=J;q();function q(){for(let D of H){if(z)F(D);if(J.allErrors)A(D);else X.var(K,!0),A(D),X.if(K)}}function F(D){for(let L in z)if(new RegExp(D).test(L))(0,dV.checkStrictMode)(J,`property ${L} matches pattern ${D} (use allowMatchingProperties)`)}function A(D){X.forIn("key",W,(L)=>{X.if(CX._`${(0,pV.usePattern)(Q,D)}.test(${L})`,()=>{let O=B.includes(D);if(!O)Q.subschema({keyword:"patternProperties",schemaProp:D,dataProp:L,dataPropType:iV.Type.Str},K);if(J.opts.unevaluated&&V!==!0)X.assign(CX._`${V}[${L}]`,!0);else if(!O&&!J.allErrors)X.if((0,CX.not)(K),()=>X.break())})})}}};nV.default=kI});var tV=j((rV)=>{Object.defineProperty(rV,"__esModule",{value:!0});var _I=W0(),xI={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(Q){let{gen:X,schema:Y,it:W}=Q;if((0,_I.alwaysValidSchema)(W,Y)){Q.fail();return}let $=X.name("valid");Q.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},$),Q.failResult($,()=>Q.reset(),()=>Q.error())},error:{message:"must NOT be valid"}};rV.default=xI});var sV=j((aV)=>{Object.defineProperty(aV,"__esModule",{value:!0});var fI=A1(),gI={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:fI.validateUnion,error:{message:"must match a schema in anyOf"}};aV.default=gI});var QF=j((eV)=>{Object.defineProperty(eV,"__esModule",{value:!0});var kX=r(),uI=W0(),lI={message:"must match exactly one schema in oneOf",params:({params:Q})=>kX._`{passingSchemas: ${Q.passing}}`},mI={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:lI,code(Q){let{gen:X,schema:Y,parentSchema:W,it:$}=Q;if(!Array.isArray(Y))throw Error("ajv implementation error");if($.opts.discriminator&&W.discriminator)return;let J=Y,G=X.let("valid",!1),H=X.let("passing",null),B=X.name("_valid");Q.setParams({passing:H}),X.block(z),Q.result(G,()=>Q.reset(),()=>Q.error(!0));function z(){J.forEach((K,V)=>{let q;if((0,uI.alwaysValidSchema)($,K))X.var(B,!0);else q=Q.subschema({keyword:"oneOf",schemaProp:V,compositeRule:!0},B);if(V>0)X.if(kX._`${B} && ${G}`).assign(G,!1).assign(H,kX._`[${H}, ${V}]`).else();X.if(B,()=>{if(X.assign(G,!0),X.assign(H,V),q)Q.mergeEvaluated(q,kX.Name)})})}}};eV.default=mI});var YF=j((XF)=>{Object.defineProperty(XF,"__esModule",{value:!0});var pI=W0(),dI={keyword:"allOf",schemaType:"array",code(Q){let{gen:X,schema:Y,it:W}=Q;if(!Array.isArray(Y))throw Error("ajv implementation error");let $=X.name("valid");Y.forEach((J,G)=>{if((0,pI.alwaysValidSchema)(W,J))return;let H=Q.subschema({keyword:"allOf",schemaProp:G},$);Q.ok($),Q.mergeEvaluated(H)})}};XF.default=dI});var GF=j((JF)=>{Object.defineProperty(JF,"__esModule",{value:!0});var vX=r(),$F=W0(),nI={message:({params:Q})=>vX.str`must match "${Q.ifClause}" schema`,params:({params:Q})=>vX._`{failingKeyword: ${Q.ifClause}}`},oI={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:nI,code(Q){let{gen:X,parentSchema:Y,it:W}=Q;if(Y.then===void 0&&Y.else===void 0)(0,$F.checkStrictMode)(W,'"if" without "then" and "else" is ignored');let $=WF(W,"then"),J=WF(W,"else");if(!$&&!J)return;let G=X.let("valid",!0),H=X.name("_valid");if(B(),Q.reset(),$&&J){let K=X.let("ifClause");Q.setParams({ifClause:K}),X.if(H,z("then",K),z("else",K))}else if($)X.if(H,z("then"));else X.if((0,vX.not)(H),z("else"));Q.pass(G,()=>Q.error(!0));function B(){let K=Q.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},H);Q.mergeEvaluated(K)}function z(K,V){return()=>{let q=Q.subschema({keyword:K},H);if(X.assign(G,H),Q.mergeValidEvaluated(q,G),V)X.assign(V,vX._`${K}`);else Q.setParams({ifClause:K})}}}};function WF(Q,X){let Y=Q.schema[X];return Y!==void 0&&!(0,$F.alwaysValidSchema)(Q,Y)}JF.default=oI});var BF=j((HF)=>{Object.defineProperty(HF,"__esModule",{value:!0});var tI=W0(),aI={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:Q,parentSchema:X,it:Y}){if(X.if===void 0)(0,tI.checkStrictMode)(Y,`"${Q}" without "if" is ignored`)}};HF.default=aI});var KF=j((zF)=>{Object.defineProperty(zF,"__esModule",{value:!0});var eI=D$(),QT=PV(),XT=L$(),YT=EV(),WT=IV(),$T=xV(),JT=gV(),GT=U$(),HT=cV(),BT=oV(),zT=tV(),KT=sV(),VT=QF(),FT=YF(),AT=GF(),qT=BF();function DT(Q=!1){let X=[zT.default,KT.default,VT.default,FT.default,AT.default,qT.default,JT.default,GT.default,$T.default,HT.default,BT.default];if(Q)X.push(QT.default,YT.default);else X.push(eI.default,XT.default);return X.push(WT.default),X}zF.default=DT});var FF=j((VF)=>{Object.defineProperty(VF,"__esModule",{value:!0});var Z0=r(),OT={message:({schemaCode:Q})=>Z0.str`must match format "${Q}"`,params:({schemaCode:Q})=>Z0._`{format: ${Q}}`},UT={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:OT,code(Q,X){let{gen:Y,data:W,$data:$,schema:J,schemaCode:G,it:H}=Q,{opts:B,errSchemaPath:z,schemaEnv:K,self:V}=H;if(!B.validateFormats)return;if($)q();else F();function q(){let A=Y.scopeValue("formats",{ref:V.formats,code:B.code.formats}),D=Y.const("fDef",Z0._`${A}[${G}]`),L=Y.let("fType"),O=Y.let("format");Y.if(Z0._`typeof ${D} == "object" && !(${D} instanceof RegExp)`,()=>Y.assign(L,Z0._`${D}.type || "string"`).assign(O,Z0._`${D}.validate`),()=>Y.assign(L,Z0._`"string"`).assign(O,D)),Q.fail$data((0,Z0.or)(N(),w()));function N(){if(B.strictSchema===!1)return Z0.nil;return Z0._`${G} && !${O}`}function w(){let C=K.$async?Z0._`(${D}.async ? await ${O}(${W}) : ${O}(${W}))`:Z0._`${O}(${W})`,Z=Z0._`(typeof ${O} == "function" ? ${C} : ${O}.test(${W}))`;return Z0._`${O} && ${O} !== true && ${L} === ${X} && !${Z}`}}function F(){let A=V.formats[J];if(!A){N();return}if(A===!0)return;let[D,L,O]=w(A);if(D===X)Q.pass(C());function N(){if(B.strictSchema===!1){V.logger.warn(Z());return}throw Error(Z());function Z(){return`unknown format "${J}" ignored in schema at path "${z}"`}}function w(Z){let K0=Z instanceof RegExp?(0,Z0.regexpCode)(Z):B.code.formats?Z0._`${B.code.formats}${(0,Z0.getProperty)(J)}`:void 0,P0=Y.scopeValue("formats",{key:J,ref:Z,code:K0});if(typeof Z=="object"&&!(Z instanceof RegExp))return[Z.type||"string",Z.validate,Z0._`${P0}.validate`];return["string",Z,P0]}function C(){if(typeof A=="object"&&!(A instanceof RegExp)&&A.async){if(!K.$async)throw Error("async format in sync schema");return Z0._`await ${O}(${W})`}return typeof L=="function"?Z0._`${O}(${W})`:Z0._`${O}.test(${W})`}}}};VF.default=UT});var qF=j((AF)=>{Object.defineProperty(AF,"__esModule",{value:!0});var MT=FF(),NT=[MT.default];AF.default=NT});var OF=j((DF)=>{Object.defineProperty(DF,"__esModule",{value:!0});DF.contentVocabulary=DF.metadataVocabulary=void 0;DF.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];DF.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var MF=j((jF)=>{Object.defineProperty(jF,"__esModule",{value:!0});var PT=mK(),ZT=DV(),RT=KF(),ET=qF(),UF=OF(),ST=[PT.default,ZT.default,(0,RT.default)(),ET.default,UF.metadataVocabulary,UF.contentVocabulary];jF.default=ST});var PF=j((wF)=>{Object.defineProperty(wF,"__esModule",{value:!0});wF.DiscrError=void 0;var NF;(function(Q){Q.Tag="tag",Q.Mapping="mapping"})(NF||(wF.DiscrError=NF={}))});var EF=j((RF)=>{Object.defineProperty(RF,"__esModule",{value:!0});var s9=r(),M$=PF(),ZF=qX(),TT=V4(),CT=W0(),kT={message:({params:{discrError:Q,tagName:X}})=>Q===M$.DiscrError.Tag?`tag "${X}" must be string`:`value of tag "${X}" must be in oneOf`,params:({params:{discrError:Q,tag:X,tagName:Y}})=>s9._`{error: ${Q}, tag: ${Y}, tagValue: ${X}}`},vT={keyword:"discriminator",type:"object",schemaType:"object",error:kT,code(Q){let{gen:X,data:Y,schema:W,parentSchema:$,it:J}=Q,{oneOf:G}=$;if(!J.opts.discriminator)throw Error("discriminator: requires discriminator option");let H=W.propertyName;if(typeof H!="string")throw Error("discriminator: requires propertyName");if(W.mapping)throw Error("discriminator: mapping is not supported");if(!G)throw Error("discriminator: requires oneOf keyword");let B=X.let("valid",!1),z=X.const("tag",s9._`${Y}${(0,s9.getProperty)(H)}`);X.if(s9._`typeof ${z} == "string"`,()=>K(),()=>Q.error(!1,{discrError:M$.DiscrError.Tag,tag:z,tagName:H})),Q.ok(B);function K(){let F=q();X.if(!1);for(let A in F)X.elseIf(s9._`${z} === ${A}`),X.assign(B,V(F[A]));X.else(),Q.error(!1,{discrError:M$.DiscrError.Mapping,tag:z,tagName:H}),X.endIf()}function V(F){let A=X.name("valid"),D=Q.subschema({keyword:"oneOf",schemaProp:F},A);return Q.mergeEvaluated(D,s9.Name),A}function q(){var F;let A={},D=O($),L=!0;for(let C=0;C<G.length;C++){let Z=G[C];if((Z===null||Z===void 0?void 0:Z.$ref)&&!(0,CT.schemaHasRulesButRef)(Z,J.self.RULES)){let P0=Z.$ref;if(Z=ZF.resolveRef.call(J.self,J.schemaEnv.root,J.baseId,P0),Z instanceof ZF.SchemaEnv)Z=Z.schema;if(Z===void 0)throw new TT.default(J.opts.uriResolver,J.baseId,P0)}let K0=(F=Z===null||Z===void 0?void 0:Z.properties)===null||F===void 0?void 0:F[H];if(typeof K0!="object")throw Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${H}"`);L=L&&(D||O(Z)),N(K0,C)}if(!L)throw Error(`discriminator: "${H}" must be required`);return A;function O({required:C}){return Array.isArray(C)&&C.includes(H)}function N(C,Z){if(C.const)w(C.const,Z);else if(C.enum)for(let K0 of C.enum)w(K0,Z);else throw Error(`discriminator: "properties/${H}" must have "const" or "enum"`)}function w(C,Z){if(typeof C!="string"||C in A)throw Error(`discriminator: "${H}" values must be unique strings`);A[C]=Z}}}};RF.default=vT});var SF=j((hd,xT)=>{xT.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var TF=j((W1,N$)=>{Object.defineProperty(W1,"__esModule",{value:!0});W1.MissingRefError=W1.ValidationError=W1.CodeGen=W1.Name=W1.nil=W1.stringify=W1.str=W1._=W1.KeywordCxt=W1.Ajv=void 0;var yT=kK(),fT=MF(),gT=EF(),IF=SF(),hT=["/properties"],_X="http://json-schema.org/draft-07/schema";class b4 extends yT.default{_addVocabularies(){if(super._addVocabularies(),fT.default.forEach((Q)=>this.addVocabulary(Q)),this.opts.discriminator)this.addKeyword(gT.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let Q=this.opts.$data?this.$dataMetaSchema(IF,hT):IF;this.addMetaSchema(Q,_X,!1),this.refs["http://json-schema.org/schema"]=_X}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(_X)?_X:void 0)}}W1.Ajv=b4;N$.exports=W1=b4;N$.exports.Ajv=b4;Object.defineProperty(W1,"__esModule",{value:!0});W1.default=b4;var uT=K4();Object.defineProperty(W1,"KeywordCxt",{enumerable:!0,get:function(){return uT.KeywordCxt}});var e9=r();Object.defineProperty(W1,"_",{enumerable:!0,get:function(){return e9._}});Object.defineProperty(W1,"str",{enumerable:!0,get:function(){return e9.str}});Object.defineProperty(W1,"stringify",{enumerable:!0,get:function(){return e9.stringify}});Object.defineProperty(W1,"nil",{enumerable:!0,get:function(){return e9.nil}});Object.defineProperty(W1,"Name",{enumerable:!0,get:function(){return e9.Name}});Object.defineProperty(W1,"CodeGen",{enumerable:!0,get:function(){return e9.CodeGen}});var lT=FX();Object.defineProperty(W1,"ValidationError",{enumerable:!0,get:function(){return lT.default}});var mT=V4();Object.defineProperty(W1,"MissingRefError",{enumerable:!0,get:function(){return mT.default}})});var uF=j((gF)=>{Object.defineProperty(gF,"__esModule",{value:!0});gF.formatNames=gF.fastFormats=gF.fullFormats=void 0;function i1(Q,X){return{validate:Q,compare:X}}gF.fullFormats={date:i1(_F,Z$),time:i1(b$(!0),R$),"date-time":i1(CF(!0),yF),"iso-time":i1(b$(),xF),"iso-date-time":i1(CF(),fF),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:tT,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:WC,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:aT,int32:{type:"number",validate:QC},int64:{type:"number",validate:XC},float:{type:"number",validate:vF},double:{type:"number",validate:vF},password:!0,binary:!0};gF.fastFormats={...gF.fullFormats,date:i1(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,Z$),time:i1(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,R$),"date-time":i1(/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,yF),"iso-time":i1(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,xF),"iso-date-time":i1(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,fF),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i};gF.formatNames=Object.keys(gF.fullFormats);function dT(Q){return Q%4===0&&(Q%100!==0||Q%400===0)}var iT=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,nT=[0,31,28,31,30,31,30,31,31,30,31,30,31];function _F(Q){let X=iT.exec(Q);if(!X)return!1;let Y=+X[1],W=+X[2],$=+X[3];return W>=1&&W<=12&&$>=1&&$<=(W===2&&dT(Y)?29:nT[W])}function Z$(Q,X){if(!(Q&&X))return;if(Q>X)return 1;if(Q<X)return-1;return 0}var w$=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function b$(Q){return function(Y){let W=w$.exec(Y);if(!W)return!1;let $=+W[1],J=+W[2],G=+W[3],H=W[4],B=W[5]==="-"?-1:1,z=+(W[6]||0),K=+(W[7]||0);if(z>23||K>59||Q&&!H)return!1;if($<=23&&J<=59&&G<60)return!0;let V=J-K*B,q=$-z*B-(V<0?1:0);return(q===23||q===-1)&&(V===59||V===-1)&&G<61}}function R$(Q,X){if(!(Q&&X))return;let Y=new Date("2020-01-01T"+Q).valueOf(),W=new Date("2020-01-01T"+X).valueOf();if(!(Y&&W))return;return Y-W}function xF(Q,X){if(!(Q&&X))return;let Y=w$.exec(Q),W=w$.exec(X);if(!(Y&&W))return;if(Q=Y[1]+Y[2]+Y[3],X=W[1]+W[2]+W[3],Q>X)return 1;if(Q<X)return-1;return 0}var P$=/t|\s/i;function CF(Q){let X=b$(Q);return function(W){let $=W.split(P$);return $.length===2&&_F($[0])&&X($[1])}}function yF(Q,X){if(!(Q&&X))return;let Y=new Date(Q).valueOf(),W=new Date(X).valueOf();if(!(Y&&W))return;return Y-W}function fF(Q,X){if(!(Q&&X))return;let[Y,W]=Q.split(P$),[$,J]=X.split(P$),G=Z$(Y,$);if(G===void 0)return;return G||R$(W,J)}var oT=/\/|:/,rT=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function tT(Q){return oT.test(Q)&&rT.test(Q)}var kF=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function aT(Q){return kF.lastIndex=0,kF.test(Q)}var sT=-2147483648,eT=2147483647;function QC(Q){return Number.isInteger(Q)&&Q<=eT&&Q>=sT}function XC(Q){return Number.isInteger(Q)}function vF(){return!0}var YC=/[^\\]\\Z/;function WC(Q){if(YC.test(Q))return!1;try{return new RegExp(Q),!0}catch(X){return!1}}});var Z4=j((cF)=>{Object.defineProperty(cF,"__esModule",{value:!0});cF.regexpCode=cF.getEsmExportName=cF.getProperty=cF.safeStringify=cF.stringify=cF.strConcat=cF.addCodeArg=cF.str=cF._=cF.nil=cF._Code=cF.Name=cF.IDENTIFIER=cF._CodeOrName=void 0;class xX{}cF._CodeOrName=xX;cF.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class Q8 extends xX{constructor(Q){super();if(!cF.IDENTIFIER.test(Q))throw Error("CodeGen: name must be a valid identifier");this.str=Q}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}}cF.Name=Q8;class C1 extends xX{constructor(Q){super();this._items=typeof Q==="string"?[Q]:Q}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let Q=this._items[0];return Q===""||Q==='""'}get str(){var Q;return(Q=this._str)!==null&&Q!==void 0?Q:this._str=this._items.reduce((X,Y)=>`${X}${Y}`,"")}get names(){var Q;return(Q=this._names)!==null&&Q!==void 0?Q:this._names=this._items.reduce((X,Y)=>{if(Y instanceof Q8)X[Y.str]=(X[Y.str]||0)+1;return X},{})}}cF._Code=C1;cF.nil=new C1("");function lF(Q,...X){let Y=[Q[0]],W=0;while(W<X.length)I$(Y,X[W]),Y.push(Q[++W]);return new C1(Y)}cF._=lF;var S$=new C1("+");function mF(Q,...X){let Y=[P4(Q[0])],W=0;while(W<X.length)Y.push(S$),I$(Y,X[W]),Y.push(S$,P4(Q[++W]));return JC(Y),new C1(Y)}cF.str=mF;function I$(Q,X){if(X instanceof C1)Q.push(...X._items);else if(X instanceof Q8)Q.push(X);else Q.push(BC(X))}cF.addCodeArg=I$;function JC(Q){let X=1;while(X<Q.length-1){if(Q[X]===S$){let Y=GC(Q[X-1],Q[X+1]);if(Y!==void 0){Q.splice(X-1,3,Y);continue}Q[X++]="+"}X++}}function GC(Q,X){if(X==='""')return Q;if(Q==='""')return X;if(typeof Q=="string"){if(X instanceof Q8||Q[Q.length-1]!=='"')return;if(typeof X!="string")return`${Q.slice(0,-1)}${X}"`;if(X[0]==='"')return Q.slice(0,-1)+X.slice(1);return}if(typeof X=="string"&&X[0]==='"'&&!(Q instanceof Q8))return`"${Q}${X.slice(1)}`;return}function HC(Q,X){return X.emptyStr()?Q:Q.emptyStr()?X:mF`${Q}${X}`}cF.strConcat=HC;function BC(Q){return typeof Q=="number"||typeof Q=="boolean"||Q===null?Q:P4(Array.isArray(Q)?Q.join(","):Q)}function zC(Q){return new C1(P4(Q))}cF.stringify=zC;function P4(Q){return JSON.stringify(Q).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}cF.safeStringify=P4;function KC(Q){return typeof Q=="string"&&cF.IDENTIFIER.test(Q)?new C1(`.${Q}`):lF`[${Q}]`}cF.getProperty=KC;function VC(Q){if(typeof Q=="string"&&cF.IDENTIFIER.test(Q))return new C1(`${Q}`);throw Error(`CodeGen: invalid export name: ${Q}, use explicit $id name mapping`)}cF.getEsmExportName=VC;function FC(Q){return new C1(Q.toString())}cF.regexpCode=FC});var v$=j((nF)=>{Object.defineProperty(nF,"__esModule",{value:!0});nF.ValueScope=nF.ValueScopeName=nF.Scope=nF.varKinds=nF.UsedValueState=void 0;var $1=Z4();class dF extends Error{constructor(Q){super(`CodeGen: "code" for ${Q} not defined`);this.value=Q.value}}var fX;(function(Q){Q[Q.Started=0]="Started",Q[Q.Completed=1]="Completed"})(fX||(nF.UsedValueState=fX={}));nF.varKinds={const:new $1.Name("const"),let:new $1.Name("let"),var:new $1.Name("var")};class C${constructor({prefixes:Q,parent:X}={}){this._names={},this._prefixes=Q,this._parent=X}toName(Q){return Q instanceof $1.Name?Q:this.name(Q)}name(Q){return new $1.Name(this._newName(Q))}_newName(Q){let X=this._names[Q]||this._nameGroup(Q);return`${Q}${X.index++}`}_nameGroup(Q){var X,Y;if(((Y=(X=this._parent)===null||X===void 0?void 0:X._prefixes)===null||Y===void 0?void 0:Y.has(Q))||this._prefixes&&!this._prefixes.has(Q))throw Error(`CodeGen: prefix "${Q}" is not allowed in this scope`);return this._names[Q]={prefix:Q,index:0}}}nF.Scope=C$;class k$ extends $1.Name{constructor(Q,X){super(X);this.prefix=Q}setValue(Q,{property:X,itemIndex:Y}){this.value=Q,this.scopePath=$1._`.${new $1.Name(X)}[${Y}]`}}nF.ValueScopeName=k$;var ZC=$1._`\n`;class iF extends C${constructor(Q){super(Q);this._values={},this._scope=Q.scope,this.opts={...Q,_n:Q.lines?ZC:$1.nil}}get(){return this._scope}name(Q){return new k$(Q,this._newName(Q))}value(Q,X){var Y;if(X.ref===void 0)throw Error("CodeGen: ref must be passed in value");let W=this.toName(Q),{prefix:$}=W,J=(Y=X.key)!==null&&Y!==void 0?Y:X.ref,G=this._values[$];if(G){let z=G.get(J);if(z)return z}else G=this._values[$]=new Map;G.set(J,W);let H=this._scope[$]||(this._scope[$]=[]),B=H.length;return H[B]=X.ref,W.setValue(X,{property:$,itemIndex:B}),W}getValue(Q,X){let Y=this._values[Q];if(!Y)return;return Y.get(X)}scopeRefs(Q,X=this._values){return this._reduceValues(X,(Y)=>{if(Y.scopePath===void 0)throw Error(`CodeGen: name "${Y}" has no value`);return $1._`${Q}${Y.scopePath}`})}scopeCode(Q=this._values,X,Y){return this._reduceValues(Q,(W)=>{if(W.value===void 0)throw Error(`CodeGen: name "${W}" has no value`);return W.value.code},X,Y)}_reduceValues(Q,X,Y={},W){let $=$1.nil;for(let J in Q){let G=Q[J];if(!G)continue;let H=Y[J]=Y[J]||new Map;G.forEach((B)=>{if(H.has(B))return;H.set(B,fX.Started);let z=X(B);if(z){let K=this.opts.es5?nF.varKinds.var:nF.varKinds.const;$=$1._`${$}${K} ${B} = ${z};${this.opts._n}`}else if(z=W===null||W===void 0?void 0:W(B))$=$1._`${$}${z}${this.opts._n}`;else throw new dF(B);H.set(B,fX.Completed)})}return $}}nF.ValueScope=iF});var n=j((J1)=>{Object.defineProperty(J1,"__esModule",{value:!0});J1.or=J1.and=J1.not=J1.CodeGen=J1.operators=J1.varKinds=J1.ValueScopeName=J1.ValueScope=J1.Scope=J1.Name=J1.regexpCode=J1.stringify=J1.getProperty=J1.nil=J1.strConcat=J1.str=J1._=void 0;var Q0=Z4(),k1=v$(),S6=Z4();Object.defineProperty(J1,"_",{enumerable:!0,get:function(){return S6._}});Object.defineProperty(J1,"str",{enumerable:!0,get:function(){return S6.str}});Object.defineProperty(J1,"strConcat",{enumerable:!0,get:function(){return S6.strConcat}});Object.defineProperty(J1,"nil",{enumerable:!0,get:function(){return S6.nil}});Object.defineProperty(J1,"getProperty",{enumerable:!0,get:function(){return S6.getProperty}});Object.defineProperty(J1,"stringify",{enumerable:!0,get:function(){return S6.stringify}});Object.defineProperty(J1,"regexpCode",{enumerable:!0,get:function(){return S6.regexpCode}});Object.defineProperty(J1,"Name",{enumerable:!0,get:function(){return S6.Name}});var cX=v$();Object.defineProperty(J1,"Scope",{enumerable:!0,get:function(){return cX.Scope}});Object.defineProperty(J1,"ValueScope",{enumerable:!0,get:function(){return cX.ValueScope}});Object.defineProperty(J1,"ValueScopeName",{enumerable:!0,get:function(){return cX.ValueScopeName}});Object.defineProperty(J1,"varKinds",{enumerable:!0,get:function(){return cX.varKinds}});J1.operators={GT:new Q0._Code(">"),GTE:new Q0._Code(">="),LT:new Q0._Code("<"),LTE:new Q0._Code("<="),EQ:new Q0._Code("==="),NEQ:new Q0._Code("!=="),NOT:new Q0._Code("!"),OR:new Q0._Code("||"),AND:new Q0._Code("&&"),ADD:new Q0._Code("+")};class I6{optimizeNodes(){return this}optimizeNames(Q,X){return this}}class rF extends I6{constructor(Q,X,Y){super();this.varKind=Q,this.name=X,this.rhs=Y}render({es5:Q,_n:X}){let Y=Q?k1.varKinds.var:this.varKind,W=this.rhs===void 0?"":` = ${this.rhs}`;return`${Y} ${this.name}${W};`+X}optimizeNames(Q,X){if(!Q[this.name.str])return;if(this.rhs)this.rhs=Y8(this.rhs,Q,X);return this}get names(){return this.rhs instanceof Q0._CodeOrName?this.rhs.names:{}}}class y$ extends I6{constructor(Q,X,Y){super();this.lhs=Q,this.rhs=X,this.sideEffects=Y}render({_n:Q}){return`${this.lhs} = ${this.rhs};`+Q}optimizeNames(Q,X){if(this.lhs instanceof Q0.Name&&!Q[this.lhs.str]&&!this.sideEffects)return;return this.rhs=Y8(this.rhs,Q,X),this}get names(){let Q=this.lhs instanceof Q0.Name?{}:{...this.lhs.names};return mX(Q,this.rhs)}}class tF extends y${constructor(Q,X,Y,W){super(Q,Y,W);this.op=X}render({_n:Q}){return`${this.lhs} ${this.op}= ${this.rhs};`+Q}}class aF extends I6{constructor(Q){super();this.label=Q,this.names={}}render({_n:Q}){return`${this.label}:`+Q}}class sF extends I6{constructor(Q){super();this.label=Q,this.names={}}render({_n:Q}){return`break${this.label?` ${this.label}`:""};`+Q}}class eF extends I6{constructor(Q){super();this.error=Q}render({_n:Q}){return`throw ${this.error};`+Q}get names(){return this.error.names}}class QA extends I6{constructor(Q){super();this.code=Q}render({_n:Q}){return`${this.code};`+Q}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(Q,X){return this.code=Y8(this.code,Q,X),this}get names(){return this.code instanceof Q0._CodeOrName?this.code.names:{}}}class pX extends I6{constructor(Q=[]){super();this.nodes=Q}render(Q){return this.nodes.reduce((X,Y)=>X+Y.render(Q),"")}optimizeNodes(){let{nodes:Q}=this,X=Q.length;while(X--){let Y=Q[X].optimizeNodes();if(Array.isArray(Y))Q.splice(X,1,...Y);else if(Y)Q[X]=Y;else Q.splice(X,1)}return Q.length>0?this:void 0}optimizeNames(Q,X){let{nodes:Y}=this,W=Y.length;while(W--){let $=Y[W];if($.optimizeNames(Q,X))continue;IC(Q,$.names),Y.splice(W,1)}return Y.length>0?this:void 0}get names(){return this.nodes.reduce((Q,X)=>z9(Q,X.names),{})}}class T6 extends pX{render(Q){return"{"+Q._n+super.render(Q)+"}"+Q._n}}class XA extends pX{}class R4 extends T6{}R4.kind="else";class G6 extends T6{constructor(Q,X){super(X);this.condition=Q}render(Q){let X=`if(${this.condition})`+super.render(Q);if(this.else)X+="else "+this.else.render(Q);return X}optimizeNodes(){super.optimizeNodes();let Q=this.condition;if(Q===!0)return this.nodes;let X=this.else;if(X){let Y=X.optimizeNodes();X=this.else=Array.isArray(Y)?new R4(Y):Y}if(X){if(Q===!1)return X instanceof G6?X:X.nodes;if(this.nodes.length)return this;return new G6(GA(Q),X instanceof G6?[X]:X.nodes)}if(Q===!1||!this.nodes.length)return;return this}optimizeNames(Q,X){var Y;if(this.else=(Y=this.else)===null||Y===void 0?void 0:Y.optimizeNames(Q,X),!(super.optimizeNames(Q,X)||this.else))return;return this.condition=Y8(this.condition,Q,X),this}get names(){let Q=super.names;if(mX(Q,this.condition),this.else)z9(Q,this.else.names);return Q}}G6.kind="if";class X8 extends T6{}X8.kind="for";class YA extends X8{constructor(Q){super();this.iteration=Q}render(Q){return`for(${this.iteration})`+super.render(Q)}optimizeNames(Q,X){if(!super.optimizeNames(Q,X))return;return this.iteration=Y8(this.iteration,Q,X),this}get names(){return z9(super.names,this.iteration.names)}}class WA extends X8{constructor(Q,X,Y,W){super();this.varKind=Q,this.name=X,this.from=Y,this.to=W}render(Q){let X=Q.es5?k1.varKinds.var:this.varKind,{name:Y,from:W,to:$}=this;return`for(${X} ${Y}=${W}; ${Y}<${$}; ${Y}++)`+super.render(Q)}get names(){let Q=mX(super.names,this.from);return mX(Q,this.to)}}class _$ extends X8{constructor(Q,X,Y,W){super();this.loop=Q,this.varKind=X,this.name=Y,this.iterable=W}render(Q){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(Q)}optimizeNames(Q,X){if(!super.optimizeNames(Q,X))return;return this.iterable=Y8(this.iterable,Q,X),this}get names(){return z9(super.names,this.iterable.names)}}class gX extends T6{constructor(Q,X,Y){super();this.name=Q,this.args=X,this.async=Y}render(Q){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(Q)}}gX.kind="func";class hX extends pX{render(Q){return"return "+super.render(Q)}}hX.kind="return";class $A extends T6{render(Q){let X="try"+super.render(Q);if(this.catch)X+=this.catch.render(Q);if(this.finally)X+=this.finally.render(Q);return X}optimizeNodes(){var Q,X;return super.optimizeNodes(),(Q=this.catch)===null||Q===void 0||Q.optimizeNodes(),(X=this.finally)===null||X===void 0||X.optimizeNodes(),this}optimizeNames(Q,X){var Y,W;return super.optimizeNames(Q,X),(Y=this.catch)===null||Y===void 0||Y.optimizeNames(Q,X),(W=this.finally)===null||W===void 0||W.optimizeNames(Q,X),this}get names(){let Q=super.names;if(this.catch)z9(Q,this.catch.names);if(this.finally)z9(Q,this.finally.names);return Q}}class uX extends T6{constructor(Q){super();this.error=Q}render(Q){return`catch(${this.error})`+super.render(Q)}}uX.kind="catch";class lX extends T6{render(Q){return"finally"+super.render(Q)}}lX.kind="finally";class JA{constructor(Q,X={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...X,_n:X.lines?`
10
+ `:""},this._extScope=Q,this._scope=new k1.Scope({parent:Q}),this._nodes=[new XA]}toString(){return this._root.render(this.opts)}name(Q){return this._scope.name(Q)}scopeName(Q){return this._extScope.name(Q)}scopeValue(Q,X){let Y=this._extScope.value(Q,X);return(this._values[Y.prefix]||(this._values[Y.prefix]=new Set)).add(Y),Y}getScopeValue(Q,X){return this._extScope.getValue(Q,X)}scopeRefs(Q){return this._extScope.scopeRefs(Q,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(Q,X,Y,W){let $=this._scope.toName(X);if(Y!==void 0&&W)this._constants[$.str]=Y;return this._leafNode(new rF(Q,$,Y)),$}const(Q,X,Y){return this._def(k1.varKinds.const,Q,X,Y)}let(Q,X,Y){return this._def(k1.varKinds.let,Q,X,Y)}var(Q,X,Y){return this._def(k1.varKinds.var,Q,X,Y)}assign(Q,X,Y){return this._leafNode(new y$(Q,X,Y))}add(Q,X){return this._leafNode(new tF(Q,J1.operators.ADD,X))}code(Q){if(typeof Q=="function")Q();else if(Q!==Q0.nil)this._leafNode(new QA(Q));return this}object(...Q){let X=["{"];for(let[Y,W]of Q){if(X.length>1)X.push(",");if(X.push(Y),Y!==W||this.opts.es5)X.push(":"),(0,Q0.addCodeArg)(X,W)}return X.push("}"),new Q0._Code(X)}if(Q,X,Y){if(this._blockNode(new G6(Q)),X&&Y)this.code(X).else().code(Y).endIf();else if(X)this.code(X).endIf();else if(Y)throw Error('CodeGen: "else" body without "then" body');return this}elseIf(Q){return this._elseNode(new G6(Q))}else(){return this._elseNode(new R4)}endIf(){return this._endBlockNode(G6,R4)}_for(Q,X){if(this._blockNode(Q),X)this.code(X).endFor();return this}for(Q,X){return this._for(new YA(Q),X)}forRange(Q,X,Y,W,$=this.opts.es5?k1.varKinds.var:k1.varKinds.let){let J=this._scope.toName(Q);return this._for(new WA($,J,X,Y),()=>W(J))}forOf(Q,X,Y,W=k1.varKinds.const){let $=this._scope.toName(Q);if(this.opts.es5){let J=X instanceof Q0.Name?X:this.var("_arr",X);return this.forRange("_i",0,Q0._`${J}.length`,(G)=>{this.var($,Q0._`${J}[${G}]`),Y($)})}return this._for(new _$("of",W,$,X),()=>Y($))}forIn(Q,X,Y,W=this.opts.es5?k1.varKinds.var:k1.varKinds.const){if(this.opts.ownProperties)return this.forOf(Q,Q0._`Object.keys(${X})`,Y);let $=this._scope.toName(Q);return this._for(new _$("in",W,$,X),()=>Y($))}endFor(){return this._endBlockNode(X8)}label(Q){return this._leafNode(new aF(Q))}break(Q){return this._leafNode(new sF(Q))}return(Q){let X=new hX;if(this._blockNode(X),this.code(Q),X.nodes.length!==1)throw Error('CodeGen: "return" should have one node');return this._endBlockNode(hX)}try(Q,X,Y){if(!X&&!Y)throw Error('CodeGen: "try" without "catch" and "finally"');let W=new $A;if(this._blockNode(W),this.code(Q),X){let $=this.name("e");this._currNode=W.catch=new uX($),X($)}if(Y)this._currNode=W.finally=new lX,this.code(Y);return this._endBlockNode(uX,lX)}throw(Q){return this._leafNode(new eF(Q))}block(Q,X){if(this._blockStarts.push(this._nodes.length),Q)this.code(Q).endBlock(X);return this}endBlock(Q){let X=this._blockStarts.pop();if(X===void 0)throw Error("CodeGen: not in self-balancing block");let Y=this._nodes.length-X;if(Y<0||Q!==void 0&&Y!==Q)throw Error(`CodeGen: wrong number of nodes: ${Y} vs ${Q} expected`);return this._nodes.length=X,this}func(Q,X=Q0.nil,Y,W){if(this._blockNode(new gX(Q,X,Y)),W)this.code(W).endFunc();return this}endFunc(){return this._endBlockNode(gX)}optimize(Q=1){while(Q-- >0)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(Q){return this._currNode.nodes.push(Q),this}_blockNode(Q){this._currNode.nodes.push(Q),this._nodes.push(Q)}_endBlockNode(Q,X){let Y=this._currNode;if(Y instanceof Q||X&&Y instanceof X)return this._nodes.pop(),this;throw Error(`CodeGen: not in block "${X?`${Q.kind}/${X.kind}`:Q.kind}"`)}_elseNode(Q){let X=this._currNode;if(!(X instanceof G6))throw Error('CodeGen: "else" without "if"');return this._currNode=X.else=Q,this}get _root(){return this._nodes[0]}get _currNode(){let Q=this._nodes;return Q[Q.length-1]}set _currNode(Q){let X=this._nodes;X[X.length-1]=Q}}J1.CodeGen=JA;function z9(Q,X){for(let Y in X)Q[Y]=(Q[Y]||0)+(X[Y]||0);return Q}function mX(Q,X){return X instanceof Q0._CodeOrName?z9(Q,X.names):Q}function Y8(Q,X,Y){if(Q instanceof Q0.Name)return W(Q);if(!$(Q))return Q;return new Q0._Code(Q._items.reduce((J,G)=>{if(G instanceof Q0.Name)G=W(G);if(G instanceof Q0._Code)J.push(...G._items);else J.push(G);return J},[]));function W(J){let G=Y[J.str];if(G===void 0||X[J.str]!==1)return J;return delete X[J.str],G}function $(J){return J instanceof Q0._Code&&J._items.some((G)=>G instanceof Q0.Name&&X[G.str]===1&&Y[G.str]!==void 0)}}function IC(Q,X){for(let Y in X)Q[Y]=(Q[Y]||0)-(X[Y]||0)}function GA(Q){return typeof Q=="boolean"||typeof Q=="number"||Q===null?!Q:Q0._`!${x$(Q)}`}J1.not=GA;var TC=HA(J1.operators.AND);function CC(...Q){return Q.reduce(TC)}J1.and=CC;var kC=HA(J1.operators.OR);function vC(...Q){return Q.reduce(kC)}J1.or=vC;function HA(Q){return(X,Y)=>X===Q0.nil?Y:Y===Q0.nil?X:Q0._`${x$(X)} ${Q} ${x$(Y)}`}function x$(Q){return Q instanceof Q0.Name?Q:Q0._`(${Q})`}});var $0=j((LA)=>{Object.defineProperty(LA,"__esModule",{value:!0});LA.checkStrictMode=LA.getErrorPath=LA.Type=LA.useFunc=LA.setEvaluated=LA.evaluatedPropsToName=LA.mergeEvaluated=LA.eachItem=LA.unescapeJsonPointer=LA.escapeJsonPointer=LA.escapeFragment=LA.unescapeFragment=LA.schemaRefOrVal=LA.schemaHasRulesButRef=LA.schemaHasRules=LA.checkUnknownRules=LA.alwaysValidSchema=LA.toHash=void 0;var z0=n(),fC=Z4();function gC(Q){let X={};for(let Y of Q)X[Y]=!0;return X}LA.toHash=gC;function hC(Q,X){if(typeof X=="boolean")return X;if(Object.keys(X).length===0)return!0;return VA(Q,X),!FA(X,Q.self.RULES.all)}LA.alwaysValidSchema=hC;function VA(Q,X=Q.schema){let{opts:Y,self:W}=Q;if(!Y.strictSchema)return;if(typeof X==="boolean")return;let $=W.RULES.keywords;for(let J in X)if(!$[J])DA(Q,`unknown keyword: "${J}"`)}LA.checkUnknownRules=VA;function FA(Q,X){if(typeof Q=="boolean")return!Q;for(let Y in Q)if(X[Y])return!0;return!1}LA.schemaHasRules=FA;function uC(Q,X){if(typeof Q=="boolean")return!Q;for(let Y in Q)if(Y!=="$ref"&&X.all[Y])return!0;return!1}LA.schemaHasRulesButRef=uC;function lC({topSchemaRef:Q,schemaPath:X},Y,W,$){if(!$){if(typeof Y=="number"||typeof Y=="boolean")return Y;if(typeof Y=="string")return z0._`${Y}`}return z0._`${Q}${X}${(0,z0.getProperty)(W)}`}LA.schemaRefOrVal=lC;function mC(Q){return AA(decodeURIComponent(Q))}LA.unescapeFragment=mC;function cC(Q){return encodeURIComponent(g$(Q))}LA.escapeFragment=cC;function g$(Q){if(typeof Q=="number")return`${Q}`;return Q.replace(/~/g,"~0").replace(/\//g,"~1")}LA.escapeJsonPointer=g$;function AA(Q){return Q.replace(/~1/g,"/").replace(/~0/g,"~")}LA.unescapeJsonPointer=AA;function pC(Q,X){if(Array.isArray(Q))for(let Y of Q)X(Y);else X(Q)}LA.eachItem=pC;function zA({mergeNames:Q,mergeToName:X,mergeValues:Y,resultToName:W}){return($,J,G,H)=>{let B=G===void 0?J:G instanceof z0.Name?(J instanceof z0.Name?Q($,J,G):X($,J,G),G):J instanceof z0.Name?(X($,G,J),J):Y(J,G);return H===z0.Name&&!(B instanceof z0.Name)?W($,B):B}}LA.mergeEvaluated={props:zA({mergeNames:(Q,X,Y)=>Q.if(z0._`${Y} !== true && ${X} !== undefined`,()=>{Q.if(z0._`${X} === true`,()=>Q.assign(Y,!0),()=>Q.assign(Y,z0._`${Y} || {}`).code(z0._`Object.assign(${Y}, ${X})`))}),mergeToName:(Q,X,Y)=>Q.if(z0._`${Y} !== true`,()=>{if(X===!0)Q.assign(Y,!0);else Q.assign(Y,z0._`${Y} || {}`),h$(Q,Y,X)}),mergeValues:(Q,X)=>Q===!0?!0:{...Q,...X},resultToName:qA}),items:zA({mergeNames:(Q,X,Y)=>Q.if(z0._`${Y} !== true && ${X} !== undefined`,()=>Q.assign(Y,z0._`${X} === true ? true : ${Y} > ${X} ? ${Y} : ${X}`)),mergeToName:(Q,X,Y)=>Q.if(z0._`${Y} !== true`,()=>Q.assign(Y,X===!0?!0:z0._`${Y} > ${X} ? ${Y} : ${X}`)),mergeValues:(Q,X)=>Q===!0?!0:Math.max(Q,X),resultToName:(Q,X)=>Q.var("items",X)})};function qA(Q,X){if(X===!0)return Q.var("props",!0);let Y=Q.var("props",z0._`{}`);if(X!==void 0)h$(Q,Y,X);return Y}LA.evaluatedPropsToName=qA;function h$(Q,X,Y){Object.keys(Y).forEach((W)=>Q.assign(z0._`${X}${(0,z0.getProperty)(W)}`,!0))}LA.setEvaluated=h$;var KA={};function dC(Q,X){return Q.scopeValue("func",{ref:X,code:KA[X.code]||(KA[X.code]=new fC._Code(X.code))})}LA.useFunc=dC;var f$;(function(Q){Q[Q.Num=0]="Num",Q[Q.Str=1]="Str"})(f$||(LA.Type=f$={}));function iC(Q,X,Y){if(Q instanceof z0.Name){let W=X===f$.Num;return Y?W?z0._`"[" + ${Q} + "]"`:z0._`"['" + ${Q} + "']"`:W?z0._`"/" + ${Q}`:z0._`"/" + ${Q}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return Y?(0,z0.getProperty)(Q).toString():"/"+g$(Q)}LA.getErrorPath=iC;function DA(Q,X,Y=Q.opts.strictSchema){if(!Y)return;if(X=`strict mode: ${X}`,Y===!0)throw Error(X);Q.self.logger.warn(X)}LA.checkStrictMode=DA});var H6=j((UA)=>{Object.defineProperty(UA,"__esModule",{value:!0});var l0=n(),K2={data:new l0.Name("data"),valCxt:new l0.Name("valCxt"),instancePath:new l0.Name("instancePath"),parentData:new l0.Name("parentData"),parentDataProperty:new l0.Name("parentDataProperty"),rootData:new l0.Name("rootData"),dynamicAnchors:new l0.Name("dynamicAnchors"),vErrors:new l0.Name("vErrors"),errors:new l0.Name("errors"),this:new l0.Name("this"),self:new l0.Name("self"),scope:new l0.Name("scope"),json:new l0.Name("json"),jsonPos:new l0.Name("jsonPos"),jsonLen:new l0.Name("jsonLen"),jsonPart:new l0.Name("jsonPart")};UA.default=K2});var E4=j((wA)=>{Object.defineProperty(wA,"__esModule",{value:!0});wA.extendErrors=wA.resetErrorsCount=wA.reportExtraError=wA.reportError=wA.keyword$DataError=wA.keywordError=void 0;var Y0=n(),iX=$0(),n0=H6();wA.keywordError={message:({keyword:Q})=>Y0.str`must pass "${Q}" keyword validation`};wA.keyword$DataError={message:({keyword:Q,schemaType:X})=>X?Y0.str`"${Q}" keyword must be ${X} ($data)`:Y0.str`"${Q}" keyword is invalid ($data)`};function F2(Q,X=wA.keywordError,Y,W){let{it:$}=Q,{gen:J,compositeRule:G,allErrors:H}=$,B=NA(Q,X,Y);if(W!==null&&W!==void 0?W:G||H)jA(J,B);else MA($,Y0._`[${B}]`)}wA.reportError=F2;function A2(Q,X=wA.keywordError,Y){let{it:W}=Q,{gen:$,compositeRule:J,allErrors:G}=W,H=NA(Q,X,Y);if(jA($,H),!(J||G))MA(W,n0.default.vErrors)}wA.reportExtraError=A2;function q2(Q,X){Q.assign(n0.default.errors,X),Q.if(Y0._`${n0.default.vErrors} !== null`,()=>Q.if(X,()=>Q.assign(Y0._`${n0.default.vErrors}.length`,X),()=>Q.assign(n0.default.vErrors,null)))}wA.resetErrorsCount=q2;function D2({gen:Q,keyword:X,schemaValue:Y,data:W,errsCount:$,it:J}){if($===void 0)throw Error("ajv implementation error");let G=Q.name("err");Q.forRange("i",$,n0.default.errors,(H)=>{if(Q.const(G,Y0._`${n0.default.vErrors}[${H}]`),Q.if(Y0._`${G}.instancePath === undefined`,()=>Q.assign(Y0._`${G}.instancePath`,(0,Y0.strConcat)(n0.default.instancePath,J.errorPath))),Q.assign(Y0._`${G}.schemaPath`,Y0.str`${J.errSchemaPath}/${X}`),J.opts.verbose)Q.assign(Y0._`${G}.schema`,Y),Q.assign(Y0._`${G}.data`,W)})}wA.extendErrors=D2;function jA(Q,X){let Y=Q.const("err",X);Q.if(Y0._`${n0.default.vErrors} === null`,()=>Q.assign(n0.default.vErrors,Y0._`[${Y}]`),Y0._`${n0.default.vErrors}.push(${Y})`),Q.code(Y0._`${n0.default.errors}++`)}function MA(Q,X){let{gen:Y,validateName:W,schemaEnv:$}=Q;if($.$async)Y.throw(Y0._`new ${Q.ValidationError}(${X})`);else Y.assign(Y0._`${W}.errors`,X),Y.return(!1)}var K9={keyword:new Y0.Name("keyword"),schemaPath:new Y0.Name("schemaPath"),params:new Y0.Name("params"),propertyName:new Y0.Name("propertyName"),message:new Y0.Name("message"),schema:new Y0.Name("schema"),parentSchema:new Y0.Name("parentSchema")};function NA(Q,X,Y){let{createErrors:W}=Q.it;if(W===!1)return Y0._`{}`;return L2(Q,X,Y)}function L2(Q,X,Y={}){let{gen:W,it:$}=Q,J=[O2($,Y),U2(Q,Y)];return j2(Q,X,J),W.object(...J)}function O2({errorPath:Q},{instancePath:X}){let Y=X?Y0.str`${Q}${(0,iX.getErrorPath)(X,iX.Type.Str)}`:Q;return[n0.default.instancePath,(0,Y0.strConcat)(n0.default.instancePath,Y)]}function U2({keyword:Q,it:{errSchemaPath:X}},{schemaPath:Y,parentSchema:W}){let $=W?X:Y0.str`${X}/${Q}`;if(Y)$=Y0.str`${$}${(0,iX.getErrorPath)(Y,iX.Type.Str)}`;return[K9.schemaPath,$]}function j2(Q,{params:X,message:Y},W){let{keyword:$,data:J,schemaValue:G,it:H}=Q,{opts:B,propertyName:z,topSchemaRef:K,schemaPath:V}=H;if(W.push([K9.keyword,$],[K9.params,typeof X=="function"?X(Q):X||Y0._`{}`]),B.messages)W.push([K9.message,typeof Y=="function"?Y(Q):Y]);if(B.verbose)W.push([K9.schema,G],[K9.parentSchema,Y0._`${K}${V}`],[n0.default.data,J]);if(z)W.push([K9.propertyName,z])}});var EA=j((ZA)=>{Object.defineProperty(ZA,"__esModule",{value:!0});ZA.boolOrEmptySchema=ZA.topBoolOrEmptySchema=void 0;var P2=E4(),Z2=n(),R2=H6(),E2={message:"boolean schema is false"};function S2(Q){let{gen:X,schema:Y,validateName:W}=Q;if(Y===!1)PA(Q,!1);else if(typeof Y=="object"&&Y.$async===!0)X.return(R2.default.data);else X.assign(Z2._`${W}.errors`,null),X.return(!0)}ZA.topBoolOrEmptySchema=S2;function I2(Q,X){let{gen:Y,schema:W}=Q;if(W===!1)Y.var(X,!1),PA(Q);else Y.var(X,!0)}ZA.boolOrEmptySchema=I2;function PA(Q,X){let{gen:Y,data:W}=Q,$={gen:Y,keyword:"false schema",data:W,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:Q};(0,P2.reportError)($,E2,void 0,X)}});var l$=j((SA)=>{Object.defineProperty(SA,"__esModule",{value:!0});SA.getRules=SA.isJSONType=void 0;var C2=["string","number","integer","boolean","null","object","array"],k2=new Set(C2);function v2(Q){return typeof Q=="string"&&k2.has(Q)}SA.isJSONType=v2;function _2(){let Q={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...Q,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},Q.number,Q.string,Q.array,Q.object],post:{rules:[]},all:{},keywords:{}}}SA.getRules=_2});var m$=j((kA)=>{Object.defineProperty(kA,"__esModule",{value:!0});kA.shouldUseRule=kA.shouldUseGroup=kA.schemaHasRulesForType=void 0;function y2({schema:Q,self:X},Y){let W=X.RULES.types[Y];return W&&W!==!0&&TA(Q,W)}kA.schemaHasRulesForType=y2;function TA(Q,X){return X.rules.some((Y)=>CA(Q,Y))}kA.shouldUseGroup=TA;function CA(Q,X){var Y;return Q[X.keyword]!==void 0||((Y=X.definition.implements)===null||Y===void 0?void 0:Y.some((W)=>Q[W]!==void 0))}kA.shouldUseRule=CA});var S4=j((fA)=>{Object.defineProperty(fA,"__esModule",{value:!0});fA.reportTypeError=fA.checkDataTypes=fA.checkDataType=fA.coerceAndCheckDataType=fA.getJSONTypes=fA.getSchemaTypes=fA.DataType=void 0;var h2=l$(),u2=m$(),l2=E4(),i=n(),_A=$0(),W8;(function(Q){Q[Q.Correct=0]="Correct",Q[Q.Wrong=1]="Wrong"})(W8||(fA.DataType=W8={}));function m2(Q){let X=xA(Q.type);if(X.includes("null")){if(Q.nullable===!1)throw Error("type: null contradicts nullable: false")}else{if(!X.length&&Q.nullable!==void 0)throw Error('"nullable" cannot be used without "type"');if(Q.nullable===!0)X.push("null")}return X}fA.getSchemaTypes=m2;function xA(Q){let X=Array.isArray(Q)?Q:Q?[Q]:[];if(X.every(h2.isJSONType))return X;throw Error("type must be JSONType or JSONType[]: "+X.join(","))}fA.getJSONTypes=xA;function c2(Q,X){let{gen:Y,data:W,opts:$}=Q,J=p2(X,$.coerceTypes),G=X.length>0&&!(J.length===0&&X.length===1&&(0,u2.schemaHasRulesForType)(Q,X[0]));if(G){let H=p$(X,W,$.strictNumbers,W8.Wrong);Y.if(H,()=>{if(J.length)d2(Q,X,J);else d$(Q)})}return G}fA.coerceAndCheckDataType=c2;var yA=new Set(["string","number","integer","boolean","null"]);function p2(Q,X){return X?Q.filter((Y)=>yA.has(Y)||X==="array"&&Y==="array"):[]}function d2(Q,X,Y){let{gen:W,data:$,opts:J}=Q,G=W.let("dataType",i._`typeof ${$}`),H=W.let("coerced",i._`undefined`);if(J.coerceTypes==="array")W.if(i._`${G} == 'object' && Array.isArray(${$}) && ${$}.length == 1`,()=>W.assign($,i._`${$}[0]`).assign(G,i._`typeof ${$}`).if(p$(X,$,J.strictNumbers),()=>W.assign(H,$)));W.if(i._`${H} !== undefined`);for(let z of Y)if(yA.has(z)||z==="array"&&J.coerceTypes==="array")B(z);W.else(),d$(Q),W.endIf(),W.if(i._`${H} !== undefined`,()=>{W.assign($,H),i2(Q,H)});function B(z){switch(z){case"string":W.elseIf(i._`${G} == "number" || ${G} == "boolean"`).assign(H,i._`"" + ${$}`).elseIf(i._`${$} === null`).assign(H,i._`""`);return;case"number":W.elseIf(i._`${G} == "boolean" || ${$} === null
11
+ || (${G} == "string" && ${$} && ${$} == +${$})`).assign(H,i._`+${$}`);return;case"integer":W.elseIf(i._`${G} === "boolean" || ${$} === null
12
+ || (${G} === "string" && ${$} && ${$} == +${$} && !(${$} % 1))`).assign(H,i._`+${$}`);return;case"boolean":W.elseIf(i._`${$} === "false" || ${$} === 0 || ${$} === null`).assign(H,!1).elseIf(i._`${$} === "true" || ${$} === 1`).assign(H,!0);return;case"null":W.elseIf(i._`${$} === "" || ${$} === 0 || ${$} === false`),W.assign(H,null);return;case"array":W.elseIf(i._`${G} === "string" || ${G} === "number"
13
+ || ${G} === "boolean" || ${$} === null`).assign(H,i._`[${$}]`)}}}function i2({gen:Q,parentData:X,parentDataProperty:Y},W){Q.if(i._`${X} !== undefined`,()=>Q.assign(i._`${X}[${Y}]`,W))}function c$(Q,X,Y,W=W8.Correct){let $=W===W8.Correct?i.operators.EQ:i.operators.NEQ,J;switch(Q){case"null":return i._`${X} ${$} null`;case"array":J=i._`Array.isArray(${X})`;break;case"object":J=i._`${X} && typeof ${X} == "object" && !Array.isArray(${X})`;break;case"integer":J=G(i._`!(${X} % 1) && !isNaN(${X})`);break;case"number":J=G();break;default:return i._`typeof ${X} ${$} ${Q}`}return W===W8.Correct?J:(0,i.not)(J);function G(H=i.nil){return(0,i.and)(i._`typeof ${X} == "number"`,H,Y?i._`isFinite(${X})`:i.nil)}}fA.checkDataType=c$;function p$(Q,X,Y,W){if(Q.length===1)return c$(Q[0],X,Y,W);let $,J=(0,_A.toHash)(Q);if(J.array&&J.object){let G=i._`typeof ${X} != "object"`;$=J.null?G:i._`!${X} || ${G}`,delete J.null,delete J.array,delete J.object}else $=i.nil;if(J.number)delete J.integer;for(let G in J)$=(0,i.and)($,c$(G,X,Y,W));return $}fA.checkDataTypes=p$;var n2={message:({schema:Q})=>`must be ${Q}`,params:({schema:Q,schemaValue:X})=>typeof Q=="string"?i._`{type: ${Q}}`:i._`{type: ${X}}`};function d$(Q){let X=o2(Q);(0,l2.reportError)(X,n2)}fA.reportTypeError=d$;function o2(Q){let{gen:X,data:Y,schema:W}=Q,$=(0,_A.schemaRefOrVal)(Q,W,"type");return{gen:X,keyword:"type",data:Y,schema:W.type,schemaCode:$,schemaValue:$,parentSchema:W,params:{},it:Q}}});var mA=j((uA)=>{Object.defineProperty(uA,"__esModule",{value:!0});uA.assignDefaults=void 0;var $8=n(),Xk=$0();function Yk(Q,X){let{properties:Y,items:W}=Q.schema;if(X==="object"&&Y)for(let $ in Y)hA(Q,$,Y[$].default);else if(X==="array"&&Array.isArray(W))W.forEach(($,J)=>hA(Q,J,$.default))}uA.assignDefaults=Yk;function hA(Q,X,Y){let{gen:W,compositeRule:$,data:J,opts:G}=Q;if(Y===void 0)return;let H=$8._`${J}${(0,$8.getProperty)(X)}`;if($){(0,Xk.checkStrictMode)(Q,`default is ignored for: ${H}`);return}let B=$8._`${H} === undefined`;if(G.useDefaults==="empty")B=$8._`${B} || ${H} === null || ${H} === ""`;W.if(B,$8._`${H} = ${(0,$8.stringify)(Y)}`)}});var D1=j((dA)=>{Object.defineProperty(dA,"__esModule",{value:!0});dA.validateUnion=dA.validateArray=dA.usePattern=dA.callValidateCode=dA.schemaProperties=dA.allSchemaProperties=dA.noPropertyInData=dA.propertyInData=dA.isOwnProperty=dA.hasPropFunc=dA.reportMissingProp=dA.checkMissingProp=dA.checkReportMissingProp=void 0;var L0=n(),i$=$0(),C6=H6(),Wk=$0();function $k(Q,X){let{gen:Y,data:W,it:$}=Q;Y.if(o$(Y,W,X,$.opts.ownProperties),()=>{Q.setParams({missingProperty:L0._`${X}`},!0),Q.error()})}dA.checkReportMissingProp=$k;function Jk({gen:Q,data:X,it:{opts:Y}},W,$){return(0,L0.or)(...W.map((J)=>(0,L0.and)(o$(Q,X,J,Y.ownProperties),L0._`${$} = ${J}`)))}dA.checkMissingProp=Jk;function Gk(Q,X){Q.setParams({missingProperty:X},!0),Q.error()}dA.reportMissingProp=Gk;function cA(Q){return Q.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:L0._`Object.prototype.hasOwnProperty`})}dA.hasPropFunc=cA;function n$(Q,X,Y){return L0._`${cA(Q)}.call(${X}, ${Y})`}dA.isOwnProperty=n$;function Hk(Q,X,Y,W){let $=L0._`${X}${(0,L0.getProperty)(Y)} !== undefined`;return W?L0._`${$} && ${n$(Q,X,Y)}`:$}dA.propertyInData=Hk;function o$(Q,X,Y,W){let $=L0._`${X}${(0,L0.getProperty)(Y)} === undefined`;return W?(0,L0.or)($,(0,L0.not)(n$(Q,X,Y))):$}dA.noPropertyInData=o$;function pA(Q){return Q?Object.keys(Q).filter((X)=>X!=="__proto__"):[]}dA.allSchemaProperties=pA;function Bk(Q,X){return pA(X).filter((Y)=>!(0,i$.alwaysValidSchema)(Q,X[Y]))}dA.schemaProperties=Bk;function zk({schemaCode:Q,data:X,it:{gen:Y,topSchemaRef:W,schemaPath:$,errorPath:J},it:G},H,B,z){let K=z?L0._`${Q}, ${X}, ${W}${$}`:X,V=[[C6.default.instancePath,(0,L0.strConcat)(C6.default.instancePath,J)],[C6.default.parentData,G.parentData],[C6.default.parentDataProperty,G.parentDataProperty],[C6.default.rootData,C6.default.rootData]];if(G.opts.dynamicRef)V.push([C6.default.dynamicAnchors,C6.default.dynamicAnchors]);let q=L0._`${K}, ${Y.object(...V)}`;return B!==L0.nil?L0._`${H}.call(${B}, ${q})`:L0._`${H}(${q})`}dA.callValidateCode=zk;var Kk=L0._`new RegExp`;function Vk({gen:Q,it:{opts:X}},Y){let W=X.unicodeRegExp?"u":"",{regExp:$}=X.code,J=$(Y,W);return Q.scopeValue("pattern",{key:J.toString(),ref:J,code:L0._`${$.code==="new RegExp"?Kk:(0,Wk.useFunc)(Q,$)}(${Y}, ${W})`})}dA.usePattern=Vk;function Fk(Q){let{gen:X,data:Y,keyword:W,it:$}=Q,J=X.name("valid");if($.allErrors){let H=X.let("valid",!0);return G(()=>X.assign(H,!1)),H}return X.var(J,!0),G(()=>X.break()),J;function G(H){let B=X.const("len",L0._`${Y}.length`);X.forRange("i",0,B,(z)=>{Q.subschema({keyword:W,dataProp:z,dataPropType:i$.Type.Num},J),X.if((0,L0.not)(J),H)})}}dA.validateArray=Fk;function Ak(Q){let{gen:X,schema:Y,keyword:W,it:$}=Q;if(!Array.isArray(Y))throw Error("ajv implementation error");if(Y.some((B)=>(0,i$.alwaysValidSchema)($,B))&&!$.opts.unevaluated)return;let G=X.let("valid",!1),H=X.name("_valid");X.block(()=>Y.forEach((B,z)=>{let K=Q.subschema({keyword:W,schemaProp:z,compositeRule:!0},H);if(X.assign(G,L0._`${G} || ${H}`),!Q.mergeValidEvaluated(K,H))X.if((0,L0.not)(G))})),Q.result(G,()=>Q.reset(),()=>Q.error(!0))}dA.validateUnion=Ak});var aA=j((rA)=>{Object.defineProperty(rA,"__esModule",{value:!0});rA.validateKeywordUsage=rA.validSchemaType=rA.funcKeywordCode=rA.macroKeywordCode=void 0;var o0=n(),V9=H6(),Rk=D1(),Ek=E4();function Sk(Q,X){let{gen:Y,keyword:W,schema:$,parentSchema:J,it:G}=Q,H=X.macro.call(G.self,$,J,G),B=oA(Y,W,H);if(G.opts.validateSchema!==!1)G.self.validateSchema(H,!0);let z=Y.name("valid");Q.subschema({schema:H,schemaPath:o0.nil,errSchemaPath:`${G.errSchemaPath}/${W}`,topSchemaRef:B,compositeRule:!0},z),Q.pass(z,()=>Q.error(!0))}rA.macroKeywordCode=Sk;function Ik(Q,X){var Y;let{gen:W,keyword:$,schema:J,parentSchema:G,$data:H,it:B}=Q;Ck(B,X);let z=!H&&X.compile?X.compile.call(B.self,J,G,B):X.validate,K=oA(W,$,z),V=W.let("valid");Q.block$data(V,q),Q.ok((Y=X.valid)!==null&&Y!==void 0?Y:V);function q(){if(X.errors===!1){if(D(),X.modifying)nA(Q);L(()=>Q.error())}else{let O=X.async?F():A();if(X.modifying)nA(Q);L(()=>Tk(Q,O))}}function F(){let O=W.let("ruleErrs",null);return W.try(()=>D(o0._`await `),(N)=>W.assign(V,!1).if(o0._`${N} instanceof ${B.ValidationError}`,()=>W.assign(O,o0._`${N}.errors`),()=>W.throw(N))),O}function A(){let O=o0._`${K}.errors`;return W.assign(O,null),D(o0.nil),O}function D(O=X.async?o0._`await `:o0.nil){let N=B.opts.passContext?V9.default.this:V9.default.self,w=!(("compile"in X)&&!H||X.schema===!1);W.assign(V,o0._`${O}${(0,Rk.callValidateCode)(Q,K,N,w)}`,X.modifying)}function L(O){var N;W.if((0,o0.not)((N=X.valid)!==null&&N!==void 0?N:V),O)}}rA.funcKeywordCode=Ik;function nA(Q){let{gen:X,data:Y,it:W}=Q;X.if(W.parentData,()=>X.assign(Y,o0._`${W.parentData}[${W.parentDataProperty}]`))}function Tk(Q,X){let{gen:Y}=Q;Y.if(o0._`Array.isArray(${X})`,()=>{Y.assign(V9.default.vErrors,o0._`${V9.default.vErrors} === null ? ${X} : ${V9.default.vErrors}.concat(${X})`).assign(V9.default.errors,o0._`${V9.default.vErrors}.length`),(0,Ek.extendErrors)(Q)},()=>Q.error())}function Ck({schemaEnv:Q},X){if(X.async&&!Q.$async)throw Error("async keyword in sync schema")}function oA(Q,X,Y){if(Y===void 0)throw Error(`keyword "${X}" failed to compile`);return Q.scopeValue("keyword",typeof Y=="function"?{ref:Y}:{ref:Y,code:(0,o0.stringify)(Y)})}function kk(Q,X,Y=!1){return!X.length||X.some((W)=>W==="array"?Array.isArray(Q):W==="object"?Q&&typeof Q=="object"&&!Array.isArray(Q):typeof Q==W||Y&&typeof Q>"u")}rA.validSchemaType=kk;function vk({schema:Q,opts:X,self:Y,errSchemaPath:W},$,J){if(Array.isArray($.keyword)?!$.keyword.includes(J):$.keyword!==J)throw Error("ajv implementation error");let G=$.dependencies;if(G===null||G===void 0?void 0:G.some((H)=>!Object.prototype.hasOwnProperty.call(Q,H)))throw Error(`parent schema must have dependencies of ${J}: ${G.join(",")}`);if($.validateSchema){if(!$.validateSchema(Q[J])){let B=`keyword "${J}" value is invalid at path "${W}": `+Y.errorsText($.validateSchema.errors);if(X.validateSchema==="log")Y.logger.error(B);else throw Error(B)}}}rA.validateKeywordUsage=vk});var Xq=j((eA)=>{Object.defineProperty(eA,"__esModule",{value:!0});eA.extendSubschemaMode=eA.extendSubschemaData=eA.getSubschema=void 0;var n1=n(),sA=$0();function fk(Q,{keyword:X,schemaProp:Y,schema:W,schemaPath:$,errSchemaPath:J,topSchemaRef:G}){if(X!==void 0&&W!==void 0)throw Error('both "keyword" and "schema" passed, only one allowed');if(X!==void 0){let H=Q.schema[X];return Y===void 0?{schema:H,schemaPath:n1._`${Q.schemaPath}${(0,n1.getProperty)(X)}`,errSchemaPath:`${Q.errSchemaPath}/${X}`}:{schema:H[Y],schemaPath:n1._`${Q.schemaPath}${(0,n1.getProperty)(X)}${(0,n1.getProperty)(Y)}`,errSchemaPath:`${Q.errSchemaPath}/${X}/${(0,sA.escapeFragment)(Y)}`}}if(W!==void 0){if($===void 0||J===void 0||G===void 0)throw Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:W,schemaPath:$,topSchemaRef:G,errSchemaPath:J}}throw Error('either "keyword" or "schema" must be passed')}eA.getSubschema=fk;function gk(Q,X,{dataProp:Y,dataPropType:W,data:$,dataTypes:J,propertyName:G}){if($!==void 0&&Y!==void 0)throw Error('both "data" and "dataProp" passed, only one allowed');let{gen:H}=X;if(Y!==void 0){let{errorPath:z,dataPathArr:K,opts:V}=X,q=H.let("data",n1._`${X.data}${(0,n1.getProperty)(Y)}`,!0);B(q),Q.errorPath=n1.str`${z}${(0,sA.getErrorPath)(Y,W,V.jsPropertySyntax)}`,Q.parentDataProperty=n1._`${Y}`,Q.dataPathArr=[...K,Q.parentDataProperty]}if($!==void 0){let z=$ instanceof n1.Name?$:H.let("data",$,!0);if(B(z),G!==void 0)Q.propertyName=G}if(J)Q.dataTypes=J;function B(z){Q.data=z,Q.dataLevel=X.dataLevel+1,Q.dataTypes=[],X.definedProperties=new Set,Q.parentData=X.data,Q.dataNames=[...X.dataNames,z]}}eA.extendSubschemaData=gk;function hk(Q,{jtdDiscriminator:X,jtdMetadata:Y,compositeRule:W,createErrors:$,allErrors:J}){if(W!==void 0)Q.compositeRule=W;if($!==void 0)Q.createErrors=$;if(J!==void 0)Q.allErrors=J;Q.jtdDiscriminator=X,Q.jtdMetadata=Y}eA.extendSubschemaMode=hk});var Wq=j((Ni,Yq)=>{var k6=Yq.exports=function(Q,X,Y){if(typeof X=="function")Y=X,X={};Y=X.cb||Y;var W=typeof Y=="function"?Y:Y.pre||function(){},$=Y.post||function(){};nX(X,W,$,Q,"",Q)};k6.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};k6.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};k6.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};k6.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function nX(Q,X,Y,W,$,J,G,H,B,z){if(W&&typeof W=="object"&&!Array.isArray(W)){X(W,$,J,G,H,B,z);for(var K in W){var V=W[K];if(Array.isArray(V)){if(K in k6.arrayKeywords)for(var q=0;q<V.length;q++)nX(Q,X,Y,V[q],$+"/"+K+"/"+q,J,$,K,W,q)}else if(K in k6.propsKeywords){if(V&&typeof V=="object")for(var F in V)nX(Q,X,Y,V[F],$+"/"+K+"/"+mk(F),J,$,K,W,F)}else if(K in k6.keywords||Q.allKeys&&!(K in k6.skipKeywords))nX(Q,X,Y,V,$+"/"+K,J,$,K,W)}Y(W,$,J,G,H,B,z)}}function mk(Q){return Q.replace(/~/g,"~0").replace(/\//g,"~1")}});var I4=j((Hq)=>{Object.defineProperty(Hq,"__esModule",{value:!0});Hq.getSchemaRefs=Hq.resolveUrl=Hq.normalizeId=Hq._getFullPath=Hq.getFullPath=Hq.inlineRef=void 0;var ck=$0(),pk=G4(),dk=Wq(),ik=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function nk(Q,X=!0){if(typeof Q=="boolean")return!0;if(X===!0)return!r$(Q);if(!X)return!1;return $q(Q)<=X}Hq.inlineRef=nk;var ok=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function r$(Q){for(let X in Q){if(ok.has(X))return!0;let Y=Q[X];if(Array.isArray(Y)&&Y.some(r$))return!0;if(typeof Y=="object"&&r$(Y))return!0}return!1}function $q(Q){let X=0;for(let Y in Q){if(Y==="$ref")return 1/0;if(X++,ik.has(Y))continue;if(typeof Q[Y]=="object")(0,ck.eachItem)(Q[Y],(W)=>X+=$q(W));if(X===1/0)return 1/0}return X}function Jq(Q,X="",Y){if(Y!==!1)X=J8(X);let W=Q.parse(X);return Gq(Q,W)}Hq.getFullPath=Jq;function Gq(Q,X){return Q.serialize(X).split("#")[0]+"#"}Hq._getFullPath=Gq;var rk=/#\/?$/;function J8(Q){return Q?Q.replace(rk,""):""}Hq.normalizeId=J8;function tk(Q,X,Y){return Y=J8(Y),Q.resolve(X,Y)}Hq.resolveUrl=tk;var ak=/^[a-z_][-a-z0-9._]*$/i;function sk(Q,X){if(typeof Q=="boolean")return{};let{schemaId:Y,uriResolver:W}=this.opts,$=J8(Q[Y]||X),J={"":$},G=Jq(W,$,!1),H={},B=new Set;return dk(Q,{allKeys:!0},(V,q,F,A)=>{if(A===void 0)return;let D=G+q,L=J[A];if(typeof V[Y]=="string")L=O.call(this,V[Y]);N.call(this,V.$anchor),N.call(this,V.$dynamicAnchor),J[q]=L;function O(w){let C=this.opts.uriResolver.resolve;if(w=J8(L?C(L,w):w),B.has(w))throw K(w);B.add(w);let Z=this.refs[w];if(typeof Z=="string")Z=this.refs[Z];if(typeof Z=="object")z(V,Z.schema,w);else if(w!==J8(D))if(w[0]==="#")z(V,H[w],w),H[w]=V;else this.refs[w]=D;return w}function N(w){if(typeof w=="string"){if(!ak.test(w))throw Error(`invalid anchor "${w}"`);O.call(this,`#${w}`)}}}),H;function z(V,q,F){if(q!==void 0&&!pk(V,q))throw K(F)}function K(V){return Error(`reference "${V}" resolves to more than one schema`)}}Hq.getSchemaRefs=sk});var k4=j((bq)=>{Object.defineProperty(bq,"__esModule",{value:!0});bq.getData=bq.KeywordCxt=bq.validateFunctionCode=void 0;var Aq=EA(),zq=S4(),a$=m$(),oX=S4(),$v=mA(),C4=aA(),t$=Xq(),f=n(),m=H6(),Jv=I4(),B6=$0(),T4=E4();function Gv(Q){if(Lq(Q)){if(Oq(Q),Dq(Q)){zv(Q);return}}qq(Q,()=>(0,Aq.topBoolOrEmptySchema)(Q))}bq.validateFunctionCode=Gv;function qq({gen:Q,validateName:X,schema:Y,schemaEnv:W,opts:$},J){if($.code.es5)Q.func(X,f._`${m.default.data}, ${m.default.valCxt}`,W.$async,()=>{Q.code(f._`"use strict"; ${Kq(Y,$)}`),Bv(Q,$),Q.code(J)});else Q.func(X,f._`${m.default.data}, ${Hv($)}`,W.$async,()=>Q.code(Kq(Y,$)).code(J))}function Hv(Q){return f._`{${m.default.instancePath}="", ${m.default.parentData}, ${m.default.parentDataProperty}, ${m.default.rootData}=${m.default.data}${Q.dynamicRef?f._`, ${m.default.dynamicAnchors}={}`:f.nil}}={}`}function Bv(Q,X){Q.if(m.default.valCxt,()=>{if(Q.var(m.default.instancePath,f._`${m.default.valCxt}.${m.default.instancePath}`),Q.var(m.default.parentData,f._`${m.default.valCxt}.${m.default.parentData}`),Q.var(m.default.parentDataProperty,f._`${m.default.valCxt}.${m.default.parentDataProperty}`),Q.var(m.default.rootData,f._`${m.default.valCxt}.${m.default.rootData}`),X.dynamicRef)Q.var(m.default.dynamicAnchors,f._`${m.default.valCxt}.${m.default.dynamicAnchors}`)},()=>{if(Q.var(m.default.instancePath,f._`""`),Q.var(m.default.parentData,f._`undefined`),Q.var(m.default.parentDataProperty,f._`undefined`),Q.var(m.default.rootData,m.default.data),X.dynamicRef)Q.var(m.default.dynamicAnchors,f._`{}`)})}function zv(Q){let{schema:X,opts:Y,gen:W}=Q;qq(Q,()=>{if(Y.$comment&&X.$comment)jq(Q);if(qv(Q),W.let(m.default.vErrors,null),W.let(m.default.errors,0),Y.unevaluated)Kv(Q);Uq(Q),Ov(Q)});return}function Kv(Q){let{gen:X,validateName:Y}=Q;Q.evaluated=X.const("evaluated",f._`${Y}.evaluated`),X.if(f._`${Q.evaluated}.dynamicProps`,()=>X.assign(f._`${Q.evaluated}.props`,f._`undefined`)),X.if(f._`${Q.evaluated}.dynamicItems`,()=>X.assign(f._`${Q.evaluated}.items`,f._`undefined`))}function Kq(Q,X){let Y=typeof Q=="object"&&Q[X.schemaId];return Y&&(X.code.source||X.code.process)?f._`/*# sourceURL=${Y} */`:f.nil}function Vv(Q,X){if(Lq(Q)){if(Oq(Q),Dq(Q)){Fv(Q,X);return}}(0,Aq.boolOrEmptySchema)(Q,X)}function Dq({schema:Q,self:X}){if(typeof Q=="boolean")return!Q;for(let Y in Q)if(X.RULES.all[Y])return!0;return!1}function Lq(Q){return typeof Q.schema!="boolean"}function Fv(Q,X){let{schema:Y,gen:W,opts:$}=Q;if($.$comment&&Y.$comment)jq(Q);Dv(Q),Lv(Q);let J=W.const("_errs",m.default.errors);Uq(Q,J),W.var(X,f._`${J} === ${m.default.errors}`)}function Oq(Q){(0,B6.checkUnknownRules)(Q),Av(Q)}function Uq(Q,X){if(Q.opts.jtd)return Vq(Q,[],!1,X);let Y=(0,zq.getSchemaTypes)(Q.schema),W=(0,zq.coerceAndCheckDataType)(Q,Y);Vq(Q,Y,!W,X)}function Av(Q){let{schema:X,errSchemaPath:Y,opts:W,self:$}=Q;if(X.$ref&&W.ignoreKeywordsWithRef&&(0,B6.schemaHasRulesButRef)(X,$.RULES))$.logger.warn(`$ref: keywords ignored in schema at path "${Y}"`)}function qv(Q){let{schema:X,opts:Y}=Q;if(X.default!==void 0&&Y.useDefaults&&Y.strictSchema)(0,B6.checkStrictMode)(Q,"default is ignored in the schema root")}function Dv(Q){let X=Q.schema[Q.opts.schemaId];if(X)Q.baseId=(0,Jv.resolveUrl)(Q.opts.uriResolver,Q.baseId,X)}function Lv(Q){if(Q.schema.$async&&!Q.schemaEnv.$async)throw Error("async schema in sync schema")}function jq({gen:Q,schemaEnv:X,schema:Y,errSchemaPath:W,opts:$}){let J=Y.$comment;if($.$comment===!0)Q.code(f._`${m.default.self}.logger.log(${J})`);else if(typeof $.$comment=="function"){let G=f.str`${W}/$comment`,H=Q.scopeValue("root",{ref:X.root});Q.code(f._`${m.default.self}.opts.$comment(${J}, ${G}, ${H}.schema)`)}}function Ov(Q){let{gen:X,schemaEnv:Y,validateName:W,ValidationError:$,opts:J}=Q;if(Y.$async)X.if(f._`${m.default.errors} === 0`,()=>X.return(m.default.data),()=>X.throw(f._`new ${$}(${m.default.vErrors})`));else{if(X.assign(f._`${W}.errors`,m.default.vErrors),J.unevaluated)Uv(Q);X.return(f._`${m.default.errors} === 0`)}}function Uv({gen:Q,evaluated:X,props:Y,items:W}){if(Y instanceof f.Name)Q.assign(f._`${X}.props`,Y);if(W instanceof f.Name)Q.assign(f._`${X}.items`,W)}function Vq(Q,X,Y,W){let{gen:$,schema:J,data:G,allErrors:H,opts:B,self:z}=Q,{RULES:K}=z;if(J.$ref&&(B.ignoreKeywordsWithRef||!(0,B6.schemaHasRulesButRef)(J,K))){$.block(()=>Nq(Q,"$ref",K.all.$ref.definition));return}if(!B.jtd)jv(Q,X);$.block(()=>{for(let q of K.rules)V(q);V(K.post)});function V(q){if(!(0,a$.shouldUseGroup)(J,q))return;if(q.type){if($.if((0,oX.checkDataType)(q.type,G,B.strictNumbers)),Fq(Q,q),X.length===1&&X[0]===q.type&&Y)$.else(),(0,oX.reportTypeError)(Q);$.endIf()}else Fq(Q,q);if(!H)$.if(f._`${m.default.errors} === ${W||0}`)}}function Fq(Q,X){let{gen:Y,schema:W,opts:{useDefaults:$}}=Q;if($)(0,$v.assignDefaults)(Q,X.type);Y.block(()=>{for(let J of X.rules)if((0,a$.shouldUseRule)(W,J))Nq(Q,J.keyword,J.definition,X.type)})}function jv(Q,X){if(Q.schemaEnv.meta||!Q.opts.strictTypes)return;if(Mv(Q,X),!Q.opts.allowUnionTypes)Nv(Q,X);wv(Q,Q.dataTypes)}function Mv(Q,X){if(!X.length)return;if(!Q.dataTypes.length){Q.dataTypes=X;return}X.forEach((Y)=>{if(!Mq(Q.dataTypes,Y))s$(Q,`type "${Y}" not allowed by context "${Q.dataTypes.join(",")}"`)}),Pv(Q,X)}function Nv(Q,X){if(X.length>1&&!(X.length===2&&X.includes("null")))s$(Q,"use allowUnionTypes to allow union type keyword")}function wv(Q,X){let Y=Q.self.RULES.all;for(let W in Y){let $=Y[W];if(typeof $=="object"&&(0,a$.shouldUseRule)(Q.schema,$)){let{type:J}=$.definition;if(J.length&&!J.some((G)=>bv(X,G)))s$(Q,`missing type "${J.join(",")}" for keyword "${W}"`)}}}function bv(Q,X){return Q.includes(X)||X==="number"&&Q.includes("integer")}function Mq(Q,X){return Q.includes(X)||X==="integer"&&Q.includes("number")}function Pv(Q,X){let Y=[];for(let W of Q.dataTypes)if(Mq(X,W))Y.push(W);else if(X.includes("integer")&&W==="number")Y.push("integer");Q.dataTypes=Y}function s$(Q,X){let Y=Q.schemaEnv.baseId+Q.errSchemaPath;X+=` at "${Y}" (strictTypes)`,(0,B6.checkStrictMode)(Q,X,Q.opts.strictTypes)}class e${constructor(Q,X,Y){if((0,C4.validateKeywordUsage)(Q,X,Y),this.gen=Q.gen,this.allErrors=Q.allErrors,this.keyword=Y,this.data=Q.data,this.schema=Q.schema[Y],this.$data=X.$data&&Q.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,B6.schemaRefOrVal)(Q,this.schema,Y,this.$data),this.schemaType=X.schemaType,this.parentSchema=Q.schema,this.params={},this.it=Q,this.def=X,this.$data)this.schemaCode=Q.gen.const("vSchema",wq(this.$data,Q));else if(this.schemaCode=this.schemaValue,!(0,C4.validSchemaType)(this.schema,X.schemaType,X.allowUndefined))throw Error(`${Y} value must be ${JSON.stringify(X.schemaType)}`);if("code"in X?X.trackErrors:X.errors!==!1)this.errsCount=Q.gen.const("_errs",m.default.errors)}result(Q,X,Y){this.failResult((0,f.not)(Q),X,Y)}failResult(Q,X,Y){if(this.gen.if(Q),Y)Y();else this.error();if(X){if(this.gen.else(),X(),this.allErrors)this.gen.endIf()}else if(this.allErrors)this.gen.endIf();else this.gen.else()}pass(Q,X){this.failResult((0,f.not)(Q),void 0,X)}fail(Q){if(Q===void 0){if(this.error(),!this.allErrors)this.gen.if(!1);return}if(this.gen.if(Q),this.error(),this.allErrors)this.gen.endIf();else this.gen.else()}fail$data(Q){if(!this.$data)return this.fail(Q);let{schemaCode:X}=this;this.fail(f._`${X} !== undefined && (${(0,f.or)(this.invalid$data(),Q)})`)}error(Q,X,Y){if(X){this.setParams(X),this._error(Q,Y),this.setParams({});return}this._error(Q,Y)}_error(Q,X){(Q?T4.reportExtraError:T4.reportError)(this,this.def.error,X)}$dataError(){(0,T4.reportError)(this,this.def.$dataError||T4.keyword$DataError)}reset(){if(this.errsCount===void 0)throw Error('add "trackErrors" to keyword definition');(0,T4.resetErrorsCount)(this.gen,this.errsCount)}ok(Q){if(!this.allErrors)this.gen.if(Q)}setParams(Q,X){if(X)Object.assign(this.params,Q);else this.params=Q}block$data(Q,X,Y=f.nil){this.gen.block(()=>{this.check$data(Q,Y),X()})}check$data(Q=f.nil,X=f.nil){if(!this.$data)return;let{gen:Y,schemaCode:W,schemaType:$,def:J}=this;if(Y.if((0,f.or)(f._`${W} === undefined`,X)),Q!==f.nil)Y.assign(Q,!0);if($.length||J.validateSchema){if(Y.elseIf(this.invalid$data()),this.$dataError(),Q!==f.nil)Y.assign(Q,!1)}Y.else()}invalid$data(){let{gen:Q,schemaCode:X,schemaType:Y,def:W,it:$}=this;return(0,f.or)(J(),G());function J(){if(Y.length){if(!(X instanceof f.Name))throw Error("ajv implementation error");let H=Array.isArray(Y)?Y:[Y];return f._`${(0,oX.checkDataTypes)(H,X,$.opts.strictNumbers,oX.DataType.Wrong)}`}return f.nil}function G(){if(W.validateSchema){let H=Q.scopeValue("validate$data",{ref:W.validateSchema});return f._`!${H}(${X})`}return f.nil}}subschema(Q,X){let Y=(0,t$.getSubschema)(this.it,Q);(0,t$.extendSubschemaData)(Y,this.it,Q),(0,t$.extendSubschemaMode)(Y,Q);let W={...this.it,...Y,items:void 0,props:void 0};return Vv(W,X),W}mergeEvaluated(Q,X){let{it:Y,gen:W}=this;if(!Y.opts.unevaluated)return;if(Y.props!==!0&&Q.props!==void 0)Y.props=B6.mergeEvaluated.props(W,Q.props,Y.props,X);if(Y.items!==!0&&Q.items!==void 0)Y.items=B6.mergeEvaluated.items(W,Q.items,Y.items,X)}mergeValidEvaluated(Q,X){let{it:Y,gen:W}=this;if(Y.opts.unevaluated&&(Y.props!==!0||Y.items!==!0))return W.if(X,()=>this.mergeEvaluated(Q,f.Name)),!0}}bq.KeywordCxt=e$;function Nq(Q,X,Y,W){let $=new e$(Q,Y,X);if("code"in Y)Y.code($,W);else if($.$data&&Y.validate)(0,C4.funcKeywordCode)($,Y);else if("macro"in Y)(0,C4.macroKeywordCode)($,Y);else if(Y.compile||Y.validate)(0,C4.funcKeywordCode)($,Y)}var Zv=/^\/(?:[^~]|~0|~1)*$/,Rv=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function wq(Q,{dataLevel:X,dataNames:Y,dataPathArr:W}){let $,J;if(Q==="")return m.default.rootData;if(Q[0]==="/"){if(!Zv.test(Q))throw Error(`Invalid JSON-pointer: ${Q}`);$=Q,J=m.default.rootData}else{let z=Rv.exec(Q);if(!z)throw Error(`Invalid JSON-pointer: ${Q}`);let K=+z[1];if($=z[2],$==="#"){if(K>=X)throw Error(B("property/index",K));return W[X-K]}if(K>X)throw Error(B("data",K));if(J=Y[X-K],!$)return J}let G=J,H=$.split("/");for(let z of H)if(z)J=f._`${J}${(0,f.getProperty)((0,B6.unescapeJsonPointer)(z))}`,G=f._`${G} && ${J}`;return G;function B(z,K){return`Cannot access ${z} ${K} levels up, current level is ${X}`}}bq.getData=wq});var rX=j((Rq)=>{Object.defineProperty(Rq,"__esModule",{value:!0});class Zq extends Error{constructor(Q){super("validation failed");this.errors=Q,this.ajv=this.validation=!0}}Rq.default=Zq});var v4=j((Sq)=>{Object.defineProperty(Sq,"__esModule",{value:!0});var QJ=I4();class Eq extends Error{constructor(Q,X,Y,W){super(W||`can't resolve reference ${Y} from id ${X}`);this.missingRef=(0,QJ.resolveUrl)(Q,X,Y),this.missingSchema=(0,QJ.normalizeId)((0,QJ.getFullPath)(Q,this.missingRef))}}Sq.default=Eq});var aX=j((Cq)=>{Object.defineProperty(Cq,"__esModule",{value:!0});Cq.resolveSchema=Cq.getCompilingSchema=Cq.resolveRef=Cq.compileSchema=Cq.SchemaEnv=void 0;var v1=n(),Cv=rX(),F9=H6(),_1=I4(),Iq=$0(),kv=k4();class _4{constructor(Q){var X;this.refs={},this.dynamicAnchors={};let Y;if(typeof Q.schema=="object")Y=Q.schema;this.schema=Q.schema,this.schemaId=Q.schemaId,this.root=Q.root||this,this.baseId=(X=Q.baseId)!==null&&X!==void 0?X:(0,_1.normalizeId)(Y===null||Y===void 0?void 0:Y[Q.schemaId||"$id"]),this.schemaPath=Q.schemaPath,this.localRefs=Q.localRefs,this.meta=Q.meta,this.$async=Y===null||Y===void 0?void 0:Y.$async,this.refs={}}}Cq.SchemaEnv=_4;function YJ(Q){let X=Tq.call(this,Q);if(X)return X;let Y=(0,_1.getFullPath)(this.opts.uriResolver,Q.root.baseId),{es5:W,lines:$}=this.opts.code,{ownProperties:J}=this.opts,G=new v1.CodeGen(this.scope,{es5:W,lines:$,ownProperties:J}),H;if(Q.$async)H=G.scopeValue("Error",{ref:Cv.default,code:v1._`require("ajv/dist/runtime/validation_error").default`});let B=G.scopeName("validate");Q.validateName=B;let z={gen:G,allErrors:this.opts.allErrors,data:F9.default.data,parentData:F9.default.parentData,parentDataProperty:F9.default.parentDataProperty,dataNames:[F9.default.data],dataPathArr:[v1.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:G.scopeValue("schema",this.opts.code.source===!0?{ref:Q.schema,code:(0,v1.stringify)(Q.schema)}:{ref:Q.schema}),validateName:B,ValidationError:H,schema:Q.schema,schemaEnv:Q,rootId:Y,baseId:Q.baseId||Y,schemaPath:v1.nil,errSchemaPath:Q.schemaPath||(this.opts.jtd?"":"#"),errorPath:v1._`""`,opts:this.opts,self:this},K;try{this._compilations.add(Q),(0,kv.validateFunctionCode)(z),G.optimize(this.opts.code.optimize);let V=G.toString();if(K=`${G.scopeRefs(F9.default.scope)}return ${V}`,this.opts.code.process)K=this.opts.code.process(K,Q);let F=Function(`${F9.default.self}`,`${F9.default.scope}`,K)(this,this.scope.get());if(this.scope.value(B,{ref:F}),F.errors=null,F.schema=Q.schema,F.schemaEnv=Q,Q.$async)F.$async=!0;if(this.opts.code.source===!0)F.source={validateName:B,validateCode:V,scopeValues:G._values};if(this.opts.unevaluated){let{props:A,items:D}=z;if(F.evaluated={props:A instanceof v1.Name?void 0:A,items:D instanceof v1.Name?void 0:D,dynamicProps:A instanceof v1.Name,dynamicItems:D instanceof v1.Name},F.source)F.source.evaluated=(0,v1.stringify)(F.evaluated)}return Q.validate=F,Q}catch(V){if(delete Q.validate,delete Q.validateName,K)this.logger.error("Error compiling schema, function code:",K);throw V}finally{this._compilations.delete(Q)}}Cq.compileSchema=YJ;function vv(Q,X,Y){var W;Y=(0,_1.resolveUrl)(this.opts.uriResolver,X,Y);let $=Q.refs[Y];if($)return $;let J=yv.call(this,Q,Y);if(J===void 0){let G=(W=Q.localRefs)===null||W===void 0?void 0:W[Y],{schemaId:H}=this.opts;if(G)J=new _4({schema:G,schemaId:H,root:Q,baseId:X})}if(J===void 0)return;return Q.refs[Y]=_v.call(this,J)}Cq.resolveRef=vv;function _v(Q){if((0,_1.inlineRef)(Q.schema,this.opts.inlineRefs))return Q.schema;return Q.validate?Q:YJ.call(this,Q)}function Tq(Q){for(let X of this._compilations)if(xv(X,Q))return X}Cq.getCompilingSchema=Tq;function xv(Q,X){return Q.schema===X.schema&&Q.root===X.root&&Q.baseId===X.baseId}function yv(Q,X){let Y;while(typeof(Y=this.refs[X])=="string")X=Y;return Y||this.schemas[X]||tX.call(this,Q,X)}function tX(Q,X){let Y=this.opts.uriResolver.parse(X),W=(0,_1._getFullPath)(this.opts.uriResolver,Y),$=(0,_1.getFullPath)(this.opts.uriResolver,Q.baseId,void 0);if(Object.keys(Q.schema).length>0&&W===$)return XJ.call(this,Y,Q);let J=(0,_1.normalizeId)(W),G=this.refs[J]||this.schemas[J];if(typeof G=="string"){let H=tX.call(this,Q,G);if(typeof(H===null||H===void 0?void 0:H.schema)!=="object")return;return XJ.call(this,Y,H)}if(typeof(G===null||G===void 0?void 0:G.schema)!=="object")return;if(!G.validate)YJ.call(this,G);if(J===(0,_1.normalizeId)(X)){let{schema:H}=G,{schemaId:B}=this.opts,z=H[B];if(z)$=(0,_1.resolveUrl)(this.opts.uriResolver,$,z);return new _4({schema:H,schemaId:B,root:Q,baseId:$})}return XJ.call(this,Y,G)}Cq.resolveSchema=tX;var fv=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function XJ(Q,{baseId:X,schema:Y,root:W}){var $;if((($=Q.fragment)===null||$===void 0?void 0:$[0])!=="/")return;for(let H of Q.fragment.slice(1).split("/")){if(typeof Y==="boolean")return;let B=Y[(0,Iq.unescapeFragment)(H)];if(B===void 0)return;Y=B;let z=typeof Y==="object"&&Y[this.opts.schemaId];if(!fv.has(H)&&z)X=(0,_1.resolveUrl)(this.opts.uriResolver,X,z)}let J;if(typeof Y!="boolean"&&Y.$ref&&!(0,Iq.schemaHasRulesButRef)(Y,this.RULES)){let H=(0,_1.resolveUrl)(this.opts.uriResolver,X,Y.$ref);J=tX.call(this,W,H)}let{schemaId:G}=this.opts;if(J=J||new _4({schema:Y,schemaId:G,root:W,baseId:X}),J.schema!==J.root.schema)return J;return}});var vq=j((Ei,mv)=>{mv.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var yq=j((xq)=>{Object.defineProperty(xq,"__esModule",{value:!0});var _q=z$();_q.code='require("ajv/dist/runtime/uri").default';xq.default=_q});var pq=j((z6)=>{Object.defineProperty(z6,"__esModule",{value:!0});z6.CodeGen=z6.Name=z6.nil=z6.stringify=z6.str=z6._=z6.KeywordCxt=void 0;var pv=k4();Object.defineProperty(z6,"KeywordCxt",{enumerable:!0,get:function(){return pv.KeywordCxt}});var G8=n();Object.defineProperty(z6,"_",{enumerable:!0,get:function(){return G8._}});Object.defineProperty(z6,"str",{enumerable:!0,get:function(){return G8.str}});Object.defineProperty(z6,"stringify",{enumerable:!0,get:function(){return G8.stringify}});Object.defineProperty(z6,"nil",{enumerable:!0,get:function(){return G8.nil}});Object.defineProperty(z6,"Name",{enumerable:!0,get:function(){return G8.Name}});Object.defineProperty(z6,"CodeGen",{enumerable:!0,get:function(){return G8.CodeGen}});var dv=rX(),lq=v4(),iv=l$(),x4=aX(),nv=n(),y4=I4(),sX=S4(),$J=$0(),fq=vq(),ov=yq(),mq=(Q,X)=>new RegExp(Q,X);mq.code="new RegExp";var rv=["removeAdditional","useDefaults","coerceTypes"],tv=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),av={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},sv={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},gq=200;function ev(Q){var X,Y,W,$,J,G,H,B,z,K,V,q,F,A,D,L,O,N,w,C,Z,K0,P0,g1,g6;let O1=Q.strict,h6=(X=Q.code)===null||X===void 0?void 0:X.optimize,j8=h6===!0||h6===void 0?1:h6||0,M8=(W=(Y=Q.code)===null||Y===void 0?void 0:Y.regExp)!==null&&W!==void 0?W:mq,fY=($=Q.uriResolver)!==null&&$!==void 0?$:ov.default;return{strictSchema:(G=(J=Q.strictSchema)!==null&&J!==void 0?J:O1)!==null&&G!==void 0?G:!0,strictNumbers:(B=(H=Q.strictNumbers)!==null&&H!==void 0?H:O1)!==null&&B!==void 0?B:!0,strictTypes:(K=(z=Q.strictTypes)!==null&&z!==void 0?z:O1)!==null&&K!==void 0?K:"log",strictTuples:(q=(V=Q.strictTuples)!==null&&V!==void 0?V:O1)!==null&&q!==void 0?q:"log",strictRequired:(A=(F=Q.strictRequired)!==null&&F!==void 0?F:O1)!==null&&A!==void 0?A:!1,code:Q.code?{...Q.code,optimize:j8,regExp:M8}:{optimize:j8,regExp:M8},loopRequired:(D=Q.loopRequired)!==null&&D!==void 0?D:gq,loopEnum:(L=Q.loopEnum)!==null&&L!==void 0?L:gq,meta:(O=Q.meta)!==null&&O!==void 0?O:!0,messages:(N=Q.messages)!==null&&N!==void 0?N:!0,inlineRefs:(w=Q.inlineRefs)!==null&&w!==void 0?w:!0,schemaId:(C=Q.schemaId)!==null&&C!==void 0?C:"$id",addUsedSchema:(Z=Q.addUsedSchema)!==null&&Z!==void 0?Z:!0,validateSchema:(K0=Q.validateSchema)!==null&&K0!==void 0?K0:!0,validateFormats:(P0=Q.validateFormats)!==null&&P0!==void 0?P0:!0,unicodeRegExp:(g1=Q.unicodeRegExp)!==null&&g1!==void 0?g1:!0,int32range:(g6=Q.int32range)!==null&&g6!==void 0?g6:!0,uriResolver:fY}}class eX{constructor(Q={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,Q=this.opts={...Q,...ev(Q)};let{es5:X,lines:Y}=this.opts.code;this.scope=new nv.ValueScope({scope:{},prefixes:tv,es5:X,lines:Y}),this.logger=J_(Q.logger);let W=Q.validateFormats;if(Q.validateFormats=!1,this.RULES=(0,iv.getRules)(),hq.call(this,av,Q,"NOT SUPPORTED"),hq.call(this,sv,Q,"DEPRECATED","warn"),this._metaOpts=W_.call(this),Q.formats)X_.call(this);if(this._addVocabularies(),this._addDefaultMetaSchema(),Q.keywords)Y_.call(this,Q.keywords);if(typeof Q.meta=="object")this.addMetaSchema(Q.meta);Q_.call(this),Q.validateFormats=W}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:Q,meta:X,schemaId:Y}=this.opts,W=fq;if(Y==="id")W={...fq},W.id=W.$id,delete W.$id;if(X&&Q)this.addMetaSchema(W,W[Y],!1)}defaultMeta(){let{meta:Q,schemaId:X}=this.opts;return this.opts.defaultMeta=typeof Q=="object"?Q[X]||Q:void 0}validate(Q,X){let Y;if(typeof Q=="string"){if(Y=this.getSchema(Q),!Y)throw Error(`no schema with key or ref "${Q}"`)}else Y=this.compile(Q);let W=Y(X);if(!("$async"in Y))this.errors=Y.errors;return W}compile(Q,X){let Y=this._addSchema(Q,X);return Y.validate||this._compileSchemaEnv(Y)}compileAsync(Q,X){if(typeof this.opts.loadSchema!="function")throw Error("options.loadSchema should be a function");let{loadSchema:Y}=this.opts;return W.call(this,Q,X);async function W(z,K){await $.call(this,z.$schema);let V=this._addSchema(z,K);return V.validate||J.call(this,V)}async function $(z){if(z&&!this.getSchema(z))await W.call(this,{$ref:z},!0)}async function J(z){try{return this._compileSchemaEnv(z)}catch(K){if(!(K instanceof lq.default))throw K;return G.call(this,K),await H.call(this,K.missingSchema),J.call(this,z)}}function G({missingSchema:z,missingRef:K}){if(this.refs[z])throw Error(`AnySchema ${z} is loaded but ${K} cannot be resolved`)}async function H(z){let K=await B.call(this,z);if(!this.refs[z])await $.call(this,K.$schema);if(!this.refs[z])this.addSchema(K,z,X)}async function B(z){let K=this._loading[z];if(K)return K;try{return await(this._loading[z]=Y(z))}finally{delete this._loading[z]}}}addSchema(Q,X,Y,W=this.opts.validateSchema){if(Array.isArray(Q)){for(let J of Q)this.addSchema(J,void 0,Y,W);return this}let $;if(typeof Q==="object"){let{schemaId:J}=this.opts;if($=Q[J],$!==void 0&&typeof $!="string")throw Error(`schema ${J} must be string`)}return X=(0,y4.normalizeId)(X||$),this._checkUnique(X),this.schemas[X]=this._addSchema(Q,Y,X,W,!0),this}addMetaSchema(Q,X,Y=this.opts.validateSchema){return this.addSchema(Q,X,!0,Y),this}validateSchema(Q,X){if(typeof Q=="boolean")return!0;let Y;if(Y=Q.$schema,Y!==void 0&&typeof Y!="string")throw Error("$schema must be a string");if(Y=Y||this.opts.defaultMeta||this.defaultMeta(),!Y)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let W=this.validate(Y,Q);if(!W&&X){let $="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error($);else throw Error($)}return W}getSchema(Q){let X;while(typeof(X=uq.call(this,Q))=="string")Q=X;if(X===void 0){let{schemaId:Y}=this.opts,W=new x4.SchemaEnv({schema:{},schemaId:Y});if(X=x4.resolveSchema.call(this,W,Q),!X)return;this.refs[Q]=X}return X.validate||this._compileSchemaEnv(X)}removeSchema(Q){if(Q instanceof RegExp)return this._removeAllSchemas(this.schemas,Q),this._removeAllSchemas(this.refs,Q),this;switch(typeof Q){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let X=uq.call(this,Q);if(typeof X=="object")this._cache.delete(X.schema);return delete this.schemas[Q],delete this.refs[Q],this}case"object":{let X=Q;this._cache.delete(X);let Y=Q[this.opts.schemaId];if(Y)Y=(0,y4.normalizeId)(Y),delete this.schemas[Y],delete this.refs[Y];return this}default:throw Error("ajv.removeSchema: invalid parameter")}}addVocabulary(Q){for(let X of Q)this.addKeyword(X);return this}addKeyword(Q,X){let Y;if(typeof Q=="string"){if(Y=Q,typeof X=="object")this.logger.warn("these parameters are deprecated, see docs for addKeyword"),X.keyword=Y}else if(typeof Q=="object"&&X===void 0){if(X=Q,Y=X.keyword,Array.isArray(Y)&&!Y.length)throw Error("addKeywords: keyword must be string or non-empty array")}else throw Error("invalid addKeywords parameters");if(H_.call(this,Y,X),!X)return(0,$J.eachItem)(Y,($)=>WJ.call(this,$)),this;z_.call(this,X);let W={...X,type:(0,sX.getJSONTypes)(X.type),schemaType:(0,sX.getJSONTypes)(X.schemaType)};return(0,$J.eachItem)(Y,W.type.length===0?($)=>WJ.call(this,$,W):($)=>W.type.forEach((J)=>WJ.call(this,$,W,J))),this}getKeyword(Q){let X=this.RULES.all[Q];return typeof X=="object"?X.definition:!!X}removeKeyword(Q){let{RULES:X}=this;delete X.keywords[Q],delete X.all[Q];for(let Y of X.rules){let W=Y.rules.findIndex(($)=>$.keyword===Q);if(W>=0)Y.rules.splice(W,1)}return this}addFormat(Q,X){if(typeof X=="string")X=new RegExp(X);return this.formats[Q]=X,this}errorsText(Q=this.errors,{separator:X=", ",dataVar:Y="data"}={}){if(!Q||Q.length===0)return"No errors";return Q.map((W)=>`${Y}${W.instancePath} ${W.message}`).reduce((W,$)=>W+X+$)}$dataMetaSchema(Q,X){let Y=this.RULES.all;Q=JSON.parse(JSON.stringify(Q));for(let W of X){let $=W.split("/").slice(1),J=Q;for(let G of $)J=J[G];for(let G in Y){let H=Y[G];if(typeof H!="object")continue;let{$data:B}=H.definition,z=J[G];if(B&&z)J[G]=cq(z)}}return Q}_removeAllSchemas(Q,X){for(let Y in Q){let W=Q[Y];if(!X||X.test(Y)){if(typeof W=="string")delete Q[Y];else if(W&&!W.meta)this._cache.delete(W.schema),delete Q[Y]}}}_addSchema(Q,X,Y,W=this.opts.validateSchema,$=this.opts.addUsedSchema){let J,{schemaId:G}=this.opts;if(typeof Q=="object")J=Q[G];else if(this.opts.jtd)throw Error("schema must be object");else if(typeof Q!="boolean")throw Error("schema must be object or boolean");let H=this._cache.get(Q);if(H!==void 0)return H;Y=(0,y4.normalizeId)(J||Y);let B=y4.getSchemaRefs.call(this,Q,Y);if(H=new x4.SchemaEnv({schema:Q,schemaId:G,meta:X,baseId:Y,localRefs:B}),this._cache.set(H.schema,H),$&&!Y.startsWith("#")){if(Y)this._checkUnique(Y);this.refs[Y]=H}if(W)this.validateSchema(Q,!0);return H}_checkUnique(Q){if(this.schemas[Q]||this.refs[Q])throw Error(`schema with key or id "${Q}" already exists`)}_compileSchemaEnv(Q){if(Q.meta)this._compileMetaSchema(Q);else x4.compileSchema.call(this,Q);if(!Q.validate)throw Error("ajv implementation error");return Q.validate}_compileMetaSchema(Q){let X=this.opts;this.opts=this._metaOpts;try{x4.compileSchema.call(this,Q)}finally{this.opts=X}}}eX.ValidationError=dv.default;eX.MissingRefError=lq.default;z6.default=eX;function hq(Q,X,Y,W="error"){for(let $ in Q){let J=$;if(J in X)this.logger[W](`${Y}: option ${$}. ${Q[J]}`)}}function uq(Q){return Q=(0,y4.normalizeId)(Q),this.schemas[Q]||this.refs[Q]}function Q_(){let Q=this.opts.schemas;if(!Q)return;if(Array.isArray(Q))this.addSchema(Q);else for(let X in Q)this.addSchema(Q[X],X)}function X_(){for(let Q in this.opts.formats){let X=this.opts.formats[Q];if(X)this.addFormat(Q,X)}}function Y_(Q){if(Array.isArray(Q)){this.addVocabulary(Q);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let X in Q){let Y=Q[X];if(!Y.keyword)Y.keyword=X;this.addKeyword(Y)}}function W_(){let Q={...this.opts};for(let X of rv)delete Q[X];return Q}var $_={log(){},warn(){},error(){}};function J_(Q){if(Q===!1)return $_;if(Q===void 0)return console;if(Q.log&&Q.warn&&Q.error)return Q;throw Error("logger must implement log, warn and error methods")}var G_=/^[a-z_$][a-z0-9_$:-]*$/i;function H_(Q,X){let{RULES:Y}=this;if((0,$J.eachItem)(Q,(W)=>{if(Y.keywords[W])throw Error(`Keyword ${W} is already defined`);if(!G_.test(W))throw Error(`Keyword ${W} has invalid name`)}),!X)return;if(X.$data&&!(("code"in X)||("validate"in X)))throw Error('$data keyword must have "code" or "validate" function')}function WJ(Q,X,Y){var W;let $=X===null||X===void 0?void 0:X.post;if(Y&&$)throw Error('keyword with "post" flag cannot have "type"');let{RULES:J}=this,G=$?J.post:J.rules.find(({type:B})=>B===Y);if(!G)G={type:Y,rules:[]},J.rules.push(G);if(J.keywords[Q]=!0,!X)return;let H={keyword:Q,definition:{...X,type:(0,sX.getJSONTypes)(X.type),schemaType:(0,sX.getJSONTypes)(X.schemaType)}};if(X.before)B_.call(this,G,H,X.before);else G.rules.push(H);J.all[Q]=H,(W=X.implements)===null||W===void 0||W.forEach((B)=>this.addKeyword(B))}function B_(Q,X,Y){let W=Q.rules.findIndex(($)=>$.keyword===Y);if(W>=0)Q.rules.splice(W,0,X);else Q.rules.push(X),this.logger.warn(`rule ${Y} is not defined`)}function z_(Q){let{metaSchema:X}=Q;if(X===void 0)return;if(Q.$data&&this.opts.$data)X=cq(X);Q.validateSchema=this.compile(X,!0)}var K_={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function cq(Q){return{anyOf:[Q,K_]}}});var iq=j((dq)=>{Object.defineProperty(dq,"__esModule",{value:!0});var A_={keyword:"id",code(){throw Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};dq.default=A_});var sq=j((tq)=>{Object.defineProperty(tq,"__esModule",{value:!0});tq.callRef=tq.getValidate=void 0;var D_=v4(),nq=D1(),G1=n(),H8=H6(),oq=aX(),QY=$0(),L_={keyword:"$ref",schemaType:"string",code(Q){let{gen:X,schema:Y,it:W}=Q,{baseId:$,schemaEnv:J,validateName:G,opts:H,self:B}=W,{root:z}=J;if((Y==="#"||Y==="#/")&&$===z.baseId)return V();let K=oq.resolveRef.call(B,z,$,Y);if(K===void 0)throw new D_.default(W.opts.uriResolver,$,Y);if(K instanceof oq.SchemaEnv)return q(K);return F(K);function V(){if(J===z)return XY(Q,G,J,J.$async);let A=X.scopeValue("root",{ref:z});return XY(Q,G1._`${A}.validate`,z,z.$async)}function q(A){let D=rq(Q,A);XY(Q,D,A,A.$async)}function F(A){let D=X.scopeValue("schema",H.code.source===!0?{ref:A,code:(0,G1.stringify)(A)}:{ref:A}),L=X.name("valid"),O=Q.subschema({schema:A,dataTypes:[],schemaPath:G1.nil,topSchemaRef:D,errSchemaPath:Y},L);Q.mergeEvaluated(O),Q.ok(L)}}};function rq(Q,X){let{gen:Y}=Q;return X.validate?Y.scopeValue("validate",{ref:X.validate}):G1._`${Y.scopeValue("wrapper",{ref:X})}.validate`}tq.getValidate=rq;function XY(Q,X,Y,W){let{gen:$,it:J}=Q,{allErrors:G,schemaEnv:H,opts:B}=J,z=B.passContext?H8.default.this:G1.nil;if(W)K();else V();function K(){if(!H.$async)throw Error("async schema referenced by sync schema");let A=$.let("valid");$.try(()=>{if($.code(G1._`await ${(0,nq.callValidateCode)(Q,X,z)}`),F(X),!G)$.assign(A,!0)},(D)=>{if($.if(G1._`!(${D} instanceof ${J.ValidationError})`,()=>$.throw(D)),q(D),!G)$.assign(A,!1)}),Q.ok(A)}function V(){Q.result((0,nq.callValidateCode)(Q,X,z),()=>F(X),()=>q(X))}function q(A){let D=G1._`${A}.errors`;$.assign(H8.default.vErrors,G1._`${H8.default.vErrors} === null ? ${D} : ${H8.default.vErrors}.concat(${D})`),$.assign(H8.default.errors,G1._`${H8.default.vErrors}.length`)}function F(A){var D;if(!J.opts.unevaluated)return;let L=(D=Y===null||Y===void 0?void 0:Y.validate)===null||D===void 0?void 0:D.evaluated;if(J.props!==!0)if(L&&!L.dynamicProps){if(L.props!==void 0)J.props=QY.mergeEvaluated.props($,L.props,J.props)}else{let O=$.var("props",G1._`${A}.evaluated.props`);J.props=QY.mergeEvaluated.props($,O,J.props,G1.Name)}if(J.items!==!0)if(L&&!L.dynamicItems){if(L.items!==void 0)J.items=QY.mergeEvaluated.items($,L.items,J.items)}else{let O=$.var("items",G1._`${A}.evaluated.items`);J.items=QY.mergeEvaluated.items($,O,J.items,G1.Name)}}}tq.callRef=XY;tq.default=L_});var QD=j((eq)=>{Object.defineProperty(eq,"__esModule",{value:!0});var j_=iq(),M_=sq(),N_=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",j_.default,M_.default];eq.default=N_});var YD=j((XD)=>{Object.defineProperty(XD,"__esModule",{value:!0});var YY=n(),v6=YY.operators,WY={maximum:{okStr:"<=",ok:v6.LTE,fail:v6.GT},minimum:{okStr:">=",ok:v6.GTE,fail:v6.LT},exclusiveMaximum:{okStr:"<",ok:v6.LT,fail:v6.GTE},exclusiveMinimum:{okStr:">",ok:v6.GT,fail:v6.LTE}},b_={message:({keyword:Q,schemaCode:X})=>YY.str`must be ${WY[Q].okStr} ${X}`,params:({keyword:Q,schemaCode:X})=>YY._`{comparison: ${WY[Q].okStr}, limit: ${X}}`},P_={keyword:Object.keys(WY),type:"number",schemaType:"number",$data:!0,error:b_,code(Q){let{keyword:X,data:Y,schemaCode:W}=Q;Q.fail$data(YY._`${Y} ${WY[X].fail} ${W} || isNaN(${Y})`)}};XD.default=P_});var $D=j((WD)=>{Object.defineProperty(WD,"__esModule",{value:!0});var f4=n(),R_={message:({schemaCode:Q})=>f4.str`must be multiple of ${Q}`,params:({schemaCode:Q})=>f4._`{multipleOf: ${Q}}`},E_={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:R_,code(Q){let{gen:X,data:Y,schemaCode:W,it:$}=Q,J=$.opts.multipleOfPrecision,G=X.let("res"),H=J?f4._`Math.abs(Math.round(${G}) - ${G}) > 1e-${J}`:f4._`${G} !== parseInt(${G})`;Q.fail$data(f4._`(${W} === 0 || (${G} = ${Y}/${W}, ${H}))`)}};WD.default=E_});var HD=j((GD)=>{Object.defineProperty(GD,"__esModule",{value:!0});function JD(Q){let X=Q.length,Y=0,W=0,$;while(W<X)if(Y++,$=Q.charCodeAt(W++),$>=55296&&$<=56319&&W<X){if($=Q.charCodeAt(W),($&64512)===56320)W++}return Y}GD.default=JD;JD.code='require("ajv/dist/runtime/ucs2length").default'});var zD=j((BD)=>{Object.defineProperty(BD,"__esModule",{value:!0});var A9=n(),T_=$0(),C_=HD(),k_={message({keyword:Q,schemaCode:X}){let Y=Q==="maxLength"?"more":"fewer";return A9.str`must NOT have ${Y} than ${X} characters`},params:({schemaCode:Q})=>A9._`{limit: ${Q}}`},v_={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:k_,code(Q){let{keyword:X,data:Y,schemaCode:W,it:$}=Q,J=X==="maxLength"?A9.operators.GT:A9.operators.LT,G=$.opts.unicode===!1?A9._`${Y}.length`:A9._`${(0,T_.useFunc)(Q.gen,C_.default)}(${Y})`;Q.fail$data(A9._`${G} ${J} ${W}`)}};BD.default=v_});var VD=j((KD)=>{Object.defineProperty(KD,"__esModule",{value:!0});var x_=D1(),$Y=n(),y_={message:({schemaCode:Q})=>$Y.str`must match pattern "${Q}"`,params:({schemaCode:Q})=>$Y._`{pattern: ${Q}}`},f_={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:y_,code(Q){let{data:X,$data:Y,schema:W,schemaCode:$,it:J}=Q,G=J.opts.unicodeRegExp?"u":"",H=Y?$Y._`(new RegExp(${$}, ${G}))`:(0,x_.usePattern)(Q,W);Q.fail$data($Y._`!${H}.test(${X})`)}};KD.default=f_});var AD=j((FD)=>{Object.defineProperty(FD,"__esModule",{value:!0});var g4=n(),h_={message({keyword:Q,schemaCode:X}){let Y=Q==="maxProperties"?"more":"fewer";return g4.str`must NOT have ${Y} than ${X} properties`},params:({schemaCode:Q})=>g4._`{limit: ${Q}}`},u_={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:h_,code(Q){let{keyword:X,data:Y,schemaCode:W}=Q,$=X==="maxProperties"?g4.operators.GT:g4.operators.LT;Q.fail$data(g4._`Object.keys(${Y}).length ${$} ${W}`)}};FD.default=u_});var DD=j((qD)=>{Object.defineProperty(qD,"__esModule",{value:!0});var h4=D1(),u4=n(),m_=$0(),c_={message:({params:{missingProperty:Q}})=>u4.str`must have required property '${Q}'`,params:({params:{missingProperty:Q}})=>u4._`{missingProperty: ${Q}}`},p_={keyword:"required",type:"object",schemaType:"array",$data:!0,error:c_,code(Q){let{gen:X,schema:Y,schemaCode:W,data:$,$data:J,it:G}=Q,{opts:H}=G;if(!J&&Y.length===0)return;let B=Y.length>=H.loopRequired;if(G.allErrors)z();else K();if(H.strictRequired){let F=Q.parentSchema.properties,{definedProperties:A}=Q.it;for(let D of Y)if((F===null||F===void 0?void 0:F[D])===void 0&&!A.has(D)){let L=G.schemaEnv.baseId+G.errSchemaPath,O=`required property "${D}" is not defined at "${L}" (strictRequired)`;(0,m_.checkStrictMode)(G,O,G.opts.strictRequired)}}function z(){if(B||J)Q.block$data(u4.nil,V);else for(let F of Y)(0,h4.checkReportMissingProp)(Q,F)}function K(){let F=X.let("missing");if(B||J){let A=X.let("valid",!0);Q.block$data(A,()=>q(F,A)),Q.ok(A)}else X.if((0,h4.checkMissingProp)(Q,Y,F)),(0,h4.reportMissingProp)(Q,F),X.else()}function V(){X.forOf("prop",W,(F)=>{Q.setParams({missingProperty:F}),X.if((0,h4.noPropertyInData)(X,$,F,H.ownProperties),()=>Q.error())})}function q(F,A){Q.setParams({missingProperty:F}),X.forOf(F,W,()=>{X.assign(A,(0,h4.propertyInData)(X,$,F,H.ownProperties)),X.if((0,u4.not)(A),()=>{Q.error(),X.break()})},u4.nil)}}};qD.default=p_});var OD=j((LD)=>{Object.defineProperty(LD,"__esModule",{value:!0});var l4=n(),i_={message({keyword:Q,schemaCode:X}){let Y=Q==="maxItems"?"more":"fewer";return l4.str`must NOT have ${Y} than ${X} items`},params:({schemaCode:Q})=>l4._`{limit: ${Q}}`},n_={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:i_,code(Q){let{keyword:X,data:Y,schemaCode:W}=Q,$=X==="maxItems"?l4.operators.GT:l4.operators.LT;Q.fail$data(l4._`${Y}.length ${$} ${W}`)}};LD.default=n_});var JY=j((jD)=>{Object.defineProperty(jD,"__esModule",{value:!0});var UD=G4();UD.code='require("ajv/dist/runtime/equal").default';jD.default=UD});var ND=j((MD)=>{Object.defineProperty(MD,"__esModule",{value:!0});var JJ=S4(),f0=n(),t_=$0(),a_=JY(),s_={message:({params:{i:Q,j:X}})=>f0.str`must NOT have duplicate items (items ## ${X} and ${Q} are identical)`,params:({params:{i:Q,j:X}})=>f0._`{i: ${Q}, j: ${X}}`},e_={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:s_,code(Q){let{gen:X,data:Y,$data:W,schema:$,parentSchema:J,schemaCode:G,it:H}=Q;if(!W&&!$)return;let B=X.let("valid"),z=J.items?(0,JJ.getSchemaTypes)(J.items):[];Q.block$data(B,K,f0._`${G} === false`),Q.ok(B);function K(){let A=X.let("i",f0._`${Y}.length`),D=X.let("j");Q.setParams({i:A,j:D}),X.assign(B,!0),X.if(f0._`${A} > 1`,()=>(V()?q:F)(A,D))}function V(){return z.length>0&&!z.some((A)=>A==="object"||A==="array")}function q(A,D){let L=X.name("item"),O=(0,JJ.checkDataTypes)(z,L,H.opts.strictNumbers,JJ.DataType.Wrong),N=X.const("indices",f0._`{}`);X.for(f0._`;${A}--;`,()=>{if(X.let(L,f0._`${Y}[${A}]`),X.if(O,f0._`continue`),z.length>1)X.if(f0._`typeof ${L} == "string"`,f0._`${L} += "_"`);X.if(f0._`typeof ${N}[${L}] == "number"`,()=>{X.assign(D,f0._`${N}[${L}]`),Q.error(),X.assign(B,!1).break()}).code(f0._`${N}[${L}] = ${A}`)})}function F(A,D){let L=(0,t_.useFunc)(X,a_.default),O=X.name("outer");X.label(O).for(f0._`;${A}--;`,()=>X.for(f0._`${D} = ${A}; ${D}--;`,()=>X.if(f0._`${L}(${Y}[${A}], ${Y}[${D}])`,()=>{Q.error(),X.assign(B,!1).break(O)})))}}};MD.default=e_});var bD=j((wD)=>{Object.defineProperty(wD,"__esModule",{value:!0});var GJ=n(),Xx=$0(),Yx=JY(),Wx={message:"must be equal to constant",params:({schemaCode:Q})=>GJ._`{allowedValue: ${Q}}`},$x={keyword:"const",$data:!0,error:Wx,code(Q){let{gen:X,data:Y,$data:W,schemaCode:$,schema:J}=Q;if(W||J&&typeof J=="object")Q.fail$data(GJ._`!${(0,Xx.useFunc)(X,Yx.default)}(${Y}, ${$})`);else Q.fail(GJ._`${J} !== ${Y}`)}};wD.default=$x});var ZD=j((PD)=>{Object.defineProperty(PD,"__esModule",{value:!0});var m4=n(),Gx=$0(),Hx=JY(),Bx={message:"must be equal to one of the allowed values",params:({schemaCode:Q})=>m4._`{allowedValues: ${Q}}`},zx={keyword:"enum",schemaType:"array",$data:!0,error:Bx,code(Q){let{gen:X,data:Y,$data:W,schema:$,schemaCode:J,it:G}=Q;if(!W&&$.length===0)throw Error("enum must have non-empty array");let H=$.length>=G.opts.loopEnum,B,z=()=>B!==null&&B!==void 0?B:B=(0,Gx.useFunc)(X,Hx.default),K;if(H||W)K=X.let("valid"),Q.block$data(K,V);else{if(!Array.isArray($))throw Error("ajv implementation error");let F=X.const("vSchema",J);K=(0,m4.or)(...$.map((A,D)=>q(F,D)))}Q.pass(K);function V(){X.assign(K,!1),X.forOf("v",J,(F)=>X.if(m4._`${z()}(${Y}, ${F})`,()=>X.assign(K,!0).break()))}function q(F,A){let D=$[A];return typeof D==="object"&&D!==null?m4._`${z()}(${Y}, ${F}[${A}])`:m4._`${Y} === ${D}`}}};PD.default=zx});var ED=j((RD)=>{Object.defineProperty(RD,"__esModule",{value:!0});var Vx=YD(),Fx=$D(),Ax=zD(),qx=VD(),Dx=AD(),Lx=DD(),Ox=OD(),Ux=ND(),jx=bD(),Mx=ZD(),Nx=[Vx.default,Fx.default,Ax.default,qx.default,Dx.default,Lx.default,Ox.default,Ux.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},jx.default,Mx.default];RD.default=Nx});var BJ=j((ID)=>{Object.defineProperty(ID,"__esModule",{value:!0});ID.validateAdditionalItems=void 0;var q9=n(),HJ=$0(),bx={message:({params:{len:Q}})=>q9.str`must NOT have more than ${Q} items`,params:({params:{len:Q}})=>q9._`{limit: ${Q}}`},Px={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:bx,code(Q){let{parentSchema:X,it:Y}=Q,{items:W}=X;if(!Array.isArray(W)){(0,HJ.checkStrictMode)(Y,'"additionalItems" is ignored when "items" is not an array of schemas');return}SD(Q,W)}};function SD(Q,X){let{gen:Y,schema:W,data:$,keyword:J,it:G}=Q;G.items=!0;let H=Y.const("len",q9._`${$}.length`);if(W===!1)Q.setParams({len:X.length}),Q.pass(q9._`${H} <= ${X.length}`);else if(typeof W=="object"&&!(0,HJ.alwaysValidSchema)(G,W)){let z=Y.var("valid",q9._`${H} <= ${X.length}`);Y.if((0,q9.not)(z),()=>B(z)),Q.ok(z)}function B(z){Y.forRange("i",X.length,H,(K)=>{if(Q.subschema({keyword:J,dataProp:K,dataPropType:HJ.Type.Num},z),!G.allErrors)Y.if((0,q9.not)(z),()=>Y.break())})}}ID.validateAdditionalItems=SD;ID.default=Px});var zJ=j((vD)=>{Object.defineProperty(vD,"__esModule",{value:!0});vD.validateTuple=void 0;var CD=n(),GY=$0(),Rx=D1(),Ex={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(Q){let{schema:X,it:Y}=Q;if(Array.isArray(X))return kD(Q,"additionalItems",X);if(Y.items=!0,(0,GY.alwaysValidSchema)(Y,X))return;Q.ok((0,Rx.validateArray)(Q))}};function kD(Q,X,Y=Q.schema){let{gen:W,parentSchema:$,data:J,keyword:G,it:H}=Q;if(K($),H.opts.unevaluated&&Y.length&&H.items!==!0)H.items=GY.mergeEvaluated.items(W,Y.length,H.items);let B=W.name("valid"),z=W.const("len",CD._`${J}.length`);Y.forEach((V,q)=>{if((0,GY.alwaysValidSchema)(H,V))return;W.if(CD._`${z} > ${q}`,()=>Q.subschema({keyword:G,schemaProp:q,dataProp:q},B)),Q.ok(B)});function K(V){let{opts:q,errSchemaPath:F}=H,A=Y.length,D=A===V.minItems&&(A===V.maxItems||V[X]===!1);if(q.strictTuples&&!D){let L=`"${G}" is ${A}-tuple, but minItems or maxItems/${X} are not specified or different at path "${F}"`;(0,GY.checkStrictMode)(H,L,q.strictTuples)}}}vD.validateTuple=kD;vD.default=Ex});var yD=j((xD)=>{Object.defineProperty(xD,"__esModule",{value:!0});var Ix=zJ(),Tx={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:(Q)=>(0,Ix.validateTuple)(Q,"items")};xD.default=Tx});var hD=j((gD)=>{Object.defineProperty(gD,"__esModule",{value:!0});var fD=n(),kx=$0(),vx=D1(),_x=BJ(),xx={message:({params:{len:Q}})=>fD.str`must NOT have more than ${Q} items`,params:({params:{len:Q}})=>fD._`{limit: ${Q}}`},yx={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:xx,code(Q){let{schema:X,parentSchema:Y,it:W}=Q,{prefixItems:$}=Y;if(W.items=!0,(0,kx.alwaysValidSchema)(W,X))return;if($)(0,_x.validateAdditionalItems)(Q,$);else Q.ok((0,vx.validateArray)(Q))}};gD.default=yx});var lD=j((uD)=>{Object.defineProperty(uD,"__esModule",{value:!0});var L1=n(),HY=$0(),gx={message:({params:{min:Q,max:X}})=>X===void 0?L1.str`must contain at least ${Q} valid item(s)`:L1.str`must contain at least ${Q} and no more than ${X} valid item(s)`,params:({params:{min:Q,max:X}})=>X===void 0?L1._`{minContains: ${Q}}`:L1._`{minContains: ${Q}, maxContains: ${X}}`},hx={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:gx,code(Q){let{gen:X,schema:Y,parentSchema:W,data:$,it:J}=Q,G,H,{minContains:B,maxContains:z}=W;if(J.opts.next)G=B===void 0?1:B,H=z;else G=1;let K=X.const("len",L1._`${$}.length`);if(Q.setParams({min:G,max:H}),H===void 0&&G===0){(0,HY.checkStrictMode)(J,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(H!==void 0&&G>H){(0,HY.checkStrictMode)(J,'"minContains" > "maxContains" is always invalid'),Q.fail();return}if((0,HY.alwaysValidSchema)(J,Y)){let D=L1._`${K} >= ${G}`;if(H!==void 0)D=L1._`${D} && ${K} <= ${H}`;Q.pass(D);return}J.items=!0;let V=X.name("valid");if(H===void 0&&G===1)F(V,()=>X.if(V,()=>X.break()));else if(G===0){if(X.let(V,!0),H!==void 0)X.if(L1._`${$}.length > 0`,q)}else X.let(V,!1),q();Q.result(V,()=>Q.reset());function q(){let D=X.name("_valid"),L=X.let("count",0);F(D,()=>X.if(D,()=>A(L)))}function F(D,L){X.forRange("i",0,K,(O)=>{Q.subschema({keyword:"contains",dataProp:O,dataPropType:HY.Type.Num,compositeRule:!0},D),L()})}function A(D){if(X.code(L1._`${D}++`),H===void 0)X.if(L1._`${D} >= ${G}`,()=>X.assign(V,!0).break());else if(X.if(L1._`${D} > ${H}`,()=>X.assign(V,!1).break()),G===1)X.assign(V,!0);else X.if(L1._`${D} >= ${G}`,()=>X.assign(V,!0))}}};uD.default=hx});var nD=j((pD)=>{Object.defineProperty(pD,"__esModule",{value:!0});pD.validateSchemaDeps=pD.validatePropertyDeps=pD.error=void 0;var KJ=n(),lx=$0(),c4=D1();pD.error={message:({params:{property:Q,depsCount:X,deps:Y}})=>{let W=X===1?"property":"properties";return KJ.str`must have ${W} ${Y} when property ${Q} is present`},params:({params:{property:Q,depsCount:X,deps:Y,missingProperty:W}})=>KJ._`{property: ${Q},
14
14
  missingProperty: ${W},
15
15
  depsCount: ${X},
16
- deps: ${Y}}`};var __={keyword:"dependencies",type:"object",schemaType:"object",error:PD.error,code(Q){let[X,Y]=x_(Q);ND(Q,X),bD(Q,Y)}};function x_({schema:Q}){let X={},Y={};for(let W in Q){if(W==="__proto__")continue;let $=Array.isArray(Q[W])?X:Y;$[W]=Q[W]}return[X,Y]}function ND(Q,X=Q.schema){let{gen:Y,data:W,it:$}=Q;if(Object.keys(X).length===0)return;let J=Y.let("missing");for(let G in X){let H=X[G];if(H.length===0)continue;let B=(0,g8.propertyInData)(Y,W,G,$.opts.ownProperties);if(Q.setParams({property:G,depsCount:H.length,deps:H.join(", ")}),$.allErrors)Y.if(B,()=>{for(let z of H)(0,g8.checkReportMissingProp)(Q,z)});else Y.if($J._`${B} && (${(0,g8.checkMissingProp)(Q,H,J)})`),(0,g8.reportMissingProp)(Q,J),Y.else()}}PD.validatePropertyDeps=ND;function bD(Q,X=Q.schema){let{gen:Y,data:W,keyword:$,it:J}=Q,G=Y.name("valid");for(let H in X){if((0,v_.alwaysValidSchema)(J,X[H]))continue;Y.if((0,g8.propertyInData)(Y,W,H,J.opts.ownProperties),()=>{let B=Q.subschema({keyword:$,schemaProp:H},G);Q.mergeValidEvaluated(B,G)},()=>Y.var(G,!0)),Q.ok(G)}}PD.validateSchemaDeps=bD;PD.default=__});var TD=w((ID)=>{Object.defineProperty(ID,"__esModule",{value:!0});var SD=i(),f_=$0(),h_={message:"property name must be valid",params:({params:Q})=>SD._`{propertyName: ${Q.propertyName}}`},u_={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:h_,code(Q){let{gen:X,schema:Y,data:W,it:$}=Q;if((0,f_.alwaysValidSchema)($,Y))return;let J=X.name("valid");X.forIn("key",W,(G)=>{Q.setParams({propertyName:G}),Q.subschema({keyword:"propertyNames",data:G,dataTypes:["string"],propertyName:G,compositeRule:!0},J),X.if((0,SD.not)(J),()=>{if(Q.error(!0),!$.allErrors)X.break()})}),Q.ok(J)}};ID.default=u_});var JJ=w((CD)=>{Object.defineProperty(CD,"__esModule",{value:!0});var YY=A1(),_1=i(),m_=G6(),WY=$0(),c_={message:"must NOT have additional properties",params:({params:Q})=>_1._`{additionalProperty: ${Q.additionalProperty}}`},p_={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:c_,code(Q){let{gen:X,schema:Y,parentSchema:W,data:$,errsCount:J,it:G}=Q;if(!J)throw Error("ajv implementation error");let{allErrors:H,opts:B}=G;if(G.props=!0,B.removeAdditional!=="all"&&(0,WY.alwaysValidSchema)(G,Y))return;let z=(0,YY.allSchemaProperties)(W.properties),K=(0,YY.allSchemaProperties)(W.patternProperties);V(),Q.ok(_1._`${J} === ${m_.default.errors}`);function V(){X.forIn("key",$,(L)=>{if(!z.length&&!K.length)q(L);else X.if(D(L),()=>q(L))})}function D(L){let O;if(z.length>8){let M=(0,WY.schemaRefOrVal)(G,W.properties,"properties");O=(0,YY.isOwnProperty)(X,M,L)}else if(z.length)O=(0,_1.or)(...z.map((M)=>_1._`${L} === ${M}`));else O=_1.nil;if(K.length)O=(0,_1.or)(O,...K.map((M)=>_1._`${(0,YY.usePattern)(Q,M)}.test(${L})`));return(0,_1.not)(O)}function F(L){X.code(_1._`delete ${$}[${L}]`)}function q(L){if(B.removeAdditional==="all"||B.removeAdditional&&Y===!1){F(L);return}if(Y===!1){if(Q.setParams({additionalProperty:L}),Q.error(),!H)X.break();return}if(typeof Y=="object"&&!(0,WY.alwaysValidSchema)(G,Y)){let O=X.name("valid");if(B.removeAdditional==="failing")A(L,O,!1),X.if((0,_1.not)(O),()=>{Q.reset(),F(L)});else if(A(L,O),!H)X.if((0,_1.not)(O),()=>X.break())}}function A(L,O,M){let N={keyword:"additionalProperties",dataProp:L,dataPropType:WY.Type.Str};if(M===!1)Object.assign(N,{compositeRule:!0,createErrors:!1,allErrors:!1});Q.subschema(N,O)}}};CD.default=p_});var xD=w((_D)=>{Object.defineProperty(_D,"__esModule",{value:!0});var i_=R8(),kD=A1(),GJ=$0(),vD=JJ(),n_={keyword:"properties",type:"object",schemaType:"object",code(Q){let{gen:X,schema:Y,parentSchema:W,data:$,it:J}=Q;if(J.opts.removeAdditional==="all"&&W.additionalProperties===void 0)vD.default.code(new i_.KeywordCxt(J,vD.default,"additionalProperties"));let G=(0,kD.allSchemaProperties)(Y);for(let V of G)J.definedProperties.add(V);if(J.opts.unevaluated&&G.length&&J.props!==!0)J.props=GJ.mergeEvaluated.props(X,(0,GJ.toHash)(G),J.props);let H=G.filter((V)=>!(0,GJ.alwaysValidSchema)(J,Y[V]));if(H.length===0)return;let B=X.name("valid");for(let V of H){if(z(V))K(V);else{if(X.if((0,kD.propertyInData)(X,$,V,J.opts.ownProperties)),K(V),!J.allErrors)X.else().var(B,!0);X.endIf()}Q.it.definedProperties.add(V),Q.ok(B)}function z(V){return J.opts.useDefaults&&!J.compositeRule&&Y[V].default!==void 0}function K(V){Q.subschema({keyword:"properties",schemaProp:V,dataProp:V},B)}}};_D.default=n_});var uD=w((hD)=>{Object.defineProperty(hD,"__esModule",{value:!0});var yD=A1(),$Y=i(),gD=$0(),fD=$0(),r_={keyword:"patternProperties",type:"object",schemaType:"object",code(Q){let{gen:X,schema:Y,data:W,parentSchema:$,it:J}=Q,{opts:G}=J,H=(0,yD.allSchemaProperties)(Y),B=H.filter((A)=>(0,gD.alwaysValidSchema)(J,Y[A]));if(H.length===0||B.length===H.length&&(!J.opts.unevaluated||J.props===!0))return;let z=G.strictSchema&&!G.allowMatchingProperties&&$.properties,K=X.name("valid");if(J.props!==!0&&!(J.props instanceof $Y.Name))J.props=(0,fD.evaluatedPropsToName)(X,J.props);let{props:V}=J;D();function D(){for(let A of H){if(z)F(A);if(J.allErrors)q(A);else X.var(K,!0),q(A),X.if(K)}}function F(A){for(let L in z)if(new RegExp(A).test(L))(0,gD.checkStrictMode)(J,`property ${L} matches pattern ${A} (use allowMatchingProperties)`)}function q(A){X.forIn("key",W,(L)=>{X.if($Y._`${(0,yD.usePattern)(Q,A)}.test(${L})`,()=>{let O=B.includes(A);if(!O)Q.subschema({keyword:"patternProperties",schemaProp:A,dataProp:L,dataPropType:fD.Type.Str},K);if(J.opts.unevaluated&&V!==!0)X.assign($Y._`${V}[${L}]`,!0);else if(!O&&!J.allErrors)X.if((0,$Y.not)(K),()=>X.break())})})}}};hD.default=r_});var mD=w((lD)=>{Object.defineProperty(lD,"__esModule",{value:!0});var a_=$0(),s_={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(Q){let{gen:X,schema:Y,it:W}=Q;if((0,a_.alwaysValidSchema)(W,Y)){Q.fail();return}let $=X.name("valid");Q.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},$),Q.failResult($,()=>Q.reset(),()=>Q.error())},error:{message:"must NOT be valid"}};lD.default=s_});var pD=w((cD)=>{Object.defineProperty(cD,"__esModule",{value:!0});var Qx=A1(),Xx={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:Qx.validateUnion,error:{message:"must match a schema in anyOf"}};cD.default=Xx});var iD=w((dD)=>{Object.defineProperty(dD,"__esModule",{value:!0});var JY=i(),Wx=$0(),$x={message:"must match exactly one schema in oneOf",params:({params:Q})=>JY._`{passingSchemas: ${Q.passing}}`},Jx={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:$x,code(Q){let{gen:X,schema:Y,parentSchema:W,it:$}=Q;if(!Array.isArray(Y))throw Error("ajv implementation error");if($.opts.discriminator&&W.discriminator)return;let J=Y,G=X.let("valid",!1),H=X.let("passing",null),B=X.name("_valid");Q.setParams({passing:H}),X.block(z),Q.result(G,()=>Q.reset(),()=>Q.error(!0));function z(){J.forEach((K,V)=>{let D;if((0,Wx.alwaysValidSchema)($,K))X.var(B,!0);else D=Q.subschema({keyword:"oneOf",schemaProp:V,compositeRule:!0},B);if(V>0)X.if(JY._`${B} && ${G}`).assign(G,!1).assign(H,JY._`[${H}, ${V}]`).else();X.if(B,()=>{if(X.assign(G,!0),X.assign(H,V),D)Q.mergeEvaluated(D,JY.Name)})})}}};dD.default=Jx});var oD=w((nD)=>{Object.defineProperty(nD,"__esModule",{value:!0});var Hx=$0(),Bx={keyword:"allOf",schemaType:"array",code(Q){let{gen:X,schema:Y,it:W}=Q;if(!Array.isArray(Y))throw Error("ajv implementation error");let $=X.name("valid");Y.forEach((J,G)=>{if((0,Hx.alwaysValidSchema)(W,J))return;let H=Q.subschema({keyword:"allOf",schemaProp:G},$);Q.ok($),Q.mergeEvaluated(H)})}};nD.default=Bx});var sD=w((aD)=>{Object.defineProperty(aD,"__esModule",{value:!0});var GY=i(),tD=$0(),Kx={message:({params:Q})=>GY.str`must match "${Q.ifClause}" schema`,params:({params:Q})=>GY._`{failingKeyword: ${Q.ifClause}}`},Fx={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:Kx,code(Q){let{gen:X,parentSchema:Y,it:W}=Q;if(Y.then===void 0&&Y.else===void 0)(0,tD.checkStrictMode)(W,'"if" without "then" and "else" is ignored');let $=rD(W,"then"),J=rD(W,"else");if(!$&&!J)return;let G=X.let("valid",!0),H=X.name("_valid");if(B(),Q.reset(),$&&J){let K=X.let("ifClause");Q.setParams({ifClause:K}),X.if(H,z("then",K),z("else",K))}else if($)X.if(H,z("then"));else X.if((0,GY.not)(H),z("else"));Q.pass(G,()=>Q.error(!0));function B(){let K=Q.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},H);Q.mergeEvaluated(K)}function z(K,V){return()=>{let D=Q.subschema({keyword:K},H);if(X.assign(G,H),Q.mergeValidEvaluated(D,G),V)X.assign(V,GY._`${K}`);else Q.setParams({ifClause:K})}}}};function rD(Q,X){let Y=Q.schema[X];return Y!==void 0&&!(0,tD.alwaysValidSchema)(Q,Y)}aD.default=Fx});var QL=w((eD)=>{Object.defineProperty(eD,"__esModule",{value:!0});var qx=$0(),Ax={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:Q,parentSchema:X,it:Y}){if(X.if===void 0)(0,qx.checkStrictMode)(Y,`"${Q}" without "if" is ignored`)}};eD.default=Ax});var YL=w((XL)=>{Object.defineProperty(XL,"__esModule",{value:!0});var Lx=YJ(),Ox=LD(),Ux=WJ(),jx=jD(),wx=MD(),Mx=ED(),Nx=TD(),bx=JJ(),Px=xD(),Zx=uD(),Rx=mD(),Ex=pD(),Sx=iD(),Ix=oD(),Tx=sD(),Cx=QL();function kx(Q=!1){let X=[Rx.default,Ex.default,Sx.default,Ix.default,Tx.default,Cx.default,Nx.default,bx.default,Mx.default,Px.default,Zx.default];if(Q)X.push(Ox.default,jx.default);else X.push(Lx.default,Ux.default);return X.push(wx.default),X}XL.default=kx});var $L=w((WL)=>{Object.defineProperty(WL,"__esModule",{value:!0});var R0=i(),_x={message:({schemaCode:Q})=>R0.str`must match format "${Q}"`,params:({schemaCode:Q})=>R0._`{format: ${Q}}`},xx={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:_x,code(Q,X){let{gen:Y,data:W,$data:$,schema:J,schemaCode:G,it:H}=Q,{opts:B,errSchemaPath:z,schemaEnv:K,self:V}=H;if(!B.validateFormats)return;if($)D();else F();function D(){let q=Y.scopeValue("formats",{ref:V.formats,code:B.code.formats}),A=Y.const("fDef",R0._`${q}[${G}]`),L=Y.let("fType"),O=Y.let("format");Y.if(R0._`typeof ${A} == "object" && !(${A} instanceof RegExp)`,()=>Y.assign(L,R0._`${A}.type || "string"`).assign(O,R0._`${A}.validate`),()=>Y.assign(L,R0._`"string"`).assign(O,A)),Q.fail$data((0,R0.or)(M(),N()));function M(){if(B.strictSchema===!1)return R0.nil;return R0._`${G} && !${O}`}function N(){let C=K.$async?R0._`(${A}.async ? await ${O}(${W}) : ${O}(${W}))`:R0._`${O}(${W})`,Z=R0._`(typeof ${O} == "function" ? ${C} : ${O}.test(${W}))`;return R0._`${O} && ${O} !== true && ${L} === ${X} && !${Z}`}}function F(){let q=V.formats[J];if(!q){M();return}if(q===!0)return;let[A,L,O]=N(q);if(A===X)Q.pass(C());function M(){if(B.strictSchema===!1){V.logger.warn(Z());return}throw Error(Z());function Z(){return`unknown format "${J}" ignored in schema at path "${z}"`}}function N(Z){let K0=Z instanceof RegExp?(0,R0.regexpCode)(Z):B.code.formats?R0._`${B.code.formats}${(0,R0.getProperty)(J)}`:void 0,P0=Y.scopeValue("formats",{key:J,ref:Z,code:K0});if(typeof Z=="object"&&!(Z instanceof RegExp))return[Z.type||"string",Z.validate,R0._`${P0}.validate`];return["string",Z,P0]}function C(){if(typeof q=="object"&&!(q instanceof RegExp)&&q.async){if(!K.$async)throw Error("async format in sync schema");return R0._`await ${O}(${W})`}return typeof L=="function"?R0._`${O}(${W})`:R0._`${O}.test(${W})`}}}};WL.default=xx});var GL=w((JL)=>{Object.defineProperty(JL,"__esModule",{value:!0});var gx=$L(),fx=[gx.default];JL.default=fx});var zL=w((HL)=>{Object.defineProperty(HL,"__esModule",{value:!0});HL.contentVocabulary=HL.metadataVocabulary=void 0;HL.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];HL.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var VL=w((FL)=>{Object.defineProperty(FL,"__esModule",{value:!0});var lx=_A(),mx=HD(),cx=YL(),px=GL(),KL=zL(),dx=[lx.default,mx.default,(0,cx.default)(),px.default,KL.metadataVocabulary,KL.contentVocabulary];FL.default=dx});var LL=w((AL)=>{Object.defineProperty(AL,"__esModule",{value:!0});AL.DiscrError=void 0;var qL;(function(Q){Q.Tag="tag",Q.Mapping="mapping"})(qL||(AL.DiscrError=qL={}))});var jL=w((UL)=>{Object.defineProperty(UL,"__esModule",{value:!0});var X4=i(),HJ=LL(),OL=dX(),nx=E8(),ox=$0(),rx={message:({params:{discrError:Q,tagName:X}})=>Q===HJ.DiscrError.Tag?`tag "${X}" must be string`:`value of tag "${X}" must be in oneOf`,params:({params:{discrError:Q,tag:X,tagName:Y}})=>X4._`{error: ${Q}, tag: ${Y}, tagValue: ${X}}`},tx={keyword:"discriminator",type:"object",schemaType:"object",error:rx,code(Q){let{gen:X,data:Y,schema:W,parentSchema:$,it:J}=Q,{oneOf:G}=$;if(!J.opts.discriminator)throw Error("discriminator: requires discriminator option");let H=W.propertyName;if(typeof H!="string")throw Error("discriminator: requires propertyName");if(W.mapping)throw Error("discriminator: mapping is not supported");if(!G)throw Error("discriminator: requires oneOf keyword");let B=X.let("valid",!1),z=X.const("tag",X4._`${Y}${(0,X4.getProperty)(H)}`);X.if(X4._`typeof ${z} == "string"`,()=>K(),()=>Q.error(!1,{discrError:HJ.DiscrError.Tag,tag:z,tagName:H})),Q.ok(B);function K(){let F=D();X.if(!1);for(let q in F)X.elseIf(X4._`${z} === ${q}`),X.assign(B,V(F[q]));X.else(),Q.error(!1,{discrError:HJ.DiscrError.Mapping,tag:z,tagName:H}),X.endIf()}function V(F){let q=X.name("valid"),A=Q.subschema({keyword:"oneOf",schemaProp:F},q);return Q.mergeEvaluated(A,X4.Name),q}function D(){var F;let q={},A=O($),L=!0;for(let C=0;C<G.length;C++){let Z=G[C];if((Z===null||Z===void 0?void 0:Z.$ref)&&!(0,ox.schemaHasRulesButRef)(Z,J.self.RULES)){let P0=Z.$ref;if(Z=OL.resolveRef.call(J.self,J.schemaEnv.root,J.baseId,P0),Z instanceof OL.SchemaEnv)Z=Z.schema;if(Z===void 0)throw new nx.default(J.opts.uriResolver,J.baseId,P0)}let K0=(F=Z===null||Z===void 0?void 0:Z.properties)===null||F===void 0?void 0:F[H];if(typeof K0!="object")throw Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${H}"`);L=L&&(A||O(Z)),M(K0,C)}if(!L)throw Error(`discriminator: "${H}" must be required`);return q;function O({required:C}){return Array.isArray(C)&&C.includes(H)}function M(C,Z){if(C.const)N(C.const,Z);else if(C.enum)for(let K0 of C.enum)N(K0,Z);else throw Error(`discriminator: "properties/${H}" must have "const" or "enum"`)}function N(C,Z){if(typeof C!="string"||C in q)throw Error(`discriminator: "${H}" values must be unique strings`);q[C]=Z}}}};UL.default=tx});var wL=w((vd,sx)=>{sx.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var NL=w((H1,BJ)=>{Object.defineProperty(H1,"__esModule",{value:!0});H1.MissingRefError=H1.ValidationError=H1.CodeGen=H1.Name=H1.nil=H1.stringify=H1.str=H1._=H1.KeywordCxt=H1.Ajv=void 0;var ex=PA(),Qy=VL(),Xy=jL(),ML=wL(),Yy=["/properties"],HY="http://json-schema.org/draft-07/schema";class f8 extends ex.default{_addVocabularies(){if(super._addVocabularies(),Qy.default.forEach((Q)=>this.addVocabulary(Q)),this.opts.discriminator)this.addKeyword(Xy.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let Q=this.opts.$data?this.$dataMetaSchema(ML,Yy):ML;this.addMetaSchema(Q,HY,!1),this.refs["http://json-schema.org/schema"]=HY}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(HY)?HY:void 0)}}H1.Ajv=f8;BJ.exports=H1=f8;BJ.exports.Ajv=f8;Object.defineProperty(H1,"__esModule",{value:!0});H1.default=f8;var Wy=R8();Object.defineProperty(H1,"KeywordCxt",{enumerable:!0,get:function(){return Wy.KeywordCxt}});var Y4=i();Object.defineProperty(H1,"_",{enumerable:!0,get:function(){return Y4._}});Object.defineProperty(H1,"str",{enumerable:!0,get:function(){return Y4.str}});Object.defineProperty(H1,"stringify",{enumerable:!0,get:function(){return Y4.stringify}});Object.defineProperty(H1,"nil",{enumerable:!0,get:function(){return Y4.nil}});Object.defineProperty(H1,"Name",{enumerable:!0,get:function(){return Y4.Name}});Object.defineProperty(H1,"CodeGen",{enumerable:!0,get:function(){return Y4.CodeGen}});var $y=cX();Object.defineProperty(H1,"ValidationError",{enumerable:!0,get:function(){return $y.default}});var Jy=E8();Object.defineProperty(H1,"MissingRefError",{enumerable:!0,get:function(){return Jy.default}})});var PL=w((bL)=>{Object.defineProperty(bL,"__esModule",{value:!0});bL.formatLimitDefinition=void 0;var By=NL(),x1=i(),v6=x1.operators,BY={formatMaximum:{okStr:"<=",ok:v6.LTE,fail:v6.GT},formatMinimum:{okStr:">=",ok:v6.GTE,fail:v6.LT},formatExclusiveMaximum:{okStr:"<",ok:v6.LT,fail:v6.GTE},formatExclusiveMinimum:{okStr:">",ok:v6.GT,fail:v6.LTE}},zy={message:({keyword:Q,schemaCode:X})=>x1.str`should be ${BY[Q].okStr} ${X}`,params:({keyword:Q,schemaCode:X})=>x1._`{comparison: ${BY[Q].okStr}, limit: ${X}}`};bL.formatLimitDefinition={keyword:Object.keys(BY),type:"string",schemaType:"string",$data:!0,error:zy,code(Q){let{gen:X,data:Y,schemaCode:W,keyword:$,it:J}=Q,{opts:G,self:H}=J;if(!G.validateFormats)return;let B=new By.KeywordCxt(J,H.RULES.all.format.definition,"format");if(B.$data)z();else K();function z(){let D=X.scopeValue("formats",{ref:H.formats,code:G.code.formats}),F=X.const("fmt",x1._`${D}[${B.schemaCode}]`);Q.fail$data((0,x1.or)(x1._`typeof ${F} != "object"`,x1._`${F} instanceof RegExp`,x1._`typeof ${F}.compare != "function"`,V(F)))}function K(){let D=B.schema,F=H.formats[D];if(!F||F===!0)return;if(typeof F!="object"||F instanceof RegExp||typeof F.compare!="function")throw Error(`"${$}": format "${D}" does not define "compare" function`);let q=X.scopeValue("formats",{key:D,ref:F,code:G.code.formats?x1._`${G.code.formats}${(0,x1.getProperty)(D)}`:void 0});Q.fail$data(V(q))}function V(D){return x1._`${D}.compare(${Y}, ${W}) ${BY[$].fail} 0`}},dependencies:["format"]};var Ky=(Q)=>{return Q.addKeyword(bL.formatLimitDefinition),Q};bL.default=Ky});var SL=w((h8,EL)=>{Object.defineProperty(h8,"__esModule",{value:!0});var W4=wV(),Vy=PL(),KJ=i(),ZL=new KJ.Name("fullFormats"),qy=new KJ.Name("fastFormats"),FJ=(Q,X={keywords:!0})=>{if(Array.isArray(X))return RL(Q,X,W4.fullFormats,ZL),Q;let[Y,W]=X.mode==="fast"?[W4.fastFormats,qy]:[W4.fullFormats,ZL],$=X.formats||W4.formatNames;if(RL(Q,$,Y,W),X.keywords)(0,Vy.default)(Q);return Q};FJ.get=(Q,X="full")=>{let W=(X==="fast"?W4.fastFormats:W4.fullFormats)[Q];if(!W)throw Error(`Unknown format "${Q}"`);return W};function RL(Q,X,Y,W){var $,J;($=(J=Q.opts.code).formats)!==null&&$!==void 0||(J.formats=KJ._`require("ajv-formats/dist/formats").${W}`);for(let G of X)Q.addFormat(G,Y[G])}EL.exports=h8=FJ;Object.defineProperty(h8,"__esModule",{value:!0});h8.default=FJ});var h={};c8(h,{void:()=>tO,util:()=>t,unknown:()=>oO,union:()=>eO,undefined:()=>dO,tuple:()=>YU,transformer:()=>VU,symbol:()=>pO,string:()=>aJ,strictObject:()=>sO,setErrorMap:()=>DO,set:()=>JU,record:()=>WU,quotelessJson:()=>qO,promise:()=>FU,preprocess:()=>DU,pipeline:()=>LU,ostring:()=>OU,optional:()=>qU,onumber:()=>UU,oboolean:()=>jU,objectUtil:()=>CY,object:()=>_Y,number:()=>sJ,nullable:()=>AU,null:()=>iO,never:()=>rO,nativeEnum:()=>KU,nan:()=>lO,map:()=>$U,makeIssue:()=>V4,literal:()=>BU,lazy:()=>HU,late:()=>hO,isValid:()=>z6,isDirty:()=>i8,isAsync:()=>V9,isAborted:()=>d8,intersection:()=>XU,instanceof:()=>uO,getParsedType:()=>f1,getErrorMap:()=>F9,function:()=>GU,enum:()=>zU,effect:()=>VU,discriminatedUnion:()=>QU,defaultErrorMap:()=>n1,datetimeRegex:()=>oJ,date:()=>cO,custom:()=>tJ,coerce:()=>wU,boolean:()=>eJ,bigint:()=>mO,array:()=>aO,any:()=>nO,addIssueToContext:()=>T,ZodVoid:()=>A4,ZodUnknown:()=>K6,ZodUnion:()=>U9,ZodUndefined:()=>L9,ZodType:()=>o,ZodTuple:()=>u1,ZodTransformer:()=>w1,ZodSymbol:()=>q4,ZodString:()=>O1,ZodSet:()=>m6,ZodSchema:()=>o,ZodRecord:()=>D4,ZodReadonly:()=>Z9,ZodPromise:()=>c6,ZodPipeline:()=>U4,ZodParsedType:()=>R,ZodOptional:()=>B1,ZodObject:()=>N0,ZodNumber:()=>F6,ZodNullable:()=>r1,ZodNull:()=>O9,ZodNever:()=>h1,ZodNativeEnum:()=>N9,ZodNaN:()=>O4,ZodMap:()=>L4,ZodLiteral:()=>M9,ZodLazy:()=>w9,ZodIssueCode:()=>b,ZodIntersection:()=>j9,ZodFunction:()=>A9,ZodFirstPartyTypeKind:()=>P,ZodError:()=>r0,ZodEnum:()=>q6,ZodEffects:()=>w1,ZodDiscriminatedUnion:()=>n8,ZodDefault:()=>b9,ZodDate:()=>u6,ZodCatch:()=>P9,ZodBranded:()=>o8,ZodBoolean:()=>D9,ZodBigInt:()=>V6,ZodArray:()=>U1,ZodAny:()=>l6,Schema:()=>o,ParseStatus:()=>C0,OK:()=>h0,NEVER:()=>MU,INVALID:()=>f,EMPTY_PATH:()=>LO,DIRTY:()=>h6,BRAND:()=>fO});var t;(function(Q){Q.assertEqual=($)=>{};function X($){}Q.assertIs=X;function Y($){throw Error()}Q.assertNever=Y,Q.arrayToEnum=($)=>{let J={};for(let G of $)J[G]=G;return J},Q.getValidEnumValues=($)=>{let J=Q.objectKeys($).filter((H)=>typeof $[$[H]]!=="number"),G={};for(let H of J)G[H]=$[H];return Q.objectValues(G)},Q.objectValues=($)=>{return Q.objectKeys($).map(function(J){return $[J]})},Q.objectKeys=typeof Object.keys==="function"?($)=>Object.keys($):($)=>{let J=[];for(let G in $)if(Object.prototype.hasOwnProperty.call($,G))J.push(G);return J},Q.find=($,J)=>{for(let G of $)if(J(G))return G;return},Q.isInteger=typeof Number.isInteger==="function"?($)=>Number.isInteger($):($)=>typeof $==="number"&&Number.isFinite($)&&Math.floor($)===$;function W($,J=" | "){return $.map((G)=>typeof G==="string"?`'${G}'`:G).join(J)}Q.joinValues=W,Q.jsonStringifyReplacer=($,J)=>{if(typeof J==="bigint")return J.toString();return J}})(t||(t={}));var CY;(function(Q){Q.mergeShapes=(X,Y)=>{return{...X,...Y}}})(CY||(CY={}));var R=t.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),f1=(Q)=>{switch(typeof Q){case"undefined":return R.undefined;case"string":return R.string;case"number":return Number.isNaN(Q)?R.nan:R.number;case"boolean":return R.boolean;case"function":return R.function;case"bigint":return R.bigint;case"symbol":return R.symbol;case"object":if(Array.isArray(Q))return R.array;if(Q===null)return R.null;if(Q.then&&typeof Q.then==="function"&&Q.catch&&typeof Q.catch==="function")return R.promise;if(typeof Map<"u"&&Q instanceof Map)return R.map;if(typeof Set<"u"&&Q instanceof Set)return R.set;if(typeof Date<"u"&&Q instanceof Date)return R.date;return R.object;default:return R.unknown}};var b=t.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),qO=(Q)=>{return JSON.stringify(Q,null,2).replace(/"([^"]+)":/g,"$1:")};class r0 extends Error{get errors(){return this.issues}constructor(Q){super();this.issues=[],this.addIssue=(Y)=>{this.issues=[...this.issues,Y]},this.addIssues=(Y=[])=>{this.issues=[...this.issues,...Y]};let X=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,X);else this.__proto__=X;this.name="ZodError",this.issues=Q}format(Q){let X=Q||function($){return $.message},Y={_errors:[]},W=($)=>{for(let J of $.issues)if(J.code==="invalid_union")J.unionErrors.map(W);else if(J.code==="invalid_return_type")W(J.returnTypeError);else if(J.code==="invalid_arguments")W(J.argumentsError);else if(J.path.length===0)Y._errors.push(X(J));else{let G=Y,H=0;while(H<J.path.length){let B=J.path[H];if(H!==J.path.length-1)G[B]=G[B]||{_errors:[]};else G[B]=G[B]||{_errors:[]},G[B]._errors.push(X(J));G=G[B],H++}}};return W(this),Y}static assert(Q){if(!(Q instanceof r0))throw Error(`Not a ZodError: ${Q}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,t.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(Q=(X)=>X.message){let X={},Y=[];for(let W of this.issues)if(W.path.length>0){let $=W.path[0];X[$]=X[$]||[],X[$].push(Q(W))}else Y.push(Q(W));return{formErrors:Y,fieldErrors:X}}get formErrors(){return this.flatten()}}r0.create=(Q)=>{return new r0(Q)};var AO=(Q,X)=>{let Y;switch(Q.code){case b.invalid_type:if(Q.received===R.undefined)Y="Required";else Y=`Expected ${Q.expected}, received ${Q.received}`;break;case b.invalid_literal:Y=`Invalid literal value, expected ${JSON.stringify(Q.expected,t.jsonStringifyReplacer)}`;break;case b.unrecognized_keys:Y=`Unrecognized key(s) in object: ${t.joinValues(Q.keys,", ")}`;break;case b.invalid_union:Y="Invalid input";break;case b.invalid_union_discriminator:Y=`Invalid discriminator value. Expected ${t.joinValues(Q.options)}`;break;case b.invalid_enum_value:Y=`Invalid enum value. Expected ${t.joinValues(Q.options)}, received '${Q.received}'`;break;case b.invalid_arguments:Y="Invalid function arguments";break;case b.invalid_return_type:Y="Invalid function return type";break;case b.invalid_date:Y="Invalid date";break;case b.invalid_string:if(typeof Q.validation==="object")if("includes"in Q.validation){if(Y=`Invalid input: must include "${Q.validation.includes}"`,typeof Q.validation.position==="number")Y=`${Y} at one or more positions greater than or equal to ${Q.validation.position}`}else if("startsWith"in Q.validation)Y=`Invalid input: must start with "${Q.validation.startsWith}"`;else if("endsWith"in Q.validation)Y=`Invalid input: must end with "${Q.validation.endsWith}"`;else t.assertNever(Q.validation);else if(Q.validation!=="regex")Y=`Invalid ${Q.validation}`;else Y="Invalid";break;case b.too_small:if(Q.type==="array")Y=`Array must contain ${Q.exact?"exactly":Q.inclusive?"at least":"more than"} ${Q.minimum} element(s)`;else if(Q.type==="string")Y=`String must contain ${Q.exact?"exactly":Q.inclusive?"at least":"over"} ${Q.minimum} character(s)`;else if(Q.type==="number")Y=`Number must be ${Q.exact?"exactly equal to ":Q.inclusive?"greater than or equal to ":"greater than "}${Q.minimum}`;else if(Q.type==="bigint")Y=`Number must be ${Q.exact?"exactly equal to ":Q.inclusive?"greater than or equal to ":"greater than "}${Q.minimum}`;else if(Q.type==="date")Y=`Date must be ${Q.exact?"exactly equal to ":Q.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(Q.minimum))}`;else Y="Invalid input";break;case b.too_big:if(Q.type==="array")Y=`Array must contain ${Q.exact?"exactly":Q.inclusive?"at most":"less than"} ${Q.maximum} element(s)`;else if(Q.type==="string")Y=`String must contain ${Q.exact?"exactly":Q.inclusive?"at most":"under"} ${Q.maximum} character(s)`;else if(Q.type==="number")Y=`Number must be ${Q.exact?"exactly":Q.inclusive?"less than or equal to":"less than"} ${Q.maximum}`;else if(Q.type==="bigint")Y=`BigInt must be ${Q.exact?"exactly":Q.inclusive?"less than or equal to":"less than"} ${Q.maximum}`;else if(Q.type==="date")Y=`Date must be ${Q.exact?"exactly":Q.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(Q.maximum))}`;else Y="Invalid input";break;case b.custom:Y="Invalid input";break;case b.invalid_intersection_types:Y="Intersection results could not be merged";break;case b.not_multiple_of:Y=`Number must be a multiple of ${Q.multipleOf}`;break;case b.not_finite:Y="Number must be finite";break;default:Y=X.defaultError,t.assertNever(Q)}return{message:Y}},n1=AO;var cJ=n1;function DO(Q){cJ=Q}function F9(){return cJ}var V4=(Q)=>{let{data:X,path:Y,errorMaps:W,issueData:$}=Q,J=[...Y,...$.path||[]],G={...$,path:J};if($.message!==void 0)return{...$,path:J,message:$.message};let H="",B=W.filter((z)=>!!z).slice().reverse();for(let z of B)H=z(G,{data:X,defaultError:H}).message;return{...$,path:J,message:H}},LO=[];function T(Q,X){let Y=F9(),W=V4({issueData:X,data:Q.data,path:Q.path,errorMaps:[Q.common.contextualErrorMap,Q.schemaErrorMap,Y,Y===n1?void 0:n1].filter(($)=>!!$)});Q.common.issues.push(W)}class C0{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray(Q,X){let Y=[];for(let W of X){if(W.status==="aborted")return f;if(W.status==="dirty")Q.dirty();Y.push(W.value)}return{status:Q.value,value:Y}}static async mergeObjectAsync(Q,X){let Y=[];for(let W of X){let $=await W.key,J=await W.value;Y.push({key:$,value:J})}return C0.mergeObjectSync(Q,Y)}static mergeObjectSync(Q,X){let Y={};for(let W of X){let{key:$,value:J}=W;if($.status==="aborted")return f;if(J.status==="aborted")return f;if($.status==="dirty")Q.dirty();if(J.status==="dirty")Q.dirty();if($.value!=="__proto__"&&(typeof J.value<"u"||W.alwaysSet))Y[$.value]=J.value}return{status:Q.value,value:Y}}}var f=Object.freeze({status:"aborted"}),h6=(Q)=>({status:"dirty",value:Q}),h0=(Q)=>({status:"valid",value:Q}),d8=(Q)=>Q.status==="aborted",i8=(Q)=>Q.status==="dirty",z6=(Q)=>Q.status==="valid",V9=(Q)=>typeof Promise<"u"&&Q instanceof Promise;var v;(function(Q){Q.errToObj=(X)=>typeof X==="string"?{message:X}:X||{},Q.toString=(X)=>typeof X==="string"?X:X?.message})(v||(v={}));class j1{constructor(Q,X,Y,W){this._cachedPath=[],this.parent=Q,this.data=X,this._path=Y,this._key=W}get path(){if(!this._cachedPath.length)if(Array.isArray(this._key))this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var pJ=(Q,X)=>{if(z6(X))return{success:!0,data:X.value};else{if(!Q.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let Y=new r0(Q.common.issues);return this._error=Y,this._error}}}};function c(Q){if(!Q)return{};let{errorMap:X,invalid_type_error:Y,required_error:W,description:$}=Q;if(X&&(Y||W))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(X)return{errorMap:X,description:$};return{errorMap:(G,H)=>{let{message:B}=Q;if(G.code==="invalid_enum_value")return{message:B??H.defaultError};if(typeof H.data>"u")return{message:B??W??H.defaultError};if(G.code!=="invalid_type")return{message:H.defaultError};return{message:B??Y??H.defaultError}},description:$}}class o{get description(){return this._def.description}_getType(Q){return f1(Q.data)}_getOrReturnCtx(Q,X){return X||{common:Q.parent.common,data:Q.data,parsedType:f1(Q.data),schemaErrorMap:this._def.errorMap,path:Q.path,parent:Q.parent}}_processInputParams(Q){return{status:new C0,ctx:{common:Q.parent.common,data:Q.data,parsedType:f1(Q.data),schemaErrorMap:this._def.errorMap,path:Q.path,parent:Q.parent}}}_parseSync(Q){let X=this._parse(Q);if(V9(X))throw Error("Synchronous parse encountered promise.");return X}_parseAsync(Q){let X=this._parse(Q);return Promise.resolve(X)}parse(Q,X){let Y=this.safeParse(Q,X);if(Y.success)return Y.data;throw Y.error}safeParse(Q,X){let Y={common:{issues:[],async:X?.async??!1,contextualErrorMap:X?.errorMap},path:X?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:Q,parsedType:f1(Q)},W=this._parseSync({data:Q,path:Y.path,parent:Y});return pJ(Y,W)}"~validate"(Q){let X={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:Q,parsedType:f1(Q)};if(!this["~standard"].async)try{let Y=this._parseSync({data:Q,path:[],parent:X});return z6(Y)?{value:Y.value}:{issues:X.common.issues}}catch(Y){if(Y?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;X.common={issues:[],async:!0}}return this._parseAsync({data:Q,path:[],parent:X}).then((Y)=>z6(Y)?{value:Y.value}:{issues:X.common.issues})}async parseAsync(Q,X){let Y=await this.safeParseAsync(Q,X);if(Y.success)return Y.data;throw Y.error}async safeParseAsync(Q,X){let Y={common:{issues:[],contextualErrorMap:X?.errorMap,async:!0},path:X?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:Q,parsedType:f1(Q)},W=this._parse({data:Q,path:Y.path,parent:Y}),$=await(V9(W)?W:Promise.resolve(W));return pJ(Y,$)}refine(Q,X){let Y=(W)=>{if(typeof X==="string"||typeof X>"u")return{message:X};else if(typeof X==="function")return X(W);else return X};return this._refinement((W,$)=>{let J=Q(W),G=()=>$.addIssue({code:b.custom,...Y(W)});if(typeof Promise<"u"&&J instanceof Promise)return J.then((H)=>{if(!H)return G(),!1;else return!0});if(!J)return G(),!1;else return!0})}refinement(Q,X){return this._refinement((Y,W)=>{if(!Q(Y))return W.addIssue(typeof X==="function"?X(Y,W):X),!1;else return!0})}_refinement(Q){return new w1({schema:this,typeName:P.ZodEffects,effect:{type:"refinement",refinement:Q}})}superRefine(Q){return this._refinement(Q)}constructor(Q){this.spa=this.safeParseAsync,this._def=Q,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:(X)=>this["~validate"](X)}}optional(){return B1.create(this,this._def)}nullable(){return r1.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return U1.create(this)}promise(){return c6.create(this,this._def)}or(Q){return U9.create([this,Q],this._def)}and(Q){return j9.create(this,Q,this._def)}transform(Q){return new w1({...c(this._def),schema:this,typeName:P.ZodEffects,effect:{type:"transform",transform:Q}})}default(Q){let X=typeof Q==="function"?Q:()=>Q;return new b9({...c(this._def),innerType:this,defaultValue:X,typeName:P.ZodDefault})}brand(){return new o8({typeName:P.ZodBranded,type:this,...c(this._def)})}catch(Q){let X=typeof Q==="function"?Q:()=>Q;return new P9({...c(this._def),innerType:this,catchValue:X,typeName:P.ZodCatch})}describe(Q){return new this.constructor({...this._def,description:Q})}pipe(Q){return U4.create(this,Q)}readonly(){return Z9.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var OO=/^c[^\s-]{8,}$/i,UO=/^[0-9a-z]+$/,jO=/^[0-9A-HJKMNP-TV-Z]{26}$/i,wO=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,MO=/^[a-z0-9_-]{21}$/i,NO=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,bO=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,PO=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,ZO="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",kY,RO=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,EO=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,SO=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,IO=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,TO=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,CO=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,iJ="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",kO=new RegExp(`^${iJ}$`);function nJ(Q){let X="[0-5]\\d";if(Q.precision)X=`${X}\\.\\d{${Q.precision}}`;else if(Q.precision==null)X=`${X}(\\.\\d+)?`;let Y=Q.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${X})${Y}`}function vO(Q){return new RegExp(`^${nJ(Q)}$`)}function oJ(Q){let X=`${iJ}T${nJ(Q)}`,Y=[];if(Y.push(Q.local?"Z?":"Z"),Q.offset)Y.push("([+-]\\d{2}:?\\d{2})");return X=`${X}(${Y.join("|")})`,new RegExp(`^${X}$`)}function _O(Q,X){if((X==="v4"||!X)&&RO.test(Q))return!0;if((X==="v6"||!X)&&SO.test(Q))return!0;return!1}function xO(Q,X){if(!NO.test(Q))return!1;try{let[Y]=Q.split(".");if(!Y)return!1;let W=Y.replace(/-/g,"+").replace(/_/g,"/").padEnd(Y.length+(4-Y.length%4)%4,"="),$=JSON.parse(atob(W));if(typeof $!=="object"||$===null)return!1;if("typ"in $&&$?.typ!=="JWT")return!1;if(!$.alg)return!1;if(X&&$.alg!==X)return!1;return!0}catch{return!1}}function yO(Q,X){if((X==="v4"||!X)&&EO.test(Q))return!0;if((X==="v6"||!X)&&IO.test(Q))return!0;return!1}class O1 extends o{_parse(Q){if(this._def.coerce)Q.data=String(Q.data);if(this._getType(Q)!==R.string){let $=this._getOrReturnCtx(Q);return T($,{code:b.invalid_type,expected:R.string,received:$.parsedType}),f}let Y=new C0,W=void 0;for(let $ of this._def.checks)if($.kind==="min"){if(Q.data.length<$.value)W=this._getOrReturnCtx(Q,W),T(W,{code:b.too_small,minimum:$.value,type:"string",inclusive:!0,exact:!1,message:$.message}),Y.dirty()}else if($.kind==="max"){if(Q.data.length>$.value)W=this._getOrReturnCtx(Q,W),T(W,{code:b.too_big,maximum:$.value,type:"string",inclusive:!0,exact:!1,message:$.message}),Y.dirty()}else if($.kind==="length"){let J=Q.data.length>$.value,G=Q.data.length<$.value;if(J||G){if(W=this._getOrReturnCtx(Q,W),J)T(W,{code:b.too_big,maximum:$.value,type:"string",inclusive:!0,exact:!0,message:$.message});else if(G)T(W,{code:b.too_small,minimum:$.value,type:"string",inclusive:!0,exact:!0,message:$.message});Y.dirty()}}else if($.kind==="email"){if(!PO.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"email",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="emoji"){if(!kY)kY=new RegExp(ZO,"u");if(!kY.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"emoji",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="uuid"){if(!wO.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"uuid",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="nanoid"){if(!MO.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"nanoid",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="cuid"){if(!OO.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"cuid",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="cuid2"){if(!UO.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"cuid2",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="ulid"){if(!jO.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"ulid",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="url")try{new URL(Q.data)}catch{W=this._getOrReturnCtx(Q,W),T(W,{validation:"url",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="regex"){if($.regex.lastIndex=0,!$.regex.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"regex",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="trim")Q.data=Q.data.trim();else if($.kind==="includes"){if(!Q.data.includes($.value,$.position))W=this._getOrReturnCtx(Q,W),T(W,{code:b.invalid_string,validation:{includes:$.value,position:$.position},message:$.message}),Y.dirty()}else if($.kind==="toLowerCase")Q.data=Q.data.toLowerCase();else if($.kind==="toUpperCase")Q.data=Q.data.toUpperCase();else if($.kind==="startsWith"){if(!Q.data.startsWith($.value))W=this._getOrReturnCtx(Q,W),T(W,{code:b.invalid_string,validation:{startsWith:$.value},message:$.message}),Y.dirty()}else if($.kind==="endsWith"){if(!Q.data.endsWith($.value))W=this._getOrReturnCtx(Q,W),T(W,{code:b.invalid_string,validation:{endsWith:$.value},message:$.message}),Y.dirty()}else if($.kind==="datetime"){if(!oJ($).test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{code:b.invalid_string,validation:"datetime",message:$.message}),Y.dirty()}else if($.kind==="date"){if(!kO.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{code:b.invalid_string,validation:"date",message:$.message}),Y.dirty()}else if($.kind==="time"){if(!vO($).test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{code:b.invalid_string,validation:"time",message:$.message}),Y.dirty()}else if($.kind==="duration"){if(!bO.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"duration",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="ip"){if(!_O(Q.data,$.version))W=this._getOrReturnCtx(Q,W),T(W,{validation:"ip",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="jwt"){if(!xO(Q.data,$.alg))W=this._getOrReturnCtx(Q,W),T(W,{validation:"jwt",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="cidr"){if(!yO(Q.data,$.version))W=this._getOrReturnCtx(Q,W),T(W,{validation:"cidr",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="base64"){if(!TO.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"base64",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="base64url"){if(!CO.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"base64url",code:b.invalid_string,message:$.message}),Y.dirty()}else t.assertNever($);return{status:Y.value,value:Q.data}}_regex(Q,X,Y){return this.refinement((W)=>Q.test(W),{validation:X,code:b.invalid_string,...v.errToObj(Y)})}_addCheck(Q){return new O1({...this._def,checks:[...this._def.checks,Q]})}email(Q){return this._addCheck({kind:"email",...v.errToObj(Q)})}url(Q){return this._addCheck({kind:"url",...v.errToObj(Q)})}emoji(Q){return this._addCheck({kind:"emoji",...v.errToObj(Q)})}uuid(Q){return this._addCheck({kind:"uuid",...v.errToObj(Q)})}nanoid(Q){return this._addCheck({kind:"nanoid",...v.errToObj(Q)})}cuid(Q){return this._addCheck({kind:"cuid",...v.errToObj(Q)})}cuid2(Q){return this._addCheck({kind:"cuid2",...v.errToObj(Q)})}ulid(Q){return this._addCheck({kind:"ulid",...v.errToObj(Q)})}base64(Q){return this._addCheck({kind:"base64",...v.errToObj(Q)})}base64url(Q){return this._addCheck({kind:"base64url",...v.errToObj(Q)})}jwt(Q){return this._addCheck({kind:"jwt",...v.errToObj(Q)})}ip(Q){return this._addCheck({kind:"ip",...v.errToObj(Q)})}cidr(Q){return this._addCheck({kind:"cidr",...v.errToObj(Q)})}datetime(Q){if(typeof Q==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:Q});return this._addCheck({kind:"datetime",precision:typeof Q?.precision>"u"?null:Q?.precision,offset:Q?.offset??!1,local:Q?.local??!1,...v.errToObj(Q?.message)})}date(Q){return this._addCheck({kind:"date",message:Q})}time(Q){if(typeof Q==="string")return this._addCheck({kind:"time",precision:null,message:Q});return this._addCheck({kind:"time",precision:typeof Q?.precision>"u"?null:Q?.precision,...v.errToObj(Q?.message)})}duration(Q){return this._addCheck({kind:"duration",...v.errToObj(Q)})}regex(Q,X){return this._addCheck({kind:"regex",regex:Q,...v.errToObj(X)})}includes(Q,X){return this._addCheck({kind:"includes",value:Q,position:X?.position,...v.errToObj(X?.message)})}startsWith(Q,X){return this._addCheck({kind:"startsWith",value:Q,...v.errToObj(X)})}endsWith(Q,X){return this._addCheck({kind:"endsWith",value:Q,...v.errToObj(X)})}min(Q,X){return this._addCheck({kind:"min",value:Q,...v.errToObj(X)})}max(Q,X){return this._addCheck({kind:"max",value:Q,...v.errToObj(X)})}length(Q,X){return this._addCheck({kind:"length",value:Q,...v.errToObj(X)})}nonempty(Q){return this.min(1,v.errToObj(Q))}trim(){return new O1({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new O1({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new O1({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find((Q)=>Q.kind==="datetime")}get isDate(){return!!this._def.checks.find((Q)=>Q.kind==="date")}get isTime(){return!!this._def.checks.find((Q)=>Q.kind==="time")}get isDuration(){return!!this._def.checks.find((Q)=>Q.kind==="duration")}get isEmail(){return!!this._def.checks.find((Q)=>Q.kind==="email")}get isURL(){return!!this._def.checks.find((Q)=>Q.kind==="url")}get isEmoji(){return!!this._def.checks.find((Q)=>Q.kind==="emoji")}get isUUID(){return!!this._def.checks.find((Q)=>Q.kind==="uuid")}get isNANOID(){return!!this._def.checks.find((Q)=>Q.kind==="nanoid")}get isCUID(){return!!this._def.checks.find((Q)=>Q.kind==="cuid")}get isCUID2(){return!!this._def.checks.find((Q)=>Q.kind==="cuid2")}get isULID(){return!!this._def.checks.find((Q)=>Q.kind==="ulid")}get isIP(){return!!this._def.checks.find((Q)=>Q.kind==="ip")}get isCIDR(){return!!this._def.checks.find((Q)=>Q.kind==="cidr")}get isBase64(){return!!this._def.checks.find((Q)=>Q.kind==="base64")}get isBase64url(){return!!this._def.checks.find((Q)=>Q.kind==="base64url")}get minLength(){let Q=null;for(let X of this._def.checks)if(X.kind==="min"){if(Q===null||X.value>Q)Q=X.value}return Q}get maxLength(){let Q=null;for(let X of this._def.checks)if(X.kind==="max"){if(Q===null||X.value<Q)Q=X.value}return Q}}O1.create=(Q)=>{return new O1({checks:[],typeName:P.ZodString,coerce:Q?.coerce??!1,...c(Q)})};function gO(Q,X){let Y=(Q.toString().split(".")[1]||"").length,W=(X.toString().split(".")[1]||"").length,$=Y>W?Y:W,J=Number.parseInt(Q.toFixed($).replace(".","")),G=Number.parseInt(X.toFixed($).replace(".",""));return J%G/10**$}class F6 extends o{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(Q){if(this._def.coerce)Q.data=Number(Q.data);if(this._getType(Q)!==R.number){let $=this._getOrReturnCtx(Q);return T($,{code:b.invalid_type,expected:R.number,received:$.parsedType}),f}let Y=void 0,W=new C0;for(let $ of this._def.checks)if($.kind==="int"){if(!t.isInteger(Q.data))Y=this._getOrReturnCtx(Q,Y),T(Y,{code:b.invalid_type,expected:"integer",received:"float",message:$.message}),W.dirty()}else if($.kind==="min"){if($.inclusive?Q.data<$.value:Q.data<=$.value)Y=this._getOrReturnCtx(Q,Y),T(Y,{code:b.too_small,minimum:$.value,type:"number",inclusive:$.inclusive,exact:!1,message:$.message}),W.dirty()}else if($.kind==="max"){if($.inclusive?Q.data>$.value:Q.data>=$.value)Y=this._getOrReturnCtx(Q,Y),T(Y,{code:b.too_big,maximum:$.value,type:"number",inclusive:$.inclusive,exact:!1,message:$.message}),W.dirty()}else if($.kind==="multipleOf"){if(gO(Q.data,$.value)!==0)Y=this._getOrReturnCtx(Q,Y),T(Y,{code:b.not_multiple_of,multipleOf:$.value,message:$.message}),W.dirty()}else if($.kind==="finite"){if(!Number.isFinite(Q.data))Y=this._getOrReturnCtx(Q,Y),T(Y,{code:b.not_finite,message:$.message}),W.dirty()}else t.assertNever($);return{status:W.value,value:Q.data}}gte(Q,X){return this.setLimit("min",Q,!0,v.toString(X))}gt(Q,X){return this.setLimit("min",Q,!1,v.toString(X))}lte(Q,X){return this.setLimit("max",Q,!0,v.toString(X))}lt(Q,X){return this.setLimit("max",Q,!1,v.toString(X))}setLimit(Q,X,Y,W){return new F6({...this._def,checks:[...this._def.checks,{kind:Q,value:X,inclusive:Y,message:v.toString(W)}]})}_addCheck(Q){return new F6({...this._def,checks:[...this._def.checks,Q]})}int(Q){return this._addCheck({kind:"int",message:v.toString(Q)})}positive(Q){return this._addCheck({kind:"min",value:0,inclusive:!1,message:v.toString(Q)})}negative(Q){return this._addCheck({kind:"max",value:0,inclusive:!1,message:v.toString(Q)})}nonpositive(Q){return this._addCheck({kind:"max",value:0,inclusive:!0,message:v.toString(Q)})}nonnegative(Q){return this._addCheck({kind:"min",value:0,inclusive:!0,message:v.toString(Q)})}multipleOf(Q,X){return this._addCheck({kind:"multipleOf",value:Q,message:v.toString(X)})}finite(Q){return this._addCheck({kind:"finite",message:v.toString(Q)})}safe(Q){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:v.toString(Q)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:v.toString(Q)})}get minValue(){let Q=null;for(let X of this._def.checks)if(X.kind==="min"){if(Q===null||X.value>Q)Q=X.value}return Q}get maxValue(){let Q=null;for(let X of this._def.checks)if(X.kind==="max"){if(Q===null||X.value<Q)Q=X.value}return Q}get isInt(){return!!this._def.checks.find((Q)=>Q.kind==="int"||Q.kind==="multipleOf"&&t.isInteger(Q.value))}get isFinite(){let Q=null,X=null;for(let Y of this._def.checks)if(Y.kind==="finite"||Y.kind==="int"||Y.kind==="multipleOf")return!0;else if(Y.kind==="min"){if(X===null||Y.value>X)X=Y.value}else if(Y.kind==="max"){if(Q===null||Y.value<Q)Q=Y.value}return Number.isFinite(X)&&Number.isFinite(Q)}}F6.create=(Q)=>{return new F6({checks:[],typeName:P.ZodNumber,coerce:Q?.coerce||!1,...c(Q)})};class V6 extends o{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse(Q){if(this._def.coerce)try{Q.data=BigInt(Q.data)}catch{return this._getInvalidInput(Q)}if(this._getType(Q)!==R.bigint)return this._getInvalidInput(Q);let Y=void 0,W=new C0;for(let $ of this._def.checks)if($.kind==="min"){if($.inclusive?Q.data<$.value:Q.data<=$.value)Y=this._getOrReturnCtx(Q,Y),T(Y,{code:b.too_small,type:"bigint",minimum:$.value,inclusive:$.inclusive,message:$.message}),W.dirty()}else if($.kind==="max"){if($.inclusive?Q.data>$.value:Q.data>=$.value)Y=this._getOrReturnCtx(Q,Y),T(Y,{code:b.too_big,type:"bigint",maximum:$.value,inclusive:$.inclusive,message:$.message}),W.dirty()}else if($.kind==="multipleOf"){if(Q.data%$.value!==BigInt(0))Y=this._getOrReturnCtx(Q,Y),T(Y,{code:b.not_multiple_of,multipleOf:$.value,message:$.message}),W.dirty()}else t.assertNever($);return{status:W.value,value:Q.data}}_getInvalidInput(Q){let X=this._getOrReturnCtx(Q);return T(X,{code:b.invalid_type,expected:R.bigint,received:X.parsedType}),f}gte(Q,X){return this.setLimit("min",Q,!0,v.toString(X))}gt(Q,X){return this.setLimit("min",Q,!1,v.toString(X))}lte(Q,X){return this.setLimit("max",Q,!0,v.toString(X))}lt(Q,X){return this.setLimit("max",Q,!1,v.toString(X))}setLimit(Q,X,Y,W){return new V6({...this._def,checks:[...this._def.checks,{kind:Q,value:X,inclusive:Y,message:v.toString(W)}]})}_addCheck(Q){return new V6({...this._def,checks:[...this._def.checks,Q]})}positive(Q){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:v.toString(Q)})}negative(Q){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:v.toString(Q)})}nonpositive(Q){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:v.toString(Q)})}nonnegative(Q){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:v.toString(Q)})}multipleOf(Q,X){return this._addCheck({kind:"multipleOf",value:Q,message:v.toString(X)})}get minValue(){let Q=null;for(let X of this._def.checks)if(X.kind==="min"){if(Q===null||X.value>Q)Q=X.value}return Q}get maxValue(){let Q=null;for(let X of this._def.checks)if(X.kind==="max"){if(Q===null||X.value<Q)Q=X.value}return Q}}V6.create=(Q)=>{return new V6({checks:[],typeName:P.ZodBigInt,coerce:Q?.coerce??!1,...c(Q)})};class D9 extends o{_parse(Q){if(this._def.coerce)Q.data=Boolean(Q.data);if(this._getType(Q)!==R.boolean){let Y=this._getOrReturnCtx(Q);return T(Y,{code:b.invalid_type,expected:R.boolean,received:Y.parsedType}),f}return h0(Q.data)}}D9.create=(Q)=>{return new D9({typeName:P.ZodBoolean,coerce:Q?.coerce||!1,...c(Q)})};class u6 extends o{_parse(Q){if(this._def.coerce)Q.data=new Date(Q.data);if(this._getType(Q)!==R.date){let $=this._getOrReturnCtx(Q);return T($,{code:b.invalid_type,expected:R.date,received:$.parsedType}),f}if(Number.isNaN(Q.data.getTime())){let $=this._getOrReturnCtx(Q);return T($,{code:b.invalid_date}),f}let Y=new C0,W=void 0;for(let $ of this._def.checks)if($.kind==="min"){if(Q.data.getTime()<$.value)W=this._getOrReturnCtx(Q,W),T(W,{code:b.too_small,message:$.message,inclusive:!0,exact:!1,minimum:$.value,type:"date"}),Y.dirty()}else if($.kind==="max"){if(Q.data.getTime()>$.value)W=this._getOrReturnCtx(Q,W),T(W,{code:b.too_big,message:$.message,inclusive:!0,exact:!1,maximum:$.value,type:"date"}),Y.dirty()}else t.assertNever($);return{status:Y.value,value:new Date(Q.data.getTime())}}_addCheck(Q){return new u6({...this._def,checks:[...this._def.checks,Q]})}min(Q,X){return this._addCheck({kind:"min",value:Q.getTime(),message:v.toString(X)})}max(Q,X){return this._addCheck({kind:"max",value:Q.getTime(),message:v.toString(X)})}get minDate(){let Q=null;for(let X of this._def.checks)if(X.kind==="min"){if(Q===null||X.value>Q)Q=X.value}return Q!=null?new Date(Q):null}get maxDate(){let Q=null;for(let X of this._def.checks)if(X.kind==="max"){if(Q===null||X.value<Q)Q=X.value}return Q!=null?new Date(Q):null}}u6.create=(Q)=>{return new u6({checks:[],coerce:Q?.coerce||!1,typeName:P.ZodDate,...c(Q)})};class q4 extends o{_parse(Q){if(this._getType(Q)!==R.symbol){let Y=this._getOrReturnCtx(Q);return T(Y,{code:b.invalid_type,expected:R.symbol,received:Y.parsedType}),f}return h0(Q.data)}}q4.create=(Q)=>{return new q4({typeName:P.ZodSymbol,...c(Q)})};class L9 extends o{_parse(Q){if(this._getType(Q)!==R.undefined){let Y=this._getOrReturnCtx(Q);return T(Y,{code:b.invalid_type,expected:R.undefined,received:Y.parsedType}),f}return h0(Q.data)}}L9.create=(Q)=>{return new L9({typeName:P.ZodUndefined,...c(Q)})};class O9 extends o{_parse(Q){if(this._getType(Q)!==R.null){let Y=this._getOrReturnCtx(Q);return T(Y,{code:b.invalid_type,expected:R.null,received:Y.parsedType}),f}return h0(Q.data)}}O9.create=(Q)=>{return new O9({typeName:P.ZodNull,...c(Q)})};class l6 extends o{constructor(){super(...arguments);this._any=!0}_parse(Q){return h0(Q.data)}}l6.create=(Q)=>{return new l6({typeName:P.ZodAny,...c(Q)})};class K6 extends o{constructor(){super(...arguments);this._unknown=!0}_parse(Q){return h0(Q.data)}}K6.create=(Q)=>{return new K6({typeName:P.ZodUnknown,...c(Q)})};class h1 extends o{_parse(Q){let X=this._getOrReturnCtx(Q);return T(X,{code:b.invalid_type,expected:R.never,received:X.parsedType}),f}}h1.create=(Q)=>{return new h1({typeName:P.ZodNever,...c(Q)})};class A4 extends o{_parse(Q){if(this._getType(Q)!==R.undefined){let Y=this._getOrReturnCtx(Q);return T(Y,{code:b.invalid_type,expected:R.void,received:Y.parsedType}),f}return h0(Q.data)}}A4.create=(Q)=>{return new A4({typeName:P.ZodVoid,...c(Q)})};class U1 extends o{_parse(Q){let{ctx:X,status:Y}=this._processInputParams(Q),W=this._def;if(X.parsedType!==R.array)return T(X,{code:b.invalid_type,expected:R.array,received:X.parsedType}),f;if(W.exactLength!==null){let J=X.data.length>W.exactLength.value,G=X.data.length<W.exactLength.value;if(J||G)T(X,{code:J?b.too_big:b.too_small,minimum:G?W.exactLength.value:void 0,maximum:J?W.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:W.exactLength.message}),Y.dirty()}if(W.minLength!==null){if(X.data.length<W.minLength.value)T(X,{code:b.too_small,minimum:W.minLength.value,type:"array",inclusive:!0,exact:!1,message:W.minLength.message}),Y.dirty()}if(W.maxLength!==null){if(X.data.length>W.maxLength.value)T(X,{code:b.too_big,maximum:W.maxLength.value,type:"array",inclusive:!0,exact:!1,message:W.maxLength.message}),Y.dirty()}if(X.common.async)return Promise.all([...X.data].map((J,G)=>{return W.type._parseAsync(new j1(X,J,X.path,G))})).then((J)=>{return C0.mergeArray(Y,J)});let $=[...X.data].map((J,G)=>{return W.type._parseSync(new j1(X,J,X.path,G))});return C0.mergeArray(Y,$)}get element(){return this._def.type}min(Q,X){return new U1({...this._def,minLength:{value:Q,message:v.toString(X)}})}max(Q,X){return new U1({...this._def,maxLength:{value:Q,message:v.toString(X)}})}length(Q,X){return new U1({...this._def,exactLength:{value:Q,message:v.toString(X)}})}nonempty(Q){return this.min(1,Q)}}U1.create=(Q,X)=>{return new U1({type:Q,minLength:null,maxLength:null,exactLength:null,typeName:P.ZodArray,...c(X)})};function q9(Q){if(Q instanceof N0){let X={};for(let Y in Q.shape){let W=Q.shape[Y];X[Y]=B1.create(q9(W))}return new N0({...Q._def,shape:()=>X})}else if(Q instanceof U1)return new U1({...Q._def,type:q9(Q.element)});else if(Q instanceof B1)return B1.create(q9(Q.unwrap()));else if(Q instanceof r1)return r1.create(q9(Q.unwrap()));else if(Q instanceof u1)return u1.create(Q.items.map((X)=>q9(X)));else return Q}class N0 extends o{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let Q=this._def.shape(),X=t.objectKeys(Q);return this._cached={shape:Q,keys:X},this._cached}_parse(Q){if(this._getType(Q)!==R.object){let B=this._getOrReturnCtx(Q);return T(B,{code:b.invalid_type,expected:R.object,received:B.parsedType}),f}let{status:Y,ctx:W}=this._processInputParams(Q),{shape:$,keys:J}=this._getCached(),G=[];if(!(this._def.catchall instanceof h1&&this._def.unknownKeys==="strip")){for(let B in W.data)if(!J.includes(B))G.push(B)}let H=[];for(let B of J){let z=$[B],K=W.data[B];H.push({key:{status:"valid",value:B},value:z._parse(new j1(W,K,W.path,B)),alwaysSet:B in W.data})}if(this._def.catchall instanceof h1){let B=this._def.unknownKeys;if(B==="passthrough")for(let z of G)H.push({key:{status:"valid",value:z},value:{status:"valid",value:W.data[z]}});else if(B==="strict"){if(G.length>0)T(W,{code:b.unrecognized_keys,keys:G}),Y.dirty()}else if(B==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let B=this._def.catchall;for(let z of G){let K=W.data[z];H.push({key:{status:"valid",value:z},value:B._parse(new j1(W,K,W.path,z)),alwaysSet:z in W.data})}}if(W.common.async)return Promise.resolve().then(async()=>{let B=[];for(let z of H){let K=await z.key,V=await z.value;B.push({key:K,value:V,alwaysSet:z.alwaysSet})}return B}).then((B)=>{return C0.mergeObjectSync(Y,B)});else return C0.mergeObjectSync(Y,H)}get shape(){return this._def.shape()}strict(Q){return v.errToObj,new N0({...this._def,unknownKeys:"strict",...Q!==void 0?{errorMap:(X,Y)=>{let W=this._def.errorMap?.(X,Y).message??Y.defaultError;if(X.code==="unrecognized_keys")return{message:v.errToObj(Q).message??W};return{message:W}}}:{}})}strip(){return new N0({...this._def,unknownKeys:"strip"})}passthrough(){return new N0({...this._def,unknownKeys:"passthrough"})}extend(Q){return new N0({...this._def,shape:()=>({...this._def.shape(),...Q})})}merge(Q){return new N0({unknownKeys:Q._def.unknownKeys,catchall:Q._def.catchall,shape:()=>({...this._def.shape(),...Q._def.shape()}),typeName:P.ZodObject})}setKey(Q,X){return this.augment({[Q]:X})}catchall(Q){return new N0({...this._def,catchall:Q})}pick(Q){let X={};for(let Y of t.objectKeys(Q))if(Q[Y]&&this.shape[Y])X[Y]=this.shape[Y];return new N0({...this._def,shape:()=>X})}omit(Q){let X={};for(let Y of t.objectKeys(this.shape))if(!Q[Y])X[Y]=this.shape[Y];return new N0({...this._def,shape:()=>X})}deepPartial(){return q9(this)}partial(Q){let X={};for(let Y of t.objectKeys(this.shape)){let W=this.shape[Y];if(Q&&!Q[Y])X[Y]=W;else X[Y]=W.optional()}return new N0({...this._def,shape:()=>X})}required(Q){let X={};for(let Y of t.objectKeys(this.shape))if(Q&&!Q[Y])X[Y]=this.shape[Y];else{let $=this.shape[Y];while($ instanceof B1)$=$._def.innerType;X[Y]=$}return new N0({...this._def,shape:()=>X})}keyof(){return rJ(t.objectKeys(this.shape))}}N0.create=(Q,X)=>{return new N0({shape:()=>Q,unknownKeys:"strip",catchall:h1.create(),typeName:P.ZodObject,...c(X)})};N0.strictCreate=(Q,X)=>{return new N0({shape:()=>Q,unknownKeys:"strict",catchall:h1.create(),typeName:P.ZodObject,...c(X)})};N0.lazycreate=(Q,X)=>{return new N0({shape:Q,unknownKeys:"strip",catchall:h1.create(),typeName:P.ZodObject,...c(X)})};class U9 extends o{_parse(Q){let{ctx:X}=this._processInputParams(Q),Y=this._def.options;function W($){for(let G of $)if(G.result.status==="valid")return G.result;for(let G of $)if(G.result.status==="dirty")return X.common.issues.push(...G.ctx.common.issues),G.result;let J=$.map((G)=>new r0(G.ctx.common.issues));return T(X,{code:b.invalid_union,unionErrors:J}),f}if(X.common.async)return Promise.all(Y.map(async($)=>{let J={...X,common:{...X.common,issues:[]},parent:null};return{result:await $._parseAsync({data:X.data,path:X.path,parent:J}),ctx:J}})).then(W);else{let $=void 0,J=[];for(let H of Y){let B={...X,common:{...X.common,issues:[]},parent:null},z=H._parseSync({data:X.data,path:X.path,parent:B});if(z.status==="valid")return z;else if(z.status==="dirty"&&!$)$={result:z,ctx:B};if(B.common.issues.length)J.push(B.common.issues)}if($)return X.common.issues.push(...$.ctx.common.issues),$.result;let G=J.map((H)=>new r0(H));return T(X,{code:b.invalid_union,unionErrors:G}),f}}get options(){return this._def.options}}U9.create=(Q,X)=>{return new U9({options:Q,typeName:P.ZodUnion,...c(X)})};var o1=(Q)=>{if(Q instanceof w9)return o1(Q.schema);else if(Q instanceof w1)return o1(Q.innerType());else if(Q instanceof M9)return[Q.value];else if(Q instanceof q6)return Q.options;else if(Q instanceof N9)return t.objectValues(Q.enum);else if(Q instanceof b9)return o1(Q._def.innerType);else if(Q instanceof L9)return[void 0];else if(Q instanceof O9)return[null];else if(Q instanceof B1)return[void 0,...o1(Q.unwrap())];else if(Q instanceof r1)return[null,...o1(Q.unwrap())];else if(Q instanceof o8)return o1(Q.unwrap());else if(Q instanceof Z9)return o1(Q.unwrap());else if(Q instanceof P9)return o1(Q._def.innerType);else return[]};class n8 extends o{_parse(Q){let{ctx:X}=this._processInputParams(Q);if(X.parsedType!==R.object)return T(X,{code:b.invalid_type,expected:R.object,received:X.parsedType}),f;let Y=this.discriminator,W=X.data[Y],$=this.optionsMap.get(W);if(!$)return T(X,{code:b.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[Y]}),f;if(X.common.async)return $._parseAsync({data:X.data,path:X.path,parent:X});else return $._parseSync({data:X.data,path:X.path,parent:X})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(Q,X,Y){let W=new Map;for(let $ of X){let J=o1($.shape[Q]);if(!J.length)throw Error(`A discriminator value for key \`${Q}\` could not be extracted from all schema options`);for(let G of J){if(W.has(G))throw Error(`Discriminator property ${String(Q)} has duplicate value ${String(G)}`);W.set(G,$)}}return new n8({typeName:P.ZodDiscriminatedUnion,discriminator:Q,options:X,optionsMap:W,...c(Y)})}}function vY(Q,X){let Y=f1(Q),W=f1(X);if(Q===X)return{valid:!0,data:Q};else if(Y===R.object&&W===R.object){let $=t.objectKeys(X),J=t.objectKeys(Q).filter((H)=>$.indexOf(H)!==-1),G={...Q,...X};for(let H of J){let B=vY(Q[H],X[H]);if(!B.valid)return{valid:!1};G[H]=B.data}return{valid:!0,data:G}}else if(Y===R.array&&W===R.array){if(Q.length!==X.length)return{valid:!1};let $=[];for(let J=0;J<Q.length;J++){let G=Q[J],H=X[J],B=vY(G,H);if(!B.valid)return{valid:!1};$.push(B.data)}return{valid:!0,data:$}}else if(Y===R.date&&W===R.date&&+Q===+X)return{valid:!0,data:Q};else return{valid:!1}}class j9 extends o{_parse(Q){let{status:X,ctx:Y}=this._processInputParams(Q),W=($,J)=>{if(d8($)||d8(J))return f;let G=vY($.value,J.value);if(!G.valid)return T(Y,{code:b.invalid_intersection_types}),f;if(i8($)||i8(J))X.dirty();return{status:X.value,value:G.data}};if(Y.common.async)return Promise.all([this._def.left._parseAsync({data:Y.data,path:Y.path,parent:Y}),this._def.right._parseAsync({data:Y.data,path:Y.path,parent:Y})]).then(([$,J])=>W($,J));else return W(this._def.left._parseSync({data:Y.data,path:Y.path,parent:Y}),this._def.right._parseSync({data:Y.data,path:Y.path,parent:Y}))}}j9.create=(Q,X,Y)=>{return new j9({left:Q,right:X,typeName:P.ZodIntersection,...c(Y)})};class u1 extends o{_parse(Q){let{status:X,ctx:Y}=this._processInputParams(Q);if(Y.parsedType!==R.array)return T(Y,{code:b.invalid_type,expected:R.array,received:Y.parsedType}),f;if(Y.data.length<this._def.items.length)return T(Y,{code:b.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),f;if(!this._def.rest&&Y.data.length>this._def.items.length)T(Y,{code:b.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),X.dirty();let $=[...Y.data].map((J,G)=>{let H=this._def.items[G]||this._def.rest;if(!H)return null;return H._parse(new j1(Y,J,Y.path,G))}).filter((J)=>!!J);if(Y.common.async)return Promise.all($).then((J)=>{return C0.mergeArray(X,J)});else return C0.mergeArray(X,$)}get items(){return this._def.items}rest(Q){return new u1({...this._def,rest:Q})}}u1.create=(Q,X)=>{if(!Array.isArray(Q))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new u1({items:Q,typeName:P.ZodTuple,rest:null,...c(X)})};class D4 extends o{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(Q){let{status:X,ctx:Y}=this._processInputParams(Q);if(Y.parsedType!==R.object)return T(Y,{code:b.invalid_type,expected:R.object,received:Y.parsedType}),f;let W=[],$=this._def.keyType,J=this._def.valueType;for(let G in Y.data)W.push({key:$._parse(new j1(Y,G,Y.path,G)),value:J._parse(new j1(Y,Y.data[G],Y.path,G)),alwaysSet:G in Y.data});if(Y.common.async)return C0.mergeObjectAsync(X,W);else return C0.mergeObjectSync(X,W)}get element(){return this._def.valueType}static create(Q,X,Y){if(X instanceof o)return new D4({keyType:Q,valueType:X,typeName:P.ZodRecord,...c(Y)});return new D4({keyType:O1.create(),valueType:Q,typeName:P.ZodRecord,...c(X)})}}class L4 extends o{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(Q){let{status:X,ctx:Y}=this._processInputParams(Q);if(Y.parsedType!==R.map)return T(Y,{code:b.invalid_type,expected:R.map,received:Y.parsedType}),f;let W=this._def.keyType,$=this._def.valueType,J=[...Y.data.entries()].map(([G,H],B)=>{return{key:W._parse(new j1(Y,G,Y.path,[B,"key"])),value:$._parse(new j1(Y,H,Y.path,[B,"value"]))}});if(Y.common.async){let G=new Map;return Promise.resolve().then(async()=>{for(let H of J){let B=await H.key,z=await H.value;if(B.status==="aborted"||z.status==="aborted")return f;if(B.status==="dirty"||z.status==="dirty")X.dirty();G.set(B.value,z.value)}return{status:X.value,value:G}})}else{let G=new Map;for(let H of J){let{key:B,value:z}=H;if(B.status==="aborted"||z.status==="aborted")return f;if(B.status==="dirty"||z.status==="dirty")X.dirty();G.set(B.value,z.value)}return{status:X.value,value:G}}}}L4.create=(Q,X,Y)=>{return new L4({valueType:X,keyType:Q,typeName:P.ZodMap,...c(Y)})};class m6 extends o{_parse(Q){let{status:X,ctx:Y}=this._processInputParams(Q);if(Y.parsedType!==R.set)return T(Y,{code:b.invalid_type,expected:R.set,received:Y.parsedType}),f;let W=this._def;if(W.minSize!==null){if(Y.data.size<W.minSize.value)T(Y,{code:b.too_small,minimum:W.minSize.value,type:"set",inclusive:!0,exact:!1,message:W.minSize.message}),X.dirty()}if(W.maxSize!==null){if(Y.data.size>W.maxSize.value)T(Y,{code:b.too_big,maximum:W.maxSize.value,type:"set",inclusive:!0,exact:!1,message:W.maxSize.message}),X.dirty()}let $=this._def.valueType;function J(H){let B=new Set;for(let z of H){if(z.status==="aborted")return f;if(z.status==="dirty")X.dirty();B.add(z.value)}return{status:X.value,value:B}}let G=[...Y.data.values()].map((H,B)=>$._parse(new j1(Y,H,Y.path,B)));if(Y.common.async)return Promise.all(G).then((H)=>J(H));else return J(G)}min(Q,X){return new m6({...this._def,minSize:{value:Q,message:v.toString(X)}})}max(Q,X){return new m6({...this._def,maxSize:{value:Q,message:v.toString(X)}})}size(Q,X){return this.min(Q,X).max(Q,X)}nonempty(Q){return this.min(1,Q)}}m6.create=(Q,X)=>{return new m6({valueType:Q,minSize:null,maxSize:null,typeName:P.ZodSet,...c(X)})};class A9 extends o{constructor(){super(...arguments);this.validate=this.implement}_parse(Q){let{ctx:X}=this._processInputParams(Q);if(X.parsedType!==R.function)return T(X,{code:b.invalid_type,expected:R.function,received:X.parsedType}),f;function Y(G,H){return V4({data:G,path:X.path,errorMaps:[X.common.contextualErrorMap,X.schemaErrorMap,F9(),n1].filter((B)=>!!B),issueData:{code:b.invalid_arguments,argumentsError:H}})}function W(G,H){return V4({data:G,path:X.path,errorMaps:[X.common.contextualErrorMap,X.schemaErrorMap,F9(),n1].filter((B)=>!!B),issueData:{code:b.invalid_return_type,returnTypeError:H}})}let $={errorMap:X.common.contextualErrorMap},J=X.data;if(this._def.returns instanceof c6){let G=this;return h0(async function(...H){let B=new r0([]),z=await G._def.args.parseAsync(H,$).catch((D)=>{throw B.addIssue(Y(H,D)),B}),K=await Reflect.apply(J,this,z);return await G._def.returns._def.type.parseAsync(K,$).catch((D)=>{throw B.addIssue(W(K,D)),B})})}else{let G=this;return h0(function(...H){let B=G._def.args.safeParse(H,$);if(!B.success)throw new r0([Y(H,B.error)]);let z=Reflect.apply(J,this,B.data),K=G._def.returns.safeParse(z,$);if(!K.success)throw new r0([W(z,K.error)]);return K.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...Q){return new A9({...this._def,args:u1.create(Q).rest(K6.create())})}returns(Q){return new A9({...this._def,returns:Q})}implement(Q){return this.parse(Q)}strictImplement(Q){return this.parse(Q)}static create(Q,X,Y){return new A9({args:Q?Q:u1.create([]).rest(K6.create()),returns:X||K6.create(),typeName:P.ZodFunction,...c(Y)})}}class w9 extends o{get schema(){return this._def.getter()}_parse(Q){let{ctx:X}=this._processInputParams(Q);return this._def.getter()._parse({data:X.data,path:X.path,parent:X})}}w9.create=(Q,X)=>{return new w9({getter:Q,typeName:P.ZodLazy,...c(X)})};class M9 extends o{_parse(Q){if(Q.data!==this._def.value){let X=this._getOrReturnCtx(Q);return T(X,{received:X.data,code:b.invalid_literal,expected:this._def.value}),f}return{status:"valid",value:Q.data}}get value(){return this._def.value}}M9.create=(Q,X)=>{return new M9({value:Q,typeName:P.ZodLiteral,...c(X)})};function rJ(Q,X){return new q6({values:Q,typeName:P.ZodEnum,...c(X)})}class q6 extends o{_parse(Q){if(typeof Q.data!=="string"){let X=this._getOrReturnCtx(Q),Y=this._def.values;return T(X,{expected:t.joinValues(Y),received:X.parsedType,code:b.invalid_type}),f}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has(Q.data)){let X=this._getOrReturnCtx(Q),Y=this._def.values;return T(X,{received:X.data,code:b.invalid_enum_value,options:Y}),f}return h0(Q.data)}get options(){return this._def.values}get enum(){let Q={};for(let X of this._def.values)Q[X]=X;return Q}get Values(){let Q={};for(let X of this._def.values)Q[X]=X;return Q}get Enum(){let Q={};for(let X of this._def.values)Q[X]=X;return Q}extract(Q,X=this._def){return q6.create(Q,{...this._def,...X})}exclude(Q,X=this._def){return q6.create(this.options.filter((Y)=>!Q.includes(Y)),{...this._def,...X})}}q6.create=rJ;class N9 extends o{_parse(Q){let X=t.getValidEnumValues(this._def.values),Y=this._getOrReturnCtx(Q);if(Y.parsedType!==R.string&&Y.parsedType!==R.number){let W=t.objectValues(X);return T(Y,{expected:t.joinValues(W),received:Y.parsedType,code:b.invalid_type}),f}if(!this._cache)this._cache=new Set(t.getValidEnumValues(this._def.values));if(!this._cache.has(Q.data)){let W=t.objectValues(X);return T(Y,{received:Y.data,code:b.invalid_enum_value,options:W}),f}return h0(Q.data)}get enum(){return this._def.values}}N9.create=(Q,X)=>{return new N9({values:Q,typeName:P.ZodNativeEnum,...c(X)})};class c6 extends o{unwrap(){return this._def.type}_parse(Q){let{ctx:X}=this._processInputParams(Q);if(X.parsedType!==R.promise&&X.common.async===!1)return T(X,{code:b.invalid_type,expected:R.promise,received:X.parsedType}),f;let Y=X.parsedType===R.promise?X.data:Promise.resolve(X.data);return h0(Y.then((W)=>{return this._def.type.parseAsync(W,{path:X.path,errorMap:X.common.contextualErrorMap})}))}}c6.create=(Q,X)=>{return new c6({type:Q,typeName:P.ZodPromise,...c(X)})};class w1 extends o{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===P.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(Q){let{status:X,ctx:Y}=this._processInputParams(Q),W=this._def.effect||null,$={addIssue:(J)=>{if(T(Y,J),J.fatal)X.abort();else X.dirty()},get path(){return Y.path}};if($.addIssue=$.addIssue.bind($),W.type==="preprocess"){let J=W.transform(Y.data,$);if(Y.common.async)return Promise.resolve(J).then(async(G)=>{if(X.value==="aborted")return f;let H=await this._def.schema._parseAsync({data:G,path:Y.path,parent:Y});if(H.status==="aborted")return f;if(H.status==="dirty")return h6(H.value);if(X.value==="dirty")return h6(H.value);return H});else{if(X.value==="aborted")return f;let G=this._def.schema._parseSync({data:J,path:Y.path,parent:Y});if(G.status==="aborted")return f;if(G.status==="dirty")return h6(G.value);if(X.value==="dirty")return h6(G.value);return G}}if(W.type==="refinement"){let J=(G)=>{let H=W.refinement(G,$);if(Y.common.async)return Promise.resolve(H);if(H instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return G};if(Y.common.async===!1){let G=this._def.schema._parseSync({data:Y.data,path:Y.path,parent:Y});if(G.status==="aborted")return f;if(G.status==="dirty")X.dirty();return J(G.value),{status:X.value,value:G.value}}else return this._def.schema._parseAsync({data:Y.data,path:Y.path,parent:Y}).then((G)=>{if(G.status==="aborted")return f;if(G.status==="dirty")X.dirty();return J(G.value).then(()=>{return{status:X.value,value:G.value}})})}if(W.type==="transform")if(Y.common.async===!1){let J=this._def.schema._parseSync({data:Y.data,path:Y.path,parent:Y});if(!z6(J))return f;let G=W.transform(J.value,$);if(G instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:X.value,value:G}}else return this._def.schema._parseAsync({data:Y.data,path:Y.path,parent:Y}).then((J)=>{if(!z6(J))return f;return Promise.resolve(W.transform(J.value,$)).then((G)=>({status:X.value,value:G}))});t.assertNever(W)}}w1.create=(Q,X,Y)=>{return new w1({schema:Q,typeName:P.ZodEffects,effect:X,...c(Y)})};w1.createWithPreprocess=(Q,X,Y)=>{return new w1({schema:X,effect:{type:"preprocess",transform:Q},typeName:P.ZodEffects,...c(Y)})};class B1 extends o{_parse(Q){if(this._getType(Q)===R.undefined)return h0(void 0);return this._def.innerType._parse(Q)}unwrap(){return this._def.innerType}}B1.create=(Q,X)=>{return new B1({innerType:Q,typeName:P.ZodOptional,...c(X)})};class r1 extends o{_parse(Q){if(this._getType(Q)===R.null)return h0(null);return this._def.innerType._parse(Q)}unwrap(){return this._def.innerType}}r1.create=(Q,X)=>{return new r1({innerType:Q,typeName:P.ZodNullable,...c(X)})};class b9 extends o{_parse(Q){let{ctx:X}=this._processInputParams(Q),Y=X.data;if(X.parsedType===R.undefined)Y=this._def.defaultValue();return this._def.innerType._parse({data:Y,path:X.path,parent:X})}removeDefault(){return this._def.innerType}}b9.create=(Q,X)=>{return new b9({innerType:Q,typeName:P.ZodDefault,defaultValue:typeof X.default==="function"?X.default:()=>X.default,...c(X)})};class P9 extends o{_parse(Q){let{ctx:X}=this._processInputParams(Q),Y={...X,common:{...X.common,issues:[]}},W=this._def.innerType._parse({data:Y.data,path:Y.path,parent:{...Y}});if(V9(W))return W.then(($)=>{return{status:"valid",value:$.status==="valid"?$.value:this._def.catchValue({get error(){return new r0(Y.common.issues)},input:Y.data})}});else return{status:"valid",value:W.status==="valid"?W.value:this._def.catchValue({get error(){return new r0(Y.common.issues)},input:Y.data})}}removeCatch(){return this._def.innerType}}P9.create=(Q,X)=>{return new P9({innerType:Q,typeName:P.ZodCatch,catchValue:typeof X.catch==="function"?X.catch:()=>X.catch,...c(X)})};class O4 extends o{_parse(Q){if(this._getType(Q)!==R.nan){let Y=this._getOrReturnCtx(Q);return T(Y,{code:b.invalid_type,expected:R.nan,received:Y.parsedType}),f}return{status:"valid",value:Q.data}}}O4.create=(Q)=>{return new O4({typeName:P.ZodNaN,...c(Q)})};var fO=Symbol("zod_brand");class o8 extends o{_parse(Q){let{ctx:X}=this._processInputParams(Q),Y=X.data;return this._def.type._parse({data:Y,path:X.path,parent:X})}unwrap(){return this._def.type}}class U4 extends o{_parse(Q){let{status:X,ctx:Y}=this._processInputParams(Q);if(Y.common.async)return(async()=>{let $=await this._def.in._parseAsync({data:Y.data,path:Y.path,parent:Y});if($.status==="aborted")return f;if($.status==="dirty")return X.dirty(),h6($.value);else return this._def.out._parseAsync({data:$.value,path:Y.path,parent:Y})})();else{let W=this._def.in._parseSync({data:Y.data,path:Y.path,parent:Y});if(W.status==="aborted")return f;if(W.status==="dirty")return X.dirty(),{status:"dirty",value:W.value};else return this._def.out._parseSync({data:W.value,path:Y.path,parent:Y})}}static create(Q,X){return new U4({in:Q,out:X,typeName:P.ZodPipeline})}}class Z9 extends o{_parse(Q){let X=this._def.innerType._parse(Q),Y=(W)=>{if(z6(W))W.value=Object.freeze(W.value);return W};return V9(X)?X.then((W)=>Y(W)):Y(X)}unwrap(){return this._def.innerType}}Z9.create=(Q,X)=>{return new Z9({innerType:Q,typeName:P.ZodReadonly,...c(X)})};function dJ(Q,X){let Y=typeof Q==="function"?Q(X):typeof Q==="string"?{message:Q}:Q;return typeof Y==="string"?{message:Y}:Y}function tJ(Q,X={},Y){if(Q)return l6.create().superRefine((W,$)=>{let J=Q(W);if(J instanceof Promise)return J.then((G)=>{if(!G){let H=dJ(X,W),B=H.fatal??Y??!0;$.addIssue({code:"custom",...H,fatal:B})}});if(!J){let G=dJ(X,W),H=G.fatal??Y??!0;$.addIssue({code:"custom",...G,fatal:H})}return});return l6.create()}var hO={object:N0.lazycreate},P;(function(Q){Q.ZodString="ZodString",Q.ZodNumber="ZodNumber",Q.ZodNaN="ZodNaN",Q.ZodBigInt="ZodBigInt",Q.ZodBoolean="ZodBoolean",Q.ZodDate="ZodDate",Q.ZodSymbol="ZodSymbol",Q.ZodUndefined="ZodUndefined",Q.ZodNull="ZodNull",Q.ZodAny="ZodAny",Q.ZodUnknown="ZodUnknown",Q.ZodNever="ZodNever",Q.ZodVoid="ZodVoid",Q.ZodArray="ZodArray",Q.ZodObject="ZodObject",Q.ZodUnion="ZodUnion",Q.ZodDiscriminatedUnion="ZodDiscriminatedUnion",Q.ZodIntersection="ZodIntersection",Q.ZodTuple="ZodTuple",Q.ZodRecord="ZodRecord",Q.ZodMap="ZodMap",Q.ZodSet="ZodSet",Q.ZodFunction="ZodFunction",Q.ZodLazy="ZodLazy",Q.ZodLiteral="ZodLiteral",Q.ZodEnum="ZodEnum",Q.ZodEffects="ZodEffects",Q.ZodNativeEnum="ZodNativeEnum",Q.ZodOptional="ZodOptional",Q.ZodNullable="ZodNullable",Q.ZodDefault="ZodDefault",Q.ZodCatch="ZodCatch",Q.ZodPromise="ZodPromise",Q.ZodBranded="ZodBranded",Q.ZodPipeline="ZodPipeline",Q.ZodReadonly="ZodReadonly"})(P||(P={}));var uO=(Q,X={message:`Input not instance of ${Q.name}`})=>tJ((Y)=>Y instanceof Q,X),aJ=O1.create,sJ=F6.create,lO=O4.create,mO=V6.create,eJ=D9.create,cO=u6.create,pO=q4.create,dO=L9.create,iO=O9.create,nO=l6.create,oO=K6.create,rO=h1.create,tO=A4.create,aO=U1.create,_Y=N0.create,sO=N0.strictCreate,eO=U9.create,QU=n8.create,XU=j9.create,YU=u1.create,WU=D4.create,$U=L4.create,JU=m6.create,GU=A9.create,HU=w9.create,BU=M9.create,zU=q6.create,KU=N9.create,FU=c6.create,VU=w1.create,qU=B1.create,AU=r1.create,DU=w1.createWithPreprocess,LU=U4.create,OU=()=>aJ().optional(),UU=()=>sJ().optional(),jU=()=>eJ().optional(),wU={string:(Q)=>O1.create({...Q,coerce:!0}),number:(Q)=>F6.create({...Q,coerce:!0}),boolean:(Q)=>D9.create({...Q,coerce:!0}),bigint:(Q)=>V6.create({...Q,coerce:!0}),date:(Q)=>u6.create({...Q,coerce:!0})};var MU=f;var t8=Object.freeze({status:"aborted"});function j(Q,X,Y){function W(H,B){var z;Object.defineProperty(H,"_zod",{value:H._zod??{},enumerable:!1}),(z=H._zod).traits??(z.traits=new Set),H._zod.traits.add(Q),X(H,B);for(let K in G.prototype)if(!(K in H))Object.defineProperty(H,K,{value:G.prototype[K].bind(H)});H._zod.constr=G,H._zod.def=B}let $=Y?.Parent??Object;class J extends ${}Object.defineProperty(J,"name",{value:Q});function G(H){var B;let z=Y?.Parent?new J:this;W(z,H),(B=z._zod).deferred??(B.deferred=[]);for(let K of z._zod.deferred)K();return z}return Object.defineProperty(G,"init",{value:W}),Object.defineProperty(G,Symbol.hasInstance,{value:(H)=>{if(Y?.Parent&&H instanceof Y.Parent)return!0;return H?._zod?.traits?.has(Q)}}),Object.defineProperty(G,"name",{value:Q}),G}var QG=Symbol("zod_brand");class A6 extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}var r8={};function t0(Q){if(Q)Object.assign(r8,Q);return r8}var a={};c8(a,{unwrapMessage:()=>j4,stringifyPrimitive:()=>e8,required:()=>fU,randomString:()=>IU,propertyKeyTypes:()=>uY,promiseAllObject:()=>SU,primitiveTypes:()=>XG,prefixIssues:()=>l1,pick:()=>vU,partial:()=>gU,optionalKeys:()=>lY,omit:()=>_U,numKeys:()=>TU,nullish:()=>N4,normalizeParams:()=>g,merge:()=>yU,jsonStringifyReplacer:()=>yY,joinValues:()=>a8,issue:()=>cY,isPlainObject:()=>E9,isObject:()=>R9,getSizableOrigin:()=>WG,getParsedType:()=>CU,getLengthableOrigin:()=>P4,getEnumValues:()=>w4,getElementAtPath:()=>EU,floatSafeRemainder:()=>gY,finalizeIssue:()=>M1,extend:()=>xU,escapeRegex:()=>D6,esc:()=>p6,defineLazy:()=>F0,createTransparentProxy:()=>kU,clone:()=>a0,cleanRegex:()=>b4,cleanEnum:()=>hU,captureStackTrace:()=>s8,cached:()=>M4,assignProp:()=>fY,assertNotEqual:()=>bU,assertNever:()=>ZU,assertIs:()=>PU,assertEqual:()=>NU,assert:()=>RU,allowsEval:()=>hY,aborted:()=>d6,NUMBER_FORMAT_RANGES:()=>mY,Class:()=>$G,BIGINT_FORMAT_RANGES:()=>YG});function NU(Q){return Q}function bU(Q){return Q}function PU(Q){}function ZU(Q){throw Error()}function RU(Q){}function w4(Q){let X=Object.values(Q).filter((W)=>typeof W==="number");return Object.entries(Q).filter(([W,$])=>X.indexOf(+W)===-1).map(([W,$])=>$)}function a8(Q,X="|"){return Q.map((Y)=>e8(Y)).join(X)}function yY(Q,X){if(typeof X==="bigint")return X.toString();return X}function M4(Q){return{get value(){{let Y=Q();return Object.defineProperty(this,"value",{value:Y}),Y}throw Error("cached value already set")}}}function N4(Q){return Q===null||Q===void 0}function b4(Q){let X=Q.startsWith("^")?1:0,Y=Q.endsWith("$")?Q.length-1:Q.length;return Q.slice(X,Y)}function gY(Q,X){let Y=(Q.toString().split(".")[1]||"").length,W=(X.toString().split(".")[1]||"").length,$=Y>W?Y:W,J=Number.parseInt(Q.toFixed($).replace(".","")),G=Number.parseInt(X.toFixed($).replace(".",""));return J%G/10**$}function F0(Q,X,Y){Object.defineProperty(Q,X,{get(){{let $=Y();return Q[X]=$,$}throw Error("cached value already set")},set($){Object.defineProperty(Q,X,{value:$})},configurable:!0})}function fY(Q,X,Y){Object.defineProperty(Q,X,{value:Y,writable:!0,enumerable:!0,configurable:!0})}function EU(Q,X){if(!X)return Q;return X.reduce((Y,W)=>Y?.[W],Q)}function SU(Q){let X=Object.keys(Q),Y=X.map((W)=>Q[W]);return Promise.all(Y).then((W)=>{let $={};for(let J=0;J<X.length;J++)$[X[J]]=W[J];return $})}function IU(Q=10){let Y="";for(let W=0;W<Q;W++)Y+="abcdefghijklmnopqrstuvwxyz"[Math.floor(Math.random()*26)];return Y}function p6(Q){return JSON.stringify(Q)}var s8=Error.captureStackTrace?Error.captureStackTrace:(...Q)=>{};function R9(Q){return typeof Q==="object"&&Q!==null&&!Array.isArray(Q)}var hY=M4(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(Q){return!1}});function E9(Q){if(R9(Q)===!1)return!1;let X=Q.constructor;if(X===void 0)return!0;let Y=X.prototype;if(R9(Y)===!1)return!1;if(Object.prototype.hasOwnProperty.call(Y,"isPrototypeOf")===!1)return!1;return!0}function TU(Q){let X=0;for(let Y in Q)if(Object.prototype.hasOwnProperty.call(Q,Y))X++;return X}var CU=(Q)=>{let X=typeof Q;switch(X){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(Q)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":if(Array.isArray(Q))return"array";if(Q===null)return"null";if(Q.then&&typeof Q.then==="function"&&Q.catch&&typeof Q.catch==="function")return"promise";if(typeof Map<"u"&&Q instanceof Map)return"map";if(typeof Set<"u"&&Q instanceof Set)return"set";if(typeof Date<"u"&&Q instanceof Date)return"date";if(typeof File<"u"&&Q instanceof File)return"file";return"object";default:throw Error(`Unknown data type: ${X}`)}},uY=new Set(["string","number","symbol"]),XG=new Set(["string","number","bigint","boolean","symbol","undefined"]);function D6(Q){return Q.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function a0(Q,X,Y){let W=new Q._zod.constr(X??Q._zod.def);if(!X||Y?.parent)W._zod.parent=Q;return W}function g(Q){let X=Q;if(!X)return{};if(typeof X==="string")return{error:()=>X};if(X?.message!==void 0){if(X?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");X.error=X.message}if(delete X.message,typeof X.error==="string")return{...X,error:()=>X.error};return X}function kU(Q){let X;return new Proxy({},{get(Y,W,$){return X??(X=Q()),Reflect.get(X,W,$)},set(Y,W,$,J){return X??(X=Q()),Reflect.set(X,W,$,J)},has(Y,W){return X??(X=Q()),Reflect.has(X,W)},deleteProperty(Y,W){return X??(X=Q()),Reflect.deleteProperty(X,W)},ownKeys(Y){return X??(X=Q()),Reflect.ownKeys(X)},getOwnPropertyDescriptor(Y,W){return X??(X=Q()),Reflect.getOwnPropertyDescriptor(X,W)},defineProperty(Y,W,$){return X??(X=Q()),Reflect.defineProperty(X,W,$)}})}function e8(Q){if(typeof Q==="bigint")return Q.toString()+"n";if(typeof Q==="string")return`"${Q}"`;return`${Q}`}function lY(Q){return Object.keys(Q).filter((X)=>{return Q[X]._zod.optin==="optional"&&Q[X]._zod.optout==="optional"})}var mY={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-340282346638528860000000000000000000000,340282346638528860000000000000000000000],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},YG={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function vU(Q,X){let Y={},W=Q._zod.def;for(let $ in X){if(!($ in W.shape))throw Error(`Unrecognized key: "${$}"`);if(!X[$])continue;Y[$]=W.shape[$]}return a0(Q,{...Q._zod.def,shape:Y,checks:[]})}function _U(Q,X){let Y={...Q._zod.def.shape},W=Q._zod.def;for(let $ in X){if(!($ in W.shape))throw Error(`Unrecognized key: "${$}"`);if(!X[$])continue;delete Y[$]}return a0(Q,{...Q._zod.def,shape:Y,checks:[]})}function xU(Q,X){if(!E9(X))throw Error("Invalid input to extend: expected a plain object");let Y={...Q._zod.def,get shape(){let W={...Q._zod.def.shape,...X};return fY(this,"shape",W),W},checks:[]};return a0(Q,Y)}function yU(Q,X){return a0(Q,{...Q._zod.def,get shape(){let Y={...Q._zod.def.shape,...X._zod.def.shape};return fY(this,"shape",Y),Y},catchall:X._zod.def.catchall,checks:[]})}function gU(Q,X,Y){let W=X._zod.def.shape,$={...W};if(Y)for(let J in Y){if(!(J in W))throw Error(`Unrecognized key: "${J}"`);if(!Y[J])continue;$[J]=Q?new Q({type:"optional",innerType:W[J]}):W[J]}else for(let J in W)$[J]=Q?new Q({type:"optional",innerType:W[J]}):W[J];return a0(X,{...X._zod.def,shape:$,checks:[]})}function fU(Q,X,Y){let W=X._zod.def.shape,$={...W};if(Y)for(let J in Y){if(!(J in $))throw Error(`Unrecognized key: "${J}"`);if(!Y[J])continue;$[J]=new Q({type:"nonoptional",innerType:W[J]})}else for(let J in W)$[J]=new Q({type:"nonoptional",innerType:W[J]});return a0(X,{...X._zod.def,shape:$,checks:[]})}function d6(Q,X=0){for(let Y=X;Y<Q.issues.length;Y++)if(Q.issues[Y]?.continue!==!0)return!0;return!1}function l1(Q,X){return X.map((Y)=>{var W;return(W=Y).path??(W.path=[]),Y.path.unshift(Q),Y})}function j4(Q){return typeof Q==="string"?Q:Q?.message}function M1(Q,X,Y){let W={...Q,path:Q.path??[]};if(!Q.message){let $=j4(Q.inst?._zod.def?.error?.(Q))??j4(X?.error?.(Q))??j4(Y.customError?.(Q))??j4(Y.localeError?.(Q))??"Invalid input";W.message=$}if(delete W.inst,delete W.continue,!X?.reportInput)delete W.input;return W}function WG(Q){if(Q instanceof Set)return"set";if(Q instanceof Map)return"map";if(Q instanceof File)return"file";return"unknown"}function P4(Q){if(Array.isArray(Q))return"array";if(typeof Q==="string")return"string";return"unknown"}function cY(...Q){let[X,Y,W]=Q;if(typeof X==="string")return{message:X,code:"custom",input:Y,inst:W};return{...X}}function hU(Q){return Object.entries(Q).filter(([X,Y])=>{return Number.isNaN(Number.parseInt(X,10))}).map((X)=>X[1])}class $G{constructor(...Q){}}var JG=(Q,X)=>{Q.name="$ZodError",Object.defineProperty(Q,"_zod",{value:Q._zod,enumerable:!1}),Object.defineProperty(Q,"issues",{value:X,enumerable:!1}),Object.defineProperty(Q,"message",{get(){return JSON.stringify(X,yY,2)},enumerable:!0}),Object.defineProperty(Q,"toString",{value:()=>Q.message,enumerable:!1})},QQ=j("$ZodError",JG),Z4=j("$ZodError",JG,{Parent:Error});function XQ(Q,X=(Y)=>Y.message){let Y={},W=[];for(let $ of Q.issues)if($.path.length>0)Y[$.path[0]]=Y[$.path[0]]||[],Y[$.path[0]].push(X($));else W.push(X($));return{formErrors:W,fieldErrors:Y}}function YQ(Q,X){let Y=X||function(J){return J.message},W={_errors:[]},$=(J)=>{for(let G of J.issues)if(G.code==="invalid_union"&&G.errors.length)G.errors.map((H)=>$({issues:H}));else if(G.code==="invalid_key")$({issues:G.issues});else if(G.code==="invalid_element")$({issues:G.issues});else if(G.path.length===0)W._errors.push(Y(G));else{let H=W,B=0;while(B<G.path.length){let z=G.path[B];if(B!==G.path.length-1)H[z]=H[z]||{_errors:[]};else H[z]=H[z]||{_errors:[]},H[z]._errors.push(Y(G));H=H[z],B++}}};return $(Q),W}var pY=(Q)=>(X,Y,W,$)=>{let J=W?Object.assign(W,{async:!1}):{async:!1},G=X._zod.run({value:Y,issues:[]},J);if(G instanceof Promise)throw new A6;if(G.issues.length){let H=new($?.Err??Q)(G.issues.map((B)=>M1(B,J,t0())));throw s8(H,$?.callee),H}return G.value},dY=pY(Z4),iY=(Q)=>async(X,Y,W,$)=>{let J=W?Object.assign(W,{async:!0}):{async:!0},G=X._zod.run({value:Y,issues:[]},J);if(G instanceof Promise)G=await G;if(G.issues.length){let H=new($?.Err??Q)(G.issues.map((B)=>M1(B,J,t0())));throw s8(H,$?.callee),H}return G.value},nY=iY(Z4),oY=(Q)=>(X,Y,W)=>{let $=W?{...W,async:!1}:{async:!1},J=X._zod.run({value:Y,issues:[]},$);if(J instanceof Promise)throw new A6;return J.issues.length?{success:!1,error:new(Q??QQ)(J.issues.map((G)=>M1(G,$,t0())))}:{success:!0,data:J.value}},i6=oY(Z4),rY=(Q)=>async(X,Y,W)=>{let $=W?Object.assign(W,{async:!0}):{async:!0},J=X._zod.run({value:Y,issues:[]},$);if(J instanceof Promise)J=await J;return J.issues.length?{success:!1,error:new Q(J.issues.map((G)=>M1(G,$,t0())))}:{success:!0,data:J.value}},n6=rY(Z4);var GG=/^[cC][^\s-]{8,}$/,HG=/^[0-9a-z]+$/,BG=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,zG=/^[0-9a-vA-V]{20}$/,KG=/^[A-Za-z0-9]{27}$/,FG=/^[a-zA-Z0-9_-]{21}$/,VG=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var qG=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,tY=(Q)=>{if(!Q)return/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$/;return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${Q}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`)};var AG=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;function DG(){return new RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")}var LG=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,OG=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})$/,UG=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,jG=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,wG=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,aY=/^[A-Za-z0-9_-]*$/,MG=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;var NG=/^\+(?:[0-9]){6,14}[0-9]$/,bG="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",PG=new RegExp(`^${bG}$`);function ZG(Q){return typeof Q.precision==="number"?Q.precision===-1?"(?:[01]\\d|2[0-3]):[0-5]\\d":Q.precision===0?"(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d":`(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{${Q.precision}}`:"(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?"}function RG(Q){return new RegExp(`^${ZG(Q)}$`)}function EG(Q){let X=ZG({precision:Q.precision}),Y=["Z"];if(Q.local)Y.push("");if(Q.offset)Y.push("([+-]\\d{2}:\\d{2})");let W=`${X}(?:${Y.join("|")})`;return new RegExp(`^${bG}T(?:${W})$`)}var SG=(Q)=>{let X=Q?`[\\s\\S]{${Q?.minimum??0},${Q?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${X}$`)},IG=/^\d+n?$/,TG=/^\d+$/,CG=/^-?\d+(?:\.\d+)?/i,kG=/true|false/i,vG=/null/i;var _G=/^[^A-Z]*$/,xG=/^[^a-z]*$/;var k0=j("$ZodCheck",(Q,X)=>{var Y;Q._zod??(Q._zod={}),Q._zod.def=X,(Y=Q._zod).onattach??(Y.onattach=[])}),yG={number:"number",bigint:"bigint",object:"date"},sY=j("$ZodCheckLessThan",(Q,X)=>{k0.init(Q,X);let Y=yG[typeof X.value];Q._zod.onattach.push((W)=>{let $=W._zod.bag,J=(X.inclusive?$.maximum:$.exclusiveMaximum)??Number.POSITIVE_INFINITY;if(X.value<J)if(X.inclusive)$.maximum=X.value;else $.exclusiveMaximum=X.value}),Q._zod.check=(W)=>{if(X.inclusive?W.value<=X.value:W.value<X.value)return;W.issues.push({origin:Y,code:"too_big",maximum:X.value,input:W.value,inclusive:X.inclusive,inst:Q,continue:!X.abort})}}),eY=j("$ZodCheckGreaterThan",(Q,X)=>{k0.init(Q,X);let Y=yG[typeof X.value];Q._zod.onattach.push((W)=>{let $=W._zod.bag,J=(X.inclusive?$.minimum:$.exclusiveMinimum)??Number.NEGATIVE_INFINITY;if(X.value>J)if(X.inclusive)$.minimum=X.value;else $.exclusiveMinimum=X.value}),Q._zod.check=(W)=>{if(X.inclusive?W.value>=X.value:W.value>X.value)return;W.issues.push({origin:Y,code:"too_small",minimum:X.value,input:W.value,inclusive:X.inclusive,inst:Q,continue:!X.abort})}}),gG=j("$ZodCheckMultipleOf",(Q,X)=>{k0.init(Q,X),Q._zod.onattach.push((Y)=>{var W;(W=Y._zod.bag).multipleOf??(W.multipleOf=X.value)}),Q._zod.check=(Y)=>{if(typeof Y.value!==typeof X.value)throw Error("Cannot mix number and bigint in multiple_of check.");if(typeof Y.value==="bigint"?Y.value%X.value===BigInt(0):gY(Y.value,X.value)===0)return;Y.issues.push({origin:typeof Y.value,code:"not_multiple_of",divisor:X.value,input:Y.value,inst:Q,continue:!X.abort})}}),fG=j("$ZodCheckNumberFormat",(Q,X)=>{k0.init(Q,X),X.format=X.format||"float64";let Y=X.format?.includes("int"),W=Y?"int":"number",[$,J]=mY[X.format];Q._zod.onattach.push((G)=>{let H=G._zod.bag;if(H.format=X.format,H.minimum=$,H.maximum=J,Y)H.pattern=TG}),Q._zod.check=(G)=>{let H=G.value;if(Y){if(!Number.isInteger(H)){G.issues.push({expected:W,format:X.format,code:"invalid_type",input:H,inst:Q});return}if(!Number.isSafeInteger(H)){if(H>0)G.issues.push({input:H,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:Q,origin:W,continue:!X.abort});else G.issues.push({input:H,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:Q,origin:W,continue:!X.abort});return}}if(H<$)G.issues.push({origin:"number",input:H,code:"too_small",minimum:$,inclusive:!0,inst:Q,continue:!X.abort});if(H>J)G.issues.push({origin:"number",input:H,code:"too_big",maximum:J,inst:Q})}});var hG=j("$ZodCheckMaxLength",(Q,X)=>{var Y;k0.init(Q,X),(Y=Q._zod.def).when??(Y.when=(W)=>{let $=W.value;return!N4($)&&$.length!==void 0}),Q._zod.onattach.push((W)=>{let $=W._zod.bag.maximum??Number.POSITIVE_INFINITY;if(X.maximum<$)W._zod.bag.maximum=X.maximum}),Q._zod.check=(W)=>{let $=W.value;if($.length<=X.maximum)return;let G=P4($);W.issues.push({origin:G,code:"too_big",maximum:X.maximum,inclusive:!0,input:$,inst:Q,continue:!X.abort})}}),uG=j("$ZodCheckMinLength",(Q,X)=>{var Y;k0.init(Q,X),(Y=Q._zod.def).when??(Y.when=(W)=>{let $=W.value;return!N4($)&&$.length!==void 0}),Q._zod.onattach.push((W)=>{let $=W._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(X.minimum>$)W._zod.bag.minimum=X.minimum}),Q._zod.check=(W)=>{let $=W.value;if($.length>=X.minimum)return;let G=P4($);W.issues.push({origin:G,code:"too_small",minimum:X.minimum,inclusive:!0,input:$,inst:Q,continue:!X.abort})}}),lG=j("$ZodCheckLengthEquals",(Q,X)=>{var Y;k0.init(Q,X),(Y=Q._zod.def).when??(Y.when=(W)=>{let $=W.value;return!N4($)&&$.length!==void 0}),Q._zod.onattach.push((W)=>{let $=W._zod.bag;$.minimum=X.length,$.maximum=X.length,$.length=X.length}),Q._zod.check=(W)=>{let $=W.value,J=$.length;if(J===X.length)return;let G=P4($),H=J>X.length;W.issues.push({origin:G,...H?{code:"too_big",maximum:X.length}:{code:"too_small",minimum:X.length},inclusive:!0,exact:!0,input:W.value,inst:Q,continue:!X.abort})}}),E4=j("$ZodCheckStringFormat",(Q,X)=>{var Y,W;if(k0.init(Q,X),Q._zod.onattach.push(($)=>{let J=$._zod.bag;if(J.format=X.format,X.pattern)J.patterns??(J.patterns=new Set),J.patterns.add(X.pattern)}),X.pattern)(Y=Q._zod).check??(Y.check=($)=>{if(X.pattern.lastIndex=0,X.pattern.test($.value))return;$.issues.push({origin:"string",code:"invalid_format",format:X.format,input:$.value,...X.pattern?{pattern:X.pattern.toString()}:{},inst:Q,continue:!X.abort})});else(W=Q._zod).check??(W.check=()=>{})}),mG=j("$ZodCheckRegex",(Q,X)=>{E4.init(Q,X),Q._zod.check=(Y)=>{if(X.pattern.lastIndex=0,X.pattern.test(Y.value))return;Y.issues.push({origin:"string",code:"invalid_format",format:"regex",input:Y.value,pattern:X.pattern.toString(),inst:Q,continue:!X.abort})}}),cG=j("$ZodCheckLowerCase",(Q,X)=>{X.pattern??(X.pattern=_G),E4.init(Q,X)}),pG=j("$ZodCheckUpperCase",(Q,X)=>{X.pattern??(X.pattern=xG),E4.init(Q,X)}),dG=j("$ZodCheckIncludes",(Q,X)=>{k0.init(Q,X);let Y=D6(X.includes),W=new RegExp(typeof X.position==="number"?`^.{${X.position}}${Y}`:Y);X.pattern=W,Q._zod.onattach.push(($)=>{let J=$._zod.bag;J.patterns??(J.patterns=new Set),J.patterns.add(W)}),Q._zod.check=($)=>{if($.value.includes(X.includes,X.position))return;$.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:X.includes,input:$.value,inst:Q,continue:!X.abort})}}),iG=j("$ZodCheckStartsWith",(Q,X)=>{k0.init(Q,X);let Y=new RegExp(`^${D6(X.prefix)}.*`);X.pattern??(X.pattern=Y),Q._zod.onattach.push((W)=>{let $=W._zod.bag;$.patterns??($.patterns=new Set),$.patterns.add(Y)}),Q._zod.check=(W)=>{if(W.value.startsWith(X.prefix))return;W.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:X.prefix,input:W.value,inst:Q,continue:!X.abort})}}),nG=j("$ZodCheckEndsWith",(Q,X)=>{k0.init(Q,X);let Y=new RegExp(`.*${D6(X.suffix)}$`);X.pattern??(X.pattern=Y),Q._zod.onattach.push((W)=>{let $=W._zod.bag;$.patterns??($.patterns=new Set),$.patterns.add(Y)}),Q._zod.check=(W)=>{if(W.value.endsWith(X.suffix))return;W.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:X.suffix,input:W.value,inst:Q,continue:!X.abort})}});var oG=j("$ZodCheckOverwrite",(Q,X)=>{k0.init(Q,X),Q._zod.check=(Y)=>{Y.value=X.tx(Y.value)}});class QW{constructor(Q=[]){if(this.content=[],this.indent=0,this)this.args=Q}indented(Q){this.indent+=1,Q(this),this.indent-=1}write(Q){if(typeof Q==="function"){Q(this,{execution:"sync"}),Q(this,{execution:"async"});return}let Y=Q.split(`
16
+ deps: ${Y}}`};var mx={keyword:"dependencies",type:"object",schemaType:"object",error:pD.error,code(Q){let[X,Y]=cx(Q);mD(Q,X),cD(Q,Y)}};function cx({schema:Q}){let X={},Y={};for(let W in Q){if(W==="__proto__")continue;let $=Array.isArray(Q[W])?X:Y;$[W]=Q[W]}return[X,Y]}function mD(Q,X=Q.schema){let{gen:Y,data:W,it:$}=Q;if(Object.keys(X).length===0)return;let J=Y.let("missing");for(let G in X){let H=X[G];if(H.length===0)continue;let B=(0,c4.propertyInData)(Y,W,G,$.opts.ownProperties);if(Q.setParams({property:G,depsCount:H.length,deps:H.join(", ")}),$.allErrors)Y.if(B,()=>{for(let z of H)(0,c4.checkReportMissingProp)(Q,z)});else Y.if(KJ._`${B} && (${(0,c4.checkMissingProp)(Q,H,J)})`),(0,c4.reportMissingProp)(Q,J),Y.else()}}pD.validatePropertyDeps=mD;function cD(Q,X=Q.schema){let{gen:Y,data:W,keyword:$,it:J}=Q,G=Y.name("valid");for(let H in X){if((0,lx.alwaysValidSchema)(J,X[H]))continue;Y.if((0,c4.propertyInData)(Y,W,H,J.opts.ownProperties),()=>{let B=Q.subschema({keyword:$,schemaProp:H},G);Q.mergeValidEvaluated(B,G)},()=>Y.var(G,!0)),Q.ok(G)}}pD.validateSchemaDeps=cD;pD.default=mx});var tD=j((rD)=>{Object.defineProperty(rD,"__esModule",{value:!0});var oD=n(),ix=$0(),nx={message:"property name must be valid",params:({params:Q})=>oD._`{propertyName: ${Q.propertyName}}`},ox={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:nx,code(Q){let{gen:X,schema:Y,data:W,it:$}=Q;if((0,ix.alwaysValidSchema)($,Y))return;let J=X.name("valid");X.forIn("key",W,(G)=>{Q.setParams({propertyName:G}),Q.subschema({keyword:"propertyNames",data:G,dataTypes:["string"],propertyName:G,compositeRule:!0},J),X.if((0,oD.not)(J),()=>{if(Q.error(!0),!$.allErrors)X.break()})}),Q.ok(J)}};rD.default=ox});var VJ=j((aD)=>{Object.defineProperty(aD,"__esModule",{value:!0});var BY=D1(),x1=n(),tx=H6(),zY=$0(),ax={message:"must NOT have additional properties",params:({params:Q})=>x1._`{additionalProperty: ${Q.additionalProperty}}`},sx={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:ax,code(Q){let{gen:X,schema:Y,parentSchema:W,data:$,errsCount:J,it:G}=Q;if(!J)throw Error("ajv implementation error");let{allErrors:H,opts:B}=G;if(G.props=!0,B.removeAdditional!=="all"&&(0,zY.alwaysValidSchema)(G,Y))return;let z=(0,BY.allSchemaProperties)(W.properties),K=(0,BY.allSchemaProperties)(W.patternProperties);V(),Q.ok(x1._`${J} === ${tx.default.errors}`);function V(){X.forIn("key",$,(L)=>{if(!z.length&&!K.length)A(L);else X.if(q(L),()=>A(L))})}function q(L){let O;if(z.length>8){let N=(0,zY.schemaRefOrVal)(G,W.properties,"properties");O=(0,BY.isOwnProperty)(X,N,L)}else if(z.length)O=(0,x1.or)(...z.map((N)=>x1._`${L} === ${N}`));else O=x1.nil;if(K.length)O=(0,x1.or)(O,...K.map((N)=>x1._`${(0,BY.usePattern)(Q,N)}.test(${L})`));return(0,x1.not)(O)}function F(L){X.code(x1._`delete ${$}[${L}]`)}function A(L){if(B.removeAdditional==="all"||B.removeAdditional&&Y===!1){F(L);return}if(Y===!1){if(Q.setParams({additionalProperty:L}),Q.error(),!H)X.break();return}if(typeof Y=="object"&&!(0,zY.alwaysValidSchema)(G,Y)){let O=X.name("valid");if(B.removeAdditional==="failing")D(L,O,!1),X.if((0,x1.not)(O),()=>{Q.reset(),F(L)});else if(D(L,O),!H)X.if((0,x1.not)(O),()=>X.break())}}function D(L,O,N){let w={keyword:"additionalProperties",dataProp:L,dataPropType:zY.Type.Str};if(N===!1)Object.assign(w,{compositeRule:!0,createErrors:!1,allErrors:!1});Q.subschema(w,O)}}};aD.default=sx});var XL=j((QL)=>{Object.defineProperty(QL,"__esModule",{value:!0});var Qy=k4(),sD=D1(),FJ=$0(),eD=VJ(),Xy={keyword:"properties",type:"object",schemaType:"object",code(Q){let{gen:X,schema:Y,parentSchema:W,data:$,it:J}=Q;if(J.opts.removeAdditional==="all"&&W.additionalProperties===void 0)eD.default.code(new Qy.KeywordCxt(J,eD.default,"additionalProperties"));let G=(0,sD.allSchemaProperties)(Y);for(let V of G)J.definedProperties.add(V);if(J.opts.unevaluated&&G.length&&J.props!==!0)J.props=FJ.mergeEvaluated.props(X,(0,FJ.toHash)(G),J.props);let H=G.filter((V)=>!(0,FJ.alwaysValidSchema)(J,Y[V]));if(H.length===0)return;let B=X.name("valid");for(let V of H){if(z(V))K(V);else{if(X.if((0,sD.propertyInData)(X,$,V,J.opts.ownProperties)),K(V),!J.allErrors)X.else().var(B,!0);X.endIf()}Q.it.definedProperties.add(V),Q.ok(B)}function z(V){return J.opts.useDefaults&&!J.compositeRule&&Y[V].default!==void 0}function K(V){Q.subschema({keyword:"properties",schemaProp:V,dataProp:V},B)}}};QL.default=Xy});var GL=j((JL)=>{Object.defineProperty(JL,"__esModule",{value:!0});var YL=D1(),KY=n(),WL=$0(),$L=$0(),Wy={keyword:"patternProperties",type:"object",schemaType:"object",code(Q){let{gen:X,schema:Y,data:W,parentSchema:$,it:J}=Q,{opts:G}=J,H=(0,YL.allSchemaProperties)(Y),B=H.filter((D)=>(0,WL.alwaysValidSchema)(J,Y[D]));if(H.length===0||B.length===H.length&&(!J.opts.unevaluated||J.props===!0))return;let z=G.strictSchema&&!G.allowMatchingProperties&&$.properties,K=X.name("valid");if(J.props!==!0&&!(J.props instanceof KY.Name))J.props=(0,$L.evaluatedPropsToName)(X,J.props);let{props:V}=J;q();function q(){for(let D of H){if(z)F(D);if(J.allErrors)A(D);else X.var(K,!0),A(D),X.if(K)}}function F(D){for(let L in z)if(new RegExp(D).test(L))(0,WL.checkStrictMode)(J,`property ${L} matches pattern ${D} (use allowMatchingProperties)`)}function A(D){X.forIn("key",W,(L)=>{X.if(KY._`${(0,YL.usePattern)(Q,D)}.test(${L})`,()=>{let O=B.includes(D);if(!O)Q.subschema({keyword:"patternProperties",schemaProp:D,dataProp:L,dataPropType:$L.Type.Str},K);if(J.opts.unevaluated&&V!==!0)X.assign(KY._`${V}[${L}]`,!0);else if(!O&&!J.allErrors)X.if((0,KY.not)(K),()=>X.break())})})}}};JL.default=Wy});var BL=j((HL)=>{Object.defineProperty(HL,"__esModule",{value:!0});var Jy=$0(),Gy={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(Q){let{gen:X,schema:Y,it:W}=Q;if((0,Jy.alwaysValidSchema)(W,Y)){Q.fail();return}let $=X.name("valid");Q.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},$),Q.failResult($,()=>Q.reset(),()=>Q.error())},error:{message:"must NOT be valid"}};HL.default=Gy});var KL=j((zL)=>{Object.defineProperty(zL,"__esModule",{value:!0});var By=D1(),zy={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:By.validateUnion,error:{message:"must match a schema in anyOf"}};zL.default=zy});var FL=j((VL)=>{Object.defineProperty(VL,"__esModule",{value:!0});var VY=n(),Vy=$0(),Fy={message:"must match exactly one schema in oneOf",params:({params:Q})=>VY._`{passingSchemas: ${Q.passing}}`},Ay={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:Fy,code(Q){let{gen:X,schema:Y,parentSchema:W,it:$}=Q;if(!Array.isArray(Y))throw Error("ajv implementation error");if($.opts.discriminator&&W.discriminator)return;let J=Y,G=X.let("valid",!1),H=X.let("passing",null),B=X.name("_valid");Q.setParams({passing:H}),X.block(z),Q.result(G,()=>Q.reset(),()=>Q.error(!0));function z(){J.forEach((K,V)=>{let q;if((0,Vy.alwaysValidSchema)($,K))X.var(B,!0);else q=Q.subschema({keyword:"oneOf",schemaProp:V,compositeRule:!0},B);if(V>0)X.if(VY._`${B} && ${G}`).assign(G,!1).assign(H,VY._`[${H}, ${V}]`).else();X.if(B,()=>{if(X.assign(G,!0),X.assign(H,V),q)Q.mergeEvaluated(q,VY.Name)})})}}};VL.default=Ay});var qL=j((AL)=>{Object.defineProperty(AL,"__esModule",{value:!0});var Dy=$0(),Ly={keyword:"allOf",schemaType:"array",code(Q){let{gen:X,schema:Y,it:W}=Q;if(!Array.isArray(Y))throw Error("ajv implementation error");let $=X.name("valid");Y.forEach((J,G)=>{if((0,Dy.alwaysValidSchema)(W,J))return;let H=Q.subschema({keyword:"allOf",schemaProp:G},$);Q.ok($),Q.mergeEvaluated(H)})}};AL.default=Ly});var UL=j((OL)=>{Object.defineProperty(OL,"__esModule",{value:!0});var FY=n(),LL=$0(),Uy={message:({params:Q})=>FY.str`must match "${Q.ifClause}" schema`,params:({params:Q})=>FY._`{failingKeyword: ${Q.ifClause}}`},jy={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:Uy,code(Q){let{gen:X,parentSchema:Y,it:W}=Q;if(Y.then===void 0&&Y.else===void 0)(0,LL.checkStrictMode)(W,'"if" without "then" and "else" is ignored');let $=DL(W,"then"),J=DL(W,"else");if(!$&&!J)return;let G=X.let("valid",!0),H=X.name("_valid");if(B(),Q.reset(),$&&J){let K=X.let("ifClause");Q.setParams({ifClause:K}),X.if(H,z("then",K),z("else",K))}else if($)X.if(H,z("then"));else X.if((0,FY.not)(H),z("else"));Q.pass(G,()=>Q.error(!0));function B(){let K=Q.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},H);Q.mergeEvaluated(K)}function z(K,V){return()=>{let q=Q.subschema({keyword:K},H);if(X.assign(G,H),Q.mergeValidEvaluated(q,G),V)X.assign(V,FY._`${K}`);else Q.setParams({ifClause:K})}}}};function DL(Q,X){let Y=Q.schema[X];return Y!==void 0&&!(0,LL.alwaysValidSchema)(Q,Y)}OL.default=jy});var ML=j((jL)=>{Object.defineProperty(jL,"__esModule",{value:!0});var Ny=$0(),wy={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:Q,parentSchema:X,it:Y}){if(X.if===void 0)(0,Ny.checkStrictMode)(Y,`"${Q}" without "if" is ignored`)}};jL.default=wy});var wL=j((NL)=>{Object.defineProperty(NL,"__esModule",{value:!0});var Py=BJ(),Zy=yD(),Ry=zJ(),Ey=hD(),Sy=lD(),Iy=nD(),Ty=tD(),Cy=VJ(),ky=XL(),vy=GL(),_y=BL(),xy=KL(),yy=FL(),fy=qL(),gy=UL(),hy=ML();function uy(Q=!1){let X=[_y.default,xy.default,yy.default,fy.default,gy.default,hy.default,Ty.default,Cy.default,Iy.default,ky.default,vy.default];if(Q)X.push(Zy.default,Ey.default);else X.push(Py.default,Ry.default);return X.push(Sy.default),X}NL.default=uy});var PL=j((bL)=>{Object.defineProperty(bL,"__esModule",{value:!0});var R0=n(),my={message:({schemaCode:Q})=>R0.str`must match format "${Q}"`,params:({schemaCode:Q})=>R0._`{format: ${Q}}`},cy={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:my,code(Q,X){let{gen:Y,data:W,$data:$,schema:J,schemaCode:G,it:H}=Q,{opts:B,errSchemaPath:z,schemaEnv:K,self:V}=H;if(!B.validateFormats)return;if($)q();else F();function q(){let A=Y.scopeValue("formats",{ref:V.formats,code:B.code.formats}),D=Y.const("fDef",R0._`${A}[${G}]`),L=Y.let("fType"),O=Y.let("format");Y.if(R0._`typeof ${D} == "object" && !(${D} instanceof RegExp)`,()=>Y.assign(L,R0._`${D}.type || "string"`).assign(O,R0._`${D}.validate`),()=>Y.assign(L,R0._`"string"`).assign(O,D)),Q.fail$data((0,R0.or)(N(),w()));function N(){if(B.strictSchema===!1)return R0.nil;return R0._`${G} && !${O}`}function w(){let C=K.$async?R0._`(${D}.async ? await ${O}(${W}) : ${O}(${W}))`:R0._`${O}(${W})`,Z=R0._`(typeof ${O} == "function" ? ${C} : ${O}.test(${W}))`;return R0._`${O} && ${O} !== true && ${L} === ${X} && !${Z}`}}function F(){let A=V.formats[J];if(!A){N();return}if(A===!0)return;let[D,L,O]=w(A);if(D===X)Q.pass(C());function N(){if(B.strictSchema===!1){V.logger.warn(Z());return}throw Error(Z());function Z(){return`unknown format "${J}" ignored in schema at path "${z}"`}}function w(Z){let K0=Z instanceof RegExp?(0,R0.regexpCode)(Z):B.code.formats?R0._`${B.code.formats}${(0,R0.getProperty)(J)}`:void 0,P0=Y.scopeValue("formats",{key:J,ref:Z,code:K0});if(typeof Z=="object"&&!(Z instanceof RegExp))return[Z.type||"string",Z.validate,R0._`${P0}.validate`];return["string",Z,P0]}function C(){if(typeof A=="object"&&!(A instanceof RegExp)&&A.async){if(!K.$async)throw Error("async format in sync schema");return R0._`await ${O}(${W})`}return typeof L=="function"?R0._`${O}(${W})`:R0._`${O}.test(${W})`}}}};bL.default=cy});var RL=j((ZL)=>{Object.defineProperty(ZL,"__esModule",{value:!0});var dy=PL(),iy=[dy.default];ZL.default=iy});var IL=j((EL)=>{Object.defineProperty(EL,"__esModule",{value:!0});EL.contentVocabulary=EL.metadataVocabulary=void 0;EL.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];EL.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var kL=j((CL)=>{Object.defineProperty(CL,"__esModule",{value:!0});var ry=QD(),ty=ED(),ay=wL(),sy=RL(),TL=IL(),ey=[ry.default,ty.default,(0,ay.default)(),sy.default,TL.metadataVocabulary,TL.contentVocabulary];CL.default=ey});var yL=j((_L)=>{Object.defineProperty(_L,"__esModule",{value:!0});_L.DiscrError=void 0;var vL;(function(Q){Q.Tag="tag",Q.Mapping="mapping"})(vL||(_L.DiscrError=vL={}))});var hL=j((gL)=>{Object.defineProperty(gL,"__esModule",{value:!0});var B8=n(),AJ=yL(),fL=aX(),Xf=v4(),Yf=$0(),Wf={message:({params:{discrError:Q,tagName:X}})=>Q===AJ.DiscrError.Tag?`tag "${X}" must be string`:`value of tag "${X}" must be in oneOf`,params:({params:{discrError:Q,tag:X,tagName:Y}})=>B8._`{error: ${Q}, tag: ${Y}, tagValue: ${X}}`},$f={keyword:"discriminator",type:"object",schemaType:"object",error:Wf,code(Q){let{gen:X,data:Y,schema:W,parentSchema:$,it:J}=Q,{oneOf:G}=$;if(!J.opts.discriminator)throw Error("discriminator: requires discriminator option");let H=W.propertyName;if(typeof H!="string")throw Error("discriminator: requires propertyName");if(W.mapping)throw Error("discriminator: mapping is not supported");if(!G)throw Error("discriminator: requires oneOf keyword");let B=X.let("valid",!1),z=X.const("tag",B8._`${Y}${(0,B8.getProperty)(H)}`);X.if(B8._`typeof ${z} == "string"`,()=>K(),()=>Q.error(!1,{discrError:AJ.DiscrError.Tag,tag:z,tagName:H})),Q.ok(B);function K(){let F=q();X.if(!1);for(let A in F)X.elseIf(B8._`${z} === ${A}`),X.assign(B,V(F[A]));X.else(),Q.error(!1,{discrError:AJ.DiscrError.Mapping,tag:z,tagName:H}),X.endIf()}function V(F){let A=X.name("valid"),D=Q.subschema({keyword:"oneOf",schemaProp:F},A);return Q.mergeEvaluated(D,B8.Name),A}function q(){var F;let A={},D=O($),L=!0;for(let C=0;C<G.length;C++){let Z=G[C];if((Z===null||Z===void 0?void 0:Z.$ref)&&!(0,Yf.schemaHasRulesButRef)(Z,J.self.RULES)){let P0=Z.$ref;if(Z=fL.resolveRef.call(J.self,J.schemaEnv.root,J.baseId,P0),Z instanceof fL.SchemaEnv)Z=Z.schema;if(Z===void 0)throw new Xf.default(J.opts.uriResolver,J.baseId,P0)}let K0=(F=Z===null||Z===void 0?void 0:Z.properties)===null||F===void 0?void 0:F[H];if(typeof K0!="object")throw Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${H}"`);L=L&&(D||O(Z)),N(K0,C)}if(!L)throw Error(`discriminator: "${H}" must be required`);return A;function O({required:C}){return Array.isArray(C)&&C.includes(H)}function N(C,Z){if(C.const)w(C.const,Z);else if(C.enum)for(let K0 of C.enum)w(K0,Z);else throw Error(`discriminator: "properties/${H}" must have "const" or "enum"`)}function w(C,Z){if(typeof C!="string"||C in A)throw Error(`discriminator: "${H}" values must be unique strings`);A[C]=Z}}}};gL.default=$f});var uL=j((Nn,Gf)=>{Gf.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var mL=j((H1,qJ)=>{Object.defineProperty(H1,"__esModule",{value:!0});H1.MissingRefError=H1.ValidationError=H1.CodeGen=H1.Name=H1.nil=H1.stringify=H1.str=H1._=H1.KeywordCxt=H1.Ajv=void 0;var Hf=pq(),Bf=kL(),zf=hL(),lL=uL(),Kf=["/properties"],AY="http://json-schema.org/draft-07/schema";class p4 extends Hf.default{_addVocabularies(){if(super._addVocabularies(),Bf.default.forEach((Q)=>this.addVocabulary(Q)),this.opts.discriminator)this.addKeyword(zf.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let Q=this.opts.$data?this.$dataMetaSchema(lL,Kf):lL;this.addMetaSchema(Q,AY,!1),this.refs["http://json-schema.org/schema"]=AY}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(AY)?AY:void 0)}}H1.Ajv=p4;qJ.exports=H1=p4;qJ.exports.Ajv=p4;Object.defineProperty(H1,"__esModule",{value:!0});H1.default=p4;var Vf=k4();Object.defineProperty(H1,"KeywordCxt",{enumerable:!0,get:function(){return Vf.KeywordCxt}});var z8=n();Object.defineProperty(H1,"_",{enumerable:!0,get:function(){return z8._}});Object.defineProperty(H1,"str",{enumerable:!0,get:function(){return z8.str}});Object.defineProperty(H1,"stringify",{enumerable:!0,get:function(){return z8.stringify}});Object.defineProperty(H1,"nil",{enumerable:!0,get:function(){return z8.nil}});Object.defineProperty(H1,"Name",{enumerable:!0,get:function(){return z8.Name}});Object.defineProperty(H1,"CodeGen",{enumerable:!0,get:function(){return z8.CodeGen}});var Ff=rX();Object.defineProperty(H1,"ValidationError",{enumerable:!0,get:function(){return Ff.default}});var Af=v4();Object.defineProperty(H1,"MissingRefError",{enumerable:!0,get:function(){return Af.default}})});var pL=j((cL)=>{Object.defineProperty(cL,"__esModule",{value:!0});cL.formatLimitDefinition=void 0;var Lf=mL(),y1=n(),_6=y1.operators,qY={formatMaximum:{okStr:"<=",ok:_6.LTE,fail:_6.GT},formatMinimum:{okStr:">=",ok:_6.GTE,fail:_6.LT},formatExclusiveMaximum:{okStr:"<",ok:_6.LT,fail:_6.GTE},formatExclusiveMinimum:{okStr:">",ok:_6.GT,fail:_6.LTE}},Of={message:({keyword:Q,schemaCode:X})=>y1.str`should be ${qY[Q].okStr} ${X}`,params:({keyword:Q,schemaCode:X})=>y1._`{comparison: ${qY[Q].okStr}, limit: ${X}}`};cL.formatLimitDefinition={keyword:Object.keys(qY),type:"string",schemaType:"string",$data:!0,error:Of,code(Q){let{gen:X,data:Y,schemaCode:W,keyword:$,it:J}=Q,{opts:G,self:H}=J;if(!G.validateFormats)return;let B=new Lf.KeywordCxt(J,H.RULES.all.format.definition,"format");if(B.$data)z();else K();function z(){let q=X.scopeValue("formats",{ref:H.formats,code:G.code.formats}),F=X.const("fmt",y1._`${q}[${B.schemaCode}]`);Q.fail$data((0,y1.or)(y1._`typeof ${F} != "object"`,y1._`${F} instanceof RegExp`,y1._`typeof ${F}.compare != "function"`,V(F)))}function K(){let q=B.schema,F=H.formats[q];if(!F||F===!0)return;if(typeof F!="object"||F instanceof RegExp||typeof F.compare!="function")throw Error(`"${$}": format "${q}" does not define "compare" function`);let A=X.scopeValue("formats",{key:q,ref:F,code:G.code.formats?y1._`${G.code.formats}${(0,y1.getProperty)(q)}`:void 0});Q.fail$data(V(A))}function V(q){return y1._`${q}.compare(${Y}, ${W}) ${qY[$].fail} 0`}},dependencies:["format"]};var Uf=(Q)=>{return Q.addKeyword(cL.formatLimitDefinition),Q};cL.default=Uf});var oL=j((d4,nL)=>{Object.defineProperty(d4,"__esModule",{value:!0});var K8=uF(),Mf=pL(),LJ=n(),dL=new LJ.Name("fullFormats"),Nf=new LJ.Name("fastFormats"),OJ=(Q,X={keywords:!0})=>{if(Array.isArray(X))return iL(Q,X,K8.fullFormats,dL),Q;let[Y,W]=X.mode==="fast"?[K8.fastFormats,Nf]:[K8.fullFormats,dL],$=X.formats||K8.formatNames;if(iL(Q,$,Y,W),X.keywords)(0,Mf.default)(Q);return Q};OJ.get=(Q,X="full")=>{let W=(X==="fast"?K8.fastFormats:K8.fullFormats)[Q];if(!W)throw Error(`Unknown format "${Q}"`);return W};function iL(Q,X,Y,W){var $,J;($=(J=Q.opts.code).formats)!==null&&$!==void 0||(J.formats=LJ._`require("ajv-formats/dist/formats").${W}`);for(let G of X)Q.addFormat(G,Y[G])}nL.exports=d4=OJ;Object.defineProperty(d4,"__esModule",{value:!0});d4.default=OJ});var RO=j((Kr,ZO)=>{ZO.exports=PO;PO.sync=Rg;var wO=K1("fs");function Zg(Q,X){var Y=X.pathExt!==void 0?X.pathExt:process.env.PATHEXT;if(!Y)return!0;if(Y=Y.split(";"),Y.indexOf("")!==-1)return!0;for(var W=0;W<Y.length;W++){var $=Y[W].toLowerCase();if($&&Q.substr(-$.length).toLowerCase()===$)return!0}return!1}function bO(Q,X,Y){if(!Q.isSymbolicLink()&&!Q.isFile())return!1;return Zg(X,Y)}function PO(Q,X,Y){wO.stat(Q,function(W,$){Y(W,W?!1:bO($,Q,X))})}function Rg(Q,X){return bO(wO.statSync(Q),Q,X)}});var CO=j((Vr,TO)=>{TO.exports=SO;SO.sync=Eg;var EO=K1("fs");function SO(Q,X,Y){EO.stat(Q,function(W,$){Y(W,W?!1:IO($,X))})}function Eg(Q,X){return IO(EO.statSync(Q),X)}function IO(Q,X){return Q.isFile()&&Sg(Q,X)}function Sg(Q,X){var{mode:Y,uid:W,gid:$}=Q,J=X.uid!==void 0?X.uid:process.getuid&&process.getuid(),G=X.gid!==void 0?X.gid:process.getgid&&process.getgid(),H=parseInt("100",8),B=parseInt("010",8),z=parseInt("001",8),K=H|B,V=Y&z||Y&B&&$===G||Y&H&&W===J||Y&K&&J===0;return V}});var vO=j((Ar,kO)=>{var Fr=K1("fs"),xY;if(process.platform==="win32"||global.TESTING_WINDOWS)xY=RO();else xY=CO();kO.exports=rJ;rJ.sync=Ig;function rJ(Q,X,Y){if(typeof X==="function")Y=X,X={};if(!Y){if(typeof Promise!=="function")throw TypeError("callback not provided");return new Promise(function(W,$){rJ(Q,X||{},function(J,G){if(J)$(J);else W(G)})})}xY(Q,X||{},function(W,$){if(W){if(W.code==="EACCES"||X&&X.ignoreErrors)W=null,$=!1}Y(W,$)})}function Ig(Q,X){try{return xY.sync(Q,X||{})}catch(Y){if(X&&X.ignoreErrors||Y.code==="EACCES")return!1;else throw Y}}});var uO=j((qr,hO)=>{var O8=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",_O=K1("path"),Tg=O8?";":":",xO=vO(),yO=(Q)=>Object.assign(Error(`not found: ${Q}`),{code:"ENOENT"}),fO=(Q,X)=>{let Y=X.colon||Tg,W=Q.match(/\//)||O8&&Q.match(/\\/)?[""]:[...O8?[process.cwd()]:[],...(X.path||process.env.PATH||"").split(Y)],$=O8?X.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",J=O8?$.split(Y):[""];if(O8){if(Q.indexOf(".")!==-1&&J[0]!=="")J.unshift("")}return{pathEnv:W,pathExt:J,pathExtExe:$}},gO=(Q,X,Y)=>{if(typeof X==="function")Y=X,X={};if(!X)X={};let{pathEnv:W,pathExt:$,pathExtExe:J}=fO(Q,X),G=[],H=(z)=>new Promise((K,V)=>{if(z===W.length)return X.all&&G.length?K(G):V(yO(Q));let q=W[z],F=/^".*"$/.test(q)?q.slice(1,-1):q,A=_O.join(F,Q),D=!F&&/^\.[\\\/]/.test(Q)?Q.slice(0,2)+A:A;K(B(D,z,0))}),B=(z,K,V)=>new Promise((q,F)=>{if(V===$.length)return q(H(K+1));let A=$[V];xO(z+A,{pathExt:J},(D,L)=>{if(!D&&L)if(X.all)G.push(z+A);else return q(z+A);return q(B(z,K,V+1))})});return Y?H(0).then((z)=>Y(null,z),Y):H(0)},Cg=(Q,X)=>{X=X||{};let{pathEnv:Y,pathExt:W,pathExtExe:$}=fO(Q,X),J=[];for(let G=0;G<Y.length;G++){let H=Y[G],B=/^".*"$/.test(H)?H.slice(1,-1):H,z=_O.join(B,Q),K=!B&&/^\.[\\\/]/.test(Q)?Q.slice(0,2)+z:z;for(let V=0;V<W.length;V++){let q=K+W[V];try{if(xO.sync(q,{pathExt:$}))if(X.all)J.push(q);else return q}catch(F){}}}if(X.all&&J.length)return J;if(X.nothrow)return null;throw yO(Q)};hO.exports=gO;gO.sync=Cg});var mO=j((Dr,tJ)=>{var lO=(Q={})=>{let X=Q.env||process.env;if((Q.platform||process.platform)!=="win32")return"PATH";return Object.keys(X).reverse().find((W)=>W.toUpperCase()==="PATH")||"Path"};tJ.exports=lO;tJ.exports.default=lO});var iO=j((Lr,dO)=>{var cO=K1("path"),kg=uO(),vg=mO();function pO(Q,X){let Y=Q.options.env||process.env,W=process.cwd(),$=Q.options.cwd!=null,J=$&&process.chdir!==void 0&&!process.chdir.disabled;if(J)try{process.chdir(Q.options.cwd)}catch(H){}let G;try{G=kg.sync(Q.command,{path:Y[vg({env:Y})],pathExt:X?cO.delimiter:void 0})}catch(H){}finally{if(J)process.chdir(W)}if(G)G=cO.resolve($?Q.options.cwd:"",G);return G}function _g(Q){return pO(Q)||pO(Q,!0)}dO.exports=_g});var nO=j((fg,sJ)=>{var aJ=/([()\][%!^"`<>&|;, *?])/g;function xg(Q){return Q=Q.replace(aJ,"^$1"),Q}function yg(Q,X){if(Q=`${Q}`,Q=Q.replace(/(?=(\\+?)?)\1"/g,"$1$1\\\""),Q=Q.replace(/(?=(\\+?)?)\1$/,"$1$1"),Q=`"${Q}"`,Q=Q.replace(aJ,"^$1"),X)Q=Q.replace(aJ,"^$1");return Q}fg.command=xg;fg.argument=yg});var rO=j((Or,oO)=>{oO.exports=/^#!(.*)/});var aO=j((Ur,tO)=>{var ug=rO();tO.exports=(Q="")=>{let X=Q.match(ug);if(!X)return null;let[Y,W]=X[0].replace(/#! ?/,"").split(" "),$=Y.split("/").pop();if($==="env")return W;return W?`${$} ${W}`:$}});var eO=j((jr,sO)=>{var eJ=K1("fs"),lg=aO();function mg(Q){let Y=Buffer.alloc(150),W;try{W=eJ.openSync(Q,"r"),eJ.readSync(W,Y,0,150,0),eJ.closeSync(W)}catch($){}return lg(Y.toString())}sO.exports=mg});var WU=j((Mr,YU)=>{var cg=K1("path"),QU=iO(),XU=nO(),pg=eO(),dg=process.platform==="win32",ig=/\.(?:com|exe)$/i,ng=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function og(Q){Q.file=QU(Q);let X=Q.file&&pg(Q.file);if(X)return Q.args.unshift(Q.file),Q.command=X,QU(Q);return Q.file}function rg(Q){if(!dg)return Q;let X=og(Q),Y=!ig.test(X);if(Q.options.forceShell||Y){let W=ng.test(X);Q.command=cg.normalize(Q.command),Q.command=XU.command(Q.command),Q.args=Q.args.map((J)=>XU.argument(J,W));let $=[Q.command].concat(Q.args).join(" ");Q.args=["/d","/s","/c",`"${$}"`],Q.command=process.env.comspec||"cmd.exe",Q.options.windowsVerbatimArguments=!0}return Q}function tg(Q,X,Y){if(X&&!Array.isArray(X))Y=X,X=null;X=X?X.slice(0):[],Y=Object.assign({},Y);let W={command:Q,args:X,options:Y,file:void 0,original:{command:Q,args:X}};return Y.shell?W:rg(W)}YU.exports=tg});var GU=j((Nr,JU)=>{var QG=process.platform==="win32";function XG(Q,X){return Object.assign(Error(`${X} ${Q.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${X} ${Q.command}`,path:Q.command,spawnargs:Q.args})}function ag(Q,X){if(!QG)return;let Y=Q.emit;Q.emit=function(W,$){if(W==="exit"){let J=$U($,X);if(J)return Y.call(Q,"error",J)}return Y.apply(Q,arguments)}}function $U(Q,X){if(QG&&Q===1&&!X.file)return XG(X.original,"spawn");return null}function sg(Q,X){if(QG&&Q===1&&!X.file)return XG(X.original,"spawnSync");return null}JU.exports={hookChildProcess:ag,verifyENOENT:$U,verifyENOENTSync:sg,notFoundError:XG}});var zU=j((wr,U8)=>{var HU=K1("child_process"),YG=WU(),WG=GU();function BU(Q,X,Y){let W=YG(Q,X,Y),$=HU.spawn(W.command,W.args,W.options);return WG.hookChildProcess($,W),$}function eg(Q,X,Y){let W=YG(Q,X,Y),$=HU.spawnSync(W.command,W.args,W.options);return $.error=$.error||WG.verifyENOENTSync($.status,W),$}U8.exports=BU;U8.exports.spawn=BU;U8.exports.sync=eg;U8.exports._parse=YG;U8.exports._enoent=WG});var x={};t4(x,{void:()=>$j,util:()=>t,unknown:()=>Yj,union:()=>Hj,undefined:()=>eU,tuple:()=>Kj,transformer:()=>Mj,symbol:()=>sU,string:()=>OG,strictObject:()=>Gj,setErrorMap:()=>bU,set:()=>Aj,record:()=>Vj,quotelessJson:()=>NU,promise:()=>jj,preprocess:()=>bj,pipeline:()=>Pj,ostring:()=>Zj,optional:()=>Nj,onumber:()=>Rj,oboolean:()=>Ej,objectUtil:()=>hY,object:()=>mY,number:()=>UG,nullable:()=>wj,null:()=>Qj,never:()=>Wj,nativeEnum:()=>Uj,nan:()=>rU,map:()=>Fj,makeIssue:()=>N8,literal:()=>Lj,lazy:()=>Dj,late:()=>nU,isValid:()=>K6,isDirty:()=>s4,isAsync:()=>j9,isAborted:()=>a4,intersection:()=>zj,instanceof:()=>oU,getParsedType:()=>h1,getErrorMap:()=>U9,function:()=>qj,enum:()=>Oj,effect:()=>Mj,discriminatedUnion:()=>Bj,defaultErrorMap:()=>o1,datetimeRegex:()=>qG,date:()=>aU,custom:()=>LG,coerce:()=>Sj,boolean:()=>jG,bigint:()=>tU,array:()=>Jj,any:()=>Xj,addIssueToContext:()=>T,ZodVoid:()=>b8,ZodUnknown:()=>V6,ZodUnion:()=>Z9,ZodUndefined:()=>b9,ZodType:()=>o,ZodTuple:()=>l1,ZodTransformer:()=>N1,ZodSymbol:()=>w8,ZodString:()=>U1,ZodSet:()=>c6,ZodSchema:()=>o,ZodRecord:()=>P8,ZodReadonly:()=>k9,ZodPromise:()=>p6,ZodPipeline:()=>E8,ZodParsedType:()=>R,ZodOptional:()=>B1,ZodObject:()=>w0,ZodNumber:()=>F6,ZodNullable:()=>t1,ZodNull:()=>P9,ZodNever:()=>u1,ZodNativeEnum:()=>I9,ZodNaN:()=>R8,ZodMap:()=>Z8,ZodLiteral:()=>S9,ZodLazy:()=>E9,ZodIssueCode:()=>b,ZodIntersection:()=>R9,ZodFunction:()=>N9,ZodFirstPartyTypeKind:()=>P,ZodError:()=>r0,ZodEnum:()=>q6,ZodEffects:()=>N1,ZodDiscriminatedUnion:()=>e4,ZodDefault:()=>T9,ZodDate:()=>l6,ZodCatch:()=>C9,ZodBranded:()=>QQ,ZodBoolean:()=>w9,ZodBigInt:()=>A6,ZodArray:()=>j1,ZodAny:()=>m6,Schema:()=>o,ParseStatus:()=>C0,OK:()=>h0,NEVER:()=>Ij,INVALID:()=>h,EMPTY_PATH:()=>PU,DIRTY:()=>u6,BRAND:()=>iU});var t;(function(Q){Q.assertEqual=($)=>{};function X($){}Q.assertIs=X;function Y($){throw Error()}Q.assertNever=Y,Q.arrayToEnum=($)=>{let J={};for(let G of $)J[G]=G;return J},Q.getValidEnumValues=($)=>{let J=Q.objectKeys($).filter((H)=>typeof $[$[H]]!=="number"),G={};for(let H of J)G[H]=$[H];return Q.objectValues(G)},Q.objectValues=($)=>{return Q.objectKeys($).map(function(J){return $[J]})},Q.objectKeys=typeof Object.keys==="function"?($)=>Object.keys($):($)=>{let J=[];for(let G in $)if(Object.prototype.hasOwnProperty.call($,G))J.push(G);return J},Q.find=($,J)=>{for(let G of $)if(J(G))return G;return},Q.isInteger=typeof Number.isInteger==="function"?($)=>Number.isInteger($):($)=>typeof $==="number"&&Number.isFinite($)&&Math.floor($)===$;function W($,J=" | "){return $.map((G)=>typeof G==="string"?`'${G}'`:G).join(J)}Q.joinValues=W,Q.jsonStringifyReplacer=($,J)=>{if(typeof J==="bigint")return J.toString();return J}})(t||(t={}));var hY;(function(Q){Q.mergeShapes=(X,Y)=>{return{...X,...Y}}})(hY||(hY={}));var R=t.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),h1=(Q)=>{switch(typeof Q){case"undefined":return R.undefined;case"string":return R.string;case"number":return Number.isNaN(Q)?R.nan:R.number;case"boolean":return R.boolean;case"function":return R.function;case"bigint":return R.bigint;case"symbol":return R.symbol;case"object":if(Array.isArray(Q))return R.array;if(Q===null)return R.null;if(Q.then&&typeof Q.then==="function"&&Q.catch&&typeof Q.catch==="function")return R.promise;if(typeof Map<"u"&&Q instanceof Map)return R.map;if(typeof Set<"u"&&Q instanceof Set)return R.set;if(typeof Date<"u"&&Q instanceof Date)return R.date;return R.object;default:return R.unknown}};var b=t.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),NU=(Q)=>{return JSON.stringify(Q,null,2).replace(/"([^"]+)":/g,"$1:")};class r0 extends Error{get errors(){return this.issues}constructor(Q){super();this.issues=[],this.addIssue=(Y)=>{this.issues=[...this.issues,Y]},this.addIssues=(Y=[])=>{this.issues=[...this.issues,...Y]};let X=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,X);else this.__proto__=X;this.name="ZodError",this.issues=Q}format(Q){let X=Q||function($){return $.message},Y={_errors:[]},W=($)=>{for(let J of $.issues)if(J.code==="invalid_union")J.unionErrors.map(W);else if(J.code==="invalid_return_type")W(J.returnTypeError);else if(J.code==="invalid_arguments")W(J.argumentsError);else if(J.path.length===0)Y._errors.push(X(J));else{let G=Y,H=0;while(H<J.path.length){let B=J.path[H];if(H!==J.path.length-1)G[B]=G[B]||{_errors:[]};else G[B]=G[B]||{_errors:[]},G[B]._errors.push(X(J));G=G[B],H++}}};return W(this),Y}static assert(Q){if(!(Q instanceof r0))throw Error(`Not a ZodError: ${Q}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,t.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(Q=(X)=>X.message){let X={},Y=[];for(let W of this.issues)if(W.path.length>0){let $=W.path[0];X[$]=X[$]||[],X[$].push(Q(W))}else Y.push(Q(W));return{formErrors:Y,fieldErrors:X}}get formErrors(){return this.flatten()}}r0.create=(Q)=>{return new r0(Q)};var wU=(Q,X)=>{let Y;switch(Q.code){case b.invalid_type:if(Q.received===R.undefined)Y="Required";else Y=`Expected ${Q.expected}, received ${Q.received}`;break;case b.invalid_literal:Y=`Invalid literal value, expected ${JSON.stringify(Q.expected,t.jsonStringifyReplacer)}`;break;case b.unrecognized_keys:Y=`Unrecognized key(s) in object: ${t.joinValues(Q.keys,", ")}`;break;case b.invalid_union:Y="Invalid input";break;case b.invalid_union_discriminator:Y=`Invalid discriminator value. Expected ${t.joinValues(Q.options)}`;break;case b.invalid_enum_value:Y=`Invalid enum value. Expected ${t.joinValues(Q.options)}, received '${Q.received}'`;break;case b.invalid_arguments:Y="Invalid function arguments";break;case b.invalid_return_type:Y="Invalid function return type";break;case b.invalid_date:Y="Invalid date";break;case b.invalid_string:if(typeof Q.validation==="object")if("includes"in Q.validation){if(Y=`Invalid input: must include "${Q.validation.includes}"`,typeof Q.validation.position==="number")Y=`${Y} at one or more positions greater than or equal to ${Q.validation.position}`}else if("startsWith"in Q.validation)Y=`Invalid input: must start with "${Q.validation.startsWith}"`;else if("endsWith"in Q.validation)Y=`Invalid input: must end with "${Q.validation.endsWith}"`;else t.assertNever(Q.validation);else if(Q.validation!=="regex")Y=`Invalid ${Q.validation}`;else Y="Invalid";break;case b.too_small:if(Q.type==="array")Y=`Array must contain ${Q.exact?"exactly":Q.inclusive?"at least":"more than"} ${Q.minimum} element(s)`;else if(Q.type==="string")Y=`String must contain ${Q.exact?"exactly":Q.inclusive?"at least":"over"} ${Q.minimum} character(s)`;else if(Q.type==="number")Y=`Number must be ${Q.exact?"exactly equal to ":Q.inclusive?"greater than or equal to ":"greater than "}${Q.minimum}`;else if(Q.type==="bigint")Y=`Number must be ${Q.exact?"exactly equal to ":Q.inclusive?"greater than or equal to ":"greater than "}${Q.minimum}`;else if(Q.type==="date")Y=`Date must be ${Q.exact?"exactly equal to ":Q.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(Q.minimum))}`;else Y="Invalid input";break;case b.too_big:if(Q.type==="array")Y=`Array must contain ${Q.exact?"exactly":Q.inclusive?"at most":"less than"} ${Q.maximum} element(s)`;else if(Q.type==="string")Y=`String must contain ${Q.exact?"exactly":Q.inclusive?"at most":"under"} ${Q.maximum} character(s)`;else if(Q.type==="number")Y=`Number must be ${Q.exact?"exactly":Q.inclusive?"less than or equal to":"less than"} ${Q.maximum}`;else if(Q.type==="bigint")Y=`BigInt must be ${Q.exact?"exactly":Q.inclusive?"less than or equal to":"less than"} ${Q.maximum}`;else if(Q.type==="date")Y=`Date must be ${Q.exact?"exactly":Q.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(Q.maximum))}`;else Y="Invalid input";break;case b.custom:Y="Invalid input";break;case b.invalid_intersection_types:Y="Intersection results could not be merged";break;case b.not_multiple_of:Y=`Number must be a multiple of ${Q.multipleOf}`;break;case b.not_finite:Y="Number must be finite";break;default:Y=X.defaultError,t.assertNever(Q)}return{message:Y}},o1=wU;var zG=o1;function bU(Q){zG=Q}function U9(){return zG}var N8=(Q)=>{let{data:X,path:Y,errorMaps:W,issueData:$}=Q,J=[...Y,...$.path||[]],G={...$,path:J};if($.message!==void 0)return{...$,path:J,message:$.message};let H="",B=W.filter((z)=>!!z).slice().reverse();for(let z of B)H=z(G,{data:X,defaultError:H}).message;return{...$,path:J,message:H}},PU=[];function T(Q,X){let Y=U9(),W=N8({issueData:X,data:Q.data,path:Q.path,errorMaps:[Q.common.contextualErrorMap,Q.schemaErrorMap,Y,Y===o1?void 0:o1].filter(($)=>!!$)});Q.common.issues.push(W)}class C0{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray(Q,X){let Y=[];for(let W of X){if(W.status==="aborted")return h;if(W.status==="dirty")Q.dirty();Y.push(W.value)}return{status:Q.value,value:Y}}static async mergeObjectAsync(Q,X){let Y=[];for(let W of X){let $=await W.key,J=await W.value;Y.push({key:$,value:J})}return C0.mergeObjectSync(Q,Y)}static mergeObjectSync(Q,X){let Y={};for(let W of X){let{key:$,value:J}=W;if($.status==="aborted")return h;if(J.status==="aborted")return h;if($.status==="dirty")Q.dirty();if(J.status==="dirty")Q.dirty();if($.value!=="__proto__"&&(typeof J.value<"u"||W.alwaysSet))Y[$.value]=J.value}return{status:Q.value,value:Y}}}var h=Object.freeze({status:"aborted"}),u6=(Q)=>({status:"dirty",value:Q}),h0=(Q)=>({status:"valid",value:Q}),a4=(Q)=>Q.status==="aborted",s4=(Q)=>Q.status==="dirty",K6=(Q)=>Q.status==="valid",j9=(Q)=>typeof Promise<"u"&&Q instanceof Promise;var v;(function(Q){Q.errToObj=(X)=>typeof X==="string"?{message:X}:X||{},Q.toString=(X)=>typeof X==="string"?X:X?.message})(v||(v={}));class M1{constructor(Q,X,Y,W){this._cachedPath=[],this.parent=Q,this.data=X,this._path=Y,this._key=W}get path(){if(!this._cachedPath.length)if(Array.isArray(this._key))this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var KG=(Q,X)=>{if(K6(X))return{success:!0,data:X.value};else{if(!Q.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let Y=new r0(Q.common.issues);return this._error=Y,this._error}}}};function p(Q){if(!Q)return{};let{errorMap:X,invalid_type_error:Y,required_error:W,description:$}=Q;if(X&&(Y||W))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(X)return{errorMap:X,description:$};return{errorMap:(G,H)=>{let{message:B}=Q;if(G.code==="invalid_enum_value")return{message:B??H.defaultError};if(typeof H.data>"u")return{message:B??W??H.defaultError};if(G.code!=="invalid_type")return{message:H.defaultError};return{message:B??Y??H.defaultError}},description:$}}class o{get description(){return this._def.description}_getType(Q){return h1(Q.data)}_getOrReturnCtx(Q,X){return X||{common:Q.parent.common,data:Q.data,parsedType:h1(Q.data),schemaErrorMap:this._def.errorMap,path:Q.path,parent:Q.parent}}_processInputParams(Q){return{status:new C0,ctx:{common:Q.parent.common,data:Q.data,parsedType:h1(Q.data),schemaErrorMap:this._def.errorMap,path:Q.path,parent:Q.parent}}}_parseSync(Q){let X=this._parse(Q);if(j9(X))throw Error("Synchronous parse encountered promise.");return X}_parseAsync(Q){let X=this._parse(Q);return Promise.resolve(X)}parse(Q,X){let Y=this.safeParse(Q,X);if(Y.success)return Y.data;throw Y.error}safeParse(Q,X){let Y={common:{issues:[],async:X?.async??!1,contextualErrorMap:X?.errorMap},path:X?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:Q,parsedType:h1(Q)},W=this._parseSync({data:Q,path:Y.path,parent:Y});return KG(Y,W)}"~validate"(Q){let X={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:Q,parsedType:h1(Q)};if(!this["~standard"].async)try{let Y=this._parseSync({data:Q,path:[],parent:X});return K6(Y)?{value:Y.value}:{issues:X.common.issues}}catch(Y){if(Y?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;X.common={issues:[],async:!0}}return this._parseAsync({data:Q,path:[],parent:X}).then((Y)=>K6(Y)?{value:Y.value}:{issues:X.common.issues})}async parseAsync(Q,X){let Y=await this.safeParseAsync(Q,X);if(Y.success)return Y.data;throw Y.error}async safeParseAsync(Q,X){let Y={common:{issues:[],contextualErrorMap:X?.errorMap,async:!0},path:X?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:Q,parsedType:h1(Q)},W=this._parse({data:Q,path:Y.path,parent:Y}),$=await(j9(W)?W:Promise.resolve(W));return KG(Y,$)}refine(Q,X){let Y=(W)=>{if(typeof X==="string"||typeof X>"u")return{message:X};else if(typeof X==="function")return X(W);else return X};return this._refinement((W,$)=>{let J=Q(W),G=()=>$.addIssue({code:b.custom,...Y(W)});if(typeof Promise<"u"&&J instanceof Promise)return J.then((H)=>{if(!H)return G(),!1;else return!0});if(!J)return G(),!1;else return!0})}refinement(Q,X){return this._refinement((Y,W)=>{if(!Q(Y))return W.addIssue(typeof X==="function"?X(Y,W):X),!1;else return!0})}_refinement(Q){return new N1({schema:this,typeName:P.ZodEffects,effect:{type:"refinement",refinement:Q}})}superRefine(Q){return this._refinement(Q)}constructor(Q){this.spa=this.safeParseAsync,this._def=Q,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:(X)=>this["~validate"](X)}}optional(){return B1.create(this,this._def)}nullable(){return t1.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return j1.create(this)}promise(){return p6.create(this,this._def)}or(Q){return Z9.create([this,Q],this._def)}and(Q){return R9.create(this,Q,this._def)}transform(Q){return new N1({...p(this._def),schema:this,typeName:P.ZodEffects,effect:{type:"transform",transform:Q}})}default(Q){let X=typeof Q==="function"?Q:()=>Q;return new T9({...p(this._def),innerType:this,defaultValue:X,typeName:P.ZodDefault})}brand(){return new QQ({typeName:P.ZodBranded,type:this,...p(this._def)})}catch(Q){let X=typeof Q==="function"?Q:()=>Q;return new C9({...p(this._def),innerType:this,catchValue:X,typeName:P.ZodCatch})}describe(Q){return new this.constructor({...this._def,description:Q})}pipe(Q){return E8.create(this,Q)}readonly(){return k9.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var ZU=/^c[^\s-]{8,}$/i,RU=/^[0-9a-z]+$/,EU=/^[0-9A-HJKMNP-TV-Z]{26}$/i,SU=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,IU=/^[a-z0-9_-]{21}$/i,TU=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,CU=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,kU=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,vU="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",uY,_U=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,xU=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,yU=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,fU=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,gU=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,hU=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,FG="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",uU=new RegExp(`^${FG}$`);function AG(Q){let X="[0-5]\\d";if(Q.precision)X=`${X}\\.\\d{${Q.precision}}`;else if(Q.precision==null)X=`${X}(\\.\\d+)?`;let Y=Q.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${X})${Y}`}function lU(Q){return new RegExp(`^${AG(Q)}$`)}function qG(Q){let X=`${FG}T${AG(Q)}`,Y=[];if(Y.push(Q.local?"Z?":"Z"),Q.offset)Y.push("([+-]\\d{2}:?\\d{2})");return X=`${X}(${Y.join("|")})`,new RegExp(`^${X}$`)}function mU(Q,X){if((X==="v4"||!X)&&_U.test(Q))return!0;if((X==="v6"||!X)&&yU.test(Q))return!0;return!1}function cU(Q,X){if(!TU.test(Q))return!1;try{let[Y]=Q.split(".");if(!Y)return!1;let W=Y.replace(/-/g,"+").replace(/_/g,"/").padEnd(Y.length+(4-Y.length%4)%4,"="),$=JSON.parse(atob(W));if(typeof $!=="object"||$===null)return!1;if("typ"in $&&$?.typ!=="JWT")return!1;if(!$.alg)return!1;if(X&&$.alg!==X)return!1;return!0}catch{return!1}}function pU(Q,X){if((X==="v4"||!X)&&xU.test(Q))return!0;if((X==="v6"||!X)&&fU.test(Q))return!0;return!1}class U1 extends o{_parse(Q){if(this._def.coerce)Q.data=String(Q.data);if(this._getType(Q)!==R.string){let $=this._getOrReturnCtx(Q);return T($,{code:b.invalid_type,expected:R.string,received:$.parsedType}),h}let Y=new C0,W=void 0;for(let $ of this._def.checks)if($.kind==="min"){if(Q.data.length<$.value)W=this._getOrReturnCtx(Q,W),T(W,{code:b.too_small,minimum:$.value,type:"string",inclusive:!0,exact:!1,message:$.message}),Y.dirty()}else if($.kind==="max"){if(Q.data.length>$.value)W=this._getOrReturnCtx(Q,W),T(W,{code:b.too_big,maximum:$.value,type:"string",inclusive:!0,exact:!1,message:$.message}),Y.dirty()}else if($.kind==="length"){let J=Q.data.length>$.value,G=Q.data.length<$.value;if(J||G){if(W=this._getOrReturnCtx(Q,W),J)T(W,{code:b.too_big,maximum:$.value,type:"string",inclusive:!0,exact:!0,message:$.message});else if(G)T(W,{code:b.too_small,minimum:$.value,type:"string",inclusive:!0,exact:!0,message:$.message});Y.dirty()}}else if($.kind==="email"){if(!kU.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"email",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="emoji"){if(!uY)uY=new RegExp(vU,"u");if(!uY.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"emoji",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="uuid"){if(!SU.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"uuid",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="nanoid"){if(!IU.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"nanoid",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="cuid"){if(!ZU.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"cuid",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="cuid2"){if(!RU.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"cuid2",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="ulid"){if(!EU.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"ulid",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="url")try{new URL(Q.data)}catch{W=this._getOrReturnCtx(Q,W),T(W,{validation:"url",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="regex"){if($.regex.lastIndex=0,!$.regex.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"regex",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="trim")Q.data=Q.data.trim();else if($.kind==="includes"){if(!Q.data.includes($.value,$.position))W=this._getOrReturnCtx(Q,W),T(W,{code:b.invalid_string,validation:{includes:$.value,position:$.position},message:$.message}),Y.dirty()}else if($.kind==="toLowerCase")Q.data=Q.data.toLowerCase();else if($.kind==="toUpperCase")Q.data=Q.data.toUpperCase();else if($.kind==="startsWith"){if(!Q.data.startsWith($.value))W=this._getOrReturnCtx(Q,W),T(W,{code:b.invalid_string,validation:{startsWith:$.value},message:$.message}),Y.dirty()}else if($.kind==="endsWith"){if(!Q.data.endsWith($.value))W=this._getOrReturnCtx(Q,W),T(W,{code:b.invalid_string,validation:{endsWith:$.value},message:$.message}),Y.dirty()}else if($.kind==="datetime"){if(!qG($).test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{code:b.invalid_string,validation:"datetime",message:$.message}),Y.dirty()}else if($.kind==="date"){if(!uU.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{code:b.invalid_string,validation:"date",message:$.message}),Y.dirty()}else if($.kind==="time"){if(!lU($).test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{code:b.invalid_string,validation:"time",message:$.message}),Y.dirty()}else if($.kind==="duration"){if(!CU.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"duration",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="ip"){if(!mU(Q.data,$.version))W=this._getOrReturnCtx(Q,W),T(W,{validation:"ip",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="jwt"){if(!cU(Q.data,$.alg))W=this._getOrReturnCtx(Q,W),T(W,{validation:"jwt",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="cidr"){if(!pU(Q.data,$.version))W=this._getOrReturnCtx(Q,W),T(W,{validation:"cidr",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="base64"){if(!gU.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"base64",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="base64url"){if(!hU.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"base64url",code:b.invalid_string,message:$.message}),Y.dirty()}else t.assertNever($);return{status:Y.value,value:Q.data}}_regex(Q,X,Y){return this.refinement((W)=>Q.test(W),{validation:X,code:b.invalid_string,...v.errToObj(Y)})}_addCheck(Q){return new U1({...this._def,checks:[...this._def.checks,Q]})}email(Q){return this._addCheck({kind:"email",...v.errToObj(Q)})}url(Q){return this._addCheck({kind:"url",...v.errToObj(Q)})}emoji(Q){return this._addCheck({kind:"emoji",...v.errToObj(Q)})}uuid(Q){return this._addCheck({kind:"uuid",...v.errToObj(Q)})}nanoid(Q){return this._addCheck({kind:"nanoid",...v.errToObj(Q)})}cuid(Q){return this._addCheck({kind:"cuid",...v.errToObj(Q)})}cuid2(Q){return this._addCheck({kind:"cuid2",...v.errToObj(Q)})}ulid(Q){return this._addCheck({kind:"ulid",...v.errToObj(Q)})}base64(Q){return this._addCheck({kind:"base64",...v.errToObj(Q)})}base64url(Q){return this._addCheck({kind:"base64url",...v.errToObj(Q)})}jwt(Q){return this._addCheck({kind:"jwt",...v.errToObj(Q)})}ip(Q){return this._addCheck({kind:"ip",...v.errToObj(Q)})}cidr(Q){return this._addCheck({kind:"cidr",...v.errToObj(Q)})}datetime(Q){if(typeof Q==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:Q});return this._addCheck({kind:"datetime",precision:typeof Q?.precision>"u"?null:Q?.precision,offset:Q?.offset??!1,local:Q?.local??!1,...v.errToObj(Q?.message)})}date(Q){return this._addCheck({kind:"date",message:Q})}time(Q){if(typeof Q==="string")return this._addCheck({kind:"time",precision:null,message:Q});return this._addCheck({kind:"time",precision:typeof Q?.precision>"u"?null:Q?.precision,...v.errToObj(Q?.message)})}duration(Q){return this._addCheck({kind:"duration",...v.errToObj(Q)})}regex(Q,X){return this._addCheck({kind:"regex",regex:Q,...v.errToObj(X)})}includes(Q,X){return this._addCheck({kind:"includes",value:Q,position:X?.position,...v.errToObj(X?.message)})}startsWith(Q,X){return this._addCheck({kind:"startsWith",value:Q,...v.errToObj(X)})}endsWith(Q,X){return this._addCheck({kind:"endsWith",value:Q,...v.errToObj(X)})}min(Q,X){return this._addCheck({kind:"min",value:Q,...v.errToObj(X)})}max(Q,X){return this._addCheck({kind:"max",value:Q,...v.errToObj(X)})}length(Q,X){return this._addCheck({kind:"length",value:Q,...v.errToObj(X)})}nonempty(Q){return this.min(1,v.errToObj(Q))}trim(){return new U1({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new U1({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new U1({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find((Q)=>Q.kind==="datetime")}get isDate(){return!!this._def.checks.find((Q)=>Q.kind==="date")}get isTime(){return!!this._def.checks.find((Q)=>Q.kind==="time")}get isDuration(){return!!this._def.checks.find((Q)=>Q.kind==="duration")}get isEmail(){return!!this._def.checks.find((Q)=>Q.kind==="email")}get isURL(){return!!this._def.checks.find((Q)=>Q.kind==="url")}get isEmoji(){return!!this._def.checks.find((Q)=>Q.kind==="emoji")}get isUUID(){return!!this._def.checks.find((Q)=>Q.kind==="uuid")}get isNANOID(){return!!this._def.checks.find((Q)=>Q.kind==="nanoid")}get isCUID(){return!!this._def.checks.find((Q)=>Q.kind==="cuid")}get isCUID2(){return!!this._def.checks.find((Q)=>Q.kind==="cuid2")}get isULID(){return!!this._def.checks.find((Q)=>Q.kind==="ulid")}get isIP(){return!!this._def.checks.find((Q)=>Q.kind==="ip")}get isCIDR(){return!!this._def.checks.find((Q)=>Q.kind==="cidr")}get isBase64(){return!!this._def.checks.find((Q)=>Q.kind==="base64")}get isBase64url(){return!!this._def.checks.find((Q)=>Q.kind==="base64url")}get minLength(){let Q=null;for(let X of this._def.checks)if(X.kind==="min"){if(Q===null||X.value>Q)Q=X.value}return Q}get maxLength(){let Q=null;for(let X of this._def.checks)if(X.kind==="max"){if(Q===null||X.value<Q)Q=X.value}return Q}}U1.create=(Q)=>{return new U1({checks:[],typeName:P.ZodString,coerce:Q?.coerce??!1,...p(Q)})};function dU(Q,X){let Y=(Q.toString().split(".")[1]||"").length,W=(X.toString().split(".")[1]||"").length,$=Y>W?Y:W,J=Number.parseInt(Q.toFixed($).replace(".","")),G=Number.parseInt(X.toFixed($).replace(".",""));return J%G/10**$}class F6 extends o{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(Q){if(this._def.coerce)Q.data=Number(Q.data);if(this._getType(Q)!==R.number){let $=this._getOrReturnCtx(Q);return T($,{code:b.invalid_type,expected:R.number,received:$.parsedType}),h}let Y=void 0,W=new C0;for(let $ of this._def.checks)if($.kind==="int"){if(!t.isInteger(Q.data))Y=this._getOrReturnCtx(Q,Y),T(Y,{code:b.invalid_type,expected:"integer",received:"float",message:$.message}),W.dirty()}else if($.kind==="min"){if($.inclusive?Q.data<$.value:Q.data<=$.value)Y=this._getOrReturnCtx(Q,Y),T(Y,{code:b.too_small,minimum:$.value,type:"number",inclusive:$.inclusive,exact:!1,message:$.message}),W.dirty()}else if($.kind==="max"){if($.inclusive?Q.data>$.value:Q.data>=$.value)Y=this._getOrReturnCtx(Q,Y),T(Y,{code:b.too_big,maximum:$.value,type:"number",inclusive:$.inclusive,exact:!1,message:$.message}),W.dirty()}else if($.kind==="multipleOf"){if(dU(Q.data,$.value)!==0)Y=this._getOrReturnCtx(Q,Y),T(Y,{code:b.not_multiple_of,multipleOf:$.value,message:$.message}),W.dirty()}else if($.kind==="finite"){if(!Number.isFinite(Q.data))Y=this._getOrReturnCtx(Q,Y),T(Y,{code:b.not_finite,message:$.message}),W.dirty()}else t.assertNever($);return{status:W.value,value:Q.data}}gte(Q,X){return this.setLimit("min",Q,!0,v.toString(X))}gt(Q,X){return this.setLimit("min",Q,!1,v.toString(X))}lte(Q,X){return this.setLimit("max",Q,!0,v.toString(X))}lt(Q,X){return this.setLimit("max",Q,!1,v.toString(X))}setLimit(Q,X,Y,W){return new F6({...this._def,checks:[...this._def.checks,{kind:Q,value:X,inclusive:Y,message:v.toString(W)}]})}_addCheck(Q){return new F6({...this._def,checks:[...this._def.checks,Q]})}int(Q){return this._addCheck({kind:"int",message:v.toString(Q)})}positive(Q){return this._addCheck({kind:"min",value:0,inclusive:!1,message:v.toString(Q)})}negative(Q){return this._addCheck({kind:"max",value:0,inclusive:!1,message:v.toString(Q)})}nonpositive(Q){return this._addCheck({kind:"max",value:0,inclusive:!0,message:v.toString(Q)})}nonnegative(Q){return this._addCheck({kind:"min",value:0,inclusive:!0,message:v.toString(Q)})}multipleOf(Q,X){return this._addCheck({kind:"multipleOf",value:Q,message:v.toString(X)})}finite(Q){return this._addCheck({kind:"finite",message:v.toString(Q)})}safe(Q){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:v.toString(Q)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:v.toString(Q)})}get minValue(){let Q=null;for(let X of this._def.checks)if(X.kind==="min"){if(Q===null||X.value>Q)Q=X.value}return Q}get maxValue(){let Q=null;for(let X of this._def.checks)if(X.kind==="max"){if(Q===null||X.value<Q)Q=X.value}return Q}get isInt(){return!!this._def.checks.find((Q)=>Q.kind==="int"||Q.kind==="multipleOf"&&t.isInteger(Q.value))}get isFinite(){let Q=null,X=null;for(let Y of this._def.checks)if(Y.kind==="finite"||Y.kind==="int"||Y.kind==="multipleOf")return!0;else if(Y.kind==="min"){if(X===null||Y.value>X)X=Y.value}else if(Y.kind==="max"){if(Q===null||Y.value<Q)Q=Y.value}return Number.isFinite(X)&&Number.isFinite(Q)}}F6.create=(Q)=>{return new F6({checks:[],typeName:P.ZodNumber,coerce:Q?.coerce||!1,...p(Q)})};class A6 extends o{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse(Q){if(this._def.coerce)try{Q.data=BigInt(Q.data)}catch{return this._getInvalidInput(Q)}if(this._getType(Q)!==R.bigint)return this._getInvalidInput(Q);let Y=void 0,W=new C0;for(let $ of this._def.checks)if($.kind==="min"){if($.inclusive?Q.data<$.value:Q.data<=$.value)Y=this._getOrReturnCtx(Q,Y),T(Y,{code:b.too_small,type:"bigint",minimum:$.value,inclusive:$.inclusive,message:$.message}),W.dirty()}else if($.kind==="max"){if($.inclusive?Q.data>$.value:Q.data>=$.value)Y=this._getOrReturnCtx(Q,Y),T(Y,{code:b.too_big,type:"bigint",maximum:$.value,inclusive:$.inclusive,message:$.message}),W.dirty()}else if($.kind==="multipleOf"){if(Q.data%$.value!==BigInt(0))Y=this._getOrReturnCtx(Q,Y),T(Y,{code:b.not_multiple_of,multipleOf:$.value,message:$.message}),W.dirty()}else t.assertNever($);return{status:W.value,value:Q.data}}_getInvalidInput(Q){let X=this._getOrReturnCtx(Q);return T(X,{code:b.invalid_type,expected:R.bigint,received:X.parsedType}),h}gte(Q,X){return this.setLimit("min",Q,!0,v.toString(X))}gt(Q,X){return this.setLimit("min",Q,!1,v.toString(X))}lte(Q,X){return this.setLimit("max",Q,!0,v.toString(X))}lt(Q,X){return this.setLimit("max",Q,!1,v.toString(X))}setLimit(Q,X,Y,W){return new A6({...this._def,checks:[...this._def.checks,{kind:Q,value:X,inclusive:Y,message:v.toString(W)}]})}_addCheck(Q){return new A6({...this._def,checks:[...this._def.checks,Q]})}positive(Q){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:v.toString(Q)})}negative(Q){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:v.toString(Q)})}nonpositive(Q){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:v.toString(Q)})}nonnegative(Q){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:v.toString(Q)})}multipleOf(Q,X){return this._addCheck({kind:"multipleOf",value:Q,message:v.toString(X)})}get minValue(){let Q=null;for(let X of this._def.checks)if(X.kind==="min"){if(Q===null||X.value>Q)Q=X.value}return Q}get maxValue(){let Q=null;for(let X of this._def.checks)if(X.kind==="max"){if(Q===null||X.value<Q)Q=X.value}return Q}}A6.create=(Q)=>{return new A6({checks:[],typeName:P.ZodBigInt,coerce:Q?.coerce??!1,...p(Q)})};class w9 extends o{_parse(Q){if(this._def.coerce)Q.data=Boolean(Q.data);if(this._getType(Q)!==R.boolean){let Y=this._getOrReturnCtx(Q);return T(Y,{code:b.invalid_type,expected:R.boolean,received:Y.parsedType}),h}return h0(Q.data)}}w9.create=(Q)=>{return new w9({typeName:P.ZodBoolean,coerce:Q?.coerce||!1,...p(Q)})};class l6 extends o{_parse(Q){if(this._def.coerce)Q.data=new Date(Q.data);if(this._getType(Q)!==R.date){let $=this._getOrReturnCtx(Q);return T($,{code:b.invalid_type,expected:R.date,received:$.parsedType}),h}if(Number.isNaN(Q.data.getTime())){let $=this._getOrReturnCtx(Q);return T($,{code:b.invalid_date}),h}let Y=new C0,W=void 0;for(let $ of this._def.checks)if($.kind==="min"){if(Q.data.getTime()<$.value)W=this._getOrReturnCtx(Q,W),T(W,{code:b.too_small,message:$.message,inclusive:!0,exact:!1,minimum:$.value,type:"date"}),Y.dirty()}else if($.kind==="max"){if(Q.data.getTime()>$.value)W=this._getOrReturnCtx(Q,W),T(W,{code:b.too_big,message:$.message,inclusive:!0,exact:!1,maximum:$.value,type:"date"}),Y.dirty()}else t.assertNever($);return{status:Y.value,value:new Date(Q.data.getTime())}}_addCheck(Q){return new l6({...this._def,checks:[...this._def.checks,Q]})}min(Q,X){return this._addCheck({kind:"min",value:Q.getTime(),message:v.toString(X)})}max(Q,X){return this._addCheck({kind:"max",value:Q.getTime(),message:v.toString(X)})}get minDate(){let Q=null;for(let X of this._def.checks)if(X.kind==="min"){if(Q===null||X.value>Q)Q=X.value}return Q!=null?new Date(Q):null}get maxDate(){let Q=null;for(let X of this._def.checks)if(X.kind==="max"){if(Q===null||X.value<Q)Q=X.value}return Q!=null?new Date(Q):null}}l6.create=(Q)=>{return new l6({checks:[],coerce:Q?.coerce||!1,typeName:P.ZodDate,...p(Q)})};class w8 extends o{_parse(Q){if(this._getType(Q)!==R.symbol){let Y=this._getOrReturnCtx(Q);return T(Y,{code:b.invalid_type,expected:R.symbol,received:Y.parsedType}),h}return h0(Q.data)}}w8.create=(Q)=>{return new w8({typeName:P.ZodSymbol,...p(Q)})};class b9 extends o{_parse(Q){if(this._getType(Q)!==R.undefined){let Y=this._getOrReturnCtx(Q);return T(Y,{code:b.invalid_type,expected:R.undefined,received:Y.parsedType}),h}return h0(Q.data)}}b9.create=(Q)=>{return new b9({typeName:P.ZodUndefined,...p(Q)})};class P9 extends o{_parse(Q){if(this._getType(Q)!==R.null){let Y=this._getOrReturnCtx(Q);return T(Y,{code:b.invalid_type,expected:R.null,received:Y.parsedType}),h}return h0(Q.data)}}P9.create=(Q)=>{return new P9({typeName:P.ZodNull,...p(Q)})};class m6 extends o{constructor(){super(...arguments);this._any=!0}_parse(Q){return h0(Q.data)}}m6.create=(Q)=>{return new m6({typeName:P.ZodAny,...p(Q)})};class V6 extends o{constructor(){super(...arguments);this._unknown=!0}_parse(Q){return h0(Q.data)}}V6.create=(Q)=>{return new V6({typeName:P.ZodUnknown,...p(Q)})};class u1 extends o{_parse(Q){let X=this._getOrReturnCtx(Q);return T(X,{code:b.invalid_type,expected:R.never,received:X.parsedType}),h}}u1.create=(Q)=>{return new u1({typeName:P.ZodNever,...p(Q)})};class b8 extends o{_parse(Q){if(this._getType(Q)!==R.undefined){let Y=this._getOrReturnCtx(Q);return T(Y,{code:b.invalid_type,expected:R.void,received:Y.parsedType}),h}return h0(Q.data)}}b8.create=(Q)=>{return new b8({typeName:P.ZodVoid,...p(Q)})};class j1 extends o{_parse(Q){let{ctx:X,status:Y}=this._processInputParams(Q),W=this._def;if(X.parsedType!==R.array)return T(X,{code:b.invalid_type,expected:R.array,received:X.parsedType}),h;if(W.exactLength!==null){let J=X.data.length>W.exactLength.value,G=X.data.length<W.exactLength.value;if(J||G)T(X,{code:J?b.too_big:b.too_small,minimum:G?W.exactLength.value:void 0,maximum:J?W.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:W.exactLength.message}),Y.dirty()}if(W.minLength!==null){if(X.data.length<W.minLength.value)T(X,{code:b.too_small,minimum:W.minLength.value,type:"array",inclusive:!0,exact:!1,message:W.minLength.message}),Y.dirty()}if(W.maxLength!==null){if(X.data.length>W.maxLength.value)T(X,{code:b.too_big,maximum:W.maxLength.value,type:"array",inclusive:!0,exact:!1,message:W.maxLength.message}),Y.dirty()}if(X.common.async)return Promise.all([...X.data].map((J,G)=>{return W.type._parseAsync(new M1(X,J,X.path,G))})).then((J)=>{return C0.mergeArray(Y,J)});let $=[...X.data].map((J,G)=>{return W.type._parseSync(new M1(X,J,X.path,G))});return C0.mergeArray(Y,$)}get element(){return this._def.type}min(Q,X){return new j1({...this._def,minLength:{value:Q,message:v.toString(X)}})}max(Q,X){return new j1({...this._def,maxLength:{value:Q,message:v.toString(X)}})}length(Q,X){return new j1({...this._def,exactLength:{value:Q,message:v.toString(X)}})}nonempty(Q){return this.min(1,Q)}}j1.create=(Q,X)=>{return new j1({type:Q,minLength:null,maxLength:null,exactLength:null,typeName:P.ZodArray,...p(X)})};function M9(Q){if(Q instanceof w0){let X={};for(let Y in Q.shape){let W=Q.shape[Y];X[Y]=B1.create(M9(W))}return new w0({...Q._def,shape:()=>X})}else if(Q instanceof j1)return new j1({...Q._def,type:M9(Q.element)});else if(Q instanceof B1)return B1.create(M9(Q.unwrap()));else if(Q instanceof t1)return t1.create(M9(Q.unwrap()));else if(Q instanceof l1)return l1.create(Q.items.map((X)=>M9(X)));else return Q}class w0 extends o{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let Q=this._def.shape(),X=t.objectKeys(Q);return this._cached={shape:Q,keys:X},this._cached}_parse(Q){if(this._getType(Q)!==R.object){let B=this._getOrReturnCtx(Q);return T(B,{code:b.invalid_type,expected:R.object,received:B.parsedType}),h}let{status:Y,ctx:W}=this._processInputParams(Q),{shape:$,keys:J}=this._getCached(),G=[];if(!(this._def.catchall instanceof u1&&this._def.unknownKeys==="strip")){for(let B in W.data)if(!J.includes(B))G.push(B)}let H=[];for(let B of J){let z=$[B],K=W.data[B];H.push({key:{status:"valid",value:B},value:z._parse(new M1(W,K,W.path,B)),alwaysSet:B in W.data})}if(this._def.catchall instanceof u1){let B=this._def.unknownKeys;if(B==="passthrough")for(let z of G)H.push({key:{status:"valid",value:z},value:{status:"valid",value:W.data[z]}});else if(B==="strict"){if(G.length>0)T(W,{code:b.unrecognized_keys,keys:G}),Y.dirty()}else if(B==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let B=this._def.catchall;for(let z of G){let K=W.data[z];H.push({key:{status:"valid",value:z},value:B._parse(new M1(W,K,W.path,z)),alwaysSet:z in W.data})}}if(W.common.async)return Promise.resolve().then(async()=>{let B=[];for(let z of H){let K=await z.key,V=await z.value;B.push({key:K,value:V,alwaysSet:z.alwaysSet})}return B}).then((B)=>{return C0.mergeObjectSync(Y,B)});else return C0.mergeObjectSync(Y,H)}get shape(){return this._def.shape()}strict(Q){return v.errToObj,new w0({...this._def,unknownKeys:"strict",...Q!==void 0?{errorMap:(X,Y)=>{let W=this._def.errorMap?.(X,Y).message??Y.defaultError;if(X.code==="unrecognized_keys")return{message:v.errToObj(Q).message??W};return{message:W}}}:{}})}strip(){return new w0({...this._def,unknownKeys:"strip"})}passthrough(){return new w0({...this._def,unknownKeys:"passthrough"})}extend(Q){return new w0({...this._def,shape:()=>({...this._def.shape(),...Q})})}merge(Q){return new w0({unknownKeys:Q._def.unknownKeys,catchall:Q._def.catchall,shape:()=>({...this._def.shape(),...Q._def.shape()}),typeName:P.ZodObject})}setKey(Q,X){return this.augment({[Q]:X})}catchall(Q){return new w0({...this._def,catchall:Q})}pick(Q){let X={};for(let Y of t.objectKeys(Q))if(Q[Y]&&this.shape[Y])X[Y]=this.shape[Y];return new w0({...this._def,shape:()=>X})}omit(Q){let X={};for(let Y of t.objectKeys(this.shape))if(!Q[Y])X[Y]=this.shape[Y];return new w0({...this._def,shape:()=>X})}deepPartial(){return M9(this)}partial(Q){let X={};for(let Y of t.objectKeys(this.shape)){let W=this.shape[Y];if(Q&&!Q[Y])X[Y]=W;else X[Y]=W.optional()}return new w0({...this._def,shape:()=>X})}required(Q){let X={};for(let Y of t.objectKeys(this.shape))if(Q&&!Q[Y])X[Y]=this.shape[Y];else{let $=this.shape[Y];while($ instanceof B1)$=$._def.innerType;X[Y]=$}return new w0({...this._def,shape:()=>X})}keyof(){return DG(t.objectKeys(this.shape))}}w0.create=(Q,X)=>{return new w0({shape:()=>Q,unknownKeys:"strip",catchall:u1.create(),typeName:P.ZodObject,...p(X)})};w0.strictCreate=(Q,X)=>{return new w0({shape:()=>Q,unknownKeys:"strict",catchall:u1.create(),typeName:P.ZodObject,...p(X)})};w0.lazycreate=(Q,X)=>{return new w0({shape:Q,unknownKeys:"strip",catchall:u1.create(),typeName:P.ZodObject,...p(X)})};class Z9 extends o{_parse(Q){let{ctx:X}=this._processInputParams(Q),Y=this._def.options;function W($){for(let G of $)if(G.result.status==="valid")return G.result;for(let G of $)if(G.result.status==="dirty")return X.common.issues.push(...G.ctx.common.issues),G.result;let J=$.map((G)=>new r0(G.ctx.common.issues));return T(X,{code:b.invalid_union,unionErrors:J}),h}if(X.common.async)return Promise.all(Y.map(async($)=>{let J={...X,common:{...X.common,issues:[]},parent:null};return{result:await $._parseAsync({data:X.data,path:X.path,parent:J}),ctx:J}})).then(W);else{let $=void 0,J=[];for(let H of Y){let B={...X,common:{...X.common,issues:[]},parent:null},z=H._parseSync({data:X.data,path:X.path,parent:B});if(z.status==="valid")return z;else if(z.status==="dirty"&&!$)$={result:z,ctx:B};if(B.common.issues.length)J.push(B.common.issues)}if($)return X.common.issues.push(...$.ctx.common.issues),$.result;let G=J.map((H)=>new r0(H));return T(X,{code:b.invalid_union,unionErrors:G}),h}}get options(){return this._def.options}}Z9.create=(Q,X)=>{return new Z9({options:Q,typeName:P.ZodUnion,...p(X)})};var r1=(Q)=>{if(Q instanceof E9)return r1(Q.schema);else if(Q instanceof N1)return r1(Q.innerType());else if(Q instanceof S9)return[Q.value];else if(Q instanceof q6)return Q.options;else if(Q instanceof I9)return t.objectValues(Q.enum);else if(Q instanceof T9)return r1(Q._def.innerType);else if(Q instanceof b9)return[void 0];else if(Q instanceof P9)return[null];else if(Q instanceof B1)return[void 0,...r1(Q.unwrap())];else if(Q instanceof t1)return[null,...r1(Q.unwrap())];else if(Q instanceof QQ)return r1(Q.unwrap());else if(Q instanceof k9)return r1(Q.unwrap());else if(Q instanceof C9)return r1(Q._def.innerType);else return[]};class e4 extends o{_parse(Q){let{ctx:X}=this._processInputParams(Q);if(X.parsedType!==R.object)return T(X,{code:b.invalid_type,expected:R.object,received:X.parsedType}),h;let Y=this.discriminator,W=X.data[Y],$=this.optionsMap.get(W);if(!$)return T(X,{code:b.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[Y]}),h;if(X.common.async)return $._parseAsync({data:X.data,path:X.path,parent:X});else return $._parseSync({data:X.data,path:X.path,parent:X})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(Q,X,Y){let W=new Map;for(let $ of X){let J=r1($.shape[Q]);if(!J.length)throw Error(`A discriminator value for key \`${Q}\` could not be extracted from all schema options`);for(let G of J){if(W.has(G))throw Error(`Discriminator property ${String(Q)} has duplicate value ${String(G)}`);W.set(G,$)}}return new e4({typeName:P.ZodDiscriminatedUnion,discriminator:Q,options:X,optionsMap:W,...p(Y)})}}function lY(Q,X){let Y=h1(Q),W=h1(X);if(Q===X)return{valid:!0,data:Q};else if(Y===R.object&&W===R.object){let $=t.objectKeys(X),J=t.objectKeys(Q).filter((H)=>$.indexOf(H)!==-1),G={...Q,...X};for(let H of J){let B=lY(Q[H],X[H]);if(!B.valid)return{valid:!1};G[H]=B.data}return{valid:!0,data:G}}else if(Y===R.array&&W===R.array){if(Q.length!==X.length)return{valid:!1};let $=[];for(let J=0;J<Q.length;J++){let G=Q[J],H=X[J],B=lY(G,H);if(!B.valid)return{valid:!1};$.push(B.data)}return{valid:!0,data:$}}else if(Y===R.date&&W===R.date&&+Q===+X)return{valid:!0,data:Q};else return{valid:!1}}class R9 extends o{_parse(Q){let{status:X,ctx:Y}=this._processInputParams(Q),W=($,J)=>{if(a4($)||a4(J))return h;let G=lY($.value,J.value);if(!G.valid)return T(Y,{code:b.invalid_intersection_types}),h;if(s4($)||s4(J))X.dirty();return{status:X.value,value:G.data}};if(Y.common.async)return Promise.all([this._def.left._parseAsync({data:Y.data,path:Y.path,parent:Y}),this._def.right._parseAsync({data:Y.data,path:Y.path,parent:Y})]).then(([$,J])=>W($,J));else return W(this._def.left._parseSync({data:Y.data,path:Y.path,parent:Y}),this._def.right._parseSync({data:Y.data,path:Y.path,parent:Y}))}}R9.create=(Q,X,Y)=>{return new R9({left:Q,right:X,typeName:P.ZodIntersection,...p(Y)})};class l1 extends o{_parse(Q){let{status:X,ctx:Y}=this._processInputParams(Q);if(Y.parsedType!==R.array)return T(Y,{code:b.invalid_type,expected:R.array,received:Y.parsedType}),h;if(Y.data.length<this._def.items.length)return T(Y,{code:b.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),h;if(!this._def.rest&&Y.data.length>this._def.items.length)T(Y,{code:b.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),X.dirty();let $=[...Y.data].map((J,G)=>{let H=this._def.items[G]||this._def.rest;if(!H)return null;return H._parse(new M1(Y,J,Y.path,G))}).filter((J)=>!!J);if(Y.common.async)return Promise.all($).then((J)=>{return C0.mergeArray(X,J)});else return C0.mergeArray(X,$)}get items(){return this._def.items}rest(Q){return new l1({...this._def,rest:Q})}}l1.create=(Q,X)=>{if(!Array.isArray(Q))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new l1({items:Q,typeName:P.ZodTuple,rest:null,...p(X)})};class P8 extends o{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(Q){let{status:X,ctx:Y}=this._processInputParams(Q);if(Y.parsedType!==R.object)return T(Y,{code:b.invalid_type,expected:R.object,received:Y.parsedType}),h;let W=[],$=this._def.keyType,J=this._def.valueType;for(let G in Y.data)W.push({key:$._parse(new M1(Y,G,Y.path,G)),value:J._parse(new M1(Y,Y.data[G],Y.path,G)),alwaysSet:G in Y.data});if(Y.common.async)return C0.mergeObjectAsync(X,W);else return C0.mergeObjectSync(X,W)}get element(){return this._def.valueType}static create(Q,X,Y){if(X instanceof o)return new P8({keyType:Q,valueType:X,typeName:P.ZodRecord,...p(Y)});return new P8({keyType:U1.create(),valueType:Q,typeName:P.ZodRecord,...p(X)})}}class Z8 extends o{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(Q){let{status:X,ctx:Y}=this._processInputParams(Q);if(Y.parsedType!==R.map)return T(Y,{code:b.invalid_type,expected:R.map,received:Y.parsedType}),h;let W=this._def.keyType,$=this._def.valueType,J=[...Y.data.entries()].map(([G,H],B)=>{return{key:W._parse(new M1(Y,G,Y.path,[B,"key"])),value:$._parse(new M1(Y,H,Y.path,[B,"value"]))}});if(Y.common.async){let G=new Map;return Promise.resolve().then(async()=>{for(let H of J){let B=await H.key,z=await H.value;if(B.status==="aborted"||z.status==="aborted")return h;if(B.status==="dirty"||z.status==="dirty")X.dirty();G.set(B.value,z.value)}return{status:X.value,value:G}})}else{let G=new Map;for(let H of J){let{key:B,value:z}=H;if(B.status==="aborted"||z.status==="aborted")return h;if(B.status==="dirty"||z.status==="dirty")X.dirty();G.set(B.value,z.value)}return{status:X.value,value:G}}}}Z8.create=(Q,X,Y)=>{return new Z8({valueType:X,keyType:Q,typeName:P.ZodMap,...p(Y)})};class c6 extends o{_parse(Q){let{status:X,ctx:Y}=this._processInputParams(Q);if(Y.parsedType!==R.set)return T(Y,{code:b.invalid_type,expected:R.set,received:Y.parsedType}),h;let W=this._def;if(W.minSize!==null){if(Y.data.size<W.minSize.value)T(Y,{code:b.too_small,minimum:W.minSize.value,type:"set",inclusive:!0,exact:!1,message:W.minSize.message}),X.dirty()}if(W.maxSize!==null){if(Y.data.size>W.maxSize.value)T(Y,{code:b.too_big,maximum:W.maxSize.value,type:"set",inclusive:!0,exact:!1,message:W.maxSize.message}),X.dirty()}let $=this._def.valueType;function J(H){let B=new Set;for(let z of H){if(z.status==="aborted")return h;if(z.status==="dirty")X.dirty();B.add(z.value)}return{status:X.value,value:B}}let G=[...Y.data.values()].map((H,B)=>$._parse(new M1(Y,H,Y.path,B)));if(Y.common.async)return Promise.all(G).then((H)=>J(H));else return J(G)}min(Q,X){return new c6({...this._def,minSize:{value:Q,message:v.toString(X)}})}max(Q,X){return new c6({...this._def,maxSize:{value:Q,message:v.toString(X)}})}size(Q,X){return this.min(Q,X).max(Q,X)}nonempty(Q){return this.min(1,Q)}}c6.create=(Q,X)=>{return new c6({valueType:Q,minSize:null,maxSize:null,typeName:P.ZodSet,...p(X)})};class N9 extends o{constructor(){super(...arguments);this.validate=this.implement}_parse(Q){let{ctx:X}=this._processInputParams(Q);if(X.parsedType!==R.function)return T(X,{code:b.invalid_type,expected:R.function,received:X.parsedType}),h;function Y(G,H){return N8({data:G,path:X.path,errorMaps:[X.common.contextualErrorMap,X.schemaErrorMap,U9(),o1].filter((B)=>!!B),issueData:{code:b.invalid_arguments,argumentsError:H}})}function W(G,H){return N8({data:G,path:X.path,errorMaps:[X.common.contextualErrorMap,X.schemaErrorMap,U9(),o1].filter((B)=>!!B),issueData:{code:b.invalid_return_type,returnTypeError:H}})}let $={errorMap:X.common.contextualErrorMap},J=X.data;if(this._def.returns instanceof p6){let G=this;return h0(async function(...H){let B=new r0([]),z=await G._def.args.parseAsync(H,$).catch((q)=>{throw B.addIssue(Y(H,q)),B}),K=await Reflect.apply(J,this,z);return await G._def.returns._def.type.parseAsync(K,$).catch((q)=>{throw B.addIssue(W(K,q)),B})})}else{let G=this;return h0(function(...H){let B=G._def.args.safeParse(H,$);if(!B.success)throw new r0([Y(H,B.error)]);let z=Reflect.apply(J,this,B.data),K=G._def.returns.safeParse(z,$);if(!K.success)throw new r0([W(z,K.error)]);return K.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...Q){return new N9({...this._def,args:l1.create(Q).rest(V6.create())})}returns(Q){return new N9({...this._def,returns:Q})}implement(Q){return this.parse(Q)}strictImplement(Q){return this.parse(Q)}static create(Q,X,Y){return new N9({args:Q?Q:l1.create([]).rest(V6.create()),returns:X||V6.create(),typeName:P.ZodFunction,...p(Y)})}}class E9 extends o{get schema(){return this._def.getter()}_parse(Q){let{ctx:X}=this._processInputParams(Q);return this._def.getter()._parse({data:X.data,path:X.path,parent:X})}}E9.create=(Q,X)=>{return new E9({getter:Q,typeName:P.ZodLazy,...p(X)})};class S9 extends o{_parse(Q){if(Q.data!==this._def.value){let X=this._getOrReturnCtx(Q);return T(X,{received:X.data,code:b.invalid_literal,expected:this._def.value}),h}return{status:"valid",value:Q.data}}get value(){return this._def.value}}S9.create=(Q,X)=>{return new S9({value:Q,typeName:P.ZodLiteral,...p(X)})};function DG(Q,X){return new q6({values:Q,typeName:P.ZodEnum,...p(X)})}class q6 extends o{_parse(Q){if(typeof Q.data!=="string"){let X=this._getOrReturnCtx(Q),Y=this._def.values;return T(X,{expected:t.joinValues(Y),received:X.parsedType,code:b.invalid_type}),h}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has(Q.data)){let X=this._getOrReturnCtx(Q),Y=this._def.values;return T(X,{received:X.data,code:b.invalid_enum_value,options:Y}),h}return h0(Q.data)}get options(){return this._def.values}get enum(){let Q={};for(let X of this._def.values)Q[X]=X;return Q}get Values(){let Q={};for(let X of this._def.values)Q[X]=X;return Q}get Enum(){let Q={};for(let X of this._def.values)Q[X]=X;return Q}extract(Q,X=this._def){return q6.create(Q,{...this._def,...X})}exclude(Q,X=this._def){return q6.create(this.options.filter((Y)=>!Q.includes(Y)),{...this._def,...X})}}q6.create=DG;class I9 extends o{_parse(Q){let X=t.getValidEnumValues(this._def.values),Y=this._getOrReturnCtx(Q);if(Y.parsedType!==R.string&&Y.parsedType!==R.number){let W=t.objectValues(X);return T(Y,{expected:t.joinValues(W),received:Y.parsedType,code:b.invalid_type}),h}if(!this._cache)this._cache=new Set(t.getValidEnumValues(this._def.values));if(!this._cache.has(Q.data)){let W=t.objectValues(X);return T(Y,{received:Y.data,code:b.invalid_enum_value,options:W}),h}return h0(Q.data)}get enum(){return this._def.values}}I9.create=(Q,X)=>{return new I9({values:Q,typeName:P.ZodNativeEnum,...p(X)})};class p6 extends o{unwrap(){return this._def.type}_parse(Q){let{ctx:X}=this._processInputParams(Q);if(X.parsedType!==R.promise&&X.common.async===!1)return T(X,{code:b.invalid_type,expected:R.promise,received:X.parsedType}),h;let Y=X.parsedType===R.promise?X.data:Promise.resolve(X.data);return h0(Y.then((W)=>{return this._def.type.parseAsync(W,{path:X.path,errorMap:X.common.contextualErrorMap})}))}}p6.create=(Q,X)=>{return new p6({type:Q,typeName:P.ZodPromise,...p(X)})};class N1 extends o{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===P.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(Q){let{status:X,ctx:Y}=this._processInputParams(Q),W=this._def.effect||null,$={addIssue:(J)=>{if(T(Y,J),J.fatal)X.abort();else X.dirty()},get path(){return Y.path}};if($.addIssue=$.addIssue.bind($),W.type==="preprocess"){let J=W.transform(Y.data,$);if(Y.common.async)return Promise.resolve(J).then(async(G)=>{if(X.value==="aborted")return h;let H=await this._def.schema._parseAsync({data:G,path:Y.path,parent:Y});if(H.status==="aborted")return h;if(H.status==="dirty")return u6(H.value);if(X.value==="dirty")return u6(H.value);return H});else{if(X.value==="aborted")return h;let G=this._def.schema._parseSync({data:J,path:Y.path,parent:Y});if(G.status==="aborted")return h;if(G.status==="dirty")return u6(G.value);if(X.value==="dirty")return u6(G.value);return G}}if(W.type==="refinement"){let J=(G)=>{let H=W.refinement(G,$);if(Y.common.async)return Promise.resolve(H);if(H instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return G};if(Y.common.async===!1){let G=this._def.schema._parseSync({data:Y.data,path:Y.path,parent:Y});if(G.status==="aborted")return h;if(G.status==="dirty")X.dirty();return J(G.value),{status:X.value,value:G.value}}else return this._def.schema._parseAsync({data:Y.data,path:Y.path,parent:Y}).then((G)=>{if(G.status==="aborted")return h;if(G.status==="dirty")X.dirty();return J(G.value).then(()=>{return{status:X.value,value:G.value}})})}if(W.type==="transform")if(Y.common.async===!1){let J=this._def.schema._parseSync({data:Y.data,path:Y.path,parent:Y});if(!K6(J))return h;let G=W.transform(J.value,$);if(G instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:X.value,value:G}}else return this._def.schema._parseAsync({data:Y.data,path:Y.path,parent:Y}).then((J)=>{if(!K6(J))return h;return Promise.resolve(W.transform(J.value,$)).then((G)=>({status:X.value,value:G}))});t.assertNever(W)}}N1.create=(Q,X,Y)=>{return new N1({schema:Q,typeName:P.ZodEffects,effect:X,...p(Y)})};N1.createWithPreprocess=(Q,X,Y)=>{return new N1({schema:X,effect:{type:"preprocess",transform:Q},typeName:P.ZodEffects,...p(Y)})};class B1 extends o{_parse(Q){if(this._getType(Q)===R.undefined)return h0(void 0);return this._def.innerType._parse(Q)}unwrap(){return this._def.innerType}}B1.create=(Q,X)=>{return new B1({innerType:Q,typeName:P.ZodOptional,...p(X)})};class t1 extends o{_parse(Q){if(this._getType(Q)===R.null)return h0(null);return this._def.innerType._parse(Q)}unwrap(){return this._def.innerType}}t1.create=(Q,X)=>{return new t1({innerType:Q,typeName:P.ZodNullable,...p(X)})};class T9 extends o{_parse(Q){let{ctx:X}=this._processInputParams(Q),Y=X.data;if(X.parsedType===R.undefined)Y=this._def.defaultValue();return this._def.innerType._parse({data:Y,path:X.path,parent:X})}removeDefault(){return this._def.innerType}}T9.create=(Q,X)=>{return new T9({innerType:Q,typeName:P.ZodDefault,defaultValue:typeof X.default==="function"?X.default:()=>X.default,...p(X)})};class C9 extends o{_parse(Q){let{ctx:X}=this._processInputParams(Q),Y={...X,common:{...X.common,issues:[]}},W=this._def.innerType._parse({data:Y.data,path:Y.path,parent:{...Y}});if(j9(W))return W.then(($)=>{return{status:"valid",value:$.status==="valid"?$.value:this._def.catchValue({get error(){return new r0(Y.common.issues)},input:Y.data})}});else return{status:"valid",value:W.status==="valid"?W.value:this._def.catchValue({get error(){return new r0(Y.common.issues)},input:Y.data})}}removeCatch(){return this._def.innerType}}C9.create=(Q,X)=>{return new C9({innerType:Q,typeName:P.ZodCatch,catchValue:typeof X.catch==="function"?X.catch:()=>X.catch,...p(X)})};class R8 extends o{_parse(Q){if(this._getType(Q)!==R.nan){let Y=this._getOrReturnCtx(Q);return T(Y,{code:b.invalid_type,expected:R.nan,received:Y.parsedType}),h}return{status:"valid",value:Q.data}}}R8.create=(Q)=>{return new R8({typeName:P.ZodNaN,...p(Q)})};var iU=Symbol("zod_brand");class QQ extends o{_parse(Q){let{ctx:X}=this._processInputParams(Q),Y=X.data;return this._def.type._parse({data:Y,path:X.path,parent:X})}unwrap(){return this._def.type}}class E8 extends o{_parse(Q){let{status:X,ctx:Y}=this._processInputParams(Q);if(Y.common.async)return(async()=>{let $=await this._def.in._parseAsync({data:Y.data,path:Y.path,parent:Y});if($.status==="aborted")return h;if($.status==="dirty")return X.dirty(),u6($.value);else return this._def.out._parseAsync({data:$.value,path:Y.path,parent:Y})})();else{let W=this._def.in._parseSync({data:Y.data,path:Y.path,parent:Y});if(W.status==="aborted")return h;if(W.status==="dirty")return X.dirty(),{status:"dirty",value:W.value};else return this._def.out._parseSync({data:W.value,path:Y.path,parent:Y})}}static create(Q,X){return new E8({in:Q,out:X,typeName:P.ZodPipeline})}}class k9 extends o{_parse(Q){let X=this._def.innerType._parse(Q),Y=(W)=>{if(K6(W))W.value=Object.freeze(W.value);return W};return j9(X)?X.then((W)=>Y(W)):Y(X)}unwrap(){return this._def.innerType}}k9.create=(Q,X)=>{return new k9({innerType:Q,typeName:P.ZodReadonly,...p(X)})};function VG(Q,X){let Y=typeof Q==="function"?Q(X):typeof Q==="string"?{message:Q}:Q;return typeof Y==="string"?{message:Y}:Y}function LG(Q,X={},Y){if(Q)return m6.create().superRefine((W,$)=>{let J=Q(W);if(J instanceof Promise)return J.then((G)=>{if(!G){let H=VG(X,W),B=H.fatal??Y??!0;$.addIssue({code:"custom",...H,fatal:B})}});if(!J){let G=VG(X,W),H=G.fatal??Y??!0;$.addIssue({code:"custom",...G,fatal:H})}return});return m6.create()}var nU={object:w0.lazycreate},P;(function(Q){Q.ZodString="ZodString",Q.ZodNumber="ZodNumber",Q.ZodNaN="ZodNaN",Q.ZodBigInt="ZodBigInt",Q.ZodBoolean="ZodBoolean",Q.ZodDate="ZodDate",Q.ZodSymbol="ZodSymbol",Q.ZodUndefined="ZodUndefined",Q.ZodNull="ZodNull",Q.ZodAny="ZodAny",Q.ZodUnknown="ZodUnknown",Q.ZodNever="ZodNever",Q.ZodVoid="ZodVoid",Q.ZodArray="ZodArray",Q.ZodObject="ZodObject",Q.ZodUnion="ZodUnion",Q.ZodDiscriminatedUnion="ZodDiscriminatedUnion",Q.ZodIntersection="ZodIntersection",Q.ZodTuple="ZodTuple",Q.ZodRecord="ZodRecord",Q.ZodMap="ZodMap",Q.ZodSet="ZodSet",Q.ZodFunction="ZodFunction",Q.ZodLazy="ZodLazy",Q.ZodLiteral="ZodLiteral",Q.ZodEnum="ZodEnum",Q.ZodEffects="ZodEffects",Q.ZodNativeEnum="ZodNativeEnum",Q.ZodOptional="ZodOptional",Q.ZodNullable="ZodNullable",Q.ZodDefault="ZodDefault",Q.ZodCatch="ZodCatch",Q.ZodPromise="ZodPromise",Q.ZodBranded="ZodBranded",Q.ZodPipeline="ZodPipeline",Q.ZodReadonly="ZodReadonly"})(P||(P={}));var oU=(Q,X={message:`Input not instance of ${Q.name}`})=>LG((Y)=>Y instanceof Q,X),OG=U1.create,UG=F6.create,rU=R8.create,tU=A6.create,jG=w9.create,aU=l6.create,sU=w8.create,eU=b9.create,Qj=P9.create,Xj=m6.create,Yj=V6.create,Wj=u1.create,$j=b8.create,Jj=j1.create,mY=w0.create,Gj=w0.strictCreate,Hj=Z9.create,Bj=e4.create,zj=R9.create,Kj=l1.create,Vj=P8.create,Fj=Z8.create,Aj=c6.create,qj=N9.create,Dj=E9.create,Lj=S9.create,Oj=q6.create,Uj=I9.create,jj=p6.create,Mj=N1.create,Nj=B1.create,wj=t1.create,bj=N1.createWithPreprocess,Pj=E8.create,Zj=()=>OG().optional(),Rj=()=>UG().optional(),Ej=()=>jG().optional(),Sj={string:(Q)=>U1.create({...Q,coerce:!0}),number:(Q)=>F6.create({...Q,coerce:!0}),boolean:(Q)=>w9.create({...Q,coerce:!0}),bigint:(Q)=>A6.create({...Q,coerce:!0}),date:(Q)=>l6.create({...Q,coerce:!0})};var Ij=h;var YQ=Object.freeze({status:"aborted"});function M(Q,X,Y){function W(H,B){var z;Object.defineProperty(H,"_zod",{value:H._zod??{},enumerable:!1}),(z=H._zod).traits??(z.traits=new Set),H._zod.traits.add(Q),X(H,B);for(let K in G.prototype)if(!(K in H))Object.defineProperty(H,K,{value:G.prototype[K].bind(H)});H._zod.constr=G,H._zod.def=B}let $=Y?.Parent??Object;class J extends ${}Object.defineProperty(J,"name",{value:Q});function G(H){var B;let z=Y?.Parent?new J:this;W(z,H),(B=z._zod).deferred??(B.deferred=[]);for(let K of z._zod.deferred)K();return z}return Object.defineProperty(G,"init",{value:W}),Object.defineProperty(G,Symbol.hasInstance,{value:(H)=>{if(Y?.Parent&&H instanceof Y.Parent)return!0;return H?._zod?.traits?.has(Q)}}),Object.defineProperty(G,"name",{value:Q}),G}var MG=Symbol("zod_brand");class D6 extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}var XQ={};function t0(Q){if(Q)Object.assign(XQ,Q);return XQ}var a={};t4(a,{unwrapMessage:()=>S8,stringifyPrimitive:()=>JQ,required:()=>ij,randomString:()=>fj,propertyKeyTypes:()=>oY,promiseAllObject:()=>yj,primitiveTypes:()=>NG,prefixIssues:()=>m1,pick:()=>lj,partial:()=>dj,optionalKeys:()=>rY,omit:()=>mj,numKeys:()=>gj,nullish:()=>C8,normalizeParams:()=>g,merge:()=>pj,jsonStringifyReplacer:()=>pY,joinValues:()=>WQ,issue:()=>aY,isPlainObject:()=>_9,isObject:()=>v9,getSizableOrigin:()=>bG,getParsedType:()=>hj,getLengthableOrigin:()=>v8,getEnumValues:()=>I8,getElementAtPath:()=>xj,floatSafeRemainder:()=>dY,finalizeIssue:()=>w1,extend:()=>cj,escapeRegex:()=>L6,esc:()=>d6,defineLazy:()=>V0,createTransparentProxy:()=>uj,clone:()=>a0,cleanRegex:()=>k8,cleanEnum:()=>nj,captureStackTrace:()=>$Q,cached:()=>T8,assignProp:()=>iY,assertNotEqual:()=>Cj,assertNever:()=>vj,assertIs:()=>kj,assertEqual:()=>Tj,assert:()=>_j,allowsEval:()=>nY,aborted:()=>i6,NUMBER_FORMAT_RANGES:()=>tY,Class:()=>PG,BIGINT_FORMAT_RANGES:()=>wG});function Tj(Q){return Q}function Cj(Q){return Q}function kj(Q){}function vj(Q){throw Error()}function _j(Q){}function I8(Q){let X=Object.values(Q).filter((W)=>typeof W==="number");return Object.entries(Q).filter(([W,$])=>X.indexOf(+W)===-1).map(([W,$])=>$)}function WQ(Q,X="|"){return Q.map((Y)=>JQ(Y)).join(X)}function pY(Q,X){if(typeof X==="bigint")return X.toString();return X}function T8(Q){return{get value(){{let Y=Q();return Object.defineProperty(this,"value",{value:Y}),Y}throw Error("cached value already set")}}}function C8(Q){return Q===null||Q===void 0}function k8(Q){let X=Q.startsWith("^")?1:0,Y=Q.endsWith("$")?Q.length-1:Q.length;return Q.slice(X,Y)}function dY(Q,X){let Y=(Q.toString().split(".")[1]||"").length,W=(X.toString().split(".")[1]||"").length,$=Y>W?Y:W,J=Number.parseInt(Q.toFixed($).replace(".","")),G=Number.parseInt(X.toFixed($).replace(".",""));return J%G/10**$}function V0(Q,X,Y){Object.defineProperty(Q,X,{get(){{let $=Y();return Q[X]=$,$}throw Error("cached value already set")},set($){Object.defineProperty(Q,X,{value:$})},configurable:!0})}function iY(Q,X,Y){Object.defineProperty(Q,X,{value:Y,writable:!0,enumerable:!0,configurable:!0})}function xj(Q,X){if(!X)return Q;return X.reduce((Y,W)=>Y?.[W],Q)}function yj(Q){let X=Object.keys(Q),Y=X.map((W)=>Q[W]);return Promise.all(Y).then((W)=>{let $={};for(let J=0;J<X.length;J++)$[X[J]]=W[J];return $})}function fj(Q=10){let Y="";for(let W=0;W<Q;W++)Y+="abcdefghijklmnopqrstuvwxyz"[Math.floor(Math.random()*26)];return Y}function d6(Q){return JSON.stringify(Q)}var $Q=Error.captureStackTrace?Error.captureStackTrace:(...Q)=>{};function v9(Q){return typeof Q==="object"&&Q!==null&&!Array.isArray(Q)}var nY=T8(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(Q){return!1}});function _9(Q){if(v9(Q)===!1)return!1;let X=Q.constructor;if(X===void 0)return!0;let Y=X.prototype;if(v9(Y)===!1)return!1;if(Object.prototype.hasOwnProperty.call(Y,"isPrototypeOf")===!1)return!1;return!0}function gj(Q){let X=0;for(let Y in Q)if(Object.prototype.hasOwnProperty.call(Q,Y))X++;return X}var hj=(Q)=>{let X=typeof Q;switch(X){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(Q)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":if(Array.isArray(Q))return"array";if(Q===null)return"null";if(Q.then&&typeof Q.then==="function"&&Q.catch&&typeof Q.catch==="function")return"promise";if(typeof Map<"u"&&Q instanceof Map)return"map";if(typeof Set<"u"&&Q instanceof Set)return"set";if(typeof Date<"u"&&Q instanceof Date)return"date";if(typeof File<"u"&&Q instanceof File)return"file";return"object";default:throw Error(`Unknown data type: ${X}`)}},oY=new Set(["string","number","symbol"]),NG=new Set(["string","number","bigint","boolean","symbol","undefined"]);function L6(Q){return Q.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function a0(Q,X,Y){let W=new Q._zod.constr(X??Q._zod.def);if(!X||Y?.parent)W._zod.parent=Q;return W}function g(Q){let X=Q;if(!X)return{};if(typeof X==="string")return{error:()=>X};if(X?.message!==void 0){if(X?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");X.error=X.message}if(delete X.message,typeof X.error==="string")return{...X,error:()=>X.error};return X}function uj(Q){let X;return new Proxy({},{get(Y,W,$){return X??(X=Q()),Reflect.get(X,W,$)},set(Y,W,$,J){return X??(X=Q()),Reflect.set(X,W,$,J)},has(Y,W){return X??(X=Q()),Reflect.has(X,W)},deleteProperty(Y,W){return X??(X=Q()),Reflect.deleteProperty(X,W)},ownKeys(Y){return X??(X=Q()),Reflect.ownKeys(X)},getOwnPropertyDescriptor(Y,W){return X??(X=Q()),Reflect.getOwnPropertyDescriptor(X,W)},defineProperty(Y,W,$){return X??(X=Q()),Reflect.defineProperty(X,W,$)}})}function JQ(Q){if(typeof Q==="bigint")return Q.toString()+"n";if(typeof Q==="string")return`"${Q}"`;return`${Q}`}function rY(Q){return Object.keys(Q).filter((X)=>{return Q[X]._zod.optin==="optional"&&Q[X]._zod.optout==="optional"})}var tY={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-340282346638528860000000000000000000000,340282346638528860000000000000000000000],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},wG={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function lj(Q,X){let Y={},W=Q._zod.def;for(let $ in X){if(!($ in W.shape))throw Error(`Unrecognized key: "${$}"`);if(!X[$])continue;Y[$]=W.shape[$]}return a0(Q,{...Q._zod.def,shape:Y,checks:[]})}function mj(Q,X){let Y={...Q._zod.def.shape},W=Q._zod.def;for(let $ in X){if(!($ in W.shape))throw Error(`Unrecognized key: "${$}"`);if(!X[$])continue;delete Y[$]}return a0(Q,{...Q._zod.def,shape:Y,checks:[]})}function cj(Q,X){if(!_9(X))throw Error("Invalid input to extend: expected a plain object");let Y={...Q._zod.def,get shape(){let W={...Q._zod.def.shape,...X};return iY(this,"shape",W),W},checks:[]};return a0(Q,Y)}function pj(Q,X){return a0(Q,{...Q._zod.def,get shape(){let Y={...Q._zod.def.shape,...X._zod.def.shape};return iY(this,"shape",Y),Y},catchall:X._zod.def.catchall,checks:[]})}function dj(Q,X,Y){let W=X._zod.def.shape,$={...W};if(Y)for(let J in Y){if(!(J in W))throw Error(`Unrecognized key: "${J}"`);if(!Y[J])continue;$[J]=Q?new Q({type:"optional",innerType:W[J]}):W[J]}else for(let J in W)$[J]=Q?new Q({type:"optional",innerType:W[J]}):W[J];return a0(X,{...X._zod.def,shape:$,checks:[]})}function ij(Q,X,Y){let W=X._zod.def.shape,$={...W};if(Y)for(let J in Y){if(!(J in $))throw Error(`Unrecognized key: "${J}"`);if(!Y[J])continue;$[J]=new Q({type:"nonoptional",innerType:W[J]})}else for(let J in W)$[J]=new Q({type:"nonoptional",innerType:W[J]});return a0(X,{...X._zod.def,shape:$,checks:[]})}function i6(Q,X=0){for(let Y=X;Y<Q.issues.length;Y++)if(Q.issues[Y]?.continue!==!0)return!0;return!1}function m1(Q,X){return X.map((Y)=>{var W;return(W=Y).path??(W.path=[]),Y.path.unshift(Q),Y})}function S8(Q){return typeof Q==="string"?Q:Q?.message}function w1(Q,X,Y){let W={...Q,path:Q.path??[]};if(!Q.message){let $=S8(Q.inst?._zod.def?.error?.(Q))??S8(X?.error?.(Q))??S8(Y.customError?.(Q))??S8(Y.localeError?.(Q))??"Invalid input";W.message=$}if(delete W.inst,delete W.continue,!X?.reportInput)delete W.input;return W}function bG(Q){if(Q instanceof Set)return"set";if(Q instanceof Map)return"map";if(Q instanceof File)return"file";return"unknown"}function v8(Q){if(Array.isArray(Q))return"array";if(typeof Q==="string")return"string";return"unknown"}function aY(...Q){let[X,Y,W]=Q;if(typeof X==="string")return{message:X,code:"custom",input:Y,inst:W};return{...X}}function nj(Q){return Object.entries(Q).filter(([X,Y])=>{return Number.isNaN(Number.parseInt(X,10))}).map((X)=>X[1])}class PG{constructor(...Q){}}var ZG=(Q,X)=>{Q.name="$ZodError",Object.defineProperty(Q,"_zod",{value:Q._zod,enumerable:!1}),Object.defineProperty(Q,"issues",{value:X,enumerable:!1}),Object.defineProperty(Q,"message",{get(){return JSON.stringify(X,pY,2)},enumerable:!0}),Object.defineProperty(Q,"toString",{value:()=>Q.message,enumerable:!1})},GQ=M("$ZodError",ZG),_8=M("$ZodError",ZG,{Parent:Error});function HQ(Q,X=(Y)=>Y.message){let Y={},W=[];for(let $ of Q.issues)if($.path.length>0)Y[$.path[0]]=Y[$.path[0]]||[],Y[$.path[0]].push(X($));else W.push(X($));return{formErrors:W,fieldErrors:Y}}function BQ(Q,X){let Y=X||function(J){return J.message},W={_errors:[]},$=(J)=>{for(let G of J.issues)if(G.code==="invalid_union"&&G.errors.length)G.errors.map((H)=>$({issues:H}));else if(G.code==="invalid_key")$({issues:G.issues});else if(G.code==="invalid_element")$({issues:G.issues});else if(G.path.length===0)W._errors.push(Y(G));else{let H=W,B=0;while(B<G.path.length){let z=G.path[B];if(B!==G.path.length-1)H[z]=H[z]||{_errors:[]};else H[z]=H[z]||{_errors:[]},H[z]._errors.push(Y(G));H=H[z],B++}}};return $(Q),W}var sY=(Q)=>(X,Y,W,$)=>{let J=W?Object.assign(W,{async:!1}):{async:!1},G=X._zod.run({value:Y,issues:[]},J);if(G instanceof Promise)throw new D6;if(G.issues.length){let H=new($?.Err??Q)(G.issues.map((B)=>w1(B,J,t0())));throw $Q(H,$?.callee),H}return G.value},eY=sY(_8),Q7=(Q)=>async(X,Y,W,$)=>{let J=W?Object.assign(W,{async:!0}):{async:!0},G=X._zod.run({value:Y,issues:[]},J);if(G instanceof Promise)G=await G;if(G.issues.length){let H=new($?.Err??Q)(G.issues.map((B)=>w1(B,J,t0())));throw $Q(H,$?.callee),H}return G.value},X7=Q7(_8),Y7=(Q)=>(X,Y,W)=>{let $=W?{...W,async:!1}:{async:!1},J=X._zod.run({value:Y,issues:[]},$);if(J instanceof Promise)throw new D6;return J.issues.length?{success:!1,error:new(Q??GQ)(J.issues.map((G)=>w1(G,$,t0())))}:{success:!0,data:J.value}},n6=Y7(_8),W7=(Q)=>async(X,Y,W)=>{let $=W?Object.assign(W,{async:!0}):{async:!0},J=X._zod.run({value:Y,issues:[]},$);if(J instanceof Promise)J=await J;return J.issues.length?{success:!1,error:new Q(J.issues.map((G)=>w1(G,$,t0())))}:{success:!0,data:J.value}},o6=W7(_8);var RG=/^[cC][^\s-]{8,}$/,EG=/^[0-9a-z]+$/,SG=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,IG=/^[0-9a-vA-V]{20}$/,TG=/^[A-Za-z0-9]{27}$/,CG=/^[a-zA-Z0-9_-]{21}$/,kG=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var vG=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,$7=(Q)=>{if(!Q)return/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$/;return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${Q}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`)};var _G=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;function xG(){return new RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")}var yG=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,fG=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})$/,gG=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,hG=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,uG=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,J7=/^[A-Za-z0-9_-]*$/,lG=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;var mG=/^\+(?:[0-9]){6,14}[0-9]$/,cG="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",pG=new RegExp(`^${cG}$`);function dG(Q){return typeof Q.precision==="number"?Q.precision===-1?"(?:[01]\\d|2[0-3]):[0-5]\\d":Q.precision===0?"(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d":`(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{${Q.precision}}`:"(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?"}function iG(Q){return new RegExp(`^${dG(Q)}$`)}function nG(Q){let X=dG({precision:Q.precision}),Y=["Z"];if(Q.local)Y.push("");if(Q.offset)Y.push("([+-]\\d{2}:\\d{2})");let W=`${X}(?:${Y.join("|")})`;return new RegExp(`^${cG}T(?:${W})$`)}var oG=(Q)=>{let X=Q?`[\\s\\S]{${Q?.minimum??0},${Q?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${X}$`)},rG=/^\d+n?$/,tG=/^\d+$/,aG=/^-?\d+(?:\.\d+)?/i,sG=/true|false/i,eG=/null/i;var QH=/^[^A-Z]*$/,XH=/^[^a-z]*$/;var k0=M("$ZodCheck",(Q,X)=>{var Y;Q._zod??(Q._zod={}),Q._zod.def=X,(Y=Q._zod).onattach??(Y.onattach=[])}),YH={number:"number",bigint:"bigint",object:"date"},G7=M("$ZodCheckLessThan",(Q,X)=>{k0.init(Q,X);let Y=YH[typeof X.value];Q._zod.onattach.push((W)=>{let $=W._zod.bag,J=(X.inclusive?$.maximum:$.exclusiveMaximum)??Number.POSITIVE_INFINITY;if(X.value<J)if(X.inclusive)$.maximum=X.value;else $.exclusiveMaximum=X.value}),Q._zod.check=(W)=>{if(X.inclusive?W.value<=X.value:W.value<X.value)return;W.issues.push({origin:Y,code:"too_big",maximum:X.value,input:W.value,inclusive:X.inclusive,inst:Q,continue:!X.abort})}}),H7=M("$ZodCheckGreaterThan",(Q,X)=>{k0.init(Q,X);let Y=YH[typeof X.value];Q._zod.onattach.push((W)=>{let $=W._zod.bag,J=(X.inclusive?$.minimum:$.exclusiveMinimum)??Number.NEGATIVE_INFINITY;if(X.value>J)if(X.inclusive)$.minimum=X.value;else $.exclusiveMinimum=X.value}),Q._zod.check=(W)=>{if(X.inclusive?W.value>=X.value:W.value>X.value)return;W.issues.push({origin:Y,code:"too_small",minimum:X.value,input:W.value,inclusive:X.inclusive,inst:Q,continue:!X.abort})}}),WH=M("$ZodCheckMultipleOf",(Q,X)=>{k0.init(Q,X),Q._zod.onattach.push((Y)=>{var W;(W=Y._zod.bag).multipleOf??(W.multipleOf=X.value)}),Q._zod.check=(Y)=>{if(typeof Y.value!==typeof X.value)throw Error("Cannot mix number and bigint in multiple_of check.");if(typeof Y.value==="bigint"?Y.value%X.value===BigInt(0):dY(Y.value,X.value)===0)return;Y.issues.push({origin:typeof Y.value,code:"not_multiple_of",divisor:X.value,input:Y.value,inst:Q,continue:!X.abort})}}),$H=M("$ZodCheckNumberFormat",(Q,X)=>{k0.init(Q,X),X.format=X.format||"float64";let Y=X.format?.includes("int"),W=Y?"int":"number",[$,J]=tY[X.format];Q._zod.onattach.push((G)=>{let H=G._zod.bag;if(H.format=X.format,H.minimum=$,H.maximum=J,Y)H.pattern=tG}),Q._zod.check=(G)=>{let H=G.value;if(Y){if(!Number.isInteger(H)){G.issues.push({expected:W,format:X.format,code:"invalid_type",input:H,inst:Q});return}if(!Number.isSafeInteger(H)){if(H>0)G.issues.push({input:H,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:Q,origin:W,continue:!X.abort});else G.issues.push({input:H,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:Q,origin:W,continue:!X.abort});return}}if(H<$)G.issues.push({origin:"number",input:H,code:"too_small",minimum:$,inclusive:!0,inst:Q,continue:!X.abort});if(H>J)G.issues.push({origin:"number",input:H,code:"too_big",maximum:J,inst:Q})}});var JH=M("$ZodCheckMaxLength",(Q,X)=>{var Y;k0.init(Q,X),(Y=Q._zod.def).when??(Y.when=(W)=>{let $=W.value;return!C8($)&&$.length!==void 0}),Q._zod.onattach.push((W)=>{let $=W._zod.bag.maximum??Number.POSITIVE_INFINITY;if(X.maximum<$)W._zod.bag.maximum=X.maximum}),Q._zod.check=(W)=>{let $=W.value;if($.length<=X.maximum)return;let G=v8($);W.issues.push({origin:G,code:"too_big",maximum:X.maximum,inclusive:!0,input:$,inst:Q,continue:!X.abort})}}),GH=M("$ZodCheckMinLength",(Q,X)=>{var Y;k0.init(Q,X),(Y=Q._zod.def).when??(Y.when=(W)=>{let $=W.value;return!C8($)&&$.length!==void 0}),Q._zod.onattach.push((W)=>{let $=W._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(X.minimum>$)W._zod.bag.minimum=X.minimum}),Q._zod.check=(W)=>{let $=W.value;if($.length>=X.minimum)return;let G=v8($);W.issues.push({origin:G,code:"too_small",minimum:X.minimum,inclusive:!0,input:$,inst:Q,continue:!X.abort})}}),HH=M("$ZodCheckLengthEquals",(Q,X)=>{var Y;k0.init(Q,X),(Y=Q._zod.def).when??(Y.when=(W)=>{let $=W.value;return!C8($)&&$.length!==void 0}),Q._zod.onattach.push((W)=>{let $=W._zod.bag;$.minimum=X.length,$.maximum=X.length,$.length=X.length}),Q._zod.check=(W)=>{let $=W.value,J=$.length;if(J===X.length)return;let G=v8($),H=J>X.length;W.issues.push({origin:G,...H?{code:"too_big",maximum:X.length}:{code:"too_small",minimum:X.length},inclusive:!0,exact:!0,input:W.value,inst:Q,continue:!X.abort})}}),y8=M("$ZodCheckStringFormat",(Q,X)=>{var Y,W;if(k0.init(Q,X),Q._zod.onattach.push(($)=>{let J=$._zod.bag;if(J.format=X.format,X.pattern)J.patterns??(J.patterns=new Set),J.patterns.add(X.pattern)}),X.pattern)(Y=Q._zod).check??(Y.check=($)=>{if(X.pattern.lastIndex=0,X.pattern.test($.value))return;$.issues.push({origin:"string",code:"invalid_format",format:X.format,input:$.value,...X.pattern?{pattern:X.pattern.toString()}:{},inst:Q,continue:!X.abort})});else(W=Q._zod).check??(W.check=()=>{})}),BH=M("$ZodCheckRegex",(Q,X)=>{y8.init(Q,X),Q._zod.check=(Y)=>{if(X.pattern.lastIndex=0,X.pattern.test(Y.value))return;Y.issues.push({origin:"string",code:"invalid_format",format:"regex",input:Y.value,pattern:X.pattern.toString(),inst:Q,continue:!X.abort})}}),zH=M("$ZodCheckLowerCase",(Q,X)=>{X.pattern??(X.pattern=QH),y8.init(Q,X)}),KH=M("$ZodCheckUpperCase",(Q,X)=>{X.pattern??(X.pattern=XH),y8.init(Q,X)}),VH=M("$ZodCheckIncludes",(Q,X)=>{k0.init(Q,X);let Y=L6(X.includes),W=new RegExp(typeof X.position==="number"?`^.{${X.position}}${Y}`:Y);X.pattern=W,Q._zod.onattach.push(($)=>{let J=$._zod.bag;J.patterns??(J.patterns=new Set),J.patterns.add(W)}),Q._zod.check=($)=>{if($.value.includes(X.includes,X.position))return;$.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:X.includes,input:$.value,inst:Q,continue:!X.abort})}}),FH=M("$ZodCheckStartsWith",(Q,X)=>{k0.init(Q,X);let Y=new RegExp(`^${L6(X.prefix)}.*`);X.pattern??(X.pattern=Y),Q._zod.onattach.push((W)=>{let $=W._zod.bag;$.patterns??($.patterns=new Set),$.patterns.add(Y)}),Q._zod.check=(W)=>{if(W.value.startsWith(X.prefix))return;W.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:X.prefix,input:W.value,inst:Q,continue:!X.abort})}}),AH=M("$ZodCheckEndsWith",(Q,X)=>{k0.init(Q,X);let Y=new RegExp(`.*${L6(X.suffix)}$`);X.pattern??(X.pattern=Y),Q._zod.onattach.push((W)=>{let $=W._zod.bag;$.patterns??($.patterns=new Set),$.patterns.add(Y)}),Q._zod.check=(W)=>{if(W.value.endsWith(X.suffix))return;W.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:X.suffix,input:W.value,inst:Q,continue:!X.abort})}});var qH=M("$ZodCheckOverwrite",(Q,X)=>{k0.init(Q,X),Q._zod.check=(Y)=>{Y.value=X.tx(Y.value)}});class B7{constructor(Q=[]){if(this.content=[],this.indent=0,this)this.args=Q}indented(Q){this.indent+=1,Q(this),this.indent-=1}write(Q){if(typeof Q==="function"){Q(this,{execution:"sync"}),Q(this,{execution:"async"});return}let Y=Q.split(`
17
17
  `).filter((J)=>J),W=Math.min(...Y.map((J)=>J.length-J.trimStart().length)),$=Y.map((J)=>J.slice(W)).map((J)=>" ".repeat(this.indent*2)+J);for(let J of $)this.content.push(J)}compile(){let Q=Function,X=this?.args,W=[...(this?.content??[""]).map(($)=>` ${$}`)];return new Q(...X,W.join(`
18
- `))}}var tG={major:4,minor:0,patch:0};var G0=j("$ZodType",(Q,X)=>{var Y;Q??(Q={}),Q._zod.def=X,Q._zod.bag=Q._zod.bag||{},Q._zod.version=tG;let W=[...Q._zod.def.checks??[]];if(Q._zod.traits.has("$ZodCheck"))W.unshift(Q);for(let $ of W)for(let J of $._zod.onattach)J(Q);if(W.length===0)(Y=Q._zod).deferred??(Y.deferred=[]),Q._zod.deferred?.push(()=>{Q._zod.run=Q._zod.parse});else{let $=(J,G,H)=>{let B=d6(J),z;for(let K of G){if(K._zod.def.when){if(!K._zod.def.when(J))continue}else if(B)continue;let V=J.issues.length,D=K._zod.check(J);if(D instanceof Promise&&H?.async===!1)throw new A6;if(z||D instanceof Promise)z=(z??Promise.resolve()).then(async()=>{if(await D,J.issues.length===V)return;if(!B)B=d6(J,V)});else{if(J.issues.length===V)continue;if(!B)B=d6(J,V)}}if(z)return z.then(()=>{return J});return J};Q._zod.run=(J,G)=>{let H=Q._zod.parse(J,G);if(H instanceof Promise){if(G.async===!1)throw new A6;return H.then((B)=>$(B,W,G))}return $(H,W,G)}}Q["~standard"]={validate:($)=>{try{let J=i6(Q,$);return J.success?{value:J.data}:{issues:J.error?.issues}}catch(J){return n6(Q,$).then((G)=>G.success?{value:G.data}:{issues:G.error?.issues})}},vendor:"zod",version:1}}),S4=j("$ZodString",(Q,X)=>{G0.init(Q,X),Q._zod.pattern=[...Q?._zod.bag?.patterns??[]].pop()??SG(Q._zod.bag),Q._zod.parse=(Y,W)=>{if(X.coerce)try{Y.value=String(Y.value)}catch($){}if(typeof Y.value==="string")return Y;return Y.issues.push({expected:"string",code:"invalid_type",input:Y.value,inst:Q}),Y}}),V0=j("$ZodStringFormat",(Q,X)=>{E4.init(Q,X),S4.init(Q,X)}),YW=j("$ZodGUID",(Q,X)=>{X.pattern??(X.pattern=qG),V0.init(Q,X)}),WW=j("$ZodUUID",(Q,X)=>{if(X.version){let W={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[X.version];if(W===void 0)throw Error(`Invalid UUID version: "${X.version}"`);X.pattern??(X.pattern=tY(W))}else X.pattern??(X.pattern=tY());V0.init(Q,X)}),$W=j("$ZodEmail",(Q,X)=>{X.pattern??(X.pattern=AG),V0.init(Q,X)}),JW=j("$ZodURL",(Q,X)=>{V0.init(Q,X),Q._zod.check=(Y)=>{try{let W=Y.value,$=new URL(W),J=$.href;if(X.hostname){if(X.hostname.lastIndex=0,!X.hostname.test($.hostname))Y.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:MG.source,input:Y.value,inst:Q,continue:!X.abort})}if(X.protocol){if(X.protocol.lastIndex=0,!X.protocol.test($.protocol.endsWith(":")?$.protocol.slice(0,-1):$.protocol))Y.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:X.protocol.source,input:Y.value,inst:Q,continue:!X.abort})}if(!W.endsWith("/")&&J.endsWith("/"))Y.value=J.slice(0,-1);else Y.value=J;return}catch(W){Y.issues.push({code:"invalid_format",format:"url",input:Y.value,inst:Q,continue:!X.abort})}}}),GW=j("$ZodEmoji",(Q,X)=>{X.pattern??(X.pattern=DG()),V0.init(Q,X)}),HW=j("$ZodNanoID",(Q,X)=>{X.pattern??(X.pattern=FG),V0.init(Q,X)}),BW=j("$ZodCUID",(Q,X)=>{X.pattern??(X.pattern=GG),V0.init(Q,X)}),zW=j("$ZodCUID2",(Q,X)=>{X.pattern??(X.pattern=HG),V0.init(Q,X)}),KW=j("$ZodULID",(Q,X)=>{X.pattern??(X.pattern=BG),V0.init(Q,X)}),FW=j("$ZodXID",(Q,X)=>{X.pattern??(X.pattern=zG),V0.init(Q,X)}),VW=j("$ZodKSUID",(Q,X)=>{X.pattern??(X.pattern=KG),V0.init(Q,X)}),GH=j("$ZodISODateTime",(Q,X)=>{X.pattern??(X.pattern=EG(X)),V0.init(Q,X)}),HH=j("$ZodISODate",(Q,X)=>{X.pattern??(X.pattern=PG),V0.init(Q,X)}),BH=j("$ZodISOTime",(Q,X)=>{X.pattern??(X.pattern=RG(X)),V0.init(Q,X)}),zH=j("$ZodISODuration",(Q,X)=>{X.pattern??(X.pattern=VG),V0.init(Q,X)}),qW=j("$ZodIPv4",(Q,X)=>{X.pattern??(X.pattern=LG),V0.init(Q,X),Q._zod.onattach.push((Y)=>{let W=Y._zod.bag;W.format="ipv4"})}),AW=j("$ZodIPv6",(Q,X)=>{X.pattern??(X.pattern=OG),V0.init(Q,X),Q._zod.onattach.push((Y)=>{let W=Y._zod.bag;W.format="ipv6"}),Q._zod.check=(Y)=>{try{new URL(`http://[${Y.value}]`)}catch{Y.issues.push({code:"invalid_format",format:"ipv6",input:Y.value,inst:Q,continue:!X.abort})}}}),DW=j("$ZodCIDRv4",(Q,X)=>{X.pattern??(X.pattern=UG),V0.init(Q,X)}),LW=j("$ZodCIDRv6",(Q,X)=>{X.pattern??(X.pattern=jG),V0.init(Q,X),Q._zod.check=(Y)=>{let[W,$]=Y.value.split("/");try{if(!$)throw Error();let J=Number($);if(`${J}`!==$)throw Error();if(J<0||J>128)throw Error();new URL(`http://[${W}]`)}catch{Y.issues.push({code:"invalid_format",format:"cidrv6",input:Y.value,inst:Q,continue:!X.abort})}}});function KH(Q){if(Q==="")return!0;if(Q.length%4!==0)return!1;try{return atob(Q),!0}catch{return!1}}var OW=j("$ZodBase64",(Q,X)=>{X.pattern??(X.pattern=wG),V0.init(Q,X),Q._zod.onattach.push((Y)=>{Y._zod.bag.contentEncoding="base64"}),Q._zod.check=(Y)=>{if(KH(Y.value))return;Y.issues.push({code:"invalid_format",format:"base64",input:Y.value,inst:Q,continue:!X.abort})}});function lU(Q){if(!aY.test(Q))return!1;let X=Q.replace(/[-_]/g,(W)=>W==="-"?"+":"/"),Y=X.padEnd(Math.ceil(X.length/4)*4,"=");return KH(Y)}var UW=j("$ZodBase64URL",(Q,X)=>{X.pattern??(X.pattern=aY),V0.init(Q,X),Q._zod.onattach.push((Y)=>{Y._zod.bag.contentEncoding="base64url"}),Q._zod.check=(Y)=>{if(lU(Y.value))return;Y.issues.push({code:"invalid_format",format:"base64url",input:Y.value,inst:Q,continue:!X.abort})}}),jW=j("$ZodE164",(Q,X)=>{X.pattern??(X.pattern=NG),V0.init(Q,X)});function mU(Q,X=null){try{let Y=Q.split(".");if(Y.length!==3)return!1;let[W]=Y;if(!W)return!1;let $=JSON.parse(atob(W));if("typ"in $&&$?.typ!=="JWT")return!1;if(!$.alg)return!1;if(X&&(!("alg"in $)||$.alg!==X))return!1;return!0}catch{return!1}}var wW=j("$ZodJWT",(Q,X)=>{V0.init(Q,X),Q._zod.check=(Y)=>{if(mU(Y.value,X.alg))return;Y.issues.push({code:"invalid_format",format:"jwt",input:Y.value,inst:Q,continue:!X.abort})}});var $Q=j("$ZodNumber",(Q,X)=>{G0.init(Q,X),Q._zod.pattern=Q._zod.bag.pattern??CG,Q._zod.parse=(Y,W)=>{if(X.coerce)try{Y.value=Number(Y.value)}catch(G){}let $=Y.value;if(typeof $==="number"&&!Number.isNaN($)&&Number.isFinite($))return Y;let J=typeof $==="number"?Number.isNaN($)?"NaN":!Number.isFinite($)?"Infinity":void 0:void 0;return Y.issues.push({expected:"number",code:"invalid_type",input:$,inst:Q,...J?{received:J}:{}}),Y}}),MW=j("$ZodNumber",(Q,X)=>{fG.init(Q,X),$Q.init(Q,X)}),NW=j("$ZodBoolean",(Q,X)=>{G0.init(Q,X),Q._zod.pattern=kG,Q._zod.parse=(Y,W)=>{if(X.coerce)try{Y.value=Boolean(Y.value)}catch(J){}let $=Y.value;if(typeof $==="boolean")return Y;return Y.issues.push({expected:"boolean",code:"invalid_type",input:$,inst:Q}),Y}}),bW=j("$ZodBigInt",(Q,X)=>{G0.init(Q,X),Q._zod.pattern=IG,Q._zod.parse=(Y,W)=>{if(X.coerce)try{Y.value=BigInt(Y.value)}catch($){}if(typeof Y.value==="bigint")return Y;return Y.issues.push({expected:"bigint",code:"invalid_type",input:Y.value,inst:Q}),Y}});var PW=j("$ZodNull",(Q,X)=>{G0.init(Q,X),Q._zod.pattern=vG,Q._zod.values=new Set([null]),Q._zod.parse=(Y,W)=>{let $=Y.value;if($===null)return Y;return Y.issues.push({expected:"null",code:"invalid_type",input:$,inst:Q}),Y}}),ZW=j("$ZodAny",(Q,X)=>{G0.init(Q,X),Q._zod.parse=(Y)=>Y}),RW=j("$ZodUnknown",(Q,X)=>{G0.init(Q,X),Q._zod.parse=(Y)=>Y}),EW=j("$ZodNever",(Q,X)=>{G0.init(Q,X),Q._zod.parse=(Y,W)=>{return Y.issues.push({expected:"never",code:"invalid_type",input:Y.value,inst:Q}),Y}});var SW=j("$ZodDate",(Q,X)=>{G0.init(Q,X),Q._zod.parse=(Y,W)=>{if(X.coerce)try{Y.value=new Date(Y.value)}catch(H){}let $=Y.value,J=$ instanceof Date;if(J&&!Number.isNaN($.getTime()))return Y;return Y.issues.push({expected:"date",code:"invalid_type",input:$,...J?{received:"Invalid Date"}:{},inst:Q}),Y}});function aG(Q,X,Y){if(Q.issues.length)X.issues.push(...l1(Y,Q.issues));X.value[Y]=Q.value}var IW=j("$ZodArray",(Q,X)=>{G0.init(Q,X),Q._zod.parse=(Y,W)=>{let $=Y.value;if(!Array.isArray($))return Y.issues.push({expected:"array",code:"invalid_type",input:$,inst:Q}),Y;Y.value=Array($.length);let J=[];for(let G=0;G<$.length;G++){let H=$[G],B=X.element._zod.run({value:H,issues:[]},W);if(B instanceof Promise)J.push(B.then((z)=>aG(z,Y,G)));else aG(B,Y,G)}if(J.length)return Promise.all(J).then(()=>Y);return Y}});function WQ(Q,X,Y){if(Q.issues.length)X.issues.push(...l1(Y,Q.issues));X.value[Y]=Q.value}function sG(Q,X,Y,W){if(Q.issues.length)if(W[Y]===void 0)if(Y in W)X.value[Y]=void 0;else X.value[Y]=Q.value;else X.issues.push(...l1(Y,Q.issues));else if(Q.value===void 0){if(Y in W)X.value[Y]=void 0}else X.value[Y]=Q.value}var JQ=j("$ZodObject",(Q,X)=>{G0.init(Q,X);let Y=M4(()=>{let V=Object.keys(X.shape);for(let F of V)if(!(X.shape[F]instanceof G0))throw Error(`Invalid element at key "${F}": expected a Zod schema`);let D=lY(X.shape);return{shape:X.shape,keys:V,keySet:new Set(V),numKeys:V.length,optionalKeys:new Set(D)}});F0(Q._zod,"propValues",()=>{let V=X.shape,D={};for(let F in V){let q=V[F]._zod;if(q.values){D[F]??(D[F]=new Set);for(let A of q.values)D[F].add(A)}}return D});let W=(V)=>{let D=new QW(["shape","payload","ctx"]),F=Y.value,q=(M)=>{let N=p6(M);return`shape[${N}]._zod.run({ value: input[${N}], issues: [] }, ctx)`};D.write("const input = payload.value;");let A=Object.create(null),L=0;for(let M of F.keys)A[M]=`key_${L++}`;D.write("const newResult = {}");for(let M of F.keys)if(F.optionalKeys.has(M)){let N=A[M];D.write(`const ${N} = ${q(M)};`);let C=p6(M);D.write(`
19
- if (${N}.issues.length) {
18
+ `))}}var LH={major:4,minor:0,patch:0};var G0=M("$ZodType",(Q,X)=>{var Y;Q??(Q={}),Q._zod.def=X,Q._zod.bag=Q._zod.bag||{},Q._zod.version=LH;let W=[...Q._zod.def.checks??[]];if(Q._zod.traits.has("$ZodCheck"))W.unshift(Q);for(let $ of W)for(let J of $._zod.onattach)J(Q);if(W.length===0)(Y=Q._zod).deferred??(Y.deferred=[]),Q._zod.deferred?.push(()=>{Q._zod.run=Q._zod.parse});else{let $=(J,G,H)=>{let B=i6(J),z;for(let K of G){if(K._zod.def.when){if(!K._zod.def.when(J))continue}else if(B)continue;let V=J.issues.length,q=K._zod.check(J);if(q instanceof Promise&&H?.async===!1)throw new D6;if(z||q instanceof Promise)z=(z??Promise.resolve()).then(async()=>{if(await q,J.issues.length===V)return;if(!B)B=i6(J,V)});else{if(J.issues.length===V)continue;if(!B)B=i6(J,V)}}if(z)return z.then(()=>{return J});return J};Q._zod.run=(J,G)=>{let H=Q._zod.parse(J,G);if(H instanceof Promise){if(G.async===!1)throw new D6;return H.then((B)=>$(B,W,G))}return $(H,W,G)}}Q["~standard"]={validate:($)=>{try{let J=n6(Q,$);return J.success?{value:J.data}:{issues:J.error?.issues}}catch(J){return o6(Q,$).then((G)=>G.success?{value:G.data}:{issues:G.error?.issues})}},vendor:"zod",version:1}}),f8=M("$ZodString",(Q,X)=>{G0.init(Q,X),Q._zod.pattern=[...Q?._zod.bag?.patterns??[]].pop()??oG(Q._zod.bag),Q._zod.parse=(Y,W)=>{if(X.coerce)try{Y.value=String(Y.value)}catch($){}if(typeof Y.value==="string")return Y;return Y.issues.push({expected:"string",code:"invalid_type",input:Y.value,inst:Q}),Y}}),F0=M("$ZodStringFormat",(Q,X)=>{y8.init(Q,X),f8.init(Q,X)}),K7=M("$ZodGUID",(Q,X)=>{X.pattern??(X.pattern=vG),F0.init(Q,X)}),V7=M("$ZodUUID",(Q,X)=>{if(X.version){let W={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[X.version];if(W===void 0)throw Error(`Invalid UUID version: "${X.version}"`);X.pattern??(X.pattern=$7(W))}else X.pattern??(X.pattern=$7());F0.init(Q,X)}),F7=M("$ZodEmail",(Q,X)=>{X.pattern??(X.pattern=_G),F0.init(Q,X)}),A7=M("$ZodURL",(Q,X)=>{F0.init(Q,X),Q._zod.check=(Y)=>{try{let W=Y.value,$=new URL(W),J=$.href;if(X.hostname){if(X.hostname.lastIndex=0,!X.hostname.test($.hostname))Y.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:lG.source,input:Y.value,inst:Q,continue:!X.abort})}if(X.protocol){if(X.protocol.lastIndex=0,!X.protocol.test($.protocol.endsWith(":")?$.protocol.slice(0,-1):$.protocol))Y.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:X.protocol.source,input:Y.value,inst:Q,continue:!X.abort})}if(!W.endsWith("/")&&J.endsWith("/"))Y.value=J.slice(0,-1);else Y.value=J;return}catch(W){Y.issues.push({code:"invalid_format",format:"url",input:Y.value,inst:Q,continue:!X.abort})}}}),q7=M("$ZodEmoji",(Q,X)=>{X.pattern??(X.pattern=xG()),F0.init(Q,X)}),D7=M("$ZodNanoID",(Q,X)=>{X.pattern??(X.pattern=CG),F0.init(Q,X)}),L7=M("$ZodCUID",(Q,X)=>{X.pattern??(X.pattern=RG),F0.init(Q,X)}),O7=M("$ZodCUID2",(Q,X)=>{X.pattern??(X.pattern=EG),F0.init(Q,X)}),U7=M("$ZodULID",(Q,X)=>{X.pattern??(X.pattern=SG),F0.init(Q,X)}),j7=M("$ZodXID",(Q,X)=>{X.pattern??(X.pattern=IG),F0.init(Q,X)}),M7=M("$ZodKSUID",(Q,X)=>{X.pattern??(X.pattern=TG),F0.init(Q,X)}),RH=M("$ZodISODateTime",(Q,X)=>{X.pattern??(X.pattern=nG(X)),F0.init(Q,X)}),EH=M("$ZodISODate",(Q,X)=>{X.pattern??(X.pattern=pG),F0.init(Q,X)}),SH=M("$ZodISOTime",(Q,X)=>{X.pattern??(X.pattern=iG(X)),F0.init(Q,X)}),IH=M("$ZodISODuration",(Q,X)=>{X.pattern??(X.pattern=kG),F0.init(Q,X)}),N7=M("$ZodIPv4",(Q,X)=>{X.pattern??(X.pattern=yG),F0.init(Q,X),Q._zod.onattach.push((Y)=>{let W=Y._zod.bag;W.format="ipv4"})}),w7=M("$ZodIPv6",(Q,X)=>{X.pattern??(X.pattern=fG),F0.init(Q,X),Q._zod.onattach.push((Y)=>{let W=Y._zod.bag;W.format="ipv6"}),Q._zod.check=(Y)=>{try{new URL(`http://[${Y.value}]`)}catch{Y.issues.push({code:"invalid_format",format:"ipv6",input:Y.value,inst:Q,continue:!X.abort})}}}),b7=M("$ZodCIDRv4",(Q,X)=>{X.pattern??(X.pattern=gG),F0.init(Q,X)}),P7=M("$ZodCIDRv6",(Q,X)=>{X.pattern??(X.pattern=hG),F0.init(Q,X),Q._zod.check=(Y)=>{let[W,$]=Y.value.split("/");try{if(!$)throw Error();let J=Number($);if(`${J}`!==$)throw Error();if(J<0||J>128)throw Error();new URL(`http://[${W}]`)}catch{Y.issues.push({code:"invalid_format",format:"cidrv6",input:Y.value,inst:Q,continue:!X.abort})}}});function TH(Q){if(Q==="")return!0;if(Q.length%4!==0)return!1;try{return atob(Q),!0}catch{return!1}}var Z7=M("$ZodBase64",(Q,X)=>{X.pattern??(X.pattern=uG),F0.init(Q,X),Q._zod.onattach.push((Y)=>{Y._zod.bag.contentEncoding="base64"}),Q._zod.check=(Y)=>{if(TH(Y.value))return;Y.issues.push({code:"invalid_format",format:"base64",input:Y.value,inst:Q,continue:!X.abort})}});function rj(Q){if(!J7.test(Q))return!1;let X=Q.replace(/[-_]/g,(W)=>W==="-"?"+":"/"),Y=X.padEnd(Math.ceil(X.length/4)*4,"=");return TH(Y)}var R7=M("$ZodBase64URL",(Q,X)=>{X.pattern??(X.pattern=J7),F0.init(Q,X),Q._zod.onattach.push((Y)=>{Y._zod.bag.contentEncoding="base64url"}),Q._zod.check=(Y)=>{if(rj(Y.value))return;Y.issues.push({code:"invalid_format",format:"base64url",input:Y.value,inst:Q,continue:!X.abort})}}),E7=M("$ZodE164",(Q,X)=>{X.pattern??(X.pattern=mG),F0.init(Q,X)});function tj(Q,X=null){try{let Y=Q.split(".");if(Y.length!==3)return!1;let[W]=Y;if(!W)return!1;let $=JSON.parse(atob(W));if("typ"in $&&$?.typ!=="JWT")return!1;if(!$.alg)return!1;if(X&&(!("alg"in $)||$.alg!==X))return!1;return!0}catch{return!1}}var S7=M("$ZodJWT",(Q,X)=>{F0.init(Q,X),Q._zod.check=(Y)=>{if(tj(Y.value,X.alg))return;Y.issues.push({code:"invalid_format",format:"jwt",input:Y.value,inst:Q,continue:!X.abort})}});var KQ=M("$ZodNumber",(Q,X)=>{G0.init(Q,X),Q._zod.pattern=Q._zod.bag.pattern??aG,Q._zod.parse=(Y,W)=>{if(X.coerce)try{Y.value=Number(Y.value)}catch(G){}let $=Y.value;if(typeof $==="number"&&!Number.isNaN($)&&Number.isFinite($))return Y;let J=typeof $==="number"?Number.isNaN($)?"NaN":!Number.isFinite($)?"Infinity":void 0:void 0;return Y.issues.push({expected:"number",code:"invalid_type",input:$,inst:Q,...J?{received:J}:{}}),Y}}),I7=M("$ZodNumber",(Q,X)=>{$H.init(Q,X),KQ.init(Q,X)}),T7=M("$ZodBoolean",(Q,X)=>{G0.init(Q,X),Q._zod.pattern=sG,Q._zod.parse=(Y,W)=>{if(X.coerce)try{Y.value=Boolean(Y.value)}catch(J){}let $=Y.value;if(typeof $==="boolean")return Y;return Y.issues.push({expected:"boolean",code:"invalid_type",input:$,inst:Q}),Y}}),C7=M("$ZodBigInt",(Q,X)=>{G0.init(Q,X),Q._zod.pattern=rG,Q._zod.parse=(Y,W)=>{if(X.coerce)try{Y.value=BigInt(Y.value)}catch($){}if(typeof Y.value==="bigint")return Y;return Y.issues.push({expected:"bigint",code:"invalid_type",input:Y.value,inst:Q}),Y}});var k7=M("$ZodNull",(Q,X)=>{G0.init(Q,X),Q._zod.pattern=eG,Q._zod.values=new Set([null]),Q._zod.parse=(Y,W)=>{let $=Y.value;if($===null)return Y;return Y.issues.push({expected:"null",code:"invalid_type",input:$,inst:Q}),Y}}),v7=M("$ZodAny",(Q,X)=>{G0.init(Q,X),Q._zod.parse=(Y)=>Y}),_7=M("$ZodUnknown",(Q,X)=>{G0.init(Q,X),Q._zod.parse=(Y)=>Y}),x7=M("$ZodNever",(Q,X)=>{G0.init(Q,X),Q._zod.parse=(Y,W)=>{return Y.issues.push({expected:"never",code:"invalid_type",input:Y.value,inst:Q}),Y}});var y7=M("$ZodDate",(Q,X)=>{G0.init(Q,X),Q._zod.parse=(Y,W)=>{if(X.coerce)try{Y.value=new Date(Y.value)}catch(H){}let $=Y.value,J=$ instanceof Date;if(J&&!Number.isNaN($.getTime()))return Y;return Y.issues.push({expected:"date",code:"invalid_type",input:$,...J?{received:"Invalid Date"}:{},inst:Q}),Y}});function OH(Q,X,Y){if(Q.issues.length)X.issues.push(...m1(Y,Q.issues));X.value[Y]=Q.value}var f7=M("$ZodArray",(Q,X)=>{G0.init(Q,X),Q._zod.parse=(Y,W)=>{let $=Y.value;if(!Array.isArray($))return Y.issues.push({expected:"array",code:"invalid_type",input:$,inst:Q}),Y;Y.value=Array($.length);let J=[];for(let G=0;G<$.length;G++){let H=$[G],B=X.element._zod.run({value:H,issues:[]},W);if(B instanceof Promise)J.push(B.then((z)=>OH(z,Y,G)));else OH(B,Y,G)}if(J.length)return Promise.all(J).then(()=>Y);return Y}});function zQ(Q,X,Y){if(Q.issues.length)X.issues.push(...m1(Y,Q.issues));X.value[Y]=Q.value}function UH(Q,X,Y,W){if(Q.issues.length)if(W[Y]===void 0)if(Y in W)X.value[Y]=void 0;else X.value[Y]=Q.value;else X.issues.push(...m1(Y,Q.issues));else if(Q.value===void 0){if(Y in W)X.value[Y]=void 0}else X.value[Y]=Q.value}var VQ=M("$ZodObject",(Q,X)=>{G0.init(Q,X);let Y=T8(()=>{let V=Object.keys(X.shape);for(let F of V)if(!(X.shape[F]instanceof G0))throw Error(`Invalid element at key "${F}": expected a Zod schema`);let q=rY(X.shape);return{shape:X.shape,keys:V,keySet:new Set(V),numKeys:V.length,optionalKeys:new Set(q)}});V0(Q._zod,"propValues",()=>{let V=X.shape,q={};for(let F in V){let A=V[F]._zod;if(A.values){q[F]??(q[F]=new Set);for(let D of A.values)q[F].add(D)}}return q});let W=(V)=>{let q=new B7(["shape","payload","ctx"]),F=Y.value,A=(N)=>{let w=d6(N);return`shape[${w}]._zod.run({ value: input[${w}], issues: [] }, ctx)`};q.write("const input = payload.value;");let D=Object.create(null),L=0;for(let N of F.keys)D[N]=`key_${L++}`;q.write("const newResult = {}");for(let N of F.keys)if(F.optionalKeys.has(N)){let w=D[N];q.write(`const ${w} = ${A(N)};`);let C=d6(N);q.write(`
19
+ if (${w}.issues.length) {
20
20
  if (input[${C}] === undefined) {
21
21
  if (${C} in input) {
22
22
  newResult[${C}] = undefined;
23
23
  }
24
24
  } else {
25
25
  payload.issues = payload.issues.concat(
26
- ${N}.issues.map((iss) => ({
26
+ ${w}.issues.map((iss) => ({
27
27
  ...iss,
28
28
  path: iss.path ? [${C}, ...iss.path] : [${C}],
29
29
  }))
30
30
  );
31
31
  }
32
- } else if (${N}.value === undefined) {
32
+ } else if (${w}.value === undefined) {
33
33
  if (${C} in input) newResult[${C}] = undefined;
34
34
  } else {
35
- newResult[${C}] = ${N}.value;
35
+ newResult[${C}] = ${w}.value;
36
36
  }
37
- `)}else{let N=A[M];D.write(`const ${N} = ${q(M)};`),D.write(`
38
- if (${N}.issues.length) payload.issues = payload.issues.concat(${N}.issues.map(iss => ({
37
+ `)}else{let w=D[N];q.write(`const ${w} = ${A(N)};`),q.write(`
38
+ if (${w}.issues.length) payload.issues = payload.issues.concat(${w}.issues.map(iss => ({
39
39
  ...iss,
40
- path: iss.path ? [${p6(M)}, ...iss.path] : [${p6(M)}]
41
- })));`),D.write(`newResult[${p6(M)}] = ${N}.value`)}D.write("payload.value = newResult;"),D.write("return payload;");let O=D.compile();return(M,N)=>O(V,M,N)},$,J=R9,G=!r8.jitless,B=G&&hY.value,z=X.catchall,K;Q._zod.parse=(V,D)=>{K??(K=Y.value);let F=V.value;if(!J(F))return V.issues.push({expected:"object",code:"invalid_type",input:F,inst:Q}),V;let q=[];if(G&&B&&D?.async===!1&&D.jitless!==!0){if(!$)$=W(X.shape);V=$(V,D)}else{V.value={};let N=K.shape;for(let C of K.keys){let Z=N[C],K0=Z._zod.run({value:F[C],issues:[]},D),P0=Z._zod.optin==="optional"&&Z._zod.optout==="optional";if(K0 instanceof Promise)q.push(K0.then((g1)=>P0?sG(g1,V,C,F):WQ(g1,V,C)));else if(P0)sG(K0,V,C,F);else WQ(K0,V,C)}}if(!z)return q.length?Promise.all(q).then(()=>V):V;let A=[],L=K.keySet,O=z._zod,M=O.def.type;for(let N of Object.keys(F)){if(L.has(N))continue;if(M==="never"){A.push(N);continue}let C=O.run({value:F[N],issues:[]},D);if(C instanceof Promise)q.push(C.then((Z)=>WQ(Z,V,N)));else WQ(C,V,N)}if(A.length)V.issues.push({code:"unrecognized_keys",keys:A,input:F,inst:Q});if(!q.length)return V;return Promise.all(q).then(()=>{return V})}});function eG(Q,X,Y,W){for(let $ of Q)if($.issues.length===0)return X.value=$.value,X;return X.issues.push({code:"invalid_union",input:X.value,inst:Y,errors:Q.map(($)=>$.issues.map((J)=>M1(J,W,t0())))}),X}var GQ=j("$ZodUnion",(Q,X)=>{G0.init(Q,X),F0(Q._zod,"optin",()=>X.options.some((Y)=>Y._zod.optin==="optional")?"optional":void 0),F0(Q._zod,"optout",()=>X.options.some((Y)=>Y._zod.optout==="optional")?"optional":void 0),F0(Q._zod,"values",()=>{if(X.options.every((Y)=>Y._zod.values))return new Set(X.options.flatMap((Y)=>Array.from(Y._zod.values)));return}),F0(Q._zod,"pattern",()=>{if(X.options.every((Y)=>Y._zod.pattern)){let Y=X.options.map((W)=>W._zod.pattern);return new RegExp(`^(${Y.map((W)=>b4(W.source)).join("|")})$`)}return}),Q._zod.parse=(Y,W)=>{let $=!1,J=[];for(let G of X.options){let H=G._zod.run({value:Y.value,issues:[]},W);if(H instanceof Promise)J.push(H),$=!0;else{if(H.issues.length===0)return H;J.push(H)}}if(!$)return eG(J,Y,Q,W);return Promise.all(J).then((G)=>{return eG(G,Y,Q,W)})}}),TW=j("$ZodDiscriminatedUnion",(Q,X)=>{GQ.init(Q,X);let Y=Q._zod.parse;F0(Q._zod,"propValues",()=>{let $={};for(let J of X.options){let G=J._zod.propValues;if(!G||Object.keys(G).length===0)throw Error(`Invalid discriminated union option at index "${X.options.indexOf(J)}"`);for(let[H,B]of Object.entries(G)){if(!$[H])$[H]=new Set;for(let z of B)$[H].add(z)}}return $});let W=M4(()=>{let $=X.options,J=new Map;for(let G of $){let H=G._zod.propValues[X.discriminator];if(!H||H.size===0)throw Error(`Invalid discriminated union option at index "${X.options.indexOf(G)}"`);for(let B of H){if(J.has(B))throw Error(`Duplicate discriminator value "${String(B)}"`);J.set(B,G)}}return J});Q._zod.parse=($,J)=>{let G=$.value;if(!R9(G))return $.issues.push({code:"invalid_type",expected:"object",input:G,inst:Q}),$;let H=W.value.get(G?.[X.discriminator]);if(H)return H._zod.run($,J);if(X.unionFallback)return Y($,J);return $.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",input:G,path:[X.discriminator],inst:Q}),$}}),CW=j("$ZodIntersection",(Q,X)=>{G0.init(Q,X),Q._zod.parse=(Y,W)=>{let $=Y.value,J=X.left._zod.run({value:$,issues:[]},W),G=X.right._zod.run({value:$,issues:[]},W);if(J instanceof Promise||G instanceof Promise)return Promise.all([J,G]).then(([B,z])=>{return QH(Y,B,z)});return QH(Y,J,G)}});function XW(Q,X){if(Q===X)return{valid:!0,data:Q};if(Q instanceof Date&&X instanceof Date&&+Q===+X)return{valid:!0,data:Q};if(E9(Q)&&E9(X)){let Y=Object.keys(X),W=Object.keys(Q).filter((J)=>Y.indexOf(J)!==-1),$={...Q,...X};for(let J of W){let G=XW(Q[J],X[J]);if(!G.valid)return{valid:!1,mergeErrorPath:[J,...G.mergeErrorPath]};$[J]=G.data}return{valid:!0,data:$}}if(Array.isArray(Q)&&Array.isArray(X)){if(Q.length!==X.length)return{valid:!1,mergeErrorPath:[]};let Y=[];for(let W=0;W<Q.length;W++){let $=Q[W],J=X[W],G=XW($,J);if(!G.valid)return{valid:!1,mergeErrorPath:[W,...G.mergeErrorPath]};Y.push(G.data)}return{valid:!0,data:Y}}return{valid:!1,mergeErrorPath:[]}}function QH(Q,X,Y){if(X.issues.length)Q.issues.push(...X.issues);if(Y.issues.length)Q.issues.push(...Y.issues);if(d6(Q))return Q;let W=XW(X.value,Y.value);if(!W.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(W.mergeErrorPath)}`);return Q.value=W.data,Q}var kW=j("$ZodRecord",(Q,X)=>{G0.init(Q,X),Q._zod.parse=(Y,W)=>{let $=Y.value;if(!E9($))return Y.issues.push({expected:"record",code:"invalid_type",input:$,inst:Q}),Y;let J=[];if(X.keyType._zod.values){let G=X.keyType._zod.values;Y.value={};for(let B of G)if(typeof B==="string"||typeof B==="number"||typeof B==="symbol"){let z=X.valueType._zod.run({value:$[B],issues:[]},W);if(z instanceof Promise)J.push(z.then((K)=>{if(K.issues.length)Y.issues.push(...l1(B,K.issues));Y.value[B]=K.value}));else{if(z.issues.length)Y.issues.push(...l1(B,z.issues));Y.value[B]=z.value}}let H;for(let B in $)if(!G.has(B))H=H??[],H.push(B);if(H&&H.length>0)Y.issues.push({code:"unrecognized_keys",input:$,inst:Q,keys:H})}else{Y.value={};for(let G of Reflect.ownKeys($)){if(G==="__proto__")continue;let H=X.keyType._zod.run({value:G,issues:[]},W);if(H instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(H.issues.length){Y.issues.push({origin:"record",code:"invalid_key",issues:H.issues.map((z)=>M1(z,W,t0())),input:G,path:[G],inst:Q}),Y.value[H.value]=H.value;continue}let B=X.valueType._zod.run({value:$[G],issues:[]},W);if(B instanceof Promise)J.push(B.then((z)=>{if(z.issues.length)Y.issues.push(...l1(G,z.issues));Y.value[H.value]=z.value}));else{if(B.issues.length)Y.issues.push(...l1(G,B.issues));Y.value[H.value]=B.value}}}if(J.length)return Promise.all(J).then(()=>Y);return Y}});var vW=j("$ZodEnum",(Q,X)=>{G0.init(Q,X);let Y=w4(X.entries);Q._zod.values=new Set(Y),Q._zod.pattern=new RegExp(`^(${Y.filter((W)=>uY.has(typeof W)).map((W)=>typeof W==="string"?D6(W):W.toString()).join("|")})$`),Q._zod.parse=(W,$)=>{let J=W.value;if(Q._zod.values.has(J))return W;return W.issues.push({code:"invalid_value",values:Y,input:J,inst:Q}),W}}),_W=j("$ZodLiteral",(Q,X)=>{G0.init(Q,X),Q._zod.values=new Set(X.values),Q._zod.pattern=new RegExp(`^(${X.values.map((Y)=>typeof Y==="string"?D6(Y):Y?Y.toString():String(Y)).join("|")})$`),Q._zod.parse=(Y,W)=>{let $=Y.value;if(Q._zod.values.has($))return Y;return Y.issues.push({code:"invalid_value",values:X.values,input:$,inst:Q}),Y}});var xW=j("$ZodTransform",(Q,X)=>{G0.init(Q,X),Q._zod.parse=(Y,W)=>{let $=X.transform(Y.value,Y);if(W.async)return($ instanceof Promise?$:Promise.resolve($)).then((G)=>{return Y.value=G,Y});if($ instanceof Promise)throw new A6;return Y.value=$,Y}}),yW=j("$ZodOptional",(Q,X)=>{G0.init(Q,X),Q._zod.optin="optional",Q._zod.optout="optional",F0(Q._zod,"values",()=>{return X.innerType._zod.values?new Set([...X.innerType._zod.values,void 0]):void 0}),F0(Q._zod,"pattern",()=>{let Y=X.innerType._zod.pattern;return Y?new RegExp(`^(${b4(Y.source)})?$`):void 0}),Q._zod.parse=(Y,W)=>{if(X.innerType._zod.optin==="optional")return X.innerType._zod.run(Y,W);if(Y.value===void 0)return Y;return X.innerType._zod.run(Y,W)}}),gW=j("$ZodNullable",(Q,X)=>{G0.init(Q,X),F0(Q._zod,"optin",()=>X.innerType._zod.optin),F0(Q._zod,"optout",()=>X.innerType._zod.optout),F0(Q._zod,"pattern",()=>{let Y=X.innerType._zod.pattern;return Y?new RegExp(`^(${b4(Y.source)}|null)$`):void 0}),F0(Q._zod,"values",()=>{return X.innerType._zod.values?new Set([...X.innerType._zod.values,null]):void 0}),Q._zod.parse=(Y,W)=>{if(Y.value===null)return Y;return X.innerType._zod.run(Y,W)}}),fW=j("$ZodDefault",(Q,X)=>{G0.init(Q,X),Q._zod.optin="optional",F0(Q._zod,"values",()=>X.innerType._zod.values),Q._zod.parse=(Y,W)=>{if(Y.value===void 0)return Y.value=X.defaultValue,Y;let $=X.innerType._zod.run(Y,W);if($ instanceof Promise)return $.then((J)=>XH(J,X));return XH($,X)}});function XH(Q,X){if(Q.value===void 0)Q.value=X.defaultValue;return Q}var hW=j("$ZodPrefault",(Q,X)=>{G0.init(Q,X),Q._zod.optin="optional",F0(Q._zod,"values",()=>X.innerType._zod.values),Q._zod.parse=(Y,W)=>{if(Y.value===void 0)Y.value=X.defaultValue;return X.innerType._zod.run(Y,W)}}),uW=j("$ZodNonOptional",(Q,X)=>{G0.init(Q,X),F0(Q._zod,"values",()=>{let Y=X.innerType._zod.values;return Y?new Set([...Y].filter((W)=>W!==void 0)):void 0}),Q._zod.parse=(Y,W)=>{let $=X.innerType._zod.run(Y,W);if($ instanceof Promise)return $.then((J)=>YH(J,Q));return YH($,Q)}});function YH(Q,X){if(!Q.issues.length&&Q.value===void 0)Q.issues.push({code:"invalid_type",expected:"nonoptional",input:Q.value,inst:X});return Q}var lW=j("$ZodCatch",(Q,X)=>{G0.init(Q,X),Q._zod.optin="optional",F0(Q._zod,"optout",()=>X.innerType._zod.optout),F0(Q._zod,"values",()=>X.innerType._zod.values),Q._zod.parse=(Y,W)=>{let $=X.innerType._zod.run(Y,W);if($ instanceof Promise)return $.then((J)=>{if(Y.value=J.value,J.issues.length)Y.value=X.catchValue({...Y,error:{issues:J.issues.map((G)=>M1(G,W,t0()))},input:Y.value}),Y.issues=[];return Y});if(Y.value=$.value,$.issues.length)Y.value=X.catchValue({...Y,error:{issues:$.issues.map((J)=>M1(J,W,t0()))},input:Y.value}),Y.issues=[];return Y}});var mW=j("$ZodPipe",(Q,X)=>{G0.init(Q,X),F0(Q._zod,"values",()=>X.in._zod.values),F0(Q._zod,"optin",()=>X.in._zod.optin),F0(Q._zod,"optout",()=>X.out._zod.optout),Q._zod.parse=(Y,W)=>{let $=X.in._zod.run(Y,W);if($ instanceof Promise)return $.then((J)=>WH(J,X,W));return WH($,X,W)}});function WH(Q,X,Y){if(d6(Q))return Q;return X.out._zod.run({value:Q.value,issues:Q.issues},Y)}var cW=j("$ZodReadonly",(Q,X)=>{G0.init(Q,X),F0(Q._zod,"propValues",()=>X.innerType._zod.propValues),F0(Q._zod,"values",()=>X.innerType._zod.values),F0(Q._zod,"optin",()=>X.innerType._zod.optin),F0(Q._zod,"optout",()=>X.innerType._zod.optout),Q._zod.parse=(Y,W)=>{let $=X.innerType._zod.run(Y,W);if($ instanceof Promise)return $.then($H);return $H($)}});function $H(Q){return Q.value=Object.freeze(Q.value),Q}var pW=j("$ZodCustom",(Q,X)=>{k0.init(Q,X),G0.init(Q,X),Q._zod.parse=(Y,W)=>{return Y},Q._zod.check=(Y)=>{let W=Y.value,$=X.fn(W);if($ instanceof Promise)return $.then((J)=>JH(J,Y,W,Q));JH($,Y,W,Q);return}});function JH(Q,X,Y,W){if(!Q){let $={code:"custom",input:Y,inst:W,path:[...W._zod.def.path??[]],continue:!W._zod.def.abort};if(W._zod.def.params)$.params=W._zod.def.params;X.issues.push(cY($))}}var cU=(Q)=>{let X=typeof Q;switch(X){case"number":return Number.isNaN(Q)?"NaN":"number";case"object":{if(Array.isArray(Q))return"array";if(Q===null)return"null";if(Object.getPrototypeOf(Q)!==Object.prototype&&Q.constructor)return Q.constructor.name}}return X},pU=()=>{let Q={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"}};function X(W){return Q[W]??null}let Y={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"};return(W)=>{switch(W.code){case"invalid_type":return`Invalid input: expected ${W.expected}, received ${cU(W.input)}`;case"invalid_value":if(W.values.length===1)return`Invalid input: expected ${e8(W.values[0])}`;return`Invalid option: expected one of ${a8(W.values,"|")}`;case"too_big":{let $=W.inclusive?"<=":"<",J=X(W.origin);if(J)return`Too big: expected ${W.origin??"value"} to have ${$}${W.maximum.toString()} ${J.unit??"elements"}`;return`Too big: expected ${W.origin??"value"} to be ${$}${W.maximum.toString()}`}case"too_small":{let $=W.inclusive?">=":">",J=X(W.origin);if(J)return`Too small: expected ${W.origin} to have ${$}${W.minimum.toString()} ${J.unit}`;return`Too small: expected ${W.origin} to be ${$}${W.minimum.toString()}`}case"invalid_format":{let $=W;if($.format==="starts_with")return`Invalid string: must start with "${$.prefix}"`;if($.format==="ends_with")return`Invalid string: must end with "${$.suffix}"`;if($.format==="includes")return`Invalid string: must include "${$.includes}"`;if($.format==="regex")return`Invalid string: must match pattern ${$.pattern}`;return`Invalid ${Y[$.format]??W.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${W.divisor}`;case"unrecognized_keys":return`Unrecognized key${W.keys.length>1?"s":""}: ${a8(W.keys,", ")}`;case"invalid_key":return`Invalid key in ${W.origin}`;case"invalid_union":return"Invalid input";case"invalid_element":return`Invalid value in ${W.origin}`;default:return"Invalid input"}}};function dW(){return{localeError:pU()}}var FH=Symbol("ZodOutput"),VH=Symbol("ZodInput");class HQ{constructor(){this._map=new Map,this._idmap=new Map}add(Q,...X){let Y=X[0];if(this._map.set(Q,Y),Y&&typeof Y==="object"&&"id"in Y){if(this._idmap.has(Y.id))throw Error(`ID ${Y.id} already exists in the registry`);this._idmap.set(Y.id,Q)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(Q){let X=this._map.get(Q);if(X&&typeof X==="object"&&"id"in X)this._idmap.delete(X.id);return this._map.delete(Q),this}get(Q){let X=Q._zod.parent;if(X){let Y={...this.get(X)??{}};return delete Y.id,{...Y,...this._map.get(Q)}}return this._map.get(Q)}has(Q){return this._map.has(Q)}}function iW(){return new HQ}var t1=iW();function nW(Q,X){return new Q({type:"string",...g(X)})}function qH(Q,X){return new Q({type:"string",coerce:!0,...g(X)})}function oW(Q,X){return new Q({type:"string",format:"email",check:"string_format",abort:!1,...g(X)})}function BQ(Q,X){return new Q({type:"string",format:"guid",check:"string_format",abort:!1,...g(X)})}function rW(Q,X){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,...g(X)})}function tW(Q,X){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...g(X)})}function aW(Q,X){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...g(X)})}function sW(Q,X){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...g(X)})}function zQ(Q,X){return new Q({type:"string",format:"url",check:"string_format",abort:!1,...g(X)})}function eW(Q,X){return new Q({type:"string",format:"emoji",check:"string_format",abort:!1,...g(X)})}function Q7(Q,X){return new Q({type:"string",format:"nanoid",check:"string_format",abort:!1,...g(X)})}function X7(Q,X){return new Q({type:"string",format:"cuid",check:"string_format",abort:!1,...g(X)})}function Y7(Q,X){return new Q({type:"string",format:"cuid2",check:"string_format",abort:!1,...g(X)})}function W7(Q,X){return new Q({type:"string",format:"ulid",check:"string_format",abort:!1,...g(X)})}function $7(Q,X){return new Q({type:"string",format:"xid",check:"string_format",abort:!1,...g(X)})}function J7(Q,X){return new Q({type:"string",format:"ksuid",check:"string_format",abort:!1,...g(X)})}function G7(Q,X){return new Q({type:"string",format:"ipv4",check:"string_format",abort:!1,...g(X)})}function H7(Q,X){return new Q({type:"string",format:"ipv6",check:"string_format",abort:!1,...g(X)})}function B7(Q,X){return new Q({type:"string",format:"cidrv4",check:"string_format",abort:!1,...g(X)})}function z7(Q,X){return new Q({type:"string",format:"cidrv6",check:"string_format",abort:!1,...g(X)})}function K7(Q,X){return new Q({type:"string",format:"base64",check:"string_format",abort:!1,...g(X)})}function F7(Q,X){return new Q({type:"string",format:"base64url",check:"string_format",abort:!1,...g(X)})}function V7(Q,X){return new Q({type:"string",format:"e164",check:"string_format",abort:!1,...g(X)})}function q7(Q,X){return new Q({type:"string",format:"jwt",check:"string_format",abort:!1,...g(X)})}function AH(Q,X){return new Q({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...g(X)})}function DH(Q,X){return new Q({type:"string",format:"date",check:"string_format",...g(X)})}function LH(Q,X){return new Q({type:"string",format:"time",check:"string_format",precision:null,...g(X)})}function OH(Q,X){return new Q({type:"string",format:"duration",check:"string_format",...g(X)})}function A7(Q,X){return new Q({type:"number",checks:[],...g(X)})}function UH(Q,X){return new Q({type:"number",coerce:!0,checks:[],...g(X)})}function D7(Q,X){return new Q({type:"number",check:"number_format",abort:!1,format:"safeint",...g(X)})}function L7(Q,X){return new Q({type:"boolean",...g(X)})}function jH(Q,X){return new Q({type:"boolean",coerce:!0,...g(X)})}function wH(Q,X){return new Q({type:"bigint",coerce:!0,...g(X)})}function O7(Q,X){return new Q({type:"null",...g(X)})}function U7(Q){return new Q({type:"any"})}function j7(Q){return new Q({type:"unknown"})}function w7(Q,X){return new Q({type:"never",...g(X)})}function MH(Q,X){return new Q({type:"date",coerce:!0,...g(X)})}function S9(Q,X){return new sY({check:"less_than",...g(X),value:Q,inclusive:!1})}function a1(Q,X){return new sY({check:"less_than",...g(X),value:Q,inclusive:!0})}function I9(Q,X){return new eY({check:"greater_than",...g(X),value:Q,inclusive:!1})}function N1(Q,X){return new eY({check:"greater_than",...g(X),value:Q,inclusive:!0})}function I4(Q,X){return new gG({check:"multiple_of",...g(X),value:Q})}function KQ(Q,X){return new hG({check:"max_length",...g(X),maximum:Q})}function T9(Q,X){return new uG({check:"min_length",...g(X),minimum:Q})}function FQ(Q,X){return new lG({check:"length_equals",...g(X),length:Q})}function M7(Q,X){return new mG({check:"string_format",format:"regex",...g(X),pattern:Q})}function N7(Q){return new cG({check:"string_format",format:"lowercase",...g(Q)})}function b7(Q){return new pG({check:"string_format",format:"uppercase",...g(Q)})}function P7(Q,X){return new dG({check:"string_format",format:"includes",...g(X),includes:Q})}function Z7(Q,X){return new iG({check:"string_format",format:"starts_with",...g(X),prefix:Q})}function R7(Q,X){return new nG({check:"string_format",format:"ends_with",...g(X),suffix:Q})}function o6(Q){return new oG({check:"overwrite",tx:Q})}function E7(Q){return o6((X)=>X.normalize(Q))}function S7(){return o6((Q)=>Q.trim())}function I7(){return o6((Q)=>Q.toLowerCase())}function T7(){return o6((Q)=>Q.toUpperCase())}function NH(Q,X,Y){return new Q({type:"array",element:X,...g(Y)})}function C7(Q,X,Y){let W=g(Y);return W.abort??(W.abort=!0),new Q({type:"custom",check:"custom",fn:X,...W})}function k7(Q,X,Y){return new Q({type:"custom",check:"custom",fn:X,...g(Y)})}class v7{constructor(Q){this.counter=0,this.metadataRegistry=Q?.metadata??t1,this.target=Q?.target??"draft-2020-12",this.unrepresentable=Q?.unrepresentable??"throw",this.override=Q?.override??(()=>{}),this.io=Q?.io??"output",this.seen=new Map}process(Q,X={path:[],schemaPath:[]}){var Y;let W=Q._zod.def,$={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},J=this.seen.get(Q);if(J){if(J.count++,X.schemaPath.includes(Q))J.cycle=X.path;return J.schema}let G={schema:{},count:1,cycle:void 0,path:X.path};this.seen.set(Q,G);let H=Q._zod.toJSONSchema?.();if(H)G.schema=H;else{let K={...X,schemaPath:[...X.schemaPath,Q],path:X.path},V=Q._zod.parent;if(V)G.ref=V,this.process(V,K),this.seen.get(V).isParent=!0;else{let D=G.schema;switch(W.type){case"string":{let F=D;F.type="string";let{minimum:q,maximum:A,format:L,patterns:O,contentEncoding:M}=Q._zod.bag;if(typeof q==="number")F.minLength=q;if(typeof A==="number")F.maxLength=A;if(L){if(F.format=$[L]??L,F.format==="")delete F.format}if(M)F.contentEncoding=M;if(O&&O.size>0){let N=[...O];if(N.length===1)F.pattern=N[0].source;else if(N.length>1)G.schema.allOf=[...N.map((C)=>({...this.target==="draft-7"?{type:"string"}:{},pattern:C.source}))]}break}case"number":{let F=D,{minimum:q,maximum:A,format:L,multipleOf:O,exclusiveMaximum:M,exclusiveMinimum:N}=Q._zod.bag;if(typeof L==="string"&&L.includes("int"))F.type="integer";else F.type="number";if(typeof N==="number")F.exclusiveMinimum=N;if(typeof q==="number"){if(F.minimum=q,typeof N==="number")if(N>=q)delete F.minimum;else delete F.exclusiveMinimum}if(typeof M==="number")F.exclusiveMaximum=M;if(typeof A==="number"){if(F.maximum=A,typeof M==="number")if(M<=A)delete F.maximum;else delete F.exclusiveMaximum}if(typeof O==="number")F.multipleOf=O;break}case"boolean":{let F=D;F.type="boolean";break}case"bigint":{if(this.unrepresentable==="throw")throw Error("BigInt cannot be represented in JSON Schema");break}case"symbol":{if(this.unrepresentable==="throw")throw Error("Symbols cannot be represented in JSON Schema");break}case"null":{D.type="null";break}case"any":break;case"unknown":break;case"undefined":{if(this.unrepresentable==="throw")throw Error("Undefined cannot be represented in JSON Schema");break}case"void":{if(this.unrepresentable==="throw")throw Error("Void cannot be represented in JSON Schema");break}case"never":{D.not={};break}case"date":{if(this.unrepresentable==="throw")throw Error("Date cannot be represented in JSON Schema");break}case"array":{let F=D,{minimum:q,maximum:A}=Q._zod.bag;if(typeof q==="number")F.minItems=q;if(typeof A==="number")F.maxItems=A;F.type="array",F.items=this.process(W.element,{...K,path:[...K.path,"items"]});break}case"object":{let F=D;F.type="object",F.properties={};let q=W.shape;for(let O in q)F.properties[O]=this.process(q[O],{...K,path:[...K.path,"properties",O]});let A=new Set(Object.keys(q)),L=new Set([...A].filter((O)=>{let M=W.shape[O]._zod;if(this.io==="input")return M.optin===void 0;else return M.optout===void 0}));if(L.size>0)F.required=Array.from(L);if(W.catchall?._zod.def.type==="never")F.additionalProperties=!1;else if(!W.catchall){if(this.io==="output")F.additionalProperties=!1}else if(W.catchall)F.additionalProperties=this.process(W.catchall,{...K,path:[...K.path,"additionalProperties"]});break}case"union":{let F=D;F.anyOf=W.options.map((q,A)=>this.process(q,{...K,path:[...K.path,"anyOf",A]}));break}case"intersection":{let F=D,q=this.process(W.left,{...K,path:[...K.path,"allOf",0]}),A=this.process(W.right,{...K,path:[...K.path,"allOf",1]}),L=(M)=>("allOf"in M)&&Object.keys(M).length===1,O=[...L(q)?q.allOf:[q],...L(A)?A.allOf:[A]];F.allOf=O;break}case"tuple":{let F=D;F.type="array";let q=W.items.map((O,M)=>this.process(O,{...K,path:[...K.path,"prefixItems",M]}));if(this.target==="draft-2020-12")F.prefixItems=q;else F.items=q;if(W.rest){let O=this.process(W.rest,{...K,path:[...K.path,"items"]});if(this.target==="draft-2020-12")F.items=O;else F.additionalItems=O}if(W.rest)F.items=this.process(W.rest,{...K,path:[...K.path,"items"]});let{minimum:A,maximum:L}=Q._zod.bag;if(typeof A==="number")F.minItems=A;if(typeof L==="number")F.maxItems=L;break}case"record":{let F=D;F.type="object",F.propertyNames=this.process(W.keyType,{...K,path:[...K.path,"propertyNames"]}),F.additionalProperties=this.process(W.valueType,{...K,path:[...K.path,"additionalProperties"]});break}case"map":{if(this.unrepresentable==="throw")throw Error("Map cannot be represented in JSON Schema");break}case"set":{if(this.unrepresentable==="throw")throw Error("Set cannot be represented in JSON Schema");break}case"enum":{let F=D,q=w4(W.entries);if(q.every((A)=>typeof A==="number"))F.type="number";if(q.every((A)=>typeof A==="string"))F.type="string";F.enum=q;break}case"literal":{let F=D,q=[];for(let A of W.values)if(A===void 0){if(this.unrepresentable==="throw")throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof A==="bigint")if(this.unrepresentable==="throw")throw Error("BigInt literals cannot be represented in JSON Schema");else q.push(Number(A));else q.push(A);if(q.length===0);else if(q.length===1){let A=q[0];F.type=A===null?"null":typeof A,F.const=A}else{if(q.every((A)=>typeof A==="number"))F.type="number";if(q.every((A)=>typeof A==="string"))F.type="string";if(q.every((A)=>typeof A==="boolean"))F.type="string";if(q.every((A)=>A===null))F.type="null";F.enum=q}break}case"file":{let F=D,q={type:"string",format:"binary",contentEncoding:"binary"},{minimum:A,maximum:L,mime:O}=Q._zod.bag;if(A!==void 0)q.minLength=A;if(L!==void 0)q.maxLength=L;if(O)if(O.length===1)q.contentMediaType=O[0],Object.assign(F,q);else F.anyOf=O.map((M)=>{return{...q,contentMediaType:M}});else Object.assign(F,q);break}case"transform":{if(this.unrepresentable==="throw")throw Error("Transforms cannot be represented in JSON Schema");break}case"nullable":{let F=this.process(W.innerType,K);D.anyOf=[F,{type:"null"}];break}case"nonoptional":{this.process(W.innerType,K),G.ref=W.innerType;break}case"success":{let F=D;F.type="boolean";break}case"default":{this.process(W.innerType,K),G.ref=W.innerType,D.default=JSON.parse(JSON.stringify(W.defaultValue));break}case"prefault":{if(this.process(W.innerType,K),G.ref=W.innerType,this.io==="input")D._prefault=JSON.parse(JSON.stringify(W.defaultValue));break}case"catch":{this.process(W.innerType,K),G.ref=W.innerType;let F;try{F=W.catchValue(void 0)}catch{throw Error("Dynamic catch values are not supported in JSON Schema")}D.default=F;break}case"nan":{if(this.unrepresentable==="throw")throw Error("NaN cannot be represented in JSON Schema");break}case"template_literal":{let F=D,q=Q._zod.pattern;if(!q)throw Error("Pattern not found in template literal");F.type="string",F.pattern=q.source;break}case"pipe":{let F=this.io==="input"?W.in._zod.def.type==="transform"?W.out:W.in:W.out;this.process(F,K),G.ref=F;break}case"readonly":{this.process(W.innerType,K),G.ref=W.innerType,D.readOnly=!0;break}case"promise":{this.process(W.innerType,K),G.ref=W.innerType;break}case"optional":{this.process(W.innerType,K),G.ref=W.innerType;break}case"lazy":{let F=Q._zod.innerType;this.process(F,K),G.ref=F;break}case"custom":{if(this.unrepresentable==="throw")throw Error("Custom types cannot be represented in JSON Schema");break}default:}}}let B=this.metadataRegistry.get(Q);if(B)Object.assign(G.schema,B);if(this.io==="input"&&I0(Q))delete G.schema.examples,delete G.schema.default;if(this.io==="input"&&G.schema._prefault)(Y=G.schema).default??(Y.default=G.schema._prefault);return delete G.schema._prefault,this.seen.get(Q).schema}emit(Q,X){let Y={cycles:X?.cycles??"ref",reused:X?.reused??"inline",external:X?.external??void 0},W=this.seen.get(Q);if(!W)throw Error("Unprocessed schema. This is a bug in Zod.");let $=(z)=>{let K=this.target==="draft-2020-12"?"$defs":"definitions";if(Y.external){let q=Y.external.registry.get(z[0])?.id,A=Y.external.uri??((O)=>O);if(q)return{ref:A(q)};let L=z[1].defId??z[1].schema.id??`schema${this.counter++}`;return z[1].defId=L,{defId:L,ref:`${A("__shared")}#/${K}/${L}`}}if(z[1]===W)return{ref:"#"};let D=`${"#"}/${K}/`,F=z[1].schema.id??`__schema${this.counter++}`;return{defId:F,ref:D+F}},J=(z)=>{if(z[1].schema.$ref)return;let K=z[1],{ref:V,defId:D}=$(z);if(K.def={...K.schema},D)K.defId=D;let F=K.schema;for(let q in F)delete F[q];F.$ref=V};if(Y.cycles==="throw")for(let z of this.seen.entries()){let K=z[1];if(K.cycle)throw Error(`Cycle detected: #/${K.cycle?.join("/")}/<root>
40
+ path: iss.path ? [${d6(N)}, ...iss.path] : [${d6(N)}]
41
+ })));`),q.write(`newResult[${d6(N)}] = ${w}.value`)}q.write("payload.value = newResult;"),q.write("return payload;");let O=q.compile();return(N,w)=>O(V,N,w)},$,J=v9,G=!XQ.jitless,B=G&&nY.value,z=X.catchall,K;Q._zod.parse=(V,q)=>{K??(K=Y.value);let F=V.value;if(!J(F))return V.issues.push({expected:"object",code:"invalid_type",input:F,inst:Q}),V;let A=[];if(G&&B&&q?.async===!1&&q.jitless!==!0){if(!$)$=W(X.shape);V=$(V,q)}else{V.value={};let w=K.shape;for(let C of K.keys){let Z=w[C],K0=Z._zod.run({value:F[C],issues:[]},q),P0=Z._zod.optin==="optional"&&Z._zod.optout==="optional";if(K0 instanceof Promise)A.push(K0.then((g1)=>P0?UH(g1,V,C,F):zQ(g1,V,C)));else if(P0)UH(K0,V,C,F);else zQ(K0,V,C)}}if(!z)return A.length?Promise.all(A).then(()=>V):V;let D=[],L=K.keySet,O=z._zod,N=O.def.type;for(let w of Object.keys(F)){if(L.has(w))continue;if(N==="never"){D.push(w);continue}let C=O.run({value:F[w],issues:[]},q);if(C instanceof Promise)A.push(C.then((Z)=>zQ(Z,V,w)));else zQ(C,V,w)}if(D.length)V.issues.push({code:"unrecognized_keys",keys:D,input:F,inst:Q});if(!A.length)return V;return Promise.all(A).then(()=>{return V})}});function jH(Q,X,Y,W){for(let $ of Q)if($.issues.length===0)return X.value=$.value,X;return X.issues.push({code:"invalid_union",input:X.value,inst:Y,errors:Q.map(($)=>$.issues.map((J)=>w1(J,W,t0())))}),X}var FQ=M("$ZodUnion",(Q,X)=>{G0.init(Q,X),V0(Q._zod,"optin",()=>X.options.some((Y)=>Y._zod.optin==="optional")?"optional":void 0),V0(Q._zod,"optout",()=>X.options.some((Y)=>Y._zod.optout==="optional")?"optional":void 0),V0(Q._zod,"values",()=>{if(X.options.every((Y)=>Y._zod.values))return new Set(X.options.flatMap((Y)=>Array.from(Y._zod.values)));return}),V0(Q._zod,"pattern",()=>{if(X.options.every((Y)=>Y._zod.pattern)){let Y=X.options.map((W)=>W._zod.pattern);return new RegExp(`^(${Y.map((W)=>k8(W.source)).join("|")})$`)}return}),Q._zod.parse=(Y,W)=>{let $=!1,J=[];for(let G of X.options){let H=G._zod.run({value:Y.value,issues:[]},W);if(H instanceof Promise)J.push(H),$=!0;else{if(H.issues.length===0)return H;J.push(H)}}if(!$)return jH(J,Y,Q,W);return Promise.all(J).then((G)=>{return jH(G,Y,Q,W)})}}),g7=M("$ZodDiscriminatedUnion",(Q,X)=>{FQ.init(Q,X);let Y=Q._zod.parse;V0(Q._zod,"propValues",()=>{let $={};for(let J of X.options){let G=J._zod.propValues;if(!G||Object.keys(G).length===0)throw Error(`Invalid discriminated union option at index "${X.options.indexOf(J)}"`);for(let[H,B]of Object.entries(G)){if(!$[H])$[H]=new Set;for(let z of B)$[H].add(z)}}return $});let W=T8(()=>{let $=X.options,J=new Map;for(let G of $){let H=G._zod.propValues[X.discriminator];if(!H||H.size===0)throw Error(`Invalid discriminated union option at index "${X.options.indexOf(G)}"`);for(let B of H){if(J.has(B))throw Error(`Duplicate discriminator value "${String(B)}"`);J.set(B,G)}}return J});Q._zod.parse=($,J)=>{let G=$.value;if(!v9(G))return $.issues.push({code:"invalid_type",expected:"object",input:G,inst:Q}),$;let H=W.value.get(G?.[X.discriminator]);if(H)return H._zod.run($,J);if(X.unionFallback)return Y($,J);return $.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",input:G,path:[X.discriminator],inst:Q}),$}}),h7=M("$ZodIntersection",(Q,X)=>{G0.init(Q,X),Q._zod.parse=(Y,W)=>{let $=Y.value,J=X.left._zod.run({value:$,issues:[]},W),G=X.right._zod.run({value:$,issues:[]},W);if(J instanceof Promise||G instanceof Promise)return Promise.all([J,G]).then(([B,z])=>{return MH(Y,B,z)});return MH(Y,J,G)}});function z7(Q,X){if(Q===X)return{valid:!0,data:Q};if(Q instanceof Date&&X instanceof Date&&+Q===+X)return{valid:!0,data:Q};if(_9(Q)&&_9(X)){let Y=Object.keys(X),W=Object.keys(Q).filter((J)=>Y.indexOf(J)!==-1),$={...Q,...X};for(let J of W){let G=z7(Q[J],X[J]);if(!G.valid)return{valid:!1,mergeErrorPath:[J,...G.mergeErrorPath]};$[J]=G.data}return{valid:!0,data:$}}if(Array.isArray(Q)&&Array.isArray(X)){if(Q.length!==X.length)return{valid:!1,mergeErrorPath:[]};let Y=[];for(let W=0;W<Q.length;W++){let $=Q[W],J=X[W],G=z7($,J);if(!G.valid)return{valid:!1,mergeErrorPath:[W,...G.mergeErrorPath]};Y.push(G.data)}return{valid:!0,data:Y}}return{valid:!1,mergeErrorPath:[]}}function MH(Q,X,Y){if(X.issues.length)Q.issues.push(...X.issues);if(Y.issues.length)Q.issues.push(...Y.issues);if(i6(Q))return Q;let W=z7(X.value,Y.value);if(!W.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(W.mergeErrorPath)}`);return Q.value=W.data,Q}var u7=M("$ZodRecord",(Q,X)=>{G0.init(Q,X),Q._zod.parse=(Y,W)=>{let $=Y.value;if(!_9($))return Y.issues.push({expected:"record",code:"invalid_type",input:$,inst:Q}),Y;let J=[];if(X.keyType._zod.values){let G=X.keyType._zod.values;Y.value={};for(let B of G)if(typeof B==="string"||typeof B==="number"||typeof B==="symbol"){let z=X.valueType._zod.run({value:$[B],issues:[]},W);if(z instanceof Promise)J.push(z.then((K)=>{if(K.issues.length)Y.issues.push(...m1(B,K.issues));Y.value[B]=K.value}));else{if(z.issues.length)Y.issues.push(...m1(B,z.issues));Y.value[B]=z.value}}let H;for(let B in $)if(!G.has(B))H=H??[],H.push(B);if(H&&H.length>0)Y.issues.push({code:"unrecognized_keys",input:$,inst:Q,keys:H})}else{Y.value={};for(let G of Reflect.ownKeys($)){if(G==="__proto__")continue;let H=X.keyType._zod.run({value:G,issues:[]},W);if(H instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(H.issues.length){Y.issues.push({origin:"record",code:"invalid_key",issues:H.issues.map((z)=>w1(z,W,t0())),input:G,path:[G],inst:Q}),Y.value[H.value]=H.value;continue}let B=X.valueType._zod.run({value:$[G],issues:[]},W);if(B instanceof Promise)J.push(B.then((z)=>{if(z.issues.length)Y.issues.push(...m1(G,z.issues));Y.value[H.value]=z.value}));else{if(B.issues.length)Y.issues.push(...m1(G,B.issues));Y.value[H.value]=B.value}}}if(J.length)return Promise.all(J).then(()=>Y);return Y}});var l7=M("$ZodEnum",(Q,X)=>{G0.init(Q,X);let Y=I8(X.entries);Q._zod.values=new Set(Y),Q._zod.pattern=new RegExp(`^(${Y.filter((W)=>oY.has(typeof W)).map((W)=>typeof W==="string"?L6(W):W.toString()).join("|")})$`),Q._zod.parse=(W,$)=>{let J=W.value;if(Q._zod.values.has(J))return W;return W.issues.push({code:"invalid_value",values:Y,input:J,inst:Q}),W}}),m7=M("$ZodLiteral",(Q,X)=>{G0.init(Q,X),Q._zod.values=new Set(X.values),Q._zod.pattern=new RegExp(`^(${X.values.map((Y)=>typeof Y==="string"?L6(Y):Y?Y.toString():String(Y)).join("|")})$`),Q._zod.parse=(Y,W)=>{let $=Y.value;if(Q._zod.values.has($))return Y;return Y.issues.push({code:"invalid_value",values:X.values,input:$,inst:Q}),Y}});var c7=M("$ZodTransform",(Q,X)=>{G0.init(Q,X),Q._zod.parse=(Y,W)=>{let $=X.transform(Y.value,Y);if(W.async)return($ instanceof Promise?$:Promise.resolve($)).then((G)=>{return Y.value=G,Y});if($ instanceof Promise)throw new D6;return Y.value=$,Y}}),p7=M("$ZodOptional",(Q,X)=>{G0.init(Q,X),Q._zod.optin="optional",Q._zod.optout="optional",V0(Q._zod,"values",()=>{return X.innerType._zod.values?new Set([...X.innerType._zod.values,void 0]):void 0}),V0(Q._zod,"pattern",()=>{let Y=X.innerType._zod.pattern;return Y?new RegExp(`^(${k8(Y.source)})?$`):void 0}),Q._zod.parse=(Y,W)=>{if(X.innerType._zod.optin==="optional")return X.innerType._zod.run(Y,W);if(Y.value===void 0)return Y;return X.innerType._zod.run(Y,W)}}),d7=M("$ZodNullable",(Q,X)=>{G0.init(Q,X),V0(Q._zod,"optin",()=>X.innerType._zod.optin),V0(Q._zod,"optout",()=>X.innerType._zod.optout),V0(Q._zod,"pattern",()=>{let Y=X.innerType._zod.pattern;return Y?new RegExp(`^(${k8(Y.source)}|null)$`):void 0}),V0(Q._zod,"values",()=>{return X.innerType._zod.values?new Set([...X.innerType._zod.values,null]):void 0}),Q._zod.parse=(Y,W)=>{if(Y.value===null)return Y;return X.innerType._zod.run(Y,W)}}),i7=M("$ZodDefault",(Q,X)=>{G0.init(Q,X),Q._zod.optin="optional",V0(Q._zod,"values",()=>X.innerType._zod.values),Q._zod.parse=(Y,W)=>{if(Y.value===void 0)return Y.value=X.defaultValue,Y;let $=X.innerType._zod.run(Y,W);if($ instanceof Promise)return $.then((J)=>NH(J,X));return NH($,X)}});function NH(Q,X){if(Q.value===void 0)Q.value=X.defaultValue;return Q}var n7=M("$ZodPrefault",(Q,X)=>{G0.init(Q,X),Q._zod.optin="optional",V0(Q._zod,"values",()=>X.innerType._zod.values),Q._zod.parse=(Y,W)=>{if(Y.value===void 0)Y.value=X.defaultValue;return X.innerType._zod.run(Y,W)}}),o7=M("$ZodNonOptional",(Q,X)=>{G0.init(Q,X),V0(Q._zod,"values",()=>{let Y=X.innerType._zod.values;return Y?new Set([...Y].filter((W)=>W!==void 0)):void 0}),Q._zod.parse=(Y,W)=>{let $=X.innerType._zod.run(Y,W);if($ instanceof Promise)return $.then((J)=>wH(J,Q));return wH($,Q)}});function wH(Q,X){if(!Q.issues.length&&Q.value===void 0)Q.issues.push({code:"invalid_type",expected:"nonoptional",input:Q.value,inst:X});return Q}var r7=M("$ZodCatch",(Q,X)=>{G0.init(Q,X),Q._zod.optin="optional",V0(Q._zod,"optout",()=>X.innerType._zod.optout),V0(Q._zod,"values",()=>X.innerType._zod.values),Q._zod.parse=(Y,W)=>{let $=X.innerType._zod.run(Y,W);if($ instanceof Promise)return $.then((J)=>{if(Y.value=J.value,J.issues.length)Y.value=X.catchValue({...Y,error:{issues:J.issues.map((G)=>w1(G,W,t0()))},input:Y.value}),Y.issues=[];return Y});if(Y.value=$.value,$.issues.length)Y.value=X.catchValue({...Y,error:{issues:$.issues.map((J)=>w1(J,W,t0()))},input:Y.value}),Y.issues=[];return Y}});var t7=M("$ZodPipe",(Q,X)=>{G0.init(Q,X),V0(Q._zod,"values",()=>X.in._zod.values),V0(Q._zod,"optin",()=>X.in._zod.optin),V0(Q._zod,"optout",()=>X.out._zod.optout),Q._zod.parse=(Y,W)=>{let $=X.in._zod.run(Y,W);if($ instanceof Promise)return $.then((J)=>bH(J,X,W));return bH($,X,W)}});function bH(Q,X,Y){if(i6(Q))return Q;return X.out._zod.run({value:Q.value,issues:Q.issues},Y)}var a7=M("$ZodReadonly",(Q,X)=>{G0.init(Q,X),V0(Q._zod,"propValues",()=>X.innerType._zod.propValues),V0(Q._zod,"values",()=>X.innerType._zod.values),V0(Q._zod,"optin",()=>X.innerType._zod.optin),V0(Q._zod,"optout",()=>X.innerType._zod.optout),Q._zod.parse=(Y,W)=>{let $=X.innerType._zod.run(Y,W);if($ instanceof Promise)return $.then(PH);return PH($)}});function PH(Q){return Q.value=Object.freeze(Q.value),Q}var s7=M("$ZodCustom",(Q,X)=>{k0.init(Q,X),G0.init(Q,X),Q._zod.parse=(Y,W)=>{return Y},Q._zod.check=(Y)=>{let W=Y.value,$=X.fn(W);if($ instanceof Promise)return $.then((J)=>ZH(J,Y,W,Q));ZH($,Y,W,Q);return}});function ZH(Q,X,Y,W){if(!Q){let $={code:"custom",input:Y,inst:W,path:[...W._zod.def.path??[]],continue:!W._zod.def.abort};if(W._zod.def.params)$.params=W._zod.def.params;X.issues.push(aY($))}}var aj=(Q)=>{let X=typeof Q;switch(X){case"number":return Number.isNaN(Q)?"NaN":"number";case"object":{if(Array.isArray(Q))return"array";if(Q===null)return"null";if(Object.getPrototypeOf(Q)!==Object.prototype&&Q.constructor)return Q.constructor.name}}return X},sj=()=>{let Q={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"}};function X(W){return Q[W]??null}let Y={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"};return(W)=>{switch(W.code){case"invalid_type":return`Invalid input: expected ${W.expected}, received ${aj(W.input)}`;case"invalid_value":if(W.values.length===1)return`Invalid input: expected ${JQ(W.values[0])}`;return`Invalid option: expected one of ${WQ(W.values,"|")}`;case"too_big":{let $=W.inclusive?"<=":"<",J=X(W.origin);if(J)return`Too big: expected ${W.origin??"value"} to have ${$}${W.maximum.toString()} ${J.unit??"elements"}`;return`Too big: expected ${W.origin??"value"} to be ${$}${W.maximum.toString()}`}case"too_small":{let $=W.inclusive?">=":">",J=X(W.origin);if(J)return`Too small: expected ${W.origin} to have ${$}${W.minimum.toString()} ${J.unit}`;return`Too small: expected ${W.origin} to be ${$}${W.minimum.toString()}`}case"invalid_format":{let $=W;if($.format==="starts_with")return`Invalid string: must start with "${$.prefix}"`;if($.format==="ends_with")return`Invalid string: must end with "${$.suffix}"`;if($.format==="includes")return`Invalid string: must include "${$.includes}"`;if($.format==="regex")return`Invalid string: must match pattern ${$.pattern}`;return`Invalid ${Y[$.format]??W.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${W.divisor}`;case"unrecognized_keys":return`Unrecognized key${W.keys.length>1?"s":""}: ${WQ(W.keys,", ")}`;case"invalid_key":return`Invalid key in ${W.origin}`;case"invalid_union":return"Invalid input";case"invalid_element":return`Invalid value in ${W.origin}`;default:return"Invalid input"}}};function e7(){return{localeError:sj()}}var CH=Symbol("ZodOutput"),kH=Symbol("ZodInput");class AQ{constructor(){this._map=new Map,this._idmap=new Map}add(Q,...X){let Y=X[0];if(this._map.set(Q,Y),Y&&typeof Y==="object"&&"id"in Y){if(this._idmap.has(Y.id))throw Error(`ID ${Y.id} already exists in the registry`);this._idmap.set(Y.id,Q)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(Q){let X=this._map.get(Q);if(X&&typeof X==="object"&&"id"in X)this._idmap.delete(X.id);return this._map.delete(Q),this}get(Q){let X=Q._zod.parent;if(X){let Y={...this.get(X)??{}};return delete Y.id,{...Y,...this._map.get(Q)}}return this._map.get(Q)}has(Q){return this._map.has(Q)}}function QW(){return new AQ}var a1=QW();function XW(Q,X){return new Q({type:"string",...g(X)})}function vH(Q,X){return new Q({type:"string",coerce:!0,...g(X)})}function YW(Q,X){return new Q({type:"string",format:"email",check:"string_format",abort:!1,...g(X)})}function qQ(Q,X){return new Q({type:"string",format:"guid",check:"string_format",abort:!1,...g(X)})}function WW(Q,X){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,...g(X)})}function $W(Q,X){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...g(X)})}function JW(Q,X){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...g(X)})}function GW(Q,X){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...g(X)})}function DQ(Q,X){return new Q({type:"string",format:"url",check:"string_format",abort:!1,...g(X)})}function HW(Q,X){return new Q({type:"string",format:"emoji",check:"string_format",abort:!1,...g(X)})}function BW(Q,X){return new Q({type:"string",format:"nanoid",check:"string_format",abort:!1,...g(X)})}function zW(Q,X){return new Q({type:"string",format:"cuid",check:"string_format",abort:!1,...g(X)})}function KW(Q,X){return new Q({type:"string",format:"cuid2",check:"string_format",abort:!1,...g(X)})}function VW(Q,X){return new Q({type:"string",format:"ulid",check:"string_format",abort:!1,...g(X)})}function FW(Q,X){return new Q({type:"string",format:"xid",check:"string_format",abort:!1,...g(X)})}function AW(Q,X){return new Q({type:"string",format:"ksuid",check:"string_format",abort:!1,...g(X)})}function qW(Q,X){return new Q({type:"string",format:"ipv4",check:"string_format",abort:!1,...g(X)})}function DW(Q,X){return new Q({type:"string",format:"ipv6",check:"string_format",abort:!1,...g(X)})}function LW(Q,X){return new Q({type:"string",format:"cidrv4",check:"string_format",abort:!1,...g(X)})}function OW(Q,X){return new Q({type:"string",format:"cidrv6",check:"string_format",abort:!1,...g(X)})}function UW(Q,X){return new Q({type:"string",format:"base64",check:"string_format",abort:!1,...g(X)})}function jW(Q,X){return new Q({type:"string",format:"base64url",check:"string_format",abort:!1,...g(X)})}function MW(Q,X){return new Q({type:"string",format:"e164",check:"string_format",abort:!1,...g(X)})}function NW(Q,X){return new Q({type:"string",format:"jwt",check:"string_format",abort:!1,...g(X)})}function _H(Q,X){return new Q({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...g(X)})}function xH(Q,X){return new Q({type:"string",format:"date",check:"string_format",...g(X)})}function yH(Q,X){return new Q({type:"string",format:"time",check:"string_format",precision:null,...g(X)})}function fH(Q,X){return new Q({type:"string",format:"duration",check:"string_format",...g(X)})}function wW(Q,X){return new Q({type:"number",checks:[],...g(X)})}function gH(Q,X){return new Q({type:"number",coerce:!0,checks:[],...g(X)})}function bW(Q,X){return new Q({type:"number",check:"number_format",abort:!1,format:"safeint",...g(X)})}function PW(Q,X){return new Q({type:"boolean",...g(X)})}function hH(Q,X){return new Q({type:"boolean",coerce:!0,...g(X)})}function uH(Q,X){return new Q({type:"bigint",coerce:!0,...g(X)})}function ZW(Q,X){return new Q({type:"null",...g(X)})}function RW(Q){return new Q({type:"any"})}function EW(Q){return new Q({type:"unknown"})}function SW(Q,X){return new Q({type:"never",...g(X)})}function lH(Q,X){return new Q({type:"date",coerce:!0,...g(X)})}function x9(Q,X){return new G7({check:"less_than",...g(X),value:Q,inclusive:!1})}function s1(Q,X){return new G7({check:"less_than",...g(X),value:Q,inclusive:!0})}function y9(Q,X){return new H7({check:"greater_than",...g(X),value:Q,inclusive:!1})}function b1(Q,X){return new H7({check:"greater_than",...g(X),value:Q,inclusive:!0})}function g8(Q,X){return new WH({check:"multiple_of",...g(X),value:Q})}function LQ(Q,X){return new JH({check:"max_length",...g(X),maximum:Q})}function f9(Q,X){return new GH({check:"min_length",...g(X),minimum:Q})}function OQ(Q,X){return new HH({check:"length_equals",...g(X),length:Q})}function IW(Q,X){return new BH({check:"string_format",format:"regex",...g(X),pattern:Q})}function TW(Q){return new zH({check:"string_format",format:"lowercase",...g(Q)})}function CW(Q){return new KH({check:"string_format",format:"uppercase",...g(Q)})}function kW(Q,X){return new VH({check:"string_format",format:"includes",...g(X),includes:Q})}function vW(Q,X){return new FH({check:"string_format",format:"starts_with",...g(X),prefix:Q})}function _W(Q,X){return new AH({check:"string_format",format:"ends_with",...g(X),suffix:Q})}function r6(Q){return new qH({check:"overwrite",tx:Q})}function xW(Q){return r6((X)=>X.normalize(Q))}function yW(){return r6((Q)=>Q.trim())}function fW(){return r6((Q)=>Q.toLowerCase())}function gW(){return r6((Q)=>Q.toUpperCase())}function mH(Q,X,Y){return new Q({type:"array",element:X,...g(Y)})}function hW(Q,X,Y){let W=g(Y);return W.abort??(W.abort=!0),new Q({type:"custom",check:"custom",fn:X,...W})}function uW(Q,X,Y){return new Q({type:"custom",check:"custom",fn:X,...g(Y)})}class lW{constructor(Q){this.counter=0,this.metadataRegistry=Q?.metadata??a1,this.target=Q?.target??"draft-2020-12",this.unrepresentable=Q?.unrepresentable??"throw",this.override=Q?.override??(()=>{}),this.io=Q?.io??"output",this.seen=new Map}process(Q,X={path:[],schemaPath:[]}){var Y;let W=Q._zod.def,$={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},J=this.seen.get(Q);if(J){if(J.count++,X.schemaPath.includes(Q))J.cycle=X.path;return J.schema}let G={schema:{},count:1,cycle:void 0,path:X.path};this.seen.set(Q,G);let H=Q._zod.toJSONSchema?.();if(H)G.schema=H;else{let K={...X,schemaPath:[...X.schemaPath,Q],path:X.path},V=Q._zod.parent;if(V)G.ref=V,this.process(V,K),this.seen.get(V).isParent=!0;else{let q=G.schema;switch(W.type){case"string":{let F=q;F.type="string";let{minimum:A,maximum:D,format:L,patterns:O,contentEncoding:N}=Q._zod.bag;if(typeof A==="number")F.minLength=A;if(typeof D==="number")F.maxLength=D;if(L){if(F.format=$[L]??L,F.format==="")delete F.format}if(N)F.contentEncoding=N;if(O&&O.size>0){let w=[...O];if(w.length===1)F.pattern=w[0].source;else if(w.length>1)G.schema.allOf=[...w.map((C)=>({...this.target==="draft-7"?{type:"string"}:{},pattern:C.source}))]}break}case"number":{let F=q,{minimum:A,maximum:D,format:L,multipleOf:O,exclusiveMaximum:N,exclusiveMinimum:w}=Q._zod.bag;if(typeof L==="string"&&L.includes("int"))F.type="integer";else F.type="number";if(typeof w==="number")F.exclusiveMinimum=w;if(typeof A==="number"){if(F.minimum=A,typeof w==="number")if(w>=A)delete F.minimum;else delete F.exclusiveMinimum}if(typeof N==="number")F.exclusiveMaximum=N;if(typeof D==="number"){if(F.maximum=D,typeof N==="number")if(N<=D)delete F.maximum;else delete F.exclusiveMaximum}if(typeof O==="number")F.multipleOf=O;break}case"boolean":{let F=q;F.type="boolean";break}case"bigint":{if(this.unrepresentable==="throw")throw Error("BigInt cannot be represented in JSON Schema");break}case"symbol":{if(this.unrepresentable==="throw")throw Error("Symbols cannot be represented in JSON Schema");break}case"null":{q.type="null";break}case"any":break;case"unknown":break;case"undefined":{if(this.unrepresentable==="throw")throw Error("Undefined cannot be represented in JSON Schema");break}case"void":{if(this.unrepresentable==="throw")throw Error("Void cannot be represented in JSON Schema");break}case"never":{q.not={};break}case"date":{if(this.unrepresentable==="throw")throw Error("Date cannot be represented in JSON Schema");break}case"array":{let F=q,{minimum:A,maximum:D}=Q._zod.bag;if(typeof A==="number")F.minItems=A;if(typeof D==="number")F.maxItems=D;F.type="array",F.items=this.process(W.element,{...K,path:[...K.path,"items"]});break}case"object":{let F=q;F.type="object",F.properties={};let A=W.shape;for(let O in A)F.properties[O]=this.process(A[O],{...K,path:[...K.path,"properties",O]});let D=new Set(Object.keys(A)),L=new Set([...D].filter((O)=>{let N=W.shape[O]._zod;if(this.io==="input")return N.optin===void 0;else return N.optout===void 0}));if(L.size>0)F.required=Array.from(L);if(W.catchall?._zod.def.type==="never")F.additionalProperties=!1;else if(!W.catchall){if(this.io==="output")F.additionalProperties=!1}else if(W.catchall)F.additionalProperties=this.process(W.catchall,{...K,path:[...K.path,"additionalProperties"]});break}case"union":{let F=q;F.anyOf=W.options.map((A,D)=>this.process(A,{...K,path:[...K.path,"anyOf",D]}));break}case"intersection":{let F=q,A=this.process(W.left,{...K,path:[...K.path,"allOf",0]}),D=this.process(W.right,{...K,path:[...K.path,"allOf",1]}),L=(N)=>("allOf"in N)&&Object.keys(N).length===1,O=[...L(A)?A.allOf:[A],...L(D)?D.allOf:[D]];F.allOf=O;break}case"tuple":{let F=q;F.type="array";let A=W.items.map((O,N)=>this.process(O,{...K,path:[...K.path,"prefixItems",N]}));if(this.target==="draft-2020-12")F.prefixItems=A;else F.items=A;if(W.rest){let O=this.process(W.rest,{...K,path:[...K.path,"items"]});if(this.target==="draft-2020-12")F.items=O;else F.additionalItems=O}if(W.rest)F.items=this.process(W.rest,{...K,path:[...K.path,"items"]});let{minimum:D,maximum:L}=Q._zod.bag;if(typeof D==="number")F.minItems=D;if(typeof L==="number")F.maxItems=L;break}case"record":{let F=q;F.type="object",F.propertyNames=this.process(W.keyType,{...K,path:[...K.path,"propertyNames"]}),F.additionalProperties=this.process(W.valueType,{...K,path:[...K.path,"additionalProperties"]});break}case"map":{if(this.unrepresentable==="throw")throw Error("Map cannot be represented in JSON Schema");break}case"set":{if(this.unrepresentable==="throw")throw Error("Set cannot be represented in JSON Schema");break}case"enum":{let F=q,A=I8(W.entries);if(A.every((D)=>typeof D==="number"))F.type="number";if(A.every((D)=>typeof D==="string"))F.type="string";F.enum=A;break}case"literal":{let F=q,A=[];for(let D of W.values)if(D===void 0){if(this.unrepresentable==="throw")throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof D==="bigint")if(this.unrepresentable==="throw")throw Error("BigInt literals cannot be represented in JSON Schema");else A.push(Number(D));else A.push(D);if(A.length===0);else if(A.length===1){let D=A[0];F.type=D===null?"null":typeof D,F.const=D}else{if(A.every((D)=>typeof D==="number"))F.type="number";if(A.every((D)=>typeof D==="string"))F.type="string";if(A.every((D)=>typeof D==="boolean"))F.type="string";if(A.every((D)=>D===null))F.type="null";F.enum=A}break}case"file":{let F=q,A={type:"string",format:"binary",contentEncoding:"binary"},{minimum:D,maximum:L,mime:O}=Q._zod.bag;if(D!==void 0)A.minLength=D;if(L!==void 0)A.maxLength=L;if(O)if(O.length===1)A.contentMediaType=O[0],Object.assign(F,A);else F.anyOf=O.map((N)=>{return{...A,contentMediaType:N}});else Object.assign(F,A);break}case"transform":{if(this.unrepresentable==="throw")throw Error("Transforms cannot be represented in JSON Schema");break}case"nullable":{let F=this.process(W.innerType,K);q.anyOf=[F,{type:"null"}];break}case"nonoptional":{this.process(W.innerType,K),G.ref=W.innerType;break}case"success":{let F=q;F.type="boolean";break}case"default":{this.process(W.innerType,K),G.ref=W.innerType,q.default=JSON.parse(JSON.stringify(W.defaultValue));break}case"prefault":{if(this.process(W.innerType,K),G.ref=W.innerType,this.io==="input")q._prefault=JSON.parse(JSON.stringify(W.defaultValue));break}case"catch":{this.process(W.innerType,K),G.ref=W.innerType;let F;try{F=W.catchValue(void 0)}catch{throw Error("Dynamic catch values are not supported in JSON Schema")}q.default=F;break}case"nan":{if(this.unrepresentable==="throw")throw Error("NaN cannot be represented in JSON Schema");break}case"template_literal":{let F=q,A=Q._zod.pattern;if(!A)throw Error("Pattern not found in template literal");F.type="string",F.pattern=A.source;break}case"pipe":{let F=this.io==="input"?W.in._zod.def.type==="transform"?W.out:W.in:W.out;this.process(F,K),G.ref=F;break}case"readonly":{this.process(W.innerType,K),G.ref=W.innerType,q.readOnly=!0;break}case"promise":{this.process(W.innerType,K),G.ref=W.innerType;break}case"optional":{this.process(W.innerType,K),G.ref=W.innerType;break}case"lazy":{let F=Q._zod.innerType;this.process(F,K),G.ref=F;break}case"custom":{if(this.unrepresentable==="throw")throw Error("Custom types cannot be represented in JSON Schema");break}default:}}}let B=this.metadataRegistry.get(Q);if(B)Object.assign(G.schema,B);if(this.io==="input"&&I0(Q))delete G.schema.examples,delete G.schema.default;if(this.io==="input"&&G.schema._prefault)(Y=G.schema).default??(Y.default=G.schema._prefault);return delete G.schema._prefault,this.seen.get(Q).schema}emit(Q,X){let Y={cycles:X?.cycles??"ref",reused:X?.reused??"inline",external:X?.external??void 0},W=this.seen.get(Q);if(!W)throw Error("Unprocessed schema. This is a bug in Zod.");let $=(z)=>{let K=this.target==="draft-2020-12"?"$defs":"definitions";if(Y.external){let A=Y.external.registry.get(z[0])?.id,D=Y.external.uri??((O)=>O);if(A)return{ref:D(A)};let L=z[1].defId??z[1].schema.id??`schema${this.counter++}`;return z[1].defId=L,{defId:L,ref:`${D("__shared")}#/${K}/${L}`}}if(z[1]===W)return{ref:"#"};let q=`${"#"}/${K}/`,F=z[1].schema.id??`__schema${this.counter++}`;return{defId:F,ref:q+F}},J=(z)=>{if(z[1].schema.$ref)return;let K=z[1],{ref:V,defId:q}=$(z);if(K.def={...K.schema},q)K.defId=q;let F=K.schema;for(let A in F)delete F[A];F.$ref=V};if(Y.cycles==="throw")for(let z of this.seen.entries()){let K=z[1];if(K.cycle)throw Error(`Cycle detected: #/${K.cycle?.join("/")}/<root>
42
42
 
43
- Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let z of this.seen.entries()){let K=z[1];if(Q===z[0]){J(z);continue}if(Y.external){let D=Y.external.registry.get(z[0])?.id;if(Q!==z[0]&&D){J(z);continue}}if(this.metadataRegistry.get(z[0])?.id){J(z);continue}if(K.cycle){J(z);continue}if(K.count>1){if(Y.reused==="ref"){J(z);continue}}}let G=(z,K)=>{let V=this.seen.get(z),D=V.def??V.schema,F={...D};if(V.ref===null)return;let q=V.ref;if(V.ref=null,q){G(q,K);let A=this.seen.get(q).schema;if(A.$ref&&K.target==="draft-7")D.allOf=D.allOf??[],D.allOf.push(A);else Object.assign(D,A),Object.assign(D,F)}if(!V.isParent)this.override({zodSchema:z,jsonSchema:D,path:V.path??[]})};for(let z of[...this.seen.entries()].reverse())G(z[0],{target:this.target});let H={};if(this.target==="draft-2020-12")H.$schema="https://json-schema.org/draft/2020-12/schema";else if(this.target==="draft-7")H.$schema="http://json-schema.org/draft-07/schema#";else console.warn(`Invalid target: ${this.target}`);if(Y.external?.uri){let z=Y.external.registry.get(Q)?.id;if(!z)throw Error("Schema is missing an `id` property");H.$id=Y.external.uri(z)}Object.assign(H,W.def);let B=Y.external?.defs??{};for(let z of this.seen.entries()){let K=z[1];if(K.def&&K.defId)B[K.defId]=K.def}if(Y.external);else if(Object.keys(B).length>0)if(this.target==="draft-2020-12")H.$defs=B;else H.definitions=B;try{return JSON.parse(JSON.stringify(H))}catch(z){throw Error("Error converting schema to JSON.")}}}function VQ(Q,X){if(Q instanceof HQ){let W=new v7(X),$={};for(let H of Q._idmap.entries()){let[B,z]=H;W.process(z)}let J={},G={registry:Q,uri:X?.uri,defs:$};for(let H of Q._idmap.entries()){let[B,z]=H;J[B]=W.emit(z,{...X,external:G})}if(Object.keys($).length>0){let H=W.target==="draft-2020-12"?"$defs":"definitions";J.__shared={[H]:$}}return{schemas:J}}let Y=new v7(X);return Y.process(Q),Y.emit(Q,X)}function I0(Q,X){let Y=X??{seen:new Set};if(Y.seen.has(Q))return!1;Y.seen.add(Q);let $=Q._zod.def;switch($.type){case"string":case"number":case"bigint":case"boolean":case"date":case"symbol":case"undefined":case"null":case"any":case"unknown":case"never":case"void":case"literal":case"enum":case"nan":case"file":case"template_literal":return!1;case"array":return I0($.element,Y);case"object":{for(let J in $.shape)if(I0($.shape[J],Y))return!0;return!1}case"union":{for(let J of $.options)if(I0(J,Y))return!0;return!1}case"intersection":return I0($.left,Y)||I0($.right,Y);case"tuple":{for(let J of $.items)if(I0(J,Y))return!0;if($.rest&&I0($.rest,Y))return!0;return!1}case"record":return I0($.keyType,Y)||I0($.valueType,Y);case"map":return I0($.keyType,Y)||I0($.valueType,Y);case"set":return I0($.valueType,Y);case"promise":case"optional":case"nonoptional":case"nullable":case"readonly":return I0($.innerType,Y);case"lazy":return I0($.getter(),Y);case"default":return I0($.innerType,Y);case"prefault":return I0($.innerType,Y);case"custom":return!1;case"transform":return!0;case"pipe":return I0($.in,Y)||I0($.out,Y);case"success":return!1;case"catch":return!1;default:}throw Error(`Unknown schema type: ${$.type}`)}var Mj=j("ZodMiniType",(Q,X)=>{if(!Q._zod)throw Error("Uninitialized schema in ZodMiniType.");G0.init(Q,X),Q.def=X,Q.parse=(Y,W)=>dY(Q,Y,W,{callee:Q.parse}),Q.safeParse=(Y,W)=>i6(Q,Y,W),Q.parseAsync=async(Y,W)=>nY(Q,Y,W,{callee:Q.parseAsync}),Q.safeParseAsync=async(Y,W)=>n6(Q,Y,W),Q.check=(...Y)=>{return Q.clone({...X,checks:[...X.checks??[],...Y.map((W)=>typeof W==="function"?{_zod:{check:W,def:{check:"custom"},onattach:[]}}:W)]})},Q.clone=(Y,W)=>a0(Q,Y,W),Q.brand=()=>Q,Q.register=(Y,W)=>{return Y.add(Q,W),Q}});var Nj=j("ZodMiniObject",(Q,X)=>{JQ.init(Q,X),Mj.init(Q,X),a.defineLazy(Q,"shape",()=>X.shape)});function _7(Q,X){let Y={type:"object",get shape(){return a.assignProp(this,"shape",{...Q}),this.shape},...a.normalizeParams(X)};return new Nj(Y)}function s0(Q){return!!Q._zod}function r6(Q){let X=Object.values(Q);if(X.length===0)return _7({});let Y=X.every(s0),W=X.every(($)=>!s0($));if(Y)return _7(Q);if(W)return _Y(Q);throw Error("Mixed Zod versions detected in object shape.")}function c0(Q,X){if(s0(Q))return i6(Q,X);return Q.safeParse(X)}async function qQ(Q,X){if(s0(Q))return await n6(Q,X);return await Q.safeParseAsync(X)}function m1(Q){if(!Q)return;let X;if(s0(Q))X=Q._zod?.def?.shape;else X=Q.shape;if(!X)return;if(typeof X==="function")try{return X()}catch{return}return X}function C9(Q){if(!Q)return;if(typeof Q==="object"){let X=Q,Y=Q;if(!X._def&&!Y._zod){let W=Object.values(Q);if(W.length>0&&W.every(($)=>typeof $==="object"&&$!==null&&($._def!==void 0||$._zod!==void 0||typeof $.parse==="function")))return r6(Q)}}if(s0(Q)){let Y=Q._zod?.def;if(Y&&(Y.type==="object"||Y.shape!==void 0))return Q}else if(Q.shape!==void 0)return Q;return}function AQ(Q){if(Q&&typeof Q==="object"){if("message"in Q&&typeof Q.message==="string")return Q.message;if("issues"in Q&&Array.isArray(Q.issues)&&Q.issues.length>0){let X=Q.issues[0];if(X&&typeof X==="object"&&"message"in X)return String(X.message)}try{return JSON.stringify(Q)}catch{return String(Q)}}return String(Q)}function PH(Q){return Q.description}function ZH(Q){if(s0(Q))return Q._zod?.def?.type==="optional";let X=Q;if(typeof Q.isOptional==="function")return Q.isOptional();return X._def?.typeName==="ZodOptional"}function DQ(Q){if(s0(Q)){let J=Q._zod?.def;if(J){if(J.value!==void 0)return J.value;if(Array.isArray(J.values)&&J.values.length>0)return J.values[0]}}let Y=Q._def;if(Y){if(Y.value!==void 0)return Y.value;if(Array.isArray(Y.values)&&Y.values.length>0)return Y.values[0]}let W=Q.value;if(W!==void 0)return W;return}var T4={};c8(T4,{time:()=>g7,duration:()=>f7,datetime:()=>x7,date:()=>y7,ZodISOTime:()=>SH,ZodISODuration:()=>IH,ZodISODateTime:()=>RH,ZodISODate:()=>EH});var RH=j("ZodISODateTime",(Q,X)=>{GH.init(Q,X),O0.init(Q,X)});function x7(Q){return AH(RH,Q)}var EH=j("ZodISODate",(Q,X)=>{HH.init(Q,X),O0.init(Q,X)});function y7(Q){return DH(EH,Q)}var SH=j("ZodISOTime",(Q,X)=>{BH.init(Q,X),O0.init(Q,X)});function g7(Q){return LH(SH,Q)}var IH=j("ZodISODuration",(Q,X)=>{zH.init(Q,X),O0.init(Q,X)});function f7(Q){return OH(IH,Q)}var CH=(Q,X)=>{QQ.init(Q,X),Q.name="ZodError",Object.defineProperties(Q,{format:{value:(Y)=>YQ(Q,Y)},flatten:{value:(Y)=>XQ(Q,Y)},addIssue:{value:(Y)=>Q.issues.push(Y)},addIssues:{value:(Y)=>Q.issues.push(...Y)},isEmpty:{get(){return Q.issues.length===0}}})},tf=j("ZodError",CH),C4=j("ZodError",CH,{Parent:Error});var kH=pY(C4),vH=iY(C4),_H=oY(C4),xH=rY(C4);var q0=j("ZodType",(Q,X)=>{return G0.init(Q,X),Q.def=X,Object.defineProperty(Q,"_def",{value:X}),Q.check=(...Y)=>{return Q.clone({...X,checks:[...X.checks??[],...Y.map((W)=>typeof W==="function"?{_zod:{check:W,def:{check:"custom"},onattach:[]}}:W)]})},Q.clone=(Y,W)=>a0(Q,Y,W),Q.brand=()=>Q,Q.register=(Y,W)=>{return Y.add(Q,W),Q},Q.parse=(Y,W)=>kH(Q,Y,W,{callee:Q.parse}),Q.safeParse=(Y,W)=>_H(Q,Y,W),Q.parseAsync=async(Y,W)=>vH(Q,Y,W,{callee:Q.parseAsync}),Q.safeParseAsync=async(Y,W)=>xH(Q,Y,W),Q.spa=Q.safeParseAsync,Q.refine=(Y,W)=>Q.check(ww(Y,W)),Q.superRefine=(Y)=>Q.check(Mw(Y)),Q.overwrite=(Y)=>Q.check(o6(Y)),Q.optional=()=>b0(Q),Q.nullable=()=>fH(Q),Q.nullish=()=>b0(fH(Q)),Q.nonoptional=(Y)=>qw(Q,Y),Q.array=()=>E(Q),Q.or=(Y)=>A0([Q,Y]),Q.and=(Y)=>UQ(Q,Y),Q.transform=(Y)=>u7(Q,nH(Y)),Q.default=(Y)=>Kw(Q,Y),Q.prefault=(Y)=>Vw(Q,Y),Q.catch=(Y)=>Dw(Q,Y),Q.pipe=(Y)=>u7(Q,Y),Q.readonly=()=>Uw(Q),Q.describe=(Y)=>{let W=Q.clone();return t1.add(W,{description:Y}),W},Object.defineProperty(Q,"description",{get(){return t1.get(Q)?.description},configurable:!0}),Q.meta=(...Y)=>{if(Y.length===0)return t1.get(Q);let W=Q.clone();return t1.add(W,Y[0]),W},Q.isOptional=()=>Q.safeParse(void 0).success,Q.isNullable=()=>Q.safeParse(null).success,Q}),hH=j("_ZodString",(Q,X)=>{S4.init(Q,X),q0.init(Q,X);let Y=Q._zod.bag;Q.format=Y.format??null,Q.minLength=Y.minimum??null,Q.maxLength=Y.maximum??null,Q.regex=(...W)=>Q.check(M7(...W)),Q.includes=(...W)=>Q.check(P7(...W)),Q.startsWith=(...W)=>Q.check(Z7(...W)),Q.endsWith=(...W)=>Q.check(R7(...W)),Q.min=(...W)=>Q.check(T9(...W)),Q.max=(...W)=>Q.check(KQ(...W)),Q.length=(...W)=>Q.check(FQ(...W)),Q.nonempty=(...W)=>Q.check(T9(1,...W)),Q.lowercase=(W)=>Q.check(N7(W)),Q.uppercase=(W)=>Q.check(b7(W)),Q.trim=()=>Q.check(S7()),Q.normalize=(...W)=>Q.check(E7(...W)),Q.toLowerCase=()=>Q.check(I7()),Q.toUpperCase=()=>Q.check(T7())}),l7=j("ZodString",(Q,X)=>{S4.init(Q,X),hH.init(Q,X),Q.email=(Y)=>Q.check(oW(_j,Y)),Q.url=(Y)=>Q.check(zQ(uH,Y)),Q.jwt=(Y)=>Q.check(q7(rj,Y)),Q.emoji=(Y)=>Q.check(eW(xj,Y)),Q.guid=(Y)=>Q.check(BQ(yH,Y)),Q.uuid=(Y)=>Q.check(rW(LQ,Y)),Q.uuidv4=(Y)=>Q.check(tW(LQ,Y)),Q.uuidv6=(Y)=>Q.check(aW(LQ,Y)),Q.uuidv7=(Y)=>Q.check(sW(LQ,Y)),Q.nanoid=(Y)=>Q.check(Q7(yj,Y)),Q.guid=(Y)=>Q.check(BQ(yH,Y)),Q.cuid=(Y)=>Q.check(X7(gj,Y)),Q.cuid2=(Y)=>Q.check(Y7(fj,Y)),Q.ulid=(Y)=>Q.check(W7(hj,Y)),Q.base64=(Y)=>Q.check(K7(ij,Y)),Q.base64url=(Y)=>Q.check(F7(nj,Y)),Q.xid=(Y)=>Q.check($7(uj,Y)),Q.ksuid=(Y)=>Q.check(J7(lj,Y)),Q.ipv4=(Y)=>Q.check(G7(mj,Y)),Q.ipv6=(Y)=>Q.check(H7(cj,Y)),Q.cidrv4=(Y)=>Q.check(B7(pj,Y)),Q.cidrv6=(Y)=>Q.check(z7(dj,Y)),Q.e164=(Y)=>Q.check(V7(oj,Y)),Q.datetime=(Y)=>Q.check(x7(Y)),Q.date=(Y)=>Q.check(y7(Y)),Q.time=(Y)=>Q.check(g7(Y)),Q.duration=(Y)=>Q.check(f7(Y))});function U(Q){return nW(l7,Q)}var O0=j("ZodStringFormat",(Q,X)=>{V0.init(Q,X),hH.init(Q,X)}),_j=j("ZodEmail",(Q,X)=>{$W.init(Q,X),O0.init(Q,X)});var yH=j("ZodGUID",(Q,X)=>{YW.init(Q,X),O0.init(Q,X)});var LQ=j("ZodUUID",(Q,X)=>{WW.init(Q,X),O0.init(Q,X)});var uH=j("ZodURL",(Q,X)=>{JW.init(Q,X),O0.init(Q,X)});function lH(Q){return zQ(uH,Q)}var xj=j("ZodEmoji",(Q,X)=>{GW.init(Q,X),O0.init(Q,X)});var yj=j("ZodNanoID",(Q,X)=>{HW.init(Q,X),O0.init(Q,X)});var gj=j("ZodCUID",(Q,X)=>{BW.init(Q,X),O0.init(Q,X)});var fj=j("ZodCUID2",(Q,X)=>{zW.init(Q,X),O0.init(Q,X)});var hj=j("ZodULID",(Q,X)=>{KW.init(Q,X),O0.init(Q,X)});var uj=j("ZodXID",(Q,X)=>{FW.init(Q,X),O0.init(Q,X)});var lj=j("ZodKSUID",(Q,X)=>{VW.init(Q,X),O0.init(Q,X)});var mj=j("ZodIPv4",(Q,X)=>{qW.init(Q,X),O0.init(Q,X)});var cj=j("ZodIPv6",(Q,X)=>{AW.init(Q,X),O0.init(Q,X)});var pj=j("ZodCIDRv4",(Q,X)=>{DW.init(Q,X),O0.init(Q,X)});var dj=j("ZodCIDRv6",(Q,X)=>{LW.init(Q,X),O0.init(Q,X)});var ij=j("ZodBase64",(Q,X)=>{OW.init(Q,X),O0.init(Q,X)});var nj=j("ZodBase64URL",(Q,X)=>{UW.init(Q,X),O0.init(Q,X)});var oj=j("ZodE164",(Q,X)=>{jW.init(Q,X),O0.init(Q,X)});var rj=j("ZodJWT",(Q,X)=>{wW.init(Q,X),O0.init(Q,X)});var OQ=j("ZodNumber",(Q,X)=>{$Q.init(Q,X),q0.init(Q,X),Q.gt=(W,$)=>Q.check(I9(W,$)),Q.gte=(W,$)=>Q.check(N1(W,$)),Q.min=(W,$)=>Q.check(N1(W,$)),Q.lt=(W,$)=>Q.check(S9(W,$)),Q.lte=(W,$)=>Q.check(a1(W,$)),Q.max=(W,$)=>Q.check(a1(W,$)),Q.int=(W)=>Q.check(gH(W)),Q.safe=(W)=>Q.check(gH(W)),Q.positive=(W)=>Q.check(I9(0,W)),Q.nonnegative=(W)=>Q.check(N1(0,W)),Q.negative=(W)=>Q.check(S9(0,W)),Q.nonpositive=(W)=>Q.check(a1(0,W)),Q.multipleOf=(W,$)=>Q.check(I4(W,$)),Q.step=(W,$)=>Q.check(I4(W,$)),Q.finite=()=>Q;let Y=Q._zod.bag;Q.minValue=Math.max(Y.minimum??Number.NEGATIVE_INFINITY,Y.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,Q.maxValue=Math.min(Y.maximum??Number.POSITIVE_INFINITY,Y.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,Q.isInt=(Y.format??"").includes("int")||Number.isSafeInteger(Y.multipleOf??0.5),Q.isFinite=!0,Q.format=Y.format??null});function J0(Q){return A7(OQ,Q)}var tj=j("ZodNumberFormat",(Q,X)=>{MW.init(Q,X),OQ.init(Q,X)});function gH(Q){return D7(tj,Q)}var m7=j("ZodBoolean",(Q,X)=>{NW.init(Q,X),q0.init(Q,X)});function H0(Q){return L7(m7,Q)}var mH=j("ZodBigInt",(Q,X)=>{bW.init(Q,X),q0.init(Q,X),Q.gte=(W,$)=>Q.check(N1(W,$)),Q.min=(W,$)=>Q.check(N1(W,$)),Q.gt=(W,$)=>Q.check(I9(W,$)),Q.gte=(W,$)=>Q.check(N1(W,$)),Q.min=(W,$)=>Q.check(N1(W,$)),Q.lt=(W,$)=>Q.check(S9(W,$)),Q.lte=(W,$)=>Q.check(a1(W,$)),Q.max=(W,$)=>Q.check(a1(W,$)),Q.positive=(W)=>Q.check(I9(BigInt(0),W)),Q.negative=(W)=>Q.check(S9(BigInt(0),W)),Q.nonpositive=(W)=>Q.check(a1(BigInt(0),W)),Q.nonnegative=(W)=>Q.check(N1(BigInt(0),W)),Q.multipleOf=(W,$)=>Q.check(I4(W,$));let Y=Q._zod.bag;Q.minValue=Y.minimum??null,Q.maxValue=Y.maximum??null,Q.format=Y.format??null});var aj=j("ZodNull",(Q,X)=>{PW.init(Q,X),q0.init(Q,X)});function c7(Q){return O7(aj,Q)}var sj=j("ZodAny",(Q,X)=>{ZW.init(Q,X),q0.init(Q,X)});function cH(){return U7(sj)}var ej=j("ZodUnknown",(Q,X)=>{RW.init(Q,X),q0.init(Q,X)});function U0(){return j7(ej)}var Qw=j("ZodNever",(Q,X)=>{EW.init(Q,X),q0.init(Q,X)});function Xw(Q){return w7(Qw,Q)}var pH=j("ZodDate",(Q,X)=>{SW.init(Q,X),q0.init(Q,X),Q.min=(W,$)=>Q.check(N1(W,$)),Q.max=(W,$)=>Q.check(a1(W,$));let Y=Q._zod.bag;Q.minDate=Y.minimum?new Date(Y.minimum):null,Q.maxDate=Y.maximum?new Date(Y.maximum):null});var Yw=j("ZodArray",(Q,X)=>{IW.init(Q,X),q0.init(Q,X),Q.element=X.element,Q.min=(Y,W)=>Q.check(T9(Y,W)),Q.nonempty=(Y)=>Q.check(T9(1,Y)),Q.max=(Y,W)=>Q.check(KQ(Y,W)),Q.length=(Y,W)=>Q.check(FQ(Y,W)),Q.unwrap=()=>Q.element});function E(Q,X){return NH(Yw,Q,X)}var dH=j("ZodObject",(Q,X)=>{JQ.init(Q,X),q0.init(Q,X),a.defineLazy(Q,"shape",()=>X.shape),Q.keyof=()=>e0(Object.keys(Q._zod.def.shape)),Q.catchall=(Y)=>Q.clone({...Q._zod.def,catchall:Y}),Q.passthrough=()=>Q.clone({...Q._zod.def,catchall:U0()}),Q.loose=()=>Q.clone({...Q._zod.def,catchall:U0()}),Q.strict=()=>Q.clone({...Q._zod.def,catchall:Xw()}),Q.strip=()=>Q.clone({...Q._zod.def,catchall:void 0}),Q.extend=(Y)=>{return a.extend(Q,Y)},Q.merge=(Y)=>a.merge(Q,Y),Q.pick=(Y)=>a.pick(Q,Y),Q.omit=(Y)=>a.omit(Q,Y),Q.partial=(...Y)=>a.partial(oH,Q,Y[0]),Q.required=(...Y)=>a.required(rH,Q,Y[0])});function I(Q,X){let Y={type:"object",get shape(){return a.assignProp(this,"shape",{...Q}),this.shape},...a.normalizeParams(X)};return new dH(Y)}function T0(Q,X){return new dH({type:"object",get shape(){return a.assignProp(this,"shape",{...Q}),this.shape},catchall:U0(),...a.normalizeParams(X)})}var iH=j("ZodUnion",(Q,X)=>{GQ.init(Q,X),q0.init(Q,X),Q.options=X.options});function A0(Q,X){return new iH({type:"union",options:Q,...a.normalizeParams(X)})}var Ww=j("ZodDiscriminatedUnion",(Q,X)=>{iH.init(Q,X),TW.init(Q,X)});function p7(Q,X,Y){return new Ww({type:"union",options:X,discriminator:Q,...a.normalizeParams(Y)})}var $w=j("ZodIntersection",(Q,X)=>{CW.init(Q,X),q0.init(Q,X)});function UQ(Q,X){return new $w({type:"intersection",left:Q,right:X})}var Jw=j("ZodRecord",(Q,X)=>{kW.init(Q,X),q0.init(Q,X),Q.keyType=X.keyType,Q.valueType=X.valueType});function j0(Q,X,Y){return new Jw({type:"record",keyType:Q,valueType:X,...a.normalizeParams(Y)})}var h7=j("ZodEnum",(Q,X)=>{vW.init(Q,X),q0.init(Q,X),Q.enum=X.entries,Q.options=Object.values(X.entries);let Y=new Set(Object.keys(X.entries));Q.extract=(W,$)=>{let J={};for(let G of W)if(Y.has(G))J[G]=X.entries[G];else throw Error(`Key ${G} not found in enum`);return new h7({...X,checks:[],...a.normalizeParams($),entries:J})},Q.exclude=(W,$)=>{let J={...X.entries};for(let G of W)if(Y.has(G))delete J[G];else throw Error(`Key ${G} not found in enum`);return new h7({...X,checks:[],...a.normalizeParams($),entries:J})}});function e0(Q,X){let Y=Array.isArray(Q)?Object.fromEntries(Q.map((W)=>[W,W])):Q;return new h7({type:"enum",entries:Y,...a.normalizeParams(X)})}var Gw=j("ZodLiteral",(Q,X)=>{_W.init(Q,X),q0.init(Q,X),Q.values=new Set(X.values),Object.defineProperty(Q,"value",{get(){if(X.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return X.values[0]}})});function _(Q,X){return new Gw({type:"literal",values:Array.isArray(Q)?Q:[Q],...a.normalizeParams(X)})}var Hw=j("ZodTransform",(Q,X)=>{xW.init(Q,X),q0.init(Q,X),Q._zod.parse=(Y,W)=>{Y.addIssue=(J)=>{if(typeof J==="string")Y.issues.push(a.issue(J,Y.value,X));else{let G=J;if(G.fatal)G.continue=!1;G.code??(G.code="custom"),G.input??(G.input=Y.value),G.inst??(G.inst=Q),G.continue??(G.continue=!0),Y.issues.push(a.issue(G))}};let $=X.transform(Y.value,Y);if($ instanceof Promise)return $.then((J)=>{return Y.value=J,Y});return Y.value=$,Y}});function nH(Q){return new Hw({type:"transform",transform:Q})}var oH=j("ZodOptional",(Q,X)=>{yW.init(Q,X),q0.init(Q,X),Q.unwrap=()=>Q._zod.def.innerType});function b0(Q){return new oH({type:"optional",innerType:Q})}var Bw=j("ZodNullable",(Q,X)=>{gW.init(Q,X),q0.init(Q,X),Q.unwrap=()=>Q._zod.def.innerType});function fH(Q){return new Bw({type:"nullable",innerType:Q})}var zw=j("ZodDefault",(Q,X)=>{fW.init(Q,X),q0.init(Q,X),Q.unwrap=()=>Q._zod.def.innerType,Q.removeDefault=Q.unwrap});function Kw(Q,X){return new zw({type:"default",innerType:Q,get defaultValue(){return typeof X==="function"?X():X}})}var Fw=j("ZodPrefault",(Q,X)=>{hW.init(Q,X),q0.init(Q,X),Q.unwrap=()=>Q._zod.def.innerType});function Vw(Q,X){return new Fw({type:"prefault",innerType:Q,get defaultValue(){return typeof X==="function"?X():X}})}var rH=j("ZodNonOptional",(Q,X)=>{uW.init(Q,X),q0.init(Q,X),Q.unwrap=()=>Q._zod.def.innerType});function qw(Q,X){return new rH({type:"nonoptional",innerType:Q,...a.normalizeParams(X)})}var Aw=j("ZodCatch",(Q,X)=>{lW.init(Q,X),q0.init(Q,X),Q.unwrap=()=>Q._zod.def.innerType,Q.removeCatch=Q.unwrap});function Dw(Q,X){return new Aw({type:"catch",innerType:Q,catchValue:typeof X==="function"?X:()=>X})}var Lw=j("ZodPipe",(Q,X)=>{mW.init(Q,X),q0.init(Q,X),Q.in=X.in,Q.out=X.out});function u7(Q,X){return new Lw({type:"pipe",in:Q,out:X})}var Ow=j("ZodReadonly",(Q,X)=>{cW.init(Q,X),q0.init(Q,X)});function Uw(Q){return new Ow({type:"readonly",innerType:Q})}var tH=j("ZodCustom",(Q,X)=>{pW.init(Q,X),q0.init(Q,X)});function jw(Q){let X=new k0({check:"custom"});return X._zod.check=Q,X}function aH(Q,X){return C7(tH,Q??(()=>!0),X)}function ww(Q,X={}){return k7(tH,Q,X)}function Mw(Q){let X=jw((Y)=>{return Y.addIssue=(W)=>{if(typeof W==="string")Y.issues.push(a.issue(W,Y.value,X._zod.def));else{let $=W;if($.fatal)$.continue=!1;$.code??($.code="custom"),$.input??($.input=Y.value),$.inst??($.inst=X),$.continue??($.continue=!X._zod.def.abort),Y.issues.push(a.issue($))}},Q(Y.value,Y)});return X}function d7(Q,X){return u7(nH(Q),X)}var sH={invalid_type:"invalid_type",too_big:"too_big",too_small:"too_small",invalid_format:"invalid_format",not_multiple_of:"not_multiple_of",unrecognized_keys:"unrecognized_keys",invalid_union:"invalid_union",invalid_key:"invalid_key",invalid_element:"invalid_element",invalid_value:"invalid_value",custom:"custom"};var jQ={};c8(jQ,{string:()=>Nw,number:()=>bw,date:()=>Rw,boolean:()=>Pw,bigint:()=>Zw});function Nw(Q){return qH(l7,Q)}function bw(Q){return UH(OQ,Q)}function Pw(Q){return jH(m7,Q)}function Zw(Q){return wH(mH,Q)}function Rw(Q){return MH(pH,Q)}t0(dW());var O6="2025-11-25";var MQ=[O6,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],U6="io.modelcontextprotocol/related-task",NQ="2.0",v0=aH((Q)=>Q!==null&&(typeof Q==="object"||typeof Q==="function")),eH=A0([U(),J0().int()]),Q3=U(),Kh=T0({ttl:A0([J0(),c7()]).optional(),pollInterval:J0().optional()}),Sw=I({ttl:J0().optional()}),Iw=I({taskId:U()}),i7=T0({progressToken:eH.optional(),[U6]:Iw.optional()}),z1=I({_meta:i7.optional()}),k4=z1.extend({task:Sw.optional()}),X3=(Q)=>k4.safeParse(Q).success,_0=I({method:U(),params:z1.loose().optional()}),K1=I({_meta:i7.optional()}),F1=I({method:U(),params:K1.loose().optional()}),x0=T0({_meta:i7.optional()}),bQ=A0([U(),J0().int()]),Y3=I({jsonrpc:_(NQ),id:bQ,..._0.shape}).strict(),v4=(Q)=>Y3.safeParse(Q).success,W3=I({jsonrpc:_(NQ),...F1.shape}).strict(),$3=(Q)=>W3.safeParse(Q).success,n7=I({jsonrpc:_(NQ),id:bQ,result:x0}).strict(),t6=(Q)=>n7.safeParse(Q).success;var k;(function(Q){Q[Q.ConnectionClosed=-32000]="ConnectionClosed",Q[Q.RequestTimeout=-32001]="RequestTimeout",Q[Q.ParseError=-32700]="ParseError",Q[Q.InvalidRequest=-32600]="InvalidRequest",Q[Q.MethodNotFound=-32601]="MethodNotFound",Q[Q.InvalidParams=-32602]="InvalidParams",Q[Q.InternalError=-32603]="InternalError",Q[Q.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(k||(k={}));var o7=I({jsonrpc:_(NQ),id:bQ.optional(),error:I({code:J0().int(),message:U(),data:U0().optional()})}).strict();var J3=(Q)=>o7.safeParse(Q).success;var v9=A0([Y3,W3,n7,o7]),Fh=A0([n7,o7]),s1=x0.strict(),Tw=K1.extend({requestId:bQ.optional(),reason:U().optional()}),PQ=F1.extend({method:_("notifications/cancelled"),params:Tw}),Cw=I({src:U(),mimeType:U().optional(),sizes:E(U()).optional(),theme:e0(["light","dark"]).optional()}),_4=I({icons:E(Cw).optional()}),k9=I({name:U(),title:U().optional()}),G3=k9.extend({...k9.shape,..._4.shape,version:U(),websiteUrl:U().optional(),description:U().optional()}),kw=UQ(I({applyDefaults:H0().optional()}),j0(U(),U0())),vw=d7((Q)=>{if(Q&&typeof Q==="object"&&!Array.isArray(Q)){if(Object.keys(Q).length===0)return{form:{}}}return Q},UQ(I({form:kw.optional(),url:v0.optional()}),j0(U(),U0()).optional())),_w=T0({list:v0.optional(),cancel:v0.optional(),requests:T0({sampling:T0({createMessage:v0.optional()}).optional(),elicitation:T0({create:v0.optional()}).optional()}).optional()}),xw=T0({list:v0.optional(),cancel:v0.optional(),requests:T0({tools:T0({call:v0.optional()}).optional()}).optional()}),yw=I({experimental:j0(U(),v0).optional(),sampling:I({context:v0.optional(),tools:v0.optional()}).optional(),elicitation:vw.optional(),roots:I({listChanged:H0().optional()}).optional(),tasks:_w.optional()}),gw=z1.extend({protocolVersion:U(),capabilities:yw,clientInfo:G3}),r7=_0.extend({method:_("initialize"),params:gw});var fw=I({experimental:j0(U(),v0).optional(),logging:v0.optional(),completions:v0.optional(),prompts:I({listChanged:H0().optional()}).optional(),resources:I({subscribe:H0().optional(),listChanged:H0().optional()}).optional(),tools:I({listChanged:H0().optional()}).optional(),tasks:xw.optional()}),t7=x0.extend({protocolVersion:U(),capabilities:fw,serverInfo:G3,instructions:U().optional()}),ZQ=F1.extend({method:_("notifications/initialized"),params:K1.optional()}),H3=(Q)=>ZQ.safeParse(Q).success,RQ=_0.extend({method:_("ping"),params:z1.optional()}),hw=I({progress:J0(),total:b0(J0()),message:b0(U())}),uw=I({...K1.shape,...hw.shape,progressToken:eH}),EQ=F1.extend({method:_("notifications/progress"),params:uw}),lw=z1.extend({cursor:Q3.optional()}),x4=_0.extend({params:lw.optional()}),y4=x0.extend({nextCursor:Q3.optional()}),mw=e0(["working","input_required","completed","failed","cancelled"]),g4=I({taskId:U(),status:mw,ttl:A0([J0(),c7()]),createdAt:U(),lastUpdatedAt:U(),pollInterval:b0(J0()),statusMessage:b0(U())}),e1=x0.extend({task:g4}),cw=K1.merge(g4),f4=F1.extend({method:_("notifications/tasks/status"),params:cw}),SQ=_0.extend({method:_("tasks/get"),params:z1.extend({taskId:U()})}),IQ=x0.merge(g4),TQ=_0.extend({method:_("tasks/result"),params:z1.extend({taskId:U()})}),Vh=x0.loose(),CQ=x4.extend({method:_("tasks/list")}),kQ=y4.extend({tasks:E(g4)}),vQ=_0.extend({method:_("tasks/cancel"),params:z1.extend({taskId:U()})}),B3=x0.merge(g4),z3=I({uri:U(),mimeType:b0(U()),_meta:j0(U(),U0()).optional()}),K3=z3.extend({text:U()}),a7=U().refine((Q)=>{try{return atob(Q),!0}catch{return!1}},{message:"Invalid Base64 string"}),F3=z3.extend({blob:a7}),h4=e0(["user","assistant"]),_9=I({audience:E(h4).optional(),priority:J0().min(0).max(1).optional(),lastModified:T4.datetime({offset:!0}).optional()}),V3=I({...k9.shape,..._4.shape,uri:U(),description:b0(U()),mimeType:b0(U()),annotations:_9.optional(),_meta:b0(T0({}))}),pw=I({...k9.shape,..._4.shape,uriTemplate:U(),description:b0(U()),mimeType:b0(U()),annotations:_9.optional(),_meta:b0(T0({}))}),_Q=x4.extend({method:_("resources/list")}),s7=y4.extend({resources:E(V3)}),xQ=x4.extend({method:_("resources/templates/list")}),e7=y4.extend({resourceTemplates:E(pw)}),Q5=z1.extend({uri:U()}),dw=Q5,yQ=_0.extend({method:_("resources/read"),params:dw}),X5=x0.extend({contents:E(A0([K3,F3]))}),u4=F1.extend({method:_("notifications/resources/list_changed"),params:K1.optional()}),iw=Q5,nw=_0.extend({method:_("resources/subscribe"),params:iw}),ow=Q5,rw=_0.extend({method:_("resources/unsubscribe"),params:ow}),tw=K1.extend({uri:U()}),Y5=F1.extend({method:_("notifications/resources/updated"),params:tw}),aw=I({name:U(),description:b0(U()),required:b0(H0())}),sw=I({...k9.shape,..._4.shape,description:b0(U()),arguments:b0(E(aw)),_meta:b0(T0({}))}),gQ=x4.extend({method:_("prompts/list")}),W5=y4.extend({prompts:E(sw)}),ew=z1.extend({name:U(),arguments:j0(U(),U()).optional()}),fQ=_0.extend({method:_("prompts/get"),params:ew}),$5=I({type:_("text"),text:U(),annotations:_9.optional(),_meta:j0(U(),U0()).optional()}),J5=I({type:_("image"),data:a7,mimeType:U(),annotations:_9.optional(),_meta:j0(U(),U0()).optional()}),G5=I({type:_("audio"),data:a7,mimeType:U(),annotations:_9.optional(),_meta:j0(U(),U0()).optional()}),QM=I({type:_("tool_use"),name:U(),id:U(),input:j0(U(),U0()),_meta:j0(U(),U0()).optional()}),XM=I({type:_("resource"),resource:A0([K3,F3]),annotations:_9.optional(),_meta:j0(U(),U0()).optional()}),YM=V3.extend({type:_("resource_link")}),H5=A0([$5,J5,G5,YM,XM]),WM=I({role:h4,content:H5}),B5=x0.extend({description:U().optional(),messages:E(WM)}),l4=F1.extend({method:_("notifications/prompts/list_changed"),params:K1.optional()}),$M=I({title:U().optional(),readOnlyHint:H0().optional(),destructiveHint:H0().optional(),idempotentHint:H0().optional(),openWorldHint:H0().optional()}),JM=I({taskSupport:e0(["required","optional","forbidden"]).optional()}),q3=I({...k9.shape,..._4.shape,description:U().optional(),inputSchema:I({type:_("object"),properties:j0(U(),v0).optional(),required:E(U()).optional()}).catchall(U0()),outputSchema:I({type:_("object"),properties:j0(U(),v0).optional(),required:E(U()).optional()}).catchall(U0()).optional(),annotations:$M.optional(),execution:JM.optional(),_meta:j0(U(),U0()).optional()}),hQ=x4.extend({method:_("tools/list")}),z5=y4.extend({tools:E(q3)}),j6=x0.extend({content:E(H5).default([]),structuredContent:j0(U(),U0()).optional(),isError:H0().optional()}),qh=j6.or(x0.extend({toolResult:U0()})),GM=k4.extend({name:U(),arguments:j0(U(),U0()).optional()}),x9=_0.extend({method:_("tools/call"),params:GM}),m4=F1.extend({method:_("notifications/tools/list_changed"),params:K1.optional()}),A3=I({autoRefresh:H0().default(!0),debounceMs:J0().int().nonnegative().default(300)}),c4=e0(["debug","info","notice","warning","error","critical","alert","emergency"]),HM=z1.extend({level:c4}),K5=_0.extend({method:_("logging/setLevel"),params:HM}),BM=K1.extend({level:c4,logger:U().optional(),data:U0()}),F5=F1.extend({method:_("notifications/message"),params:BM}),zM=I({name:U().optional()}),KM=I({hints:E(zM).optional(),costPriority:J0().min(0).max(1).optional(),speedPriority:J0().min(0).max(1).optional(),intelligencePriority:J0().min(0).max(1).optional()}),FM=I({mode:e0(["auto","required","none"]).optional()}),VM=I({type:_("tool_result"),toolUseId:U().describe("The unique identifier for the corresponding tool call."),content:E(H5).default([]),structuredContent:I({}).loose().optional(),isError:H0().optional(),_meta:j0(U(),U0()).optional()}),qM=p7("type",[$5,J5,G5]),wQ=p7("type",[$5,J5,G5,QM,VM]),AM=I({role:h4,content:A0([wQ,E(wQ)]),_meta:j0(U(),U0()).optional()}),DM=k4.extend({messages:E(AM),modelPreferences:KM.optional(),systemPrompt:U().optional(),includeContext:e0(["none","thisServer","allServers"]).optional(),temperature:J0().optional(),maxTokens:J0().int(),stopSequences:E(U()).optional(),metadata:v0.optional(),tools:E(q3).optional(),toolChoice:FM.optional()}),p4=_0.extend({method:_("sampling/createMessage"),params:DM}),d4=x0.extend({model:U(),stopReason:b0(e0(["endTurn","stopSequence","maxTokens"]).or(U())),role:h4,content:qM}),V5=x0.extend({model:U(),stopReason:b0(e0(["endTurn","stopSequence","maxTokens","toolUse"]).or(U())),role:h4,content:A0([wQ,E(wQ)])}),LM=I({type:_("boolean"),title:U().optional(),description:U().optional(),default:H0().optional()}),OM=I({type:_("string"),title:U().optional(),description:U().optional(),minLength:J0().optional(),maxLength:J0().optional(),format:e0(["email","uri","date","date-time"]).optional(),default:U().optional()}),UM=I({type:e0(["number","integer"]),title:U().optional(),description:U().optional(),minimum:J0().optional(),maximum:J0().optional(),default:J0().optional()}),jM=I({type:_("string"),title:U().optional(),description:U().optional(),enum:E(U()),default:U().optional()}),wM=I({type:_("string"),title:U().optional(),description:U().optional(),oneOf:E(I({const:U(),title:U()})),default:U().optional()}),MM=I({type:_("string"),title:U().optional(),description:U().optional(),enum:E(U()),enumNames:E(U()).optional(),default:U().optional()}),NM=A0([jM,wM]),bM=I({type:_("array"),title:U().optional(),description:U().optional(),minItems:J0().optional(),maxItems:J0().optional(),items:I({type:_("string"),enum:E(U())}),default:E(U()).optional()}),PM=I({type:_("array"),title:U().optional(),description:U().optional(),minItems:J0().optional(),maxItems:J0().optional(),items:I({anyOf:E(I({const:U(),title:U()}))}),default:E(U()).optional()}),ZM=A0([bM,PM]),RM=A0([MM,NM,ZM]),EM=A0([RM,LM,OM,UM]),SM=k4.extend({mode:_("form").optional(),message:U(),requestedSchema:I({type:_("object"),properties:j0(U(),EM),required:E(U()).optional()})}),IM=k4.extend({mode:_("url"),message:U(),elicitationId:U(),url:U().url()}),TM=A0([SM,IM]),i4=_0.extend({method:_("elicitation/create"),params:TM}),CM=K1.extend({elicitationId:U()}),kM=F1.extend({method:_("notifications/elicitation/complete"),params:CM}),y9=x0.extend({action:e0(["accept","decline","cancel"]),content:d7((Q)=>Q===null?void 0:Q,j0(U(),A0([U(),J0(),H0(),E(U())])).optional())}),vM=I({type:_("ref/resource"),uri:U()});var _M=I({type:_("ref/prompt"),name:U()}),xM=z1.extend({ref:A0([_M,vM]),argument:I({name:U(),value:U()}),context:I({arguments:j0(U(),U()).optional()}).optional()}),uQ=_0.extend({method:_("completion/complete"),params:xM});function D3(Q){if(Q.params.ref.type!=="ref/prompt")throw TypeError(`Expected CompleteRequestPrompt, but got ${Q.params.ref.type}`)}function L3(Q){if(Q.params.ref.type!=="ref/resource")throw TypeError(`Expected CompleteRequestResourceTemplate, but got ${Q.params.ref.type}`)}var q5=x0.extend({completion:T0({values:E(U()).max(100),total:b0(J0().int()),hasMore:b0(H0())})}),yM=I({uri:U().startsWith("file://"),name:U().optional(),_meta:j0(U(),U0()).optional()}),gM=_0.extend({method:_("roots/list"),params:z1.optional()}),A5=x0.extend({roots:E(yM)}),fM=F1.extend({method:_("notifications/roots/list_changed"),params:K1.optional()}),Ah=A0([RQ,r7,uQ,K5,fQ,gQ,_Q,xQ,yQ,nw,rw,x9,hQ,SQ,TQ,CQ,vQ]),Dh=A0([PQ,EQ,ZQ,fM,f4]),Lh=A0([s1,d4,V5,y9,A5,IQ,kQ,e1]),Oh=A0([RQ,p4,i4,gM,SQ,TQ,CQ,vQ]),Uh=A0([PQ,EQ,F5,Y5,u4,m4,l4,f4,kM]),jh=A0([s1,t7,q5,B5,W5,s7,e7,X5,j6,z5,IQ,kQ,e1]);class S extends Error{constructor(Q,X,Y){super(`MCP error ${Q}: ${X}`);this.code=Q,this.data=Y,this.name="McpError"}static fromError(Q,X,Y){if(Q===k.UrlElicitationRequired&&Y){let W=Y;if(W.elicitations)return new O3(W.elicitations,X)}return new S(Q,X,Y)}}class O3 extends S{constructor(Q,X=`URL elicitation${Q.length>1?"s":""} required`){super(k.UrlElicitationRequired,X,{elicitations:Q})}get elicitations(){return this.data?.elicitations??[]}}function w6(Q){return Q==="completed"||Q==="failed"||Q==="cancelled"}var j3=Symbol("Let zodToJsonSchema decide on which parser to use");var U3={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",target:"jsonSchema7",strictUnions:!1,definitions:{},errorMessages:!1,markdownDescription:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref",openAiAnyTypeName:"OpenAiAnyType"},w3=(Q)=>typeof Q==="string"?{...U3,name:Q}:{...U3,...Q};var M3=(Q)=>{let X=w3(Q),Y=X.name!==void 0?[...X.basePath,X.definitionPath,X.name]:X.basePath;return{...X,flags:{hasReferencedOpenAiAnyType:!1},currentPath:Y,propertyPath:void 0,seen:new Map(Object.entries(X.definitions).map(([W,$])=>[$._def,{def:$._def,path:[...X.basePath,X.definitionPath,W],jsonSchema:void 0}]))}};function D5(Q,X,Y,W){if(!W?.errorMessages)return;if(Y)Q.errorMessage={...Q.errorMessage,[X]:Y}}function s(Q,X,Y,W,$){Q[X]=Y,D5(Q,X,W,$)}var lQ=(Q,X)=>{let Y=0;for(;Y<Q.length&&Y<X.length;Y++)if(Q[Y]!==X[Y])break;return[(Q.length-Y).toString(),...X.slice(Y)].join("/")};function w0(Q){if(Q.target!=="openAi")return{};let X=[...Q.basePath,Q.definitionPath,Q.openAiAnyTypeName];return Q.flags.hasReferencedOpenAiAnyType=!0,{$ref:Q.$refStrategy==="relative"?lQ(X,Q.currentPath):X.join("/")}}function N3(Q,X){let Y={type:"array"};if(Q.type?._def&&Q.type?._def?.typeName!==P.ZodAny)Y.items=u(Q.type._def,{...X,currentPath:[...X.currentPath,"items"]});if(Q.minLength)s(Y,"minItems",Q.minLength.value,Q.minLength.message,X);if(Q.maxLength)s(Y,"maxItems",Q.maxLength.value,Q.maxLength.message,X);if(Q.exactLength)s(Y,"minItems",Q.exactLength.value,Q.exactLength.message,X),s(Y,"maxItems",Q.exactLength.value,Q.exactLength.message,X);return Y}function b3(Q,X){let Y={type:"integer",format:"int64"};if(!Q.checks)return Y;for(let W of Q.checks)switch(W.kind){case"min":if(X.target==="jsonSchema7")if(W.inclusive)s(Y,"minimum",W.value,W.message,X);else s(Y,"exclusiveMinimum",W.value,W.message,X);else{if(!W.inclusive)Y.exclusiveMinimum=!0;s(Y,"minimum",W.value,W.message,X)}break;case"max":if(X.target==="jsonSchema7")if(W.inclusive)s(Y,"maximum",W.value,W.message,X);else s(Y,"exclusiveMaximum",W.value,W.message,X);else{if(!W.inclusive)Y.exclusiveMaximum=!0;s(Y,"maximum",W.value,W.message,X)}break;case"multipleOf":s(Y,"multipleOf",W.value,W.message,X);break}return Y}function P3(){return{type:"boolean"}}function mQ(Q,X){return u(Q.type._def,X)}var Z3=(Q,X)=>{return u(Q.innerType._def,X)};function L5(Q,X,Y){let W=Y??X.dateStrategy;if(Array.isArray(W))return{anyOf:W.map(($,J)=>L5(Q,X,$))};switch(W){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return hM(Q,X)}}var hM=(Q,X)=>{let Y={type:"integer",format:"unix-time"};if(X.target==="openApi3")return Y;for(let W of Q.checks)switch(W.kind){case"min":s(Y,"minimum",W.value,W.message,X);break;case"max":s(Y,"maximum",W.value,W.message,X);break}return Y};function R3(Q,X){return{...u(Q.innerType._def,X),default:Q.defaultValue()}}function E3(Q,X){return X.effectStrategy==="input"?u(Q.schema._def,X):w0(X)}function S3(Q){return{type:"string",enum:Array.from(Q.values)}}var uM=(Q)=>{if("type"in Q&&Q.type==="string")return!1;return"allOf"in Q};function I3(Q,X){let Y=[u(Q.left._def,{...X,currentPath:[...X.currentPath,"allOf","0"]}),u(Q.right._def,{...X,currentPath:[...X.currentPath,"allOf","1"]})].filter((J)=>!!J),W=X.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,$=[];return Y.forEach((J)=>{if(uM(J)){if($.push(...J.allOf),J.unevaluatedProperties===void 0)W=void 0}else{let G=J;if("additionalProperties"in J&&J.additionalProperties===!1){let{additionalProperties:H,...B}=J;G=B}else W=void 0;$.push(G)}}),$.length?{allOf:$,...W}:void 0}function T3(Q,X){let Y=typeof Q.value;if(Y!=="bigint"&&Y!=="number"&&Y!=="boolean"&&Y!=="string")return{type:Array.isArray(Q.value)?"array":"object"};if(X.target==="openApi3")return{type:Y==="bigint"?"integer":Y,enum:[Q.value]};return{type:Y==="bigint"?"integer":Y,const:Q.value}}var O5=void 0,b1={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>{if(O5===void 0)O5=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u");return O5},uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv4Cidr:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function cQ(Q,X){let Y={type:"string"};if(Q.checks)for(let W of Q.checks)switch(W.kind){case"min":s(Y,"minLength",typeof Y.minLength==="number"?Math.max(Y.minLength,W.value):W.value,W.message,X);break;case"max":s(Y,"maxLength",typeof Y.maxLength==="number"?Math.min(Y.maxLength,W.value):W.value,W.message,X);break;case"email":switch(X.emailStrategy){case"format:email":P1(Y,"email",W.message,X);break;case"format:idn-email":P1(Y,"idn-email",W.message,X);break;case"pattern:zod":p0(Y,b1.email,W.message,X);break}break;case"url":P1(Y,"uri",W.message,X);break;case"uuid":P1(Y,"uuid",W.message,X);break;case"regex":p0(Y,W.regex,W.message,X);break;case"cuid":p0(Y,b1.cuid,W.message,X);break;case"cuid2":p0(Y,b1.cuid2,W.message,X);break;case"startsWith":p0(Y,RegExp(`^${U5(W.value,X)}`),W.message,X);break;case"endsWith":p0(Y,RegExp(`${U5(W.value,X)}$`),W.message,X);break;case"datetime":P1(Y,"date-time",W.message,X);break;case"date":P1(Y,"date",W.message,X);break;case"time":P1(Y,"time",W.message,X);break;case"duration":P1(Y,"duration",W.message,X);break;case"length":s(Y,"minLength",typeof Y.minLength==="number"?Math.max(Y.minLength,W.value):W.value,W.message,X),s(Y,"maxLength",typeof Y.maxLength==="number"?Math.min(Y.maxLength,W.value):W.value,W.message,X);break;case"includes":{p0(Y,RegExp(U5(W.value,X)),W.message,X);break}case"ip":{if(W.version!=="v6")P1(Y,"ipv4",W.message,X);if(W.version!=="v4")P1(Y,"ipv6",W.message,X);break}case"base64url":p0(Y,b1.base64url,W.message,X);break;case"jwt":p0(Y,b1.jwt,W.message,X);break;case"cidr":{if(W.version!=="v6")p0(Y,b1.ipv4Cidr,W.message,X);if(W.version!=="v4")p0(Y,b1.ipv6Cidr,W.message,X);break}case"emoji":p0(Y,b1.emoji(),W.message,X);break;case"ulid":{p0(Y,b1.ulid,W.message,X);break}case"base64":{switch(X.base64Strategy){case"format:binary":{P1(Y,"binary",W.message,X);break}case"contentEncoding:base64":{s(Y,"contentEncoding","base64",W.message,X);break}case"pattern:zod":{p0(Y,b1.base64,W.message,X);break}}break}case"nanoid":p0(Y,b1.nanoid,W.message,X);case"toLowerCase":case"toUpperCase":case"trim":break;default:(($)=>{})(W)}return Y}function U5(Q,X){return X.patternStrategy==="escape"?mM(Q):Q}var lM=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function mM(Q){let X="";for(let Y=0;Y<Q.length;Y++){if(!lM.has(Q[Y]))X+="\\";X+=Q[Y]}return X}function P1(Q,X,Y,W){if(Q.format||Q.anyOf?.some(($)=>$.format)){if(!Q.anyOf)Q.anyOf=[];if(Q.format){if(Q.anyOf.push({format:Q.format,...Q.errorMessage&&W.errorMessages&&{errorMessage:{format:Q.errorMessage.format}}}),delete Q.format,Q.errorMessage){if(delete Q.errorMessage.format,Object.keys(Q.errorMessage).length===0)delete Q.errorMessage}}Q.anyOf.push({format:X,...Y&&W.errorMessages&&{errorMessage:{format:Y}}})}else s(Q,"format",X,Y,W)}function p0(Q,X,Y,W){if(Q.pattern||Q.allOf?.some(($)=>$.pattern)){if(!Q.allOf)Q.allOf=[];if(Q.pattern){if(Q.allOf.push({pattern:Q.pattern,...Q.errorMessage&&W.errorMessages&&{errorMessage:{pattern:Q.errorMessage.pattern}}}),delete Q.pattern,Q.errorMessage){if(delete Q.errorMessage.pattern,Object.keys(Q.errorMessage).length===0)delete Q.errorMessage}}Q.allOf.push({pattern:C3(X,W),...Y&&W.errorMessages&&{errorMessage:{pattern:Y}}})}else s(Q,"pattern",C3(X,W),Y,W)}function C3(Q,X){if(!X.applyRegexFlags||!Q.flags)return Q.source;let Y={i:Q.flags.includes("i"),m:Q.flags.includes("m"),s:Q.flags.includes("s")},W=Y.i?Q.source.toLowerCase():Q.source,$="",J=!1,G=!1,H=!1;for(let B=0;B<W.length;B++){if(J){$+=W[B],J=!1;continue}if(Y.i){if(G){if(W[B].match(/[a-z]/)){if(H)$+=W[B],$+=`${W[B-2]}-${W[B]}`.toUpperCase(),H=!1;else if(W[B+1]==="-"&&W[B+2]?.match(/[a-z]/))$+=W[B],H=!0;else $+=`${W[B]}${W[B].toUpperCase()}`;continue}}else if(W[B].match(/[a-z]/)){$+=`[${W[B]}${W[B].toUpperCase()}]`;continue}}if(Y.m){if(W[B]==="^"){$+=`(^|(?<=[\r
43
+ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let z of this.seen.entries()){let K=z[1];if(Q===z[0]){J(z);continue}if(Y.external){let q=Y.external.registry.get(z[0])?.id;if(Q!==z[0]&&q){J(z);continue}}if(this.metadataRegistry.get(z[0])?.id){J(z);continue}if(K.cycle){J(z);continue}if(K.count>1){if(Y.reused==="ref"){J(z);continue}}}let G=(z,K)=>{let V=this.seen.get(z),q=V.def??V.schema,F={...q};if(V.ref===null)return;let A=V.ref;if(V.ref=null,A){G(A,K);let D=this.seen.get(A).schema;if(D.$ref&&K.target==="draft-7")q.allOf=q.allOf??[],q.allOf.push(D);else Object.assign(q,D),Object.assign(q,F)}if(!V.isParent)this.override({zodSchema:z,jsonSchema:q,path:V.path??[]})};for(let z of[...this.seen.entries()].reverse())G(z[0],{target:this.target});let H={};if(this.target==="draft-2020-12")H.$schema="https://json-schema.org/draft/2020-12/schema";else if(this.target==="draft-7")H.$schema="http://json-schema.org/draft-07/schema#";else console.warn(`Invalid target: ${this.target}`);if(Y.external?.uri){let z=Y.external.registry.get(Q)?.id;if(!z)throw Error("Schema is missing an `id` property");H.$id=Y.external.uri(z)}Object.assign(H,W.def);let B=Y.external?.defs??{};for(let z of this.seen.entries()){let K=z[1];if(K.def&&K.defId)B[K.defId]=K.def}if(Y.external);else if(Object.keys(B).length>0)if(this.target==="draft-2020-12")H.$defs=B;else H.definitions=B;try{return JSON.parse(JSON.stringify(H))}catch(z){throw Error("Error converting schema to JSON.")}}}function UQ(Q,X){if(Q instanceof AQ){let W=new lW(X),$={};for(let H of Q._idmap.entries()){let[B,z]=H;W.process(z)}let J={},G={registry:Q,uri:X?.uri,defs:$};for(let H of Q._idmap.entries()){let[B,z]=H;J[B]=W.emit(z,{...X,external:G})}if(Object.keys($).length>0){let H=W.target==="draft-2020-12"?"$defs":"definitions";J.__shared={[H]:$}}return{schemas:J}}let Y=new lW(X);return Y.process(Q),Y.emit(Q,X)}function I0(Q,X){let Y=X??{seen:new Set};if(Y.seen.has(Q))return!1;Y.seen.add(Q);let $=Q._zod.def;switch($.type){case"string":case"number":case"bigint":case"boolean":case"date":case"symbol":case"undefined":case"null":case"any":case"unknown":case"never":case"void":case"literal":case"enum":case"nan":case"file":case"template_literal":return!1;case"array":return I0($.element,Y);case"object":{for(let J in $.shape)if(I0($.shape[J],Y))return!0;return!1}case"union":{for(let J of $.options)if(I0(J,Y))return!0;return!1}case"intersection":return I0($.left,Y)||I0($.right,Y);case"tuple":{for(let J of $.items)if(I0(J,Y))return!0;if($.rest&&I0($.rest,Y))return!0;return!1}case"record":return I0($.keyType,Y)||I0($.valueType,Y);case"map":return I0($.keyType,Y)||I0($.valueType,Y);case"set":return I0($.valueType,Y);case"promise":case"optional":case"nonoptional":case"nullable":case"readonly":return I0($.innerType,Y);case"lazy":return I0($.getter(),Y);case"default":return I0($.innerType,Y);case"prefault":return I0($.innerType,Y);case"custom":return!1;case"transform":return!0;case"pipe":return I0($.in,Y)||I0($.out,Y);case"success":return!1;case"catch":return!1;default:}throw Error(`Unknown schema type: ${$.type}`)}var IM=M("ZodMiniType",(Q,X)=>{if(!Q._zod)throw Error("Uninitialized schema in ZodMiniType.");G0.init(Q,X),Q.def=X,Q.parse=(Y,W)=>eY(Q,Y,W,{callee:Q.parse}),Q.safeParse=(Y,W)=>n6(Q,Y,W),Q.parseAsync=async(Y,W)=>X7(Q,Y,W,{callee:Q.parseAsync}),Q.safeParseAsync=async(Y,W)=>o6(Q,Y,W),Q.check=(...Y)=>{return Q.clone({...X,checks:[...X.checks??[],...Y.map((W)=>typeof W==="function"?{_zod:{check:W,def:{check:"custom"},onattach:[]}}:W)]})},Q.clone=(Y,W)=>a0(Q,Y,W),Q.brand=()=>Q,Q.register=(Y,W)=>{return Y.add(Q,W),Q}});var TM=M("ZodMiniObject",(Q,X)=>{VQ.init(Q,X),IM.init(Q,X),a.defineLazy(Q,"shape",()=>X.shape)});function mW(Q,X){let Y={type:"object",get shape(){return a.assignProp(this,"shape",{...Q}),this.shape},...a.normalizeParams(X)};return new TM(Y)}function s0(Q){return!!Q._zod}function t6(Q){let X=Object.values(Q);if(X.length===0)return mW({});let Y=X.every(s0),W=X.every(($)=>!s0($));if(Y)return mW(Q);if(W)return mY(Q);throw Error("Mixed Zod versions detected in object shape.")}function c0(Q,X){if(s0(Q))return n6(Q,X);return Q.safeParse(X)}async function jQ(Q,X){if(s0(Q))return await o6(Q,X);return await Q.safeParseAsync(X)}function c1(Q){if(!Q)return;let X;if(s0(Q))X=Q._zod?.def?.shape;else X=Q.shape;if(!X)return;if(typeof X==="function")try{return X()}catch{return}return X}function g9(Q){if(!Q)return;if(typeof Q==="object"){let X=Q,Y=Q;if(!X._def&&!Y._zod){let W=Object.values(Q);if(W.length>0&&W.every(($)=>typeof $==="object"&&$!==null&&($._def!==void 0||$._zod!==void 0||typeof $.parse==="function")))return t6(Q)}}if(s0(Q)){let Y=Q._zod?.def;if(Y&&(Y.type==="object"||Y.shape!==void 0))return Q}else if(Q.shape!==void 0)return Q;return}function MQ(Q){if(Q&&typeof Q==="object"){if("message"in Q&&typeof Q.message==="string")return Q.message;if("issues"in Q&&Array.isArray(Q.issues)&&Q.issues.length>0){let X=Q.issues[0];if(X&&typeof X==="object"&&"message"in X)return String(X.message)}try{return JSON.stringify(Q)}catch{return String(Q)}}return String(Q)}function pH(Q){return Q.description}function dH(Q){if(s0(Q))return Q._zod?.def?.type==="optional";let X=Q;if(typeof Q.isOptional==="function")return Q.isOptional();return X._def?.typeName==="ZodOptional"}function NQ(Q){if(s0(Q)){let J=Q._zod?.def;if(J){if(J.value!==void 0)return J.value;if(Array.isArray(J.values)&&J.values.length>0)return J.values[0]}}let Y=Q._def;if(Y){if(Y.value!==void 0)return Y.value;if(Array.isArray(Y.values)&&Y.values.length>0)return Y.values[0]}let W=Q.value;if(W!==void 0)return W;return}var h8={};t4(h8,{time:()=>dW,duration:()=>iW,datetime:()=>cW,date:()=>pW,ZodISOTime:()=>oH,ZodISODuration:()=>rH,ZodISODateTime:()=>iH,ZodISODate:()=>nH});var iH=M("ZodISODateTime",(Q,X)=>{RH.init(Q,X),O0.init(Q,X)});function cW(Q){return _H(iH,Q)}var nH=M("ZodISODate",(Q,X)=>{EH.init(Q,X),O0.init(Q,X)});function pW(Q){return xH(nH,Q)}var oH=M("ZodISOTime",(Q,X)=>{SH.init(Q,X),O0.init(Q,X)});function dW(Q){return yH(oH,Q)}var rH=M("ZodISODuration",(Q,X)=>{IH.init(Q,X),O0.init(Q,X)});function iW(Q){return fH(rH,Q)}var aH=(Q,X)=>{GQ.init(Q,X),Q.name="ZodError",Object.defineProperties(Q,{format:{value:(Y)=>BQ(Q,Y)},flatten:{value:(Y)=>HQ(Q,Y)},addIssue:{value:(Y)=>Q.issues.push(Y)},addIssues:{value:(Y)=>Q.issues.push(...Y)},isEmpty:{get(){return Q.issues.length===0}}})},gu=M("ZodError",aH),u8=M("ZodError",aH,{Parent:Error});var sH=sY(u8),eH=Q7(u8),Q3=Y7(u8),X3=W7(u8);var A0=M("ZodType",(Q,X)=>{return G0.init(Q,X),Q.def=X,Object.defineProperty(Q,"_def",{value:X}),Q.check=(...Y)=>{return Q.clone({...X,checks:[...X.checks??[],...Y.map((W)=>typeof W==="function"?{_zod:{check:W,def:{check:"custom"},onattach:[]}}:W)]})},Q.clone=(Y,W)=>a0(Q,Y,W),Q.brand=()=>Q,Q.register=(Y,W)=>{return Y.add(Q,W),Q},Q.parse=(Y,W)=>sH(Q,Y,W,{callee:Q.parse}),Q.safeParse=(Y,W)=>Q3(Q,Y,W),Q.parseAsync=async(Y,W)=>eH(Q,Y,W,{callee:Q.parseAsync}),Q.safeParseAsync=async(Y,W)=>X3(Q,Y,W),Q.spa=Q.safeParseAsync,Q.refine=(Y,W)=>Q.check(SN(Y,W)),Q.superRefine=(Y)=>Q.check(IN(Y)),Q.overwrite=(Y)=>Q.check(r6(Y)),Q.optional=()=>b0(Q),Q.nullable=()=>$3(Q),Q.nullish=()=>b0($3(Q)),Q.nonoptional=(Y)=>NN(Q,Y),Q.array=()=>E(Q),Q.or=(Y)=>q0([Q,Y]),Q.and=(Y)=>PQ(Q,Y),Q.transform=(Y)=>oW(Q,A3(Y)),Q.default=(Y)=>UN(Q,Y),Q.prefault=(Y)=>MN(Q,Y),Q.catch=(Y)=>bN(Q,Y),Q.pipe=(Y)=>oW(Q,Y),Q.readonly=()=>RN(Q),Q.describe=(Y)=>{let W=Q.clone();return a1.add(W,{description:Y}),W},Object.defineProperty(Q,"description",{get(){return a1.get(Q)?.description},configurable:!0}),Q.meta=(...Y)=>{if(Y.length===0)return a1.get(Q);let W=Q.clone();return a1.add(W,Y[0]),W},Q.isOptional=()=>Q.safeParse(void 0).success,Q.isNullable=()=>Q.safeParse(null).success,Q}),J3=M("_ZodString",(Q,X)=>{f8.init(Q,X),A0.init(Q,X);let Y=Q._zod.bag;Q.format=Y.format??null,Q.minLength=Y.minimum??null,Q.maxLength=Y.maximum??null,Q.regex=(...W)=>Q.check(IW(...W)),Q.includes=(...W)=>Q.check(kW(...W)),Q.startsWith=(...W)=>Q.check(vW(...W)),Q.endsWith=(...W)=>Q.check(_W(...W)),Q.min=(...W)=>Q.check(f9(...W)),Q.max=(...W)=>Q.check(LQ(...W)),Q.length=(...W)=>Q.check(OQ(...W)),Q.nonempty=(...W)=>Q.check(f9(1,...W)),Q.lowercase=(W)=>Q.check(TW(W)),Q.uppercase=(W)=>Q.check(CW(W)),Q.trim=()=>Q.check(yW()),Q.normalize=(...W)=>Q.check(xW(...W)),Q.toLowerCase=()=>Q.check(fW()),Q.toUpperCase=()=>Q.check(gW())}),rW=M("ZodString",(Q,X)=>{f8.init(Q,X),J3.init(Q,X),Q.email=(Y)=>Q.check(YW(mM,Y)),Q.url=(Y)=>Q.check(DQ(G3,Y)),Q.jwt=(Y)=>Q.check(NW(WN,Y)),Q.emoji=(Y)=>Q.check(HW(cM,Y)),Q.guid=(Y)=>Q.check(qQ(Y3,Y)),Q.uuid=(Y)=>Q.check(WW(wQ,Y)),Q.uuidv4=(Y)=>Q.check($W(wQ,Y)),Q.uuidv6=(Y)=>Q.check(JW(wQ,Y)),Q.uuidv7=(Y)=>Q.check(GW(wQ,Y)),Q.nanoid=(Y)=>Q.check(BW(pM,Y)),Q.guid=(Y)=>Q.check(qQ(Y3,Y)),Q.cuid=(Y)=>Q.check(zW(dM,Y)),Q.cuid2=(Y)=>Q.check(KW(iM,Y)),Q.ulid=(Y)=>Q.check(VW(nM,Y)),Q.base64=(Y)=>Q.check(UW(QN,Y)),Q.base64url=(Y)=>Q.check(jW(XN,Y)),Q.xid=(Y)=>Q.check(FW(oM,Y)),Q.ksuid=(Y)=>Q.check(AW(rM,Y)),Q.ipv4=(Y)=>Q.check(qW(tM,Y)),Q.ipv6=(Y)=>Q.check(DW(aM,Y)),Q.cidrv4=(Y)=>Q.check(LW(sM,Y)),Q.cidrv6=(Y)=>Q.check(OW(eM,Y)),Q.e164=(Y)=>Q.check(MW(YN,Y)),Q.datetime=(Y)=>Q.check(cW(Y)),Q.date=(Y)=>Q.check(pW(Y)),Q.time=(Y)=>Q.check(dW(Y)),Q.duration=(Y)=>Q.check(iW(Y))});function U(Q){return XW(rW,Q)}var O0=M("ZodStringFormat",(Q,X)=>{F0.init(Q,X),J3.init(Q,X)}),mM=M("ZodEmail",(Q,X)=>{F7.init(Q,X),O0.init(Q,X)});var Y3=M("ZodGUID",(Q,X)=>{K7.init(Q,X),O0.init(Q,X)});var wQ=M("ZodUUID",(Q,X)=>{V7.init(Q,X),O0.init(Q,X)});var G3=M("ZodURL",(Q,X)=>{A7.init(Q,X),O0.init(Q,X)});function H3(Q){return DQ(G3,Q)}var cM=M("ZodEmoji",(Q,X)=>{q7.init(Q,X),O0.init(Q,X)});var pM=M("ZodNanoID",(Q,X)=>{D7.init(Q,X),O0.init(Q,X)});var dM=M("ZodCUID",(Q,X)=>{L7.init(Q,X),O0.init(Q,X)});var iM=M("ZodCUID2",(Q,X)=>{O7.init(Q,X),O0.init(Q,X)});var nM=M("ZodULID",(Q,X)=>{U7.init(Q,X),O0.init(Q,X)});var oM=M("ZodXID",(Q,X)=>{j7.init(Q,X),O0.init(Q,X)});var rM=M("ZodKSUID",(Q,X)=>{M7.init(Q,X),O0.init(Q,X)});var tM=M("ZodIPv4",(Q,X)=>{N7.init(Q,X),O0.init(Q,X)});var aM=M("ZodIPv6",(Q,X)=>{w7.init(Q,X),O0.init(Q,X)});var sM=M("ZodCIDRv4",(Q,X)=>{b7.init(Q,X),O0.init(Q,X)});var eM=M("ZodCIDRv6",(Q,X)=>{P7.init(Q,X),O0.init(Q,X)});var QN=M("ZodBase64",(Q,X)=>{Z7.init(Q,X),O0.init(Q,X)});var XN=M("ZodBase64URL",(Q,X)=>{R7.init(Q,X),O0.init(Q,X)});var YN=M("ZodE164",(Q,X)=>{E7.init(Q,X),O0.init(Q,X)});var WN=M("ZodJWT",(Q,X)=>{S7.init(Q,X),O0.init(Q,X)});var bQ=M("ZodNumber",(Q,X)=>{KQ.init(Q,X),A0.init(Q,X),Q.gt=(W,$)=>Q.check(y9(W,$)),Q.gte=(W,$)=>Q.check(b1(W,$)),Q.min=(W,$)=>Q.check(b1(W,$)),Q.lt=(W,$)=>Q.check(x9(W,$)),Q.lte=(W,$)=>Q.check(s1(W,$)),Q.max=(W,$)=>Q.check(s1(W,$)),Q.int=(W)=>Q.check(W3(W)),Q.safe=(W)=>Q.check(W3(W)),Q.positive=(W)=>Q.check(y9(0,W)),Q.nonnegative=(W)=>Q.check(b1(0,W)),Q.negative=(W)=>Q.check(x9(0,W)),Q.nonpositive=(W)=>Q.check(s1(0,W)),Q.multipleOf=(W,$)=>Q.check(g8(W,$)),Q.step=(W,$)=>Q.check(g8(W,$)),Q.finite=()=>Q;let Y=Q._zod.bag;Q.minValue=Math.max(Y.minimum??Number.NEGATIVE_INFINITY,Y.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,Q.maxValue=Math.min(Y.maximum??Number.POSITIVE_INFINITY,Y.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,Q.isInt=(Y.format??"").includes("int")||Number.isSafeInteger(Y.multipleOf??0.5),Q.isFinite=!0,Q.format=Y.format??null});function J0(Q){return wW(bQ,Q)}var $N=M("ZodNumberFormat",(Q,X)=>{I7.init(Q,X),bQ.init(Q,X)});function W3(Q){return bW($N,Q)}var tW=M("ZodBoolean",(Q,X)=>{T7.init(Q,X),A0.init(Q,X)});function H0(Q){return PW(tW,Q)}var B3=M("ZodBigInt",(Q,X)=>{C7.init(Q,X),A0.init(Q,X),Q.gte=(W,$)=>Q.check(b1(W,$)),Q.min=(W,$)=>Q.check(b1(W,$)),Q.gt=(W,$)=>Q.check(y9(W,$)),Q.gte=(W,$)=>Q.check(b1(W,$)),Q.min=(W,$)=>Q.check(b1(W,$)),Q.lt=(W,$)=>Q.check(x9(W,$)),Q.lte=(W,$)=>Q.check(s1(W,$)),Q.max=(W,$)=>Q.check(s1(W,$)),Q.positive=(W)=>Q.check(y9(BigInt(0),W)),Q.negative=(W)=>Q.check(x9(BigInt(0),W)),Q.nonpositive=(W)=>Q.check(s1(BigInt(0),W)),Q.nonnegative=(W)=>Q.check(b1(BigInt(0),W)),Q.multipleOf=(W,$)=>Q.check(g8(W,$));let Y=Q._zod.bag;Q.minValue=Y.minimum??null,Q.maxValue=Y.maximum??null,Q.format=Y.format??null});var JN=M("ZodNull",(Q,X)=>{k7.init(Q,X),A0.init(Q,X)});function aW(Q){return ZW(JN,Q)}var GN=M("ZodAny",(Q,X)=>{v7.init(Q,X),A0.init(Q,X)});function z3(){return RW(GN)}var HN=M("ZodUnknown",(Q,X)=>{_7.init(Q,X),A0.init(Q,X)});function U0(){return EW(HN)}var BN=M("ZodNever",(Q,X)=>{x7.init(Q,X),A0.init(Q,X)});function zN(Q){return SW(BN,Q)}var K3=M("ZodDate",(Q,X)=>{y7.init(Q,X),A0.init(Q,X),Q.min=(W,$)=>Q.check(b1(W,$)),Q.max=(W,$)=>Q.check(s1(W,$));let Y=Q._zod.bag;Q.minDate=Y.minimum?new Date(Y.minimum):null,Q.maxDate=Y.maximum?new Date(Y.maximum):null});var KN=M("ZodArray",(Q,X)=>{f7.init(Q,X),A0.init(Q,X),Q.element=X.element,Q.min=(Y,W)=>Q.check(f9(Y,W)),Q.nonempty=(Y)=>Q.check(f9(1,Y)),Q.max=(Y,W)=>Q.check(LQ(Y,W)),Q.length=(Y,W)=>Q.check(OQ(Y,W)),Q.unwrap=()=>Q.element});function E(Q,X){return mH(KN,Q,X)}var V3=M("ZodObject",(Q,X)=>{VQ.init(Q,X),A0.init(Q,X),a.defineLazy(Q,"shape",()=>X.shape),Q.keyof=()=>e0(Object.keys(Q._zod.def.shape)),Q.catchall=(Y)=>Q.clone({...Q._zod.def,catchall:Y}),Q.passthrough=()=>Q.clone({...Q._zod.def,catchall:U0()}),Q.loose=()=>Q.clone({...Q._zod.def,catchall:U0()}),Q.strict=()=>Q.clone({...Q._zod.def,catchall:zN()}),Q.strip=()=>Q.clone({...Q._zod.def,catchall:void 0}),Q.extend=(Y)=>{return a.extend(Q,Y)},Q.merge=(Y)=>a.merge(Q,Y),Q.pick=(Y)=>a.pick(Q,Y),Q.omit=(Y)=>a.omit(Q,Y),Q.partial=(...Y)=>a.partial(q3,Q,Y[0]),Q.required=(...Y)=>a.required(D3,Q,Y[0])});function I(Q,X){let Y={type:"object",get shape(){return a.assignProp(this,"shape",{...Q}),this.shape},...a.normalizeParams(X)};return new V3(Y)}function T0(Q,X){return new V3({type:"object",get shape(){return a.assignProp(this,"shape",{...Q}),this.shape},catchall:U0(),...a.normalizeParams(X)})}var F3=M("ZodUnion",(Q,X)=>{FQ.init(Q,X),A0.init(Q,X),Q.options=X.options});function q0(Q,X){return new F3({type:"union",options:Q,...a.normalizeParams(X)})}var VN=M("ZodDiscriminatedUnion",(Q,X)=>{F3.init(Q,X),g7.init(Q,X)});function sW(Q,X,Y){return new VN({type:"union",options:X,discriminator:Q,...a.normalizeParams(Y)})}var FN=M("ZodIntersection",(Q,X)=>{h7.init(Q,X),A0.init(Q,X)});function PQ(Q,X){return new FN({type:"intersection",left:Q,right:X})}var AN=M("ZodRecord",(Q,X)=>{u7.init(Q,X),A0.init(Q,X),Q.keyType=X.keyType,Q.valueType=X.valueType});function j0(Q,X,Y){return new AN({type:"record",keyType:Q,valueType:X,...a.normalizeParams(Y)})}var nW=M("ZodEnum",(Q,X)=>{l7.init(Q,X),A0.init(Q,X),Q.enum=X.entries,Q.options=Object.values(X.entries);let Y=new Set(Object.keys(X.entries));Q.extract=(W,$)=>{let J={};for(let G of W)if(Y.has(G))J[G]=X.entries[G];else throw Error(`Key ${G} not found in enum`);return new nW({...X,checks:[],...a.normalizeParams($),entries:J})},Q.exclude=(W,$)=>{let J={...X.entries};for(let G of W)if(Y.has(G))delete J[G];else throw Error(`Key ${G} not found in enum`);return new nW({...X,checks:[],...a.normalizeParams($),entries:J})}});function e0(Q,X){let Y=Array.isArray(Q)?Object.fromEntries(Q.map((W)=>[W,W])):Q;return new nW({type:"enum",entries:Y,...a.normalizeParams(X)})}var qN=M("ZodLiteral",(Q,X)=>{m7.init(Q,X),A0.init(Q,X),Q.values=new Set(X.values),Object.defineProperty(Q,"value",{get(){if(X.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return X.values[0]}})});function _(Q,X){return new qN({type:"literal",values:Array.isArray(Q)?Q:[Q],...a.normalizeParams(X)})}var DN=M("ZodTransform",(Q,X)=>{c7.init(Q,X),A0.init(Q,X),Q._zod.parse=(Y,W)=>{Y.addIssue=(J)=>{if(typeof J==="string")Y.issues.push(a.issue(J,Y.value,X));else{let G=J;if(G.fatal)G.continue=!1;G.code??(G.code="custom"),G.input??(G.input=Y.value),G.inst??(G.inst=Q),G.continue??(G.continue=!0),Y.issues.push(a.issue(G))}};let $=X.transform(Y.value,Y);if($ instanceof Promise)return $.then((J)=>{return Y.value=J,Y});return Y.value=$,Y}});function A3(Q){return new DN({type:"transform",transform:Q})}var q3=M("ZodOptional",(Q,X)=>{p7.init(Q,X),A0.init(Q,X),Q.unwrap=()=>Q._zod.def.innerType});function b0(Q){return new q3({type:"optional",innerType:Q})}var LN=M("ZodNullable",(Q,X)=>{d7.init(Q,X),A0.init(Q,X),Q.unwrap=()=>Q._zod.def.innerType});function $3(Q){return new LN({type:"nullable",innerType:Q})}var ON=M("ZodDefault",(Q,X)=>{i7.init(Q,X),A0.init(Q,X),Q.unwrap=()=>Q._zod.def.innerType,Q.removeDefault=Q.unwrap});function UN(Q,X){return new ON({type:"default",innerType:Q,get defaultValue(){return typeof X==="function"?X():X}})}var jN=M("ZodPrefault",(Q,X)=>{n7.init(Q,X),A0.init(Q,X),Q.unwrap=()=>Q._zod.def.innerType});function MN(Q,X){return new jN({type:"prefault",innerType:Q,get defaultValue(){return typeof X==="function"?X():X}})}var D3=M("ZodNonOptional",(Q,X)=>{o7.init(Q,X),A0.init(Q,X),Q.unwrap=()=>Q._zod.def.innerType});function NN(Q,X){return new D3({type:"nonoptional",innerType:Q,...a.normalizeParams(X)})}var wN=M("ZodCatch",(Q,X)=>{r7.init(Q,X),A0.init(Q,X),Q.unwrap=()=>Q._zod.def.innerType,Q.removeCatch=Q.unwrap});function bN(Q,X){return new wN({type:"catch",innerType:Q,catchValue:typeof X==="function"?X:()=>X})}var PN=M("ZodPipe",(Q,X)=>{t7.init(Q,X),A0.init(Q,X),Q.in=X.in,Q.out=X.out});function oW(Q,X){return new PN({type:"pipe",in:Q,out:X})}var ZN=M("ZodReadonly",(Q,X)=>{a7.init(Q,X),A0.init(Q,X)});function RN(Q){return new ZN({type:"readonly",innerType:Q})}var L3=M("ZodCustom",(Q,X)=>{s7.init(Q,X),A0.init(Q,X)});function EN(Q){let X=new k0({check:"custom"});return X._zod.check=Q,X}function O3(Q,X){return hW(L3,Q??(()=>!0),X)}function SN(Q,X={}){return uW(L3,Q,X)}function IN(Q){let X=EN((Y)=>{return Y.addIssue=(W)=>{if(typeof W==="string")Y.issues.push(a.issue(W,Y.value,X._zod.def));else{let $=W;if($.fatal)$.continue=!1;$.code??($.code="custom"),$.input??($.input=Y.value),$.inst??($.inst=X),$.continue??($.continue=!X._zod.def.abort),Y.issues.push(a.issue($))}},Q(Y.value,Y)});return X}function eW(Q,X){return oW(A3(Q),X)}var U3={invalid_type:"invalid_type",too_big:"too_big",too_small:"too_small",invalid_format:"invalid_format",not_multiple_of:"not_multiple_of",unrecognized_keys:"unrecognized_keys",invalid_union:"invalid_union",invalid_key:"invalid_key",invalid_element:"invalid_element",invalid_value:"invalid_value",custom:"custom"};var ZQ={};t4(ZQ,{string:()=>TN,number:()=>CN,date:()=>_N,boolean:()=>kN,bigint:()=>vN});function TN(Q){return vH(rW,Q)}function CN(Q){return gH(bQ,Q)}function kN(Q){return hH(tW,Q)}function vN(Q){return uH(B3,Q)}function _N(Q){return lH(K3,Q)}t0(e7());var U6="2025-11-25";var EQ=[U6,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],j6="io.modelcontextprotocol/related-task",SQ="2.0",v0=O3((Q)=>Q!==null&&(typeof Q==="object"||typeof Q==="function")),j3=q0([U(),J0().int()]),M3=U(),su=T0({ttl:q0([J0(),aW()]).optional(),pollInterval:J0().optional()}),yN=I({ttl:J0().optional()}),fN=I({taskId:U()}),Q5=T0({progressToken:j3.optional(),[j6]:fN.optional()}),z1=I({_meta:Q5.optional()}),l8=z1.extend({task:yN.optional()}),N3=(Q)=>l8.safeParse(Q).success,_0=I({method:U(),params:z1.loose().optional()}),V1=I({_meta:Q5.optional()}),F1=I({method:U(),params:V1.loose().optional()}),x0=T0({_meta:Q5.optional()}),IQ=q0([U(),J0().int()]),w3=I({jsonrpc:_(SQ),id:IQ,..._0.shape}).strict(),m8=(Q)=>w3.safeParse(Q).success,b3=I({jsonrpc:_(SQ),...F1.shape}).strict(),P3=(Q)=>b3.safeParse(Q).success,X5=I({jsonrpc:_(SQ),id:IQ,result:x0}).strict(),a6=(Q)=>X5.safeParse(Q).success;var k;(function(Q){Q[Q.ConnectionClosed=-32000]="ConnectionClosed",Q[Q.RequestTimeout=-32001]="RequestTimeout",Q[Q.ParseError=-32700]="ParseError",Q[Q.InvalidRequest=-32600]="InvalidRequest",Q[Q.MethodNotFound=-32601]="MethodNotFound",Q[Q.InvalidParams=-32602]="InvalidParams",Q[Q.InternalError=-32603]="InternalError",Q[Q.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(k||(k={}));var Y5=I({jsonrpc:_(SQ),id:IQ.optional(),error:I({code:J0().int(),message:U(),data:U0().optional()})}).strict();var Z3=(Q)=>Y5.safeParse(Q).success;var u9=q0([w3,b3,X5,Y5]),eu=q0([X5,Y5]),e1=x0.strict(),gN=V1.extend({requestId:IQ.optional(),reason:U().optional()}),TQ=F1.extend({method:_("notifications/cancelled"),params:gN}),hN=I({src:U(),mimeType:U().optional(),sizes:E(U()).optional(),theme:e0(["light","dark"]).optional()}),c8=I({icons:E(hN).optional()}),h9=I({name:U(),title:U().optional()}),R3=h9.extend({...h9.shape,...c8.shape,version:U(),websiteUrl:U().optional(),description:U().optional()}),uN=PQ(I({applyDefaults:H0().optional()}),j0(U(),U0())),lN=eW((Q)=>{if(Q&&typeof Q==="object"&&!Array.isArray(Q)){if(Object.keys(Q).length===0)return{form:{}}}return Q},PQ(I({form:uN.optional(),url:v0.optional()}),j0(U(),U0()).optional())),mN=T0({list:v0.optional(),cancel:v0.optional(),requests:T0({sampling:T0({createMessage:v0.optional()}).optional(),elicitation:T0({create:v0.optional()}).optional()}).optional()}),cN=T0({list:v0.optional(),cancel:v0.optional(),requests:T0({tools:T0({call:v0.optional()}).optional()}).optional()}),pN=I({experimental:j0(U(),v0).optional(),sampling:I({context:v0.optional(),tools:v0.optional()}).optional(),elicitation:lN.optional(),roots:I({listChanged:H0().optional()}).optional(),tasks:mN.optional()}),dN=z1.extend({protocolVersion:U(),capabilities:pN,clientInfo:R3}),W5=_0.extend({method:_("initialize"),params:dN});var iN=I({experimental:j0(U(),v0).optional(),logging:v0.optional(),completions:v0.optional(),prompts:I({listChanged:H0().optional()}).optional(),resources:I({subscribe:H0().optional(),listChanged:H0().optional()}).optional(),tools:I({listChanged:H0().optional()}).optional(),tasks:cN.optional()}),$5=x0.extend({protocolVersion:U(),capabilities:iN,serverInfo:R3,instructions:U().optional()}),CQ=F1.extend({method:_("notifications/initialized"),params:V1.optional()}),E3=(Q)=>CQ.safeParse(Q).success,kQ=_0.extend({method:_("ping"),params:z1.optional()}),nN=I({progress:J0(),total:b0(J0()),message:b0(U())}),oN=I({...V1.shape,...nN.shape,progressToken:j3}),vQ=F1.extend({method:_("notifications/progress"),params:oN}),rN=z1.extend({cursor:M3.optional()}),p8=_0.extend({params:rN.optional()}),d8=x0.extend({nextCursor:M3.optional()}),tN=e0(["working","input_required","completed","failed","cancelled"]),i8=I({taskId:U(),status:tN,ttl:q0([J0(),aW()]),createdAt:U(),lastUpdatedAt:U(),pollInterval:b0(J0()),statusMessage:b0(U())}),Q6=x0.extend({task:i8}),aN=V1.merge(i8),n8=F1.extend({method:_("notifications/tasks/status"),params:aN}),_Q=_0.extend({method:_("tasks/get"),params:z1.extend({taskId:U()})}),xQ=x0.merge(i8),yQ=_0.extend({method:_("tasks/result"),params:z1.extend({taskId:U()})}),Ql=x0.loose(),fQ=p8.extend({method:_("tasks/list")}),gQ=d8.extend({tasks:E(i8)}),hQ=_0.extend({method:_("tasks/cancel"),params:z1.extend({taskId:U()})}),S3=x0.merge(i8),I3=I({uri:U(),mimeType:b0(U()),_meta:j0(U(),U0()).optional()}),T3=I3.extend({text:U()}),J5=U().refine((Q)=>{try{return atob(Q),!0}catch{return!1}},{message:"Invalid Base64 string"}),C3=I3.extend({blob:J5}),o8=e0(["user","assistant"]),l9=I({audience:E(o8).optional(),priority:J0().min(0).max(1).optional(),lastModified:h8.datetime({offset:!0}).optional()}),k3=I({...h9.shape,...c8.shape,uri:U(),description:b0(U()),mimeType:b0(U()),annotations:l9.optional(),_meta:b0(T0({}))}),sN=I({...h9.shape,...c8.shape,uriTemplate:U(),description:b0(U()),mimeType:b0(U()),annotations:l9.optional(),_meta:b0(T0({}))}),uQ=p8.extend({method:_("resources/list")}),G5=d8.extend({resources:E(k3)}),lQ=p8.extend({method:_("resources/templates/list")}),H5=d8.extend({resourceTemplates:E(sN)}),B5=z1.extend({uri:U()}),eN=B5,mQ=_0.extend({method:_("resources/read"),params:eN}),z5=x0.extend({contents:E(q0([T3,C3]))}),s6=F1.extend({method:_("notifications/resources/list_changed"),params:V1.optional()}),Qw=B5,Xw=_0.extend({method:_("resources/subscribe"),params:Qw}),Yw=B5,Ww=_0.extend({method:_("resources/unsubscribe"),params:Yw}),$w=V1.extend({uri:U()}),r8=F1.extend({method:_("notifications/resources/updated"),params:$w}),Jw=I({name:U(),description:b0(U()),required:b0(H0())}),Gw=I({...h9.shape,...c8.shape,description:b0(U()),arguments:b0(E(Jw)),_meta:b0(T0({}))}),cQ=p8.extend({method:_("prompts/list")}),K5=d8.extend({prompts:E(Gw)}),Hw=z1.extend({name:U(),arguments:j0(U(),U()).optional()}),pQ=_0.extend({method:_("prompts/get"),params:Hw}),V5=I({type:_("text"),text:U(),annotations:l9.optional(),_meta:j0(U(),U0()).optional()}),F5=I({type:_("image"),data:J5,mimeType:U(),annotations:l9.optional(),_meta:j0(U(),U0()).optional()}),A5=I({type:_("audio"),data:J5,mimeType:U(),annotations:l9.optional(),_meta:j0(U(),U0()).optional()}),Bw=I({type:_("tool_use"),name:U(),id:U(),input:j0(U(),U0()),_meta:j0(U(),U0()).optional()}),zw=I({type:_("resource"),resource:q0([T3,C3]),annotations:l9.optional(),_meta:j0(U(),U0()).optional()}),Kw=k3.extend({type:_("resource_link")}),q5=q0([V5,F5,A5,Kw,zw]),Vw=I({role:o8,content:q5}),D5=x0.extend({description:U().optional(),messages:E(Vw)}),e6=F1.extend({method:_("notifications/prompts/list_changed"),params:V1.optional()}),Fw=I({title:U().optional(),readOnlyHint:H0().optional(),destructiveHint:H0().optional(),idempotentHint:H0().optional(),openWorldHint:H0().optional()}),Aw=I({taskSupport:e0(["required","optional","forbidden"]).optional()}),v3=I({...h9.shape,...c8.shape,description:U().optional(),inputSchema:I({type:_("object"),properties:j0(U(),v0).optional(),required:E(U()).optional()}).catchall(U0()),outputSchema:I({type:_("object"),properties:j0(U(),v0).optional(),required:E(U()).optional()}).catchall(U0()).optional(),annotations:Fw.optional(),execution:Aw.optional(),_meta:j0(U(),U0()).optional()}),dQ=p8.extend({method:_("tools/list")}),L5=d8.extend({tools:E(v3)}),M6=x0.extend({content:E(q5).default([]),structuredContent:j0(U(),U0()).optional(),isError:H0().optional()}),Xl=M6.or(x0.extend({toolResult:U0()})),qw=l8.extend({name:U(),arguments:j0(U(),U0()).optional()}),m9=_0.extend({method:_("tools/call"),params:qw}),Q9=F1.extend({method:_("notifications/tools/list_changed"),params:V1.optional()}),_3=I({autoRefresh:H0().default(!0),debounceMs:J0().int().nonnegative().default(300)}),t8=e0(["debug","info","notice","warning","error","critical","alert","emergency"]),Dw=z1.extend({level:t8}),O5=_0.extend({method:_("logging/setLevel"),params:Dw}),Lw=V1.extend({level:t8,logger:U().optional(),data:U0()}),a8=F1.extend({method:_("notifications/message"),params:Lw}),Ow=I({name:U().optional()}),Uw=I({hints:E(Ow).optional(),costPriority:J0().min(0).max(1).optional(),speedPriority:J0().min(0).max(1).optional(),intelligencePriority:J0().min(0).max(1).optional()}),jw=I({mode:e0(["auto","required","none"]).optional()}),Mw=I({type:_("tool_result"),toolUseId:U().describe("The unique identifier for the corresponding tool call."),content:E(q5).default([]),structuredContent:I({}).loose().optional(),isError:H0().optional(),_meta:j0(U(),U0()).optional()}),Nw=sW("type",[V5,F5,A5]),RQ=sW("type",[V5,F5,A5,Bw,Mw]),ww=I({role:o8,content:q0([RQ,E(RQ)]),_meta:j0(U(),U0()).optional()}),bw=l8.extend({messages:E(ww),modelPreferences:Uw.optional(),systemPrompt:U().optional(),includeContext:e0(["none","thisServer","allServers"]).optional(),temperature:J0().optional(),maxTokens:J0().int(),stopSequences:E(U()).optional(),metadata:v0.optional(),tools:E(v3).optional(),toolChoice:jw.optional()}),X9=_0.extend({method:_("sampling/createMessage"),params:bw}),s8=x0.extend({model:U(),stopReason:b0(e0(["endTurn","stopSequence","maxTokens"]).or(U())),role:o8,content:Nw}),U5=x0.extend({model:U(),stopReason:b0(e0(["endTurn","stopSequence","maxTokens","toolUse"]).or(U())),role:o8,content:q0([RQ,E(RQ)])}),Pw=I({type:_("boolean"),title:U().optional(),description:U().optional(),default:H0().optional()}),Zw=I({type:_("string"),title:U().optional(),description:U().optional(),minLength:J0().optional(),maxLength:J0().optional(),format:e0(["email","uri","date","date-time"]).optional(),default:U().optional()}),Rw=I({type:e0(["number","integer"]),title:U().optional(),description:U().optional(),minimum:J0().optional(),maximum:J0().optional(),default:J0().optional()}),Ew=I({type:_("string"),title:U().optional(),description:U().optional(),enum:E(U()),default:U().optional()}),Sw=I({type:_("string"),title:U().optional(),description:U().optional(),oneOf:E(I({const:U(),title:U()})),default:U().optional()}),Iw=I({type:_("string"),title:U().optional(),description:U().optional(),enum:E(U()),enumNames:E(U()).optional(),default:U().optional()}),Tw=q0([Ew,Sw]),Cw=I({type:_("array"),title:U().optional(),description:U().optional(),minItems:J0().optional(),maxItems:J0().optional(),items:I({type:_("string"),enum:E(U())}),default:E(U()).optional()}),kw=I({type:_("array"),title:U().optional(),description:U().optional(),minItems:J0().optional(),maxItems:J0().optional(),items:I({anyOf:E(I({const:U(),title:U()}))}),default:E(U()).optional()}),vw=q0([Cw,kw]),_w=q0([Iw,Tw,vw]),xw=q0([_w,Pw,Zw,Rw]),yw=l8.extend({mode:_("form").optional(),message:U(),requestedSchema:I({type:_("object"),properties:j0(U(),xw),required:E(U()).optional()})}),fw=l8.extend({mode:_("url"),message:U(),elicitationId:U(),url:U().url()}),gw=q0([yw,fw]),Y9=_0.extend({method:_("elicitation/create"),params:gw}),hw=V1.extend({elicitationId:U()}),uw=F1.extend({method:_("notifications/elicitation/complete"),params:hw}),c9=x0.extend({action:e0(["accept","decline","cancel"]),content:eW((Q)=>Q===null?void 0:Q,j0(U(),q0([U(),J0(),H0(),E(U())])).optional())}),lw=I({type:_("ref/resource"),uri:U()});var mw=I({type:_("ref/prompt"),name:U()}),cw=z1.extend({ref:q0([mw,lw]),argument:I({name:U(),value:U()}),context:I({arguments:j0(U(),U()).optional()}).optional()}),iQ=_0.extend({method:_("completion/complete"),params:cw});function x3(Q){if(Q.params.ref.type!=="ref/prompt")throw TypeError(`Expected CompleteRequestPrompt, but got ${Q.params.ref.type}`)}function y3(Q){if(Q.params.ref.type!=="ref/resource")throw TypeError(`Expected CompleteRequestResourceTemplate, but got ${Q.params.ref.type}`)}var j5=x0.extend({completion:T0({values:E(U()).max(100),total:b0(J0().int()),hasMore:b0(H0())})}),pw=I({uri:U().startsWith("file://"),name:U().optional(),_meta:j0(U(),U0()).optional()}),dw=_0.extend({method:_("roots/list"),params:z1.optional()}),M5=x0.extend({roots:E(pw)}),iw=F1.extend({method:_("notifications/roots/list_changed"),params:V1.optional()}),Yl=q0([kQ,W5,iQ,O5,pQ,cQ,uQ,lQ,mQ,Xw,Ww,m9,dQ,_Q,yQ,fQ,hQ]),Wl=q0([TQ,vQ,CQ,iw,n8]),$l=q0([e1,s8,U5,c9,M5,xQ,gQ,Q6]),Jl=q0([kQ,X9,Y9,dw,_Q,yQ,fQ,hQ]),Gl=q0([TQ,vQ,a8,r8,s6,Q9,e6,n8,uw]),Hl=q0([e1,$5,j5,D5,K5,G5,H5,z5,M6,L5,xQ,gQ,Q6]);class S extends Error{constructor(Q,X,Y){super(`MCP error ${Q}: ${X}`);this.code=Q,this.data=Y,this.name="McpError"}static fromError(Q,X,Y){if(Q===k.UrlElicitationRequired&&Y){let W=Y;if(W.elicitations)return new f3(W.elicitations,X)}return new S(Q,X,Y)}}class f3 extends S{constructor(Q,X=`URL elicitation${Q.length>1?"s":""} required`){super(k.UrlElicitationRequired,X,{elicitations:Q})}get elicitations(){return this.data?.elicitations??[]}}function N6(Q){return Q==="completed"||Q==="failed"||Q==="cancelled"}var h3=Symbol("Let zodToJsonSchema decide on which parser to use");var g3={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",target:"jsonSchema7",strictUnions:!1,definitions:{},errorMessages:!1,markdownDescription:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref",openAiAnyTypeName:"OpenAiAnyType"},u3=(Q)=>typeof Q==="string"?{...g3,name:Q}:{...g3,...Q};var l3=(Q)=>{let X=u3(Q),Y=X.name!==void 0?[...X.basePath,X.definitionPath,X.name]:X.basePath;return{...X,flags:{hasReferencedOpenAiAnyType:!1},currentPath:Y,propertyPath:void 0,seen:new Map(Object.entries(X.definitions).map(([W,$])=>[$._def,{def:$._def,path:[...X.basePath,X.definitionPath,W],jsonSchema:void 0}]))}};function N5(Q,X,Y,W){if(!W?.errorMessages)return;if(Y)Q.errorMessage={...Q.errorMessage,[X]:Y}}function s(Q,X,Y,W,$){Q[X]=Y,N5(Q,X,W,$)}var nQ=(Q,X)=>{let Y=0;for(;Y<Q.length&&Y<X.length;Y++)if(Q[Y]!==X[Y])break;return[(Q.length-Y).toString(),...X.slice(Y)].join("/")};function M0(Q){if(Q.target!=="openAi")return{};let X=[...Q.basePath,Q.definitionPath,Q.openAiAnyTypeName];return Q.flags.hasReferencedOpenAiAnyType=!0,{$ref:Q.$refStrategy==="relative"?nQ(X,Q.currentPath):X.join("/")}}function m3(Q,X){let Y={type:"array"};if(Q.type?._def&&Q.type?._def?.typeName!==P.ZodAny)Y.items=u(Q.type._def,{...X,currentPath:[...X.currentPath,"items"]});if(Q.minLength)s(Y,"minItems",Q.minLength.value,Q.minLength.message,X);if(Q.maxLength)s(Y,"maxItems",Q.maxLength.value,Q.maxLength.message,X);if(Q.exactLength)s(Y,"minItems",Q.exactLength.value,Q.exactLength.message,X),s(Y,"maxItems",Q.exactLength.value,Q.exactLength.message,X);return Y}function c3(Q,X){let Y={type:"integer",format:"int64"};if(!Q.checks)return Y;for(let W of Q.checks)switch(W.kind){case"min":if(X.target==="jsonSchema7")if(W.inclusive)s(Y,"minimum",W.value,W.message,X);else s(Y,"exclusiveMinimum",W.value,W.message,X);else{if(!W.inclusive)Y.exclusiveMinimum=!0;s(Y,"minimum",W.value,W.message,X)}break;case"max":if(X.target==="jsonSchema7")if(W.inclusive)s(Y,"maximum",W.value,W.message,X);else s(Y,"exclusiveMaximum",W.value,W.message,X);else{if(!W.inclusive)Y.exclusiveMaximum=!0;s(Y,"maximum",W.value,W.message,X)}break;case"multipleOf":s(Y,"multipleOf",W.value,W.message,X);break}return Y}function p3(){return{type:"boolean"}}function oQ(Q,X){return u(Q.type._def,X)}var d3=(Q,X)=>{return u(Q.innerType._def,X)};function w5(Q,X,Y){let W=Y??X.dateStrategy;if(Array.isArray(W))return{anyOf:W.map(($,J)=>w5(Q,X,$))};switch(W){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return nw(Q,X)}}var nw=(Q,X)=>{let Y={type:"integer",format:"unix-time"};if(X.target==="openApi3")return Y;for(let W of Q.checks)switch(W.kind){case"min":s(Y,"minimum",W.value,W.message,X);break;case"max":s(Y,"maximum",W.value,W.message,X);break}return Y};function i3(Q,X){return{...u(Q.innerType._def,X),default:Q.defaultValue()}}function n3(Q,X){return X.effectStrategy==="input"?u(Q.schema._def,X):M0(X)}function o3(Q){return{type:"string",enum:Array.from(Q.values)}}var ow=(Q)=>{if("type"in Q&&Q.type==="string")return!1;return"allOf"in Q};function r3(Q,X){let Y=[u(Q.left._def,{...X,currentPath:[...X.currentPath,"allOf","0"]}),u(Q.right._def,{...X,currentPath:[...X.currentPath,"allOf","1"]})].filter((J)=>!!J),W=X.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,$=[];return Y.forEach((J)=>{if(ow(J)){if($.push(...J.allOf),J.unevaluatedProperties===void 0)W=void 0}else{let G=J;if("additionalProperties"in J&&J.additionalProperties===!1){let{additionalProperties:H,...B}=J;G=B}else W=void 0;$.push(G)}}),$.length?{allOf:$,...W}:void 0}function t3(Q,X){let Y=typeof Q.value;if(Y!=="bigint"&&Y!=="number"&&Y!=="boolean"&&Y!=="string")return{type:Array.isArray(Q.value)?"array":"object"};if(X.target==="openApi3")return{type:Y==="bigint"?"integer":Y,enum:[Q.value]};return{type:Y==="bigint"?"integer":Y,const:Q.value}}var b5=void 0,P1={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>{if(b5===void 0)b5=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u");return b5},uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv4Cidr:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function rQ(Q,X){let Y={type:"string"};if(Q.checks)for(let W of Q.checks)switch(W.kind){case"min":s(Y,"minLength",typeof Y.minLength==="number"?Math.max(Y.minLength,W.value):W.value,W.message,X);break;case"max":s(Y,"maxLength",typeof Y.maxLength==="number"?Math.min(Y.maxLength,W.value):W.value,W.message,X);break;case"email":switch(X.emailStrategy){case"format:email":Z1(Y,"email",W.message,X);break;case"format:idn-email":Z1(Y,"idn-email",W.message,X);break;case"pattern:zod":p0(Y,P1.email,W.message,X);break}break;case"url":Z1(Y,"uri",W.message,X);break;case"uuid":Z1(Y,"uuid",W.message,X);break;case"regex":p0(Y,W.regex,W.message,X);break;case"cuid":p0(Y,P1.cuid,W.message,X);break;case"cuid2":p0(Y,P1.cuid2,W.message,X);break;case"startsWith":p0(Y,RegExp(`^${P5(W.value,X)}`),W.message,X);break;case"endsWith":p0(Y,RegExp(`${P5(W.value,X)}$`),W.message,X);break;case"datetime":Z1(Y,"date-time",W.message,X);break;case"date":Z1(Y,"date",W.message,X);break;case"time":Z1(Y,"time",W.message,X);break;case"duration":Z1(Y,"duration",W.message,X);break;case"length":s(Y,"minLength",typeof Y.minLength==="number"?Math.max(Y.minLength,W.value):W.value,W.message,X),s(Y,"maxLength",typeof Y.maxLength==="number"?Math.min(Y.maxLength,W.value):W.value,W.message,X);break;case"includes":{p0(Y,RegExp(P5(W.value,X)),W.message,X);break}case"ip":{if(W.version!=="v6")Z1(Y,"ipv4",W.message,X);if(W.version!=="v4")Z1(Y,"ipv6",W.message,X);break}case"base64url":p0(Y,P1.base64url,W.message,X);break;case"jwt":p0(Y,P1.jwt,W.message,X);break;case"cidr":{if(W.version!=="v6")p0(Y,P1.ipv4Cidr,W.message,X);if(W.version!=="v4")p0(Y,P1.ipv6Cidr,W.message,X);break}case"emoji":p0(Y,P1.emoji(),W.message,X);break;case"ulid":{p0(Y,P1.ulid,W.message,X);break}case"base64":{switch(X.base64Strategy){case"format:binary":{Z1(Y,"binary",W.message,X);break}case"contentEncoding:base64":{s(Y,"contentEncoding","base64",W.message,X);break}case"pattern:zod":{p0(Y,P1.base64,W.message,X);break}}break}case"nanoid":p0(Y,P1.nanoid,W.message,X);case"toLowerCase":case"toUpperCase":case"trim":break;default:(($)=>{})(W)}return Y}function P5(Q,X){return X.patternStrategy==="escape"?tw(Q):Q}var rw=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function tw(Q){let X="";for(let Y=0;Y<Q.length;Y++){if(!rw.has(Q[Y]))X+="\\";X+=Q[Y]}return X}function Z1(Q,X,Y,W){if(Q.format||Q.anyOf?.some(($)=>$.format)){if(!Q.anyOf)Q.anyOf=[];if(Q.format){if(Q.anyOf.push({format:Q.format,...Q.errorMessage&&W.errorMessages&&{errorMessage:{format:Q.errorMessage.format}}}),delete Q.format,Q.errorMessage){if(delete Q.errorMessage.format,Object.keys(Q.errorMessage).length===0)delete Q.errorMessage}}Q.anyOf.push({format:X,...Y&&W.errorMessages&&{errorMessage:{format:Y}}})}else s(Q,"format",X,Y,W)}function p0(Q,X,Y,W){if(Q.pattern||Q.allOf?.some(($)=>$.pattern)){if(!Q.allOf)Q.allOf=[];if(Q.pattern){if(Q.allOf.push({pattern:Q.pattern,...Q.errorMessage&&W.errorMessages&&{errorMessage:{pattern:Q.errorMessage.pattern}}}),delete Q.pattern,Q.errorMessage){if(delete Q.errorMessage.pattern,Object.keys(Q.errorMessage).length===0)delete Q.errorMessage}}Q.allOf.push({pattern:a3(X,W),...Y&&W.errorMessages&&{errorMessage:{pattern:Y}}})}else s(Q,"pattern",a3(X,W),Y,W)}function a3(Q,X){if(!X.applyRegexFlags||!Q.flags)return Q.source;let Y={i:Q.flags.includes("i"),m:Q.flags.includes("m"),s:Q.flags.includes("s")},W=Y.i?Q.source.toLowerCase():Q.source,$="",J=!1,G=!1,H=!1;for(let B=0;B<W.length;B++){if(J){$+=W[B],J=!1;continue}if(Y.i){if(G){if(W[B].match(/[a-z]/)){if(H)$+=W[B],$+=`${W[B-2]}-${W[B]}`.toUpperCase(),H=!1;else if(W[B+1]==="-"&&W[B+2]?.match(/[a-z]/))$+=W[B],H=!0;else $+=`${W[B]}${W[B].toUpperCase()}`;continue}}else if(W[B].match(/[a-z]/)){$+=`[${W[B]}${W[B].toUpperCase()}]`;continue}}if(Y.m){if(W[B]==="^"){$+=`(^|(?<=[\r
44
44
  ]))`;continue}else if(W[B]==="$"){$+=`($|(?=[\r
45
45
  ]))`;continue}}if(Y.s&&W[B]==="."){$+=G?`${W[B]}\r
46
46
  `:`[${W[B]}\r
47
- ]`;continue}if($+=W[B],W[B]==="\\")J=!0;else if(G&&W[B]==="]")G=!1;else if(!G&&W[B]==="[")G=!0}try{new RegExp($)}catch{return console.warn(`Could not convert regex pattern at ${X.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),Q.source}return $}function pQ(Q,X){if(X.target==="openAi")console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead.");if(X.target==="openApi3"&&Q.keyType?._def.typeName===P.ZodEnum)return{type:"object",required:Q.keyType._def.values,properties:Q.keyType._def.values.reduce((W,$)=>({...W,[$]:u(Q.valueType._def,{...X,currentPath:[...X.currentPath,"properties",$]})??w0(X)}),{}),additionalProperties:X.rejectedAdditionalProperties};let Y={type:"object",additionalProperties:u(Q.valueType._def,{...X,currentPath:[...X.currentPath,"additionalProperties"]})??X.allowedAdditionalProperties};if(X.target==="openApi3")return Y;if(Q.keyType?._def.typeName===P.ZodString&&Q.keyType._def.checks?.length){let{type:W,...$}=cQ(Q.keyType._def,X);return{...Y,propertyNames:$}}else if(Q.keyType?._def.typeName===P.ZodEnum)return{...Y,propertyNames:{enum:Q.keyType._def.values}};else if(Q.keyType?._def.typeName===P.ZodBranded&&Q.keyType._def.type._def.typeName===P.ZodString&&Q.keyType._def.type._def.checks?.length){let{type:W,...$}=mQ(Q.keyType._def,X);return{...Y,propertyNames:$}}return Y}function k3(Q,X){if(X.mapStrategy==="record")return pQ(Q,X);let Y=u(Q.keyType._def,{...X,currentPath:[...X.currentPath,"items","items","0"]})||w0(X),W=u(Q.valueType._def,{...X,currentPath:[...X.currentPath,"items","items","1"]})||w0(X);return{type:"array",maxItems:125,items:{type:"array",items:[Y,W],minItems:2,maxItems:2}}}function v3(Q){let X=Q.values,W=Object.keys(Q.values).filter((J)=>{return typeof X[X[J]]!=="number"}).map((J)=>X[J]),$=Array.from(new Set(W.map((J)=>typeof J)));return{type:$.length===1?$[0]==="string"?"string":"number":["string","number"],enum:W}}function _3(Q){return Q.target==="openAi"?void 0:{not:w0({...Q,currentPath:[...Q.currentPath,"not"]})}}function x3(Q){return Q.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var n4={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function g3(Q,X){if(X.target==="openApi3")return y3(Q,X);let Y=Q.options instanceof Map?Array.from(Q.options.values()):Q.options;if(Y.every((W)=>(W._def.typeName in n4)&&(!W._def.checks||!W._def.checks.length))){let W=Y.reduce(($,J)=>{let G=n4[J._def.typeName];return G&&!$.includes(G)?[...$,G]:$},[]);return{type:W.length>1?W:W[0]}}else if(Y.every((W)=>W._def.typeName==="ZodLiteral"&&!W.description)){let W=Y.reduce(($,J)=>{let G=typeof J._def.value;switch(G){case"string":case"number":case"boolean":return[...$,G];case"bigint":return[...$,"integer"];case"object":if(J._def.value===null)return[...$,"null"];case"symbol":case"undefined":case"function":default:return $}},[]);if(W.length===Y.length){let $=W.filter((J,G,H)=>H.indexOf(J)===G);return{type:$.length>1?$:$[0],enum:Y.reduce((J,G)=>{return J.includes(G._def.value)?J:[...J,G._def.value]},[])}}}else if(Y.every((W)=>W._def.typeName==="ZodEnum"))return{type:"string",enum:Y.reduce((W,$)=>[...W,...$._def.values.filter((J)=>!W.includes(J))],[])};return y3(Q,X)}var y3=(Q,X)=>{let Y=(Q.options instanceof Map?Array.from(Q.options.values()):Q.options).map((W,$)=>u(W._def,{...X,currentPath:[...X.currentPath,"anyOf",`${$}`]})).filter((W)=>!!W&&(!X.strictUnions||typeof W==="object"&&Object.keys(W).length>0));return Y.length?{anyOf:Y}:void 0};function f3(Q,X){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(Q.innerType._def.typeName)&&(!Q.innerType._def.checks||!Q.innerType._def.checks.length)){if(X.target==="openApi3")return{type:n4[Q.innerType._def.typeName],nullable:!0};return{type:[n4[Q.innerType._def.typeName],"null"]}}if(X.target==="openApi3"){let W=u(Q.innerType._def,{...X,currentPath:[...X.currentPath]});if(W&&"$ref"in W)return{allOf:[W],nullable:!0};return W&&{...W,nullable:!0}}let Y=u(Q.innerType._def,{...X,currentPath:[...X.currentPath,"anyOf","0"]});return Y&&{anyOf:[Y,{type:"null"}]}}function h3(Q,X){let Y={type:"number"};if(!Q.checks)return Y;for(let W of Q.checks)switch(W.kind){case"int":Y.type="integer",D5(Y,"type",W.message,X);break;case"min":if(X.target==="jsonSchema7")if(W.inclusive)s(Y,"minimum",W.value,W.message,X);else s(Y,"exclusiveMinimum",W.value,W.message,X);else{if(!W.inclusive)Y.exclusiveMinimum=!0;s(Y,"minimum",W.value,W.message,X)}break;case"max":if(X.target==="jsonSchema7")if(W.inclusive)s(Y,"maximum",W.value,W.message,X);else s(Y,"exclusiveMaximum",W.value,W.message,X);else{if(!W.inclusive)Y.exclusiveMaximum=!0;s(Y,"maximum",W.value,W.message,X)}break;case"multipleOf":s(Y,"multipleOf",W.value,W.message,X);break}return Y}function u3(Q,X){let Y=X.target==="openAi",W={type:"object",properties:{}},$=[],J=Q.shape();for(let H in J){let B=J[H];if(B===void 0||B._def===void 0)continue;let z=pM(B);if(z&&Y){if(B._def.typeName==="ZodOptional")B=B._def.innerType;if(!B.isNullable())B=B.nullable();z=!1}let K=u(B._def,{...X,currentPath:[...X.currentPath,"properties",H],propertyPath:[...X.currentPath,"properties",H]});if(K===void 0)continue;if(W.properties[H]=K,!z)$.push(H)}if($.length)W.required=$;let G=cM(Q,X);if(G!==void 0)W.additionalProperties=G;return W}function cM(Q,X){if(Q.catchall._def.typeName!=="ZodNever")return u(Q.catchall._def,{...X,currentPath:[...X.currentPath,"additionalProperties"]});switch(Q.unknownKeys){case"passthrough":return X.allowedAdditionalProperties;case"strict":return X.rejectedAdditionalProperties;case"strip":return X.removeAdditionalStrategy==="strict"?X.allowedAdditionalProperties:X.rejectedAdditionalProperties}}function pM(Q){try{return Q.isOptional()}catch{return!0}}var l3=(Q,X)=>{if(X.currentPath.toString()===X.propertyPath?.toString())return u(Q.innerType._def,X);let Y=u(Q.innerType._def,{...X,currentPath:[...X.currentPath,"anyOf","1"]});return Y?{anyOf:[{not:w0(X)},Y]}:w0(X)};var m3=(Q,X)=>{if(X.pipeStrategy==="input")return u(Q.in._def,X);else if(X.pipeStrategy==="output")return u(Q.out._def,X);let Y=u(Q.in._def,{...X,currentPath:[...X.currentPath,"allOf","0"]}),W=u(Q.out._def,{...X,currentPath:[...X.currentPath,"allOf",Y?"1":"0"]});return{allOf:[Y,W].filter(($)=>$!==void 0)}};function c3(Q,X){return u(Q.type._def,X)}function p3(Q,X){let W={type:"array",uniqueItems:!0,items:u(Q.valueType._def,{...X,currentPath:[...X.currentPath,"items"]})};if(Q.minSize)s(W,"minItems",Q.minSize.value,Q.minSize.message,X);if(Q.maxSize)s(W,"maxItems",Q.maxSize.value,Q.maxSize.message,X);return W}function d3(Q,X){if(Q.rest)return{type:"array",minItems:Q.items.length,items:Q.items.map((Y,W)=>u(Y._def,{...X,currentPath:[...X.currentPath,"items",`${W}`]})).reduce((Y,W)=>W===void 0?Y:[...Y,W],[]),additionalItems:u(Q.rest._def,{...X,currentPath:[...X.currentPath,"additionalItems"]})};else return{type:"array",minItems:Q.items.length,maxItems:Q.items.length,items:Q.items.map((Y,W)=>u(Y._def,{...X,currentPath:[...X.currentPath,"items",`${W}`]})).reduce((Y,W)=>W===void 0?Y:[...Y,W],[])}}function i3(Q){return{not:w0(Q)}}function n3(Q){return w0(Q)}var o3=(Q,X)=>{return u(Q.innerType._def,X)};var r3=(Q,X,Y)=>{switch(X){case P.ZodString:return cQ(Q,Y);case P.ZodNumber:return h3(Q,Y);case P.ZodObject:return u3(Q,Y);case P.ZodBigInt:return b3(Q,Y);case P.ZodBoolean:return P3();case P.ZodDate:return L5(Q,Y);case P.ZodUndefined:return i3(Y);case P.ZodNull:return x3(Y);case P.ZodArray:return N3(Q,Y);case P.ZodUnion:case P.ZodDiscriminatedUnion:return g3(Q,Y);case P.ZodIntersection:return I3(Q,Y);case P.ZodTuple:return d3(Q,Y);case P.ZodRecord:return pQ(Q,Y);case P.ZodLiteral:return T3(Q,Y);case P.ZodEnum:return S3(Q);case P.ZodNativeEnum:return v3(Q);case P.ZodNullable:return f3(Q,Y);case P.ZodOptional:return l3(Q,Y);case P.ZodMap:return k3(Q,Y);case P.ZodSet:return p3(Q,Y);case P.ZodLazy:return()=>Q.getter()._def;case P.ZodPromise:return c3(Q,Y);case P.ZodNaN:case P.ZodNever:return _3(Y);case P.ZodEffects:return E3(Q,Y);case P.ZodAny:return w0(Y);case P.ZodUnknown:return n3(Y);case P.ZodDefault:return R3(Q,Y);case P.ZodBranded:return mQ(Q,Y);case P.ZodReadonly:return o3(Q,Y);case P.ZodCatch:return Z3(Q,Y);case P.ZodPipeline:return m3(Q,Y);case P.ZodFunction:case P.ZodVoid:case P.ZodSymbol:return;default:return((W)=>{return})(X)}};function u(Q,X,Y=!1){let W=X.seen.get(Q);if(X.override){let H=X.override?.(Q,X,W,Y);if(H!==j3)return H}if(W&&!Y){let H=dM(W,X);if(H!==void 0)return H}let $={def:Q,path:X.currentPath,jsonSchema:void 0};X.seen.set(Q,$);let J=r3(Q,Q.typeName,X),G=typeof J==="function"?u(J(),X):J;if(G)iM(Q,X,G);if(X.postProcess){let H=X.postProcess(G,Q,X);return $.jsonSchema=G,H}return $.jsonSchema=G,G}var dM=(Q,X)=>{switch(X.$refStrategy){case"root":return{$ref:Q.path.join("/")};case"relative":return{$ref:lQ(X.currentPath,Q.path)};case"none":case"seen":{if(Q.path.length<X.currentPath.length&&Q.path.every((Y,W)=>X.currentPath[W]===Y))return console.warn(`Recursive reference detected at ${X.currentPath.join("/")}! Defaulting to any`),w0(X);return X.$refStrategy==="seen"?w0(X):void 0}}},iM=(Q,X,Y)=>{if(Q.description){if(Y.description=Q.description,X.markdownDescription)Y.markdownDescription=Q.description}return Y};var j5=(Q,X)=>{let Y=M3(X),W=typeof X==="object"&&X.definitions?Object.entries(X.definitions).reduce((B,[z,K])=>({...B,[z]:u(K._def,{...Y,currentPath:[...Y.basePath,Y.definitionPath,z]},!0)??w0(Y)}),{}):void 0,$=typeof X==="string"?X:X?.nameStrategy==="title"?void 0:X?.name,J=u(Q._def,$===void 0?Y:{...Y,currentPath:[...Y.basePath,Y.definitionPath,$]},!1)??w0(Y),G=typeof X==="object"&&X.name!==void 0&&X.nameStrategy==="title"?X.name:void 0;if(G!==void 0)J.title=G;if(Y.flags.hasReferencedOpenAiAnyType){if(!W)W={};if(!W[Y.openAiAnyTypeName])W[Y.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:Y.$refStrategy==="relative"?"1":[...Y.basePath,Y.definitionPath,Y.openAiAnyTypeName].join("/")}}}let H=$===void 0?W?{...J,[Y.definitionPath]:W}:J:{$ref:[...Y.$refStrategy==="relative"?[]:Y.basePath,Y.definitionPath,$].join("/"),[Y.definitionPath]:{...W,[$]:J}};if(Y.target==="jsonSchema7")H.$schema="http://json-schema.org/draft-07/schema#";else if(Y.target==="jsonSchema2019-09"||Y.target==="openAi")H.$schema="https://json-schema.org/draft/2019-09/schema#";if(Y.target==="openAi"&&(("anyOf"in H)||("oneOf"in H)||("allOf"in H)||("type"in H)&&Array.isArray(H.type)))console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property.");return H};function nM(Q){if(!Q)return"draft-7";if(Q==="jsonSchema7"||Q==="draft-7")return"draft-7";if(Q==="jsonSchema2019-09"||Q==="draft-2020-12")return"draft-2020-12";return"draft-7"}function w5(Q,X){if(s0(Q))return VQ(Q,{target:nM(X?.target),io:X?.pipeStrategy??"input"});return j5(Q,{strictUnions:X?.strictUnions??!0,pipeStrategy:X?.pipeStrategy??"input"})}function M5(Q){let Y=m1(Q)?.method;if(!Y)throw Error("Schema is missing a method literal");let W=DQ(Y);if(typeof W!=="string")throw Error("Schema method literal must be a string");return W}function N5(Q,X){let Y=c0(Q,X);if(!Y.success)throw Y.error;return Y.data}var oM=60000;class o4{constructor(Q){if(this._options=Q,this._requestMessageId=0,this._requestHandlers=new Map,this._requestHandlerAbortControllers=new Map,this._notificationHandlers=new Map,this._responseHandlers=new Map,this._progressHandlers=new Map,this._timeoutInfo=new Map,this._pendingDebouncedNotifications=new Set,this._taskProgressTokens=new Map,this._requestResolvers=new Map,this.setNotificationHandler(PQ,(X)=>{this._oncancel(X)}),this.setNotificationHandler(EQ,(X)=>{this._onprogress(X)}),this.setRequestHandler(RQ,(X)=>({})),this._taskStore=Q?.taskStore,this._taskMessageQueue=Q?.taskMessageQueue,this._taskStore)this.setRequestHandler(SQ,async(X,Y)=>{let W=await this._taskStore.getTask(X.params.taskId,Y.sessionId);if(!W)throw new S(k.InvalidParams,"Failed to retrieve task: Task not found");return{...W}}),this.setRequestHandler(TQ,async(X,Y)=>{let W=async()=>{let $=X.params.taskId;if(this._taskMessageQueue){let G;while(G=await this._taskMessageQueue.dequeue($,Y.sessionId)){if(G.type==="response"||G.type==="error"){let H=G.message,B=H.id,z=this._requestResolvers.get(B);if(z)if(this._requestResolvers.delete(B),G.type==="response")z(H);else{let K=H,V=new S(K.error.code,K.error.message,K.error.data);z(V)}else{let K=G.type==="response"?"Response":"Error";this._onerror(Error(`${K} handler missing for request ${B}`))}continue}await this._transport?.send(G.message,{relatedRequestId:Y.requestId})}}let J=await this._taskStore.getTask($,Y.sessionId);if(!J)throw new S(k.InvalidParams,`Task not found: ${$}`);if(!w6(J.status))return await this._waitForTaskUpdate($,Y.signal),await W();if(w6(J.status)){let G=await this._taskStore.getTaskResult($,Y.sessionId);return this._clearTaskQueue($),{...G,_meta:{...G._meta,[U6]:{taskId:$}}}}return await W()};return await W()}),this.setRequestHandler(CQ,async(X,Y)=>{try{let{tasks:W,nextCursor:$}=await this._taskStore.listTasks(X.params?.cursor,Y.sessionId);return{tasks:W,nextCursor:$,_meta:{}}}catch(W){throw new S(k.InvalidParams,`Failed to list tasks: ${W instanceof Error?W.message:String(W)}`)}}),this.setRequestHandler(vQ,async(X,Y)=>{try{let W=await this._taskStore.getTask(X.params.taskId,Y.sessionId);if(!W)throw new S(k.InvalidParams,`Task not found: ${X.params.taskId}`);if(w6(W.status))throw new S(k.InvalidParams,`Cannot cancel task in terminal status: ${W.status}`);await this._taskStore.updateTaskStatus(X.params.taskId,"cancelled","Client cancelled task execution.",Y.sessionId),this._clearTaskQueue(X.params.taskId);let $=await this._taskStore.getTask(X.params.taskId,Y.sessionId);if(!$)throw new S(k.InvalidParams,`Task not found after cancellation: ${X.params.taskId}`);return{_meta:{},...$}}catch(W){if(W instanceof S)throw W;throw new S(k.InvalidRequest,`Failed to cancel task: ${W instanceof Error?W.message:String(W)}`)}})}async _oncancel(Q){if(!Q.params.requestId)return;this._requestHandlerAbortControllers.get(Q.params.requestId)?.abort(Q.params.reason)}_setupTimeout(Q,X,Y,W,$=!1){this._timeoutInfo.set(Q,{timeoutId:setTimeout(W,X),startTime:Date.now(),timeout:X,maxTotalTimeout:Y,resetTimeoutOnProgress:$,onTimeout:W})}_resetTimeout(Q){let X=this._timeoutInfo.get(Q);if(!X)return!1;let Y=Date.now()-X.startTime;if(X.maxTotalTimeout&&Y>=X.maxTotalTimeout)throw this._timeoutInfo.delete(Q),S.fromError(k.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:X.maxTotalTimeout,totalElapsed:Y});return clearTimeout(X.timeoutId),X.timeoutId=setTimeout(X.onTimeout,X.timeout),!0}_cleanupTimeout(Q){let X=this._timeoutInfo.get(Q);if(X)clearTimeout(X.timeoutId),this._timeoutInfo.delete(Q)}async connect(Q){this._transport=Q;let X=this.transport?.onclose;this._transport.onclose=()=>{X?.(),this._onclose()};let Y=this.transport?.onerror;this._transport.onerror=($)=>{Y?.($),this._onerror($)};let W=this._transport?.onmessage;this._transport.onmessage=($,J)=>{if(W?.($,J),t6($)||J3($))this._onresponse($);else if(v4($))this._onrequest($,J);else if($3($))this._onnotification($);else this._onerror(Error(`Unknown message type: ${JSON.stringify($)}`))},await this._transport.start()}_onclose(){let Q=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();let X=S.fromError(k.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(let Y of Q.values())Y(X)}_onerror(Q){this.onerror?.(Q)}_onnotification(Q){let X=this._notificationHandlers.get(Q.method)??this.fallbackNotificationHandler;if(X===void 0)return;Promise.resolve().then(()=>X(Q)).catch((Y)=>this._onerror(Error(`Uncaught error in notification handler: ${Y}`)))}_onrequest(Q,X){let Y=this._requestHandlers.get(Q.method)??this.fallbackRequestHandler,W=this._transport,$=Q.params?._meta?.[U6]?.taskId;if(Y===void 0){let z={jsonrpc:"2.0",id:Q.id,error:{code:k.MethodNotFound,message:"Method not found"}};if($&&this._taskMessageQueue)this._enqueueTaskMessage($,{type:"error",message:z,timestamp:Date.now()},W?.sessionId).catch((K)=>this._onerror(Error(`Failed to enqueue error response: ${K}`)));else W?.send(z).catch((K)=>this._onerror(Error(`Failed to send an error response: ${K}`)));return}let J=new AbortController;this._requestHandlerAbortControllers.set(Q.id,J);let G=X3(Q.params)?Q.params.task:void 0,H=this._taskStore?this.requestTaskStore(Q,W?.sessionId):void 0,B={signal:J.signal,sessionId:W?.sessionId,_meta:Q.params?._meta,sendNotification:async(z)=>{let K={relatedRequestId:Q.id};if($)K.relatedTask={taskId:$};await this.notification(z,K)},sendRequest:async(z,K,V)=>{let D={...V,relatedRequestId:Q.id};if($&&!D.relatedTask)D.relatedTask={taskId:$};let F=D.relatedTask?.taskId??$;if(F&&H)await H.updateTaskStatus(F,"input_required");return await this.request(z,K,D)},authInfo:X?.authInfo,requestId:Q.id,requestInfo:X?.requestInfo,taskId:$,taskStore:H,taskRequestedTtl:G?.ttl,closeSSEStream:X?.closeSSEStream,closeStandaloneSSEStream:X?.closeStandaloneSSEStream};Promise.resolve().then(()=>{if(G)this.assertTaskHandlerCapability(Q.method)}).then(()=>Y(Q,B)).then(async(z)=>{if(J.signal.aborted)return;let K={result:z,jsonrpc:"2.0",id:Q.id};if($&&this._taskMessageQueue)await this._enqueueTaskMessage($,{type:"response",message:K,timestamp:Date.now()},W?.sessionId);else await W?.send(K)},async(z)=>{if(J.signal.aborted)return;let K={jsonrpc:"2.0",id:Q.id,error:{code:Number.isSafeInteger(z.code)?z.code:k.InternalError,message:z.message??"Internal error",...z.data!==void 0&&{data:z.data}}};if($&&this._taskMessageQueue)await this._enqueueTaskMessage($,{type:"error",message:K,timestamp:Date.now()},W?.sessionId);else await W?.send(K)}).catch((z)=>this._onerror(Error(`Failed to send response: ${z}`))).finally(()=>{this._requestHandlerAbortControllers.delete(Q.id)})}_onprogress(Q){let{progressToken:X,...Y}=Q.params,W=Number(X),$=this._progressHandlers.get(W);if(!$){this._onerror(Error(`Received a progress notification for an unknown token: ${JSON.stringify(Q)}`));return}let J=this._responseHandlers.get(W),G=this._timeoutInfo.get(W);if(G&&J&&G.resetTimeoutOnProgress)try{this._resetTimeout(W)}catch(H){this._responseHandlers.delete(W),this._progressHandlers.delete(W),this._cleanupTimeout(W),J(H);return}$(Y)}_onresponse(Q){let X=Number(Q.id),Y=this._requestResolvers.get(X);if(Y){if(this._requestResolvers.delete(X),t6(Q))Y(Q);else{let J=new S(Q.error.code,Q.error.message,Q.error.data);Y(J)}return}let W=this._responseHandlers.get(X);if(W===void 0){this._onerror(Error(`Received a response for an unknown message ID: ${JSON.stringify(Q)}`));return}this._responseHandlers.delete(X),this._cleanupTimeout(X);let $=!1;if(t6(Q)&&Q.result&&typeof Q.result==="object"){let J=Q.result;if(J.task&&typeof J.task==="object"){let G=J.task;if(typeof G.taskId==="string")$=!0,this._taskProgressTokens.set(G.taskId,X)}}if(!$)this._progressHandlers.delete(X);if(t6(Q))W(Q);else{let J=S.fromError(Q.error.code,Q.error.message,Q.error.data);W(J)}}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(Q,X,Y){let{task:W}=Y??{};if(!W){try{yield{type:"result",result:await this.request(Q,X,Y)}}catch(J){yield{type:"error",error:J instanceof S?J:new S(k.InternalError,String(J))}}return}let $;try{let J=await this.request(Q,e1,Y);if(J.task)$=J.task.taskId,yield{type:"taskCreated",task:J.task};else throw new S(k.InternalError,"Task creation did not return a task");while(!0){let G=await this.getTask({taskId:$},Y);if(yield{type:"taskStatus",task:G},w6(G.status)){if(G.status==="completed")yield{type:"result",result:await this.getTaskResult({taskId:$},X,Y)};else if(G.status==="failed")yield{type:"error",error:new S(k.InternalError,`Task ${$} failed`)};else if(G.status==="cancelled")yield{type:"error",error:new S(k.InternalError,`Task ${$} was cancelled`)};return}if(G.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:$},X,Y)};return}let H=G.pollInterval??this._options?.defaultTaskPollInterval??1000;await new Promise((B)=>setTimeout(B,H)),Y?.signal?.throwIfAborted()}}catch(J){yield{type:"error",error:J instanceof S?J:new S(k.InternalError,String(J))}}}request(Q,X,Y){let{relatedRequestId:W,resumptionToken:$,onresumptiontoken:J,task:G,relatedTask:H}=Y??{};return new Promise((B,z)=>{let K=(O)=>{z(O)};if(!this._transport){K(Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{if(this.assertCapabilityForMethod(Q.method),G)this.assertTaskCapability(Q.method)}catch(O){K(O);return}Y?.signal?.throwIfAborted();let V=this._requestMessageId++,D={...Q,jsonrpc:"2.0",id:V};if(Y?.onprogress)this._progressHandlers.set(V,Y.onprogress),D.params={...Q.params,_meta:{...Q.params?._meta||{},progressToken:V}};if(G)D.params={...D.params,task:G};if(H)D.params={...D.params,_meta:{...D.params?._meta||{},[U6]:H}};let F=(O)=>{this._responseHandlers.delete(V),this._progressHandlers.delete(V),this._cleanupTimeout(V),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:V,reason:String(O)}},{relatedRequestId:W,resumptionToken:$,onresumptiontoken:J}).catch((N)=>this._onerror(Error(`Failed to send cancellation: ${N}`)));let M=O instanceof S?O:new S(k.RequestTimeout,String(O));z(M)};this._responseHandlers.set(V,(O)=>{if(Y?.signal?.aborted)return;if(O instanceof Error)return z(O);try{let M=c0(X,O.result);if(!M.success)z(M.error);else B(M.data)}catch(M){z(M)}}),Y?.signal?.addEventListener("abort",()=>{F(Y?.signal?.reason)});let q=Y?.timeout??oM,A=()=>F(S.fromError(k.RequestTimeout,"Request timed out",{timeout:q}));this._setupTimeout(V,q,Y?.maxTotalTimeout,A,Y?.resetTimeoutOnProgress??!1);let L=H?.taskId;if(L){let O=(M)=>{let N=this._responseHandlers.get(V);if(N)N(M);else this._onerror(Error(`Response handler missing for side-channeled request ${V}`))};this._requestResolvers.set(V,O),this._enqueueTaskMessage(L,{type:"request",message:D,timestamp:Date.now()}).catch((M)=>{this._cleanupTimeout(V),z(M)})}else this._transport.send(D,{relatedRequestId:W,resumptionToken:$,onresumptiontoken:J}).catch((O)=>{this._cleanupTimeout(V),z(O)})})}async getTask(Q,X){return this.request({method:"tasks/get",params:Q},IQ,X)}async getTaskResult(Q,X,Y){return this.request({method:"tasks/result",params:Q},X,Y)}async listTasks(Q,X){return this.request({method:"tasks/list",params:Q},kQ,X)}async cancelTask(Q,X){return this.request({method:"tasks/cancel",params:Q},B3,X)}async notification(Q,X){if(!this._transport)throw Error("Not connected");this.assertNotificationCapability(Q.method);let Y=X?.relatedTask?.taskId;if(Y){let G={...Q,jsonrpc:"2.0",params:{...Q.params,_meta:{...Q.params?._meta||{},[U6]:X.relatedTask}}};await this._enqueueTaskMessage(Y,{type:"notification",message:G,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(Q.method)&&!Q.params&&!X?.relatedRequestId&&!X?.relatedTask){if(this._pendingDebouncedNotifications.has(Q.method))return;this._pendingDebouncedNotifications.add(Q.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(Q.method),!this._transport)return;let G={...Q,jsonrpc:"2.0"};if(X?.relatedTask)G={...G,params:{...G.params,_meta:{...G.params?._meta||{},[U6]:X.relatedTask}}};this._transport?.send(G,X).catch((H)=>this._onerror(H))});return}let J={...Q,jsonrpc:"2.0"};if(X?.relatedTask)J={...J,params:{...J.params,_meta:{...J.params?._meta||{},[U6]:X.relatedTask}}};await this._transport.send(J,X)}setRequestHandler(Q,X){let Y=M5(Q);this.assertRequestHandlerCapability(Y),this._requestHandlers.set(Y,(W,$)=>{let J=N5(Q,W);return Promise.resolve(X(J,$))})}removeRequestHandler(Q){this._requestHandlers.delete(Q)}assertCanSetRequestHandler(Q){if(this._requestHandlers.has(Q))throw Error(`A request handler for ${Q} already exists, which would be overridden`)}setNotificationHandler(Q,X){let Y=M5(Q);this._notificationHandlers.set(Y,(W)=>{let $=N5(Q,W);return Promise.resolve(X($))})}removeNotificationHandler(Q){this._notificationHandlers.delete(Q)}_cleanupTaskProgressHandler(Q){let X=this._taskProgressTokens.get(Q);if(X!==void 0)this._progressHandlers.delete(X),this._taskProgressTokens.delete(Q)}async _enqueueTaskMessage(Q,X,Y){if(!this._taskStore||!this._taskMessageQueue)throw Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");let W=this._options?.maxTaskQueueSize;await this._taskMessageQueue.enqueue(Q,X,Y,W)}async _clearTaskQueue(Q,X){if(this._taskMessageQueue){let Y=await this._taskMessageQueue.dequeueAll(Q,X);for(let W of Y)if(W.type==="request"&&v4(W.message)){let $=W.message.id,J=this._requestResolvers.get($);if(J)J(new S(k.InternalError,"Task cancelled or completed")),this._requestResolvers.delete($);else this._onerror(Error(`Resolver missing for request ${$} during task ${Q} cleanup`))}}}async _waitForTaskUpdate(Q,X){let Y=this._options?.defaultTaskPollInterval??1000;try{let W=await this._taskStore?.getTask(Q);if(W?.pollInterval)Y=W.pollInterval}catch{}return new Promise((W,$)=>{if(X.aborted){$(new S(k.InvalidRequest,"Request cancelled"));return}let J=setTimeout(W,Y);X.addEventListener("abort",()=>{clearTimeout(J),$(new S(k.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(Q,X){let Y=this._taskStore;if(!Y)throw Error("No task store configured");return{createTask:async(W)=>{if(!Q)throw Error("No request provided");return await Y.createTask(W,Q.id,{method:Q.method,params:Q.params},X)},getTask:async(W)=>{let $=await Y.getTask(W,X);if(!$)throw new S(k.InvalidParams,"Failed to retrieve task: Task not found");return $},storeTaskResult:async(W,$,J)=>{await Y.storeTaskResult(W,$,J,X);let G=await Y.getTask(W,X);if(G){let H=f4.parse({method:"notifications/tasks/status",params:G});if(await this.notification(H),w6(G.status))this._cleanupTaskProgressHandler(W)}},getTaskResult:(W)=>{return Y.getTaskResult(W,X)},updateTaskStatus:async(W,$,J)=>{let G=await Y.getTask(W,X);if(!G)throw new S(k.InvalidParams,`Task "${W}" not found - it may have been cleaned up`);if(w6(G.status))throw new S(k.InvalidParams,`Cannot update task "${W}" from terminal status "${G.status}" to "${$}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await Y.updateTaskStatus(W,$,J,X);let H=await Y.getTask(W,X);if(H){let B=f4.parse({method:"notifications/tasks/status",params:H});if(await this.notification(B),w6(H.status))this._cleanupTaskProgressHandler(W)}},listTasks:(W)=>{return Y.listTasks(W,X)}}}}function t3(Q){return Q!==null&&typeof Q==="object"&&!Array.isArray(Q)}function dQ(Q,X){let Y={...Q};for(let W in X){let $=W,J=X[$];if(J===void 0)continue;let G=Y[$];if(t3(G)&&t3(J))Y[$]={...G,...J};else Y[$]=J}return Y}var IL=F4(KV(),1),TL=F4(SL(),1);function Ay(){let Q=new IL.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return TL.default(Q),Q}class u8{constructor(Q){this._ajv=Q??Ay()}getValidator(Q){let X="$id"in Q&&typeof Q.$id==="string"?this._ajv.getSchema(Q.$id)??this._ajv.compile(Q):this._ajv.compile(Q);return(Y)=>{if(X(Y))return{valid:!0,data:Y,errorMessage:void 0};else return{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(X.errors)}}}}class VJ{constructor(Q){this._server=Q}requestStream(Q,X,Y){return this._server.requestStream(Q,X,Y)}async getTask(Q,X){return this._server.getTask({taskId:Q},X)}async getTaskResult(Q,X,Y){return this._server.getTaskResult({taskId:Q},X,Y)}async listTasks(Q,X){return this._server.listTasks(Q?{cursor:Q}:void 0,X)}async cancelTask(Q,X){return this._server.cancelTask({taskId:Q},X)}}function zY(Q,X,Y){if(!Q)throw Error(`${Y} does not support task creation (required for ${X})`);switch(X){case"tools/call":if(!Q.tools?.call)throw Error(`${Y} does not support task creation for tools/call (required for ${X})`);break;default:break}}function KY(Q,X,Y){if(!Q)throw Error(`${Y} does not support task creation (required for ${X})`);switch(X){case"sampling/createMessage":if(!Q.sampling?.createMessage)throw Error(`${Y} does not support task creation for sampling/createMessage (required for ${X})`);break;case"elicitation/create":if(!Q.elicitation?.create)throw Error(`${Y} does not support task creation for elicitation/create (required for ${X})`);break;default:break}}class qJ extends o4{constructor(Q,X){super(X);if(this._serverInfo=Q,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(c4.options.map((Y,W)=>[Y,W])),this.isMessageIgnored=(Y,W)=>{let $=this._loggingLevels.get(W);return $?this.LOG_LEVEL_SEVERITY.get(Y)<this.LOG_LEVEL_SEVERITY.get($):!1},this._capabilities=X?.capabilities??{},this._instructions=X?.instructions,this._jsonSchemaValidator=X?.jsonSchemaValidator??new u8,this.setRequestHandler(r7,(Y)=>this._oninitialize(Y)),this.setNotificationHandler(ZQ,()=>this.oninitialized?.()),this._capabilities.logging)this.setRequestHandler(K5,async(Y,W)=>{let $=W.sessionId||W.requestInfo?.headers["mcp-session-id"]||void 0,{level:J}=Y.params,G=c4.safeParse(J);if(G.success)this._loggingLevels.set($,G.data);return{}})}get experimental(){if(!this._experimental)this._experimental={tasks:new VJ(this)};return this._experimental}registerCapabilities(Q){if(this.transport)throw Error("Cannot register capabilities after connecting to transport");this._capabilities=dQ(this._capabilities,Q)}setRequestHandler(Q,X){let W=m1(Q)?.method;if(!W)throw Error("Schema is missing a method literal");let $;if(s0(W)){let G=W;$=G._zod?.def?.value??G.value}else{let G=W;$=G._def?.value??G.value}if(typeof $!=="string")throw Error("Schema method literal must be a string");if($==="tools/call"){let G=async(H,B)=>{let z=c0(x9,H);if(!z.success){let F=z.error instanceof Error?z.error.message:String(z.error);throw new S(k.InvalidParams,`Invalid tools/call request: ${F}`)}let{params:K}=z.data,V=await Promise.resolve(X(H,B));if(K.task){let F=c0(e1,V);if(!F.success){let q=F.error instanceof Error?F.error.message:String(F.error);throw new S(k.InvalidParams,`Invalid task creation result: ${q}`)}return F.data}let D=c0(j6,V);if(!D.success){let F=D.error instanceof Error?D.error.message:String(D.error);throw new S(k.InvalidParams,`Invalid tools/call result: ${F}`)}return D.data};return super.setRequestHandler(Q,G)}return super.setRequestHandler(Q,X)}assertCapabilityForMethod(Q){switch(Q){case"sampling/createMessage":if(!this._clientCapabilities?.sampling)throw Error(`Client does not support sampling (required for ${Q})`);break;case"elicitation/create":if(!this._clientCapabilities?.elicitation)throw Error(`Client does not support elicitation (required for ${Q})`);break;case"roots/list":if(!this._clientCapabilities?.roots)throw Error(`Client does not support listing roots (required for ${Q})`);break;case"ping":break}}assertNotificationCapability(Q){switch(Q){case"notifications/message":if(!this._capabilities.logging)throw Error(`Server does not support logging (required for ${Q})`);break;case"notifications/resources/updated":case"notifications/resources/list_changed":if(!this._capabilities.resources)throw Error(`Server does not support notifying about resources (required for ${Q})`);break;case"notifications/tools/list_changed":if(!this._capabilities.tools)throw Error(`Server does not support notifying of tool list changes (required for ${Q})`);break;case"notifications/prompts/list_changed":if(!this._capabilities.prompts)throw Error(`Server does not support notifying of prompt list changes (required for ${Q})`);break;case"notifications/elicitation/complete":if(!this._clientCapabilities?.elicitation?.url)throw Error(`Client does not support URL elicitation (required for ${Q})`);break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(Q){if(!this._capabilities)return;switch(Q){case"completion/complete":if(!this._capabilities.completions)throw Error(`Server does not support completions (required for ${Q})`);break;case"logging/setLevel":if(!this._capabilities.logging)throw Error(`Server does not support logging (required for ${Q})`);break;case"prompts/get":case"prompts/list":if(!this._capabilities.prompts)throw Error(`Server does not support prompts (required for ${Q})`);break;case"resources/list":case"resources/templates/list":case"resources/read":if(!this._capabilities.resources)throw Error(`Server does not support resources (required for ${Q})`);break;case"tools/call":case"tools/list":if(!this._capabilities.tools)throw Error(`Server does not support tools (required for ${Q})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw Error(`Server does not support tasks capability (required for ${Q})`);break;case"ping":case"initialize":break}}assertTaskCapability(Q){KY(this._clientCapabilities?.tasks?.requests,Q,"Client")}assertTaskHandlerCapability(Q){if(!this._capabilities)return;zY(this._capabilities.tasks?.requests,Q,"Server")}async _oninitialize(Q){let X=Q.params.protocolVersion;return this._clientCapabilities=Q.params.capabilities,this._clientVersion=Q.params.clientInfo,{protocolVersion:MQ.includes(X)?X:O6,capabilities:this.getCapabilities(),serverInfo:this._serverInfo,...this._instructions&&{instructions:this._instructions}}}getClientCapabilities(){return this._clientCapabilities}getClientVersion(){return this._clientVersion}getCapabilities(){return this._capabilities}async ping(){return this.request({method:"ping"},s1)}async createMessage(Q,X){if(Q.tools||Q.toolChoice){if(!this._clientCapabilities?.sampling?.tools)throw Error("Client does not support sampling tools capability.")}if(Q.messages.length>0){let Y=Q.messages[Q.messages.length-1],W=Array.isArray(Y.content)?Y.content:[Y.content],$=W.some((B)=>B.type==="tool_result"),J=Q.messages.length>1?Q.messages[Q.messages.length-2]:void 0,G=J?Array.isArray(J.content)?J.content:[J.content]:[],H=G.some((B)=>B.type==="tool_use");if($){if(W.some((B)=>B.type!=="tool_result"))throw Error("The last message must contain only tool_result content if any is present");if(!H)throw Error("tool_result blocks are not matching any tool_use from the previous message")}if(H){let B=new Set(G.filter((K)=>K.type==="tool_use").map((K)=>K.id)),z=new Set(W.filter((K)=>K.type==="tool_result").map((K)=>K.toolUseId));if(B.size!==z.size||![...B].every((K)=>z.has(K)))throw Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}if(Q.tools)return this.request({method:"sampling/createMessage",params:Q},V5,X);return this.request({method:"sampling/createMessage",params:Q},d4,X)}async elicitInput(Q,X){switch(Q.mode??"form"){case"url":{if(!this._clientCapabilities?.elicitation?.url)throw Error("Client does not support url elicitation.");let W=Q;return this.request({method:"elicitation/create",params:W},y9,X)}case"form":{if(!this._clientCapabilities?.elicitation?.form)throw Error("Client does not support form elicitation.");let W=Q.mode==="form"?Q:{...Q,mode:"form"},$=await this.request({method:"elicitation/create",params:W},y9,X);if($.action==="accept"&&$.content&&W.requestedSchema)try{let G=this._jsonSchemaValidator.getValidator(W.requestedSchema)($.content);if(!G.valid)throw new S(k.InvalidParams,`Elicitation response content does not match requested schema: ${G.errorMessage}`)}catch(J){if(J instanceof S)throw J;throw new S(k.InternalError,`Error validating elicitation response: ${J instanceof Error?J.message:String(J)}`)}return $}}}createElicitationCompletionNotifier(Q,X){if(!this._clientCapabilities?.elicitation?.url)throw Error("Client does not support URL elicitation (required for notifications/elicitation/complete)");return()=>this.notification({method:"notifications/elicitation/complete",params:{elicitationId:Q}},X)}async listRoots(Q,X){return this.request({method:"roots/list",params:Q},A5,X)}async sendLoggingMessage(Q,X){if(this._capabilities.logging){if(!this.isMessageIgnored(Q.level,X))return this.notification({method:"notifications/message",params:Q})}}async sendResourceUpdated(Q){return this.notification({method:"notifications/resources/updated",params:Q})}async sendResourceListChanged(){return this.notification({method:"notifications/resources/list_changed"})}async sendToolListChanged(){return this.notification({method:"notifications/tools/list_changed"})}async sendPromptListChanged(){return this.notification({method:"notifications/prompts/list_changed"})}}var kL=Symbol.for("mcp.completable");function AJ(Q){return!!Q&&typeof Q==="object"&&kL in Q}function vL(Q){return Q[kL]?.complete}var CL;(function(Q){Q.Completable="McpCompletable"})(CL||(CL={}));var Dy=/^[A-Za-z0-9._-]{1,128}$/;function Ly(Q){let X=[];if(Q.length===0)return{isValid:!1,warnings:["Tool name cannot be empty"]};if(Q.length>128)return{isValid:!1,warnings:[`Tool name exceeds maximum length of 128 characters (current: ${Q.length})`]};if(Q.includes(" "))X.push("Tool name contains spaces, which may cause parsing issues");if(Q.includes(","))X.push("Tool name contains commas, which may cause parsing issues");if(Q.startsWith("-")||Q.endsWith("-"))X.push("Tool name starts or ends with a dash, which may cause parsing issues in some contexts");if(Q.startsWith(".")||Q.endsWith("."))X.push("Tool name starts or ends with a dot, which may cause parsing issues in some contexts");if(!Dy.test(Q)){let Y=Q.split("").filter((W)=>!/[A-Za-z0-9._-]/.test(W)).filter((W,$,J)=>J.indexOf(W)===$);return X.push(`Tool name contains invalid characters: ${Y.map((W)=>`"${W}"`).join(", ")}`,"Allowed characters are: A-Z, a-z, 0-9, underscore (_), dash (-), and dot (.)"),{isValid:!1,warnings:X}}return{isValid:!0,warnings:X}}function Oy(Q,X){if(X.length>0){console.warn(`Tool name validation warning for "${Q}":`);for(let Y of X)console.warn(` - ${Y}`);console.warn("Tool registration will proceed, but this may cause compatibility issues."),console.warn("Consider updating the tool name to conform to the MCP tool naming standard."),console.warn("See SEP: Specify Format for Tool Names (https://github.com/modelcontextprotocol/modelcontextprotocol/issues/986) for more details.")}}function DJ(Q){let X=Ly(Q);return Oy(Q,X.warnings),X.isValid}class LJ{constructor(Q){this._mcpServer=Q}registerToolTask(Q,X,Y){let W={taskSupport:"required",...X.execution};if(W.taskSupport==="forbidden")throw Error(`Cannot register task-based tool '${Q}' with taskSupport 'forbidden'. Use registerTool() instead.`);return this._mcpServer._createRegisteredTool(Q,X.title,X.description,X.inputSchema,X.outputSchema,X.annotations,W,X._meta,Y)}}class UJ{constructor(Q,X){this._registeredResources={},this._registeredResourceTemplates={},this._registeredTools={},this._registeredPrompts={},this._toolHandlersInitialized=!1,this._completionHandlerInitialized=!1,this._resourceHandlersInitialized=!1,this._promptHandlersInitialized=!1,this.server=new qJ(Q,X)}get experimental(){if(!this._experimental)this._experimental={tasks:new LJ(this)};return this._experimental}async connect(Q){return await this.server.connect(Q)}async close(){await this.server.close()}setToolRequestHandlers(){if(this._toolHandlersInitialized)return;this.server.assertCanSetRequestHandler(_6(hQ)),this.server.assertCanSetRequestHandler(_6(x9)),this.server.registerCapabilities({tools:{listChanged:!0}}),this.server.setRequestHandler(hQ,()=>({tools:Object.entries(this._registeredTools).filter(([,Q])=>Q.enabled).map(([Q,X])=>{let Y={name:Q,title:X.title,description:X.description,inputSchema:(()=>{let W=C9(X.inputSchema);return W?w5(W,{strictUnions:!0,pipeStrategy:"input"}):Uy})(),annotations:X.annotations,execution:X.execution,_meta:X._meta};if(X.outputSchema){let W=C9(X.outputSchema);if(W)Y.outputSchema=w5(W,{strictUnions:!0,pipeStrategy:"output"})}return Y})})),this.server.setRequestHandler(x9,async(Q,X)=>{try{let Y=this._registeredTools[Q.params.name];if(!Y)throw new S(k.InvalidParams,`Tool ${Q.params.name} not found`);if(!Y.enabled)throw new S(k.InvalidParams,`Tool ${Q.params.name} disabled`);let W=!!Q.params.task,$=Y.execution?.taskSupport,J="createTask"in Y.handler;if(($==="required"||$==="optional")&&!J)throw new S(k.InternalError,`Tool ${Q.params.name} has taskSupport '${$}' but was not registered with registerToolTask`);if($==="required"&&!W)throw new S(k.MethodNotFound,`Tool ${Q.params.name} requires task augmentation (taskSupport: 'required')`);if($==="optional"&&!W&&J)return await this.handleAutomaticTaskPolling(Y,Q,X);let G=await this.validateToolInput(Y,Q.params.arguments,Q.params.name),H=await this.executeToolHandler(Y,G,X);if(W)return H;return await this.validateToolOutput(Y,H,Q.params.name),H}catch(Y){if(Y instanceof S){if(Y.code===k.UrlElicitationRequired)throw Y}return this.createToolError(Y instanceof Error?Y.message:String(Y))}}),this._toolHandlersInitialized=!0}createToolError(Q){return{content:[{type:"text",text:Q}],isError:!0}}async validateToolInput(Q,X,Y){if(!Q.inputSchema)return;let $=C9(Q.inputSchema)??Q.inputSchema,J=await qQ($,X);if(!J.success){let G="error"in J?J.error:"Unknown error",H=AQ(G);throw new S(k.InvalidParams,`Input validation error: Invalid arguments for tool ${Y}: ${H}`)}return J.data}async validateToolOutput(Q,X,Y){if(!Q.outputSchema)return;if(!("content"in X))return;if(X.isError)return;if(!X.structuredContent)throw new S(k.InvalidParams,`Output validation error: Tool ${Y} has an output schema but no structured content was provided`);let W=C9(Q.outputSchema),$=await qQ(W,X.structuredContent);if(!$.success){let J="error"in $?$.error:"Unknown error",G=AQ(J);throw new S(k.InvalidParams,`Output validation error: Invalid structured content for tool ${Y}: ${G}`)}}async executeToolHandler(Q,X,Y){let W=Q.handler;if("createTask"in W){if(!Y.taskStore)throw Error("No task store provided.");let J={...Y,taskStore:Y.taskStore};if(Q.inputSchema)return await Promise.resolve(W.createTask(X,J));else return await Promise.resolve(W.createTask(J))}if(Q.inputSchema)return await Promise.resolve(W(X,Y));else return await Promise.resolve(W(Y))}async handleAutomaticTaskPolling(Q,X,Y){if(!Y.taskStore)throw Error("No task store provided for task-capable tool.");let W=await this.validateToolInput(Q,X.params.arguments,X.params.name),$=Q.handler,J={...Y,taskStore:Y.taskStore},G=W?await Promise.resolve($.createTask(W,J)):await Promise.resolve($.createTask(J)),H=G.task.taskId,B=G.task,z=B.pollInterval??5000;while(B.status!=="completed"&&B.status!=="failed"&&B.status!=="cancelled"){await new Promise((V)=>setTimeout(V,z));let K=await Y.taskStore.getTask(H);if(!K)throw new S(k.InternalError,`Task ${H} not found during polling`);B=K}return await Y.taskStore.getTaskResult(H)}setCompletionRequestHandler(){if(this._completionHandlerInitialized)return;this.server.assertCanSetRequestHandler(_6(uQ)),this.server.registerCapabilities({completions:{}}),this.server.setRequestHandler(uQ,async(Q)=>{switch(Q.params.ref.type){case"ref/prompt":return D3(Q),this.handlePromptCompletion(Q,Q.params.ref);case"ref/resource":return L3(Q),this.handleResourceCompletion(Q,Q.params.ref);default:throw new S(k.InvalidParams,`Invalid completion reference: ${Q.params.ref}`)}}),this._completionHandlerInitialized=!0}async handlePromptCompletion(Q,X){let Y=this._registeredPrompts[X.name];if(!Y)throw new S(k.InvalidParams,`Prompt ${X.name} not found`);if(!Y.enabled)throw new S(k.InvalidParams,`Prompt ${X.name} disabled`);if(!Y.argsSchema)return l8;let $=m1(Y.argsSchema)?.[Q.params.argument.name];if(!AJ($))return l8;let J=vL($);if(!J)return l8;let G=await J(Q.params.argument.value,Q.params.context);return xL(G)}async handleResourceCompletion(Q,X){let Y=Object.values(this._registeredResourceTemplates).find((J)=>J.resourceTemplate.uriTemplate.toString()===X.uri);if(!Y){if(this._registeredResources[X.uri])return l8;throw new S(k.InvalidParams,`Resource template ${Q.params.ref.uri} not found`)}let W=Y.resourceTemplate.completeCallback(Q.params.argument.name);if(!W)return l8;let $=await W(Q.params.argument.value,Q.params.context);return xL($)}setResourceRequestHandlers(){if(this._resourceHandlersInitialized)return;this.server.assertCanSetRequestHandler(_6(_Q)),this.server.assertCanSetRequestHandler(_6(xQ)),this.server.assertCanSetRequestHandler(_6(yQ)),this.server.registerCapabilities({resources:{listChanged:!0}}),this.server.setRequestHandler(_Q,async(Q,X)=>{let Y=Object.entries(this._registeredResources).filter(([$,J])=>J.enabled).map(([$,J])=>({uri:$,name:J.name,...J.metadata})),W=[];for(let $ of Object.values(this._registeredResourceTemplates)){if(!$.resourceTemplate.listCallback)continue;let J=await $.resourceTemplate.listCallback(X);for(let G of J.resources)W.push({...$.metadata,...G})}return{resources:[...Y,...W]}}),this.server.setRequestHandler(xQ,async()=>{return{resourceTemplates:Object.entries(this._registeredResourceTemplates).map(([X,Y])=>({name:X,uriTemplate:Y.resourceTemplate.uriTemplate.toString(),...Y.metadata}))}}),this.server.setRequestHandler(yQ,async(Q,X)=>{let Y=new URL(Q.params.uri),W=this._registeredResources[Y.toString()];if(W){if(!W.enabled)throw new S(k.InvalidParams,`Resource ${Y} disabled`);return W.readCallback(Y,X)}for(let $ of Object.values(this._registeredResourceTemplates)){let J=$.resourceTemplate.uriTemplate.match(Y.toString());if(J)return $.readCallback(Y,J,X)}throw new S(k.InvalidParams,`Resource ${Y} not found`)}),this._resourceHandlersInitialized=!0}setPromptRequestHandlers(){if(this._promptHandlersInitialized)return;this.server.assertCanSetRequestHandler(_6(gQ)),this.server.assertCanSetRequestHandler(_6(fQ)),this.server.registerCapabilities({prompts:{listChanged:!0}}),this.server.setRequestHandler(gQ,()=>({prompts:Object.entries(this._registeredPrompts).filter(([,Q])=>Q.enabled).map(([Q,X])=>{return{name:Q,title:X.title,description:X.description,arguments:X.argsSchema?wy(X.argsSchema):void 0}})})),this.server.setRequestHandler(fQ,async(Q,X)=>{let Y=this._registeredPrompts[Q.params.name];if(!Y)throw new S(k.InvalidParams,`Prompt ${Q.params.name} not found`);if(!Y.enabled)throw new S(k.InvalidParams,`Prompt ${Q.params.name} disabled`);if(Y.argsSchema){let W=C9(Y.argsSchema),$=await qQ(W,Q.params.arguments);if(!$.success){let H="error"in $?$.error:"Unknown error",B=AQ(H);throw new S(k.InvalidParams,`Invalid arguments for prompt ${Q.params.name}: ${B}`)}let J=$.data,G=Y.callback;return await Promise.resolve(G(J,X))}else{let W=Y.callback;return await Promise.resolve(W(X))}}),this._promptHandlersInitialized=!0}resource(Q,X,...Y){let W;if(typeof Y[0]==="object")W=Y.shift();let $=Y[0];if(typeof X==="string"){if(this._registeredResources[X])throw Error(`Resource ${X} is already registered`);let J=this._createRegisteredResource(Q,void 0,X,W,$);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),J}else{if(this._registeredResourceTemplates[Q])throw Error(`Resource template ${Q} is already registered`);let J=this._createRegisteredResourceTemplate(Q,void 0,X,W,$);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),J}}registerResource(Q,X,Y,W){if(typeof X==="string"){if(this._registeredResources[X])throw Error(`Resource ${X} is already registered`);let $=this._createRegisteredResource(Q,Y.title,X,Y,W);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),$}else{if(this._registeredResourceTemplates[Q])throw Error(`Resource template ${Q} is already registered`);let $=this._createRegisteredResourceTemplate(Q,Y.title,X,Y,W);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),$}}_createRegisteredResource(Q,X,Y,W,$){let J={name:Q,title:X,metadata:W,readCallback:$,enabled:!0,disable:()=>J.update({enabled:!1}),enable:()=>J.update({enabled:!0}),remove:()=>J.update({uri:null}),update:(G)=>{if(typeof G.uri<"u"&&G.uri!==Y){if(delete this._registeredResources[Y],G.uri)this._registeredResources[G.uri]=J}if(typeof G.name<"u")J.name=G.name;if(typeof G.title<"u")J.title=G.title;if(typeof G.metadata<"u")J.metadata=G.metadata;if(typeof G.callback<"u")J.readCallback=G.callback;if(typeof G.enabled<"u")J.enabled=G.enabled;this.sendResourceListChanged()}};return this._registeredResources[Y]=J,J}_createRegisteredResourceTemplate(Q,X,Y,W,$){let J={resourceTemplate:Y,title:X,metadata:W,readCallback:$,enabled:!0,disable:()=>J.update({enabled:!1}),enable:()=>J.update({enabled:!0}),remove:()=>J.update({name:null}),update:(B)=>{if(typeof B.name<"u"&&B.name!==Q){if(delete this._registeredResourceTemplates[Q],B.name)this._registeredResourceTemplates[B.name]=J}if(typeof B.title<"u")J.title=B.title;if(typeof B.template<"u")J.resourceTemplate=B.template;if(typeof B.metadata<"u")J.metadata=B.metadata;if(typeof B.callback<"u")J.readCallback=B.callback;if(typeof B.enabled<"u")J.enabled=B.enabled;this.sendResourceListChanged()}};this._registeredResourceTemplates[Q]=J;let G=Y.uriTemplate.variableNames;if(Array.isArray(G)&&G.some((B)=>!!Y.completeCallback(B)))this.setCompletionRequestHandler();return J}_createRegisteredPrompt(Q,X,Y,W,$){let J={title:X,description:Y,argsSchema:W===void 0?void 0:r6(W),callback:$,enabled:!0,disable:()=>J.update({enabled:!1}),enable:()=>J.update({enabled:!0}),remove:()=>J.update({name:null}),update:(G)=>{if(typeof G.name<"u"&&G.name!==Q){if(delete this._registeredPrompts[Q],G.name)this._registeredPrompts[G.name]=J}if(typeof G.title<"u")J.title=G.title;if(typeof G.description<"u")J.description=G.description;if(typeof G.argsSchema<"u")J.argsSchema=r6(G.argsSchema);if(typeof G.callback<"u")J.callback=G.callback;if(typeof G.enabled<"u")J.enabled=G.enabled;this.sendPromptListChanged()}};if(this._registeredPrompts[Q]=J,W){if(Object.values(W).some((H)=>{let B=H instanceof B1?H._def?.innerType:H;return AJ(B)}))this.setCompletionRequestHandler()}return J}_createRegisteredTool(Q,X,Y,W,$,J,G,H,B){DJ(Q);let z={title:X,description:Y,inputSchema:_L(W),outputSchema:_L($),annotations:J,execution:G,_meta:H,handler:B,enabled:!0,disable:()=>z.update({enabled:!1}),enable:()=>z.update({enabled:!0}),remove:()=>z.update({name:null}),update:(K)=>{if(typeof K.name<"u"&&K.name!==Q){if(typeof K.name==="string")DJ(K.name);if(delete this._registeredTools[Q],K.name)this._registeredTools[K.name]=z}if(typeof K.title<"u")z.title=K.title;if(typeof K.description<"u")z.description=K.description;if(typeof K.paramsSchema<"u")z.inputSchema=r6(K.paramsSchema);if(typeof K.outputSchema<"u")z.outputSchema=r6(K.outputSchema);if(typeof K.callback<"u")z.handler=K.callback;if(typeof K.annotations<"u")z.annotations=K.annotations;if(typeof K._meta<"u")z._meta=K._meta;if(typeof K.enabled<"u")z.enabled=K.enabled;this.sendToolListChanged()}};return this._registeredTools[Q]=z,this.setToolRequestHandlers(),this.sendToolListChanged(),z}tool(Q,...X){if(this._registeredTools[Q])throw Error(`Tool ${Q} is already registered`);let Y,W,$,J;if(typeof X[0]==="string")Y=X.shift();if(X.length>1){let H=X[0];if(OJ(H)){if(W=X.shift(),X.length>1&&typeof X[0]==="object"&&X[0]!==null&&!OJ(X[0]))J=X.shift()}else if(typeof H==="object"&&H!==null)J=X.shift()}let G=X[0];return this._createRegisteredTool(Q,void 0,Y,W,$,J,{taskSupport:"forbidden"},void 0,G)}registerTool(Q,X,Y){if(this._registeredTools[Q])throw Error(`Tool ${Q} is already registered`);let{title:W,description:$,inputSchema:J,outputSchema:G,annotations:H,_meta:B}=X;return this._createRegisteredTool(Q,W,$,J,G,H,{taskSupport:"forbidden"},B,Y)}prompt(Q,...X){if(this._registeredPrompts[Q])throw Error(`Prompt ${Q} is already registered`);let Y;if(typeof X[0]==="string")Y=X.shift();let W;if(X.length>1)W=X.shift();let $=X[0],J=this._createRegisteredPrompt(Q,void 0,Y,W,$);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),J}registerPrompt(Q,X,Y){if(this._registeredPrompts[Q])throw Error(`Prompt ${Q} is already registered`);let{title:W,description:$,argsSchema:J}=X,G=this._createRegisteredPrompt(Q,W,$,J,Y);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),G}isConnected(){return this.server.transport!==void 0}async sendLoggingMessage(Q,X){return this.server.sendLoggingMessage(Q,X)}sendResourceListChanged(){if(this.isConnected())this.server.sendResourceListChanged()}sendToolListChanged(){if(this.isConnected())this.server.sendToolListChanged()}sendPromptListChanged(){if(this.isConnected())this.server.sendPromptListChanged()}}var Uy={type:"object",properties:{}};function yL(Q){return Q!==null&&typeof Q==="object"&&"parse"in Q&&typeof Q.parse==="function"&&"safeParse"in Q&&typeof Q.safeParse==="function"}function jy(Q){return"_def"in Q||"_zod"in Q||yL(Q)}function OJ(Q){if(typeof Q!=="object"||Q===null)return!1;if(jy(Q))return!1;if(Object.keys(Q).length===0)return!0;return Object.values(Q).some(yL)}function _L(Q){if(!Q)return;if(OJ(Q))return r6(Q);return Q}function wy(Q){let X=m1(Q);if(!X)return[];return Object.entries(X).map(([Y,W])=>{let $=PH(W),J=ZH(W);return{name:Y,description:$,required:!J}})}function _6(Q){let Y=m1(Q)?.method;if(!Y)throw Error("Schema is missing a method literal");let W=DQ(Y);if(typeof W==="string")return W;throw Error("Schema method literal must be a string")}function xL(Q){return{completion:{values:Q.slice(0,100),total:Q.length,hasMore:Q.length>100}}}var l8={completion:{values:[],hasMore:!1}};import fL from"node:process";class jJ{append(Q){this._buffer=this._buffer?Buffer.concat([this._buffer,Q]):Q}readMessage(){if(!this._buffer)return null;let Q=this._buffer.indexOf(`
48
- `);if(Q===-1)return null;let X=this._buffer.toString("utf8",0,Q).replace(/\r$/,"");return this._buffer=this._buffer.subarray(Q+1),My(X)}clear(){this._buffer=void 0}}function My(Q){return v9.parse(JSON.parse(Q))}function gL(Q){return JSON.stringify(Q)+`
49
- `}class wJ{constructor(Q=fL.stdin,X=fL.stdout){this._stdin=Q,this._stdout=X,this._readBuffer=new jJ,this._started=!1,this._ondata=(Y)=>{this._readBuffer.append(Y),this.processReadBuffer()},this._onerror=(Y)=>{this.onerror?.(Y)}}async start(){if(this._started)throw Error("StdioServerTransport already started! If using Server class, note that connect() calls start() automatically.");this._started=!0,this._stdin.on("data",this._ondata),this._stdin.on("error",this._onerror)}processReadBuffer(){while(!0)try{let Q=this._readBuffer.readMessage();if(Q===null)break;this.onmessage?.(Q)}catch(Q){this.onerror?.(Q)}}async close(){if(this._stdin.off("data",this._ondata),this._stdin.off("error",this._onerror),this._stdin.listenerCount("data")===0)this._stdin.pause();this._readBuffer.clear(),this.onclose?.()}send(Q){return new Promise((X)=>{let Y=gL(Q);if(this._stdout.write(Y))X();else this._stdout.once("drain",X)})}}import{readFileSync as Og}from"fs";import FY from"node:crypto";var uL="0123456789ABCDEFGHJKMNPQRSTVWXYZ",VY=32;var Ny=16,lL=10,hL=281474976710655;var z9;(function(Q){Q.Base32IncorrectEncoding="B32_ENC_INVALID",Q.DecodeTimeInvalidCharacter="DEC_TIME_CHAR",Q.DecodeTimeValueMalformed="DEC_TIME_MALFORMED",Q.EncodeTimeNegative="ENC_TIME_NEG",Q.EncodeTimeSizeExceeded="ENC_TIME_SIZE_EXCEED",Q.EncodeTimeValueMalformed="ENC_TIME_MALFORMED",Q.PRNGDetectFailure="PRNG_DETECT",Q.ULIDInvalid="ULID_INVALID",Q.Unexpected="UNEXPECTED",Q.UUIDInvalid="UUID_INVALID"})(z9||(z9={}));class $4 extends Error{constructor(Q,X){super(`${X} (${Q})`);this.name="ULIDError",this.code=Q}}function by(Q){let X=Math.floor(Q()*VY)%VY;return uL.charAt(X)}function Py(Q){let X=Zy(),Y=X&&(X.crypto||X.msCrypto)||(typeof FY<"u"?FY:null);if(typeof Y?.getRandomValues==="function")return()=>{let W=new Uint8Array(1);return Y.getRandomValues(W),W[0]/256};else if(typeof Y?.randomBytes==="function")return()=>Y.randomBytes(1).readUInt8()/256;else if(FY?.randomBytes)return()=>FY.randomBytes(1).readUInt8()/256;throw new $4(z9.PRNGDetectFailure,"Failed to find a reliable PRNG")}function Zy(){if(Sy())return self;if(typeof window<"u")return window;if(typeof global<"u")return global;if(typeof globalThis<"u")return globalThis;return null}function Ry(Q,X){let Y="";for(;Q>0;Q--)Y=by(X)+Y;return Y}function Ey(Q,X=lL){if(isNaN(Q))throw new $4(z9.EncodeTimeValueMalformed,`Time must be a number: ${Q}`);else if(Q>hL)throw new $4(z9.EncodeTimeSizeExceeded,`Cannot encode a time larger than ${hL}: ${Q}`);else if(Q<0)throw new $4(z9.EncodeTimeNegative,`Time must be positive: ${Q}`);else if(Number.isInteger(Q)===!1)throw new $4(z9.EncodeTimeValueMalformed,`Time must be an integer: ${Q}`);let Y,W="";for(let $=X;$>0;$--)Y=Q%VY,W=uL.charAt(Y)+W,Q=(Q-Y)/VY;return W}function Sy(){return typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope}function y1(Q,X){let Y=X||Py(),W=!Q||isNaN(Q)?Date.now():Q;return Ey(W,lL)+Ry(Ny,Y)}class MJ{configs=new Map;logger;constructor(Q={}){this.logger=Q.logger}addConfig(Q,X,Y){let W=this.configs.has(Q);return this.configs.set(Q,{name:Q,url:X,addedAt:new Date,addedBy:Y}),this.logger?.info(W?"server_config_updated":"server_config_added",{server:Q,url:X,addedBy:Y}),!W}getConfig(Q){return this.configs.get(Q)}listConfigs(){return Array.from(this.configs.values())}removeConfig(Q){let X=this.configs.delete(Q);if(X)this.logger?.info("server_config_removed",{server:Q});return X}hasConfig(Q){return this.configs.has(Q)}get size(){return this.configs.size}clear(){this.configs.clear(),this.logger?.info("server_configs_cleared",{})}}var Iy={maxEvents:1000,retentionMs:1800000,cleanupIntervalMs:300000};class NJ{events=[];config;logger;lastDeliveredId=null;waiters=[];cleanupIntervalHandle=null;constructor(Q={},X){this.config={...Iy,...Q},this.logger=X,this.startCleanupInterval()}addEvent(Q,X,Y){let W=y1(),$={id:W,type:Q,server:X,data:Y,createdAt:new Date,sentViaSSE:!1};this.events.push($);while(this.events.length>this.config.maxEvents)this.events.shift();return this.logger?.debug("event_added",{id:W,type:Q,server:X}),this.wakeWaiters($),W}hasNewEvents(){if(this.lastDeliveredId===null)return this.events.length>0;let Q=this.events.findIndex((X)=>X.id===this.lastDeliveredId);if(Q===-1)return this.events.length>0;return Q<this.events.length-1}getNewEvents(){if(this.events.length===0)return[];let Q=0;if(this.lastDeliveredId!==null){let Y=this.events.findIndex((W)=>W.id===this.lastDeliveredId);if(Y!==-1)Q=Y+1}let X=this.events.slice(Q);if(X.length>0){let Y=X[X.length-1];if(Y)this.lastDeliveredId=Y.id}return X}getEventsAfter(Q){if(Q===null)return[...this.events];let X=this.events.findIndex((Y)=>Y.id===Q);if(X===-1)return[...this.events];return this.events.slice(X+1)}markSent(Q){let X=this.events.find((Y)=>Y.id===Q);if(X)X.sentViaSSE=!0}waitForActivity(Q){return new Promise((X)=>{let Y=setTimeout(()=>{let W=this.waiters.findIndex(($)=>$.timeoutHandle===Y);if(W!==-1)this.waiters.splice(W,1);X(null)},Q);this.waiters.push({resolve:X,timeoutHandle:Y})})}wakeWaiters(Q){let X=this.waiters;this.waiters=[];for(let Y of X)clearTimeout(Y.timeoutHandle),Y.resolve(Q)}startCleanupInterval(){this.cleanupIntervalHandle=setInterval(()=>{this.runCleanup()},this.config.cleanupIntervalMs)}runCleanup(){let Q=Date.now()-this.config.retentionMs,X=0;while(this.events.length>0){let Y=this.events[0];if(Y&&Y.createdAt.getTime()<Q)this.events.shift(),X++;else break}if(X>0)this.logger?.debug("events_cleaned",{removed:X,remaining:this.events.length})}shutdown(){if(this.cleanupIntervalHandle)clearInterval(this.cleanupIntervalHandle),this.cleanupIntervalHandle=null;for(let Q of this.waiters)clearTimeout(Q.timeoutHandle),Q.resolve(null);this.waiters=[]}}var Ty={defaultTtlMs:600000,completedRetentionMs:300000,cleanupIntervalMs:60000};class bJ{tasks=new Map;eventSystem;config;cleanupIntervalHandle=null;constructor(Q,X={}){this.eventSystem=Q,this.config={...Ty,...X},this.startCleanupInterval()}createTask(Q,X,Y,W){let $=y1(),J=new Date,G={taskId:$,server:Q,toolName:X,args:Y,status:"working",createdAt:J,lastUpdatedAt:J,ttl:W??this.config.defaultTtlMs};return this.tasks.set($,G),this.eventSystem.addEvent("task_created",Q,{taskId:$,toolName:X,args:Y}),G}completeTask(Q,X){let Y=this.tasks.get(Q);if(Y?.status!=="working")return;Y.status="completed",Y.result=X,Y.lastUpdatedAt=new Date,this.scheduleTaskCleanup(Y),this.eventSystem.addEvent("task_completed",Y.server,{taskId:Q,toolName:Y.toolName,result:X})}failTask(Q,X){let Y=this.tasks.get(Q);if(Y?.status!=="working")return;Y.status="failed",Y.error=X,Y.lastUpdatedAt=new Date,this.scheduleTaskCleanup(Y),this.eventSystem.addEvent("task_failed",Y.server,{taskId:Q,toolName:Y.toolName,error:X})}cancelTask(Q){let X=this.tasks.get(Q);if(X?.status!=="working")return!1;return X.status="cancelled",X.lastUpdatedAt=new Date,this.scheduleTaskCleanup(X),this.eventSystem.addEvent("task_cancelled",X.server,{taskId:Q,toolName:X.toolName}),!0}getTask(Q){let X=this.tasks.get(Q);if(!X)return;let{_cleanupTimeoutHandle:Y,...W}=X;return W}getTasksForServer(Q){return Array.from(this.tasks.values()).filter((X)=>X.server===Q).map((X)=>({taskId:X.taskId,server:X.server,toolName:X.toolName,args:X.args,status:X.status,result:X.result,error:X.error,createdAt:X.createdAt,lastUpdatedAt:X.lastUpdatedAt,ttl:X.ttl}))}getAllTasks(Q=!1){let X=["completed","failed","cancelled","expired"];return Array.from(this.tasks.values()).filter((Y)=>Q||!X.includes(Y.status)).map((Y)=>({taskId:Y.taskId,server:Y.server,toolName:Y.toolName,args:Y.args,status:Y.status,result:Y.result,error:Y.error,createdAt:Y.createdAt,lastUpdatedAt:Y.lastUpdatedAt,ttl:Y.ttl}))}getWorkingTasksForServer(Q){return Array.from(this.tasks.values()).filter((X)=>X.server===Q&&X.status==="working").map((X)=>({taskId:X.taskId,toolName:X.toolName,status:X.status}))}scheduleTaskCleanup(Q){if(Q._cleanupTimeoutHandle)clearTimeout(Q._cleanupTimeoutHandle);Q._cleanupTimeoutHandle=setTimeout(()=>{this.tasks.delete(Q.taskId)},this.config.completedRetentionMs)}startCleanupInterval(){this.cleanupIntervalHandle=setInterval(()=>{this.runCleanup()},this.config.cleanupIntervalMs)}runCleanup(){let Q=Date.now();for(let X of this.tasks.values()){if(X.status!=="working")continue;if(Q-X.createdAt.getTime()>=X.ttl)X.status="expired",X.error=`Task expired after ${String(X.ttl)}ms TTL`,X.lastUpdatedAt=new Date,this.eventSystem.addEvent("task_expired",X.server,{taskId:X.taskId,toolName:X.toolName,ttl:X.ttl}),this.scheduleTaskCleanup(X)}}shutdown(){if(this.cleanupIntervalHandle)clearInterval(this.cleanupIntervalHandle),this.cleanupIntervalHandle=null;for(let Q of this.tasks.values())if(Q._cleanupTimeoutHandle)clearTimeout(Q._cleanupTimeoutHandle)}}var Cy={maxNotificationsPerServer:100,maxLogsPerServer:500};class PJ{buffers=new Map;eventSystem;config;constructor(Q,X={}){this.eventSystem=Q,this.config={...Cy,...X}}addNotification(Q){let X=this.getOrCreateBuffers(Q.server);if(X.notifications.length>=this.config.maxNotificationsPerServer)X.notifications.shift();X.notifications.push(Q),this.eventSystem.addEvent("notification",Q.server,{method:Q.method,params:Q.params,timestamp:Q.timestamp.toISOString()})}addLog(Q){let X=this.getOrCreateBuffers(Q.server);if(X.logs.length>=this.config.maxLogsPerServer)X.logs.shift();X.logs.push(Q)}getAndClearNotifications(){let Q=[];for(let X of this.buffers.values())Q.push(...X.notifications),X.notifications=[];return Q}getAndClearLogs(){let Q=[];for(let X of this.buffers.values())Q.push(...X.logs),X.logs=[];return Q}getNotificationsForServer(Q){let X=this.buffers.get(Q);return X?[...X.notifications]:[]}getLogsForServer(Q){let X=this.buffers.get(Q);return X?[...X.logs]:[]}getNotificationCount(){let Q=0;for(let X of this.buffers.values())Q+=X.notifications.length;return Q}getLogCount(){let Q=0;for(let X of this.buffers.values())Q+=X.logs.length;return Q}clearServer(Q){this.buffers.delete(Q)}getOrCreateBuffers(Q){let X=this.buffers.get(Q);if(!X)X={notifications:[],logs:[]},this.buffers.set(Q,X);return X}}var ky={defaultTimeoutMs:600000};class ZJ{samplingRequests=new Map;elicitationRequests=new Map;eventSystem;config;constructor(Q,X={}){this.eventSystem=Q,this.config={...ky,...X}}addSamplingRequest(Q,X,Y,W){let $=y1(),J=setTimeout(()=>{let H=this.samplingRequests.get($);if(H)this.samplingRequests.delete($),this.eventSystem.addEvent("sampling_expired",Q,{requestId:$,reason:`Timed out after ${String(this.config.defaultTimeoutMs)}ms`}),H.reject(Error(`Sampling request timed out after ${String(this.config.defaultTimeoutMs)}ms`))},this.config.defaultTimeoutMs),G={requestId:$,server:Q,timestamp:new Date,params:X,resolve:Y,reject:W,timeoutHandle:J};return this.samplingRequests.set($,G),this.eventSystem.addEvent("sampling_request",Q,{requestId:$,params:X}),$}addElicitationRequest(Q,X,Y,W){let $=y1(),J=setTimeout(()=>{let H=this.elicitationRequests.get($);if(H)this.elicitationRequests.delete($),this.eventSystem.addEvent("elicitation_expired",Q,{requestId:$,reason:`Timed out after ${String(this.config.defaultTimeoutMs)}ms`}),H.reject(Error(`Elicitation request timed out after ${String(this.config.defaultTimeoutMs)}ms`))},this.config.defaultTimeoutMs),G={requestId:$,server:Q,timestamp:new Date,params:X,resolve:Y,reject:W,timeoutHandle:J};return this.elicitationRequests.set($,G),this.eventSystem.addEvent("elicitation_request",Q,{requestId:$,params:X}),$}respondToSampling(Q,X){let Y=this.samplingRequests.get(Q);if(!Y)throw Error(`Sampling request '${Q}' not found or already completed`);clearTimeout(Y.timeoutHandle),this.samplingRequests.delete(Q),Y.resolve(X)}cancelSampling(Q,X="User cancelled"){let Y=this.samplingRequests.get(Q);if(!Y)throw Error(`Sampling request '${Q}' not found or already completed`);clearTimeout(Y.timeoutHandle),this.samplingRequests.delete(Q),this.eventSystem.addEvent("sampling_expired",Y.server,{requestId:Q,reason:X}),Y.reject(Error(X))}respondToElicitation(Q,X){let Y=this.elicitationRequests.get(Q);if(!Y)throw Error(`Elicitation request '${Q}' not found or already completed`);clearTimeout(Y.timeoutHandle),this.elicitationRequests.delete(Q),Y.resolve(X)}cancelElicitation(Q,X="User cancelled"){let Y=this.elicitationRequests.get(Q);if(!Y)throw Error(`Elicitation request '${Q}' not found or already completed`);clearTimeout(Y.timeoutHandle),this.elicitationRequests.delete(Q),this.eventSystem.addEvent("elicitation_expired",Y.server,{requestId:Q,reason:X}),Y.reject(Error(X))}getPendingSamplingRequests(){return Array.from(this.samplingRequests.values()).map((Q)=>({requestId:Q.requestId,server:Q.server,timestamp:Q.timestamp,params:Q.params}))}getPendingElicitationRequests(){return Array.from(this.elicitationRequests.values()).map((Q)=>({requestId:Q.requestId,server:Q.server,timestamp:Q.timestamp,params:Q.params}))}getRequestsForServer(Q){return{sampling:this.getPendingSamplingRequests().filter((X)=>X.server===Q),elicitation:this.getPendingElicitationRequests().filter((X)=>X.server===Q)}}hasPendingRequests(){return this.samplingRequests.size>0||this.elicitationRequests.size>0}rejectRequestsForServer(Q,X){for(let[Y,W]of this.samplingRequests)if(W.server===Q)clearTimeout(W.timeoutHandle),this.samplingRequests.delete(Y),this.eventSystem.addEvent("sampling_expired",Q,{requestId:Y,reason:X}),W.reject(Error(X));for(let[Y,W]of this.elicitationRequests)if(W.server===Q)clearTimeout(W.timeoutHandle),this.elicitationRequests.delete(Y),this.eventSystem.addEvent("elicitation_expired",Q,{requestId:Y,reason:X}),W.reject(Error(X))}shutdown(){for(let Q of this.samplingRequests.values())clearTimeout(Q.timeoutHandle),Q.reject(Error("PendingRequestsManager shutting down"));this.samplingRequests.clear();for(let Q of this.elicitationRequests.values())clearTimeout(Q.timeoutHandle),Q.reject(Error("PendingRequestsManager shutting down"));this.elicitationRequests.clear()}}var vy={maxActiveTimers:100,maxDurationMs:86400000,retentionMs:300000};class RJ{timers=new Map;expiredBuffer=[];eventSystem;config;constructor(Q,X={}){this.eventSystem=Q,this.config={...vy,...X}}createTimer(Q,X,Y=!1){if(this.getActiveTimers().length>=this.config.maxActiveTimers)throw Error(`Maximum active timers (${String(this.config.maxActiveTimers)}) exceeded`);if(Q<=0)throw Error("Duration must be positive");if(Q>this.config.maxDurationMs)throw Error(`Duration exceeds maximum (${String(this.config.maxDurationMs)}ms)`);let $=y1(),J=new Date,G=new Date(J.getTime()+Q),H={id:$,durationMs:Q,message:X,createdAt:J,expiresAt:G,status:"active",interval:Y,fireCount:0};if(Y)H._intervalHandle=setInterval(()=>{this.fireIntervalTimer($)},Q);else H._timeoutHandle=setTimeout(()=>{this.expireTimer($)},Q);return this.timers.set($,H),this.toPublicTimer(H)}getTimer(Q){let X=this.timers.get(Q);if(!X)return;return this.toPublicTimer(X)}deleteTimer(Q){let X=this.timers.get(Q);if(!X)return;if(X._timeoutHandle)clearTimeout(X._timeoutHandle),X._timeoutHandle=void 0;if(X._intervalHandle)clearInterval(X._intervalHandle),X._intervalHandle=void 0;return X.status="deleted",this.scheduleCleanup(X),this.toPublicTimer(X)}getAllTimers(Q=!1){let X=Array.from(this.timers.values());return(Q?X:X.filter((W)=>W.status==="active")).map((W)=>this.toPublicTimer(W))}getActiveTimers(){return Array.from(this.timers.values()).filter((Q)=>Q.status==="active").map((Q)=>this.toPublicTimer(Q))}getAndClearExpired(){let Q=[...this.expiredBuffer];return this.expiredBuffer.length=0,Q}hasExpired(){return this.expiredBuffer.length>0}shutdown(){for(let Q of this.timers.values()){if(Q._timeoutHandle)clearTimeout(Q._timeoutHandle);if(Q._intervalHandle)clearInterval(Q._intervalHandle)}this.timers.clear(),this.expiredBuffer.length=0}expireTimer(Q){let X=this.timers.get(Q);if(!X?.status||X.status!=="active")return;X.status="expired",X._timeoutHandle=void 0,X.fireCount++,this.expiredBuffer.push({id:X.id,message:X.message,expiredAt:new Date().toISOString()}),this.eventSystem.addEvent("timer_expired","emceepee",{timerId:X.id,message:X.message}),this.scheduleCleanup(X)}fireIntervalTimer(Q){let X=this.timers.get(Q);if(!X?.status||X.status!=="active")return;X.fireCount++,X.expiresAt=new Date(Date.now()+X.durationMs),this.expiredBuffer.push({id:X.id,message:X.message,expiredAt:new Date().toISOString()}),this.eventSystem.addEvent("timer_expired","emceepee",{timerId:X.id,message:X.message,fireCount:X.fireCount,interval:!0})}scheduleCleanup(Q){setTimeout(()=>{this.timers.delete(Q.id)},this.config.retentionMs)}toPublicTimer(Q){return{id:Q.id,durationMs:Q.durationMs,message:Q.message,createdAt:Q.createdAt,expiresAt:Q.expiresAt,status:Q.status,interval:Q.interval,fireCount:Q.fireCount}}}class EJ{sessionId;createdAt;lastActivityAt;backendConnections=new Map;eventSystem;taskManager;pendingRequests;bufferManager;timerManager;logger;constructor(Q,X={},Y){this.sessionId=Q,this.createdAt=new Date,this.lastActivityAt=new Date,this.logger=Y,this.eventSystem=new NJ(X.eventSystemConfig,Y),this.taskManager=new bJ(this.eventSystem,X.taskConfig),this.pendingRequests=new ZJ(this.eventSystem,X.requestConfig),this.bufferManager=new PJ(this.eventSystem,X.bufferConfig),this.timerManager=new RJ(this.eventSystem,X.timerConfig)}touch(){this.lastActivityAt=new Date}getConnection(Q){return this.backendConnections.get(Q)}isConnectedTo(Q){return this.backendConnections.get(Q)?.status==="connected"}listConnectedServers(){return Array.from(this.backendConnections.entries()).filter(([,Q])=>Q.status==="connected").map(([Q])=>Q)}listConnections(){return Array.from(this.backendConnections.entries()).map(([Q,X])=>({name:Q,status:X.status,connectedAt:X.connectedAt,lastError:X.lastError}))}setConnectionStatus(Q,X,Y){let W=this.backendConnections.get(Q);if(W){if(W.status=X,X==="connected")W.connectedAt=new Date,W.lastError=void 0;else if(X==="error"&&Y)W.lastError=Y}}addConnection(Q,X){this.backendConnections.set(Q,{client:X,status:"connecting"})}removeConnection(Q){return this.backendConnections.delete(Q)}async cleanup(){this.logger?.info("session_cleanup_start",{sessionId:this.sessionId}),this.pendingRequests.shutdown(),this.taskManager.shutdown(),this.timerManager.shutdown(),this.eventSystem.shutdown();for(let[Q,X]of this.backendConnections)try{await X.client.disconnect(),this.logger?.debug("session_backend_disconnected",{sessionId:this.sessionId,server:Q})}catch(Y){this.logger?.debug("session_backend_disconnect_error",{sessionId:this.sessionId,server:Q,error:Y instanceof Error?Y.message:String(Y)})}this.backendConnections.clear(),this.logger?.info("session_cleanup_complete",{sessionId:this.sessionId})}}class SJ{constructor(Q){this._client=Q}async*callToolStream(Q,X=j6,Y){let W=this._client,$={...Y,task:Y?.task??(W.isToolTask(Q.name)?{}:void 0)},J=W.requestStream({method:"tools/call",params:Q},X,$),G=W.getToolOutputValidator(Q.name);for await(let H of J){if(H.type==="result"&&G){let B=H.result;if(!B.structuredContent&&!B.isError){yield{type:"error",error:new S(k.InvalidRequest,`Tool ${Q.name} has an output schema but did not return structured content`)};return}if(B.structuredContent)try{let z=G(B.structuredContent);if(!z.valid){yield{type:"error",error:new S(k.InvalidParams,`Structured content does not match the tool's output schema: ${z.errorMessage}`)};return}}catch(z){if(z instanceof S){yield{type:"error",error:z};return}yield{type:"error",error:new S(k.InvalidParams,`Failed to validate structured content: ${z instanceof Error?z.message:String(z)}`)};return}}yield H}}async getTask(Q,X){return this._client.getTask({taskId:Q},X)}async getTaskResult(Q,X,Y){return this._client.getTaskResult({taskId:Q},X,Y)}async listTasks(Q,X){return this._client.listTasks(Q?{cursor:Q}:void 0,X)}async cancelTask(Q,X){return this._client.cancelTask({taskId:Q},X)}requestStream(Q,X,Y){return this._client.requestStream(Q,X,Y)}}function qY(Q,X){if(!Q||X===null||typeof X!=="object")return;if(Q.type==="object"&&Q.properties&&typeof Q.properties==="object"){let Y=X,W=Q.properties;for(let $ of Object.keys(W)){let J=W[$];if(Y[$]===void 0&&Object.prototype.hasOwnProperty.call(J,"default"))Y[$]=J.default;if(Y[$]!==void 0)qY(J,Y[$])}}if(Array.isArray(Q.anyOf)){for(let Y of Q.anyOf)if(typeof Y!=="boolean")qY(Y,X)}if(Array.isArray(Q.oneOf)){for(let Y of Q.oneOf)if(typeof Y!=="boolean")qY(Y,X)}}function _y(Q){if(!Q)return{supportsFormMode:!1,supportsUrlMode:!1};let X=Q.form!==void 0,Y=Q.url!==void 0;return{supportsFormMode:X||!X&&!Y,supportsUrlMode:Y}}class AY extends o4{constructor(Q,X){super(X);if(this._clientInfo=Q,this._cachedToolOutputValidators=new Map,this._cachedKnownTaskTools=new Set,this._cachedRequiredTaskTools=new Set,this._listChangedDebounceTimers=new Map,this._capabilities=X?.capabilities??{},this._jsonSchemaValidator=X?.jsonSchemaValidator??new u8,X?.listChanged)this._pendingListChangedConfig=X.listChanged}_setupListChangedHandlers(Q){if(Q.tools&&this._serverCapabilities?.tools?.listChanged)this._setupListChangedHandler("tools",m4,Q.tools,async()=>{return(await this.listTools()).tools});if(Q.prompts&&this._serverCapabilities?.prompts?.listChanged)this._setupListChangedHandler("prompts",l4,Q.prompts,async()=>{return(await this.listPrompts()).prompts});if(Q.resources&&this._serverCapabilities?.resources?.listChanged)this._setupListChangedHandler("resources",u4,Q.resources,async()=>{return(await this.listResources()).resources})}get experimental(){if(!this._experimental)this._experimental={tasks:new SJ(this)};return this._experimental}registerCapabilities(Q){if(this.transport)throw Error("Cannot register capabilities after connecting to transport");this._capabilities=dQ(this._capabilities,Q)}setRequestHandler(Q,X){let W=m1(Q)?.method;if(!W)throw Error("Schema is missing a method literal");let $;if(s0(W)){let G=W;$=G._zod?.def?.value??G.value}else{let G=W;$=G._def?.value??G.value}if(typeof $!=="string")throw Error("Schema method literal must be a string");let J=$;if(J==="elicitation/create"){let G=async(H,B)=>{let z=c0(i4,H);if(!z.success){let O=z.error instanceof Error?z.error.message:String(z.error);throw new S(k.InvalidParams,`Invalid elicitation request: ${O}`)}let{params:K}=z.data;K.mode=K.mode??"form";let{supportsFormMode:V,supportsUrlMode:D}=_y(this._capabilities.elicitation);if(K.mode==="form"&&!V)throw new S(k.InvalidParams,"Client does not support form-mode elicitation requests");if(K.mode==="url"&&!D)throw new S(k.InvalidParams,"Client does not support URL-mode elicitation requests");let F=await Promise.resolve(X(H,B));if(K.task){let O=c0(e1,F);if(!O.success){let M=O.error instanceof Error?O.error.message:String(O.error);throw new S(k.InvalidParams,`Invalid task creation result: ${M}`)}return O.data}let q=c0(y9,F);if(!q.success){let O=q.error instanceof Error?q.error.message:String(q.error);throw new S(k.InvalidParams,`Invalid elicitation result: ${O}`)}let A=q.data,L=K.mode==="form"?K.requestedSchema:void 0;if(K.mode==="form"&&A.action==="accept"&&A.content&&L){if(this._capabilities.elicitation?.form?.applyDefaults)try{qY(L,A.content)}catch{}}return A};return super.setRequestHandler(Q,G)}if(J==="sampling/createMessage"){let G=async(H,B)=>{let z=c0(p4,H);if(!z.success){let F=z.error instanceof Error?z.error.message:String(z.error);throw new S(k.InvalidParams,`Invalid sampling request: ${F}`)}let{params:K}=z.data,V=await Promise.resolve(X(H,B));if(K.task){let F=c0(e1,V);if(!F.success){let q=F.error instanceof Error?F.error.message:String(F.error);throw new S(k.InvalidParams,`Invalid task creation result: ${q}`)}return F.data}let D=c0(d4,V);if(!D.success){let F=D.error instanceof Error?D.error.message:String(D.error);throw new S(k.InvalidParams,`Invalid sampling result: ${F}`)}return D.data};return super.setRequestHandler(Q,G)}return super.setRequestHandler(Q,X)}assertCapability(Q,X){if(!this._serverCapabilities?.[Q])throw Error(`Server does not support ${Q} (required for ${X})`)}async connect(Q,X){if(await super.connect(Q),Q.sessionId!==void 0)return;try{let Y=await this.request({method:"initialize",params:{protocolVersion:O6,capabilities:this._capabilities,clientInfo:this._clientInfo}},t7,X);if(Y===void 0)throw Error(`Server sent invalid initialize result: ${Y}`);if(!MQ.includes(Y.protocolVersion))throw Error(`Server's protocol version is not supported: ${Y.protocolVersion}`);if(this._serverCapabilities=Y.capabilities,this._serverVersion=Y.serverInfo,Q.setProtocolVersion)Q.setProtocolVersion(Y.protocolVersion);if(this._instructions=Y.instructions,await this.notification({method:"notifications/initialized"}),this._pendingListChangedConfig)this._setupListChangedHandlers(this._pendingListChangedConfig),this._pendingListChangedConfig=void 0}catch(Y){throw this.close(),Y}}getServerCapabilities(){return this._serverCapabilities}getServerVersion(){return this._serverVersion}getInstructions(){return this._instructions}assertCapabilityForMethod(Q){switch(Q){case"logging/setLevel":if(!this._serverCapabilities?.logging)throw Error(`Server does not support logging (required for ${Q})`);break;case"prompts/get":case"prompts/list":if(!this._serverCapabilities?.prompts)throw Error(`Server does not support prompts (required for ${Q})`);break;case"resources/list":case"resources/templates/list":case"resources/read":case"resources/subscribe":case"resources/unsubscribe":if(!this._serverCapabilities?.resources)throw Error(`Server does not support resources (required for ${Q})`);if(Q==="resources/subscribe"&&!this._serverCapabilities.resources.subscribe)throw Error(`Server does not support resource subscriptions (required for ${Q})`);break;case"tools/call":case"tools/list":if(!this._serverCapabilities?.tools)throw Error(`Server does not support tools (required for ${Q})`);break;case"completion/complete":if(!this._serverCapabilities?.completions)throw Error(`Server does not support completions (required for ${Q})`);break;case"initialize":break;case"ping":break}}assertNotificationCapability(Q){switch(Q){case"notifications/roots/list_changed":if(!this._capabilities.roots?.listChanged)throw Error(`Client does not support roots list changed notifications (required for ${Q})`);break;case"notifications/initialized":break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(Q){if(!this._capabilities)return;switch(Q){case"sampling/createMessage":if(!this._capabilities.sampling)throw Error(`Client does not support sampling capability (required for ${Q})`);break;case"elicitation/create":if(!this._capabilities.elicitation)throw Error(`Client does not support elicitation capability (required for ${Q})`);break;case"roots/list":if(!this._capabilities.roots)throw Error(`Client does not support roots capability (required for ${Q})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw Error(`Client does not support tasks capability (required for ${Q})`);break;case"ping":break}}assertTaskCapability(Q){zY(this._serverCapabilities?.tasks?.requests,Q,"Server")}assertTaskHandlerCapability(Q){if(!this._capabilities)return;KY(this._capabilities.tasks?.requests,Q,"Client")}async ping(Q){return this.request({method:"ping"},s1,Q)}async complete(Q,X){return this.request({method:"completion/complete",params:Q},q5,X)}async setLoggingLevel(Q,X){return this.request({method:"logging/setLevel",params:{level:Q}},s1,X)}async getPrompt(Q,X){return this.request({method:"prompts/get",params:Q},B5,X)}async listPrompts(Q,X){return this.request({method:"prompts/list",params:Q},W5,X)}async listResources(Q,X){return this.request({method:"resources/list",params:Q},s7,X)}async listResourceTemplates(Q,X){return this.request({method:"resources/templates/list",params:Q},e7,X)}async readResource(Q,X){return this.request({method:"resources/read",params:Q},X5,X)}async subscribeResource(Q,X){return this.request({method:"resources/subscribe",params:Q},s1,X)}async unsubscribeResource(Q,X){return this.request({method:"resources/unsubscribe",params:Q},s1,X)}async callTool(Q,X=j6,Y){if(this.isToolTaskRequired(Q.name))throw new S(k.InvalidRequest,`Tool "${Q.name}" requires task-based execution. Use client.experimental.tasks.callToolStream() instead.`);let W=await this.request({method:"tools/call",params:Q},X,Y),$=this.getToolOutputValidator(Q.name);if($){if(!W.structuredContent&&!W.isError)throw new S(k.InvalidRequest,`Tool ${Q.name} has an output schema but did not return structured content`);if(W.structuredContent)try{let J=$(W.structuredContent);if(!J.valid)throw new S(k.InvalidParams,`Structured content does not match the tool's output schema: ${J.errorMessage}`)}catch(J){if(J instanceof S)throw J;throw new S(k.InvalidParams,`Failed to validate structured content: ${J instanceof Error?J.message:String(J)}`)}}return W}isToolTask(Q){if(!this._serverCapabilities?.tasks?.requests?.tools?.call)return!1;return this._cachedKnownTaskTools.has(Q)}isToolTaskRequired(Q){return this._cachedRequiredTaskTools.has(Q)}cacheToolMetadata(Q){this._cachedToolOutputValidators.clear(),this._cachedKnownTaskTools.clear(),this._cachedRequiredTaskTools.clear();for(let X of Q){if(X.outputSchema){let W=this._jsonSchemaValidator.getValidator(X.outputSchema);this._cachedToolOutputValidators.set(X.name,W)}let Y=X.execution?.taskSupport;if(Y==="required"||Y==="optional")this._cachedKnownTaskTools.add(X.name);if(Y==="required")this._cachedRequiredTaskTools.add(X.name)}}getToolOutputValidator(Q){return this._cachedToolOutputValidators.get(Q)}async listTools(Q,X){let Y=await this.request({method:"tools/list",params:Q},z5,X);return this.cacheToolMetadata(Y.tools),Y}_setupListChangedHandler(Q,X,Y,W){let $=A3.safeParse(Y);if(!$.success)throw Error(`Invalid ${Q} listChanged options: ${$.error.message}`);if(typeof Y.onChanged!=="function")throw Error(`Invalid ${Q} listChanged options: onChanged must be a function`);let{autoRefresh:J,debounceMs:G}=$.data,{onChanged:H}=Y,B=async()=>{if(!J){H(null,null);return}try{let K=await W();H(null,K)}catch(K){let V=K instanceof Error?K:Error(String(K));H(V,null)}},z=()=>{if(G){let K=this._listChangedDebounceTimers.get(Q);if(K)clearTimeout(K);let V=setTimeout(B,G);this._listChangedDebounceTimers.set(Q,V)}else B()};this.setNotificationHandler(X,z)}async sendRootsListChanged(){return this.notification({method:"notifications/roots/list_changed"})}}function DY(Q){if(!Q)return{};if(Q instanceof Headers)return Object.fromEntries(Q.entries());if(Array.isArray(Q))return Object.fromEntries(Q);return{...Q}}function mL(Q=fetch,X){if(!X)return Q;return async(Y,W)=>{let $={...X,...W,headers:W?.headers?{...DY(X.headers),...DY(W.headers)}:X.headers};return Q(Y,$)}}var IJ;IJ=globalThis.crypto?.webcrypto??globalThis.crypto??import("node:crypto").then((Q)=>Q.webcrypto);async function xy(Q){return(await IJ).getRandomValues(new Uint8Array(Q))}async function yy(Q){let Y=Math.pow(2,8)-Math.pow(2,8)%66,W="";while(W.length<Q){let $=await xy(Q-W.length);for(let J of $)if(J<Y)W+="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._~"[J%66]}return W}async function gy(Q){return await yy(Q)}async function fy(Q){let X=await(await IJ).subtle.digest("SHA-256",new TextEncoder().encode(Q));return btoa(String.fromCharCode(...new Uint8Array(X))).replace(/\//g,"_").replace(/\+/g,"-").replace(/=/g,"")}async function TJ(Q){if(!Q)Q=43;if(Q<43||Q>128)throw`Expected a length between 43 and 128. Received ${Q}.`;let X=await gy(Q),Y=await fy(X);return{code_verifier:X,code_challenge:Y}}var f0=lH().superRefine((Q,X)=>{if(!URL.canParse(Q))return X.addIssue({code:sH.custom,message:"URL must be parseable",fatal:!0}),t8}).refine((Q)=>{let X=new URL(Q);return X.protocol!=="javascript:"&&X.protocol!=="data:"&&X.protocol!=="vbscript:"},{message:"URL cannot use javascript:, data:, or vbscript: scheme"}),pL=T0({resource:U().url(),authorization_servers:E(f0).optional(),jwks_uri:U().url().optional(),scopes_supported:E(U()).optional(),bearer_methods_supported:E(U()).optional(),resource_signing_alg_values_supported:E(U()).optional(),resource_name:U().optional(),resource_documentation:U().optional(),resource_policy_uri:U().url().optional(),resource_tos_uri:U().url().optional(),tls_client_certificate_bound_access_tokens:H0().optional(),authorization_details_types_supported:E(U()).optional(),dpop_signing_alg_values_supported:E(U()).optional(),dpop_bound_access_tokens_required:H0().optional()}),CJ=T0({issuer:U(),authorization_endpoint:f0,token_endpoint:f0,registration_endpoint:f0.optional(),scopes_supported:E(U()).optional(),response_types_supported:E(U()),response_modes_supported:E(U()).optional(),grant_types_supported:E(U()).optional(),token_endpoint_auth_methods_supported:E(U()).optional(),token_endpoint_auth_signing_alg_values_supported:E(U()).optional(),service_documentation:f0.optional(),revocation_endpoint:f0.optional(),revocation_endpoint_auth_methods_supported:E(U()).optional(),revocation_endpoint_auth_signing_alg_values_supported:E(U()).optional(),introspection_endpoint:U().optional(),introspection_endpoint_auth_methods_supported:E(U()).optional(),introspection_endpoint_auth_signing_alg_values_supported:E(U()).optional(),code_challenge_methods_supported:E(U()).optional(),client_id_metadata_document_supported:H0().optional()}),hy=T0({issuer:U(),authorization_endpoint:f0,token_endpoint:f0,userinfo_endpoint:f0.optional(),jwks_uri:f0,registration_endpoint:f0.optional(),scopes_supported:E(U()).optional(),response_types_supported:E(U()),response_modes_supported:E(U()).optional(),grant_types_supported:E(U()).optional(),acr_values_supported:E(U()).optional(),subject_types_supported:E(U()),id_token_signing_alg_values_supported:E(U()),id_token_encryption_alg_values_supported:E(U()).optional(),id_token_encryption_enc_values_supported:E(U()).optional(),userinfo_signing_alg_values_supported:E(U()).optional(),userinfo_encryption_alg_values_supported:E(U()).optional(),userinfo_encryption_enc_values_supported:E(U()).optional(),request_object_signing_alg_values_supported:E(U()).optional(),request_object_encryption_alg_values_supported:E(U()).optional(),request_object_encryption_enc_values_supported:E(U()).optional(),token_endpoint_auth_methods_supported:E(U()).optional(),token_endpoint_auth_signing_alg_values_supported:E(U()).optional(),display_values_supported:E(U()).optional(),claim_types_supported:E(U()).optional(),claims_supported:E(U()).optional(),service_documentation:U().optional(),claims_locales_supported:E(U()).optional(),ui_locales_supported:E(U()).optional(),claims_parameter_supported:H0().optional(),request_parameter_supported:H0().optional(),request_uri_parameter_supported:H0().optional(),require_request_uri_registration:H0().optional(),op_policy_uri:f0.optional(),op_tos_uri:f0.optional(),client_id_metadata_document_supported:H0().optional()}),dL=I({...hy.shape,...CJ.pick({code_challenge_methods_supported:!0}).shape}),iL=I({access_token:U(),id_token:U().optional(),token_type:U(),expires_in:jQ.number().optional(),scope:U().optional(),refresh_token:U().optional()}).strip(),nL=I({error:U(),error_description:U().optional(),error_uri:U().optional()}),cL=f0.optional().or(_("").transform(()=>{return})),uy=I({redirect_uris:E(f0),token_endpoint_auth_method:U().optional(),grant_types:E(U()).optional(),response_types:E(U()).optional(),client_name:U().optional(),client_uri:f0.optional(),logo_uri:cL,scope:U().optional(),contacts:E(U()).optional(),tos_uri:cL,policy_uri:U().optional(),jwks_uri:f0.optional(),jwks:cH().optional(),software_id:U().optional(),software_version:U().optional(),software_statement:U().optional()}).strip(),ly=I({client_id:U(),client_secret:U().optional(),client_id_issued_at:J0().optional(),client_secret_expires_at:J0().optional()}).strip(),oL=uy.merge(ly),ti=I({error:U(),error_description:U().optional()}).strip(),ai=I({token:U(),token_type_hint:U().optional()}).strip();function rL(Q){let X=typeof Q==="string"?new URL(Q):new URL(Q.href);return X.hash="",X}function tL({requestedResource:Q,configuredResource:X}){let Y=typeof Q==="string"?new URL(Q):new URL(Q.href),W=typeof X==="string"?new URL(X):new URL(X.href);if(Y.origin!==W.origin)return!1;if(Y.pathname.length<W.pathname.length)return!1;let $=Y.pathname.endsWith("/")?Y.pathname:Y.pathname+"/",J=W.pathname.endsWith("/")?W.pathname:W.pathname+"/";return $.startsWith(J)}class E0 extends Error{constructor(Q,X){super(Q);this.errorUri=X,this.name=this.constructor.name}toResponseObject(){let Q={error:this.errorCode,error_description:this.message};if(this.errorUri)Q.error_uri=this.errorUri;return Q}get errorCode(){return this.constructor.errorCode}}class LY extends E0{}LY.errorCode="invalid_request";class J4 extends E0{}J4.errorCode="invalid_client";class G4 extends E0{}G4.errorCode="invalid_grant";class H4 extends E0{}H4.errorCode="unauthorized_client";class OY extends E0{}OY.errorCode="unsupported_grant_type";class UY extends E0{}UY.errorCode="invalid_scope";class jY extends E0{}jY.errorCode="access_denied";class x6 extends E0{}x6.errorCode="server_error";class wY extends E0{}wY.errorCode="temporarily_unavailable";class MY extends E0{}MY.errorCode="unsupported_response_type";class NY extends E0{}NY.errorCode="unsupported_token_type";class bY extends E0{}bY.errorCode="invalid_token";class PY extends E0{}PY.errorCode="method_not_allowed";class ZY extends E0{}ZY.errorCode="too_many_requests";class B4 extends E0{}B4.errorCode="invalid_client_metadata";class RY extends E0{}RY.errorCode="insufficient_scope";class EY extends E0{}EY.errorCode="invalid_target";var aL={[LY.errorCode]:LY,[J4.errorCode]:J4,[G4.errorCode]:G4,[H4.errorCode]:H4,[OY.errorCode]:OY,[UY.errorCode]:UY,[jY.errorCode]:jY,[x6.errorCode]:x6,[wY.errorCode]:wY,[MY.errorCode]:MY,[NY.errorCode]:NY,[bY.errorCode]:bY,[PY.errorCode]:PY,[ZY.errorCode]:ZY,[B4.errorCode]:B4,[RY.errorCode]:RY,[EY.errorCode]:EY};class y6 extends Error{constructor(Q){super(Q??"Unauthorized")}}function my(Q){return["client_secret_basic","client_secret_post","none"].includes(Q)}var kJ="code",vJ="S256";function cy(Q,X){let Y=Q.client_secret!==void 0;if(X.length===0)return Y?"client_secret_post":"none";if("token_endpoint_auth_method"in Q&&Q.token_endpoint_auth_method&&my(Q.token_endpoint_auth_method)&&X.includes(Q.token_endpoint_auth_method))return Q.token_endpoint_auth_method;if(Y&&X.includes("client_secret_basic"))return"client_secret_basic";if(Y&&X.includes("client_secret_post"))return"client_secret_post";if(X.includes("none"))return"none";return Y?"client_secret_post":"none"}function py(Q,X,Y,W){let{client_id:$,client_secret:J}=X;switch(Q){case"client_secret_basic":dy($,J,Y);return;case"client_secret_post":iy($,J,W);return;case"none":ny($,W);return;default:throw Error(`Unsupported client authentication method: ${Q}`)}}function dy(Q,X,Y){if(!X)throw Error("client_secret_basic authentication requires a client_secret");let W=btoa(`${Q}:${X}`);Y.set("Authorization",`Basic ${W}`)}function iy(Q,X,Y){if(Y.set("client_id",Q),X)Y.set("client_secret",X)}function ny(Q,X){X.set("client_id",Q)}async function eL(Q){let X=Q instanceof Response?Q.status:void 0,Y=Q instanceof Response?await Q.text():Q;try{let W=nL.parse(JSON.parse(Y)),{error:$,error_description:J,error_uri:G}=W;return new(aL[$]||x6)(J||"",G)}catch(W){let $=`${X?`HTTP ${X}: `:""}Invalid OAuth error response: ${W}. Raw body: ${Y}`;return new x6($)}}async function m8(Q,X){try{return await _J(Q,X)}catch(Y){if(Y instanceof J4||Y instanceof H4)return await Q.invalidateCredentials?.("all"),await _J(Q,X);else if(Y instanceof G4)return await Q.invalidateCredentials?.("tokens"),await _J(Q,X);throw Y}}async function _J(Q,{serverUrl:X,authorizationCode:Y,scope:W,resourceMetadataUrl:$,fetchFn:J}){let G,H;try{if(G=await ty(X,{resourceMetadataUrl:$},J),G.authorization_servers&&G.authorization_servers.length>0)H=G.authorization_servers[0]}catch{}if(!H)H=new URL("/",X);let B=await ry(X,Q,G),z=await Xg(H,{fetchFn:J}),K=await Promise.resolve(Q.clientInformation());if(!K){if(Y!==void 0)throw Error("Existing OAuth client information is required when exchanging an authorization code");let L=z?.client_id_metadata_document_supported===!0,O=Q.clientMetadataUrl;if(O&&!oy(O))throw new B4(`clientMetadataUrl must be a valid HTTPS URL with a non-root pathname, got: ${O}`);if(L&&O)K={client_id:O},await Q.saveClientInformation?.(K);else{if(!Q.saveClientInformation)throw Error("OAuth client information must be saveable for dynamic registration");let N=await Gg(H,{metadata:z,clientMetadata:Q.clientMetadata,fetchFn:J});await Q.saveClientInformation(N),K=N}}let V=!Q.redirectUrl;if(Y!==void 0||V){let L=await Jg(Q,H,{metadata:z,resource:B,authorizationCode:Y,fetchFn:J});return await Q.saveTokens(L),"AUTHORIZED"}let D=await Q.tokens();if(D?.refresh_token)try{let L=await $g(H,{metadata:z,clientInformation:K,refreshToken:D.refresh_token,resource:B,addClientAuthentication:Q.addClientAuthentication,fetchFn:J});return await Q.saveTokens(L),"AUTHORIZED"}catch(L){if(!(L instanceof E0)||L instanceof x6);else throw L}let F=Q.state?await Q.state():void 0,{authorizationUrl:q,codeVerifier:A}=await Yg(H,{metadata:z,clientInformation:K,state:F,redirectUrl:Q.redirectUrl,scope:W||G?.scopes_supported?.join(" ")||Q.clientMetadata.scope,resource:B});return await Q.saveCodeVerifier(A),await Q.redirectToAuthorization(q),"REDIRECT"}function oy(Q){if(!Q)return!1;try{let X=new URL(Q);return X.protocol==="https:"&&X.pathname!=="/"}catch{return!1}}async function ry(Q,X,Y){let W=rL(Q);if(X.validateResourceURL)return await X.validateResourceURL(W,Y?.resource);if(!Y)return;if(!tL({requestedResource:W,configuredResource:Y.resource}))throw Error(`Protected resource ${Y.resource} does not match expected ${W} (or origin)`);return new URL(Y.resource)}function yJ(Q){let X=Q.headers.get("WWW-Authenticate");if(!X)return{};let[Y,W]=X.split(" ");if(Y.toLowerCase()!=="bearer"||!W)return{};let $=xJ(Q,"resource_metadata")||void 0,J;if($)try{J=new URL($)}catch{}let G=xJ(Q,"scope")||void 0,H=xJ(Q,"error")||void 0;return{resourceMetadataUrl:J,scope:G,error:H}}function xJ(Q,X){let Y=Q.headers.get("WWW-Authenticate");if(!Y)return null;let W=new RegExp(`${X}=(?:"([^"]+)"|([^\\s,]+))`),$=Y.match(W);if($)return $[1]||$[2];return null}async function ty(Q,X,Y=fetch){let W=await ey(Q,"oauth-protected-resource",Y,{protocolVersion:X?.protocolVersion,metadataUrl:X?.resourceMetadataUrl});if(!W||W.status===404)throw await W?.body?.cancel(),Error("Resource server does not implement OAuth 2.0 Protected Resource Metadata.");if(!W.ok)throw await W.body?.cancel(),Error(`HTTP ${W.status} trying to load well-known OAuth protected resource metadata.`);return pL.parse(await W.json())}async function gJ(Q,X,Y=fetch){try{return await Y(Q,{headers:X})}catch(W){if(W instanceof TypeError)if(X)return gJ(Q,void 0,Y);else return;throw W}}function ay(Q,X="",Y={}){if(X.endsWith("/"))X=X.slice(0,-1);return Y.prependPathname?`${X}/.well-known/${Q}`:`/.well-known/${Q}${X}`}async function sL(Q,X,Y=fetch){return await gJ(Q,{"MCP-Protocol-Version":X},Y)}function sy(Q,X){return!Q||Q.status>=400&&Q.status<500&&X!=="/"}async function ey(Q,X,Y,W){let $=new URL(Q),J=W?.protocolVersion??O6,G;if(W?.metadataUrl)G=new URL(W.metadataUrl);else{let B=ay(X,$.pathname);G=new URL(B,W?.metadataServerUrl??$),G.search=$.search}let H=await sL(G,J,Y);if(!W?.metadataUrl&&sy(H,$.pathname)){let B=new URL(`/.well-known/${X}`,$);H=await sL(B,J,Y)}return H}function Qg(Q){let X=typeof Q==="string"?new URL(Q):Q,Y=X.pathname!=="/",W=[];if(!Y)return W.push({url:new URL("/.well-known/oauth-authorization-server",X.origin),type:"oauth"}),W.push({url:new URL("/.well-known/openid-configuration",X.origin),type:"oidc"}),W;let $=X.pathname;if($.endsWith("/"))$=$.slice(0,-1);return W.push({url:new URL(`/.well-known/oauth-authorization-server${$}`,X.origin),type:"oauth"}),W.push({url:new URL(`/.well-known/openid-configuration${$}`,X.origin),type:"oidc"}),W.push({url:new URL(`${$}/.well-known/openid-configuration`,X.origin),type:"oidc"}),W}async function Xg(Q,{fetchFn:X=fetch,protocolVersion:Y=O6}={}){let W={"MCP-Protocol-Version":Y,Accept:"application/json"},$=Qg(Q);for(let{url:J,type:G}of $){let H=await gJ(J,W,X);if(!H)continue;if(!H.ok){if(await H.body?.cancel(),H.status>=400&&H.status<500)continue;throw Error(`HTTP ${H.status} trying to load ${G==="oauth"?"OAuth":"OpenID provider"} metadata from ${J}`)}if(G==="oauth")return CJ.parse(await H.json());else return dL.parse(await H.json())}return}async function Yg(Q,{metadata:X,clientInformation:Y,redirectUrl:W,scope:$,state:J,resource:G}){let H;if(X){if(H=new URL(X.authorization_endpoint),!X.response_types_supported.includes(kJ))throw Error(`Incompatible auth server: does not support response type ${kJ}`);if(X.code_challenge_methods_supported&&!X.code_challenge_methods_supported.includes(vJ))throw Error(`Incompatible auth server: does not support code challenge method ${vJ}`)}else H=new URL("/authorize",Q);let B=await TJ(),z=B.code_verifier,K=B.code_challenge;if(H.searchParams.set("response_type",kJ),H.searchParams.set("client_id",Y.client_id),H.searchParams.set("code_challenge",K),H.searchParams.set("code_challenge_method",vJ),H.searchParams.set("redirect_uri",String(W)),J)H.searchParams.set("state",J);if($)H.searchParams.set("scope",$);if($?.includes("offline_access"))H.searchParams.append("prompt","consent");if(G)H.searchParams.set("resource",G.href);return{authorizationUrl:H,codeVerifier:z}}function Wg(Q,X,Y){return new URLSearchParams({grant_type:"authorization_code",code:Q,code_verifier:X,redirect_uri:String(Y)})}async function QO(Q,{metadata:X,tokenRequestParams:Y,clientInformation:W,addClientAuthentication:$,resource:J,fetchFn:G}){let H=X?.token_endpoint?new URL(X.token_endpoint):new URL("/token",Q),B=new Headers({"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"});if(J)Y.set("resource",J.href);if($)await $(B,Y,H,X);else if(W){let K=X?.token_endpoint_auth_methods_supported??[],V=cy(W,K);py(V,W,B,Y)}let z=await(G??fetch)(H,{method:"POST",headers:B,body:Y});if(!z.ok)throw await eL(z);return iL.parse(await z.json())}async function $g(Q,{metadata:X,clientInformation:Y,refreshToken:W,resource:$,addClientAuthentication:J,fetchFn:G}){let H=new URLSearchParams({grant_type:"refresh_token",refresh_token:W}),B=await QO(Q,{metadata:X,tokenRequestParams:H,clientInformation:Y,addClientAuthentication:J,resource:$,fetchFn:G});return{refresh_token:W,...B}}async function Jg(Q,X,{metadata:Y,resource:W,authorizationCode:$,fetchFn:J}={}){let G=Q.clientMetadata.scope,H;if(Q.prepareTokenRequest)H=await Q.prepareTokenRequest(G);if(!H){if(!$)throw Error("Either provider.prepareTokenRequest() or authorizationCode is required");if(!Q.redirectUrl)throw Error("redirectUrl is required for authorization_code flow");let z=await Q.codeVerifier();H=Wg($,z,Q.redirectUrl)}let B=await Q.clientInformation();return QO(X,{metadata:Y,tokenRequestParams:H,clientInformation:B??void 0,addClientAuthentication:Q.addClientAuthentication,resource:W,fetchFn:J})}async function Gg(Q,{metadata:X,clientMetadata:Y,fetchFn:W}){let $;if(X){if(!X.registration_endpoint)throw Error("Incompatible auth server: does not support dynamic client registration");$=new URL(X.registration_endpoint)}else $=new URL("/register",Q);let J=await(W??fetch)($,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Y)});if(!J.ok)throw await eL(J);return oL.parse(await J.json())}class hJ extends Error{constructor(Q,X){super(Q),this.name="ParseError",this.type=X.type,this.field=X.field,this.value=X.value,this.line=X.line}}function fJ(Q){}function XO(Q){if(typeof Q=="function")throw TypeError("`callbacks` must be an object, got a function instead. Did you mean `{onEvent: fn}`?");let{onEvent:X=fJ,onError:Y=fJ,onRetry:W=fJ,onComment:$}=Q,J="",G=!0,H,B="",z="";function K(A){let L=G?A.replace(/^\xEF\xBB\xBF/,""):A,[O,M]=Hg(`${J}${L}`);for(let N of O)V(N);J=M,G=!1}function V(A){if(A===""){F();return}if(A.startsWith(":")){$&&$(A.slice(A.startsWith(": ")?2:1));return}let L=A.indexOf(":");if(L!==-1){let O=A.slice(0,L),M=A[L+1]===" "?2:1,N=A.slice(L+M);D(O,N,A);return}D(A,"",A)}function D(A,L,O){switch(A){case"event":z=L;break;case"data":B=`${B}${L}
50
- `;break;case"id":H=L.includes("\x00")?void 0:L;break;case"retry":/^\d+$/.test(L)?W(parseInt(L,10)):Y(new hJ(`Invalid \`retry\` value: "${L}"`,{type:"invalid-retry",value:L,line:O}));break;default:Y(new hJ(`Unknown field "${A.length>20?`${A.slice(0,20)}…`:A}"`,{type:"unknown-field",field:A,value:L,line:O}));break}}function F(){B.length>0&&X({id:H,event:z||void 0,data:B.endsWith(`
51
- `)?B.slice(0,-1):B}),H=void 0,B="",z=""}function q(A={}){J&&A.consume&&V(J),G=!0,H=void 0,B="",z="",J=""}return{feed:K,reset:q}}function Hg(Q){let X=[],Y="",W=0;for(;W<Q.length;){let $=Q.indexOf("\r",W),J=Q.indexOf(`
47
+ ]`;continue}if($+=W[B],W[B]==="\\")J=!0;else if(G&&W[B]==="]")G=!1;else if(!G&&W[B]==="[")G=!0}try{new RegExp($)}catch{return console.warn(`Could not convert regex pattern at ${X.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),Q.source}return $}function tQ(Q,X){if(X.target==="openAi")console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead.");if(X.target==="openApi3"&&Q.keyType?._def.typeName===P.ZodEnum)return{type:"object",required:Q.keyType._def.values,properties:Q.keyType._def.values.reduce((W,$)=>({...W,[$]:u(Q.valueType._def,{...X,currentPath:[...X.currentPath,"properties",$]})??M0(X)}),{}),additionalProperties:X.rejectedAdditionalProperties};let Y={type:"object",additionalProperties:u(Q.valueType._def,{...X,currentPath:[...X.currentPath,"additionalProperties"]})??X.allowedAdditionalProperties};if(X.target==="openApi3")return Y;if(Q.keyType?._def.typeName===P.ZodString&&Q.keyType._def.checks?.length){let{type:W,...$}=rQ(Q.keyType._def,X);return{...Y,propertyNames:$}}else if(Q.keyType?._def.typeName===P.ZodEnum)return{...Y,propertyNames:{enum:Q.keyType._def.values}};else if(Q.keyType?._def.typeName===P.ZodBranded&&Q.keyType._def.type._def.typeName===P.ZodString&&Q.keyType._def.type._def.checks?.length){let{type:W,...$}=oQ(Q.keyType._def,X);return{...Y,propertyNames:$}}return Y}function s3(Q,X){if(X.mapStrategy==="record")return tQ(Q,X);let Y=u(Q.keyType._def,{...X,currentPath:[...X.currentPath,"items","items","0"]})||M0(X),W=u(Q.valueType._def,{...X,currentPath:[...X.currentPath,"items","items","1"]})||M0(X);return{type:"array",maxItems:125,items:{type:"array",items:[Y,W],minItems:2,maxItems:2}}}function e3(Q){let X=Q.values,W=Object.keys(Q.values).filter((J)=>{return typeof X[X[J]]!=="number"}).map((J)=>X[J]),$=Array.from(new Set(W.map((J)=>typeof J)));return{type:$.length===1?$[0]==="string"?"string":"number":["string","number"],enum:W}}function QB(Q){return Q.target==="openAi"?void 0:{not:M0({...Q,currentPath:[...Q.currentPath,"not"]})}}function XB(Q){return Q.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var e8={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function WB(Q,X){if(X.target==="openApi3")return YB(Q,X);let Y=Q.options instanceof Map?Array.from(Q.options.values()):Q.options;if(Y.every((W)=>(W._def.typeName in e8)&&(!W._def.checks||!W._def.checks.length))){let W=Y.reduce(($,J)=>{let G=e8[J._def.typeName];return G&&!$.includes(G)?[...$,G]:$},[]);return{type:W.length>1?W:W[0]}}else if(Y.every((W)=>W._def.typeName==="ZodLiteral"&&!W.description)){let W=Y.reduce(($,J)=>{let G=typeof J._def.value;switch(G){case"string":case"number":case"boolean":return[...$,G];case"bigint":return[...$,"integer"];case"object":if(J._def.value===null)return[...$,"null"];case"symbol":case"undefined":case"function":default:return $}},[]);if(W.length===Y.length){let $=W.filter((J,G,H)=>H.indexOf(J)===G);return{type:$.length>1?$:$[0],enum:Y.reduce((J,G)=>{return J.includes(G._def.value)?J:[...J,G._def.value]},[])}}}else if(Y.every((W)=>W._def.typeName==="ZodEnum"))return{type:"string",enum:Y.reduce((W,$)=>[...W,...$._def.values.filter((J)=>!W.includes(J))],[])};return YB(Q,X)}var YB=(Q,X)=>{let Y=(Q.options instanceof Map?Array.from(Q.options.values()):Q.options).map((W,$)=>u(W._def,{...X,currentPath:[...X.currentPath,"anyOf",`${$}`]})).filter((W)=>!!W&&(!X.strictUnions||typeof W==="object"&&Object.keys(W).length>0));return Y.length?{anyOf:Y}:void 0};function $B(Q,X){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(Q.innerType._def.typeName)&&(!Q.innerType._def.checks||!Q.innerType._def.checks.length)){if(X.target==="openApi3")return{type:e8[Q.innerType._def.typeName],nullable:!0};return{type:[e8[Q.innerType._def.typeName],"null"]}}if(X.target==="openApi3"){let W=u(Q.innerType._def,{...X,currentPath:[...X.currentPath]});if(W&&"$ref"in W)return{allOf:[W],nullable:!0};return W&&{...W,nullable:!0}}let Y=u(Q.innerType._def,{...X,currentPath:[...X.currentPath,"anyOf","0"]});return Y&&{anyOf:[Y,{type:"null"}]}}function JB(Q,X){let Y={type:"number"};if(!Q.checks)return Y;for(let W of Q.checks)switch(W.kind){case"int":Y.type="integer",N5(Y,"type",W.message,X);break;case"min":if(X.target==="jsonSchema7")if(W.inclusive)s(Y,"minimum",W.value,W.message,X);else s(Y,"exclusiveMinimum",W.value,W.message,X);else{if(!W.inclusive)Y.exclusiveMinimum=!0;s(Y,"minimum",W.value,W.message,X)}break;case"max":if(X.target==="jsonSchema7")if(W.inclusive)s(Y,"maximum",W.value,W.message,X);else s(Y,"exclusiveMaximum",W.value,W.message,X);else{if(!W.inclusive)Y.exclusiveMaximum=!0;s(Y,"maximum",W.value,W.message,X)}break;case"multipleOf":s(Y,"multipleOf",W.value,W.message,X);break}return Y}function GB(Q,X){let Y=X.target==="openAi",W={type:"object",properties:{}},$=[],J=Q.shape();for(let H in J){let B=J[H];if(B===void 0||B._def===void 0)continue;let z=sw(B);if(z&&Y){if(B._def.typeName==="ZodOptional")B=B._def.innerType;if(!B.isNullable())B=B.nullable();z=!1}let K=u(B._def,{...X,currentPath:[...X.currentPath,"properties",H],propertyPath:[...X.currentPath,"properties",H]});if(K===void 0)continue;if(W.properties[H]=K,!z)$.push(H)}if($.length)W.required=$;let G=aw(Q,X);if(G!==void 0)W.additionalProperties=G;return W}function aw(Q,X){if(Q.catchall._def.typeName!=="ZodNever")return u(Q.catchall._def,{...X,currentPath:[...X.currentPath,"additionalProperties"]});switch(Q.unknownKeys){case"passthrough":return X.allowedAdditionalProperties;case"strict":return X.rejectedAdditionalProperties;case"strip":return X.removeAdditionalStrategy==="strict"?X.allowedAdditionalProperties:X.rejectedAdditionalProperties}}function sw(Q){try{return Q.isOptional()}catch{return!0}}var HB=(Q,X)=>{if(X.currentPath.toString()===X.propertyPath?.toString())return u(Q.innerType._def,X);let Y=u(Q.innerType._def,{...X,currentPath:[...X.currentPath,"anyOf","1"]});return Y?{anyOf:[{not:M0(X)},Y]}:M0(X)};var BB=(Q,X)=>{if(X.pipeStrategy==="input")return u(Q.in._def,X);else if(X.pipeStrategy==="output")return u(Q.out._def,X);let Y=u(Q.in._def,{...X,currentPath:[...X.currentPath,"allOf","0"]}),W=u(Q.out._def,{...X,currentPath:[...X.currentPath,"allOf",Y?"1":"0"]});return{allOf:[Y,W].filter(($)=>$!==void 0)}};function zB(Q,X){return u(Q.type._def,X)}function KB(Q,X){let W={type:"array",uniqueItems:!0,items:u(Q.valueType._def,{...X,currentPath:[...X.currentPath,"items"]})};if(Q.minSize)s(W,"minItems",Q.minSize.value,Q.minSize.message,X);if(Q.maxSize)s(W,"maxItems",Q.maxSize.value,Q.maxSize.message,X);return W}function VB(Q,X){if(Q.rest)return{type:"array",minItems:Q.items.length,items:Q.items.map((Y,W)=>u(Y._def,{...X,currentPath:[...X.currentPath,"items",`${W}`]})).reduce((Y,W)=>W===void 0?Y:[...Y,W],[]),additionalItems:u(Q.rest._def,{...X,currentPath:[...X.currentPath,"additionalItems"]})};else return{type:"array",minItems:Q.items.length,maxItems:Q.items.length,items:Q.items.map((Y,W)=>u(Y._def,{...X,currentPath:[...X.currentPath,"items",`${W}`]})).reduce((Y,W)=>W===void 0?Y:[...Y,W],[])}}function FB(Q){return{not:M0(Q)}}function AB(Q){return M0(Q)}var qB=(Q,X)=>{return u(Q.innerType._def,X)};var DB=(Q,X,Y)=>{switch(X){case P.ZodString:return rQ(Q,Y);case P.ZodNumber:return JB(Q,Y);case P.ZodObject:return GB(Q,Y);case P.ZodBigInt:return c3(Q,Y);case P.ZodBoolean:return p3();case P.ZodDate:return w5(Q,Y);case P.ZodUndefined:return FB(Y);case P.ZodNull:return XB(Y);case P.ZodArray:return m3(Q,Y);case P.ZodUnion:case P.ZodDiscriminatedUnion:return WB(Q,Y);case P.ZodIntersection:return r3(Q,Y);case P.ZodTuple:return VB(Q,Y);case P.ZodRecord:return tQ(Q,Y);case P.ZodLiteral:return t3(Q,Y);case P.ZodEnum:return o3(Q);case P.ZodNativeEnum:return e3(Q);case P.ZodNullable:return $B(Q,Y);case P.ZodOptional:return HB(Q,Y);case P.ZodMap:return s3(Q,Y);case P.ZodSet:return KB(Q,Y);case P.ZodLazy:return()=>Q.getter()._def;case P.ZodPromise:return zB(Q,Y);case P.ZodNaN:case P.ZodNever:return QB(Y);case P.ZodEffects:return n3(Q,Y);case P.ZodAny:return M0(Y);case P.ZodUnknown:return AB(Y);case P.ZodDefault:return i3(Q,Y);case P.ZodBranded:return oQ(Q,Y);case P.ZodReadonly:return qB(Q,Y);case P.ZodCatch:return d3(Q,Y);case P.ZodPipeline:return BB(Q,Y);case P.ZodFunction:case P.ZodVoid:case P.ZodSymbol:return;default:return((W)=>{return})(X)}};function u(Q,X,Y=!1){let W=X.seen.get(Q);if(X.override){let H=X.override?.(Q,X,W,Y);if(H!==h3)return H}if(W&&!Y){let H=ew(W,X);if(H!==void 0)return H}let $={def:Q,path:X.currentPath,jsonSchema:void 0};X.seen.set(Q,$);let J=DB(Q,Q.typeName,X),G=typeof J==="function"?u(J(),X):J;if(G)Qb(Q,X,G);if(X.postProcess){let H=X.postProcess(G,Q,X);return $.jsonSchema=G,H}return $.jsonSchema=G,G}var ew=(Q,X)=>{switch(X.$refStrategy){case"root":return{$ref:Q.path.join("/")};case"relative":return{$ref:nQ(X.currentPath,Q.path)};case"none":case"seen":{if(Q.path.length<X.currentPath.length&&Q.path.every((Y,W)=>X.currentPath[W]===Y))return console.warn(`Recursive reference detected at ${X.currentPath.join("/")}! Defaulting to any`),M0(X);return X.$refStrategy==="seen"?M0(X):void 0}}},Qb=(Q,X,Y)=>{if(Q.description){if(Y.description=Q.description,X.markdownDescription)Y.markdownDescription=Q.description}return Y};var Z5=(Q,X)=>{let Y=l3(X),W=typeof X==="object"&&X.definitions?Object.entries(X.definitions).reduce((B,[z,K])=>({...B,[z]:u(K._def,{...Y,currentPath:[...Y.basePath,Y.definitionPath,z]},!0)??M0(Y)}),{}):void 0,$=typeof X==="string"?X:X?.nameStrategy==="title"?void 0:X?.name,J=u(Q._def,$===void 0?Y:{...Y,currentPath:[...Y.basePath,Y.definitionPath,$]},!1)??M0(Y),G=typeof X==="object"&&X.name!==void 0&&X.nameStrategy==="title"?X.name:void 0;if(G!==void 0)J.title=G;if(Y.flags.hasReferencedOpenAiAnyType){if(!W)W={};if(!W[Y.openAiAnyTypeName])W[Y.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:Y.$refStrategy==="relative"?"1":[...Y.basePath,Y.definitionPath,Y.openAiAnyTypeName].join("/")}}}let H=$===void 0?W?{...J,[Y.definitionPath]:W}:J:{$ref:[...Y.$refStrategy==="relative"?[]:Y.basePath,Y.definitionPath,$].join("/"),[Y.definitionPath]:{...W,[$]:J}};if(Y.target==="jsonSchema7")H.$schema="http://json-schema.org/draft-07/schema#";else if(Y.target==="jsonSchema2019-09"||Y.target==="openAi")H.$schema="https://json-schema.org/draft/2019-09/schema#";if(Y.target==="openAi"&&(("anyOf"in H)||("oneOf"in H)||("allOf"in H)||("type"in H)&&Array.isArray(H.type)))console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property.");return H};function Xb(Q){if(!Q)return"draft-7";if(Q==="jsonSchema7"||Q==="draft-7")return"draft-7";if(Q==="jsonSchema2019-09"||Q==="draft-2020-12")return"draft-2020-12";return"draft-7"}function R5(Q,X){if(s0(Q))return UQ(Q,{target:Xb(X?.target),io:X?.pipeStrategy??"input"});return Z5(Q,{strictUnions:X?.strictUnions??!0,pipeStrategy:X?.pipeStrategy??"input"})}function E5(Q){let Y=c1(Q)?.method;if(!Y)throw Error("Schema is missing a method literal");let W=NQ(Y);if(typeof W!=="string")throw Error("Schema method literal must be a string");return W}function S5(Q,X){let Y=c0(Q,X);if(!Y.success)throw Y.error;return Y.data}var Yb=60000;class Q4{constructor(Q){if(this._options=Q,this._requestMessageId=0,this._requestHandlers=new Map,this._requestHandlerAbortControllers=new Map,this._notificationHandlers=new Map,this._responseHandlers=new Map,this._progressHandlers=new Map,this._timeoutInfo=new Map,this._pendingDebouncedNotifications=new Set,this._taskProgressTokens=new Map,this._requestResolvers=new Map,this.setNotificationHandler(TQ,(X)=>{this._oncancel(X)}),this.setNotificationHandler(vQ,(X)=>{this._onprogress(X)}),this.setRequestHandler(kQ,(X)=>({})),this._taskStore=Q?.taskStore,this._taskMessageQueue=Q?.taskMessageQueue,this._taskStore)this.setRequestHandler(_Q,async(X,Y)=>{let W=await this._taskStore.getTask(X.params.taskId,Y.sessionId);if(!W)throw new S(k.InvalidParams,"Failed to retrieve task: Task not found");return{...W}}),this.setRequestHandler(yQ,async(X,Y)=>{let W=async()=>{let $=X.params.taskId;if(this._taskMessageQueue){let G;while(G=await this._taskMessageQueue.dequeue($,Y.sessionId)){if(G.type==="response"||G.type==="error"){let H=G.message,B=H.id,z=this._requestResolvers.get(B);if(z)if(this._requestResolvers.delete(B),G.type==="response")z(H);else{let K=H,V=new S(K.error.code,K.error.message,K.error.data);z(V)}else{let K=G.type==="response"?"Response":"Error";this._onerror(Error(`${K} handler missing for request ${B}`))}continue}await this._transport?.send(G.message,{relatedRequestId:Y.requestId})}}let J=await this._taskStore.getTask($,Y.sessionId);if(!J)throw new S(k.InvalidParams,`Task not found: ${$}`);if(!N6(J.status))return await this._waitForTaskUpdate($,Y.signal),await W();if(N6(J.status)){let G=await this._taskStore.getTaskResult($,Y.sessionId);return this._clearTaskQueue($),{...G,_meta:{...G._meta,[j6]:{taskId:$}}}}return await W()};return await W()}),this.setRequestHandler(fQ,async(X,Y)=>{try{let{tasks:W,nextCursor:$}=await this._taskStore.listTasks(X.params?.cursor,Y.sessionId);return{tasks:W,nextCursor:$,_meta:{}}}catch(W){throw new S(k.InvalidParams,`Failed to list tasks: ${W instanceof Error?W.message:String(W)}`)}}),this.setRequestHandler(hQ,async(X,Y)=>{try{let W=await this._taskStore.getTask(X.params.taskId,Y.sessionId);if(!W)throw new S(k.InvalidParams,`Task not found: ${X.params.taskId}`);if(N6(W.status))throw new S(k.InvalidParams,`Cannot cancel task in terminal status: ${W.status}`);await this._taskStore.updateTaskStatus(X.params.taskId,"cancelled","Client cancelled task execution.",Y.sessionId),this._clearTaskQueue(X.params.taskId);let $=await this._taskStore.getTask(X.params.taskId,Y.sessionId);if(!$)throw new S(k.InvalidParams,`Task not found after cancellation: ${X.params.taskId}`);return{_meta:{},...$}}catch(W){if(W instanceof S)throw W;throw new S(k.InvalidRequest,`Failed to cancel task: ${W instanceof Error?W.message:String(W)}`)}})}async _oncancel(Q){if(!Q.params.requestId)return;this._requestHandlerAbortControllers.get(Q.params.requestId)?.abort(Q.params.reason)}_setupTimeout(Q,X,Y,W,$=!1){this._timeoutInfo.set(Q,{timeoutId:setTimeout(W,X),startTime:Date.now(),timeout:X,maxTotalTimeout:Y,resetTimeoutOnProgress:$,onTimeout:W})}_resetTimeout(Q){let X=this._timeoutInfo.get(Q);if(!X)return!1;let Y=Date.now()-X.startTime;if(X.maxTotalTimeout&&Y>=X.maxTotalTimeout)throw this._timeoutInfo.delete(Q),S.fromError(k.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:X.maxTotalTimeout,totalElapsed:Y});return clearTimeout(X.timeoutId),X.timeoutId=setTimeout(X.onTimeout,X.timeout),!0}_cleanupTimeout(Q){let X=this._timeoutInfo.get(Q);if(X)clearTimeout(X.timeoutId),this._timeoutInfo.delete(Q)}async connect(Q){this._transport=Q;let X=this.transport?.onclose;this._transport.onclose=()=>{X?.(),this._onclose()};let Y=this.transport?.onerror;this._transport.onerror=($)=>{Y?.($),this._onerror($)};let W=this._transport?.onmessage;this._transport.onmessage=($,J)=>{if(W?.($,J),a6($)||Z3($))this._onresponse($);else if(m8($))this._onrequest($,J);else if(P3($))this._onnotification($);else this._onerror(Error(`Unknown message type: ${JSON.stringify($)}`))},await this._transport.start()}_onclose(){let Q=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();let X=S.fromError(k.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(let Y of Q.values())Y(X)}_onerror(Q){this.onerror?.(Q)}_onnotification(Q){let X=this._notificationHandlers.get(Q.method)??this.fallbackNotificationHandler;if(X===void 0)return;Promise.resolve().then(()=>X(Q)).catch((Y)=>this._onerror(Error(`Uncaught error in notification handler: ${Y}`)))}_onrequest(Q,X){let Y=this._requestHandlers.get(Q.method)??this.fallbackRequestHandler,W=this._transport,$=Q.params?._meta?.[j6]?.taskId;if(Y===void 0){let z={jsonrpc:"2.0",id:Q.id,error:{code:k.MethodNotFound,message:"Method not found"}};if($&&this._taskMessageQueue)this._enqueueTaskMessage($,{type:"error",message:z,timestamp:Date.now()},W?.sessionId).catch((K)=>this._onerror(Error(`Failed to enqueue error response: ${K}`)));else W?.send(z).catch((K)=>this._onerror(Error(`Failed to send an error response: ${K}`)));return}let J=new AbortController;this._requestHandlerAbortControllers.set(Q.id,J);let G=N3(Q.params)?Q.params.task:void 0,H=this._taskStore?this.requestTaskStore(Q,W?.sessionId):void 0,B={signal:J.signal,sessionId:W?.sessionId,_meta:Q.params?._meta,sendNotification:async(z)=>{let K={relatedRequestId:Q.id};if($)K.relatedTask={taskId:$};await this.notification(z,K)},sendRequest:async(z,K,V)=>{let q={...V,relatedRequestId:Q.id};if($&&!q.relatedTask)q.relatedTask={taskId:$};let F=q.relatedTask?.taskId??$;if(F&&H)await H.updateTaskStatus(F,"input_required");return await this.request(z,K,q)},authInfo:X?.authInfo,requestId:Q.id,requestInfo:X?.requestInfo,taskId:$,taskStore:H,taskRequestedTtl:G?.ttl,closeSSEStream:X?.closeSSEStream,closeStandaloneSSEStream:X?.closeStandaloneSSEStream};Promise.resolve().then(()=>{if(G)this.assertTaskHandlerCapability(Q.method)}).then(()=>Y(Q,B)).then(async(z)=>{if(J.signal.aborted)return;let K={result:z,jsonrpc:"2.0",id:Q.id};if($&&this._taskMessageQueue)await this._enqueueTaskMessage($,{type:"response",message:K,timestamp:Date.now()},W?.sessionId);else await W?.send(K)},async(z)=>{if(J.signal.aborted)return;let K={jsonrpc:"2.0",id:Q.id,error:{code:Number.isSafeInteger(z.code)?z.code:k.InternalError,message:z.message??"Internal error",...z.data!==void 0&&{data:z.data}}};if($&&this._taskMessageQueue)await this._enqueueTaskMessage($,{type:"error",message:K,timestamp:Date.now()},W?.sessionId);else await W?.send(K)}).catch((z)=>this._onerror(Error(`Failed to send response: ${z}`))).finally(()=>{this._requestHandlerAbortControllers.delete(Q.id)})}_onprogress(Q){let{progressToken:X,...Y}=Q.params,W=Number(X),$=this._progressHandlers.get(W);if(!$){this._onerror(Error(`Received a progress notification for an unknown token: ${JSON.stringify(Q)}`));return}let J=this._responseHandlers.get(W),G=this._timeoutInfo.get(W);if(G&&J&&G.resetTimeoutOnProgress)try{this._resetTimeout(W)}catch(H){this._responseHandlers.delete(W),this._progressHandlers.delete(W),this._cleanupTimeout(W),J(H);return}$(Y)}_onresponse(Q){let X=Number(Q.id),Y=this._requestResolvers.get(X);if(Y){if(this._requestResolvers.delete(X),a6(Q))Y(Q);else{let J=new S(Q.error.code,Q.error.message,Q.error.data);Y(J)}return}let W=this._responseHandlers.get(X);if(W===void 0){this._onerror(Error(`Received a response for an unknown message ID: ${JSON.stringify(Q)}`));return}this._responseHandlers.delete(X),this._cleanupTimeout(X);let $=!1;if(a6(Q)&&Q.result&&typeof Q.result==="object"){let J=Q.result;if(J.task&&typeof J.task==="object"){let G=J.task;if(typeof G.taskId==="string")$=!0,this._taskProgressTokens.set(G.taskId,X)}}if(!$)this._progressHandlers.delete(X);if(a6(Q))W(Q);else{let J=S.fromError(Q.error.code,Q.error.message,Q.error.data);W(J)}}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(Q,X,Y){let{task:W}=Y??{};if(!W){try{yield{type:"result",result:await this.request(Q,X,Y)}}catch(J){yield{type:"error",error:J instanceof S?J:new S(k.InternalError,String(J))}}return}let $;try{let J=await this.request(Q,Q6,Y);if(J.task)$=J.task.taskId,yield{type:"taskCreated",task:J.task};else throw new S(k.InternalError,"Task creation did not return a task");while(!0){let G=await this.getTask({taskId:$},Y);if(yield{type:"taskStatus",task:G},N6(G.status)){if(G.status==="completed")yield{type:"result",result:await this.getTaskResult({taskId:$},X,Y)};else if(G.status==="failed")yield{type:"error",error:new S(k.InternalError,`Task ${$} failed`)};else if(G.status==="cancelled")yield{type:"error",error:new S(k.InternalError,`Task ${$} was cancelled`)};return}if(G.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:$},X,Y)};return}let H=G.pollInterval??this._options?.defaultTaskPollInterval??1000;await new Promise((B)=>setTimeout(B,H)),Y?.signal?.throwIfAborted()}}catch(J){yield{type:"error",error:J instanceof S?J:new S(k.InternalError,String(J))}}}request(Q,X,Y){let{relatedRequestId:W,resumptionToken:$,onresumptiontoken:J,task:G,relatedTask:H}=Y??{};return new Promise((B,z)=>{let K=(O)=>{z(O)};if(!this._transport){K(Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{if(this.assertCapabilityForMethod(Q.method),G)this.assertTaskCapability(Q.method)}catch(O){K(O);return}Y?.signal?.throwIfAborted();let V=this._requestMessageId++,q={...Q,jsonrpc:"2.0",id:V};if(Y?.onprogress)this._progressHandlers.set(V,Y.onprogress),q.params={...Q.params,_meta:{...Q.params?._meta||{},progressToken:V}};if(G)q.params={...q.params,task:G};if(H)q.params={...q.params,_meta:{...q.params?._meta||{},[j6]:H}};let F=(O)=>{this._responseHandlers.delete(V),this._progressHandlers.delete(V),this._cleanupTimeout(V),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:V,reason:String(O)}},{relatedRequestId:W,resumptionToken:$,onresumptiontoken:J}).catch((w)=>this._onerror(Error(`Failed to send cancellation: ${w}`)));let N=O instanceof S?O:new S(k.RequestTimeout,String(O));z(N)};this._responseHandlers.set(V,(O)=>{if(Y?.signal?.aborted)return;if(O instanceof Error)return z(O);try{let N=c0(X,O.result);if(!N.success)z(N.error);else B(N.data)}catch(N){z(N)}}),Y?.signal?.addEventListener("abort",()=>{F(Y?.signal?.reason)});let A=Y?.timeout??Yb,D=()=>F(S.fromError(k.RequestTimeout,"Request timed out",{timeout:A}));this._setupTimeout(V,A,Y?.maxTotalTimeout,D,Y?.resetTimeoutOnProgress??!1);let L=H?.taskId;if(L){let O=(N)=>{let w=this._responseHandlers.get(V);if(w)w(N);else this._onerror(Error(`Response handler missing for side-channeled request ${V}`))};this._requestResolvers.set(V,O),this._enqueueTaskMessage(L,{type:"request",message:q,timestamp:Date.now()}).catch((N)=>{this._cleanupTimeout(V),z(N)})}else this._transport.send(q,{relatedRequestId:W,resumptionToken:$,onresumptiontoken:J}).catch((O)=>{this._cleanupTimeout(V),z(O)})})}async getTask(Q,X){return this.request({method:"tasks/get",params:Q},xQ,X)}async getTaskResult(Q,X,Y){return this.request({method:"tasks/result",params:Q},X,Y)}async listTasks(Q,X){return this.request({method:"tasks/list",params:Q},gQ,X)}async cancelTask(Q,X){return this.request({method:"tasks/cancel",params:Q},S3,X)}async notification(Q,X){if(!this._transport)throw Error("Not connected");this.assertNotificationCapability(Q.method);let Y=X?.relatedTask?.taskId;if(Y){let G={...Q,jsonrpc:"2.0",params:{...Q.params,_meta:{...Q.params?._meta||{},[j6]:X.relatedTask}}};await this._enqueueTaskMessage(Y,{type:"notification",message:G,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(Q.method)&&!Q.params&&!X?.relatedRequestId&&!X?.relatedTask){if(this._pendingDebouncedNotifications.has(Q.method))return;this._pendingDebouncedNotifications.add(Q.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(Q.method),!this._transport)return;let G={...Q,jsonrpc:"2.0"};if(X?.relatedTask)G={...G,params:{...G.params,_meta:{...G.params?._meta||{},[j6]:X.relatedTask}}};this._transport?.send(G,X).catch((H)=>this._onerror(H))});return}let J={...Q,jsonrpc:"2.0"};if(X?.relatedTask)J={...J,params:{...J.params,_meta:{...J.params?._meta||{},[j6]:X.relatedTask}}};await this._transport.send(J,X)}setRequestHandler(Q,X){let Y=E5(Q);this.assertRequestHandlerCapability(Y),this._requestHandlers.set(Y,(W,$)=>{let J=S5(Q,W);return Promise.resolve(X(J,$))})}removeRequestHandler(Q){this._requestHandlers.delete(Q)}assertCanSetRequestHandler(Q){if(this._requestHandlers.has(Q))throw Error(`A request handler for ${Q} already exists, which would be overridden`)}setNotificationHandler(Q,X){let Y=E5(Q);this._notificationHandlers.set(Y,(W)=>{let $=S5(Q,W);return Promise.resolve(X($))})}removeNotificationHandler(Q){this._notificationHandlers.delete(Q)}_cleanupTaskProgressHandler(Q){let X=this._taskProgressTokens.get(Q);if(X!==void 0)this._progressHandlers.delete(X),this._taskProgressTokens.delete(Q)}async _enqueueTaskMessage(Q,X,Y){if(!this._taskStore||!this._taskMessageQueue)throw Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");let W=this._options?.maxTaskQueueSize;await this._taskMessageQueue.enqueue(Q,X,Y,W)}async _clearTaskQueue(Q,X){if(this._taskMessageQueue){let Y=await this._taskMessageQueue.dequeueAll(Q,X);for(let W of Y)if(W.type==="request"&&m8(W.message)){let $=W.message.id,J=this._requestResolvers.get($);if(J)J(new S(k.InternalError,"Task cancelled or completed")),this._requestResolvers.delete($);else this._onerror(Error(`Resolver missing for request ${$} during task ${Q} cleanup`))}}}async _waitForTaskUpdate(Q,X){let Y=this._options?.defaultTaskPollInterval??1000;try{let W=await this._taskStore?.getTask(Q);if(W?.pollInterval)Y=W.pollInterval}catch{}return new Promise((W,$)=>{if(X.aborted){$(new S(k.InvalidRequest,"Request cancelled"));return}let J=setTimeout(W,Y);X.addEventListener("abort",()=>{clearTimeout(J),$(new S(k.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(Q,X){let Y=this._taskStore;if(!Y)throw Error("No task store configured");return{createTask:async(W)=>{if(!Q)throw Error("No request provided");return await Y.createTask(W,Q.id,{method:Q.method,params:Q.params},X)},getTask:async(W)=>{let $=await Y.getTask(W,X);if(!$)throw new S(k.InvalidParams,"Failed to retrieve task: Task not found");return $},storeTaskResult:async(W,$,J)=>{await Y.storeTaskResult(W,$,J,X);let G=await Y.getTask(W,X);if(G){let H=n8.parse({method:"notifications/tasks/status",params:G});if(await this.notification(H),N6(G.status))this._cleanupTaskProgressHandler(W)}},getTaskResult:(W)=>{return Y.getTaskResult(W,X)},updateTaskStatus:async(W,$,J)=>{let G=await Y.getTask(W,X);if(!G)throw new S(k.InvalidParams,`Task "${W}" not found - it may have been cleaned up`);if(N6(G.status))throw new S(k.InvalidParams,`Cannot update task "${W}" from terminal status "${G.status}" to "${$}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await Y.updateTaskStatus(W,$,J,X);let H=await Y.getTask(W,X);if(H){let B=n8.parse({method:"notifications/tasks/status",params:H});if(await this.notification(B),N6(H.status))this._cleanupTaskProgressHandler(W)}},listTasks:(W)=>{return Y.listTasks(W,X)}}}}function LB(Q){return Q!==null&&typeof Q==="object"&&!Array.isArray(Q)}function aQ(Q,X){let Y={...Q};for(let W in X){let $=W,J=X[$];if(J===void 0)continue;let G=Y[$];if(LB(G)&&LB(J))Y[$]={...G,...J};else Y[$]=J}return Y}var rL=O9(TF(),1),tL=O9(oL(),1);function wf(){let Q=new rL.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return tL.default(Q),Q}class i4{constructor(Q){this._ajv=Q??wf()}getValidator(Q){let X="$id"in Q&&typeof Q.$id==="string"?this._ajv.getSchema(Q.$id)??this._ajv.compile(Q):this._ajv.compile(Q);return(Y)=>{if(X(Y))return{valid:!0,data:Y,errorMessage:void 0};else return{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(X.errors)}}}}class UJ{constructor(Q){this._server=Q}requestStream(Q,X,Y){return this._server.requestStream(Q,X,Y)}async getTask(Q,X){return this._server.getTask({taskId:Q},X)}async getTaskResult(Q,X,Y){return this._server.getTaskResult({taskId:Q},X,Y)}async listTasks(Q,X){return this._server.listTasks(Q?{cursor:Q}:void 0,X)}async cancelTask(Q,X){return this._server.cancelTask({taskId:Q},X)}}function DY(Q,X,Y){if(!Q)throw Error(`${Y} does not support task creation (required for ${X})`);switch(X){case"tools/call":if(!Q.tools?.call)throw Error(`${Y} does not support task creation for tools/call (required for ${X})`);break;default:break}}function LY(Q,X,Y){if(!Q)throw Error(`${Y} does not support task creation (required for ${X})`);switch(X){case"sampling/createMessage":if(!Q.sampling?.createMessage)throw Error(`${Y} does not support task creation for sampling/createMessage (required for ${X})`);break;case"elicitation/create":if(!Q.elicitation?.create)throw Error(`${Y} does not support task creation for elicitation/create (required for ${X})`);break;default:break}}class jJ extends Q4{constructor(Q,X){super(X);if(this._serverInfo=Q,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(t8.options.map((Y,W)=>[Y,W])),this.isMessageIgnored=(Y,W)=>{let $=this._loggingLevels.get(W);return $?this.LOG_LEVEL_SEVERITY.get(Y)<this.LOG_LEVEL_SEVERITY.get($):!1},this._capabilities=X?.capabilities??{},this._instructions=X?.instructions,this._jsonSchemaValidator=X?.jsonSchemaValidator??new i4,this.setRequestHandler(W5,(Y)=>this._oninitialize(Y)),this.setNotificationHandler(CQ,()=>this.oninitialized?.()),this._capabilities.logging)this.setRequestHandler(O5,async(Y,W)=>{let $=W.sessionId||W.requestInfo?.headers["mcp-session-id"]||void 0,{level:J}=Y.params,G=t8.safeParse(J);if(G.success)this._loggingLevels.set($,G.data);return{}})}get experimental(){if(!this._experimental)this._experimental={tasks:new UJ(this)};return this._experimental}registerCapabilities(Q){if(this.transport)throw Error("Cannot register capabilities after connecting to transport");this._capabilities=aQ(this._capabilities,Q)}setRequestHandler(Q,X){let W=c1(Q)?.method;if(!W)throw Error("Schema is missing a method literal");let $;if(s0(W)){let G=W;$=G._zod?.def?.value??G.value}else{let G=W;$=G._def?.value??G.value}if(typeof $!=="string")throw Error("Schema method literal must be a string");if($==="tools/call"){let G=async(H,B)=>{let z=c0(m9,H);if(!z.success){let F=z.error instanceof Error?z.error.message:String(z.error);throw new S(k.InvalidParams,`Invalid tools/call request: ${F}`)}let{params:K}=z.data,V=await Promise.resolve(X(H,B));if(K.task){let F=c0(Q6,V);if(!F.success){let A=F.error instanceof Error?F.error.message:String(F.error);throw new S(k.InvalidParams,`Invalid task creation result: ${A}`)}return F.data}let q=c0(M6,V);if(!q.success){let F=q.error instanceof Error?q.error.message:String(q.error);throw new S(k.InvalidParams,`Invalid tools/call result: ${F}`)}return q.data};return super.setRequestHandler(Q,G)}return super.setRequestHandler(Q,X)}assertCapabilityForMethod(Q){switch(Q){case"sampling/createMessage":if(!this._clientCapabilities?.sampling)throw Error(`Client does not support sampling (required for ${Q})`);break;case"elicitation/create":if(!this._clientCapabilities?.elicitation)throw Error(`Client does not support elicitation (required for ${Q})`);break;case"roots/list":if(!this._clientCapabilities?.roots)throw Error(`Client does not support listing roots (required for ${Q})`);break;case"ping":break}}assertNotificationCapability(Q){switch(Q){case"notifications/message":if(!this._capabilities.logging)throw Error(`Server does not support logging (required for ${Q})`);break;case"notifications/resources/updated":case"notifications/resources/list_changed":if(!this._capabilities.resources)throw Error(`Server does not support notifying about resources (required for ${Q})`);break;case"notifications/tools/list_changed":if(!this._capabilities.tools)throw Error(`Server does not support notifying of tool list changes (required for ${Q})`);break;case"notifications/prompts/list_changed":if(!this._capabilities.prompts)throw Error(`Server does not support notifying of prompt list changes (required for ${Q})`);break;case"notifications/elicitation/complete":if(!this._clientCapabilities?.elicitation?.url)throw Error(`Client does not support URL elicitation (required for ${Q})`);break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(Q){if(!this._capabilities)return;switch(Q){case"completion/complete":if(!this._capabilities.completions)throw Error(`Server does not support completions (required for ${Q})`);break;case"logging/setLevel":if(!this._capabilities.logging)throw Error(`Server does not support logging (required for ${Q})`);break;case"prompts/get":case"prompts/list":if(!this._capabilities.prompts)throw Error(`Server does not support prompts (required for ${Q})`);break;case"resources/list":case"resources/templates/list":case"resources/read":if(!this._capabilities.resources)throw Error(`Server does not support resources (required for ${Q})`);break;case"tools/call":case"tools/list":if(!this._capabilities.tools)throw Error(`Server does not support tools (required for ${Q})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw Error(`Server does not support tasks capability (required for ${Q})`);break;case"ping":case"initialize":break}}assertTaskCapability(Q){LY(this._clientCapabilities?.tasks?.requests,Q,"Client")}assertTaskHandlerCapability(Q){if(!this._capabilities)return;DY(this._capabilities.tasks?.requests,Q,"Server")}async _oninitialize(Q){let X=Q.params.protocolVersion;return this._clientCapabilities=Q.params.capabilities,this._clientVersion=Q.params.clientInfo,{protocolVersion:EQ.includes(X)?X:U6,capabilities:this.getCapabilities(),serverInfo:this._serverInfo,...this._instructions&&{instructions:this._instructions}}}getClientCapabilities(){return this._clientCapabilities}getClientVersion(){return this._clientVersion}getCapabilities(){return this._capabilities}async ping(){return this.request({method:"ping"},e1)}async createMessage(Q,X){if(Q.tools||Q.toolChoice){if(!this._clientCapabilities?.sampling?.tools)throw Error("Client does not support sampling tools capability.")}if(Q.messages.length>0){let Y=Q.messages[Q.messages.length-1],W=Array.isArray(Y.content)?Y.content:[Y.content],$=W.some((B)=>B.type==="tool_result"),J=Q.messages.length>1?Q.messages[Q.messages.length-2]:void 0,G=J?Array.isArray(J.content)?J.content:[J.content]:[],H=G.some((B)=>B.type==="tool_use");if($){if(W.some((B)=>B.type!=="tool_result"))throw Error("The last message must contain only tool_result content if any is present");if(!H)throw Error("tool_result blocks are not matching any tool_use from the previous message")}if(H){let B=new Set(G.filter((K)=>K.type==="tool_use").map((K)=>K.id)),z=new Set(W.filter((K)=>K.type==="tool_result").map((K)=>K.toolUseId));if(B.size!==z.size||![...B].every((K)=>z.has(K)))throw Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}if(Q.tools)return this.request({method:"sampling/createMessage",params:Q},U5,X);return this.request({method:"sampling/createMessage",params:Q},s8,X)}async elicitInput(Q,X){switch(Q.mode??"form"){case"url":{if(!this._clientCapabilities?.elicitation?.url)throw Error("Client does not support url elicitation.");let W=Q;return this.request({method:"elicitation/create",params:W},c9,X)}case"form":{if(!this._clientCapabilities?.elicitation?.form)throw Error("Client does not support form elicitation.");let W=Q.mode==="form"?Q:{...Q,mode:"form"},$=await this.request({method:"elicitation/create",params:W},c9,X);if($.action==="accept"&&$.content&&W.requestedSchema)try{let G=this._jsonSchemaValidator.getValidator(W.requestedSchema)($.content);if(!G.valid)throw new S(k.InvalidParams,`Elicitation response content does not match requested schema: ${G.errorMessage}`)}catch(J){if(J instanceof S)throw J;throw new S(k.InternalError,`Error validating elicitation response: ${J instanceof Error?J.message:String(J)}`)}return $}}}createElicitationCompletionNotifier(Q,X){if(!this._clientCapabilities?.elicitation?.url)throw Error("Client does not support URL elicitation (required for notifications/elicitation/complete)");return()=>this.notification({method:"notifications/elicitation/complete",params:{elicitationId:Q}},X)}async listRoots(Q,X){return this.request({method:"roots/list",params:Q},M5,X)}async sendLoggingMessage(Q,X){if(this._capabilities.logging){if(!this.isMessageIgnored(Q.level,X))return this.notification({method:"notifications/message",params:Q})}}async sendResourceUpdated(Q){return this.notification({method:"notifications/resources/updated",params:Q})}async sendResourceListChanged(){return this.notification({method:"notifications/resources/list_changed"})}async sendToolListChanged(){return this.notification({method:"notifications/tools/list_changed"})}async sendPromptListChanged(){return this.notification({method:"notifications/prompts/list_changed"})}}var sL=Symbol.for("mcp.completable");function MJ(Q){return!!Q&&typeof Q==="object"&&sL in Q}function eL(Q){return Q[sL]?.complete}var aL;(function(Q){Q.Completable="McpCompletable"})(aL||(aL={}));var bf=/^[A-Za-z0-9._-]{1,128}$/;function Pf(Q){let X=[];if(Q.length===0)return{isValid:!1,warnings:["Tool name cannot be empty"]};if(Q.length>128)return{isValid:!1,warnings:[`Tool name exceeds maximum length of 128 characters (current: ${Q.length})`]};if(Q.includes(" "))X.push("Tool name contains spaces, which may cause parsing issues");if(Q.includes(","))X.push("Tool name contains commas, which may cause parsing issues");if(Q.startsWith("-")||Q.endsWith("-"))X.push("Tool name starts or ends with a dash, which may cause parsing issues in some contexts");if(Q.startsWith(".")||Q.endsWith("."))X.push("Tool name starts or ends with a dot, which may cause parsing issues in some contexts");if(!bf.test(Q)){let Y=Q.split("").filter((W)=>!/[A-Za-z0-9._-]/.test(W)).filter((W,$,J)=>J.indexOf(W)===$);return X.push(`Tool name contains invalid characters: ${Y.map((W)=>`"${W}"`).join(", ")}`,"Allowed characters are: A-Z, a-z, 0-9, underscore (_), dash (-), and dot (.)"),{isValid:!1,warnings:X}}return{isValid:!0,warnings:X}}function Zf(Q,X){if(X.length>0){console.warn(`Tool name validation warning for "${Q}":`);for(let Y of X)console.warn(` - ${Y}`);console.warn("Tool registration will proceed, but this may cause compatibility issues."),console.warn("Consider updating the tool name to conform to the MCP tool naming standard."),console.warn("See SEP: Specify Format for Tool Names (https://github.com/modelcontextprotocol/modelcontextprotocol/issues/986) for more details.")}}function NJ(Q){let X=Pf(Q);return Zf(Q,X.warnings),X.isValid}class wJ{constructor(Q){this._mcpServer=Q}registerToolTask(Q,X,Y){let W={taskSupport:"required",...X.execution};if(W.taskSupport==="forbidden")throw Error(`Cannot register task-based tool '${Q}' with taskSupport 'forbidden'. Use registerTool() instead.`);return this._mcpServer._createRegisteredTool(Q,X.title,X.description,X.inputSchema,X.outputSchema,X.annotations,W,X._meta,Y)}}class PJ{constructor(Q,X){this._registeredResources={},this._registeredResourceTemplates={},this._registeredTools={},this._registeredPrompts={},this._toolHandlersInitialized=!1,this._completionHandlerInitialized=!1,this._resourceHandlersInitialized=!1,this._promptHandlersInitialized=!1,this.server=new jJ(Q,X)}get experimental(){if(!this._experimental)this._experimental={tasks:new wJ(this)};return this._experimental}async connect(Q){return await this.server.connect(Q)}async close(){await this.server.close()}setToolRequestHandlers(){if(this._toolHandlersInitialized)return;this.server.assertCanSetRequestHandler(x6(dQ)),this.server.assertCanSetRequestHandler(x6(m9)),this.server.registerCapabilities({tools:{listChanged:!0}}),this.server.setRequestHandler(dQ,()=>({tools:Object.entries(this._registeredTools).filter(([,Q])=>Q.enabled).map(([Q,X])=>{let Y={name:Q,title:X.title,description:X.description,inputSchema:(()=>{let W=g9(X.inputSchema);return W?R5(W,{strictUnions:!0,pipeStrategy:"input"}):Rf})(),annotations:X.annotations,execution:X.execution,_meta:X._meta};if(X.outputSchema){let W=g9(X.outputSchema);if(W)Y.outputSchema=R5(W,{strictUnions:!0,pipeStrategy:"output"})}return Y})})),this.server.setRequestHandler(m9,async(Q,X)=>{try{let Y=this._registeredTools[Q.params.name];if(!Y)throw new S(k.InvalidParams,`Tool ${Q.params.name} not found`);if(!Y.enabled)throw new S(k.InvalidParams,`Tool ${Q.params.name} disabled`);let W=!!Q.params.task,$=Y.execution?.taskSupport,J="createTask"in Y.handler;if(($==="required"||$==="optional")&&!J)throw new S(k.InternalError,`Tool ${Q.params.name} has taskSupport '${$}' but was not registered with registerToolTask`);if($==="required"&&!W)throw new S(k.MethodNotFound,`Tool ${Q.params.name} requires task augmentation (taskSupport: 'required')`);if($==="optional"&&!W&&J)return await this.handleAutomaticTaskPolling(Y,Q,X);let G=await this.validateToolInput(Y,Q.params.arguments,Q.params.name),H=await this.executeToolHandler(Y,G,X);if(W)return H;return await this.validateToolOutput(Y,H,Q.params.name),H}catch(Y){if(Y instanceof S){if(Y.code===k.UrlElicitationRequired)throw Y}return this.createToolError(Y instanceof Error?Y.message:String(Y))}}),this._toolHandlersInitialized=!0}createToolError(Q){return{content:[{type:"text",text:Q}],isError:!0}}async validateToolInput(Q,X,Y){if(!Q.inputSchema)return;let $=g9(Q.inputSchema)??Q.inputSchema,J=await jQ($,X);if(!J.success){let G="error"in J?J.error:"Unknown error",H=MQ(G);throw new S(k.InvalidParams,`Input validation error: Invalid arguments for tool ${Y}: ${H}`)}return J.data}async validateToolOutput(Q,X,Y){if(!Q.outputSchema)return;if(!("content"in X))return;if(X.isError)return;if(!X.structuredContent)throw new S(k.InvalidParams,`Output validation error: Tool ${Y} has an output schema but no structured content was provided`);let W=g9(Q.outputSchema),$=await jQ(W,X.structuredContent);if(!$.success){let J="error"in $?$.error:"Unknown error",G=MQ(J);throw new S(k.InvalidParams,`Output validation error: Invalid structured content for tool ${Y}: ${G}`)}}async executeToolHandler(Q,X,Y){let W=Q.handler;if("createTask"in W){if(!Y.taskStore)throw Error("No task store provided.");let J={...Y,taskStore:Y.taskStore};if(Q.inputSchema)return await Promise.resolve(W.createTask(X,J));else return await Promise.resolve(W.createTask(J))}if(Q.inputSchema)return await Promise.resolve(W(X,Y));else return await Promise.resolve(W(Y))}async handleAutomaticTaskPolling(Q,X,Y){if(!Y.taskStore)throw Error("No task store provided for task-capable tool.");let W=await this.validateToolInput(Q,X.params.arguments,X.params.name),$=Q.handler,J={...Y,taskStore:Y.taskStore},G=W?await Promise.resolve($.createTask(W,J)):await Promise.resolve($.createTask(J)),H=G.task.taskId,B=G.task,z=B.pollInterval??5000;while(B.status!=="completed"&&B.status!=="failed"&&B.status!=="cancelled"){await new Promise((V)=>setTimeout(V,z));let K=await Y.taskStore.getTask(H);if(!K)throw new S(k.InternalError,`Task ${H} not found during polling`);B=K}return await Y.taskStore.getTaskResult(H)}setCompletionRequestHandler(){if(this._completionHandlerInitialized)return;this.server.assertCanSetRequestHandler(x6(iQ)),this.server.registerCapabilities({completions:{}}),this.server.setRequestHandler(iQ,async(Q)=>{switch(Q.params.ref.type){case"ref/prompt":return x3(Q),this.handlePromptCompletion(Q,Q.params.ref);case"ref/resource":return y3(Q),this.handleResourceCompletion(Q,Q.params.ref);default:throw new S(k.InvalidParams,`Invalid completion reference: ${Q.params.ref}`)}}),this._completionHandlerInitialized=!0}async handlePromptCompletion(Q,X){let Y=this._registeredPrompts[X.name];if(!Y)throw new S(k.InvalidParams,`Prompt ${X.name} not found`);if(!Y.enabled)throw new S(k.InvalidParams,`Prompt ${X.name} disabled`);if(!Y.argsSchema)return n4;let $=c1(Y.argsSchema)?.[Q.params.argument.name];if(!MJ($))return n4;let J=eL($);if(!J)return n4;let G=await J(Q.params.argument.value,Q.params.context);return XO(G)}async handleResourceCompletion(Q,X){let Y=Object.values(this._registeredResourceTemplates).find((J)=>J.resourceTemplate.uriTemplate.toString()===X.uri);if(!Y){if(this._registeredResources[X.uri])return n4;throw new S(k.InvalidParams,`Resource template ${Q.params.ref.uri} not found`)}let W=Y.resourceTemplate.completeCallback(Q.params.argument.name);if(!W)return n4;let $=await W(Q.params.argument.value,Q.params.context);return XO($)}setResourceRequestHandlers(){if(this._resourceHandlersInitialized)return;this.server.assertCanSetRequestHandler(x6(uQ)),this.server.assertCanSetRequestHandler(x6(lQ)),this.server.assertCanSetRequestHandler(x6(mQ)),this.server.registerCapabilities({resources:{listChanged:!0}}),this.server.setRequestHandler(uQ,async(Q,X)=>{let Y=Object.entries(this._registeredResources).filter(([$,J])=>J.enabled).map(([$,J])=>({uri:$,name:J.name,...J.metadata})),W=[];for(let $ of Object.values(this._registeredResourceTemplates)){if(!$.resourceTemplate.listCallback)continue;let J=await $.resourceTemplate.listCallback(X);for(let G of J.resources)W.push({...$.metadata,...G})}return{resources:[...Y,...W]}}),this.server.setRequestHandler(lQ,async()=>{return{resourceTemplates:Object.entries(this._registeredResourceTemplates).map(([X,Y])=>({name:X,uriTemplate:Y.resourceTemplate.uriTemplate.toString(),...Y.metadata}))}}),this.server.setRequestHandler(mQ,async(Q,X)=>{let Y=new URL(Q.params.uri),W=this._registeredResources[Y.toString()];if(W){if(!W.enabled)throw new S(k.InvalidParams,`Resource ${Y} disabled`);return W.readCallback(Y,X)}for(let $ of Object.values(this._registeredResourceTemplates)){let J=$.resourceTemplate.uriTemplate.match(Y.toString());if(J)return $.readCallback(Y,J,X)}throw new S(k.InvalidParams,`Resource ${Y} not found`)}),this._resourceHandlersInitialized=!0}setPromptRequestHandlers(){if(this._promptHandlersInitialized)return;this.server.assertCanSetRequestHandler(x6(cQ)),this.server.assertCanSetRequestHandler(x6(pQ)),this.server.registerCapabilities({prompts:{listChanged:!0}}),this.server.setRequestHandler(cQ,()=>({prompts:Object.entries(this._registeredPrompts).filter(([,Q])=>Q.enabled).map(([Q,X])=>{return{name:Q,title:X.title,description:X.description,arguments:X.argsSchema?Sf(X.argsSchema):void 0}})})),this.server.setRequestHandler(pQ,async(Q,X)=>{let Y=this._registeredPrompts[Q.params.name];if(!Y)throw new S(k.InvalidParams,`Prompt ${Q.params.name} not found`);if(!Y.enabled)throw new S(k.InvalidParams,`Prompt ${Q.params.name} disabled`);if(Y.argsSchema){let W=g9(Y.argsSchema),$=await jQ(W,Q.params.arguments);if(!$.success){let H="error"in $?$.error:"Unknown error",B=MQ(H);throw new S(k.InvalidParams,`Invalid arguments for prompt ${Q.params.name}: ${B}`)}let J=$.data,G=Y.callback;return await Promise.resolve(G(J,X))}else{let W=Y.callback;return await Promise.resolve(W(X))}}),this._promptHandlersInitialized=!0}resource(Q,X,...Y){let W;if(typeof Y[0]==="object")W=Y.shift();let $=Y[0];if(typeof X==="string"){if(this._registeredResources[X])throw Error(`Resource ${X} is already registered`);let J=this._createRegisteredResource(Q,void 0,X,W,$);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),J}else{if(this._registeredResourceTemplates[Q])throw Error(`Resource template ${Q} is already registered`);let J=this._createRegisteredResourceTemplate(Q,void 0,X,W,$);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),J}}registerResource(Q,X,Y,W){if(typeof X==="string"){if(this._registeredResources[X])throw Error(`Resource ${X} is already registered`);let $=this._createRegisteredResource(Q,Y.title,X,Y,W);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),$}else{if(this._registeredResourceTemplates[Q])throw Error(`Resource template ${Q} is already registered`);let $=this._createRegisteredResourceTemplate(Q,Y.title,X,Y,W);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),$}}_createRegisteredResource(Q,X,Y,W,$){let J={name:Q,title:X,metadata:W,readCallback:$,enabled:!0,disable:()=>J.update({enabled:!1}),enable:()=>J.update({enabled:!0}),remove:()=>J.update({uri:null}),update:(G)=>{if(typeof G.uri<"u"&&G.uri!==Y){if(delete this._registeredResources[Y],G.uri)this._registeredResources[G.uri]=J}if(typeof G.name<"u")J.name=G.name;if(typeof G.title<"u")J.title=G.title;if(typeof G.metadata<"u")J.metadata=G.metadata;if(typeof G.callback<"u")J.readCallback=G.callback;if(typeof G.enabled<"u")J.enabled=G.enabled;this.sendResourceListChanged()}};return this._registeredResources[Y]=J,J}_createRegisteredResourceTemplate(Q,X,Y,W,$){let J={resourceTemplate:Y,title:X,metadata:W,readCallback:$,enabled:!0,disable:()=>J.update({enabled:!1}),enable:()=>J.update({enabled:!0}),remove:()=>J.update({name:null}),update:(B)=>{if(typeof B.name<"u"&&B.name!==Q){if(delete this._registeredResourceTemplates[Q],B.name)this._registeredResourceTemplates[B.name]=J}if(typeof B.title<"u")J.title=B.title;if(typeof B.template<"u")J.resourceTemplate=B.template;if(typeof B.metadata<"u")J.metadata=B.metadata;if(typeof B.callback<"u")J.readCallback=B.callback;if(typeof B.enabled<"u")J.enabled=B.enabled;this.sendResourceListChanged()}};this._registeredResourceTemplates[Q]=J;let G=Y.uriTemplate.variableNames;if(Array.isArray(G)&&G.some((B)=>!!Y.completeCallback(B)))this.setCompletionRequestHandler();return J}_createRegisteredPrompt(Q,X,Y,W,$){let J={title:X,description:Y,argsSchema:W===void 0?void 0:t6(W),callback:$,enabled:!0,disable:()=>J.update({enabled:!1}),enable:()=>J.update({enabled:!0}),remove:()=>J.update({name:null}),update:(G)=>{if(typeof G.name<"u"&&G.name!==Q){if(delete this._registeredPrompts[Q],G.name)this._registeredPrompts[G.name]=J}if(typeof G.title<"u")J.title=G.title;if(typeof G.description<"u")J.description=G.description;if(typeof G.argsSchema<"u")J.argsSchema=t6(G.argsSchema);if(typeof G.callback<"u")J.callback=G.callback;if(typeof G.enabled<"u")J.enabled=G.enabled;this.sendPromptListChanged()}};if(this._registeredPrompts[Q]=J,W){if(Object.values(W).some((H)=>{let B=H instanceof B1?H._def?.innerType:H;return MJ(B)}))this.setCompletionRequestHandler()}return J}_createRegisteredTool(Q,X,Y,W,$,J,G,H,B){NJ(Q);let z={title:X,description:Y,inputSchema:QO(W),outputSchema:QO($),annotations:J,execution:G,_meta:H,handler:B,enabled:!0,disable:()=>z.update({enabled:!1}),enable:()=>z.update({enabled:!0}),remove:()=>z.update({name:null}),update:(K)=>{if(typeof K.name<"u"&&K.name!==Q){if(typeof K.name==="string")NJ(K.name);if(delete this._registeredTools[Q],K.name)this._registeredTools[K.name]=z}if(typeof K.title<"u")z.title=K.title;if(typeof K.description<"u")z.description=K.description;if(typeof K.paramsSchema<"u")z.inputSchema=t6(K.paramsSchema);if(typeof K.outputSchema<"u")z.outputSchema=t6(K.outputSchema);if(typeof K.callback<"u")z.handler=K.callback;if(typeof K.annotations<"u")z.annotations=K.annotations;if(typeof K._meta<"u")z._meta=K._meta;if(typeof K.enabled<"u")z.enabled=K.enabled;this.sendToolListChanged()}};return this._registeredTools[Q]=z,this.setToolRequestHandlers(),this.sendToolListChanged(),z}tool(Q,...X){if(this._registeredTools[Q])throw Error(`Tool ${Q} is already registered`);let Y,W,$,J;if(typeof X[0]==="string")Y=X.shift();if(X.length>1){let H=X[0];if(bJ(H)){if(W=X.shift(),X.length>1&&typeof X[0]==="object"&&X[0]!==null&&!bJ(X[0]))J=X.shift()}else if(typeof H==="object"&&H!==null)J=X.shift()}let G=X[0];return this._createRegisteredTool(Q,void 0,Y,W,$,J,{taskSupport:"forbidden"},void 0,G)}registerTool(Q,X,Y){if(this._registeredTools[Q])throw Error(`Tool ${Q} is already registered`);let{title:W,description:$,inputSchema:J,outputSchema:G,annotations:H,_meta:B}=X;return this._createRegisteredTool(Q,W,$,J,G,H,{taskSupport:"forbidden"},B,Y)}prompt(Q,...X){if(this._registeredPrompts[Q])throw Error(`Prompt ${Q} is already registered`);let Y;if(typeof X[0]==="string")Y=X.shift();let W;if(X.length>1)W=X.shift();let $=X[0],J=this._createRegisteredPrompt(Q,void 0,Y,W,$);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),J}registerPrompt(Q,X,Y){if(this._registeredPrompts[Q])throw Error(`Prompt ${Q} is already registered`);let{title:W,description:$,argsSchema:J}=X,G=this._createRegisteredPrompt(Q,W,$,J,Y);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),G}isConnected(){return this.server.transport!==void 0}async sendLoggingMessage(Q,X){return this.server.sendLoggingMessage(Q,X)}sendResourceListChanged(){if(this.isConnected())this.server.sendResourceListChanged()}sendToolListChanged(){if(this.isConnected())this.server.sendToolListChanged()}sendPromptListChanged(){if(this.isConnected())this.server.sendPromptListChanged()}}var Rf={type:"object",properties:{}};function YO(Q){return Q!==null&&typeof Q==="object"&&"parse"in Q&&typeof Q.parse==="function"&&"safeParse"in Q&&typeof Q.safeParse==="function"}function Ef(Q){return"_def"in Q||"_zod"in Q||YO(Q)}function bJ(Q){if(typeof Q!=="object"||Q===null)return!1;if(Ef(Q))return!1;if(Object.keys(Q).length===0)return!0;return Object.values(Q).some(YO)}function QO(Q){if(!Q)return;if(bJ(Q))return t6(Q);return Q}function Sf(Q){let X=c1(Q);if(!X)return[];return Object.entries(X).map(([Y,W])=>{let $=pH(W),J=dH(W);return{name:Y,description:$,required:!J}})}function x6(Q){let Y=c1(Q)?.method;if(!Y)throw Error("Schema is missing a method literal");let W=NQ(Y);if(typeof W==="string")return W;throw Error("Schema method literal must be a string")}function XO(Q){return{completion:{values:Q.slice(0,100),total:Q.length,hasMore:Q.length>100}}}var n4={completion:{values:[],hasMore:!1}};import WO from"node:process";class o4{append(Q){this._buffer=this._buffer?Buffer.concat([this._buffer,Q]):Q}readMessage(){if(!this._buffer)return null;let Q=this._buffer.indexOf(`
48
+ `);if(Q===-1)return null;let X=this._buffer.toString("utf8",0,Q).replace(/\r$/,"");return this._buffer=this._buffer.subarray(Q+1),If(X)}clear(){this._buffer=void 0}}function If(Q){return u9.parse(JSON.parse(Q))}function OY(Q){return JSON.stringify(Q)+`
49
+ `}class ZJ{constructor(Q=WO.stdin,X=WO.stdout){this._stdin=Q,this._stdout=X,this._readBuffer=new o4,this._started=!1,this._ondata=(Y)=>{this._readBuffer.append(Y),this.processReadBuffer()},this._onerror=(Y)=>{this.onerror?.(Y)}}async start(){if(this._started)throw Error("StdioServerTransport already started! If using Server class, note that connect() calls start() automatically.");this._started=!0,this._stdin.on("data",this._ondata),this._stdin.on("error",this._onerror)}processReadBuffer(){while(!0)try{let Q=this._readBuffer.readMessage();if(Q===null)break;this.onmessage?.(Q)}catch(Q){this.onerror?.(Q)}}async close(){if(this._stdin.off("data",this._ondata),this._stdin.off("error",this._onerror),this._stdin.listenerCount("data")===0)this._stdin.pause();this._readBuffer.clear(),this.onclose?.()}send(Q){return new Promise((X)=>{let Y=OY(Q);if(this._stdout.write(Y))X();else this._stdout.once("drain",X)})}}import{readFileSync as Gh}from"fs";import UY from"node:crypto";var JO="0123456789ABCDEFGHJKMNPQRSTVWXYZ",jY=32;var Tf=16,GO=10,$O=281474976710655;var D9;(function(Q){Q.Base32IncorrectEncoding="B32_ENC_INVALID",Q.DecodeTimeInvalidCharacter="DEC_TIME_CHAR",Q.DecodeTimeValueMalformed="DEC_TIME_MALFORMED",Q.EncodeTimeNegative="ENC_TIME_NEG",Q.EncodeTimeSizeExceeded="ENC_TIME_SIZE_EXCEED",Q.EncodeTimeValueMalformed="ENC_TIME_MALFORMED",Q.PRNGDetectFailure="PRNG_DETECT",Q.ULIDInvalid="ULID_INVALID",Q.Unexpected="UNEXPECTED",Q.UUIDInvalid="UUID_INVALID"})(D9||(D9={}));class V8 extends Error{constructor(Q,X){super(`${X} (${Q})`);this.name="ULIDError",this.code=Q}}function Cf(Q){let X=Math.floor(Q()*jY)%jY;return JO.charAt(X)}function kf(Q){let X=vf(),Y=X&&(X.crypto||X.msCrypto)||(typeof UY<"u"?UY:null);if(typeof Y?.getRandomValues==="function")return()=>{let W=new Uint8Array(1);return Y.getRandomValues(W),W[0]/256};else if(typeof Y?.randomBytes==="function")return()=>Y.randomBytes(1).readUInt8()/256;else if(UY?.randomBytes)return()=>UY.randomBytes(1).readUInt8()/256;throw new V8(D9.PRNGDetectFailure,"Failed to find a reliable PRNG")}function vf(){if(yf())return self;if(typeof window<"u")return window;if(typeof global<"u")return global;if(typeof globalThis<"u")return globalThis;return null}function _f(Q,X){let Y="";for(;Q>0;Q--)Y=Cf(X)+Y;return Y}function xf(Q,X=GO){if(isNaN(Q))throw new V8(D9.EncodeTimeValueMalformed,`Time must be a number: ${Q}`);else if(Q>$O)throw new V8(D9.EncodeTimeSizeExceeded,`Cannot encode a time larger than ${$O}: ${Q}`);else if(Q<0)throw new V8(D9.EncodeTimeNegative,`Time must be positive: ${Q}`);else if(Number.isInteger(Q)===!1)throw new V8(D9.EncodeTimeValueMalformed,`Time must be an integer: ${Q}`);let Y,W="";for(let $=X;$>0;$--)Y=Q%jY,W=JO.charAt(Y)+W,Q=(Q-Y)/jY;return W}function yf(){return typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope}function f1(Q,X){let Y=X||kf(),W=!Q||isNaN(Q)?Date.now():Q;return xf(W,GO)+_f(Tf,Y)}function RJ(Q){return Q.type==="http"}function EJ(Q){return Q.type==="stdio"}class SJ{configs=new Map;logger;constructor(Q={}){this.logger=Q.logger}addConfig(Q,X,Y){let W=this.configs.has(Q);return this.configs.set(Q,{name:Q,type:"http",url:X,addedAt:new Date,addedBy:Y}),this.logger?.info(W?"server_config_updated":"server_config_added",{server:Q,type:"http",url:X,addedBy:Y}),!W}addStdioConfig(Q,X,Y,W,$){let J=this.configs.has(Q);return this.configs.set(Q,{name:Q,type:"stdio",command:X,args:Y,env:W?.env,cwd:W?.cwd,restartConfig:W?.restartConfig,addedAt:new Date,addedBy:$}),this.logger?.info(J?"server_config_updated":"server_config_added",{server:Q,type:"stdio",command:X,args:Y,addedBy:$}),!J}getConfig(Q){return this.configs.get(Q)}listConfigs(){return Array.from(this.configs.values())}removeConfig(Q){let X=this.configs.delete(Q);if(X)this.logger?.info("server_config_removed",{server:Q});return X}hasConfig(Q){return this.configs.has(Q)}get size(){return this.configs.size}clear(){this.configs.clear(),this.logger?.info("server_configs_cleared",{})}}var ff={maxEvents:1000,retentionMs:1800000,cleanupIntervalMs:300000};class IJ{events=[];config;logger;lastDeliveredId=null;waiters=[];cleanupIntervalHandle=null;constructor(Q={},X){this.config={...ff,...Q},this.logger=X,this.startCleanupInterval()}addEvent(Q,X,Y){let W=f1(),$={id:W,type:Q,server:X,data:Y,createdAt:new Date,sentViaSSE:!1};this.events.push($);while(this.events.length>this.config.maxEvents)this.events.shift();return this.logger?.debug("event_added",{id:W,type:Q,server:X}),this.wakeWaiters($),W}hasNewEvents(){if(this.lastDeliveredId===null)return this.events.length>0;let Q=this.events.findIndex((X)=>X.id===this.lastDeliveredId);if(Q===-1)return this.events.length>0;return Q<this.events.length-1}getNewEvents(){if(this.events.length===0)return[];let Q=0;if(this.lastDeliveredId!==null){let Y=this.events.findIndex((W)=>W.id===this.lastDeliveredId);if(Y!==-1)Q=Y+1}let X=this.events.slice(Q);if(X.length>0){let Y=X[X.length-1];if(Y)this.lastDeliveredId=Y.id}return X}getEventsAfter(Q){if(Q===null)return[...this.events];let X=this.events.findIndex((Y)=>Y.id===Q);if(X===-1)return[...this.events];return this.events.slice(X+1)}markSent(Q){let X=this.events.find((Y)=>Y.id===Q);if(X)X.sentViaSSE=!0}waitForActivity(Q){return new Promise((X)=>{let Y=setTimeout(()=>{let W=this.waiters.findIndex(($)=>$.timeoutHandle===Y);if(W!==-1)this.waiters.splice(W,1);X(null)},Q);this.waiters.push({resolve:X,timeoutHandle:Y})})}wakeWaiters(Q){let X=this.waiters;this.waiters=[];for(let Y of X)clearTimeout(Y.timeoutHandle),Y.resolve(Q)}startCleanupInterval(){this.cleanupIntervalHandle=setInterval(()=>{this.runCleanup()},this.config.cleanupIntervalMs)}runCleanup(){let Q=Date.now()-this.config.retentionMs,X=0;while(this.events.length>0){let Y=this.events[0];if(Y&&Y.createdAt.getTime()<Q)this.events.shift(),X++;else break}if(X>0)this.logger?.debug("events_cleaned",{removed:X,remaining:this.events.length})}shutdown(){if(this.cleanupIntervalHandle)clearInterval(this.cleanupIntervalHandle),this.cleanupIntervalHandle=null;for(let Q of this.waiters)clearTimeout(Q.timeoutHandle),Q.resolve(null);this.waiters=[]}}var gf={defaultTtlMs:600000,completedRetentionMs:300000,cleanupIntervalMs:60000};class TJ{tasks=new Map;eventSystem;config;cleanupIntervalHandle=null;constructor(Q,X={}){this.eventSystem=Q,this.config={...gf,...X},this.startCleanupInterval()}createTask(Q,X,Y,W){let $=f1(),J=new Date,G={taskId:$,server:Q,toolName:X,args:Y,status:"working",createdAt:J,lastUpdatedAt:J,ttl:W??this.config.defaultTtlMs};return this.tasks.set($,G),this.eventSystem.addEvent("task_created",Q,{taskId:$,toolName:X,args:Y}),G}completeTask(Q,X){let Y=this.tasks.get(Q);if(Y?.status!=="working")return;Y.status="completed",Y.result=X,Y.lastUpdatedAt=new Date,this.scheduleTaskCleanup(Y),this.eventSystem.addEvent("task_completed",Y.server,{taskId:Q,toolName:Y.toolName,result:X})}failTask(Q,X){let Y=this.tasks.get(Q);if(Y?.status!=="working")return;Y.status="failed",Y.error=X,Y.lastUpdatedAt=new Date,this.scheduleTaskCleanup(Y),this.eventSystem.addEvent("task_failed",Y.server,{taskId:Q,toolName:Y.toolName,error:X})}cancelTask(Q){let X=this.tasks.get(Q);if(X?.status!=="working")return!1;return X.status="cancelled",X.lastUpdatedAt=new Date,this.scheduleTaskCleanup(X),this.eventSystem.addEvent("task_cancelled",X.server,{taskId:Q,toolName:X.toolName}),!0}getTask(Q){let X=this.tasks.get(Q);if(!X)return;let{_cleanupTimeoutHandle:Y,...W}=X;return W}getTasksForServer(Q){return Array.from(this.tasks.values()).filter((X)=>X.server===Q).map((X)=>({taskId:X.taskId,server:X.server,toolName:X.toolName,args:X.args,status:X.status,result:X.result,error:X.error,createdAt:X.createdAt,lastUpdatedAt:X.lastUpdatedAt,ttl:X.ttl}))}getAllTasks(Q=!1){let X=["completed","failed","cancelled","expired"];return Array.from(this.tasks.values()).filter((Y)=>Q||!X.includes(Y.status)).map((Y)=>({taskId:Y.taskId,server:Y.server,toolName:Y.toolName,args:Y.args,status:Y.status,result:Y.result,error:Y.error,createdAt:Y.createdAt,lastUpdatedAt:Y.lastUpdatedAt,ttl:Y.ttl}))}getWorkingTasksForServer(Q){return Array.from(this.tasks.values()).filter((X)=>X.server===Q&&X.status==="working").map((X)=>({taskId:X.taskId,toolName:X.toolName,status:X.status}))}scheduleTaskCleanup(Q){if(Q._cleanupTimeoutHandle)clearTimeout(Q._cleanupTimeoutHandle);Q._cleanupTimeoutHandle=setTimeout(()=>{this.tasks.delete(Q.taskId)},this.config.completedRetentionMs)}startCleanupInterval(){this.cleanupIntervalHandle=setInterval(()=>{this.runCleanup()},this.config.cleanupIntervalMs)}runCleanup(){let Q=Date.now();for(let X of this.tasks.values()){if(X.status!=="working")continue;if(Q-X.createdAt.getTime()>=X.ttl)X.status="expired",X.error=`Task expired after ${String(X.ttl)}ms TTL`,X.lastUpdatedAt=new Date,this.eventSystem.addEvent("task_expired",X.server,{taskId:X.taskId,toolName:X.toolName,ttl:X.ttl}),this.scheduleTaskCleanup(X)}}shutdown(){if(this.cleanupIntervalHandle)clearInterval(this.cleanupIntervalHandle),this.cleanupIntervalHandle=null;for(let Q of this.tasks.values())if(Q._cleanupTimeoutHandle)clearTimeout(Q._cleanupTimeoutHandle)}}var hf={maxNotificationsPerServer:100,maxLogsPerServer:500};class CJ{buffers=new Map;eventSystem;config;constructor(Q,X={}){this.eventSystem=Q,this.config={...hf,...X}}addNotification(Q){let X=this.getOrCreateBuffers(Q.server);if(X.notifications.length>=this.config.maxNotificationsPerServer)X.notifications.shift();X.notifications.push(Q),this.eventSystem.addEvent("notification",Q.server,{method:Q.method,params:Q.params,timestamp:Q.timestamp.toISOString()})}addLog(Q){let X=this.getOrCreateBuffers(Q.server);if(X.logs.length>=this.config.maxLogsPerServer)X.logs.shift();X.logs.push(Q)}getAndClearNotifications(){let Q=[];for(let X of this.buffers.values())Q.push(...X.notifications),X.notifications=[];return Q}getAndClearLogs(){let Q=[];for(let X of this.buffers.values())Q.push(...X.logs),X.logs=[];return Q}getNotificationsForServer(Q){let X=this.buffers.get(Q);return X?[...X.notifications]:[]}getLogsForServer(Q){let X=this.buffers.get(Q);return X?[...X.logs]:[]}getNotificationCount(){let Q=0;for(let X of this.buffers.values())Q+=X.notifications.length;return Q}getLogCount(){let Q=0;for(let X of this.buffers.values())Q+=X.logs.length;return Q}clearServer(Q){this.buffers.delete(Q)}getOrCreateBuffers(Q){let X=this.buffers.get(Q);if(!X)X={notifications:[],logs:[]},this.buffers.set(Q,X);return X}}var uf={defaultTimeoutMs:600000};class kJ{samplingRequests=new Map;elicitationRequests=new Map;eventSystem;config;constructor(Q,X={}){this.eventSystem=Q,this.config={...uf,...X}}addSamplingRequest(Q,X,Y,W){let $=f1(),J=setTimeout(()=>{let H=this.samplingRequests.get($);if(H)this.samplingRequests.delete($),this.eventSystem.addEvent("sampling_expired",Q,{requestId:$,reason:`Timed out after ${String(this.config.defaultTimeoutMs)}ms`}),H.reject(Error(`Sampling request timed out after ${String(this.config.defaultTimeoutMs)}ms`))},this.config.defaultTimeoutMs),G={requestId:$,server:Q,timestamp:new Date,params:X,resolve:Y,reject:W,timeoutHandle:J};return this.samplingRequests.set($,G),this.eventSystem.addEvent("sampling_request",Q,{requestId:$,params:X}),$}addElicitationRequest(Q,X,Y,W){let $=f1(),J=setTimeout(()=>{let H=this.elicitationRequests.get($);if(H)this.elicitationRequests.delete($),this.eventSystem.addEvent("elicitation_expired",Q,{requestId:$,reason:`Timed out after ${String(this.config.defaultTimeoutMs)}ms`}),H.reject(Error(`Elicitation request timed out after ${String(this.config.defaultTimeoutMs)}ms`))},this.config.defaultTimeoutMs),G={requestId:$,server:Q,timestamp:new Date,params:X,resolve:Y,reject:W,timeoutHandle:J};return this.elicitationRequests.set($,G),this.eventSystem.addEvent("elicitation_request",Q,{requestId:$,params:X}),$}respondToSampling(Q,X){let Y=this.samplingRequests.get(Q);if(!Y)throw Error(`Sampling request '${Q}' not found or already completed`);clearTimeout(Y.timeoutHandle),this.samplingRequests.delete(Q),Y.resolve(X)}cancelSampling(Q,X="User cancelled"){let Y=this.samplingRequests.get(Q);if(!Y)throw Error(`Sampling request '${Q}' not found or already completed`);clearTimeout(Y.timeoutHandle),this.samplingRequests.delete(Q),this.eventSystem.addEvent("sampling_expired",Y.server,{requestId:Q,reason:X}),Y.reject(Error(X))}respondToElicitation(Q,X){let Y=this.elicitationRequests.get(Q);if(!Y)throw Error(`Elicitation request '${Q}' not found or already completed`);clearTimeout(Y.timeoutHandle),this.elicitationRequests.delete(Q),Y.resolve(X)}cancelElicitation(Q,X="User cancelled"){let Y=this.elicitationRequests.get(Q);if(!Y)throw Error(`Elicitation request '${Q}' not found or already completed`);clearTimeout(Y.timeoutHandle),this.elicitationRequests.delete(Q),this.eventSystem.addEvent("elicitation_expired",Y.server,{requestId:Q,reason:X}),Y.reject(Error(X))}getPendingSamplingRequests(){return Array.from(this.samplingRequests.values()).map((Q)=>({requestId:Q.requestId,server:Q.server,timestamp:Q.timestamp,params:Q.params}))}getPendingElicitationRequests(){return Array.from(this.elicitationRequests.values()).map((Q)=>({requestId:Q.requestId,server:Q.server,timestamp:Q.timestamp,params:Q.params}))}getRequestsForServer(Q){return{sampling:this.getPendingSamplingRequests().filter((X)=>X.server===Q),elicitation:this.getPendingElicitationRequests().filter((X)=>X.server===Q)}}hasPendingRequests(){return this.samplingRequests.size>0||this.elicitationRequests.size>0}rejectRequestsForServer(Q,X){for(let[Y,W]of this.samplingRequests)if(W.server===Q)clearTimeout(W.timeoutHandle),this.samplingRequests.delete(Y),this.eventSystem.addEvent("sampling_expired",Q,{requestId:Y,reason:X}),W.reject(Error(X));for(let[Y,W]of this.elicitationRequests)if(W.server===Q)clearTimeout(W.timeoutHandle),this.elicitationRequests.delete(Y),this.eventSystem.addEvent("elicitation_expired",Q,{requestId:Y,reason:X}),W.reject(Error(X))}shutdown(){for(let Q of this.samplingRequests.values())clearTimeout(Q.timeoutHandle),Q.reject(Error("PendingRequestsManager shutting down"));this.samplingRequests.clear();for(let Q of this.elicitationRequests.values())clearTimeout(Q.timeoutHandle),Q.reject(Error("PendingRequestsManager shutting down"));this.elicitationRequests.clear()}}var lf={maxActiveTimers:100,maxDurationMs:86400000,retentionMs:300000};class vJ{timers=new Map;expiredBuffer=[];eventSystem;config;constructor(Q,X={}){this.eventSystem=Q,this.config={...lf,...X}}createTimer(Q,X,Y=!1){if(this.getActiveTimers().length>=this.config.maxActiveTimers)throw Error(`Maximum active timers (${String(this.config.maxActiveTimers)}) exceeded`);if(Q<=0)throw Error("Duration must be positive");if(Q>this.config.maxDurationMs)throw Error(`Duration exceeds maximum (${String(this.config.maxDurationMs)}ms)`);let $=f1(),J=new Date,G=new Date(J.getTime()+Q),H={id:$,durationMs:Q,message:X,createdAt:J,expiresAt:G,status:"active",interval:Y,fireCount:0};if(Y)H._intervalHandle=setInterval(()=>{this.fireIntervalTimer($)},Q);else H._timeoutHandle=setTimeout(()=>{this.expireTimer($)},Q);return this.timers.set($,H),this.toPublicTimer(H)}getTimer(Q){let X=this.timers.get(Q);if(!X)return;return this.toPublicTimer(X)}deleteTimer(Q){let X=this.timers.get(Q);if(!X)return;if(X._timeoutHandle)clearTimeout(X._timeoutHandle),X._timeoutHandle=void 0;if(X._intervalHandle)clearInterval(X._intervalHandle),X._intervalHandle=void 0;return X.status="deleted",this.scheduleCleanup(X),this.toPublicTimer(X)}getAllTimers(Q=!1){let X=Array.from(this.timers.values());return(Q?X:X.filter((W)=>W.status==="active")).map((W)=>this.toPublicTimer(W))}getActiveTimers(){return Array.from(this.timers.values()).filter((Q)=>Q.status==="active").map((Q)=>this.toPublicTimer(Q))}getAndClearExpired(){let Q=[...this.expiredBuffer];return this.expiredBuffer.length=0,Q}hasExpired(){return this.expiredBuffer.length>0}shutdown(){for(let Q of this.timers.values()){if(Q._timeoutHandle)clearTimeout(Q._timeoutHandle);if(Q._intervalHandle)clearInterval(Q._intervalHandle)}this.timers.clear(),this.expiredBuffer.length=0}expireTimer(Q){let X=this.timers.get(Q);if(!X?.status||X.status!=="active")return;X.status="expired",X._timeoutHandle=void 0,X.fireCount++,this.expiredBuffer.push({id:X.id,message:X.message,expiredAt:new Date().toISOString()}),this.eventSystem.addEvent("timer_expired","emceepee",{timerId:X.id,message:X.message}),this.scheduleCleanup(X)}fireIntervalTimer(Q){let X=this.timers.get(Q);if(!X?.status||X.status!=="active")return;X.fireCount++,X.expiresAt=new Date(Date.now()+X.durationMs),this.expiredBuffer.push({id:X.id,message:X.message,expiredAt:new Date().toISOString()}),this.eventSystem.addEvent("timer_expired","emceepee",{timerId:X.id,message:X.message,fireCount:X.fireCount,interval:!0})}scheduleCleanup(Q){setTimeout(()=>{this.timers.delete(Q.id)},this.config.retentionMs)}toPublicTimer(Q){return{id:Q.id,durationMs:Q.durationMs,message:Q.message,createdAt:Q.createdAt,expiresAt:Q.expiresAt,status:Q.status,interval:Q.interval,fireCount:Q.fireCount}}}class _J{sessionId;createdAt;lastActivityAt;backendConnections=new Map;eventSystem;taskManager;pendingRequests;bufferManager;timerManager;logger;constructor(Q,X={},Y){this.sessionId=Q,this.createdAt=new Date,this.lastActivityAt=new Date,this.logger=Y,this.eventSystem=new IJ(X.eventSystemConfig,Y),this.taskManager=new TJ(this.eventSystem,X.taskConfig),this.pendingRequests=new kJ(this.eventSystem,X.requestConfig),this.bufferManager=new CJ(this.eventSystem,X.bufferConfig),this.timerManager=new vJ(this.eventSystem,X.timerConfig)}touch(){this.lastActivityAt=new Date}getConnection(Q){return this.backendConnections.get(Q)}isConnectedTo(Q){return this.backendConnections.get(Q)?.status==="connected"}listConnectedServers(){return Array.from(this.backendConnections.entries()).filter(([,Q])=>Q.status==="connected").map(([Q])=>Q)}listConnections(){return Array.from(this.backendConnections.entries()).map(([Q,X])=>({name:Q,status:X.status,connectedAt:X.connectedAt,lastError:X.lastError}))}setConnectionStatus(Q,X,Y){let W=this.backendConnections.get(Q);if(W){if(W.status=X,X==="connected")W.connectedAt=new Date,W.lastError=void 0;else if(X==="error"&&Y)W.lastError=Y}}addConnection(Q,X){this.backendConnections.set(Q,{client:X,status:"connecting"})}removeConnection(Q){return this.backendConnections.delete(Q)}async cleanup(){this.logger?.info("session_cleanup_start",{sessionId:this.sessionId}),this.pendingRequests.shutdown(),this.taskManager.shutdown(),this.timerManager.shutdown(),this.eventSystem.shutdown();for(let[Q,X]of this.backendConnections)try{await X.client.disconnect(),this.logger?.debug("session_backend_disconnected",{sessionId:this.sessionId,server:Q})}catch(Y){this.logger?.debug("session_backend_disconnect_error",{sessionId:this.sessionId,server:Q,error:Y instanceof Error?Y.message:String(Y)})}this.backendConnections.clear(),this.logger?.info("session_cleanup_complete",{sessionId:this.sessionId})}}class xJ{constructor(Q){this._client=Q}async*callToolStream(Q,X=M6,Y){let W=this._client,$={...Y,task:Y?.task??(W.isToolTask(Q.name)?{}:void 0)},J=W.requestStream({method:"tools/call",params:Q},X,$),G=W.getToolOutputValidator(Q.name);for await(let H of J){if(H.type==="result"&&G){let B=H.result;if(!B.structuredContent&&!B.isError){yield{type:"error",error:new S(k.InvalidRequest,`Tool ${Q.name} has an output schema but did not return structured content`)};return}if(B.structuredContent)try{let z=G(B.structuredContent);if(!z.valid){yield{type:"error",error:new S(k.InvalidParams,`Structured content does not match the tool's output schema: ${z.errorMessage}`)};return}}catch(z){if(z instanceof S){yield{type:"error",error:z};return}yield{type:"error",error:new S(k.InvalidParams,`Failed to validate structured content: ${z instanceof Error?z.message:String(z)}`)};return}}yield H}}async getTask(Q,X){return this._client.getTask({taskId:Q},X)}async getTaskResult(Q,X,Y){return this._client.getTaskResult({taskId:Q},X,Y)}async listTasks(Q,X){return this._client.listTasks(Q?{cursor:Q}:void 0,X)}async cancelTask(Q,X){return this._client.cancelTask({taskId:Q},X)}requestStream(Q,X,Y){return this._client.requestStream(Q,X,Y)}}function MY(Q,X){if(!Q||X===null||typeof X!=="object")return;if(Q.type==="object"&&Q.properties&&typeof Q.properties==="object"){let Y=X,W=Q.properties;for(let $ of Object.keys(W)){let J=W[$];if(Y[$]===void 0&&Object.prototype.hasOwnProperty.call(J,"default"))Y[$]=J.default;if(Y[$]!==void 0)MY(J,Y[$])}}if(Array.isArray(Q.anyOf)){for(let Y of Q.anyOf)if(typeof Y!=="boolean")MY(Y,X)}if(Array.isArray(Q.oneOf)){for(let Y of Q.oneOf)if(typeof Y!=="boolean")MY(Y,X)}}function mf(Q){if(!Q)return{supportsFormMode:!1,supportsUrlMode:!1};let X=Q.form!==void 0,Y=Q.url!==void 0;return{supportsFormMode:X||!X&&!Y,supportsUrlMode:Y}}class F8 extends Q4{constructor(Q,X){super(X);if(this._clientInfo=Q,this._cachedToolOutputValidators=new Map,this._cachedKnownTaskTools=new Set,this._cachedRequiredTaskTools=new Set,this._listChangedDebounceTimers=new Map,this._capabilities=X?.capabilities??{},this._jsonSchemaValidator=X?.jsonSchemaValidator??new i4,X?.listChanged)this._pendingListChangedConfig=X.listChanged}_setupListChangedHandlers(Q){if(Q.tools&&this._serverCapabilities?.tools?.listChanged)this._setupListChangedHandler("tools",Q9,Q.tools,async()=>{return(await this.listTools()).tools});if(Q.prompts&&this._serverCapabilities?.prompts?.listChanged)this._setupListChangedHandler("prompts",e6,Q.prompts,async()=>{return(await this.listPrompts()).prompts});if(Q.resources&&this._serverCapabilities?.resources?.listChanged)this._setupListChangedHandler("resources",s6,Q.resources,async()=>{return(await this.listResources()).resources})}get experimental(){if(!this._experimental)this._experimental={tasks:new xJ(this)};return this._experimental}registerCapabilities(Q){if(this.transport)throw Error("Cannot register capabilities after connecting to transport");this._capabilities=aQ(this._capabilities,Q)}setRequestHandler(Q,X){let W=c1(Q)?.method;if(!W)throw Error("Schema is missing a method literal");let $;if(s0(W)){let G=W;$=G._zod?.def?.value??G.value}else{let G=W;$=G._def?.value??G.value}if(typeof $!=="string")throw Error("Schema method literal must be a string");let J=$;if(J==="elicitation/create"){let G=async(H,B)=>{let z=c0(Y9,H);if(!z.success){let O=z.error instanceof Error?z.error.message:String(z.error);throw new S(k.InvalidParams,`Invalid elicitation request: ${O}`)}let{params:K}=z.data;K.mode=K.mode??"form";let{supportsFormMode:V,supportsUrlMode:q}=mf(this._capabilities.elicitation);if(K.mode==="form"&&!V)throw new S(k.InvalidParams,"Client does not support form-mode elicitation requests");if(K.mode==="url"&&!q)throw new S(k.InvalidParams,"Client does not support URL-mode elicitation requests");let F=await Promise.resolve(X(H,B));if(K.task){let O=c0(Q6,F);if(!O.success){let N=O.error instanceof Error?O.error.message:String(O.error);throw new S(k.InvalidParams,`Invalid task creation result: ${N}`)}return O.data}let A=c0(c9,F);if(!A.success){let O=A.error instanceof Error?A.error.message:String(A.error);throw new S(k.InvalidParams,`Invalid elicitation result: ${O}`)}let D=A.data,L=K.mode==="form"?K.requestedSchema:void 0;if(K.mode==="form"&&D.action==="accept"&&D.content&&L){if(this._capabilities.elicitation?.form?.applyDefaults)try{MY(L,D.content)}catch{}}return D};return super.setRequestHandler(Q,G)}if(J==="sampling/createMessage"){let G=async(H,B)=>{let z=c0(X9,H);if(!z.success){let F=z.error instanceof Error?z.error.message:String(z.error);throw new S(k.InvalidParams,`Invalid sampling request: ${F}`)}let{params:K}=z.data,V=await Promise.resolve(X(H,B));if(K.task){let F=c0(Q6,V);if(!F.success){let A=F.error instanceof Error?F.error.message:String(F.error);throw new S(k.InvalidParams,`Invalid task creation result: ${A}`)}return F.data}let q=c0(s8,V);if(!q.success){let F=q.error instanceof Error?q.error.message:String(q.error);throw new S(k.InvalidParams,`Invalid sampling result: ${F}`)}return q.data};return super.setRequestHandler(Q,G)}return super.setRequestHandler(Q,X)}assertCapability(Q,X){if(!this._serverCapabilities?.[Q])throw Error(`Server does not support ${Q} (required for ${X})`)}async connect(Q,X){if(await super.connect(Q),Q.sessionId!==void 0)return;try{let Y=await this.request({method:"initialize",params:{protocolVersion:U6,capabilities:this._capabilities,clientInfo:this._clientInfo}},$5,X);if(Y===void 0)throw Error(`Server sent invalid initialize result: ${Y}`);if(!EQ.includes(Y.protocolVersion))throw Error(`Server's protocol version is not supported: ${Y.protocolVersion}`);if(this._serverCapabilities=Y.capabilities,this._serverVersion=Y.serverInfo,Q.setProtocolVersion)Q.setProtocolVersion(Y.protocolVersion);if(this._instructions=Y.instructions,await this.notification({method:"notifications/initialized"}),this._pendingListChangedConfig)this._setupListChangedHandlers(this._pendingListChangedConfig),this._pendingListChangedConfig=void 0}catch(Y){throw this.close(),Y}}getServerCapabilities(){return this._serverCapabilities}getServerVersion(){return this._serverVersion}getInstructions(){return this._instructions}assertCapabilityForMethod(Q){switch(Q){case"logging/setLevel":if(!this._serverCapabilities?.logging)throw Error(`Server does not support logging (required for ${Q})`);break;case"prompts/get":case"prompts/list":if(!this._serverCapabilities?.prompts)throw Error(`Server does not support prompts (required for ${Q})`);break;case"resources/list":case"resources/templates/list":case"resources/read":case"resources/subscribe":case"resources/unsubscribe":if(!this._serverCapabilities?.resources)throw Error(`Server does not support resources (required for ${Q})`);if(Q==="resources/subscribe"&&!this._serverCapabilities.resources.subscribe)throw Error(`Server does not support resource subscriptions (required for ${Q})`);break;case"tools/call":case"tools/list":if(!this._serverCapabilities?.tools)throw Error(`Server does not support tools (required for ${Q})`);break;case"completion/complete":if(!this._serverCapabilities?.completions)throw Error(`Server does not support completions (required for ${Q})`);break;case"initialize":break;case"ping":break}}assertNotificationCapability(Q){switch(Q){case"notifications/roots/list_changed":if(!this._capabilities.roots?.listChanged)throw Error(`Client does not support roots list changed notifications (required for ${Q})`);break;case"notifications/initialized":break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(Q){if(!this._capabilities)return;switch(Q){case"sampling/createMessage":if(!this._capabilities.sampling)throw Error(`Client does not support sampling capability (required for ${Q})`);break;case"elicitation/create":if(!this._capabilities.elicitation)throw Error(`Client does not support elicitation capability (required for ${Q})`);break;case"roots/list":if(!this._capabilities.roots)throw Error(`Client does not support roots capability (required for ${Q})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw Error(`Client does not support tasks capability (required for ${Q})`);break;case"ping":break}}assertTaskCapability(Q){DY(this._serverCapabilities?.tasks?.requests,Q,"Server")}assertTaskHandlerCapability(Q){if(!this._capabilities)return;LY(this._capabilities.tasks?.requests,Q,"Client")}async ping(Q){return this.request({method:"ping"},e1,Q)}async complete(Q,X){return this.request({method:"completion/complete",params:Q},j5,X)}async setLoggingLevel(Q,X){return this.request({method:"logging/setLevel",params:{level:Q}},e1,X)}async getPrompt(Q,X){return this.request({method:"prompts/get",params:Q},D5,X)}async listPrompts(Q,X){return this.request({method:"prompts/list",params:Q},K5,X)}async listResources(Q,X){return this.request({method:"resources/list",params:Q},G5,X)}async listResourceTemplates(Q,X){return this.request({method:"resources/templates/list",params:Q},H5,X)}async readResource(Q,X){return this.request({method:"resources/read",params:Q},z5,X)}async subscribeResource(Q,X){return this.request({method:"resources/subscribe",params:Q},e1,X)}async unsubscribeResource(Q,X){return this.request({method:"resources/unsubscribe",params:Q},e1,X)}async callTool(Q,X=M6,Y){if(this.isToolTaskRequired(Q.name))throw new S(k.InvalidRequest,`Tool "${Q.name}" requires task-based execution. Use client.experimental.tasks.callToolStream() instead.`);let W=await this.request({method:"tools/call",params:Q},X,Y),$=this.getToolOutputValidator(Q.name);if($){if(!W.structuredContent&&!W.isError)throw new S(k.InvalidRequest,`Tool ${Q.name} has an output schema but did not return structured content`);if(W.structuredContent)try{let J=$(W.structuredContent);if(!J.valid)throw new S(k.InvalidParams,`Structured content does not match the tool's output schema: ${J.errorMessage}`)}catch(J){if(J instanceof S)throw J;throw new S(k.InvalidParams,`Failed to validate structured content: ${J instanceof Error?J.message:String(J)}`)}}return W}isToolTask(Q){if(!this._serverCapabilities?.tasks?.requests?.tools?.call)return!1;return this._cachedKnownTaskTools.has(Q)}isToolTaskRequired(Q){return this._cachedRequiredTaskTools.has(Q)}cacheToolMetadata(Q){this._cachedToolOutputValidators.clear(),this._cachedKnownTaskTools.clear(),this._cachedRequiredTaskTools.clear();for(let X of Q){if(X.outputSchema){let W=this._jsonSchemaValidator.getValidator(X.outputSchema);this._cachedToolOutputValidators.set(X.name,W)}let Y=X.execution?.taskSupport;if(Y==="required"||Y==="optional")this._cachedKnownTaskTools.add(X.name);if(Y==="required")this._cachedRequiredTaskTools.add(X.name)}}getToolOutputValidator(Q){return this._cachedToolOutputValidators.get(Q)}async listTools(Q,X){let Y=await this.request({method:"tools/list",params:Q},L5,X);return this.cacheToolMetadata(Y.tools),Y}_setupListChangedHandler(Q,X,Y,W){let $=_3.safeParse(Y);if(!$.success)throw Error(`Invalid ${Q} listChanged options: ${$.error.message}`);if(typeof Y.onChanged!=="function")throw Error(`Invalid ${Q} listChanged options: onChanged must be a function`);let{autoRefresh:J,debounceMs:G}=$.data,{onChanged:H}=Y,B=async()=>{if(!J){H(null,null);return}try{let K=await W();H(null,K)}catch(K){let V=K instanceof Error?K:Error(String(K));H(V,null)}},z=()=>{if(G){let K=this._listChangedDebounceTimers.get(Q);if(K)clearTimeout(K);let V=setTimeout(B,G);this._listChangedDebounceTimers.set(Q,V)}else B()};this.setNotificationHandler(X,z)}async sendRootsListChanged(){return this.notification({method:"notifications/roots/list_changed"})}}function NY(Q){if(!Q)return{};if(Q instanceof Headers)return Object.fromEntries(Q.entries());if(Array.isArray(Q))return Object.fromEntries(Q);return{...Q}}function HO(Q=fetch,X){if(!X)return Q;return async(Y,W)=>{let $={...X,...W,headers:W?.headers?{...NY(X.headers),...NY(W.headers)}:X.headers};return Q(Y,$)}}var yJ;yJ=globalThis.crypto?.webcrypto??globalThis.crypto??import("node:crypto").then((Q)=>Q.webcrypto);async function cf(Q){return(await yJ).getRandomValues(new Uint8Array(Q))}async function pf(Q){let Y=Math.pow(2,8)-Math.pow(2,8)%66,W="";while(W.length<Q){let $=await cf(Q-W.length);for(let J of $)if(J<Y)W+="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._~"[J%66]}return W}async function df(Q){return await pf(Q)}async function nf(Q){let X=await(await yJ).subtle.digest("SHA-256",new TextEncoder().encode(Q));return btoa(String.fromCharCode(...new Uint8Array(X))).replace(/\//g,"_").replace(/\+/g,"-").replace(/=/g,"")}async function fJ(Q){if(!Q)Q=43;if(Q<43||Q>128)throw`Expected a length between 43 and 128. Received ${Q}.`;let X=await df(Q),Y=await nf(X);return{code_verifier:X,code_challenge:Y}}var g0=H3().superRefine((Q,X)=>{if(!URL.canParse(Q))return X.addIssue({code:U3.custom,message:"URL must be parseable",fatal:!0}),YQ}).refine((Q)=>{let X=new URL(Q);return X.protocol!=="javascript:"&&X.protocol!=="data:"&&X.protocol!=="vbscript:"},{message:"URL cannot use javascript:, data:, or vbscript: scheme"}),zO=T0({resource:U().url(),authorization_servers:E(g0).optional(),jwks_uri:U().url().optional(),scopes_supported:E(U()).optional(),bearer_methods_supported:E(U()).optional(),resource_signing_alg_values_supported:E(U()).optional(),resource_name:U().optional(),resource_documentation:U().optional(),resource_policy_uri:U().url().optional(),resource_tos_uri:U().url().optional(),tls_client_certificate_bound_access_tokens:H0().optional(),authorization_details_types_supported:E(U()).optional(),dpop_signing_alg_values_supported:E(U()).optional(),dpop_bound_access_tokens_required:H0().optional()}),gJ=T0({issuer:U(),authorization_endpoint:g0,token_endpoint:g0,registration_endpoint:g0.optional(),scopes_supported:E(U()).optional(),response_types_supported:E(U()),response_modes_supported:E(U()).optional(),grant_types_supported:E(U()).optional(),token_endpoint_auth_methods_supported:E(U()).optional(),token_endpoint_auth_signing_alg_values_supported:E(U()).optional(),service_documentation:g0.optional(),revocation_endpoint:g0.optional(),revocation_endpoint_auth_methods_supported:E(U()).optional(),revocation_endpoint_auth_signing_alg_values_supported:E(U()).optional(),introspection_endpoint:U().optional(),introspection_endpoint_auth_methods_supported:E(U()).optional(),introspection_endpoint_auth_signing_alg_values_supported:E(U()).optional(),code_challenge_methods_supported:E(U()).optional(),client_id_metadata_document_supported:H0().optional()}),of=T0({issuer:U(),authorization_endpoint:g0,token_endpoint:g0,userinfo_endpoint:g0.optional(),jwks_uri:g0,registration_endpoint:g0.optional(),scopes_supported:E(U()).optional(),response_types_supported:E(U()),response_modes_supported:E(U()).optional(),grant_types_supported:E(U()).optional(),acr_values_supported:E(U()).optional(),subject_types_supported:E(U()),id_token_signing_alg_values_supported:E(U()),id_token_encryption_alg_values_supported:E(U()).optional(),id_token_encryption_enc_values_supported:E(U()).optional(),userinfo_signing_alg_values_supported:E(U()).optional(),userinfo_encryption_alg_values_supported:E(U()).optional(),userinfo_encryption_enc_values_supported:E(U()).optional(),request_object_signing_alg_values_supported:E(U()).optional(),request_object_encryption_alg_values_supported:E(U()).optional(),request_object_encryption_enc_values_supported:E(U()).optional(),token_endpoint_auth_methods_supported:E(U()).optional(),token_endpoint_auth_signing_alg_values_supported:E(U()).optional(),display_values_supported:E(U()).optional(),claim_types_supported:E(U()).optional(),claims_supported:E(U()).optional(),service_documentation:U().optional(),claims_locales_supported:E(U()).optional(),ui_locales_supported:E(U()).optional(),claims_parameter_supported:H0().optional(),request_parameter_supported:H0().optional(),request_uri_parameter_supported:H0().optional(),require_request_uri_registration:H0().optional(),op_policy_uri:g0.optional(),op_tos_uri:g0.optional(),client_id_metadata_document_supported:H0().optional()}),KO=I({...of.shape,...gJ.pick({code_challenge_methods_supported:!0}).shape}),VO=I({access_token:U(),id_token:U().optional(),token_type:U(),expires_in:ZQ.number().optional(),scope:U().optional(),refresh_token:U().optional()}).strip(),FO=I({error:U(),error_description:U().optional(),error_uri:U().optional()}),BO=g0.optional().or(_("").transform(()=>{return})),rf=I({redirect_uris:E(g0),token_endpoint_auth_method:U().optional(),grant_types:E(U()).optional(),response_types:E(U()).optional(),client_name:U().optional(),client_uri:g0.optional(),logo_uri:BO,scope:U().optional(),contacts:E(U()).optional(),tos_uri:BO,policy_uri:U().optional(),jwks_uri:g0.optional(),jwks:z3().optional(),software_id:U().optional(),software_version:U().optional(),software_statement:U().optional()}).strip(),tf=I({client_id:U(),client_secret:U().optional(),client_id_issued_at:J0().optional(),client_secret_expires_at:J0().optional()}).strip(),AO=rf.merge(tf),ho=I({error:U(),error_description:U().optional()}).strip(),uo=I({token:U(),token_type_hint:U().optional()}).strip();function qO(Q){let X=typeof Q==="string"?new URL(Q):new URL(Q.href);return X.hash="",X}function DO({requestedResource:Q,configuredResource:X}){let Y=typeof Q==="string"?new URL(Q):new URL(Q.href),W=typeof X==="string"?new URL(X):new URL(X.href);if(Y.origin!==W.origin)return!1;if(Y.pathname.length<W.pathname.length)return!1;let $=Y.pathname.endsWith("/")?Y.pathname:Y.pathname+"/",J=W.pathname.endsWith("/")?W.pathname:W.pathname+"/";return $.startsWith(J)}class E0 extends Error{constructor(Q,X){super(Q);this.errorUri=X,this.name=this.constructor.name}toResponseObject(){let Q={error:this.errorCode,error_description:this.message};if(this.errorUri)Q.error_uri=this.errorUri;return Q}get errorCode(){return this.constructor.errorCode}}class wY extends E0{}wY.errorCode="invalid_request";class A8 extends E0{}A8.errorCode="invalid_client";class q8 extends E0{}q8.errorCode="invalid_grant";class D8 extends E0{}D8.errorCode="unauthorized_client";class bY extends E0{}bY.errorCode="unsupported_grant_type";class PY extends E0{}PY.errorCode="invalid_scope";class ZY extends E0{}ZY.errorCode="access_denied";class y6 extends E0{}y6.errorCode="server_error";class RY extends E0{}RY.errorCode="temporarily_unavailable";class EY extends E0{}EY.errorCode="unsupported_response_type";class SY extends E0{}SY.errorCode="unsupported_token_type";class IY extends E0{}IY.errorCode="invalid_token";class TY extends E0{}TY.errorCode="method_not_allowed";class CY extends E0{}CY.errorCode="too_many_requests";class L8 extends E0{}L8.errorCode="invalid_client_metadata";class kY extends E0{}kY.errorCode="insufficient_scope";class vY extends E0{}vY.errorCode="invalid_target";var LO={[wY.errorCode]:wY,[A8.errorCode]:A8,[q8.errorCode]:q8,[D8.errorCode]:D8,[bY.errorCode]:bY,[PY.errorCode]:PY,[ZY.errorCode]:ZY,[y6.errorCode]:y6,[RY.errorCode]:RY,[EY.errorCode]:EY,[SY.errorCode]:SY,[IY.errorCode]:IY,[TY.errorCode]:TY,[CY.errorCode]:CY,[L8.errorCode]:L8,[kY.errorCode]:kY,[vY.errorCode]:vY};class f6 extends Error{constructor(Q){super(Q??"Unauthorized")}}function af(Q){return["client_secret_basic","client_secret_post","none"].includes(Q)}var hJ="code",uJ="S256";function sf(Q,X){let Y=Q.client_secret!==void 0;if(X.length===0)return Y?"client_secret_post":"none";if("token_endpoint_auth_method"in Q&&Q.token_endpoint_auth_method&&af(Q.token_endpoint_auth_method)&&X.includes(Q.token_endpoint_auth_method))return Q.token_endpoint_auth_method;if(Y&&X.includes("client_secret_basic"))return"client_secret_basic";if(Y&&X.includes("client_secret_post"))return"client_secret_post";if(X.includes("none"))return"none";return Y?"client_secret_post":"none"}function ef(Q,X,Y,W){let{client_id:$,client_secret:J}=X;switch(Q){case"client_secret_basic":Qg($,J,Y);return;case"client_secret_post":Xg($,J,W);return;case"none":Yg($,W);return;default:throw Error(`Unsupported client authentication method: ${Q}`)}}function Qg(Q,X,Y){if(!X)throw Error("client_secret_basic authentication requires a client_secret");let W=btoa(`${Q}:${X}`);Y.set("Authorization",`Basic ${W}`)}function Xg(Q,X,Y){if(Y.set("client_id",Q),X)Y.set("client_secret",X)}function Yg(Q,X){X.set("client_id",Q)}async function UO(Q){let X=Q instanceof Response?Q.status:void 0,Y=Q instanceof Response?await Q.text():Q;try{let W=FO.parse(JSON.parse(Y)),{error:$,error_description:J,error_uri:G}=W;return new(LO[$]||y6)(J||"",G)}catch(W){let $=`${X?`HTTP ${X}: `:""}Invalid OAuth error response: ${W}. Raw body: ${Y}`;return new y6($)}}async function r4(Q,X){try{return await lJ(Q,X)}catch(Y){if(Y instanceof A8||Y instanceof D8)return await Q.invalidateCredentials?.("all"),await lJ(Q,X);else if(Y instanceof q8)return await Q.invalidateCredentials?.("tokens"),await lJ(Q,X);throw Y}}async function lJ(Q,{serverUrl:X,authorizationCode:Y,scope:W,resourceMetadataUrl:$,fetchFn:J}){let G,H;try{if(G=await Jg(X,{resourceMetadataUrl:$},J),G.authorization_servers&&G.authorization_servers.length>0)H=G.authorization_servers[0]}catch{}if(!H)H=new URL("/",X);let B=await $g(X,Q,G),z=await Kg(H,{fetchFn:J}),K=await Promise.resolve(Q.clientInformation());if(!K){if(Y!==void 0)throw Error("Existing OAuth client information is required when exchanging an authorization code");let L=z?.client_id_metadata_document_supported===!0,O=Q.clientMetadataUrl;if(O&&!Wg(O))throw new L8(`clientMetadataUrl must be a valid HTTPS URL with a non-root pathname, got: ${O}`);if(L&&O)K={client_id:O},await Q.saveClientInformation?.(K);else{if(!Q.saveClientInformation)throw Error("OAuth client information must be saveable for dynamic registration");let w=await Dg(H,{metadata:z,clientMetadata:Q.clientMetadata,fetchFn:J});await Q.saveClientInformation(w),K=w}}let V=!Q.redirectUrl;if(Y!==void 0||V){let L=await qg(Q,H,{metadata:z,resource:B,authorizationCode:Y,fetchFn:J});return await Q.saveTokens(L),"AUTHORIZED"}let q=await Q.tokens();if(q?.refresh_token)try{let L=await Ag(H,{metadata:z,clientInformation:K,refreshToken:q.refresh_token,resource:B,addClientAuthentication:Q.addClientAuthentication,fetchFn:J});return await Q.saveTokens(L),"AUTHORIZED"}catch(L){if(!(L instanceof E0)||L instanceof y6);else throw L}let F=Q.state?await Q.state():void 0,{authorizationUrl:A,codeVerifier:D}=await Vg(H,{metadata:z,clientInformation:K,state:F,redirectUrl:Q.redirectUrl,scope:W||G?.scopes_supported?.join(" ")||Q.clientMetadata.scope,resource:B});return await Q.saveCodeVerifier(D),await Q.redirectToAuthorization(A),"REDIRECT"}function Wg(Q){if(!Q)return!1;try{let X=new URL(Q);return X.protocol==="https:"&&X.pathname!=="/"}catch{return!1}}async function $g(Q,X,Y){let W=qO(Q);if(X.validateResourceURL)return await X.validateResourceURL(W,Y?.resource);if(!Y)return;if(!DO({requestedResource:W,configuredResource:Y.resource}))throw Error(`Protected resource ${Y.resource} does not match expected ${W} (or origin)`);return new URL(Y.resource)}function cJ(Q){let X=Q.headers.get("WWW-Authenticate");if(!X)return{};let[Y,W]=X.split(" ");if(Y.toLowerCase()!=="bearer"||!W)return{};let $=mJ(Q,"resource_metadata")||void 0,J;if($)try{J=new URL($)}catch{}let G=mJ(Q,"scope")||void 0,H=mJ(Q,"error")||void 0;return{resourceMetadataUrl:J,scope:G,error:H}}function mJ(Q,X){let Y=Q.headers.get("WWW-Authenticate");if(!Y)return null;let W=new RegExp(`${X}=(?:"([^"]+)"|([^\\s,]+))`),$=Y.match(W);if($)return $[1]||$[2];return null}async function Jg(Q,X,Y=fetch){let W=await Bg(Q,"oauth-protected-resource",Y,{protocolVersion:X?.protocolVersion,metadataUrl:X?.resourceMetadataUrl});if(!W||W.status===404)throw await W?.body?.cancel(),Error("Resource server does not implement OAuth 2.0 Protected Resource Metadata.");if(!W.ok)throw await W.body?.cancel(),Error(`HTTP ${W.status} trying to load well-known OAuth protected resource metadata.`);return zO.parse(await W.json())}async function pJ(Q,X,Y=fetch){try{return await Y(Q,{headers:X})}catch(W){if(W instanceof TypeError)if(X)return pJ(Q,void 0,Y);else return;throw W}}function Gg(Q,X="",Y={}){if(X.endsWith("/"))X=X.slice(0,-1);return Y.prependPathname?`${X}/.well-known/${Q}`:`/.well-known/${Q}${X}`}async function OO(Q,X,Y=fetch){return await pJ(Q,{"MCP-Protocol-Version":X},Y)}function Hg(Q,X){return!Q||Q.status>=400&&Q.status<500&&X!=="/"}async function Bg(Q,X,Y,W){let $=new URL(Q),J=W?.protocolVersion??U6,G;if(W?.metadataUrl)G=new URL(W.metadataUrl);else{let B=Gg(X,$.pathname);G=new URL(B,W?.metadataServerUrl??$),G.search=$.search}let H=await OO(G,J,Y);if(!W?.metadataUrl&&Hg(H,$.pathname)){let B=new URL(`/.well-known/${X}`,$);H=await OO(B,J,Y)}return H}function zg(Q){let X=typeof Q==="string"?new URL(Q):Q,Y=X.pathname!=="/",W=[];if(!Y)return W.push({url:new URL("/.well-known/oauth-authorization-server",X.origin),type:"oauth"}),W.push({url:new URL("/.well-known/openid-configuration",X.origin),type:"oidc"}),W;let $=X.pathname;if($.endsWith("/"))$=$.slice(0,-1);return W.push({url:new URL(`/.well-known/oauth-authorization-server${$}`,X.origin),type:"oauth"}),W.push({url:new URL(`/.well-known/openid-configuration${$}`,X.origin),type:"oidc"}),W.push({url:new URL(`${$}/.well-known/openid-configuration`,X.origin),type:"oidc"}),W}async function Kg(Q,{fetchFn:X=fetch,protocolVersion:Y=U6}={}){let W={"MCP-Protocol-Version":Y,Accept:"application/json"},$=zg(Q);for(let{url:J,type:G}of $){let H=await pJ(J,W,X);if(!H)continue;if(!H.ok){if(await H.body?.cancel(),H.status>=400&&H.status<500)continue;throw Error(`HTTP ${H.status} trying to load ${G==="oauth"?"OAuth":"OpenID provider"} metadata from ${J}`)}if(G==="oauth")return gJ.parse(await H.json());else return KO.parse(await H.json())}return}async function Vg(Q,{metadata:X,clientInformation:Y,redirectUrl:W,scope:$,state:J,resource:G}){let H;if(X){if(H=new URL(X.authorization_endpoint),!X.response_types_supported.includes(hJ))throw Error(`Incompatible auth server: does not support response type ${hJ}`);if(X.code_challenge_methods_supported&&!X.code_challenge_methods_supported.includes(uJ))throw Error(`Incompatible auth server: does not support code challenge method ${uJ}`)}else H=new URL("/authorize",Q);let B=await fJ(),z=B.code_verifier,K=B.code_challenge;if(H.searchParams.set("response_type",hJ),H.searchParams.set("client_id",Y.client_id),H.searchParams.set("code_challenge",K),H.searchParams.set("code_challenge_method",uJ),H.searchParams.set("redirect_uri",String(W)),J)H.searchParams.set("state",J);if($)H.searchParams.set("scope",$);if($?.includes("offline_access"))H.searchParams.append("prompt","consent");if(G)H.searchParams.set("resource",G.href);return{authorizationUrl:H,codeVerifier:z}}function Fg(Q,X,Y){return new URLSearchParams({grant_type:"authorization_code",code:Q,code_verifier:X,redirect_uri:String(Y)})}async function jO(Q,{metadata:X,tokenRequestParams:Y,clientInformation:W,addClientAuthentication:$,resource:J,fetchFn:G}){let H=X?.token_endpoint?new URL(X.token_endpoint):new URL("/token",Q),B=new Headers({"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"});if(J)Y.set("resource",J.href);if($)await $(B,Y,H,X);else if(W){let K=X?.token_endpoint_auth_methods_supported??[],V=sf(W,K);ef(V,W,B,Y)}let z=await(G??fetch)(H,{method:"POST",headers:B,body:Y});if(!z.ok)throw await UO(z);return VO.parse(await z.json())}async function Ag(Q,{metadata:X,clientInformation:Y,refreshToken:W,resource:$,addClientAuthentication:J,fetchFn:G}){let H=new URLSearchParams({grant_type:"refresh_token",refresh_token:W}),B=await jO(Q,{metadata:X,tokenRequestParams:H,clientInformation:Y,addClientAuthentication:J,resource:$,fetchFn:G});return{refresh_token:W,...B}}async function qg(Q,X,{metadata:Y,resource:W,authorizationCode:$,fetchFn:J}={}){let G=Q.clientMetadata.scope,H;if(Q.prepareTokenRequest)H=await Q.prepareTokenRequest(G);if(!H){if(!$)throw Error("Either provider.prepareTokenRequest() or authorizationCode is required");if(!Q.redirectUrl)throw Error("redirectUrl is required for authorization_code flow");let z=await Q.codeVerifier();H=Fg($,z,Q.redirectUrl)}let B=await Q.clientInformation();return jO(X,{metadata:Y,tokenRequestParams:H,clientInformation:B??void 0,addClientAuthentication:Q.addClientAuthentication,resource:W,fetchFn:J})}async function Dg(Q,{metadata:X,clientMetadata:Y,fetchFn:W}){let $;if(X){if(!X.registration_endpoint)throw Error("Incompatible auth server: does not support dynamic client registration");$=new URL(X.registration_endpoint)}else $=new URL("/register",Q);let J=await(W??fetch)($,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Y)});if(!J.ok)throw await UO(J);return AO.parse(await J.json())}class iJ extends Error{constructor(Q,X){super(Q),this.name="ParseError",this.type=X.type,this.field=X.field,this.value=X.value,this.line=X.line}}function dJ(Q){}function MO(Q){if(typeof Q=="function")throw TypeError("`callbacks` must be an object, got a function instead. Did you mean `{onEvent: fn}`?");let{onEvent:X=dJ,onError:Y=dJ,onRetry:W=dJ,onComment:$}=Q,J="",G=!0,H,B="",z="";function K(D){let L=G?D.replace(/^\xEF\xBB\xBF/,""):D,[O,N]=Lg(`${J}${L}`);for(let w of O)V(w);J=N,G=!1}function V(D){if(D===""){F();return}if(D.startsWith(":")){$&&$(D.slice(D.startsWith(": ")?2:1));return}let L=D.indexOf(":");if(L!==-1){let O=D.slice(0,L),N=D[L+1]===" "?2:1,w=D.slice(L+N);q(O,w,D);return}q(D,"",D)}function q(D,L,O){switch(D){case"event":z=L;break;case"data":B=`${B}${L}
50
+ `;break;case"id":H=L.includes("\x00")?void 0:L;break;case"retry":/^\d+$/.test(L)?W(parseInt(L,10)):Y(new iJ(`Invalid \`retry\` value: "${L}"`,{type:"invalid-retry",value:L,line:O}));break;default:Y(new iJ(`Unknown field "${D.length>20?`${D.slice(0,20)}…`:D}"`,{type:"unknown-field",field:D,value:L,line:O}));break}}function F(){B.length>0&&X({id:H,event:z||void 0,data:B.endsWith(`
51
+ `)?B.slice(0,-1):B}),H=void 0,B="",z=""}function A(D={}){J&&D.consume&&V(J),G=!0,H=void 0,B="",z="",J=""}return{feed:K,reset:A}}function Lg(Q){let X=[],Y="",W=0;for(;W<Q.length;){let $=Q.indexOf("\r",W),J=Q.indexOf(`
52
52
  `,W),G=-1;if($!==-1&&J!==-1?G=Math.min($,J):$!==-1?$===Q.length-1?G=-1:G=$:J!==-1&&(G=J),G===-1){Y=Q.slice(W);break}else{let H=Q.slice(W,G);X.push(H),W=G+1,Q[W-1]==="\r"&&Q[W]===`
53
- `&&W++}}return[X,Y]}class uJ extends TransformStream{constructor({onError:Q,onRetry:X,onComment:Y}={}){let W;super({start($){W=XO({onEvent:(J)=>{$.enqueue(J)},onError(J){Q==="terminate"?$.error(J):typeof Q=="function"&&Q(J)},onRetry:X,onComment:Y})},transform($){W.feed($)}})}}var Bg={initialReconnectionDelay:1000,maxReconnectionDelay:30000,reconnectionDelayGrowFactor:1.5,maxRetries:2};class K9 extends Error{constructor(Q,X){super(`Streamable HTTP error: ${X}`);this.code=Q}}class SY{constructor(Q,X){this._hasCompletedAuthFlow=!1,this._url=Q,this._resourceMetadataUrl=void 0,this._scope=void 0,this._requestInit=X?.requestInit,this._authProvider=X?.authProvider,this._fetch=X?.fetch,this._fetchWithInit=mL(X?.fetch,X?.requestInit),this._sessionId=X?.sessionId,this._reconnectionOptions=X?.reconnectionOptions??Bg}async _authThenStart(){if(!this._authProvider)throw new y6("No auth provider");let Q;try{Q=await m8(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})}catch(X){throw this.onerror?.(X),X}if(Q!=="AUTHORIZED")throw new y6;return await this._startOrAuthSse({resumptionToken:void 0})}async _commonHeaders(){let Q={};if(this._authProvider){let Y=await this._authProvider.tokens();if(Y)Q.Authorization=`Bearer ${Y.access_token}`}if(this._sessionId)Q["mcp-session-id"]=this._sessionId;if(this._protocolVersion)Q["mcp-protocol-version"]=this._protocolVersion;let X=DY(this._requestInit?.headers);return new Headers({...Q,...X})}async _startOrAuthSse(Q){let{resumptionToken:X}=Q;try{let Y=await this._commonHeaders();if(Y.set("Accept","text/event-stream"),X)Y.set("last-event-id",X);let W=await(this._fetch??fetch)(this._url,{method:"GET",headers:Y,signal:this._abortController?.signal});if(!W.ok){if(await W.body?.cancel(),W.status===401&&this._authProvider)return await this._authThenStart();if(W.status===405)return;throw new K9(W.status,`Failed to open SSE stream: ${W.statusText}`)}this._handleSseStream(W.body,Q,!0)}catch(Y){throw this.onerror?.(Y),Y}}_getNextReconnectionDelay(Q){if(this._serverRetryMs!==void 0)return this._serverRetryMs;let X=this._reconnectionOptions.initialReconnectionDelay,Y=this._reconnectionOptions.reconnectionDelayGrowFactor,W=this._reconnectionOptions.maxReconnectionDelay;return Math.min(X*Math.pow(Y,Q),W)}_scheduleReconnection(Q,X=0){let Y=this._reconnectionOptions.maxRetries;if(X>=Y){this.onerror?.(Error(`Maximum reconnection attempts (${Y}) exceeded.`));return}let W=this._getNextReconnectionDelay(X);this._reconnectionTimeout=setTimeout(()=>{this._startOrAuthSse(Q).catch(($)=>{this.onerror?.(Error(`Failed to reconnect SSE stream: ${$ instanceof Error?$.message:String($)}`)),this._scheduleReconnection(Q,X+1)})},W)}_handleSseStream(Q,X,Y){if(!Q)return;let{onresumptiontoken:W,replayMessageId:$}=X,J,G=!1,H=!1;(async()=>{try{let z=Q.pipeThrough(new TextDecoderStream).pipeThrough(new uJ({onRetry:(D)=>{this._serverRetryMs=D}})).getReader();while(!0){let{value:D,done:F}=await z.read();if(F)break;if(D.id)J=D.id,G=!0,W?.(D.id);if(!D.data)continue;if(!D.event||D.event==="message")try{let q=v9.parse(JSON.parse(D.data));if(t6(q)){if(H=!0,$!==void 0)q.id=$}this.onmessage?.(q)}catch(q){this.onerror?.(q)}}if((Y||G)&&!H&&this._abortController&&!this._abortController.signal.aborted)this._scheduleReconnection({resumptionToken:J,onresumptiontoken:W,replayMessageId:$},0)}catch(z){if(this.onerror?.(Error(`SSE stream disconnected: ${z}`)),(Y||G)&&!H&&this._abortController&&!this._abortController.signal.aborted)try{this._scheduleReconnection({resumptionToken:J,onresumptiontoken:W,replayMessageId:$},0)}catch(D){this.onerror?.(Error(`Failed to reconnect: ${D instanceof Error?D.message:String(D)}`))}}})()}async start(){if(this._abortController)throw Error("StreamableHTTPClientTransport already started! If using Client class, note that connect() calls start() automatically.");this._abortController=new AbortController}async finishAuth(Q){if(!this._authProvider)throw new y6("No auth provider");if(await m8(this._authProvider,{serverUrl:this._url,authorizationCode:Q,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})!=="AUTHORIZED")throw new y6("Failed to authorize")}async close(){if(this._reconnectionTimeout)clearTimeout(this._reconnectionTimeout),this._reconnectionTimeout=void 0;this._abortController?.abort(),this.onclose?.()}async send(Q,X){try{let{resumptionToken:Y,onresumptiontoken:W}=X||{};if(Y){this._startOrAuthSse({resumptionToken:Y,replayMessageId:v4(Q)?Q.id:void 0}).catch((V)=>this.onerror?.(V));return}let $=await this._commonHeaders();$.set("content-type","application/json"),$.set("accept","application/json, text/event-stream");let J={...this._requestInit,method:"POST",headers:$,body:JSON.stringify(Q),signal:this._abortController?.signal},G=await(this._fetch??fetch)(this._url,J),H=G.headers.get("mcp-session-id");if(H)this._sessionId=H;if(!G.ok){let V=await G.text().catch(()=>null);if(G.status===401&&this._authProvider){if(this._hasCompletedAuthFlow)throw new K9(401,"Server returned 401 after successful authentication");let{resourceMetadataUrl:D,scope:F}=yJ(G);if(this._resourceMetadataUrl=D,this._scope=F,await m8(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})!=="AUTHORIZED")throw new y6;return this._hasCompletedAuthFlow=!0,this.send(Q)}if(G.status===403&&this._authProvider){let{resourceMetadataUrl:D,scope:F,error:q}=yJ(G);if(q==="insufficient_scope"){let A=G.headers.get("WWW-Authenticate");if(this._lastUpscopingHeader===A)throw new K9(403,"Server returned 403 after trying upscoping");if(F)this._scope=F;if(D)this._resourceMetadataUrl=D;if(this._lastUpscopingHeader=A??void 0,await m8(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetch})!=="AUTHORIZED")throw new y6;return this.send(Q)}}throw new K9(G.status,`Error POSTing to endpoint: ${V}`)}if(this._hasCompletedAuthFlow=!1,this._lastUpscopingHeader=void 0,G.status===202){if(await G.body?.cancel(),H3(Q))this._startOrAuthSse({resumptionToken:void 0}).catch((V)=>this.onerror?.(V));return}let z=(Array.isArray(Q)?Q:[Q]).filter((V)=>("method"in V)&&("id"in V)&&V.id!==void 0).length>0,K=G.headers.get("content-type");if(z)if(K?.includes("text/event-stream"))this._handleSseStream(G.body,{onresumptiontoken:W},!1);else if(K?.includes("application/json")){let V=await G.json(),D=Array.isArray(V)?V.map((F)=>v9.parse(F)):[v9.parse(V)];for(let F of D)this.onmessage?.(F)}else throw await G.body?.cancel(),new K9(-1,`Unexpected content type: ${K}`);else await G.body?.cancel()}catch(Y){throw this.onerror?.(Y),Y}}get sessionId(){return this._sessionId}async terminateSession(){if(!this._sessionId)return;try{let Q=await this._commonHeaders(),X={...this._requestInit,method:"DELETE",headers:Q,signal:this._abortController?.signal},Y=await(this._fetch??fetch)(this._url,X);if(await Y.body?.cancel(),!Y.ok&&Y.status!==405)throw new K9(Y.status,`Failed to terminate session: ${Y.statusText}`);this._sessionId=void 0}catch(Q){throw this.onerror?.(Q),Q}}setProtocolVersion(Q){this._protocolVersion=Q}get protocolVersion(){return this._protocolVersion}async resumeStream(Q,X){await this._startOrAuthSse({resumptionToken:Q,onresumptiontoken:X?.onresumptiontoken})}}var zg=1000,Kg=180000,Fg=2,Vg=0.1,YO=120000,qg=0.1,Ag=60000,Dg=3;class lJ{name;url;onStatusChange;onNotification;onLog;onSamplingRequest;onElicitationRequest;onReconnecting;onReconnected;onHealthDegraded;onHealthRestored;client=null;transport=null;status="disconnected";errorMessage;capabilities;isClosing=!1;reconnectAttempt=0;reconnectTimeoutHandle=null;nextRetryMs=0;isReconnecting=!1;healthCheckIntervalHandle=null;consecutiveHealthFailures=0;healthStatus="healthy";constructor(Q){this.name=Q.name,this.url=Q.url,this.onStatusChange=Q.onStatusChange,this.onNotification=Q.onNotification,this.onLog=Q.onLog,this.onSamplingRequest=Q.onSamplingRequest,this.onElicitationRequest=Q.onElicitationRequest,this.onReconnecting=Q.onReconnecting,this.onReconnected=Q.onReconnected,this.onHealthDegraded=Q.onHealthDegraded,this.onHealthRestored=Q.onHealthRestored}getInfo(){let Q={name:this.name,transportType:"http",url:this.url,status:this.status};if(this.errorMessage!==void 0)Q.error=this.errorMessage;if(this.capabilities!==void 0)Q.capabilities=this.capabilities;return Q}getTransportType(){return"http"}getName(){return this.name}getStatus(){return this.status}isConnected(){return this.status==="connected"}getReconnectionState(){if(this.status!=="reconnecting")return null;return{attempt:this.reconnectAttempt,nextRetryMs:this.nextRetryMs}}getHealthStatus(){return this.healthStatus}getConsecutiveHealthFailures(){return this.consecutiveHealthFailures}async connect(){if(this.status==="connected"||this.status==="connecting")return;this.setStatus("connecting");try{this.transport=new SY(new URL(this.url)),this.client=new AY({name:"emceepee",version:"0.1.0"},{capabilities:{sampling:{},elicitation:{form:{}}}}),this.setupNotificationHandler(),this.transport.onclose=()=>{if(!this.isClosing)this.handleUnexpectedDisconnect()},this.transport.onerror=(X)=>{if((X.name==="AbortError"||X.message.includes("AbortError"))&&(this.isClosing||this.status==="disconnected"))return;this.errorMessage=X.message,this.handleUnexpectedDisconnect()},await this.client.connect(this.transport);let Q=this.client.getServerCapabilities();this.capabilities={tools:Q?.tools!==void 0,resources:Q?.resources!==void 0,prompts:Q?.prompts!==void 0,resourceTemplates:Q?.resources!==void 0,resourceSubscriptions:Q?.resources?.subscribe===!0},this.setStatus("connected"),this.startHealthChecks()}catch(Q){let X=Q instanceof Error?Q.message:String(Q);throw this.setStatus("error",X),Q}}async disconnect(){if(this.isClosing=!0,this.stopHealthChecks(),this.cancelReconnection(),this.transport)try{await this.transport.close()}catch{}this.client=null,this.transport=null,this.isClosing=!1,this.setStatus("disconnected")}async forceReconnect(){if(this.stopHealthChecks(),this.cancelReconnection(),this.transport){this.isClosing=!0;try{await this.transport.close()}catch{}this.isClosing=!1}this.client=null,this.transport=null,this.reconnectAttempt=0,this.nextRetryMs=0,this.consecutiveHealthFailures=0,this.healthStatus="healthy",await this.connect()}cancelReconnection(){if(this.reconnectTimeoutHandle)clearTimeout(this.reconnectTimeoutHandle),this.reconnectTimeoutHandle=null;this.isReconnecting=!1}async listTools(){let Q=this.getConnectedClient();if(!this.capabilities?.tools)return[];return(await Q.listTools()).tools}async callTool(Q,X={}){return await this.getConnectedClient().callTool({name:Q,arguments:X})}async listResources(){let Q=this.getConnectedClient();if(!this.capabilities?.resources)return[];return(await Q.listResources()).resources}async listResourceTemplates(){let Q=this.getConnectedClient();if(!this.capabilities?.resourceTemplates)return[];return(await Q.listResourceTemplates()).resourceTemplates}async readResource(Q){return await this.getConnectedClient().readResource({uri:Q})}async subscribeResource(Q){let X=this.getConnectedClient();if(!this.capabilities?.resourceSubscriptions)throw Error(`Server '${this.name}' does not support resource subscriptions`);await X.subscribeResource({uri:Q})}async unsubscribeResource(Q){let X=this.getConnectedClient();if(!this.capabilities?.resourceSubscriptions)throw Error(`Server '${this.name}' does not support resource subscriptions`);await X.unsubscribeResource({uri:Q})}supportsResourceSubscriptions(){return this.capabilities?.resourceSubscriptions===!0}async listPrompts(){let Q=this.getConnectedClient();if(!this.capabilities?.prompts)return[];return(await Q.listPrompts()).prompts}async getPrompt(Q,X={}){return await this.getConnectedClient().getPrompt({name:Q,arguments:X})}setupNotificationHandler(){if(!this.client)return;this.client.setNotificationHandler(m4,()=>{this.emitNotification("notifications/tools/list_changed")}),this.client.setNotificationHandler(u4,()=>{this.emitNotification("notifications/resources/list_changed")}),this.client.setNotificationHandler(Y5,(Q)=>{this.emitNotification("notifications/resources/updated",Q.params)}),this.client.setNotificationHandler(l4,()=>{this.emitNotification("notifications/prompts/list_changed")}),this.client.setNotificationHandler(F5,(Q)=>{if(this.onLog)this.onLog({server:this.name,timestamp:new Date,level:Q.params.level,logger:Q.params.logger,data:Q.params.data,source:"protocol"})}),this.client.setRequestHandler(p4,(Q)=>{return new Promise((X,Y)=>{if(this.onSamplingRequest)this.onSamplingRequest({id:crypto.randomUUID(),server:this.name,timestamp:new Date,params:Q.params,resolve:X,reject:Y});else Y(Error("Sampling not supported: no handler registered"))})}),this.client.setRequestHandler(i4,(Q)=>{return new Promise((X,Y)=>{if(this.onElicitationRequest)this.onElicitationRequest({id:crypto.randomUUID(),server:this.name,timestamp:new Date,params:Q.params,resolve:X,reject:Y});else Y(Error("Elicitation not supported: no handler registered"))})})}emitNotification(Q,X){if(this.onNotification!==void 0)this.onNotification({server:this.name,timestamp:new Date,method:Q,params:X})}handleUnexpectedDisconnect(){if(this.isReconnecting||this.isClosing)return;this.stopHealthChecks(),this.client=null,this.transport=null,this.isReconnecting=!0,this.reconnectAttempt=0,this.setStatus("reconnecting",this.errorMessage),this.scheduleReconnection()}scheduleReconnection(){if(this.isClosing)return;this.reconnectAttempt++;let Q=this.calculateBackoff(this.reconnectAttempt);if(this.nextRetryMs=Q,this.onReconnecting)this.onReconnecting(this.reconnectAttempt,Q);this.reconnectTimeoutHandle=setTimeout(()=>{this.attemptReconnection()},Q)}async attemptReconnection(){if(this.isClosing)return;try{this.transport=new SY(new URL(this.url)),this.client=new AY({name:"emceepee",version:"0.1.0"},{capabilities:{sampling:{},elicitation:{form:{}}}}),this.setupNotificationHandler(),this.transport.onclose=()=>{if(!this.isClosing)this.handleUnexpectedDisconnect()},this.transport.onerror=(Y)=>{if((Y.name==="AbortError"||Y.message.includes("AbortError"))&&(this.isClosing||this.status==="disconnected"))return;this.errorMessage=Y.message,this.handleUnexpectedDisconnect()},await this.client.connect(this.transport);let Q=this.client.getServerCapabilities();this.capabilities={tools:Q?.tools!==void 0,resources:Q?.resources!==void 0,prompts:Q?.prompts!==void 0,resourceTemplates:Q?.resources!==void 0,resourceSubscriptions:Q?.resources?.subscribe===!0};let X=this.reconnectAttempt;if(this.reconnectAttempt=0,this.nextRetryMs=0,this.isReconnecting=!1,this.consecutiveHealthFailures=0,this.healthStatus="healthy",this.setStatus("connected"),this.onReconnected)this.onReconnected(X);this.startHealthChecks()}catch(Q){this.client=null,this.transport=null,this.errorMessage=Q instanceof Error?Q.message:String(Q),this.scheduleReconnection()}}calculateBackoff(Q){let X=zg*Math.pow(Fg,Q-1),Y=Math.min(X,Kg),W=Y*Vg*(Math.random()*2-1);return Math.round(Y+W)}startHealthChecks(){this.stopHealthChecks();let Q=()=>{let X=YO*qg*(Math.random()*2-1),Y=Math.round(YO+X);this.healthCheckIntervalHandle=setTimeout(()=>{this.performHealthCheck(),Q()},Y)};Q()}stopHealthChecks(){if(this.healthCheckIntervalHandle)clearTimeout(this.healthCheckIntervalHandle),this.healthCheckIntervalHandle=null}async performHealthCheck(){if(!this.client||!this.isConnected())return;try{let Q=new AbortController,X=setTimeout(()=>{Q.abort()},Ag);try{if(await this.client.listTools(),clearTimeout(X),this.consecutiveHealthFailures>0){let Y=this.healthStatus==="degraded";if(this.consecutiveHealthFailures=0,this.healthStatus="healthy",Y&&this.onHealthRestored)this.onHealthRestored()}}catch(Y){throw clearTimeout(X),Y}}catch(Q){this.consecutiveHealthFailures++;let X=Q instanceof Error?Q.message:String(Q);if(this.consecutiveHealthFailures>=Dg&&this.healthStatus!=="degraded"){if(this.healthStatus="degraded",this.onHealthDegraded)this.onHealthDegraded(this.consecutiveHealthFailures,X)}}}setStatus(Q,X){if(this.status=Q,Q==="error"&&X!==void 0)this.errorMessage=X;else this.errorMessage=void 0;if(this.onStatusChange!==void 0)this.onStatusChange(Q,X)}getConnectedClient(){if(!this.isConnected()||!this.client)throw Error(`Client '${this.name}' is not connected`);return this.client}}var Lg={sessionTimeoutMs:86400000,cleanupIntervalMs:300000};class mJ{sessions=new Map;serverConfigs;config;logger;cleanupIntervalHandle=null;constructor(Q={}){this.config={...Lg,...Q},this.logger=Q.logger;let X={logger:Q.logger};this.serverConfigs=new MJ(X),this.startCleanupInterval()}async createSession(){let Q=y1(),X=new EJ(Q,this.config.sessionStateConfig,this.logger);this.sessions.set(Q,X),this.logger?.info("session_created",{sessionId:Q});let Y=this.serverConfigs.listConfigs();for(let W of Y)try{await this.connectSessionToServer(X,W)}catch($){this.logger?.warn("session_auto_connect_failed",{sessionId:Q,server:W.name,error:$ instanceof Error?$.message:String($)})}return X}getSession(Q){return this.sessions.get(Q)}touchSession(Q){this.sessions.get(Q)?.touch()}async destroySession(Q){let X=this.sessions.get(Q);if(!X)return;this.logger?.info("session_destroying",{sessionId:Q}),await X.cleanup(),this.sessions.delete(Q),this.logger?.info("session_destroyed",{sessionId:Q})}async addServer(Q,X,Y){let W=this.sessions.get(Q);if(!W)throw Error(`Session '${Q}' not found`);let $=this.serverConfigs.addConfig(X,Y,Q),J=this.serverConfigs.getConfig(X);if(!J)throw Error(`Failed to add server config for '${X}'`);let G=await this.connectSessionToServer(W,J);if($){for(let[H,B]of this.sessions)if(H!==Q)B.eventSystem.addEvent("server_added",X,{name:X,url:Y,addedBy:Q})}return G}async removeServer(Q,X){if(this.logger?.debug("removeServer_start",{sessionId:Q,serverName:X}),!this.serverConfigs.removeConfig(X))throw this.logger?.debug("removeServer_not_found",{sessionId:Q,serverName:X}),Error(`Server '${X}' not found`);for(let[W,$]of this.sessions)this.logger?.debug("removeServer_disconnecting_session",{sessionId:W,serverName:X,hasConnection:$.getConnection(X)!==void 0}),await this.disconnectSessionFromServer($,X),$.eventSystem.addEvent("server_removed",X,{name:X,removedBy:Q});this.logger?.debug("removeServer_complete",{sessionId:Q,serverName:X})}listServers(Q){let X=this.sessions.get(Q);return this.serverConfigs.listConfigs().map((W)=>{let $=X?.getConnection(W.name),J={name:W.name,url:W.url,connected:$?.status==="connected",status:$?.status??"not_connected",connectedAt:$?.connectedAt,lastError:$?.lastError};if($?.status==="reconnecting"){let G=$.client.getReconnectionState();if(G)J.reconnectAttempt=G.attempt,J.nextRetryMs=G.nextRetryMs}if($?.status==="connected"){J.healthStatus=$.client.getHealthStatus();let G=$.client.getConsecutiveHealthFailures();if(G>0)J.consecutiveHealthFailures=G}return J})}async reconnectServer(Q,X){let Y=this.sessions.get(Q);if(!Y)throw Error(`Session '${Q}' not found`);let W=this.serverConfigs.getConfig(X);if(!W)throw Error(`Server '${X}' not found`);let $=Y.getConnection(X);if(!$){await this.connectSessionToServer(Y,W);return}this.handleBackendDisconnect(Y,X),await $.client.forceReconnect(),Y.setConnectionStatus(X,"connected"),Y.eventSystem.addEvent("server_reconnected",X,{name:X,attemptsTaken:0,forced:!0}),this.logger?.info("session_server_force_reconnected",{sessionId:Y.sessionId,server:X})}async getOrCreateConnection(Q,X){let Y=this.sessions.get(Q);if(!Y)throw Error(`Session '${Q}' not found`);let W=Y.getConnection(X);if(W?.status==="connected")return W.client;let $=this.serverConfigs.getConfig(X);if(!$)throw Error(`Server '${X}' not found`);return(await this.connectSessionToServer(Y,$)).client}getConnectedClient(Q,X){let Y=this.sessions.get(Q);if(!Y)return;let W=Y.getConnection(X);if(W?.status==="connected")return W.client;return}async connectSessionToServer(Q,X){let Y=Q.backendConnections.get(X.name);if(Y?.status==="connected")return Y;if(Y?.status==="connecting")throw Error(`Already connecting to '${X.name}'`);let W=new lJ({name:X.name,url:X.url,onStatusChange:($,J)=>{Q.setConnectionStatus(X.name,$,J)},onNotification:($)=>{Q.bufferManager.addNotification($)},onLog:($)=>{Q.bufferManager.addLog($)},onSamplingRequest:($)=>{Q.pendingRequests.addSamplingRequest($.server,$.params,$.resolve,$.reject)},onElicitationRequest:($)=>{Q.pendingRequests.addElicitationRequest($.server,$.params,$.resolve,$.reject)},onReconnecting:($,J)=>{if($===1)this.handleBackendDisconnect(Q,X.name);Q.eventSystem.addEvent("server_reconnecting",X.name,{name:X.name,attempt:$,nextRetryMs:J}),this.logger?.debug("session_server_reconnecting",{sessionId:Q.sessionId,server:X.name,attempt:$,nextRetryMs:J})},onReconnected:($)=>{Q.setConnectionStatus(X.name,"connected"),Q.eventSystem.addEvent("server_reconnected",X.name,{name:X.name,attemptsTaken:$}),this.logger?.info("session_server_reconnected",{sessionId:Q.sessionId,server:X.name,attemptsTaken:$})},onHealthDegraded:($,J)=>{Q.eventSystem.addEvent("server_health_degraded",X.name,{name:X.name,consecutiveFailures:$,lastError:J}),this.logger?.warn("session_server_health_degraded",{sessionId:Q.sessionId,server:X.name,consecutiveFailures:$,lastError:J})},onHealthRestored:()=>{Q.eventSystem.addEvent("server_health_restored",X.name,{name:X.name}),this.logger?.info("session_server_health_restored",{sessionId:Q.sessionId,server:X.name})}});Q.addConnection(X.name,W);try{await W.connect(),Q.setConnectionStatus(X.name,"connected"),Q.eventSystem.addEvent("server_connected",X.name,{name:X.name,capabilities:W.getInfo().capabilities}),this.logger?.info("session_server_connected",{sessionId:Q.sessionId,server:X.name});let $=Q.getConnection(X.name);if(!$)throw Error("Connection not found after connect");return $}catch($){let J=$ instanceof Error?$.message:String($);throw Q.setConnectionStatus(X.name,"error",J),this.logger?.warn("session_server_connect_failed",{sessionId:Q.sessionId,server:X.name,error:J}),$}}async disconnectSessionFromServer(Q,X){let Y=Q.getConnection(X);if(!Y){this.logger?.debug("disconnectSessionFromServer_no_connection",{sessionId:Q.sessionId,serverName:X});return}this.logger?.debug("disconnectSessionFromServer_start",{sessionId:Q.sessionId,serverName:X,connectionStatus:Y.status});let W=Q.taskManager.getTasksForServer(X);for(let $ of W)if($.status==="working")Q.taskManager.failTask($.taskId,"Server removed");Q.pendingRequests.rejectRequestsForServer(X,"Server removed");try{this.logger?.debug("disconnectSessionFromServer_calling_disconnect",{sessionId:Q.sessionId,serverName:X}),await Y.client.disconnect(),this.logger?.debug("disconnectSessionFromServer_disconnect_complete",{sessionId:Q.sessionId,serverName:X})}catch($){this.logger?.debug("disconnectSessionFromServer_disconnect_error",{sessionId:Q.sessionId,serverName:X,error:$ instanceof Error?$.message:String($)})}Q.removeConnection(X),this.logger?.debug("disconnectSessionFromServer_complete",{sessionId:Q.sessionId,serverName:X})}handleBackendDisconnect(Q,X){let Y=Q.taskManager.getTasksForServer(X);for(let W of Y)if(W.status==="working")Q.taskManager.failTask(W.taskId,"Server disconnected");Q.pendingRequests.rejectRequestsForServer(X,"Server disconnected"),Q.eventSystem.addEvent("server_disconnected",X,{name:X}),this.logger?.info("session_server_disconnected",{sessionId:Q.sessionId,server:X})}startCleanupInterval(){this.cleanupIntervalHandle=setInterval(()=>{this.runSessionCleanup()},this.config.cleanupIntervalMs)}runSessionCleanup(){let Q=Date.now(),X=[];for(let[Y,W]of this.sessions)if(Q-W.lastActivityAt.getTime()>=this.config.sessionTimeoutMs)X.push(Y);for(let Y of X)this.logger?.info("session_timeout_cleanup",{sessionId:Y}),this.destroySession(Y)}async shutdown(){if(this.logger?.info("session_manager_shutdown_start",{sessionCount:this.sessions.size}),this.cleanupIntervalHandle)clearInterval(this.cleanupIntervalHandle),this.cleanupIntervalHandle=null;for(let Q of Array.from(this.sessions.keys()))await this.destroySession(Q);this.logger?.info("session_manager_shutdown_complete",{})}getServerConfigs(){return this.serverConfigs}listSessionIds(){return Array.from(this.sessions.keys())}get sessionCount(){return this.sessions.size}}var WO={debug:0,info:1,warn:2,error:3};function $O(){let Q=()=>{};return{debug:Q,info:Q,warn:Q,error:Q}}function JO(Q="info",X){let Y=WO[Q],W=p8("fs"),$=(J,G,H)=>{if(WO[J]<Y)return;let B=new Date().toISOString(),z=H?` ${JSON.stringify(H)}`:"",K=`[${B}] ${J.toUpperCase()} ${G}${z}
53
+ `&&W++}}return[X,Y]}class nJ extends TransformStream{constructor({onError:Q,onRetry:X,onComment:Y}={}){let W;super({start($){W=MO({onEvent:(J)=>{$.enqueue(J)},onError(J){Q==="terminate"?$.error(J):typeof Q=="function"&&Q(J)},onRetry:X,onComment:Y})},transform($){W.feed($)}})}}var Og={initialReconnectionDelay:1000,maxReconnectionDelay:30000,reconnectionDelayGrowFactor:1.5,maxRetries:2};class L9 extends Error{constructor(Q,X){super(`Streamable HTTP error: ${X}`);this.code=Q}}class _Y{constructor(Q,X){this._hasCompletedAuthFlow=!1,this._url=Q,this._resourceMetadataUrl=void 0,this._scope=void 0,this._requestInit=X?.requestInit,this._authProvider=X?.authProvider,this._fetch=X?.fetch,this._fetchWithInit=HO(X?.fetch,X?.requestInit),this._sessionId=X?.sessionId,this._reconnectionOptions=X?.reconnectionOptions??Og}async _authThenStart(){if(!this._authProvider)throw new f6("No auth provider");let Q;try{Q=await r4(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})}catch(X){throw this.onerror?.(X),X}if(Q!=="AUTHORIZED")throw new f6;return await this._startOrAuthSse({resumptionToken:void 0})}async _commonHeaders(){let Q={};if(this._authProvider){let Y=await this._authProvider.tokens();if(Y)Q.Authorization=`Bearer ${Y.access_token}`}if(this._sessionId)Q["mcp-session-id"]=this._sessionId;if(this._protocolVersion)Q["mcp-protocol-version"]=this._protocolVersion;let X=NY(this._requestInit?.headers);return new Headers({...Q,...X})}async _startOrAuthSse(Q){let{resumptionToken:X}=Q;try{let Y=await this._commonHeaders();if(Y.set("Accept","text/event-stream"),X)Y.set("last-event-id",X);let W=await(this._fetch??fetch)(this._url,{method:"GET",headers:Y,signal:this._abortController?.signal});if(!W.ok){if(await W.body?.cancel(),W.status===401&&this._authProvider)return await this._authThenStart();if(W.status===405)return;throw new L9(W.status,`Failed to open SSE stream: ${W.statusText}`)}this._handleSseStream(W.body,Q,!0)}catch(Y){throw this.onerror?.(Y),Y}}_getNextReconnectionDelay(Q){if(this._serverRetryMs!==void 0)return this._serverRetryMs;let X=this._reconnectionOptions.initialReconnectionDelay,Y=this._reconnectionOptions.reconnectionDelayGrowFactor,W=this._reconnectionOptions.maxReconnectionDelay;return Math.min(X*Math.pow(Y,Q),W)}_scheduleReconnection(Q,X=0){let Y=this._reconnectionOptions.maxRetries;if(X>=Y){this.onerror?.(Error(`Maximum reconnection attempts (${Y}) exceeded.`));return}let W=this._getNextReconnectionDelay(X);this._reconnectionTimeout=setTimeout(()=>{this._startOrAuthSse(Q).catch(($)=>{this.onerror?.(Error(`Failed to reconnect SSE stream: ${$ instanceof Error?$.message:String($)}`)),this._scheduleReconnection(Q,X+1)})},W)}_handleSseStream(Q,X,Y){if(!Q)return;let{onresumptiontoken:W,replayMessageId:$}=X,J,G=!1,H=!1;(async()=>{try{let z=Q.pipeThrough(new TextDecoderStream).pipeThrough(new nJ({onRetry:(q)=>{this._serverRetryMs=q}})).getReader();while(!0){let{value:q,done:F}=await z.read();if(F)break;if(q.id)J=q.id,G=!0,W?.(q.id);if(!q.data)continue;if(!q.event||q.event==="message")try{let A=u9.parse(JSON.parse(q.data));if(a6(A)){if(H=!0,$!==void 0)A.id=$}this.onmessage?.(A)}catch(A){this.onerror?.(A)}}if((Y||G)&&!H&&this._abortController&&!this._abortController.signal.aborted)this._scheduleReconnection({resumptionToken:J,onresumptiontoken:W,replayMessageId:$},0)}catch(z){if(this.onerror?.(Error(`SSE stream disconnected: ${z}`)),(Y||G)&&!H&&this._abortController&&!this._abortController.signal.aborted)try{this._scheduleReconnection({resumptionToken:J,onresumptiontoken:W,replayMessageId:$},0)}catch(q){this.onerror?.(Error(`Failed to reconnect: ${q instanceof Error?q.message:String(q)}`))}}})()}async start(){if(this._abortController)throw Error("StreamableHTTPClientTransport already started! If using Client class, note that connect() calls start() automatically.");this._abortController=new AbortController}async finishAuth(Q){if(!this._authProvider)throw new f6("No auth provider");if(await r4(this._authProvider,{serverUrl:this._url,authorizationCode:Q,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})!=="AUTHORIZED")throw new f6("Failed to authorize")}async close(){if(this._reconnectionTimeout)clearTimeout(this._reconnectionTimeout),this._reconnectionTimeout=void 0;this._abortController?.abort(),this.onclose?.()}async send(Q,X){try{let{resumptionToken:Y,onresumptiontoken:W}=X||{};if(Y){this._startOrAuthSse({resumptionToken:Y,replayMessageId:m8(Q)?Q.id:void 0}).catch((V)=>this.onerror?.(V));return}let $=await this._commonHeaders();$.set("content-type","application/json"),$.set("accept","application/json, text/event-stream");let J={...this._requestInit,method:"POST",headers:$,body:JSON.stringify(Q),signal:this._abortController?.signal},G=await(this._fetch??fetch)(this._url,J),H=G.headers.get("mcp-session-id");if(H)this._sessionId=H;if(!G.ok){let V=await G.text().catch(()=>null);if(G.status===401&&this._authProvider){if(this._hasCompletedAuthFlow)throw new L9(401,"Server returned 401 after successful authentication");let{resourceMetadataUrl:q,scope:F}=cJ(G);if(this._resourceMetadataUrl=q,this._scope=F,await r4(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})!=="AUTHORIZED")throw new f6;return this._hasCompletedAuthFlow=!0,this.send(Q)}if(G.status===403&&this._authProvider){let{resourceMetadataUrl:q,scope:F,error:A}=cJ(G);if(A==="insufficient_scope"){let D=G.headers.get("WWW-Authenticate");if(this._lastUpscopingHeader===D)throw new L9(403,"Server returned 403 after trying upscoping");if(F)this._scope=F;if(q)this._resourceMetadataUrl=q;if(this._lastUpscopingHeader=D??void 0,await r4(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetch})!=="AUTHORIZED")throw new f6;return this.send(Q)}}throw new L9(G.status,`Error POSTing to endpoint: ${V}`)}if(this._hasCompletedAuthFlow=!1,this._lastUpscopingHeader=void 0,G.status===202){if(await G.body?.cancel(),E3(Q))this._startOrAuthSse({resumptionToken:void 0}).catch((V)=>this.onerror?.(V));return}let z=(Array.isArray(Q)?Q:[Q]).filter((V)=>("method"in V)&&("id"in V)&&V.id!==void 0).length>0,K=G.headers.get("content-type");if(z)if(K?.includes("text/event-stream"))this._handleSseStream(G.body,{onresumptiontoken:W},!1);else if(K?.includes("application/json")){let V=await G.json(),q=Array.isArray(V)?V.map((F)=>u9.parse(F)):[u9.parse(V)];for(let F of q)this.onmessage?.(F)}else throw await G.body?.cancel(),new L9(-1,`Unexpected content type: ${K}`);else await G.body?.cancel()}catch(Y){throw this.onerror?.(Y),Y}}get sessionId(){return this._sessionId}async terminateSession(){if(!this._sessionId)return;try{let Q=await this._commonHeaders(),X={...this._requestInit,method:"DELETE",headers:Q,signal:this._abortController?.signal},Y=await(this._fetch??fetch)(this._url,X);if(await Y.body?.cancel(),!Y.ok&&Y.status!==405)throw new L9(Y.status,`Failed to terminate session: ${Y.statusText}`);this._sessionId=void 0}catch(Q){throw this.onerror?.(Q),Q}}setProtocolVersion(Q){this._protocolVersion=Q}get protocolVersion(){return this._protocolVersion}async resumeStream(Q,X){await this._startOrAuthSse({resumptionToken:Q,onresumptiontoken:X?.onresumptiontoken})}}var Ug=1000,jg=180000,Mg=2,Ng=0.1,NO=120000,wg=0.1,bg=60000,Pg=3;class oJ{name;url;onStatusChange;onNotification;onLog;onSamplingRequest;onElicitationRequest;onReconnecting;onReconnected;onHealthDegraded;onHealthRestored;client=null;transport=null;status="disconnected";errorMessage;capabilities;isClosing=!1;reconnectAttempt=0;reconnectTimeoutHandle=null;nextRetryMs=0;isReconnecting=!1;healthCheckIntervalHandle=null;consecutiveHealthFailures=0;healthStatus="healthy";constructor(Q){this.name=Q.name,this.url=Q.url,this.onStatusChange=Q.onStatusChange,this.onNotification=Q.onNotification,this.onLog=Q.onLog,this.onSamplingRequest=Q.onSamplingRequest,this.onElicitationRequest=Q.onElicitationRequest,this.onReconnecting=Q.onReconnecting,this.onReconnected=Q.onReconnected,this.onHealthDegraded=Q.onHealthDegraded,this.onHealthRestored=Q.onHealthRestored}getTransportType(){return"http"}getUrl(){return this.url}getInfo(){let Q={name:this.name,url:this.url,status:this.status};if(this.errorMessage!==void 0)Q.error=this.errorMessage;if(this.capabilities!==void 0)Q.capabilities=this.capabilities;return Q}getName(){return this.name}getStatus(){return this.status}isConnected(){return this.status==="connected"}getReconnectionState(){if(this.status!=="reconnecting")return null;return{attempt:this.reconnectAttempt,nextRetryMs:this.nextRetryMs}}getHealthStatus(){return this.healthStatus}getConsecutiveHealthFailures(){return this.consecutiveHealthFailures}async connect(){if(this.status==="connected"||this.status==="connecting")return;this.setStatus("connecting");try{this.transport=new _Y(new URL(this.url)),this.client=new F8({name:"emceepee",version:"0.1.0"},{capabilities:{sampling:{},elicitation:{form:{}}}}),this.setupNotificationHandler(),this.transport.onclose=()=>{if(!this.isClosing)this.handleUnexpectedDisconnect()},this.transport.onerror=(X)=>{if((X.name==="AbortError"||X.message.includes("AbortError"))&&(this.isClosing||this.status==="disconnected"))return;this.errorMessage=X.message,this.handleUnexpectedDisconnect()},await this.client.connect(this.transport);let Q=this.client.getServerCapabilities();this.capabilities={tools:Q?.tools!==void 0,resources:Q?.resources!==void 0,prompts:Q?.prompts!==void 0,resourceTemplates:Q?.resources!==void 0,resourceSubscriptions:Q?.resources?.subscribe===!0},this.setStatus("connected"),this.startHealthChecks()}catch(Q){let X=Q instanceof Error?Q.message:String(Q);throw this.setStatus("error",X),Q}}async disconnect(){if(this.isClosing=!0,this.stopHealthChecks(),this.cancelReconnection(),this.transport)try{await this.transport.close()}catch{}this.client=null,this.transport=null,this.isClosing=!1,this.setStatus("disconnected")}async forceReconnect(){if(this.stopHealthChecks(),this.cancelReconnection(),this.transport){this.isClosing=!0;try{await this.transport.close()}catch{}this.isClosing=!1}this.client=null,this.transport=null,this.reconnectAttempt=0,this.nextRetryMs=0,this.consecutiveHealthFailures=0,this.healthStatus="healthy",await this.connect()}cancelReconnection(){if(this.reconnectTimeoutHandle)clearTimeout(this.reconnectTimeoutHandle),this.reconnectTimeoutHandle=null;this.isReconnecting=!1}async listTools(){let Q=this.getConnectedClient();if(!this.capabilities?.tools)return[];return(await Q.listTools()).tools}async callTool(Q,X={}){return await this.getConnectedClient().callTool({name:Q,arguments:X})}async listResources(){let Q=this.getConnectedClient();if(!this.capabilities?.resources)return[];return(await Q.listResources()).resources}async listResourceTemplates(){let Q=this.getConnectedClient();if(!this.capabilities?.resourceTemplates)return[];return(await Q.listResourceTemplates()).resourceTemplates}async readResource(Q){return await this.getConnectedClient().readResource({uri:Q})}async subscribeResource(Q){let X=this.getConnectedClient();if(!this.capabilities?.resourceSubscriptions)throw Error(`Server '${this.name}' does not support resource subscriptions`);await X.subscribeResource({uri:Q})}async unsubscribeResource(Q){let X=this.getConnectedClient();if(!this.capabilities?.resourceSubscriptions)throw Error(`Server '${this.name}' does not support resource subscriptions`);await X.unsubscribeResource({uri:Q})}supportsResourceSubscriptions(){return this.capabilities?.resourceSubscriptions===!0}async listPrompts(){let Q=this.getConnectedClient();if(!this.capabilities?.prompts)return[];return(await Q.listPrompts()).prompts}async getPrompt(Q,X={}){return await this.getConnectedClient().getPrompt({name:Q,arguments:X})}setupNotificationHandler(){if(!this.client)return;this.client.setNotificationHandler(Q9,()=>{this.emitNotification("notifications/tools/list_changed")}),this.client.setNotificationHandler(s6,()=>{this.emitNotification("notifications/resources/list_changed")}),this.client.setNotificationHandler(r8,(Q)=>{this.emitNotification("notifications/resources/updated",Q.params)}),this.client.setNotificationHandler(e6,()=>{this.emitNotification("notifications/prompts/list_changed")}),this.client.setNotificationHandler(a8,(Q)=>{if(this.onLog)this.onLog({server:this.name,timestamp:new Date,level:Q.params.level,logger:Q.params.logger,data:Q.params.data})}),this.client.setRequestHandler(X9,(Q)=>{return new Promise((X,Y)=>{if(this.onSamplingRequest)this.onSamplingRequest({id:crypto.randomUUID(),server:this.name,timestamp:new Date,params:Q.params,resolve:X,reject:Y});else Y(Error("Sampling not supported: no handler registered"))})}),this.client.setRequestHandler(Y9,(Q)=>{return new Promise((X,Y)=>{if(this.onElicitationRequest)this.onElicitationRequest({id:crypto.randomUUID(),server:this.name,timestamp:new Date,params:Q.params,resolve:X,reject:Y});else Y(Error("Elicitation not supported: no handler registered"))})})}emitNotification(Q,X){if(this.onNotification!==void 0)this.onNotification({server:this.name,timestamp:new Date,method:Q,params:X})}handleUnexpectedDisconnect(){if(this.isReconnecting||this.isClosing)return;this.stopHealthChecks(),this.client=null,this.transport=null,this.isReconnecting=!0,this.reconnectAttempt=0,this.setStatus("reconnecting",this.errorMessage),this.scheduleReconnection()}scheduleReconnection(){if(this.isClosing)return;this.reconnectAttempt++;let Q=this.calculateBackoff(this.reconnectAttempt);if(this.nextRetryMs=Q,this.onReconnecting)this.onReconnecting(this.reconnectAttempt,Q);this.reconnectTimeoutHandle=setTimeout(()=>{this.attemptReconnection()},Q)}async attemptReconnection(){if(this.isClosing)return;try{this.transport=new _Y(new URL(this.url)),this.client=new F8({name:"emceepee",version:"0.1.0"},{capabilities:{sampling:{},elicitation:{form:{}}}}),this.setupNotificationHandler(),this.transport.onclose=()=>{if(!this.isClosing)this.handleUnexpectedDisconnect()},this.transport.onerror=(Y)=>{if((Y.name==="AbortError"||Y.message.includes("AbortError"))&&(this.isClosing||this.status==="disconnected"))return;this.errorMessage=Y.message,this.handleUnexpectedDisconnect()},await this.client.connect(this.transport);let Q=this.client.getServerCapabilities();this.capabilities={tools:Q?.tools!==void 0,resources:Q?.resources!==void 0,prompts:Q?.prompts!==void 0,resourceTemplates:Q?.resources!==void 0,resourceSubscriptions:Q?.resources?.subscribe===!0};let X=this.reconnectAttempt;if(this.reconnectAttempt=0,this.nextRetryMs=0,this.isReconnecting=!1,this.consecutiveHealthFailures=0,this.healthStatus="healthy",this.setStatus("connected"),this.onReconnected)this.onReconnected(X);this.startHealthChecks()}catch(Q){this.client=null,this.transport=null,this.errorMessage=Q instanceof Error?Q.message:String(Q),this.scheduleReconnection()}}calculateBackoff(Q){let X=Ug*Math.pow(Mg,Q-1),Y=Math.min(X,jg),W=Y*Ng*(Math.random()*2-1);return Math.round(Y+W)}startHealthChecks(){this.stopHealthChecks();let Q=()=>{let X=NO*wg*(Math.random()*2-1),Y=Math.round(NO+X);this.healthCheckIntervalHandle=setTimeout(()=>{this.performHealthCheck(),Q()},Y)};Q()}stopHealthChecks(){if(this.healthCheckIntervalHandle)clearTimeout(this.healthCheckIntervalHandle),this.healthCheckIntervalHandle=null}async performHealthCheck(){if(!this.client||!this.isConnected())return;try{let Q=new AbortController,X=setTimeout(()=>{Q.abort()},bg);try{if(await this.client.listTools(),clearTimeout(X),this.consecutiveHealthFailures>0){let Y=this.healthStatus==="degraded";if(this.consecutiveHealthFailures=0,this.healthStatus="healthy",Y&&this.onHealthRestored)this.onHealthRestored()}}catch(Y){throw clearTimeout(X),Y}}catch(Q){this.consecutiveHealthFailures++;let X=Q instanceof Error?Q.message:String(Q);if(this.consecutiveHealthFailures>=Pg&&this.healthStatus!=="degraded"){if(this.healthStatus="degraded",this.onHealthDegraded)this.onHealthDegraded(this.consecutiveHealthFailures,X)}}}setStatus(Q,X){if(this.status=Q,Q==="error"&&X!==void 0)this.errorMessage=X;else this.errorMessage=void 0;if(this.onStatusChange!==void 0)this.onStatusChange(Q,X)}getConnectedClient(){if(!this.isConnected()||!this.client)throw Error(`Client '${this.name}' is not connected`);return this.client}}var KU=O9(zU(),1);import yY from"node:process";import{PassThrough as Qh}from"node:stream";var Xh=yY.platform==="win32"?["APPDATA","HOMEDRIVE","HOMEPATH","LOCALAPPDATA","PATH","PROCESSOR_ARCHITECTURE","SYSTEMDRIVE","SYSTEMROOT","TEMP","USERNAME","USERPROFILE","PROGRAMFILES"]:["HOME","LOGNAME","PATH","SHELL","TERM","USER"];function Yh(){let Q={};for(let X of Xh){let Y=yY.env[X];if(Y===void 0)continue;if(Y.startsWith("()"))continue;Q[X]=Y}return Q}class $G{constructor(Q){if(this._readBuffer=new o4,this._stderrStream=null,this._serverParams=Q,Q.stderr==="pipe"||Q.stderr==="overlapped")this._stderrStream=new Qh}async start(){if(this._process)throw Error("StdioClientTransport already started! If using Client class, note that connect() calls start() automatically.");return new Promise((Q,X)=>{if(this._process=KU.default(this._serverParams.command,this._serverParams.args??[],{env:{...Yh(),...this._serverParams.env},stdio:["pipe","pipe",this._serverParams.stderr??"inherit"],shell:!1,windowsHide:yY.platform==="win32"&&Wh(),cwd:this._serverParams.cwd}),this._process.on("error",(Y)=>{X(Y),this.onerror?.(Y)}),this._process.on("spawn",()=>{Q()}),this._process.on("close",(Y)=>{this._process=void 0,this.onclose?.()}),this._process.stdin?.on("error",(Y)=>{this.onerror?.(Y)}),this._process.stdout?.on("data",(Y)=>{this._readBuffer.append(Y),this.processReadBuffer()}),this._process.stdout?.on("error",(Y)=>{this.onerror?.(Y)}),this._stderrStream&&this._process.stderr)this._process.stderr.pipe(this._stderrStream)})}get stderr(){if(this._stderrStream)return this._stderrStream;return this._process?.stderr??null}get pid(){return this._process?.pid??null}processReadBuffer(){while(!0)try{let Q=this._readBuffer.readMessage();if(Q===null)break;this.onmessage?.(Q)}catch(Q){this.onerror?.(Q)}}async close(){if(this._process){let Q=this._process;this._process=void 0;let X=new Promise((Y)=>{Q.once("close",()=>{Y()})});try{Q.stdin?.end()}catch{}if(await Promise.race([X,new Promise((Y)=>setTimeout(Y,2000).unref())]),Q.exitCode===null){try{Q.kill("SIGTERM")}catch{}await Promise.race([X,new Promise((Y)=>setTimeout(Y,2000).unref())])}if(Q.exitCode===null)try{Q.kill("SIGKILL")}catch{}}this._readBuffer.clear()}send(Q){return new Promise((X)=>{if(!this._process?.stdin)throw Error("Not connected");let Y=OY(Q);if(this._process.stdin.write(Y))X();else this._process.stdin.once("drain",X)})}}function Wh(){return"type"in yY}var $h={enabled:!0,maxAttempts:5,baseDelayMs:1000,maxDelayMs:60000,backoffMultiplier:2};class JG{name;command;args;env;cwd;restartConfig;onStatusChange;onNotification;onLog;onSamplingRequest;onElicitationRequest;onLifecycleEvent;client=null;transport=null;status="disconnected";errorMessage;capabilities;isClosing=!1;restartAttempt=0;restartTimeoutHandle=null;nextRetryMs=0;isRestarting=!1;stderrBuffer=[];maxStderrLines=1000;constructor(Q){this.name=Q.name,this.command=Q.command,this.args=Q.args??[],this.env=Q.env,this.cwd=Q.cwd,this.restartConfig={...$h,...Q.restartConfig},this.onStatusChange=Q.onStatusChange,this.onNotification=Q.onNotification,this.onLog=Q.onLog,this.onSamplingRequest=Q.onSamplingRequest,this.onElicitationRequest=Q.onElicitationRequest,this.onLifecycleEvent=Q.onLifecycleEvent}getTransportType(){return"stdio"}getInfo(){let Q={transportType:"stdio",name:this.name,url:`stdio://${this.command}`,status:this.status},X=this.transport._process;if(X?.pid!==void 0)Q.pid=X.pid;if(this.errorMessage!==void 0)Q.error=this.errorMessage;if(this.capabilities!==void 0)Q.capabilities=this.capabilities;return Q}getName(){return this.name}getStatus(){return this.status}isConnected(){return this.status==="connected"}getReconnectionState(){if(this.status!=="reconnecting")return null;return{attempt:this.restartAttempt,nextRetryMs:this.nextRetryMs}}getHealthStatus(){return this.isConnected()?"healthy":"degraded"}getConsecutiveHealthFailures(){return this.isConnected()?0:this.restartAttempt}getCommand(){return this.command}getArgs(){return[...this.args]}getStderrBuffer(){return[...this.stderrBuffer]}async connect(){if(this.status==="connected"||this.status==="connecting")return;this.setStatus("connecting");try{await this.createTransport(),this.emitLifecycleEvent({event:"process_started",timestamp:new Date}),this.setStatus("connected")}catch(Q){let X=Q instanceof Error?Q.message:String(Q);throw this.setStatus("error",X),Q}}async disconnect(){if(this.isClosing=!0,this.cancelReconnection(),this.transport)try{await this.transport.close()}catch{}this.client=null,this.transport=null,this.isClosing=!1,this.setStatus("disconnected"),this.emitLifecycleEvent({event:"process_stopped",timestamp:new Date})}async forceReconnect(){if(this.cancelReconnection(),this.transport){this.isClosing=!0;try{await this.transport.close()}catch{}this.isClosing=!1}this.client=null,this.transport=null,this.restartAttempt=0,this.nextRetryMs=0,await this.connect()}cancelReconnection(){if(this.restartTimeoutHandle)clearTimeout(this.restartTimeoutHandle),this.restartTimeoutHandle=null;this.isRestarting=!1}async listTools(){let Q=this.getConnectedClient();if(!this.capabilities?.tools)return[];return(await Q.listTools()).tools}async callTool(Q,X={}){return await this.getConnectedClient().callTool({name:Q,arguments:X})}async listResources(){let Q=this.getConnectedClient();if(!this.capabilities?.resources)return[];return(await Q.listResources()).resources}async listResourceTemplates(){let Q=this.getConnectedClient();if(!this.capabilities?.resourceTemplates)return[];return(await Q.listResourceTemplates()).resourceTemplates}async readResource(Q){return await this.getConnectedClient().readResource({uri:Q})}async subscribeResource(Q){let X=this.getConnectedClient();if(!this.capabilities?.resourceSubscriptions)throw Error(`Server '${this.name}' does not support resource subscriptions`);await X.subscribeResource({uri:Q})}async unsubscribeResource(Q){let X=this.getConnectedClient();if(!this.capabilities?.resourceSubscriptions)throw Error(`Server '${this.name}' does not support resource subscriptions`);await X.unsubscribeResource({uri:Q})}supportsResourceSubscriptions(){return this.capabilities?.resourceSubscriptions===!0}async listPrompts(){let Q=this.getConnectedClient();if(!this.capabilities?.prompts)return[];return(await Q.listPrompts()).prompts}async getPrompt(Q,X={}){return await this.getConnectedClient().getPrompt({name:Q,arguments:X})}async createTransport(){let Q;if(this.env){Q={};for(let[Y,W]of Object.entries(process.env))if(W!==void 0)Q[Y]=W;Object.assign(Q,this.env)}this.transport=new $G({command:this.command,args:this.args,env:Q,cwd:this.cwd,stderr:"pipe"}),this.client=new F8({name:"emceepee",version:"0.1.0"},{capabilities:{sampling:{},elicitation:{form:{}}}}),this.setupNotificationHandler(),this.transport.onclose=()=>{if(!this.isClosing)this.handleProcessExit()},this.transport.onerror=(Y)=>{if(this.isClosing||this.status==="disconnected")return;this.errorMessage=Y.message,this.handleProcessExit()},await this.client.connect(this.transport),this.setupStderrCapture();let X=this.client.getServerCapabilities();this.capabilities={tools:X?.tools!==void 0,resources:X?.resources!==void 0,prompts:X?.prompts!==void 0,resourceTemplates:X?.resources!==void 0,resourceSubscriptions:X?.resources?.subscribe===!0}}setupStderrCapture(){if(!this.transport)return;let Q=this.transport._process;if(Q?.stderr)Q.stderr.on("data",(X)=>{let Y=X.toString().split(`
54
+ `).filter((W)=>W.length>0);for(let W of Y){if(this.stderrBuffer.push(W),this.stderrBuffer.length>this.maxStderrLines)this.stderrBuffer.shift();if(this.onLog)this.onLog({server:this.name,timestamp:new Date,level:"warning",source:"stderr",data:W})}})}handleProcessExit(Q,X){if(this.isRestarting||this.isClosing)return;if(this.emitLifecycleEvent({event:"process_crashed",timestamp:new Date,exitCode:Q,signal:X}),this.client=null,this.transport=null,this.restartConfig.enabled)this.isRestarting=!0,this.restartAttempt=0,this.setStatus("reconnecting",this.errorMessage),this.scheduleRestart();else this.setStatus("error",`Process exited with code ${Q!==void 0?String(Q):"unknown"}`)}scheduleRestart(){if(this.isClosing)return;if(this.restartAttempt++,this.restartAttempt>this.restartConfig.maxAttempts){this.isRestarting=!1,this.setStatus("error","Max restart attempts exceeded"),this.emitLifecycleEvent({event:"restart_failed",timestamp:new Date,attempt:this.restartAttempt-1,error:"Max restart attempts exceeded"});return}let Q=this.calculateBackoff(this.restartAttempt);this.nextRetryMs=Q,this.emitLifecycleEvent({event:"restarting",timestamp:new Date,attempt:this.restartAttempt,nextRetryMs:Q}),this.restartTimeoutHandle=setTimeout(()=>{this.attemptRestart()},Q)}async attemptRestart(){if(this.isClosing)return;try{await this.createTransport();let Q=this.restartAttempt;this.restartAttempt=0,this.nextRetryMs=0,this.isRestarting=!1,this.setStatus("connected"),this.emitLifecycleEvent({event:"restarted",timestamp:new Date,attempt:Q})}catch(Q){this.client=null,this.transport=null,this.errorMessage=Q instanceof Error?Q.message:String(Q),this.scheduleRestart()}}calculateBackoff(Q){let X=this.restartConfig.baseDelayMs*Math.pow(this.restartConfig.backoffMultiplier,Q-1);return Math.min(X,this.restartConfig.maxDelayMs)}setupNotificationHandler(){if(!this.client)return;this.client.setNotificationHandler(Q9,()=>{this.emitNotification("notifications/tools/list_changed")}),this.client.setNotificationHandler(s6,()=>{this.emitNotification("notifications/resources/list_changed")}),this.client.setNotificationHandler(r8,(Q)=>{this.emitNotification("notifications/resources/updated",Q.params)}),this.client.setNotificationHandler(e6,()=>{this.emitNotification("notifications/prompts/list_changed")}),this.client.setNotificationHandler(a8,(Q)=>{if(this.onLog)this.onLog({server:this.name,timestamp:new Date,level:Q.params.level,logger:Q.params.logger,data:Q.params.data,source:"protocol"})}),this.client.setRequestHandler(X9,(Q)=>{return new Promise((X,Y)=>{if(this.onSamplingRequest)this.onSamplingRequest({id:crypto.randomUUID(),server:this.name,timestamp:new Date,params:Q.params,resolve:X,reject:Y});else Y(Error("Sampling not supported: no handler registered"))})}),this.client.setRequestHandler(Y9,(Q)=>{return new Promise((X,Y)=>{if(this.onElicitationRequest)this.onElicitationRequest({id:crypto.randomUUID(),server:this.name,timestamp:new Date,params:Q.params,resolve:X,reject:Y});else Y(Error("Elicitation not supported: no handler registered"))})})}emitNotification(Q,X){if(this.onNotification!==void 0)this.onNotification({server:this.name,timestamp:new Date,method:Q,params:X})}emitLifecycleEvent(Q){if(this.onLifecycleEvent)this.onLifecycleEvent(Q)}setStatus(Q,X){if(this.status=Q,Q==="error"&&X!==void 0)this.errorMessage=X;else this.errorMessage=void 0;if(this.onStatusChange!==void 0)this.onStatusChange(Q,X)}getConnectedClient(){if(!this.isConnected()||!this.client)throw Error(`Client '${this.name}' is not connected`);return this.client}}var Jh={sessionTimeoutMs:86400000,cleanupIntervalMs:300000};class GG{sessions=new Map;serverConfigs;config;logger;cleanupIntervalHandle=null;constructor(Q={}){this.config={...Jh,...Q},this.logger=Q.logger;let X={logger:Q.logger};this.serverConfigs=new SJ(X),this.startCleanupInterval()}async createSession(){let Q=f1(),X=new _J(Q,this.config.sessionStateConfig,this.logger);this.sessions.set(Q,X),this.logger?.info("session_created",{sessionId:Q});let Y=this.serverConfigs.listConfigs();for(let W of Y)try{await this.connectSessionToServer(X,W)}catch($){this.logger?.warn("session_auto_connect_failed",{sessionId:Q,server:W.name,error:$ instanceof Error?$.message:String($)})}return X}getSession(Q){return this.sessions.get(Q)}touchSession(Q){this.sessions.get(Q)?.touch()}async destroySession(Q){let X=this.sessions.get(Q);if(!X)return;this.logger?.info("session_destroying",{sessionId:Q}),await X.cleanup(),this.sessions.delete(Q),this.logger?.info("session_destroyed",{sessionId:Q})}async addServer(Q,X,Y){let W=this.sessions.get(Q);if(!W)throw Error(`Session '${Q}' not found`);let $=this.serverConfigs.addConfig(X,Y,Q),J=this.serverConfigs.getConfig(X);if(!J)throw Error(`Failed to add server config for '${X}'`);let G=await this.connectSessionToServer(W,J);if($){for(let[H,B]of this.sessions)if(H!==Q)B.eventSystem.addEvent("server_added",X,{name:X,url:Y,addedBy:Q})}return G}async addStdioServer(Q,X,Y,W,$){let J=this.sessions.get(Q);if(!J)throw Error(`Session '${Q}' not found`);let G=this.serverConfigs.addStdioConfig(X,Y,W,$,Q),H=this.serverConfigs.getConfig(X);if(!H)throw Error(`Failed to add server config for '${X}'`);let B=await this.connectSessionToServer(J,H);if(G){for(let[z,K]of this.sessions)if(z!==Q)K.eventSystem.addEvent("server_added",X,{name:X,type:"stdio",command:Y,args:W,addedBy:Q})}return B}async removeServer(Q,X){if(this.logger?.debug("removeServer_start",{sessionId:Q,serverName:X}),!this.serverConfigs.removeConfig(X))throw this.logger?.debug("removeServer_not_found",{sessionId:Q,serverName:X}),Error(`Server '${X}' not found`);for(let[W,$]of this.sessions)this.logger?.debug("removeServer_disconnecting_session",{sessionId:W,serverName:X,hasConnection:$.getConnection(X)!==void 0}),await this.disconnectSessionFromServer($,X),$.eventSystem.addEvent("server_removed",X,{name:X,removedBy:Q});this.logger?.debug("removeServer_complete",{sessionId:Q,serverName:X})}listServers(Q){let X=this.sessions.get(Q);return this.serverConfigs.listConfigs().map((W)=>{let $=X?.getConnection(W.name),J;if(RJ(W))J=W.url;else if(EJ(W))J=`stdio://${W.command}`;else J="unknown";let G={name:W.name,url:J,connected:$?.status==="connected",status:$?.status??"not_connected",connectedAt:$?.connectedAt,lastError:$?.lastError};if($?.status==="reconnecting"){let H=$.client.getReconnectionState();if(H)G.reconnectAttempt=H.attempt,G.nextRetryMs=H.nextRetryMs}if($?.status==="connected"){G.healthStatus=$.client.getHealthStatus();let H=$.client.getConsecutiveHealthFailures();if(H>0)G.consecutiveHealthFailures=H}return G})}async reconnectServer(Q,X){let Y=this.sessions.get(Q);if(!Y)throw Error(`Session '${Q}' not found`);let W=this.serverConfigs.getConfig(X);if(!W)throw Error(`Server '${X}' not found`);let $=Y.getConnection(X);if(!$){await this.connectSessionToServer(Y,W);return}this.handleBackendDisconnect(Y,X),await $.client.forceReconnect(),Y.setConnectionStatus(X,"connected"),Y.eventSystem.addEvent("server_reconnected",X,{name:X,attemptsTaken:0,forced:!0}),this.logger?.info("session_server_force_reconnected",{sessionId:Y.sessionId,server:X})}async getOrCreateConnection(Q,X){let Y=this.sessions.get(Q);if(!Y)throw Error(`Session '${Q}' not found`);let W=Y.getConnection(X);if(W?.status==="connected")return W.client;let $=this.serverConfigs.getConfig(X);if(!$)throw Error(`Server '${X}' not found`);return(await this.connectSessionToServer(Y,$)).client}getConnectedClient(Q,X){let Y=this.sessions.get(Q);if(!Y)return;let W=Y.getConnection(X);if(W?.status==="connected")return W.client;return}async connectSessionToServer(Q,X){let Y=Q.backendConnections.get(X.name);if(Y?.status==="connected")return Y;if(Y?.status==="connecting")throw Error(`Already connecting to '${X.name}'`);let W;if(RJ(X))W=this.createHttpClient(Q,X);else if(EJ(X))W=this.createStdioClient(Q,X);else throw Error(`Unknown server config type for '${X.name}'`);Q.addConnection(X.name,W);try{await W.connect(),Q.setConnectionStatus(X.name,"connected"),Q.eventSystem.addEvent("server_connected",X.name,{name:X.name,capabilities:W.getInfo().capabilities}),this.logger?.info("session_server_connected",{sessionId:Q.sessionId,server:X.name});let $=Q.getConnection(X.name);if(!$)throw Error("Connection not found after connect");return $}catch($){let J=$ instanceof Error?$.message:String($);throw Q.setConnectionStatus(X.name,"error",J),this.logger?.warn("session_server_connect_failed",{sessionId:Q.sessionId,server:X.name,error:J}),$}}createHttpClient(Q,X){return new oJ({name:X.name,url:X.url,onStatusChange:(Y,W)=>{Q.setConnectionStatus(X.name,Y,W)},onNotification:(Y)=>{Q.bufferManager.addNotification(Y)},onLog:(Y)=>{Q.bufferManager.addLog(Y)},onSamplingRequest:(Y)=>{Q.pendingRequests.addSamplingRequest(Y.server,Y.params,Y.resolve,Y.reject)},onElicitationRequest:(Y)=>{Q.pendingRequests.addElicitationRequest(Y.server,Y.params,Y.resolve,Y.reject)},onReconnecting:(Y,W)=>{if(Y===1)this.handleBackendDisconnect(Q,X.name);Q.eventSystem.addEvent("server_reconnecting",X.name,{name:X.name,attempt:Y,nextRetryMs:W}),this.logger?.debug("session_server_reconnecting",{sessionId:Q.sessionId,server:X.name,attempt:Y,nextRetryMs:W})},onReconnected:(Y)=>{Q.setConnectionStatus(X.name,"connected"),Q.eventSystem.addEvent("server_reconnected",X.name,{name:X.name,attemptsTaken:Y}),this.logger?.info("session_server_reconnected",{sessionId:Q.sessionId,server:X.name,attemptsTaken:Y})},onHealthDegraded:(Y,W)=>{Q.eventSystem.addEvent("server_health_degraded",X.name,{name:X.name,consecutiveFailures:Y,lastError:W}),this.logger?.warn("session_server_health_degraded",{sessionId:Q.sessionId,server:X.name,consecutiveFailures:Y,lastError:W})},onHealthRestored:()=>{Q.eventSystem.addEvent("server_health_restored",X.name,{name:X.name}),this.logger?.info("session_server_health_restored",{sessionId:Q.sessionId,server:X.name})}})}createStdioClient(Q,X){return new JG({name:X.name,command:X.command,args:X.args,env:X.env,cwd:X.cwd,restartConfig:X.restartConfig,onStatusChange:(Y,W)=>{Q.setConnectionStatus(X.name,Y,W)},onNotification:(Y)=>{Q.bufferManager.addNotification(Y)},onLog:(Y)=>{Q.bufferManager.addLog({server:Y.server,timestamp:Y.timestamp,level:Y.level,logger:Y.logger,data:Y.data})},onSamplingRequest:(Y)=>{Q.pendingRequests.addSamplingRequest(Y.server,Y.params,Y.resolve,Y.reject)},onElicitationRequest:(Y)=>{Q.pendingRequests.addElicitationRequest(Y.server,Y.params,Y.resolve,Y.reject)},onLifecycleEvent:(Y)=>{switch(Y.event){case"process_started":this.logger?.info("session_stdio_process_started",{sessionId:Q.sessionId,server:X.name});break;case"process_crashed":this.handleBackendDisconnect(Q,X.name),Q.eventSystem.addEvent("server_process_crashed",X.name,{name:X.name,exitCode:Y.exitCode,signal:Y.signal}),this.logger?.warn("session_stdio_process_crashed",{sessionId:Q.sessionId,server:X.name,exitCode:Y.exitCode,signal:Y.signal});break;case"restarting":Q.eventSystem.addEvent("server_reconnecting",X.name,{name:X.name,attempt:Y.attempt,nextRetryMs:Y.nextRetryMs}),this.logger?.debug("session_stdio_restarting",{sessionId:Q.sessionId,server:X.name,attempt:Y.attempt,nextRetryMs:Y.nextRetryMs});break;case"restarted":Q.setConnectionStatus(X.name,"connected"),Q.eventSystem.addEvent("server_reconnected",X.name,{name:X.name,attemptsTaken:Y.attempt}),this.logger?.info("session_stdio_restarted",{sessionId:Q.sessionId,server:X.name,attemptsTaken:Y.attempt});break;case"restart_failed":Q.setConnectionStatus(X.name,"error",Y.error),Q.eventSystem.addEvent("server_restart_failed",X.name,{name:X.name,error:Y.error}),this.logger?.error("session_stdio_restart_failed",{sessionId:Q.sessionId,server:X.name,error:Y.error});break;case"process_stopped":this.logger?.info("session_stdio_process_stopped",{sessionId:Q.sessionId,server:X.name});break}}})}async disconnectSessionFromServer(Q,X){let Y=Q.getConnection(X);if(!Y){this.logger?.debug("disconnectSessionFromServer_no_connection",{sessionId:Q.sessionId,serverName:X});return}this.logger?.debug("disconnectSessionFromServer_start",{sessionId:Q.sessionId,serverName:X,connectionStatus:Y.status});let W=Q.taskManager.getTasksForServer(X);for(let $ of W)if($.status==="working")Q.taskManager.failTask($.taskId,"Server removed");Q.pendingRequests.rejectRequestsForServer(X,"Server removed");try{this.logger?.debug("disconnectSessionFromServer_calling_disconnect",{sessionId:Q.sessionId,serverName:X}),await Y.client.disconnect(),this.logger?.debug("disconnectSessionFromServer_disconnect_complete",{sessionId:Q.sessionId,serverName:X})}catch($){this.logger?.debug("disconnectSessionFromServer_disconnect_error",{sessionId:Q.sessionId,serverName:X,error:$ instanceof Error?$.message:String($)})}Q.removeConnection(X),this.logger?.debug("disconnectSessionFromServer_complete",{sessionId:Q.sessionId,serverName:X})}handleBackendDisconnect(Q,X){let Y=Q.taskManager.getTasksForServer(X);for(let W of Y)if(W.status==="working")Q.taskManager.failTask(W.taskId,"Server disconnected");Q.pendingRequests.rejectRequestsForServer(X,"Server disconnected"),Q.eventSystem.addEvent("server_disconnected",X,{name:X}),this.logger?.info("session_server_disconnected",{sessionId:Q.sessionId,server:X})}startCleanupInterval(){this.cleanupIntervalHandle=setInterval(()=>{this.runSessionCleanup()},this.config.cleanupIntervalMs)}runSessionCleanup(){let Q=Date.now(),X=[];for(let[Y,W]of this.sessions)if(Q-W.lastActivityAt.getTime()>=this.config.sessionTimeoutMs)X.push(Y);for(let Y of X)this.logger?.info("session_timeout_cleanup",{sessionId:Y}),this.destroySession(Y)}async shutdown(){if(this.logger?.info("session_manager_shutdown_start",{sessionCount:this.sessions.size}),this.cleanupIntervalHandle)clearInterval(this.cleanupIntervalHandle),this.cleanupIntervalHandle=null;for(let Q of Array.from(this.sessions.keys()))await this.destroySession(Q);this.logger?.info("session_manager_shutdown_complete",{})}getServerConfigs(){return this.serverConfigs}listSessionIds(){return Array.from(this.sessions.keys())}get sessionCount(){return this.sessions.size}}function HG(Q){return"url"in Q&&!(("type"in Q)&&Q.type==="stdio")}function BG(Q){return"type"in Q}var VU={debug:0,info:1,warn:2,error:3};function FU(){let Q=()=>{};return{debug:Q,info:Q,warn:Q,error:Q}}function AU(Q="info",X){let Y=VU[Q],W=K1("fs"),$=(J,G,H)=>{if(VU[J]<Y)return;let B=new Date().toISOString(),z=H?` ${JSON.stringify(H)}`:"",K=`[${B}] ${J.toUpperCase()} ${G}${z}
54
55
  `;try{W.appendFileSync(X,K)}catch(V){process.stderr.write(`Failed to write to log file: ${String(V)}
55
- `),process.stderr.write(K)}};return{debug:(J,G)=>{$("debug",J,G)},info:(J,G)=>{$("info",J,G)},warn:(J,G)=>{$("warn",J,G)},error:(J,G)=>{$("error",J,G)}}}function Ug(Q,X){return{start:async()=>{return X.debug("transport_start",{}),Q.start()},send:async(W,$)=>{return X.debug("transport_send",{message:JSON.stringify(W),hasRelatedRequestId:$?.relatedRequestId!==void 0}),Q.send(W,$)},close:async()=>{return X.debug("transport_close",{}),Q.close()},get sessionId(){return Q.sessionId},set onclose(W){Q.onclose=W?()=>{X.debug("transport_onclose",{}),W()}:void 0},get onclose(){return Q.onclose},set onerror(W){Q.onerror=W?($)=>{X.debug("transport_onerror",{error:$.message}),W($)}:void 0},get onerror(){return Q.onerror},set onmessage(W){Q.onmessage=W?($)=>{X.debug("transport_onmessage",{message:JSON.stringify($)}),W($)}:void 0},get onmessage(){return Q.onmessage},setProtocolVersion:Q.setProtocolVersion?.bind(Q)}}function jg(){let Q=process.argv.slice(2),X,Y="info",W;for(let $=0;$<Q.length;$++){let J=Q[$];if(J==="--config"&&Q[$+1])X=Q[$+1],$++;else if(J?.startsWith("--config="))X=J.slice(9);else if(J==="--log-level"&&Q[$+1])Y=Q[$+1],$++;else if(J?.startsWith("--log-level="))Y=J.slice(12);else if(J==="--log-file"&&Q[$+1])W=Q[$+1],$++;else if(J?.startsWith("--log-file="))W=J.slice(11)}return{configPath:X,logLevel:Y,logFile:W}}function wg(Q){let X=Og(Q,"utf-8");return JSON.parse(X)}function Mg(Q){return JSON.parse(Q)}function M0(Q){return Q}function GO(Q){let X=Q.pendingRequests.getPendingSamplingRequests().length,Y=Q.pendingRequests.getPendingElicitationRequests().length,W=Q.timerManager.getAndClearExpired(),$=Q.bufferManager.getAndClearNotifications(),J=X>0||Y>0,G=W.length>0,H=$.length>0;if(!J&&!G&&!H)return null;let B={};if(J)B.pending_client={sampling:X,elicitation:Y};if(G)B.expired_timers=W;if(H)B.notifications=$.map((z)=>({server:z.server,method:z.method,timestamp:z.timestamp.toISOString(),params:z.params}));return B}function HO(Q,X){if(!X)return Q;let Y=GO(X);if(!Y)return Q;return{...Q,content:[...Q.content,{type:"text",text:JSON.stringify(Y)}]}}function n(Q){return{content:[{type:"text",text:Q}],isError:!0}}function m0(Q,X){return HO({content:[{type:"text",text:Q}]},X)}function S0(Q,X){let Y={content:[{type:"text",text:JSON.stringify(Q,null,2)}]};return HO(Y,X)}function Ng(Q,X,Y){Q.registerTool("add_server",{description:"Connect to a backend MCP server. The server will be added to the shared configuration and this session will connect to it.",inputSchema:{name:h.string().describe("Unique name for this server"),url:h.string().url().describe("HTTP URL of the MCP server endpoint")}},async({name:W,url:$})=>{let J=M0(Y());if(!J)return n("Session not initialized");try{let H=(await X.addServer(J.sessionId,W,$)).client.getInfo().capabilities;return m0(`Connected to server '${W}' at ${$}
56
- Capabilities: ${JSON.stringify(H)}`,J)}catch(G){let H=G instanceof Error?G.message:String(G);return n(`Failed to add server: ${H}`)}}),Q.registerTool("remove_server",{description:"Disconnect from a backend MCP server and remove it from the configuration. This disconnects ALL sessions from the server.",inputSchema:{name:h.string().describe("Name of the server to remove")}},async({name:W})=>{let $=M0(Y());if(!$)return n("Session not initialized");try{return await X.removeServer($.sessionId,W),m0(`Disconnected from server '${W}'`,$)}catch(J){let G=J instanceof Error?J.message:String(J);return n(`Failed to remove server: ${G}`)}}),Q.registerTool("list_servers",{description:"List all configured backend MCP servers with their connection status for this session",inputSchema:{}},()=>{let W=M0(Y());if(!W)return n("Session not initialized");let $=X.listServers(W.sessionId);if($.length===0)return m0("No servers configured",W);let J=$.map((G)=>({name:G.name,url:G.url,status:G.status,connected:G.connected,connectedAt:G.connectedAt?.toISOString(),lastError:G.lastError}));return S0(J,W)}),Q.registerTool("list_tools",{description:"List tools available from backend servers",inputSchema:{server:h.string().default(".*").describe("Regex pattern to match server names (default: .*)"),tool:h.string().default(".*").describe("Regex pattern to match tool names (default: .*)")}},async({server:W,tool:$})=>{let J=M0(Y());if(!J)return n("Session not initialized");try{let G=new RegExp(W),H=new RegExp($),B=[];for(let z of J.listConnectedServers()){if(!G.test(z))continue;let K=J.getConnection(z);if(K?.status!=="connected")continue;try{let V=await K.client.listTools();for(let D of V)if(H.test(D.name))B.push({server:z,name:D.name,description:D.description,inputSchema:D.inputSchema})}catch{}}if(B.length===0)return m0("No tools available",J);return S0(B,J)}catch(G){let H=G instanceof Error?G.message:String(G);return n(`Failed to list tools: ${H}`)}}),Q.registerTool("execute_tool",{description:"Execute a tool on a specific backend server",inputSchema:{server:h.string().describe("Name of the backend server"),tool:h.string().describe("Name of the tool to execute"),args:h.record(h.unknown()).optional().describe("Arguments to pass to the tool")}},async({server:W,tool:$,args:J})=>{let G=M0(Y());if(!G)return n("Session not initialized");try{let B=await(await X.getOrCreateConnection(G.sessionId,W)).callTool($,J??{}),z=GO(G);if(z)return{content:[...B.content,{type:"text",text:JSON.stringify(z)}],isError:B.isError};return{content:B.content,isError:B.isError}}catch(H){let B=H instanceof Error?H.message:String(H);return n(`Failed to execute tool: ${B}`)}}),Q.registerTool("list_resources",{description:"List resources available from backend servers",inputSchema:{server:h.string().optional().describe("Server name to filter by (omit for all servers)")}},async({server:W})=>{let $=M0(Y());if(!$)return n("Session not initialized");try{let J=[],G=W?[W]:$.listConnectedServers();for(let H of G){let B=$.getConnection(H);if(B?.status!=="connected")continue;try{let z=await B.client.listResources();for(let K of z)J.push({server:H,uri:K.uri,name:K.name,description:K.description,mimeType:K.mimeType})}catch{}}if(J.length===0)return m0("No resources available",$);return S0(J,$)}catch(J){let G=J instanceof Error?J.message:String(J);return n(`Failed to list resources: ${G}`)}}),Q.registerTool("list_resource_templates",{description:"List resource templates available from backend servers. Templates define parameterized resources that can be read with specific arguments.",inputSchema:{server:h.string().optional().describe("Server name to filter by (omit for all servers)")}},async({server:W})=>{let $=M0(Y());if(!$)return n("Session not initialized");try{let J=[],G=W?[W]:$.listConnectedServers();for(let H of G){let B=$.getConnection(H);if(B?.status!=="connected")continue;try{let z=await B.client.listResourceTemplates();for(let K of z)J.push({server:H,uriTemplate:K.uriTemplate,name:K.name,description:K.description,mimeType:K.mimeType})}catch{}}if(J.length===0)return m0("No resource templates available",$);return S0(J,$)}catch(J){let G=J instanceof Error?J.message:String(J);return n(`Failed to list resource templates: ${G}`)}}),Q.registerTool("read_resource",{description:"Read a specific resource from a backend server",inputSchema:{server:h.string().describe("Name of the backend server"),uri:h.string().describe("URI of the resource to read")}},async({server:W,uri:$})=>{let J=M0(Y());if(!J)return n("Session not initialized");try{let B=(await(await X.getOrCreateConnection(J.sessionId,W)).readResource($)).contents.map((z)=>{if("text"in z&&typeof z.text==="string")return{uri:z.uri,mimeType:z.mimeType,text:z.text};else if("blob"in z&&typeof z.blob==="string")return{uri:z.uri,mimeType:z.mimeType,blob:`[base64 data, ${String(z.blob.length)} chars]`};return z});return S0({contents:B},J)}catch(G){let H=G instanceof Error?G.message:String(G);return n(`Failed to read resource: ${H}`)}}),Q.registerTool("list_prompts",{description:"List prompts available from backend servers",inputSchema:{server:h.string().optional().describe("Server name to filter by (omit for all servers)")}},async({server:W})=>{let $=M0(Y());if(!$)return n("Session not initialized");try{let J=[],G=W?[W]:$.listConnectedServers();for(let H of G){let B=$.getConnection(H);if(B?.status!=="connected")continue;try{let z=await B.client.listPrompts();for(let K of z)J.push({server:H,name:K.name,description:K.description,arguments:K.arguments})}catch{}}if(J.length===0)return m0("No prompts available",$);return S0(J,$)}catch(J){let G=J instanceof Error?J.message:String(J);return n(`Failed to list prompts: ${G}`)}}),Q.registerTool("get_prompt",{description:"Get a specific prompt from a backend server",inputSchema:{server:h.string().describe("Name of the backend server"),name:h.string().describe("Name of the prompt to get"),arguments:h.record(h.string()).optional().describe("Arguments to pass to the prompt")}},async({server:W,name:$,arguments:J})=>{let G=M0(Y());if(!G)return n("Session not initialized");try{let B=await(await X.getOrCreateConnection(G.sessionId,W)).getPrompt($,J??{});return S0(B,G)}catch(H){let B=H instanceof Error?H.message:String(H);return n(`Failed to get prompt: ${B}`)}}),Q.registerTool("get_notifications",{description:"Get and clear buffered notifications from backend servers for this session",inputSchema:{}},()=>{let W=M0(Y());if(!W)return n("Session not initialized");let $=W.bufferManager.getAndClearNotifications();if($.length===0)return m0("No notifications",W);let J=$.map((G)=>({server:G.server,method:G.method,timestamp:G.timestamp.toISOString(),params:G.params}));return S0(J,W)}),Q.registerTool("get_logs",{description:"Get and clear buffered log messages from backend servers. Returns logs from all sources (protocol logs, stderr, stdout) with source indication. Use exclude_sources to filter out specific sources.",inputSchema:{server:h.string().optional().describe("Filter logs by server name"),exclude_sources:h.array(h.enum(["protocol","stderr","stdout"])).optional().describe("Sources to exclude (e.g., ['stderr', 'stdout'] for protocol logs only)"),limit:h.number().optional().default(100).describe("Maximum number of logs to return")}},(W)=>{let{server:$,exclude_sources:J,limit:G=100}=W,H=M0(Y());if(!H)return n("Session not initialized");let B=H.bufferManager.getAndClearLogs();if($)B=B.filter((K)=>K.server===$);if(J&&J.length>0)B=B.filter((K)=>!J.includes(K.source));if(B=B.slice(-G),B.length===0)return m0("No log messages",H);let z=B.map((K)=>({server:K.server,source:K.source,level:K.level,logger:K.logger,timestamp:K.timestamp.toISOString(),data:K.data}));return S0(z,H)}),Q.registerTool("get_sampling_requests",{description:"Get pending sampling requests from backend servers that need LLM responses. These are requests from MCP servers asking for LLM completions.",inputSchema:{}},()=>{let W=M0(Y());if(!W)return n("Session not initialized");let $=W.pendingRequests.getPendingSamplingRequests();if($.length===0)return m0("No pending sampling requests",W);let J=$.map((G)=>({requestId:G.requestId,server:G.server,timestamp:G.timestamp.toISOString(),maxTokens:G.params.maxTokens,systemPrompt:G.params.systemPrompt,temperature:G.params.temperature,messages:G.params.messages,modelPreferences:G.params.modelPreferences,tools:G.params.tools?.map((H)=>({name:H.name,description:H.description}))}));return S0(J,W)}),Q.registerTool("respond_to_sampling",{description:"Respond to a pending sampling request with an LLM result",inputSchema:{request_id:h.string().describe("The ID of the sampling request to respond to"),role:h.enum(["user","assistant"]).describe("The role of the message"),content:h.string().describe("The text content of the response"),model:h.string().describe("The model that generated the response"),stop_reason:h.enum(["endTurn","maxTokens","stopSequence","toolUse"]).optional().describe("Why the model stopped generating")}},({request_id:W,role:$,content:J,model:G,stop_reason:H})=>{let B=M0(Y());if(!B)return n("Session not initialized");try{return B.pendingRequests.respondToSampling(W,{role:$,content:{type:"text",text:J},model:G,stopReason:H}),m0(`Responded to sampling request '${W}'`,B)}catch(z){let K=z instanceof Error?z.message:String(z);return n(`Failed to respond: ${K}`)}}),Q.registerTool("get_elicitations",{description:"Get pending elicitation requests from backend servers that need user input. These are requests from MCP servers asking for form data or user confirmation.",inputSchema:{}},()=>{let W=M0(Y());if(!W)return n("Session not initialized");let $=W.pendingRequests.getPendingElicitationRequests();if($.length===0)return m0("No pending elicitation requests",W);let J=$.map((G)=>({requestId:G.requestId,server:G.server,timestamp:G.timestamp.toISOString(),mode:"mode"in G.params?G.params.mode:"form",message:G.params.message,requestedSchema:"requestedSchema"in G.params?G.params.requestedSchema:void 0,elicitationId:"elicitationId"in G.params?G.params.elicitationId:void 0,url:"url"in G.params?G.params.url:void 0}));return S0(J,W)}),Q.registerTool("respond_to_elicitation",{description:"Respond to a pending elicitation request with user input",inputSchema:{request_id:h.string().describe("The ID of the elicitation request to respond to"),action:h.enum(["accept","decline","cancel"]).describe("The user's action: accept (with content), decline, or cancel"),content:h.record(h.union([h.string(),h.number(),h.boolean(),h.array(h.string())])).optional().describe("The form field values (required if action is 'accept' for form mode)")}},({request_id:W,action:$,content:J})=>{let G=M0(Y());if(!G)return n("Session not initialized");try{return G.pendingRequests.respondToElicitation(W,{action:$,content:J}),m0(`Responded to elicitation request '${W}' with action '${$}'`,G)}catch(H){let B=H instanceof Error?H.message:String(H);return n(`Failed to respond: ${B}`)}}),Q.registerTool("await_activity",{description:"Wait for activity (events, pending requests) or timeout. Use this to poll for changes efficiently instead of repeatedly calling get_* tools.",inputSchema:{timeout_ms:h.number().min(100).max(900000).default(30000).describe("Maximum time to wait in milliseconds (100-900000, default: 30000)"),last_event_id:h.string().optional().describe("Only return events after this ID (for pagination/continuation)")}},async({timeout_ms:W,last_event_id:$})=>{let J=M0(Y());if(!J)return n("Session not initialized");let G=$?J.eventSystem.getEventsAfter($):J.eventSystem.getNewEvents();if(G.length>0)return S0({triggered_by:"existing_events",events:G.map((B)=>({id:B.id,type:B.type,server:B.server,createdAt:B.createdAt.toISOString(),data:B.data})),pending_server:{tasks:J.taskManager.getAllTasks().map((B)=>({taskId:B.taskId,server:B.server,toolName:B.toolName,status:B.status}))},pending_client:{sampling:J.pendingRequests.getPendingSamplingRequests().length,elicitation:J.pendingRequests.getPendingElicitationRequests().length}},J);let H=await J.eventSystem.waitForActivity(W);if(H){let B=J.eventSystem.getNewEvents();return S0({triggered_by:H.type,events:B.map((z)=>({id:z.id,type:z.type,server:z.server,createdAt:z.createdAt.toISOString(),data:z.data})),pending_server:{tasks:J.taskManager.getAllTasks().map((z)=>({taskId:z.taskId,server:z.server,toolName:z.toolName,status:z.status}))},pending_client:{sampling:J.pendingRequests.getPendingSamplingRequests().length,elicitation:J.pendingRequests.getPendingElicitationRequests().length}},J)}return S0({triggered_by:"timeout",events:[],pending_server:{tasks:J.taskManager.getAllTasks().map((B)=>({taskId:B.taskId,server:B.server,toolName:B.toolName,status:B.status}))},pending_client:{sampling:J.pendingRequests.getPendingSamplingRequests().length,elicitation:J.pendingRequests.getPendingElicitationRequests().length}},J)}),Q.registerTool("list_tasks",{description:"List proxy tasks (background tool executions that exceeded timeout)",inputSchema:{include_completed:h.boolean().default(!1).describe("Include completed/failed/cancelled tasks (default: false, only working tasks)"),server:h.string().optional().describe("Filter by server name")}},({include_completed:W,server:$})=>{let J=M0(Y());if(!J)return n("Session not initialized");let G=J.taskManager.getAllTasks(W);if($)G=G.filter((B)=>B.server===$);if(G.length===0)return m0("No tasks",J);let H=G.map((B)=>({taskId:B.taskId,server:B.server,toolName:B.toolName,status:B.status,createdAt:B.createdAt.toISOString(),lastUpdatedAt:B.lastUpdatedAt.toISOString(),error:B.error,hasResult:B.result!==void 0}));return S0(H,J)}),Q.registerTool("get_task",{description:"Get details of a specific task including its result if completed",inputSchema:{task_id:h.string().describe("The task ID to retrieve")}},({task_id:W})=>{let $=M0(Y());if(!$)return n("Session not initialized");let J=$.taskManager.getTask(W);if(!J)return n(`Task '${W}' not found`);return S0({taskId:J.taskId,server:J.server,toolName:J.toolName,args:J.args,status:J.status,createdAt:J.createdAt.toISOString(),lastUpdatedAt:J.lastUpdatedAt.toISOString(),ttl:J.ttl,error:J.error,result:J.result},$)}),Q.registerTool("cancel_task",{description:"Cancel a working task",inputSchema:{task_id:h.string().describe("The task ID to cancel")}},({task_id:W})=>{let $=M0(Y());if(!$)return n("Session not initialized");if($.taskManager.cancelTask(W))return m0(`Task '${W}' cancelled`,$);else return n(`Task '${W}' not found or not in working state`)}),Q.registerTool("set_timer",{description:"Set a timer that will fire after a specified duration. When the timer expires, you'll receive a notification in the context info of subsequent tool responses, and it will also appear as a timer_expired event in await_activity.",inputSchema:{duration_ms:h.number().min(1).max(86400000).describe("Duration in milliseconds until the timer fires (max 24 hours)"),message:h.string().min(1).max(500).describe("Message to include in the notification when the timer fires")}},({duration_ms:W,message:$})=>{let J=M0(Y());if(!J)return n("Session not initialized");try{let G=J.timerManager.createTimer(W,$);return S0({timerId:G.id,message:G.message,durationMs:G.durationMs,createdAt:G.createdAt.toISOString(),expiresAt:G.expiresAt.toISOString()},J)}catch(G){let H=G instanceof Error?G.message:String(G);return n(`Failed to set timer: ${H}`)}}),Q.registerTool("list_timers",{description:"List all timers for this session",inputSchema:{include_inactive:h.boolean().default(!1).describe("Include expired and deleted timers (default: false, only active timers)")}},({include_inactive:W})=>{let $=M0(Y());if(!$)return n("Session not initialized");let J=$.timerManager.getAllTimers(W);if(J.length===0)return m0("No timers",$);let G=J.map((H)=>({id:H.id,message:H.message,durationMs:H.durationMs,status:H.status,createdAt:H.createdAt.toISOString(),expiresAt:H.expiresAt.toISOString()}));return S0(G,$)}),Q.registerTool("get_timer",{description:"Get details of a specific timer",inputSchema:{timer_id:h.string().describe("The timer ID to retrieve")}},({timer_id:W})=>{let $=M0(Y());if(!$)return n("Session not initialized");let J=$.timerManager.getTimer(W);if(!J)return n(`Timer '${W}' not found`);return S0({id:J.id,message:J.message,durationMs:J.durationMs,status:J.status,createdAt:J.createdAt.toISOString(),expiresAt:J.expiresAt.toISOString()},$)}),Q.registerTool("delete_timer",{description:"Delete a timer. Returns the timer details before deletion.",inputSchema:{timer_id:h.string().describe("The timer ID to delete")}},({timer_id:W})=>{let $=M0(Y());if(!$)return n("Session not initialized");let J=$.timerManager.deleteTimer(W);if(!J)return n(`Timer '${W}' not found`);return S0({deleted:!0,timer:{id:J.id,message:J.message,durationMs:J.durationMs,status:J.status,createdAt:J.createdAt.toISOString(),expiresAt:J.expiresAt.toISOString()}},$)})}async function bg(){let{configPath:Q,logLevel:X,logFile:Y}=jg(),W,$=Y,J=process.env.EMCEEPEE_LOG_DIR;if(!$&&J){let F=await import("fs"),q=await import("path"),A=J.startsWith("~")?q.join(process.env.HOME??"",J.slice(1)):J;try{F.mkdirSync(A,{recursive:!0})}catch{}let L=new Date().toISOString().replace(/[:.]/g,"-");$=q.join(A,`emceepee-${L}-${String(process.pid)}.log`)}if($){let F=Y?X:J?"debug":X;W=JO(F,$),W.info("Logging initialized",{logFile:$,logLevel:F})}else W=$O();W.info("Starting MCP Proxy Server (stdio mode)",{configPath:Q});let G=new mJ({logger:W,sessionTimeoutMs:86400000,cleanupIntervalMs:300000}),H=process.env.EMCEEPEE_CONFIG;if(H)try{let F=Mg(H);W.info("Loading servers from config",{count:F.servers.length,source:"EMCEEPEE_CONFIG env var"});for(let q of F.servers){let A="url"in q?q.url:void 0;if(A)W.info("Adding server config",{name:q.name,url:A}),G.getServerConfigs().addConfig(q.name,A);else W.warn("Skipping non-HTTP server config (stdio not yet supported in config file)",{name:q.name})}}catch(F){W.error("Failed to load config from EMCEEPEE_CONFIG",{error:F instanceof Error?F.message:String(F)}),process.exit(1)}else if(Q)try{let F=wg(Q);W.info("Loading servers from config",{count:F.servers.length,path:Q});for(let q of F.servers){let A="url"in q?q.url:void 0;if(A)W.info("Adding server config",{name:q.name,url:A}),G.getServerConfigs().addConfig(q.name,A);else W.warn("Skipping non-HTTP server config (stdio not yet supported in config file)",{name:q.name})}}catch(F){W.error("Failed to load config",{error:F instanceof Error?F.message:String(F)}),process.exit(1)}let B=new UJ({name:"emceepee",version:"0.2.0"}),z=await G.createSession();W.info("Session created",{sessionId:z.sessionId}),Ng(B,G,()=>z);let K=new wJ,V=$?Ug(K,W):K,D=async()=>{W.info("Shutting down...",{}),await K.close(),await G.shutdown(),process.exit(0)};process.on("SIGINT",()=>void D()),process.on("SIGTERM",()=>void D()),await B.connect(V),W.info("Server started (stdio mode)",{})}bg().catch((Q)=>{console.error("Fatal error:",Q),process.exit(1)});
56
+ `),process.stderr.write(K)}};return{debug:(J,G)=>{$("debug",J,G)},info:(J,G)=>{$("info",J,G)},warn:(J,G)=>{$("warn",J,G)},error:(J,G)=>{$("error",J,G)}}}function Hh(Q,X){return{start:async()=>{return X.debug("transport_start",{}),Q.start()},send:async(W,$)=>{return X.debug("transport_send",{message:JSON.stringify(W),hasRelatedRequestId:$?.relatedRequestId!==void 0}),Q.send(W,$)},close:async()=>{return X.debug("transport_close",{}),Q.close()},get sessionId(){return Q.sessionId},set onclose(W){Q.onclose=W?()=>{X.debug("transport_onclose",{}),W()}:void 0},get onclose(){return Q.onclose},set onerror(W){Q.onerror=W?($)=>{X.debug("transport_onerror",{error:$.message}),W($)}:void 0},get onerror(){return Q.onerror},set onmessage(W){Q.onmessage=W?($)=>{X.debug("transport_onmessage",{message:JSON.stringify($)}),W($)}:void 0},get onmessage(){return Q.onmessage},setProtocolVersion:Q.setProtocolVersion?.bind(Q)}}function Bh(){let Q=process.argv.slice(2),X,Y="info",W;for(let $=0;$<Q.length;$++){let J=Q[$];if(J==="--config"&&Q[$+1])X=Q[$+1],$++;else if(J?.startsWith("--config="))X=J.slice(9);else if(J==="--log-level"&&Q[$+1])Y=Q[$+1],$++;else if(J?.startsWith("--log-level="))Y=J.slice(12);else if(J==="--log-file"&&Q[$+1])W=Q[$+1],$++;else if(J?.startsWith("--log-file="))W=J.slice(11)}return{configPath:X,logLevel:Y,logFile:W}}function zh(Q){let X=Gh(Q,"utf-8");return JSON.parse(X)}function Kh(Q){return JSON.parse(Q)}function N0(Q){return Q}function qU(Q){let X=Q.pendingRequests.getPendingSamplingRequests().length,Y=Q.pendingRequests.getPendingElicitationRequests().length,W=Q.timerManager.getAndClearExpired(),$=Q.bufferManager.getAndClearNotifications(),J=X>0||Y>0,G=W.length>0,H=$.length>0;if(!J&&!G&&!H)return null;let B={};if(J)B.pending_client={sampling:X,elicitation:Y};if(G)B.expired_timers=W;if(H)B.notifications=$.map((z)=>({server:z.server,method:z.method,timestamp:z.timestamp.toISOString(),params:z.params}));return B}function DU(Q,X){if(!X)return Q;let Y=qU(X);if(!Y)return Q;return{...Q,content:[...Q.content,{type:"text",text:JSON.stringify(Y)}]}}function c(Q){return{content:[{type:"text",text:Q}],isError:!0}}function m0(Q,X){return DU({content:[{type:"text",text:Q}]},X)}function S0(Q,X){let Y={content:[{type:"text",text:JSON.stringify(Q,null,2)}]};return DU(Y,X)}function Vh(Q,X,Y){Q.registerTool("add_server",{description:`Connect to a backend MCP server. Supports two transport types:
57
+
58
+ **HTTP Transport**: Provide a \`url\` to connect to a remote HTTP/SSE MCP server.
59
+ Example: add_server(name: "myserver", url: "http://localhost:3001/mcp")
60
+
61
+ **Stdio Transport**: Provide \`command\` (and optionally \`args\`) to spawn a local MCP server process.
62
+ Example: add_server(name: "myserver", command: "npx", args: ["some-mcp-server"])
63
+
64
+ Stdio servers support automatic crash recovery with exponential backoff restart.`,inputSchema:{name:x.string().describe("Unique name for this server"),url:x.string().url().optional().describe("HTTP URL of the MCP server endpoint (for HTTP transport)"),command:x.string().optional().describe("Command to spawn (for stdio transport, e.g., 'node', 'npx', 'python')"),args:x.array(x.string()).optional().describe("Arguments for the command (for stdio transport)"),env:x.record(x.string()).optional().describe("Environment variables for the spawned process (stdio only)"),cwd:x.string().optional().describe("Working directory for the spawned process (stdio only)"),restartConfig:x.object({enabled:x.boolean().optional().describe("Enable automatic restart on crash (default: true)"),maxAttempts:x.number().optional().describe("Maximum restart attempts (default: 5)"),baseDelayMs:x.number().optional().describe("Base delay before restart in ms (default: 1000)"),maxDelayMs:x.number().optional().describe("Maximum delay between restarts in ms (default: 60000)"),backoffMultiplier:x.number().optional().describe("Backoff multiplier (default: 2)")}).optional().describe("Restart configuration for stdio servers")}},async({name:W,url:$,command:J,args:G,env:H,cwd:B,restartConfig:z})=>{let K=N0(Y());if(!K)return c("Session not initialized");if($&&J)return c("Provide either 'url' (for HTTP) or 'command' (for stdio), not both");if(!$&&!J)return c("Must provide either 'url' (for HTTP transport) or 'command' (for stdio transport)");try{let V,q;if($)V=await X.addServer(K.sessionId,W,$),q=$;else if(J)V=await X.addStdioServer(K.sessionId,W,J,G,{env:H,cwd:B,restartConfig:z}),q=`stdio://${J}${G?.length?` ${G.join(" ")}`:""}`;else return c("Internal error: no transport specified");let F=V.client.getInfo().capabilities;return m0(`Connected to server '${W}' at ${q}
65
+ Capabilities: ${JSON.stringify(F)}`,K)}catch(V){let q=V instanceof Error?V.message:String(V);return c(`Failed to add server: ${q}`)}}),Q.registerTool("remove_server",{description:"Disconnect from a backend MCP server and remove it from the configuration. This disconnects ALL sessions from the server.",inputSchema:{name:x.string().describe("Name of the server to remove")}},async({name:W})=>{let $=N0(Y());if(!$)return c("Session not initialized");try{return await X.removeServer($.sessionId,W),m0(`Disconnected from server '${W}'`,$)}catch(J){let G=J instanceof Error?J.message:String(J);return c(`Failed to remove server: ${G}`)}}),Q.registerTool("list_servers",{description:"List all configured backend MCP servers with their connection status for this session",inputSchema:{}},()=>{let W=N0(Y());if(!W)return c("Session not initialized");let $=X.listServers(W.sessionId);if($.length===0)return m0("No servers configured",W);let J=$.map((G)=>({name:G.name,url:G.url,status:G.status,connected:G.connected,connectedAt:G.connectedAt?.toISOString(),lastError:G.lastError}));return S0(J,W)}),Q.registerTool("list_tools",{description:"List tools available from backend servers",inputSchema:{server:x.string().default(".*").describe("Regex pattern to match server names (default: .*)"),tool:x.string().default(".*").describe("Regex pattern to match tool names (default: .*)")}},async({server:W,tool:$})=>{let J=N0(Y());if(!J)return c("Session not initialized");try{let G=new RegExp(W),H=new RegExp($),B=[];for(let z of J.listConnectedServers()){if(!G.test(z))continue;let K=J.getConnection(z);if(K?.status!=="connected")continue;try{let V=await K.client.listTools();for(let q of V)if(H.test(q.name))B.push({server:z,name:q.name,description:q.description,inputSchema:q.inputSchema})}catch{}}if(B.length===0)return m0("No tools available",J);return S0(B,J)}catch(G){let H=G instanceof Error?G.message:String(G);return c(`Failed to list tools: ${H}`)}}),Q.registerTool("execute_tool",{description:"Execute a tool on a specific backend server",inputSchema:{server:x.string().describe("Name of the backend server"),tool:x.string().describe("Name of the tool to execute"),args:x.record(x.unknown()).optional().describe("Arguments to pass to the tool")}},async({server:W,tool:$,args:J})=>{let G=N0(Y());if(!G)return c("Session not initialized");try{let B=await(await X.getOrCreateConnection(G.sessionId,W)).callTool($,J??{}),z=qU(G);if(z)return{content:[...B.content,{type:"text",text:JSON.stringify(z)}],isError:B.isError};return{content:B.content,isError:B.isError}}catch(H){let B=H instanceof Error?H.message:String(H);return c(`Failed to execute tool: ${B}`)}}),Q.registerTool("list_resources",{description:"List resources available from backend servers",inputSchema:{server:x.string().optional().describe("Server name to filter by (omit for all servers)")}},async({server:W})=>{let $=N0(Y());if(!$)return c("Session not initialized");try{let J=[],G=W?[W]:$.listConnectedServers();for(let H of G){let B=$.getConnection(H);if(B?.status!=="connected")continue;try{let z=await B.client.listResources();for(let K of z)J.push({server:H,uri:K.uri,name:K.name,description:K.description,mimeType:K.mimeType})}catch{}}if(J.length===0)return m0("No resources available",$);return S0(J,$)}catch(J){let G=J instanceof Error?J.message:String(J);return c(`Failed to list resources: ${G}`)}}),Q.registerTool("list_resource_templates",{description:"List resource templates available from backend servers. Templates define parameterized resources that can be read with specific arguments.",inputSchema:{server:x.string().optional().describe("Server name to filter by (omit for all servers)")}},async({server:W})=>{let $=N0(Y());if(!$)return c("Session not initialized");try{let J=[],G=W?[W]:$.listConnectedServers();for(let H of G){let B=$.getConnection(H);if(B?.status!=="connected")continue;try{let z=await B.client.listResourceTemplates();for(let K of z)J.push({server:H,uriTemplate:K.uriTemplate,name:K.name,description:K.description,mimeType:K.mimeType})}catch{}}if(J.length===0)return m0("No resource templates available",$);return S0(J,$)}catch(J){let G=J instanceof Error?J.message:String(J);return c(`Failed to list resource templates: ${G}`)}}),Q.registerTool("read_resource",{description:"Read a specific resource from a backend server",inputSchema:{server:x.string().describe("Name of the backend server"),uri:x.string().describe("URI of the resource to read")}},async({server:W,uri:$})=>{let J=N0(Y());if(!J)return c("Session not initialized");try{let B=(await(await X.getOrCreateConnection(J.sessionId,W)).readResource($)).contents.map((z)=>{if("text"in z&&typeof z.text==="string")return{uri:z.uri,mimeType:z.mimeType,text:z.text};else if("blob"in z&&typeof z.blob==="string")return{uri:z.uri,mimeType:z.mimeType,blob:`[base64 data, ${String(z.blob.length)} chars]`};return z});return S0({contents:B},J)}catch(G){let H=G instanceof Error?G.message:String(G);return c(`Failed to read resource: ${H}`)}}),Q.registerTool("list_prompts",{description:"List prompts available from backend servers",inputSchema:{server:x.string().optional().describe("Server name to filter by (omit for all servers)")}},async({server:W})=>{let $=N0(Y());if(!$)return c("Session not initialized");try{let J=[],G=W?[W]:$.listConnectedServers();for(let H of G){let B=$.getConnection(H);if(B?.status!=="connected")continue;try{let z=await B.client.listPrompts();for(let K of z)J.push({server:H,name:K.name,description:K.description,arguments:K.arguments})}catch{}}if(J.length===0)return m0("No prompts available",$);return S0(J,$)}catch(J){let G=J instanceof Error?J.message:String(J);return c(`Failed to list prompts: ${G}`)}}),Q.registerTool("get_prompt",{description:"Get a specific prompt from a backend server",inputSchema:{server:x.string().describe("Name of the backend server"),name:x.string().describe("Name of the prompt to get"),arguments:x.record(x.string()).optional().describe("Arguments to pass to the prompt")}},async({server:W,name:$,arguments:J})=>{let G=N0(Y());if(!G)return c("Session not initialized");try{let B=await(await X.getOrCreateConnection(G.sessionId,W)).getPrompt($,J??{});return S0(B,G)}catch(H){let B=H instanceof Error?H.message:String(H);return c(`Failed to get prompt: ${B}`)}}),Q.registerTool("get_notifications",{description:"Get and clear buffered notifications from backend servers for this session",inputSchema:{}},()=>{let W=N0(Y());if(!W)return c("Session not initialized");let $=W.bufferManager.getAndClearNotifications();if($.length===0)return m0("No notifications",W);let J=$.map((G)=>({server:G.server,method:G.method,timestamp:G.timestamp.toISOString(),params:G.params}));return S0(J,W)}),Q.registerTool("get_logs",{description:"Get and clear buffered log messages from backend servers for this session",inputSchema:{}},()=>{let W=N0(Y());if(!W)return c("Session not initialized");let $=W.bufferManager.getAndClearLogs();if($.length===0)return m0("No log messages",W);let J=$.map((G)=>({server:G.server,level:G.level,logger:G.logger,timestamp:G.timestamp.toISOString(),data:G.data}));return S0(J,W)}),Q.registerTool("get_sampling_requests",{description:"Get pending sampling requests from backend servers that need LLM responses. These are requests from MCP servers asking for LLM completions.",inputSchema:{}},()=>{let W=N0(Y());if(!W)return c("Session not initialized");let $=W.pendingRequests.getPendingSamplingRequests();if($.length===0)return m0("No pending sampling requests",W);let J=$.map((G)=>({requestId:G.requestId,server:G.server,timestamp:G.timestamp.toISOString(),maxTokens:G.params.maxTokens,systemPrompt:G.params.systemPrompt,temperature:G.params.temperature,messages:G.params.messages,modelPreferences:G.params.modelPreferences,tools:G.params.tools?.map((H)=>({name:H.name,description:H.description}))}));return S0(J,W)}),Q.registerTool("respond_to_sampling",{description:"Respond to a pending sampling request with an LLM result",inputSchema:{request_id:x.string().describe("The ID of the sampling request to respond to"),role:x.enum(["user","assistant"]).describe("The role of the message"),content:x.string().describe("The text content of the response"),model:x.string().describe("The model that generated the response"),stop_reason:x.enum(["endTurn","maxTokens","stopSequence","toolUse"]).optional().describe("Why the model stopped generating")}},({request_id:W,role:$,content:J,model:G,stop_reason:H})=>{let B=N0(Y());if(!B)return c("Session not initialized");try{return B.pendingRequests.respondToSampling(W,{role:$,content:{type:"text",text:J},model:G,stopReason:H}),m0(`Responded to sampling request '${W}'`,B)}catch(z){let K=z instanceof Error?z.message:String(z);return c(`Failed to respond: ${K}`)}}),Q.registerTool("get_elicitations",{description:"Get pending elicitation requests from backend servers that need user input. These are requests from MCP servers asking for form data or user confirmation.",inputSchema:{}},()=>{let W=N0(Y());if(!W)return c("Session not initialized");let $=W.pendingRequests.getPendingElicitationRequests();if($.length===0)return m0("No pending elicitation requests",W);let J=$.map((G)=>({requestId:G.requestId,server:G.server,timestamp:G.timestamp.toISOString(),mode:"mode"in G.params?G.params.mode:"form",message:G.params.message,requestedSchema:"requestedSchema"in G.params?G.params.requestedSchema:void 0,elicitationId:"elicitationId"in G.params?G.params.elicitationId:void 0,url:"url"in G.params?G.params.url:void 0}));return S0(J,W)}),Q.registerTool("respond_to_elicitation",{description:"Respond to a pending elicitation request with user input",inputSchema:{request_id:x.string().describe("The ID of the elicitation request to respond to"),action:x.enum(["accept","decline","cancel"]).describe("The user's action: accept (with content), decline, or cancel"),content:x.record(x.union([x.string(),x.number(),x.boolean(),x.array(x.string())])).optional().describe("The form field values (required if action is 'accept' for form mode)")}},({request_id:W,action:$,content:J})=>{let G=N0(Y());if(!G)return c("Session not initialized");try{return G.pendingRequests.respondToElicitation(W,{action:$,content:J}),m0(`Responded to elicitation request '${W}' with action '${$}'`,G)}catch(H){let B=H instanceof Error?H.message:String(H);return c(`Failed to respond: ${B}`)}}),Q.registerTool("await_activity",{description:"Wait for activity (events, pending requests) or timeout. Use this to poll for changes efficiently instead of repeatedly calling get_* tools.",inputSchema:{timeout_ms:x.number().min(100).max(900000).default(30000).describe("Maximum time to wait in milliseconds (100-900000, default: 30000)"),last_event_id:x.string().optional().describe("Only return events after this ID (for pagination/continuation)")}},async({timeout_ms:W,last_event_id:$})=>{let J=N0(Y());if(!J)return c("Session not initialized");let G=$?J.eventSystem.getEventsAfter($):J.eventSystem.getNewEvents();if(G.length>0)return S0({triggered_by:"existing_events",events:G.map((B)=>({id:B.id,type:B.type,server:B.server,createdAt:B.createdAt.toISOString(),data:B.data})),pending_server:{tasks:J.taskManager.getAllTasks().map((B)=>({taskId:B.taskId,server:B.server,toolName:B.toolName,status:B.status}))},pending_client:{sampling:J.pendingRequests.getPendingSamplingRequests().length,elicitation:J.pendingRequests.getPendingElicitationRequests().length}},J);let H=await J.eventSystem.waitForActivity(W);if(H){let B=J.eventSystem.getNewEvents();return S0({triggered_by:H.type,events:B.map((z)=>({id:z.id,type:z.type,server:z.server,createdAt:z.createdAt.toISOString(),data:z.data})),pending_server:{tasks:J.taskManager.getAllTasks().map((z)=>({taskId:z.taskId,server:z.server,toolName:z.toolName,status:z.status}))},pending_client:{sampling:J.pendingRequests.getPendingSamplingRequests().length,elicitation:J.pendingRequests.getPendingElicitationRequests().length}},J)}return S0({triggered_by:"timeout",events:[],pending_server:{tasks:J.taskManager.getAllTasks().map((B)=>({taskId:B.taskId,server:B.server,toolName:B.toolName,status:B.status}))},pending_client:{sampling:J.pendingRequests.getPendingSamplingRequests().length,elicitation:J.pendingRequests.getPendingElicitationRequests().length}},J)}),Q.registerTool("list_tasks",{description:"List proxy tasks (background tool executions that exceeded timeout)",inputSchema:{include_completed:x.boolean().default(!1).describe("Include completed/failed/cancelled tasks (default: false, only working tasks)"),server:x.string().optional().describe("Filter by server name")}},({include_completed:W,server:$})=>{let J=N0(Y());if(!J)return c("Session not initialized");let G=J.taskManager.getAllTasks(W);if($)G=G.filter((B)=>B.server===$);if(G.length===0)return m0("No tasks",J);let H=G.map((B)=>({taskId:B.taskId,server:B.server,toolName:B.toolName,status:B.status,createdAt:B.createdAt.toISOString(),lastUpdatedAt:B.lastUpdatedAt.toISOString(),error:B.error,hasResult:B.result!==void 0}));return S0(H,J)}),Q.registerTool("get_task",{description:"Get details of a specific task including its result if completed",inputSchema:{task_id:x.string().describe("The task ID to retrieve")}},({task_id:W})=>{let $=N0(Y());if(!$)return c("Session not initialized");let J=$.taskManager.getTask(W);if(!J)return c(`Task '${W}' not found`);return S0({taskId:J.taskId,server:J.server,toolName:J.toolName,args:J.args,status:J.status,createdAt:J.createdAt.toISOString(),lastUpdatedAt:J.lastUpdatedAt.toISOString(),ttl:J.ttl,error:J.error,result:J.result},$)}),Q.registerTool("cancel_task",{description:"Cancel a working task",inputSchema:{task_id:x.string().describe("The task ID to cancel")}},({task_id:W})=>{let $=N0(Y());if(!$)return c("Session not initialized");if($.taskManager.cancelTask(W))return m0(`Task '${W}' cancelled`,$);else return c(`Task '${W}' not found or not in working state`)}),Q.registerTool("set_timer",{description:"Set a timer that will fire after a specified duration. When the timer expires, you'll receive a notification in the context info of subsequent tool responses, and it will also appear as a timer_expired event in await_activity.",inputSchema:{duration_ms:x.number().min(1).max(86400000).describe("Duration in milliseconds until the timer fires (max 24 hours)"),message:x.string().min(1).max(500).describe("Message to include in the notification when the timer fires")}},({duration_ms:W,message:$})=>{let J=N0(Y());if(!J)return c("Session not initialized");try{let G=J.timerManager.createTimer(W,$);return S0({timerId:G.id,message:G.message,durationMs:G.durationMs,createdAt:G.createdAt.toISOString(),expiresAt:G.expiresAt.toISOString()},J)}catch(G){let H=G instanceof Error?G.message:String(G);return c(`Failed to set timer: ${H}`)}}),Q.registerTool("list_timers",{description:"List all timers for this session",inputSchema:{include_inactive:x.boolean().default(!1).describe("Include expired and deleted timers (default: false, only active timers)")}},({include_inactive:W})=>{let $=N0(Y());if(!$)return c("Session not initialized");let J=$.timerManager.getAllTimers(W);if(J.length===0)return m0("No timers",$);let G=J.map((H)=>({id:H.id,message:H.message,durationMs:H.durationMs,status:H.status,createdAt:H.createdAt.toISOString(),expiresAt:H.expiresAt.toISOString()}));return S0(G,$)}),Q.registerTool("get_timer",{description:"Get details of a specific timer",inputSchema:{timer_id:x.string().describe("The timer ID to retrieve")}},({timer_id:W})=>{let $=N0(Y());if(!$)return c("Session not initialized");let J=$.timerManager.getTimer(W);if(!J)return c(`Timer '${W}' not found`);return S0({id:J.id,message:J.message,durationMs:J.durationMs,status:J.status,createdAt:J.createdAt.toISOString(),expiresAt:J.expiresAt.toISOString()},$)}),Q.registerTool("delete_timer",{description:"Delete a timer. Returns the timer details before deletion.",inputSchema:{timer_id:x.string().describe("The timer ID to delete")}},({timer_id:W})=>{let $=N0(Y());if(!$)return c("Session not initialized");let J=$.timerManager.deleteTimer(W);if(!J)return c(`Timer '${W}' not found`);return S0({deleted:!0,timer:{id:J.id,message:J.message,durationMs:J.durationMs,status:J.status,createdAt:J.createdAt.toISOString(),expiresAt:J.expiresAt.toISOString()}},$)})}async function Fh(){let{configPath:Q,logLevel:X,logFile:Y}=Bh(),W,$=Y,J=process.env.EMCEEPEE_LOG_DIR;if(!$&&J){let F=await import("fs"),A=await import("path"),D=J.startsWith("~")?A.join(process.env.HOME??"",J.slice(1)):J;try{F.mkdirSync(D,{recursive:!0})}catch{}let L=new Date().toISOString().replace(/[:.]/g,"-");$=A.join(D,`emceepee-${L}-${String(process.pid)}.log`)}if($){let F=Y?X:J?"debug":X;W=AU(F,$),W.info("Logging initialized",{logFile:$,logLevel:F})}else W=FU();W.info("Starting MCP Proxy Server (stdio mode)",{configPath:Q});let G=new GG({logger:W,sessionTimeoutMs:86400000,cleanupIntervalMs:300000}),H=process.env.EMCEEPEE_CONFIG;if(H)try{let F=Kh(H);W.info("Loading servers from config",{count:F.servers.length,source:"EMCEEPEE_CONFIG env var"});for(let A of F.servers)if(HG(A))W.info("Adding HTTP server config",{name:A.name,url:A.url}),G.getServerConfigs().addConfig(A.name,A.url);else if(BG(A))W.info("Adding stdio server config",{name:A.name,command:A.command}),G.getServerConfigs().addStdioConfig(A.name,A.command,A.args,{env:A.env,cwd:A.cwd,restartConfig:A.restartConfig})}catch(F){W.error("Failed to load config from EMCEEPEE_CONFIG",{error:F instanceof Error?F.message:String(F)}),process.exit(1)}else if(Q)try{let F=zh(Q);W.info("Loading servers from config",{count:F.servers.length,path:Q});for(let A of F.servers)if(HG(A))W.info("Adding HTTP server config",{name:A.name,url:A.url}),G.getServerConfigs().addConfig(A.name,A.url);else if(BG(A))W.info("Adding stdio server config",{name:A.name,command:A.command}),G.getServerConfigs().addStdioConfig(A.name,A.command,A.args,{env:A.env,cwd:A.cwd,restartConfig:A.restartConfig})}catch(F){W.error("Failed to load config",{error:F instanceof Error?F.message:String(F)}),process.exit(1)}let B=new PJ({name:"emceepee",version:"0.2.0"}),z=await G.createSession();W.info("Session created",{sessionId:z.sessionId}),Vh(B,G,()=>z);let K=new ZJ,V=$?Hh(K,W):K,q=async()=>{W.info("Shutting down...",{}),await K.close(),await G.shutdown(),process.exit(0)};process.on("SIGINT",()=>void q()),process.on("SIGTERM",()=>void q()),await B.connect(V),W.info("Server started (stdio mode)",{})}Fh().catch((Q)=>{console.error("Fatal error:",Q),process.exit(1)});